diff --git a/.gitattributes b/.gitattributes
index c7d9f3332a950355d5a77d85000f05e6f45435ea..f2ef9cddf9b5be424ea927f222586efe437708fd 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -27,8 +27,12 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
 *.tar.* filter=lfs diff=lfs merge=lfs -text
 *.tflite filter=lfs diff=lfs merge=lfs -text
 *.tgz filter=lfs diff=lfs merge=lfs -text
-*.wasm filter=lfs diff=lfs merge=lfs -text
 *.xz filter=lfs diff=lfs merge=lfs -text
 *.zip filter=lfs diff=lfs merge=lfs -text
 *.zst filter=lfs diff=lfs merge=lfs -text
 *tfevents* filter=lfs diff=lfs merge=lfs -text
+*.whl filter=lfs diff=lfs merge=lfs -text
+*.data filter=lfs diff=lfs merge=lfs -text
+*.asm.wasm filter=lfs diff=lfs merge=lfs -text
+*.wasm filter=lfs diff=lfs merge=lfs -text
+*asm.wasm filter=lfs diff=lfs merge=lfs -text
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..f5e96dbfaec8bd23554e839a582259cf17837f26
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+venv
\ No newline at end of file
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..c980515027c92c7a705d1458a864a736d4ddc976
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,18 @@
+# read the doc: https://huggingface.co/docs/hub/spaces-sdks-docker
+# you will also find guides on how best to write your Dockerfile
+
+FROM python:3.9
+
+WORKDIR /code
+
+COPY . .
+
+RUN pip install --no-cache-dir --upgrade -r requirements.txt
+
+
+# Change the port number of our Wave app to 7860
+# which is default in Hugging Face Spaces.
+ENV H2O_WAVE_LISTEN=":7860"
+ENV H2O_WAVE_ADDRESS='http://127.0.0.1:7860'
+
+CMD ["wave", "run", "examples.tour", "--no-reload"]
\ No newline at end of file
diff --git a/examples/.DS_Store b/examples/.DS_Store
new file mode 100644
index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6
Binary files /dev/null and b/examples/.DS_Store differ
diff --git a/examples/.gitignore b/examples/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..0b84df0f0253112e776e30cc1b7f1b7b9182e8b6
--- /dev/null
+++ b/examples/.gitignore
@@ -0,0 +1 @@
+*.html
\ No newline at end of file
diff --git a/examples/.python-version b/examples/.python-version
new file mode 100644
index 0000000000000000000000000000000000000000..d20cc2bf020ea4d4e6b4237229024d03130d0203
--- /dev/null
+++ b/examples/.python-version
@@ -0,0 +1 @@
+3.8.10
diff --git a/examples/__init__.py b/examples/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/examples/__pycache__/__init__.cpython-37.pyc b/examples/__pycache__/__init__.cpython-37.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..a206cd01abc541956ced0329dd3b0f11b766e224
Binary files /dev/null and b/examples/__pycache__/__init__.cpython-37.pyc differ
diff --git a/examples/__pycache__/__init__.cpython-39.pyc b/examples/__pycache__/__init__.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..9c93051bc147e18348d4354c1be1686a6c0deabc
Binary files /dev/null and b/examples/__pycache__/__init__.cpython-39.pyc differ
diff --git a/examples/__pycache__/audio_annotator.cpython-39.pyc b/examples/__pycache__/audio_annotator.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..0f9ffb0e90ac05dd2fee348ff8e2fdb2f470cb4e
Binary files /dev/null and b/examples/__pycache__/audio_annotator.cpython-39.pyc differ
diff --git a/examples/__pycache__/button.cpython-39.pyc b/examples/__pycache__/button.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..4830e00c0942b7593b5df0c9a821d845fa120dfc
Binary files /dev/null and b/examples/__pycache__/button.cpython-39.pyc differ
diff --git a/examples/__pycache__/chatbot.cpython-38.pyc b/examples/__pycache__/chatbot.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..52c9f50a706aac0ad30e14e6b7e5e4844b88d00a
Binary files /dev/null and b/examples/__pycache__/chatbot.cpython-38.pyc differ
diff --git a/examples/__pycache__/chatbot.cpython-39.pyc b/examples/__pycache__/chatbot.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..14e1612709ad07f01a325347bf66056ab057b405
Binary files /dev/null and b/examples/__pycache__/chatbot.cpython-39.pyc differ
diff --git a/examples/__pycache__/chatbot_stream.cpython-39.pyc b/examples/__pycache__/chatbot_stream.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..8647ed19a6d8836be33de1b8eff749618447cb39
Binary files /dev/null and b/examples/__pycache__/chatbot_stream.cpython-39.pyc differ
diff --git a/examples/__pycache__/choice_group.cpython-39.pyc b/examples/__pycache__/choice_group.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..e4539373f2cfe7c3d703b0c35435e62bdaef4b7e
Binary files /dev/null and b/examples/__pycache__/choice_group.cpython-39.pyc differ
diff --git a/examples/__pycache__/color_picker.cpython-39.pyc b/examples/__pycache__/color_picker.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..6688d15dbb1c4cc67b3a8df3426676f80bfaab11
Binary files /dev/null and b/examples/__pycache__/color_picker.cpython-39.pyc differ
diff --git a/examples/__pycache__/combobox.cpython-37.pyc b/examples/__pycache__/combobox.cpython-37.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..a82e1bbd5dae2c29b377f2f720ba0ae913f08c48
Binary files /dev/null and b/examples/__pycache__/combobox.cpython-37.pyc differ
diff --git a/examples/__pycache__/combobox.cpython-39.pyc b/examples/__pycache__/combobox.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..46df061462ec3f06f276a91f5fb5e9c5edc5401f
Binary files /dev/null and b/examples/__pycache__/combobox.cpython-39.pyc differ
diff --git a/examples/__pycache__/copyable_text.cpython-39.pyc b/examples/__pycache__/copyable_text.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..5f3e0923f95cc52181ac81c0d1d07721a82b2ceb
Binary files /dev/null and b/examples/__pycache__/copyable_text.cpython-39.pyc differ
diff --git a/examples/__pycache__/counter_broadcast.cpython-39.pyc b/examples/__pycache__/counter_broadcast.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..821a771fdbc8d4baf876ac49cf7a93700dd26287
Binary files /dev/null and b/examples/__pycache__/counter_broadcast.cpython-39.pyc differ
diff --git a/examples/__pycache__/counter_multicast.cpython-39.pyc b/examples/__pycache__/counter_multicast.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..a372e3c645a976540739ec87dabf52f9ff051914
Binary files /dev/null and b/examples/__pycache__/counter_multicast.cpython-39.pyc differ
diff --git a/examples/__pycache__/counter_unicast.cpython-39.pyc b/examples/__pycache__/counter_unicast.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..69bbe09a7d7967a8d75cb9445c94d33a0dce4021
Binary files /dev/null and b/examples/__pycache__/counter_unicast.cpython-39.pyc differ
diff --git a/examples/__pycache__/demo.cpython-39.pyc b/examples/__pycache__/demo.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..b91bdcfdb4ed0c2b1ed4040acfd2043167ca469a
Binary files /dev/null and b/examples/__pycache__/demo.cpython-39.pyc differ
diff --git a/examples/__pycache__/dropdown.cpython-37.pyc b/examples/__pycache__/dropdown.cpython-37.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..6a790f322358ef17e7060ef91814bd980224635d
Binary files /dev/null and b/examples/__pycache__/dropdown.cpython-37.pyc differ
diff --git a/examples/__pycache__/dropdown.cpython-39.pyc b/examples/__pycache__/dropdown.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..733e75eb2088b6d244ab9a7b3f6fee6cfc07391c
Binary files /dev/null and b/examples/__pycache__/dropdown.cpython-39.pyc differ
diff --git a/examples/__pycache__/file_stream.cpython-39.pyc b/examples/__pycache__/file_stream.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..3c0285d42b0697a32e98c01715e5194a69046dc9
Binary files /dev/null and b/examples/__pycache__/file_stream.cpython-39.pyc differ
diff --git a/examples/__pycache__/file_upload.cpython-37.pyc b/examples/__pycache__/file_upload.cpython-37.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..1299c15cd7f8aa947c823334db24d7ade8da96df
Binary files /dev/null and b/examples/__pycache__/file_upload.cpython-37.pyc differ
diff --git a/examples/__pycache__/file_upload.cpython-39.pyc b/examples/__pycache__/file_upload.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..1fd7cdc5f288e8be9e551037b283bd336f6631d0
Binary files /dev/null and b/examples/__pycache__/file_upload.cpython-39.pyc differ
diff --git a/examples/__pycache__/file_upload_compact.cpython-39.pyc b/examples/__pycache__/file_upload_compact.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..bf78bbfdb13f28e4b17f3e1ea2508b43e7001da3
Binary files /dev/null and b/examples/__pycache__/file_upload_compact.cpython-39.pyc differ
diff --git a/examples/__pycache__/form_menu.cpython-39.pyc b/examples/__pycache__/form_menu.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..cdd947556c04a2b723d9909b5124e8c59b8330c3
Binary files /dev/null and b/examples/__pycache__/form_menu.cpython-39.pyc differ
diff --git a/examples/__pycache__/form_visibility.cpython-39.pyc b/examples/__pycache__/form_visibility.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..228cb6d3d88f2cdaf71884517140beb75e42c77a
Binary files /dev/null and b/examples/__pycache__/form_visibility.cpython-39.pyc differ
diff --git a/examples/__pycache__/graphics_path.cpython-39.pyc b/examples/__pycache__/graphics_path.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..1375e7384c528c903716af55962b7851563b6031
Binary files /dev/null and b/examples/__pycache__/graphics_path.cpython-39.pyc differ
diff --git a/examples/__pycache__/hash_routing.cpython-39.pyc b/examples/__pycache__/hash_routing.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..9e74d50e32935eef932c4685fa66ea6482151a14
Binary files /dev/null and b/examples/__pycache__/hash_routing.cpython-39.pyc differ
diff --git a/examples/__pycache__/header.cpython-39.pyc b/examples/__pycache__/header.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..0edab5f657efacd58fc5414bcf2d9d13757922a8
Binary files /dev/null and b/examples/__pycache__/header.cpython-39.pyc differ
diff --git a/examples/__pycache__/http_client.cpython-39.pyc b/examples/__pycache__/http_client.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..898189481900b01cae45657bf968a997b72ca9ff
Binary files /dev/null and b/examples/__pycache__/http_client.cpython-39.pyc differ
diff --git a/examples/__pycache__/image_annotator.cpython-37.pyc b/examples/__pycache__/image_annotator.cpython-37.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..540cc49efa9b60a6ac4d734851a3767974d9401a
Binary files /dev/null and b/examples/__pycache__/image_annotator.cpython-37.pyc differ
diff --git a/examples/__pycache__/image_annotator.cpython-39.pyc b/examples/__pycache__/image_annotator.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..c931e02cc6355b810caabcab359244b612ed5627
Binary files /dev/null and b/examples/__pycache__/image_annotator.cpython-39.pyc differ
diff --git a/examples/__pycache__/image_popup.cpython-39.pyc b/examples/__pycache__/image_popup.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..28f4a4f7cb50383a24c346739cd0602e02803dc9
Binary files /dev/null and b/examples/__pycache__/image_popup.cpython-39.pyc differ
diff --git a/examples/__pycache__/inline.cpython-39.pyc b/examples/__pycache__/inline.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..634ef91c3d29ddae9129473652dae8d07aed25ba
Binary files /dev/null and b/examples/__pycache__/inline.cpython-39.pyc differ
diff --git a/examples/__pycache__/issue_tracker.cpython-39.pyc b/examples/__pycache__/issue_tracker.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..2b61b19dfee97c8b60ec1e9b020956f13ff3e3fd
Binary files /dev/null and b/examples/__pycache__/issue_tracker.cpython-39.pyc differ
diff --git a/examples/__pycache__/link.cpython-39.pyc b/examples/__pycache__/link.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..40fb2acfede3ccc09621c77ed329281ae61f26d0
Binary files /dev/null and b/examples/__pycache__/link.cpython-39.pyc differ
diff --git a/examples/__pycache__/markdown_submit_text.cpython-39.pyc b/examples/__pycache__/markdown_submit_text.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..447a1c3ea469419cd303866ad37d7840fa98979f
Binary files /dev/null and b/examples/__pycache__/markdown_submit_text.cpython-39.pyc differ
diff --git a/examples/__pycache__/menu.cpython-37.pyc b/examples/__pycache__/menu.cpython-37.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..8c32837701e0a44b8d5bbaf5b0b6ab7bdd79ca9c
Binary files /dev/null and b/examples/__pycache__/menu.cpython-37.pyc differ
diff --git a/examples/__pycache__/menu.cpython-39.pyc b/examples/__pycache__/menu.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..24a00e62cfac62852eb231c3c6a73f79b60bcc8a
Binary files /dev/null and b/examples/__pycache__/menu.cpython-39.pyc differ
diff --git a/examples/__pycache__/meta_dialog.cpython-39.pyc b/examples/__pycache__/meta_dialog.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..b07fe337086c5214ad035f129f4350824366a20a
Binary files /dev/null and b/examples/__pycache__/meta_dialog.cpython-39.pyc differ
diff --git a/examples/__pycache__/meta_dialog_closable.cpython-39.pyc b/examples/__pycache__/meta_dialog_closable.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..926ad89df7bbbbdc03306a6e076eb40a965e27e2
Binary files /dev/null and b/examples/__pycache__/meta_dialog_closable.cpython-39.pyc differ
diff --git a/examples/__pycache__/meta_notification_bar.cpython-39.pyc b/examples/__pycache__/meta_notification_bar.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..c9a4a8d4d1bd8552a6566429e9f8e698540f30e5
Binary files /dev/null and b/examples/__pycache__/meta_notification_bar.cpython-39.pyc differ
diff --git a/examples/__pycache__/meta_notification_bar_closable.cpython-39.pyc b/examples/__pycache__/meta_notification_bar_closable.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..5a60e5e279f00432bdecb78c31108a7acf67e090
Binary files /dev/null and b/examples/__pycache__/meta_notification_bar_closable.cpython-39.pyc differ
diff --git a/examples/__pycache__/meta_theme.cpython-39.pyc b/examples/__pycache__/meta_theme.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..bea88592bca23fe479cce1760157818225ec4c2e
Binary files /dev/null and b/examples/__pycache__/meta_theme.cpython-39.pyc differ
diff --git a/examples/__pycache__/nav.cpython-39.pyc b/examples/__pycache__/nav.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..6da5a0ed9492a9ad9417e24d8047e56515bd1a13
Binary files /dev/null and b/examples/__pycache__/nav.cpython-39.pyc differ
diff --git a/examples/__pycache__/persona.cpython-39.pyc b/examples/__pycache__/persona.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..b966350f4cf8bd92da2f2563dc63f02f53c2afee
Binary files /dev/null and b/examples/__pycache__/persona.cpython-39.pyc differ
diff --git a/examples/__pycache__/plot_app.cpython-39.pyc b/examples/__pycache__/plot_app.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..1d382fe965dbebd482d12bf4ca5bee0f3ca703b3
Binary files /dev/null and b/examples/__pycache__/plot_app.cpython-39.pyc differ
diff --git a/examples/__pycache__/plot_events.cpython-39.pyc b/examples/__pycache__/plot_events.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..22edbeb54e9e13e2442a9a0f21625636cffea41f
Binary files /dev/null and b/examples/__pycache__/plot_events.cpython-39.pyc differ
diff --git a/examples/__pycache__/plot_form.cpython-39.pyc b/examples/__pycache__/plot_form.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..828f4ad6412b55f35c2fa120e608fa13a9f2b907
Binary files /dev/null and b/examples/__pycache__/plot_form.cpython-39.pyc differ
diff --git a/examples/__pycache__/plot_line.cpython-39.pyc b/examples/__pycache__/plot_line.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..a355dd0c36d5ab052752c9cdf658c07b2d84d57b
Binary files /dev/null and b/examples/__pycache__/plot_line.cpython-39.pyc differ
diff --git a/examples/__pycache__/plot_matplotlib.cpython-37.pyc b/examples/__pycache__/plot_matplotlib.cpython-37.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..2e3335f3431b06a99cfbf55f3efdec3cc91dece4
Binary files /dev/null and b/examples/__pycache__/plot_matplotlib.cpython-37.pyc differ
diff --git a/examples/__pycache__/plot_plotly.cpython-39.pyc b/examples/__pycache__/plot_plotly.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..7d67da54e35dd23b25c25e70d1ca9ef2f77beb6a
Binary files /dev/null and b/examples/__pycache__/plot_plotly.cpython-39.pyc differ
diff --git a/examples/__pycache__/plot_theme.cpython-39.pyc b/examples/__pycache__/plot_theme.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..3ab7fe60fb47a5ec5cb296649d97f945dea82897
Binary files /dev/null and b/examples/__pycache__/plot_theme.cpython-39.pyc differ
diff --git a/examples/__pycache__/plot_vegalite_update.cpython-39.pyc b/examples/__pycache__/plot_vegalite_update.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..08537deab13c276cbe6a88096b2601b6b0b2eed9
Binary files /dev/null and b/examples/__pycache__/plot_vegalite_update.cpython-39.pyc differ
diff --git a/examples/__pycache__/pycon.cpython-39.pyc b/examples/__pycache__/pycon.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..249d5d6e30468362eafcd972b74fa1be81abd4a3
Binary files /dev/null and b/examples/__pycache__/pycon.cpython-39.pyc differ
diff --git a/examples/__pycache__/site_async.cpython-39.pyc b/examples/__pycache__/site_async.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..d7437ce43c31af8d2b9858ebcc5ee5b75e315fb5
Binary files /dev/null and b/examples/__pycache__/site_async.cpython-39.pyc differ
diff --git a/examples/__pycache__/slider.cpython-39.pyc b/examples/__pycache__/slider.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..2f8809e798e70f361eb73de97a482a86ad940dbf
Binary files /dev/null and b/examples/__pycache__/slider.cpython-39.pyc differ
diff --git a/examples/__pycache__/spinbox.cpython-39.pyc b/examples/__pycache__/spinbox.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..5cb22952ff848de2c670132843da260b77c2d642
Binary files /dev/null and b/examples/__pycache__/spinbox.cpython-39.pyc differ
diff --git a/examples/__pycache__/stepper.cpython-37.pyc b/examples/__pycache__/stepper.cpython-37.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..df2d1c4d7ddce1be236bbb6bd730e7f48b2f406d
Binary files /dev/null and b/examples/__pycache__/stepper.cpython-37.pyc differ
diff --git a/examples/__pycache__/swatch_picker.cpython-39.pyc b/examples/__pycache__/swatch_picker.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..c71383f77ecc6307af0867ea68d600e3871d1dc5
Binary files /dev/null and b/examples/__pycache__/swatch_picker.cpython-39.pyc differ
diff --git a/examples/__pycache__/synth.cpython-37.pyc b/examples/__pycache__/synth.cpython-37.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..7c11ee1231409eeaa9df315e50319e3d0aecaacf
Binary files /dev/null and b/examples/__pycache__/synth.cpython-37.pyc differ
diff --git a/examples/__pycache__/synth.cpython-39.pyc b/examples/__pycache__/synth.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..b9cc2d1b60b721c5213470ec0f765932c3d614c8
Binary files /dev/null and b/examples/__pycache__/synth.cpython-39.pyc differ
diff --git a/examples/__pycache__/tab.cpython-39.pyc b/examples/__pycache__/tab.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..a2bbe658e0152e38a2fdfeee593af541ae5eabcb
Binary files /dev/null and b/examples/__pycache__/tab.cpython-39.pyc differ
diff --git a/examples/__pycache__/table.cpython-37.pyc b/examples/__pycache__/table.cpython-37.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..15e4196178122a8081793b789db11737be7b1564
Binary files /dev/null and b/examples/__pycache__/table.cpython-37.pyc differ
diff --git a/examples/__pycache__/table.cpython-39.pyc b/examples/__pycache__/table.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..577105b9c8560d455d82aa7c94656268b0bd4f8a
Binary files /dev/null and b/examples/__pycache__/table.cpython-39.pyc differ
diff --git a/examples/__pycache__/table_column_alignment.cpython-39.pyc b/examples/__pycache__/table_column_alignment.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..3c34bd15dd5d7726fb7132c51379ee19fa53a6c8
Binary files /dev/null and b/examples/__pycache__/table_column_alignment.cpython-39.pyc differ
diff --git a/examples/__pycache__/table_download.cpython-39.pyc b/examples/__pycache__/table_download.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..33146e91c3656bfe4e2ba79215e5aa1ecd3cf8c5
Binary files /dev/null and b/examples/__pycache__/table_download.cpython-39.pyc differ
diff --git a/examples/__pycache__/table_filter.cpython-39.pyc b/examples/__pycache__/table_filter.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..a05c340e5b3cadd58223b49b25d2915316f24aac
Binary files /dev/null and b/examples/__pycache__/table_filter.cpython-39.pyc differ
diff --git a/examples/__pycache__/table_groupby.cpython-39.pyc b/examples/__pycache__/table_groupby.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..a17f99373d2bab65c80644a4abcb4052d0fa611b
Binary files /dev/null and b/examples/__pycache__/table_groupby.cpython-39.pyc differ
diff --git a/examples/__pycache__/table_markdown.cpython-37.pyc b/examples/__pycache__/table_markdown.cpython-37.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..b896623607da04c9bb1b219447f98f4b23ad14e0
Binary files /dev/null and b/examples/__pycache__/table_markdown.cpython-37.pyc differ
diff --git a/examples/__pycache__/table_markdown.cpython-39.pyc b/examples/__pycache__/table_markdown.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..26715bdda9478d4bd7e65a36829d3e29312ccf3c
Binary files /dev/null and b/examples/__pycache__/table_markdown.cpython-39.pyc differ
diff --git a/examples/__pycache__/table_markdown_overflow.cpython-39.pyc b/examples/__pycache__/table_markdown_overflow.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..5fa06e38f573a3ffb63b80e2cb81bfdf1689c138
Binary files /dev/null and b/examples/__pycache__/table_markdown_overflow.cpython-39.pyc differ
diff --git a/examples/__pycache__/table_menu.cpython-39.pyc b/examples/__pycache__/table_menu.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..762a7b03a2c4fa2ebf71c56a39b11eddb7a7bcac
Binary files /dev/null and b/examples/__pycache__/table_menu.cpython-39.pyc differ
diff --git a/examples/__pycache__/table_pagination.cpython-39.pyc b/examples/__pycache__/table_pagination.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..ca9555c861ffefa80c0ea09ca9944acb27e1b25c
Binary files /dev/null and b/examples/__pycache__/table_pagination.cpython-39.pyc differ
diff --git a/examples/__pycache__/table_pagination_download.cpython-39.pyc b/examples/__pycache__/table_pagination_download.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..2cdad0136ee8a53c4c3a744da75b216b403063d2
Binary files /dev/null and b/examples/__pycache__/table_pagination_download.cpython-39.pyc differ
diff --git a/examples/__pycache__/table_pagination_groups.cpython-39.pyc b/examples/__pycache__/table_pagination_groups.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..a53939c172b98672484c63bea06760047cbb2e26
Binary files /dev/null and b/examples/__pycache__/table_pagination_groups.cpython-39.pyc differ
diff --git a/examples/__pycache__/table_pagination_wavedb.cpython-37.pyc b/examples/__pycache__/table_pagination_wavedb.cpython-37.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..f22d71fdba8c08381bac22ee5c6fcf2ee1eb4a65
Binary files /dev/null and b/examples/__pycache__/table_pagination_wavedb.cpython-37.pyc differ
diff --git a/examples/__pycache__/table_search.cpython-39.pyc b/examples/__pycache__/table_search.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..a5a896df9caed1d23d01e4318a511fbe02c44c5c
Binary files /dev/null and b/examples/__pycache__/table_search.cpython-39.pyc differ
diff --git a/examples/__pycache__/table_search_groupable.cpython-39.pyc b/examples/__pycache__/table_search_groupable.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..db19233fd156d48120a36b95589f7cf225fc4292
Binary files /dev/null and b/examples/__pycache__/table_search_groupable.cpython-39.pyc differ
diff --git a/examples/__pycache__/table_select_single.cpython-39.pyc b/examples/__pycache__/table_select_single.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..4976ddc53030ba2354cd3508ba74a45e58c2401f
Binary files /dev/null and b/examples/__pycache__/table_select_single.cpython-39.pyc differ
diff --git a/examples/__pycache__/table_tags.cpython-39.pyc b/examples/__pycache__/table_tags.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..e08be0bfc225098a63acded5a7f40443b29fb6a9
Binary files /dev/null and b/examples/__pycache__/table_tags.cpython-39.pyc differ
diff --git a/examples/__pycache__/tabs.cpython-39.pyc b/examples/__pycache__/tabs.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..6dd7dfc34131180dd3067a30e876c7fc6604ebca
Binary files /dev/null and b/examples/__pycache__/tabs.cpython-39.pyc differ
diff --git a/examples/__pycache__/test.cpython-39.pyc b/examples/__pycache__/test.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..db99fdcccb837d4bed4faa3e3d3e5d8ad9326638
Binary files /dev/null and b/examples/__pycache__/test.cpython-39.pyc differ
diff --git a/examples/__pycache__/text_annotator.cpython-37.pyc b/examples/__pycache__/text_annotator.cpython-37.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..56bfaa9ab4f5f3e5444d34e04f8816fb2eabb9e3
Binary files /dev/null and b/examples/__pycache__/text_annotator.cpython-37.pyc differ
diff --git a/examples/__pycache__/text_annotator.cpython-39.pyc b/examples/__pycache__/text_annotator.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..da6eb77cef27a8c97f1342501b8bc1d586a2f679
Binary files /dev/null and b/examples/__pycache__/text_annotator.cpython-39.pyc differ
diff --git a/examples/__pycache__/textbox.cpython-37.pyc b/examples/__pycache__/textbox.cpython-37.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..6959599451913042c748b53d65f4e7a9c87003ba
Binary files /dev/null and b/examples/__pycache__/textbox.cpython-37.pyc differ
diff --git a/examples/__pycache__/textbox.cpython-39.pyc b/examples/__pycache__/textbox.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..b3951b0620e676a962b5a5c6e5b6862891793cbf
Binary files /dev/null and b/examples/__pycache__/textbox.cpython-39.pyc differ
diff --git a/examples/__pycache__/theme_generator.cpython-39.pyc b/examples/__pycache__/theme_generator.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..15f8de1539ac315a0ddb2975cfac135eb18b7f75
Binary files /dev/null and b/examples/__pycache__/theme_generator.cpython-39.pyc differ
diff --git a/examples/__pycache__/time_picker.cpython-37.pyc b/examples/__pycache__/time_picker.cpython-37.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..dfd7020b5d0e16d9b8ab14676a8d73d6531c5d63
Binary files /dev/null and b/examples/__pycache__/time_picker.cpython-37.pyc differ
diff --git a/examples/__pycache__/time_picker.cpython-39.pyc b/examples/__pycache__/time_picker.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..b1e325388d2675f6d0fac14d7ff13342dd5059f7
Binary files /dev/null and b/examples/__pycache__/time_picker.cpython-39.pyc differ
diff --git a/examples/__pycache__/todo.cpython-39.pyc b/examples/__pycache__/todo.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..38865d8038d74c3530942b25bf4c45a29fa69a24
Binary files /dev/null and b/examples/__pycache__/todo.cpython-39.pyc differ
diff --git a/examples/__pycache__/token.cpython-39.pyc b/examples/__pycache__/token.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..c6d148bfa86a58a46c6f12f29b06eb4a32575754
Binary files /dev/null and b/examples/__pycache__/token.cpython-39.pyc differ
diff --git a/examples/__pycache__/tour.cpython-37.pyc b/examples/__pycache__/tour.cpython-37.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..c656205eb289b665b6fa926234cc7b01c6ad4655
Binary files /dev/null and b/examples/__pycache__/tour.cpython-37.pyc differ
diff --git a/examples/__pycache__/tour.cpython-39.pyc b/examples/__pycache__/tour.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..2f4460bcdf47d069c1cfbbdce22ee0ddffb68d03
Binary files /dev/null and b/examples/__pycache__/tour.cpython-39.pyc differ
diff --git a/examples/__pycache__/wizard.cpython-37.pyc b/examples/__pycache__/wizard.cpython-37.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..cafce89d7ae7ae65b2333864e32d447d907c6174
Binary files /dev/null and b/examples/__pycache__/wizard.cpython-37.pyc differ
diff --git a/examples/__pycache__/wizard.cpython-38.pyc b/examples/__pycache__/wizard.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..8e53355c0af89cbb0e8c5901d923669398707f9a
Binary files /dev/null and b/examples/__pycache__/wizard.cpython-38.pyc differ
diff --git a/examples/__pycache__/wizard.cpython-39.pyc b/examples/__pycache__/wizard.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..18f717a176f5a15a074f7ed99d0d7ee9440cd736
Binary files /dev/null and b/examples/__pycache__/wizard.cpython-39.pyc differ
diff --git a/examples/article.py b/examples/article.py
new file mode 100644
index 0000000000000000000000000000000000000000..7d89b0cce539d38b3374bad60a8b4d376027a69e
--- /dev/null
+++ b/examples/article.py
@@ -0,0 +1,33 @@
+# Article
+# Create an article card for longer texts.
+# ---
+from h2o_wave import site, ui
+
+page = site['/demo']
+
+page.add('example', ui.article_card(
+    box='1 1 4 6',
+    title='Title',
+    items=[
+        ui.mini_buttons([
+            ui.mini_button(name='like', label='4', icon='Heart'),
+            ui.mini_button(name='comment', label='2', icon='Blog'),
+            ui.mini_button(name='share', label='1', icon='Relationship'),
+        ])
+    ],
+    content='''
+Duis porttitor tincidunt justo ac semper. Vestibulum et molestie lectus. Proin vel eros a ex condimentum aliquam.
+Sed accumsan tellus sit amet nulla ullamcorper. Suspendisse bibendum tristique sem, quis lacinia ex pulvinar quis.
+Nam elementum accumsan porta. Sed eget aliquam elit, sed luctus lorem. Nulla gravida malesuada purus eu eleifend.
+Maecenas in ante interdum, hendrerit velit at, tempus eros. Nullam convallis tempor libero at viverra.
+
+## Heading 2
+
+Duis porttitor tincidunt justo ac semper. Vestibulum et molestie lectus. Proin vel eros a ex condimentum aliquam.
+Sed accumsan tellus sit amet nulla ullamcorper. Suspendisse bibendum tristique sem, quis lacinia ex pulvinar quis.
+Nam elementum accumsan porta. Sed eget aliquam elit, sed luctus lorem. Nulla gravida malesuada purus eu eleifend.
+Maecenas in ante interdum, hendrerit velit at, tempus eros. Nullam convallis tempor libero at viverra.
+'''
+))
+
+page.save()
diff --git a/examples/background.py b/examples/background.py
new file mode 100644
index 0000000000000000000000000000000000000000..e85a31830d146c916520adcde7257a891278efa1
--- /dev/null
+++ b/examples/background.py
@@ -0,0 +1,34 @@
+# Background Tasks
+# Use q.run() to execute functions in the background, in-process.
+# #background_tasks
+# ---
+import time
+import random
+from h2o_wave import main, app, Q, ui
+
+
+def blocking_function(secs) -> str:
+    time.sleep(secs)  # Blocks!
+    return f'Done waiting for {secs} seconds!'
+
+
+@app('/demo')
+async def serve(q: Q):
+    if q.args.start:
+        q.page['form'] = ui.form_card(box='1 1 6 2', items=[ui.progress('Running...')])
+        await q.page.save()
+
+        seconds = random.randint(1, 6)
+
+        # DON'T DO THIS!
+        # This will make your app unresponsive for some time:
+        # message = blocking_function(seconds)
+
+        # Do this instead:
+        message = await q.run(blocking_function, seconds)
+
+        q.page['form'] = ui.form_card(box='1 1 6 1', items=[ui.message_bar('info', message)])
+        await q.page.save()
+    else:
+        q.page['form'] = ui.form_card(box='1 1 2 1', items=[ui.button(name='start', label='Start')])
+        await q.page.save()
diff --git a/examples/background_executor.py b/examples/background_executor.py
new file mode 100644
index 0000000000000000000000000000000000000000..c831f2cde29052efca06659f462b08d449170fba
--- /dev/null
+++ b/examples/background_executor.py
@@ -0,0 +1,40 @@
+# Background Tasks / Executor
+# Use q.exec() to execute background functions using a thread-pool or process-pool.
+# #background_tasks #executor
+# ---
+import time
+import random
+import concurrent.futures
+from h2o_wave import main, app, Q, ui
+
+
+def blocking_function(secs) -> str:
+    time.sleep(secs)  # Blocks!
+    return f'Done waiting for {secs} seconds!'
+
+
+@app('/demo')
+async def serve(q: Q):
+    if q.args.start:
+        q.page['form'] = ui.form_card(box='1 1 6 2', items=[ui.progress('Running...')])
+        await q.page.save()
+
+        seconds = random.randint(1, 6)
+
+        # DON'T DO THIS!
+        # This will make your app unresponsive for some time:
+        # message = blocking_function(seconds)
+
+        # Do this instead:
+        with concurrent.futures.ThreadPoolExecutor() as pool:
+            message = await q.exec(pool, blocking_function, seconds)
+
+        # You can also pass a ProcessPoolExecutor, like this:
+        # with concurrent.futures.ProcessPoolExecutor() as pool:
+        #    message = await q.exec(pool, blocking_function, seconds)
+
+        q.page['form'] = ui.form_card(box='1 1 6 1', items=[ui.message_bar('info', message)])
+        await q.page.save()
+    else:
+        q.page['form'] = ui.form_card(box='1 1 2 1', items=[ui.button(name='start', label='Start')])
+        await q.page.save()
diff --git a/examples/background_progress.py b/examples/background_progress.py
new file mode 100644
index 0000000000000000000000000000000000000000..f418828ca442257efaf2d2f8878ba6ad3dfba229
--- /dev/null
+++ b/examples/background_progress.py
@@ -0,0 +1,55 @@
+# Background Tasks / Progress
+# Execute background functions while incrementing a #progress bar.
+# #background_tasks
+# ---
+import time
+import asyncio
+import concurrent.futures
+from h2o_wave import main, app, Q, ui
+
+
+# A long-running that performs a blocking operation, in this case time.sleep()
+def blocking_function(secs) -> str:
+    time.sleep(secs)  # Blocks!
+    return 'Download completed!'
+
+
+# An async function that displays a progress bar
+async def display_progress_bar(q: Q, form, seconds: int):
+    for i in range(seconds):
+        progress_value = (i + 1.0) / seconds
+        form.items = [
+            ui.progress(
+                label='Downloading the interwebs...',
+                caption=f'{int(progress_value * 100)}%',
+                value=progress_value,
+            )
+        ]
+        await q.page.save()
+        await q.sleep(1)
+
+
+@app('/demo')
+async def serve(q: Q):
+    if q.args.start:  # The button named 'start' was clicked
+        seconds = 5
+
+        # Grab a reference to the form
+        form = q.page['form']
+
+        # Start incrementing the progress bar in the background
+        future = asyncio.ensure_future(display_progress_bar(q, form, seconds))
+
+        # Execute our long-running function in the background
+        with concurrent.futures.ThreadPoolExecutor() as pool:
+            message = await q.exec(pool, blocking_function, seconds)
+
+        # Stop the progress bar (optional unless we used a infinite while loop in display_progress_bar()).
+        future.cancel()
+
+        # At this point, we're done with the long-running function; so display a completion message
+        form.items = [ui.message_bar('info', message)]
+        await q.page.save()
+    else:
+        q.page['form'] = ui.form_card(box='1 1 2 2', items=[ui.button(name='start', label='Start')])
+        await q.page.save()
diff --git a/examples/breadcrumbs.py b/examples/breadcrumbs.py
new file mode 100644
index 0000000000000000000000000000000000000000..751fe472ac9892709ec54a7d73726af374428301
--- /dev/null
+++ b/examples/breadcrumbs.py
@@ -0,0 +1,43 @@
+# Breadcrumbs
+# #Breadcrumbs should be used as a navigational aid in your app or site.
+# They indicate the current page’s location within a hierarchy and help
+# the user understand where they are in relation to the rest of that hierarchy.
+# They also afford one-click access to higher levels of that hierarchy.
+# Breadcrumbs are typically placed, in horizontal form, under the masthead
+# or #navigation of an experience, above the primary content area.
+# ---
+from h2o_wave import main, app, Q, ui
+
+
+@app('/demo')
+async def serve(q: Q):
+    blurb_items = [ui.button(name='#submenu', label='Go to submenu', link=True)]
+    blurb_title = 'Welcome to Menu'
+    breadcrumbs = [ui.breadcrumb(name='#menu', label='Menu')]
+
+    if q.args['#'] == 'menu':
+        blurb_items = [ui.button(name='#submenu', label='Go to submenu', link=True)]
+        blurb_title = 'Welcome to Menu!'
+        breadcrumbs = [
+            ui.breadcrumb(name='#menu', label='Menu'),
+        ]
+    elif q.args['#'] == 'submenu':
+        blurb_items = [ui.button(name='#subsubmenu', label='Go to subsubmenu', link=True)]
+        blurb_title = 'Welcome to Submenu!'
+        breadcrumbs = [
+            ui.breadcrumb(name='#menu', label='Menu'),
+            ui.breadcrumb(name='#submenu', label='Submenu'),
+        ]
+    elif q.args['#'] == 'subsubmenu':
+        blurb_items = [ui.text('You cannot go deeper, click on Breadcrumbs above to navigate back')]
+        blurb_title = 'Welcome to Subsubmenu!'
+        breadcrumbs = [
+            ui.breadcrumb(name='#menu', label='Menu'),
+            ui.breadcrumb(name='#submenu', label='Submenu'),
+            ui.breadcrumb(name='#subsubmenu', label='Subsubmenu'),
+        ]
+
+    q.page['blurb'] = ui.form_card(box='1 2 3 2', title=blurb_title, items=blurb_items)
+    q.page['breadcrumbs'] = ui.breadcrumbs_card(box='1 1 3 1', items=breadcrumbs)
+
+    await q.page.save()
diff --git a/examples/button.py b/examples/button.py
new file mode 100644
index 0000000000000000000000000000000000000000..2ed1bf4c1d50c79099840ddb4f631f284faf132d
--- /dev/null
+++ b/examples/button.py
@@ -0,0 +1,53 @@
+# Form / Button
+# Use #buttons to enable a user to commit a change or complete steps in a task.
+# #form
+# ---
+from h2o_wave import main, app, Q, ui
+
+
+@app('/demo')
+async def serve(q: Q):
+    if 'basic_button' in q.args:
+        q.page['example'].items = [
+            ui.text(f'basic_button={q.args.basic_button}'),
+            ui.text(f'primary_button={q.args.primary_button}'),
+            ui.text(f'link_button={q.args.link_button}'),
+            ui.text(f'basic_disabled_button={q.args.basic_disabled_button}'),
+            ui.text(f'primary_disabled_button={q.args.primary_disabled_button}'),
+            ui.text(f'link_disabled_button={q.args.link_disabled_button}'),
+            ui.text(f'basic_caption_button={q.args.basic_caption_button}'),
+            ui.text(f'primary_caption_button={q.args.primary_caption_button}'),
+            ui.text(f'basic_caption_disabled_button={q.args.basic_caption_disabled_button}'),
+            ui.text(f'primary_caption_disabled_button={q.args.primary_caption_disabled_button}'),
+            ui.text(f'button_with_icon={q.args.button_with_icon}'),
+            ui.text(f'icon_button={q.args.icon_button}'),
+            ui.text(f'external_path_button={q.args.external_path_button}'),
+            ui.text(f'command_button={q.args.command_button}'),
+            ui.text(f'command_button:first_command={q.args.first_command}'),
+            ui.text(f'command_button:second_command={q.args.second_command}'),
+            ui.button(name='show_form', label='Back', primary=True),
+        ]
+    else:
+        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
+            ui.button(name='basic_button', label='Basic'),
+            ui.button(name='primary_button', label='Primary', primary=True),
+            ui.button(name='link_button', label='Link', link=True),
+            ui.button(name='basic_disabled_button', label='Basic (Disabled)', disabled=True),
+            ui.button(name='primary_disabled_button', label='Primary (Disabled)', primary=True, disabled=True),
+            ui.button(name='link_disabled_button', label='Link (Disabled)', link=True, disabled=True),
+            ui.button(name='basic_caption_button', label='Basic', caption='Caption Button.'),
+            ui.button(name='primary_caption_button', label='Primary', caption='Caption Button', primary=True),
+            ui.button(name='basic_caption_disabled_button', label='Basic (Disabled)', caption='Caption Button',
+                      disabled=True),
+            ui.button(name='primary_caption_disabled_button', label='Primary (Disabled)', caption='Caption Button',
+                      primary=True, disabled=True),
+            ui.button(name='button_with_icon', label='Button with an icon', icon='Search'),
+            ui.button(name='icon_button', icon='Heart', caption='Tooltip text'),
+            ui.button(name='external_path_button', label='External', path='https://h2o.ai/'),
+            ui.button(name='command_button', label='Button with commands', primary=True, commands=[
+                    ui.command(name='first_command', label='First command'), 
+                    ui.command(name='second_command', label='Second command'),
+                ]
+            ),
+        ])
+    await q.page.save()
diff --git a/examples/buttons.py b/examples/buttons.py
new file mode 100644
index 0000000000000000000000000000000000000000..9c4411d94d0d5ec63d4a6967e1899b392cfb4cb0
--- /dev/null
+++ b/examples/buttons.py
@@ -0,0 +1,25 @@
+# Form / Buttons
+# Use the `ui.buttons()` function to group related #buttons.
+# #form
+# ---
+from h2o_wave import main, app, Q, ui
+
+
+@app('/demo')
+async def serve(q: Q):
+    if 'standard_button' in q.args:
+        q.page['example'].items = [
+            ui.text(f'primary_button={q.args.primary_button}'),
+            ui.text(f'standard_button={q.args.standard_button}'),
+            ui.text(f'standard_disabled_button={q.args.standard_disabled_button}'),
+            ui.button(name='show_form', label='Back', primary=True),
+        ]
+    else:
+        q.page['example'] = ui.form_card(box='1 1 4 5', items=[
+            ui.buttons([
+                ui.button(name='primary_button', label='Primary', primary=True),
+                ui.button(name='standard_button', label='Standard'),
+                ui.button(name='standard_disabled_button', label='Standard', disabled=True),
+            ]),
+        ])
+    await q.page.save()
diff --git a/examples/canvas.py b/examples/canvas.py
new file mode 100644
index 0000000000000000000000000000000000000000..e13b25f0a24223c07939e385e068f5750da33eb3
--- /dev/null
+++ b/examples/canvas.py
@@ -0,0 +1,19 @@
+# Canvas
+# A card that displays a freeform drawing canvas.
+# A canvas card can synchronize its state with other canvas cards at the same URL.
+# Open `/demo` in multiple browsers and watch them synchronize in realtime.
+# #collaboration
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+page.drop()
+
+page.add('example', ui.canvas_card(
+    box='1 1 4 7',
+    title='Sample Canvas',
+    width=500,
+    height=500,
+    data=dict(),
+))
+page.save()
diff --git a/examples/card_menu.py b/examples/card_menu.py
new file mode 100644
index 0000000000000000000000000000000000000000..2018d6d7edb814b61ec375055d15c056065343ca
--- /dev/null
+++ b/examples/card_menu.py
@@ -0,0 +1,71 @@
+# Context Menu
+# Display a context menu on a card.
+# #context_menu
+# ---
+import json
+from h2o_wave import main, app, Q, ui, data
+
+# Vega lite spec for a bar plot, defaults to linear scale.
+spec_linear_scale = json.dumps(dict(
+    mark='bar',
+    encoding=dict(
+        x=dict(field='a', type='ordinal'),
+        y=dict(field='b', type='quantitative')
+    )
+))
+
+# Vega lite spec for a bar plot, log scaled.
+spec_log_scale = json.dumps(dict(
+    mark='bar',
+    encoding=dict(
+        x=dict(field='a', type='ordinal'),
+        y=dict(field='b', type='quantitative', scale=dict(type='log'))
+    )
+))
+
+# Data for our plot.
+plot_data = data(fields=["a", "b"], rows=[
+    ["A", 28], ["B", 55], ["C", 43],
+    ["D", 91], ["E", 81], ["F", 53],
+    ["G", 19], ["H", 87], ["I", 52]
+])
+
+# Create a couple of context menu commands.
+log_scale_command = ui.command(
+    name='to_log_scale',
+    label='Log Scale',
+    icon='LineChart',
+)
+linear_scale_command = ui.command(
+    name='to_linear_scale',
+    label='Linear Scale',
+    icon='LineChart',
+)
+
+
+@app('/demo')
+async def serve(q: Q):
+    if q.client.plot_added:  # Have we already added a plot?
+        example = q.page['example']
+        if q.args.to_log_scale:
+            # Change to log scale
+            example.title = 'Plot (Log Scale)',
+            example.specification = spec_log_scale
+            example.commands = [linear_scale_command]
+        else:
+            # Change to linear scale
+            example.title = 'Plot (Linear Scale)',
+            example.specification = spec_linear_scale
+            example.commands = [log_scale_command]
+    else:  # Add a new plot
+        q.page['example'] = ui.vega_card(
+            box='1 1 2 4',
+            title='Plot (Linear Scale)',
+            specification=spec_linear_scale,
+            data=plot_data,
+            commands=[log_scale_command],
+        )
+        # Flag to indicate that we've added a plot
+        q.client.plot_added = True
+
+    await q.page.save()
diff --git a/examples/chat_room.py b/examples/chat_room.py
new file mode 100644
index 0000000000000000000000000000000000000000..21af5fe119af6e44a7d7ecf4331312da07be71af
--- /dev/null
+++ b/examples/chat_room.py
@@ -0,0 +1,17 @@
+# Chat room
+# A card that displays a chat room.
+# A chat room card can synchronize its state with other chat room cards at the same URL.
+# Open `/demo` in multiple browsers and watch them synchronize in realtime.
+# #collaboration
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+page.drop()
+
+page.add('example', ui.chat_card(
+    box='1 1 4 6',
+    title='Chat room',
+    data=dict(),
+))
+page.save()
diff --git a/examples/chatbot.py b/examples/chatbot.py
new file mode 100644
index 0000000000000000000000000000000000000000..23fdb5e0584c41668ff3ee51f9d0cb607ecbf538
--- /dev/null
+++ b/examples/chatbot.py
@@ -0,0 +1,27 @@
+# Chatbot
+# Use this card for chat interactions.
+# #chat
+# ---
+from h2o_wave import main, app, Q, ui, data
+
+
+MAX_MESSAGES = 500
+
+
+@app('/demo')
+async def serve(q: Q):
+    if not q.client.initialized:
+        # Cyclic buffer drops oldest messages when full. Must have exactly 2 columns - msg and fromUser.
+        cyclic_buffer = data(fields='msg fromUser', size=-MAX_MESSAGES)
+        q.page['example'] = ui.chatbot_card(box='1 1 5 5', data=cyclic_buffer, name='chatbot')
+        q.page['meta'] = ui.meta_card(box='', theme='h2o-dark')
+        q.client.initialized = True
+
+    # A new message arrived.
+    if q.args.chatbot:
+        # Append user message.
+        q.page['example'].data[-1] = [q.args.chatbot, True]
+        # Append bot response.
+        q.page['example'].data[-1] = ['I am a fake chatbot. Sorry, I cannot help you.', False]
+
+    await q.page.save()
diff --git a/examples/checkbox.py b/examples/checkbox.py
new file mode 100644
index 0000000000000000000000000000000000000000..f632437747ab36c97ae8e2542b61619d8a1bad8a
--- /dev/null
+++ b/examples/checkbox.py
@@ -0,0 +1,31 @@
+# Form / Checkbox
+# Use checkboxes to switch between two mutually exclusive options.
+# #form #checkbox
+# ---
+from h2o_wave import main, app, Q, ui
+
+
+@app('/demo')
+async def serve(q: Q):
+    if q.args.show_inputs:
+        q.page['example'].items = [
+            ui.text(f'checkbox_unchecked={q.args.checkbox_unchecked}'),
+            ui.text(f'checkbox_checked={q.args.checkbox_checked}'),
+            ui.text(f'checkbox_indeterminate={q.args.checkbox_indeterminate}'),
+            ui.text(f'checkbox_unchecked_disabled={q.args.checkbox_unchecked_disabled}'),
+            ui.text(f'checkbox_checked_disabled={q.args.checkbox_checked_disabled}'),
+            ui.text(f'checkbox_indeterminate_disabled={q.args.checkbox_indeterminate_disabled}'),
+            ui.button(name='show_form', label='Back', primary=True),
+        ]
+    else:
+        q.page['example'] = ui.form_card(box='1 1 4 7', items=[
+            ui.checkbox(name='checkbox_unchecked', label='Not checked'),
+            ui.checkbox(name='checkbox_checked', label='Checked', value=True),
+            ui.checkbox(name='checkbox_indeterminate', label='Indeterminate', indeterminate=True),
+            ui.checkbox(name='checkbox_unchecked_disabled', label='Not checked (Disabled)', disabled=True),
+            ui.checkbox(name='checkbox_checked_disabled', label='Checked (Disabled)', value=True, disabled=True),
+            ui.checkbox(name='checkbox_indeterminate_disabled', label='Indeterminate (Disabled)', indeterminate=True,
+                        disabled=True),
+            ui.button(name='show_inputs', label='Submit', primary=True),
+        ])
+    await q.page.save()
diff --git a/examples/checklist.py b/examples/checklist.py
new file mode 100644
index 0000000000000000000000000000000000000000..f17822594c6c471680b9de086fbd551583909250
--- /dev/null
+++ b/examples/checklist.py
@@ -0,0 +1,21 @@
+# Form / Checklist
+# Use a #checklist to group a set of related checkboxes.
+# #form
+# ---
+from h2o_wave import main, app, Q, ui
+
+
+@app('/demo')
+async def serve(q: Q):
+    if q.args.show_inputs:
+        q.page['example'].items = [
+            ui.text(f'selected={q.args.checklist}'),
+            ui.button(name='show_form', label='Back', primary=True),
+        ]
+    else:
+        q.page['example'] = ui.form_card(box='1 1 4 7', items=[
+            ui.checklist(name='checklist', label='Choices',
+                         choices=[ui.choice(name=x, label=x) for x in ['Egg', 'Bacon', 'Spam']]),
+            ui.button(name='show_inputs', label='Submit', primary=True),
+        ])
+    await q.page.save()
diff --git a/examples/checklist_inline.py b/examples/checklist_inline.py
new file mode 100644
index 0000000000000000000000000000000000000000..91952c96d4416eef44e7686d0b1bdb9cdcd00e7e
--- /dev/null
+++ b/examples/checklist_inline.py
@@ -0,0 +1,24 @@
+# Form / Checklist / Inline
+# Use a #checklist to group a set of related checkboxes.
+# #form
+# ---
+from h2o_wave import main, app, Q, ui
+
+
+choices = ['Egg', 'Bacon', 'Spam', 'Hamburger', 'Banana', 'Orange', 'Strawberry', 'Apple']
+
+
+@app('/demo')
+async def serve(q: Q):
+    if q.args.show_inputs:
+        q.page['example'].items = [
+            ui.text(f'selected={q.args.checklist}'),
+            ui.button(name='show_form', label='Back', primary=True),
+        ]
+    else:
+        q.page['example'] = ui.form_card(box='1 1 4 6', items=[
+            ui.checklist(name='checklist', label='Choices', inline=True,
+                         choices=[ui.choice(name=x, label=x) for x in choices]),
+            ui.button(name='show_inputs', label='Submit', primary=True),
+        ])
+    await q.page.save()
diff --git a/examples/checkpoint.py b/examples/checkpoint.py
new file mode 100644
index 0000000000000000000000000000000000000000..12201e409e7f3f0cf897baa9b3846982a54e99e2
--- /dev/null
+++ b/examples/checkpoint.py
@@ -0,0 +1,25 @@
+# Checkpoint
+# Set the H2O_WAVE_CHECKPOINT_DIR environment variable to enable saving and reloading application and session state.
+# For example, run `checkpoint.py` using `$ H2O_WAVE_CHECKPOINT_DIR=./temp wave run examples.checkpoint`.
+# You will observe that every time you stop and restart the application, the counts are preserved.
+# #checkpoint
+# ---
+from h2o_wave import main, app, Q, ui
+
+
+@app('/demo')
+async def serve(q: Q):
+    if q.args.increment_app:
+        q.app.count = (q.app.count or 0) + 1
+    elif q.args.increment_user:
+        q.user.count = (q.user.count or 0) + 1
+    elif q.args.increment_client:
+        q.client.count = (q.client.count or 0) + 1
+
+    q.page['example'] = ui.form_card(box='1 1 12 10', items=[
+        ui.button(name='increment_app', label=f'App Count={q.app.count or 0}'),
+        ui.button(name='increment_user', label=f'User Count={q.user.count or 0}'),
+        ui.button(name='increment_client', label=f'Client Count={q.client.count or 0}'),
+    ])
+
+    await q.page.save()
diff --git a/examples/choice_group.py b/examples/choice_group.py
new file mode 100644
index 0000000000000000000000000000000000000000..cb300ed0c90896a214a4e234148ca4489aab3ec5
--- /dev/null
+++ b/examples/choice_group.py
@@ -0,0 +1,27 @@
+# Form / Choice Group
+# Use #choice groups to let users select one option from two or more choices.
+# #form #choice_group
+# ---
+from h2o_wave import main, app, Q, ui
+
+choices = [
+    ui.choice('A', 'Option A'),
+    ui.choice('B', 'Option B'),
+    ui.choice('C', 'Option C', disabled=True),
+    ui.choice('D', 'Option D'),
+]
+
+
+@app('/demo')
+async def serve(q: Q):
+    if q.args.show_inputs:
+        q.page['example'].items = [
+            ui.text(f'selected={q.args.choice_group}'),
+            ui.button(name='show_form', label='Back', primary=True),
+        ]
+    else:
+        q.page['example'] = ui.form_card(box='1 1 4 7', items=[
+            ui.choice_group(name='choice_group', label='Pick one', value='B', required=True, choices=choices),
+            ui.button(name='show_inputs', label='Submit', primary=True),
+        ])
+    await q.page.save()
diff --git a/examples/choice_group_inline.py b/examples/choice_group_inline.py
new file mode 100644
index 0000000000000000000000000000000000000000..a5d87e842910521da132e4034fe7c4e26b3ce637
--- /dev/null
+++ b/examples/choice_group_inline.py
@@ -0,0 +1,32 @@
+# Form / Choice Group / Inline
+# Use #choice groups to let users select one option from two or more choices and inline to present the choices horizontally.
+# #form #choice_group #inline
+# ---
+from h2o_wave import main, app, Q, ui
+
+choices = [
+    ui.choice('A', 'Option A'),
+    ui.choice('B', 'Option B'),
+    ui.choice('C', 'Option C', disabled=True),
+    ui.choice('D', 'Option D'),
+    ui.choice('E', 'Option E'),
+    ui.choice('F', 'Option F'),
+    ui.choice('G', 'Option H'),
+    ui.choice('I', 'Option I'),
+]
+
+
+@app('/demo')
+async def serve(q: Q):
+    if q.args.show_inputs:
+        q.page['example'].items = [
+            ui.text(f'selected={q.args.choice_group}'),
+            ui.button(name='show_form', label='Back', primary=True),
+        ]
+    else:
+        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
+            ui.choice_group(name='choice_group', inline=True, label='Pick one',
+                            value='B', required=True, choices=choices),
+            ui.button(name='show_inputs', label='Submit', primary=True),
+        ])
+    await q.page.save()
diff --git a/examples/color_picker.py b/examples/color_picker.py
new file mode 100644
index 0000000000000000000000000000000000000000..3a1d9e37848f07fbcd7b4e242b5589213ed9ace8
--- /dev/null
+++ b/examples/color_picker.py
@@ -0,0 +1,20 @@
+# Form / Color Picker
+# Use a color picker to allow a user to select a color.
+# #form #color_picker
+# ---
+from h2o_wave import main, app, Q, ui
+
+
+@app('/demo')
+async def serve(q: Q):
+    if q.args.show_inputs:
+        q.page['example'].items = [
+            ui.text(f'color={q.args.color}'),
+            ui.button(name='show_form', label='Back', primary=True),
+        ]
+    else:
+        q.page['example'] = ui.form_card(box='1 1 4 7', items=[
+            ui.color_picker(name='color', label='Pick a color', value='#F25F5C'),
+            ui.button(name='show_inputs', label='Submit', primary=True),
+        ])
+    await q.page.save()
diff --git a/examples/combobox.py b/examples/combobox.py
new file mode 100644
index 0000000000000000000000000000000000000000..d9f59208e08a689eaff6832acd0c6c1e4f04f2ff
--- /dev/null
+++ b/examples/combobox.py
@@ -0,0 +1,35 @@
+# Form / Combobox
+# Use comboboxes to allow users to either choose between available choices or indicate a choice by free-form editing.
+# #form #combobox
+# ---
+from h2o_wave import main, app, Q, ui
+
+combobox_choices = ['Cyan', 'Magenta', 'Yellow', 'Black']
+
+
+@app('/demo')
+async def serve(q: Q):
+    if q.args.show_inputs:
+        q.page['example'].items = [
+            ui.text(f'combobox={q.args.combobox}'),
+            ui.text(f'combobox_required={q.args.combobox_required}'),
+            ui.text(f'combobox_disabled={q.args.combobox_disabled}'),
+            ui.text(f'combobox_error={q.args.combobox_error}'),
+            ui.text(f'combobox_multivalued={q.args.combobox_multivalued}'),
+            ui.button(name='show_form', label='Back', primary=True),
+        ]
+    else:
+        q.page['example'] = ui.form_card(box='1 1 4 7', items=[
+            ui.combobox(name='combobox', label='Enter or choose a color', placeholder='Color...', value='Blue',
+                        choices=combobox_choices),
+            ui.combobox(name='combobox_required', label='Enter or choose a color', placeholder='Color...', value='Blue',
+                        choices=combobox_choices, required=True),
+            ui.combobox(name='combobox_disabled', label='Enter or choose a color', placeholder='Color...', value='Blue',
+                        choices=combobox_choices, disabled=True),
+            ui.combobox(name='combobox_error', label='Enter or choose a color', placeholder='Color...', value='Blue',
+                        choices=combobox_choices, error='This combobox has an error!'),
+            ui.combobox(name='combobox_multivalued', label='Enter or choose a color (multi select)', placeholder='Color...', values=['Blue', 'Magenta'],
+                        choices=combobox_choices),
+            ui.button(name='show_inputs', label='Submit', primary=True),
+        ])
+    await q.page.save()
diff --git a/examples/combobox_trigger.py b/examples/combobox_trigger.py
new file mode 100644
index 0000000000000000000000000000000000000000..d73c5fa17a4c07ed3bb07e609409cfba96505986
--- /dev/null
+++ b/examples/combobox_trigger.py
@@ -0,0 +1,26 @@
+# Form / Combobox / Trigger
+# To handle live changes to a #combobox, enable the `trigger` attribute.
+# #combobox #trigger
+# ---
+from h2o_wave import main, app, Q, ui
+
+combobox_choices = ['Cyan', 'Magenta', 'Yellow', 'Black']
+
+
+def get_form_items(choice: str):
+    return [
+        ui.combobox(name='combobox', trigger=True, label='Enter or choose a color', placeholder='Color...', value='Blue',
+                    choices=combobox_choices),
+        ui.label('Sent to server'),
+        ui.text(choice),
+    ]
+
+
+@app('/demo')
+async def serve(q: Q):
+    if not q.client.initialized:
+        q.page['example'] = ui.form_card(box='1 1 4 10', items=get_form_items(''))
+        q.client.initialized = True
+    if q.args.combobox is not None:
+        q.page['example'].items = get_form_items(q.args.combobox)
+    await q.page.save()
diff --git a/examples/copyable_text.py b/examples/copyable_text.py
new file mode 100644
index 0000000000000000000000000000000000000000..c49303477ab883d83ed90d4ffc869be58a8e4ccb
--- /dev/null
+++ b/examples/copyable_text.py
@@ -0,0 +1,28 @@
+
+# Form / Copyable Text
+# Use copyable text component to enable user quick text copy pasting.
+# #copyable_text
+# ---
+from h2o_wave import site, ui
+
+
+multiline_content = '''Wave is truly awesome.
+You should try all the features!'''
+big_multiline_content = '''Wave is truly awesome.
+You should try all the features!
+Like having a big height textbox!
+...
+...
+...
+...
+Woohoo!'''
+page = site['/demo']
+
+page['hello'] = ui.form_card(box='1 1 3 10', items=[
+    ui.copyable_text(label='Copyable text', value='Hello world!'),
+    ui.copyable_text(label='Multiline Copyable text', value=multiline_content, multiline=True),
+    ui.copyable_text(label='Multiline Copyable text with height=200px', value=big_multiline_content, multiline=True, height='200px'),
+    ui.copyable_text(label='Multiline Copyable text filling remaining card space', value=big_multiline_content, multiline=True, height='1'),
+])
+
+page.save()
diff --git a/examples/counter_broadcast.py b/examples/counter_broadcast.py
new file mode 100644
index 0000000000000000000000000000000000000000..76b23110c96867cd5464f7dae3d38b037a6beedf
--- /dev/null
+++ b/examples/counter_broadcast.py
@@ -0,0 +1,23 @@
+# Mode / Broadcast
+# Launch the server in #broadcast #mode to synchronize browser state across users.
+# Open `/demo` in multiple browsers and watch them synchronize in realtime.
+# ---
+from h2o_wave import main, app, Q, ui
+
+
+@app('/demo', mode='broadcast')
+async def serve(q: Q):
+    if not q.client.initialized:
+        if q.app.count is None:
+            q.app.count = 0
+
+        q.page['example'] = ui.form_card(box='1 1 2 1', items=[
+            ui.button(name='increment', label=f'Count={q.app.count}')
+        ])
+        q.client.initialized = True
+
+    if q.args.increment:
+        q.app.count += 1
+        q.page['example'].increment.label = f'Count={q.app.count}'
+
+    await q.page.save()
diff --git a/examples/counter_global.py b/examples/counter_global.py
new file mode 100644
index 0000000000000000000000000000000000000000..c56ee164913187a8e910ef7d4d81980d6225d9d5
--- /dev/null
+++ b/examples/counter_global.py
@@ -0,0 +1,25 @@
+# Mode / Broadcast / Global
+# Launch the server in #broadcast #mode to synchronize browser state across users.
+# Global variables can be used to manage state.
+# Open `/demo` in multiple browsers and watch them synchronize in realtime.
+# ---
+from h2o_wave import main, app, Q, ui, pack
+
+count = 0
+
+
+@app('/demo', mode='broadcast')
+async def serve(q: Q):
+    global count
+    if 'increment' in q.args:
+        count += 1
+
+    items = pack([ui.button(name='increment', label=f'Count={count}')])
+
+    if count > 0:
+        form = q.page['example']
+        form.items = items
+    else:
+        q.page['example'] = ui.form_card(box='1 1 2 1', items=items)
+
+    await q.page.save()
diff --git a/examples/counter_multicast.py b/examples/counter_multicast.py
new file mode 100644
index 0000000000000000000000000000000000000000..139c1ddc408c24062891946bcd60ebaa6593705d
--- /dev/null
+++ b/examples/counter_multicast.py
@@ -0,0 +1,23 @@
+# Mode / Multicast
+# Launch the server in #multicast #mode to synchronize browser state across a user's clients.
+# Open `/demo` in multiple browsers and watch them synchronize in realtime.
+# ---
+from h2o_wave import main, app, Q, ui
+
+
+@app('/demo', mode='multicast')
+async def serve(q: Q):
+    if not q.client.initialized:
+        if q.user.count is None:
+            q.user.count = 0
+
+        q.page['example'] = ui.form_card(box='1 1 2 1', items=[
+            ui.button(name='increment', label=f'Count={q.user.count}')
+        ])
+        q.client.initialized = True
+
+    if q.args.increment:
+        q.user.count += 1
+        q.page['example'].increment.label = f'Count={q.user.count}'
+
+    await q.page.save()
diff --git a/examples/counter_unicast.py b/examples/counter_unicast.py
new file mode 100644
index 0000000000000000000000000000000000000000..a8defb6cbca151105d835d14f21e21cb3677dbe8
--- /dev/null
+++ b/examples/counter_unicast.py
@@ -0,0 +1,20 @@
+# Mode / Unicast
+# Launch the server in #unicast #mode and use `q.client` to manage client-local state.
+# ---
+from h2o_wave import main, app, Q, ui
+
+
+@app('/demo')
+async def serve(q: Q):
+    if not q.client.initialized:
+        q.client.count = 0
+        q.page['example'] = ui.form_card(box='1 1 2 1', items=[
+            ui.button(name='increment', label=f'Count={q.client.count}')
+        ])
+        q.client.initialized = True
+
+    if q.args.increment:
+        q.client.count += 1
+        q.page['example'].increment.label = f'Count={q.client.count}'
+
+    await q.page.save()
diff --git a/examples/dashboard.py b/examples/dashboard.py
new file mode 100644
index 0000000000000000000000000000000000000000..7eb466072cdd3d1673b5764da85d3c2e332f826a
--- /dev/null
+++ b/examples/dashboard.py
@@ -0,0 +1,265 @@
+# Dashboard
+# Make a #dashboard using a multitude of cards and update them live.
+# ---
+from faker import Faker
+import time
+from h2o_wave import site, data, ui
+from synth import FakePercent, FakeCategoricalSeries
+
+fake = Faker()
+
+light_theme_colors = '$red $pink $purple $violet $indigo $blue $azure $cyan $teal $mint $green $amber $orange $tangerine'.split()  # noqa: E501
+dark_theme_colors = '$red $pink $blue $azure $cyan $teal $mint $green $lime $yellow $amber $orange $tangerine'.split()
+
+_color_index = -1
+colors = dark_theme_colors
+
+
+def next_color():
+    global _color_index
+    _color_index += 1
+    return colors[_color_index % len(colors)]
+
+
+_curve_index = -1
+curves = 'linear smooth step step-after step-before'.split()
+
+
+def next_curve():
+    global _curve_index
+    _curve_index += 1
+    return curves[_curve_index % len(curves)]
+
+
+def create_dashboard(update_freq=0.0):
+    page = site['/demo']
+    simples = []
+    for i in range(1, 7):
+        f = FakePercent()
+        val, pc = f.next()
+        c = page.add(f'a{i}', ui.small_stat_card(
+            box=f'{i} 1 1 1',
+            title=fake.cryptocurrency_name(),
+            value=f'${val:.2f}',
+        ))
+        simples.append((f, c))
+
+    simples_colored = []
+    for i in range(1, 7):
+        f = FakeCategoricalSeries()
+        cat, val, pc = f.next()
+        c = page.add(f'aa{i}', ui.small_series_stat_card(
+            box=f'{6 + i} 1 1 1',
+            title=fake.cryptocurrency_code(),
+            value='=${{intl qux minimum_fraction_digits=2 maximum_fraction_digits=2}}',
+            data=dict(qux=val, quux=pc / 100),
+            plot_category='foo',
+            plot_value='qux',
+            plot_color=next_color(),
+            plot_data=data('foo qux', -15),
+            plot_zero_value=0,
+            plot_curve=next_curve(),
+        ))
+        simples_colored.append((f, c))
+
+    lines = []
+    for i in range(1, 13, 2):
+        f = FakeCategoricalSeries()
+        cat, val, pc = f.next()
+        c = page.add(f'b{i}', ui.wide_series_stat_card(
+            box=f'{i} 2 2 1',
+            title=fake.cryptocurrency_name(),
+            value='=${{intl qux minimum_fraction_digits=2 maximum_fraction_digits=2}}',
+            aux_value='={{intl quux style="percent" minimum_fraction_digits=1 maximum_fraction_digits=1}}',
+            data=dict(qux=val, quux=pc / 100),
+            plot_category='foo',
+            plot_value='qux',
+            plot_color=next_color(),
+            plot_data=data('foo qux', -15),
+            plot_zero_value=0,
+            plot_curve=next_curve(),
+        ))
+        lines.append((f, c))
+
+    bars = []
+    for i in range(1, 13, 2):
+        f = FakeCategoricalSeries()
+        cat, val, pc = f.next()
+        c = page.add(f'c{i}', ui.wide_series_stat_card(
+            box=f'{i} 3 2 1',
+            title=fake.cryptocurrency_name(),
+            value='=${{intl qux minimum_fraction_digits=2 maximum_fraction_digits=2}}',
+            aux_value='={{intl quux style="percent" minimum_fraction_digits=1 maximum_fraction_digits=1}}',
+            data=dict(qux=val, quux=pc),
+            plot_type='interval',
+            plot_category='foo',
+            plot_value='qux',
+            plot_color=next_color(),
+            plot_data=data('foo qux', -25),
+            plot_zero_value=0
+        ))
+        bars.append((f, c))
+
+    large_pcs = []
+    for i in range(1, 13):
+        f = FakePercent()
+        val, pc = f.next()
+        c = page.add(f'd{i}', ui.tall_gauge_stat_card(
+            box=f'{i} 4 1 2',
+            title=fake.cryptocurrency_name(),
+            value='=${{intl foo minimum_fraction_digits=2 maximum_fraction_digits=2}}',
+            aux_value='={{intl bar style="percent" minimum_fraction_digits=2 maximum_fraction_digits=2}}',
+            plot_color=next_color(),
+            progress=pc,
+            data=dict(foo=val, bar=pc / 100),
+        ))
+        large_pcs.append((f, c))
+
+    large_lines = []
+    for i in range(1, 13):
+        f = FakeCategoricalSeries()
+        cat, val, pc = f.next()
+        c = page.add(f'e{i}', ui.tall_series_stat_card(
+            box=f'{i} 6 1 2',
+            title=fake.cryptocurrency_name(),
+            value='=${{intl qux minimum_fraction_digits=2 maximum_fraction_digits=2}}',
+            aux_value='={{intl quux style="percent" minimum_fraction_digits=1 maximum_fraction_digits=1}}',
+            data=dict(qux=val, quux=pc),
+            plot_type='area',
+            plot_category='foo',
+            plot_value='qux',
+            plot_color=next_color(),
+            plot_data=data('foo qux', -15),
+            plot_zero_value=0,
+            plot_curve=next_curve(),
+        ))
+        large_lines.append((f, c))
+
+    small_pcs = []
+    for i in range(1, 7, 2):
+        f = FakePercent()
+        val, pc = f.next()
+        c = page.add(f'f{i}', ui.wide_gauge_stat_card(
+            box=f'{i} 8 2 1',
+            title=fake.cryptocurrency_name(),
+            value='=${{intl foo minimum_fraction_digits=2 maximum_fraction_digits=2}}',
+            aux_value='={{intl bar style="percent" minimum_fraction_digits=2 maximum_fraction_digits=2}}',
+            plot_color=next_color(),
+            progress=pc,
+            data=dict(foo=val, bar=pc / 100),
+        ))
+        small_pcs.append((f, c))
+
+    small_pbs = []
+    for i in range(7, 13, 2):
+        f = FakePercent()
+        val, pc = f.next()
+        c = page.add(f'f{i}', ui.wide_bar_stat_card(
+            box=f'{i} 8 2 1',
+            title=fake.cryptocurrency_name(),
+            value='=${{intl foo minimum_fraction_digits=2 maximum_fraction_digits=2}}',
+            aux_value='={{intl bar style="percent" minimum_fraction_digits=2 maximum_fraction_digits=2}}',
+            plot_color=next_color(),
+            progress=pc,
+            data=dict(foo=val, bar=pc / 100),
+        ))
+        small_pbs.append((f, c))
+
+    large_cards = []
+    for i in range(1, 7, 2):
+        f = FakePercent()
+        val, pc = f.next()
+        c = page.add(f'g{i}', ui.large_stat_card(
+            box=f'{i} 9 2 2',
+            title=fake.cryptocurrency_name(),
+            value='=${{intl qux minimum_fraction_digits=2 maximum_fraction_digits=2}}',
+            aux_value='={{intl quux style="percent" minimum_fraction_digits=1 maximum_fraction_digits=1}}',
+            data=dict(qux=val, quux=pc / 100),
+            caption=' '.join(fake.sentences()),
+        ))
+        large_cards.append((f, c))
+
+    large_pbs = []
+    for i in range(7, 13, 2):
+        f = FakePercent()
+        val, pc = f.next()
+        c = page.add(f'g{i}', ui.large_bar_stat_card(
+            box=f'{i} 9 2 2',
+            title=fake.cryptocurrency_name(),
+            value='=${{intl foo minimum_fraction_digits=2 maximum_fraction_digits=2}}',
+            value_caption='This Month',
+            aux_value='={{intl bar style="percent" minimum_fraction_digits=2 maximum_fraction_digits=2}}',
+            aux_value_caption='Previous Month',
+            plot_color=next_color(),
+            progress=pc,
+            data=dict(foo=val, bar=pc / 100),
+            caption=' '.join(fake.sentences(2)),
+        ))
+        large_pbs.append((f, c))
+
+    page.save()
+
+    while update_freq > 0:
+        time.sleep(update_freq)
+
+        for f, c in simples:
+            val, pc = f.next()
+            c.value = f'${val:.2f}',
+
+        for f, c in simples_colored:
+            cat, val, pc = f.next()
+            c.data.qux = val
+            c.data.quux = pc / 100
+            c.plot_data[-1] = [cat, val]
+
+        for f, c in lines:
+            cat, val, pc = f.next()
+            c.data.qux = val
+            c.data.quux = pc / 100
+            c.plot_data[-1] = [cat, val]
+
+        for f, c in bars:
+            cat, val, pc = f.next()
+            c.data.qux = val
+            c.data.quux = pc / 100
+            c.plot_data[-1] = [cat, val]
+
+        for f, c in large_lines:
+            cat, val, pc = f.next()
+            c.data.qux = val
+            c.data.quux = pc / 100
+            c.plot_data[-1] = [cat, val]
+
+        for f, c in large_pcs:
+            val, pc = f.next()
+            c.data.foo = val
+            c.data.bar = pc
+            c.progress = pc
+
+        for f, c in small_pcs:
+            val, pc = f.next()
+            c.data.foo = val
+            c.data.bar = pc
+            c.progress = pc
+
+        for f, c in small_pbs:
+            val, pc = f.next()
+            c.data.foo = val
+            c.data.bar = pc
+            c.progress = pc
+
+        for f, c in large_cards:
+            val, pc = f.next()
+            c.data.qux = val
+            c.data.quux = pc
+
+        for f, c in large_pbs:
+            val, pc = f.next()
+            c.data.foo = val
+            c.data.bar = pc
+            c.progress = pc
+
+        page.save()
+
+
+create_dashboard(update_freq=0.25)
diff --git a/examples/date_picker.py b/examples/date_picker.py
new file mode 100644
index 0000000000000000000000000000000000000000..1ebccc29ed6a4264a4748fc1a7680486d258bb51
--- /dev/null
+++ b/examples/date_picker.py
@@ -0,0 +1,26 @@
+# Form / Date Picker
+# Use date pickers to allow users to pick dates.
+# #form #date_picker
+# ---
+from h2o_wave import main, app, Q, ui
+
+
+@app('/demo')
+async def serve(q: Q):
+    if q.args.show_inputs:
+        q.page['example'].items = [
+            ui.text(f'date={q.args.date}'),
+            ui.text(f'date_placeholder={q.args.date_placeholder}'),
+            ui.text(f'date_disabled={q.args.date_disabled}'),
+            ui.text(f'date_boundaries={q.args.date_boundaries}'),
+            ui.button(name='show_form', label='Back', primary=True),
+        ]
+    else:
+        q.page['example'] = ui.form_card(box='1 1 4 7', items=[
+            ui.date_picker(name='date', label='Standard date picker', value='2017-10-19'),
+            ui.date_picker(name='date_placeholder', label='Date picker with placeholder', placeholder='Pick a date'),
+            ui.date_picker(name='date_disabled', label='Disabled date picker', value='2017-10-19', disabled=True),
+            ui.date_picker(name='date_boundaries', label='Date with boundaries', value='2017-10-19', min="2017-10-19", max="2017-10-25"),
+            ui.button(name='show_inputs', label='Submit', primary=True),
+        ])
+    await q.page.save()
diff --git a/examples/date_picker_trigger.py b/examples/date_picker_trigger.py
new file mode 100644
index 0000000000000000000000000000000000000000..923fe1e79cbc34f6dd3a265ea8c8034e2a09f535
--- /dev/null
+++ b/examples/date_picker_trigger.py
@@ -0,0 +1,23 @@
+# Form / Date Picker / Trigger
+# To handle live changes to a date picker, enable the `trigger` attribute.
+# #form #date_picker #trigger
+# ---
+from typing import Optional
+from h2o_wave import main, app, Q, ui
+
+
+def get_form_items(value: Optional[str]):
+    return [
+        ui.text(f'date_trigger={value}'),
+        ui.date_picker(name='date_trigger', label='Pick a date', trigger=True),
+    ]
+
+
+@app('/demo')
+async def serve(q: Q):
+    if not q.client.initialized:
+        q.page['example'] = ui.form_card(box='1 1 4 5', items=get_form_items(None))
+        q.client.initialized = True
+    else:
+        q.page['example'].items = get_form_items(q.args.date_trigger)
+    await q.page.save()
diff --git a/examples/db.py b/examples/db.py
new file mode 100644
index 0000000000000000000000000000000000000000..f952754bd02499b7b06144c85322f0d01f6bdc0f
--- /dev/null
+++ b/examples/db.py
@@ -0,0 +1,86 @@
+# WaveDB
+# How to use WaveDB, a simple sqlite3 database server that ships with Wave.
+# ---
+
+# Before you run this example, start WaveDB (`wavedb`).
+# By default, WaveDB listens on port 10100.
+#
+# To run this example, execute `python db.py`
+#
+# If your WaveDB instance is configured differently, you might want to set
+#   the following environment variables accordingly:
+# H2O_WAVEDB_ADDRESS - the ip:port of the database server
+# H2O_WAVEDB_ACCESS_KEY_ID - the API access key ID
+# H2O_WAVEDB_ACCESS_KEY_SECRET - the API access key secret
+
+import asyncio
+from h2o_wave import connect
+
+
+async def main():
+    # Create a database connection
+    connection = connect()
+
+    # Access the 'employees' database.
+    # A new database is created automatically if it does not exist.
+    db = connection["employees"]
+
+    # Execute some statements.
+    await db.exec("drop table if exists employee")
+    await db.exec("create table employee(empid integer, name text, title text)")
+
+    # Execute a statement and handle errors.
+    results, err = await db.exec("insert into employee values(?, ?, ?)", 101, 'Jeffrey Lebowski', 'Slacker')
+    if err:
+        raise ValueError(err)
+
+    # Execute many statements.
+    insert_employee = "insert into employee values(?, ?, ?)"
+    await db.exec_many(
+        (insert_employee, 102, 'Walter Sobchak', 'Veteran'),
+        (insert_employee, 103, 'Donny Kerabatsos', 'Sidekick'),
+        (insert_employee, 104, 'Jesus Quintana', 'Bowler'),
+        (insert_employee, 105, 'Uli Kunkel', 'Nihilist'),
+    )
+
+    # Execute many statements as a transaction.
+    await db.exec_atomic(
+        (insert_employee, 106, 'Brandt', 'Butler'),
+        (insert_employee, 107, 'Maude Lebowski', 'Artist'),
+        (insert_employee, 108, 'Franz', 'Nihilist'),
+        (insert_employee, 109, 'Kieffer', 'Nihilist'),
+    )
+
+    # Read records.
+    rows, err = await db.exec("select * from employee")
+    if err:
+        raise ValueError(err)
+
+    print(rows)
+
+    # Prints:
+    #  [
+    #     [101, 'Jeffrey Lebowski', 'Slacker'],
+    #     [102, 'Walter Sobchak', 'Veteran'],
+    #     [103, 'Donny Kerabatsos', 'Sidekick'],
+    #     [104, 'Jesus Quintana', 'Bowler'],
+    #     [105, 'Uli Kunkel', 'Nihilist'],
+    #     [106, 'Brandt', 'Butler'],
+    #     [107, 'Maude Lebowski', 'Artist'],
+    #     [108, 'Franz', 'Nihilist'],
+    #     [109, 'Kieffer', 'Nihilist']
+    # ]
+
+    # Clean up.
+    await db.exec("drop table employee")
+
+    # Drop the database entirely. Warning: A database is irrecoverable once dropped.
+    await db.drop()
+
+    # Close connection.
+    await connection.close()
+
+
+loop = asyncio.new_event_loop()
+asyncio.set_event_loop(loop)
+loop.run_until_complete(main())
diff --git a/examples/db_todo.py b/examples/db_todo.py
new file mode 100644
index 0000000000000000000000000000000000000000..4af3ff8135d6b68f86e3fda2f2b756a9c1aeb62d
--- /dev/null
+++ b/examples/db_todo.py
@@ -0,0 +1,109 @@
+# WaveDB / To-do App
+# A multi-user To-do list application using WaveDB for data management.
+# This example is very similar to the todo.py example, except that this
+#   example uses WaveDB instead of an in-memory list.
+# ---
+from h2o_wave import main, app, Q, ui, connect, WaveDB, expando_to_dict
+
+
+# A simple class that represents a to-do item.
+class TodoItem:
+    def __init__(self, id, label, done):
+        self.id = id
+        self.label = label
+        self.done = done
+
+
+async def setup_db() -> WaveDB:
+    db = connect()['todo']
+    _, err = await db.exec_atomic(
+        """
+        create table if not exists todo (
+            id integer primary key,
+            user text not null,
+            label text not null,
+            done integer not null default 0
+        )
+        """
+    )
+    if err:
+        raise RuntimeError(f'Failed setting up database: {err}')
+    return db
+
+
+@app('/demo')
+async def serve(q: Q):
+    if q.app.db is None:
+        q.app.db = await setup_db()
+
+    if q.args.new_todo:  # Display an input form.
+        await new_todo(q)
+    elif q.args.add_todo:  # Add an item.
+        await add_todo(q)
+    else:  # Show all items.
+        await show_todos(q)
+
+
+async def show_todos(q: Q):
+    # Get items for this user.
+    db: WaveDB = q.app.db
+
+    # Check if we have any updates, i.e. the user has checked/unchecked any item.
+    updates = []
+    for key, done in expando_to_dict(q.args).items():
+        # We've named each todo item `todo_{id}' (e.g. todo_42, todo_43, and so on)
+        # So identify the todo items from their 'todo_' prefix, then extract the ids from the names.
+        if key.startswith('todo_'):
+            _, id = key.split('_', 1)
+            updates.append(('update todo set done=? where id=?', 1 if done else 0, int(id)))
+
+    # If we have updates, update our database.
+    if len(updates):
+        _, err = await db.exec_many(*updates)
+        if err:
+            raise RuntimeError(f'Failed updating todos: {err}')
+
+    # Fetch latest todos for our user
+    rows, err = await db.exec('select id, label, done from todo where user=?', q.auth.subject)
+    if err:
+        raise RuntimeError(f'Failed fetching todos: {err}')
+    todos = [TodoItem(id, label, done) for id, label, done in rows]
+
+    # Create done/not-done checkboxes.
+    done = [ui.checkbox(name=f'todo_{todo.id}', label=todo.label, value=True, trigger=True) for todo in todos if
+            todo.done]
+    not_done = [ui.checkbox(name=f'todo_{todo.id}', label=todo.label, trigger=True) for todo in todos if not todo.done]
+
+    # Display list
+    q.page['form'] = ui.form_card(box='1 1 4 10', items=[
+        ui.text_l('To Do'),
+        ui.button(name='new_todo', label='Add To Do...', primary=True),
+        *not_done,
+        *([ui.separator('Done')] if len(done) else []),
+        *done,
+    ])
+    await q.page.save()
+
+
+async def add_todo(q: Q):
+    # Insert a new item
+    db: WaveDB = q.app.db
+    _, err = await db.exec('insert into todo (user, label) values (? , ?)', q.auth.subject, q.args.label or 'Untitled')
+    if err:
+        raise RuntimeError(f'Failed inserting todo: {err}')
+
+    # Go back to our list.
+    await show_todos(q)
+
+
+async def new_todo(q: Q):
+    # Display an input form
+    q.page['form'] = ui.form_card(box='1 1 4 10', items=[
+        ui.text_l('Add To Do'),
+        ui.textbox(name='label', label='What needs to be done?', multiline=True),
+        ui.buttons([
+            ui.button(name='add_todo', label='Add', primary=True),
+            ui.button(name='show_todos', label='Back'),
+        ]),
+    ])
+    await q.page.save()
diff --git a/examples/dropdown.py b/examples/dropdown.py
new file mode 100644
index 0000000000000000000000000000000000000000..4a150c6da475a30e72c3d7b8ec41e8fab4ce3497
--- /dev/null
+++ b/examples/dropdown.py
@@ -0,0 +1,44 @@
+# Form / Dropdown
+# Use dropdowns to allow users to choose between available choices.
+# #form #dropdown #choice
+# ---
+from h2o_wave import main, app, Q, ui
+
+choices = [
+    ui.choice('A', 'Option A'),
+    ui.choice('B', 'Option B'),
+    ui.choice('C', 'Option C', disabled=True),
+    ui.choice('D', 'Option D'),
+]
+
+choices_dialog = [ui.choice(str(i), f'Option {i}') for i in range(1, 102)]
+
+
+@app('/demo')
+async def serve(q: Q):
+    if q.args.show_inputs:
+        q.page['example'].items = [
+            ui.text(f'dropdown={q.args.dropdown}'),
+            ui.text(f'dropdown_multi={q.args.dropdown_multi}'),
+            ui.text(f'dropdown_disabled={q.args.dropdown_disabled}'),
+            ui.text(f'dropdown_dialog={q.args.dropdown_dialog}'),
+            ui.text(f'dropdown_popup_always={q.args.dropdown_popup_always}'),
+            ui.text(f'dropdown_popup_never={q.args.dropdown_popup_never}'),
+            ui.button(name='show_form', label='Back', primary=True),
+        ]
+    else:
+        q.page['example'] = ui.form_card(box='1 1 4 7', items=[
+            ui.dropdown(name='dropdown', label='Pick one', value='B', required=True, choices=choices),
+            ui.dropdown(name='dropdown_multi', label='Pick multiple', values=['B', 'D'], required=True,
+                        choices=choices),
+            ui.dropdown(name='dropdown_disabled', label='Pick one (Disabled)', value='B', choices=choices,
+                        disabled=True),
+            ui.dropdown(name='dropdown_dialog', label='Pick multiple in dialog (>100 choices)', values=['1'],
+                        required=True, choices=choices_dialog),
+            ui.dropdown(name='dropdown_popup_always', label='Always show popup even when choices < 100', value='A',
+                        required=True, choices=choices, popup='always'),
+            ui.dropdown(name='dropdown_popup_never', label='Never show popup even when choices > 100', value='1',
+                        required=True, choices=choices_dialog, popup='never'),
+            ui.button(name='show_inputs', label='Submit', primary=True),
+        ])
+    await q.page.save()
diff --git a/examples/facepile.py b/examples/facepile.py
new file mode 100644
index 0000000000000000000000000000000000000000..60401d4ce7d2609cc5f6630df0e34f7eae2a21b8
--- /dev/null
+++ b/examples/facepile.py
@@ -0,0 +1,42 @@
+# Form / Facepile
+# A face pile displays a list of personas. Each circle represents a person and contains their image or initials.
+# Often this control is used when sharing who has access to a specific view or file.
+# #form
+# ---
+from h2o_wave import main, app, Q, ui
+
+
+@app('/demo')
+async def serve(q: Q):
+    if q.args.facepile:
+        q.page['example'].items = [
+            ui.text_m(f'q.args.facepile={q.args.facepile}'),
+            ui.button(name='back', label='Back', primary=True),
+        ]
+    elif q.args.facepile_value:
+        q.page['example'].items = [
+            ui.text_m(f'q.args.facepile_value={q.args.facepile_value}'),
+            ui.button(name='back', label='Back', primary=True),
+        ]
+    else:
+        image = 'https://images.pexels.com/photos/220453/pexels-photo-220453.jpeg?auto=compress&h=750&w=1260'
+        q.page['example'] = ui.form_card(box='1 1 2 2', items=[
+            ui.text(content='Add button sends true'),
+            ui.facepile(name='facepile', max=4, items=[
+                ui.persona(title='John Doe', image=image),
+                ui.persona(title='John Doe', image=image),
+                ui.persona(title='John Doe'),
+                ui.persona(title='John Doe', image=image),
+                ui.persona(title='John Doe', image=image),
+            ]),
+            ui.text(content='Add button sends set value'),
+            ui.facepile(name='facepile_value', value='submitted value', max=4, items=[
+                ui.persona(title='John Doe', image=image),
+                ui.persona(title='John Doe', image=image),
+                ui.persona(title='John Doe'),
+                ui.persona(title='John Doe', image=image),
+                ui.persona(title='John Doe', image=image),
+            ]),
+        ])
+
+    await q.page.save()
diff --git a/examples/file_stream.py b/examples/file_stream.py
new file mode 100644
index 0000000000000000000000000000000000000000..8a9271c71ae53621b19dc3b919b072c6ebe01465
--- /dev/null
+++ b/examples/file_stream.py
@@ -0,0 +1,41 @@
+# Image / Stream
+# Display an image and continuously update it in real time.
+# ---
+import io
+import time
+import uuid
+
+import cv2
+from h2o_wave import app, Q, ui, main
+import numpy as np
+
+frame_count = 256
+
+
+def create_random_image():
+    frame = (np.random.rand(100, 100, 3) * 255).astype(np.uint8)
+    _, img = cv2.imencode('.jpg', frame)
+    return io.BytesIO(img)
+
+
+@app('/demo')
+async def serve(q: Q):
+    # Mint a unique name for our image stream
+    stream_name = f'stream/demo/{uuid.uuid4()}.jpeg'
+
+    # Send image
+    endpoint = await q.site.uplink(stream_name, 'image/jpeg', create_random_image())
+
+    # Display image
+    q.page['qux'] = ui.form_card(box='1 1 5 5', items=[ui.image('Image Stream', path=endpoint)])
+    await q.page.save()
+
+    t0 = time.time()
+    # Update image in a loop
+    for i in range(frame_count):
+        # Send image (use stream name as before).
+        await q.site.uplink(stream_name, 'image/jpeg', create_random_image())
+
+    await q.site.unlink(stream_name)
+
+    print(f'{frame_count / (time.time() - t0)}fps')
diff --git a/examples/file_upload.py b/examples/file_upload.py
new file mode 100644
index 0000000000000000000000000000000000000000..b116d67e5139115daff8d036ad81aedfd7cd2ff4
--- /dev/null
+++ b/examples/file_upload.py
@@ -0,0 +1,23 @@
+# Form / File Upload
+# Use a file #upload component to allow users to upload files.
+# #form #file_upload
+# ---
+from h2o_wave import main, app, Q, ui
+
+
+@app('/demo')
+async def serve(q: Q):
+    if 'file_upload' in q.args:
+        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
+            ui.text(f'file_upload={q.args.file_upload}'),
+            ui.button(name='show_upload', label='Back', primary=True),
+        ])
+    else:
+        q.page['example'] = ui.form_card(
+            box='1 1 4 7',
+            items=[
+                ui.file_upload(name='file_upload', label='Upload!', multiple=True,
+                               file_extensions=['csv', 'gz'], max_file_size=10, max_size=15)
+            ]
+        )
+    await q.page.save()
diff --git a/examples/file_upload_compact.py b/examples/file_upload_compact.py
new file mode 100644
index 0000000000000000000000000000000000000000..7090652ecb29e20447036146457d6c097f85bccf
--- /dev/null
+++ b/examples/file_upload_compact.py
@@ -0,0 +1,24 @@
+# Form / File Upload / Compact
+# Use a compact file #upload component to take less form space.
+# #form #file_upload #compact
+# ---
+from h2o_wave import main, app, Q, ui
+
+
+@app('/demo')
+async def serve(q: Q):
+    if 'file_upload' in q.args:
+        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
+            ui.text(f'file_upload={q.args.file_upload}'),
+            ui.button(name='show_upload', label='Back', primary=True),
+        ])
+    else:
+        q.page['example'] = ui.form_card(
+            box='1 1 4 7',
+            items=[
+                ui.file_upload(name='file_upload', label='Select one or more files to upload', compact=True,
+                               multiple=True, file_extensions=['jpg', 'png'], max_file_size=1, max_size=15),
+                ui.button(name='submit', label='Submit', primary=True)
+            ]
+        )
+    await q.page.save()
diff --git a/examples/flex.py b/examples/flex.py
new file mode 100644
index 0000000000000000000000000000000000000000..485604fdda24dac2adfb64e8ee6e54dddf8760cb
--- /dev/null
+++ b/examples/flex.py
@@ -0,0 +1,28 @@
+# Flex
+# Use a flex card to tile multiple child cards along one dimension, with optional wrapping.
+# #flex
+# ---
+import random
+
+from faker import Faker
+
+from h2o_wave import site, ui, pack, data
+
+fake = Faker()
+
+page = site['/demo']
+
+c = page.add('example', ui.flex_card(
+    box='1 1 1 1',
+    direction='horizontal',
+    justify='between',
+    wrap='between',
+    item_view='template',
+    item_props=pack(dict(
+        content='<div style="width:15px; height:15px; border-radius: 50%; background-color:{{#if loss}}red{{else}}green{{/if}}" title="{{code}}"/>'  # noqa: E501
+    )),
+    data=data('code loss', -10),
+))
+c.data = [[fake.cryptocurrency_code(), random.randint(0, 1)] for _ in range(10)]
+
+page.save()
diff --git a/examples/footer.py b/examples/footer.py
new file mode 100644
index 0000000000000000000000000000000000000000..34b8c1eb76204c8572bad012795f162f12699fd8
--- /dev/null
+++ b/examples/footer.py
@@ -0,0 +1,36 @@
+# Footer
+# Use a footer card to display a page #footer.
+# ---
+from h2o_wave import site, ui
+
+page = site['/demo']
+caption = '''
+![theme-generator](https://wave.h2o.ai/img/logo.svg)
+
+Made with 💛 by H2O Wave Team.'''
+page['footer1'] = ui.footer_card(box='1 1 -1 1', caption='Made with 💛 by H2O Wave Team.')
+page['footer2'] = ui.footer_card(box='1 2 -1 3', caption=caption)
+page['footer3'] = ui.footer_card(
+    box='1 5 -1 3',
+    caption=caption,
+    items=[
+        ui.inline(justify='end', items=[
+            ui.links(label='First Column', width='200px', items=[
+                ui.link(label='Sample link', path='https://www.h2o.ai/', target='_blank'),
+                ui.link(label='Sample link', path='https://www.h2o.ai/', target='_blank'),
+                ui.link(label='Sample link', path='https://www.h2o.ai/', target='_blank'),
+            ]),
+            ui.links(label='Second Column', width='200px', items=[
+                ui.link(label='Sample link', path='https://www.h2o.ai/', target='_blank'),
+                ui.link(label='Sample link', path='https://www.h2o.ai/', target='_blank'),
+                ui.link(label='Sample link', path='https://www.h2o.ai/', target='_blank'),
+            ]),
+            ui.links(label='Third Column', width='200px', items=[
+                ui.link(label='Sample link', path='https://www.h2o.ai/', target='_blank'),
+                ui.link(label='Sample link', path='https://www.h2o.ai/', target='_blank'),
+                ui.link(label='Sample link', path='https://www.h2o.ai/', target='_blank'),
+            ]),
+        ]),
+    ]
+)
+page.save()
diff --git a/examples/form.py b/examples/form.py
new file mode 100644
index 0000000000000000000000000000000000000000..eeabb695de54b2d1bfad3998a86b08db077af9ce
--- /dev/null
+++ b/examples/form.py
@@ -0,0 +1,141 @@
+# Form
+# Use a #form to collect data or show textual information.
+# ---
+from .synth import FakeCategoricalSeries
+from h2o_wave import main, app, Q, ui, pack, data
+import random
+
+html = '''
+<ol>
+    <li>Spam</li>
+    <li>Ham</li>
+    <li>Eggs</li>
+</ol>
+'''
+menu = '''
+<ol>
+{{#each dishes}}
+<li><strong>{{name}}</strong> costs {{price}}</li>
+{{/each}}
+</ol
+'''
+spec = '''
+{
+  "description": "A simple bar plot with embedded data.",
+  "mark": "bar",
+  "encoding": {
+    "x": {"field": "a", "type": "ordinal"},
+    "y": {"field": "b", "type": "quantitative"}
+  }
+}
+'''
+f = FakeCategoricalSeries()
+n = 20
+
+
+# Generate random datum between 1 and 100
+def rnd():
+    return random.randint(1, 100)
+
+
+@app('/demo')
+async def serve(q: Q):
+    q.page['example'] = ui.form_card(box='1 1 -1 -1', items=[
+        ui.text_xl(content='Extra-large text, for headings.'),
+        ui.text_l(content='Large text, for sub-headings.'),
+        ui.text_m(content='Body text, for paragraphs and other content.'),
+        ui.text_s(content='Small text, for small print.'),
+        ui.text_xs(content='Extra-small text, for really small print.'),
+        ui.image(
+            title='Monty Python',
+            path='https://upload.wikimedia.org/wikipedia/en/c/cb/Flyingcircus_2.jpg',
+        ),
+        ui.separator(label='A separator sections forms'),
+        ui.progress(label='A progress bar'),
+        ui.message_bar(type='success', text='Message bar'),
+        ui.textbox(name='textbox', label='Textbox'),
+        ui.label(label='Checkboxes'),
+        ui.checkbox(name='checkbox1', label='A checkbox'),
+        ui.checkbox(name='checkbox2', label='Another checkbox'),
+        ui.checkbox(name='checkbox3', label='Yet another checkbox'),
+        ui.toggle(name='toggle', label='Toggle'),
+        ui.choice_group(name='choice_group', label='Choice group', choices=[
+            ui.choice(name=x, label=x) for x in ['Egg', 'Bacon', 'Spam']
+        ]),
+        ui.checklist(name='checklist', label='Checklist', choices=[
+            ui.choice(name=x, label=x) for x in ['Egg', 'Bacon', 'Spam']
+        ]),
+        ui.dropdown(name='dropdown1', label='Dropdown', choices=[
+            ui.choice(name=x, label=x) for x in ['Egg', 'Bacon', 'Spam']
+        ]),
+        ui.dropdown(name='dropdown2', label='Multi-valued Dropdown', values=[], choices=[
+            ui.choice(name=x, label=x) for x in ['Egg', 'Bacon', 'Spam']
+        ]),
+        ui.combobox(name='combobox', label='Combobox', choices=['Choice 1', 'Choice 2', 'Choice 3']),
+        ui.slider(name='slider', label='Slider'),
+        ui.range_slider(name='range_slider', label='Range slider', max=99),
+        ui.spinbox(name='spinbox', label='Spinbox'),
+        ui.date_picker(name='date_picker', label='Date picker'),
+        ui.time_picker(name='time_picker', label='Time picker'),
+        ui.color_picker(name='color_picker', label='Color picker'),
+        ui.buttons([
+            ui.button(name='primary_button', label='Primary', primary=True),
+            ui.button(name='standard_button', label='Standard'),
+            ui.button(name='standard_disabled_button', label='Standard', disabled=True),
+        ]),
+        ui.file_upload(name='file_upload', label='File upload'),
+        ui.table(name='table', columns=[
+            ui.table_column(name='col1', label='Column 1'),
+            ui.table_column(name='col2', label='Column 2'),
+        ], rows=[
+            ui.table_row(name='row1', cells=['Text A', 'Text B']),
+            ui.table_row(name='row2', cells=['Text C', 'Text D']),
+            ui.table_row(name='row3', cells=['Text E', 'Text F']),
+        ]),
+        ui.link(label='Link'),
+        ui.tabs(name='tabs', items=[
+            ui.tab(name='email', label='Mail', icon='Mail'),
+            ui.tab(name='events', label='Events', icon='Calendar'),
+            ui.tab(name='spam', label='Spam'),
+        ]),
+        ui.expander(name='expander', label='Expander', items=[
+            ui.combobox(name='combobox', label='Combobox', choices=['Choice 1', 'Choice 2', 'Choice 3']),
+            ui.slider(name='slider', label='Slider'),
+            ui.range_slider(name='range_slider', label='Range slider', max=99),
+            ui.spinbox(name='spinbox', label='Spinbox'),
+        ]),
+        ui.frame(path='https://example.com'),
+        ui.markup(content=html),
+        ui.template(
+            content=menu,
+            data=pack(dict(dishes=[
+                dict(name='Spam', price='$2.00'),
+                dict(name='Ham', price='$3.45'),
+                dict(name='Eggs', price='$1.75'),
+            ]))
+        ),
+        ui.picker(name='picker', label='Picker', choices=[
+            ui.choice('choice1', label='Choice 1'),
+            ui.choice('choice2', label='Choice 2'),
+            ui.choice('choice3', label='Choice 3'),
+        ]),
+        ui.stepper(name='stepper', items=[
+            ui.step(label='Step 1', icon='MailLowImportance'),
+            ui.step(label='Step 2', icon='TaskManagerMirrored'),
+            ui.step(label='Step 3', icon='Cafe'),
+        ]),
+        ui.visualization(
+            plot=ui.plot([ui.mark(type='interval', x='=product', y='=price', y_min=0)]),
+            data=data(fields='product price', rows=[(c, x) for c, x, _ in [f.next() for _ in range(n)]], pack=True),
+        ),
+        ui.vega_visualization(
+            specification=spec,
+            data=data(fields=["a", "b"], rows=[
+                ["A", rnd()], ["B", rnd()], ["C", rnd()],
+                ["D", rnd()], ["E", rnd()], ["F", rnd()],
+                ["G", rnd()], ["H", rnd()], ["I", rnd()]
+            ], pack=True),
+        ),
+        ui.button(name='show_inputs', label='Submit', primary=True),
+    ])
+    await q.page.save()
diff --git a/examples/form_frame.py b/examples/form_frame.py
new file mode 100644
index 0000000000000000000000000000000000000000..d4da54c5494339dc4a4181f2d2999fa01a24edc3
--- /dev/null
+++ b/examples/form_frame.py
@@ -0,0 +1,24 @@
+# Form / Frame
+# Use a #frame component in a #form card to display #HTML content inline.
+# ---
+from h2o_wave import site, ui
+
+html = '''
+<!DOCTYPE html>
+<html>
+<body>
+  <h1>Hello World!</h1>
+</body>
+</html>
+'''
+
+page = site['/demo']
+
+page['example'] = ui.form_card(
+    box='1 1 2 2',
+    items=[
+        ui.frame(content=html, height='100px')
+    ]
+)
+
+page.save()
diff --git a/examples/form_frame_path.py b/examples/form_frame_path.py
new file mode 100644
index 0000000000000000000000000000000000000000..85b8632a46f472ea3e43cf4f4f3228ecf82b8f2b
--- /dev/null
+++ b/examples/form_frame_path.py
@@ -0,0 +1,15 @@
+# Form / Frame / Path
+# Use a #frame component in a #form card to display external web pages.
+# ---
+from h2o_wave import site, ui
+
+page = site['/demo']
+
+page['example'] = ui.form_card(
+    box='1 1 -1 -1',
+    items=[
+        ui.frame(path='https://example.com', height='450px')
+    ]
+)
+
+page.save()
diff --git a/examples/form_markup.py b/examples/form_markup.py
new file mode 100644
index 0000000000000000000000000000000000000000..bccbcc4953665cda85caac66b68761156434169f
--- /dev/null
+++ b/examples/form_markup.py
@@ -0,0 +1,23 @@
+# Form / Markup
+# Use a #markup component to display formatted content using #HTML.
+# #form
+# ---
+from h2o_wave import site, ui
+
+page = site['/demo']
+
+menu = '''
+<ol>
+    <li>Spam</li>
+    <li>Ham</li>
+    <li>Eggs</li>
+</ol>
+'''
+
+page['example'] = ui.form_card(
+    box='1 1 2 2',
+    items=[
+        ui.markup(content=menu)
+    ]
+)
+page.save()
diff --git a/examples/form_menu.py b/examples/form_menu.py
new file mode 100644
index 0000000000000000000000000000000000000000..823c92ef6c8b0243bf580832a30d53279c1b97f4
--- /dev/null
+++ b/examples/form_menu.py
@@ -0,0 +1,71 @@
+# Form / Menu
+# Display context menus inside forms.
+# #form #context_menu
+# ---
+import json
+from h2o_wave import main, app, Q, ui, data
+
+# Vega lite spec for a bar plot, defaults to linear scale.
+spec_linear_scale = json.dumps(dict(
+    mark='bar',
+    encoding=dict(
+        x=dict(field='a', type='ordinal'),
+        y=dict(field='b', type='quantitative')
+    )
+))
+
+# Vega lite spec for a bar plot, log scaled.
+spec_log_scale = json.dumps(dict(
+    mark='bar',
+    encoding=dict(
+        x=dict(field='a', type='ordinal'),
+        y=dict(field='b', type='quantitative', scale=dict(type='log'))
+    )
+))
+
+# Data for our plot.
+plot_data = data(fields=["a", "b"], rows=[
+    ["A", 28], ["B", 55], ["C", 43],
+    ["D", 91], ["E", 81], ["F", 53],
+    ["G", 19], ["H", 87], ["I", 52]
+], pack=True)
+
+# Create a couple of context menu commands.
+log_scale_command = ui.command(
+    name='to_log_scale',
+    label='Log Scale',
+    icon='LineChart',
+)
+linear_scale_command = ui.command(
+    name='to_linear_scale',
+    label='Linear Scale',
+    icon='LineChart',
+)
+
+
+@app('/demo')
+async def serve(q: Q):
+    if q.client.plot_added:  # Have we already added a plot?
+        example = q.page['example']
+        if q.args.to_log_scale:
+            # Change to log scale
+            example.text.content = 'Plot (Log Scale)'
+            example.text.commands = [linear_scale_command]
+            example.visualization.specification = spec_log_scale
+        else:
+            # Change to linear scale
+            example.text.content = 'Plot (Linear Scale)'
+            example.text.commands = [log_scale_command]
+            example.visualization.specification = spec_linear_scale
+    else:  # Add a new plot
+        q.page['example'] = ui.form_card(
+            box='1 1 2 8',
+            items=[
+                ui.text_l(name='text', content='Plot (Linear Scale)', commands=[log_scale_command]),
+                ui.vega_visualization(name='visualization', specification=spec_linear_scale, data=plot_data, height='300px'),
+            ],
+        )
+        # Flag to indicate that we've added a plot
+        q.client.plot_added = True
+
+    await q.page.save()
diff --git a/examples/form_template.py b/examples/form_template.py
new file mode 100644
index 0000000000000000000000000000000000000000..ca51e51e834707e8a4476225d95d757a42a257c1
--- /dev/null
+++ b/examples/form_template.py
@@ -0,0 +1,30 @@
+# Form / Template
+# Use a template component to render dynamic content using a #HTML #template.
+# #form
+# ---
+from h2o_wave import site, pack, ui
+
+page = site['/demo']
+page.drop()
+
+menu = '''
+<ol>
+{{#each dishes}}
+<li><strong>{{name}}</strong> costs {{price}}</li>
+{{/each}}
+</ol
+'''
+
+c = page.add('template_example', ui.form_card(
+    box='1 1 2 2',
+    items=[
+        ui.template(
+            content=menu,
+            data=pack(dict(dishes=[
+                dict(name='Spam', price='$2.00'),
+                dict(name='Ham', price='$3.45'),
+                dict(name='Eggs', price='$1.75'),
+            ]))
+        )
+    ]))
+page.save()
diff --git a/examples/form_visibility.py b/examples/form_visibility.py
new file mode 100644
index 0000000000000000000000000000000000000000..02a592a666394b9738b938ab2953b82e65ecbe2d
--- /dev/null
+++ b/examples/form_visibility.py
@@ -0,0 +1,41 @@
+# Form / Visible
+# Use "visible" property to control whether form element should be shown / hidden.
+# ---
+from h2o_wave import main, app, Q, ui
+
+
+@app('/demo')
+async def serve(q: Q):
+    if not q.client.initialized:
+        q.page['example'] = ui.form_card(box='1 1 4 7', items=[
+            ui.text_xl(name='text_xl', content='First text'),
+            ui.text_l(name='text_l', content='Second text'),
+            ui.text_m(name='text_m', content='Third text'),
+            ui.text_s(name='text_s', content='Fourth text'),
+            ui.inline([
+                ui.button(name='left1', label='Left1'),
+                ui.button(name='left2', label='Left2'),
+                ui.button(name='left3', label='Left3'),
+            ]),
+            ui.buttons(justify='end', items=[
+                ui.button(name='right1', label='Right1'),
+                ui.button(name='right2', label='Right2'),
+                ui.button(name='right3', label='Right3'),
+            ]),
+            ui.buttons(items=[ui.button(name='show', label='Show'), ui.button(name='hide', label='Hide')])
+        ])
+        q.client.initialized = True
+    page = q.page['example']
+    items_to_hide = [
+        page.text_xl,
+        page.text_m,
+        page.left1,
+        page.right3,
+    ]
+    if q.args.hide:
+        for i in items_to_hide:
+            i.visible = False
+    if q.args.show:
+        for i in items_to_hide:
+            i.visible = True
+    await q.page.save()
diff --git a/examples/frame.py b/examples/frame.py
new file mode 100644
index 0000000000000000000000000000000000000000..033ac35ba49f3f46d505604f6510b2c8dd5da41e
--- /dev/null
+++ b/examples/frame.py
@@ -0,0 +1,24 @@
+# Frame
+# Use a #frame card to display #HTML content.
+# #form
+# ---
+from h2o_wave import site, ui
+
+html = '''
+<!DOCTYPE html>
+<html>
+<body>
+  <h1>Hello World!</h1>
+</body>
+</html>
+'''
+
+page = site['/demo']
+
+page['example'] = ui.frame_card(
+    box='1 1 2 2',
+    title='Example',
+    content=html,
+)
+
+page.save()
diff --git a/examples/frame_path.py b/examples/frame_path.py
new file mode 100644
index 0000000000000000000000000000000000000000..c4a0fbd30c0c277699883ea174a70d124d7d40fb
--- /dev/null
+++ b/examples/frame_path.py
@@ -0,0 +1,14 @@
+# Frame / Path
+# Use a #frame card to display external web pages.
+# ---
+from h2o_wave import site, ui
+
+page = site['/demo']
+
+page['example'] = ui.frame_card(
+    box='1 1 -1 -1',
+    title='Example',
+    path='https://example.com',
+)
+
+page.save()
diff --git a/examples/glider_gun.py b/examples/glider_gun.py
new file mode 100644
index 0000000000000000000000000000000000000000..3d9cf748842e392f9c1c943b635a817688386f54
--- /dev/null
+++ b/examples/glider_gun.py
@@ -0,0 +1,161 @@
+# Graphics / Glider Gun
+# Use the #graphics API to play Conway's Game of Life - Gosper's Glider Gun
+# https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life
+# ---
+import time
+from copy import deepcopy
+from h2o_wave import site, ui, graphics as g
+
+
+def get_neighbors(row, col):
+    neighbors = [
+        (r, c) for r in range(row - 1, row + 2) for c in range(col - 1, col + 2)
+    ]
+    neighbors.remove((row, col))
+    return neighbors
+
+
+def get_num_living(grid_state, neighbors):
+    return sum([grid_state.get(x, 0) for x in neighbors])
+
+
+def evaluate_grid(grid_state):
+    new_grid_state = deepcopy(grid_state)
+    for cell, state in grid_state.items():
+        neighbors = get_neighbors(*cell)
+        n_living = get_num_living(grid_state, neighbors)
+        if state == 0 and n_living == 3:
+            new_grid_state[cell] = 1
+        elif state == 1:
+            if not 1 < n_living < 4:
+                new_grid_state[cell] = 0
+    return new_grid_state
+
+
+def get_empty_state(n_rows, n_cols):
+    return {(r, c): 0 for r in range(n_rows) for c in range(n_cols)}
+
+
+def apply_start_state(grid_state, pattern):
+    for x in pattern:
+        grid_state[x] = 1
+    return grid_state
+
+
+def update_grid(page, grid_state, n_rows, n_cols, background):
+    scene = page['game'].scene
+    for row in range(n_rows):
+        for col in range(n_cols):
+            if grid_state[(row, col)] == 1:
+                g.draw(scene[f'cell_{row}_{col}'], fill='black')
+            else:
+                g.draw(scene[f'cell_{row}_{col}'], fill=background)
+    page.save()
+
+
+def create_grid(n_rows, n_cols, fill, width, height, stroke, stroke_width):
+    grid = {}
+    for row in range(n_rows):
+        for col in range(n_cols):
+            grid[f'cell_{row}_{col}'] = g.rect(
+                x=col * width,
+                y=row * height,
+                width=width,
+                height=height,
+                fill=fill,
+                stroke=stroke,
+                stroke_width=stroke_width,
+            )
+    return grid
+
+
+def render(pattern):
+    page = site['/demo']
+
+    page_cols = 4
+    page_rows = 5
+
+    box_width = 134
+    box_height = 76
+    gap = 15
+
+    max_width = box_width * page_cols + (page_cols - 1) * gap
+    max_height = box_height * page_rows + (page_rows - 1) * gap
+
+    width = 10
+    height = 10
+
+    grid_cols = max_width // width
+    grid_rows = max_height // height
+
+    background = 'whitesmoke'
+    stroke = 'gainsboro'
+    stroke_width = 1
+
+    grid = create_grid(
+        grid_rows, grid_cols, background, width, height, stroke, stroke_width
+    )
+    page['game'] = ui.graphics_card(
+        box=f'1 1 {page_cols} {page_rows}',
+        view_box=f'0 0 {max_width} {max_height}',
+        width='100%',
+        height='100%',
+        scene=g.scene(**grid),
+    )
+
+    grid_state = get_empty_state(grid_rows, grid_cols)
+    update_grid(page, grid_state, grid_rows, grid_cols, background)
+
+    grid_state = apply_start_state(grid_state, pattern)
+
+    update_grid(page, grid_state, grid_rows, grid_cols, background)
+
+    while True:
+        time.sleep(0.1)
+        new_grid_state = evaluate_grid(grid_state)
+        update_grid(page, new_grid_state, grid_rows, grid_cols, background)
+        grid_state = new_grid_state
+
+
+def make_glider_gun(r, c):
+    return [
+        (r, c + 24),
+        (r + 1, c + 22),
+        (r + 1, c + 24),
+        (r + 2, c + 12),
+        (r + 2, c + 13),
+        (r + 2, c + 20),
+        (r + 2, c + 21),
+        (r + 2, c + 34),
+        (r + 2, c + 35),
+        (r + 3, c + 11),
+        (r + 3, c + 15),
+        (r + 3, c + 20),
+        (r + 3, c + 21),
+        (r + 3, c + 34),
+        (r + 3, c + 35),
+        (r + 4, c + 0),
+        (r + 4, c + 1),
+        (r + 4, c + 10),
+        (r + 4, c + 16),
+        (r + 4, c + 20),
+        (r + 4, c + 21),
+        (r + 5, c + 0),
+        (r + 5, c + 1),
+        (r + 5, c + 10),
+        (r + 5, c + 14),
+        (r + 5, c + 16),
+        (r + 5, c + 17),
+        (r + 5, c + 22),
+        (r + 5, c + 24),
+        (r + 6, c + 10),
+        (r + 6, c + 16),
+        (r + 6, c + 24),
+        (r + 7, c + 11),
+        (r + 7, c + 15),
+        (r + 8, c + 12),
+        (r + 8, c + 13),
+    ]
+
+
+render(make_glider_gun(2, 2))
diff --git a/examples/graphics_clock.py b/examples/graphics_clock.py
new file mode 100644
index 0000000000000000000000000000000000000000..a4d1495ff687f7c7bb8a48d539fb8ef9df531202
--- /dev/null
+++ b/examples/graphics_clock.py
@@ -0,0 +1,36 @@
+# Graphics / Clock
+# Use the #graphics API to make a clock.
+# Source: https://codepen.io/dudleystorey/pen/HLBki
+# ---
+import time
+import datetime
+from h2o_wave import site, ui, graphics as g
+
+page = site['/demo']
+page['example'] = ui.graphics_card(
+    box='1 1 2 3', view_box='0 0 100 100', width='100%', height='100%',
+    stage=g.stage(
+        face=g.circle(cx='50', cy='50', r='45', fill='#111', stroke_width='2px', stroke='#f55'),
+    ),
+    scene=g.scene(
+        hour=g.rect(x='47.5', y='12.5', width='5', height='40', rx='2.5', fill='#333', stroke='#555'),
+        min=g.rect(x='48.5', y='12.5', width='3', height='40', rx='2', fill='#333', stroke='#555'),
+        sec=g.line(x1='50', y1='50', x2='50', y2='16', stroke='#f55', stroke_width='1px'),
+    ),
+)
+
+page.save()
+
+
+def rotate(deg):
+    return f'rotate({deg} 50 50)'
+
+
+scene = page['example'].scene
+while True:
+    time.sleep(1)
+    now = datetime.datetime.now()
+    g.draw(scene.hour, transform=rotate(30 * (now.hour % 12) + now.minute / 2))
+    g.draw(scene.min, transform=rotate(6 * now.minute))
+    g.draw(scene.sec, transform=rotate(6 * now.second))
+    page.save()
diff --git a/examples/graphics_hilbert.py b/examples/graphics_hilbert.py
new file mode 100644
index 0000000000000000000000000000000000000000..bc8d907e744698012bc82c96dbde34dbf7dffa4c
--- /dev/null
+++ b/examples/graphics_hilbert.py
@@ -0,0 +1,54 @@
+# Graphics / Hilbert
+# Use turtle #graphics recursively to draw Hilbert curves.
+# ---
+from h2o_wave import ui, main, app, Q, graphics as g
+
+
+def hilbert(t: g.Turtle, width: float, depth: int, reverse=False):  # recursive
+    angle = -90 if reverse else 90
+
+    if depth == 0:
+        t.f(width).r(angle).f(width).r(angle).f(width)
+        return
+
+    side = width * ((2 ** depth) - 1) / float((2 ** (depth + 1)) - 1)
+    edge = width - 2 * side
+
+    t.r(angle)
+    hilbert(t, side, depth - 1, not reverse)
+    t.r(angle).f(edge)
+    hilbert(t, side, depth - 1, reverse)
+    t.l(angle).f(edge).l(angle)
+    hilbert(t, side, depth - 1, reverse)
+    t.f(edge).r(angle)
+    hilbert(t, side, depth - 1, not reverse)
+    t.r(angle)
+
+
+def make_hilbert_curve(width: float, depth: int):
+    t = g.turtle().f(0).pd()
+    hilbert(t, width, depth)
+    return t.d()
+
+
+@app('/demo')
+async def serve(q: Q):
+    hilbert_curve = make_hilbert_curve(300, q.args.depth or 5)
+
+    if not q.client.initialized:
+        q.page['curve'] = ui.graphics_card(
+            box='1 1 4 6', view_box='0 0 300 300', width='100%', height='100%',
+            scene=g.scene(
+                hilbert_curve=g.path(d=hilbert_curve, fill='none', stroke='#333')
+            ),
+        )
+        q.page['form'] = ui.form_card(
+            box='1 7 4 1', items=[
+                ui.slider(name='depth', label='Play with this Hilbert curve!', min=1, max=6, value=5, trigger=True),
+            ],
+        )
+        q.client.initialized = True
+    else:
+        g.draw(q.page['curve'].scene.hilbert_curve, d=hilbert_curve)
+
+    await q.page.save()
diff --git a/examples/graphics_path.py b/examples/graphics_path.py
new file mode 100644
index 0000000000000000000000000000000000000000..5eb12a3c37f2730bf5d576718fa1d4d745ef0651
--- /dev/null
+++ b/examples/graphics_path.py
@@ -0,0 +1,15 @@
+# Graphics / Path
+# Use the #graphics API to draw a red square.
+# ---
+from h2o_wave import site, ui, graphics as g
+
+# Use relative coords to draw a square, sort of like Python's turtle package.
+red_square = g.p().m(25, 25).h(50).v(50).h(-50).z().path(fill='red')
+
+page = site['/demo']
+page['example'] = ui.graphics_card(
+    box='1 1 2 3', view_box='0 0 100 100', width='100%', height='100%',
+    scene=g.scene(foo=red_square),
+)
+
+page.save()
diff --git a/examples/graphics_primitives.py b/examples/graphics_primitives.py
new file mode 100644
index 0000000000000000000000000000000000000000..6a86166666207b7263f9e0a5338111ed891cb546
--- /dev/null
+++ b/examples/graphics_primitives.py
@@ -0,0 +1,58 @@
+# Graphics / Primitives
+# Use the #graphics module to render and update shapes.
+# ---
+
+from h2o_wave import site, ui, graphics as g
+
+# Create some shapes
+arc = g.arc(r1=25, r2=50, a1=90, a2=180)
+circle = g.circle(cx=25, cy=25, r=25)
+ellipse = g.ellipse(cx=25, cy=25, rx=25, ry=20)
+image = g.image(width=50, height=50, href='https://www.python.org/static/community_logos/python-powered-h-140x182.png')
+line = g.line(x1=0, y1=0, x2=50, y2=50)
+path = g.path(d='M 0,0 L 50,50 L 50,0 L 0,50 z')
+path2 = g.path(d=g.p().M(0, 0).L(50, 50).L(50, 0).L(0, 50).z().d())  # same effect as above, but programmable.
+path3 = g.p().M(0, 0).L(50, 50).L(50, 0).L(0, 50).z().path()  # same effect as above, but a tad more concise.
+polygon = g.polygon(points='0,0 50,50 50,0 0,50')
+polyline = g.polyline(points='0,0 50,50 50,0 0,50')
+rect = g.rect(x=0, y=0, width=50, height=50)
+rounded_rect = g.rect(x=0, y=0, width=50, height=50, rx=10)
+text = g.text(x=0, y=48, text='Z', font_size='4em')
+
+# Collect 'em all
+shapes = [arc, circle, ellipse, image, line, path, path2, path3, polygon, polyline, rect, rounded_rect, text]
+
+# Apply fill/stroke for each shape
+for shape in shapes:
+    shape.fill = 'none' if g.type_of(shape) == 'polyline' else 'crimson'
+    shape.stroke = 'darkred'
+    shape.stroke_width = 5
+
+# Lay out shapes vertically
+y = 10
+for shape in shapes:
+    shape.transform = f'translate(10,{y})'
+    y += 60
+
+# Add shapes to the graphics card
+page = site['/demo']
+page['example'] = ui.graphics_card(
+    box='1 1 1 10', view_box='0 0 70 800', width='100%', height='100%',
+    stage=g.stage(
+        arc=arc,
+        circle=circle,
+        ellipse=ellipse,
+        image=image,
+        line=line,
+        path=path,
+        path2=path2,
+        path3=path3,
+        polygon=polygon,
+        polyline=polyline,
+        rect=rect,
+        rounded_rect=rounded_rect,
+        text=text,
+    ),
+)
+
+page.save()
diff --git a/examples/graphics_spline.py b/examples/graphics_spline.py
new file mode 100644
index 0000000000000000000000000000000000000000..4b218ce7f13f9d20f568de236d10cee0c6ea4553
--- /dev/null
+++ b/examples/graphics_spline.py
@@ -0,0 +1,73 @@
+# Graphics / Spline
+# Use the #graphics module to render splines.
+# ---
+
+import random
+from h2o_wave import site, ui, graphics as g
+
+x = [i * 20 for i in range(50)]
+y = [
+    88, 100, 116, 128, 126, 128, 118, 108, 121, 120, 99, 113, 117, 103, 98, 90, 104, 98, 82, 102, 104, 89, 87, 69,
+    88, 97, 91, 105, 98, 86, 90, 107, 97, 107, 108, 128, 144, 148, 126, 106, 89, 99, 78, 70, 69, 64, 45, 29, 27, 38
+]
+y0 = [v - random.randint(5, min(y)) for v in y]
+
+line_style = dict(fill='none', stroke='crimson', stroke_width=4)
+area_style = dict(fill='crimson')
+
+splines = [
+    # Lines
+    g.spline(x=x, y=y, **line_style),  # same as curve='linear'
+    g.spline(x=x, y=y, curve='basis', **line_style),
+    g.spline(x=x, y=y, curve='basis-closed', **line_style),
+    g.spline(x=x, y=y, curve='basis-open', **line_style),
+    g.spline(x=x, y=y, curve='cardinal', **line_style),
+    g.spline(x=x, y=y, curve='cardinal-closed', **line_style),
+    g.spline(x=x, y=y, curve='cardinal-open', **line_style),
+    g.spline(x=x, y=y, curve='smooth', **line_style),
+    g.spline(x=x, y=y, curve='smooth-closed', **line_style),
+    g.spline(x=x, y=y, curve='smooth-open', **line_style),
+    g.spline(x=x, y=y, curve='linear', **line_style),
+    g.spline(x=x, y=y, curve='linear-closed', **line_style),
+    g.spline(x=x, y=y, curve='monotone-x', **line_style),
+    g.spline(x=x, y=y, curve='monotone-y', **line_style),
+    g.spline(x=x, y=y, curve='natural', **line_style),
+    g.spline(x=x, y=y, curve='step', **line_style),
+    g.spline(x=x, y=y, curve='step-after', **line_style),
+    g.spline(x=x, y=y, curve='step-before', **line_style),
+    # Areas
+    g.spline(x=x, y=y, y0=y0, **area_style),  # same as curve='linear'
+    g.spline(x=x, y=y, y0=y0, curve='basis', **area_style),
+    g.spline(x=x, y=y, y0=[], curve='basis', **area_style),
+    g.spline(x=x, y=y, y0=y0, curve='basis-open', **area_style),
+    g.spline(x=x, y=y, y0=y0, curve='cardinal', **area_style),
+    g.spline(x=x, y=y, y0=[], curve='cardinal', **area_style),
+    g.spline(x=x, y=y, y0=y0, curve='cardinal-open', **area_style),
+    g.spline(x=x, y=y, y0=y0, curve='smooth', **area_style),
+    g.spline(x=x, y=y, y0=[], curve='smooth', **area_style),
+    g.spline(x=x, y=y, y0=y0, curve='smooth-open', **area_style),
+    g.spline(x=x, y=y, y0=y0, curve='linear', **area_style),
+    g.spline(x=x, y=y, y0=[], curve='linear', **area_style),
+    g.spline(x=x, y=y, y0=y0, curve='monotone-x', **area_style),
+    g.spline(x=x, y=y, y0=y0, curve='monotone-y', **area_style),
+    g.spline(x=x, y=y, y0=y0, curve='natural', **area_style),
+    g.spline(x=x, y=y, y0=y0, curve='step', **area_style),
+    g.spline(x=x, y=y, y0=y0, curve='step-after', **area_style),
+    g.spline(x=x, y=y, y0=y0, curve='step-before', **area_style),
+]
+
+page = site['/demo']
+row, col = 1, 1
+for spline in splines:
+    page[f'spline_{col}_{row}'] = ui.graphics_card(
+        box=f'{col} {row} 3 1', view_box='0 0 1000 150', width='100%', height='100%',
+        stage=g.stage(
+            text=g.text(text=spline.curve or '', y=40, font_size=40),
+            spline=spline,
+        ),
+    )
+    col += 3
+    if col > 11:
+        row, col = row + 1, 1
+
+page.save()
diff --git a/examples/graphics_turtle.py b/examples/graphics_turtle.py
new file mode 100644
index 0000000000000000000000000000000000000000..5e304f5761da146837645d0517fd9d3c083d16ca
--- /dev/null
+++ b/examples/graphics_turtle.py
@@ -0,0 +1,18 @@
+# Graphics / Turtle
+# Use turtle #graphics to draw paths.
+# Original example: https://docs.python.org/3/library/turtle.html
+# ---
+from h2o_wave import site, ui, graphics as g
+
+t = g.turtle().f(100).r(90).pd()
+for _ in range(36):
+    t.f(200).l(170)
+spirograph = t.pu(1).path(stroke='red', fill='yellow')
+
+page = site['/demo']
+page['example'] = ui.graphics_card(
+    box='1 1 2 3', view_box='0 0 220 220', width='100%', height='100%',
+    scene=g.scene(foo=spirograph),
+)
+
+page.save()
diff --git a/examples/grid.py b/examples/grid.py
new file mode 100644
index 0000000000000000000000000000000000000000..19e773df9867c6dbc6984a4865540da2c0b4fe8b
--- /dev/null
+++ b/examples/grid.py
@@ -0,0 +1,29 @@
+# Grid
+# Use a #grid card to lay out multiple child cards in table form.
+# ---
+import random
+
+from faker import Faker
+
+from h2o_wave import site, ui, pack, data
+
+fake = Faker()
+
+page = site['/demo']
+
+c = page.add('example', ui.grid_card(
+    box='1 1 3 4',
+    title='Currency Trades',
+    cells=pack([
+        dict(title='Currency', value='=currency'),
+        dict(title='Trades',
+             view='list_item1',
+             props=dict(title='=code', caption='1 hour ago', value='=trades', aux_value='=returns')),
+    ]),
+    data=data('currency code trades returns', -15),
+))
+c.data = [
+    [fake.cryptocurrency_name(), fake.cryptocurrency_code(), random.randint(100, 1000), random.randint(10, 100)] for
+    _ in range(15)]
+
+page.save()
diff --git a/examples/hash_routing.py b/examples/hash_routing.py
new file mode 100644
index 0000000000000000000000000000000000000000..4fa6d79ebc145c6a014586b1e0e7a89b9215c5e4
--- /dev/null
+++ b/examples/hash_routing.py
@@ -0,0 +1,39 @@
+# Routing / Hash
+# Use the browser's [location hash](https://developer.mozilla.org/en-US/docs/Web/API/Location/hash)
+# for #routing using URLs.
+#
+# The location hash can be accessed using `q.args['#']`.
+# #location_hash
+# ---
+from h2o_wave import main, app, Q, ui
+
+
+@app('/demo')
+async def serve(q: Q):
+    if not q.client.initialized:
+        q.client.initialized = True
+        q.page['nav'] = ui.markdown_card(
+            box='1 1 4 2',
+            title='Links!',
+            content='[Spam](#menu/spam) / [Ham](#menu/ham) / [Eggs](#menu/eggs) / [About](#about)',
+        )
+        q.page['blurb'] = ui.markdown_card(
+            box='1 3 4 2',
+            title='Store',
+            content='Welcome to our store!',
+        )
+
+    hash = q.args['#']
+    blurb = q.page['blurb']
+    if hash == 'menu/spam':
+        blurb.content = "Sorry, we're out of spam!"
+    elif hash == 'menu/ham':
+        blurb.content = "Sorry, we're out of ham!"
+    elif hash == 'menu/eggs':
+        blurb.content = "Sorry, we're out of eggs!"
+    elif hash == 'about':
+        blurb.content = 'Everything here is gluten-free!'
+    else:
+        blurb.content = 'Welcome to our store!'
+
+    await q.page.save()
diff --git a/examples/hash_routing_parameters.py b/examples/hash_routing_parameters.py
new file mode 100644
index 0000000000000000000000000000000000000000..c2329d1522623d956e6f1480ce26ceed075255e9
--- /dev/null
+++ b/examples/hash_routing_parameters.py
@@ -0,0 +1,67 @@
+# Routing / Hash / Parameters
+# Use the browser's [location hash](https://developer.mozilla.org/en-US/docs/Web/API/Location/hash)
+# for #routing using URLs, with parameters.
+# ---
+from h2o_wave import main, app, Q, ui, on, handle_on
+
+air_passengers_fields = ['Year', 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun']
+air_passengers_rows = [
+    ['1949', '112', '118', '132', '129', '121', '135'],
+    ['1950', '115', '126', '141', '135', '125', '149'],
+    ['1951', '145', '150', '178', '163', '172', '178'],
+    ['1952', '171', '180', '193', '181', '183', '218'],
+    ['1953', '196', '196', '236', '235', '229', '243'],
+    ['1954', '204', '188', '235', '227', '234', '264'],
+    ['1955', '242', '233', '267', '269', '270', '315'],
+    ['1956', '284', '277', '317', '313', '318', '374'],
+    ['1957', '315', '301', '356', '348', '355', '422'],
+    ['1958', '340', '318', '362', '348', '363', '435'],
+    ['1959', '360', '342', '406', '396', '420', '472'],
+    ['1960', '417', '391', '419', '461', '472', '535'],
+]
+
+
+def make_markdown_row(values):
+    return f"| {' | '.join([str(x) for x in values])} |"
+
+
+def make_markdown_table(fields, rows):
+    return '\n'.join([
+        make_markdown_row(fields),
+        make_markdown_row('-' * len(fields)),
+        '\n'.join([make_markdown_row(row) for row in rows]),
+    ])
+
+
+def add_links_to_cells(rows):
+    return [[f'[{cell}](#row{i + 1}/col{j + 1})' for j, cell in enumerate(row)] for i, row in enumerate(rows)]
+
+
+@on('#row{row:int}/col{col:int}')
+async def print_clicked_cell(q: Q, row: int, col: int):
+    q.page['message'].content = f'You clicked on row {row}, column {col}!'
+
+
+@app('/demo')
+async def serve(q: Q):
+    if not q.client.initialized:
+        q.client.initialized = True
+        q.page['table'] = ui.form_card(
+            box='1 1 4 7',
+            items=[
+                ui.text_l('Airline Passenger Counts'),
+                ui.text(make_markdown_table(
+                    fields=air_passengers_fields,
+                    rows=add_links_to_cells(air_passengers_rows),
+                )),
+            ],
+        )
+        q.page['message'] = ui.markdown_card(
+            box='1 8 4 1',
+            title='',
+            content='Click on a cell in the table above!',
+        )
+
+    await handle_on(q)
+
+    await q.page.save()
diff --git a/examples/header.py b/examples/header.py
new file mode 100644
index 0000000000000000000000000000000000000000..c8fa21499e6854230ae6a6c5290f1fa0fea97e19
--- /dev/null
+++ b/examples/header.py
@@ -0,0 +1,64 @@
+# Header
+# Use a header card to display a page #header.
+# ---
+from h2o_wave import site, ui
+
+image = 'https://images.pexels.com/photos/220453/pexels-photo-220453.jpeg?auto=compress&h=750&w=1260'
+commands = [
+    ui.command(name='profile', label='Profile', icon='Contact'),
+    ui.command(name='preferences', label='Preferences', icon='Settings'),
+    ui.command(name='logout', label='Logout', icon='SignOut'),
+]
+page = site['/demo']
+page['header1'] = ui.header_card(
+    box='1 1 9 1',
+    title='Transparent header',
+    subtitle='And now for something completely different!',
+    image='https://wave.h2o.ai/img/h2o-logo.svg',
+    items=[
+        ui.button(name='btn1', label='Button 1'),
+        ui.button(name='btn2', label='Button 2'),
+        ui.button(name='btn3', label='Button 3'),
+    ],
+    secondary_items=[ui.textbox(name='search', icon='Search', width='300px', placeholder='Search...')],
+    color='transparent'
+)
+page['header2'] = ui.header_card(
+    box='1 2 9 1',
+    title='Card color header',
+    subtitle='And now for something completely different!',
+    items=[ui.menu(image=image, items=commands)],
+    secondary_items=[
+        ui.button(name='btn1', label='Link 1', link=True),
+        ui.button(name='btn2', label='Link 2', link=True),
+        ui.button(name='btn3', label='Link 3', link=True),
+    ],
+    nav=[
+        ui.nav_group('Menu', items=[
+            ui.nav_item(name='#menu/spam', label='Spam'),
+            ui.nav_item(name='#menu/ham', label='Ham'),
+            ui.nav_item(name='#menu/eggs', label='Eggs'),
+        ]),
+        ui.nav_group('Help', items=[
+            ui.nav_item(name='#about', label='About'),
+            ui.nav_item(name='#support', label='Support'),
+        ])
+    ],
+    color='card',
+)
+page['header3'] = ui.header_card(
+    box='1 3 9 1',
+    title='Primary color header',
+    subtitle='And now for something completely different!',
+    icon='Cycling',
+    icon_color='$card',
+    items=[ui.menu(icon='Add', items=commands)],
+    secondary_items=[
+        ui.tabs(name='menu', value='email', link=True, items=[
+            ui.tab(name='email', label='Mail', icon='Mail'),
+            ui.tab(name='events', label='Events', icon='Calendar'),
+            ui.tab(name='spam', label='Spam', icon='Heart'),
+        ]),
+    ]
+)
+page.save()
diff --git a/examples/hello_world.py b/examples/hello_world.py
new file mode 100644
index 0000000000000000000000000000000000000000..c63d89eccdb230d0e87bd71626c5ad76f2c885a3
--- /dev/null
+++ b/examples/hello_world.py
@@ -0,0 +1,21 @@
+# Hello World!
+# A simple example to get you started with Wave.
+# #hello_world
+# ---
+# Import `Site` and the `ui` module from the `h2o_wave` package
+from h2o_wave import site, ui
+
+# Get the web page at route '/demo'.
+# If you're running this example on your local machine,
+# this page will refer to http://localhost:10101/demo.
+page = site['/demo']
+
+# Add a Markdown card named `hello` to the page.
+page['hello'] = ui.markdown_card(
+    box='1 1 2 2',
+    title='Hello World!',
+    content='And now for something completely different!',
+)
+
+# Finally, sync the page to send our changes to the server.
+page.save()
diff --git a/examples/http_client.py b/examples/http_client.py
new file mode 100644
index 0000000000000000000000000000000000000000..c590107de8620e4d3e083697b62064c9d816bd17
--- /dev/null
+++ b/examples/http_client.py
@@ -0,0 +1,26 @@
+# HTTP / Client
+# Use any http client to communicate with RESTful APIs.
+# #http
+# ---
+from h2o_wave import main, app, Q, ui
+import httpx
+
+
+@app('/demo')
+async def serve(q: Q):
+    if not q.client.initialized:
+        q.page['form'] = ui.form_card(box='1 1 4 6', items=[
+            ui.buttons([
+                ui.button(name='clear', label='Clear'),
+                ui.button(name='download', label='Download', primary=True)
+            ]),
+            ui.text_m(name='text', content='No data yet.'),
+        ])
+        q.client.initialized = True
+    if q.args.download:
+        response = httpx.get('https://jsonplaceholder.typicode.com/posts/1')
+        q.page['form'].text.content = response.text
+    if q.args.clear:
+        q.page['form'].text.content = 'No data yet.'
+
+    await q.page.save()
diff --git a/examples/image.py b/examples/image.py
new file mode 100644
index 0000000000000000000000000000000000000000..5d3d6177af5e3b5c0fd4b86fba0a2e7b68ed9ee3
--- /dev/null
+++ b/examples/image.py
@@ -0,0 +1,59 @@
+# Image
+# Use an image card to display an image by specifying its URL or a data URL in case of the base64-encoded #image.
+# ---
+from h2o_wave import site, ui
+import io
+import base64
+import numpy as np
+import matplotlib.pyplot as plt
+
+n = 25
+plt.figure(figsize=(3, 3))
+plt.scatter(
+    [0.7003673, 0.74275081, 0.70928001, 0.56674552, 0.97778533, 0.70633485,
+     0.24791576, 0.15788335, 0.69769852, 0.71995667, 0.25774443, 0.34154678,
+     0.96876117, 0.6945071, 0.46638326, 0.7028127, 0.51178587, 0.92874137,
+     0.7397693, 0.62243903, 0.65154547, 0.39680761, 0.54323939, 0.79989953,
+     0.72154473],
+    [0.29536398, 0.16094588, 0.20612551, 0.13432539, 0.48060502, 0.34252181,
+     0.36296929, 0.97291764, 0.11094361, 0.38826409, 0.78306588, 0.97289726,
+     0.48320961, 0.33642111, 0.56741904, 0.04794151, 0.38893703, 0.90630365,
+     0.16101821, 0.74362113, 0.63297416, 0.32418002, 0.92237653, 0.23722644,
+     0.82394557],
+    s=(30 * np.asarray([
+        0.75060714, 0.11378445, 0.84536125, 0.92393213, 0.22083679, 0.93305388,
+        0.48899874, 0.47471864, 0.08916747, 0.22994818, 0.71593741, 0.49612616,
+        0.76648938, 0.89679732, 0.77222302, 0.92717429, 0.61465203, 0.60906377,
+        0.68468487, 0.25101297, 0.83783764, 0.11861562, 0.79723474, 0.94900427,
+        0.14806288])) ** 2,
+    c=[0.90687198, 0.78837333, 0.76840584, 0.59849648, 0.44214562, 0.72303802,
+       0.41661825, 0.2268104, 0.45422734, 0.84794375, 0.93665595, 0.95603618,
+       0.39209432, 0.70832467, 0.12951583, 0.35379639, 0.40427152, 0.6485339,
+       0.03307097, 0.53800936, 0.13171312, 0.52093493, 0.10248479, 0.15798038,
+       0.92002965],
+    alpha=0.5,
+)
+
+buf = io.BytesIO()
+plt.savefig(buf, format='png')
+buf.seek(0)
+image = base64.b64encode(buf.read()).decode('utf-8')
+
+page = site['/demo']
+page['example1'] = ui.image_card(
+    box='1 1 2 4',
+    title='An image',
+    type='png',
+    image=image,
+)
+
+# Another way to achieve the same result is to use a data URL for the path:
+# The example below constructs the data URL from the base64-encoded
+#   used in the previous example.
+page['example2'] = ui.image_card(
+    box='3 1 2 4',
+    title='An image',
+    path=f"data:image/png;base64,{image}",
+)
+
+page.save()
\ No newline at end of file
diff --git a/examples/image_annotator.py b/examples/image_annotator.py
new file mode 100644
index 0000000000000000000000000000000000000000..1401961d34a697080b2f13d5593e25c4299be1a1
--- /dev/null
+++ b/examples/image_annotator.py
@@ -0,0 +1,39 @@
+# Form / Image Annotator
+# Use when you need to annotate images.
+# #form #annotator #image
+# ---
+from h2o_wave import main, app, Q, ui
+
+
+@app('/demo')
+async def serve(q: Q):
+    if q.args.annotator is not None:
+        q.page['example'].items = [
+            ui.text(f'annotator={q.args.annotator}'),
+            ui.button(name='back', label='Back', primary=True),
+        ]
+    else:
+        q.page['example'] = ui.form_card(box='1 1 5 8', items=[
+            ui.image_annotator(
+                name='annotator',
+                title='Drag to annotate',
+                image='https://images.unsplash.com/photo-1535082623926-b39352a03fb7?auto=compress&cs=tinysrgb&w=1260&h=750&q=80',
+                image_height='450px',
+                tags=[
+                    ui.image_annotator_tag(name='v', label='Vehicle', color='$cyan'),
+                    ui.image_annotator_tag(name='a', label='Animal', color='$blue'),
+                ],
+                items=[
+                    ui.image_annotator_item(shape=ui.image_annotator_rect(x1=657, y1=273, x2=848, y2=440), tag='v'),
+                    ui.image_annotator_item(tag='a', shape=ui.image_annotator_polygon([
+                        ui.image_annotator_point(x=327, y=687),
+                        ui.image_annotator_point(x=397, y=498),
+                        ui.image_annotator_point(x=547, y=450),
+                        ui.image_annotator_point(x=705, y=517),
+                        ui.image_annotator_point(x=653, y=692)
+                    ])),
+                ],
+            ),
+            ui.button(name='submit', label='Submit', primary=True)
+        ])
+    await q.page.save()
diff --git a/examples/image_popup.py b/examples/image_popup.py
new file mode 100644
index 0000000000000000000000000000000000000000..847446606acd46b9d18fa9c36b0b13029415a32a
--- /dev/null
+++ b/examples/image_popup.py
@@ -0,0 +1,14 @@
+# Image / Popup
+# Display a popup with the large image after clicking on the #image. It's recommended to use a smaller image for `path` and larger (higher quality) image for the `path_popup`.
+# ---
+from h2o_wave import site, ui
+
+page = site['/demo']
+page['example'] = ui.image_card(
+    box='1 1 3 4',
+    title='Image popup',
+    path='https://via.placeholder.com/600x400', 
+    path_popup='https://via.placeholder.com/1200x800'
+)
+
+page.save()
\ No newline at end of file
diff --git a/examples/inline.py b/examples/inline.py
new file mode 100644
index 0000000000000000000000000000000000000000..c20ee648415c4bc6dbdbe985387abe444873d8d0
--- /dev/null
+++ b/examples/inline.py
@@ -0,0 +1,57 @@
+# Inline
+# Create an inline (horizontal) list of components.
+# ---
+
+from h2o_wave import main, app, Q, ui
+
+all_justify = ['start', 'end', 'center', 'between', 'around']
+all_align = ['start', 'end', 'center']
+
+justify_choices = [ui.choice(opt, opt) for opt in all_justify]
+align_choices = [ui.choice(opt, opt) for opt in all_align]
+
+
+@app('/demo')
+async def serve(q: Q):
+    justify = q.args.justify if q.args.justify else 'start'
+    align = q.args.align if q.args.align else 'center'
+
+    q.page['example'] = ui.form_card(box='1 1 -1 3', items=[
+        ui.inline([
+            ui.choice_group(name='justify', label='justify', value=justify, choices=justify_choices, trigger=True),
+            ui.choice_group(name='align', label='align', value=align, choices=align_choices, trigger=True),
+        ], justify=justify, align=align)
+    ])
+    q.page['example2'] = ui.form_card(box='1 4 -1 3', items=[
+        ui.text_xl('Header'),
+        ui.inline(
+            height='1',
+            justify='around',
+            align='center',
+            items=[
+                ui.inline(
+                    direction='column',
+                    items=[
+                        ui.text_l(content='Sub title 1'),
+                        ui.text(content='Lorem ipsum dolor sit amet'),
+                    ]
+                ),
+                ui.inline(
+                    direction='column',
+                    items=[
+                        ui.text_l(content='Sub title 2'),
+                        ui.text(content='Lorem ipsum dolor sit amet'),
+                    ]
+                ),
+                ui.inline(
+                    direction='column',
+                    items=[
+                        ui.text_l(content='Sub title 3'),
+                        ui.text(content='Lorem ipsum dolor sit amet'),
+                    ]
+                ),
+            ]
+        ),
+        ui.text('Footer'),
+    ])
+    await q.page.save()
diff --git a/examples/issue_tracker.py b/examples/issue_tracker.py
new file mode 100644
index 0000000000000000000000000000000000000000..21c5703bdab628daba511f2da71eef91dc3e058c
--- /dev/null
+++ b/examples/issue_tracker.py
@@ -0,0 +1,138 @@
+# Issue Tracker
+# Implement a simple issue tracker using a #table to create master-detail views.
+# ---
+from h2o_wave import main, app, Q, ui
+from faker import Faker
+
+fake = Faker()
+
+_id = 0
+
+
+class Issue:
+    def __init__(self, text: str, status: str):
+        global _id
+        _id += 1
+        self.id = f'I{_id}'
+        self.text = text
+        self.status = status
+        self.views = 0
+
+
+# Create some issues
+issues = [Issue(text=fake.sentence(), status='Open') for i in range(12)]
+
+# Build a lookup of issues for convenience
+issue_lookup = {issue.id: issue for issue in issues}
+
+# Create columns for our issue table.
+columns = [
+    ui.table_column(name='text', label='Issue'),
+    ui.table_column(name='status', label='Status'),
+    ui.table_column(name='views', label='Views'),
+]
+
+
+def make_issue_table(allow_multiple_selection=False):
+    return ui.table(
+        name='issues',
+        columns=columns,
+        rows=[ui.table_row(name=issue.id, cells=[issue.text, issue.status, str(issue.views)]) for issue in issues],
+        multiple=allow_multiple_selection
+    )
+
+
+async def edit_multiple(q: Q):
+    q.page['form'] = ui.form_card(
+        box='1 1 6 7',
+        items=[
+            make_issue_table(allow_multiple_selection=True),  # This time, allow multiple selections
+            ui.buttons([
+                ui.button(name='reopen_issues', label='Reopen Selected', primary=True),
+                ui.button(name='close_issues', label='Close Selected', primary=True),
+                ui.button(name='back', label='Back to safety')
+            ]),
+        ]
+    )
+    await q.page.save()
+
+
+async def show_issues(q: Q):
+    q.page['form'] = ui.form_card(
+        box='1 1 4 7',
+        items=[
+            make_issue_table(),
+            ui.buttons([ui.button(name='edit_multiple', label='Edit Multiple...', primary=True)]),
+        ]
+    )
+    await q.page.save()
+
+
+async def show_issue(q: Q, issue_id: str):
+    issue = issue_lookup[issue_id]
+    issue.views += 1
+
+    q.client.active_issue_id = issue_id
+
+    q.page['form'] = ui.form_card(
+        box='1 1 4 4',
+        items=[
+            ui.text_xl(f'Issue {issue.id}'),
+            ui.text(issue.text),
+            ui.text_xs(f'({issue.views} views)'),
+            ui.buttons([
+                ui.button(
+                    name='close_issue' if issue.status == 'Open' else 'reopen_issue',
+                    label="Close Issue" if issue.status == 'Open' else "Reopen Issue",
+                    primary=True,
+                ),
+                ui.button(name='back', label='Back'),
+            ]),
+        ]
+    )
+
+    await q.page.save()
+
+
+async def close_issue(q: Q):
+    issue = issue_lookup[q.client.active_issue_id]
+    issue.status = 'Closed'
+    await show_issues(q)
+
+
+async def close_issues(q: Q):
+    for issue_id in q.args.issues:
+        issue = issue_lookup[issue_id]
+        issue.status = 'Closed'
+    await show_issues(q)
+
+
+async def reopen_issue(q: Q):
+    issue = issue_lookup[q.client.active_issue_id]
+    issue.status = 'Open'
+    await show_issues(q)
+
+
+async def reopen_issues(q: Q):
+    for issue_id in q.args.issues:
+        issue = issue_lookup[issue_id]
+        issue.status = 'Open'
+    await show_issues(q)
+
+
+@app('/demo')
+async def serve(q: Q):
+    if q.args.edit_multiple:
+        await edit_multiple(q)
+    elif q.args.reopen_issues:
+        await reopen_issues(q)
+    elif q.args.close_issues:
+        await close_issues(q)
+    elif q.args.reopen_issue:
+        await reopen_issue(q)
+    elif q.args.close_issue:
+        await close_issue(q)
+    elif q.args.issues:  # An issue was clicked on
+        await show_issue(q, q.args.issues[0])
+    else:
+        await show_issues(q)
diff --git a/examples/label.py b/examples/label.py
new file mode 100644
index 0000000000000000000000000000000000000000..77e80ce46f3c1a54916e974b79dc0eed57270982
--- /dev/null
+++ b/examples/label.py
@@ -0,0 +1,17 @@
+# Form / Label
+# Use labels to give a name to a component or a group of components in a #form.
+# #label
+# ---
+from h2o_wave import site, ui
+
+page = site['/demo']
+
+page['example'] = ui.form_card(
+    box='1 1 4 7',
+    items=[
+        ui.label(label='Standard Label'),
+        ui.label(label='Required Label', required=True),
+        ui.label(label='Disabled Label', disabled=True),
+    ]
+)
+page.save()
diff --git a/examples/layout.py b/examples/layout.py
new file mode 100644
index 0000000000000000000000000000000000000000..32db46267ed8267fa23be4f570d81bd26af95b37
--- /dev/null
+++ b/examples/layout.py
@@ -0,0 +1,30 @@
+# Layout / Position
+# How to adjust the position of cards on a page.
+# #layout
+# ---
+
+from h2o_wave import site, ui
+
+# Every page has a grid system in place.
+# The grid has 12 columns and 10 rows.
+# A column is 134 pixels wide.
+# A row is 76 pixels high.
+# The gap between rows and columns is set to 15 pixels.
+
+# Cards have a `box` attribute that specifies its column, row, width and height.
+# box = 'column row width height'
+# They indicate the 1-based column/row to position the top-left corner of the card.
+
+# In this example, we place a 1x1 card in each column/row on a page
+# to demonstrate their column/row values.
+
+page = site['/demo']
+columns = 12
+rows = 10
+
+for column in range(1, columns + 1):
+    for row in range(1, rows + 1):
+        box = f'{column} {row} 1 1'
+        page[f'card_{column}_{row}'] = ui.markdown_card(box=box, title=box, content='')
+
+page.save()
diff --git a/examples/layout_responsive.py b/examples/layout_responsive.py
new file mode 100644
index 0000000000000000000000000000000000000000..b97e0f0becb57c79d05a5bd9e1d24bffdd4e081d
--- /dev/null
+++ b/examples/layout_responsive.py
@@ -0,0 +1,127 @@
+# Layout / Responsive
+# How to create a #responsive #layout.
+# ---
+from h2o_wave import site, ui
+
+page = site['/demo']
+page.drop()
+
+content = '![Wave University](https://raw.githubusercontent.com/h2oai/wave/master/assets/brand/wave-university-wide.png)'
+
+# The meta card's 'zones' attribute defines placeholder zones to lay out cards for different viewport sizes.
+# We define three layout schemes here.
+page['meta'] = ui.meta_card(box='', layouts=[
+    ui.layout(
+        # If the viewport width >= 0:
+        breakpoint='xs',
+        zones=[
+            # 80px high header
+            ui.zone('header', size='80px'),
+            # Use remaining space for content
+            ui.zone('content')
+        ]
+    ),
+    ui.layout(
+        # If the viewport width >= 768:
+        breakpoint='m',
+        zones=[
+            # 80px high header
+            ui.zone('header', size='80px'),
+            # Use remaining space for body
+            ui.zone('body', direction=ui.ZoneDirection.ROW, zones=[
+                # 250px wide sidebar
+                ui.zone('sidebar', size='250px'),
+                # Use remaining space for content
+                ui.zone('content'),
+            ]),
+            ui.zone('footer'),
+        ]
+    ),
+    ui.layout(
+        # If the viewport width >= 1200:
+        breakpoint='xl',
+        width='1200px',
+        zones=[
+            # 80px high header
+            ui.zone('header', size='80px'),
+            # Use remaining space for body
+            ui.zone('body', direction=ui.ZoneDirection.ROW, zones=[
+                # 300px wide sidebar
+                ui.zone('sidebar', size='300px'),
+                # Use remaining space for other widgets
+                ui.zone('other', zones=[
+                    # Use one half for charts
+                    ui.zone('charts', direction=ui.ZoneDirection.ROW),
+                    # Use other half for content
+                    ui.zone('content'),
+                ]),
+            ]),
+            ui.zone('footer'),
+        ]
+    )
+])
+
+page['header'] = ui.header_card(
+    # Place card in the header zone, regardless of viewport size.
+    box='header',
+    title='Lorem Ipsum',
+    subtitle='Excepteur sint occaecat cupidatat',
+    nav=[
+        ui.nav_group('Menu', items=[
+            ui.nav_item(name='#menu/spam', label='Spam'),
+            ui.nav_item(name='#menu/ham', label='Ham'),
+            ui.nav_item(name='#menu/eggs', label='Eggs'),
+        ]),
+        ui.nav_group('Help', items=[
+            ui.nav_item(name='#about', label='About'),
+            ui.nav_item(name='#support', label='Support'),
+        ])
+    ],
+)
+page['controls'] = ui.markdown_card(
+    # If the viewport width >= 0, place in content zone.
+    # If the viewport width >= 768, place in sidebar zone.
+    # If the viewport width >= 1200, place in sidebar zone.
+    box=ui.boxes('content', 'sidebar', 'sidebar'),
+    title='Controls',
+    content=content,
+)
+page['chart1'] = ui.markdown_card(
+    box=ui.boxes(
+        # If the viewport width >= 0, place as second item in content zone.
+        ui.box(zone='content', order=2),
+        # If the viewport width >= 768, place in content zone.
+        'content',
+        # If the viewport width >= 1200, place as first item in charts zone, use 2 parts of available space.
+        ui.box(zone='charts', order=1, size=2),
+    ),
+    title='Chart 1',
+    content=content,
+)
+page['chart2'] = ui.markdown_card(
+    box=ui.boxes(
+        # If the viewport width >= 0, place as third item in content zone.
+        ui.box(zone='content', order=3),
+        # If the viewport width >= 768, place as second item in content zone.
+        ui.box(zone='content', order=2),
+        # If the viewport width >= 1200, place as second item in charts zone, use 1 part of available space.
+        ui.box(zone='charts', order=2, size=1),
+    ),
+    title='Chart 2',
+    content=content,
+)
+page['content'] = ui.markdown_card(
+    box=ui.boxes(
+        # If the viewport width >= 0, place as fourth item in content zone.
+        ui.box(zone='content', order=4),
+        # If the viewport width >= 768, place as third item in content zone.
+        ui.box(zone='content', order=3),
+        # If the viewport width >= 1200, place in content zone.
+        'content',
+    ),
+    title='Content',
+    content=content,
+)
+page['footer'] = ui.footer_card(box='footer', caption='(c) 2020 Lowest Common Denominator, Inc. ')
+
+page.save()
diff --git a/examples/layout_size.py b/examples/layout_size.py
new file mode 100644
index 0000000000000000000000000000000000000000..75acd8e0c570091e45330eee50008631521f627f
--- /dev/null
+++ b/examples/layout_size.py
@@ -0,0 +1,39 @@
+# Layout / Size
+# How to adjust the size of cards on a page. #layout
+# ---
+
+from h2o_wave import site, ui
+
+# Every page has a grid system in place.
+# The grid has 12 columns and 10 rows.
+# A column is 134 pixels wide.
+# A row is 76 pixels high.
+# The gap between rows and columns is set to 15 pixels.
+
+# Cards have a `box` attribute that specifies its column, row, width and height.
+# box = 'column row width height'
+# They indicate the 1-based column/row to position the top-left corner of the card.
+
+# In this example, we place multiple cards on a page to demonstrate their `box` values.
+
+page = site['/demo']
+boxes = [
+    '1 1 1 1',
+    '2 1 2 1',
+    '4 1 3 1',
+    '7 1 4 1',
+    '11 1 2 2',
+    '1 2 1 9',
+    '2 2 1 4',
+    '3 2 1 2',
+    '2 6 1 5',
+    '3 4 1 7',
+    '4 2 7 9',
+    '11 9 2 2',
+    '11 3 2 6',
+]
+
+for box in boxes:
+    page[f'card_{box.replace(" ", "_")}'] = ui.markdown_card(box=box, title=box, content='')
+
+page.save()
diff --git a/examples/link.py b/examples/link.py
new file mode 100644
index 0000000000000000000000000000000000000000..6f3b3bdb5b2ecc1017fd5de96503d23b29bfd00a
--- /dev/null
+++ b/examples/link.py
@@ -0,0 +1,23 @@
+# Form / Link
+# Use link to allow #navigation to internal and external URLs.
+# #form #link
+# ---
+from h2o_wave import site, ui
+
+page = site['/demo']
+
+page['example'] = ui.form_card(
+    box='1 1 4 7',
+    items=[
+        ui.link(label='Internal link', path='starred'),
+        ui.link(label='Internal link, new tab', path='starred', target=''),
+        ui.link(label='Internal link, new tab', path='starred', target='_blank'),  # same as target=''
+        ui.link(label='Internal link, disabled', path='starred', disabled=True),
+        ui.link(label='External link', path='https://h2o.ai'),
+        ui.link(label='External link, new tab', path='https://h2o.ai', target=''),
+        ui.link(label='External link, new tab', path='https://h2o.ai', target='_blank'),  # same as target=''
+        ui.link(label='External link, disabled', path='https://h2o.ai', disabled=True),
+        ui.link(label='Download link', path='http://localhost:10101/assets/brand/h2o-wave-b&w.png', download=True),
+    ]
+)
+page.save()
diff --git a/examples/links.py b/examples/links.py
new file mode 100644
index 0000000000000000000000000000000000000000..e3f23cc20570c397ce88563b76cbc97e7fb36e51
--- /dev/null
+++ b/examples/links.py
@@ -0,0 +1,26 @@
+# Form / Links
+# Use links to allow #navigation to multiple internal and external URLs.
+# #form #link
+# ---
+from h2o_wave import site, ui
+
+page = site['/demo']
+
+page['example'] = ui.form_card(
+    box='1 1 3 3',
+    items=[
+        ui.text_l(content='**Vertical set of links with a label**'),
+        ui.links(label='Second Column', items=[
+            ui.link(label='Sample link', path='https://www.h2o.ai/', target='_blank'),
+            ui.link(label='Sample link', path='https://www.h2o.ai/', target='_blank'),
+            ui.link(label='Sample link', path='https://www.h2o.ai/', target='_blank'),
+        ]),
+        ui.text_l(content='**Horizontal set of links**'),
+        ui.links(inline=True, items=[
+            ui.link(label='Sample link', path='https://www.h2o.ai/', target='_blank'),
+            ui.link(label='Sample link', path='https://www.h2o.ai/', target='_blank'),
+            ui.link(label='Sample link', path='https://www.h2o.ai/', target='_blank'),
+        ]),
+    ]
+)
+page.save()
diff --git a/examples/list.py b/examples/list.py
new file mode 100644
index 0000000000000000000000000000000000000000..6530d38a62ff820026f6ad394b3592dbb0d31f22
--- /dev/null
+++ b/examples/list.py
@@ -0,0 +1,24 @@
+# Lists
+# Use list cards to lay out multiple child cards in the form of a #list.
+# ---
+import random
+
+from faker import Faker
+
+from h2o_wave import site, ui, pack, data
+
+fake = Faker()
+
+page = site['/demo']
+
+c = page.add('example', ui.list_card(
+    box='1 1 2 4',
+    item_view='list_item1',
+    item_props=pack(dict(title='=code', caption='=currency', value='=trades', aux_value='=returns')),
+    title='Exchange Rates',
+    data=data('currency code trades returns', -15),
+))
+c.data = [[fake.cryptocurrency_name(), fake.cryptocurrency_code(), random.randint(100, 1000), random.randint(10, 100)]
+          for _ in range(15)]
+
+page.save()
diff --git a/examples/markdown.py b/examples/markdown.py
new file mode 100644
index 0000000000000000000000000000000000000000..8ef9b34da15072226cb72f84fee55f3a652a0035
--- /dev/null
+++ b/examples/markdown.py
@@ -0,0 +1,46 @@
+# Markdown
+# Use a markdown card to display formatted content using #markdown.
+# ---
+from h2o_wave import site, ui
+
+page = site['/demo']
+
+sample_markdown = '''=
+The **quick** _brown_ fox jumped over the lazy dog.
+
+Block quote:
+
+> The quick brown fox jumped over the lazy dog.
+
+Unordered list:
+
+- The quick brown fox jumped over the lazy dog.
+- The quick brown fox jumped over the lazy dog.
+- The quick brown fox jumped over the lazy dog.
+
+Ordered list:
+
+1. The quick brown fox jumped over the lazy dog.
+1. The quick brown fox jumped over the lazy dog.
+1. The quick brown fox jumped over the lazy dog.
+
+Image:
+
+![Monty Python](https://upload.wikimedia.org/wikipedia/en/c/cb/Flyingcircus_2.jpg)
+
+Table:
+
+| Column 1 | Column 2 | Column 3 |
+| -------- | -------- | -------- |
+| Item 1   | Item 2   | Item 3   |
+| Item 1   | Item 2   | Item 3   |
+| Item 1   | Item 2   | Item 3   |
+
+'''
+
+page['example'] = ui.markdown_card(
+    box='1 1 3 10',
+    title='I was made using markdown!',
+    content=sample_markdown,
+)
+page.save()
diff --git a/examples/markdown_data.py b/examples/markdown_data.py
new file mode 100644
index 0000000000000000000000000000000000000000..e60e2ce580f06afca4b64756018f6362e7aad0e0
--- /dev/null
+++ b/examples/markdown_data.py
@@ -0,0 +1,28 @@
+# Markdown / Data
+# Display dynamic formatted content using #markdown.
+# ---
+import time
+from h2o_wave import site, ui
+
+page = site['/demo']
+
+beer_verse = '''
+{{before}} bottles of beer on the wall, {{before}} bottles of beer.
+
+Take one down, pass it around, {{after}} bottles of beer on the wall...
+'''
+
+beer_card = page.add('example', ui.markdown_card(
+    box='1 1 4 2',
+    title='99 Bottles of Beer',
+    content='=' + beer_verse,  # Make the verse a template expression by prefixing a '='.
+    data=dict(before='99', after='98'),
+))
+
+page.save()
+
+for i in range(98, 2, -1):
+    time.sleep(1)
+    beer_card.data.before = str(i)
+    beer_card.data.after = str(i - 1)
+    page.save()
diff --git a/examples/markdown_submit_text.py b/examples/markdown_submit_text.py
new file mode 100644
index 0000000000000000000000000000000000000000..d53b016f23a54a4388e59b26fabc76a8987a4753
--- /dev/null
+++ b/examples/markdown_submit_text.py
@@ -0,0 +1,25 @@
+# Markdown / Submit / Text
+# Use "?" to prefix the desired q.args.key that you want to have submitted after clicking a phrase.
+# ---
+
+from h2o_wave import main, app, Q, ui
+
+
+def get_form_items(clicked: str):
+    return [
+        ui.text(content='The quick brown [fox](?fox) jumps over the lazy [dog](?dog)'),
+        ui.text(content=f'Clicked: {clicked}'),
+    ]
+
+
+@app('/demo')
+async def serve(q: Q):
+    if not q.client.initialized:
+        q.page['example'] = ui.form_card(box='1 1 3 2', items=get_form_items('Nothing'))
+        q.client.initialized = True
+
+    if q.args.fox:
+        q.page['example'].items = get_form_items('fox')
+    if q.args.dog:
+        q.page['example'].items = get_form_items('dog')
+    await q.page.save()
diff --git a/examples/markdown_table.py b/examples/markdown_table.py
new file mode 100644
index 0000000000000000000000000000000000000000..3c514b555e7e90bc9a98d9973dc5929ac2df4728
--- /dev/null
+++ b/examples/markdown_table.py
@@ -0,0 +1,47 @@
+# Markdown / Table
+# Display a #table using #markdown. That's different than having a table with Markdown content.
+# ---
+from h2o_wave import site, ui
+
+air_passengers_fields = ['Year', 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun']
+air_passengers_rows = [
+    ['1949', '112', '118', '132', '129', '121', '135'],
+    ['1950', '115', '126', '141', '135', '125', '149'],
+    ['1951', '145', '150', '178', '163', '172', '178'],
+    ['1952', '171', '180', '193', '181', '183', '218'],
+    ['1953', '196', '196', '236', '235', '229', '243'],
+    ['1954', '204', '188', '235', '227', '234', '264'],
+    ['1955', '242', '233', '267', '269', '270', '315'],
+    ['1956', '284', '277', '317', '313', '318', '374'],
+    ['1957', '315', '301', '356', '348', '355', '422'],
+    ['1958', '340', '318', '362', '348', '363', '435'],
+    ['1959', '360', '342', '406', '396', '420', '472'],
+    ['1960', '417', '391', '419', '461', '472', '535'],
+]
+
+
+def make_markdown_row(values):
+    return f"| {' | '.join([str(x) for x in values])} |"
+
+
+def make_markdown_table(fields, rows):
+    return '\n'.join([
+        make_markdown_row(fields),
+        make_markdown_row('-' * len(fields)),
+        '\n'.join([make_markdown_row(row) for row in rows]),
+    ])
+
+
+page = site['/demo']
+
+v = page.add('example', ui.form_card(
+    box='1 1 4 8',
+    items=[
+        ui.text(make_markdown_table(
+            fields=air_passengers_fields,
+            rows=air_passengers_rows,
+        )),
+    ],
+))
+
+page.save()
diff --git a/examples/markup.py b/examples/markup.py
new file mode 100644
index 0000000000000000000000000000000000000000..a8abf591e76842dd3a652ddabc0633146f59ee92
--- /dev/null
+++ b/examples/markup.py
@@ -0,0 +1,21 @@
+# Markup
+# Use a #markup card to display formatted content using #HTML.
+# ---
+from h2o_wave import site, ui
+
+page = site['/demo']
+
+menu = '''
+<ol>
+    <li>Spam</li>
+    <li>Ham</li>
+    <li>Eggs</li>
+</ol>
+'''
+
+page['example'] = ui.markup_card(
+    box='1 1 2 2',
+    title='Menu',
+    content=menu,
+)
+page.save()
diff --git a/examples/menu.py b/examples/menu.py
new file mode 100644
index 0000000000000000000000000000000000000000..6c3847e3c7cbb47c2f59c13ca7d3302f4b553127
--- /dev/null
+++ b/examples/menu.py
@@ -0,0 +1,34 @@
+# Form / Menu
+# Create a contextual menu component. Useful when you have a lot of links and want to conserve the space.
+# #form #menu
+# ---
+from h2o_wave import main, app, Q, ui
+
+image = 'https://images.pexels.com/photos/220453/pexels-photo-220453.jpeg?auto=compress&h=750&w=1260'
+commands = [
+    ui.command(name='profile', label='Profile', icon='Contact'),
+    ui.command(name='preferences', label='Preferences', icon='Settings'),
+    ui.command(name='logout', label='Logout', icon='SignOut'),
+]
+
+
+@app('/demo')
+async def serve(q: Q):
+    if not q.client.initialized:
+        q.page['example'] = ui.form_card(box='1 1 2 3', items=[])
+        q.client.initialized = True
+    if 'profile' in q.args and not q.args.show_form:
+        q.page['example'].items = [
+            ui.text(f'profile={q.args.profile}'),
+            ui.text(f'preferences={q.args.preferences}'),
+            ui.text(f'logout={q.args.logout}'),
+            ui.button(name='show_form', label='Back', primary=True),
+        ]
+    else:
+        q.page['example'].items = [
+            ui.menu(image=image, items=commands),
+            ui.menu(icon='Add', items=commands),
+            ui.menu(label='App', items=commands),
+            ui.menu(items=commands)
+        ]
+    await q.page.save()
diff --git a/examples/message_bar.py b/examples/message_bar.py
new file mode 100644
index 0000000000000000000000000000000000000000..963b025ba9767ad66056b0e3cd97f9cb5898bfe4
--- /dev/null
+++ b/examples/message_bar.py
@@ -0,0 +1,27 @@
+# Form / Message Bar
+# Use message bars to indicate relevant status information.
+# #form #message_bar
+# ---
+from h2o_wave import site, ui
+
+page = site['/demo']
+
+page['example'] = ui.form_card(
+    box='1 1 3 7',
+    items=[
+        ui.message_bar(type='blocked', text='This action is blocked.'),
+        ui.message_bar(type='error', text='This is an error message'),
+        ui.message_bar(type='warning', text='This is a warning message.'),
+        ui.message_bar(type='info', text='This is an information message.'),
+        ui.message_bar(type='success', text='This is a success message.'),
+        ui.message_bar(type='danger', text='This is a danger message.'),
+        ui.message_bar(type='success', text='This is a **MARKDOWN** _message_.'),
+        ui.message_bar(type='success', text='This is an <b>HTML</b> <i>message</i>.'),
+        ui.message_bar(type='info', text='With a button.', buttons=[ui.button(name='btn', label='Button')]),
+        ui.message_bar(type='info', text='With a button as link.',
+                       buttons=[ui.button(name='btn', label='Button', link=True)]),
+        ui.message_bar(type='info', text='With multiline text that should hopefully span at least 2 rows',
+                       buttons=[ui.button(name='btn', label='Button')]),
+    ]
+)
+page.save()
diff --git a/examples/meta_dialog.py b/examples/meta_dialog.py
new file mode 100644
index 0000000000000000000000000000000000000000..298f9afa01e7bf188a126fcd0ee72a30d48aead5
--- /dev/null
+++ b/examples/meta_dialog.py
@@ -0,0 +1,37 @@
+# Meta / Dialog
+# Display a #dialog. #meta
+# ---
+from h2o_wave import main, app, Q, ui
+
+
+@app('/demo')
+async def serve(q: Q):
+    if not q.client.initialized:
+        q.page['meta'] = ui.meta_card(box='')
+        q.page['example'] = ui.form_card(box='1 1 2 1', items=[
+            ui.button(name='show_dialog', label='Order donuts', primary=True)
+        ])
+        q.client.initialized = True
+    else:
+        if q.args.show_dialog:
+            q.page['meta'].dialog = ui.dialog(title='Order Donuts', items=[
+                ui.text('Donuts cost $1.99. Proceed?'),
+                ui.buttons([ui.button(name='next_step', label='Next', primary=True)])
+            ])
+        elif q.args.next_step:
+            q.page['meta'].dialog.items = [
+                ui.text('You will be charged $1.99. Proceed?'),
+                ui.buttons([
+                    ui.button(name='cancel', label='Back to safety'),
+                    ui.button(name='submit', label='Place order', primary=True),
+                ])
+            ]
+        elif q.args.submit:
+            q.page['example'].items = [ui.message_bar('success', 'Order placed!')]
+            q.page['meta'].dialog = None
+
+        elif q.args.cancel:
+            q.page['example'].items = [ui.message_bar('info', 'Order canceled!')]
+            q.page['meta'].dialog = None
+
+    await q.page.save()
diff --git a/examples/meta_dialog_closable.py b/examples/meta_dialog_closable.py
new file mode 100644
index 0000000000000000000000000000000000000000..893f38146c284692057c409a41b749b114842de1
--- /dev/null
+++ b/examples/meta_dialog_closable.py
@@ -0,0 +1,40 @@
+# Meta / Dialog / Closable
+# Display a #dialog having a close button, and detect when it's closed. #meta
+# ---
+from h2o_wave import main, app, Q, ui
+
+
+@app('/demo')
+async def serve(q: Q):
+    if not q.client.initialized:
+        # Create an empty meta_card to hold the dialog
+        q.page['meta'] = ui.meta_card(box='')
+        # Display a button to launch dialog
+        q.page['example'] = ui.form_card(box='1 1 2 1', items=[
+            ui.button(name='show_dialog', label='Open dialog', primary=True)
+        ])
+        q.client.initialized = True
+
+    # Was the show_dialog button clicked?
+    if q.args.show_dialog:
+        # Create a dialog with a close button
+        q.page['meta'].dialog = ui.dialog(
+            title='Hello!',
+            name='my_dialog',
+            items=[
+                ui.text('Click the X button to close this dialog.'),
+            ],
+            # Enable a close button (displayed at the top-right of the dialog)
+            closable=True,
+            # Get notified when the dialog is dismissed.
+            events=['dismissed'],
+        )
+
+    # Did we get events from the dialog?
+    if q.events.my_dialog:
+        # Was the dialog dismissed?
+        if q.events.my_dialog.dismissed:
+            # Delete the dialog
+            q.page['meta'].dialog = None
+
+    await q.page.save()
diff --git a/examples/meta_icon.py b/examples/meta_icon.py
new file mode 100644
index 0000000000000000000000000000000000000000..b803f056d0f8ad8182a32192ca6379b06bfdaae6
--- /dev/null
+++ b/examples/meta_icon.py
@@ -0,0 +1,20 @@
+# Meta / Icon
+# Set the browser window #icon for a page. #meta
+# ---
+from h2o_wave import site, ui
+
+page = site['/demo']
+
+page['meta'] = ui.meta_card(box='', icon='https://en.wikipedia.org/static/apple-touch/wikipedia.png')
+
+# You can also upload and assign an icon, like this:
+# icon_path, = site.upload(['path/to/my/icon.png'])
+# page['meta'] = ui.meta_card(box='', icon=icon_path)
+
+page['example'] = ui.markdown_card(
+    box='1 1 2 2',
+    title='',
+    content='<a href="demo" target="_blank">Open this page in a new window</a> to view its icon.',
+)
+
+page.save()
diff --git a/examples/meta_inline_script.py b/examples/meta_inline_script.py
new file mode 100644
index 0000000000000000000000000000000000000000..787f960bbd2897fd3cb9fa57a10a1ede5a778aef
--- /dev/null
+++ b/examples/meta_inline_script.py
@@ -0,0 +1,35 @@
+# Meta / Inline Script
+# Execute arbitrary Javascript.
+# ---
+from h2o_wave import site, ui
+
+# This example displays a clock using Javascript.
+
+page = site['/demo']
+
+# Add a placeholder for the clock.
+page['example'] = ui.markup_card(
+    box='1 1 2 1',
+    title='Time',
+    content='<div id="clock"/>',
+)
+
+# Specify the Javascript code to display the clock.
+clock_script = '''
+// Locate the placeholder 'div' element in our markup_card.
+const clock = document.getElementById("clock");
+const displayTime = () => { clock.innerText = (new Date()).toLocaleString(); };
+
+// Display the time every second (1000ms).
+window.setInterval(displayTime, 1000);
+'''
+
+# Add the script to the page.
+page['meta'] = ui.meta_card(box='', script=ui.inline_script(
+    # The Javascript code for this script.
+    content=clock_script,
+    # Execute this script only if the 'clock' element is available.
+    targets=['clock'],
+))
+
+page.save()
diff --git a/examples/meta_inline_script_callback.py b/examples/meta_inline_script_callback.py
new file mode 100644
index 0000000000000000000000000000000000000000..3a32aa284097c27a6c1af61b46f55830f1c3ad31
--- /dev/null
+++ b/examples/meta_inline_script_callback.py
@@ -0,0 +1,78 @@
+# Meta / Inline Script / Callback
+# Handle events from arbitrary Javascript
+# ---
+from h2o_wave import main, app, Q, ui
+
+# Define a function that emits an event from Javascript to Python
+counter_onclick = '''
+function increment() {
+  // Emit an event to the app.
+  // All three arguments are arbitrary.
+  // Here, we use:
+  // - 'counter' to indicate the source of the event.
+  // - 'clicked' to indicate the type of event.
+  // - the third argument can be a string, number, boolean or any complex structure, like { foo: 'bar', qux: 42 }
+  // In Python, q.events.counter.clicked will be set to True.
+  wave.emit('counter', 'clicked', true);
+}
+'''
+
+# The HTML and CSS to create a custom button.
+# Note that we've named the element 'counter',
+#   and called the increment() Javascript function when clicked.
+counter_html = '''
+<style>
+#counter {
+  cursor: pointer; 
+  user-select: none;
+  background: #ff784f; 
+  color: #fff;
+  padding: 0.25em 1em;
+  text-align: center;
+}
+#counter:hover {
+  background: #ff8965; 
+}
+</style>
+<h2 id="counter" onclick="increment()">Click Me!</h2>
+'''
+
+
+@app('/demo')
+async def serve(q: Q):
+    # Track how many times the button has been clicked.
+    if q.client.count is None:
+        q.client.count = 0
+
+    if not q.client.initialized:
+        # Add our script to the page.
+        q.page['meta'] = ui.meta_card(
+            box='',
+            script=ui.inline_script(
+                # The Javascript code for this script.
+                content=counter_onclick,
+                # Execute this script only if the 'counter' element is available.
+                targets=['counter'],
+            )
+        )
+        q.page['form'] = ui.form_card(
+            box='1 1 2 2',
+            title='Counter',
+            items=[
+                # Display our custom button.
+                ui.markup(content=counter_html),
+                ui.text(name='text', content=''),
+            ],
+        )
+        q.client.initialized = True
+    else:
+        # Do we have an event from the counter?
+        if q.events.counter:
+            # Is 'clicked' True?
+            if q.events.counter.clicked:
+                # Increment the count.
+                q.client.count += 1
+                # Display the latest count.
+                q.page['form'].text.content = f'You clicked {q.client.count} times.'
+
+    await q.page.save()
diff --git a/examples/meta_inline_stylesheet.py b/examples/meta_inline_stylesheet.py
new file mode 100644
index 0000000000000000000000000000000000000000..b400be38721871d309a6cc6ba56b6707da1e5b52
--- /dev/null
+++ b/examples/meta_inline_stylesheet.py
@@ -0,0 +1,25 @@
+# Meta / Inline Stylesheet
+# Use inline CSS to style a Wave app in case of quirks. Prefer using native Wave components if possible.
+# ---
+
+from h2o_wave import site, ui
+
+page = site['/demo']
+
+style = '''
+p {
+  color: red;
+}
+'''
+
+# Add a placeholder.
+page['example'] = ui.markdown_card(
+    box='1 1 2 2',
+    title='Try out the styling',
+    content='I should be red!',
+)
+
+# Add the style to the page.
+page['meta'] = ui.meta_card(box='', stylesheet=ui.inline_stylesheet(style))
+
+page.save()
diff --git a/examples/meta_notification.py b/examples/meta_notification.py
new file mode 100644
index 0000000000000000000000000000000000000000..f0c43a8a94c49d01df2a9b44200ed93a61296cd7
--- /dev/null
+++ b/examples/meta_notification.py
@@ -0,0 +1,22 @@
+# Meta / Notification
+# Display a desktop #notification. #meta
+# ---
+import time
+
+from h2o_wave import site, ui
+
+page = site['/demo']
+
+page['meta'] = ui.meta_card(box='')
+
+page['example'] = ui.markdown_card(
+    box='1 1 2 2',
+    title='Desktop Notifications',
+    content='This page should display a desktop notification in a few seconds. Wait for it...',
+)
+page.save()
+
+time.sleep(5)
+page['meta'].notification = 'And now for something completely different!'
+
+page.save()
diff --git a/examples/meta_notification_bar.py b/examples/meta_notification_bar.py
new file mode 100644
index 0000000000000000000000000000000000000000..a9df0fc6969eaf3847d561e6c31ca4f04f055bbb
--- /dev/null
+++ b/examples/meta_notification_bar.py
@@ -0,0 +1,61 @@
+# Meta / Notification bar
+# Display a notification bar #notification_bar. #meta
+# Use this kind of notification when an immediate user feedback is needed. For cases when
+# the feedback is not immediate (long-running jobs), use ui.notification as it will
+# be visible even when the user is not currently focusing browser tab with your Wave app.
+# ---
+from h2o_wave import main, app, Q, ui
+
+
+@app('/demo')
+async def serve(q: Q):
+    if not q.client.initialized:
+        q.page['form'] = ui.form_card(box='1 1 2 4', items=[
+            ui.button(name='top_right', label='Success top-right'),
+            ui.button(name='top_center', label='Error top-center'),
+            ui.button(name='top_left', label='Warning top-left'),
+            ui.button(name='bottom_right', label='Info bottom-right'),
+            ui.button(name='bottom_center', label='Info bottom-center'),
+            ui.button(name='bottom_left', label='Info bottom-left'),
+        ])
+        q.client.initialized = True
+    if q.args.top_right:
+        q.page['meta'] = ui.meta_card(box='', notification_bar=ui.notification_bar(
+            text='Success notification',
+            type='success',
+            position='top-right',
+            buttons=[ui.button(name='btn1', label='Button 1', link=True)]
+        ))
+    if q.args.top_center:
+        q.page['meta'] = ui.meta_card(box='', notification_bar=ui.notification_bar(
+            text='Error notification message that should hopefully span at least two lines.',
+            type='error',
+            position='top-center',
+            buttons=[
+                ui.button(name='btn1', label='Button 1'),
+                ui.button(name='btn2', label='Button 2')
+            ]
+        ))
+    if q.args.top_left:
+        q.page['meta'] = ui.meta_card(box='', notification_bar=ui.notification_bar(
+            text='Warning notification',
+            type='warning',
+            position='top-left',
+        ))
+    if q.args.bottom_right:
+        q.page['meta'] = ui.meta_card(box='', notification_bar=ui.notification_bar(
+            text='Info notification',
+            type='info',
+            position='bottom-right',
+        ))
+    if q.args.bottom_center:
+        q.page['meta'] = ui.meta_card(box='', notification_bar=ui.notification_bar(
+            text='Info notification',
+            position='bottom-center',
+        ))
+    if q.args.bottom_left:
+        q.page['meta'] = ui.meta_card(box='', notification_bar=ui.notification_bar(
+            text='Default notification',
+            position='bottom-left',
+        ))
+    await q.page.save()
diff --git a/examples/meta_notification_bar_closable.py b/examples/meta_notification_bar_closable.py
new file mode 100644
index 0000000000000000000000000000000000000000..18af83faecdcd4516d2fb9888504fdcabe889525
--- /dev/null
+++ b/examples/meta_notification_bar_closable.py
@@ -0,0 +1,35 @@
+# Meta / Notification bar / Closable
+# Display a #notification_bar and detect when it's closed. #meta
+# ---
+from h2o_wave import main, app, Q, ui
+
+
+@app('/demo')
+async def serve(q: Q):
+    if not q.client.initialized:
+        # Create an empty meta_card to hold the notification bar
+        q.page['meta'] = ui.meta_card(box='')
+        # Display a button to show the notification bar
+        q.page['form'] = ui.form_card(box='1 1 2 4', items=[
+            ui.button(name='show_notification_bar', label='Show notification bar'),
+        ])
+        q.client.initialized = True
+
+    # Was the show_notification_bar button clicked?    
+    if q.args.show_notification_bar:
+        # Create a notification bar
+        q.page['meta'].notification_bar=ui.notification_bar(
+            text='You can close me!',
+            name="my_bar",
+            # Get notified when the notification bar is dismissed.
+            events=['dismissed'],
+        )
+
+    # Did we get events from the notification bar?
+    if q.events.my_bar:
+        # Was the notification bar dismissed?
+        if q.events.my_bar.dismissed:
+            # Delete the notification bar
+            q.page['meta'].notification_bar = None        
+
+    await q.page.save()
diff --git a/examples/meta_redirect.py b/examples/meta_redirect.py
new file mode 100644
index 0000000000000000000000000000000000000000..fffe184b1a6b9229492231b975dd2dacc09c6a70
--- /dev/null
+++ b/examples/meta_redirect.py
@@ -0,0 +1,27 @@
+# Meta / Redirect
+# #Redirect the page to a new URL or hash. #meta
+# ---
+import time
+
+from h2o_wave import site, ui
+
+page = site['/demo']
+
+page['meta'] = ui.meta_card(box='')
+
+page['example'] = ui.markdown_card(
+    box='1 1 2 2',
+    title='Redirect a page',
+    content='This page should redirect to Wikipedia in a few seconds. Wait for it...',
+)
+page.save()
+
+time.sleep(3)
+# Redirect to a hash.
+page['meta'].redirect = '#widgets'
+page.save()
+
+time.sleep(3)
+# Redirect to a URL.
+page['meta'].redirect = 'https://www.wikipedia.org'
+page.save()
diff --git a/examples/meta_refresh.py b/examples/meta_refresh.py
new file mode 100644
index 0000000000000000000000000000000000000000..e2e77503a5726a24ec131688df08e8a3ea19aacc
--- /dev/null
+++ b/examples/meta_refresh.py
@@ -0,0 +1,18 @@
+# Meta / Refresh
+# Turn off live updates for static pages to conserve server resources.
+# #meta #refresh
+# ---
+from h2o_wave import site, ui
+
+page = site['/demo']
+
+# Set refresh rate to zero ("no updates")
+page['meta'] = ui.meta_card(box='', refresh=0)
+
+page['example'] = ui.markdown_card(
+    box='1 1 2 2',
+    title='No updates for you',
+    content='This page stops receiving updates once loaded.',
+)
+
+page.save()
diff --git a/examples/meta_script.py b/examples/meta_script.py
new file mode 100644
index 0000000000000000000000000000000000000000..cde010d4925764da0d76ae5085d9396b059c4606
--- /dev/null
+++ b/examples/meta_script.py
@@ -0,0 +1,72 @@
+# Meta / Script
+# Load external Javascript libraries.
+# ---
+
+from h2o_wave import site, ui
+
+# This example displays animated text using using anime.js (https://animejs.com/).
+# Original example by Tobias Ahlin https://tobiasahlin.com/moving-letters/#2
+
+page = site['/demo']
+
+html = '''
+<style>
+.anim {
+  font-weight: 900;
+  font-size: 3.5em;
+  color: #e8500d;
+}
+.anim .letter {
+  display: inline-block;
+  line-height: 1em;
+}
+</style>
+
+<h1 id="animation" class="anim">Moving Letters!</h1>
+'''
+
+script = '''
+// Wrap every letter in a span
+var textWrapper = document.querySelector('.anim');
+textWrapper.innerHTML = textWrapper.textContent.replace(/\S/g, "<span class='letter'>$&</span>");
+
+anime.timeline({loop: true})
+  .add({
+    targets: '.anim .letter',
+    scale: [4,1],
+    opacity: [0,1],
+    translateZ: 0,
+    easing: "easeOutExpo",
+    duration: 950,
+    delay: (el, i) => 70*i
+  }).add({
+    targets: '.anim',
+    opacity: 0,
+    duration: 1000,
+    easing: "easeOutExpo",
+    delay: 1000
+  });
+'''
+
+# Add a placeholder for the animation.
+page['example'] = ui.markup_card(
+    box='1 1 6 8',
+    title='Animation',
+    content=html,
+)
+
+# Add the script to the page.
+page['meta'] = ui.meta_card(
+    box='',
+    # Load anime.js
+    scripts=[ui.script(path='https://cdnjs.cloudflare.com/ajax/libs/animejs/2.0.2/anime.min.js')],
+    script=ui.inline_script(
+        # The Javascript code for this script.
+        content=script,
+        # Execute this script only if the 'anime' library is available.
+        requires=['anime'],
+        # Execute this script only if the 'animation' element is available.
+        targets=['animation'],
+    ))
+
+page.save()
diff --git a/examples/meta_script_callback.py b/examples/meta_script_callback.py
new file mode 100644
index 0000000000000000000000000000000000000000..7f629db304cf3b951fff20e1eda3ad6962ef0991
--- /dev/null
+++ b/examples/meta_script_callback.py
@@ -0,0 +1,76 @@
+# Meta / Script / Callback
+# Handle events from external Javascript libraries.
+# ---
+import json
+import random
+import math
+from h2o_wave import main, app, Q, ui
+
+# Create some data for a random graph
+node_count = 100
+edge_count = 500
+nodes = [
+    dict(id=f'n{i}', label=f'Node {i}', x=random.random(), y=random.random(), size=random.random(), color='#ff0000')
+    for i in range(node_count)]
+
+edges = [dict(id=f'e{i}', source=f'n{math.floor(random.random() * node_count)}',
+              target=f'n{math.floor(random.random() * node_count)}', size=random.random(), color='#666') for i in
+         range(edge_count)]
+
+graph_data = dict(nodes=nodes, edges=edges)
+
+# Serialize graph data to Javascript / JSON.
+graph_data_js = f'const graph = {json.dumps(graph_data)};'
+
+# Define a script that uses Sigma.js to render our graph.
+render_graph = graph_data_js + '''
+const s = new sigma({ graph: graph, container: 'graph' });
+s.bind('clickNode', (e) => { 
+  // Emit an event when a node is clicked.
+  // All three arguments are arbitrary.
+  // Here, we use:
+  // - 'graph' to indicate the source of the event.
+  // - 'node_clicked' to indicate the type of event.
+  // - the third argument can be a string, number, boolean or any complex structure, like { foo: 'bar', qux: 42 }
+  // In Python, q.events.graph.node_clicked will be set to the ID of the clicked node.
+  wave.emit('graph', 'node_clicked', e.data.node.id); 
+});
+'''
+
+
+@app('/demo')
+async def serve(q: Q):
+    if not q.client.initialized:
+        q.page['meta'] = ui.meta_card(
+            box='',
+            # Load Sigma.js
+            scripts=[ui.script(path='https://cdnjs.cloudflare.com/ajax/libs/sigma.js/1.2.1/sigma.min.js')],
+            # Call Javascript to render our graph using Sigma.js.
+            script=ui.inline_script(
+                content=render_graph,
+                # Ensure that Sigma.js is available before running our script.
+                requires=['sigma'],
+                # Ensure that the 'graph' element is available before running our script.
+                targets=['graph']
+            )
+        )
+        # Add a placeholder named 'graph' to house our rendered graph.
+        q.page['vis'] = ui.markup_card(
+            box='1 1 6 8',
+            title='Select a node',
+            content='<div id="graph" style="width: 800px; height: 500px;"/>'
+        )
+        # Add another card to display which node was selected.
+        q.page['details'] = ui.markdown_card(
+            box='1 9 6 1',
+            title='',
+            content='The selected node will be displayed here.',
+        )
+        q.client.initialized = True
+    else:
+        if q.events.graph:
+            selected_node = q.events.graph.node_clicked
+            if selected_node:
+                q.page['details'].content = f'You clicked on node {selected_node}'
+
+    await q.page.save()
diff --git a/examples/meta_side_panel.py b/examples/meta_side_panel.py
new file mode 100644
index 0000000000000000000000000000000000000000..7c551f5cdac362d3d14c315fa621bb4b65ec905b
--- /dev/null
+++ b/examples/meta_side_panel.py
@@ -0,0 +1,37 @@
+# Meta / SidePanel
+# Display a #sidePanel. #meta
+# ---
+from h2o_wave import main, app, Q, ui
+
+
+@app('/demo')
+async def serve(q: Q):
+    if not q.client.initialized:
+        q.page['meta'] = ui.meta_card(box='')
+        q.page['example'] = ui.form_card(box='1 1 2 1', items=[
+            ui.button(name='show_side_panel', label='Order donuts', primary=True)
+        ])
+        q.client.initialized = True
+    else:
+        if q.args.show_side_panel:
+            q.page['meta'].side_panel = ui.side_panel(title='Welcome to store', items=[
+                ui.text('Donuts cost $1.99. Proceed?'),
+                ui.buttons([ui.button(name='next_step', label='Next', primary=True)])
+            ])
+        elif q.args.next_step:
+            q.page['meta'].side_panel.items = [
+                ui.text('You will be charged $1.99. Proceed?'),
+                ui.buttons([
+                    ui.button(name='cancel', label='Back to safety'),
+                    ui.button(name='submit', label='Place order', primary=True),
+                ])
+            ]
+        elif q.args.submit:
+            q.page['example'].items = [ui.message_bar('success', 'Order placed!')]
+            q.page['meta'].side_panel = None
+
+        elif q.args.cancel:
+            q.page['example'].items = [ui.message_bar('info', 'Order canceled!')]
+            q.page['meta'].side_panel = None
+
+    await q.page.save()
diff --git a/examples/meta_side_panel_closable.py b/examples/meta_side_panel_closable.py
new file mode 100644
index 0000000000000000000000000000000000000000..f653ce1216b9a7144e07700d761b3d922ee00201
--- /dev/null
+++ b/examples/meta_side_panel_closable.py
@@ -0,0 +1,41 @@
+# Meta / SidePanel / Closable
+# Display a #sidePanel having a close button, and detect when it's closed. #meta
+# ---
+from h2o_wave import main, app, Q, ui
+
+
+@app('/demo')
+async def serve(q: Q):
+    if not q.client.initialized:
+        # Create an empty meta_card to hold the side panel
+        q.page['meta'] = ui.meta_card(box='')
+        # Display a button to show the side panel
+        q.page['example'] = ui.form_card(box='1 1 2 1', items=[
+            ui.button(name='show_side_panel', label='Open side panel', primary=True)
+        ])
+        q.client.initialized = True
+
+    # Was the show_side_panel button clicked?
+    if q.args.show_side_panel:
+        # Create a side panel with a close button
+        q.page['meta'].side_panel = ui.side_panel(
+            title='Hello!',
+            name="my_side_panel",
+            items=[
+                ui.text('Click the X button to close this side panel.')
+            ],
+            # Enable a close button (displayed at the top-right of the side panel)
+            closable=True,
+            # Get notified when the side panel is dismissed.
+            events=['dismissed'],
+        )
+
+    # Did we get events from the side panel?
+    if q.events.my_side_panel:
+        # Was the side panel dismissed?
+        if q.events.my_side_panel.dismissed:
+            # Delete the side panel
+            q.page['meta'].side_panel = None
+
+    await q.page.save()
+    
\ No newline at end of file
diff --git a/examples/meta_stylesheet.py b/examples/meta_stylesheet.py
new file mode 100644
index 0000000000000000000000000000000000000000..fd126feeb06cb5bd31c83252707720727ac98d7d
--- /dev/null
+++ b/examples/meta_stylesheet.py
@@ -0,0 +1,22 @@
+# Meta / Stylesheet
+# Load external CSS resources if needed.
+# ---
+
+from h2o_wave import site, ui
+
+page = site['/demo']
+
+# Add a placeholder.
+page['example'] = ui.markup_card(
+    box='1 1 2 2',
+    title='This button should have Bootstrap styles.',
+    content='<button type="button" class="btn btn-primary">Primary</button>',
+)
+
+page['meta'] = ui.meta_card(
+    box='',
+    # Load external stylesheet. The `path` can also be the one returned from `q.site.upload` if you want to use your own CSS files.
+    stylesheets=[ui.stylesheet(path='https://cdn.jsdelivr.net/npm/bootstrap@5.1.0/dist/css/bootstrap.min.css')]
+)
+
+page.save()
diff --git a/examples/meta_theme.py b/examples/meta_theme.py
new file mode 100644
index 0000000000000000000000000000000000000000..d04063c9cbeb64b75f17b2a58197b83ba6f50654
--- /dev/null
+++ b/examples/meta_theme.py
@@ -0,0 +1,35 @@
+# Meta / Theme
+# Change the base color theme of the app.
+# ---
+from h2o_wave import Q, ui, main, app
+
+
+@app('/demo')
+async def serve(q: Q):
+    if not q.client.initialized:
+        q.page['meta'] = ui.meta_card(box='', theme='neon')
+        q.page['controls'] = ui.form_card(box='1 1 2 8', items=[
+            ui.text_xl('Form'),
+            ui.textbox(name='textbox', label='Textbox'),
+            ui.toggle(name='toggle', label='Toggle'),
+            ui.choice_group(name='choice_group', label='Choice group', choices=[
+                ui.choice(name=x, label=x) for x in ['Egg', 'Bacon', 'Spam']
+            ]),
+            ui.checklist(name='checklist', label='Checklist', choices=[
+                ui.choice(name=x, label=x) for x in ['Egg', 'Bacon', 'Spam']
+            ]),
+            ui.dropdown(name='dropdown', label='Dropdown', choices=[
+                ui.choice(name=x, label=x) for x in ['Egg', 'Bacon', 'Spam']
+            ]),
+            ui.slider(name='slider', label='Slider'),
+            ui.button(name='toggle_theme', label='Toggle Theme', primary=True)
+        ])
+        q.client.theme = 'neon'
+        q.client.initialized = True
+
+    meta = q.page['meta']
+
+    if q.args.toggle_theme:
+        meta.theme = q.client.theme = 'neon' if q.client.theme == 'default' else 'default'
+
+    await q.page.save()
diff --git a/examples/meta_title.py b/examples/meta_title.py
new file mode 100644
index 0000000000000000000000000000000000000000..12dd97edea08013c85b003a17e3e3536a7dda737
--- /dev/null
+++ b/examples/meta_title.py
@@ -0,0 +1,16 @@
+# Meta / Title
+# Set the browser window title for a page. #meta
+# ---
+from h2o_wave import site, ui
+
+page = site['/demo']
+
+page['meta'] = ui.meta_card(box='', title='And now for something completely different!')
+
+page['example'] = ui.markdown_card(
+    box='1 1 2 2',
+    title='',
+    content='<a href="demo" target="_blank">Open this page in a new window</a> to view its title.',
+)
+
+page.save()
diff --git a/examples/meta_tracking.py b/examples/meta_tracking.py
new file mode 100644
index 0000000000000000000000000000000000000000..c374714525e163e36e2e25c4fcb1b2a08d2b1baf
--- /dev/null
+++ b/examples/meta_tracking.py
@@ -0,0 +1,27 @@
+# Meta / Tracking
+# Track user interactions on your app's pages.
+# ---
+from h2o_wave import main, app, Q, ui
+
+
+@app('/demo')
+async def serve(q: Q):
+    count = q.client.count or 0
+    if not q.client.initialized:
+
+        # Set up a tracker for the page using Google Analytics.
+        # All browser events/activities are logged against the specified property ID.
+        q.page['meta'] = ui.meta_card('', tracker=ui.tracker(type=ui.TrackerType.GA, id='G-W810CJL5GP'))
+        # That's all you need to do - set up a tracker.
+        # The rest of this example does not do anything special related to tracking.
+
+        q.page['example'] = ui.form_card(box='1 1 2 1', items=[
+            ui.button(name='increment', label=f'Count={count}')
+        ])
+        q.client.initialized = True
+    else:
+        if q.args.increment:
+            q.client.count = count = count + 1
+            q.page['example'].increment.label = f'Count={count}'
+
+    await q.page.save()
diff --git a/examples/ml_dai.py b/examples/ml_dai.py
new file mode 100644
index 0000000000000000000000000000000000000000..270a1f71fdc35fef523ebb1645728045c7ca33db
--- /dev/null
+++ b/examples/ml_dai.py
@@ -0,0 +1,178 @@
+# WaveML / DAI
+# Build Wave Models for training and prediction of classification or regression using Driverless AI.
+# ---
+import os
+
+from h2o_wave import main, app, Q, copy_expando, ui
+from h2o_wave_ml import build_model, ModelType
+from h2o_wave_ml.utils import list_dai_instances
+
+from sklearn.datasets import load_wine
+from sklearn.model_selection import train_test_split
+
+STEAM_URL = os.environ.get('STEAM_URL')
+MLOPS_URL = os.environ.get('MLOPS_URL')
+
+DATASET_TEXT = '''The sample dataset used is the
+    <a href="https://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_wine.html" target="_blank">wine dataset</a>.'''
+STEAM_TEXT = f'''No Driverless AI instances available. You may create one in 
+    <a href="{STEAM_URL}/#/driverless/instances" target="_blank">AI Engines</a> and refresh the page.'''
+
+
+def dai_experiment_url(instance_id: str, instance_name: str):
+    # URL link to Driverless AI experiment
+    return f'''**Driverless AI Experiment:**
+        <a href="{STEAM_URL}/oidc-login-start?forward=/proxy/driverless/{instance_id}/openid/callback" target="_blank">{instance_name}</a>'''
+
+
+def mlops_deployment_url(project_id: str):
+    # URL link to MLOps deployment
+    return f'**MLOps Deployment:** <a href="{MLOPS_URL}/projects/{project_id}" target="_blank">{project_id}'
+
+
+def form_unsupported():
+    # display when app is not running on cloud
+    return [
+        ui.text('''This example requires access to Driverless AI running on
+            <a href="https://h2oai.github.io/h2o-ai-cloud" target="_blank">H2O AI Cloud</a> 
+            and does not support standalone app instances.'''),
+        ui.text('''Sign up at <a href="https://h2o.ai/free" target="_blank">https://h2o.ai/free</a>
+            to run apps on cloud.''')
+    ]
+
+
+def form_default(q: Q):
+    # display when app is initialized
+    return [
+        ui.text(content=DATASET_TEXT),
+        ui.dropdown(name='dai_instance_id', label='Select Driverless AI instance', value=q.client.dai_instance_id,
+                    choices=q.client.choices_dai_instances, required=True),
+        ui.text(content=STEAM_TEXT, visible=q.client.disable_training),
+        ui.buttons(items=[
+            ui.button(name='train', label='Train', primary=True, disabled=q.client.disable_training),
+            ui.button(name='predict', label='Predict', primary=True, disabled=True),
+        ])
+    ]
+
+
+def form_training_progress(q: Q):
+    # display when model training is in progress
+    return [
+        ui.text(content=DATASET_TEXT),
+        ui.dropdown(name='dai_instance_id', label='Select Driverless AI instance', value=q.client.dai_instance_id,
+                    choices=q.client.choices_dai_instances, required=True),
+        ui.buttons(items=[
+            ui.button(name='train', label='Train', primary=True, disabled=True),
+            ui.button(name='predict', label='Predict', primary=True, disabled=True)
+        ]),
+        ui.progress(label='Training in progress...', caption='This can take a few minutes...'),
+        ui.text(content=q.client.model_details)
+    ]
+
+
+def form_training_completed(q: Q):
+    # display when model training is completed
+    return [
+        ui.text(content=DATASET_TEXT),
+        ui.dropdown(name='dai_instance_id', label='Select Driverless AI instance', value=q.client.dai_instance_id,
+                    choices=q.client.choices_dai_instances, required=True),
+        ui.buttons(items=[
+            ui.button(name='train', label='Train', primary=True),
+            ui.button(name='predict', label='Predict', primary=True)
+        ]),
+        ui.message_bar(type='success', text='Training successfully completed!'),
+        ui.text(content=q.client.model_details)
+    ]
+
+
+def form_prediction_completed(q: Q):
+    # display when model prediction is completed
+    return [
+        ui.text(content=DATASET_TEXT),
+        ui.dropdown(name='dai_instance_id', label='Select Driverless AI instance', value=q.client.dai_instance_id,
+                    choices=q.client.choices_dai_instances, required=True),
+        ui.buttons(items=[
+            ui.button(name='train', label='Train', primary=True),
+            ui.button(name='predict', label='Predict', primary=True)
+        ]),
+        ui.message_bar(type='success', text='Prediction successfully completed!'),
+        ui.text(content=q.client.model_details),
+        ui.text(content=f'''**Example predictions:** <br />
+            {q.client.preds[0]} <br /> {q.client.preds[1]} <br /> {q.client.preds[2]}''')
+    ]
+
+
+@app('/demo')
+async def serve(q: Q):
+    if 'H2O_CLOUD_ENVIRONMENT' not in os.environ:
+        # show appropriate message if app is not running on cloud
+        q.page['example'] = ui.form_card(
+            box='1 1 -1 -1',
+            items=form_unsupported()
+        )
+    elif q.args.train:
+        # get DAI instance name
+        copy_expando(q.args, q.client)
+
+        for dai_instance in q.client.dai_instances:
+            if dai_instance['id'] == int(q.client.dai_instance_id):
+                q.client.dai_instance_name = dai_instance['name']
+
+        # set DAI model details
+        q.client.model_details = dai_experiment_url(q.client.dai_instance_id, q.client.dai_instance_name)
+
+        # show training progress and details
+        q.page['example'].items = form_training_progress(q)
+        await q.page.save()
+
+        # train WaveML Model using Driverless AI
+        q.client.wave_model = await q.run(
+            func=build_model,
+            train_df=q.client.train_df,
+            target_column='target',
+            model_type=ModelType.DAI,
+            refresh_token=q.auth.refresh_token,
+            _steam_dai_instance_name=q.client.dai_instance_name,
+            _dai_accuracy=1,
+            _dai_time=1,
+            _dai_interpretability=10
+        )
+
+        # update DAI model details
+        q.client.project_id = q.client.wave_model.project_id
+        q.client.model_details += f'<br />{mlops_deployment_url(q.client.project_id)}'
+
+        # show prediction option
+        q.page['example'].items = form_training_completed(q)
+    elif q.args.predict:
+        # predict on test data
+        q.client.preds = q.client.wave_model.predict(test_df=q.client.test_df)
+
+        # show predictions
+        q.page['example'].items = form_prediction_completed(q)
+    else:
+        # prepare sample train and test dataframes
+        data = load_wine(as_frame=True)['frame']
+        q.client.train_df, q.client.test_df = train_test_split(data, train_size=0.8)
+
+        # DAI instances
+        q.client.dai_instances = list_dai_instances(refresh_token=q.auth.refresh_token)
+        q.client.choices_dai_instances = [
+            ui.choice(
+                name=str(x['id']),
+                label=f'{x["name"]} ({x["status"].capitalize()})',
+                disabled=x['status'] != 'running'
+            ) for x in q.client.dai_instances
+        ]
+
+        running_dai_instances = [x['id'] for x in q.client.dai_instances if x['status'] == 'running']
+        q.client.disable_training = False if running_dai_instances else True
+        q.client.dai_instance_id = str(running_dai_instances[0]) if running_dai_instances else ''
+
+        # display ui
+        q.page['example'] = ui.form_card(
+            box='1 1 -1 -1',
+            items=form_default(q)
+        )
+
+    await q.page.save()
diff --git a/examples/ml_dai_autodoc.py b/examples/ml_dai_autodoc.py
new file mode 100644
index 0000000000000000000000000000000000000000..24e5129b695f5eafb227af12d5b9dd92f7d565a9
--- /dev/null
+++ b/examples/ml_dai_autodoc.py
@@ -0,0 +1,156 @@
+# WaveML / DAI / AutoDoc
+# Download AutoDoc for Wave Models built using Driverless AI.
+# ---
+import os
+
+from h2o_wave import main, app, Q, copy_expando, ui
+from h2o_wave_ml import build_model, ModelType
+from h2o_wave_ml.utils import list_dai_instances, save_autodoc
+
+from sklearn.datasets import load_wine
+from sklearn.model_selection import train_test_split
+
+STEAM_URL = os.environ.get('STEAM_URL')
+MLOPS_URL = os.environ.get('MLOPS_URL')
+
+DATASET_TEXT = '''The sample dataset used is the
+    <a href="https://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_wine.html" target="_blank">wine dataset</a>.'''
+STEAM_TEXT = f'''No Driverless AI instances available. You may create one in 
+    <a href="{STEAM_URL}/#/driverless/instances" target="_blank">AI Engines</a> and refresh the page.'''
+
+
+def dai_experiment_url(instance_id: str, instance_name: str):
+    # URL link to Driverless AI experiment
+    return f'''**Driverless AI Experiment:**
+        <a href="{STEAM_URL}/oidc-login-start?forward=/proxy/driverless/{instance_id}/openid/callback" target="_blank">{instance_name}</a>'''
+
+
+def mlops_deployment_url(project_id: str):
+    # URL link to MLOps deployment
+    return f'**MLOps Deployment:** <a href="{MLOPS_URL}/projects/{project_id}" target="_blank">{project_id}'
+
+
+def form_unsupported():
+    # display when app is not running on cloud
+    return [
+        ui.text('''This example requires access to Driverless AI running on
+            <a href="https://h2oai.github.io/h2o-ai-cloud" target="_blank">H2O AI Cloud</a> 
+            and does not support standalone app instances.'''),
+        ui.text('''Sign up at <a href="https://h2o.ai/free" target="_blank">https://h2o.ai/free</a>
+            to run apps on cloud.''')
+    ]
+
+
+def form_default(q: Q):
+    # display when app is initialized
+    return [
+        ui.text(content=DATASET_TEXT),
+        ui.dropdown(name='dai_instance_id', label='Select Driverless AI instance', value=q.client.dai_instance_id,
+                    choices=q.client.choices_dai_instances, required=True),
+        ui.text(content=STEAM_TEXT, visible=q.client.disable_training),
+        ui.button(name='train', label='Train', primary=True, disabled=q.client.disable_training)
+    ]
+
+
+def form_training_progress(q: Q):
+    # display when model training is in progress
+    return [
+        ui.text(content=DATASET_TEXT),
+        ui.dropdown(name='dai_instance_id', label='Select Driverless AI instance', value=q.client.dai_instance_id,
+                    choices=q.client.choices_dai_instances, required=True),
+        ui.button(name='train', label='Train', primary=True, disabled=q.client.disable_training),
+        ui.progress(label='Training in progress...', caption='This can take a few minutes...'),
+        ui.text(content=q.client.model_details)
+    ]
+
+
+def form_training_completed(q: Q):
+    # display when model training is completed
+    return [
+        ui.text(content=DATASET_TEXT),
+        ui.dropdown(name='dai_instance_id', label='Select Driverless AI instance', value=q.client.dai_instance_id,
+                    choices=q.client.choices_dai_instances, required=True),
+        ui.button(name='train', label='Train', primary=True, disabled=q.client.disable_training),
+        ui.message_bar(type='success', text='Training successfully completed!'),
+        ui.text(content=q.client.model_details),
+        ui.text(content=f'**Download:** <a href="{q.client.path_autodoc}">AutoDoc</a>')
+    ]
+
+
+@app('/demo')
+async def serve(q: Q):
+    if 'H2O_CLOUD_ENVIRONMENT' not in os.environ:
+        # show appropriate message if app is not running on cloud
+        q.page['example'] = ui.form_card(
+            box='1 1 -1 -1',
+            items=form_unsupported()
+        )
+    elif q.args.train:
+        # get DAI instance name
+        copy_expando(q.args, q.client)
+
+        for dai_instance in q.client.dai_instances:
+            if dai_instance['id'] == int(q.client.dai_instance_id):
+                q.client.dai_instance_name = dai_instance['name']
+
+        # set DAI model details
+        q.client.model_details = dai_experiment_url(q.client.dai_instance_id, q.client.dai_instance_name)
+
+        # show training progress and details
+        q.page['example'].items = form_training_progress(q)
+        await q.page.save()
+
+        # train WaveML Model using Driverless AI
+        q.client.wave_model = await q.run(
+            func=build_model,
+            train_df=q.client.train_df,
+            target_column='target',
+            model_type=ModelType.DAI,
+            refresh_token=q.auth.refresh_token,
+            _steam_dai_instance_name=q.client.dai_instance_name,
+            _dai_accuracy=1,
+            _dai_time=1,
+            _dai_interpretability=10
+        )
+
+        # update DAI model details
+        q.client.project_id = q.client.wave_model.project_id
+        q.client.model_details += f'<br />{mlops_deployment_url(q.client.project_id)}'
+
+        # download AutoDoc
+        path_autodoc = save_autodoc(
+            project_id=q.client.project_id,
+            output_dir_path='.',
+            refresh_token=q.auth.refresh_token
+        )
+
+        q.client.path_autodoc, *_ = await q.site.upload([path_autodoc])
+
+        # show model outputs
+        q.page['example'].items = form_training_completed(q)
+    else:
+        # prepare sample train and test dataframes
+        data = load_wine(as_frame=True)['frame']
+        q.client.train_df, q.client.test_df = train_test_split(data, train_size=0.8)
+
+        # DAI instances
+        q.client.dai_instances = list_dai_instances(refresh_token=q.auth.refresh_token)
+        q.client.choices_dai_instances = [
+            ui.choice(
+                name=str(x['id']),
+                label=f'{x["name"]} ({x["status"].capitalize()})',
+                disabled=x['status'] != 'running'
+            ) for x in q.client.dai_instances
+        ]
+
+        running_dai_instances = [x['id'] for x in q.client.dai_instances if x['status'] == 'running']
+        q.client.disable_training = False if running_dai_instances else True
+        q.client.dai_instance_id = str(running_dai_instances[0]) if running_dai_instances else ''
+
+        # display ui
+        q.page['example'] = ui.form_card(
+            box='1 1 -1 -1',
+            items=form_default(q)
+        )
+
+    await q.page.save()
diff --git a/examples/ml_dai_categorical.py b/examples/ml_dai_categorical.py
new file mode 100644
index 0000000000000000000000000000000000000000..a674a18da27f84c13f58184902123d23aeb9cec0
--- /dev/null
+++ b/examples/ml_dai_categorical.py
@@ -0,0 +1,190 @@
+# WaveML / DAI / Categorical
+# Configure categorical columns for Wave Models built using Driverless AI.
+# ---
+import os
+
+from h2o_wave import main, app, Q, copy_expando, ui
+from h2o_wave_ml import build_model, ModelType
+from h2o_wave_ml.utils import list_dai_instances
+
+from sklearn.datasets import load_wine
+from sklearn.model_selection import train_test_split
+
+STEAM_URL = os.environ.get('STEAM_URL')
+MLOPS_URL = os.environ.get('MLOPS_URL')
+
+DATASET_TEXT = '''The sample dataset used is the
+    <a href="https://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_wine.html" target="_blank">wine dataset</a>.'''
+STEAM_TEXT = f'''No Driverless AI instances available. You may create one in 
+    <a href="{STEAM_URL}/#/driverless/instances" target="_blank">AI Engines</a> and refresh the page.'''
+
+
+def dai_experiment_url(instance_id: str, instance_name: str):
+    # URL link to Driverless AI experiment
+    return f'''**Driverless AI Experiment:**
+        <a href="{STEAM_URL}/oidc-login-start?forward=/proxy/driverless/{instance_id}/openid/callback" target="_blank">{instance_name}</a>'''
+
+
+def mlops_deployment_url(project_id: str):
+    # URL link to MLOps deployment
+    return f'**MLOps Deployment:** <a href="{MLOPS_URL}/projects/{project_id}" target="_blank">{project_id}'
+
+
+def form_unsupported():
+    # display when app is not running on cloud
+    return [
+        ui.text('''This example requires access to Driverless AI running on
+            <a href="https://h2oai.github.io/h2o-ai-cloud" target="_blank">H2O AI Cloud</a> 
+            and does not support standalone app instances.'''),
+        ui.text('''Sign up at <a href="https://h2o.ai/free" target="_blank">https://h2o.ai/free</a>
+            to run apps on cloud.''')
+    ]
+
+
+def form_default(q: Q):
+    # display when app is initialized
+    return [
+        ui.text(content=DATASET_TEXT),
+        ui.dropdown(name='dai_instance_id', label='Select Driverless AI instance', value=q.client.dai_instance_id,
+                    choices=q.client.choices_dai_instances, required=True),
+        ui.text(content=STEAM_TEXT, visible=q.client.disable_training),
+        ui.dropdown(name='categorical_columns', label='Select categorical columns',
+                    choices=q.client.column_choices, values=[]),
+        ui.buttons(items=[
+            ui.button(name='train', label='Train', primary=True, disabled=q.client.disable_training),
+            ui.button(name='predict', label='Predict', primary=True, disabled=True),
+        ])
+    ]
+
+
+def form_training_progress(q: Q):
+    # display when model training is in progress
+    return [
+        ui.text(content=DATASET_TEXT),
+        ui.dropdown(name='dai_instance_id', label='Select Driverless AI instance', value=q.client.dai_instance_id,
+                    choices=q.client.choices_dai_instances, required=True),
+        ui.dropdown(name='categorical_columns', label='Select categorical columns',
+                    choices=q.client.column_choices, values=q.client.categorical_columns),
+        ui.buttons(items=[
+            ui.button(name='train', label='Train', primary=True, disabled=True),
+            ui.button(name='predict', label='Predict', primary=True, disabled=True)
+        ]),
+        ui.progress(label='Training in progress...', caption='This can take a few minutes...'),
+        ui.text(content=q.client.model_details)
+    ]
+
+
+def form_training_completed(q: Q):
+    # display when model training is completed
+    return [
+        ui.text(content=DATASET_TEXT),
+        ui.dropdown(name='dai_instance_id', label='Select Driverless AI instance', value=q.client.dai_instance_id,
+                    choices=q.client.choices_dai_instances, required=True),
+        ui.dropdown(name='categorical_columns', label='Select categorical columns',
+                    choices=q.client.column_choices, values=q.client.categorical_columns),
+        ui.buttons(items=[
+            ui.button(name='train', label='Train', primary=True),
+            ui.button(name='predict', label='Predict', primary=True)
+        ]),
+        ui.message_bar(type='success', text='Training successfully completed!'),
+        ui.text(content=q.client.model_details)
+    ]
+
+
+def form_prediction_completed(q: Q):
+    # display when model prediction is completed
+    return [
+        ui.text(content=DATASET_TEXT),
+        ui.dropdown(name='dai_instance_id', label='Select Driverless AI instance', value=q.client.dai_instance_id,
+                    choices=q.client.choices_dai_instances, required=True),
+        ui.dropdown(name='categorical_columns', label='Select categorical columns',
+                    choices=q.client.column_choices, values=q.client.categorical_columns),
+        ui.buttons(items=[
+            ui.button(name='train', label='Train', primary=True),
+            ui.button(name='predict', label='Predict', primary=True)
+        ]),
+        ui.message_bar(type='success', text='Prediction successfully completed!'),
+        ui.text(content=q.client.model_details),
+        ui.text(content=f'''**Example predictions:** <br />
+            {q.client.preds[0]} <br /> {q.client.preds[1]} <br /> {q.client.preds[2]}''')
+    ]
+
+
+@app('/demo')
+async def serve(q: Q):
+    if 'H2O_CLOUD_ENVIRONMENT' not in os.environ:
+        # show appropriate message if app is not running on cloud
+        q.page['example'] = ui.form_card(
+            box='1 1 -1 -1',
+            items=form_unsupported()
+        )
+    elif q.args.train:
+        # get DAI instance name
+        copy_expando(q.args, q.client)
+
+        for dai_instance in q.client.dai_instances:
+            if dai_instance['id'] == int(q.client.dai_instance_id):
+                q.client.dai_instance_name = dai_instance['name']
+
+        # set DAI model details
+        q.client.model_details = dai_experiment_url(q.client.dai_instance_id, q.client.dai_instance_name)
+
+        # show training progress and details
+        q.page['example'].items = form_training_progress(q)
+        await q.page.save()
+
+        # train WaveML Model using Driverless AI
+        q.client.wave_model = await q.run(
+            func=build_model,
+            train_df=q.client.train_df,
+            target_column='target',
+            model_type=ModelType.DAI,
+            categorical_columns=q.client.categorical_columns,
+            refresh_token=q.auth.refresh_token,
+            _steam_dai_instance_name=q.client.dai_instance_name,
+            _dai_accuracy=1,
+            _dai_time=1,
+            _dai_interpretability=10
+        )
+
+        # update DAI model details
+        q.client.project_id = q.client.wave_model.project_id
+        q.client.model_details += f'<br />{mlops_deployment_url(q.client.project_id)}'
+
+        # show prediction option
+        q.page['example'].items = form_training_completed(q)
+    elif q.args.predict:
+        # predict on test data
+        q.client.preds = q.client.wave_model.predict(test_df=q.client.test_df)
+
+        # show predictions
+        q.page['example'].items = form_prediction_completed(q)
+    else:
+        # prepare sample train and test dataframes
+        data = load_wine(as_frame=True)['frame']
+        q.client.train_df, q.client.test_df = train_test_split(data, train_size=0.8)
+
+        # columns
+        q.client.column_choices = [ui.choice(x, x) for x in q.client.train_df.columns]
+
+        # DAI instances
+        q.client.dai_instances = list_dai_instances(refresh_token=q.auth.refresh_token)
+        q.client.choices_dai_instances = [
+            ui.choice(
+                name=str(x['id']),
+                label=f'{x["name"]} ({x["status"].capitalize()})',
+                disabled=x['status'] != 'running'
+            ) for x in q.client.dai_instances
+        ]
+
+        running_dai_instances = [x['id'] for x in q.client.dai_instances if x['status'] == 'running']
+        q.client.disable_training = False if running_dai_instances else True
+        q.client.dai_instance_id = str(running_dai_instances[0]) if running_dai_instances else ''
+
+        # display ui
+        q.page['example'] = ui.form_card(
+            box='1 1 -1 -1',
+            items=form_default(q)
+        )
+
+    await q.page.save()
diff --git a/examples/ml_dai_instances.py b/examples/ml_dai_instances.py
new file mode 100644
index 0000000000000000000000000000000000000000..20768824b03691ef0c856ce48812c3e437b6b1cf
--- /dev/null
+++ b/examples/ml_dai_instances.py
@@ -0,0 +1,93 @@
+# WaveML / DAI / Instances
+# List the Driverless AI instances of the user on Steam.
+# ---
+import os
+
+from h2o_wave import main, app, Q, ui
+from h2o_wave_ml.utils import list_dai_instances
+
+STEAM_URL = os.environ.get('STEAM_URL')
+STEAM_TEXT = f'''No Driverless AI instances available. You may create one in 
+    <a href="{STEAM_URL}/#/driverless/instances" target="_blank">AI Engines</a> and refresh the page.'''
+
+ICON_MAP = {
+    'created': 'Blocked2Solid',
+    'starting': 'Blocked2Solid',
+    'running': 'CompletedSolid',
+    'unreachable': 'AlertSolid',
+    'failed': 'AlertSolid',
+    'stopping': 'Blocked2Solid',
+    'stopped': 'Blocked2Solid',
+    'terminating': 'Blocked2Solid',
+    'terminated': 'Blocked2Solid'
+}
+
+
+def dai_instances_table(dai_instances: list):
+    # dai instances in ui.table
+    return ui.table(
+        name='table_dai',
+        columns=[
+            ui.table_column(name='id', label='Id', min_width='50px', max_width='51px', link=False),
+            ui.table_column(name='name', label='Name', link=False),
+            ui.table_column(name='status', label='Status', cell_type=ui.icon_table_cell_type(color='#CDDD38'),
+                            link=False),
+            ui.table_column(name='description', label='Description', link=False),
+            ui.table_column(name='version', label='Version', link=False)
+        ],
+        rows=[
+            ui.table_row(str(i), [
+                str(dai_instances[i]['id']),
+                dai_instances[i]['name'],
+                ICON_MAP[dai_instances[i]['status']],
+                dai_instances[i]['status'],
+                dai_instances[i]['version']
+            ]) for i in range(len(dai_instances))
+        ]
+    )
+
+
+def form_unsupported():
+    # display when app is not running on cloud
+    return [
+        ui.text('''This example requires access to Driverless AI running on
+            <a href="https://h2oai.github.io/h2o-ai-cloud" target="_blank">H2O AI Cloud</a> 
+            and does not support standalone app instances.'''),
+        ui.text('''Sign up at <a href="https://h2o.ai/free" target="_blank">https://h2o.ai/free</a>
+            to run apps on cloud.''')
+    ]
+
+
+def form_default(q: Q):
+    # display when app is initialized
+    return [
+        ui.label(label='List of Driverless AI instances'),
+        dai_instances_table(dai_instances=q.client.dai_instances)
+    ]
+
+
+@app('/demo')
+async def serve(q: Q):
+    if 'H2O_CLOUD_ENVIRONMENT' not in os.environ:
+        # show appropriate message if app is not running on cloud
+        q.page['example'] = ui.form_card(
+            box='1 1 -1 -1',
+            items=form_unsupported()
+        )
+    else:
+        # DAI instances
+        q.client.dai_instances = list_dai_instances(refresh_token=q.auth.refresh_token)
+
+        # display ui
+        if q.client.dai_instances:
+            q.page['example'] = ui.form_card(
+                box='1 1 -1 -1',
+                items=form_default(q)
+            )
+        else:
+            q.page['example'] = ui.form_card(
+                box='1 1 -1 -1',
+                items=[ui.text(content=STEAM_TEXT)]
+            )
+
+    await q.page.save()
diff --git a/examples/ml_dai_parameters.py b/examples/ml_dai_parameters.py
new file mode 100644
index 0000000000000000000000000000000000000000..cca9d95c094d39e33e624745840a8a370584de41
--- /dev/null
+++ b/examples/ml_dai_parameters.py
@@ -0,0 +1,190 @@
+# WaveML / DAI / Parameters
+# Configure hyperparameters for Wave Models built using Driverless AI.
+# ---
+import os
+
+from h2o_wave import main, app, Q, copy_expando, ui
+from h2o_wave_ml import build_model, ModelType
+from h2o_wave_ml.utils import list_dai_instances
+
+from sklearn.datasets import load_wine
+from sklearn.model_selection import train_test_split
+
+STEAM_URL = os.environ.get('STEAM_URL')
+MLOPS_URL = os.environ.get('MLOPS_URL')
+
+DATASET_TEXT = '''The sample dataset used is the
+    <a href="https://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_wine.html" target="_blank">wine dataset</a>.'''
+STEAM_TEXT = f'''No Driverless AI instances available. You may create one in 
+    <a href="{STEAM_URL}/#/driverless/instances" target="_blank">AI Engines</a> and refresh the page.'''
+
+
+def dai_experiment_url(instance_id: str, instance_name: str):
+    # URL link to Driverless AI experiment
+    return f'''**Driverless AI Experiment:**
+        <a href="{STEAM_URL}/oidc-login-start?forward=/proxy/driverless/{instance_id}/openid/callback" target="_blank">{instance_name}</a>'''
+
+
+def mlops_deployment_url(project_id: str):
+    # URL link to MLOps deployment
+    return f'**MLOps Deployment:** <a href="{MLOPS_URL}/projects/{project_id}" target="_blank">{project_id}'
+
+
+def form_unsupported():
+    # display when app is not running on cloud
+    return [
+        ui.text('''This example requires access to Driverless AI running on
+            <a href="https://h2oai.github.io/h2o-ai-cloud" target="_blank">H2O AI Cloud</a> 
+            and does not support standalone app instances.'''),
+        ui.text('''Sign up at <a href="https://h2o.ai/free" target="_blank">https://h2o.ai/free</a>
+            to run apps on cloud.''')
+    ]
+
+
+def form_default(q: Q):
+    # display when app is initialized
+    return [
+        ui.text(content=DATASET_TEXT),
+        ui.dropdown(name='dai_instance_id', label='Select Driverless AI instance', value=q.client.dai_instance_id,
+                    choices=q.client.choices_dai_instances, required=True),
+        ui.text(content=STEAM_TEXT, visible=q.client.disable_training),
+        ui.slider(name='dai_interpretability', label='Interpretability', min=1, max=10, step=1, value=7),
+        ui.toggle(name='dai_reproducible', label='Reproducible', value=False),
+        ui.buttons(items=[
+            ui.button(name='train', label='Train', primary=True, disabled=q.client.disable_training),
+            ui.button(name='predict', label='Predict', primary=True, disabled=True),
+        ])
+    ]
+
+
+def form_training_progress(q: Q):
+    # display when model training is in progress
+    return [
+        ui.text(content=DATASET_TEXT),
+        ui.dropdown(name='dai_instance_id', label='Select Driverless AI instance', value=q.client.dai_instance_id,
+                    choices=q.client.choices_dai_instances, required=True),
+        ui.slider(name='dai_interpretability', label='Interpretability', min=1, max=10, step=1,
+                  value=q.client.dai_interpretability),
+        ui.toggle(name='dai_reproducible', label='Reproducible', value=q.client.dai_reproducible),
+        ui.buttons(items=[
+            ui.button(name='train', label='Train', primary=True, disabled=True),
+            ui.button(name='predict', label='Predict', primary=True, disabled=True)
+        ]),
+        ui.progress(label='Training in progress...', caption='This can take a few minutes...'),
+        ui.text(content=q.client.model_details)
+    ]
+
+
+def form_training_completed(q: Q):
+    # display when model training is completed
+    return [
+        ui.text(content=DATASET_TEXT),
+        ui.dropdown(name='dai_instance_id', label='Select Driverless AI instance', value=q.client.dai_instance_id,
+                    choices=q.client.choices_dai_instances, required=True),
+        ui.slider(name='dai_interpretability', label='Interpretability', min=1, max=10, step=1,
+                  value=q.client.dai_interpretability),
+        ui.toggle(name='dai_reproducible', label='Reproducible', value=q.client.dai_reproducible),
+        ui.buttons(items=[
+            ui.button(name='train', label='Train', primary=True),
+            ui.button(name='predict', label='Predict', primary=True)
+        ]),
+        ui.message_bar(type='success', text='Training successfully completed!'),
+        ui.text(content=q.client.model_details)
+    ]
+
+
+def form_prediction_completed(q: Q):
+    # display when model prediction is completed
+    return [
+        ui.text(content=DATASET_TEXT),
+        ui.dropdown(name='dai_instance_id', label='Select Driverless AI instance', value=q.client.dai_instance_id,
+                    choices=q.client.choices_dai_instances, required=True),
+        ui.slider(name='dai_interpretability', label='Interpretability', min=1, max=10, step=1,
+                  value=q.client.dai_interpretability),
+        ui.toggle(name='dai_reproducible', label='Reproducible', value=q.client.dai_reproducible),
+        ui.buttons(items=[
+            ui.button(name='train', label='Train', primary=True),
+            ui.button(name='predict', label='Predict', primary=True)
+        ]),
+        ui.message_bar(type='success', text='Prediction successfully completed!'),
+        ui.text(content=q.client.model_details),
+        ui.text(content=f'''**Example predictions:** <br />
+            {q.client.preds[0]} <br /> {q.client.preds[1]} <br /> {q.client.preds[2]}''')
+    ]
+
+
+@app('/demo')
+async def serve(q: Q):
+    if 'H2O_CLOUD_ENVIRONMENT' not in os.environ:
+        # show appropriate message if app is not running on cloud
+        q.page['example'] = ui.form_card(
+            box='1 1 -1 -1',
+            items=form_unsupported()
+        )
+    elif q.args.train:
+        # get DAI instance name
+        copy_expando(q.args, q.client)
+
+        for dai_instance in q.client.dai_instances:
+            if dai_instance['id'] == int(q.client.dai_instance_id):
+                q.client.dai_instance_name = dai_instance['name']
+
+        # set DAI model details
+        q.client.model_details = dai_experiment_url(q.client.dai_instance_id, q.client.dai_instance_name)
+
+        # show training progress and details
+        q.page['example'].items = form_training_progress(q)
+        await q.page.save()
+
+        # train WaveML Model using Driverless AI
+        q.client.wave_model = await q.run(
+            func=build_model,
+            train_df=q.client.train_df,
+            target_column='target',
+            model_type=ModelType.DAI,
+            refresh_token=q.auth.refresh_token,
+            _steam_dai_instance_name=q.client.dai_instance_name,
+            _dai_accuracy=1,
+            _dai_time=1,
+            _dai_interpretability=q.client.dai_interpretability,
+            _dai_reproducible=q.client.dai_reproducible
+        )
+
+        # update DAI model details
+        q.client.project_id = q.client.wave_model.project_id
+        q.client.model_details += f'<br />{mlops_deployment_url(q.client.project_id)}'
+
+        # show prediction option
+        q.page['example'].items = form_training_completed(q)
+    elif q.args.predict:
+        # predict on test data
+        q.client.preds = q.client.wave_model.predict(test_df=q.client.test_df)
+
+        # show predictions
+        q.page['example'].items = form_prediction_completed(q)
+    else:
+        # prepare sample train and test dataframes
+        data = load_wine(as_frame=True)['frame']
+        q.client.train_df, q.client.test_df = train_test_split(data, train_size=0.8)
+
+        # DAI instances
+        q.client.dai_instances = list_dai_instances(refresh_token=q.auth.refresh_token)
+        q.client.choices_dai_instances = [
+            ui.choice(
+                name=str(x['id']),
+                label=f'{x["name"]} ({x["status"].capitalize()})',
+                disabled=x['status'] != 'running'
+            ) for x in q.client.dai_instances
+        ]
+
+        running_dai_instances = [x['id'] for x in q.client.dai_instances if x['status'] == 'running']
+        q.client.disable_training = False if running_dai_instances else True
+        q.client.dai_instance_id = str(running_dai_instances[0]) if running_dai_instances else ''
+
+        # display ui
+        q.page['example'] = ui.form_card(
+            box='1 1 -1 -1',
+            items=form_default(q)
+        )
+
+    await q.page.save()
diff --git a/examples/ml_dai_save.py b/examples/ml_dai_save.py
new file mode 100644
index 0000000000000000000000000000000000000000..1ce3c26050ce67518566fe85d6f5b0dad7cb6567
--- /dev/null
+++ b/examples/ml_dai_save.py
@@ -0,0 +1,182 @@
+# WaveML / DAI / Save
+# Save and load Wave Models built using Driverless AI.
+# ---
+import os
+
+from h2o_wave import main, app, Q, copy_expando, ui
+from h2o_wave_ml import build_model, get_model, ModelType
+from h2o_wave_ml.utils import list_dai_instances
+
+from sklearn.datasets import load_wine
+from sklearn.model_selection import train_test_split
+
+STEAM_URL = os.environ.get('STEAM_URL')
+MLOPS_URL = os.environ.get('MLOPS_URL')
+
+DATASET_TEXT = '''The sample dataset used is the
+    <a href="https://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_wine.html" target="_blank">wine dataset</a>.'''
+STEAM_TEXT = f'''No Driverless AI instances available. You may create one in 
+    <a href="{STEAM_URL}/#/driverless/instances" target="_blank">AI Engines</a> and refresh the page.'''
+
+
+def dai_experiment_url(instance_id: str, instance_name: str):
+    # URL link to Driverless AI experiment
+    return f'''**Driverless AI Experiment:**
+        <a href="{STEAM_URL}/oidc-login-start?forward=/proxy/driverless/{instance_id}/openid/callback" target="_blank">{instance_name}</a>'''
+
+
+def mlops_deployment_url(project_id: str):
+    # URL link to MLOps deployment
+    return f'**MLOps Deployment:** <a href="{MLOPS_URL}/projects/{project_id}" target="_blank">{project_id}'
+
+
+def form_unsupported():
+    # display when app is not running on cloud
+    return [
+        ui.text('''This example requires access to Driverless AI running on
+            <a href="https://h2oai.github.io/h2o-ai-cloud" target="_blank">H2O AI Cloud</a> 
+            and does not support standalone app instances.'''),
+        ui.text('''Sign up at <a href="https://h2o.ai/free" target="_blank">https://h2o.ai/free</a>
+            to run apps on cloud.''')
+    ]
+
+
+def form_default(q: Q):
+    # display when app is initialized
+    return [
+        ui.text(content=DATASET_TEXT),
+        ui.dropdown(name='dai_instance_id', label='Select Driverless AI instance', value=q.client.dai_instance_id,
+                    choices=q.client.choices_dai_instances, required=True),
+        ui.text(content=STEAM_TEXT, visible=q.client.disable_training),
+        ui.buttons(items=[
+            ui.button(name='train', label='Train', primary=True, disabled=q.client.disable_training),
+            ui.button(name='predict', label='Predict', primary=True, disabled=True),
+        ])
+    ]
+
+
+def form_training_progress(q: Q):
+    # display when model training is in progress
+    return [
+        ui.text(content=DATASET_TEXT),
+        ui.dropdown(name='dai_instance_id', label='Select Driverless AI instance', value=q.client.dai_instance_id,
+                    choices=q.client.choices_dai_instances, required=True),
+        ui.buttons(items=[
+            ui.button(name='train', label='Train', primary=True, disabled=True),
+            ui.button(name='predict', label='Predict', primary=True, disabled=True)
+        ]),
+        ui.progress(label='Training in progress...', caption='This can take a few minutes...'),
+        ui.text(content=q.client.model_details)
+    ]
+
+
+def form_training_completed(q: Q):
+    # display when model training is completed
+    return [
+        ui.text(content=DATASET_TEXT),
+        ui.dropdown(name='dai_instance_id', label='Select Driverless AI instance', value=q.client.dai_instance_id,
+                    choices=q.client.choices_dai_instances, required=True),
+        ui.buttons(items=[
+            ui.button(name='train', label='Train', primary=True),
+            ui.button(name='predict', label='Predict', primary=True)
+        ]),
+        ui.message_bar(type='success', text='Training successfully completed!'),
+        ui.text(content=q.client.model_details)
+    ]
+
+
+def form_prediction_completed(q: Q):
+    # display when model prediction is completed
+    return [
+        ui.text(content=DATASET_TEXT),
+        ui.dropdown(name='dai_instance_id', label='Select Driverless AI instance', value=q.client.dai_instance_id,
+                    choices=q.client.choices_dai_instances, required=True),
+        ui.buttons(items=[
+            ui.button(name='train', label='Train', primary=True),
+            ui.button(name='predict', label='Predict', primary=True)
+        ]),
+        ui.message_bar(type='success', text='Prediction successfully completed!'),
+        ui.text(content=q.client.model_details),
+        ui.text(content=f'''**Example predictions:** <br />
+            {q.client.preds[0]} <br /> {q.client.preds[1]} <br /> {q.client.preds[2]}''')
+    ]
+
+
+@app('/demo')
+async def serve(q: Q):
+    if 'H2O_CLOUD_ENVIRONMENT' not in os.environ:
+        # show appropriate message if app is not running on cloud
+        q.page['example'] = ui.form_card(
+            box='1 1 -1 -1',
+            items=form_unsupported()
+        )
+    elif q.args.train:
+        # get DAI instance name
+        copy_expando(q.args, q.client)
+
+        for dai_instance in q.client.dai_instances:
+            if dai_instance['id'] == int(q.client.dai_instance_id):
+                q.client.dai_instance_name = dai_instance['name']
+
+        # set DAI model details
+        q.client.model_details = dai_experiment_url(q.client.dai_instance_id, q.client.dai_instance_name)
+
+        # show training progress and details
+        q.page['example'].items = form_training_progress(q)
+        await q.page.save()
+
+        # train WaveML Model using Driverless AI
+        wave_model = await q.run(
+            func=build_model,
+            train_df=q.client.train_df,
+            target_column='target',
+            model_type=ModelType.DAI,
+            refresh_token=q.auth.refresh_token,
+            _steam_dai_instance_name=q.client.dai_instance_name,
+            _dai_accuracy=1,
+            _dai_time=1,
+            _dai_interpretability=10
+        )
+
+        # update and save DAI model details
+        q.client.project_id = wave_model.project_id
+        q.client.endpoint_url = wave_model.endpoint_url
+        q.client.model_details += f'<br />{mlops_deployment_url(q.client.project_id)}'
+
+        # show prediction option
+        q.page['example'].items = form_training_completed(q)
+    elif q.args.predict:
+        # load model from it's endpoint URL
+        wave_model = get_model(endpoint_url=q.client.endpoint_url, refresh_token=q.auth.refresh_token)
+
+        # predict on test data
+        q.client.preds = wave_model.predict(test_df=q.client.test_df)
+
+        # show predictions
+        q.page['example'].items = form_prediction_completed(q)
+    else:
+        # prepare sample train and test dataframes
+        data = load_wine(as_frame=True)['frame']
+        q.client.train_df, q.client.test_df = train_test_split(data, train_size=0.8)
+
+        # DAI instances
+        q.client.dai_instances = list_dai_instances(refresh_token=q.auth.refresh_token)
+        q.client.choices_dai_instances = [
+            ui.choice(
+                name=str(x['id']),
+                label=f'{x["name"]} ({x["status"].capitalize()})',
+                disabled=x['status'] != 'running'
+            ) for x in q.client.dai_instances
+        ]
+
+        running_dai_instances = [x['id'] for x in q.client.dai_instances if x['status'] == 'running']
+        q.client.disable_training = False if running_dai_instances else True
+        q.client.dai_instance_id = str(running_dai_instances[0]) if running_dai_instances else ''
+
+        # display ui
+        q.page['example'] = ui.form_card(
+            box='1 1 -1 -1',
+            items=form_default(q)
+        )
+
+    await q.page.save()
diff --git a/examples/ml_h2o.py b/examples/ml_h2o.py
new file mode 100644
index 0000000000000000000000000000000000000000..0ff83209e104c91ff9d7a6126bc1a46071f0c706
--- /dev/null
+++ b/examples/ml_h2o.py
@@ -0,0 +1,61 @@
+# WaveML / H2O-3
+# Build Wave Models for training and prediction of classification or regression using H2O-3 AutoML.
+# ---
+from h2o_wave import main, app, Q, ui
+from h2o_wave_ml import build_model, ModelType
+
+from sklearn.datasets import load_wine
+from sklearn.model_selection import train_test_split
+
+
+@app('/demo')
+async def serve(q: Q):
+    if q.args.train:
+        # train WaveML Model using H2O-3 AutoML
+        q.client.wave_model = build_model(
+            train_df=q.client.train_df,
+            target_column='target',
+            model_type=ModelType.H2O3,
+            _h2o3_max_runtime_secs=5,
+            _h2o3_nfolds=2
+        )
+        model_id = q.client.wave_model.model.model_id
+        accuracy = round(100 - q.client.wave_model.model.mean_per_class_error() * 100, 2)
+
+        # show training details and prediction option
+        q.page['example'].predict.disabled = False
+        q.page['example'].message.type = 'success'
+        q.page['example'].message.text = 'Training successfully completed!'
+        q.page['example'].model_id.content = f'''**H2O AutoML model id:** {model_id} <br />
+            **Accuracy:** {accuracy}%'''
+        q.page['example'].example_predictions.content = ''
+    elif q.args.predict:
+        # predict on test data
+        preds = q.client.wave_model.predict(test_df=q.client.test_df)
+
+        # show predictions
+        q.page['example'].message.text = 'Prediction successfully completed!'
+        q.page['example'].example_predictions.content = f'''**Example predictions:** <br />
+            {preds[0]} <br /> {preds[1]} <br /> {preds[2]}'''
+    else:
+        # prepare sample train and test dataframes
+        data = load_wine(as_frame=True)['frame']
+        q.client.train_df, q.client.test_df = train_test_split(data, train_size=0.8)
+
+        # display ui
+        q.page['example'] = ui.form_card(
+            box='1 1 -1 -1',
+            items=[
+                ui.text(content='''The sample dataset used is the
+                    <a href="https://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_wine.html" target="_blank">wine dataset</a>.'''),
+                ui.buttons(items=[
+                    ui.button(name='train', label='Train', primary=True),
+                    ui.button(name='predict', label='Predict', primary=True, disabled=True),
+                ]),
+                ui.message_bar(name='message', type='warning', text='Training will take a few seconds'),
+                ui.text(name='model_id', content=''),
+                ui.text(name='example_predictions', content='')
+            ]
+        )
+
+    await q.page.save()
diff --git a/examples/ml_h2o_algo.py b/examples/ml_h2o_algo.py
new file mode 100644
index 0000000000000000000000000000000000000000..fbc75f3f9879650f7196100c1c1246d92fcae3ed
--- /dev/null
+++ b/examples/ml_h2o_algo.py
@@ -0,0 +1,68 @@
+# WaveML / H2O-3 / Algo
+# Configure a specific algo for Wave Models built using H2O-3 AutoML.
+# ---
+from h2o_wave import main, app, Q, ui, copy_expando
+from h2o_wave_ml import build_model, ModelType
+
+from sklearn.datasets import load_wine
+from sklearn.model_selection import train_test_split
+
+
+@app('/demo')
+async def serve(q: Q):
+    if q.args.train:
+        # train WaveML Model using H2O-3 AutoML
+        copy_expando(q.args, q.client)
+        q.client.wave_model = build_model(
+            train_df=q.client.train_df,
+            target_column='target',
+            model_type=ModelType.H2O3,
+            _h2o3_max_runtime_secs=30,
+            _h2o3_nfolds=2,
+            _h2o3_include_algos=[q.client.algo]
+        )
+        model_id = q.client.wave_model.model.model_id
+        accuracy = round(100 - q.client.wave_model.model.mean_per_class_error() * 100, 2)
+
+        # show training details and prediction option
+        q.page['example'].algo.value = q.client.algo
+        q.page['example'].predict.disabled = False
+        q.page['example'].message.type = 'success'
+        q.page['example'].message.text = 'Training successfully completed!'
+        q.page['example'].model_id.content = f'''**H2O AutoML model id:** {model_id} <br />
+            **Accuracy:** {accuracy}%'''
+        q.page['example'].example_predictions.content = ''
+    elif q.args.predict:
+        # predict on test data
+        preds = q.client.wave_model.predict(test_df=q.client.test_df)
+
+        # show predictions
+        q.page['example'].message.text = 'Prediction successfully completed!'
+        q.page['example'].example_predictions.content = f'''**Example predictions:** <br />
+            {preds[0]} <br /> {preds[1]} <br /> {preds[2]}'''
+    else:
+        # prepare sample train and test dataframes
+        data = load_wine(as_frame=True)['frame']
+        q.client.train_df, q.client.test_df = train_test_split(data, train_size=0.8)
+
+        # algos
+        algo_choices = [ui.choice(x, x) for x in ['DRF', 'GLM', 'XGBoost', 'GBM', 'DeepLearning']]
+
+        # display ui
+        q.page['example'] = ui.form_card(
+            box='1 1 -1 -1',
+            items=[
+                ui.text(content='''The sample dataset used is the
+                    <a href="https://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_wine.html" target="_blank">wine dataset</a>.'''),
+                ui.choice_group(name='algo', label='Select Algo', choices=algo_choices, value='DRF'),
+                ui.buttons(items=[
+                    ui.button(name='train', label='Train', primary=True),
+                    ui.button(name='predict', label='Predict', primary=True, disabled=True),
+                ]),
+                ui.message_bar(name='message', type='warning', text='Training will take a few seconds'),
+                ui.text(name='model_id', content=''),
+                ui.text(name='example_predictions', content='')
+            ]
+        )
+
+    await q.page.save()
diff --git a/examples/ml_h2o_categorical.py b/examples/ml_h2o_categorical.py
new file mode 100644
index 0000000000000000000000000000000000000000..dc4de911b54019292c0e84971e6a96ffe9ce4559
--- /dev/null
+++ b/examples/ml_h2o_categorical.py
@@ -0,0 +1,69 @@
+# WaveML / H2O-3 / Categorical
+# Configure categorical columns for Wave Models built using H2O-3 AutoML.
+# ---
+from h2o_wave import main, app, Q, ui, copy_expando
+from h2o_wave_ml import build_model, ModelType
+
+from sklearn.datasets import load_wine
+from sklearn.model_selection import train_test_split
+
+
+@app('/demo')
+async def serve(q: Q):
+    if q.args.train:
+        # train WaveML Model using H2O-3 AutoML
+        copy_expando(q.args, q.client)
+        q.client.wave_model = build_model(
+            train_df=q.client.train_df,
+            target_column='target',
+            model_type=ModelType.H2O3,
+            categorical_columns=q.client.categorical_columns,
+            _h2o3_max_runtime_secs=5,
+            _h2o3_nfolds=2
+        )
+        model_id = q.client.wave_model.model.model_id
+        accuracy = round(100 - q.client.wave_model.model.mean_per_class_error() * 100, 2)
+
+        # show training details and prediction option
+        q.page['example'].categorical_columns.values = q.client.categorical_columns
+        q.page['example'].predict.disabled = False
+        q.page['example'].message.type = 'success'
+        q.page['example'].message.text = 'Training successfully completed!'
+        q.page['example'].model_id.content = f'''**H2O AutoML model id:** {model_id} <br />
+            **Accuracy:** {accuracy}%'''
+        q.page['example'].example_predictions.content = ''
+    elif q.args.predict:
+        # predict on test data
+        preds = q.client.wave_model.predict(test_df=q.client.test_df)
+
+        # show predictions
+        q.page['example'].message.text = 'Prediction successfully completed!'
+        q.page['example'].example_predictions.content = f'''**Example predictions:** <br />
+            {preds[0]} <br /> {preds[1]} <br /> {preds[2]}'''
+    else:
+        # prepare sample train and test dataframes
+        data = load_wine(as_frame=True)['frame']
+        q.client.train_df, q.client.test_df = train_test_split(data, train_size=0.8)
+
+        # columns
+        column_choices = [ui.choice(x, x) for x in q.client.train_df.columns if x != 'target']
+
+        # display ui
+        q.page['example'] = ui.form_card(
+            box='1 1 -1 -1',
+            items=[
+                ui.text(content='''The sample dataset used is the
+                    <a href="https://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_wine.html" target="_blank">wine dataset</a>.'''),
+                ui.dropdown(name='categorical_columns', label='Select categorical columns',
+                            choices=column_choices, values=[]),
+                ui.buttons(items=[
+                    ui.button(name='train', label='Train', primary=True),
+                    ui.button(name='predict', label='Predict', primary=True, disabled=True),
+                ]),
+                ui.message_bar(name='message', type='warning', text='Training will take a few seconds'),
+                ui.text(name='model_id', content=''),
+                ui.text(name='example_predictions', content='')
+            ]
+        )
+
+    await q.page.save()
diff --git a/examples/ml_h2o_parameters.py b/examples/ml_h2o_parameters.py
new file mode 100644
index 0000000000000000000000000000000000000000..03ff21eea28efbb6ea116dbf70a62356bd1b9f59
--- /dev/null
+++ b/examples/ml_h2o_parameters.py
@@ -0,0 +1,68 @@
+# WaveML / H2O-3 / Parameters
+# Configure hyperparameters for Wave Models built using H2O-3 AutoML.
+# ---
+from h2o_wave import main, app, Q, ui, copy_expando
+from h2o_wave_ml import build_model, ModelType
+
+from sklearn.datasets import load_wine
+from sklearn.model_selection import train_test_split
+
+
+@app('/demo')
+async def serve(q: Q):
+    if q.args.train:
+        # train WaveML Model using H2O-3 AutoML
+        copy_expando(q.args, q.client)
+        exclude_algos = [] if q.client.include_dl else ['DeepLearning']
+        q.client.wave_model = build_model(
+            train_df=q.client.train_df,
+            target_column='target',
+            model_type=ModelType.H2O3,
+            _h2o3_max_runtime_secs=q.client.max_runtime_secs,
+            _h2o3_nfolds=2,
+            _h2o3_exclude_algos=exclude_algos
+        )
+        model_id = q.client.wave_model.model.model_id
+        accuracy = round(100 - q.client.wave_model.model.mean_per_class_error() * 100, 2)
+
+        # show training details and prediction option
+        q.page['example'].max_runtime_secs.value = q.client.max_runtime_secs
+        q.page['example'].include_dl.value = q.client.include_dl
+        q.page['example'].predict.disabled = False
+        q.page['example'].message.type = 'success'
+        q.page['example'].message.text = 'Training successfully completed!'
+        q.page['example'].model_id.content = f'''**H2O AutoML model id:** {model_id} <br />
+            **Accuracy:** {accuracy}%'''
+        q.page['example'].example_predictions.content = ''
+    elif q.args.predict:
+        # predict on test data
+        preds = q.client.wave_model.predict(test_df=q.client.test_df)
+
+        # show predictions
+        q.page['example'].message.text = 'Prediction successfully completed!'
+        q.page['example'].example_predictions.content = f'''**Example predictions:** <br />
+            {preds[0]} <br /> {preds[1]} <br /> {preds[2]}'''
+    else:
+        # prepare sample train and test dataframes
+        data = load_wine(as_frame=True)['frame']
+        q.client.train_df, q.client.test_df = train_test_split(data, train_size=0.8)
+
+        # display ui
+        q.page['example'] = ui.form_card(
+            box='1 1 -1 -1',
+            items=[
+                ui.text(content='''The sample dataset used is the
+                    <a href="https://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_wine.html" target="_blank">wine dataset</a>.'''),
+                ui.spinbox(name='max_runtime_secs', label='Max Runtime (Secs)', min=5, max=30, step=1, value=10),
+                ui.toggle(name='include_dl', label='Include Deep Learning', value=False),
+                ui.buttons(items=[
+                    ui.button(name='train', label='Train', primary=True),
+                    ui.button(name='predict', label='Predict', primary=True, disabled=True),
+                ]),
+                ui.message_bar(name='message', type='warning', text='Training will take a few seconds'),
+                ui.text(name='model_id', content=''),
+                ui.text(name='example_predictions', content='')
+            ]
+        )
+
+    await q.page.save()
diff --git a/examples/ml_h2o_save.py b/examples/ml_h2o_save.py
new file mode 100644
index 0000000000000000000000000000000000000000..60e25f9eb4fa1c5d6c812b1b235e73763df63d15
--- /dev/null
+++ b/examples/ml_h2o_save.py
@@ -0,0 +1,67 @@
+# WaveML / H2O-3 / Save
+# Save and load Wave Models built using H2O-3 AutoML.
+# ---
+from h2o_wave import main, app, Q, ui
+from h2o_wave_ml import build_model, load_model, save_model, ModelType
+
+from sklearn.datasets import load_wine
+from sklearn.model_selection import train_test_split
+
+
+@app('/demo')
+async def serve(q: Q):
+    if q.args.train:
+        # train WaveML Model using H2O-3 AutoML
+        wave_model = build_model(
+            train_df=q.client.train_df,
+            target_column='target',
+            model_type=ModelType.H2O3,
+            _h2o3_max_runtime_secs=5,
+            _h2o3_nfolds=2
+        )
+        model_id = wave_model.model.model_id
+        accuracy = round(100 - wave_model.model.mean_per_class_error() * 100, 2)
+
+        # save model to local folder
+        q.client.path_model = save_model(model=wave_model, output_dir_path='./mymodelfolder')
+
+        # show training details and prediction option
+        q.page['example'].predict.disabled = False
+        q.page['example'].message.type = 'success'
+        q.page['example'].message.text = 'Training successfully completed!'
+        q.page['example'].model_id.content = f'''**H2O AutoML model id:** {model_id} <br />
+            **Accuracy:** {accuracy}%'''
+        q.page['example'].example_predictions.content = ''
+    elif q.args.predict:
+        # load model from local path
+        wave_model = load_model(file_path=q.client.path_model)
+
+        # predict on test data
+        preds = wave_model.predict(test_df=q.client.test_df)
+
+        # show predictions
+        q.page['example'].message.text = 'Prediction successfully completed!'
+        q.page['example'].example_predictions.content = f'''**Example predictions:** <br />
+            {preds[0]} <br /> {preds[1]} <br /> {preds[2]}'''
+    else:
+        # prepare sample train and test dataframes
+        data = load_wine(as_frame=True)['frame']
+        q.client.train_df, q.client.test_df = train_test_split(data, train_size=0.8)
+
+        # display ui
+        q.page['example'] = ui.form_card(
+            box='1 1 -1 -1',
+            items=[
+                ui.text(content='''The sample dataset used is the
+                    <a href="https://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_wine.html" target="_blank">wine dataset</a>.'''),
+                ui.buttons(items=[
+                    ui.button(name='train', label='Train', primary=True),
+                    ui.button(name='predict', label='Predict', primary=True, disabled=True),
+                ]),
+                ui.message_bar(name='message', type='warning', text='Training will take a few seconds'),
+                ui.text(name='model_id', content=''),
+                ui.text(name='example_predictions', content='')
+            ]
+        )
+
+    await q.page.save()
diff --git a/examples/ml_h2o_shap.py b/examples/ml_h2o_shap.py
new file mode 100644
index 0000000000000000000000000000000000000000..626bd992e73a52472dc849f027044233d107d4a0
--- /dev/null
+++ b/examples/ml_h2o_shap.py
@@ -0,0 +1,68 @@
+# WaveML / H2O-3 / SHAP
+# Extract SHAP values during prediction from Wave Models built using H2O-3 AutoML.
+# ---
+from h2o import H2OFrame
+from h2o_wave import main, app, Q, ui
+from h2o_wave_ml import build_model, ModelType
+
+from sklearn.datasets import load_breast_cancer
+from sklearn.model_selection import train_test_split
+
+
+@app('/demo')
+async def serve(q: Q):
+    if q.args.train:
+        # train WaveML Model using H2O-3 AutoML
+        q.client.wave_model = build_model(
+            train_df=q.client.train_df,
+            target_column='target',
+            model_type=ModelType.H2O3,
+            _h2o3_max_runtime_secs=5,
+            _h2o3_nfolds=2,
+            _h2o3_include_algos=['DRF', 'XGBoost', 'GBM']
+        )
+        model_id = q.client.wave_model.model.model_id
+        accuracy = round(q.client.wave_model.model.accuracy()[0][1] * 100, 2)
+
+        # show training details and prediction option
+        q.page['example'].predict.disabled = False
+        q.page['example'].message.type = 'success'
+        q.page['example'].message.text = 'Training successfully completed!'
+        q.page['example'].model_id.content = f'''**H2O AutoML model id:** {model_id} <br />
+            **Accuracy:** {accuracy}%'''
+        q.page['example'].example_predictions.content = ''
+        q.page['example'].example_contributions.content = ''
+    elif q.args.predict:
+        # predict on test data
+        preds = q.client.wave_model.predict(test_df=q.client.test_df)
+        shaps = q.client.wave_model.model.predict_contributions(H2OFrame(q.client.test_df)).as_data_frame()
+
+        # show predictions
+        q.page['example'].message.text = 'Prediction successfully completed!'
+        q.page['example'].example_predictions.content = f'''**Example predictions:** <br />
+            {preds[0]} <br /> {preds[1]} <br /> {preds[2]}'''
+        q.page['example'].example_contributions.content = f'''**Example SHAP contributions:** <br />
+            {shaps.head(3).to_html()}'''
+    else:
+        # prepare sample train and test dataframes
+        data = load_breast_cancer(as_frame=True)['frame']
+        q.client.train_df, q.client.test_df = train_test_split(data, train_size=0.8)
+
+        # display ui
+        q.page['example'] = ui.form_card(
+            box='1 1 -1 -1',
+            items=[
+                ui.text(content='''The sample dataset used is the
+                    <a href="https://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_breast_cancer.html#sklearn.datasets.load_breast_cancer" target="_blank">breast cancer dataset</a>.'''),
+                ui.buttons(items=[
+                    ui.button(name='train', label='Train', primary=True),
+                    ui.button(name='predict', label='Predict', primary=True, disabled=True),
+                ]),
+                ui.message_bar(name='message', type='warning', text='Training will take a few seconds'),
+                ui.text(name='model_id', content=''),
+                ui.text(name='example_predictions', content=''),
+                ui.text(name='example_contributions', content='')
+            ]
+        )
+
+    await q.page.save()
diff --git a/examples/nav.py b/examples/nav.py
new file mode 100644
index 0000000000000000000000000000000000000000..b56d10ce37da2f1c783363de3e75e36008915875
--- /dev/null
+++ b/examples/nav.py
@@ -0,0 +1,71 @@
+# Nav
+# Use nav cards to display #sidebar #navigation.
+# ---
+from h2o_wave import main, app, Q, ui
+
+
+persona = 'https://images.pexels.com/photos/220453/pexels-photo-220453.jpeg?auto=compress&h=750&w=1260'
+
+
+@app('/demo')
+async def serve(q: Q):
+    if '#' in q.args and not q.args.show_nav:
+        hash_ = q.args['#']
+        q.page.drop()
+        q.page['redirect'] = ui.form_card(box='1 1 2 5', items=[
+            ui.text(f'#={hash_}'),
+            ui.button(name='show_nav', label='Back', primary=True),
+        ])
+    else:
+        q.page['meta'] = ui.meta_card(box='', redirect='#')
+        q.page['nav1'] = ui.nav_card(
+            box='1 1 2 -1',
+            value='#menu/spam',
+            title='H2O Wave',
+            subtitle='And now for something completely different!',
+            image='https://wave.h2o.ai/img/h2o-logo.svg',
+            items=[
+                ui.nav_group('Menu', items=[
+                    ui.nav_item(name='#menu/spam', label='Spam'),
+                    ui.nav_item(name='#menu/ham', label='Ham'),
+                    ui.nav_item(name='#menu/eggs', label='Eggs', tooltip='Make me a scrambled egg.'),
+                    ui.nav_item(name='#menu/toast', label='Toast', disabled=True),
+                ]),
+                ui.nav_group('Help', items=[
+                    ui.nav_item(name='#about', label='About', icon='Info'),
+                    ui.nav_item(name='#support', label='Support', icon='Help'),
+                    ui.nav_item(name='faq', label='FAQ', icon='OfficeChat', path='https://h2o.ai/'),
+                ])
+            ],
+            secondary_items=[
+                ui.inline(items=[
+                    ui.persona(title='John Doe', subtitle='Software developer', size='s', image=persona),
+                    ui.menu(items=[
+                        ui.command(name='profile', label='Profile', icon='Contact'),
+                        ui.command(name='preferences', label='Preferences', icon='Settings'),
+                        ui.command(name='logout', label='Logout', icon='SignOut'),
+                    ])
+                ]),
+            ],
+        )
+        q.page['nav2'] = ui.nav_card(
+            box='3 1 2 -1',
+            value='#menu/ham',
+            persona=ui.persona(title='John Doe', subtitle='Data Scientist', caption='Online', size='xl', image=persona),
+            items=[
+                ui.nav_group('Menu', items=[
+                    ui.nav_item(name='#menu/spam', label='Spam'),
+                    ui.nav_item(name='#menu/ham', label='Ham'),
+                    ui.nav_item(name='#menu/eggs', label='Eggs'),
+                    ui.nav_item(name='#menu/toast', label='Toast', disabled=True),
+                ]),
+                ui.nav_group('Help', items=[
+                    ui.nav_item(name='#about', label='About', icon='Info'),
+                    ui.nav_item(name='#support', label='Support', icon='Help'),
+                    ui.nav_item(name='faq', label='FAQ', icon='OfficeChat', path='https://h2o.ai/'),
+                ])
+            ],
+            secondary_items=[ui.button(name='logout', label='Logout', width='100%')],
+            color='primary'
+        )
+    await q.page.save()
diff --git a/examples/persona.py b/examples/persona.py
new file mode 100644
index 0000000000000000000000000000000000000000..16ea0848ed9ce1eac94196a06d88328f33a33d73
--- /dev/null
+++ b/examples/persona.py
@@ -0,0 +1,27 @@
+# Form / Persona
+# Create an individual's persona or avatar, a visual representation of a person across products.
+# #form
+# ---
+from h2o_wave import main, app, Q, ui
+
+
+@app('/demo')
+async def serve(q: Q):
+    if q.args.persona:
+        q.page['example'].items = [
+            ui.text_m(f'q.args.persona={q.args.persona}'),
+            ui.button(name='back', label='Back', primary=True),
+        ]
+    else:
+        image = 'https://images.pexels.com/photos/220453/pexels-photo-220453.jpeg?auto=compress&h=750&w=1260'
+        q.page['example'] = ui.form_card(box='1 1 2 7', items=[
+            ui.persona(title='John Doe', subtitle='Data Scientist', caption='Online', size='xs', image=image),
+            ui.persona(title='John Doe', subtitle='Data Scientist', caption='Online', size='s', image=image),
+            ui.persona(title='John Doe', subtitle='Data Scientist', caption='Online', size='m', image=image),
+            ui.persona(title='John Doe', subtitle='Data Scientist', caption='Online', size='l', image=image),
+            ui.persona(title='John Doe', subtitle='Data Scientist', caption='Online', size='xl', image=image),
+            ui.persona(title='', initials='JD', initials_color='$grey'),
+            ui.persona(name='persona', title='Click me', size='s', image=image)
+        ])
+
+    await q.page.save()
diff --git a/examples/picker.py b/examples/picker.py
new file mode 100644
index 0000000000000000000000000000000000000000..4dbe2c2a416314e0afb7b4fed013466e7e00672d
--- /dev/null
+++ b/examples/picker.py
@@ -0,0 +1,27 @@
+# Form / Picker
+# Use pickers to allow users to select one or more choices, such as tags or files, from a list.
+# #form #picker #choice
+# ---
+from h2o_wave import main, app, Q, ui
+
+
+@app('/demo')
+async def serve(q: Q):
+    if q.args.show_inputs:
+        q.page['example'].items = [
+            ui.text(f'selected={q.args.picker}'),
+            ui.button(name='show_form', label='Back', primary=True),
+        ]
+    else:
+        q.page['example'] = ui.form_card(box='1 1 4 5', items=[
+            ui.picker(name='picker', label='Place an order (try Spam, Eggs or Ham):', choices=[
+                ui.choice(name='spam', label='Spam'),
+                ui.choice(name='eggs', label='Eggs'),
+                ui.choice(name='ham', label='Ham'),
+                ui.choice(name='cheese', label='Cheese'),
+                ui.choice(name='beans', label='Beans'),
+                ui.choice(name='toast', label='Toast'),
+            ], values=['eggs']),
+            ui.button(name='show_inputs', label='Submit', primary=True),
+        ])
+    await q.page.save()
diff --git a/examples/picker_selection.py b/examples/picker_selection.py
new file mode 100644
index 0000000000000000000000000000000000000000..0999eaf707aba872d2a6ca5921420444308ebbf0
--- /dev/null
+++ b/examples/picker_selection.py
@@ -0,0 +1,27 @@
+# Form / Picker / Selection
+# Pre-select choices while displaying a #picker.
+# #form #selection #choice
+# ---
+from h2o_wave import main, app, Q, ui
+
+
+@app('/demo')
+async def serve(q: Q):
+    if q.args.show_inputs:
+        q.page['example'].items = [
+            ui.text(f'selected={q.args.picker}'),
+            ui.button(name='show_form', label='Back', primary=True),
+        ]
+    else:
+        q.page['example'] = ui.form_card(box='1 1 4 5', items=[
+            ui.picker(name='picker', label='Picker with initial values', choices=[
+                ui.choice(name='spam', label='Spam'),
+                ui.choice(name='eggs', label='Eggs'),
+                ui.choice(name='ham', label='Ham'),
+                ui.choice(name='cheese', label='Cheese'),
+                ui.choice(name='beans', label='Beans'),
+                ui.choice(name='toast', label='Toast'),
+            ], values=['spam', 'eggs']),
+            ui.button(name='show_inputs', label='Submit', primary=True),
+        ])
+    await q.page.save()
diff --git a/examples/pixel_art.py b/examples/pixel_art.py
new file mode 100644
index 0000000000000000000000000000000000000000..7ccd1a154d673a8eb1c7b3e2b54e837bf8119e20
--- /dev/null
+++ b/examples/pixel_art.py
@@ -0,0 +1,16 @@
+# Pixel Art
+# A card that demonstrates collaborative editing in Wave.
+# Open `/demo` in multiple browsers and watch them synchronize in realtime.
+# #collaboration
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+page.drop()
+
+page.add('example', ui.pixel_art_card(
+    box='1 1 4 6',
+    title='Art',
+    data=data('color', 16 * 16),
+))
+page.save()
diff --git a/examples/plot_altair.py b/examples/plot_altair.py
new file mode 100644
index 0000000000000000000000000000000000000000..6a34386281eb0bb6c099b6a0caed6443189d1289
--- /dev/null
+++ b/examples/plot_altair.py
@@ -0,0 +1,23 @@
+# Plot / Altair
+# Use #Altair to create #plot specifications for the #Vega card.
+# ---
+import altair
+from vega_datasets import data
+from h2o_wave import site, ui
+
+spec = altair.Chart(data.cars()).mark_circle(size=60).encode(
+    x='Horsepower',
+    y='Miles_per_Gallon',
+    color='Origin',
+    tooltip=['Name', 'Origin', 'Horsepower', 'Miles_per_Gallon']
+).properties(width='container', height='container').interactive().to_json()
+
+page = site['/demo']
+
+page['example'] = ui.vega_card(
+    box='1 1 4 5',
+    title='Altair Example',
+    specification=spec,
+)
+
+page.save()
diff --git a/examples/plot_app.py b/examples/plot_app.py
new file mode 100644
index 0000000000000000000000000000000000000000..6f73a281fa2e10fa205c082cc37445807dc93daf
--- /dev/null
+++ b/examples/plot_app.py
@@ -0,0 +1,30 @@
+# Plot / App
+# Make a #plot from an app.
+# ---
+from .synth import FakeMultiCategoricalSeries as F
+from h2o_wave import main, app, data, Q, ui
+
+n = 10
+k = 5
+f = F(groups=k)
+values = [(g, t, x) for x in [f.next() for _ in range(n)] for g, t, x, dx in x]
+
+
+@app('/demo')
+async def serve(q: Q):
+    v = q.page.add('example', ui.plot_card(
+        box='1 1 4 6',
+        title='Intervals, stacked',
+        data=data('country product price', n * k),
+        plot=ui.plot([ui.mark(
+            coord='rect',
+            type='interval',
+            x='=product',
+            y='=price',
+            y_min=0,
+            color='=country',
+            stack='auto',
+        )]),
+    ))
+    v.data = values
+    await q.page.save()
diff --git a/examples/plot_area.py b/examples/plot_area.py
new file mode 100644
index 0000000000000000000000000000000000000000..8d6026ed0998f8a0fdaa6bb9b522c67b8175c0f5
--- /dev/null
+++ b/examples/plot_area.py
@@ -0,0 +1,25 @@
+# Plot / Area
+# Make an area #plot.
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 5 5',
+    title='Area',
+    data=data('year price', 9, rows=[
+        ('1991', 15468),
+        ('1992', 16100),
+        ('1993', 15900),
+        ('1994', 17409),
+        ('1995', 17000),
+        ('1996', 31056),
+        ('1997', 31982),
+        ('1998', 32040),
+        ('1999', 33233),
+    ]),
+    plot=ui.plot([ui.mark(type='area', x='=year', y='=price', y_min=0)])
+))
+
+page.save()
diff --git a/examples/plot_area_groups.py b/examples/plot_area_groups.py
new file mode 100644
index 0000000000000000000000000000000000000000..75f2657d9833aaf0b7cf19fd25bcd6196b3cf1ca
--- /dev/null
+++ b/examples/plot_area_groups.py
@@ -0,0 +1,42 @@
+# Plot / Area / Groups
+# Make an area #plot showing multiple categories.
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Area, groups',
+    data=data('month city temperature', 24, rows=[
+        ('Jan', 'Tokyo', 7),
+        ('Jan', 'London', 3.9),
+        ('Feb', 'Tokyo', 6.9),
+        ('Feb', 'London', 4.2),
+        ('Mar', 'Tokyo', 9.5),
+        ('Mar', 'London', 5.7),
+        ('Apr', 'Tokyo', 14.5),
+        ('Apr', 'London', 8.5),
+        ('May', 'Tokyo', 18.4),
+        ('May', 'London', 11.9),
+        ('Jun', 'Tokyo', 21.5),
+        ('Jun', 'London', 15.2),
+        ('Jul', 'Tokyo', 25.2),
+        ('Jul', 'London', 17),
+        ('Aug', 'Tokyo', 26.5),
+        ('Aug', 'London', 16.6),
+        ('Sep', 'Tokyo', 23.3),
+        ('Sep', 'London', 14.2),
+        ('Oct', 'Tokyo', 18.3),
+        ('Oct', 'London', 10.3),
+        ('Nov', 'Tokyo', 13.9),
+        ('Nov', 'London', 6.6),
+        ('Dec', 'Tokyo', 9.6),
+        ('Dec', 'London', 4.8),
+    ]),
+    plot=ui.plot([
+        ui.mark(type='area', x='=month', y='=temperature', color='=city', y_min=0)
+    ])
+))
+
+page.save()
diff --git a/examples/plot_area_line.py b/examples/plot_area_line.py
new file mode 100644
index 0000000000000000000000000000000000000000..70d8c7b4c82a52426fd4e1052ab759d16b06f47c
--- /dev/null
+++ b/examples/plot_area_line.py
@@ -0,0 +1,28 @@
+# Plot / Area + Line
+# Make an area #plot with an additional line layer on top.
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Area + Line',
+    data=data('year price', 9, rows=[
+        ('1991', 15468),
+        ('1992', 16100),
+        ('1993', 15900),
+        ('1994', 17409),
+        ('1995', 17000),
+        ('1996', 31056),
+        ('1997', 31982),
+        ('1998', 32040),
+        ('1999', 33233),
+    ]),
+    plot=ui.plot([
+        ui.mark(type='area', x='=year', y='=price', y_min=0),
+        ui.mark(type='line', x='=year', y='=price')
+    ])
+))
+
+page.save()
diff --git a/examples/plot_area_line_groups.py b/examples/plot_area_line_groups.py
new file mode 100644
index 0000000000000000000000000000000000000000..ee4a19c3d71a405b3e6536fa978fa45fb49f8267
--- /dev/null
+++ b/examples/plot_area_line_groups.py
@@ -0,0 +1,43 @@
+# Plot / Area + Line / Groups
+# Make an combined area + line #plot showing multiple categories.
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Area + Line, groups',
+    data=data('month city temperature', 24, rows=[
+        ('Jan', 'Tokyo', 7),
+        ('Jan', 'London', 3.9),
+        ('Feb', 'Tokyo', 6.9),
+        ('Feb', 'London', 4.2),
+        ('Mar', 'Tokyo', 9.5),
+        ('Mar', 'London', 5.7),
+        ('Apr', 'Tokyo', 14.5),
+        ('Apr', 'London', 8.5),
+        ('May', 'Tokyo', 18.4),
+        ('May', 'London', 11.9),
+        ('Jun', 'Tokyo', 21.5),
+        ('Jun', 'London', 15.2),
+        ('Jul', 'Tokyo', 25.2),
+        ('Jul', 'London', 17),
+        ('Aug', 'Tokyo', 26.5),
+        ('Aug', 'London', 16.6),
+        ('Sep', 'Tokyo', 23.3),
+        ('Sep', 'London', 14.2),
+        ('Oct', 'Tokyo', 18.3),
+        ('Oct', 'London', 10.3),
+        ('Nov', 'Tokyo', 13.9),
+        ('Nov', 'London', 6.6),
+        ('Dec', 'Tokyo', 9.6),
+        ('Dec', 'London', 4.8),
+    ]),
+    plot=ui.plot([
+        ui.mark(type='area', x='=month', y='=temperature', color='=city', y_min=0),
+        ui.mark(type='line', x='=month', y='=temperature', color='=city')
+    ])
+))
+
+page.save()
diff --git a/examples/plot_area_line_smooth.py b/examples/plot_area_line_smooth.py
new file mode 100644
index 0000000000000000000000000000000000000000..6af2dd3d3bb68e9e34277de19251e56466861bd7
--- /dev/null
+++ b/examples/plot_area_line_smooth.py
@@ -0,0 +1,28 @@
+# Plot / Area + Line / Smooth
+# Make a combined area + line #plot using a smooth curve.
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Area + Line, smooth',
+    data=data('year price', 9, rows=[
+        ('1991', 15468),
+        ('1992', 16100),
+        ('1993', 15900),
+        ('1994', 17409),
+        ('1995', 17000),
+        ('1996', 31056),
+        ('1997', 31982),
+        ('1998', 32040),
+        ('1999', 33233),
+    ]),
+    plot=ui.plot([
+        ui.mark(type='area', x='=year', y='=price', curve='smooth', y_min=0),
+        ui.mark(type='line', x='=year', y='=price', curve='smooth')
+    ])
+))
+
+page.save()
diff --git a/examples/plot_area_negative.py b/examples/plot_area_negative.py
new file mode 100644
index 0000000000000000000000000000000000000000..65e96beef462c2e369a0ea7881b86223530b3d24
--- /dev/null
+++ b/examples/plot_area_negative.py
@@ -0,0 +1,36 @@
+# Plot / Area / Negative
+# Make an area #plot showing positive and negative values.
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 5 5',
+    title='Area, negative values',
+    data=data('year value', 20, rows=[
+        ('1996', 322),
+        ('1997', 324),
+        ('1998', -329),
+        ('1999', 342),
+        ('2000', -348),
+        ('2001', -334),
+        ('2002', 325),
+        ('2003', 316),
+        ('2004', 318),
+        ('2005', -330),
+        ('2006', 355),
+        ('2007', -366),
+        ('2008', -337),
+        ('2009', -352),
+        ('2010', -377),
+        ('2011', 383),
+        ('2012', 344),
+        ('2013', 366),
+        ('2014', -389),
+        ('2015', 334),
+    ]),
+    plot=ui.plot([ui.mark(type='area', x='=year', y='=value')])
+))
+
+page.save()
diff --git a/examples/plot_area_range.py b/examples/plot_area_range.py
new file mode 100644
index 0000000000000000000000000000000000000000..7dc6ec1760e98bbfe52134b765d5f50462eaa630
--- /dev/null
+++ b/examples/plot_area_range.py
@@ -0,0 +1,47 @@
+# Plot / Area / Range
+# Make an area #plot representing a range (band) of values.
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Area, range',
+    data=data('date low high', 31, rows=[
+        (1246406400000, 14.3, 27.7),
+        (1246492800000, 14.5, 27.8),
+        (1246579200000, 15.5, 29.6),
+        (1246665600000, 16.7, 30.7),
+        (1246752000000, 16.5, 25.0),
+        (1246838400000, 17.8, 25.7),
+        (1246924800000, 13.5, 24.8),
+        (1247011200000, 10.5, 21.4),
+        (1247097600000, 9.2, 23.8),
+        (1247184000000, 11.6, 21.8),
+        (1247270400000, 10.7, 23.7),
+        (1247356800000, 11.0, 23.3),
+        (1247443200000, 11.6, 23.7),
+        (1247529600000, 11.8, 20.7),
+        (1247616000000, 12.6, 22.4),
+        (1247702400000, 13.6, 19.6),
+        (1247788800000, 11.4, 22.6),
+        (1247875200000, 13.2, 25.0),
+        (1247961600000, 14.2, 21.6),
+        (1248048000000, 13.1, 17.1),
+        (1248134400000, 12.2, 15.5),
+        (1248220800000, 12.0, 20.8),
+        (1248307200000, 12.0, 17.1),
+        (1248393600000, 12.7, 18.3),
+        (1248480000000, 12.4, 19.4),
+        (1248566400000, 12.6, 19.9),
+        (1248652800000, 11.9, 20.2),
+        (1248739200000, 11.0, 19.3),
+        (1248825600000, 10.8, 17.8),
+        (1248912000000, 11.8, 18.5),
+        (1248998400000, 10.8, 16.1),
+    ]),
+    plot=ui.plot([ui.mark(type='area', x_scale='time', x='=date', y0='=low', y='=high')])
+))
+
+page.save()
diff --git a/examples/plot_area_smooth.py b/examples/plot_area_smooth.py
new file mode 100644
index 0000000000000000000000000000000000000000..bac7e0e6475c2d737c509b68519025d94bc64ff8
--- /dev/null
+++ b/examples/plot_area_smooth.py
@@ -0,0 +1,25 @@
+# Plot / Area / Smooth
+# Make an area #plot with a smooth curve.
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Area, smooth',
+    data=data('year price', 9, rows=[
+        ('1991', 15468),
+        ('1992', 16100),
+        ('1993', 15900),
+        ('1994', 17409),
+        ('1995', 17000),
+        ('1996', 31056),
+        ('1997', 31982),
+        ('1998', 32040),
+        ('1999', 33233),
+    ]),
+    plot=ui.plot([ui.mark(type='area', x_scale='time', x='=year', y='=price', curve='smooth', y_min=0)])
+))
+
+page.save()
diff --git a/examples/plot_area_stacked.py b/examples/plot_area_stacked.py
new file mode 100644
index 0000000000000000000000000000000000000000..390c4710be11465370c60bdec24cd2199d796391
--- /dev/null
+++ b/examples/plot_area_stacked.py
@@ -0,0 +1,46 @@
+# Plot / Area / Stacked
+# Make a #stacked area #plot.
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Area, stacked',
+    data=data('country year value', 28, rows=[
+        ('Asia', '1750', 502),
+        ('Asia', '1800', 635),
+        ('Asia', '1850', 809),
+        ('Asia', '1900', 5268),
+        ('Asia', '1950', 4400),
+        ('Asia', '1999', 3634),
+        ('Asia', '2050', 947),
+        ('Africa', '1750', 106),
+        ('Africa', '1800', 107),
+        ('Africa', '1850', 111),
+        ('Africa', '1900', 1766),
+        ('Africa', '1950', 221),
+        ('Africa', '1999', 767),
+        ('Africa', '2050', 133),
+        ('Europe', '1750', 163),
+        ('Europe', '1800', 203),
+        ('Europe', '1850', 276),
+        ('Europe', '1900', 628),
+        ('Europe', '1950', 547),
+        ('Europe', '1999', 729),
+        ('Europe', '2050', 408),
+        ('Oceania', '1750', 200),
+        ('Oceania', '1800', 200),
+        ('Oceania', '1850', 200),
+        ('Oceania', '1900', 460),
+        ('Oceania', '1950', 230),
+        ('Oceania', '1999', 300),
+        ('Oceania', '2050', 300),
+    ]),
+    plot=ui.plot([
+        ui.mark(type='area', x_scale='time', x='=year', y='=value', y_min=0, color='=country', stack='auto')
+    ])
+))
+
+page.save()
diff --git a/examples/plot_axis_title.py b/examples/plot_axis_title.py
new file mode 100644
index 0000000000000000000000000000000000000000..6bc4948408aecbf97e7cb6694098a6df6a94f58c
--- /dev/null
+++ b/examples/plot_axis_title.py
@@ -0,0 +1,31 @@
+# Plot / Axis Titles
+# Display custom axis titles on a #plot.
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Line title',
+    data=data('month price', 12, rows=[
+        ('Jan', 51),
+        ('Feb', 91),
+        ('Mar', 34),
+        ('Apr', 47),
+        ('May', 63),
+        ('June', 58),
+        ('July', 56),
+        ('Aug', 77),
+        ('Sep', 99),
+        ('Oct', 106),
+        ('Nov', 88),
+        ('Dec', 56),
+    ]),
+    plot=ui.plot([
+        ui.mark(type='line', x='=month', y='=price', y_min=0, x_title='Month', y_title='Price')
+    ])
+))
+
+page.save()
+
diff --git a/examples/plot_bokeh.py b/examples/plot_bokeh.py
new file mode 100644
index 0000000000000000000000000000000000000000..f42163703241ad205c0fa9296c80cf71116f4409
--- /dev/null
+++ b/examples/plot_bokeh.py
@@ -0,0 +1,40 @@
+# Plot / Bokeh
+# Use #Bokeh to create plots. #plot
+# ---
+import numpy as np
+from bokeh.models import HoverTool
+from bokeh.plotting import figure
+from bokeh.resources import CDN
+from bokeh.embed import file_html
+
+from h2o_wave import site, ui
+
+n = 500
+x = 2 + 2 * np.random.standard_normal(n)
+y = 2 + 2 * np.random.standard_normal(n)
+p = figure(
+    match_aspect=True,
+    tools="wheel_zoom,reset",
+    background_fill_color='#440154',
+    sizing_mode='stretch_both'
+)
+p.grid.visible = False
+r, bins = p.hexbin(x, y, size=0.5, hover_color="pink", hover_alpha=0.8)
+p.circle(x, y, color="white", size=1)
+p.add_tools(HoverTool(
+    tooltips=[("count", "@c"), ("(q,r)", "(@q, @r)")],
+    mode="mouse",
+    point_policy="follow_mouse",
+    renderers=[r]
+))
+
+# Export html for our frame card
+html = file_html(p, CDN, "plot")
+
+page = site['/demo']
+page['example'] = ui.frame_card(
+    box='1 1 -1 -1',
+    title='Hexbin for 500 points',
+    content=html,
+)
+page.save()
diff --git a/examples/plot_bokeh_callbacks.py b/examples/plot_bokeh_callbacks.py
new file mode 100644
index 0000000000000000000000000000000000000000..492797c70e92ffcaab241996edc11df0ee11fdea
--- /dev/null
+++ b/examples/plot_bokeh_callbacks.py
@@ -0,0 +1,109 @@
+# Plot / Bokeh / Widgets
+# Embed Bokeh widgets with script callbacks
+# ---
+
+# Original source: https://docs.bokeh.org/en/latest/docs/user_guide/interaction/callbacks.html#customjs-for-selections
+
+import json
+from random import random
+from h2o_wave import main, app, Q, ui, data
+from bokeh.resources import CDN
+from bokeh.layouts import row
+from bokeh.models import ColumnDataSource, CustomJS
+from bokeh.plotting import figure, output_file, show
+from bokeh.embed import json_item
+
+
+@app('/demo')
+async def serve(q: Q):
+    if not q.client.initialized:
+        q.client.initialized = True
+
+        # Create a plot
+        x = [random() for x in range(500)]
+        y = [random() for y in range(500)]
+
+        s1 = ColumnDataSource(data=dict(x=x, y=y))
+        p1 = figure(plot_width=250, plot_height=300, tools="lasso_select", title="Select Here")
+        p1.circle('x', 'y', source=s1, alpha=0.6)
+
+        s2 = ColumnDataSource(data=dict(x=[], y=[]))
+        p2 = figure(plot_width=250, plot_height=300, x_range=(0, 1), y_range=(0, 1), tools="", title="Watch Here")
+        p2.circle('x', 'y', source=s2, alpha=0.6)
+
+        s1.selected.js_on_change(
+            'indices',
+            CustomJS(
+                args=dict(s1=s1, s2=s2),
+                code="""
+                var indices = cb_obj.indices;
+                var d1 = s1.data;
+                var d2 = s2.data;
+                d2['x'] = []
+                d2['y'] = []
+                for (var i = 0; i < indices.length; i++) {
+                  d2['x'].push(d1['x'][indices[i]])
+                  d2['y'].push(d1['y'][indices[i]])
+                }
+                s2.change.emit();
+
+                // Send the selected indices to the Wave app via an event.
+                // Here, 
+                // - The first argument, 'the_plot', is some name to uniquely identify the source of the event.
+                // - The second argument, 'selected', is some name to uniquely identify the type of event.
+                // - The third argument is any arbitrary data to be sent as part of the event.
+                // Ordinarily, we would just call wave.emit('the_plot', 'selected', indices), but this particular
+                //   example triggers events every time the indices change (which is several times per second), 
+                //   so we use a 'debounced' version of 'emit()' that waits for a second before emitting an event.
+                // Here, 'emit_debounced()' is not part of the Wave API, but custom-built for this example - see
+                //   the inline_script's 'content' below.
+                emit_debounced('the_plot', 'selected', indices);
+                // The indices will be accessible to the Wave app using 'q.events.the_plot.selected'.
+                """
+            )
+        )
+
+        layout = row(p1, p2)
+
+        # Serialize the plot as JSON.
+        # See https://docs.bokeh.org/en/latest/docs/user_guide/embed.html#json-items
+        plot_id = 'my_plot'
+        plot_data = json.dumps(json_item(layout, plot_id))
+
+        q.page['meta'] = ui.meta_card(
+            box='',
+            # Import Bokeh Javascript libraries from CDN
+            scripts=[ui.script(path=f) for f in CDN.js_files],
+            # Execute custom Javascript
+            script=ui.inline_script(
+                # The inline script does two things:
+                content=f'''
+                // 1. Create a debounced version of `wave.emit()` and make it accessible to Bokeh's event handler.
+                // window.emit_debounced() is the name of new, debounced (calmer) version of wave.emit() that waits 
+                //  for 1000ms before emitting an event.
+                window.emit_debounced=window.wave.debounce(1000, window.wave.emit); 
+                
+                // 2. Make Bokeh render the plot.
+                Bokeh.embed.embed_item({plot_data});
+                ''',
+                # Ensure that the Bokeh Javascript library is loaded
+                requires=['Bokeh'],
+                # Ensure that the target HTML container element is available
+                targets=[plot_id],
+            ),
+        )
+        q.page['plot'] = ui.markup_card(
+            box='1 1 4 4',
+            title='',
+            content=f'<div id="{plot_id}"></div>',
+        )
+        q.page['details'] = ui.markdown_card(
+            box='1 5 4 1',
+            title='Selected Marks',
+            content='Nothing selected.',
+        )
+    else:
+        if q.events.the_plot.selected:
+            q.page['details'].content = f'You selected {q.events.the_plot.selected}'
+
+    await q.page.save()
diff --git a/examples/plot_bokeh_script.py b/examples/plot_bokeh_script.py
new file mode 100644
index 0000000000000000000000000000000000000000..046abb78ac8b49404473e33d65880a650017b0a1
--- /dev/null
+++ b/examples/plot_bokeh_script.py
@@ -0,0 +1,50 @@
+# Plot / Bokeh / Script
+# Embed Bokeh components into a page using Javascript.
+# ---
+
+import json
+from h2o_wave import site, ui
+from bokeh.resources import CDN
+from bokeh.plotting import figure
+from bokeh.embed import json_item
+from bokeh.sampledata.iris import flowers
+
+# Make a plot
+plot = figure(title="Iris Morphology")
+plot.xaxis.axis_label = 'Petal Length'
+plot.yaxis.axis_label = 'Petal Width'
+
+colormap = {'setosa': 'red', 'versicolor': 'green', 'virginica': 'blue'}
+colors = [colormap[x] for x in flowers['species']]
+plot.circle(flowers["petal_length"], flowers["petal_width"], color=colors, fill_alpha=0.2, size=10)
+
+# Serialize the plot as JSON.
+# See https://docs.bokeh.org/en/latest/docs/user_guide/embed.html#json-items
+plot_id = 'my_plot'
+plot_data = json.dumps(json_item(plot, plot_id))
+
+page = site['/demo']
+
+page['meta'] = ui.meta_card(
+    box='',
+    # Import Bokeh Javascript libraries from CDN
+    scripts=[ui.script(path=f) for f in CDN.js_files],
+    # Execute custom Javascript
+    script=ui.inline_script(
+        # Call Bakeh's renderer using Javascript
+        content=f'Bokeh.embed.embed_item({plot_data});',
+        # Ensure that the Bokeh Javascript library is available
+        requires=['Bokeh'],
+        # Ensure that the target HTML container element is available
+        targets=[plot_id],
+    ),
+)
+
+# Create a HTML container element to hold our plot.
+page['example'] = ui.markup_card(
+    box='1 1 5 8',
+    title='',
+    content=f'<div id="{plot_id}"></div>',
+)
+
+page.save()
diff --git a/examples/plot_d3.js b/examples/plot_d3.js
new file mode 100644
index 0000000000000000000000000000000000000000..15fe8c46ebb262322d544d16e0235b8b4be1ca21
--- /dev/null
+++ b/examples/plot_d3.js
@@ -0,0 +1,72 @@
+const
+  width = document.body.clientWidth,
+  height = Math.min(640, width),
+  groupTicks = (d, step) => {
+    const k = (d.endAngle - d.startAngle) / d.value;
+    return d3.range(0, d.value, step).map(value => {
+      return { value: value, angle: value * k + d.startAngle };
+    });
+  },
+  formatValue = d3.formatPrefix(",.0", 1e3),
+  chord = d3.chord()
+    .padAngle(0.05)
+    .sortSubgroups(d3.descending),
+  outerRadius = Math.min(width, height) * 0.5 - 30,
+  innerRadius = outerRadius - 20,
+  arc = d3.arc()
+    .innerRadius(innerRadius)
+    .outerRadius(outerRadius),
+  ribbon = d3.ribbon()
+    .radius(innerRadius),
+  color = d3.scaleOrdinal()
+    .domain(d3.range(4))
+    .range(["#000000", "#FFDD89", "#957244", "#F26223"]),
+  render = (data) => {
+    const svg = d3.select("body")
+      .append("svg")
+      .attr("viewBox", [-width / 2, -height / 2, width, height])
+      .attr("font-size", 10)
+      .attr("font-family", "sans-serif");
+
+    const chords = chord(data);
+
+    const group = svg.append("g")
+      .selectAll("g")
+      .data(chords.groups)
+      .join("g");
+
+    group.append("path")
+      .attr("fill", d => color(d.index))
+      .attr("stroke", d => d3.rgb(color(d.index)).darker())
+      .attr("d", arc);
+
+    const groupTick = group.append("g")
+      .selectAll("g")
+      .data(d => groupTicks(d, 1e3))
+      .join("g")
+      .attr("transform", d => `rotate(${d.angle * 180 / Math.PI - 90}) translate(${outerRadius},0)`);
+
+    groupTick.append("line")
+      .attr("stroke", "#000")
+      .attr("x2", 6);
+
+    groupTick
+      .filter(d => d.value % 5e3 === 0)
+      .append("text")
+      .attr("x", 8)
+      .attr("dy", ".35em")
+      .attr("transform", d => d.angle > Math.PI ? "rotate(180) translate(-16)" : null)
+      .attr("text-anchor", d => d.angle > Math.PI ? "end" : null)
+      .text(d => formatValue(d.value));
+
+    svg.append("g")
+      .attr("fill-opacity", 0.67)
+      .selectAll("path")
+      .data(chords)
+      .join("path")
+      .attr("d", ribbon)
+      .attr("fill", d => color(d.target.index))
+      .attr("stroke", d => d3.rgb(color(d.target.index)).darker());
+  };
+
+
diff --git a/examples/plot_d3.py b/examples/plot_d3.py
new file mode 100644
index 0000000000000000000000000000000000000000..a5785287b3bd68236535687a3c81ceb57226b3e0
--- /dev/null
+++ b/examples/plot_d3.py
@@ -0,0 +1,45 @@
+# Plot / D3.js
+# Create custom plots using D3.js. #plot
+# ---
+import json
+import os.path
+from h2o_wave import site, ui
+
+# The example D3 Javascript file is located in the same directory as this example; get its path
+d3_js_script_filename = os.path.join(os.path.dirname(__file__), 'plot_d3.js')
+
+# Upload the script to the server. Typically, you'd do this only once, when your app is installed.
+d3_js_script_path, = site.upload([d3_js_script_filename])
+
+html_template = '''
+<!DOCTYPE html>
+<html>
+<head>
+  <script src="https://d3js.org/d3.v5.min.js"></script>
+</head>
+<body style="margin:0; padding:0">
+  <script src="{script_path}"></script>
+  <script>render({data})</script>
+</body>
+</html>
+'''
+
+# This data is hard-coded here for simplicity.
+# During production use, this data would be the output of some compute routine.
+data = [
+    [11975, 5871, 8916, 2868],
+    [1951, 10048, 2060, 6171],
+    [8010, 16145, 8090, 8045],
+    [1013, 990, 940, 6907],
+]
+
+# Plug JSON-serialized data into our html template
+html = html_template.format(script_path=d3_js_script_path, data=json.dumps(data))
+
+page = site['/demo']
+page['example'] = ui.frame_card(
+    box='1 1 5 8',
+    title='D3 Chord Diagram',
+    content=html,
+)
+page.save()
diff --git a/examples/plot_events.py b/examples/plot_events.py
new file mode 100644
index 0000000000000000000000000000000000000000..e9db958dc5397d5259124a4291b912f235b1eb0c
--- /dev/null
+++ b/examples/plot_events.py
@@ -0,0 +1,31 @@
+# Plot / Events
+# Handle #events on a #plot card.
+# ---
+from h2o_wave import main, app, Q, ui, data
+
+
+@app('/demo')
+async def serve(q: Q):
+    if not q.client.initialized:
+        q.client.initialized = True
+        q.page['pricing'] = ui.plot_card(
+            box='1 1 4 5',
+            title='Interval',
+            data=data(fields='product price', rows=[
+                ['spam', 1.49],
+                ['eggs', 2.49],
+                ['ham', 1.99],
+            ], pack=True),
+            plot=ui.plot([ui.mark(type='interval', x='=product', y='=price', y_min=0)]),
+            events=['select_marks']
+        )
+        q.page['details'] = ui.markdown_card(
+            box='1 6 4 2',
+            title='Selected Product',
+            content='Nothing selected.',
+        )
+    else:
+        if q.events.pricing:
+            q.page['details'].content = f'You selected {q.events.pricing.select_marks}'
+
+    await q.page.save()
diff --git a/examples/plot_events_disabled.py b/examples/plot_events_disabled.py
new file mode 100644
index 0000000000000000000000000000000000000000..0cc26df4fca0c38a17ebce2304a0096439d32a1e
--- /dev/null
+++ b/examples/plot_events_disabled.py
@@ -0,0 +1,40 @@
+# Plot / Events/ Disabled
+# Customize for which marks on a #plot card you do not wish to handle #events .
+# ---
+from h2o_wave import main, app, Q, ui, data
+
+
+@app('/demo')
+async def serve(q: Q):
+    if not q.client.initialized:
+        q.client.initialized = True
+        q.page['example'] = ui.plot_card(
+                box='1 1 4 5',
+                title='Interval, range',
+                data=data('year value', 8, rows=[
+                    ('1991', 3),
+                    ('1992', 4),
+                    ('1993', 3.5),
+                    ('1994', 5),
+                    ('1995', 4.9),
+                    ('1996', 6),
+                    ('1997', 7),
+                    ('1998', 9),
+                    ('1999', 13),
+                ]),
+                plot=ui.plot([
+                    ui.mark(type='line', x_scale='time', x='=year', y='=value', y_min=0, interactive=False), 
+                    ui.mark(type='point', x='=year', y='=value', size=8, fill_color='red')
+                ]),
+                events=['select_marks'],
+        )
+        q.page['details'] = ui.markdown_card(
+            box='1 6 4 2',
+            title='Selected Year',
+            content='Nothing selected.',
+        )
+    else:
+        if q.events.example:
+            q.page['details'].content = f'You selected {q.events.example.select_marks}'
+
+    await q.page.save()
diff --git a/examples/plot_events_routing.py b/examples/plot_events_routing.py
new file mode 100644
index 0000000000000000000000000000000000000000..5dea5a23c53fafb2eda0d217f49e075c9fca7003
--- /dev/null
+++ b/examples/plot_events_routing.py
@@ -0,0 +1,35 @@
+# Plot / Events / Routing
+# Handle #events on a #plot card using routing.
+# ---
+from h2o_wave import main, app, on, handle_on, Q, ui, data
+
+
+@on('pricing.select_marks')
+async def show_selected_marks(q: Q, marks: any):
+    q.page['details'].content = f'You selected {marks}'
+    await q.page.save()
+
+
+@app('/demo')
+async def serve(q: Q):
+    if not q.client.initialized:
+        q.client.initialized = True
+        q.page['pricing'] = ui.plot_card(
+            box='1 1 4 5',
+            title='Interval',
+            data=data(fields='product price', rows=[
+                ['spam', 1.49],
+                ['eggs', 2.49],
+                ['ham', 1.99],
+            ], pack=True),
+            plot=ui.plot([ui.mark(type='interval', x='=product', y='=price', y_min=0)]),
+            events=['select_marks']
+        )
+        q.page['details'] = ui.markdown_card(
+            box='1 6 4 2',
+            title='Selected Product',
+            content='Nothing selected.',
+        )
+        await q.page.save()
+    else:
+        await handle_on(q)
diff --git a/examples/plot_form.py b/examples/plot_form.py
new file mode 100644
index 0000000000000000000000000000000000000000..b7b5acef81afb01be18cdd128b31d83bc4499331
--- /dev/null
+++ b/examples/plot_form.py
@@ -0,0 +1,36 @@
+# Plot / Form
+# Display a #plot inside a #form.
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.form_card(
+    box='1 1 -1 8',
+    items=[
+        ui.text_xl('This year'),
+        ui.visualization(
+            plot=ui.plot([ui.mark(type='interval', x='=profession', y='=salary', y_min=0)]),
+            data=data(fields='profession salary', rows=[
+                ('medicine', 23000),
+                ('fire fighting', 18000),
+                ('pedagogy', 24000),
+                ('psychology', 22500),
+                ('computer science', 36000),
+            ], pack=True),
+        ),
+        ui.text_xl('Last year'),
+        ui.visualization(
+            plot=ui.plot([ui.mark(type='interval', x='=profession', y='=salary', y_min=0)]),
+            data=data(fields='profession salary', rows=[
+                ('medicine', 21000),
+                ('fire fighting', 17000),
+                ('pedagogy', 23500),
+                ('psychology', 22300),
+                ('computer science', 33000),
+            ], pack=True)
+        ),
+    ],
+))
+
+page.save()
diff --git a/examples/plot_histogram.py b/examples/plot_histogram.py
new file mode 100644
index 0000000000000000000000000000000000000000..d0817ffe8547cc550641511a3ebe5a506276d573
--- /dev/null
+++ b/examples/plot_histogram.py
@@ -0,0 +1,24 @@
+# Plot / Histogram
+# Make a #histogram. #plot
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Histogram',
+    data=data('price low high', 8, rows=[
+        (4, 50, 100),
+        (6, 100, 150),
+        (8, 150, 200),
+        (16, 350, 400),
+        (18, 400, 450),
+        (10, 200, 250),
+        (12, 250, 300),
+        (14, 300, 350),
+    ]),
+    plot=ui.plot([ui.mark(type='interval', y='=price', x1='=low', x2='=high', y_min=0)])
+))
+
+page.save()
diff --git a/examples/plot_interaction_brush.py b/examples/plot_interaction_brush.py
new file mode 100644
index 0000000000000000000000000000000000000000..c75a577103feb157dac4c82a4862f41c583315bd
--- /dev/null
+++ b/examples/plot_interaction_brush.py
@@ -0,0 +1,27 @@
+# Plot / Interaction / Brush
+# Make a scatterplot with brush enabled. #plot
+# ---
+
+from h2o_wave import main, app, Q, ui, data
+
+
+@app('/demo')
+async def serve(q: Q):
+    q.page['example'] = ui.plot_card(
+        box='1 1 4 5',
+        title='Line plot brush',
+        data=data('year value', 8, rows=[
+            ('1991', 3),
+            ('1992', 4),
+            ('1993', 3.5),
+            ('1994', 5),
+            ('1995', 4.9),
+            ('1996', 6),
+            ('1997', 7),
+            ('1998', 9),
+            ('1999', 13),
+        ]),
+        plot=ui.plot([ui.mark(type='line', x_scale='time', x='=year', y='=value', y_min=0)]),
+        interactions=['brush']
+    )
+    await q.page.save()
diff --git a/examples/plot_interaction_drag_move.py b/examples/plot_interaction_drag_move.py
new file mode 100644
index 0000000000000000000000000000000000000000..a2a1003a4e0750c1e10ecb4dc9d78a9033d5ebbe
--- /dev/null
+++ b/examples/plot_interaction_drag_move.py
@@ -0,0 +1,28 @@
+# Plot / Interaction / Drag move
+# Make a scatterplot with drag move enabled. #plot
+# ---
+
+from h2o_wave import main, app, Q, ui, data
+
+
+@app('/demo')
+async def serve(q: Q):
+    q.page['example'] = ui.plot_card(
+        box='1 1 4 5',
+        title='Point plot drag move',
+        data=data('height weight', 10, rows=[
+            (170, 59),
+            (159.1, 47.6),
+            (166, 69.8),
+            (176.2, 66.8),
+            (160.2, 75.2),
+            (180.3, 76.4),
+            (164.5, 63.2),
+            (173, 60.9),
+            (183.5, 74.8),
+            (175.5, 70),
+        ]),
+        interactions=['drag_move'],
+        plot=ui.plot([ui.mark(type='point', x='=weight', y='=height')])
+    )
+    await q.page.save()
diff --git a/examples/plot_interaction_zoom.py b/examples/plot_interaction_zoom.py
new file mode 100644
index 0000000000000000000000000000000000000000..ea38c863c4b2f0757e5962152ad7d1d4d0fdebb2
--- /dev/null
+++ b/examples/plot_interaction_zoom.py
@@ -0,0 +1,28 @@
+# Plot / Interaction / Zoom
+# Make a scatterplot with zoom enabled. #plot
+# ---
+
+from h2o_wave import main, app, Q, ui, data
+
+
+@app('/demo')
+async def serve(q: Q):
+    q.page['example'] = ui.plot_card(
+        box='1 1 4 5',
+        title='Point plot zoom',
+        data=data('height weight', 10, rows=[
+            (170, 59),
+            (159.1, 47.6),
+            (166, 69.8),
+            (176.2, 66.8),
+            (160.2, 75.2),
+            (180.3, 76.4),
+            (164.5, 63.2),
+            (173, 60.9),
+            (183.5, 74.8),
+            (175.5, 70),
+        ]),
+        interactions=['scale_zoom'],
+        plot=ui.plot([ui.mark(type='point', x='=weight', y='=height')])
+    )
+    await q.page.save()
diff --git a/examples/plot_interval.py b/examples/plot_interval.py
new file mode 100644
index 0000000000000000000000000000000000000000..e4662c43d5af6c065f301694d77ec23f6c6d11ae
--- /dev/null
+++ b/examples/plot_interval.py
@@ -0,0 +1,21 @@
+# Plot / Interval
+# Make a column #plot. #interval
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Interval',
+    data=data('profession salary', 5, rows=[
+        ('medicine', 23000),
+        ('fire fighting', 18000),
+        ('pedagogy', 24000),
+        ('psychology', 22500),
+        ('computer science', 36000),
+    ]),
+    plot=ui.plot([ui.mark(type='interval', x='=profession', y='=salary', y_min=0)])
+))
+
+page.save()
diff --git a/examples/plot_interval_annotation.py b/examples/plot_interval_annotation.py
new file mode 100644
index 0000000000000000000000000000000000000000..bcad04c41ba766a86c2e163a2f1cd7ffa07cfd64
--- /dev/null
+++ b/examples/plot_interval_annotation.py
@@ -0,0 +1,28 @@
+# Plot / Interval / Annotation
+# Add annotations to a column #plot. #annotation #interval
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Interval - annotation',
+    data=data('profession salary', 5, rows=[
+        ('medicine', 23000),
+        ('fire fighting', 18000),
+        ('pedagogy', 24000),
+        ('psychology', 22500),
+        ('computer science', 36000),
+    ]),
+    plot=ui.plot([
+        ui.mark(type='interval', x='=profession', y='=salary', y_min=0),
+        ui.mark(x='psychology', y=32000, label='point'),
+        ui.mark(x='pedagogy', label='vertical line'),
+        ui.mark(y=23000, label='horizontal line'),
+        ui.mark(x='fire fighting', x0='medicine', label='vertical region'),
+        ui.mark(y=35000, y0=30000, label='horizontal region')
+    ])
+))
+
+page.save()
diff --git a/examples/plot_interval_annotation_transpose.py b/examples/plot_interval_annotation_transpose.py
new file mode 100644
index 0000000000000000000000000000000000000000..b65e27091c876635890b0f0f24c02524ae59f5bc
--- /dev/null
+++ b/examples/plot_interval_annotation_transpose.py
@@ -0,0 +1,28 @@
+# Plot / Interval / Annotation / Transpose
+# Add annotations to a bar #plot. #annotation #interval
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Categorical-Numeric',
+    data=data('profession salary', 5, rows=[
+        ('medicine', 23000),
+        ('fire fighting', 18000),
+        ('pedagogy', 24000),
+        ('psychology', 22500),
+        ('computer science', 36000),
+    ]),
+    plot=ui.plot([
+        ui.mark(type='interval', x='=salary', y='=profession'),
+        ui.mark(y='fire fighting', x=23000, label='point'),
+        ui.mark(y='pedagogy', label='vertical line'),
+        ui.mark(x=27000, label='horizontal line'),
+        ui.mark(y='computer science', y0='psychology', label='horizontal region'),
+        ui.mark(x=35000, x0=30000, label='vertical region')
+    ])
+))
+
+page.save()
diff --git a/examples/plot_interval_groups.py b/examples/plot_interval_groups.py
new file mode 100644
index 0000000000000000000000000000000000000000..304126278ed226685f981c9d4bf74f4ca253f243
--- /dev/null
+++ b/examples/plot_interval_groups.py
@@ -0,0 +1,26 @@
+# Plot / Interval / Groups
+# Make a grouped column #plot. #interval
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Intervals, groups',
+    data=data('day type time', 10, rows=[
+        ('Mon.','series1', 2800),
+        ('Mon.','series2', 2260),
+        ('Tues.','series1', 1800),
+        ('Tues.','series2', 1300),
+        ('Wed.','series1', 950),
+        ('Wed.','series2', 900),
+        ('Thur.','series1', 500),
+        ('Thur.','series2', 390),
+        ('Fri.','series1', 170),
+        ('Fri.','series2', 100),
+    ]),
+    plot=ui.plot([ui.mark(type='interval', x='=day', y='=time', color='=type', dodge='auto', y_min=0)])
+))
+
+page.save()
diff --git a/examples/plot_interval_groups_transpose.py b/examples/plot_interval_groups_transpose.py
new file mode 100644
index 0000000000000000000000000000000000000000..bfb9601f3ba2352b50b88605546b50bab5921116
--- /dev/null
+++ b/examples/plot_interval_groups_transpose.py
@@ -0,0 +1,27 @@
+# Plot / Interval / Groups / Transpose
+# Make a grouped bar #plot. #interval
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Intervals, groups',
+    data=data('day type time', 10, rows=[
+        ('Mon.','series1', 2800),
+        ('Mon.','series2', 2260),
+        ('Tues.','series1', 1800),
+        ('Tues.','series2', 1300),
+        ('Wed.','series1', 950),
+        ('Wed.','series2', 900),
+        ('Thur.','series1', 500),
+        ('Thur.','series2', 390),
+        ('Fri.','series1', 170),
+        ('Fri.','series2', 100),
+    ]),
+    plot=ui.plot([ui.mark(type='interval', y='=day', x='=time', color='=type', dodge='auto', x_min=0)])
+))
+
+page.save()
+
diff --git a/examples/plot_interval_helix.py b/examples/plot_interval_helix.py
new file mode 100644
index 0000000000000000000000000000000000000000..a041382ef75e92c6c00390149432efeb801ec9eb
--- /dev/null
+++ b/examples/plot_interval_helix.py
@@ -0,0 +1,15 @@
+# Plot / Interval / Helix
+# Make a bar #plot in helical coordinates. #interval
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Interval, helix',
+    data=data('product price', 200, rows=[ (f'P{i}', i) for i in range(200)]),
+    plot=ui.plot([ui.mark(coord='helix', type='interval', x='=product', y='=price', y_min=0)])
+))
+
+page.save()
diff --git a/examples/plot_interval_labels.py b/examples/plot_interval_labels.py
new file mode 100644
index 0000000000000000000000000000000000000000..5d061b8f0e23ee6b8643350629ede2a058a14cc8
--- /dev/null
+++ b/examples/plot_interval_labels.py
@@ -0,0 +1,30 @@
+# Plot / Interval / Labels
+# Make a column #plot with labels on each bar. #interval
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Label Customization',
+    data=data('profession salary', 5, rows=[
+        ('medicine', 33000),
+        ('fire fighting', 18000),
+        ('pedagogy', 24000),
+        ('psychology', 22500),
+        ('computer science', 36000),
+    ]),
+    plot=ui.plot([
+        ui.mark(
+            type='interval', 
+            x='=profession',
+            y='=salary', y_min=0,
+            label='=${{intl salary minimum_fraction_digits=2 maximum_fraction_digits=2}}',
+            label_offset=0, label_position='middle', label_rotation='-90', label_fill_color='#fff',
+            label_font_weight='bold'
+        )
+    ])
+))
+
+page.save()
diff --git a/examples/plot_interval_polar.py b/examples/plot_interval_polar.py
new file mode 100644
index 0000000000000000000000000000000000000000..f6e409061df0051ff0da83f03c83215c507a47d1
--- /dev/null
+++ b/examples/plot_interval_polar.py
@@ -0,0 +1,32 @@
+# Plot / Interval / Polar
+# Make a rose #plot (a bar plot in polar coordinates). #interval
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Interval, polar',
+    data=data('month rainfall', 16, rows=[
+        ('Jan', 18.9),
+        ('Feb', 28.8),
+        ('Mar', 39.3),
+        ('Apr', 31.4),
+        ('May', 47),
+        ('Jun', 20.3),
+        ('Jul', 24),
+        ('Aug', 35.6),
+        ('Jan', 12.4),
+        ('Feb', 23.2),
+        ('Mar', 34.5),
+        ('Apr', 29.7),
+        ('May', 42),
+        ('Jun', 35.5),
+        ('Jul', 37.4),
+        ('Aug', 42.4),
+    ]),
+    plot=ui.plot([ui.mark(coord='polar', type='interval', x='=month', y='=rainfall', y_min=0, stroke_color='$card')])
+))
+
+page.save()
diff --git a/examples/plot_interval_polar_stacked.py b/examples/plot_interval_polar_stacked.py
new file mode 100644
index 0000000000000000000000000000000000000000..c0fef0fe6dcb24aef2c0f236a19ea0e249bd4772
--- /dev/null
+++ b/examples/plot_interval_polar_stacked.py
@@ -0,0 +1,43 @@
+# Plot / Interval / Polar / Stacked
+# Make a #stacked rose #plot (a stacked bar plot in polar coordinates). #interval
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Intervals, polar, stacked',
+    data=data('city month rainfall', 16, rows=[
+        ('London', 'Jan', 18.9),
+        ('London', 'Feb', 28.8),
+        ('London', 'Mar', 39.3),
+        ('London', 'Apr', 31.4),
+        ('London', 'May', 47),
+        ('London', 'Jun', 20.3),
+        ('London', 'Jul', 24),
+        ('London', 'Aug', 35.6),
+        ('Berlin', 'Jan', 12.4),
+        ('Berlin', 'Feb', 23.2),
+        ('Berlin', 'Mar', 34.5),
+        ('Berlin', 'Apr', 29.7),
+        ('Berlin', 'May', 42),
+        ('Berlin', 'Jun', 35.5),
+        ('Berlin', 'Jul', 37.4),
+        ('Berlin', 'Aug', 42.4),
+    ]),
+    plot=ui.plot([
+        ui.mark(
+            coord='polar',
+            type='interval',
+            x='=month',
+            y='=rainfall',
+            color='=city',
+            stack='auto',
+            y_min=0,
+            stroke_color='$card'
+        )
+    ])
+))
+
+page.save()
diff --git a/examples/plot_interval_range.py b/examples/plot_interval_range.py
new file mode 100644
index 0000000000000000000000000000000000000000..0b5701f00dbf5c52153a79154b2297d96061ab63
--- /dev/null
+++ b/examples/plot_interval_range.py
@@ -0,0 +1,22 @@
+# Plot / Interval / Range
+# Make a column #plot with each bar representing high/low (or start/end) values.
+# Transposing this produces a gantt plot. #interval #range
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Interval, range',
+    data=data('profession max min', 5, rows=[
+        ('medicine', 110000, 23000),
+        ('fire fighting', 120000, 18000),
+        ('pedagogy', 125000, 24000),
+        ('psychology', 130000, 22500),
+        ('computer science', 151000, 36000),
+    ]),
+    plot=ui.plot([ui.mark(type='interval', x='=profession', y0='=min', y='=max')])
+))
+
+page.save()
diff --git a/examples/plot_interval_range_transpose.py b/examples/plot_interval_range_transpose.py
new file mode 100644
index 0000000000000000000000000000000000000000..a229e07c649bba1ea16d3682d9641b0d6945d459
--- /dev/null
+++ b/examples/plot_interval_range_transpose.py
@@ -0,0 +1,21 @@
+# Plot / Interval / Transpose
+# Make a bar #plot. #interval
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Interval range transposed',
+    data=data('profession max min', 5, rows=[
+        ('medicine', 110000, 23000),
+        ('fire fighting', 120000, 18000),
+        ('pedagogy', 125000, 24000),
+        ('psychology', 130000, 22500),
+        ('computer science', 151000, 36000),
+    ]),
+    plot=ui.plot([ui.mark(type='interval', x='=max', x0='=min', y='=profession')]),
+))
+
+page.save()
diff --git a/examples/plot_interval_stacked.py b/examples/plot_interval_stacked.py
new file mode 100644
index 0000000000000000000000000000000000000000..9814632f303cc289a66c6e1f744191e9ce2909ba
--- /dev/null
+++ b/examples/plot_interval_stacked.py
@@ -0,0 +1,28 @@
+# Plot / Interval / Stacked
+# Make a #stacked column #plot. #interval
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Intervals, stacked',
+    data=data('day type time', 10, rows=[
+        ('Mon.','series1', 2800),
+        ('Mon.','series2', 2260),
+        ('Tues.','series1', 1800),
+        ('Tues.','series2', 1300),
+        ('Wed.','series1', 950),
+        ('Wed.','series2', 900),
+        ('Thur.','series1', 500),
+        ('Thur.','series2', 390),
+        ('Fri.','series1', 170),
+        ('Fri.','series2', 100),
+    ]),
+    plot=ui.plot([
+        ui.mark(type='interval', x='=day', y='=time', color='=type', stack='auto', y_min=0)
+    ])
+))
+
+page.save()
diff --git a/examples/plot_interval_stacked_grouped.py b/examples/plot_interval_stacked_grouped.py
new file mode 100644
index 0000000000000000000000000000000000000000..9084f3797965a4521c4d14716d3a363b1a204030
--- /dev/null
+++ b/examples/plot_interval_stacked_grouped.py
@@ -0,0 +1,38 @@
+# Plot / Interval / Stacked / Grouped
+# Make a column #plot with both #stacked and grouped bars. #interval
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Intervals, stacked and dodged',
+    data=data('day type time gender', 12, rows=[
+        ('Mon.','series1', 2800, 'male'),
+        ('Mon.','series1', 1800, 'female'),
+        ('Mon.','series2', 2260, 'female'),
+        ('Mon.','series2', 710, 'male'),
+        ('Tues.','series1', 1800, 'male'),
+        ('Tues.','series1', 290, 'female'),
+        ('Tues.','series2', 1300, 'female'),
+        ('Tues.','series2', 960, 'male'),
+        ('Wed.','series1', 950, 'male'),
+        ('Wed.','series1', 2730, 'female'),
+        ('Wed.','series2', 1390, 'male'),
+        ('Wed.','series2', 900, 'female'),
+    ]),
+    plot=ui.plot([
+        ui.mark(
+            type='interval',
+            x='=day',
+            y='=time',
+            color='=type',
+            stack='auto',
+            dodge='=gender',
+            y_min=0
+        )
+    ])
+))
+
+page.save()
diff --git a/examples/plot_interval_stacked_grouped_transpose.py b/examples/plot_interval_stacked_grouped_transpose.py
new file mode 100644
index 0000000000000000000000000000000000000000..ac5c8a9c49e665f548c9d7eb8d1ed6698f00b157
--- /dev/null
+++ b/examples/plot_interval_stacked_grouped_transpose.py
@@ -0,0 +1,38 @@
+# Plot / Interval / Stacked / Grouped / Transpose
+# Make a bar #plot with both #stacked and grouped bars. #interval
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Intervals, stacked and dodged',
+    data=data('day type time gender', 12, rows=[
+        ('Mon.','series1', 2800, 'male'),
+        ('Mon.','series1', 1800, 'female'),
+        ('Mon.','series2', 2260, 'female'),
+        ('Mon.','series2', 710, 'male'),
+        ('Tues.','series1', 1800, 'male'),
+        ('Tues.','series1', 290, 'female'),
+        ('Tues.','series2', 1300, 'female'),
+        ('Tues.','series2', 960, 'male'),
+        ('Wed.','series1', 950, 'male'),
+        ('Wed.','series1', 2730, 'female'),
+        ('Wed.','series2', 1390, 'male'),
+        ('Wed.','series2', 900, 'female'),
+    ]),
+    plot=ui.plot([
+        ui.mark(
+            type='interval',
+            y='=day',
+            x='=time',
+            color='=type',
+            stack='auto',
+            dodge='=gender',
+            x_min=0
+        )
+    ])
+))
+
+page.save()
diff --git a/examples/plot_interval_stacked_transpose.py b/examples/plot_interval_stacked_transpose.py
new file mode 100644
index 0000000000000000000000000000000000000000..d603146da984905159c7621b4390ff9a9a8eda66
--- /dev/null
+++ b/examples/plot_interval_stacked_transpose.py
@@ -0,0 +1,28 @@
+# Plot / Interval / Stacked / Transpose
+# Make a #stacked bar #plot. #interval
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Intervals, stacked',
+    data=data('day type time', 10, rows=[
+        ('Mon.','series1', 2800),
+        ('Mon.','series2', 2260),
+        ('Tues.','series1', 1800),
+        ('Tues.','series2', 1300),
+        ('Wed.','series1', 950),
+        ('Wed.','series2', 900),
+        ('Thur.','series1', 500),
+        ('Thur.','series2', 390),
+        ('Fri.','series1', 170),
+        ('Fri.','series2', 100),
+    ]),
+    plot=ui.plot([
+        ui.mark(type='interval', y='=day', x='=time', color='=type', stack='auto', x_min=0)
+    ])
+))
+
+page.save()
diff --git a/examples/plot_interval_theta.py b/examples/plot_interval_theta.py
new file mode 100644
index 0000000000000000000000000000000000000000..5a4dfb90b8ed2e3eb4aec790fe55c2581e43b110
--- /dev/null
+++ b/examples/plot_interval_theta.py
@@ -0,0 +1,26 @@
+# Plot / Interval / Theta
+# Make a "racetrack" #plot (a bar plot in polar coordinates, transposed). #interval
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Intervals, theta',
+    data=data('question percent', 8, rows=[
+        ('Question 1', 0.21),
+        ('Question 2', 0.4),
+        ('Question 3', 0.49),
+        ('Question 4', 0.52),
+        ('Question 5', 0.53),
+        ('Question 6', 0.84),
+        ('Question 7', 0.88),
+        ('Question 8', 0.9),
+    ]),
+    plot=ui.plot([
+        ui.mark(coord='theta', type='interval', x='=question', y='=percent', stack='auto', y_min=0)
+    ])
+))
+
+page.save()
diff --git a/examples/plot_interval_theta_stacked.py b/examples/plot_interval_theta_stacked.py
new file mode 100644
index 0000000000000000000000000000000000000000..9cc6a9195d16076c90e0a95c1591c0b8948ca4bb
--- /dev/null
+++ b/examples/plot_interval_theta_stacked.py
@@ -0,0 +1,36 @@
+# Plot / Interval / Theta / Stacked
+# Make a stacked "racetrack" #plot (a bar plot in polar coordinates, transposed). #interval
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Intervals, theta, stacked',
+    data=data('day type time', 10, rows=[
+        ('Mon.','series1', 470),
+        ('Mon.','series2', 700),
+        ('Tues.','series1', 1800),
+        ('Tues.','series2', 1300),
+        ('Wed.','series1', 1650),
+        ('Wed.','series2', 1900),
+        ('Thur.','series1', 2500),
+        ('Thur.','series2', 1470),
+        ('Fri.','series1', 2800),
+        ('Fri.','series2', 2260),
+    ]),
+    plot=ui.plot([
+        ui.mark(
+            coord='theta',
+            type='interval', 
+            x='=day', 
+            y='=time',
+            color='=type',
+            stack='auto',
+            y_min=0
+        )
+    ])
+))
+
+page.save()
diff --git a/examples/plot_interval_transpose.py b/examples/plot_interval_transpose.py
new file mode 100644
index 0000000000000000000000000000000000000000..8150c4d823c669ca884dc19cd78905ffc43f183b
--- /dev/null
+++ b/examples/plot_interval_transpose.py
@@ -0,0 +1,21 @@
+# Plot / Interval / Transpose
+# Make a bar #plot. #interval
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Interval transposed',
+    data=data('profession salary', 5, rows=[
+        ('medicine', 33000),
+        ('fire fighting', 18000),
+        ('pedagogy', 24000),
+        ('psychology', 22500),
+        ('computer science', 36000),
+    ]),
+    plot=ui.plot([ui.mark(type='interval', x='=salary', y='=profession', y_min=0)])
+))
+
+page.save()
diff --git a/examples/plot_line.py b/examples/plot_line.py
new file mode 100644
index 0000000000000000000000000000000000000000..68c5a701e726213796ea6ebf5c0c624995fa2615
--- /dev/null
+++ b/examples/plot_line.py
@@ -0,0 +1,25 @@
+# Plot / Line
+# Make a line #plot.
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Line',
+    data=data('year value', 8, rows=[
+        ('1991', 3),
+        ('1992', 4),
+        ('1993', 3.5),
+        ('1994', 5),
+        ('1995', 4.9),
+        ('1996', 6),
+        ('1997', 7),
+        ('1998', 9),
+        ('1999', 13),
+    ]),
+    plot=ui.plot([ui.mark(type='line', x_scale='time', x='=year', y='=value', y_min=0)])
+))
+
+page.save()
diff --git a/examples/plot_line_annotation.py b/examples/plot_line_annotation.py
new file mode 100644
index 0000000000000000000000000000000000000000..e65a8ed4c6003f03d4988d224bd84595ee4cd652
--- /dev/null
+++ b/examples/plot_line_annotation.py
@@ -0,0 +1,34 @@
+# Plot / Line / Annotation
+# Add annotations to a line #plot. #annotation
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Line, annotation',
+    data=data('year value', 8, rows=[
+        ('1991', 3),
+        ('1992', 4),
+        ('1993', 3.5),
+        ('1994', 5),
+        ('1995', 4.9),
+        ('1996', 6),
+        ('1997', 7),
+        ('1998', 9),
+        ('1999', 13),
+    ]),
+    plot=ui.plot([
+        ui.mark(type='line', x_scale='time', x='=year', y='=value', y_min=0),
+        ui.mark(x='1994', y=13, label='point'),
+        ui.mark(x='1993', label='vertical line'),
+        ui.mark(y=6, label='horizontal line'),
+        ui.mark(x='1996', x0='1995', label='vertical region'),
+        ui.mark(y=8, y0=7, label='horizontal region'),
+        ui.mark(x='1997', x0='1998', y=3, y0=4,
+                label='rectangular region')
+        ])
+))
+
+page.save()
\ No newline at end of file
diff --git a/examples/plot_line_groups.py b/examples/plot_line_groups.py
new file mode 100644
index 0000000000000000000000000000000000000000..8f3d6940e012817612da422b00720e9b8ad32630
--- /dev/null
+++ b/examples/plot_line_groups.py
@@ -0,0 +1,40 @@
+# Plot / Line / Groups
+# Make a multi-series line #plot. #multi_series
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Line, groups',
+    data=data('month city temperature', 24, rows=[
+        ('Jan', 'Tokyo', 7),
+        ('Jan', 'London', 3.9),
+        ('Feb', 'Tokyo', 6.9),
+        ('Feb', 'London', 4.2),
+        ('Mar', 'Tokyo', 9.5),
+        ('Mar', 'London', 5.7),
+        ('Apr', 'Tokyo', 14.5),
+        ('Apr', 'London', 8.5),
+        ('May', 'Tokyo', 18.4),
+        ('May', 'London', 11.9),
+        ('Jun', 'Tokyo', 21.5),
+        ('Jun', 'London', 15.2),
+        ('Jul', 'Tokyo', 25.2),
+        ('Jul', 'London', 17),
+        ('Aug', 'Tokyo', 26.5),
+        ('Aug', 'London', 16.6),
+        ('Sep', 'Tokyo', 23.3),
+        ('Sep', 'London', 14.2),
+        ('Oct', 'Tokyo', 18.3),
+        ('Oct', 'London', 10.3),
+        ('Nov', 'Tokyo', 13.9),
+        ('Nov', 'London', 6.6),
+        ('Dec', 'Tokyo', 9.6),
+        ('Dec', 'London', 4.8),
+    ]),
+    plot=ui.plot([ui.mark(type='line', x='=month', y='=temperature', color='=city', y_min=0)])
+))
+
+page.save()
diff --git a/examples/plot_line_labels.py b/examples/plot_line_labels.py
new file mode 100644
index 0000000000000000000000000000000000000000..4582ff0f94a437c93149b68314915475914f95a4
--- /dev/null
+++ b/examples/plot_line_labels.py
@@ -0,0 +1,28 @@
+# Plot / Line / Labels
+# Add labels to a line #plot.
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Line, labels',
+    data=data('year price', 9, rows=[
+        ('1991', 3),
+        ('1992', 4),
+        ('1993', 3.5),
+        ('1994', 5),
+        ('1995', 4.9),
+        ('1996', 6),
+        ('1997', 7),
+        ('1998', 9),
+        ('1999', 13),
+    ]),
+    plot=ui.plot([
+        ui.mark(type='line', x_scale='time', x='=year', y='=price', y_min=0,
+                label='=${{intl price minimum_fraction_digits=2 maximum_fraction_digits=2}}')
+    ])
+))
+
+page.save()
diff --git a/examples/plot_line_labels_custom.py b/examples/plot_line_labels_custom.py
new file mode 100644
index 0000000000000000000000000000000000000000..cbc5e53318d7847cc3a7f687f93cbc3ba43eccba
--- /dev/null
+++ b/examples/plot_line_labels_custom.py
@@ -0,0 +1,29 @@
+# Plot / Line / Labels / Custom
+# Add labels to a line #plot.
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Line, labels, custom',
+    data=data('year price', 9, rows=[
+        ('1991', 3),
+        ('1992', 4),
+        ('1993', 3.5),
+        ('1994', 5),
+        ('1995', 4.9),
+        ('1996', 6),
+        ('1997', 7),
+        ('1998', 9),
+        ('1999', 13),
+    ]),
+    plot=ui.plot([
+      ui.mark(type='line', x_scale='time', x='=year', y='=price', y_min=0,
+              label='=${{intl price minimum_fraction_digits=2 maximum_fraction_digits=2}}',
+              label_fill_color='rgba(0,0,0,0.65)', label_stroke_color='$red', label_stroke_size=2)
+    ])
+))
+
+page.save()
diff --git a/examples/plot_line_labels_no_overlap.py b/examples/plot_line_labels_no_overlap.py
new file mode 100644
index 0000000000000000000000000000000000000000..72c3d055965148c1b66ea4b5788dbd6c8658af73
--- /dev/null
+++ b/examples/plot_line_labels_no_overlap.py
@@ -0,0 +1,38 @@
+# Plot / Line / Labels / Occlusion
+# Make a line #plot with non-overlapping labels.
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Line, remove overlaping labels',
+    data=data('year price', 9, rows=[
+        ('1991', 3),
+        ('1992', 4),
+        ('1993', 3.5),
+        ('1994', 5),
+        ('1995', 4.9),
+        ('1996', 6),
+        ('1997', 7),
+        ('1998', 9),
+        ('1999', 11),
+        ('2000', 13.5),
+        ('2001', 14),
+        ('2002', 15),
+        ('2003', 16),
+        ('2004', 16.5),
+        ('2005', 17),
+        ('2006', 17.5),
+        ('2007', 18),
+        ('2008', 18.5),
+    ]),
+    plot=ui.plot([
+        ui.mark(type='line', x_scale='time', x='=year', y='=price', y_min=0,
+                label='=${{intl price minimum_fraction_digits=2 maximum_fraction_digits=2}}',
+                label_overlap='hide')
+    ])
+))
+
+page.save()
diff --git a/examples/plot_line_labels_stroked.py b/examples/plot_line_labels_stroked.py
new file mode 100644
index 0000000000000000000000000000000000000000..e66de6d3ebab71db113a7791c7642aef3ed49a23
--- /dev/null
+++ b/examples/plot_line_labels_stroked.py
@@ -0,0 +1,30 @@
+# Plot / Line / Labels / Stroked
+# Customize label rendering: add a subtle outline to labels to improve readability.
+# #plot
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Line, labels less messy',
+    data=data('year price', 9, rows=[
+        ('1991', 3),
+        ('1992', 4),
+        ('1993', 3.5),
+        ('1994', 5),
+        ('1995', 4.9),
+        ('1996', 6),
+        ('1997', 7),
+        ('1998', 9),
+        ('1999', 13),
+    ]),
+    plot=ui.plot([
+        ui.mark(type='line', x_scale='time', x='=year', y='=price', y_min=0,
+                label='=${{intl price minimum_fraction_digits=2 maximum_fraction_digits=2}}',
+                label_fill_color='rgba(0,0,0,0.65)', label_stroke_color='#fff', label_stroke_size=2)
+    ])
+))
+
+page.save()
diff --git a/examples/plot_line_smooth.py b/examples/plot_line_smooth.py
new file mode 100644
index 0000000000000000000000000000000000000000..8c9b235828bd098db4ca13e7ba4480d1156ce6a7
--- /dev/null
+++ b/examples/plot_line_smooth.py
@@ -0,0 +1,30 @@
+# Plot / Line / Smooth
+# Make a line #plot using a smooth curve.
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Line, smooth',
+    data=data('month price', 12, rows=[
+        ('Jan', 51),
+        ('Feb', 91),
+        ('Mar', 34),
+        ('Apr', 47),
+        ('May', 63),
+        ('June', 58),
+        ('July', 56),
+        ('Aug', 77),
+        ('Sep', 99),
+        ('Oct', 106),
+        ('Nov', 88),
+        ('Dec', 56),
+    ]),
+    plot=ui.plot([
+        ui.mark(type='line', x='=month', y='=price', curve='smooth', y_min=0)
+    ])
+))
+
+page.save()
diff --git a/examples/plot_matplotlib.py b/examples/plot_matplotlib.py
new file mode 100644
index 0000000000000000000000000000000000000000..0e33113eaa482b47b84a84219e722ecc79bfffd9
--- /dev/null
+++ b/examples/plot_matplotlib.py
@@ -0,0 +1,61 @@
+# Plot / Matplotlib
+# Use #matplotlib to create plots. Also demonstrates how to provide live control over plots.
+# #plot
+# ---
+import uuid
+import os
+import numpy as np
+import matplotlib.pyplot as plt
+
+from h2o_wave import ui, main, app, Q
+
+np.random.seed(19680801)
+
+
+@app('/demo')
+async def serve(q: Q):
+    if not q.client.initialized:  # First visit
+        q.client.initialized = True
+        q.client.points = 25
+        q.client.alpha = 50
+
+        q.page['controls'] = ui.form_card(
+            box='1 1 2 3',
+            items=[
+                ui.text_xl("Lets make some plots"),
+                ui.slider(name='points', label='Points', min=5, max=50, step=1, value=q.client.points, trigger=True),
+                ui.slider(name='alpha', label='Alpha', min=5, max=100, step=1, value=q.client.alpha, trigger=True),
+            ]
+        )
+        q.page['plot'] = ui.markdown_card(box='3 1 2 3', title='Your plot!', content='')
+
+    if q.args.points is not None:
+        q.client.points = q.args.points
+
+    if q.args.alpha is not None:
+        q.client.alpha = q.args.alpha
+
+    n = q.client.points
+
+    # Render plot
+    plt.figure(figsize=(2, 2))
+    plt.scatter(
+        np.random.rand(n), np.random.rand(n),
+        s=(30 * np.random.rand(n)) ** 2,
+        c=np.random.rand(n),
+        alpha=q.client.alpha / 100.0
+    )
+    image_filename = f'{str(uuid.uuid4())}.png'
+    plt.savefig(image_filename)
+
+    # Upload
+    image_path, = await q.site.upload([image_filename])
+
+    # Clean up
+    os.remove(image_filename)
+
+    # Display our plot in our markdown card
+    q.page['plot'].content = f'![plot]({image_path})'
+
+    # Save page
+    await q.page.save()
diff --git a/examples/plot_pandas.py b/examples/plot_pandas.py
new file mode 100644
index 0000000000000000000000000000000000000000..290010912d321cd537c20cd882fba9dd0f4a6448
--- /dev/null
+++ b/examples/plot_pandas.py
@@ -0,0 +1,51 @@
+# Plot / Pandas
+# Plot Pandas dataframes.
+# ---
+from h2o_wave import site, data, ui
+import pandas as pd
+import numpy as np
+
+page = site['/demo']
+
+n = 100
+df = pd.DataFrame(dict(
+    length=np.random.rand(n),
+    width=np.random.rand(n),
+    data_type=np.random.choice(a=['Train', 'Test'], size=n, p=[0.8, 0.2])
+))
+
+# Plot two numeric columns by each other and color based on a third, categorical column
+page['scatter'] = ui.plot_card(
+    box='1 1 -1 4',
+    title='Scatter Plot from Dataframe',
+    data=data(
+        fields=df.columns.tolist(),
+        rows=df.values.tolist(),
+        pack=True,
+    ),
+    plot=ui.plot(marks=[ui.mark(
+        type='point',
+        x='=length', x_title='Length',
+        y='=width', y_title='Width',
+        color='=data_type', shape='circle',
+    )])
+)
+
+# Aggregate the data in pandas and plot a bar chart of the average value of one column by some other column
+df_agg = df.groupby(['data_type']).mean().reset_index()
+page['bar'] = ui.plot_card(
+    box='1 5 -1 4',
+    title='Bar Plot from Aggregated Dataframe',
+    data=data(
+        fields=df_agg.columns.tolist(),
+        rows=df_agg.values.tolist(),
+        pack=True,
+    ),
+    plot=ui.plot(marks=[ui.mark(
+        type='interval',
+        x='=data_type', x_title='Modeling Data Type',
+        y='=length', y_title='Length',
+    )])
+)
+
+page.save()
diff --git a/examples/plot_path.py b/examples/plot_path.py
new file mode 100644
index 0000000000000000000000000000000000000000..98a87e5a6314f4c38aedd7ea61de96aae44e9300
--- /dev/null
+++ b/examples/plot_path.py
@@ -0,0 +1,26 @@
+# Plot / Path
+# Make a path #plot.
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 5 5',
+    title='Path',
+    data=data('price performance', 10, rows=[
+        (0.1, 0.6),
+        (0.2, 0.5),
+        (0.3, 0.3),
+        (0.4, 0.2),
+        (0.4, 0.5),
+        (0.2, 0.2),
+        (0.8, 0.5),
+        (0.3, 0.3),
+        (0.2, 0.4),
+        (0.1, 0.0),
+    ]),
+    plot=ui.plot([ui.mark(type='path', x='=price', y='=performance')])
+))
+
+page.save()
diff --git a/examples/plot_path_point.py b/examples/plot_path_point.py
new file mode 100644
index 0000000000000000000000000000000000000000..4c388d752d088b1f13fbdd4b0689b6ce665b63ca
--- /dev/null
+++ b/examples/plot_path_point.py
@@ -0,0 +1,29 @@
+# Plot / Path / Point
+# Make a path #plot with an additional layer of points.
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Path + Point',
+    data=data('price performance', 10, rows=[
+        (0.1, 0.6),
+        (0.2, 0.5),
+        (0.3, 0.3),
+        (0.4, 0.2),
+        (0.4, 0.5),
+        (0.2, 0.2),
+        (0.8, 0.5),
+        (0.3, 0.3),
+        (0.2, 0.4),
+        (0.1, 0.0),
+    ]),
+    plot=ui.plot([
+        ui.mark(type='path', x='=price', y='=performance'),
+        ui.mark(type='point', x='=price', y='=performance'),
+    ])
+))
+
+page.save()
diff --git a/examples/plot_path_smooth.py b/examples/plot_path_smooth.py
new file mode 100644
index 0000000000000000000000000000000000000000..fe34c35e79cd91259b07757f8c1b27fa0c5b855f
--- /dev/null
+++ b/examples/plot_path_smooth.py
@@ -0,0 +1,26 @@
+# Plot / Path / Smooth
+# Make a path #plot with a smooth curve.
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Path, smooth',
+    data=data('price performance', 10, rows=[
+        (0.1, 0.6),
+        (0.2, 0.5),
+        (0.3, 0.3),
+        (0.4, 0.2),
+        (0.4, 0.5),
+        (0.2, 0.2),
+        (0.8, 0.5),
+        (0.3, 0.3),
+        (0.2, 0.4),
+        (0.1, 0.0),
+    ]),
+    plot=ui.plot([ui.mark(type='path', x='=price', y='=performance', curve='smooth')])
+))
+
+page.save()
diff --git a/examples/plot_plotly.py b/examples/plot_plotly.py
new file mode 100644
index 0000000000000000000000000000000000000000..81865ecb4658bf6e146ffde83a86dd4981609506
--- /dev/null
+++ b/examples/plot_plotly.py
@@ -0,0 +1,61 @@
+# Plot / Plotly
+# Use #plotly to create plots. Also demonstrates how to provide live control over plots.
+# #plot
+# ---
+
+import numpy as np
+from plotly import graph_objects as go
+from plotly import io as pio
+
+from h2o_wave import ui, main, app, Q
+
+np.random.seed(19680801)
+
+
+@app('/demo')
+async def serve(q: Q):
+    if not q.client.initialized:  # First visit
+        q.client.initialized = True
+        q.client.points = 25
+        q.client.plotly_controls = False
+
+        q.page['controls'] = ui.form_card(
+            box='1 1 4 2',
+            items=[
+                ui.slider(name='points', label='Points', min=5, max=50, step=1, value=q.client.points, trigger=True),
+                ui.toggle(name='plotly_controls', label='Plotly Controls', trigger=True),
+            ]
+        )
+        q.page['plot'] = ui.frame_card(box='1 3 4 5', title='', content='')
+
+    if q.args.points is not None:
+        q.client.points = q.args.points
+
+    if q.args.plotly_controls is not None:
+        q.client.plotly_controls = q.args.plotly_controls
+
+    n = q.client.points
+
+    # Create plot with plotly
+    fig = go.Figure(data=go.Scatter(
+        x=np.random.rand(n),
+        y=np.random.rand(n),
+        mode='markers',
+        marker=dict(size=(8 * np.random.rand(n)) ** 2,
+                    color=np.random.rand(n)),
+        opacity=0.8,
+    ))
+    _ = fig.update_layout(
+        margin=dict(l=10, r=10, t=10, b=10),
+        paper_bgcolor='rgb(255, 255, 255)',
+        plot_bgcolor='rgb(255, 255, 255)',
+    )
+    config = {'scrollZoom': q.client.plotly_controls,
+              'showLink': q.client.plotly_controls,
+              'displayModeBar': q.client.plotly_controls}
+    html = pio.to_html(fig, validate=False, include_plotlyjs='cdn', config=config)
+
+    q.page['plot'].content = html
+
+    # Save page
+    await q.page.save()
diff --git a/examples/plot_point.py b/examples/plot_point.py
new file mode 100644
index 0000000000000000000000000000000000000000..0b94ee11190d1e1dfb9ce86602acd645beb76c71
--- /dev/null
+++ b/examples/plot_point.py
@@ -0,0 +1,26 @@
+# Plot / Point
+# Make a scatterplot. #plot
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Point',
+    data=data('height weight', 10, rows=[
+        (170, 59),
+        (159.1, 47.6),
+        (166, 69.8),
+        (176.2, 66.8),
+        (160.2, 75.2),
+        (180.3, 76.4),
+        (164.5, 63.2),
+        (173, 60.9),
+        (183.5, 74.8),
+        (175.5, 70),
+    ]),
+    plot=ui.plot([ui.mark(type='point', x='=weight', y='=height')])
+))
+
+page.save()
diff --git a/examples/plot_point_annotation.py b/examples/plot_point_annotation.py
new file mode 100644
index 0000000000000000000000000000000000000000..b6d40d6bd89cf2568669b9b26703677c20fa8472
--- /dev/null
+++ b/examples/plot_point_annotation.py
@@ -0,0 +1,35 @@
+# Plot / Point / Annotation
+# Add annotations (points, lines and regions) to a #plot.
+# #annotation
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Numeric-Numeric',
+    data=data('height weight', 10, rows=[
+        (170, 59),
+        (159.1, 47.6),
+        (166, 69.8),
+        (176.2, 66.8),
+        (160.2, 75.2),
+        (180.3, 76.4),
+        (164.5, 63.2),
+        (173, 60.9),
+        (183.5, 74.8),
+        (175.5, 70),
+    ]),
+    plot=ui.plot([
+        ui.mark(type='point', x='=weight', y='=height', x_min=0, x_max=100, y_min=0, y_max=100),  # the plot
+        ui.mark(x=50, y=50, label='point'),  # A single reference point
+        ui.mark(x=40, label='vertical line'),
+        ui.mark(y=40, label='horizontal line'),
+        ui.mark(x=70, x0=60, label='vertical region'),
+        ui.mark(y=70, y0=60, label='horizontal region'),
+        ui.mark(x=30, x0=20, y=30, y0=20, label='rectangular region')
+    ])
+))
+
+page.save()
diff --git a/examples/plot_point_custom.py b/examples/plot_point_custom.py
new file mode 100644
index 0000000000000000000000000000000000000000..90522cadb2c90f09c9df92ec4eb6a4013ec95d5c
--- /dev/null
+++ b/examples/plot_point_custom.py
@@ -0,0 +1,31 @@
+# Plot / Point / Custom
+# Customize a plot's fill/stroke color, size and opacity.
+# #plot
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Point, custom',
+    data=data('lifeExpectancy GDP population', 10, rows=[
+        (75.32, 12779.37964, 40301927),
+        (72.39, 9065.800825, 190010647),
+        (80.653, 36319.23501, 33390141),
+        (78.273, 8948.102923, 11416987),
+        (72.961, 4959.114854, 1318683096),
+        (82.208, 39724.97867, 6980412),
+        (82.603, 31656.06806, 127467972),
+        (76.423, 5937.029526, 3600523),
+        (79.829, 36126.4927, 8199783),
+        (79.441, 33692.60508, 10392226),
+        (81.235, 34435.36744, 20434176),
+        (80.204, 25185.00911, 4115771)
+    ]),
+    plot=ui.plot([ui.mark(type='point', x='=GDP', y='=lifeExpectancy', size='=population', size_range='4 30',
+                          fill_color='#eb4559', stroke_color='#eb4559', stroke_size=1, fill_opacity=0.3,
+                          stroke_opacity=1)])
+))
+
+page.save()
diff --git a/examples/plot_point_groups.py b/examples/plot_point_groups.py
new file mode 100644
index 0000000000000000000000000000000000000000..de43f5d376f6b846573c8eb9ff06ae1f43423232
--- /dev/null
+++ b/examples/plot_point_groups.py
@@ -0,0 +1,27 @@
+# Plot / Point / Groups
+# Make a scatterplot with categories encoded as colors.
+# #plot
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Point, groups',
+    data=data('gender height weight', 10, rows=[
+        ('female', 170, 59),
+        ('female', 159.1, 47.6),
+        ('female', 166, 69.8),
+        ('female', 176.2, 66.8),
+        ('female', 160.2, 75.2),
+        ('male', 180.3, 76.4),
+        ('male', 164.5, 63.2),
+        ('male', 173, 60.9),
+        ('male', 183.5, 74.8),
+        ('male', 175.5, 70),
+    ]),
+    plot=ui.plot([ui.mark(type='point', x='=weight', y='=height', color='=gender', shape='circle')])
+))
+
+page.save()
diff --git a/examples/plot_point_map.py b/examples/plot_point_map.py
new file mode 100644
index 0000000000000000000000000000000000000000..3d717eee1a2f4f9e51c4b4129995897a3bac6c90
--- /dev/null
+++ b/examples/plot_point_map.py
@@ -0,0 +1,30 @@
+# Plot / Point / Map
+# Make a #plot to compare quantities across categories. Similar to a heatmap,
+# but using size-encoding instead of color-encoding.
+# #map
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Points, size-encoded',
+    data=data('year person sales', 10, rows=[
+        ('2021', 'Joe', 10),
+        ('2022', 'Jane', 58),
+        ('2023', 'Ann', 114),
+        ('2021', 'Tim', 31),
+        ('2023', 'Joe', 96),
+        ('2021', 'Jane', 55),
+        ('2023', 'Jane', 5),
+        ('2022', 'Tim', 85),
+        ('2023', 'Tim', 132),
+        ('2022', 'Joe', 54),
+        ('2021', 'Ann', 78),
+        ('2022', 'Ann', 18),
+    ]),
+    plot=ui.plot([ui.mark(type='point', x='=person', y='=year', size='=sales', shape='circle')])
+))
+
+page.save()
diff --git a/examples/plot_point_shapes.py b/examples/plot_point_shapes.py
new file mode 100644
index 0000000000000000000000000000000000000000..46db840d0b55d66da7295040ed89f91535625a67
--- /dev/null
+++ b/examples/plot_point_shapes.py
@@ -0,0 +1,27 @@
+# Plot / Point / Shapes
+# Make a scatterplot with categories encoded as mark shapes.
+# #plot
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Point, shapes',
+    data=data('gender height weight', 10, rows=[
+        ('female', 170, 59),
+        ('female', 159.1, 47.6),
+        ('female', 166, 69.8),
+        ('female', 176.2, 66.8),
+        ('female', 160.2, 75.2),
+        ('male', 180.3, 76.4),
+        ('male', 164.5, 63.2),
+        ('male', 173, 60.9),
+        ('male', 183.5, 74.8),
+        ('male', 175.5, 70),
+    ]),
+    plot=ui.plot([ui.mark(type='point', x='=weight', y='=height', shape='=gender')])
+))
+
+page.save()
diff --git a/examples/plot_point_sizes.py b/examples/plot_point_sizes.py
new file mode 100644
index 0000000000000000000000000000000000000000..9343ac0b2783fe59aadf2af7305ae33987d9eaaf
--- /dev/null
+++ b/examples/plot_point_sizes.py
@@ -0,0 +1,29 @@
+# Plot / Point / Sizes
+# Make a scatterplot with mark sizes mapped to a continuous variable (a "bubble plot").
+# #plot
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Point, sized',
+    data=data('lifeExpectancy GDP population', 10, rows=[
+        (75.32, 12779.37964, 40301927),
+        (72.39, 9065.800825, 190010647),
+        (80.653, 36319.23501, 33390141),
+        (78.273, 8948.102923, 11416987),
+        (72.961, 4959.114854, 1318683096),
+        (82.208, 39724.97867, 6980412),
+        (82.603, 31656.06806, 127467972),
+        (76.423, 5937.029526, 3600523),
+        (79.829, 36126.4927, 8199783),
+        (79.441, 33692.60508, 10392226),
+        (81.235, 34435.36744, 20434176),
+        (80.204, 25185.00911, 4115771)
+    ]),
+    plot=ui.plot([ui.mark(type='point', x='=GDP', y='=lifeExpectancy', size='=population')])
+))
+
+page.save()
diff --git a/examples/plot_polygon.py b/examples/plot_polygon.py
new file mode 100644
index 0000000000000000000000000000000000000000..486ead93f157484e4054c8b567e3a18c906bf70f
--- /dev/null
+++ b/examples/plot_polygon.py
@@ -0,0 +1,29 @@
+# Plot / Polygon
+# Make a heatmap. #plot
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Heatmap',
+    data=data('year person sales', 10, rows=[
+        ('2021', 'Joe', 10),
+        ('2022', 'Jane', 58),
+        ('2023', 'Ann', 114),
+        ('2021', 'Tim', 31),
+        ('2023', 'Joe', 96),
+        ('2021', 'Jane', 55),
+        ('2023', 'Jane', 5),
+        ('2022', 'Tim', 85),
+        ('2023', 'Tim', 132),
+        ('2022', 'Joe', 54),
+        ('2021', 'Ann', 78),
+        ('2022', 'Ann', 18),
+    ]),
+    plot=ui.plot([ui.mark(type='polygon', x='=person', y='=year', color='=sales',
+                color_range='#fee8c8 #fdbb84 #e34a33')])
+))
+
+page.save()
diff --git a/examples/plot_schema.py b/examples/plot_schema.py
new file mode 100644
index 0000000000000000000000000000000000000000..5abc9609699989e1e580340aea953651e44b1595
--- /dev/null
+++ b/examples/plot_schema.py
@@ -0,0 +1,37 @@
+# Plot / Schema
+# Make a box and whiskers plot.
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 -1 -1',
+    title='Box plot',
+    data=data(
+        fields=['region', 'low', 'q1', 'q2', 'q3', 'high'],
+        rows=[
+            ['Oceania', 1, 9, 16, 22, 24],
+            ['East Europe', 1, 5, 8, 12, 16],
+            ['Australia', 1, 8, 12, 19, 26],
+            ['South America', 2, 8, 12, 21, 28],
+            ['North Africa', 1, 8, 14, 18, 24],
+            ['North America', 3, 10, 17, 28, 30],
+            ['West Europe', 1, 7, 10, 17, 22],
+            ['West Africa', 1, 6, 8, 13, 16],
+        ],
+        pack=True,
+    ),
+    plot=ui.plot([ui.mark(
+        type='schema',
+        x='=region',
+        y1='=low',  # min
+        y_q1='=q1',  # lower quartile
+        y_q2='=q2',  # median
+        y_q3='=q3',  # upper quartile
+        y2='=high',  # max
+        fill_color='#ccf5ff',
+    )])
+))
+
+page.save()
diff --git a/examples/plot_schema_transpose.py b/examples/plot_schema_transpose.py
new file mode 100644
index 0000000000000000000000000000000000000000..eee2294c3173923bde1f3a4205b4b044ec16e45c
--- /dev/null
+++ b/examples/plot_schema_transpose.py
@@ -0,0 +1,37 @@
+# Plot / Schema / Transpose
+# Make a horizontal box and whiskers plot.
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Box plot',
+    data=data(
+        fields=['region', 'low', 'q1', 'q2', 'q3', 'high'],
+        rows=[
+            ['Oceania', 1, 9, 16, 22, 24],
+            ['East Europe', 1, 5, 8, 12, 16],
+            ['Australia', 1, 8, 12, 19, 26],
+            ['South America', 2, 8, 12, 21, 28],
+            ['North Africa', 1, 8, 14, 18, 24],
+            ['North America', 3, 10, 17, 28, 30],
+            ['West Europe', 1, 7, 10, 17, 22],
+            ['West Africa', 1, 6, 8, 13, 16],
+        ],
+        pack=True,
+    ),
+    plot=ui.plot([ui.mark(
+        type='schema',
+        x1='=low',  # min
+        x_q1='=q1',  # lower quartile
+        x_q2='=q2',  # median
+        x_q3='=q3',  # upper quartile
+        x2='=high',  # max
+        y='=region',
+        fill_color='#ccf5ff',
+    )])
+))
+
+page.save()
diff --git a/examples/plot_step.py b/examples/plot_step.py
new file mode 100644
index 0000000000000000000000000000000000000000..eb03af730f028b9dfa4ce30835ed9423631b3258
--- /dev/null
+++ b/examples/plot_step.py
@@ -0,0 +1,30 @@
+# Plot / Line / Step
+# Make a line #plot with a step curve.
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Line, step',
+    data=data('month price', 12, rows=[
+        ('Jan', 51),
+        ('Feb', 91),
+        ('Mar', 34),
+        ('Apr', 47),
+        ('May', 63),
+        ('June', 58),
+        ('July', 56),
+        ('Aug', 77),
+        ('Sep', 99),
+        ('Oct', 106),
+        ('Nov', 88),
+        ('Dec', 56),
+    ]),
+    plot=ui.plot([
+        ui.mark(type='line', x='=month', y='=price', curve='step', y_min=0)
+    ])
+))
+
+page.save()
diff --git a/examples/plot_step_after.py b/examples/plot_step_after.py
new file mode 100644
index 0000000000000000000000000000000000000000..c5384061bd7bc96f092913ec93d03e3b9530cde8
--- /dev/null
+++ b/examples/plot_step_after.py
@@ -0,0 +1,30 @@
+# Plot / Line / Step / After
+# Make a line #plot with a step-after curve.
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Line, step-after',
+    data=data('month price', 12, rows=[
+        ('Jan', 51),
+        ('Feb', 91),
+        ('Mar', 34),
+        ('Apr', 47),
+        ('May', 63),
+        ('June', 58),
+        ('July', 56),
+        ('Aug', 77),
+        ('Sep', 99),
+        ('Oct', 106),
+        ('Nov', 88),
+        ('Dec', 56),
+    ]),
+    plot=ui.plot([
+        ui.mark(type='line', x='=month', y='=price', curve='step-after', y_min=0)
+    ])
+))
+
+page.save()
diff --git a/examples/plot_step_before.py b/examples/plot_step_before.py
new file mode 100644
index 0000000000000000000000000000000000000000..4e88b8050036e58563b8588ed94bfb8dd0c6167d
--- /dev/null
+++ b/examples/plot_step_before.py
@@ -0,0 +1,30 @@
+# Plot / Line / Step / Before
+# Make a line #plot with a step-before curve.
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+page.add('example', ui.plot_card(
+    box='1 1 4 5',
+    title='Line, step before',
+    data=data('month price', 12, rows=[
+        ('Jan', 51),
+        ('Feb', 91),
+        ('Mar', 34),
+        ('Apr', 47),
+        ('May', 63),
+        ('June', 58),
+        ('July', 56),
+        ('Aug', 77),
+        ('Sep', 99),
+        ('Oct', 106),
+        ('Nov', 88),
+        ('Dec', 56),
+    ]),
+    plot=ui.plot([
+        ui.mark(type='line', x='=month', y='=price', curve='step-before', y_min=0)
+    ])
+))
+
+page.save()
diff --git a/examples/plot_theme.py b/examples/plot_theme.py
new file mode 100644
index 0000000000000000000000000000000000000000..227090b88a134309fb8841cc126ee4b7ae5aa209
--- /dev/null
+++ b/examples/plot_theme.py
@@ -0,0 +1,432 @@
+# Plot / Theme
+# Themeable #plot showcase.
+# ---
+import random
+
+from .synth import FakeTimeSeries, FakeMultiTimeSeries, FakeCategoricalSeries, FakeMultiCategoricalSeries, FakeScatter
+from h2o_wave import main, app, data, Q, ui
+
+
+n = 10
+k = 3
+f = FakeTimeSeries()
+f_multi = FakeMultiTimeSeries()
+f_cat = FakeCategoricalSeries()
+f_cat_multi = FakeMultiCategoricalSeries(groups=k)
+f_scat = FakeScatter()
+
+zones = [
+    ui.zone(name='title', size='60px'),
+    ui.zone(name='plots', direction=ui.ZoneDirection.ROW, wrap='start', justify='center'),
+]
+
+@app('/demo')
+async def serve(q: Q):
+    if not q.client.initialized:
+        q.page['meta'] = ui.meta_card(box='', layouts=[
+            ui.layout(breakpoint='xs', zones=zones),
+            ui.layout(breakpoint='m', zones=zones),
+            ui.layout(breakpoint='xl', zones=zones),
+        ])
+
+        q.client.active_theme = 'default'
+        q.page['title'] = ui.section_card(
+            box='title',
+            title='Plot theme demo',
+            subtitle='Toggle theme to see default plot colors change!',
+            items=[ui.toggle(name='toggle_theme', label='Dark theme', trigger=True)],
+        )
+
+        v = q.page.add('point-sized', ui.plot_card(
+            box=ui.boxes(
+                ui.box('plots', width='100%'),
+                ui.box('plots', width='48%'),
+                ui.box('plots', width='32%'),
+            ),
+            title='Point, sized',
+            data=data('price performance discount', n),
+            plot=ui.plot([ui.mark(type='point', x='=price', y='=performance', size='=discount')])
+        ))
+        v.data = [(x, y, random.randint(1, 10)) for x, y in [f_scat.next() for _ in range(n)]]
+
+        v = q.page.add('point-shapes', ui.plot_card(
+            box=ui.boxes(
+                ui.box('plots', width='100%'),
+                ui.box('plots', width='48%'),
+                ui.box('plots', width='32%'),
+            ),
+            title='Point, shapes',
+            data=data('product price performance', n * 2),
+            plot=ui.plot([ui.mark(type='point', x='=price', y='=performance', shape='=product', shape_range='circle square')])
+        ))
+        v.data = [('G1', x, y) for x, y in [f_scat.next() for _ in range(n)]] + [('G2', x, y) for x, y in [f_scat.next() for _ in range(n)]]
+
+        k1, k2 = 20, 10
+        v = q.page.add('poit-size', ui.plot_card(
+            box=ui.boxes(
+                ui.box('plots', width='100%'),
+                ui.box('plots', width='48%'),
+                ui.box('plots', width='32%'),
+            ),
+            title='Points, size-encoded',
+            data=data('country product profit', k1 * k2),
+            plot=ui.plot([ui.mark(type='point', x='=country', y='=product', size='=profit', shape='circle')])
+        ))
+        rows = []
+        for i in range(k1):
+            for j in range(k2):
+                x = f.next()
+                rows.append((f'A{i + 1}', f'B{j + 1}', x))
+        v.data = rows
+
+        v = q.page.add('area', ui.plot_card(
+            box=ui.boxes(
+                ui.box('plots', width='100%'),
+                ui.box('plots', width='48%'),
+                ui.box('plots', width='32%'),
+            ),
+            title='Area',
+            data=data('date price', n),
+            plot=ui.plot([ui.mark(type='area', x_scale='time', x='=date', y='=price', y_min=0)])
+        ))
+        v.data = [(t, x) for t, x, dx in [f.next() for _ in range(n)]]
+
+        v = q.page.add('area-line', ui.plot_card(
+            box=ui.boxes(
+                ui.box('plots', width='100%'),
+                ui.box('plots', width='48%'),
+                ui.box('plots', width='32%'),
+            ),
+            title='Area + Line',
+            data=data('date price', n),
+            plot=ui.plot([
+                ui.mark(type='area', x_scale='time', x='=date', y='=price', y_min=0),
+                ui.mark(type='line', x='=date', y='=price')
+            ])
+        ))
+        v.data = [(t, x) for t, x, dx in [f.next() for _ in range(n)]]
+
+        v = q.page.add('area-line-smooth', ui.plot_card(
+            box=ui.boxes(
+                ui.box('plots', width='100%'),
+                ui.box('plots', width='48%'),
+                ui.box('plots', width='32%'),
+            ),
+            title='Area + Line, smooth',
+            data=data('date price', n),
+            plot=ui.plot([
+                ui.mark(type='area', x_scale='time', x='=date', y='=price', curve='smooth', y_min=0),
+                ui.mark(type='line', x='=date', y='=price', curve='smooth')
+            ])
+        ))
+        v.data = [(t, x) for t, x, dx in [f.next() for _ in range(n)]]
+
+        v = q.page.add('area-line-groups', ui.plot_card(
+            box=ui.boxes(
+                ui.box('plots', width='100%'),
+                ui.box('plots', width='48%'),
+                ui.box('plots', width='32%'),
+            ),
+            title='Area + Line, groups',
+            data=data('product date price', n * 5),
+            plot=ui.plot([
+                ui.mark(type='area', x_scale='time', x='=date', y='=price', color='=product', y_min=0),
+                ui.mark(type='line', x='=date', y='=price', color='=product')
+            ])
+        ))
+        v.data = [(g, t, x) for x in [f_multi.next() for _ in range(n)] for g, t, x, dx in x]
+
+        v = q.page.add('area-groups', ui.plot_card(
+            box=ui.boxes(
+                ui.box('plots', width='100%'),
+                ui.box('plots', width='48%'),
+                ui.box('plots', width='32%'),
+            ),
+            title='Area, groups',
+            data=data('product date price', n * 5),
+            plot=ui.plot([ui.mark(type='area', x_scale='time', x='=date', y='=price', color='=product', y_min=0)])
+        ))
+        v.data = [(g, t, x) for x in [f_multi.next() for _ in range(n)] for g, t, x, dx in x]
+
+        v = q.page.add('area-stacked', ui.plot_card(
+            box=ui.boxes(
+                ui.box('plots', width='100%'),
+                ui.box('plots', width='48%'),
+                ui.box('plots', width='32%'),
+            ),
+            title='Area, stacked',
+            data=data('product date price', n * 5),
+            plot=ui.plot(
+                [ui.mark(type='area', x_scale='time', x='=date', y='=price', color='=product', stack='auto', y_min=0)])
+        ))
+        v.data = [(g, t, x) for x in [f_multi.next() for _ in range(n)] for g, t, x, dx in x]
+
+        f_negative = FakeTimeSeries(min=-50, max=50, start=0)
+        v = q.page.add('area-negative-values', ui.plot_card(
+            box=ui.boxes(
+                ui.box('plots', width='100%'),
+                ui.box('plots', width='48%'),
+                ui.box('plots', width='32%'),
+            ),
+            title='Area, negative values',
+            data=data('date price', n),
+            plot=ui.plot([ui.mark(type='area', x_scale='time', x='=date', y='=price')])
+        ))
+        v.data = [(t, x) for t, x, dx in [f_negative.next() for _ in range(n)]]
+
+        v = q.page.add('area-range', ui.plot_card(
+            box=ui.boxes(
+                ui.box('plots', width='100%'),
+                ui.box('plots', width='48%'),
+                ui.box('plots', width='32%'),
+            ),
+            title='Area, range',
+            data=data('date low high', n),
+            plot=ui.plot([ui.mark(type='area', x_scale='time', x='=date', y0='=low', y='=high')])
+        ))
+        v.data = [(t, x - random.randint(3, 8), x + random.randint(3, 8)) for t, x, dx in [f.next() for _ in range(n)]]
+
+        v = q.page.add('area-smooth', ui.plot_card(
+            box=ui.boxes(
+                ui.box('plots', width='100%'),
+                ui.box('plots', width='48%'),
+                ui.box('plots', width='32%'),
+            ),
+            title='Area, smooth',
+            data=data('date price', n),
+            plot=ui.plot([ui.mark(type='area', x_scale='time', x='=date', y='=price', curve='smooth', y_min=0)])
+        ))
+        v.data = [(t, x) for t, x, dx in [f.next() for _ in range(n)]]
+
+        v = q.page.add('example', ui.plot_card(
+            box=ui.boxes(
+                ui.box('plots', width='100%'),
+                ui.box('plots', width='48%'),
+                ui.box('plots', width='32%'),
+            ),
+            title='Label Customization',
+            data=data('product price', n),
+            plot=ui.plot([
+                ui.mark(type='interval', x='=product',
+                        y='=${{intl price minimum_fraction_digits=2 maximum_fraction_digits=2}}', y_min=0,
+                        label='=${{intl price minimum_fraction_digits=2 maximum_fraction_digits=2}}',
+                        label_offset=0, label_position='middle', label_rotation='-90', label_fill_color='#fff',
+                        label_font_weight='bold')])
+        ))
+        v.data = [(c, x) for c, x, dx in [f_cat.next() for _ in range(n)]]
+
+        v = q.page.add('interval', ui.plot_card(
+            box=ui.boxes(
+                ui.box('plots', width='100%'),
+                ui.box('plots', width='48%'),
+                ui.box('plots', width='32%'),
+            ),
+            title='Interval',
+            data=data('product price', n),
+            plot=ui.plot([ui.mark(type='interval', x='=product', y='=price', y_min=0)])
+        ))
+        v.data = [(c, x) for c, x, dx in [f_cat.next() for _ in range(n)]]
+
+        v = q.page.add('interval-annotation', ui.plot_card(
+            box=ui.boxes(
+                ui.box('plots', width='100%'),
+                ui.box('plots', width='48%'),
+                ui.box('plots', width='32%'),
+            ),
+            title='Categorical-Numeric',
+            data=data('product price', n),
+            plot=ui.plot([
+                ui.mark(type='interval', x='=product', y='=price', y_min=0, y_max=100),
+                ui.mark(x='C20', y=80, label='point'),
+                ui.mark(x='C23', label='vertical line'),
+                ui.mark(y=40, label='horizontal line'),
+                ui.mark(x='C26', x0='C23', label='vertical region'),
+                ui.mark(y=70, y0=60, label='horizontal region')
+            ])
+        ))
+        v.data = [(c, x) for c, x, dx in [f_cat.next() for _ in range(n)]]
+
+        v = q.page.add('histogram', ui.plot_card(
+            box=ui.boxes(
+                ui.box('plots', width='100%'),
+                ui.box('plots', width='48%'),
+                ui.box('plots', width='32%'),
+            ),
+            title='Histogram',
+            data=data('lo hi price', n),
+            plot=ui.plot([ui.mark(type='interval', y='=price', x1='=lo', x2='=hi', y_min=0)])
+        ))
+        v.data = [(i * 10, i * 10 + 10, x) for i, (c, x, dx) in enumerate([f_cat.next() for _ in range(n)])]
+
+        v = q.page.add('interval-range', ui.plot_card(
+            box=ui.boxes(
+                ui.box('plots', width='100%'),
+                ui.box('plots', width='48%'),
+                ui.box('plots', width='32%'),
+            ),
+            title='Histogram',
+            data=data('lo hi price', n),
+            plot=ui.plot([ui.mark(type='interval', y='=price', x1='=lo', x2='=hi', y_min=0)])
+        ))
+        v.data = [(i * 10, i * 10 + 10, x) for i, (c, x, dx) in enumerate([f_cat.next() for _ in range(n)])]
+
+        v = q.page.add('interval-range', ui.plot_card(
+            box=ui.boxes(
+                ui.box('plots', width='100%'),
+                ui.box('plots', width='48%'),
+                ui.box('plots', width='35%'),
+            ),
+            title='Interval, range',
+            data=data('product low high', 3),
+            plot=ui.plot([ui.mark(type='interval', x='=product', y0='=low', y='=high')])
+        ))
+        v.data = [(c, x - random.randint(3, 10), x + random.randint(3, 10)) for c, x, _ in [f.next() for _ in range(3)]]
+
+        v = q.page.add('interval-transpose', ui.plot_card(
+            box=ui.boxes(
+                ui.box('plots', width='100%'),
+                ui.box('plots', width='48%'),
+                ui.box('plots', width='29%'),
+            ),
+            title='Categorical-Numeric',
+            data=data('product price', 20),
+            plot=ui.plot([
+                ui.mark(type='interval', y='=product', x='=price', x_min=0, x_max=100),
+            ])
+        ))
+        v.data = [(c, x) for c, x, dx in [f_cat.next() for _ in range(20)]]
+
+        v = q.page.add('intervals-theta-stacked', ui.plot_card(
+            box=ui.boxes(
+                ui.box('plots', width='100%'),
+                ui.box('plots', width='48%'),
+                ui.box('plots', width='32%'),
+            ),
+            title='Intervals, theta, stacked',
+            data=data('country product price', n * k),
+            plot=ui.plot([
+                ui.mark(coord='theta', type='interval', x='=product', y='=price', color='=country', stack='auto', y_min=0)
+            ])
+        ))
+        v.data = [(g, t, x) for x in [f_cat_multi.next() for _ in range(n)] for g, t, x, dx in x]
+
+        v = q.page.add('interval-helix', ui.plot_card(
+            box=ui.boxes(
+                ui.box('plots', width='100%'),
+                ui.box('plots', width='48%'),
+                ui.box('plots', width='32%'),
+            ),
+            title='Interval, helix',
+            data=data('product price', 60),
+            plot=ui.plot([ui.mark(coord='helix', type='interval', x='=product', y='=price', y_min=0)])
+        ))
+        v.data = [(c, x) for c, x, dx in [f_cat.next() for _ in range(60)]]
+
+        v = q.page.add('interval-polar', ui.plot_card(
+            box=ui.boxes(
+                ui.box('plots', width='100%'),
+                ui.box('plots', width='48%'),
+                ui.box('plots', width='32%'),
+            ),
+            title='Interval, polar',
+            data=data('product price', n),
+            plot=ui.plot([ui.mark(coord='polar', type='interval', x='=product', y='=price', y_min=0)])
+        ))
+        v.data = [(c, x) for c, x, dx in [f_cat.next() for _ in range(n)]]
+
+        v = q.page.add('intervals-groups', ui.plot_card(
+            box=ui.boxes(
+                ui.box('plots', width='100%'),
+                ui.box('plots', width='48%'),
+                ui.box('plots', width='32%'),
+            ),
+            title='Intervals, groups',
+            data=data('country product price', n * k),
+            plot=ui.plot([ui.mark(type='interval', x='=product', y='=price', color='=country', dodge='auto', y_min=0)])
+        ))
+        v.data = [(g, t, x) for x in [f_cat_multi.next() for _ in range(n)] for g, t, x, dx in x]
+
+        v = q.page.add('intervals-stacked', ui.plot_card(
+            box=ui.boxes(
+                ui.box('plots', width='100%'),
+                ui.box('plots', width='48%'),
+                ui.box('plots', width='32%'),
+            ),
+            title='Intervals, stacked',
+            data=data('country product price', n * k),
+            plot=ui.plot([ui.mark(type='interval', x='=product', y='=price', color='=country', stack='auto', y_min=0)])
+        ))
+        v.data = [(g, t, x) for x in [f_cat_multi.next() for _ in range(n)] for g, t, x, dx in x]
+
+        v = q.page.add('point-annotation', ui.plot_card(
+            box=ui.boxes(
+                ui.box('plots', width='100%'),
+                ui.box('plots', width='48%'),
+                ui.box('plots', width='32%'),
+            ),
+            title='Numeric-Numeric',
+            data=data('price performance', n),
+            plot=ui.plot([
+                ui.mark(type='point', x='=price', y='=performance', x_min=0, x_max=100, y_min=0, y_max=100),  # the plot
+                ui.mark(x=50, y=50, label='point'),  # A single reference point
+                ui.mark(x=40, label='vertical line'),
+                ui.mark(y=40, label='horizontal line'),
+                ui.mark(x=70, x0=60, label='vertical region'),
+                ui.mark(y=70, y0=60, label='horizontal region'),
+                ui.mark(x=30, x0=20, y=30, y0=20, label='rectangular region')
+            ])
+        ))
+        v.data = [f_scat.next() for _ in range(n)]
+
+        v = q.page.add('path', ui.plot_card(
+            box=ui.boxes(
+                ui.box('plots', width='100%'),
+                ui.box('plots', width='48%'),
+                ui.box('plots', width='32%'),
+            ),
+            title='Path',
+            data=data('profit sales', n),
+            plot=ui.plot([ui.mark(type='path', x='=profit', y='=sales')])
+        ))
+        v.data = [(x, y) for x, y in [f_scat.next() for _ in range(n)]]
+
+        v = q.page.add('step', ui.plot_card(
+            box=ui.boxes(
+                ui.box('plots', width='100%'),
+                ui.box('plots', width='48%'),
+                ui.box('plots', width='32%'),
+            ),
+            title='Line, step',
+            data=data('date price', n),
+            plot=ui.plot([ui.mark(type='line', x_scale='time', x='=date', y='=price', curve='step', y_min=0)])
+        ))
+        v.data = [(t, x) for t, x, dx in [f.next() for _ in range(n)]]
+
+        v = q.page.add('line-annotation', ui.plot_card(
+            box=ui.boxes(
+                ui.box('plots', width='100%'),
+                ui.box('plots', width='48%'),
+                ui.box('plots', width='32%'),
+            ),
+            title='Time-Numeric',
+            data=data('date price', n),
+            plot=ui.plot([
+                ui.mark(type='line', x_scale='time', x='=date', y='=price', y_min=0, y_max=100),
+                ui.mark(x=50, y=50, label='point'),
+                ui.mark(x='2010-05-15T19:59:21.000000Z', label='vertical line'),
+                ui.mark(y=40, label='horizontal line'),
+                ui.mark(x='2010-05-24T19:59:21.000000Z', x0='2010-05-20T19:59:21.000000Z', label='vertical region'),
+                ui.mark(y=70, y0=60, label='horizontal region'),
+                ui.mark(x='2010-05-10T19:59:21.000000Z', x0='2010-05-05T19:59:21.000000Z', y=30, y0=20,
+                        label='rectangular region')
+            ])
+        ))
+        v.data = [(t, x) for t, x, dx in [f.next() for _ in range(n)]]
+
+        q.client.initialized = True
+
+    if q.args.toggle_theme is not None:
+        q.client.active_theme = 'neon' if q.args.toggle_theme else 'default'
+        q.page['meta'].theme = q.client.active_theme
+        q.page['title'].toggle_theme.value = q.client.active_theme == 'neon'
+    await q.page.save()
diff --git a/examples/plot_vega.py b/examples/plot_vega.py
new file mode 100644
index 0000000000000000000000000000000000000000..138c37b6ed3604039e7632bd95e61fb4b1b75ab5
--- /dev/null
+++ b/examples/plot_vega.py
@@ -0,0 +1,114 @@
+# Plot / Vega
+# Make a #plot using Vega. #vega
+# ---
+from h2o_wave import site, ui
+
+page = site['/demo']
+
+spec = '''
+{
+  "$schema": "https://vega.github.io/schema/vega/v5.json",
+  "description": "A basic bar chart example, with value labels shown upon mouse hover.",
+  "width": 500,
+  "height": 250,
+  "padding": 5,
+
+  "data": [
+    {
+      "name": "table",
+      "values": [
+        {"category": "A", "amount": 28},
+        {"category": "B", "amount": 55},
+        {"category": "C", "amount": 43},
+        {"category": "D", "amount": 91},
+        {"category": "E", "amount": 81},
+        {"category": "F", "amount": 53},
+        {"category": "G", "amount": 19},
+        {"category": "H", "amount": 87}
+      ]
+    }
+  ],
+
+  "signals": [
+    {
+      "name": "tooltip",
+      "value": {},
+      "on": [
+        {"events": "rect:mouseover", "update": "datum"},
+        {"events": "rect:mouseout",  "update": "{}"}
+      ]
+    }
+  ],
+
+  "scales": [
+    {
+      "name": "xscale",
+      "type": "band",
+      "domain": {"data": "table", "field": "category"},
+      "range": "width",
+      "padding": 0.05,
+      "round": true
+    },
+    {
+      "name": "yscale",
+      "domain": {"data": "table", "field": "amount"},
+      "nice": true,
+      "range": "height"
+    }
+  ],
+
+  "axes": [
+    { "orient": "bottom", "scale": "xscale" },
+    { "orient": "left", "scale": "yscale" }
+  ],
+
+  "marks": [
+    {
+      "type": "rect",
+      "from": {"data":"table"},
+      "encode": {
+        "enter": {
+          "x": {"scale": "xscale", "field": "category"},
+          "width": {"scale": "xscale", "band": 1},
+          "y": {"scale": "yscale", "field": "amount"},
+          "y2": {"scale": "yscale", "value": 0}
+        },
+        "update": {
+          "fill": {"value": "steelblue"}
+        },
+        "hover": {
+          "fill": {"value": "red"}
+        }
+      }
+    },
+    {
+      "type": "text",
+      "encode": {
+        "enter": {
+          "align": {"value": "center"},
+          "baseline": {"value": "bottom"},
+          "fill": {"value": "#333"}
+        },
+        "update": {
+          "x": {"scale": "xscale", "signal": "tooltip.category", "band": 0.5},
+          "y": {"scale": "yscale", "signal": "tooltip.amount", "offset": -2},
+          "text": {"signal": "tooltip.amount"},
+          "fillOpacity": [
+            {"test": "datum === tooltip", "value": 0},
+            {"value": 1}
+          ]
+        }
+      }
+    }
+  ]
+}
+'''
+
+page.add('vega', ui.vega_card(
+    box='1 1 4 4',
+    title='Full Vega spec grammar',
+    specification=spec,
+    grammar='vega',
+))
+
+page.save()
diff --git a/examples/plot_vegalite.py b/examples/plot_vegalite.py
new file mode 100644
index 0000000000000000000000000000000000000000..27fc04ed65e1ca9ef9dd9af224d498a90430513a
--- /dev/null
+++ b/examples/plot_vegalite.py
@@ -0,0 +1,59 @@
+# Plot / Vega-lite
+# Make a #plot using Vega-lite. #vega
+# ---
+from h2o_wave import site, data, ui
+
+page = site['/demo']
+
+spec1 = '''
+{
+  "description": "A simple bar plot with embedded data.",
+  "data": {
+    "values": [
+      {"a": "A","b": 28}, {"a": "B","b": 55}, {"a": "C","b": 43},
+      {"a": "D","b": 91}, {"a": "E","b": 81}, {"a": "F","b": 53},
+      {"a": "G","b": 19}, {"a": "H","b": 87}, {"a": "I","b": 52}
+    ]
+  },
+  "mark": "bar",
+  "encoding": {
+    "x": {"field": "a", "type": "ordinal"},
+    "y": {"field": "b", "type": "quantitative"}
+  }
+}
+'''
+
+page.add('embedded', ui.vega_card(
+    box='1 1 2 4',
+    title='Plot with embedded data',
+    specification=spec1,
+))
+
+# The following produces the same plot as above, but separates the
+# Vega-lite spec from the data. This allows you to create a plot once
+# and update data multiple times.
+spec2 = '''
+{
+  "description": "A simple bar plot with embedded data.",
+  "mark": "bar",
+  "encoding": {
+    "x": {"field": "a", "type": "ordinal"},
+    "y": {"field": "b", "type": "quantitative"}
+  }
+}
+'''
+
+data2 = data(fields=["a", "b"], rows=[
+    ["A", 28], ["B", 55], ["C", 43],
+    ["D", 91], ["E", 81], ["F", 53],
+    ["G", 19], ["H", 87], ["I", 52]
+])
+
+page.add('external', ui.vega_card(
+    box='1 5 2 4',
+    title='Plot with external data',
+    specification=spec2,
+    data=data2,
+))
+
+page.save()
diff --git a/examples/plot_vegalite_flex.py b/examples/plot_vegalite_flex.py
new file mode 100644
index 0000000000000000000000000000000000000000..49082b696991b6bb2345160bb039c948128ba49d
--- /dev/null
+++ b/examples/plot_vegalite_flex.py
@@ -0,0 +1,75 @@
+# Plot / Vega-lite / Flex
+# Place Vegalite plots in a flexible layout.
+# ---
+from h2o_wave import site, ui, data
+
+page = site['/demo']
+page.drop()
+
+page['meta'] = ui.meta_card(box='', layouts=[
+    ui.layout(
+        breakpoint='xs',
+        width='100%',
+        zones=[
+            ui.zone('top', size='350px', direction=ui.ZoneDirection.ROW, zones=[
+                ui.zone('top_left', size='75%'),
+                ui.zone('top_right', size='1'),
+            ]),
+            ui.zone('bottom', size='350px', direction=ui.ZoneDirection.ROW, zones=[
+                ui.zone('bottom_left', size='1'),
+                ui.zone('bottom_center', size='2'),
+                ui.zone('bottom_right', size='3'),
+            ]),
+        ]
+    )
+])
+
+plot_spec = '''
+{
+  "description": "A simple bar plot with embedded data.",
+  "mark": "bar",
+  "encoding": {
+    "x": {"field": "a", "type": "ordinal"},
+    "y": {"field": "b", "type": "quantitative"}
+  }
+}
+'''
+
+plot_data = data(fields=["a", "b"], rows=[
+    ["A", 28], ["B", 55], ["C", 43],
+    ["D", 91], ["E", 81], ["F", 53],
+    ["G", 19], ["H", 87], ["I", 52]
+], pack=True)
+
+page.add('top_left', ui.vega_card(
+    box='top_left',
+    title='Plot',
+    specification=plot_spec,
+    data=plot_data,
+))
+page.add('top_right', ui.vega_card(
+    box='top_right',
+    title='Plot',
+    specification=plot_spec,
+    data=plot_data,
+))
+page.add('bottom_left', ui.vega_card(
+    box='bottom_left',
+    title='Plot',
+    specification=plot_spec,
+    data=plot_data,
+))
+page.add('bottom_center', ui.vega_card(
+    box='bottom_center',
+    title='Plot',
+    specification=plot_spec,
+    data=plot_data,
+))
+page.add('bottom_right', ui.vega_card(
+    box='bottom_right',
+    title='Plot',
+    specification=plot_spec,
+    data=plot_data,
+))
+
+page.save()
diff --git a/examples/plot_vegalite_form.py b/examples/plot_vegalite_form.py
new file mode 100644
index 0000000000000000000000000000000000000000..414b2c9d190021b9c1533972ef242c4305fbd5d1
--- /dev/null
+++ b/examples/plot_vegalite_form.py
@@ -0,0 +1,58 @@
+# Plot / Vega-lite / Form
+# Display a Vega-lite #plot inside a #form card. #vega
+# ---
+from h2o_wave import site, data, ui
+import random
+import time
+
+page = site['/demo']
+
+spec = '''
+{
+  "description": "A simple bar plot with embedded data.",
+  "mark": "bar",
+  "encoding": {
+    "x": {"field": "a", "type": "ordinal"},
+    "y": {"field": "b", "type": "quantitative"}
+  }
+}
+'''
+
+
+# Get data rows for our plot.
+# Typically, this data would be read from some external data source.
+def poll():
+    return [
+        ["A", rnd()], ["B", rnd()], ["C", rnd()],
+        ["D", rnd()], ["E", rnd()], ["F", rnd()],
+        ["G", rnd()], ["H", rnd()], ["I", rnd()]
+    ]
+
+
+# Generate random datum between 1 and 100
+def rnd():
+    return random.randint(1, 100)
+
+
+page['example'] = ui.form_card(
+    box='1 1 -1 -1',
+    items=[
+        ui.text_xl('Example 1'),
+        ui.vega_visualization(
+            specification=spec,
+            data=data(fields=["a", "b"], rows=poll(), pack=True),
+        ),
+        ui.text_xl('Example 2'),
+        ui.vega_visualization(
+            specification=spec,
+            data=data(fields=["a", "b"], rows=poll(), pack=True),
+        ),
+        ui.text_xl('Example 3'),
+        ui.vega_visualization(
+            specification=spec,
+            data=data(fields=["a", "b"], rows=poll(), pack=True),
+        ),
+    ],
+)
+
+page.save()
diff --git a/examples/plot_vegalite_update.py b/examples/plot_vegalite_update.py
new file mode 100644
index 0000000000000000000000000000000000000000..84a6734ce683acd6a4e426d48a3aba73e7be856d
--- /dev/null
+++ b/examples/plot_vegalite_update.py
@@ -0,0 +1,50 @@
+# Plot / Vega-lite / Update
+# Periodically update a Vega-lite #plot. #vega
+# ---
+from h2o_wave import site, data, ui
+import random
+import time
+
+page = site['/demo']
+
+spec = '''
+{
+  "description": "A simple bar plot with embedded data.",
+  "mark": "bar",
+  "encoding": {
+    "x": {"field": "a", "type": "ordinal"},
+    "y": {"field": "b", "type": "quantitative"}
+  }
+}
+'''
+
+
+# Generate random datum between 1 and 100
+def rnd():
+    return random.randint(1, 100)
+
+
+# Get data rows for our plot.
+# Typically, this data would be read from some external data source.
+def poll():
+    return [
+        ["A", rnd()], ["B", rnd()], ["C", rnd()],
+        ["D", rnd()], ["E", rnd()], ["F", rnd()],
+        ["G", rnd()], ["H", rnd()], ["I", rnd()]
+    ]
+
+
+vis = page.add('external', ui.vega_card(
+    box='1 1 2 4',
+    title='Plot with external data',
+    specification=spec,
+    data=data(fields=["a", "b"], rows=poll()),
+))
+
+page.save()
+
+while True:
+    time.sleep(1)
+    # Update the plot's data rows
+    vis.data = poll()
+    page.save()
diff --git a/examples/post.py b/examples/post.py
new file mode 100644
index 0000000000000000000000000000000000000000..bad691ee5e3837729d14a0e52249aa0eb67944bf
--- /dev/null
+++ b/examples/post.py
@@ -0,0 +1,42 @@
+# Post card
+# Create a post card displaying persona, image, caption and optional buttons.
+# ---
+from h2o_wave import site, ui
+
+page = site['/demo']
+
+image = 'https://images.pexels.com/photos/220453/pexels-photo-220453.jpeg?auto=compress&h=750&w=1260'
+page['example'] = ui.post_card(
+    box='1 1 3 5',
+    persona=ui.persona(title='John Doe', subtitle='Data Scientist', image=image, caption='caption'),
+    commands=[
+        ui.command(name='new', label='New', icon='Add', items=[
+            ui.command(name='email', label='Email Message', icon='Mail'),
+            ui.command(name='calendar', label='Calendar Event', icon='Calendar'),
+        ]),
+        ui.command(name='upload', label='Upload', icon='Upload'),
+        ui.command(name='share', label='Share', icon='Share'),
+        ui.command(name='download', label='Download', icon='Download'),
+    ],
+    items=[
+        ui.inline(justify='end', items=[
+            ui.mini_buttons([
+                ui.mini_button(name='like', label='4', icon='Heart'),
+                ui.mini_button(name='comment', label='2', icon='Comment'),
+                ui.mini_button(name='share', label='1', icon='Share'),
+            ]),
+        ]),
+        ui.buttons(items=[
+            ui.button(name='like', label='Like'),
+            ui.button(name='comment', label='Comment'),
+            ui.button(name='share', label='Share'),
+        ]),
+    ],
+    caption='''
+Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quia aliquam maxime quos facere
+necessitatibus tempore eum odio, qui illum. Repellat modi dolor facilis odio ex possimus
+''',
+    aux_value='2h ago',
+    image='https://images.pexels.com/photos/3225517/pexels-photo-3225517.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=750&w=1260' # noqa
+)
+page.save()
diff --git a/examples/preview.py b/examples/preview.py
new file mode 100644
index 0000000000000000000000000000000000000000..3091c98a7ecc4898e740da473ba4ac201f54541d
--- /dev/null
+++ b/examples/preview.py
@@ -0,0 +1,31 @@
+# Preview card
+# Create a preview card displaying an image with shadow overlay, title, social icons, caption, and button.
+# ---
+from h2o_wave import main, app, Q, ui
+
+
+@app('/demo')
+async def serve(q: Q):
+    if q.args.preview_card:
+        q.page['example'] = ui.form_card(box='1 1 3 4', items=[
+            ui.button(name='back', label='Back', primary=True),
+        ])
+    else:
+        q.page['example'] = ui.preview_card(
+            name='preview_card',
+            box='1 1 3 4',
+            image='https://images.pexels.com/photos/1269968/pexels-photo-1269968.jpeg?auto=compress',
+            title='Post title',
+            items=[ui.mini_buttons([
+                ui.mini_button(name='like', label='4', icon='Heart'),
+                ui.mini_button(name='comment', label='2', icon='Comment'),
+                ui.mini_button(name='share', label='1', icon='Share'),
+            ])
+            ],
+            caption='''
+                  Lorem ipsum dolor sit amet, coectetur adipiscing elit. Etiam ut hendrerit lectus.As Etiam venenatis id nulla a molestie.
+                  Lorem ipsum dolor sit amet, coectetur adipiscing elit. Etiam ut hendrerit lectus.As Etiam venenatis id nulla a molestie.
+                   ''',
+            label='Click me'
+        )
+    await q.page.save()
diff --git a/examples/profile.py b/examples/profile.py
new file mode 100644
index 0000000000000000000000000000000000000000..1b6fa9766cfecc8284d1f7d4bccfda952085d159
--- /dev/null
+++ b/examples/profile.py
@@ -0,0 +1,29 @@
+# Profile
+# Create a profile card to display information about a user.
+# ---
+from h2o_wave import site, ui
+
+page = site['/demo']
+
+image = 'https://images.pexels.com/photos/220453/pexels-photo-220453.jpeg?auto=compress&h=750&w=1260'
+page.add('example', ui.profile_card(
+    box='1 1 3 5',
+    image='https://images.pexels.com/photos/3225517/pexels-photo-3225517.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=750&w=1260', # noqa
+    persona=ui.persona(title='John Doe', subtitle='Data Scientist', image=image),
+    items=[
+        ui.inline(justify='center', items=[
+            ui.mini_buttons([
+                ui.mini_button(name='upload', label='Upload', icon='Upload'),
+                ui.mini_button(name='share', label='Share', icon='Share'),
+                ui.mini_button(name='download', label='Download', icon='Download'),
+            ])
+        ]),
+        ui.inline(justify='center', items=[
+            ui.button(name='btn1', label='Button 1'),
+            ui.button(name='btn2', label='Button 2'),
+            ui.button(name='btn3', label='Button 3'),
+        ]),
+    ]
+))
+
+page.save()
diff --git a/examples/progress.py b/examples/progress.py
new file mode 100644
index 0000000000000000000000000000000000000000..11f04f77b36e146e6fb88df453097d4d16d12039
--- /dev/null
+++ b/examples/progress.py
@@ -0,0 +1,18 @@
+# Form / Progress
+# Use a #progress bar to indicate completion status of an operation.
+# #form
+# ---
+from h2o_wave import site, ui
+
+page = site['/demo']
+
+page['example'] = ui.form_card(
+    box='1 1 4 7',
+    items=[
+        ui.progress(label='Indeterminate Progress', caption='Goes on forever'),
+        ui.progress(label='Standard Progress', caption='Downloading the interwebs...', value=0.25),
+        ui.progress(label='Spinner Progress', type='spinner'),
+        ui.progress(label='', caption='Spinner Progress with text at the bottom', type='spinner'),
+    ]
+)
+page.save()
diff --git a/examples/progress_update.py b/examples/progress_update.py
new file mode 100644
index 0000000000000000000000000000000000000000..f0bb35e6c0b3412fcba463824d12fd9bb9557c02
--- /dev/null
+++ b/examples/progress_update.py
@@ -0,0 +1,28 @@
+# Form / Progress / Updating
+# Update a #progress bar's completion status periodically.
+# #form
+# ---
+import time
+
+from h2o_wave import site, ui
+
+page = site['/demo']
+
+page['example'] = ui.form_card(
+    box='1 1 4 7',
+    items=[
+        ui.progress(name='progress', label='Basic Progress'),
+    ]
+)
+page.save()
+
+for i in range(1, 11):
+    time.sleep(1)
+    page['example'].items = [
+        ui.progress(name='progress', label='Basic Progress', caption=f'{i * 10}% complete', value=i / 10),
+    ]
+
+    # This will work, too:
+    # page['example'].progress.value = i/10
+
+    page.save()
diff --git a/examples/range_slider.py b/examples/range_slider.py
new file mode 100644
index 0000000000000000000000000000000000000000..e38304e1da0db82162584cb48edf9114054e0d52
--- /dev/null
+++ b/examples/range_slider.py
@@ -0,0 +1,26 @@
+# Form / Range Slider
+# Use a #range #slider to allow users to select a value range (from, to).
+# #form
+# ---
+from h2o_wave import main, app, Q, ui
+
+
+@app('/demo')
+async def serve(q: Q):
+    if q.args.show_inputs:
+        q.page['example'].items = [
+            ui.text(f'range_slider={q.args.range_slider}'),
+            ui.text(f'range_slider_step={q.args.range_slider_step}'),
+            ui.text(f'range_slider_disabled={q.args.range_slider_disabled}'),
+            ui.button(name='show_form', label='Back', primary=True),
+        ]
+    else:
+        q.page['example'] = ui.form_card(box='1 1 4 5', items=[
+            ui.range_slider(name='range_slider', label='Default slider'),
+            ui.range_slider(name='range_slider_step', label='Step slider', min=0, max=1000, step=100, min_value=0,
+                            max_value=100),
+            ui.range_slider(name='range_slider_disabled', label='Disabled slider', min=0, max=100, step=10, min_value=0,
+                            max_value=70, disabled=True),
+            ui.button(name='show_inputs', label='Submit', primary=True),
+        ])
+    await q.page.save()
diff --git a/examples/repeat.py b/examples/repeat.py
new file mode 100644
index 0000000000000000000000000000000000000000..3b475dc4d37bdaf4d8a57e3130dad6a5ee59188c
--- /dev/null
+++ b/examples/repeat.py
@@ -0,0 +1,24 @@
+# Repeat
+# Use a #repeat card to render a card repeatedly.
+# ---
+import random
+
+from faker import Faker
+
+from h2o_wave import site, ui, pack, data
+
+fake = Faker()
+
+page = site['/demo']
+
+c = page.add('example', ui.repeat_card(
+    box='1 1 2 4',
+    item_view='list_item1',
+    item_props=pack(dict(title='=code', caption='=currency', value='=trades', aux_value='=returns')),
+    data=data('currency code trades returns', -15),
+))
+
+c.data = [[fake.cryptocurrency_name(), fake.cryptocurrency_code(), random.randint(100, 1000), random.randint(10, 100)]
+          for _ in range(15)]
+
+page.save()
diff --git a/examples/requirements.txt b/examples/requirements.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e97dba6611f72964b4211ea326461c5bf9d604a2
--- /dev/null
+++ b/examples/requirements.txt
@@ -0,0 +1,14 @@
+altair==4.2.0
+bokeh==2.4.2
+Faker==13.3.4
+h2o_wave[ml]
+loguru==0.6.0
+matplotlib==3.5.1
+numpy==1.22.2
+opencv-python==4.5.5.64
+pandas==1.3.5
+plotly==5.7.0
+pygments==2.11.2
+scikit-learn==1.0.2
+toml==0.10.2
+vega-datasets==0.9.0
\ No newline at end of file
diff --git a/examples/routing.py b/examples/routing.py
new file mode 100644
index 0000000000000000000000000000000000000000..8a7542a059e1535d1c32e092bdb8690b766b0bfe
--- /dev/null
+++ b/examples/routing.py
@@ -0,0 +1,63 @@
+# Routing
+# Use `on` and `handle_on` to simplify query handling by #routing queries to designated functions.
+# ---
+from h2o_wave import main, app, Q, ui, on, handle_on
+
+
+# This function is called when q.args['empty_cart'] is True.
+@on(arg='empty_cart')
+async def clear_cart(q: Q):
+    q.page['cart'].cart_info.content = 'Your cart was emptied!'
+    await q.page.save()
+
+
+# If the name of the function is the same as that of the q.arg, simply use on().
+# This function is called when q.args['buy_now'] is True.
+@on()
+async def buy_now(q: Q):
+    q.page['cart'].cart_info.content = 'Nothing to buy!'
+    await q.page.save()
+
+
+# This function is called when q.args['#'] is 'about'.
+@on(arg='#about')
+async def handle_about(q: Q):
+    q.page['blurb'].content = 'Everything here is gluten-free!'
+    await q.page.save()
+
+
+# This function is called when q.args['#'] is 'menu/spam', 'menu/ham', 'menu/eggs', etc.
+# The 'product' placeholder's value is passed as an argument to the function.
+@on(arg='#menu/{product}')
+async def handle_menu(q: Q, product: str):
+    q.page['blurb'].content = f"Sorry, we're out of {product}!"
+    await q.page.save()
+
+
+@app('/demo')
+async def serve(q: Q):
+    if not q.client.initialized:
+        q.client.initialized = True
+        q.page['nav'] = ui.markdown_card(
+            box='1 1 4 2',
+            title='Menu',
+            content='[Spam](#menu/spam) / [Ham](#menu/ham) / [Eggs](#menu/eggs) / [About](#about)',
+        )
+        q.page['blurb'] = ui.markdown_card(
+            box='1 3 4 2',
+            title='Description',
+            content='Welcome to our store!',
+        )
+        q.page['cart'] = ui.form_card(
+            box='1 5 4 2',
+            title='Cart',
+            items=[
+                ui.text(name='cart_info', content='Your cart is empty!'),
+                ui.buttons([
+                    ui.button(name=buy_now.__name__, label='Buy Now!', primary=True),
+                    ui.button(name='empty_cart', label='Clear cart'),
+                ])
+            ],
+        )
+        await q.page.save()
+    await handle_on(q)
diff --git a/examples/routing_predicates.py b/examples/routing_predicates.py
new file mode 100644
index 0000000000000000000000000000000000000000..83d13eddde3b036785130ce0249d7c93e5f902f0
--- /dev/null
+++ b/examples/routing_predicates.py
@@ -0,0 +1,50 @@
+# Routing / Predicates
+# Use `on` and `handle_on` with predicates to handle routing with custom conditions.
+# ---
+from h2o_wave import main, app, Q, ui, on, handle_on
+
+
+# This function is called when q.args['temperature'] < 15.
+@on('temperature', lambda x: x < 15)
+async def when_cold(q: Q):
+    await show_slider(q, "It's too cold for a party!")
+
+
+# This function is called when q.args['temperature'] is between 15 and 28.
+@on('temperature', lambda x: 15 <= x < 28)
+async def when_normal(q: Q):
+    await show_slider(q, "Party time!")
+
+
+# This function is called when q.args['temperature'] > 28
+@on('temperature', lambda x: x > 28)
+async def when_hot(q: Q):
+    await show_slider(q, "It's hot for a party!")
+
+
+@app('/demo')
+async def serve(q: Q):
+    if not q.client.initialized:
+        q.client.initialized = True
+        q.args.temperature = 20
+        await show_slider(q, "")
+    else:
+        await handle_on(q)
+
+
+async def show_slider(q: Q, message: str):
+    q.page['output'] = ui.form_card(
+        box='1 1 3 2',
+        title="Party Meter",
+        items=[
+            ui.slider(
+                name='temperature',
+                label='Temperature (°C)',
+                max=50,
+                value=q.args.temperature,
+                trigger=True,
+            ),
+            ui.text(message),
+        ]
+    )
+    await q.page.save()
diff --git a/examples/separator.py b/examples/separator.py
new file mode 100644
index 0000000000000000000000000000000000000000..e5a352a50b31bd17a34540bc494f8cd3ccd38d11
--- /dev/null
+++ b/examples/separator.py
@@ -0,0 +1,21 @@
+# Form / Separator
+# Use a #separator to visually separate content into groups.
+# #form
+# ---
+from h2o_wave import site, ui
+
+page = site['/demo']
+
+page['example'] = ui.form_card(
+    box='1 1 2 5',
+    items=[
+        ui.separator(label='Separator 1'),
+        ui.text('The quick brown fox jumps over the lazy dog.'),
+        ui.separator(label='Separator 2'),
+        ui.text('The quick brown fox jumps over the lazy dog.'),
+        ui.separator(label='Separator 3'),
+        ui.text('The quick brown fox jumps over the lazy dog.'),
+    ]
+)
+
+page.save()
diff --git a/examples/site_async.py b/examples/site_async.py
new file mode 100644
index 0000000000000000000000000000000000000000..ec06df899b30fc0cd1480feb8d9a3ea74b68ba75
--- /dev/null
+++ b/examples/site_async.py
@@ -0,0 +1,59 @@
+# Site / Async
+# Update any page on a site from within an app using an `AsyncSite` instance.
+# #site
+# ---
+from .synth import FakePercent
+from h2o_wave import Q, app, main, ui, AsyncSite
+
+site = AsyncSite()
+
+# Grab a reference to the /stats page
+stats_page = site['/stats']
+
+# A flag to indicate whether to pause or resume updating the page at '/stats'
+update_stats = False
+
+
+async def update_stats_page(q, page):
+    f = FakePercent()
+    card = page['example']
+    while update_stats:
+        await q.sleep(1)
+        price, percent = f.next()
+        card.data.price = price
+        card.data.percent = percent
+        card.progress = percent
+        await page.save()
+
+
+@app('/demo')
+async def serve(q: Q):
+    if not q.client.initialized:
+        # Set up up the page at /stats
+        stats_page.drop()  # Clear any existing page
+        stats_page['example'] = ui.wide_gauge_stat_card(
+            box='1 1 2 1',
+            title='Stats',
+            value='=${{intl price minimum_fraction_digits=2 maximum_fraction_digits=2}}',
+            aux_value='={{intl percent style="percent" minimum_fraction_digits=2 maximum_fraction_digits=2}}',
+            plot_color='$red',
+            progress=0,
+            data=dict(price=0, percent=0),
+        )
+        await stats_page.save()
+
+        # Set up this app's UI
+        q.page['form'] = ui.form_card(box='1 1 6 5', items=[
+            ui.frame(path='stats', height='110px'),
+            ui.button(name='toggle', label='Start updates', primary=True),
+        ])
+        await q.page.save()
+
+        q.client.initialized = True
+
+    if q.args.toggle:
+        global update_stats
+        update_stats = not update_stats
+        q.page['form'].toggle.label = 'Stop updates' if update_stats else 'Start updates'
+        await q.page.save()
+        await update_stats_page(q, stats_page)
diff --git a/examples/slider.py b/examples/slider.py
new file mode 100644
index 0000000000000000000000000000000000000000..fdc00a544f4515a5c29f2b2dd28a7f5a56a75634
--- /dev/null
+++ b/examples/slider.py
@@ -0,0 +1,25 @@
+# Form / Slider
+# Use a #slider to allow users to set a value within a specific range.
+# #form
+# ---
+from h2o_wave import main, app, Q, ui
+
+
+@app('/demo')
+async def serve(q: Q):
+    if q.args.show_inputs:
+        q.page['example'].items = [
+            ui.text(f'slider={q.args.slider}'),
+            ui.text(f'slider_zero={q.args.slider_zero}'),
+            ui.text(f'slider_disabled={q.args.slider_disabled}'),
+            ui.button(name='show_form', label='Back', primary=True),
+        ]
+    else:
+        q.page['example'] = ui.form_card(box='1 1 4 5', items=[
+            ui.slider(name='slider', label='Standard slider', min=0, max=100, step=10, value=30),
+            ui.slider(name='slider_zero', label='Origin from zero', min=-10, max=10, step=1, value=-3),
+            ui.slider(name='slider_disabled', label='Disabled slider', min=0, max=100, step=10, value=30,
+                      disabled=True),
+            ui.button(name='show_inputs', label='Submit', primary=True),
+        ])
+    await q.page.save()
diff --git a/examples/spinbox.py b/examples/spinbox.py
new file mode 100644
index 0000000000000000000000000000000000000000..765807dacdc3ed6b7adf0b92576c3800ef7178df
--- /dev/null
+++ b/examples/spinbox.py
@@ -0,0 +1,23 @@
+# Form / Spinbox
+# Use a #spinbox to allow users to incrementally adjust a value in small steps.
+# #form
+# ---
+from h2o_wave import main, app, Q, ui
+
+
+@app('/demo')
+async def serve(q: Q):
+    if q.args.show_inputs:
+        q.page['example'].items = [
+            ui.text(f'spinbox={q.args.spinbox}'),
+            ui.text(f'spinbox_disabled={q.args.spinbox_disabled}'),
+            ui.button(name='show_form', label='Back', primary=True),
+        ]
+    else:
+        q.page['example'] = ui.form_card(box='1 1 4 5', items=[
+            ui.spinbox(name='spinbox', label='Standard spinbox', min=0, max=100, step=10, value=30),
+            ui.spinbox(name='spinbox_disabled', label='Disabled spinbox', min=0, max=100, step=10, value=30,
+                       disabled=True),
+            ui.button(name='show_inputs', label='Submit', primary=True),
+        ])
+    await q.page.save()
diff --git a/examples/spinbox_trigger.py b/examples/spinbox_trigger.py
new file mode 100644
index 0000000000000000000000000000000000000000..cac8c12567b2cd0694bbc36cef4f164dd486770e
--- /dev/null
+++ b/examples/spinbox_trigger.py
@@ -0,0 +1,24 @@
+# Form / Spinbox / Trigger
+# Enable the `trigger` attribute in order to handle live changes to a spinbox.
+# #form #spinbox #trigger
+# ---
+from typing import Optional
+from h2o_wave import main, app, Q, ui
+
+
+def get_form_items(value: Optional[float]):
+    return [
+        ui.text(f'spinbox_trigger={value}'),
+        ui.spinbox(name='spinbox_trigger', label='Pick a number', trigger=True),
+    ]
+
+
+@app('/demo')
+async def serve(q: Q):
+    if not q.client.initialized:
+        q.page['example'] = ui.form_card(box='1 1 4 4', items=get_form_items(None))
+        q.client.initialized = True
+    if q.args.spinbox_trigger is not None:
+        q.page['example'].items = get_form_items(q.args.spinbox_trigger)
+
+    await q.page.save()
diff --git a/examples/stat_large.py b/examples/stat_large.py
new file mode 100644
index 0000000000000000000000000000000000000000..3db8e42d67e5fefdb1e6df7b0efa218306b6d326
--- /dev/null
+++ b/examples/stat_large.py
@@ -0,0 +1,32 @@
+# Stat / Large
+# Create a stat card displaying a primary value, an auxiliary value and a caption.
+# #stat_card
+# ---
+import time
+
+from faker import Faker
+
+from synth import FakePercent
+from h2o_wave import site, ui
+
+page = site['/demo']
+
+fake = Faker()
+f = FakePercent()
+val, pc = f.next()
+c = page.add('example', ui.large_stat_card(
+    box='1 1 2 2',
+    title=fake.cryptocurrency_name(),
+    value='=${{intl qux minimum_fraction_digits=2 maximum_fraction_digits=2}}',
+    aux_value='={{intl quux style="percent" minimum_fraction_digits=1 maximum_fraction_digits=1}}',
+    data=dict(qux=val, quux=pc),
+    caption=' '.join(fake.sentences()),
+))
+page.save()
+
+while True:
+    time.sleep(1)
+    val, pc = f.next()
+    c.data.qux = val
+    c.data.quux = pc
+    page.save()
diff --git a/examples/stat_large_bar.py b/examples/stat_large_bar.py
new file mode 100644
index 0000000000000000000000000000000000000000..7244b8140ccd0655601dc1fec1ce6a098c1a53c9
--- /dev/null
+++ b/examples/stat_large_bar.py
@@ -0,0 +1,38 @@
+# Stat / Bar / Large
+# Create a large captioned card displaying a primary value, an auxiliary value and a progress bar,
+# with captions for each value.
+# #stat_card #progress
+# ---
+import time
+
+from faker import Faker
+
+from synth import FakePercent
+from h2o_wave import site, ui
+
+page = site['/demo']
+
+fake = Faker()
+f = FakePercent()
+val, pc = f.next()
+c = page.add('example', ui.large_bar_stat_card(
+    box='1 1 2 2',
+    title=fake.cryptocurrency_name(),
+    value='=${{intl foo minimum_fraction_digits=2 maximum_fraction_digits=2}}',
+    value_caption='This Month',
+    aux_value='={{intl bar style="percent" minimum_fraction_digits=2 maximum_fraction_digits=2}}',
+    aux_value_caption='Previous Month',
+    plot_color='$red',
+    progress=pc,
+    data=dict(foo=val, bar=pc),
+    caption=' '.join(fake.sentences(2)),
+))
+page.save()
+
+while True:
+    time.sleep(1)
+    val, pc = f.next()
+    c.data.foo = val
+    c.data.bar = pc
+    c.progress = pc
+    page.save()
diff --git a/examples/stat_small.py b/examples/stat_small.py
new file mode 100644
index 0000000000000000000000000000000000000000..d960f313dd5e27f0a36e19ff720ed35392376dc7
--- /dev/null
+++ b/examples/stat_small.py
@@ -0,0 +1,28 @@
+# Stat / Small
+# Create a stat card displaying a single value.
+# #stat_card
+# ---
+import time
+
+from faker import Faker
+
+from synth import FakePercent
+from h2o_wave import site, ui
+
+page = site['/demo']
+
+fake = Faker()
+f = FakePercent()
+val, _ = f.next()
+c = page.add('example', ui.small_stat_card(
+    box='1 1 1 1',
+    title=fake.cryptocurrency_name(),
+    value=f'${val:.2f}',
+))
+page.save()
+
+while True:
+    time.sleep(1)
+    val, _ = f.next()
+    c.value = f'${val:.2f}'
+    page.save()
diff --git a/examples/stat_small_series_area.py b/examples/stat_small_series_area.py
new file mode 100644
index 0000000000000000000000000000000000000000..dea80fe806c30a5ee95bcf793351c2c049b6f525
--- /dev/null
+++ b/examples/stat_small_series_area.py
@@ -0,0 +1,44 @@
+# Stat / Series / Small / Area
+# Create a small stat card displaying a primary value and a series plot.
+# #stat_card #series
+# ---
+import time
+
+from faker import Faker
+
+from synth import FakeCategoricalSeries
+from h2o_wave import site, ui, data
+
+page = site['/demo']
+
+colors = '$red $pink $blue $azure $cyan $teal $mint $green $lime $yellow $amber $orange $tangerine'.split()
+curves = 'linear smooth step step-after step-before'.split()
+fake = Faker()
+cards = []
+for i in range(len(curves)):
+    f = FakeCategoricalSeries()
+    cat, val, pc = f.next()
+    c = page.add(f'example{i}', ui.small_series_stat_card(
+        box=f'1 {i + 1} 1 1',
+        title=fake.cryptocurrency_name(),
+        value='=${{intl qux minimum_fraction_digits=2 maximum_fraction_digits=2}}',
+        data=dict(qux=val, quux=pc),
+        plot_category='foo',
+        plot_type='area',
+        plot_value='qux',
+        plot_color=colors[i],
+        plot_data=data('foo qux', -15),
+        plot_zero_value=0,
+        plot_curve=curves[i],
+    ))
+    cards.append((f, c))
+page.save()
+
+while True:
+    time.sleep(1)
+    for f, c in cards:
+        cat, val, pc = f.next()
+        c.data.qux = val
+        c.data.quux = pc
+        c.plot_data[-1] = [cat, val]
+    page.save()
diff --git a/examples/stat_small_series_interval.py b/examples/stat_small_series_interval.py
new file mode 100644
index 0000000000000000000000000000000000000000..bcd98b23636e2d9493323cbecb5705fb7b2a15f1
--- /dev/null
+++ b/examples/stat_small_series_interval.py
@@ -0,0 +1,37 @@
+# Stat / Series / Small / Interval
+# Create a small stat card displaying a primary value and a series plot.
+# #stat_card #interval #series
+# ---
+import time
+
+from faker import Faker
+
+from synth import FakeCategoricalSeries
+from h2o_wave import site, ui, data
+
+page = site['/demo']
+
+fake = Faker()
+f = FakeCategoricalSeries()
+cat, val, pc = f.next()
+c = page.add('example', ui.small_series_stat_card(
+    box='1 1 1 1',
+    title=fake.cryptocurrency_name(),
+    value='=${{intl qux minimum_fraction_digits=2 maximum_fraction_digits=2}}',
+    data=dict(qux=val, quux=pc),
+    plot_category='foo',
+    plot_type='interval',
+    plot_value='qux',
+    plot_color='$red',
+    plot_data=data('foo qux', -20),
+    plot_zero_value=0,
+))
+page.save()
+
+while True:
+    time.sleep(1)
+    cat, val, pc = f.next()
+    c.data.qux = val
+    c.data.quux = pc
+    c.plot_data[-1] = [cat, val]
+    page.save()
diff --git a/examples/stat_table.py b/examples/stat_table.py
new file mode 100644
index 0000000000000000000000000000000000000000..74e163428381744fe6ef0ffed860cf42f77358f1
--- /dev/null
+++ b/examples/stat_table.py
@@ -0,0 +1,28 @@
+# Stat / Table
+# Create a card displaying title, subtitle, and tabular data.
+# #stat_card #table
+# ---
+
+from h2o_wave import site, ui
+
+from faker import Faker
+
+fake = Faker()
+
+page = site['/demo']
+
+page.add('example', ui.stat_table_card(
+    box='1 1 4 8',
+    title='Contacts',
+    subtitle=f'Last updated: {fake.date()}',
+    columns=['Name', 'Job', 'City'],
+    items=[
+          ui.stat_table_item(
+              label=fake.name(),
+              values=[fake.job(), fake.city()],
+              colors=['darkblue', '$amber']
+          ) for i in range(10)
+    ]
+))
+
+page.save()
diff --git a/examples/stat_tall_gauge.py b/examples/stat_tall_gauge.py
new file mode 100644
index 0000000000000000000000000000000000000000..67260b44435fd0a2472753040fa257298e02ad74
--- /dev/null
+++ b/examples/stat_tall_gauge.py
@@ -0,0 +1,34 @@
+# Stat / Gauge / Tall
+# Create a tall stat card displaying a primary value, an auxiliary value and a #progress gauge.
+# #stat_card
+# ---
+import time
+
+from faker import Faker
+
+from synth import FakePercent
+from h2o_wave import site, ui
+
+page = site['/demo']
+
+fake = Faker()
+f = FakePercent()
+val, pc = f.next()
+c = page.add('example', ui.tall_gauge_stat_card(
+    box='1 1 1 2',
+    title=fake.cryptocurrency_name(),
+    value='=${{intl foo minimum_fraction_digits=2 maximum_fraction_digits=2}}',
+    aux_value='={{intl bar style="percent" minimum_fraction_digits=2 maximum_fraction_digits=2}}',
+    plot_color='$red',
+    progress=pc,
+    data=dict(foo=val, bar=pc),
+))
+page.save()
+
+while True:
+    time.sleep(1)
+    val, pc = f.next()
+    c.data.foo = val
+    c.data.bar = pc
+    c.progress = pc
+    page.save()
diff --git a/examples/stat_tall_series_area.py b/examples/stat_tall_series_area.py
new file mode 100644
index 0000000000000000000000000000000000000000..de584b02175f7c5d0ec92e988042abc9885bdfd9
--- /dev/null
+++ b/examples/stat_tall_series_area.py
@@ -0,0 +1,45 @@
+# Stat / Series / Tall / Area
+# Create a tall stat card displaying a primary value, an auxiliary value and a #series plot.
+# #stat_card
+# ---
+import time
+
+from faker import Faker
+
+from synth import FakeCategoricalSeries
+from h2o_wave import site, ui, data
+
+page = site['/demo']
+
+colors = '$red $pink $blue $azure $cyan $teal $mint $green $lime $yellow $amber $orange $tangerine'.split()
+curves = 'linear smooth step step-after step-before'.split()
+fake = Faker()
+cards = []
+for i in range(len(curves)):
+    f = FakeCategoricalSeries()
+    cat, val, pc = f.next()
+    c = page.add(f'example{i}', ui.tall_series_stat_card(
+        box=f'{i + 1} 1 1 2',
+        title=fake.cryptocurrency_name(),
+        value='=${{intl qux minimum_fraction_digits=2 maximum_fraction_digits=2}}',
+        aux_value='={{intl quux style="percent" minimum_fraction_digits=1 maximum_fraction_digits=1}}',
+        data=dict(qux=val, quux=pc / 100),
+        plot_type='area',
+        plot_category='foo',
+        plot_value='qux',
+        plot_color=colors[i],
+        plot_data=data('foo qux', -15),
+        plot_zero_value=0,
+        plot_curve=curves[i],
+    ))
+    cards.append((f, c))
+page.save()
+
+while True:
+    time.sleep(1)
+    for f, c in cards:
+        cat, val, pc = f.next()
+        c.data.qux = val
+        c.data.quux = pc / 100
+        c.plot_data[-1] = [cat, val]
+    page.save()
diff --git a/examples/stat_tall_series_interval.py b/examples/stat_tall_series_interval.py
new file mode 100644
index 0000000000000000000000000000000000000000..247a46b7642d2e0474c4e1f6e6b5243dd3cbd0b6
--- /dev/null
+++ b/examples/stat_tall_series_interval.py
@@ -0,0 +1,38 @@
+# Stat / Series / Tall / Interval
+# Create a tall stat card displaying a primary value, an auxiliary value and a #series plot.
+# #stat_card #interval
+# ---
+import time
+
+from faker import Faker
+
+from synth import FakeCategoricalSeries
+from h2o_wave import site, ui, data
+
+page = site['/demo']
+
+fake = Faker()
+f = FakeCategoricalSeries()
+cat, val, pc = f.next()
+c = page.add('example', ui.tall_series_stat_card(
+    box='1 1 1 2',
+    title=fake.cryptocurrency_name(),
+    value='=${{intl qux minimum_fraction_digits=2 maximum_fraction_digits=2}}',
+    aux_value='={{intl quux style="percent" minimum_fraction_digits=1 maximum_fraction_digits=1}}',
+    data=dict(qux=val, quux=pc / 100),
+    plot_category='foo',
+    plot_type='interval',
+    plot_value='qux',
+    plot_color='$red',
+    plot_data=data('foo qux', -20),
+    plot_zero_value=0,
+))
+page.save()
+
+while True:
+    time.sleep(1)
+    cat, val, pc = f.next()
+    c.data.qux = val
+    c.data.quux = pc / 100
+    c.plot_data[-1] = [cat, val]
+    page.save()
diff --git a/examples/stat_wide_bar.py b/examples/stat_wide_bar.py
new file mode 100644
index 0000000000000000000000000000000000000000..7ba291e5c3506859e61a9bc921eb272582f8d930
--- /dev/null
+++ b/examples/stat_wide_bar.py
@@ -0,0 +1,34 @@
+# Stat / Bar / Wide
+# Create a wide stat card displaying a primary value, an auxiliary value and a #progress bar.
+# #stat_card
+# ---
+import time
+
+from faker import Faker
+
+from synth import FakePercent
+from h2o_wave import site, ui
+
+page = site['/demo']
+
+fake = Faker()
+f = FakePercent()
+val, pc = f.next()
+c = page.add('example', ui.wide_bar_stat_card(
+    box='1 1 2 1',
+    title=fake.cryptocurrency_name(),
+    value='=${{intl foo minimum_fraction_digits=2 maximum_fraction_digits=2}}',
+    aux_value='={{intl bar style="percent" minimum_fraction_digits=2 maximum_fraction_digits=2}}',
+    plot_color='$red',
+    progress=pc,
+    data=dict(foo=val, bar=pc),
+))
+page.save()
+
+while True:
+    time.sleep(1)
+    val, pc = f.next()
+    c.data.foo = val
+    c.data.bar = pc
+    c.progress = pc
+    page.save()
diff --git a/examples/stat_wide_gauge.py b/examples/stat_wide_gauge.py
new file mode 100644
index 0000000000000000000000000000000000000000..6c9fec5e62deac224bd7345dea66cf11634551d4
--- /dev/null
+++ b/examples/stat_wide_gauge.py
@@ -0,0 +1,34 @@
+# Stat / Gauge / Wide
+# Create a wide stat card displaying a primary value, an auxiliary value and a #progress gauge.
+# #stat_card
+# ---
+import time
+
+from faker import Faker
+
+from synth import FakePercent
+from h2o_wave import site, ui
+
+page = site['/demo']
+
+fake = Faker()
+f = FakePercent()
+val, pc = f.next()
+c = page.add('example', ui.wide_gauge_stat_card(
+    box='1 1 2 1',
+    title=fake.cryptocurrency_name(),
+    value='=${{intl foo minimum_fraction_digits=2 maximum_fraction_digits=2}}',
+    aux_value='={{intl bar style="percent" minimum_fraction_digits=2 maximum_fraction_digits=2}}',
+    plot_color='$red',
+    progress=pc,
+    data=dict(foo=val, bar=pc),
+))
+page.save()
+
+while True:
+    time.sleep(1)
+    val, pc = f.next()
+    c.data.foo = val
+    c.data.bar = pc
+    c.progress = pc
+    page.save()
diff --git a/examples/stat_wide_pie.py b/examples/stat_wide_pie.py
new file mode 100644
index 0000000000000000000000000000000000000000..4688eff7af6aae3f46c9541c17669d43e0dc3fc7
--- /dev/null
+++ b/examples/stat_wide_pie.py
@@ -0,0 +1,17 @@
+# Stat / Pie / Wide
+# Create a wide stat pie card displaying a pie chart.
+# ---
+from h2o_wave import site, ui
+
+page = site['/demo']
+
+page.add('example', ui.wide_pie_stat_card(
+    box='1 1 3 3',
+    title='Wide Pie Stat',
+    pies=[
+        ui.pie(label='Category 1', value='35%', fraction=0.35, color='#2cd0f5', aux_value='$ 35'),
+        ui.pie(label='Category 2', value='65%', fraction=0.65, color='$themePrimary', aux_value='$ 65'),
+    ],
+))
+
+page.save()
diff --git a/examples/stat_wide_series_area.py b/examples/stat_wide_series_area.py
new file mode 100644
index 0000000000000000000000000000000000000000..f3c5cd6fe69ef4a9618f84a954eec44adc6af2a2
--- /dev/null
+++ b/examples/stat_wide_series_area.py
@@ -0,0 +1,45 @@
+# Stat / Series / Wide / Area
+# Create a wide stat card displaying a primary value, an auxiliary value and a #series plot.
+# #stat_card
+# ---
+import time
+
+from faker import Faker
+
+from synth import FakeCategoricalSeries
+from h2o_wave import site, ui, data
+
+page = site['/demo']
+
+colors = '$red $pink $blue $azure $cyan $teal $mint $green $lime $yellow $amber $orange $tangerine'.split()
+curves = 'linear smooth step step-after step-before'.split()
+fake = Faker()
+cards = []
+for i in range(len(curves)):
+    f = FakeCategoricalSeries()
+    cat, val, pc = f.next()
+    c = page.add(f'example{i}', ui.wide_series_stat_card(
+        box=f'1 {i + 1} 2 1',
+        title=fake.cryptocurrency_name(),
+        value='=${{intl qux minimum_fraction_digits=2 maximum_fraction_digits=2}}',
+        aux_value='={{intl quux style="percent" minimum_fraction_digits=1 maximum_fraction_digits=1}}',
+        data=dict(qux=val, quux=pc / 100),
+        plot_category='foo',
+        plot_type='area',
+        plot_value='qux',
+        plot_color=colors[i],
+        plot_data=data('foo qux', -15),
+        plot_zero_value=0,
+        plot_curve=curves[i],
+    ))
+    cards.append((f, c))
+page.save()
+
+while True:
+    time.sleep(1)
+    for f, c in cards:
+        cat, val, pc = f.next()
+        c.data.qux = val
+        c.data.quux = pc / 100
+        c.plot_data[-1] = [cat, val]
+    page.save()
diff --git a/examples/stat_wide_series_interval.py b/examples/stat_wide_series_interval.py
new file mode 100644
index 0000000000000000000000000000000000000000..9cb8d8e6bb0a5cc250bbcbb756768cd6c3e789ec
--- /dev/null
+++ b/examples/stat_wide_series_interval.py
@@ -0,0 +1,38 @@
+# Stat / Series / Wide / Interval
+# Create a wide stat card displaying a primary value, an auxiliary value and a #series plot.
+# #stat_card #interval
+# ---
+import time
+
+from faker import Faker
+
+from synth import FakeCategoricalSeries
+from h2o_wave import site, ui, data
+
+page = site['/demo']
+
+fake = Faker()
+f = FakeCategoricalSeries()
+cat, val, pc = f.next()
+c = page.add('example', ui.wide_series_stat_card(
+    box='1 1 2 1',
+    title=fake.cryptocurrency_name(),
+    value='=${{intl qux minimum_fraction_digits=2 maximum_fraction_digits=2}}',
+    aux_value='={{intl quux style="percent" minimum_fraction_digits=1 maximum_fraction_digits=1}}',
+    data=dict(qux=val, quux=pc / 100),
+    plot_category='foo',
+    plot_type='interval',
+    plot_value='qux',
+    plot_color='$red',
+    plot_data=data('foo qux', -15),
+    plot_zero_value=0,
+))
+page.save()
+
+while True:
+    time.sleep(1)
+    cat, val, pc = f.next()
+    c.data.qux = val
+    c.data.quux = pc / 100
+    c.plot_data[-1] = [cat, val]
+    page.save()
diff --git a/examples/stepper.py b/examples/stepper.py
new file mode 100644
index 0000000000000000000000000000000000000000..ccd8d5fa346f77607b0e662023c9c98a23be657f
--- /dev/null
+++ b/examples/stepper.py
@@ -0,0 +1,40 @@
+# Form / Stepper
+# Use #Stepper to show #progress through numbered steps.
+# #form
+# ---
+from h2o_wave import main, app, Q, ui
+
+
+@app('/demo')
+async def serve(q: Q):
+    q.page['basic-stepper'] = ui.form_card(
+        box='1 1 4 2',
+        items=[
+            ui.stepper(name='basic-stepper', items=[
+                ui.step(label='Step 1'),
+                ui.step(label='Step 2'),
+                ui.step(label='Step 3'),
+            ])
+        ]
+    )
+    q.page['icon-stepper'] = ui.form_card(
+        box='1 3 4 2',
+        items=[
+            ui.stepper(name='icon-stepper', items=[
+                ui.step(label='Step 1', icon='MailLowImportance'),
+                ui.step(label='Step 2', icon='TaskManagerMirrored'),
+                ui.step(label='Step 3', icon='Cafe'),
+            ])
+        ]
+    )
+    q.page['almost-done-stepper'] = ui.form_card(
+        box='1 5 4 2',
+        items=[
+            ui.stepper(name='almost-done-stepper', items=[
+                ui.step(label='Step 1', done=True),
+                ui.step(label='Step 2', done=True),
+                ui.step(label='Step 3'),
+            ])
+        ]
+    )
+    await q.page.save()
diff --git a/examples/swatch_picker.py b/examples/swatch_picker.py
new file mode 100644
index 0000000000000000000000000000000000000000..8abea05a72d8228301b61bd63b2638aece368b98
--- /dev/null
+++ b/examples/swatch_picker.py
@@ -0,0 +1,26 @@
+# Form / Swatch Picker
+# Use a swatch picker to allow users to choose a from a specific set of colors.
+# #swatch_picker #form
+# ---
+from h2o_wave import main, app, Q, ui
+
+
+@app('/demo')
+async def serve(q: Q):
+    if q.args.show_inputs:
+        q.page['example'].items = [
+            ui.text(f'swatch={q.args.swatch}'),
+            ui.button(name='show_form', label='Back', primary=True),
+        ]
+    else:
+        q.page['example'] = ui.form_card(box='1 1 4 5', items=[
+            ui.color_picker(
+                name='swatch',
+                label='Pick a swatch',
+                choices=[
+                    '#011627', '#2EC4B6', '#E71D36', '#FF9F1C', '#50514F',
+                    '#F25F5C', '#FFE066', '#247BA0', '#70C1B3', '#FDFFFC',
+                ]),
+            ui.button(name='show_inputs', label='Submit', primary=True),
+        ])
+    await q.page.save()
diff --git a/examples/synth.py b/examples/synth.py
new file mode 100644
index 0000000000000000000000000000000000000000..dad29b6e289ecfeb33033a0860c501b90172a85c
--- /dev/null
+++ b/examples/synth.py
@@ -0,0 +1,92 @@
+import datetime
+import random
+
+
+class FakeSeries:
+    def __init__(self, min=0.0, max=100.0, variation=10.0, start: int = None):
+        self.min = min
+        self.max = max
+        self.variation = variation
+        self.start = random.randint(min, max) if start is None else start
+        self.x = self.start
+
+    def next(self):
+        x0 = self.x
+        x = x0 + (random.random() - 0.5) * self.variation
+        if not self.min <= x <= self.max:
+            x = self.start
+        self.x = x
+        dx = 0 if x0 == 0 else 100.0 * (x - x0) / x0
+        return x, dx
+
+
+class FakeTimeSeries:
+    def __init__(self, min=0.0, max=100.0, variation=10.0, start: int = None, delta_days=1):
+        self.series = FakeSeries(min, max, variation, start)
+        self.delta_days = delta_days
+        self.date = datetime.datetime.utcnow() - datetime.timedelta(days=10 * 365)
+
+    def next(self):
+        x, dx = self.series.next()
+        self.date = self.date + datetime.timedelta(days=self.delta_days)
+        return self.date.isoformat() + 'Z', x, dx
+
+
+class FakeMultiTimeSeries:
+    def __init__(self, min=0.0, max=100.0, variation=10.0, start: int = None, delta_days=1, groups=5):
+        self.series = [(f'G{c + 1}', FakeTimeSeries(min, max, variation, start, delta_days)) for c in range(groups)]
+
+    def next(self):
+        data = []
+        for g, series in self.series:
+            t, x, dx = series.next()
+            data.append((g, t, x, dx))
+        return data
+
+
+class FakeCategoricalSeries:
+    def __init__(self, min=0.0, max=100.0, variation=10.0, start: int = None):
+        self.series = FakeSeries(min, max, variation, start)
+        self.i = 0
+
+    def next(self):
+        x, dx = self.series.next()
+        self.i += 1
+        return f'C{self.i}', x, dx
+
+
+class FakeMultiCategoricalSeries:
+    def __init__(self, min=0.0, max=100.0, variation=10.0, start: int = None, groups=5):
+        self.series = [(f'G{c + 1}', FakeCategoricalSeries(min, max, variation, start)) for c in range(groups)]
+
+    def next(self):
+        data = []
+        for g, series in self.series:
+            c, x, dx = series.next()
+            data.append((g, c, x, dx))
+        return data
+
+
+class FakeScatter:
+    def __init__(self, min=0.0, max=100.0, variation=10.0, start: int = None):
+        self.x = FakeSeries(min, max, variation, start)
+        self.y = FakeSeries(min, max, variation, start)
+
+    def next(self):
+        x, dx = self.x.next()
+        y, dy = self.y.next()
+        return x, y
+
+
+class FakePercent:
+    def __init__(self, min=5.0, max=35.0, variation=4.0):
+        self.min = min
+        self.max = max
+        self.variation = variation
+        self.x = random.randint(min, max)
+
+    def next(self):
+        self.x += random.random() * self.variation
+        if self.x >= self.max:
+            self.x = self.min
+        return self.x, (self.x - self.min) / (self.max - self.min)
diff --git a/examples/tab.py b/examples/tab.py
new file mode 100644
index 0000000000000000000000000000000000000000..727566853dda58bd15442b6fcbcd40fd465a8b63
--- /dev/null
+++ b/examples/tab.py
@@ -0,0 +1,47 @@
+# Tab
+# This example demonstrates how you can observe and handle changes to the browser's
+# [location hash](https://developer.mozilla.org/en-US/docs/Web/API/Location/hash).
+#
+# The location hash can be accessed using `q.args['#']`.
+# #routing #tab
+# ---
+from h2o_wave import main, app, Q, ui
+
+
+@app('/demo')
+async def serve(q: Q):
+    content = 'Welcome to our store!'
+
+    location = q.args['#']
+    if location:
+        if location == 'menu/spam':
+            content = "Sorry, we're out of spam!"
+        elif location == 'menu/ham':
+            content = "Sorry, we're out of ham!"
+        elif location == 'menu/eggs':
+            content = "Sorry, we're out of eggs!"
+        elif location == 'about':
+            content = 'Everything here is gluten-free!'
+
+    if not q.client.initialized:
+        q.page['nav'] = ui.tab_card(
+            box='1 1 4 1',
+            items=[
+                ui.tab(name='#menu/spam', label='Spam'),
+                ui.tab(name='#menu/ham', label='Ham'),
+                ui.tab(name='#menu/eggs', label='Eggs'),
+                ui.tab(name='#about', label='About'),
+            ],
+            value=f'#{location}' if location else None,
+        )
+        q.page['blurb'] = ui.markdown_card(
+            box='1 2 4 2',
+            title='Store',
+            content=content,
+        )
+        q.client.initialized = True
+    elif location:
+        blurb = q.page['blurb']
+        blurb.content = content
+
+    await q.page.save()
diff --git a/examples/tab_delete.py b/examples/tab_delete.py
new file mode 100644
index 0000000000000000000000000000000000000000..ecdd20a3eab80cf3f11839ec268202b609d4a212
--- /dev/null
+++ b/examples/tab_delete.py
@@ -0,0 +1,41 @@
+# Tabs / Navigation
+# Navigate between two or more tabs.
+# Delete the cards when switching between tabs.
+# #tabs #navigation
+# ---
+from h2o_wave import main, app, Q, ui
+
+TABS = 'abcde'
+
+
+async def display_tab(q):
+    q.page[f'example_{q.client.tab}'] = ui.markup_card(
+        box='1 2 4 3',
+        title=q.client.tab.upper(),
+        content='\n'.join([''.join([q.client.tab] * 10) for _ in range(50)])
+    )
+    await q.page.save()
+
+
+async def remove_cards(q: Q):
+    for tab in TABS:
+        del q.page[f'example_{tab}']
+    await q.page.save()
+
+
+@app('/demo')
+async def serve(q: Q):
+    if not q.client.initialized:
+        q.client.tab = 'a'
+        q.page['tabs'] = ui.tab_card(  # Initialize once
+            box='1 1 4 1',
+            items=[ui.tab(name=f'#{t}', label=t.upper()) for t in TABS]
+        )
+        q.client.initialized = True
+
+    if q.args['#']:
+        q.client.tab = str(q.args['#'])
+
+    await remove_cards(q)
+    await display_tab(q)
+    await q.page.save()
diff --git a/examples/table.py b/examples/table.py
new file mode 100644
index 0000000000000000000000000000000000000000..aabe6d3ae0c6e96b312266de0be06974fbea629f
--- /dev/null
+++ b/examples/table.py
@@ -0,0 +1,81 @@
+# Table
+# Use a #table to display tabular data.
+# ---
+import random
+
+from faker import Faker
+
+from h2o_wave import main, app, Q, ui
+
+fake = Faker()
+
+_id = 0
+
+
+class Issue:
+    def __init__(self, text: str, status: str, progress: float, icon: str, state: str, created: str):
+        global _id
+        _id += 1
+        self.id = f'I{_id}'
+        self.text = text
+        self.status = status
+        self.views = 0
+        self.progress = progress
+        self.icon = icon
+        self.created = created
+        self.state = state
+
+
+# Create some issues
+issues = [
+    Issue(
+        text=fake.sentence(),
+        status=('Closed' if i % 2 == 0 else 'Open'),
+        progress=random.random(),
+        icon=('BoxCheckmarkSolid' if random.random() > 0.5 else 'BoxMultiplySolid'),
+        state=('RUNNING' if random.random() > 0.5 else 'DONE,SUCCESS'),
+        created='1655927271') for i in range(100)
+]
+
+# Create columns for our issue table.
+columns = [
+    ui.table_column(name='text', label='Issue', sortable=True, searchable=True, max_width='300', cell_overflow='wrap'),
+    ui.table_column(name='status', label='Status', filterable=True),
+    ui.table_column(name='done', label='Done', cell_type=ui.icon_table_cell_type()),
+    ui.table_column(name='views', label='Views', sortable=True, data_type='number'),
+    ui.table_column(name='progress', label='Progress', cell_type=ui.progress_table_cell_type()),
+    ui.table_column(name='tag', label='State', min_width='170px', cell_type=ui.tag_table_cell_type(name='tags', tags=[
+                    ui.tag(label='RUNNING', color='#D2E3F8'),
+                    ui.tag(label='DONE', color='$red'),
+                    ui.tag(label='SUCCESS', color='$mint'),
+                    ]
+    )),
+    ui.table_column(name='created', label='Created', sortable=True, data_type='time'),
+]
+
+
+@app('/demo')
+async def serve(q: Q):
+    if q.args.issues:
+        q.page['form'] = ui.form_card(box='1 1 -1 -1', items=[
+            ui.text(f'You clicked on: {q.args.issues}'),
+            ui.button(name='back', label='Back'),
+        ])
+    else:
+        q.page['form'] = ui.form_card(box='1 1 -1 -1', items=[
+            ui.table(
+                name='issues',
+                columns=columns,
+                rows=[ui.table_row(
+                    name=issue.id,
+                    cells=[issue.text, issue.status, issue.icon, str(issue.views), str(issue.progress),
+                          issue.state, issue.created]
+                ) for issue in issues],
+                groupable=True,
+                downloadable=True,
+                resettable=True,
+                height='600px'
+            )
+        ])
+
+    await q.page.save()
diff --git a/examples/table_column_alignment.py b/examples/table_column_alignment.py
new file mode 100644
index 0000000000000000000000000000000000000000..1198d52dab765149a23ead803efdb978c26188ae
--- /dev/null
+++ b/examples/table_column_alignment.py
@@ -0,0 +1,58 @@
+# Table / Column Alignment
+# Allow table values to be aligned per column as left (default), right or center
+# #table
+# ---
+from faker import Faker
+
+from h2o_wave import main, app, Q, ui
+
+fake = Faker()
+
+_id = 0
+
+# Create some names
+class User:
+    def __init__(self, first_name: str, last_name: str, username: str, company: str):
+        global _id
+        _id += 1
+        self.id = f'I{_id}'
+        self.first_name = first_name
+        self.last_name = last_name
+        self.username = username
+        self.company = company
+
+users = [
+    User(
+        first_name=fake.first_name(),
+        last_name=fake.last_name(),
+        username=fake.user_name(),
+        company=fake.company()
+    ) for i in range (100)
+]
+
+# Create columns for our issue table.
+columns = [
+    ui.table_column(name='first_name', label='First Name', align='center'),
+    ui.table_column(name='last_name', label='Last Name', align='right'),
+    ui.table_column(name='username', label='Username', align='left'),
+    ui.table_column(name='company', label='Company'),
+]
+
+
+@app('/demo')
+async def serve(q: Q):
+    q.page['form'] = ui.form_card(box='1 1 -1 10', items=[
+            ui.table(
+                name='users',
+                columns=columns,
+                rows=[ui.table_row(
+                    name=user.id,
+                    cells=[user.first_name, user.last_name, user.username, user.company]
+                ) for user in users],
+                downloadable=True,
+                resettable=True,
+                height='800px'
+            )
+        ])
+
+    await q.page.save()
diff --git a/examples/table_download.py b/examples/table_download.py
new file mode 100644
index 0000000000000000000000000000000000000000..a2797a925fae64fd0b410fc6a25ec0d7373bb4ee
--- /dev/null
+++ b/examples/table_download.py
@@ -0,0 +1,60 @@
+# Table / Download
+# Allow downloading a table's data as CSV file.
+# #table #download
+# ---
+import random
+from faker import Faker
+from h2o_wave import main, app, Q, ui
+
+fake = Faker()
+
+_id = 0
+
+
+class Issue:
+    def __init__(self, text: str, status: str, progress: float, icon: str, notifications: str):
+        global _id
+        _id += 1
+        self.id = f'I{_id}'
+        self.text = text
+        self.status = status
+        self.views = 0
+        self.progress = progress
+        self.icon = icon
+        self.notifications = notifications
+
+
+# Create some issues
+issues = [
+    Issue(
+        text=fake.sentence(),
+        status=('Closed' if i % 2 == 0 else 'Open'),
+        progress=random.random(),
+        icon=('BoxCheckmarkSolid' if random.random() > 0.5 else 'BoxMultiplySolid'),
+        notifications=('Off' if random.random() > 0.5 else 'On')) for i in range(100)
+]
+
+# Create columns for our issue table.
+columns = [
+    ui.table_column(name='text', label='Issue'),
+    ui.table_column(name='status', label='Status'),
+    ui.table_column(name='notifications', label='Notifications'),
+    ui.table_column(name='done', label='Done', cell_type=ui.icon_table_cell_type()),
+    ui.table_column(name='views', label='Views'),
+    ui.table_column(name='progress', label='Progress', cell_type=ui.progress_table_cell_type()),
+]
+
+
+@app('/demo')
+async def serve(q: Q):
+    q.page['form'] = ui.form_card(box='1 1 -1 7', items=[
+        ui.table(
+            name='issues',
+            columns=columns,
+            rows=[ui.table_row(
+                name=issue.id, cells=[issue.text, issue.status, issue.notifications, issue.icon, str(issue.views),
+                                      str(issue.progress)]) for issue in issues],
+            downloadable=True,
+        )
+    ])
+    await q.page.save()
diff --git a/examples/table_events_select.py b/examples/table_events_select.py
new file mode 100644
index 0000000000000000000000000000000000000000..d66d489e47f684a2d03c1f2ccfcf9e363406b7f0
--- /dev/null
+++ b/examples/table_events_select.py
@@ -0,0 +1,27 @@
+# Table / Events / Select
+# Register the `select` #event to emit Wave event on each #table row selection.
+# #table #events #select
+# ---
+from h2o_wave import main, app, Q, ui
+
+
+@app('/demo')
+async def serve(q: Q):
+    if q.events.table and q.events.table.select:
+        q.page['description'].content = f'{q.events.table.select}'
+    else:
+        q.page['table'] = ui.form_card(box='1 1 3 4', items=[
+            ui.table(
+                name='table',
+                columns=[ui.table_column(name='text', label='Table select event')],
+                rows=[
+                    ui.table_row(name='row1', cells=['Row 1']),
+                    ui.table_row(name='row2', cells=['Row 2']),
+                    ui.table_row(name='row3', cells=['Row 3'])
+                ],
+                multiple=True,
+                events=['select']
+            )
+        ])
+        q.page['description'] = ui.markdown_card(box='4 1 3 4', title='Selected rows', content='Nothing selected yet.')
+    await q.page.save()
diff --git a/examples/table_filter.py b/examples/table_filter.py
new file mode 100644
index 0000000000000000000000000000000000000000..817dacdaaf356e2207335ed38566d8fa4e30173a
--- /dev/null
+++ b/examples/table_filter.py
@@ -0,0 +1,59 @@
+# Table / Filter
+# Enable filtering values for specific columns.
+# #table
+# ---
+import random
+from faker import Faker
+from h2o_wave import main, app, Q, ui
+
+fake = Faker()
+
+_id = 0
+
+
+class Issue:
+    def __init__(self, text: str, status: str, progress: float, icon: str, notifications: str):
+        global _id
+        _id += 1
+        self.id = f'I{_id}'
+        self.text = text
+        self.status = status
+        self.views = 0
+        self.progress = progress
+        self.icon = icon
+        self.notifications = notifications
+
+
+# Create some issues
+issues = [
+    Issue(
+        text=fake.sentence(),
+        status=('Closed' if i % 2 == 0 else 'Open'),
+        progress=random.random(),
+        icon=('BoxCheckmarkSolid' if random.random() > 0.5 else 'BoxMultiplySolid'),
+        notifications=('Off' if random.random() > 0.5 else 'On')) for i in range(100)
+]
+
+# Create columns for our issue table.
+columns = [
+    ui.table_column(name='text', label='Issue'),
+    ui.table_column(name='status', label='Status', filterable=True),
+    ui.table_column(name='notifications', label='Notifications', filterable=True),
+    ui.table_column(name='done', label='Done', cell_type=ui.icon_table_cell_type()),
+    ui.table_column(name='views', label='Views'),
+    ui.table_column(name='progress', label='Progress', cell_type=ui.progress_table_cell_type()),
+]
+
+
+@app('/demo')
+async def serve(q: Q):
+    q.page['form'] = ui.form_card(box='1 1 -1 7', items=[
+        ui.table(
+            name='issues',
+            columns=columns,
+            rows=[ui.table_row(
+                name=issue.id,
+                cells=[issue.text, issue.status, issue.notifications, issue.icon, str(issue.views), str(issue.progress)]) for issue in issues]
+        )
+    ])
+    await q.page.save()
diff --git a/examples/table_filter_backend.py b/examples/table_filter_backend.py
new file mode 100644
index 0000000000000000000000000000000000000000..4c93237e7c0b923168c1321f0508fc21ced5fec1
--- /dev/null
+++ b/examples/table_filter_backend.py
@@ -0,0 +1,53 @@
+# Table / Filter / Backend
+# Filter table using Python.
+# #table
+# ---
+import pandas as pd
+from faker import Faker
+from h2o_wave import main, app, Q, ui
+
+fake = Faker()
+
+N = 50  # number of rows
+
+# Make a synthetic data frame
+addresses = pd.DataFrame(dict(
+    ID=[i + 1 for i in range(N)],
+    Name=[fake.name() for _ in range(N)],
+    Language=[fake.language_name() for _ in range(N)],
+    Job=[fake.job() for _ in range(N)],
+    Address=[fake.address() for _ in range(N)],
+    City=[fake.city() for _ in range(N)],
+))
+
+column_names = ['ID', 'Name', 'Language', 'Job', 'Address', 'City']
+
+
+def df_to_rows(df: pd.DataFrame):
+    return [ui.table_row(str(row['ID']), [str(row[name]) for name in column_names]) for i, row in df.iterrows()]
+
+
+def search_df(df: pd.DataFrame, term: str):
+    str_cols = df.select_dtypes(include=[object])
+    return df[str_cols.apply(lambda column: column.str.contains(term, case=False, na=False)).any(axis=1)]
+
+
+@app('/demo')
+async def serve(q: Q):
+    if not q.client.initialized:
+        q.page['form'] = ui.form_card(box='1 1 -1 7', items=[
+            ui.textbox(name='search', label='Search address', placeholder='Enter a keyword...', trigger=True),
+            ui.table(
+                name='issues',
+                columns=[ui.table_column(name=name, label=name) for name in column_names],
+                rows=df_to_rows(addresses)
+            )
+        ])
+        q.client.initialized = True
+    else:
+        table = q.page['form'].issues
+        term: str = q.args.search
+        term = term.strip() if term else ''
+        table.rows = df_to_rows(search_df(addresses, term) if len(term) else addresses)
+
+    await q.page.save()
diff --git a/examples/table_groupby.py b/examples/table_groupby.py
new file mode 100644
index 0000000000000000000000000000000000000000..4a8c8f80634700a0a98f61ea02c5a124793d0cc2
--- /dev/null
+++ b/examples/table_groupby.py
@@ -0,0 +1,60 @@
+# Table / Group by
+# Allow grouping a table by column values.
+# #table
+# ---
+import random
+from faker import Faker
+from h2o_wave import main, app, Q, ui
+
+fake = Faker()
+
+_id = 0
+
+
+class Issue:
+    def __init__(self, text: str, status: str, progress: float, icon: str, notifications: str):
+        global _id
+        _id += 1
+        self.id = f'I{_id}'
+        self.text = text
+        self.status = status
+        self.views = 0
+        self.progress = progress
+        self.icon = icon
+        self.notifications = notifications
+
+
+# Create some issues
+issues = [
+    Issue(
+        text=fake.sentence(),
+        status=('Closed' if i % 2 == 0 else 'Open'),
+        progress=random.random(),
+        icon=('BoxCheckmarkSolid' if random.random() > 0.5 else 'BoxMultiplySolid'),
+        notifications=('Off' if random.random() > 0.5 else 'On')) for i in range(100)
+]
+
+# Create columns for our issue table.
+columns = [
+    ui.table_column(name='text', label='Issue'),
+    ui.table_column(name='status', label='Status'),
+    ui.table_column(name='notifications', label='Notifications'),
+    ui.table_column(name='done', label='Done', cell_type=ui.icon_table_cell_type()),
+    ui.table_column(name='views', label='Views'),
+    ui.table_column(name='progress', label='Progress', cell_type=ui.progress_table_cell_type()),
+]
+
+
+@app('/demo')
+async def serve(q: Q):
+    q.page['form'] = ui.form_card(box='1 1 -1 7', items=[
+        ui.table(
+            name='issues',
+            columns=columns,
+            rows=[ui.table_row(
+                name=issue.id,
+                cells=[issue.text, issue.status, issue.notifications, issue.icon, str(issue.views),
+                       str(issue.progress)]) for issue in issues],
+            groupable=True,
+        )])
+    await q.page.save()
diff --git a/examples/table_groups.py b/examples/table_groups.py
new file mode 100644
index 0000000000000000000000000000000000000000..e63530ef59542fc87f48852de92bc0e2dcf313ae
--- /dev/null
+++ b/examples/table_groups.py
@@ -0,0 +1,28 @@
+# Table / Groups
+# Manage data in custom groups
+# #table
+# ---
+
+from h2o_wave import main, app, Q, ui
+
+
+@app('/demo')
+async def serve(q: Q):
+    q.page['form'] = ui.form_card(box='1 1 -1 6', items=[
+        ui.table(
+            name='issues',
+            columns=[ui.table_column(name='text', label='Issues reported by')],
+            groups=[
+                ui.table_group("Bob", [
+                    ui.table_row(name='row1', cells=['Issue1']),
+                    ui.table_row(name='row2', cells=['Issue2'])
+                ]),
+                ui.table_group("John", [
+                    ui.table_row(name='row3', cells=['Issue3']),
+                    ui.table_row(name='row4', cells=['Issue4']),
+                    ui.table_row(name='row5', cells=['Issue5']),
+                ], collapsed=False)],
+            height='500px'
+        )
+    ])
+    await q.page.save()
diff --git a/examples/table_markdown.py b/examples/table_markdown.py
new file mode 100644
index 0000000000000000000000000000000000000000..0ffe022f96ff00da26c788d7b955c0a265bfd2ec
--- /dev/null
+++ b/examples/table_markdown.py
@@ -0,0 +1,35 @@
+# Table / Markdown
+# Creates a table with Markdown content.
+# #table #markdown
+# ---
+
+from h2o_wave import main, Q, ui, app
+
+
+@app('/demo')
+async def serve(q: Q):
+    q.page['example'] = ui.form_card(box='1 1 3 6', items=[
+        ui.text_xl(content='Table with Markdown'),
+        ui.table(
+            name='table',
+            columns=[
+                ui.table_column(name='description', label='Description', min_width='200',
+                                cell_type=ui.markdown_table_cell_type(target='_blank')),
+                ui.table_column(name='markdown', label='Markdown',
+                                cell_type=ui.markdown_table_cell_type(target='_blank')),
+            ],
+            height='450px',
+            rows=[
+                ui.table_row(name='row1', cells=['Normal text', 'Hello World!']),
+                ui.table_row(name='row2', cells=['Bold text', 'This is a **bold** text.']),
+                ui.table_row(name='row3', cells=['Italicized text', 'This is a _italicized_ text.']),
+                ui.table_row(name='row4', cells=['Link', '<http://wave.h2o.ai>']),
+                ui.table_row(name='row5', cells=['Absolute link with label', '[Wave website](http://wave.h2o.ai/)']),
+                ui.table_row(name='row6', cells=['Relative link with label', '[Go to /wave](/wave)']),
+                ui.table_row(name='row7', cells=['Email', '<fake@email.com>']),
+                ui.table_row(name='row8', cells=['Code', '``inline code``']),  # change to monospaced font
+            ]
+        )
+    ])
+
+    await q.page.save()
diff --git a/examples/table_markdown_overflow.py b/examples/table_markdown_overflow.py
new file mode 100644
index 0000000000000000000000000000000000000000..8f38197e6896924b409bb5cedbafcafbacfb538f
--- /dev/null
+++ b/examples/table_markdown_overflow.py
@@ -0,0 +1,38 @@
+# Table / Markdown / Overflow
+# Creates a table with Markdown content that overflows
+# #table #markdown #overflow
+# ---
+
+from h2o_wave import main, Q, ui, app
+
+
+@app('/demo')
+async def serve(q: Q):
+    q.page['example'] = ui.form_card(box='1 1 4 10', items=[
+        ui.text_xl(content='Table with Markdown Overflow'),
+        ui.table(
+            name='table',
+            columns=[
+                ui.table_column(name='markdown', label='Markdown (No overflow)', 
+                    sortable=True, searchable=True, max_width='250'),
+                ui.table_column(name='markdown_tooltip', label='Tooltip', 
+                    sortable=True, searchable=True, max_width='70', cell_overflow='tooltip',
+                    cell_type=ui.markdown_table_cell_type(target='_blank')),
+                ui.table_column(name='markdown_wrap', label='Wrap', max_width = '70',
+                                cell_type=ui.markdown_table_cell_type(target='_blank'), cell_overflow='wrap'),
+            ],
+            height='800px',
+            rows=[
+                ui.table_row(name='row1', cells=['Normal text', 'Hello World! Make a tooltip!', 'Hello World! Wrap this!']),
+                ui.table_row(name='row2', cells=['Bold text', 'This is a **bold** text.', 'This is a **bold** text.']),
+                ui.table_row(name='row3', cells=['Italicized text', 'This is a _italicized_ text.', 'This is a _italicized_ text.']),
+                ui.table_row(name='row4', cells=['Link', '<http://wave.h2o.ai>', '<http://wave.h2o.ai>']),
+                ui.table_row(name='row5', cells=['Absolute link with label', '[Wave website as tooltip](http://wave.h2o.ai/)', '[Wave website wrapped](http://wave.h2o.ai/)']),
+                ui.table_row(name='row6', cells=['Relative link with label', '[Go to /wave](/wave)', '[Go to /wave](/wave)']),
+                ui.table_row(name='row7', cells=['Email', '<fake@email.com>', '<fake@email.com>']),
+                ui.table_row(name='row8', cells=['Code', '``inline code with tooltip``', '``inline code that wraps``']),  # change to monospaced font
+            ]
+        )
+    ])
+
+    await q.page.save()
diff --git a/examples/table_markdown_pandas.py b/examples/table_markdown_pandas.py
new file mode 100644
index 0000000000000000000000000000000000000000..3b879c68c06de57712f360f1863633aae21cad25
--- /dev/null
+++ b/examples/table_markdown_pandas.py
@@ -0,0 +1,39 @@
+# Table / Markdown / Pandas
+# Display a #pandas #dataframe as a #markdown #table.
+# ---
+from h2o_wave import site, ui
+import pandas as pd
+
+df = pd.DataFrame({'A': 1.,
+                   'B': pd.Timestamp('20130102'),
+                   'C': pd.Series(1, index=list(range(4)), dtype='float32'),
+                   'D': pd.np.array([3] * 4, dtype='int32'),
+                   'E': pd.Categorical(["test", "train", "test", "train"]),
+                   'F': 'foo'})
+
+
+def make_markdown_row(values):
+    return f"| {' | '.join([str(x) for x in values])} |"
+
+
+def make_markdown_table(fields, rows):
+    return '\n'.join([
+        make_markdown_row(fields),
+        make_markdown_row('-' * len(fields)),
+        '\n'.join([make_markdown_row(row) for row in rows]),
+    ])
+
+
+page = site['/demo']
+
+v = page.add('example', ui.form_card(
+    box='1 1 4 5',
+    items=[
+        ui.text(make_markdown_table(
+            fields=df.columns.tolist(),
+            rows=df.values.tolist(),
+        )),
+    ],
+))
+
+page.save()
diff --git a/examples/table_menu.py b/examples/table_menu.py
new file mode 100644
index 0000000000000000000000000000000000000000..a39127015da42b2f407b3ace6d8ae851c0f23ff9
--- /dev/null
+++ b/examples/table_menu.py
@@ -0,0 +1,64 @@
+# Table / Menu
+# Allow group of commands with context menu for each row.
+# #table #commands #menu
+# ---
+from h2o_wave import main, app, Q, ui
+from faker import Faker
+
+fake = Faker()
+
+
+class TableRow:
+    _id = 0
+
+    def __init__(self):
+        TableRow._id += 1
+        self.id = f'row_{TableRow._id}'
+        self.name = f'{fake.first_name()} {fake.last_name()}'
+        self.details = fake.sentence()
+
+
+def show_table(q) -> None:
+    q.page['example'] = ui.form_card(box='1 1 4 4', items=[
+        ui.table(
+            name='table',
+            columns=[
+                ui.table_column(name='name', label='Name'),
+                ui.table_column(
+                    name='actions', label='Actions',
+                    cell_type=ui.menu_table_cell_type(name='commands', commands=[
+                        ui.command(name='details', label='Details'),
+                        ui.command(name='delete', label='Delete'),
+                    ])
+                )
+            ],
+            rows=[ui.table_row(name=r.id, cells=[r.name]) for r in q.client.rows]
+        )
+    ])
+
+
+@app('/demo')
+async def serve(q: Q):
+    if not q.app.initialized:
+        q.app.rows = [TableRow() for _ in range(3)]
+        q.app.initialized = True
+    if not q.client.initialized:
+        q.client.rows = q.app.rows
+        show_table(q)
+        q.client.initialized = True
+
+    if q.args.delete:
+        q.client.rows = [row for row in q.client.rows if row.id != q.args.delete]
+        q.page['example'].table.rows = [ui.table_row(name=r.id, cells=[r.name]) for r in q.client.rows]
+    if q.args.details:
+        for row in q.client.rows:
+            if row.id == q.args.details:
+                q.page['example'] = ui.form_card(box='1 1 4 4', items=[
+                    ui.text(name='details', content=row.details),
+                    ui.button(name='back', label='Back')
+                ])
+                break
+    if q.args.back:
+        show_table(q)
+
+    await q.page.save()
diff --git a/examples/table_pagination.py b/examples/table_pagination.py
new file mode 100644
index 0000000000000000000000000000000000000000..e036809c1f4373bc4503a830e6ee7367c601284d
--- /dev/null
+++ b/examples/table_pagination.py
@@ -0,0 +1,110 @@
+# Table / Pagination
+# Use a paginated #table to display large (100k+ rows) tabular data.
+# #form #table #pagination
+# ---
+
+import os
+from typing import Dict, List
+from h2o_wave import main, app, Q, ui
+from copy import deepcopy
+import csv
+
+
+# Create a dummy data blueprint.
+class Issue:
+    def __init__(self, text: str, status: str):
+        self.text = text
+        self.status = status
+
+
+all_rows = [Issue(text=i + 1, status=('Closed' if i % 2 == 0 else 'Open')) for i in range(100)]
+rows_per_page = 10
+total_rows = len(all_rows)
+
+
+def get_rows(base: List, sort: Dict[str, bool] = None, search: Dict = None, filters: Dict[str, List[str]] = None) -> List:
+    # Make a deep copy in order to not mutate the original `all_issues` which serves as our baseline.
+    rows = deepcopy(base)
+
+    # Sort by multiple columns.
+    if sort:
+        for col, reverse in sort.items():
+            rows.sort(key=lambda i: getattr(i, col), reverse=reverse)
+    # Filter out all rows that do not contain searched string.
+    if search:
+        search_val = search['value'].lower()
+        cols = search['cols']
+        rows = [row for row in rows if any(search_val in str(getattr(row, col)).lower() for col in cols)]
+    # Filter out rows that do not contain filtered column value.
+    if filters:
+        for col, filters in filters.items():
+            rows = [row for row in rows if not filters or any(f in getattr(row, col) for f in filters)]
+
+    return rows
+
+
+@app('/demo')
+async def serve(q: Q):
+    if not q.client.initialized:
+        q.page['meta'] = ui.meta_card(box='')
+        q.page['form'] = ui.form_card(box='1 1 -1 -1', items=[
+            ui.table(
+                name='table',
+                columns=[
+                    ui.table_column(name='text', label='Text', sortable=True, searchable=True, link=False),
+                    ui.table_column(name='status', label='Status', filterable=True, filters=['Open', 'Closed']),
+                ],
+                rows=[ui.table_row(str(r.text), [str(r.text), r.status]) for r in get_rows(all_rows)[0:rows_per_page]],
+                resettable=True,
+                downloadable=True,
+                pagination=ui.table_pagination(total_rows=len(all_rows), rows_per_page=rows_per_page),
+                # Make sure to register the necessary events for the feature you want to support, e.g. sorting.
+                # All the registered events have to be handled by the developer.
+                # `page_change` event is required to be handled for pagination to work.
+                events=['sort', 'filter', 'search', 'page_change', 'download', 'reset']
+            )
+        ])
+        q.client.initialized = True
+
+    # Check if user triggered any table action and save it to local state for allowing multiple
+    # actions to be performed on the data at the same time, e.g. sort the filtered data etc.
+    if q.events.table:
+        table = q.page['form'].table
+        if q.events.table.sort:
+            q.client.sort = q.events.table.sort
+            q.client.page_offset = 0
+        if q.events.table.filter:
+            q.client.filters = q.events.table.filter
+            q.client.page_offset = 0
+        if q.events.table.search is not None:
+            q.client.search = q.events.table.search
+            q.client.page_offset = 0
+        if q.events.table.page_change:
+            q.client.page_offset = q.events.table.page_change.get('offset', 0)
+        if q.events.table.reset:
+            q.client.search = None
+            q.client.sort = None
+            q.client.filters = None
+            q.client.page_offset = 0
+            table.pagination = ui.table_pagination(total_rows, rows_per_page)
+
+        rows = get_rows(all_rows, q.client.sort, q.client.search, q.client.filters)
+        offset = q.client.page_offset or 0
+        table.rows = [ui.table_row(str(r.text), [str(r.text), r.status]) for r in rows[offset: offset + rows_per_page]]
+
+        # Update table pagination according to the new row count.
+        if q.client.search is not None or q.client.filters:
+            table.pagination = ui.table_pagination(len(rows), rows_per_page)
+
+        if q.events.table.download:
+            # For multi-user apps, the tmp file name should be unique for each user, not hardcoded.
+            with open('data_download.csv', 'w') as csvfile:
+                csv_writer = csv.writer(csvfile, delimiter=',')
+                for r in rows:
+                    csv_writer.writerow([r.text, r.status])
+            download_url, = await q.site.upload(['data_download.csv'])
+            # Clean up the file after upload.
+            os.remove('data_download.csv')
+            q.page['meta'].script = ui.inline_script(f'window.open("{download_url}")')
+
+    await q.page.save()
diff --git a/examples/table_pagination_download.py b/examples/table_pagination_download.py
new file mode 100644
index 0000000000000000000000000000000000000000..42e2f0d9b9d1b0aaab46b1cbfac9e036b8c78415
--- /dev/null
+++ b/examples/table_pagination_download.py
@@ -0,0 +1,50 @@
+# Table / Pagination / Download
+# Use a #table with pagination to display large (100k+ rows) tabular data and provide data download option.
+# #form #table #pagination #download
+# ---
+
+from h2o_wave import main, app, Q, ui
+import csv
+
+
+rows = [str(i + 1) for i in range(100)]
+rows_per_page = 10
+
+
+@app('/demo')
+async def serve(q: Q):
+    if not q.app.initialized:
+        # Allow downloading all data since no filters/search/sort is allowed.
+        # Create and upload a CSV file for downloads.
+        # For multi-user apps, the tmp file name should be unique for each user, not hardcoded.
+        with open('data_download.csv', 'w') as csvfile:
+            csv_writer = csv.writer(csvfile, delimiter=',')
+            for r in rows:
+                csv_writer.writerow([r])
+        q.app.data_download, = await q.site.upload(['data_download.csv'])
+        q.app.initialized = True
+
+    if not q.client.initialized:
+        q.page['meta'] = ui.meta_card(box='')
+        q.page['form'] = ui.form_card(box='1 1 -1 -1', items=[
+            ui.table(
+                name='table',
+                columns=[ui.table_column(name='text', label='Text', link=False)],
+                rows=[ui.table_row(name=r, cells=[r]) for r in rows[0:rows_per_page]],
+                pagination=ui.table_pagination(total_rows=len(rows), rows_per_page=rows_per_page),
+                height='580px',
+                downloadable=True,
+                events=['page_change', 'download']
+            )
+        ])
+        q.client.initialized = True
+
+    if q.events.table:
+        if q.events.table.download:
+            q.page['meta'].script = ui.inline_script(f'window.open("{q.app.data_download}")')
+        if q.events.table.page_change:
+            offset = q.events.table.page_change.get('offset', 0)
+            new_rows = rows[offset:offset + rows_per_page]
+            q.page['form'].table.rows = [ui.table_row(name=r, cells=[r]) for r in new_rows]
+
+    await q.page.save()
diff --git a/examples/table_pagination_filter.py b/examples/table_pagination_filter.py
new file mode 100644
index 0000000000000000000000000000000000000000..7b1a797540d1a38d728df0846cf40369bd9fd20c
--- /dev/null
+++ b/examples/table_pagination_filter.py
@@ -0,0 +1,54 @@
+# Table / Pagination / Filter
+# Use a #table with pagination to display large (100k+ rows) tabular data and allow filtering along the way.
+# #form #table #pagination #filter
+# ---
+
+from h2o_wave import main, app, Q, ui
+
+
+class Issue:
+    def __init__(self, text: str, status: str):
+        self.text = text
+        self.status = status
+
+
+issues = [Issue(str(i), 'Open' if i % 2 == 0 else 'Closed') for i in range(100)]
+rows_per_page = 10
+
+
+@app('/demo')
+async def serve(q: Q):
+    if not q.client.initialized:
+        q.page['form'] = ui.form_card(box='1 1 -1 -1', items=[
+            ui.table(
+                name='table',
+                columns=[
+                    ui.table_column(name='text', label='Text', link=False),
+                    ui.table_column(name='status', label='Status', filterable=True, filters=['Open', 'Closed']),
+                ],
+                rows=[ui.table_row(name=i.text, cells=[i.text, i.status]) for i in issues[0:rows_per_page]],
+                pagination=ui.table_pagination(total_rows=len(issues), rows_per_page=rows_per_page),
+                height='580px',
+                events=['page_change', 'filter']
+            )
+        ])
+        q.client.initialized = True
+
+    if q.events.table:
+        offset = 0
+        filtered = None
+        active_filter = q.events.table.filter or q.client.filter
+        if active_filter:
+            q.client.filter = active_filter
+            for col, filters in active_filter.items():
+                filtered = [i for i in issues if not filters or any(f in getattr(i, col) for f in filters)]
+        if q.events.table.page_change:
+            offset = q.events.table.page_change.get('offset', 0)
+
+        next_issues = filtered[offset:offset + rows_per_page] if filtered else issues[offset:offset + rows_per_page]
+
+        table = q.page['form'].table
+        table.rows = [ui.table_row(name=i.text, cells=[i.text, i.status]) for i in next_issues]
+        table.pagination = ui.table_pagination(len(filtered) if filtered else len(issues), rows_per_page)
+
+    await q.page.save()
diff --git a/examples/table_pagination_groups.py b/examples/table_pagination_groups.py
new file mode 100644
index 0000000000000000000000000000000000000000..ffcd8131a55819a45d41cced920150eaaf7f2e54
--- /dev/null
+++ b/examples/table_pagination_groups.py
@@ -0,0 +1,36 @@
+# Table / Pagination / Groups
+# Use a paginated #table to display large (100k+ rows) tabular data managed in custom groups.
+# #form #table #pagination #groups
+# ---
+
+from h2o_wave import main, app, Q, ui
+
+groups = [ui.table_group(f"Group-{i + 1}", [
+    ui.table_row(name=f"row{i * 3 + 1}", cells=[f"Item-{i * 3 + 1}"]),
+    ui.table_row(name=f"row{i * 3 + 2}", cells=[f"Item-{i * 3 + 2}"]),
+    ui.table_row(name=f"row{i * 3 + 3}", cells=[f"Item-{i * 3 + 3}"]),
+]) for i in range(100)]
+groups_per_page = 10
+
+
+@app('/demo')
+async def serve(q: Q):
+    if not q.client.initialized:
+        q.page['form'] = ui.form_card(box='1 1 -1 -1', items=[
+            ui.table(
+                name='table',
+                columns=[ui.table_column(name='text', label='Text', link=False)],
+                groups=groups[0:groups_per_page],
+                pagination=ui.table_pagination(total_rows=len(groups), rows_per_page=groups_per_page),
+                height='590px',
+                events=['page_change']
+            )
+        ])
+        q.client.initialized = True
+
+    if q.events.table and q.events.table.page_change:
+        offset = q.events.table.page_change.get('offset', 0)
+        new_groups = groups[offset:offset + groups_per_page]
+        q.page['form'].table.groups = new_groups
+
+    await q.page.save()
diff --git a/examples/table_pagination_h2o3.py b/examples/table_pagination_h2o3.py
new file mode 100644
index 0000000000000000000000000000000000000000..730078420857c329fcf31fda1bc26321c839fb23
--- /dev/null
+++ b/examples/table_pagination_h2o3.py
@@ -0,0 +1,235 @@
+# Table / Pagination / H2O-3 Dataframe
+# Use a paginated #table to display large (100m+ rows) tabular data using a H2O-3 dataframe.
+# #form #table #pagination #h2o3
+# ---
+
+import os
+from time import time
+
+import h2o
+from h2o_wave import Q, app, main, ui
+from loguru import logger
+
+# This example requires H2O-3 to be running.
+
+
+@app("/demo")
+async def serve(q: Q):
+    logger.info(q.args)
+    logger.info(q.events)
+
+    if not q.app.initialized:
+        # This is called the first time our app runs
+        # Variables created here will be the same of all users of the app
+        # Save a direct link to our H2O Dataframe for all users to use throughout the app
+        try:
+            h2o.connect(url="http://127.0.0.1:54321")
+        except:
+            q.page['err'] = ui.form_card(box='1 1 4 2', items=[
+                ui.message_bar(type='error', text='Could not connect to H2O3. Please ensure H2O3 is running.'),
+            ])
+            await q.page.save()
+            logger.error("H2O-3 is not running")
+            return
+        q.app.h2o_df = h2o.get_frame("py_6_sid_aff3")
+
+        # EXAMPLE OF CREATING A LARGE DATAFRAME
+        # h2o_df = h2o.create_frame(
+        #     rows=1000000,
+        #     cols=5,
+        #     categorical_fraction=0.6,
+        #     integer_fraction=0,
+        #     binary_fraction=0,
+        #     real_range=100,
+        #     integer_range=100,
+        #     missing_fraction=0,
+        #     seed=1234,
+        # )
+
+        q.app.rows_per_page = 10  # TODO: How many rows do you want to show users at a time
+
+        # A list of booleans for if a column is sortable or not, by default
+        # we allow all and only numeric columns to be sorted based on H2O-3 functionality
+        # TODO: You may want to make a hardcoded list of [True, False] for your own use cases
+        q.app.column_sortable = q.app.h2o_df.isnumeric()
+
+        # A list of booleans for if a column is filterable or not, by default,
+        # we allow all and only categorical columns to be sorted based on H2O-3 functionality
+        # TODO: You may want to make a hardcoded list of [True, False] for your own use cases
+        q.app.column_filterable = q.app.h2o_df.isfactor()
+
+        # A list of booleans for if a column is searchable or not, by default,
+        # we allow all and only categorical and string columns to be sorted based on H2O-3 functionality
+        # TODO: You may want to make a hardcoded list of [True, False] for your own use cases
+        q.app.column_searchable = q.app.h2o_df.isfactor() + q.app.h2o_df.isstring()
+
+        q.app.initialized = True
+
+    if not q.client.initialized:
+        # This is called for each new browser that visits the app
+        # Multiple users can interact with the table at the same time without interrupting each other
+        # Users can make multiple changes to the table such as sorting and filtering
+
+        q.client.search = None
+        q.client.sort = None
+        q.client.filters = None
+        q.client.page_offset = 0
+        q.client.total_rows = len(q.app.h2o_df)
+
+        # Create the default UI for this user
+        q.page["meta"] = ui.meta_card(box="")
+        q.page["table_card"] = ui.form_card(
+            box="1 1 -1 -1",
+            items=[
+                ui.table(
+                    name="h2o_table",  # TODO: if you change this, you need to remember to update the serve function
+                    columns=[
+                        ui.table_column(
+                            name=q.app.h2o_df.columns[i],
+                            label=q.app.h2o_df.columns[i],
+                            sortable=q.app.column_sortable[i],
+                            filterable=q.app.column_filterable[i],
+                            searchable=q.app.column_searchable[i],
+                        )
+                        for i in range(len(q.app.h2o_df.columns))
+                    ],
+                    rows=get_table_rows(q),
+                    resettable=True,
+                    downloadable=True,
+                    pagination=ui.table_pagination(
+                        total_rows=q.client.total_rows,
+                        rows_per_page=q.app.rows_per_page,
+                    ),
+                    events=[
+                        "page_change",
+                        "sort",
+                        "filter",
+                        "search",
+                        "reset",
+                        "download",
+                    ],
+                )
+            ],
+        )
+        q.client.initialized = True
+
+    # Check if user triggered any table action and save it to local state for allowing multiple
+    # actions to be performed on the data at the same time, e.g. sort the filtered data etc.
+    if q.events.h2o_table:
+        logger.info("table event occurred")
+
+        if q.events.h2o_table.page_change:
+            logger.info(f"table page change: {q.events.h2o_table.page_change}")
+            q.client.page_offset = q.events.h2o_table.page_change.get("offset", 0)
+
+        if q.events.h2o_table.sort:
+            logger.info(f"table sort: {q.events.h2o_table.sort}")
+            q.client.sort = q.events.h2o_table.sort
+            q.client.page_offset = 0
+
+        if q.events.h2o_table.filter:
+            logger.info(f"table filter: {q.events.h2o_table.filter}")
+            q.client.filters = q.events.h2o_table.filter
+            q.client.page_offset = 0
+
+        if q.events.h2o_table.search is not None:
+            logger.info(f"table search: {q.events.h2o_table.search}")
+            q.client.search = q.events.h2o_table.search
+            q.client.page_offset = 0
+
+        if q.events.h2o_table.download:
+            await download_h2o_table(q)
+
+        if q.events.h2o_table.reset:
+            logger.info("table reset")
+            q.client.search = None
+            q.client.sort = None
+            q.client.filters = None
+            q.client.page_offset = 0
+            q.client.total_rows = len(q.app.h2o_df)
+
+        # Update the rows in our UI
+        # TODO: if you change where your table is located, this needs updating
+        q.page["table_card"].h2o_table.rows = get_table_rows(q)
+        q.page["table_card"].h2o_table.pagination.total_rows = q.client.total_rows
+
+    await q.page.save()
+
+
+def get_table_rows(q: Q):
+    logger.info(
+        f"Creating new table for rows: {q.client.page_offset} to {q.client.page_offset + q.app.rows_per_page}"
+    )
+
+    working_frame = prepare_h2o_data(q)
+
+    # Bring our limited UI rows locally to pandas to prepare for our ui.table
+    local_df = working_frame[
+        q.client.page_offset:q.client.page_offset + q.app.rows_per_page, :
+    ].as_data_frame()
+    q.client.total_rows = len(working_frame)
+
+    table_rows = [
+        ui.table_row(
+            name=str(
+                q.client.page_offset + i
+            ),  # name is the index on the h2o dataframe for appropriate lookup
+            cells=[str(local_df[col].values[i]) for col in local_df.columns.to_list()],
+        )
+        for i in range(len(local_df))
+    ]
+
+    h2o.remove(working_frame)  # remove our duplicate work
+
+    return table_rows
+
+
+async def download_h2o_table(q: Q):
+    # Create a unique file name as this is a multi-user app
+    local_file_path = f"h2o3_data_{str(int(time()))}.csv"
+    working_frame = prepare_h2o_data(q)
+
+    h2o.download_csv(working_frame, local_file_path)
+    (wave_file_path,) = await q.site.upload([local_file_path])
+    os.remove(local_file_path)
+
+    q.page["meta"].script = ui.inline_script(f'window.open("{wave_file_path}")')
+
+
+def prepare_h2o_data(q: Q):
+
+    # This is used to prep the data we want to show on the screen or download, so it gets its own function
+    # If you have 5 users at the same time, there will be 6 large dataframes in h2o3 - ensure proper cluster size
+    working_frame = h2o.deep_copy(q.app.h2o_df, "working_df")
+
+    if q.client.sort is not None:
+        # H2O-3 can only sort numeric values - if the developer allows users to sort
+        # string columns the end users will see unexpected results
+
+        working_frame = working_frame.sort(
+            by=list(q.client.sort.keys()), ascending=list(q.client.sort.values())
+        )
+
+    if q.client.filters is not None:
+
+        for key in q.client.filters.keys():
+            working_frame = working_frame[
+                working_frame[key].match(q.client.filters[key])
+            ]
+
+    if q.client.search is not None:
+        # We check if our search term is in any of the searchable columns
+        # Start with and index of 0s and then filter to only keep rows with index > 0
+
+        index = h2o.create_frame(
+            rows=len(working_frame), cols=1, integer_fraction=1, integer_range=1
+        )
+        index["C1"] = 0
+        for i in range(len(q.app.h2o_df.columns)):
+            if q.app.column_searchable[i]:
+                index = index + working_frame[q.app.h2o_df.columns[i]].grep(
+                    pattern=q.client.search, ignore_case=True, output_logical=True
+                )
+
+        working_frame = working_frame[index]
+    return working_frame
diff --git a/examples/table_pagination_minimal.py b/examples/table_pagination_minimal.py
new file mode 100644
index 0000000000000000000000000000000000000000..33944a2654ad94a1aefa4366fcb5d1f492d3ea24
--- /dev/null
+++ b/examples/table_pagination_minimal.py
@@ -0,0 +1,33 @@
+# Table / Pagination / Minimal
+# Use a #table with pagination to display large (100k+ rows) tabular data.
+# #form #table #pagination
+# ---
+
+from h2o_wave import main, app, Q, ui
+
+
+rows = [str(i + 1) for i in range(100)]
+rows_per_page = 10
+
+
+@app('/demo')
+async def serve(q: Q):
+    if not q.client.initialized:
+        q.page['form'] = ui.form_card(box='1 1 -1 -1', items=[
+            ui.table(
+                name='table',
+                columns=[ui.table_column(name='text', label='Text', link=False)],
+                rows=[ui.table_row(name=r, cells=[r]) for r in rows[0:rows_per_page]],
+                pagination=ui.table_pagination(total_rows=len(rows), rows_per_page=rows_per_page),
+                height='580px',
+                events=['page_change']
+            )
+        ])
+        q.client.initialized = True
+
+    if q.events.table and q.events.table.page_change:
+        offset = q.events.table.page_change.get('offset', 0)
+        new_rows = rows[offset:offset + rows_per_page]
+        q.page['form'].table.rows = [ui.table_row(name=r, cells=[r]) for r in new_rows]
+
+    await q.page.save()
diff --git a/examples/table_pagination_pandas.py b/examples/table_pagination_pandas.py
new file mode 100644
index 0000000000000000000000000000000000000000..0b1e4e747d84b3f1bfb41f565342e73f4e2e6ac4
--- /dev/null
+++ b/examples/table_pagination_pandas.py
@@ -0,0 +1,109 @@
+# Table / Pagination / Pandas
+# Use a paginated #table to display large (100k+ rows) tabular data using pandas dataframe.
+# #form #table #pagination #pandas
+# ---
+
+import os
+from typing import Dict, List
+from h2o_wave import main, app, Q, ui
+import pandas as pd
+
+
+all_issues_df = pd.DataFrame(
+    [[i + 1, 'Closed' if i % 2 == 0 else 'Open'] for i in range(100)],
+    columns=['text', 'status']
+)
+rows_per_page = 10
+total_rows = len(all_issues_df)
+
+
+def df_to_table_rows(df: pd.DataFrame) -> List[ui.TableRow]:
+    return [ui.table_row(name=str(r[0]), cells=[str(r[0]), r[1]]) for r in df.itertuples(index=False)]
+
+
+def get_df(base: pd.DataFrame, sort: Dict[str, bool] = None, search: Dict = None, filters: Dict[str, List[str]] = None) -> pd.DataFrame:
+    # Make a deep copy in order to not mutate the original df which serves as our baseline.
+    df = base.copy()
+
+    if sort:
+        # Reverse values since default sort of Wave table is different from Pandas.
+        ascending = [not v for v in list(sort.values())]
+        df = df.sort_values(by=list(sort.keys()), ascending=ascending)
+    # Filter out all rows that do not contain searched string in `text` cell.
+    if search:
+        search_val = search['value'].lower()
+        # Filter dataframe by search value case insensitive.
+        df = df[df.apply(lambda r: any(search_val in str(r[col]).lower() for col in search['cols']), axis=1)]
+    # Filter out rows that do not contain filtered column value.
+    if filters:
+        # We want only rows that have no filters applied or their col value matches active filters.
+        query = ' & '.join([f'({not bool(filters)} | {col} in {filters})' for col, filters in filters.items()])
+        df = df.query(query)
+
+    return df
+
+
+@app('/demo')
+async def serve(q: Q):
+    if not q.client.initialized:
+        q.page['meta'] = ui.meta_card(box='')
+        q.page['form'] = ui.form_card(box='1 1 -1 -1', items=[
+            ui.table(
+                name='table',
+                columns=[
+                    ui.table_column(name='text', label='Text', sortable=True, searchable=True, link=False),
+                    ui.table_column(name='status', label='Status', filterable=True, filters=['Open', 'Closed']),
+                ],
+                rows=df_to_table_rows(get_df(all_issues_df)[0:rows_per_page]),
+                resettable=True,
+                downloadable=True,
+                pagination=ui.table_pagination(total_rows, rows_per_page),
+                # Make sure to register the necessary events for the feature you want to support, e.g. sorting.
+                # All the registered events have to be handled by the developer.
+                # `page_change` event is required to be handled for pagination to work.
+                events=['sort', 'filter', 'search', 'page_change', 'download', 'reset']
+            )
+        ])
+        q.client.initialized = True
+
+    # Check if user triggered any table action and save it to local state for allowing multiple
+    # actions to be performed on the data at the same time, e.g. sort the filtered data etc.
+    if q.events.table:
+        table = q.page['form'].table
+        if q.events.table.sort:
+            q.client.sort = q.events.table.sort
+            q.client.page_offset = 0
+        if q.events.table.filter:
+            q.client.filters = q.events.table.filter
+            q.client.page_offset = 0
+        if q.events.table.search is not None:
+            q.client.search = q.events.table.search
+            q.client.page_offset = 0
+        if q.events.table.page_change:
+            q.client.page_offset = q.events.table.page_change.get('offset', 0)
+        if q.events.table.reset:
+            q.client.search = None
+            q.client.sort = None
+            q.client.filters = None
+            q.client.page_offset = 0
+            table.pagination = ui.table_pagination(total_rows, rows_per_page)
+
+        offset = q.client.page_offset or 0
+        df = get_df(all_issues_df, q.client.sort, q.client.search, q.client.filters)
+
+        if q.events.table.download:
+            # Create and upload a CSV file for downloads.
+            # For multi-user apps, the tmp file name should be unique for each user, not hardcoded.
+            df.to_csv('data_download.csv')
+            download_url, = await q.site.upload(['data_download.csv'])
+            # Clean up.
+            os.remove('data_download.csv')
+            q.page['meta'].script = ui.inline_script(f'window.open("{download_url}")')
+
+        # Update table pagination according to the new row count.
+        if q.client.search is not None or q.client.filters:
+            table.pagination = ui.table_pagination(len(df), rows_per_page)
+
+        table.rows = df_to_table_rows(df[offset:offset + rows_per_page])
+
+    await q.page.save()
diff --git a/examples/table_pagination_search.py b/examples/table_pagination_search.py
new file mode 100644
index 0000000000000000000000000000000000000000..e413b70192a0ff6d0083aea19fadc89137c4635c
--- /dev/null
+++ b/examples/table_pagination_search.py
@@ -0,0 +1,48 @@
+# Table / Pagination / Search
+# Use a #table with pagination to display large (100k+ rows) tabular data and allow searching along the way.
+# #form #table #pagination #search
+# ---
+
+from h2o_wave import main, app, Q, ui
+
+
+class Issue:
+    def __init__(self, text: str):
+        self.text = text
+
+
+issues = [Issue(str(i + 1)) for i in range(100)]
+rows_per_page = 10
+
+
+@app('/demo')
+async def serve(q: Q):
+    if not q.client.initialized:
+        q.page['form'] = ui.form_card(box='1 1 -1 -1', items=[
+            ui.table(
+                name='table',
+                columns=[ui.table_column(name='text', label='Text', searchable=True, link=False)],
+                rows=[ui.table_row(name=i.text, cells=[i.text]) for i in issues[0:rows_per_page]],
+                pagination=ui.table_pagination(total_rows=len(issues), rows_per_page=rows_per_page),
+                height='660px',
+                events=['page_change', 'search']
+            )
+        ])
+        q.client.initialized = True
+
+    if q.events.table:
+        offset = 0
+        searched = issues
+        search = q.events.table.search or q.client.search
+        if search is not None:
+            search_val = search['value'].lower()
+            searched = [i for i in issues if any(search_val in str(getattr(i, col)).lower() for col in search['cols'])]
+            q.client.search = search
+        if q.events.table.page_change:
+            offset = q.events.table.page_change.get('offset', 0)
+
+        table = q.page['form'].table
+        table.rows = [ui.table_row(name=i.text, cells=[i.text]) for i in searched[offset:offset + rows_per_page]]
+        table.pagination = ui.table_pagination(len(searched), rows_per_page)
+
+    await q.page.save()
diff --git a/examples/table_pagination_sort.py b/examples/table_pagination_sort.py
new file mode 100644
index 0000000000000000000000000000000000000000..30105ce1b3a2cc4cb512525651e040dcb45a8bf1
--- /dev/null
+++ b/examples/table_pagination_sort.py
@@ -0,0 +1,45 @@
+# Table / Pagination / Sort
+# Use a #table with pagination to display large (100k+ rows) tabular data and allow sorting along the way.
+# #form #table #pagination #sort
+# ---
+
+from h2o_wave import main, app, Q, ui
+
+
+# Create a dummy data blueprint.
+class Issue:
+    def __init__(self, text: str):
+        self.text = text
+
+
+issues = [Issue(i + 1) for i in range(100)]
+rows_per_page = 10
+
+
+@app('/demo')
+async def serve(q: Q):
+    if not q.client.initialized:
+        q.page['form'] = ui.form_card(box='1 1 -1 -1', items=[
+            ui.table(
+                name='table',
+                columns=[ui.table_column(name='text', label='Text', sortable=True, link=False)],
+                rows=[ui.table_row(name=str(i.text), cells=[str(i.text)]) for i in issues[0:rows_per_page]],
+                pagination=ui.table_pagination(total_rows=len(issues), rows_per_page=rows_per_page),
+                height='580px',
+                events=['page_change', 'sort']
+            )
+        ])
+        q.client.initialized = True
+
+    if q.events.table:
+        offset = 0
+        if q.events.table.sort:
+            for col, reverse in q.events.table.sort.items():
+                issues.sort(key=lambda i: getattr(i, col), reverse=reverse)
+        if q.events.table.page_change:
+            offset = q.events.table.page_change.get('offset', 0)
+
+        next_issues = issues[offset:offset + rows_per_page]
+        q.page['form'].table.rows = [ui.table_row(name=str(i.text), cells=[str(i.text)]) for i in next_issues]
+
+    await q.page.save()
diff --git a/examples/table_pagination_wavedb.py b/examples/table_pagination_wavedb.py
new file mode 100644
index 0000000000000000000000000000000000000000..5416a1099ceb9385f9d53cc065307a8739f83875
--- /dev/null
+++ b/examples/table_pagination_wavedb.py
@@ -0,0 +1,153 @@
+import os
+from typing import List
+from h2o_wave import main, app, Q, ui, connect
+import csv
+
+
+rows_per_page = 10
+
+async def get_rows(q: Q, table = 'issues', columns = ['text', 'status'], count_only = False) -> List:
+    sql_query = f'SELECT {"count(*)" if count_only else ", ".join(columns)} FROM {table}'
+
+    substitution_values = []
+    # Filter out all rows that do not contain searched string.
+    if q.client.search:
+        search_val = q.client.search['value'].lower()
+        cols = q.client.search['cols']
+        like_statements = []
+        for col in cols:
+            if col in columns:
+                substitution_values.append('%' + search_val + '%')
+                like_statements.append(f'{col} LIKE ?')
+
+        sql_query += ' WHERE (' + ' OR '.join(like_statements) + ')'
+
+    # Filter out rows that do not contain filtered column value.
+    if q.client.filters:
+        filter_queries = []
+        for col, filters in q.client.filters.items():
+            if col in columns:
+                like_statements = []
+                for f in filters:
+                    substitution_values.append(f'%{f}%')
+                    like_statements.append(f'{col} LIKE ?')
+                if like_statements:
+                    filter_queries.append(' OR '.join(like_statements))
+        if filter_queries:
+            sql_query += ' AND ' if 'WHERE' in sql_query else ' WHERE '
+            sql_query += ' AND '.join(filter_queries)
+    
+    # Sort by multiple columns.
+    if q.client.sort:
+        # NOTE: This example sorts alphabetically since only "text" col is sortable.
+        sort_statements = []
+        for col, asc in q.client.sort.items():
+            if col in columns:
+                sort_statements.append(f'{col} {"ASC" if asc else "DESC" }')
+        if sort_statements:
+            sql_query += ' ORDER BY ' + ', '.join(sort_statements)
+
+    if not count_only:
+        sql_query += f' LIMIT {rows_per_page} OFFSET {q.client.page_offset or 0} '
+
+    results, err = await q.app.db.exec(sql_query, *substitution_values)
+    if err:
+        raise RuntimeError(f'Failed querying the table data: {err}')
+
+    return results
+
+
+# NOTICE: You need a running instance of https://wave.h2o.ai/docs/wavedb for this app to run.
+@app('/demo')
+async def serve(q: Q):
+    # Run once per app lifetime.
+    if not q.app.initialized:
+        # Create a database connection.
+        connection = connect()
+        q.app.db = connection['demo_db']
+        # Check if there is any data in the database.
+        _, err = await q.app.db.exec('CREATE TABLE IF NOT EXISTS issues (text TEXT, status TEXT)')
+        if err:
+            raise RuntimeError(f'Failed setting up database: {err}')
+        results, err = await q.app.db.exec('SELECT COUNT(*) FROM issues')
+        if err:
+            raise RuntimeError(f'Failed querying the database: {err}')
+        # Populate DB data if necessary.
+        if results and results[0] and results[0][0] != 100:
+            insert_statements = []
+            for i in range (1,101):
+                insert_statements.append(f'INSERT INTO issues (text, status) VALUES ("Text {i}", "{"Closed" if i % 2 == 0 else "Open"} ")')
+            _, err = await q.app.db.exec_many(*insert_statements)
+            if err:
+                raise RuntimeError(f'Failed querying the database: {err}')
+        q.app.initialized = True
+
+    # Run once per browser tab lifetime.
+    if not q.client.initialized:
+        q.page['meta'] = ui.meta_card(box='')
+        total_rows, err = await q.app.db.exec('SELECT COUNT(*) FROM issues')
+        if err:
+            raise RuntimeError(f'Failed querying the database: {err}')
+        rows = await get_rows(q)
+        q.page['form'] = ui.form_card(box='1 1 -1 -1', items=[
+            ui.table(
+                name='table',
+                columns=[
+                    ui.table_column(name='text', label='Text', sortable=True, searchable=True, link=False),
+                    ui.table_column(name='status', label='Status', filterable=True, filters=['Open', 'Closed']),
+                ],
+                rows=[ui.table_row(r[0], [r[0], r[1]]) for r in rows],
+                resettable=True,
+                downloadable=True,
+                pagination=ui.table_pagination(total_rows=total_rows[0][0], rows_per_page=rows_per_page),
+                # Make sure to register the necessary events for the feature you want to support, e.g. sorting.
+                # All the registered events have to be handled by the developer.
+                # `page_change` event is required to be handled for pagination to work.
+                events=['sort', 'filter', 'search', 'page_change', 'download', 'reset']
+            )
+        ])
+        q.client.initialized = True
+
+    # Check if user triggered any table action and save it to local state for allowing multiple
+    # actions to be performed on the data at the same time, e.g. sort the filtered data etc.
+    if q.events.table:
+        table = q.page['form'].table
+        if q.events.table.sort:
+            q.client.sort = q.events.table.sort
+            q.client.page_offset = 0
+        if q.events.table.filter:
+            q.client.filters = q.events.table.filter
+            q.client.page_offset = 0
+        if q.events.table.search is not None:
+            q.client.search = q.events.table.search
+            q.client.page_offset = 0
+        if q.events.table.page_change:
+            q.client.page_offset = q.events.table.page_change.get('offset', 0)
+        if q.events.table.reset:
+            q.client.search = None
+            q.client.sort = None
+            q.client.filters = None
+            q.client.page_offset = 0
+            total_filtered_rows = await get_rows(q, count_only=True)
+            table.pagination = ui.table_pagination(total_filtered_rows[0][0], rows_per_page)
+
+        rows = await get_rows(q)
+        table.rows = [ui.table_row(r[0], [r[0], r[1]]) for r in rows]
+
+        # Update table pagination according to the new row count.
+        if q.client.search is not None or q.client.filters:
+            total_filtered_rows = await get_rows(q, count_only=True)
+            table.pagination = ui.table_pagination(total_filtered_rows[0][0], rows_per_page)
+
+        if q.events.table.download:
+            # For multi-user apps, the tmp file name should be unique for each user, not hardcoded.
+            with open('data_download.csv', 'w') as csvfile:
+                csv_writer = csv.writer(csvfile, delimiter=',')
+                for r in rows:
+                    csv_writer.writerow([r.text, r.status])
+            download_url, = await q.site.upload(['data_download.csv'])
+            # Clean up the file after upload.
+            os.remove('data_download.csv')
+            q.page['meta'].script = ui.inline_script(f'window.open("{download_url}")')
+
+    await q.page.save()
diff --git a/examples/table_search.py b/examples/table_search.py
new file mode 100644
index 0000000000000000000000000000000000000000..6bd037371ae9a80bed21bba5a89719f12fe60cec
--- /dev/null
+++ b/examples/table_search.py
@@ -0,0 +1,59 @@
+# Table / Search
+# Enable searching a #table across specific columns. #search
+# ---
+import random
+from faker import Faker
+from h2o_wave import main, app, Q, ui
+
+fake = Faker()
+
+_id = 0
+
+
+class Issue:
+    def __init__(self, text: str, status: str, progress: float, icon: str, notifications: str):
+        global _id
+        _id += 1
+        self.id = f'I{_id}'
+        self.text = text
+        self.status = status
+        self.views = 0
+        self.progress = progress
+        self.icon = icon
+        self.notifications = notifications
+
+
+# Create some issues
+issues = [
+    Issue(
+        text=fake.sentence(),
+        status=('Closed' if i % 2 == 0 else 'Open'),
+        progress=random.random(),
+        icon=('BoxCheckmarkSolid' if random.random() > 0.5 else 'BoxMultiplySolid'),
+        notifications=('Off' if random.random() > 0.5 else 'On')) for i in range(100)
+]
+
+# Create columns for our issue table.
+columns = [
+    ui.table_column(name='text', label='Issue', searchable=True),
+    ui.table_column(name='status', label='Status'),
+    ui.table_column(name='notifications', label='Notifications'),
+    ui.table_column(name='done', label='Done', cell_type=ui.icon_table_cell_type()),
+    ui.table_column(name='views', label='Views'),
+    ui.table_column(name='progress', label='Progress', cell_type=ui.progress_table_cell_type()),
+]
+
+
+@app('/demo')
+async def serve(q: Q):
+    q.page['form'] = ui.form_card(box='1 1 -1 7', items=[
+        ui.table(
+            name='issues',
+            columns=columns,
+            rows=[ui.table_row(
+                name=issue.id,
+                cells=[issue.text, issue.status, issue.notifications, issue.icon, str(issue.views),
+                       str(issue.progress)]) for issue in issues],
+        )
+    ])
+    await q.page.save()
diff --git a/examples/table_select_multiple.py b/examples/table_select_multiple.py
new file mode 100644
index 0000000000000000000000000000000000000000..e804318bdd9fb522323f416cdf55663b33a1dc7d
--- /dev/null
+++ b/examples/table_select_multiple.py
@@ -0,0 +1,32 @@
+# Table / Preselection / Multiple
+# Use a #table as an advanced multi-select. To allow multiple #selection,
+# specify the pre-selected row names in 'values' or simply specify the `multiple=True`.
+# #table #selection
+# ---
+from h2o_wave import main, app, Q, ui
+
+@app('/demo')
+async def serve(q: Q):
+    if q.args.show_inputs:
+        q.page['example'].items = [
+            ui.text(f'selected={q.args.table}'),
+            ui.button(name='show_form', label='Back', primary=True),
+        ]
+    else:
+        q.page['example'] = ui.form_card(box='1 1 -1 5', items=[
+                ui.table(
+                    name='table',
+                    columns=[ui.table_column(name='text', label='Table multiple selection', min_width='300px')],
+                    rows=[
+                        ui.table_row(name='row1', cells=['Row 1']),
+                        ui.table_row(name='row2', cells=['Row 2']),
+                        ui.table_row(name='row3', cells=['Row 3']),
+                        ui.table_row(name='row4', cells=['Row 4']),
+                        ui.table_row(name='row5', cells=['Row 5'])
+                    ],
+                    values=['row2','row4'],
+                ),
+                ui.button(name='show_inputs', label='Submit', primary=True)
+            ])
+    await q.page.save()
+
diff --git a/examples/table_select_single.py b/examples/table_select_single.py
new file mode 100644
index 0000000000000000000000000000000000000000..7e37db40c73bf3eb5482f63e34d4e1913f59fc41
--- /dev/null
+++ b/examples/table_select_single.py
@@ -0,0 +1,32 @@
+# Table / Preselection / Single
+# Use a #table as an advanced single-select. To allow single #selection, 
+# specify the name of the row you want to pre-select in 'value' attribute 
+# or simply specify the `isSingle=True`.
+# #table #selection
+# ---
+from h2o_wave import main, app, Q, ui
+
+@app('/demo')
+async def serve(q: Q):
+    if q.args.show_inputs:
+        q.page['example'].items = [
+            ui.text(f'selected={q.args.table}'),
+            ui.button(name='show_form', label='Back', primary=True),
+        ]
+    else:
+        q.page['example'] = ui.form_card(box='1 1 -1 5', items=[
+                ui.table(
+                    name='table',
+                    columns=[ui.table_column(name='text', label='Table single selection', min_width='300px')],
+                    rows=[
+                        ui.table_row(name='row1', cells=['Row 1']),
+                        ui.table_row(name='row2', cells=['Row 2']),
+                        ui.table_row(name='row3', cells=['Row 3']),
+                        ui.table_row(name='row4', cells=['Row 4']),
+                        ui.table_row(name='row5', cells=['Row 5'])
+                    ],
+                    value='row2',
+                ),
+                ui.button(name='show_inputs', label='Submit', primary=True)
+            ])
+    await q.page.save()
diff --git a/examples/table_sort.py b/examples/table_sort.py
new file mode 100644
index 0000000000000000000000000000000000000000..42074549d8441d70752498ffaa3ea0728b9198b8
--- /dev/null
+++ b/examples/table_sort.py
@@ -0,0 +1,59 @@
+# Table / Sort
+# Allow sorting a #table by specific columns.
+# ---
+import random
+from faker import Faker
+from h2o_wave import main, app, Q, ui
+
+fake = Faker()
+
+_id = 0
+
+
+class Issue:
+    def __init__(self, text: str, status: str, progress: float, icon: str, notifications: str):
+        global _id
+        _id += 1
+        self.id = f'I{_id}'
+        self.text = text
+        self.status = status
+        self.views = 0
+        self.progress = progress
+        self.icon = icon
+        self.notifications = notifications
+
+
+# Create some issues
+issues = [
+    Issue(
+        text=fake.sentence(),
+        status=('Closed' if i % 2 == 0 else 'Open'),
+        progress=random.random(),
+        icon=('BoxCheckmarkSolid' if random.random() > 0.5 else 'BoxMultiplySolid'),
+        notifications=('Off' if random.random() > 0.5 else 'On')) for i in range(100)
+]
+
+# Create columns for our issue table.
+columns = [
+    ui.table_column(name='text', label='Issue', sortable=True, ),
+    ui.table_column(name='status', label='Status'),
+    ui.table_column(name='notifications', label='Notifications'),
+    ui.table_column(name='done', label='Done', cell_type=ui.icon_table_cell_type()),
+    ui.table_column(name='views', label='Views', sortable=True),
+    ui.table_column(name='progress', label='Progress', cell_type=ui.progress_table_cell_type()),
+]
+
+
+@app('/demo')
+async def serve(q: Q):
+    q.page['form'] = ui.form_card(box='1 1 -1 7', items=[
+        ui.table(
+            name='issues',
+            columns=columns,
+            rows=[ui.table_row(
+                name=issue.id,
+                cells=[issue.text, issue.status, issue.notifications, issue.icon, str(issue.views),
+                       str(issue.progress)]) for issue in issues],
+        )
+    ])
+    await q.page.save()
diff --git a/examples/table_tags.py b/examples/table_tags.py
new file mode 100644
index 0000000000000000000000000000000000000000..775cdb22670f7392fc423ffdd6668201e1272ae9
--- /dev/null
+++ b/examples/table_tags.py
@@ -0,0 +1,43 @@
+# Table / Tags
+# Use tags in order to emphasize a specific value. For multiple tags in a single row use `,` as a delimiter.
+# ---
+from faker import Faker
+from h2o_wave import main, app, Q, ui
+
+fake = Faker()
+
+_id = 0
+
+
+class Issue:
+    def __init__(self, text: str, tag: str):
+        global _id
+        _id += 1
+        self.id = f'I{_id}'
+        self.text = text
+        self.tag = tag
+
+
+# Create some issues
+issues = [Issue(text=fake.sentence(), tag=('FAIL' if i % 2 == 0 else 'DONE,SUCCESS')) for i in range(10)]
+
+columns = [
+    ui.table_column(name='text', label='Issue', min_width='400px'),
+    ui.table_column(name='tag', label='Badge', cell_type=ui.tag_table_cell_type(name='tags', tags=[
+        ui.tag(label='FAIL', color='$red'),
+        ui.tag(label='DONE', color='#D2E3F8', label_color='#053975'),
+        ui.tag(label='SUCCESS', color='$mint'),
+    ])),
+]
+
+
+@app('/demo')
+async def serve(q: Q):
+    q.page['example'] = ui.form_card(box='1 1 -1 -1', items=[
+        ui.table(
+            name='issues',
+            columns=columns,
+            rows=[ui.table_row(name=issue.id, cells=[issue.text, issue.tag]) for issue in issues],
+        )
+    ])
+    await q.page.save()
diff --git a/examples/tabs.py b/examples/tabs.py
new file mode 100644
index 0000000000000000000000000000000000000000..8edfd8f83532c3bfc880b2571fb4038a1770d399
--- /dev/null
+++ b/examples/tabs.py
@@ -0,0 +1,32 @@
+# Form / Tabs
+# Use #tabs within a #form to navigate between two or more distinct content categories.
+# #navigation
+# ---
+from h2o_wave import main, app, Q, ui
+
+tabs = [
+    ui.tab(name='email', label='Mail', icon='Mail'),
+    ui.tab(name='events', label='Events', icon='Calendar'),
+    ui.tab(name='spam', label='Spam'),
+]
+
+
+@app('/demo')
+async def serve(q: Q):
+    if q.args.menu:
+        q.page['example'].items = [
+            ui.tabs(name='menu', value=q.args.menu, items=tabs),
+            get_tab_content(q.args.menu),
+        ]
+    else:
+        q.page['example'] = ui.form_card(box='1 1 4 7', items=[
+            ui.tabs(name='menu', value='email', items=tabs),
+            get_tab_content('email'),
+        ])
+    await q.page.save()
+
+
+def get_tab_content(category: str):
+    # Return a checklist of dummy items.
+    items = [f'{category.title()} {i}' for i in range(1, 11)]
+    return ui.checklist(name='items', choices=[ui.choice(name=item, label=item) for item in items])
diff --git a/examples/tags.py b/examples/tags.py
new file mode 100644
index 0000000000000000000000000000000000000000..02478dc05c4ece39d21592f3b077716434d78012
--- /dev/null
+++ b/examples/tags.py
@@ -0,0 +1,20 @@
+# Tags
+# Display a set of tags in a row. Each tag consists of a box with text inside.
+# Can be used in different scenarios including highlighting a specific keyword or holding a numeric value with
+# different colors to indicate error, warning, or success.
+# ---
+from h2o_wave import site, ui
+
+page = site['/demo']
+
+page['example'] = ui.form_card(
+    box='1 1 2 2',
+    items=[
+        ui.tags([
+            ui.tag(color='#610404', label='Error'),
+            ui.tag(color='#7F6001', label='Warning'),
+            ui.tag(color='#054007', label='Success'),
+        ])
+    ])
+
+page.save()
diff --git a/examples/tall_article_preview.py b/examples/tall_article_preview.py
new file mode 100644
index 0000000000000000000000000000000000000000..e2f960e2ae178bb567c4d0983be8af30ad134166
--- /dev/null
+++ b/examples/tall_article_preview.py
@@ -0,0 +1,39 @@
+# Tall Article Preview
+# Create a tall article preview card if you intend to show a little preview
+# and allow user to click through to more content (specify 'name' attr).
+# ---
+from h2o_wave import main, app, Q, ui
+
+
+content = '''
+### Sub Header
+
+Nunc scelerisque tincidunt elit. Vestibulum non mi ipsum. Cras pretium suscipit tellus sit ametsa aliquet.
+'''
+
+
+@app('/demo')
+async def serve(q: Q):
+    if q.args.tall_article:
+        q.page['example'] = ui.form_card(box='1 1 4 6', items=[
+            ui.button(name='back', label='Go back', primary=True),
+        ])
+    else:
+        q.page['example'] = ui.tall_article_preview_card(
+            box='1 1 4 6',
+            title='Tall article preview',
+            subtitle='Click the card',
+            value='$19',
+            name='tall_article',
+            image='https://images.pexels.com/photos/3225517/pexels-photo-3225517.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=750&w=1260', # noqa
+            content=content,
+            items=[
+                ui.buttons(items=[
+                    ui.button(name='like', label='Like'),
+                    ui.button(name='comment', label='Comment'),
+                    ui.button(name='share', label='Share'),
+                ]),
+            ]
+        )
+
+    await q.page.save()
diff --git a/examples/tall_info.py b/examples/tall_info.py
new file mode 100644
index 0000000000000000000000000000000000000000..987733ae0e84ba5f9b30462b0ac4760c9a3e431d
--- /dev/null
+++ b/examples/tall_info.py
@@ -0,0 +1,24 @@
+# Info / Tall
+# Create a tall information card displaying a title, caption, and either an icon or image.
+# ---
+from h2o_wave import main, app, Q, ui
+
+
+@app('/demo')
+async def serve(q: Q):
+    if q.args.info_card:
+        q.page['example'] = ui.form_card(box='1 1 2 4', items=[
+            ui.button(name='back', label='Go back', primary=True),
+        ])
+    else:
+        q.page['example'] = ui.tall_info_card(
+            box='1 1 2 5',
+            name='info_card',
+            title='Info Card',
+            caption='Lorem ipsum dolor sit amet consectetur adipisicing elit.',
+            category='Category',
+            label='Click me',
+            image='https://images.pexels.com/photos/3225517/pexels-photo-3225517.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=750&w=1260',
+        )
+
+    await q.page.save()
diff --git a/examples/tall_stats.py b/examples/tall_stats.py
new file mode 100644
index 0000000000000000000000000000000000000000..b2a9381abb958c9b16e04cb506ee8dd66fc4b265
--- /dev/null
+++ b/examples/tall_stats.py
@@ -0,0 +1,17 @@
+# Tall stat
+# Create a vertical label-value pairs collection.
+# ---
+from h2o_wave import site, ui
+
+page = site['/demo']
+
+page.add('example', ui.tall_stats_card(
+    box='1 1 2 4',
+    items=[
+        ui.stat(label='PARAMETER NAME', value='125%'),
+        ui.stat(label='PARAMETER NAME', value='578 Users'),
+        ui.stat(label='PARAMETER NAME', value='25K')
+    ]
+))
+
+page.save()
diff --git a/examples/template.py b/examples/template.py
new file mode 100644
index 0000000000000000000000000000000000000000..2ad00f738c203985716127ab4906db1d9cbfd239
--- /dev/null
+++ b/examples/template.py
@@ -0,0 +1,27 @@
+# Template
+# Use a #template card to render dynamic content using a #HTML template.
+# ---
+from h2o_wave import site, pack, ui
+
+page = site['/demo']
+page.drop()
+
+menu = '''
+<ol>
+{{#each dishes}}
+<li><strong>{{name}}</strong> costs {{price}}</li>
+{{/each}}
+</ol
+'''
+
+c = page.add('template_example', ui.template_card(
+    box='1 1 2 2',
+    title='Menu',
+    content=menu,
+    data=pack(dict(dishes=[
+        dict(name='Spam', price='$2.00'),
+        dict(name='Ham', price='$3.45'),
+        dict(name='Eggs', price='$1.75'),
+    ])),
+))
+page.save()
diff --git a/examples/template_data.py b/examples/template_data.py
new file mode 100644
index 0000000000000000000000000000000000000000..78cc24a974334496865461a77c29598c15c96f14
--- /dev/null
+++ b/examples/template_data.py
@@ -0,0 +1,42 @@
+# Template / Data
+# Update a #template card's data periodically.
+# ---
+import time
+import random
+from h2o_wave import site, ui
+
+page = site['/demo']
+page.drop()
+
+menu = '''
+<ol>
+{{#each dishes}}
+<li><strong>{{name}}</strong> costs {{price}}</li>
+{{/each}}
+</ol
+'''
+
+menu_card = page.add('template_example', ui.template_card(
+    box='1 1 2 2',
+    title='Surge-priced Menu',
+    content=menu,
+    data=dict(dishes=[
+        dict(name='Spam', price='$2.00'),
+        dict(name='Ham', price='$3.45'),
+        dict(name='Eggs', price='$1.75'),
+    ]),
+))
+page.save()
+
+
+def rand_price():
+    return f'${random.randrange(0, 4)}.{random.randrange(10, 99)}'
+
+
+dishes = menu_card.data.dishes
+for i in range(98, 2, -1):
+    time.sleep(1)
+    dishes[0].price = rand_price()
+    dishes[1].price = rand_price()
+    dishes[2].price = rand_price()
+    page.save()
diff --git a/examples/text.py b/examples/text.py
new file mode 100644
index 0000000000000000000000000000000000000000..037ef5c39baa31639f680fcec980b04dbdb77e90
--- /dev/null
+++ b/examples/text.py
@@ -0,0 +1,48 @@
+# Form / Text
+# Use #markdown in a #text component to display formatted content within a #form.
+# ---
+from h2o_wave import site, ui
+
+page = site['/demo']
+
+sample_markdown = '''
+The **quick** _brown_ fox jumped over the lazy dog.
+
+Block quote:
+
+> The quick brown fox jumped over the lazy dog.
+
+Unordered list:
+
+- The quick brown fox jumped over the lazy dog.
+- The quick brown fox jumped over the lazy dog.
+- The quick brown fox jumped over the lazy dog.
+
+Ordered list:
+
+1. The quick brown fox jumped over the lazy dog.
+1. The quick brown fox jumped over the lazy dog.
+1. The quick brown fox jumped over the lazy dog.
+
+Image:
+
+![Monty Python](https://upload.wikimedia.org/wikipedia/en/c/cb/Flyingcircus_2.jpg)
+
+Links:
+
+Here's a [link to an image](https://upload.wikimedia.org/wikipedia/en/c/cb/Flyingcircus_2.jpg).
+
+Table:
+
+| Column 1 | Column 2 | Column 3 |
+| -------- | -------- | -------- |
+| Item 1   | Item 2   | Item 3   |
+| Item 1   | Item 2   | Item 3   |
+| Item 1   | Item 2   | Item 3   |
+'''
+
+page['example'] = ui.form_card(
+    box='1 1 4 10',
+    items=[ui.text(sample_markdown)]
+)
+page.save()
diff --git a/examples/text_annotator.py b/examples/text_annotator.py
new file mode 100644
index 0000000000000000000000000000000000000000..16383f41792a91758252d1acefa348dc6a97b75f
--- /dev/null
+++ b/examples/text_annotator.py
@@ -0,0 +1,35 @@
+# Form / TextAnnotator
+# Use text annotator when you need to highlight text phrases.
+# #form #annotator
+# ---
+from h2o_wave import main, app, Q, ui
+
+
+@app('/demo')
+async def serve(q: Q):
+    if q.args.annotator:
+        q.page['example'].items = [
+            ui.text(f'annotator={q.args.annotator}'),
+            ui.button(name='show_form', label='Back', primary=True),
+        ]
+    else:
+        q.page['example'] = ui.form_card(box='1 1 4 7', items=[
+            ui.text_annotator(
+                name='annotator',
+                title='Select text to annotate',
+                tags=[
+                    ui.text_annotator_tag(name='p', label='Person', color='#F1CBCB'),
+                    ui.text_annotator_tag(name='o', label='Org', color='#CAEACA'),
+                ],
+                items=[
+                    ui.text_annotator_item(text='Killer Mike', tag='p'),
+                    ui.text_annotator_item(text=' is a member of the hip hop supergroup '),  # no tag
+                    ui.text_annotator_item(text='Run the Jewels', tag='o'),
+                    ui.text_annotator_item(text='.\nIt is also known by the initials '),
+                    ui.text_annotator_item(text='RTJ', tag='o'),
+                    ui.text_annotator_item(text='.')
+                ],
+            ),
+            ui.button(name='submit', label='Submit', primary=True)
+        ])
+    await q.page.save()
diff --git a/examples/text_sizes.py b/examples/text_sizes.py
new file mode 100644
index 0000000000000000000000000000000000000000..2fbc1a69cee17678ac8d7e832d2123a5bea35e54
--- /dev/null
+++ b/examples/text_sizes.py
@@ -0,0 +1,30 @@
+# Form / Text / Sizes
+# Use #text size variants to display formatted text using predefined font sizes.
+# #form
+# ---
+from h2o_wave import site, ui
+
+page = site['/demo']
+
+page['example'] = ui.form_card(
+    box='1 1 4 7',
+    items=[
+        ui.separator('Separator'),
+        ui.text_xl('Extra large text'),
+        ui.text_l('Large text'),
+        ui.text('Normal text'),
+        ui.text_m('Medium text'),
+        ui.text_s('Small text'),
+        ui.text_xs('Extra small text'),
+
+        # Using `ui.text()` with a `size` argument produces similar results:
+        ui.separator('Separator'),
+        ui.text('Extra large text', size=ui.TextSize.XL),
+        ui.text('Large text', size=ui.TextSize.L),
+        ui.text('Normal text'),
+        ui.text('Medium text', size=ui.TextSize.M),
+        ui.text('Small text', size=ui.TextSize.S),
+        ui.text('Extra small text', size=ui.TextSize.XS),
+    ],
+)
+page.save()
diff --git a/examples/textbox.py b/examples/textbox.py
new file mode 100644
index 0000000000000000000000000000000000000000..39c29bdee321e568ee2811b5c1e198351362ea3f
--- /dev/null
+++ b/examples/textbox.py
@@ -0,0 +1,45 @@
+# Form / Textbox
+# Use a #textbox to allow users to provide text inputs.
+# #form
+# ---
+from h2o_wave import main, app, Q, ui
+
+
+@app('/demo')
+async def serve(q: Q):
+    if q.args.show_inputs:
+        q.page['example'].items = [
+            ui.text(f'textbox={q.args.textbox}'),
+            ui.text(f'textbox_disabled={q.args.textbox_disabled}'),
+            ui.text(f'textbox_readonly={q.args.textbox_readonly}'),
+            ui.text(f'textbox_required={q.args.textbox_required}'),
+            ui.text(f'textbox_error={q.args.textbox_error}'),
+            ui.text(f'textbox_mask={q.args.textbox_mask}'),
+            ui.text(f'textbox_icon={q.args.textbox_icon}'),
+            ui.text(f'textbox_prefix={q.args.textbox_prefix}'),
+            ui.text(f'textbox_suffix={q.args.textbox_suffix}'),
+            ui.text(f'textbox_placeholder={q.args.textbox_placeholder}'),
+            ui.text(f'textbox_disabled_placeholder={q.args.textbox_disabled_placeholder}'),
+            ui.text(f'textbox_multiline={q.args.textbox_multiline}'),
+            ui.text(f'textbox_spellcheck_disabled={q.args.textbox_spellcheck_disabled}'),
+            ui.button(name='show_form', label='Back', primary=True),
+        ]
+    else:
+        q.page['example'] = ui.form_card(box='1 1 -1 -1', items=[
+            ui.textbox(name='textbox', label='Standard'),
+            ui.textbox(name='textbox_disabled', label='Disabled', value='I am disabled', disabled=True),
+            ui.textbox(name='textbox_readonly', label='Read-only', value='I am read-only', readonly=True),
+            ui.textbox(name='textbox_required', label='Required', required=True),
+            ui.textbox(name='textbox_error', label='With error message', error='I have an error'),
+            ui.textbox(name='textbox_mask', label='With input mask', mask='(999) 999 - 9999'),
+            ui.textbox(name='textbox_icon', label='With icon', icon='Calendar'),
+            ui.textbox(name='textbox_prefix', label='With prefix', prefix='http://'),
+            ui.textbox(name='textbox_suffix', label='With suffix', suffix='@h2o.ai'),
+            ui.textbox(name='textbox_placeholder', label='With placeholder', placeholder='I need some input'),
+            ui.textbox(name='textbox_disabled_placeholder', label='Disabled with placeholder', disabled=True,
+                       placeholder='I am disabled'),
+            ui.textbox(name='textbox_multiline', label='Multiline textarea', multiline=True),
+            ui.textbox(name='textbox_spellcheck_disabled', label='Spellcheck disabled', spellcheck=False),
+            ui.button(name='show_inputs', label='Submit', primary=True),
+        ])
+    await q.page.save()
diff --git a/examples/textbox_trigger.py b/examples/textbox_trigger.py
new file mode 100644
index 0000000000000000000000000000000000000000..47c7f1eba7d8cef700bd01fdc8394cbd21cacaa8
--- /dev/null
+++ b/examples/textbox_trigger.py
@@ -0,0 +1,40 @@
+# Form / Textbox / Trigger
+# To handle live changes to a #textbox, enable the `trigger` attribute.
+# #form #trigger
+# ---
+from typing import Optional
+from h2o_wave import main, app, Q, ui
+
+
+def to_pig_latin(text: Optional[str]):
+    if not text:
+        return '*Type in some text above to translate to Pig Latin!*'
+    words = text.lower().strip().split(' ')
+    texts = []
+    for word in words:
+        if word[0] in 'aeiou':
+            texts.append(f'{word}yay')
+        else:
+            for letter in word:
+                if letter in 'aeiou':
+                    texts.append(f'{word[word.index(letter):]}{word[:word.index(letter)]}ay')
+                    break
+    return ' '.join(texts)
+
+
+def get_form_items(txt: Optional[str]):
+    return [
+        ui.textbox(name='text', label='English', multiline=True, trigger=True),
+        ui.label('Pig Latin'),
+        ui.text(to_pig_latin(txt)),
+    ]
+
+
+@app('/demo')
+async def serve(q: Q):
+    if not q.client.initialized:
+        q.page['example'] = ui.form_card(box='1 1 4 7', items=get_form_items(None))
+        q.client.initialized = True
+    if q.args.text is not None:
+        q.page['example'].items = get_form_items(q.args.text)
+    await q.page.save()
diff --git a/examples/theme_generator.py b/examples/theme_generator.py
new file mode 100644
index 0000000000000000000000000000000000000000..9db081e701c3f5c56138987af400cbf331f8b9a1
--- /dev/null
+++ b/examples/theme_generator.py
@@ -0,0 +1,210 @@
+# Theme generator
+# Use theme generator to quickly generate custom color schemes for your app.
+# #theme_generator
+# ---
+from typing import Tuple
+from h2o_wave import main, app, Q, ui, data
+
+from pygments import highlight
+from pygments.formatters.html import HtmlFormatter
+from pygments.lexers import get_lexer_by_name
+from pygments.style import Style
+from pygments.token import Name, String, Operator, Punctuation
+
+import math
+
+py_lexer = get_lexer_by_name('python')
+
+
+def to_grayscale(color: float) -> float:
+    color /= 255
+    return color / 12.92 if color <= 0.03928 else math.pow((color + 0.055) / 1.055, 2.4)
+
+
+def get_luminance(r: float, g: float, b: float) -> float:
+    return to_grayscale(r) * 0.2126 + to_grayscale(g) * 0.7152 + to_grayscale(b) * 0.0722
+
+
+# Source: https://www.delftstack.com/howto/python/python-hex-to-rgb/.
+def hex_to_rgb(hex_color: str) -> Tuple[int, ...]:
+    if len(hex_color) == 3:
+        hex_color = f'{hex_color[0]}{hex_color[0]}{hex_color[1]}{hex_color[1]}{hex_color[2]}{hex_color[2]}'
+    return tuple(int(hex_color[i:i + 2], 16) for i in (0, 2, 4))
+
+
+# Source: https://stackoverflow.com/questions/9733288/how-to-programmatically-calculate-the-contrast-ratio-between-two-colors. # noqa
+def update_contrast_check(color1: str, color2: str, q:Q, min_contrast=4.5):
+    rgb1 = hex_to_rgb(q.client[color1].lstrip('#'))
+    rgb2 = hex_to_rgb(q.client[color2].lstrip('#'))
+    lum1 = get_luminance(rgb1[0], rgb1[1], rgb1[2])
+    lum2 = get_luminance(rgb2[0], rgb2[1], rgb2[2])
+    brightest = max(lum1, lum2)
+    darkest = min(lum1, lum2)
+    contrast = (brightest + 0.05) / (darkest + 0.05)
+    if contrast < min_contrast:
+        q.page['form'][f'{color1}_{color2}'].type = 'error'
+        q.page['form'][f'{color1}_{color2}'].text = f'Improve contrast between **{color1}** and **{color2}**.'
+    else:
+        q.page['form'][f'{color1}_{color2}'].type = 'success'
+        q.page['form'][f'{color1}_{color2}'].text = f'Contrast between **{color1}** and **{color2}** is great!'
+
+
+def get_theme_code(q: Q):
+    contents = f'''
+ui.theme(
+    name='<theme-name>',
+    primary='{q.client.primary}',
+    text='{q.client.text}',
+    card='{q.client.card}',
+    page='{q.client.page}',
+)
+'''
+
+    # Reference: http://svn.python.org/projects/external/Pygments-0.10/docs/build/styles.html
+    class CustomStyle(Style):
+        styles = {
+            Name: q.client.text,
+            Operator: q.client.text,
+            Punctuation: q.client.text,
+            String: q.client.primary
+        }
+
+    html_formatter = HtmlFormatter(full=True, style=CustomStyle, nobackground=True)
+    html = highlight(contents, py_lexer, html_formatter)
+    html = html.replace('<h2></h2>', '')
+    html = html.replace('<body>', '<body style="margin: 0 inherit">')
+    html = html.replace('<pre>', '<pre style="margin: 0">')
+    return html
+
+
+@app('/demo')
+async def serve(q: Q):
+    if not q.client.initialized:
+        image = 'https://images.pexels.com/photos/220453/pexels-photo-220453.jpeg?auto=compress&h=750&w=1260'
+        q.client.primary = '#000000'
+        q.client.page = '#e2e2e2'
+        q.client.card = '#ffffff'
+        q.client.text = '#000000'
+        q.page['meta'] = ui.meta_card(box='', theme='custom', layouts=[
+            ui.layout(
+                breakpoint='xs',
+                zones=[
+                    ui.zone('header'),
+                    ui.zone('content', direction=ui.ZoneDirection.ROW, zones=[
+                        ui.zone('colors', size='400px'),
+                        ui.zone('preview')
+                    ]),
+                    ui.zone('footer')
+                ]
+            )
+        ])
+        q.page['header'] = ui.header_card(box='header', title='Theme generator', subtitle='Color your app easily',
+                                          icon='Color', icon_color='$card')
+        q.page['form'] = ui.form_card(box='colors', items=[
+            ui.color_picker(name='primary', label='Primary', trigger=True, alpha=False, inline=True, value=q.client.primary),
+            ui.color_picker(name='text', label='Text', trigger=True, alpha=False, inline=True, value=q.client.text),
+            ui.color_picker(name='card', label='Card', trigger=True, alpha=False, inline=True, value=q.client.card),
+            ui.color_picker(name='page', label='Page', trigger=True, alpha=False, inline=True, value=q.client.page),
+            ui.text_xl('Check contrast'),
+            ui.message_bar(name='text_card', type='success', text='Contrast between **text** and **card** is great!'),
+            ui.message_bar(name='card_primary', type='success', text='Contrast between **card** and **primary** is great!'),
+            ui.message_bar(name='text_page', type='success', text='Contrast between **text** and **page** is great!'),
+            ui.message_bar(name='page_primary', type='success', text='Contrast between **page** and **primary** is great!'),
+            ui.text_xl('Copy code'),
+            ui.frame(name='frame', content=get_theme_code(q), height='180px'),
+        ])
+        q.page['sample'] = ui.form_card(box='preview', items=[
+            ui.text_xl(content='Sample App to show colors'),
+            ui.progress(label='A progress bar'),
+            ui.inline([
+                ui.checkbox(name='checkbox1', label='A checkbox', value=True),
+                ui.checkbox(name='checkbox2', label='Another checkbox'),
+                ui.checkbox(name='checkbox3', label='Yet another checkbox'),
+                ui.toggle(name='toggle', label='Toggle', value=True),
+            ]),
+            ui.inline([
+                ui.date_picker(name='date_picker', label='Date picker'),
+                ui.picker(name='picker', label='Picker', choices=[
+                    ui.choice('choice1', label='Choice 1'),
+                    ui.choice('choice2', label='Choice 2'),
+                    ui.choice('choice3', label='Choice 3'),
+                ]),
+                ui.combobox(name='combobox', label='Combobox', choices=['Choice 1', 'Choice 2', 'Choice 3']),
+                ui.persona(title='John Doe', subtitle='Data Scientist', size='s', image=image),
+            ]),
+            ui.slider(name='slider', label='Slider', value=70),
+            ui.link(label='Link'),
+            ui.inline(justify='between', items=[
+                ui.stepper(name='stepper', width='500px', items=[
+                    ui.step(label='Step 1', icon='MailLowImportance'),
+                    ui.step(label='Step 2', icon='TaskManagerMirrored'),
+                    ui.step(label='Step 3', icon='Cafe'),
+                ]),
+                ui.tabs(name='menu', value='email', items=[
+                    ui.tab(name='email', label='Mail', icon='Mail'),
+                    ui.tab(name='events', label='Events', icon='Calendar'),
+                    ui.tab(name='spam', label='Spam'),
+                ]),
+            ]),
+            ui.inline(items=[
+                ui.table(
+                    name='table',
+                    width='50%',
+                    columns=[
+                        ui.table_column(name='name', label='Name', min_width='80px'),
+                        ui.table_column(name='surname', label='Surname', filterable=True),
+                        ui.table_column(name='age', label='Age', sortable=True, max_width='80px'),
+                        ui.table_column(name='progress', label='Progress',
+                                        cell_type=ui.progress_table_cell_type(color='$themePrimary')),
+                    ],
+                    rows=[
+                        ui.table_row(name='row1', cells=['John', 'Doe', '25', '0.90']),
+                        ui.table_row(name='row2', cells=['Ann', 'Doe', '35', '0.75']),
+                        ui.table_row(name='row3', cells=['Casey', 'Smith', '40', '0.33']),
+                    ],
+                    height='330px',
+                ),
+                ui.visualization(
+                    width='50%',
+                    data=data('profession salary', 5, rows=[
+                        ('medicine', 23000),
+                        ('fire fighting', 18000),
+                        ('pedagogy', 24000),
+                        ('psychology', 22500),
+                        ('computer science', 36000),
+                    ], pack=True),
+                    plot=ui.plot([ui.mark(type='interval', x='=profession', y='=salary', y_min=0)])
+                ),
+            ]),
+            ui.buttons([
+                ui.button(name='primary_button', label='Primary', primary=True),
+                ui.button(name='standard_button', label='Standard'),
+                ui.button(name='standard_disabled_button', label='Disabled', disabled=True),
+                ui.button(name='icon_button', icon='Heart', caption='Tooltip text'),
+            ]),
+        ])
+        q.page['footer'] = ui.footer_card(box='footer', caption='(c) 2021 H2O.ai. All rights reserved.')
+        q.client.themes = [ui.theme(name='custom', text=q.client.text, card=q.client.card,
+                                    page=q.client.page, primary=q.client.primary)]
+        q.client.initialized = True
+
+    if q.args.primary:
+        q.client.themes[0].primary = q.args.primary
+        q.client.primary = q.args.primary
+    if q.args.text:
+        q.client.themes[0].text = q.args.text
+        q.client.text = q.args.text
+    if q.args.card:
+        q.client.themes[0].card = q.args.card
+        q.client.card = q.args.card
+    if q.args.page:
+        q.client.themes[0].page = q.args.page
+        q.client.page = q.args.page
+
+    q.page['meta'].themes = q.client.themes
+    update_contrast_check('text', 'card', q)
+    update_contrast_check('card', 'primary', q)
+    update_contrast_check('text', 'page', q)
+    update_contrast_check('page', 'primary', q)
+    q.page['form'].frame.content = get_theme_code(q)
+    await q.page.save()
diff --git a/examples/time_picker.py b/examples/time_picker.py
new file mode 100644
index 0000000000000000000000000000000000000000..c91436214aff47a34c9db51709615c8d8956dd15
--- /dev/null
+++ b/examples/time_picker.py
@@ -0,0 +1,32 @@
+# Form / TimePicker
+# Use time pickers to allow users to pick times.
+# #form #timepicker
+# ---
+from h2o_wave import main, app, Q, ui
+
+
+@app('/demo')
+async def serve(q: Q):
+    if q.args.show_inputs:
+        q.page['example'].items = [
+            ui.text(f'timepicker={q.args.timepicker}'),
+            ui.text(f'timepicker_required={q.args.timepicker_required}'),
+            ui.text(f'timepicker_disabled={q.args.timepicker_disabled}'),
+            ui.text(f'timepicker_placeholder={q.args.timepicker_placeholder}'),
+            ui.text(f'timepicker_h24={q.args.timepicker_h24}'),
+            ui.text(f'timepicker_boundaries={q.args.timepicker_boundaries}'),
+            ui.text(f'timepicker_step={q.args.timepicker_step}'),
+            ui.button(name='show_form', label='Back', primary=True),
+        ]
+    else:
+        q.page['example'] = ui.form_card(box='1 1 4 8', items=[
+            ui.time_picker(name='timepicker', label="Standard time picker"),
+            ui.time_picker(name='timepicker_required', label="Time picker - required", required=True),
+            ui.time_picker(name='timepicker_disabled', label="Disabled time picker", value='11:15', disabled=True),
+            ui.time_picker(name='timepicker_placeholder', label="Time picker with custom placeholder", placeholder='Select a time'),
+            ui.time_picker(name='timepicker_h24', label="Time picker with 24 hour time format", hour_format='24', value="18:35"),
+            ui.time_picker(name='timepicker_boundaries', label="Time picker with boundaries", min='10:00', max='18:00', value='13:36'),
+            ui.time_picker(name='timepicker_step', label="Time picker with minutes step", minutes_step=10),
+            ui.button(name='show_inputs', label='Submit', primary=True),
+        ])
+    await q.page.save()
diff --git a/examples/todo.py b/examples/todo.py
new file mode 100644
index 0000000000000000000000000000000000000000..fbe323dcdecf3e3e012b433e39dab56cd34ac6b8
--- /dev/null
+++ b/examples/todo.py
@@ -0,0 +1,76 @@
+# To-do List App
+# A simple multi-user To-do list application.
+# ---
+from h2o_wave import main, app, Q, ui
+from typing import List
+
+_id = 0
+
+
+# A simple class that represents a to-do item.
+class TodoItem:
+    def __init__(self, label):
+        global _id
+        _id += 1
+        self.id = f'todo_{_id}'
+        self.done = False
+        self.label = label
+
+
+@app('/demo')
+async def serve(q: Q):
+    if q.args.new_todo:  # Display an input form.
+        await new_todo(q)
+    elif q.args.add_todo:  # Add an item.
+        await add_todo(q)
+    else:  # Show all items.
+        await show_todos(q)
+
+
+async def show_todos(q: Q):
+    # Get items for this user.
+    todos: List[TodoItem] = q.user.todos
+
+    # Create a sample list if we don't have any.
+    if todos is None:
+        q.user.todos = todos = [TodoItem('Do this'), TodoItem('Do that'), TodoItem('Do something else')]
+
+    # If the user checked/unchecked an item, update our list.
+    for todo in todos:
+        if todo.id in q.args:
+            todo.done = q.args[todo.id]
+
+    # Create done/not-done checkboxes.
+    done = [ui.checkbox(name=todo.id, label=todo.label, value=True, trigger=True) for todo in todos if todo.done]
+    not_done = [ui.checkbox(name=todo.id, label=todo.label, trigger=True) for todo in todos if not todo.done]
+
+    # Display list
+    q.page['form'] = ui.form_card(box='1 1 4 3', items=[
+        ui.text_l('To Do'),
+        ui.button(name='new_todo', label='Add To Do...', primary=True),
+        *not_done,
+        *([ui.separator('Done')] if len(done) else []),
+        *done,
+    ])
+    await q.page.save()
+
+
+async def add_todo(q: Q):
+    # Insert a new item
+    q.user.todos.insert(0, TodoItem(q.args.label or 'Untitled'))
+
+    # Go back to our list.
+    await show_todos(q)
+
+
+async def new_todo(q: Q):
+    # Display an input form
+    q.page['form'] = ui.form_card(box='1 1 4 3', items=[
+        ui.text_l('Add To Do'),
+        ui.textbox(name='label', label='What needs to be done?', multiline=True),
+        ui.buttons([
+            ui.button(name='add_todo', label='Add', primary=True),
+            ui.button(name='show_todos', label='Back'),
+        ]),
+    ])
+    await q.page.save()
diff --git a/examples/toggle.py b/examples/toggle.py
new file mode 100644
index 0000000000000000000000000000000000000000..376f2d9ab8ec300698e635f95d8627a0152384d9
--- /dev/null
+++ b/examples/toggle.py
@@ -0,0 +1,26 @@
+# Form / Toggle
+# Use a #toggle to present users with two mutually exclusive options (to turn settings on and off).
+# #form
+# ---
+from h2o_wave import main, app, Q, ui
+
+
+@app('/demo')
+async def serve(q: Q):
+    if q.args.show_inputs:
+        q.page['example'].items = [
+            ui.text(f'toggle_unchecked={q.args.toggle_unchecked}'),
+            ui.text(f'toggle_checked={q.args.toggle_checked}'),
+            ui.text(f'toggle_unchecked_disabled={q.args.toggle_unchecked_disabled}'),
+            ui.text(f'toggle_checked_disabled={q.args.toggle_checked_disabled}'),
+            ui.button(name='show_form', label='Back', primary=True),
+        ]
+    else:
+        q.page['example'] = ui.form_card(box='1 1 4 5', items=[
+            ui.toggle(name='toggle_unchecked', label='Not checked'),
+            ui.toggle(name='toggle_checked', label='Checked', value=True),
+            ui.toggle(name='toggle_unchecked_disabled', label='Not checked (Disabled)', disabled=True),
+            ui.toggle(name='toggle_checked_disabled', label='Checked (Disabled)', value=True, disabled=True),
+            ui.button(name='show_inputs', label='Submit', primary=True),
+        ])
+    await q.page.save()
diff --git a/examples/toolbar.py b/examples/toolbar.py
new file mode 100644
index 0000000000000000000000000000000000000000..b9ea257526e7e979fbb40233c880b089f2cdfef3
--- /dev/null
+++ b/examples/toolbar.py
@@ -0,0 +1,33 @@
+# Toolbar
+# Use toolbars to provide commands that operate on the content of a page.
+# #toolbar #command
+# ---
+from h2o_wave import main, app, Q, ui
+
+
+@app('/demo')
+async def serve(q: Q):
+    q.page['nav'] = ui.toolbar_card(
+        box='1 1 4 1',
+        items=[
+            ui.command(
+                name='new', label='New', icon='Add', items=[
+                    ui.command(name='email', label='Email Message', icon='Mail'),
+                    ui.command(name='calendar', label='Calendar Event', icon='Calendar'),
+                ]
+            ),
+            ui.command(name='upload', label='Upload', icon='Upload'),
+            ui.command(name='share', label='Share', icon='Share'),
+            ui.command(name='download', label='Download', icon='Download'),
+        ],
+        secondary_items=[
+            ui.command(name='tile', caption='Grid View', icon='Tiles'),
+            ui.command(name='info', caption='Info', icon='Info'),
+        ],
+        overflow_items=[
+            ui.command(name='move', label='Move to...', icon='MoveToFolder'),
+            ui.command(name='copy', label='Copy to...', icon='Copy'),
+            ui.command(name='rename', label='Rename', icon='Edit'),
+        ],
+    )
+    await q.page.save()
diff --git a/examples/toolbar_routing.py b/examples/toolbar_routing.py
new file mode 100644
index 0000000000000000000000000000000000000000..2b8727f69290ceb9aa11bc9e4a3df5761aafd31d
--- /dev/null
+++ b/examples/toolbar_routing.py
@@ -0,0 +1,40 @@
+# Routing / Toolbar
+# This example demonstrates how you can observe and handle changes to the browser's
+# [location hash](https://developer.mozilla.org/en-US/docs/Web/API/Location/hash).
+#
+# The location hash can be accessed using `q.args['#']`.
+# #routing #toolbar
+# ---
+from h2o_wave import main, app, Q, ui
+
+
+@app('/demo')
+async def serve(q: Q):
+    if not q.client.initialized:
+        q.page['nav'] = ui.toolbar_card(
+            box='1 1 4 1',
+            items=[
+                ui.command(name='#menu/spam', label='Spam'),
+                ui.command(name='#menu/ham', label='Ham'),
+                ui.command(name='#menu/eggs', label='Eggs'),
+                ui.command(name='#about', label='About'),
+            ],
+        )
+        q.page['blurb'] = ui.markdown_card(
+            box='1 2 4 2',
+            title='Store',
+            content='Welcome to our store!',
+        )
+        q.client.initialized = True
+    hash = q.args['#']
+    if hash:
+        blurb = q.page['blurb']
+        if hash == 'menu/spam':
+            blurb.content = "Sorry, we're out of spam!"
+        elif hash == 'menu/ham':
+            blurb.content = "Sorry, we're out of ham!"
+        elif hash == 'menu/eggs':
+            blurb.content = "Sorry, we're out of eggs!"
+        elif hash == 'about':
+            blurb.content = 'Everything here is gluten-free!'
+    await q.page.save()
diff --git a/examples/tour-assets/h2o-logo.svg b/examples/tour-assets/h2o-logo.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d6b04435700ffae6284031d15b2220ea53bdce7f
--- /dev/null
+++ b/examples/tour-assets/h2o-logo.svg
@@ -0,0 +1 @@
+<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="600.28" height="600.28" viewBox="0 0 600.28 600.28"><defs><style>.cls-1{fill:#fec925;}.cls-2{fill:#161616;}.cls-3{fill:#54585a;}</style></defs><g id="Fill-1"><rect class="cls-1" width="600.28" height="600.28" rx="23.24"/></g><path class="cls-2" d="M174.33,246.06v92.78H152.86v-38H110.71v38H89.24V246.06h21.47v36.58h42.15V246.06Z"/><path class="cls-2" d="M259.81,321.34v17.5H189.7V324.92l35.78-33.8c8.22-7.82,9.68-12.59,9.68-17.09,0-7.29-5-11.53-14.85-11.53-7.95,0-14.71,3-19.21,9.27L185.46,261.7c7.15-10.47,20.14-17.23,36.84-17.23,20.68,0,34.46,10.6,34.46,27.44,0,9-2.52,17.22-15.51,29.29l-21.33,20.14Z"/><path class="cls-2" d="M268.69,292.45c0-27.57,21.47-48,50.76-48s50.76,20.28,50.76,48-21.6,48-50.76,48S268.69,320,268.69,292.45Zm79.78,0c0-17.63-12.46-29.69-29-29.69s-29,12.06-29,29.69,12.46,29.69,29,29.69S348.47,310.08,348.47,292.45Z"/><path class="cls-3" d="M377.23,326.91c0-7.69,5.7-12.73,12.85-12.73s12.86,5,12.86,12.73a12.86,12.86,0,1,1-25.71,0Z"/><path class="cls-3" d="M481.4,298.15v40.69H462.05V330c-3.84,6.49-11.27,9.94-21.74,9.94-16.7,0-26.64-9.28-26.64-21.61,0-12.59,8.88-21.34,30.62-21.34h16.43c0-8.87-5.3-14-16.43-14-7.55,0-15.37,2.51-20.54,6.62l-7.43-14.44c7.82-5.57,19.35-8.62,30.75-8.62C468.81,266.47,481.4,276.54,481.4,298.15Zm-20.68,18.16V309H446.54c-9.67,0-12.72,3.57-12.72,8.35,0,5.16,4.37,8.61,11.66,8.61C452.37,326,458.34,322.8,460.72,316.31Z"/><path class="cls-3" d="M497.56,246.06c0-6.49,5.17-11.53,12.86-11.53s12.86,4.77,12.86,11.13c0,6.89-5.17,11.93-12.86,11.93S497.56,252.55,497.56,246.06Zm2.52,21.47h20.68v71.31H500.08Z"/></svg>
\ No newline at end of file
diff --git a/examples/tour-assets/loader.min.js b/examples/tour-assets/loader.min.js
new file mode 100644
index 0000000000000000000000000000000000000000..ab03d505e7f4fe9c5722a0a71c4ebb93809de34e
--- /dev/null
+++ b/examples/tour-assets/loader.min.js
@@ -0,0 +1,4 @@
+"use strict";var define,AMDLoader,_amdLoaderGlobal=this,_commonjsGlobal="object"==typeof global?global:{};!function(e){e.global=_amdLoaderGlobal;var t=(Object.defineProperty(r.prototype,"isWindows",{get:function(){return this._detect(),this._isWindows},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"isNode",{get:function(){return this._detect(),this._isNode},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"isElectronRenderer",{get:function(){return this._detect(),this._isElectronRenderer},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"isWebWorker",{get:function(){return this._detect(),this._isWebWorker},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"isElectronNodeIntegrationWebWorker",{get:function(){return this._detect(),this._isElectronNodeIntegrationWebWorker},enumerable:!1,configurable:!0}),r.prototype._detect=function(){this._detected||(this._detected=!0,this._isWindows=r._isWindows(),this._isNode="undefined"!=typeof module&&!!module.exports,this._isElectronRenderer="undefined"!=typeof process&&void 0!==process.versions&&void 0!==process.versions.electron&&"renderer"===process.type,this._isWebWorker="function"==typeof e.global.importScripts,this._isElectronNodeIntegrationWebWorker=this._isWebWorker&&"undefined"!=typeof process&&void 0!==process.versions&&void 0!==process.versions.electron&&"worker"===process.type)},r._isWindows=function(){return!!("undefined"!=typeof navigator&&navigator.userAgent&&0<=navigator.userAgent.indexOf("Windows"))||"undefined"!=typeof process&&"win32"===process.platform},r);function r(){this._detected=!1,this._isWindows=!1,this._isNode=!1,this._isElectronRenderer=!1,this._isWebWorker=!1,this._isElectronNodeIntegrationWebWorker=!1}e.Environment=t}(AMDLoader=AMDLoader||{}),function(r){var n=function(e,t,r){this.type=e,this.detail=t,this.timestamp=r};r.LoaderEvent=n;var e=(t.prototype.record=function(e,t){this._events.push(new n(e,t,r.Utilities.getHighPerformanceTimestamp()))},t.prototype.getEvents=function(){return this._events},t);function t(e){this._events=[new n(1,"",e)]}r.LoaderEventRecorder=e;o.prototype.record=function(e,t){},o.prototype.getEvents=function(){return[]},o.INSTANCE=new o,e=o;function o(){}r.NullLoaderEventRecorder=e}(AMDLoader=AMDLoader||{}),function(e){var t=(n.fileUriToFilePath=function(e,t){if(t=decodeURI(t).replace(/%23/g,"#"),e){if(/^file:\/\/\//.test(t))return t.substr(8);if(/^file:\/\//.test(t))return t.substr(5)}else if(/^file:\/\//.test(t))return t.substr(7);return t},n.startsWith=function(e,t){return e.length>=t.length&&e.substr(0,t.length)===t},n.endsWith=function(e,t){return e.length>=t.length&&e.substr(e.length-t.length)===t},n.containsQueryString=function(e){return/^[^\#]*\?/gi.test(e)},n.isAbsolutePath=function(e){return/^((http:\/\/)|(https:\/\/)|(file:\/\/)|(\/))/.test(e)},n.forEachProperty=function(e,t){if(e){var r=void 0;for(r in e)e.hasOwnProperty(r)&&t(r,e[r])}},n.isEmpty=function(e){var t=!0;return n.forEachProperty(e,function(){t=!1}),t},n.recursiveClone=function(e){if(!e||"object"!=typeof e||e instanceof RegExp||!Array.isArray(e)&&Object.getPrototypeOf(e)!==Object.prototype)return e;var r=Array.isArray(e)?[]:{};return n.forEachProperty(e,function(e,t){r[e]=t&&"object"==typeof t?n.recursiveClone(t):t}),r},n.generateAnonymousModule=function(){return"===anonymous"+n.NEXT_ANONYMOUS_ID+++"==="},n.isAnonymousModule=function(e){return n.startsWith(e,"===anonymous")},n.getHighPerformanceTimestamp=function(){return this.PERFORMANCE_NOW_PROBED||(this.PERFORMANCE_NOW_PROBED=!0,this.HAS_PERFORMANCE_NOW=e.global.performance&&"function"==typeof e.global.performance.now),(this.HAS_PERFORMANCE_NOW?e.global.performance:Date).now()},n.NEXT_ANONYMOUS_ID=1,n.PERFORMANCE_NOW_PROBED=!1,n.HAS_PERFORMANCE_NOW=!1,n);function n(){}e.Utilities=t}(AMDLoader=AMDLoader||{}),function(d){function r(e){if(e instanceof Error)return e;var t=new Error(e.message||String(e)||"Unknown Error");return e.stack&&(t.stack=e.stack),t}d.ensureError=r;var o=(n.validateConfigurationOptions=function(e){var t;return"string"!=typeof(e=e||{}).baseUrl&&(e.baseUrl=""),"boolean"!=typeof e.isBuild&&(e.isBuild=!1),"object"!=typeof e.paths&&(e.paths={}),"object"!=typeof e.config&&(e.config={}),void 0===e.catchError&&(e.catchError=!1),void 0===e.recordStats&&(e.recordStats=!1),"string"!=typeof e.urlArgs&&(e.urlArgs=""),"function"!=typeof e.onError&&(e.onError=function(e){if("loading"===e.phase)return console.error('Loading "'+e.moduleId+'" failed'),console.error(e),console.error("Here are the modules that depend on it:"),void console.error(e.neededBy);"factory"===e.phase&&(console.error('The factory method of "'+e.moduleId+'" has thrown an exception'),console.error(e))}),Array.isArray(e.ignoreDuplicateModules)||(e.ignoreDuplicateModules=[]),0<e.baseUrl.length&&(d.Utilities.endsWith(e.baseUrl,"/")||(e.baseUrl+="/")),"string"!=typeof e.cspNonce&&(e.cspNonce=""),void 0===e.preferScriptTags&&(e.preferScriptTags=!1),Array.isArray(e.nodeModules)||(e.nodeModules=[]),e.nodeCachedData&&"object"==typeof e.nodeCachedData&&("string"!=typeof e.nodeCachedData.seed&&(e.nodeCachedData.seed="seed"),("number"!=typeof e.nodeCachedData.writeDelay||e.nodeCachedData.writeDelay<0)&&(e.nodeCachedData.writeDelay=7e3),!e.nodeCachedData.path||"string"!=typeof e.nodeCachedData.path)&&((t=r(new Error("INVALID cached data configuration, 'path' MUST be set"))).phase="configuration",e.onError(t),e.nodeCachedData=void 0),e},n.mergeConfigurationOptions=function(e,t){void 0===e&&(e=null);var r=d.Utilities.recursiveClone((t=void 0===t?null:t)||{});return d.Utilities.forEachProperty(e,function(e,t){"ignoreDuplicateModules"===e&&void 0!==r.ignoreDuplicateModules?r.ignoreDuplicateModules=r.ignoreDuplicateModules.concat(t):"paths"===e&&void 0!==r.paths?d.Utilities.forEachProperty(t,function(e,t){return r.paths[e]=t}):"config"===e&&void 0!==r.config?d.Utilities.forEachProperty(t,function(e,t){return r.config[e]=t}):r[e]=d.Utilities.recursiveClone(t)}),n.validateConfigurationOptions(r)},n);function n(){}d.ConfigurationOptionsUtil=o;var e=(t.prototype._createIgnoreDuplicateModulesMap=function(){this.ignoreDuplicateModulesMap={};for(var e=0;e<this.options.ignoreDuplicateModules.length;e++)this.ignoreDuplicateModulesMap[this.options.ignoreDuplicateModules[e]]=!0},t.prototype._createNodeModulesMap=function(){this.nodeModulesMap=Object.create(null);for(var e=0,t=this.options.nodeModules;e<t.length;e++){var r=t[e];this.nodeModulesMap[r]=!0}},t.prototype._createSortedPathsRules=function(){var r=this;this.sortedPathsRules=[],d.Utilities.forEachProperty(this.options.paths,function(e,t){Array.isArray(t)?r.sortedPathsRules.push({from:e,to:t}):r.sortedPathsRules.push({from:e,to:[t]})}),this.sortedPathsRules.sort(function(e,t){return t.from.length-e.from.length})},t.prototype.cloneAndMerge=function(e){return new t(this._env,o.mergeConfigurationOptions(e,this.options))},t.prototype.getOptionsLiteral=function(){return this.options},t.prototype._applyPaths=function(e){for(var t,r=0,n=this.sortedPathsRules.length;r<n;r++)if(t=this.sortedPathsRules[r],d.Utilities.startsWith(e,t.from)){for(var o=[],i=0,s=t.to.length;i<s;i++)o.push(t.to[i]+e.substr(t.from.length));return o}return[e]},t.prototype._addUrlArgsToUrl=function(e){return d.Utilities.containsQueryString(e)?e+"&"+this.options.urlArgs:e+"?"+this.options.urlArgs},t.prototype._addUrlArgsIfNecessaryToUrl=function(e){return this.options.urlArgs?this._addUrlArgsToUrl(e):e},t.prototype._addUrlArgsIfNecessaryToUrls=function(e){if(this.options.urlArgs)for(var t=0,r=e.length;t<r;t++)e[t]=this._addUrlArgsToUrl(e[t]);return e},t.prototype.moduleIdToPaths=function(e){if(this._env.isNode&&(!0===this.nodeModulesMap[e]||this.options.amdModulesPattern instanceof RegExp&&!this.options.amdModulesPattern.test(e)))return this.isBuild()?["empty:"]:["node|"+e];if(d.Utilities.endsWith(e,".js")||d.Utilities.isAbsolutePath(e))d.Utilities.endsWith(e,".js")||d.Utilities.containsQueryString(e)||(e+=".js"),t=[e];else for(var t,r=0,n=(t=this._applyPaths(e)).length;r<n;r++)this.isBuild()&&"empty:"===t[r]||(d.Utilities.isAbsolutePath(t[r])||(t[r]=this.options.baseUrl+t[r]),d.Utilities.endsWith(t[r],".js")||d.Utilities.containsQueryString(t[r])||(t[r]=t[r]+".js"));return this._addUrlArgsIfNecessaryToUrls(t)},t.prototype.requireToUrl=function(e){return d.Utilities.isAbsolutePath(e)||(e=this._applyPaths(e)[0],d.Utilities.isAbsolutePath(e)||(e=this.options.baseUrl+e)),this._addUrlArgsIfNecessaryToUrl(e)},t.prototype.isBuild=function(){return this.options.isBuild},t.prototype.isDuplicateMessageIgnoredFor=function(e){return this.ignoreDuplicateModulesMap.hasOwnProperty(e)},t.prototype.getConfigForModule=function(e){if(this.options.config)return this.options.config[e]},t.prototype.shouldCatchError=function(){return this.options.catchError},t.prototype.shouldRecordStats=function(){return this.options.recordStats},t.prototype.onError=function(e){this.options.onError(e)},t);function t(e,t){var r,n;this._env=e,this.options=o.mergeConfigurationOptions(t),this._createIgnoreDuplicateModulesMap(),this._createNodeModulesMap(),this._createSortedPathsRules(),""===this.options.baseUrl&&(this.options.nodeRequire&&this.options.nodeRequire.main&&this.options.nodeRequire.main.filename&&this._env.isNode&&(r=this.options.nodeRequire.main.filename,n=Math.max(r.lastIndexOf("/"),r.lastIndexOf("\\")),this.options.baseUrl=r.substring(0,n+1)),this.options.nodeMain&&this._env.isNode&&(r=this.options.nodeMain,n=Math.max(r.lastIndexOf("/"),r.lastIndexOf("\\")),this.options.baseUrl=r.substring(0,n+1)))}d.Configuration=e}(AMDLoader=AMDLoader||{}),function(_){var t=(r.prototype.load=function(e,t,r,n){var o,i=this;this._scriptLoader||(this._env.isWebWorker?this._scriptLoader=new d:this._env.isElectronRenderer?(o=e.getConfig().getOptionsLiteral().preferScriptTags,this._scriptLoader=o?new s:new a(this._env)):this._env.isNode?this._scriptLoader=new a(this._env):this._scriptLoader=new s);n={callback:r,errorback:n};this._callbackMap.hasOwnProperty(t)?this._callbackMap[t].push(n):(this._callbackMap[t]=[n],this._scriptLoader.load(e,t,function(){return i.triggerCallback(t)},function(e){return i.triggerErrorback(t,e)}))},r.prototype.triggerCallback=function(e){var t=this._callbackMap[e];delete this._callbackMap[e];for(var r=0;r<t.length;r++)t[r].callback()},r.prototype.triggerErrorback=function(e,t){var r=this._callbackMap[e];delete this._callbackMap[e];for(var n=0;n<r.length;n++)r[n].errorback(t)},r),s=(e.prototype.attachListeners=function(e,t,r){function n(){e.removeEventListener("load",o),e.removeEventListener("error",i)}var o=function(e){n(),t()},i=function(e){n(),r(e)};e.addEventListener("load",o),e.addEventListener("error",i)},e.prototype.load=function(e,t,r,n){if(/^node\|/.test(t)){var o=e.getConfig().getOptionsLiteral(),i=v(e.getRecorder(),o.nodeRequire||_.global.nodeRequire),o=t.split("|"),s=null;try{s=i(o[1])}catch(e){return void n(e)}e.enqueueDefineAnonymousModule([],function(){return s}),r()}else{o=document.createElement("script");o.setAttribute("async","async"),o.setAttribute("type","text/javascript"),this.attachListeners(o,r,n);n=e.getConfig().getOptionsLiteral().trustedTypesPolicy;n&&(t=n.createScriptURL(t)),o.setAttribute("src",t);e=e.getConfig().getOptionsLiteral().cspNonce;e&&o.setAttribute("nonce",e),document.getElementsByTagName("head")[0].appendChild(o)}},e);function e(){}function r(e){this._env=e,this._scriptLoader=null,this._callbackMap={}}var d=(n.prototype._canUseEval=function(e){return null===this._cachedCanUseEval&&(this._cachedCanUseEval=function(e){e=e.getConfig().getOptionsLiteral().trustedTypesPolicy;try{return(e?self.eval(e.createScript("","true")):new Function("true")).call(self),!0}catch{return!1}}(e)),this._cachedCanUseEval},n.prototype.load=function(e,t,r,n){if(/^node\|/.test(t)){var o=e.getConfig().getOptionsLiteral(),i=v(e.getRecorder(),o.nodeRequire||_.global.nodeRequire),o=t.split("|"),s=null;try{s=i(o[1])}catch(e){return void n(e)}e.enqueueDefineAnonymousModule([],function(){return s}),r()}else{var d=e.getConfig().getOptionsLiteral().trustedTypesPolicy;if(/^((http:)|(https:)|(file:))/.test(t)&&t.substring(0,self.origin.length)!==self.origin||!this._canUseEval(e))try{d&&(t=d.createScriptURL(t)),importScripts(t),r()}catch(e){n(e)}else fetch(t).then(function(e){if(200!==e.status)throw new Error(e.statusText);return e.text()}).then(function(e){e=e+`
+//# sourceURL=`+t,(d?self.eval(d.createScript("",e)):new Function(e)).call(self),r()}).then(void 0,n)}},n),a=(g.prototype._init=function(e){this._didInitialize||(this._didInitialize=!0,this._fs=e("fs"),this._vm=e("vm"),this._path=e("path"),this._crypto=e("crypto"))},g.prototype._initNodeRequire=function(e,u){var l,c,h=u.getConfig().getOptionsLiteral().nodeCachedData;function p(r){function e(e){return r.require(e)}var n=r.constructor;return(e.resolve=function(e,t){return n._resolveFilename(e,r,!1,t)}).paths=function(e){return n._resolveLookupPaths(e,r)},e.main=process.mainModule,e.extensions=n._extensions,e.cache=n._cache,e}h&&!this._didPatchNodeRequire&&(this._didPatchNodeRequire=!0,l=this,(c=e("module")).prototype._compile=function(e,t){var r=c.wrap(e.replace(/^#!.*/,"")),n=u.getRecorder(),o=l._getCachedDataPath(h,t),i={filename:t};try{var s=l._fs.readFileSync(o),d=s.slice(0,16);i.cachedData=s.slice(16),n.record(60,o)}catch{n.record(61,o)}var a=new l._vm.Script(r,i),e=a.runInThisContext(i),s=l._path.dirname(t),n=p(this),s=[this.exports,n,this,t,s,process,_commonjsGlobal,Buffer],s=e.apply(this.exports,s);return l._handleCachedData(a,r,o,!i.cachedData,u),l._verifyCachedData(a,r,o,d,u),s})},g.prototype.load=function(o,e,i,s){var d=this,t=o.getConfig().getOptionsLiteral(),r=v(o.getRecorder(),t.nodeRequire||_.global.nodeRequire),a=t.nodeInstrumenter||function(e){return e};this._init(r),this._initNodeRequire(r,o);var n=o.getRecorder();if(/^node\|/.test(e)){var u=e.split("|"),l=null;try{l=r(u[1])}catch(e){return void s(e)}o.enqueueDefineAnonymousModule([],function(){return l}),i()}else{e=_.Utilities.fileUriToFilePath(this._env.isWindows,e);var c=this._path.normalize(e),h=this._getElectronRendererScriptPathOrUri(c),p=Boolean(t.nodeCachedData),f=p?this._getCachedDataPath(t.nodeCachedData,e):void 0;this._readSourceAndCachedData(c,f,n,function(e,t,r,n){e?s(e):(e=t.charCodeAt(0)===g._BOM?g._PREFIX+t.substring(1)+g._SUFFIX:g._PREFIX+t+g._SUFFIX,e=a(e,c),t=d._createAndEvalScript(o,e,{filename:h,cachedData:r},i,s),d._handleCachedData(t,e,f,p&&!r,o),d._verifyCachedData(t,e,f,n,o))})}},g.prototype._createAndEvalScript=function(e,t,r,n,o){var i=e.getRecorder();i.record(31,r.filename);var s=new this._vm.Script(t,r),d=s.runInThisContext(r),a=e.getGlobalAMDDefineFunc(),u=!1,t=function(){return u=!0,a.apply(null,arguments)};return t.amd=a.amd,d.call(_.global,e.getGlobalAMDRequireFunc(),t,r.filename,this._path.dirname(r.filename)),i.record(32,r.filename),u?n():o(new Error("Didn't receive define call in "+r.filename+"!")),s},g.prototype._getElectronRendererScriptPathOrUri=function(e){if(!this._env.isElectronRenderer)return e;var t=e.match(/^([a-z])\:(.*)/i);return t?"file:///"+(t[1].toUpperCase()+":"+t[2]).replace(/\\/g,"/"):"file://"+e},g.prototype._getCachedDataPath=function(e,t){var r=this._crypto.createHash("md5").update(t,"utf8").update(e.seed,"utf8").update(process.arch,"").digest("hex"),t=this._path.basename(t).replace(/\.js$/,"");return this._path.join(e.path,t+"-"+r+".code")},g.prototype._handleCachedData=function(t,r,n,e,o){var i=this;t.cachedDataRejected?this._fs.unlink(n,function(e){o.getRecorder().record(62,n),i._createAndWriteCachedData(t,r,n,o),e&&o.getConfig().onError(e)}):e&&this._createAndWriteCachedData(t,r,n,o)},g.prototype._createAndWriteCachedData=function(t,r,n,o){var i=this,e=Math.ceil(o.getConfig().getOptionsLiteral().nodeCachedData.writeDelay*(1+Math.random())),s=-1,d=0,a=void 0,u=function(){setTimeout(function(){a=a||i._crypto.createHash("md5").update(r,"utf8").digest();var e=t.createCachedData();0===e.length||e.length===s||5<=d||(e.length<s?u():(s=e.length,i._fs.writeFile(n,Buffer.concat([a,e]),function(e){e&&o.getConfig().onError(e),o.getRecorder().record(63,n),u()})))},e*Math.pow(4,d++))};u()},g.prototype._readSourceAndCachedData=function(e,r,n,t){var o,i,s,d,a;r?(s=i=o=void 0,d=2,a=function(e){e?t(e):0==--d&&t(void 0,o,i,s)},this._fs.readFile(e,{encoding:"utf8"},function(e,t){o=t,a(e)}),this._fs.readFile(r,function(e,t){!e&&t&&0<t.length?(s=t.slice(0,16),i=t.slice(16),n.record(60,r)):n.record(61,r),a()})):this._fs.readFile(e,{encoding:"utf8"},t)},g.prototype._verifyCachedData=function(e,t,r,n,o){var i=this;!n||e.cachedDataRejected||setTimeout(function(){var e=i._crypto.createHash("md5").update(t,"utf8").digest();n.equals(e)||(o.getConfig().onError(new Error("FAILED TO VERIFY CACHED DATA, deleting stale '"+r+"' now, but a RESTART IS REQUIRED")),i._fs.unlink(r,function(e){e&&o.getConfig().onError(e)}))},Math.ceil(5e3*(1+Math.random())))},g._BOM=65279,g._PREFIX="(function (require, define, __filename, __dirname) { ",g._SUFFIX=`
+});`,g);function g(e){this._env=e,this._didInitialize=!1,this._didPatchNodeRequire=!1}function n(){this._cachedCanUseEval=null}function v(t,r){if(r.__$__isRecorded)return r;function e(e){t.record(33,e);try{return r(e)}finally{t.record(34,e)}}return e.__$__isRecorded=!0,e}_.ensureRecordedNodeRequire=v,_.createScriptLoader=function(e){return new t(e)}}(AMDLoader=AMDLoader||{}),function(i){var a=(t._normalizeModuleId=function(e){for(var t=e,r=/\/\.\//;r.test(t);)t=t.replace(r,"/");for(t=t.replace(/^\.\//g,""),r=/\/(([^\/])|([^\/][^\/\.])|([^\/\.][^\/])|([^\/][^\/][^\/]+))\/\.\.\//;r.test(t);)t=t.replace(r,"/");return t=t.replace(/^(([^\/])|([^\/][^\/\.])|([^\/\.][^\/])|([^\/][^\/][^\/]+))\/\.\.\//,"")},t.prototype.resolveModule=function(e){return i.Utilities.isAbsolutePath(e)||(i.Utilities.startsWith(e,"./")||i.Utilities.startsWith(e,"../"))&&(e=t._normalizeModuleId(this.fromModulePath+e)),e},t.ROOT=new t(""),t);function t(e){var t=e.lastIndexOf("/");this.fromModulePath=-1!==t?e.substr(0,t+1):""}i.ModuleIdResolver=a;var h=(o._safeInvokeFunction=function(e,t){try{return{returnedValue:e.apply(i.global,t),producedError:null}}catch(e){return{returnedValue:null,producedError:e}}},o._invokeFactory=function(e,t,r,n){return e.isBuild()&&!i.Utilities.isAnonymousModule(t)?{returnedValue:null,producedError:null}:e.shouldCatchError()?this._safeInvokeFunction(r,n):{returnedValue:r.apply(i.global,n),producedError:null}},o.prototype.complete=function(e,t,r){this._isComplete=!0;var n=null;this._callback&&("function"==typeof this._callback?(e.record(21,this.strId),n=(r=o._invokeFactory(t,this.strId,this._callback,r)).producedError,e.record(22,this.strId),n||void 0===r.returnedValue||this.exportsPassedIn&&!i.Utilities.isEmpty(this.exports)||(this.exports=r.returnedValue)):this.exports=this._callback),n&&((n=i.ensureError(n)).phase="factory",n.moduleId=this.strId,this.error=n,t.onError(n)),this.dependencies=null,this._callback=null,this._errorback=null,this.moduleIdResolver=null},o.prototype.onDependencyError=function(e){return this._isComplete=!0,this.error=e,!!this._errorback&&(this._errorback(e),!0)},o.prototype.isComplete=function(){return this._isComplete},o);function o(e,t,r,n,o,i){this.id=e,this.strId=t,this.dependencies=r,this._callback=n,this._errorback=o,this.moduleIdResolver=i,this.exports={},this.error=null,this.exportsPassedIn=!1,this.unresolvedDependenciesCount=this.dependencies.length,this._isComplete=!1}i.Module=h;var s=(r.prototype.getMaxModuleId=function(){return this._nextId},r.prototype.getModuleId=function(e){var t=this._strModuleIdToIntModuleId.get(e);return void 0===t&&(t=this._nextId++,this._strModuleIdToIntModuleId.set(e,t),this._intModuleIdToStrModuleId[t]=e),t},r.prototype.getStrModuleId=function(e){return this._intModuleIdToStrModuleId[e]},r),c=(e.EXPORTS=new e(0),e.MODULE=new e(1),e.REQUIRE=new e(2),e);function e(e){this.id=e}function r(){this._nextId=0,this._strModuleIdToIntModuleId=new Map,this._intModuleIdToStrModuleId=[],this.getModuleId("exports"),this.getModuleId("module"),this.getModuleId("require")}i.RegularDependency=c;var u=function(e,t,r){this.id=e,this.pluginId=t,this.pluginParam=r};i.PluginDependency=u;var n=(l.prototype.reset=function(){return new l(this._env,this._scriptLoader,this._defineFunc,this._requireFunc,this._loaderAvailableTimestamp)},l.prototype.getGlobalAMDDefineFunc=function(){return this._defineFunc},l.prototype.getGlobalAMDRequireFunc=function(){return this._requireFunc},l._findRelevantLocationInStack=function(e,t){for(var r=function(e){return e.replace(/\\/g,"/")},n=r(e),o=t.split(/\n/),i=0;i<o.length;i++){var s=o[i].match(/(.*):(\d+):(\d+)\)?$/);if(s){var d=s[1],a=s[2],u=s[3],s=Math.max(d.lastIndexOf(" ")+1,d.lastIndexOf("(")+1);if((d=r(d=d.substr(s)))===n){u={line:parseInt(a,10),col:parseInt(u,10)};return 1===u.line&&(u.col-="(function (require, define, __filename, __dirname) { ".length),u}}}throw new Error("Could not correlate define call site for needle "+e)},l.prototype.getBuildInfo=function(){if(!this._config.isBuild())return null;for(var e=[],t=0,r=0,n=this._modules2.length;r<n;r++){var o,i,s,d=this._modules2[r];d&&(o=this._buildInfoPath[d.id]||null,i=this._buildInfoDefineStack[d.id]||null,s=this._buildInfoDependencies[d.id],e[t++]={id:d.strId,path:o,defineLocation:o&&i?l._findRelevantLocationInStack(o,i):null,dependencies:s,shim:null,exports:d.exports})}return e},l.prototype.getRecorder=function(){return this._recorder||(this._config.shouldRecordStats()?this._recorder=new i.LoaderEventRecorder(this._loaderAvailableTimestamp):this._recorder=i.NullLoaderEventRecorder.INSTANCE),this._recorder},l.prototype.getLoaderEvents=function(){return this.getRecorder().getEvents()},l.prototype.enqueueDefineAnonymousModule=function(e,t){if(null!==this._currentAnonymousDefineCall)throw new Error("Can only have one anonymous define call per script file");var r=null;this._config.isBuild()&&(r=new Error("StackLocation").stack||null),this._currentAnonymousDefineCall={stack:r,dependencies:e,callback:t}},l.prototype.defineModule=function(e,t,r,n,o,i){var s=this;void 0===i&&(i=new a(e));var d=this._moduleIdProvider.getModuleId(e);this._modules2[d]?this._config.isDuplicateMessageIgnoredFor(e)||console.warn("Duplicate definition of module '"+e+"'"):(i=new h(d,e,this._normalizeDependencies(t,i),r,n,i),this._modules2[d]=i,this._config.isBuild()&&(this._buildInfoDefineStack[d]=o,this._buildInfoDependencies[d]=(i.dependencies||[]).map(function(e){return s._moduleIdProvider.getStrModuleId(e.id)})),this._resolve(i))},l.prototype._normalizeDependency=function(e,t){if("exports"===e)return c.EXPORTS;if("module"===e)return c.MODULE;if("require"===e)return c.REQUIRE;var r=e.indexOf("!");if(0<=r){var n=t.resolveModule(e.substr(0,r)),o=t.resolveModule(e.substr(r+1)),r=this._moduleIdProvider.getModuleId(n+"!"+o),n=this._moduleIdProvider.getModuleId(n);return new u(r,n,o)}return new c(this._moduleIdProvider.getModuleId(t.resolveModule(e)))},l.prototype._normalizeDependencies=function(e,t){for(var r=[],n=0,o=0,i=e.length;o<i;o++)r[n++]=this._normalizeDependency(e[o],t);return r},l.prototype._relativeRequire=function(e,t,r,n){if("string"==typeof t)return this.synchronousRequire(t,e);this.defineModule(i.Utilities.generateAnonymousModule(),t,r,n,null,e)},l.prototype.synchronousRequire=function(e,t){void 0===t&&(t=new a(e));t=this._normalizeDependency(e,t),t=this._modules2[t.id];if(!t)throw new Error("Check dependency list! Synchronous require cannot resolve module '"+e+"'. This is the first mention of this module!");if(!t.isComplete())throw new Error("Check dependency list! Synchronous require cannot resolve module '"+e+"'. This module has not been resolved completely yet.");if(t.error)throw t.error;return t.exports},l.prototype.configure=function(e,t){var r=this._config.shouldRecordStats();this._config=t?new i.Configuration(this._env,e):this._config.cloneAndMerge(e),this._config.shouldRecordStats()&&!r&&(this._recorder=null)},l.prototype.getConfig=function(){return this._config},l.prototype._onLoad=function(e){var t;null!==this._currentAnonymousDefineCall&&(t=this._currentAnonymousDefineCall,this._currentAnonymousDefineCall=null,this.defineModule(this._moduleIdProvider.getStrModuleId(e),t.dependencies,t.callback,null,t.stack))},l.prototype._createLoadError=function(e,t){var r=this,n=this._moduleIdProvider.getStrModuleId(e),e=(this._inverseDependencies2[e]||[]).map(function(e){return r._moduleIdProvider.getStrModuleId(e)}),t=i.ensureError(t);return t.phase="loading",t.moduleId=n,t.neededBy=e,t},l.prototype._onLoadError=function(e,t){var r=this._createLoadError(e,t);this._modules2[e]||(this._modules2[e]=new h(e,this._moduleIdProvider.getStrModuleId(e),[],function(){},null,null));for(var n=[],o=0,i=this._moduleIdProvider.getMaxModuleId();o<i;o++)n[o]=!1;var s=!1,d=[];for(d.push(e),n[e]=!0;0<d.length;){var a=d.shift(),u=this._modules2[a];u&&(s=u.onDependencyError(r)||s);var l=this._inverseDependencies2[a];if(l)for(o=0,i=l.length;o<i;o++){var c=l[o];n[c]||(d.push(c),n[c]=!0)}}s||this._config.onError(r)},l.prototype._hasDependencyPath=function(e,t){var r=this._modules2[e];if(!r)return!1;for(var n=[],o=0,i=this._moduleIdProvider.getMaxModuleId();o<i;o++)n[o]=!1;var s=[];for(s.push(r),n[e]=!0;0<s.length;){var d=s.shift().dependencies;if(d)for(o=0,i=d.length;o<i;o++){var a=d[o];if(a.id===t)return!0;var u=this._modules2[a.id];u&&!n[a.id]&&(n[a.id]=!0,s.push(u))}}return!1},l.prototype._findCyclePath=function(e,t,r){if(e===t||50===r)return[e];var n=this._modules2[e];if(!n)return null;var o=n.dependencies;if(o)for(var i=0,s=o.length;i<s;i++){var d=this._findCyclePath(o[i].id,t,r+1);if(null!==d)return d.push(e),d}return null},l.prototype._createRequire=function(n){function e(e,t,r){return o._relativeRequire(n,e,t,r)}var o=this;return e.toUrl=function(e){return o._config.requireToUrl(n.resolveModule(e))},e.getStats=function(){return o.getLoaderEvents()},e.hasDependencyCycle=function(){return o._hasDependencyCycle},e.config=function(e,t){o.configure(e,t=void 0===t?!1:t)},e.__$__nodeRequire=i.global.nodeRequire,e},l.prototype._loadModule=function(n){var e,o,i,s,d=this;this._modules2[n]||this._knownModules2[n]||(this._knownModules2[n]=!0,e=this._moduleIdProvider.getStrModuleId(n),o=this._config.moduleIdToPaths(e),this._env.isNode&&(-1===e.indexOf("/")||/^@[^\/]+\/[^\/]+$/.test(e))&&o.push("node|"+e),i=-1,(s=function(e){if(++i>=o.length)d._onLoadError(n,e);else{var t=o[i],r=d.getRecorder();if(d._config.isBuild()&&"empty:"===t)return d._buildInfoPath[n]=t,d.defineModule(d._moduleIdProvider.getStrModuleId(n),[],null,null,null),void d._onLoad(n);r.record(10,t),d._scriptLoader.load(d,t,function(){d._config.isBuild()&&(d._buildInfoPath[n]=t),r.record(11,t),d._onLoad(n)},function(e){r.record(12,t),s(e)})}})(null))},l.prototype._loadPluginDependency=function(e,t){var r,n=this;this._modules2[t.id]||this._knownModules2[t.id]||(this._knownModules2[t.id]=!0,(r=function(e){n.defineModule(n._moduleIdProvider.getStrModuleId(t.id),[],e,null,null)}).error=function(e){n._config.onError(n._createLoadError(t.id,e))},e.load(t.pluginParam,this._createRequire(a.ROOT),r,this._config.getOptionsLiteral()))},l.prototype._resolve=function(e){var t=this,r=e.dependencies;if(r)for(var n=0,o=r.length;n<o;n++){var i=r[n];if(i!==c.EXPORTS)if(i!==c.MODULE)if(i!==c.REQUIRE){var s,d=this._modules2[i.id];if(d&&d.isComplete()){if(d.error)return void e.onDependencyError(d.error);e.unresolvedDependenciesCount--}else this._hasDependencyPath(i.id,e.id)?(this._hasDependencyCycle=!0,console.warn("There is a dependency cycle between '"+this._moduleIdProvider.getStrModuleId(i.id)+"' and '"+this._moduleIdProvider.getStrModuleId(e.id)+"'. The cyclic path follows:"),(s=this._findCyclePath(i.id,e.id,0)||[]).reverse(),s.push(i.id),console.warn(s.map(function(e){return t._moduleIdProvider.getStrModuleId(e)}).join(` => 
+`)),e.unresolvedDependenciesCount--):(this._inverseDependencies2[i.id]=this._inverseDependencies2[i.id]||[],this._inverseDependencies2[i.id].push(e.id),i instanceof u?(s=this._modules2[i.pluginId])&&s.isComplete()?this._loadPluginDependency(s.exports,i):((s=this._inversePluginDependencies2.get(i.pluginId))||this._inversePluginDependencies2.set(i.pluginId,s=[]),s.push(i),this._loadModule(i.pluginId)):this._loadModule(i.id))}else e.unresolvedDependenciesCount--;else e.unresolvedDependenciesCount--;else e.exportsPassedIn=!0,e.unresolvedDependenciesCount--}0===e.unresolvedDependenciesCount&&this._onModuleComplete(e)},l.prototype._onModuleComplete=function(e){var t=this,r=this.getRecorder();if(!e.isComplete()){var n=e.dependencies,o=[];if(n)for(var i=0,s=n.length;i<s;i++){var d=n[i];d!==c.EXPORTS?d!==c.MODULE?d!==c.REQUIRE?(d=this._modules2[d.id],o[i]=d?d.exports:null):o[i]=this._createRequire(e.moduleIdResolver):o[i]={id:e.strId,config:function(){return t._config.getConfigForModule(e.strId)}}:o[i]=e.exports}e.complete(r,this._config,o);var a=this._inverseDependencies2[e.id];if(this._inverseDependencies2[e.id]=null,a)for(i=0,s=a.length;i<s;i++){var u=a[i],u=this._modules2[u];u.unresolvedDependenciesCount--,0===u.unresolvedDependenciesCount&&this._onModuleComplete(u)}var l=this._inversePluginDependencies2.get(e.id);if(l){this._inversePluginDependencies2.delete(e.id);for(i=0,s=l.length;i<s;i++)this._loadPluginDependency(e.exports,l[i])}}},l);function l(e,t,r,n,o){void 0===o&&(o=0),this._env=e,this._scriptLoader=t,this._loaderAvailableTimestamp=o,this._defineFunc=r,this._requireFunc=n,this._moduleIdProvider=new s,this._config=new i.Configuration(this._env),this._hasDependencyCycle=!1,this._modules2=[],this._knownModules2=[],this._inverseDependencies2=[],this._inversePluginDependencies2=new Map,this._currentAnonymousDefineCall=null,this._recorder=null,this._buildInfoPath=[],this._buildInfoDefineStack=[],this._buildInfoDependencies=[]}i.ModuleManager=n}(AMDLoader=AMDLoader||{}),function(t){function r(e,t,r){"string"!=typeof e&&(r=t,t=e,e=null),"object"==typeof t&&Array.isArray(t)||(r=t,t=null),t=t||["require","exports","module"],e?o.defineModule(e,t,r,null,null):o.enqueueDefineAnonymousModule(t,r)}var n=new t.Environment,o=null;r.amd={jQuery:!0};function e(e,t){o.configure(e,t=void 0===t?!1:t)}function i(){if(1===arguments.length){if(arguments[0]instanceof Object&&!Array.isArray(arguments[0]))return void e(arguments[0]);if("string"==typeof arguments[0])return o.synchronousRequire(arguments[0])}if(2!==arguments.length&&3!==arguments.length||!Array.isArray(arguments[0]))throw new Error("Unrecognized require call");o.defineModule(t.Utilities.generateAnonymousModule(),arguments[0],arguments[1],arguments[2],null)}function s(){var e;void 0===t.global.require&&"undefined"==typeof require||"function"==typeof(e=t.global.require||require)&&"function"==typeof e.resolve&&(e=t.ensureRecordedNodeRequire(o.getRecorder(),e),t.global.nodeRequire=e,i.nodeRequire=e,i.__$__nodeRequire=e),!n.isNode||n.isElectronRenderer||n.isElectronNodeIntegrationWebWorker?(n.isElectronRenderer||(t.global.define=r),t.global.require=i):(module.exports=i,require=i)}i.config=e,i.getConfig=function(){return o.getConfig().getOptionsLiteral()},i.reset=function(){o=o.reset()},i.getBuildInfo=function(){return o.getBuildInfo()},i.getStats=function(){return o.getLoaderEvents()},i.define=r,t.init=s,"function"==typeof t.global.define&&t.global.define.amd||(o=new t.ModuleManager(n,t.createScriptLoader(n),r,i,t.Utilities.getHighPerformanceTimestamp()),void 0!==t.global.require&&"function"!=typeof t.global.require&&i.config(t.global.require),(define=function(){return r.apply(null,arguments)}).amd=r.amd,"undefined"==typeof doNotInitLoader&&s())}(AMDLoader=AMDLoader||{});
\ No newline at end of file
diff --git a/examples/tour-assets/monaco/base/browser/ui/codicons/codicon/codicon.ttf b/examples/tour-assets/monaco/base/browser/ui/codicons/codicon/codicon.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..7eba31492ba78bbdc6cb62f91c005e051c790057
Binary files /dev/null and b/examples/tour-assets/monaco/base/browser/ui/codicons/codicon/codicon.ttf differ
diff --git a/examples/tour-assets/monaco/base/worker/workerMain.js b/examples/tour-assets/monaco/base/worker/workerMain.js
new file mode 100644
index 0000000000000000000000000000000000000000..433cad7a7cbae88a8e67d2efd4843db0e78d8b54
--- /dev/null
+++ b/examples/tour-assets/monaco/base/worker/workerMain.js
@@ -0,0 +1,22 @@
+/*!-----------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.33.0(c722ca6c7eed3d7987c0d5c3df5c45f6b15e77d1)
+ * Released under the MIT license
+ * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
+ *-----------------------------------------------------------*/(function(){var Q=["require","exports","vs/base/common/strings","vs/editor/common/core/position","vs/editor/common/core/range","vs/base/common/platform","vs/base/common/event","vs/base/common/types","vs/base/common/lifecycle","vs/base/common/uri","vs/base/common/errors","vs/base/common/stopwatch","vs/base/common/diff/diff","vs/base/common/uint","vs/editor/common/core/characterClassifier","vs/editor/common/core/wordHelper","vs/base/common/arrays","vs/base/common/cache","vs/base/common/codicons","vs/base/common/diff/diffChange","vs/base/common/functional","vs/base/common/iterator","vs/base/common/keyCodes","vs/base/common/lazy","vs/base/common/linkedList","vs/base/common/process","vs/base/common/path","vs/base/common/cancellation","vs/base/common/hash","vs/base/common/objects","vs/editor/common/core/selection","vs/editor/common/core/wordCharacterClassifier","vs/editor/common/diff/diffComputer","vs/editor/common/languages/linkComputer","vs/editor/common/languages/supports/inplaceReplaceSupport","vs/editor/common/model","vs/editor/common/model/prefixSumComputer","vs/editor/common/model/mirrorTextModel","vs/editor/common/model/textModelSearch","vs/editor/common/services/unicodeTextModelHighlighter","vs/editor/common/standalone/standaloneEnums","vs/editor/common/tokenizationRegistry","vs/editor/common/languages","vs/editor/common/services/editorBaseApi","vs/base/common/worker/simpleWorker","vs/editor/common/services/editorSimpleWorker"],Z=function(U){for(var r=[],E=0,e=U.length;E<e;E++)r[E]=Q[U[E]];return r},pe=this,Se=typeof global=="object"?global:{},re;(function(U){U.global=pe;var r=function(){function E(){this._detected=!1,this._isWindows=!1,this._isNode=!1,this._isElectronRenderer=!1,this._isWebWorker=!1,this._isElectronNodeIntegrationWebWorker=!1}return Object.defineProperty(E.prototype,"isWindows",{get:function(){return this._detect(),this._isWindows},enumerable:!1,configurable:!0}),Object.defineProperty(E.prototype,"isNode",{get:function(){return this._detect(),this._isNode},enumerable:!1,configurable:!0}),Object.defineProperty(E.prototype,"isElectronRenderer",{get:function(){return this._detect(),this._isElectronRenderer},enumerable:!1,configurable:!0}),Object.defineProperty(E.prototype,"isWebWorker",{get:function(){return this._detect(),this._isWebWorker},enumerable:!1,configurable:!0}),Object.defineProperty(E.prototype,"isElectronNodeIntegrationWebWorker",{get:function(){return this._detect(),this._isElectronNodeIntegrationWebWorker},enumerable:!1,configurable:!0}),E.prototype._detect=function(){this._detected||(this._detected=!0,this._isWindows=E._isWindows(),this._isNode=typeof module!="undefined"&&!!module.exports,this._isElectronRenderer=typeof process!="undefined"&&typeof process.versions!="undefined"&&typeof process.versions.electron!="undefined"&&process.type==="renderer",this._isWebWorker=typeof U.global.importScripts=="function",this._isElectronNodeIntegrationWebWorker=this._isWebWorker&&typeof process!="undefined"&&typeof process.versions!="undefined"&&typeof process.versions.electron!="undefined"&&process.type==="worker")},E._isWindows=function(){return typeof navigator!="undefined"&&navigator.userAgent&&navigator.userAgent.indexOf("Windows")>=0?!0:typeof process!="undefined"?process.platform==="win32":!1},E}();U.Environment=r})(re||(re={}));var re;(function(U){var r=function(){function N(o,w,g){this.type=o,this.detail=w,this.timestamp=g}return N}();U.LoaderEvent=r;var E=function(){function N(o){this._events=[new r(1,"",o)]}return N.prototype.record=function(o,w){this._events.push(new r(o,w,U.Utilities.getHighPerformanceTimestamp()))},N.prototype.getEvents=function(){return this._events},N}();U.LoaderEventRecorder=E;var e=function(){function N(){}return N.prototype.record=function(o,w){},N.prototype.getEvents=function(){return[]},N.INSTANCE=new N,N}();U.NullLoaderEventRecorder=e})(re||(re={}));var re;(function(U){var r=function(){function E(){}return E.fileUriToFilePath=function(e,N){if(N=decodeURI(N).replace(/%23/g,"#"),e){if(/^file:\/\/\//.test(N))return N.substr(8);if(/^file:\/\//.test(N))return N.substr(5)}else if(/^file:\/\//.test(N))return N.substr(7);return N},E.startsWith=function(e,N){return e.length>=N.length&&e.substr(0,N.length)===N},E.endsWith=function(e,N){return e.length>=N.length&&e.substr(e.length-N.length)===N},E.containsQueryString=function(e){return/^[^\#]*\?/gi.test(e)},E.isAbsolutePath=function(e){return/^((http:\/\/)|(https:\/\/)|(file:\/\/)|(\/))/.test(e)},E.forEachProperty=function(e,N){if(e){var o=void 0;for(o in e)e.hasOwnProperty(o)&&N(o,e[o])}},E.isEmpty=function(e){var N=!0;return E.forEachProperty(e,function(){N=!1}),N},E.recursiveClone=function(e){if(!e||typeof e!="object"||e instanceof RegExp||!Array.isArray(e)&&Object.getPrototypeOf(e)!==Object.prototype)return e;var N=Array.isArray(e)?[]:{};return E.forEachProperty(e,function(o,w){w&&typeof w=="object"?N[o]=E.recursiveClone(w):N[o]=w}),N},E.generateAnonymousModule=function(){return"===anonymous"+E.NEXT_ANONYMOUS_ID+++"==="},E.isAnonymousModule=function(e){return E.startsWith(e,"===anonymous")},E.getHighPerformanceTimestamp=function(){return this.PERFORMANCE_NOW_PROBED||(this.PERFORMANCE_NOW_PROBED=!0,this.HAS_PERFORMANCE_NOW=U.global.performance&&typeof U.global.performance.now=="function"),this.HAS_PERFORMANCE_NOW?U.global.performance.now():Date.now()},E.NEXT_ANONYMOUS_ID=1,E.PERFORMANCE_NOW_PROBED=!1,E.HAS_PERFORMANCE_NOW=!1,E}();U.Utilities=r})(re||(re={}));var re;(function(U){function r(N){if(N instanceof Error)return N;var o=new Error(N.message||String(N)||"Unknown Error");return N.stack&&(o.stack=N.stack),o}U.ensureError=r;var E=function(){function N(){}return N.validateConfigurationOptions=function(o){function w(c){if(c.phase==="loading"){console.error('Loading "'+c.moduleId+'" failed'),console.error(c),console.error("Here are the modules that depend on it:"),console.error(c.neededBy);return}if(c.phase==="factory"){console.error('The factory method of "'+c.moduleId+'" has thrown an exception'),console.error(c);return}}if(o=o||{},typeof o.baseUrl!="string"&&(o.baseUrl=""),typeof o.isBuild!="boolean"&&(o.isBuild=!1),typeof o.paths!="object"&&(o.paths={}),typeof o.config!="object"&&(o.config={}),typeof o.catchError=="undefined"&&(o.catchError=!1),typeof o.recordStats=="undefined"&&(o.recordStats=!1),typeof o.urlArgs!="string"&&(o.urlArgs=""),typeof o.onError!="function"&&(o.onError=w),Array.isArray(o.ignoreDuplicateModules)||(o.ignoreDuplicateModules=[]),o.baseUrl.length>0&&(U.Utilities.endsWith(o.baseUrl,"/")||(o.baseUrl+="/")),typeof o.cspNonce!="string"&&(o.cspNonce=""),typeof o.preferScriptTags=="undefined"&&(o.preferScriptTags=!1),Array.isArray(o.nodeModules)||(o.nodeModules=[]),o.nodeCachedData&&typeof o.nodeCachedData=="object"&&(typeof o.nodeCachedData.seed!="string"&&(o.nodeCachedData.seed="seed"),(typeof o.nodeCachedData.writeDelay!="number"||o.nodeCachedData.writeDelay<0)&&(o.nodeCachedData.writeDelay=1e3*7),!o.nodeCachedData.path||typeof o.nodeCachedData.path!="string")){var g=r(new Error("INVALID cached data configuration, 'path' MUST be set"));g.phase="configuration",o.onError(g),o.nodeCachedData=void 0}return o},N.mergeConfigurationOptions=function(o,w){o===void 0&&(o=null),w===void 0&&(w=null);var g=U.Utilities.recursiveClone(w||{});return U.Utilities.forEachProperty(o,function(c,m){c==="ignoreDuplicateModules"&&typeof g.ignoreDuplicateModules!="undefined"?g.ignoreDuplicateModules=g.ignoreDuplicateModules.concat(m):c==="paths"&&typeof g.paths!="undefined"?U.Utilities.forEachProperty(m,function(S,t){return g.paths[S]=t}):c==="config"&&typeof g.config!="undefined"?U.Utilities.forEachProperty(m,function(S,t){return g.config[S]=t}):g[c]=U.Utilities.recursiveClone(m)}),N.validateConfigurationOptions(g)},N}();U.ConfigurationOptionsUtil=E;var e=function(){function N(o,w){if(this._env=o,this.options=E.mergeConfigurationOptions(w),this._createIgnoreDuplicateModulesMap(),this._createNodeModulesMap(),this._createSortedPathsRules(),this.options.baseUrl===""){if(this.options.nodeRequire&&this.options.nodeRequire.main&&this.options.nodeRequire.main.filename&&this._env.isNode){var g=this.options.nodeRequire.main.filename,c=Math.max(g.lastIndexOf("/"),g.lastIndexOf("\\"));this.options.baseUrl=g.substring(0,c+1)}if(this.options.nodeMain&&this._env.isNode){var g=this.options.nodeMain,c=Math.max(g.lastIndexOf("/"),g.lastIndexOf("\\"));this.options.baseUrl=g.substring(0,c+1)}}}return N.prototype._createIgnoreDuplicateModulesMap=function(){this.ignoreDuplicateModulesMap={};for(var o=0;o<this.options.ignoreDuplicateModules.length;o++)this.ignoreDuplicateModulesMap[this.options.ignoreDuplicateModules[o]]=!0},N.prototype._createNodeModulesMap=function(){this.nodeModulesMap=Object.create(null);for(var o=0,w=this.options.nodeModules;o<w.length;o++){var g=w[o];this.nodeModulesMap[g]=!0}},N.prototype._createSortedPathsRules=function(){var o=this;this.sortedPathsRules=[],U.Utilities.forEachProperty(this.options.paths,function(w,g){Array.isArray(g)?o.sortedPathsRules.push({from:w,to:g}):o.sortedPathsRules.push({from:w,to:[g]})}),this.sortedPathsRules.sort(function(w,g){return g.from.length-w.from.length})},N.prototype.cloneAndMerge=function(o){return new N(this._env,E.mergeConfigurationOptions(o,this.options))},N.prototype.getOptionsLiteral=function(){return this.options},N.prototype._applyPaths=function(o){for(var w,g=0,c=this.sortedPathsRules.length;g<c;g++)if(w=this.sortedPathsRules[g],U.Utilities.startsWith(o,w.from)){for(var m=[],S=0,t=w.to.length;S<t;S++)m.push(w.to[S]+o.substr(w.from.length));return m}return[o]},N.prototype._addUrlArgsToUrl=function(o){return U.Utilities.containsQueryString(o)?o+"&"+this.options.urlArgs:o+"?"+this.options.urlArgs},N.prototype._addUrlArgsIfNecessaryToUrl=function(o){return this.options.urlArgs?this._addUrlArgsToUrl(o):o},N.prototype._addUrlArgsIfNecessaryToUrls=function(o){if(this.options.urlArgs)for(var w=0,g=o.length;w<g;w++)o[w]=this._addUrlArgsToUrl(o[w]);return o},N.prototype.moduleIdToPaths=function(o){if(this._env.isNode){var w=this.nodeModulesMap[o]===!0||this.options.amdModulesPattern instanceof RegExp&&!this.options.amdModulesPattern.test(o);if(w)return this.isBuild()?["empty:"]:["node|"+o]}var g=o,c;if(!U.Utilities.endsWith(g,".js")&&!U.Utilities.isAbsolutePath(g)){c=this._applyPaths(g);for(var m=0,S=c.length;m<S;m++)this.isBuild()&&c[m]==="empty:"||(U.Utilities.isAbsolutePath(c[m])||(c[m]=this.options.baseUrl+c[m]),!U.Utilities.endsWith(c[m],".js")&&!U.Utilities.containsQueryString(c[m])&&(c[m]=c[m]+".js"))}else!U.Utilities.endsWith(g,".js")&&!U.Utilities.containsQueryString(g)&&(g=g+".js"),c=[g];return this._addUrlArgsIfNecessaryToUrls(c)},N.prototype.requireToUrl=function(o){var w=o;return U.Utilities.isAbsolutePath(w)||(w=this._applyPaths(w)[0],U.Utilities.isAbsolutePath(w)||(w=this.options.baseUrl+w)),this._addUrlArgsIfNecessaryToUrl(w)},N.prototype.isBuild=function(){return this.options.isBuild},N.prototype.isDuplicateMessageIgnoredFor=function(o){return this.ignoreDuplicateModulesMap.hasOwnProperty(o)},N.prototype.getConfigForModule=function(o){if(this.options.config)return this.options.config[o]},N.prototype.shouldCatchError=function(){return this.options.catchError},N.prototype.shouldRecordStats=function(){return this.options.recordStats},N.prototype.onError=function(o){this.options.onError(o)},N}();U.Configuration=e})(re||(re={}));var re;(function(U){var r=function(){function c(m){this._env=m,this._scriptLoader=null,this._callbackMap={}}return c.prototype.load=function(m,S,t,d){var h=this;if(!this._scriptLoader)if(this._env.isWebWorker)this._scriptLoader=new N;else if(this._env.isElectronRenderer){var v=m.getConfig().getOptionsLiteral().preferScriptTags;v?this._scriptLoader=new E:this._scriptLoader=new o(this._env)}else this._env.isNode?this._scriptLoader=new o(this._env):this._scriptLoader=new E;var L={callback:t,errorback:d};if(this._callbackMap.hasOwnProperty(S)){this._callbackMap[S].push(L);return}this._callbackMap[S]=[L],this._scriptLoader.load(m,S,function(){return h.triggerCallback(S)},function(C){return h.triggerErrorback(S,C)})},c.prototype.triggerCallback=function(m){var S=this._callbackMap[m];delete this._callbackMap[m];for(var t=0;t<S.length;t++)S[t].callback()},c.prototype.triggerErrorback=function(m,S){var t=this._callbackMap[m];delete this._callbackMap[m];for(var d=0;d<t.length;d++)t[d].errorback(S)},c}(),E=function(){function c(){}return c.prototype.attachListeners=function(m,S,t){var d=function(){m.removeEventListener("load",h),m.removeEventListener("error",v)},h=function(L){d(),S()},v=function(L){d(),t(L)};m.addEventListener("load",h),m.addEventListener("error",v)},c.prototype.load=function(m,S,t,d){if(/^node\|/.test(S)){var h=m.getConfig().getOptionsLiteral(),v=w(m.getRecorder(),h.nodeRequire||U.global.nodeRequire),L=S.split("|"),C=null;try{C=v(L[1])}catch(i){d(i);return}m.enqueueDefineAnonymousModule([],function(){return C}),t()}else{var y=document.createElement("script");y.setAttribute("async","async"),y.setAttribute("type","text/javascript"),this.attachListeners(y,t,d);var p=m.getConfig().getOptionsLiteral().trustedTypesPolicy;p&&(S=p.createScriptURL(S)),y.setAttribute("src",S);var s=m.getConfig().getOptionsLiteral().cspNonce;s&&y.setAttribute("nonce",s),document.getElementsByTagName("head")[0].appendChild(y)}},c}();function e(c){var m=c.getConfig().getOptionsLiteral().trustedTypesPolicy;try{var S=m?self.eval(m.createScript("","true")):new Function("true");return S.call(self),!0}catch{return!1}}var N=function(){function c(){this._cachedCanUseEval=null}return c.prototype._canUseEval=function(m){return this._cachedCanUseEval===null&&(this._cachedCanUseEval=e(m)),this._cachedCanUseEval},c.prototype.load=function(m,S,t,d){if(/^node\|/.test(S)){var h=m.getConfig().getOptionsLiteral(),v=w(m.getRecorder(),h.nodeRequire||U.global.nodeRequire),L=S.split("|"),C=null;try{C=v(L[1])}catch(s){d(s);return}m.enqueueDefineAnonymousModule([],function(){return C}),t()}else{var y=m.getConfig().getOptionsLiteral().trustedTypesPolicy,p=/^((http:)|(https:)|(file:))/.test(S)&&S.substring(0,self.origin.length)!==self.origin;if(!p&&this._canUseEval(m)){fetch(S).then(function(s){if(s.status!==200)throw new Error(s.statusText);return s.text()}).then(function(s){s=s+`
+//# sourceURL=`+S;var i=y?self.eval(y.createScript("",s)):new Function(s);i.call(self),t()}).then(void 0,d);return}try{y&&(S=y.createScriptURL(S)),importScripts(S),t()}catch(s){d(s)}}},c}(),o=function(){function c(m){this._env=m,this._didInitialize=!1,this._didPatchNodeRequire=!1}return c.prototype._init=function(m){this._didInitialize||(this._didInitialize=!0,this._fs=m("fs"),this._vm=m("vm"),this._path=m("path"),this._crypto=m("crypto"))},c.prototype._initNodeRequire=function(m,S){var t=S.getConfig().getOptionsLiteral().nodeCachedData;if(!t||this._didPatchNodeRequire)return;this._didPatchNodeRequire=!0;var d=this,h=m("module");function v(L){var C=L.constructor,y=function(s){try{return L.require(s)}finally{}};return y.resolve=function(s,i){return C._resolveFilename(s,L,!1,i)},y.resolve.paths=function(s){return C._resolveLookupPaths(s,L)},y.main=process.mainModule,y.extensions=C._extensions,y.cache=C._cache,y}h.prototype._compile=function(L,C){var y=h.wrap(L.replace(/^#!.*/,"")),p=S.getRecorder(),s=d._getCachedDataPath(t,C),i={filename:C},a;try{var l=d._fs.readFileSync(s);a=l.slice(0,16),i.cachedData=l.slice(16),p.record(60,s)}catch{p.record(61,s)}var f=new d._vm.Script(y,i),u=f.runInThisContext(i),_=d._path.dirname(C),b=v(this),A=[this.exports,b,this,C,_,process,Se,Buffer],P=u.apply(this.exports,A);return d._handleCachedData(f,y,s,!i.cachedData,S),d._verifyCachedData(f,y,s,a,S),P}},c.prototype.load=function(m,S,t,d){var h=this,v=m.getConfig().getOptionsLiteral(),L=w(m.getRecorder(),v.nodeRequire||U.global.nodeRequire),C=v.nodeInstrumenter||function(u){return u};this._init(L),this._initNodeRequire(L,m);var y=m.getRecorder();if(/^node\|/.test(S)){var p=S.split("|"),s=null;try{s=L(p[1])}catch(u){d(u);return}m.enqueueDefineAnonymousModule([],function(){return s}),t()}else{S=U.Utilities.fileUriToFilePath(this._env.isWindows,S);var i=this._path.normalize(S),a=this._getElectronRendererScriptPathOrUri(i),l=Boolean(v.nodeCachedData),f=l?this._getCachedDataPath(v.nodeCachedData,S):void 0;this._readSourceAndCachedData(i,f,y,function(u,_,b,A){if(u){d(u);return}var P;_.charCodeAt(0)===c._BOM?P=c._PREFIX+_.substring(1)+c._SUFFIX:P=c._PREFIX+_+c._SUFFIX,P=C(P,i);var D={filename:a,cachedData:b},k=h._createAndEvalScript(m,P,D,t,d);h._handleCachedData(k,P,f,l&&!b,m),h._verifyCachedData(k,P,f,A,m)})}},c.prototype._createAndEvalScript=function(m,S,t,d,h){var v=m.getRecorder();v.record(31,t.filename);var L=new this._vm.Script(S,t),C=L.runInThisContext(t),y=m.getGlobalAMDDefineFunc(),p=!1,s=function(){return p=!0,y.apply(null,arguments)};return s.amd=y.amd,C.call(U.global,m.getGlobalAMDRequireFunc(),s,t.filename,this._path.dirname(t.filename)),v.record(32,t.filename),p?d():h(new Error("Didn't receive define call in "+t.filename+"!")),L},c.prototype._getElectronRendererScriptPathOrUri=function(m){if(!this._env.isElectronRenderer)return m;var S=m.match(/^([a-z])\:(.*)/i);return S?"file:///"+(S[1].toUpperCase()+":"+S[2]).replace(/\\/g,"/"):"file://"+m},c.prototype._getCachedDataPath=function(m,S){var t=this._crypto.createHash("md5").update(S,"utf8").update(m.seed,"utf8").update(process.arch,"").digest("hex"),d=this._path.basename(S).replace(/\.js$/,"");return this._path.join(m.path,d+"-"+t+".code")},c.prototype._handleCachedData=function(m,S,t,d,h){var v=this;m.cachedDataRejected?this._fs.unlink(t,function(L){h.getRecorder().record(62,t),v._createAndWriteCachedData(m,S,t,h),L&&h.getConfig().onError(L)}):d&&this._createAndWriteCachedData(m,S,t,h)},c.prototype._createAndWriteCachedData=function(m,S,t,d){var h=this,v=Math.ceil(d.getConfig().getOptionsLiteral().nodeCachedData.writeDelay*(1+Math.random())),L=-1,C=0,y=void 0,p=function(){setTimeout(function(){y||(y=h._crypto.createHash("md5").update(S,"utf8").digest());var s=m.createCachedData();if(!(s.length===0||s.length===L||C>=5)){if(s.length<L){p();return}L=s.length,h._fs.writeFile(t,Buffer.concat([y,s]),function(i){i&&d.getConfig().onError(i),d.getRecorder().record(63,t),p()})}},v*Math.pow(4,C++))};p()},c.prototype._readSourceAndCachedData=function(m,S,t,d){if(!S)this._fs.readFile(m,{encoding:"utf8"},d);else{var h=void 0,v=void 0,L=void 0,C=2,y=function(p){p?d(p):--C==0&&d(void 0,h,v,L)};this._fs.readFile(m,{encoding:"utf8"},function(p,s){h=s,y(p)}),this._fs.readFile(S,function(p,s){!p&&s&&s.length>0?(L=s.slice(0,16),v=s.slice(16),t.record(60,S)):t.record(61,S),y()})}},c.prototype._verifyCachedData=function(m,S,t,d,h){var v=this;!d||m.cachedDataRejected||setTimeout(function(){var L=v._crypto.createHash("md5").update(S,"utf8").digest();d.equals(L)||(h.getConfig().onError(new Error("FAILED TO VERIFY CACHED DATA, deleting stale '"+t+"' now, but a RESTART IS REQUIRED")),v._fs.unlink(t,function(C){C&&h.getConfig().onError(C)}))},Math.ceil(5e3*(1+Math.random())))},c._BOM=65279,c._PREFIX="(function (require, define, __filename, __dirname) { ",c._SUFFIX=`
+});`,c}();function w(c,m){if(m.__$__isRecorded)return m;var S=function(d){c.record(33,d);try{return m(d)}finally{c.record(34,d)}};return S.__$__isRecorded=!0,S}U.ensureRecordedNodeRequire=w;function g(c){return new r(c)}U.createScriptLoader=g})(re||(re={}));var re;(function(U){var r=function(){function g(c){var m=c.lastIndexOf("/");m!==-1?this.fromModulePath=c.substr(0,m+1):this.fromModulePath=""}return g._normalizeModuleId=function(c){var m=c,S;for(S=/\/\.\//;S.test(m);)m=m.replace(S,"/");for(m=m.replace(/^\.\//g,""),S=/\/(([^\/])|([^\/][^\/\.])|([^\/\.][^\/])|([^\/][^\/][^\/]+))\/\.\.\//;S.test(m);)m=m.replace(S,"/");return m=m.replace(/^(([^\/])|([^\/][^\/\.])|([^\/\.][^\/])|([^\/][^\/][^\/]+))\/\.\.\//,""),m},g.prototype.resolveModule=function(c){var m=c;return U.Utilities.isAbsolutePath(m)||(U.Utilities.startsWith(m,"./")||U.Utilities.startsWith(m,"../"))&&(m=g._normalizeModuleId(this.fromModulePath+m)),m},g.ROOT=new g(""),g}();U.ModuleIdResolver=r;var E=function(){function g(c,m,S,t,d,h){this.id=c,this.strId=m,this.dependencies=S,this._callback=t,this._errorback=d,this.moduleIdResolver=h,this.exports={},this.error=null,this.exportsPassedIn=!1,this.unresolvedDependenciesCount=this.dependencies.length,this._isComplete=!1}return g._safeInvokeFunction=function(c,m){try{return{returnedValue:c.apply(U.global,m),producedError:null}}catch(S){return{returnedValue:null,producedError:S}}},g._invokeFactory=function(c,m,S,t){return c.isBuild()&&!U.Utilities.isAnonymousModule(m)?{returnedValue:null,producedError:null}:c.shouldCatchError()?this._safeInvokeFunction(S,t):{returnedValue:S.apply(U.global,t),producedError:null}},g.prototype.complete=function(c,m,S){this._isComplete=!0;var t=null;if(this._callback)if(typeof this._callback=="function"){c.record(21,this.strId);var d=g._invokeFactory(m,this.strId,this._callback,S);t=d.producedError,c.record(22,this.strId),!t&&typeof d.returnedValue!="undefined"&&(!this.exportsPassedIn||U.Utilities.isEmpty(this.exports))&&(this.exports=d.returnedValue)}else this.exports=this._callback;if(t){var h=U.ensureError(t);h.phase="factory",h.moduleId=this.strId,this.error=h,m.onError(h)}this.dependencies=null,this._callback=null,this._errorback=null,this.moduleIdResolver=null},g.prototype.onDependencyError=function(c){return this._isComplete=!0,this.error=c,this._errorback?(this._errorback(c),!0):!1},g.prototype.isComplete=function(){return this._isComplete},g}();U.Module=E;var e=function(){function g(){this._nextId=0,this._strModuleIdToIntModuleId=new Map,this._intModuleIdToStrModuleId=[],this.getModuleId("exports"),this.getModuleId("module"),this.getModuleId("require")}return g.prototype.getMaxModuleId=function(){return this._nextId},g.prototype.getModuleId=function(c){var m=this._strModuleIdToIntModuleId.get(c);return typeof m=="undefined"&&(m=this._nextId++,this._strModuleIdToIntModuleId.set(c,m),this._intModuleIdToStrModuleId[m]=c),m},g.prototype.getStrModuleId=function(c){return this._intModuleIdToStrModuleId[c]},g}(),N=function(){function g(c){this.id=c}return g.EXPORTS=new g(0),g.MODULE=new g(1),g.REQUIRE=new g(2),g}();U.RegularDependency=N;var o=function(){function g(c,m,S){this.id=c,this.pluginId=m,this.pluginParam=S}return g}();U.PluginDependency=o;var w=function(){function g(c,m,S,t,d){d===void 0&&(d=0),this._env=c,this._scriptLoader=m,this._loaderAvailableTimestamp=d,this._defineFunc=S,this._requireFunc=t,this._moduleIdProvider=new e,this._config=new U.Configuration(this._env),this._hasDependencyCycle=!1,this._modules2=[],this._knownModules2=[],this._inverseDependencies2=[],this._inversePluginDependencies2=new Map,this._currentAnonymousDefineCall=null,this._recorder=null,this._buildInfoPath=[],this._buildInfoDefineStack=[],this._buildInfoDependencies=[]}return g.prototype.reset=function(){return new g(this._env,this._scriptLoader,this._defineFunc,this._requireFunc,this._loaderAvailableTimestamp)},g.prototype.getGlobalAMDDefineFunc=function(){return this._defineFunc},g.prototype.getGlobalAMDRequireFunc=function(){return this._requireFunc},g._findRelevantLocationInStack=function(c,m){for(var S=function(i){return i.replace(/\\/g,"/")},t=S(c),d=m.split(/\n/),h=0;h<d.length;h++){var v=d[h].match(/(.*):(\d+):(\d+)\)?$/);if(v){var L=v[1],C=v[2],y=v[3],p=Math.max(L.lastIndexOf(" ")+1,L.lastIndexOf("(")+1);if(L=L.substr(p),L=S(L),L===t){var s={line:parseInt(C,10),col:parseInt(y,10)};return s.line===1&&(s.col-="(function (require, define, __filename, __dirname) { ".length),s}}}throw new Error("Could not correlate define call site for needle "+c)},g.prototype.getBuildInfo=function(){if(!this._config.isBuild())return null;for(var c=[],m=0,S=0,t=this._modules2.length;S<t;S++){var d=this._modules2[S];if(!!d){var h=this._buildInfoPath[d.id]||null,v=this._buildInfoDefineStack[d.id]||null,L=this._buildInfoDependencies[d.id];c[m++]={id:d.strId,path:h,defineLocation:h&&v?g._findRelevantLocationInStack(h,v):null,dependencies:L,shim:null,exports:d.exports}}}return c},g.prototype.getRecorder=function(){return this._recorder||(this._config.shouldRecordStats()?this._recorder=new U.LoaderEventRecorder(this._loaderAvailableTimestamp):this._recorder=U.NullLoaderEventRecorder.INSTANCE),this._recorder},g.prototype.getLoaderEvents=function(){return this.getRecorder().getEvents()},g.prototype.enqueueDefineAnonymousModule=function(c,m){if(this._currentAnonymousDefineCall!==null)throw new Error("Can only have one anonymous define call per script file");var S=null;this._config.isBuild()&&(S=new Error("StackLocation").stack||null),this._currentAnonymousDefineCall={stack:S,dependencies:c,callback:m}},g.prototype.defineModule=function(c,m,S,t,d,h){var v=this;h===void 0&&(h=new r(c));var L=this._moduleIdProvider.getModuleId(c);if(this._modules2[L]){this._config.isDuplicateMessageIgnoredFor(c)||console.warn("Duplicate definition of module '"+c+"'");return}var C=new E(L,c,this._normalizeDependencies(m,h),S,t,h);this._modules2[L]=C,this._config.isBuild()&&(this._buildInfoDefineStack[L]=d,this._buildInfoDependencies[L]=(C.dependencies||[]).map(function(y){return v._moduleIdProvider.getStrModuleId(y.id)})),this._resolve(C)},g.prototype._normalizeDependency=function(c,m){if(c==="exports")return N.EXPORTS;if(c==="module")return N.MODULE;if(c==="require")return N.REQUIRE;var S=c.indexOf("!");if(S>=0){var t=m.resolveModule(c.substr(0,S)),d=m.resolveModule(c.substr(S+1)),h=this._moduleIdProvider.getModuleId(t+"!"+d),v=this._moduleIdProvider.getModuleId(t);return new o(h,v,d)}return new N(this._moduleIdProvider.getModuleId(m.resolveModule(c)))},g.prototype._normalizeDependencies=function(c,m){for(var S=[],t=0,d=0,h=c.length;d<h;d++)S[t++]=this._normalizeDependency(c[d],m);return S},g.prototype._relativeRequire=function(c,m,S,t){if(typeof m=="string")return this.synchronousRequire(m,c);this.defineModule(U.Utilities.generateAnonymousModule(),m,S,t,null,c)},g.prototype.synchronousRequire=function(c,m){m===void 0&&(m=new r(c));var S=this._normalizeDependency(c,m),t=this._modules2[S.id];if(!t)throw new Error("Check dependency list! Synchronous require cannot resolve module '"+c+"'. This is the first mention of this module!");if(!t.isComplete())throw new Error("Check dependency list! Synchronous require cannot resolve module '"+c+"'. This module has not been resolved completely yet.");if(t.error)throw t.error;return t.exports},g.prototype.configure=function(c,m){var S=this._config.shouldRecordStats();m?this._config=new U.Configuration(this._env,c):this._config=this._config.cloneAndMerge(c),this._config.shouldRecordStats()&&!S&&(this._recorder=null)},g.prototype.getConfig=function(){return this._config},g.prototype._onLoad=function(c){if(this._currentAnonymousDefineCall!==null){var m=this._currentAnonymousDefineCall;this._currentAnonymousDefineCall=null,this.defineModule(this._moduleIdProvider.getStrModuleId(c),m.dependencies,m.callback,null,m.stack)}},g.prototype._createLoadError=function(c,m){var S=this,t=this._moduleIdProvider.getStrModuleId(c),d=(this._inverseDependencies2[c]||[]).map(function(v){return S._moduleIdProvider.getStrModuleId(v)}),h=U.ensureError(m);return h.phase="loading",h.moduleId=t,h.neededBy=d,h},g.prototype._onLoadError=function(c,m){var S=this._createLoadError(c,m);this._modules2[c]||(this._modules2[c]=new E(c,this._moduleIdProvider.getStrModuleId(c),[],function(){},null,null));for(var t=[],d=0,h=this._moduleIdProvider.getMaxModuleId();d<h;d++)t[d]=!1;var v=!1,L=[];for(L.push(c),t[c]=!0;L.length>0;){var C=L.shift(),y=this._modules2[C];y&&(v=y.onDependencyError(S)||v);var p=this._inverseDependencies2[C];if(p)for(var d=0,h=p.length;d<h;d++){var s=p[d];t[s]||(L.push(s),t[s]=!0)}}v||this._config.onError(S)},g.prototype._hasDependencyPath=function(c,m){var S=this._modules2[c];if(!S)return!1;for(var t=[],d=0,h=this._moduleIdProvider.getMaxModuleId();d<h;d++)t[d]=!1;var v=[];for(v.push(S),t[c]=!0;v.length>0;){var L=v.shift(),C=L.dependencies;if(C)for(var d=0,h=C.length;d<h;d++){var y=C[d];if(y.id===m)return!0;var p=this._modules2[y.id];p&&!t[y.id]&&(t[y.id]=!0,v.push(p))}}return!1},g.prototype._findCyclePath=function(c,m,S){if(c===m||S===50)return[c];var t=this._modules2[c];if(!t)return null;var d=t.dependencies;if(d)for(var h=0,v=d.length;h<v;h++){var L=this._findCyclePath(d[h].id,m,S+1);if(L!==null)return L.push(c),L}return null},g.prototype._createRequire=function(c){var m=this,S=function(t,d,h){return m._relativeRequire(c,t,d,h)};return S.toUrl=function(t){return m._config.requireToUrl(c.resolveModule(t))},S.getStats=function(){return m.getLoaderEvents()},S.hasDependencyCycle=function(){return m._hasDependencyCycle},S.config=function(t,d){d===void 0&&(d=!1),m.configure(t,d)},S.__$__nodeRequire=U.global.nodeRequire,S},g.prototype._loadModule=function(c){var m=this;if(!(this._modules2[c]||this._knownModules2[c])){this._knownModules2[c]=!0;var S=this._moduleIdProvider.getStrModuleId(c),t=this._config.moduleIdToPaths(S),d=/^@[^\/]+\/[^\/]+$/;this._env.isNode&&(S.indexOf("/")===-1||d.test(S))&&t.push("node|"+S);var h=-1,v=function(L){if(h++,h>=t.length)m._onLoadError(c,L);else{var C=t[h],y=m.getRecorder();if(m._config.isBuild()&&C==="empty:"){m._buildInfoPath[c]=C,m.defineModule(m._moduleIdProvider.getStrModuleId(c),[],null,null,null),m._onLoad(c);return}y.record(10,C),m._scriptLoader.load(m,C,function(){m._config.isBuild()&&(m._buildInfoPath[c]=C),y.record(11,C),m._onLoad(c)},function(p){y.record(12,C),v(p)})}};v(null)}},g.prototype._loadPluginDependency=function(c,m){var S=this;if(!(this._modules2[m.id]||this._knownModules2[m.id])){this._knownModules2[m.id]=!0;var t=function(d){S.defineModule(S._moduleIdProvider.getStrModuleId(m.id),[],d,null,null)};t.error=function(d){S._config.onError(S._createLoadError(m.id,d))},c.load(m.pluginParam,this._createRequire(r.ROOT),t,this._config.getOptionsLiteral())}},g.prototype._resolve=function(c){var m=this,S=c.dependencies;if(S)for(var t=0,d=S.length;t<d;t++){var h=S[t];if(h===N.EXPORTS){c.exportsPassedIn=!0,c.unresolvedDependenciesCount--;continue}if(h===N.MODULE){c.unresolvedDependenciesCount--;continue}if(h===N.REQUIRE){c.unresolvedDependenciesCount--;continue}var v=this._modules2[h.id];if(v&&v.isComplete()){if(v.error){c.onDependencyError(v.error);return}c.unresolvedDependenciesCount--;continue}if(this._hasDependencyPath(h.id,c.id)){this._hasDependencyCycle=!0,console.warn("There is a dependency cycle between '"+this._moduleIdProvider.getStrModuleId(h.id)+"' and '"+this._moduleIdProvider.getStrModuleId(c.id)+"'. The cyclic path follows:");var L=this._findCyclePath(h.id,c.id,0)||[];L.reverse(),L.push(h.id),console.warn(L.map(function(p){return m._moduleIdProvider.getStrModuleId(p)}).join(` => 
+`)),c.unresolvedDependenciesCount--;continue}if(this._inverseDependencies2[h.id]=this._inverseDependencies2[h.id]||[],this._inverseDependencies2[h.id].push(c.id),h instanceof o){var C=this._modules2[h.pluginId];if(C&&C.isComplete()){this._loadPluginDependency(C.exports,h);continue}var y=this._inversePluginDependencies2.get(h.pluginId);y||(y=[],this._inversePluginDependencies2.set(h.pluginId,y)),y.push(h),this._loadModule(h.pluginId);continue}this._loadModule(h.id)}c.unresolvedDependenciesCount===0&&this._onModuleComplete(c)},g.prototype._onModuleComplete=function(c){var m=this,S=this.getRecorder();if(!c.isComplete()){var t=c.dependencies,d=[];if(t)for(var h=0,v=t.length;h<v;h++){var L=t[h];if(L===N.EXPORTS){d[h]=c.exports;continue}if(L===N.MODULE){d[h]={id:c.strId,config:function(){return m._config.getConfigForModule(c.strId)}};continue}if(L===N.REQUIRE){d[h]=this._createRequire(c.moduleIdResolver);continue}var C=this._modules2[L.id];if(C){d[h]=C.exports;continue}d[h]=null}c.complete(S,this._config,d);var y=this._inverseDependencies2[c.id];if(this._inverseDependencies2[c.id]=null,y)for(var h=0,v=y.length;h<v;h++){var p=y[h],s=this._modules2[p];s.unresolvedDependenciesCount--,s.unresolvedDependenciesCount===0&&this._onModuleComplete(s)}var i=this._inversePluginDependencies2.get(c.id);if(i){this._inversePluginDependencies2.delete(c.id);for(var h=0,v=i.length;h<v;h++)this._loadPluginDependency(c.exports,i[h])}}},g}();U.ModuleManager=w})(re||(re={}));var Y,re;(function(U){var r=new U.Environment,E=null,e=function(g,c,m){typeof g!="string"&&(m=c,c=g,g=null),(typeof c!="object"||!Array.isArray(c))&&(m=c,c=null),c||(c=["require","exports","module"]),g?E.defineModule(g,c,m,null,null):E.enqueueDefineAnonymousModule(c,m)};e.amd={jQuery:!0};var N=function(g,c){c===void 0&&(c=!1),E.configure(g,c)},o=function(){if(arguments.length===1){if(arguments[0]instanceof Object&&!Array.isArray(arguments[0])){N(arguments[0]);return}if(typeof arguments[0]=="string")return E.synchronousRequire(arguments[0])}if((arguments.length===2||arguments.length===3)&&Array.isArray(arguments[0])){E.defineModule(U.Utilities.generateAnonymousModule(),arguments[0],arguments[1],arguments[2],null);return}throw new Error("Unrecognized require call")};o.config=N,o.getConfig=function(){return E.getConfig().getOptionsLiteral()},o.reset=function(){E=E.reset()},o.getBuildInfo=function(){return E.getBuildInfo()},o.getStats=function(){return E.getLoaderEvents()},o.define=e;function w(){if(typeof U.global.require!="undefined"||typeof require!="undefined"){var g=U.global.require||require;if(typeof g=="function"&&typeof g.resolve=="function"){var c=U.ensureRecordedNodeRequire(E.getRecorder(),g);U.global.nodeRequire=c,o.nodeRequire=c,o.__$__nodeRequire=c}}r.isNode&&!r.isElectronRenderer&&!r.isElectronNodeIntegrationWebWorker?(module.exports=o,require=o):(r.isElectronRenderer||(U.global.define=e),U.global.require=o)}U.init=w,(typeof U.global.define!="function"||!U.global.define.amd)&&(E=new U.ModuleManager(r,U.createScriptLoader(r),e,o,U.Utilities.getHighPerformanceTimestamp()),typeof U.global.require!="undefined"&&typeof U.global.require!="function"&&o.config(U.global.require),Y=function(){return e.apply(null,arguments)},Y.amd=e.amd,typeof doNotInitLoader=="undefined"&&w())})(re||(re={})),Y(Q[16],Z([0,1]),function(U,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.ArrayQueue=r.findMinBy=r.findLastMaxBy=r.findMaxBy=r.numberComparator=r.compareBy=r.splice=r.insertInto=r.asArray=r.pushToEnd=r.pushToStart=r.arrayInsert=r.range=r.flatten=r.firstOrDefault=r.lastIndex=r.findLast=r.distinct=r.isNonEmptyArray=r.isFalsyOrEmpty=r.coalesce=r.groupBy=r.quickSelect=r.findFirstInSorted=r.binarySearch=r.equals=r.tail2=r.tail=void 0;function E(R,I=0){return R[R.length-(1+I)]}r.tail=E;function e(R){if(R.length===0)throw new Error("Invalid tail call");return[R.slice(0,R.length-1),R[R.length-1]]}r.tail2=e;function N(R,I,F=(O,V)=>O===V){if(R===I)return!0;if(!R||!I||R.length!==I.length)return!1;for(let O=0,V=R.length;O<V;O++)if(!F(R[O],I[O]))return!1;return!0}r.equals=N;function o(R,I,F){let O=0,V=R.length-1;for(;O<=V;){const K=(O+V)/2|0,$=F(R[K],I);if($<0)O=K+1;else if($>0)V=K-1;else return K}return-(O+1)}r.binarySearch=o;function w(R,I){let F=0,O=R.length;if(O===0)return 0;for(;F<O;){const V=Math.floor((F+O)/2);I(R[V])?O=V:F=V+1}return F}r.findFirstInSorted=w;function g(R,I,F){if(R=R|0,R>=I.length)throw new TypeError("invalid index");let O=I[Math.floor(I.length*Math.random())],V=[],K=[],$=[];for(let z of I){const n=F(z,O);n<0?V.push(z):n>0?K.push(z):$.push(z)}return R<V.length?g(R,V,F):R<V.length+$.length?$[0]:g(R-(V.length+$.length),K,F)}r.quickSelect=g;function c(R,I){const F=[];let O;for(const V of R.slice(0).sort(I))!O||I(O[0],V)!==0?(O=[V],F.push(O)):O.push(V);return F}r.groupBy=c;function m(R){return R.filter(I=>!!I)}r.coalesce=m;function S(R){return!Array.isArray(R)||R.length===0}r.isFalsyOrEmpty=S;function t(R){return Array.isArray(R)&&R.length>0}r.isNonEmptyArray=t;function d(R,I=F=>F){const F=new Set;return R.filter(O=>{const V=I(O);return F.has(V)?!1:(F.add(V),!0)})}r.distinct=d;function h(R,I){const F=v(R,I);if(F!==-1)return R[F]}r.findLast=h;function v(R,I){for(let F=R.length-1;F>=0;F--){const O=R[F];if(I(O))return F}return-1}r.lastIndex=v;function L(R,I){return R.length>0?R[0]:I}r.firstOrDefault=L;function C(R){return[].concat(...R)}r.flatten=C;function y(R,I){let F=typeof I=="number"?R:0;typeof I=="number"?F=R:(F=0,I=R);const O=[];if(F<=I)for(let V=F;V<I;V++)O.push(V);else for(let V=F;V>I;V--)O.push(V);return O}r.range=y;function p(R,I,F){const O=R.slice(0,I),V=R.slice(I);return O.concat(F,V)}r.arrayInsert=p;function s(R,I){const F=R.indexOf(I);F>-1&&(R.splice(F,1),R.unshift(I))}r.pushToStart=s;function i(R,I){const F=R.indexOf(I);F>-1&&(R.splice(F,1),R.push(I))}r.pushToEnd=i;function a(R){return Array.isArray(R)?R:[R]}r.asArray=a;function l(R,I,F){const O=u(R,I),V=R.length,K=F.length;R.length=V+K;for(let $=V-1;$>=O;$--)R[$+K]=R[$];for(let $=0;$<K;$++)R[$+O]=F[$]}r.insertInto=l;function f(R,I,F,O){const V=u(R,I),K=R.splice(V,F);return l(R,V,O),K}r.splice=f;function u(R,I){return I<0?Math.max(I+R.length,0):Math.min(I,R.length)}function _(R,I){return(F,O)=>I(R(F),R(O))}r.compareBy=_;const b=(R,I)=>R-I;r.numberComparator=b;function A(R,I){if(R.length===0)return;let F=R[0];for(let O=1;O<R.length;O++){const V=R[O];I(V,F)>0&&(F=V)}return F}r.findMaxBy=A;function P(R,I){if(R.length===0)return;let F=R[0];for(let O=1;O<R.length;O++){const V=R[O];I(V,F)>=0&&(F=V)}return F}r.findLastMaxBy=P;function D(R,I){return A(R,(F,O)=>-I(F,O))}r.findMinBy=D;class k{constructor(I){this.items=I,this.firstIdx=0,this.lastIdx=this.items.length-1}takeWhile(I){let F=this.firstIdx;for(;F<this.items.length&&I(this.items[F]);)F++;const O=F===this.firstIdx?null:this.items.slice(this.firstIdx,F);return this.firstIdx=F,O}takeFromEndWhile(I){let F=this.lastIdx;for(;F>=0&&I(this.items[F]);)F--;const O=F===this.lastIdx?null:this.items.slice(F+1,this.lastIdx+1);return this.lastIdx=F,O}peek(){return this.items[this.firstIdx]}dequeue(){const I=this.items[this.firstIdx];return this.firstIdx++,I}takeCount(I){const F=this.items.slice(this.firstIdx,this.firstIdx+I);return this.firstIdx+=I,F}}r.ArrayQueue=k}),Y(Q[17],Z([0,1]),function(U,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.LRUCachedComputed=void 0;class E{constructor(N){this.computeFn=N,this.lastCache=void 0,this.lastArgKey=void 0}get(N){const o=JSON.stringify(N);return this.lastArgKey!==o&&(this.lastArgKey=o,this.lastCache=this.computeFn(N)),this.lastCache}}r.LRUCachedComputed=E}),Y(Q[18],Z([0,1]),function(U,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.CSSIcon=r.Codicon=r.getCodiconAriaLabel=void 0;function E(o){return o?o.replace(/\$\((.*?)\)/g,(w,g)=>` ${g} `).trim():""}r.getCodiconAriaLabel=E;class e{constructor(w,g,c){this.id=w,this.definition=g,this.description=c,e._allCodicons.push(this)}get classNames(){return"codicon codicon-"+this.id}get classNamesArray(){return["codicon","codicon-"+this.id]}get cssSelector(){return".codicon.codicon-"+this.id}static getAll(){return e._allCodicons}}r.Codicon=e,e._allCodicons=[],e.add=new e("add",{fontCharacter:"\\ea60"}),e.plus=new e("plus",e.add.definition),e.gistNew=new e("gist-new",e.add.definition),e.repoCreate=new e("repo-create",e.add.definition),e.lightbulb=new e("lightbulb",{fontCharacter:"\\ea61"}),e.lightBulb=new e("light-bulb",{fontCharacter:"\\ea61"}),e.repo=new e("repo",{fontCharacter:"\\ea62"}),e.repoDelete=new e("repo-delete",{fontCharacter:"\\ea62"}),e.gistFork=new e("gist-fork",{fontCharacter:"\\ea63"}),e.repoForked=new e("repo-forked",{fontCharacter:"\\ea63"}),e.gitPullRequest=new e("git-pull-request",{fontCharacter:"\\ea64"}),e.gitPullRequestAbandoned=new e("git-pull-request-abandoned",{fontCharacter:"\\ea64"}),e.recordKeys=new e("record-keys",{fontCharacter:"\\ea65"}),e.keyboard=new e("keyboard",{fontCharacter:"\\ea65"}),e.tag=new e("tag",{fontCharacter:"\\ea66"}),e.tagAdd=new e("tag-add",{fontCharacter:"\\ea66"}),e.tagRemove=new e("tag-remove",{fontCharacter:"\\ea66"}),e.person=new e("person",{fontCharacter:"\\ea67"}),e.personFollow=new e("person-follow",{fontCharacter:"\\ea67"}),e.personOutline=new e("person-outline",{fontCharacter:"\\ea67"}),e.personFilled=new e("person-filled",{fontCharacter:"\\ea67"}),e.gitBranch=new e("git-branch",{fontCharacter:"\\ea68"}),e.gitBranchCreate=new e("git-branch-create",{fontCharacter:"\\ea68"}),e.gitBranchDelete=new e("git-branch-delete",{fontCharacter:"\\ea68"}),e.sourceControl=new e("source-control",{fontCharacter:"\\ea68"}),e.mirror=new e("mirror",{fontCharacter:"\\ea69"}),e.mirrorPublic=new e("mirror-public",{fontCharacter:"\\ea69"}),e.star=new e("star",{fontCharacter:"\\ea6a"}),e.starAdd=new e("star-add",{fontCharacter:"\\ea6a"}),e.starDelete=new e("star-delete",{fontCharacter:"\\ea6a"}),e.starEmpty=new e("star-empty",{fontCharacter:"\\ea6a"}),e.comment=new e("comment",{fontCharacter:"\\ea6b"}),e.commentAdd=new e("comment-add",{fontCharacter:"\\ea6b"}),e.alert=new e("alert",{fontCharacter:"\\ea6c"}),e.warning=new e("warning",{fontCharacter:"\\ea6c"}),e.search=new e("search",{fontCharacter:"\\ea6d"}),e.searchSave=new e("search-save",{fontCharacter:"\\ea6d"}),e.logOut=new e("log-out",{fontCharacter:"\\ea6e"}),e.signOut=new e("sign-out",{fontCharacter:"\\ea6e"}),e.logIn=new e("log-in",{fontCharacter:"\\ea6f"}),e.signIn=new e("sign-in",{fontCharacter:"\\ea6f"}),e.eye=new e("eye",{fontCharacter:"\\ea70"}),e.eyeUnwatch=new e("eye-unwatch",{fontCharacter:"\\ea70"}),e.eyeWatch=new e("eye-watch",{fontCharacter:"\\ea70"}),e.circleFilled=new e("circle-filled",{fontCharacter:"\\ea71"}),e.primitiveDot=new e("primitive-dot",{fontCharacter:"\\ea71"}),e.closeDirty=new e("close-dirty",{fontCharacter:"\\ea71"}),e.debugBreakpoint=new e("debug-breakpoint",{fontCharacter:"\\ea71"}),e.debugBreakpointDisabled=new e("debug-breakpoint-disabled",{fontCharacter:"\\ea71"}),e.debugHint=new e("debug-hint",{fontCharacter:"\\ea71"}),e.primitiveSquare=new e("primitive-square",{fontCharacter:"\\ea72"}),e.edit=new e("edit",{fontCharacter:"\\ea73"}),e.pencil=new e("pencil",{fontCharacter:"\\ea73"}),e.info=new e("info",{fontCharacter:"\\ea74"}),e.issueOpened=new e("issue-opened",{fontCharacter:"\\ea74"}),e.gistPrivate=new e("gist-private",{fontCharacter:"\\ea75"}),e.gitForkPrivate=new e("git-fork-private",{fontCharacter:"\\ea75"}),e.lock=new e("lock",{fontCharacter:"\\ea75"}),e.mirrorPrivate=new e("mirror-private",{fontCharacter:"\\ea75"}),e.close=new e("close",{fontCharacter:"\\ea76"}),e.removeClose=new e("remove-close",{fontCharacter:"\\ea76"}),e.x=new e("x",{fontCharacter:"\\ea76"}),e.repoSync=new e("repo-sync",{fontCharacter:"\\ea77"}),e.sync=new e("sync",{fontCharacter:"\\ea77"}),e.clone=new e("clone",{fontCharacter:"\\ea78"}),e.desktopDownload=new e("desktop-download",{fontCharacter:"\\ea78"}),e.beaker=new e("beaker",{fontCharacter:"\\ea79"}),e.microscope=new e("microscope",{fontCharacter:"\\ea79"}),e.vm=new e("vm",{fontCharacter:"\\ea7a"}),e.deviceDesktop=new e("device-desktop",{fontCharacter:"\\ea7a"}),e.file=new e("file",{fontCharacter:"\\ea7b"}),e.fileText=new e("file-text",{fontCharacter:"\\ea7b"}),e.more=new e("more",{fontCharacter:"\\ea7c"}),e.ellipsis=new e("ellipsis",{fontCharacter:"\\ea7c"}),e.kebabHorizontal=new e("kebab-horizontal",{fontCharacter:"\\ea7c"}),e.mailReply=new e("mail-reply",{fontCharacter:"\\ea7d"}),e.reply=new e("reply",{fontCharacter:"\\ea7d"}),e.organization=new e("organization",{fontCharacter:"\\ea7e"}),e.organizationFilled=new e("organization-filled",{fontCharacter:"\\ea7e"}),e.organizationOutline=new e("organization-outline",{fontCharacter:"\\ea7e"}),e.newFile=new e("new-file",{fontCharacter:"\\ea7f"}),e.fileAdd=new e("file-add",{fontCharacter:"\\ea7f"}),e.newFolder=new e("new-folder",{fontCharacter:"\\ea80"}),e.fileDirectoryCreate=new e("file-directory-create",{fontCharacter:"\\ea80"}),e.trash=new e("trash",{fontCharacter:"\\ea81"}),e.trashcan=new e("trashcan",{fontCharacter:"\\ea81"}),e.history=new e("history",{fontCharacter:"\\ea82"}),e.clock=new e("clock",{fontCharacter:"\\ea82"}),e.folder=new e("folder",{fontCharacter:"\\ea83"}),e.fileDirectory=new e("file-directory",{fontCharacter:"\\ea83"}),e.symbolFolder=new e("symbol-folder",{fontCharacter:"\\ea83"}),e.logoGithub=new e("logo-github",{fontCharacter:"\\ea84"}),e.markGithub=new e("mark-github",{fontCharacter:"\\ea84"}),e.github=new e("github",{fontCharacter:"\\ea84"}),e.terminal=new e("terminal",{fontCharacter:"\\ea85"}),e.console=new e("console",{fontCharacter:"\\ea85"}),e.repl=new e("repl",{fontCharacter:"\\ea85"}),e.zap=new e("zap",{fontCharacter:"\\ea86"}),e.symbolEvent=new e("symbol-event",{fontCharacter:"\\ea86"}),e.error=new e("error",{fontCharacter:"\\ea87"}),e.stop=new e("stop",{fontCharacter:"\\ea87"}),e.variable=new e("variable",{fontCharacter:"\\ea88"}),e.symbolVariable=new e("symbol-variable",{fontCharacter:"\\ea88"}),e.array=new e("array",{fontCharacter:"\\ea8a"}),e.symbolArray=new e("symbol-array",{fontCharacter:"\\ea8a"}),e.symbolModule=new e("symbol-module",{fontCharacter:"\\ea8b"}),e.symbolPackage=new e("symbol-package",{fontCharacter:"\\ea8b"}),e.symbolNamespace=new e("symbol-namespace",{fontCharacter:"\\ea8b"}),e.symbolObject=new e("symbol-object",{fontCharacter:"\\ea8b"}),e.symbolMethod=new e("symbol-method",{fontCharacter:"\\ea8c"}),e.symbolFunction=new e("symbol-function",{fontCharacter:"\\ea8c"}),e.symbolConstructor=new e("symbol-constructor",{fontCharacter:"\\ea8c"}),e.symbolBoolean=new e("symbol-boolean",{fontCharacter:"\\ea8f"}),e.symbolNull=new e("symbol-null",{fontCharacter:"\\ea8f"}),e.symbolNumeric=new e("symbol-numeric",{fontCharacter:"\\ea90"}),e.symbolNumber=new e("symbol-number",{fontCharacter:"\\ea90"}),e.symbolStructure=new e("symbol-structure",{fontCharacter:"\\ea91"}),e.symbolStruct=new e("symbol-struct",{fontCharacter:"\\ea91"}),e.symbolParameter=new e("symbol-parameter",{fontCharacter:"\\ea92"}),e.symbolTypeParameter=new e("symbol-type-parameter",{fontCharacter:"\\ea92"}),e.symbolKey=new e("symbol-key",{fontCharacter:"\\ea93"}),e.symbolText=new e("symbol-text",{fontCharacter:"\\ea93"}),e.symbolReference=new e("symbol-reference",{fontCharacter:"\\ea94"}),e.goToFile=new e("go-to-file",{fontCharacter:"\\ea94"}),e.symbolEnum=new e("symbol-enum",{fontCharacter:"\\ea95"}),e.symbolValue=new e("symbol-value",{fontCharacter:"\\ea95"}),e.symbolRuler=new e("symbol-ruler",{fontCharacter:"\\ea96"}),e.symbolUnit=new e("symbol-unit",{fontCharacter:"\\ea96"}),e.activateBreakpoints=new e("activate-breakpoints",{fontCharacter:"\\ea97"}),e.archive=new e("archive",{fontCharacter:"\\ea98"}),e.arrowBoth=new e("arrow-both",{fontCharacter:"\\ea99"}),e.arrowDown=new e("arrow-down",{fontCharacter:"\\ea9a"}),e.arrowLeft=new e("arrow-left",{fontCharacter:"\\ea9b"}),e.arrowRight=new e("arrow-right",{fontCharacter:"\\ea9c"}),e.arrowSmallDown=new e("arrow-small-down",{fontCharacter:"\\ea9d"}),e.arrowSmallLeft=new e("arrow-small-left",{fontCharacter:"\\ea9e"}),e.arrowSmallRight=new e("arrow-small-right",{fontCharacter:"\\ea9f"}),e.arrowSmallUp=new e("arrow-small-up",{fontCharacter:"\\eaa0"}),e.arrowUp=new e("arrow-up",{fontCharacter:"\\eaa1"}),e.bell=new e("bell",{fontCharacter:"\\eaa2"}),e.bold=new e("bold",{fontCharacter:"\\eaa3"}),e.book=new e("book",{fontCharacter:"\\eaa4"}),e.bookmark=new e("bookmark",{fontCharacter:"\\eaa5"}),e.debugBreakpointConditionalUnverified=new e("debug-breakpoint-conditional-unverified",{fontCharacter:"\\eaa6"}),e.debugBreakpointConditional=new e("debug-breakpoint-conditional",{fontCharacter:"\\eaa7"}),e.debugBreakpointConditionalDisabled=new e("debug-breakpoint-conditional-disabled",{fontCharacter:"\\eaa7"}),e.debugBreakpointDataUnverified=new e("debug-breakpoint-data-unverified",{fontCharacter:"\\eaa8"}),e.debugBreakpointData=new e("debug-breakpoint-data",{fontCharacter:"\\eaa9"}),e.debugBreakpointDataDisabled=new e("debug-breakpoint-data-disabled",{fontCharacter:"\\eaa9"}),e.debugBreakpointLogUnverified=new e("debug-breakpoint-log-unverified",{fontCharacter:"\\eaaa"}),e.debugBreakpointLog=new e("debug-breakpoint-log",{fontCharacter:"\\eaab"}),e.debugBreakpointLogDisabled=new e("debug-breakpoint-log-disabled",{fontCharacter:"\\eaab"}),e.briefcase=new e("briefcase",{fontCharacter:"\\eaac"}),e.broadcast=new e("broadcast",{fontCharacter:"\\eaad"}),e.browser=new e("browser",{fontCharacter:"\\eaae"}),e.bug=new e("bug",{fontCharacter:"\\eaaf"}),e.calendar=new e("calendar",{fontCharacter:"\\eab0"}),e.caseSensitive=new e("case-sensitive",{fontCharacter:"\\eab1"}),e.check=new e("check",{fontCharacter:"\\eab2"}),e.checklist=new e("checklist",{fontCharacter:"\\eab3"}),e.chevronDown=new e("chevron-down",{fontCharacter:"\\eab4"}),e.dropDownButton=new e("drop-down-button",e.chevronDown.definition),e.chevronLeft=new e("chevron-left",{fontCharacter:"\\eab5"}),e.chevronRight=new e("chevron-right",{fontCharacter:"\\eab6"}),e.chevronUp=new e("chevron-up",{fontCharacter:"\\eab7"}),e.chromeClose=new e("chrome-close",{fontCharacter:"\\eab8"}),e.chromeMaximize=new e("chrome-maximize",{fontCharacter:"\\eab9"}),e.chromeMinimize=new e("chrome-minimize",{fontCharacter:"\\eaba"}),e.chromeRestore=new e("chrome-restore",{fontCharacter:"\\eabb"}),e.circleOutline=new e("circle-outline",{fontCharacter:"\\eabc"}),e.debugBreakpointUnverified=new e("debug-breakpoint-unverified",{fontCharacter:"\\eabc"}),e.circleSlash=new e("circle-slash",{fontCharacter:"\\eabd"}),e.circuitBoard=new e("circuit-board",{fontCharacter:"\\eabe"}),e.clearAll=new e("clear-all",{fontCharacter:"\\eabf"}),e.clippy=new e("clippy",{fontCharacter:"\\eac0"}),e.closeAll=new e("close-all",{fontCharacter:"\\eac1"}),e.cloudDownload=new e("cloud-download",{fontCharacter:"\\eac2"}),e.cloudUpload=new e("cloud-upload",{fontCharacter:"\\eac3"}),e.code=new e("code",{fontCharacter:"\\eac4"}),e.collapseAll=new e("collapse-all",{fontCharacter:"\\eac5"}),e.colorMode=new e("color-mode",{fontCharacter:"\\eac6"}),e.commentDiscussion=new e("comment-discussion",{fontCharacter:"\\eac7"}),e.compareChanges=new e("compare-changes",{fontCharacter:"\\eafd"}),e.creditCard=new e("credit-card",{fontCharacter:"\\eac9"}),e.dash=new e("dash",{fontCharacter:"\\eacc"}),e.dashboard=new e("dashboard",{fontCharacter:"\\eacd"}),e.database=new e("database",{fontCharacter:"\\eace"}),e.debugContinue=new e("debug-continue",{fontCharacter:"\\eacf"}),e.debugDisconnect=new e("debug-disconnect",{fontCharacter:"\\ead0"}),e.debugPause=new e("debug-pause",{fontCharacter:"\\ead1"}),e.debugRestart=new e("debug-restart",{fontCharacter:"\\ead2"}),e.debugStart=new e("debug-start",{fontCharacter:"\\ead3"}),e.debugStepInto=new e("debug-step-into",{fontCharacter:"\\ead4"}),e.debugStepOut=new e("debug-step-out",{fontCharacter:"\\ead5"}),e.debugStepOver=new e("debug-step-over",{fontCharacter:"\\ead6"}),e.debugStop=new e("debug-stop",{fontCharacter:"\\ead7"}),e.debug=new e("debug",{fontCharacter:"\\ead8"}),e.deviceCameraVideo=new e("device-camera-video",{fontCharacter:"\\ead9"}),e.deviceCamera=new e("device-camera",{fontCharacter:"\\eada"}),e.deviceMobile=new e("device-mobile",{fontCharacter:"\\eadb"}),e.diffAdded=new e("diff-added",{fontCharacter:"\\eadc"}),e.diffIgnored=new e("diff-ignored",{fontCharacter:"\\eadd"}),e.diffModified=new e("diff-modified",{fontCharacter:"\\eade"}),e.diffRemoved=new e("diff-removed",{fontCharacter:"\\eadf"}),e.diffRenamed=new e("diff-renamed",{fontCharacter:"\\eae0"}),e.diff=new e("diff",{fontCharacter:"\\eae1"}),e.discard=new e("discard",{fontCharacter:"\\eae2"}),e.editorLayout=new e("editor-layout",{fontCharacter:"\\eae3"}),e.emptyWindow=new e("empty-window",{fontCharacter:"\\eae4"}),e.exclude=new e("exclude",{fontCharacter:"\\eae5"}),e.extensions=new e("extensions",{fontCharacter:"\\eae6"}),e.eyeClosed=new e("eye-closed",{fontCharacter:"\\eae7"}),e.fileBinary=new e("file-binary",{fontCharacter:"\\eae8"}),e.fileCode=new e("file-code",{fontCharacter:"\\eae9"}),e.fileMedia=new e("file-media",{fontCharacter:"\\eaea"}),e.filePdf=new e("file-pdf",{fontCharacter:"\\eaeb"}),e.fileSubmodule=new e("file-submodule",{fontCharacter:"\\eaec"}),e.fileSymlinkDirectory=new e("file-symlink-directory",{fontCharacter:"\\eaed"}),e.fileSymlinkFile=new e("file-symlink-file",{fontCharacter:"\\eaee"}),e.fileZip=new e("file-zip",{fontCharacter:"\\eaef"}),e.files=new e("files",{fontCharacter:"\\eaf0"}),e.filter=new e("filter",{fontCharacter:"\\eaf1"}),e.flame=new e("flame",{fontCharacter:"\\eaf2"}),e.foldDown=new e("fold-down",{fontCharacter:"\\eaf3"}),e.foldUp=new e("fold-up",{fontCharacter:"\\eaf4"}),e.fold=new e("fold",{fontCharacter:"\\eaf5"}),e.folderActive=new e("folder-active",{fontCharacter:"\\eaf6"}),e.folderOpened=new e("folder-opened",{fontCharacter:"\\eaf7"}),e.gear=new e("gear",{fontCharacter:"\\eaf8"}),e.gift=new e("gift",{fontCharacter:"\\eaf9"}),e.gistSecret=new e("gist-secret",{fontCharacter:"\\eafa"}),e.gist=new e("gist",{fontCharacter:"\\eafb"}),e.gitCommit=new e("git-commit",{fontCharacter:"\\eafc"}),e.gitCompare=new e("git-compare",{fontCharacter:"\\eafd"}),e.gitMerge=new e("git-merge",{fontCharacter:"\\eafe"}),e.githubAction=new e("github-action",{fontCharacter:"\\eaff"}),e.githubAlt=new e("github-alt",{fontCharacter:"\\eb00"}),e.globe=new e("globe",{fontCharacter:"\\eb01"}),e.grabber=new e("grabber",{fontCharacter:"\\eb02"}),e.graph=new e("graph",{fontCharacter:"\\eb03"}),e.gripper=new e("gripper",{fontCharacter:"\\eb04"}),e.heart=new e("heart",{fontCharacter:"\\eb05"}),e.home=new e("home",{fontCharacter:"\\eb06"}),e.horizontalRule=new e("horizontal-rule",{fontCharacter:"\\eb07"}),e.hubot=new e("hubot",{fontCharacter:"\\eb08"}),e.inbox=new e("inbox",{fontCharacter:"\\eb09"}),e.issueClosed=new e("issue-closed",{fontCharacter:"\\eba4"}),e.issueReopened=new e("issue-reopened",{fontCharacter:"\\eb0b"}),e.issues=new e("issues",{fontCharacter:"\\eb0c"}),e.italic=new e("italic",{fontCharacter:"\\eb0d"}),e.jersey=new e("jersey",{fontCharacter:"\\eb0e"}),e.json=new e("json",{fontCharacter:"\\eb0f"}),e.kebabVertical=new e("kebab-vertical",{fontCharacter:"\\eb10"}),e.key=new e("key",{fontCharacter:"\\eb11"}),e.law=new e("law",{fontCharacter:"\\eb12"}),e.lightbulbAutofix=new e("lightbulb-autofix",{fontCharacter:"\\eb13"}),e.linkExternal=new e("link-external",{fontCharacter:"\\eb14"}),e.link=new e("link",{fontCharacter:"\\eb15"}),e.listOrdered=new e("list-ordered",{fontCharacter:"\\eb16"}),e.listUnordered=new e("list-unordered",{fontCharacter:"\\eb17"}),e.liveShare=new e("live-share",{fontCharacter:"\\eb18"}),e.loading=new e("loading",{fontCharacter:"\\eb19"}),e.location=new e("location",{fontCharacter:"\\eb1a"}),e.mailRead=new e("mail-read",{fontCharacter:"\\eb1b"}),e.mail=new e("mail",{fontCharacter:"\\eb1c"}),e.markdown=new e("markdown",{fontCharacter:"\\eb1d"}),e.megaphone=new e("megaphone",{fontCharacter:"\\eb1e"}),e.mention=new e("mention",{fontCharacter:"\\eb1f"}),e.milestone=new e("milestone",{fontCharacter:"\\eb20"}),e.mortarBoard=new e("mortar-board",{fontCharacter:"\\eb21"}),e.move=new e("move",{fontCharacter:"\\eb22"}),e.multipleWindows=new e("multiple-windows",{fontCharacter:"\\eb23"}),e.mute=new e("mute",{fontCharacter:"\\eb24"}),e.noNewline=new e("no-newline",{fontCharacter:"\\eb25"}),e.note=new e("note",{fontCharacter:"\\eb26"}),e.octoface=new e("octoface",{fontCharacter:"\\eb27"}),e.openPreview=new e("open-preview",{fontCharacter:"\\eb28"}),e.package_=new e("package",{fontCharacter:"\\eb29"}),e.paintcan=new e("paintcan",{fontCharacter:"\\eb2a"}),e.pin=new e("pin",{fontCharacter:"\\eb2b"}),e.play=new e("play",{fontCharacter:"\\eb2c"}),e.run=new e("run",{fontCharacter:"\\eb2c"}),e.plug=new e("plug",{fontCharacter:"\\eb2d"}),e.preserveCase=new e("preserve-case",{fontCharacter:"\\eb2e"}),e.preview=new e("preview",{fontCharacter:"\\eb2f"}),e.project=new e("project",{fontCharacter:"\\eb30"}),e.pulse=new e("pulse",{fontCharacter:"\\eb31"}),e.question=new e("question",{fontCharacter:"\\eb32"}),e.quote=new e("quote",{fontCharacter:"\\eb33"}),e.radioTower=new e("radio-tower",{fontCharacter:"\\eb34"}),e.reactions=new e("reactions",{fontCharacter:"\\eb35"}),e.references=new e("references",{fontCharacter:"\\eb36"}),e.refresh=new e("refresh",{fontCharacter:"\\eb37"}),e.regex=new e("regex",{fontCharacter:"\\eb38"}),e.remoteExplorer=new e("remote-explorer",{fontCharacter:"\\eb39"}),e.remote=new e("remote",{fontCharacter:"\\eb3a"}),e.remove=new e("remove",{fontCharacter:"\\eb3b"}),e.replaceAll=new e("replace-all",{fontCharacter:"\\eb3c"}),e.replace=new e("replace",{fontCharacter:"\\eb3d"}),e.repoClone=new e("repo-clone",{fontCharacter:"\\eb3e"}),e.repoForcePush=new e("repo-force-push",{fontCharacter:"\\eb3f"}),e.repoPull=new e("repo-pull",{fontCharacter:"\\eb40"}),e.repoPush=new e("repo-push",{fontCharacter:"\\eb41"}),e.report=new e("report",{fontCharacter:"\\eb42"}),e.requestChanges=new e("request-changes",{fontCharacter:"\\eb43"}),e.rocket=new e("rocket",{fontCharacter:"\\eb44"}),e.rootFolderOpened=new e("root-folder-opened",{fontCharacter:"\\eb45"}),e.rootFolder=new e("root-folder",{fontCharacter:"\\eb46"}),e.rss=new e("rss",{fontCharacter:"\\eb47"}),e.ruby=new e("ruby",{fontCharacter:"\\eb48"}),e.saveAll=new e("save-all",{fontCharacter:"\\eb49"}),e.saveAs=new e("save-as",{fontCharacter:"\\eb4a"}),e.save=new e("save",{fontCharacter:"\\eb4b"}),e.screenFull=new e("screen-full",{fontCharacter:"\\eb4c"}),e.screenNormal=new e("screen-normal",{fontCharacter:"\\eb4d"}),e.searchStop=new e("search-stop",{fontCharacter:"\\eb4e"}),e.server=new e("server",{fontCharacter:"\\eb50"}),e.settingsGear=new e("settings-gear",{fontCharacter:"\\eb51"}),e.settings=new e("settings",{fontCharacter:"\\eb52"}),e.shield=new e("shield",{fontCharacter:"\\eb53"}),e.smiley=new e("smiley",{fontCharacter:"\\eb54"}),e.sortPrecedence=new e("sort-precedence",{fontCharacter:"\\eb55"}),e.splitHorizontal=new e("split-horizontal",{fontCharacter:"\\eb56"}),e.splitVertical=new e("split-vertical",{fontCharacter:"\\eb57"}),e.squirrel=new e("squirrel",{fontCharacter:"\\eb58"}),e.starFull=new e("star-full",{fontCharacter:"\\eb59"}),e.starHalf=new e("star-half",{fontCharacter:"\\eb5a"}),e.symbolClass=new e("symbol-class",{fontCharacter:"\\eb5b"}),e.symbolColor=new e("symbol-color",{fontCharacter:"\\eb5c"}),e.symbolCustomColor=new e("symbol-customcolor",{fontCharacter:"\\eb5c"}),e.symbolConstant=new e("symbol-constant",{fontCharacter:"\\eb5d"}),e.symbolEnumMember=new e("symbol-enum-member",{fontCharacter:"\\eb5e"}),e.symbolField=new e("symbol-field",{fontCharacter:"\\eb5f"}),e.symbolFile=new e("symbol-file",{fontCharacter:"\\eb60"}),e.symbolInterface=new e("symbol-interface",{fontCharacter:"\\eb61"}),e.symbolKeyword=new e("symbol-keyword",{fontCharacter:"\\eb62"}),e.symbolMisc=new e("symbol-misc",{fontCharacter:"\\eb63"}),e.symbolOperator=new e("symbol-operator",{fontCharacter:"\\eb64"}),e.symbolProperty=new e("symbol-property",{fontCharacter:"\\eb65"}),e.wrench=new e("wrench",{fontCharacter:"\\eb65"}),e.wrenchSubaction=new e("wrench-subaction",{fontCharacter:"\\eb65"}),e.symbolSnippet=new e("symbol-snippet",{fontCharacter:"\\eb66"}),e.tasklist=new e("tasklist",{fontCharacter:"\\eb67"}),e.telescope=new e("telescope",{fontCharacter:"\\eb68"}),e.textSize=new e("text-size",{fontCharacter:"\\eb69"}),e.threeBars=new e("three-bars",{fontCharacter:"\\eb6a"}),e.thumbsdown=new e("thumbsdown",{fontCharacter:"\\eb6b"}),e.thumbsup=new e("thumbsup",{fontCharacter:"\\eb6c"}),e.tools=new e("tools",{fontCharacter:"\\eb6d"}),e.triangleDown=new e("triangle-down",{fontCharacter:"\\eb6e"}),e.triangleLeft=new e("triangle-left",{fontCharacter:"\\eb6f"}),e.triangleRight=new e("triangle-right",{fontCharacter:"\\eb70"}),e.triangleUp=new e("triangle-up",{fontCharacter:"\\eb71"}),e.twitter=new e("twitter",{fontCharacter:"\\eb72"}),e.unfold=new e("unfold",{fontCharacter:"\\eb73"}),e.unlock=new e("unlock",{fontCharacter:"\\eb74"}),e.unmute=new e("unmute",{fontCharacter:"\\eb75"}),e.unverified=new e("unverified",{fontCharacter:"\\eb76"}),e.verified=new e("verified",{fontCharacter:"\\eb77"}),e.versions=new e("versions",{fontCharacter:"\\eb78"}),e.vmActive=new e("vm-active",{fontCharacter:"\\eb79"}),e.vmOutline=new e("vm-outline",{fontCharacter:"\\eb7a"}),e.vmRunning=new e("vm-running",{fontCharacter:"\\eb7b"}),e.watch=new e("watch",{fontCharacter:"\\eb7c"}),e.whitespace=new e("whitespace",{fontCharacter:"\\eb7d"}),e.wholeWord=new e("whole-word",{fontCharacter:"\\eb7e"}),e.window=new e("window",{fontCharacter:"\\eb7f"}),e.wordWrap=new e("word-wrap",{fontCharacter:"\\eb80"}),e.zoomIn=new e("zoom-in",{fontCharacter:"\\eb81"}),e.zoomOut=new e("zoom-out",{fontCharacter:"\\eb82"}),e.listFilter=new e("list-filter",{fontCharacter:"\\eb83"}),e.listFlat=new e("list-flat",{fontCharacter:"\\eb84"}),e.listSelection=new e("list-selection",{fontCharacter:"\\eb85"}),e.selection=new e("selection",{fontCharacter:"\\eb85"}),e.listTree=new e("list-tree",{fontCharacter:"\\eb86"}),e.debugBreakpointFunctionUnverified=new e("debug-breakpoint-function-unverified",{fontCharacter:"\\eb87"}),e.debugBreakpointFunction=new e("debug-breakpoint-function",{fontCharacter:"\\eb88"}),e.debugBreakpointFunctionDisabled=new e("debug-breakpoint-function-disabled",{fontCharacter:"\\eb88"}),e.debugStackframeActive=new e("debug-stackframe-active",{fontCharacter:"\\eb89"}),e.debugStackframeDot=new e("debug-stackframe-dot",{fontCharacter:"\\eb8a"}),e.debugStackframe=new e("debug-stackframe",{fontCharacter:"\\eb8b"}),e.debugStackframeFocused=new e("debug-stackframe-focused",{fontCharacter:"\\eb8b"}),e.debugBreakpointUnsupported=new e("debug-breakpoint-unsupported",{fontCharacter:"\\eb8c"}),e.symbolString=new e("symbol-string",{fontCharacter:"\\eb8d"}),e.debugReverseContinue=new e("debug-reverse-continue",{fontCharacter:"\\eb8e"}),e.debugStepBack=new e("debug-step-back",{fontCharacter:"\\eb8f"}),e.debugRestartFrame=new e("debug-restart-frame",{fontCharacter:"\\eb90"}),e.callIncoming=new e("call-incoming",{fontCharacter:"\\eb92"}),e.callOutgoing=new e("call-outgoing",{fontCharacter:"\\eb93"}),e.menu=new e("menu",{fontCharacter:"\\eb94"}),e.expandAll=new e("expand-all",{fontCharacter:"\\eb95"}),e.feedback=new e("feedback",{fontCharacter:"\\eb96"}),e.groupByRefType=new e("group-by-ref-type",{fontCharacter:"\\eb97"}),e.ungroupByRefType=new e("ungroup-by-ref-type",{fontCharacter:"\\eb98"}),e.account=new e("account",{fontCharacter:"\\eb99"}),e.bellDot=new e("bell-dot",{fontCharacter:"\\eb9a"}),e.debugConsole=new e("debug-console",{fontCharacter:"\\eb9b"}),e.library=new e("library",{fontCharacter:"\\eb9c"}),e.output=new e("output",{fontCharacter:"\\eb9d"}),e.runAll=new e("run-all",{fontCharacter:"\\eb9e"}),e.syncIgnored=new e("sync-ignored",{fontCharacter:"\\eb9f"}),e.pinned=new e("pinned",{fontCharacter:"\\eba0"}),e.githubInverted=new e("github-inverted",{fontCharacter:"\\eba1"}),e.debugAlt=new e("debug-alt",{fontCharacter:"\\eb91"}),e.serverProcess=new e("server-process",{fontCharacter:"\\eba2"}),e.serverEnvironment=new e("server-environment",{fontCharacter:"\\eba3"}),e.pass=new e("pass",{fontCharacter:"\\eba4"}),e.stopCircle=new e("stop-circle",{fontCharacter:"\\eba5"}),e.playCircle=new e("play-circle",{fontCharacter:"\\eba6"}),e.record=new e("record",{fontCharacter:"\\eba7"}),e.debugAltSmall=new e("debug-alt-small",{fontCharacter:"\\eba8"}),e.vmConnect=new e("vm-connect",{fontCharacter:"\\eba9"}),e.cloud=new e("cloud",{fontCharacter:"\\ebaa"}),e.merge=new e("merge",{fontCharacter:"\\ebab"}),e.exportIcon=new e("export",{fontCharacter:"\\ebac"}),e.graphLeft=new e("graph-left",{fontCharacter:"\\ebad"}),e.magnet=new e("magnet",{fontCharacter:"\\ebae"}),e.notebook=new e("notebook",{fontCharacter:"\\ebaf"}),e.redo=new e("redo",{fontCharacter:"\\ebb0"}),e.checkAll=new e("check-all",{fontCharacter:"\\ebb1"}),e.pinnedDirty=new e("pinned-dirty",{fontCharacter:"\\ebb2"}),e.passFilled=new e("pass-filled",{fontCharacter:"\\ebb3"}),e.circleLargeFilled=new e("circle-large-filled",{fontCharacter:"\\ebb4"}),e.circleLargeOutline=new e("circle-large-outline",{fontCharacter:"\\ebb5"}),e.combine=new e("combine",{fontCharacter:"\\ebb6"}),e.gather=new e("gather",{fontCharacter:"\\ebb6"}),e.table=new e("table",{fontCharacter:"\\ebb7"}),e.variableGroup=new e("variable-group",{fontCharacter:"\\ebb8"}),e.typeHierarchy=new e("type-hierarchy",{fontCharacter:"\\ebb9"}),e.typeHierarchySub=new e("type-hierarchy-sub",{fontCharacter:"\\ebba"}),e.typeHierarchySuper=new e("type-hierarchy-super",{fontCharacter:"\\ebbb"}),e.gitPullRequestCreate=new e("git-pull-request-create",{fontCharacter:"\\ebbc"}),e.runAbove=new e("run-above",{fontCharacter:"\\ebbd"}),e.runBelow=new e("run-below",{fontCharacter:"\\ebbe"}),e.notebookTemplate=new e("notebook-template",{fontCharacter:"\\ebbf"}),e.debugRerun=new e("debug-rerun",{fontCharacter:"\\ebc0"}),e.workspaceTrusted=new e("workspace-trusted",{fontCharacter:"\\ebc1"}),e.workspaceUntrusted=new e("workspace-untrusted",{fontCharacter:"\\ebc2"}),e.workspaceUnspecified=new e("workspace-unspecified",{fontCharacter:"\\ebc3"}),e.terminalCmd=new e("terminal-cmd",{fontCharacter:"\\ebc4"}),e.terminalDebian=new e("terminal-debian",{fontCharacter:"\\ebc5"}),e.terminalLinux=new e("terminal-linux",{fontCharacter:"\\ebc6"}),e.terminalPowershell=new e("terminal-powershell",{fontCharacter:"\\ebc7"}),e.terminalTmux=new e("terminal-tmux",{fontCharacter:"\\ebc8"}),e.terminalUbuntu=new e("terminal-ubuntu",{fontCharacter:"\\ebc9"}),e.terminalBash=new e("terminal-bash",{fontCharacter:"\\ebca"}),e.arrowSwap=new e("arrow-swap",{fontCharacter:"\\ebcb"}),e.copy=new e("copy",{fontCharacter:"\\ebcc"}),e.personAdd=new e("person-add",{fontCharacter:"\\ebcd"}),e.filterFilled=new e("filter-filled",{fontCharacter:"\\ebce"}),e.wand=new e("wand",{fontCharacter:"\\ebcf"}),e.debugLineByLine=new e("debug-line-by-line",{fontCharacter:"\\ebd0"}),e.inspect=new e("inspect",{fontCharacter:"\\ebd1"}),e.layers=new e("layers",{fontCharacter:"\\ebd2"}),e.layersDot=new e("layers-dot",{fontCharacter:"\\ebd3"}),e.layersActive=new e("layers-active",{fontCharacter:"\\ebd4"}),e.compass=new e("compass",{fontCharacter:"\\ebd5"}),e.compassDot=new e("compass-dot",{fontCharacter:"\\ebd6"}),e.compassActive=new e("compass-active",{fontCharacter:"\\ebd7"}),e.azure=new e("azure",{fontCharacter:"\\ebd8"}),e.issueDraft=new e("issue-draft",{fontCharacter:"\\ebd9"}),e.gitPullRequestClosed=new e("git-pull-request-closed",{fontCharacter:"\\ebda"}),e.gitPullRequestDraft=new e("git-pull-request-draft",{fontCharacter:"\\ebdb"}),e.debugAll=new e("debug-all",{fontCharacter:"\\ebdc"}),e.debugCoverage=new e("debug-coverage",{fontCharacter:"\\ebdd"}),e.runErrors=new e("run-errors",{fontCharacter:"\\ebde"}),e.folderLibrary=new e("folder-library",{fontCharacter:"\\ebdf"}),e.debugContinueSmall=new e("debug-continue-small",{fontCharacter:"\\ebe0"}),e.beakerStop=new e("beaker-stop",{fontCharacter:"\\ebe1"}),e.graphLine=new e("graph-line",{fontCharacter:"\\ebe2"}),e.graphScatter=new e("graph-scatter",{fontCharacter:"\\ebe3"}),e.pieChart=new e("pie-chart",{fontCharacter:"\\ebe4"}),e.bracket=new e("bracket",e.json.definition),e.bracketDot=new e("bracket-dot",{fontCharacter:"\\ebe5"}),e.bracketError=new e("bracket-error",{fontCharacter:"\\ebe6"}),e.lockSmall=new e("lock-small",{fontCharacter:"\\ebe7"}),e.azureDevops=new e("azure-devops",{fontCharacter:"\\ebe8"}),e.verifiedFilled=new e("verified-filled",{fontCharacter:"\\ebe9"}),e.newLine=new e("newline",{fontCharacter:"\\ebea"}),e.layout=new e("layout",{fontCharacter:"\\ebeb"}),e.layoutActivitybarLeft=new e("layout-activitybar-left",{fontCharacter:"\\ebec"}),e.layoutActivitybarRight=new e("layout-activitybar-right",{fontCharacter:"\\ebed"}),e.layoutPanelLeft=new e("layout-panel-left",{fontCharacter:"\\ebee"}),e.layoutPanelCenter=new e("layout-panel-center",{fontCharacter:"\\ebef"}),e.layoutPanelJustify=new e("layout-panel-justify",{fontCharacter:"\\ebf0"}),e.layoutPanelRight=new e("layout-panel-right",{fontCharacter:"\\ebf1"}),e.layoutPanel=new e("layout-panel",{fontCharacter:"\\ebf2"}),e.layoutSidebarLeft=new e("layout-sidebar-left",{fontCharacter:"\\ebf3"}),e.layoutSidebarRight=new e("layout-sidebar-right",{fontCharacter:"\\ebf4"}),e.layoutStatusbar=new e("layout-statusbar",{fontCharacter:"\\ebf5"}),e.layoutMenubar=new e("layout-menubar",{fontCharacter:"\\ebf6"}),e.layoutCentered=new e("layout-centered",{fontCharacter:"\\ebf7"}),e.target=new e("target",{fontCharacter:"\\ebf8"}),e.indent=new e("indent",{fontCharacter:"\\ebf9"}),e.recordSmall=new e("record-small",{fontCharacter:"\\ebfa"}),e.errorSmall=new e("error-small",{fontCharacter:"\\ebfb"}),e.arrowCircleDown=new e("arrow-circle-down",{fontCharacter:"\\ebfc"}),e.arrowCircleLeft=new e("arrow-circle-left",{fontCharacter:"\\ebfd"}),e.arrowCircleRight=new e("arrow-circle-right",{fontCharacter:"\\ebfe"}),e.arrowCircleUp=new e("arrow-circle-up",{fontCharacter:"\\ebff"}),e.dialogError=new e("dialog-error",e.error.definition),e.dialogWarning=new e("dialog-warning",e.warning.definition),e.dialogInfo=new e("dialog-info",e.info.definition),e.dialogClose=new e("dialog-close",e.close.definition),e.treeItemExpanded=new e("tree-item-expanded",e.chevronDown.definition),e.treeFilterOnTypeOn=new e("tree-filter-on-type-on",e.listFilter.definition),e.treeFilterOnTypeOff=new e("tree-filter-on-type-off",e.listSelection.definition),e.treeFilterClear=new e("tree-filter-clear",e.close.definition),e.treeItemLoading=new e("tree-item-loading",e.loading.definition),e.menuSelection=new e("menu-selection",e.check.definition),e.menuSubmenu=new e("menu-submenu",e.chevronRight.definition),e.menuBarMore=new e("menubar-more",e.more.definition),e.scrollbarButtonLeft=new e("scrollbar-button-left",e.triangleLeft.definition),e.scrollbarButtonRight=new e("scrollbar-button-right",e.triangleRight.definition),e.scrollbarButtonUp=new e("scrollbar-button-up",e.triangleUp.definition),e.scrollbarButtonDown=new e("scrollbar-button-down",e.triangleDown.definition),e.toolBarMore=new e("toolbar-more",e.more.definition),e.quickInputBack=new e("quick-input-back",e.arrowLeft.definition);var N;(function(o){o.iconNameSegment="[A-Za-z0-9]+",o.iconNameExpression="[A-Za-z0-9-]+",o.iconModifierExpression="~[A-Za-z]+",o.iconNameCharacter="[A-Za-z0-9~-]";const w=new RegExp(`^(${o.iconNameExpression})(${o.iconModifierExpression})?$`);function g(S){if(S instanceof e)return["codicon","codicon-"+S.id];const t=w.exec(S.id);if(!t)return g(e.error);let[,d,h]=t;const v=["codicon","codicon-"+d];return h&&v.push("codicon-modifier-"+h.substr(1)),v}o.asClassNameArray=g;function c(S){return g(S).join(" ")}o.asClassName=c;function m(S){return"."+g(S).join(".")}o.asCSSSelector=m})(N=r.CSSIcon||(r.CSSIcon={}))}),Y(Q[19],Z([0,1]),function(U,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.DiffChange=void 0;class E{constructor(N,o,w,g){this.originalStart=N,this.originalLength=o,this.modifiedStart=w,this.modifiedLength=g}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}r.DiffChange=E}),Y(Q[10],Z([0,1]),function(U,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.NotSupportedError=r.illegalState=r.illegalArgument=r.canceled=r.CancellationError=r.isCancellationError=r.transformErrorForSerialization=r.onUnexpectedExternalError=r.onUnexpectedError=r.errorHandler=r.ErrorHandler=void 0;class E{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(v){setTimeout(()=>{throw v.stack?new Error(v.message+`
+
+`+v.stack):v},0)}}emit(v){this.listeners.forEach(L=>{L(v)})}onUnexpectedError(v){this.unexpectedErrorHandler(v),this.emit(v)}onUnexpectedExternalError(v){this.unexpectedErrorHandler(v)}}r.ErrorHandler=E,r.errorHandler=new E;function e(h){g(h)||r.errorHandler.onUnexpectedError(h)}r.onUnexpectedError=e;function N(h){g(h)||r.errorHandler.onUnexpectedExternalError(h)}r.onUnexpectedExternalError=N;function o(h){if(h instanceof Error){let{name:v,message:L}=h;const C=h.stacktrace||h.stack;return{$isError:!0,name:v,message:L,stack:C}}return h}r.transformErrorForSerialization=o;const w="Canceled";function g(h){return h instanceof c?!0:h instanceof Error&&h.name===w&&h.message===w}r.isCancellationError=g;class c extends Error{constructor(){super(w);this.name=this.message}}r.CancellationError=c;function m(){const h=new Error(w);return h.name=h.message,h}r.canceled=m;function S(h){return h?new Error(`Illegal argument: ${h}`):new Error("Illegal argument")}r.illegalArgument=S;function t(h){return h?new Error(`Illegal state: ${h}`):new Error("Illegal state")}r.illegalState=t;class d extends Error{constructor(v){super("NotSupported");v&&(this.message=v)}}r.NotSupportedError=d}),Y(Q[20],Z([0,1]),function(U,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.once=void 0;function E(e){const N=this;let o=!1,w;return function(){return o||(o=!0,w=e.apply(N,arguments)),w}}r.once=E}),Y(Q[21],Z([0,1]),function(U,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.Iterable=void 0;var E;(function(e){function N(a){return a&&typeof a=="object"&&typeof a[Symbol.iterator]=="function"}e.is=N;const o=Object.freeze([]);function w(){return o}e.empty=w;function*g(a){yield a}e.single=g;function c(a){return a||o}e.from=c;function m(a){return!a||a[Symbol.iterator]().next().done===!0}e.isEmpty=m;function S(a){return a[Symbol.iterator]().next().value}e.first=S;function t(a,l){for(const f of a)if(l(f))return!0;return!1}e.some=t;function d(a,l){for(const f of a)if(l(f))return f}e.find=d;function*h(a,l){for(const f of a)l(f)&&(yield f)}e.filter=h;function*v(a,l){let f=0;for(const u of a)yield l(u,f++)}e.map=v;function*L(...a){for(const l of a)for(const f of l)yield f}e.concat=L;function*C(a){for(const l of a)for(const f of l)yield f}e.concatNested=C;function y(a,l,f){let u=f;for(const _ of a)u=l(u,_);return u}e.reduce=y;function*p(a,l,f=a.length){for(l<0&&(l+=a.length),f<0?f+=a.length:f>a.length&&(f=a.length);l<f;l++)yield a[l]}e.slice=p;function s(a,l=Number.POSITIVE_INFINITY){const f=[];if(l===0)return[f,a];const u=a[Symbol.iterator]();for(let _=0;_<l;_++){const b=u.next();if(b.done)return[f,e.empty()];f.push(b.value)}return[f,{[Symbol.iterator](){return u}}]}e.consume=s;function i(a,l,f=(u,_)=>u===_){const u=a[Symbol.iterator](),_=l[Symbol.iterator]();for(;;){const b=u.next(),A=_.next();if(b.done!==A.done)return!1;if(b.done)return!0;if(!f(b.value,A.value))return!1}}e.equals=i})(E=r.Iterable||(r.Iterable={}))}),Y(Q[22],Z([0,1]),function(U,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.KeyChord=r.KeyCodeUtils=r.IMMUTABLE_KEY_CODE_TO_CODE=r.IMMUTABLE_CODE_TO_KEY_CODE=r.NATIVE_WINDOWS_KEY_CODE_TO_KEY_CODE=r.EVENT_KEY_CODE_MAP=void 0;class E{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(d,h){this._keyCodeToStr[d]=h,this._strToKeyCode[h.toLowerCase()]=d}keyCodeToStr(d){return this._keyCodeToStr[d]}strToKeyCode(d){return this._strToKeyCode[d.toLowerCase()]||0}}const e=new E,N=new E,o=new E;r.EVENT_KEY_CODE_MAP=new Array(230),r.NATIVE_WINDOWS_KEY_CODE_TO_KEY_CODE={};const w=[],g=Object.create(null),c=Object.create(null);r.IMMUTABLE_CODE_TO_KEY_CODE=[],r.IMMUTABLE_KEY_CODE_TO_CODE=[];for(let t=0;t<=193;t++)r.IMMUTABLE_CODE_TO_KEY_CODE[t]=-1;for(let t=0;t<=127;t++)r.IMMUTABLE_KEY_CODE_TO_CODE[t]=-1;(function(){const t="",d=[[0,1,0,"None",0,"unknown",0,"VK_UNKNOWN",t,t],[0,1,1,"Hyper",0,t,0,t,t,t],[0,1,2,"Super",0,t,0,t,t,t],[0,1,3,"Fn",0,t,0,t,t,t],[0,1,4,"FnLock",0,t,0,t,t,t],[0,1,5,"Suspend",0,t,0,t,t,t],[0,1,6,"Resume",0,t,0,t,t,t],[0,1,7,"Turbo",0,t,0,t,t,t],[0,1,8,"Sleep",0,t,0,"VK_SLEEP",t,t],[0,1,9,"WakeUp",0,t,0,t,t,t],[31,0,10,"KeyA",31,"A",65,"VK_A",t,t],[32,0,11,"KeyB",32,"B",66,"VK_B",t,t],[33,0,12,"KeyC",33,"C",67,"VK_C",t,t],[34,0,13,"KeyD",34,"D",68,"VK_D",t,t],[35,0,14,"KeyE",35,"E",69,"VK_E",t,t],[36,0,15,"KeyF",36,"F",70,"VK_F",t,t],[37,0,16,"KeyG",37,"G",71,"VK_G",t,t],[38,0,17,"KeyH",38,"H",72,"VK_H",t,t],[39,0,18,"KeyI",39,"I",73,"VK_I",t,t],[40,0,19,"KeyJ",40,"J",74,"VK_J",t,t],[41,0,20,"KeyK",41,"K",75,"VK_K",t,t],[42,0,21,"KeyL",42,"L",76,"VK_L",t,t],[43,0,22,"KeyM",43,"M",77,"VK_M",t,t],[44,0,23,"KeyN",44,"N",78,"VK_N",t,t],[45,0,24,"KeyO",45,"O",79,"VK_O",t,t],[46,0,25,"KeyP",46,"P",80,"VK_P",t,t],[47,0,26,"KeyQ",47,"Q",81,"VK_Q",t,t],[48,0,27,"KeyR",48,"R",82,"VK_R",t,t],[49,0,28,"KeyS",49,"S",83,"VK_S",t,t],[50,0,29,"KeyT",50,"T",84,"VK_T",t,t],[51,0,30,"KeyU",51,"U",85,"VK_U",t,t],[52,0,31,"KeyV",52,"V",86,"VK_V",t,t],[53,0,32,"KeyW",53,"W",87,"VK_W",t,t],[54,0,33,"KeyX",54,"X",88,"VK_X",t,t],[55,0,34,"KeyY",55,"Y",89,"VK_Y",t,t],[56,0,35,"KeyZ",56,"Z",90,"VK_Z",t,t],[22,0,36,"Digit1",22,"1",49,"VK_1",t,t],[23,0,37,"Digit2",23,"2",50,"VK_2",t,t],[24,0,38,"Digit3",24,"3",51,"VK_3",t,t],[25,0,39,"Digit4",25,"4",52,"VK_4",t,t],[26,0,40,"Digit5",26,"5",53,"VK_5",t,t],[27,0,41,"Digit6",27,"6",54,"VK_6",t,t],[28,0,42,"Digit7",28,"7",55,"VK_7",t,t],[29,0,43,"Digit8",29,"8",56,"VK_8",t,t],[30,0,44,"Digit9",30,"9",57,"VK_9",t,t],[21,0,45,"Digit0",21,"0",48,"VK_0",t,t],[3,1,46,"Enter",3,"Enter",13,"VK_RETURN",t,t],[9,1,47,"Escape",9,"Escape",27,"VK_ESCAPE",t,t],[1,1,48,"Backspace",1,"Backspace",8,"VK_BACK",t,t],[2,1,49,"Tab",2,"Tab",9,"VK_TAB",t,t],[10,1,50,"Space",10,"Space",32,"VK_SPACE",t,t],[83,0,51,"Minus",83,"-",189,"VK_OEM_MINUS","-","OEM_MINUS"],[81,0,52,"Equal",81,"=",187,"VK_OEM_PLUS","=","OEM_PLUS"],[87,0,53,"BracketLeft",87,"[",219,"VK_OEM_4","[","OEM_4"],[89,0,54,"BracketRight",89,"]",221,"VK_OEM_6","]","OEM_6"],[88,0,55,"Backslash",88,"\\",220,"VK_OEM_5","\\","OEM_5"],[0,0,56,"IntlHash",0,t,0,t,t,t],[80,0,57,"Semicolon",80,";",186,"VK_OEM_1",";","OEM_1"],[90,0,58,"Quote",90,"'",222,"VK_OEM_7","'","OEM_7"],[86,0,59,"Backquote",86,"`",192,"VK_OEM_3","`","OEM_3"],[82,0,60,"Comma",82,",",188,"VK_OEM_COMMA",",","OEM_COMMA"],[84,0,61,"Period",84,".",190,"VK_OEM_PERIOD",".","OEM_PERIOD"],[85,0,62,"Slash",85,"/",191,"VK_OEM_2","/","OEM_2"],[8,1,63,"CapsLock",8,"CapsLock",20,"VK_CAPITAL",t,t],[59,1,64,"F1",59,"F1",112,"VK_F1",t,t],[60,1,65,"F2",60,"F2",113,"VK_F2",t,t],[61,1,66,"F3",61,"F3",114,"VK_F3",t,t],[62,1,67,"F4",62,"F4",115,"VK_F4",t,t],[63,1,68,"F5",63,"F5",116,"VK_F5",t,t],[64,1,69,"F6",64,"F6",117,"VK_F6",t,t],[65,1,70,"F7",65,"F7",118,"VK_F7",t,t],[66,1,71,"F8",66,"F8",119,"VK_F8",t,t],[67,1,72,"F9",67,"F9",120,"VK_F9",t,t],[68,1,73,"F10",68,"F10",121,"VK_F10",t,t],[69,1,74,"F11",69,"F11",122,"VK_F11",t,t],[70,1,75,"F12",70,"F12",123,"VK_F12",t,t],[0,1,76,"PrintScreen",0,t,0,t,t,t],[79,1,77,"ScrollLock",79,"ScrollLock",145,"VK_SCROLL",t,t],[7,1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE",t,t],[19,1,79,"Insert",19,"Insert",45,"VK_INSERT",t,t],[14,1,80,"Home",14,"Home",36,"VK_HOME",t,t],[11,1,81,"PageUp",11,"PageUp",33,"VK_PRIOR",t,t],[20,1,82,"Delete",20,"Delete",46,"VK_DELETE",t,t],[13,1,83,"End",13,"End",35,"VK_END",t,t],[12,1,84,"PageDown",12,"PageDown",34,"VK_NEXT",t,t],[17,1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",t],[15,1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",t],[18,1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",t],[16,1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",t],[78,1,89,"NumLock",78,"NumLock",144,"VK_NUMLOCK",t,t],[108,1,90,"NumpadDivide",108,"NumPad_Divide",111,"VK_DIVIDE",t,t],[103,1,91,"NumpadMultiply",103,"NumPad_Multiply",106,"VK_MULTIPLY",t,t],[106,1,92,"NumpadSubtract",106,"NumPad_Subtract",109,"VK_SUBTRACT",t,t],[104,1,93,"NumpadAdd",104,"NumPad_Add",107,"VK_ADD",t,t],[3,1,94,"NumpadEnter",3,t,0,t,t,t],[94,1,95,"Numpad1",94,"NumPad1",97,"VK_NUMPAD1",t,t],[95,1,96,"Numpad2",95,"NumPad2",98,"VK_NUMPAD2",t,t],[96,1,97,"Numpad3",96,"NumPad3",99,"VK_NUMPAD3",t,t],[97,1,98,"Numpad4",97,"NumPad4",100,"VK_NUMPAD4",t,t],[98,1,99,"Numpad5",98,"NumPad5",101,"VK_NUMPAD5",t,t],[99,1,100,"Numpad6",99,"NumPad6",102,"VK_NUMPAD6",t,t],[100,1,101,"Numpad7",100,"NumPad7",103,"VK_NUMPAD7",t,t],[101,1,102,"Numpad8",101,"NumPad8",104,"VK_NUMPAD8",t,t],[102,1,103,"Numpad9",102,"NumPad9",105,"VK_NUMPAD9",t,t],[93,1,104,"Numpad0",93,"NumPad0",96,"VK_NUMPAD0",t,t],[107,1,105,"NumpadDecimal",107,"NumPad_Decimal",110,"VK_DECIMAL",t,t],[92,0,106,"IntlBackslash",92,"OEM_102",226,"VK_OEM_102",t,t],[58,1,107,"ContextMenu",58,"ContextMenu",93,t,t,t],[0,1,108,"Power",0,t,0,t,t,t],[0,1,109,"NumpadEqual",0,t,0,t,t,t],[71,1,110,"F13",71,"F13",124,"VK_F13",t,t],[72,1,111,"F14",72,"F14",125,"VK_F14",t,t],[73,1,112,"F15",73,"F15",126,"VK_F15",t,t],[74,1,113,"F16",74,"F16",127,"VK_F16",t,t],[75,1,114,"F17",75,"F17",128,"VK_F17",t,t],[76,1,115,"F18",76,"F18",129,"VK_F18",t,t],[77,1,116,"F19",77,"F19",130,"VK_F19",t,t],[0,1,117,"F20",0,t,0,"VK_F20",t,t],[0,1,118,"F21",0,t,0,"VK_F21",t,t],[0,1,119,"F22",0,t,0,"VK_F22",t,t],[0,1,120,"F23",0,t,0,"VK_F23",t,t],[0,1,121,"F24",0,t,0,"VK_F24",t,t],[0,1,122,"Open",0,t,0,t,t,t],[0,1,123,"Help",0,t,0,t,t,t],[0,1,124,"Select",0,t,0,t,t,t],[0,1,125,"Again",0,t,0,t,t,t],[0,1,126,"Undo",0,t,0,t,t,t],[0,1,127,"Cut",0,t,0,t,t,t],[0,1,128,"Copy",0,t,0,t,t,t],[0,1,129,"Paste",0,t,0,t,t,t],[0,1,130,"Find",0,t,0,t,t,t],[0,1,131,"AudioVolumeMute",112,"AudioVolumeMute",173,"VK_VOLUME_MUTE",t,t],[0,1,132,"AudioVolumeUp",113,"AudioVolumeUp",175,"VK_VOLUME_UP",t,t],[0,1,133,"AudioVolumeDown",114,"AudioVolumeDown",174,"VK_VOLUME_DOWN",t,t],[105,1,134,"NumpadComma",105,"NumPad_Separator",108,"VK_SEPARATOR",t,t],[110,0,135,"IntlRo",110,"ABNT_C1",193,"VK_ABNT_C1",t,t],[0,1,136,"KanaMode",0,t,0,t,t,t],[0,0,137,"IntlYen",0,t,0,t,t,t],[0,1,138,"Convert",0,t,0,t,t,t],[0,1,139,"NonConvert",0,t,0,t,t,t],[0,1,140,"Lang1",0,t,0,t,t,t],[0,1,141,"Lang2",0,t,0,t,t,t],[0,1,142,"Lang3",0,t,0,t,t,t],[0,1,143,"Lang4",0,t,0,t,t,t],[0,1,144,"Lang5",0,t,0,t,t,t],[0,1,145,"Abort",0,t,0,t,t,t],[0,1,146,"Props",0,t,0,t,t,t],[0,1,147,"NumpadParenLeft",0,t,0,t,t,t],[0,1,148,"NumpadParenRight",0,t,0,t,t,t],[0,1,149,"NumpadBackspace",0,t,0,t,t,t],[0,1,150,"NumpadMemoryStore",0,t,0,t,t,t],[0,1,151,"NumpadMemoryRecall",0,t,0,t,t,t],[0,1,152,"NumpadMemoryClear",0,t,0,t,t,t],[0,1,153,"NumpadMemoryAdd",0,t,0,t,t,t],[0,1,154,"NumpadMemorySubtract",0,t,0,t,t,t],[0,1,155,"NumpadClear",126,"Clear",12,"VK_CLEAR",t,t],[0,1,156,"NumpadClearEntry",0,t,0,t,t,t],[5,1,0,t,5,"Ctrl",17,"VK_CONTROL",t,t],[4,1,0,t,4,"Shift",16,"VK_SHIFT",t,t],[6,1,0,t,6,"Alt",18,"VK_MENU",t,t],[57,1,0,t,57,"Meta",0,"VK_COMMAND",t,t],[5,1,157,"ControlLeft",5,t,0,"VK_LCONTROL",t,t],[4,1,158,"ShiftLeft",4,t,0,"VK_LSHIFT",t,t],[6,1,159,"AltLeft",6,t,0,"VK_LMENU",t,t],[57,1,160,"MetaLeft",57,t,0,"VK_LWIN",t,t],[5,1,161,"ControlRight",5,t,0,"VK_RCONTROL",t,t],[4,1,162,"ShiftRight",4,t,0,"VK_RSHIFT",t,t],[6,1,163,"AltRight",6,t,0,"VK_RMENU",t,t],[57,1,164,"MetaRight",57,t,0,"VK_RWIN",t,t],[0,1,165,"BrightnessUp",0,t,0,t,t,t],[0,1,166,"BrightnessDown",0,t,0,t,t,t],[0,1,167,"MediaPlay",0,t,0,t,t,t],[0,1,168,"MediaRecord",0,t,0,t,t,t],[0,1,169,"MediaFastForward",0,t,0,t,t,t],[0,1,170,"MediaRewind",0,t,0,t,t,t],[114,1,171,"MediaTrackNext",119,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK",t,t],[115,1,172,"MediaTrackPrevious",120,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK",t,t],[116,1,173,"MediaStop",121,"MediaStop",178,"VK_MEDIA_STOP",t,t],[0,1,174,"Eject",0,t,0,t,t,t],[117,1,175,"MediaPlayPause",122,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE",t,t],[0,1,176,"MediaSelect",123,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT",t,t],[0,1,177,"LaunchMail",124,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL",t,t],[0,1,178,"LaunchApp2",125,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2",t,t],[0,1,179,"LaunchApp1",0,t,0,"VK_MEDIA_LAUNCH_APP1",t,t],[0,1,180,"SelectTask",0,t,0,t,t,t],[0,1,181,"LaunchScreenSaver",0,t,0,t,t,t],[0,1,182,"BrowserSearch",115,"BrowserSearch",170,"VK_BROWSER_SEARCH",t,t],[0,1,183,"BrowserHome",116,"BrowserHome",172,"VK_BROWSER_HOME",t,t],[112,1,184,"BrowserBack",117,"BrowserBack",166,"VK_BROWSER_BACK",t,t],[113,1,185,"BrowserForward",118,"BrowserForward",167,"VK_BROWSER_FORWARD",t,t],[0,1,186,"BrowserStop",0,t,0,"VK_BROWSER_STOP",t,t],[0,1,187,"BrowserRefresh",0,t,0,"VK_BROWSER_REFRESH",t,t],[0,1,188,"BrowserFavorites",0,t,0,"VK_BROWSER_FAVORITES",t,t],[0,1,189,"ZoomToggle",0,t,0,t,t,t],[0,1,190,"MailReply",0,t,0,t,t,t],[0,1,191,"MailForward",0,t,0,t,t,t],[0,1,192,"MailSend",0,t,0,t,t,t],[109,1,0,t,109,"KeyInComposition",229,t,t,t],[111,1,0,t,111,"ABNT_C2",194,"VK_ABNT_C2",t,t],[91,1,0,t,91,"OEM_8",223,"VK_OEM_8",t,t],[0,1,0,t,0,t,0,"VK_KANA",t,t],[0,1,0,t,0,t,0,"VK_HANGUL",t,t],[0,1,0,t,0,t,0,"VK_JUNJA",t,t],[0,1,0,t,0,t,0,"VK_FINAL",t,t],[0,1,0,t,0,t,0,"VK_HANJA",t,t],[0,1,0,t,0,t,0,"VK_KANJI",t,t],[0,1,0,t,0,t,0,"VK_CONVERT",t,t],[0,1,0,t,0,t,0,"VK_NONCONVERT",t,t],[0,1,0,t,0,t,0,"VK_ACCEPT",t,t],[0,1,0,t,0,t,0,"VK_MODECHANGE",t,t],[0,1,0,t,0,t,0,"VK_SELECT",t,t],[0,1,0,t,0,t,0,"VK_PRINT",t,t],[0,1,0,t,0,t,0,"VK_EXECUTE",t,t],[0,1,0,t,0,t,0,"VK_SNAPSHOT",t,t],[0,1,0,t,0,t,0,"VK_HELP",t,t],[0,1,0,t,0,t,0,"VK_APPS",t,t],[0,1,0,t,0,t,0,"VK_PROCESSKEY",t,t],[0,1,0,t,0,t,0,"VK_PACKET",t,t],[0,1,0,t,0,t,0,"VK_DBE_SBCSCHAR",t,t],[0,1,0,t,0,t,0,"VK_DBE_DBCSCHAR",t,t],[0,1,0,t,0,t,0,"VK_ATTN",t,t],[0,1,0,t,0,t,0,"VK_CRSEL",t,t],[0,1,0,t,0,t,0,"VK_EXSEL",t,t],[0,1,0,t,0,t,0,"VK_EREOF",t,t],[0,1,0,t,0,t,0,"VK_PLAY",t,t],[0,1,0,t,0,t,0,"VK_ZOOM",t,t],[0,1,0,t,0,t,0,"VK_NONAME",t,t],[0,1,0,t,0,t,0,"VK_PA1",t,t],[0,1,0,t,0,t,0,"VK_OEM_CLEAR",t,t]];let h=[],v=[];for(const L of d){const[C,y,p,s,i,a,l,f,u,_]=L;if(v[p]||(v[p]=!0,w[p]=s,g[s]=p,c[s.toLowerCase()]=p,y&&(r.IMMUTABLE_CODE_TO_KEY_CODE[p]=i,i!==0&&i!==3&&i!==5&&i!==4&&i!==6&&i!==57&&(r.IMMUTABLE_KEY_CODE_TO_CODE[i]=p))),!h[i]){if(h[i]=!0,!a)throw new Error(`String representation missing for key code ${i} around scan code ${s}`);e.define(i,a),N.define(i,u||a),o.define(i,_||u||a)}l&&(r.EVENT_KEY_CODE_MAP[l]=i),f&&(r.NATIVE_WINDOWS_KEY_CODE_TO_KEY_CODE[f]=i)}r.IMMUTABLE_KEY_CODE_TO_CODE[3]=46})();var m;(function(t){function d(p){return e.keyCodeToStr(p)}t.toString=d;function h(p){return e.strToKeyCode(p)}t.fromString=h;function v(p){return N.keyCodeToStr(p)}t.toUserSettingsUS=v;function L(p){return o.keyCodeToStr(p)}t.toUserSettingsGeneral=L;function C(p){return N.strToKeyCode(p)||o.strToKeyCode(p)}t.fromUserSettings=C;function y(p){if(p>=93&&p<=108)return null;switch(p){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return e.keyCodeToStr(p)}t.toElectronAccelerator=y})(m=r.KeyCodeUtils||(r.KeyCodeUtils={}));function S(t,d){const h=(d&65535)<<16>>>0;return(t|h)>>>0}r.KeyChord=S}),Y(Q[23],Z([0,1]),function(U,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.Lazy=void 0;class E{constructor(N){this.executor=N,this._didRun=!1}getValue(){if(!this._didRun)try{this._value=this.executor()}catch(N){this._error=N}finally{this._didRun=!0}if(this._error)throw this._error;return this._value}get rawValue(){return this._value}}r.Lazy=E}),Y(Q[8],Z([0,1,20,21]),function(U,r,E,e){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.ImmortalReference=r.SafeDisposable=r.MutableDisposable=r.Disposable=r.DisposableStore=r.toDisposable=r.combinedDisposable=r.dispose=r.isDisposable=r.MultiDisposeError=r.markAsSingleton=r.setDisposableTracker=void 0;const N=!1;let o=null;function w(l){o=l}if(r.setDisposableTracker=w,N){const l="__is_disposable_tracked__";w(new class{trackDisposable(f){const u=new Error("Potentially leaked disposable").stack;setTimeout(()=>{f[l]||console.log(u)},3e3)}setParent(f,u){if(f&&f!==p.None)try{f[l]=!0}catch{}}markAsDisposed(f){if(f&&f!==p.None)try{f[l]=!0}catch{}}markAsSingleton(f){}})}function g(l){return o==null||o.trackDisposable(l),l}function c(l){o==null||o.markAsDisposed(l)}function m(l,f){o==null||o.setParent(l,f)}function S(l,f){if(!!o)for(const u of l)o.setParent(u,f)}function t(l){return o==null||o.markAsSingleton(l),l}r.markAsSingleton=t;class d extends Error{constructor(f){super(`Encountered errors while disposing of store. Errors: [${f.join(", ")}]`);this.errors=f}}r.MultiDisposeError=d;function h(l){return typeof l.dispose=="function"&&l.dispose.length===0}r.isDisposable=h;function v(l){if(e.Iterable.is(l)){let f=[];for(const u of l)if(u)try{u.dispose()}catch(_){f.push(_)}if(f.length===1)throw f[0];if(f.length>1)throw new d(f);return Array.isArray(l)?[]:l}else if(l)return l.dispose(),l}r.dispose=v;function L(...l){const f=C(()=>v(l));return S(l,f),f}r.combinedDisposable=L;function C(l){const f=g({dispose:(0,E.once)(()=>{c(f),l()})});return f}r.toDisposable=C;class y{constructor(){this._toDispose=new Set,this._isDisposed=!1,g(this)}dispose(){this._isDisposed||(c(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){try{v(this._toDispose.values())}finally{this._toDispose.clear()}}add(f){if(!f)return f;if(f===this)throw new Error("Cannot register a disposable on itself!");return m(f,this),this._isDisposed?y.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(f),f}}r.DisposableStore=y,y.DISABLE_DISPOSED_WARNING=!1;class p{constructor(){this._store=new y,g(this),m(this._store,this)}dispose(){c(this),this._store.dispose()}_register(f){if(f===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(f)}}r.Disposable=p,p.None=Object.freeze({dispose(){}});class s{constructor(){this._isDisposed=!1,g(this)}get value(){return this._isDisposed?void 0:this._value}set value(f){var u;this._isDisposed||f===this._value||((u=this._value)===null||u===void 0||u.dispose(),f&&m(f,this),this._value=f)}clear(){this.value=void 0}dispose(){var f;this._isDisposed=!0,c(this),(f=this._value)===null||f===void 0||f.dispose(),this._value=void 0}clearAndLeak(){const f=this._value;return this._value=void 0,f&&m(f,null),f}}r.MutableDisposable=s;class i{constructor(){this.dispose=()=>{},this.unset=()=>{},this.isset=()=>!1,g(this)}set(f){let u=f;return this.unset=()=>u=void 0,this.isset=()=>u!==void 0,this.dispose=()=>{u&&(u(),u=void 0,c(this))},this}}r.SafeDisposable=i;class a{constructor(f){this.object=f}dispose(){}}r.ImmortalReference=a}),Y(Q[24],Z([0,1]),function(U,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.LinkedList=void 0;class E{constructor(o){this.element=o,this.next=E.Undefined,this.prev=E.Undefined}}E.Undefined=new E(void 0);class e{constructor(){this._first=E.Undefined,this._last=E.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===E.Undefined}clear(){let o=this._first;for(;o!==E.Undefined;){const w=o.next;o.prev=E.Undefined,o.next=E.Undefined,o=w}this._first=E.Undefined,this._last=E.Undefined,this._size=0}unshift(o){return this._insert(o,!1)}push(o){return this._insert(o,!0)}_insert(o,w){const g=new E(o);if(this._first===E.Undefined)this._first=g,this._last=g;else if(w){const m=this._last;this._last=g,g.prev=m,m.next=g}else{const m=this._first;this._first=g,g.next=m,m.prev=g}this._size+=1;let c=!1;return()=>{c||(c=!0,this._remove(g))}}shift(){if(this._first!==E.Undefined){const o=this._first.element;return this._remove(this._first),o}}pop(){if(this._last!==E.Undefined){const o=this._last.element;return this._remove(this._last),o}}_remove(o){if(o.prev!==E.Undefined&&o.next!==E.Undefined){const w=o.prev;w.next=o.next,o.next.prev=w}else o.prev===E.Undefined&&o.next===E.Undefined?(this._first=E.Undefined,this._last=E.Undefined):o.next===E.Undefined?(this._last=this._last.prev,this._last.next=E.Undefined):o.prev===E.Undefined&&(this._first=this._first.next,this._first.prev=E.Undefined);this._size-=1}*[Symbol.iterator](){let o=this._first;for(;o!==E.Undefined;)yield o.element,o=o.next}}r.LinkedList=e}),Y(Q[5],Z([0,1]),function(U,r){"use strict";var E;Object.defineProperty(r,"__esModule",{value:!0}),r.isAndroid=r.isEdge=r.isSafari=r.isFirefox=r.isChrome=r.isLittleEndian=r.OS=r.setTimeout0=r.language=r.userAgent=r.isIOS=r.isWebWorker=r.isWeb=r.isNative=r.isLinux=r.isMacintosh=r.isWindows=r.globals=void 0;const e="en";let N=!1,o=!1,w=!1,g=!1,c=!1,m=!1,S=!1,t=!1,d=!1,h,v=e,L,C;r.globals=typeof self=="object"?self:typeof global=="object"?global:{};let y;typeof r.globals.vscode!="undefined"&&typeof r.globals.vscode.process!="undefined"?y=r.globals.vscode.process:typeof process!="undefined"&&(y=process);const p=typeof((E=y==null?void 0:y.versions)===null||E===void 0?void 0:E.electron)=="string",s=p&&(y==null?void 0:y.type)==="renderer";if(typeof navigator=="object"&&!s)C=navigator.userAgent,N=C.indexOf("Windows")>=0,o=C.indexOf("Macintosh")>=0,t=(C.indexOf("Macintosh")>=0||C.indexOf("iPad")>=0||C.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,w=C.indexOf("Linux")>=0,m=!0,h=navigator.language,v=h;else if(typeof y=="object"){N=y.platform==="win32",o=y.platform==="darwin",w=y.platform==="linux",g=w&&!!y.env.SNAP&&!!y.env.SNAP_REVISION,S=p,d=!!y.env.CI||!!y.env.BUILD_ARTIFACTSTAGINGDIRECTORY,h=e,v=e;const u=y.env.VSCODE_NLS_CONFIG;if(u)try{const _=JSON.parse(u),b=_.availableLanguages["*"];h=_.locale,v=b||e,L=_._translationsConfigFile}catch{}c=!0}else console.error("Unable to resolve platform.");let i=0;o?i=1:N?i=3:w&&(i=2),r.isWindows=N,r.isMacintosh=o,r.isLinux=w,r.isNative=c,r.isWeb=m,r.isWebWorker=m&&typeof r.globals.importScripts=="function",r.isIOS=t,r.userAgent=C,r.language=v,r.setTimeout0=(()=>{if(typeof r.globals.postMessage=="function"&&!r.globals.importScripts){let u=[];r.globals.addEventListener("message",b=>{if(b.data&&b.data.vscodeScheduleAsyncWork)for(let A=0,P=u.length;A<P;A++){const D=u[A];if(D.id===b.data.vscodeScheduleAsyncWork){u.splice(A,1),D.callback();return}}});let _=0;return b=>{const A=++_;u.push({id:A,callback:b}),r.globals.postMessage({vscodeScheduleAsyncWork:A},"*")}}return u=>setTimeout(u)})(),r.OS=o||t?2:N?1:3;let a=!0,l=!1;function f(){if(!l){l=!0;const u=new Uint8Array(2);u[0]=1,u[1]=2,a=new Uint16Array(u.buffer)[0]===(2<<8)+1}return a}r.isLittleEndian=f,r.isChrome=!!(r.userAgent&&r.userAgent.indexOf("Chrome")>=0),r.isFirefox=!!(r.userAgent&&r.userAgent.indexOf("Firefox")>=0),r.isSafari=!!(!r.isChrome&&r.userAgent&&r.userAgent.indexOf("Safari")>=0),r.isEdge=!!(r.userAgent&&r.userAgent.indexOf("Edg/")>=0),r.isAndroid=!!(r.userAgent&&r.userAgent.indexOf("Android")>=0)}),Y(Q[25],Z([0,1,5]),function(U,r,E){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.platform=r.env=r.cwd=void 0;let e;if(typeof E.globals.vscode!="undefined"&&typeof E.globals.vscode.process!="undefined"){const N=E.globals.vscode.process;e={get platform(){return N.platform},get arch(){return N.arch},get env(){return N.env},cwd(){return N.cwd()}}}else typeof process!="undefined"?e={get platform(){return process.platform},get arch(){return process.arch},get env(){return process.env},cwd(){return process.env.VSCODE_CWD||process.cwd()}}:e={get platform(){return E.isWindows?"win32":E.isMacintosh?"darwin":"linux"},get arch(){},get env(){return{}},cwd(){return"/"}};r.cwd=e.cwd,r.env=e.env,r.platform=e.platform}),Y(Q[26],Z([0,1,25]),function(U,r,E){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.sep=r.extname=r.basename=r.dirname=r.relative=r.resolve=r.normalize=r.posix=r.win32=void 0;const e=65,N=97,o=90,w=122,g=46,c=47,m=92,S=58,t=63;class d extends Error{constructor(i,a,l){let f;typeof a=="string"&&a.indexOf("not ")===0?(f="must not be",a=a.replace(/^not /,"")):f="must be";const u=i.indexOf(".")!==-1?"property":"argument";let _=`The "${i}" ${u} ${f} of type ${a}`;_+=`. Received type ${typeof l}`;super(_);this.code="ERR_INVALID_ARG_TYPE"}}function h(s,i){if(typeof s!="string")throw new d(i,"string",s)}function v(s){return s===c||s===m}function L(s){return s===c}function C(s){return s>=e&&s<=o||s>=N&&s<=w}function y(s,i,a,l){let f="",u=0,_=-1,b=0,A=0;for(let P=0;P<=s.length;++P){if(P<s.length)A=s.charCodeAt(P);else{if(l(A))break;A=c}if(l(A)){if(!(_===P-1||b===1))if(b===2){if(f.length<2||u!==2||f.charCodeAt(f.length-1)!==g||f.charCodeAt(f.length-2)!==g){if(f.length>2){const D=f.lastIndexOf(a);D===-1?(f="",u=0):(f=f.slice(0,D),u=f.length-1-f.lastIndexOf(a)),_=P,b=0;continue}else if(f.length!==0){f="",u=0,_=P,b=0;continue}}i&&(f+=f.length>0?`${a}..`:"..",u=2)}else f.length>0?f+=`${a}${s.slice(_+1,P)}`:f=s.slice(_+1,P),u=P-_-1;_=P,b=0}else A===g&&b!==-1?++b:b=-1}return f}function p(s,i){if(i===null||typeof i!="object")throw new d("pathObject","Object",i);const a=i.dir||i.root,l=i.base||`${i.name||""}${i.ext||""}`;return a?a===i.root?`${a}${l}`:`${a}${s}${l}`:l}r.win32={resolve(...s){let i="",a="",l=!1;for(let f=s.length-1;f>=-1;f--){let u;if(f>=0){if(u=s[f],h(u,"path"),u.length===0)continue}else i.length===0?u=E.cwd():(u=E.env[`=${i}`]||E.cwd(),(u===void 0||u.slice(0,2).toLowerCase()!==i.toLowerCase()&&u.charCodeAt(2)===m)&&(u=`${i}\\`));const _=u.length;let b=0,A="",P=!1;const D=u.charCodeAt(0);if(_===1)v(D)&&(b=1,P=!0);else if(v(D))if(P=!0,v(u.charCodeAt(1))){let k=2,R=k;for(;k<_&&!v(u.charCodeAt(k));)k++;if(k<_&&k!==R){const I=u.slice(R,k);for(R=k;k<_&&v(u.charCodeAt(k));)k++;if(k<_&&k!==R){for(R=k;k<_&&!v(u.charCodeAt(k));)k++;(k===_||k!==R)&&(A=`\\\\${I}\\${u.slice(R,k)}`,b=k)}}}else b=1;else C(D)&&u.charCodeAt(1)===S&&(A=u.slice(0,2),b=2,_>2&&v(u.charCodeAt(2))&&(P=!0,b=3));if(A.length>0)if(i.length>0){if(A.toLowerCase()!==i.toLowerCase())continue}else i=A;if(l){if(i.length>0)break}else if(a=`${u.slice(b)}\\${a}`,l=P,P&&i.length>0)break}return a=y(a,!l,"\\",v),l?`${i}\\${a}`:`${i}${a}`||"."},normalize(s){h(s,"path");const i=s.length;if(i===0)return".";let a=0,l,f=!1;const u=s.charCodeAt(0);if(i===1)return L(u)?"\\":s;if(v(u))if(f=!0,v(s.charCodeAt(1))){let b=2,A=b;for(;b<i&&!v(s.charCodeAt(b));)b++;if(b<i&&b!==A){const P=s.slice(A,b);for(A=b;b<i&&v(s.charCodeAt(b));)b++;if(b<i&&b!==A){for(A=b;b<i&&!v(s.charCodeAt(b));)b++;if(b===i)return`\\\\${P}\\${s.slice(A)}\\`;b!==A&&(l=`\\\\${P}\\${s.slice(A,b)}`,a=b)}}}else a=1;else C(u)&&s.charCodeAt(1)===S&&(l=s.slice(0,2),a=2,i>2&&v(s.charCodeAt(2))&&(f=!0,a=3));let _=a<i?y(s.slice(a),!f,"\\",v):"";return _.length===0&&!f&&(_="."),_.length>0&&v(s.charCodeAt(i-1))&&(_+="\\"),l===void 0?f?`\\${_}`:_:f?`${l}\\${_}`:`${l}${_}`},isAbsolute(s){h(s,"path");const i=s.length;if(i===0)return!1;const a=s.charCodeAt(0);return v(a)||i>2&&C(a)&&s.charCodeAt(1)===S&&v(s.charCodeAt(2))},join(...s){if(s.length===0)return".";let i,a;for(let u=0;u<s.length;++u){const _=s[u];h(_,"path"),_.length>0&&(i===void 0?i=a=_:i+=`\\${_}`)}if(i===void 0)return".";let l=!0,f=0;if(typeof a=="string"&&v(a.charCodeAt(0))){++f;const u=a.length;u>1&&v(a.charCodeAt(1))&&(++f,u>2&&(v(a.charCodeAt(2))?++f:l=!1))}if(l){for(;f<i.length&&v(i.charCodeAt(f));)f++;f>=2&&(i=`\\${i.slice(f)}`)}return r.win32.normalize(i)},relative(s,i){if(h(s,"from"),h(i,"to"),s===i)return"";const a=r.win32.resolve(s),l=r.win32.resolve(i);if(a===l||(s=a.toLowerCase(),i=l.toLowerCase(),s===i))return"";let f=0;for(;f<s.length&&s.charCodeAt(f)===m;)f++;let u=s.length;for(;u-1>f&&s.charCodeAt(u-1)===m;)u--;const _=u-f;let b=0;for(;b<i.length&&i.charCodeAt(b)===m;)b++;let A=i.length;for(;A-1>b&&i.charCodeAt(A-1)===m;)A--;const P=A-b,D=_<P?_:P;let k=-1,R=0;for(;R<D;R++){const F=s.charCodeAt(f+R);if(F!==i.charCodeAt(b+R))break;F===m&&(k=R)}if(R!==D){if(k===-1)return l}else{if(P>D){if(i.charCodeAt(b+R)===m)return l.slice(b+R+1);if(R===2)return l.slice(b+R)}_>D&&(s.charCodeAt(f+R)===m?k=R:R===2&&(k=3)),k===-1&&(k=0)}let I="";for(R=f+k+1;R<=u;++R)(R===u||s.charCodeAt(R)===m)&&(I+=I.length===0?"..":"\\..");return b+=k,I.length>0?`${I}${l.slice(b,A)}`:(l.charCodeAt(b)===m&&++b,l.slice(b,A))},toNamespacedPath(s){if(typeof s!="string")return s;if(s.length===0)return"";const i=r.win32.resolve(s);if(i.length<=2)return s;if(i.charCodeAt(0)===m){if(i.charCodeAt(1)===m){const a=i.charCodeAt(2);if(a!==t&&a!==g)return`\\\\?\\UNC\\${i.slice(2)}`}}else if(C(i.charCodeAt(0))&&i.charCodeAt(1)===S&&i.charCodeAt(2)===m)return`\\\\?\\${i}`;return s},dirname(s){h(s,"path");const i=s.length;if(i===0)return".";let a=-1,l=0;const f=s.charCodeAt(0);if(i===1)return v(f)?s:".";if(v(f)){if(a=l=1,v(s.charCodeAt(1))){let b=2,A=b;for(;b<i&&!v(s.charCodeAt(b));)b++;if(b<i&&b!==A){for(A=b;b<i&&v(s.charCodeAt(b));)b++;if(b<i&&b!==A){for(A=b;b<i&&!v(s.charCodeAt(b));)b++;if(b===i)return s;b!==A&&(a=l=b+1)}}}}else C(f)&&s.charCodeAt(1)===S&&(a=i>2&&v(s.charCodeAt(2))?3:2,l=a);let u=-1,_=!0;for(let b=i-1;b>=l;--b)if(v(s.charCodeAt(b))){if(!_){u=b;break}}else _=!1;if(u===-1){if(a===-1)return".";u=a}return s.slice(0,u)},basename(s,i){i!==void 0&&h(i,"ext"),h(s,"path");let a=0,l=-1,f=!0,u;if(s.length>=2&&C(s.charCodeAt(0))&&s.charCodeAt(1)===S&&(a=2),i!==void 0&&i.length>0&&i.length<=s.length){if(i===s)return"";let _=i.length-1,b=-1;for(u=s.length-1;u>=a;--u){const A=s.charCodeAt(u);if(v(A)){if(!f){a=u+1;break}}else b===-1&&(f=!1,b=u+1),_>=0&&(A===i.charCodeAt(_)?--_==-1&&(l=u):(_=-1,l=b))}return a===l?l=b:l===-1&&(l=s.length),s.slice(a,l)}for(u=s.length-1;u>=a;--u)if(v(s.charCodeAt(u))){if(!f){a=u+1;break}}else l===-1&&(f=!1,l=u+1);return l===-1?"":s.slice(a,l)},extname(s){h(s,"path");let i=0,a=-1,l=0,f=-1,u=!0,_=0;s.length>=2&&s.charCodeAt(1)===S&&C(s.charCodeAt(0))&&(i=l=2);for(let b=s.length-1;b>=i;--b){const A=s.charCodeAt(b);if(v(A)){if(!u){l=b+1;break}continue}f===-1&&(u=!1,f=b+1),A===g?a===-1?a=b:_!==1&&(_=1):a!==-1&&(_=-1)}return a===-1||f===-1||_===0||_===1&&a===f-1&&a===l+1?"":s.slice(a,f)},format:p.bind(null,"\\"),parse(s){h(s,"path");const i={root:"",dir:"",base:"",ext:"",name:""};if(s.length===0)return i;const a=s.length;let l=0,f=s.charCodeAt(0);if(a===1)return v(f)?(i.root=i.dir=s,i):(i.base=i.name=s,i);if(v(f)){if(l=1,v(s.charCodeAt(1))){let k=2,R=k;for(;k<a&&!v(s.charCodeAt(k));)k++;if(k<a&&k!==R){for(R=k;k<a&&v(s.charCodeAt(k));)k++;if(k<a&&k!==R){for(R=k;k<a&&!v(s.charCodeAt(k));)k++;k===a?l=k:k!==R&&(l=k+1)}}}}else if(C(f)&&s.charCodeAt(1)===S){if(a<=2)return i.root=i.dir=s,i;if(l=2,v(s.charCodeAt(2))){if(a===3)return i.root=i.dir=s,i;l=3}}l>0&&(i.root=s.slice(0,l));let u=-1,_=l,b=-1,A=!0,P=s.length-1,D=0;for(;P>=l;--P){if(f=s.charCodeAt(P),v(f)){if(!A){_=P+1;break}continue}b===-1&&(A=!1,b=P+1),f===g?u===-1?u=P:D!==1&&(D=1):u!==-1&&(D=-1)}return b!==-1&&(u===-1||D===0||D===1&&u===b-1&&u===_+1?i.base=i.name=s.slice(_,b):(i.name=s.slice(_,u),i.base=s.slice(_,b),i.ext=s.slice(u,b))),_>0&&_!==l?i.dir=s.slice(0,_-1):i.dir=i.root,i},sep:"\\",delimiter:";",win32:null,posix:null},r.posix={resolve(...s){let i="",a=!1;for(let l=s.length-1;l>=-1&&!a;l--){const f=l>=0?s[l]:E.cwd();h(f,"path"),f.length!==0&&(i=`${f}/${i}`,a=f.charCodeAt(0)===c)}return i=y(i,!a,"/",L),a?`/${i}`:i.length>0?i:"."},normalize(s){if(h(s,"path"),s.length===0)return".";const i=s.charCodeAt(0)===c,a=s.charCodeAt(s.length-1)===c;return s=y(s,!i,"/",L),s.length===0?i?"/":a?"./":".":(a&&(s+="/"),i?`/${s}`:s)},isAbsolute(s){return h(s,"path"),s.length>0&&s.charCodeAt(0)===c},join(...s){if(s.length===0)return".";let i;for(let a=0;a<s.length;++a){const l=s[a];h(l,"path"),l.length>0&&(i===void 0?i=l:i+=`/${l}`)}return i===void 0?".":r.posix.normalize(i)},relative(s,i){if(h(s,"from"),h(i,"to"),s===i||(s=r.posix.resolve(s),i=r.posix.resolve(i),s===i))return"";const a=1,l=s.length,f=l-a,u=1,_=i.length-u,b=f<_?f:_;let A=-1,P=0;for(;P<b;P++){const k=s.charCodeAt(a+P);if(k!==i.charCodeAt(u+P))break;k===c&&(A=P)}if(P===b)if(_>b){if(i.charCodeAt(u+P)===c)return i.slice(u+P+1);if(P===0)return i.slice(u+P)}else f>b&&(s.charCodeAt(a+P)===c?A=P:P===0&&(A=0));let D="";for(P=a+A+1;P<=l;++P)(P===l||s.charCodeAt(P)===c)&&(D+=D.length===0?"..":"/..");return`${D}${i.slice(u+A)}`},toNamespacedPath(s){return s},dirname(s){if(h(s,"path"),s.length===0)return".";const i=s.charCodeAt(0)===c;let a=-1,l=!0;for(let f=s.length-1;f>=1;--f)if(s.charCodeAt(f)===c){if(!l){a=f;break}}else l=!1;return a===-1?i?"/":".":i&&a===1?"//":s.slice(0,a)},basename(s,i){i!==void 0&&h(i,"ext"),h(s,"path");let a=0,l=-1,f=!0,u;if(i!==void 0&&i.length>0&&i.length<=s.length){if(i===s)return"";let _=i.length-1,b=-1;for(u=s.length-1;u>=0;--u){const A=s.charCodeAt(u);if(A===c){if(!f){a=u+1;break}}else b===-1&&(f=!1,b=u+1),_>=0&&(A===i.charCodeAt(_)?--_==-1&&(l=u):(_=-1,l=b))}return a===l?l=b:l===-1&&(l=s.length),s.slice(a,l)}for(u=s.length-1;u>=0;--u)if(s.charCodeAt(u)===c){if(!f){a=u+1;break}}else l===-1&&(f=!1,l=u+1);return l===-1?"":s.slice(a,l)},extname(s){h(s,"path");let i=-1,a=0,l=-1,f=!0,u=0;for(let _=s.length-1;_>=0;--_){const b=s.charCodeAt(_);if(b===c){if(!f){a=_+1;break}continue}l===-1&&(f=!1,l=_+1),b===g?i===-1?i=_:u!==1&&(u=1):i!==-1&&(u=-1)}return i===-1||l===-1||u===0||u===1&&i===l-1&&i===a+1?"":s.slice(i,l)},format:p.bind(null,"/"),parse(s){h(s,"path");const i={root:"",dir:"",base:"",ext:"",name:""};if(s.length===0)return i;const a=s.charCodeAt(0)===c;let l;a?(i.root="/",l=1):l=0;let f=-1,u=0,_=-1,b=!0,A=s.length-1,P=0;for(;A>=l;--A){const D=s.charCodeAt(A);if(D===c){if(!b){u=A+1;break}continue}_===-1&&(b=!1,_=A+1),D===g?f===-1?f=A:P!==1&&(P=1):f!==-1&&(P=-1)}if(_!==-1){const D=u===0&&a?1:u;f===-1||P===0||P===1&&f===_-1&&f===u+1?i.base=i.name=s.slice(D,_):(i.name=s.slice(D,f),i.base=s.slice(D,_),i.ext=s.slice(f,_))}return u>0?i.dir=s.slice(0,u-1):a&&(i.dir="/"),i},sep:"/",delimiter:":",win32:null,posix:null},r.posix.win32=r.win32.win32=r.win32,r.posix.posix=r.win32.posix=r.posix,r.normalize=E.platform==="win32"?r.win32.normalize:r.posix.normalize,r.resolve=E.platform==="win32"?r.win32.resolve:r.posix.resolve,r.relative=E.platform==="win32"?r.win32.relative:r.posix.relative,r.dirname=E.platform==="win32"?r.win32.dirname:r.posix.dirname,r.basename=E.platform==="win32"?r.win32.basename:r.posix.basename,r.extname=E.platform==="win32"?r.win32.extname:r.posix.extname,r.sep=E.platform==="win32"?r.win32.sep:r.posix.sep}),Y(Q[11],Z([0,1,5]),function(U,r,E){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.StopWatch=void 0;const e=E.globals.performance&&typeof E.globals.performance.now=="function";class N{constructor(w){this._highResolution=e&&w,this._startTime=this._now(),this._stopTime=-1}static create(w=!0){return new N(w)}stop(){this._stopTime=this._now()}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}_now(){return this._highResolution?E.globals.performance.now():Date.now()}}r.StopWatch=N}),Y(Q[6],Z([0,1,10,8,24,11]),function(U,r,E,e,N,o){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.Relay=r.EventBufferer=r.DebounceEmitter=r.PauseableEmitter=r.Emitter=r.Event=void 0;let w=!1,g=!1;var c;(function(s){s.None=()=>e.Disposable.None;function i(X){if(g){const{onListenerDidAdd:q}=X,G=d.create();let H=0;X.onListenerDidAdd=()=>{++H==2&&(console.warn("snapshotted emitter LIKELY used public and SHOULD HAVE BEEN created with DisposableStore. snapshotted here"),G.print()),q==null||q()}}}function a(X){return(q,G=null,H)=>{let J=!1,x;return x=X(ee=>{if(!J)return x?x.dispose():J=!0,q.call(G,ee)},null,H),J&&x.dispose(),x}}s.once=a;function l(X,q,G){return P((H,J=null,x)=>X(ee=>H.call(J,q(ee)),null,x),G)}s.map=l;function f(X,q,G){return P((H,J=null,x)=>X(ee=>{q(ee),H.call(J,ee)},null,x),G)}s.forEach=f;function u(X,q,G){return P((H,J=null,x)=>X(ee=>q(ee)&&H.call(J,ee),null,x),G)}s.filter=u;function _(X){return X}s.signal=_;function b(...X){return(q,G=null,H)=>(0,e.combinedDisposable)(...X.map(J=>J(x=>q.call(G,x),null,H)))}s.any=b;function A(X,q,G,H){let J=G;return l(X,x=>(J=q(J,x),J),H)}s.reduce=A;function P(X,q){let G;const H={onFirstListenerAdd(){G=X(J.fire,J)},onLastListenerRemove(){G.dispose()}};q||i(H);const J=new v(H);return q&&q.add(J),J.event}function D(X,q,G=100,H=!1,J,x){let ee,ie,he,_e=0;const be={leakWarningThreshold:J,onFirstListenerAdd(){ee=X(Ce=>{_e++,ie=q(ie,Ce),H&&!he&&(me.fire(ie),ie=void 0),clearTimeout(he),he=setTimeout(()=>{const le=ie;ie=void 0,he=void 0,(!H||_e>1)&&me.fire(le),_e=0},G)})},onLastListenerRemove(){ee.dispose()}};x||i(be);const me=new v(be);return x&&x.add(me),me.event}s.debounce=D;function k(X,q=(H,J)=>H===J,G){let H=!0,J;return u(X,x=>{const ee=H||!q(x,J);return H=!1,J=x,ee},G)}s.latch=k;function R(X,q,G){return[s.filter(X,q,G),s.filter(X,H=>!q(H),G)]}s.split=R;function I(X,q=!1,G=[]){let H=G.slice(),J=X(ie=>{H?H.push(ie):ee.fire(ie)});const x=()=>{H&&H.forEach(ie=>ee.fire(ie)),H=null},ee=new v({onFirstListenerAdd(){J||(J=X(ie=>ee.fire(ie)))},onFirstListenerDidAdd(){H&&(q?setTimeout(x):x())},onLastListenerRemove(){J&&J.dispose(),J=null}});return ee.event}s.buffer=I;class F{constructor(q){this.event=q}map(q){return new F(l(this.event,q))}forEach(q){return new F(f(this.event,q))}filter(q){return new F(u(this.event,q))}reduce(q,G){return new F(A(this.event,q,G))}latch(){return new F(k(this.event))}debounce(q,G=100,H=!1,J){return new F(D(this.event,q,G,H,J))}on(q,G,H){return this.event(q,G,H)}once(q,G,H){return a(this.event)(q,G,H)}}function O(X){return new F(X)}s.chain=O;function V(X,q,G=H=>H){const H=(...ie)=>ee.fire(G(...ie)),J=()=>X.on(q,H),x=()=>X.removeListener(q,H),ee=new v({onFirstListenerAdd:J,onLastListenerRemove:x});return ee.event}s.fromNodeEventEmitter=V;function K(X,q,G=H=>H){const H=(...ie)=>ee.fire(G(...ie)),J=()=>X.addEventListener(q,H),x=()=>X.removeEventListener(q,H),ee=new v({onFirstListenerAdd:J,onLastListenerRemove:x});return ee.event}s.fromDOMEventEmitter=K;function $(X){return new Promise(q=>a(X)(q))}s.toPromise=$;function z(X,q){return q(void 0),X(G=>q(G))}s.runAndSubscribe=z;function n(X,q){let G=null;function H(x){G==null||G.dispose(),G=new e.DisposableStore,q(x,G)}H(void 0);const J=X(x=>H(x));return(0,e.toDisposable)(()=>{J.dispose(),G==null||G.dispose()})}s.runAndSubscribeWithStore=n})(c=r.Event||(r.Event={}));class m{constructor(i){this._listenerCount=0,this._invocationCount=0,this._elapsedOverall=0,this._name=`${i}_${m._idPool++}`}start(i){this._stopWatch=new o.StopWatch(!0),this._listenerCount=i}stop(){if(this._stopWatch){const i=this._stopWatch.elapsed();this._elapsedOverall+=i,this._invocationCount+=1,console.info(`did FIRE ${this._name}: elapsed_ms: ${i.toFixed(5)}, listener: ${this._listenerCount} (elapsed_overall: ${this._elapsedOverall.toFixed(2)}, invocations: ${this._invocationCount})`),this._stopWatch=void 0}}}m._idPool=0;let S=-1;class t{constructor(i,a=Math.random().toString(18).slice(2,5)){this.customThreshold=i,this.name=a,this._warnCountdown=0}dispose(){this._stacks&&this._stacks.clear()}check(i,a){let l=S;if(typeof this.customThreshold=="number"&&(l=this.customThreshold),l<=0||a<l)return;this._stacks||(this._stacks=new Map);const f=this._stacks.get(i.value)||0;if(this._stacks.set(i.value,f+1),this._warnCountdown-=1,this._warnCountdown<=0){this._warnCountdown=l*.5;let u,_=0;for(const[b,A]of this._stacks)(!u||_<A)&&(u=b,_=A);console.warn(`[${this.name}] potential listener LEAK detected, having ${a} listeners already. MOST frequent listener (${_}):`),console.warn(u)}return()=>{const u=this._stacks.get(i.value)||0;this._stacks.set(i.value,u-1)}}}class d{constructor(i){this.value=i}static create(){var i;return new d((i=new Error().stack)!==null&&i!==void 0?i:"")}print(){console.warn(this.value.split(`
+`).slice(2).join(`
+`))}}class h{constructor(i,a,l){this.callback=i,this.callbackThis=a,this.stack=l,this.subscription=new e.SafeDisposable}invoke(i){this.callback.call(this.callbackThis,i)}}class v{constructor(i){var a;this._disposed=!1,this._options=i,this._leakageMon=S>0?new t(this._options&&this._options.leakWarningThreshold):void 0,this._perfMon=((a=this._options)===null||a===void 0?void 0:a._profName)?new m(this._options._profName):void 0}dispose(){var i,a,l,f;if(!this._disposed){if(this._disposed=!0,this._listeners){if(w){const u=Array.from(this._listeners);queueMicrotask(()=>{var _;for(const b of u)b.subscription.isset()&&(b.subscription.unset(),(_=b.stack)===null||_===void 0||_.print())})}this._listeners.clear()}(i=this._deliveryQueue)===null||i===void 0||i.clear(),(l=(a=this._options)===null||a===void 0?void 0:a.onLastListenerRemove)===null||l===void 0||l.call(a),(f=this._leakageMon)===null||f===void 0||f.dispose()}}get event(){return this._event||(this._event=(i,a,l)=>{var f,u,_;this._listeners||(this._listeners=new N.LinkedList);const b=this._listeners.isEmpty();b&&((f=this._options)===null||f===void 0?void 0:f.onFirstListenerAdd)&&this._options.onFirstListenerAdd(this);let A,P;this._leakageMon&&this._listeners.size>=30&&(P=d.create(),A=this._leakageMon.check(P,this._listeners.size+1)),w&&(P=P??d.create());const D=new h(i,a,P),k=this._listeners.push(D);b&&((u=this._options)===null||u===void 0?void 0:u.onFirstListenerDidAdd)&&this._options.onFirstListenerDidAdd(this),((_=this._options)===null||_===void 0?void 0:_.onListenerDidAdd)&&this._options.onListenerDidAdd(this,i,a);const R=D.subscription.set(()=>{A&&A(),this._disposed||(k(),this._options&&this._options.onLastListenerRemove&&(this._listeners&&!this._listeners.isEmpty()||this._options.onLastListenerRemove(this)))});return l instanceof e.DisposableStore?l.add(R):Array.isArray(l)&&l.push(R),R}),this._event}fire(i){var a,l;if(this._listeners){this._deliveryQueue||(this._deliveryQueue=new N.LinkedList);for(let f of this._listeners)this._deliveryQueue.push([f,i]);for((a=this._perfMon)===null||a===void 0||a.start(this._deliveryQueue.size);this._deliveryQueue.size>0;){const[f,u]=this._deliveryQueue.shift();try{f.invoke(u)}catch(_){(0,E.onUnexpectedError)(_)}}(l=this._perfMon)===null||l===void 0||l.stop()}}}r.Emitter=v;class L extends v{constructor(i){super(i);this._isPaused=0,this._eventQueue=new N.LinkedList,this._mergeFn=i==null?void 0:i.merge}pause(){this._isPaused++}resume(){if(this._isPaused!==0&&--this._isPaused==0)if(this._mergeFn){const i=Array.from(this._eventQueue);this._eventQueue.clear(),super.fire(this._mergeFn(i))}else for(;!this._isPaused&&this._eventQueue.size!==0;)super.fire(this._eventQueue.shift())}fire(i){this._listeners&&(this._isPaused!==0?this._eventQueue.push(i):super.fire(i))}}r.PauseableEmitter=L;class C extends L{constructor(i){var a;super(i);this._delay=(a=i.delay)!==null&&a!==void 0?a:100}fire(i){this._handle||(this.pause(),this._handle=setTimeout(()=>{this._handle=void 0,this.resume()},this._delay)),super.fire(i)}}r.DebounceEmitter=C;class y{constructor(){this.buffers=[]}wrapEvent(i){return(a,l,f)=>i(u=>{const _=this.buffers[this.buffers.length-1];_?_.push(()=>a.call(l,u)):a.call(l,u)},void 0,f)}bufferEvents(i){const a=[];this.buffers.push(a);const l=i();return this.buffers.pop(),a.forEach(f=>f()),l}}r.EventBufferer=y;class p{constructor(){this.listening=!1,this.inputEvent=c.None,this.inputEventListener=e.Disposable.None,this.emitter=new v({onFirstListenerDidAdd:()=>{this.listening=!0,this.inputEventListener=this.inputEvent(this.emitter.fire,this.emitter)},onLastListenerRemove:()=>{this.listening=!1,this.inputEventListener.dispose()}}),this.event=this.emitter.event}set input(i){this.inputEvent=i,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=i(this.emitter.fire,this.emitter))}dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}}r.Relay=p}),Y(Q[27],Z([0,1,6]),function(U,r,E){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.CancellationTokenSource=r.CancellationToken=void 0;const e=Object.freeze(function(g,c){const m=setTimeout(g.bind(c),0);return{dispose(){clearTimeout(m)}}});var N;(function(g){function c(m){return m===g.None||m===g.Cancelled||m instanceof o?!0:!m||typeof m!="object"?!1:typeof m.isCancellationRequested=="boolean"&&typeof m.onCancellationRequested=="function"}g.isCancellationToken=c,g.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:E.Event.None}),g.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:e})})(N=r.CancellationToken||(r.CancellationToken={}));class o{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?e:(this._emitter||(this._emitter=new E.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class w{constructor(c){this._token=void 0,this._parentListener=void 0,this._parentListener=c&&c.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new o),this._token}cancel(){this._token?this._token instanceof o&&this._token.cancel():this._token=N.Cancelled}dispose(c=!1){c&&this.cancel(),this._parentListener&&this._parentListener.dispose(),this._token?this._token instanceof o&&this._token.dispose():this._token=N.None}}r.CancellationTokenSource=w}),Y(Q[2],Z([0,1,17,23]),function(U,r,E,e){"use strict";var N;Object.defineProperty(r,"__esModule",{value:!0}),r.InvisibleCharacters=r.AmbiguousCharacters=r.noBreakWhitespace=r.getLeftDeleteOffset=r.singleLetterHash=r.containsUppercaseCharacter=r.startsWithUTF8BOM=r.UTF8_BOM_CHARACTER=r.isEmojiImprecise=r.isFullWidthCharacter=r.containsUnusualLineTerminators=r.UNUSUAL_LINE_TERMINATORS=r.isBasicASCII=r.containsRTL=r.getCharContainingOffset=r.prevCharLength=r.nextCharLength=r.GraphemeIterator=r.CodePointIterator=r.getNextCodePoint=r.computeCodePoint=r.isLowSurrogate=r.isHighSurrogate=r.commonSuffixLength=r.commonPrefixLength=r.startsWithIgnoreCase=r.equalsIgnoreCase=r.isUpperAsciiLetter=r.isLowerAsciiLetter=r.compareSubstringIgnoreCase=r.compareIgnoreCase=r.compareSubstring=r.compare=r.lastNonWhitespaceIndex=r.getLeadingWhitespace=r.firstNonWhitespaceIndex=r.splitLines=r.regExpFlags=r.regExpLeadsToEndlessLoop=r.createRegExp=r.stripWildcards=r.convertSimple2RegExpPattern=r.rtrim=r.ltrim=r.trim=r.escapeRegExpCharacters=r.escape=r.format=r.isFalsyOrWhitespace=void 0;function o(M){return!M||typeof M!="string"?!0:M.trim().length===0}r.isFalsyOrWhitespace=o;const w=/{(\d+)}/g;function g(M,...T){return T.length===0?M:M.replace(w,function(B,W){const j=parseInt(W,10);return isNaN(j)||j<0||j>=T.length?B:T[j]})}r.format=g;function c(M){return M.replace(/[<>&]/g,function(T){switch(T){case"<":return"&lt;";case">":return"&gt;";case"&":return"&amp;";default:return T}})}r.escape=c;function m(M){return M.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}r.escapeRegExpCharacters=m;function S(M,T=" "){const B=t(M,T);return d(B,T)}r.trim=S;function t(M,T){if(!M||!T)return M;const B=T.length;if(B===0||M.length===0)return M;let W=0;for(;M.indexOf(T,W)===W;)W=W+B;return M.substring(W)}r.ltrim=t;function d(M,T){if(!M||!T)return M;const B=T.length,W=M.length;if(B===0||W===0)return M;let j=W,te=-1;for(;te=M.lastIndexOf(T,j-1),!(te===-1||te+B!==j);){if(te===0)return"";j=te}return M.substring(0,j)}r.rtrim=d;function h(M){return M.replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&").replace(/[\*]/g,".*")}r.convertSimple2RegExpPattern=h;function v(M){return M.replace(/\*/g,"")}r.stripWildcards=v;function L(M,T,B={}){if(!M)throw new Error("Cannot create regex from empty string");T||(M=m(M)),B.wholeWord&&(/\B/.test(M.charAt(0))||(M="\\b"+M),/\B/.test(M.charAt(M.length-1))||(M=M+"\\b"));let W="";return B.global&&(W+="g"),B.matchCase||(W+="i"),B.multiline&&(W+="m"),B.unicode&&(W+="u"),new RegExp(M,W)}r.createRegExp=L;function C(M){return M.source==="^"||M.source==="^$"||M.source==="$"||M.source==="^\\s*$"?!1:!!(M.exec("")&&M.lastIndex===0)}r.regExpLeadsToEndlessLoop=C;function y(M){return(M.global?"g":"")+(M.ignoreCase?"i":"")+(M.multiline?"m":"")+(M.unicode?"u":"")}r.regExpFlags=y;function p(M){return M.split(/\r\n|\r|\n/)}r.splitLines=p;function s(M){for(let T=0,B=M.length;T<B;T++){const W=M.charCodeAt(T);if(W!==32&&W!==9)return T}return-1}r.firstNonWhitespaceIndex=s;function i(M,T=0,B=M.length){for(let W=T;W<B;W++){const j=M.charCodeAt(W);if(j!==32&&j!==9)return M.substring(T,W)}return M.substring(T,B)}r.getLeadingWhitespace=i;function a(M,T=M.length-1){for(let B=T;B>=0;B--){const W=M.charCodeAt(B);if(W!==32&&W!==9)return B}return-1}r.lastNonWhitespaceIndex=a;function l(M,T){return M<T?-1:M>T?1:0}r.compare=l;function f(M,T,B=0,W=M.length,j=0,te=T.length){for(;B<W&&j<te;B++,j++){let ce=M.charCodeAt(B),ne=T.charCodeAt(j);if(ce<ne)return-1;if(ce>ne)return 1}const se=W-B,de=te-j;return se<de?-1:se>de?1:0}r.compareSubstring=f;function u(M,T){return _(M,T,0,M.length,0,T.length)}r.compareIgnoreCase=u;function _(M,T,B=0,W=M.length,j=0,te=T.length){for(;B<W&&j<te;B++,j++){let ce=M.charCodeAt(B),ne=T.charCodeAt(j);if(ce===ne)continue;if(ce>=128||ne>=128)return f(M.toLowerCase(),T.toLowerCase(),B,W,j,te);b(ce)&&(ce-=32),b(ne)&&(ne-=32);const ae=ce-ne;if(ae!==0)return ae}const se=W-B,de=te-j;return se<de?-1:se>de?1:0}r.compareSubstringIgnoreCase=_;function b(M){return M>=97&&M<=122}r.isLowerAsciiLetter=b;function A(M){return M>=65&&M<=90}r.isUpperAsciiLetter=A;function P(M,T){return M.length===T.length&&_(M,T)===0}r.equalsIgnoreCase=P;function D(M,T){const B=T.length;return T.length>M.length?!1:_(M,T,0,B)===0}r.startsWithIgnoreCase=D;function k(M,T){let B,W=Math.min(M.length,T.length);for(B=0;B<W;B++)if(M.charCodeAt(B)!==T.charCodeAt(B))return B;return W}r.commonPrefixLength=k;function R(M,T){let B,W=Math.min(M.length,T.length);const j=M.length-1,te=T.length-1;for(B=0;B<W;B++)if(M.charCodeAt(j-B)!==T.charCodeAt(te-B))return B;return W}r.commonSuffixLength=R;function I(M){return 55296<=M&&M<=56319}r.isHighSurrogate=I;function F(M){return 56320<=M&&M<=57343}r.isLowSurrogate=F;function O(M,T){return(M-55296<<10)+(T-56320)+65536}r.computeCodePoint=O;function V(M,T,B){const W=M.charCodeAt(B);if(I(W)&&B+1<T){const j=M.charCodeAt(B+1);if(F(j))return O(W,j)}return W}r.getNextCodePoint=V;function K(M,T){const B=M.charCodeAt(T-1);if(F(B)&&T>1){const W=M.charCodeAt(T-2);if(I(W))return O(W,B)}return B}class ${constructor(T,B=0){this._str=T,this._len=T.length,this._offset=B}get offset(){return this._offset}setOffset(T){this._offset=T}prevCodePoint(){const T=K(this._str,this._offset);return this._offset-=T>=65536?2:1,T}nextCodePoint(){const T=V(this._str,this._len,this._offset);return this._offset+=T>=65536?2:1,T}eol(){return this._offset>=this._len}}r.CodePointIterator=$;class z{constructor(T,B=0){this._iterator=new $(T,B)}get offset(){return this._iterator.offset}nextGraphemeLength(){const T=le.getInstance(),B=this._iterator,W=B.offset;let j=T.getGraphemeBreakType(B.nextCodePoint());for(;!B.eol();){const te=B.offset,se=T.getGraphemeBreakType(B.nextCodePoint());if(Ce(j,se)){B.setOffset(te);break}j=se}return B.offset-W}prevGraphemeLength(){const T=le.getInstance(),B=this._iterator,W=B.offset;let j=T.getGraphemeBreakType(B.prevCodePoint());for(;B.offset>0;){const te=B.offset,se=T.getGraphemeBreakType(B.prevCodePoint());if(Ce(se,j)){B.setOffset(te);break}j=se}return W-B.offset}eol(){return this._iterator.eol()}}r.GraphemeIterator=z;function n(M,T){return new z(M,T).nextGraphemeLength()}r.nextCharLength=n;function X(M,T){return new z(M,T).prevGraphemeLength()}r.prevCharLength=X;function q(M,T){T>0&&F(M.charCodeAt(T))&&T--;const B=T+n(M,T);return[B-X(M,B),B]}r.getCharContainingOffset=q;const G=/(?:[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05F4\u0608\u060B\u060D\u061B-\u064A\u066D-\u066F\u0671-\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u0710\u0712-\u072F\u074D-\u07A5\u07B1-\u07EA\u07F4\u07F5\u07FA\u07FE-\u0815\u081A\u0824\u0828\u0830-\u0858\u085E-\u088E\u08A0-\u08C9\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFC\uFE70-\uFEFC]|\uD802[\uDC00-\uDD1B\uDD20-\uDE00\uDE10-\uDE35\uDE40-\uDEE4\uDEEB-\uDF35\uDF40-\uDFFF]|\uD803[\uDC00-\uDD23\uDE80-\uDEA9\uDEAD-\uDF45\uDF51-\uDF81\uDF86-\uDFF6]|\uD83A[\uDC00-\uDCCF\uDD00-\uDD43\uDD4B-\uDFFF]|\uD83B[\uDC00-\uDEBB])/;function H(M){return G.test(M)}r.containsRTL=H;const J=/^[\t\n\r\x20-\x7E]*$/;function x(M){return J.test(M)}r.isBasicASCII=x,r.UNUSUAL_LINE_TERMINATORS=/[\u2028\u2029]/;function ee(M){return r.UNUSUAL_LINE_TERMINATORS.test(M)}r.containsUnusualLineTerminators=ee;function ie(M){return M>=11904&&M<=55215||M>=63744&&M<=64255||M>=65281&&M<=65374}r.isFullWidthCharacter=ie;function he(M){return M>=127462&&M<=127487||M===8986||M===8987||M===9200||M===9203||M>=9728&&M<=10175||M===11088||M===11093||M>=127744&&M<=128591||M>=128640&&M<=128764||M>=128992&&M<=129008||M>=129280&&M<=129535||M>=129648&&M<=129782}r.isEmojiImprecise=he,r.UTF8_BOM_CHARACTER=String.fromCharCode(65279);function _e(M){return!!(M&&M.length>0&&M.charCodeAt(0)===65279)}r.startsWithUTF8BOM=_e;function be(M,T=!1){return M?(T&&(M=M.replace(/\\./g,"")),M.toLowerCase()!==M):!1}r.containsUppercaseCharacter=be;function me(M){const T=90-65+1;return M=M%(2*T),M<T?String.fromCharCode(97+M):String.fromCharCode(65+M-T)}r.singleLetterHash=me;function Ce(M,T){return M===0?T!==5&&T!==7:M===2&&T===3?!1:M===4||M===2||M===3||T===4||T===2||T===3?!0:!(M===8&&(T===8||T===9||T===11||T===12)||(M===11||M===9)&&(T===9||T===10)||(M===12||M===10)&&T===10||T===5||T===13||T===7||M===1||M===13&&T===14||M===6&&T===6)}class le{constructor(){this._data=ye()}static getInstance(){return le._INSTANCE||(le._INSTANCE=new le),le._INSTANCE}getGraphemeBreakType(T){if(T<32)return T===10?3:T===13?2:4;if(T<127)return 0;const B=this._data,W=B.length/3;let j=1;for(;j<=W;)if(T<B[3*j])j=2*j;else if(T>B[3*j+1])j=2*j+1;else return B[3*j+2];return 0}}le._INSTANCE=null;function ye(){return JSON.parse("[0,0,0,51229,51255,12,44061,44087,12,127462,127487,6,7083,7085,5,47645,47671,12,54813,54839,12,128678,128678,14,3270,3270,5,9919,9923,14,45853,45879,12,49437,49463,12,53021,53047,12,71216,71218,7,128398,128399,14,129360,129374,14,2519,2519,5,4448,4519,9,9742,9742,14,12336,12336,14,44957,44983,12,46749,46775,12,48541,48567,12,50333,50359,12,52125,52151,12,53917,53943,12,69888,69890,5,73018,73018,5,127990,127990,14,128558,128559,14,128759,128760,14,129653,129655,14,2027,2035,5,2891,2892,7,3761,3761,5,6683,6683,5,8293,8293,4,9825,9826,14,9999,9999,14,43452,43453,5,44509,44535,12,45405,45431,12,46301,46327,12,47197,47223,12,48093,48119,12,48989,49015,12,49885,49911,12,50781,50807,12,51677,51703,12,52573,52599,12,53469,53495,12,54365,54391,12,65279,65279,4,70471,70472,7,72145,72147,7,119173,119179,5,127799,127818,14,128240,128244,14,128512,128512,14,128652,128652,14,128721,128722,14,129292,129292,14,129445,129450,14,129734,129743,14,1476,1477,5,2366,2368,7,2750,2752,7,3076,3076,5,3415,3415,5,4141,4144,5,6109,6109,5,6964,6964,5,7394,7400,5,9197,9198,14,9770,9770,14,9877,9877,14,9968,9969,14,10084,10084,14,43052,43052,5,43713,43713,5,44285,44311,12,44733,44759,12,45181,45207,12,45629,45655,12,46077,46103,12,46525,46551,12,46973,46999,12,47421,47447,12,47869,47895,12,48317,48343,12,48765,48791,12,49213,49239,12,49661,49687,12,50109,50135,12,50557,50583,12,51005,51031,12,51453,51479,12,51901,51927,12,52349,52375,12,52797,52823,12,53245,53271,12,53693,53719,12,54141,54167,12,54589,54615,12,55037,55063,12,69506,69509,5,70191,70193,5,70841,70841,7,71463,71467,5,72330,72342,5,94031,94031,5,123628,123631,5,127763,127765,14,127941,127941,14,128043,128062,14,128302,128317,14,128465,128467,14,128539,128539,14,128640,128640,14,128662,128662,14,128703,128703,14,128745,128745,14,129004,129007,14,129329,129330,14,129402,129402,14,129483,129483,14,129686,129704,14,130048,131069,14,173,173,4,1757,1757,1,2200,2207,5,2434,2435,7,2631,2632,5,2817,2817,5,3008,3008,5,3201,3201,5,3387,3388,5,3542,3542,5,3902,3903,7,4190,4192,5,6002,6003,5,6439,6440,5,6765,6770,7,7019,7027,5,7154,7155,7,8205,8205,13,8505,8505,14,9654,9654,14,9757,9757,14,9792,9792,14,9852,9853,14,9890,9894,14,9937,9937,14,9981,9981,14,10035,10036,14,11035,11036,14,42654,42655,5,43346,43347,7,43587,43587,5,44006,44007,7,44173,44199,12,44397,44423,12,44621,44647,12,44845,44871,12,45069,45095,12,45293,45319,12,45517,45543,12,45741,45767,12,45965,45991,12,46189,46215,12,46413,46439,12,46637,46663,12,46861,46887,12,47085,47111,12,47309,47335,12,47533,47559,12,47757,47783,12,47981,48007,12,48205,48231,12,48429,48455,12,48653,48679,12,48877,48903,12,49101,49127,12,49325,49351,12,49549,49575,12,49773,49799,12,49997,50023,12,50221,50247,12,50445,50471,12,50669,50695,12,50893,50919,12,51117,51143,12,51341,51367,12,51565,51591,12,51789,51815,12,52013,52039,12,52237,52263,12,52461,52487,12,52685,52711,12,52909,52935,12,53133,53159,12,53357,53383,12,53581,53607,12,53805,53831,12,54029,54055,12,54253,54279,12,54477,54503,12,54701,54727,12,54925,54951,12,55149,55175,12,68101,68102,5,69762,69762,7,70067,70069,7,70371,70378,5,70720,70721,7,71087,71087,5,71341,71341,5,71995,71996,5,72249,72249,7,72850,72871,5,73109,73109,5,118576,118598,5,121505,121519,5,127245,127247,14,127568,127569,14,127777,127777,14,127872,127891,14,127956,127967,14,128015,128016,14,128110,128172,14,128259,128259,14,128367,128368,14,128424,128424,14,128488,128488,14,128530,128532,14,128550,128551,14,128566,128566,14,128647,128647,14,128656,128656,14,128667,128673,14,128691,128693,14,128715,128715,14,128728,128732,14,128752,128752,14,128765,128767,14,129096,129103,14,129311,129311,14,129344,129349,14,129394,129394,14,129413,129425,14,129466,129471,14,129511,129535,14,129664,129666,14,129719,129722,14,129760,129767,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2307,2307,7,2382,2383,7,2497,2500,5,2563,2563,7,2677,2677,5,2763,2764,7,2879,2879,5,2914,2915,5,3021,3021,5,3142,3144,5,3263,3263,5,3285,3286,5,3398,3400,7,3530,3530,5,3633,3633,5,3864,3865,5,3974,3975,5,4155,4156,7,4229,4230,5,5909,5909,7,6078,6085,7,6277,6278,5,6451,6456,7,6744,6750,5,6846,6846,5,6972,6972,5,7074,7077,5,7146,7148,7,7222,7223,5,7416,7417,5,8234,8238,4,8417,8417,5,9000,9000,14,9203,9203,14,9730,9731,14,9748,9749,14,9762,9763,14,9776,9783,14,9800,9811,14,9831,9831,14,9872,9873,14,9882,9882,14,9900,9903,14,9929,9933,14,9941,9960,14,9974,9974,14,9989,9989,14,10006,10006,14,10062,10062,14,10160,10160,14,11647,11647,5,12953,12953,14,43019,43019,5,43232,43249,5,43443,43443,5,43567,43568,7,43696,43696,5,43765,43765,7,44013,44013,5,44117,44143,12,44229,44255,12,44341,44367,12,44453,44479,12,44565,44591,12,44677,44703,12,44789,44815,12,44901,44927,12,45013,45039,12,45125,45151,12,45237,45263,12,45349,45375,12,45461,45487,12,45573,45599,12,45685,45711,12,45797,45823,12,45909,45935,12,46021,46047,12,46133,46159,12,46245,46271,12,46357,46383,12,46469,46495,12,46581,46607,12,46693,46719,12,46805,46831,12,46917,46943,12,47029,47055,12,47141,47167,12,47253,47279,12,47365,47391,12,47477,47503,12,47589,47615,12,47701,47727,12,47813,47839,12,47925,47951,12,48037,48063,12,48149,48175,12,48261,48287,12,48373,48399,12,48485,48511,12,48597,48623,12,48709,48735,12,48821,48847,12,48933,48959,12,49045,49071,12,49157,49183,12,49269,49295,12,49381,49407,12,49493,49519,12,49605,49631,12,49717,49743,12,49829,49855,12,49941,49967,12,50053,50079,12,50165,50191,12,50277,50303,12,50389,50415,12,50501,50527,12,50613,50639,12,50725,50751,12,50837,50863,12,50949,50975,12,51061,51087,12,51173,51199,12,51285,51311,12,51397,51423,12,51509,51535,12,51621,51647,12,51733,51759,12,51845,51871,12,51957,51983,12,52069,52095,12,52181,52207,12,52293,52319,12,52405,52431,12,52517,52543,12,52629,52655,12,52741,52767,12,52853,52879,12,52965,52991,12,53077,53103,12,53189,53215,12,53301,53327,12,53413,53439,12,53525,53551,12,53637,53663,12,53749,53775,12,53861,53887,12,53973,53999,12,54085,54111,12,54197,54223,12,54309,54335,12,54421,54447,12,54533,54559,12,54645,54671,12,54757,54783,12,54869,54895,12,54981,55007,12,55093,55119,12,55243,55291,10,66045,66045,5,68325,68326,5,69688,69702,5,69817,69818,5,69957,69958,7,70089,70092,5,70198,70199,5,70462,70462,5,70502,70508,5,70750,70750,5,70846,70846,7,71100,71101,5,71230,71230,7,71351,71351,5,71737,71738,5,72000,72000,7,72160,72160,5,72273,72278,5,72752,72758,5,72882,72883,5,73031,73031,5,73461,73462,7,94192,94193,7,119149,119149,7,121403,121452,5,122915,122916,5,126980,126980,14,127358,127359,14,127535,127535,14,127759,127759,14,127771,127771,14,127792,127793,14,127825,127867,14,127897,127899,14,127945,127945,14,127985,127986,14,128000,128007,14,128021,128021,14,128066,128100,14,128184,128235,14,128249,128252,14,128266,128276,14,128335,128335,14,128379,128390,14,128407,128419,14,128444,128444,14,128481,128481,14,128499,128499,14,128526,128526,14,128536,128536,14,128543,128543,14,128556,128556,14,128564,128564,14,128577,128580,14,128643,128645,14,128649,128649,14,128654,128654,14,128660,128660,14,128664,128664,14,128675,128675,14,128686,128689,14,128695,128696,14,128705,128709,14,128717,128719,14,128725,128725,14,128736,128741,14,128747,128748,14,128755,128755,14,128762,128762,14,128981,128991,14,129009,129023,14,129160,129167,14,129296,129304,14,129320,129327,14,129340,129342,14,129356,129356,14,129388,129392,14,129399,129400,14,129404,129407,14,129432,129442,14,129454,129455,14,129473,129474,14,129485,129487,14,129648,129651,14,129659,129660,14,129671,129679,14,129709,129711,14,129728,129730,14,129751,129753,14,129776,129782,14,917505,917505,4,917760,917999,5,10,10,3,127,159,4,768,879,5,1471,1471,5,1536,1541,1,1648,1648,5,1767,1768,5,1840,1866,5,2070,2073,5,2137,2139,5,2274,2274,1,2363,2363,7,2377,2380,7,2402,2403,5,2494,2494,5,2507,2508,7,2558,2558,5,2622,2624,7,2641,2641,5,2691,2691,7,2759,2760,5,2786,2787,5,2876,2876,5,2881,2884,5,2901,2902,5,3006,3006,5,3014,3016,7,3072,3072,5,3134,3136,5,3157,3158,5,3260,3260,5,3266,3266,5,3274,3275,7,3328,3329,5,3391,3392,7,3405,3405,5,3457,3457,5,3536,3537,7,3551,3551,5,3636,3642,5,3764,3772,5,3895,3895,5,3967,3967,7,3993,4028,5,4146,4151,5,4182,4183,7,4226,4226,5,4253,4253,5,4957,4959,5,5940,5940,7,6070,6070,7,6087,6088,7,6158,6158,4,6432,6434,5,6448,6449,7,6679,6680,5,6742,6742,5,6754,6754,5,6783,6783,5,6912,6915,5,6966,6970,5,6978,6978,5,7042,7042,7,7080,7081,5,7143,7143,7,7150,7150,7,7212,7219,5,7380,7392,5,7412,7412,5,8203,8203,4,8232,8232,4,8265,8265,14,8400,8412,5,8421,8432,5,8617,8618,14,9167,9167,14,9200,9200,14,9410,9410,14,9723,9726,14,9733,9733,14,9745,9745,14,9752,9752,14,9760,9760,14,9766,9766,14,9774,9774,14,9786,9786,14,9794,9794,14,9823,9823,14,9828,9828,14,9833,9850,14,9855,9855,14,9875,9875,14,9880,9880,14,9885,9887,14,9896,9897,14,9906,9916,14,9926,9927,14,9935,9935,14,9939,9939,14,9962,9962,14,9972,9972,14,9978,9978,14,9986,9986,14,9997,9997,14,10002,10002,14,10017,10017,14,10055,10055,14,10071,10071,14,10133,10135,14,10548,10549,14,11093,11093,14,12330,12333,5,12441,12442,5,42608,42610,5,43010,43010,5,43045,43046,5,43188,43203,7,43302,43309,5,43392,43394,5,43446,43449,5,43493,43493,5,43571,43572,7,43597,43597,7,43703,43704,5,43756,43757,5,44003,44004,7,44009,44010,7,44033,44059,12,44089,44115,12,44145,44171,12,44201,44227,12,44257,44283,12,44313,44339,12,44369,44395,12,44425,44451,12,44481,44507,12,44537,44563,12,44593,44619,12,44649,44675,12,44705,44731,12,44761,44787,12,44817,44843,12,44873,44899,12,44929,44955,12,44985,45011,12,45041,45067,12,45097,45123,12,45153,45179,12,45209,45235,12,45265,45291,12,45321,45347,12,45377,45403,12,45433,45459,12,45489,45515,12,45545,45571,12,45601,45627,12,45657,45683,12,45713,45739,12,45769,45795,12,45825,45851,12,45881,45907,12,45937,45963,12,45993,46019,12,46049,46075,12,46105,46131,12,46161,46187,12,46217,46243,12,46273,46299,12,46329,46355,12,46385,46411,12,46441,46467,12,46497,46523,12,46553,46579,12,46609,46635,12,46665,46691,12,46721,46747,12,46777,46803,12,46833,46859,12,46889,46915,12,46945,46971,12,47001,47027,12,47057,47083,12,47113,47139,12,47169,47195,12,47225,47251,12,47281,47307,12,47337,47363,12,47393,47419,12,47449,47475,12,47505,47531,12,47561,47587,12,47617,47643,12,47673,47699,12,47729,47755,12,47785,47811,12,47841,47867,12,47897,47923,12,47953,47979,12,48009,48035,12,48065,48091,12,48121,48147,12,48177,48203,12,48233,48259,12,48289,48315,12,48345,48371,12,48401,48427,12,48457,48483,12,48513,48539,12,48569,48595,12,48625,48651,12,48681,48707,12,48737,48763,12,48793,48819,12,48849,48875,12,48905,48931,12,48961,48987,12,49017,49043,12,49073,49099,12,49129,49155,12,49185,49211,12,49241,49267,12,49297,49323,12,49353,49379,12,49409,49435,12,49465,49491,12,49521,49547,12,49577,49603,12,49633,49659,12,49689,49715,12,49745,49771,12,49801,49827,12,49857,49883,12,49913,49939,12,49969,49995,12,50025,50051,12,50081,50107,12,50137,50163,12,50193,50219,12,50249,50275,12,50305,50331,12,50361,50387,12,50417,50443,12,50473,50499,12,50529,50555,12,50585,50611,12,50641,50667,12,50697,50723,12,50753,50779,12,50809,50835,12,50865,50891,12,50921,50947,12,50977,51003,12,51033,51059,12,51089,51115,12,51145,51171,12,51201,51227,12,51257,51283,12,51313,51339,12,51369,51395,12,51425,51451,12,51481,51507,12,51537,51563,12,51593,51619,12,51649,51675,12,51705,51731,12,51761,51787,12,51817,51843,12,51873,51899,12,51929,51955,12,51985,52011,12,52041,52067,12,52097,52123,12,52153,52179,12,52209,52235,12,52265,52291,12,52321,52347,12,52377,52403,12,52433,52459,12,52489,52515,12,52545,52571,12,52601,52627,12,52657,52683,12,52713,52739,12,52769,52795,12,52825,52851,12,52881,52907,12,52937,52963,12,52993,53019,12,53049,53075,12,53105,53131,12,53161,53187,12,53217,53243,12,53273,53299,12,53329,53355,12,53385,53411,12,53441,53467,12,53497,53523,12,53553,53579,12,53609,53635,12,53665,53691,12,53721,53747,12,53777,53803,12,53833,53859,12,53889,53915,12,53945,53971,12,54001,54027,12,54057,54083,12,54113,54139,12,54169,54195,12,54225,54251,12,54281,54307,12,54337,54363,12,54393,54419,12,54449,54475,12,54505,54531,12,54561,54587,12,54617,54643,12,54673,54699,12,54729,54755,12,54785,54811,12,54841,54867,12,54897,54923,12,54953,54979,12,55009,55035,12,55065,55091,12,55121,55147,12,55177,55203,12,65024,65039,5,65520,65528,4,66422,66426,5,68152,68154,5,69291,69292,5,69633,69633,5,69747,69748,5,69811,69814,5,69826,69826,5,69932,69932,7,70016,70017,5,70079,70080,7,70095,70095,5,70196,70196,5,70367,70367,5,70402,70403,7,70464,70464,5,70487,70487,5,70709,70711,7,70725,70725,7,70833,70834,7,70843,70844,7,70849,70849,7,71090,71093,5,71103,71104,5,71227,71228,7,71339,71339,5,71344,71349,5,71458,71461,5,71727,71735,5,71985,71989,7,71998,71998,5,72002,72002,7,72154,72155,5,72193,72202,5,72251,72254,5,72281,72283,5,72344,72345,5,72766,72766,7,72874,72880,5,72885,72886,5,73023,73029,5,73104,73105,5,73111,73111,5,92912,92916,5,94095,94098,5,113824,113827,4,119142,119142,7,119155,119162,4,119362,119364,5,121476,121476,5,122888,122904,5,123184,123190,5,125252,125258,5,127183,127183,14,127340,127343,14,127377,127386,14,127491,127503,14,127548,127551,14,127744,127756,14,127761,127761,14,127769,127769,14,127773,127774,14,127780,127788,14,127796,127797,14,127820,127823,14,127869,127869,14,127894,127895,14,127902,127903,14,127943,127943,14,127947,127950,14,127972,127972,14,127988,127988,14,127992,127994,14,128009,128011,14,128019,128019,14,128023,128041,14,128064,128064,14,128102,128107,14,128174,128181,14,128238,128238,14,128246,128247,14,128254,128254,14,128264,128264,14,128278,128299,14,128329,128330,14,128348,128359,14,128371,128377,14,128392,128393,14,128401,128404,14,128421,128421,14,128433,128434,14,128450,128452,14,128476,128478,14,128483,128483,14,128495,128495,14,128506,128506,14,128519,128520,14,128528,128528,14,128534,128534,14,128538,128538,14,128540,128542,14,128544,128549,14,128552,128555,14,128557,128557,14,128560,128563,14,128565,128565,14,128567,128576,14,128581,128591,14,128641,128642,14,128646,128646,14,128648,128648,14,128650,128651,14,128653,128653,14,128655,128655,14,128657,128659,14,128661,128661,14,128663,128663,14,128665,128666,14,128674,128674,14,128676,128677,14,128679,128685,14,128690,128690,14,128694,128694,14,128697,128702,14,128704,128704,14,128710,128714,14,128716,128716,14,128720,128720,14,128723,128724,14,128726,128727,14,128733,128735,14,128742,128744,14,128746,128746,14,128749,128751,14,128753,128754,14,128756,128758,14,128761,128761,14,128763,128764,14,128884,128895,14,128992,129003,14,129008,129008,14,129036,129039,14,129114,129119,14,129198,129279,14,129293,129295,14,129305,129310,14,129312,129319,14,129328,129328,14,129331,129338,14,129343,129343,14,129351,129355,14,129357,129359,14,129375,129387,14,129393,129393,14,129395,129398,14,129401,129401,14,129403,129403,14,129408,129412,14,129426,129431,14,129443,129444,14,129451,129453,14,129456,129465,14,129472,129472,14,129475,129482,14,129484,129484,14,129488,129510,14,129536,129647,14,129652,129652,14,129656,129658,14,129661,129663,14,129667,129670,14,129680,129685,14,129705,129708,14,129712,129718,14,129723,129727,14,129731,129733,14,129744,129750,14,129754,129759,14,129768,129775,14,129783,129791,14,917504,917504,4,917506,917535,4,917632,917759,4,918000,921599,4,0,9,4,11,12,4,14,31,4,169,169,14,174,174,14,1155,1159,5,1425,1469,5,1473,1474,5,1479,1479,5,1552,1562,5,1611,1631,5,1750,1756,5,1759,1764,5,1770,1773,5,1809,1809,5,1958,1968,5,2045,2045,5,2075,2083,5,2089,2093,5,2192,2193,1,2250,2273,5,2275,2306,5,2362,2362,5,2364,2364,5,2369,2376,5,2381,2381,5,2385,2391,5,2433,2433,5,2492,2492,5,2495,2496,7,2503,2504,7,2509,2509,5,2530,2531,5,2561,2562,5,2620,2620,5,2625,2626,5,2635,2637,5,2672,2673,5,2689,2690,5,2748,2748,5,2753,2757,5,2761,2761,7,2765,2765,5,2810,2815,5,2818,2819,7,2878,2878,5,2880,2880,7,2887,2888,7,2893,2893,5,2903,2903,5,2946,2946,5,3007,3007,7,3009,3010,7,3018,3020,7,3031,3031,5,3073,3075,7,3132,3132,5,3137,3140,7,3146,3149,5,3170,3171,5,3202,3203,7,3262,3262,7,3264,3265,7,3267,3268,7,3271,3272,7,3276,3277,5,3298,3299,5,3330,3331,7,3390,3390,5,3393,3396,5,3402,3404,7,3406,3406,1,3426,3427,5,3458,3459,7,3535,3535,5,3538,3540,5,3544,3550,7,3570,3571,7,3635,3635,7,3655,3662,5,3763,3763,7,3784,3789,5,3893,3893,5,3897,3897,5,3953,3966,5,3968,3972,5,3981,3991,5,4038,4038,5,4145,4145,7,4153,4154,5,4157,4158,5,4184,4185,5,4209,4212,5,4228,4228,7,4237,4237,5,4352,4447,8,4520,4607,10,5906,5908,5,5938,5939,5,5970,5971,5,6068,6069,5,6071,6077,5,6086,6086,5,6089,6099,5,6155,6157,5,6159,6159,5,6313,6313,5,6435,6438,7,6441,6443,7,6450,6450,5,6457,6459,5,6681,6682,7,6741,6741,7,6743,6743,7,6752,6752,5,6757,6764,5,6771,6780,5,6832,6845,5,6847,6862,5,6916,6916,7,6965,6965,5,6971,6971,7,6973,6977,7,6979,6980,7,7040,7041,5,7073,7073,7,7078,7079,7,7082,7082,7,7142,7142,5,7144,7145,5,7149,7149,5,7151,7153,5,7204,7211,7,7220,7221,7,7376,7378,5,7393,7393,7,7405,7405,5,7415,7415,7,7616,7679,5,8204,8204,5,8206,8207,4,8233,8233,4,8252,8252,14,8288,8292,4,8294,8303,4,8413,8416,5,8418,8420,5,8482,8482,14,8596,8601,14,8986,8987,14,9096,9096,14,9193,9196,14,9199,9199,14,9201,9202,14,9208,9210,14,9642,9643,14,9664,9664,14,9728,9729,14,9732,9732,14,9735,9741,14,9743,9744,14,9746,9746,14,9750,9751,14,9753,9756,14,9758,9759,14,9761,9761,14,9764,9765,14,9767,9769,14,9771,9773,14,9775,9775,14,9784,9785,14,9787,9791,14,9793,9793,14,9795,9799,14,9812,9822,14,9824,9824,14,9827,9827,14,9829,9830,14,9832,9832,14,9851,9851,14,9854,9854,14,9856,9861,14,9874,9874,14,9876,9876,14,9878,9879,14,9881,9881,14,9883,9884,14,9888,9889,14,9895,9895,14,9898,9899,14,9904,9905,14,9917,9918,14,9924,9925,14,9928,9928,14,9934,9934,14,9936,9936,14,9938,9938,14,9940,9940,14,9961,9961,14,9963,9967,14,9970,9971,14,9973,9973,14,9975,9977,14,9979,9980,14,9982,9985,14,9987,9988,14,9992,9996,14,9998,9998,14,10000,10001,14,10004,10004,14,10013,10013,14,10024,10024,14,10052,10052,14,10060,10060,14,10067,10069,14,10083,10083,14,10085,10087,14,10145,10145,14,10175,10175,14,11013,11015,14,11088,11088,14,11503,11505,5,11744,11775,5,12334,12335,5,12349,12349,14,12951,12951,14,42607,42607,5,42612,42621,5,42736,42737,5,43014,43014,5,43043,43044,7,43047,43047,7,43136,43137,7,43204,43205,5,43263,43263,5,43335,43345,5,43360,43388,8,43395,43395,7,43444,43445,7,43450,43451,7,43454,43456,7,43561,43566,5,43569,43570,5,43573,43574,5,43596,43596,5,43644,43644,5,43698,43700,5,43710,43711,5,43755,43755,7,43758,43759,7,43766,43766,5,44005,44005,5,44008,44008,5,44012,44012,7,44032,44032,11,44060,44060,11,44088,44088,11,44116,44116,11,44144,44144,11,44172,44172,11,44200,44200,11,44228,44228,11,44256,44256,11,44284,44284,11,44312,44312,11,44340,44340,11,44368,44368,11,44396,44396,11,44424,44424,11,44452,44452,11,44480,44480,11,44508,44508,11,44536,44536,11,44564,44564,11,44592,44592,11,44620,44620,11,44648,44648,11,44676,44676,11,44704,44704,11,44732,44732,11,44760,44760,11,44788,44788,11,44816,44816,11,44844,44844,11,44872,44872,11,44900,44900,11,44928,44928,11,44956,44956,11,44984,44984,11,45012,45012,11,45040,45040,11,45068,45068,11,45096,45096,11,45124,45124,11,45152,45152,11,45180,45180,11,45208,45208,11,45236,45236,11,45264,45264,11,45292,45292,11,45320,45320,11,45348,45348,11,45376,45376,11,45404,45404,11,45432,45432,11,45460,45460,11,45488,45488,11,45516,45516,11,45544,45544,11,45572,45572,11,45600,45600,11,45628,45628,11,45656,45656,11,45684,45684,11,45712,45712,11,45740,45740,11,45768,45768,11,45796,45796,11,45824,45824,11,45852,45852,11,45880,45880,11,45908,45908,11,45936,45936,11,45964,45964,11,45992,45992,11,46020,46020,11,46048,46048,11,46076,46076,11,46104,46104,11,46132,46132,11,46160,46160,11,46188,46188,11,46216,46216,11,46244,46244,11,46272,46272,11,46300,46300,11,46328,46328,11,46356,46356,11,46384,46384,11,46412,46412,11,46440,46440,11,46468,46468,11,46496,46496,11,46524,46524,11,46552,46552,11,46580,46580,11,46608,46608,11,46636,46636,11,46664,46664,11,46692,46692,11,46720,46720,11,46748,46748,11,46776,46776,11,46804,46804,11,46832,46832,11,46860,46860,11,46888,46888,11,46916,46916,11,46944,46944,11,46972,46972,11,47000,47000,11,47028,47028,11,47056,47056,11,47084,47084,11,47112,47112,11,47140,47140,11,47168,47168,11,47196,47196,11,47224,47224,11,47252,47252,11,47280,47280,11,47308,47308,11,47336,47336,11,47364,47364,11,47392,47392,11,47420,47420,11,47448,47448,11,47476,47476,11,47504,47504,11,47532,47532,11,47560,47560,11,47588,47588,11,47616,47616,11,47644,47644,11,47672,47672,11,47700,47700,11,47728,47728,11,47756,47756,11,47784,47784,11,47812,47812,11,47840,47840,11,47868,47868,11,47896,47896,11,47924,47924,11,47952,47952,11,47980,47980,11,48008,48008,11,48036,48036,11,48064,48064,11,48092,48092,11,48120,48120,11,48148,48148,11,48176,48176,11,48204,48204,11,48232,48232,11,48260,48260,11,48288,48288,11,48316,48316,11,48344,48344,11,48372,48372,11,48400,48400,11,48428,48428,11,48456,48456,11,48484,48484,11,48512,48512,11,48540,48540,11,48568,48568,11,48596,48596,11,48624,48624,11,48652,48652,11,48680,48680,11,48708,48708,11,48736,48736,11,48764,48764,11,48792,48792,11,48820,48820,11,48848,48848,11,48876,48876,11,48904,48904,11,48932,48932,11,48960,48960,11,48988,48988,11,49016,49016,11,49044,49044,11,49072,49072,11,49100,49100,11,49128,49128,11,49156,49156,11,49184,49184,11,49212,49212,11,49240,49240,11,49268,49268,11,49296,49296,11,49324,49324,11,49352,49352,11,49380,49380,11,49408,49408,11,49436,49436,11,49464,49464,11,49492,49492,11,49520,49520,11,49548,49548,11,49576,49576,11,49604,49604,11,49632,49632,11,49660,49660,11,49688,49688,11,49716,49716,11,49744,49744,11,49772,49772,11,49800,49800,11,49828,49828,11,49856,49856,11,49884,49884,11,49912,49912,11,49940,49940,11,49968,49968,11,49996,49996,11,50024,50024,11,50052,50052,11,50080,50080,11,50108,50108,11,50136,50136,11,50164,50164,11,50192,50192,11,50220,50220,11,50248,50248,11,50276,50276,11,50304,50304,11,50332,50332,11,50360,50360,11,50388,50388,11,50416,50416,11,50444,50444,11,50472,50472,11,50500,50500,11,50528,50528,11,50556,50556,11,50584,50584,11,50612,50612,11,50640,50640,11,50668,50668,11,50696,50696,11,50724,50724,11,50752,50752,11,50780,50780,11,50808,50808,11,50836,50836,11,50864,50864,11,50892,50892,11,50920,50920,11,50948,50948,11,50976,50976,11,51004,51004,11,51032,51032,11,51060,51060,11,51088,51088,11,51116,51116,11,51144,51144,11,51172,51172,11,51200,51200,11,51228,51228,11,51256,51256,11,51284,51284,11,51312,51312,11,51340,51340,11,51368,51368,11,51396,51396,11,51424,51424,11,51452,51452,11,51480,51480,11,51508,51508,11,51536,51536,11,51564,51564,11,51592,51592,11,51620,51620,11,51648,51648,11,51676,51676,11,51704,51704,11,51732,51732,11,51760,51760,11,51788,51788,11,51816,51816,11,51844,51844,11,51872,51872,11,51900,51900,11,51928,51928,11,51956,51956,11,51984,51984,11,52012,52012,11,52040,52040,11,52068,52068,11,52096,52096,11,52124,52124,11,52152,52152,11,52180,52180,11,52208,52208,11,52236,52236,11,52264,52264,11,52292,52292,11,52320,52320,11,52348,52348,11,52376,52376,11,52404,52404,11,52432,52432,11,52460,52460,11,52488,52488,11,52516,52516,11,52544,52544,11,52572,52572,11,52600,52600,11,52628,52628,11,52656,52656,11,52684,52684,11,52712,52712,11,52740,52740,11,52768,52768,11,52796,52796,11,52824,52824,11,52852,52852,11,52880,52880,11,52908,52908,11,52936,52936,11,52964,52964,11,52992,52992,11,53020,53020,11,53048,53048,11,53076,53076,11,53104,53104,11,53132,53132,11,53160,53160,11,53188,53188,11,53216,53216,11,53244,53244,11,53272,53272,11,53300,53300,11,53328,53328,11,53356,53356,11,53384,53384,11,53412,53412,11,53440,53440,11,53468,53468,11,53496,53496,11,53524,53524,11,53552,53552,11,53580,53580,11,53608,53608,11,53636,53636,11,53664,53664,11,53692,53692,11,53720,53720,11,53748,53748,11,53776,53776,11,53804,53804,11,53832,53832,11,53860,53860,11,53888,53888,11,53916,53916,11,53944,53944,11,53972,53972,11,54000,54000,11,54028,54028,11,54056,54056,11,54084,54084,11,54112,54112,11,54140,54140,11,54168,54168,11,54196,54196,11,54224,54224,11,54252,54252,11,54280,54280,11,54308,54308,11,54336,54336,11,54364,54364,11,54392,54392,11,54420,54420,11,54448,54448,11,54476,54476,11,54504,54504,11,54532,54532,11,54560,54560,11,54588,54588,11,54616,54616,11,54644,54644,11,54672,54672,11,54700,54700,11,54728,54728,11,54756,54756,11,54784,54784,11,54812,54812,11,54840,54840,11,54868,54868,11,54896,54896,11,54924,54924,11,54952,54952,11,54980,54980,11,55008,55008,11,55036,55036,11,55064,55064,11,55092,55092,11,55120,55120,11,55148,55148,11,55176,55176,11,55216,55238,9,64286,64286,5,65056,65071,5,65438,65439,5,65529,65531,4,66272,66272,5,68097,68099,5,68108,68111,5,68159,68159,5,68900,68903,5,69446,69456,5,69632,69632,7,69634,69634,7,69744,69744,5,69759,69761,5,69808,69810,7,69815,69816,7,69821,69821,1,69837,69837,1,69927,69931,5,69933,69940,5,70003,70003,5,70018,70018,7,70070,70078,5,70082,70083,1,70094,70094,7,70188,70190,7,70194,70195,7,70197,70197,7,70206,70206,5,70368,70370,7,70400,70401,5,70459,70460,5,70463,70463,7,70465,70468,7,70475,70477,7,70498,70499,7,70512,70516,5,70712,70719,5,70722,70724,5,70726,70726,5,70832,70832,5,70835,70840,5,70842,70842,5,70845,70845,5,70847,70848,5,70850,70851,5,71088,71089,7,71096,71099,7,71102,71102,7,71132,71133,5,71219,71226,5,71229,71229,5,71231,71232,5,71340,71340,7,71342,71343,7,71350,71350,7,71453,71455,5,71462,71462,7,71724,71726,7,71736,71736,7,71984,71984,5,71991,71992,7,71997,71997,7,71999,71999,1,72001,72001,1,72003,72003,5,72148,72151,5,72156,72159,7,72164,72164,7,72243,72248,5,72250,72250,1,72263,72263,5,72279,72280,7,72324,72329,1,72343,72343,7,72751,72751,7,72760,72765,5,72767,72767,5,72873,72873,7,72881,72881,7,72884,72884,7,73009,73014,5,73020,73021,5,73030,73030,1,73098,73102,7,73107,73108,7,73110,73110,7,73459,73460,5,78896,78904,4,92976,92982,5,94033,94087,7,94180,94180,5,113821,113822,5,118528,118573,5,119141,119141,5,119143,119145,5,119150,119154,5,119163,119170,5,119210,119213,5,121344,121398,5,121461,121461,5,121499,121503,5,122880,122886,5,122907,122913,5,122918,122922,5,123566,123566,5,125136,125142,5,126976,126979,14,126981,127182,14,127184,127231,14,127279,127279,14,127344,127345,14,127374,127374,14,127405,127461,14,127489,127490,14,127514,127514,14,127538,127546,14,127561,127567,14,127570,127743,14,127757,127758,14,127760,127760,14,127762,127762,14,127766,127768,14,127770,127770,14,127772,127772,14,127775,127776,14,127778,127779,14,127789,127791,14,127794,127795,14,127798,127798,14,127819,127819,14,127824,127824,14,127868,127868,14,127870,127871,14,127892,127893,14,127896,127896,14,127900,127901,14,127904,127940,14,127942,127942,14,127944,127944,14,127946,127946,14,127951,127955,14,127968,127971,14,127973,127984,14,127987,127987,14,127989,127989,14,127991,127991,14,127995,127999,5,128008,128008,14,128012,128014,14,128017,128018,14,128020,128020,14,128022,128022,14,128042,128042,14,128063,128063,14,128065,128065,14,128101,128101,14,128108,128109,14,128173,128173,14,128182,128183,14,128236,128237,14,128239,128239,14,128245,128245,14,128248,128248,14,128253,128253,14,128255,128258,14,128260,128263,14,128265,128265,14,128277,128277,14,128300,128301,14,128326,128328,14,128331,128334,14,128336,128347,14,128360,128366,14,128369,128370,14,128378,128378,14,128391,128391,14,128394,128397,14,128400,128400,14,128405,128406,14,128420,128420,14,128422,128423,14,128425,128432,14,128435,128443,14,128445,128449,14,128453,128464,14,128468,128475,14,128479,128480,14,128482,128482,14,128484,128487,14,128489,128494,14,128496,128498,14,128500,128505,14,128507,128511,14,128513,128518,14,128521,128525,14,128527,128527,14,128529,128529,14,128533,128533,14,128535,128535,14,128537,128537,14]")}function Le(M,T){if(M===0)return 0;const B=Ne(M,T);if(B!==void 0)return B;const W=new $(T,M);return W.prevCodePoint(),W.offset}r.getLeftDeleteOffset=Le;function Ne(M,T){const B=new $(T,M);let W=B.prevCodePoint();for(;Ae(W)||W===65039||W===8419;){if(B.offset===0)return;W=B.prevCodePoint()}if(!he(W))return;let j=B.offset;return j>0&&B.prevCodePoint()===8205&&(j=B.offset),j}function Ae(M){return 127995<=M&&M<=127999}r.noBreakWhitespace="\xA0";class ue{constructor(T){this.confusableDictionary=T}static getInstance(T){return ue.cache.get(Array.from(T))}static getLocales(){return ue._locales.getValue()}isAmbiguous(T){return this.confusableDictionary.has(T)}getPrimaryConfusable(T){return this.confusableDictionary.get(T)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}}r.AmbiguousCharacters=ue,N=ue,ue.ambiguousCharacterData=new e.Lazy(()=>JSON.parse('{"_common":[8232,32,8233,32,5760,32,8192,32,8193,32,8194,32,8195,32,8196,32,8197,32,8198,32,8200,32,8201,32,8202,32,8287,32,8199,32,8239,32,2042,95,65101,95,65102,95,65103,95,8208,45,8209,45,8210,45,65112,45,1748,45,8259,45,727,45,8722,45,10134,45,11450,45,1549,44,1643,44,8218,44,184,44,42233,44,894,59,2307,58,2691,58,1417,58,1795,58,1796,58,5868,58,65072,58,6147,58,6153,58,8282,58,1475,58,760,58,42889,58,8758,58,720,58,42237,58,451,33,11601,33,660,63,577,63,2429,63,5038,63,42731,63,119149,46,8228,46,1793,46,1794,46,42510,46,68176,46,1632,46,1776,46,42232,46,1373,96,65287,96,8219,96,8242,96,1370,96,1523,96,8175,96,65344,96,900,96,8189,96,8125,96,8127,96,8190,96,697,96,884,96,712,96,714,96,715,96,756,96,699,96,701,96,700,96,702,96,42892,96,1497,96,2036,96,2037,96,5194,96,5836,96,94033,96,94034,96,65339,91,10088,40,10098,40,12308,40,64830,40,65341,93,10089,41,10099,41,12309,41,64831,41,10100,123,119060,123,10101,125,65342,94,8270,42,1645,42,8727,42,66335,42,5941,47,8257,47,8725,47,8260,47,9585,47,10187,47,10744,47,119354,47,12755,47,12339,47,11462,47,20031,47,12035,47,65340,92,65128,92,8726,92,10189,92,10741,92,10745,92,119311,92,119355,92,12756,92,20022,92,12034,92,42872,38,708,94,710,94,5869,43,10133,43,66203,43,8249,60,10094,60,706,60,119350,60,5176,60,5810,60,5120,61,11840,61,12448,61,42239,61,8250,62,10095,62,707,62,119351,62,5171,62,94015,62,8275,126,732,126,8128,126,8764,126,65372,124,65293,45,120784,50,120794,50,120804,50,120814,50,120824,50,130034,50,42842,50,423,50,1000,50,42564,50,5311,50,42735,50,119302,51,120785,51,120795,51,120805,51,120815,51,120825,51,130035,51,42923,51,540,51,439,51,42858,51,11468,51,1248,51,94011,51,71882,51,120786,52,120796,52,120806,52,120816,52,120826,52,130036,52,5070,52,71855,52,120787,53,120797,53,120807,53,120817,53,120827,53,130037,53,444,53,71867,53,120788,54,120798,54,120808,54,120818,54,120828,54,130038,54,11474,54,5102,54,71893,54,119314,55,120789,55,120799,55,120809,55,120819,55,120829,55,130039,55,66770,55,71878,55,2819,56,2538,56,2666,56,125131,56,120790,56,120800,56,120810,56,120820,56,120830,56,130040,56,547,56,546,56,66330,56,2663,57,2920,57,2541,57,3437,57,120791,57,120801,57,120811,57,120821,57,120831,57,130041,57,42862,57,11466,57,71884,57,71852,57,71894,57,9082,97,65345,97,119834,97,119886,97,119938,97,119990,97,120042,97,120094,97,120146,97,120198,97,120250,97,120302,97,120354,97,120406,97,120458,97,593,97,945,97,120514,97,120572,97,120630,97,120688,97,120746,97,65313,65,119808,65,119860,65,119912,65,119964,65,120016,65,120068,65,120120,65,120172,65,120224,65,120276,65,120328,65,120380,65,120432,65,913,65,120488,65,120546,65,120604,65,120662,65,120720,65,5034,65,5573,65,42222,65,94016,65,66208,65,119835,98,119887,98,119939,98,119991,98,120043,98,120095,98,120147,98,120199,98,120251,98,120303,98,120355,98,120407,98,120459,98,388,98,5071,98,5234,98,5551,98,65314,66,8492,66,119809,66,119861,66,119913,66,120017,66,120069,66,120121,66,120173,66,120225,66,120277,66,120329,66,120381,66,120433,66,42932,66,914,66,120489,66,120547,66,120605,66,120663,66,120721,66,5108,66,5623,66,42192,66,66178,66,66209,66,66305,66,65347,99,8573,99,119836,99,119888,99,119940,99,119992,99,120044,99,120096,99,120148,99,120200,99,120252,99,120304,99,120356,99,120408,99,120460,99,7428,99,1010,99,11429,99,43951,99,66621,99,128844,67,71922,67,71913,67,65315,67,8557,67,8450,67,8493,67,119810,67,119862,67,119914,67,119966,67,120018,67,120174,67,120226,67,120278,67,120330,67,120382,67,120434,67,1017,67,11428,67,5087,67,42202,67,66210,67,66306,67,66581,67,66844,67,8574,100,8518,100,119837,100,119889,100,119941,100,119993,100,120045,100,120097,100,120149,100,120201,100,120253,100,120305,100,120357,100,120409,100,120461,100,1281,100,5095,100,5231,100,42194,100,8558,68,8517,68,119811,68,119863,68,119915,68,119967,68,120019,68,120071,68,120123,68,120175,68,120227,68,120279,68,120331,68,120383,68,120435,68,5024,68,5598,68,5610,68,42195,68,8494,101,65349,101,8495,101,8519,101,119838,101,119890,101,119942,101,120046,101,120098,101,120150,101,120202,101,120254,101,120306,101,120358,101,120410,101,120462,101,43826,101,1213,101,8959,69,65317,69,8496,69,119812,69,119864,69,119916,69,120020,69,120072,69,120124,69,120176,69,120228,69,120280,69,120332,69,120384,69,120436,69,917,69,120492,69,120550,69,120608,69,120666,69,120724,69,11577,69,5036,69,42224,69,71846,69,71854,69,66182,69,119839,102,119891,102,119943,102,119995,102,120047,102,120099,102,120151,102,120203,102,120255,102,120307,102,120359,102,120411,102,120463,102,43829,102,42905,102,383,102,7837,102,1412,102,119315,70,8497,70,119813,70,119865,70,119917,70,120021,70,120073,70,120125,70,120177,70,120229,70,120281,70,120333,70,120385,70,120437,70,42904,70,988,70,120778,70,5556,70,42205,70,71874,70,71842,70,66183,70,66213,70,66853,70,65351,103,8458,103,119840,103,119892,103,119944,103,120048,103,120100,103,120152,103,120204,103,120256,103,120308,103,120360,103,120412,103,120464,103,609,103,7555,103,397,103,1409,103,119814,71,119866,71,119918,71,119970,71,120022,71,120074,71,120126,71,120178,71,120230,71,120282,71,120334,71,120386,71,120438,71,1292,71,5056,71,5107,71,42198,71,65352,104,8462,104,119841,104,119945,104,119997,104,120049,104,120101,104,120153,104,120205,104,120257,104,120309,104,120361,104,120413,104,120465,104,1211,104,1392,104,5058,104,65320,72,8459,72,8460,72,8461,72,119815,72,119867,72,119919,72,120023,72,120179,72,120231,72,120283,72,120335,72,120387,72,120439,72,919,72,120494,72,120552,72,120610,72,120668,72,120726,72,11406,72,5051,72,5500,72,42215,72,66255,72,731,105,9075,105,65353,105,8560,105,8505,105,8520,105,119842,105,119894,105,119946,105,119998,105,120050,105,120102,105,120154,105,120206,105,120258,105,120310,105,120362,105,120414,105,120466,105,120484,105,618,105,617,105,953,105,8126,105,890,105,120522,105,120580,105,120638,105,120696,105,120754,105,1110,105,42567,105,1231,105,43893,105,5029,105,71875,105,65354,106,8521,106,119843,106,119895,106,119947,106,119999,106,120051,106,120103,106,120155,106,120207,106,120259,106,120311,106,120363,106,120415,106,120467,106,1011,106,1112,106,65322,74,119817,74,119869,74,119921,74,119973,74,120025,74,120077,74,120129,74,120181,74,120233,74,120285,74,120337,74,120389,74,120441,74,42930,74,895,74,1032,74,5035,74,5261,74,42201,74,119844,107,119896,107,119948,107,120000,107,120052,107,120104,107,120156,107,120208,107,120260,107,120312,107,120364,107,120416,107,120468,107,8490,75,65323,75,119818,75,119870,75,119922,75,119974,75,120026,75,120078,75,120130,75,120182,75,120234,75,120286,75,120338,75,120390,75,120442,75,922,75,120497,75,120555,75,120613,75,120671,75,120729,75,11412,75,5094,75,5845,75,42199,75,66840,75,1472,108,8739,73,9213,73,65512,73,1633,108,1777,73,66336,108,125127,108,120783,73,120793,73,120803,73,120813,73,120823,73,130033,73,65321,73,8544,73,8464,73,8465,73,119816,73,119868,73,119920,73,120024,73,120128,73,120180,73,120232,73,120284,73,120336,73,120388,73,120440,73,65356,108,8572,73,8467,108,119845,108,119897,108,119949,108,120001,108,120053,108,120105,73,120157,73,120209,73,120261,73,120313,73,120365,73,120417,73,120469,73,448,73,120496,73,120554,73,120612,73,120670,73,120728,73,11410,73,1030,73,1216,73,1493,108,1503,108,1575,108,126464,108,126592,108,65166,108,65165,108,1994,108,11599,73,5825,73,42226,73,93992,73,66186,124,66313,124,119338,76,8556,76,8466,76,119819,76,119871,76,119923,76,120027,76,120079,76,120131,76,120183,76,120235,76,120287,76,120339,76,120391,76,120443,76,11472,76,5086,76,5290,76,42209,76,93974,76,71843,76,71858,76,66587,76,66854,76,65325,77,8559,77,8499,77,119820,77,119872,77,119924,77,120028,77,120080,77,120132,77,120184,77,120236,77,120288,77,120340,77,120392,77,120444,77,924,77,120499,77,120557,77,120615,77,120673,77,120731,77,1018,77,11416,77,5047,77,5616,77,5846,77,42207,77,66224,77,66321,77,119847,110,119899,110,119951,110,120003,110,120055,110,120107,110,120159,110,120211,110,120263,110,120315,110,120367,110,120419,110,120471,110,1400,110,1404,110,65326,78,8469,78,119821,78,119873,78,119925,78,119977,78,120029,78,120081,78,120185,78,120237,78,120289,78,120341,78,120393,78,120445,78,925,78,120500,78,120558,78,120616,78,120674,78,120732,78,11418,78,42208,78,66835,78,3074,111,3202,111,3330,111,3458,111,2406,111,2662,111,2790,111,3046,111,3174,111,3302,111,3430,111,3664,111,3792,111,4160,111,1637,111,1781,111,65359,111,8500,111,119848,111,119900,111,119952,111,120056,111,120108,111,120160,111,120212,111,120264,111,120316,111,120368,111,120420,111,120472,111,7439,111,7441,111,43837,111,959,111,120528,111,120586,111,120644,111,120702,111,120760,111,963,111,120532,111,120590,111,120648,111,120706,111,120764,111,11423,111,4351,111,1413,111,1505,111,1607,111,126500,111,126564,111,126596,111,65259,111,65260,111,65258,111,65257,111,1726,111,64428,111,64429,111,64427,111,64426,111,1729,111,64424,111,64425,111,64423,111,64422,111,1749,111,3360,111,4125,111,66794,111,71880,111,71895,111,66604,111,1984,79,2534,79,2918,79,12295,79,70864,79,71904,79,120782,79,120792,79,120802,79,120812,79,120822,79,130032,79,65327,79,119822,79,119874,79,119926,79,119978,79,120030,79,120082,79,120134,79,120186,79,120238,79,120290,79,120342,79,120394,79,120446,79,927,79,120502,79,120560,79,120618,79,120676,79,120734,79,11422,79,1365,79,11604,79,4816,79,2848,79,66754,79,42227,79,71861,79,66194,79,66219,79,66564,79,66838,79,9076,112,65360,112,119849,112,119901,112,119953,112,120005,112,120057,112,120109,112,120161,112,120213,112,120265,112,120317,112,120369,112,120421,112,120473,112,961,112,120530,112,120544,112,120588,112,120602,112,120646,112,120660,112,120704,112,120718,112,120762,112,120776,112,11427,112,65328,80,8473,80,119823,80,119875,80,119927,80,119979,80,120031,80,120083,80,120187,80,120239,80,120291,80,120343,80,120395,80,120447,80,929,80,120504,80,120562,80,120620,80,120678,80,120736,80,11426,80,5090,80,5229,80,42193,80,66197,80,119850,113,119902,113,119954,113,120006,113,120058,113,120110,113,120162,113,120214,113,120266,113,120318,113,120370,113,120422,113,120474,113,1307,113,1379,113,1382,113,8474,81,119824,81,119876,81,119928,81,119980,81,120032,81,120084,81,120188,81,120240,81,120292,81,120344,81,120396,81,120448,81,11605,81,119851,114,119903,114,119955,114,120007,114,120059,114,120111,114,120163,114,120215,114,120267,114,120319,114,120371,114,120423,114,120475,114,43847,114,43848,114,7462,114,11397,114,43905,114,119318,82,8475,82,8476,82,8477,82,119825,82,119877,82,119929,82,120033,82,120189,82,120241,82,120293,82,120345,82,120397,82,120449,82,422,82,5025,82,5074,82,66740,82,5511,82,42211,82,94005,82,65363,115,119852,115,119904,115,119956,115,120008,115,120060,115,120112,115,120164,115,120216,115,120268,115,120320,115,120372,115,120424,115,120476,115,42801,115,445,115,1109,115,43946,115,71873,115,66632,115,65331,83,119826,83,119878,83,119930,83,119982,83,120034,83,120086,83,120138,83,120190,83,120242,83,120294,83,120346,83,120398,83,120450,83,1029,83,1359,83,5077,83,5082,83,42210,83,94010,83,66198,83,66592,83,119853,116,119905,116,119957,116,120009,116,120061,116,120113,116,120165,116,120217,116,120269,116,120321,116,120373,116,120425,116,120477,116,8868,84,10201,84,128872,84,65332,84,119827,84,119879,84,119931,84,119983,84,120035,84,120087,84,120139,84,120191,84,120243,84,120295,84,120347,84,120399,84,120451,84,932,84,120507,84,120565,84,120623,84,120681,84,120739,84,11430,84,5026,84,42196,84,93962,84,71868,84,66199,84,66225,84,66325,84,119854,117,119906,117,119958,117,120010,117,120062,117,120114,117,120166,117,120218,117,120270,117,120322,117,120374,117,120426,117,120478,117,42911,117,7452,117,43854,117,43858,117,651,117,965,117,120534,117,120592,117,120650,117,120708,117,120766,117,1405,117,66806,117,71896,117,8746,85,8899,85,119828,85,119880,85,119932,85,119984,85,120036,85,120088,85,120140,85,120192,85,120244,85,120296,85,120348,85,120400,85,120452,85,1357,85,4608,85,66766,85,5196,85,42228,85,94018,85,71864,85,8744,118,8897,118,65366,118,8564,118,119855,118,119907,118,119959,118,120011,118,120063,118,120115,118,120167,118,120219,118,120271,118,120323,118,120375,118,120427,118,120479,118,7456,118,957,118,120526,118,120584,118,120642,118,120700,118,120758,118,1141,118,1496,118,71430,118,43945,118,71872,118,119309,86,1639,86,1783,86,8548,86,119829,86,119881,86,119933,86,119985,86,120037,86,120089,86,120141,86,120193,86,120245,86,120297,86,120349,86,120401,86,120453,86,1140,86,11576,86,5081,86,5167,86,42719,86,42214,86,93960,86,71840,86,66845,86,623,119,119856,119,119908,119,119960,119,120012,119,120064,119,120116,119,120168,119,120220,119,120272,119,120324,119,120376,119,120428,119,120480,119,7457,119,1121,119,1309,119,1377,119,71434,119,71438,119,71439,119,43907,119,71919,87,71910,87,119830,87,119882,87,119934,87,119986,87,120038,87,120090,87,120142,87,120194,87,120246,87,120298,87,120350,87,120402,87,120454,87,1308,87,5043,87,5076,87,42218,87,5742,120,10539,120,10540,120,10799,120,65368,120,8569,120,119857,120,119909,120,119961,120,120013,120,120065,120,120117,120,120169,120,120221,120,120273,120,120325,120,120377,120,120429,120,120481,120,5441,120,5501,120,5741,88,9587,88,66338,88,71916,88,65336,88,8553,88,119831,88,119883,88,119935,88,119987,88,120039,88,120091,88,120143,88,120195,88,120247,88,120299,88,120351,88,120403,88,120455,88,42931,88,935,88,120510,88,120568,88,120626,88,120684,88,120742,88,11436,88,11613,88,5815,88,42219,88,66192,88,66228,88,66327,88,66855,88,611,121,7564,121,65369,121,119858,121,119910,121,119962,121,120014,121,120066,121,120118,121,120170,121,120222,121,120274,121,120326,121,120378,121,120430,121,120482,121,655,121,7935,121,43866,121,947,121,8509,121,120516,121,120574,121,120632,121,120690,121,120748,121,1199,121,4327,121,71900,121,65337,89,119832,89,119884,89,119936,89,119988,89,120040,89,120092,89,120144,89,120196,89,120248,89,120300,89,120352,89,120404,89,120456,89,933,89,978,89,120508,89,120566,89,120624,89,120682,89,120740,89,11432,89,1198,89,5033,89,5053,89,42220,89,94019,89,71844,89,66226,89,119859,122,119911,122,119963,122,120015,122,120067,122,120119,122,120171,122,120223,122,120275,122,120327,122,120379,122,120431,122,120483,122,7458,122,43923,122,71876,122,66293,90,71909,90,65338,90,8484,90,8488,90,119833,90,119885,90,119937,90,119989,90,120041,90,120197,90,120249,90,120301,90,120353,90,120405,90,120457,90,918,90,120493,90,120551,90,120609,90,120667,90,120725,90,5059,90,42204,90,71849,90,65282,34,65284,36,65285,37,65286,38,65290,42,65291,43,65294,46,65295,47,65296,48,65297,49,65298,50,65299,51,65300,52,65301,53,65302,54,65303,55,65304,56,65305,57,65308,60,65309,61,65310,62,65312,64,65316,68,65318,70,65319,71,65324,76,65329,81,65330,82,65333,85,65334,86,65335,87,65343,95,65346,98,65348,100,65350,102,65355,107,65357,109,65358,110,65361,113,65362,114,65364,116,65365,117,65367,119,65370,122,65371,123,65373,125],"_default":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"cs":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"de":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"es":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"fr":[65374,126,65306,58,65281,33,8216,96,8245,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"it":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ja":[8211,45,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65292,44,65307,59],"ko":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pl":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pt-BR":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"qps-ploc":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ru":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,305,105,921,73,1009,112,215,120,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"tr":[160,32,8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"zh-hans":[65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41],"zh-hant":[8211,45,65374,126,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65307,59]}')),ue.cache=new E.LRUCachedComputed(M=>{function T(ne){const ae=new Map;for(let fe=0;fe<ne.length;fe+=2)ae.set(ne[fe],ne[fe+1]);return ae}function B(ne,ae){const fe=new Map(ne);for(const[we,ve]of ae)fe.set(we,ve);return fe}function W(ne,ae){if(!ne)return ae;const fe=new Map;for(const[we,ve]of ne)ae.has(we)&&fe.set(we,ve);return fe}const j=N.ambiguousCharacterData.getValue();let te=M.filter(ne=>!ne.startsWith("_")&&ne in j);te.length===0&&(te=["_default"]);let se;for(const ne of te){const ae=T(j[ne]);se=W(se,ae)}const de=T(j._common),ce=B(de,se);return new ue(ce)}),ue._locales=new e.Lazy(()=>Object.keys(ue.ambiguousCharacterData.getValue()).filter(M=>!M.startsWith("_")));class ge{static getRawData(){return JSON.parse("[9,10,11,12,13,32,127,160,173,847,1564,4447,4448,6068,6069,6155,6156,6157,6158,7355,7356,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8203,8204,8205,8206,8207,8234,8235,8236,8237,8238,8239,8287,8288,8289,8290,8291,8292,8293,8294,8295,8296,8297,8298,8299,8300,8301,8302,8303,10240,12288,12644,65024,65025,65026,65027,65028,65029,65030,65031,65032,65033,65034,65035,65036,65037,65038,65039,65279,65440,65520,65521,65522,65523,65524,65525,65526,65527,65528,65532,78844,119155,119156,119157,119158,119159,119160,119161,119162,917504,917505,917506,917507,917508,917509,917510,917511,917512,917513,917514,917515,917516,917517,917518,917519,917520,917521,917522,917523,917524,917525,917526,917527,917528,917529,917530,917531,917532,917533,917534,917535,917536,917537,917538,917539,917540,917541,917542,917543,917544,917545,917546,917547,917548,917549,917550,917551,917552,917553,917554,917555,917556,917557,917558,917559,917560,917561,917562,917563,917564,917565,917566,917567,917568,917569,917570,917571,917572,917573,917574,917575,917576,917577,917578,917579,917580,917581,917582,917583,917584,917585,917586,917587,917588,917589,917590,917591,917592,917593,917594,917595,917596,917597,917598,917599,917600,917601,917602,917603,917604,917605,917606,917607,917608,917609,917610,917611,917612,917613,917614,917615,917616,917617,917618,917619,917620,917621,917622,917623,917624,917625,917626,917627,917628,917629,917630,917631,917760,917761,917762,917763,917764,917765,917766,917767,917768,917769,917770,917771,917772,917773,917774,917775,917776,917777,917778,917779,917780,917781,917782,917783,917784,917785,917786,917787,917788,917789,917790,917791,917792,917793,917794,917795,917796,917797,917798,917799,917800,917801,917802,917803,917804,917805,917806,917807,917808,917809,917810,917811,917812,917813,917814,917815,917816,917817,917818,917819,917820,917821,917822,917823,917824,917825,917826,917827,917828,917829,917830,917831,917832,917833,917834,917835,917836,917837,917838,917839,917840,917841,917842,917843,917844,917845,917846,917847,917848,917849,917850,917851,917852,917853,917854,917855,917856,917857,917858,917859,917860,917861,917862,917863,917864,917865,917866,917867,917868,917869,917870,917871,917872,917873,917874,917875,917876,917877,917878,917879,917880,917881,917882,917883,917884,917885,917886,917887,917888,917889,917890,917891,917892,917893,917894,917895,917896,917897,917898,917899,917900,917901,917902,917903,917904,917905,917906,917907,917908,917909,917910,917911,917912,917913,917914,917915,917916,917917,917918,917919,917920,917921,917922,917923,917924,917925,917926,917927,917928,917929,917930,917931,917932,917933,917934,917935,917936,917937,917938,917939,917940,917941,917942,917943,917944,917945,917946,917947,917948,917949,917950,917951,917952,917953,917954,917955,917956,917957,917958,917959,917960,917961,917962,917963,917964,917965,917966,917967,917968,917969,917970,917971,917972,917973,917974,917975,917976,917977,917978,917979,917980,917981,917982,917983,917984,917985,917986,917987,917988,917989,917990,917991,917992,917993,917994,917995,917996,917997,917998,917999]")}static getData(){return this._data||(this._data=new Set(ge.getRawData())),this._data}static isInvisibleCharacter(T){return ge.getData().has(T)}static get codePoints(){return ge.getData()}}r.InvisibleCharacters=ge,ge._data=void 0}),Y(Q[28],Z([0,1,2]),function(U,r,E){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.StringSHA1=r.toHexString=r.stringHash=r.numberHash=r.doHash=r.hash=void 0;function e(L){return N(L,0)}r.hash=e;function N(L,C){switch(typeof L){case"object":return L===null?o(349,C):Array.isArray(L)?c(L,C):m(L,C);case"string":return g(L,C);case"boolean":return w(L,C);case"number":return o(L,C);case"undefined":return o(937,C);default:return o(617,C)}}r.doHash=N;function o(L,C){return(C<<5)-C+L|0}r.numberHash=o;function w(L,C){return o(L?433:863,C)}function g(L,C){C=o(149417,C);for(let y=0,p=L.length;y<p;y++)C=o(L.charCodeAt(y),C);return C}r.stringHash=g;function c(L,C){return C=o(104579,C),L.reduce((y,p)=>N(p,y),C)}function m(L,C){return C=o(181387,C),Object.keys(L).sort().reduce((y,p)=>(y=g(p,y),N(L[p],y)),C)}function S(L,C,y=32){const p=y-C,s=~((1<<p)-1);return(L<<C|(s&L)>>>p)>>>0}function t(L,C=0,y=L.byteLength,p=0){for(let s=0;s<y;s++)L[C+s]=p}function d(L,C,y="0"){for(;L.length<C;)L=y+L;return L}function h(L,C=32){return L instanceof ArrayBuffer?Array.from(new Uint8Array(L)).map(y=>y.toString(16).padStart(2,"0")).join(""):d((L>>>0).toString(16),C/4)}r.toHexString=h;class v{constructor(){this._h0=1732584193,this._h1=4023233417,this._h2=2562383102,this._h3=271733878,this._h4=3285377520,this._buff=new Uint8Array(64+3),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}update(C){const y=C.length;if(y===0)return;const p=this._buff;let s=this._buffLen,i=this._leftoverHighSurrogate,a,l;for(i!==0?(a=i,l=-1,i=0):(a=C.charCodeAt(0),l=0);;){let f=a;if(E.isHighSurrogate(a))if(l+1<y){const u=C.charCodeAt(l+1);E.isLowSurrogate(u)?(l++,f=E.computeCodePoint(a,u)):f=65533}else{i=a;break}else E.isLowSurrogate(a)&&(f=65533);if(s=this._push(p,s,f),l++,l<y)a=C.charCodeAt(l);else break}this._buffLen=s,this._leftoverHighSurrogate=i}_push(C,y,p){return p<128?C[y++]=p:p<2048?(C[y++]=192|(p&1984)>>>6,C[y++]=128|(p&63)>>>0):p<65536?(C[y++]=224|(p&61440)>>>12,C[y++]=128|(p&4032)>>>6,C[y++]=128|(p&63)>>>0):(C[y++]=240|(p&1835008)>>>18,C[y++]=128|(p&258048)>>>12,C[y++]=128|(p&4032)>>>6,C[y++]=128|(p&63)>>>0),y>=64&&(this._step(),y-=64,this._totalLen+=64,C[0]=C[64+0],C[1]=C[64+1],C[2]=C[64+2]),y}digest(){return this._finished||(this._finished=!0,this._leftoverHighSurrogate&&(this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,65533)),this._totalLen+=this._buffLen,this._wrapUp()),h(this._h0)+h(this._h1)+h(this._h2)+h(this._h3)+h(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,t(this._buff,this._buffLen),this._buffLen>56&&(this._step(),t(this._buff));const C=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(C/4294967296),!1),this._buffDV.setUint32(60,C%4294967296,!1),this._step()}_step(){const C=v._bigBlock32,y=this._buffDV;for(let b=0;b<64;b+=4)C.setUint32(b,y.getUint32(b,!1),!1);for(let b=64;b<320;b+=4)C.setUint32(b,S(C.getUint32(b-12,!1)^C.getUint32(b-32,!1)^C.getUint32(b-56,!1)^C.getUint32(b-64,!1),1),!1);let p=this._h0,s=this._h1,i=this._h2,a=this._h3,l=this._h4,f,u,_;for(let b=0;b<80;b++)b<20?(f=s&i|~s&a,u=1518500249):b<40?(f=s^i^a,u=1859775393):b<60?(f=s&i|s&a|i&a,u=2400959708):(f=s^i^a,u=3395469782),_=S(p,5)+f+l+u+C.getUint32(b*4,!1)&4294967295,l=a,a=i,i=S(s,30),s=p,p=_;this._h0=this._h0+p&4294967295,this._h1=this._h1+s&4294967295,this._h2=this._h2+i&4294967295,this._h3=this._h3+a&4294967295,this._h4=this._h4+l&4294967295}}r.StringSHA1=v,v._bigBlock32=new DataView(new ArrayBuffer(320))}),Y(Q[12],Z([0,1,19,28]),function(U,r,E,e){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.LcsDiff=r.MyArray=r.Debug=r.stringDiff=r.StringDiffSequence=void 0;class N{constructor(t){this.source=t}getElements(){const t=this.source,d=new Int32Array(t.length);for(let h=0,v=t.length;h<v;h++)d[h]=t.charCodeAt(h);return d}}r.StringDiffSequence=N;function o(S,t,d){return new m(new N(S),new N(t)).ComputeDiff(d).changes}r.stringDiff=o;class w{static Assert(t,d){if(!t)throw new Error(d)}}r.Debug=w;class g{static Copy(t,d,h,v,L){for(let C=0;C<L;C++)h[v+C]=t[d+C]}static Copy2(t,d,h,v,L){for(let C=0;C<L;C++)h[v+C]=t[d+C]}}r.MyArray=g;class c{constructor(){this.m_changes=[],this.m_originalStart=1073741824,this.m_modifiedStart=1073741824,this.m_originalCount=0,this.m_modifiedCount=0}MarkNextChange(){(this.m_originalCount>0||this.m_modifiedCount>0)&&this.m_changes.push(new E.DiffChange(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(t,d){this.m_originalStart=Math.min(this.m_originalStart,t),this.m_modifiedStart=Math.min(this.m_modifiedStart,d),this.m_originalCount++}AddModifiedElement(t,d){this.m_originalStart=Math.min(this.m_originalStart,t),this.m_modifiedStart=Math.min(this.m_modifiedStart,d),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}}class m{constructor(t,d,h=null){this.ContinueProcessingPredicate=h,this._originalSequence=t,this._modifiedSequence=d;const[v,L,C]=m._getElements(t),[y,p,s]=m._getElements(d);this._hasStrings=C&&s,this._originalStringElements=v,this._originalElementsOrHash=L,this._modifiedStringElements=y,this._modifiedElementsOrHash=p,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(t){return t.length>0&&typeof t[0]=="string"}static _getElements(t){const d=t.getElements();if(m._isStringArray(d)){const h=new Int32Array(d.length);for(let v=0,L=d.length;v<L;v++)h[v]=(0,e.stringHash)(d[v],0);return[d,h,!0]}return d instanceof Int32Array?[[],d,!1]:[[],new Int32Array(d),!1]}ElementsAreEqual(t,d){return this._originalElementsOrHash[t]!==this._modifiedElementsOrHash[d]?!1:this._hasStrings?this._originalStringElements[t]===this._modifiedStringElements[d]:!0}ElementsAreStrictEqual(t,d){if(!this.ElementsAreEqual(t,d))return!1;const h=m._getStrictElement(this._originalSequence,t),v=m._getStrictElement(this._modifiedSequence,d);return h===v}static _getStrictElement(t,d){return typeof t.getStrictElement=="function"?t.getStrictElement(d):null}OriginalElementsAreEqual(t,d){return this._originalElementsOrHash[t]!==this._originalElementsOrHash[d]?!1:this._hasStrings?this._originalStringElements[t]===this._originalStringElements[d]:!0}ModifiedElementsAreEqual(t,d){return this._modifiedElementsOrHash[t]!==this._modifiedElementsOrHash[d]?!1:this._hasStrings?this._modifiedStringElements[t]===this._modifiedStringElements[d]:!0}ComputeDiff(t){return this._ComputeDiff(0,this._originalElementsOrHash.length-1,0,this._modifiedElementsOrHash.length-1,t)}_ComputeDiff(t,d,h,v,L){const C=[!1];let y=this.ComputeDiffRecursive(t,d,h,v,C);return L&&(y=this.PrettifyChanges(y)),{quitEarly:C[0],changes:y}}ComputeDiffRecursive(t,d,h,v,L){for(L[0]=!1;t<=d&&h<=v&&this.ElementsAreEqual(t,h);)t++,h++;for(;d>=t&&v>=h&&this.ElementsAreEqual(d,v);)d--,v--;if(t>d||h>v){let a;return h<=v?(w.Assert(t===d+1,"originalStart should only be one more than originalEnd"),a=[new E.DiffChange(t,0,h,v-h+1)]):t<=d?(w.Assert(h===v+1,"modifiedStart should only be one more than modifiedEnd"),a=[new E.DiffChange(t,d-t+1,h,0)]):(w.Assert(t===d+1,"originalStart should only be one more than originalEnd"),w.Assert(h===v+1,"modifiedStart should only be one more than modifiedEnd"),a=[]),a}const C=[0],y=[0],p=this.ComputeRecursionPoint(t,d,h,v,C,y,L),s=C[0],i=y[0];if(p!==null)return p;if(!L[0]){const a=this.ComputeDiffRecursive(t,s,h,i,L);let l=[];return L[0]?l=[new E.DiffChange(s+1,d-(s+1)+1,i+1,v-(i+1)+1)]:l=this.ComputeDiffRecursive(s+1,d,i+1,v,L),this.ConcatenateChanges(a,l)}return[new E.DiffChange(t,d-t+1,h,v-h+1)]}WALKTRACE(t,d,h,v,L,C,y,p,s,i,a,l,f,u,_,b,A,P){let D=null,k=null,R=new c,I=d,F=h,O=f[0]-b[0]-v,V=-1073741824,K=this.m_forwardHistory.length-1;do{const $=O+t;$===I||$<F&&s[$-1]<s[$+1]?(a=s[$+1],u=a-O-v,a<V&&R.MarkNextChange(),V=a,R.AddModifiedElement(a+1,u),O=$+1-t):(a=s[$-1]+1,u=a-O-v,a<V&&R.MarkNextChange(),V=a-1,R.AddOriginalElement(a,u+1),O=$-1-t),K>=0&&(s=this.m_forwardHistory[K],t=s[0],I=1,F=s.length-1)}while(--K>=-1);if(D=R.getReverseChanges(),P[0]){let $=f[0]+1,z=b[0]+1;if(D!==null&&D.length>0){const n=D[D.length-1];$=Math.max($,n.getOriginalEnd()),z=Math.max(z,n.getModifiedEnd())}k=[new E.DiffChange($,l-$+1,z,_-z+1)]}else{R=new c,I=C,F=y,O=f[0]-b[0]-p,V=1073741824,K=A?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const $=O+L;$===I||$<F&&i[$-1]>=i[$+1]?(a=i[$+1]-1,u=a-O-p,a>V&&R.MarkNextChange(),V=a+1,R.AddOriginalElement(a+1,u+1),O=$+1-L):(a=i[$-1],u=a-O-p,a>V&&R.MarkNextChange(),V=a,R.AddModifiedElement(a+1,u+1),O=$-1-L),K>=0&&(i=this.m_reverseHistory[K],L=i[0],I=1,F=i.length-1)}while(--K>=-1);k=R.getChanges()}return this.ConcatenateChanges(D,k)}ComputeRecursionPoint(t,d,h,v,L,C,y){let p=0,s=0,i=0,a=0,l=0,f=0;t--,h--,L[0]=0,C[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const u=d-t+(v-h),_=u+1,b=new Int32Array(_),A=new Int32Array(_),P=v-h,D=d-t,k=t-h,R=d-v,F=(D-P)%2==0;b[P]=t,A[D]=d,y[0]=!1;for(let O=1;O<=u/2+1;O++){let V=0,K=0;i=this.ClipDiagonalBound(P-O,O,P,_),a=this.ClipDiagonalBound(P+O,O,P,_);for(let z=i;z<=a;z+=2){z===i||z<a&&b[z-1]<b[z+1]?p=b[z+1]:p=b[z-1]+1,s=p-(z-P)-k;const n=p;for(;p<d&&s<v&&this.ElementsAreEqual(p+1,s+1);)p++,s++;if(b[z]=p,p+s>V+K&&(V=p,K=s),!F&&Math.abs(z-D)<=O-1&&p>=A[z])return L[0]=p,C[0]=s,n<=A[z]&&1447>0&&O<=1447+1?this.WALKTRACE(P,i,a,k,D,l,f,R,b,A,p,d,L,s,v,C,F,y):null}const $=(V-t+(K-h)-O)/2;if(this.ContinueProcessingPredicate!==null&&!this.ContinueProcessingPredicate(V,$))return y[0]=!0,L[0]=V,C[0]=K,$>0&&1447>0&&O<=1447+1?this.WALKTRACE(P,i,a,k,D,l,f,R,b,A,p,d,L,s,v,C,F,y):(t++,h++,[new E.DiffChange(t,d-t+1,h,v-h+1)]);l=this.ClipDiagonalBound(D-O,O,D,_),f=this.ClipDiagonalBound(D+O,O,D,_);for(let z=l;z<=f;z+=2){z===l||z<f&&A[z-1]>=A[z+1]?p=A[z+1]-1:p=A[z-1],s=p-(z-D)-R;const n=p;for(;p>t&&s>h&&this.ElementsAreEqual(p,s);)p--,s--;if(A[z]=p,F&&Math.abs(z-P)<=O&&p<=b[z])return L[0]=p,C[0]=s,n>=b[z]&&1447>0&&O<=1447+1?this.WALKTRACE(P,i,a,k,D,l,f,R,b,A,p,d,L,s,v,C,F,y):null}if(O<=1447){let z=new Int32Array(a-i+2);z[0]=P-i+1,g.Copy2(b,i,z,1,a-i+1),this.m_forwardHistory.push(z),z=new Int32Array(f-l+2),z[0]=D-l+1,g.Copy2(A,l,z,1,f-l+1),this.m_reverseHistory.push(z)}}return this.WALKTRACE(P,i,a,k,D,l,f,R,b,A,p,d,L,s,v,C,F,y)}PrettifyChanges(t){for(let d=0;d<t.length;d++){const h=t[d],v=d<t.length-1?t[d+1].originalStart:this._originalElementsOrHash.length,L=d<t.length-1?t[d+1].modifiedStart:this._modifiedElementsOrHash.length,C=h.originalLength>0,y=h.modifiedLength>0;for(;h.originalStart+h.originalLength<v&&h.modifiedStart+h.modifiedLength<L&&(!C||this.OriginalElementsAreEqual(h.originalStart,h.originalStart+h.originalLength))&&(!y||this.ModifiedElementsAreEqual(h.modifiedStart,h.modifiedStart+h.modifiedLength));){const s=this.ElementsAreStrictEqual(h.originalStart,h.modifiedStart);if(this.ElementsAreStrictEqual(h.originalStart+h.originalLength,h.modifiedStart+h.modifiedLength)&&!s)break;h.originalStart++,h.modifiedStart++}let p=[null];if(d<t.length-1&&this.ChangesOverlap(t[d],t[d+1],p)){t[d]=p[0],t.splice(d+1,1),d--;continue}}for(let d=t.length-1;d>=0;d--){const h=t[d];let v=0,L=0;if(d>0){const a=t[d-1];v=a.originalStart+a.originalLength,L=a.modifiedStart+a.modifiedLength}const C=h.originalLength>0,y=h.modifiedLength>0;let p=0,s=this._boundaryScore(h.originalStart,h.originalLength,h.modifiedStart,h.modifiedLength);for(let a=1;;a++){const l=h.originalStart-a,f=h.modifiedStart-a;if(l<v||f<L||C&&!this.OriginalElementsAreEqual(l,l+h.originalLength)||y&&!this.ModifiedElementsAreEqual(f,f+h.modifiedLength))break;const _=(l===v&&f===L?5:0)+this._boundaryScore(l,h.originalLength,f,h.modifiedLength);_>s&&(s=_,p=a)}h.originalStart-=p,h.modifiedStart-=p;const i=[null];if(d>0&&this.ChangesOverlap(t[d-1],t[d],i)){t[d-1]=i[0],t.splice(d,1),d++;continue}}if(this._hasStrings)for(let d=1,h=t.length;d<h;d++){const v=t[d-1],L=t[d],C=L.originalStart-v.originalStart-v.originalLength,y=v.originalStart,p=L.originalStart+L.originalLength,s=p-y,i=v.modifiedStart,a=L.modifiedStart+L.modifiedLength,l=a-i;if(C<5&&s<20&&l<20){const f=this._findBetterContiguousSequence(y,s,i,l,C);if(f){const[u,_]=f;(u!==v.originalStart+v.originalLength||_!==v.modifiedStart+v.modifiedLength)&&(v.originalLength=u-v.originalStart,v.modifiedLength=_-v.modifiedStart,L.originalStart=u+C,L.modifiedStart=_+C,L.originalLength=p-L.originalStart,L.modifiedLength=a-L.modifiedStart)}}}return t}_findBetterContiguousSequence(t,d,h,v,L){if(d<L||v<L)return null;const C=t+d-L+1,y=h+v-L+1;let p=0,s=0,i=0;for(let a=t;a<C;a++)for(let l=h;l<y;l++){const f=this._contiguousSequenceScore(a,l,L);f>0&&f>p&&(p=f,s=a,i=l)}return p>0?[s,i]:null}_contiguousSequenceScore(t,d,h){let v=0;for(let L=0;L<h;L++){if(!this.ElementsAreEqual(t+L,d+L))return 0;v+=this._originalStringElements[t+L].length}return v}_OriginalIsBoundary(t){return t<=0||t>=this._originalElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._originalStringElements[t])}_OriginalRegionIsBoundary(t,d){if(this._OriginalIsBoundary(t)||this._OriginalIsBoundary(t-1))return!0;if(d>0){const h=t+d;if(this._OriginalIsBoundary(h-1)||this._OriginalIsBoundary(h))return!0}return!1}_ModifiedIsBoundary(t){return t<=0||t>=this._modifiedElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[t])}_ModifiedRegionIsBoundary(t,d){if(this._ModifiedIsBoundary(t)||this._ModifiedIsBoundary(t-1))return!0;if(d>0){const h=t+d;if(this._ModifiedIsBoundary(h-1)||this._ModifiedIsBoundary(h))return!0}return!1}_boundaryScore(t,d,h,v){const L=this._OriginalRegionIsBoundary(t,d)?1:0,C=this._ModifiedRegionIsBoundary(h,v)?1:0;return L+C}ConcatenateChanges(t,d){let h=[];if(t.length===0||d.length===0)return d.length>0?d:t;if(this.ChangesOverlap(t[t.length-1],d[0],h)){const v=new Array(t.length+d.length-1);return g.Copy(t,0,v,0,t.length-1),v[t.length-1]=h[0],g.Copy(d,1,v,t.length,d.length-1),v}else{const v=new Array(t.length+d.length);return g.Copy(t,0,v,0,t.length),g.Copy(d,0,v,t.length,d.length),v}}ChangesOverlap(t,d,h){if(w.Assert(t.originalStart<=d.originalStart,"Left change is not less than or equal to right change"),w.Assert(t.modifiedStart<=d.modifiedStart,"Left change is not less than or equal to right change"),t.originalStart+t.originalLength>=d.originalStart||t.modifiedStart+t.modifiedLength>=d.modifiedStart){const v=t.originalStart;let L=t.originalLength;const C=t.modifiedStart;let y=t.modifiedLength;return t.originalStart+t.originalLength>=d.originalStart&&(L=d.originalStart+d.originalLength-t.originalStart),t.modifiedStart+t.modifiedLength>=d.modifiedStart&&(y=d.modifiedStart+d.modifiedLength-t.modifiedStart),h[0]=new E.DiffChange(v,L,C,y),!0}else return h[0]=null,!1}ClipDiagonalBound(t,d,h,v){if(t>=0&&t<v)return t;const L=h,C=v-h-1,y=d%2==0;if(t<0){const p=L%2==0;return y===p?0:1}else{const p=C%2==0;return y===p?v-1:v-2}}}r.LcsDiff=m}),Y(Q[7],Z([0,1]),function(U,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.assertNever=r.withNullAsUndefined=r.createProxyObject=r.getAllMethodNames=r.getAllPropertyNames=r.validateConstraint=r.validateConstraints=r.isFunction=r.assertIsDefined=r.assertType=r.isUndefinedOrNull=r.isDefined=r.isUndefined=r.isBoolean=r.isIterable=r.isNumber=r.isObject=r.isString=r.isArray=void 0;function E(a){return Array.isArray(a)}r.isArray=E;function e(a){return typeof a=="string"}r.isString=e;function N(a){return typeof a=="object"&&a!==null&&!Array.isArray(a)&&!(a instanceof RegExp)&&!(a instanceof Date)}r.isObject=N;function o(a){return typeof a=="number"&&!isNaN(a)}r.isNumber=o;function w(a){return!!a&&typeof a[Symbol.iterator]=="function"}r.isIterable=w;function g(a){return a===!0||a===!1}r.isBoolean=g;function c(a){return typeof a=="undefined"}r.isUndefined=c;function m(a){return!S(a)}r.isDefined=m;function S(a){return c(a)||a===null}r.isUndefinedOrNull=S;function t(a,l){if(!a)throw new Error(l?`Unexpected type, expected '${l}'`:"Unexpected type")}r.assertType=t;function d(a){if(S(a))throw new Error("Assertion Failed: argument is undefined or null");return a}r.assertIsDefined=d;function h(a){return typeof a=="function"}r.isFunction=h;function v(a,l){const f=Math.min(a.length,l.length);for(let u=0;u<f;u++)L(a[u],l[u])}r.validateConstraints=v;function L(a,l){if(e(l)){if(typeof a!==l)throw new Error(`argument does not match constraint: typeof ${l}`)}else if(h(l)){try{if(a instanceof l)return}catch{}if(!S(a)&&a.constructor===l||l.length===1&&l.call(void 0,a)===!0)return;throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}r.validateConstraint=L;function C(a){let l=[],f=Object.getPrototypeOf(a);for(;Object.prototype!==f;)l=l.concat(Object.getOwnPropertyNames(f)),f=Object.getPrototypeOf(f);return l}r.getAllPropertyNames=C;function y(a){const l=[];for(const f of C(a))typeof a[f]=="function"&&l.push(f);return l}r.getAllMethodNames=y;function p(a,l){const f=_=>function(){const b=Array.prototype.slice.call(arguments,0);return l(_,b)};let u={};for(const _ of a)u[_]=f(_);return u}r.createProxyObject=p;function s(a){return a===null?void 0:a}r.withNullAsUndefined=s;function i(a,l="Unreachable"){throw new Error(l)}r.assertNever=i}),Y(Q[29],Z([0,1,7]),function(U,r,E){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.getOrDefault=r.equals=r.mixin=r.cloneAndChange=r.deepFreeze=r.deepClone=void 0;function e(t){if(!t||typeof t!="object"||t instanceof RegExp)return t;const d=Array.isArray(t)?[]:{};return Object.keys(t).forEach(h=>{t[h]&&typeof t[h]=="object"?d[h]=e(t[h]):d[h]=t[h]}),d}r.deepClone=e;function N(t){if(!t||typeof t!="object")return t;const d=[t];for(;d.length>0;){const h=d.shift();Object.freeze(h);for(const v in h)if(o.call(h,v)){const L=h[v];typeof L=="object"&&!Object.isFrozen(L)&&d.push(L)}}return t}r.deepFreeze=N;const o=Object.prototype.hasOwnProperty;function w(t,d){return g(t,d,new Set)}r.cloneAndChange=w;function g(t,d,h){if((0,E.isUndefinedOrNull)(t))return t;const v=d(t);if(typeof v!="undefined")return v;if((0,E.isArray)(t)){const L=[];for(const C of t)L.push(g(C,d,h));return L}if((0,E.isObject)(t)){if(h.has(t))throw new Error("Cannot clone recursive data-structure");h.add(t);const L={};for(let C in t)o.call(t,C)&&(L[C]=g(t[C],d,h));return h.delete(t),L}return t}function c(t,d,h=!0){return(0,E.isObject)(t)?((0,E.isObject)(d)&&Object.keys(d).forEach(v=>{v in t?h&&((0,E.isObject)(t[v])&&(0,E.isObject)(d[v])?c(t[v],d[v],h):t[v]=d[v]):t[v]=d[v]}),t):d}r.mixin=c;function m(t,d){if(t===d)return!0;if(t==null||d===null||d===void 0||typeof t!=typeof d||typeof t!="object"||Array.isArray(t)!==Array.isArray(d))return!1;let h,v;if(Array.isArray(t)){if(t.length!==d.length)return!1;for(h=0;h<t.length;h++)if(!m(t[h],d[h]))return!1}else{const L=[];for(v in t)L.push(v);L.sort();const C=[];for(v in d)C.push(v);if(C.sort(),!m(L,C))return!1;for(h=0;h<L.length;h++)if(!m(t[L[h]],d[L[h]]))return!1}return!0}r.equals=m;function S(t,d,h){const v=d(t);return typeof v=="undefined"?h:v}r.getOrDefault=S}),Y(Q[13],Z([0,1]),function(U,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.toUint32=r.toUint8=void 0;function E(N){return N<0?0:N>255?255:N|0}r.toUint8=E;function e(N){return N<0?0:N>4294967295?4294967295:N|0}r.toUint32=e}),Y(Q[9],Z([0,1,26,5]),function(U,r,E,e){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.uriToFsPath=r.URI=void 0;const N=/^\w[\w\d+.-]*$/,o=/^\//,w=/^\/\//;function g(u,_){if(!u.scheme&&_)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${u.authority}", path: "${u.path}", query: "${u.query}", fragment: "${u.fragment}"}`);if(u.scheme&&!N.test(u.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(u.path){if(u.authority){if(!o.test(u.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(w.test(u.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}function c(u,_){return!u&&!_?"file":u}function m(u,_){switch(u){case"https":case"http":case"file":_?_[0]!==t&&(_=t+_):_=t;break}return _}const S="",t="/",d=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class h{constructor(_,b,A,P,D,k=!1){typeof _=="object"?(this.scheme=_.scheme||S,this.authority=_.authority||S,this.path=_.path||S,this.query=_.query||S,this.fragment=_.fragment||S):(this.scheme=c(_,k),this.authority=b||S,this.path=m(this.scheme,A||S),this.query=P||S,this.fragment=D||S,g(this,k))}static isUri(_){return _ instanceof h?!0:_?typeof _.authority=="string"&&typeof _.fragment=="string"&&typeof _.path=="string"&&typeof _.query=="string"&&typeof _.scheme=="string"&&typeof _.fsPath=="string"&&typeof _.with=="function"&&typeof _.toString=="function":!1}get fsPath(){return s(this,!1)}with(_){if(!_)return this;let{scheme:b,authority:A,path:P,query:D,fragment:k}=_;return b===void 0?b=this.scheme:b===null&&(b=S),A===void 0?A=this.authority:A===null&&(A=S),P===void 0?P=this.path:P===null&&(P=S),D===void 0?D=this.query:D===null&&(D=S),k===void 0?k=this.fragment:k===null&&(k=S),b===this.scheme&&A===this.authority&&P===this.path&&D===this.query&&k===this.fragment?this:new L(b,A,P,D,k)}static parse(_,b=!1){const A=d.exec(_);return A?new L(A[2]||S,f(A[4]||S),f(A[5]||S),f(A[7]||S),f(A[9]||S),b):new L(S,S,S,S,S)}static file(_){let b=S;if(e.isWindows&&(_=_.replace(/\\/g,t)),_[0]===t&&_[1]===t){const A=_.indexOf(t,2);A===-1?(b=_.substring(2),_=t):(b=_.substring(2,A),_=_.substring(A)||t)}return new L("file",b,_,S,S)}static from(_){const b=new L(_.scheme,_.authority,_.path,_.query,_.fragment);return g(b,!0),b}static joinPath(_,...b){if(!_.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let A;return e.isWindows&&_.scheme==="file"?A=h.file(E.win32.join(s(_,!0),...b)).path:A=E.posix.join(_.path,...b),_.with({path:A})}toString(_=!1){return i(this,_)}toJSON(){return this}static revive(_){if(_){if(_ instanceof h)return _;{const b=new L(_);return b._formatted=_.external,b._fsPath=_._sep===v?_.fsPath:null,b}}else return _}}r.URI=h;const v=e.isWindows?1:void 0;class L extends h{constructor(){super(...arguments);this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=s(this,!1)),this._fsPath}toString(_=!1){return _?i(this,!0):(this._formatted||(this._formatted=i(this,!1)),this._formatted)}toJSON(){const _={$mid:1};return this._fsPath&&(_.fsPath=this._fsPath,_._sep=v),this._formatted&&(_.external=this._formatted),this.path&&(_.path=this.path),this.scheme&&(_.scheme=this.scheme),this.authority&&(_.authority=this.authority),this.query&&(_.query=this.query),this.fragment&&(_.fragment=this.fragment),_}}const C={[58]:"%3A",[47]:"%2F",[63]:"%3F",[35]:"%23",[91]:"%5B",[93]:"%5D",[64]:"%40",[33]:"%21",[36]:"%24",[38]:"%26",[39]:"%27",[40]:"%28",[41]:"%29",[42]:"%2A",[43]:"%2B",[44]:"%2C",[59]:"%3B",[61]:"%3D",[32]:"%20"};function y(u,_){let b,A=-1;for(let P=0;P<u.length;P++){const D=u.charCodeAt(P);if(D>=97&&D<=122||D>=65&&D<=90||D>=48&&D<=57||D===45||D===46||D===95||D===126||_&&D===47)A!==-1&&(b+=encodeURIComponent(u.substring(A,P)),A=-1),b!==void 0&&(b+=u.charAt(P));else{b===void 0&&(b=u.substr(0,P));const k=C[D];k!==void 0?(A!==-1&&(b+=encodeURIComponent(u.substring(A,P)),A=-1),b+=k):A===-1&&(A=P)}}return A!==-1&&(b+=encodeURIComponent(u.substring(A))),b!==void 0?b:u}function p(u){let _;for(let b=0;b<u.length;b++){const A=u.charCodeAt(b);A===35||A===63?(_===void 0&&(_=u.substr(0,b)),_+=C[A]):_!==void 0&&(_+=u[b])}return _!==void 0?_:u}function s(u,_){let b;return u.authority&&u.path.length>1&&u.scheme==="file"?b=`//${u.authority}${u.path}`:u.path.charCodeAt(0)===47&&(u.path.charCodeAt(1)>=65&&u.path.charCodeAt(1)<=90||u.path.charCodeAt(1)>=97&&u.path.charCodeAt(1)<=122)&&u.path.charCodeAt(2)===58?_?b=u.path.substr(1):b=u.path[1].toLowerCase()+u.path.substr(2):b=u.path,e.isWindows&&(b=b.replace(/\//g,"\\")),b}r.uriToFsPath=s;function i(u,_){const b=_?p:y;let A="",{scheme:P,authority:D,path:k,query:R,fragment:I}=u;if(P&&(A+=P,A+=":"),(D||P==="file")&&(A+=t,A+=t),D){let F=D.indexOf("@");if(F!==-1){const O=D.substr(0,F);D=D.substr(F+1),F=O.indexOf(":"),F===-1?A+=b(O,!1):(A+=b(O.substr(0,F),!1),A+=":",A+=b(O.substr(F+1),!1)),A+="@"}D=D.toLowerCase(),F=D.indexOf(":"),F===-1?A+=b(D,!1):(A+=b(D.substr(0,F),!1),A+=D.substr(F))}if(k){if(k.length>=3&&k.charCodeAt(0)===47&&k.charCodeAt(2)===58){const F=k.charCodeAt(1);F>=65&&F<=90&&(k=`/${String.fromCharCode(F+32)}:${k.substr(3)}`)}else if(k.length>=2&&k.charCodeAt(1)===58){const F=k.charCodeAt(0);F>=65&&F<=90&&(k=`${String.fromCharCode(F+32)}:${k.substr(2)}`)}A+=b(k,!0)}return R&&(A+="?",A+=b(R,!1)),I&&(A+="#",A+=_?I:y(I,!1)),A}function a(u){try{return decodeURIComponent(u)}catch{return u.length>3?u.substr(0,3)+a(u.substr(3)):u}}const l=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function f(u){return u.match(l)?u.replace(l,_=>a(_)):u}}),Y(Q[44],Z([0,1,10,6,8,5,7,2]),function(U,r,E,e,N,o,w,g){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.create=r.SimpleWorkerServer=r.SimpleWorkerClient=r.logOnceWebWorkerWarning=void 0;const c="$initialize";let m=!1;function S(f){!o.isWeb||(m||(m=!0,console.warn("Could not create web worker(s). Falling back to loading web worker code in main thread, which might cause UI freezes. Please see https://github.com/microsoft/monaco-editor#faq")),console.warn(f.message))}r.logOnceWebWorkerWarning=S;class t{constructor(u,_,b,A){this.vsWorker=u,this.req=_,this.method=b,this.args=A,this.type=0}}class d{constructor(u,_,b,A){this.vsWorker=u,this.seq=_,this.res=b,this.err=A,this.type=1}}class h{constructor(u,_,b,A){this.vsWorker=u,this.req=_,this.eventName=b,this.arg=A,this.type=2}}class v{constructor(u,_,b){this.vsWorker=u,this.req=_,this.event=b,this.type=3}}class L{constructor(u,_){this.vsWorker=u,this.req=_,this.type=4}}class C{constructor(u){this._workerId=-1,this._handler=u,this._lastSentReq=0,this._pendingReplies=Object.create(null),this._pendingEmitters=new Map,this._pendingEvents=new Map}setWorkerId(u){this._workerId=u}sendMessage(u,_){const b=String(++this._lastSentReq);return new Promise((A,P)=>{this._pendingReplies[b]={resolve:A,reject:P},this._send(new t(this._workerId,b,u,_))})}listen(u,_){let b=null;const A=new e.Emitter({onFirstListenerAdd:()=>{b=String(++this._lastSentReq),this._pendingEmitters.set(b,A),this._send(new h(this._workerId,b,u,_))},onLastListenerRemove:()=>{this._pendingEmitters.delete(b),this._send(new L(this._workerId,b)),b=null}});return A.event}handleMessage(u){!u||!u.vsWorker||this._workerId!==-1&&u.vsWorker!==this._workerId||this._handleMessage(u)}_handleMessage(u){switch(u.type){case 1:return this._handleReplyMessage(u);case 0:return this._handleRequestMessage(u);case 2:return this._handleSubscribeEventMessage(u);case 3:return this._handleEventMessage(u);case 4:return this._handleUnsubscribeEventMessage(u)}}_handleReplyMessage(u){if(!this._pendingReplies[u.seq]){console.warn("Got reply to unknown seq");return}let _=this._pendingReplies[u.seq];if(delete this._pendingReplies[u.seq],u.err){let b=u.err;u.err.$isError&&(b=new Error,b.name=u.err.name,b.message=u.err.message,b.stack=u.err.stack),_.reject(b);return}_.resolve(u.res)}_handleRequestMessage(u){let _=u.req;this._handler.handleMessage(u.method,u.args).then(A=>{this._send(new d(this._workerId,_,A,void 0))},A=>{A.detail instanceof Error&&(A.detail=(0,E.transformErrorForSerialization)(A.detail)),this._send(new d(this._workerId,_,void 0,(0,E.transformErrorForSerialization)(A)))})}_handleSubscribeEventMessage(u){const _=u.req,b=this._handler.handleEvent(u.eventName,u.arg)(A=>{this._send(new v(this._workerId,_,A))});this._pendingEvents.set(_,b)}_handleEventMessage(u){if(!this._pendingEmitters.has(u.req)){console.warn("Got event for unknown req");return}this._pendingEmitters.get(u.req).fire(u.event)}_handleUnsubscribeEventMessage(u){if(!this._pendingEvents.has(u.req)){console.warn("Got unsubscribe for unknown req");return}this._pendingEvents.get(u.req).dispose(),this._pendingEvents.delete(u.req)}_send(u){let _=[];if(u.type===0)for(let b=0;b<u.args.length;b++)u.args[b]instanceof ArrayBuffer&&_.push(u.args[b]);else u.type===1&&u.res instanceof ArrayBuffer&&_.push(u.res);this._handler.sendMessage(u,_)}}class y extends N.Disposable{constructor(u,_,b){super();let A=null;this._worker=this._register(u.create("vs/base/common/worker/simpleWorker",I=>{this._protocol.handleMessage(I)},I=>{A&&A(I)})),this._protocol=new C({sendMessage:(I,F)=>{this._worker.postMessage(I,F)},handleMessage:(I,F)=>{if(typeof b[I]!="function")return Promise.reject(new Error("Missing method "+I+" on main thread host."));try{return Promise.resolve(b[I].apply(b,F))}catch(O){return Promise.reject(O)}},handleEvent:(I,F)=>{if(s(I)){const O=b[I].call(b,F);if(typeof O!="function")throw new Error(`Missing dynamic event ${I} on main thread host.`);return O}if(p(I)){const O=b[I];if(typeof O!="function")throw new Error(`Missing event ${I} on main thread host.`);return O}throw new Error(`Malformed event name ${I}`)}}),this._protocol.setWorkerId(this._worker.getId());let P=null;typeof o.globals.require!="undefined"&&typeof o.globals.require.getConfig=="function"?P=o.globals.require.getConfig():typeof o.globals.requirejs!="undefined"&&(P=o.globals.requirejs.s.contexts._.config);const D=w.getAllMethodNames(b);this._onModuleLoaded=this._protocol.sendMessage(c,[this._worker.getId(),JSON.parse(JSON.stringify(P)),_,D]);const k=(I,F)=>this._request(I,F),R=(I,F)=>this._protocol.listen(I,F);this._lazyProxy=new Promise((I,F)=>{A=F,this._onModuleLoaded.then(O=>{I(i(O,k,R))},O=>{F(O),this._onError("Worker failed to load "+_,O)})})}getProxyObject(){return this._lazyProxy}_request(u,_){return new Promise((b,A)=>{this._onModuleLoaded.then(()=>{this._protocol.sendMessage(u,_).then(b,A)},A)})}_onError(u,_){console.error(u),console.info(_)}}r.SimpleWorkerClient=y;function p(f){return f[0]==="o"&&f[1]==="n"&&g.isUpperAsciiLetter(f.charCodeAt(2))}function s(f){return/^onDynamic/.test(f)&&g.isUpperAsciiLetter(f.charCodeAt(9))}function i(f,u,_){const b=D=>function(){const k=Array.prototype.slice.call(arguments,0);return u(D,k)},A=D=>function(k){return _(D,k)};let P={};for(const D of f){if(s(D)){P[D]=A(D);continue}if(p(D)){P[D]=_(D,void 0);continue}P[D]=b(D)}return P}class a{constructor(u,_){this._requestHandlerFactory=_,this._requestHandler=null,this._protocol=new C({sendMessage:(b,A)=>{u(b,A)},handleMessage:(b,A)=>this._handleMessage(b,A),handleEvent:(b,A)=>this._handleEvent(b,A)})}onmessage(u){this._protocol.handleMessage(u)}_handleMessage(u,_){if(u===c)return this.initialize(_[0],_[1],_[2],_[3]);if(!this._requestHandler||typeof this._requestHandler[u]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+u));try{return Promise.resolve(this._requestHandler[u].apply(this._requestHandler,_))}catch(b){return Promise.reject(b)}}_handleEvent(u,_){if(!this._requestHandler)throw new Error("Missing requestHandler");if(s(u)){const b=this._requestHandler[u].call(this._requestHandler,_);if(typeof b!="function")throw new Error(`Missing dynamic event ${u} on request handler.`);return b}if(p(u)){const b=this._requestHandler[u];if(typeof b!="function")throw new Error(`Missing event ${u} on request handler.`);return b}throw new Error(`Malformed event name ${u}`)}initialize(u,_,b,A){this._protocol.setWorkerId(u);const k=i(A,(R,I)=>this._protocol.sendMessage(R,I),(R,I)=>this._protocol.listen(R,I));return this._requestHandlerFactory?(this._requestHandler=this._requestHandlerFactory(k),Promise.resolve(w.getAllMethodNames(this._requestHandler))):(_&&(typeof _.baseUrl!="undefined"&&delete _.baseUrl,typeof _.paths!="undefined"&&typeof _.paths.vs!="undefined"&&delete _.paths.vs,typeof _.trustedTypesPolicy!==void 0&&delete _.trustedTypesPolicy,_.catchError=!0,o.globals.require.config(_)),new Promise((R,I)=>{(o.globals.require||U)([b],O=>{if(this._requestHandler=O.create(k),!this._requestHandler){I(new Error("No RequestHandler!"));return}R(w.getAllMethodNames(this._requestHandler))},I)}))}}r.SimpleWorkerServer=a;function l(f){return new a(f,null)}r.create=l}),Y(Q[14],Z([0,1,13]),function(U,r,E){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.CharacterSet=r.CharacterClassifier=void 0;class e{constructor(w){const g=(0,E.toUint8)(w);this._defaultValue=g,this._asciiMap=e._createAsciiMap(g),this._map=new Map}static _createAsciiMap(w){const g=new Uint8Array(256);for(let c=0;c<256;c++)g[c]=w;return g}set(w,g){const c=(0,E.toUint8)(g);w>=0&&w<256?this._asciiMap[w]=c:this._map.set(w,c)}get(w){return w>=0&&w<256?this._asciiMap[w]:this._map.get(w)||this._defaultValue}}r.CharacterClassifier=e;class N{constructor(){this._actual=new e(0)}add(w){this._actual.set(w,1)}has(w){return this._actual.get(w)===1}}r.CharacterSet=N}),Y(Q[3],Z([0,1]),function(U,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.Position=void 0;class E{constructor(N,o){this.lineNumber=N,this.column=o}with(N=this.lineNumber,o=this.column){return N===this.lineNumber&&o===this.column?this:new E(N,o)}delta(N=0,o=0){return this.with(this.lineNumber+N,this.column+o)}equals(N){return E.equals(this,N)}static equals(N,o){return!N&&!o?!0:!!N&&!!o&&N.lineNumber===o.lineNumber&&N.column===o.column}isBefore(N){return E.isBefore(this,N)}static isBefore(N,o){return N.lineNumber<o.lineNumber?!0:o.lineNumber<N.lineNumber?!1:N.column<o.column}isBeforeOrEqual(N){return E.isBeforeOrEqual(this,N)}static isBeforeOrEqual(N,o){return N.lineNumber<o.lineNumber?!0:o.lineNumber<N.lineNumber?!1:N.column<=o.column}static compare(N,o){const w=N.lineNumber|0,g=o.lineNumber|0;if(w===g){const c=N.column|0,m=o.column|0;return c-m}return w-g}clone(){return new E(this.lineNumber,this.column)}toString(){return"("+this.lineNumber+","+this.column+")"}static lift(N){return new E(N.lineNumber,N.column)}static isIPosition(N){return N&&typeof N.lineNumber=="number"&&typeof N.column=="number"}}r.Position=E}),Y(Q[4],Z([0,1,3]),function(U,r,E){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.Range=void 0;class e{constructor(o,w,g,c){o>g||o===g&&w>c?(this.startLineNumber=g,this.startColumn=c,this.endLineNumber=o,this.endColumn=w):(this.startLineNumber=o,this.startColumn=w,this.endLineNumber=g,this.endColumn=c)}isEmpty(){return e.isEmpty(this)}static isEmpty(o){return o.startLineNumber===o.endLineNumber&&o.startColumn===o.endColumn}containsPosition(o){return e.containsPosition(this,o)}static containsPosition(o,w){return!(w.lineNumber<o.startLineNumber||w.lineNumber>o.endLineNumber||w.lineNumber===o.startLineNumber&&w.column<o.startColumn||w.lineNumber===o.endLineNumber&&w.column>o.endColumn)}static strictContainsPosition(o,w){return!(w.lineNumber<o.startLineNumber||w.lineNumber>o.endLineNumber||w.lineNumber===o.startLineNumber&&w.column<=o.startColumn||w.lineNumber===o.endLineNumber&&w.column>=o.endColumn)}containsRange(o){return e.containsRange(this,o)}static containsRange(o,w){return!(w.startLineNumber<o.startLineNumber||w.endLineNumber<o.startLineNumber||w.startLineNumber>o.endLineNumber||w.endLineNumber>o.endLineNumber||w.startLineNumber===o.startLineNumber&&w.startColumn<o.startColumn||w.endLineNumber===o.endLineNumber&&w.endColumn>o.endColumn)}strictContainsRange(o){return e.strictContainsRange(this,o)}static strictContainsRange(o,w){return!(w.startLineNumber<o.startLineNumber||w.endLineNumber<o.startLineNumber||w.startLineNumber>o.endLineNumber||w.endLineNumber>o.endLineNumber||w.startLineNumber===o.startLineNumber&&w.startColumn<=o.startColumn||w.endLineNumber===o.endLineNumber&&w.endColumn>=o.endColumn)}plusRange(o){return e.plusRange(this,o)}static plusRange(o,w){let g,c,m,S;return w.startLineNumber<o.startLineNumber?(g=w.startLineNumber,c=w.startColumn):w.startLineNumber===o.startLineNumber?(g=w.startLineNumber,c=Math.min(w.startColumn,o.startColumn)):(g=o.startLineNumber,c=o.startColumn),w.endLineNumber>o.endLineNumber?(m=w.endLineNumber,S=w.endColumn):w.endLineNumber===o.endLineNumber?(m=w.endLineNumber,S=Math.max(w.endColumn,o.endColumn)):(m=o.endLineNumber,S=o.endColumn),new e(g,c,m,S)}intersectRanges(o){return e.intersectRanges(this,o)}static intersectRanges(o,w){let g=o.startLineNumber,c=o.startColumn,m=o.endLineNumber,S=o.endColumn,t=w.startLineNumber,d=w.startColumn,h=w.endLineNumber,v=w.endColumn;return g<t?(g=t,c=d):g===t&&(c=Math.max(c,d)),m>h?(m=h,S=v):m===h&&(S=Math.min(S,v)),g>m||g===m&&c>S?null:new e(g,c,m,S)}equalsRange(o){return e.equalsRange(this,o)}static equalsRange(o,w){return!!o&&!!w&&o.startLineNumber===w.startLineNumber&&o.startColumn===w.startColumn&&o.endLineNumber===w.endLineNumber&&o.endColumn===w.endColumn}getEndPosition(){return e.getEndPosition(this)}static getEndPosition(o){return new E.Position(o.endLineNumber,o.endColumn)}getStartPosition(){return e.getStartPosition(this)}static getStartPosition(o){return new E.Position(o.startLineNumber,o.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(o,w){return new e(this.startLineNumber,this.startColumn,o,w)}setStartPosition(o,w){return new e(o,w,this.endLineNumber,this.endColumn)}collapseToStart(){return e.collapseToStart(this)}static collapseToStart(o){return new e(o.startLineNumber,o.startColumn,o.startLineNumber,o.startColumn)}static fromPositions(o,w=o){return new e(o.lineNumber,o.column,w.lineNumber,w.column)}static lift(o){return o?new e(o.startLineNumber,o.startColumn,o.endLineNumber,o.endColumn):null}static isIRange(o){return o&&typeof o.startLineNumber=="number"&&typeof o.startColumn=="number"&&typeof o.endLineNumber=="number"&&typeof o.endColumn=="number"}static areIntersectingOrTouching(o,w){return!(o.endLineNumber<w.startLineNumber||o.endLineNumber===w.startLineNumber&&o.endColumn<w.startColumn||w.endLineNumber<o.startLineNumber||w.endLineNumber===o.startLineNumber&&w.endColumn<o.startColumn)}static areIntersecting(o,w){return!(o.endLineNumber<w.startLineNumber||o.endLineNumber===w.startLineNumber&&o.endColumn<=w.startColumn||w.endLineNumber<o.startLineNumber||w.endLineNumber===o.startLineNumber&&w.endColumn<=o.startColumn)}static compareRangesUsingStarts(o,w){if(o&&w){const m=o.startLineNumber|0,S=w.startLineNumber|0;if(m===S){const t=o.startColumn|0,d=w.startColumn|0;if(t===d){const h=o.endLineNumber|0,v=w.endLineNumber|0;if(h===v){const L=o.endColumn|0,C=w.endColumn|0;return L-C}return h-v}return t-d}return m-S}return(o?1:0)-(w?1:0)}static compareRangesUsingEnds(o,w){return o.endLineNumber===w.endLineNumber?o.endColumn===w.endColumn?o.startLineNumber===w.startLineNumber?o.startColumn-w.startColumn:o.startLineNumber-w.startLineNumber:o.endColumn-w.endColumn:o.endLineNumber-w.endLineNumber}static spansMultipleLines(o){return o.endLineNumber>o.startLineNumber}toJSON(){return this}}r.Range=e}),Y(Q[30],Z([0,1,3,4]),function(U,r,E,e){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.Selection=void 0;class N extends e.Range{constructor(w,g,c,m){super(w,g,c,m);this.selectionStartLineNumber=w,this.selectionStartColumn=g,this.positionLineNumber=c,this.positionColumn=m}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(w){return N.selectionsEqual(this,w)}static selectionsEqual(w,g){return w.selectionStartLineNumber===g.selectionStartLineNumber&&w.selectionStartColumn===g.selectionStartColumn&&w.positionLineNumber===g.positionLineNumber&&w.positionColumn===g.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(w,g){return this.getDirection()===0?new N(this.startLineNumber,this.startColumn,w,g):new N(w,g,this.startLineNumber,this.startColumn)}getPosition(){return new E.Position(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new E.Position(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(w,g){return this.getDirection()===0?new N(w,g,this.endLineNumber,this.endColumn):new N(this.endLineNumber,this.endColumn,w,g)}static fromPositions(w,g=w){return new N(w.lineNumber,w.column,g.lineNumber,g.column)}static fromRange(w,g){return g===0?new N(w.startLineNumber,w.startColumn,w.endLineNumber,w.endColumn):new N(w.endLineNumber,w.endColumn,w.startLineNumber,w.startColumn)}static liftSelection(w){return new N(w.selectionStartLineNumber,w.selectionStartColumn,w.positionLineNumber,w.positionColumn)}static selectionsArrEqual(w,g){if(w&&!g||!w&&g)return!1;if(!w&&!g)return!0;if(w.length!==g.length)return!1;for(let c=0,m=w.length;c<m;c++)if(!this.selectionsEqual(w[c],g[c]))return!1;return!0}static isISelection(w){return w&&typeof w.selectionStartLineNumber=="number"&&typeof w.selectionStartColumn=="number"&&typeof w.positionLineNumber=="number"&&typeof w.positionColumn=="number"}static createWithDirection(w,g,c,m,S){return S===0?new N(w,g,c,m):new N(c,m,w,g)}}r.Selection=N}),Y(Q[31],Z([0,1,14]),function(U,r,E){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.getMapForWordSeparators=r.WordCharacterClassifier=void 0;class e extends E.CharacterClassifier{constructor(w){super(0);for(let g=0,c=w.length;g<c;g++)this.set(w.charCodeAt(g),2);this.set(32,1),this.set(9,1)}}r.WordCharacterClassifier=e;function N(o){const w={};return g=>(w.hasOwnProperty(g)||(w[g]=o(g)),w[g])}r.getMapForWordSeparators=N(o=>new e(o))}),Y(Q[15],Z([0,1]),function(U,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.getWordAtText=r.ensureValidWordDefinition=r.DEFAULT_WORD_REGEXP=r.USUAL_WORD_SEPARATORS=void 0,r.USUAL_WORD_SEPARATORS="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?";function E(g=""){let c="(-?\\d*\\.\\d\\w*)|([^";for(const m of r.USUAL_WORD_SEPARATORS)g.indexOf(m)>=0||(c+="\\"+m);return c+="\\s]+)",new RegExp(c,"g")}r.DEFAULT_WORD_REGEXP=E();function e(g){let c=r.DEFAULT_WORD_REGEXP;if(g&&g instanceof RegExp)if(g.global)c=g;else{let m="g";g.ignoreCase&&(m+="i"),g.multiline&&(m+="m"),g.unicode&&(m+="u"),c=new RegExp(g.source,m)}return c.lastIndex=0,c}r.ensureValidWordDefinition=e;const N={maxLen:1e3,windowSize:15,timeBudget:150};function o(g,c,m,S,t=N){if(m.length>t.maxLen){let C=g-t.maxLen/2;return C<0?C=0:S+=C,m=m.substring(C,g+t.maxLen/2),o(g,c,m,S,t)}const d=Date.now(),h=g-1-S;let v=-1,L=null;for(let C=1;!(Date.now()-d>=t.timeBudget);C++){const y=h-t.windowSize*C;c.lastIndex=Math.max(0,y);const p=w(c,m,h,v);if(!p&&L||(L=p,y<=0))break;v=y}if(L){const C={word:L[0],startColumn:S+1+L.index,endColumn:S+1+L.index+L[0].length};return c.lastIndex=0,C}return null}r.getWordAtText=o;function w(g,c,m,S){let t;for(;t=g.exec(c);){const d=t.index||0;if(d<=m&&g.lastIndex>=m)return t;if(S>0&&d>S)return null}return null}}),Y(Q[32],Z([0,1,12,2]),function(U,r,E,e){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.DiffComputer=void 0;const N=3;function o(L,C,y,p){return new E.LcsDiff(L,C,y).ComputeDiff(p)}class w{constructor(C){const y=[],p=[];for(let s=0,i=C.length;s<i;s++)y[s]=d(C[s],1),p[s]=h(C[s],1);this.lines=C,this._startColumns=y,this._endColumns=p}getElements(){const C=[];for(let y=0,p=this.lines.length;y<p;y++)C[y]=this.lines[y].substring(this._startColumns[y]-1,this._endColumns[y]-1);return C}getStrictElement(C){return this.lines[C]}getStartLineNumber(C){return C+1}getEndLineNumber(C){return C+1}createCharSequence(C,y,p){const s=[],i=[],a=[];let l=0;for(let f=y;f<=p;f++){const u=this.lines[f],_=C?this._startColumns[f]:1,b=C?this._endColumns[f]:u.length+1;for(let A=_;A<b;A++)s[l]=u.charCodeAt(A-1),i[l]=f+1,a[l]=A,l++}return new g(s,i,a)}}class g{constructor(C,y,p){this._charCodes=C,this._lineNumbers=y,this._columns=p}getElements(){return this._charCodes}getStartLineNumber(C){return this._lineNumbers[C]}getStartColumn(C){return this._columns[C]}getEndLineNumber(C){return this._lineNumbers[C]}getEndColumn(C){return this._columns[C]+1}}class c{constructor(C,y,p,s,i,a,l,f){this.originalStartLineNumber=C,this.originalStartColumn=y,this.originalEndLineNumber=p,this.originalEndColumn=s,this.modifiedStartLineNumber=i,this.modifiedStartColumn=a,this.modifiedEndLineNumber=l,this.modifiedEndColumn=f}static createFromDiffChange(C,y,p){let s,i,a,l,f,u,_,b;return C.originalLength===0?(s=0,i=0,a=0,l=0):(s=y.getStartLineNumber(C.originalStart),i=y.getStartColumn(C.originalStart),a=y.getEndLineNumber(C.originalStart+C.originalLength-1),l=y.getEndColumn(C.originalStart+C.originalLength-1)),C.modifiedLength===0?(f=0,u=0,_=0,b=0):(f=p.getStartLineNumber(C.modifiedStart),u=p.getStartColumn(C.modifiedStart),_=p.getEndLineNumber(C.modifiedStart+C.modifiedLength-1),b=p.getEndColumn(C.modifiedStart+C.modifiedLength-1)),new c(s,i,a,l,f,u,_,b)}}function m(L){if(L.length<=1)return L;const C=[L[0]];let y=C[0];for(let p=1,s=L.length;p<s;p++){const i=L[p],a=i.originalStart-(y.originalStart+y.originalLength),l=i.modifiedStart-(y.modifiedStart+y.modifiedLength);Math.min(a,l)<N?(y.originalLength=i.originalStart+i.originalLength-y.originalStart,y.modifiedLength=i.modifiedStart+i.modifiedLength-y.modifiedStart):(C.push(i),y=i)}return C}class S{constructor(C,y,p,s,i){this.originalStartLineNumber=C,this.originalEndLineNumber=y,this.modifiedStartLineNumber=p,this.modifiedEndLineNumber=s,this.charChanges=i}static createFromDiffResult(C,y,p,s,i,a,l){let f,u,_,b,A;if(y.originalLength===0?(f=p.getStartLineNumber(y.originalStart)-1,u=0):(f=p.getStartLineNumber(y.originalStart),u=p.getEndLineNumber(y.originalStart+y.originalLength-1)),y.modifiedLength===0?(_=s.getStartLineNumber(y.modifiedStart)-1,b=0):(_=s.getStartLineNumber(y.modifiedStart),b=s.getEndLineNumber(y.modifiedStart+y.modifiedLength-1)),a&&y.originalLength>0&&y.originalLength<20&&y.modifiedLength>0&&y.modifiedLength<20&&i()){const P=p.createCharSequence(C,y.originalStart,y.originalStart+y.originalLength-1),D=s.createCharSequence(C,y.modifiedStart,y.modifiedStart+y.modifiedLength-1);let k=o(P,D,i,!0).changes;l&&(k=m(k)),A=[];for(let R=0,I=k.length;R<I;R++)A.push(c.createFromDiffChange(k[R],P,D))}return new S(f,u,_,b,A)}}class t{constructor(C,y,p){this.shouldComputeCharChanges=p.shouldComputeCharChanges,this.shouldPostProcessCharChanges=p.shouldPostProcessCharChanges,this.shouldIgnoreTrimWhitespace=p.shouldIgnoreTrimWhitespace,this.shouldMakePrettyDiff=p.shouldMakePrettyDiff,this.originalLines=C,this.modifiedLines=y,this.original=new w(C),this.modified=new w(y),this.continueLineDiff=v(p.maxComputationTime),this.continueCharDiff=v(p.maxComputationTime===0?0:Math.min(p.maxComputationTime,5e3))}computeDiff(){if(this.original.lines.length===1&&this.original.lines[0].length===0)return this.modified.lines.length===1&&this.modified.lines[0].length===0?{quitEarly:!1,changes:[]}:{quitEarly:!1,changes:[{originalStartLineNumber:1,originalEndLineNumber:1,modifiedStartLineNumber:1,modifiedEndLineNumber:this.modified.lines.length,charChanges:[{modifiedEndColumn:0,modifiedEndLineNumber:0,modifiedStartColumn:0,modifiedStartLineNumber:0,originalEndColumn:0,originalEndLineNumber:0,originalStartColumn:0,originalStartLineNumber:0}]}]};if(this.modified.lines.length===1&&this.modified.lines[0].length===0)return{quitEarly:!1,changes:[{originalStartLineNumber:1,originalEndLineNumber:this.original.lines.length,modifiedStartLineNumber:1,modifiedEndLineNumber:1,charChanges:[{modifiedEndColumn:0,modifiedEndLineNumber:0,modifiedStartColumn:0,modifiedStartLineNumber:0,originalEndColumn:0,originalEndLineNumber:0,originalStartColumn:0,originalStartLineNumber:0}]}]};const C=o(this.original,this.modified,this.continueLineDiff,this.shouldMakePrettyDiff),y=C.changes,p=C.quitEarly;if(this.shouldIgnoreTrimWhitespace){const l=[];for(let f=0,u=y.length;f<u;f++)l.push(S.createFromDiffResult(this.shouldIgnoreTrimWhitespace,y[f],this.original,this.modified,this.continueCharDiff,this.shouldComputeCharChanges,this.shouldPostProcessCharChanges));return{quitEarly:p,changes:l}}const s=[];let i=0,a=0;for(let l=-1,f=y.length;l<f;l++){const u=l+1<f?y[l+1]:null,_=u?u.originalStart:this.originalLines.length,b=u?u.modifiedStart:this.modifiedLines.length;for(;i<_&&a<b;){const A=this.originalLines[i],P=this.modifiedLines[a];if(A!==P){{let D=d(A,1),k=d(P,1);for(;D>1&&k>1;){const R=A.charCodeAt(D-2),I=P.charCodeAt(k-2);if(R!==I)break;D--,k--}(D>1||k>1)&&this._pushTrimWhitespaceCharChange(s,i+1,1,D,a+1,1,k)}{let D=h(A,1),k=h(P,1);const R=A.length+1,I=P.length+1;for(;D<R&&k<I;){const F=A.charCodeAt(D-1),O=A.charCodeAt(k-1);if(F!==O)break;D++,k++}(D<R||k<I)&&this._pushTrimWhitespaceCharChange(s,i+1,D,R,a+1,k,I)}}i++,a++}u&&(s.push(S.createFromDiffResult(this.shouldIgnoreTrimWhitespace,u,this.original,this.modified,this.continueCharDiff,this.shouldComputeCharChanges,this.shouldPostProcessCharChanges)),i+=u.originalLength,a+=u.modifiedLength)}return{quitEarly:p,changes:s}}_pushTrimWhitespaceCharChange(C,y,p,s,i,a,l){if(this._mergeTrimWhitespaceCharChange(C,y,p,s,i,a,l))return;let f;this.shouldComputeCharChanges&&(f=[new c(y,p,y,s,i,a,i,l)]),C.push(new S(y,y,i,i,f))}_mergeTrimWhitespaceCharChange(C,y,p,s,i,a,l){const f=C.length;if(f===0)return!1;const u=C[f-1];return u.originalEndLineNumber===0||u.modifiedEndLineNumber===0?!1:u.originalEndLineNumber+1===y&&u.modifiedEndLineNumber+1===i?(u.originalEndLineNumber=y,u.modifiedEndLineNumber=i,this.shouldComputeCharChanges&&u.charChanges&&u.charChanges.push(new c(y,p,y,s,i,a,i,l)),!0):!1}}r.DiffComputer=t;function d(L,C){const y=e.firstNonWhitespaceIndex(L);return y===-1?C:y+1}function h(L,C){const y=e.lastNonWhitespaceIndex(L);return y===-1?C:y+2}function v(L){if(L===0)return()=>!0;const C=Date.now();return()=>Date.now()-C<L}}),Y(Q[33],Z([0,1,14]),function(U,r,E){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.computeLinks=r.LinkComputer=r.StateMachine=r.Uint8Matrix=void 0;class e{constructor(d,h,v){const L=new Uint8Array(d*h);for(let C=0,y=d*h;C<y;C++)L[C]=v;this._data=L,this.rows=d,this.cols=h}get(d,h){return this._data[d*this.cols+h]}set(d,h,v){this._data[d*this.cols+h]=v}}r.Uint8Matrix=e;class N{constructor(d){let h=0,v=0;for(let C=0,y=d.length;C<y;C++){const[p,s,i]=d[C];s>h&&(h=s),p>v&&(v=p),i>v&&(v=i)}h++,v++;const L=new e(v,h,0);for(let C=0,y=d.length;C<y;C++){const[p,s,i]=d[C];L.set(p,s,i)}this._states=L,this._maxCharCode=h}nextState(d,h){return h<0||h>=this._maxCharCode?0:this._states.get(d,h)}}r.StateMachine=N;let o=null;function w(){return o===null&&(o=new N([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),o}let g=null;function c(){if(g===null){g=new E.CharacterClassifier(0);const t=` 	<>'"\u3001\u3002\uFF61\uFF64\uFF0C\uFF0E\uFF1A\uFF1B\u2018\u3008\u300C\u300E\u3014\uFF08\uFF3B\uFF5B\uFF62\uFF63\uFF5D\uFF3D\uFF09\u3015\u300F\u300D\u3009\u2019\uFF40\uFF5E\u2026`;for(let h=0;h<t.length;h++)g.set(t.charCodeAt(h),1);const d=".,;";for(let h=0;h<d.length;h++)g.set(d.charCodeAt(h),2)}return g}class m{static _createLink(d,h,v,L,C){let y=C-1;do{const p=h.charCodeAt(y);if(d.get(p)!==2)break;y--}while(y>L);if(L>0){const p=h.charCodeAt(L-1),s=h.charCodeAt(y);(p===40&&s===41||p===91&&s===93||p===123&&s===125)&&y--}return{range:{startLineNumber:v,startColumn:L+1,endLineNumber:v,endColumn:y+2},url:h.substring(L,y+1)}}static computeLinks(d,h=w()){const v=c(),L=[];for(let C=1,y=d.getLineCount();C<=y;C++){const p=d.getLineContent(C),s=p.length;let i=0,a=0,l=0,f=1,u=!1,_=!1,b=!1,A=!1;for(;i<s;){let P=!1;const D=p.charCodeAt(i);if(f===13){let k;switch(D){case 40:u=!0,k=0;break;case 41:k=u?0:1;break;case 91:b=!0,_=!0,k=0;break;case 93:b=!1,k=_?0:1;break;case 123:A=!0,k=0;break;case 125:k=A?0:1;break;case 39:k=l===34||l===96?0:1;break;case 34:k=l===39||l===96?0:1;break;case 96:k=l===39||l===34?0:1;break;case 42:k=l===42?1:0;break;case 124:k=l===124?1:0;break;case 32:k=b?0:1;break;default:k=v.get(D)}k===1&&(L.push(m._createLink(v,p,C,a,i)),P=!0)}else if(f===12){let k;D===91?(_=!0,k=0):k=v.get(D),k===1?P=!0:f=13}else f=h.nextState(f,D),f===0&&(P=!0);P&&(f=1,u=!1,_=!1,A=!1,a=i+1,l=D),i++}f===13&&L.push(m._createLink(v,p,C,a,s))}return L}}r.LinkComputer=m;function S(t){return!t||typeof t.getLineCount!="function"||typeof t.getLineContent!="function"?[]:m.computeLinks(t)}r.computeLinks=S}),Y(Q[34],Z([0,1]),function(U,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.BasicInplaceReplace=void 0;class E{constructor(){this._defaultValueSet=[["true","false"],["True","False"],["Private","Public","Friend","ReadOnly","Partial","Protected","WriteOnly"],["public","protected","private"]]}navigateValueSet(N,o,w,g,c){if(N&&o){const m=this.doNavigateValueSet(o,c);if(m)return{range:N,value:m}}if(w&&g){const m=this.doNavigateValueSet(g,c);if(m)return{range:w,value:m}}return null}doNavigateValueSet(N,o){const w=this.numberReplace(N,o);return w!==null?w:this.textReplace(N,o)}numberReplace(N,o){const w=Math.pow(10,N.length-(N.lastIndexOf(".")+1));let g=Number(N),c=parseFloat(N);return!isNaN(g)&&!isNaN(c)&&g===c?g===0&&!o?null:(g=Math.floor(g*w),g+=o?w:-w,String(g/w)):null}textReplace(N,o){return this.valueSetsReplace(this._defaultValueSet,N,o)}valueSetsReplace(N,o,w){let g=null;for(let c=0,m=N.length;g===null&&c<m;c++)g=this.valueSetReplace(N[c],o,w);return g}valueSetReplace(N,o,w){let g=N.indexOf(o);return g>=0?(g+=w?1:-1,g<0?g=N.length-1:g%=N.length,N[g]):null}}r.BasicInplaceReplace=E,E.INSTANCE=new E}),Y(Q[35],Z([0,1,29]),function(U,r,E){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.shouldSynchronizeModel=r.ApplyEditsResult=r.SearchData=r.ValidAnnotatedEditOperation=r.FindMatch=r.TextModelResolvedOptions=r.InjectedTextCursorStops=r.MinimapPosition=r.OverviewRulerLane=void 0;var e;(function(d){d[d.Left=1]="Left",d[d.Center=2]="Center",d[d.Right=4]="Right",d[d.Full=7]="Full"})(e=r.OverviewRulerLane||(r.OverviewRulerLane={}));var N;(function(d){d[d.Inline=1]="Inline",d[d.Gutter=2]="Gutter"})(N=r.MinimapPosition||(r.MinimapPosition={}));var o;(function(d){d[d.Both=0]="Both",d[d.Right=1]="Right",d[d.Left=2]="Left",d[d.None=3]="None"})(o=r.InjectedTextCursorStops||(r.InjectedTextCursorStops={}));class w{constructor(h){this._textModelResolvedOptionsBrand=void 0,this.tabSize=Math.max(1,h.tabSize|0),this.indentSize=h.tabSize|0,this.insertSpaces=Boolean(h.insertSpaces),this.defaultEOL=h.defaultEOL|0,this.trimAutoWhitespace=Boolean(h.trimAutoWhitespace),this.bracketPairColorizationOptions=h.bracketPairColorizationOptions}equals(h){return this.tabSize===h.tabSize&&this.indentSize===h.indentSize&&this.insertSpaces===h.insertSpaces&&this.defaultEOL===h.defaultEOL&&this.trimAutoWhitespace===h.trimAutoWhitespace&&(0,E.equals)(this.bracketPairColorizationOptions,h.bracketPairColorizationOptions)}createChangeEvent(h){return{tabSize:this.tabSize!==h.tabSize,indentSize:this.indentSize!==h.indentSize,insertSpaces:this.insertSpaces!==h.insertSpaces,trimAutoWhitespace:this.trimAutoWhitespace!==h.trimAutoWhitespace}}}r.TextModelResolvedOptions=w;class g{constructor(h,v){this._findMatchBrand=void 0,this.range=h,this.matches=v}}r.FindMatch=g;class c{constructor(h,v,L,C,y,p){this.identifier=h,this.range=v,this.text=L,this.forceMoveMarkers=C,this.isAutoWhitespaceEdit=y,this._isTracked=p}}r.ValidAnnotatedEditOperation=c;class m{constructor(h,v,L){this.regex=h,this.wordSeparators=v,this.simpleSearch=L}}r.SearchData=m;class S{constructor(h,v,L){this.reverseEdits=h,this.changes=v,this.trimAutoWhitespaceLineNumbers=L}}r.ApplyEditsResult=S;function t(d){return!d.isTooLargeForSyncing()&&!d.isForSimpleWidget}r.shouldSynchronizeModel=t}),Y(Q[36],Z([0,1,16,13]),function(U,r,E,e){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.PrefixSumIndexOfResult=r.ConstantTimePrefixSumComputer=r.PrefixSumComputer=void 0;class N{constructor(c){this.values=c,this.prefixSum=new Uint32Array(c.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(c,m){c=(0,e.toUint32)(c);const S=this.values,t=this.prefixSum,d=m.length;return d===0?!1:(this.values=new Uint32Array(S.length+d),this.values.set(S.subarray(0,c),0),this.values.set(S.subarray(c),c+d),this.values.set(m,c),c-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=c-1),this.prefixSum=new Uint32Array(this.values.length),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(t.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(c,m){return c=(0,e.toUint32)(c),m=(0,e.toUint32)(m),this.values[c]===m?!1:(this.values[c]=m,c-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=c-1),!0)}removeValues(c,m){c=(0,e.toUint32)(c),m=(0,e.toUint32)(m);const S=this.values,t=this.prefixSum;if(c>=S.length)return!1;const d=S.length-c;return m>=d&&(m=d),m===0?!1:(this.values=new Uint32Array(S.length-m),this.values.set(S.subarray(0,c),0),this.values.set(S.subarray(c+m),c),this.prefixSum=new Uint32Array(this.values.length),c-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=c-1),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(t.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return this.values.length===0?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(c){return c<0?0:(c=(0,e.toUint32)(c),this._getPrefixSum(c))}_getPrefixSum(c){if(c<=this.prefixSumValidIndex[0])return this.prefixSum[c];let m=this.prefixSumValidIndex[0]+1;m===0&&(this.prefixSum[0]=this.values[0],m++),c>=this.values.length&&(c=this.values.length-1);for(let S=m;S<=c;S++)this.prefixSum[S]=this.prefixSum[S-1]+this.values[S];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],c),this.prefixSum[c]}getIndexOf(c){c=Math.floor(c),this.getTotalSum();let m=0,S=this.values.length-1,t=0,d=0,h=0;for(;m<=S;)if(t=m+(S-m)/2|0,d=this.prefixSum[t],h=d-this.values[t],c<h)S=t-1;else if(c>=d)m=t+1;else break;return new w(t,c-h)}}r.PrefixSumComputer=N;class o{constructor(c){this._values=c,this._isValid=!1,this._validEndIndex=-1,this._prefixSum=[],this._indexBySum=[]}getTotalSum(){return this._ensureValid(),this._indexBySum.length}getPrefixSum(c){return this._ensureValid(),c===0?0:this._prefixSum[c-1]}getIndexOf(c){this._ensureValid();const m=this._indexBySum[c],S=m>0?this._prefixSum[m-1]:0;return new w(m,c-S)}removeValues(c,m){this._values.splice(c,m),this._invalidate(c)}insertValues(c,m){this._values=(0,E.arrayInsert)(this._values,c,m),this._invalidate(c)}_invalidate(c){this._isValid=!1,this._validEndIndex=Math.min(this._validEndIndex,c-1)}_ensureValid(){if(!this._isValid){for(let c=this._validEndIndex+1,m=this._values.length;c<m;c++){const S=this._values[c],t=c>0?this._prefixSum[c-1]:0;this._prefixSum[c]=t+S;for(let d=0;d<S;d++)this._indexBySum[t+d]=c}this._prefixSum.length=this._values.length,this._indexBySum.length=this._prefixSum[this._prefixSum.length-1],this._isValid=!0,this._validEndIndex=this._values.length-1}}setValue(c,m){this._values[c]!==m&&(this._values[c]=m,this._invalidate(c))}}r.ConstantTimePrefixSumComputer=o;class w{constructor(c,m){this.index=c,this.remainder=m,this._prefixSumIndexOfResultBrand=void 0,this.index=c,this.remainder=m}}r.PrefixSumIndexOfResult=w}),Y(Q[37],Z([0,1,2,3,36]),function(U,r,E,e,N){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.MirrorTextModel=void 0;class o{constructor(g,c,m,S){this._uri=g,this._lines=c,this._eol=m,this._versionId=S,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}getText(){return this._cachedTextValue===null&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(g){g.eol&&g.eol!==this._eol&&(this._eol=g.eol,this._lineStarts=null);const c=g.changes;for(const m of c)this._acceptDeleteRange(m.range),this._acceptInsertText(new e.Position(m.range.startLineNumber,m.range.startColumn),m.text);this._versionId=g.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){const g=this._eol.length,c=this._lines.length,m=new Uint32Array(c);for(let S=0;S<c;S++)m[S]=this._lines[S].length+g;this._lineStarts=new N.PrefixSumComputer(m)}}_setLineText(g,c){this._lines[g]=c,this._lineStarts&&this._lineStarts.setValue(g,this._lines[g].length+this._eol.length)}_acceptDeleteRange(g){if(g.startLineNumber===g.endLineNumber){if(g.startColumn===g.endColumn)return;this._setLineText(g.startLineNumber-1,this._lines[g.startLineNumber-1].substring(0,g.startColumn-1)+this._lines[g.startLineNumber-1].substring(g.endColumn-1));return}this._setLineText(g.startLineNumber-1,this._lines[g.startLineNumber-1].substring(0,g.startColumn-1)+this._lines[g.endLineNumber-1].substring(g.endColumn-1)),this._lines.splice(g.startLineNumber,g.endLineNumber-g.startLineNumber),this._lineStarts&&this._lineStarts.removeValues(g.startLineNumber,g.endLineNumber-g.startLineNumber)}_acceptInsertText(g,c){if(c.length===0)return;const m=(0,E.splitLines)(c);if(m.length===1){this._setLineText(g.lineNumber-1,this._lines[g.lineNumber-1].substring(0,g.column-1)+m[0]+this._lines[g.lineNumber-1].substring(g.column-1));return}m[m.length-1]+=this._lines[g.lineNumber-1].substring(g.column-1),this._setLineText(g.lineNumber-1,this._lines[g.lineNumber-1].substring(0,g.column-1)+m[0]);const S=new Uint32Array(m.length-1);for(let t=1;t<m.length;t++)this._lines.splice(g.lineNumber+t-1,0,m[t]),S[t-1]=m[t].length+this._eol.length;this._lineStarts&&this._lineStarts.insertValues(g.lineNumber,S)}}r.MirrorTextModel=o}),Y(Q[38],Z([0,1,2,31,3,4,35]),function(U,r,E,e,N,o,w){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.Searcher=r.isValidMatch=r.TextModelSearch=r.createFindMatch=r.isMultilineRegexSource=r.SearchParams=void 0;const g=999;class c{constructor(p,s,i,a){this.searchString=p,this.isRegex=s,this.matchCase=i,this.wordSeparators=a}parseSearchRequest(){if(this.searchString==="")return null;let p;this.isRegex?p=m(this.searchString):p=this.searchString.indexOf(`
+`)>=0;let s=null;try{s=E.createRegExp(this.searchString,this.isRegex,{matchCase:this.matchCase,wholeWord:!1,multiline:p,global:!0,unicode:!0})}catch{return null}if(!s)return null;let i=!this.isRegex&&!p;return i&&this.searchString.toLowerCase()!==this.searchString.toUpperCase()&&(i=this.matchCase),new w.SearchData(s,this.wordSeparators?(0,e.getMapForWordSeparators)(this.wordSeparators):null,i?this.searchString:null)}}r.SearchParams=c;function m(y){if(!y||y.length===0)return!1;for(let p=0,s=y.length;p<s;p++)if(y.charCodeAt(p)===92){if(p++,p>=s)break;const a=y.charCodeAt(p);if(a===110||a===114||a===87)return!0}return!1}r.isMultilineRegexSource=m;function S(y,p,s){if(!s)return new w.FindMatch(y,null);const i=[];for(let a=0,l=p.length;a<l;a++)i[a]=p[a];return new w.FindMatch(y,i)}r.createFindMatch=S;class t{constructor(p){const s=[];let i=0;for(let a=0,l=p.length;a<l;a++)p.charCodeAt(a)===10&&(s[i++]=a);this._lineFeedsOffsets=s}findLineFeedCountBeforeOffset(p){const s=this._lineFeedsOffsets;let i=0,a=s.length-1;if(a===-1||p<=s[0])return 0;for(;i<a;){const l=i+((a-i)/2>>0);s[l]>=p?a=l-1:s[l+1]>=p?(i=l,a=l):i=l+1}return i+1}}class d{static findMatches(p,s,i,a,l){const f=s.parseSearchRequest();return f?f.regex.multiline?this._doFindMatchesMultiline(p,i,new C(f.wordSeparators,f.regex),a,l):this._doFindMatchesLineByLine(p,i,f,a,l):[]}static _getMultilineMatchRange(p,s,i,a,l,f){let u,_=0;a?(_=a.findLineFeedCountBeforeOffset(l),u=s+l+_):u=s+l;let b;if(a){const k=a.findLineFeedCountBeforeOffset(l+f.length)-_;b=u+f.length+k}else b=u+f.length;const A=p.getPositionAt(u),P=p.getPositionAt(b);return new o.Range(A.lineNumber,A.column,P.lineNumber,P.column)}static _doFindMatchesMultiline(p,s,i,a,l){const f=p.getOffsetAt(s.getStartPosition()),u=p.getValueInRange(s,1),_=p.getEOL()===`\r
+`?new t(u):null,b=[];let A=0,P;for(i.reset(0);P=i.next(u);)if(b[A++]=S(this._getMultilineMatchRange(p,f,u,_,P.index,P[0]),P,a),A>=l)return b;return b}static _doFindMatchesLineByLine(p,s,i,a,l){const f=[];let u=0;if(s.startLineNumber===s.endLineNumber){const b=p.getLineContent(s.startLineNumber).substring(s.startColumn-1,s.endColumn-1);return u=this._findMatchesInLine(i,b,s.startLineNumber,s.startColumn-1,u,f,a,l),f}const _=p.getLineContent(s.startLineNumber).substring(s.startColumn-1);u=this._findMatchesInLine(i,_,s.startLineNumber,s.startColumn-1,u,f,a,l);for(let b=s.startLineNumber+1;b<s.endLineNumber&&u<l;b++)u=this._findMatchesInLine(i,p.getLineContent(b),b,0,u,f,a,l);if(u<l){const b=p.getLineContent(s.endLineNumber).substring(0,s.endColumn-1);u=this._findMatchesInLine(i,b,s.endLineNumber,0,u,f,a,l)}return f}static _findMatchesInLine(p,s,i,a,l,f,u,_){const b=p.wordSeparators;if(!u&&p.simpleSearch){const D=p.simpleSearch,k=D.length,R=s.length;let I=-k;for(;(I=s.indexOf(D,I+k))!==-1;)if((!b||L(b,s,R,I,k))&&(f[l++]=new w.FindMatch(new o.Range(i,I+1+a,i,I+1+k+a),null),l>=_))return l;return l}const A=new C(p.wordSeparators,p.regex);let P;A.reset(0);do if(P=A.next(s),P&&(f[l++]=S(new o.Range(i,P.index+1+a,i,P.index+1+P[0].length+a),P,u),l>=_))return l;while(P);return l}static findNextMatch(p,s,i,a){const l=s.parseSearchRequest();if(!l)return null;const f=new C(l.wordSeparators,l.regex);return l.regex.multiline?this._doFindNextMatchMultiline(p,i,f,a):this._doFindNextMatchLineByLine(p,i,f,a)}static _doFindNextMatchMultiline(p,s,i,a){const l=new N.Position(s.lineNumber,1),f=p.getOffsetAt(l),u=p.getLineCount(),_=p.getValueInRange(new o.Range(l.lineNumber,l.column,u,p.getLineMaxColumn(u)),1),b=p.getEOL()===`\r
+`?new t(_):null;i.reset(s.column-1);let A=i.next(_);return A?S(this._getMultilineMatchRange(p,f,_,b,A.index,A[0]),A,a):s.lineNumber!==1||s.column!==1?this._doFindNextMatchMultiline(p,new N.Position(1,1),i,a):null}static _doFindNextMatchLineByLine(p,s,i,a){const l=p.getLineCount(),f=s.lineNumber,u=p.getLineContent(f),_=this._findFirstMatchInLine(i,u,f,s.column,a);if(_)return _;for(let b=1;b<=l;b++){const A=(f+b-1)%l,P=p.getLineContent(A+1),D=this._findFirstMatchInLine(i,P,A+1,1,a);if(D)return D}return null}static _findFirstMatchInLine(p,s,i,a,l){p.reset(a-1);const f=p.next(s);return f?S(new o.Range(i,f.index+1,i,f.index+1+f[0].length),f,l):null}static findPreviousMatch(p,s,i,a){const l=s.parseSearchRequest();if(!l)return null;const f=new C(l.wordSeparators,l.regex);return l.regex.multiline?this._doFindPreviousMatchMultiline(p,i,f,a):this._doFindPreviousMatchLineByLine(p,i,f,a)}static _doFindPreviousMatchMultiline(p,s,i,a){const l=this._doFindMatchesMultiline(p,new o.Range(1,1,s.lineNumber,s.column),i,a,10*g);if(l.length>0)return l[l.length-1];const f=p.getLineCount();return s.lineNumber!==f||s.column!==p.getLineMaxColumn(f)?this._doFindPreviousMatchMultiline(p,new N.Position(f,p.getLineMaxColumn(f)),i,a):null}static _doFindPreviousMatchLineByLine(p,s,i,a){const l=p.getLineCount(),f=s.lineNumber,u=p.getLineContent(f).substring(0,s.column-1),_=this._findLastMatchInLine(i,u,f,a);if(_)return _;for(let b=1;b<=l;b++){const A=(l+f-b-1)%l,P=p.getLineContent(A+1),D=this._findLastMatchInLine(i,P,A+1,a);if(D)return D}return null}static _findLastMatchInLine(p,s,i,a){let l=null,f;for(p.reset(0);f=p.next(s);)l=S(new o.Range(i,f.index+1,i,f.index+1+f[0].length),f,a);return l}}r.TextModelSearch=d;function h(y,p,s,i,a){if(i===0)return!0;const l=p.charCodeAt(i-1);if(y.get(l)!==0||l===13||l===10)return!0;if(a>0){const f=p.charCodeAt(i);if(y.get(f)!==0)return!0}return!1}function v(y,p,s,i,a){if(i+a===s)return!0;const l=p.charCodeAt(i+a);if(y.get(l)!==0||l===13||l===10)return!0;if(a>0){const f=p.charCodeAt(i+a-1);if(y.get(f)!==0)return!0}return!1}function L(y,p,s,i,a){return h(y,p,s,i,a)&&v(y,p,s,i,a)}r.isValidMatch=L;class C{constructor(p,s){this._wordSeparators=p,this._searchRegex=s,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(p){this._searchRegex.lastIndex=p,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(p){const s=p.length;let i;do{if(this._prevMatchStartIndex+this._prevMatchLength===s||(i=this._searchRegex.exec(p),!i))return null;const a=i.index,l=i[0].length;if(a===this._prevMatchStartIndex&&l===this._prevMatchLength){if(l===0){E.getNextCodePoint(p,s,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=a,this._prevMatchLength=l,!this._wordSeparators||L(this._wordSeparators,p,s,a,l))return i}while(i);return null}}r.Searcher=C}),Y(Q[39],Z([0,1,4,38,2,7,15]),function(U,r,E,e,N,o,w){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.UnicodeTextModelHighlighter=void 0;class g{static computeUnicodeHighlights(d,h,v){const L=v?v.startLineNumber:1,C=v?v.endLineNumber:d.getLineCount(),y=new m(h),p=y.getCandidateCodePoints();let s;p==="allNonBasicAscii"?s=new RegExp("[^\\t\\n\\r\\x20-\\x7E]","g"):s=new RegExp(`${c(Array.from(p))}`,"g");const i=new e.Searcher(null,s),a=[];let l=!1,f,u=0,_=0,b=0;e:for(let A=L,P=C;A<=P;A++){const D=d.getLineContent(A),k=D.length;i.reset(0);do if(f=i.next(D),f){let R=f.index,I=f.index+f[0].length;if(R>0){const K=D.charCodeAt(R-1);N.isHighSurrogate(K)&&R--}if(I+1<k){const K=D.charCodeAt(I-1);N.isHighSurrogate(K)&&I++}const F=D.substring(R,I),O=(0,w.getWordAtText)(R+1,w.DEFAULT_WORD_REGEXP,D,0),V=y.shouldHighlightNonBasicASCII(F,O?O.word:null);if(V!==0){V===3?u++:V===2?_++:V===1?b++:(0,o.assertNever)(V);const K=1e3;if(a.length>=K){l=!0;break e}a.push(new E.Range(A,R+1,A,I+1))}}while(f)}return{ranges:a,hasMore:l,ambiguousCharacterCount:u,invisibleCharacterCount:_,nonBasicAsciiCharacterCount:b}}static computeUnicodeHighlightReason(d,h){const v=new m(h);switch(v.shouldHighlightNonBasicASCII(d,null)){case 0:return null;case 2:return{kind:1};case 3:{const C=d.codePointAt(0),y=v.ambiguousCharacters.getPrimaryConfusable(C),p=N.AmbiguousCharacters.getLocales().filter(s=>!N.AmbiguousCharacters.getInstance(new Set([...h.allowedLocales,s])).isAmbiguous(C));return{kind:0,confusableWith:String.fromCodePoint(y),notAmbiguousInLocales:p}}case 1:return{kind:2}}}}r.UnicodeTextModelHighlighter=g;function c(t,d){return`[${N.escapeRegExpCharacters(t.map(v=>String.fromCodePoint(v)).join(""))}]`}class m{constructor(d){this.options=d,this.allowedCodePoints=new Set(d.allowedCodePoints),this.ambiguousCharacters=N.AmbiguousCharacters.getInstance(new Set(d.allowedLocales))}getCandidateCodePoints(){if(this.options.nonBasicASCII)return"allNonBasicAscii";const d=new Set;if(this.options.invisibleCharacters)for(const h of N.InvisibleCharacters.codePoints)S(String.fromCodePoint(h))||d.add(h);if(this.options.ambiguousCharacters)for(const h of this.ambiguousCharacters.getConfusableCodePoints())d.add(h);for(const h of this.allowedCodePoints)d.delete(h);return d}shouldHighlightNonBasicASCII(d,h){const v=d.codePointAt(0);if(this.allowedCodePoints.has(v))return 0;if(this.options.nonBasicASCII)return 1;let L=!1,C=!1;if(h)for(let y of h){const p=y.codePointAt(0),s=N.isBasicASCII(y);L=L||s,!s&&!this.ambiguousCharacters.isAmbiguous(p)&&!N.InvisibleCharacters.isInvisibleCharacter(p)&&(C=!0)}return!L&&C?0:this.options.invisibleCharacters&&!S(d)&&N.InvisibleCharacters.isInvisibleCharacter(v)?2:this.options.ambiguousCharacters&&this.ambiguousCharacters.isAmbiguous(v)?3:0}}function S(t){return t===" "||t===`
+`||t==="	"}}),Y(Q[40],Z([0,1]),function(U,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.WrappingIndent=r.TrackedRangeStickiness=r.TextEditorCursorStyle=r.TextEditorCursorBlinkingStyle=r.SymbolTag=r.SymbolKind=r.SignatureHelpTriggerKind=r.SelectionDirection=r.ScrollbarVisibility=r.ScrollType=r.RenderMinimap=r.RenderLineNumbersType=r.PositionAffinity=r.OverviewRulerLane=r.OverlayWidgetPositionPreference=r.MouseTargetType=r.MinimapPosition=r.MarkerTag=r.MarkerSeverity=r.KeyCode=r.InlineCompletionTriggerKind=r.InlayHintKind=r.InjectedTextCursorStops=r.IndentAction=r.EndOfLineSequence=r.EndOfLinePreference=r.EditorOption=r.EditorAutoIndentStrategy=r.DocumentHighlightKind=r.DefaultEndOfLine=r.CursorChangeReason=r.ContentWidgetPositionPreference=r.CompletionTriggerKind=r.CompletionItemTag=r.CompletionItemKind=r.CompletionItemInsertTextRule=r.AccessibilitySupport=void 0;var E;(function(n){n[n.Unknown=0]="Unknown",n[n.Disabled=1]="Disabled",n[n.Enabled=2]="Enabled"})(E=r.AccessibilitySupport||(r.AccessibilitySupport={}));var e;(function(n){n[n.KeepWhitespace=1]="KeepWhitespace",n[n.InsertAsSnippet=4]="InsertAsSnippet"})(e=r.CompletionItemInsertTextRule||(r.CompletionItemInsertTextRule={}));var N;(function(n){n[n.Method=0]="Method",n[n.Function=1]="Function",n[n.Constructor=2]="Constructor",n[n.Field=3]="Field",n[n.Variable=4]="Variable",n[n.Class=5]="Class",n[n.Struct=6]="Struct",n[n.Interface=7]="Interface",n[n.Module=8]="Module",n[n.Property=9]="Property",n[n.Event=10]="Event",n[n.Operator=11]="Operator",n[n.Unit=12]="Unit",n[n.Value=13]="Value",n[n.Constant=14]="Constant",n[n.Enum=15]="Enum",n[n.EnumMember=16]="EnumMember",n[n.Keyword=17]="Keyword",n[n.Text=18]="Text",n[n.Color=19]="Color",n[n.File=20]="File",n[n.Reference=21]="Reference",n[n.Customcolor=22]="Customcolor",n[n.Folder=23]="Folder",n[n.TypeParameter=24]="TypeParameter",n[n.User=25]="User",n[n.Issue=26]="Issue",n[n.Snippet=27]="Snippet"})(N=r.CompletionItemKind||(r.CompletionItemKind={}));var o;(function(n){n[n.Deprecated=1]="Deprecated"})(o=r.CompletionItemTag||(r.CompletionItemTag={}));var w;(function(n){n[n.Invoke=0]="Invoke",n[n.TriggerCharacter=1]="TriggerCharacter",n[n.TriggerForIncompleteCompletions=2]="TriggerForIncompleteCompletions"})(w=r.CompletionTriggerKind||(r.CompletionTriggerKind={}));var g;(function(n){n[n.EXACT=0]="EXACT",n[n.ABOVE=1]="ABOVE",n[n.BELOW=2]="BELOW"})(g=r.ContentWidgetPositionPreference||(r.ContentWidgetPositionPreference={}));var c;(function(n){n[n.NotSet=0]="NotSet",n[n.ContentFlush=1]="ContentFlush",n[n.RecoverFromMarkers=2]="RecoverFromMarkers",n[n.Explicit=3]="Explicit",n[n.Paste=4]="Paste",n[n.Undo=5]="Undo",n[n.Redo=6]="Redo"})(c=r.CursorChangeReason||(r.CursorChangeReason={}));var m;(function(n){n[n.LF=1]="LF",n[n.CRLF=2]="CRLF"})(m=r.DefaultEndOfLine||(r.DefaultEndOfLine={}));var S;(function(n){n[n.Text=0]="Text",n[n.Read=1]="Read",n[n.Write=2]="Write"})(S=r.DocumentHighlightKind||(r.DocumentHighlightKind={}));var t;(function(n){n[n.None=0]="None",n[n.Keep=1]="Keep",n[n.Brackets=2]="Brackets",n[n.Advanced=3]="Advanced",n[n.Full=4]="Full"})(t=r.EditorAutoIndentStrategy||(r.EditorAutoIndentStrategy={}));var d;(function(n){n[n.acceptSuggestionOnCommitCharacter=0]="acceptSuggestionOnCommitCharacter",n[n.acceptSuggestionOnEnter=1]="acceptSuggestionOnEnter",n[n.accessibilitySupport=2]="accessibilitySupport",n[n.accessibilityPageSize=3]="accessibilityPageSize",n[n.ariaLabel=4]="ariaLabel",n[n.autoClosingBrackets=5]="autoClosingBrackets",n[n.autoClosingDelete=6]="autoClosingDelete",n[n.autoClosingOvertype=7]="autoClosingOvertype",n[n.autoClosingQuotes=8]="autoClosingQuotes",n[n.autoIndent=9]="autoIndent",n[n.automaticLayout=10]="automaticLayout",n[n.autoSurround=11]="autoSurround",n[n.bracketPairColorization=12]="bracketPairColorization",n[n.guides=13]="guides",n[n.codeLens=14]="codeLens",n[n.codeLensFontFamily=15]="codeLensFontFamily",n[n.codeLensFontSize=16]="codeLensFontSize",n[n.colorDecorators=17]="colorDecorators",n[n.columnSelection=18]="columnSelection",n[n.comments=19]="comments",n[n.contextmenu=20]="contextmenu",n[n.copyWithSyntaxHighlighting=21]="copyWithSyntaxHighlighting",n[n.cursorBlinking=22]="cursorBlinking",n[n.cursorSmoothCaretAnimation=23]="cursorSmoothCaretAnimation",n[n.cursorStyle=24]="cursorStyle",n[n.cursorSurroundingLines=25]="cursorSurroundingLines",n[n.cursorSurroundingLinesStyle=26]="cursorSurroundingLinesStyle",n[n.cursorWidth=27]="cursorWidth",n[n.disableLayerHinting=28]="disableLayerHinting",n[n.disableMonospaceOptimizations=29]="disableMonospaceOptimizations",n[n.domReadOnly=30]="domReadOnly",n[n.dragAndDrop=31]="dragAndDrop",n[n.emptySelectionClipboard=32]="emptySelectionClipboard",n[n.extraEditorClassName=33]="extraEditorClassName",n[n.fastScrollSensitivity=34]="fastScrollSensitivity",n[n.find=35]="find",n[n.fixedOverflowWidgets=36]="fixedOverflowWidgets",n[n.folding=37]="folding",n[n.foldingStrategy=38]="foldingStrategy",n[n.foldingHighlight=39]="foldingHighlight",n[n.foldingImportsByDefault=40]="foldingImportsByDefault",n[n.foldingMaximumRegions=41]="foldingMaximumRegions",n[n.unfoldOnClickAfterEndOfLine=42]="unfoldOnClickAfterEndOfLine",n[n.fontFamily=43]="fontFamily",n[n.fontInfo=44]="fontInfo",n[n.fontLigatures=45]="fontLigatures",n[n.fontSize=46]="fontSize",n[n.fontWeight=47]="fontWeight",n[n.formatOnPaste=48]="formatOnPaste",n[n.formatOnType=49]="formatOnType",n[n.glyphMargin=50]="glyphMargin",n[n.gotoLocation=51]="gotoLocation",n[n.hideCursorInOverviewRuler=52]="hideCursorInOverviewRuler",n[n.hover=53]="hover",n[n.inDiffEditor=54]="inDiffEditor",n[n.inlineSuggest=55]="inlineSuggest",n[n.letterSpacing=56]="letterSpacing",n[n.lightbulb=57]="lightbulb",n[n.lineDecorationsWidth=58]="lineDecorationsWidth",n[n.lineHeight=59]="lineHeight",n[n.lineNumbers=60]="lineNumbers",n[n.lineNumbersMinChars=61]="lineNumbersMinChars",n[n.linkedEditing=62]="linkedEditing",n[n.links=63]="links",n[n.matchBrackets=64]="matchBrackets",n[n.minimap=65]="minimap",n[n.mouseStyle=66]="mouseStyle",n[n.mouseWheelScrollSensitivity=67]="mouseWheelScrollSensitivity",n[n.mouseWheelZoom=68]="mouseWheelZoom",n[n.multiCursorMergeOverlapping=69]="multiCursorMergeOverlapping",n[n.multiCursorModifier=70]="multiCursorModifier",n[n.multiCursorPaste=71]="multiCursorPaste",n[n.occurrencesHighlight=72]="occurrencesHighlight",n[n.overviewRulerBorder=73]="overviewRulerBorder",n[n.overviewRulerLanes=74]="overviewRulerLanes",n[n.padding=75]="padding",n[n.parameterHints=76]="parameterHints",n[n.peekWidgetDefaultFocus=77]="peekWidgetDefaultFocus",n[n.definitionLinkOpensInPeek=78]="definitionLinkOpensInPeek",n[n.quickSuggestions=79]="quickSuggestions",n[n.quickSuggestionsDelay=80]="quickSuggestionsDelay",n[n.readOnly=81]="readOnly",n[n.renameOnType=82]="renameOnType",n[n.renderControlCharacters=83]="renderControlCharacters",n[n.renderFinalNewline=84]="renderFinalNewline",n[n.renderLineHighlight=85]="renderLineHighlight",n[n.renderLineHighlightOnlyWhenFocus=86]="renderLineHighlightOnlyWhenFocus",n[n.renderValidationDecorations=87]="renderValidationDecorations",n[n.renderWhitespace=88]="renderWhitespace",n[n.revealHorizontalRightPadding=89]="revealHorizontalRightPadding",n[n.roundedSelection=90]="roundedSelection",n[n.rulers=91]="rulers",n[n.scrollbar=92]="scrollbar",n[n.scrollBeyondLastColumn=93]="scrollBeyondLastColumn",n[n.scrollBeyondLastLine=94]="scrollBeyondLastLine",n[n.scrollPredominantAxis=95]="scrollPredominantAxis",n[n.selectionClipboard=96]="selectionClipboard",n[n.selectionHighlight=97]="selectionHighlight",n[n.selectOnLineNumbers=98]="selectOnLineNumbers",n[n.showFoldingControls=99]="showFoldingControls",n[n.showUnused=100]="showUnused",n[n.snippetSuggestions=101]="snippetSuggestions",n[n.smartSelect=102]="smartSelect",n[n.smoothScrolling=103]="smoothScrolling",n[n.stickyTabStops=104]="stickyTabStops",n[n.stopRenderingLineAfter=105]="stopRenderingLineAfter",n[n.suggest=106]="suggest",n[n.suggestFontSize=107]="suggestFontSize",n[n.suggestLineHeight=108]="suggestLineHeight",n[n.suggestOnTriggerCharacters=109]="suggestOnTriggerCharacters",n[n.suggestSelection=110]="suggestSelection",n[n.tabCompletion=111]="tabCompletion",n[n.tabIndex=112]="tabIndex",n[n.unicodeHighlighting=113]="unicodeHighlighting",n[n.unusualLineTerminators=114]="unusualLineTerminators",n[n.useShadowDOM=115]="useShadowDOM",n[n.useTabStops=116]="useTabStops",n[n.wordSeparators=117]="wordSeparators",n[n.wordWrap=118]="wordWrap",n[n.wordWrapBreakAfterCharacters=119]="wordWrapBreakAfterCharacters",n[n.wordWrapBreakBeforeCharacters=120]="wordWrapBreakBeforeCharacters",n[n.wordWrapColumn=121]="wordWrapColumn",n[n.wordWrapOverride1=122]="wordWrapOverride1",n[n.wordWrapOverride2=123]="wordWrapOverride2",n[n.wrappingIndent=124]="wrappingIndent",n[n.wrappingStrategy=125]="wrappingStrategy",n[n.showDeprecated=126]="showDeprecated",n[n.inlayHints=127]="inlayHints",n[n.editorClassName=128]="editorClassName",n[n.pixelRatio=129]="pixelRatio",n[n.tabFocusMode=130]="tabFocusMode",n[n.layoutInfo=131]="layoutInfo",n[n.wrappingInfo=132]="wrappingInfo"})(d=r.EditorOption||(r.EditorOption={}));var h;(function(n){n[n.TextDefined=0]="TextDefined",n[n.LF=1]="LF",n[n.CRLF=2]="CRLF"})(h=r.EndOfLinePreference||(r.EndOfLinePreference={}));var v;(function(n){n[n.LF=0]="LF",n[n.CRLF=1]="CRLF"})(v=r.EndOfLineSequence||(r.EndOfLineSequence={}));var L;(function(n){n[n.None=0]="None",n[n.Indent=1]="Indent",n[n.IndentOutdent=2]="IndentOutdent",n[n.Outdent=3]="Outdent"})(L=r.IndentAction||(r.IndentAction={}));var C;(function(n){n[n.Both=0]="Both",n[n.Right=1]="Right",n[n.Left=2]="Left",n[n.None=3]="None"})(C=r.InjectedTextCursorStops||(r.InjectedTextCursorStops={}));var y;(function(n){n[n.Type=1]="Type",n[n.Parameter=2]="Parameter"})(y=r.InlayHintKind||(r.InlayHintKind={}));var p;(function(n){n[n.Automatic=0]="Automatic",n[n.Explicit=1]="Explicit"})(p=r.InlineCompletionTriggerKind||(r.InlineCompletionTriggerKind={}));var s;(function(n){n[n.DependsOnKbLayout=-1]="DependsOnKbLayout",n[n.Unknown=0]="Unknown",n[n.Backspace=1]="Backspace",n[n.Tab=2]="Tab",n[n.Enter=3]="Enter",n[n.Shift=4]="Shift",n[n.Ctrl=5]="Ctrl",n[n.Alt=6]="Alt",n[n.PauseBreak=7]="PauseBreak",n[n.CapsLock=8]="CapsLock",n[n.Escape=9]="Escape",n[n.Space=10]="Space",n[n.PageUp=11]="PageUp",n[n.PageDown=12]="PageDown",n[n.End=13]="End",n[n.Home=14]="Home",n[n.LeftArrow=15]="LeftArrow",n[n.UpArrow=16]="UpArrow",n[n.RightArrow=17]="RightArrow",n[n.DownArrow=18]="DownArrow",n[n.Insert=19]="Insert",n[n.Delete=20]="Delete",n[n.Digit0=21]="Digit0",n[n.Digit1=22]="Digit1",n[n.Digit2=23]="Digit2",n[n.Digit3=24]="Digit3",n[n.Digit4=25]="Digit4",n[n.Digit5=26]="Digit5",n[n.Digit6=27]="Digit6",n[n.Digit7=28]="Digit7",n[n.Digit8=29]="Digit8",n[n.Digit9=30]="Digit9",n[n.KeyA=31]="KeyA",n[n.KeyB=32]="KeyB",n[n.KeyC=33]="KeyC",n[n.KeyD=34]="KeyD",n[n.KeyE=35]="KeyE",n[n.KeyF=36]="KeyF",n[n.KeyG=37]="KeyG",n[n.KeyH=38]="KeyH",n[n.KeyI=39]="KeyI",n[n.KeyJ=40]="KeyJ",n[n.KeyK=41]="KeyK",n[n.KeyL=42]="KeyL",n[n.KeyM=43]="KeyM",n[n.KeyN=44]="KeyN",n[n.KeyO=45]="KeyO",n[n.KeyP=46]="KeyP",n[n.KeyQ=47]="KeyQ",n[n.KeyR=48]="KeyR",n[n.KeyS=49]="KeyS",n[n.KeyT=50]="KeyT",n[n.KeyU=51]="KeyU",n[n.KeyV=52]="KeyV",n[n.KeyW=53]="KeyW",n[n.KeyX=54]="KeyX",n[n.KeyY=55]="KeyY",n[n.KeyZ=56]="KeyZ",n[n.Meta=57]="Meta",n[n.ContextMenu=58]="ContextMenu",n[n.F1=59]="F1",n[n.F2=60]="F2",n[n.F3=61]="F3",n[n.F4=62]="F4",n[n.F5=63]="F5",n[n.F6=64]="F6",n[n.F7=65]="F7",n[n.F8=66]="F8",n[n.F9=67]="F9",n[n.F10=68]="F10",n[n.F11=69]="F11",n[n.F12=70]="F12",n[n.F13=71]="F13",n[n.F14=72]="F14",n[n.F15=73]="F15",n[n.F16=74]="F16",n[n.F17=75]="F17",n[n.F18=76]="F18",n[n.F19=77]="F19",n[n.NumLock=78]="NumLock",n[n.ScrollLock=79]="ScrollLock",n[n.Semicolon=80]="Semicolon",n[n.Equal=81]="Equal",n[n.Comma=82]="Comma",n[n.Minus=83]="Minus",n[n.Period=84]="Period",n[n.Slash=85]="Slash",n[n.Backquote=86]="Backquote",n[n.BracketLeft=87]="BracketLeft",n[n.Backslash=88]="Backslash",n[n.BracketRight=89]="BracketRight",n[n.Quote=90]="Quote",n[n.OEM_8=91]="OEM_8",n[n.IntlBackslash=92]="IntlBackslash",n[n.Numpad0=93]="Numpad0",n[n.Numpad1=94]="Numpad1",n[n.Numpad2=95]="Numpad2",n[n.Numpad3=96]="Numpad3",n[n.Numpad4=97]="Numpad4",n[n.Numpad5=98]="Numpad5",n[n.Numpad6=99]="Numpad6",n[n.Numpad7=100]="Numpad7",n[n.Numpad8=101]="Numpad8",n[n.Numpad9=102]="Numpad9",n[n.NumpadMultiply=103]="NumpadMultiply",n[n.NumpadAdd=104]="NumpadAdd",n[n.NUMPAD_SEPARATOR=105]="NUMPAD_SEPARATOR",n[n.NumpadSubtract=106]="NumpadSubtract",n[n.NumpadDecimal=107]="NumpadDecimal",n[n.NumpadDivide=108]="NumpadDivide",n[n.KEY_IN_COMPOSITION=109]="KEY_IN_COMPOSITION",n[n.ABNT_C1=110]="ABNT_C1",n[n.ABNT_C2=111]="ABNT_C2",n[n.AudioVolumeMute=112]="AudioVolumeMute",n[n.AudioVolumeUp=113]="AudioVolumeUp",n[n.AudioVolumeDown=114]="AudioVolumeDown",n[n.BrowserSearch=115]="BrowserSearch",n[n.BrowserHome=116]="BrowserHome",n[n.BrowserBack=117]="BrowserBack",n[n.BrowserForward=118]="BrowserForward",n[n.MediaTrackNext=119]="MediaTrackNext",n[n.MediaTrackPrevious=120]="MediaTrackPrevious",n[n.MediaStop=121]="MediaStop",n[n.MediaPlayPause=122]="MediaPlayPause",n[n.LaunchMediaPlayer=123]="LaunchMediaPlayer",n[n.LaunchMail=124]="LaunchMail",n[n.LaunchApp2=125]="LaunchApp2",n[n.Clear=126]="Clear",n[n.MAX_VALUE=127]="MAX_VALUE"})(s=r.KeyCode||(r.KeyCode={}));var i;(function(n){n[n.Hint=1]="Hint",n[n.Info=2]="Info",n[n.Warning=4]="Warning",n[n.Error=8]="Error"})(i=r.MarkerSeverity||(r.MarkerSeverity={}));var a;(function(n){n[n.Unnecessary=1]="Unnecessary",n[n.Deprecated=2]="Deprecated"})(a=r.MarkerTag||(r.MarkerTag={}));var l;(function(n){n[n.Inline=1]="Inline",n[n.Gutter=2]="Gutter"})(l=r.MinimapPosition||(r.MinimapPosition={}));var f;(function(n){n[n.UNKNOWN=0]="UNKNOWN",n[n.TEXTAREA=1]="TEXTAREA",n[n.GUTTER_GLYPH_MARGIN=2]="GUTTER_GLYPH_MARGIN",n[n.GUTTER_LINE_NUMBERS=3]="GUTTER_LINE_NUMBERS",n[n.GUTTER_LINE_DECORATIONS=4]="GUTTER_LINE_DECORATIONS",n[n.GUTTER_VIEW_ZONE=5]="GUTTER_VIEW_ZONE",n[n.CONTENT_TEXT=6]="CONTENT_TEXT",n[n.CONTENT_EMPTY=7]="CONTENT_EMPTY",n[n.CONTENT_VIEW_ZONE=8]="CONTENT_VIEW_ZONE",n[n.CONTENT_WIDGET=9]="CONTENT_WIDGET",n[n.OVERVIEW_RULER=10]="OVERVIEW_RULER",n[n.SCROLLBAR=11]="SCROLLBAR",n[n.OVERLAY_WIDGET=12]="OVERLAY_WIDGET",n[n.OUTSIDE_EDITOR=13]="OUTSIDE_EDITOR"})(f=r.MouseTargetType||(r.MouseTargetType={}));var u;(function(n){n[n.TOP_RIGHT_CORNER=0]="TOP_RIGHT_CORNER",n[n.BOTTOM_RIGHT_CORNER=1]="BOTTOM_RIGHT_CORNER",n[n.TOP_CENTER=2]="TOP_CENTER"})(u=r.OverlayWidgetPositionPreference||(r.OverlayWidgetPositionPreference={}));var _;(function(n){n[n.Left=1]="Left",n[n.Center=2]="Center",n[n.Right=4]="Right",n[n.Full=7]="Full"})(_=r.OverviewRulerLane||(r.OverviewRulerLane={}));var b;(function(n){n[n.Left=0]="Left",n[n.Right=1]="Right",n[n.None=2]="None"})(b=r.PositionAffinity||(r.PositionAffinity={}));var A;(function(n){n[n.Off=0]="Off",n[n.On=1]="On",n[n.Relative=2]="Relative",n[n.Interval=3]="Interval",n[n.Custom=4]="Custom"})(A=r.RenderLineNumbersType||(r.RenderLineNumbersType={}));var P;(function(n){n[n.None=0]="None",n[n.Text=1]="Text",n[n.Blocks=2]="Blocks"})(P=r.RenderMinimap||(r.RenderMinimap={}));var D;(function(n){n[n.Smooth=0]="Smooth",n[n.Immediate=1]="Immediate"})(D=r.ScrollType||(r.ScrollType={}));var k;(function(n){n[n.Auto=1]="Auto",n[n.Hidden=2]="Hidden",n[n.Visible=3]="Visible"})(k=r.ScrollbarVisibility||(r.ScrollbarVisibility={}));var R;(function(n){n[n.LTR=0]="LTR",n[n.RTL=1]="RTL"})(R=r.SelectionDirection||(r.SelectionDirection={}));var I;(function(n){n[n.Invoke=1]="Invoke",n[n.TriggerCharacter=2]="TriggerCharacter",n[n.ContentChange=3]="ContentChange"})(I=r.SignatureHelpTriggerKind||(r.SignatureHelpTriggerKind={}));var F;(function(n){n[n.File=0]="File",n[n.Module=1]="Module",n[n.Namespace=2]="Namespace",n[n.Package=3]="Package",n[n.Class=4]="Class",n[n.Method=5]="Method",n[n.Property=6]="Property",n[n.Field=7]="Field",n[n.Constructor=8]="Constructor",n[n.Enum=9]="Enum",n[n.Interface=10]="Interface",n[n.Function=11]="Function",n[n.Variable=12]="Variable",n[n.Constant=13]="Constant",n[n.String=14]="String",n[n.Number=15]="Number",n[n.Boolean=16]="Boolean",n[n.Array=17]="Array",n[n.Object=18]="Object",n[n.Key=19]="Key",n[n.Null=20]="Null",n[n.EnumMember=21]="EnumMember",n[n.Struct=22]="Struct",n[n.Event=23]="Event",n[n.Operator=24]="Operator",n[n.TypeParameter=25]="TypeParameter"})(F=r.SymbolKind||(r.SymbolKind={}));var O;(function(n){n[n.Deprecated=1]="Deprecated"})(O=r.SymbolTag||(r.SymbolTag={}));var V;(function(n){n[n.Hidden=0]="Hidden",n[n.Blink=1]="Blink",n[n.Smooth=2]="Smooth",n[n.Phase=3]="Phase",n[n.Expand=4]="Expand",n[n.Solid=5]="Solid"})(V=r.TextEditorCursorBlinkingStyle||(r.TextEditorCursorBlinkingStyle={}));var K;(function(n){n[n.Line=1]="Line",n[n.Block=2]="Block",n[n.Underline=3]="Underline",n[n.LineThin=4]="LineThin",n[n.BlockOutline=5]="BlockOutline",n[n.UnderlineThin=6]="UnderlineThin"})(K=r.TextEditorCursorStyle||(r.TextEditorCursorStyle={}));var $;(function(n){n[n.AlwaysGrowsWhenTypingAtEdges=0]="AlwaysGrowsWhenTypingAtEdges",n[n.NeverGrowsWhenTypingAtEdges=1]="NeverGrowsWhenTypingAtEdges",n[n.GrowsOnlyWhenTypingBefore=2]="GrowsOnlyWhenTypingBefore",n[n.GrowsOnlyWhenTypingAfter=3]="GrowsOnlyWhenTypingAfter"})($=r.TrackedRangeStickiness||(r.TrackedRangeStickiness={}));var z;(function(n){n[n.None=0]="None",n[n.Same=1]="Same",n[n.Indent=2]="Indent",n[n.DeepIndent=3]="DeepIndent"})(z=r.WrappingIndent||(r.WrappingIndent={}))});var oe=this&&this.__awaiter||function(U,r,E,e){function N(o){return o instanceof E?o:new E(function(w){w(o)})}return new(E||(E=Promise))(function(o,w){function g(S){try{m(e.next(S))}catch(t){w(t)}}function c(S){try{m(e.throw(S))}catch(t){w(t)}}function m(S){S.done?o(S.value):N(S.value).then(g,c)}m((e=e.apply(U,r||[])).next())})};Y(Q[41],Z([0,1,6,8]),function(U,r,E,e){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.TokenizationRegistry=void 0;class N{constructor(){this._map=new Map,this._factories=new Map,this._onDidChange=new E.Emitter,this.onDidChange=this._onDidChange.event,this._colorMap=null}fire(g){this._onDidChange.fire({changedLanguages:g,changedColorMap:!1})}register(g,c){return this._map.set(g,c),this.fire([g]),(0,e.toDisposable)(()=>{this._map.get(g)===c&&(this._map.delete(g),this.fire([g]))})}registerFactory(g,c){var m;(m=this._factories.get(g))===null||m===void 0||m.dispose();const S=new o(this,g,c);return this._factories.set(g,S),(0,e.toDisposable)(()=>{const t=this._factories.get(g);!t||t!==S||(this._factories.delete(g),t.dispose())})}getOrCreate(g){return oe(this,void 0,void 0,function*(){const c=this.get(g);if(c)return c;const m=this._factories.get(g);return!m||m.isResolved?null:(yield m.resolve(),this.get(g))})}get(g){return this._map.get(g)||null}isResolved(g){if(this.get(g))return!0;const m=this._factories.get(g);return!!(!m||m.isResolved)}setColorMap(g){this._colorMap=g,this._onDidChange.fire({changedLanguages:Array.from(this._map.keys()),changedColorMap:!0})}getColorMap(){return this._colorMap}getDefaultBackground(){return this._colorMap&&this._colorMap.length>2?this._colorMap[2]:null}}r.TokenizationRegistry=N;class o extends e.Disposable{constructor(g,c,m){super();this._registry=g,this._languageId=c,this._factory=m,this._isDisposed=!1,this._resolvePromise=null,this._isResolved=!1}get isResolved(){return this._isResolved}dispose(){this._isDisposed=!0,super.dispose()}resolve(){return oe(this,void 0,void 0,function*(){return this._resolvePromise||(this._resolvePromise=this._create()),this._resolvePromise})}_create(){return oe(this,void 0,void 0,function*(){const g=yield Promise.resolve(this._factory.createTokenizationSupport());this._isResolved=!0,g&&!this._isDisposed&&this._register(this._registry.register(this._languageId,g))})}}}),Y(Q[42],Z([0,1,9,4,41,18]),function(U,r,E,e,N,o){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.TokenizationRegistry=r.InlayHintKind=r.Command=r.FoldingRangeKind=r.SymbolKinds=r.isLocationLink=r.DocumentHighlightKind=r.SignatureHelpTriggerKind=r.InlineCompletionTriggerKind=r.CompletionItemKinds=r.EncodedTokenizationResult=r.TokenizationResult=r.Token=r.TokenMetadata=void 0;class w{static getLanguageId(i){return(i&255)>>>0}static getTokenType(i){return(i&768)>>>8}static getFontStyle(i){return(i&15360)>>>10}static getForeground(i){return(i&8372224)>>>14}static getBackground(i){return(i&4286578688)>>>23}static getClassNameFromMetadata(i){const a=this.getForeground(i);let l="mtk"+a;const f=this.getFontStyle(i);return f&1&&(l+=" mtki"),f&2&&(l+=" mtkb"),f&4&&(l+=" mtku"),f&8&&(l+=" mtks"),l}static getInlineStyleFromMetadata(i,a){const l=this.getForeground(i),f=this.getFontStyle(i);let u=`color: ${a[l]};`;f&1&&(u+="font-style: italic;"),f&2&&(u+="font-weight: bold;");let _="";return f&4&&(_+=" underline"),f&8&&(_+=" line-through"),_&&(u+=`text-decoration:${_};`),u}static getPresentationFromMetadata(i){const a=this.getForeground(i),l=this.getFontStyle(i);return{foreground:a,italic:Boolean(l&1),bold:Boolean(l&2),underline:Boolean(l&4),strikethrough:Boolean(l&8)}}}r.TokenMetadata=w;class g{constructor(i,a,l){this._tokenBrand=void 0,this.offset=i,this.type=a,this.language=l}toString(){return"("+this.offset+", "+this.type+")"}}r.Token=g;class c{constructor(i,a){this._tokenizationResultBrand=void 0,this.tokens=i,this.endState=a}}r.TokenizationResult=c;class m{constructor(i,a){this._encodedTokenizationResultBrand=void 0,this.tokens=i,this.endState=a}}r.EncodedTokenizationResult=m;var S;(function(s){const i=new Map;i.set(0,o.Codicon.symbolMethod),i.set(1,o.Codicon.symbolFunction),i.set(2,o.Codicon.symbolConstructor),i.set(3,o.Codicon.symbolField),i.set(4,o.Codicon.symbolVariable),i.set(5,o.Codicon.symbolClass),i.set(6,o.Codicon.symbolStruct),i.set(7,o.Codicon.symbolInterface),i.set(8,o.Codicon.symbolModule),i.set(9,o.Codicon.symbolProperty),i.set(10,o.Codicon.symbolEvent),i.set(11,o.Codicon.symbolOperator),i.set(12,o.Codicon.symbolUnit),i.set(13,o.Codicon.symbolValue),i.set(15,o.Codicon.symbolEnum),i.set(14,o.Codicon.symbolConstant),i.set(15,o.Codicon.symbolEnum),i.set(16,o.Codicon.symbolEnumMember),i.set(17,o.Codicon.symbolKeyword),i.set(27,o.Codicon.symbolSnippet),i.set(18,o.Codicon.symbolText),i.set(19,o.Codicon.symbolColor),i.set(20,o.Codicon.symbolFile),i.set(21,o.Codicon.symbolReference),i.set(22,o.Codicon.symbolCustomColor),i.set(23,o.Codicon.symbolFolder),i.set(24,o.Codicon.symbolTypeParameter),i.set(25,o.Codicon.account),i.set(26,o.Codicon.issues);function a(u){let _=i.get(u);return _||(console.info("No codicon found for CompletionItemKind "+u),_=o.Codicon.symbolProperty),_}s.toIcon=a;const l=new Map;l.set("method",0),l.set("function",1),l.set("constructor",2),l.set("field",3),l.set("variable",4),l.set("class",5),l.set("struct",6),l.set("interface",7),l.set("module",8),l.set("property",9),l.set("event",10),l.set("operator",11),l.set("unit",12),l.set("value",13),l.set("constant",14),l.set("enum",15),l.set("enum-member",16),l.set("enumMember",16),l.set("keyword",17),l.set("snippet",27),l.set("text",18),l.set("color",19),l.set("file",20),l.set("reference",21),l.set("customcolor",22),l.set("folder",23),l.set("type-parameter",24),l.set("typeParameter",24),l.set("account",25),l.set("issue",26);function f(u,_){let b=l.get(u);return typeof b=="undefined"&&!_&&(b=9),b}s.fromString=f})(S=r.CompletionItemKinds||(r.CompletionItemKinds={}));var t;(function(s){s[s.Automatic=0]="Automatic",s[s.Explicit=1]="Explicit"})(t=r.InlineCompletionTriggerKind||(r.InlineCompletionTriggerKind={}));var d;(function(s){s[s.Invoke=1]="Invoke",s[s.TriggerCharacter=2]="TriggerCharacter",s[s.ContentChange=3]="ContentChange"})(d=r.SignatureHelpTriggerKind||(r.SignatureHelpTriggerKind={}));var h;(function(s){s[s.Text=0]="Text",s[s.Read=1]="Read",s[s.Write=2]="Write"})(h=r.DocumentHighlightKind||(r.DocumentHighlightKind={}));function v(s){return s&&E.URI.isUri(s.uri)&&e.Range.isIRange(s.range)&&(e.Range.isIRange(s.originSelectionRange)||e.Range.isIRange(s.targetSelectionRange))}r.isLocationLink=v;var L;(function(s){const i=new Map;i.set(0,o.Codicon.symbolFile),i.set(1,o.Codicon.symbolModule),i.set(2,o.Codicon.symbolNamespace),i.set(3,o.Codicon.symbolPackage),i.set(4,o.Codicon.symbolClass),i.set(5,o.Codicon.symbolMethod),i.set(6,o.Codicon.symbolProperty),i.set(7,o.Codicon.symbolField),i.set(8,o.Codicon.symbolConstructor),i.set(9,o.Codicon.symbolEnum),i.set(10,o.Codicon.symbolInterface),i.set(11,o.Codicon.symbolFunction),i.set(12,o.Codicon.symbolVariable),i.set(13,o.Codicon.symbolConstant),i.set(14,o.Codicon.symbolString),i.set(15,o.Codicon.symbolNumber),i.set(16,o.Codicon.symbolBoolean),i.set(17,o.Codicon.symbolArray),i.set(18,o.Codicon.symbolObject),i.set(19,o.Codicon.symbolKey),i.set(20,o.Codicon.symbolNull),i.set(21,o.Codicon.symbolEnumMember),i.set(22,o.Codicon.symbolStruct),i.set(23,o.Codicon.symbolEvent),i.set(24,o.Codicon.symbolOperator),i.set(25,o.Codicon.symbolTypeParameter);function a(l){let f=i.get(l);return f||(console.info("No codicon found for SymbolKind "+l),f=o.Codicon.symbolProperty),f}s.toIcon=a})(L=r.SymbolKinds||(r.SymbolKinds={}));class C{constructor(i){this.value=i}}r.FoldingRangeKind=C,C.Comment=new C("comment"),C.Imports=new C("imports"),C.Region=new C("region");var y;(function(s){function i(a){return!a||typeof a!="object"?!1:typeof a.id=="string"&&typeof a.title=="string"}s.is=i})(y=r.Command||(r.Command={}));var p;(function(s){s[s.Type=1]="Type",s[s.Parameter=2]="Parameter"})(p=r.InlayHintKind||(r.InlayHintKind={})),r.TokenizationRegistry=new N.TokenizationRegistry}),Y(Q[43],Z([0,1,27,6,22,9,3,4,30,42,40]),function(U,r,E,e,N,o,w,g,c,m,S){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.createMonacoBaseAPI=r.KeyMod=void 0;class t{static chord(v,L){return(0,N.KeyChord)(v,L)}}r.KeyMod=t,t.CtrlCmd=2048,t.Shift=1024,t.Alt=512,t.WinCtrl=256;function d(){return{editor:void 0,languages:void 0,CancellationTokenSource:E.CancellationTokenSource,Emitter:e.Emitter,KeyCode:S.KeyCode,KeyMod:t,Position:w.Position,Range:g.Range,Selection:c.Selection,SelectionDirection:S.SelectionDirection,MarkerSeverity:S.MarkerSeverity,MarkerTag:S.MarkerTag,Uri:o.URI,Token:m.Token}}r.createMonacoBaseAPI=d}),Y(Q[45],Z([0,1,12,5,9,3,4,32,37,15,33,34,43,7,11,39]),function(U,r,E,e,N,o,w,g,c,m,S,t,d,h,v,L){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.create=r.EditorSimpleWorker=r.MirrorModel=void 0;class C extends c.MirrorTextModel{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}getLinesContent(){return this._lines.slice(0)}getLineCount(){return this._lines.length}getLineContent(i){return this._lines[i-1]}getWordAtPosition(i,a){const l=(0,m.getWordAtText)(i.column,(0,m.ensureValidWordDefinition)(a),this._lines[i.lineNumber-1],0);return l?new w.Range(i.lineNumber,l.startColumn,i.lineNumber,l.endColumn):null}words(i){const a=this._lines,l=this._wordenize.bind(this);let f=0,u="",_=0,b=[];return{*[Symbol.iterator](){for(;;)if(_<b.length){const A=u.substring(b[_].start,b[_].end);_+=1,yield A}else if(f<a.length)u=a[f],b=l(u,i),_=0,f+=1;else break}}}getLineWords(i,a){const l=this._lines[i-1],f=this._wordenize(l,a),u=[];for(const _ of f)u.push({word:l.substring(_.start,_.end),startColumn:_.start+1,endColumn:_.end+1});return u}_wordenize(i,a){const l=[];let f;for(a.lastIndex=0;(f=a.exec(i))&&f[0].length!==0;)l.push({start:f.index,end:f.index+f[0].length});return l}getValueInRange(i){if(i=this._validateRange(i),i.startLineNumber===i.endLineNumber)return this._lines[i.startLineNumber-1].substring(i.startColumn-1,i.endColumn-1);const a=this._eol,l=i.startLineNumber-1,f=i.endLineNumber-1,u=[];u.push(this._lines[l].substring(i.startColumn-1));for(let _=l+1;_<f;_++)u.push(this._lines[_]);return u.push(this._lines[f].substring(0,i.endColumn-1)),u.join(a)}offsetAt(i){return i=this._validatePosition(i),this._ensureLineStarts(),this._lineStarts.getPrefixSum(i.lineNumber-2)+(i.column-1)}positionAt(i){i=Math.floor(i),i=Math.max(0,i),this._ensureLineStarts();const a=this._lineStarts.getIndexOf(i),l=this._lines[a.index].length;return{lineNumber:1+a.index,column:1+Math.min(a.remainder,l)}}_validateRange(i){const a=this._validatePosition({lineNumber:i.startLineNumber,column:i.startColumn}),l=this._validatePosition({lineNumber:i.endLineNumber,column:i.endColumn});return a.lineNumber!==i.startLineNumber||a.column!==i.startColumn||l.lineNumber!==i.endLineNumber||l.column!==i.endColumn?{startLineNumber:a.lineNumber,startColumn:a.column,endLineNumber:l.lineNumber,endColumn:l.column}:i}_validatePosition(i){if(!o.Position.isIPosition(i))throw new Error("bad position");let{lineNumber:a,column:l}=i,f=!1;if(a<1)a=1,l=1,f=!0;else if(a>this._lines.length)a=this._lines.length,l=this._lines[a-1].length+1,f=!0;else{const u=this._lines[a-1].length+1;l<1?(l=1,f=!0):l>u&&(l=u,f=!0)}return f?{lineNumber:a,column:l}:i}}r.MirrorModel=C;class y{constructor(i,a){this._host=i,this._models=Object.create(null),this._foreignModuleFactory=a,this._foreignModule=null}dispose(){this._models=Object.create(null)}_getModel(i){return this._models[i]}_getModels(){const i=[];return Object.keys(this._models).forEach(a=>i.push(this._models[a])),i}acceptNewModel(i){this._models[i.url]=new C(N.URI.parse(i.url),i.lines,i.EOL,i.versionId)}acceptModelChanged(i,a){if(!this._models[i])return;this._models[i].onEvents(a)}acceptRemovedModel(i){!this._models[i]||delete this._models[i]}computeUnicodeHighlights(i,a,l){return oe(this,void 0,void 0,function*(){const f=this._getModel(i);return f?L.UnicodeTextModelHighlighter.computeUnicodeHighlights(f,a,l):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}})}computeDiff(i,a,l,f){return oe(this,void 0,void 0,function*(){const u=this._getModel(i),_=this._getModel(a);if(!u||!_)return null;const b=u.getLinesContent(),A=_.getLinesContent(),D=new g.DiffComputer(b,A,{shouldComputeCharChanges:!0,shouldPostProcessCharChanges:!0,shouldIgnoreTrimWhitespace:l,shouldMakePrettyDiff:!0,maxComputationTime:f}).computeDiff(),k=D.changes.length>0?!1:this._modelsAreIdentical(u,_);return{quitEarly:D.quitEarly,identical:k,changes:D.changes}})}_modelsAreIdentical(i,a){const l=i.getLineCount(),f=a.getLineCount();if(l!==f)return!1;for(let u=1;u<=l;u++){const _=i.getLineContent(u),b=a.getLineContent(u);if(_!==b)return!1}return!0}computeMoreMinimalEdits(i,a){return oe(this,void 0,void 0,function*(){const l=this._getModel(i);if(!l)return a;const f=[];let u;a=a.slice(0).sort((_,b)=>{if(_.range&&b.range)return w.Range.compareRangesUsingStarts(_.range,b.range);const A=_.range?0:1,P=b.range?0:1;return A-P});for(let{range:_,text:b,eol:A}of a){if(typeof A=="number"&&(u=A),w.Range.isEmpty(_)&&!b)continue;const P=l.getValueInRange(_);if(b=b.replace(/\r\n|\n|\r/g,l.eol),P===b)continue;if(Math.max(b.length,P.length)>y._diffLimit){f.push({range:_,text:b});continue}const D=(0,E.stringDiff)(P,b,!1),k=l.offsetAt(w.Range.lift(_).getStartPosition());for(const R of D){const I=l.positionAt(k+R.originalStart),F=l.positionAt(k+R.originalStart+R.originalLength),O={text:b.substr(R.modifiedStart,R.modifiedLength),range:{startLineNumber:I.lineNumber,startColumn:I.column,endLineNumber:F.lineNumber,endColumn:F.column}};l.getValueInRange(O.range)!==O.text&&f.push(O)}}return typeof u=="number"&&f.push({eol:u,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),f})}computeLinks(i){return oe(this,void 0,void 0,function*(){const a=this._getModel(i);return a?(0,S.computeLinks)(a):null})}textualSuggest(i,a,l,f){return oe(this,void 0,void 0,function*(){const u=new v.StopWatch(!0),_=new RegExp(l,f),b=new Set;e:for(let A of i){const P=this._getModel(A);if(!!P){for(let D of P.words(_))if(!(D===a||!isNaN(Number(D)))&&(b.add(D),b.size>y._suggestionsLimit))break e}}return{words:Array.from(b),duration:u.elapsed()}})}computeWordRanges(i,a,l,f){return oe(this,void 0,void 0,function*(){const u=this._getModel(i);if(!u)return Object.create(null);const _=new RegExp(l,f),b=Object.create(null);for(let A=a.startLineNumber;A<a.endLineNumber;A++){const P=u.getLineWords(A,_);for(const D of P){if(!isNaN(Number(D.word)))continue;let k=b[D.word];k||(k=[],b[D.word]=k),k.push({startLineNumber:A,startColumn:D.startColumn,endLineNumber:A,endColumn:D.endColumn})}}return b})}navigateValueSet(i,a,l,f,u){return oe(this,void 0,void 0,function*(){const _=this._getModel(i);if(!_)return null;const b=new RegExp(f,u);a.startColumn===a.endColumn&&(a={startLineNumber:a.startLineNumber,startColumn:a.startColumn,endLineNumber:a.endLineNumber,endColumn:a.endColumn+1});const A=_.getValueInRange(a),P=_.getWordAtPosition({lineNumber:a.startLineNumber,column:a.startColumn},b);if(!P)return null;const D=_.getValueInRange(P);return t.BasicInplaceReplace.INSTANCE.navigateValueSet(a,A,P,D,l)})}loadForeignModule(i,a,l){const f=(b,A)=>this._host.fhr(b,A),_={host:h.createProxyObject(l,f),getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(_,a),Promise.resolve(h.getAllMethodNames(this._foreignModule))):new Promise((b,A)=>{U([i],P=>{this._foreignModule=P.create(_,a),b(h.getAllMethodNames(this._foreignModule))},A)})}fmr(i,a){if(!this._foreignModule||typeof this._foreignModule[i]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+i));try{return Promise.resolve(this._foreignModule[i].apply(this._foreignModule,a))}catch(l){return Promise.reject(l)}}}r.EditorSimpleWorker=y,y._diffLimit=1e5,y._suggestionsLimit=1e4;function p(s){return new y(s,null)}r.create=p,typeof importScripts=="function"&&(e.globals.monaco=(0,d.createMonacoBaseAPI)())}),function(){var U,r;const E=self.MonacoEnvironment,e=E&&E.baseUrl?E.baseUrl:"../../../",N=typeof((U=self.trustedTypes)===null||U===void 0?void 0:U.createPolicy)=="function"?(r=self.trustedTypes)===null||r===void 0?void 0:r.createPolicy("amdLoader",{createScriptURL:S=>S,createScript:(S,...t)=>{const d=t.slice(0,-1).join(","),h=t.pop().toString();return`(function anonymous(${d}) {
+${h}
+})`}}):void 0;function o(){try{return(N?self.eval(N.createScript("","true")):new Function("true")).call(self),!0}catch{return!1}}function w(){return new Promise((S,t)=>{if(typeof self.define=="function"&&self.define.amd)return S();const d=e+"vs/loader.js";if(!(/^((http:)|(https:)|(file:))/.test(d)&&d.substring(0,self.origin.length)!==self.origin)&&o()){fetch(d).then(v=>{if(v.status!==200)throw new Error(v.statusText);return v.text()}).then(v=>{v=`${v}
+//# sourceURL=${d}`,(N?self.eval(N.createScript("",v)):new Function(v)).call(self),S()}).then(void 0,t);return}N?importScripts(N.createScriptURL(d)):importScripts(d),S()})}const g=function(S){w().then(()=>{require.config({baseUrl:e,catchError:!0,trustedTypesPolicy:N,amdModulesPattern:/^vs\//}),require([S],function(t){setTimeout(function(){let d=t.create((h,v)=>{self.postMessage(h,v)},null);for(self.onmessage=h=>d.onmessage(h.data,h.ports);m.length>0;)self.onmessage(m.shift())},0)})})};let c=!0,m=[];self.onmessage=S=>{if(!c){m.push(S);return}c=!1,g(S.data)}}()}).call(this);
+
+//# sourceMappingURL=../../../../min-maps/vs/base/worker/workerMain.js.map
\ No newline at end of file
diff --git a/examples/tour-assets/monaco/basic-languages/python/python.js b/examples/tour-assets/monaco/basic-languages/python/python.js
new file mode 100644
index 0000000000000000000000000000000000000000..1b187b93349f2fb9e4fe9e8a36814d8a5174021a
--- /dev/null
+++ b/examples/tour-assets/monaco/basic-languages/python/python.js
@@ -0,0 +1,10 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.33.0(4b1abad427e58dbedc1215d99a0902ffc885fcd4)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
+define("vs/basic-languages/python/python", ["require","require"],(require)=>{
+var moduleExports=(()=>{var d=Object.create;var o=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var _=Object.getOwnPropertyNames;var u=Object.getPrototypeOf,f=Object.prototype.hasOwnProperty;var l=e=>o(e,"__esModule",{value:!0});var b=(e=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(e,{get:(n,t)=>(typeof require!="undefined"?require:n)[t]}):e)(function(e){if(typeof require!="undefined")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var y=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports),h=(e,n)=>{for(var t in n)o(e,t,{get:n[t],enumerable:!0})},i=(e,n,t,a)=>{if(n&&typeof n=="object"||typeof n=="function")for(let r of _(n))!f.call(e,r)&&(t||r!=="default")&&o(e,r,{get:()=>n[r],enumerable:!(a=m(n,r))||a.enumerable});return e},c=(e,n)=>i(l(o(e!=null?d(u(e)):{},"default",!n&&e&&e.__esModule?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e),x=(e=>(n,t)=>e&&e.get(n)||(t=i(l({}),n,1),e&&e.set(n,t),t))(typeof WeakMap!="undefined"?new WeakMap:0);var g=y((v,p)=>{var w=c(b("vs/editor/editor.api"));p.exports=w});var D={};h(D,{conf:()=>k,language:()=>$});var s={};i(s,c(g()));var k={comments:{lineComment:"#",blockComment:["'''","'''"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],onEnterRules:[{beforeText:new RegExp("^\\s*(?:def|class|for|if|elif|else|while|try|with|finally|except|async).*?:\\s*$"),action:{indentAction:s.languages.IndentAction.Indent}}],folding:{offSide:!0,markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}},$={defaultToken:"",tokenPostfix:".python",keywords:["False","None","True","and","as","assert","async","await","break","class","continue","def","del","elif","else","except","exec","finally","for","from","global","if","import","in","is","lambda","nonlocal","not","or","pass","print","raise","return","try","while","with","yield","int","float","long","complex","hex","abs","all","any","apply","basestring","bin","bool","buffer","bytearray","callable","chr","classmethod","cmp","coerce","compile","complex","delattr","dict","dir","divmod","enumerate","eval","execfile","file","filter","format","frozenset","getattr","globals","hasattr","hash","help","id","input","intern","isinstance","issubclass","iter","len","locals","list","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","reversed","range","raw_input","reduce","reload","repr","reversed","round","self","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","unichr","unicode","vars","xrange","zip","__dict__","__methods__","__members__","__class__","__bases__","__name__","__mro__","__subclasses__","__init__","__import__"],brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"}],tokenizer:{root:[{include:"@whitespace"},{include:"@numbers"},{include:"@strings"},[/[,:;]/,"delimiter"],[/[{}\[\]()]/,"@brackets"],[/@[a-zA-Z_]\w*/,"tag"],[/[a-zA-Z_]\w*/,{cases:{"@keywords":"keyword","@default":"identifier"}}]],whitespace:[[/\s+/,"white"],[/(^#.*$)/,"comment"],[/'''/,"string","@endDocString"],[/"""/,"string","@endDblDocString"]],endDocString:[[/[^']+/,"string"],[/\\'/,"string"],[/'''/,"string","@popall"],[/'/,"string"]],endDblDocString:[[/[^"]+/,"string"],[/\\"/,"string"],[/"""/,"string","@popall"],[/"/,"string"]],numbers:[[/-?0x([abcdef]|[ABCDEF]|\d)+[lL]?/,"number.hex"],[/-?(\d*\.)?\d+([eE][+\-]?\d+)?[jJ]?[lL]?/,"number"]],strings:[[/'$/,"string.escape","@popall"],[/'/,"string.escape","@stringBody"],[/"$/,"string.escape","@popall"],[/"/,"string.escape","@dblStringBody"]],stringBody:[[/[^\\']+$/,"string","@popall"],[/[^\\']+/,"string"],[/\\./,"string"],[/'/,"string.escape","@popall"],[/\\$/,"string"]],dblStringBody:[[/[^\\"]+$/,"string","@popall"],[/[^\\"]+/,"string"],[/\\./,"string"],[/"/,"string.escape","@popall"],[/\\$/,"string"]]}};return x(D);})();
+return moduleExports;
+});
diff --git a/examples/tour-assets/monaco/editor/editor.main.css b/examples/tour-assets/monaco/editor/editor.main.css
new file mode 100644
index 0000000000000000000000000000000000000000..8ae93d13ba39416d28c7e25b7e9f3653ca31e68a
--- /dev/null
+++ b/examples/tour-assets/monaco/editor/editor.main.css
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.33.0(c722ca6c7eed3d7987c0d5c3df5c45f6b15e77d1)
+ * Released under the MIT license
+ * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
+ *-----------------------------------------------------------*/.monaco-action-bar{white-space:nowrap;height:100%}.monaco-action-bar .actions-container{display:flex;margin:0 auto;padding:0;height:100%;width:100%;align-items:center}.monaco-action-bar.vertical .actions-container{display:inline-block}.monaco-action-bar .action-item{display:block;align-items:center;justify-content:center;cursor:pointer;position:relative}.monaco-action-bar .action-item.disabled{cursor:default}.monaco-action-bar .action-item .codicon,.monaco-action-bar .action-item .icon{display:block}.monaco-action-bar .action-item .codicon{display:flex;align-items:center;width:16px;height:16px}.monaco-action-bar .action-label{font-size:11px;padding:3px;border-radius:5px}.monaco-action-bar .action-item.disabled .action-label,.monaco-action-bar .action-item.disabled .action-label:before,.monaco-action-bar .action-item.disabled .action-label:hover{opacity:.4}.monaco-action-bar.vertical{text-align:left}.monaco-action-bar.vertical .action-item{display:block}.monaco-action-bar.vertical .action-label.separator{display:block;border-bottom:1px solid #bbb;padding-top:1px;margin-left:.8em;margin-right:.8em}.monaco-action-bar .action-item .action-label.separator{width:1px;height:16px;margin:5px 4px!important;cursor:default;min-width:1px;padding:0;background-color:#bbb}.secondary-actions .monaco-action-bar .action-label{margin-left:6px}.monaco-action-bar .action-item.select-container{overflow:hidden;flex:1;max-width:170px;min-width:60px;display:flex;align-items:center;justify-content:center;margin-right:10px}.monaco-action-bar .action-item.action-dropdown-item{display:flex}.monaco-action-bar .action-item.action-dropdown-item>.action-label{margin-right:1px}.monaco-aria-container{position:absolute;left:-999em}.monaco-text-button{box-sizing:border-box;display:flex;width:100%;padding:4px;text-align:center;cursor:pointer;justify-content:center;align-items:center}.monaco-text-button:focus{outline-offset:2px!important}.monaco-text-button:hover{text-decoration:none!important}.monaco-button.disabled,.monaco-button.disabled:focus{opacity:.4!important;cursor:default}.monaco-text-button>.codicon{margin:0 .2em;color:inherit!important}.monaco-button-dropdown{display:flex;cursor:pointer}.monaco-button-dropdown>.monaco-dropdown-button{margin-left:1px}.monaco-description-button{flex-direction:column}.monaco-description-button .monaco-button-label{font-weight:500}.monaco-description-button .monaco-button-description{font-style:italic}.monaco-description-button .monaco-button-description,.monaco-description-button .monaco-button-label{display:flex;justify-content:center;align-items:center}.monaco-description-button .monaco-button-description>.codicon,.monaco-description-button .monaco-button-label>.codicon{margin:0 .2em;color:inherit!important}.monaco-custom-checkbox{margin-left:2px;float:left;cursor:pointer;overflow:hidden;width:20px;height:20px;border-radius:3px;border:1px solid transparent;padding:1px;box-sizing:border-box;user-select:none;-webkit-user-select:none;-ms-user-select:none}.monaco-custom-checkbox:hover{background-color:var(--vscode-inputOption-hoverBackground)}.hc-black .monaco-custom-checkbox:hover{border:1px dashed var(--vscode-focusBorder)}.hc-black .monaco-custom-checkbox,.hc-black .monaco-custom-checkbox:hover{background:none}.monaco-custom-checkbox.monaco-simple-checkbox{height:18px;width:18px;border:1px solid transparent;border-radius:3px;margin-right:9px;margin-left:0;padding:0;opacity:1;background-size:16px!important}.monaco-custom-checkbox.monaco-simple-checkbox:not(.checked):before{visibility:hidden}@font-face{font-family:codicon;font-display:block;src:url(../base/browser/ui/codicons/codicon/codicon.ttf) format("truetype")}.codicon[class*=codicon-]{font:normal normal normal 16px/1 codicon;display:inline-block;text-decoration:none;text-rendering:auto;text-align:center;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;user-select:none;-webkit-user-select:none;-ms-user-select:none}.codicon-wrench-subaction{opacity:.5}@keyframes codicon-spin{to{transform:rotate(1turn)}}.codicon-gear.codicon-modifier-spin,.codicon-loading.codicon-modifier-spin,.codicon-notebook-state-executing.codicon-modifier-spin,.codicon-sync.codicon-modifier-spin{animation:codicon-spin 1.5s steps(30) infinite}.codicon-modifier-disabled{opacity:.4}.codicon-loading,.codicon-tree-item-loading:before{animation-duration:1s!important;animation-timing-function:cubic-bezier(.53,.21,.29,.67)!important}.context-view{position:absolute;z-index:2500}.context-view.fixed{all:initial;font-family:inherit;font-size:13px;position:fixed;z-index:2500;color:inherit}.monaco-count-badge{padding:3px 6px;border-radius:11px;font-size:11px;min-width:18px;min-height:18px;line-height:11px;font-weight:400;text-align:center;display:inline-block;box-sizing:border-box}.monaco-count-badge.long{padding:2px 3px;border-radius:2px;min-height:auto;line-height:normal}.monaco-dropdown{height:100%;padding:0}.monaco-dropdown>.dropdown-label{cursor:pointer;height:100%;display:flex;align-items:center;justify-content:center}.monaco-dropdown>.dropdown-label>.action-label.disabled{cursor:default}.monaco-dropdown-with-primary{display:flex!important;flex-direction:row;border-radius:5px}.monaco-dropdown-with-primary>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;padding-left:0;padding-right:0;line-height:16px;margin-left:-3px}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{display:block;background-size:16px;background-position:50%;background-repeat:no-repeat}.monaco-findInput{position:relative}.monaco-findInput .monaco-inputbox{font-size:13px;width:100%}.monaco-findInput>.controls{position:absolute;top:3px;right:2px}.vs .monaco-findInput.disabled{background-color:#e1e1e1}.vs-dark .monaco-findInput.disabled{background-color:#333}.monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-0 .1s linear 0s}.monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-1 .1s linear 0s}.hc-black .monaco-findInput.highlight-0 .controls,.vs-dark .monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-dark-0 .1s linear 0s}.hc-black .monaco-findInput.highlight-1 .controls,.vs-dark .monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-dark-1 .1s linear 0s}@keyframes monaco-findInput-highlight-0{0%{background:rgba(253,255,0,.8)}to{background:transparent}}@keyframes monaco-findInput-highlight-1{0%{background:rgba(253,255,0,.8)}99%{background:transparent}}@keyframes monaco-findInput-highlight-dark-0{0%{background:hsla(0,0%,100%,.44)}to{background:transparent}}@keyframes monaco-findInput-highlight-dark-1{0%{background:hsla(0,0%,100%,.44)}99%{background:transparent}}.monaco-hover{cursor:default;position:absolute;overflow:hidden;z-index:50;user-select:text;-webkit-user-select:text;-ms-user-select:text;box-sizing:initial;animation:fadein .1s linear;line-height:1.5em}.monaco-hover.hidden{display:none}.monaco-hover a:hover{cursor:pointer}.monaco-hover .hover-contents:not(.html-hover-contents){padding:4px 8px}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents){max-width:500px;word-wrap:break-word}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents) hr{min-width:100%}.monaco-hover .code,.monaco-hover p,.monaco-hover ul{margin:8px 0}.monaco-hover code{font-family:var(--monaco-monospace-font)}.monaco-hover hr{box-sizing:border-box;border-left:0;border-right:0;margin:4px -8px -4px;height:1px}.monaco-hover .code:first-child,.monaco-hover p:first-child,.monaco-hover ul:first-child{margin-top:0}.monaco-hover .code:last-child,.monaco-hover p:last-child,.monaco-hover ul:last-child{margin-bottom:0}.monaco-hover ol,.monaco-hover ul{padding-left:20px}.monaco-hover li>p{margin-bottom:0}.monaco-hover li>ul{margin-top:0}.monaco-hover code{border-radius:3px;padding:0 .4em}.monaco-hover .monaco-tokenized-source{white-space:pre-wrap}.monaco-hover .hover-row.status-bar{font-size:12px;line-height:22px}.monaco-hover .hover-row.status-bar .actions{display:flex;padding:0 8px}.monaco-hover .hover-row.status-bar .actions .action-container{margin-right:16px;cursor:pointer}.monaco-hover .hover-row.status-bar .actions .action-container .action .icon{padding-right:4px}.monaco-hover .markdown-hover .hover-contents .codicon{color:inherit;font-size:inherit;vertical-align:middle}.monaco-hover .hover-contents a.code-link,.monaco-hover .hover-contents a.code-link:hover{color:inherit}.monaco-hover .hover-contents a.code-link:before{content:"("}.monaco-hover .hover-contents a.code-link:after{content:")"}.monaco-hover .hover-contents a.code-link>span{text-decoration:underline;border-bottom:1px solid transparent;text-underline-position:under}.monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents):not(.html-hover-contents) span{margin-bottom:4px;display:inline-block}.monaco-hover-content .action-container a{-webkit-user-select:none;user-select:none}.monaco-hover-content .action-container.disabled{pointer-events:none;opacity:.4;cursor:default}.monaco-icon-label{display:flex;overflow:hidden;text-overflow:ellipsis}.monaco-icon-label:before{background-size:16px;background-position:0;background-repeat:no-repeat;padding-right:6px;width:16px;height:22px;line-height:inherit!important;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top;flex-shrink:0}.monaco-icon-label>.monaco-icon-label-container{min-width:0;overflow:hidden;text-overflow:ellipsis;flex:1}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name{color:inherit;white-space:pre}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name>.label-separator{margin:0 2px;opacity:.5}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{opacity:.7;margin-left:.5em;font-size:.9em;white-space:pre}.monaco-icon-label.nowrap>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{white-space:nowrap}.vs .monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{opacity:.95}.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-description-container>.label-description,.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-name-container>.label-name{font-style:italic}.monaco-icon-label.deprecated{text-decoration:line-through;opacity:.66}.monaco-icon-label.italic:after{font-style:italic}.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-description-container>.label-description,.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-name-container>.label-name{text-decoration:line-through}.monaco-icon-label:after{opacity:.75;font-size:90%;font-weight:600;margin:auto 16px 0 5px;text-align:center}.monaco-list:focus .selected .monaco-icon-label,.monaco-list:focus .selected .monaco-icon-label:after{color:inherit!important}.monaco-list-row.focused.selected .label-description,.monaco-list-row.selected .label-description{opacity:.8}.monaco-inputbox{position:relative;display:block;padding:0;box-sizing:border-box;font-size:inherit}.monaco-inputbox.idle{border:1px solid transparent}.monaco-inputbox>.ibwrapper>.input,.monaco-inputbox>.ibwrapper>.mirror{padding:4px}.monaco-inputbox>.ibwrapper{position:relative;width:100%;height:100%}.monaco-inputbox>.ibwrapper>.input{display:inline-block;box-sizing:border-box;width:100%;height:100%;line-height:inherit;border:none;font-family:inherit;font-size:inherit;resize:none;color:inherit}.monaco-inputbox>.ibwrapper>input{text-overflow:ellipsis}.monaco-inputbox>.ibwrapper>textarea.input{display:block;-ms-overflow-style:none;scrollbar-width:none;outline:none}.monaco-inputbox>.ibwrapper>textarea.input::-webkit-scrollbar{display:none}.monaco-inputbox>.ibwrapper>textarea.input.empty{white-space:nowrap}.monaco-inputbox>.ibwrapper>.mirror{position:absolute;display:inline-block;width:100%;top:0;left:0;box-sizing:border-box;white-space:pre-wrap;visibility:hidden;word-wrap:break-word}.monaco-inputbox-container{text-align:right}.monaco-inputbox-container .monaco-inputbox-message{display:inline-block;overflow:hidden;text-align:left;width:100%;box-sizing:border-box;padding:.4em;font-size:12px;line-height:17px;margin-top:-1px;word-wrap:break-word}.monaco-inputbox .monaco-action-bar{position:absolute;right:2px;top:4px}.monaco-inputbox .monaco-action-bar .action-item{margin-left:2px}.monaco-inputbox .monaco-action-bar .action-item .codicon{background-repeat:no-repeat;width:16px;height:16px}.monaco-keybinding{display:flex;align-items:center;line-height:10px}.monaco-keybinding>.monaco-keybinding-key{display:inline-block;border-style:solid;border-width:1px;border-radius:3px;vertical-align:middle;font-size:11px;padding:3px 5px;margin:0 2px}.monaco-keybinding>.monaco-keybinding-key:first-child{margin-left:0}.monaco-keybinding>.monaco-keybinding-key:last-child{margin-right:0}.monaco-keybinding>.monaco-keybinding-key-separator{display:inline-block}.monaco-keybinding>.monaco-keybinding-key-chord-separator{width:6px}.monaco-list{position:relative;height:100%;width:100%;white-space:nowrap}.monaco-list.mouse-support{user-select:none;-webkit-user-select:none;-ms-user-select:none}.monaco-list>.monaco-scrollable-element{height:100%}.monaco-list-rows{position:relative;width:100%;height:100%}.monaco-list.horizontal-scrolling .monaco-list-rows{width:auto;min-width:100%}.monaco-list-row{position:absolute;box-sizing:border-box;overflow:hidden;width:100%}.monaco-list.mouse-support .monaco-list-row{cursor:pointer;touch-action:none}.monaco-list-row.scrolling{display:none!important}.monaco-list.element-focused,.monaco-list.selection-multiple,.monaco-list.selection-single{outline:0!important}.monaco-drag-image{display:inline-block;padding:1px 7px;border-radius:10px;font-size:12px;position:absolute;z-index:1000}.monaco-list-type-filter{display:flex;align-items:center;position:absolute;border-radius:2px;padding:0 3px;max-width:calc(100% - 10px);text-overflow:ellipsis;overflow:hidden;text-align:right;box-sizing:border-box;cursor:all-scroll;font-size:13px;line-height:18px;height:20px;z-index:1;top:4px}.monaco-list-type-filter.dragging{transition:top .2s,left .2s}.monaco-list-type-filter.ne{right:4px}.monaco-list-type-filter.nw{left:4px}.monaco-list-type-filter>.controls{display:flex;align-items:center;box-sizing:border-box;transition:width .2s;width:0}.monaco-list-type-filter.dragging>.controls,.monaco-list-type-filter:hover>.controls{width:36px}.monaco-list-type-filter>.controls>*{border:none;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;background:none;width:16px;height:16px;flex-shrink:0;margin:0;padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer}.monaco-list-type-filter>.controls>.filter{margin-left:4px}.monaco-list-type-filter-message{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;padding:40px 1em 1em;text-align:center;white-space:normal;opacity:.7;pointer-events:none}.monaco-list-type-filter-message:empty{display:none}.monaco-list-type-filter{cursor:grab}.monaco-list-type-filter.dragging{cursor:grabbing}.monaco-mouse-cursor-text{cursor:text}.monaco-progress-container{width:100%;height:5px;overflow:hidden}.monaco-progress-container .progress-bit{width:2%;height:5px;position:absolute;left:0;display:none}.monaco-progress-container.active .progress-bit{display:inherit}.monaco-progress-container.discrete .progress-bit{left:0;transition:width .1s linear}.monaco-progress-container.discrete.done .progress-bit{width:100%}.monaco-progress-container.infinite .progress-bit{animation-name:progress;animation-duration:4s;animation-iteration-count:infinite;transform:translateZ(0);animation-timing-function:linear}.monaco-progress-container.infinite.infinite-long-running .progress-bit{animation-timing-function:steps(100)}@keyframes progress{0%{transform:translateX(0) scaleX(1)}50%{transform:translateX(2500%) scaleX(3)}to{transform:translateX(4900%) scaleX(1)}}:root{--sash-size:4px}.monaco-sash{position:absolute;z-index:35;touch-action:none}.monaco-sash.disabled{pointer-events:none}.monaco-sash.mac.vertical{cursor:col-resize}.monaco-sash.vertical.minimum{cursor:e-resize}.monaco-sash.vertical.maximum{cursor:w-resize}.monaco-sash.mac.horizontal{cursor:row-resize}.monaco-sash.horizontal.minimum{cursor:s-resize}.monaco-sash.horizontal.maximum{cursor:n-resize}.monaco-sash.disabled{cursor:default!important;pointer-events:none!important}.monaco-sash.vertical{cursor:ew-resize;top:0;width:var(--sash-size);height:100%}.monaco-sash.horizontal{cursor:ns-resize;left:0;width:100%;height:var(--sash-size)}.monaco-sash:not(.disabled)>.orthogonal-drag-handle{content:" ";height:calc(var(--sash-size)*2);width:calc(var(--sash-size)*2);z-index:100;display:block;cursor:all-scroll;position:absolute}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.start,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.end{cursor:nwse-resize}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.end,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.start{cursor:nesw-resize}.monaco-sash.vertical>.orthogonal-drag-handle.start{left:calc(var(--sash-size)*-0.5);top:calc(var(--sash-size)*-1)}.monaco-sash.vertical>.orthogonal-drag-handle.end{left:calc(var(--sash-size)*-0.5);bottom:calc(var(--sash-size)*-1)}.monaco-sash.horizontal>.orthogonal-drag-handle.start{top:calc(var(--sash-size)*-0.5);left:calc(var(--sash-size)*-1)}.monaco-sash.horizontal>.orthogonal-drag-handle.end{top:calc(var(--sash-size)*-0.5);right:calc(var(--sash-size)*-1)}.monaco-sash:before{content:"";pointer-events:none;position:absolute;width:100%;height:100%;transition:background-color .1s ease-out;background:transparent}.monaco-sash.vertical:before{width:var(--sash-hover-size);left:calc(50% - var(--sash-hover-size)/2)}.monaco-sash.horizontal:before{height:var(--sash-hover-size);top:calc(50% - var(--sash-hover-size)/2)}.pointer-events-disabled{pointer-events:none!important}.monaco-sash.debug{background:#0ff}.monaco-sash.debug.disabled{background:rgba(0,255,255,.2)}.monaco-sash.debug:not(.disabled)>.orthogonal-drag-handle{background:red}.monaco-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.monaco-scrollable-element>.visible{opacity:1;background:transparent;transition:opacity .1s linear}.monaco-scrollable-element>.invisible{opacity:0;pointer-events:none}.monaco-scrollable-element>.invisible.fade{transition:opacity .8s linear}.monaco-scrollable-element>.shadow{position:absolute;display:none}.monaco-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%}.monaco-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px}.monaco-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.monaco-split-view2{position:relative;width:100%;height:100%}.monaco-split-view2>.sash-container{position:absolute;width:100%;height:100%;pointer-events:none}.monaco-split-view2>.sash-container>.monaco-sash{pointer-events:auto}.monaco-split-view2>.monaco-scrollable-element{width:100%;height:100%}.monaco-split-view2>.monaco-scrollable-element>.split-view-container{width:100%;height:100%;white-space:nowrap;position:relative}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view{white-space:normal;position:absolute}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view:not(.visible){display:none}.monaco-split-view2.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view{width:100%}.monaco-split-view2.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view{height:100%}.monaco-split-view2.separator-border>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{content:" ";position:absolute;top:0;left:0;z-index:5;pointer-events:none;background-color:var(--separator-border)}.monaco-split-view2.separator-border.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{height:100%;width:1px}.monaco-split-view2.separator-border.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{height:1px;width:100%}.monaco-table{display:flex;flex-direction:column;position:relative;height:100%;width:100%;white-space:nowrap}.monaco-table>.monaco-split-view2{border-bottom:1px solid transparent}.monaco-table>.monaco-list{flex:1}.monaco-table-tr{display:flex;height:100%}.monaco-table-th{width:100%;height:100%;font-weight:700;overflow:hidden;text-overflow:ellipsis}.monaco-table-td,.monaco-table-th{box-sizing:border-box;flex-shrink:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{content:"";position:absolute;left:calc(var(--sash-size)/2);width:0;border-left:1px solid transparent}.monaco-table>.monaco-split-view2,.monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{transition:border-color .2s ease-out}.monaco-tl-row{display:flex;height:100%;align-items:center;position:relative}.monaco-tl-indent{height:100%;position:absolute;top:0;left:16px;pointer-events:none}.hide-arrows .monaco-tl-indent{left:12px}.monaco-tl-indent>.indent-guide{display:inline-block;box-sizing:border-box;height:100%;border-left:1px solid transparent;transition:border-color .1s linear}.monaco-tl-contents,.monaco-tl-twistie{height:100%}.monaco-tl-twistie{font-size:10px;text-align:right;padding-right:6px;flex-shrink:0;width:16px;display:flex!important;align-items:center;justify-content:center;transform:translateX(3px)}.monaco-tl-contents{flex:1;overflow:hidden}.monaco-tl-twistie:before{border-radius:20px}.monaco-tl-twistie.collapsed:before{transform:rotate(-90deg)}.monaco-tl-twistie.codicon-tree-item-loading:before{animation:codicon-spin 1.25s steps(30) infinite}.quick-input-widget{position:absolute;width:600px;z-index:2000;padding:0 1px 1px;left:50%;margin-left:-300px}.quick-input-titlebar{display:flex;align-items:center}.quick-input-left-action-bar{display:flex;margin-left:4px;flex:1}.quick-input-title{padding:3px 0;text-align:center;text-overflow:ellipsis;overflow:hidden}.quick-input-right-action-bar{display:flex;margin-right:4px;flex:1}.quick-input-right-action-bar>.actions-container{justify-content:flex-end}.quick-input-titlebar .monaco-action-bar .action-label.codicon{background-position:50%;background-repeat:no-repeat;padding:2px}.quick-input-description{margin:6px}.quick-input-header .quick-input-description{margin:4px 2px}.quick-input-header{display:flex;padding:6px 6px 0;margin-bottom:-2px}.quick-input-widget.hidden-input .quick-input-header{padding:0;margin-bottom:0}.quick-input-and-message{display:flex;flex-direction:column;flex-grow:1;min-width:0;position:relative}.quick-input-check-all{align-self:center;margin:0}.quick-input-filter{flex-grow:1;display:flex;position:relative}.quick-input-box{flex-grow:1}.quick-input-widget.show-checkboxes .quick-input-box,.quick-input-widget.show-checkboxes .quick-input-message{margin-left:5px}.quick-input-visible-count{position:absolute;left:-10000px}.quick-input-count{align-self:center;position:absolute;right:4px;display:flex;align-items:center}.quick-input-count .monaco-count-badge{vertical-align:middle;padding:2px 4px;border-radius:2px;min-height:auto;line-height:normal}.quick-input-action{margin-left:6px}.quick-input-action .monaco-text-button{font-size:11px;padding:0 6px;display:flex;height:27.5px;align-items:center}.quick-input-message{margin-top:-1px;padding:5px;overflow-wrap:break-word}.quick-input-message>.codicon{margin:0 .2em;vertical-align:text-bottom}.quick-input-progress.monaco-progress-container{position:relative}.quick-input-progress.monaco-progress-container,.quick-input-progress.monaco-progress-container .progress-bit{height:2px}.quick-input-list{line-height:22px;margin-top:6px}.quick-input-widget.hidden-input .quick-input-list{margin-top:0}.quick-input-list .monaco-list{overflow:hidden;max-height:440px}.quick-input-list .quick-input-list-entry{box-sizing:border-box;overflow:hidden;display:flex;height:100%;padding:0 6px}.quick-input-list .quick-input-list-entry.quick-input-list-separator-border{border-top-width:1px;border-top-style:solid}.quick-input-list .monaco-list-row[data-index="0"] .quick-input-list-entry.quick-input-list-separator-border{border-top-style:none}.quick-input-list .quick-input-list-label{overflow:hidden;display:flex;height:100%;flex:1}.quick-input-list .quick-input-list-checkbox{align-self:center;margin:0}.quick-input-list .quick-input-list-rows{overflow:hidden;text-overflow:ellipsis;display:flex;flex-direction:column;height:100%;flex:1;margin-left:5px}.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-rows{margin-left:10px}.quick-input-widget .quick-input-list .quick-input-list-checkbox{display:none}.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-checkbox{display:inline}.quick-input-list .quick-input-list-rows>.quick-input-list-row{display:flex;align-items:center}.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label,.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label .monaco-icon-label-container>.monaco-icon-name-container{flex:1}.quick-input-list .quick-input-list-rows>.quick-input-list-row .codicon[class*=codicon-]{vertical-align:text-bottom}.quick-input-list .quick-input-list-rows .monaco-highlighted-label span{opacity:1}.quick-input-list .quick-input-list-entry .quick-input-list-entry-keybinding{margin-right:8px}.quick-input-list .quick-input-list-label-meta{opacity:.7;line-height:normal;text-overflow:ellipsis;overflow:hidden}.quick-input-list .monaco-highlighted-label .highlight{font-weight:700}.quick-input-list .quick-input-list-entry .quick-input-list-separator{margin-right:8px}.quick-input-list .quick-input-list-entry-action-bar{display:flex;flex:0;overflow:visible}.quick-input-list .quick-input-list-entry-action-bar .action-label{display:none}.quick-input-list .quick-input-list-entry-action-bar .action-label.codicon{margin-right:4px;padding:0 2px 2px}.quick-input-list .quick-input-list-entry-action-bar{margin-top:1px;margin-right:4px}.quick-input-list .monaco-list-row.focused .quick-input-list-entry-action-bar .action-label,.quick-input-list .quick-input-list-entry .quick-input-list-entry-action-bar .action-label.always-visible,.quick-input-list .quick-input-list-entry:hover .quick-input-list-entry-action-bar .action-label{display:flex}.quick-input-list .monaco-list-row.focused .monaco-keybinding-key,.quick-input-list .monaco-list-row.focused .quick-input-list-entry .quick-input-list-separator{color:inherit}.quick-input-list .monaco-list-row.focused .monaco-keybinding-key{background:none}.monaco-editor .inputarea{min-width:0;min-height:0;margin:0;padding:0;position:absolute;outline:none!important;resize:none;border:none;overflow:hidden;color:transparent;background-color:transparent}.monaco-editor .inputarea.ime-input{z-index:10}.monaco-editor .margin-view-overlays .current-line,.monaco-editor .view-overlays .current-line{display:block;position:absolute;left:0;top:0;box-sizing:border-box}.monaco-editor .margin-view-overlays .current-line.current-line-margin.current-line-margin-both{border-right:0}.monaco-editor .lines-content .cdr{position:absolute}.monaco-editor .glyph-margin{position:absolute;top:0}.monaco-editor .margin-view-overlays .cgmr{position:absolute;display:flex;align-items:center;justify-content:center}.monaco-editor .lines-content .core-guide{position:absolute;box-sizing:border-box}.monaco-editor .margin-view-overlays .line-numbers{font-variant-numeric:tabular-nums;position:absolute;text-align:right;display:inline-block;vertical-align:middle;box-sizing:border-box;cursor:default;height:100%}.monaco-editor .relative-current-line-number{text-align:left;display:inline-block;width:100%}.monaco-editor .margin-view-overlays .line-numbers.lh-odd{margin-top:1px}.mtkcontrol{color:#fff!important;background:#960000!important}.monaco-editor.no-user-select .lines-content,.monaco-editor.no-user-select .view-line,.monaco-editor.no-user-select .view-lines{user-select:none;-webkit-user-select:none;-ms-user-select:none}.monaco-editor .view-lines{white-space:nowrap}.monaco-editor .view-line{position:absolute;width:100%}.monaco-editor .mtkz{display:inline-block}.monaco-editor .lines-decorations{position:absolute;top:0;background:#fff}.monaco-editor .margin-view-overlays .cldr{position:absolute;height:100%}.monaco-editor .margin-view-overlays .cmdr{position:absolute;left:0;width:100%;height:100%}.monaco-editor .minimap.slider-mouseover .minimap-slider{opacity:0;transition:opacity .1s linear}.monaco-editor .minimap.slider-mouseover .minimap-slider.active,.monaco-editor .minimap.slider-mouseover:hover .minimap-slider{opacity:1}.monaco-editor .minimap-shadow-hidden{position:absolute;width:0}.monaco-editor .minimap-shadow-visible{position:absolute;left:-6px;width:6px}.monaco-editor.no-minimap-shadow .minimap-shadow-visible{position:absolute;left:-1px;width:1px}.monaco-editor .overlayWidgets{position:absolute;top:0;left:0}.monaco-editor .view-ruler{position:absolute;top:0}.monaco-editor .scroll-decoration{position:absolute;top:0;left:0;height:6px}.monaco-editor .lines-content .cslr{position:absolute}.monaco-editor .top-left-radius{border-top-left-radius:3px}.monaco-editor .bottom-left-radius{border-bottom-left-radius:3px}.monaco-editor .top-right-radius{border-top-right-radius:3px}.monaco-editor .bottom-right-radius{border-bottom-right-radius:3px}.monaco-editor.hc-black .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-black .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-black .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-black .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor .cursors-layer{position:absolute;top:0}.monaco-editor .cursors-layer>.cursor{position:absolute;overflow:hidden}.monaco-editor .cursors-layer.cursor-smooth-caret-animation>.cursor{transition:all 80ms}.monaco-editor .cursors-layer.cursor-block-outline-style>.cursor{box-sizing:border-box;background:transparent!important;border-style:solid;border-width:1px}.monaco-editor .cursors-layer.cursor-underline-style>.cursor{border-bottom-width:2px;border-bottom-style:solid;background:transparent!important;box-sizing:border-box}.monaco-editor .cursors-layer.cursor-underline-thin-style>.cursor{border-bottom-width:1px;border-bottom-style:solid;background:transparent!important;box-sizing:border-box}@keyframes monaco-cursor-smooth{0%,20%{opacity:1}60%,to{opacity:0}}@keyframes monaco-cursor-phase{0%,20%{opacity:1}90%,to{opacity:0}}@keyframes monaco-cursor-expand{0%,20%{transform:scaleY(1)}80%,to{transform:scaleY(0)}}.cursor-smooth{animation:monaco-cursor-smooth .5s ease-in-out 0s 20 alternate}.cursor-phase{animation:monaco-cursor-phase .5s ease-in-out 0s 20 alternate}.cursor-expand>.cursor{animation:monaco-cursor-expand .5s ease-in-out 0s 20 alternate}.monaco-diff-editor .diffOverview{z-index:9}.monaco-diff-editor .diffOverview .diffViewport{z-index:10}.monaco-diff-editor.vs .diffOverview{background:rgba(0,0,0,.03)}.monaco-diff-editor.vs-dark .diffOverview{background:hsla(0,0%,100%,.01)}.monaco-scrollable-element.modified-in-monaco-diff-editor.vs-dark .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.vs .scrollbar{background:transparent}.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-black .scrollbar{background:none}.monaco-scrollable-element.modified-in-monaco-diff-editor .slider{z-index:10}.modified-in-monaco-diff-editor .slider.active{background:hsla(0,0%,67.1%,.4)}.modified-in-monaco-diff-editor.hc-black .slider.active{background:none}.monaco-diff-editor .delete-sign,.monaco-diff-editor .insert-sign,.monaco-editor .delete-sign,.monaco-editor .insert-sign{font-size:11px!important;opacity:.7!important;display:flex!important;align-items:center}.monaco-diff-editor.hc-black .delete-sign,.monaco-diff-editor.hc-black .insert-sign,.monaco-editor.hc-black .delete-sign,.monaco-editor.hc-black .insert-sign{opacity:1}.monaco-editor .inline-added-margin-view-zone,.monaco-editor .inline-deleted-margin-view-zone{text-align:right}.monaco-editor .view-zones .view-lines .view-line span{display:inline-block}.monaco-editor .margin-view-zones .lightbulb-glyph:hover{cursor:pointer}.monaco-diff-editor .diff-review-line-number{text-align:right;display:inline-block}.monaco-diff-editor .diff-review{position:absolute;user-select:none;-webkit-user-select:none;-ms-user-select:none}.monaco-diff-editor .diff-review-summary{padding-left:10px}.monaco-diff-editor .diff-review-shadow{position:absolute}.monaco-diff-editor .diff-review-row{white-space:pre}.monaco-diff-editor .diff-review-table{display:table;min-width:100%}.monaco-diff-editor .diff-review-row{display:table-row;width:100%}.monaco-diff-editor .diff-review-spacer{display:inline-block;width:10px;vertical-align:middle}.monaco-diff-editor .diff-review-spacer>.codicon{font-size:9px!important}.monaco-diff-editor .diff-review-actions{display:inline-block;position:absolute;right:10px;top:2px}.monaco-diff-editor .diff-review-actions .action-label{width:16px;height:16px;margin:2px 0}::-ms-clear{display:none}.monaco-editor .editor-widget input{color:inherit}.monaco-editor{position:relative;overflow:visible;-webkit-text-size-adjust:100%}.monaco-editor .overflow-guard{position:relative;overflow:hidden}.monaco-editor .view-overlays{position:absolute;top:0}.monaco-editor .selection-anchor{background-color:#007acc;width:2px!important}.monaco-editor .bracket-match{box-sizing:border-box}.monaco-editor .contentWidgets .codicon-light-bulb,.monaco-editor .contentWidgets .codicon-lightbulb-autofix{display:flex;align-items:center;justify-content:center}.monaco-editor .contentWidgets .codicon-light-bulb:hover,.monaco-editor .contentWidgets .codicon-lightbulb-autofix:hover{cursor:pointer}.monaco-editor .codelens-decoration{overflow:hidden;display:inline-block;text-overflow:ellipsis;white-space:nowrap;color:var(--vscode-editorCodeLens-foreground)}.monaco-editor .codelens-decoration>a,.monaco-editor .codelens-decoration>span{user-select:none;-webkit-user-select:none;-ms-user-select:none;white-space:nowrap;vertical-align:sub}.monaco-editor .codelens-decoration>a{text-decoration:none}.monaco-editor .codelens-decoration>a:hover{cursor:pointer}.monaco-editor .codelens-decoration>a:hover,.monaco-editor .codelens-decoration>a:hover .codicon{color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .codelens-decoration .codicon{vertical-align:middle;color:currentColor!important;color:var(--vscode-editorCodeLens-foreground)}.monaco-editor .codelens-decoration>a:hover .codicon:before{cursor:pointer}@keyframes fadein{0%{opacity:0;visibility:visible}to{opacity:1}}.monaco-editor .codelens-decoration.fadein{animation:fadein .1s linear}.colorpicker-widget{height:190px;user-select:none;-webkit-user-select:none;-ms-user-select:none}.colorpicker-color-decoration{border:.1em solid #000;box-sizing:border-box;margin:.1em .2em 0;width:.8em;height:.8em;line-height:.8em;display:inline-block;cursor:pointer}.hc-black .colorpicker-color-decoration,.vs-dark .colorpicker-color-decoration{border:.1em solid #eee}.colorpicker-header{display:flex;height:24px;position:relative;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=);background-size:9px 9px;image-rendering:pixelated}.colorpicker-header .picked-color{width:216px;display:flex;align-items:center;justify-content:center;line-height:24px;cursor:pointer;color:#fff;flex:1}.colorpicker-header .picked-color .codicon{color:inherit;font-size:14px;position:absolute;left:8px}.colorpicker-header .picked-color.light{color:#000}.colorpicker-header .original-color{width:74px;z-index:inherit;cursor:pointer}.colorpicker-body{display:flex;padding:8px;position:relative}.colorpicker-body .saturation-wrap{overflow:hidden;height:150px;position:relative;min-width:220px;flex:1}.colorpicker-body .saturation-box{height:150px;position:absolute}.colorpicker-body .saturation-selection{width:9px;height:9px;margin:-5px 0 0 -5px;border:1px solid #fff;border-radius:100%;box-shadow:0 0 2px rgba(0,0,0,.8);position:absolute}.colorpicker-body .strip{width:25px;height:150px}.colorpicker-body .hue-strip{position:relative;margin-left:8px;cursor:grab;background:linear-gradient(180deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.colorpicker-body .opacity-strip{position:relative;margin-left:8px;cursor:grab;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=);background-size:9px 9px;image-rendering:pixelated}.colorpicker-body .strip.grabbing{cursor:grabbing}.colorpicker-body .slider{position:absolute;top:0;left:-2px;width:calc(100% + 4px);height:4px;box-sizing:border-box;border:1px solid hsla(0,0%,100%,.71);box-shadow:0 0 1px rgba(0,0,0,.85)}.colorpicker-body .strip .overlay{height:150px;pointer-events:none}.monaco-editor.vs .dnd-target{border-right:2px dotted #000;color:#fff}.monaco-editor.vs-dark .dnd-target{border-right:2px dotted #aeafad;color:#51504f}.monaco-editor.hc-black .dnd-target{border-right:2px dotted #fff;color:#000}.monaco-editor.hc-black.mac.mouse-default .view-lines,.monaco-editor.mouse-default .view-lines,.monaco-editor.vs-dark.mac.mouse-default .view-lines{cursor:default}.monaco-editor.hc-black.mac.mouse-copy .view-lines,.monaco-editor.mouse-copy .view-lines,.monaco-editor.vs-dark.mac.mouse-copy .view-lines{cursor:copy}.monaco-editor .find-widget{position:absolute;z-index:35;height:33px;overflow:hidden;line-height:19px;transition:transform .2s linear;padding:0 4px;box-sizing:border-box;transform:translateY(calc(-100% - 10px))}.monaco-editor .find-widget textarea{margin:0}.monaco-editor .find-widget.hiddenEditor{display:none}.monaco-editor .find-widget.replaceToggled>.replace-part{display:flex}.monaco-editor .find-widget.visible{transform:translateY(0)}.monaco-editor .find-widget .monaco-inputbox.synthetic-focus{outline:1px solid -webkit-focus-ring-color;outline-offset:-1px}.monaco-editor .find-widget .monaco-inputbox .input{background-color:transparent;min-height:0}.monaco-editor .find-widget .monaco-findInput .input{font-size:13px}.monaco-editor .find-widget>.find-part,.monaco-editor .find-widget>.replace-part{margin:4px 0 0 17px;font-size:12px;display:flex}.monaco-editor .find-widget>.find-part .monaco-inputbox,.monaco-editor .find-widget>.replace-part .monaco-inputbox{min-height:25px}.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.mirror{padding-right:22px}.monaco-editor .find-widget>.find-part .monaco-inputbox>.ibwrapper>.input,.monaco-editor .find-widget>.find-part .monaco-inputbox>.ibwrapper>.mirror,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.input,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.mirror{padding-top:2px;padding-bottom:2px}.monaco-editor .find-widget>.find-part .find-actions,.monaco-editor .find-widget>.replace-part .replace-actions{height:25px;display:flex;align-items:center}.monaco-editor .find-widget .monaco-findInput{vertical-align:middle;display:flex;flex:1}.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element{width:100%}.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element .scrollbar.vertical{opacity:0}.monaco-editor .find-widget .matchesCount{display:flex;flex:initial;margin:0 0 0 3px;padding:2px 0 0 2px;height:25px;vertical-align:middle;box-sizing:border-box;text-align:center;line-height:23px}.monaco-editor .find-widget .button{width:16px;height:16px;padding:3px;border-radius:5px;flex:initial;margin-left:3px;background-position:50%;background-repeat:no-repeat;cursor:pointer;display:flex;align-items:center;justify-content:center}.monaco-editor .find-widget .codicon-find-selection{width:22px;height:22px;padding:3px;border-radius:5px}.monaco-editor .find-widget .button.left{margin-left:0;margin-right:3px}.monaco-editor .find-widget .button.wide{width:auto;padding:1px 6px;top:-1px}.monaco-editor .find-widget .button.toggle{position:absolute;top:0;left:3px;width:18px;height:100%;border-radius:0;box-sizing:border-box}.monaco-editor .find-widget .button.toggle.disabled{display:none}.monaco-editor .find-widget .disabled{opacity:.3;cursor:default}.monaco-editor .find-widget>.replace-part{display:none}.monaco-editor .find-widget>.replace-part>.monaco-findInput{position:relative;display:flex;vertical-align:middle;flex:auto;flex-grow:0;flex-shrink:0}.monaco-editor .find-widget>.replace-part>.monaco-findInput>.controls{position:absolute;top:3px;right:2px}.monaco-editor .find-widget.reduced-find-widget .matchesCount{display:none}.monaco-editor .find-widget.narrow-find-widget{max-width:257px!important}.monaco-editor .find-widget.collapsed-find-widget{max-width:170px!important}.monaco-editor .find-widget.collapsed-find-widget .button.next,.monaco-editor .find-widget.collapsed-find-widget .button.previous,.monaco-editor .find-widget.collapsed-find-widget .button.replace,.monaco-editor .find-widget.collapsed-find-widget .button.replace-all,.monaco-editor .find-widget.collapsed-find-widget>.find-part .monaco-findInput .controls{display:none}.monaco-editor .findMatch{animation-duration:0;animation-name:inherit!important}.monaco-editor .find-widget .monaco-sash{left:0!important}.monaco-editor.hc-black .find-widget .button:before{position:relative;top:1px;left:2px}.monaco-editor .margin-view-overlays .codicon-folding-collapsed,.monaco-editor .margin-view-overlays .codicon-folding-expanded{cursor:pointer;opacity:0;transition:opacity .5s;display:flex;align-items:center;justify-content:center;font-size:140%;margin-left:2px}.monaco-editor .margin-view-overlays .codicon.alwaysShowFoldIcons,.monaco-editor .margin-view-overlays .codicon.codicon-folding-collapsed,.monaco-editor .margin-view-overlays:hover .codicon{opacity:1}.monaco-editor .inline-folded:after{color:grey;margin:.1em .2em 0;content:"⋯";display:inline;line-height:1em;cursor:pointer}.monaco-editor .peekview-widget .head .peekview-title .severity-icon{display:inline-block;vertical-align:text-top;margin-right:4px}.monaco-editor .marker-widget{text-overflow:ellipsis;white-space:nowrap}.monaco-editor .marker-widget>.stale{opacity:.6;font-style:italic}.monaco-editor .marker-widget .title{display:inline-block;padding-right:5px}.monaco-editor .marker-widget .descriptioncontainer{position:absolute;white-space:pre;user-select:text;-webkit-user-select:text;-ms-user-select:text;padding:8px 12px 0 20px}.monaco-editor .marker-widget .descriptioncontainer .message{display:flex;flex-direction:column}.monaco-editor .marker-widget .descriptioncontainer .message .details{padding-left:6px}.monaco-editor .marker-widget .descriptioncontainer .message .source,.monaco-editor .marker-widget .descriptioncontainer .message span.code{opacity:.6}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link{opacity:.6;color:inherit}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:before{content:"("}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:after{content:")"}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link>span{text-decoration:underline;border-bottom:1px solid transparent;text-underline-position:under;color:var(--vscode-textLink-foreground);color:var(--vscode-textLink-activeForeground)}.monaco-editor .marker-widget .descriptioncontainer .filename{cursor:pointer}.monaco-editor .goto-definition-link{text-decoration:underline;cursor:pointer}.monaco-editor .zone-widget .zone-widget-container.reference-zone-widget{border-top-width:1px;border-bottom-width:1px}.monaco-editor .reference-zone-widget .inline{display:inline-block;vertical-align:top}.monaco-editor .reference-zone-widget .messages{height:100%;width:100%;text-align:center;padding:3em 0}.monaco-editor .reference-zone-widget .ref-tree{line-height:23px;background-color:var(--vscode-peekViewResult-background);color:var(--vscode-peekViewResult-lineForeground)}.monaco-editor .reference-zone-widget .ref-tree .reference{text-overflow:ellipsis;overflow:hidden}.monaco-editor .reference-zone-widget .ref-tree .reference-file{display:inline-flex;width:100%;height:100%;color:var(--vscode-peekViewResult-fileForeground)}.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .selected .reference-file{color:inherit!important}.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .monaco-list-rows>.monaco-list-row.selected:not(.highlighted){background-color:var(--vscode-peekViewResult-selectionBackground);color:var(--vscode-peekViewResult-selectionForeground)!important}.monaco-editor .reference-zone-widget .ref-tree .reference-file .count{margin-right:12px;margin-left:auto}.monaco-editor .reference-zone-widget .ref-tree .referenceMatch .highlight{background-color:var(--vscode-peekViewResult-matchHighlightBackground)}.monaco-editor .reference-zone-widget .preview .reference-decoration{background-color:var(--vscode-peekViewEditor-matchHighlightBackground);border:2px solid var(--vscode-peekViewEditor-matchHighlightBorder);box-sizing:border-box}.monaco-editor .reference-zone-widget .preview .monaco-editor .inputarea.ime-input,.monaco-editor .reference-zone-widget .preview .monaco-editor .monaco-editor-background{background-color:var(--vscode-peekViewEditor-background)}.monaco-editor .reference-zone-widget .preview .monaco-editor .margin{background-color:var(--vscode-peekViewEditorGutter-background)}.monaco-editor.hc-black .reference-zone-widget .ref-tree .reference-file{font-weight:700}.monaco-editor.hc-black .reference-zone-widget .ref-tree .referenceMatch .highlight{border:1px dotted var(--vscode-contrastActiveBorder,transparent);box-sizing:border-box}.monaco-editor .suggest-preview-additional-widget{white-space:nowrap}.monaco-editor .suggest-preview-additional-widget .content-spacer{color:transparent;white-space:pre}.monaco-editor .suggest-preview-additional-widget .button{display:inline-block;cursor:pointer;text-decoration:underline;text-underline-position:under}.monaco-editor .ghost-text-hidden{opacity:0;font-size:0}.monaco-editor .ghost-text-decoration,.monaco-editor .suggest-preview-text{font-style:italic}.monaco-editor .detected-link,.monaco-editor .detected-link-active{text-decoration:underline;text-underline-position:under}.monaco-editor .detected-link-active{cursor:pointer}.monaco-editor .monaco-editor-overlaymessage{padding-bottom:8px;z-index:10000}.monaco-editor .monaco-editor-overlaymessage.below{padding-bottom:0;padding-top:8px;z-index:10000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.monaco-editor .monaco-editor-overlaymessage.fadeIn{animation:fadeIn .15s ease-out}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.monaco-editor .monaco-editor-overlaymessage.fadeOut{animation:fadeOut .1s ease-out}.monaco-editor .monaco-editor-overlaymessage .message{padding:1px 4px;color:var(--vscode-inputValidation-infoForeground);background-color:var(--vscode-inputValidation-infoBackground);border:1px solid var(--vscode-inputValidation-infoBorder)}.monaco-editor.hc-black .monaco-editor-overlaymessage .message{border-width:2px}.monaco-editor .monaco-editor-overlaymessage .anchor{width:0!important;height:0!important;z-index:1000;border:8px solid transparent;position:absolute}.monaco-editor .monaco-editor-overlaymessage .anchor.top{border-bottom-color:var(--vscode-inputValidation-infoBorder)}.monaco-editor .monaco-editor-overlaymessage .anchor.below{border-top-color:var(--vscode-inputValidation-infoBorder)}.monaco-editor .monaco-editor-overlaymessage.below .anchor.below,.monaco-editor .monaco-editor-overlaymessage:not(.below) .anchor.top{display:none}.monaco-editor .monaco-editor-overlaymessage.below .anchor.top{display:inherit;top:-8px}.monaco-editor .parameter-hints-widget{z-index:39;display:flex;flex-direction:column;line-height:1.5em}.monaco-editor .parameter-hints-widget>.phwrapper{max-width:440px;display:flex;flex-direction:row}.monaco-editor .parameter-hints-widget.multiple{min-height:3.3em;padding:0}.monaco-editor .parameter-hints-widget.visible{transition:left .05s ease-in-out}.monaco-editor .parameter-hints-widget p,.monaco-editor .parameter-hints-widget ul{margin:8px 0}.monaco-editor .parameter-hints-widget .body,.monaco-editor .parameter-hints-widget .monaco-scrollable-element{display:flex;flex:1;flex-direction:column;min-height:100%}.monaco-editor .parameter-hints-widget .signature{padding:4px 5px}.monaco-editor .parameter-hints-widget .docs{padding:0 10px 0 5px;white-space:pre-wrap}.monaco-editor .parameter-hints-widget .docs.empty{display:none}.monaco-editor .parameter-hints-widget .docs .markdown-docs{white-space:normal}.monaco-editor .parameter-hints-widget .docs .markdown-docs code{font-family:var(--monaco-monospace-font)}.monaco-editor .parameter-hints-widget .docs .code,.monaco-editor .parameter-hints-widget .docs .monaco-tokenized-source{white-space:pre-wrap}.monaco-editor .parameter-hints-widget .docs code{border-radius:3px;padding:0 .4em}.monaco-editor .parameter-hints-widget .controls{display:none;flex-direction:column;align-items:center;min-width:22px;justify-content:flex-end}.monaco-editor .parameter-hints-widget.multiple .controls{display:flex;padding:0 2px}.monaco-editor .parameter-hints-widget.multiple .button{width:16px;height:16px;background-repeat:no-repeat;cursor:pointer}.monaco-editor .parameter-hints-widget .button.previous{bottom:24px}.monaco-editor .parameter-hints-widget .overloads{text-align:center;height:12px;line-height:12px;font-family:var(--monaco-monospace-font)}.monaco-editor .parameter-hints-widget .signature .parameter.active{font-weight:700}.monaco-editor .parameter-hints-widget .documentation-parameter>.parameter{font-weight:700;margin-right:.5em}.monaco-editor .peekview-widget .head{box-sizing:border-box;display:flex;justify-content:space-between;flex-wrap:nowrap}.monaco-editor .peekview-widget .head .peekview-title{display:flex;align-items:center;font-size:13px;margin-left:20px;min-width:0;text-overflow:ellipsis;overflow:hidden}.monaco-editor .peekview-widget .head .peekview-title.clickable{cursor:pointer}.monaco-editor .peekview-widget .head .peekview-title .dirname:not(:empty){font-size:.9em;margin-left:.5em;text-overflow:ellipsis;overflow:hidden}.monaco-editor .peekview-widget .head .peekview-title .meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monaco-editor .peekview-widget .head .peekview-title .dirname{white-space:nowrap}.monaco-editor .peekview-widget .head .peekview-title .filename{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-editor .peekview-widget .head .peekview-title .meta:not(:empty):before{content:"-";padding:0 .3em}.monaco-editor .peekview-widget .head .peekview-actions{flex:1;text-align:right;padding-right:2px}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar{display:inline-block}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar,.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar>.actions-container{height:100%}.monaco-editor .peekview-widget>.body{border-top:1px solid;position:relative}.monaco-editor .peekview-widget .head .peekview-title .codicon{margin-right:4px}.monaco-editor .peekview-widget .monaco-list .monaco-list-row.focused .codicon{color:inherit!important}.monaco-editor .rename-box{z-index:100;color:inherit}.monaco-editor .rename-box.preview{padding:3px 3px 0}.monaco-editor .rename-box .rename-input{padding:3px;width:calc(100% - 6px)}.monaco-editor .rename-box .rename-label{display:none;opacity:.8}.monaco-editor .rename-box.preview .rename-label{display:inherit}.monaco-editor .snippet-placeholder{min-width:2px;outline-style:solid;outline-width:1px;background-color:var(--vscode-editor-snippetTabstopHighlightBackground,transparent);outline-color:var(--vscode-editor-snippetTabstopHighlightBorder,transparent)}.monaco-editor .finish-snippet-placeholder{outline-style:solid;outline-width:1px;background-color:var(--vscode-editor-snippetFinalTabstopHighlightBackground,transparent);outline-color:var(--vscode-editor-snippetFinalTabstopHighlightBorder,transparent)}.monaco-editor .suggest-widget{width:430px;z-index:40;display:flex;flex-direction:column}.monaco-editor .suggest-widget.message{flex-direction:row;align-items:center}.monaco-editor .suggest-details,.monaco-editor .suggest-widget{flex:0 1 auto;width:100%;border:1px solid var(--vscode-editorSuggestWidget-border);background-color:var(--vscode-editorSuggestWidget-background)}.monaco-editor.hc-black .suggest-details,.monaco-editor.hc-black .suggest-widget{border-width:2px}.monaco-editor .suggest-widget .suggest-status-bar{box-sizing:border-box;display:none;flex-flow:row nowrap;justify-content:space-between;width:100%;font-size:80%;padding:0 4px;border-top:1px solid var(--vscode-editorSuggestWidget-border);overflow:hidden}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar{display:flex}.monaco-editor .suggest-widget .suggest-status-bar .left{padding-right:8px}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-label{color:var(--vscode-editorSuggestWidgetStatus-foreground)}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label{margin-right:0}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label:after{content:", ";margin-right:.3em}.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore,.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:none}.monaco-editor .suggest-widget.with-status-bar:not(.docs-side) .monaco-list .monaco-list-row:hover>.contents>.main>.right.can-expand-details>.details-label{width:100%}.monaco-editor .suggest-widget>.message{padding-left:22px}.monaco-editor .suggest-widget>.tree{height:100%;width:100%}.monaco-editor .suggest-widget .monaco-list{user-select:none;-webkit-user-select:none;-ms-user-select:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row{display:flex;-mox-box-sizing:border-box;box-sizing:border-box;padding-right:10px;background-repeat:no-repeat;background-position:2px 2px;white-space:nowrap;cursor:pointer;touch-action:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused{color:var(--vscode-editorSuggestWidget-selectedForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused .codicon{color:var(--vscode-editorSuggestWidget-selectedIconForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents{flex:1;height:100%;overflow:hidden;padding-left:2px}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main{display:flex;overflow:hidden;text-overflow:ellipsis;white-space:pre;justify-content:space-between}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right{display:flex}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.focused)>.contents>.main .monaco-icon-label{color:var(--vscode-editorSuggestWidget-foreground)}.monaco-editor .suggest-widget:not(.frozen) .monaco-highlighted-label .highlight{font-weight:700}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main .monaco-highlighted-label .highlight{color:var(--vscode-editorSuggestWidget-highlightForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused>.contents>.main .monaco-highlighted-label .highlight{color:var(--vscode-editorSuggestWidget-focusHighlightForeground)}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore:before{color:inherit;opacity:1;font-size:14px;cursor:pointer}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close{position:absolute;top:6px;right:2px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close:hover,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore:hover{opacity:1}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{opacity:.7}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.signature-label{overflow:hidden;text-overflow:ellipsis;opacity:.6}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.qualifier-label{margin-left:12px;opacity:.4;font-size:85%;line-height:normal;text-overflow:ellipsis;overflow:hidden;align-self:center}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{font-size:85%;margin-left:1.1em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label>.monaco-tokenized-source{display:inline}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{display:none}.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row.focused:not(.string-label)>.contents>.main>.right>.details-label,.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.right>.details-label,.monaco-editor .suggest-widget:not(.shows-details) .monaco-list .monaco-list-row.focused>.contents>.main>.right>.details-label{display:inline}.monaco-editor .suggest-widget:not(.docs-side) .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right.can-expand-details>.details-label{width:calc(100% - 26px)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left{flex-shrink:1;flex-grow:1;overflow:hidden}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.monaco-icon-label{flex-shrink:0}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.left>.monaco-icon-label{max-width:100%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.left>.monaco-icon-label{flex-shrink:1}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right{overflow:hidden;flex-shrink:4;max-width:70%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:inline-block;position:absolute;right:10px;width:18px;height:18px;visibility:hidden}.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:none!important}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.right>.readMore{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore{display:inline-block}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right>.readMore{visibility:visible}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated{opacity:.66;text-decoration:unset}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated>.monaco-icon-label-container>.monaco-icon-name-container{text-decoration:line-through}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label:before{height:100%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon{display:block;height:16px;width:16px;margin-left:2px;background-repeat:no-repeat;background-size:80%;background-position:50%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.hide{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon{display:flex;align-items:center;margin-right:4px}.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .icon,.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .suggest-icon:before{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.customcolor .colorspan{margin:0 0 0 .3em;border:.1em solid #000;width:.7em;height:.7em;display:inline-block}.monaco-editor .suggest-details-container{z-index:41}.monaco-editor .suggest-details{display:flex;flex-direction:column;cursor:default;color:var(--vscode-editorSuggestWidget-foreground)}.monaco-editor .suggest-details.focused{border-color:var(--vscode-focusBorder)}.monaco-editor .suggest-details a{color:var(--vscode-textLink-foreground)}.monaco-editor .suggest-details a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor .suggest-details code{background-color:var(--vscode-textCodeBlock-background)}.monaco-editor .suggest-details.no-docs{display:none}.monaco-editor .suggest-details>.monaco-scrollable-element{flex:1}.monaco-editor .suggest-details>.monaco-scrollable-element>.body{box-sizing:border-box;height:100%;width:100%}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type{flex:2;overflow:hidden;text-overflow:ellipsis;opacity:.7;white-space:pre;margin:0 24px 0 0;padding:4px 0 12px 5px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type.auto-wrap{white-space:normal;word-break:break-all}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs{margin:0;padding:4px 5px;white-space:pre-wrap}.monaco-editor .suggest-details.no-type>.monaco-scrollable-element>.body>.docs{margin-right:24px;overflow:hidden}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs{padding:0;white-space:normal;min-height:calc(1rem + 8px)}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div,.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>span:not(:empty){padding:4px 5px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:first-child{margin-top:0}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:last-child{margin-bottom:0}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .monaco-tokenized-source{white-space:pre}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs .code{white-space:pre-wrap;word-wrap:break-word}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .codicon{vertical-align:sub}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>p:empty{display:none}.monaco-editor .suggest-details code{border-radius:3px;padding:0 .4em}.monaco-editor .suggest-details ol,.monaco-editor .suggest-details ul{padding-left:20px}.monaco-editor .suggest-details p code{font-family:var(--monaco-monospace-font)}.editor-banner{box-sizing:border-box;cursor:default;width:100%;font-size:12px;display:flex;overflow:visible;height:26px;background:var(--vscode-banner-background)}.editor-banner .icon-container{display:flex;flex-shrink:0;align-items:center;padding:0 6px 0 10px}.editor-banner .icon-container.custom-icon{background-repeat:no-repeat;background-position:50%;background-size:16px;width:16px;padding:0;margin:0 6px 0 10px}.editor-banner .message-container{display:flex;align-items:center;line-height:26px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.editor-banner .message-container p{margin-block-start:0;margin-block-end:0}.editor-banner .message-actions-container{flex-grow:1;flex-shrink:0;line-height:26px;margin:0 4px}.editor-banner .message-actions-container a.monaco-button{width:inherit;margin:2px 8px;padding:0 12px}.editor-banner .message-actions-container a{padding:3px;margin-left:12px;text-decoration:underline}.editor-banner .action-container{padding:0 10px 0 6px}.editor-banner{background-color:var(--vscode-banner-background)}.editor-banner,.editor-banner .action-container .codicon,.editor-banner .message-actions-container .monaco-link{color:var(--vscode-banner-foreground)}.editor-banner .icon-container .codicon{color:var(--vscode-banner-iconForeground)}.monaco-editor .unicode-highlight{border:1px solid var(--vscode-editorUnicodeHighlight-border);box-sizing:border-box}.monaco-editor .zone-widget{position:absolute;z-index:10}.monaco-editor .zone-widget .zone-widget-container{border-top-style:solid;border-bottom-style:solid;border-top-width:0;border-bottom-width:0;position:relative}.monaco-editor .accessibilityHelpWidget{padding:10px;vertical-align:middle;overflow:scroll}.monaco-editor .iPadShowKeyboard{width:58px;min-width:0;height:36px;min-height:0;margin:0;padding:0;position:absolute;resize:none;overflow:hidden;background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00OC4wMzYgNC4wMUg0LjAwOFYzMi4wM2g0NC4wMjhWNC4wMXpNNC4wMDguMDA4QTQuMDAzIDQuMDAzIDAgMDAuMDA1IDQuMDFWMzIuMDNhNC4wMDMgNC4wMDMgMCAwMDQuMDAzIDQuMDAyaDQ0LjAyOGE0LjAwMyA0LjAwMyAwIDAwNC4wMDMtNC4wMDJWNC4wMUE0LjAwMyA0LjAwMyAwIDAwNDguMDM2LjAwOEg0LjAwOHpNOC4wMSA4LjAxM2g0LjAwM3Y0LjAwM0g4LjAxVjguMDEzem0xMi4wMDggMGgtNC4wMDJ2NC4wMDNoNC4wMDJWOC4wMTN6bTQuMDAzIDBoNC4wMDJ2NC4wMDNoLTQuMDAyVjguMDEzem0xMi4wMDggMGgtNC4wMDN2NC4wMDNoNC4wMDNWOC4wMTN6bTQuMDAyIDBoNC4wMDN2NC4wMDNINDAuMDNWOC4wMTN6bS0yNC4wMTUgOC4wMDVIOC4wMXY0LjAwM2g4LjAwNnYtNC4wMDN6bTQuMDAyIDBoNC4wMDN2NC4wMDNoLTQuMDAzdi00LjAwM3ptMTIuMDA4IDBoLTQuMDAzdjQuMDAzaDQuMDAzdi00LjAwM3ptMTIuMDA4IDB2NC4wMDNoLTguMDA1di00LjAwM2g4LjAwNXptLTMyLjAyMSA4LjAwNUg4LjAxdjQuMDAzaDQuMDAzdi00LjAwM3ptNC4wMDMgMGgyMC4wMTN2NC4wMDNIMTYuMDE2di00LjAwM3ptMjguMDE4IDBINDAuMDN2NC4wMDNoNC4wMDN2LTQuMDAzeiIgZmlsbD0iIzQyNDI0MiIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImNsaXAwIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDUzdjM2SDB6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+) 50% no-repeat;border:4px solid #f6f6f6;border-radius:4px}.monaco-editor.vs-dark .iPadShowKeyboard{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00OC4wMzYgNC4wMUg0LjAwOFYzMi4wM2g0NC4wMjhWNC4wMXpNNC4wMDguMDA4QTQuMDAzIDQuMDAzIDAgMDAuMDA1IDQuMDFWMzIuMDNhNC4wMDMgNC4wMDMgMCAwMDQuMDAzIDQuMDAyaDQ0LjAyOGE0LjAwMyA0LjAwMyAwIDAwNC4wMDMtNC4wMDJWNC4wMUE0LjAwMyA0LjAwMyAwIDAwNDguMDM2LjAwOEg0LjAwOHpNOC4wMSA4LjAxM2g0LjAwM3Y0LjAwM0g4LjAxVjguMDEzem0xMi4wMDggMGgtNC4wMDJ2NC4wMDNoNC4wMDJWOC4wMTN6bTQuMDAzIDBoNC4wMDJ2NC4wMDNoLTQuMDAyVjguMDEzem0xMi4wMDggMGgtNC4wMDN2NC4wMDNoNC4wMDNWOC4wMTN6bTQuMDAyIDBoNC4wMDN2NC4wMDNINDAuMDNWOC4wMTN6bS0yNC4wMTUgOC4wMDVIOC4wMXY0LjAwM2g4LjAwNnYtNC4wMDN6bTQuMDAyIDBoNC4wMDN2NC4wMDNoLTQuMDAzdi00LjAwM3ptMTIuMDA4IDBoLTQuMDAzdjQuMDAzaDQuMDAzdi00LjAwM3ptMTIuMDA4IDB2NC4wMDNoLTguMDA1di00LjAwM2g4LjAwNXptLTMyLjAyMSA4LjAwNUg4LjAxdjQuMDAzaDQuMDAzdi00LjAwM3ptNC4wMDMgMGgyMC4wMTN2NC4wMDNIMTYuMDE2di00LjAwM3ptMjguMDE4IDBINDAuMDN2NC4wMDNoNC4wMDN2LTQuMDAzeiIgZmlsbD0iI0M1QzVDNSIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImNsaXAwIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDUzdjM2SDB6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+) 50% no-repeat;border:4px solid #252526}.monaco-editor .tokens-inspect-widget{z-index:50;user-select:text;-webkit-user-select:text;-ms-user-select:text;padding:10px}.tokens-inspect-separator{height:1px;border:0}.monaco-editor .tokens-inspect-widget .tm-token{font-family:var(--monaco-monospace-font)}.monaco-editor .tokens-inspect-widget .tm-token-length{font-weight:400;font-size:60%;float:right}.monaco-editor .tokens-inspect-widget .tm-metadata-table{width:100%}.monaco-editor .tokens-inspect-widget .tm-metadata-value{font-family:var(--monaco-monospace-font);text-align:right}.monaco-editor .tokens-inspect-widget .tm-token-type{font-family:var(--monaco-monospace-font)}.quick-input-widget{font-size:13px}.quick-input-widget .monaco-highlighted-label .highlight{color:#0066bf}.vs .quick-input-widget .monaco-list-row.focused .monaco-highlighted-label .highlight{color:#9dddff}.vs-dark .quick-input-widget .monaco-highlighted-label .highlight{color:#0097fb}.hc-black .quick-input-widget .monaco-highlighted-label .highlight{color:#f38518}.monaco-keybinding>.monaco-keybinding-key{background-color:hsla(0,0%,86.7%,.4);border:1px solid hsla(0,0%,80%,.4);border-bottom-color:hsla(0,0%,73.3%,.4);box-shadow:inset 0 -1px 0 hsla(0,0%,73.3%,.4);color:#555}.hc-black .monaco-keybinding>.monaco-keybinding-key{background-color:transparent;border:1px solid #6fc3df;box-shadow:none;color:#fff}.vs-dark .monaco-keybinding>.monaco-keybinding-key{background-color:hsla(0,0%,50.2%,.17);border:1px solid rgba(51,51,51,.6);border-bottom-color:rgba(68,68,68,.6);box-shadow:inset 0 -1px 0 rgba(68,68,68,.6);color:#ccc}.monaco-editor{font-family:-apple-system,BlinkMacSystemFont,Segoe WPC,Segoe UI,HelveticaNeue-Light,system-ui,Ubuntu,Droid Sans,sans-serif;--monaco-monospace-font:"SF Mono",Monaco,Menlo,Consolas,"Ubuntu Mono","Liberation Mono","DejaVu Sans Mono","Courier New",monospace}.monaco-editor.hc-black .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-menu .monaco-action-bar.vertical .action-item .action-menu-item:focus .action-label{stroke-width:1.2px}.monaco-hover p{margin:0}.monaco-aria-container{position:absolute!important;top:0;height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%)}.monaco-editor.hc-black{-ms-high-contrast-adjust:none}@media screen and (-ms-high-contrast:active){.monaco-editor.vs-dark .view-overlays .current-line,.monaco-editor.vs .view-overlays .current-line{border-color:windowtext!important;border-left:0;border-right:0}.monaco-editor.vs-dark .cursor,.monaco-editor.vs .cursor{background-color:windowtext!important}.monaco-editor.vs-dark .dnd-target,.monaco-editor.vs .dnd-target{border-color:windowtext!important}.monaco-editor.vs-dark .selected-text,.monaco-editor.vs .selected-text{background-color:highlight!important}.monaco-editor.vs-dark .view-line,.monaco-editor.vs .view-line{-ms-high-contrast-adjust:none}.monaco-editor.vs-dark .view-line span,.monaco-editor.vs .view-line span{color:windowtext!important}.monaco-editor.vs-dark .view-line span.inline-selected-text,.monaco-editor.vs .view-line span.inline-selected-text{color:highlighttext!important}.monaco-editor.vs-dark .view-overlays,.monaco-editor.vs .view-overlays{-ms-high-contrast-adjust:none}.monaco-editor.vs-dark .reference-decoration,.monaco-editor.vs-dark .selectionHighlight,.monaco-editor.vs-dark .wordHighlight,.monaco-editor.vs-dark .wordHighlightStrong,.monaco-editor.vs .reference-decoration,.monaco-editor.vs .selectionHighlight,.monaco-editor.vs .wordHighlight,.monaco-editor.vs .wordHighlightStrong{border:2px dotted highlight!important;background:transparent!important;box-sizing:border-box}.monaco-editor.vs-dark .rangeHighlight,.monaco-editor.vs .rangeHighlight{background:transparent!important;border:1px dotted activeborder!important;box-sizing:border-box}.monaco-editor.vs-dark .bracket-match,.monaco-editor.vs .bracket-match{border-color:windowtext!important;background:transparent!important}.monaco-editor.vs-dark .currentFindMatch,.monaco-editor.vs-dark .findMatch,.monaco-editor.vs .currentFindMatch,.monaco-editor.vs .findMatch{border:2px dotted activeborder!important;background:transparent!important;box-sizing:border-box}.monaco-editor.vs-dark .find-widget,.monaco-editor.vs .find-widget{border:1px solid windowtext}.monaco-editor.vs-dark .monaco-list .monaco-list-row,.monaco-editor.vs .monaco-list .monaco-list-row{-ms-high-contrast-adjust:none;color:windowtext!important}.monaco-editor.vs-dark .monaco-list .monaco-list-row.focused,.monaco-editor.vs .monaco-list .monaco-list-row.focused{color:highlighttext!important;background-color:highlight!important}.monaco-editor.vs-dark .monaco-list .monaco-list-row:hover,.monaco-editor.vs .monaco-list .monaco-list-row:hover{background:transparent!important;border:1px solid highlight;box-sizing:border-box}.monaco-editor.vs-dark .monaco-scrollable-element>.scrollbar,.monaco-editor.vs .monaco-scrollable-element>.scrollbar{-ms-high-contrast-adjust:none;background:background!important;border:1px solid windowtext;box-sizing:border-box}.monaco-editor.vs-dark .monaco-scrollable-element>.scrollbar>.slider,.monaco-editor.vs .monaco-scrollable-element>.scrollbar>.slider{background:windowtext!important}.monaco-editor.vs-dark .monaco-scrollable-element>.scrollbar>.slider.active,.monaco-editor.vs-dark .monaco-scrollable-element>.scrollbar>.slider:hover,.monaco-editor.vs .monaco-scrollable-element>.scrollbar>.slider.active,.monaco-editor.vs .monaco-scrollable-element>.scrollbar>.slider:hover{background:highlight!important}.monaco-editor.vs-dark .decorationsOverviewRuler,.monaco-editor.vs .decorationsOverviewRuler{opacity:0}.monaco-editor.vs-dark .minimap,.monaco-editor.vs .minimap{display:none}.monaco-editor.vs-dark .squiggly-d-error,.monaco-editor.vs .squiggly-d-error{background:transparent!important;border-bottom:4px double #e47777}.monaco-editor.vs-dark .squiggly-b-info,.monaco-editor.vs-dark .squiggly-c-warning,.monaco-editor.vs .squiggly-b-info,.monaco-editor.vs .squiggly-c-warning{border-bottom:4px double #71b771}.monaco-editor.vs-dark .squiggly-a-hint,.monaco-editor.vs .squiggly-a-hint{border-bottom:4px double #6c6c6c}.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.vs .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label{-ms-high-contrast-adjust:none;color:highlighttext!important;background-color:highlight!important}.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:hover .action-label,.monaco-editor.vs .monaco-menu .monaco-action-bar.vertical .action-menu-item:hover .action-label{-ms-high-contrast-adjust:none;background:transparent!important;border:1px solid highlight;box-sizing:border-box}.monaco-diff-editor.vs-dark .diffOverviewRuler,.monaco-diff-editor.vs .diffOverviewRuler{display:none}.monaco-editor.vs-dark .line-delete,.monaco-editor.vs-dark .line-insert,.monaco-editor.vs .line-delete,.monaco-editor.vs .line-insert{background:transparent!important;border:1px solid highlight!important;box-sizing:border-box}.monaco-editor.vs-dark .char-delete,.monaco-editor.vs-dark .char-insert,.monaco-editor.vs .char-delete,.monaco-editor.vs .char-insert{background:transparent!important}}.monaco-action-bar .action-item.menu-entry .action-label.icon{width:16px;height:16px;background-repeat:no-repeat;background-position:50%;background-size:16px}.monaco-action-bar .action-item.menu-entry .action-label{background-image:var(--menu-entry-icon-light)}.hc-black .monaco-action-bar .action-item.menu-entry .action-label,.vs-dark .monaco-action-bar .action-item.menu-entry .action-label{background-image:var(--menu-entry-icon-dark)}.monaco-dropdown-with-default{display:flex!important;flex-direction:row;border-radius:5px}.monaco-dropdown-with-default>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-default>.action-container.menu-entry>.action-label.icon{width:16px;height:16px;background-repeat:no-repeat;background-position:50%;background-size:16px}.monaco-dropdown-with-default>.action-container.menu-entry>.action-label{background-image:var(--menu-entry-icon-light)}.hc-black .monaco-dropdown-with-default>.action-container.menu-entry>.action-label,.vs-dark .monaco-dropdown-with-default>.action-container.menu-entry>.action-label{background-image:var(--menu-entry-icon-dark)}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;padding-left:0;padding-right:0;line-height:16px;margin-left:-3px}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{display:block;background-size:16px;background-position:50%;background-repeat:no-repeat}.context-view .monaco-menu{min-width:130px}
\ No newline at end of file
diff --git a/examples/tour-assets/monaco/editor/editor.main.js b/examples/tour-assets/monaco/editor/editor.main.js
new file mode 100644
index 0000000000000000000000000000000000000000..23f518dd593608e299f73c2860088ee4c86c40d7
--- /dev/null
+++ b/examples/tour-assets/monaco/editor/editor.main.js
@@ -0,0 +1,805 @@
+/*!-----------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.33.0(c722ca6c7eed3d7987c0d5c3df5c45f6b15e77d1)
+ * Released under the MIT license
+ * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
+ *-----------------------------------------------------------*/(function(){var te=["exports","require","vs/base/common/lifecycle","vs/editor/common/core/range","vs/base/common/event","vs/nls","vs/nls!vs/editor/editor.main","vs/base/browser/dom","vs/base/common/strings","vs/platform/instantiation/common/instantiation","vs/base/common/async","vs/editor/common/core/position","vs/css!vs/editor/editor.main","vs/base/common/errors","vs/platform/theme/common/themeService","vs/editor/browser/editorExtensions","vs/base/common/platform","vs/platform/contextkey/common/contextkey","vs/base/common/arrays","vs/base/common/types","vs/editor/common/services/languageFeatures","vs/base/common/cancellation","vs/editor/common/core/selection","vs/platform/theme/common/colorRegistry","vs/editor/common/editorContextKeys","vs/base/common/uri","vs/platform/commands/common/commands","vs/editor/common/languages","vs/base/common/codicons","vs/editor/browser/services/codeEditorService","vs/base/common/color","vs/base/browser/fastDomNode","vs/editor/common/config/editorOptions","vs/editor/common/languages/languageConfigurationRegistry","vs/base/browser/browser","vs/editor/common/languages/language","vs/platform/registry/common/platform","vs/platform/actions/common/actions","vs/editor/common/model/textModel","vs/platform/notification/common/notification","vs/base/common/objects","vs/platform/configuration/common/configuration","vs/base/common/resources","vs/platform/keybinding/common/keybinding","vs/base/browser/keyboardEvent","vs/base/common/network","vs/base/browser/ui/aria/aria","vs/base/common/actions","vs/editor/common/services/model","vs/base/common/map","vs/editor/common/model","vs/editor/browser/view/viewPart","vs/platform/instantiation/common/extensions","vs/platform/opener/common/opener","vs/editor/common/core/editorColorRegistry","vs/base/common/stopwatch","vs/editor/common/services/resolverService","vs/base/common/iterator","vs/base/common/keyCodes","vs/base/browser/mouseEvent","vs/base/browser/touch","vs/editor/common/cursorCommon","vs/base/browser/ui/widget","vs/editor/common/core/editOperation","vs/editor/browser/config/domFontInfo","vs/platform/accessibility/common/accessibility","vs/platform/log/common/log","vs/editor/common/services/languageFeatureDebounce","vs/base/common/htmlContent","vs/base/browser/ui/scrollbar/scrollableElement","vs/editor/common/core/cursorColumns","vs/editor/common/viewModel","vs/editor/common/standaloneStrings","vs/platform/progress/common/progress","vs/platform/theme/common/iconRegistry","vs/base/common/filters","vs/base/common/severity","vs/editor/common/tokens/lineTokens","vs/platform/contextview/browser/contextView","vs/platform/markers/common/markers","vs/platform/quickinput/common/quickInput","vs/editor/common/languages/modesRegistry","vs/platform/storage/common/storage","vs/base/common/linkedList","vs/base/common/path","vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/length","vs/editor/contrib/hover/browser/hoverTypes","vs/base/browser/ui/actionbar/actionbar","vs/editor/common/services/editorWorker","vs/platform/keybinding/common/keybindingsRegistry","vs/platform/telemetry/common/telemetry","vs/base/common/functional","vs/base/browser/event","vs/editor/common/core/stringBuilder","vs/editor/common/textModelEvents","vs/base/common/decorators","vs/base/common/keybindings","vs/base/common/iconLabels","vs/base/browser/globalMouseMoveMonitor","vs/editor/common/core/characterClassifier","vs/editor/common/commands/replaceCommand","vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/smallImmutableSet","vs/editor/browser/view/dynamicViewOverlay","vs/editor/standalone/common/standaloneTheme","vs/platform/clipboard/common/clipboardService","vs/platform/configuration/common/configurationRegistry","vs/editor/contrib/markdownRenderer/browser/markdownRenderer","vs/platform/quickinput/common/quickAccess","vs/editor/contrib/editorState/browser/editorState","vs/editor/contrib/suggest/browser/suggest","vs/editor/contrib/peekView/browser/peekView","vs/base/browser/ui/tree/tree","vs/base/common/buffer","vs/base/common/numbers","vs/base/common/hash","vs/base/browser/ui/iconLabel/iconLabels","vs/base/browser/ui/sash/sash","vs/base/browser/ui/list/listWidget","vs/editor/browser/view/renderingContext","vs/editor/common/core/eolCounter","vs/editor/common/core/wordCharacterClassifier","vs/editor/common/core/wordHelper","vs/editor/common/languages/languageConfiguration","vs/editor/common/languages/supports","vs/editor/common/languages/nullTokenize","vs/editor/common/viewEventHandler","vs/editor/common/viewLayout/viewLineRenderer","vs/editor/contrib/snippet/browser/snippetParser","vs/base/browser/ui/actionbar/actionViewItems","vs/editor/contrib/gotoSymbol/browser/referencesModel","vs/platform/dialogs/common/dialogs","vs/platform/label/common/label","vs/platform/layout/browser/layoutService","vs/editor/browser/editorDom","vs/platform/theme/common/styler","vs/platform/theme/common/theme","vs/base/common/idGenerator","vs/base/common/lazy","vs/base/common/mime","vs/base/common/range","vs/base/common/scrollable","vs/base/common/diff/diff","vs/base/common/uint","vs/base/browser/ui/codicons/codiconStyles","vs/base/browser/ui/mouseCursor/mouseCursor","vs/css!vs/base/parts/quickinput/browser/media/quickInput","vs/editor/browser/stableEditorScroll","vs/editor/common/config/editorZoom","vs/editor/common/core/textModelDefaults","vs/editor/common/editorCommon","vs/editor/browser/editorBrowser","vs/editor/common/cursor/cursorWordOperations","vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/ast","vs/editor/common/model/textModelSearch","vs/editor/common/viewLayout/lineDecorations","vs/editor/contrib/codeAction/browser/types","vs/editor/common/services/textResourceConfiguration","vs/platform/instantiation/common/serviceCollection","vs/editor/browser/coreCommands","vs/editor/contrib/codeAction/browser/codeAction","vs/editor/contrib/message/browser/messageController","vs/platform/list/browser/listService","vs/platform/undoRedo/common/undoRedo","vs/editor/browser/widget/codeEditorWidget","vs/editor/browser/widget/embeddedCodeEditorWidget","vs/editor/contrib/find/browser/findModel","vs/base/browser/dnd","vs/base/browser/canIUse","vs/base/common/extpath","vs/base/browser/ui/tree/indexTreeModel","vs/base/browser/ui/tree/objectTreeModel","vs/base/browser/formattedTextRenderer","vs/base/browser/ui/scrollbar/scrollbarArrow","vs/base/common/labels","vs/base/browser/ui/checkbox/checkbox","vs/base/browser/ui/list/listView","vs/editor/common/config/fontInfo","vs/editor/common/core/indentation","vs/editor/browser/controller/textAreaInput","vs/editor/browser/view/viewLayer","vs/editor/common/cursor/cursorMoveOperations","vs/editor/common/cursor/cursorDeleteOperations","vs/editor/common/cursor/cursorMoveCommands","vs/editor/common/languages/supports/richEditBrackets","vs/editor/common/model/utils","vs/editor/common/standalone/standaloneEnums","vs/editor/common/textModelGuides","vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/tokenizer","vs/editor/browser/viewParts/glyphMargin/glyphMargin","vs/editor/common/viewEvents","vs/editor/common/viewModelEventDispatcher","vs/editor/contrib/folding/browser/foldingRanges","vs/editor/contrib/gotoSymbol/browser/link/clickLinkGesture","vs/editor/contrib/inlineCompletions/browser/ghostText","vs/editor/contrib/inlineCompletions/browser/inlineCompletionToGhostText","vs/base/browser/ui/iconLabel/iconLabel","vs/base/browser/ui/tree/abstractTree","vs/base/browser/ui/inputbox/inputBox","vs/base/common/keybindingLabels","vs/platform/instantiation/common/descriptors","vs/editor/browser/services/bulkEditService","vs/editor/common/services/markerDecorations","vs/editor/common/commands/shiftCommand","vs/editor/common/cursor/cursorTypeOperations","vs/editor/contrib/parameterHints/browser/provideSignatureHelp","vs/editor/contrib/documentSymbols/browser/outlineModel","vs/platform/jsonschemas/common/jsonContributionRegistry","vs/editor/contrib/hover/browser/markdownHoverParticipant","vs/editor/contrib/inlineCompletions/browser/inlineCompletionsModel","vs/platform/actions/browser/menuEntryActionViewItem","vs/editor/contrib/gotoSymbol/browser/goToCommands","vs/platform/workspace/common/workspace","vs/editor/contrib/snippet/browser/snippetController2","vs/editor/standalone/browser/standaloneServices","vs/base/browser/iframe","vs/base/browser/ui/scrollbar/scrollbarState","vs/base/common/assert","vs/base/common/collections","vs/base/common/glob","vs/base/common/marshalling","vs/base/browser/ui/highlightedlabel/highlightedLabel","vs/base/browser/ui/scrollbar/abstractScrollbar","vs/base/common/worker/simpleWorker","vs/base/parts/quickinput/common/quickInput","vs/css!vs/base/browser/ui/actionbar/actionbar","vs/base/browser/ui/contextview/contextview","vs/base/browser/ui/countBadge/countBadge","vs/css!vs/base/browser/ui/dropdown/dropdown","vs/css!vs/base/browser/ui/findinput/findInput","vs/css!vs/base/browser/ui/list/list","vs/base/browser/ui/hover/hoverWidget","vs/base/browser/ui/splitview/splitview","vs/base/parts/quickinput/browser/quickInputUtils","vs/editor/browser/config/elementSizeObserver","vs/editor/browser/config/tabFocus","vs/editor/browser/view/viewUserInputEvents","vs/editor/browser/viewParts/minimap/minimapCharSheet","vs/editor/browser/controller/textAreaState","vs/editor/browser/widget/diffNavigator","vs/editor/common/core/rgba","vs/editor/common/core/textChange","vs/editor/common/cursor/cursorAtomicMoveOperations","vs/editor/common/editorAction","vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/beforeEditPositionMapper","vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/parser","vs/editor/common/model/prefixSumComputer","vs/editor/common/model/pieceTreeTextBuffer/pieceTreeBase","vs/editor/common/model/pieceTreeTextBuffer/pieceTreeTextBuffer","vs/editor/common/modelLineProjectionData","vs/editor/common/services/unicodeTextModelHighlighter","vs/editor/common/model/guidesTextModelPart","vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/brackets","vs/editor/common/services/editorBaseApi","vs/editor/common/languages/textToHtmlTokenizer","vs/editor/browser/viewParts/margin/margin","vs/editor/common/viewModel/minimapTokensColorTracker","vs/editor/common/viewModel/overviewZoneManager","vs/editor/contrib/comment/browser/blockCommentCommand","vs/editor/contrib/folding/browser/syntaxRangeProvider","vs/editor/contrib/format/browser/formattingEdit","vs/editor/contrib/hover/browser/hoverOperation","vs/editor/contrib/indentation/browser/indentUtils","vs/editor/contrib/inlayHints/browser/inlayHints","vs/editor/contrib/inlineCompletions/browser/consts","vs/editor/contrib/smartSelect/browser/bracketSelections","vs/editor/contrib/suggest/browser/resizable","vs/editor/standalone/common/monarch/monarchCommon","vs/editor/standalone/common/monarch/monarchLexer","vs/base/browser/ui/findinput/findInputCheckboxes","vs/base/browser/ui/tree/objectTree","vs/editor/browser/config/fontMeasurements","vs/editor/common/viewModel/viewModelDecorations","vs/editor/common/model/editStack","vs/platform/files/common/files","vs/editor/common/services/getSemanticTokens","vs/editor/contrib/codelens/browser/codelens","vs/editor/contrib/colorPicker/browser/color","vs/editor/common/cursor/cursor","vs/platform/contextkey/common/contextkeys","vs/platform/keybinding/common/resolvedKeybindingItem","vs/editor/standalone/browser/standaloneLayoutService","vs/editor/browser/services/editorWorkerService","vs/editor/contrib/suggest/browser/suggestWidgetDetails","vs/platform/history/browser/contextScopedHistoryWidget","vs/editor/browser/viewParts/lines/viewLine","vs/editor/browser/controller/mouseTarget","vs/editor/browser/viewParts/lineNumbers/lineNumbers","vs/editor/common/services/semanticTokensProviderStyling","vs/editor/contrib/quickAccess/browser/editorNavigationQuickAccess","vs/editor/contrib/symbolIcons/browser/symbolIcons","vs/editor/standalone/browser/standaloneCodeEditorService","vs/editor/contrib/format/browser/format","vs/editor/contrib/gotoSymbol/browser/goToSymbol","vs/editor/contrib/hover/browser/getHover","vs/editor/contrib/codeAction/browser/codeActionCommands","vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode","vs/editor/contrib/wordOperations/browser/wordOperations","vs/editor/common/services/modelService","vs/editor/browser/widget/diffEditorWidget","vs/editor/contrib/colorPicker/browser/colorDetector","vs/editor/contrib/find/browser/findController","vs/editor/contrib/gotoError/browser/gotoError","vs/editor/contrib/gotoSymbol/browser/peek/referencesController","vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition","vs/editor/contrib/hover/browser/hover","vs/editor/contrib/inlayHints/browser/inlayHintsController","vs/editor/contrib/snippet/browser/snippetSession","vs/editor/contrib/suggest/browser/suggestController","vs/editor/contrib/inlineCompletions/browser/ghostTextController","vs/platform/workspace/common/workspaceTrust","vs/base/browser/ui/list/list","vs/base/browser/ui/list/splice","vs/base/common/cache","vs/base/common/diff/diffChange","vs/base/common/marked/marked","vs/base/common/navigator","vs/base/common/history","vs/base/common/process","vs/base/browser/ui/list/rangeMap","vs/base/browser/ui/scrollbar/scrollbarVisibilityController","vs/base/common/comparers","vs/base/browser/ui/tree/compressedObjectTreeModel","vs/base/common/fuzzyScorer","vs/base/common/search","vs/base/browser/ui/list/rowCache","vs/base/browser/ui/scrollbar/horizontalScrollbar","vs/base/browser/ui/scrollbar/verticalScrollbar","vs/base/browser/markdownRenderer","vs/base/common/uuid","vs/base/browser/defaultWorkerFactory","vs/base/parts/storage/common/storage","vs/css!vs/base/browser/ui/aria/aria","vs/css!vs/base/browser/ui/button/button","vs/base/browser/ui/button/button","vs/css!vs/base/browser/ui/checkbox/checkbox","vs/css!vs/base/browser/ui/codicons/codicon/codicon","vs/css!vs/base/browser/ui/codicons/codicon/codicon-modifiers","vs/css!vs/base/browser/ui/contextview/contextview","vs/css!vs/base/browser/ui/countBadge/countBadge","vs/css!vs/base/browser/ui/hover/hover","vs/css!vs/base/browser/ui/iconLabel/iconlabel","vs/css!vs/base/browser/ui/inputbox/inputBox","vs/css!vs/base/browser/ui/keybindingLabel/keybindingLabel","vs/css!vs/base/browser/ui/mouseCursor/mouseCursor","vs/css!vs/base/browser/ui/progressbar/progressbar","vs/base/browser/ui/progressbar/progressbar","vs/css!vs/base/browser/ui/sash/sash","vs/css!vs/base/browser/ui/scrollbar/media/scrollbars","vs/base/browser/ui/list/listPaging","vs/css!vs/base/browser/ui/splitview/splitview","vs/css!vs/base/browser/ui/table/table","vs/base/browser/ui/table/tableWidget","vs/css!vs/base/browser/ui/tree/media/tree","vs/css!vs/editor/browser/controller/textAreaHandler","vs/css!vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight","vs/css!vs/editor/browser/viewParts/decorations/decorations","vs/css!vs/editor/browser/viewParts/glyphMargin/glyphMargin","vs/css!vs/editor/browser/viewParts/indentGuides/indentGuides","vs/css!vs/editor/browser/viewParts/lineNumbers/lineNumbers","vs/css!vs/editor/browser/viewParts/lines/viewLines","vs/css!vs/editor/browser/viewParts/linesDecorations/linesDecorations","vs/css!vs/editor/browser/viewParts/marginDecorations/marginDecorations","vs/css!vs/editor/browser/viewParts/minimap/minimap","vs/css!vs/editor/browser/viewParts/overlayWidgets/overlayWidgets","vs/css!vs/editor/browser/viewParts/rulers/rulers","vs/css!vs/editor/browser/viewParts/scrollDecoration/scrollDecoration","vs/css!vs/editor/browser/viewParts/selections/selections","vs/css!vs/editor/browser/viewParts/viewCursors/viewCursors","vs/css!vs/editor/browser/widget/media/diffEditor","vs/css!vs/editor/browser/widget/media/diffReview","vs/css!vs/editor/browser/widget/media/editor","vs/css!vs/editor/contrib/anchorSelect/browser/anchorSelect","vs/css!vs/editor/contrib/bracketMatching/browser/bracketMatching","vs/css!vs/editor/contrib/codeAction/browser/lightBulbWidget","vs/css!vs/editor/contrib/codelens/browser/codelensWidget","vs/css!vs/editor/contrib/colorPicker/browser/colorPicker","vs/css!vs/editor/contrib/dnd/browser/dnd","vs/css!vs/editor/contrib/find/browser/findWidget","vs/css!vs/editor/contrib/folding/browser/folding","vs/css!vs/editor/contrib/gotoError/browser/media/gotoErrorWidget","vs/css!vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition","vs/css!vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget","vs/css!vs/editor/contrib/inlineCompletions/browser/ghostText","vs/css!vs/editor/contrib/links/browser/links","vs/css!vs/editor/contrib/message/browser/messageController","vs/css!vs/editor/contrib/parameterHints/browser/parameterHints","vs/css!vs/editor/contrib/peekView/browser/media/peekViewWidget","vs/css!vs/editor/contrib/rename/browser/renameInputField","vs/css!vs/editor/contrib/snippet/browser/snippetSession","vs/css!vs/editor/contrib/suggest/browser/media/suggest","vs/css!vs/editor/contrib/unicodeHighlighter/browser/bannerController","vs/css!vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter","vs/css!vs/editor/contrib/zoneWidget/browser/zoneWidget","vs/css!vs/editor/standalone/browser/accessibilityHelp/accessibilityHelp","vs/css!vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard","vs/css!vs/editor/standalone/browser/inspectTokens/inspectTokens","vs/css!vs/editor/standalone/browser/quickInput/standaloneQuickInput","vs/css!vs/editor/standalone/browser/standalone-tokens","vs/css!vs/platform/actions/browser/menuEntryActionViewItem","vs/css!vs/platform/contextview/browser/contextMenuHandler","vs/editor/browser/config/migrateOptions","vs/editor/browser/viewParts/lines/rangeUtil","vs/editor/browser/viewParts/minimap/minimapCharRenderer","vs/editor/browser/viewParts/minimap/minimapPreBaked","vs/editor/browser/viewParts/minimap/minimapCharRendererFactory","vs/editor/common/commands/trimTrailingWhitespaceCommand","vs/editor/common/commands/surroundSelectionCommand","vs/editor/common/cursor/cursorContext","vs/editor/common/diff/diffComputer","vs/editor/common/editorTheme","vs/editor/common/languageSelector","vs/editor/common/languages/linkComputer","vs/editor/common/cursor/cursorColumnSelection","vs/editor/common/cursor/oneCursor","vs/editor/common/cursor/cursorCollection","vs/editor/common/languages/supports/characterPair","vs/editor/common/languages/supports/indentRules","vs/editor/common/languages/supports/inplaceReplaceSupport","vs/editor/common/languages/supports/onEnter","vs/editor/common/languages/supports/electricCharacter","vs/editor/common/languages/supports/tokenization","vs/editor/common/languageFeatureRegistry","vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/nodeReader","vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/concat23Trees","vs/editor/common/model/indentationGuesser","vs/editor/common/model/intervalTree","vs/editor/common/model/pieceTreeTextBuffer/rbTreeBase","vs/editor/common/model/mirrorTextModel","vs/editor/common/model/textModelPart","vs/editor/common/model/pieceTreeTextBuffer/pieceTreeTextBufferBuilder","vs/editor/common/services/languagesAssociations","vs/editor/common/services/semanticTokensDto","vs/editor/common/textModelBracketPairs","vs/editor/common/tokenizationRegistry","vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/bracketPairsTree","vs/editor/common/model/bracketPairsTextModelPart/bracketPairsImpl","vs/editor/common/model/bracketPairsTextModelPart/fixBrackets","vs/editor/common/services/editorSimpleWorker","vs/editor/common/tokens/contiguousMultilineTokens","vs/editor/common/tokens/contiguousMultilineTokensBuilder","vs/editor/common/model/textModelTokens","vs/editor/common/tokens/contiguousTokensEditing","vs/editor/common/tokens/contiguousTokensStore","vs/editor/common/tokens/sparseMultilineTokens","vs/editor/common/tokens/sparseTokensStore","vs/editor/browser/viewParts/contentWidgets/contentWidgets","vs/editor/browser/viewParts/decorations/decorations","vs/editor/browser/viewParts/linesDecorations/linesDecorations","vs/editor/browser/viewParts/marginDecorations/marginDecorations","vs/editor/browser/viewParts/overlayWidgets/overlayWidgets","vs/editor/browser/viewParts/viewZones/viewZones","vs/editor/common/viewLayout/linesLayout","vs/editor/common/viewLayout/viewLinesViewportData","vs/editor/common/viewModel/modelLineProjection","vs/editor/common/viewModel/monospaceLineBreaksComputer","vs/editor/browser/viewParts/overviewRuler/overviewRuler","vs/editor/common/viewModel/viewContext","vs/editor/common/viewLayout/viewLayout","vs/editor/contrib/caretOperations/browser/moveCaretCommand","vs/editor/contrib/colorPicker/browser/colorPickerModel","vs/editor/contrib/dnd/browser/dragAndDropCommand","vs/editor/contrib/find/browser/replaceAllCommand","vs/editor/contrib/find/browser/replacePattern","vs/editor/contrib/folding/browser/foldingModel","vs/editor/contrib/folding/browser/hiddenRangeModel","vs/editor/contrib/folding/browser/indentRangeProvider","vs/editor/contrib/folding/browser/intializingRangeProvider","vs/editor/contrib/inPlaceReplace/browser/inPlaceReplaceCommand","vs/editor/contrib/inlineCompletions/browser/utils","vs/editor/contrib/linesOperations/browser/copyLinesCommand","vs/editor/contrib/linesOperations/browser/sortLinesCommand","vs/editor/contrib/smartSelect/browser/wordSelections","vs/editor/contrib/suggest/browser/completionModel","vs/editor/contrib/suggest/browser/suggestCommitCharacters","vs/editor/contrib/suggest/browser/suggestOvertypingCapturer","vs/editor/contrib/suggest/browser/wordDistance","vs/editor/standalone/common/monarch/monarchCompile","vs/editor/standalone/browser/colorizer","vs/nls!vs/base/browser/ui/actionbar/actionViewItems","vs/nls!vs/base/browser/ui/findinput/findInput","vs/nls!vs/base/browser/ui/findinput/findInputCheckboxes","vs/nls!vs/base/browser/ui/findinput/replaceInput","vs/nls!vs/base/browser/ui/iconLabel/iconLabelHover","vs/base/browser/ui/iconLabel/iconLabelHover","vs/nls!vs/base/browser/ui/inputbox/inputBox","vs/nls!vs/base/browser/ui/keybindingLabel/keybindingLabel","vs/nls!vs/base/browser/ui/tree/abstractTree","vs/base/browser/ui/tree/dataTree","vs/base/browser/ui/tree/asyncDataTree","vs/nls!vs/base/common/actions","vs/base/browser/ui/dropdown/dropdown","vs/base/browser/ui/dropdown/dropdownActionViewItem","vs/base/browser/ui/findinput/findInput","vs/base/browser/ui/findinput/replaceInput","vs/base/browser/ui/menu/menu","vs/base/parts/quickinput/browser/quickInputBox","vs/nls!vs/base/common/errorMessage","vs/base/common/errorMessage","vs/nls!vs/base/common/keybindingLabels","vs/base/browser/ui/keybindingLabel/keybindingLabel","vs/nls!vs/base/parts/quickinput/browser/quickInput","vs/nls!vs/base/parts/quickinput/browser/quickInputList","vs/base/parts/quickinput/browser/quickInputList","vs/base/parts/quickinput/browser/quickInput","vs/nls!vs/editor/browser/controller/textAreaHandler","vs/nls!vs/editor/browser/coreCommands","vs/nls!vs/editor/browser/editorExtensions","vs/nls!vs/editor/browser/widget/codeEditorWidget","vs/nls!vs/editor/browser/widget/diffEditorWidget","vs/nls!vs/editor/browser/widget/diffReview","vs/nls!vs/editor/browser/widget/inlineDiffMargin","vs/editor/browser/widget/inlineDiffMargin","vs/nls!vs/editor/common/config/editorConfigurationSchema","vs/nls!vs/editor/common/config/editorOptions","vs/editor/browser/config/charWidthReader","vs/editor/browser/view/domLineBreaksComputer","vs/editor/browser/view/viewOverlays","vs/editor/browser/viewParts/viewCursors/viewCursor","vs/nls!vs/editor/common/core/editorColorRegistry","vs/nls!vs/editor/common/editorContextKeys","vs/nls!vs/editor/common/languages/modesRegistry","vs/nls!vs/editor/common/model/editStack","vs/nls!vs/editor/common/standaloneStrings","vs/nls!vs/editor/contrib/anchorSelect/browser/anchorSelect","vs/nls!vs/editor/contrib/bracketMatching/browser/bracketMatching","vs/nls!vs/editor/contrib/caretOperations/browser/caretOperations","vs/nls!vs/editor/contrib/caretOperations/browser/transpose","vs/nls!vs/editor/contrib/clipboard/browser/clipboard","vs/nls!vs/editor/contrib/codeAction/browser/codeActionCommands","vs/nls!vs/editor/contrib/codeAction/browser/lightBulbWidget","vs/nls!vs/editor/contrib/codelens/browser/codelensController","vs/nls!vs/editor/contrib/colorPicker/browser/colorPickerWidget","vs/nls!vs/editor/contrib/comment/browser/comment","vs/nls!vs/editor/contrib/contextmenu/browser/contextmenu","vs/nls!vs/editor/contrib/cursorUndo/browser/cursorUndo","vs/nls!vs/editor/contrib/editorState/browser/keybindingCancellation","vs/nls!vs/editor/contrib/find/browser/findController","vs/nls!vs/editor/contrib/find/browser/findWidget","vs/nls!vs/editor/contrib/folding/browser/folding","vs/nls!vs/editor/contrib/folding/browser/foldingDecorations","vs/nls!vs/editor/contrib/fontZoom/browser/fontZoom","vs/nls!vs/editor/contrib/format/browser/format","vs/nls!vs/editor/contrib/format/browser/formatActions","vs/nls!vs/editor/contrib/gotoError/browser/gotoError","vs/nls!vs/editor/contrib/gotoError/browser/gotoErrorWidget","vs/nls!vs/editor/contrib/gotoSymbol/browser/goToCommands","vs/nls!vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition","vs/nls!vs/editor/contrib/gotoSymbol/browser/peek/referencesController","vs/nls!vs/editor/contrib/gotoSymbol/browser/peek/referencesTree","vs/nls!vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget","vs/nls!vs/editor/contrib/gotoSymbol/browser/referencesModel","vs/nls!vs/editor/contrib/gotoSymbol/browser/symbolNavigation","vs/nls!vs/editor/contrib/hover/browser/hover","vs/nls!vs/editor/contrib/hover/browser/markdownHoverParticipant","vs/nls!vs/editor/contrib/hover/browser/markerHoverParticipant","vs/nls!vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace","vs/nls!vs/editor/contrib/indentation/browser/indentation","vs/nls!vs/editor/contrib/inlayHints/browser/inlayHintsHover","vs/nls!vs/editor/contrib/inlineCompletions/browser/ghostTextController","vs/nls!vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHoverParticipant","vs/nls!vs/editor/contrib/lineSelection/browser/lineSelection","vs/nls!vs/editor/contrib/linesOperations/browser/linesOperations","vs/nls!vs/editor/contrib/linkedEditing/browser/linkedEditing","vs/nls!vs/editor/contrib/links/browser/links","vs/nls!vs/editor/contrib/message/browser/messageController","vs/nls!vs/editor/contrib/multicursor/browser/multicursor","vs/nls!vs/editor/contrib/parameterHints/browser/parameterHints","vs/nls!vs/editor/contrib/parameterHints/browser/parameterHintsWidget","vs/nls!vs/editor/contrib/peekView/browser/peekView","vs/nls!vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess","vs/nls!vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess","vs/nls!vs/editor/contrib/rename/browser/rename","vs/nls!vs/editor/contrib/rename/browser/renameInputField","vs/nls!vs/editor/contrib/smartSelect/browser/smartSelect","vs/nls!vs/editor/contrib/snippet/browser/snippetController2","vs/nls!vs/editor/contrib/snippet/browser/snippetVariables","vs/nls!vs/editor/contrib/suggest/browser/suggest","vs/nls!vs/editor/contrib/suggest/browser/suggestController","vs/nls!vs/editor/contrib/suggest/browser/suggestWidget","vs/nls!vs/editor/contrib/suggest/browser/suggestWidgetDetails","vs/nls!vs/editor/contrib/suggest/browser/suggestWidgetRenderer","vs/nls!vs/editor/contrib/suggest/browser/suggestWidgetStatus","vs/nls!vs/editor/contrib/symbolIcons/browser/symbolIcons","vs/nls!vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode","vs/nls!vs/editor/contrib/tokenization/browser/tokenization","vs/nls!vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter","vs/nls!vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators","vs/nls!vs/editor/contrib/wordHighlighter/browser/wordHighlighter","vs/nls!vs/editor/contrib/wordOperations/browser/wordOperations","vs/nls!vs/platform/actions/browser/menuEntryActionViewItem","vs/nls!vs/platform/configuration/common/configurationRegistry","vs/nls!vs/platform/contextkey/browser/contextKeyService","vs/nls!vs/platform/contextkey/common/contextkeys","vs/nls!vs/platform/history/browser/contextScopedHistoryWidget","vs/nls!vs/platform/keybinding/common/abstractKeybindingService","vs/nls!vs/platform/list/browser/listService","vs/nls!vs/platform/markers/common/markers","vs/nls!vs/platform/quickinput/browser/commandsQuickAccess","vs/nls!vs/platform/quickinput/browser/helpQuickAccess","vs/nls!vs/platform/theme/common/colorRegistry","vs/nls!vs/platform/theme/common/iconRegistry","vs/nls!vs/platform/undoRedo/common/undoRedoService","vs/nls!vs/platform/workspace/common/workspace","vs/platform/editor/common/editor","vs/platform/extensions/common/extensions","vs/platform/history/browser/historyWidgetKeybindingHint","vs/platform/instantiation/common/graph","vs/editor/common/services/languageFeaturesService","vs/editor/contrib/links/browser/getLinks","vs/editor/contrib/comment/browser/lineCommentCommand","vs/editor/contrib/linesOperations/browser/moveLinesCommand","vs/editor/contrib/parameterHints/browser/parameterHintsModel","vs/editor/contrib/suggest/browser/suggestAlternatives","vs/editor/contrib/suggest/browser/wordContextKey","vs/editor/browser/config/editorConfiguration","vs/platform/accessibility/browser/accessibilityService","vs/platform/contextkey/browser/contextKeyService","vs/platform/instantiation/common/instantiationService","vs/platform/keybinding/common/abstractKeybindingService","vs/platform/keybinding/common/baseResolvedKeybinding","vs/platform/keybinding/common/keybindingResolver","vs/platform/keybinding/common/usLayoutResolvedKeybinding","vs/platform/contextview/browser/contextViewService","vs/editor/browser/services/webWorker","vs/editor/contrib/documentSymbols/browser/documentSymbols","vs/platform/clipboard/browser/clipboardService","vs/editor/contrib/gotoError/browser/markerNavigationService","vs/platform/markers/common/markerService","vs/editor/browser/services/openerService","vs/platform/quickinput/browser/pickerQuickAccess","vs/editor/common/config/editorConfigurationSchema","vs/editor/common/services/getIconClasses","vs/editor/common/services/languagesRegistry","vs/editor/common/services/languageService","vs/editor/contrib/hover/browser/marginHover","vs/platform/configuration/common/configurationModels","vs/platform/quickinput/browser/helpQuickAccess","vs/editor/standalone/browser/quickAccess/standaloneHelpQuickAccess","vs/platform/quickinput/browser/quickAccess","vs/editor/contrib/codelens/browser/codeLensCache","vs/editor/contrib/suggest/browser/suggestMemory","vs/platform/quickinput/browser/commandsQuickAccess","vs/editor/contrib/quickAccess/browser/commandsQuickAccess","vs/platform/contextview/browser/contextMenuHandler","vs/editor/browser/controller/mouseHandler","vs/editor/browser/controller/pointerHandler","vs/editor/browser/viewParts/lines/viewLines","vs/editor/browser/services/abstractCodeEditorService","vs/editor/browser/viewParts/editorScrollbar/editorScrollbar","vs/editor/browser/viewParts/minimap/minimap","vs/editor/browser/viewParts/scrollDecoration/scrollDecoration","vs/editor/browser/viewParts/selections/selections","vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight","vs/editor/browser/viewParts/indentGuides/indentGuides","vs/editor/browser/controller/textAreaHandler","vs/editor/browser/viewParts/overviewRuler/decorationsOverviewRuler","vs/editor/browser/viewParts/rulers/rulers","vs/editor/browser/viewParts/viewCursors/viewCursors","vs/editor/common/model/bracketPairsTextModelPart/colorizedBracketPairsDecorationProvider","vs/editor/common/services/markerDecorationsService","vs/editor/contrib/codeAction/browser/lightBulbWidget","vs/editor/contrib/colorPicker/browser/colorPickerWidget","vs/editor/contrib/gotoSymbol/browser/peek/referencesTree","vs/editor/contrib/inlineCompletions/browser/ghostTextWidget","vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess","vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess","vs/editor/contrib/rename/browser/renameInputField","vs/editor/standalone/common/themes","vs/editor/browser/services/markerDecorations","vs/editor/browser/view/viewController","vs/editor/browser/view","vs/editor/contrib/anchorSelect/browser/anchorSelect","vs/editor/contrib/caretOperations/browser/caretOperations","vs/editor/contrib/caretOperations/browser/transpose","vs/editor/contrib/clipboard/browser/clipboard","vs/editor/contrib/comment/browser/comment","vs/editor/contrib/contextmenu/browser/contextmenu","vs/editor/contrib/cursorUndo/browser/cursorUndo","vs/editor/contrib/editorState/browser/keybindingCancellation","vs/editor/contrib/codeAction/browser/codeActionMenu","vs/editor/contrib/codeAction/browser/codeActionModel","vs/editor/contrib/fontZoom/browser/fontZoom","vs/editor/contrib/format/browser/formatActions","vs/editor/contrib/gotoSymbol/browser/symbolNavigation","vs/editor/contrib/indentation/browser/indentation","vs/editor/contrib/lineSelection/browser/lineSelection","vs/editor/contrib/linesOperations/browser/linesOperations","vs/editor/contrib/codeAction/browser/codeActionUi","vs/editor/contrib/codeAction/browser/codeActionContributions","vs/editor/contrib/rename/browser/rename","vs/editor/contrib/smartSelect/browser/smartSelect","vs/editor/contrib/tokenization/browser/tokenization","vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators","vs/editor/contrib/wordPartOperations/browser/wordPartOperations","vs/editor/standalone/browser/accessibilityHelp/accessibilityHelp","vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard","vs/editor/standalone/browser/inspectTokens/inspectTokens","vs/editor/standalone/browser/quickAccess/standaloneCommandsQuickAccess","vs/editor/standalone/browser/quickAccess/standaloneGotoLineQuickAccess","vs/editor/standalone/browser/quickAccess/standaloneGotoSymbolQuickAccess","vs/editor/standalone/browser/toggleHighContrast/toggleHighContrast","vs/editor/contrib/suggest/browser/suggestWidgetStatus","vs/platform/actions/common/menuService","vs/platform/contextview/browser/contextMenuService","vs/platform/opener/browser/link","vs/platform/quickinput/browser/quickInput","vs/editor/standalone/browser/quickInput/standaloneQuickInputService","vs/platform/severityIcon/common/severityIcon","vs/editor/browser/widget/diffReview","vs/editor/contrib/parameterHints/browser/parameterHintsWidget","vs/editor/contrib/parameterHints/browser/parameterHints","vs/editor/contrib/suggest/browser/suggestWidgetRenderer","vs/editor/contrib/unicodeHighlighter/browser/bannerController","vs/platform/theme/browser/iconsStyleSheet","vs/editor/standalone/browser/standaloneThemeService","vs/editor/common/viewModel/viewModelLines","vs/editor/common/viewModel/viewModelImpl","vs/editor/contrib/bracketMatching/browser/bracketMatching","vs/editor/contrib/codelens/browser/codelensWidget","vs/editor/contrib/codelens/browser/codelensController","vs/editor/contrib/colorPicker/browser/colorHoverParticipant","vs/editor/contrib/dnd/browser/dnd","vs/editor/contrib/find/browser/findDecorations","vs/editor/contrib/find/browser/findOptionsWidget","vs/editor/contrib/find/browser/findState","vs/editor/contrib/find/browser/findWidget","vs/editor/contrib/folding/browser/foldingDecorations","vs/editor/contrib/folding/browser/folding","vs/editor/contrib/hover/browser/contentHover","vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace","vs/editor/contrib/linkedEditing/browser/linkedEditing","vs/editor/contrib/links/browser/links","vs/editor/contrib/multicursor/browser/multicursor","vs/editor/contrib/suggest/browser/suggestWidget","vs/editor/contrib/viewportSemanticTokens/browser/viewportSemanticTokens","vs/editor/contrib/wordHighlighter/browser/wordHighlighter","vs/editor/contrib/zoneWidget/browser/zoneWidget","vs/editor/contrib/gotoError/browser/gotoErrorWidget","vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget","vs/editor/contrib/hover/browser/markerHoverParticipant","vs/editor/contrib/colorPicker/browser/colorContributions","vs/editor/contrib/inlayHints/browser/inlayHintsLocations","vs/editor/contrib/inlayHints/browser/inlayHintsHover","vs/editor/contrib/inlayHints/browser/inlayHintsContribution","vs/editor/standalone/browser/referenceSearch/standaloneReferenceSearch","vs/platform/undoRedo/common/undoRedoService","vs/editor/contrib/snippet/browser/snippetVariables","vs/editor/contrib/suggest/browser/suggestModel","vs/editor/contrib/inlineCompletions/browser/suggestWidgetInlineCompletionProvider","vs/editor/contrib/inlineCompletions/browser/suggestWidgetPreviewModel","vs/editor/contrib/inlineCompletions/browser/ghostTextModel","vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHoverParticipant","vs/editor/contrib/inlineCompletions/browser/inlineCompletionsContribution","vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter","vs/editor/editor.all","vs/editor/standalone/browser/standaloneCodeEditor","vs/editor/standalone/browser/standaloneEditor","vs/editor/standalone/browser/standaloneLanguages","vs/editor/editor.api","vs/base/browser/dompurify/dompurify","vs/editor/edcore.main"],ie=function(q){for(var e=[],L=0,m=q.length;L<m;L++)e[L]=te[q[L]];return e},li;(function(q){var e=function(){function m(){this._pendingLoads=0}return m.prototype.attachListeners=function(k,I,w,b){var C=function(){I.removeEventListener("load",u),I.removeEventListener("error",g)},u=function(t){C(),w()},g=function(t){C(),b(t)};I.addEventListener("load",u),I.addEventListener("error",g)},m.prototype._onLoad=function(k,I){this._pendingLoads--,I()},m.prototype._onLoadError=function(k,I,w){this._pendingLoads--,I(w)},m.prototype._insertLinkNode=function(k){this._pendingLoads++;var I=document.head||document.getElementsByTagName("head")[0];I.appendChild(k)},m.prototype.createLinkTag=function(k,I,w,b){var C=this,u=document.createElement("link");u.setAttribute("rel","stylesheet"),u.setAttribute("type","text/css"),u.setAttribute("data-name",k);var g=function(){return C._onLoad(k,w)},t=function(n){return C._onLoadError(k,b,n)};return this.attachListeners(k,u,g,t),u.setAttribute("href",I),u},m.prototype._linkTagExists=function(k,I){var w,b,C,u,g=document.getElementsByTagName("link");for(w=0,b=g.length;w<b;w++)if(C=g[w].getAttribute("data-name"),u=g[w].getAttribute("href"),C===k||u===I)return!0;return!1},m.prototype.load=function(k,I,w,b){if(this._linkTagExists(k,I)){w();return}var C=this.createLinkTag(k,I,w,b);this._insertLinkNode(C)},m}(),L=function(){function m(){this._cssLoader=new e}return m.prototype.load=function(k,I,w,b){b=b||{};var C=b["vs/css"]||{};if(C.disabled){w({});return}var u=I.toUrl(k+".css");this._cssLoader.load(k,u,function(g){w({})},function(g){typeof w.error=="function"&&w.error("Could not find "+u+" or it was empty")})},m}();q.CSSPlugin=L,define("vs/css",new L)})(li||(li={}));var Xi=this&&this.__spreadArrays||function(){for(var q=0,e=0,L=arguments.length;e<L;e++)q+=arguments[e].length;for(var m=Array(q),k=0,e=0;e<L;e++)for(var I=arguments[e],w=0,b=I.length;w<b;w++,k++)m[k]=I[w];return m},di;(function(q){var e=function(){function b(){this._detected=!1,this._isPseudo=!1}return Object.defineProperty(b.prototype,"isPseudo",{get:function(){return this._detect(),this._isPseudo},enumerable:!1,configurable:!0}),b.prototype._detect=function(){this._detected||(this._detected=!0,this._isPseudo=typeof document!="undefined"&&document.location&&document.location.hash.indexOf("pseudo=true")>=0)},b}();function L(b,C,u){var g;return C.length===0?g=b:g=b.replace(/\{(\d+)\}/g,function(t,n){var i=n[0],o=C[i],c=t;return typeof o=="string"?c=o:(typeof o=="number"||typeof o=="boolean"||o===void 0||o===null)&&(c=String(o)),c}),u.isPseudo&&(g="\uFF3B"+g.replace(/[aouei]/g,"$&$&")+"\uFF3D"),g}function m(b,C){var u=b[C];return u||(u=b["*"],u)?u:null}function k(b,C,u){for(var g=[],t=3;t<arguments.length;t++)g[t-3]=arguments[t];return L(u,g,b)}function I(b,C){return function(u,g){var t=Array.prototype.slice.call(arguments,2);return L(b[u],t,C)}}var w=function(){function b(C){var u=this;this._env=C,this.localize=function(g,t){for(var n=[],i=2;i<arguments.length;i++)n[i-2]=arguments[i];return k.apply(void 0,Xi([u._env,g,t],n))}}return b.prototype.setPseudoTranslation=function(C){this._env._isPseudo=C},b.prototype.create=function(C,u){return{localize:I(u[C],this._env)}},b.prototype.load=function(C,u,g,t){var n=this;if(t=t||{},!C||C.length===0)g({localize:this.localize});else{var i=t["vs/nls"]||{},o=i.availableLanguages?m(i.availableLanguages,C):null,c=".nls";o!==null&&o!==b.DEFAULT_TAG&&(c=c+"."+o);var d=function(r){Array.isArray(r)?r.localize=I(r,n._env):r.localize=I(r[C],n._env),g(r)};typeof i.loadBundle=="function"?i.loadBundle(C,o,function(r,s){r?u([C+".nls"],d):d(s)}):u([C+c],d)}},b.DEFAULT_TAG="i-default",b}();q.NLSPlugin=w,define("vs/nls",new w(new e))})(di||(di={}));/*! @license DOMPurify 2.3.1 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.3.1/LICENSE */function Qi(q){if(Array.isArray(q)){for(var e=0,L=Array(q.length);e<q.length;e++)L[e]=q[e];return L}else return Array.from(q)}var Ji=Object.hasOwnProperty,ci=Object.setPrototypeOf,en=Object.isFrozen,tn=Object.getPrototypeOf,nn=Object.getOwnPropertyDescriptor,rt=Object.freeze,ft=Object.seal,sn=Object.create,ui=typeof Reflect!="undefined"&&Reflect,At=ui.apply,Kt=ui.construct;At||(At=function(e,L,m){return e.apply(L,m)}),rt||(rt=function(e){return e}),ft||(ft=function(e){return e}),Kt||(Kt=function(e,L){return new(Function.prototype.bind.apply(e,[null].concat(Qi(L))))});var on=ut(Array.prototype.forEach),hi=ut(Array.prototype.pop),It=ut(Array.prototype.push),_t=ut(String.prototype.toLowerCase),gi=ut(String.prototype.match),vt=ut(String.prototype.replace),rn=ut(String.prototype.indexOf),an=ut(String.prototype.trim),mt=ut(RegExp.prototype.test),fi=ln(TypeError);function ut(q){return function(e){for(var L=arguments.length,m=Array(L>1?L-1:0),k=1;k<L;k++)m[k-1]=arguments[k];return At(q,e,m)}}function ln(q){return function(){for(var e=arguments.length,L=Array(e),m=0;m<e;m++)L[m]=arguments[m];return Kt(q,L)}}function Qe(q,e){ci&&ci(q,null);for(var L=e.length;L--;){var m=e[L];if(typeof m=="string"){var k=_t(m);k!==m&&(en(e)||(e[L]=k),m=k)}q[m]=!0}return q}function St(q){var e=sn(null),L=void 0;for(L in q)At(Ji,q,[L])&&(e[L]=q[L]);return e}function Rt(q,e){for(;q!==null;){var L=nn(q,e);if(L){if(L.get)return ut(L.get);if(typeof L.value=="function")return ut(L.value)}q=tn(q)}function m(k){return console.warn("fallback value for",k),null}return m}var mi=rt(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),jt=rt(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),qt=rt(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),dn=rt(["animate","color-profile","cursor","discard","fedropshadow","feimage","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),$t=rt(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover"]),cn=rt(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),pi=rt(["#text"]),Ci=rt(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","xmlns","slot"]),Gt=rt(["accent-height","accumulate","additive","alignment-baseline","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","targetx","targety","transform","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),vi=rt(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),Pt=rt(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),un=ft(/\{\{[\s\S]*|[\s\S]*\}\}/gm),hn=ft(/<%[\s\S]*|[\s\S]*%>/gm),gn=ft(/^data-[\-\w.\u00B7-\uFFFF]/),fn=ft(/^aria-[\-\w]+$/),mn=ft(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),pn=ft(/^(?:\w+script|data):/i),Cn=ft(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Dt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(q){return typeof q}:function(q){return q&&typeof Symbol=="function"&&q.constructor===Symbol&&q!==Symbol.prototype?"symbol":typeof q};function gt(q){if(Array.isArray(q)){for(var e=0,L=Array(q.length);e<q.length;e++)L[e]=q[e];return L}else return Array.from(q)}var vn=function(){return typeof window=="undefined"?null:window},bn=function(e,L){if((typeof e=="undefined"?"undefined":Dt(e))!=="object"||typeof e.createPolicy!="function")return null;var m=null,k="data-tt-policy-suffix";L.currentScript&&L.currentScript.hasAttribute(k)&&(m=L.currentScript.getAttribute(k));var I="dompurify"+(m?"#"+m:"");try{return e.createPolicy(I,{createHTML:function(b){return b}})}catch{return console.warn("TrustedTypes policy "+I+" could not be created."),null}};function bi(){var q=arguments.length>0&&arguments[0]!==void 0?arguments[0]:vn(),e=function(Ee){return bi(Ee)};if(e.version="2.3.1",e.removed=[],!q||!q.document||q.document.nodeType!==9)return e.isSupported=!1,e;var L=q.document,m=q.document,k=q.DocumentFragment,I=q.HTMLTemplateElement,w=q.Node,b=q.Element,C=q.NodeFilter,u=q.NamedNodeMap,g=u===void 0?q.NamedNodeMap||q.MozNamedAttrMap:u,t=q.Text,n=q.Comment,i=q.DOMParser,o=q.trustedTypes,c=b.prototype,d=Rt(c,"cloneNode"),r=Rt(c,"nextSibling"),s=Rt(c,"childNodes"),a=Rt(c,"parentNode");if(typeof I=="function"){var l=m.createElement("template");l.content&&l.content.ownerDocument&&(m=l.content.ownerDocument)}var h=bn(o,L),f=h&&ue?h.createHTML(""):"",S=m,v=S.implementation,p=S.createNodeIterator,_=S.createDocumentFragment,y=S.getElementsByTagName,E=L.importNode,N={};try{N=St(m).documentMode?m.documentMode:{}}catch{}var D={};e.isSupported=typeof a=="function"&&v&&typeof v.createHTMLDocument!="undefined"&&N!==9;var M=un,B=hn,O=gn,T=fn,A=pn,P=Cn,F=mn,W=null,R=Qe({},[].concat(gt(mi),gt(jt),gt(qt),gt($t),gt(pi))),z=null,j=Qe({},[].concat(gt(Ci),gt(Gt),gt(vi),gt(Pt))),$=null,G=null,J=!0,re=!0,se=!1,Z=!1,V=!1,K=!1,X=!1,oe=!1,ae=!1,ee=!0,ue=!1,le=!0,x=!0,H=!1,U={},Q=null,Y=Qe({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),ne=null,ge=Qe({},["audio","video","img","source","image","track"]),fe=null,ce=Qe({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),he="http://www.w3.org/1998/Math/MathML",ve="http://www.w3.org/2000/svg",Ce="http://www.w3.org/1999/xhtml",be=Ce,de=!1,me=null,_e=m.createElement("form"),ye=function(Ee){me&&me===Ee||((!Ee||(typeof Ee=="undefined"?"undefined":Dt(Ee))!=="object")&&(Ee={}),Ee=St(Ee),W="ALLOWED_TAGS"in Ee?Qe({},Ee.ALLOWED_TAGS):R,z="ALLOWED_ATTR"in Ee?Qe({},Ee.ALLOWED_ATTR):j,fe="ADD_URI_SAFE_ATTR"in Ee?Qe(St(ce),Ee.ADD_URI_SAFE_ATTR):ce,ne="ADD_DATA_URI_TAGS"in Ee?Qe(St(ge),Ee.ADD_DATA_URI_TAGS):ge,Q="FORBID_CONTENTS"in Ee?Qe({},Ee.FORBID_CONTENTS):Y,$="FORBID_TAGS"in Ee?Qe({},Ee.FORBID_TAGS):{},G="FORBID_ATTR"in Ee?Qe({},Ee.FORBID_ATTR):{},U="USE_PROFILES"in Ee?Ee.USE_PROFILES:!1,J=Ee.ALLOW_ARIA_ATTR!==!1,re=Ee.ALLOW_DATA_ATTR!==!1,se=Ee.ALLOW_UNKNOWN_PROTOCOLS||!1,Z=Ee.SAFE_FOR_TEMPLATES||!1,V=Ee.WHOLE_DOCUMENT||!1,oe=Ee.RETURN_DOM||!1,ae=Ee.RETURN_DOM_FRAGMENT||!1,ee=Ee.RETURN_DOM_IMPORT!==!1,ue=Ee.RETURN_TRUSTED_TYPE||!1,X=Ee.FORCE_BODY||!1,le=Ee.SANITIZE_DOM!==!1,x=Ee.KEEP_CONTENT!==!1,H=Ee.IN_PLACE||!1,F=Ee.ALLOWED_URI_REGEXP||F,be=Ee.NAMESPACE||Ce,Z&&(re=!1),ae&&(oe=!0),U&&(W=Qe({},[].concat(gt(pi))),z=[],U.html===!0&&(Qe(W,mi),Qe(z,Ci)),U.svg===!0&&(Qe(W,jt),Qe(z,Gt),Qe(z,Pt)),U.svgFilters===!0&&(Qe(W,qt),Qe(z,Gt),Qe(z,Pt)),U.mathMl===!0&&(Qe(W,$t),Qe(z,vi),Qe(z,Pt))),Ee.ADD_TAGS&&(W===R&&(W=St(W)),Qe(W,Ee.ADD_TAGS)),Ee.ADD_ATTR&&(z===j&&(z=St(z)),Qe(z,Ee.ADD_ATTR)),Ee.ADD_URI_SAFE_ATTR&&Qe(fe,Ee.ADD_URI_SAFE_ATTR),Ee.FORBID_CONTENTS&&(Q===Y&&(Q=St(Q)),Qe(Q,Ee.FORBID_CONTENTS)),x&&(W["#text"]=!0),V&&Qe(W,["html","head","body"]),W.table&&(Qe(W,["tbody"]),delete $.tbody),rt&&rt(Ee),me=Ee)},ke=Qe({},["mi","mo","mn","ms","mtext"]),Te=Qe({},["foreignobject","desc","title","annotation-xml"]),Me=Qe({},jt);Qe(Me,qt),Qe(Me,dn);var We=Qe({},$t);Qe(We,cn);var xe=function(Ee){var Re=a(Ee);(!Re||!Re.tagName)&&(Re={namespaceURI:Ce,tagName:"template"});var Ae=_t(Ee.tagName),je=_t(Re.tagName);if(Ee.namespaceURI===ve)return Re.namespaceURI===Ce?Ae==="svg":Re.namespaceURI===he?Ae==="svg"&&(je==="annotation-xml"||ke[je]):Boolean(Me[Ae]);if(Ee.namespaceURI===he)return Re.namespaceURI===Ce?Ae==="math":Re.namespaceURI===ve?Ae==="math"&&Te[je]:Boolean(We[Ae]);if(Ee.namespaceURI===Ce){if(Re.namespaceURI===ve&&!Te[je]||Re.namespaceURI===he&&!ke[je])return!1;var et=Qe({},["title","style","font","a","script"]);return!We[Ae]&&(et[Ae]||!Me[Ae])}return!1},He=function(Ee){It(e.removed,{element:Ee});try{Ee.parentNode.removeChild(Ee)}catch{try{Ee.outerHTML=f}catch{Ee.remove()}}},Le=function(Ee,Re){try{It(e.removed,{attribute:Re.getAttributeNode(Ee),from:Re})}catch{It(e.removed,{attribute:null,from:Re})}if(Re.removeAttribute(Ee),Ee==="is"&&!z[Ee])if(oe||ae)try{He(Re)}catch{}else try{Re.setAttribute(Ee,"")}catch{}},Se=function(Ee){var Re=void 0,Ae=void 0;if(X)Ee="<remove></remove>"+Ee;else{var je=gi(Ee,/^[\r\n\t ]+/);Ae=je&&je[0]}var et=h?h.createHTML(Ee):Ee;if(be===Ce)try{Re=new i().parseFromString(et,"text/html")}catch{}if(!Re||!Re.documentElement){Re=v.createDocument(be,"template",null);try{Re.documentElement.innerHTML=de?"":et}catch{}}var Ze=Re.body||Re.documentElement;return Ee&&Ae&&Ze.insertBefore(m.createTextNode(Ae),Ze.childNodes[0]||null),be===Ce?y.call(Re,V?"html":"body")[0]:V?Re.documentElement:Ze},De=function(Ee){return p.call(Ee.ownerDocument||Ee,Ee,C.SHOW_ELEMENT|C.SHOW_COMMENT|C.SHOW_TEXT,null,!1)},Pe=function(Ee){return Ee instanceof t||Ee instanceof n?!1:typeof Ee.nodeName!="string"||typeof Ee.textContent!="string"||typeof Ee.removeChild!="function"||!(Ee.attributes instanceof g)||typeof Ee.removeAttribute!="function"||typeof Ee.setAttribute!="function"||typeof Ee.namespaceURI!="string"||typeof Ee.insertBefore!="function"},Fe=function(Ee){return(typeof w=="undefined"?"undefined":Dt(w))==="object"?Ee instanceof w:Ee&&(typeof Ee=="undefined"?"undefined":Dt(Ee))==="object"&&typeof Ee.nodeType=="number"&&typeof Ee.nodeName=="string"},ze=function(Ee,Re,Ae){!D[Ee]||on(D[Ee],function(je){je.call(e,Re,Ae,me)})},Ke=function(Ee){var Re=void 0;if(ze("beforeSanitizeElements",Ee,null),Pe(Ee)||gi(Ee.nodeName,/[\u0080-\uFFFF]/))return He(Ee),!0;var Ae=_t(Ee.nodeName);if(ze("uponSanitizeElement",Ee,{tagName:Ae,allowedTags:W}),!Fe(Ee.firstElementChild)&&(!Fe(Ee.content)||!Fe(Ee.content.firstElementChild))&&mt(/<[/\w]/g,Ee.innerHTML)&&mt(/<[/\w]/g,Ee.textContent)||Ae==="select"&&mt(/<template/i,Ee.innerHTML))return He(Ee),!0;if(!W[Ae]||$[Ae]){if(x&&!Q[Ae]){var je=a(Ee)||Ee.parentNode,et=s(Ee)||Ee.childNodes;if(et&&je)for(var Ze=et.length,qe=Ze-1;qe>=0;--qe)je.insertBefore(d(et[qe],!0),r(Ee))}return He(Ee),!0}return Ee instanceof b&&!xe(Ee)||(Ae==="noscript"||Ae==="noembed")&&mt(/<\/no(script|embed)/i,Ee.innerHTML)?(He(Ee),!0):(Z&&Ee.nodeType===3&&(Re=Ee.textContent,Re=vt(Re,M," "),Re=vt(Re,B," "),Ee.textContent!==Re&&(It(e.removed,{element:Ee.cloneNode()}),Ee.textContent=Re)),ze("afterSanitizeElements",Ee,null),!1)},$e=function(Ee,Re,Ae){if(le&&(Re==="id"||Re==="name")&&(Ae in m||Ae in _e))return!1;if(!(re&&!G[Re]&&mt(O,Re))){if(!(J&&mt(T,Re))){if(!z[Re]||G[Re])return!1;if(!fe[Re]){if(!mt(F,vt(Ae,P,""))){if(!((Re==="src"||Re==="xlink:href"||Re==="href")&&Ee!=="script"&&rn(Ae,"data:")===0&&ne[Ee])){if(!(se&&!mt(A,vt(Ae,P,"")))){if(Ae)return!1}}}}}}return!0},Ve=function(Ee){var Re=void 0,Ae=void 0,je=void 0,et=void 0;ze("beforeSanitizeAttributes",Ee,null);var Ze=Ee.attributes;if(!!Ze){var qe={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:z};for(et=Ze.length;et--;){Re=Ze[et];var Ne=Re,Oe=Ne.name,Ue=Ne.namespaceURI;if(Ae=an(Re.value),je=_t(Oe),qe.attrName=je,qe.attrValue=Ae,qe.keepAttr=!0,qe.forceKeepAttr=void 0,ze("uponSanitizeAttribute",Ee,qe),Ae=qe.attrValue,!qe.forceKeepAttr&&(Le(Oe,Ee),!!qe.keepAttr)){if(mt(/\/>/i,Ae)){Le(Oe,Ee);continue}Z&&(Ae=vt(Ae,M," "),Ae=vt(Ae,B," "));var Ge=Ee.nodeName.toLowerCase();if(!!$e(Ge,je,Ae))try{Ue?Ee.setAttributeNS(Ue,Oe,Ae):Ee.setAttribute(Oe,Ae),hi(e.removed)}catch{}}}ze("afterSanitizeAttributes",Ee,null)}},tt=function Be(Ee){var Re=void 0,Ae=De(Ee);for(ze("beforeSanitizeShadowDOM",Ee,null);Re=Ae.nextNode();)ze("uponSanitizeShadowNode",Re,null),!Ke(Re)&&(Re.content instanceof k&&Be(Re.content),Ve(Re));ze("afterSanitizeShadowDOM",Ee,null)};return e.sanitize=function(Be,Ee){var Re=void 0,Ae=void 0,je=void 0,et=void 0,Ze=void 0;if(de=!Be,de&&(Be="<!-->"),typeof Be!="string"&&!Fe(Be)){if(typeof Be.toString!="function")throw fi("toString is not a function");if(Be=Be.toString(),typeof Be!="string")throw fi("dirty is not a string, aborting")}if(!e.isSupported){if(Dt(q.toStaticHTML)==="object"||typeof q.toStaticHTML=="function"){if(typeof Be=="string")return q.toStaticHTML(Be);if(Fe(Be))return q.toStaticHTML(Be.outerHTML)}return Be}if(K||ye(Ee),e.removed=[],typeof Be=="string"&&(H=!1),!H)if(Be instanceof w)Re=Se("<!---->"),Ae=Re.ownerDocument.importNode(Be,!0),Ae.nodeType===1&&Ae.nodeName==="BODY"||Ae.nodeName==="HTML"?Re=Ae:Re.appendChild(Ae);else{if(!oe&&!Z&&!V&&Be.indexOf("<")===-1)return h&&ue?h.createHTML(Be):Be;if(Re=Se(Be),!Re)return oe?null:f}Re&&X&&He(Re.firstChild);for(var qe=De(H?Be:Re);je=qe.nextNode();)je.nodeType===3&&je===et||Ke(je)||(je.content instanceof k&&tt(je.content),Ve(je),et=je);if(et=null,H)return Be;if(oe){if(ae)for(Ze=_.call(Re.ownerDocument);Re.firstChild;)Ze.appendChild(Re.firstChild);else Ze=Re;return ee&&(Ze=E.call(L,Ze,!0)),Ze}var Ne=V?Re.outerHTML:Re.innerHTML;return Z&&(Ne=vt(Ne,M," "),Ne=vt(Ne,B," ")),h&&ue?h.createHTML(Ne):Ne},e.setConfig=function(Be){ye(Be),K=!0},e.clearConfig=function(){me=null,K=!1},e.isValidAttribute=function(Be,Ee,Re){me||ye({});var Ae=_t(Be),je=_t(Ee);return $e(Ae,je,Re)},e.addHook=function(Be,Ee){typeof Ee=="function"&&(D[Be]=D[Be]||[],It(D[Be],Ee))},e.removeHook=function(Be){D[Be]&&hi(D[Be])},e.removeHooks=function(Be){D[Be]&&(D[Be]=[])},e.removeAllHooks=function(){D={}},e}var _n=bi();define("vs/base/browser/dompurify/dompurify",function(){return _n}),define(te[31],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createFastDomNode=e.FastDomNode=void 0;class L{constructor(I){this.domNode=I,this._maxWidth=-1,this._width=-1,this._height=-1,this._top=-1,this._left=-1,this._bottom=-1,this._right=-1,this._fontFamily="",this._fontWeight="",this._fontSize=-1,this._fontStyle="",this._fontFeatureSettings="",this._textDecoration="",this._lineHeight=-1,this._letterSpacing=-100,this._className="",this._display="",this._position="",this._visibility="",this._color="",this._backgroundColor="",this._layerHint=!1,this._contain="none",this._boxShadow=""}setMaxWidth(I){this._maxWidth!==I&&(this._maxWidth=I,this.domNode.style.maxWidth=this._maxWidth+"px")}setWidth(I){this._width!==I&&(this._width=I,this.domNode.style.width=this._width+"px")}setHeight(I){this._height!==I&&(this._height=I,this.domNode.style.height=this._height+"px")}setTop(I){this._top!==I&&(this._top=I,this.domNode.style.top=this._top+"px")}unsetTop(){this._top!==-1&&(this._top=-1,this.domNode.style.top="")}setLeft(I){this._left!==I&&(this._left=I,this.domNode.style.left=this._left+"px")}setBottom(I){this._bottom!==I&&(this._bottom=I,this.domNode.style.bottom=this._bottom+"px")}setRight(I){this._right!==I&&(this._right=I,this.domNode.style.right=this._right+"px")}setFontFamily(I){this._fontFamily!==I&&(this._fontFamily=I,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(I){this._fontWeight!==I&&(this._fontWeight=I,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(I){this._fontSize!==I&&(this._fontSize=I,this.domNode.style.fontSize=this._fontSize+"px")}setFontStyle(I){this._fontStyle!==I&&(this._fontStyle=I,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(I){this._fontFeatureSettings!==I&&(this._fontFeatureSettings=I,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setTextDecoration(I){this._textDecoration!==I&&(this._textDecoration=I,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(I){this._lineHeight!==I&&(this._lineHeight=I,this.domNode.style.lineHeight=this._lineHeight+"px")}setLetterSpacing(I){this._letterSpacing!==I&&(this._letterSpacing=I,this.domNode.style.letterSpacing=this._letterSpacing+"px")}setClassName(I){this._className!==I&&(this._className=I,this.domNode.className=this._className)}toggleClassName(I,w){this.domNode.classList.toggle(I,w),this._className=this.domNode.className}setDisplay(I){this._display!==I&&(this._display=I,this.domNode.style.display=this._display)}setPosition(I){this._position!==I&&(this._position=I,this.domNode.style.position=this._position)}setVisibility(I){this._visibility!==I&&(this._visibility=I,this.domNode.style.visibility=this._visibility)}setColor(I){this._color!==I&&(this._color=I,this.domNode.style.color=this._color)}setBackgroundColor(I){this._backgroundColor!==I&&(this._backgroundColor=I,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(I){this._layerHint!==I&&(this._layerHint=I,this.domNode.style.transform=this._layerHint?"translate3d(0px, 0px, 0px)":"")}setBoxShadow(I){this._boxShadow!==I&&(this._boxShadow=I,this.domNode.style.boxShadow=I)}setContain(I){this._contain!==I&&(this._contain=I,this.domNode.style.contain=this._contain)}setAttribute(I,w){this.domNode.setAttribute(I,w)}removeAttribute(I){this.domNode.removeAttribute(I)}appendChild(I){this.domNode.appendChild(I.domNode)}removeChild(I){this.domNode.removeChild(I.domNode)}}e.FastDomNode=L;function m(k){return new L(k)}e.createFastDomNode=m}),define(te[214],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IframeUtils=void 0;let L=!1,m=null;function k(w){if(!w.parent||w.parent===w)return null;try{let b=w.location,C=w.parent.location;if(b.origin!=="null"&&C.origin!=="null"&&b.origin!==C.origin)return L=!0,null}catch{return L=!0,null}return w.parent}class I{static getSameOriginWindowChain(){if(!m){m=[];let b=window,C;do C=k(b),C?m.push({window:b,iframeElement:b.frameElement||null}):m.push({window:b,iframeElement:null}),b=C;while(b)}return m.slice(0)}static hasDifferentOriginAncestor(){return m||this.getSameOriginWindowChain(),L}static getPositionOfChildWindowRelativeToAncestorWindow(b,C){if(!C||b===C)return{top:0,left:0};let u=0,g=0,t=this.getSameOriginWindowChain();for(const n of t){if(u+=n.window.scrollY,g+=n.window.scrollX,n.window===C||!n.iframeElement)break;let i=n.iframeElement.getBoundingClientRect();u+=i.top,g+=i.left}return{top:u,left:g}}}e.IframeUtils=I}),define(te[310],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ListError=void 0;class L extends Error{constructor(k,I){super(`ListError [${k}] ${I}`)}}e.ListError=L}),define(te[311],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CombinedSpliceable=void 0;class L{constructor(k){this.spliceables=k}splice(k,I,w){this.spliceables.forEach(b=>b.splice(k,I,w))}}e.CombinedSpliceable=L}),define(te[215],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ScrollbarState=void 0;const L=20;class m{constructor(I,w,b,C,u,g){this._scrollbarSize=Math.round(w),this._oppositeScrollbarSize=Math.round(b),this._arrowSize=Math.round(I),this._visibleSize=C,this._scrollSize=u,this._scrollPosition=g,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new m(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(I){const w=Math.round(I);return this._visibleSize!==w?(this._visibleSize=w,this._refreshComputedValues(),!0):!1}setScrollSize(I){const w=Math.round(I);return this._scrollSize!==w?(this._scrollSize=w,this._refreshComputedValues(),!0):!1}setScrollPosition(I){const w=Math.round(I);return this._scrollPosition!==w?(this._scrollPosition=w,this._refreshComputedValues(),!0):!1}setScrollbarSize(I){this._scrollbarSize=Math.round(I)}setOppositeScrollbarSize(I){this._oppositeScrollbarSize=Math.round(I)}static _computeValues(I,w,b,C,u){const g=Math.max(0,b-I),t=Math.max(0,g-2*w),n=C>0&&C>b;if(!n)return{computedAvailableSize:Math.round(g),computedIsNeeded:n,computedSliderSize:Math.round(t),computedSliderRatio:0,computedSliderPosition:0};const i=Math.round(Math.max(L,Math.floor(b*t/C))),o=(t-i)/(C-b),c=u*o;return{computedAvailableSize:Math.round(g),computedIsNeeded:n,computedSliderSize:Math.round(i),computedSliderRatio:o,computedSliderPosition:Math.round(c)}}_refreshComputedValues(){const I=m._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=I.computedAvailableSize,this._computedIsNeeded=I.computedIsNeeded,this._computedSliderSize=I.computedSliderSize,this._computedSliderRatio=I.computedSliderRatio,this._computedSliderPosition=I.computedSliderPosition}getArrowSize(){return this._arrowSize}getScrollPosition(){return this._scrollPosition}getRectangleLargeSize(){return this._computedAvailableSize}getRectangleSmallSize(){return this._scrollbarSize}isNeeded(){return this._computedIsNeeded}getSliderSize(){return this._computedSliderSize}getSliderPosition(){return this._computedSliderPosition}getDesiredScrollPositionFromOffset(I){if(!this._computedIsNeeded)return 0;const w=I-this._arrowSize-this._computedSliderSize/2;return Math.round(w/this._computedSliderRatio)}getDesiredScrollPositionFromOffsetPaged(I){if(!this._computedIsNeeded)return 0;const w=I-this._arrowSize;let b=this._scrollPosition;return w<this._computedSliderPosition?b-=this._visibleSize:b+=this._visibleSize,b}getDesiredScrollPositionFromDelta(I){if(!this._computedIsNeeded)return 0;const w=this._computedSliderPosition+I;return Math.round(w/this._computedSliderRatio)}}e.ScrollbarState=m}),define(te[111],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WeakMapper=e.TreeError=e.TreeMouseEventTarget=void 0;var L;(function(I){I[I.Unknown=0]="Unknown",I[I.Twistie=1]="Twistie",I[I.Element=2]="Element"})(L=e.TreeMouseEventTarget||(e.TreeMouseEventTarget={}));class m extends Error{constructor(w,b){super(`TreeError [${w}] ${b}`)}}e.TreeError=m;class k{constructor(w){this.fn=w,this._map=new WeakMap}map(w){let b=this._map.get(w);return b||(b=this.fn(w),this._map.set(w,b)),b}}e.WeakMapper=k}),define(te[18],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ArrayQueue=e.findMinBy=e.findLastMaxBy=e.findMaxBy=e.numberComparator=e.compareBy=e.splice=e.insertInto=e.asArray=e.pushToEnd=e.pushToStart=e.arrayInsert=e.range=e.flatten=e.firstOrDefault=e.lastIndex=e.findLast=e.distinct=e.isNonEmptyArray=e.isFalsyOrEmpty=e.coalesce=e.groupBy=e.quickSelect=e.findFirstInSorted=e.binarySearch=e.equals=e.tail2=e.tail=void 0;function L(M,B=0){return M[M.length-(1+B)]}e.tail=L;function m(M){if(M.length===0)throw new Error("Invalid tail call");return[M.slice(0,M.length-1),M[M.length-1]]}e.tail2=m;function k(M,B,O=(T,A)=>T===A){if(M===B)return!0;if(!M||!B||M.length!==B.length)return!1;for(let T=0,A=M.length;T<A;T++)if(!O(M[T],B[T]))return!1;return!0}e.equals=k;function I(M,B,O){let T=0,A=M.length-1;for(;T<=A;){const P=(T+A)/2|0,F=O(M[P],B);if(F<0)T=P+1;else if(F>0)A=P-1;else return P}return-(T+1)}e.binarySearch=I;function w(M,B){let O=0,T=M.length;if(T===0)return 0;for(;O<T;){const A=Math.floor((O+T)/2);B(M[A])?T=A:O=A+1}return O}e.findFirstInSorted=w;function b(M,B,O){if(M=M|0,M>=B.length)throw new TypeError("invalid index");let T=B[Math.floor(B.length*Math.random())],A=[],P=[],F=[];for(let W of B){const R=O(W,T);R<0?A.push(W):R>0?P.push(W):F.push(W)}return M<A.length?b(M,A,O):M<A.length+F.length?F[0]:b(M-(A.length+F.length),P,O)}e.quickSelect=b;function C(M,B){const O=[];let T;for(const A of M.slice(0).sort(B))!T||B(T[0],A)!==0?(T=[A],O.push(T)):T.push(A);return O}e.groupBy=C;function u(M){return M.filter(B=>!!B)}e.coalesce=u;function g(M){return!Array.isArray(M)||M.length===0}e.isFalsyOrEmpty=g;function t(M){return Array.isArray(M)&&M.length>0}e.isNonEmptyArray=t;function n(M,B=O=>O){const O=new Set;return M.filter(T=>{const A=B(T);return O.has(A)?!1:(O.add(A),!0)})}e.distinct=n;function i(M,B){const O=o(M,B);if(O!==-1)return M[O]}e.findLast=i;function o(M,B){for(let O=M.length-1;O>=0;O--){const T=M[O];if(B(T))return O}return-1}e.lastIndex=o;function c(M,B){return M.length>0?M[0]:B}e.firstOrDefault=c;function d(M){return[].concat(...M)}e.flatten=d;function r(M,B){let O=typeof B=="number"?M:0;typeof B=="number"?O=M:(O=0,B=M);const T=[];if(O<=B)for(let A=O;A<B;A++)T.push(A);else for(let A=O;A>B;A--)T.push(A);return T}e.range=r;function s(M,B,O){const T=M.slice(0,B),A=M.slice(B);return T.concat(O,A)}e.arrayInsert=s;function a(M,B){const O=M.indexOf(B);O>-1&&(M.splice(O,1),M.unshift(B))}e.pushToStart=a;function l(M,B){const O=M.indexOf(B);O>-1&&(M.splice(O,1),M.push(B))}e.pushToEnd=l;function h(M){return Array.isArray(M)?M:[M]}e.asArray=h;function f(M,B,O){const T=v(M,B),A=M.length,P=O.length;M.length=A+P;for(let F=A-1;F>=T;F--)M[F+P]=M[F];for(let F=0;F<P;F++)M[F+T]=O[F]}e.insertInto=f;function S(M,B,O,T){const A=v(M,B),P=M.splice(A,O);return f(M,A,T),P}e.splice=S;function v(M,B){return B<0?Math.max(B+M.length,0):Math.min(B,M.length)}function p(M,B){return(O,T)=>B(M(O),M(T))}e.compareBy=p;const _=(M,B)=>M-B;e.numberComparator=_;function y(M,B){if(M.length===0)return;let O=M[0];for(let T=1;T<M.length;T++){const A=M[T];B(A,O)>0&&(O=A)}return O}e.findMaxBy=y;function E(M,B){if(M.length===0)return;let O=M[0];for(let T=1;T<M.length;T++){const A=M[T];B(A,O)>=0&&(O=A)}return O}e.findLastMaxBy=E;function N(M,B){return y(M,(O,T)=>-B(O,T))}e.findMinBy=N;class D{constructor(B){this.items=B,this.firstIdx=0,this.lastIdx=this.items.length-1}takeWhile(B){let O=this.firstIdx;for(;O<this.items.length&&B(this.items[O]);)O++;const T=O===this.firstIdx?null:this.items.slice(this.firstIdx,O);return this.firstIdx=O,T}takeFromEndWhile(B){let O=this.lastIdx;for(;O>=0&&B(this.items[O]);)O--;const T=O===this.lastIdx?null:this.items.slice(O+1,this.lastIdx+1);return this.lastIdx=O,T}peek(){return this.items[this.firstIdx]}dequeue(){const B=this.items[this.firstIdx];return this.firstIdx++,B}takeCount(B){const O=this.items.slice(this.firstIdx,this.firstIdx+B);return this.firstIdx+=B,O}}e.ArrayQueue=D}),define(te[216],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ok=void 0;function L(m,k){if(!m)throw new Error(k?`Assertion failed (${k})`:"Assertion Failed")}e.ok=L}),define(te[112],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.writeUInt8=e.readUInt8=e.writeUInt32BE=e.readUInt32BE=e.writeUInt16LE=e.readUInt16LE=e.VSBuffer=void 0;const L=typeof Buffer!="undefined";let m;class k{constructor(n){this.buffer=n,this.byteLength=this.buffer.byteLength}static wrap(n){return L&&!Buffer.isBuffer(n)&&(n=Buffer.from(n.buffer,n.byteOffset,n.byteLength)),new k(n)}toString(){return L?this.buffer.toString():(m||(m=new TextDecoder),m.decode(this.buffer))}}e.VSBuffer=k;function I(t,n){return t[n+0]<<0>>>0|t[n+1]<<8>>>0}e.readUInt16LE=I;function w(t,n,i){t[i+0]=n&255,n=n>>>8,t[i+1]=n&255}e.writeUInt16LE=w;function b(t,n){return t[n]*Math.pow(2,24)+t[n+1]*Math.pow(2,16)+t[n+2]*Math.pow(2,8)+t[n+3]}e.readUInt32BE=b;function C(t,n,i){t[i+3]=n,n=n>>>8,t[i+2]=n,n=n>>>8,t[i+1]=n,n=n>>>8,t[i]=n}e.writeUInt32BE=C;function u(t,n){return t[n]}e.readUInt8=u;function g(t,n,i){t[i]=n}e.writeUInt8=g}),define(te[312],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LRUCachedComputed=void 0;class L{constructor(k){this.computeFn=k,this.lastCache=void 0,this.lastArgKey=void 0}get(k){const I=JSON.stringify(k);return this.lastArgKey!==I&&(this.lastArgKey=I,this.lastCache=this.computeFn(k)),this.lastCache}}e.LRUCachedComputed=L}),define(te[28],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CSSIcon=e.Codicon=e.getCodiconAriaLabel=void 0;function L(I){return I?I.replace(/\$\((.*?)\)/g,(w,b)=>` ${b} `).trim():""}e.getCodiconAriaLabel=L;class m{constructor(w,b,C){this.id=w,this.definition=b,this.description=C,m._allCodicons.push(this)}get classNames(){return"codicon codicon-"+this.id}get classNamesArray(){return["codicon","codicon-"+this.id]}get cssSelector(){return".codicon.codicon-"+this.id}static getAll(){return m._allCodicons}}e.Codicon=m,m._allCodicons=[],m.add=new m("add",{fontCharacter:"\\ea60"}),m.plus=new m("plus",m.add.definition),m.gistNew=new m("gist-new",m.add.definition),m.repoCreate=new m("repo-create",m.add.definition),m.lightbulb=new m("lightbulb",{fontCharacter:"\\ea61"}),m.lightBulb=new m("light-bulb",{fontCharacter:"\\ea61"}),m.repo=new m("repo",{fontCharacter:"\\ea62"}),m.repoDelete=new m("repo-delete",{fontCharacter:"\\ea62"}),m.gistFork=new m("gist-fork",{fontCharacter:"\\ea63"}),m.repoForked=new m("repo-forked",{fontCharacter:"\\ea63"}),m.gitPullRequest=new m("git-pull-request",{fontCharacter:"\\ea64"}),m.gitPullRequestAbandoned=new m("git-pull-request-abandoned",{fontCharacter:"\\ea64"}),m.recordKeys=new m("record-keys",{fontCharacter:"\\ea65"}),m.keyboard=new m("keyboard",{fontCharacter:"\\ea65"}),m.tag=new m("tag",{fontCharacter:"\\ea66"}),m.tagAdd=new m("tag-add",{fontCharacter:"\\ea66"}),m.tagRemove=new m("tag-remove",{fontCharacter:"\\ea66"}),m.person=new m("person",{fontCharacter:"\\ea67"}),m.personFollow=new m("person-follow",{fontCharacter:"\\ea67"}),m.personOutline=new m("person-outline",{fontCharacter:"\\ea67"}),m.personFilled=new m("person-filled",{fontCharacter:"\\ea67"}),m.gitBranch=new m("git-branch",{fontCharacter:"\\ea68"}),m.gitBranchCreate=new m("git-branch-create",{fontCharacter:"\\ea68"}),m.gitBranchDelete=new m("git-branch-delete",{fontCharacter:"\\ea68"}),m.sourceControl=new m("source-control",{fontCharacter:"\\ea68"}),m.mirror=new m("mirror",{fontCharacter:"\\ea69"}),m.mirrorPublic=new m("mirror-public",{fontCharacter:"\\ea69"}),m.star=new m("star",{fontCharacter:"\\ea6a"}),m.starAdd=new m("star-add",{fontCharacter:"\\ea6a"}),m.starDelete=new m("star-delete",{fontCharacter:"\\ea6a"}),m.starEmpty=new m("star-empty",{fontCharacter:"\\ea6a"}),m.comment=new m("comment",{fontCharacter:"\\ea6b"}),m.commentAdd=new m("comment-add",{fontCharacter:"\\ea6b"}),m.alert=new m("alert",{fontCharacter:"\\ea6c"}),m.warning=new m("warning",{fontCharacter:"\\ea6c"}),m.search=new m("search",{fontCharacter:"\\ea6d"}),m.searchSave=new m("search-save",{fontCharacter:"\\ea6d"}),m.logOut=new m("log-out",{fontCharacter:"\\ea6e"}),m.signOut=new m("sign-out",{fontCharacter:"\\ea6e"}),m.logIn=new m("log-in",{fontCharacter:"\\ea6f"}),m.signIn=new m("sign-in",{fontCharacter:"\\ea6f"}),m.eye=new m("eye",{fontCharacter:"\\ea70"}),m.eyeUnwatch=new m("eye-unwatch",{fontCharacter:"\\ea70"}),m.eyeWatch=new m("eye-watch",{fontCharacter:"\\ea70"}),m.circleFilled=new m("circle-filled",{fontCharacter:"\\ea71"}),m.primitiveDot=new m("primitive-dot",{fontCharacter:"\\ea71"}),m.closeDirty=new m("close-dirty",{fontCharacter:"\\ea71"}),m.debugBreakpoint=new m("debug-breakpoint",{fontCharacter:"\\ea71"}),m.debugBreakpointDisabled=new m("debug-breakpoint-disabled",{fontCharacter:"\\ea71"}),m.debugHint=new m("debug-hint",{fontCharacter:"\\ea71"}),m.primitiveSquare=new m("primitive-square",{fontCharacter:"\\ea72"}),m.edit=new m("edit",{fontCharacter:"\\ea73"}),m.pencil=new m("pencil",{fontCharacter:"\\ea73"}),m.info=new m("info",{fontCharacter:"\\ea74"}),m.issueOpened=new m("issue-opened",{fontCharacter:"\\ea74"}),m.gistPrivate=new m("gist-private",{fontCharacter:"\\ea75"}),m.gitForkPrivate=new m("git-fork-private",{fontCharacter:"\\ea75"}),m.lock=new m("lock",{fontCharacter:"\\ea75"}),m.mirrorPrivate=new m("mirror-private",{fontCharacter:"\\ea75"}),m.close=new m("close",{fontCharacter:"\\ea76"}),m.removeClose=new m("remove-close",{fontCharacter:"\\ea76"}),m.x=new m("x",{fontCharacter:"\\ea76"}),m.repoSync=new m("repo-sync",{fontCharacter:"\\ea77"}),m.sync=new m("sync",{fontCharacter:"\\ea77"}),m.clone=new m("clone",{fontCharacter:"\\ea78"}),m.desktopDownload=new m("desktop-download",{fontCharacter:"\\ea78"}),m.beaker=new m("beaker",{fontCharacter:"\\ea79"}),m.microscope=new m("microscope",{fontCharacter:"\\ea79"}),m.vm=new m("vm",{fontCharacter:"\\ea7a"}),m.deviceDesktop=new m("device-desktop",{fontCharacter:"\\ea7a"}),m.file=new m("file",{fontCharacter:"\\ea7b"}),m.fileText=new m("file-text",{fontCharacter:"\\ea7b"}),m.more=new m("more",{fontCharacter:"\\ea7c"}),m.ellipsis=new m("ellipsis",{fontCharacter:"\\ea7c"}),m.kebabHorizontal=new m("kebab-horizontal",{fontCharacter:"\\ea7c"}),m.mailReply=new m("mail-reply",{fontCharacter:"\\ea7d"}),m.reply=new m("reply",{fontCharacter:"\\ea7d"}),m.organization=new m("organization",{fontCharacter:"\\ea7e"}),m.organizationFilled=new m("organization-filled",{fontCharacter:"\\ea7e"}),m.organizationOutline=new m("organization-outline",{fontCharacter:"\\ea7e"}),m.newFile=new m("new-file",{fontCharacter:"\\ea7f"}),m.fileAdd=new m("file-add",{fontCharacter:"\\ea7f"}),m.newFolder=new m("new-folder",{fontCharacter:"\\ea80"}),m.fileDirectoryCreate=new m("file-directory-create",{fontCharacter:"\\ea80"}),m.trash=new m("trash",{fontCharacter:"\\ea81"}),m.trashcan=new m("trashcan",{fontCharacter:"\\ea81"}),m.history=new m("history",{fontCharacter:"\\ea82"}),m.clock=new m("clock",{fontCharacter:"\\ea82"}),m.folder=new m("folder",{fontCharacter:"\\ea83"}),m.fileDirectory=new m("file-directory",{fontCharacter:"\\ea83"}),m.symbolFolder=new m("symbol-folder",{fontCharacter:"\\ea83"}),m.logoGithub=new m("logo-github",{fontCharacter:"\\ea84"}),m.markGithub=new m("mark-github",{fontCharacter:"\\ea84"}),m.github=new m("github",{fontCharacter:"\\ea84"}),m.terminal=new m("terminal",{fontCharacter:"\\ea85"}),m.console=new m("console",{fontCharacter:"\\ea85"}),m.repl=new m("repl",{fontCharacter:"\\ea85"}),m.zap=new m("zap",{fontCharacter:"\\ea86"}),m.symbolEvent=new m("symbol-event",{fontCharacter:"\\ea86"}),m.error=new m("error",{fontCharacter:"\\ea87"}),m.stop=new m("stop",{fontCharacter:"\\ea87"}),m.variable=new m("variable",{fontCharacter:"\\ea88"}),m.symbolVariable=new m("symbol-variable",{fontCharacter:"\\ea88"}),m.array=new m("array",{fontCharacter:"\\ea8a"}),m.symbolArray=new m("symbol-array",{fontCharacter:"\\ea8a"}),m.symbolModule=new m("symbol-module",{fontCharacter:"\\ea8b"}),m.symbolPackage=new m("symbol-package",{fontCharacter:"\\ea8b"}),m.symbolNamespace=new m("symbol-namespace",{fontCharacter:"\\ea8b"}),m.symbolObject=new m("symbol-object",{fontCharacter:"\\ea8b"}),m.symbolMethod=new m("symbol-method",{fontCharacter:"\\ea8c"}),m.symbolFunction=new m("symbol-function",{fontCharacter:"\\ea8c"}),m.symbolConstructor=new m("symbol-constructor",{fontCharacter:"\\ea8c"}),m.symbolBoolean=new m("symbol-boolean",{fontCharacter:"\\ea8f"}),m.symbolNull=new m("symbol-null",{fontCharacter:"\\ea8f"}),m.symbolNumeric=new m("symbol-numeric",{fontCharacter:"\\ea90"}),m.symbolNumber=new m("symbol-number",{fontCharacter:"\\ea90"}),m.symbolStructure=new m("symbol-structure",{fontCharacter:"\\ea91"}),m.symbolStruct=new m("symbol-struct",{fontCharacter:"\\ea91"}),m.symbolParameter=new m("symbol-parameter",{fontCharacter:"\\ea92"}),m.symbolTypeParameter=new m("symbol-type-parameter",{fontCharacter:"\\ea92"}),m.symbolKey=new m("symbol-key",{fontCharacter:"\\ea93"}),m.symbolText=new m("symbol-text",{fontCharacter:"\\ea93"}),m.symbolReference=new m("symbol-reference",{fontCharacter:"\\ea94"}),m.goToFile=new m("go-to-file",{fontCharacter:"\\ea94"}),m.symbolEnum=new m("symbol-enum",{fontCharacter:"\\ea95"}),m.symbolValue=new m("symbol-value",{fontCharacter:"\\ea95"}),m.symbolRuler=new m("symbol-ruler",{fontCharacter:"\\ea96"}),m.symbolUnit=new m("symbol-unit",{fontCharacter:"\\ea96"}),m.activateBreakpoints=new m("activate-breakpoints",{fontCharacter:"\\ea97"}),m.archive=new m("archive",{fontCharacter:"\\ea98"}),m.arrowBoth=new m("arrow-both",{fontCharacter:"\\ea99"}),m.arrowDown=new m("arrow-down",{fontCharacter:"\\ea9a"}),m.arrowLeft=new m("arrow-left",{fontCharacter:"\\ea9b"}),m.arrowRight=new m("arrow-right",{fontCharacter:"\\ea9c"}),m.arrowSmallDown=new m("arrow-small-down",{fontCharacter:"\\ea9d"}),m.arrowSmallLeft=new m("arrow-small-left",{fontCharacter:"\\ea9e"}),m.arrowSmallRight=new m("arrow-small-right",{fontCharacter:"\\ea9f"}),m.arrowSmallUp=new m("arrow-small-up",{fontCharacter:"\\eaa0"}),m.arrowUp=new m("arrow-up",{fontCharacter:"\\eaa1"}),m.bell=new m("bell",{fontCharacter:"\\eaa2"}),m.bold=new m("bold",{fontCharacter:"\\eaa3"}),m.book=new m("book",{fontCharacter:"\\eaa4"}),m.bookmark=new m("bookmark",{fontCharacter:"\\eaa5"}),m.debugBreakpointConditionalUnverified=new m("debug-breakpoint-conditional-unverified",{fontCharacter:"\\eaa6"}),m.debugBreakpointConditional=new m("debug-breakpoint-conditional",{fontCharacter:"\\eaa7"}),m.debugBreakpointConditionalDisabled=new m("debug-breakpoint-conditional-disabled",{fontCharacter:"\\eaa7"}),m.debugBreakpointDataUnverified=new m("debug-breakpoint-data-unverified",{fontCharacter:"\\eaa8"}),m.debugBreakpointData=new m("debug-breakpoint-data",{fontCharacter:"\\eaa9"}),m.debugBreakpointDataDisabled=new m("debug-breakpoint-data-disabled",{fontCharacter:"\\eaa9"}),m.debugBreakpointLogUnverified=new m("debug-breakpoint-log-unverified",{fontCharacter:"\\eaaa"}),m.debugBreakpointLog=new m("debug-breakpoint-log",{fontCharacter:"\\eaab"}),m.debugBreakpointLogDisabled=new m("debug-breakpoint-log-disabled",{fontCharacter:"\\eaab"}),m.briefcase=new m("briefcase",{fontCharacter:"\\eaac"}),m.broadcast=new m("broadcast",{fontCharacter:"\\eaad"}),m.browser=new m("browser",{fontCharacter:"\\eaae"}),m.bug=new m("bug",{fontCharacter:"\\eaaf"}),m.calendar=new m("calendar",{fontCharacter:"\\eab0"}),m.caseSensitive=new m("case-sensitive",{fontCharacter:"\\eab1"}),m.check=new m("check",{fontCharacter:"\\eab2"}),m.checklist=new m("checklist",{fontCharacter:"\\eab3"}),m.chevronDown=new m("chevron-down",{fontCharacter:"\\eab4"}),m.dropDownButton=new m("drop-down-button",m.chevronDown.definition),m.chevronLeft=new m("chevron-left",{fontCharacter:"\\eab5"}),m.chevronRight=new m("chevron-right",{fontCharacter:"\\eab6"}),m.chevronUp=new m("chevron-up",{fontCharacter:"\\eab7"}),m.chromeClose=new m("chrome-close",{fontCharacter:"\\eab8"}),m.chromeMaximize=new m("chrome-maximize",{fontCharacter:"\\eab9"}),m.chromeMinimize=new m("chrome-minimize",{fontCharacter:"\\eaba"}),m.chromeRestore=new m("chrome-restore",{fontCharacter:"\\eabb"}),m.circleOutline=new m("circle-outline",{fontCharacter:"\\eabc"}),m.debugBreakpointUnverified=new m("debug-breakpoint-unverified",{fontCharacter:"\\eabc"}),m.circleSlash=new m("circle-slash",{fontCharacter:"\\eabd"}),m.circuitBoard=new m("circuit-board",{fontCharacter:"\\eabe"}),m.clearAll=new m("clear-all",{fontCharacter:"\\eabf"}),m.clippy=new m("clippy",{fontCharacter:"\\eac0"}),m.closeAll=new m("close-all",{fontCharacter:"\\eac1"}),m.cloudDownload=new m("cloud-download",{fontCharacter:"\\eac2"}),m.cloudUpload=new m("cloud-upload",{fontCharacter:"\\eac3"}),m.code=new m("code",{fontCharacter:"\\eac4"}),m.collapseAll=new m("collapse-all",{fontCharacter:"\\eac5"}),m.colorMode=new m("color-mode",{fontCharacter:"\\eac6"}),m.commentDiscussion=new m("comment-discussion",{fontCharacter:"\\eac7"}),m.compareChanges=new m("compare-changes",{fontCharacter:"\\eafd"}),m.creditCard=new m("credit-card",{fontCharacter:"\\eac9"}),m.dash=new m("dash",{fontCharacter:"\\eacc"}),m.dashboard=new m("dashboard",{fontCharacter:"\\eacd"}),m.database=new m("database",{fontCharacter:"\\eace"}),m.debugContinue=new m("debug-continue",{fontCharacter:"\\eacf"}),m.debugDisconnect=new m("debug-disconnect",{fontCharacter:"\\ead0"}),m.debugPause=new m("debug-pause",{fontCharacter:"\\ead1"}),m.debugRestart=new m("debug-restart",{fontCharacter:"\\ead2"}),m.debugStart=new m("debug-start",{fontCharacter:"\\ead3"}),m.debugStepInto=new m("debug-step-into",{fontCharacter:"\\ead4"}),m.debugStepOut=new m("debug-step-out",{fontCharacter:"\\ead5"}),m.debugStepOver=new m("debug-step-over",{fontCharacter:"\\ead6"}),m.debugStop=new m("debug-stop",{fontCharacter:"\\ead7"}),m.debug=new m("debug",{fontCharacter:"\\ead8"}),m.deviceCameraVideo=new m("device-camera-video",{fontCharacter:"\\ead9"}),m.deviceCamera=new m("device-camera",{fontCharacter:"\\eada"}),m.deviceMobile=new m("device-mobile",{fontCharacter:"\\eadb"}),m.diffAdded=new m("diff-added",{fontCharacter:"\\eadc"}),m.diffIgnored=new m("diff-ignored",{fontCharacter:"\\eadd"}),m.diffModified=new m("diff-modified",{fontCharacter:"\\eade"}),m.diffRemoved=new m("diff-removed",{fontCharacter:"\\eadf"}),m.diffRenamed=new m("diff-renamed",{fontCharacter:"\\eae0"}),m.diff=new m("diff",{fontCharacter:"\\eae1"}),m.discard=new m("discard",{fontCharacter:"\\eae2"}),m.editorLayout=new m("editor-layout",{fontCharacter:"\\eae3"}),m.emptyWindow=new m("empty-window",{fontCharacter:"\\eae4"}),m.exclude=new m("exclude",{fontCharacter:"\\eae5"}),m.extensions=new m("extensions",{fontCharacter:"\\eae6"}),m.eyeClosed=new m("eye-closed",{fontCharacter:"\\eae7"}),m.fileBinary=new m("file-binary",{fontCharacter:"\\eae8"}),m.fileCode=new m("file-code",{fontCharacter:"\\eae9"}),m.fileMedia=new m("file-media",{fontCharacter:"\\eaea"}),m.filePdf=new m("file-pdf",{fontCharacter:"\\eaeb"}),m.fileSubmodule=new m("file-submodule",{fontCharacter:"\\eaec"}),m.fileSymlinkDirectory=new m("file-symlink-directory",{fontCharacter:"\\eaed"}),m.fileSymlinkFile=new m("file-symlink-file",{fontCharacter:"\\eaee"}),m.fileZip=new m("file-zip",{fontCharacter:"\\eaef"}),m.files=new m("files",{fontCharacter:"\\eaf0"}),m.filter=new m("filter",{fontCharacter:"\\eaf1"}),m.flame=new m("flame",{fontCharacter:"\\eaf2"}),m.foldDown=new m("fold-down",{fontCharacter:"\\eaf3"}),m.foldUp=new m("fold-up",{fontCharacter:"\\eaf4"}),m.fold=new m("fold",{fontCharacter:"\\eaf5"}),m.folderActive=new m("folder-active",{fontCharacter:"\\eaf6"}),m.folderOpened=new m("folder-opened",{fontCharacter:"\\eaf7"}),m.gear=new m("gear",{fontCharacter:"\\eaf8"}),m.gift=new m("gift",{fontCharacter:"\\eaf9"}),m.gistSecret=new m("gist-secret",{fontCharacter:"\\eafa"}),m.gist=new m("gist",{fontCharacter:"\\eafb"}),m.gitCommit=new m("git-commit",{fontCharacter:"\\eafc"}),m.gitCompare=new m("git-compare",{fontCharacter:"\\eafd"}),m.gitMerge=new m("git-merge",{fontCharacter:"\\eafe"}),m.githubAction=new m("github-action",{fontCharacter:"\\eaff"}),m.githubAlt=new m("github-alt",{fontCharacter:"\\eb00"}),m.globe=new m("globe",{fontCharacter:"\\eb01"}),m.grabber=new m("grabber",{fontCharacter:"\\eb02"}),m.graph=new m("graph",{fontCharacter:"\\eb03"}),m.gripper=new m("gripper",{fontCharacter:"\\eb04"}),m.heart=new m("heart",{fontCharacter:"\\eb05"}),m.home=new m("home",{fontCharacter:"\\eb06"}),m.horizontalRule=new m("horizontal-rule",{fontCharacter:"\\eb07"}),m.hubot=new m("hubot",{fontCharacter:"\\eb08"}),m.inbox=new m("inbox",{fontCharacter:"\\eb09"}),m.issueClosed=new m("issue-closed",{fontCharacter:"\\eba4"}),m.issueReopened=new m("issue-reopened",{fontCharacter:"\\eb0b"}),m.issues=new m("issues",{fontCharacter:"\\eb0c"}),m.italic=new m("italic",{fontCharacter:"\\eb0d"}),m.jersey=new m("jersey",{fontCharacter:"\\eb0e"}),m.json=new m("json",{fontCharacter:"\\eb0f"}),m.kebabVertical=new m("kebab-vertical",{fontCharacter:"\\eb10"}),m.key=new m("key",{fontCharacter:"\\eb11"}),m.law=new m("law",{fontCharacter:"\\eb12"}),m.lightbulbAutofix=new m("lightbulb-autofix",{fontCharacter:"\\eb13"}),m.linkExternal=new m("link-external",{fontCharacter:"\\eb14"}),m.link=new m("link",{fontCharacter:"\\eb15"}),m.listOrdered=new m("list-ordered",{fontCharacter:"\\eb16"}),m.listUnordered=new m("list-unordered",{fontCharacter:"\\eb17"}),m.liveShare=new m("live-share",{fontCharacter:"\\eb18"}),m.loading=new m("loading",{fontCharacter:"\\eb19"}),m.location=new m("location",{fontCharacter:"\\eb1a"}),m.mailRead=new m("mail-read",{fontCharacter:"\\eb1b"}),m.mail=new m("mail",{fontCharacter:"\\eb1c"}),m.markdown=new m("markdown",{fontCharacter:"\\eb1d"}),m.megaphone=new m("megaphone",{fontCharacter:"\\eb1e"}),m.mention=new m("mention",{fontCharacter:"\\eb1f"}),m.milestone=new m("milestone",{fontCharacter:"\\eb20"}),m.mortarBoard=new m("mortar-board",{fontCharacter:"\\eb21"}),m.move=new m("move",{fontCharacter:"\\eb22"}),m.multipleWindows=new m("multiple-windows",{fontCharacter:"\\eb23"}),m.mute=new m("mute",{fontCharacter:"\\eb24"}),m.noNewline=new m("no-newline",{fontCharacter:"\\eb25"}),m.note=new m("note",{fontCharacter:"\\eb26"}),m.octoface=new m("octoface",{fontCharacter:"\\eb27"}),m.openPreview=new m("open-preview",{fontCharacter:"\\eb28"}),m.package_=new m("package",{fontCharacter:"\\eb29"}),m.paintcan=new m("paintcan",{fontCharacter:"\\eb2a"}),m.pin=new m("pin",{fontCharacter:"\\eb2b"}),m.play=new m("play",{fontCharacter:"\\eb2c"}),m.run=new m("run",{fontCharacter:"\\eb2c"}),m.plug=new m("plug",{fontCharacter:"\\eb2d"}),m.preserveCase=new m("preserve-case",{fontCharacter:"\\eb2e"}),m.preview=new m("preview",{fontCharacter:"\\eb2f"}),m.project=new m("project",{fontCharacter:"\\eb30"}),m.pulse=new m("pulse",{fontCharacter:"\\eb31"}),m.question=new m("question",{fontCharacter:"\\eb32"}),m.quote=new m("quote",{fontCharacter:"\\eb33"}),m.radioTower=new m("radio-tower",{fontCharacter:"\\eb34"}),m.reactions=new m("reactions",{fontCharacter:"\\eb35"}),m.references=new m("references",{fontCharacter:"\\eb36"}),m.refresh=new m("refresh",{fontCharacter:"\\eb37"}),m.regex=new m("regex",{fontCharacter:"\\eb38"}),m.remoteExplorer=new m("remote-explorer",{fontCharacter:"\\eb39"}),m.remote=new m("remote",{fontCharacter:"\\eb3a"}),m.remove=new m("remove",{fontCharacter:"\\eb3b"}),m.replaceAll=new m("replace-all",{fontCharacter:"\\eb3c"}),m.replace=new m("replace",{fontCharacter:"\\eb3d"}),m.repoClone=new m("repo-clone",{fontCharacter:"\\eb3e"}),m.repoForcePush=new m("repo-force-push",{fontCharacter:"\\eb3f"}),m.repoPull=new m("repo-pull",{fontCharacter:"\\eb40"}),m.repoPush=new m("repo-push",{fontCharacter:"\\eb41"}),m.report=new m("report",{fontCharacter:"\\eb42"}),m.requestChanges=new m("request-changes",{fontCharacter:"\\eb43"}),m.rocket=new m("rocket",{fontCharacter:"\\eb44"}),m.rootFolderOpened=new m("root-folder-opened",{fontCharacter:"\\eb45"}),m.rootFolder=new m("root-folder",{fontCharacter:"\\eb46"}),m.rss=new m("rss",{fontCharacter:"\\eb47"}),m.ruby=new m("ruby",{fontCharacter:"\\eb48"}),m.saveAll=new m("save-all",{fontCharacter:"\\eb49"}),m.saveAs=new m("save-as",{fontCharacter:"\\eb4a"}),m.save=new m("save",{fontCharacter:"\\eb4b"}),m.screenFull=new m("screen-full",{fontCharacter:"\\eb4c"}),m.screenNormal=new m("screen-normal",{fontCharacter:"\\eb4d"}),m.searchStop=new m("search-stop",{fontCharacter:"\\eb4e"}),m.server=new m("server",{fontCharacter:"\\eb50"}),m.settingsGear=new m("settings-gear",{fontCharacter:"\\eb51"}),m.settings=new m("settings",{fontCharacter:"\\eb52"}),m.shield=new m("shield",{fontCharacter:"\\eb53"}),m.smiley=new m("smiley",{fontCharacter:"\\eb54"}),m.sortPrecedence=new m("sort-precedence",{fontCharacter:"\\eb55"}),m.splitHorizontal=new m("split-horizontal",{fontCharacter:"\\eb56"}),m.splitVertical=new m("split-vertical",{fontCharacter:"\\eb57"}),m.squirrel=new m("squirrel",{fontCharacter:"\\eb58"}),m.starFull=new m("star-full",{fontCharacter:"\\eb59"}),m.starHalf=new m("star-half",{fontCharacter:"\\eb5a"}),m.symbolClass=new m("symbol-class",{fontCharacter:"\\eb5b"}),m.symbolColor=new m("symbol-color",{fontCharacter:"\\eb5c"}),m.symbolCustomColor=new m("symbol-customcolor",{fontCharacter:"\\eb5c"}),m.symbolConstant=new m("symbol-constant",{fontCharacter:"\\eb5d"}),m.symbolEnumMember=new m("symbol-enum-member",{fontCharacter:"\\eb5e"}),m.symbolField=new m("symbol-field",{fontCharacter:"\\eb5f"}),m.symbolFile=new m("symbol-file",{fontCharacter:"\\eb60"}),m.symbolInterface=new m("symbol-interface",{fontCharacter:"\\eb61"}),m.symbolKeyword=new m("symbol-keyword",{fontCharacter:"\\eb62"}),m.symbolMisc=new m("symbol-misc",{fontCharacter:"\\eb63"}),m.symbolOperator=new m("symbol-operator",{fontCharacter:"\\eb64"}),m.symbolProperty=new m("symbol-property",{fontCharacter:"\\eb65"}),m.wrench=new m("wrench",{fontCharacter:"\\eb65"}),m.wrenchSubaction=new m("wrench-subaction",{fontCharacter:"\\eb65"}),m.symbolSnippet=new m("symbol-snippet",{fontCharacter:"\\eb66"}),m.tasklist=new m("tasklist",{fontCharacter:"\\eb67"}),m.telescope=new m("telescope",{fontCharacter:"\\eb68"}),m.textSize=new m("text-size",{fontCharacter:"\\eb69"}),m.threeBars=new m("three-bars",{fontCharacter:"\\eb6a"}),m.thumbsdown=new m("thumbsdown",{fontCharacter:"\\eb6b"}),m.thumbsup=new m("thumbsup",{fontCharacter:"\\eb6c"}),m.tools=new m("tools",{fontCharacter:"\\eb6d"}),m.triangleDown=new m("triangle-down",{fontCharacter:"\\eb6e"}),m.triangleLeft=new m("triangle-left",{fontCharacter:"\\eb6f"}),m.triangleRight=new m("triangle-right",{fontCharacter:"\\eb70"}),m.triangleUp=new m("triangle-up",{fontCharacter:"\\eb71"}),m.twitter=new m("twitter",{fontCharacter:"\\eb72"}),m.unfold=new m("unfold",{fontCharacter:"\\eb73"}),m.unlock=new m("unlock",{fontCharacter:"\\eb74"}),m.unmute=new m("unmute",{fontCharacter:"\\eb75"}),m.unverified=new m("unverified",{fontCharacter:"\\eb76"}),m.verified=new m("verified",{fontCharacter:"\\eb77"}),m.versions=new m("versions",{fontCharacter:"\\eb78"}),m.vmActive=new m("vm-active",{fontCharacter:"\\eb79"}),m.vmOutline=new m("vm-outline",{fontCharacter:"\\eb7a"}),m.vmRunning=new m("vm-running",{fontCharacter:"\\eb7b"}),m.watch=new m("watch",{fontCharacter:"\\eb7c"}),m.whitespace=new m("whitespace",{fontCharacter:"\\eb7d"}),m.wholeWord=new m("whole-word",{fontCharacter:"\\eb7e"}),m.window=new m("window",{fontCharacter:"\\eb7f"}),m.wordWrap=new m("word-wrap",{fontCharacter:"\\eb80"}),m.zoomIn=new m("zoom-in",{fontCharacter:"\\eb81"}),m.zoomOut=new m("zoom-out",{fontCharacter:"\\eb82"}),m.listFilter=new m("list-filter",{fontCharacter:"\\eb83"}),m.listFlat=new m("list-flat",{fontCharacter:"\\eb84"}),m.listSelection=new m("list-selection",{fontCharacter:"\\eb85"}),m.selection=new m("selection",{fontCharacter:"\\eb85"}),m.listTree=new m("list-tree",{fontCharacter:"\\eb86"}),m.debugBreakpointFunctionUnverified=new m("debug-breakpoint-function-unverified",{fontCharacter:"\\eb87"}),m.debugBreakpointFunction=new m("debug-breakpoint-function",{fontCharacter:"\\eb88"}),m.debugBreakpointFunctionDisabled=new m("debug-breakpoint-function-disabled",{fontCharacter:"\\eb88"}),m.debugStackframeActive=new m("debug-stackframe-active",{fontCharacter:"\\eb89"}),m.debugStackframeDot=new m("debug-stackframe-dot",{fontCharacter:"\\eb8a"}),m.debugStackframe=new m("debug-stackframe",{fontCharacter:"\\eb8b"}),m.debugStackframeFocused=new m("debug-stackframe-focused",{fontCharacter:"\\eb8b"}),m.debugBreakpointUnsupported=new m("debug-breakpoint-unsupported",{fontCharacter:"\\eb8c"}),m.symbolString=new m("symbol-string",{fontCharacter:"\\eb8d"}),m.debugReverseContinue=new m("debug-reverse-continue",{fontCharacter:"\\eb8e"}),m.debugStepBack=new m("debug-step-back",{fontCharacter:"\\eb8f"}),m.debugRestartFrame=new m("debug-restart-frame",{fontCharacter:"\\eb90"}),m.callIncoming=new m("call-incoming",{fontCharacter:"\\eb92"}),m.callOutgoing=new m("call-outgoing",{fontCharacter:"\\eb93"}),m.menu=new m("menu",{fontCharacter:"\\eb94"}),m.expandAll=new m("expand-all",{fontCharacter:"\\eb95"}),m.feedback=new m("feedback",{fontCharacter:"\\eb96"}),m.groupByRefType=new m("group-by-ref-type",{fontCharacter:"\\eb97"}),m.ungroupByRefType=new m("ungroup-by-ref-type",{fontCharacter:"\\eb98"}),m.account=new m("account",{fontCharacter:"\\eb99"}),m.bellDot=new m("bell-dot",{fontCharacter:"\\eb9a"}),m.debugConsole=new m("debug-console",{fontCharacter:"\\eb9b"}),m.library=new m("library",{fontCharacter:"\\eb9c"}),m.output=new m("output",{fontCharacter:"\\eb9d"}),m.runAll=new m("run-all",{fontCharacter:"\\eb9e"}),m.syncIgnored=new m("sync-ignored",{fontCharacter:"\\eb9f"}),m.pinned=new m("pinned",{fontCharacter:"\\eba0"}),m.githubInverted=new m("github-inverted",{fontCharacter:"\\eba1"}),m.debugAlt=new m("debug-alt",{fontCharacter:"\\eb91"}),m.serverProcess=new m("server-process",{fontCharacter:"\\eba2"}),m.serverEnvironment=new m("server-environment",{fontCharacter:"\\eba3"}),m.pass=new m("pass",{fontCharacter:"\\eba4"}),m.stopCircle=new m("stop-circle",{fontCharacter:"\\eba5"}),m.playCircle=new m("play-circle",{fontCharacter:"\\eba6"}),m.record=new m("record",{fontCharacter:"\\eba7"}),m.debugAltSmall=new m("debug-alt-small",{fontCharacter:"\\eba8"}),m.vmConnect=new m("vm-connect",{fontCharacter:"\\eba9"}),m.cloud=new m("cloud",{fontCharacter:"\\ebaa"}),m.merge=new m("merge",{fontCharacter:"\\ebab"}),m.exportIcon=new m("export",{fontCharacter:"\\ebac"}),m.graphLeft=new m("graph-left",{fontCharacter:"\\ebad"}),m.magnet=new m("magnet",{fontCharacter:"\\ebae"}),m.notebook=new m("notebook",{fontCharacter:"\\ebaf"}),m.redo=new m("redo",{fontCharacter:"\\ebb0"}),m.checkAll=new m("check-all",{fontCharacter:"\\ebb1"}),m.pinnedDirty=new m("pinned-dirty",{fontCharacter:"\\ebb2"}),m.passFilled=new m("pass-filled",{fontCharacter:"\\ebb3"}),m.circleLargeFilled=new m("circle-large-filled",{fontCharacter:"\\ebb4"}),m.circleLargeOutline=new m("circle-large-outline",{fontCharacter:"\\ebb5"}),m.combine=new m("combine",{fontCharacter:"\\ebb6"}),m.gather=new m("gather",{fontCharacter:"\\ebb6"}),m.table=new m("table",{fontCharacter:"\\ebb7"}),m.variableGroup=new m("variable-group",{fontCharacter:"\\ebb8"}),m.typeHierarchy=new m("type-hierarchy",{fontCharacter:"\\ebb9"}),m.typeHierarchySub=new m("type-hierarchy-sub",{fontCharacter:"\\ebba"}),m.typeHierarchySuper=new m("type-hierarchy-super",{fontCharacter:"\\ebbb"}),m.gitPullRequestCreate=new m("git-pull-request-create",{fontCharacter:"\\ebbc"}),m.runAbove=new m("run-above",{fontCharacter:"\\ebbd"}),m.runBelow=new m("run-below",{fontCharacter:"\\ebbe"}),m.notebookTemplate=new m("notebook-template",{fontCharacter:"\\ebbf"}),m.debugRerun=new m("debug-rerun",{fontCharacter:"\\ebc0"}),m.workspaceTrusted=new m("workspace-trusted",{fontCharacter:"\\ebc1"}),m.workspaceUntrusted=new m("workspace-untrusted",{fontCharacter:"\\ebc2"}),m.workspaceUnspecified=new m("workspace-unspecified",{fontCharacter:"\\ebc3"}),m.terminalCmd=new m("terminal-cmd",{fontCharacter:"\\ebc4"}),m.terminalDebian=new m("terminal-debian",{fontCharacter:"\\ebc5"}),m.terminalLinux=new m("terminal-linux",{fontCharacter:"\\ebc6"}),m.terminalPowershell=new m("terminal-powershell",{fontCharacter:"\\ebc7"}),m.terminalTmux=new m("terminal-tmux",{fontCharacter:"\\ebc8"}),m.terminalUbuntu=new m("terminal-ubuntu",{fontCharacter:"\\ebc9"}),m.terminalBash=new m("terminal-bash",{fontCharacter:"\\ebca"}),m.arrowSwap=new m("arrow-swap",{fontCharacter:"\\ebcb"}),m.copy=new m("copy",{fontCharacter:"\\ebcc"}),m.personAdd=new m("person-add",{fontCharacter:"\\ebcd"}),m.filterFilled=new m("filter-filled",{fontCharacter:"\\ebce"}),m.wand=new m("wand",{fontCharacter:"\\ebcf"}),m.debugLineByLine=new m("debug-line-by-line",{fontCharacter:"\\ebd0"}),m.inspect=new m("inspect",{fontCharacter:"\\ebd1"}),m.layers=new m("layers",{fontCharacter:"\\ebd2"}),m.layersDot=new m("layers-dot",{fontCharacter:"\\ebd3"}),m.layersActive=new m("layers-active",{fontCharacter:"\\ebd4"}),m.compass=new m("compass",{fontCharacter:"\\ebd5"}),m.compassDot=new m("compass-dot",{fontCharacter:"\\ebd6"}),m.compassActive=new m("compass-active",{fontCharacter:"\\ebd7"}),m.azure=new m("azure",{fontCharacter:"\\ebd8"}),m.issueDraft=new m("issue-draft",{fontCharacter:"\\ebd9"}),m.gitPullRequestClosed=new m("git-pull-request-closed",{fontCharacter:"\\ebda"}),m.gitPullRequestDraft=new m("git-pull-request-draft",{fontCharacter:"\\ebdb"}),m.debugAll=new m("debug-all",{fontCharacter:"\\ebdc"}),m.debugCoverage=new m("debug-coverage",{fontCharacter:"\\ebdd"}),m.runErrors=new m("run-errors",{fontCharacter:"\\ebde"}),m.folderLibrary=new m("folder-library",{fontCharacter:"\\ebdf"}),m.debugContinueSmall=new m("debug-continue-small",{fontCharacter:"\\ebe0"}),m.beakerStop=new m("beaker-stop",{fontCharacter:"\\ebe1"}),m.graphLine=new m("graph-line",{fontCharacter:"\\ebe2"}),m.graphScatter=new m("graph-scatter",{fontCharacter:"\\ebe3"}),m.pieChart=new m("pie-chart",{fontCharacter:"\\ebe4"}),m.bracket=new m("bracket",m.json.definition),m.bracketDot=new m("bracket-dot",{fontCharacter:"\\ebe5"}),m.bracketError=new m("bracket-error",{fontCharacter:"\\ebe6"}),m.lockSmall=new m("lock-small",{fontCharacter:"\\ebe7"}),m.azureDevops=new m("azure-devops",{fontCharacter:"\\ebe8"}),m.verifiedFilled=new m("verified-filled",{fontCharacter:"\\ebe9"}),m.newLine=new m("newline",{fontCharacter:"\\ebea"}),m.layout=new m("layout",{fontCharacter:"\\ebeb"}),m.layoutActivitybarLeft=new m("layout-activitybar-left",{fontCharacter:"\\ebec"}),m.layoutActivitybarRight=new m("layout-activitybar-right",{fontCharacter:"\\ebed"}),m.layoutPanelLeft=new m("layout-panel-left",{fontCharacter:"\\ebee"}),m.layoutPanelCenter=new m("layout-panel-center",{fontCharacter:"\\ebef"}),m.layoutPanelJustify=new m("layout-panel-justify",{fontCharacter:"\\ebf0"}),m.layoutPanelRight=new m("layout-panel-right",{fontCharacter:"\\ebf1"}),m.layoutPanel=new m("layout-panel",{fontCharacter:"\\ebf2"}),m.layoutSidebarLeft=new m("layout-sidebar-left",{fontCharacter:"\\ebf3"}),m.layoutSidebarRight=new m("layout-sidebar-right",{fontCharacter:"\\ebf4"}),m.layoutStatusbar=new m("layout-statusbar",{fontCharacter:"\\ebf5"}),m.layoutMenubar=new m("layout-menubar",{fontCharacter:"\\ebf6"}),m.layoutCentered=new m("layout-centered",{fontCharacter:"\\ebf7"}),m.target=new m("target",{fontCharacter:"\\ebf8"}),m.indent=new m("indent",{fontCharacter:"\\ebf9"}),m.recordSmall=new m("record-small",{fontCharacter:"\\ebfa"}),m.errorSmall=new m("error-small",{fontCharacter:"\\ebfb"}),m.arrowCircleDown=new m("arrow-circle-down",{fontCharacter:"\\ebfc"}),m.arrowCircleLeft=new m("arrow-circle-left",{fontCharacter:"\\ebfd"}),m.arrowCircleRight=new m("arrow-circle-right",{fontCharacter:"\\ebfe"}),m.arrowCircleUp=new m("arrow-circle-up",{fontCharacter:"\\ebff"}),m.dialogError=new m("dialog-error",m.error.definition),m.dialogWarning=new m("dialog-warning",m.warning.definition),m.dialogInfo=new m("dialog-info",m.info.definition),m.dialogClose=new m("dialog-close",m.close.definition),m.treeItemExpanded=new m("tree-item-expanded",m.chevronDown.definition),m.treeFilterOnTypeOn=new m("tree-filter-on-type-on",m.listFilter.definition),m.treeFilterOnTypeOff=new m("tree-filter-on-type-off",m.listSelection.definition),m.treeFilterClear=new m("tree-filter-clear",m.close.definition),m.treeItemLoading=new m("tree-item-loading",m.loading.definition),m.menuSelection=new m("menu-selection",m.check.definition),m.menuSubmenu=new m("menu-submenu",m.chevronRight.definition),m.menuBarMore=new m("menubar-more",m.more.definition),m.scrollbarButtonLeft=new m("scrollbar-button-left",m.triangleLeft.definition),m.scrollbarButtonRight=new m("scrollbar-button-right",m.triangleRight.definition),m.scrollbarButtonUp=new m("scrollbar-button-up",m.triangleUp.definition),m.scrollbarButtonDown=new m("scrollbar-button-down",m.triangleDown.definition),m.toolBarMore=new m("toolbar-more",m.more.definition),m.quickInputBack=new m("quick-input-back",m.arrowLeft.definition);var k;(function(I){I.iconNameSegment="[A-Za-z0-9]+",I.iconNameExpression="[A-Za-z0-9-]+",I.iconModifierExpression="~[A-Za-z]+",I.iconNameCharacter="[A-Za-z0-9~-]";const w=new RegExp(`^(${I.iconNameExpression})(${I.iconModifierExpression})?$`);function b(g){if(g instanceof m)return["codicon","codicon-"+g.id];const t=w.exec(g.id);if(!t)return b(m.error);let[,n,i]=t;const o=["codicon","codicon-"+n];return i&&o.push("codicon-modifier-"+i.substr(1)),o}I.asClassNameArray=b;function C(g){return b(g).join(" ")}I.asClassName=C;function u(g){return"."+b(g).join(".")}I.asCSSSelector=u})(k=e.CSSIcon||(e.CSSIcon={}))}),define(te[217],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SetMap=e.forEach=void 0;const L=Object.prototype.hasOwnProperty;function m(I,w){for(let b in I)if(L.call(I,b)&&w({key:b,value:I[b]},function(){delete I[b]})===!1)return}e.forEach=m;class k{constructor(){this.map=new Map}add(w,b){let C=this.map.get(w);C||(C=new Set,this.map.set(w,C)),C.add(b)}delete(w,b){const C=this.map.get(w);!C||(C.delete(b),C.size===0&&this.map.delete(w))}forEach(w,b){const C=this.map.get(w);!C||C.forEach(b)}}e.SetMap=k}),define(te[30],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Color=e.HSVA=e.HSLA=e.RGBA=void 0;function L(b,C){const u=Math.pow(10,C);return Math.round(b*u)/u}class m{constructor(C,u,g,t=1){this._rgbaBrand=void 0,this.r=Math.min(255,Math.max(0,C))|0,this.g=Math.min(255,Math.max(0,u))|0,this.b=Math.min(255,Math.max(0,g))|0,this.a=L(Math.max(Math.min(1,t),0),3)}static equals(C,u){return C.r===u.r&&C.g===u.g&&C.b===u.b&&C.a===u.a}}e.RGBA=m;class k{constructor(C,u,g,t){this._hslaBrand=void 0,this.h=Math.max(Math.min(360,C),0)|0,this.s=L(Math.max(Math.min(1,u),0),3),this.l=L(Math.max(Math.min(1,g),0),3),this.a=L(Math.max(Math.min(1,t),0),3)}static equals(C,u){return C.h===u.h&&C.s===u.s&&C.l===u.l&&C.a===u.a}static fromRGBA(C){const u=C.r/255,g=C.g/255,t=C.b/255,n=C.a,i=Math.max(u,g,t),o=Math.min(u,g,t);let c=0,d=0;const r=(o+i)/2,s=i-o;if(s>0){switch(d=Math.min(r<=.5?s/(2*r):s/(2-2*r),1),i){case u:c=(g-t)/s+(g<t?6:0);break;case g:c=(t-u)/s+2;break;case t:c=(u-g)/s+4;break}c*=60,c=Math.round(c)}return new k(c,d,r,n)}static _hue2rgb(C,u,g){return g<0&&(g+=1),g>1&&(g-=1),g<1/6?C+(u-C)*6*g:g<1/2?u:g<2/3?C+(u-C)*(2/3-g)*6:C}static toRGBA(C){const u=C.h/360,{s:g,l:t,a:n}=C;let i,o,c;if(g===0)i=o=c=t;else{const d=t<.5?t*(1+g):t+g-t*g,r=2*t-d;i=k._hue2rgb(r,d,u+1/3),o=k._hue2rgb(r,d,u),c=k._hue2rgb(r,d,u-1/3)}return new m(Math.round(i*255),Math.round(o*255),Math.round(c*255),n)}}e.HSLA=k;class I{constructor(C,u,g,t){this._hsvaBrand=void 0,this.h=Math.max(Math.min(360,C),0)|0,this.s=L(Math.max(Math.min(1,u),0),3),this.v=L(Math.max(Math.min(1,g),0),3),this.a=L(Math.max(Math.min(1,t),0),3)}static equals(C,u){return C.h===u.h&&C.s===u.s&&C.v===u.v&&C.a===u.a}static fromRGBA(C){const u=C.r/255,g=C.g/255,t=C.b/255,n=Math.max(u,g,t),i=Math.min(u,g,t),o=n-i,c=n===0?0:o/n;let d;return o===0?d=0:n===u?d=((g-t)/o%6+6)%6:n===g?d=(t-u)/o+2:d=(u-g)/o+4,new I(Math.round(d*60),c,n,C.a)}static toRGBA(C){const{h:u,s:g,v:t,a:n}=C,i=t*g,o=i*(1-Math.abs(u/60%2-1)),c=t-i;let[d,r,s]=[0,0,0];return u<60?(d=i,r=o):u<120?(d=o,r=i):u<180?(r=i,s=o):u<240?(r=o,s=i):u<300?(d=o,s=i):u<=360&&(d=i,s=o),d=Math.round((d+c)*255),r=Math.round((r+c)*255),s=Math.round((s+c)*255),new m(d,r,s,n)}}e.HSVA=I;class w{constructor(C){if(C)if(C instanceof m)this.rgba=C;else if(C instanceof k)this._hsla=C,this.rgba=k.toRGBA(C);else if(C instanceof I)this._hsva=C,this.rgba=I.toRGBA(C);else throw new Error("Invalid color ctor argument");else throw new Error("Color needs a value")}static fromHex(C){return w.Format.CSS.parseHex(C)||w.red}get hsla(){return this._hsla?this._hsla:k.fromRGBA(this.rgba)}get hsva(){return this._hsva?this._hsva:I.fromRGBA(this.rgba)}equals(C){return!!C&&m.equals(this.rgba,C.rgba)&&k.equals(this.hsla,C.hsla)&&I.equals(this.hsva,C.hsva)}getRelativeLuminance(){const C=w._relativeLuminanceForComponent(this.rgba.r),u=w._relativeLuminanceForComponent(this.rgba.g),g=w._relativeLuminanceForComponent(this.rgba.b),t=.2126*C+.7152*u+.0722*g;return L(t,4)}static _relativeLuminanceForComponent(C){const u=C/255;return u<=.03928?u/12.92:Math.pow((u+.055)/1.055,2.4)}isLighter(){return(this.rgba.r*299+this.rgba.g*587+this.rgba.b*114)/1e3>=128}isLighterThan(C){const u=this.getRelativeLuminance(),g=C.getRelativeLuminance();return u>g}isDarkerThan(C){const u=this.getRelativeLuminance(),g=C.getRelativeLuminance();return u<g}lighten(C){return new w(new k(this.hsla.h,this.hsla.s,this.hsla.l+this.hsla.l*C,this.hsla.a))}darken(C){return new w(new k(this.hsla.h,this.hsla.s,this.hsla.l-this.hsla.l*C,this.hsla.a))}transparent(C){const{r:u,g,b:t,a:n}=this.rgba;return new w(new m(u,g,t,n*C))}isTransparent(){return this.rgba.a===0}isOpaque(){return this.rgba.a===1}opposite(){return new w(new m(255-this.rgba.r,255-this.rgba.g,255-this.rgba.b,this.rgba.a))}toString(){return this._toString||(this._toString=w.Format.CSS.format(this)),this._toString}static getLighterColor(C,u,g){if(C.isLighterThan(u))return C;g=g||.5;const t=C.getRelativeLuminance(),n=u.getRelativeLuminance();return g=g*(n-t)/n,C.lighten(g)}static getDarkerColor(C,u,g){if(C.isDarkerThan(u))return C;g=g||.5;const t=C.getRelativeLuminance(),n=u.getRelativeLuminance();return g=g*(t-n)/t,C.darken(g)}}e.Color=w,w.white=new w(new m(255,255,255,1)),w.black=new w(new m(0,0,0,1)),w.red=new w(new m(255,0,0,1)),w.blue=new w(new m(0,0,255,1)),w.green=new w(new m(0,255,0,1)),w.cyan=new w(new m(0,255,255,1)),w.lightgrey=new w(new m(211,211,211,1)),w.transparent=new w(new m(0,0,0,0)),function(b){let C;(function(u){let g;(function(t){function n(f){return f.rgba.a===1?`rgb(${f.rgba.r}, ${f.rgba.g}, ${f.rgba.b})`:b.Format.CSS.formatRGBA(f)}t.formatRGB=n;function i(f){return`rgba(${f.rgba.r}, ${f.rgba.g}, ${f.rgba.b}, ${+f.rgba.a.toFixed(2)})`}t.formatRGBA=i;function o(f){return f.hsla.a===1?`hsl(${f.hsla.h}, ${(f.hsla.s*100).toFixed(2)}%, ${(f.hsla.l*100).toFixed(2)}%)`:b.Format.CSS.formatHSLA(f)}t.formatHSL=o;function c(f){return`hsla(${f.hsla.h}, ${(f.hsla.s*100).toFixed(2)}%, ${(f.hsla.l*100).toFixed(2)}%, ${f.hsla.a.toFixed(2)})`}t.formatHSLA=c;function d(f){const S=f.toString(16);return S.length!==2?"0"+S:S}function r(f){return`#${d(f.rgba.r)}${d(f.rgba.g)}${d(f.rgba.b)}`}t.formatHex=r;function s(f,S=!1){return S&&f.rgba.a===1?b.Format.CSS.formatHex(f):`#${d(f.rgba.r)}${d(f.rgba.g)}${d(f.rgba.b)}${d(Math.round(f.rgba.a*255))}`}t.formatHexA=s;function a(f){return f.isOpaque()?b.Format.CSS.formatHex(f):b.Format.CSS.formatRGBA(f)}t.format=a;function l(f){const S=f.length;if(S===0||f.charCodeAt(0)!==35)return null;if(S===7){const v=16*h(f.charCodeAt(1))+h(f.charCodeAt(2)),p=16*h(f.charCodeAt(3))+h(f.charCodeAt(4)),_=16*h(f.charCodeAt(5))+h(f.charCodeAt(6));return new b(new m(v,p,_,1))}if(S===9){const v=16*h(f.charCodeAt(1))+h(f.charCodeAt(2)),p=16*h(f.charCodeAt(3))+h(f.charCodeAt(4)),_=16*h(f.charCodeAt(5))+h(f.charCodeAt(6)),y=16*h(f.charCodeAt(7))+h(f.charCodeAt(8));return new b(new m(v,p,_,y/255))}if(S===4){const v=h(f.charCodeAt(1)),p=h(f.charCodeAt(2)),_=h(f.charCodeAt(3));return new b(new m(16*v+v,16*p+p,16*_+_))}if(S===5){const v=h(f.charCodeAt(1)),p=h(f.charCodeAt(2)),_=h(f.charCodeAt(3)),y=h(f.charCodeAt(4));return new b(new m(16*v+v,16*p+p,16*_+_,(16*y+y)/255))}return null}t.parseHex=l;function h(f){switch(f){case 48:return 0;case 49:return 1;case 50:return 2;case 51:return 3;case 52:return 4;case 53:return 5;case 54:return 6;case 55:return 7;case 56:return 8;case 57:return 9;case 97:return 10;case 65:return 10;case 98:return 11;case 66:return 11;case 99:return 12;case 67:return 12;case 100:return 13;case 68:return 13;case 101:return 14;case 69:return 14;case 102:return 15;case 70:return 15}return 0}})(g=u.CSS||(u.CSS={}))})(C=b.Format||(b.Format={}))}(w=e.Color||(e.Color={}))}),define(te[95],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.memoize=void 0;function L(m,k,I){let w=null,b=null;if(typeof I.value=="function"?(w="value",b=I.value,b.length!==0&&console.warn("Memoize should only be used in functions with zero parameters")):typeof I.get=="function"&&(w="get",b=I.get),!b)throw new Error("not supported");const C=`$memoize$${k}`;I[w]=function(...u){return this.hasOwnProperty(C)||Object.defineProperty(this,C,{configurable:!1,enumerable:!1,writable:!1,value:b.apply(this,u)}),this[C]}}e.memoize=L}),define(te[313],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DiffChange=void 0;class L{constructor(k,I,w,b){this.originalStart=k,this.originalLength=I,this.modifiedStart=w,this.modifiedLength=b}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}e.DiffChange=L}),define(te[13],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.NotSupportedError=e.illegalState=e.illegalArgument=e.canceled=e.CancellationError=e.isCancellationError=e.transformErrorForSerialization=e.onUnexpectedExternalError=e.onUnexpectedError=e.errorHandler=e.ErrorHandler=void 0;class L{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(o){setTimeout(()=>{throw o.stack?new Error(o.message+`
+
+`+o.stack):o},0)}}emit(o){this.listeners.forEach(c=>{c(o)})}onUnexpectedError(o){this.unexpectedErrorHandler(o),this.emit(o)}onUnexpectedExternalError(o){this.unexpectedErrorHandler(o)}}e.ErrorHandler=L,e.errorHandler=new L;function m(i){b(i)||e.errorHandler.onUnexpectedError(i)}e.onUnexpectedError=m;function k(i){b(i)||e.errorHandler.onUnexpectedExternalError(i)}e.onUnexpectedExternalError=k;function I(i){if(i instanceof Error){let{name:o,message:c}=i;const d=i.stacktrace||i.stack;return{$isError:!0,name:o,message:c,stack:d}}return i}e.transformErrorForSerialization=I;const w="Canceled";function b(i){return i instanceof C?!0:i instanceof Error&&i.name===w&&i.message===w}e.isCancellationError=b;class C extends Error{constructor(){super(w);this.name=this.message}}e.CancellationError=C;function u(){const i=new Error(w);return i.name=i.message,i}e.canceled=u;function g(i){return i?new Error(`Illegal argument: ${i}`):new Error("Illegal argument")}e.illegalArgument=g;function t(i){return i?new Error(`Illegal state: ${i}`):new Error("Illegal state")}e.illegalState=t;class n extends Error{constructor(o){super("NotSupported");o&&(this.message=o)}}e.NotSupportedError=n}),define(te[91],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.once=void 0;function L(m){const k=this;let I=!1,w;return function(){return I||(I=!0,w=m.apply(k,arguments)),w}}e.once=L}),define(te[136],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.defaultGenerator=e.IdGenerator=void 0;class L{constructor(k){this._prefix=k,this._lastId=0}nextId(){return this._prefix+ ++this._lastId}}e.IdGenerator=L,e.defaultGenerator=new L("id#")}),define(te[57],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Iterable=void 0;var L;(function(m){function k(h){return h&&typeof h=="object"&&typeof h[Symbol.iterator]=="function"}m.is=k;const I=Object.freeze([]);function w(){return I}m.empty=w;function*b(h){yield h}m.single=b;function C(h){return h||I}m.from=C;function u(h){return!h||h[Symbol.iterator]().next().done===!0}m.isEmpty=u;function g(h){return h[Symbol.iterator]().next().value}m.first=g;function t(h,f){for(const S of h)if(f(S))return!0;return!1}m.some=t;function n(h,f){for(const S of h)if(f(S))return S}m.find=n;function*i(h,f){for(const S of h)f(S)&&(yield S)}m.filter=i;function*o(h,f){let S=0;for(const v of h)yield f(v,S++)}m.map=o;function*c(...h){for(const f of h)for(const S of f)yield S}m.concat=c;function*d(h){for(const f of h)for(const S of f)yield S}m.concatNested=d;function r(h,f,S){let v=S;for(const p of h)v=f(v,p);return v}m.reduce=r;function*s(h,f,S=h.length){for(f<0&&(f+=h.length),S<0?S+=h.length:S>h.length&&(S=h.length);f<S;f++)yield h[f]}m.slice=s;function a(h,f=Number.POSITIVE_INFINITY){const S=[];if(f===0)return[S,h];const v=h[Symbol.iterator]();for(let p=0;p<f;p++){const _=v.next();if(_.done)return[S,m.empty()];S.push(_.value)}return[S,{[Symbol.iterator](){return v}}]}m.consume=a;function l(h,f,S=(v,p)=>v===p){const v=h[Symbol.iterator](),p=f[Symbol.iterator]();for(;;){const _=v.next(),y=p.next();if(_.done!==y.done)return!1;if(_.done)return!0;if(!S(_.value,y.value))return!1}}m.equals=l})(L=e.Iterable||(e.Iterable={}))}),define(te[58],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.KeyChord=e.KeyCodeUtils=e.IMMUTABLE_KEY_CODE_TO_CODE=e.IMMUTABLE_CODE_TO_KEY_CODE=e.NATIVE_WINDOWS_KEY_CODE_TO_KEY_CODE=e.EVENT_KEY_CODE_MAP=void 0;class L{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(n,i){this._keyCodeToStr[n]=i,this._strToKeyCode[i.toLowerCase()]=n}keyCodeToStr(n){return this._keyCodeToStr[n]}strToKeyCode(n){return this._strToKeyCode[n.toLowerCase()]||0}}const m=new L,k=new L,I=new L;e.EVENT_KEY_CODE_MAP=new Array(230),e.NATIVE_WINDOWS_KEY_CODE_TO_KEY_CODE={};const w=[],b=Object.create(null),C=Object.create(null);e.IMMUTABLE_CODE_TO_KEY_CODE=[],e.IMMUTABLE_KEY_CODE_TO_CODE=[];for(let t=0;t<=193;t++)e.IMMUTABLE_CODE_TO_KEY_CODE[t]=-1;for(let t=0;t<=127;t++)e.IMMUTABLE_KEY_CODE_TO_CODE[t]=-1;(function(){const t="",n=[[0,1,0,"None",0,"unknown",0,"VK_UNKNOWN",t,t],[0,1,1,"Hyper",0,t,0,t,t,t],[0,1,2,"Super",0,t,0,t,t,t],[0,1,3,"Fn",0,t,0,t,t,t],[0,1,4,"FnLock",0,t,0,t,t,t],[0,1,5,"Suspend",0,t,0,t,t,t],[0,1,6,"Resume",0,t,0,t,t,t],[0,1,7,"Turbo",0,t,0,t,t,t],[0,1,8,"Sleep",0,t,0,"VK_SLEEP",t,t],[0,1,9,"WakeUp",0,t,0,t,t,t],[31,0,10,"KeyA",31,"A",65,"VK_A",t,t],[32,0,11,"KeyB",32,"B",66,"VK_B",t,t],[33,0,12,"KeyC",33,"C",67,"VK_C",t,t],[34,0,13,"KeyD",34,"D",68,"VK_D",t,t],[35,0,14,"KeyE",35,"E",69,"VK_E",t,t],[36,0,15,"KeyF",36,"F",70,"VK_F",t,t],[37,0,16,"KeyG",37,"G",71,"VK_G",t,t],[38,0,17,"KeyH",38,"H",72,"VK_H",t,t],[39,0,18,"KeyI",39,"I",73,"VK_I",t,t],[40,0,19,"KeyJ",40,"J",74,"VK_J",t,t],[41,0,20,"KeyK",41,"K",75,"VK_K",t,t],[42,0,21,"KeyL",42,"L",76,"VK_L",t,t],[43,0,22,"KeyM",43,"M",77,"VK_M",t,t],[44,0,23,"KeyN",44,"N",78,"VK_N",t,t],[45,0,24,"KeyO",45,"O",79,"VK_O",t,t],[46,0,25,"KeyP",46,"P",80,"VK_P",t,t],[47,0,26,"KeyQ",47,"Q",81,"VK_Q",t,t],[48,0,27,"KeyR",48,"R",82,"VK_R",t,t],[49,0,28,"KeyS",49,"S",83,"VK_S",t,t],[50,0,29,"KeyT",50,"T",84,"VK_T",t,t],[51,0,30,"KeyU",51,"U",85,"VK_U",t,t],[52,0,31,"KeyV",52,"V",86,"VK_V",t,t],[53,0,32,"KeyW",53,"W",87,"VK_W",t,t],[54,0,33,"KeyX",54,"X",88,"VK_X",t,t],[55,0,34,"KeyY",55,"Y",89,"VK_Y",t,t],[56,0,35,"KeyZ",56,"Z",90,"VK_Z",t,t],[22,0,36,"Digit1",22,"1",49,"VK_1",t,t],[23,0,37,"Digit2",23,"2",50,"VK_2",t,t],[24,0,38,"Digit3",24,"3",51,"VK_3",t,t],[25,0,39,"Digit4",25,"4",52,"VK_4",t,t],[26,0,40,"Digit5",26,"5",53,"VK_5",t,t],[27,0,41,"Digit6",27,"6",54,"VK_6",t,t],[28,0,42,"Digit7",28,"7",55,"VK_7",t,t],[29,0,43,"Digit8",29,"8",56,"VK_8",t,t],[30,0,44,"Digit9",30,"9",57,"VK_9",t,t],[21,0,45,"Digit0",21,"0",48,"VK_0",t,t],[3,1,46,"Enter",3,"Enter",13,"VK_RETURN",t,t],[9,1,47,"Escape",9,"Escape",27,"VK_ESCAPE",t,t],[1,1,48,"Backspace",1,"Backspace",8,"VK_BACK",t,t],[2,1,49,"Tab",2,"Tab",9,"VK_TAB",t,t],[10,1,50,"Space",10,"Space",32,"VK_SPACE",t,t],[83,0,51,"Minus",83,"-",189,"VK_OEM_MINUS","-","OEM_MINUS"],[81,0,52,"Equal",81,"=",187,"VK_OEM_PLUS","=","OEM_PLUS"],[87,0,53,"BracketLeft",87,"[",219,"VK_OEM_4","[","OEM_4"],[89,0,54,"BracketRight",89,"]",221,"VK_OEM_6","]","OEM_6"],[88,0,55,"Backslash",88,"\\",220,"VK_OEM_5","\\","OEM_5"],[0,0,56,"IntlHash",0,t,0,t,t,t],[80,0,57,"Semicolon",80,";",186,"VK_OEM_1",";","OEM_1"],[90,0,58,"Quote",90,"'",222,"VK_OEM_7","'","OEM_7"],[86,0,59,"Backquote",86,"`",192,"VK_OEM_3","`","OEM_3"],[82,0,60,"Comma",82,",",188,"VK_OEM_COMMA",",","OEM_COMMA"],[84,0,61,"Period",84,".",190,"VK_OEM_PERIOD",".","OEM_PERIOD"],[85,0,62,"Slash",85,"/",191,"VK_OEM_2","/","OEM_2"],[8,1,63,"CapsLock",8,"CapsLock",20,"VK_CAPITAL",t,t],[59,1,64,"F1",59,"F1",112,"VK_F1",t,t],[60,1,65,"F2",60,"F2",113,"VK_F2",t,t],[61,1,66,"F3",61,"F3",114,"VK_F3",t,t],[62,1,67,"F4",62,"F4",115,"VK_F4",t,t],[63,1,68,"F5",63,"F5",116,"VK_F5",t,t],[64,1,69,"F6",64,"F6",117,"VK_F6",t,t],[65,1,70,"F7",65,"F7",118,"VK_F7",t,t],[66,1,71,"F8",66,"F8",119,"VK_F8",t,t],[67,1,72,"F9",67,"F9",120,"VK_F9",t,t],[68,1,73,"F10",68,"F10",121,"VK_F10",t,t],[69,1,74,"F11",69,"F11",122,"VK_F11",t,t],[70,1,75,"F12",70,"F12",123,"VK_F12",t,t],[0,1,76,"PrintScreen",0,t,0,t,t,t],[79,1,77,"ScrollLock",79,"ScrollLock",145,"VK_SCROLL",t,t],[7,1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE",t,t],[19,1,79,"Insert",19,"Insert",45,"VK_INSERT",t,t],[14,1,80,"Home",14,"Home",36,"VK_HOME",t,t],[11,1,81,"PageUp",11,"PageUp",33,"VK_PRIOR",t,t],[20,1,82,"Delete",20,"Delete",46,"VK_DELETE",t,t],[13,1,83,"End",13,"End",35,"VK_END",t,t],[12,1,84,"PageDown",12,"PageDown",34,"VK_NEXT",t,t],[17,1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",t],[15,1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",t],[18,1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",t],[16,1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",t],[78,1,89,"NumLock",78,"NumLock",144,"VK_NUMLOCK",t,t],[108,1,90,"NumpadDivide",108,"NumPad_Divide",111,"VK_DIVIDE",t,t],[103,1,91,"NumpadMultiply",103,"NumPad_Multiply",106,"VK_MULTIPLY",t,t],[106,1,92,"NumpadSubtract",106,"NumPad_Subtract",109,"VK_SUBTRACT",t,t],[104,1,93,"NumpadAdd",104,"NumPad_Add",107,"VK_ADD",t,t],[3,1,94,"NumpadEnter",3,t,0,t,t,t],[94,1,95,"Numpad1",94,"NumPad1",97,"VK_NUMPAD1",t,t],[95,1,96,"Numpad2",95,"NumPad2",98,"VK_NUMPAD2",t,t],[96,1,97,"Numpad3",96,"NumPad3",99,"VK_NUMPAD3",t,t],[97,1,98,"Numpad4",97,"NumPad4",100,"VK_NUMPAD4",t,t],[98,1,99,"Numpad5",98,"NumPad5",101,"VK_NUMPAD5",t,t],[99,1,100,"Numpad6",99,"NumPad6",102,"VK_NUMPAD6",t,t],[100,1,101,"Numpad7",100,"NumPad7",103,"VK_NUMPAD7",t,t],[101,1,102,"Numpad8",101,"NumPad8",104,"VK_NUMPAD8",t,t],[102,1,103,"Numpad9",102,"NumPad9",105,"VK_NUMPAD9",t,t],[93,1,104,"Numpad0",93,"NumPad0",96,"VK_NUMPAD0",t,t],[107,1,105,"NumpadDecimal",107,"NumPad_Decimal",110,"VK_DECIMAL",t,t],[92,0,106,"IntlBackslash",92,"OEM_102",226,"VK_OEM_102",t,t],[58,1,107,"ContextMenu",58,"ContextMenu",93,t,t,t],[0,1,108,"Power",0,t,0,t,t,t],[0,1,109,"NumpadEqual",0,t,0,t,t,t],[71,1,110,"F13",71,"F13",124,"VK_F13",t,t],[72,1,111,"F14",72,"F14",125,"VK_F14",t,t],[73,1,112,"F15",73,"F15",126,"VK_F15",t,t],[74,1,113,"F16",74,"F16",127,"VK_F16",t,t],[75,1,114,"F17",75,"F17",128,"VK_F17",t,t],[76,1,115,"F18",76,"F18",129,"VK_F18",t,t],[77,1,116,"F19",77,"F19",130,"VK_F19",t,t],[0,1,117,"F20",0,t,0,"VK_F20",t,t],[0,1,118,"F21",0,t,0,"VK_F21",t,t],[0,1,119,"F22",0,t,0,"VK_F22",t,t],[0,1,120,"F23",0,t,0,"VK_F23",t,t],[0,1,121,"F24",0,t,0,"VK_F24",t,t],[0,1,122,"Open",0,t,0,t,t,t],[0,1,123,"Help",0,t,0,t,t,t],[0,1,124,"Select",0,t,0,t,t,t],[0,1,125,"Again",0,t,0,t,t,t],[0,1,126,"Undo",0,t,0,t,t,t],[0,1,127,"Cut",0,t,0,t,t,t],[0,1,128,"Copy",0,t,0,t,t,t],[0,1,129,"Paste",0,t,0,t,t,t],[0,1,130,"Find",0,t,0,t,t,t],[0,1,131,"AudioVolumeMute",112,"AudioVolumeMute",173,"VK_VOLUME_MUTE",t,t],[0,1,132,"AudioVolumeUp",113,"AudioVolumeUp",175,"VK_VOLUME_UP",t,t],[0,1,133,"AudioVolumeDown",114,"AudioVolumeDown",174,"VK_VOLUME_DOWN",t,t],[105,1,134,"NumpadComma",105,"NumPad_Separator",108,"VK_SEPARATOR",t,t],[110,0,135,"IntlRo",110,"ABNT_C1",193,"VK_ABNT_C1",t,t],[0,1,136,"KanaMode",0,t,0,t,t,t],[0,0,137,"IntlYen",0,t,0,t,t,t],[0,1,138,"Convert",0,t,0,t,t,t],[0,1,139,"NonConvert",0,t,0,t,t,t],[0,1,140,"Lang1",0,t,0,t,t,t],[0,1,141,"Lang2",0,t,0,t,t,t],[0,1,142,"Lang3",0,t,0,t,t,t],[0,1,143,"Lang4",0,t,0,t,t,t],[0,1,144,"Lang5",0,t,0,t,t,t],[0,1,145,"Abort",0,t,0,t,t,t],[0,1,146,"Props",0,t,0,t,t,t],[0,1,147,"NumpadParenLeft",0,t,0,t,t,t],[0,1,148,"NumpadParenRight",0,t,0,t,t,t],[0,1,149,"NumpadBackspace",0,t,0,t,t,t],[0,1,150,"NumpadMemoryStore",0,t,0,t,t,t],[0,1,151,"NumpadMemoryRecall",0,t,0,t,t,t],[0,1,152,"NumpadMemoryClear",0,t,0,t,t,t],[0,1,153,"NumpadMemoryAdd",0,t,0,t,t,t],[0,1,154,"NumpadMemorySubtract",0,t,0,t,t,t],[0,1,155,"NumpadClear",126,"Clear",12,"VK_CLEAR",t,t],[0,1,156,"NumpadClearEntry",0,t,0,t,t,t],[5,1,0,t,5,"Ctrl",17,"VK_CONTROL",t,t],[4,1,0,t,4,"Shift",16,"VK_SHIFT",t,t],[6,1,0,t,6,"Alt",18,"VK_MENU",t,t],[57,1,0,t,57,"Meta",0,"VK_COMMAND",t,t],[5,1,157,"ControlLeft",5,t,0,"VK_LCONTROL",t,t],[4,1,158,"ShiftLeft",4,t,0,"VK_LSHIFT",t,t],[6,1,159,"AltLeft",6,t,0,"VK_LMENU",t,t],[57,1,160,"MetaLeft",57,t,0,"VK_LWIN",t,t],[5,1,161,"ControlRight",5,t,0,"VK_RCONTROL",t,t],[4,1,162,"ShiftRight",4,t,0,"VK_RSHIFT",t,t],[6,1,163,"AltRight",6,t,0,"VK_RMENU",t,t],[57,1,164,"MetaRight",57,t,0,"VK_RWIN",t,t],[0,1,165,"BrightnessUp",0,t,0,t,t,t],[0,1,166,"BrightnessDown",0,t,0,t,t,t],[0,1,167,"MediaPlay",0,t,0,t,t,t],[0,1,168,"MediaRecord",0,t,0,t,t,t],[0,1,169,"MediaFastForward",0,t,0,t,t,t],[0,1,170,"MediaRewind",0,t,0,t,t,t],[114,1,171,"MediaTrackNext",119,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK",t,t],[115,1,172,"MediaTrackPrevious",120,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK",t,t],[116,1,173,"MediaStop",121,"MediaStop",178,"VK_MEDIA_STOP",t,t],[0,1,174,"Eject",0,t,0,t,t,t],[117,1,175,"MediaPlayPause",122,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE",t,t],[0,1,176,"MediaSelect",123,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT",t,t],[0,1,177,"LaunchMail",124,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL",t,t],[0,1,178,"LaunchApp2",125,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2",t,t],[0,1,179,"LaunchApp1",0,t,0,"VK_MEDIA_LAUNCH_APP1",t,t],[0,1,180,"SelectTask",0,t,0,t,t,t],[0,1,181,"LaunchScreenSaver",0,t,0,t,t,t],[0,1,182,"BrowserSearch",115,"BrowserSearch",170,"VK_BROWSER_SEARCH",t,t],[0,1,183,"BrowserHome",116,"BrowserHome",172,"VK_BROWSER_HOME",t,t],[112,1,184,"BrowserBack",117,"BrowserBack",166,"VK_BROWSER_BACK",t,t],[113,1,185,"BrowserForward",118,"BrowserForward",167,"VK_BROWSER_FORWARD",t,t],[0,1,186,"BrowserStop",0,t,0,"VK_BROWSER_STOP",t,t],[0,1,187,"BrowserRefresh",0,t,0,"VK_BROWSER_REFRESH",t,t],[0,1,188,"BrowserFavorites",0,t,0,"VK_BROWSER_FAVORITES",t,t],[0,1,189,"ZoomToggle",0,t,0,t,t,t],[0,1,190,"MailReply",0,t,0,t,t,t],[0,1,191,"MailForward",0,t,0,t,t,t],[0,1,192,"MailSend",0,t,0,t,t,t],[109,1,0,t,109,"KeyInComposition",229,t,t,t],[111,1,0,t,111,"ABNT_C2",194,"VK_ABNT_C2",t,t],[91,1,0,t,91,"OEM_8",223,"VK_OEM_8",t,t],[0,1,0,t,0,t,0,"VK_KANA",t,t],[0,1,0,t,0,t,0,"VK_HANGUL",t,t],[0,1,0,t,0,t,0,"VK_JUNJA",t,t],[0,1,0,t,0,t,0,"VK_FINAL",t,t],[0,1,0,t,0,t,0,"VK_HANJA",t,t],[0,1,0,t,0,t,0,"VK_KANJI",t,t],[0,1,0,t,0,t,0,"VK_CONVERT",t,t],[0,1,0,t,0,t,0,"VK_NONCONVERT",t,t],[0,1,0,t,0,t,0,"VK_ACCEPT",t,t],[0,1,0,t,0,t,0,"VK_MODECHANGE",t,t],[0,1,0,t,0,t,0,"VK_SELECT",t,t],[0,1,0,t,0,t,0,"VK_PRINT",t,t],[0,1,0,t,0,t,0,"VK_EXECUTE",t,t],[0,1,0,t,0,t,0,"VK_SNAPSHOT",t,t],[0,1,0,t,0,t,0,"VK_HELP",t,t],[0,1,0,t,0,t,0,"VK_APPS",t,t],[0,1,0,t,0,t,0,"VK_PROCESSKEY",t,t],[0,1,0,t,0,t,0,"VK_PACKET",t,t],[0,1,0,t,0,t,0,"VK_DBE_SBCSCHAR",t,t],[0,1,0,t,0,t,0,"VK_DBE_DBCSCHAR",t,t],[0,1,0,t,0,t,0,"VK_ATTN",t,t],[0,1,0,t,0,t,0,"VK_CRSEL",t,t],[0,1,0,t,0,t,0,"VK_EXSEL",t,t],[0,1,0,t,0,t,0,"VK_EREOF",t,t],[0,1,0,t,0,t,0,"VK_PLAY",t,t],[0,1,0,t,0,t,0,"VK_ZOOM",t,t],[0,1,0,t,0,t,0,"VK_NONAME",t,t],[0,1,0,t,0,t,0,"VK_PA1",t,t],[0,1,0,t,0,t,0,"VK_OEM_CLEAR",t,t]];let i=[],o=[];for(const c of n){const[d,r,s,a,l,h,f,S,v,p]=c;if(o[s]||(o[s]=!0,w[s]=a,b[a]=s,C[a.toLowerCase()]=s,r&&(e.IMMUTABLE_CODE_TO_KEY_CODE[s]=l,l!==0&&l!==3&&l!==5&&l!==4&&l!==6&&l!==57&&(e.IMMUTABLE_KEY_CODE_TO_CODE[l]=s))),!i[l]){if(i[l]=!0,!h)throw new Error(`String representation missing for key code ${l} around scan code ${a}`);m.define(l,h),k.define(l,v||h),I.define(l,p||v||h)}f&&(e.EVENT_KEY_CODE_MAP[f]=l),S&&(e.NATIVE_WINDOWS_KEY_CODE_TO_KEY_CODE[S]=l)}e.IMMUTABLE_KEY_CODE_TO_CODE[3]=46})();var u;(function(t){function n(s){return m.keyCodeToStr(s)}t.toString=n;function i(s){return m.strToKeyCode(s)}t.fromString=i;function o(s){return k.keyCodeToStr(s)}t.toUserSettingsUS=o;function c(s){return I.keyCodeToStr(s)}t.toUserSettingsGeneral=c;function d(s){return k.strToKeyCode(s)||I.strToKeyCode(s)}t.fromUserSettings=d;function r(s){if(s>=93&&s<=108)return null;switch(s){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return m.keyCodeToStr(s)}t.toElectronAccelerator=r})(u=e.KeyCodeUtils||(e.KeyCodeUtils={}));function g(t,n){const i=(n&65535)<<16>>>0;return(t|i)>>>0}e.KeyChord=g}),define(te[96],ie([1,0,13]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ResolvedKeybinding=e.ResolvedKeybindingPart=e.ScanCodeBinding=e.ChordKeybinding=e.SimpleKeybinding=e.createSimpleKeybinding=e.createKeybinding=void 0;function m(g,t){if(g===0)return null;const n=(g&65535)>>>0,i=(g&4294901760)>>>16;return i!==0?new w([k(n,t),k(i,t)]):new w([k(n,t)])}e.createKeybinding=m;function k(g,t){const n=!!(g&2048),i=!!(g&256),o=t===2?i:n,c=!!(g&1024),d=!!(g&512),r=t===2?n:i,s=g&255;return new I(o,c,d,r,s)}e.createSimpleKeybinding=k;class I{constructor(t,n,i,o,c){this.ctrlKey=t,this.shiftKey=n,this.altKey=i,this.metaKey=o,this.keyCode=c}equals(t){return this.ctrlKey===t.ctrlKey&&this.shiftKey===t.shiftKey&&this.altKey===t.altKey&&this.metaKey===t.metaKey&&this.keyCode===t.keyCode}isModifierKey(){return this.keyCode===0||this.keyCode===5||this.keyCode===57||this.keyCode===6||this.keyCode===4}toChord(){return new w([this])}isDuplicateModifierCase(){return this.ctrlKey&&this.keyCode===5||this.shiftKey&&this.keyCode===4||this.altKey&&this.keyCode===6||this.metaKey&&this.keyCode===57}}e.SimpleKeybinding=I;class w{constructor(t){if(t.length===0)throw(0,L.illegalArgument)("parts");this.parts=t}}e.ChordKeybinding=w;class b{constructor(t,n,i,o,c){this.ctrlKey=t,this.shiftKey=n,this.altKey=i,this.metaKey=o,this.scanCode=c}isDuplicateModifierCase(){return this.ctrlKey&&(this.scanCode===157||this.scanCode===161)||this.shiftKey&&(this.scanCode===158||this.scanCode===162)||this.altKey&&(this.scanCode===159||this.scanCode===163)||this.metaKey&&(this.scanCode===160||this.scanCode===164)}}e.ScanCodeBinding=b;class C{constructor(t,n,i,o,c,d){this.ctrlKey=t,this.shiftKey=n,this.altKey=i,this.metaKey=o,this.keyLabel=c,this.keyAriaLabel=d}}e.ResolvedKeybindingPart=C;class u{}e.ResolvedKeybinding=u}),define(te[137],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Lazy=void 0;class L{constructor(k){this.executor=k,this._didRun=!1}getValue(){if(!this._didRun)try{this._value=this.executor()}catch(k){this._error=k}finally{this._didRun=!0}if(this._error)throw this._error;return this._value}get rawValue(){return this._value}}e.Lazy=L}),define(te[2],ie([1,0,91,57]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ImmortalReference=e.SafeDisposable=e.MutableDisposable=e.Disposable=e.DisposableStore=e.toDisposable=e.combinedDisposable=e.dispose=e.isDisposable=e.MultiDisposeError=e.markAsSingleton=e.setDisposableTracker=void 0;const k=!1;let I=null;function w(f){I=f}if(e.setDisposableTracker=w,k){const f="__is_disposable_tracked__";w(new class{trackDisposable(S){const v=new Error("Potentially leaked disposable").stack;setTimeout(()=>{S[f]||console.log(v)},3e3)}setParent(S,v){if(S&&S!==s.None)try{S[f]=!0}catch{}}markAsDisposed(S){if(S&&S!==s.None)try{S[f]=!0}catch{}}markAsSingleton(S){}})}function b(f){return I==null||I.trackDisposable(f),f}function C(f){I==null||I.markAsDisposed(f)}function u(f,S){I==null||I.setParent(f,S)}function g(f,S){if(!!I)for(const v of f)I.setParent(v,S)}function t(f){return I==null||I.markAsSingleton(f),f}e.markAsSingleton=t;class n extends Error{constructor(S){super(`Encountered errors while disposing of store. Errors: [${S.join(", ")}]`);this.errors=S}}e.MultiDisposeError=n;function i(f){return typeof f.dispose=="function"&&f.dispose.length===0}e.isDisposable=i;function o(f){if(m.Iterable.is(f)){let S=[];for(const v of f)if(v)try{v.dispose()}catch(p){S.push(p)}if(S.length===1)throw S[0];if(S.length>1)throw new n(S);return Array.isArray(f)?[]:f}else if(f)return f.dispose(),f}e.dispose=o;function c(...f){const S=d(()=>o(f));return g(f,S),S}e.combinedDisposable=c;function d(f){const S=b({dispose:(0,L.once)(()=>{C(S),f()})});return S}e.toDisposable=d;class r{constructor(){this._toDispose=new Set,this._isDisposed=!1,b(this)}dispose(){this._isDisposed||(C(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){try{o(this._toDispose.values())}finally{this._toDispose.clear()}}add(S){if(!S)return S;if(S===this)throw new Error("Cannot register a disposable on itself!");return u(S,this),this._isDisposed?r.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(S),S}}e.DisposableStore=r,r.DISABLE_DISPOSED_WARNING=!1;class s{constructor(){this._store=new r,b(this),u(this._store,this)}dispose(){C(this),this._store.dispose()}_register(S){if(S===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(S)}}e.Disposable=s,s.None=Object.freeze({dispose(){}});class a{constructor(){this._isDisposed=!1,b(this)}get value(){return this._isDisposed?void 0:this._value}set value(S){var v;this._isDisposed||S===this._value||((v=this._value)===null||v===void 0||v.dispose(),S&&u(S,this),this._value=S)}clear(){this.value=void 0}dispose(){var S;this._isDisposed=!0,C(this),(S=this._value)===null||S===void 0||S.dispose(),this._value=void 0}clearAndLeak(){const S=this._value;return this._value=void 0,S&&u(S,null),S}}e.MutableDisposable=a;class l{constructor(){this.dispose=()=>{},this.unset=()=>{},this.isset=()=>!1,b(this)}set(S){let v=S;return this.unset=()=>v=void 0,this.isset=()=>v!==void 0,this.dispose=()=>{v&&(v(),v=void 0,C(this))},this}}e.SafeDisposable=l;class h{constructor(S){this.object=S}dispose(){}}e.ImmortalReference=h}),define(te[83],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LinkedList=void 0;class L{constructor(I){this.element=I,this.next=L.Undefined,this.prev=L.Undefined}}L.Undefined=new L(void 0);class m{constructor(){this._first=L.Undefined,this._last=L.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===L.Undefined}clear(){let I=this._first;for(;I!==L.Undefined;){const w=I.next;I.prev=L.Undefined,I.next=L.Undefined,I=w}this._first=L.Undefined,this._last=L.Undefined,this._size=0}unshift(I){return this._insert(I,!1)}push(I){return this._insert(I,!0)}_insert(I,w){const b=new L(I);if(this._first===L.Undefined)this._first=b,this._last=b;else if(w){const u=this._last;this._last=b,b.prev=u,u.next=b}else{const u=this._first;this._first=b,b.next=u,u.prev=b}this._size+=1;let C=!1;return()=>{C||(C=!0,this._remove(b))}}shift(){if(this._first!==L.Undefined){const I=this._first.element;return this._remove(this._first),I}}pop(){if(this._last!==L.Undefined){const I=this._last.element;return this._remove(this._last),I}}_remove(I){if(I.prev!==L.Undefined&&I.next!==L.Undefined){const w=I.prev;w.next=I.next,I.next.prev=w}else I.prev===L.Undefined&&I.next===L.Undefined?(this._first=L.Undefined,this._last=L.Undefined):I.next===L.Undefined?(this._last=this._last.prev,this._last.next=L.Undefined):I.prev===L.Undefined&&(this._first=this._first.next,this._first.prev=L.Undefined);this._size-=1}*[Symbol.iterator](){let I=this._first;for(;I!==L.Undefined;)yield I.element,I=I.next}}e.LinkedList=m}),function(q,e){typeof exports=="object"&&typeof module!="undefined"?e(exports):typeof define=="function"&&define.amd?define(te[314],ie([0]),e):(q=typeof globalThis!="undefined"?globalThis:q||self,e(q.marked={}))}(this,function(q){"use strict";function e(le,x){for(var H=0;H<x.length;H++){var U=x[H];U.enumerable=U.enumerable||!1,U.configurable=!0,"value"in U&&(U.writable=!0),Object.defineProperty(le,U.key,U)}}function L(le,x,H){return x&&e(le.prototype,x),H&&e(le,H),Object.defineProperty(le,"prototype",{writable:!1}),le}function m(le,x){if(!!le){if(typeof le=="string")return k(le,x);var H=Object.prototype.toString.call(le).slice(8,-1);if(H==="Object"&&le.constructor&&(H=le.constructor.name),H==="Map"||H==="Set")return Array.from(le);if(H==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(H))return k(le,x)}}function k(le,x){(x==null||x>le.length)&&(x=le.length);for(var H=0,U=new Array(x);H<x;H++)U[H]=le[H];return U}function I(le,x){var H=typeof Symbol!="undefined"&&le[Symbol.iterator]||le["@@iterator"];if(H)return(H=H.call(le)).next.bind(H);if(Array.isArray(le)||(H=m(le))||x&&le&&typeof le.length=="number"){H&&(le=H);var U=0;return function(){return U>=le.length?{done:!0}:{done:!1,value:le[U++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
+In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function w(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}q.defaults=w();function b(le){q.defaults=le}var C=/[&<>"']/,u=/[&<>"']/g,g=/[<>"']|&(?!#?\w+;)/,t=/[<>"']|&(?!#?\w+;)/g,n={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},i=function(x){return n[x]};function o(le,x){if(x){if(C.test(le))return le.replace(u,i)}else if(g.test(le))return le.replace(t,i);return le}var c=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;function d(le){return le.replace(c,function(x,H){return H=H.toLowerCase(),H==="colon"?":":H.charAt(0)==="#"?H.charAt(1)==="x"?String.fromCharCode(parseInt(H.substring(2),16)):String.fromCharCode(+H.substring(1)):""})}var r=/(^|[^\[])\^/g;function s(le,x){le=le.source||le,x=x||"";var H={replace:function(Q,Y){return Y=Y.source||Y,Y=Y.replace(r,"$1"),le=le.replace(Q,Y),H},getRegex:function(){return new RegExp(le,x)}};return H}var a=/[^\w:]/g,l=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function h(le,x,H){if(le){var U;try{U=decodeURIComponent(d(H)).replace(a,"").toLowerCase()}catch{return null}if(U.indexOf("javascript:")===0||U.indexOf("vbscript:")===0||U.indexOf("data:")===0)return null}x&&!l.test(H)&&(H=_(x,H));try{H=encodeURI(H).replace(/%25/g,"%")}catch{return null}return H}var f={},S=/^[^:]+:\/*[^/]*$/,v=/^([^:]+:)[\s\S]*$/,p=/^([^:]+:\/*[^/]*)[\s\S]*$/;function _(le,x){f[" "+le]||(S.test(le)?f[" "+le]=le+"/":f[" "+le]=D(le,"/",!0)),le=f[" "+le];var H=le.indexOf(":")===-1;return x.substring(0,2)==="//"?H?x:le.replace(v,"$1")+x:x.charAt(0)==="/"?H?x:le.replace(p,"$1")+x:le+x}var y={exec:function(){}};function E(le){for(var x=1,H,U;x<arguments.length;x++){H=arguments[x];for(U in H)Object.prototype.hasOwnProperty.call(H,U)&&(le[U]=H[U])}return le}function N(le,x){var H=le.replace(/\|/g,function(Y,ne,ge){for(var fe=!1,ce=ne;--ce>=0&&ge[ce]==="\\";)fe=!fe;return fe?"|":" |"}),U=H.split(/ \|/),Q=0;if(U[0].trim()||U.shift(),U[U.length-1].trim()||U.pop(),U.length>x)U.splice(x);else for(;U.length<x;)U.push("");for(;Q<U.length;Q++)U[Q]=U[Q].trim().replace(/\\\|/g,"|");return U}function D(le,x,H){var U=le.length;if(U===0)return"";for(var Q=0;Q<U;){var Y=le.charAt(U-Q-1);if(Y===x&&!H)Q++;else if(Y!==x&&H)Q++;else break}return le.substr(0,U-Q)}function M(le,x){if(le.indexOf(x[1])===-1)return-1;for(var H=le.length,U=0,Q=0;Q<H;Q++)if(le[Q]==="\\")Q++;else if(le[Q]===x[0])U++;else if(le[Q]===x[1]&&(U--,U<0))return Q;return-1}function B(le){le&&le.sanitize&&!le.silent&&console.warn("marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options")}function O(le,x){if(x<1)return"";for(var H="";x>1;)x&1&&(H+=le),x>>=1,le+=le;return H+le}function T(le,x,H,U){var Q=x.href,Y=x.title?o(x.title):null,ne=le[1].replace(/\\([\[\]])/g,"$1");if(le[0].charAt(0)!=="!"){U.state.inLink=!0;var ge={type:"link",raw:H,href:Q,title:Y,text:ne,tokens:U.inlineTokens(ne,[])};return U.state.inLink=!1,ge}else return{type:"image",raw:H,href:Q,title:Y,text:o(ne)}}function A(le,x){var H=le.match(/^(\s+)(?:```)/);if(H===null)return x;var U=H[1];return x.split(`
+`).map(function(Q){var Y=Q.match(/^\s+/);if(Y===null)return Q;var ne=Y[0];return ne.length>=U.length?Q.slice(U.length):Q}).join(`
+`)}var P=function(){function le(H){this.options=H||q.defaults}var x=le.prototype;return x.space=function(U){var Q=this.rules.block.newline.exec(U);if(Q&&Q[0].length>0)return{type:"space",raw:Q[0]}},x.code=function(U){var Q=this.rules.block.code.exec(U);if(Q){var Y=Q[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:Q[0],codeBlockStyle:"indented",text:this.options.pedantic?Y:D(Y,`
+`)}}},x.fences=function(U){var Q=this.rules.block.fences.exec(U);if(Q){var Y=Q[0],ne=A(Y,Q[3]||"");return{type:"code",raw:Y,lang:Q[2]?Q[2].trim():Q[2],text:ne}}},x.heading=function(U){var Q=this.rules.block.heading.exec(U);if(Q){var Y=Q[2].trim();if(/#$/.test(Y)){var ne=D(Y,"#");(this.options.pedantic||!ne||/ $/.test(ne))&&(Y=ne.trim())}var ge={type:"heading",raw:Q[0],depth:Q[1].length,text:Y,tokens:[]};return this.lexer.inline(ge.text,ge.tokens),ge}},x.hr=function(U){var Q=this.rules.block.hr.exec(U);if(Q)return{type:"hr",raw:Q[0]}},x.blockquote=function(U){var Q=this.rules.block.blockquote.exec(U);if(Q){var Y=Q[0].replace(/^ *> ?/gm,"");return{type:"blockquote",raw:Q[0],tokens:this.lexer.blockTokens(Y,[]),text:Y}}},x.list=function(U){var Q=this.rules.block.list.exec(U);if(Q){var Y,ne,ge,fe,ce,he,ve,Ce,be,de,me,_e,ye=Q[1].trim(),ke=ye.length>1,Te={type:"list",raw:"",ordered:ke,start:ke?+ye.slice(0,-1):"",loose:!1,items:[]};ye=ke?"\\d{1,9}\\"+ye.slice(-1):"\\"+ye,this.options.pedantic&&(ye=ke?ye:"[*+-]");for(var Me=new RegExp("^( {0,3}"+ye+")((?: [^\\n]*)?(?:\\n|$))");U&&(_e=!1,!(!(Q=Me.exec(U))||this.rules.block.hr.test(U)));){if(Y=Q[0],U=U.substring(Y.length),Ce=Q[2].split(`
+`,1)[0],be=U.split(`
+`,1)[0],this.options.pedantic?(fe=2,me=Ce.trimLeft()):(fe=Q[2].search(/[^ ]/),fe=fe>4?1:fe,me=Ce.slice(fe),fe+=Q[1].length),he=!1,!Ce&&/^ *$/.test(be)&&(Y+=be+`
+`,U=U.substring(be.length+1),_e=!0),!_e)for(var We=new RegExp("^ {0,"+Math.min(3,fe-1)+"}(?:[*+-]|\\d{1,9}[.)])");U&&(de=U.split(`
+`,1)[0],Ce=de,this.options.pedantic&&(Ce=Ce.replace(/^ {1,4}(?=( {4})*[^ ])/g,"  ")),!We.test(Ce));){if(Ce.search(/[^ ]/)>=fe||!Ce.trim())me+=`
+`+Ce.slice(fe);else if(!he)me+=`
+`+Ce;else break;!he&&!Ce.trim()&&(he=!0),Y+=de+`
+`,U=U.substring(de.length+1)}Te.loose||(ve?Te.loose=!0:/\n *\n *$/.test(Y)&&(ve=!0)),this.options.gfm&&(ne=/^\[[ xX]\] /.exec(me),ne&&(ge=ne[0]!=="[ ] ",me=me.replace(/^\[[ xX]\] +/,""))),Te.items.push({type:"list_item",raw:Y,task:!!ne,checked:ge,loose:!1,text:me}),Te.raw+=Y}Te.items[Te.items.length-1].raw=Y.trimRight(),Te.items[Te.items.length-1].text=me.trimRight(),Te.raw=Te.raw.trimRight();var xe=Te.items.length;for(ce=0;ce<xe;ce++){this.lexer.state.top=!1,Te.items[ce].tokens=this.lexer.blockTokens(Te.items[ce].text,[]);var He=Te.items[ce].tokens.filter(function(Se){return Se.type==="space"}),Le=He.every(function(Se){for(var De=Se.raw.split(""),Pe=0,Fe=I(De),ze;!(ze=Fe()).done;){var Ke=ze.value;if(Ke===`
+`&&(Pe+=1),Pe>1)return!0}return!1});!Te.loose&&He.length&&Le&&(Te.loose=!0,Te.items[ce].loose=!0)}return Te}},x.html=function(U){var Q=this.rules.block.html.exec(U);if(Q){var Y={type:"html",raw:Q[0],pre:!this.options.sanitizer&&(Q[1]==="pre"||Q[1]==="script"||Q[1]==="style"),text:Q[0]};return this.options.sanitize&&(Y.type="paragraph",Y.text=this.options.sanitizer?this.options.sanitizer(Q[0]):o(Q[0]),Y.tokens=[],this.lexer.inline(Y.text,Y.tokens)),Y}},x.def=function(U){var Q=this.rules.block.def.exec(U);if(Q){Q[3]&&(Q[3]=Q[3].substring(1,Q[3].length-1));var Y=Q[1].toLowerCase().replace(/\s+/g," ");return{type:"def",tag:Y,raw:Q[0],href:Q[2],title:Q[3]}}},x.table=function(U){var Q=this.rules.block.table.exec(U);if(Q){var Y={type:"table",header:N(Q[1]).map(function(ve){return{text:ve}}),align:Q[2].replace(/^ *|\| *$/g,"").split(/ *\| */),rows:Q[3]?Q[3].replace(/\n[ \t]*$/,"").split(`
+`):[]};if(Y.header.length===Y.align.length){Y.raw=Q[0];var ne=Y.align.length,ge,fe,ce,he;for(ge=0;ge<ne;ge++)/^ *-+: *$/.test(Y.align[ge])?Y.align[ge]="right":/^ *:-+: *$/.test(Y.align[ge])?Y.align[ge]="center":/^ *:-+ *$/.test(Y.align[ge])?Y.align[ge]="left":Y.align[ge]=null;for(ne=Y.rows.length,ge=0;ge<ne;ge++)Y.rows[ge]=N(Y.rows[ge],Y.header.length).map(function(ve){return{text:ve}});for(ne=Y.header.length,fe=0;fe<ne;fe++)Y.header[fe].tokens=[],this.lexer.inlineTokens(Y.header[fe].text,Y.header[fe].tokens);for(ne=Y.rows.length,fe=0;fe<ne;fe++)for(he=Y.rows[fe],ce=0;ce<he.length;ce++)he[ce].tokens=[],this.lexer.inlineTokens(he[ce].text,he[ce].tokens);return Y}}},x.lheading=function(U){var Q=this.rules.block.lheading.exec(U);if(Q){var Y={type:"heading",raw:Q[0],depth:Q[2].charAt(0)==="="?1:2,text:Q[1],tokens:[]};return this.lexer.inline(Y.text,Y.tokens),Y}},x.paragraph=function(U){var Q=this.rules.block.paragraph.exec(U);if(Q){var Y={type:"paragraph",raw:Q[0],text:Q[1].charAt(Q[1].length-1)===`
+`?Q[1].slice(0,-1):Q[1],tokens:[]};return this.lexer.inline(Y.text,Y.tokens),Y}},x.text=function(U){var Q=this.rules.block.text.exec(U);if(Q){var Y={type:"text",raw:Q[0],text:Q[0],tokens:[]};return this.lexer.inline(Y.text,Y.tokens),Y}},x.escape=function(U){var Q=this.rules.inline.escape.exec(U);if(Q)return{type:"escape",raw:Q[0],text:o(Q[1])}},x.tag=function(U){var Q=this.rules.inline.tag.exec(U);if(Q)return!this.lexer.state.inLink&&/^<a /i.test(Q[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&/^<\/a>/i.test(Q[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(Q[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(Q[0])&&(this.lexer.state.inRawBlock=!1),{type:this.options.sanitize?"text":"html",raw:Q[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(Q[0]):o(Q[0]):Q[0]}},x.link=function(U){var Q=this.rules.inline.link.exec(U);if(Q){var Y=Q[2].trim();if(!this.options.pedantic&&/^</.test(Y)){if(!/>$/.test(Y))return;var ne=D(Y.slice(0,-1),"\\");if((Y.length-ne.length)%2==0)return}else{var ge=M(Q[2],"()");if(ge>-1){var fe=Q[0].indexOf("!")===0?5:4,ce=fe+Q[1].length+ge;Q[2]=Q[2].substring(0,ge),Q[0]=Q[0].substring(0,ce).trim(),Q[3]=""}}var he=Q[2],ve="";if(this.options.pedantic){var Ce=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(he);Ce&&(he=Ce[1],ve=Ce[3])}else ve=Q[3]?Q[3].slice(1,-1):"";return he=he.trim(),/^</.test(he)&&(this.options.pedantic&&!/>$/.test(Y)?he=he.slice(1):he=he.slice(1,-1)),T(Q,{href:he&&he.replace(this.rules.inline._escapes,"$1"),title:ve&&ve.replace(this.rules.inline._escapes,"$1")},Q[0],this.lexer)}},x.reflink=function(U,Q){var Y;if((Y=this.rules.inline.reflink.exec(U))||(Y=this.rules.inline.nolink.exec(U))){var ne=(Y[2]||Y[1]).replace(/\s+/g," ");if(ne=Q[ne.toLowerCase()],!ne||!ne.href){var ge=Y[0].charAt(0);return{type:"text",raw:ge,text:ge}}return T(Y,ne,Y[0],this.lexer)}},x.emStrong=function(U,Q,Y){Y===void 0&&(Y="");var ne=this.rules.inline.emStrong.lDelim.exec(U);if(!!ne&&!(ne[3]&&Y.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\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\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\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\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\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\u1369-\u137C\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\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\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\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\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\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\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\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\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\uABF0-\uABF9\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\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDF70-\uDF81\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDE70-\uDEBE\uDEC0-\uDEC9\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var ge=ne[1]||ne[2]||"";if(!ge||ge&&(Y===""||this.rules.inline.punctuation.exec(Y))){var fe=ne[0].length-1,ce,he,ve=fe,Ce=0,be=ne[0][0]==="*"?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(be.lastIndex=0,Q=Q.slice(-1*U.length+fe);(ne=be.exec(Q))!=null;)if(ce=ne[1]||ne[2]||ne[3]||ne[4]||ne[5]||ne[6],!!ce){if(he=ce.length,ne[3]||ne[4]){ve+=he;continue}else if((ne[5]||ne[6])&&fe%3&&!((fe+he)%3)){Ce+=he;continue}if(ve-=he,!(ve>0)){if(he=Math.min(he,he+ve+Ce),Math.min(fe,he)%2){var de=U.slice(1,fe+ne.index+he);return{type:"em",raw:U.slice(0,fe+ne.index+he+1),text:de,tokens:this.lexer.inlineTokens(de,[])}}var me=U.slice(2,fe+ne.index+he-1);return{type:"strong",raw:U.slice(0,fe+ne.index+he+1),text:me,tokens:this.lexer.inlineTokens(me,[])}}}}}},x.codespan=function(U){var Q=this.rules.inline.code.exec(U);if(Q){var Y=Q[2].replace(/\n/g," "),ne=/[^ ]/.test(Y),ge=/^ /.test(Y)&&/ $/.test(Y);return ne&&ge&&(Y=Y.substring(1,Y.length-1)),Y=o(Y,!0),{type:"codespan",raw:Q[0],text:Y}}},x.br=function(U){var Q=this.rules.inline.br.exec(U);if(Q)return{type:"br",raw:Q[0]}},x.del=function(U){var Q=this.rules.inline.del.exec(U);if(Q)return{type:"del",raw:Q[0],text:Q[2],tokens:this.lexer.inlineTokens(Q[2],[])}},x.autolink=function(U,Q){var Y=this.rules.inline.autolink.exec(U);if(Y){var ne,ge;return Y[2]==="@"?(ne=o(this.options.mangle?Q(Y[1]):Y[1]),ge="mailto:"+ne):(ne=o(Y[1]),ge=ne),{type:"link",raw:Y[0],text:ne,href:ge,tokens:[{type:"text",raw:ne,text:ne}]}}},x.url=function(U,Q){var Y;if(Y=this.rules.inline.url.exec(U)){var ne,ge;if(Y[2]==="@")ne=o(this.options.mangle?Q(Y[0]):Y[0]),ge="mailto:"+ne;else{var fe;do fe=Y[0],Y[0]=this.rules.inline._backpedal.exec(Y[0])[0];while(fe!==Y[0]);ne=o(Y[0]),Y[1]==="www."?ge="http://"+ne:ge=ne}return{type:"link",raw:Y[0],text:ne,href:ge,tokens:[{type:"text",raw:ne,text:ne}]}}},x.inlineText=function(U,Q){var Y=this.rules.inline.text.exec(U);if(Y){var ne;return this.lexer.state.inRawBlock?ne=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(Y[0]):o(Y[0]):Y[0]:ne=o(this.options.smartypants?Q(Y[0]):Y[0]),{type:"text",raw:Y[0],text:ne}}},le}(),F={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?=\n|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3}bull)( [^\n]+?)?(?:\n|$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *(?:\n *)?<?([^\s>]+)>?(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,table:y,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,text:/^[^\n]+/};F._label=/(?!\s*\])(?:\\.|[^\[\]\\])+/,F._title=/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/,F.def=s(F.def).replace("label",F._label).replace("title",F._title).getRegex(),F.bullet=/(?:[*+-]|\d{1,9}[.)])/,F.listItemStart=s(/^( *)(bull) */).replace("bull",F.bullet).getRegex(),F.list=s(F.list).replace(/bull/g,F.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+F.def.source+")").getRegex(),F._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",F._comment=/<!--(?!-?>)[\s\S]*?(?:-->|$)/,F.html=s(F.html,"i").replace("comment",F._comment).replace("tag",F._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),F.paragraph=s(F._paragraph).replace("hr",F.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",F._tag).getRegex(),F.blockquote=s(F.blockquote).replace("paragraph",F.paragraph).getRegex(),F.normal=E({},F),F.gfm=E({},F.normal,{table:"^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),F.gfm.table=s(F.gfm.table).replace("hr",F.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",F._tag).getRegex(),F.gfm.paragraph=s(F._paragraph).replace("hr",F.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("table",F.gfm.table).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",F._tag).getRegex(),F.pedantic=E({},F.normal,{html:s(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",F._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:y,paragraph:s(F.normal._paragraph).replace("hr",F.hr).replace("heading",` *#{1,6} *[^
+]`).replace("lheading",F.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var W={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:y,tag:"^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(ref)\]/,nolink:/^!?\[(ref)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/^[^_*]*?\_\_[^_*]*?\*[^_*]*?(?=\_\_)|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/^[^_*]*?\*\*[^_*]*?\_[^_*]*?(?=\*\*)|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:y,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,punctuation:/^([\spunctuation])/};W._punctuation="!\"#$%&'()+\\-.,/:;<=>?@\\[\\]`^{|}~",W.punctuation=s(W.punctuation).replace(/punctuation/g,W._punctuation).getRegex(),W.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,W.escapedEmSt=/\\\*|\\_/g,W._comment=s(F._comment).replace("(?:-->|$)","-->").getRegex(),W.emStrong.lDelim=s(W.emStrong.lDelim).replace(/punct/g,W._punctuation).getRegex(),W.emStrong.rDelimAst=s(W.emStrong.rDelimAst,"g").replace(/punct/g,W._punctuation).getRegex(),W.emStrong.rDelimUnd=s(W.emStrong.rDelimUnd,"g").replace(/punct/g,W._punctuation).getRegex(),W._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,W._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,W._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,W.autolink=s(W.autolink).replace("scheme",W._scheme).replace("email",W._email).getRegex(),W._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,W.tag=s(W.tag).replace("comment",W._comment).replace("attribute",W._attribute).getRegex(),W._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,W._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,W._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,W.link=s(W.link).replace("label",W._label).replace("href",W._href).replace("title",W._title).getRegex(),W.reflink=s(W.reflink).replace("label",W._label).replace("ref",F._label).getRegex(),W.nolink=s(W.nolink).replace("ref",F._label).getRegex(),W.reflinkSearch=s(W.reflinkSearch,"g").replace("reflink",W.reflink).replace("nolink",W.nolink).getRegex(),W.normal=E({},W),W.pedantic=E({},W.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:s(/^!?\[(label)\]\((.*?)\)/).replace("label",W._label).getRegex(),reflink:s(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",W._label).getRegex()}),W.gfm=E({},W.normal,{escape:s(W.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/}),W.gfm.url=s(W.gfm.url,"i").replace("email",W.gfm._extended_email).getRegex(),W.breaks=E({},W.gfm,{br:s(W.br).replace("{2,}","*").getRegex(),text:s(W.gfm.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()});function R(le){return le.replace(/---/g,"\u2014").replace(/--/g,"\u2013").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1\u2018").replace(/'/g,"\u2019").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1\u201C").replace(/"/g,"\u201D").replace(/\.{3}/g,"\u2026")}function z(le){var x="",H,U,Q=le.length;for(H=0;H<Q;H++)U=le.charCodeAt(H),Math.random()>.5&&(U="x"+U.toString(16)),x+="&#"+U+";";return x}var j=function(){function le(H){this.tokens=[],this.tokens.links=Object.create(null),this.options=H||q.defaults,this.options.tokenizer=this.options.tokenizer||new P,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};var U={block:F.normal,inline:W.normal};this.options.pedantic?(U.block=F.pedantic,U.inline=W.pedantic):this.options.gfm&&(U.block=F.gfm,this.options.breaks?U.inline=W.breaks:U.inline=W.gfm),this.tokenizer.rules=U}le.lex=function(U,Q){var Y=new le(Q);return Y.lex(U)},le.lexInline=function(U,Q){var Y=new le(Q);return Y.inlineTokens(U)};var x=le.prototype;return x.lex=function(U){U=U.replace(/\r\n|\r/g,`
+`).replace(/\t/g,"    "),this.blockTokens(U,this.tokens);for(var Q;Q=this.inlineQueue.shift();)this.inlineTokens(Q.src,Q.tokens);return this.tokens},x.blockTokens=function(U,Q){var Y=this;Q===void 0&&(Q=[]),this.options.pedantic&&(U=U.replace(/^ +$/gm,""));for(var ne,ge,fe,ce;U;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(function(ve){return(ne=ve.call({lexer:Y},U,Q))?(U=U.substring(ne.raw.length),Q.push(ne),!0):!1}))){if(ne=this.tokenizer.space(U)){U=U.substring(ne.raw.length),ne.raw.length===1&&Q.length>0?Q[Q.length-1].raw+=`
+`:Q.push(ne);continue}if(ne=this.tokenizer.code(U)){U=U.substring(ne.raw.length),ge=Q[Q.length-1],ge&&(ge.type==="paragraph"||ge.type==="text")?(ge.raw+=`
+`+ne.raw,ge.text+=`
+`+ne.text,this.inlineQueue[this.inlineQueue.length-1].src=ge.text):Q.push(ne);continue}if(ne=this.tokenizer.fences(U)){U=U.substring(ne.raw.length),Q.push(ne);continue}if(ne=this.tokenizer.heading(U)){U=U.substring(ne.raw.length),Q.push(ne);continue}if(ne=this.tokenizer.hr(U)){U=U.substring(ne.raw.length),Q.push(ne);continue}if(ne=this.tokenizer.blockquote(U)){U=U.substring(ne.raw.length),Q.push(ne);continue}if(ne=this.tokenizer.list(U)){U=U.substring(ne.raw.length),Q.push(ne);continue}if(ne=this.tokenizer.html(U)){U=U.substring(ne.raw.length),Q.push(ne);continue}if(ne=this.tokenizer.def(U)){U=U.substring(ne.raw.length),ge=Q[Q.length-1],ge&&(ge.type==="paragraph"||ge.type==="text")?(ge.raw+=`
+`+ne.raw,ge.text+=`
+`+ne.raw,this.inlineQueue[this.inlineQueue.length-1].src=ge.text):this.tokens.links[ne.tag]||(this.tokens.links[ne.tag]={href:ne.href,title:ne.title});continue}if(ne=this.tokenizer.table(U)){U=U.substring(ne.raw.length),Q.push(ne);continue}if(ne=this.tokenizer.lheading(U)){U=U.substring(ne.raw.length),Q.push(ne);continue}if(fe=U,this.options.extensions&&this.options.extensions.startBlock&&function(){var ve=1/0,Ce=U.slice(1),be=void 0;Y.options.extensions.startBlock.forEach(function(de){be=de.call({lexer:this},Ce),typeof be=="number"&&be>=0&&(ve=Math.min(ve,be))}),ve<1/0&&ve>=0&&(fe=U.substring(0,ve+1))}(),this.state.top&&(ne=this.tokenizer.paragraph(fe))){ge=Q[Q.length-1],ce&&ge.type==="paragraph"?(ge.raw+=`
+`+ne.raw,ge.text+=`
+`+ne.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=ge.text):Q.push(ne),ce=fe.length!==U.length,U=U.substring(ne.raw.length);continue}if(ne=this.tokenizer.text(U)){U=U.substring(ne.raw.length),ge=Q[Q.length-1],ge&&ge.type==="text"?(ge.raw+=`
+`+ne.raw,ge.text+=`
+`+ne.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=ge.text):Q.push(ne);continue}if(U){var he="Infinite loop on byte: "+U.charCodeAt(0);if(this.options.silent){console.error(he);break}else throw new Error(he)}}return this.state.top=!0,Q},x.inline=function(U,Q){this.inlineQueue.push({src:U,tokens:Q})},x.inlineTokens=function(U,Q){var Y=this;Q===void 0&&(Q=[]);var ne,ge,fe,ce=U,he,ve,Ce;if(this.tokens.links){var be=Object.keys(this.tokens.links);if(be.length>0)for(;(he=this.tokenizer.rules.inline.reflinkSearch.exec(ce))!=null;)be.includes(he[0].slice(he[0].lastIndexOf("[")+1,-1))&&(ce=ce.slice(0,he.index)+"["+O("a",he[0].length-2)+"]"+ce.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(he=this.tokenizer.rules.inline.blockSkip.exec(ce))!=null;)ce=ce.slice(0,he.index)+"["+O("a",he[0].length-2)+"]"+ce.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(he=this.tokenizer.rules.inline.escapedEmSt.exec(ce))!=null;)ce=ce.slice(0,he.index)+"++"+ce.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;U;)if(ve||(Ce=""),ve=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(function(me){return(ne=me.call({lexer:Y},U,Q))?(U=U.substring(ne.raw.length),Q.push(ne),!0):!1}))){if(ne=this.tokenizer.escape(U)){U=U.substring(ne.raw.length),Q.push(ne);continue}if(ne=this.tokenizer.tag(U)){U=U.substring(ne.raw.length),ge=Q[Q.length-1],ge&&ne.type==="text"&&ge.type==="text"?(ge.raw+=ne.raw,ge.text+=ne.text):Q.push(ne);continue}if(ne=this.tokenizer.link(U)){U=U.substring(ne.raw.length),Q.push(ne);continue}if(ne=this.tokenizer.reflink(U,this.tokens.links)){U=U.substring(ne.raw.length),ge=Q[Q.length-1],ge&&ne.type==="text"&&ge.type==="text"?(ge.raw+=ne.raw,ge.text+=ne.text):Q.push(ne);continue}if(ne=this.tokenizer.emStrong(U,ce,Ce)){U=U.substring(ne.raw.length),Q.push(ne);continue}if(ne=this.tokenizer.codespan(U)){U=U.substring(ne.raw.length),Q.push(ne);continue}if(ne=this.tokenizer.br(U)){U=U.substring(ne.raw.length),Q.push(ne);continue}if(ne=this.tokenizer.del(U)){U=U.substring(ne.raw.length),Q.push(ne);continue}if(ne=this.tokenizer.autolink(U,z)){U=U.substring(ne.raw.length),Q.push(ne);continue}if(!this.state.inLink&&(ne=this.tokenizer.url(U,z))){U=U.substring(ne.raw.length),Q.push(ne);continue}if(fe=U,this.options.extensions&&this.options.extensions.startInline&&function(){var me=1/0,_e=U.slice(1),ye=void 0;Y.options.extensions.startInline.forEach(function(ke){ye=ke.call({lexer:this},_e),typeof ye=="number"&&ye>=0&&(me=Math.min(me,ye))}),me<1/0&&me>=0&&(fe=U.substring(0,me+1))}(),ne=this.tokenizer.inlineText(fe,R)){U=U.substring(ne.raw.length),ne.raw.slice(-1)!=="_"&&(Ce=ne.raw.slice(-1)),ve=!0,ge=Q[Q.length-1],ge&&ge.type==="text"?(ge.raw+=ne.raw,ge.text+=ne.text):Q.push(ne);continue}if(U){var de="Infinite loop on byte: "+U.charCodeAt(0);if(this.options.silent){console.error(de);break}else throw new Error(de)}}return Q},L(le,null,[{key:"rules",get:function(){return{block:F,inline:W}}}]),le}(),$=function(){function le(H){this.options=H||q.defaults}var x=le.prototype;return x.code=function(U,Q,Y){var ne=(Q||"").match(/\S*/)[0];if(this.options.highlight){var ge=this.options.highlight(U,ne);ge!=null&&ge!==U&&(Y=!0,U=ge)}return U=U.replace(/\n$/,"")+`
+`,ne?'<pre><code class="'+this.options.langPrefix+o(ne,!0)+'">'+(Y?U:o(U,!0))+`</code></pre>
+`:"<pre><code>"+(Y?U:o(U,!0))+`</code></pre>
+`},x.blockquote=function(U){return`<blockquote>
+`+U+`</blockquote>
+`},x.html=function(U){return U},x.heading=function(U,Q,Y,ne){return this.options.headerIds?"<h"+Q+' id="'+this.options.headerPrefix+ne.slug(Y)+'">'+U+"</h"+Q+`>
+`:"<h"+Q+">"+U+"</h"+Q+`>
+`},x.hr=function(){return this.options.xhtml?`<hr/>
+`:`<hr>
+`},x.list=function(U,Q,Y){var ne=Q?"ol":"ul",ge=Q&&Y!==1?' start="'+Y+'"':"";return"<"+ne+ge+`>
+`+U+"</"+ne+`>
+`},x.listitem=function(U){return"<li>"+U+`</li>
+`},x.checkbox=function(U){return"<input "+(U?'checked="" ':"")+'disabled="" type="checkbox"'+(this.options.xhtml?" /":"")+"> "},x.paragraph=function(U){return"<p>"+U+`</p>
+`},x.table=function(U,Q){return Q&&(Q="<tbody>"+Q+"</tbody>"),`<table>
+<thead>
+`+U+`</thead>
+`+Q+`</table>
+`},x.tablerow=function(U){return`<tr>
+`+U+`</tr>
+`},x.tablecell=function(U,Q){var Y=Q.header?"th":"td",ne=Q.align?"<"+Y+' align="'+Q.align+'">':"<"+Y+">";return ne+U+"</"+Y+`>
+`},x.strong=function(U){return"<strong>"+U+"</strong>"},x.em=function(U){return"<em>"+U+"</em>"},x.codespan=function(U){return"<code>"+U+"</code>"},x.br=function(){return this.options.xhtml?"<br/>":"<br>"},x.del=function(U){return"<del>"+U+"</del>"},x.link=function(U,Q,Y){if(U=h(this.options.sanitize,this.options.baseUrl,U),U===null)return Y;var ne='<a href="'+o(U)+'"';return Q&&(ne+=' title="'+Q+'"'),ne+=">"+Y+"</a>",ne},x.image=function(U,Q,Y){if(U=h(this.options.sanitize,this.options.baseUrl,U),U===null)return Y;var ne='<img src="'+U+'" alt="'+Y+'"';return Q&&(ne+=' title="'+Q+'"'),ne+=this.options.xhtml?"/>":">",ne},x.text=function(U){return U},le}(),G=function(){function le(){}var x=le.prototype;return x.strong=function(U){return U},x.em=function(U){return U},x.codespan=function(U){return U},x.del=function(U){return U},x.html=function(U){return U},x.text=function(U){return U},x.link=function(U,Q,Y){return""+Y},x.image=function(U,Q,Y){return""+Y},x.br=function(){return""},le}(),J=function(){function le(){this.seen={}}var x=le.prototype;return x.serialize=function(U){return U.toLowerCase().trim().replace(/<[!\/a-z].*?>/ig,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},x.getNextSafeSlug=function(U,Q){var Y=U,ne=0;if(this.seen.hasOwnProperty(Y)){ne=this.seen[U];do ne++,Y=U+"-"+ne;while(this.seen.hasOwnProperty(Y))}return Q||(this.seen[U]=ne,this.seen[Y]=0),Y},x.slug=function(U,Q){Q===void 0&&(Q={});var Y=this.serialize(U);return this.getNextSafeSlug(Y,Q.dryrun)},le}(),re=function(){function le(H){this.options=H||q.defaults,this.options.renderer=this.options.renderer||new $,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new G,this.slugger=new J}le.parse=function(U,Q){var Y=new le(Q);return Y.parse(U)},le.parseInline=function(U,Q){var Y=new le(Q);return Y.parseInline(U)};var x=le.prototype;return x.parse=function(U,Q){Q===void 0&&(Q=!0);var Y="",ne,ge,fe,ce,he,ve,Ce,be,de,me,_e,ye,ke,Te,Me,We,xe,He,Le,Se=U.length;for(ne=0;ne<Se;ne++){if(me=U[ne],this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[me.type]&&(Le=this.options.extensions.renderers[me.type].call({parser:this},me),Le!==!1||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(me.type))){Y+=Le||"";continue}switch(me.type){case"space":continue;case"hr":{Y+=this.renderer.hr();continue}case"heading":{Y+=this.renderer.heading(this.parseInline(me.tokens),me.depth,d(this.parseInline(me.tokens,this.textRenderer)),this.slugger);continue}case"code":{Y+=this.renderer.code(me.text,me.lang,me.escaped);continue}case"table":{for(be="",Ce="",ce=me.header.length,ge=0;ge<ce;ge++)Ce+=this.renderer.tablecell(this.parseInline(me.header[ge].tokens),{header:!0,align:me.align[ge]});for(be+=this.renderer.tablerow(Ce),de="",ce=me.rows.length,ge=0;ge<ce;ge++){for(ve=me.rows[ge],Ce="",he=ve.length,fe=0;fe<he;fe++)Ce+=this.renderer.tablecell(this.parseInline(ve[fe].tokens),{header:!1,align:me.align[fe]});de+=this.renderer.tablerow(Ce)}Y+=this.renderer.table(be,de);continue}case"blockquote":{de=this.parse(me.tokens),Y+=this.renderer.blockquote(de);continue}case"list":{for(_e=me.ordered,ye=me.start,ke=me.loose,ce=me.items.length,de="",ge=0;ge<ce;ge++)Me=me.items[ge],We=Me.checked,xe=Me.task,Te="",Me.task&&(He=this.renderer.checkbox(We),ke?Me.tokens.length>0&&Me.tokens[0].type==="paragraph"?(Me.tokens[0].text=He+" "+Me.tokens[0].text,Me.tokens[0].tokens&&Me.tokens[0].tokens.length>0&&Me.tokens[0].tokens[0].type==="text"&&(Me.tokens[0].tokens[0].text=He+" "+Me.tokens[0].tokens[0].text)):Me.tokens.unshift({type:"text",text:He}):Te+=He),Te+=this.parse(Me.tokens,ke),de+=this.renderer.listitem(Te,xe,We);Y+=this.renderer.list(de,_e,ye);continue}case"html":{Y+=this.renderer.html(me.text);continue}case"paragraph":{Y+=this.renderer.paragraph(this.parseInline(me.tokens));continue}case"text":{for(de=me.tokens?this.parseInline(me.tokens):me.text;ne+1<Se&&U[ne+1].type==="text";)me=U[++ne],de+=`
+`+(me.tokens?this.parseInline(me.tokens):me.text);Y+=Q?this.renderer.paragraph(de):de;continue}default:{var De='Token with "'+me.type+'" type was not found.';if(this.options.silent){console.error(De);return}else throw new Error(De)}}}return Y},x.parseInline=function(U,Q){Q=Q||this.renderer;var Y="",ne,ge,fe,ce=U.length;for(ne=0;ne<ce;ne++){if(ge=U[ne],this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[ge.type]&&(fe=this.options.extensions.renderers[ge.type].call({parser:this},ge),fe!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(ge.type))){Y+=fe||"";continue}switch(ge.type){case"escape":{Y+=Q.text(ge.text);break}case"html":{Y+=Q.html(ge.text);break}case"link":{Y+=Q.link(ge.href,ge.title,this.parseInline(ge.tokens,Q));break}case"image":{Y+=Q.image(ge.href,ge.title,ge.text);break}case"strong":{Y+=Q.strong(this.parseInline(ge.tokens,Q));break}case"em":{Y+=Q.em(this.parseInline(ge.tokens,Q));break}case"codespan":{Y+=Q.codespan(ge.text);break}case"br":{Y+=Q.br();break}case"del":{Y+=Q.del(this.parseInline(ge.tokens,Q));break}case"text":{Y+=Q.text(ge.text);break}default:{var he='Token with "'+ge.type+'" type was not found.';if(this.options.silent){console.error(he);return}else throw new Error(he)}}}return Y},le}();function se(le,x,H){if(typeof le=="undefined"||le===null)throw new Error("marked(): input parameter is undefined or null");if(typeof le!="string")throw new Error("marked(): input parameter is of type "+Object.prototype.toString.call(le)+", string expected");if(typeof x=="function"&&(H=x,x=null),x=E({},se.defaults,x||{}),B(x),H){var U=x.highlight,Q;try{Q=j.lex(le,x)}catch(fe){return H(fe)}var Y=function(ce){var he;if(!ce)try{x.walkTokens&&se.walkTokens(Q,x.walkTokens),he=re.parse(Q,x)}catch(ve){ce=ve}return x.highlight=U,ce?H(ce):H(null,he)};if(!U||U.length<3||(delete x.highlight,!Q.length))return Y();var ne=0;se.walkTokens(Q,function(fe){fe.type==="code"&&(ne++,setTimeout(function(){U(fe.text,fe.lang,function(ce,he){if(ce)return Y(ce);he!=null&&he!==fe.text&&(fe.text=he,fe.escaped=!0),ne--,ne===0&&Y()})},0))}),ne===0&&Y();return}try{var ge=j.lex(le,x);return x.walkTokens&&se.walkTokens(ge,x.walkTokens),re.parse(ge,x)}catch(fe){if(fe.message+=`
+Please report this to https://github.com/markedjs/marked.`,x.silent)return"<p>An error occurred:</p><pre>"+o(fe.message+"",!0)+"</pre>";throw fe}}se.options=se.setOptions=function(le){return E(se.defaults,le),b(se.defaults),se},se.getDefaults=w,se.defaults=q.defaults,se.use=function(){for(var le=arguments.length,x=new Array(le),H=0;H<le;H++)x[H]=arguments[H];var U=E.apply(void 0,[{}].concat(x)),Q=se.defaults.extensions||{renderers:{},childTokens:{}},Y;x.forEach(function(ne){if(ne.extensions&&(Y=!0,ne.extensions.forEach(function(fe){if(!fe.name)throw new Error("extension name required");if(fe.renderer){var ce=Q.renderers?Q.renderers[fe.name]:null;ce?Q.renderers[fe.name]=function(){for(var he=arguments.length,ve=new Array(he),Ce=0;Ce<he;Ce++)ve[Ce]=arguments[Ce];var be=fe.renderer.apply(this,ve);return be===!1&&(be=ce.apply(this,ve)),be}:Q.renderers[fe.name]=fe.renderer}if(fe.tokenizer){if(!fe.level||fe.level!=="block"&&fe.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");Q[fe.level]?Q[fe.level].unshift(fe.tokenizer):Q[fe.level]=[fe.tokenizer],fe.start&&(fe.level==="block"?Q.startBlock?Q.startBlock.push(fe.start):Q.startBlock=[fe.start]:fe.level==="inline"&&(Q.startInline?Q.startInline.push(fe.start):Q.startInline=[fe.start]))}fe.childTokens&&(Q.childTokens[fe.name]=fe.childTokens)})),ne.renderer&&function(){var fe=se.defaults.renderer||new $,ce=function(Ce){var be=fe[Ce];fe[Ce]=function(){for(var de=arguments.length,me=new Array(de),_e=0;_e<de;_e++)me[_e]=arguments[_e];var ye=ne.renderer[Ce].apply(fe,me);return ye===!1&&(ye=be.apply(fe,me)),ye}};for(var he in ne.renderer)ce(he);U.renderer=fe}(),ne.tokenizer&&function(){var fe=se.defaults.tokenizer||new P,ce=function(Ce){var be=fe[Ce];fe[Ce]=function(){for(var de=arguments.length,me=new Array(de),_e=0;_e<de;_e++)me[_e]=arguments[_e];var ye=ne.tokenizer[Ce].apply(fe,me);return ye===!1&&(ye=be.apply(fe,me)),ye}};for(var he in ne.tokenizer)ce(he);U.tokenizer=fe}(),ne.walkTokens){var ge=se.defaults.walkTokens;U.walkTokens=function(fe){ne.walkTokens.call(this,fe),ge&&ge.call(this,fe)}}Y&&(U.extensions=Q),se.setOptions(U)})},se.walkTokens=function(le,x){for(var H=function(){var ne=Q.value;switch(x.call(se,ne),ne.type){case"table":{for(var ge=I(ne.header),fe;!(fe=ge()).done;){var ce=fe.value;se.walkTokens(ce.tokens,x)}for(var he=I(ne.rows),ve;!(ve=he()).done;)for(var Ce=ve.value,be=I(Ce),de;!(de=be()).done;){var me=de.value;se.walkTokens(me.tokens,x)}break}case"list":{se.walkTokens(ne.items,x);break}default:se.defaults.extensions&&se.defaults.extensions.childTokens&&se.defaults.extensions.childTokens[ne.type]?se.defaults.extensions.childTokens[ne.type].forEach(function(_e){se.walkTokens(ne[_e],x)}):ne.tokens&&se.walkTokens(ne.tokens,x)}},U=I(le),Q;!(Q=U()).done;)H()},se.parseInline=function(le,x){if(typeof le=="undefined"||le===null)throw new Error("marked.parseInline(): input parameter is undefined or null");if(typeof le!="string")throw new Error("marked.parseInline(): input parameter is of type "+Object.prototype.toString.call(le)+", string expected");x=E({},se.defaults,x||{}),B(x);try{var H=j.lexInline(le,x);return x.walkTokens&&se.walkTokens(H,x.walkTokens),re.parseInline(H,x)}catch(U){if(U.message+=`
+Please report this to https://github.com/markedjs/marked.`,x.silent)return"<p>An error occurred:</p><pre>"+o(U.message+"",!0)+"</pre>";throw U}},se.Parser=re,se.parser=re.parse,se.Renderer=$,se.TextRenderer=G,se.Lexer=j,se.lexer=j.lex,se.Tokenizer=P,se.Slugger=J,se.parse=se;var Z=se.options,V=se.setOptions,K=se.use,X=se.walkTokens,oe=se.parseInline,ae=se,ee=re.parse,ue=j.lex;q.Lexer=j,q.Parser=re,q.Renderer=$,q.Slugger=J,q.TextRenderer=G,q.Tokenizer=P,q.getDefaults=w,q.lexer=ue,q.marked=se,q.options=Z,q.parse=ae,q.parseInline=oe,q.parser=ee,q.setOptions=V,q.use=K,q.walkTokens=X,Object.defineProperty(q,"__esModule",{value:!0})}),define(te[138],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Mimes=void 0;var L;(function(m){m.text="text/plain",m.binary="application/octet-stream",m.unknown="application/unknown",m.markdown="text/markdown",m.latex="text/latex",m.uriList="text/uri-list"})(L=e.Mimes||(e.Mimes={}))}),define(te[166],ie([1,0,138]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StaticDND=e.DragAndDropData=e.DataTransfers=void 0,e.DataTransfers={RESOURCES:"ResourceURLs",DOWNLOAD_URL:"DownloadURL",FILES:"Files",TEXT:L.Mimes.text,TERMINALS:"Terminals"};class m{constructor(I){this.data=I}update(){}getData(){return this.data}}e.DragAndDropData=m,e.StaticDND={CurrentDragAndDropData:void 0}}),define(te[315],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ArrayNavigator=void 0;class L{constructor(k,I=0,w=k.length,b=I-1){this.items=k,this.start=I,this.end=w,this.index=b}current(){return this.index===this.start-1||this.index===this.end?null:this.items[this.index]}next(){return this.index=Math.min(this.index+1,this.end),this.current()}previous(){return this.index=Math.max(this.index-1,this.start-1),this.current()}first(){return this.index=this.start,this.current()}last(){return this.index=this.end-1,this.current()}}e.ArrayNavigator=L}),define(te[316],ie([1,0,315]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.HistoryNavigator=void 0;class m{constructor(I=[],w=10){this._initialize(I),this._limit=w,this._onChange()}getHistory(){return this._elements}add(I){this._history.delete(I),this._history.add(I),this._onChange()}next(){return this._currentPosition()!==this._elements.length-1?this._navigator.next():null}previous(){return this._currentPosition()!==0?this._navigator.previous():null}current(){return this._navigator.current()}first(){return this._navigator.first()}last(){return this._navigator.last()}has(I){return this._history.has(I)}_onChange(){this._reduceToLimit();const I=this._elements;this._navigator=new L.ArrayNavigator(I,0,I.length,I.length)}_reduceToLimit(){const I=this._elements;I.length>this._limit&&this._initialize(I.slice(I.length-this._limit))}_currentPosition(){const I=this._navigator.current();return I?this._elements.indexOf(I):-1}_initialize(I){this._history=new Set;for(const w of I)this._history.add(w)}get _elements(){const I=[];return this._history.forEach(w=>I.push(w)),I}}e.HistoryNavigator=m}),define(te[113],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SlidingWindowAverage=e.MovingAverage=e.clamp=void 0;function L(I,w,b){return Math.min(Math.max(I,w),b)}e.clamp=L;class m{constructor(){this._n=1,this._val=0}update(w){return this._val=this._val+(w-this._val)/this._n,this._n+=1,this._val}get value(){return this._val}}e.MovingAverage=m;class k{constructor(w){this._n=0,this._val=0,this._values=[],this._index=0,this._sum=0,this._values=new Array(w),this._values.fill(0,0,w)}update(w){const b=this._values[this._index];return this._values[this._index]=w,this._index=(this._index+1)%this._values.length,this._sum-=b,this._sum+=w,this._n<this._values.length&&(this._n+=1),this._val=this._sum/this._n,this._val}get value(){return this._val}}e.SlidingWindowAverage=k}),define(te[16],ie([1,0]),function(q,e){"use strict";var L;Object.defineProperty(e,"__esModule",{value:!0}),e.isAndroid=e.isEdge=e.isSafari=e.isFirefox=e.isChrome=e.isLittleEndian=e.OS=e.setTimeout0=e.language=e.userAgent=e.isIOS=e.isWebWorker=e.isWeb=e.isNative=e.isLinux=e.isMacintosh=e.isWindows=e.globals=void 0;const m="en";let k=!1,I=!1,w=!1,b=!1,C=!1,u=!1,g=!1,t=!1,n=!1,i,o=m,c,d;e.globals=typeof self=="object"?self:typeof global=="object"?global:{};let r;typeof e.globals.vscode!="undefined"&&typeof e.globals.vscode.process!="undefined"?r=e.globals.vscode.process:typeof process!="undefined"&&(r=process);const s=typeof((L=r==null?void 0:r.versions)===null||L===void 0?void 0:L.electron)=="string",a=s&&(r==null?void 0:r.type)==="renderer";if(typeof navigator=="object"&&!a)d=navigator.userAgent,k=d.indexOf("Windows")>=0,I=d.indexOf("Macintosh")>=0,t=(d.indexOf("Macintosh")>=0||d.indexOf("iPad")>=0||d.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,w=d.indexOf("Linux")>=0,u=!0,i=navigator.language,o=i;else if(typeof r=="object"){k=r.platform==="win32",I=r.platform==="darwin",w=r.platform==="linux",b=w&&!!r.env.SNAP&&!!r.env.SNAP_REVISION,g=s,n=!!r.env.CI||!!r.env.BUILD_ARTIFACTSTAGINGDIRECTORY,i=m,o=m;const v=r.env.VSCODE_NLS_CONFIG;if(v)try{const p=JSON.parse(v),_=p.availableLanguages["*"];i=p.locale,o=_||m,c=p._translationsConfigFile}catch{}C=!0}else console.error("Unable to resolve platform.");let l=0;I?l=1:k?l=3:w&&(l=2),e.isWindows=k,e.isMacintosh=I,e.isLinux=w,e.isNative=C,e.isWeb=u,e.isWebWorker=u&&typeof e.globals.importScripts=="function",e.isIOS=t,e.userAgent=d,e.language=o,e.setTimeout0=(()=>{if(typeof e.globals.postMessage=="function"&&!e.globals.importScripts){let v=[];e.globals.addEventListener("message",_=>{if(_.data&&_.data.vscodeScheduleAsyncWork)for(let y=0,E=v.length;y<E;y++){const N=v[y];if(N.id===_.data.vscodeScheduleAsyncWork){v.splice(y,1),N.callback();return}}});let p=0;return _=>{const y=++p;v.push({id:y,callback:_}),e.globals.postMessage({vscodeScheduleAsyncWork:y},"*")}}return v=>setTimeout(v)})(),e.OS=I||t?2:k?1:3;let h=!0,f=!1;function S(){if(!f){f=!0;const v=new Uint8Array(2);v[0]=1,v[1]=2,h=new Uint16Array(v.buffer)[0]===(2<<8)+1}return h}e.isLittleEndian=S,e.isChrome=!!(e.userAgent&&e.userAgent.indexOf("Chrome")>=0),e.isFirefox=!!(e.userAgent&&e.userAgent.indexOf("Firefox")>=0),e.isSafari=!!(!e.isChrome&&e.userAgent&&e.userAgent.indexOf("Safari")>=0),e.isEdge=!!(e.userAgent&&e.userAgent.indexOf("Edg/")>=0),e.isAndroid=!!(e.userAgent&&e.userAgent.indexOf("Android")>=0)}),define(te[317],ie([1,0,16]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.platform=e.env=e.cwd=void 0;let m;if(typeof L.globals.vscode!="undefined"&&typeof L.globals.vscode.process!="undefined"){const k=L.globals.vscode.process;m={get platform(){return k.platform},get arch(){return k.arch},get env(){return k.env},cwd(){return k.cwd()}}}else typeof process!="undefined"?m={get platform(){return process.platform},get arch(){return process.arch},get env(){return process.env},cwd(){return process.env.VSCODE_CWD||process.cwd()}}:m={get platform(){return L.isWindows?"win32":L.isMacintosh?"darwin":"linux"},get arch(){},get env(){return{}},cwd(){return"/"}};e.cwd=m.cwd,e.env=m.env,e.platform=m.platform}),define(te[84],ie([1,0,317]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.sep=e.extname=e.basename=e.dirname=e.relative=e.resolve=e.normalize=e.posix=e.win32=void 0;const m=65,k=97,I=90,w=122,b=46,C=47,u=92,g=58,t=63;class n extends Error{constructor(l,h,f){let S;typeof h=="string"&&h.indexOf("not ")===0?(S="must not be",h=h.replace(/^not /,"")):S="must be";const v=l.indexOf(".")!==-1?"property":"argument";let p=`The "${l}" ${v} ${S} of type ${h}`;p+=`. Received type ${typeof f}`;super(p);this.code="ERR_INVALID_ARG_TYPE"}}function i(a,l){if(typeof a!="string")throw new n(l,"string",a)}function o(a){return a===C||a===u}function c(a){return a===C}function d(a){return a>=m&&a<=I||a>=k&&a<=w}function r(a,l,h,f){let S="",v=0,p=-1,_=0,y=0;for(let E=0;E<=a.length;++E){if(E<a.length)y=a.charCodeAt(E);else{if(f(y))break;y=C}if(f(y)){if(!(p===E-1||_===1))if(_===2){if(S.length<2||v!==2||S.charCodeAt(S.length-1)!==b||S.charCodeAt(S.length-2)!==b){if(S.length>2){const N=S.lastIndexOf(h);N===-1?(S="",v=0):(S=S.slice(0,N),v=S.length-1-S.lastIndexOf(h)),p=E,_=0;continue}else if(S.length!==0){S="",v=0,p=E,_=0;continue}}l&&(S+=S.length>0?`${h}..`:"..",v=2)}else S.length>0?S+=`${h}${a.slice(p+1,E)}`:S=a.slice(p+1,E),v=E-p-1;p=E,_=0}else y===b&&_!==-1?++_:_=-1}return S}function s(a,l){if(l===null||typeof l!="object")throw new n("pathObject","Object",l);const h=l.dir||l.root,f=l.base||`${l.name||""}${l.ext||""}`;return h?h===l.root?`${h}${f}`:`${h}${a}${f}`:f}e.win32={resolve(...a){let l="",h="",f=!1;for(let S=a.length-1;S>=-1;S--){let v;if(S>=0){if(v=a[S],i(v,"path"),v.length===0)continue}else l.length===0?v=L.cwd():(v=L.env[`=${l}`]||L.cwd(),(v===void 0||v.slice(0,2).toLowerCase()!==l.toLowerCase()&&v.charCodeAt(2)===u)&&(v=`${l}\\`));const p=v.length;let _=0,y="",E=!1;const N=v.charCodeAt(0);if(p===1)o(N)&&(_=1,E=!0);else if(o(N))if(E=!0,o(v.charCodeAt(1))){let D=2,M=D;for(;D<p&&!o(v.charCodeAt(D));)D++;if(D<p&&D!==M){const B=v.slice(M,D);for(M=D;D<p&&o(v.charCodeAt(D));)D++;if(D<p&&D!==M){for(M=D;D<p&&!o(v.charCodeAt(D));)D++;(D===p||D!==M)&&(y=`\\\\${B}\\${v.slice(M,D)}`,_=D)}}}else _=1;else d(N)&&v.charCodeAt(1)===g&&(y=v.slice(0,2),_=2,p>2&&o(v.charCodeAt(2))&&(E=!0,_=3));if(y.length>0)if(l.length>0){if(y.toLowerCase()!==l.toLowerCase())continue}else l=y;if(f){if(l.length>0)break}else if(h=`${v.slice(_)}\\${h}`,f=E,E&&l.length>0)break}return h=r(h,!f,"\\",o),f?`${l}\\${h}`:`${l}${h}`||"."},normalize(a){i(a,"path");const l=a.length;if(l===0)return".";let h=0,f,S=!1;const v=a.charCodeAt(0);if(l===1)return c(v)?"\\":a;if(o(v))if(S=!0,o(a.charCodeAt(1))){let _=2,y=_;for(;_<l&&!o(a.charCodeAt(_));)_++;if(_<l&&_!==y){const E=a.slice(y,_);for(y=_;_<l&&o(a.charCodeAt(_));)_++;if(_<l&&_!==y){for(y=_;_<l&&!o(a.charCodeAt(_));)_++;if(_===l)return`\\\\${E}\\${a.slice(y)}\\`;_!==y&&(f=`\\\\${E}\\${a.slice(y,_)}`,h=_)}}}else h=1;else d(v)&&a.charCodeAt(1)===g&&(f=a.slice(0,2),h=2,l>2&&o(a.charCodeAt(2))&&(S=!0,h=3));let p=h<l?r(a.slice(h),!S,"\\",o):"";return p.length===0&&!S&&(p="."),p.length>0&&o(a.charCodeAt(l-1))&&(p+="\\"),f===void 0?S?`\\${p}`:p:S?`${f}\\${p}`:`${f}${p}`},isAbsolute(a){i(a,"path");const l=a.length;if(l===0)return!1;const h=a.charCodeAt(0);return o(h)||l>2&&d(h)&&a.charCodeAt(1)===g&&o(a.charCodeAt(2))},join(...a){if(a.length===0)return".";let l,h;for(let v=0;v<a.length;++v){const p=a[v];i(p,"path"),p.length>0&&(l===void 0?l=h=p:l+=`\\${p}`)}if(l===void 0)return".";let f=!0,S=0;if(typeof h=="string"&&o(h.charCodeAt(0))){++S;const v=h.length;v>1&&o(h.charCodeAt(1))&&(++S,v>2&&(o(h.charCodeAt(2))?++S:f=!1))}if(f){for(;S<l.length&&o(l.charCodeAt(S));)S++;S>=2&&(l=`\\${l.slice(S)}`)}return e.win32.normalize(l)},relative(a,l){if(i(a,"from"),i(l,"to"),a===l)return"";const h=e.win32.resolve(a),f=e.win32.resolve(l);if(h===f||(a=h.toLowerCase(),l=f.toLowerCase(),a===l))return"";let S=0;for(;S<a.length&&a.charCodeAt(S)===u;)S++;let v=a.length;for(;v-1>S&&a.charCodeAt(v-1)===u;)v--;const p=v-S;let _=0;for(;_<l.length&&l.charCodeAt(_)===u;)_++;let y=l.length;for(;y-1>_&&l.charCodeAt(y-1)===u;)y--;const E=y-_,N=p<E?p:E;let D=-1,M=0;for(;M<N;M++){const O=a.charCodeAt(S+M);if(O!==l.charCodeAt(_+M))break;O===u&&(D=M)}if(M!==N){if(D===-1)return f}else{if(E>N){if(l.charCodeAt(_+M)===u)return f.slice(_+M+1);if(M===2)return f.slice(_+M)}p>N&&(a.charCodeAt(S+M)===u?D=M:M===2&&(D=3)),D===-1&&(D=0)}let B="";for(M=S+D+1;M<=v;++M)(M===v||a.charCodeAt(M)===u)&&(B+=B.length===0?"..":"\\..");return _+=D,B.length>0?`${B}${f.slice(_,y)}`:(f.charCodeAt(_)===u&&++_,f.slice(_,y))},toNamespacedPath(a){if(typeof a!="string")return a;if(a.length===0)return"";const l=e.win32.resolve(a);if(l.length<=2)return a;if(l.charCodeAt(0)===u){if(l.charCodeAt(1)===u){const h=l.charCodeAt(2);if(h!==t&&h!==b)return`\\\\?\\UNC\\${l.slice(2)}`}}else if(d(l.charCodeAt(0))&&l.charCodeAt(1)===g&&l.charCodeAt(2)===u)return`\\\\?\\${l}`;return a},dirname(a){i(a,"path");const l=a.length;if(l===0)return".";let h=-1,f=0;const S=a.charCodeAt(0);if(l===1)return o(S)?a:".";if(o(S)){if(h=f=1,o(a.charCodeAt(1))){let _=2,y=_;for(;_<l&&!o(a.charCodeAt(_));)_++;if(_<l&&_!==y){for(y=_;_<l&&o(a.charCodeAt(_));)_++;if(_<l&&_!==y){for(y=_;_<l&&!o(a.charCodeAt(_));)_++;if(_===l)return a;_!==y&&(h=f=_+1)}}}}else d(S)&&a.charCodeAt(1)===g&&(h=l>2&&o(a.charCodeAt(2))?3:2,f=h);let v=-1,p=!0;for(let _=l-1;_>=f;--_)if(o(a.charCodeAt(_))){if(!p){v=_;break}}else p=!1;if(v===-1){if(h===-1)return".";v=h}return a.slice(0,v)},basename(a,l){l!==void 0&&i(l,"ext"),i(a,"path");let h=0,f=-1,S=!0,v;if(a.length>=2&&d(a.charCodeAt(0))&&a.charCodeAt(1)===g&&(h=2),l!==void 0&&l.length>0&&l.length<=a.length){if(l===a)return"";let p=l.length-1,_=-1;for(v=a.length-1;v>=h;--v){const y=a.charCodeAt(v);if(o(y)){if(!S){h=v+1;break}}else _===-1&&(S=!1,_=v+1),p>=0&&(y===l.charCodeAt(p)?--p==-1&&(f=v):(p=-1,f=_))}return h===f?f=_:f===-1&&(f=a.length),a.slice(h,f)}for(v=a.length-1;v>=h;--v)if(o(a.charCodeAt(v))){if(!S){h=v+1;break}}else f===-1&&(S=!1,f=v+1);return f===-1?"":a.slice(h,f)},extname(a){i(a,"path");let l=0,h=-1,f=0,S=-1,v=!0,p=0;a.length>=2&&a.charCodeAt(1)===g&&d(a.charCodeAt(0))&&(l=f=2);for(let _=a.length-1;_>=l;--_){const y=a.charCodeAt(_);if(o(y)){if(!v){f=_+1;break}continue}S===-1&&(v=!1,S=_+1),y===b?h===-1?h=_:p!==1&&(p=1):h!==-1&&(p=-1)}return h===-1||S===-1||p===0||p===1&&h===S-1&&h===f+1?"":a.slice(h,S)},format:s.bind(null,"\\"),parse(a){i(a,"path");const l={root:"",dir:"",base:"",ext:"",name:""};if(a.length===0)return l;const h=a.length;let f=0,S=a.charCodeAt(0);if(h===1)return o(S)?(l.root=l.dir=a,l):(l.base=l.name=a,l);if(o(S)){if(f=1,o(a.charCodeAt(1))){let D=2,M=D;for(;D<h&&!o(a.charCodeAt(D));)D++;if(D<h&&D!==M){for(M=D;D<h&&o(a.charCodeAt(D));)D++;if(D<h&&D!==M){for(M=D;D<h&&!o(a.charCodeAt(D));)D++;D===h?f=D:D!==M&&(f=D+1)}}}}else if(d(S)&&a.charCodeAt(1)===g){if(h<=2)return l.root=l.dir=a,l;if(f=2,o(a.charCodeAt(2))){if(h===3)return l.root=l.dir=a,l;f=3}}f>0&&(l.root=a.slice(0,f));let v=-1,p=f,_=-1,y=!0,E=a.length-1,N=0;for(;E>=f;--E){if(S=a.charCodeAt(E),o(S)){if(!y){p=E+1;break}continue}_===-1&&(y=!1,_=E+1),S===b?v===-1?v=E:N!==1&&(N=1):v!==-1&&(N=-1)}return _!==-1&&(v===-1||N===0||N===1&&v===_-1&&v===p+1?l.base=l.name=a.slice(p,_):(l.name=a.slice(p,v),l.base=a.slice(p,_),l.ext=a.slice(v,_))),p>0&&p!==f?l.dir=a.slice(0,p-1):l.dir=l.root,l},sep:"\\",delimiter:";",win32:null,posix:null},e.posix={resolve(...a){let l="",h=!1;for(let f=a.length-1;f>=-1&&!h;f--){const S=f>=0?a[f]:L.cwd();i(S,"path"),S.length!==0&&(l=`${S}/${l}`,h=S.charCodeAt(0)===C)}return l=r(l,!h,"/",c),h?`/${l}`:l.length>0?l:"."},normalize(a){if(i(a,"path"),a.length===0)return".";const l=a.charCodeAt(0)===C,h=a.charCodeAt(a.length-1)===C;return a=r(a,!l,"/",c),a.length===0?l?"/":h?"./":".":(h&&(a+="/"),l?`/${a}`:a)},isAbsolute(a){return i(a,"path"),a.length>0&&a.charCodeAt(0)===C},join(...a){if(a.length===0)return".";let l;for(let h=0;h<a.length;++h){const f=a[h];i(f,"path"),f.length>0&&(l===void 0?l=f:l+=`/${f}`)}return l===void 0?".":e.posix.normalize(l)},relative(a,l){if(i(a,"from"),i(l,"to"),a===l||(a=e.posix.resolve(a),l=e.posix.resolve(l),a===l))return"";const h=1,f=a.length,S=f-h,v=1,p=l.length-v,_=S<p?S:p;let y=-1,E=0;for(;E<_;E++){const D=a.charCodeAt(h+E);if(D!==l.charCodeAt(v+E))break;D===C&&(y=E)}if(E===_)if(p>_){if(l.charCodeAt(v+E)===C)return l.slice(v+E+1);if(E===0)return l.slice(v+E)}else S>_&&(a.charCodeAt(h+E)===C?y=E:E===0&&(y=0));let N="";for(E=h+y+1;E<=f;++E)(E===f||a.charCodeAt(E)===C)&&(N+=N.length===0?"..":"/..");return`${N}${l.slice(v+y)}`},toNamespacedPath(a){return a},dirname(a){if(i(a,"path"),a.length===0)return".";const l=a.charCodeAt(0)===C;let h=-1,f=!0;for(let S=a.length-1;S>=1;--S)if(a.charCodeAt(S)===C){if(!f){h=S;break}}else f=!1;return h===-1?l?"/":".":l&&h===1?"//":a.slice(0,h)},basename(a,l){l!==void 0&&i(l,"ext"),i(a,"path");let h=0,f=-1,S=!0,v;if(l!==void 0&&l.length>0&&l.length<=a.length){if(l===a)return"";let p=l.length-1,_=-1;for(v=a.length-1;v>=0;--v){const y=a.charCodeAt(v);if(y===C){if(!S){h=v+1;break}}else _===-1&&(S=!1,_=v+1),p>=0&&(y===l.charCodeAt(p)?--p==-1&&(f=v):(p=-1,f=_))}return h===f?f=_:f===-1&&(f=a.length),a.slice(h,f)}for(v=a.length-1;v>=0;--v)if(a.charCodeAt(v)===C){if(!S){h=v+1;break}}else f===-1&&(S=!1,f=v+1);return f===-1?"":a.slice(h,f)},extname(a){i(a,"path");let l=-1,h=0,f=-1,S=!0,v=0;for(let p=a.length-1;p>=0;--p){const _=a.charCodeAt(p);if(_===C){if(!S){h=p+1;break}continue}f===-1&&(S=!1,f=p+1),_===b?l===-1?l=p:v!==1&&(v=1):l!==-1&&(v=-1)}return l===-1||f===-1||v===0||v===1&&l===f-1&&l===h+1?"":a.slice(l,f)},format:s.bind(null,"/"),parse(a){i(a,"path");const l={root:"",dir:"",base:"",ext:"",name:""};if(a.length===0)return l;const h=a.charCodeAt(0)===C;let f;h?(l.root="/",f=1):f=0;let S=-1,v=0,p=-1,_=!0,y=a.length-1,E=0;for(;y>=f;--y){const N=a.charCodeAt(y);if(N===C){if(!_){v=y+1;break}continue}p===-1&&(_=!1,p=y+1),N===b?S===-1?S=y:E!==1&&(E=1):S!==-1&&(E=-1)}if(p!==-1){const N=v===0&&h?1:v;S===-1||E===0||E===1&&S===p-1&&S===v+1?l.base=l.name=a.slice(N,p):(l.name=a.slice(N,S),l.base=a.slice(N,p),l.ext=a.slice(S,p))}return v>0?l.dir=a.slice(0,v-1):h&&(l.dir="/"),l},sep:"/",delimiter:":",win32:null,posix:null},e.posix.win32=e.win32.win32=e.win32,e.posix.posix=e.win32.posix=e.posix,e.normalize=L.platform==="win32"?e.win32.normalize:e.posix.normalize,e.resolve=L.platform==="win32"?e.win32.resolve:e.posix.resolve,e.relative=L.platform==="win32"?e.win32.relative:e.posix.relative,e.dirname=L.platform==="win32"?e.win32.dirname:e.posix.dirname,e.basename=L.platform==="win32"?e.win32.basename:e.posix.basename,e.extname=L.platform==="win32"?e.win32.extname:e.posix.extname,e.sep=L.platform==="win32"?e.win32.sep:e.posix.sep}),define(te[139],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Range=void 0;var L;(function(m){function k(C,u){if(C.start>=u.end||u.start>=C.end)return{start:0,end:0};const g=Math.max(C.start,u.start),t=Math.min(C.end,u.end);return t-g<=0?{start:0,end:0}:{start:g,end:t}}m.intersect=k;function I(C){return C.end-C.start<=0}m.isEmpty=I;function w(C,u){return!I(k(C,u))}m.intersects=w;function b(C,u){const g=[],t={start:C.start,end:Math.min(u.start,C.end)},n={start:Math.max(u.end,C.start),end:C.end};return I(t)||g.push(t),I(n)||g.push(n),g}m.relativeComplement=b})(L=e.Range||(e.Range={}))}),define(te[318],ie([1,0,139]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RangeMap=e.consolidate=e.shift=e.groupIntersect=void 0;function m(C,u){const g=[];for(let t of u){if(C.start>=t.range.end)continue;if(C.end<t.range.start)break;const n=L.Range.intersect(C,t.range);L.Range.isEmpty(n)||g.push({range:n,size:t.size})}return g}e.groupIntersect=m;function k({start:C,end:u},g){return{start:C+g,end:u+g}}e.shift=k;function I(C){const u=[];let g=null;for(let t of C){const n=t.range.start,i=t.range.end,o=t.size;if(g&&o===g.size){g.range.end=i;continue}g={range:{start:n,end:i},size:o},u.push(g)}return u}e.consolidate=I;function w(...C){return I(C.reduce((u,g)=>u.concat(g),[]))}class b{constructor(){this.groups=[],this._size=0}splice(u,g,t=[]){const n=t.length-g,i=m({start:0,end:u},this.groups),o=m({start:u+g,end:Number.POSITIVE_INFINITY},this.groups).map(d=>({range:k(d.range,n),size:d.size})),c=t.map((d,r)=>({range:{start:u+r,end:u+r+1},size:d.size}));this.groups=w(i,c,o),this._size=this.groups.reduce((d,r)=>d+r.size*(r.range.end-r.range.start),0)}get count(){const u=this.groups.length;return u?this.groups[u-1].range.end:0}get size(){return this._size}indexAt(u){if(u<0)return-1;let g=0,t=0;for(let n of this.groups){const i=n.range.end-n.range.start,o=t+i*n.size;if(u<o)return g+Math.floor((u-t)/n.size);g+=i,t=o}return g}indexAfter(u){return Math.min(this.indexAt(u)+1,this.count)}positionAt(u){if(u<0)return-1;let g=0,t=0;for(let n of this.groups){const i=n.range.end-n.range.start,o=t+i;if(u<o)return g+(u-t)*n.size;g+=i*n.size,t=o}return-1}}e.RangeMap=b}),define(te[55],ie([1,0,16]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StopWatch=void 0;const m=L.globals.performance&&typeof L.globals.performance.now=="function";class k{constructor(w){this._highResolution=m&&w,this._startTime=this._now(),this._stopTime=-1}static create(w=!0){return new k(w)}stop(){this._stopTime=this._now()}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}_now(){return this._highResolution?L.globals.performance.now():Date.now()}}e.StopWatch=k}),define(te[4],ie([1,0,13,2,83,55]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Relay=e.EventBufferer=e.DebounceEmitter=e.PauseableEmitter=e.Emitter=e.Event=void 0;let w=!1,b=!1;var C;(function(a){a.None=()=>m.Disposable.None;function l(z){if(b){const{onListenerDidAdd:j}=z,$=n.create();let G=0;z.onListenerDidAdd=()=>{++G==2&&(console.warn("snapshotted emitter LIKELY used public and SHOULD HAVE BEEN created with DisposableStore. snapshotted here"),$.print()),j==null||j()}}}function h(z){return(j,$=null,G)=>{let J=!1,re;return re=z(se=>{if(!J)return re?re.dispose():J=!0,j.call($,se)},null,G),J&&re.dispose(),re}}a.once=h;function f(z,j,$){return E((G,J=null,re)=>z(se=>G.call(J,j(se)),null,re),$)}a.map=f;function S(z,j,$){return E((G,J=null,re)=>z(se=>{j(se),G.call(J,se)},null,re),$)}a.forEach=S;function v(z,j,$){return E((G,J=null,re)=>z(se=>j(se)&&G.call(J,se),null,re),$)}a.filter=v;function p(z){return z}a.signal=p;function _(...z){return(j,$=null,G)=>(0,m.combinedDisposable)(...z.map(J=>J(re=>j.call($,re),null,G)))}a.any=_;function y(z,j,$,G){let J=$;return f(z,re=>(J=j(J,re),J),G)}a.reduce=y;function E(z,j){let $;const G={onFirstListenerAdd(){$=z(J.fire,J)},onLastListenerRemove(){$.dispose()}};j||l(G);const J=new o(G);return j&&j.add(J),J.event}function N(z,j,$=100,G=!1,J,re){let se,Z,V,K=0;const X={leakWarningThreshold:J,onFirstListenerAdd(){se=z(ae=>{K++,Z=j(Z,ae),G&&!V&&(oe.fire(Z),Z=void 0),clearTimeout(V),V=setTimeout(()=>{const ee=Z;Z=void 0,V=void 0,(!G||K>1)&&oe.fire(ee),K=0},$)})},onLastListenerRemove(){se.dispose()}};re||l(X);const oe=new o(X);return re&&re.add(oe),oe.event}a.debounce=N;function D(z,j=(G,J)=>G===J,$){let G=!0,J;return v(z,re=>{const se=G||!j(re,J);return G=!1,J=re,se},$)}a.latch=D;function M(z,j,$){return[a.filter(z,j,$),a.filter(z,G=>!j(G),$)]}a.split=M;function B(z,j=!1,$=[]){let G=$.slice(),J=z(Z=>{G?G.push(Z):se.fire(Z)});const re=()=>{G&&G.forEach(Z=>se.fire(Z)),G=null},se=new o({onFirstListenerAdd(){J||(J=z(Z=>se.fire(Z)))},onFirstListenerDidAdd(){G&&(j?setTimeout(re):re())},onLastListenerRemove(){J&&J.dispose(),J=null}});return se.event}a.buffer=B;class O{constructor(j){this.event=j}map(j){return new O(f(this.event,j))}forEach(j){return new O(S(this.event,j))}filter(j){return new O(v(this.event,j))}reduce(j,$){return new O(y(this.event,j,$))}latch(){return new O(D(this.event))}debounce(j,$=100,G=!1,J){return new O(N(this.event,j,$,G,J))}on(j,$,G){return this.event(j,$,G)}once(j,$,G){return h(this.event)(j,$,G)}}function T(z){return new O(z)}a.chain=T;function A(z,j,$=G=>G){const G=(...Z)=>se.fire($(...Z)),J=()=>z.on(j,G),re=()=>z.removeListener(j,G),se=new o({onFirstListenerAdd:J,onLastListenerRemove:re});return se.event}a.fromNodeEventEmitter=A;function P(z,j,$=G=>G){const G=(...Z)=>se.fire($(...Z)),J=()=>z.addEventListener(j,G),re=()=>z.removeEventListener(j,G),se=new o({onFirstListenerAdd:J,onLastListenerRemove:re});return se.event}a.fromDOMEventEmitter=P;function F(z){return new Promise(j=>h(z)(j))}a.toPromise=F;function W(z,j){return j(void 0),z($=>j($))}a.runAndSubscribe=W;function R(z,j){let $=null;function G(re){$==null||$.dispose(),$=new m.DisposableStore,j(re,$)}G(void 0);const J=z(re=>G(re));return(0,m.toDisposable)(()=>{J.dispose(),$==null||$.dispose()})}a.runAndSubscribeWithStore=R})(C=e.Event||(e.Event={}));class u{constructor(l){this._listenerCount=0,this._invocationCount=0,this._elapsedOverall=0,this._name=`${l}_${u._idPool++}`}start(l){this._stopWatch=new I.StopWatch(!0),this._listenerCount=l}stop(){if(this._stopWatch){const l=this._stopWatch.elapsed();this._elapsedOverall+=l,this._invocationCount+=1,console.info(`did FIRE ${this._name}: elapsed_ms: ${l.toFixed(5)}, listener: ${this._listenerCount} (elapsed_overall: ${this._elapsedOverall.toFixed(2)}, invocations: ${this._invocationCount})`),this._stopWatch=void 0}}}u._idPool=0;let g=-1;class t{constructor(l,h=Math.random().toString(18).slice(2,5)){this.customThreshold=l,this.name=h,this._warnCountdown=0}dispose(){this._stacks&&this._stacks.clear()}check(l,h){let f=g;if(typeof this.customThreshold=="number"&&(f=this.customThreshold),f<=0||h<f)return;this._stacks||(this._stacks=new Map);const S=this._stacks.get(l.value)||0;if(this._stacks.set(l.value,S+1),this._warnCountdown-=1,this._warnCountdown<=0){this._warnCountdown=f*.5;let v,p=0;for(const[_,y]of this._stacks)(!v||p<y)&&(v=_,p=y);console.warn(`[${this.name}] potential listener LEAK detected, having ${h} listeners already. MOST frequent listener (${p}):`),console.warn(v)}return()=>{const v=this._stacks.get(l.value)||0;this._stacks.set(l.value,v-1)}}}class n{constructor(l){this.value=l}static create(){var l;return new n((l=new Error().stack)!==null&&l!==void 0?l:"")}print(){console.warn(this.value.split(`
+`).slice(2).join(`
+`))}}class i{constructor(l,h,f){this.callback=l,this.callbackThis=h,this.stack=f,this.subscription=new m.SafeDisposable}invoke(l){this.callback.call(this.callbackThis,l)}}class o{constructor(l){var h;this._disposed=!1,this._options=l,this._leakageMon=g>0?new t(this._options&&this._options.leakWarningThreshold):void 0,this._perfMon=((h=this._options)===null||h===void 0?void 0:h._profName)?new u(this._options._profName):void 0}dispose(){var l,h,f,S;if(!this._disposed){if(this._disposed=!0,this._listeners){if(w){const v=Array.from(this._listeners);queueMicrotask(()=>{var p;for(const _ of v)_.subscription.isset()&&(_.subscription.unset(),(p=_.stack)===null||p===void 0||p.print())})}this._listeners.clear()}(l=this._deliveryQueue)===null||l===void 0||l.clear(),(f=(h=this._options)===null||h===void 0?void 0:h.onLastListenerRemove)===null||f===void 0||f.call(h),(S=this._leakageMon)===null||S===void 0||S.dispose()}}get event(){return this._event||(this._event=(l,h,f)=>{var S,v,p;this._listeners||(this._listeners=new k.LinkedList);const _=this._listeners.isEmpty();_&&((S=this._options)===null||S===void 0?void 0:S.onFirstListenerAdd)&&this._options.onFirstListenerAdd(this);let y,E;this._leakageMon&&this._listeners.size>=30&&(E=n.create(),y=this._leakageMon.check(E,this._listeners.size+1)),w&&(E=E??n.create());const N=new i(l,h,E),D=this._listeners.push(N);_&&((v=this._options)===null||v===void 0?void 0:v.onFirstListenerDidAdd)&&this._options.onFirstListenerDidAdd(this),((p=this._options)===null||p===void 0?void 0:p.onListenerDidAdd)&&this._options.onListenerDidAdd(this,l,h);const M=N.subscription.set(()=>{y&&y(),this._disposed||(D(),this._options&&this._options.onLastListenerRemove&&(this._listeners&&!this._listeners.isEmpty()||this._options.onLastListenerRemove(this)))});return f instanceof m.DisposableStore?f.add(M):Array.isArray(f)&&f.push(M),M}),this._event}fire(l){var h,f;if(this._listeners){this._deliveryQueue||(this._deliveryQueue=new k.LinkedList);for(let S of this._listeners)this._deliveryQueue.push([S,l]);for((h=this._perfMon)===null||h===void 0||h.start(this._deliveryQueue.size);this._deliveryQueue.size>0;){const[S,v]=this._deliveryQueue.shift();try{S.invoke(v)}catch(p){(0,L.onUnexpectedError)(p)}}(f=this._perfMon)===null||f===void 0||f.stop()}}}e.Emitter=o;class c extends o{constructor(l){super(l);this._isPaused=0,this._eventQueue=new k.LinkedList,this._mergeFn=l==null?void 0:l.merge}pause(){this._isPaused++}resume(){if(this._isPaused!==0&&--this._isPaused==0)if(this._mergeFn){const l=Array.from(this._eventQueue);this._eventQueue.clear(),super.fire(this._mergeFn(l))}else for(;!this._isPaused&&this._eventQueue.size!==0;)super.fire(this._eventQueue.shift())}fire(l){this._listeners&&(this._isPaused!==0?this._eventQueue.push(l):super.fire(l))}}e.PauseableEmitter=c;class d extends c{constructor(l){var h;super(l);this._delay=(h=l.delay)!==null&&h!==void 0?h:100}fire(l){this._handle||(this.pause(),this._handle=setTimeout(()=>{this._handle=void 0,this.resume()},this._delay)),super.fire(l)}}e.DebounceEmitter=d;class r{constructor(){this.buffers=[]}wrapEvent(l){return(h,f,S)=>l(v=>{const p=this.buffers[this.buffers.length-1];p?p.push(()=>h.call(f,v)):h.call(f,v)},void 0,S)}bufferEvents(l){const h=[];this.buffers.push(h);const f=l();return this.buffers.pop(),h.forEach(S=>S()),f}}e.EventBufferer=r;class s{constructor(){this.listening=!1,this.inputEvent=C.None,this.inputEventListener=m.Disposable.None,this.emitter=new o({onFirstListenerDidAdd:()=>{this.listening=!0,this.inputEventListener=this.inputEvent(this.emitter.fire,this.emitter)},onLastListenerRemove:()=>{this.listening=!1,this.inputEventListener.dispose()}}),this.event=this.emitter.event}set input(l){this.inputEvent=l,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=l(this.emitter.fire,this.emitter))}dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}}e.Relay=s}),define(te[34],ie([1,0,4,2]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isStandalone=e.isAndroid=e.isElectron=e.isWebkitWebView=e.isSafari=e.isChrome=e.isWebKit=e.isFirefox=e.getZoomFactor=e.PixelRatio=void 0;class k{constructor(){this._zoomFactor=1}getZoomFactor(){return this._zoomFactor}}k.INSTANCE=new k;class I extends m.Disposable{constructor(){super();this._onDidChange=this._register(new L.Emitter),this.onDidChange=this._onDidChange.event,this._listener=()=>this._handleChange(!0),this._mediaQueryList=null,this._handleChange(!1)}_handleChange(t){this._mediaQueryList&&this._mediaQueryList.removeEventListener("change",this._listener),this._mediaQueryList=matchMedia(`(resolution: ${window.devicePixelRatio}dppx)`),this._mediaQueryList.addEventListener("change",this._listener),t&&this._onDidChange.fire()}}class w extends m.Disposable{constructor(){super();this._onDidChange=this._register(new L.Emitter),this.onDidChange=this._onDidChange.event,this._value=this._getPixelRatio();const t=this._register(new I);this._register(t.onDidChange(()=>{this._value=this._getPixelRatio(),this._onDidChange.fire(this._value)}))}get value(){return this._value}_getPixelRatio(){const t=document.createElement("canvas").getContext("2d"),n=window.devicePixelRatio||1,i=t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return n/i}}class b{constructor(){this._pixelRatioMonitor=null}_getOrCreatePixelRatioMonitor(){return this._pixelRatioMonitor||(this._pixelRatioMonitor=new w),this._pixelRatioMonitor}get value(){return this._getOrCreatePixelRatioMonitor().value}get onDidChange(){return this._getOrCreatePixelRatioMonitor().onDidChange}}e.PixelRatio=new b;function C(){return k.INSTANCE.getZoomFactor()}e.getZoomFactor=C;const u=navigator.userAgent;e.isFirefox=u.indexOf("Firefox")>=0,e.isWebKit=u.indexOf("AppleWebKit")>=0,e.isChrome=u.indexOf("Chrome")>=0,e.isSafari=!e.isChrome&&u.indexOf("Safari")>=0,e.isWebkitWebView=!e.isChrome&&!e.isSafari&&e.isWebKit,e.isElectron=u.indexOf("Electron/")>=0,e.isAndroid=u.indexOf("Android")>=0,e.isStandalone=window.matchMedia&&window.matchMedia("(display-mode: standalone)").matches}),define(te[167],ie([1,0,34,16]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BrowserFeatures=void 0,e.BrowserFeatures={clipboard:{writeText:m.isNative||document.queryCommandSupported&&document.queryCommandSupported("copy")||!!(navigator&&navigator.clipboard&&navigator.clipboard.writeText),readText:m.isNative||!!(navigator&&navigator.clipboard&&navigator.clipboard.readText)},keyboard:(()=>m.isNative||L.isStandalone?0:navigator.keyboard||L.isSafari?1:2)(),touch:"ontouchstart"in window||navigator.maxTouchPoints>0,pointerEvents:window.PointerEvent&&("ontouchstart"in window||window.navigator.maxTouchPoints>0||navigator.maxTouchPoints>0)}}),define(te[92],ie([1,0,4]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.stopEvent=e.DomEmitter=void 0;class m{constructor(w,b,C){const u=g=>this.emitter.fire(g);this.emitter=new L.Emitter({onFirstListenerAdd:()=>w.addEventListener(b,u,C),onLastListenerRemove:()=>w.removeEventListener(b,u,C)})}get event(){return this.emitter.event}dispose(){this.emitter.dispose()}}e.DomEmitter=m;function k(I){return I.preventDefault(),I.stopPropagation(),I}e.stopEvent=k}),define(te[44],ie([1,0,34,58,96,16]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StandardKeyboardEvent=void 0;function w(n){if(n.charCode){let o=String.fromCharCode(n.charCode).toUpperCase();return m.KeyCodeUtils.fromString(o)}const i=n.keyCode;if(i===3)return 7;if(L.isFirefox){if(i===59)return 80;if(i===107)return 81;if(i===109)return 83;if(I.isMacintosh&&i===224)return 57}else if(L.isWebKit){if(i===91)return 57;if(I.isMacintosh&&i===93)return 57;if(!I.isMacintosh&&i===92)return 57}return m.EVENT_KEY_CODE_MAP[i]||0}const b=I.isMacintosh?256:2048,C=512,u=1024,g=I.isMacintosh?2048:256;class t{constructor(i){this._standardKeyboardEventBrand=!0;let o=i;this.browserEvent=o,this.target=o.target,this.ctrlKey=o.ctrlKey,this.shiftKey=o.shiftKey,this.altKey=o.altKey,this.metaKey=o.metaKey,this.keyCode=w(o),this.code=o.code,this.ctrlKey=this.ctrlKey||this.keyCode===5,this.altKey=this.altKey||this.keyCode===6,this.shiftKey=this.shiftKey||this.keyCode===4,this.metaKey=this.metaKey||this.keyCode===57,this._asKeybinding=this._computeKeybinding(),this._asRuntimeKeybinding=this._computeRuntimeKeybinding()}preventDefault(){this.browserEvent&&this.browserEvent.preventDefault&&this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent&&this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()}toKeybinding(){return this._asRuntimeKeybinding}equals(i){return this._asKeybinding===i}_computeKeybinding(){let i=0;this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(i=this.keyCode);let o=0;return this.ctrlKey&&(o|=b),this.altKey&&(o|=C),this.shiftKey&&(o|=u),this.metaKey&&(o|=g),o|=i,o}_computeRuntimeKeybinding(){let i=0;return this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(i=this.keyCode),new k.SimpleKeybinding(this.ctrlKey,this.shiftKey,this.altKey,this.metaKey,i)}}e.StandardKeyboardEvent=t}),define(te[59],ie([1,0,34,214,16]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StandardWheelEvent=e.StandardMouseEvent=void 0;class I{constructor(C){this.timestamp=Date.now(),this.browserEvent=C,this.leftButton=C.button===0,this.middleButton=C.button===1,this.rightButton=C.button===2,this.buttons=C.buttons,this.target=C.target,this.detail=C.detail||1,C.type==="dblclick"&&(this.detail=2),this.ctrlKey=C.ctrlKey,this.shiftKey=C.shiftKey,this.altKey=C.altKey,this.metaKey=C.metaKey,typeof C.pageX=="number"?(this.posx=C.pageX,this.posy=C.pageY):(this.posx=C.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,this.posy=C.clientY+document.body.scrollTop+document.documentElement.scrollTop);let u=m.IframeUtils.getPositionOfChildWindowRelativeToAncestorWindow(self,C.view);this.posx-=u.left,this.posy-=u.top}preventDefault(){this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent.stopPropagation()}}e.StandardMouseEvent=I;class w{constructor(C,u=0,g=0){if(this.browserEvent=C||null,this.target=C?C.target||C.targetNode||C.srcElement:null,this.deltaY=g,this.deltaX=u,C){let t=C,n=C;if(typeof t.wheelDeltaY!="undefined")this.deltaY=t.wheelDeltaY/120;else if(typeof n.VERTICAL_AXIS!="undefined"&&n.axis===n.VERTICAL_AXIS)this.deltaY=-n.detail/3;else if(C.type==="wheel"){const i=C;i.deltaMode===i.DOM_DELTA_LINE?L.isFirefox&&!k.isMacintosh?this.deltaY=-C.deltaY/3:this.deltaY=-C.deltaY:this.deltaY=-C.deltaY/40}if(typeof t.wheelDeltaX!="undefined")L.isSafari&&k.isWindows?this.deltaX=-(t.wheelDeltaX/120):this.deltaX=t.wheelDeltaX/120;else if(typeof n.HORIZONTAL_AXIS!="undefined"&&n.axis===n.HORIZONTAL_AXIS)this.deltaX=-C.detail/3;else if(C.type==="wheel"){const i=C;i.deltaMode===i.DOM_DELTA_LINE?L.isFirefox&&!k.isMacintosh?this.deltaX=-C.deltaX/3:this.deltaX=-C.deltaX:this.deltaX=-C.deltaX/40}this.deltaY===0&&this.deltaX===0&&C.wheelDelta&&(this.deltaY=C.wheelDelta/120)}}preventDefault(){this.browserEvent&&this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent&&this.browserEvent.stopPropagation()}}e.StandardWheelEvent=w}),define(te[21],ie([1,0,4]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CancellationTokenSource=e.CancellationToken=void 0;const m=Object.freeze(function(b,C){const u=setTimeout(b.bind(C),0);return{dispose(){clearTimeout(u)}}});var k;(function(b){function C(u){return u===b.None||u===b.Cancelled||u instanceof I?!0:!u||typeof u!="object"?!1:typeof u.isCancellationRequested=="boolean"&&typeof u.onCancellationRequested=="function"}b.isCancellationToken=C,b.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:L.Event.None}),b.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:m})})(k=e.CancellationToken||(e.CancellationToken={}));class I{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?m:(this._emitter||(this._emitter=new L.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class w{constructor(C){this._token=void 0,this._parentListener=void 0,this._parentListener=C&&C.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new I),this._token}cancel(){this._token?this._token instanceof I&&this._token.cancel():this._token=k.Cancelled}dispose(C=!1){C&&this.cancel(),this._parentListener&&this._parentListener.dispose(),this._token?this._token instanceof I&&this._token.dispose():this._token=k.None}}e.CancellationTokenSource=w});var we=this&&this.__awaiter||function(q,e,L,m){function k(I){return I instanceof L?I:new L(function(w){w(I)})}return new(L||(L=Promise))(function(I,w){function b(g){try{u(m.next(g))}catch(t){w(t)}}function C(g){try{u(m.throw(g))}catch(t){w(t)}}function u(g){g.done?I(g.value):k(g.value).then(b,C)}u((m=m.apply(q,e||[])).next())})},pt=this&&this.__asyncValues||function(q){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=q[Symbol.asyncIterator],L;return e?e.call(q):(q=typeof __values=="function"?__values(q):q[Symbol.iterator](),L={},m("next"),m("throw"),m("return"),L[Symbol.asyncIterator]=function(){return this},L);function m(I){L[I]=q[I]&&function(w){return new Promise(function(b,C){w=q[I](w),k(b,C,w.done,w.value)})}}function k(I,w,b,C){Promise.resolve(C).then(function(u){I({value:u,done:b})},w)}};define(te[10],ie([1,0,21,13,4,2,16]),function(q,e,L,m,k,I,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createCancelableAsyncIterable=e.CancelableAsyncIterableObject=e.AsyncIterableObject=e.Promises=e.DeferredPromise=e.IdleValue=e.runWhenIdle=e.RunOnceScheduler=e.IntervalTimer=e.TimeoutTimer=e.first=e.disposableTimeout=e.timeout=e.ThrottledDelayer=e.Delayer=e.MicrotaskDelay=e.Throttler=e.raceCancellation=e.createCancelablePromise=e.isThenable=void 0;function b(y){return!!y&&typeof y.then=="function"}e.isThenable=b;function C(y){const E=new L.CancellationTokenSource,N=y(E.token),D=new Promise((M,B)=>{const O=E.token.onCancellationRequested(()=>{O.dispose(),E.dispose(),B(new m.CancellationError)});Promise.resolve(N).then(T=>{O.dispose(),E.dispose(),M(T)},T=>{O.dispose(),E.dispose(),B(T)})});return new class{cancel(){E.cancel()}then(M,B){return D.then(M,B)}catch(M){return this.then(void 0,M)}finally(M){return D.finally(M)}}}e.createCancelablePromise=C;function u(y,E,N){return new Promise((D,M)=>{const B=E.onCancellationRequested(()=>{B.dispose(),D(N)});y.then(D,M).finally(()=>B.dispose())})}e.raceCancellation=u;class g{constructor(){this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null}queue(E){if(this.activePromise){if(this.queuedPromiseFactory=E,!this.queuedPromise){const N=()=>{this.queuedPromise=null;const D=this.queue(this.queuedPromiseFactory);return this.queuedPromiseFactory=null,D};this.queuedPromise=new Promise(D=>{this.activePromise.then(N,N).then(D)})}return new Promise((N,D)=>{this.queuedPromise.then(N,D)})}return this.activePromise=E(),new Promise((N,D)=>{this.activePromise.then(M=>{this.activePromise=null,N(M)},M=>{this.activePromise=null,D(M)})})}}e.Throttler=g;const t=(y,E)=>{let N=!0;const D=setTimeout(()=>{N=!1,E()},y);return{isTriggered:()=>N,dispose:()=>{clearTimeout(D),N=!1}}},n=y=>{let E=!0;return queueMicrotask(()=>{E&&(E=!1,y())}),{isTriggered:()=>E,dispose:()=>{E=!1}}};e.MicrotaskDelay=Symbol("MicrotaskDelay");class i{constructor(E){this.defaultDelay=E,this.deferred=null,this.completionPromise=null,this.doResolve=null,this.doReject=null,this.task=null}trigger(E,N=this.defaultDelay){this.task=E,this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise((M,B)=>{this.doResolve=M,this.doReject=B}).then(()=>{if(this.completionPromise=null,this.doResolve=null,this.task){const M=this.task;return this.task=null,M()}}));const D=()=>{var M;this.deferred=null,(M=this.doResolve)===null||M===void 0||M.call(this,null)};return this.deferred=N===e.MicrotaskDelay?n(D):t(N,D),this.completionPromise}isTriggered(){var E;return!!((E=this.deferred)===null||E===void 0?void 0:E.isTriggered())}cancel(){this.cancelTimeout(),this.completionPromise&&(this.doReject&&this.doReject(new m.CancellationError),this.completionPromise=null)}cancelTimeout(){var E;(E=this.deferred)===null||E===void 0||E.dispose(),this.deferred=null}dispose(){this.cancel()}}e.Delayer=i;class o{constructor(E){this.delayer=new i(E),this.throttler=new g}trigger(E,N){return this.delayer.trigger(()=>this.throttler.queue(E),N)}dispose(){this.delayer.dispose()}}e.ThrottledDelayer=o;function c(y,E){return E?new Promise((N,D)=>{const M=setTimeout(()=>{B.dispose(),N()},y),B=E.onCancellationRequested(()=>{clearTimeout(M),B.dispose(),D(new m.CancellationError)})}):C(N=>c(y,N))}e.timeout=c;function d(y,E=0){const N=setTimeout(y,E);return(0,I.toDisposable)(()=>clearTimeout(N))}e.disposableTimeout=d;function r(y,E=D=>!!D,N=null){let D=0;const M=y.length,B=()=>{if(D>=M)return Promise.resolve(N);const O=y[D++];return Promise.resolve(O()).then(A=>E(A)?Promise.resolve(A):B())};return B()}e.first=r;class s{constructor(E,N){this._token=-1,typeof E=="function"&&typeof N=="number"&&this.setIfNotSet(E,N)}dispose(){this.cancel()}cancel(){this._token!==-1&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(E,N){this.cancel(),this._token=setTimeout(()=>{this._token=-1,E()},N)}setIfNotSet(E,N){this._token===-1&&(this._token=setTimeout(()=>{this._token=-1,E()},N))}}e.TimeoutTimer=s;class a{constructor(){this._token=-1}dispose(){this.cancel()}cancel(){this._token!==-1&&(clearInterval(this._token),this._token=-1)}cancelAndSet(E,N){this.cancel(),this._token=setInterval(()=>{E()},N)}}e.IntervalTimer=a;class l{constructor(E,N){this.timeoutToken=-1,this.runner=E,this.timeout=N,this.timeoutHandler=this.onTimeout.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=-1)}schedule(E=this.timeout){this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,E)}get delay(){return this.timeout}set delay(E){this.timeout=E}isScheduled(){return this.timeoutToken!==-1}onTimeout(){this.timeoutToken=-1,this.runner&&this.doRun()}doRun(){this.runner&&this.runner()}}e.RunOnceScheduler=l,function(){typeof requestIdleCallback!="function"||typeof cancelIdleCallback!="function"?e.runWhenIdle=y=>{(0,w.setTimeout0)(()=>{if(E)return;const N=Date.now()+15;y(Object.freeze({didTimeout:!0,timeRemaining(){return Math.max(0,N-Date.now())}}))});let E=!1;return{dispose(){E||(E=!0)}}}:e.runWhenIdle=(y,E)=>{const N=requestIdleCallback(y,typeof E=="number"?{timeout:E}:void 0);let D=!1;return{dispose(){D||(D=!0,cancelIdleCallback(N))}}}}();class h{constructor(E){this._didRun=!1,this._executor=()=>{try{this._value=E()}catch(N){this._error=N}finally{this._didRun=!0}},this._handle=(0,e.runWhenIdle)(()=>this._executor())}dispose(){this._handle.dispose()}get value(){if(this._didRun||(this._handle.dispose(),this._executor()),this._error)throw this._error;return this._value}get isInitialized(){return this._didRun}}e.IdleValue=h;class f{constructor(){this.rejected=!1,this.resolved=!1,this.p=new Promise((E,N)=>{this.completeCallback=E,this.errorCallback=N})}get isRejected(){return this.rejected}get isSettled(){return this.rejected||this.resolved}complete(E){return new Promise(N=>{this.completeCallback(E),this.resolved=!0,N()})}cancel(){new Promise(E=>{this.errorCallback(new m.CancellationError),this.rejected=!0,E()})}}e.DeferredPromise=f;var S;(function(y){function E(D){return we(this,void 0,void 0,function*(){let M;const B=yield Promise.all(D.map(O=>O.then(T=>T,T=>{M||(M=T)})));if(typeof M!="undefined")throw M;return B})}y.settled=E;function N(D){return new Promise((M,B)=>we(this,void 0,void 0,function*(){try{yield D(M,B)}catch(O){B(O)}}))}y.withAsyncBody=N})(S=e.Promises||(e.Promises={}));class v{constructor(E){this._state=0,this._results=[],this._error=null,this._onStateChanged=new k.Emitter,queueMicrotask(()=>we(this,void 0,void 0,function*(){const N={emitOne:D=>this.emitOne(D),emitMany:D=>this.emitMany(D),reject:D=>this.reject(D)};try{yield Promise.resolve(E(N)),this.resolve()}catch(D){this.reject(D)}finally{N.emitOne=void 0,N.emitMany=void 0,N.reject=void 0}}))}static fromArray(E){return new v(N=>{N.emitMany(E)})}static fromPromise(E){return new v(N=>we(this,void 0,void 0,function*(){N.emitMany(yield E)}))}static fromPromises(E){return new v(N=>we(this,void 0,void 0,function*(){yield Promise.all(E.map(D=>we(this,void 0,void 0,function*(){return N.emitOne(yield D)})))}))}static merge(E){return new v(N=>we(this,void 0,void 0,function*(){yield Promise.all(E.map(D=>{var M,B;return we(this,void 0,void 0,function*(){var O,T;try{for(M=pt(D);B=yield M.next(),!B.done;){const A=B.value;N.emitOne(A)}}catch(A){O={error:A}}finally{try{B&&!B.done&&(T=M.return)&&(yield T.call(M))}finally{if(O)throw O.error}}})}))}))}[Symbol.asyncIterator](){let E=0;return{next:()=>we(this,void 0,void 0,function*(){do{if(this._state===2)throw this._error;if(E<this._results.length)return{done:!1,value:this._results[E++]};if(this._state===1)return{done:!0,value:void 0};yield k.Event.toPromise(this._onStateChanged.event)}while(!0)})}}static map(E,N){return new v(D=>we(this,void 0,void 0,function*(){var M,B;try{for(var O=pt(E),T;T=yield O.next(),!T.done;){const A=T.value;D.emitOne(N(A))}}catch(A){M={error:A}}finally{try{T&&!T.done&&(B=O.return)&&(yield B.call(O))}finally{if(M)throw M.error}}}))}map(E){return v.map(this,E)}static filter(E,N){return new v(D=>we(this,void 0,void 0,function*(){var M,B;try{for(var O=pt(E),T;T=yield O.next(),!T.done;){const A=T.value;N(A)&&D.emitOne(A)}}catch(A){M={error:A}}finally{try{T&&!T.done&&(B=O.return)&&(yield B.call(O))}finally{if(M)throw M.error}}}))}filter(E){return v.filter(this,E)}static coalesce(E){return v.filter(E,N=>!!N)}coalesce(){return v.coalesce(this)}static toPromise(E){var N,D,M,B;return we(this,void 0,void 0,function*(){const O=[];try{for(N=pt(E);D=yield N.next(),!D.done;){const T=D.value;O.push(T)}}catch(T){M={error:T}}finally{try{D&&!D.done&&(B=N.return)&&(yield B.call(N))}finally{if(M)throw M.error}}return O})}toPromise(){return v.toPromise(this)}emitOne(E){this._state===0&&(this._results.push(E),this._onStateChanged.fire())}emitMany(E){this._state===0&&(this._results=this._results.concat(E),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(E){this._state===0&&(this._state=2,this._error=E,this._onStateChanged.fire())}}e.AsyncIterableObject=v,v.EMPTY=v.fromArray([]);class p extends v{constructor(E,N){super(N);this._source=E}cancel(){this._source.cancel()}}e.CancelableAsyncIterableObject=p;function _(y){const E=new L.CancellationTokenSource,N=y(E.token);return new p(E,D=>we(this,void 0,void 0,function*(){var M,B;const O=E.token.onCancellationRequested(()=>{O.dispose(),E.dispose(),D.reject(new m.CancellationError)});try{try{for(var T=pt(N),A;A=yield T.next(),!A.done;){const P=A.value;if(E.token.isCancellationRequested)return;D.emitOne(P)}}catch(P){M={error:P}}finally{try{A&&!A.done&&(B=T.return)&&(yield B.call(T))}finally{if(M)throw M.error}}O.dispose(),E.dispose()}catch(P){O.dispose(),E.dispose(),D.reject(P)}}))}e.createCancelableAsyncIterable=_}),define(te[319],ie([1,0,10,2]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ScrollbarVisibilityController=void 0;class k extends m.Disposable{constructor(w,b,C){super();this._visibility=w,this._visibleClassName=b,this._invisibleClassName=C,this._domNode=null,this._isVisible=!1,this._isNeeded=!1,this._rawShouldBeVisible=!1,this._shouldBeVisible=!1,this._revealTimer=this._register(new L.TimeoutTimer)}setVisibility(w){this._visibility!==w&&(this._visibility=w,this._updateShouldBeVisible())}setShouldBeVisible(w){this._rawShouldBeVisible=w,this._updateShouldBeVisible()}_applyVisibilitySetting(){return this._visibility===2?!1:this._visibility===3?!0:this._rawShouldBeVisible}_updateShouldBeVisible(){const w=this._applyVisibilitySetting();this._shouldBeVisible!==w&&(this._shouldBeVisible=w,this.ensureVisibility())}setIsNeeded(w){this._isNeeded!==w&&(this._isNeeded=w,this.ensureVisibility())}setDomNode(w){this._domNode=w,this._domNode.setClassName(this._invisibleClassName),this.setShouldBeVisible(!1)}ensureVisibility(){if(!this._isNeeded){this._hide(!1);return}this._shouldBeVisible?this._reveal():this._hide(!0)}_reveal(){this._isVisible||(this._isVisible=!0,this._revealTimer.setIfNotSet(()=>{this._domNode&&this._domNode.setClassName(this._visibleClassName)},0))}_hide(w){this._revealTimer.cancel(),!!this._isVisible&&(this._isVisible=!1,this._domNode&&this._domNode.setClassName(this._invisibleClassName+(w?" fade":"")))}}e.ScrollbarVisibilityController=k}),define(te[320],ie([1,0,10]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.compareByPrefix=e.compareAnything=e.compareFileNames=void 0;const m=new L.IdleValue(()=>{const u=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"});return{collator:u,collatorIsNumeric:u.resolvedOptions().numeric}}),k=new L.IdleValue(()=>({collator:new Intl.Collator(void 0,{numeric:!0})})),I=new L.IdleValue(()=>({collator:new Intl.Collator(void 0,{numeric:!0,sensitivity:"accent"})}));function w(u,g,t=!1){const n=u||"",i=g||"",o=m.value.collator.compare(n,i);return m.value.collatorIsNumeric&&o===0&&n!==i?n<i?-1:1:o}e.compareFileNames=w;function b(u,g,t){const n=u.toLowerCase(),i=g.toLowerCase(),o=C(u,g,t);if(o)return o;const c=n.endsWith(t),d=i.endsWith(t);if(c!==d)return c?-1:1;const r=w(n,i);return r!==0?r:n.localeCompare(i)}e.compareAnything=b;function C(u,g,t){const n=u.toLowerCase(),i=g.toLowerCase(),o=n.startsWith(t),c=i.startsWith(t);if(o!==c)return o?-1:1;if(o&&c){if(n.length<i.length)return-1;if(n.length>i.length)return 1}return 0}e.compareByPrefix=C}),define(te[140],ie([1,0,4,2]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SmoothScrollingOperation=e.SmoothScrollingUpdate=e.Scrollable=e.ScrollState=void 0;class k{constructor(i,o,c,d,r,s,a){this._forceIntegerValues=i,this._scrollStateBrand=void 0,this._forceIntegerValues&&(o=o|0,c=c|0,d=d|0,r=r|0,s=s|0,a=a|0),this.rawScrollLeft=d,this.rawScrollTop=a,o<0&&(o=0),d+o>c&&(d=c-o),d<0&&(d=0),r<0&&(r=0),a+r>s&&(a=s-r),a<0&&(a=0),this.width=o,this.scrollWidth=c,this.scrollLeft=d,this.height=r,this.scrollHeight=s,this.scrollTop=a}equals(i){return this.rawScrollLeft===i.rawScrollLeft&&this.rawScrollTop===i.rawScrollTop&&this.width===i.width&&this.scrollWidth===i.scrollWidth&&this.scrollLeft===i.scrollLeft&&this.height===i.height&&this.scrollHeight===i.scrollHeight&&this.scrollTop===i.scrollTop}withScrollDimensions(i,o){return new k(this._forceIntegerValues,typeof i.width!="undefined"?i.width:this.width,typeof i.scrollWidth!="undefined"?i.scrollWidth:this.scrollWidth,o?this.rawScrollLeft:this.scrollLeft,typeof i.height!="undefined"?i.height:this.height,typeof i.scrollHeight!="undefined"?i.scrollHeight:this.scrollHeight,o?this.rawScrollTop:this.scrollTop)}withScrollPosition(i){return new k(this._forceIntegerValues,this.width,this.scrollWidth,typeof i.scrollLeft!="undefined"?i.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,typeof i.scrollTop!="undefined"?i.scrollTop:this.rawScrollTop)}createScrollEvent(i,o){const c=this.width!==i.width,d=this.scrollWidth!==i.scrollWidth,r=this.scrollLeft!==i.scrollLeft,s=this.height!==i.height,a=this.scrollHeight!==i.scrollHeight,l=this.scrollTop!==i.scrollTop;return{inSmoothScrolling:o,oldWidth:i.width,oldScrollWidth:i.scrollWidth,oldScrollLeft:i.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:i.height,oldScrollHeight:i.scrollHeight,oldScrollTop:i.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:c,scrollWidthChanged:d,scrollLeftChanged:r,heightChanged:s,scrollHeightChanged:a,scrollTopChanged:l}}}e.ScrollState=k;class I extends m.Disposable{constructor(i){super();this._scrollableBrand=void 0,this._onScroll=this._register(new L.Emitter),this.onScroll=this._onScroll.event,this._smoothScrollDuration=i.smoothScrollDuration,this._scheduleAtNextAnimationFrame=i.scheduleAtNextAnimationFrame,this._state=new k(i.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),super.dispose()}setSmoothScrollDuration(i){this._smoothScrollDuration=i}validateScrollPosition(i){return this._state.withScrollPosition(i)}getScrollDimensions(){return this._state}setScrollDimensions(i,o){const c=this._state.withScrollDimensions(i,o);this._setState(c,Boolean(this._smoothScrolling)),this._smoothScrolling&&this._smoothScrolling.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(i){const o=this._state.withScrollPosition(i);this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),this._setState(o,!1)}setScrollPositionSmooth(i,o){if(this._smoothScrollDuration===0)return this.setScrollPositionNow(i);if(this._smoothScrolling){i={scrollLeft:typeof i.scrollLeft=="undefined"?this._smoothScrolling.to.scrollLeft:i.scrollLeft,scrollTop:typeof i.scrollTop=="undefined"?this._smoothScrolling.to.scrollTop:i.scrollTop};const c=this._state.withScrollPosition(i);if(this._smoothScrolling.to.scrollLeft===c.scrollLeft&&this._smoothScrolling.to.scrollTop===c.scrollTop)return;let d;o?d=new u(this._smoothScrolling.from,c,this._smoothScrolling.startTime,this._smoothScrolling.duration):d=this._smoothScrolling.combine(this._state,c,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=d}else{const c=this._state.withScrollPosition(i);this._smoothScrolling=u.start(this._state,c,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{!this._smoothScrolling||(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}_performSmoothScrolling(){if(!this._smoothScrolling)return;const i=this._smoothScrolling.tick(),o=this._state.withScrollPosition(i);if(this._setState(o,!0),!!this._smoothScrolling){if(i.isDone){this._smoothScrolling.dispose(),this._smoothScrolling=null;return}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{!this._smoothScrolling||(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}}_setState(i,o){const c=this._state;c.equals(i)||(this._state=i,this._onScroll.fire(this._state.createScrollEvent(c,o)))}}e.Scrollable=I;class w{constructor(i,o,c){this.scrollLeft=i,this.scrollTop=o,this.isDone=c}}e.SmoothScrollingUpdate=w;function b(n,i){const o=i-n;return function(c){return n+o*t(c)}}function C(n,i,o){return function(c){return c<o?n(c/o):i((c-o)/(1-o))}}class u{constructor(i,o,c,d){this.from=i,this.to=o,this.duration=d,this.startTime=c,this.animationFrameDisposable=null,this._initAnimations()}_initAnimations(){this.scrollLeft=this._initAnimation(this.from.scrollLeft,this.to.scrollLeft,this.to.width),this.scrollTop=this._initAnimation(this.from.scrollTop,this.to.scrollTop,this.to.height)}_initAnimation(i,o,c){if(Math.abs(i-o)>2.5*c){let r,s;return i<o?(r=i+.75*c,s=o-.75*c):(r=i-.75*c,s=o+.75*c),C(b(i,r),b(s,o),.33)}return b(i,o)}dispose(){this.animationFrameDisposable!==null&&(this.animationFrameDisposable.dispose(),this.animationFrameDisposable=null)}acceptScrollDimensions(i){this.to=i.withScrollPosition(this.to),this._initAnimations()}tick(){return this._tick(Date.now())}_tick(i){const o=(i-this.startTime)/this.duration;if(o<1){const c=this.scrollLeft(o),d=this.scrollTop(o);return new w(c,d,!1)}return new w(this.to.scrollLeft,this.to.scrollTop,!0)}combine(i,o,c){return u.start(i,o,c)}static start(i,o,c){c=c+10;const d=Date.now()-10;return new u(i,o,d,c)}}e.SmoothScrollingOperation=u;function g(n){return Math.pow(n,3)}function t(n){return 1-g(1-n)}}),define(te[8],ie([1,0,312,137]),function(q,e,L,m){"use strict";var k;Object.defineProperty(e,"__esModule",{value:!0}),e.InvisibleCharacters=e.AmbiguousCharacters=e.noBreakWhitespace=e.getLeftDeleteOffset=e.singleLetterHash=e.containsUppercaseCharacter=e.startsWithUTF8BOM=e.UTF8_BOM_CHARACTER=e.isEmojiImprecise=e.isFullWidthCharacter=e.containsUnusualLineTerminators=e.UNUSUAL_LINE_TERMINATORS=e.isBasicASCII=e.containsRTL=e.getCharContainingOffset=e.prevCharLength=e.nextCharLength=e.GraphemeIterator=e.CodePointIterator=e.getNextCodePoint=e.computeCodePoint=e.isLowSurrogate=e.isHighSurrogate=e.commonSuffixLength=e.commonPrefixLength=e.startsWithIgnoreCase=e.equalsIgnoreCase=e.isUpperAsciiLetter=e.isLowerAsciiLetter=e.compareSubstringIgnoreCase=e.compareIgnoreCase=e.compareSubstring=e.compare=e.lastNonWhitespaceIndex=e.getLeadingWhitespace=e.firstNonWhitespaceIndex=e.splitLines=e.regExpFlags=e.regExpLeadsToEndlessLoop=e.createRegExp=e.stripWildcards=e.convertSimple2RegExpPattern=e.rtrim=e.ltrim=e.trim=e.escapeRegExpCharacters=e.escape=e.format=e.isFalsyOrWhitespace=void 0;function I(Y){return!Y||typeof Y!="string"?!0:Y.trim().length===0}e.isFalsyOrWhitespace=I;const w=/{(\d+)}/g;function b(Y,...ne){return ne.length===0?Y:Y.replace(w,function(ge,fe){const ce=parseInt(fe,10);return isNaN(ce)||ce<0||ce>=ne.length?ge:ne[ce]})}e.format=b;function C(Y){return Y.replace(/[<>&]/g,function(ne){switch(ne){case"<":return"&lt;";case">":return"&gt;";case"&":return"&amp;";default:return ne}})}e.escape=C;function u(Y){return Y.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}e.escapeRegExpCharacters=u;function g(Y,ne=" "){const ge=t(Y,ne);return n(ge,ne)}e.trim=g;function t(Y,ne){if(!Y||!ne)return Y;const ge=ne.length;if(ge===0||Y.length===0)return Y;let fe=0;for(;Y.indexOf(ne,fe)===fe;)fe=fe+ge;return Y.substring(fe)}e.ltrim=t;function n(Y,ne){if(!Y||!ne)return Y;const ge=ne.length,fe=Y.length;if(ge===0||fe===0)return Y;let ce=fe,he=-1;for(;he=Y.lastIndexOf(ne,ce-1),!(he===-1||he+ge!==ce);){if(he===0)return"";ce=he}return Y.substring(0,ce)}e.rtrim=n;function i(Y){return Y.replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&").replace(/[\*]/g,".*")}e.convertSimple2RegExpPattern=i;function o(Y){return Y.replace(/\*/g,"")}e.stripWildcards=o;function c(Y,ne,ge={}){if(!Y)throw new Error("Cannot create regex from empty string");ne||(Y=u(Y)),ge.wholeWord&&(/\B/.test(Y.charAt(0))||(Y="\\b"+Y),/\B/.test(Y.charAt(Y.length-1))||(Y=Y+"\\b"));let fe="";return ge.global&&(fe+="g"),ge.matchCase||(fe+="i"),ge.multiline&&(fe+="m"),ge.unicode&&(fe+="u"),new RegExp(Y,fe)}e.createRegExp=c;function d(Y){return Y.source==="^"||Y.source==="^$"||Y.source==="$"||Y.source==="^\\s*$"?!1:!!(Y.exec("")&&Y.lastIndex===0)}e.regExpLeadsToEndlessLoop=d;function r(Y){return(Y.global?"g":"")+(Y.ignoreCase?"i":"")+(Y.multiline?"m":"")+(Y.unicode?"u":"")}e.regExpFlags=r;function s(Y){return Y.split(/\r\n|\r|\n/)}e.splitLines=s;function a(Y){for(let ne=0,ge=Y.length;ne<ge;ne++){const fe=Y.charCodeAt(ne);if(fe!==32&&fe!==9)return ne}return-1}e.firstNonWhitespaceIndex=a;function l(Y,ne=0,ge=Y.length){for(let fe=ne;fe<ge;fe++){const ce=Y.charCodeAt(fe);if(ce!==32&&ce!==9)return Y.substring(ne,fe)}return Y.substring(ne,ge)}e.getLeadingWhitespace=l;function h(Y,ne=Y.length-1){for(let ge=ne;ge>=0;ge--){const fe=Y.charCodeAt(ge);if(fe!==32&&fe!==9)return ge}return-1}e.lastNonWhitespaceIndex=h;function f(Y,ne){return Y<ne?-1:Y>ne?1:0}e.compare=f;function S(Y,ne,ge=0,fe=Y.length,ce=0,he=ne.length){for(;ge<fe&&ce<he;ge++,ce++){let be=Y.charCodeAt(ge),de=ne.charCodeAt(ce);if(be<de)return-1;if(be>de)return 1}const ve=fe-ge,Ce=he-ce;return ve<Ce?-1:ve>Ce?1:0}e.compareSubstring=S;function v(Y,ne){return p(Y,ne,0,Y.length,0,ne.length)}e.compareIgnoreCase=v;function p(Y,ne,ge=0,fe=Y.length,ce=0,he=ne.length){for(;ge<fe&&ce<he;ge++,ce++){let be=Y.charCodeAt(ge),de=ne.charCodeAt(ce);if(be===de)continue;if(be>=128||de>=128)return S(Y.toLowerCase(),ne.toLowerCase(),ge,fe,ce,he);_(be)&&(be-=32),_(de)&&(de-=32);const me=be-de;if(me!==0)return me}const ve=fe-ge,Ce=he-ce;return ve<Ce?-1:ve>Ce?1:0}e.compareSubstringIgnoreCase=p;function _(Y){return Y>=97&&Y<=122}e.isLowerAsciiLetter=_;function y(Y){return Y>=65&&Y<=90}e.isUpperAsciiLetter=y;function E(Y,ne){return Y.length===ne.length&&p(Y,ne)===0}e.equalsIgnoreCase=E;function N(Y,ne){const ge=ne.length;return ne.length>Y.length?!1:p(Y,ne,0,ge)===0}e.startsWithIgnoreCase=N;function D(Y,ne){let ge,fe=Math.min(Y.length,ne.length);for(ge=0;ge<fe;ge++)if(Y.charCodeAt(ge)!==ne.charCodeAt(ge))return ge;return fe}e.commonPrefixLength=D;function M(Y,ne){let ge,fe=Math.min(Y.length,ne.length);const ce=Y.length-1,he=ne.length-1;for(ge=0;ge<fe;ge++)if(Y.charCodeAt(ce-ge)!==ne.charCodeAt(he-ge))return ge;return fe}e.commonSuffixLength=M;function B(Y){return 55296<=Y&&Y<=56319}e.isHighSurrogate=B;function O(Y){return 56320<=Y&&Y<=57343}e.isLowSurrogate=O;function T(Y,ne){return(Y-55296<<10)+(ne-56320)+65536}e.computeCodePoint=T;function A(Y,ne,ge){const fe=Y.charCodeAt(ge);if(B(fe)&&ge+1<ne){const ce=Y.charCodeAt(ge+1);if(O(ce))return T(fe,ce)}return fe}e.getNextCodePoint=A;function P(Y,ne){const ge=Y.charCodeAt(ne-1);if(O(ge)&&ne>1){const fe=Y.charCodeAt(ne-2);if(B(fe))return T(fe,ge)}return ge}class F{constructor(ne,ge=0){this._str=ne,this._len=ne.length,this._offset=ge}get offset(){return this._offset}setOffset(ne){this._offset=ne}prevCodePoint(){const ne=P(this._str,this._offset);return this._offset-=ne>=65536?2:1,ne}nextCodePoint(){const ne=A(this._str,this._len,this._offset);return this._offset+=ne>=65536?2:1,ne}eol(){return this._offset>=this._len}}e.CodePointIterator=F;class W{constructor(ne,ge=0){this._iterator=new F(ne,ge)}get offset(){return this._iterator.offset}nextGraphemeLength(){const ne=ee.getInstance(),ge=this._iterator,fe=ge.offset;let ce=ne.getGraphemeBreakType(ge.nextCodePoint());for(;!ge.eol();){const he=ge.offset,ve=ne.getGraphemeBreakType(ge.nextCodePoint());if(ae(ce,ve)){ge.setOffset(he);break}ce=ve}return ge.offset-fe}prevGraphemeLength(){const ne=ee.getInstance(),ge=this._iterator,fe=ge.offset;let ce=ne.getGraphemeBreakType(ge.prevCodePoint());for(;ge.offset>0;){const he=ge.offset,ve=ne.getGraphemeBreakType(ge.prevCodePoint());if(ae(ve,ce)){ge.setOffset(he);break}ce=ve}return fe-ge.offset}eol(){return this._iterator.eol()}}e.GraphemeIterator=W;function R(Y,ne){return new W(Y,ne).nextGraphemeLength()}e.nextCharLength=R;function z(Y,ne){return new W(Y,ne).prevGraphemeLength()}e.prevCharLength=z;function j(Y,ne){ne>0&&O(Y.charCodeAt(ne))&&ne--;const ge=ne+R(Y,ne);return[ge-z(Y,ge),ge]}e.getCharContainingOffset=j;const $=/(?:[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05F4\u0608\u060B\u060D\u061B-\u064A\u066D-\u066F\u0671-\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u0710\u0712-\u072F\u074D-\u07A5\u07B1-\u07EA\u07F4\u07F5\u07FA\u07FE-\u0815\u081A\u0824\u0828\u0830-\u0858\u085E-\u088E\u08A0-\u08C9\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFC\uFE70-\uFEFC]|\uD802[\uDC00-\uDD1B\uDD20-\uDE00\uDE10-\uDE35\uDE40-\uDEE4\uDEEB-\uDF35\uDF40-\uDFFF]|\uD803[\uDC00-\uDD23\uDE80-\uDEA9\uDEAD-\uDF45\uDF51-\uDF81\uDF86-\uDFF6]|\uD83A[\uDC00-\uDCCF\uDD00-\uDD43\uDD4B-\uDFFF]|\uD83B[\uDC00-\uDEBB])/;function G(Y){return $.test(Y)}e.containsRTL=G;const J=/^[\t\n\r\x20-\x7E]*$/;function re(Y){return J.test(Y)}e.isBasicASCII=re,e.UNUSUAL_LINE_TERMINATORS=/[\u2028\u2029]/;function se(Y){return e.UNUSUAL_LINE_TERMINATORS.test(Y)}e.containsUnusualLineTerminators=se;function Z(Y){return Y>=11904&&Y<=55215||Y>=63744&&Y<=64255||Y>=65281&&Y<=65374}e.isFullWidthCharacter=Z;function V(Y){return Y>=127462&&Y<=127487||Y===8986||Y===8987||Y===9200||Y===9203||Y>=9728&&Y<=10175||Y===11088||Y===11093||Y>=127744&&Y<=128591||Y>=128640&&Y<=128764||Y>=128992&&Y<=129008||Y>=129280&&Y<=129535||Y>=129648&&Y<=129782}e.isEmojiImprecise=V,e.UTF8_BOM_CHARACTER=String.fromCharCode(65279);function K(Y){return!!(Y&&Y.length>0&&Y.charCodeAt(0)===65279)}e.startsWithUTF8BOM=K;function X(Y,ne=!1){return Y?(ne&&(Y=Y.replace(/\\./g,"")),Y.toLowerCase()!==Y):!1}e.containsUppercaseCharacter=X;function oe(Y){const ne=90-65+1;return Y=Y%(2*ne),Y<ne?String.fromCharCode(97+Y):String.fromCharCode(65+Y-ne)}e.singleLetterHash=oe;function ae(Y,ne){return Y===0?ne!==5&&ne!==7:Y===2&&ne===3?!1:Y===4||Y===2||Y===3||ne===4||ne===2||ne===3?!0:!(Y===8&&(ne===8||ne===9||ne===11||ne===12)||(Y===11||Y===9)&&(ne===9||ne===10)||(Y===12||Y===10)&&ne===10||ne===5||ne===13||ne===7||Y===1||Y===13&&ne===14||Y===6&&ne===6)}class ee{constructor(){this._data=ue()}static getInstance(){return ee._INSTANCE||(ee._INSTANCE=new ee),ee._INSTANCE}getGraphemeBreakType(ne){if(ne<32)return ne===10?3:ne===13?2:4;if(ne<127)return 0;const ge=this._data,fe=ge.length/3;let ce=1;for(;ce<=fe;)if(ne<ge[3*ce])ce=2*ce;else if(ne>ge[3*ce+1])ce=2*ce+1;else return ge[3*ce+2];return 0}}ee._INSTANCE=null;function ue(){return JSON.parse("[0,0,0,51229,51255,12,44061,44087,12,127462,127487,6,7083,7085,5,47645,47671,12,54813,54839,12,128678,128678,14,3270,3270,5,9919,9923,14,45853,45879,12,49437,49463,12,53021,53047,12,71216,71218,7,128398,128399,14,129360,129374,14,2519,2519,5,4448,4519,9,9742,9742,14,12336,12336,14,44957,44983,12,46749,46775,12,48541,48567,12,50333,50359,12,52125,52151,12,53917,53943,12,69888,69890,5,73018,73018,5,127990,127990,14,128558,128559,14,128759,128760,14,129653,129655,14,2027,2035,5,2891,2892,7,3761,3761,5,6683,6683,5,8293,8293,4,9825,9826,14,9999,9999,14,43452,43453,5,44509,44535,12,45405,45431,12,46301,46327,12,47197,47223,12,48093,48119,12,48989,49015,12,49885,49911,12,50781,50807,12,51677,51703,12,52573,52599,12,53469,53495,12,54365,54391,12,65279,65279,4,70471,70472,7,72145,72147,7,119173,119179,5,127799,127818,14,128240,128244,14,128512,128512,14,128652,128652,14,128721,128722,14,129292,129292,14,129445,129450,14,129734,129743,14,1476,1477,5,2366,2368,7,2750,2752,7,3076,3076,5,3415,3415,5,4141,4144,5,6109,6109,5,6964,6964,5,7394,7400,5,9197,9198,14,9770,9770,14,9877,9877,14,9968,9969,14,10084,10084,14,43052,43052,5,43713,43713,5,44285,44311,12,44733,44759,12,45181,45207,12,45629,45655,12,46077,46103,12,46525,46551,12,46973,46999,12,47421,47447,12,47869,47895,12,48317,48343,12,48765,48791,12,49213,49239,12,49661,49687,12,50109,50135,12,50557,50583,12,51005,51031,12,51453,51479,12,51901,51927,12,52349,52375,12,52797,52823,12,53245,53271,12,53693,53719,12,54141,54167,12,54589,54615,12,55037,55063,12,69506,69509,5,70191,70193,5,70841,70841,7,71463,71467,5,72330,72342,5,94031,94031,5,123628,123631,5,127763,127765,14,127941,127941,14,128043,128062,14,128302,128317,14,128465,128467,14,128539,128539,14,128640,128640,14,128662,128662,14,128703,128703,14,128745,128745,14,129004,129007,14,129329,129330,14,129402,129402,14,129483,129483,14,129686,129704,14,130048,131069,14,173,173,4,1757,1757,1,2200,2207,5,2434,2435,7,2631,2632,5,2817,2817,5,3008,3008,5,3201,3201,5,3387,3388,5,3542,3542,5,3902,3903,7,4190,4192,5,6002,6003,5,6439,6440,5,6765,6770,7,7019,7027,5,7154,7155,7,8205,8205,13,8505,8505,14,9654,9654,14,9757,9757,14,9792,9792,14,9852,9853,14,9890,9894,14,9937,9937,14,9981,9981,14,10035,10036,14,11035,11036,14,42654,42655,5,43346,43347,7,43587,43587,5,44006,44007,7,44173,44199,12,44397,44423,12,44621,44647,12,44845,44871,12,45069,45095,12,45293,45319,12,45517,45543,12,45741,45767,12,45965,45991,12,46189,46215,12,46413,46439,12,46637,46663,12,46861,46887,12,47085,47111,12,47309,47335,12,47533,47559,12,47757,47783,12,47981,48007,12,48205,48231,12,48429,48455,12,48653,48679,12,48877,48903,12,49101,49127,12,49325,49351,12,49549,49575,12,49773,49799,12,49997,50023,12,50221,50247,12,50445,50471,12,50669,50695,12,50893,50919,12,51117,51143,12,51341,51367,12,51565,51591,12,51789,51815,12,52013,52039,12,52237,52263,12,52461,52487,12,52685,52711,12,52909,52935,12,53133,53159,12,53357,53383,12,53581,53607,12,53805,53831,12,54029,54055,12,54253,54279,12,54477,54503,12,54701,54727,12,54925,54951,12,55149,55175,12,68101,68102,5,69762,69762,7,70067,70069,7,70371,70378,5,70720,70721,7,71087,71087,5,71341,71341,5,71995,71996,5,72249,72249,7,72850,72871,5,73109,73109,5,118576,118598,5,121505,121519,5,127245,127247,14,127568,127569,14,127777,127777,14,127872,127891,14,127956,127967,14,128015,128016,14,128110,128172,14,128259,128259,14,128367,128368,14,128424,128424,14,128488,128488,14,128530,128532,14,128550,128551,14,128566,128566,14,128647,128647,14,128656,128656,14,128667,128673,14,128691,128693,14,128715,128715,14,128728,128732,14,128752,128752,14,128765,128767,14,129096,129103,14,129311,129311,14,129344,129349,14,129394,129394,14,129413,129425,14,129466,129471,14,129511,129535,14,129664,129666,14,129719,129722,14,129760,129767,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2307,2307,7,2382,2383,7,2497,2500,5,2563,2563,7,2677,2677,5,2763,2764,7,2879,2879,5,2914,2915,5,3021,3021,5,3142,3144,5,3263,3263,5,3285,3286,5,3398,3400,7,3530,3530,5,3633,3633,5,3864,3865,5,3974,3975,5,4155,4156,7,4229,4230,5,5909,5909,7,6078,6085,7,6277,6278,5,6451,6456,7,6744,6750,5,6846,6846,5,6972,6972,5,7074,7077,5,7146,7148,7,7222,7223,5,7416,7417,5,8234,8238,4,8417,8417,5,9000,9000,14,9203,9203,14,9730,9731,14,9748,9749,14,9762,9763,14,9776,9783,14,9800,9811,14,9831,9831,14,9872,9873,14,9882,9882,14,9900,9903,14,9929,9933,14,9941,9960,14,9974,9974,14,9989,9989,14,10006,10006,14,10062,10062,14,10160,10160,14,11647,11647,5,12953,12953,14,43019,43019,5,43232,43249,5,43443,43443,5,43567,43568,7,43696,43696,5,43765,43765,7,44013,44013,5,44117,44143,12,44229,44255,12,44341,44367,12,44453,44479,12,44565,44591,12,44677,44703,12,44789,44815,12,44901,44927,12,45013,45039,12,45125,45151,12,45237,45263,12,45349,45375,12,45461,45487,12,45573,45599,12,45685,45711,12,45797,45823,12,45909,45935,12,46021,46047,12,46133,46159,12,46245,46271,12,46357,46383,12,46469,46495,12,46581,46607,12,46693,46719,12,46805,46831,12,46917,46943,12,47029,47055,12,47141,47167,12,47253,47279,12,47365,47391,12,47477,47503,12,47589,47615,12,47701,47727,12,47813,47839,12,47925,47951,12,48037,48063,12,48149,48175,12,48261,48287,12,48373,48399,12,48485,48511,12,48597,48623,12,48709,48735,12,48821,48847,12,48933,48959,12,49045,49071,12,49157,49183,12,49269,49295,12,49381,49407,12,49493,49519,12,49605,49631,12,49717,49743,12,49829,49855,12,49941,49967,12,50053,50079,12,50165,50191,12,50277,50303,12,50389,50415,12,50501,50527,12,50613,50639,12,50725,50751,12,50837,50863,12,50949,50975,12,51061,51087,12,51173,51199,12,51285,51311,12,51397,51423,12,51509,51535,12,51621,51647,12,51733,51759,12,51845,51871,12,51957,51983,12,52069,52095,12,52181,52207,12,52293,52319,12,52405,52431,12,52517,52543,12,52629,52655,12,52741,52767,12,52853,52879,12,52965,52991,12,53077,53103,12,53189,53215,12,53301,53327,12,53413,53439,12,53525,53551,12,53637,53663,12,53749,53775,12,53861,53887,12,53973,53999,12,54085,54111,12,54197,54223,12,54309,54335,12,54421,54447,12,54533,54559,12,54645,54671,12,54757,54783,12,54869,54895,12,54981,55007,12,55093,55119,12,55243,55291,10,66045,66045,5,68325,68326,5,69688,69702,5,69817,69818,5,69957,69958,7,70089,70092,5,70198,70199,5,70462,70462,5,70502,70508,5,70750,70750,5,70846,70846,7,71100,71101,5,71230,71230,7,71351,71351,5,71737,71738,5,72000,72000,7,72160,72160,5,72273,72278,5,72752,72758,5,72882,72883,5,73031,73031,5,73461,73462,7,94192,94193,7,119149,119149,7,121403,121452,5,122915,122916,5,126980,126980,14,127358,127359,14,127535,127535,14,127759,127759,14,127771,127771,14,127792,127793,14,127825,127867,14,127897,127899,14,127945,127945,14,127985,127986,14,128000,128007,14,128021,128021,14,128066,128100,14,128184,128235,14,128249,128252,14,128266,128276,14,128335,128335,14,128379,128390,14,128407,128419,14,128444,128444,14,128481,128481,14,128499,128499,14,128526,128526,14,128536,128536,14,128543,128543,14,128556,128556,14,128564,128564,14,128577,128580,14,128643,128645,14,128649,128649,14,128654,128654,14,128660,128660,14,128664,128664,14,128675,128675,14,128686,128689,14,128695,128696,14,128705,128709,14,128717,128719,14,128725,128725,14,128736,128741,14,128747,128748,14,128755,128755,14,128762,128762,14,128981,128991,14,129009,129023,14,129160,129167,14,129296,129304,14,129320,129327,14,129340,129342,14,129356,129356,14,129388,129392,14,129399,129400,14,129404,129407,14,129432,129442,14,129454,129455,14,129473,129474,14,129485,129487,14,129648,129651,14,129659,129660,14,129671,129679,14,129709,129711,14,129728,129730,14,129751,129753,14,129776,129782,14,917505,917505,4,917760,917999,5,10,10,3,127,159,4,768,879,5,1471,1471,5,1536,1541,1,1648,1648,5,1767,1768,5,1840,1866,5,2070,2073,5,2137,2139,5,2274,2274,1,2363,2363,7,2377,2380,7,2402,2403,5,2494,2494,5,2507,2508,7,2558,2558,5,2622,2624,7,2641,2641,5,2691,2691,7,2759,2760,5,2786,2787,5,2876,2876,5,2881,2884,5,2901,2902,5,3006,3006,5,3014,3016,7,3072,3072,5,3134,3136,5,3157,3158,5,3260,3260,5,3266,3266,5,3274,3275,7,3328,3329,5,3391,3392,7,3405,3405,5,3457,3457,5,3536,3537,7,3551,3551,5,3636,3642,5,3764,3772,5,3895,3895,5,3967,3967,7,3993,4028,5,4146,4151,5,4182,4183,7,4226,4226,5,4253,4253,5,4957,4959,5,5940,5940,7,6070,6070,7,6087,6088,7,6158,6158,4,6432,6434,5,6448,6449,7,6679,6680,5,6742,6742,5,6754,6754,5,6783,6783,5,6912,6915,5,6966,6970,5,6978,6978,5,7042,7042,7,7080,7081,5,7143,7143,7,7150,7150,7,7212,7219,5,7380,7392,5,7412,7412,5,8203,8203,4,8232,8232,4,8265,8265,14,8400,8412,5,8421,8432,5,8617,8618,14,9167,9167,14,9200,9200,14,9410,9410,14,9723,9726,14,9733,9733,14,9745,9745,14,9752,9752,14,9760,9760,14,9766,9766,14,9774,9774,14,9786,9786,14,9794,9794,14,9823,9823,14,9828,9828,14,9833,9850,14,9855,9855,14,9875,9875,14,9880,9880,14,9885,9887,14,9896,9897,14,9906,9916,14,9926,9927,14,9935,9935,14,9939,9939,14,9962,9962,14,9972,9972,14,9978,9978,14,9986,9986,14,9997,9997,14,10002,10002,14,10017,10017,14,10055,10055,14,10071,10071,14,10133,10135,14,10548,10549,14,11093,11093,14,12330,12333,5,12441,12442,5,42608,42610,5,43010,43010,5,43045,43046,5,43188,43203,7,43302,43309,5,43392,43394,5,43446,43449,5,43493,43493,5,43571,43572,7,43597,43597,7,43703,43704,5,43756,43757,5,44003,44004,7,44009,44010,7,44033,44059,12,44089,44115,12,44145,44171,12,44201,44227,12,44257,44283,12,44313,44339,12,44369,44395,12,44425,44451,12,44481,44507,12,44537,44563,12,44593,44619,12,44649,44675,12,44705,44731,12,44761,44787,12,44817,44843,12,44873,44899,12,44929,44955,12,44985,45011,12,45041,45067,12,45097,45123,12,45153,45179,12,45209,45235,12,45265,45291,12,45321,45347,12,45377,45403,12,45433,45459,12,45489,45515,12,45545,45571,12,45601,45627,12,45657,45683,12,45713,45739,12,45769,45795,12,45825,45851,12,45881,45907,12,45937,45963,12,45993,46019,12,46049,46075,12,46105,46131,12,46161,46187,12,46217,46243,12,46273,46299,12,46329,46355,12,46385,46411,12,46441,46467,12,46497,46523,12,46553,46579,12,46609,46635,12,46665,46691,12,46721,46747,12,46777,46803,12,46833,46859,12,46889,46915,12,46945,46971,12,47001,47027,12,47057,47083,12,47113,47139,12,47169,47195,12,47225,47251,12,47281,47307,12,47337,47363,12,47393,47419,12,47449,47475,12,47505,47531,12,47561,47587,12,47617,47643,12,47673,47699,12,47729,47755,12,47785,47811,12,47841,47867,12,47897,47923,12,47953,47979,12,48009,48035,12,48065,48091,12,48121,48147,12,48177,48203,12,48233,48259,12,48289,48315,12,48345,48371,12,48401,48427,12,48457,48483,12,48513,48539,12,48569,48595,12,48625,48651,12,48681,48707,12,48737,48763,12,48793,48819,12,48849,48875,12,48905,48931,12,48961,48987,12,49017,49043,12,49073,49099,12,49129,49155,12,49185,49211,12,49241,49267,12,49297,49323,12,49353,49379,12,49409,49435,12,49465,49491,12,49521,49547,12,49577,49603,12,49633,49659,12,49689,49715,12,49745,49771,12,49801,49827,12,49857,49883,12,49913,49939,12,49969,49995,12,50025,50051,12,50081,50107,12,50137,50163,12,50193,50219,12,50249,50275,12,50305,50331,12,50361,50387,12,50417,50443,12,50473,50499,12,50529,50555,12,50585,50611,12,50641,50667,12,50697,50723,12,50753,50779,12,50809,50835,12,50865,50891,12,50921,50947,12,50977,51003,12,51033,51059,12,51089,51115,12,51145,51171,12,51201,51227,12,51257,51283,12,51313,51339,12,51369,51395,12,51425,51451,12,51481,51507,12,51537,51563,12,51593,51619,12,51649,51675,12,51705,51731,12,51761,51787,12,51817,51843,12,51873,51899,12,51929,51955,12,51985,52011,12,52041,52067,12,52097,52123,12,52153,52179,12,52209,52235,12,52265,52291,12,52321,52347,12,52377,52403,12,52433,52459,12,52489,52515,12,52545,52571,12,52601,52627,12,52657,52683,12,52713,52739,12,52769,52795,12,52825,52851,12,52881,52907,12,52937,52963,12,52993,53019,12,53049,53075,12,53105,53131,12,53161,53187,12,53217,53243,12,53273,53299,12,53329,53355,12,53385,53411,12,53441,53467,12,53497,53523,12,53553,53579,12,53609,53635,12,53665,53691,12,53721,53747,12,53777,53803,12,53833,53859,12,53889,53915,12,53945,53971,12,54001,54027,12,54057,54083,12,54113,54139,12,54169,54195,12,54225,54251,12,54281,54307,12,54337,54363,12,54393,54419,12,54449,54475,12,54505,54531,12,54561,54587,12,54617,54643,12,54673,54699,12,54729,54755,12,54785,54811,12,54841,54867,12,54897,54923,12,54953,54979,12,55009,55035,12,55065,55091,12,55121,55147,12,55177,55203,12,65024,65039,5,65520,65528,4,66422,66426,5,68152,68154,5,69291,69292,5,69633,69633,5,69747,69748,5,69811,69814,5,69826,69826,5,69932,69932,7,70016,70017,5,70079,70080,7,70095,70095,5,70196,70196,5,70367,70367,5,70402,70403,7,70464,70464,5,70487,70487,5,70709,70711,7,70725,70725,7,70833,70834,7,70843,70844,7,70849,70849,7,71090,71093,5,71103,71104,5,71227,71228,7,71339,71339,5,71344,71349,5,71458,71461,5,71727,71735,5,71985,71989,7,71998,71998,5,72002,72002,7,72154,72155,5,72193,72202,5,72251,72254,5,72281,72283,5,72344,72345,5,72766,72766,7,72874,72880,5,72885,72886,5,73023,73029,5,73104,73105,5,73111,73111,5,92912,92916,5,94095,94098,5,113824,113827,4,119142,119142,7,119155,119162,4,119362,119364,5,121476,121476,5,122888,122904,5,123184,123190,5,125252,125258,5,127183,127183,14,127340,127343,14,127377,127386,14,127491,127503,14,127548,127551,14,127744,127756,14,127761,127761,14,127769,127769,14,127773,127774,14,127780,127788,14,127796,127797,14,127820,127823,14,127869,127869,14,127894,127895,14,127902,127903,14,127943,127943,14,127947,127950,14,127972,127972,14,127988,127988,14,127992,127994,14,128009,128011,14,128019,128019,14,128023,128041,14,128064,128064,14,128102,128107,14,128174,128181,14,128238,128238,14,128246,128247,14,128254,128254,14,128264,128264,14,128278,128299,14,128329,128330,14,128348,128359,14,128371,128377,14,128392,128393,14,128401,128404,14,128421,128421,14,128433,128434,14,128450,128452,14,128476,128478,14,128483,128483,14,128495,128495,14,128506,128506,14,128519,128520,14,128528,128528,14,128534,128534,14,128538,128538,14,128540,128542,14,128544,128549,14,128552,128555,14,128557,128557,14,128560,128563,14,128565,128565,14,128567,128576,14,128581,128591,14,128641,128642,14,128646,128646,14,128648,128648,14,128650,128651,14,128653,128653,14,128655,128655,14,128657,128659,14,128661,128661,14,128663,128663,14,128665,128666,14,128674,128674,14,128676,128677,14,128679,128685,14,128690,128690,14,128694,128694,14,128697,128702,14,128704,128704,14,128710,128714,14,128716,128716,14,128720,128720,14,128723,128724,14,128726,128727,14,128733,128735,14,128742,128744,14,128746,128746,14,128749,128751,14,128753,128754,14,128756,128758,14,128761,128761,14,128763,128764,14,128884,128895,14,128992,129003,14,129008,129008,14,129036,129039,14,129114,129119,14,129198,129279,14,129293,129295,14,129305,129310,14,129312,129319,14,129328,129328,14,129331,129338,14,129343,129343,14,129351,129355,14,129357,129359,14,129375,129387,14,129393,129393,14,129395,129398,14,129401,129401,14,129403,129403,14,129408,129412,14,129426,129431,14,129443,129444,14,129451,129453,14,129456,129465,14,129472,129472,14,129475,129482,14,129484,129484,14,129488,129510,14,129536,129647,14,129652,129652,14,129656,129658,14,129661,129663,14,129667,129670,14,129680,129685,14,129705,129708,14,129712,129718,14,129723,129727,14,129731,129733,14,129744,129750,14,129754,129759,14,129768,129775,14,129783,129791,14,917504,917504,4,917506,917535,4,917632,917759,4,918000,921599,4,0,9,4,11,12,4,14,31,4,169,169,14,174,174,14,1155,1159,5,1425,1469,5,1473,1474,5,1479,1479,5,1552,1562,5,1611,1631,5,1750,1756,5,1759,1764,5,1770,1773,5,1809,1809,5,1958,1968,5,2045,2045,5,2075,2083,5,2089,2093,5,2192,2193,1,2250,2273,5,2275,2306,5,2362,2362,5,2364,2364,5,2369,2376,5,2381,2381,5,2385,2391,5,2433,2433,5,2492,2492,5,2495,2496,7,2503,2504,7,2509,2509,5,2530,2531,5,2561,2562,5,2620,2620,5,2625,2626,5,2635,2637,5,2672,2673,5,2689,2690,5,2748,2748,5,2753,2757,5,2761,2761,7,2765,2765,5,2810,2815,5,2818,2819,7,2878,2878,5,2880,2880,7,2887,2888,7,2893,2893,5,2903,2903,5,2946,2946,5,3007,3007,7,3009,3010,7,3018,3020,7,3031,3031,5,3073,3075,7,3132,3132,5,3137,3140,7,3146,3149,5,3170,3171,5,3202,3203,7,3262,3262,7,3264,3265,7,3267,3268,7,3271,3272,7,3276,3277,5,3298,3299,5,3330,3331,7,3390,3390,5,3393,3396,5,3402,3404,7,3406,3406,1,3426,3427,5,3458,3459,7,3535,3535,5,3538,3540,5,3544,3550,7,3570,3571,7,3635,3635,7,3655,3662,5,3763,3763,7,3784,3789,5,3893,3893,5,3897,3897,5,3953,3966,5,3968,3972,5,3981,3991,5,4038,4038,5,4145,4145,7,4153,4154,5,4157,4158,5,4184,4185,5,4209,4212,5,4228,4228,7,4237,4237,5,4352,4447,8,4520,4607,10,5906,5908,5,5938,5939,5,5970,5971,5,6068,6069,5,6071,6077,5,6086,6086,5,6089,6099,5,6155,6157,5,6159,6159,5,6313,6313,5,6435,6438,7,6441,6443,7,6450,6450,5,6457,6459,5,6681,6682,7,6741,6741,7,6743,6743,7,6752,6752,5,6757,6764,5,6771,6780,5,6832,6845,5,6847,6862,5,6916,6916,7,6965,6965,5,6971,6971,7,6973,6977,7,6979,6980,7,7040,7041,5,7073,7073,7,7078,7079,7,7082,7082,7,7142,7142,5,7144,7145,5,7149,7149,5,7151,7153,5,7204,7211,7,7220,7221,7,7376,7378,5,7393,7393,7,7405,7405,5,7415,7415,7,7616,7679,5,8204,8204,5,8206,8207,4,8233,8233,4,8252,8252,14,8288,8292,4,8294,8303,4,8413,8416,5,8418,8420,5,8482,8482,14,8596,8601,14,8986,8987,14,9096,9096,14,9193,9196,14,9199,9199,14,9201,9202,14,9208,9210,14,9642,9643,14,9664,9664,14,9728,9729,14,9732,9732,14,9735,9741,14,9743,9744,14,9746,9746,14,9750,9751,14,9753,9756,14,9758,9759,14,9761,9761,14,9764,9765,14,9767,9769,14,9771,9773,14,9775,9775,14,9784,9785,14,9787,9791,14,9793,9793,14,9795,9799,14,9812,9822,14,9824,9824,14,9827,9827,14,9829,9830,14,9832,9832,14,9851,9851,14,9854,9854,14,9856,9861,14,9874,9874,14,9876,9876,14,9878,9879,14,9881,9881,14,9883,9884,14,9888,9889,14,9895,9895,14,9898,9899,14,9904,9905,14,9917,9918,14,9924,9925,14,9928,9928,14,9934,9934,14,9936,9936,14,9938,9938,14,9940,9940,14,9961,9961,14,9963,9967,14,9970,9971,14,9973,9973,14,9975,9977,14,9979,9980,14,9982,9985,14,9987,9988,14,9992,9996,14,9998,9998,14,10000,10001,14,10004,10004,14,10013,10013,14,10024,10024,14,10052,10052,14,10060,10060,14,10067,10069,14,10083,10083,14,10085,10087,14,10145,10145,14,10175,10175,14,11013,11015,14,11088,11088,14,11503,11505,5,11744,11775,5,12334,12335,5,12349,12349,14,12951,12951,14,42607,42607,5,42612,42621,5,42736,42737,5,43014,43014,5,43043,43044,7,43047,43047,7,43136,43137,7,43204,43205,5,43263,43263,5,43335,43345,5,43360,43388,8,43395,43395,7,43444,43445,7,43450,43451,7,43454,43456,7,43561,43566,5,43569,43570,5,43573,43574,5,43596,43596,5,43644,43644,5,43698,43700,5,43710,43711,5,43755,43755,7,43758,43759,7,43766,43766,5,44005,44005,5,44008,44008,5,44012,44012,7,44032,44032,11,44060,44060,11,44088,44088,11,44116,44116,11,44144,44144,11,44172,44172,11,44200,44200,11,44228,44228,11,44256,44256,11,44284,44284,11,44312,44312,11,44340,44340,11,44368,44368,11,44396,44396,11,44424,44424,11,44452,44452,11,44480,44480,11,44508,44508,11,44536,44536,11,44564,44564,11,44592,44592,11,44620,44620,11,44648,44648,11,44676,44676,11,44704,44704,11,44732,44732,11,44760,44760,11,44788,44788,11,44816,44816,11,44844,44844,11,44872,44872,11,44900,44900,11,44928,44928,11,44956,44956,11,44984,44984,11,45012,45012,11,45040,45040,11,45068,45068,11,45096,45096,11,45124,45124,11,45152,45152,11,45180,45180,11,45208,45208,11,45236,45236,11,45264,45264,11,45292,45292,11,45320,45320,11,45348,45348,11,45376,45376,11,45404,45404,11,45432,45432,11,45460,45460,11,45488,45488,11,45516,45516,11,45544,45544,11,45572,45572,11,45600,45600,11,45628,45628,11,45656,45656,11,45684,45684,11,45712,45712,11,45740,45740,11,45768,45768,11,45796,45796,11,45824,45824,11,45852,45852,11,45880,45880,11,45908,45908,11,45936,45936,11,45964,45964,11,45992,45992,11,46020,46020,11,46048,46048,11,46076,46076,11,46104,46104,11,46132,46132,11,46160,46160,11,46188,46188,11,46216,46216,11,46244,46244,11,46272,46272,11,46300,46300,11,46328,46328,11,46356,46356,11,46384,46384,11,46412,46412,11,46440,46440,11,46468,46468,11,46496,46496,11,46524,46524,11,46552,46552,11,46580,46580,11,46608,46608,11,46636,46636,11,46664,46664,11,46692,46692,11,46720,46720,11,46748,46748,11,46776,46776,11,46804,46804,11,46832,46832,11,46860,46860,11,46888,46888,11,46916,46916,11,46944,46944,11,46972,46972,11,47000,47000,11,47028,47028,11,47056,47056,11,47084,47084,11,47112,47112,11,47140,47140,11,47168,47168,11,47196,47196,11,47224,47224,11,47252,47252,11,47280,47280,11,47308,47308,11,47336,47336,11,47364,47364,11,47392,47392,11,47420,47420,11,47448,47448,11,47476,47476,11,47504,47504,11,47532,47532,11,47560,47560,11,47588,47588,11,47616,47616,11,47644,47644,11,47672,47672,11,47700,47700,11,47728,47728,11,47756,47756,11,47784,47784,11,47812,47812,11,47840,47840,11,47868,47868,11,47896,47896,11,47924,47924,11,47952,47952,11,47980,47980,11,48008,48008,11,48036,48036,11,48064,48064,11,48092,48092,11,48120,48120,11,48148,48148,11,48176,48176,11,48204,48204,11,48232,48232,11,48260,48260,11,48288,48288,11,48316,48316,11,48344,48344,11,48372,48372,11,48400,48400,11,48428,48428,11,48456,48456,11,48484,48484,11,48512,48512,11,48540,48540,11,48568,48568,11,48596,48596,11,48624,48624,11,48652,48652,11,48680,48680,11,48708,48708,11,48736,48736,11,48764,48764,11,48792,48792,11,48820,48820,11,48848,48848,11,48876,48876,11,48904,48904,11,48932,48932,11,48960,48960,11,48988,48988,11,49016,49016,11,49044,49044,11,49072,49072,11,49100,49100,11,49128,49128,11,49156,49156,11,49184,49184,11,49212,49212,11,49240,49240,11,49268,49268,11,49296,49296,11,49324,49324,11,49352,49352,11,49380,49380,11,49408,49408,11,49436,49436,11,49464,49464,11,49492,49492,11,49520,49520,11,49548,49548,11,49576,49576,11,49604,49604,11,49632,49632,11,49660,49660,11,49688,49688,11,49716,49716,11,49744,49744,11,49772,49772,11,49800,49800,11,49828,49828,11,49856,49856,11,49884,49884,11,49912,49912,11,49940,49940,11,49968,49968,11,49996,49996,11,50024,50024,11,50052,50052,11,50080,50080,11,50108,50108,11,50136,50136,11,50164,50164,11,50192,50192,11,50220,50220,11,50248,50248,11,50276,50276,11,50304,50304,11,50332,50332,11,50360,50360,11,50388,50388,11,50416,50416,11,50444,50444,11,50472,50472,11,50500,50500,11,50528,50528,11,50556,50556,11,50584,50584,11,50612,50612,11,50640,50640,11,50668,50668,11,50696,50696,11,50724,50724,11,50752,50752,11,50780,50780,11,50808,50808,11,50836,50836,11,50864,50864,11,50892,50892,11,50920,50920,11,50948,50948,11,50976,50976,11,51004,51004,11,51032,51032,11,51060,51060,11,51088,51088,11,51116,51116,11,51144,51144,11,51172,51172,11,51200,51200,11,51228,51228,11,51256,51256,11,51284,51284,11,51312,51312,11,51340,51340,11,51368,51368,11,51396,51396,11,51424,51424,11,51452,51452,11,51480,51480,11,51508,51508,11,51536,51536,11,51564,51564,11,51592,51592,11,51620,51620,11,51648,51648,11,51676,51676,11,51704,51704,11,51732,51732,11,51760,51760,11,51788,51788,11,51816,51816,11,51844,51844,11,51872,51872,11,51900,51900,11,51928,51928,11,51956,51956,11,51984,51984,11,52012,52012,11,52040,52040,11,52068,52068,11,52096,52096,11,52124,52124,11,52152,52152,11,52180,52180,11,52208,52208,11,52236,52236,11,52264,52264,11,52292,52292,11,52320,52320,11,52348,52348,11,52376,52376,11,52404,52404,11,52432,52432,11,52460,52460,11,52488,52488,11,52516,52516,11,52544,52544,11,52572,52572,11,52600,52600,11,52628,52628,11,52656,52656,11,52684,52684,11,52712,52712,11,52740,52740,11,52768,52768,11,52796,52796,11,52824,52824,11,52852,52852,11,52880,52880,11,52908,52908,11,52936,52936,11,52964,52964,11,52992,52992,11,53020,53020,11,53048,53048,11,53076,53076,11,53104,53104,11,53132,53132,11,53160,53160,11,53188,53188,11,53216,53216,11,53244,53244,11,53272,53272,11,53300,53300,11,53328,53328,11,53356,53356,11,53384,53384,11,53412,53412,11,53440,53440,11,53468,53468,11,53496,53496,11,53524,53524,11,53552,53552,11,53580,53580,11,53608,53608,11,53636,53636,11,53664,53664,11,53692,53692,11,53720,53720,11,53748,53748,11,53776,53776,11,53804,53804,11,53832,53832,11,53860,53860,11,53888,53888,11,53916,53916,11,53944,53944,11,53972,53972,11,54000,54000,11,54028,54028,11,54056,54056,11,54084,54084,11,54112,54112,11,54140,54140,11,54168,54168,11,54196,54196,11,54224,54224,11,54252,54252,11,54280,54280,11,54308,54308,11,54336,54336,11,54364,54364,11,54392,54392,11,54420,54420,11,54448,54448,11,54476,54476,11,54504,54504,11,54532,54532,11,54560,54560,11,54588,54588,11,54616,54616,11,54644,54644,11,54672,54672,11,54700,54700,11,54728,54728,11,54756,54756,11,54784,54784,11,54812,54812,11,54840,54840,11,54868,54868,11,54896,54896,11,54924,54924,11,54952,54952,11,54980,54980,11,55008,55008,11,55036,55036,11,55064,55064,11,55092,55092,11,55120,55120,11,55148,55148,11,55176,55176,11,55216,55238,9,64286,64286,5,65056,65071,5,65438,65439,5,65529,65531,4,66272,66272,5,68097,68099,5,68108,68111,5,68159,68159,5,68900,68903,5,69446,69456,5,69632,69632,7,69634,69634,7,69744,69744,5,69759,69761,5,69808,69810,7,69815,69816,7,69821,69821,1,69837,69837,1,69927,69931,5,69933,69940,5,70003,70003,5,70018,70018,7,70070,70078,5,70082,70083,1,70094,70094,7,70188,70190,7,70194,70195,7,70197,70197,7,70206,70206,5,70368,70370,7,70400,70401,5,70459,70460,5,70463,70463,7,70465,70468,7,70475,70477,7,70498,70499,7,70512,70516,5,70712,70719,5,70722,70724,5,70726,70726,5,70832,70832,5,70835,70840,5,70842,70842,5,70845,70845,5,70847,70848,5,70850,70851,5,71088,71089,7,71096,71099,7,71102,71102,7,71132,71133,5,71219,71226,5,71229,71229,5,71231,71232,5,71340,71340,7,71342,71343,7,71350,71350,7,71453,71455,5,71462,71462,7,71724,71726,7,71736,71736,7,71984,71984,5,71991,71992,7,71997,71997,7,71999,71999,1,72001,72001,1,72003,72003,5,72148,72151,5,72156,72159,7,72164,72164,7,72243,72248,5,72250,72250,1,72263,72263,5,72279,72280,7,72324,72329,1,72343,72343,7,72751,72751,7,72760,72765,5,72767,72767,5,72873,72873,7,72881,72881,7,72884,72884,7,73009,73014,5,73020,73021,5,73030,73030,1,73098,73102,7,73107,73108,7,73110,73110,7,73459,73460,5,78896,78904,4,92976,92982,5,94033,94087,7,94180,94180,5,113821,113822,5,118528,118573,5,119141,119141,5,119143,119145,5,119150,119154,5,119163,119170,5,119210,119213,5,121344,121398,5,121461,121461,5,121499,121503,5,122880,122886,5,122907,122913,5,122918,122922,5,123566,123566,5,125136,125142,5,126976,126979,14,126981,127182,14,127184,127231,14,127279,127279,14,127344,127345,14,127374,127374,14,127405,127461,14,127489,127490,14,127514,127514,14,127538,127546,14,127561,127567,14,127570,127743,14,127757,127758,14,127760,127760,14,127762,127762,14,127766,127768,14,127770,127770,14,127772,127772,14,127775,127776,14,127778,127779,14,127789,127791,14,127794,127795,14,127798,127798,14,127819,127819,14,127824,127824,14,127868,127868,14,127870,127871,14,127892,127893,14,127896,127896,14,127900,127901,14,127904,127940,14,127942,127942,14,127944,127944,14,127946,127946,14,127951,127955,14,127968,127971,14,127973,127984,14,127987,127987,14,127989,127989,14,127991,127991,14,127995,127999,5,128008,128008,14,128012,128014,14,128017,128018,14,128020,128020,14,128022,128022,14,128042,128042,14,128063,128063,14,128065,128065,14,128101,128101,14,128108,128109,14,128173,128173,14,128182,128183,14,128236,128237,14,128239,128239,14,128245,128245,14,128248,128248,14,128253,128253,14,128255,128258,14,128260,128263,14,128265,128265,14,128277,128277,14,128300,128301,14,128326,128328,14,128331,128334,14,128336,128347,14,128360,128366,14,128369,128370,14,128378,128378,14,128391,128391,14,128394,128397,14,128400,128400,14,128405,128406,14,128420,128420,14,128422,128423,14,128425,128432,14,128435,128443,14,128445,128449,14,128453,128464,14,128468,128475,14,128479,128480,14,128482,128482,14,128484,128487,14,128489,128494,14,128496,128498,14,128500,128505,14,128507,128511,14,128513,128518,14,128521,128525,14,128527,128527,14,128529,128529,14,128533,128533,14,128535,128535,14,128537,128537,14]")}function le(Y,ne){if(Y===0)return 0;const ge=x(Y,ne);if(ge!==void 0)return ge;const fe=new F(ne,Y);return fe.prevCodePoint(),fe.offset}e.getLeftDeleteOffset=le;function x(Y,ne){const ge=new F(ne,Y);let fe=ge.prevCodePoint();for(;H(fe)||fe===65039||fe===8419;){if(ge.offset===0)return;fe=ge.prevCodePoint()}if(!V(fe))return;let ce=ge.offset;return ce>0&&ge.prevCodePoint()===8205&&(ce=ge.offset),ce}function H(Y){return 127995<=Y&&Y<=127999}e.noBreakWhitespace="\xA0";class U{constructor(ne){this.confusableDictionary=ne}static getInstance(ne){return U.cache.get(Array.from(ne))}static getLocales(){return U._locales.getValue()}isAmbiguous(ne){return this.confusableDictionary.has(ne)}getPrimaryConfusable(ne){return this.confusableDictionary.get(ne)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}}e.AmbiguousCharacters=U,k=U,U.ambiguousCharacterData=new m.Lazy(()=>JSON.parse('{"_common":[8232,32,8233,32,5760,32,8192,32,8193,32,8194,32,8195,32,8196,32,8197,32,8198,32,8200,32,8201,32,8202,32,8287,32,8199,32,8239,32,2042,95,65101,95,65102,95,65103,95,8208,45,8209,45,8210,45,65112,45,1748,45,8259,45,727,45,8722,45,10134,45,11450,45,1549,44,1643,44,8218,44,184,44,42233,44,894,59,2307,58,2691,58,1417,58,1795,58,1796,58,5868,58,65072,58,6147,58,6153,58,8282,58,1475,58,760,58,42889,58,8758,58,720,58,42237,58,451,33,11601,33,660,63,577,63,2429,63,5038,63,42731,63,119149,46,8228,46,1793,46,1794,46,42510,46,68176,46,1632,46,1776,46,42232,46,1373,96,65287,96,8219,96,8242,96,1370,96,1523,96,8175,96,65344,96,900,96,8189,96,8125,96,8127,96,8190,96,697,96,884,96,712,96,714,96,715,96,756,96,699,96,701,96,700,96,702,96,42892,96,1497,96,2036,96,2037,96,5194,96,5836,96,94033,96,94034,96,65339,91,10088,40,10098,40,12308,40,64830,40,65341,93,10089,41,10099,41,12309,41,64831,41,10100,123,119060,123,10101,125,65342,94,8270,42,1645,42,8727,42,66335,42,5941,47,8257,47,8725,47,8260,47,9585,47,10187,47,10744,47,119354,47,12755,47,12339,47,11462,47,20031,47,12035,47,65340,92,65128,92,8726,92,10189,92,10741,92,10745,92,119311,92,119355,92,12756,92,20022,92,12034,92,42872,38,708,94,710,94,5869,43,10133,43,66203,43,8249,60,10094,60,706,60,119350,60,5176,60,5810,60,5120,61,11840,61,12448,61,42239,61,8250,62,10095,62,707,62,119351,62,5171,62,94015,62,8275,126,732,126,8128,126,8764,126,65372,124,65293,45,120784,50,120794,50,120804,50,120814,50,120824,50,130034,50,42842,50,423,50,1000,50,42564,50,5311,50,42735,50,119302,51,120785,51,120795,51,120805,51,120815,51,120825,51,130035,51,42923,51,540,51,439,51,42858,51,11468,51,1248,51,94011,51,71882,51,120786,52,120796,52,120806,52,120816,52,120826,52,130036,52,5070,52,71855,52,120787,53,120797,53,120807,53,120817,53,120827,53,130037,53,444,53,71867,53,120788,54,120798,54,120808,54,120818,54,120828,54,130038,54,11474,54,5102,54,71893,54,119314,55,120789,55,120799,55,120809,55,120819,55,120829,55,130039,55,66770,55,71878,55,2819,56,2538,56,2666,56,125131,56,120790,56,120800,56,120810,56,120820,56,120830,56,130040,56,547,56,546,56,66330,56,2663,57,2920,57,2541,57,3437,57,120791,57,120801,57,120811,57,120821,57,120831,57,130041,57,42862,57,11466,57,71884,57,71852,57,71894,57,9082,97,65345,97,119834,97,119886,97,119938,97,119990,97,120042,97,120094,97,120146,97,120198,97,120250,97,120302,97,120354,97,120406,97,120458,97,593,97,945,97,120514,97,120572,97,120630,97,120688,97,120746,97,65313,65,119808,65,119860,65,119912,65,119964,65,120016,65,120068,65,120120,65,120172,65,120224,65,120276,65,120328,65,120380,65,120432,65,913,65,120488,65,120546,65,120604,65,120662,65,120720,65,5034,65,5573,65,42222,65,94016,65,66208,65,119835,98,119887,98,119939,98,119991,98,120043,98,120095,98,120147,98,120199,98,120251,98,120303,98,120355,98,120407,98,120459,98,388,98,5071,98,5234,98,5551,98,65314,66,8492,66,119809,66,119861,66,119913,66,120017,66,120069,66,120121,66,120173,66,120225,66,120277,66,120329,66,120381,66,120433,66,42932,66,914,66,120489,66,120547,66,120605,66,120663,66,120721,66,5108,66,5623,66,42192,66,66178,66,66209,66,66305,66,65347,99,8573,99,119836,99,119888,99,119940,99,119992,99,120044,99,120096,99,120148,99,120200,99,120252,99,120304,99,120356,99,120408,99,120460,99,7428,99,1010,99,11429,99,43951,99,66621,99,128844,67,71922,67,71913,67,65315,67,8557,67,8450,67,8493,67,119810,67,119862,67,119914,67,119966,67,120018,67,120174,67,120226,67,120278,67,120330,67,120382,67,120434,67,1017,67,11428,67,5087,67,42202,67,66210,67,66306,67,66581,67,66844,67,8574,100,8518,100,119837,100,119889,100,119941,100,119993,100,120045,100,120097,100,120149,100,120201,100,120253,100,120305,100,120357,100,120409,100,120461,100,1281,100,5095,100,5231,100,42194,100,8558,68,8517,68,119811,68,119863,68,119915,68,119967,68,120019,68,120071,68,120123,68,120175,68,120227,68,120279,68,120331,68,120383,68,120435,68,5024,68,5598,68,5610,68,42195,68,8494,101,65349,101,8495,101,8519,101,119838,101,119890,101,119942,101,120046,101,120098,101,120150,101,120202,101,120254,101,120306,101,120358,101,120410,101,120462,101,43826,101,1213,101,8959,69,65317,69,8496,69,119812,69,119864,69,119916,69,120020,69,120072,69,120124,69,120176,69,120228,69,120280,69,120332,69,120384,69,120436,69,917,69,120492,69,120550,69,120608,69,120666,69,120724,69,11577,69,5036,69,42224,69,71846,69,71854,69,66182,69,119839,102,119891,102,119943,102,119995,102,120047,102,120099,102,120151,102,120203,102,120255,102,120307,102,120359,102,120411,102,120463,102,43829,102,42905,102,383,102,7837,102,1412,102,119315,70,8497,70,119813,70,119865,70,119917,70,120021,70,120073,70,120125,70,120177,70,120229,70,120281,70,120333,70,120385,70,120437,70,42904,70,988,70,120778,70,5556,70,42205,70,71874,70,71842,70,66183,70,66213,70,66853,70,65351,103,8458,103,119840,103,119892,103,119944,103,120048,103,120100,103,120152,103,120204,103,120256,103,120308,103,120360,103,120412,103,120464,103,609,103,7555,103,397,103,1409,103,119814,71,119866,71,119918,71,119970,71,120022,71,120074,71,120126,71,120178,71,120230,71,120282,71,120334,71,120386,71,120438,71,1292,71,5056,71,5107,71,42198,71,65352,104,8462,104,119841,104,119945,104,119997,104,120049,104,120101,104,120153,104,120205,104,120257,104,120309,104,120361,104,120413,104,120465,104,1211,104,1392,104,5058,104,65320,72,8459,72,8460,72,8461,72,119815,72,119867,72,119919,72,120023,72,120179,72,120231,72,120283,72,120335,72,120387,72,120439,72,919,72,120494,72,120552,72,120610,72,120668,72,120726,72,11406,72,5051,72,5500,72,42215,72,66255,72,731,105,9075,105,65353,105,8560,105,8505,105,8520,105,119842,105,119894,105,119946,105,119998,105,120050,105,120102,105,120154,105,120206,105,120258,105,120310,105,120362,105,120414,105,120466,105,120484,105,618,105,617,105,953,105,8126,105,890,105,120522,105,120580,105,120638,105,120696,105,120754,105,1110,105,42567,105,1231,105,43893,105,5029,105,71875,105,65354,106,8521,106,119843,106,119895,106,119947,106,119999,106,120051,106,120103,106,120155,106,120207,106,120259,106,120311,106,120363,106,120415,106,120467,106,1011,106,1112,106,65322,74,119817,74,119869,74,119921,74,119973,74,120025,74,120077,74,120129,74,120181,74,120233,74,120285,74,120337,74,120389,74,120441,74,42930,74,895,74,1032,74,5035,74,5261,74,42201,74,119844,107,119896,107,119948,107,120000,107,120052,107,120104,107,120156,107,120208,107,120260,107,120312,107,120364,107,120416,107,120468,107,8490,75,65323,75,119818,75,119870,75,119922,75,119974,75,120026,75,120078,75,120130,75,120182,75,120234,75,120286,75,120338,75,120390,75,120442,75,922,75,120497,75,120555,75,120613,75,120671,75,120729,75,11412,75,5094,75,5845,75,42199,75,66840,75,1472,108,8739,73,9213,73,65512,73,1633,108,1777,73,66336,108,125127,108,120783,73,120793,73,120803,73,120813,73,120823,73,130033,73,65321,73,8544,73,8464,73,8465,73,119816,73,119868,73,119920,73,120024,73,120128,73,120180,73,120232,73,120284,73,120336,73,120388,73,120440,73,65356,108,8572,73,8467,108,119845,108,119897,108,119949,108,120001,108,120053,108,120105,73,120157,73,120209,73,120261,73,120313,73,120365,73,120417,73,120469,73,448,73,120496,73,120554,73,120612,73,120670,73,120728,73,11410,73,1030,73,1216,73,1493,108,1503,108,1575,108,126464,108,126592,108,65166,108,65165,108,1994,108,11599,73,5825,73,42226,73,93992,73,66186,124,66313,124,119338,76,8556,76,8466,76,119819,76,119871,76,119923,76,120027,76,120079,76,120131,76,120183,76,120235,76,120287,76,120339,76,120391,76,120443,76,11472,76,5086,76,5290,76,42209,76,93974,76,71843,76,71858,76,66587,76,66854,76,65325,77,8559,77,8499,77,119820,77,119872,77,119924,77,120028,77,120080,77,120132,77,120184,77,120236,77,120288,77,120340,77,120392,77,120444,77,924,77,120499,77,120557,77,120615,77,120673,77,120731,77,1018,77,11416,77,5047,77,5616,77,5846,77,42207,77,66224,77,66321,77,119847,110,119899,110,119951,110,120003,110,120055,110,120107,110,120159,110,120211,110,120263,110,120315,110,120367,110,120419,110,120471,110,1400,110,1404,110,65326,78,8469,78,119821,78,119873,78,119925,78,119977,78,120029,78,120081,78,120185,78,120237,78,120289,78,120341,78,120393,78,120445,78,925,78,120500,78,120558,78,120616,78,120674,78,120732,78,11418,78,42208,78,66835,78,3074,111,3202,111,3330,111,3458,111,2406,111,2662,111,2790,111,3046,111,3174,111,3302,111,3430,111,3664,111,3792,111,4160,111,1637,111,1781,111,65359,111,8500,111,119848,111,119900,111,119952,111,120056,111,120108,111,120160,111,120212,111,120264,111,120316,111,120368,111,120420,111,120472,111,7439,111,7441,111,43837,111,959,111,120528,111,120586,111,120644,111,120702,111,120760,111,963,111,120532,111,120590,111,120648,111,120706,111,120764,111,11423,111,4351,111,1413,111,1505,111,1607,111,126500,111,126564,111,126596,111,65259,111,65260,111,65258,111,65257,111,1726,111,64428,111,64429,111,64427,111,64426,111,1729,111,64424,111,64425,111,64423,111,64422,111,1749,111,3360,111,4125,111,66794,111,71880,111,71895,111,66604,111,1984,79,2534,79,2918,79,12295,79,70864,79,71904,79,120782,79,120792,79,120802,79,120812,79,120822,79,130032,79,65327,79,119822,79,119874,79,119926,79,119978,79,120030,79,120082,79,120134,79,120186,79,120238,79,120290,79,120342,79,120394,79,120446,79,927,79,120502,79,120560,79,120618,79,120676,79,120734,79,11422,79,1365,79,11604,79,4816,79,2848,79,66754,79,42227,79,71861,79,66194,79,66219,79,66564,79,66838,79,9076,112,65360,112,119849,112,119901,112,119953,112,120005,112,120057,112,120109,112,120161,112,120213,112,120265,112,120317,112,120369,112,120421,112,120473,112,961,112,120530,112,120544,112,120588,112,120602,112,120646,112,120660,112,120704,112,120718,112,120762,112,120776,112,11427,112,65328,80,8473,80,119823,80,119875,80,119927,80,119979,80,120031,80,120083,80,120187,80,120239,80,120291,80,120343,80,120395,80,120447,80,929,80,120504,80,120562,80,120620,80,120678,80,120736,80,11426,80,5090,80,5229,80,42193,80,66197,80,119850,113,119902,113,119954,113,120006,113,120058,113,120110,113,120162,113,120214,113,120266,113,120318,113,120370,113,120422,113,120474,113,1307,113,1379,113,1382,113,8474,81,119824,81,119876,81,119928,81,119980,81,120032,81,120084,81,120188,81,120240,81,120292,81,120344,81,120396,81,120448,81,11605,81,119851,114,119903,114,119955,114,120007,114,120059,114,120111,114,120163,114,120215,114,120267,114,120319,114,120371,114,120423,114,120475,114,43847,114,43848,114,7462,114,11397,114,43905,114,119318,82,8475,82,8476,82,8477,82,119825,82,119877,82,119929,82,120033,82,120189,82,120241,82,120293,82,120345,82,120397,82,120449,82,422,82,5025,82,5074,82,66740,82,5511,82,42211,82,94005,82,65363,115,119852,115,119904,115,119956,115,120008,115,120060,115,120112,115,120164,115,120216,115,120268,115,120320,115,120372,115,120424,115,120476,115,42801,115,445,115,1109,115,43946,115,71873,115,66632,115,65331,83,119826,83,119878,83,119930,83,119982,83,120034,83,120086,83,120138,83,120190,83,120242,83,120294,83,120346,83,120398,83,120450,83,1029,83,1359,83,5077,83,5082,83,42210,83,94010,83,66198,83,66592,83,119853,116,119905,116,119957,116,120009,116,120061,116,120113,116,120165,116,120217,116,120269,116,120321,116,120373,116,120425,116,120477,116,8868,84,10201,84,128872,84,65332,84,119827,84,119879,84,119931,84,119983,84,120035,84,120087,84,120139,84,120191,84,120243,84,120295,84,120347,84,120399,84,120451,84,932,84,120507,84,120565,84,120623,84,120681,84,120739,84,11430,84,5026,84,42196,84,93962,84,71868,84,66199,84,66225,84,66325,84,119854,117,119906,117,119958,117,120010,117,120062,117,120114,117,120166,117,120218,117,120270,117,120322,117,120374,117,120426,117,120478,117,42911,117,7452,117,43854,117,43858,117,651,117,965,117,120534,117,120592,117,120650,117,120708,117,120766,117,1405,117,66806,117,71896,117,8746,85,8899,85,119828,85,119880,85,119932,85,119984,85,120036,85,120088,85,120140,85,120192,85,120244,85,120296,85,120348,85,120400,85,120452,85,1357,85,4608,85,66766,85,5196,85,42228,85,94018,85,71864,85,8744,118,8897,118,65366,118,8564,118,119855,118,119907,118,119959,118,120011,118,120063,118,120115,118,120167,118,120219,118,120271,118,120323,118,120375,118,120427,118,120479,118,7456,118,957,118,120526,118,120584,118,120642,118,120700,118,120758,118,1141,118,1496,118,71430,118,43945,118,71872,118,119309,86,1639,86,1783,86,8548,86,119829,86,119881,86,119933,86,119985,86,120037,86,120089,86,120141,86,120193,86,120245,86,120297,86,120349,86,120401,86,120453,86,1140,86,11576,86,5081,86,5167,86,42719,86,42214,86,93960,86,71840,86,66845,86,623,119,119856,119,119908,119,119960,119,120012,119,120064,119,120116,119,120168,119,120220,119,120272,119,120324,119,120376,119,120428,119,120480,119,7457,119,1121,119,1309,119,1377,119,71434,119,71438,119,71439,119,43907,119,71919,87,71910,87,119830,87,119882,87,119934,87,119986,87,120038,87,120090,87,120142,87,120194,87,120246,87,120298,87,120350,87,120402,87,120454,87,1308,87,5043,87,5076,87,42218,87,5742,120,10539,120,10540,120,10799,120,65368,120,8569,120,119857,120,119909,120,119961,120,120013,120,120065,120,120117,120,120169,120,120221,120,120273,120,120325,120,120377,120,120429,120,120481,120,5441,120,5501,120,5741,88,9587,88,66338,88,71916,88,65336,88,8553,88,119831,88,119883,88,119935,88,119987,88,120039,88,120091,88,120143,88,120195,88,120247,88,120299,88,120351,88,120403,88,120455,88,42931,88,935,88,120510,88,120568,88,120626,88,120684,88,120742,88,11436,88,11613,88,5815,88,42219,88,66192,88,66228,88,66327,88,66855,88,611,121,7564,121,65369,121,119858,121,119910,121,119962,121,120014,121,120066,121,120118,121,120170,121,120222,121,120274,121,120326,121,120378,121,120430,121,120482,121,655,121,7935,121,43866,121,947,121,8509,121,120516,121,120574,121,120632,121,120690,121,120748,121,1199,121,4327,121,71900,121,65337,89,119832,89,119884,89,119936,89,119988,89,120040,89,120092,89,120144,89,120196,89,120248,89,120300,89,120352,89,120404,89,120456,89,933,89,978,89,120508,89,120566,89,120624,89,120682,89,120740,89,11432,89,1198,89,5033,89,5053,89,42220,89,94019,89,71844,89,66226,89,119859,122,119911,122,119963,122,120015,122,120067,122,120119,122,120171,122,120223,122,120275,122,120327,122,120379,122,120431,122,120483,122,7458,122,43923,122,71876,122,66293,90,71909,90,65338,90,8484,90,8488,90,119833,90,119885,90,119937,90,119989,90,120041,90,120197,90,120249,90,120301,90,120353,90,120405,90,120457,90,918,90,120493,90,120551,90,120609,90,120667,90,120725,90,5059,90,42204,90,71849,90,65282,34,65284,36,65285,37,65286,38,65290,42,65291,43,65294,46,65295,47,65296,48,65297,49,65298,50,65299,51,65300,52,65301,53,65302,54,65303,55,65304,56,65305,57,65308,60,65309,61,65310,62,65312,64,65316,68,65318,70,65319,71,65324,76,65329,81,65330,82,65333,85,65334,86,65335,87,65343,95,65346,98,65348,100,65350,102,65355,107,65357,109,65358,110,65361,113,65362,114,65364,116,65365,117,65367,119,65370,122,65371,123,65373,125],"_default":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"cs":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"de":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"es":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"fr":[65374,126,65306,58,65281,33,8216,96,8245,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"it":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ja":[8211,45,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65292,44,65307,59],"ko":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pl":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pt-BR":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"qps-ploc":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ru":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,305,105,921,73,1009,112,215,120,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"tr":[160,32,8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"zh-hans":[65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41],"zh-hant":[8211,45,65374,126,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65307,59]}')),U.cache=new L.LRUCachedComputed(Y=>{function ne(de){const me=new Map;for(let _e=0;_e<de.length;_e+=2)me.set(de[_e],de[_e+1]);return me}function ge(de,me){const _e=new Map(de);for(const[ye,ke]of me)_e.set(ye,ke);return _e}function fe(de,me){if(!de)return me;const _e=new Map;for(const[ye,ke]of de)me.has(ye)&&_e.set(ye,ke);return _e}const ce=k.ambiguousCharacterData.getValue();let he=Y.filter(de=>!de.startsWith("_")&&de in ce);he.length===0&&(he=["_default"]);let ve;for(const de of he){const me=ne(ce[de]);ve=fe(ve,me)}const Ce=ne(ce._common),be=ge(Ce,ve);return new U(be)}),U._locales=new m.Lazy(()=>Object.keys(U.ambiguousCharacterData.getValue()).filter(Y=>!Y.startsWith("_")));class Q{static getRawData(){return JSON.parse("[9,10,11,12,13,32,127,160,173,847,1564,4447,4448,6068,6069,6155,6156,6157,6158,7355,7356,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8203,8204,8205,8206,8207,8234,8235,8236,8237,8238,8239,8287,8288,8289,8290,8291,8292,8293,8294,8295,8296,8297,8298,8299,8300,8301,8302,8303,10240,12288,12644,65024,65025,65026,65027,65028,65029,65030,65031,65032,65033,65034,65035,65036,65037,65038,65039,65279,65440,65520,65521,65522,65523,65524,65525,65526,65527,65528,65532,78844,119155,119156,119157,119158,119159,119160,119161,119162,917504,917505,917506,917507,917508,917509,917510,917511,917512,917513,917514,917515,917516,917517,917518,917519,917520,917521,917522,917523,917524,917525,917526,917527,917528,917529,917530,917531,917532,917533,917534,917535,917536,917537,917538,917539,917540,917541,917542,917543,917544,917545,917546,917547,917548,917549,917550,917551,917552,917553,917554,917555,917556,917557,917558,917559,917560,917561,917562,917563,917564,917565,917566,917567,917568,917569,917570,917571,917572,917573,917574,917575,917576,917577,917578,917579,917580,917581,917582,917583,917584,917585,917586,917587,917588,917589,917590,917591,917592,917593,917594,917595,917596,917597,917598,917599,917600,917601,917602,917603,917604,917605,917606,917607,917608,917609,917610,917611,917612,917613,917614,917615,917616,917617,917618,917619,917620,917621,917622,917623,917624,917625,917626,917627,917628,917629,917630,917631,917760,917761,917762,917763,917764,917765,917766,917767,917768,917769,917770,917771,917772,917773,917774,917775,917776,917777,917778,917779,917780,917781,917782,917783,917784,917785,917786,917787,917788,917789,917790,917791,917792,917793,917794,917795,917796,917797,917798,917799,917800,917801,917802,917803,917804,917805,917806,917807,917808,917809,917810,917811,917812,917813,917814,917815,917816,917817,917818,917819,917820,917821,917822,917823,917824,917825,917826,917827,917828,917829,917830,917831,917832,917833,917834,917835,917836,917837,917838,917839,917840,917841,917842,917843,917844,917845,917846,917847,917848,917849,917850,917851,917852,917853,917854,917855,917856,917857,917858,917859,917860,917861,917862,917863,917864,917865,917866,917867,917868,917869,917870,917871,917872,917873,917874,917875,917876,917877,917878,917879,917880,917881,917882,917883,917884,917885,917886,917887,917888,917889,917890,917891,917892,917893,917894,917895,917896,917897,917898,917899,917900,917901,917902,917903,917904,917905,917906,917907,917908,917909,917910,917911,917912,917913,917914,917915,917916,917917,917918,917919,917920,917921,917922,917923,917924,917925,917926,917927,917928,917929,917930,917931,917932,917933,917934,917935,917936,917937,917938,917939,917940,917941,917942,917943,917944,917945,917946,917947,917948,917949,917950,917951,917952,917953,917954,917955,917956,917957,917958,917959,917960,917961,917962,917963,917964,917965,917966,917967,917968,917969,917970,917971,917972,917973,917974,917975,917976,917977,917978,917979,917980,917981,917982,917983,917984,917985,917986,917987,917988,917989,917990,917991,917992,917993,917994,917995,917996,917997,917998,917999]")}static getData(){return this._data||(this._data=new Set(Q.getRawData())),this._data}static isInvisibleCharacter(ne){return Q.getData().has(ne)}static get codePoints(){return Q.getData()}}e.InvisibleCharacters=Q,Q._data=void 0}),define(te[168],ie([1,0,84,16,8]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.hasDriveLetter=e.isRootOrDriveLetter=e.isWindowsDriveLetter=e.isEqualOrParent=e.getRoot=e.toPosixPath=e.toSlashes=e.isPathSeparator=void 0;function I(i){return i===47||i===92}e.isPathSeparator=I;function w(i){return i.replace(/[\\/]/g,L.posix.sep)}e.toSlashes=w;function b(i){return i.indexOf("/")===-1&&(i=w(i)),/^[a-zA-Z]:(\/|$)/.test(i)&&(i="/"+i),i}e.toPosixPath=b;function C(i,o=L.posix.sep){if(!i)return"";const c=i.length,d=i.charCodeAt(0);if(I(d)){if(I(i.charCodeAt(1))&&!I(i.charCodeAt(2))){let s=3;const a=s;for(;s<c&&!I(i.charCodeAt(s));s++);if(a!==s&&!I(i.charCodeAt(s+1))){for(s+=1;s<c;s++)if(I(i.charCodeAt(s)))return i.slice(0,s+1).replace(/[\\/]/g,o)}}return o}else if(g(d)&&i.charCodeAt(1)===58)return I(i.charCodeAt(2))?i.slice(0,2)+o:i.slice(0,2);let r=i.indexOf("://");if(r!==-1){for(r+=3;r<c;r++)if(I(i.charCodeAt(r)))return i.slice(0,r+1)}return""}e.getRoot=C;function u(i,o,c,d=L.sep){if(i===o)return!0;if(!i||!o||o.length>i.length)return!1;if(c){if(!(0,k.startsWithIgnoreCase)(i,o))return!1;if(o.length===i.length)return!0;let s=o.length;return o.charAt(o.length-1)===d&&s--,i.charAt(s)===d}return o.charAt(o.length-1)!==d&&(o+=d),i.indexOf(o)===0}e.isEqualOrParent=u;function g(i){return i>=65&&i<=90||i>=97&&i<=122}e.isWindowsDriveLetter=g;function t(i){const o=(0,L.normalize)(i);return m.isWindows?i.length>3?!1:n(o)&&(i.length===2||o.charCodeAt(2)===92):o===L.posix.sep}e.isRootOrDriveLetter=t;function n(i,o){return(o!==void 0?o:m.isWindows)?g(i.charCodeAt(0))&&i.charCodeAt(1)===58:!1}e.hasDriveLetter=n}),define(te[114],ie([1,0,8]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StringSHA1=e.toHexString=e.stringHash=e.numberHash=e.doHash=e.hash=void 0;function m(c){return k(c,0)}e.hash=m;function k(c,d){switch(typeof c){case"object":return c===null?I(349,d):Array.isArray(c)?C(c,d):u(c,d);case"string":return b(c,d);case"boolean":return w(c,d);case"number":return I(c,d);case"undefined":return I(937,d);default:return I(617,d)}}e.doHash=k;function I(c,d){return(d<<5)-d+c|0}e.numberHash=I;function w(c,d){return I(c?433:863,d)}function b(c,d){d=I(149417,d);for(let r=0,s=c.length;r<s;r++)d=I(c.charCodeAt(r),d);return d}e.stringHash=b;function C(c,d){return d=I(104579,d),c.reduce((r,s)=>k(s,r),d)}function u(c,d){return d=I(181387,d),Object.keys(c).sort().reduce((r,s)=>(r=b(s,r),k(c[s],r)),d)}function g(c,d,r=32){const s=r-d,a=~((1<<s)-1);return(c<<d|(a&c)>>>s)>>>0}function t(c,d=0,r=c.byteLength,s=0){for(let a=0;a<r;a++)c[d+a]=s}function n(c,d,r="0"){for(;c.length<d;)c=r+c;return c}function i(c,d=32){return c instanceof ArrayBuffer?Array.from(new Uint8Array(c)).map(r=>r.toString(16).padStart(2,"0")).join(""):n((c>>>0).toString(16),d/4)}e.toHexString=i;class o{constructor(){this._h0=1732584193,this._h1=4023233417,this._h2=2562383102,this._h3=271733878,this._h4=3285377520,this._buff=new Uint8Array(64+3),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}update(d){const r=d.length;if(r===0)return;const s=this._buff;let a=this._buffLen,l=this._leftoverHighSurrogate,h,f;for(l!==0?(h=l,f=-1,l=0):(h=d.charCodeAt(0),f=0);;){let S=h;if(L.isHighSurrogate(h))if(f+1<r){const v=d.charCodeAt(f+1);L.isLowSurrogate(v)?(f++,S=L.computeCodePoint(h,v)):S=65533}else{l=h;break}else L.isLowSurrogate(h)&&(S=65533);if(a=this._push(s,a,S),f++,f<r)h=d.charCodeAt(f);else break}this._buffLen=a,this._leftoverHighSurrogate=l}_push(d,r,s){return s<128?d[r++]=s:s<2048?(d[r++]=192|(s&1984)>>>6,d[r++]=128|(s&63)>>>0):s<65536?(d[r++]=224|(s&61440)>>>12,d[r++]=128|(s&4032)>>>6,d[r++]=128|(s&63)>>>0):(d[r++]=240|(s&1835008)>>>18,d[r++]=128|(s&258048)>>>12,d[r++]=128|(s&4032)>>>6,d[r++]=128|(s&63)>>>0),r>=64&&(this._step(),r-=64,this._totalLen+=64,d[0]=d[64+0],d[1]=d[64+1],d[2]=d[64+2]),r}digest(){return this._finished||(this._finished=!0,this._leftoverHighSurrogate&&(this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,65533)),this._totalLen+=this._buffLen,this._wrapUp()),i(this._h0)+i(this._h1)+i(this._h2)+i(this._h3)+i(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,t(this._buff,this._buffLen),this._buffLen>56&&(this._step(),t(this._buff));const d=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(d/4294967296),!1),this._buffDV.setUint32(60,d%4294967296,!1),this._step()}_step(){const d=o._bigBlock32,r=this._buffDV;for(let _=0;_<64;_+=4)d.setUint32(_,r.getUint32(_,!1),!1);for(let _=64;_<320;_+=4)d.setUint32(_,g(d.getUint32(_-12,!1)^d.getUint32(_-32,!1)^d.getUint32(_-56,!1)^d.getUint32(_-64,!1),1),!1);let s=this._h0,a=this._h1,l=this._h2,h=this._h3,f=this._h4,S,v,p;for(let _=0;_<80;_++)_<20?(S=a&l|~a&h,v=1518500249):_<40?(S=a^l^h,v=1859775393):_<60?(S=a&l|a&h|l&h,v=2400959708):(S=a^l^h,v=3395469782),p=g(s,5)+S+f+v+d.getUint32(_*4,!1)&4294967295,f=h,h=l,l=g(a,30),a=s,s=p;this._h0=this._h0+s&4294967295,this._h1=this._h1+a&4294967295,this._h2=this._h2+l&4294967295,this._h3=this._h3+h&4294967295,this._h4=this._h4+f&4294967295}}e.StringSHA1=o,o._bigBlock32=new DataView(new ArrayBuffer(320))}),define(te[141],ie([1,0,313,114]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LcsDiff=e.MyArray=e.Debug=e.stringDiff=e.StringDiffSequence=void 0;class k{constructor(t){this.source=t}getElements(){const t=this.source,n=new Int32Array(t.length);for(let i=0,o=t.length;i<o;i++)n[i]=t.charCodeAt(i);return n}}e.StringDiffSequence=k;function I(g,t,n){return new u(new k(g),new k(t)).ComputeDiff(n).changes}e.stringDiff=I;class w{static Assert(t,n){if(!t)throw new Error(n)}}e.Debug=w;class b{static Copy(t,n,i,o,c){for(let d=0;d<c;d++)i[o+d]=t[n+d]}static Copy2(t,n,i,o,c){for(let d=0;d<c;d++)i[o+d]=t[n+d]}}e.MyArray=b;class C{constructor(){this.m_changes=[],this.m_originalStart=1073741824,this.m_modifiedStart=1073741824,this.m_originalCount=0,this.m_modifiedCount=0}MarkNextChange(){(this.m_originalCount>0||this.m_modifiedCount>0)&&this.m_changes.push(new L.DiffChange(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(t,n){this.m_originalStart=Math.min(this.m_originalStart,t),this.m_modifiedStart=Math.min(this.m_modifiedStart,n),this.m_originalCount++}AddModifiedElement(t,n){this.m_originalStart=Math.min(this.m_originalStart,t),this.m_modifiedStart=Math.min(this.m_modifiedStart,n),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}}class u{constructor(t,n,i=null){this.ContinueProcessingPredicate=i,this._originalSequence=t,this._modifiedSequence=n;const[o,c,d]=u._getElements(t),[r,s,a]=u._getElements(n);this._hasStrings=d&&a,this._originalStringElements=o,this._originalElementsOrHash=c,this._modifiedStringElements=r,this._modifiedElementsOrHash=s,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(t){return t.length>0&&typeof t[0]=="string"}static _getElements(t){const n=t.getElements();if(u._isStringArray(n)){const i=new Int32Array(n.length);for(let o=0,c=n.length;o<c;o++)i[o]=(0,m.stringHash)(n[o],0);return[n,i,!0]}return n instanceof Int32Array?[[],n,!1]:[[],new Int32Array(n),!1]}ElementsAreEqual(t,n){return this._originalElementsOrHash[t]!==this._modifiedElementsOrHash[n]?!1:this._hasStrings?this._originalStringElements[t]===this._modifiedStringElements[n]:!0}ElementsAreStrictEqual(t,n){if(!this.ElementsAreEqual(t,n))return!1;const i=u._getStrictElement(this._originalSequence,t),o=u._getStrictElement(this._modifiedSequence,n);return i===o}static _getStrictElement(t,n){return typeof t.getStrictElement=="function"?t.getStrictElement(n):null}OriginalElementsAreEqual(t,n){return this._originalElementsOrHash[t]!==this._originalElementsOrHash[n]?!1:this._hasStrings?this._originalStringElements[t]===this._originalStringElements[n]:!0}ModifiedElementsAreEqual(t,n){return this._modifiedElementsOrHash[t]!==this._modifiedElementsOrHash[n]?!1:this._hasStrings?this._modifiedStringElements[t]===this._modifiedStringElements[n]:!0}ComputeDiff(t){return this._ComputeDiff(0,this._originalElementsOrHash.length-1,0,this._modifiedElementsOrHash.length-1,t)}_ComputeDiff(t,n,i,o,c){const d=[!1];let r=this.ComputeDiffRecursive(t,n,i,o,d);return c&&(r=this.PrettifyChanges(r)),{quitEarly:d[0],changes:r}}ComputeDiffRecursive(t,n,i,o,c){for(c[0]=!1;t<=n&&i<=o&&this.ElementsAreEqual(t,i);)t++,i++;for(;n>=t&&o>=i&&this.ElementsAreEqual(n,o);)n--,o--;if(t>n||i>o){let h;return i<=o?(w.Assert(t===n+1,"originalStart should only be one more than originalEnd"),h=[new L.DiffChange(t,0,i,o-i+1)]):t<=n?(w.Assert(i===o+1,"modifiedStart should only be one more than modifiedEnd"),h=[new L.DiffChange(t,n-t+1,i,0)]):(w.Assert(t===n+1,"originalStart should only be one more than originalEnd"),w.Assert(i===o+1,"modifiedStart should only be one more than modifiedEnd"),h=[]),h}const d=[0],r=[0],s=this.ComputeRecursionPoint(t,n,i,o,d,r,c),a=d[0],l=r[0];if(s!==null)return s;if(!c[0]){const h=this.ComputeDiffRecursive(t,a,i,l,c);let f=[];return c[0]?f=[new L.DiffChange(a+1,n-(a+1)+1,l+1,o-(l+1)+1)]:f=this.ComputeDiffRecursive(a+1,n,l+1,o,c),this.ConcatenateChanges(h,f)}return[new L.DiffChange(t,n-t+1,i,o-i+1)]}WALKTRACE(t,n,i,o,c,d,r,s,a,l,h,f,S,v,p,_,y,E){let N=null,D=null,M=new C,B=n,O=i,T=S[0]-_[0]-o,A=-1073741824,P=this.m_forwardHistory.length-1;do{const F=T+t;F===B||F<O&&a[F-1]<a[F+1]?(h=a[F+1],v=h-T-o,h<A&&M.MarkNextChange(),A=h,M.AddModifiedElement(h+1,v),T=F+1-t):(h=a[F-1]+1,v=h-T-o,h<A&&M.MarkNextChange(),A=h-1,M.AddOriginalElement(h,v+1),T=F-1-t),P>=0&&(a=this.m_forwardHistory[P],t=a[0],B=1,O=a.length-1)}while(--P>=-1);if(N=M.getReverseChanges(),E[0]){let F=S[0]+1,W=_[0]+1;if(N!==null&&N.length>0){const R=N[N.length-1];F=Math.max(F,R.getOriginalEnd()),W=Math.max(W,R.getModifiedEnd())}D=[new L.DiffChange(F,f-F+1,W,p-W+1)]}else{M=new C,B=d,O=r,T=S[0]-_[0]-s,A=1073741824,P=y?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const F=T+c;F===B||F<O&&l[F-1]>=l[F+1]?(h=l[F+1]-1,v=h-T-s,h>A&&M.MarkNextChange(),A=h+1,M.AddOriginalElement(h+1,v+1),T=F+1-c):(h=l[F-1],v=h-T-s,h>A&&M.MarkNextChange(),A=h,M.AddModifiedElement(h+1,v+1),T=F-1-c),P>=0&&(l=this.m_reverseHistory[P],c=l[0],B=1,O=l.length-1)}while(--P>=-1);D=M.getChanges()}return this.ConcatenateChanges(N,D)}ComputeRecursionPoint(t,n,i,o,c,d,r){let s=0,a=0,l=0,h=0,f=0,S=0;t--,i--,c[0]=0,d[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const v=n-t+(o-i),p=v+1,_=new Int32Array(p),y=new Int32Array(p),E=o-i,N=n-t,D=t-i,M=n-o,O=(N-E)%2==0;_[E]=t,y[N]=n,r[0]=!1;for(let T=1;T<=v/2+1;T++){let A=0,P=0;l=this.ClipDiagonalBound(E-T,T,E,p),h=this.ClipDiagonalBound(E+T,T,E,p);for(let W=l;W<=h;W+=2){W===l||W<h&&_[W-1]<_[W+1]?s=_[W+1]:s=_[W-1]+1,a=s-(W-E)-D;const R=s;for(;s<n&&a<o&&this.ElementsAreEqual(s+1,a+1);)s++,a++;if(_[W]=s,s+a>A+P&&(A=s,P=a),!O&&Math.abs(W-N)<=T-1&&s>=y[W])return c[0]=s,d[0]=a,R<=y[W]&&1447>0&&T<=1447+1?this.WALKTRACE(E,l,h,D,N,f,S,M,_,y,s,n,c,a,o,d,O,r):null}const F=(A-t+(P-i)-T)/2;if(this.ContinueProcessingPredicate!==null&&!this.ContinueProcessingPredicate(A,F))return r[0]=!0,c[0]=A,d[0]=P,F>0&&1447>0&&T<=1447+1?this.WALKTRACE(E,l,h,D,N,f,S,M,_,y,s,n,c,a,o,d,O,r):(t++,i++,[new L.DiffChange(t,n-t+1,i,o-i+1)]);f=this.ClipDiagonalBound(N-T,T,N,p),S=this.ClipDiagonalBound(N+T,T,N,p);for(let W=f;W<=S;W+=2){W===f||W<S&&y[W-1]>=y[W+1]?s=y[W+1]-1:s=y[W-1],a=s-(W-N)-M;const R=s;for(;s>t&&a>i&&this.ElementsAreEqual(s,a);)s--,a--;if(y[W]=s,O&&Math.abs(W-E)<=T&&s<=_[W])return c[0]=s,d[0]=a,R>=_[W]&&1447>0&&T<=1447+1?this.WALKTRACE(E,l,h,D,N,f,S,M,_,y,s,n,c,a,o,d,O,r):null}if(T<=1447){let W=new Int32Array(h-l+2);W[0]=E-l+1,b.Copy2(_,l,W,1,h-l+1),this.m_forwardHistory.push(W),W=new Int32Array(S-f+2),W[0]=N-f+1,b.Copy2(y,f,W,1,S-f+1),this.m_reverseHistory.push(W)}}return this.WALKTRACE(E,l,h,D,N,f,S,M,_,y,s,n,c,a,o,d,O,r)}PrettifyChanges(t){for(let n=0;n<t.length;n++){const i=t[n],o=n<t.length-1?t[n+1].originalStart:this._originalElementsOrHash.length,c=n<t.length-1?t[n+1].modifiedStart:this._modifiedElementsOrHash.length,d=i.originalLength>0,r=i.modifiedLength>0;for(;i.originalStart+i.originalLength<o&&i.modifiedStart+i.modifiedLength<c&&(!d||this.OriginalElementsAreEqual(i.originalStart,i.originalStart+i.originalLength))&&(!r||this.ModifiedElementsAreEqual(i.modifiedStart,i.modifiedStart+i.modifiedLength));){const a=this.ElementsAreStrictEqual(i.originalStart,i.modifiedStart);if(this.ElementsAreStrictEqual(i.originalStart+i.originalLength,i.modifiedStart+i.modifiedLength)&&!a)break;i.originalStart++,i.modifiedStart++}let s=[null];if(n<t.length-1&&this.ChangesOverlap(t[n],t[n+1],s)){t[n]=s[0],t.splice(n+1,1),n--;continue}}for(let n=t.length-1;n>=0;n--){const i=t[n];let o=0,c=0;if(n>0){const h=t[n-1];o=h.originalStart+h.originalLength,c=h.modifiedStart+h.modifiedLength}const d=i.originalLength>0,r=i.modifiedLength>0;let s=0,a=this._boundaryScore(i.originalStart,i.originalLength,i.modifiedStart,i.modifiedLength);for(let h=1;;h++){const f=i.originalStart-h,S=i.modifiedStart-h;if(f<o||S<c||d&&!this.OriginalElementsAreEqual(f,f+i.originalLength)||r&&!this.ModifiedElementsAreEqual(S,S+i.modifiedLength))break;const p=(f===o&&S===c?5:0)+this._boundaryScore(f,i.originalLength,S,i.modifiedLength);p>a&&(a=p,s=h)}i.originalStart-=s,i.modifiedStart-=s;const l=[null];if(n>0&&this.ChangesOverlap(t[n-1],t[n],l)){t[n-1]=l[0],t.splice(n,1),n++;continue}}if(this._hasStrings)for(let n=1,i=t.length;n<i;n++){const o=t[n-1],c=t[n],d=c.originalStart-o.originalStart-o.originalLength,r=o.originalStart,s=c.originalStart+c.originalLength,a=s-r,l=o.modifiedStart,h=c.modifiedStart+c.modifiedLength,f=h-l;if(d<5&&a<20&&f<20){const S=this._findBetterContiguousSequence(r,a,l,f,d);if(S){const[v,p]=S;(v!==o.originalStart+o.originalLength||p!==o.modifiedStart+o.modifiedLength)&&(o.originalLength=v-o.originalStart,o.modifiedLength=p-o.modifiedStart,c.originalStart=v+d,c.modifiedStart=p+d,c.originalLength=s-c.originalStart,c.modifiedLength=h-c.modifiedStart)}}}return t}_findBetterContiguousSequence(t,n,i,o,c){if(n<c||o<c)return null;const d=t+n-c+1,r=i+o-c+1;let s=0,a=0,l=0;for(let h=t;h<d;h++)for(let f=i;f<r;f++){const S=this._contiguousSequenceScore(h,f,c);S>0&&S>s&&(s=S,a=h,l=f)}return s>0?[a,l]:null}_contiguousSequenceScore(t,n,i){let o=0;for(let c=0;c<i;c++){if(!this.ElementsAreEqual(t+c,n+c))return 0;o+=this._originalStringElements[t+c].length}return o}_OriginalIsBoundary(t){return t<=0||t>=this._originalElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._originalStringElements[t])}_OriginalRegionIsBoundary(t,n){if(this._OriginalIsBoundary(t)||this._OriginalIsBoundary(t-1))return!0;if(n>0){const i=t+n;if(this._OriginalIsBoundary(i-1)||this._OriginalIsBoundary(i))return!0}return!1}_ModifiedIsBoundary(t){return t<=0||t>=this._modifiedElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[t])}_ModifiedRegionIsBoundary(t,n){if(this._ModifiedIsBoundary(t)||this._ModifiedIsBoundary(t-1))return!0;if(n>0){const i=t+n;if(this._ModifiedIsBoundary(i-1)||this._ModifiedIsBoundary(i))return!0}return!1}_boundaryScore(t,n,i,o){const c=this._OriginalRegionIsBoundary(t,n)?1:0,d=this._ModifiedRegionIsBoundary(i,o)?1:0;return c+d}ConcatenateChanges(t,n){let i=[];if(t.length===0||n.length===0)return n.length>0?n:t;if(this.ChangesOverlap(t[t.length-1],n[0],i)){const o=new Array(t.length+n.length-1);return b.Copy(t,0,o,0,t.length-1),o[t.length-1]=i[0],b.Copy(n,1,o,t.length,n.length-1),o}else{const o=new Array(t.length+n.length);return b.Copy(t,0,o,0,t.length),b.Copy(n,0,o,t.length,n.length),o}}ChangesOverlap(t,n,i){if(w.Assert(t.originalStart<=n.originalStart,"Left change is not less than or equal to right change"),w.Assert(t.modifiedStart<=n.modifiedStart,"Left change is not less than or equal to right change"),t.originalStart+t.originalLength>=n.originalStart||t.modifiedStart+t.modifiedLength>=n.modifiedStart){const o=t.originalStart;let c=t.originalLength;const d=t.modifiedStart;let r=t.modifiedLength;return t.originalStart+t.originalLength>=n.originalStart&&(c=n.originalStart+n.originalLength-t.originalStart),t.modifiedStart+t.modifiedLength>=n.modifiedStart&&(r=n.modifiedStart+n.modifiedLength-t.modifiedStart),i[0]=new L.DiffChange(o,c,d,r),!0}else return i[0]=null,!1}ClipDiagonalBound(t,n,i,o){if(t>=0&&t<o)return t;const c=i,d=o-i-1,r=n%2==0;if(t<0){const s=c%2==0;return r===s?0:1}else{const s=d%2==0;return r===s?o-1:o-2}}}e.LcsDiff=u}),define(te[169],ie([1,0,111,18,10,141,4,57]),function(q,e,L,m,k,I,w,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IndexTreeModel=e.getVisibleState=e.isFilterResult=void 0;function C(n){return typeof n=="object"&&"visibility"in n&&"data"in n}e.isFilterResult=C;function u(n){switch(n){case!0:return 1;case!1:return 0;default:return n}}e.getVisibleState=u;function g(n){return typeof n.collapsible=="boolean"}class t{constructor(i,o,c,d={}){this.user=i,this.list=o,this.rootRef=[],this.eventBufferer=new w.EventBufferer,this._onDidChangeCollapseState=new w.Emitter,this.onDidChangeCollapseState=this.eventBufferer.wrapEvent(this._onDidChangeCollapseState.event),this._onDidChangeRenderNodeCount=new w.Emitter,this.onDidChangeRenderNodeCount=this.eventBufferer.wrapEvent(this._onDidChangeRenderNodeCount.event),this._onDidSplice=new w.Emitter,this.onDidSplice=this._onDidSplice.event,this.refilterDelayer=new k.Delayer(k.MicrotaskDelay),this.collapseByDefault=typeof d.collapseByDefault=="undefined"?!1:d.collapseByDefault,this.filter=d.filter,this.autoExpandSingleChildren=typeof d.autoExpandSingleChildren=="undefined"?!1:d.autoExpandSingleChildren,this.root={parent:void 0,element:c,children:[],depth:0,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:!1,collapsed:!1,renderNodeCount:0,visibility:1,visible:!0,filterData:void 0}}splice(i,o,c=b.Iterable.empty(),d={}){if(i.length===0)throw new L.TreeError(this.user,"Invalid tree location");d.diffIdentityProvider?this.spliceSmart(d.diffIdentityProvider,i,o,c,d):this.spliceSimple(i,o,c,d)}spliceSmart(i,o,c,d,r,s){var a;d===void 0&&(d=b.Iterable.empty()),s===void 0&&(s=(a=r.diffDepth)!==null&&a!==void 0?a:0);const{parentNode:l}=this.getParentNodeWithListIndex(o);if(!l.lastDiffIds)return this.spliceSimple(o,c,d,r);const h=[...d],f=o[o.length-1],S=new I.LcsDiff({getElements:()=>l.lastDiffIds},{getElements:()=>[...l.children.slice(0,f),...h,...l.children.slice(f+c)].map(E=>i.getId(E.element).toString())}).ComputeDiff(!1);if(S.quitEarly)return l.lastDiffIds=void 0,this.spliceSimple(o,c,h,r);const v=o.slice(0,-1),p=(E,N,D)=>{if(s>0)for(let M=0;M<D;M++)E--,N--,this.spliceSmart(i,[...v,E,0],Number.MAX_SAFE_INTEGER,h[N].children,r,s-1)};let _=Math.min(l.children.length,f+c),y=h.length;for(const E of S.changes.sort((N,D)=>D.originalStart-N.originalStart))p(_,y,_-(E.originalStart+E.originalLength)),_=E.originalStart,y=E.modifiedStart-f,this.spliceSimple([...v,_],E.originalLength,b.Iterable.slice(h,y,y+E.modifiedLength),r);p(_,y,_)}spliceSimple(i,o,c=b.Iterable.empty(),{onDidCreateNode:d,onDidDeleteNode:r,diffIdentityProvider:s}){const{parentNode:a,listIndex:l,revealed:h,visible:f}=this.getParentNodeWithListIndex(i),S=[],v=b.Iterable.map(c,A=>this.createTreeNode(A,a,a.visible?1:0,h,S,d)),p=i[i.length-1],_=a.children.length>0;let y=0;for(let A=p;A>=0&&A<a.children.length;A--){const P=a.children[A];if(P.visible){y=P.visibleChildIndex;break}}const E=[];let N=0,D=0;for(const A of v)E.push(A),D+=A.renderNodeCount,A.visible&&(A.visibleChildIndex=y+N++);const M=(0,m.splice)(a.children,p,o,E);s?a.lastDiffIds?(0,m.splice)(a.lastDiffIds,p,o,E.map(A=>s.getId(A.element).toString())):a.lastDiffIds=a.children.map(A=>s.getId(A.element).toString()):a.lastDiffIds=void 0;let B=0;for(const A of M)A.visible&&B++;if(B!==0)for(let A=p+E.length;A<a.children.length;A++){const P=a.children[A];P.visible&&(P.visibleChildIndex-=B)}if(a.visibleChildrenCount+=N-B,h&&f){const A=M.reduce((P,F)=>P+(F.visible?F.renderNodeCount:0),0);this._updateAncestorsRenderNodeCount(a,D-A),this.list.splice(l,A,S)}if(M.length>0&&r){const A=P=>{r(P),P.children.forEach(A)};M.forEach(A)}this._onDidSplice.fire({insertedNodes:E,deletedNodes:M});const O=a.children.length>0;_!==O&&this.setCollapsible(i.slice(0,-1),O);let T=a;for(;T;){if(T.visibility===2){this.refilterDelayer.trigger(()=>this.refilter());break}T=T.parent}}rerender(i){if(i.length===0)throw new L.TreeError(this.user,"Invalid tree location");const{node:o,listIndex:c,revealed:d}=this.getTreeNodeWithListIndex(i);o.visible&&d&&this.list.splice(c,1,[o])}has(i){return this.hasTreeNode(i)}getListIndex(i){const{listIndex:o,visible:c,revealed:d}=this.getTreeNodeWithListIndex(i);return c&&d?o:-1}getListRenderCount(i){return this.getTreeNode(i).renderNodeCount}isCollapsible(i){return this.getTreeNode(i).collapsible}setCollapsible(i,o){const c=this.getTreeNode(i);typeof o=="undefined"&&(o=!c.collapsible);const d={collapsible:o};return this.eventBufferer.bufferEvents(()=>this._setCollapseState(i,d))}isCollapsed(i){return this.getTreeNode(i).collapsed}setCollapsed(i,o,c){const d=this.getTreeNode(i);typeof o=="undefined"&&(o=!d.collapsed);const r={collapsed:o,recursive:c||!1};return this.eventBufferer.bufferEvents(()=>this._setCollapseState(i,r))}_setCollapseState(i,o){const{node:c,listIndex:d,revealed:r}=this.getTreeNodeWithListIndex(i),s=this._setListNodeCollapseState(c,d,r,o);if(c!==this.root&&this.autoExpandSingleChildren&&s&&!g(o)&&c.collapsible&&!c.collapsed&&!o.recursive){let a=-1;for(let l=0;l<c.children.length;l++)if(c.children[l].visible)if(a>-1){a=-1;break}else a=l;a>-1&&this._setCollapseState([...i,a],o)}return s}_setListNodeCollapseState(i,o,c,d){const r=this._setNodeCollapseState(i,d,!1);if(!c||!i.visible||!r)return r;const s=i.renderNodeCount,a=this.updateNodeAfterCollapseChange(i),l=s-(o===-1?0:1);return this.list.splice(o+1,l,a.slice(1)),r}_setNodeCollapseState(i,o,c){let d;if(i===this.root?d=!1:(g(o)?(d=i.collapsible!==o.collapsible,i.collapsible=o.collapsible):i.collapsible?(d=i.collapsed!==o.collapsed,i.collapsed=o.collapsed):d=!1,d&&this._onDidChangeCollapseState.fire({node:i,deep:c})),!g(o)&&o.recursive)for(const r of i.children)d=this._setNodeCollapseState(r,o,!0)||d;return d}expandTo(i){this.eventBufferer.bufferEvents(()=>{let o=this.getTreeNode(i);for(;o.parent;)o=o.parent,i=i.slice(0,i.length-1),o.collapsed&&this._setCollapseState(i,{collapsed:!1,recursive:!1})})}refilter(){const i=this.root.renderNodeCount,o=this.updateNodeAfterFilterChange(this.root);this.list.splice(0,i,o),this.refilterDelayer.cancel()}createTreeNode(i,o,c,d,r,s){const a={parent:o,element:i.element,children:[],depth:o.depth+1,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:typeof i.collapsible=="boolean"?i.collapsible:typeof i.collapsed!="undefined",collapsed:typeof i.collapsed=="undefined"?this.collapseByDefault:i.collapsed,renderNodeCount:1,visibility:1,visible:!0,filterData:void 0},l=this._filterNode(a,c);a.visibility=l,d&&r.push(a);const h=i.children||b.Iterable.empty(),f=d&&l!==0&&!a.collapsed,S=b.Iterable.map(h,_=>this.createTreeNode(_,a,l,f,r,s));let v=0,p=1;for(const _ of S)a.children.push(_),p+=_.renderNodeCount,_.visible&&(_.visibleChildIndex=v++);return a.collapsible=a.collapsible||a.children.length>0,a.visibleChildrenCount=v,a.visible=l===2?v>0:l===1,a.visible?a.collapsed||(a.renderNodeCount=p):(a.renderNodeCount=0,d&&r.pop()),s&&s(a),a}updateNodeAfterCollapseChange(i){const o=i.renderNodeCount,c=[];return this._updateNodeAfterCollapseChange(i,c),this._updateAncestorsRenderNodeCount(i.parent,c.length-o),c}_updateNodeAfterCollapseChange(i,o){if(i.visible===!1)return 0;if(o.push(i),i.renderNodeCount=1,!i.collapsed)for(const c of i.children)i.renderNodeCount+=this._updateNodeAfterCollapseChange(c,o);return this._onDidChangeRenderNodeCount.fire(i),i.renderNodeCount}updateNodeAfterFilterChange(i){const o=i.renderNodeCount,c=[];return this._updateNodeAfterFilterChange(i,i.visible?1:0,c),this._updateAncestorsRenderNodeCount(i.parent,c.length-o),c}_updateNodeAfterFilterChange(i,o,c,d=!0){let r;if(i!==this.root){if(r=this._filterNode(i,o),r===0)return i.visible=!1,i.renderNodeCount=0,!1;d&&c.push(i)}const s=c.length;i.renderNodeCount=i===this.root?0:1;let a=!1;if(!i.collapsed||r!==0){let l=0;for(const h of i.children)a=this._updateNodeAfterFilterChange(h,r,c,d&&!i.collapsed)||a,h.visible&&(h.visibleChildIndex=l++);i.visibleChildrenCount=l}else i.visibleChildrenCount=0;return i!==this.root&&(i.visible=r===2?a:r===1,i.visibility=r),i.visible?i.collapsed||(i.renderNodeCount+=c.length-s):(i.renderNodeCount=0,d&&c.pop()),this._onDidChangeRenderNodeCount.fire(i),i.visible}_updateAncestorsRenderNodeCount(i,o){if(o!==0)for(;i;)i.renderNodeCount+=o,this._onDidChangeRenderNodeCount.fire(i),i=i.parent}_filterNode(i,o){const c=this.filter?this.filter.filter(i.element,o):1;return typeof c=="boolean"?(i.filterData=void 0,c?1:0):C(c)?(i.filterData=c.data,u(c.visibility)):(i.filterData=void 0,u(c))}hasTreeNode(i,o=this.root){if(!i||i.length===0)return!0;const[c,...d]=i;return c<0||c>o.children.length?!1:this.hasTreeNode(d,o.children[c])}getTreeNode(i,o=this.root){if(!i||i.length===0)return o;const[c,...d]=i;if(c<0||c>o.children.length)throw new L.TreeError(this.user,"Invalid tree location");return this.getTreeNode(d,o.children[c])}getTreeNodeWithListIndex(i){if(i.length===0)return{node:this.root,listIndex:-1,revealed:!0,visible:!1};const{parentNode:o,listIndex:c,revealed:d,visible:r}=this.getParentNodeWithListIndex(i),s=i[i.length-1];if(s<0||s>o.children.length)throw new L.TreeError(this.user,"Invalid tree location");const a=o.children[s];return{node:a,listIndex:c,revealed:d,visible:r&&a.visible}}getParentNodeWithListIndex(i,o=this.root,c=0,d=!0,r=!0){const[s,...a]=i;if(s<0||s>o.children.length)throw new L.TreeError(this.user,"Invalid tree location");for(let l=0;l<s;l++)c+=o.children[l].renderNodeCount;return d=d&&!o.collapsed,r=r&&o.visible,a.length===0?{parentNode:o,listIndex:c,revealed:d,visible:r}:this.getParentNodeWithListIndex(a,o.children[s],c+1,d,r)}getNode(i=[]){return this.getTreeNode(i)}getNodeLocation(i){const o=[];let c=i;for(;c.parent;)o.push(c.parent.children.indexOf(c)),c=c.parent;return o.reverse()}getParentNodeLocation(i){if(i.length!==0)return i.length===1?[]:(0,m.tail2)(i)[0]}getFirstElementChild(i){const o=this.getTreeNode(i);if(o.children.length!==0)return o.children[0].element}}e.IndexTreeModel=t}),define(te[170],ie([1,0,169,111,57]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ObjectTreeModel=void 0;class I{constructor(b,C,u={}){this.user=b,this.rootRef=null,this.nodes=new Map,this.nodesByIdentity=new Map,this.model=new L.IndexTreeModel(b,C,null,u),this.onDidSplice=this.model.onDidSplice,this.onDidChangeCollapseState=this.model.onDidChangeCollapseState,this.onDidChangeRenderNodeCount=this.model.onDidChangeRenderNodeCount,u.sorter&&(this.sorter={compare(g,t){return u.sorter.compare(g.element,t.element)}}),this.identityProvider=u.identityProvider}setChildren(b,C=k.Iterable.empty(),u={}){const g=this.getElementLocation(b);this._setChildren(g,this.preserveCollapseState(C),u)}_setChildren(b,C=k.Iterable.empty(),u){const g=new Set,t=new Set,n=o=>{var c;if(o.element===null)return;const d=o;if(g.add(d.element),this.nodes.set(d.element,d),this.identityProvider){const r=this.identityProvider.getId(d.element).toString();t.add(r),this.nodesByIdentity.set(r,d)}(c=u.onDidCreateNode)===null||c===void 0||c.call(u,d)},i=o=>{var c;if(o.element===null)return;const d=o;if(g.has(d.element)||this.nodes.delete(d.element),this.identityProvider){const r=this.identityProvider.getId(d.element).toString();t.has(r)||this.nodesByIdentity.delete(r)}(c=u.onDidDeleteNode)===null||c===void 0||c.call(u,d)};this.model.splice([...b,0],Number.MAX_VALUE,C,Object.assign(Object.assign({},u),{onDidCreateNode:n,onDidDeleteNode:i}))}preserveCollapseState(b=k.Iterable.empty()){return this.sorter&&(b=[...b].sort(this.sorter.compare.bind(this.sorter))),k.Iterable.map(b,C=>{let u=this.nodes.get(C.element);if(!u&&this.identityProvider){const n=this.identityProvider.getId(C.element).toString();u=this.nodesByIdentity.get(n)}if(!u)return Object.assign(Object.assign({},C),{children:this.preserveCollapseState(C.children)});const g=typeof C.collapsible=="boolean"?C.collapsible:u.collapsible,t=typeof C.collapsed!="undefined"?C.collapsed:u.collapsed;return Object.assign(Object.assign({},C),{collapsible:g,collapsed:t,children:this.preserveCollapseState(C.children)})})}rerender(b){const C=this.getElementLocation(b);this.model.rerender(C)}getFirstElementChild(b=null){const C=this.getElementLocation(b);return this.model.getFirstElementChild(C)}has(b){return this.nodes.has(b)}getListIndex(b){const C=this.getElementLocation(b);return this.model.getListIndex(C)}getListRenderCount(b){const C=this.getElementLocation(b);return this.model.getListRenderCount(C)}isCollapsible(b){const C=this.getElementLocation(b);return this.model.isCollapsible(C)}setCollapsible(b,C){const u=this.getElementLocation(b);return this.model.setCollapsible(u,C)}isCollapsed(b){const C=this.getElementLocation(b);return this.model.isCollapsed(C)}setCollapsed(b,C,u){const g=this.getElementLocation(b);return this.model.setCollapsed(g,C,u)}expandTo(b){const C=this.getElementLocation(b);this.model.expandTo(C)}refilter(){this.model.refilter()}getNode(b=null){if(b===null)return this.model.getNode(this.model.rootRef);const C=this.nodes.get(b);if(!C)throw new m.TreeError(this.user,`Tree element not found: ${b}`);return C}getNodeLocation(b){return b.element}getParentNodeLocation(b){if(b===null)throw new m.TreeError(this.user,"Invalid getParentNodeLocation call");const C=this.nodes.get(b);if(!C)throw new m.TreeError(this.user,`Tree element not found: ${b}`);const u=this.model.getNodeLocation(C),g=this.model.getParentNodeLocation(u);return this.model.getNode(g).element}getElementLocation(b){if(b===null)return[];const C=this.nodes.get(b);if(!C)throw new m.TreeError(this.user,`Tree element not found: ${b}`);return this.model.getNodeLocation(C)}}e.ObjectTreeModel=I}),define(te[321],ie([1,0,170,111,4,57]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CompressibleObjectTreeModel=e.DefaultElementMapper=e.CompressedObjectTreeModel=e.decompress=e.compress=void 0;function w(s){const a=[s.element],l=s.incompressible||!1;return{element:{elements:a,incompressible:l},children:I.Iterable.map(I.Iterable.from(s.children),w),collapsible:s.collapsible,collapsed:s.collapsed}}function b(s){const a=[s.element],l=s.incompressible||!1;let h,f;for(;[f,h]=I.Iterable.consume(I.Iterable.from(s.children),2),!(f.length!==1||f[0].incompressible);)s=f[0],a.push(s.element);return{element:{elements:a,incompressible:l},children:I.Iterable.map(I.Iterable.concat(f,h),b),collapsible:s.collapsible,collapsed:s.collapsed}}e.compress=b;function C(s,a=0){let l;return a<s.element.elements.length-1?l=[C(s,a+1)]:l=I.Iterable.map(I.Iterable.from(s.children),h=>C(h,0)),a===0&&s.element.incompressible?{element:s.element.elements[a],children:l,incompressible:!0,collapsible:s.collapsible,collapsed:s.collapsed}:{element:s.element.elements[a],children:l,collapsible:s.collapsible,collapsed:s.collapsed}}function u(s){return C(s,0)}e.decompress=u;function g(s,a,l){return s.element===a?Object.assign(Object.assign({},s),{children:l}):Object.assign(Object.assign({},s),{children:I.Iterable.map(I.Iterable.from(s.children),h=>g(h,a,l))})}const t=s=>({getId(a){return a.elements.map(l=>s.getId(l).toString()).join("\0")}});class n{constructor(a,l,h={}){this.user=a,this.rootRef=null,this.nodes=new Map,this.model=new L.ObjectTreeModel(a,l,h),this.enabled=typeof h.compressionEnabled=="undefined"?!0:h.compressionEnabled,this.identityProvider=h.identityProvider}get onDidSplice(){return this.model.onDidSplice}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}get onDidChangeRenderNodeCount(){return this.model.onDidChangeRenderNodeCount}setChildren(a,l=I.Iterable.empty(),h){const f=h.diffIdentityProvider&&t(h.diffIdentityProvider);if(a===null){const M=I.Iterable.map(l,this.enabled?b:w);this._setChildren(null,M,{diffIdentityProvider:f,diffDepth:1/0});return}const S=this.nodes.get(a);if(!S)throw new Error("Unknown compressed tree node");const v=this.model.getNode(S),p=this.model.getParentNodeLocation(S),_=this.model.getNode(p),y=u(v),E=g(y,a,l),N=(this.enabled?b:w)(E),D=_.children.map(M=>M===v?N:M);this._setChildren(_.element,D,{diffIdentityProvider:f,diffDepth:v.depth-_.depth})}setCompressionEnabled(a){if(a===this.enabled)return;this.enabled=a;const h=this.model.getNode().children,f=I.Iterable.map(h,u),S=I.Iterable.map(f,a?b:w);this._setChildren(null,S,{diffIdentityProvider:this.identityProvider,diffDepth:1/0})}_setChildren(a,l,h){const f=new Set,S=p=>{for(const _ of p.element.elements)f.add(_),this.nodes.set(_,p.element)},v=p=>{for(const _ of p.element.elements)f.has(_)||this.nodes.delete(_)};this.model.setChildren(a,l,Object.assign(Object.assign({},h),{onDidCreateNode:S,onDidDeleteNode:v}))}has(a){return this.nodes.has(a)}getListIndex(a){const l=this.getCompressedNode(a);return this.model.getListIndex(l)}getListRenderCount(a){const l=this.getCompressedNode(a);return this.model.getListRenderCount(l)}getNode(a){if(typeof a=="undefined")return this.model.getNode();const l=this.getCompressedNode(a);return this.model.getNode(l)}getNodeLocation(a){const l=this.model.getNodeLocation(a);return l===null?null:l.elements[l.elements.length-1]}getParentNodeLocation(a){const l=this.getCompressedNode(a),h=this.model.getParentNodeLocation(l);return h===null?null:h.elements[h.elements.length-1]}getFirstElementChild(a){const l=this.getCompressedNode(a);return this.model.getFirstElementChild(l)}isCollapsible(a){const l=this.getCompressedNode(a);return this.model.isCollapsible(l)}setCollapsible(a,l){const h=this.getCompressedNode(a);return this.model.setCollapsible(h,l)}isCollapsed(a){const l=this.getCompressedNode(a);return this.model.isCollapsed(l)}setCollapsed(a,l,h){const f=this.getCompressedNode(a);return this.model.setCollapsed(f,l,h)}expandTo(a){const l=this.getCompressedNode(a);this.model.expandTo(l)}rerender(a){const l=this.getCompressedNode(a);this.model.rerender(l)}refilter(){this.model.refilter()}getCompressedNode(a){if(a===null)return null;const l=this.nodes.get(a);if(!l)throw new m.TreeError(this.user,`Tree element not found: ${a}`);return l}}e.CompressedObjectTreeModel=n;const i=s=>s[s.length-1];e.DefaultElementMapper=i;class o{constructor(a,l){this.unwrapper=a,this.node=l}get element(){return this.node.element===null?null:this.unwrapper(this.node.element)}get children(){return this.node.children.map(a=>new o(this.unwrapper,a))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}}function c(s,a){return{splice(l,h,f){a.splice(l,h,f.map(S=>s.map(S)))},updateElementHeight(l,h){a.updateElementHeight(l,h)}}}function d(s,a){return Object.assign(Object.assign({},a),{identityProvider:a.identityProvider&&{getId(l){return a.identityProvider.getId(s(l))}},sorter:a.sorter&&{compare(l,h){return a.sorter.compare(l.elements[0],h.elements[0])}},filter:a.filter&&{filter(l,h){return a.filter.filter(s(l),h)}}})}class r{constructor(a,l,h={}){this.rootRef=null,this.elementMapper=h.elementMapper||e.DefaultElementMapper;const f=S=>this.elementMapper(S.elements);this.nodeMapper=new m.WeakMapper(S=>new o(f,S)),this.model=new n(a,c(this.nodeMapper,l),d(f,h))}get onDidSplice(){return k.Event.map(this.model.onDidSplice,({insertedNodes:a,deletedNodes:l})=>({insertedNodes:a.map(h=>this.nodeMapper.map(h)),deletedNodes:l.map(h=>this.nodeMapper.map(h))}))}get onDidChangeCollapseState(){return k.Event.map(this.model.onDidChangeCollapseState,({node:a,deep:l})=>({node:this.nodeMapper.map(a),deep:l}))}get onDidChangeRenderNodeCount(){return k.Event.map(this.model.onDidChangeRenderNodeCount,a=>this.nodeMapper.map(a))}setChildren(a,l=I.Iterable.empty(),h={}){this.model.setChildren(a,l,h)}setCompressionEnabled(a){this.model.setCompressionEnabled(a)}has(a){return this.model.has(a)}getListIndex(a){return this.model.getListIndex(a)}getListRenderCount(a){return this.model.getListRenderCount(a)}getNode(a){return this.nodeMapper.map(this.model.getNode(a))}getNodeLocation(a){return a.element}getParentNodeLocation(a){return this.model.getParentNodeLocation(a)}getFirstElementChild(a){const l=this.model.getFirstElementChild(a);return l===null||typeof l=="undefined"?l:this.elementMapper(l.elements)}isCollapsible(a){return this.model.isCollapsible(a)}setCollapsible(a,l){return this.model.setCollapsible(a,l)}isCollapsed(a){return this.model.isCollapsed(a)}setCollapsed(a,l,h){return this.model.setCollapsed(a,l,h)}expandTo(a){return this.model.expandTo(a)}rerender(a){return this.model.rerender(a)}refilter(){return this.model.refilter()}getCompressedTreeNode(a=null){return this.model.getNode(a)}}e.CompressibleObjectTreeModel=r}),define(te[49],ie([1,0,8]),function(q,e,L){"use strict";var m,k;Object.defineProperty(e,"__esModule",{value:!0}),e.LRUCache=e.LinkedMap=e.ResourceMap=e.TernarySearchTree=e.UriIterator=e.PathIterator=e.ConfigKeysIterator=e.StringIterator=void 0;class I{constructor(){this._value="",this._pos=0}reset(d){return this._value=d,this._pos=0,this}next(){return this._pos+=1,this}hasNext(){return this._pos<this._value.length-1}cmp(d){const r=d.charCodeAt(0),s=this._value.charCodeAt(this._pos);return r-s}value(){return this._value[this._pos]}}e.StringIterator=I;class w{constructor(d=!0){this._caseSensitive=d}reset(d){return this._value=d,this._from=0,this._to=0,this.next()}hasNext(){return this._to<this._value.length}next(){this._from=this._to;let d=!0;for(;this._to<this._value.length;this._to++)if(this._value.charCodeAt(this._to)===46)if(d)this._from++;else break;else d=!1;return this}cmp(d){return this._caseSensitive?(0,L.compareSubstring)(d,this._value,0,d.length,this._from,this._to):(0,L.compareSubstringIgnoreCase)(d,this._value,0,d.length,this._from,this._to)}value(){return this._value.substring(this._from,this._to)}}e.ConfigKeysIterator=w;class b{constructor(d=!0,r=!0){this._splitOnBackslash=d,this._caseSensitive=r}reset(d){this._from=0,this._to=0,this._value=d,this._valueLen=d.length;for(let r=d.length-1;r>=0;r--,this._valueLen--){const s=this._value.charCodeAt(r);if(!(s===47||this._splitOnBackslash&&s===92))break}return this.next()}hasNext(){return this._to<this._valueLen}next(){this._from=this._to;let d=!0;for(;this._to<this._valueLen;this._to++){const r=this._value.charCodeAt(this._to);if(r===47||this._splitOnBackslash&&r===92)if(d)this._from++;else break;else d=!1}return this}cmp(d){return this._caseSensitive?(0,L.compareSubstring)(d,this._value,0,d.length,this._from,this._to):(0,L.compareSubstringIgnoreCase)(d,this._value,0,d.length,this._from,this._to)}value(){return this._value.substring(this._from,this._to)}}e.PathIterator=b;class C{constructor(d){this._ignorePathCasing=d,this._states=[],this._stateIdx=0}reset(d){return this._value=d,this._states=[],this._value.scheme&&this._states.push(1),this._value.authority&&this._states.push(2),this._value.path&&(this._pathIterator=new b(!1,!this._ignorePathCasing(d)),this._pathIterator.reset(d.path),this._pathIterator.value()&&this._states.push(3)),this._value.query&&this._states.push(4),this._value.fragment&&this._states.push(5),this._stateIdx=0,this}next(){return this._states[this._stateIdx]===3&&this._pathIterator.hasNext()?this._pathIterator.next():this._stateIdx+=1,this}hasNext(){return this._states[this._stateIdx]===3&&this._pathIterator.hasNext()||this._stateIdx<this._states.length-1}cmp(d){if(this._states[this._stateIdx]===1)return(0,L.compareIgnoreCase)(d,this._value.scheme);if(this._states[this._stateIdx]===2)return(0,L.compareIgnoreCase)(d,this._value.authority);if(this._states[this._stateIdx]===3)return this._pathIterator.cmp(d);if(this._states[this._stateIdx]===4)return(0,L.compare)(d,this._value.query);if(this._states[this._stateIdx]===5)return(0,L.compare)(d,this._value.fragment);throw new Error}value(){if(this._states[this._stateIdx]===1)return this._value.scheme;if(this._states[this._stateIdx]===2)return this._value.authority;if(this._states[this._stateIdx]===3)return this._pathIterator.value();if(this._states[this._stateIdx]===4)return this._value.query;if(this._states[this._stateIdx]===5)return this._value.fragment;throw new Error}}e.UriIterator=C;class u{constructor(){this.height=1}rotateLeft(){const d=this.right;return this.right=d.left,d.left=this,this.updateHeight(),d.updateHeight(),d}rotateRight(){const d=this.left;return this.left=d.right,d.right=this,this.updateHeight(),d.updateHeight(),d}updateHeight(){this.height=1+Math.max(this.heightLeft,this.heightRight)}balanceFactor(){return this.heightRight-this.heightLeft}get heightLeft(){var d,r;return(r=(d=this.left)===null||d===void 0?void 0:d.height)!==null&&r!==void 0?r:0}get heightRight(){var d,r;return(r=(d=this.right)===null||d===void 0?void 0:d.height)!==null&&r!==void 0?r:0}}class g{constructor(d){this._iter=d}static forUris(d=()=>!1){return new g(new C(d))}static forStrings(){return new g(new I)}static forConfigKeys(){return new g(new w)}clear(){this._root=void 0}set(d,r){const s=this._iter.reset(d);let a;this._root||(this._root=new u,this._root.segment=s.value());const l=[];for(a=this._root;;){const f=s.cmp(a.segment);if(f>0)a.left||(a.left=new u,a.left.segment=s.value()),l.push([-1,a]),a=a.left;else if(f<0)a.right||(a.right=new u,a.right.segment=s.value()),l.push([1,a]),a=a.right;else if(s.hasNext())s.next(),a.mid||(a.mid=new u,a.mid.segment=s.value()),l.push([0,a]),a=a.mid;else break}const h=a.value;a.value=r,a.key=d;for(let f=l.length-1;f>=0;f--){const S=l[f][1];S.updateHeight();const v=S.balanceFactor();if(v<-1||v>1){const p=l[f][0],_=l[f+1][0];if(p===1&&_===1)l[f][1]=S.rotateLeft();else if(p===-1&&_===-1)l[f][1]=S.rotateRight();else if(p===1&&_===-1)S.right=l[f+1][1]=l[f+1][1].rotateRight(),l[f][1]=S.rotateLeft();else if(p===-1&&_===1)S.left=l[f+1][1]=l[f+1][1].rotateLeft(),l[f][1]=S.rotateRight();else throw new Error;if(f>0)switch(l[f-1][0]){case-1:l[f-1][1].left=l[f][1];break;case 1:l[f-1][1].right=l[f][1];break;case 0:l[f-1][1].mid=l[f][1];break}else this._root=l[0][1]}}return h}get(d){var r;return(r=this._getNode(d))===null||r===void 0?void 0:r.value}_getNode(d){const r=this._iter.reset(d);let s=this._root;for(;s;){const a=r.cmp(s.segment);if(a>0)s=s.left;else if(a<0)s=s.right;else if(r.hasNext())r.next(),s=s.mid;else break}return s}has(d){const r=this._getNode(d);return!((r==null?void 0:r.value)===void 0&&(r==null?void 0:r.mid)===void 0)}delete(d){return this._delete(d,!1)}deleteSuperstr(d){return this._delete(d,!0)}_delete(d,r){var s;const a=this._iter.reset(d),l=[];let h=this._root;for(;h;){const f=a.cmp(h.segment);if(f>0)l.push([-1,h]),h=h.left;else if(f<0)l.push([1,h]),h=h.right;else if(a.hasNext())a.next(),l.push([0,h]),h=h.mid;else break}if(!!h){if(r?(h.left=void 0,h.mid=void 0,h.right=void 0,h.height=1):(h.key=void 0,h.value=void 0),!h.mid&&!h.value)if(h.left&&h.right){const f=this._min(h.right),{key:S,value:v,segment:p}=f;this._delete(f.key,!1),h.key=S,h.value=v,h.segment=p}else{const f=(s=h.left)!==null&&s!==void 0?s:h.right;if(l.length>0){const[S,v]=l[l.length-1];switch(S){case-1:v.left=f;break;case 0:v.mid=f;break;case 1:v.right=f;break}}else this._root=f}for(let f=l.length-1;f>=0;f--){const S=l[f][1];S.updateHeight();const v=S.balanceFactor();if(v>1?(S.right.balanceFactor()>=0||(S.right=S.right.rotateRight()),l[f][1]=S.rotateLeft()):v<-1&&(S.left.balanceFactor()<=0||(S.left=S.left.rotateLeft()),l[f][1]=S.rotateRight()),f>0)switch(l[f-1][0]){case-1:l[f-1][1].left=l[f][1];break;case 1:l[f-1][1].right=l[f][1];break;case 0:l[f-1][1].mid=l[f][1];break}else this._root=l[0][1]}}}_min(d){for(;d.left;)d=d.left;return d}findSubstr(d){const r=this._iter.reset(d);let s=this._root,a;for(;s;){const l=r.cmp(s.segment);if(l>0)s=s.left;else if(l<0)s=s.right;else if(r.hasNext())r.next(),a=s.value||a,s=s.mid;else break}return s&&s.value||a}findSuperstr(d){const r=this._iter.reset(d);let s=this._root;for(;s;){const a=r.cmp(s.segment);if(a>0)s=s.left;else if(a<0)s=s.right;else if(r.hasNext())r.next(),s=s.mid;else return s.mid?this._entries(s.mid):void 0}}forEach(d){for(const[r,s]of this)d(s,r)}*[Symbol.iterator](){yield*this._entries(this._root)}*_entries(d){!d||(d.left&&(yield*this._entries(d.left)),d.value&&(yield[d.key,d.value]),d.mid&&(yield*this._entries(d.mid)),d.right&&(yield*this._entries(d.right)))}}e.TernarySearchTree=g;class t{constructor(d,r){this.uri=d,this.value=r}}class n{constructor(d,r){this[m]="ResourceMap",d instanceof n?(this.map=new Map(d.map),this.toKey=r??n.defaultToKey):(this.map=new Map,this.toKey=d??n.defaultToKey)}set(d,r){return this.map.set(this.toKey(d),new t(d,r)),this}get(d){var r;return(r=this.map.get(this.toKey(d)))===null||r===void 0?void 0:r.value}has(d){return this.map.has(this.toKey(d))}get size(){return this.map.size}clear(){this.map.clear()}delete(d){return this.map.delete(this.toKey(d))}forEach(d,r){typeof r!="undefined"&&(d=d.bind(r));for(let[s,a]of this.map)d(a.value,a.uri,this)}*values(){for(let d of this.map.values())yield d.value}*keys(){for(let d of this.map.values())yield d.uri}*entries(){for(let d of this.map.values())yield[d.uri,d.value]}*[(m=Symbol.toStringTag,Symbol.iterator)](){for(let[,d]of this.map)yield[d.uri,d.value]}}e.ResourceMap=n,n.defaultToKey=c=>c.toString();class i{constructor(){this[k]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){var d;return(d=this._head)===null||d===void 0?void 0:d.value}get last(){var d;return(d=this._tail)===null||d===void 0?void 0:d.value}has(d){return this._map.has(d)}get(d,r=0){const s=this._map.get(d);if(!!s)return r!==0&&this.touch(s,r),s.value}set(d,r,s=0){let a=this._map.get(d);if(a)a.value=r,s!==0&&this.touch(a,s);else{switch(a={key:d,value:r,next:void 0,previous:void 0},s){case 0:this.addItemLast(a);break;case 1:this.addItemFirst(a);break;case 2:this.addItemLast(a);break;default:this.addItemLast(a);break}this._map.set(d,a),this._size++}return this}delete(d){return!!this.remove(d)}remove(d){const r=this._map.get(d);if(!!r)return this._map.delete(d),this.removeItem(r),this._size--,r.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const d=this._head;return this._map.delete(d.key),this.removeItem(d),this._size--,d.value}forEach(d,r){const s=this._state;let a=this._head;for(;a;){if(r?d.bind(r)(a.value,a.key,this):d(a.value,a.key,this),this._state!==s)throw new Error("LinkedMap got modified during iteration.");a=a.next}}keys(){const d=this,r=this._state;let s=this._head;const a={[Symbol.iterator](){return a},next(){if(d._state!==r)throw new Error("LinkedMap got modified during iteration.");if(s){const l={value:s.key,done:!1};return s=s.next,l}else return{value:void 0,done:!0}}};return a}values(){const d=this,r=this._state;let s=this._head;const a={[Symbol.iterator](){return a},next(){if(d._state!==r)throw new Error("LinkedMap got modified during iteration.");if(s){const l={value:s.value,done:!1};return s=s.next,l}else return{value:void 0,done:!0}}};return a}entries(){const d=this,r=this._state;let s=this._head;const a={[Symbol.iterator](){return a},next(){if(d._state!==r)throw new Error("LinkedMap got modified during iteration.");if(s){const l={value:[s.key,s.value],done:!1};return s=s.next,l}else return{value:void 0,done:!0}}};return a}[(k=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(d){if(d>=this.size)return;if(d===0){this.clear();return}let r=this._head,s=this.size;for(;r&&s>d;)this._map.delete(r.key),r=r.next,s--;this._head=r,this._size=s,r&&(r.previous=void 0),this._state++}addItemFirst(d){if(!this._head&&!this._tail)this._tail=d;else if(this._head)d.next=this._head,this._head.previous=d;else throw new Error("Invalid list");this._head=d,this._state++}addItemLast(d){if(!this._head&&!this._tail)this._head=d;else if(this._tail)d.previous=this._tail,this._tail.next=d;else throw new Error("Invalid list");this._tail=d,this._state++}removeItem(d){if(d===this._head&&d===this._tail)this._head=void 0,this._tail=void 0;else if(d===this._head){if(!d.next)throw new Error("Invalid list");d.next.previous=void 0,this._head=d.next}else if(d===this._tail){if(!d.previous)throw new Error("Invalid list");d.previous.next=void 0,this._tail=d.previous}else{const r=d.next,s=d.previous;if(!r||!s)throw new Error("Invalid list");r.previous=s,s.next=r}d.next=void 0,d.previous=void 0,this._state++}touch(d,r){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(r!==1&&r!==2)){if(r===1){if(d===this._head)return;const s=d.next,a=d.previous;d===this._tail?(a.next=void 0,this._tail=a):(s.previous=a,a.next=s),d.previous=void 0,d.next=this._head,this._head.previous=d,this._head=d,this._state++}else if(r===2){if(d===this._tail)return;const s=d.next,a=d.previous;d===this._head?(s.previous=void 0,this._head=s):(s.previous=a,a.next=s),d.next=void 0,d.previous=this._tail,this._tail.next=d,this._tail=d,this._state++}}}toJSON(){const d=[];return this.forEach((r,s)=>{d.push([s,r])}),d}fromJSON(d){this.clear();for(const[r,s]of d)this.set(r,s)}}e.LinkedMap=i;class o extends i{constructor(d,r=1){super();this._limit=d,this._ratio=Math.min(Math.max(0,r),1)}get limit(){return this._limit}set limit(d){this._limit=d,this.checkTrim()}get(d,r=2){return super.get(d,r)}peek(d){return super.get(d,0)}set(d,r){return super.set(d,r,2),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}e.LRUCache=o}),define(te[75],ie([1,0,49,8]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.fuzzyScoreGracefulAggressive=e.fuzzyScore=e.FuzzyScore=e.isPatternInWord=e.createMatches=e.anyScore=e.matchesFuzzy=e.matchesWords=e.matchesCamelCase=e.isUpper=e.matchesSubString=e.matchesContiguousSubString=e.matchesPrefix=e.matchesStrictPrefix=e.or=void 0;function k(...x){return function(H,U){for(let Q=0,Y=x.length;Q<Y;Q++){const ne=x[Q](H,U);if(ne)return ne}return null}}e.or=k,e.matchesStrictPrefix=I.bind(void 0,!1),e.matchesPrefix=I.bind(void 0,!0);function I(x,H,U){if(!U||U.length<H.length)return null;let Q;return x?Q=m.startsWithIgnoreCase(U,H):Q=U.indexOf(H)===0,Q?H.length>0?[{start:0,end:H.length}]:[]:null}function w(x,H){const U=H.toLowerCase().indexOf(x.toLowerCase());return U===-1?null:[{start:U,end:U+x.length}]}e.matchesContiguousSubString=w;function b(x,H){return C(x.toLowerCase(),H.toLowerCase(),0,0)}e.matchesSubString=b;function C(x,H,U,Q){if(U===x.length)return[];if(Q===H.length)return null;if(x[U]===H[Q]){let Y=null;return(Y=C(x,H,U+1,Q+1))?r({start:Q,end:Q+1},Y):null}return C(x,H,U,Q+1)}function u(x){return 97<=x&&x<=122}function g(x){return 65<=x&&x<=90}e.isUpper=g;function t(x){return 48<=x&&x<=57}function n(x){return x===32||x===9||x===10||x===13}const i=new Set;"()[]{}<>`'\"-/;:,.?!".split("").forEach(x=>i.add(x.charCodeAt(0)));function o(x){return n(x)||i.has(x)}function c(x,H){return x===H||o(x)&&o(H)}function d(x){return u(x)||g(x)||t(x)}function r(x,H){return H.length===0?H=[x]:x.end===H[0].start?H[0].start=x.start:H.unshift(x),H}function s(x,H){for(let U=H;U<x.length;U++){const Q=x.charCodeAt(U);if(g(Q)||t(Q)||U>0&&!d(x.charCodeAt(U-1)))return U}return x.length}function a(x,H,U,Q){if(U===x.length)return[];if(Q===H.length)return null;if(x[U]!==H[Q].toLowerCase())return null;{let Y=null,ne=Q+1;for(Y=a(x,H,U+1,Q+1);!Y&&(ne=s(H,ne))<H.length;)Y=a(x,H,U+1,ne),ne++;return Y===null?null:r({start:Q,end:Q+1},Y)}}function l(x){let H=0,U=0,Q=0,Y=0,ne=0;for(let ve=0;ve<x.length;ve++)ne=x.charCodeAt(ve),g(ne)&&H++,u(ne)&&U++,d(ne)&&Q++,t(ne)&&Y++;const ge=H/x.length,fe=U/x.length,ce=Q/x.length,he=Y/x.length;return{upperPercent:ge,lowerPercent:fe,alphaPercent:ce,numericPercent:he}}function h(x){const{upperPercent:H,lowerPercent:U}=x;return U===0&&H>.6}function f(x){const{upperPercent:H,lowerPercent:U,alphaPercent:Q,numericPercent:Y}=x;return U>.2&&H<.8&&Q>.6&&Y<.2}function S(x){let H=0,U=0,Q=0,Y=0;for(let ne=0;ne<x.length;ne++)Q=x.charCodeAt(ne),g(Q)&&H++,u(Q)&&U++,n(Q)&&Y++;return(H===0||U===0)&&Y===0?x.length<=30:H<=5}function v(x,H){if(!H||(H=H.trim(),H.length===0)||!S(x)||H.length>60)return null;const U=l(H);if(!f(U)){if(!h(U))return null;H=H.toLowerCase()}let Q=null,Y=0;for(x=x.toLowerCase();Y<H.length&&(Q=a(x,H,0,Y))===null;)Y=s(H,Y+1);return Q}e.matchesCamelCase=v;function p(x,H,U=!1){if(!H||H.length===0)return null;let Q=null,Y=0;for(x=x.toLowerCase(),H=H.toLowerCase();Y<H.length&&(Q=_(x,H,0,Y,U))===null;)Y=y(H,Y+1);return Q}e.matchesWords=p;function _(x,H,U,Q,Y){if(U===x.length)return[];if(Q===H.length)return null;if(c(x.charCodeAt(U),H.charCodeAt(Q))){let ne=null,ge=Q+1;if(ne=_(x,H,U+1,Q+1,Y),!Y)for(;!ne&&(ge=y(H,ge))<H.length;)ne=_(x,H,U+1,ge,Y),ge++;return ne===null?null:r({start:Q,end:Q+1},ne)}else return null}function y(x,H){for(let U=H;U<x.length;U++)if(o(x.charCodeAt(U))||U>0&&o(x.charCodeAt(U-1)))return U;return x.length}const E=k(e.matchesPrefix,v,w),N=k(e.matchesPrefix,v,b),D=new L.LRUCache(1e4);function M(x,H,U=!1){if(typeof x!="string"||typeof H!="string")return null;let Q=D.get(x);Q||(Q=new RegExp(m.convertSimple2RegExpPattern(x),"i"),D.set(x,Q));const Y=Q.exec(H);return Y?[{start:Y.index,end:Y.index+Y[0].length}]:U?N(x,H):E(x,H)}e.matchesFuzzy=M;function B(x,H,U,Q,Y,ne){const ge=Math.min(13,x.length);for(;U<ge;U++){const fe=X(x,H,U,Q,Y,ne,!1);if(fe)return fe}return[0,ne]}e.anyScore=B;function O(x){if(typeof x=="undefined")return[];const H=[],U=x[1];for(let Q=x.length-1;Q>1;Q--){const Y=x[Q]+U,ne=H[H.length-1];ne&&ne.end===Y?ne.end=Y+1:H.push({start:Y,end:Y+1})}return H}e.createMatches=O;const T=128;function A(){const x=[],H=[];for(let U=0;U<=T;U++)H[U]=0;for(let U=0;U<=T;U++)x.push(H.slice(0));return x}function P(x){const H=[];for(let U=0;U<=x;U++)H[U]=0;return H}const F=P(2*T),W=P(2*T),R=A(),z=A(),j=A(),$=!1;function G(x,H,U,Q,Y){function ne(fe,ce,he=" "){for(;fe.length<ce;)fe=he+fe;return fe}let ge=` |   |${Q.split("").map(fe=>ne(fe,3)).join("|")}
+`;for(let fe=0;fe<=U;fe++)fe===0?ge+=" |":ge+=`${H[fe-1]}|`,ge+=x[fe].slice(0,Y+1).map(ce=>ne(ce.toString(),3)).join("|")+`
+`;return ge}function J(x,H,U,Q){x=x.substr(H),U=U.substr(Q),console.log(G(z,x,x.length,U,U.length)),console.log(G(j,x,x.length,U,U.length)),console.log(G(R,x,x.length,U,U.length))}function re(x,H){if(H<0||H>=x.length)return!1;const U=x.codePointAt(H);switch(U){case 95:case 45:case 46:case 32:case 47:case 92:case 39:case 34:case 58:case 36:case 60:case 40:case 91:return!0;case void 0:return!1;default:return!!m.isEmojiImprecise(U)}}function se(x,H){if(H<0||H>=x.length)return!1;switch(x.charCodeAt(H)){case 32:case 9:return!0;default:return!1}}function Z(x,H,U){return H[x]!==U[x]}function V(x,H,U,Q,Y,ne,ge=!1){for(;H<U&&Y<ne;)x[H]===Q[Y]&&(ge&&(F[H]=Y),H+=1),Y+=1;return H===U}e.isPatternInWord=V;var K;(function(x){x.Default=[-100,0];function H(U){return!U||U.length===2&&U[0]===-100&&U[1]===0}x.isDefault=H})(K=e.FuzzyScore||(e.FuzzyScore={}));function X(x,H,U,Q,Y,ne,ge){const fe=x.length>T?T:x.length,ce=Q.length>T?T:Q.length;if(U>=fe||ne>=ce||fe-U>ce-ne||!V(H,U,fe,Y,ne,ce,!0))return;oe(fe,ce,U,ne,H,Y);let he=1,ve=1,Ce=U,be=ne;const de=[!1];for(he=1,Ce=U;Ce<fe;he++,Ce++){const Te=F[Ce],Me=W[Ce],We=Ce+1<fe?W[Ce+1]:ce;for(ve=Te-ne+1,be=Te;be<We;ve++,be++){let xe=Number.MIN_SAFE_INTEGER,He=!1;be<=Me&&(xe=ae(x,H,Ce,U,Q,Y,be,ce,ne,R[he-1][ve-1]===0,de));let Le=0;xe!==Number.MAX_SAFE_INTEGER&&(He=!0,Le=xe+z[he-1][ve-1]);const Se=be>Te,De=Se?z[he][ve-1]+(R[he][ve-1]>0?-5:0):0,Pe=be>Te+1&&R[he][ve-1]>0,Fe=Pe?z[he][ve-2]+(R[he][ve-2]>0?-5:0):0;if(Pe&&(!Se||Fe>=De)&&(!He||Fe>=Le))z[he][ve]=Fe,j[he][ve]=3,R[he][ve]=0;else if(Se&&(!He||De>=Le))z[he][ve]=De,j[he][ve]=2,R[he][ve]=0;else if(He)z[he][ve]=Le,j[he][ve]=1,R[he][ve]=R[he-1][ve-1]+1;else throw new Error("not possible")}}if($&&J(x,U,Q,ne),!de[0]&&!ge)return;he--,ve--;const me=[z[he][ve],ne];let _e=0,ye=0;for(;he>=1;){let Te=ve;do{const Me=j[he][Te];if(Me===3)Te=Te-2;else if(Me===2)Te=Te-1;else break}while(Te>=1);_e>1&&H[U+he-1]===Y[ne+ve-1]&&!Z(Te+ne-1,Q,Y)&&_e+1>R[he][Te]&&(Te=ve),Te===ve?_e++:_e=1,ye||(ye=Te),he--,ve=Te-1,me.push(ve)}ce===fe&&(me[0]+=2);const ke=ye-fe;return me[0]-=ke,me}e.fuzzyScore=X;function oe(x,H,U,Q,Y,ne){let ge=x-1,fe=H-1;for(;ge>=U&&fe>=Q;)Y[ge]===ne[fe]&&(W[ge]=fe,ge--),fe--}function ae(x,H,U,Q,Y,ne,ge,fe,ce,he,ve){if(H[U]!==ne[ge])return Number.MIN_SAFE_INTEGER;let Ce=1,be=!1;return ge===U-Q?Ce=x[U]===Y[ge]?7:5:Z(ge,Y,ne)&&(ge===0||!Z(ge-1,Y,ne))?(Ce=x[U]===Y[ge]?7:5,be=!0):re(ne,ge)&&(ge===0||!re(ne,ge-1))?Ce=5:(re(ne,ge-1)||se(ne,ge-1))&&(Ce=5,be=!0),Ce>1&&U===Q&&(ve[0]=!0),be||(be=Z(ge,Y,ne)||re(ne,ge-1)||se(ne,ge-1)),U===Q?ge>ce&&(Ce-=be?3:5):he?Ce+=be?2:0:Ce+=be?0:1,ge+1===fe&&(Ce-=be?3:5),Ce}function ee(x,H,U,Q,Y,ne,ge){return ue(x,H,U,Q,Y,ne,!0,ge)}e.fuzzyScoreGracefulAggressive=ee;function ue(x,H,U,Q,Y,ne,ge,fe){let ce=X(x,H,U,Q,Y,ne,fe);if(ce&&!ge)return ce;if(x.length>=3){const he=Math.min(7,x.length-1);for(let ve=U+1;ve<he;ve++){const Ce=le(x,ve);if(Ce){const be=X(Ce,Ce.toLowerCase(),U,Q,Y,ne,fe);be&&(be[0]-=3,(!ce||be[0]>ce[0])&&(ce=be))}}}return ce}function le(x,H){if(H+1>=x.length)return;const U=x[H],Q=x[H+1];if(U!==Q)return x.slice(0,H)+Q+U+x.slice(H+2)}}),define(te[322],ie([1,0,75,84,16,8]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.pieceToQuery=e.prepareQuery=e.scoreFuzzy2=void 0;const w=[void 0,[]];function b(s,a,l=0,h=0){const f=a;return f.values&&f.values.length>1?C(s,f.values,l,h):u(s,a,l,h)}e.scoreFuzzy2=b;function C(s,a,l,h){let f=0;const S=[];for(const v of a){const[p,_]=u(s,v,l,h);if(typeof p!="number")return w;f+=p,S.push(..._)}return[f,t(S)]}function u(s,a,l,h){const f=(0,L.fuzzyScore)(a.original,a.originalLowercase,l,s,s.toLowerCase(),h,!0);return f?[f[0],(0,L.createMatches)(f)]:w}const g=Object.freeze({score:0});function t(s){const a=s.sort((f,S)=>f.start-S.start),l=[];let h;for(const f of a)!h||!n(h,f)?(h=f,l.push(f)):(h.start=Math.min(h.start,f.start),h.end=Math.max(h.end,f.end));return l}function n(s,a){return!(s.end<a.start||a.end<s.start)}function i(s){return s.startsWith('"')&&s.endsWith('"')}const o=" ";function c(s){typeof s!="string"&&(s="");const a=s.toLowerCase(),{pathNormalized:l,normalized:h,normalizedLowercase:f}=d(s),S=l.indexOf(m.sep)>=0,v=i(s);let p;const _=s.split(o);if(_.length>1)for(const y of _){const E=i(y),{pathNormalized:N,normalized:D,normalizedLowercase:M}=d(y);D&&(p||(p=[]),p.push({original:y,originalLowercase:y.toLowerCase(),pathNormalized:N,normalized:D,normalizedLowercase:M,expectContiguousMatch:E}))}return{original:s,originalLowercase:a,pathNormalized:l,normalized:h,normalizedLowercase:f,values:p,containsPathSeparator:S,expectContiguousMatch:v}}e.prepareQuery=c;function d(s){let a;k.isWindows?a=s.replace(/\//g,m.sep):a=s.replace(/\\/g,m.sep);const l=(0,I.stripWildcards)(a).replace(/\s|"/g,"");return{pathNormalized:a,normalized:l,normalizedLowercase:l.toLowerCase()}}function r(s){return Array.isArray(s)?c(s.map(a=>a.original).join(o)):c(s.original)}e.pieceToQuery=r}),define(te[218],ie([1,0,10,168,49,84,16,8]),function(q,e,L,m,k,I,w,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isRelativePattern=e.parse=e.match=e.splitGlobAware=e.GLOB_SPLIT=e.GLOBSTAR=void 0,e.GLOBSTAR="**",e.GLOB_SPLIT="/";const C="[/\\\\]",u="[^/\\\\]",g=/\//g;function t(P){switch(P){case 0:return"";case 1:return`${u}*?`;default:return`(?:${C}|${u}+${C}|${C}${u}+)*?`}}function n(P,F){if(!P)return[];const W=[];let R=!1,z=!1,j="";for(const $ of P){switch($){case F:if(!R&&!z){W.push(j),j="";continue}break;case"{":R=!0;break;case"}":R=!1;break;case"[":z=!0;break;case"]":z=!1;break}j+=$}return j&&W.push(j),W}e.splitGlobAware=n;function i(P){if(!P)return"";let F="";const W=n(P,e.GLOB_SPLIT);if(W.every(R=>R===e.GLOBSTAR))F=".*";else{let R=!1;W.forEach((z,j)=>{if(z===e.GLOBSTAR){R||(F+=t(2),R=!0);return}let $=!1,G="",J=!1,re="";for(const se of z){if(se!=="}"&&$){G+=se;continue}if(J&&(se!=="]"||!re)){let Z;se==="-"?Z=se:(se==="^"||se==="!")&&!re?Z="^":se===e.GLOB_SPLIT?Z="":Z=(0,b.escapeRegExpCharacters)(se),re+=Z;continue}switch(se){case"{":$=!0;continue;case"[":J=!0;continue;case"}":{F+=`(?:${n(G,",").map(K=>i(K)).join("|")})`,$=!1,G="";break}case"]":F+="["+re+"]",J=!1,re="";break;case"?":F+=u;continue;case"*":F+=t(1);continue;default:F+=(0,b.escapeRegExpCharacters)(se)}}j<W.length-1&&(W[j+1]!==e.GLOBSTAR||j+2<W.length)&&(F+=C),R=!1})}return F}const o=/^\*\*\/\*\.[\w\.-]+$/,c=/^\*\*\/([\w\.-]+)\/?$/,d=/^{\*\*\/\*?[\w\.-]+\/?(,\*\*\/\*?[\w\.-]+\/?)*}$/,r=/^{\*\*\/\*?[\w\.-]+(\/(\*\*)?)?(,\*\*\/\*?[\w\.-]+(\/(\*\*)?)?)*}$/,s=/^\*\*((\/[\w\.-]+)+)\/?$/,a=/^([\w\.-]+(\/[\w\.-]+)*)\/?$/,l=new k.LRUCache(1e4),h=function(){return!1},f=function(){return null};function S(P,F){if(!P)return f;let W;typeof P!="string"?W=P.pattern:W=P,W=W.trim();const R=`${W}_${!!F.trimForExclusions}`;let z=l.get(R);if(z)return v(z,P);let j;if(o.test(W)){const $=W.substr(4);z=function(G,J){return typeof G=="string"&&G.endsWith($)?W:null}}else(j=c.exec(p(W,F)))?z=_(j[1],W):(F.trimForExclusions?r:d).test(W)?z=y(W,F):(j=s.exec(p(W,F)))?z=E(j[1].substr(1),W,!0):(j=a.exec(p(W,F)))?z=E(j[1],W,!1):z=N(W);return l.set(R,z),v(z,P)}function v(P,F){return typeof F=="string"?P:function(W,R){return(0,m.isEqualOrParent)(W,F.base,!w.isLinux)?P(W.substr(F.base.length+1),R):null}}function p(P,F){return F.trimForExclusions&&P.endsWith("/**")?P.substr(0,P.length-2):P}function _(P,F){const W=`/${P}`,R=`\\${P}`,z=function($,G){return typeof $!="string"?null:G?G===P?F:null:$===P||$.endsWith(W)||$.endsWith(R)?F:null},j=[P];return z.basenames=j,z.patterns=[F],z.allBasenames=j,z}function y(P,F){const W=A(P.slice(1,-1).split(",").map(G=>S(G,F)).filter(G=>G!==f),P),R=W.length;if(!R)return f;if(R===1)return W[0];const z=function(G,J){for(let re=0,se=W.length;re<se;re++)if(W[re](G,J))return P;return null},j=W.find(G=>!!G.allBasenames);j&&(z.allBasenames=j.allBasenames);const $=W.reduce((G,J)=>J.allPaths?G.concat(J.allPaths):G,[]);return $.length&&(z.allPaths=$),z}function E(P,F,W){const R=I.sep===I.posix.sep,z=R?P:P.replace(g,I.sep),j=I.sep+z,$=I.posix.sep+P,G=W?function(J,re){return typeof J=="string"&&(J===z||J.endsWith(j)||!R&&(J===P||J.endsWith($)))?F:null}:function(J,re){return typeof J=="string"&&(J===z||!R&&J===P)?F:null};return G.allPaths=[(W?"*/":"./")+P],G}function N(P){try{const F=new RegExp(`^${i(P)}$`);return function(W){return F.lastIndex=0,typeof W=="string"&&F.test(W)?P:null}}catch{return f}}function D(P,F,W){return!P||typeof F!="string"?!1:M(P)(F,void 0,W)}e.match=D;function M(P,F={}){if(!P)return h;if(typeof P=="string"||B(P)){const W=S(P,F);if(W===f)return h;const R=function(z,j){return!!W(z,j)};return W.allBasenames&&(R.allBasenames=W.allBasenames),W.allPaths&&(R.allPaths=W.allPaths),R}return O(P,F)}e.parse=M;function B(P){const F=P;return F?typeof F.base=="string"&&typeof F.pattern=="string":!1}e.isRelativePattern=B;function O(P,F){const W=A(Object.getOwnPropertyNames(P).map(G=>T(G,P[G],F)).filter(G=>G!==f)),R=W.length;if(!R)return f;if(!W.some(G=>!!G.requiresSiblings)){if(R===1)return W[0];const G=function(se,Z){for(let V=0,K=W.length;V<K;V++){const X=W[V](se,Z);if(X)return X}return null},J=W.find(se=>!!se.allBasenames);J&&(G.allBasenames=J.allBasenames);const re=W.reduce((se,Z)=>Z.allPaths?se.concat(Z.allPaths):se,[]);return re.length&&(G.allPaths=re),G}const z=function(G,J,re){let se;for(let Z=0,V=W.length;Z<V;Z++){const K=W[Z];K.requiresSiblings&&re&&(J||(J=(0,I.basename)(G)),se||(se=J.substr(0,J.length-(0,I.extname)(G).length)));const X=K(G,J,se,re);if(X)return X}return null},j=W.find(G=>!!G.allBasenames);j&&(z.allBasenames=j.allBasenames);const $=W.reduce((G,J)=>J.allPaths?G.concat(J.allPaths):G,[]);return $.length&&(z.allPaths=$),z}function T(P,F,W){if(F===!1)return f;const R=S(P,W);if(R===f)return f;if(typeof F=="boolean")return R;if(F){const z=F.when;if(typeof z=="string"){const j=($,G,J,re)=>{if(!re||!R($,G))return null;const se=z.replace("$(basename)",J),Z=re(se);return(0,L.isThenable)(Z)?Z.then(V=>V?P:null):Z?P:null};return j.requiresSiblings=!0,j}}return R}function A(P,F){const W=P.filter(G=>!!G.basenames);if(W.length<2)return P;const R=W.reduce((G,J)=>{const re=J.basenames;return re?G.concat(re):G},[]);let z;if(F){z=[];for(let G=0,J=R.length;G<J;G++)z.push(F)}else z=W.reduce((G,J)=>{const re=J.patterns;return re?G.concat(re):G},[]);const j=function(G,J){if(typeof G!="string")return null;if(!J){let se;for(se=G.length;se>0;se--){const Z=G.charCodeAt(se-1);if(Z===47||Z===92)break}J=G.substr(se)}const re=R.indexOf(J);return re!==-1?z[re]:null};j.basenames=R,j.patterns=z,j.allBasenames=R;const $=P.filter(G=>!G.basenames);return $.push(j),$}}),define(te[97],ie([1,0,28,75,8]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.matchesFuzzyIconAware=e.parseLabelWithIcons=e.stripIcons=e.markdownEscapeEscapedIcons=e.escapeIcons=e.iconStartMarker=void 0,e.iconStartMarker="$(";const I=new RegExp(`\\$\\(${L.CSSIcon.iconNameExpression}(?:${L.CSSIcon.iconModifierExpression})?\\)`,"g"),w=new RegExp(L.CSSIcon.iconNameCharacter),b=new RegExp(`(\\\\)?${I.source}`,"g");function C(d){return d.replace(b,(r,s)=>s?r:`\\${r}`)}e.escapeIcons=C;const u=new RegExp(`\\\\${I.source}`,"g");function g(d){return d.replace(u,r=>`\\${r}`)}e.markdownEscapeEscapedIcons=g;const t=new RegExp(`(\\s)?(\\\\)?${I.source}(\\s)?`,"g");function n(d){return d.indexOf(e.iconStartMarker)===-1?d:d.replace(t,(r,s,a,l)=>a?r:s||l||"")}e.stripIcons=n;function i(d){const r=d.indexOf(e.iconStartMarker);return r===-1?{text:d}:o(d,r)}e.parseLabelWithIcons=i;function o(d,r){const s=[];let a="";function l(E){if(E){a+=E;for(const N of E)s.push(S)}}let h=-1,f="",S=0,v,p,_=r;const y=d.length;for(l(d.substr(0,r));_<y;)v=d[_],p=d[_+1],v===e.iconStartMarker[0]&&p===e.iconStartMarker[1]?(h=_,l(f),f=e.iconStartMarker,_++):v===")"&&h!==-1?(S+=_-h+1,h=-1,f=""):h!==-1?w.test(v)?f+=v:(l(f),h=-1,f=""):l(v),_++;return l(f),{text:a,iconOffsets:s}}function c(d,r,s=!1){const{text:a,iconOffsets:l}=r;if(!l||l.length===0)return(0,m.matchesFuzzy)(d,a,s);const h=(0,k.ltrim)(a," "),f=a.length-h.length,S=(0,m.matchesFuzzy)(d,h,s);if(S)for(const v of S){const p=l[v.start+f]+f;v.start+=p,v.end+=p}return S}e.matchesFuzzyIconAware=c}),define(te[68],ie([1,0,13,97]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.parseHrefAndDimensions=e.removeMarkdownEscapes=e.escapeMarkdownSyntaxTokens=e.isMarkdownString=e.isEmptyMarkdownString=e.MarkdownString=void 0;class k{constructor(t="",n=!1){var i,o,c;if(this.value=t,typeof this.value!="string")throw(0,L.illegalArgument)("value");typeof n=="boolean"?(this.isTrusted=n,this.supportThemeIcons=!1,this.supportHtml=!1):(this.isTrusted=(i=n.isTrusted)!==null&&i!==void 0?i:void 0,this.supportThemeIcons=(o=n.supportThemeIcons)!==null&&o!==void 0?o:!1,this.supportHtml=(c=n.supportHtml)!==null&&c!==void 0?c:!1)}appendText(t,n=0){return this.value+=b(this.supportThemeIcons?(0,m.escapeIcons)(t):t).replace(/([ \t]+)/g,(i,o)=>"&nbsp;".repeat(o.length)).replace(/\>/gm,"\\>").replace(/\n/g,n===1?`\\
+`:`
+
+`),this}appendMarkdown(t){return this.value+=t,this}appendCodeblock(t,n){return this.value+="\n```",this.value+=t,this.value+=`
+`,this.value+=n,this.value+="\n```\n",this}}e.MarkdownString=k;function I(g){return w(g)?!g.value:Array.isArray(g)?g.every(I):!0}e.isEmptyMarkdownString=I;function w(g){return g instanceof k?!0:g&&typeof g=="object"?typeof g.value=="string"&&(typeof g.isTrusted=="boolean"||g.isTrusted===void 0)&&(typeof g.supportThemeIcons=="boolean"||g.supportThemeIcons===void 0):!1}e.isMarkdownString=w;function b(g){return g.replace(/[\\`*_{}[\]()#+\-!]/g,"\\$&")}e.escapeMarkdownSyntaxTokens=b;function C(g){return g&&g.replace(/\\([\\`*_{}[\]()#+\-.!])/g,"$1")}e.removeMarkdownEscapes=C;function u(g){const t=[],n=g.split("|").map(o=>o.trim());g=n[0];const i=n[1];if(i){const o=/height=(\d+)/.exec(i),c=/width=(\d+)/.exec(i),d=o?o[1]:"",r=c?c[1]:"",s=isFinite(parseInt(r)),a=isFinite(parseInt(d));s&&t.push(`width="${r}"`),a&&t.push(`height="${d}"`)}return{href:g,dimensions:t}}e.parseHrefAndDimensions=u}),define(te[323],ie([1,0,8]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.buildReplaceStringWithCasePreserved=void 0;function m(w,b){if(w&&w[0]!==""){const C=k(w,b,"-"),u=k(w,b,"_");return C&&!u?I(w,b,"-"):!C&&u?I(w,b,"_"):w[0].toUpperCase()===w[0]?b.toUpperCase():w[0].toLowerCase()===w[0]?b.toLowerCase():L.containsUppercaseCharacter(w[0][0])&&b.length>0?b[0].toUpperCase()+b.substr(1):w[0][0].toUpperCase()!==w[0][0]&&b.length>0?b[0].toLowerCase()+b.substr(1):b}else return b}e.buildReplaceStringWithCasePreserved=m;function k(w,b,C){return w[0].indexOf(C)!==-1&&b.indexOf(C)!==-1&&w[0].split(C).length===b.split(C).length}function I(w,b,C){const u=b.split(C),g=w[0].split(C);let t="";return u.forEach((n,i)=>{t+=m([g[i]],n)+C}),t.slice(0,-1)}}),define(te[76],ie([1,0,8]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var m;(function(k){k[k.Ignore=0]="Ignore",k[k.Info=1]="Info",k[k.Warning=2]="Warning",k[k.Error=3]="Error"})(m||(m={})),function(k){const I="error",w="warning",b="warn",C="info",u="ignore";function g(n){return n?L.equalsIgnoreCase(I,n)?k.Error:L.equalsIgnoreCase(w,n)||L.equalsIgnoreCase(b,n)?k.Warning:L.equalsIgnoreCase(C,n)?k.Info:k.Ignore:k.Ignore}k.fromValue=g;function t(n){switch(n){case k.Error:return I;case k.Warning:return w;case k.Info:return C;default:return u}}k.toString=t}(m||(m={})),e.default=m}),define(te[19],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.assertNever=e.withNullAsUndefined=e.createProxyObject=e.getAllMethodNames=e.getAllPropertyNames=e.validateConstraint=e.validateConstraints=e.isFunction=e.assertIsDefined=e.assertType=e.isUndefinedOrNull=e.isDefined=e.isUndefined=e.isBoolean=e.isIterable=e.isNumber=e.isObject=e.isString=e.isArray=void 0;function L(h){return Array.isArray(h)}e.isArray=L;function m(h){return typeof h=="string"}e.isString=m;function k(h){return typeof h=="object"&&h!==null&&!Array.isArray(h)&&!(h instanceof RegExp)&&!(h instanceof Date)}e.isObject=k;function I(h){return typeof h=="number"&&!isNaN(h)}e.isNumber=I;function w(h){return!!h&&typeof h[Symbol.iterator]=="function"}e.isIterable=w;function b(h){return h===!0||h===!1}e.isBoolean=b;function C(h){return typeof h=="undefined"}e.isUndefined=C;function u(h){return!g(h)}e.isDefined=u;function g(h){return C(h)||h===null}e.isUndefinedOrNull=g;function t(h,f){if(!h)throw new Error(f?`Unexpected type, expected '${f}'`:"Unexpected type")}e.assertType=t;function n(h){if(g(h))throw new Error("Assertion Failed: argument is undefined or null");return h}e.assertIsDefined=n;function i(h){return typeof h=="function"}e.isFunction=i;function o(h,f){const S=Math.min(h.length,f.length);for(let v=0;v<S;v++)c(h[v],f[v])}e.validateConstraints=o;function c(h,f){if(m(f)){if(typeof h!==f)throw new Error(`argument does not match constraint: typeof ${f}`)}else if(i(f)){try{if(h instanceof f)return}catch{}if(!g(h)&&h.constructor===f||f.length===1&&f.call(void 0,h)===!0)return;throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}e.validateConstraint=c;function d(h){let f=[],S=Object.getPrototypeOf(h);for(;Object.prototype!==S;)f=f.concat(Object.getOwnPropertyNames(S)),S=Object.getPrototypeOf(S);return f}e.getAllPropertyNames=d;function r(h){const f=[];for(const S of d(h))typeof h[S]=="function"&&f.push(S);return f}e.getAllMethodNames=r;function s(h,f){const S=p=>function(){const _=Array.prototype.slice.call(arguments,0);return f(p,_)};let v={};for(const p of h)v[p]=S(p);return v}e.createProxyObject=s;function a(h){return h===null?void 0:h}e.withNullAsUndefined=a;function l(h,f="Unreachable"){throw new Error(f)}e.assertNever=l}),define(te[40],ie([1,0,19]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getOrDefault=e.equals=e.mixin=e.cloneAndChange=e.deepFreeze=e.deepClone=void 0;function m(t){if(!t||typeof t!="object"||t instanceof RegExp)return t;const n=Array.isArray(t)?[]:{};return Object.keys(t).forEach(i=>{t[i]&&typeof t[i]=="object"?n[i]=m(t[i]):n[i]=t[i]}),n}e.deepClone=m;function k(t){if(!t||typeof t!="object")return t;const n=[t];for(;n.length>0;){const i=n.shift();Object.freeze(i);for(const o in i)if(I.call(i,o)){const c=i[o];typeof c=="object"&&!Object.isFrozen(c)&&n.push(c)}}return t}e.deepFreeze=k;const I=Object.prototype.hasOwnProperty;function w(t,n){return b(t,n,new Set)}e.cloneAndChange=w;function b(t,n,i){if((0,L.isUndefinedOrNull)(t))return t;const o=n(t);if(typeof o!="undefined")return o;if((0,L.isArray)(t)){const c=[];for(const d of t)c.push(b(d,n,i));return c}if((0,L.isObject)(t)){if(i.has(t))throw new Error("Cannot clone recursive data-structure");i.add(t);const c={};for(let d in t)I.call(t,d)&&(c[d]=b(t[d],n,i));return i.delete(t),c}return t}function C(t,n,i=!0){return(0,L.isObject)(t)?((0,L.isObject)(n)&&Object.keys(n).forEach(o=>{o in t?i&&((0,L.isObject)(t[o])&&(0,L.isObject)(n[o])?C(t[o],n[o],i):t[o]=n[o]):t[o]=n[o]}),t):n}e.mixin=C;function u(t,n){if(t===n)return!0;if(t==null||n===null||n===void 0||typeof t!=typeof n||typeof t!="object"||Array.isArray(t)!==Array.isArray(n))return!1;let i,o;if(Array.isArray(t)){if(t.length!==n.length)return!1;for(i=0;i<t.length;i++)if(!u(t[i],n[i]))return!1}else{const c=[];for(o in t)c.push(o);c.sort();const d=[];for(o in n)d.push(o);if(d.sort(),!u(c,d))return!1;for(i=0;i<c.length;i++)if(!u(t[c[i]],n[c[i]]))return!1}return!0}e.equals=u;function g(t,n,i){const o=n(t);return typeof o=="undefined"?i:o}e.getOrDefault=g}),define(te[142],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.toUint32=e.toUint8=void 0;function L(k){return k<0?0:k>255?255:k|0}e.toUint8=L;function m(k){return k<0?0:k>4294967295?4294967295:k|0}e.toUint32=m}),define(te[25],ie([1,0,84,16]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.uriToFsPath=e.URI=void 0;const k=/^\w[\w\d+.-]*$/,I=/^\//,w=/^\/\//;function b(v,p){if(!v.scheme&&p)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${v.authority}", path: "${v.path}", query: "${v.query}", fragment: "${v.fragment}"}`);if(v.scheme&&!k.test(v.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(v.path){if(v.authority){if(!I.test(v.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(w.test(v.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}function C(v,p){return!v&&!p?"file":v}function u(v,p){switch(v){case"https":case"http":case"file":p?p[0]!==t&&(p=t+p):p=t;break}return p}const g="",t="/",n=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class i{constructor(p,_,y,E,N,D=!1){typeof p=="object"?(this.scheme=p.scheme||g,this.authority=p.authority||g,this.path=p.path||g,this.query=p.query||g,this.fragment=p.fragment||g):(this.scheme=C(p,D),this.authority=_||g,this.path=u(this.scheme,y||g),this.query=E||g,this.fragment=N||g,b(this,D))}static isUri(p){return p instanceof i?!0:p?typeof p.authority=="string"&&typeof p.fragment=="string"&&typeof p.path=="string"&&typeof p.query=="string"&&typeof p.scheme=="string"&&typeof p.fsPath=="string"&&typeof p.with=="function"&&typeof p.toString=="function":!1}get fsPath(){return a(this,!1)}with(p){if(!p)return this;let{scheme:_,authority:y,path:E,query:N,fragment:D}=p;return _===void 0?_=this.scheme:_===null&&(_=g),y===void 0?y=this.authority:y===null&&(y=g),E===void 0?E=this.path:E===null&&(E=g),N===void 0?N=this.query:N===null&&(N=g),D===void 0?D=this.fragment:D===null&&(D=g),_===this.scheme&&y===this.authority&&E===this.path&&N===this.query&&D===this.fragment?this:new c(_,y,E,N,D)}static parse(p,_=!1){const y=n.exec(p);return y?new c(y[2]||g,S(y[4]||g),S(y[5]||g),S(y[7]||g),S(y[9]||g),_):new c(g,g,g,g,g)}static file(p){let _=g;if(m.isWindows&&(p=p.replace(/\\/g,t)),p[0]===t&&p[1]===t){const y=p.indexOf(t,2);y===-1?(_=p.substring(2),p=t):(_=p.substring(2,y),p=p.substring(y)||t)}return new c("file",_,p,g,g)}static from(p){const _=new c(p.scheme,p.authority,p.path,p.query,p.fragment);return b(_,!0),_}static joinPath(p,..._){if(!p.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let y;return m.isWindows&&p.scheme==="file"?y=i.file(L.win32.join(a(p,!0),..._)).path:y=L.posix.join(p.path,..._),p.with({path:y})}toString(p=!1){return l(this,p)}toJSON(){return this}static revive(p){if(p){if(p instanceof i)return p;{const _=new c(p);return _._formatted=p.external,_._fsPath=p._sep===o?p.fsPath:null,_}}else return p}}e.URI=i;const o=m.isWindows?1:void 0;class c extends i{constructor(){super(...arguments);this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=a(this,!1)),this._fsPath}toString(p=!1){return p?l(this,!0):(this._formatted||(this._formatted=l(this,!1)),this._formatted)}toJSON(){const p={$mid:1};return this._fsPath&&(p.fsPath=this._fsPath,p._sep=o),this._formatted&&(p.external=this._formatted),this.path&&(p.path=this.path),this.scheme&&(p.scheme=this.scheme),this.authority&&(p.authority=this.authority),this.query&&(p.query=this.query),this.fragment&&(p.fragment=this.fragment),p}}const d={[58]:"%3A",[47]:"%2F",[63]:"%3F",[35]:"%23",[91]:"%5B",[93]:"%5D",[64]:"%40",[33]:"%21",[36]:"%24",[38]:"%26",[39]:"%27",[40]:"%28",[41]:"%29",[42]:"%2A",[43]:"%2B",[44]:"%2C",[59]:"%3B",[61]:"%3D",[32]:"%20"};function r(v,p){let _,y=-1;for(let E=0;E<v.length;E++){const N=v.charCodeAt(E);if(N>=97&&N<=122||N>=65&&N<=90||N>=48&&N<=57||N===45||N===46||N===95||N===126||p&&N===47)y!==-1&&(_+=encodeURIComponent(v.substring(y,E)),y=-1),_!==void 0&&(_+=v.charAt(E));else{_===void 0&&(_=v.substr(0,E));const D=d[N];D!==void 0?(y!==-1&&(_+=encodeURIComponent(v.substring(y,E)),y=-1),_+=D):y===-1&&(y=E)}}return y!==-1&&(_+=encodeURIComponent(v.substring(y))),_!==void 0?_:v}function s(v){let p;for(let _=0;_<v.length;_++){const y=v.charCodeAt(_);y===35||y===63?(p===void 0&&(p=v.substr(0,_)),p+=d[y]):p!==void 0&&(p+=v[_])}return p!==void 0?p:v}function a(v,p){let _;return v.authority&&v.path.length>1&&v.scheme==="file"?_=`//${v.authority}${v.path}`:v.path.charCodeAt(0)===47&&(v.path.charCodeAt(1)>=65&&v.path.charCodeAt(1)<=90||v.path.charCodeAt(1)>=97&&v.path.charCodeAt(1)<=122)&&v.path.charCodeAt(2)===58?p?_=v.path.substr(1):_=v.path[1].toLowerCase()+v.path.substr(2):_=v.path,m.isWindows&&(_=_.replace(/\//g,"\\")),_}e.uriToFsPath=a;function l(v,p){const _=p?s:r;let y="",{scheme:E,authority:N,path:D,query:M,fragment:B}=v;if(E&&(y+=E,y+=":"),(N||E==="file")&&(y+=t,y+=t),N){let O=N.indexOf("@");if(O!==-1){const T=N.substr(0,O);N=N.substr(O+1),O=T.indexOf(":"),O===-1?y+=_(T,!1):(y+=_(T.substr(0,O),!1),y+=":",y+=_(T.substr(O+1),!1)),y+="@"}N=N.toLowerCase(),O=N.indexOf(":"),O===-1?y+=_(N,!1):(y+=_(N.substr(0,O),!1),y+=N.substr(O))}if(D){if(D.length>=3&&D.charCodeAt(0)===47&&D.charCodeAt(2)===58){const O=D.charCodeAt(1);O>=65&&O<=90&&(D=`/${String.fromCharCode(O+32)}:${D.substr(3)}`)}else if(D.length>=2&&D.charCodeAt(1)===58){const O=D.charCodeAt(0);O>=65&&O<=90&&(D=`${String.fromCharCode(O+32)}:${D.substr(2)}`)}y+=_(D,!0)}return M&&(y+="?",y+=_(M,!1)),B&&(y+="#",y+=p?B:r(B,!1)),y}function h(v){try{return decodeURIComponent(v)}catch{return v.length>3?v.substr(0,3)+h(v.substr(3)):v}}const f=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function S(v){return v.match(f)?v.replace(f,p=>h(p)):v}}),define(te[219],ie([1,0,112,25]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.revive=e.parse=void 0;function k(w){let b=JSON.parse(w);return b=I(b),b}e.parse=k;function I(w,b=0){if(!w||b>200)return w;if(typeof w=="object"){switch(w.$mid){case 1:return m.URI.revive(w);case 2:return new RegExp(w.source,w.flags);case 14:return new Date(w.source)}if(w instanceof L.VSBuffer||w instanceof Uint8Array)return w;if(Array.isArray(w))for(let C=0;C<w.length;++C)w[C]=I(w[C],b+1);else for(const C in w)Object.hasOwnProperty.call(w,C)&&(w[C]=I(w[C],b+1))}return w}e.revive=I}),define(te[45],ie([1,0,16,25]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FileAccess=e.RemoteAuthorities=e.connectionTokenQueryName=e.Schemas=void 0;var k;(function(b){b.inMemory="inmemory",b.vscode="vscode",b.internal="private",b.walkThrough="walkThrough",b.walkThroughSnippet="walkThroughSnippet",b.http="http",b.https="https",b.file="file",b.mailto="mailto",b.untitled="untitled",b.data="data",b.command="command",b.vscodeRemote="vscode-remote",b.vscodeRemoteResource="vscode-remote-resource",b.userData="vscode-userdata",b.vscodeCustomEditor="vscode-custom-editor",b.vscodeNotebook="vscode-notebook",b.vscodeNotebookCell="vscode-notebook-cell",b.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata",b.vscodeNotebookCellOutput="vscode-notebook-cell-output",b.vscodeInteractive="vscode-interactive",b.vscodeInteractiveInput="vscode-interactive-input",b.vscodeSettings="vscode-settings",b.vscodeWorkspaceTrust="vscode-workspace-trust",b.vscodeTerminal="vscode-terminal",b.webviewPanel="webview-panel",b.vscodeWebview="vscode-webview",b.extension="extension",b.vscodeFileResource="vscode-file",b.tmp="tmp",b.vsls="vsls"})(k=e.Schemas||(e.Schemas={})),e.connectionTokenQueryName="tkn";class I{constructor(){this._hosts=Object.create(null),this._ports=Object.create(null),this._connectionTokens=Object.create(null),this._preferredWebSchema="http",this._delegate=null}setPreferredWebSchema(C){this._preferredWebSchema=C}rewrite(C){if(this._delegate)return this._delegate(C);const u=C.authority;let g=this._hosts[u];g&&g.indexOf(":")!==-1&&(g=`[${g}]`);const t=this._ports[u],n=this._connectionTokens[u];let i=`path=${encodeURIComponent(C.path)}`;return typeof n=="string"&&(i+=`&${e.connectionTokenQueryName}=${encodeURIComponent(n)}`),m.URI.from({scheme:L.isWeb?this._preferredWebSchema:k.vscodeRemoteResource,authority:`${g}:${t}`,path:"/vscode-remote-resource",query:i})}}e.RemoteAuthorities=new I;class w{asBrowserUri(C,u){const g=this.toUri(C,u);return g.scheme===k.vscodeRemote?e.RemoteAuthorities.rewrite(g):g.scheme===k.file&&(L.isNative||L.isWebWorker&&L.globals.origin===`${k.vscodeFileResource}://${w.FALLBACK_AUTHORITY}`)?g.with({scheme:k.vscodeFileResource,authority:g.authority||w.FALLBACK_AUTHORITY,query:null,fragment:null}):g}toUri(C,u){return m.URI.isUri(C)?C:m.URI.parse(u.toUrl(C))}}w.FALLBACK_AUTHORITY="vscode-app",e.FileAccess=new w}),define(te[7],ie([1,0,34,167,44,59,10,13,4,2,45,16]),function(q,e,L,m,k,I,w,b,C,u,g,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.addMatchMediaChangeListener=e.ModifierKeyEmitter=e.asCSSPropertyValue=e.asCSSUrl=e.animate=e.windowOpenNoOpener=e.computeScreenAwareSize=e.getElementsByTagName=e.hide=e.show=e.$=e.Namespace=e.reset=e.prepend=e.append=e.trackFocus=e.restoreParentsScrollTop=e.saveParentsScrollTop=e.EventHelper=e.EventType=e.isHTMLElement=e.removeCSSRulesContainingSelector=e.createCSSRule=e.createStyleSheet=e.getActiveElement=e.getShadowRoot=e.isInShadowDOM=e.isShadowRoot=e.hasParentWithClass=e.findParentWithClass=e.isAncestor=e.getTotalHeight=e.getContentHeight=e.getContentWidth=e.getTotalWidth=e.StandardWindow=e.getDomNodePagePosition=e.size=e.getTopLeftOffset=e.Dimension=e.getClientArea=e.getComputedStyle=e.addDisposableThrottledListener=e.scheduleAtNextAnimationFrame=e.runAtThisOrScheduleAtNextAnimationFrame=e.createEventEmitter=e.addDisposableNonBubblingPointerOutListener=e.addDisposableNonBubblingMouseOutListener=e.addDisposableGenericMouseUpListener=e.addDisposableGenericMouseDownListener=e.addStandardDisposableGenericMouseUpListener=e.addStandardDisposableGenericMouseDownListener=e.addStandardDisposableListener=e.addDisposableListener=e.isInDOM=e.clearNode=void 0;function n(Le){for(;Le.firstChild;)Le.firstChild.remove()}e.clearNode=n;function i(Le){var Se;return(Se=Le==null?void 0:Le.isConnected)!==null&&Se!==void 0?Se:!1}e.isInDOM=i;class o{constructor(Se,De,Pe,Fe){this._node=Se,this._type=De,this._handler=Pe,this._options=Fe||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){!this._handler||(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,this._handler=null)}}function c(Le,Se,De,Pe){return new o(Le,Se,De,Pe)}e.addDisposableListener=c;function d(Le){return function(Se){return Le(new I.StandardMouseEvent(Se))}}function r(Le){return function(Se){return Le(new k.StandardKeyboardEvent(Se))}}let s=function(Se,De,Pe,Fe){let ze=Pe;return De==="click"||De==="mousedown"?ze=d(Pe):(De==="keydown"||De==="keypress"||De==="keyup")&&(ze=r(Pe)),c(Se,De,ze,Fe)};e.addStandardDisposableListener=s;let a=function(Se,De,Pe){let Fe=d(De);return h(Se,Fe,Pe)};e.addStandardDisposableGenericMouseDownListener=a;let l=function(Se,De,Pe){let Fe=d(De);return f(Se,Fe,Pe)};e.addStandardDisposableGenericMouseUpListener=l;function h(Le,Se,De){return c(Le,t.isIOS&&m.BrowserFeatures.pointerEvents?e.EventType.POINTER_DOWN:e.EventType.MOUSE_DOWN,Se,De)}e.addDisposableGenericMouseDownListener=h;function f(Le,Se,De){return c(Le,t.isIOS&&m.BrowserFeatures.pointerEvents?e.EventType.POINTER_UP:e.EventType.MOUSE_UP,Se,De)}e.addDisposableGenericMouseUpListener=f;function S(Le,Se){return c(Le,"mouseout",De=>{let Pe=De.relatedTarget;for(;Pe&&Pe!==Le;)Pe=Pe.parentNode;Pe!==Le&&Se(De)})}e.addDisposableNonBubblingMouseOutListener=S;function v(Le,Se){return c(Le,"pointerout",De=>{let Pe=De.relatedTarget;for(;Pe&&Pe!==Le;)Pe=Pe.parentNode;Pe!==Le&&Se(De)})}e.addDisposableNonBubblingPointerOutListener=v;function p(Le,Se,De){let Pe=null;const Fe=Ve=>$e.fire(Ve),ze=()=>{Pe||(Pe=new o(Le,Se,Fe,De))},Ke=()=>{Pe&&(Pe.dispose(),Pe=null)},$e=new C.Emitter({onFirstListenerAdd:ze,onLastListenerRemove:Ke});return $e}e.createEventEmitter=p;let _=null;function y(Le){if(!_){const Se=De=>setTimeout(()=>De(new Date().getTime()),0);_=self.requestAnimationFrame||self.msRequestAnimationFrame||self.webkitRequestAnimationFrame||self.mozRequestAnimationFrame||self.oRequestAnimationFrame||Se}return _.call(self,Le)}class E{constructor(Se,De=0){this._runner=Se,this.priority=De,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(Se){(0,b.onUnexpectedError)(Se)}}static sort(Se,De){return De.priority-Se.priority}}(function(){let Le=[],Se=null,De=!1,Pe=!1,Fe=()=>{for(De=!1,Se=Le,Le=[],Pe=!0;Se.length>0;)Se.sort(E.sort),Se.shift().execute();Pe=!1};e.scheduleAtNextAnimationFrame=(ze,Ke=0)=>{let $e=new E(ze,Ke);return Le.push($e),De||(De=!0,y(Fe)),$e},e.runAtThisOrScheduleAtNextAnimationFrame=(ze,Ke)=>{if(Pe){let $e=new E(ze,Ke);return Se.push($e),$e}else return(0,e.scheduleAtNextAnimationFrame)(ze,Ke)}})();const N=8,D=function(Le,Se){return Se};class M extends u.Disposable{constructor(Se,De,Pe,Fe=D,ze=N){super();let Ke=null,$e=0,Ve=this._register(new w.TimeoutTimer),tt=()=>{$e=new Date().getTime(),Pe(Ke),Ke=null};this._register(c(Se,De,Be=>{Ke=Fe(Ke,Be);let Ee=new Date().getTime()-$e;Ee>=ze?(Ve.cancel(),tt()):Ve.setIfNotSet(tt,ze-Ee)}))}}function B(Le,Se,De,Pe,Fe){return new M(Le,Se,De,Pe,Fe)}e.addDisposableThrottledListener=B;function O(Le){return document.defaultView.getComputedStyle(Le,null)}e.getComputedStyle=O;function T(Le){if(Le!==document.body)return new P(Le.clientWidth,Le.clientHeight);if(t.isIOS&&window.visualViewport)return new P(window.visualViewport.width,window.visualViewport.height);if(window.innerWidth&&window.innerHeight)return new P(window.innerWidth,window.innerHeight);if(document.body&&document.body.clientWidth&&document.body.clientHeight)return new P(document.body.clientWidth,document.body.clientHeight);if(document.documentElement&&document.documentElement.clientWidth&&document.documentElement.clientHeight)return new P(document.documentElement.clientWidth,document.documentElement.clientHeight);throw new Error("Unable to figure out browser width and height")}e.getClientArea=T;class A{static convertToPixels(Se,De){return parseFloat(De)||0}static getDimension(Se,De,Pe){let Fe=O(Se),ze="0";return Fe&&(Fe.getPropertyValue?ze=Fe.getPropertyValue(De):ze=Fe.getAttribute(Pe)),A.convertToPixels(Se,ze)}static getBorderLeftWidth(Se){return A.getDimension(Se,"border-left-width","borderLeftWidth")}static getBorderRightWidth(Se){return A.getDimension(Se,"border-right-width","borderRightWidth")}static getBorderTopWidth(Se){return A.getDimension(Se,"border-top-width","borderTopWidth")}static getBorderBottomWidth(Se){return A.getDimension(Se,"border-bottom-width","borderBottomWidth")}static getPaddingLeft(Se){return A.getDimension(Se,"padding-left","paddingLeft")}static getPaddingRight(Se){return A.getDimension(Se,"padding-right","paddingRight")}static getPaddingTop(Se){return A.getDimension(Se,"padding-top","paddingTop")}static getPaddingBottom(Se){return A.getDimension(Se,"padding-bottom","paddingBottom")}static getMarginLeft(Se){return A.getDimension(Se,"margin-left","marginLeft")}static getMarginTop(Se){return A.getDimension(Se,"margin-top","marginTop")}static getMarginRight(Se){return A.getDimension(Se,"margin-right","marginRight")}static getMarginBottom(Se){return A.getDimension(Se,"margin-bottom","marginBottom")}}class P{constructor(Se,De){this.width=Se,this.height=De}with(Se=this.width,De=this.height){return Se!==this.width||De!==this.height?new P(Se,De):this}static is(Se){return typeof Se=="object"&&typeof Se.height=="number"&&typeof Se.width=="number"}static lift(Se){return Se instanceof P?Se:new P(Se.width,Se.height)}static equals(Se,De){return Se===De?!0:!Se||!De?!1:Se.width===De.width&&Se.height===De.height}}e.Dimension=P,P.None=new P(0,0);function F(Le){let Se=Le.offsetParent,De=Le.offsetTop,Pe=Le.offsetLeft;for(;(Le=Le.parentNode)!==null&&Le!==document.body&&Le!==document.documentElement;){De-=Le.scrollTop;const Fe=Z(Le)?null:O(Le);Fe&&(Pe-=Fe.direction!=="rtl"?Le.scrollLeft:-Le.scrollLeft),Le===Se&&(Pe+=A.getBorderLeftWidth(Le),De+=A.getBorderTopWidth(Le),De+=Le.offsetTop,Pe+=Le.offsetLeft,Se=Le.offsetParent)}return{left:Pe,top:De}}e.getTopLeftOffset=F;function W(Le,Se,De){typeof Se=="number"&&(Le.style.width=`${Se}px`),typeof De=="number"&&(Le.style.height=`${De}px`)}e.size=W;function R(Le){let Se=Le.getBoundingClientRect();return{left:Se.left+e.StandardWindow.scrollX,top:Se.top+e.StandardWindow.scrollY,width:Se.width,height:Se.height}}e.getDomNodePagePosition=R,e.StandardWindow=new class{get scrollX(){return typeof window.scrollX=="number"?window.scrollX:document.body.scrollLeft+document.documentElement.scrollLeft}get scrollY(){return typeof window.scrollY=="number"?window.scrollY:document.body.scrollTop+document.documentElement.scrollTop}};function z(Le){let Se=A.getMarginLeft(Le)+A.getMarginRight(Le);return Le.offsetWidth+Se}e.getTotalWidth=z;function j(Le){let Se=A.getBorderLeftWidth(Le)+A.getBorderRightWidth(Le),De=A.getPaddingLeft(Le)+A.getPaddingRight(Le);return Le.offsetWidth-Se-De}e.getContentWidth=j;function $(Le){let Se=A.getBorderTopWidth(Le)+A.getBorderBottomWidth(Le),De=A.getPaddingTop(Le)+A.getPaddingBottom(Le);return Le.offsetHeight-Se-De}e.getContentHeight=$;function G(Le){let Se=A.getMarginTop(Le)+A.getMarginBottom(Le);return Le.offsetHeight+Se}e.getTotalHeight=G;function J(Le,Se){for(;Le;){if(Le===Se)return!0;Le=Le.parentNode}return!1}e.isAncestor=J;function re(Le,Se,De){for(;Le&&Le.nodeType===Le.ELEMENT_NODE;){if(Le.classList.contains(Se))return Le;if(De){if(typeof De=="string"){if(Le.classList.contains(De))return null}else if(Le===De)return null}Le=Le.parentNode}return null}e.findParentWithClass=re;function se(Le,Se,De){return!!re(Le,Se,De)}e.hasParentWithClass=se;function Z(Le){return Le&&!!Le.host&&!!Le.mode}e.isShadowRoot=Z;function V(Le){return!!K(Le)}e.isInShadowDOM=V;function K(Le){for(;Le.parentNode;){if(Le===document.body)return null;Le=Le.parentNode}return Z(Le)?Le:null}e.getShadowRoot=K;function X(){let Le=document.activeElement;for(;Le==null?void 0:Le.shadowRoot;)Le=Le.shadowRoot.activeElement;return Le}e.getActiveElement=X;function oe(Le=document.getElementsByTagName("head")[0]){let Se=document.createElement("style");return Se.type="text/css",Se.media="screen",Le.appendChild(Se),Se}e.createStyleSheet=oe;let ae=null;function ee(){return ae||(ae=oe()),ae}function ue(Le){var Se,De;return((Se=Le==null?void 0:Le.sheet)===null||Se===void 0?void 0:Se.rules)?Le.sheet.rules:((De=Le==null?void 0:Le.sheet)===null||De===void 0?void 0:De.cssRules)?Le.sheet.cssRules:[]}function le(Le,Se,De=ee()){!De||!Se||De.sheet.insertRule(Le+"{"+Se+"}",0)}e.createCSSRule=le;function x(Le,Se=ee()){if(!Se)return;let De=ue(Se),Pe=[];for(let Fe=0;Fe<De.length;Fe++)De[Fe].selectorText.indexOf(Le)!==-1&&Pe.push(Fe);for(let Fe=Pe.length-1;Fe>=0;Fe--)Se.sheet.deleteRule(Pe[Fe])}e.removeCSSRulesContainingSelector=x;function H(Le){return typeof HTMLElement=="object"?Le instanceof HTMLElement:Le&&typeof Le=="object"&&Le.nodeType===1&&typeof Le.nodeName=="string"}e.isHTMLElement=H,e.EventType={CLICK:"click",AUXCLICK:"auxclick",DBLCLICK:"dblclick",MOUSE_UP:"mouseup",MOUSE_DOWN:"mousedown",MOUSE_OVER:"mouseover",MOUSE_MOVE:"mousemove",MOUSE_OUT:"mouseout",MOUSE_ENTER:"mouseenter",MOUSE_LEAVE:"mouseleave",MOUSE_WHEEL:"wheel",POINTER_UP:"pointerup",POINTER_DOWN:"pointerdown",POINTER_MOVE:"pointermove",CONTEXT_MENU:"contextmenu",WHEEL:"wheel",KEY_DOWN:"keydown",KEY_PRESS:"keypress",KEY_UP:"keyup",LOAD:"load",BEFORE_UNLOAD:"beforeunload",UNLOAD:"unload",PAGE_SHOW:"pageshow",PAGE_HIDE:"pagehide",ABORT:"abort",ERROR:"error",RESIZE:"resize",SCROLL:"scroll",FULLSCREEN_CHANGE:"fullscreenchange",WK_FULLSCREEN_CHANGE:"webkitfullscreenchange",SELECT:"select",CHANGE:"change",SUBMIT:"submit",RESET:"reset",FOCUS:"focus",FOCUS_IN:"focusin",FOCUS_OUT:"focusout",BLUR:"blur",INPUT:"input",STORAGE:"storage",DRAG_START:"dragstart",DRAG:"drag",DRAG_ENTER:"dragenter",DRAG_LEAVE:"dragleave",DRAG_OVER:"dragover",DROP:"drop",DRAG_END:"dragend",ANIMATION_START:L.isWebKit?"webkitAnimationStart":"animationstart",ANIMATION_END:L.isWebKit?"webkitAnimationEnd":"animationend",ANIMATION_ITERATION:L.isWebKit?"webkitAnimationIteration":"animationiteration"},e.EventHelper={stop:function(Le,Se){Le.preventDefault?Le.preventDefault():Le.returnValue=!1,Se&&(Le.stopPropagation?Le.stopPropagation():Le.cancelBubble=!0)}};function U(Le){let Se=[];for(let De=0;Le&&Le.nodeType===Le.ELEMENT_NODE;De++)Se[De]=Le.scrollTop,Le=Le.parentNode;return Se}e.saveParentsScrollTop=U;function Q(Le,Se){for(let De=0;Le&&Le.nodeType===Le.ELEMENT_NODE;De++)Le.scrollTop!==Se[De]&&(Le.scrollTop=Se[De]),Le=Le.parentNode}e.restoreParentsScrollTop=Q;class Y extends u.Disposable{constructor(Se){super();this._onDidFocus=this._register(new C.Emitter),this.onDidFocus=this._onDidFocus.event,this._onDidBlur=this._register(new C.Emitter),this.onDidBlur=this._onDidBlur.event;let De=Y.hasFocusWithin(Se),Pe=!1;const Fe=()=>{Pe=!1,De||(De=!0,this._onDidFocus.fire())},ze=()=>{De&&(Pe=!0,window.setTimeout(()=>{Pe&&(Pe=!1,De=!1,this._onDidBlur.fire())},0))};this._refreshStateHandler=()=>{Y.hasFocusWithin(Se)!==De&&(De?ze():Fe())},this._register(c(Se,e.EventType.FOCUS,Fe,!0)),this._register(c(Se,e.EventType.BLUR,ze,!0)),this._register(c(Se,e.EventType.FOCUS_IN,()=>this._refreshStateHandler())),this._register(c(Se,e.EventType.FOCUS_OUT,()=>this._refreshStateHandler()))}static hasFocusWithin(Se){const De=K(Se),Pe=De?De.activeElement:document.activeElement;return J(Pe,Se)}}function ne(Le){return new Y(Le)}e.trackFocus=ne;function ge(Le,...Se){if(Le.append(...Se),Se.length===1&&typeof Se[0]!="string")return Se[0]}e.append=ge;function fe(Le,Se){return Le.insertBefore(Se,Le.firstChild),Se}e.prepend=fe;function ce(Le,...Se){Le.innerText="",ge(Le,...Se)}e.reset=ce;const he=/([\w\-]+)?(#([\w\-]+))?((\.([\w\-]+))*)/;var ve;(function(Le){Le.HTML="http://www.w3.org/1999/xhtml",Le.SVG="http://www.w3.org/2000/svg"})(ve=e.Namespace||(e.Namespace={}));function Ce(Le,Se,De,...Pe){let Fe=he.exec(Se);if(!Fe)throw new Error("Bad use of emmet");De=Object.assign({},De||{});let ze=Fe[1]||"div",Ke;return Le!==ve.HTML?Ke=document.createElementNS(Le,ze):Ke=document.createElement(ze),Fe[3]&&(Ke.id=Fe[3]),Fe[4]&&(Ke.className=Fe[4].replace(/\./g," ").trim()),Object.keys(De).forEach($e=>{const Ve=De[$e];typeof Ve!="undefined"&&(/^on\w+$/.test($e)?Ke[$e]=Ve:$e==="selected"?Ve&&Ke.setAttribute($e,"true"):Ke.setAttribute($e,Ve))}),Ke.append(...Pe),Ke}function be(Le,Se,...De){return Ce(ve.HTML,Le,Se,...De)}e.$=be,be.SVG=function(Le,Se,...De){return Ce(ve.SVG,Le,Se,...De)};function de(...Le){for(let Se of Le)Se.style.display="",Se.removeAttribute("aria-hidden")}e.show=de;function me(...Le){for(let Se of Le)Se.style.display="none",Se.setAttribute("aria-hidden","true")}e.hide=me;function _e(Le){return Array.prototype.slice.call(document.getElementsByTagName(Le),0)}e.getElementsByTagName=_e;function ye(Le){const Se=window.devicePixelRatio*Le;return Math.max(1,Math.floor(Se))/window.devicePixelRatio}e.computeScreenAwareSize=ye;function ke(Le){window.open(Le,"_blank","noopener")}e.windowOpenNoOpener=ke;function Te(Le){const Se=()=>{Le(),De=(0,e.scheduleAtNextAnimationFrame)(Se)};let De=(0,e.scheduleAtNextAnimationFrame)(Se);return(0,u.toDisposable)(()=>De.dispose())}e.animate=Te,g.RemoteAuthorities.setPreferredWebSchema(/^https:/.test(window.location.href)?"https":"http");function Me(Le){return Le?`url('${g.FileAccess.asBrowserUri(Le).toString(!0).replace(/'/g,"%27")}')`:"url('')"}e.asCSSUrl=Me;function We(Le){return`'${Le.replace(/'/g,"%27")}'`}e.asCSSPropertyValue=We;class xe extends C.Emitter{constructor(){super();this._subscriptions=new u.DisposableStore,this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1},this._subscriptions.add(c(window,"keydown",Se=>{if(Se.defaultPrevented)return;const De=new k.StandardKeyboardEvent(Se);if(!(De.keyCode===6&&Se.repeat)){if(Se.altKey&&!this._keyStatus.altKey)this._keyStatus.lastKeyPressed="alt";else if(Se.ctrlKey&&!this._keyStatus.ctrlKey)this._keyStatus.lastKeyPressed="ctrl";else if(Se.metaKey&&!this._keyStatus.metaKey)this._keyStatus.lastKeyPressed="meta";else if(Se.shiftKey&&!this._keyStatus.shiftKey)this._keyStatus.lastKeyPressed="shift";else if(De.keyCode!==6)this._keyStatus.lastKeyPressed=void 0;else return;this._keyStatus.altKey=Se.altKey,this._keyStatus.ctrlKey=Se.ctrlKey,this._keyStatus.metaKey=Se.metaKey,this._keyStatus.shiftKey=Se.shiftKey,this._keyStatus.lastKeyPressed&&(this._keyStatus.event=Se,this.fire(this._keyStatus))}},!0)),this._subscriptions.add(c(window,"keyup",Se=>{Se.defaultPrevented||(!Se.altKey&&this._keyStatus.altKey?this._keyStatus.lastKeyReleased="alt":!Se.ctrlKey&&this._keyStatus.ctrlKey?this._keyStatus.lastKeyReleased="ctrl":!Se.metaKey&&this._keyStatus.metaKey?this._keyStatus.lastKeyReleased="meta":!Se.shiftKey&&this._keyStatus.shiftKey?this._keyStatus.lastKeyReleased="shift":this._keyStatus.lastKeyReleased=void 0,this._keyStatus.lastKeyPressed!==this._keyStatus.lastKeyReleased&&(this._keyStatus.lastKeyPressed=void 0),this._keyStatus.altKey=Se.altKey,this._keyStatus.ctrlKey=Se.ctrlKey,this._keyStatus.metaKey=Se.metaKey,this._keyStatus.shiftKey=Se.shiftKey,this._keyStatus.lastKeyReleased&&(this._keyStatus.event=Se,this.fire(this._keyStatus)))},!0)),this._subscriptions.add(c(document.body,"mousedown",()=>{this._keyStatus.lastKeyPressed=void 0},!0)),this._subscriptions.add(c(document.body,"mouseup",()=>{this._keyStatus.lastKeyPressed=void 0},!0)),this._subscriptions.add(c(document.body,"mousemove",Se=>{Se.buttons&&(this._keyStatus.lastKeyPressed=void 0)},!0)),this._subscriptions.add(c(window,"blur",()=>{this.resetKeyStatus()}))}get keyStatus(){return this._keyStatus}resetKeyStatus(){this.doResetKeyStatus(),this.fire(this._keyStatus)}doResetKeyStatus(){this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1}}static getInstance(){return xe.instance||(xe.instance=new xe),xe.instance}dispose(){super.dispose(),this._subscriptions.dispose()}}e.ModifierKeyEmitter=xe;function He(Le,Se){window.matchMedia(Le).addEventListener("change",Se)}e.addMatchMediaChangeListener=He}),define(te[171],ie([1,0,7]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createElement=e.renderFormattedText=e.renderText=void 0;function m(t,n={}){const i=I(n);return i.textContent=t,i}e.renderText=m;function k(t,n={}){const i=I(n);return b(i,C(t,!!n.renderCodeSegments),n.actionHandler,n.renderCodeSegments),i}e.renderFormattedText=k;function I(t){const n=t.inline?"span":"div",i=document.createElement(n);return t.className&&(i.className=t.className),i}e.createElement=I;class w{constructor(n){this.source=n,this.index=0}eos(){return this.index>=this.source.length}next(){const n=this.peek();return this.advance(),n}peek(){return this.source[this.index]}advance(){this.index++}}function b(t,n,i,o){let c;if(n.type===2)c=document.createTextNode(n.content||"");else if(n.type===3)c=document.createElement("b");else if(n.type===4)c=document.createElement("i");else if(n.type===7&&o)c=document.createElement("code");else if(n.type===5&&i){const d=document.createElement("a");i.disposables.add(L.addStandardDisposableListener(d,"click",r=>{i.callback(String(n.index),r)})),c=d}else n.type===8?c=document.createElement("br"):n.type===1&&(c=t);c&&t!==c&&t.appendChild(c),c&&Array.isArray(n.children)&&n.children.forEach(d=>{b(c,d,i,o)})}function C(t,n){const i={type:1,children:[]};let o=0,c=i;const d=[],r=new w(t);for(;!r.eos();){let s=r.next();const a=s==="\\"&&g(r.peek(),n)!==0;if(a&&(s=r.next()),!a&&u(s,n)&&s===r.peek()){r.advance(),c.type===2&&(c=d.pop());const l=g(s,n);if(c.type===l||c.type===5&&l===6)c=d.pop();else{const h={type:l,children:[]};l===5&&(h.index=o,o++),c.children.push(h),d.push(c),c=h}}else if(s===`
+`)c.type===2&&(c=d.pop()),c.children.push({type:8});else if(c.type!==2){const l={type:2,content:s};c.children.push(l),d.push(c),c=l}else c.content+=s}return c.type===2&&(c=d.pop()),d.length,i}function u(t,n){return g(t,n)!==0}function g(t,n){switch(t){case"*":return 3;case"_":return 4;case"[":return 5;case"]":return 6;case"`":return n?7:0;default:return 0}}}),define(te[98],ie([1,0,7,214,59,2,16]),function(q,e,L,m,k,I,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GlobalMouseMoveMonitor=e.standardMouseMoveMerger=void 0;function b(u,g){let t=new k.StandardMouseEvent(g);return t.preventDefault(),{leftButton:t.leftButton,buttons:t.buttons,posx:t.posx,posy:t.posy}}e.standardMouseMoveMerger=b;class C{constructor(){this._hooks=new I.DisposableStore,this._mouseMoveEventMerger=null,this._mouseMoveCallback=null,this._onStopCallback=null}dispose(){this.stopMonitoring(!1),this._hooks.dispose()}stopMonitoring(g,t){if(!this.isMonitoring())return;this._hooks.clear(),this._mouseMoveEventMerger=null,this._mouseMoveCallback=null;const n=this._onStopCallback;this._onStopCallback=null,g&&n&&n(t)}isMonitoring(){return!!this._mouseMoveEventMerger}startMonitoring(g,t,n,i,o){if(this.isMonitoring())return;this._mouseMoveEventMerger=n,this._mouseMoveCallback=i,this._onStopCallback=o;const c=m.IframeUtils.getSameOriginWindowChain(),d=w.isIOS?"pointermove":"mousemove",r="mouseup",s=c.map(l=>l.window.document),a=L.getShadowRoot(g);a&&s.unshift(a);for(const l of s)this._hooks.add(L.addDisposableThrottledListener(l,d,h=>{if(h.buttons!==t){this.stopMonitoring(!0);return}this._mouseMoveCallback(h)},(h,f)=>this._mouseMoveEventMerger(h,f))),this._hooks.add(L.addDisposableListener(l,r,h=>this.stopMonitoring(!0)));if(m.IframeUtils.hasDifferentOriginAncestor()){let l=c[c.length-1];this._hooks.add(L.addDisposableListener(l.window.document,"mouseout",h=>{new k.StandardMouseEvent(h).target.tagName.toLowerCase()==="html"&&this.stopMonitoring(!0)})),this._hooks.add(L.addDisposableListener(l.window.document,"mouseover",h=>{new k.StandardMouseEvent(h).target.tagName.toLowerCase()==="html"&&this.stopMonitoring(!0)})),this._hooks.add(L.addDisposableListener(l.window.document.body,"mouseleave",h=>{this.stopMonitoring(!0)}))}}}e.GlobalMouseMoveMonitor=C});var Ie=this&&this.__decorate||function(q,e,L,m){var k=arguments.length,I=k<3?e:m===null?m=Object.getOwnPropertyDescriptor(e,L):m,w;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")I=Reflect.decorate(q,e,L,m);else for(var b=q.length-1;b>=0;b--)(w=q[b])&&(I=(k<3?w(I):k>3?w(e,L,I):w(e,L))||I);return k>3&&I&&Object.defineProperty(e,L,I),I};define(te[60],ie([1,0,7,18,95,2]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Gesture=e.EventType=void 0;var w;(function(C){C.Tap="-monaco-gesturetap",C.Change="-monaco-gesturechange",C.Start="-monaco-gesturestart",C.End="-monaco-gesturesend",C.Contextmenu="-monaco-gesturecontextmenu"})(w=e.EventType||(e.EventType={}));class b extends I.Disposable{constructor(){super();this.dispatched=!1,this.activeTouches={},this.handle=null,this.targets=[],this.ignoreTargets=[],this._lastSetTapCountTime=0,this._register(L.addDisposableListener(document,"touchstart",u=>this.onTouchStart(u),{passive:!1})),this._register(L.addDisposableListener(document,"touchend",u=>this.onTouchEnd(u))),this._register(L.addDisposableListener(document,"touchmove",u=>this.onTouchMove(u),{passive:!1}))}static addTarget(u){return b.isTouchDevice()?(b.INSTANCE||(b.INSTANCE=new b),b.INSTANCE.targets.push(u),{dispose:()=>{b.INSTANCE.targets=b.INSTANCE.targets.filter(g=>g!==u)}}):I.Disposable.None}static ignoreTarget(u){return b.isTouchDevice()?(b.INSTANCE||(b.INSTANCE=new b),b.INSTANCE.ignoreTargets.push(u),{dispose:()=>{b.INSTANCE.ignoreTargets=b.INSTANCE.ignoreTargets.filter(g=>g!==u)}}):I.Disposable.None}static isTouchDevice(){return"ontouchstart"in window||navigator.maxTouchPoints>0}dispose(){this.handle&&(this.handle.dispose(),this.handle=null),super.dispose()}onTouchStart(u){let g=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(let t=0,n=u.targetTouches.length;t<n;t++){let i=u.targetTouches.item(t);this.activeTouches[i.identifier]={id:i.identifier,initialTarget:i.target,initialTimeStamp:g,initialPageX:i.pageX,initialPageY:i.pageY,rollingTimestamps:[g],rollingPageX:[i.pageX],rollingPageY:[i.pageY]};let o=this.newGestureEvent(w.Start,i.target);o.pageX=i.pageX,o.pageY=i.pageY,this.dispatchEvent(o)}this.dispatched&&(u.preventDefault(),u.stopPropagation(),this.dispatched=!1)}onTouchEnd(u){let g=Date.now(),t=Object.keys(this.activeTouches).length;for(let n=0,i=u.changedTouches.length;n<i;n++){let o=u.changedTouches.item(n);if(!this.activeTouches.hasOwnProperty(String(o.identifier))){console.warn("move of an UNKNOWN touch",o);continue}let c=this.activeTouches[o.identifier],d=Date.now()-c.initialTimeStamp;if(d<b.HOLD_DELAY&&Math.abs(c.initialPageX-m.tail(c.rollingPageX))<30&&Math.abs(c.initialPageY-m.tail(c.rollingPageY))<30){let r=this.newGestureEvent(w.Tap,c.initialTarget);r.pageX=m.tail(c.rollingPageX),r.pageY=m.tail(c.rollingPageY),this.dispatchEvent(r)}else if(d>=b.HOLD_DELAY&&Math.abs(c.initialPageX-m.tail(c.rollingPageX))<30&&Math.abs(c.initialPageY-m.tail(c.rollingPageY))<30){let r=this.newGestureEvent(w.Contextmenu,c.initialTarget);r.pageX=m.tail(c.rollingPageX),r.pageY=m.tail(c.rollingPageY),this.dispatchEvent(r)}else if(t===1){let r=m.tail(c.rollingPageX),s=m.tail(c.rollingPageY),a=m.tail(c.rollingTimestamps)-c.rollingTimestamps[0],l=r-c.rollingPageX[0],h=s-c.rollingPageY[0];const f=this.targets.filter(S=>c.initialTarget instanceof Node&&S.contains(c.initialTarget));this.inertia(f,g,Math.abs(l)/a,l>0?1:-1,r,Math.abs(h)/a,h>0?1:-1,s)}this.dispatchEvent(this.newGestureEvent(w.End,c.initialTarget)),delete this.activeTouches[o.identifier]}this.dispatched&&(u.preventDefault(),u.stopPropagation(),this.dispatched=!1)}newGestureEvent(u,g){let t=document.createEvent("CustomEvent");return t.initEvent(u,!1,!0),t.initialTarget=g,t.tapCount=0,t}dispatchEvent(u){if(u.type===w.Tap){const g=new Date().getTime();let t=0;g-this._lastSetTapCountTime>b.CLEAR_TAP_COUNT_TIME?t=1:t=2,this._lastSetTapCountTime=g,u.tapCount=t}else(u.type===w.Change||u.type===w.Contextmenu)&&(this._lastSetTapCountTime=0);for(let g=0;g<this.ignoreTargets.length;g++)if(u.initialTarget instanceof Node&&this.ignoreTargets[g].contains(u.initialTarget))return;this.targets.forEach(g=>{u.initialTarget instanceof Node&&g.contains(u.initialTarget)&&(g.dispatchEvent(u),this.dispatched=!0)})}inertia(u,g,t,n,i,o,c,d){this.handle=L.scheduleAtNextAnimationFrame(()=>{let r=Date.now(),s=r-g,a=0,l=0,h=!0;t+=b.SCROLL_FRICTION*s,o+=b.SCROLL_FRICTION*s,t>0&&(h=!1,a=n*t*s),o>0&&(h=!1,l=c*o*s);let f=this.newGestureEvent(w.Change);f.translationX=a,f.translationY=l,u.forEach(S=>S.dispatchEvent(f)),h||this.inertia(u,r,t,n,i+a,o,c,d+l)})}onTouchMove(u){let g=Date.now();for(let t=0,n=u.changedTouches.length;t<n;t++){let i=u.changedTouches.item(t);if(!this.activeTouches.hasOwnProperty(String(i.identifier))){console.warn("end of an UNKNOWN touch",i);continue}let o=this.activeTouches[i.identifier],c=this.newGestureEvent(w.Change,o.initialTarget);c.translationX=i.pageX-m.tail(o.rollingPageX),c.translationY=i.pageY-m.tail(o.rollingPageY),c.pageX=i.pageX,c.pageY=i.pageY,this.dispatchEvent(c),o.rollingPageX.length>3&&(o.rollingPageX.shift(),o.rollingPageY.shift(),o.rollingTimestamps.shift()),o.rollingPageX.push(i.pageX),o.rollingPageY.push(i.pageY),o.rollingTimestamps.push(g)}this.dispatched&&(u.preventDefault(),u.stopPropagation(),this.dispatched=!1)}}b.SCROLL_FRICTION=-.005,b.HOLD_DELAY=700,b.CLEAR_TAP_COUNT_TIME=400,Ie([k.memoize],b,"isTouchDevice",null),e.Gesture=b}),define(te[115],ie([1,0,7,28]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.renderIcon=e.renderLabelWithIcons=void 0;const k=new RegExp(`(\\\\)?\\$\\((${m.CSSIcon.iconNameExpression}(?:${m.CSSIcon.iconModifierExpression})?)\\)`,"g");function I(b){const C=new Array;let u,g=0,t=0;for(;(u=k.exec(b))!==null;){t=u.index||0,C.push(b.substring(g,t)),g=(u.index||0)+u[0].length;const[,n,i]=u;C.push(n?`$(${i})`:w({id:i}))}return g<b.length&&C.push(b.substring(g)),C}e.renderLabelWithIcons=I;function w(b){const C=L.$("span");return C.classList.add(...m.CSSIcon.asClassNameArray(b)),C}e.renderIcon=w}),define(te[220],ie([1,0,7,115,40]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.HighlightedLabel=void 0;class I{constructor(b,C){var u;this.text="",this.title="",this.highlights=[],this.didEverRender=!1,this.supportIcons=(u=C==null?void 0:C.supportIcons)!==null&&u!==void 0?u:!1,this.domNode=L.append(b,L.$("span.monaco-highlighted-label"))}get element(){return this.domNode}set(b,C=[],u="",g){b||(b=""),g&&(b=I.escapeNewLines(b,C)),!(this.didEverRender&&this.text===b&&this.title===u&&k.equals(this.highlights,C))&&(this.text=b,this.title=u,this.highlights=C,this.render())}render(){const b=[];let C=0;for(const u of this.highlights){if(u.end===u.start)continue;if(C<u.start){const n=this.text.substring(C,u.start);b.push(L.$("span",void 0,...this.supportIcons?(0,m.renderLabelWithIcons)(n):[n])),C=u.end}const g=this.text.substring(u.start,u.end),t=L.$("span.highlight",void 0,...this.supportIcons?(0,m.renderLabelWithIcons)(g):[g]);u.extraClasses&&t.classList.add(...u.extraClasses),b.push(t),C=u.end}if(C<this.text.length){const u=this.text.substring(C);b.push(L.$("span",void 0,...this.supportIcons?(0,m.renderLabelWithIcons)(u):[u]))}L.reset(this.domNode,...b),this.title?this.domNode.title=this.title:this.domNode.removeAttribute("title"),this.didEverRender=!0}static escapeNewLines(b,C){let u=0,g=0;return b.replace(/\r\n|\r|\n/g,(t,n)=>{g=t===`\r
+`?-1:0,n+=u;for(const i of C)i.end<=n||(i.start>=n&&(i.start+=g),i.end>=n&&(i.end+=g));return u+=g,"\u23CE"})}}e.HighlightedLabel=I}),define(te[324],ie([1,0,7]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RowCache=void 0;function m(I){try{I.parentElement&&I.parentElement.removeChild(I)}catch{}}class k{constructor(w){this.renderers=w,this.cache=new Map}alloc(w){let b=this.getTemplateCache(w).pop();if(!b){const C=(0,L.$)(".monaco-list-row"),g=this.getRenderer(w).renderTemplate(C);b={domNode:C,templateId:w,templateData:g}}return b}release(w){!w||this.releaseRow(w)}releaseRow(w){const{domNode:b,templateId:C}=w;b&&(b.classList.remove("scrolling"),m(b)),this.getTemplateCache(C).push(w)}getTemplateCache(w){let b=this.cache.get(w);return b||(b=[],this.cache.set(w,b)),b}dispose(){this.cache.forEach((w,b)=>{for(const C of w)this.getRenderer(b).disposeTemplate(C.templateData),C.templateData=null}),this.cache.clear()}getRenderer(w){const b=this.renderers.get(w);if(!b)throw new Error(`No renderer found for ${w}`);return b}}e.RowCache=k}),define(te[62],ie([1,0,7,44,59,60,2]),function(q,e,L,m,k,I,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Widget=void 0;class b extends w.Disposable{onclick(u,g){this._register(L.addDisposableListener(u,L.EventType.CLICK,t=>g(new k.StandardMouseEvent(t))))}onmousedown(u,g){this._register(L.addDisposableListener(u,L.EventType.MOUSE_DOWN,t=>g(new k.StandardMouseEvent(t))))}onmouseover(u,g){this._register(L.addDisposableListener(u,L.EventType.MOUSE_OVER,t=>g(new k.StandardMouseEvent(t))))}onnonbubblingmouseout(u,g){this._register(L.addDisposableNonBubblingMouseOutListener(u,t=>g(new k.StandardMouseEvent(t))))}onkeydown(u,g){this._register(L.addDisposableListener(u,L.EventType.KEY_DOWN,t=>g(new m.StandardKeyboardEvent(t))))}onkeyup(u,g){this._register(L.addDisposableListener(u,L.EventType.KEY_UP,t=>g(new m.StandardKeyboardEvent(t))))}oninput(u,g){this._register(L.addDisposableListener(u,L.EventType.INPUT,g))}onblur(u,g){this._register(L.addDisposableListener(u,L.EventType.BLUR,g))}onfocus(u,g){this._register(L.addDisposableListener(u,L.EventType.FOCUS,g))}ignoreGesture(u){I.Gesture.ignoreTarget(u)}}e.Widget=b}),define(te[172],ie([1,0,98,62,10]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ScrollbarArrow=e.ARROW_IMG_SIZE=void 0,e.ARROW_IMG_SIZE=11;class I extends m.Widget{constructor(b){super();this._onActivate=b.onActivate,this.bgDomNode=document.createElement("div"),this.bgDomNode.className="arrow-background",this.bgDomNode.style.position="absolute",this.bgDomNode.style.width=b.bgWidth+"px",this.bgDomNode.style.height=b.bgHeight+"px",typeof b.top!="undefined"&&(this.bgDomNode.style.top="0px"),typeof b.left!="undefined"&&(this.bgDomNode.style.left="0px"),typeof b.bottom!="undefined"&&(this.bgDomNode.style.bottom="0px"),typeof b.right!="undefined"&&(this.bgDomNode.style.right="0px"),this.domNode=document.createElement("div"),this.domNode.className=b.className,this.domNode.classList.add(...b.icon.classNamesArray),this.domNode.style.position="absolute",this.domNode.style.width=e.ARROW_IMG_SIZE+"px",this.domNode.style.height=e.ARROW_IMG_SIZE+"px",typeof b.top!="undefined"&&(this.domNode.style.top=b.top+"px"),typeof b.left!="undefined"&&(this.domNode.style.left=b.left+"px"),typeof b.bottom!="undefined"&&(this.domNode.style.bottom=b.bottom+"px"),typeof b.right!="undefined"&&(this.domNode.style.right=b.right+"px"),this._mouseMoveMonitor=this._register(new L.GlobalMouseMoveMonitor),this.onmousedown(this.bgDomNode,C=>this._arrowMouseDown(C)),this.onmousedown(this.domNode,C=>this._arrowMouseDown(C)),this._mousedownRepeatTimer=this._register(new k.IntervalTimer),this._mousedownScheduleRepeatTimer=this._register(new k.TimeoutTimer)}_arrowMouseDown(b){const C=()=>{this._mousedownRepeatTimer.cancelAndSet(()=>this._onActivate(),1e3/24)};this._onActivate(),this._mousedownRepeatTimer.cancel(),this._mousedownScheduleRepeatTimer.cancelAndSet(C,200),this._mouseMoveMonitor.startMonitoring(b.target,b.buttons,L.standardMouseMoveMerger,u=>{},()=>{this._mousedownRepeatTimer.cancel(),this._mousedownScheduleRepeatTimer.cancel()}),b.preventDefault()}}e.ScrollbarArrow=I}),define(te[221],ie([1,0,7,31,98,172,319,62,16]),function(q,e,L,m,k,I,w,b,C){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractScrollbar=void 0;const u=140;class g extends b.Widget{constructor(n){super();this._lazyRender=n.lazyRender,this._host=n.host,this._scrollable=n.scrollable,this._scrollByPage=n.scrollByPage,this._scrollbarState=n.scrollbarState,this._visibilityController=this._register(new w.ScrollbarVisibilityController(n.visibility,"visible scrollbar "+n.extraScrollbarClassName,"invisible scrollbar "+n.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._mouseMoveMonitor=this._register(new k.GlobalMouseMoveMonitor),this._shouldRender=!0,this.domNode=(0,m.createFastDomNode)(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this._visibilityController.setDomNode(this.domNode),this.domNode.setPosition("absolute"),this.onmousedown(this.domNode.domNode,i=>this._domNodeMouseDown(i))}_createArrow(n){const i=this._register(new I.ScrollbarArrow(n));this.domNode.domNode.appendChild(i.bgDomNode),this.domNode.domNode.appendChild(i.domNode)}_createSlider(n,i,o,c){this.slider=(0,m.createFastDomNode)(document.createElement("div")),this.slider.setClassName("slider"),this.slider.setPosition("absolute"),this.slider.setTop(n),this.slider.setLeft(i),typeof o=="number"&&this.slider.setWidth(o),typeof c=="number"&&this.slider.setHeight(c),this.slider.setLayerHinting(!0),this.slider.setContain("strict"),this.domNode.domNode.appendChild(this.slider.domNode),this.onmousedown(this.slider.domNode,d=>{d.leftButton&&(d.preventDefault(),this._sliderMouseDown(d,()=>{}))}),this.onclick(this.slider.domNode,d=>{d.leftButton&&d.stopPropagation()})}_onElementSize(n){return this._scrollbarState.setVisibleSize(n)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(n){return this._scrollbarState.setScrollSize(n)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(n){return this._scrollbarState.setScrollPosition(n)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}beginReveal(){this._visibilityController.setShouldBeVisible(!0)}beginHide(){this._visibilityController.setShouldBeVisible(!1)}render(){!this._shouldRender||(this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition()))}_domNodeMouseDown(n){n.target===this.domNode.domNode&&this._onMouseDown(n)}delegateMouseDown(n){const i=this.domNode.domNode.getClientRects()[0].top,o=i+this._scrollbarState.getSliderPosition(),c=i+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),d=this._sliderMousePosition(n);o<=d&&d<=c?n.leftButton&&(n.preventDefault(),this._sliderMouseDown(n,()=>{})):this._onMouseDown(n)}_onMouseDown(n){let i,o;if(n.target===this.domNode.domNode&&typeof n.browserEvent.offsetX=="number"&&typeof n.browserEvent.offsetY=="number")i=n.browserEvent.offsetX,o=n.browserEvent.offsetY;else{const d=L.getDomNodePagePosition(this.domNode.domNode);i=n.posx-d.left,o=n.posy-d.top}const c=this._mouseDownRelativePosition(i,o);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(c):this._scrollbarState.getDesiredScrollPositionFromOffset(c)),n.leftButton&&(n.preventDefault(),this._sliderMouseDown(n,()=>{}))}_sliderMouseDown(n,i){const o=this._sliderMousePosition(n),c=this._sliderOrthogonalMousePosition(n),d=this._scrollbarState.clone();this.slider.toggleClassName("active",!0),this._mouseMoveMonitor.startMonitoring(n.target,n.buttons,k.standardMouseMoveMerger,r=>{const s=this._sliderOrthogonalMousePosition(r),a=Math.abs(s-c);if(C.isWindows&&a>u){this._setDesiredScrollPositionNow(d.getScrollPosition());return}const h=this._sliderMousePosition(r)-o;this._setDesiredScrollPositionNow(d.getDesiredScrollPositionFromDelta(h))},()=>{this.slider.toggleClassName("active",!1),this._host.onDragEnd(),i()}),this._host.onDragStart()}_setDesiredScrollPositionNow(n){const i={};this.writeScrollPosition(i,n),this._scrollable.setScrollPositionNow(i)}updateScrollbarSize(n){this._updateScrollbarSize(n),this._scrollbarState.setScrollbarSize(n),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}}e.AbstractScrollbar=g}),define(te[325],ie([1,0,59,221,172,215,28]),function(q,e,L,m,k,I,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.HorizontalScrollbar=void 0;class b extends m.AbstractScrollbar{constructor(u,g,t){const n=u.getScrollDimensions(),i=u.getCurrentScrollPosition();super({lazyRender:g.lazyRender,host:t,scrollbarState:new I.ScrollbarState(g.horizontalHasArrows?g.arrowSize:0,g.horizontal===2?0:g.horizontalScrollbarSize,g.vertical===2?0:g.verticalScrollbarSize,n.width,n.scrollWidth,i.scrollLeft),visibility:g.horizontal,extraScrollbarClassName:"horizontal",scrollable:u,scrollByPage:g.scrollByPage});if(g.horizontalHasArrows){const o=(g.arrowSize-k.ARROW_IMG_SIZE)/2,c=(g.horizontalScrollbarSize-k.ARROW_IMG_SIZE)/2;this._createArrow({className:"scra",icon:w.Codicon.scrollbarButtonLeft,top:c,left:o,bottom:void 0,right:void 0,bgWidth:g.arrowSize,bgHeight:g.horizontalScrollbarSize,onActivate:()=>this._host.onMouseWheel(new L.StandardWheelEvent(null,1,0))}),this._createArrow({className:"scra",icon:w.Codicon.scrollbarButtonRight,top:c,left:void 0,bottom:void 0,right:o,bgWidth:g.arrowSize,bgHeight:g.horizontalScrollbarSize,onActivate:()=>this._host.onMouseWheel(new L.StandardWheelEvent(null,-1,0))})}this._createSlider(Math.floor((g.horizontalScrollbarSize-g.horizontalSliderSize)/2),0,void 0,g.horizontalSliderSize)}_updateSlider(u,g){this.slider.setWidth(u),this.slider.setLeft(g)}_renderDomNode(u,g){this.domNode.setWidth(u),this.domNode.setHeight(g),this.domNode.setLeft(0),this.domNode.setBottom(0)}onDidScroll(u){return this._shouldRender=this._onElementScrollSize(u.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(u.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(u.width)||this._shouldRender,this._shouldRender}_mouseDownRelativePosition(u,g){return u}_sliderMousePosition(u){return u.posx}_sliderOrthogonalMousePosition(u){return u.posy}_updateScrollbarSize(u){this.slider.setHeight(u)}writeScrollPosition(u,g){u.scrollLeft=g}updateOptions(u){this.updateScrollbarSize(u.horizontal===2?0:u.horizontalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(u.vertical===2?0:u.verticalScrollbarSize),this._visibilityController.setVisibility(u.horizontal),this._scrollByPage=u.scrollByPage}}e.HorizontalScrollbar=b}),define(te[326],ie([1,0,59,221,172,215,28]),function(q,e,L,m,k,I,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.VerticalScrollbar=void 0;class b extends m.AbstractScrollbar{constructor(u,g,t){const n=u.getScrollDimensions(),i=u.getCurrentScrollPosition();super({lazyRender:g.lazyRender,host:t,scrollbarState:new I.ScrollbarState(g.verticalHasArrows?g.arrowSize:0,g.vertical===2?0:g.verticalScrollbarSize,0,n.height,n.scrollHeight,i.scrollTop),visibility:g.vertical,extraScrollbarClassName:"vertical",scrollable:u,scrollByPage:g.scrollByPage});if(g.verticalHasArrows){const o=(g.arrowSize-k.ARROW_IMG_SIZE)/2,c=(g.verticalScrollbarSize-k.ARROW_IMG_SIZE)/2;this._createArrow({className:"scra",icon:w.Codicon.scrollbarButtonUp,top:o,left:c,bottom:void 0,right:void 0,bgWidth:g.verticalScrollbarSize,bgHeight:g.arrowSize,onActivate:()=>this._host.onMouseWheel(new L.StandardWheelEvent(null,0,1))}),this._createArrow({className:"scra",icon:w.Codicon.scrollbarButtonDown,top:void 0,left:c,bottom:o,right:void 0,bgWidth:g.verticalScrollbarSize,bgHeight:g.arrowSize,onActivate:()=>this._host.onMouseWheel(new L.StandardWheelEvent(null,0,-1))})}this._createSlider(0,Math.floor((g.verticalScrollbarSize-g.verticalSliderSize)/2),g.verticalSliderSize,void 0)}_updateSlider(u,g){this.slider.setHeight(u),this.slider.setTop(g)}_renderDomNode(u,g){this.domNode.setWidth(g),this.domNode.setHeight(u),this.domNode.setRight(0),this.domNode.setTop(0)}onDidScroll(u){return this._shouldRender=this._onElementScrollSize(u.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(u.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(u.height)||this._shouldRender,this._shouldRender}_mouseDownRelativePosition(u,g){return g}_sliderMousePosition(u){return u.posy}_sliderOrthogonalMousePosition(u){return u.posx}_updateScrollbarSize(u){this.slider.setWidth(u)}writeScrollPosition(u,g){u.scrollTop=g}updateOptions(u){this.updateScrollbarSize(u.vertical===2?0:u.verticalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(0),this._visibilityController.setVisibility(u.vertical),this._scrollByPage=u.scrollByPage}}e.VerticalScrollbar=b}),define(te[42],ie([1,0,168,45,84,16,8,25]),function(q,e,L,m,k,I,w,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DataUri=e.addTrailingPathSeparator=e.removeTrailingPathSeparator=e.hasTrailingPathSeparator=e.isEqualAuthority=e.isAbsolutePath=e.resolvePath=e.relativePath=e.normalizePath=e.joinPath=e.dirname=e.extname=e.basename=e.basenameOrAuthority=e.getComparisonKey=e.isEqualOrParent=e.isEqual=e.extUriIgnorePathCase=e.extUriBiasedIgnorePathCase=e.extUri=e.ExtUri=e.originalFSPath=void 0;function C(t){return(0,b.uriToFsPath)(t,!0)}e.originalFSPath=C;class u{constructor(n){this._ignorePathCasing=n}compare(n,i,o=!1){return n===i?0:(0,w.compare)(this.getComparisonKey(n,o),this.getComparisonKey(i,o))}isEqual(n,i,o=!1){return n===i?!0:!n||!i?!1:this.getComparisonKey(n,o)===this.getComparisonKey(i,o)}getComparisonKey(n,i=!1){return n.with({path:this._ignorePathCasing(n)?n.path.toLowerCase():void 0,fragment:i?null:void 0}).toString()}isEqualOrParent(n,i,o=!1){if(n.scheme===i.scheme){if(n.scheme===m.Schemas.file)return L.isEqualOrParent(C(n),C(i),this._ignorePathCasing(n))&&n.query===i.query&&(o||n.fragment===i.fragment);if((0,e.isEqualAuthority)(n.authority,i.authority))return L.isEqualOrParent(n.path,i.path,this._ignorePathCasing(n),"/")&&n.query===i.query&&(o||n.fragment===i.fragment)}return!1}joinPath(n,...i){return b.URI.joinPath(n,...i)}basenameOrAuthority(n){return(0,e.basename)(n)||n.authority}basename(n){return k.posix.basename(n.path)}extname(n){return k.posix.extname(n.path)}dirname(n){if(n.path.length===0)return n;let i;return n.scheme===m.Schemas.file?i=b.URI.file(k.dirname(C(n))).path:(i=k.posix.dirname(n.path),n.authority&&i.length&&i.charCodeAt(0)!==47&&(console.error(`dirname("${n.toString})) resulted in a relative path`),i="/")),n.with({path:i})}normalizePath(n){if(!n.path.length)return n;let i;return n.scheme===m.Schemas.file?i=b.URI.file(k.normalize(C(n))).path:i=k.posix.normalize(n.path),n.with({path:i})}relativePath(n,i){if(n.scheme!==i.scheme||!(0,e.isEqualAuthority)(n.authority,i.authority))return;if(n.scheme===m.Schemas.file){const d=k.relative(C(n),C(i));return I.isWindows?L.toSlashes(d):d}let o=n.path||"/",c=i.path||"/";if(this._ignorePathCasing(n)){let d=0;for(const r=Math.min(o.length,c.length);d<r&&!(o.charCodeAt(d)!==c.charCodeAt(d)&&o.charAt(d).toLowerCase()!==c.charAt(d).toLowerCase());d++);o=c.substr(0,d)+o.substr(d)}return k.posix.relative(o,c)}resolvePath(n,i){if(n.scheme===m.Schemas.file){const o=b.URI.file(k.resolve(C(n),i));return n.with({authority:o.authority,path:o.path})}return i=L.toPosixPath(i),n.with({path:k.posix.resolve(n.path,i)})}isAbsolutePath(n){return!!n.path&&n.path[0]==="/"}isEqualAuthority(n,i){return n===i||n!==void 0&&i!==void 0&&(0,w.equalsIgnoreCase)(n,i)}hasTrailingPathSeparator(n,i=k.sep){if(n.scheme===m.Schemas.file){const o=C(n);return o.length>L.getRoot(o).length&&o[o.length-1]===i}else{const o=n.path;return o.length>1&&o.charCodeAt(o.length-1)===47&&!/^[a-zA-Z]:(\/$|\\$)/.test(n.fsPath)}}removeTrailingPathSeparator(n,i=k.sep){return(0,e.hasTrailingPathSeparator)(n,i)?n.with({path:n.path.substr(0,n.path.length-1)}):n}addTrailingPathSeparator(n,i=k.sep){let o=!1;if(n.scheme===m.Schemas.file){const c=C(n);o=c!==void 0&&c.length===L.getRoot(c).length&&c[c.length-1]===i}else{i="/";const c=n.path;o=c.length===1&&c.charCodeAt(c.length-1)===47}return!o&&!(0,e.hasTrailingPathSeparator)(n,i)?n.with({path:n.path+"/"}):n}}e.ExtUri=u,e.extUri=new u(()=>!1),e.extUriBiasedIgnorePathCase=new u(t=>t.scheme===m.Schemas.file?!I.isLinux:!0),e.extUriIgnorePathCase=new u(t=>!0),e.isEqual=e.extUri.isEqual.bind(e.extUri),e.isEqualOrParent=e.extUri.isEqualOrParent.bind(e.extUri),e.getComparisonKey=e.extUri.getComparisonKey.bind(e.extUri),e.basenameOrAuthority=e.extUri.basenameOrAuthority.bind(e.extUri),e.basename=e.extUri.basename.bind(e.extUri),e.extname=e.extUri.extname.bind(e.extUri),e.dirname=e.extUri.dirname.bind(e.extUri),e.joinPath=e.extUri.joinPath.bind(e.extUri),e.normalizePath=e.extUri.normalizePath.bind(e.extUri),e.relativePath=e.extUri.relativePath.bind(e.extUri),e.resolvePath=e.extUri.resolvePath.bind(e.extUri),e.isAbsolutePath=e.extUri.isAbsolutePath.bind(e.extUri),e.isEqualAuthority=e.extUri.isEqualAuthority.bind(e.extUri),e.hasTrailingPathSeparator=e.extUri.hasTrailingPathSeparator.bind(e.extUri),e.removeTrailingPathSeparator=e.extUri.removeTrailingPathSeparator.bind(e.extUri),e.addTrailingPathSeparator=e.extUri.addTrailingPathSeparator.bind(e.extUri);var g;(function(t){t.META_DATA_LABEL="label",t.META_DATA_DESCRIPTION="description",t.META_DATA_SIZE="size",t.META_DATA_MIME="mime";function n(i){const o=new Map;i.path.substring(i.path.indexOf(";")+1,i.path.lastIndexOf(";")).split(";").forEach(r=>{const[s,a]=r.split(":");s&&a&&o.set(s,a)});const d=i.path.substring(0,i.path.indexOf(";"));return d&&o.set(t.META_DATA_MIME,d),o}t.parseMetaData=n})(g=e.DataUri||(e.DataUri={}))}),define(te[327],ie([1,0,7,759,92,171,59,115,10,21,13,4,68,97,136,2,314,219,45,40,42,8,25]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s,a,l,h,f){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.renderMarkdown=void 0;function S(y,E={},N={}){var D;const M=new c.DisposableStore;let B=!1;const O=M.add(new u.CancellationTokenSource),T=(0,I.createElement)(E),A=function(J){let re;try{re=(0,r.parse)(decodeURIComponent(J))}catch{}return re?(re=(0,a.cloneAndChange)(re,se=>{if(y.uris&&y.uris[se])return f.URI.revive(y.uris[se])}),encodeURIComponent(JSON.stringify(re))):J},P=function(J,re){const se=y.uris&&y.uris[J];let Z=f.URI.revive(se);return re?J.startsWith(s.Schemas.data+":")?J:(Z||(Z=f.URI.parse(J)),s.FileAccess.asBrowserUri(Z).toString(!0)):!Z||f.URI.parse(J).toString()===Z.toString()?J:(Z.query&&(Z=Z.with({query:A(Z.query)})),Z.toString())};let F;const W=new Promise(J=>F=J),R=new d.marked.Renderer;if(R.image=(J,re,se)=>{let Z=[],V=[];return J&&({href:J,dimensions:Z}=(0,n.parseHrefAndDimensions)(J),V.push(`src="${J}"`)),se&&V.push(`alt="${se}"`),re&&V.push(`title="${re}"`),Z.length&&(V=V.concat(Z)),"<img "+V.join(" ")+">"},R.link=(J,re,se)=>typeof J!="string"?"":(J===se&&(se=(0,n.removeMarkdownEscapes)(se)),J=P(J,!1),y.baseUri&&(J=v(f.URI.from(y.baseUri),J)),re=typeof re=="string"?(0,n.removeMarkdownEscapes)(re):"",J=(0,n.removeMarkdownEscapes)(J),!J||/^data:|javascript:/i.test(J)||/^command:/i.test(J)&&!y.isTrusted||/^command:(\/\/\/)?_workbench\.downloadResource/i.test(J)?se:(J=J.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;"),`<a data-href="${J}" title="${re||J}">${se}</a>`)),R.paragraph=J=>`<p>${J}</p>`,E.codeBlockRenderer&&(R.code=(J,re)=>{const se=E.codeBlockRenderer(re??"",J),Z=o.defaultGenerator.nextId();return(0,C.raceCancellation)(Promise.all([se,W]),O.token).then(V=>{var K;if(!B&&V){const X=T.querySelector(`div[data-code="${Z}"]`);X&&L.reset(X,V[0]),(K=E.asyncRenderCallback)===null||K===void 0||K.call(E)}}).catch(()=>{}),`<div class="code" data-code="${Z}">${(0,h.escape)(J)}</div>`}),E.actionHandler){const J=E.actionHandler.disposables.add(new k.DomEmitter(T,"click")),re=E.actionHandler.disposables.add(new k.DomEmitter(T,"auxclick"));E.actionHandler.disposables.add(t.Event.any(J.event,re.event)(se=>{const Z=new w.StandardMouseEvent(se);if(!Z.leftButton&&!Z.middleButton)return;let V=Z.target;if(!(V.tagName!=="A"&&(V=V.parentElement,!V||V.tagName!=="A")))try{let K=V.dataset.href;K&&(y.baseUri&&(K=v(f.URI.from(y.baseUri),K)),E.actionHandler.callback(K,Z))}catch(K){(0,g.onUnexpectedError)(K)}finally{Z.preventDefault()}}))}y.supportHtml||(N.sanitizer=J=>(y.isTrusted?J.match(/^(<span[^>]+>)|(<\/\s*span>)$/):void 0)?J:"",N.sanitize=!0,N.silent=!0),N.renderer=R;let z=(D=y.value)!==null&&D!==void 0?D:"";z.length>1e5&&(z=`${z.substr(0,1e5)}\u2026`),y.supportThemeIcons&&(z=(0,i.markdownEscapeEscapedIcons)(z));let j=d.marked.parse(z,N);y.supportThemeIcons&&(j=(0,b.renderLabelWithIcons)(j).map(re=>typeof re=="string"?re:re.outerHTML).join(""));const G=new DOMParser().parseFromString(p(y,j),"text/html");if(G.body.querySelectorAll("img").forEach(J=>{const re=J.getAttribute("src");if(re){let se=re;try{y.baseUri&&(se=v(f.URI.from(y.baseUri),se))}catch{}J.src=P(se,!0)}}),T.innerHTML=p(y,G.body.innerHTML),F(),E.asyncRenderCallback)for(const J of T.getElementsByTagName("img")){const re=M.add(L.addDisposableListener(J,"load",()=>{re.dispose(),E.asyncRenderCallback()}))}return{element:T,dispose:()=>{B=!0,O.cancel(),M.dispose()}}}e.renderMarkdown=S;function v(y,E){return/^\w[\w\d+.-]*:/.test(E)?E:y.path.endsWith("/")?(0,l.resolvePath)(y,E).toString():(0,l.resolvePath)((0,l.dirname)(y),E).toString()}function p(y,E){const{config:N,allowedSchemes:D}=_(y);m.addHook("uponSanitizeAttribute",(B,O)=>{if(O.attrName==="style"||O.attrName==="class"){if(B.tagName==="SPAN"){if(O.attrName==="style"){O.keepAttr=/^(color\:#[0-9a-fA-F]+;)?(background-color\:#[0-9a-fA-F]+;)?$/.test(O.attrValue);return}else if(O.attrName==="class"){O.keepAttr=/^codicon codicon-[a-z\-]+( codicon-modifier-[a-z\-]+)?$/.test(O.attrValue);return}}O.keepAttr=!1;return}});const M=document.createElement("a");m.addHook("afterSanitizeAttributes",B=>{for(const O of["href","src"])B.hasAttribute(O)&&(M.href=B.getAttribute(O),D.includes(M.protocol.replace(/:$/,""))||B.removeAttribute(O))});try{return m.sanitize(E,Object.assign(Object.assign({},N),{RETURN_TRUSTED_TYPE:!0}))}finally{m.removeHook("uponSanitizeAttribute"),m.removeHook("afterSanitizeAttributes")}}function _(y){const E=[s.Schemas.http,s.Schemas.https,s.Schemas.mailto,s.Schemas.data,s.Schemas.file,s.Schemas.vscodeFileResource,s.Schemas.vscodeRemote,s.Schemas.vscodeRemoteResource];return y.isTrusted&&E.push(s.Schemas.command),{config:{ALLOWED_TAGS:["ul","li","p","b","i","code","blockquote","ol","h1","h2","h3","h4","h5","h6","hr","em","pre","table","thead","tbody","tr","th","td","div","del","a","strong","br","img","span"],ALLOWED_ATTR:["href","data-href","target","title","src","alt","class","style","data-code","width","height","align"],ALLOW_UNKNOWN_PROTOCOLS:!0},allowedSchemes:E}}}),define(te[173],ie([1,0,168,45,16,42,25]),function(q,e,L,m,k,I,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.normalizeDriveLetter=e.getBaseLabel=void 0;function b(g){if(!g)return;typeof g=="string"&&(g=w.URI.file(g));const t=(0,I.basename)(g)||(g.scheme===m.Schemas.file?g.fsPath:g.path);return k.isWindows&&(0,L.isRootOrDriveLetter)(t)?C(t):t}e.getBaseLabel=b;function C(g,t){return(0,L.hasDriveLetter)(g,t)?g.charAt(0).toUpperCase()+g.slice(1):g}e.normalizeDriveLetter=C;let u=Object.create(null)}),define(te[328],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.generateUuid=void 0;const L=new Uint8Array(16),m=[];for(let w=0;w<256;w++)m.push(w.toString(16).padStart(2,"0"));let k;typeof crypto=="object"&&typeof crypto.getRandomValues=="function"?k=crypto.getRandomValues.bind(crypto):k=function(w){for(let b=0;b<w.length;b++)w[b]=Math.floor(Math.random()*256);return w};function I(){k(L),L[6]=L[6]&15|64,L[8]=L[8]&63|128;let w=0,b="";return b+=m[L[w++]],b+=m[L[w++]],b+=m[L[w++]],b+=m[L[w++]],b+="-",b+=m[L[w++]],b+=m[L[w++]],b+="-",b+=m[L[w++]],b+=m[L[w++]],b+="-",b+=m[L[w++]],b+=m[L[w++]],b+="-",b+=m[L[w++]],b+=m[L[w++]],b+=m[L[w++]],b+=m[L[w++]],b+=m[L[w++]],b+=m[L[w++]],b}e.generateUuid=I}),define(te[222],ie([1,0,13,4,2,16,19,8]),function(q,e,L,m,k,I,w,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.create=e.SimpleWorkerServer=e.SimpleWorkerClient=e.logOnceWebWorkerWarning=void 0;const C="$initialize";let u=!1;function g(S){!I.isWeb||(u||(u=!0,console.warn("Could not create web worker(s). Falling back to loading web worker code in main thread, which might cause UI freezes. Please see https://github.com/microsoft/monaco-editor#faq")),console.warn(S.message))}e.logOnceWebWorkerWarning=g;class t{constructor(v,p,_,y){this.vsWorker=v,this.req=p,this.method=_,this.args=y,this.type=0}}class n{constructor(v,p,_,y){this.vsWorker=v,this.seq=p,this.res=_,this.err=y,this.type=1}}class i{constructor(v,p,_,y){this.vsWorker=v,this.req=p,this.eventName=_,this.arg=y,this.type=2}}class o{constructor(v,p,_){this.vsWorker=v,this.req=p,this.event=_,this.type=3}}class c{constructor(v,p){this.vsWorker=v,this.req=p,this.type=4}}class d{constructor(v){this._workerId=-1,this._handler=v,this._lastSentReq=0,this._pendingReplies=Object.create(null),this._pendingEmitters=new Map,this._pendingEvents=new Map}setWorkerId(v){this._workerId=v}sendMessage(v,p){const _=String(++this._lastSentReq);return new Promise((y,E)=>{this._pendingReplies[_]={resolve:y,reject:E},this._send(new t(this._workerId,_,v,p))})}listen(v,p){let _=null;const y=new m.Emitter({onFirstListenerAdd:()=>{_=String(++this._lastSentReq),this._pendingEmitters.set(_,y),this._send(new i(this._workerId,_,v,p))},onLastListenerRemove:()=>{this._pendingEmitters.delete(_),this._send(new c(this._workerId,_)),_=null}});return y.event}handleMessage(v){!v||!v.vsWorker||this._workerId!==-1&&v.vsWorker!==this._workerId||this._handleMessage(v)}_handleMessage(v){switch(v.type){case 1:return this._handleReplyMessage(v);case 0:return this._handleRequestMessage(v);case 2:return this._handleSubscribeEventMessage(v);case 3:return this._handleEventMessage(v);case 4:return this._handleUnsubscribeEventMessage(v)}}_handleReplyMessage(v){if(!this._pendingReplies[v.seq]){console.warn("Got reply to unknown seq");return}let p=this._pendingReplies[v.seq];if(delete this._pendingReplies[v.seq],v.err){let _=v.err;v.err.$isError&&(_=new Error,_.name=v.err.name,_.message=v.err.message,_.stack=v.err.stack),p.reject(_);return}p.resolve(v.res)}_handleRequestMessage(v){let p=v.req;this._handler.handleMessage(v.method,v.args).then(y=>{this._send(new n(this._workerId,p,y,void 0))},y=>{y.detail instanceof Error&&(y.detail=(0,L.transformErrorForSerialization)(y.detail)),this._send(new n(this._workerId,p,void 0,(0,L.transformErrorForSerialization)(y)))})}_handleSubscribeEventMessage(v){const p=v.req,_=this._handler.handleEvent(v.eventName,v.arg)(y=>{this._send(new o(this._workerId,p,y))});this._pendingEvents.set(p,_)}_handleEventMessage(v){if(!this._pendingEmitters.has(v.req)){console.warn("Got event for unknown req");return}this._pendingEmitters.get(v.req).fire(v.event)}_handleUnsubscribeEventMessage(v){if(!this._pendingEvents.has(v.req)){console.warn("Got unsubscribe for unknown req");return}this._pendingEvents.get(v.req).dispose(),this._pendingEvents.delete(v.req)}_send(v){let p=[];if(v.type===0)for(let _=0;_<v.args.length;_++)v.args[_]instanceof ArrayBuffer&&p.push(v.args[_]);else v.type===1&&v.res instanceof ArrayBuffer&&p.push(v.res);this._handler.sendMessage(v,p)}}class r extends k.Disposable{constructor(v,p,_){super();let y=null;this._worker=this._register(v.create("vs/base/common/worker/simpleWorker",B=>{this._protocol.handleMessage(B)},B=>{y&&y(B)})),this._protocol=new d({sendMessage:(B,O)=>{this._worker.postMessage(B,O)},handleMessage:(B,O)=>{if(typeof _[B]!="function")return Promise.reject(new Error("Missing method "+B+" on main thread host."));try{return Promise.resolve(_[B].apply(_,O))}catch(T){return Promise.reject(T)}},handleEvent:(B,O)=>{if(a(B)){const T=_[B].call(_,O);if(typeof T!="function")throw new Error(`Missing dynamic event ${B} on main thread host.`);return T}if(s(B)){const T=_[B];if(typeof T!="function")throw new Error(`Missing event ${B} on main thread host.`);return T}throw new Error(`Malformed event name ${B}`)}}),this._protocol.setWorkerId(this._worker.getId());let E=null;typeof I.globals.require!="undefined"&&typeof I.globals.require.getConfig=="function"?E=I.globals.require.getConfig():typeof I.globals.requirejs!="undefined"&&(E=I.globals.requirejs.s.contexts._.config);const N=w.getAllMethodNames(_);this._onModuleLoaded=this._protocol.sendMessage(C,[this._worker.getId(),JSON.parse(JSON.stringify(E)),p,N]);const D=(B,O)=>this._request(B,O),M=(B,O)=>this._protocol.listen(B,O);this._lazyProxy=new Promise((B,O)=>{y=O,this._onModuleLoaded.then(T=>{B(l(T,D,M))},T=>{O(T),this._onError("Worker failed to load "+p,T)})})}getProxyObject(){return this._lazyProxy}_request(v,p){return new Promise((_,y)=>{this._onModuleLoaded.then(()=>{this._protocol.sendMessage(v,p).then(_,y)},y)})}_onError(v,p){console.error(v),console.info(p)}}e.SimpleWorkerClient=r;function s(S){return S[0]==="o"&&S[1]==="n"&&b.isUpperAsciiLetter(S.charCodeAt(2))}function a(S){return/^onDynamic/.test(S)&&b.isUpperAsciiLetter(S.charCodeAt(9))}function l(S,v,p){const _=N=>function(){const D=Array.prototype.slice.call(arguments,0);return v(N,D)},y=N=>function(D){return p(N,D)};let E={};for(const N of S){if(a(N)){E[N]=y(N);continue}if(s(N)){E[N]=p(N,void 0);continue}E[N]=_(N)}return E}class h{constructor(v,p){this._requestHandlerFactory=p,this._requestHandler=null,this._protocol=new d({sendMessage:(_,y)=>{v(_,y)},handleMessage:(_,y)=>this._handleMessage(_,y),handleEvent:(_,y)=>this._handleEvent(_,y)})}onmessage(v){this._protocol.handleMessage(v)}_handleMessage(v,p){if(v===C)return this.initialize(p[0],p[1],p[2],p[3]);if(!this._requestHandler||typeof this._requestHandler[v]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+v));try{return Promise.resolve(this._requestHandler[v].apply(this._requestHandler,p))}catch(_){return Promise.reject(_)}}_handleEvent(v,p){if(!this._requestHandler)throw new Error("Missing requestHandler");if(a(v)){const _=this._requestHandler[v].call(this._requestHandler,p);if(typeof _!="function")throw new Error(`Missing dynamic event ${v} on request handler.`);return _}if(s(v)){const _=this._requestHandler[v];if(typeof _!="function")throw new Error(`Missing event ${v} on request handler.`);return _}throw new Error(`Malformed event name ${v}`)}initialize(v,p,_,y){this._protocol.setWorkerId(v);const D=l(y,(M,B)=>this._protocol.sendMessage(M,B),(M,B)=>this._protocol.listen(M,B));return this._requestHandlerFactory?(this._requestHandler=this._requestHandlerFactory(D),Promise.resolve(w.getAllMethodNames(this._requestHandler))):(p&&(typeof p.baseUrl!="undefined"&&delete p.baseUrl,typeof p.paths!="undefined"&&typeof p.paths.vs!="undefined"&&delete p.paths.vs,typeof p.trustedTypesPolicy!==void 0&&delete p.trustedTypesPolicy,p.catchError=!0,I.globals.require.config(p)),new Promise((M,B)=>{(I.globals.require||q)([_],T=>{if(this._requestHandler=T.create(D),!this._requestHandler){B(new Error("No RequestHandler!"));return}M(w.getAllMethodNames(this._requestHandler))},B)}))}}e.SimpleWorkerServer=h;function f(S){return new h(S,null)}e.create=f}),define(te[329],ie([1,0,16,222]),function(q,e,L,m){"use strict";var k;Object.defineProperty(e,"__esModule",{value:!0}),e.DefaultWorkerFactory=e.getWorkerBootstrapUrl=void 0;const I=(k=window.trustedTypes)===null||k===void 0?void 0:k.createPolicy("defaultWorkerFactory",{createScriptURL:t=>t});function w(t){if(L.globals.MonacoEnvironment){if(typeof L.globals.MonacoEnvironment.getWorker=="function")return L.globals.MonacoEnvironment.getWorker("workerMain.js",t);if(typeof L.globals.MonacoEnvironment.getWorkerUrl=="function"){const n=L.globals.MonacoEnvironment.getWorkerUrl("workerMain.js",t);return new Worker(I?I.createScriptURL(n):n,{name:t})}}if(typeof q=="function"){const n=q.toUrl("vs/base/worker/workerMain.js"),i=b(n,t);return new Worker(I?I.createScriptURL(i):i,{name:t})}throw new Error("You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker")}function b(t,n){if(/^((http:)|(https:)|(file:))/.test(t)&&t.substring(0,self.origin.length)!==self.origin){const i="vs/base/worker/defaultWorkerFactory.js",o=q.toUrl(i).slice(0,-i.length),c=`/*${n}*/self.MonacoEnvironment={baseUrl: '${o}'};const ttPolicy = self.trustedTypes?.createPolicy('defaultWorkerFactory', { createScriptURL: value => value });importScripts(ttPolicy?.createScriptURL('${t}') ?? '${t}');/*${n}*/`,d=new Blob([c],{type:"application/javascript"});return URL.createObjectURL(d)}return t+"#"+n}e.getWorkerBootstrapUrl=b;function C(t){return typeof t.then=="function"}class u{constructor(n,i,o,c,d){this.id=i;const r=w(o);C(r)?this.worker=r:this.worker=Promise.resolve(r),this.postMessage(n,[]),this.worker.then(s=>{s.onmessage=function(a){c(a.data)},s.onmessageerror=d,typeof s.addEventListener=="function"&&s.addEventListener("error",d)})}getId(){return this.id}postMessage(n,i){this.worker&&this.worker.then(o=>o.postMessage(n,i))}dispose(){this.worker&&this.worker.then(n=>n.terminate()),this.worker=null}}class g{constructor(n){this._label=n,this._webWorkerFailedBeforeError=!1}create(n,i,o){let c=++g.LAST_WORKER_ID;if(this._webWorkerFailedBeforeError)throw this._webWorkerFailedBeforeError;return new u(n,c,this._label||"anonymous"+c,i,d=>{(0,m.logOnceWebWorkerWarning)(d),this._webWorkerFailedBeforeError=d,o(d)})}}e.DefaultWorkerFactory=g,g.LAST_WORKER_ID=0}),define(te[223],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.quickPickItemScorerAccessor=e.QuickPickItemScorerAccessor=e.ItemActivation=e.QuickInputHideReason=e.NO_KEY_MODS=void 0,e.NO_KEY_MODS={ctrlCmd:!1,alt:!1};var L;(function(I){I[I.Blur=1]="Blur",I[I.Gesture=2]="Gesture",I[I.Other=3]="Other"})(L=e.QuickInputHideReason||(e.QuickInputHideReason={}));var m;(function(I){I[I.NONE=0]="NONE",I[I.FIRST=1]="FIRST",I[I.SECOND=2]="SECOND",I[I.LAST=3]="LAST"})(m=e.ItemActivation||(e.ItemActivation={}));class k{constructor(w){this.options=w}}e.QuickPickItemScorerAccessor=k,e.quickPickItemScorerAccessor=new k}),define(te[330],ie([1,0,10,4,2,19]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InMemoryStorageDatabase=e.Storage=void 0;var w;(function(u){u[u.None=0]="None",u[u.Initialized=1]="Initialized",u[u.Closed=2]="Closed"})(w||(w={}));class b extends k.Disposable{constructor(g,t=Object.create(null)){super();this.database=g,this.options=t,this._onDidChangeStorage=this._register(new m.Emitter),this.onDidChangeStorage=this._onDidChangeStorage.event,this.state=w.None,this.cache=new Map,this.flushDelayer=new L.ThrottledDelayer(b.DEFAULT_FLUSH_DELAY),this.pendingDeletes=new Set,this.pendingInserts=new Map,this.whenFlushedCallbacks=[],this.registerListeners()}registerListeners(){this._register(this.database.onDidChangeItemsExternal(g=>this.onDidChangeItemsExternal(g)))}onDidChangeItemsExternal(g){var t,n;(t=g.changed)===null||t===void 0||t.forEach((i,o)=>this.accept(o,i)),(n=g.deleted)===null||n===void 0||n.forEach(i=>this.accept(i,void 0))}accept(g,t){if(this.state===w.Closed)return;let n=!1;(0,I.isUndefinedOrNull)(t)?n=this.cache.delete(g):this.cache.get(g)!==t&&(this.cache.set(g,t),n=!0),n&&this._onDidChangeStorage.fire(g)}get(g,t){const n=this.cache.get(g);return(0,I.isUndefinedOrNull)(n)?t:n}getBoolean(g,t){const n=this.get(g);return(0,I.isUndefinedOrNull)(n)?t:n==="true"}getNumber(g,t){const n=this.get(g);return(0,I.isUndefinedOrNull)(n)?t:parseInt(n,10)}set(g,t){return we(this,void 0,void 0,function*(){if(this.state===w.Closed)return;if((0,I.isUndefinedOrNull)(t))return this.delete(g);const n=String(t);if(this.cache.get(g)!==n)return this.cache.set(g,n),this.pendingInserts.set(g,n),this.pendingDeletes.delete(g),this._onDidChangeStorage.fire(g),this.doFlush()})}delete(g){return we(this,void 0,void 0,function*(){if(!(this.state===w.Closed||!this.cache.delete(g)))return this.pendingDeletes.has(g)||this.pendingDeletes.add(g),this.pendingInserts.delete(g),this._onDidChangeStorage.fire(g),this.doFlush()})}get hasPending(){return this.pendingInserts.size>0||this.pendingDeletes.size>0}flushPending(){return we(this,void 0,void 0,function*(){if(!this.hasPending)return;const g={insert:this.pendingInserts,delete:this.pendingDeletes};return this.pendingDeletes=new Set,this.pendingInserts=new Map,this.database.updateItems(g).finally(()=>{var t;if(!this.hasPending)for(;this.whenFlushedCallbacks.length;)(t=this.whenFlushedCallbacks.pop())===null||t===void 0||t()})})}doFlush(g){return we(this,void 0,void 0,function*(){return this.flushDelayer.trigger(()=>this.flushPending(),g)})}dispose(){this.flushDelayer.dispose(),super.dispose()}}e.Storage=b,b.DEFAULT_FLUSH_DELAY=100;class C{constructor(){this.onDidChangeItemsExternal=m.Event.None,this.items=new Map}updateItems(g){return we(this,void 0,void 0,function*(){g.insert&&g.insert.forEach((t,n)=>this.items.set(n,t)),g.delete&&g.delete.forEach(t=>this.items.delete(t))})}}e.InMemoryStorageDatabase=C}),define(te[224],ie([12]),{}),define(te[331],ie([12]),{}),define(te[46],ie([1,0,7,16,331]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.status=e.alert=e.setARIAContainer=void 0;const k=2e4;let I,w,b,C,u;function g(o){I=document.createElement("div"),I.className="monaco-aria-container";const c=()=>{const r=document.createElement("div");return r.className="monaco-alert",r.setAttribute("role","alert"),r.setAttribute("aria-atomic","true"),I.appendChild(r),r};w=c(),b=c();const d=()=>{const r=document.createElement("div");return r.className="monaco-status",r.setAttribute("role","complementary"),r.setAttribute("aria-live","polite"),r.setAttribute("aria-atomic","true"),I.appendChild(r),r};C=d(),u=d(),o.appendChild(I)}e.setARIAContainer=g;function t(o){!I||(w.textContent!==o?(L.clearNode(b),i(w,o)):(L.clearNode(w),i(b,o)))}e.alert=t;function n(o){!I||(m.isMacintosh?t(o):C.textContent!==o?(L.clearNode(u),i(C,o)):(L.clearNode(C),i(u,o)))}e.status=n;function i(o,c){L.clearNode(o),c.length>k&&(c=c.substr(0,k)),o.textContent=c,o.style.visibility="hidden",o.style.visibility="visible"}}),define(te[332],ie([12]),{}),define(te[333],ie([1,0,7,44,60,115,30,4,2,40,332]),function(q,e,L,m,k,I,w,b,C,u){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Button=void 0;const g={buttonBackground:w.Color.fromHex("#0E639C"),buttonHoverBackground:w.Color.fromHex("#006BB3"),buttonForeground:w.Color.white};class t extends C.Disposable{constructor(i,o){super();this._onDidClick=this._register(new b.Emitter),this.options=o||Object.create(null),(0,u.mixin)(this.options,g,!1),this.buttonForeground=this.options.buttonForeground,this.buttonBackground=this.options.buttonBackground,this.buttonHoverBackground=this.options.buttonHoverBackground,this.buttonSecondaryForeground=this.options.buttonSecondaryForeground,this.buttonSecondaryBackground=this.options.buttonSecondaryBackground,this.buttonSecondaryHoverBackground=this.options.buttonSecondaryHoverBackground,this.buttonBorder=this.options.buttonBorder,this._element=document.createElement("a"),this._element.classList.add("monaco-button"),this._element.tabIndex=0,this._element.setAttribute("role","button"),i.appendChild(this._element),this._register(k.Gesture.addTarget(this._element)),[L.EventType.CLICK,k.EventType.Tap].forEach(c=>{this._register((0,L.addDisposableListener)(this._element,c,d=>{if(!this.enabled){L.EventHelper.stop(d);return}this._onDidClick.fire(d)}))}),this._register((0,L.addDisposableListener)(this._element,L.EventType.KEY_DOWN,c=>{const d=new m.StandardKeyboardEvent(c);let r=!1;this.enabled&&(d.equals(3)||d.equals(10))?(this._onDidClick.fire(c),r=!0):d.equals(9)&&(this._element.blur(),r=!0),r&&L.EventHelper.stop(d,!0)})),this._register((0,L.addDisposableListener)(this._element,L.EventType.MOUSE_OVER,c=>{this._element.classList.contains("disabled")||this.setHoverBackground()})),this._register((0,L.addDisposableListener)(this._element,L.EventType.MOUSE_OUT,c=>{this.applyStyles()})),this.focusTracker=this._register((0,L.trackFocus)(this._element)),this._register(this.focusTracker.onDidFocus(()=>this.setHoverBackground())),this._register(this.focusTracker.onDidBlur(()=>this.applyStyles())),this.applyStyles()}get onDidClick(){return this._onDidClick.event}setHoverBackground(){let i;this.options.secondary?i=this.buttonSecondaryHoverBackground?this.buttonSecondaryHoverBackground.toString():null:i=this.buttonHoverBackground?this.buttonHoverBackground.toString():null,i&&(this._element.style.backgroundColor=i)}style(i){this.buttonForeground=i.buttonForeground,this.buttonBackground=i.buttonBackground,this.buttonHoverBackground=i.buttonHoverBackground,this.buttonSecondaryForeground=i.buttonSecondaryForeground,this.buttonSecondaryBackground=i.buttonSecondaryBackground,this.buttonSecondaryHoverBackground=i.buttonSecondaryHoverBackground,this.buttonBorder=i.buttonBorder,this.applyStyles()}applyStyles(){if(this._element){let i,o;this.options.secondary?(o=this.buttonSecondaryForeground?this.buttonSecondaryForeground.toString():"",i=this.buttonSecondaryBackground?this.buttonSecondaryBackground.toString():""):(o=this.buttonForeground?this.buttonForeground.toString():"",i=this.buttonBackground?this.buttonBackground.toString():"");const c=this.buttonBorder?this.buttonBorder.toString():"";this._element.style.color=o,this._element.style.backgroundColor=i,this._element.style.borderWidth=c?"1px":"",this._element.style.borderStyle=c?"solid":"",this._element.style.borderColor=c}}get element(){return this._element}set label(i){this._element.classList.add("monaco-text-button"),this.options.supportIcons?(0,L.reset)(this._element,...(0,I.renderLabelWithIcons)(i)):this._element.textContent=i,typeof this.options.title=="string"?this._element.title=this.options.title:this.options.title&&(this._element.title=i)}set enabled(i){i?(this._element.classList.remove("disabled"),this._element.setAttribute("aria-disabled",String(!1)),this._element.tabIndex=0):(this._element.classList.add("disabled"),this._element.setAttribute("aria-disabled",String(!0)))}get enabled(){return!this._element.classList.contains("disabled")}}e.Button=t}),define(te[334],ie([12]),{}),define(te[174],ie([1,0,62,28,30,4,334]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Checkbox=void 0;const w={inputActiveOptionBorder:k.Color.fromHex("#007ACC00"),inputActiveOptionForeground:k.Color.fromHex("#FFFFFF"),inputActiveOptionBackground:k.Color.fromHex("#0E639C50")};class b extends L.Widget{constructor(u){super();this._onChange=this._register(new I.Emitter),this.onChange=this._onChange.event,this._onKeyDown=this._register(new I.Emitter),this.onKeyDown=this._onKeyDown.event,this._opts=Object.assign(Object.assign({},w),u),this._checked=this._opts.isChecked;const g=["monaco-custom-checkbox"];this._opts.icon&&g.push(...m.CSSIcon.asClassNameArray(this._opts.icon)),this._opts.actionClassName&&g.push(...this._opts.actionClassName.split(" ")),this._checked&&g.push("checked"),this.domNode=document.createElement("div"),this.domNode.title=this._opts.title,this.domNode.classList.add(...g),this._opts.notFocusable||(this.domNode.tabIndex=0),this.domNode.setAttribute("role","checkbox"),this.domNode.setAttribute("aria-checked",String(this._checked)),this.domNode.setAttribute("aria-label",this._opts.title),this.applyStyles(),this.onclick(this.domNode,t=>{this.enabled&&(this.checked=!this._checked,this._onChange.fire(!1),t.preventDefault())}),this.ignoreGesture(this.domNode),this.onkeydown(this.domNode,t=>{if(t.keyCode===10||t.keyCode===3){this.checked=!this._checked,this._onChange.fire(!0),t.preventDefault();return}this._onKeyDown.fire(t)})}get enabled(){return this.domNode.getAttribute("aria-disabled")!=="true"}focus(){this.domNode.focus()}get checked(){return this._checked}set checked(u){this._checked=u,this.domNode.setAttribute("aria-checked",String(this._checked)),this.domNode.classList.toggle("checked",this._checked),this.applyStyles()}width(){return 2+2+2+16}style(u){u.inputActiveOptionBorder&&(this._opts.inputActiveOptionBorder=u.inputActiveOptionBorder),u.inputActiveOptionForeground&&(this._opts.inputActiveOptionForeground=u.inputActiveOptionForeground),u.inputActiveOptionBackground&&(this._opts.inputActiveOptionBackground=u.inputActiveOptionBackground),this.applyStyles()}applyStyles(){this.domNode&&(this.domNode.style.borderColor=this._checked&&this._opts.inputActiveOptionBorder?this._opts.inputActiveOptionBorder.toString():"",this.domNode.style.color=this._checked&&this._opts.inputActiveOptionForeground?this._opts.inputActiveOptionForeground.toString():"inherit",this.domNode.style.backgroundColor=this._checked&&this._opts.inputActiveOptionBackground?this._opts.inputActiveOptionBackground.toString():"")}enable(){this.domNode.setAttribute("aria-disabled",String(!1))}disable(){this.domNode.setAttribute("aria-disabled",String(!0))}}e.Checkbox=b}),define(te[335],ie([12]),{}),define(te[336],ie([12]),{}),define(te[143],ie([1,0,28,335,336]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.formatRule=void 0;function m(k){let I=k.definition;for(;I instanceof L.Codicon;)I=I.definition;return`.codicon-${k.id}:before { content: '${I.fontCharacter}'; }`}e.formatRule=m}),define(te[337],ie([12]),{}),define(te[225],ie([1,0,167,7,2,16,139,337]),function(q,e,L,m,k,I,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ContextView=e.layout=e.LayoutAnchorMode=void 0;var b;(function(t){t[t.AVOID=0]="AVOID",t[t.ALIGN=1]="ALIGN"})(b=e.LayoutAnchorMode||(e.LayoutAnchorMode={}));function C(t,n,i){const o=i.mode===b.ALIGN?i.offset:i.offset+i.size,c=i.mode===b.ALIGN?i.offset+i.size:i.offset;return i.position===0?n<=t-o?o:n<=c?c-n:Math.max(t-n,0):n<=c?c-n:n<=t-o?o:0}e.layout=C;class u extends k.Disposable{constructor(n,i){super();this.container=null,this.delegate=null,this.toDisposeOnClean=k.Disposable.None,this.toDisposeOnSetContainer=k.Disposable.None,this.shadowRoot=null,this.shadowRootHostElement=null,this.view=m.$(".context-view"),this.useFixedPosition=!1,this.useShadowDOM=!1,m.hide(this.view),this.setContainer(n,i),this._register((0,k.toDisposable)(()=>this.setContainer(null,1)))}setContainer(n,i){var o;if(this.container&&(this.toDisposeOnSetContainer.dispose(),this.shadowRoot?(this.shadowRoot.removeChild(this.view),this.shadowRoot=null,(o=this.shadowRootHostElement)===null||o===void 0||o.remove(),this.shadowRootHostElement=null):this.container.removeChild(this.view),this.container=null),n){if(this.container=n,this.useFixedPosition=i!==1,this.useShadowDOM=i===3,this.useShadowDOM){this.shadowRootHostElement=m.$(".shadow-root-host"),this.container.appendChild(this.shadowRootHostElement),this.shadowRoot=this.shadowRootHostElement.attachShadow({mode:"open"});const d=document.createElement("style");d.textContent=g,this.shadowRoot.appendChild(d),this.shadowRoot.appendChild(this.view),this.shadowRoot.appendChild(m.$("slot"))}else this.container.appendChild(this.view);const c=new k.DisposableStore;u.BUBBLE_UP_EVENTS.forEach(d=>{c.add(m.addStandardDisposableListener(this.container,d,r=>{this.onDOMEvent(r,!1)}))}),u.BUBBLE_DOWN_EVENTS.forEach(d=>{c.add(m.addStandardDisposableListener(this.container,d,r=>{this.onDOMEvent(r,!0)},!0))}),this.toDisposeOnSetContainer=c}}show(n){this.isVisible()&&this.hide(),m.clearNode(this.view),this.view.className="context-view",this.view.style.top="0px",this.view.style.left="0px",this.view.style.zIndex="2500",this.view.style.position=this.useFixedPosition?"fixed":"absolute",m.show(this.view),this.toDisposeOnClean=n.render(this.view)||k.Disposable.None,this.delegate=n,this.doLayout(),this.delegate.focus&&this.delegate.focus()}getViewElement(){return this.view}layout(){if(!!this.isVisible()){if(this.delegate.canRelayout===!1&&!(I.isIOS&&L.BrowserFeatures.pointerEvents)){this.hide();return}this.delegate.layout&&this.delegate.layout(),this.doLayout()}}doLayout(){if(!this.isVisible())return;let n=this.delegate.getAnchor(),i;if(m.isHTMLElement(n)){let f=m.getDomNodePagePosition(n);i={top:f.top,left:f.left,width:f.width,height:f.height}}else i={top:n.y,left:n.x,width:n.width||1,height:n.height||2};const o=m.getTotalWidth(this.view),c=m.getTotalHeight(this.view),d=this.delegate.anchorPosition||0,r=this.delegate.anchorAlignment||0,s=this.delegate.anchorAxisAlignment||0;let a,l;if(s===0){const f={offset:i.top-window.pageYOffset,size:i.height,position:d===0?0:1},S={offset:i.left,size:i.width,position:r===0?0:1,mode:b.ALIGN};a=C(window.innerHeight,c,f)+window.pageYOffset,w.Range.intersects({start:a,end:a+c},{start:f.offset,end:f.offset+f.size})&&(S.mode=b.AVOID),l=C(window.innerWidth,o,S)}else{const f={offset:i.left,size:i.width,position:r===0?0:1},S={offset:i.top,size:i.height,position:d===0?0:1,mode:b.ALIGN};l=C(window.innerWidth,o,f),w.Range.intersects({start:l,end:l+o},{start:f.offset,end:f.offset+f.size})&&(S.mode=b.AVOID),a=C(window.innerHeight,c,S)+window.pageYOffset}this.view.classList.remove("top","bottom","left","right"),this.view.classList.add(d===0?"bottom":"top"),this.view.classList.add(r===0?"left":"right"),this.view.classList.toggle("fixed",this.useFixedPosition);const h=m.getDomNodePagePosition(this.container);this.view.style.top=`${a-(this.useFixedPosition?m.getDomNodePagePosition(this.view).top:h.top)}px`,this.view.style.left=`${l-(this.useFixedPosition?m.getDomNodePagePosition(this.view).left:h.left)}px`,this.view.style.width="initial"}hide(n){const i=this.delegate;this.delegate=null,(i==null?void 0:i.onHide)&&i.onHide(n),this.toDisposeOnClean.dispose(),m.hide(this.view)}isVisible(){return!!this.delegate}onDOMEvent(n,i){this.delegate&&(this.delegate.onDOMEvent?this.delegate.onDOMEvent(n,document.activeElement):i&&!m.isAncestor(n.target,this.container)&&this.hide())}dispose(){this.hide(),super.dispose()}}e.ContextView=u,u.BUBBLE_UP_EVENTS=["click","keydown","focus","blur"],u.BUBBLE_DOWN_EVENTS=["click"];let g=`
+	:host {
+		all: initial; /* 1st rule so subsequent properties are reset. */
+	}
+
+	@font-face {
+		font-family: "codicon";
+		font-display: block;
+		src: url("./codicon.ttf?5d4d76ab2ce5108968ad644d591a16a6") format("truetype");
+	}
+
+	.codicon[class*='codicon-'] {
+		font: normal normal normal 16px/1 codicon;
+		display: inline-block;
+		text-decoration: none;
+		text-rendering: auto;
+		text-align: center;
+		-webkit-font-smoothing: antialiased;
+		-moz-osx-font-smoothing: grayscale;
+		user-select: none;
+		-webkit-user-select: none;
+		-ms-user-select: none;
+	}
+
+	:host {
+		font-family: -apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI", "HelveticaNeue-Light", system-ui, "Ubuntu", "Droid Sans", sans-serif;
+	}
+
+	:host-context(.mac) { font-family: -apple-system, BlinkMacSystemFont, sans-serif; }
+	:host-context(.mac:lang(zh-Hans)) { font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", sans-serif; }
+	:host-context(.mac:lang(zh-Hant)) { font-family: -apple-system, BlinkMacSystemFont, "PingFang TC", sans-serif; }
+	:host-context(.mac:lang(ja)) { font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic Pro", sans-serif; }
+	:host-context(.mac:lang(ko)) { font-family: -apple-system, BlinkMacSystemFont, "Nanum Gothic", "Apple SD Gothic Neo", "AppleGothic", sans-serif; }
+
+	:host-context(.windows) { font-family: "Segoe WPC", "Segoe UI", sans-serif; }
+	:host-context(.windows:lang(zh-Hans)) { font-family: "Segoe WPC", "Segoe UI", "Microsoft YaHei", sans-serif; }
+	:host-context(.windows:lang(zh-Hant)) { font-family: "Segoe WPC", "Segoe UI", "Microsoft Jhenghei", sans-serif; }
+	:host-context(.windows:lang(ja)) { font-family: "Segoe WPC", "Segoe UI", "Yu Gothic UI", "Meiryo UI", sans-serif; }
+	:host-context(.windows:lang(ko)) { font-family: "Segoe WPC", "Segoe UI", "Malgun Gothic", "Dotom", sans-serif; }
+
+	:host-context(.linux) { font-family: system-ui, "Ubuntu", "Droid Sans", sans-serif; }
+	:host-context(.linux:lang(zh-Hans)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans SC", "Source Han Sans CN", "Source Han Sans", sans-serif; }
+	:host-context(.linux:lang(zh-Hant)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans TC", "Source Han Sans TW", "Source Han Sans", sans-serif; }
+	:host-context(.linux:lang(ja)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans J", "Source Han Sans JP", "Source Han Sans", sans-serif; }
+	:host-context(.linux:lang(ko)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans K", "Source Han Sans JR", "Source Han Sans", "UnDotum", "FBaekmuk Gulim", sans-serif; }
+`}),define(te[338],ie([12]),{}),define(te[226],ie([1,0,7,30,40,8,338]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CountBadge=void 0;const w={badgeBackground:m.Color.fromHex("#4D4D4D"),badgeForeground:m.Color.fromHex("#FFFFFF")};class b{constructor(u,g){this.count=0,this.options=g||Object.create(null),(0,k.mixin)(this.options,w,!1),this.badgeBackground=this.options.badgeBackground,this.badgeForeground=this.options.badgeForeground,this.badgeBorder=this.options.badgeBorder,this.element=(0,L.append)(u,(0,L.$)(".monaco-count-badge")),this.countFormat=this.options.countFormat||"{0}",this.titleFormat=this.options.titleFormat||"",this.setCount(this.options.count||0)}setCount(u){this.count=u,this.render()}setTitleFormat(u){this.titleFormat=u,this.render()}render(){this.element.textContent=(0,I.format)(this.countFormat,this.count),this.element.title=(0,I.format)(this.titleFormat,this.count),this.applyStyles()}style(u){this.badgeBackground=u.badgeBackground,this.badgeForeground=u.badgeForeground,this.badgeBorder=u.badgeBorder,this.applyStyles()}applyStyles(){if(this.element){const u=this.badgeBackground?this.badgeBackground.toString():"",g=this.badgeForeground?this.badgeForeground.toString():"",t=this.badgeBorder?this.badgeBorder.toString():"";this.element.style.backgroundColor=u,this.element.style.color=g,this.element.style.borderWidth=t?"1px":"",this.element.style.borderStyle=t?"solid":"",this.element.style.borderColor=t}}}e.CountBadge=b}),define(te[227],ie([12]),{}),define(te[228],ie([12]),{}),define(te[339],ie([12]),{}),define(te[340],ie([12]),{}),define(te[341],ie([12]),{}),define(te[342],ie([12]),{}),define(te[229],ie([12]),{}),define(te[343],ie([12]),{}),define(te[144],ie([1,0,343]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MOUSE_CURSOR_TEXT_CSS_CLASS_NAME=void 0,e.MOUSE_CURSOR_TEXT_CSS_CLASS_NAME="monaco-mouse-cursor-text"}),define(te[344],ie([12]),{}),define(te[345],ie([1,0,7,10,30,2,40,344]),function(q,e,L,m,k,I,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ProgressBar=void 0;const b="done",C="active",u="infinite",g="infinite-long-running",t="discrete",n={progressBarBackground:k.Color.fromHex("#0E70C0")};class i extends I.Disposable{constructor(c,d){super();this.options=d||Object.create(null),(0,w.mixin)(this.options,n,!1),this.workedVal=0,this.progressBarBackground=this.options.progressBarBackground,this.showDelayedScheduler=this._register(new m.RunOnceScheduler(()=>(0,L.show)(this.element),0)),this.longRunningScheduler=this._register(new m.RunOnceScheduler(()=>this.infiniteLongRunning(),i.LONG_RUNNING_INFINITE_THRESHOLD)),this.create(c)}create(c){this.element=document.createElement("div"),this.element.classList.add("monaco-progress-container"),this.element.setAttribute("role","progressbar"),this.element.setAttribute("aria-valuemin","0"),c.appendChild(this.element),this.bit=document.createElement("div"),this.bit.classList.add("progress-bit"),this.element.appendChild(this.bit),this.applyStyles()}off(){this.bit.style.width="inherit",this.bit.style.opacity="1",this.element.classList.remove(C,u,g,t),this.workedVal=0,this.totalWork=void 0,this.longRunningScheduler.cancel()}stop(){return this.doDone(!1)}doDone(c){return this.element.classList.add(b),this.element.classList.contains(u)?(this.bit.style.opacity="0",c?setTimeout(()=>this.off(),200):this.off()):(this.bit.style.width="inherit",c?setTimeout(()=>this.off(),200):this.off()),this}infinite(){return this.bit.style.width="2%",this.bit.style.opacity="1",this.element.classList.remove(t,b,g),this.element.classList.add(C,u),this.longRunningScheduler.schedule(),this}infiniteLongRunning(){this.element.classList.add(g)}getContainer(){return this.element}style(c){this.progressBarBackground=c.progressBarBackground,this.applyStyles()}applyStyles(){if(this.bit){const c=this.progressBarBackground?this.progressBarBackground.toString():"";this.bit.style.backgroundColor=c}}}e.ProgressBar=i,i.LONG_RUNNING_INFINITE_THRESHOLD=1e4}),define(te[346],ie([12]),{}),define(te[116],ie([1,0,7,92,60,10,95,4,2,16,346]),function(q,e,L,m,k,I,w,b,C,u){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Sash=e.OrthogonalEdge=void 0;let g=!1;var t;(function(h){h.North="north",h.South="south",h.East="east",h.West="west"})(t=e.OrthogonalEdge||(e.OrthogonalEdge={}));let n=4;const i=new b.Emitter;let o=300;const c=new b.Emitter;class d{constructor(){this.disposables=new C.DisposableStore}get onPointerMove(){return this.disposables.add(new m.DomEmitter(window,"mousemove")).event}get onPointerUp(){return this.disposables.add(new m.DomEmitter(window,"mouseup")).event}dispose(){this.disposables.dispose()}}Ie([w.memoize],d.prototype,"onPointerMove",null),Ie([w.memoize],d.prototype,"onPointerUp",null);class r{constructor(f){this.el=f,this.disposables=new C.DisposableStore}get onPointerMove(){return this.disposables.add(new m.DomEmitter(this.el,k.EventType.Change)).event}get onPointerUp(){return this.disposables.add(new m.DomEmitter(this.el,k.EventType.End)).event}dispose(){this.disposables.dispose()}}Ie([w.memoize],r.prototype,"onPointerMove",null),Ie([w.memoize],r.prototype,"onPointerUp",null);class s{constructor(f){this.factory=f}get onPointerMove(){return this.factory.onPointerMove}get onPointerUp(){return this.factory.onPointerUp}dispose(){}}Ie([w.memoize],s.prototype,"onPointerMove",null),Ie([w.memoize],s.prototype,"onPointerUp",null);const a="pointer-events-disabled";class l extends C.Disposable{constructor(f,S,v){super();this.hoverDelay=o,this.hoverDelayer=this._register(new I.Delayer(this.hoverDelay)),this._state=3,this.onDidEnablementChange=this._register(new b.Emitter),this._onDidStart=this._register(new b.Emitter),this._onDidChange=this._register(new b.Emitter),this._onDidReset=this._register(new b.Emitter),this._onDidEnd=this._register(new b.Emitter),this.orthogonalStartSashDisposables=this._register(new C.DisposableStore),this.orthogonalStartDragHandleDisposables=this._register(new C.DisposableStore),this.orthogonalEndSashDisposables=this._register(new C.DisposableStore),this.orthogonalEndDragHandleDisposables=this._register(new C.DisposableStore),this.onDidStart=this._onDidStart.event,this.onDidChange=this._onDidChange.event,this.onDidReset=this._onDidReset.event,this.onDidEnd=this._onDidEnd.event,this.linkedSash=void 0,this.el=(0,L.append)(f,(0,L.$)(".monaco-sash")),v.orthogonalEdge&&this.el.classList.add(`orthogonal-edge-${v.orthogonalEdge}`),u.isMacintosh&&this.el.classList.add("mac");const p=this._register(new m.DomEmitter(this.el,"mousedown")).event;this._register(p(B=>this.onPointerStart(B,new d),this));const _=this._register(new m.DomEmitter(this.el,"dblclick")).event;this._register(_(this.onPointerDoublePress,this));const y=this._register(new m.DomEmitter(this.el,"mouseenter")).event;this._register(y(()=>l.onMouseEnter(this)));const E=this._register(new m.DomEmitter(this.el,"mouseleave")).event;this._register(E(()=>l.onMouseLeave(this))),this._register(k.Gesture.addTarget(this.el));const N=b.Event.map(this._register(new m.DomEmitter(this.el,k.EventType.Start)).event,B=>{var O;return Object.assign(Object.assign({},B),{target:(O=B.initialTarget)!==null&&O!==void 0?O:null})});this._register(N(B=>this.onPointerStart(B,new r(this.el)),this));const D=this._register(new m.DomEmitter(this.el,k.EventType.Tap)).event,M=b.Event.map(b.Event.filter(b.Event.debounce(D,(B,O)=>{var T;return{event:O,count:((T=B==null?void 0:B.count)!==null&&T!==void 0?T:0)+1}},250),({count:B})=>B===2),({event:B})=>{var O;return Object.assign(Object.assign({},B),{target:(O=B.initialTarget)!==null&&O!==void 0?O:null})});this._register(M(this.onPointerDoublePress,this)),typeof v.size=="number"?(this.size=v.size,v.orientation===0?this.el.style.width=`${this.size}px`:this.el.style.height=`${this.size}px`):(this.size=n,this._register(i.event(B=>{this.size=B,this.layout()}))),this._register(c.event(B=>this.hoverDelay=B)),this.layoutProvider=S,this.orthogonalStartSash=v.orthogonalStartSash,this.orthogonalEndSash=v.orthogonalEndSash,this.orientation=v.orientation||0,this.orientation===1?(this.el.classList.add("horizontal"),this.el.classList.remove("vertical")):(this.el.classList.remove("horizontal"),this.el.classList.add("vertical")),this.el.classList.toggle("debug",g),this.layout()}get state(){return this._state}get orthogonalStartSash(){return this._orthogonalStartSash}get orthogonalEndSash(){return this._orthogonalEndSash}set state(f){this._state!==f&&(this.el.classList.toggle("disabled",f===0),this.el.classList.toggle("minimum",f===1),this.el.classList.toggle("maximum",f===2),this._state=f,this.onDidEnablementChange.fire(f))}set orthogonalStartSash(f){if(this.orthogonalStartDragHandleDisposables.clear(),this.orthogonalStartSashDisposables.clear(),f){const S=v=>{this.orthogonalStartDragHandleDisposables.clear(),v!==0&&(this._orthogonalStartDragHandle=(0,L.append)(this.el,(0,L.$)(".orthogonal-drag-handle.start")),this.orthogonalStartDragHandleDisposables.add((0,C.toDisposable)(()=>this._orthogonalStartDragHandle.remove())),this.orthogonalStartDragHandleDisposables.add(new m.DomEmitter(this._orthogonalStartDragHandle,"mouseenter")).event(()=>l.onMouseEnter(f),void 0,this.orthogonalStartDragHandleDisposables),this.orthogonalStartDragHandleDisposables.add(new m.DomEmitter(this._orthogonalStartDragHandle,"mouseleave")).event(()=>l.onMouseLeave(f),void 0,this.orthogonalStartDragHandleDisposables))};this.orthogonalStartSashDisposables.add(f.onDidEnablementChange.event(S,this)),S(f.state)}this._orthogonalStartSash=f}set orthogonalEndSash(f){if(this.orthogonalEndDragHandleDisposables.clear(),this.orthogonalEndSashDisposables.clear(),f){const S=v=>{this.orthogonalEndDragHandleDisposables.clear(),v!==0&&(this._orthogonalEndDragHandle=(0,L.append)(this.el,(0,L.$)(".orthogonal-drag-handle.end")),this.orthogonalEndDragHandleDisposables.add((0,C.toDisposable)(()=>this._orthogonalEndDragHandle.remove())),this.orthogonalEndDragHandleDisposables.add(new m.DomEmitter(this._orthogonalEndDragHandle,"mouseenter")).event(()=>l.onMouseEnter(f),void 0,this.orthogonalEndDragHandleDisposables),this.orthogonalEndDragHandleDisposables.add(new m.DomEmitter(this._orthogonalEndDragHandle,"mouseleave")).event(()=>l.onMouseLeave(f),void 0,this.orthogonalEndDragHandleDisposables))};this.orthogonalEndSashDisposables.add(f.onDidEnablementChange.event(S,this)),S(f.state)}this._orthogonalEndSash=f}onPointerStart(f,S){L.EventHelper.stop(f);let v=!1;if(!f.__orthogonalSashEvent){const A=this.getOrthogonalSash(f);A&&(v=!0,f.__orthogonalSashEvent=!0,A.onPointerStart(f,new s(S)))}if(this.linkedSash&&!f.__linkedSashEvent&&(f.__linkedSashEvent=!0,this.linkedSash.onPointerStart(f,new s(S))),!this.state)return;const p=(0,L.getElementsByTagName)("iframe");for(const A of p)A.classList.add(a);const _=f.pageX,y=f.pageY,E=f.altKey,N={startX:_,currentX:_,startY:y,currentY:y,altKey:E};this.el.classList.add("active"),this._onDidStart.fire(N);const D=(0,L.createStyleSheet)(this.el),M=()=>{let A="";v?A="all-scroll":this.orientation===1?this.state===1?A="s-resize":this.state===2?A="n-resize":A=u.isMacintosh?"row-resize":"ns-resize":this.state===1?A="e-resize":this.state===2?A="w-resize":A=u.isMacintosh?"col-resize":"ew-resize",D.textContent=`* { cursor: ${A} !important; }`},B=new C.DisposableStore;M(),v||this.onDidEnablementChange.event(M,null,B);const O=A=>{L.EventHelper.stop(A,!1);const P={startX:_,currentX:A.pageX,startY:y,currentY:A.pageY,altKey:E};this._onDidChange.fire(P)},T=A=>{L.EventHelper.stop(A,!1),this.el.removeChild(D),this.el.classList.remove("active"),this._onDidEnd.fire(),B.dispose();for(const P of p)P.classList.remove(a)};S.onPointerMove(O,null,B),S.onPointerUp(T,null,B),B.add(S)}onPointerDoublePress(f){const S=this.getOrthogonalSash(f);S&&S._onDidReset.fire(),this.linkedSash&&this.linkedSash._onDidReset.fire(),this._onDidReset.fire()}static onMouseEnter(f,S=!1){f.el.classList.contains("active")?(f.hoverDelayer.cancel(),f.el.classList.add("hover")):f.hoverDelayer.trigger(()=>f.el.classList.add("hover"),f.hoverDelay).then(void 0,()=>{}),!S&&f.linkedSash&&l.onMouseEnter(f.linkedSash,!0)}static onMouseLeave(f,S=!1){f.hoverDelayer.cancel(),f.el.classList.remove("hover"),!S&&f.linkedSash&&l.onMouseLeave(f.linkedSash,!0)}clearSashHoverState(){l.onMouseLeave(this)}layout(){if(this.orientation===0){const f=this.layoutProvider;this.el.style.left=f.getVerticalSashLeft(this)-this.size/2+"px",f.getVerticalSashTop&&(this.el.style.top=f.getVerticalSashTop(this)+"px"),f.getVerticalSashHeight&&(this.el.style.height=f.getVerticalSashHeight(this)+"px")}else{const f=this.layoutProvider;this.el.style.top=f.getHorizontalSashTop(this)-this.size/2+"px",f.getHorizontalSashLeft&&(this.el.style.left=f.getHorizontalSashLeft(this)+"px"),f.getHorizontalSashWidth&&(this.el.style.width=f.getHorizontalSashWidth(this)+"px")}}getOrthogonalSash(f){if(!(!f.target||!(f.target instanceof HTMLElement))&&f.target.classList.contains("orthogonal-drag-handle"))return f.target.classList.contains("start")?this.orthogonalStartSash:this.orthogonalEndSash}dispose(){super.dispose(),this.el.remove()}}e.Sash=l}),define(te[347],ie([12]),{}),define(te[69],ie([1,0,34,7,31,59,325,326,62,10,4,2,16,140,347]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DomScrollableElement=e.SmoothScrollableElement=e.ScrollableElement=e.AbstractScrollableElement=e.MouseWheelClassifier=void 0;const o=500,c=50,d=!0;class r{constructor(p,_,y){this.timestamp=p,this.deltaX=_,this.deltaY=y,this.score=0}}class s{constructor(){this._capacity=5,this._memory=[],this._front=-1,this._rear=-1}isPhysicalMouseWheel(){if(this._front===-1&&this._rear===-1)return!1;let p=1,_=0,y=1,E=this._rear;do{const N=E===this._front?p:Math.pow(2,-y);if(p-=N,_+=this._memory[E].score*N,E===this._front)break;E=(this._capacity+E-1)%this._capacity,y++}while(!0);return _<=.5}accept(p,_,y){const E=new r(p,_,y);E.score=this._computeScore(E),this._front===-1&&this._rear===-1?(this._memory[0]=E,this._front=0,this._rear=0):(this._rear=(this._rear+1)%this._capacity,this._rear===this._front&&(this._front=(this._front+1)%this._capacity),this._memory[this._rear]=E)}_computeScore(p){if(Math.abs(p.deltaX)>0&&Math.abs(p.deltaY)>0)return 1;let _=.5;const y=this._front===-1&&this._rear===-1?null:this._memory[this._rear];return(!this._isAlmostInt(p.deltaX)||!this._isAlmostInt(p.deltaY))&&(_+=.25),Math.min(Math.max(_,0),1)}_isAlmostInt(p){return Math.abs(Math.round(p)-p)<.01}}e.MouseWheelClassifier=s,s.INSTANCE=new s;class a extends C.Widget{constructor(p,_,y){super();this._onScroll=this._register(new g.Emitter),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new g.Emitter),p.style.overflow="hidden",this._options=S(_),this._scrollable=y,this._register(this._scrollable.onScroll(N=>{this._onWillScroll.fire(N),this._onDidScroll(N),this._onScroll.fire(N)}));const E={onMouseWheel:N=>this._onMouseWheel(N),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new b.VerticalScrollbar(this._scrollable,this._options,E)),this._horizontalScrollbar=this._register(new w.HorizontalScrollbar(this._scrollable,this._options,E)),this._domNode=document.createElement("div"),this._domNode.className="monaco-scrollable-element "+this._options.className,this._domNode.setAttribute("role","presentation"),this._domNode.style.position="relative",this._domNode.style.overflow="hidden",this._domNode.appendChild(p),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=(0,k.createFastDomNode)(document.createElement("div")),this._leftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=(0,k.createFastDomNode)(document.createElement("div")),this._topShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=(0,k.createFastDomNode)(document.createElement("div")),this._topLeftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topLeftShadowDomNode.domNode)):(this._leftShadowDomNode=null,this._topShadowDomNode=null,this._topLeftShadowDomNode=null),this._listenOnDomNode=this._options.listenOnDomNode||this._domNode,this._mouseWheelToDispose=[],this._setListeningToMouseWheel(this._options.handleMouseWheel),this.onmouseover(this._listenOnDomNode,N=>this._onMouseOver(N)),this.onnonbubblingmouseout(this._listenOnDomNode,N=>this._onMouseOut(N)),this._hideTimeout=this._register(new u.TimeoutTimer),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}get options(){return this._options}dispose(){this._mouseWheelToDispose=(0,t.dispose)(this._mouseWheelToDispose),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarMouseDown(p){this._verticalScrollbar.delegateMouseDown(p)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(p){this._scrollable.setScrollDimensions(p,!1)}updateClassName(p){this._options.className=p,n.isMacintosh&&(this._options.className+=" mac"),this._domNode.className="monaco-scrollable-element "+this._options.className}updateOptions(p){typeof p.handleMouseWheel!="undefined"&&(this._options.handleMouseWheel=p.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),typeof p.mouseWheelScrollSensitivity!="undefined"&&(this._options.mouseWheelScrollSensitivity=p.mouseWheelScrollSensitivity),typeof p.fastScrollSensitivity!="undefined"&&(this._options.fastScrollSensitivity=p.fastScrollSensitivity),typeof p.scrollPredominantAxis!="undefined"&&(this._options.scrollPredominantAxis=p.scrollPredominantAxis),typeof p.horizontal!="undefined"&&(this._options.horizontal=p.horizontal),typeof p.vertical!="undefined"&&(this._options.vertical=p.vertical),typeof p.horizontalScrollbarSize!="undefined"&&(this._options.horizontalScrollbarSize=p.horizontalScrollbarSize),typeof p.verticalScrollbarSize!="undefined"&&(this._options.verticalScrollbarSize=p.verticalScrollbarSize),typeof p.scrollByPage!="undefined"&&(this._options.scrollByPage=p.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}_setListeningToMouseWheel(p){if(this._mouseWheelToDispose.length>0!==p&&(this._mouseWheelToDispose=(0,t.dispose)(this._mouseWheelToDispose),p)){const y=E=>{this._onMouseWheel(new I.StandardWheelEvent(E))};this._mouseWheelToDispose.push(m.addDisposableListener(this._listenOnDomNode,m.EventType.MOUSE_WHEEL,y,{passive:!1}))}}_onMouseWheel(p){const _=s.INSTANCE;if(d){const N=window.devicePixelRatio/(0,L.getZoomFactor)();n.isWindows||n.isLinux?_.accept(Date.now(),p.deltaX/N,p.deltaY/N):_.accept(Date.now(),p.deltaX,p.deltaY)}let y=!1;if(p.deltaY||p.deltaX){let N=p.deltaY*this._options.mouseWheelScrollSensitivity,D=p.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(Math.abs(N)>=Math.abs(D)?D=0:N=0),this._options.flipAxes&&([N,D]=[D,N]);const M=!n.isMacintosh&&p.browserEvent&&p.browserEvent.shiftKey;(this._options.scrollYToX||M)&&!D&&(D=N,N=0),p.browserEvent&&p.browserEvent.altKey&&(D=D*this._options.fastScrollSensitivity,N=N*this._options.fastScrollSensitivity);const B=this._scrollable.getFutureScrollPosition();let O={};if(N){const T=c*N,A=B.scrollTop-(T<0?Math.floor(T):Math.ceil(T));this._verticalScrollbar.writeScrollPosition(O,A)}if(D){const T=c*D,A=B.scrollLeft-(T<0?Math.floor(T):Math.ceil(T));this._horizontalScrollbar.writeScrollPosition(O,A)}O=this._scrollable.validateScrollPosition(O),(B.scrollLeft!==O.scrollLeft||B.scrollTop!==O.scrollTop)&&(d&&this._options.mouseWheelSmoothScroll&&_.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(O):this._scrollable.setScrollPositionNow(O),y=!0)}let E=y;!E&&this._options.alwaysConsumeMouseWheel&&(E=!0),!E&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(E=!0),E&&(p.preventDefault(),p.stopPropagation())}_onDidScroll(p){this._shouldRender=this._horizontalScrollbar.onDidScroll(p)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(p)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._revealOnScroll&&this._reveal(),this._options.lazyRender||this._render()}renderNow(){if(!this._options.lazyRender)throw new Error("Please use `lazyRender` together with `renderNow`!");this._render()}_render(){if(!!this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){const p=this._scrollable.getCurrentScrollPosition(),_=p.scrollTop>0,y=p.scrollLeft>0,E=y?" left":"",N=_?" top":"",D=y||_?" top-left-corner":"";this._leftShadowDomNode.setClassName(`shadow${E}`),this._topShadowDomNode.setClassName(`shadow${N}`),this._topLeftShadowDomNode.setClassName(`shadow${D}${N}${E}`)}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseOut(p){this._mouseIsOver=!1,this._hide()}_onMouseOver(p){this._mouseIsOver=!0,this._reveal()}_reveal(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()}_hide(){!this._mouseIsOver&&!this._isDragging&&(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())}_scheduleHide(){!this._mouseIsOver&&!this._isDragging&&this._hideTimeout.cancelAndSet(()=>this._hide(),o)}}e.AbstractScrollableElement=a;class l extends a{constructor(p,_){_=_||{},_.mouseWheelSmoothScroll=!1;const y=new i.Scrollable({forceIntegerValues:!0,smoothScrollDuration:0,scheduleAtNextAnimationFrame:E=>m.scheduleAtNextAnimationFrame(E)});super(p,_,y);this._register(y)}setScrollPosition(p){this._scrollable.setScrollPositionNow(p)}}e.ScrollableElement=l;class h extends a{constructor(p,_,y){super(p,_,y)}setScrollPosition(p){p.reuseAnimation?this._scrollable.setScrollPositionSmooth(p,p.reuseAnimation):this._scrollable.setScrollPositionNow(p)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}}e.SmoothScrollableElement=h;class f extends a{constructor(p,_){_=_||{},_.mouseWheelSmoothScroll=!1;const y=new i.Scrollable({forceIntegerValues:!1,smoothScrollDuration:0,scheduleAtNextAnimationFrame:E=>m.scheduleAtNextAnimationFrame(E)});super(p,_,y);this._register(y),this._element=p,this.onScroll(E=>{E.scrollTopChanged&&(this._element.scrollTop=E.scrollTop),E.scrollLeftChanged&&(this._element.scrollLeft=E.scrollLeft)}),this.scanDomNode()}setScrollPosition(p){this._scrollable.setScrollPositionNow(p)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}scanDomNode(){this.setScrollDimensions({width:this._element.clientWidth,scrollWidth:this._element.scrollWidth,height:this._element.clientHeight,scrollHeight:this._element.scrollHeight}),this.setScrollPosition({scrollLeft:this._element.scrollLeft,scrollTop:this._element.scrollTop})}}e.DomScrollableElement=f;function S(v){const p={lazyRender:typeof v.lazyRender!="undefined"?v.lazyRender:!1,className:typeof v.className!="undefined"?v.className:"",useShadows:typeof v.useShadows!="undefined"?v.useShadows:!0,handleMouseWheel:typeof v.handleMouseWheel!="undefined"?v.handleMouseWheel:!0,flipAxes:typeof v.flipAxes!="undefined"?v.flipAxes:!1,consumeMouseWheelIfScrollbarIsNeeded:typeof v.consumeMouseWheelIfScrollbarIsNeeded!="undefined"?v.consumeMouseWheelIfScrollbarIsNeeded:!1,alwaysConsumeMouseWheel:typeof v.alwaysConsumeMouseWheel!="undefined"?v.alwaysConsumeMouseWheel:!1,scrollYToX:typeof v.scrollYToX!="undefined"?v.scrollYToX:!1,mouseWheelScrollSensitivity:typeof v.mouseWheelScrollSensitivity!="undefined"?v.mouseWheelScrollSensitivity:1,fastScrollSensitivity:typeof v.fastScrollSensitivity!="undefined"?v.fastScrollSensitivity:5,scrollPredominantAxis:typeof v.scrollPredominantAxis!="undefined"?v.scrollPredominantAxis:!0,mouseWheelSmoothScroll:typeof v.mouseWheelSmoothScroll!="undefined"?v.mouseWheelSmoothScroll:!0,arrowSize:typeof v.arrowSize!="undefined"?v.arrowSize:11,listenOnDomNode:typeof v.listenOnDomNode!="undefined"?v.listenOnDomNode:null,horizontal:typeof v.horizontal!="undefined"?v.horizontal:1,horizontalScrollbarSize:typeof v.horizontalScrollbarSize!="undefined"?v.horizontalScrollbarSize:10,horizontalSliderSize:typeof v.horizontalSliderSize!="undefined"?v.horizontalSliderSize:0,horizontalHasArrows:typeof v.horizontalHasArrows!="undefined"?v.horizontalHasArrows:!1,vertical:typeof v.vertical!="undefined"?v.vertical:1,verticalScrollbarSize:typeof v.verticalScrollbarSize!="undefined"?v.verticalScrollbarSize:10,verticalHasArrows:typeof v.verticalHasArrows!="undefined"?v.verticalHasArrows:!1,verticalSliderSize:typeof v.verticalSliderSize!="undefined"?v.verticalSliderSize:0,scrollByPage:typeof v.scrollByPage!="undefined"?v.scrollByPage:!1};return p.horizontalSliderSize=typeof v.horizontalSliderSize!="undefined"?v.horizontalSliderSize:p.horizontalScrollbarSize,p.verticalSliderSize=typeof v.verticalSliderSize!="undefined"?v.verticalSliderSize:p.verticalScrollbarSize,n.isMacintosh&&(p.className+=" mac"),p}}),define(te[230],ie([1,0,7,44,69,2,339]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.HoverAction=e.HoverWidget=void 0;const w=L.$;class b extends I.Disposable{constructor(){super();this.containerDomNode=document.createElement("div"),this.containerDomNode.className="monaco-hover",this.containerDomNode.tabIndex=0,this.containerDomNode.setAttribute("role","tooltip"),this.contentsDomNode=document.createElement("div"),this.contentsDomNode.className="monaco-hover-content",this.scrollbar=this._register(new k.DomScrollableElement(this.contentsDomNode,{consumeMouseWheelIfScrollbarIsNeeded:!0})),this.containerDomNode.appendChild(this.scrollbar.getDomNode())}onContentsChanged(){this.scrollbar.scanDomNode()}}e.HoverWidget=b;class C extends I.Disposable{constructor(g,t,n){super();this.actionContainer=L.append(g,w("div.action-container")),this.actionContainer.setAttribute("tabindex","0"),this.action=L.append(this.actionContainer,w("a.action")),this.action.setAttribute("role","button"),t.iconClass&&L.append(this.action,w(`span.icon.${t.iconClass}`));const i=L.append(this.action,w("span"));i.textContent=n?`${t.label} (${n})`:t.label,this._register(L.addDisposableListener(this.actionContainer,L.EventType.CLICK,o=>{o.stopPropagation(),o.preventDefault(),t.run(this.actionContainer)})),this._register(L.addDisposableListener(this.actionContainer,L.EventType.KEY_UP,o=>{new m.StandardKeyboardEvent(o).equals(3)&&(o.stopPropagation(),o.preventDefault(),t.run(this.actionContainer))})),this.setEnabled(!0)}static render(g,t,n){return new C(g,t,n)}setEnabled(g){g?(this.actionContainer.classList.remove("disabled"),this.actionContainer.removeAttribute("aria-disabled")):(this.actionContainer.classList.add("disabled"),this.actionContainer.setAttribute("aria-disabled","true"))}}e.HoverAction=C}),define(te[175],ie([1,0,34,166,7,92,60,69,18,10,95,4,2,40,139,140,318,324]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ListView=e.NativeDragAndDropData=e.ExternalElementsDragAndDropData=e.ElementsDragAndDropData=void 0;const s={useShadows:!0,verticalScrollMode:1,setRowLineHeight:!0,setRowHeight:!0,supportDynamicHeights:!1,dnd:{getDragElements(p){return[p]},getDragURI(){return null},onDragStart(){},onDragOver(){return!1},drop(){}},horizontalScrolling:!1,transformOptimization:!0,alwaysConsumeMouseWheel:!0};class a{constructor(_){this.elements=_}update(){}getData(){return this.elements}}e.ElementsDragAndDropData=a;class l{constructor(_){this.elements=_}update(){}getData(){return this.elements}}e.ExternalElementsDragAndDropData=l;class h{constructor(){this.types=[],this.files=[]}update(_){if(_.types&&this.types.splice(0,this.types.length,..._.types),_.files){this.files.splice(0,this.files.length);for(let y=0;y<_.files.length;y++){const E=_.files.item(y);E&&(E.size||E.type)&&this.files.push(E)}}}getData(){return{types:this.types,files:this.files}}}e.NativeDragAndDropData=h;function f(p,_){return Array.isArray(p)&&Array.isArray(_)?(0,C.equals)(p,_):p===_}class S{constructor(_){(_==null?void 0:_.getSetSize)?this.getSetSize=_.getSetSize.bind(_):this.getSetSize=(y,E,N)=>N,(_==null?void 0:_.getPosInSet)?this.getPosInSet=_.getPosInSet.bind(_):this.getPosInSet=(y,E)=>E+1,(_==null?void 0:_.getRole)?this.getRole=_.getRole.bind(_):this.getRole=y=>"listitem",(_==null?void 0:_.isChecked)?this.isChecked=_.isChecked.bind(_):this.isChecked=y=>{}}}class v{constructor(_,y,E,N=s){if(this.virtualDelegate=y,this.domId=`list_id_${++v.InstanceCount}`,this.renderers=new Map,this.renderWidth=0,this._scrollHeight=0,this.scrollableElementUpdateDisposable=null,this.scrollableElementWidthDelayer=new u.Delayer(50),this.splicing=!1,this.dragOverAnimationStopDisposable=n.Disposable.None,this.dragOverMouseY=0,this.canDrop=!1,this.currentDragFeedbackDisposable=n.Disposable.None,this.onDragLeaveTimeout=n.Disposable.None,this.disposables=new n.DisposableStore,this._onDidChangeContentHeight=new t.Emitter,this._horizontalScrolling=!1,N.horizontalScrolling&&N.supportDynamicHeights)throw new Error("Horizontal scrolling and dynamic heights not supported simultaneously");this.items=[],this.itemId=0,this.rangeMap=new d.RangeMap;for(const M of E)this.renderers.set(M.templateId,M);this.cache=this.disposables.add(new r.RowCache(this.renderers)),this.lastRenderTop=0,this.lastRenderHeight=0,this.domNode=document.createElement("div"),this.domNode.className="monaco-list",this.domNode.classList.add(this.domId),this.domNode.tabIndex=0,this.domNode.classList.toggle("mouse-support",typeof N.mouseSupport=="boolean"?N.mouseSupport:!0),this._horizontalScrolling=(0,i.getOrDefault)(N,M=>M.horizontalScrolling,s.horizontalScrolling),this.domNode.classList.toggle("horizontal-scrolling",this._horizontalScrolling),this.additionalScrollHeight=typeof N.additionalScrollHeight=="undefined"?0:N.additionalScrollHeight,this.accessibilityProvider=new S(N.accessibilityProvider),this.rowsContainer=document.createElement("div"),this.rowsContainer.className="monaco-list-rows",(0,i.getOrDefault)(N,M=>M.transformOptimization,s.transformOptimization)&&(this.rowsContainer.style.transform="translate3d(0px, 0px, 0px)"),this.disposables.add(w.Gesture.addTarget(this.rowsContainer)),this.scrollable=new c.Scrollable({forceIntegerValues:!0,smoothScrollDuration:(0,i.getOrDefault)(N,M=>M.smoothScrolling,!1)?125:0,scheduleAtNextAnimationFrame:M=>(0,k.scheduleAtNextAnimationFrame)(M)}),this.scrollableElement=this.disposables.add(new b.SmoothScrollableElement(this.rowsContainer,{alwaysConsumeMouseWheel:(0,i.getOrDefault)(N,M=>M.alwaysConsumeMouseWheel,s.alwaysConsumeMouseWheel),horizontal:1,vertical:(0,i.getOrDefault)(N,M=>M.verticalScrollMode,s.verticalScrollMode),useShadows:(0,i.getOrDefault)(N,M=>M.useShadows,s.useShadows),mouseWheelScrollSensitivity:N.mouseWheelScrollSensitivity,fastScrollSensitivity:N.fastScrollSensitivity},this.scrollable)),this.domNode.appendChild(this.scrollableElement.getDomNode()),_.appendChild(this.domNode),this.scrollableElement.onScroll(this.onScroll,this,this.disposables),this.disposables.add((0,k.addDisposableListener)(this.rowsContainer,w.EventType.Change,M=>this.onTouchChange(M))),this.disposables.add((0,k.addDisposableListener)(this.scrollableElement.getDomNode(),"scroll",M=>M.target.scrollTop=0)),this.disposables.add((0,k.addDisposableListener)(this.domNode,"dragover",M=>this.onDragOver(this.toDragEvent(M)))),this.disposables.add((0,k.addDisposableListener)(this.domNode,"drop",M=>this.onDrop(this.toDragEvent(M)))),this.disposables.add((0,k.addDisposableListener)(this.domNode,"dragleave",M=>this.onDragLeave(this.toDragEvent(M)))),this.disposables.add((0,k.addDisposableListener)(this.domNode,"dragend",M=>this.onDragEnd(M))),this.setRowLineHeight=(0,i.getOrDefault)(N,M=>M.setRowLineHeight,s.setRowLineHeight),this.setRowHeight=(0,i.getOrDefault)(N,M=>M.setRowHeight,s.setRowHeight),this.supportDynamicHeights=(0,i.getOrDefault)(N,M=>M.supportDynamicHeights,s.supportDynamicHeights),this.dnd=(0,i.getOrDefault)(N,M=>M.dnd,s.dnd),this.layout()}get contentHeight(){return this.rangeMap.size}get horizontalScrolling(){return this._horizontalScrolling}set horizontalScrolling(_){if(_!==this._horizontalScrolling){if(_&&this.supportDynamicHeights)throw new Error("Horizontal scrolling and dynamic heights not supported simultaneously");if(this._horizontalScrolling=_,this.domNode.classList.toggle("horizontal-scrolling",this._horizontalScrolling),this._horizontalScrolling){for(const y of this.items)this.measureItemWidth(y);this.updateScrollWidth(),this.scrollableElement.setScrollDimensions({width:(0,k.getContentWidth)(this.domNode)}),this.rowsContainer.style.width=`${Math.max(this.scrollWidth||0,this.renderWidth)}px`}else this.scrollableElementWidthDelayer.cancel(),this.scrollableElement.setScrollDimensions({width:this.renderWidth,scrollWidth:this.renderWidth}),this.rowsContainer.style.width=""}}updateOptions(_){_.additionalScrollHeight!==void 0&&(this.additionalScrollHeight=_.additionalScrollHeight,this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight})),_.smoothScrolling!==void 0&&this.scrollable.setSmoothScrollDuration(_.smoothScrolling?125:0),_.horizontalScrolling!==void 0&&(this.horizontalScrolling=_.horizontalScrolling),_.mouseWheelScrollSensitivity!==void 0&&this.scrollableElement.updateOptions({mouseWheelScrollSensitivity:_.mouseWheelScrollSensitivity}),_.fastScrollSensitivity!==void 0&&this.scrollableElement.updateOptions({fastScrollSensitivity:_.fastScrollSensitivity})}splice(_,y,E=[]){if(this.splicing)throw new Error("Can't run recursive splices.");this.splicing=!0;try{return this._splice(_,y,E)}finally{this.splicing=!1,this._onDidChangeContentHeight.fire(this.contentHeight)}}_splice(_,y,E=[]){const N=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),D={start:_,end:_+y},M=o.Range.intersect(N,D),B=new Map;for(let Z=M.end-1;Z>=M.start;Z--){const V=this.items[Z];if(V.dragStartDisposable.dispose(),V.row){let K=B.get(V.templateId);K||(K=[],B.set(V.templateId,K));const X=this.renderers.get(V.templateId);X&&X.disposeElement&&X.disposeElement(V.element,Z,V.row.templateData,V.size),K.push(V.row)}V.row=null}const O={start:_+y,end:this.items.length},T=o.Range.intersect(O,N),A=o.Range.relativeComplement(O,N),P=E.map(Z=>({id:String(this.itemId++),element:Z,templateId:this.virtualDelegate.getTemplateId(Z),size:this.virtualDelegate.getHeight(Z),width:void 0,hasDynamicHeight:!!this.virtualDelegate.hasDynamicHeight&&this.virtualDelegate.hasDynamicHeight(Z),lastDynamicHeightWidth:void 0,row:null,uri:void 0,dropTarget:!1,dragStartDisposable:n.Disposable.None,checkedDisposable:n.Disposable.None}));let F;_===0&&y>=this.items.length?(this.rangeMap=new d.RangeMap,this.rangeMap.splice(0,0,P),F=this.items,this.items=P):(this.rangeMap.splice(_,y,P),F=this.items.splice(_,y,...P));const W=E.length-y,R=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),z=(0,d.shift)(T,W),j=o.Range.intersect(R,z);for(let Z=j.start;Z<j.end;Z++)this.updateItemInDOM(this.items[Z],Z);const $=o.Range.relativeComplement(z,R);for(const Z of $)for(let V=Z.start;V<Z.end;V++)this.removeItemFromDOM(V);const G=A.map(Z=>(0,d.shift)(Z,W)),re=[{start:_,end:_+E.length},...G].map(Z=>o.Range.intersect(R,Z)),se=this.getNextToLastElement(re);for(const Z of re)for(let V=Z.start;V<Z.end;V++){const K=this.items[V],X=B.get(K.templateId),oe=X==null?void 0:X.pop();this.insertItemInDOM(V,se,oe)}for(const Z of B.values())for(const V of Z)this.cache.release(V);return this.eventuallyUpdateScrollDimensions(),this.supportDynamicHeights&&this._rerender(this.scrollTop,this.renderHeight),F.map(Z=>Z.element)}eventuallyUpdateScrollDimensions(){this._scrollHeight=this.contentHeight,this.rowsContainer.style.height=`${this._scrollHeight}px`,this.scrollableElementUpdateDisposable||(this.scrollableElementUpdateDisposable=(0,k.scheduleAtNextAnimationFrame)(()=>{this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight}),this.updateScrollWidth(),this.scrollableElementUpdateDisposable=null}))}eventuallyUpdateScrollWidth(){if(!this.horizontalScrolling){this.scrollableElementWidthDelayer.cancel();return}this.scrollableElementWidthDelayer.trigger(()=>this.updateScrollWidth())}updateScrollWidth(){if(!this.horizontalScrolling)return;let _=0;for(const y of this.items)typeof y.width!="undefined"&&(_=Math.max(_,y.width));this.scrollWidth=_,this.scrollableElement.setScrollDimensions({scrollWidth:_===0?0:_+10})}rerender(){if(!!this.supportDynamicHeights){for(const _ of this.items)_.lastDynamicHeightWidth=void 0;this._rerender(this.lastRenderTop,this.lastRenderHeight)}}get length(){return this.items.length}get renderHeight(){return this.scrollableElement.getScrollDimensions().height}element(_){return this.items[_].element}domElement(_){const y=this.items[_].row;return y&&y.domNode}elementHeight(_){return this.items[_].size}elementTop(_){return this.rangeMap.positionAt(_)}indexAt(_){return this.rangeMap.indexAt(_)}indexAfter(_){return this.rangeMap.indexAfter(_)}layout(_,y){let E={height:typeof _=="number"?_:(0,k.getContentHeight)(this.domNode)};this.scrollableElementUpdateDisposable&&(this.scrollableElementUpdateDisposable.dispose(),this.scrollableElementUpdateDisposable=null,E.scrollHeight=this.scrollHeight),this.scrollableElement.setScrollDimensions(E),typeof y!="undefined"&&(this.renderWidth=y,this.supportDynamicHeights&&this._rerender(this.scrollTop,this.renderHeight)),this.horizontalScrolling&&this.scrollableElement.setScrollDimensions({width:typeof y=="number"?y:(0,k.getContentWidth)(this.domNode)})}render(_,y,E,N,D,M=!1){const B=this.getRenderRange(y,E),O=o.Range.relativeComplement(B,_),T=o.Range.relativeComplement(_,B),A=this.getNextToLastElement(O);if(M){const P=o.Range.intersect(_,B);for(let F=P.start;F<P.end;F++)this.updateItemInDOM(this.items[F],F)}for(const P of O)for(let F=P.start;F<P.end;F++)this.insertItemInDOM(F,A);for(const P of T)for(let F=P.start;F<P.end;F++)this.removeItemFromDOM(F);N!==void 0&&(this.rowsContainer.style.left=`-${N}px`),this.rowsContainer.style.top=`-${y}px`,this.horizontalScrolling&&D!==void 0&&(this.rowsContainer.style.width=`${Math.max(D,this.renderWidth)}px`),this.lastRenderTop=y,this.lastRenderHeight=E}insertItemInDOM(_,y,E){const N=this.items[_];N.row||(N.row=E??this.cache.alloc(N.templateId));const D=this.accessibilityProvider.getRole(N.element)||"listitem";N.row.domNode.setAttribute("role",D);const M=this.accessibilityProvider.isChecked(N.element);if(typeof M=="boolean")N.row.domNode.setAttribute("aria-checked",String(!!M));else if(M){const T=A=>N.row.domNode.setAttribute("aria-checked",String(!!A));T(M.value),N.checkedDisposable=M.onDidChange(T)}N.row.domNode.parentElement||(y?this.rowsContainer.insertBefore(N.row.domNode,y):this.rowsContainer.appendChild(N.row.domNode)),this.updateItemInDOM(N,_);const B=this.renderers.get(N.templateId);if(!B)throw new Error(`No renderer found for template id ${N.templateId}`);B&&B.renderElement(N.element,_,N.row.templateData,N.size);const O=this.dnd.getDragURI(N.element);N.dragStartDisposable.dispose(),N.row.domNode.draggable=!!O,O&&(N.dragStartDisposable=(0,k.addDisposableListener)(N.row.domNode,"dragstart",T=>this.onDragStart(N.element,O,T))),this.horizontalScrolling&&(this.measureItemWidth(N),this.eventuallyUpdateScrollWidth())}measureItemWidth(_){if(!_.row||!_.row.domNode)return;_.row.domNode.style.width=L.isFirefox?"-moz-fit-content":"fit-content",_.width=(0,k.getContentWidth)(_.row.domNode);const y=window.getComputedStyle(_.row.domNode);y.paddingLeft&&(_.width+=parseFloat(y.paddingLeft)),y.paddingRight&&(_.width+=parseFloat(y.paddingRight)),_.row.domNode.style.width=""}updateItemInDOM(_,y){_.row.domNode.style.top=`${this.elementTop(y)}px`,this.setRowHeight&&(_.row.domNode.style.height=`${_.size}px`),this.setRowLineHeight&&(_.row.domNode.style.lineHeight=`${_.size}px`),_.row.domNode.setAttribute("data-index",`${y}`),_.row.domNode.setAttribute("data-last-element",y===this.length-1?"true":"false"),_.row.domNode.setAttribute("data-parity",y%2==0?"even":"odd"),_.row.domNode.setAttribute("aria-setsize",String(this.accessibilityProvider.getSetSize(_.element,y,this.length))),_.row.domNode.setAttribute("aria-posinset",String(this.accessibilityProvider.getPosInSet(_.element,y))),_.row.domNode.setAttribute("id",this.getElementDomId(y)),_.row.domNode.classList.toggle("drop-target",_.dropTarget)}removeItemFromDOM(_){const y=this.items[_];if(y.dragStartDisposable.dispose(),y.checkedDisposable.dispose(),y.row){const E=this.renderers.get(y.templateId);E&&E.disposeElement&&E.disposeElement(y.element,_,y.row.templateData,y.size),this.cache.release(y.row),y.row=null}this.horizontalScrolling&&this.eventuallyUpdateScrollWidth()}getScrollTop(){return this.scrollableElement.getScrollPosition().scrollTop}setScrollTop(_,y){this.scrollableElementUpdateDisposable&&(this.scrollableElementUpdateDisposable.dispose(),this.scrollableElementUpdateDisposable=null,this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight})),this.scrollableElement.setScrollPosition({scrollTop:_,reuseAnimation:y})}get scrollTop(){return this.getScrollTop()}set scrollTop(_){this.setScrollTop(_)}get scrollHeight(){return this._scrollHeight+(this.horizontalScrolling?10:0)+this.additionalScrollHeight}get onMouseClick(){return t.Event.map(this.disposables.add(new I.DomEmitter(this.domNode,"click")).event,_=>this.toMouseEvent(_))}get onMouseDblClick(){return t.Event.map(this.disposables.add(new I.DomEmitter(this.domNode,"dblclick")).event,_=>this.toMouseEvent(_))}get onMouseMiddleClick(){return t.Event.filter(t.Event.map(this.disposables.add(new I.DomEmitter(this.domNode,"auxclick")).event,_=>this.toMouseEvent(_)),_=>_.browserEvent.button===1)}get onMouseDown(){return t.Event.map(this.disposables.add(new I.DomEmitter(this.domNode,"mousedown")).event,_=>this.toMouseEvent(_))}get onContextMenu(){return t.Event.any(t.Event.map(this.disposables.add(new I.DomEmitter(this.domNode,"contextmenu")).event,_=>this.toMouseEvent(_)),t.Event.map(this.disposables.add(new I.DomEmitter(this.domNode,w.EventType.Contextmenu)).event,_=>this.toGestureEvent(_)))}get onTouchStart(){return t.Event.map(this.disposables.add(new I.DomEmitter(this.domNode,"touchstart")).event,_=>this.toTouchEvent(_))}get onTap(){return t.Event.map(this.disposables.add(new I.DomEmitter(this.rowsContainer,w.EventType.Tap)).event,_=>this.toGestureEvent(_))}toMouseEvent(_){const y=this.getItemIndexFromEventTarget(_.target||null),E=typeof y=="undefined"?void 0:this.items[y],N=E&&E.element;return{browserEvent:_,index:y,element:N}}toTouchEvent(_){const y=this.getItemIndexFromEventTarget(_.target||null),E=typeof y=="undefined"?void 0:this.items[y],N=E&&E.element;return{browserEvent:_,index:y,element:N}}toGestureEvent(_){const y=this.getItemIndexFromEventTarget(_.initialTarget||null),E=typeof y=="undefined"?void 0:this.items[y],N=E&&E.element;return{browserEvent:_,index:y,element:N}}toDragEvent(_){const y=this.getItemIndexFromEventTarget(_.target||null),E=typeof y=="undefined"?void 0:this.items[y],N=E&&E.element;return{browserEvent:_,index:y,element:N}}onScroll(_){try{const y=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight);this.render(y,_.scrollTop,_.height,_.scrollLeft,_.scrollWidth),this.supportDynamicHeights&&this._rerender(_.scrollTop,_.height,_.inSmoothScrolling)}catch(y){throw console.error("Got bad scroll event:",_),y}}onTouchChange(_){_.preventDefault(),_.stopPropagation(),this.scrollTop-=_.translationY}onDragStart(_,y,E){if(!E.dataTransfer)return;const N=this.dnd.getDragElements(_);if(E.dataTransfer.effectAllowed="copyMove",E.dataTransfer.setData(m.DataTransfers.TEXT,y),E.dataTransfer.setDragImage){let D;this.dnd.getDragLabel&&(D=this.dnd.getDragLabel(N,E)),typeof D=="undefined"&&(D=String(N.length));const M=(0,k.$)(".monaco-drag-image");M.textContent=D,document.body.appendChild(M),E.dataTransfer.setDragImage(M,-10,-10),setTimeout(()=>document.body.removeChild(M),0)}this.currentDragData=new a(N),m.StaticDND.CurrentDragAndDropData=new l(N),this.dnd.onDragStart&&this.dnd.onDragStart(this.currentDragData,E)}onDragOver(_){if(_.browserEvent.preventDefault(),this.onDragLeaveTimeout.dispose(),m.StaticDND.CurrentDragAndDropData&&m.StaticDND.CurrentDragAndDropData.getData()==="vscode-ui"||(this.setupDragAndDropScrollTopAnimation(_.browserEvent),!_.browserEvent.dataTransfer))return!1;if(!this.currentDragData)if(m.StaticDND.CurrentDragAndDropData)this.currentDragData=m.StaticDND.CurrentDragAndDropData;else{if(!_.browserEvent.dataTransfer.types)return!1;this.currentDragData=new h}const y=this.dnd.onDragOver(this.currentDragData,_.element,_.index,_.browserEvent);if(this.canDrop=typeof y=="boolean"?y:y.accept,!this.canDrop)return this.currentDragFeedback=void 0,this.currentDragFeedbackDisposable.dispose(),!1;_.browserEvent.dataTransfer.dropEffect=typeof y!="boolean"&&y.effect===0?"copy":"move";let E;if(typeof y!="boolean"&&y.feedback?E=y.feedback:typeof _.index=="undefined"?E=[-1]:E=[_.index],E=(0,C.distinct)(E).filter(N=>N>=-1&&N<this.length).sort((N,D)=>N-D),E=E[0]===-1?[-1]:E,f(this.currentDragFeedback,E))return!0;if(this.currentDragFeedback=E,this.currentDragFeedbackDisposable.dispose(),E[0]===-1)this.domNode.classList.add("drop-target"),this.rowsContainer.classList.add("drop-target"),this.currentDragFeedbackDisposable=(0,n.toDisposable)(()=>{this.domNode.classList.remove("drop-target"),this.rowsContainer.classList.remove("drop-target")});else{for(const N of E){const D=this.items[N];D.dropTarget=!0,D.row&&D.row.domNode.classList.add("drop-target")}this.currentDragFeedbackDisposable=(0,n.toDisposable)(()=>{for(const N of E){const D=this.items[N];D.dropTarget=!1,D.row&&D.row.domNode.classList.remove("drop-target")}})}return!0}onDragLeave(_){var y,E;this.onDragLeaveTimeout.dispose(),this.onDragLeaveTimeout=(0,u.disposableTimeout)(()=>this.clearDragOverFeedback(),100),this.currentDragData&&((E=(y=this.dnd).onDragLeave)===null||E===void 0||E.call(y,this.currentDragData,_.element,_.index,_.browserEvent))}onDrop(_){if(!this.canDrop)return;const y=this.currentDragData;this.teardownDragAndDropScrollTopAnimation(),this.clearDragOverFeedback(),this.currentDragData=void 0,m.StaticDND.CurrentDragAndDropData=void 0,!(!y||!_.browserEvent.dataTransfer)&&(_.browserEvent.preventDefault(),y.update(_.browserEvent.dataTransfer),this.dnd.drop(y,_.element,_.index,_.browserEvent))}onDragEnd(_){this.canDrop=!1,this.teardownDragAndDropScrollTopAnimation(),this.clearDragOverFeedback(),this.currentDragData=void 0,m.StaticDND.CurrentDragAndDropData=void 0,this.dnd.onDragEnd&&this.dnd.onDragEnd(_)}clearDragOverFeedback(){this.currentDragFeedback=void 0,this.currentDragFeedbackDisposable.dispose(),this.currentDragFeedbackDisposable=n.Disposable.None}setupDragAndDropScrollTopAnimation(_){if(!this.dragOverAnimationDisposable){const y=(0,k.getTopLeftOffset)(this.domNode).top;this.dragOverAnimationDisposable=(0,k.animate)(this.animateDragAndDropScrollTop.bind(this,y))}this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationStopDisposable=(0,u.disposableTimeout)(()=>{this.dragOverAnimationDisposable&&(this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0)},1e3),this.dragOverMouseY=_.pageY}animateDragAndDropScrollTop(_){if(this.dragOverMouseY===void 0)return;const y=this.dragOverMouseY-_,E=this.renderHeight-35;y<35?this.scrollTop+=Math.max(-14,Math.floor(.3*(y-35))):y>E&&(this.scrollTop+=Math.min(14,Math.floor(.3*(y-E))))}teardownDragAndDropScrollTopAnimation(){this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationDisposable&&(this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0)}getItemIndexFromEventTarget(_){const y=this.scrollableElement.getDomNode();let E=_;for(;E instanceof HTMLElement&&E!==this.rowsContainer&&y.contains(E);){const N=E.getAttribute("data-index");if(N){const D=Number(N);if(!isNaN(D))return D}E=E.parentElement}}getRenderRange(_,y){return{start:this.rangeMap.indexAt(_),end:this.rangeMap.indexAfter(_+y-1)}}_rerender(_,y,E){const N=this.getRenderRange(_,y);let D,M;_===this.elementTop(N.start)?(D=N.start,M=0):N.end-N.start>1&&(D=N.start+1,M=this.elementTop(D)-_);let B=0;for(;;){const O=this.getRenderRange(_,y);let T=!1;for(let A=O.start;A<O.end;A++){const P=this.probeDynamicHeight(A);P!==0&&this.rangeMap.splice(A,1,[this.items[A]]),B+=P,T=T||P!==0}if(!T){B!==0&&this.eventuallyUpdateScrollDimensions();const A=o.Range.relativeComplement(N,O);for(const F of A)for(let W=F.start;W<F.end;W++)this.items[W].row&&this.removeItemFromDOM(W);const P=o.Range.relativeComplement(O,N);for(const F of P)for(let W=F.start;W<F.end;W++){const R=W+1,z=R<this.items.length?this.items[R].row:null,j=z?z.domNode:null;this.insertItemInDOM(W,j)}for(let F=O.start;F<O.end;F++)this.items[F].row&&this.updateItemInDOM(this.items[F],F);if(typeof D=="number"){const F=this.scrollable.getFutureScrollPosition().scrollTop-_,W=this.elementTop(D)-M+F;this.setScrollTop(W,E)}this._onDidChangeContentHeight.fire(this.contentHeight);return}}}probeDynamicHeight(_){const y=this.items[_];if(this.virtualDelegate.getDynamicHeight){const M=this.virtualDelegate.getDynamicHeight(y.element);if(M!==null){const B=y.size;return y.size=M,y.lastDynamicHeightWidth=this.renderWidth,M-B}}if(!y.hasDynamicHeight||y.lastDynamicHeightWidth===this.renderWidth||!!this.virtualDelegate.hasDynamicHeight&&!this.virtualDelegate.hasDynamicHeight(y.element))return 0;const E=y.size;if(!this.setRowHeight&&y.row){let M=y.row.domNode.offsetHeight;return y.size=M,y.lastDynamicHeightWidth=this.renderWidth,M-E}const N=this.cache.alloc(y.templateId);N.domNode.style.height="",this.rowsContainer.appendChild(N.domNode);const D=this.renderers.get(y.templateId);return D&&(D.renderElement(y.element,_,N.templateData,void 0),D.disposeElement&&D.disposeElement(y.element,_,N.templateData,void 0)),y.size=N.domNode.offsetHeight,this.virtualDelegate.setDynamicHeight&&this.virtualDelegate.setDynamicHeight(y.element,y.size),y.lastDynamicHeightWidth=this.renderWidth,this.rowsContainer.removeChild(N.domNode),this.cache.release(N),y.size-E}getNextToLastElement(_){const y=_[_.length-1];if(!y)return null;const E=this.items[y.end];return!E||!E.row?null:E.row.domNode}getElementDomId(_){return`${this.domId}_${_}`}dispose(){if(this.items){for(const _ of this.items)if(_.row){const y=this.renderers.get(_.row.templateId);y&&(y.disposeElement&&y.disposeElement(_.element,-1,_.row.templateData,void 0),y.disposeTemplate(_.row.templateData))}this.items=[]}this.domNode&&this.domNode.parentNode&&this.domNode.parentNode.removeChild(this.domNode),(0,n.dispose)(this.disposables)}}v.InstanceCount=0,Ie([g.memoize],v.prototype,"onMouseClick",null),Ie([g.memoize],v.prototype,"onMouseDblClick",null),Ie([g.memoize],v.prototype,"onMouseMiddleClick",null),Ie([g.memoize],v.prototype,"onMouseDown",null),Ie([g.memoize],v.prototype,"onContextMenu",null),Ie([g.memoize],v.prototype,"onTouchStart",null),Ie([g.memoize],v.prototype,"onTap",null),e.ListView=v}),define(te[117],ie([1,0,7,92,44,60,46,311,18,10,30,95,4,75,2,113,40,16,19,310,175,229]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s,a,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.List=e.DefaultStyleController=e.MouseController=e.isSelectionRangeChangeEvent=e.isSelectionSingleChangeEvent=e.DefaultKeyboardNavigationDelegate=e.isMonacoEditor=e.isInputElement=void 0;class h{constructor(V){this.trait=V,this.renderedElements=[]}get templateId(){return`template:${this.trait.name}`}renderTemplate(V){return V}renderElement(V,K,X){const oe=this.renderedElements.findIndex(ae=>ae.templateData===X);if(oe>=0){const ae=this.renderedElements[oe];this.trait.unrender(X),ae.index=K}else{const ae={index:K,templateData:X};this.renderedElements.push(ae)}this.trait.renderIndex(K,X)}splice(V,K,X){const oe=[];for(const ae of this.renderedElements)ae.index<V?oe.push(ae):ae.index>=V+K&&oe.push({index:ae.index+X-K,templateData:ae.templateData});this.renderedElements=oe}renderIndexes(V){for(const{index:K,templateData:X}of this.renderedElements)V.indexOf(K)>-1&&this.trait.renderIndex(K,X)}disposeTemplate(V){const K=this.renderedElements.findIndex(X=>X.templateData===V);K<0||this.renderedElements.splice(K,1)}}class f{constructor(V){this._trait=V,this.length=0,this.indexes=[],this.sortedIndexes=[],this._onChange=new n.Emitter,this.onChange=this._onChange.event}get name(){return this._trait}get renderer(){return new h(this)}splice(V,K,X){var oe;K=Math.max(0,Math.min(K,this.length-V));const ae=X.length-K,ee=V+K,ue=[...this.sortedIndexes.filter(x=>x<V),...X.map((x,H)=>x?H+V:-1).filter(x=>x!==-1),...this.sortedIndexes.filter(x=>x>=ee).map(x=>x+ae)],le=this.length+ae;if(this.sortedIndexes.length>0&&ue.length===0&&le>0){const x=(oe=this.sortedIndexes.find(H=>H>=V))!==null&&oe!==void 0?oe:le-1;ue.push(Math.min(x,le-1))}this.renderer.splice(V,K,X.length),this._set(ue,ue),this.length=le}renderIndex(V,K){K.classList.toggle(this._trait,this.contains(V))}unrender(V){V.classList.remove(this._trait)}set(V,K){return this._set(V,[...V].sort($),K)}_set(V,K,X){const oe=this.indexes,ae=this.sortedIndexes;this.indexes=V,this.sortedIndexes=K;const ee=z(ae,V);return this.renderer.renderIndexes(ee),this._onChange.fire({indexes:V,browserEvent:X}),oe}get(){return this.indexes}contains(V){return(0,C.binarySearch)(this.sortedIndexes,V,$)>=0}dispose(){(0,o.dispose)(this._onChange)}}Ie([t.memoize],f.prototype,"renderer",null);class S extends f{constructor(V){super("selected");this.setAriaSelected=V}renderIndex(V,K){super.renderIndex(V,K),this.setAriaSelected&&(this.contains(V)?K.setAttribute("aria-selected","true"):K.setAttribute("aria-selected","false"))}}class v{constructor(V,K,X){this.trait=V,this.view=K,this.identityProvider=X}splice(V,K,X){if(!this.identityProvider)return this.trait.splice(V,K,X.map(()=>!1));const oe=this.trait.get().map(ee=>this.identityProvider.getId(this.view.element(ee)).toString()),ae=X.map(ee=>oe.indexOf(this.identityProvider.getId(ee).toString())>-1);this.trait.splice(V,K,ae)}}function p(Z){return Z.tagName==="INPUT"||Z.tagName==="TEXTAREA"}e.isInputElement=p;function _(Z){return Z.classList.contains("monaco-editor")?!0:Z.classList.contains("monaco-list")||!Z.parentElement?!1:_(Z.parentElement)}e.isMonacoEditor=_;class y{constructor(V,K,X){this.list=V,this.view=K,this.disposables=new o.DisposableStore,this.multipleSelectionDisposables=new o.DisposableStore,this.onKeyDown.filter(oe=>oe.keyCode===3).on(this.onEnter,this,this.disposables),this.onKeyDown.filter(oe=>oe.keyCode===16).on(this.onUpArrow,this,this.disposables),this.onKeyDown.filter(oe=>oe.keyCode===18).on(this.onDownArrow,this,this.disposables),this.onKeyDown.filter(oe=>oe.keyCode===11).on(this.onPageUpArrow,this,this.disposables),this.onKeyDown.filter(oe=>oe.keyCode===12).on(this.onPageDownArrow,this,this.disposables),this.onKeyDown.filter(oe=>oe.keyCode===9).on(this.onEscape,this,this.disposables),X.multipleSelectionSupport!==!1&&this.onKeyDown.filter(oe=>(r.isMacintosh?oe.metaKey:oe.ctrlKey)&&oe.keyCode===31).on(this.onCtrlA,this,this.multipleSelectionDisposables)}get onKeyDown(){return n.Event.chain(this.disposables.add(new m.DomEmitter(this.view.domNode,"keydown")).event).filter(V=>!p(V.target)).map(V=>new k.StandardKeyboardEvent(V))}updateOptions(V){V.multipleSelectionSupport!==void 0&&(this.multipleSelectionDisposables.clear(),V.multipleSelectionSupport&&this.onKeyDown.filter(K=>(r.isMacintosh?K.metaKey:K.ctrlKey)&&K.keyCode===31).on(this.onCtrlA,this,this.multipleSelectionDisposables))}onEnter(V){V.preventDefault(),V.stopPropagation(),this.list.setSelection(this.list.getFocus(),V.browserEvent)}onUpArrow(V){V.preventDefault(),V.stopPropagation(),this.list.focusPrevious(1,!1,V.browserEvent);const K=this.list.getFocus()[0];this.list.setAnchor(K),this.list.reveal(K),this.view.domNode.focus()}onDownArrow(V){V.preventDefault(),V.stopPropagation(),this.list.focusNext(1,!1,V.browserEvent);const K=this.list.getFocus()[0];this.list.setAnchor(K),this.list.reveal(K),this.view.domNode.focus()}onPageUpArrow(V){V.preventDefault(),V.stopPropagation(),this.list.focusPreviousPage(V.browserEvent);const K=this.list.getFocus()[0];this.list.setAnchor(K),this.list.reveal(K),this.view.domNode.focus()}onPageDownArrow(V){V.preventDefault(),V.stopPropagation(),this.list.focusNextPage(V.browserEvent);const K=this.list.getFocus()[0];this.list.setAnchor(K),this.list.reveal(K),this.view.domNode.focus()}onCtrlA(V){V.preventDefault(),V.stopPropagation(),this.list.setSelection((0,C.range)(this.list.length),V.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus()}onEscape(V){this.list.getSelection().length&&(V.preventDefault(),V.stopPropagation(),this.list.setSelection([],V.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus())}dispose(){this.disposables.dispose(),this.multipleSelectionDisposables.dispose()}}Ie([t.memoize],y.prototype,"onKeyDown",null);var E;(function(Z){Z[Z.Idle=0]="Idle",Z[Z.Typing=1]="Typing"})(E||(E={})),e.DefaultKeyboardNavigationDelegate=new class{mightProducePrintableCharacter(Z){return Z.ctrlKey||Z.metaKey||Z.altKey?!1:Z.keyCode>=31&&Z.keyCode<=56||Z.keyCode>=21&&Z.keyCode<=30||Z.keyCode>=93&&Z.keyCode<=102||Z.keyCode>=80&&Z.keyCode<=90}};class N{constructor(V,K,X,oe){this.list=V,this.view=K,this.keyboardNavigationLabelProvider=X,this.delegate=oe,this.enabled=!1,this.state=E.Idle,this.automaticKeyboardNavigation=!0,this.triggered=!1,this.previouslyFocused=-1,this.enabledDisposables=new o.DisposableStore,this.disposables=new o.DisposableStore,this.updateOptions(V.options)}updateOptions(V){(typeof V.enableKeyboardNavigation=="undefined"?!0:!!V.enableKeyboardNavigation)?this.enable():this.disable(),typeof V.automaticKeyboardNavigation!="undefined"&&(this.automaticKeyboardNavigation=V.automaticKeyboardNavigation)}enable(){if(this.enabled)return;const V=n.Event.chain(this.enabledDisposables.add(new m.DomEmitter(this.view.domNode,"keydown")).event).filter(oe=>!p(oe.target)).filter(()=>this.automaticKeyboardNavigation||this.triggered).map(oe=>new k.StandardKeyboardEvent(oe)).filter(oe=>this.delegate.mightProducePrintableCharacter(oe)).forEach(oe=>oe.preventDefault()).map(oe=>oe.browserEvent.key).event,K=n.Event.debounce(V,()=>null,800);n.Event.reduce(n.Event.any(V,K),(oe,ae)=>ae===null?null:(oe||"")+ae)(this.onInput,this,this.enabledDisposables),K(this.onClear,this,this.enabledDisposables),this.enabled=!0,this.triggered=!1}disable(){!this.enabled||(this.enabledDisposables.clear(),this.enabled=!1,this.triggered=!1)}onClear(){var V;const K=this.list.getFocus();if(K.length>0&&K[0]===this.previouslyFocused){const X=(V=this.list.options.accessibilityProvider)===null||V===void 0?void 0:V.getAriaLabel(this.list.element(K[0]));X&&(0,w.alert)(X)}this.previouslyFocused=-1}onInput(V){if(!V){this.state=E.Idle,this.triggered=!1;return}const K=this.list.getFocus(),X=K.length>0?K[0]:0,oe=this.state===E.Idle?1:0;this.state=E.Typing;for(let ae=0;ae<this.list.length;ae++){const ee=(X+ae+oe)%this.list.length,ue=this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(this.view.element(ee)),le=ue&&ue.toString();if(typeof le=="undefined"||(0,i.matchesPrefix)(V,le)){this.previouslyFocused=X,this.list.setFocus([ee]),this.list.reveal(ee);return}}}dispose(){this.disable(),this.enabledDisposables.dispose(),this.disposables.dispose()}}class D{constructor(V,K){this.list=V,this.view=K,this.disposables=new o.DisposableStore,n.Event.chain(this.disposables.add(new m.DomEmitter(K.domNode,"keydown")).event).filter(oe=>!p(oe.target)).map(oe=>new k.StandardKeyboardEvent(oe)).filter(oe=>oe.keyCode===2&&!oe.ctrlKey&&!oe.metaKey&&!oe.shiftKey&&!oe.altKey).on(this.onTab,this,this.disposables)}onTab(V){if(V.target!==this.view.domNode)return;const K=this.list.getFocus();if(K.length===0)return;const X=this.view.domElement(K[0]);if(!X)return;const oe=X.querySelector("[tabIndex]");if(!oe||!(oe instanceof HTMLElement)||oe.tabIndex===-1)return;const ae=window.getComputedStyle(oe);ae.visibility==="hidden"||ae.display==="none"||(V.preventDefault(),V.stopPropagation(),oe.focus())}dispose(){this.disposables.dispose()}}function M(Z){return r.isMacintosh?Z.browserEvent.metaKey:Z.browserEvent.ctrlKey}e.isSelectionSingleChangeEvent=M;function B(Z){return Z.browserEvent.shiftKey}e.isSelectionRangeChangeEvent=B;function O(Z){return Z instanceof MouseEvent&&Z.button===2}const T={isSelectionSingleChangeEvent:M,isSelectionRangeChangeEvent:B};class A{constructor(V){this.list=V,this.disposables=new o.DisposableStore,this._onPointer=new n.Emitter,this.onPointer=this._onPointer.event,V.options.multipleSelectionSupport!==!1&&(this.multipleSelectionController=this.list.options.multipleSelectionController||T),this.mouseSupport=typeof V.options.mouseSupport=="undefined"||!!V.options.mouseSupport,this.mouseSupport&&(V.onMouseDown(this.onMouseDown,this,this.disposables),V.onContextMenu(this.onContextMenu,this,this.disposables),V.onMouseDblClick(this.onDoubleClick,this,this.disposables),V.onTouchStart(this.onMouseDown,this,this.disposables),this.disposables.add(I.Gesture.addTarget(V.getHTMLElement()))),n.Event.any(V.onMouseClick,V.onMouseMiddleClick,V.onTap)(this.onViewPointer,this,this.disposables)}updateOptions(V){V.multipleSelectionSupport!==void 0&&(this.multipleSelectionController=void 0,V.multipleSelectionSupport&&(this.multipleSelectionController=this.list.options.multipleSelectionController||T))}isSelectionSingleChangeEvent(V){return this.multipleSelectionController?this.multipleSelectionController.isSelectionSingleChangeEvent(V):!1}isSelectionRangeChangeEvent(V){return this.multipleSelectionController?this.multipleSelectionController.isSelectionRangeChangeEvent(V):!1}isSelectionChangeEvent(V){return this.isSelectionSingleChangeEvent(V)||this.isSelectionRangeChangeEvent(V)}onMouseDown(V){_(V.browserEvent.target)||document.activeElement!==V.browserEvent.target&&this.list.domFocus()}onContextMenu(V){if(_(V.browserEvent.target))return;const K=typeof V.index=="undefined"?[]:[V.index];this.list.setFocus(K,V.browserEvent)}onViewPointer(V){if(!this.mouseSupport||p(V.browserEvent.target)||_(V.browserEvent.target))return;const K=V.index;if(typeof K=="undefined"){this.list.setFocus([],V.browserEvent),this.list.setSelection([],V.browserEvent),this.list.setAnchor(void 0);return}if(this.isSelectionRangeChangeEvent(V))return this.changeSelection(V);if(this.isSelectionChangeEvent(V))return this.changeSelection(V);this.list.setFocus([K],V.browserEvent),this.list.setAnchor(K),O(V.browserEvent)||this.list.setSelection([K],V.browserEvent),this._onPointer.fire(V)}onDoubleClick(V){if(p(V.browserEvent.target)||_(V.browserEvent.target)||this.isSelectionChangeEvent(V))return;const K=this.list.getFocus();this.list.setSelection(K,V.browserEvent)}changeSelection(V){const K=V.index;let X=this.list.getAnchor();if(this.isSelectionRangeChangeEvent(V)){if(typeof X=="undefined"){const H=this.list.getFocus()[0];X=H??K,this.list.setAnchor(X)}const oe=Math.min(X,K),ae=Math.max(X,K),ee=(0,C.range)(oe,ae+1),ue=this.list.getSelection(),le=R(z(ue,[X]),X);if(le.length===0)return;const x=z(ee,j(ue,le));this.list.setSelection(x,V.browserEvent),this.list.setFocus([K],V.browserEvent)}else if(this.isSelectionSingleChangeEvent(V)){const oe=this.list.getSelection(),ae=oe.filter(ee=>ee!==K);this.list.setFocus([K]),this.list.setAnchor(K),oe.length===ae.length?this.list.setSelection([...ae,K],V.browserEvent):this.list.setSelection(ae,V.browserEvent)}}dispose(){this.disposables.dispose()}}e.MouseController=A;class P{constructor(V,K){this.styleElement=V,this.selectorSuffix=K}style(V){const K=this.selectorSuffix&&`.${this.selectorSuffix}`,X=[];V.listBackground&&(V.listBackground.isOpaque()?X.push(`.monaco-list${K} .monaco-list-rows { background: ${V.listBackground}; }`):r.isMacintosh||console.warn(`List with id '${this.selectorSuffix}' was styled with a non-opaque background color. This will break sub-pixel antialiasing.`)),V.listFocusBackground&&(X.push(`.monaco-list${K}:focus .monaco-list-row.focused { background-color: ${V.listFocusBackground}; }`),X.push(`.monaco-list${K}:focus .monaco-list-row.focused:hover { background-color: ${V.listFocusBackground}; }`)),V.listFocusForeground&&X.push(`.monaco-list${K}:focus .monaco-list-row.focused { color: ${V.listFocusForeground}; }`),V.listActiveSelectionBackground&&(X.push(`.monaco-list${K}:focus .monaco-list-row.selected { background-color: ${V.listActiveSelectionBackground}; }`),X.push(`.monaco-list${K}:focus .monaco-list-row.selected:hover { background-color: ${V.listActiveSelectionBackground}; }`)),V.listActiveSelectionForeground&&X.push(`.monaco-list${K}:focus .monaco-list-row.selected { color: ${V.listActiveSelectionForeground}; }`),V.listActiveSelectionIconForeground&&X.push(`.monaco-list${K}:focus .monaco-list-row.selected .codicon { color: ${V.listActiveSelectionIconForeground}; }`),V.listFocusAndSelectionBackground&&X.push(`
+				.monaco-drag-image,
+				.monaco-list${K}:focus .monaco-list-row.selected.focused { background-color: ${V.listFocusAndSelectionBackground}; }
+			`),V.listFocusAndSelectionForeground&&X.push(`
+				.monaco-drag-image,
+				.monaco-list${K}:focus .monaco-list-row.selected.focused { color: ${V.listFocusAndSelectionForeground}; }
+			`),V.listInactiveFocusForeground&&(X.push(`.monaco-list${K} .monaco-list-row.focused { color:  ${V.listInactiveFocusForeground}; }`),X.push(`.monaco-list${K} .monaco-list-row.focused:hover { color:  ${V.listInactiveFocusForeground}; }`)),V.listInactiveSelectionIconForeground&&X.push(`.monaco-list${K} .monaco-list-row.focused .codicon { color:  ${V.listInactiveSelectionIconForeground}; }`),V.listInactiveFocusBackground&&(X.push(`.monaco-list${K} .monaco-list-row.focused { background-color:  ${V.listInactiveFocusBackground}; }`),X.push(`.monaco-list${K} .monaco-list-row.focused:hover { background-color:  ${V.listInactiveFocusBackground}; }`)),V.listInactiveSelectionBackground&&(X.push(`.monaco-list${K} .monaco-list-row.selected { background-color:  ${V.listInactiveSelectionBackground}; }`),X.push(`.monaco-list${K} .monaco-list-row.selected:hover { background-color:  ${V.listInactiveSelectionBackground}; }`)),V.listInactiveSelectionForeground&&X.push(`.monaco-list${K} .monaco-list-row.selected { color: ${V.listInactiveSelectionForeground}; }`),V.listHoverBackground&&X.push(`.monaco-list${K}:not(.drop-target) .monaco-list-row:hover:not(.selected):not(.focused) { background-color: ${V.listHoverBackground}; }`),V.listHoverForeground&&X.push(`.monaco-list${K} .monaco-list-row:hover:not(.selected):not(.focused) { color:  ${V.listHoverForeground}; }`),V.listSelectionOutline&&X.push(`.monaco-list${K} .monaco-list-row.selected { outline: 1px dotted ${V.listSelectionOutline}; outline-offset: -1px; }`),V.listFocusOutline&&X.push(`
+				.monaco-drag-image,
+				.monaco-list${K}:focus .monaco-list-row.focused { outline: 1px solid ${V.listFocusOutline}; outline-offset: -1px; }
+				.monaco-workbench.context-menu-visible .monaco-list${K}.last-focused .monaco-list-row.focused { outline: 1px solid ${V.listFocusOutline}; outline-offset: -1px; }
+			`),V.listInactiveFocusOutline&&X.push(`.monaco-list${K} .monaco-list-row.focused { outline: 1px dotted ${V.listInactiveFocusOutline}; outline-offset: -1px; }`),V.listHoverOutline&&X.push(`.monaco-list${K} .monaco-list-row:hover { outline: 1px dashed ${V.listHoverOutline}; outline-offset: -1px; }`),V.listDropBackground&&X.push(`
+				.monaco-list${K}.drop-target,
+				.monaco-list${K} .monaco-list-rows.drop-target,
+				.monaco-list${K} .monaco-list-row.drop-target { background-color: ${V.listDropBackground} !important; color: inherit !important; }
+			`),V.listFilterWidgetBackground&&X.push(`.monaco-list-type-filter { background-color: ${V.listFilterWidgetBackground} }`),V.listFilterWidgetOutline&&X.push(`.monaco-list-type-filter { border: 1px solid ${V.listFilterWidgetOutline}; }`),V.listFilterWidgetNoMatchesOutline&&X.push(`.monaco-list-type-filter.no-matches { border: 1px solid ${V.listFilterWidgetNoMatchesOutline}; }`),V.listMatchesShadow&&X.push(`.monaco-list-type-filter { box-shadow: 1px 1px 1px ${V.listMatchesShadow}; }`),V.tableColumnsBorder&&X.push(`
+				.monaco-table:hover > .monaco-split-view2,
+				.monaco-table:hover > .monaco-split-view2 .monaco-sash.vertical::before {
+					border-color: ${V.tableColumnsBorder};
+			}`),V.tableOddRowsBackgroundColor&&X.push(`
+				.monaco-table .monaco-list-row[data-parity=odd]:not(.focused):not(.selected):not(:hover) .monaco-table-tr,
+				.monaco-table .monaco-list:not(:focus) .monaco-list-row[data-parity=odd].focused:not(.selected):not(:hover) .monaco-table-tr,
+				.monaco-table .monaco-list:not(.focused) .monaco-list-row[data-parity=odd].focused:not(.selected):not(:hover) .monaco-table-tr {
+					background-color: ${V.tableOddRowsBackgroundColor};
+				}
+			`),this.styleElement.textContent=X.join(`
+`)}}e.DefaultStyleController=P;const F={listFocusBackground:g.Color.fromHex("#7FB0D0"),listActiveSelectionBackground:g.Color.fromHex("#0E639C"),listActiveSelectionForeground:g.Color.fromHex("#FFFFFF"),listActiveSelectionIconForeground:g.Color.fromHex("#FFFFFF"),listFocusAndSelectionBackground:g.Color.fromHex("#094771"),listFocusAndSelectionForeground:g.Color.fromHex("#FFFFFF"),listInactiveSelectionBackground:g.Color.fromHex("#3F3F46"),listInactiveSelectionIconForeground:g.Color.fromHex("#FFFFFF"),listHoverBackground:g.Color.fromHex("#2A2D2E"),listDropBackground:g.Color.fromHex("#383B3D"),treeIndentGuidesStroke:g.Color.fromHex("#a9a9a9"),tableColumnsBorder:g.Color.fromHex("#cccccc").transparent(.2),tableOddRowsBackgroundColor:g.Color.fromHex("#cccccc").transparent(.04)},W={keyboardSupport:!0,mouseSupport:!0,multipleSelectionSupport:!0,dnd:{getDragURI(){return null},onDragStart(){},onDragOver(){return!1},drop(){}}};function R(Z,V){const K=Z.indexOf(V);if(K===-1)return[];const X=[];let oe=K-1;for(;oe>=0&&Z[oe]===V-(K-oe);)X.push(Z[oe--]);for(X.reverse(),oe=K;oe<Z.length&&Z[oe]===V+(oe-K);)X.push(Z[oe++]);return X}function z(Z,V){const K=[];let X=0,oe=0;for(;X<Z.length||oe<V.length;)if(X>=Z.length)K.push(V[oe++]);else if(oe>=V.length)K.push(Z[X++]);else if(Z[X]===V[oe]){K.push(Z[X]),X++,oe++;continue}else Z[X]<V[oe]?K.push(Z[X++]):K.push(V[oe++]);return K}function j(Z,V){const K=[];let X=0,oe=0;for(;X<Z.length||oe<V.length;)if(X>=Z.length)K.push(V[oe++]);else if(oe>=V.length)K.push(Z[X++]);else if(Z[X]===V[oe]){X++,oe++;continue}else Z[X]<V[oe]?K.push(Z[X++]):oe++;return K}const $=(Z,V)=>Z-V;class G{constructor(V,K){this._templateId=V,this.renderers=K}get templateId(){return this._templateId}renderTemplate(V){return this.renderers.map(K=>K.renderTemplate(V))}renderElement(V,K,X,oe){let ae=0;for(const ee of this.renderers)ee.renderElement(V,K,X[ae++],oe)}disposeElement(V,K,X,oe){let ae=0;for(const ee of this.renderers)ee.disposeElement&&ee.disposeElement(V,K,X[ae],oe),ae+=1}disposeTemplate(V){let K=0;for(const X of this.renderers)X.disposeTemplate(V[K++])}}class J{constructor(V){this.accessibilityProvider=V,this.templateId="a18n"}renderTemplate(V){return V}renderElement(V,K,X){const oe=this.accessibilityProvider.getAriaLabel(V);oe?X.setAttribute("aria-label",oe):X.removeAttribute("aria-label");const ae=this.accessibilityProvider.getAriaLevel&&this.accessibilityProvider.getAriaLevel(V);typeof ae=="number"?X.setAttribute("aria-level",`${ae}`):X.removeAttribute("aria-level")}disposeTemplate(V){}}class re{constructor(V,K){this.list=V,this.dnd=K}getDragElements(V){const K=this.list.getSelectedElements();return K.indexOf(V)>-1?K:[V]}getDragURI(V){return this.dnd.getDragURI(V)}getDragLabel(V,K){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(V,K)}onDragStart(V,K){this.dnd.onDragStart&&this.dnd.onDragStart(V,K)}onDragOver(V,K,X,oe){return this.dnd.onDragOver(V,K,X,oe)}onDragLeave(V,K,X,oe){var ae,ee;(ee=(ae=this.dnd).onDragLeave)===null||ee===void 0||ee.call(ae,V,K,X,oe)}onDragEnd(V){this.dnd.onDragEnd&&this.dnd.onDragEnd(V)}drop(V,K,X,oe){this.dnd.drop(V,K,X,oe)}}class se{constructor(V,K,X,oe,ae=W){var ee;this.user=V,this._options=ae,this.focus=new f("focused"),this.anchor=new f("anchor"),this.eventBufferer=new n.EventBufferer,this._ariaLabel="",this.disposables=new o.DisposableStore,this._onDidDispose=new n.Emitter,this.onDidDispose=this._onDidDispose.event;const ue=this._options.accessibilityProvider&&this._options.accessibilityProvider.getWidgetRole?(ee=this._options.accessibilityProvider)===null||ee===void 0?void 0:ee.getWidgetRole():"list";this.selection=new S(ue!=="listbox"),(0,d.mixin)(ae,F,!1);const le=[this.focus.renderer,this.selection.renderer];this.accessibilityProvider=ae.accessibilityProvider,this.accessibilityProvider&&(le.push(new J(this.accessibilityProvider)),this.accessibilityProvider.onDidChangeActiveDescendant&&this.accessibilityProvider.onDidChangeActiveDescendant(this.onDidChangeActiveDescendant,this,this.disposables)),oe=oe.map(H=>new G(H.templateId,[...le,H]));const x=Object.assign(Object.assign({},ae),{dnd:ae.dnd&&new re(this,ae.dnd)});if(this.view=new l.ListView(K,X,oe,x),this.view.domNode.setAttribute("role",ue),ae.styleController)this.styleController=ae.styleController(this.view.domId);else{const H=(0,L.createStyleSheet)(this.view.domNode);this.styleController=new P(H,this.view.domId)}if(this.spliceable=new b.CombinedSpliceable([new v(this.focus,this.view,ae.identityProvider),new v(this.selection,this.view,ae.identityProvider),new v(this.anchor,this.view,ae.identityProvider),this.view]),this.disposables.add(this.focus),this.disposables.add(this.selection),this.disposables.add(this.anchor),this.disposables.add(this.view),this.disposables.add(this._onDidDispose),this.disposables.add(new D(this,this.view)),(typeof ae.keyboardSupport!="boolean"||ae.keyboardSupport)&&(this.keyboardController=new y(this,this.view,ae),this.disposables.add(this.keyboardController)),ae.keyboardNavigationLabelProvider){const H=ae.keyboardNavigationDelegate||e.DefaultKeyboardNavigationDelegate;this.typeLabelController=new N(this,this.view,ae.keyboardNavigationLabelProvider,H),this.disposables.add(this.typeLabelController)}this.mouseController=this.createMouseController(ae),this.disposables.add(this.mouseController),this.onDidChangeFocus(this._onFocusChange,this,this.disposables),this.onDidChangeSelection(this._onSelectionChange,this,this.disposables),this.accessibilityProvider&&(this.ariaLabel=this.accessibilityProvider.getWidgetAriaLabel()),this._options.multipleSelectionSupport!==!1&&this.view.domNode.setAttribute("aria-multiselectable","true")}get onDidChangeFocus(){return n.Event.map(this.eventBufferer.wrapEvent(this.focus.onChange),V=>this.toListEvent(V))}get onDidChangeSelection(){return n.Event.map(this.eventBufferer.wrapEvent(this.selection.onChange),V=>this.toListEvent(V))}get domId(){return this.view.domId}get onMouseClick(){return this.view.onMouseClick}get onMouseDblClick(){return this.view.onMouseDblClick}get onMouseMiddleClick(){return this.view.onMouseMiddleClick}get onPointer(){return this.mouseController.onPointer}get onMouseDown(){return this.view.onMouseDown}get onTouchStart(){return this.view.onTouchStart}get onTap(){return this.view.onTap}get onContextMenu(){let V=!1;const K=n.Event.chain(this.disposables.add(new m.DomEmitter(this.view.domNode,"keydown")).event).map(ae=>new k.StandardKeyboardEvent(ae)).filter(ae=>V=ae.keyCode===58||ae.shiftKey&&ae.keyCode===68).map(m.stopEvent).filter(()=>!1).event,X=n.Event.chain(this.disposables.add(new m.DomEmitter(this.view.domNode,"keyup")).event).forEach(()=>V=!1).map(ae=>new k.StandardKeyboardEvent(ae)).filter(ae=>ae.keyCode===58||ae.shiftKey&&ae.keyCode===68).map(m.stopEvent).map(({browserEvent:ae})=>{const ee=this.getFocus(),ue=ee.length?ee[0]:void 0,le=typeof ue!="undefined"?this.view.element(ue):void 0,x=typeof ue!="undefined"?this.view.domElement(ue):this.view.domNode;return{index:ue,element:le,anchor:x,browserEvent:ae}}).event,oe=n.Event.chain(this.view.onContextMenu).filter(ae=>!V).map(({element:ae,index:ee,browserEvent:ue})=>({element:ae,index:ee,anchor:{x:ue.pageX+1,y:ue.pageY},browserEvent:ue})).event;return n.Event.any(K,X,oe)}get onKeyDown(){return this.disposables.add(new m.DomEmitter(this.view.domNode,"keydown")).event}get onDidFocus(){return n.Event.signal(this.disposables.add(new m.DomEmitter(this.view.domNode,"focus",!0)).event)}createMouseController(V){return new A(this)}updateOptions(V={}){var K;this._options=Object.assign(Object.assign({},this._options),V),this.typeLabelController&&this.typeLabelController.updateOptions(this._options),this._options.multipleSelectionController!==void 0&&(this._options.multipleSelectionSupport?this.view.domNode.setAttribute("aria-multiselectable","true"):this.view.domNode.removeAttribute("aria-multiselectable")),this.mouseController.updateOptions(V),(K=this.keyboardController)===null||K===void 0||K.updateOptions(V),this.view.updateOptions(V)}get options(){return this._options}splice(V,K,X=[]){if(V<0||V>this.view.length)throw new a.ListError(this.user,`Invalid start index: ${V}`);if(K<0)throw new a.ListError(this.user,`Invalid delete count: ${K}`);K===0&&X.length===0||this.eventBufferer.bufferEvents(()=>this.spliceable.splice(V,K,X))}rerender(){this.view.rerender()}element(V){return this.view.element(V)}get length(){return this.view.length}get contentHeight(){return this.view.contentHeight}get scrollTop(){return this.view.getScrollTop()}set scrollTop(V){this.view.setScrollTop(V)}get ariaLabel(){return this._ariaLabel}set ariaLabel(V){this._ariaLabel=V,this.view.domNode.setAttribute("aria-label",V)}domFocus(){this.view.domNode.focus({preventScroll:!0})}layout(V,K){this.view.layout(V,K)}setSelection(V,K){for(const X of V)if(X<0||X>=this.length)throw new a.ListError(this.user,`Invalid index ${X}`);this.selection.set(V,K)}getSelection(){return this.selection.get()}getSelectedElements(){return this.getSelection().map(V=>this.view.element(V))}setAnchor(V){if(typeof V=="undefined"){this.anchor.set([]);return}if(V<0||V>=this.length)throw new a.ListError(this.user,`Invalid index ${V}`);this.anchor.set([V])}getAnchor(){return(0,C.firstOrDefault)(this.anchor.get(),void 0)}getAnchorElement(){const V=this.getAnchor();return typeof V=="undefined"?void 0:this.element(V)}setFocus(V,K){for(const X of V)if(X<0||X>=this.length)throw new a.ListError(this.user,`Invalid index ${X}`);this.focus.set(V,K)}focusNext(V=1,K=!1,X,oe){if(this.length===0)return;const ae=this.focus.get(),ee=this.findNextIndex(ae.length>0?ae[0]+V:0,K,oe);ee>-1&&this.setFocus([ee],X)}focusPrevious(V=1,K=!1,X,oe){if(this.length===0)return;const ae=this.focus.get(),ee=this.findPreviousIndex(ae.length>0?ae[0]-V:0,K,oe);ee>-1&&this.setFocus([ee],X)}focusNextPage(V,K){return we(this,void 0,void 0,function*(){let X=this.view.indexAt(this.view.getScrollTop()+this.view.renderHeight);X=X===0?0:X-1;const oe=this.view.element(X),ae=this.getFocusedElements()[0];if(ae!==oe){const ee=this.findPreviousIndex(X,!1,K);ee>-1&&ae!==this.view.element(ee)?this.setFocus([ee],V):this.setFocus([X],V)}else{const ee=this.view.getScrollTop();this.view.setScrollTop(ee+this.view.renderHeight-this.view.elementHeight(X)),this.view.getScrollTop()!==ee&&(this.setFocus([]),yield(0,u.timeout)(0),yield this.focusNextPage(V,K))}})}focusPreviousPage(V,K){return we(this,void 0,void 0,function*(){let X;const oe=this.view.getScrollTop();oe===0?X=this.view.indexAt(oe):X=this.view.indexAfter(oe-1);const ae=this.view.element(X),ee=this.getFocusedElements()[0];if(ee!==ae){const ue=this.findNextIndex(X,!1,K);ue>-1&&ee!==this.view.element(ue)?this.setFocus([ue],V):this.setFocus([X],V)}else{const ue=oe;this.view.setScrollTop(oe-this.view.renderHeight),this.view.getScrollTop()!==ue&&(this.setFocus([]),yield(0,u.timeout)(0),yield this.focusPreviousPage(V,K))}})}focusLast(V,K){if(this.length===0)return;const X=this.findPreviousIndex(this.length-1,!1,K);X>-1&&this.setFocus([X],V)}focusFirst(V,K){this.focusNth(0,V,K)}focusNth(V,K,X){if(this.length===0)return;const oe=this.findNextIndex(V,!1,X);oe>-1&&this.setFocus([oe],K)}findNextIndex(V,K=!1,X){for(let oe=0;oe<this.length;oe++){if(V>=this.length&&!K)return-1;if(V=V%this.length,!X||X(this.element(V)))return V;V++}return-1}findPreviousIndex(V,K=!1,X){for(let oe=0;oe<this.length;oe++){if(V<0&&!K)return-1;if(V=(this.length+V%this.length)%this.length,!X||X(this.element(V)))return V;V--}return-1}getFocus(){return this.focus.get()}getFocusedElements(){return this.getFocus().map(V=>this.view.element(V))}reveal(V,K){if(V<0||V>=this.length)throw new a.ListError(this.user,`Invalid index ${V}`);const X=this.view.getScrollTop(),oe=this.view.elementTop(V),ae=this.view.elementHeight(V);if((0,s.isNumber)(K)){const ee=ae-this.view.renderHeight;this.view.setScrollTop(ee*(0,c.clamp)(K,0,1)+oe)}else{const ee=oe+ae,ue=X+this.view.renderHeight;oe<X&&ee>=ue||(oe<X||ee>=ue&&ae>=this.view.renderHeight?this.view.setScrollTop(oe):ee>=ue&&this.view.setScrollTop(ee-this.view.renderHeight))}}getRelativeTop(V){if(V<0||V>=this.length)throw new a.ListError(this.user,`Invalid index ${V}`);const K=this.view.getScrollTop(),X=this.view.elementTop(V),oe=this.view.elementHeight(V);if(X<K||X+oe>K+this.view.renderHeight)return null;const ae=oe-this.view.renderHeight;return Math.abs((K-X)/ae)}getHTMLElement(){return this.view.domNode}style(V){this.styleController.style(V)}toListEvent({indexes:V,browserEvent:K}){return{indexes:V,elements:V.map(X=>this.view.element(X)),browserEvent:K}}_onFocusChange(){const V=this.focus.get();this.view.domNode.classList.toggle("element-focused",V.length>0),this.onDidChangeActiveDescendant()}onDidChangeActiveDescendant(){var V;const K=this.focus.get();if(K.length>0){let X;((V=this.accessibilityProvider)===null||V===void 0?void 0:V.getActiveDescendantId)&&(X=this.accessibilityProvider.getActiveDescendantId(this.view.element(K[0]))),this.view.domNode.setAttribute("aria-activedescendant",X||this.view.getElementDomId(K[0]))}else this.view.domNode.removeAttribute("aria-activedescendant")}_onSelectionChange(){const V=this.selection.get();this.view.domNode.classList.toggle("selection-none",V.length===0),this.view.domNode.classList.toggle("selection-single",V.length===1),this.view.domNode.classList.toggle("selection-multiple",V.length>1)}dispose(){this._onDidDispose.fire(),this.disposables.dispose(),this._onDidDispose.dispose()}}Ie([t.memoize],se.prototype,"onDidChangeFocus",null),Ie([t.memoize],se.prototype,"onDidChangeSelection",null),Ie([t.memoize],se.prototype,"onContextMenu",null),Ie([t.memoize],se.prototype,"onKeyDown",null),Ie([t.memoize],se.prototype,"onDidFocus",null),e.List=se}),define(te[348],ie([1,0,18,21,4,2,117,229]),function(q,e,L,m,k,I,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PagedList=void 0;class b{constructor(n,i){this.renderer=n,this.modelProvider=i}get templateId(){return this.renderer.templateId}renderTemplate(n){return{data:this.renderer.renderTemplate(n),disposable:I.Disposable.None}}renderElement(n,i,o,c){if(o.disposable&&o.disposable.dispose(),!o.data)return;const d=this.modelProvider();if(d.isResolved(n))return this.renderer.renderElement(d.get(n),n,o.data,c);const r=new m.CancellationTokenSource,s=d.resolve(n,r.token);o.disposable={dispose:()=>r.cancel()},this.renderer.renderPlaceholder(n,o.data),s.then(a=>this.renderer.renderElement(a,n,o.data,c))}disposeTemplate(n){n.disposable&&(n.disposable.dispose(),n.disposable=void 0),n.data&&(this.renderer.disposeTemplate(n.data),n.data=void 0)}}class C{constructor(n,i){this.modelProvider=n,this.accessibilityProvider=i}getWidgetAriaLabel(){return this.accessibilityProvider.getWidgetAriaLabel()}getAriaLabel(n){const i=this.modelProvider();return i.isResolved(n)?this.accessibilityProvider.getAriaLabel(i.get(n)):null}}function u(t,n){return Object.assign(Object.assign({},n),{accessibilityProvider:n.accessibilityProvider&&new C(t,n.accessibilityProvider)})}class g{constructor(n,i,o,c,d={}){const r=()=>this.model,s=c.map(a=>new b(a,r));this.list=new w.List(n,i,o,s,u(r,d))}updateOptions(n){this.list.updateOptions(n)}getHTMLElement(){return this.list.getHTMLElement()}get onDidFocus(){return this.list.onDidFocus}get onDidDispose(){return this.list.onDidDispose}get onMouseDblClick(){return k.Event.map(this.list.onMouseDblClick,({element:n,index:i,browserEvent:o})=>({element:n===void 0?void 0:this._model.get(n),index:i,browserEvent:o}))}get onPointer(){return k.Event.map(this.list.onPointer,({element:n,index:i,browserEvent:o})=>({element:n===void 0?void 0:this._model.get(n),index:i,browserEvent:o}))}get onDidChangeSelection(){return k.Event.map(this.list.onDidChangeSelection,({elements:n,indexes:i,browserEvent:o})=>({elements:n.map(c=>this._model.get(c)),indexes:i,browserEvent:o}))}get model(){return this._model}set model(n){this._model=n,this.list.splice(0,this.list.length,(0,L.range)(n.length))}getFocus(){return this.list.getFocus()}getSelection(){return this.list.getSelection()}getSelectedElements(){return this.getSelection().map(n=>this.model.get(n))}style(n){this.list.style(n)}dispose(){this.list.dispose()}}e.PagedList=g}),define(te[349],ie([12]),{}),define(te[231],ie([1,0,7,116,69,18,30,4,2,113,140,19,349]),function(q,e,L,m,k,I,w,b,C,u,g,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SplitView=e.Sizing=void 0;const n={separatorBorder:w.Color.transparent};class i{constructor(l,h,f,S){this.container=l,this.view=h,this.disposable=S,this._cachedVisibleSize=void 0,typeof f=="number"?(this._size=f,this._cachedVisibleSize=void 0,l.classList.add("visible")):(this._size=0,this._cachedVisibleSize=f.cachedVisibleSize)}set size(l){this._size=l}get size(){return this._size}get visible(){return typeof this._cachedVisibleSize=="undefined"}setVisible(l,h){l!==this.visible&&(l?(this.size=(0,u.clamp)(this._cachedVisibleSize,this.viewMinimumSize,this.viewMaximumSize),this._cachedVisibleSize=void 0):(this._cachedVisibleSize=typeof h=="number"?h:this.size,this.size=0),this.container.classList.toggle("visible",l),this.view.setVisible&&this.view.setVisible(l))}get minimumSize(){return this.visible?this.view.minimumSize:0}get viewMinimumSize(){return this.view.minimumSize}get maximumSize(){return this.visible?this.view.maximumSize:0}get viewMaximumSize(){return this.view.maximumSize}get priority(){return this.view.priority}get snap(){return!!this.view.snap}set enabled(l){this.container.style.pointerEvents=l?"":"none"}layout(l,h){this.layoutContainer(l),this.view.layout(this.size,l,h)}dispose(){return this.disposable.dispose(),this.view}}class o extends i{layoutContainer(l){this.container.style.top=`${l}px`,this.container.style.height=`${this.size}px`}}class c extends i{layoutContainer(l){this.container.style.left=`${l}px`,this.container.style.width=`${this.size}px`}}var d;(function(a){a[a.Idle=0]="Idle",a[a.Busy=1]="Busy"})(d||(d={}));var r;(function(a){a.Distribute={type:"distribute"};function l(f){return{type:"split",index:f}}a.Split=l;function h(f){return{type:"invisible",cachedVisibleSize:f}}a.Invisible=h})(r=e.Sizing||(e.Sizing={}));class s extends C.Disposable{constructor(l,h={}){var f,S,v,p,_;super();this.size=0,this.contentSize=0,this.proportions=void 0,this.viewItems=[],this.sashItems=[],this.state=d.Idle,this._onDidSashChange=this._register(new b.Emitter),this._onDidSashReset=this._register(new b.Emitter),this._startSnappingEnabled=!0,this._endSnappingEnabled=!0,this.onDidSashChange=this._onDidSashChange.event,this.onDidSashReset=this._onDidSashReset.event,this.orientation=(f=h.orientation)!==null&&f!==void 0?f:0,this.inverseAltBehavior=(S=h.inverseAltBehavior)!==null&&S!==void 0?S:!1,this.proportionalLayout=(v=h.proportionalLayout)!==null&&v!==void 0?v:!0,this.getSashOrthogonalSize=h.getSashOrthogonalSize,this.el=document.createElement("div"),this.el.classList.add("monaco-split-view2"),this.el.classList.add(this.orientation===0?"vertical":"horizontal"),l.appendChild(this.el),this.sashContainer=(0,L.append)(this.el,(0,L.$)(".sash-container")),this.viewContainer=(0,L.$)(".split-view-container"),this.scrollable=new g.Scrollable({forceIntegerValues:!0,smoothScrollDuration:125,scheduleAtNextAnimationFrame:L.scheduleAtNextAnimationFrame}),this.scrollableElement=this._register(new k.SmoothScrollableElement(this.viewContainer,{vertical:this.orientation===0?(p=h.scrollbarVisibility)!==null&&p!==void 0?p:1:2,horizontal:this.orientation===1?(_=h.scrollbarVisibility)!==null&&_!==void 0?_:1:2},this.scrollable)),this.onDidScroll=this.scrollableElement.onScroll,this._register(this.onDidScroll(y=>{this.viewContainer.scrollTop=y.scrollTop,this.viewContainer.scrollLeft=y.scrollLeft})),(0,L.append)(this.el,this.scrollableElement.getDomNode()),this.style(h.styles||n),h.descriptor&&(this.size=h.descriptor.size,h.descriptor.views.forEach((y,E)=>{const N=t.isUndefined(y.visible)||y.visible?y.size:{type:"invisible",cachedVisibleSize:y.size},D=y.view;this.doAddView(D,N,E,!0)}),this.contentSize=this.viewItems.reduce((y,E)=>y+E.size,0),this.saveProportions())}get orthogonalStartSash(){return this._orthogonalStartSash}get orthogonalEndSash(){return this._orthogonalEndSash}get startSnappingEnabled(){return this._startSnappingEnabled}get endSnappingEnabled(){return this._endSnappingEnabled}set orthogonalStartSash(l){for(const h of this.sashItems)h.sash.orthogonalStartSash=l;this._orthogonalStartSash=l}set orthogonalEndSash(l){for(const h of this.sashItems)h.sash.orthogonalEndSash=l;this._orthogonalEndSash=l}set startSnappingEnabled(l){this._startSnappingEnabled!==l&&(this._startSnappingEnabled=l,this.updateSashEnablement())}set endSnappingEnabled(l){this._endSnappingEnabled!==l&&(this._endSnappingEnabled=l,this.updateSashEnablement())}style(l){l.separatorBorder.isTransparent()?(this.el.classList.remove("separator-border"),this.el.style.removeProperty("--separator-border")):(this.el.classList.add("separator-border"),this.el.style.setProperty("--separator-border",l.separatorBorder.toString()))}addView(l,h,f=this.viewItems.length,S){this.doAddView(l,h,f,S)}layout(l,h){const f=Math.max(this.size,this.contentSize);if(this.size=l,this.layoutContext=h,this.proportions)for(let S=0;S<this.viewItems.length;S++){const v=this.viewItems[S];v.size=(0,u.clamp)(Math.round(this.proportions[S]*l),v.minimumSize,v.maximumSize)}else{const S=(0,I.range)(this.viewItems.length),v=S.filter(_=>this.viewItems[_].priority===1),p=S.filter(_=>this.viewItems[_].priority===2);this.resize(this.viewItems.length-1,l-f,void 0,v,p)}this.distributeEmptySpace(),this.layoutViews()}saveProportions(){this.proportionalLayout&&this.contentSize>0&&(this.proportions=this.viewItems.map(l=>l.size/this.contentSize))}onSashStart({sash:l,start:h,alt:f}){for(const _ of this.viewItems)_.enabled=!1;const S=this.sashItems.findIndex(_=>_.sash===l),v=(0,C.combinedDisposable)((0,L.addDisposableListener)(document.body,"keydown",_=>p(this.sashDragState.current,_.altKey)),(0,L.addDisposableListener)(document.body,"keyup",()=>p(this.sashDragState.current,!1))),p=(_,y)=>{const E=this.viewItems.map(O=>O.size);let N=Number.NEGATIVE_INFINITY,D=Number.POSITIVE_INFINITY;if(this.inverseAltBehavior&&(y=!y),y)if(S===this.sashItems.length-1){const T=this.viewItems[S];N=(T.minimumSize-T.size)/2,D=(T.maximumSize-T.size)/2}else{const T=this.viewItems[S+1];N=(T.size-T.maximumSize)/2,D=(T.size-T.minimumSize)/2}let M,B;if(!y){const O=(0,I.range)(S,-1),T=(0,I.range)(S+1,this.viewItems.length),A=O.reduce((G,J)=>G+(this.viewItems[J].minimumSize-E[J]),0),P=O.reduce((G,J)=>G+(this.viewItems[J].viewMaximumSize-E[J]),0),F=T.length===0?Number.POSITIVE_INFINITY:T.reduce((G,J)=>G+(E[J]-this.viewItems[J].minimumSize),0),W=T.length===0?Number.NEGATIVE_INFINITY:T.reduce((G,J)=>G+(E[J]-this.viewItems[J].viewMaximumSize),0),R=Math.max(A,W),z=Math.min(F,P),j=this.findFirstSnapIndex(O),$=this.findFirstSnapIndex(T);if(typeof j=="number"){const G=this.viewItems[j],J=Math.floor(G.viewMinimumSize/2);M={index:j,limitDelta:G.visible?R-J:R+J,size:G.size}}if(typeof $=="number"){const G=this.viewItems[$],J=Math.floor(G.viewMinimumSize/2);B={index:$,limitDelta:G.visible?z+J:z-J,size:G.size}}}this.sashDragState={start:_,current:_,index:S,sizes:E,minDelta:N,maxDelta:D,alt:y,snapBefore:M,snapAfter:B,disposable:v}};p(h,f)}onSashChange({current:l}){const{index:h,start:f,sizes:S,alt:v,minDelta:p,maxDelta:_,snapBefore:y,snapAfter:E}=this.sashDragState;this.sashDragState.current=l;const N=l-f,D=this.resize(h,N,S,void 0,void 0,p,_,y,E);if(v){const M=h===this.sashItems.length-1,B=this.viewItems.map(W=>W.size),O=M?h:h+1,T=this.viewItems[O],A=T.size-T.maximumSize,P=T.size-T.minimumSize,F=M?h-1:h+1;this.resize(F,-D,B,void 0,void 0,A,P)}this.distributeEmptySpace(),this.layoutViews()}onSashEnd(l){this._onDidSashChange.fire(l),this.sashDragState.disposable.dispose(),this.saveProportions();for(const h of this.viewItems)h.enabled=!0}onViewChange(l,h){const f=this.viewItems.indexOf(l);f<0||f>=this.viewItems.length||(h=typeof h=="number"?h:l.size,h=(0,u.clamp)(h,l.minimumSize,l.maximumSize),this.inverseAltBehavior&&f>0?(this.resize(f-1,Math.floor((l.size-h)/2)),this.distributeEmptySpace(),this.layoutViews()):(l.size=h,this.relayout([f],void 0)))}resizeView(l,h){if(this.state!==d.Idle)throw new Error("Cant modify splitview");if(this.state=d.Busy,l<0||l>=this.viewItems.length)return;const f=(0,I.range)(this.viewItems.length).filter(_=>_!==l),S=[...f.filter(_=>this.viewItems[_].priority===1),l],v=f.filter(_=>this.viewItems[_].priority===2),p=this.viewItems[l];h=Math.round(h),h=(0,u.clamp)(h,p.minimumSize,Math.min(p.maximumSize,this.size)),p.size=h,this.relayout(S,v),this.state=d.Idle}distributeViewSizes(){const l=[];let h=0;for(const _ of this.viewItems)_.maximumSize-_.minimumSize>0&&(l.push(_),h+=_.size);const f=Math.floor(h/l.length);for(const _ of l)_.size=(0,u.clamp)(f,_.minimumSize,_.maximumSize);const S=(0,I.range)(this.viewItems.length),v=S.filter(_=>this.viewItems[_].priority===1),p=S.filter(_=>this.viewItems[_].priority===2);this.relayout(v,p)}getViewSize(l){return l<0||l>=this.viewItems.length?-1:this.viewItems[l].size}doAddView(l,h,f=this.viewItems.length,S){if(this.state!==d.Idle)throw new Error("Cant modify splitview");this.state=d.Busy;const v=(0,L.$)(".split-view-view");f===this.viewItems.length?this.viewContainer.appendChild(v):this.viewContainer.insertBefore(v,this.viewContainer.children.item(f));const p=l.onDidChange(M=>this.onViewChange(N,M)),_=(0,C.toDisposable)(()=>this.viewContainer.removeChild(v)),y=(0,C.combinedDisposable)(p,_);let E;typeof h=="number"?E=h:h.type==="split"?E=this.getViewSize(h.index)/2:h.type==="invisible"?E={cachedVisibleSize:h.cachedVisibleSize}:E=l.minimumSize;const N=this.orientation===0?new o(v,l,E,y):new c(v,l,E,y);if(this.viewItems.splice(f,0,N),this.viewItems.length>1){let M={orthogonalStartSash:this.orthogonalStartSash,orthogonalEndSash:this.orthogonalEndSash};const B=this.orientation===0?new m.Sash(this.sashContainer,{getHorizontalSashTop:G=>this.getSashPosition(G),getHorizontalSashWidth:this.getSashOrthogonalSize},Object.assign(Object.assign({},M),{orientation:1})):new m.Sash(this.sashContainer,{getVerticalSashLeft:G=>this.getSashPosition(G),getVerticalSashHeight:this.getSashOrthogonalSize},Object.assign(Object.assign({},M),{orientation:0})),O=this.orientation===0?G=>({sash:B,start:G.startY,current:G.currentY,alt:G.altKey}):G=>({sash:B,start:G.startX,current:G.currentX,alt:G.altKey}),A=b.Event.map(B.onDidStart,O)(this.onSashStart,this),F=b.Event.map(B.onDidChange,O)(this.onSashChange,this),R=b.Event.map(B.onDidEnd,()=>this.sashItems.findIndex(G=>G.sash===B))(this.onSashEnd,this),z=B.onDidReset(()=>{const G=this.sashItems.findIndex(V=>V.sash===B),J=(0,I.range)(G,-1),re=(0,I.range)(G+1,this.viewItems.length),se=this.findFirstSnapIndex(J),Z=this.findFirstSnapIndex(re);typeof se=="number"&&!this.viewItems[se].visible||typeof Z=="number"&&!this.viewItems[Z].visible||this._onDidSashReset.fire(G)}),j=(0,C.combinedDisposable)(A,F,R,z,B),$={sash:B,disposable:j};this.sashItems.splice(f-1,0,$)}v.appendChild(l.element);let D;typeof h!="number"&&h.type==="split"&&(D=[h.index]),S||this.relayout([f],D),this.state=d.Idle,!S&&typeof h!="number"&&h.type==="distribute"&&this.distributeViewSizes()}relayout(l,h){const f=this.viewItems.reduce((S,v)=>S+v.size,0);this.resize(this.viewItems.length-1,this.size-f,void 0,l,h),this.distributeEmptySpace(),this.layoutViews(),this.saveProportions()}resize(l,h,f=this.viewItems.map(N=>N.size),S,v,p=Number.NEGATIVE_INFINITY,_=Number.POSITIVE_INFINITY,y,E){if(l<0||l>=this.viewItems.length)return 0;const N=(0,I.range)(l,-1),D=(0,I.range)(l+1,this.viewItems.length);if(v)for(const $ of v)(0,I.pushToStart)(N,$),(0,I.pushToStart)(D,$);if(S)for(const $ of S)(0,I.pushToEnd)(N,$),(0,I.pushToEnd)(D,$);const M=N.map($=>this.viewItems[$]),B=N.map($=>f[$]),O=D.map($=>this.viewItems[$]),T=D.map($=>f[$]),A=N.reduce(($,G)=>$+(this.viewItems[G].minimumSize-f[G]),0),P=N.reduce(($,G)=>$+(this.viewItems[G].maximumSize-f[G]),0),F=D.length===0?Number.POSITIVE_INFINITY:D.reduce(($,G)=>$+(f[G]-this.viewItems[G].minimumSize),0),W=D.length===0?Number.NEGATIVE_INFINITY:D.reduce(($,G)=>$+(f[G]-this.viewItems[G].maximumSize),0),R=Math.max(A,W,p),z=Math.min(F,P,_);let j=!1;if(y){const $=this.viewItems[y.index],G=h>=y.limitDelta;j=G!==$.visible,$.setVisible(G,y.size)}if(!j&&E){const $=this.viewItems[E.index],G=h<E.limitDelta;j=G!==$.visible,$.setVisible(G,E.size)}if(j)return this.resize(l,h,f,S,v,p,_);h=(0,u.clamp)(h,R,z);for(let $=0,G=h;$<M.length;$++){const J=M[$],re=(0,u.clamp)(B[$]+G,J.minimumSize,J.maximumSize);G-=re-B[$],J.size=re}for(let $=0,G=h;$<O.length;$++){const J=O[$],re=(0,u.clamp)(T[$]-G,J.minimumSize,J.maximumSize);G+=re-T[$],J.size=re}return h}distributeEmptySpace(l){const h=this.viewItems.reduce((_,y)=>_+y.size,0);let f=this.size-h;const S=(0,I.range)(this.viewItems.length-1,-1),v=S.filter(_=>this.viewItems[_].priority===1),p=S.filter(_=>this.viewItems[_].priority===2);for(const _ of p)(0,I.pushToStart)(S,_);for(const _ of v)(0,I.pushToEnd)(S,_);typeof l=="number"&&(0,I.pushToEnd)(S,l);for(let _=0;f!==0&&_<S.length;_++){const y=this.viewItems[S[_]],E=(0,u.clamp)(y.size+f,y.minimumSize,y.maximumSize);f-=E-y.size,y.size=E}}layoutViews(){this.contentSize=this.viewItems.reduce((h,f)=>h+f.size,0);let l=0;for(const h of this.viewItems)h.layout(l,this.layoutContext),l+=h.size;this.sashItems.forEach(h=>h.sash.layout()),this.updateSashEnablement(),this.updateScrollableElement()}updateScrollableElement(){this.orientation===0?this.scrollableElement.setScrollDimensions({height:this.size,scrollHeight:this.contentSize}):this.scrollableElement.setScrollDimensions({width:this.size,scrollWidth:this.contentSize})}updateSashEnablement(){let l=!1;const h=this.viewItems.map(y=>l=y.size-y.minimumSize>0||l);l=!1;const f=this.viewItems.map(y=>l=y.maximumSize-y.size>0||l),S=[...this.viewItems].reverse();l=!1;const v=S.map(y=>l=y.size-y.minimumSize>0||l).reverse();l=!1;const p=S.map(y=>l=y.maximumSize-y.size>0||l).reverse();let _=0;for(let y=0;y<this.sashItems.length;y++){const{sash:E}=this.sashItems[y];_+=this.viewItems[y].size;const D=!(h[y]&&p[y+1]),M=!(f[y]&&v[y+1]);if(D&&M){const B=(0,I.range)(y,-1),O=(0,I.range)(y+1,this.viewItems.length),T=this.findFirstSnapIndex(B),A=this.findFirstSnapIndex(O),P=typeof T=="number"&&!this.viewItems[T].visible,F=typeof A=="number"&&!this.viewItems[A].visible;P&&v[y]&&(_>0||this.startSnappingEnabled)?E.state=1:F&&h[y]&&(_<this.contentSize||this.endSnappingEnabled)?E.state=2:E.state=0}else D&&!M?E.state=1:!D&&M?E.state=2:E.state=3}}getSashPosition(l){let h=0;for(let f=0;f<this.sashItems.length;f++)if(h+=this.viewItems[f].size,this.sashItems[f].sash===l)return h;return 0}findFirstSnapIndex(l){for(const h of l){const f=this.viewItems[h];if(!!f.visible&&f.snap)return h}for(const h of l){const f=this.viewItems[h];if(f.visible&&f.maximumSize-f.minimumSize>0)return;if(!f.visible&&f.snap)return h}}dispose(){super.dispose(),(0,C.dispose)(this.viewItems),this.viewItems=[],this.sashItems.forEach(l=>l.disposable.dispose()),this.sashItems=[]}}e.SplitView=s}),define(te[350],ie([12]),{}),define(te[351],ie([1,0,7,117,231,4,2,350]),function(q,e,L,m,k,I,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Table=void 0;class b{constructor(n,i,o){this.columns=n,this.getColumnSize=o,this.templateId=b.TemplateId,this.renderedTemplates=new Set;const c=new Map(i.map(d=>[d.templateId,d]));this.renderers=[];for(const d of n){const r=c.get(d.templateId);if(!r)throw new Error(`Table cell renderer for template id ${d.templateId} not found.`);this.renderers.push(r)}}renderTemplate(n){const i=(0,L.append)(n,(0,L.$)(".monaco-table-tr")),o=[],c=[];for(let r=0;r<this.columns.length;r++){const s=this.renderers[r],a=(0,L.append)(i,(0,L.$)(".monaco-table-td",{"data-col-index":r}));a.style.width=`${this.getColumnSize(r)}px`,o.push(a),c.push(s.renderTemplate(a))}const d={container:n,cellContainers:o,cellTemplateData:c};return this.renderedTemplates.add(d),d}renderElement(n,i,o,c){for(let d=0;d<this.columns.length;d++){const s=this.columns[d].project(n);this.renderers[d].renderElement(s,i,o.cellTemplateData[d],c)}}disposeElement(n,i,o,c){for(let d=0;d<this.columns.length;d++){const r=this.renderers[d];if(r.disposeElement){const a=this.columns[d].project(n);r.disposeElement(a,i,o.cellTemplateData[d],c)}}}disposeTemplate(n){for(let i=0;i<this.columns.length;i++)this.renderers[i].disposeTemplate(n.cellTemplateData[i]);(0,L.clearNode)(n.container),this.renderedTemplates.delete(n)}layoutColumn(n,i){for(const{cellContainers:o}of this.renderedTemplates)o[n].style.width=`${i}px`}}b.TemplateId="row";function C(t){return{getHeight(n){return t.getHeight(n)},getTemplateId(){return b.TemplateId}}}class u{constructor(n,i){this.column=n,this.index=i,this._onDidLayout=new I.Emitter,this.onDidLayout=this._onDidLayout.event,this.element=(0,L.$)(".monaco-table-th",{"data-col-index":i,title:n.tooltip},n.label)}get minimumSize(){var n;return(n=this.column.minimumWidth)!==null&&n!==void 0?n:120}get maximumSize(){var n;return(n=this.column.maximumWidth)!==null&&n!==void 0?n:Number.POSITIVE_INFINITY}get onDidChange(){var n;return(n=this.column.onDidChangeWidthConstraints)!==null&&n!==void 0?n:I.Event.None}layout(n){this._onDidLayout.fire([this.index,n])}}class g{constructor(n,i,o,c,d,r){this.virtualDelegate=o,this.domId=`table_id_${++g.InstanceCount}`,this.disposables=new w.DisposableStore,this.cachedWidth=0,this.cachedHeight=0,this.domNode=(0,L.append)(i,(0,L.$)(`.monaco-table.${this.domId}`));const s=c.map((h,f)=>new u(h,f)),a={size:s.reduce((h,f)=>h+f.column.weight,0),views:s.map(h=>({size:h.column.weight,view:h}))};this.splitview=this.disposables.add(new k.SplitView(this.domNode,{orientation:1,scrollbarVisibility:2,getSashOrthogonalSize:()=>this.cachedHeight,descriptor:a})),this.splitview.el.style.height=`${o.headerRowHeight}px`,this.splitview.el.style.lineHeight=`${o.headerRowHeight}px`;const l=new b(c,d,h=>this.splitview.getViewSize(h));this.list=this.disposables.add(new m.List(n,this.domNode,C(o),[l],r)),I.Event.any(...s.map(h=>h.onDidLayout))(([h,f])=>l.layoutColumn(h,f),null,this.disposables),this.splitview.onDidSashReset(h=>{const f=c.reduce((v,p)=>v+p.weight,0),S=c[h].weight/f*this.cachedWidth;this.splitview.resizeView(h,S)},null,this.disposables),this.styleElement=(0,L.createStyleSheet)(this.domNode),this.style({})}get onDidChangeFocus(){return this.list.onDidChangeFocus}get onDidChangeSelection(){return this.list.onDidChangeSelection}get onMouseDblClick(){return this.list.onMouseDblClick}get onPointer(){return this.list.onPointer}get onDidFocus(){return this.list.onDidFocus}get onDidDispose(){return this.list.onDidDispose}updateOptions(n){this.list.updateOptions(n)}splice(n,i,o=[]){this.list.splice(n,i,o)}getHTMLElement(){return this.domNode}style(n){const i=[];i.push(`.monaco-table.${this.domId} > .monaco-split-view2 .monaco-sash.vertical::before {
+			top: ${this.virtualDelegate.headerRowHeight+1}px;
+			height: calc(100% - ${this.virtualDelegate.headerRowHeight}px);
+		}`),this.styleElement.textContent=i.join(`
+`),this.list.style(n)}getSelectedElements(){return this.list.getSelectedElements()}getSelection(){return this.list.getSelection()}getFocus(){return this.list.getFocus()}dispose(){this.disposables.dispose()}}e.Table=g,g.InstanceCount=0}),define(te[352],ie([12]),{}),define(te[145],ie([12]),{}),define(te[232],ie([1,0,7,136,145]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getIconClass=void 0;const k={},I=new m.IdGenerator("quick-input-button-icon-");function w(b){if(!b)return;let C;const u=b.dark.toString();return k[u]?C=k[u]:(C=I.nextId(),L.createCSSRule(`.${C}`,`background-image: ${L.asCSSUrl(b.light||b.dark)}`),L.createCSSRule(`.vs-dark .${C}, .hc-black .${C}`,`background-image: ${L.asCSSUrl(b.dark)}`),k[u]=C),C}e.getIconClass=w}),define(te[353],ie([12]),{}),define(te[354],ie([12]),{}),define(te[355],ie([12]),{}),define(te[356],ie([12]),{}),define(te[357],ie([12]),{}),define(te[358],ie([12]),{}),define(te[359],ie([12]),{}),define(te[360],ie([12]),{}),define(te[361],ie([12]),{}),define(te[362],ie([12]),{}),define(te[363],ie([12]),{}),define(te[364],ie([12]),{}),define(te[365],ie([12]),{}),define(te[366],ie([12]),{}),define(te[367],ie([12]),{}),define(te[368],ie([12]),{}),define(te[369],ie([12]),{}),define(te[370],ie([12]),{}),define(te[371],ie([12]),{}),define(te[372],ie([12]),{}),define(te[373],ie([12]),{}),define(te[374],ie([12]),{}),define(te[375],ie([12]),{}),define(te[376],ie([12]),{}),define(te[377],ie([12]),{}),define(te[378],ie([12]),{}),define(te[379],ie([12]),{}),define(te[380],ie([12]),{}),define(te[381],ie([12]),{}),define(te[382],ie([12]),{}),define(te[383],ie([12]),{}),define(te[384],ie([12]),{}),define(te[385],ie([12]),{}),define(te[386],ie([12]),{}),define(te[387],ie([12]),{}),define(te[388],ie([12]),{}),define(te[389],ie([12]),{}),define(te[390],ie([12]),{}),define(te[391],ie([12]),{}),define(te[392],ie([12]),{}),define(te[393],ie([12]),{}),define(te[394],ie([12]),{}),define(te[395],ie([12]),{}),define(te[396],ie([12]),{}),define(te[397],ie([12]),{}),define(te[398],ie([12]),{}),define(te[399],ie([12]),{}),define(te[233],ie([1,0,2,4]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ElementSizeObserver=void 0;class k extends L.Disposable{constructor(w,b){super();this._onDidChange=this._register(new m.Emitter),this.onDidChange=this._onDidChange.event,this._referenceDomElement=w,this._width=-1,this._height=-1,this._resizeObserver=null,this.measureReferenceDomElement(!1,b)}dispose(){this.stopObserving(),super.dispose()}getWidth(){return this._width}getHeight(){return this._height}startObserving(){!this._resizeObserver&&this._referenceDomElement&&(this._resizeObserver=new ResizeObserver(w=>{w&&w[0]&&w[0].contentRect?this.observe({width:w[0].contentRect.width,height:w[0].contentRect.height}):this.observe()}),this._resizeObserver.observe(this._referenceDomElement))}stopObserving(){this._resizeObserver&&(this._resizeObserver.disconnect(),this._resizeObserver=null)}observe(w){this.measureReferenceDomElement(!0,w)}measureReferenceDomElement(w,b){let C=0,u=0;b?(C=b.width,u=b.height):this._referenceDomElement&&(C=this._referenceDomElement.clientWidth,u=this._referenceDomElement.clientHeight),C=Math.max(5,C),u=Math.max(5,u),(this._width!==C||this._height!==u)&&(this._width=C,this._height=u,w&&this._onDidChange.fire())}}e.ElementSizeObserver=k}),define(te[400],ie([1,0,217]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.migrateOptions=void 0;function m(k){const I=k.wordWrap;I===!0?k.wordWrap="on":I===!1&&(k.wordWrap="off");const w=k.lineNumbers;w===!0?k.lineNumbers="on":w===!1&&(k.lineNumbers="off"),k.autoClosingBrackets===!1&&(k.autoClosingBrackets="never",k.autoClosingQuotes="never",k.autoSurround="never"),k.cursorBlinking==="visible"&&(k.cursorBlinking="solid");const u=k.renderWhitespace;u===!0?k.renderWhitespace="boundary":u===!1&&(k.renderWhitespace="none");const g=k.renderLineHighlight;g===!0?k.renderLineHighlight="line":g===!1&&(k.renderLineHighlight="none");const t=k.acceptSuggestionOnEnter;t===!0?k.acceptSuggestionOnEnter="on":t===!1&&(k.acceptSuggestionOnEnter="off");const n=k.tabCompletion;n===!1?k.tabCompletion="off":n===!0&&(k.tabCompletion="onlySnippets");const i=k.suggest;if(i&&typeof i.filteredTypes=="object"&&i.filteredTypes){const l={};l.method="showMethods",l.function="showFunctions",l.constructor="showConstructors",l.deprecated="showDeprecated",l.field="showFields",l.variable="showVariables",l.class="showClasses",l.struct="showStructs",l.interface="showInterfaces",l.module="showModules",l.property="showProperties",l.event="showEvents",l.operator="showOperators",l.unit="showUnits",l.value="showValues",l.constant="showConstants",l.enum="showEnums",l.enumMember="showEnumMembers",l.keyword="showKeywords",l.text="showWords",l.color="showColors",l.file="showFiles",l.reference="showReferences",l.folder="showFolders",l.typeParameter="showTypeParameters",l.snippet="showSnippets",(0,L.forEach)(l,h=>{const f=i.filteredTypes[h.key];f===!1&&(i[h.value]=f)})}const o=k.hover;o===!0?k.hover={enabled:!0}:o===!1&&(k.hover={enabled:!1});const c=k.parameterHints;c===!0?k.parameterHints={enabled:!0}:c===!1&&(k.parameterHints={enabled:!1});const d=k.autoIndent;d===!0?k.autoIndent="full":d===!1&&(k.autoIndent="advanced");const r=k.matchBrackets;r===!0?k.matchBrackets="always":r===!1&&(k.matchBrackets="never");const{renderIndentGuides:s,highlightActiveIndentGuide:a}=k;k.guides||(k.guides={}),s!==void 0&&(k.guides.indentation=!!s),a!==void 0&&(k.guides.highlightActiveIndentation=!!a)}e.migrateOptions=m}),define(te[234],ie([1,0,4]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TabFocus=void 0;class m{constructor(){this._tabFocus=!1,this._onDidChangeTabFocus=new L.Emitter,this.onDidChangeTabFocus=this._onDidChangeTabFocus.event}getTabFocusMode(){return this._tabFocus}setTabFocusMode(I){this._tabFocus!==I&&(this._tabFocus=I,this._onDidChangeTabFocus.fire(this._tabFocus))}}e.TabFocus=new m}),define(te[146],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StableEditorScrollState=void 0;class L{constructor(k,I,w){this._visiblePosition=k,this._visiblePositionScrollDelta=I,this._cursorPosition=w}static capture(k){let I=null,w=0;if(k.getScrollTop()!==0){const b=k.getVisibleRanges();if(b.length>0){I=b[0].getStartPosition();const C=k.getTopForPosition(I.lineNumber,I.column);w=k.getScrollTop()-C}}return new L(I,w,k.getPosition())}restore(k){if(this._visiblePosition){const I=k.getTopForPosition(this._visiblePosition.lineNumber,this._visiblePosition.column);k.setScrollTop(I+this._visiblePositionScrollDelta)}}restoreRelativeVerticalPositionOfCursor(k){const I=k.getPosition();if(!this._cursorPosition||!I)return;const w=k.getTopForLineNumber(I.lineNumber)-k.getTopForLineNumber(this._cursorPosition.lineNumber);k.setScrollTop(k.getScrollTop()+w)}}e.StableEditorScrollState=L}),define(te[118],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.VisibleRanges=e.HorizontalPosition=e.FloatHorizontalRange=e.HorizontalRange=e.LineVisibleRanges=e.RenderingContext=e.RestrictedRenderingContext=void 0;class L{constructor(g,t){this._restrictedRenderingContextBrand=void 0,this._viewLayout=g,this.viewportData=t,this.scrollWidth=this._viewLayout.getScrollWidth(),this.scrollHeight=this._viewLayout.getScrollHeight(),this.visibleRange=this.viewportData.visibleRange,this.bigNumbersDelta=this.viewportData.bigNumbersDelta;const n=this._viewLayout.getCurrentViewport();this.scrollTop=n.top,this.scrollLeft=n.left,this.viewportWidth=n.width,this.viewportHeight=n.height}getScrolledTopFromAbsoluteTop(g){return g-this.scrollTop}getVerticalOffsetForLineNumber(g){return this._viewLayout.getVerticalOffsetForLineNumber(g)}getDecorationsInViewport(){return this.viewportData.getDecorationsInViewport()}}e.RestrictedRenderingContext=L;class m extends L{constructor(g,t,n){super(g,t);this._renderingContextBrand=void 0,this._viewLines=n}linesVisibleRangesForRange(g,t){return this._viewLines.linesVisibleRangesForRange(g,t)}visibleRangeForPosition(g){return this._viewLines.visibleRangeForPosition(g)}}e.RenderingContext=m;class k{constructor(g,t,n){this.outsideRenderedLine=g,this.lineNumber=t,this.ranges=n}}e.LineVisibleRanges=k;class I{constructor(g,t){this._horizontalRangeBrand=void 0,this.left=Math.round(g),this.width=Math.round(t)}static from(g){const t=new Array(g.length);for(let n=0,i=g.length;n<i;n++){const o=g[n];t[n]=new I(o.left,o.width)}return t}toString(){return`[${this.left},${this.width}]`}}e.HorizontalRange=I;class w{constructor(g,t){this._floatHorizontalRangeBrand=void 0,this.left=g,this.width=t}toString(){return`[${this.left},${this.width}]`}static compare(g,t){return g.left-t.left}}e.FloatHorizontalRange=w;class b{constructor(g,t){this.outsideRenderedLine=g,this.originalLeft=t,this.left=Math.round(this.originalLeft)}}e.HorizontalPosition=b;class C{constructor(g,t){this.outsideRenderedLine=g,this.ranges=t}}e.VisibleRanges=C}),define(te[235],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewUserInputEvents=void 0;class L{constructor(k){this.onKeyDown=null,this.onKeyUp=null,this.onContextMenu=null,this.onMouseMove=null,this.onMouseLeave=null,this.onMouseDown=null,this.onMouseUp=null,this.onMouseDrag=null,this.onMouseDrop=null,this.onMouseDropCanceled=null,this.onMouseWheel=null,this._coordinatesConverter=k}emitKeyDown(k){this.onKeyDown&&this.onKeyDown(k)}emitKeyUp(k){this.onKeyUp&&this.onKeyUp(k)}emitContextMenu(k){this.onContextMenu&&this.onContextMenu(this._convertViewToModelMouseEvent(k))}emitMouseMove(k){this.onMouseMove&&this.onMouseMove(this._convertViewToModelMouseEvent(k))}emitMouseLeave(k){this.onMouseLeave&&this.onMouseLeave(this._convertViewToModelMouseEvent(k))}emitMouseDown(k){this.onMouseDown&&this.onMouseDown(this._convertViewToModelMouseEvent(k))}emitMouseUp(k){this.onMouseUp&&this.onMouseUp(this._convertViewToModelMouseEvent(k))}emitMouseDrag(k){this.onMouseDrag&&this.onMouseDrag(this._convertViewToModelMouseEvent(k))}emitMouseDrop(k){this.onMouseDrop&&this.onMouseDrop(this._convertViewToModelMouseEvent(k))}emitMouseDropCanceled(){this.onMouseDropCanceled&&this.onMouseDropCanceled()}emitMouseWheel(k){this.onMouseWheel&&this.onMouseWheel(k)}_convertViewToModelMouseEvent(k){return k.target?{event:k.event,target:this._convertViewToModelMouseTarget(k.target)}:k}_convertViewToModelMouseTarget(k){return L.convertViewToModelMouseTarget(k,this._coordinatesConverter)}static convertViewToModelMouseTarget(k,I){const w=Object.assign({},k);return w.position&&(w.position=I.convertViewPositionToModelPosition(w.position)),w.range&&(w.range=I.convertViewRangeToModelRange(w.range)),w}}e.ViewUserInputEvents=L}),define(te[401],ie([1,0,118]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RangeUtil=void 0;class m{static _createRange(){return this._handyReadyRange||(this._handyReadyRange=document.createRange()),this._handyReadyRange}static _detachRange(I,w){I.selectNodeContents(w)}static _readClientRects(I,w,b,C,u){const g=this._createRange();try{return g.setStart(I,w),g.setEnd(b,C),g.getClientRects()}catch{return null}finally{this._detachRange(g,u)}}static _mergeAdjacentRanges(I){if(I.length===1)return I;I.sort(L.FloatHorizontalRange.compare);const w=[];let b=0,C=I[0];for(let u=1,g=I.length;u<g;u++){const t=I[u];C.left+C.width+.9>=t.left?C.width=Math.max(C.width,t.left+t.width-C.left):(w[b++]=C,C=t)}return w[b++]=C,w}static _createHorizontalRangesFromClientRects(I,w,b){if(!I||I.length===0)return null;const C=[];for(let u=0,g=I.length;u<g;u++){const t=I[u];C[u]=new L.FloatHorizontalRange(Math.max(0,(t.left-w)/b),t.width/b)}return this._mergeAdjacentRanges(C)}static readHorizontalRanges(I,w,b,C,u,g,t,n){const i=0,o=I.children.length-1;if(i>o)return null;if(w=Math.min(o,Math.max(i,w)),C=Math.min(o,Math.max(i,C)),w===C&&b===u&&b===0&&!I.children[w].firstChild){const s=I.children[w].getClientRects();return this._createHorizontalRangesFromClientRects(s,g,t)}w!==C&&C>0&&u===0&&(C--,u=1073741824);let c=I.children[w].firstChild,d=I.children[C].firstChild;if((!c||!d)&&(!c&&b===0&&w>0&&(c=I.children[w-1].firstChild,b=1073741824),!d&&u===0&&C>0&&(d=I.children[C-1].firstChild,u=1073741824)),!c||!d)return null;b=Math.min(c.textContent.length,Math.max(0,b)),u=Math.min(d.textContent.length,Math.max(0,u));const r=this._readClientRects(c,b,d,u,n);return this._createHorizontalRangesFromClientRects(r,g,t)}}e.RangeUtil=m}),define(te[236],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getCharIndex=e.allCharCodes=void 0,e.allCharCodes=(()=>{const m=[];for(let k=32;k<=126;k++)m.push(k);return m.push(65533),m})();const L=(m,k)=>(m-=32,m<0||m>96?k<=2?(m+96)%96:96-1:m);e.getCharIndex=L}),define(te[402],ie([1,0,236,142]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MinimapCharRenderer=void 0;class k{constructor(w,b){this.scale=b,this._minimapCharRendererBrand=void 0,this.charDataNormal=k.soften(w,12/15),this.charDataLight=k.soften(w,50/60)}static soften(w,b){const C=new Uint8ClampedArray(w.length);for(let u=0,g=w.length;u<g;u++)C[u]=(0,m.toUint8)(w[u]*b);return C}renderChar(w,b,C,u,g,t,n,i,o,c,d){const r=1*this.scale,s=2*this.scale,a=d?1:s;if(b+r>w.width||C+a>w.height){console.warn("bad render request outside image data");return}const l=c?this.charDataLight:this.charDataNormal,h=(0,L.getCharIndex)(u,o),f=w.width*4,S=n.r,v=n.g,p=n.b,_=g.r-S,y=g.g-v,E=g.b-p,N=Math.max(t,i),D=w.data;let M=h*r*s,B=C*f+b*4;for(let O=0;O<a;O++){let T=B;for(let A=0;A<r;A++){const P=l[M++]/255*(t/255);D[T++]=S+_*P,D[T++]=v+y*P,D[T++]=p+E*P,D[T++]=N}B+=f}}blockRenderChar(w,b,C,u,g,t,n,i){const o=1*this.scale,c=2*this.scale,d=i?1:c;if(b+o>w.width||C+d>w.height){console.warn("bad render request outside image data");return}const r=w.width*4,s=.5*(g/255),a=t.r,l=t.g,h=t.b,f=u.r-a,S=u.g-l,v=u.b-h,p=a+f*s,_=l+S*s,y=h+v*s,E=Math.max(g,n),N=w.data;let D=C*r+b*4;for(let M=0;M<d;M++){let B=D;for(let O=0;O<o;O++)N[B++]=p,N[B++]=_,N[B++]=y,N[B++]=E;D+=r}}}e.MinimapCharRenderer=k}),define(te[403],ie([1,0,91]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.prebakedMiniMaps=void 0;const m={"0":0,"1":1,"2":2,"3":3,"4":4,"5":5,"6":6,"7":7,"8":8,"9":9,A:10,B:11,C:12,D:13,E:14,F:15},k=I=>{const w=new Uint8ClampedArray(I.length/2);for(let b=0;b<I.length;b+=2)w[b>>1]=m[I[b]]<<4|m[I[b+1]]&15;return w};e.prebakedMiniMaps={1:(0,L.once)(()=>k("0000511D6300CF609C709645A78432005642574171487021003C451900274D35D762755E8B629C5BA856AF57BA649530C167D1512A272A3F6038604460398526BCA2A968DB6F8957C768BE5FBE2FB467CF5D8D5B795DC7625B5DFF50DE64C466DB2FC47CD860A65E9A2EB96CB54CE06DA763AB2EA26860524D3763536601005116008177A8705E53AB738E6A982F88BAA35B5F5B626D9C636B449B737E5B7B678598869A662F6B5B8542706C704C80736A607578685B70594A49715A4522E792")),2:(0,L.once)(()=>k("000000000000000055394F383D2800008B8B1F210002000081B1CBCBCC820000847AAF6B9AAF2119BE08B8881AD60000A44FD07DCCF107015338130C00000000385972265F390B406E2437634B4B48031B12B8A0847000001E15B29A402F0000000000004B33460B00007A752C2A0000000000004D3900000084394B82013400ABA5CFC7AD9C0302A45A3E5A98AB000089A43382D97900008BA54AA087A70A0248A6A7AE6DBE0000BF6F94987EA40A01A06DCFA7A7A9030496C32F77891D0000A99FB1A0AFA80603B29AB9CA75930D010C0948354D3900000C0948354F37460D0028BE673D8400000000AF9D7B6E00002B007AA8933400007AA642675C2700007984CFB9C3985B768772A8A6B7B20000CAAECAAFC4B700009F94A6009F840009D09F9BA4CA9C0000CC8FC76DC87F0000C991C472A2000000A894A48CA7B501079BA2C9C69BA20000B19A5D3FA89000005CA6009DA2960901B0A7F0669FB200009D009E00B7890000DAD0F5D092820000D294D4C48BD10000B5A7A4A3B1A50402CAB6CBA6A2000000B5A7A4A3B1A8044FCDADD19D9CB00000B7778F7B8AAE0803C9AB5D3F5D3F00009EA09EA0BAB006039EA0989A8C7900009B9EF4D6B7C00000A9A7816CACA80000ABAC84705D3F000096DA635CDC8C00006F486F266F263D4784006124097B00374F6D2D6D2D6D4A3A95872322000000030000000000008D8939130000000000002E22A5C9CBC70600AB25C0B5C9B400061A2DB04CA67001082AA6BEBEBFC606002321DACBC19E03087AA08B6768380000282FBAC0B8CA7A88AD25BBA5A29900004C396C5894A6000040485A6E356E9442A32CD17EADA70000B4237923628600003E2DE9C1D7B500002F25BBA5A2990000231DB6AFB4A804023025C0B5CAB588062B2CBDBEC0C706882435A75CA20000002326BD6A82A908048B4B9A5A668000002423A09CB4BB060025259C9D8A7900001C1FCAB2C7C700002A2A9387ABA200002626A4A47D6E9D14333163A0C87500004B6F9C2D643A257049364936493647358A34438355497F1A0000A24C1D590000D38DFFBDD4CD3126"))}}),define(te[404],ie([1,0,402,236,403,142]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MinimapCharRendererFactory=void 0;class w{static create(C,u){if(this.lastCreated&&C===this.lastCreated.scale&&u===this.lastFontFamily)return this.lastCreated;let g;return k.prebakedMiniMaps[C]?g=new L.MinimapCharRenderer(k.prebakedMiniMaps[C](),C):g=w.createFromSampleData(w.createSampleData(u).data,C),this.lastFontFamily=u,this.lastCreated=g,g}static createSampleData(C){const u=document.createElement("canvas"),g=u.getContext("2d");u.style.height=`${16}px`,u.height=16,u.width=96*10,u.style.width=96*10+"px",g.fillStyle="#ffffff",g.font=`bold ${16}px ${C}`,g.textBaseline="middle";let t=0;for(const n of m.allCharCodes)g.fillText(String.fromCharCode(n),t,16/2),t+=10;return g.getImageData(0,0,96*10,16)}static createFromSampleData(C,u){const g=16*10*4*96;if(C.length!==g)throw new Error("Unexpected source in MinimapCharRenderer");const t=w._downsample(C,u);return new L.MinimapCharRenderer(t,u)}static _downsampleChar(C,u,g,t,n){const i=1*n,o=2*n;let c=t,d=0;for(let r=0;r<o;r++){const s=r/o*16,a=(r+1)/o*16;for(let l=0;l<i;l++){const h=l/i*10,f=(l+1)/i*10;let S=0,v=0;for(let _=s;_<a;_++){const y=u+Math.floor(_)*3840,E=1-(_-Math.floor(_));for(let N=h;N<f;N++){const D=1-(N-Math.floor(N)),M=y+Math.floor(N)*4,B=D*E;v+=B,S+=C[M]*C[M+3]/255*B}}const p=S/v;d=Math.max(d,p),g[c++]=(0,I.toUint8)(p)}}return d}static _downsample(C,u){const g=2*u*1*u,t=g*96,n=new Uint8ClampedArray(t);let i=0,o=0,c=0;for(let d=0;d<96;d++)c=Math.max(c,this._downsampleChar(C,o,n,i,u)),i+=g,o+=10*4;if(c>0){const d=255/c;for(let r=0;r<t;r++)n[r]*=d}return n}}e.MinimapCharRendererFactory=w}),define(te[147],ie([1,0,4]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EditorZoom=void 0,e.EditorZoom=new class{constructor(){this._zoomLevel=0,this._onDidChangeZoomLevel=new L.Emitter,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event}getZoomLevel(){return this._zoomLevel}setZoomLevel(m){m=Math.min(Math.max(-5,m),20),this._zoomLevel!==m&&(this._zoomLevel=m,this._onDidChangeZoomLevel.fire(this._zoomLevel))}}}),define(te[176],ie([1,0,16,147]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FontInfo=e.SERIALIZED_FONT_INFO_VERSION=e.BareFontInfo=void 0;const k=L.isMacintosh?1.5:1.35,I=8;class w{constructor(u){this._bareFontInfoBrand=void 0,this.pixelRatio=u.pixelRatio,this.fontFamily=String(u.fontFamily),this.fontWeight=String(u.fontWeight),this.fontSize=u.fontSize,this.fontFeatureSettings=u.fontFeatureSettings,this.lineHeight=u.lineHeight|0,this.letterSpacing=u.letterSpacing}static createFromValidatedSettings(u,g,t){const n=u.get(43),i=u.get(47),o=u.get(46),c=u.get(45),d=u.get(59),r=u.get(56);return w._create(n,i,o,c,d,r,g,t)}static _create(u,g,t,n,i,o,c,d){i===0?i=k*t:i<I&&(i=i*t),i=Math.round(i),i<I&&(i=I);const r=1+(d?0:m.EditorZoom.getZoomLevel()*.1);return t*=r,i*=r,new w({pixelRatio:c,fontFamily:u,fontWeight:g,fontSize:t,fontFeatureSettings:n,lineHeight:i,letterSpacing:o})}getId(){return`${this.pixelRatio}-${this.fontFamily}-${this.fontWeight}-${this.fontSize}-${this.fontFeatureSettings}-${this.lineHeight}-${this.letterSpacing}`}getMassagedFontFamily(u){const g=w._wrapInQuotes(this.fontFamily);return u&&this.fontFamily!==u?`${g}, ${u}`:g}static _wrapInQuotes(u){return/[,"']/.test(u)?u:/[+ ]/.test(u)?`"${u}"`:u}}e.BareFontInfo=w,e.SERIALIZED_FONT_INFO_VERSION=1;class b extends w{constructor(u,g){super(u);this._editorStylingBrand=void 0,this.version=e.SERIALIZED_FONT_INFO_VERSION,this.isTrusted=g,this.isMonospace=u.isMonospace,this.typicalHalfwidthCharacterWidth=u.typicalHalfwidthCharacterWidth,this.typicalFullwidthCharacterWidth=u.typicalFullwidthCharacterWidth,this.canUseHalfwidthRightwardsArrow=u.canUseHalfwidthRightwardsArrow,this.spaceWidth=u.spaceWidth,this.middotWidth=u.middotWidth,this.wsmiddotWidth=u.wsmiddotWidth,this.maxDigitWidth=u.maxDigitWidth}equals(u){return this.fontFamily===u.fontFamily&&this.fontWeight===u.fontWeight&&this.fontSize===u.fontSize&&this.fontFeatureSettings===u.fontFeatureSettings&&this.lineHeight===u.lineHeight&&this.letterSpacing===u.letterSpacing&&this.typicalHalfwidthCharacterWidth===u.typicalHalfwidthCharacterWidth&&this.typicalFullwidthCharacterWidth===u.typicalFullwidthCharacterWidth&&this.canUseHalfwidthRightwardsArrow===u.canUseHalfwidthRightwardsArrow&&this.spaceWidth===u.spaceWidth&&this.middotWidth===u.middotWidth&&this.wsmiddotWidth===u.wsmiddotWidth&&this.maxDigitWidth===u.maxDigitWidth}}e.FontInfo=b}),define(te[99],ie([1,0,142]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CharacterSet=e.CharacterClassifier=void 0;class m{constructor(w){const b=(0,L.toUint8)(w);this._defaultValue=b,this._asciiMap=m._createAsciiMap(b),this._map=new Map}static _createAsciiMap(w){const b=new Uint8Array(256);for(let C=0;C<256;C++)b[C]=w;return b}set(w,b){const C=(0,L.toUint8)(b);w>=0&&w<256?this._asciiMap[w]=C:this._map.set(w,C)}get(w){return w>=0&&w<256?this._asciiMap[w]:this._map.get(w)||this._defaultValue}}e.CharacterClassifier=m;class k{constructor(){this._actual=new m(0)}add(w){this._actual.set(w,1)}has(w){return this._actual.get(w)===1}}e.CharacterSet=k}),define(te[70],ie([1,0,8]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CursorColumns=void 0;class m{static _nextVisibleColumn(I,w,b){return I===9?m.nextRenderTabStop(w,b):L.isFullWidthCharacter(I)||L.isEmojiImprecise(I)?w+2:w+1}static visibleColumnFromColumn(I,w,b){const C=Math.min(w-1,I.length),u=I.substring(0,C),g=new L.GraphemeIterator(u);let t=0;for(;!g.eol();){const n=L.getNextCodePoint(u,C,g.offset);g.nextGraphemeLength(),t=this._nextVisibleColumn(n,t,b)}return t}static columnFromVisibleColumn(I,w,b){if(w<=0)return 1;const C=I.length,u=new L.GraphemeIterator(I);let g=0,t=1;for(;!u.eol();){const n=L.getNextCodePoint(I,C,u.offset);u.nextGraphemeLength();const i=this._nextVisibleColumn(n,g,b),o=u.offset+1;if(i>=w){const c=w-g;return i-w<c?o:t}g=i,t=o}return C+1}static nextRenderTabStop(I,w){return I+w-I%w}static nextIndentTabStop(I,w){return I+w-I%w}static prevRenderTabStop(I,w){return Math.max(0,I-1-(I-1)%w)}static prevIndentTabStop(I,w){return Math.max(0,I-1-(I-1)%w)}}e.CursorColumns=m}),define(te[119],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.countEOL=void 0;function L(m){let k=0,I=0,w=0,b=0;for(let C=0,u=m.length;C<u;C++){const g=m.charCodeAt(C);g===13?(k===0&&(I=C),k++,C+1<u&&m.charCodeAt(C+1)===10?(b|=2,C++):b|=3,w=C+1):g===10&&(b|=1,k===0&&(I=C),k++,w=C+1)}return k===0&&(I=m.length),[k,I,m.length-w,b]}e.countEOL=L}),define(te[177],ie([1,0,8]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.normalizeIndentation=void 0;function m(I,w,b){let C=0;for(let g=0;g<I.length;g++)I.charAt(g)==="	"?C+=w:C++;let u="";if(!b){const g=Math.floor(C/w);C=C%w;for(let t=0;t<g;t++)u+="	"}for(let g=0;g<C;g++)u+=" ";return u}function k(I,w,b){let C=L.firstNonWhitespaceIndex(I);return C===-1&&(C=I.length),m(I.substring(0,C),w,b)+I.substring(C)}e.normalizeIndentation=k}),define(te[11],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Position=void 0;class L{constructor(k,I){this.lineNumber=k,this.column=I}with(k=this.lineNumber,I=this.column){return k===this.lineNumber&&I===this.column?this:new L(k,I)}delta(k=0,I=0){return this.with(this.lineNumber+k,this.column+I)}equals(k){return L.equals(this,k)}static equals(k,I){return!k&&!I?!0:!!k&&!!I&&k.lineNumber===I.lineNumber&&k.column===I.column}isBefore(k){return L.isBefore(this,k)}static isBefore(k,I){return k.lineNumber<I.lineNumber?!0:I.lineNumber<k.lineNumber?!1:k.column<I.column}isBeforeOrEqual(k){return L.isBeforeOrEqual(this,k)}static isBeforeOrEqual(k,I){return k.lineNumber<I.lineNumber?!0:I.lineNumber<k.lineNumber?!1:k.column<=I.column}static compare(k,I){const w=k.lineNumber|0,b=I.lineNumber|0;if(w===b){const C=k.column|0,u=I.column|0;return C-u}return w-b}clone(){return new L(this.lineNumber,this.column)}toString(){return"("+this.lineNumber+","+this.column+")"}static lift(k){return new L(k.lineNumber,k.column)}static isIPosition(k){return k&&typeof k.lineNumber=="number"&&typeof k.column=="number"}}e.Position=L}),define(te[3],ie([1,0,11]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Range=void 0;class m{constructor(I,w,b,C){I>b||I===b&&w>C?(this.startLineNumber=b,this.startColumn=C,this.endLineNumber=I,this.endColumn=w):(this.startLineNumber=I,this.startColumn=w,this.endLineNumber=b,this.endColumn=C)}isEmpty(){return m.isEmpty(this)}static isEmpty(I){return I.startLineNumber===I.endLineNumber&&I.startColumn===I.endColumn}containsPosition(I){return m.containsPosition(this,I)}static containsPosition(I,w){return!(w.lineNumber<I.startLineNumber||w.lineNumber>I.endLineNumber||w.lineNumber===I.startLineNumber&&w.column<I.startColumn||w.lineNumber===I.endLineNumber&&w.column>I.endColumn)}static strictContainsPosition(I,w){return!(w.lineNumber<I.startLineNumber||w.lineNumber>I.endLineNumber||w.lineNumber===I.startLineNumber&&w.column<=I.startColumn||w.lineNumber===I.endLineNumber&&w.column>=I.endColumn)}containsRange(I){return m.containsRange(this,I)}static containsRange(I,w){return!(w.startLineNumber<I.startLineNumber||w.endLineNumber<I.startLineNumber||w.startLineNumber>I.endLineNumber||w.endLineNumber>I.endLineNumber||w.startLineNumber===I.startLineNumber&&w.startColumn<I.startColumn||w.endLineNumber===I.endLineNumber&&w.endColumn>I.endColumn)}strictContainsRange(I){return m.strictContainsRange(this,I)}static strictContainsRange(I,w){return!(w.startLineNumber<I.startLineNumber||w.endLineNumber<I.startLineNumber||w.startLineNumber>I.endLineNumber||w.endLineNumber>I.endLineNumber||w.startLineNumber===I.startLineNumber&&w.startColumn<=I.startColumn||w.endLineNumber===I.endLineNumber&&w.endColumn>=I.endColumn)}plusRange(I){return m.plusRange(this,I)}static plusRange(I,w){let b,C,u,g;return w.startLineNumber<I.startLineNumber?(b=w.startLineNumber,C=w.startColumn):w.startLineNumber===I.startLineNumber?(b=w.startLineNumber,C=Math.min(w.startColumn,I.startColumn)):(b=I.startLineNumber,C=I.startColumn),w.endLineNumber>I.endLineNumber?(u=w.endLineNumber,g=w.endColumn):w.endLineNumber===I.endLineNumber?(u=w.endLineNumber,g=Math.max(w.endColumn,I.endColumn)):(u=I.endLineNumber,g=I.endColumn),new m(b,C,u,g)}intersectRanges(I){return m.intersectRanges(this,I)}static intersectRanges(I,w){let b=I.startLineNumber,C=I.startColumn,u=I.endLineNumber,g=I.endColumn,t=w.startLineNumber,n=w.startColumn,i=w.endLineNumber,o=w.endColumn;return b<t?(b=t,C=n):b===t&&(C=Math.max(C,n)),u>i?(u=i,g=o):u===i&&(g=Math.min(g,o)),b>u||b===u&&C>g?null:new m(b,C,u,g)}equalsRange(I){return m.equalsRange(this,I)}static equalsRange(I,w){return!!I&&!!w&&I.startLineNumber===w.startLineNumber&&I.startColumn===w.startColumn&&I.endLineNumber===w.endLineNumber&&I.endColumn===w.endColumn}getEndPosition(){return m.getEndPosition(this)}static getEndPosition(I){return new L.Position(I.endLineNumber,I.endColumn)}getStartPosition(){return m.getStartPosition(this)}static getStartPosition(I){return new L.Position(I.startLineNumber,I.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(I,w){return new m(this.startLineNumber,this.startColumn,I,w)}setStartPosition(I,w){return new m(I,w,this.endLineNumber,this.endColumn)}collapseToStart(){return m.collapseToStart(this)}static collapseToStart(I){return new m(I.startLineNumber,I.startColumn,I.startLineNumber,I.startColumn)}static fromPositions(I,w=I){return new m(I.lineNumber,I.column,w.lineNumber,w.column)}static lift(I){return I?new m(I.startLineNumber,I.startColumn,I.endLineNumber,I.endColumn):null}static isIRange(I){return I&&typeof I.startLineNumber=="number"&&typeof I.startColumn=="number"&&typeof I.endLineNumber=="number"&&typeof I.endColumn=="number"}static areIntersectingOrTouching(I,w){return!(I.endLineNumber<w.startLineNumber||I.endLineNumber===w.startLineNumber&&I.endColumn<w.startColumn||w.endLineNumber<I.startLineNumber||w.endLineNumber===I.startLineNumber&&w.endColumn<I.startColumn)}static areIntersecting(I,w){return!(I.endLineNumber<w.startLineNumber||I.endLineNumber===w.startLineNumber&&I.endColumn<=w.startColumn||w.endLineNumber<I.startLineNumber||w.endLineNumber===I.startLineNumber&&w.endColumn<=I.startColumn)}static compareRangesUsingStarts(I,w){if(I&&w){const u=I.startLineNumber|0,g=w.startLineNumber|0;if(u===g){const t=I.startColumn|0,n=w.startColumn|0;if(t===n){const i=I.endLineNumber|0,o=w.endLineNumber|0;if(i===o){const c=I.endColumn|0,d=w.endColumn|0;return c-d}return i-o}return t-n}return u-g}return(I?1:0)-(w?1:0)}static compareRangesUsingEnds(I,w){return I.endLineNumber===w.endLineNumber?I.endColumn===w.endColumn?I.startLineNumber===w.startLineNumber?I.startColumn-w.startColumn:I.startLineNumber-w.startLineNumber:I.endColumn-w.endColumn:I.endLineNumber-w.endLineNumber}static spansMultipleLines(I){return I.endLineNumber>I.startLineNumber}toJSON(){return this}}e.Range=m}),define(te[237],ie([1,0,8,11,3]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PagedScreenReaderStrategy=e.TextAreaState=e._debugComposition=void 0,e._debugComposition=!1;class I{constructor(C,u,g,t,n){this.value=C,this.selectionStart=u,this.selectionEnd=g,this.selectionStartPosition=t,this.selectionEndPosition=n}toString(){return`[ <${this.value}>, selectionStart: ${this.selectionStart}, selectionEnd: ${this.selectionEnd}]`}static readFromTextArea(C){return new I(C.getValue(),C.getSelectionStart(),C.getSelectionEnd(),null,null)}collapseSelection(){return new I(this.value,this.value.length,this.value.length,null,null)}writeToTextArea(C,u,g){e._debugComposition&&console.log(`writeToTextArea ${C}: ${this.toString()}`),u.setValue(C,this.value),g&&u.setSelectionRange(C,this.selectionStart,this.selectionEnd)}deduceEditorPosition(C){if(C<=this.selectionStart){const t=this.value.substring(C,this.selectionStart);return this._finishDeduceEditorPosition(this.selectionStartPosition,t,-1)}if(C>=this.selectionEnd){const t=this.value.substring(this.selectionEnd,C);return this._finishDeduceEditorPosition(this.selectionEndPosition,t,1)}const u=this.value.substring(this.selectionStart,C);if(u.indexOf(String.fromCharCode(8230))===-1)return this._finishDeduceEditorPosition(this.selectionStartPosition,u,1);const g=this.value.substring(C,this.selectionEnd);return this._finishDeduceEditorPosition(this.selectionEndPosition,g,-1)}_finishDeduceEditorPosition(C,u,g){let t=0,n=-1;for(;(n=u.indexOf(`
+`,n+1))!==-1;)t++;return[C,g*u.length,t]}static deduceInput(C,u,g){if(!C)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};e._debugComposition&&(console.log("------------------------deduceInput"),console.log(`PREVIOUS STATE: ${C.toString()}`),console.log(`CURRENT STATE: ${u.toString()}`));const t=Math.min(L.commonPrefixLength(C.value,u.value),C.selectionStart,u.selectionStart),n=Math.min(L.commonSuffixLength(C.value,u.value),C.value.length-C.selectionEnd,u.value.length-u.selectionEnd),i=C.value.substring(t,C.value.length-n),o=u.value.substring(t,u.value.length-n),c=C.selectionStart-t,d=C.selectionEnd-t,r=u.selectionStart-t,s=u.selectionEnd-t;if(e._debugComposition&&(console.log(`AFTER DIFFING PREVIOUS STATE: <${i}>, selectionStart: ${c}, selectionEnd: ${d}`),console.log(`AFTER DIFFING CURRENT STATE: <${o}>, selectionStart: ${r}, selectionEnd: ${s}`)),r===s){const l=C.selectionStart-t;return e._debugComposition&&console.log(`REMOVE PREVIOUS: ${l} chars`),{text:o,replacePrevCharCnt:l,replaceNextCharCnt:0,positionDelta:0}}const a=d-c;return{text:o,replacePrevCharCnt:a,replaceNextCharCnt:0,positionDelta:0}}static deduceAndroidCompositionInput(C,u){if(!C)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};if(e._debugComposition&&(console.log("------------------------deduceAndroidCompositionInput"),console.log(`PREVIOUS STATE: ${C.toString()}`),console.log(`CURRENT STATE: ${u.toString()}`)),C.value===u.value)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:u.selectionEnd-C.selectionEnd};const g=Math.min(L.commonPrefixLength(C.value,u.value),C.selectionEnd),t=Math.min(L.commonSuffixLength(C.value,u.value),C.value.length-C.selectionEnd),n=C.value.substring(g,C.value.length-t),i=u.value.substring(g,u.value.length-t),o=C.selectionStart-g,c=C.selectionEnd-g,d=u.selectionStart-g,r=u.selectionEnd-g;return e._debugComposition&&(console.log(`AFTER DIFFING PREVIOUS STATE: <${n}>, selectionStart: ${o}, selectionEnd: ${c}`),console.log(`AFTER DIFFING CURRENT STATE: <${i}>, selectionStart: ${d}, selectionEnd: ${r}`)),{text:i,replacePrevCharCnt:c,replaceNextCharCnt:n.length-c,positionDelta:r-i.length}}}e.TextAreaState=I,I.EMPTY=new I("",0,0,null,null);class w{static _getPageOfLine(C,u){return Math.floor((C-1)/u)}static _getRangeForPage(C,u){const g=C*u,t=g+1,n=g+u;return new k.Range(t,1,n+1,1)}static fromEditorSelection(C,u,g,t,n){const i=w._getPageOfLine(g.startLineNumber,t),o=w._getRangeForPage(i,t),c=w._getPageOfLine(g.endLineNumber,t),d=w._getRangeForPage(c,t),r=o.intersectRanges(new k.Range(1,1,g.startLineNumber,g.startColumn));let s=u.getValueInRange(r,1);const a=u.getLineCount(),l=u.getLineMaxColumn(a),h=d.intersectRanges(new k.Range(g.endLineNumber,g.endColumn,a,l));let f=u.getValueInRange(h,1),S;if(i===c||i+1===c)S=u.getValueInRange(g,1);else{const v=o.intersectRanges(g),p=d.intersectRanges(g);S=u.getValueInRange(v,1)+String.fromCharCode(8230)+u.getValueInRange(p,1)}if(n){const v=500;s.length>v&&(s=s.substring(s.length-v,s.length)),f.length>v&&(f=f.substring(0,v)),S.length>2*v&&(S=S.substring(0,v)+String.fromCharCode(8230)+S.substring(S.length-v,S.length))}return new I(s+S+f,s.length,s.length+S.length,new m.Position(g.startLineNumber,g.startColumn),new m.Position(g.endLineNumber,g.endColumn))}}e.PagedScreenReaderStrategy=w}),define(te[238],ie([1,0,216,4,2,40,3]),function(q,e,L,m,k,I,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DiffNavigator=void 0;const b={followsCaret:!0,ignoreCharChanges:!0,alwaysRevealFirst:!0};class C extends k.Disposable{constructor(g,t={}){super();this._onDidUpdate=this._register(new m.Emitter),this._editor=g,this._options=I.mixin(t,b,!1),this.disposed=!1,this.nextIdx=-1,this.ranges=[],this.ignoreSelectionChange=!1,this.revealFirst=Boolean(this._options.alwaysRevealFirst),this._register(this._editor.onDidDispose(()=>this.dispose())),this._register(this._editor.onDidUpdateDiff(()=>this._onDiffUpdated())),this._options.followsCaret&&this._register(this._editor.getModifiedEditor().onDidChangeCursorPosition(n=>{this.ignoreSelectionChange||(this.nextIdx=-1)})),this._options.alwaysRevealFirst&&this._register(this._editor.getModifiedEditor().onDidChangeModel(n=>{this.revealFirst=!0})),this._init()}_init(){!!this._editor.getLineChanges()}_onDiffUpdated(){this._init(),this._compute(this._editor.getLineChanges()),this.revealFirst&&this._editor.getLineChanges()!==null&&(this.revealFirst=!1,this.nextIdx=-1,this.next(1))}_compute(g){this.ranges=[],g&&g.forEach(t=>{!this._options.ignoreCharChanges&&t.charChanges?t.charChanges.forEach(n=>{this.ranges.push({rhs:!0,range:new w.Range(n.modifiedStartLineNumber,n.modifiedStartColumn,n.modifiedEndLineNumber,n.modifiedEndColumn)})}):t.modifiedEndLineNumber===0?this.ranges.push({rhs:!0,range:new w.Range(t.modifiedStartLineNumber,1,t.modifiedStartLineNumber+1,1)}):this.ranges.push({rhs:!0,range:new w.Range(t.modifiedStartLineNumber,1,t.modifiedEndLineNumber+1,1)})}),this.ranges.sort((t,n)=>w.Range.compareRangesUsingStarts(t.range,n.range)),this._onDidUpdate.fire(this)}_initIdx(g){let t=!1;const n=this._editor.getPosition();if(!n){this.nextIdx=0;return}for(let i=0,o=this.ranges.length;i<o&&!t;i++){const c=this.ranges[i].range;n.isBeforeOrEqual(c.getStartPosition())&&(this.nextIdx=i+(g?0:-1),t=!0)}t||(this.nextIdx=g?0:this.ranges.length-1),this.nextIdx<0&&(this.nextIdx=this.ranges.length-1)}_move(g,t){if(L.ok(!this.disposed,"Illegal State - diff navigator has been disposed"),!this.canNavigate())return;this.nextIdx===-1?this._initIdx(g):g?(this.nextIdx+=1,this.nextIdx>=this.ranges.length&&(this.nextIdx=0)):(this.nextIdx-=1,this.nextIdx<0&&(this.nextIdx=this.ranges.length-1));const n=this.ranges[this.nextIdx];this.ignoreSelectionChange=!0;try{const i=n.range.getStartPosition();this._editor.setPosition(i),this._editor.revealRangeInCenter(n.range,t)}finally{this.ignoreSelectionChange=!1}}canNavigate(){return this.ranges&&this.ranges.length>0}next(g=0){this._move(!0,g)}previous(g=0){this._move(!1,g)}dispose(){super.dispose(),this.ranges=[],this.disposed=!0}}e.DiffNavigator=C}),define(te[63],ie([1,0,3]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EditOperation=void 0;class m{static insert(I,w){return{range:new L.Range(I.lineNumber,I.column,I.lineNumber,I.column),text:w,forceMoveMarkers:!0}}static delete(I){return{range:I,text:null}}static replace(I,w){return{range:I,text:w}}static replaceMove(I,w){return{range:I,text:w,forceMoveMarkers:!0}}}e.EditOperation=m}),define(te[405],ie([1,0,8,63,3]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.trimTrailingWhitespace=e.TrimTrailingWhitespaceCommand=void 0;class I{constructor(C,u){this._selection=C,this._cursors=u,this._selectionId=null}getEditOperations(C,u){const g=w(C,this._cursors);for(let t=0,n=g.length;t<n;t++){const i=g[t];u.addEditOperation(i.range,i.text)}this._selectionId=u.trackSelection(this._selection)}computeCursorState(C,u){return u.getTrackedSelection(this._selectionId)}}e.TrimTrailingWhitespaceCommand=I;function w(b,C){C.sort((i,o)=>i.lineNumber===o.lineNumber?i.column-o.column:i.lineNumber-o.lineNumber);for(let i=C.length-2;i>=0;i--)C[i].lineNumber===C[i+1].lineNumber&&C.splice(i,1);const u=[];let g=0,t=0;const n=C.length;for(let i=1,o=b.getLineCount();i<=o;i++){const c=b.getLineContent(i),d=c.length+1;let r=0;if(t<n&&C[t].lineNumber===i&&(r=C[t].column,t++,r===d)||c.length===0)continue;const s=L.lastNonWhitespaceIndex(c);let a=0;if(s===-1)a=1;else if(s!==c.length-1)a=s+2;else continue;a=Math.max(r,a),u[g++]=m.EditOperation.delete(new k.Range(i,a,i,d))}return u}e.trimTrailingWhitespace=w}),define(te[239],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RGBA8=void 0;class L{constructor(k,I,w,b){this._rgba8Brand=void 0,this.r=L._clamp(k),this.g=L._clamp(I),this.b=L._clamp(w),this.a=L._clamp(b)}equals(k){return this.r===k.r&&this.g===k.g&&this.b===k.b&&this.a===k.a}static _clamp(k){return k<0?0:k>255?255:k|0}}e.RGBA8=L,L.Empty=new L(0,0,0,0)}),define(te[22],ie([1,0,11,3]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Selection=void 0;class k extends m.Range{constructor(w,b,C,u){super(w,b,C,u);this.selectionStartLineNumber=w,this.selectionStartColumn=b,this.positionLineNumber=C,this.positionColumn=u}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(w){return k.selectionsEqual(this,w)}static selectionsEqual(w,b){return w.selectionStartLineNumber===b.selectionStartLineNumber&&w.selectionStartColumn===b.selectionStartColumn&&w.positionLineNumber===b.positionLineNumber&&w.positionColumn===b.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(w,b){return this.getDirection()===0?new k(this.startLineNumber,this.startColumn,w,b):new k(w,b,this.startLineNumber,this.startColumn)}getPosition(){return new L.Position(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new L.Position(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(w,b){return this.getDirection()===0?new k(w,b,this.endLineNumber,this.endColumn):new k(this.endLineNumber,this.endColumn,w,b)}static fromPositions(w,b=w){return new k(w.lineNumber,w.column,b.lineNumber,b.column)}static fromRange(w,b){return b===0?new k(w.startLineNumber,w.startColumn,w.endLineNumber,w.endColumn):new k(w.endLineNumber,w.endColumn,w.startLineNumber,w.startColumn)}static liftSelection(w){return new k(w.selectionStartLineNumber,w.selectionStartColumn,w.positionLineNumber,w.positionColumn)}static selectionsArrEqual(w,b){if(w&&!b||!w&&b)return!1;if(!w&&!b)return!0;if(w.length!==b.length)return!1;for(let C=0,u=w.length;C<u;C++)if(!this.selectionsEqual(w[C],b[C]))return!1;return!0}static isISelection(w){return w&&typeof w.selectionStartLineNumber=="number"&&typeof w.selectionStartColumn=="number"&&typeof w.positionLineNumber=="number"&&typeof w.positionColumn=="number"}static createWithDirection(w,b,C,u,g){return g===0?new k(w,b,C,u):new k(C,u,w,b)}}e.Selection=k}),define(te[178],ie([1,0,34,7,44,10,4,2,138,8,237,22]),function(q,e,L,m,k,I,w,b,C,u,g,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TextAreaWrapper=e.TextAreaInput=e.InMemoryClipboardMetadataManager=e.CopyOptions=e.TextAreaSyntethicEvents=void 0;var n;(function(s){s.Tap="-monaco-textarea-synthetic-tap"})(n=e.TextAreaSyntethicEvents||(e.TextAreaSyntethicEvents={})),e.CopyOptions={forceCopyWithSyntaxHighlighting:!1};class i{constructor(){this._lastState=null}set(a,l){this._lastState={lastCopiedValue:a,data:l}}get(a){return this._lastState&&this._lastState.lastCopiedValue===a?this._lastState.data:(this._lastState=null,null)}}e.InMemoryClipboardMetadataManager=i,i.INSTANCE=new i;class o{constructor(){this._lastTypeTextLength=0}handleCompositionUpdate(a){a=a||"";const l={text:a,replacePrevCharCnt:this._lastTypeTextLength,replaceNextCharCnt:0,positionDelta:0};return this._lastTypeTextLength=a.length,l}}class c extends b.Disposable{constructor(a,l,h,f){super();this._host=a,this._textArea=l,this._OS=h,this._browser=f,this._onFocus=this._register(new w.Emitter),this.onFocus=this._onFocus.event,this._onBlur=this._register(new w.Emitter),this.onBlur=this._onBlur.event,this._onKeyDown=this._register(new w.Emitter),this.onKeyDown=this._onKeyDown.event,this._onKeyUp=this._register(new w.Emitter),this.onKeyUp=this._onKeyUp.event,this._onCut=this._register(new w.Emitter),this.onCut=this._onCut.event,this._onPaste=this._register(new w.Emitter),this.onPaste=this._onPaste.event,this._onType=this._register(new w.Emitter),this.onType=this._onType.event,this._onCompositionStart=this._register(new w.Emitter),this.onCompositionStart=this._onCompositionStart.event,this._onCompositionUpdate=this._register(new w.Emitter),this.onCompositionUpdate=this._onCompositionUpdate.event,this._onCompositionEnd=this._register(new w.Emitter),this.onCompositionEnd=this._onCompositionEnd.event,this._onSelectionChangeRequest=this._register(new w.Emitter),this.onSelectionChangeRequest=this._onSelectionChangeRequest.event,this._asyncTriggerCut=this._register(new I.RunOnceScheduler(()=>this._onCut.fire(),0)),this._asyncFocusGainWriteScreenReaderContent=this._register(new I.RunOnceScheduler(()=>this.writeScreenReaderContent("asyncFocusGain"),0)),this._textAreaState=g.TextAreaState.EMPTY,this._selectionChangeListener=null,this.writeScreenReaderContent("ctor"),this._hasFocus=!1,this._currentComposition=null;let S=null;this._register(this._textArea.onKeyDown(v=>{const p=new k.StandardKeyboardEvent(v);(p.keyCode===109||this._currentComposition&&p.keyCode===1)&&p.stopPropagation(),p.equals(9)&&p.preventDefault(),S=p,this._onKeyDown.fire(p)})),this._register(this._textArea.onKeyUp(v=>{const p=new k.StandardKeyboardEvent(v);this._onKeyUp.fire(p)})),this._register(this._textArea.onCompositionStart(v=>{g._debugComposition&&console.log("[compositionstart]",v);const p=new o;if(this._currentComposition){this._currentComposition=p;return}if(this._currentComposition=p,this._OS===2&&S&&S.equals(109)&&this._textAreaState.selectionStart===this._textAreaState.selectionEnd&&this._textAreaState.selectionStart>0&&this._textAreaState.value.substr(this._textAreaState.selectionStart-1,1)===v.data&&(S.code==="ArrowRight"||S.code==="ArrowLeft")){g._debugComposition&&console.log("[compositionstart] Handling long press case on macOS + arrow key",v),p.handleCompositionUpdate("x"),this._onCompositionStart.fire({data:v.data});return}if(this._browser.isAndroid){this._onCompositionStart.fire({data:v.data});return}this._onCompositionStart.fire({data:v.data})})),this._register(this._textArea.onCompositionUpdate(v=>{g._debugComposition&&console.log("[compositionupdate]",v);const p=this._currentComposition;if(!p)return;if(this._browser.isAndroid){const y=g.TextAreaState.readFromTextArea(this._textArea),E=g.TextAreaState.deduceAndroidCompositionInput(this._textAreaState,y);this._textAreaState=y,this._onType.fire(E),this._onCompositionUpdate.fire(v);return}const _=p.handleCompositionUpdate(v.data);this._textAreaState=g.TextAreaState.readFromTextArea(this._textArea),this._onType.fire(_),this._onCompositionUpdate.fire(v)})),this._register(this._textArea.onCompositionEnd(v=>{g._debugComposition&&console.log("[compositionend]",v);const p=this._currentComposition;if(!p)return;if(this._currentComposition=null,this._browser.isAndroid){const y=g.TextAreaState.readFromTextArea(this._textArea),E=g.TextAreaState.deduceAndroidCompositionInput(this._textAreaState,y);this._textAreaState=y,this._onType.fire(E),this._onCompositionEnd.fire();return}const _=p.handleCompositionUpdate(v.data);this._textAreaState=g.TextAreaState.readFromTextArea(this._textArea),this._onType.fire(_),this._onCompositionEnd.fire()})),this._register(this._textArea.onInput(v=>{if(g._debugComposition&&console.log("[input]",v),this._textArea.setIgnoreSelectionChangeTime("received input event"),this._currentComposition)return;const p=g.TextAreaState.readFromTextArea(this._textArea),_=g.TextAreaState.deduceInput(this._textAreaState,p,this._OS===2);_.replacePrevCharCnt===0&&_.text.length===1&&u.isHighSurrogate(_.text.charCodeAt(0))||(this._textAreaState=p,(_.text!==""||_.replacePrevCharCnt!==0||_.replaceNextCharCnt!==0||_.positionDelta!==0)&&this._onType.fire(_))})),this._register(this._textArea.onCut(v=>{this._textArea.setIgnoreSelectionChangeTime("received cut event"),this._ensureClipboardGetsEditorSelection(v),this._asyncTriggerCut.schedule()})),this._register(this._textArea.onCopy(v=>{this._ensureClipboardGetsEditorSelection(v)})),this._register(this._textArea.onPaste(v=>{if(this._textArea.setIgnoreSelectionChangeTime("received paste event"),v.preventDefault(),!v.clipboardData)return;let[p,_]=d.getTextData(v.clipboardData);!p||(_=_||i.INSTANCE.get(p),this._onPaste.fire({text:p,metadata:_}))})),this._register(this._textArea.onFocus(()=>{const v=this._hasFocus;this._setHasFocus(!0),this._browser.isSafari&&!v&&this._hasFocus&&this._asyncFocusGainWriteScreenReaderContent.schedule()})),this._register(this._textArea.onBlur(()=>{this._currentComposition&&(this._currentComposition=null,this.writeScreenReaderContent("blurWithoutCompositionEnd"),this._onCompositionEnd.fire()),this._setHasFocus(!1)})),this._register(this._textArea.onSyntheticTap(()=>{this._browser.isAndroid&&this._currentComposition&&(this._currentComposition=null,this.writeScreenReaderContent("tapWithoutCompositionEnd"),this._onCompositionEnd.fire())}))}_installSelectionChangeListener(){let a=0;return m.addDisposableListener(document,"selectionchange",l=>{if(!this._hasFocus||this._currentComposition||!this._browser.isChrome)return;const h=Date.now(),f=h-a;if(a=h,f<5)return;const S=h-this._textArea.getIgnoreSelectionChangeTime();if(this._textArea.resetSelectionChangeTime(),S<100||!this._textAreaState.selectionStartPosition||!this._textAreaState.selectionEndPosition)return;const v=this._textArea.getValue();if(this._textAreaState.value!==v)return;const p=this._textArea.getSelectionStart(),_=this._textArea.getSelectionEnd();if(this._textAreaState.selectionStart===p&&this._textAreaState.selectionEnd===_)return;const y=this._textAreaState.deduceEditorPosition(p),E=this._host.deduceModelPosition(y[0],y[1],y[2]),N=this._textAreaState.deduceEditorPosition(_),D=this._host.deduceModelPosition(N[0],N[1],N[2]),M=new t.Selection(E.lineNumber,E.column,D.lineNumber,D.column);this._onSelectionChangeRequest.fire(M)})}dispose(){super.dispose(),this._selectionChangeListener&&(this._selectionChangeListener.dispose(),this._selectionChangeListener=null)}focusTextArea(){this._setHasFocus(!0),this.refreshFocusState()}isFocused(){return this._hasFocus}refreshFocusState(){this._setHasFocus(this._textArea.hasFocus())}_setHasFocus(a){this._hasFocus!==a&&(this._hasFocus=a,this._selectionChangeListener&&(this._selectionChangeListener.dispose(),this._selectionChangeListener=null),this._hasFocus&&(this._selectionChangeListener=this._installSelectionChangeListener()),this._hasFocus&&this.writeScreenReaderContent("focusgain"),this._hasFocus?this._onFocus.fire():this._onBlur.fire())}_setAndWriteTextAreaState(a,l){this._hasFocus||(l=l.collapseSelection()),l.writeToTextArea(a,this._textArea,this._hasFocus),this._textAreaState=l}writeScreenReaderContent(a){this._currentComposition||this._setAndWriteTextAreaState(a,this._host.getScreenReaderContent(this._textAreaState))}_ensureClipboardGetsEditorSelection(a){const l=this._host.getDataToCopy(),h={version:1,isFromEmptySelection:l.isFromEmptySelection,multicursorText:l.multicursorText,mode:l.mode};i.INSTANCE.set(this._browser.isFirefox?l.text.replace(/\r\n/g,`
+`):l.text,h),a.preventDefault(),a.clipboardData&&d.setTextData(a.clipboardData,l.text,l.html,h)}}e.TextAreaInput=c;class d{static getTextData(a){const l=a.getData(C.Mimes.text);let h=null;const f=a.getData("vscode-editor-data");if(typeof f=="string")try{h=JSON.parse(f),h.version!==1&&(h=null)}catch{}return[l,h]}static setTextData(a,l,h,f){a.setData(C.Mimes.text,l),typeof h=="string"&&a.setData("text/html",h),a.setData("vscode-editor-data",JSON.stringify(f))}}class r extends b.Disposable{constructor(a){super();this._actual=a,this.onKeyDown=this._register(m.createEventEmitter(this._actual,"keydown")).event,this.onKeyUp=this._register(m.createEventEmitter(this._actual,"keyup")).event,this.onCompositionStart=this._register(m.createEventEmitter(this._actual,"compositionstart")).event,this.onCompositionUpdate=this._register(m.createEventEmitter(this._actual,"compositionupdate")).event,this.onCompositionEnd=this._register(m.createEventEmitter(this._actual,"compositionend")).event,this.onInput=this._register(m.createEventEmitter(this._actual,"input")).event,this.onCut=this._register(m.createEventEmitter(this._actual,"cut")).event,this.onCopy=this._register(m.createEventEmitter(this._actual,"copy")).event,this.onPaste=this._register(m.createEventEmitter(this._actual,"paste")).event,this.onFocus=this._register(m.createEventEmitter(this._actual,"focus")).event,this.onBlur=this._register(m.createEventEmitter(this._actual,"blur")).event,this._onSyntheticTap=this._register(new w.Emitter),this.onSyntheticTap=this._onSyntheticTap.event,this._ignoreSelectionChangeTime=0,this._register(m.addDisposableListener(this._actual,n.Tap,()=>this._onSyntheticTap.fire()))}hasFocus(){const a=m.getShadowRoot(this._actual);return a?a.activeElement===this._actual:m.isInDOM(this._actual)?document.activeElement===this._actual:!1}setIgnoreSelectionChangeTime(a){this._ignoreSelectionChangeTime=Date.now()}getIgnoreSelectionChangeTime(){return this._ignoreSelectionChangeTime}resetSelectionChangeTime(){this._ignoreSelectionChangeTime=0}getValue(){return this._actual.value}setValue(a,l){const h=this._actual;h.value!==l&&(this.setIgnoreSelectionChangeTime("setValue"),h.value=l)}getSelectionStart(){return this._actual.selectionDirection==="backward"?this._actual.selectionEnd:this._actual.selectionStart}getSelectionEnd(){return this._actual.selectionDirection==="backward"?this._actual.selectionStart:this._actual.selectionEnd}setSelectionRange(a,l,h){const f=this._actual;let S=null;const v=m.getShadowRoot(f);v?S=v.activeElement:S=document.activeElement;const p=S===f,_=f.selectionStart,y=f.selectionEnd;if(p&&_===l&&y===h){L.isFirefox&&window.parent!==window&&f.focus();return}if(p){this.setIgnoreSelectionChangeTime("setSelectionRange"),f.setSelectionRange(l,h),L.isFirefox&&window.parent!==window&&f.focus();return}try{const E=m.saveParentsScrollTop(f);this.setIgnoreSelectionChangeTime("setSelectionRange"),f.focus(),f.setSelectionRange(l,h),m.restoreParentsScrollTop(f,E)}catch{}}}e.TextAreaWrapper=r}),define(te[100],ie([1,0,22]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ReplaceCommandThatPreservesSelection=e.ReplaceCommandWithOffsetCursorState=e.ReplaceCommandWithoutChangingPosition=e.ReplaceCommandThatSelectsText=e.ReplaceCommand=void 0;class m{constructor(u,g,t=!1){this._range=u,this._text=g,this.insertsAutoWhitespace=t}getEditOperations(u,g){g.addTrackedEditOperation(this._range,this._text)}computeCursorState(u,g){const n=g.getInverseEditOperations()[0].range;return L.Selection.fromPositions(n.getEndPosition())}}e.ReplaceCommand=m;class k{constructor(u,g){this._range=u,this._text=g}getEditOperations(u,g){g.addTrackedEditOperation(this._range,this._text)}computeCursorState(u,g){const n=g.getInverseEditOperations()[0].range;return L.Selection.fromRange(n,0)}}e.ReplaceCommandThatSelectsText=k;class I{constructor(u,g,t=!1){this._range=u,this._text=g,this.insertsAutoWhitespace=t}getEditOperations(u,g){g.addTrackedEditOperation(this._range,this._text)}computeCursorState(u,g){const n=g.getInverseEditOperations()[0].range;return L.Selection.fromPositions(n.getStartPosition())}}e.ReplaceCommandWithoutChangingPosition=I;class w{constructor(u,g,t,n,i=!1){this._range=u,this._text=g,this._columnDeltaOffset=n,this._lineNumberDeltaOffset=t,this.insertsAutoWhitespace=i}getEditOperations(u,g){g.addTrackedEditOperation(this._range,this._text)}computeCursorState(u,g){const n=g.getInverseEditOperations()[0].range;return L.Selection.fromPositions(n.getEndPosition().delta(this._lineNumberDeltaOffset,this._columnDeltaOffset))}}e.ReplaceCommandWithOffsetCursorState=w;class b{constructor(u,g,t,n=!1){this._range=u,this._text=g,this._initialSelection=t,this._forceMoveMarkers=n,this._selectionId=null}getEditOperations(u,g){g.addTrackedEditOperation(this._range,this._text,this._forceMoveMarkers),this._selectionId=g.trackSelection(this._initialSelection)}computeCursorState(u,g){return g.getTrackedSelection(this._selectionId)}}e.ReplaceCommandThatPreservesSelection=b}),define(te[406],ie([1,0,3,22]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SurroundSelectionCommand=void 0;class k{constructor(w,b,C){this._range=w,this._charBeforeSelection=b,this._charAfterSelection=C}getEditOperations(w,b){b.addTrackedEditOperation(new L.Range(this._range.startLineNumber,this._range.startColumn,this._range.startLineNumber,this._range.startColumn),this._charBeforeSelection),b.addTrackedEditOperation(new L.Range(this._range.endLineNumber,this._range.endColumn,this._range.endLineNumber,this._range.endColumn),this._charAfterSelection)}computeCursorState(w,b){const C=b.getInverseEditOperations(),u=C[0].range,g=C[1].range;return new m.Selection(u.endLineNumber,u.endColumn,g.endLineNumber,g.endColumn-this._charAfterSelection.length)}}e.SurroundSelectionCommand=k}),define(te[93],ie([1,0,8,16,112]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.decodeUTF16LE=e.createStringBuilder=e.hasTextDecoder=e.getPlatformTextDecoder=void 0;let I;function w(){return I||(I=new TextDecoder("UTF-16LE")),I}let b;function C(){return b||(b=new TextDecoder("UTF-16BE")),b}let u;function g(){return u||(u=m.isLittleEndian()?w():C()),u}e.getPlatformTextDecoder=g,e.hasTextDecoder=typeof TextDecoder!="undefined",e.hasTextDecoder?(e.createStringBuilder=c=>new i(c),e.decodeUTF16LE=t):(e.createStringBuilder=c=>new o,e.decodeUTF16LE=n);function t(c,d,r){const s=new Uint16Array(c.buffer,d,r);return r>0&&(s[0]===65279||s[0]===65534)?n(c,d,r):w().decode(s)}function n(c,d,r){const s=[];let a=0;for(let l=0;l<r;l++){const h=k.readUInt16LE(c,d);d+=2,s[a++]=String.fromCharCode(h)}return s.join("")}class i{constructor(d){this._capacity=d|0,this._buffer=new Uint16Array(this._capacity),this._completedStrings=null,this._bufferLength=0}reset(){this._completedStrings=null,this._bufferLength=0}build(){return this._completedStrings!==null?(this._flushBuffer(),this._completedStrings.join("")):this._buildBuffer()}_buildBuffer(){if(this._bufferLength===0)return"";const d=new Uint16Array(this._buffer.buffer,0,this._bufferLength);return g().decode(d)}_flushBuffer(){const d=this._buildBuffer();this._bufferLength=0,this._completedStrings===null?this._completedStrings=[d]:this._completedStrings[this._completedStrings.length]=d}write1(d){const r=this._capacity-this._bufferLength;r<=1&&(r===0||L.isHighSurrogate(d))&&this._flushBuffer(),this._buffer[this._bufferLength++]=d}appendASCII(d){this._bufferLength===this._capacity&&this._flushBuffer(),this._buffer[this._bufferLength++]=d}appendASCIIString(d){const r=d.length;if(this._bufferLength+r>=this._capacity){this._flushBuffer(),this._completedStrings[this._completedStrings.length]=d;return}for(let s=0;s<r;s++)this._buffer[this._bufferLength++]=d.charCodeAt(s)}}class o{constructor(){this._pieces=[],this._piecesLen=0}reset(){this._pieces=[],this._piecesLen=0}build(){return this._pieces.join("")}write1(d){this._pieces[this._piecesLen++]=String.fromCharCode(d)}appendASCII(d){this._pieces[this._piecesLen++]=String.fromCharCode(d)}appendASCIIString(d){this._pieces[this._piecesLen++]=d}}}),define(te[179],ie([1,0,31,93]),function(q,e,L,m){"use strict";var k;Object.defineProperty(e,"__esModule",{value:!0}),e.VisibleLinesCollection=e.RenderedLinesCollection=void 0;class I{constructor(u){this._createLine=u,this._set(1,[])}flush(){this._set(1,[])}_set(u,g){this._lines=g,this._rendLineNumberStart=u}_get(){return{rendLineNumberStart:this._rendLineNumberStart,lines:this._lines}}getStartLineNumber(){return this._rendLineNumberStart}getEndLineNumber(){return this._rendLineNumberStart+this._lines.length-1}getCount(){return this._lines.length}getLine(u){const g=u-this._rendLineNumberStart;if(g<0||g>=this._lines.length)throw new Error("Illegal value for lineNumber");return this._lines[g]}onLinesDeleted(u,g){if(this.getCount()===0)return null;const t=this.getStartLineNumber(),n=this.getEndLineNumber();if(g<t){const d=g-u+1;return this._rendLineNumberStart-=d,null}if(u>n)return null;let i=0,o=0;for(let d=t;d<=n;d++){const r=d-this._rendLineNumberStart;u<=d&&d<=g&&(o===0?(i=r,o=1):o++)}if(u<t){let d=0;g<t?d=g-u+1:d=t-u,this._rendLineNumberStart-=d}return this._lines.splice(i,o)}onLinesChanged(u,g){if(this.getCount()===0)return!1;const t=this.getStartLineNumber(),n=this.getEndLineNumber();let i=!1;for(let o=u;o<=g;o++)o>=t&&o<=n&&(this._lines[o-this._rendLineNumberStart].onContentChanged(),i=!0);return i}onLinesInserted(u,g){if(this.getCount()===0)return null;const t=g-u+1,n=this.getStartLineNumber(),i=this.getEndLineNumber();if(u<=n)return this._rendLineNumberStart+=t,null;if(u>i)return null;if(t+u>i)return this._lines.splice(u-this._rendLineNumberStart,i-u+1);const o=[];for(let a=0;a<t;a++)o[a]=this._createLine();const c=u-this._rendLineNumberStart,d=this._lines.slice(0,c),r=this._lines.slice(c,this._lines.length-t),s=this._lines.slice(this._lines.length-t,this._lines.length);return this._lines=d.concat(o).concat(r),s}onTokensChanged(u){if(this.getCount()===0)return!1;const g=this.getStartLineNumber(),t=this.getEndLineNumber();let n=!1;for(let i=0,o=u.length;i<o;i++){const c=u[i];if(c.toLineNumber<g||c.fromLineNumber>t)continue;const d=Math.max(g,c.fromLineNumber),r=Math.min(t,c.toLineNumber);for(let s=d;s<=r;s++){const a=s-this._rendLineNumberStart;this._lines[a].onTokensChanged(),n=!0}}return n}}e.RenderedLinesCollection=I;class w{constructor(u){this._host=u,this.domNode=this._createDomNode(),this._linesCollection=new I(()=>this._host.createVisibleLine())}_createDomNode(){const u=(0,L.createFastDomNode)(document.createElement("div"));return u.setClassName("view-layer"),u.setPosition("absolute"),u.domNode.setAttribute("role","presentation"),u.domNode.setAttribute("aria-hidden","true"),u}onConfigurationChanged(u){return!!u.hasChanged(131)}onFlushed(u){return this._linesCollection.flush(),!0}onLinesChanged(u){return this._linesCollection.onLinesChanged(u.fromLineNumber,u.toLineNumber)}onLinesDeleted(u){const g=this._linesCollection.onLinesDeleted(u.fromLineNumber,u.toLineNumber);if(g)for(let t=0,n=g.length;t<n;t++){const i=g[t].getDomNode();i&&this.domNode.domNode.removeChild(i)}return!0}onLinesInserted(u){const g=this._linesCollection.onLinesInserted(u.fromLineNumber,u.toLineNumber);if(g)for(let t=0,n=g.length;t<n;t++){const i=g[t].getDomNode();i&&this.domNode.domNode.removeChild(i)}return!0}onScrollChanged(u){return u.scrollTopChanged}onTokensChanged(u){return this._linesCollection.onTokensChanged(u.ranges)}onZonesChanged(u){return!0}getStartLineNumber(){return this._linesCollection.getStartLineNumber()}getEndLineNumber(){return this._linesCollection.getEndLineNumber()}getVisibleLine(u){return this._linesCollection.getLine(u)}renderLines(u){const g=this._linesCollection._get(),t=new b(this.domNode.domNode,this._host,u),n={rendLineNumberStart:g.rendLineNumberStart,lines:g.lines,linesLength:g.lines.length},i=t.render(n,u.startLineNumber,u.endLineNumber,u.relativeVerticalOffset);this._linesCollection._set(i.rendLineNumberStart,i.lines)}}e.VisibleLinesCollection=w;class b{constructor(u,g,t){this.domNode=u,this.host=g,this.viewportData=t}render(u,g,t,n){const i={rendLineNumberStart:u.rendLineNumberStart,lines:u.lines.slice(0),linesLength:u.linesLength};if(i.rendLineNumberStart+i.linesLength-1<g||t<i.rendLineNumberStart){i.rendLineNumberStart=g,i.linesLength=t-g+1,i.lines=[];for(let o=g;o<=t;o++)i.lines[o-g]=this.host.createVisibleLine();return this._finishRendering(i,!0,n),i}if(this._renderUntouchedLines(i,Math.max(g-i.rendLineNumberStart,0),Math.min(t-i.rendLineNumberStart,i.linesLength-1),n,g),i.rendLineNumberStart>g){const o=g,c=Math.min(t,i.rendLineNumberStart-1);o<=c&&(this._insertLinesBefore(i,o,c,n,g),i.linesLength+=c-o+1)}else if(i.rendLineNumberStart<g){const o=Math.min(i.linesLength,g-i.rendLineNumberStart);o>0&&(this._removeLinesBefore(i,o),i.linesLength-=o)}if(i.rendLineNumberStart=g,i.rendLineNumberStart+i.linesLength-1<t){const o=i.rendLineNumberStart+i.linesLength,c=t;o<=c&&(this._insertLinesAfter(i,o,c,n,g),i.linesLength+=c-o+1)}else if(i.rendLineNumberStart+i.linesLength-1>t){const o=Math.max(0,t-i.rendLineNumberStart+1),d=i.linesLength-1-o+1;d>0&&(this._removeLinesAfter(i,d),i.linesLength-=d)}return this._finishRendering(i,!1,n),i}_renderUntouchedLines(u,g,t,n,i){const o=u.rendLineNumberStart,c=u.lines;for(let d=g;d<=t;d++){const r=o+d;c[d].layoutLine(r,n[r-i])}}_insertLinesBefore(u,g,t,n,i){const o=[];let c=0;for(let d=g;d<=t;d++)o[c++]=this.host.createVisibleLine();u.lines=o.concat(u.lines)}_removeLinesBefore(u,g){for(let t=0;t<g;t++){const n=u.lines[t].getDomNode();n&&this.domNode.removeChild(n)}u.lines.splice(0,g)}_insertLinesAfter(u,g,t,n,i){const o=[];let c=0;for(let d=g;d<=t;d++)o[c++]=this.host.createVisibleLine();u.lines=u.lines.concat(o)}_removeLinesAfter(u,g){const t=u.linesLength-g;for(let n=0;n<g;n++){const i=u.lines[t+n].getDomNode();i&&this.domNode.removeChild(i)}u.lines.splice(t,g)}_finishRenderingNewLines(u,g,t,n){b._ttPolicy&&(t=b._ttPolicy.createHTML(t));const i=this.domNode.lastChild;g||!i?this.domNode.innerHTML=t:i.insertAdjacentHTML("afterend",t);let o=this.domNode.lastChild;for(let c=u.linesLength-1;c>=0;c--){const d=u.lines[c];n[c]&&(d.setDomNode(o),o=o.previousSibling)}}_finishRenderingInvalidLines(u,g,t){const n=document.createElement("div");b._ttPolicy&&(g=b._ttPolicy.createHTML(g)),n.innerHTML=g;for(let i=0;i<u.linesLength;i++){const o=u.lines[i];if(t[i]){const c=n.firstChild,d=o.getDomNode();d.parentNode.replaceChild(c,d),o.setDomNode(c)}}}_finishRendering(u,g,t){const n=b._sb,i=u.linesLength,o=u.lines,c=u.rendLineNumberStart,d=[];{n.reset();let r=!1;for(let s=0;s<i;s++){const a=o[s];d[s]=!1,!(a.getDomNode()||!a.renderLine(s+c,t[s],this.viewportData,n))&&(d[s]=!0,r=!0)}r&&this._finishRenderingNewLines(u,g,n.build(),d)}{n.reset();let r=!1;const s=[];for(let a=0;a<i;a++){const l=o[a];s[a]=!1,!(d[a]||!l.renderLine(a+c,t[a],this.viewportData,n))&&(s[a]=!0,r=!0)}r&&this._finishRenderingInvalidLines(u,n.build(),s)}}}b._ttPolicy=(k=window.trustedTypes)===null||k===void 0?void 0:k.createPolicy("editorViewLayer",{createHTML:C=>C}),b._sb=(0,m.createStringBuilder)(1e5)}),define(te[240],ie([1,0,112,93]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.compressConsecutiveTextChanges=e.TextChange=void 0;function k(C){return C.replace(/\n/g,"\\n").replace(/\r/g,"\\r")}class I{constructor(u,g,t,n){this.oldPosition=u,this.oldText=g,this.newPosition=t,this.newText=n}get oldLength(){return this.oldText.length}get oldEnd(){return this.oldPosition+this.oldText.length}get newLength(){return this.newText.length}get newEnd(){return this.newPosition+this.newText.length}toString(){return this.oldText.length===0?`(insert@${this.oldPosition} "${k(this.newText)}")`:this.newText.length===0?`(delete@${this.oldPosition} "${k(this.oldText)}")`:`(replace@${this.oldPosition} "${k(this.oldText)}" with "${k(this.newText)}")`}static _writeStringSize(u){return 4+2*u.length}static _writeString(u,g,t){const n=g.length;L.writeUInt32BE(u,n,t),t+=4;for(let i=0;i<n;i++)L.writeUInt16LE(u,g.charCodeAt(i),t),t+=2;return t}static _readString(u,g){const t=L.readUInt32BE(u,g);return g+=4,(0,m.decodeUTF16LE)(u,g,t)}writeSize(){return 4+4+I._writeStringSize(this.oldText)+I._writeStringSize(this.newText)}write(u,g){return L.writeUInt32BE(u,this.oldPosition,g),g+=4,L.writeUInt32BE(u,this.newPosition,g),g+=4,g=I._writeString(u,this.oldText,g),g=I._writeString(u,this.newText,g),g}static read(u,g,t){const n=L.readUInt32BE(u,g);g+=4;const i=L.readUInt32BE(u,g);g+=4;const o=I._readString(u,g);g+=I._writeStringSize(o);const c=I._readString(u,g);return g+=I._writeStringSize(c),t.push(new I(n,o,i,c)),g}}e.TextChange=I;function w(C,u){return C===null||C.length===0?u:new b(C,u).compress()}e.compressConsecutiveTextChanges=w;class b{constructor(u,g){this._prevEdits=u,this._currEdits=g,this._result=[],this._resultLen=0,this._prevLen=this._prevEdits.length,this._prevDeltaOffset=0,this._currLen=this._currEdits.length,this._currDeltaOffset=0}compress(){let u=0,g=0,t=this._getPrev(u),n=this._getCurr(g);for(;u<this._prevLen||g<this._currLen;){if(t===null){this._acceptCurr(n),n=this._getCurr(++g);continue}if(n===null){this._acceptPrev(t),t=this._getPrev(++u);continue}if(n.oldEnd<=t.newPosition){this._acceptCurr(n),n=this._getCurr(++g);continue}if(t.newEnd<=n.oldPosition){this._acceptPrev(t),t=this._getPrev(++u);continue}if(n.oldPosition<t.newPosition){const[r,s]=b._splitCurr(n,t.newPosition-n.oldPosition);this._acceptCurr(r),n=s;continue}if(t.newPosition<n.oldPosition){const[r,s]=b._splitPrev(t,n.oldPosition-t.newPosition);this._acceptPrev(r),t=s;continue}let c,d;if(n.oldEnd===t.newEnd)c=t,d=n,t=this._getPrev(++u),n=this._getCurr(++g);else if(n.oldEnd<t.newEnd){const[r,s]=b._splitPrev(t,n.oldLength);c=r,d=n,t=s,n=this._getCurr(++g)}else{const[r,s]=b._splitCurr(n,t.newLength);c=t,d=r,t=this._getPrev(++u),n=s}this._result[this._resultLen++]=new I(c.oldPosition,c.oldText,d.newPosition,d.newText),this._prevDeltaOffset+=c.newLength-c.oldLength,this._currDeltaOffset+=d.newLength-d.oldLength}const i=b._merge(this._result);return b._removeNoOps(i)}_acceptCurr(u){this._result[this._resultLen++]=b._rebaseCurr(this._prevDeltaOffset,u),this._currDeltaOffset+=u.newLength-u.oldLength}_getCurr(u){return u<this._currLen?this._currEdits[u]:null}_acceptPrev(u){this._result[this._resultLen++]=b._rebasePrev(this._currDeltaOffset,u),this._prevDeltaOffset+=u.newLength-u.oldLength}_getPrev(u){return u<this._prevLen?this._prevEdits[u]:null}static _rebaseCurr(u,g){return new I(g.oldPosition-u,g.oldText,g.newPosition,g.newText)}static _rebasePrev(u,g){return new I(g.oldPosition,g.oldText,g.newPosition+u,g.newText)}static _splitPrev(u,g){const t=u.newText.substr(0,g),n=u.newText.substr(g);return[new I(u.oldPosition,u.oldText,u.newPosition,t),new I(u.oldEnd,"",u.newPosition+g,n)]}static _splitCurr(u,g){const t=u.oldText.substr(0,g),n=u.oldText.substr(g);return[new I(u.oldPosition,t,u.newPosition,u.newText),new I(u.oldPosition+g,n,u.newEnd,"")]}static _merge(u){if(u.length===0)return u;const g=[];let t=0,n=u[0];for(let i=1;i<u.length;i++){const o=u[i];n.oldEnd===o.oldPosition?n=new I(n.oldPosition,n.oldText+o.oldText,n.newPosition,n.newText+o.newText):(g[t++]=n,n=o)}return g[t++]=n,g}static _removeNoOps(u){if(u.length===0)return u;const g=[];let t=0;for(let n=0;n<u.length;n++){const i=u[n];i.oldText!==i.newText&&(g[t++]=i)}return g}}}),define(te[148],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EDITOR_MODEL_DEFAULTS=void 0,e.EDITOR_MODEL_DEFAULTS={tabSize:4,indentSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0,bracketPairColorizationOptions:{enabled:!1}}}),define(te[120],ie([1,0,99]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getMapForWordSeparators=e.WordCharacterClassifier=void 0;class m extends L.CharacterClassifier{constructor(w){super(0);for(let b=0,C=w.length;b<C;b++)this.set(w.charCodeAt(b),2);this.set(32,1),this.set(9,1)}}e.WordCharacterClassifier=m;function k(I){const w={};return b=>(w.hasOwnProperty(b)||(w[b]=I(b)),w[b])}e.getMapForWordSeparators=k(I=>new m(I))}),define(te[121],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getWordAtText=e.ensureValidWordDefinition=e.DEFAULT_WORD_REGEXP=e.USUAL_WORD_SEPARATORS=void 0,e.USUAL_WORD_SEPARATORS="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?";function L(b=""){let C="(-?\\d*\\.\\d\\w*)|([^";for(const u of e.USUAL_WORD_SEPARATORS)b.indexOf(u)>=0||(C+="\\"+u);return C+="\\s]+)",new RegExp(C,"g")}e.DEFAULT_WORD_REGEXP=L();function m(b){let C=e.DEFAULT_WORD_REGEXP;if(b&&b instanceof RegExp)if(b.global)C=b;else{let u="g";b.ignoreCase&&(u+="i"),b.multiline&&(u+="m"),b.unicode&&(u+="u"),C=new RegExp(b.source,u)}return C.lastIndex=0,C}e.ensureValidWordDefinition=m;const k={maxLen:1e3,windowSize:15,timeBudget:150};function I(b,C,u,g,t=k){if(u.length>t.maxLen){let d=b-t.maxLen/2;return d<0?d=0:g+=d,u=u.substring(d,b+t.maxLen/2),I(b,C,u,g,t)}const n=Date.now(),i=b-1-g;let o=-1,c=null;for(let d=1;!(Date.now()-n>=t.timeBudget);d++){const r=i-t.windowSize*d;C.lastIndex=Math.max(0,r);const s=w(C,u,i,o);if(!s&&c||(c=s,r<=0))break;o=r}if(c){const d={word:c[0],startColumn:g+1+c.index,endColumn:g+1+c.index+c[0].length};return C.lastIndex=0,d}return null}e.getWordAtText=I;function w(b,C,u,g){let t;for(;t=b.exec(C);){const n=t.index||0;if(n<=u&&b.lastIndex>=u)return t;if(g>0&&n>g)return null}return null}}),define(te[241],ie([1,0,70]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AtomicTabMoveOperations=void 0;class m{static whitespaceVisibleColumn(I,w,b){const C=I.length;let u=0,g=-1,t=-1;for(let n=0;n<C;n++){if(n===w)return[g,t,u];switch(u%b==0&&(g=n,t=u),I.charCodeAt(n)){case 32:u+=1;break;case 9:u=L.CursorColumns.nextRenderTabStop(u,b);break;default:return[-1,-1,-1]}}return w===C?[g,t,u]:[-1,-1,-1]}static atomicPosition(I,w,b,C){const u=I.length,[g,t,n]=m.whitespaceVisibleColumn(I,w,b);if(n===-1)return-1;let i;switch(C){case 0:i=!0;break;case 1:i=!1;break;case 2:if(n%b==0)return w;i=n%b<=b/2;break}if(i){if(g===-1)return-1;let d=t;for(let r=g;r<u;++r){if(d===t+b)return g;switch(I.charCodeAt(r)){case 32:d+=1;break;case 9:d=L.CursorColumns.nextRenderTabStop(d,b);break;default:return-1}}return d===t+b?g:-1}const o=L.CursorColumns.nextRenderTabStop(n,b);let c=n;for(let d=w;d<u;d++){if(c===o)return d;switch(I.charCodeAt(d)){case 32:c+=1;break;case 9:c=L.CursorColumns.nextRenderTabStop(c,b);break;default:return-1}}return c===o?u:-1}}e.AtomicTabMoveOperations=m}),define(te[407],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CursorContext=void 0;class L{constructor(k,I,w,b){this._cursorContextBrand=void 0,this.model=k,this.viewModel=I,this.coordinatesConverter=w,this.cursorConfig=b}}e.CursorContext=L}),define(te[408],ie([1,0,141,8]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DiffComputer=void 0;const k=3;function I(c,d,r,s){return new L.LcsDiff(c,d,r).ComputeDiff(s)}class w{constructor(d){const r=[],s=[];for(let a=0,l=d.length;a<l;a++)r[a]=n(d[a],1),s[a]=i(d[a],1);this.lines=d,this._startColumns=r,this._endColumns=s}getElements(){const d=[];for(let r=0,s=this.lines.length;r<s;r++)d[r]=this.lines[r].substring(this._startColumns[r]-1,this._endColumns[r]-1);return d}getStrictElement(d){return this.lines[d]}getStartLineNumber(d){return d+1}getEndLineNumber(d){return d+1}createCharSequence(d,r,s){const a=[],l=[],h=[];let f=0;for(let S=r;S<=s;S++){const v=this.lines[S],p=d?this._startColumns[S]:1,_=d?this._endColumns[S]:v.length+1;for(let y=p;y<_;y++)a[f]=v.charCodeAt(y-1),l[f]=S+1,h[f]=y,f++}return new b(a,l,h)}}class b{constructor(d,r,s){this._charCodes=d,this._lineNumbers=r,this._columns=s}getElements(){return this._charCodes}getStartLineNumber(d){return this._lineNumbers[d]}getStartColumn(d){return this._columns[d]}getEndLineNumber(d){return this._lineNumbers[d]}getEndColumn(d){return this._columns[d]+1}}class C{constructor(d,r,s,a,l,h,f,S){this.originalStartLineNumber=d,this.originalStartColumn=r,this.originalEndLineNumber=s,this.originalEndColumn=a,this.modifiedStartLineNumber=l,this.modifiedStartColumn=h,this.modifiedEndLineNumber=f,this.modifiedEndColumn=S}static createFromDiffChange(d,r,s){let a,l,h,f,S,v,p,_;return d.originalLength===0?(a=0,l=0,h=0,f=0):(a=r.getStartLineNumber(d.originalStart),l=r.getStartColumn(d.originalStart),h=r.getEndLineNumber(d.originalStart+d.originalLength-1),f=r.getEndColumn(d.originalStart+d.originalLength-1)),d.modifiedLength===0?(S=0,v=0,p=0,_=0):(S=s.getStartLineNumber(d.modifiedStart),v=s.getStartColumn(d.modifiedStart),p=s.getEndLineNumber(d.modifiedStart+d.modifiedLength-1),_=s.getEndColumn(d.modifiedStart+d.modifiedLength-1)),new C(a,l,h,f,S,v,p,_)}}function u(c){if(c.length<=1)return c;const d=[c[0]];let r=d[0];for(let s=1,a=c.length;s<a;s++){const l=c[s],h=l.originalStart-(r.originalStart+r.originalLength),f=l.modifiedStart-(r.modifiedStart+r.modifiedLength);Math.min(h,f)<k?(r.originalLength=l.originalStart+l.originalLength-r.originalStart,r.modifiedLength=l.modifiedStart+l.modifiedLength-r.modifiedStart):(d.push(l),r=l)}return d}class g{constructor(d,r,s,a,l){this.originalStartLineNumber=d,this.originalEndLineNumber=r,this.modifiedStartLineNumber=s,this.modifiedEndLineNumber=a,this.charChanges=l}static createFromDiffResult(d,r,s,a,l,h,f){let S,v,p,_,y;if(r.originalLength===0?(S=s.getStartLineNumber(r.originalStart)-1,v=0):(S=s.getStartLineNumber(r.originalStart),v=s.getEndLineNumber(r.originalStart+r.originalLength-1)),r.modifiedLength===0?(p=a.getStartLineNumber(r.modifiedStart)-1,_=0):(p=a.getStartLineNumber(r.modifiedStart),_=a.getEndLineNumber(r.modifiedStart+r.modifiedLength-1)),h&&r.originalLength>0&&r.originalLength<20&&r.modifiedLength>0&&r.modifiedLength<20&&l()){const E=s.createCharSequence(d,r.originalStart,r.originalStart+r.originalLength-1),N=a.createCharSequence(d,r.modifiedStart,r.modifiedStart+r.modifiedLength-1);let D=I(E,N,l,!0).changes;f&&(D=u(D)),y=[];for(let M=0,B=D.length;M<B;M++)y.push(C.createFromDiffChange(D[M],E,N))}return new g(S,v,p,_,y)}}class t{constructor(d,r,s){this.shouldComputeCharChanges=s.shouldComputeCharChanges,this.shouldPostProcessCharChanges=s.shouldPostProcessCharChanges,this.shouldIgnoreTrimWhitespace=s.shouldIgnoreTrimWhitespace,this.shouldMakePrettyDiff=s.shouldMakePrettyDiff,this.originalLines=d,this.modifiedLines=r,this.original=new w(d),this.modified=new w(r),this.continueLineDiff=o(s.maxComputationTime),this.continueCharDiff=o(s.maxComputationTime===0?0:Math.min(s.maxComputationTime,5e3))}computeDiff(){if(this.original.lines.length===1&&this.original.lines[0].length===0)return this.modified.lines.length===1&&this.modified.lines[0].length===0?{quitEarly:!1,changes:[]}:{quitEarly:!1,changes:[{originalStartLineNumber:1,originalEndLineNumber:1,modifiedStartLineNumber:1,modifiedEndLineNumber:this.modified.lines.length,charChanges:[{modifiedEndColumn:0,modifiedEndLineNumber:0,modifiedStartColumn:0,modifiedStartLineNumber:0,originalEndColumn:0,originalEndLineNumber:0,originalStartColumn:0,originalStartLineNumber:0}]}]};if(this.modified.lines.length===1&&this.modified.lines[0].length===0)return{quitEarly:!1,changes:[{originalStartLineNumber:1,originalEndLineNumber:this.original.lines.length,modifiedStartLineNumber:1,modifiedEndLineNumber:1,charChanges:[{modifiedEndColumn:0,modifiedEndLineNumber:0,modifiedStartColumn:0,modifiedStartLineNumber:0,originalEndColumn:0,originalEndLineNumber:0,originalStartColumn:0,originalStartLineNumber:0}]}]};const d=I(this.original,this.modified,this.continueLineDiff,this.shouldMakePrettyDiff),r=d.changes,s=d.quitEarly;if(this.shouldIgnoreTrimWhitespace){const f=[];for(let S=0,v=r.length;S<v;S++)f.push(g.createFromDiffResult(this.shouldIgnoreTrimWhitespace,r[S],this.original,this.modified,this.continueCharDiff,this.shouldComputeCharChanges,this.shouldPostProcessCharChanges));return{quitEarly:s,changes:f}}const a=[];let l=0,h=0;for(let f=-1,S=r.length;f<S;f++){const v=f+1<S?r[f+1]:null,p=v?v.originalStart:this.originalLines.length,_=v?v.modifiedStart:this.modifiedLines.length;for(;l<p&&h<_;){const y=this.originalLines[l],E=this.modifiedLines[h];if(y!==E){{let N=n(y,1),D=n(E,1);for(;N>1&&D>1;){const M=y.charCodeAt(N-2),B=E.charCodeAt(D-2);if(M!==B)break;N--,D--}(N>1||D>1)&&this._pushTrimWhitespaceCharChange(a,l+1,1,N,h+1,1,D)}{let N=i(y,1),D=i(E,1);const M=y.length+1,B=E.length+1;for(;N<M&&D<B;){const O=y.charCodeAt(N-1),T=y.charCodeAt(D-1);if(O!==T)break;N++,D++}(N<M||D<B)&&this._pushTrimWhitespaceCharChange(a,l+1,N,M,h+1,D,B)}}l++,h++}v&&(a.push(g.createFromDiffResult(this.shouldIgnoreTrimWhitespace,v,this.original,this.modified,this.continueCharDiff,this.shouldComputeCharChanges,this.shouldPostProcessCharChanges)),l+=v.originalLength,h+=v.modifiedLength)}return{quitEarly:s,changes:a}}_pushTrimWhitespaceCharChange(d,r,s,a,l,h,f){if(this._mergeTrimWhitespaceCharChange(d,r,s,a,l,h,f))return;let S;this.shouldComputeCharChanges&&(S=[new C(r,s,r,a,l,h,l,f)]),d.push(new g(r,r,l,l,S))}_mergeTrimWhitespaceCharChange(d,r,s,a,l,h,f){const S=d.length;if(S===0)return!1;const v=d[S-1];return v.originalEndLineNumber===0||v.modifiedEndLineNumber===0?!1:v.originalEndLineNumber+1===r&&v.modifiedEndLineNumber+1===l?(v.originalEndLineNumber=r,v.modifiedEndLineNumber=l,this.shouldComputeCharChanges&&v.charChanges&&v.charChanges.push(new C(r,s,r,a,l,h,l,f)),!0):!1}}e.DiffComputer=t;function n(c,d){const r=m.firstNonWhitespaceIndex(c);return r===-1?d:r+1}function i(c,d){const r=m.lastNonWhitespaceIndex(c);return r===-1?d:r+2}function o(c){if(c===0)return()=>!0;const d=Date.now();return()=>Date.now()-d<c}}),define(te[242],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InternalEditorAction=void 0;class L{constructor(k,I,w,b,C,u){this.id=k,this.label=I,this.alias=w,this._precondition=b,this._run=C,this._contextKeyService=u}isSupported(){return this._contextKeyService.contextMatchesRules(this._precondition)}run(){return this.isSupported()?this._run():Promise.resolve(void 0)}}e.InternalEditorAction=L}),define(te[149],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EditorType=void 0,e.EditorType={ICodeEditor:"vs.editor.ICodeEditor",IDiffEditor:"vs.editor.IDiffEditor"}}),define(te[150],ie([1,0,149]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getCodeEditor=e.isDiffEditor=e.isCodeEditor=void 0;function m(w){return w&&typeof w.getEditorType=="function"?w.getEditorType()===L.EditorType.ICodeEditor:!1}e.isCodeEditor=m;function k(w){return w&&typeof w.getEditorType=="function"?w.getEditorType()===L.EditorType.IDiffEditor:!1}e.isDiffEditor=k;function I(w){return m(w)?w:k(w)?w.getModifiedEditor():null}e.getCodeEditor=I}),define(te[409],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EditorTheme=void 0;class L{constructor(k){this._theme=k}get type(){return this._theme.type}get value(){return this._theme}update(k){this._theme=k}getColor(k){return this._theme.getColor(k)}}e.EditorTheme=L}),define(te[410],ie([1,0,218,84]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.score=void 0;function k(I,w,b,C,u){if(Array.isArray(I)){let g=0;for(const t of I){const n=k(t,w,b,C,u);if(n===10)return n;n>g&&(g=n)}return g}else{if(typeof I=="string")return C?I==="*"?5:I===b?10:0:0;if(I){const{language:g,pattern:t,scheme:n,hasAccessToAllModels:i,notebookType:o}=I;if(!C&&!i)return 0;let c=0;if(n)if(n===w.scheme)c=10;else if(n==="*")c=5;else return 0;if(g)if(g===b)c=10;else if(g==="*")c=Math.max(c,5);else return 0;if(o)if(o===u)c=10;else if(o==="*")c=Math.max(c,5);else return 0;if(t){let d;if(typeof t=="string"?d=t:d=Object.assign(Object.assign({},t),{base:(0,m.normalize)(t.base)}),d===w.fsPath||(0,L.match)(d,w.fsPath))c=10;else return 0}return c}else return 0}}e.score=k}),define(te[122],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AutoClosingPairs=e.StandardAutoClosingPairConditional=e.IndentAction=void 0;var L;(function(w){w[w.None=0]="None",w[w.Indent=1]="Indent",w[w.IndentOutdent=2]="IndentOutdent",w[w.Outdent=3]="Outdent"})(L=e.IndentAction||(e.IndentAction={}));class m{constructor(b){if(this._neutralCharacter=null,this._neutralCharacterSearched=!1,this.open=b.open,this.close=b.close,this._inString=!0,this._inComment=!0,this._inRegEx=!0,Array.isArray(b.notIn))for(let C=0,u=b.notIn.length;C<u;C++)switch(b.notIn[C]){case"string":this._inString=!1;break;case"comment":this._inComment=!1;break;case"regex":this._inRegEx=!1;break}}isOK(b){switch(b){case 0:return!0;case 1:return this._inComment;case 2:return this._inString;case 3:return this._inRegEx}}shouldAutoClose(b,C){if(b.getTokenCount()===0)return!0;const u=b.findTokenIndexAtOffset(C-2),g=b.getStandardTokenType(u);return this.isOK(g)}_findNeutralCharacterInRange(b,C){for(let u=b;u<=C;u++){const g=String.fromCharCode(u);if(!this.open.includes(g)&&!this.close.includes(g))return g}return null}findNeutralCharacter(){return this._neutralCharacterSearched||(this._neutralCharacterSearched=!0,this._neutralCharacter||(this._neutralCharacter=this._findNeutralCharacterInRange(48,57)),this._neutralCharacter||(this._neutralCharacter=this._findNeutralCharacterInRange(97,122)),this._neutralCharacter||(this._neutralCharacter=this._findNeutralCharacterInRange(65,90))),this._neutralCharacter}}e.StandardAutoClosingPairConditional=m;class k{constructor(b){this.autoClosingPairsOpenByStart=new Map,this.autoClosingPairsOpenByEnd=new Map,this.autoClosingPairsCloseByStart=new Map,this.autoClosingPairsCloseByEnd=new Map,this.autoClosingPairsCloseSingleChar=new Map;for(const C of b)I(this.autoClosingPairsOpenByStart,C.open.charAt(0),C),I(this.autoClosingPairsOpenByEnd,C.open.charAt(C.open.length-1),C),I(this.autoClosingPairsCloseByStart,C.close.charAt(0),C),I(this.autoClosingPairsCloseByEnd,C.close.charAt(C.close.length-1),C),C.close.length===1&&C.open.length===1&&I(this.autoClosingPairsCloseSingleChar,C.close,C)}}e.AutoClosingPairs=k;function I(w,b,C){w.has(b)?w.get(b).push(C):w.set(b,[C])}}),define(te[411],ie([1,0,99]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.computeLinks=e.LinkComputer=e.StateMachine=e.Uint8Matrix=void 0;class m{constructor(n,i,o){const c=new Uint8Array(n*i);for(let d=0,r=n*i;d<r;d++)c[d]=o;this._data=c,this.rows=n,this.cols=i}get(n,i){return this._data[n*this.cols+i]}set(n,i,o){this._data[n*this.cols+i]=o}}e.Uint8Matrix=m;class k{constructor(n){let i=0,o=0;for(let d=0,r=n.length;d<r;d++){const[s,a,l]=n[d];a>i&&(i=a),s>o&&(o=s),l>o&&(o=l)}i++,o++;const c=new m(o,i,0);for(let d=0,r=n.length;d<r;d++){const[s,a,l]=n[d];c.set(s,a,l)}this._states=c,this._maxCharCode=i}nextState(n,i){return i<0||i>=this._maxCharCode?0:this._states.get(n,i)}}e.StateMachine=k;let I=null;function w(){return I===null&&(I=new k([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),I}let b=null;function C(){if(b===null){b=new L.CharacterClassifier(0);const t=` 	<>'"\u3001\u3002\uFF61\uFF64\uFF0C\uFF0E\uFF1A\uFF1B\u2018\u3008\u300C\u300E\u3014\uFF08\uFF3B\uFF5B\uFF62\uFF63\uFF5D\uFF3D\uFF09\u3015\u300F\u300D\u3009\u2019\uFF40\uFF5E\u2026`;for(let i=0;i<t.length;i++)b.set(t.charCodeAt(i),1);const n=".,;";for(let i=0;i<n.length;i++)b.set(n.charCodeAt(i),2)}return b}class u{static _createLink(n,i,o,c,d){let r=d-1;do{const s=i.charCodeAt(r);if(n.get(s)!==2)break;r--}while(r>c);if(c>0){const s=i.charCodeAt(c-1),a=i.charCodeAt(r);(s===40&&a===41||s===91&&a===93||s===123&&a===125)&&r--}return{range:{startLineNumber:o,startColumn:c+1,endLineNumber:o,endColumn:r+2},url:i.substring(c,r+1)}}static computeLinks(n,i=w()){const o=C(),c=[];for(let d=1,r=n.getLineCount();d<=r;d++){const s=n.getLineContent(d),a=s.length;let l=0,h=0,f=0,S=1,v=!1,p=!1,_=!1,y=!1;for(;l<a;){let E=!1;const N=s.charCodeAt(l);if(S===13){let D;switch(N){case 40:v=!0,D=0;break;case 41:D=v?0:1;break;case 91:_=!0,p=!0,D=0;break;case 93:_=!1,D=p?0:1;break;case 123:y=!0,D=0;break;case 125:D=y?0:1;break;case 39:D=f===34||f===96?0:1;break;case 34:D=f===39||f===96?0:1;break;case 96:D=f===39||f===34?0:1;break;case 42:D=f===42?1:0;break;case 124:D=f===124?1:0;break;case 32:D=_?0:1;break;default:D=o.get(N)}D===1&&(c.push(u._createLink(o,s,d,h,l)),E=!0)}else if(S===12){let D;N===91?(p=!0,D=0):D=o.get(N),D===1?E=!0:S=13}else S=i.nextState(S,N),S===0&&(E=!0);E&&(S=1,v=!1,p=!1,y=!1,h=l+1,f=N),l++}S===13&&c.push(u._createLink(o,s,d,h,a))}return c}}e.LinkComputer=u;function g(t){return!t||typeof t.getLineCount!="function"||typeof t.getLineContent!="function"?[]:u.computeLinks(t)}e.computeLinks=g}),define(te[123],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ignoreBracketsInToken=e.ScopedLineTokens=e.createScopedLineTokens=void 0;function L(I,w){const b=I.getCount(),C=I.findTokenIndexAtOffset(w),u=I.getLanguageId(C);let g=C;for(;g+1<b&&I.getLanguageId(g+1)===u;)g++;let t=C;for(;t>0&&I.getLanguageId(t-1)===u;)t--;return new m(I,u,t,g+1,I.getStartOffset(t),I.getEndOffset(g))}e.createScopedLineTokens=L;class m{constructor(w,b,C,u,g,t){this._scopedLineTokensBrand=void 0,this._actual=w,this.languageId=b,this._firstTokenIndex=C,this._lastTokenIndex=u,this.firstCharOffset=g,this._lastCharOffset=t}getLineContent(){return this._actual.getLineContent().substring(this.firstCharOffset,this._lastCharOffset)}getActualLineContentBefore(w){return this._actual.getLineContent().substring(0,this.firstCharOffset+w)}getTokenCount(){return this._lastTokenIndex-this._firstTokenIndex}findTokenIndexAtOffset(w){return this._actual.findTokenIndexAtOffset(w+this.firstCharOffset)-this._firstTokenIndex}getStandardTokenType(w){return this._actual.getStandardTokenType(w+this._firstTokenIndex)}}e.ScopedLineTokens=m;function k(I){return(I&3)!=0}e.ignoreBracketsInToken=k}),define(te[61],ie([1,0,11,3,22,123,70,177]),function(q,e,L,m,k,I,w,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isQuote=e.EditOperationResult=e.SingleCursorState=e.PartialViewCursorState=e.PartialModelCursorState=e.CursorState=e.CursorConfiguration=void 0;const C=()=>!0,u=()=>!1,g=s=>s===" "||s==="	";class t{constructor(a,l,h,f){this.languageConfigurationService=f,this._cursorMoveConfigurationBrand=void 0,this._languageId=a;const S=h.options,v=S.get(131);this.readOnly=S.get(81),this.tabSize=l.tabSize,this.indentSize=l.indentSize,this.insertSpaces=l.insertSpaces,this.stickyTabStops=S.get(104),this.lineHeight=S.get(59),this.pageSize=Math.max(1,Math.floor(v.height/this.lineHeight)-2),this.useTabStops=S.get(116),this.wordSeparators=S.get(117),this.emptySelectionClipboard=S.get(32),this.copyWithSyntaxHighlighting=S.get(21),this.multiCursorMergeOverlapping=S.get(69),this.multiCursorPaste=S.get(71),this.autoClosingBrackets=S.get(5),this.autoClosingQuotes=S.get(8),this.autoClosingDelete=S.get(6),this.autoClosingOvertype=S.get(7),this.autoSurround=S.get(11),this.autoIndent=S.get(9),this.surroundingPairs={},this._electricChars=null,this.shouldAutoCloseBefore={quote:this._getShouldAutoClose(a,this.autoClosingQuotes),bracket:this._getShouldAutoClose(a,this.autoClosingBrackets)},this.autoClosingPairs=this.languageConfigurationService.getLanguageConfiguration(a).getAutoClosingPairs();const p=this.languageConfigurationService.getLanguageConfiguration(a).getSurroundingPairs();if(p)for(const _ of p)this.surroundingPairs[_.open]=_.close}static shouldRecreate(a){return a.hasChanged(131)||a.hasChanged(117)||a.hasChanged(32)||a.hasChanged(69)||a.hasChanged(71)||a.hasChanged(5)||a.hasChanged(8)||a.hasChanged(6)||a.hasChanged(7)||a.hasChanged(11)||a.hasChanged(116)||a.hasChanged(59)||a.hasChanged(81)}get electricChars(){var a;if(!this._electricChars){this._electricChars={};const l=(a=this.languageConfigurationService.getLanguageConfiguration(this._languageId).electricCharacter)===null||a===void 0?void 0:a.getElectricCharacters();if(l)for(const h of l)this._electricChars[h]=!0}return this._electricChars}onElectricCharacter(a,l,h){const f=(0,I.createScopedLineTokens)(l,h-1),S=this.languageConfigurationService.getLanguageConfiguration(f.languageId).electricCharacter;return S?S.onElectricCharacter(a,f,h-f.firstCharOffset):null}normalizeIndentation(a){return(0,b.normalizeIndentation)(a,this.indentSize,this.insertSpaces)}_getShouldAutoClose(a,l){switch(l){case"beforeWhitespace":return g;case"languageDefined":return this._getLanguageDefinedShouldAutoClose(a);case"always":return C;case"never":return u}}_getLanguageDefinedShouldAutoClose(a){const l=this.languageConfigurationService.getLanguageConfiguration(a).getAutoCloseBeforeSet();return h=>l.indexOf(h)!==-1}visibleColumnFromColumn(a,l){return w.CursorColumns.visibleColumnFromColumn(a.getLineContent(l.lineNumber),l.column,this.tabSize)}columnFromVisibleColumn(a,l,h){const f=w.CursorColumns.columnFromVisibleColumn(a.getLineContent(l),h,this.tabSize),S=a.getLineMinColumn(l);if(f<S)return S;const v=a.getLineMaxColumn(l);return f>v?v:f}}e.CursorConfiguration=t;class n{constructor(a,l){this._cursorStateBrand=void 0,this.modelState=a,this.viewState=l}static fromModelState(a){return new i(a)}static fromViewState(a){return new o(a)}static fromModelSelection(a){const l=k.Selection.liftSelection(a),h=new c(m.Range.fromPositions(l.getSelectionStart()),0,l.getPosition(),0);return n.fromModelState(h)}static fromModelSelections(a){const l=[];for(let h=0,f=a.length;h<f;h++)l[h]=this.fromModelSelection(a[h]);return l}equals(a){return this.viewState.equals(a.viewState)&&this.modelState.equals(a.modelState)}}e.CursorState=n;class i{constructor(a){this.modelState=a,this.viewState=null}}e.PartialModelCursorState=i;class o{constructor(a){this.modelState=null,this.viewState=a}}e.PartialViewCursorState=o;class c{constructor(a,l,h,f){this._singleCursorStateBrand=void 0,this.selectionStart=a,this.selectionStartLeftoverVisibleColumns=l,this.position=h,this.leftoverVisibleColumns=f,this.selection=c._computeSelection(this.selectionStart,this.position)}equals(a){return this.selectionStartLeftoverVisibleColumns===a.selectionStartLeftoverVisibleColumns&&this.leftoverVisibleColumns===a.leftoverVisibleColumns&&this.position.equals(a.position)&&this.selectionStart.equalsRange(a.selectionStart)}hasSelection(){return!this.selection.isEmpty()||!this.selectionStart.isEmpty()}move(a,l,h,f){return a?new c(this.selectionStart,this.selectionStartLeftoverVisibleColumns,new L.Position(l,h),f):new c(new m.Range(l,h,l,h),f,new L.Position(l,h),f)}static _computeSelection(a,l){return a.isEmpty()||!l.isBeforeOrEqual(a.getStartPosition())?k.Selection.fromPositions(a.getStartPosition(),l):k.Selection.fromPositions(a.getEndPosition(),l)}}e.SingleCursorState=c;class d{constructor(a,l,h){this._editOperationResultBrand=void 0,this.type=a,this.commands=l,this.shouldPushStackElementBefore=h.shouldPushStackElementBefore,this.shouldPushStackElementAfter=h.shouldPushStackElementAfter}}e.EditOperationResult=d;function r(s){return s==="'"||s==='"'||s==="`"}e.isQuote=r}),define(te[412],ie([1,0,61,11,3]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ColumnSelection=void 0;class I{static columnSelect(b,C,u,g,t,n){const i=Math.abs(t-u)+1,o=u>t,c=g>n,d=g<n,r=[];for(let s=0;s<i;s++){const a=u+(o?-s:s),l=b.columnFromVisibleColumn(C,a,g),h=b.columnFromVisibleColumn(C,a,n),f=b.visibleColumnFromColumn(C,new m.Position(a,l)),S=b.visibleColumnFromColumn(C,new m.Position(a,h));d&&(f>n||S<g)||c&&(S>g||f<n)||r.push(new L.SingleCursorState(new k.Range(a,l,a,l),0,new m.Position(a,h),0))}if(r.length===0)for(let s=0;s<i;s++){const a=u+(o?-s:s),l=C.getLineMaxColumn(a);r.push(new L.SingleCursorState(new k.Range(a,l,a,l),0,new m.Position(a,l),0))}return{viewStates:r,reversed:o,fromLineNumber:u,fromVisualColumn:g,toLineNumber:t,toVisualColumn:n}}static columnSelectLeft(b,C,u){let g=u.toViewVisualColumn;return g>0&&g--,I.columnSelect(b,C,u.fromViewLineNumber,u.fromViewVisualColumn,u.toViewLineNumber,g)}static columnSelectRight(b,C,u){let g=0;const t=Math.min(u.fromViewLineNumber,u.toViewLineNumber),n=Math.max(u.fromViewLineNumber,u.toViewLineNumber);for(let o=t;o<=n;o++){const c=C.getLineMaxColumn(o),d=b.visibleColumnFromColumn(C,new m.Position(o,c));g=Math.max(g,d)}let i=u.toViewVisualColumn;return i<g&&i++,this.columnSelect(b,C,u.fromViewLineNumber,u.fromViewVisualColumn,u.toViewLineNumber,i)}static columnSelectUp(b,C,u,g){const t=g?b.pageSize:1,n=Math.max(1,u.toViewLineNumber-t);return this.columnSelect(b,C,u.fromViewLineNumber,u.fromViewVisualColumn,n,u.toViewVisualColumn)}static columnSelectDown(b,C,u,g){const t=g?b.pageSize:1,n=Math.min(C.getLineCount(),u.toViewLineNumber+t);return this.columnSelect(b,C,u.fromViewLineNumber,u.fromViewVisualColumn,n,u.toViewVisualColumn)}}e.ColumnSelection=I}),define(te[180],ie([1,0,61,70,11,3,8,241]),function(q,e,L,m,k,I,w,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MoveOperations=e.CursorPosition=void 0;class C{constructor(t,n,i){this._cursorPositionBrand=void 0,this.lineNumber=t,this.column=n,this.leftoverVisibleColumns=i}}e.CursorPosition=C;class u{static leftPosition(t,n){if(n.column>t.getLineMinColumn(n.lineNumber))return n.delta(void 0,-w.prevCharLength(t.getLineContent(n.lineNumber),n.column-1));if(n.lineNumber>1){const i=n.lineNumber-1;return new k.Position(i,t.getLineMaxColumn(i))}else return n}static leftPositionAtomicSoftTabs(t,n,i){if(n.column<=t.getLineIndentColumn(n.lineNumber)){const o=t.getLineMinColumn(n.lineNumber),c=t.getLineContent(n.lineNumber),d=b.AtomicTabMoveOperations.atomicPosition(c,n.column-1,i,0);if(d!==-1&&d+1>=o)return new k.Position(n.lineNumber,d+1)}return this.leftPosition(t,n)}static left(t,n,i){const o=t.stickyTabStops?u.leftPositionAtomicSoftTabs(n,i,t.tabSize):u.leftPosition(n,i);return new C(o.lineNumber,o.column,0)}static moveLeft(t,n,i,o,c){let d,r;if(i.hasSelection()&&!o)d=i.selection.startLineNumber,r=i.selection.startColumn;else{const s=i.position.delta(void 0,-(c-1)),a=n.normalizePosition(u.clipPositionColumn(s,n),0),l=u.left(t,n,a);d=l.lineNumber,r=l.column}return i.move(o,d,r,0)}static clipPositionColumn(t,n){return new k.Position(t.lineNumber,u.clipRange(t.column,n.getLineMinColumn(t.lineNumber),n.getLineMaxColumn(t.lineNumber)))}static clipRange(t,n,i){return t<n?n:t>i?i:t}static rightPosition(t,n,i){return i<t.getLineMaxColumn(n)?i=i+w.nextCharLength(t.getLineContent(n),i-1):n<t.getLineCount()&&(n=n+1,i=t.getLineMinColumn(n)),new k.Position(n,i)}static rightPositionAtomicSoftTabs(t,n,i,o,c){if(i<t.getLineIndentColumn(n)){const d=t.getLineContent(n),r=b.AtomicTabMoveOperations.atomicPosition(d,i-1,o,1);if(r!==-1)return new k.Position(n,r+1)}return this.rightPosition(t,n,i)}static right(t,n,i){const o=t.stickyTabStops?u.rightPositionAtomicSoftTabs(n,i.lineNumber,i.column,t.tabSize,t.indentSize):u.rightPosition(n,i.lineNumber,i.column);return new C(o.lineNumber,o.column,0)}static moveRight(t,n,i,o,c){let d,r;if(i.hasSelection()&&!o)d=i.selection.endLineNumber,r=i.selection.endColumn;else{const s=i.position.delta(void 0,c-1),a=n.normalizePosition(u.clipPositionColumn(s,n),1),l=u.right(t,n,a);d=l.lineNumber,r=l.column}return i.move(o,d,r,0)}static vertical(t,n,i,o,c,d,r,s){const a=m.CursorColumns.visibleColumnFromColumn(n.getLineContent(i),o,t.tabSize)+c,l=n.getLineCount(),h=i===1&&o===1,f=i===l&&o===n.getLineMaxColumn(i),S=d<i?h:f;if(i=d,i<1?(i=1,r?o=n.getLineMinColumn(i):o=Math.min(n.getLineMaxColumn(i),o)):i>l?(i=l,r?o=n.getLineMaxColumn(i):o=Math.min(n.getLineMaxColumn(i),o)):o=t.columnFromVisibleColumn(n,i,a),S?c=0:c=a-m.CursorColumns.visibleColumnFromColumn(n.getLineContent(i),o,t.tabSize),s!==void 0){const v=new k.Position(i,o),p=n.normalizePosition(v,s);c=c+(o-p.column),i=p.lineNumber,o=p.column}return new C(i,o,c)}static down(t,n,i,o,c,d,r){return this.vertical(t,n,i,o,c,i+d,r,1)}static moveDown(t,n,i,o,c){let d,r;i.hasSelection()&&!o?(d=i.selection.endLineNumber,r=i.selection.endColumn):(d=i.position.lineNumber,r=i.position.column);const s=u.down(t,n,d,r,i.leftoverVisibleColumns,c,!0);return i.move(o,s.lineNumber,s.column,s.leftoverVisibleColumns)}static translateDown(t,n,i){const o=i.selection,c=u.down(t,n,o.selectionStartLineNumber,o.selectionStartColumn,i.selectionStartLeftoverVisibleColumns,1,!1),d=u.down(t,n,o.positionLineNumber,o.positionColumn,i.leftoverVisibleColumns,1,!1);return new L.SingleCursorState(new I.Range(c.lineNumber,c.column,c.lineNumber,c.column),c.leftoverVisibleColumns,new k.Position(d.lineNumber,d.column),d.leftoverVisibleColumns)}static up(t,n,i,o,c,d,r){return this.vertical(t,n,i,o,c,i-d,r,0)}static moveUp(t,n,i,o,c){let d,r;i.hasSelection()&&!o?(d=i.selection.startLineNumber,r=i.selection.startColumn):(d=i.position.lineNumber,r=i.position.column);const s=u.up(t,n,d,r,i.leftoverVisibleColumns,c,!0);return i.move(o,s.lineNumber,s.column,s.leftoverVisibleColumns)}static translateUp(t,n,i){const o=i.selection,c=u.up(t,n,o.selectionStartLineNumber,o.selectionStartColumn,i.selectionStartLeftoverVisibleColumns,1,!1),d=u.up(t,n,o.positionLineNumber,o.positionColumn,i.leftoverVisibleColumns,1,!1);return new L.SingleCursorState(new I.Range(c.lineNumber,c.column,c.lineNumber,c.column),c.leftoverVisibleColumns,new k.Position(d.lineNumber,d.column),d.leftoverVisibleColumns)}static _isBlankLine(t,n){return t.getLineFirstNonWhitespaceColumn(n)===0}static moveToPrevBlankLine(t,n,i,o){let c=i.position.lineNumber;for(;c>1&&this._isBlankLine(n,c);)c--;for(;c>1&&!this._isBlankLine(n,c);)c--;return i.move(o,c,n.getLineMinColumn(c),0)}static moveToNextBlankLine(t,n,i,o){const c=n.getLineCount();let d=i.position.lineNumber;for(;d<c&&this._isBlankLine(n,d);)d++;for(;d<c&&!this._isBlankLine(n,d);)d++;return i.move(o,d,n.getLineMinColumn(d),0)}static moveToBeginningOfLine(t,n,i,o){const c=i.position.lineNumber,d=n.getLineMinColumn(c),r=n.getLineFirstNonWhitespaceColumn(c)||d;let s;return i.position.column===r?s=d:s=r,i.move(o,c,s,0)}static moveToEndOfLine(t,n,i,o,c){const d=i.position.lineNumber,r=n.getLineMaxColumn(d);return i.move(o,d,r,c?1073741824-r:0)}static moveToBeginningOfBuffer(t,n,i,o){return i.move(o,1,1,0)}static moveToEndOfBuffer(t,n,i,o){const c=n.getLineCount(),d=n.getLineMaxColumn(c);return i.move(o,c,d,0)}}e.MoveOperations=u}),define(te[181],ie([1,0,8,100,61,70,180,3,11]),function(q,e,L,m,k,I,w,b,C){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DeleteOperations=void 0;class u{static deleteRight(t,n,i,o){const c=[];let d=t!==3;for(let r=0,s=o.length;r<s;r++){const a=o[r];let l=a;if(l.isEmpty()){const h=a.getPosition(),f=w.MoveOperations.right(n,i,h);l=new b.Range(f.lineNumber,f.column,h.lineNumber,h.column)}if(l.isEmpty()){c[r]=null;continue}l.startLineNumber!==l.endLineNumber&&(d=!0),c[r]=new m.ReplaceCommand(l,"")}return[d,c]}static isAutoClosingPairDelete(t,n,i,o,c,d,r){if(n==="never"&&i==="never"||t==="never")return!1;for(let s=0,a=d.length;s<a;s++){const l=d[s],h=l.getPosition();if(!l.isEmpty())return!1;const f=c.getLineContent(h.lineNumber);if(h.column<2||h.column>=f.length+1)return!1;const S=f.charAt(h.column-2),v=o.get(S);if(!v)return!1;if((0,k.isQuote)(S)){if(i==="never")return!1}else if(n==="never")return!1;const p=f.charAt(h.column-1);let _=!1;for(const y of v)y.open===S&&y.close===p&&(_=!0);if(!_)return!1;if(t==="auto"){let y=!1;for(let E=0,N=r.length;E<N;E++){const D=r[E];if(h.lineNumber===D.startLineNumber&&h.column===D.startColumn){y=!0;break}}if(!y)return!1}}return!0}static _runAutoClosingPairDelete(t,n,i){const o=[];for(let c=0,d=i.length;c<d;c++){const r=i[c].getPosition(),s=new b.Range(r.lineNumber,r.column-1,r.lineNumber,r.column+1);o[c]=new m.ReplaceCommand(s,"")}return[!0,o]}static deleteLeft(t,n,i,o,c){if(this.isAutoClosingPairDelete(n.autoClosingDelete,n.autoClosingBrackets,n.autoClosingQuotes,n.autoClosingPairs.autoClosingPairsOpenByEnd,i,o,c))return this._runAutoClosingPairDelete(n,i,o);const d=[];let r=t!==2;for(let s=0,a=o.length;s<a;s++){const l=u.getDeleteRange(o[s],i,n);if(l.isEmpty()){d[s]=null;continue}l.startLineNumber!==l.endLineNumber&&(r=!0),d[s]=new m.ReplaceCommand(l,"")}return[r,d]}static getDeleteRange(t,n,i){if(!t.isEmpty())return t;const o=t.getPosition();if(i.useTabStops&&o.column>1){const c=n.getLineContent(o.lineNumber),d=L.firstNonWhitespaceIndex(c),r=d===-1?c.length+1:d+1;if(o.column<=r){const s=i.visibleColumnFromColumn(n,o),a=I.CursorColumns.prevIndentTabStop(s,i.indentSize),l=i.columnFromVisibleColumn(n,o.lineNumber,a);return new b.Range(o.lineNumber,l,o.lineNumber,o.column)}}return b.Range.fromPositions(u.getPositionAfterDeleteLeft(o,n),o)}static getPositionAfterDeleteLeft(t,n){if(t.column>1){const i=L.getLeftDeleteOffset(t.column-1,n.getLineContent(t.lineNumber));return t.with(void 0,i+1)}else if(t.lineNumber>1){const i=t.lineNumber-1;return new C.Position(i,n.getLineMaxColumn(i))}else return t}static cut(t,n,i){const o=[];let c=null;i.sort((d,r)=>C.Position.compare(d.getStartPosition(),r.getEndPosition()));for(let d=0,r=i.length;d<r;d++){const s=i[d];if(s.isEmpty())if(t.emptySelectionClipboard){const a=s.getPosition();let l,h,f,S;a.lineNumber<n.getLineCount()?(l=a.lineNumber,h=1,f=a.lineNumber+1,S=1):a.lineNumber>1&&(c==null?void 0:c.endLineNumber)!==a.lineNumber?(l=a.lineNumber-1,h=n.getLineMaxColumn(a.lineNumber-1),f=a.lineNumber,S=n.getLineMaxColumn(a.lineNumber)):(l=a.lineNumber,h=1,f=a.lineNumber,S=n.getLineMaxColumn(a.lineNumber));const v=new b.Range(l,h,f,S);c=v,v.isEmpty()?o[d]=null:o[d]=new m.ReplaceCommand(v,"")}else o[d]=null;else o[d]=new m.ReplaceCommand(s,"")}return new k.EditOperationResult(0,o,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}}e.DeleteOperations=u}),define(te[151],ie([1,0,8,61,181,120,11,3]),function(q,e,L,m,k,I,w,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WordPartOperations=e.WordOperations=void 0;class C{static _createWord(n,i,o,c,d){return{start:c,end:d,wordType:i,nextCharClass:o}}static _findPreviousWordOnLine(n,i,o){const c=i.getLineContent(o.lineNumber);return this._doFindPreviousWordOnLine(c,n,o)}static _doFindPreviousWordOnLine(n,i,o){let c=0;for(let d=o.column-2;d>=0;d--){const r=n.charCodeAt(d),s=i.get(r);if(s===0){if(c===2)return this._createWord(n,c,s,d+1,this._findEndOfWord(n,i,c,d+1));c=1}else if(s===2){if(c===1)return this._createWord(n,c,s,d+1,this._findEndOfWord(n,i,c,d+1));c=2}else if(s===1&&c!==0)return this._createWord(n,c,s,d+1,this._findEndOfWord(n,i,c,d+1))}return c!==0?this._createWord(n,c,1,0,this._findEndOfWord(n,i,c,0)):null}static _findEndOfWord(n,i,o,c){const d=n.length;for(let r=c;r<d;r++){const s=n.charCodeAt(r),a=i.get(s);if(a===1||o===1&&a===2||o===2&&a===0)return r}return d}static _findNextWordOnLine(n,i,o){const c=i.getLineContent(o.lineNumber);return this._doFindNextWordOnLine(c,n,o)}static _doFindNextWordOnLine(n,i,o){let c=0;const d=n.length;for(let r=o.column-1;r<d;r++){const s=n.charCodeAt(r),a=i.get(s);if(a===0){if(c===2)return this._createWord(n,c,a,this._findStartOfWord(n,i,c,r-1),r);c=1}else if(a===2){if(c===1)return this._createWord(n,c,a,this._findStartOfWord(n,i,c,r-1),r);c=2}else if(a===1&&c!==0)return this._createWord(n,c,a,this._findStartOfWord(n,i,c,r-1),r)}return c!==0?this._createWord(n,c,1,this._findStartOfWord(n,i,c,d-1),d):null}static _findStartOfWord(n,i,o,c){for(let d=c;d>=0;d--){const r=n.charCodeAt(d),s=i.get(r);if(s===1||o===1&&s===2||o===2&&s===0)return d+1}return 0}static moveWordLeft(n,i,o,c){let d=o.lineNumber,r=o.column;r===1&&d>1&&(d=d-1,r=i.getLineMaxColumn(d));let s=C._findPreviousWordOnLine(n,i,new w.Position(d,r));if(c===0)return new w.Position(d,s?s.start+1:1);if(c===1)return s&&s.wordType===2&&s.end-s.start==1&&s.nextCharClass===0&&(s=C._findPreviousWordOnLine(n,i,new w.Position(d,s.start+1))),new w.Position(d,s?s.start+1:1);if(c===3){for(;s&&s.wordType===2;)s=C._findPreviousWordOnLine(n,i,new w.Position(d,s.start+1));return new w.Position(d,s?s.start+1:1)}return s&&r<=s.end+1&&(s=C._findPreviousWordOnLine(n,i,new w.Position(d,s.start+1))),new w.Position(d,s?s.end+1:1)}static _moveWordPartLeft(n,i){const o=i.lineNumber,c=n.getLineMaxColumn(o);if(i.column===1)return o>1?new w.Position(o-1,n.getLineMaxColumn(o-1)):i;const d=n.getLineContent(o);for(let r=i.column-1;r>1;r--){const s=d.charCodeAt(r-2),a=d.charCodeAt(r-1);if(s===95&&a!==95)return new w.Position(o,r);if(L.isLowerAsciiLetter(s)&&L.isUpperAsciiLetter(a))return new w.Position(o,r);if(L.isUpperAsciiLetter(s)&&L.isUpperAsciiLetter(a)&&r+1<c){const l=d.charCodeAt(r);if(L.isLowerAsciiLetter(l))return new w.Position(o,r)}}return new w.Position(o,1)}static moveWordRight(n,i,o,c){let d=o.lineNumber,r=o.column,s=!1;r===i.getLineMaxColumn(d)&&d<i.getLineCount()&&(s=!0,d=d+1,r=1);let a=C._findNextWordOnLine(n,i,new w.Position(d,r));if(c===2)a&&a.wordType===2&&a.end-a.start==1&&a.nextCharClass===0&&(a=C._findNextWordOnLine(n,i,new w.Position(d,a.end+1))),a?r=a.end+1:r=i.getLineMaxColumn(d);else if(c===3){for(s&&(r=0);a&&(a.wordType===2||a.start+1<=r);)a=C._findNextWordOnLine(n,i,new w.Position(d,a.end+1));a?r=a.start+1:r=i.getLineMaxColumn(d)}else a&&!s&&r>=a.start+1&&(a=C._findNextWordOnLine(n,i,new w.Position(d,a.end+1))),a?r=a.start+1:r=i.getLineMaxColumn(d);return new w.Position(d,r)}static _moveWordPartRight(n,i){const o=i.lineNumber,c=n.getLineMaxColumn(o);if(i.column===c)return o<n.getLineCount()?new w.Position(o+1,1):i;const d=n.getLineContent(o);for(let r=i.column+1;r<c;r++){const s=d.charCodeAt(r-2),a=d.charCodeAt(r-1);if(s!==95&&a===95)return new w.Position(o,r);if(L.isLowerAsciiLetter(s)&&L.isUpperAsciiLetter(a))return new w.Position(o,r);if(L.isUpperAsciiLetter(s)&&L.isUpperAsciiLetter(a)&&r+1<c){const l=d.charCodeAt(r);if(L.isLowerAsciiLetter(l))return new w.Position(o,r)}}return new w.Position(o,c)}static _deleteWordLeftWhitespace(n,i){const o=n.getLineContent(i.lineNumber),c=i.column-2,d=L.lastNonWhitespaceIndex(o,c);return d+1<c?new b.Range(i.lineNumber,d+2,i.lineNumber,i.column):null}static deleteWordLeft(n,i){const o=n.wordSeparators,c=n.model,d=n.selection,r=n.whitespaceHeuristics;if(!d.isEmpty())return d;if(k.DeleteOperations.isAutoClosingPairDelete(n.autoClosingDelete,n.autoClosingBrackets,n.autoClosingQuotes,n.autoClosingPairs.autoClosingPairsOpenByEnd,n.model,[n.selection],n.autoClosedCharacters)){const f=n.selection.getPosition();return new b.Range(f.lineNumber,f.column-1,f.lineNumber,f.column+1)}const s=new w.Position(d.positionLineNumber,d.positionColumn);let a=s.lineNumber,l=s.column;if(a===1&&l===1)return null;if(r){const f=this._deleteWordLeftWhitespace(c,s);if(f)return f}let h=C._findPreviousWordOnLine(o,c,s);return i===0?h?l=h.start+1:l>1?l=1:(a--,l=c.getLineMaxColumn(a)):(h&&l<=h.end+1&&(h=C._findPreviousWordOnLine(o,c,new w.Position(a,h.start+1))),h?l=h.end+1:l>1?l=1:(a--,l=c.getLineMaxColumn(a))),new b.Range(a,l,s.lineNumber,s.column)}static deleteInsideWord(n,i,o){if(!o.isEmpty())return o;const c=new w.Position(o.positionLineNumber,o.positionColumn),d=this._deleteInsideWordWhitespace(i,c);return d||this._deleteInsideWordDetermineDeleteRange(n,i,c)}static _charAtIsWhitespace(n,i){const o=n.charCodeAt(i);return o===32||o===9}static _deleteInsideWordWhitespace(n,i){const o=n.getLineContent(i.lineNumber),c=o.length;if(c===0)return null;let d=Math.max(i.column-2,0);if(!this._charAtIsWhitespace(o,d))return null;let r=Math.min(i.column-1,c-1);if(!this._charAtIsWhitespace(o,r))return null;for(;d>0&&this._charAtIsWhitespace(o,d-1);)d--;for(;r+1<c&&this._charAtIsWhitespace(o,r+1);)r++;return new b.Range(i.lineNumber,d+1,i.lineNumber,r+2)}static _deleteInsideWordDetermineDeleteRange(n,i,o){const c=i.getLineContent(o.lineNumber),d=c.length;if(d===0)return o.lineNumber>1?new b.Range(o.lineNumber-1,i.getLineMaxColumn(o.lineNumber-1),o.lineNumber,1):o.lineNumber<i.getLineCount()?new b.Range(o.lineNumber,1,o.lineNumber+1,1):new b.Range(o.lineNumber,1,o.lineNumber,1);const r=f=>f.start+1<=o.column&&o.column<=f.end+1,s=(f,S)=>(f=Math.min(f,o.column),S=Math.max(S,o.column),new b.Range(o.lineNumber,f,o.lineNumber,S)),a=f=>{let S=f.start+1,v=f.end+1,p=!1;for(;v-1<d&&this._charAtIsWhitespace(c,v-1);)p=!0,v++;if(!p)for(;S>1&&this._charAtIsWhitespace(c,S-2);)S--;return s(S,v)},l=C._findPreviousWordOnLine(n,i,o);if(l&&r(l))return a(l);const h=C._findNextWordOnLine(n,i,o);return h&&r(h)?a(h):l&&h?s(l.end+1,h.start+1):l?s(l.start+1,l.end+1):h?s(h.start+1,h.end+1):s(1,d+1)}static _deleteWordPartLeft(n,i){if(!i.isEmpty())return i;const o=i.getPosition(),c=C._moveWordPartLeft(n,o);return new b.Range(o.lineNumber,o.column,c.lineNumber,c.column)}static _findFirstNonWhitespaceChar(n,i){const o=n.length;for(let c=i;c<o;c++){const d=n.charAt(c);if(d!==" "&&d!=="	")return c}return o}static _deleteWordRightWhitespace(n,i){const o=n.getLineContent(i.lineNumber),c=i.column-1,d=this._findFirstNonWhitespaceChar(o,c);return c+1<d?new b.Range(i.lineNumber,i.column,i.lineNumber,d+1):null}static deleteWordRight(n,i){const o=n.wordSeparators,c=n.model,d=n.selection,r=n.whitespaceHeuristics;if(!d.isEmpty())return d;const s=new w.Position(d.positionLineNumber,d.positionColumn);let a=s.lineNumber,l=s.column;const h=c.getLineCount(),f=c.getLineMaxColumn(a);if(a===h&&l===f)return null;if(r){const v=this._deleteWordRightWhitespace(c,s);if(v)return v}let S=C._findNextWordOnLine(o,c,s);return i===2?S?l=S.end+1:l<f||a===h?l=f:(a++,S=C._findNextWordOnLine(o,c,new w.Position(a,1)),S?l=S.start+1:l=c.getLineMaxColumn(a)):(S&&l>=S.start+1&&(S=C._findNextWordOnLine(o,c,new w.Position(a,S.end+1))),S?l=S.start+1:l<f||a===h?l=f:(a++,S=C._findNextWordOnLine(o,c,new w.Position(a,1)),S?l=S.start+1:l=c.getLineMaxColumn(a))),new b.Range(a,l,s.lineNumber,s.column)}static _deleteWordPartRight(n,i){if(!i.isEmpty())return i;const o=i.getPosition(),c=C._moveWordPartRight(n,o);return new b.Range(o.lineNumber,o.column,c.lineNumber,c.column)}static _createWordAtPosition(n,i,o){const c=new b.Range(i,o.start+1,i,o.end+1);return{word:n.getValueInRange(c),startColumn:c.startColumn,endColumn:c.endColumn}}static getWordAtPosition(n,i,o){const c=(0,I.getMapForWordSeparators)(i),d=C._findPreviousWordOnLine(c,n,o);if(d&&d.wordType===1&&d.start<=o.column-1&&o.column-1<=d.end)return C._createWordAtPosition(n,o.lineNumber,d);const r=C._findNextWordOnLine(c,n,o);return r&&r.wordType===1&&r.start<=o.column-1&&o.column-1<=r.end?C._createWordAtPosition(n,o.lineNumber,r):null}static word(n,i,o,c,d){const r=(0,I.getMapForWordSeparators)(n.wordSeparators),s=C._findPreviousWordOnLine(r,i,d),a=C._findNextWordOnLine(r,i,d);if(!c){let v,p;return s&&s.wordType===1&&s.start<=d.column-1&&d.column-1<=s.end?(v=s.start+1,p=s.end+1):a&&a.wordType===1&&a.start<=d.column-1&&d.column-1<=a.end?(v=a.start+1,p=a.end+1):(s?v=s.end+1:v=1,a?p=a.start+1:p=i.getLineMaxColumn(d.lineNumber)),new m.SingleCursorState(new b.Range(d.lineNumber,v,d.lineNumber,p),0,new w.Position(d.lineNumber,p),0)}let l,h;s&&s.wordType===1&&s.start<d.column-1&&d.column-1<s.end?(l=s.start+1,h=s.end+1):a&&a.wordType===1&&a.start<d.column-1&&d.column-1<a.end?(l=a.start+1,h=a.end+1):(l=d.column,h=d.column);const f=d.lineNumber;let S;if(o.selectionStart.containsPosition(d))S=o.selectionStart.endColumn;else if(d.isBeforeOrEqual(o.selectionStart.getStartPosition())){S=l;const v=new w.Position(f,S);o.selectionStart.containsPosition(v)&&(S=o.selectionStart.endColumn)}else{S=h;const v=new w.Position(f,S);o.selectionStart.containsPosition(v)&&(S=o.selectionStart.startColumn)}return o.move(!0,f,S,0)}}e.WordOperations=C;class u extends C{static deleteWordPartLeft(n){const i=g([C.deleteWordLeft(n,0),C.deleteWordLeft(n,2),C._deleteWordPartLeft(n.model,n.selection)]);return i.sort(b.Range.compareRangesUsingEnds),i[2]}static deleteWordPartRight(n){const i=g([C.deleteWordRight(n,0),C.deleteWordRight(n,2),C._deleteWordPartRight(n.model,n.selection)]);return i.sort(b.Range.compareRangesUsingStarts),i[0]}static moveWordPartLeft(n,i,o){const c=g([C.moveWordLeft(n,i,o,0),C.moveWordLeft(n,i,o,2),C._moveWordPartLeft(i,o)]);return c.sort(w.Position.compare),c[2]}static moveWordPartRight(n,i,o){const c=g([C.moveWordRight(n,i,o,0),C.moveWordRight(n,i,o,2),C._moveWordPartRight(i,o)]);return c.sort(w.Position.compare),c[0]}}e.WordPartOperations=u;function g(t){return t.filter(n=>Boolean(n))}}),define(te[182],ie([1,0,19,61,180,151,11,3]),function(q,e,L,m,k,I,w,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CursorMove=e.CursorMoveCommands=void 0;class C{static addCursorDown(t,n,i){const o=[];let c=0;for(let d=0,r=n.length;d<r;d++){const s=n[d];o[c++]=new m.CursorState(s.modelState,s.viewState),i?o[c++]=m.CursorState.fromModelState(k.MoveOperations.translateDown(t.cursorConfig,t.model,s.modelState)):o[c++]=m.CursorState.fromViewState(k.MoveOperations.translateDown(t.cursorConfig,t,s.viewState))}return o}static addCursorUp(t,n,i){const o=[];let c=0;for(let d=0,r=n.length;d<r;d++){const s=n[d];o[c++]=new m.CursorState(s.modelState,s.viewState),i?o[c++]=m.CursorState.fromModelState(k.MoveOperations.translateUp(t.cursorConfig,t.model,s.modelState)):o[c++]=m.CursorState.fromViewState(k.MoveOperations.translateUp(t.cursorConfig,t,s.viewState))}return o}static moveToBeginningOfLine(t,n,i){let o=[];for(let c=0,d=n.length;c<d;c++){const r=n[c];o[c]=this._moveToLineStart(t,r,i)}return o}static _moveToLineStart(t,n,i){const o=n.viewState.position.column,c=n.modelState.position.column,d=o===c,r=n.viewState.position.lineNumber,s=t.getLineFirstNonWhitespaceColumn(r);return!d&&!(o===s)?this._moveToLineStartByView(t,n,i):this._moveToLineStartByModel(t,n,i)}static _moveToLineStartByView(t,n,i){return m.CursorState.fromViewState(k.MoveOperations.moveToBeginningOfLine(t.cursorConfig,t,n.viewState,i))}static _moveToLineStartByModel(t,n,i){return m.CursorState.fromModelState(k.MoveOperations.moveToBeginningOfLine(t.cursorConfig,t.model,n.modelState,i))}static moveToEndOfLine(t,n,i,o){const c=[];for(let d=0,r=n.length;d<r;d++){const s=n[d];c[d]=this._moveToLineEnd(t,s,i,o)}return c}static _moveToLineEnd(t,n,i,o){const c=n.viewState.position,d=t.getLineMaxColumn(c.lineNumber),r=c.column===d,s=n.modelState.position,a=t.model.getLineMaxColumn(s.lineNumber),l=d-c.column==a-s.column;return r||l?this._moveToLineEndByModel(t,n,i,o):this._moveToLineEndByView(t,n,i,o)}static _moveToLineEndByView(t,n,i,o){return m.CursorState.fromViewState(k.MoveOperations.moveToEndOfLine(t.cursorConfig,t,n.viewState,i,o))}static _moveToLineEndByModel(t,n,i,o){return m.CursorState.fromModelState(k.MoveOperations.moveToEndOfLine(t.cursorConfig,t.model,n.modelState,i,o))}static expandLineSelection(t,n){const i=[];for(let o=0,c=n.length;o<c;o++){const d=n[o],r=d.modelState.selection.startLineNumber,s=t.model.getLineCount();let a=d.modelState.selection.endLineNumber,l;a===s?l=t.model.getLineMaxColumn(s):(a++,l=1),i[o]=m.CursorState.fromModelState(new m.SingleCursorState(new b.Range(r,1,r,1),0,new w.Position(a,l),0))}return i}static moveToBeginningOfBuffer(t,n,i){const o=[];for(let c=0,d=n.length;c<d;c++){const r=n[c];o[c]=m.CursorState.fromModelState(k.MoveOperations.moveToBeginningOfBuffer(t.cursorConfig,t.model,r.modelState,i))}return o}static moveToEndOfBuffer(t,n,i){const o=[];for(let c=0,d=n.length;c<d;c++){const r=n[c];o[c]=m.CursorState.fromModelState(k.MoveOperations.moveToEndOfBuffer(t.cursorConfig,t.model,r.modelState,i))}return o}static selectAll(t,n){const i=t.model.getLineCount(),o=t.model.getLineMaxColumn(i);return m.CursorState.fromModelState(new m.SingleCursorState(new b.Range(1,1,1,1),0,new w.Position(i,o),0))}static line(t,n,i,o,c){const d=t.model.validatePosition(o),r=c?t.coordinatesConverter.validateViewPosition(new w.Position(c.lineNumber,c.column),d):t.coordinatesConverter.convertModelPositionToViewPosition(d);if(!i||!n.modelState.hasSelection()){const a=t.model.getLineCount();let l=d.lineNumber+1,h=1;return l>a&&(l=a,h=t.model.getLineMaxColumn(l)),m.CursorState.fromModelState(new m.SingleCursorState(new b.Range(d.lineNumber,1,l,h),0,new w.Position(l,h),0))}const s=n.modelState.selectionStart.getStartPosition().lineNumber;if(d.lineNumber<s)return m.CursorState.fromViewState(n.viewState.move(n.modelState.hasSelection(),r.lineNumber,1,0));if(d.lineNumber>s){const a=t.getLineCount();let l=r.lineNumber+1,h=1;return l>a&&(l=a,h=t.getLineMaxColumn(l)),m.CursorState.fromViewState(n.viewState.move(n.modelState.hasSelection(),l,h,0))}else{const a=n.modelState.selectionStart.getEndPosition();return m.CursorState.fromModelState(n.modelState.move(n.modelState.hasSelection(),a.lineNumber,a.column,0))}}static word(t,n,i,o){const c=t.model.validatePosition(o);return m.CursorState.fromModelState(I.WordOperations.word(t.cursorConfig,t.model,n.modelState,i,c))}static cancelSelection(t,n){if(!n.modelState.hasSelection())return new m.CursorState(n.modelState,n.viewState);const i=n.viewState.position.lineNumber,o=n.viewState.position.column;return m.CursorState.fromViewState(new m.SingleCursorState(new b.Range(i,o,i,o),0,new w.Position(i,o),0))}static moveTo(t,n,i,o,c){const d=t.model.validatePosition(o),r=c?t.coordinatesConverter.validateViewPosition(new w.Position(c.lineNumber,c.column),d):t.coordinatesConverter.convertModelPositionToViewPosition(d);return m.CursorState.fromViewState(n.viewState.move(i,r.lineNumber,r.column,0))}static simpleMove(t,n,i,o,c,d){switch(i){case 0:return d===4?this._moveHalfLineLeft(t,n,o):this._moveLeft(t,n,o,c);case 1:return d===4?this._moveHalfLineRight(t,n,o):this._moveRight(t,n,o,c);case 2:return d===2?this._moveUpByViewLines(t,n,o,c):this._moveUpByModelLines(t,n,o,c);case 3:return d===2?this._moveDownByViewLines(t,n,o,c):this._moveDownByModelLines(t,n,o,c);case 4:return d===2?n.map(r=>m.CursorState.fromViewState(k.MoveOperations.moveToPrevBlankLine(t.cursorConfig,t,r.viewState,o))):n.map(r=>m.CursorState.fromModelState(k.MoveOperations.moveToPrevBlankLine(t.cursorConfig,t.model,r.modelState,o)));case 5:return d===2?n.map(r=>m.CursorState.fromViewState(k.MoveOperations.moveToNextBlankLine(t.cursorConfig,t,r.viewState,o))):n.map(r=>m.CursorState.fromModelState(k.MoveOperations.moveToNextBlankLine(t.cursorConfig,t.model,r.modelState,o)));case 6:return this._moveToViewMinColumn(t,n,o);case 7:return this._moveToViewFirstNonWhitespaceColumn(t,n,o);case 8:return this._moveToViewCenterColumn(t,n,o);case 9:return this._moveToViewMaxColumn(t,n,o);case 10:return this._moveToViewLastNonWhitespaceColumn(t,n,o);default:return null}}static viewportMove(t,n,i,o,c){const d=t.getCompletelyVisibleViewRange(),r=t.coordinatesConverter.convertViewRangeToModelRange(d);switch(i){case 11:{const s=this._firstLineNumberInRange(t.model,r,c),a=t.model.getLineFirstNonWhitespaceColumn(s);return[this._moveToModelPosition(t,n[0],o,s,a)]}case 13:{const s=this._lastLineNumberInRange(t.model,r,c),a=t.model.getLineFirstNonWhitespaceColumn(s);return[this._moveToModelPosition(t,n[0],o,s,a)]}case 12:{const s=Math.round((r.startLineNumber+r.endLineNumber)/2),a=t.model.getLineFirstNonWhitespaceColumn(s);return[this._moveToModelPosition(t,n[0],o,s,a)]}case 14:{const s=[];for(let a=0,l=n.length;a<l;a++){const h=n[a];s[a]=this.findPositionInViewportIfOutside(t,h,d,o)}return s}default:return null}}static findPositionInViewportIfOutside(t,n,i,o){const c=n.viewState.position.lineNumber;if(i.startLineNumber<=c&&c<=i.endLineNumber-1)return new m.CursorState(n.modelState,n.viewState);{let d;c>i.endLineNumber-1?d=i.endLineNumber-1:c<i.startLineNumber?d=i.startLineNumber:d=c;const r=k.MoveOperations.vertical(t.cursorConfig,t,c,n.viewState.position.column,n.viewState.leftoverVisibleColumns,d,!1);return m.CursorState.fromViewState(n.viewState.move(o,r.lineNumber,r.column,r.leftoverVisibleColumns))}}static _firstLineNumberInRange(t,n,i){let o=n.startLineNumber;return n.startColumn!==t.getLineMinColumn(o)&&o++,Math.min(n.endLineNumber,o+i-1)}static _lastLineNumberInRange(t,n,i){let o=n.startLineNumber;return n.startColumn!==t.getLineMinColumn(o)&&o++,Math.max(o,n.endLineNumber-i+1)}static _moveLeft(t,n,i,o){return n.map(c=>m.CursorState.fromViewState(k.MoveOperations.moveLeft(t.cursorConfig,t,c.viewState,i,o)))}static _moveHalfLineLeft(t,n,i){const o=[];for(let c=0,d=n.length;c<d;c++){const r=n[c],s=r.viewState.position.lineNumber,a=Math.round(t.getLineContent(s).length/2);o[c]=m.CursorState.fromViewState(k.MoveOperations.moveLeft(t.cursorConfig,t,r.viewState,i,a))}return o}static _moveRight(t,n,i,o){return n.map(c=>m.CursorState.fromViewState(k.MoveOperations.moveRight(t.cursorConfig,t,c.viewState,i,o)))}static _moveHalfLineRight(t,n,i){const o=[];for(let c=0,d=n.length;c<d;c++){const r=n[c],s=r.viewState.position.lineNumber,a=Math.round(t.getLineContent(s).length/2);o[c]=m.CursorState.fromViewState(k.MoveOperations.moveRight(t.cursorConfig,t,r.viewState,i,a))}return o}static _moveDownByViewLines(t,n,i,o){const c=[];for(let d=0,r=n.length;d<r;d++){const s=n[d];c[d]=m.CursorState.fromViewState(k.MoveOperations.moveDown(t.cursorConfig,t,s.viewState,i,o))}return c}static _moveDownByModelLines(t,n,i,o){const c=[];for(let d=0,r=n.length;d<r;d++){const s=n[d];c[d]=m.CursorState.fromModelState(k.MoveOperations.moveDown(t.cursorConfig,t.model,s.modelState,i,o))}return c}static _moveUpByViewLines(t,n,i,o){const c=[];for(let d=0,r=n.length;d<r;d++){const s=n[d];c[d]=m.CursorState.fromViewState(k.MoveOperations.moveUp(t.cursorConfig,t,s.viewState,i,o))}return c}static _moveUpByModelLines(t,n,i,o){const c=[];for(let d=0,r=n.length;d<r;d++){const s=n[d];c[d]=m.CursorState.fromModelState(k.MoveOperations.moveUp(t.cursorConfig,t.model,s.modelState,i,o))}return c}static _moveToViewPosition(t,n,i,o,c){return m.CursorState.fromViewState(n.viewState.move(i,o,c,0))}static _moveToModelPosition(t,n,i,o,c){return m.CursorState.fromModelState(n.modelState.move(i,o,c,0))}static _moveToViewMinColumn(t,n,i){const o=[];for(let c=0,d=n.length;c<d;c++){const r=n[c],s=r.viewState.position.lineNumber,a=t.getLineMinColumn(s);o[c]=this._moveToViewPosition(t,r,i,s,a)}return o}static _moveToViewFirstNonWhitespaceColumn(t,n,i){const o=[];for(let c=0,d=n.length;c<d;c++){const r=n[c],s=r.viewState.position.lineNumber,a=t.getLineFirstNonWhitespaceColumn(s);o[c]=this._moveToViewPosition(t,r,i,s,a)}return o}static _moveToViewCenterColumn(t,n,i){const o=[];for(let c=0,d=n.length;c<d;c++){const r=n[c],s=r.viewState.position.lineNumber,a=Math.round((t.getLineMaxColumn(s)+t.getLineMinColumn(s))/2);o[c]=this._moveToViewPosition(t,r,i,s,a)}return o}static _moveToViewMaxColumn(t,n,i){const o=[];for(let c=0,d=n.length;c<d;c++){const r=n[c],s=r.viewState.position.lineNumber,a=t.getLineMaxColumn(s);o[c]=this._moveToViewPosition(t,r,i,s,a)}return o}static _moveToViewLastNonWhitespaceColumn(t,n,i){const o=[];for(let c=0,d=n.length;c<d;c++){const r=n[c],s=r.viewState.position.lineNumber,a=t.getLineLastNonWhitespaceColumn(s);o[c]=this._moveToViewPosition(t,r,i,s,a)}return o}}e.CursorMoveCommands=C;var u;(function(g){const t=function(i){if(!L.isObject(i))return!1;const o=i;return!(!L.isString(o.to)||!L.isUndefined(o.select)&&!L.isBoolean(o.select)||!L.isUndefined(o.by)&&!L.isString(o.by)||!L.isUndefined(o.value)&&!L.isNumber(o.value))};g.description={description:"Move cursor to a logical position in the view",args:[{name:"Cursor move argument object",description:`Property-value pairs that can be passed through this argument:
+					* 'to': A mandatory logical position value providing where to move the cursor.
+						\`\`\`
+						'left', 'right', 'up', 'down', 'prevBlankLine', 'nextBlankLine',
+						'wrappedLineStart', 'wrappedLineEnd', 'wrappedLineColumnCenter'
+						'wrappedLineFirstNonWhitespaceCharacter', 'wrappedLineLastNonWhitespaceCharacter'
+						'viewPortTop', 'viewPortCenter', 'viewPortBottom', 'viewPortIfOutside'
+						\`\`\`
+					* 'by': Unit to move. Default is computed based on 'to' value.
+						\`\`\`
+						'line', 'wrappedLine', 'character', 'halfLine'
+						\`\`\`
+					* 'value': Number of units to move. Default is '1'.
+					* 'select': If 'true' makes the selection. Default is 'false'.
+				`,constraint:t,schema:{type:"object",required:["to"],properties:{to:{type:"string",enum:["left","right","up","down","prevBlankLine","nextBlankLine","wrappedLineStart","wrappedLineEnd","wrappedLineColumnCenter","wrappedLineFirstNonWhitespaceCharacter","wrappedLineLastNonWhitespaceCharacter","viewPortTop","viewPortCenter","viewPortBottom","viewPortIfOutside"]},by:{type:"string",enum:["line","wrappedLine","character","halfLine"]},value:{type:"number",default:1},select:{type:"boolean",default:!1}}}}]},g.RawDirection={Left:"left",Right:"right",Up:"up",Down:"down",PrevBlankLine:"prevBlankLine",NextBlankLine:"nextBlankLine",WrappedLineStart:"wrappedLineStart",WrappedLineFirstNonWhitespaceCharacter:"wrappedLineFirstNonWhitespaceCharacter",WrappedLineColumnCenter:"wrappedLineColumnCenter",WrappedLineEnd:"wrappedLineEnd",WrappedLineLastNonWhitespaceCharacter:"wrappedLineLastNonWhitespaceCharacter",ViewPortTop:"viewPortTop",ViewPortCenter:"viewPortCenter",ViewPortBottom:"viewPortBottom",ViewPortIfOutside:"viewPortIfOutside"},g.RawUnit={Line:"line",WrappedLine:"wrappedLine",Character:"character",HalfLine:"halfLine"};function n(i){if(!i.to)return null;let o;switch(i.to){case g.RawDirection.Left:o=0;break;case g.RawDirection.Right:o=1;break;case g.RawDirection.Up:o=2;break;case g.RawDirection.Down:o=3;break;case g.RawDirection.PrevBlankLine:o=4;break;case g.RawDirection.NextBlankLine:o=5;break;case g.RawDirection.WrappedLineStart:o=6;break;case g.RawDirection.WrappedLineFirstNonWhitespaceCharacter:o=7;break;case g.RawDirection.WrappedLineColumnCenter:o=8;break;case g.RawDirection.WrappedLineEnd:o=9;break;case g.RawDirection.WrappedLineLastNonWhitespaceCharacter:o=10;break;case g.RawDirection.ViewPortTop:o=11;break;case g.RawDirection.ViewPortBottom:o=13;break;case g.RawDirection.ViewPortCenter:o=12;break;case g.RawDirection.ViewPortIfOutside:o=14;break;default:return null}let c=0;switch(i.by){case g.RawUnit.Line:c=1;break;case g.RawUnit.WrappedLine:c=2;break;case g.RawUnit.Character:c=3;break;case g.RawUnit.HalfLine:c=4;break}return{direction:o,unit:c,select:!!i.select,value:i.value||1}}g.parse=n})(u=e.CursorMove||(e.CursorMove={}))}),define(te[413],ie([1,0,61,11,3,22]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Cursor=void 0;class w{constructor(C){this._selTrackedRange=null,this._trackSelection=!0,this._setState(C,new L.SingleCursorState(new k.Range(1,1,1,1),0,new m.Position(1,1),0),new L.SingleCursorState(new k.Range(1,1,1,1),0,new m.Position(1,1),0))}dispose(C){this._removeTrackedRange(C)}startTrackingSelection(C){this._trackSelection=!0,this._updateTrackedRange(C)}stopTrackingSelection(C){this._trackSelection=!1,this._removeTrackedRange(C)}_updateTrackedRange(C){!this._trackSelection||(this._selTrackedRange=C.model._setTrackedRange(this._selTrackedRange,this.modelState.selection,0))}_removeTrackedRange(C){this._selTrackedRange=C.model._setTrackedRange(this._selTrackedRange,null,0)}asCursorState(){return new L.CursorState(this.modelState,this.viewState)}readSelectionFromMarkers(C){const u=C.model._getTrackedRange(this._selTrackedRange);return I.Selection.fromRange(u,this.modelState.selection.getDirection())}ensureValidState(C){this._setState(C,this.modelState,this.viewState)}setState(C,u,g){this._setState(C,u,g)}static _validatePositionWithCache(C,u,g,t){return u.equals(g)?t:C.normalizePosition(u,2)}static _validateViewState(C,u){const g=u.position,t=u.selectionStart.getStartPosition(),n=u.selectionStart.getEndPosition(),i=C.normalizePosition(g,2),o=this._validatePositionWithCache(C,t,g,i),c=this._validatePositionWithCache(C,n,t,o);return g.equals(i)&&t.equals(o)&&n.equals(c)?u:new L.SingleCursorState(k.Range.fromPositions(o,c),u.selectionStartLeftoverVisibleColumns+t.column-o.column,i,u.leftoverVisibleColumns+g.column-i.column)}_setState(C,u,g){if(g&&(g=w._validateViewState(C.viewModel,g)),u){const t=C.model.validateRange(u.selectionStart),n=u.selectionStart.equalsRange(t)?u.selectionStartLeftoverVisibleColumns:0,i=C.model.validatePosition(u.position),o=u.position.equals(i)?u.leftoverVisibleColumns:0;u=new L.SingleCursorState(t,n,i,o)}else{if(!g)return;const t=C.model.validateRange(C.coordinatesConverter.convertViewRangeToModelRange(g.selectionStart)),n=C.model.validatePosition(C.coordinatesConverter.convertViewPositionToModelPosition(g.position));u=new L.SingleCursorState(t,g.selectionStartLeftoverVisibleColumns,n,g.leftoverVisibleColumns)}if(g){const t=C.coordinatesConverter.validateViewRange(g.selectionStart,u.selectionStart),n=C.coordinatesConverter.validateViewPosition(g.position,u.position);g=new L.SingleCursorState(t,u.selectionStartLeftoverVisibleColumns,n,u.leftoverVisibleColumns)}else{const t=C.coordinatesConverter.convertModelPositionToViewPosition(new m.Position(u.selectionStart.startLineNumber,u.selectionStart.startColumn)),n=C.coordinatesConverter.convertModelPositionToViewPosition(new m.Position(u.selectionStart.endLineNumber,u.selectionStart.endColumn)),i=new k.Range(t.lineNumber,t.column,n.lineNumber,n.column),o=C.coordinatesConverter.convertModelPositionToViewPosition(u.position);g=new L.SingleCursorState(i,u.selectionStartLeftoverVisibleColumns,o,u.leftoverVisibleColumns)}this.modelState=u,this.viewState=g,this._updateTrackedRange(C)}}e.Cursor=w}),define(te[414],ie([1,0,18,61,413,11,3,22]),function(q,e,L,m,k,I,w,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CursorCollection=void 0;class C{constructor(g){this.context=g,this.cursors=[new k.Cursor(g)],this.lastAddedCursorIndex=0}dispose(){for(const g of this.cursors)g.dispose(this.context)}startTrackingSelections(){for(const g of this.cursors)g.startTrackingSelection(this.context)}stopTrackingSelections(){for(const g of this.cursors)g.stopTrackingSelection(this.context)}updateContext(g){this.context=g}ensureValidState(){for(const g of this.cursors)g.ensureValidState(this.context)}readSelectionFromMarkers(){return this.cursors.map(g=>g.readSelectionFromMarkers(this.context))}getAll(){return this.cursors.map(g=>g.asCursorState())}getViewPositions(){return this.cursors.map(g=>g.viewState.position)}getTopMostViewPosition(){return(0,L.findMinBy)(this.cursors,(0,L.compareBy)(g=>g.viewState.position,I.Position.compare)).viewState.position}getBottomMostViewPosition(){return(0,L.findLastMaxBy)(this.cursors,(0,L.compareBy)(g=>g.viewState.position,I.Position.compare)).viewState.position}getSelections(){return this.cursors.map(g=>g.modelState.selection)}getViewSelections(){return this.cursors.map(g=>g.viewState.selection)}setSelections(g){this.setStates(m.CursorState.fromModelSelections(g))}getPrimaryCursor(){return this.cursors[0].asCursorState()}setStates(g){g!==null&&(this.cursors[0].setState(this.context,g[0].modelState,g[0].viewState),this._setSecondaryStates(g.slice(1)))}_setSecondaryStates(g){const t=this.cursors.length-1,n=g.length;if(t<n){const i=n-t;for(let o=0;o<i;o++)this._addSecondaryCursor()}else if(t>n){const i=t-n;for(let o=0;o<i;o++)this._removeSecondaryCursor(this.cursors.length-2)}for(let i=0;i<n;i++)this.cursors[i+1].setState(this.context,g[i].modelState,g[i].viewState)}killSecondaryCursors(){this._setSecondaryStates([])}_addSecondaryCursor(){this.cursors.push(new k.Cursor(this.context)),this.lastAddedCursorIndex=this.cursors.length-1}getLastAddedCursorIndex(){return this.cursors.length===1||this.lastAddedCursorIndex===0?0:this.lastAddedCursorIndex}_removeSecondaryCursor(g){this.lastAddedCursorIndex>=g+1&&this.lastAddedCursorIndex--,this.cursors[g+1].dispose(this.context),this.cursors.splice(g+1,1)}normalize(){if(this.cursors.length===1)return;const g=this.cursors.slice(0),t=[];for(let n=0,i=g.length;n<i;n++)t.push({index:n,selection:g[n].modelState.selection});t.sort((0,L.compareBy)(n=>n.selection,w.Range.compareRangesUsingStarts));for(let n=0;n<t.length-1;n++){const i=t[n],o=t[n+1],c=i.selection,d=o.selection;if(!this.context.cursorConfig.multiCursorMergeOverlapping)continue;let r;if(d.isEmpty()||c.isEmpty()?r=d.getStartPosition().isBeforeOrEqual(c.getEndPosition()):r=d.getStartPosition().isBefore(c.getEndPosition()),r){const s=i.index<o.index?n:n+1,a=i.index<o.index?n+1:n,l=t[a].index,h=t[s].index,f=t[a].selection,S=t[s].selection;if(!f.equalsSelection(S)){const v=f.plusRange(S),p=f.selectionStartLineNumber===f.startLineNumber&&f.selectionStartColumn===f.startColumn,_=S.selectionStartLineNumber===S.startLineNumber&&S.selectionStartColumn===S.startColumn;let y;l===this.lastAddedCursorIndex?(y=p,this.lastAddedCursorIndex=h):y=_;let E;y?E=new b.Selection(v.startLineNumber,v.startColumn,v.endLineNumber,v.endColumn):E=new b.Selection(v.endLineNumber,v.endColumn,v.startLineNumber,v.startColumn),t[s].selection=E;const N=m.CursorState.fromModelSelection(E);g[h].setState(this.context,N.modelState,N.viewState)}for(const v of t)v.index>l&&v.index--;g.splice(l,1),t.splice(a,1),this._removeSecondaryCursor(l-1),n--}}}}e.CursorCollection=C}),define(te[415],ie([1,0,122]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CharacterPairSupport=void 0;class m{constructor(w){if(w.autoClosingPairs?this._autoClosingPairs=w.autoClosingPairs.map(b=>new L.StandardAutoClosingPairConditional(b)):w.brackets?this._autoClosingPairs=w.brackets.map(b=>new L.StandardAutoClosingPairConditional({open:b[0],close:b[1]})):this._autoClosingPairs=[],w.colorizedBracketPairs?this._colorizedBracketPairs=k(w.colorizedBracketPairs.map(b=>[b[0],b[1]])):w.brackets?this._colorizedBracketPairs=k(w.brackets.map(b=>[b[0],b[1]]).filter(b=>!(b[0]==="<"&&b[1]===">"))):this._colorizedBracketPairs=[],w.__electricCharacterSupport&&w.__electricCharacterSupport.docComment){const b=w.__electricCharacterSupport.docComment;this._autoClosingPairs.push(new L.StandardAutoClosingPairConditional({open:b.open,close:b.close||""}))}this._autoCloseBefore=typeof w.autoCloseBefore=="string"?w.autoCloseBefore:m.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED,this._surroundingPairs=w.surroundingPairs||this._autoClosingPairs}getAutoClosingPairs(){return this._autoClosingPairs}getAutoCloseBeforeSet(){return this._autoCloseBefore}getSurroundingPairs(){return this._surroundingPairs}getColorizedBrackets(){return this._colorizedBracketPairs}}e.CharacterPairSupport=m,m.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED=`;:.,=}])> 
+	`;function k(I){return I.filter(([w,b])=>w!==""&&b!=="")}}),define(te[416],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IndentRulesSupport=void 0;function L(k){return k.global&&(k.lastIndex=0),!0}class m{constructor(I){this._indentationRules=I}shouldIncrease(I){return!!(this._indentationRules&&this._indentationRules.increaseIndentPattern&&L(this._indentationRules.increaseIndentPattern)&&this._indentationRules.increaseIndentPattern.test(I))}shouldDecrease(I){return!!(this._indentationRules&&this._indentationRules.decreaseIndentPattern&&L(this._indentationRules.decreaseIndentPattern)&&this._indentationRules.decreaseIndentPattern.test(I))}shouldIndentNextLine(I){return!!(this._indentationRules&&this._indentationRules.indentNextLinePattern&&L(this._indentationRules.indentNextLinePattern)&&this._indentationRules.indentNextLinePattern.test(I))}shouldIgnore(I){return!!(this._indentationRules&&this._indentationRules.unIndentedLinePattern&&L(this._indentationRules.unIndentedLinePattern)&&this._indentationRules.unIndentedLinePattern.test(I))}getIndentMetadata(I){let w=0;return this.shouldIncrease(I)&&(w+=1),this.shouldDecrease(I)&&(w+=2),this.shouldIndentNextLine(I)&&(w+=4),this.shouldIgnore(I)&&(w+=8),w}}e.IndentRulesSupport=m}),define(te[417],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BasicInplaceReplace=void 0;class L{constructor(){this._defaultValueSet=[["true","false"],["True","False"],["Private","Public","Friend","ReadOnly","Partial","Protected","WriteOnly"],["public","protected","private"]]}navigateValueSet(k,I,w,b,C){if(k&&I){const u=this.doNavigateValueSet(I,C);if(u)return{range:k,value:u}}if(w&&b){const u=this.doNavigateValueSet(b,C);if(u)return{range:w,value:u}}return null}doNavigateValueSet(k,I){const w=this.numberReplace(k,I);return w!==null?w:this.textReplace(k,I)}numberReplace(k,I){const w=Math.pow(10,k.length-(k.lastIndexOf(".")+1));let b=Number(k),C=parseFloat(k);return!isNaN(b)&&!isNaN(C)&&b===C?b===0&&!I?null:(b=Math.floor(b*w),b+=I?w:-w,String(b/w)):null}textReplace(k,I){return this.valueSetsReplace(this._defaultValueSet,k,I)}valueSetsReplace(k,I,w){let b=null;for(let C=0,u=k.length;b===null&&C<u;C++)b=this.valueSetReplace(k[C],I,w);return b}valueSetReplace(k,I,w){let b=k.indexOf(I);return b>=0?(b+=w?1:-1,b<0?b=k.length-1:b%=k.length,k[b]):null}}e.BasicInplaceReplace=L,L.INSTANCE=new L}),define(te[418],ie([1,0,13,8,122]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OnEnterSupport=void 0;class I{constructor(b){b=b||{},b.brackets=b.brackets||[["(",")"],["{","}"],["[","]"]],this._brackets=[],b.brackets.forEach(C=>{const u=I._createOpenBracketRegExp(C[0]),g=I._createCloseBracketRegExp(C[1]);u&&g&&this._brackets.push({open:C[0],openRegExp:u,close:C[1],closeRegExp:g})}),this._regExpRules=b.onEnterRules||[]}onEnter(b,C,u,g){if(b>=3)for(let t=0,n=this._regExpRules.length;t<n;t++){const i=this._regExpRules[t];if([{reg:i.beforeText,text:u},{reg:i.afterText,text:g},{reg:i.previousLineText,text:C}].every(c=>c.reg?(c.reg.lastIndex=0,c.reg.test(c.text)):!0))return i.action}if(b>=2&&u.length>0&&g.length>0)for(let t=0,n=this._brackets.length;t<n;t++){const i=this._brackets[t];if(i.openRegExp.test(u)&&i.closeRegExp.test(g))return{indentAction:k.IndentAction.IndentOutdent}}if(b>=2&&u.length>0){for(let t=0,n=this._brackets.length;t<n;t++)if(this._brackets[t].openRegExp.test(u))return{indentAction:k.IndentAction.Indent}}return null}static _createOpenBracketRegExp(b){let C=m.escapeRegExpCharacters(b);return/\B/.test(C.charAt(0))||(C="\\b"+C),C+="\\s*$",I._safeRegExp(C)}static _createCloseBracketRegExp(b){let C=m.escapeRegExpCharacters(b);return/\B/.test(C.charAt(C.length-1))||(C=C+"\\b"),C="^\\s*"+C,I._safeRegExp(C)}static _safeRegExp(b){try{return new RegExp(b)}catch(C){return(0,L.onUnexpectedError)(C),null}}}e.OnEnterSupport=I}),define(te[183],ie([1,0,8,93,3]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BracketsUtils=e.RichEditBrackets=e.RichEditBracket=void 0;class I{constructor(l,h,f,S,v,p){this._richEditBracketBrand=void 0,this.languageId=l,this.index=h,this.open=f,this.close=S,this.forwardRegex=v,this.reversedRegex=p,this._openSet=I._toSet(this.open),this._closeSet=I._toSet(this.close)}isOpen(l){return this._openSet.has(l)}isClose(l){return this._closeSet.has(l)}static _toSet(l){const h=new Set;for(const f of l)h.add(f);return h}}e.RichEditBracket=I;function w(a){const l=a.length;a=a.map(p=>[p[0].toLowerCase(),p[1].toLowerCase()]);const h=[];for(let p=0;p<l;p++)h[p]=p;const f=(p,_)=>{const[y,E]=p,[N,D]=_;return y===N||y===D||E===N||E===D},S=(p,_)=>{const y=Math.min(p,_),E=Math.max(p,_);for(let N=0;N<l;N++)h[N]===E&&(h[N]=y)};for(let p=0;p<l;p++){const _=a[p];for(let y=p+1;y<l;y++){const E=a[y];f(_,E)&&S(h[p],h[y])}}const v=[];for(let p=0;p<l;p++){const _=[],y=[];for(let E=0;E<l;E++)if(h[E]===p){const[N,D]=a[E];_.push(N),y.push(D)}_.length>0&&v.push({open:_,close:y})}return v}class b{constructor(l,h){this._richEditBracketsBrand=void 0;const f=w(h);this.brackets=f.map((S,v)=>new I(l,v,S.open,S.close,t(S.open,S.close,f,v),n(S.open,S.close,f,v))),this.forwardRegex=i(this.brackets),this.reversedRegex=o(this.brackets),this.textIsBracket={},this.textIsOpenBracket={},this.maxBracketLength=0;for(const S of this.brackets){for(const v of S.open)this.textIsBracket[v]=S,this.textIsOpenBracket[v]=!0,this.maxBracketLength=Math.max(this.maxBracketLength,v.length);for(const v of S.close)this.textIsBracket[v]=S,this.textIsOpenBracket[v]=!1,this.maxBracketLength=Math.max(this.maxBracketLength,v.length)}}}e.RichEditBrackets=b;function C(a,l,h,f){for(let S=0,v=l.length;S<v;S++){if(S===h)continue;const p=l[S];for(const _ of p.open)_.indexOf(a)>=0&&f.push(_);for(const _ of p.close)_.indexOf(a)>=0&&f.push(_)}}function u(a,l){return a.length-l.length}function g(a){if(a.length<=1)return a;const l=[],h=new Set;for(const f of a)h.has(f)||(l.push(f),h.add(f));return l}function t(a,l,h,f){let S=[];S=S.concat(a),S=S.concat(l);for(let v=0,p=S.length;v<p;v++)C(S[v],h,f,S);return S=g(S),S.sort(u),S.reverse(),d(S)}function n(a,l,h,f){let S=[];S=S.concat(a),S=S.concat(l);for(let v=0,p=S.length;v<p;v++)C(S[v],h,f,S);return S=g(S),S.sort(u),S.reverse(),d(S.map(r))}function i(a){let l=[];for(const h of a){for(const f of h.open)l.push(f);for(const f of h.close)l.push(f)}return l=g(l),d(l)}function o(a){let l=[];for(const h of a){for(const f of h.open)l.push(f);for(const f of h.close)l.push(f)}return l=g(l),d(l.map(r))}function c(a){const l=/^[\w ]+$/.test(a);return a=L.escapeRegExpCharacters(a),l?`\\b${a}\\b`:a}function d(a){const l=`(${a.map(c).join(")|(")})`;return L.createRegExp(l,!0)}const r=function(){function a(f){if(m.hasTextDecoder){const S=new Uint16Array(f.length);let v=0;for(let p=f.length-1;p>=0;p--)S[v++]=f.charCodeAt(p);return m.getPlatformTextDecoder().decode(S)}else{const S=[];let v=0;for(let p=f.length-1;p>=0;p--)S[v++]=f.charAt(p);return S.join("")}}let l=null,h=null;return function(S){return l!==S&&(l=S,h=a(l)),h}}();class s{static _findPrevBracketInText(l,h,f,S){const v=f.match(l);if(!v)return null;const p=f.length-(v.index||0),_=v[0].length,y=S+p;return new k.Range(h,y-_+1,h,y+1)}static findPrevBracketInRange(l,h,f,S,v){const _=r(f).substring(f.length-v,f.length-S);return this._findPrevBracketInText(l,h,_,S)}static findNextBracketInText(l,h,f,S){const v=f.match(l);if(!v)return null;const p=v.index||0,_=v[0].length;if(_===0)return null;const y=S+p;return new k.Range(h,y+1,h,y+1+_)}static findNextBracketInRange(l,h,f,S,v){const p=f.substring(S,v);return this.findNextBracketInText(l,h,p,S)}}e.BracketsUtils=s}),define(te[419],ie([1,0,18,123,183]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BracketElectricCharacterSupport=void 0;class I{constructor(b){this._richEditBrackets=b}getElectricCharacters(){const b=[];if(this._richEditBrackets)for(const C of this._richEditBrackets.brackets)for(const u of C.close){const g=u.charAt(u.length-1);b.push(g)}return(0,L.distinct)(b)}onElectricCharacter(b,C,u){if(!this._richEditBrackets||this._richEditBrackets.brackets.length===0)return null;const g=C.findTokenIndexAtOffset(u-1);if((0,m.ignoreBracketsInToken)(C.getStandardTokenType(g)))return null;const t=this._richEditBrackets.reversedRegex,n=C.getLineContent().substring(0,u-1)+b,i=k.BracketsUtils.findPrevBracketInRange(t,1,n,0,n.length);if(!i)return null;const o=n.substring(i.startColumn-1,i.endColumn-1).toLowerCase();if(this._richEditBrackets.textIsOpenBracket[o])return null;const d=C.getActualLineContentBefore(i.startColumn-1);return/^\s*$/.test(d)?{matchOpenBracket:o}:null}}e.BracketElectricCharacterSupport=I}),define(te[420],ie([1,0,30]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.generateTokensCSSForColorMap=e.ThemeTrieElement=e.ThemeTrieElementRule=e.strcmp=e.toStandardTokenType=e.TokenTheme=e.ColorMap=e.parseTokenTheme=e.ParsedTokenThemeRule=void 0;class m{constructor(d,r,s,a,l){this._parsedThemeRuleBrand=void 0,this.token=d,this.index=r,this.fontStyle=s,this.foreground=a,this.background=l}}e.ParsedTokenThemeRule=m;function k(c){if(!c||!Array.isArray(c))return[];const d=[];let r=0;for(let s=0,a=c.length;s<a;s++){const l=c[s];let h=-1;if(typeof l.fontStyle=="string"){h=0;const v=l.fontStyle.split(" ");for(let p=0,_=v.length;p<_;p++)switch(v[p]){case"italic":h=h|1;break;case"bold":h=h|2;break;case"underline":h=h|4;break;case"strikethrough":h=h|8;break}}let f=null;typeof l.foreground=="string"&&(f=l.foreground);let S=null;typeof l.background=="string"&&(S=l.background),d[r++]=new m(l.token||"",s,h,f,S)}return d}e.parseTokenTheme=k;function I(c,d){c.sort((p,_)=>{const y=t(p.token,_.token);return y!==0?y:p.index-_.index});let r=0,s="000000",a="ffffff";for(;c.length>=1&&c[0].token==="";){const p=c.shift();p.fontStyle!==-1&&(r=p.fontStyle),p.foreground!==null&&(s=p.foreground),p.background!==null&&(a=p.background)}const l=new b;for(let p of d)l.getId(p);const h=l.getId(s),f=l.getId(a),S=new n(r,h,f),v=new i(S);for(let p=0,_=c.length;p<_;p++){const y=c[p];v.insert(y.token,y.fontStyle,l.getId(y.foreground),l.getId(y.background))}return new C(l,v)}const w=/^#?([0-9A-Fa-f]{6})([0-9A-Fa-f]{2})?$/;class b{constructor(){this._lastColorId=0,this._id2color=[],this._color2id=new Map}getId(d){if(d===null)return 0;const r=d.match(w);if(!r)throw new Error("Illegal value for token color: "+d);d=r[1].toUpperCase();let s=this._color2id.get(d);return s||(s=++this._lastColorId,this._color2id.set(d,s),this._id2color[s]=L.Color.fromHex("#"+d),s)}getColorMap(){return this._id2color.slice(0)}}e.ColorMap=b;class C{constructor(d,r){this._colorMap=d,this._root=r,this._cache=new Map}static createFromRawTokenTheme(d,r){return this.createFromParsedTokenTheme(k(d),r)}static createFromParsedTokenTheme(d,r){return I(d,r)}getColorMap(){return this._colorMap.getColorMap()}_match(d){return this._root.match(d)}match(d,r){let s=this._cache.get(r);if(typeof s=="undefined"){const a=this._match(r),l=g(r);s=(a.metadata|l<<8)>>>0,this._cache.set(r,s)}return(s|d<<0)>>>0}}e.TokenTheme=C;const u=/\b(comment|string|regex|regexp)\b/;function g(c){const d=c.match(u);if(!d)return 0;switch(d[1]){case"comment":return 1;case"string":return 2;case"regex":return 3;case"regexp":return 3}throw new Error("Unexpected match for standard token type!")}e.toStandardTokenType=g;function t(c,d){return c<d?-1:c>d?1:0}e.strcmp=t;class n{constructor(d,r,s){this._themeTrieElementRuleBrand=void 0,this._fontStyle=d,this._foreground=r,this._background=s,this.metadata=(this._fontStyle<<10|this._foreground<<14|this._background<<23)>>>0}clone(){return new n(this._fontStyle,this._foreground,this._background)}acceptOverwrite(d,r,s){d!==-1&&(this._fontStyle=d),r!==0&&(this._foreground=r),s!==0&&(this._background=s),this.metadata=(this._fontStyle<<10|this._foreground<<14|this._background<<23)>>>0}}e.ThemeTrieElementRule=n;class i{constructor(d){this._themeTrieElementBrand=void 0,this._mainRule=d,this._children=new Map}match(d){if(d==="")return this._mainRule;const r=d.indexOf(".");let s,a;r===-1?(s=d,a=""):(s=d.substring(0,r),a=d.substring(r+1));const l=this._children.get(s);return typeof l!="undefined"?l.match(a):this._mainRule}insert(d,r,s,a){if(d===""){this._mainRule.acceptOverwrite(r,s,a);return}const l=d.indexOf(".");let h,f;l===-1?(h=d,f=""):(h=d.substring(0,l),f=d.substring(l+1));let S=this._children.get(h);typeof S=="undefined"&&(S=new i(this._mainRule.clone()),this._children.set(h,S)),S.insert(f,r,s,a)}}e.ThemeTrieElement=i;function o(c){const d=[];for(let r=1,s=c.length;r<s;r++){const a=c[r];d[r]=`.mtk${r} { color: ${a}; }`}return d.push(".mtki { font-style: italic; }"),d.push(".mtkb { font-weight: bold; }"),d.push(".mtku { text-decoration: underline; text-underline-position: under; }"),d.push(".mtks { text-decoration: line-through; }"),d.push(".mtks.mtku { text-decoration: underline line-through; text-underline-position: under; }"),d.join(`
+`)}e.generateTokensCSSForColorMap=o}),define(te[50],ie([1,0,40]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.shouldSynchronizeModel=e.ApplyEditsResult=e.SearchData=e.ValidAnnotatedEditOperation=e.FindMatch=e.TextModelResolvedOptions=e.InjectedTextCursorStops=e.MinimapPosition=e.OverviewRulerLane=void 0;var m;(function(n){n[n.Left=1]="Left",n[n.Center=2]="Center",n[n.Right=4]="Right",n[n.Full=7]="Full"})(m=e.OverviewRulerLane||(e.OverviewRulerLane={}));var k;(function(n){n[n.Inline=1]="Inline",n[n.Gutter=2]="Gutter"})(k=e.MinimapPosition||(e.MinimapPosition={}));var I;(function(n){n[n.Both=0]="Both",n[n.Right=1]="Right",n[n.Left=2]="Left",n[n.None=3]="None"})(I=e.InjectedTextCursorStops||(e.InjectedTextCursorStops={}));class w{constructor(i){this._textModelResolvedOptionsBrand=void 0,this.tabSize=Math.max(1,i.tabSize|0),this.indentSize=i.tabSize|0,this.insertSpaces=Boolean(i.insertSpaces),this.defaultEOL=i.defaultEOL|0,this.trimAutoWhitespace=Boolean(i.trimAutoWhitespace),this.bracketPairColorizationOptions=i.bracketPairColorizationOptions}equals(i){return this.tabSize===i.tabSize&&this.indentSize===i.indentSize&&this.insertSpaces===i.insertSpaces&&this.defaultEOL===i.defaultEOL&&this.trimAutoWhitespace===i.trimAutoWhitespace&&(0,L.equals)(this.bracketPairColorizationOptions,i.bracketPairColorizationOptions)}createChangeEvent(i){return{tabSize:this.tabSize!==i.tabSize,indentSize:this.indentSize!==i.indentSize,insertSpaces:this.insertSpaces!==i.insertSpaces,trimAutoWhitespace:this.trimAutoWhitespace!==i.trimAutoWhitespace}}}e.TextModelResolvedOptions=w;class b{constructor(i,o){this._findMatchBrand=void 0,this.range=i,this.matches=o}}e.FindMatch=b;class C{constructor(i,o,c,d,r,s){this.identifier=i,this.range=o,this.text=c,this.forceMoveMarkers=d,this.isAutoWhitespaceEdit=r,this._isTracked=s}}e.ValidAnnotatedEditOperation=C;class u{constructor(i,o,c){this.regex=i,this.wordSeparators=o,this.simpleSearch=c}}e.SearchData=u;class g{constructor(i,o,c){this.reverseEdits=i,this.changes=o,this.trimAutoWhitespaceLineNumbers=c}}e.ApplyEditsResult=g;function t(n){return!n.isTooLargeForSyncing()&&!n.isForSimpleWidget}e.shouldSynchronizeModel=t}),define(te[421],ie([1,0,4,2,50,410]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LanguageFeatureRegistry=void 0;function w(C){return typeof C=="string"?!1:Array.isArray(C)?C.every(w):!!C.exclusive}class b{constructor(u){this._notebookTypeResolver=u,this._clock=0,this._entries=[],this._onDidChange=new L.Emitter,this.onDidChange=this._onDidChange.event}register(u,g){let t={selector:u,provider:g,_score:-1,_time:this._clock++};return this._entries.push(t),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),(0,m.toDisposable)(()=>{if(t){const n=this._entries.indexOf(t);n>=0&&(this._entries.splice(n,1),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),t=void 0)}})}has(u){return this.all(u).length>0}all(u){if(!u)return[];this._updateScores(u);const g=[];for(let t of this._entries)t._score>0&&g.push(t.provider);return g}ordered(u){const g=[];return this._orderedForEach(u,t=>g.push(t.provider)),g}orderedGroups(u){const g=[];let t,n;return this._orderedForEach(u,i=>{t&&n===i._score?t.push(i.provider):(n=i._score,t=[i.provider],g.push(t))}),g}_orderedForEach(u,g){if(!!u){this._updateScores(u);for(const t of this._entries)t._score>0&&g(t)}}_updateScores(u){var g;const t=(g=this._notebookTypeResolver)===null||g===void 0?void 0:g.call(this,u.uri),n={uri:u.uri.toString(),language:u.getLanguageId(),notebookType:t};if(!(this._lastCandidate&&this._lastCandidate.language===n.language&&this._lastCandidate.uri===n.uri&&this._lastCandidate.notebookType===n.notebookType)){this._lastCandidate=n;for(let i of this._entries)if(i._score=(0,I.score)(i.selector,u.uri,u.getLanguageId(),(0,k.shouldSynchronizeModel)(u),t),w(i.selector)&&i._score>0){for(let o of this._entries)o._score=0;i._score=1e3;break}this._entries.sort(b._compareByScoreAndTime)}}static _compareByScoreAndTime(u,g){return u._score<g._score?1:u._score>g._score?-1:u._time<g._time?1:u._time>g._time?-1:0}}e.LanguageFeatureRegistry=b}),define(te[85],ie([1,0,8,3]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.lengthOfString=e.lengthsToRange=e.positionToLength=e.lengthGreaterThanEqual=e.lengthLessThanEqual=e.lengthLessThan=e.lengthDiffNonNegative=e.lengthAdd=e.lengthGetColumnCountIfZeroLineCount=e.lengthGetLineCount=e.lengthToObj=e.toLength=e.lengthIsZero=e.lengthZero=e.lengthDiff=e.LengthObj=void 0;class k{constructor(h,f){this.lineCount=h,this.columnCount=f}toString(){return`${this.lineCount},${this.columnCount}`}}e.LengthObj=k,k.zero=new k(0,0);function I(l,h,f,S){return l!==f?C(f-l,S):C(0,S-h)}e.lengthDiff=I,e.lengthZero=0;function w(l){return l===0}e.lengthIsZero=w;const b=Math.pow(2,26);function C(l,h){return l*b+h}e.toLength=C;function u(l){const h=l,f=Math.floor(h/b),S=h-f*b;return new k(f,S)}e.lengthToObj=u;function g(l){return Math.floor(l/b)}e.lengthGetLineCount=g;function t(l){return l}e.lengthGetColumnCountIfZeroLineCount=t;function n(l,h){return h<b?l+h:l-l%b+h}e.lengthAdd=n;function i(l,h){const f=l,S=h;if(S-f<=0)return e.lengthZero;const p=Math.floor(f/b),_=Math.floor(S/b),y=S-_*b;if(p===_){const E=f-p*b;return C(0,y-E)}else return C(_-p,y)}e.lengthDiffNonNegative=i;function o(l,h){return l<h}e.lengthLessThan=o;function c(l,h){return l<=h}e.lengthLessThanEqual=c;function d(l,h){return l>=h}e.lengthGreaterThanEqual=d;function r(l){return C(l.lineNumber-1,l.column-1)}e.positionToLength=r;function s(l,h){const f=l,S=Math.floor(f/b),v=f-S*b,p=h,_=Math.floor(p/b),y=p-_*b;return new m.Range(S+1,v+1,_+1,y+1)}e.lengthsToRange=s;function a(l){const h=(0,L.splitLines)(l);return C(h.length-1,h[h.length-1].length)}e.lengthOfString=a}),define(te[243],ie([1,0,85]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BeforeEditPositionMapper=e.TextEditInfo=void 0;class m{constructor(b,C,u){this.startOffset=b,this.endOffset=C,this.newLength=u}}e.TextEditInfo=m;class k{constructor(b,C){this.documentLength=C,this.nextEditIdx=0,this.deltaOldToNewLineCount=0,this.deltaOldToNewColumnCount=0,this.deltaLineIdxInOld=-1,this.edits=b.map(u=>I.from(u))}getOffsetBeforeChange(b){return this.adjustNextEdit(b),this.translateCurToOld(b)}getDistanceToNextChange(b){this.adjustNextEdit(b);const C=this.edits[this.nextEditIdx],u=C?this.translateOldToCur(C.offsetObj):this.documentLength;return(0,L.lengthDiffNonNegative)(b,u)}translateOldToCur(b){return b.lineCount===this.deltaLineIdxInOld?(0,L.toLength)(b.lineCount+this.deltaOldToNewLineCount,b.columnCount+this.deltaOldToNewColumnCount):(0,L.toLength)(b.lineCount+this.deltaOldToNewLineCount,b.columnCount)}translateCurToOld(b){const C=(0,L.lengthToObj)(b);return C.lineCount-this.deltaOldToNewLineCount===this.deltaLineIdxInOld?(0,L.toLength)(C.lineCount-this.deltaOldToNewLineCount,C.columnCount-this.deltaOldToNewColumnCount):(0,L.toLength)(C.lineCount-this.deltaOldToNewLineCount,C.columnCount)}adjustNextEdit(b){for(;this.nextEditIdx<this.edits.length;){const C=this.edits[this.nextEditIdx],u=this.translateOldToCur(C.endOffsetAfterObj);if((0,L.lengthLessThanEqual)(u,b)){this.nextEditIdx++;const g=(0,L.lengthToObj)(u),t=(0,L.lengthToObj)(this.translateOldToCur(C.endOffsetBeforeObj)),n=g.lineCount-t.lineCount;this.deltaOldToNewLineCount+=n;const i=this.deltaLineIdxInOld===C.endOffsetBeforeObj.lineCount?this.deltaOldToNewColumnCount:0,o=g.columnCount-t.columnCount;this.deltaOldToNewColumnCount=i+o,this.deltaLineIdxInOld=C.endOffsetBeforeObj.lineCount}else break}}}e.BeforeEditPositionMapper=k;class I{constructor(b,C,u){this.endOffsetBeforeObj=(0,L.lengthToObj)(C),this.endOffsetAfterObj=(0,L.lengthToObj)((0,L.lengthAdd)(b,u)),this.offsetObj=(0,L.lengthToObj)(b)}static from(b){return new I(b.startOffset,b.endOffset,b.newLength)}}}),define(te[422],ie([1,0,85]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.NodeReader=void 0;class m{constructor(b){this.lastOffset=L.lengthZero,this.nextNodes=[b],this.offsets=[L.lengthZero],this.idxs=[]}readLongestNodeAt(b,C){if((0,L.lengthLessThan)(b,this.lastOffset))throw new Error("Invalid offset");for(this.lastOffset=b;;){const u=I(this.nextNodes);if(!u)return;const g=I(this.offsets);if((0,L.lengthLessThan)(b,g))return;if((0,L.lengthLessThan)(g,b))if((0,L.lengthAdd)(g,u.length)<=b)this.nextNodeAfterCurrent();else{const t=k(u);t!==-1?(this.nextNodes.push(u.getChild(t)),this.offsets.push(g),this.idxs.push(t)):this.nextNodeAfterCurrent()}else{if(C(u))return this.nextNodeAfterCurrent(),u;{const t=k(u);if(t===-1){this.nextNodeAfterCurrent();return}else this.nextNodes.push(u.getChild(t)),this.offsets.push(g),this.idxs.push(t)}}}}nextNodeAfterCurrent(){for(;;){const b=I(this.offsets),C=I(this.nextNodes);if(this.nextNodes.pop(),this.offsets.pop(),this.idxs.length===0)break;const u=I(this.nextNodes),g=k(u,this.idxs[this.idxs.length-1]);if(g!==-1){this.nextNodes.push(u.getChild(g)),this.offsets.push((0,L.lengthAdd)(b,C.length)),this.idxs[this.idxs.length-1]=g;break}else this.idxs.pop()}}}e.NodeReader=m;function k(w,b=-1){for(;;){if(b++,b>=w.childrenLength)return-1;if(w.getChild(b))return b}}function I(w){return w.length>0?w[w.length-1]:void 0}}),define(te[101],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DenseKeyProvider=e.identityKeyProvider=e.SmallImmutableSet=void 0;const L=new Array;class m{constructor(w,b){this.items=w,this.additionalItems=b}static create(w,b){if(w<=128&&b.length===0){let C=m.cache[w];return C||(C=new m(w,b),m.cache[w]=C),C}return new m(w,b)}static getEmpty(){return this.empty}add(w,b){const C=b.getKey(w);let u=C>>5;if(u===0){const t=1<<C|this.items;return t===this.items?this:m.create(t,this.additionalItems)}u--;const g=this.additionalItems.slice(0);for(;g.length<u;)g.push(0);return g[u]|=1<<(C&31),m.create(this.items,g)}merge(w){const b=this.items|w.items;if(this.additionalItems===L&&w.additionalItems===L)return b===this.items?this:b===w.items?w:m.create(b,L);const C=new Array;for(let u=0;u<Math.max(this.additionalItems.length,w.additionalItems.length);u++){const g=this.additionalItems[u]||0,t=w.additionalItems[u]||0;C.push(g|t)}return m.create(b,C)}intersects(w){if((this.items&w.items)!=0)return!0;for(let b=0;b<Math.min(this.additionalItems.length,w.additionalItems.length);b++)if((this.additionalItems[b]&w.additionalItems[b])!=0)return!0;return!1}}e.SmallImmutableSet=m,m.cache=new Array(129),m.empty=m.create(0,L),e.identityKeyProvider={getKey(I){return I}};class k{constructor(){this.items=new Map}getKey(w){let b=this.items.get(w);return b===void 0&&(b=this.items.size,this.items.set(w,b)),b}}e.DenseKeyProvider=k}),define(te[152],ie([1,0,70,85,101]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InvalidBracketAstNode=e.BracketAstNode=e.TextAstNode=e.ListAstNode=e.PairAstNode=void 0;class I{constructor(s){this._length=s}get length(){return this._length}}class w extends I{constructor(s,a,l,h,f){super(s);this.openingBracket=a,this.child=l,this.closingBracket=h,this.missingOpeningBracketIds=f}static create(s,a,l){let h=s.length;return a&&(h=(0,m.lengthAdd)(h,a.length)),l&&(h=(0,m.lengthAdd)(h,l.length)),new w(h,s,a,l,a?a.missingOpeningBracketIds:k.SmallImmutableSet.getEmpty())}get kind(){return 2}get listHeight(){return 0}get childrenLength(){return 3}getChild(s){switch(s){case 0:return this.openingBracket;case 1:return this.child;case 2:return this.closingBracket}throw new Error("Invalid child index")}get children(){const s=new Array;return s.push(this.openingBracket),this.child&&s.push(this.child),this.closingBracket&&s.push(this.closingBracket),s}canBeReused(s){return!(this.closingBracket===null||s.intersects(this.missingOpeningBracketIds))}deepClone(){return new w(this.length,this.openingBracket.deepClone(),this.child&&this.child.deepClone(),this.closingBracket&&this.closingBracket.deepClone(),this.missingOpeningBracketIds)}computeMinIndentation(s,a){return this.child?this.child.computeMinIndentation((0,m.lengthAdd)(s,this.openingBracket.length),a):Number.MAX_SAFE_INTEGER}}e.PairAstNode=w;class b extends I{constructor(s,a,l){super(s);this.listHeight=a,this._missingOpeningBracketIds=l,this.cachedMinIndentation=-1}static create23(s,a,l,h=!1){let f=s.length,S=s.missingOpeningBracketIds;if(s.listHeight!==a.listHeight)throw new Error("Invalid list heights");if(f=(0,m.lengthAdd)(f,a.length),S=S.merge(a.missingOpeningBracketIds),l){if(s.listHeight!==l.listHeight)throw new Error("Invalid list heights");f=(0,m.lengthAdd)(f,l.length),S=S.merge(l.missingOpeningBracketIds)}return h?new u(f,s.listHeight+1,s,a,l,S):new C(f,s.listHeight+1,s,a,l,S)}static getEmpty(){return new t(m.lengthZero,0,[],k.SmallImmutableSet.getEmpty())}get kind(){return 4}get missingOpeningBracketIds(){return this._missingOpeningBracketIds}throwIfImmutable(){}makeLastElementMutable(){this.throwIfImmutable();const s=this.childrenLength;if(s===0)return;const a=this.getChild(s-1),l=a.kind===4?a.toMutable():a;return a!==l&&this.setChild(s-1,l),l}makeFirstElementMutable(){if(this.throwIfImmutable(),this.childrenLength===0)return;const a=this.getChild(0),l=a.kind===4?a.toMutable():a;return a!==l&&this.setChild(0,l),l}canBeReused(s){if(s.intersects(this.missingOpeningBracketIds))return!1;let a=this,l;for(;a.kind===4&&(l=a.childrenLength)>0;)a=a.getChild(l-1);return a.canBeReused(s)}handleChildrenChanged(){this.throwIfImmutable();const s=this.childrenLength;let a=this.getChild(0).length,l=this.getChild(0).missingOpeningBracketIds;for(let h=1;h<s;h++){const f=this.getChild(h);a=(0,m.lengthAdd)(a,f.length),l=l.merge(f.missingOpeningBracketIds)}this._length=a,this._missingOpeningBracketIds=l,this.cachedMinIndentation=-1}computeMinIndentation(s,a){if(this.cachedMinIndentation!==-1)return this.cachedMinIndentation;let l=Number.MAX_SAFE_INTEGER,h=s;for(let f=0;f<this.childrenLength;f++){const S=this.getChild(f);S&&(l=Math.min(l,S.computeMinIndentation(h,a)),h=(0,m.lengthAdd)(h,S.length))}return this.cachedMinIndentation=l,l}}e.ListAstNode=b;class C extends b{constructor(s,a,l,h,f,S){super(s,a,S);this._item1=l,this._item2=h,this._item3=f}get childrenLength(){return this._item3!==null?3:2}getChild(s){switch(s){case 0:return this._item1;case 1:return this._item2;case 2:return this._item3}throw new Error("Invalid child index")}setChild(s,a){switch(s){case 0:this._item1=a;return;case 1:this._item2=a;return;case 2:this._item3=a;return}throw new Error("Invalid child index")}get children(){return this._item3?[this._item1,this._item2,this._item3]:[this._item1,this._item2]}get item1(){return this._item1}get item2(){return this._item2}get item3(){return this._item3}deepClone(){return new C(this.length,this.listHeight,this._item1.deepClone(),this._item2.deepClone(),this._item3?this._item3.deepClone():null,this.missingOpeningBracketIds)}appendChildOfSameHeight(s){if(this._item3)throw new Error("Cannot append to a full (2,3) tree node");this.throwIfImmutable(),this._item3=s,this.handleChildrenChanged()}unappendChild(){if(!this._item3)throw new Error("Cannot remove from a non-full (2,3) tree node");this.throwIfImmutable();const s=this._item3;return this._item3=null,this.handleChildrenChanged(),s}prependChildOfSameHeight(s){if(this._item3)throw new Error("Cannot prepend to a full (2,3) tree node");this.throwIfImmutable(),this._item3=this._item2,this._item2=this._item1,this._item1=s,this.handleChildrenChanged()}unprependChild(){if(!this._item3)throw new Error("Cannot remove from a non-full (2,3) tree node");this.throwIfImmutable();const s=this._item1;return this._item1=this._item2,this._item2=this._item3,this._item3=null,this.handleChildrenChanged(),s}toMutable(){return this}}class u extends C{toMutable(){return new C(this.length,this.listHeight,this.item1,this.item2,this.item3,this.missingOpeningBracketIds)}throwIfImmutable(){throw new Error("this instance is immutable")}}class g extends b{constructor(s,a,l,h){super(s,a,h);this._children=l}get childrenLength(){return this._children.length}getChild(s){return this._children[s]}setChild(s,a){this._children[s]=a}get children(){return this._children}deepClone(){const s=new Array(this._children.length);for(let a=0;a<this._children.length;a++)s[a]=this._children[a].deepClone();return new g(this.length,this.listHeight,s,this.missingOpeningBracketIds)}appendChildOfSameHeight(s){this.throwIfImmutable(),this._children.push(s),this.handleChildrenChanged()}unappendChild(){this.throwIfImmutable();const s=this._children.pop();return this.handleChildrenChanged(),s}prependChildOfSameHeight(s){this.throwIfImmutable(),this._children.unshift(s),this.handleChildrenChanged()}unprependChild(){this.throwIfImmutable();const s=this._children.shift();return this.handleChildrenChanged(),s}toMutable(){return this}}class t extends g{toMutable(){return new g(this.length,this.listHeight,[...this.children],this.missingOpeningBracketIds)}throwIfImmutable(){throw new Error("this instance is immutable")}}const n=[];class i extends I{get listHeight(){return 0}get childrenLength(){return 0}getChild(s){return null}get children(){return n}deepClone(){return this}}class o extends i{get kind(){return 0}get missingOpeningBracketIds(){return k.SmallImmutableSet.getEmpty()}canBeReused(s){return!0}computeMinIndentation(s,a){const l=(0,m.lengthToObj)(s),h=(l.columnCount===0?l.lineCount:l.lineCount+1)+1,f=(0,m.lengthGetLineCount)((0,m.lengthAdd)(s,this.length))+1;let S=Number.MAX_SAFE_INTEGER;for(let v=h;v<=f;v++){const p=a.getLineFirstNonWhitespaceColumn(v),_=a.getLineContent(v);if(p===0)continue;const y=L.CursorColumns.visibleColumnFromColumn(_,p,a.getOptions().tabSize);S=Math.min(S,y)}return S}}e.TextAstNode=o;class c extends i{constructor(s,a,l){super(s);this.languageId=a,this.bracketIds=l}static create(s,a,l){return new c(s,a,l)}get kind(){return 1}get missingOpeningBracketIds(){return k.SmallImmutableSet.getEmpty()}canBeReused(s){return!1}computeMinIndentation(s,a){return Number.MAX_SAFE_INTEGER}}e.BracketAstNode=c;class d extends i{constructor(s,a){super(a);this.missingOpeningBracketIds=s}get kind(){return 3}canBeReused(s){return!s.intersects(this.missingOpeningBracketIds)}computeMinIndentation(s,a){return Number.MAX_SAFE_INTEGER}}e.InvalidBracketAstNode=d}),define(te[423],ie([1,0,152]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.concat23TreesOfSameHeight=e.concat23Trees=void 0;function m(u){if(u.length===0)return null;if(u.length===1)return u[0];let g=0;function t(){if(g>=u.length)return null;const c=g,d=u[c].listHeight;for(g++;g<u.length&&u[g].listHeight===d;)g++;return g-c>=2?k(c===0&&g===u.length?u:u.slice(c,g),!1):u[c]}let n=t(),i=t();if(!i)return n;for(let c=t();c;c=t())I(n,i)<=I(i,c)?(n=w(n,i),i=c):i=w(i,c);return w(n,i)}e.concat23Trees=m;function k(u,g=!1){if(u.length===0)return null;if(u.length===1)return u[0];let t=u.length;for(;t>3;){const n=t>>1;for(let i=0;i<n;i++){const o=i<<1;u[i]=L.ListAstNode.create23(u[o],u[o+1],o+3===t?u[o+2]:null,g)}t=n}return L.ListAstNode.create23(u[0],u[1],t>=3?u[2]:null,g)}e.concat23TreesOfSameHeight=k;function I(u,g){return Math.abs(u.listHeight-g.listHeight)}function w(u,g){return u.listHeight===g.listHeight?L.ListAstNode.create23(u,g,null,!1):u.listHeight>g.listHeight?b(u,g):C(g,u)}function b(u,g){u=u.toMutable();let t=u;const n=new Array;let i;for(;;){if(g.listHeight===t.listHeight){i=g;break}if(t.kind!==4)throw new Error("unexpected");n.push(t),t=t.makeLastElementMutable()}for(let o=n.length-1;o>=0;o--){const c=n[o];i?c.childrenLength>=3?i=L.ListAstNode.create23(c.unappendChild(),i,null,!1):(c.appendChildOfSameHeight(i),i=void 0):c.handleChildrenChanged()}return i?L.ListAstNode.create23(u,i,null,!1):u}function C(u,g){u=u.toMutable();let t=u;const n=new Array;for(;g.listHeight!==t.listHeight;){if(t.kind!==4)throw new Error("unexpected");n.push(t),t=t.makeFirstElementMutable()}let i=g;for(let o=n.length-1;o>=0;o--){const c=n[o];i?c.childrenLength>=3?i=L.ListAstNode.create23(i,c.unprependChild(),null,!1):(c.prependChildOfSameHeight(i),i=void 0):c.handleChildrenChanged()}return i?L.ListAstNode.create23(i,u,null,!1):u}}),define(te[244],ie([1,0,152,243,101,85,423,422]),function(q,e,L,m,k,I,w,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.parseDocument=void 0;function C(g,t,n,i){return new u(g,t,n,i).parseDocument()}e.parseDocument=C;class u{constructor(t,n,i,o){if(this.tokenizer=t,this.createImmutableLists=o,this._itemsConstructed=0,this._itemsFromCache=0,i&&o)throw new Error("Not supported");this.oldNodeReader=i?new b.NodeReader(i):void 0,this.positionMapper=new m.BeforeEditPositionMapper(n,t.length)}parseDocument(){this._itemsConstructed=0,this._itemsFromCache=0;let t=this.parseList(k.SmallImmutableSet.getEmpty());return t||(t=L.ListAstNode.getEmpty()),t}parseList(t){const n=new Array;for(;;){const o=this.tokenizer.peek();if(!o||o.kind===2&&o.bracketIds.intersects(t))break;const c=this.parseChild(t);c.kind===4&&c.childrenLength===0||n.push(c)}return this.oldNodeReader?(0,w.concat23Trees)(n):(0,w.concat23TreesOfSameHeight)(n,this.createImmutableLists)}parseChild(t){if(this.oldNodeReader){const i=this.positionMapper.getDistanceToNextChange(this.tokenizer.offset);if(!(0,I.lengthIsZero)(i)){const o=this.oldNodeReader.readLongestNodeAt(this.positionMapper.getOffsetBeforeChange(this.tokenizer.offset),c=>(0,I.lengthLessThan)(c.length,i)?c.canBeReused(t):!1);if(o)return this._itemsFromCache++,this.tokenizer.skip(o.length),o}}this._itemsConstructed++;const n=this.tokenizer.read();switch(n.kind){case 2:return new L.InvalidBracketAstNode(n.bracketIds,n.length);case 0:return n.astNode;case 1:{const i=t.merge(n.bracketIds),o=this.parseList(i),c=this.tokenizer.peek();return c&&c.kind===2&&(c.bracketId===n.bracketId||c.bracketIds.intersects(n.bracketIds))?(this.tokenizer.read(),L.PairAstNode.create(n.astNode,o,c.astNode)):L.PairAstNode.create(n.astNode,o,null)}default:throw new Error("unexpected")}}}}),define(te[424],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.guessIndentation=void 0;class L{constructor(){this.spacesDiff=0,this.looksLikeAlignment=!1}}function m(I,w,b,C,u){u.spacesDiff=0,u.looksLikeAlignment=!1;let g;for(g=0;g<w&&g<C;g++){const r=I.charCodeAt(g),s=b.charCodeAt(g);if(r!==s)break}let t=0,n=0;for(let r=g;r<w;r++)I.charCodeAt(r)===32?t++:n++;let i=0,o=0;for(let r=g;r<C;r++)b.charCodeAt(r)===32?i++:o++;if(t>0&&n>0||i>0&&o>0)return;const c=Math.abs(n-o),d=Math.abs(t-i);if(c===0){u.spacesDiff=d,d>0&&0<=i-1&&i-1<I.length&&i<b.length&&b.charCodeAt(i)!==32&&I.charCodeAt(i-1)===32&&I.charCodeAt(I.length-1)===44&&(u.looksLikeAlignment=!0);return}if(d%c==0){u.spacesDiff=d/c;return}}function k(I,w,b){const C=Math.min(I.getLineCount(),1e4);let u=0,g=0,t="",n=0;const i=[2,4,6,8,3,5,7],o=8,c=[0,0,0,0,0,0,0,0,0],d=new L;for(let a=1;a<=C;a++){const l=I.getLineLength(a),h=I.getLineContent(a),f=l<=65536;let S=!1,v=0,p=0,_=0;for(let E=0,N=l;E<N;E++){const D=f?h.charCodeAt(E):I.getLineCharCode(a,E);if(D===9)_++;else if(D===32)p++;else{S=!0,v=E;break}}if(!S||(_>0?u++:p>1&&g++,m(t,n,h,v,d),d.looksLikeAlignment&&!(b&&w===d.spacesDiff)))continue;const y=d.spacesDiff;y<=o&&c[y]++,t=h,n=v}let r=b;u!==g&&(r=u<g);let s=w;if(r){let a=r?0:.1*C;i.forEach(l=>{const h=c[l];h>a&&(a=h,s=l)}),s===4&&c[4]>0&&c[2]>0&&c[2]>=c[4]/2&&(s=2)}return{insertSpaces:r,tabSize:s}}e.guessIndentation=k}),define(te[425],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.intervalCompare=e.recomputeMaxEnd=e.nodeAcceptEdit=e.IntervalTree=e.SENTINEL=e.IntervalNode=e.getNodeColor=void 0;function L(T){return(T.metadata&1)>>>0}e.getNodeColor=L;function m(T,A){T.metadata=T.metadata&254|A<<0}function k(T){return(T.metadata&2)>>>1==1}function I(T,A){T.metadata=T.metadata&253|(A?1:0)<<1}function w(T){return(T.metadata&4)>>>2==1}function b(T,A){T.metadata=T.metadata&251|(A?1:0)<<2}function C(T){return(T.metadata&24)>>>3}function u(T,A){T.metadata=T.metadata&231|A<<3}function g(T){return(T.metadata&32)>>>5==1}function t(T,A){T.metadata=T.metadata&223|(A?1:0)<<5}class n{constructor(A,P,F){this.metadata=0,this.parent=this,this.left=this,this.right=this,m(this,1),this.start=P,this.end=F,this.delta=0,this.maxEnd=F,this.id=A,this.ownerId=0,this.options=null,b(this,!1),u(this,1),t(this,!1),this.cachedVersionId=0,this.cachedAbsoluteStart=P,this.cachedAbsoluteEnd=F,this.range=null,I(this,!1)}reset(A,P,F,W){this.start=P,this.end=F,this.maxEnd=F,this.cachedVersionId=A,this.cachedAbsoluteStart=P,this.cachedAbsoluteEnd=F,this.range=W}setOptions(A){this.options=A;const P=this.options.className;b(this,P==="squiggly-error"||P==="squiggly-warning"||P==="squiggly-info"),u(this,this.options.stickiness),t(this,this.options.collapseOnReplaceEdit)}setCachedOffsets(A,P,F){this.cachedVersionId!==F&&(this.range=null),this.cachedVersionId=F,this.cachedAbsoluteStart=A,this.cachedAbsoluteEnd=P}detach(){this.parent=null,this.left=null,this.right=null}}e.IntervalNode=n,e.SENTINEL=new n(null,0,0),e.SENTINEL.parent=e.SENTINEL,e.SENTINEL.left=e.SENTINEL,e.SENTINEL.right=e.SENTINEL,m(e.SENTINEL,0);class i{constructor(){this.root=e.SENTINEL,this.requestNormalizeDelta=!1}intervalSearch(A,P,F,W,R){return this.root===e.SENTINEL?[]:f(this,A,P,F,W,R)}search(A,P,F){return this.root===e.SENTINEL?[]:h(this,A,P,F)}collectNodesFromOwner(A){return a(this,A)}collectNodesPostOrder(){return l(this)}insert(A){S(this,A),this._normalizeDeltaIfNecessary()}delete(A){p(this,A),this._normalizeDeltaIfNecessary()}resolveNode(A,P){const F=A;let W=0;for(;A!==this.root;)A===A.parent.right&&(W+=A.parent.delta),A=A.parent;const R=F.start+W,z=F.end+W;F.setCachedOffsets(R,z,P)}acceptReplace(A,P,F,W){const R=r(this,A,A+P);for(let z=0,j=R.length;z<j;z++){const $=R[z];p(this,$)}this._normalizeDeltaIfNecessary(),s(this,A,A+P,F),this._normalizeDeltaIfNecessary();for(let z=0,j=R.length;z<j;z++){const $=R[z];$.start=$.cachedAbsoluteStart,$.end=$.cachedAbsoluteEnd,d($,A,A+P,F,W),$.maxEnd=$.end,S(this,$)}this._normalizeDeltaIfNecessary()}_normalizeDeltaIfNecessary(){!this.requestNormalizeDelta||(this.requestNormalizeDelta=!1,o(this))}}e.IntervalTree=i;function o(T){let A=T.root,P=0;for(;A!==e.SENTINEL;){if(A.left!==e.SENTINEL&&!k(A.left)){A=A.left;continue}if(A.right!==e.SENTINEL&&!k(A.right)){P+=A.delta,A=A.right;continue}A.start=P+A.start,A.end=P+A.end,A.delta=0,M(A),I(A,!0),I(A.left,!1),I(A.right,!1),A===A.parent.right&&(P-=A.parent.delta),A=A.parent}I(T.root,!1)}function c(T,A,P,F){return T<P?!0:T>P||F===1?!1:F===2?!0:A}function d(T,A,P,F,W){const R=C(T),z=R===0||R===2,j=R===1||R===2,$=P-A,G=F,J=Math.min($,G),re=T.start;let se=!1;const Z=T.end;let V=!1;A<=re&&Z<=P&&g(T)&&(T.start=A,se=!0,T.end=A,V=!0);{const X=W?1:$>0?2:0;!se&&c(re,z,A,X)&&(se=!0),!V&&c(Z,j,A,X)&&(V=!0)}if(J>0&&!W){const X=$>G?2:0;!se&&c(re,z,A+J,X)&&(se=!0),!V&&c(Z,j,A+J,X)&&(V=!0)}{const X=W?1:0;!se&&c(re,z,P,X)&&(T.start=A+G,se=!0),!V&&c(Z,j,P,X)&&(T.end=A+G,V=!0)}const K=G-$;se||(T.start=Math.max(0,re+K)),V||(T.end=Math.max(0,Z+K)),T.start>T.end&&(T.end=T.start)}e.nodeAcceptEdit=d;function r(T,A,P){let F=T.root,W=0,R=0,z=0,j=0;const $=[];let G=0;for(;F!==e.SENTINEL;){if(k(F)){I(F.left,!1),I(F.right,!1),F===F.parent.right&&(W-=F.parent.delta),F=F.parent;continue}if(!k(F.left)){if(R=W+F.maxEnd,R<A){I(F,!0);continue}if(F.left!==e.SENTINEL){F=F.left;continue}}if(z=W+F.start,z>P){I(F,!0);continue}if(j=W+F.end,j>=A&&(F.setCachedOffsets(z,j,0),$[G++]=F),I(F,!0),F.right!==e.SENTINEL&&!k(F.right)){W+=F.delta,F=F.right;continue}}return I(T.root,!1),$}function s(T,A,P,F){let W=T.root,R=0,z=0,j=0;const $=F-(P-A);for(;W!==e.SENTINEL;){if(k(W)){I(W.left,!1),I(W.right,!1),W===W.parent.right&&(R-=W.parent.delta),M(W),W=W.parent;continue}if(!k(W.left)){if(z=R+W.maxEnd,z<A){I(W,!0);continue}if(W.left!==e.SENTINEL){W=W.left;continue}}if(j=R+W.start,j>P){W.start+=$,W.end+=$,W.delta+=$,(W.delta<-1073741824||W.delta>1073741824)&&(T.requestNormalizeDelta=!0),I(W,!0);continue}if(I(W,!0),W.right!==e.SENTINEL&&!k(W.right)){R+=W.delta,W=W.right;continue}}I(T.root,!1)}function a(T,A){let P=T.root;const F=[];let W=0;for(;P!==e.SENTINEL;){if(k(P)){I(P.left,!1),I(P.right,!1),P=P.parent;continue}if(P.left!==e.SENTINEL&&!k(P.left)){P=P.left;continue}if(P.ownerId===A&&(F[W++]=P),I(P,!0),P.right!==e.SENTINEL&&!k(P.right)){P=P.right;continue}}return I(T.root,!1),F}function l(T){let A=T.root;const P=[];let F=0;for(;A!==e.SENTINEL;){if(k(A)){I(A.left,!1),I(A.right,!1),A=A.parent;continue}if(A.left!==e.SENTINEL&&!k(A.left)){A=A.left;continue}if(A.right!==e.SENTINEL&&!k(A.right)){A=A.right;continue}P[F++]=A,I(A,!0)}return I(T.root,!1),P}function h(T,A,P,F){let W=T.root,R=0,z=0,j=0;const $=[];let G=0;for(;W!==e.SENTINEL;){if(k(W)){I(W.left,!1),I(W.right,!1),W===W.parent.right&&(R-=W.parent.delta),W=W.parent;continue}if(W.left!==e.SENTINEL&&!k(W.left)){W=W.left;continue}z=R+W.start,j=R+W.end,W.setCachedOffsets(z,j,F);let J=!0;if(A&&W.ownerId&&W.ownerId!==A&&(J=!1),P&&w(W)&&(J=!1),J&&($[G++]=W),I(W,!0),W.right!==e.SENTINEL&&!k(W.right)){R+=W.delta,W=W.right;continue}}return I(T.root,!1),$}function f(T,A,P,F,W,R){let z=T.root,j=0,$=0,G=0,J=0;const re=[];let se=0;for(;z!==e.SENTINEL;){if(k(z)){I(z.left,!1),I(z.right,!1),z===z.parent.right&&(j-=z.parent.delta),z=z.parent;continue}if(!k(z.left)){if($=j+z.maxEnd,$<A){I(z,!0);continue}if(z.left!==e.SENTINEL){z=z.left;continue}}if(G=j+z.start,G>P){I(z,!0);continue}if(J=j+z.end,J>=A){z.setCachedOffsets(G,J,R);let Z=!0;F&&z.ownerId&&z.ownerId!==F&&(Z=!1),W&&w(z)&&(Z=!1),Z&&(re[se++]=z)}if(I(z,!0),z.right!==e.SENTINEL&&!k(z.right)){j+=z.delta,z=z.right;continue}}return I(T.root,!1),re}function S(T,A){if(T.root===e.SENTINEL)return A.parent=e.SENTINEL,A.left=e.SENTINEL,A.right=e.SENTINEL,m(A,0),T.root=A,T.root;v(T,A),B(A.parent);let P=A;for(;P!==T.root&&L(P.parent)===1;)if(P.parent===P.parent.parent.left){const F=P.parent.parent.right;L(F)===1?(m(P.parent,0),m(F,0),m(P.parent.parent,1),P=P.parent.parent):(P===P.parent.right&&(P=P.parent,E(T,P)),m(P.parent,0),m(P.parent.parent,1),N(T,P.parent.parent))}else{const F=P.parent.parent.left;L(F)===1?(m(P.parent,0),m(F,0),m(P.parent.parent,1),P=P.parent.parent):(P===P.parent.left&&(P=P.parent,N(T,P)),m(P.parent,0),m(P.parent.parent,1),E(T,P.parent.parent))}return m(T.root,0),A}function v(T,A){let P=0,F=T.root;const W=A.start,R=A.end;for(;;)if(O(W,R,F.start+P,F.end+P)<0)if(F.left===e.SENTINEL){A.start-=P,A.end-=P,A.maxEnd-=P,F.left=A;break}else F=F.left;else if(F.right===e.SENTINEL){A.start-=P+F.delta,A.end-=P+F.delta,A.maxEnd-=P+F.delta,F.right=A;break}else P+=F.delta,F=F.right;A.parent=F,A.left=e.SENTINEL,A.right=e.SENTINEL,m(A,1)}function p(T,A){let P,F;if(A.left===e.SENTINEL?(P=A.right,F=A,P.delta+=A.delta,(P.delta<-1073741824||P.delta>1073741824)&&(T.requestNormalizeDelta=!0),P.start+=A.delta,P.end+=A.delta):A.right===e.SENTINEL?(P=A.left,F=A):(F=_(A.right),P=F.right,P.start+=F.delta,P.end+=F.delta,P.delta+=F.delta,(P.delta<-1073741824||P.delta>1073741824)&&(T.requestNormalizeDelta=!0),F.start+=A.delta,F.end+=A.delta,F.delta=A.delta,(F.delta<-1073741824||F.delta>1073741824)&&(T.requestNormalizeDelta=!0)),F===T.root){T.root=P,m(P,0),A.detach(),y(),M(P),T.root.parent=e.SENTINEL;return}const W=L(F)===1;if(F===F.parent.left?F.parent.left=P:F.parent.right=P,F===A?P.parent=F.parent:(F.parent===A?P.parent=F:P.parent=F.parent,F.left=A.left,F.right=A.right,F.parent=A.parent,m(F,L(A)),A===T.root?T.root=F:A===A.parent.left?A.parent.left=F:A.parent.right=F,F.left!==e.SENTINEL&&(F.left.parent=F),F.right!==e.SENTINEL&&(F.right.parent=F)),A.detach(),W){B(P.parent),F!==A&&(B(F),B(F.parent)),y();return}B(P),B(P.parent),F!==A&&(B(F),B(F.parent));let R;for(;P!==T.root&&L(P)===0;)P===P.parent.left?(R=P.parent.right,L(R)===1&&(m(R,0),m(P.parent,1),E(T,P.parent),R=P.parent.right),L(R.left)===0&&L(R.right)===0?(m(R,1),P=P.parent):(L(R.right)===0&&(m(R.left,0),m(R,1),N(T,R),R=P.parent.right),m(R,L(P.parent)),m(P.parent,0),m(R.right,0),E(T,P.parent),P=T.root)):(R=P.parent.left,L(R)===1&&(m(R,0),m(P.parent,1),N(T,P.parent),R=P.parent.left),L(R.left)===0&&L(R.right)===0?(m(R,1),P=P.parent):(L(R.left)===0&&(m(R.right,0),m(R,1),E(T,R),R=P.parent.left),m(R,L(P.parent)),m(P.parent,0),m(R.left,0),N(T,P.parent),P=T.root));m(P,0),y()}function _(T){for(;T.left!==e.SENTINEL;)T=T.left;return T}function y(){e.SENTINEL.parent=e.SENTINEL,e.SENTINEL.delta=0,e.SENTINEL.start=0,e.SENTINEL.end=0}function E(T,A){const P=A.right;P.delta+=A.delta,(P.delta<-1073741824||P.delta>1073741824)&&(T.requestNormalizeDelta=!0),P.start+=A.delta,P.end+=A.delta,A.right=P.left,P.left!==e.SENTINEL&&(P.left.parent=A),P.parent=A.parent,A.parent===e.SENTINEL?T.root=P:A===A.parent.left?A.parent.left=P:A.parent.right=P,P.left=A,A.parent=P,M(A),M(P)}function N(T,A){const P=A.left;A.delta-=P.delta,(A.delta<-1073741824||A.delta>1073741824)&&(T.requestNormalizeDelta=!0),A.start-=P.delta,A.end-=P.delta,A.left=P.right,P.right!==e.SENTINEL&&(P.right.parent=A),P.parent=A.parent,A.parent===e.SENTINEL?T.root=P:A===A.parent.right?A.parent.right=P:A.parent.left=P,P.right=A,A.parent=P,M(A),M(P)}function D(T){let A=T.end;if(T.left!==e.SENTINEL){const P=T.left.maxEnd;P>A&&(A=P)}if(T.right!==e.SENTINEL){const P=T.right.maxEnd+T.delta;P>A&&(A=P)}return A}function M(T){T.maxEnd=D(T)}e.recomputeMaxEnd=M;function B(T){for(;T!==e.SENTINEL;){const A=D(T);if(T.maxEnd===A)return;T.maxEnd=A,T=T.parent}}function O(T,A,P,F){return T===P?A-F:T-P}e.intervalCompare=O}),define(te[426],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.recomputeTreeMetadata=e.updateTreeMetadata=e.fixInsert=e.rbDelete=e.rightRotate=e.leftRotate=e.resetSentinel=e.calculateLF=e.calculateSize=e.righttest=e.leftest=e.SENTINEL=e.TreeNode=void 0;class L{constructor(c,d){this.piece=c,this.color=d,this.size_left=0,this.lf_left=0,this.parent=this,this.left=this,this.right=this}next(){if(this.right!==e.SENTINEL)return m(this.right);let c=this;for(;c.parent!==e.SENTINEL&&c.parent.left!==c;)c=c.parent;return c.parent===e.SENTINEL?e.SENTINEL:c.parent}prev(){if(this.left!==e.SENTINEL)return k(this.left);let c=this;for(;c.parent!==e.SENTINEL&&c.parent.right!==c;)c=c.parent;return c.parent===e.SENTINEL?e.SENTINEL:c.parent}detach(){this.parent=null,this.left=null,this.right=null}}e.TreeNode=L,e.SENTINEL=new L(null,0),e.SENTINEL.parent=e.SENTINEL,e.SENTINEL.left=e.SENTINEL,e.SENTINEL.right=e.SENTINEL,e.SENTINEL.color=0;function m(o){for(;o.left!==e.SENTINEL;)o=o.left;return o}e.leftest=m;function k(o){for(;o.right!==e.SENTINEL;)o=o.right;return o}e.righttest=k;function I(o){return o===e.SENTINEL?0:o.size_left+o.piece.length+I(o.right)}e.calculateSize=I;function w(o){return o===e.SENTINEL?0:o.lf_left+o.piece.lineFeedCnt+w(o.right)}e.calculateLF=w;function b(){e.SENTINEL.parent=e.SENTINEL}e.resetSentinel=b;function C(o,c){const d=c.right;d.size_left+=c.size_left+(c.piece?c.piece.length:0),d.lf_left+=c.lf_left+(c.piece?c.piece.lineFeedCnt:0),c.right=d.left,d.left!==e.SENTINEL&&(d.left.parent=c),d.parent=c.parent,c.parent===e.SENTINEL?o.root=d:c.parent.left===c?c.parent.left=d:c.parent.right=d,d.left=c,c.parent=d}e.leftRotate=C;function u(o,c){const d=c.left;c.left=d.right,d.right!==e.SENTINEL&&(d.right.parent=c),d.parent=c.parent,c.size_left-=d.size_left+(d.piece?d.piece.length:0),c.lf_left-=d.lf_left+(d.piece?d.piece.lineFeedCnt:0),c.parent===e.SENTINEL?o.root=d:c===c.parent.right?c.parent.right=d:c.parent.left=d,d.right=c,c.parent=d}e.rightRotate=u;function g(o,c){let d,r;if(c.left===e.SENTINEL?(r=c,d=r.right):c.right===e.SENTINEL?(r=c,d=r.left):(r=m(c.right),d=r.right),r===o.root){o.root=d,d.color=0,c.detach(),b(),o.root.parent=e.SENTINEL;return}const s=r.color===1;if(r===r.parent.left?r.parent.left=d:r.parent.right=d,r===c?(d.parent=r.parent,i(o,d)):(r.parent===c?d.parent=r:d.parent=r.parent,i(o,d),r.left=c.left,r.right=c.right,r.parent=c.parent,r.color=c.color,c===o.root?o.root=r:c===c.parent.left?c.parent.left=r:c.parent.right=r,r.left!==e.SENTINEL&&(r.left.parent=r),r.right!==e.SENTINEL&&(r.right.parent=r),r.size_left=c.size_left,r.lf_left=c.lf_left,i(o,r)),c.detach(),d.parent.left===d){const l=I(d),h=w(d);if(l!==d.parent.size_left||h!==d.parent.lf_left){const f=l-d.parent.size_left,S=h-d.parent.lf_left;d.parent.size_left=l,d.parent.lf_left=h,n(o,d.parent,f,S)}}if(i(o,d.parent),s){b();return}let a;for(;d!==o.root&&d.color===0;)d===d.parent.left?(a=d.parent.right,a.color===1&&(a.color=0,d.parent.color=1,C(o,d.parent),a=d.parent.right),a.left.color===0&&a.right.color===0?(a.color=1,d=d.parent):(a.right.color===0&&(a.left.color=0,a.color=1,u(o,a),a=d.parent.right),a.color=d.parent.color,d.parent.color=0,a.right.color=0,C(o,d.parent),d=o.root)):(a=d.parent.left,a.color===1&&(a.color=0,d.parent.color=1,u(o,d.parent),a=d.parent.left),a.left.color===0&&a.right.color===0?(a.color=1,d=d.parent):(a.left.color===0&&(a.right.color=0,a.color=1,C(o,a),a=d.parent.left),a.color=d.parent.color,d.parent.color=0,a.left.color=0,u(o,d.parent),d=o.root));d.color=0,b()}e.rbDelete=g;function t(o,c){for(i(o,c);c!==o.root&&c.parent.color===1;)if(c.parent===c.parent.parent.left){const d=c.parent.parent.right;d.color===1?(c.parent.color=0,d.color=0,c.parent.parent.color=1,c=c.parent.parent):(c===c.parent.right&&(c=c.parent,C(o,c)),c.parent.color=0,c.parent.parent.color=1,u(o,c.parent.parent))}else{const d=c.parent.parent.left;d.color===1?(c.parent.color=0,d.color=0,c.parent.parent.color=1,c=c.parent.parent):(c===c.parent.left&&(c=c.parent,u(o,c)),c.parent.color=0,c.parent.parent.color=1,C(o,c.parent.parent))}o.root.color=0}e.fixInsert=t;function n(o,c,d,r){for(;c!==o.root&&c!==e.SENTINEL;)c.parent.left===c&&(c.parent.size_left+=d,c.parent.lf_left+=r),c=c.parent}e.updateTreeMetadata=n;function i(o,c){let d=0,r=0;if(c!==o.root){for(;c!==o.root&&c===c.parent.right;)c=c.parent;if(c!==o.root)for(c=c.parent,d=I(c.left)-c.size_left,r=w(c.left)-c.lf_left,c.size_left+=d,c.lf_left+=r;c!==o.root&&(d!==0||r!==0);)c.parent.left===c&&(c.parent.size_left+=d,c.parent.lf_left+=r),c=c.parent}}e.recomputeTreeMetadata=i}),define(te[245],ie([1,0,18,142]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PrefixSumIndexOfResult=e.ConstantTimePrefixSumComputer=e.PrefixSumComputer=void 0;class k{constructor(C){this.values=C,this.prefixSum=new Uint32Array(C.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(C,u){C=(0,m.toUint32)(C);const g=this.values,t=this.prefixSum,n=u.length;return n===0?!1:(this.values=new Uint32Array(g.length+n),this.values.set(g.subarray(0,C),0),this.values.set(g.subarray(C),C+n),this.values.set(u,C),C-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=C-1),this.prefixSum=new Uint32Array(this.values.length),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(t.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(C,u){return C=(0,m.toUint32)(C),u=(0,m.toUint32)(u),this.values[C]===u?!1:(this.values[C]=u,C-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=C-1),!0)}removeValues(C,u){C=(0,m.toUint32)(C),u=(0,m.toUint32)(u);const g=this.values,t=this.prefixSum;if(C>=g.length)return!1;const n=g.length-C;return u>=n&&(u=n),u===0?!1:(this.values=new Uint32Array(g.length-u),this.values.set(g.subarray(0,C),0),this.values.set(g.subarray(C+u),C),this.prefixSum=new Uint32Array(this.values.length),C-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=C-1),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(t.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return this.values.length===0?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(C){return C<0?0:(C=(0,m.toUint32)(C),this._getPrefixSum(C))}_getPrefixSum(C){if(C<=this.prefixSumValidIndex[0])return this.prefixSum[C];let u=this.prefixSumValidIndex[0]+1;u===0&&(this.prefixSum[0]=this.values[0],u++),C>=this.values.length&&(C=this.values.length-1);for(let g=u;g<=C;g++)this.prefixSum[g]=this.prefixSum[g-1]+this.values[g];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],C),this.prefixSum[C]}getIndexOf(C){C=Math.floor(C),this.getTotalSum();let u=0,g=this.values.length-1,t=0,n=0,i=0;for(;u<=g;)if(t=u+(g-u)/2|0,n=this.prefixSum[t],i=n-this.values[t],C<i)g=t-1;else if(C>=n)u=t+1;else break;return new w(t,C-i)}}e.PrefixSumComputer=k;class I{constructor(C){this._values=C,this._isValid=!1,this._validEndIndex=-1,this._prefixSum=[],this._indexBySum=[]}getTotalSum(){return this._ensureValid(),this._indexBySum.length}getPrefixSum(C){return this._ensureValid(),C===0?0:this._prefixSum[C-1]}getIndexOf(C){this._ensureValid();const u=this._indexBySum[C],g=u>0?this._prefixSum[u-1]:0;return new w(u,C-g)}removeValues(C,u){this._values.splice(C,u),this._invalidate(C)}insertValues(C,u){this._values=(0,L.arrayInsert)(this._values,C,u),this._invalidate(C)}_invalidate(C){this._isValid=!1,this._validEndIndex=Math.min(this._validEndIndex,C-1)}_ensureValid(){if(!this._isValid){for(let C=this._validEndIndex+1,u=this._values.length;C<u;C++){const g=this._values[C],t=C>0?this._prefixSum[C-1]:0;this._prefixSum[C]=t+g;for(let n=0;n<g;n++)this._indexBySum[t+n]=C}this._prefixSum.length=this._values.length,this._indexBySum.length=this._prefixSum[this._prefixSum.length-1],this._isValid=!0,this._validEndIndex=this._values.length-1}}setValue(C,u){this._values[C]!==u&&(this._values[C]=u,this._invalidate(C))}}e.ConstantTimePrefixSumComputer=I;class w{constructor(C,u){this.index=C,this.remainder=u,this._prefixSumIndexOfResultBrand=void 0,this.index=C,this.remainder=u}}e.PrefixSumIndexOfResult=w}),define(te[427],ie([1,0,8,11,245]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MirrorTextModel=void 0;class I{constructor(b,C,u,g){this._uri=b,this._lines=C,this._eol=u,this._versionId=g,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}getText(){return this._cachedTextValue===null&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(b){b.eol&&b.eol!==this._eol&&(this._eol=b.eol,this._lineStarts=null);const C=b.changes;for(const u of C)this._acceptDeleteRange(u.range),this._acceptInsertText(new m.Position(u.range.startLineNumber,u.range.startColumn),u.text);this._versionId=b.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){const b=this._eol.length,C=this._lines.length,u=new Uint32Array(C);for(let g=0;g<C;g++)u[g]=this._lines[g].length+b;this._lineStarts=new k.PrefixSumComputer(u)}}_setLineText(b,C){this._lines[b]=C,this._lineStarts&&this._lineStarts.setValue(b,this._lines[b].length+this._eol.length)}_acceptDeleteRange(b){if(b.startLineNumber===b.endLineNumber){if(b.startColumn===b.endColumn)return;this._setLineText(b.startLineNumber-1,this._lines[b.startLineNumber-1].substring(0,b.startColumn-1)+this._lines[b.startLineNumber-1].substring(b.endColumn-1));return}this._setLineText(b.startLineNumber-1,this._lines[b.startLineNumber-1].substring(0,b.startColumn-1)+this._lines[b.endLineNumber-1].substring(b.endColumn-1)),this._lines.splice(b.startLineNumber,b.endLineNumber-b.startLineNumber),this._lineStarts&&this._lineStarts.removeValues(b.startLineNumber,b.endLineNumber-b.startLineNumber)}_acceptInsertText(b,C){if(C.length===0)return;const u=(0,L.splitLines)(C);if(u.length===1){this._setLineText(b.lineNumber-1,this._lines[b.lineNumber-1].substring(0,b.column-1)+u[0]+this._lines[b.lineNumber-1].substring(b.column-1));return}u[u.length-1]+=this._lines[b.lineNumber-1].substring(b.column-1),this._setLineText(b.lineNumber-1,this._lines[b.lineNumber-1].substring(0,b.column-1)+u[0]);const g=new Uint32Array(u.length-1);for(let t=1;t<u.length;t++)this._lines.splice(b.lineNumber+t-1,0,u[t]),g[t-1]=u[t].length+this._eol.length;this._lineStarts&&this._lineStarts.insertValues(b.lineNumber,g)}}e.MirrorTextModel=I}),define(te[428],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TextModelPart=void 0;class L{constructor(){this._isDisposed=!1}dispose(){this._isDisposed=!0}assertNotDisposed(){if(this._isDisposed)throw new Error("TextModelPart is disposed!")}}e.TextModelPart=L}),define(te[153],ie([1,0,8,120,11,3,50]),function(q,e,L,m,k,I,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Searcher=e.isValidMatch=e.TextModelSearch=e.createFindMatch=e.isMultilineRegexSource=e.SearchParams=void 0;const b=999;class C{constructor(s,a,l,h){this.searchString=s,this.isRegex=a,this.matchCase=l,this.wordSeparators=h}parseSearchRequest(){if(this.searchString==="")return null;let s;this.isRegex?s=u(this.searchString):s=this.searchString.indexOf(`
+`)>=0;let a=null;try{a=L.createRegExp(this.searchString,this.isRegex,{matchCase:this.matchCase,wholeWord:!1,multiline:s,global:!0,unicode:!0})}catch{return null}if(!a)return null;let l=!this.isRegex&&!s;return l&&this.searchString.toLowerCase()!==this.searchString.toUpperCase()&&(l=this.matchCase),new w.SearchData(a,this.wordSeparators?(0,m.getMapForWordSeparators)(this.wordSeparators):null,l?this.searchString:null)}}e.SearchParams=C;function u(r){if(!r||r.length===0)return!1;for(let s=0,a=r.length;s<a;s++)if(r.charCodeAt(s)===92){if(s++,s>=a)break;const h=r.charCodeAt(s);if(h===110||h===114||h===87)return!0}return!1}e.isMultilineRegexSource=u;function g(r,s,a){if(!a)return new w.FindMatch(r,null);const l=[];for(let h=0,f=s.length;h<f;h++)l[h]=s[h];return new w.FindMatch(r,l)}e.createFindMatch=g;class t{constructor(s){const a=[];let l=0;for(let h=0,f=s.length;h<f;h++)s.charCodeAt(h)===10&&(a[l++]=h);this._lineFeedsOffsets=a}findLineFeedCountBeforeOffset(s){const a=this._lineFeedsOffsets;let l=0,h=a.length-1;if(h===-1||s<=a[0])return 0;for(;l<h;){const f=l+((h-l)/2>>0);a[f]>=s?h=f-1:a[f+1]>=s?(l=f,h=f):l=f+1}return l+1}}class n{static findMatches(s,a,l,h,f){const S=a.parseSearchRequest();return S?S.regex.multiline?this._doFindMatchesMultiline(s,l,new d(S.wordSeparators,S.regex),h,f):this._doFindMatchesLineByLine(s,l,S,h,f):[]}static _getMultilineMatchRange(s,a,l,h,f,S){let v,p=0;h?(p=h.findLineFeedCountBeforeOffset(f),v=a+f+p):v=a+f;let _;if(h){const D=h.findLineFeedCountBeforeOffset(f+S.length)-p;_=v+S.length+D}else _=v+S.length;const y=s.getPositionAt(v),E=s.getPositionAt(_);return new I.Range(y.lineNumber,y.column,E.lineNumber,E.column)}static _doFindMatchesMultiline(s,a,l,h,f){const S=s.getOffsetAt(a.getStartPosition()),v=s.getValueInRange(a,1),p=s.getEOL()===`\r
+`?new t(v):null,_=[];let y=0,E;for(l.reset(0);E=l.next(v);)if(_[y++]=g(this._getMultilineMatchRange(s,S,v,p,E.index,E[0]),E,h),y>=f)return _;return _}static _doFindMatchesLineByLine(s,a,l,h,f){const S=[];let v=0;if(a.startLineNumber===a.endLineNumber){const _=s.getLineContent(a.startLineNumber).substring(a.startColumn-1,a.endColumn-1);return v=this._findMatchesInLine(l,_,a.startLineNumber,a.startColumn-1,v,S,h,f),S}const p=s.getLineContent(a.startLineNumber).substring(a.startColumn-1);v=this._findMatchesInLine(l,p,a.startLineNumber,a.startColumn-1,v,S,h,f);for(let _=a.startLineNumber+1;_<a.endLineNumber&&v<f;_++)v=this._findMatchesInLine(l,s.getLineContent(_),_,0,v,S,h,f);if(v<f){const _=s.getLineContent(a.endLineNumber).substring(0,a.endColumn-1);v=this._findMatchesInLine(l,_,a.endLineNumber,0,v,S,h,f)}return S}static _findMatchesInLine(s,a,l,h,f,S,v,p){const _=s.wordSeparators;if(!v&&s.simpleSearch){const N=s.simpleSearch,D=N.length,M=a.length;let B=-D;for(;(B=a.indexOf(N,B+D))!==-1;)if((!_||c(_,a,M,B,D))&&(S[f++]=new w.FindMatch(new I.Range(l,B+1+h,l,B+1+D+h),null),f>=p))return f;return f}const y=new d(s.wordSeparators,s.regex);let E;y.reset(0);do if(E=y.next(a),E&&(S[f++]=g(new I.Range(l,E.index+1+h,l,E.index+1+E[0].length+h),E,v),f>=p))return f;while(E);return f}static findNextMatch(s,a,l,h){const f=a.parseSearchRequest();if(!f)return null;const S=new d(f.wordSeparators,f.regex);return f.regex.multiline?this._doFindNextMatchMultiline(s,l,S,h):this._doFindNextMatchLineByLine(s,l,S,h)}static _doFindNextMatchMultiline(s,a,l,h){const f=new k.Position(a.lineNumber,1),S=s.getOffsetAt(f),v=s.getLineCount(),p=s.getValueInRange(new I.Range(f.lineNumber,f.column,v,s.getLineMaxColumn(v)),1),_=s.getEOL()===`\r
+`?new t(p):null;l.reset(a.column-1);let y=l.next(p);return y?g(this._getMultilineMatchRange(s,S,p,_,y.index,y[0]),y,h):a.lineNumber!==1||a.column!==1?this._doFindNextMatchMultiline(s,new k.Position(1,1),l,h):null}static _doFindNextMatchLineByLine(s,a,l,h){const f=s.getLineCount(),S=a.lineNumber,v=s.getLineContent(S),p=this._findFirstMatchInLine(l,v,S,a.column,h);if(p)return p;for(let _=1;_<=f;_++){const y=(S+_-1)%f,E=s.getLineContent(y+1),N=this._findFirstMatchInLine(l,E,y+1,1,h);if(N)return N}return null}static _findFirstMatchInLine(s,a,l,h,f){s.reset(h-1);const S=s.next(a);return S?g(new I.Range(l,S.index+1,l,S.index+1+S[0].length),S,f):null}static findPreviousMatch(s,a,l,h){const f=a.parseSearchRequest();if(!f)return null;const S=new d(f.wordSeparators,f.regex);return f.regex.multiline?this._doFindPreviousMatchMultiline(s,l,S,h):this._doFindPreviousMatchLineByLine(s,l,S,h)}static _doFindPreviousMatchMultiline(s,a,l,h){const f=this._doFindMatchesMultiline(s,new I.Range(1,1,a.lineNumber,a.column),l,h,10*b);if(f.length>0)return f[f.length-1];const S=s.getLineCount();return a.lineNumber!==S||a.column!==s.getLineMaxColumn(S)?this._doFindPreviousMatchMultiline(s,new k.Position(S,s.getLineMaxColumn(S)),l,h):null}static _doFindPreviousMatchLineByLine(s,a,l,h){const f=s.getLineCount(),S=a.lineNumber,v=s.getLineContent(S).substring(0,a.column-1),p=this._findLastMatchInLine(l,v,S,h);if(p)return p;for(let _=1;_<=f;_++){const y=(f+S-_-1)%f,E=s.getLineContent(y+1),N=this._findLastMatchInLine(l,E,y+1,h);if(N)return N}return null}static _findLastMatchInLine(s,a,l,h){let f=null,S;for(s.reset(0);S=s.next(a);)f=g(new I.Range(l,S.index+1,l,S.index+1+S[0].length),S,h);return f}}e.TextModelSearch=n;function i(r,s,a,l,h){if(l===0)return!0;const f=s.charCodeAt(l-1);if(r.get(f)!==0||f===13||f===10)return!0;if(h>0){const S=s.charCodeAt(l);if(r.get(S)!==0)return!0}return!1}function o(r,s,a,l,h){if(l+h===a)return!0;const f=s.charCodeAt(l+h);if(r.get(f)!==0||f===13||f===10)return!0;if(h>0){const S=s.charCodeAt(l+h-1);if(r.get(S)!==0)return!0}return!1}function c(r,s,a,l,h){return i(r,s,a,l,h)&&o(r,s,a,l,h)}e.isValidMatch=c;class d{constructor(s,a){this._wordSeparators=s,this._searchRegex=a,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(s){this._searchRegex.lastIndex=s,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(s){const a=s.length;let l;do{if(this._prevMatchStartIndex+this._prevMatchLength===a||(l=this._searchRegex.exec(s),!l))return null;const h=l.index,f=l[0].length;if(h===this._prevMatchStartIndex&&f===this._prevMatchLength){if(f===0){L.getNextCodePoint(s,a,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=h,this._prevMatchLength=f,!this._wordSeparators||c(this._wordSeparators,s,a,h,f))return l}while(l);return null}}e.Searcher=d}),define(te[246],ie([1,0,11,3,50,426,153]),function(q,e,L,m,k,I,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PieceTreeBase=e.StringBuffer=e.Piece=e.createLineStarts=e.createLineStartsFast=e.LineStarts=e.createUintArray=e.AverageBufferSize=void 0,e.AverageBufferSize=65535;function b(d){let r;return d[d.length-1]<65536?r=new Uint16Array(d.length):r=new Uint32Array(d.length),r.set(d,0),r}e.createUintArray=b;class C{constructor(r,s,a,l,h){this.lineStarts=r,this.cr=s,this.lf=a,this.crlf=l,this.isBasicASCII=h}}e.LineStarts=C;function u(d,r=!0){const s=[0];let a=1;for(let l=0,h=d.length;l<h;l++){const f=d.charCodeAt(l);f===13?l+1<h&&d.charCodeAt(l+1)===10?(s[a++]=l+2,l++):s[a++]=l+1:f===10&&(s[a++]=l+1)}return r?b(s):s}e.createLineStartsFast=u;function g(d,r){d.length=0,d[0]=0;let s=1,a=0,l=0,h=0,f=!0;for(let v=0,p=r.length;v<p;v++){const _=r.charCodeAt(v);_===13?v+1<p&&r.charCodeAt(v+1)===10?(h++,d[s++]=v+2,v++):(a++,d[s++]=v+1):_===10?(l++,d[s++]=v+1):f&&_!==9&&(_<32||_>126)&&(f=!1)}const S=new C(b(d),a,l,h,f);return d.length=0,S}e.createLineStarts=g;class t{constructor(r,s,a,l,h){this.bufferIndex=r,this.start=s,this.end=a,this.lineFeedCnt=l,this.length=h}}e.Piece=t;class n{constructor(r,s){this.buffer=r,this.lineStarts=s}}e.StringBuffer=n;class i{constructor(r,s){this._pieces=[],this._tree=r,this._BOM=s,this._index=0,r.root!==I.SENTINEL&&r.iterate(r.root,a=>(a!==I.SENTINEL&&this._pieces.push(a.piece),!0))}read(){return this._pieces.length===0?this._index===0?(this._index++,this._BOM):null:this._index>this._pieces.length-1?null:this._index===0?this._BOM+this._tree.getPieceContent(this._pieces[this._index++]):this._tree.getPieceContent(this._pieces[this._index++])}}class o{constructor(r){this._limit=r,this._cache=[]}get(r){for(let s=this._cache.length-1;s>=0;s--){const a=this._cache[s];if(a.nodeStartOffset<=r&&a.nodeStartOffset+a.node.piece.length>=r)return a}return null}get2(r){for(let s=this._cache.length-1;s>=0;s--){const a=this._cache[s];if(a.nodeStartLineNumber&&a.nodeStartLineNumber<r&&a.nodeStartLineNumber+a.node.piece.lineFeedCnt>=r)return a}return null}set(r){this._cache.length>=this._limit&&this._cache.shift(),this._cache.push(r)}validate(r){let s=!1;const a=this._cache;for(let l=0;l<a.length;l++){const h=a[l];if(h.node.parent===null||h.nodeStartOffset>=r){a[l]=null,s=!0;continue}}if(s){const l=[];for(const h of a)h!==null&&l.push(h);this._cache=l}}}class c{constructor(r,s,a){this.create(r,s,a)}create(r,s,a){this._buffers=[new n("",[0])],this._lastChangeBufferPos={line:0,column:0},this.root=I.SENTINEL,this._lineCnt=1,this._length=0,this._EOL=s,this._EOLLength=s.length,this._EOLNormalized=a;let l=null;for(let h=0,f=r.length;h<f;h++)if(r[h].buffer.length>0){r[h].lineStarts||(r[h].lineStarts=u(r[h].buffer));const S=new t(h+1,{line:0,column:0},{line:r[h].lineStarts.length-1,column:r[h].buffer.length-r[h].lineStarts[r[h].lineStarts.length-1]},r[h].lineStarts.length-1,r[h].buffer.length);this._buffers.push(r[h]),l=this.rbInsertRight(l,S)}this._searchCache=new o(1),this._lastVisitedLine={lineNumber:0,value:""},this.computeBufferMetadata()}normalizeEOL(r){const s=e.AverageBufferSize,a=s-Math.floor(s/3),l=a*2;let h="",f=0;const S=[];if(this.iterate(this.root,v=>{const p=this.getNodeContent(v),_=p.length;if(f<=a||f+_<l)return h+=p,f+=_,!0;const y=h.replace(/\r\n|\r|\n/g,r);return S.push(new n(y,u(y))),h=p,f=_,!0}),f>0){const v=h.replace(/\r\n|\r|\n/g,r);S.push(new n(v,u(v)))}this.create(S,r,!0)}getEOL(){return this._EOL}setEOL(r){this._EOL=r,this._EOLLength=this._EOL.length,this.normalizeEOL(r)}createSnapshot(r){return new i(this,r)}getOffsetAt(r,s){let a=0,l=this.root;for(;l!==I.SENTINEL;)if(l.left!==I.SENTINEL&&l.lf_left+1>=r)l=l.left;else{if(l.lf_left+l.piece.lineFeedCnt+1>=r)return a+=l.size_left,a+=this.getAccumulatedValue(l,r-l.lf_left-2)+s-1;r-=l.lf_left+l.piece.lineFeedCnt,a+=l.size_left+l.piece.length,l=l.right}return a}getPositionAt(r){r=Math.floor(r),r=Math.max(0,r);let s=this.root,a=0;const l=r;for(;s!==I.SENTINEL;)if(s.size_left!==0&&s.size_left>=r)s=s.left;else if(s.size_left+s.piece.length>=r){const h=this.getIndexOf(s,r-s.size_left);if(a+=s.lf_left+h.index,h.index===0){const f=this.getOffsetAt(a+1,1),S=l-f;return new L.Position(a+1,S+1)}return new L.Position(a+1,h.remainder+1)}else if(r-=s.size_left+s.piece.length,a+=s.lf_left+s.piece.lineFeedCnt,s.right===I.SENTINEL){const h=this.getOffsetAt(a+1,1),f=l-r-h;return new L.Position(a+1,f+1)}else s=s.right;return new L.Position(1,1)}getValueInRange(r,s){if(r.startLineNumber===r.endLineNumber&&r.startColumn===r.endColumn)return"";const a=this.nodeAt2(r.startLineNumber,r.startColumn),l=this.nodeAt2(r.endLineNumber,r.endColumn),h=this.getValueInRange2(a,l);return s?s!==this._EOL||!this._EOLNormalized?h.replace(/\r\n|\r|\n/g,s):s===this.getEOL()&&this._EOLNormalized?h:h.replace(/\r\n|\r|\n/g,s):h}getValueInRange2(r,s){if(r.node===s.node){const S=r.node,v=this._buffers[S.piece.bufferIndex].buffer,p=this.offsetInBuffer(S.piece.bufferIndex,S.piece.start);return v.substring(p+r.remainder,p+s.remainder)}let a=r.node;const l=this._buffers[a.piece.bufferIndex].buffer,h=this.offsetInBuffer(a.piece.bufferIndex,a.piece.start);let f=l.substring(h+r.remainder,h+a.piece.length);for(a=a.next();a!==I.SENTINEL;){const S=this._buffers[a.piece.bufferIndex].buffer,v=this.offsetInBuffer(a.piece.bufferIndex,a.piece.start);if(a===s.node){f+=S.substring(v,v+s.remainder);break}else f+=S.substr(v,a.piece.length);a=a.next()}return f}getLinesContent(){const r=[];let s=0,a="",l=!1;return this.iterate(this.root,h=>{if(h===I.SENTINEL)return!0;const f=h.piece;let S=f.length;if(S===0)return!0;const v=this._buffers[f.bufferIndex].buffer,p=this._buffers[f.bufferIndex].lineStarts,_=f.start.line,y=f.end.line;let E=p[_]+f.start.column;if(l&&(v.charCodeAt(E)===10&&(E++,S--),r[s++]=a,a="",l=!1,S===0))return!0;if(_===y)return!this._EOLNormalized&&v.charCodeAt(E+S-1)===13?(l=!0,a+=v.substr(E,S-1)):a+=v.substr(E,S),!0;a+=this._EOLNormalized?v.substring(E,Math.max(E,p[_+1]-this._EOLLength)):v.substring(E,p[_+1]).replace(/(\r\n|\r|\n)$/,""),r[s++]=a;for(let N=_+1;N<y;N++)a=this._EOLNormalized?v.substring(p[N],p[N+1]-this._EOLLength):v.substring(p[N],p[N+1]).replace(/(\r\n|\r|\n)$/,""),r[s++]=a;return!this._EOLNormalized&&v.charCodeAt(p[y]+f.end.column-1)===13?(l=!0,f.end.column===0?s--:a=v.substr(p[y],f.end.column-1)):a=v.substr(p[y],f.end.column),!0}),l&&(r[s++]=a,a=""),r[s++]=a,r}getLength(){return this._length}getLineCount(){return this._lineCnt}getLineContent(r){return this._lastVisitedLine.lineNumber===r?this._lastVisitedLine.value:(this._lastVisitedLine.lineNumber=r,r===this._lineCnt?this._lastVisitedLine.value=this.getLineRawContent(r):this._EOLNormalized?this._lastVisitedLine.value=this.getLineRawContent(r,this._EOLLength):this._lastVisitedLine.value=this.getLineRawContent(r).replace(/(\r\n|\r|\n)$/,""),this._lastVisitedLine.value)}_getCharCode(r){if(r.remainder===r.node.piece.length){const s=r.node.next();if(!s)return 0;const a=this._buffers[s.piece.bufferIndex],l=this.offsetInBuffer(s.piece.bufferIndex,s.piece.start);return a.buffer.charCodeAt(l)}else{const s=this._buffers[r.node.piece.bufferIndex],l=this.offsetInBuffer(r.node.piece.bufferIndex,r.node.piece.start)+r.remainder;return s.buffer.charCodeAt(l)}}getLineCharCode(r,s){const a=this.nodeAt2(r,s+1);return this._getCharCode(a)}getLineLength(r){if(r===this.getLineCount()){const s=this.getOffsetAt(r,1);return this.getLength()-s}return this.getOffsetAt(r+1,1)-this.getOffsetAt(r,1)-this._EOLLength}findMatchesInNode(r,s,a,l,h,f,S,v,p,_,y){const E=this._buffers[r.piece.bufferIndex],N=this.offsetInBuffer(r.piece.bufferIndex,r.piece.start),D=this.offsetInBuffer(r.piece.bufferIndex,h),M=this.offsetInBuffer(r.piece.bufferIndex,f);let B;const O={line:0,column:0};let T,A;s._wordSeparators?(T=E.buffer.substring(D,M),A=P=>P+D,s.reset(0)):(T=E.buffer,A=P=>P,s.reset(D));do if(B=s.next(T),B){if(A(B.index)>=M)return _;this.positionInBuffer(r,A(B.index)-N,O);const P=this.getLineFeedCnt(r.piece.bufferIndex,h,O),F=O.line===h.line?O.column-h.column+l:O.column+1,W=F+B[0].length;if(y[_++]=(0,w.createFindMatch)(new m.Range(a+P,F,a+P,W),B,v),A(B.index)+B[0].length>=M||_>=p)return _}while(B);return _}findMatchesLineByLine(r,s,a,l){const h=[];let f=0;const S=new w.Searcher(s.wordSeparators,s.regex);let v=this.nodeAt2(r.startLineNumber,r.startColumn);if(v===null)return[];const p=this.nodeAt2(r.endLineNumber,r.endColumn);if(p===null)return[];let _=this.positionInBuffer(v.node,v.remainder);const y=this.positionInBuffer(p.node,p.remainder);if(v.node===p.node)return this.findMatchesInNode(v.node,S,r.startLineNumber,r.startColumn,_,y,s,a,l,f,h),h;let E=r.startLineNumber,N=v.node;for(;N!==p.node;){const M=this.getLineFeedCnt(N.piece.bufferIndex,_,N.piece.end);if(M>=1){const O=this._buffers[N.piece.bufferIndex].lineStarts,T=this.offsetInBuffer(N.piece.bufferIndex,N.piece.start),A=O[_.line+M],P=E===r.startLineNumber?r.startColumn:1;if(f=this.findMatchesInNode(N,S,E,P,_,this.positionInBuffer(N,A-T),s,a,l,f,h),f>=l)return h;E+=M}const B=E===r.startLineNumber?r.startColumn-1:0;if(E===r.endLineNumber){const O=this.getLineContent(E).substring(B,r.endColumn-1);return f=this._findMatchesInLine(s,S,O,r.endLineNumber,B,f,h,a,l),h}if(f=this._findMatchesInLine(s,S,this.getLineContent(E).substr(B),E,B,f,h,a,l),f>=l)return h;E++,v=this.nodeAt2(E,1),N=v.node,_=this.positionInBuffer(v.node,v.remainder)}if(E===r.endLineNumber){const M=E===r.startLineNumber?r.startColumn-1:0,B=this.getLineContent(E).substring(M,r.endColumn-1);return f=this._findMatchesInLine(s,S,B,r.endLineNumber,M,f,h,a,l),h}const D=E===r.startLineNumber?r.startColumn:1;return f=this.findMatchesInNode(p.node,S,E,D,_,y,s,a,l,f,h),h}_findMatchesInLine(r,s,a,l,h,f,S,v,p){const _=r.wordSeparators;if(!v&&r.simpleSearch){const E=r.simpleSearch,N=E.length,D=a.length;let M=-N;for(;(M=a.indexOf(E,M+N))!==-1;)if((!_||(0,w.isValidMatch)(_,a,D,M,N))&&(S[f++]=new k.FindMatch(new m.Range(l,M+1+h,l,M+1+N+h),null),f>=p))return f;return f}let y;s.reset(0);do if(y=s.next(a),y&&(S[f++]=(0,w.createFindMatch)(new m.Range(l,y.index+1+h,l,y.index+1+y[0].length+h),y,v),f>=p))return f;while(y);return f}insert(r,s,a=!1){if(this._EOLNormalized=this._EOLNormalized&&a,this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",this.root!==I.SENTINEL){const{node:l,remainder:h,nodeStartOffset:f}=this.nodeAt(r),S=l.piece,v=S.bufferIndex,p=this.positionInBuffer(l,h);if(l.piece.bufferIndex===0&&S.end.line===this._lastChangeBufferPos.line&&S.end.column===this._lastChangeBufferPos.column&&f+S.length===r&&s.length<e.AverageBufferSize){this.appendToNode(l,s),this.computeBufferMetadata();return}if(f===r)this.insertContentToNodeLeft(s,l),this._searchCache.validate(r);else if(f+l.piece.length>r){const _=[];let y=new t(S.bufferIndex,p,S.end,this.getLineFeedCnt(S.bufferIndex,p,S.end),this.offsetInBuffer(v,S.end)-this.offsetInBuffer(v,p));if(this.shouldCheckCRLF()&&this.endWithCR(s)&&this.nodeCharCodeAt(l,h)===10){const M={line:y.start.line+1,column:0};y=new t(y.bufferIndex,M,y.end,this.getLineFeedCnt(y.bufferIndex,M,y.end),y.length-1),s+=`
+`}if(this.shouldCheckCRLF()&&this.startWithLF(s))if(this.nodeCharCodeAt(l,h-1)===13){const M=this.positionInBuffer(l,h-1);this.deleteNodeTail(l,M),s="\r"+s,l.piece.length===0&&_.push(l)}else this.deleteNodeTail(l,p);else this.deleteNodeTail(l,p);const E=this.createNewPieces(s);y.length>0&&this.rbInsertRight(l,y);let N=l;for(let D=0;D<E.length;D++)N=this.rbInsertRight(N,E[D]);this.deleteNodes(_)}else this.insertContentToNodeRight(s,l)}else{const l=this.createNewPieces(s);let h=this.rbInsertLeft(null,l[0]);for(let f=1;f<l.length;f++)h=this.rbInsertRight(h,l[f])}this.computeBufferMetadata()}delete(r,s){if(this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",s<=0||this.root===I.SENTINEL)return;const a=this.nodeAt(r),l=this.nodeAt(r+s),h=a.node,f=l.node;if(h===f){const E=this.positionInBuffer(h,a.remainder),N=this.positionInBuffer(h,l.remainder);if(a.nodeStartOffset===r){if(s===h.piece.length){const D=h.next();(0,I.rbDelete)(this,h),this.validateCRLFWithPrevNode(D),this.computeBufferMetadata();return}this.deleteNodeHead(h,N),this._searchCache.validate(r),this.validateCRLFWithPrevNode(h),this.computeBufferMetadata();return}if(a.nodeStartOffset+h.piece.length===r+s){this.deleteNodeTail(h,E),this.validateCRLFWithNextNode(h),this.computeBufferMetadata();return}this.shrinkNode(h,E,N),this.computeBufferMetadata();return}const S=[],v=this.positionInBuffer(h,a.remainder);this.deleteNodeTail(h,v),this._searchCache.validate(r),h.piece.length===0&&S.push(h);const p=this.positionInBuffer(f,l.remainder);this.deleteNodeHead(f,p),f.piece.length===0&&S.push(f);const _=h.next();for(let E=_;E!==I.SENTINEL&&E!==f;E=E.next())S.push(E);const y=h.piece.length===0?h.prev():h;this.deleteNodes(S),this.validateCRLFWithNextNode(y),this.computeBufferMetadata()}insertContentToNodeLeft(r,s){const a=[];if(this.shouldCheckCRLF()&&this.endWithCR(r)&&this.startWithLF(s)){const f=s.piece,S={line:f.start.line+1,column:0},v=new t(f.bufferIndex,S,f.end,this.getLineFeedCnt(f.bufferIndex,S,f.end),f.length-1);s.piece=v,r+=`
+`,(0,I.updateTreeMetadata)(this,s,-1,-1),s.piece.length===0&&a.push(s)}const l=this.createNewPieces(r);let h=this.rbInsertLeft(s,l[l.length-1]);for(let f=l.length-2;f>=0;f--)h=this.rbInsertLeft(h,l[f]);this.validateCRLFWithPrevNode(h),this.deleteNodes(a)}insertContentToNodeRight(r,s){this.adjustCarriageReturnFromNext(r,s)&&(r+=`
+`);const a=this.createNewPieces(r),l=this.rbInsertRight(s,a[0]);let h=l;for(let f=1;f<a.length;f++)h=this.rbInsertRight(h,a[f]);this.validateCRLFWithPrevNode(l)}positionInBuffer(r,s,a){const l=r.piece,h=r.piece.bufferIndex,f=this._buffers[h].lineStarts,v=f[l.start.line]+l.start.column+s;let p=l.start.line,_=l.end.line,y=0,E=0,N=0;for(;p<=_&&(y=p+(_-p)/2|0,N=f[y],y!==_);)if(E=f[y+1],v<N)_=y-1;else if(v>=E)p=y+1;else break;return a?(a.line=y,a.column=v-N,null):{line:y,column:v-N}}getLineFeedCnt(r,s,a){if(a.column===0)return a.line-s.line;const l=this._buffers[r].lineStarts;if(a.line===l.length-1)return a.line-s.line;const h=l[a.line+1],f=l[a.line]+a.column;if(h>f+1)return a.line-s.line;const S=f-1;return this._buffers[r].buffer.charCodeAt(S)===13?a.line-s.line+1:a.line-s.line}offsetInBuffer(r,s){return this._buffers[r].lineStarts[s.line]+s.column}deleteNodes(r){for(let s=0;s<r.length;s++)(0,I.rbDelete)(this,r[s])}createNewPieces(r){if(r.length>e.AverageBufferSize){const _=[];for(;r.length>e.AverageBufferSize;){const E=r.charCodeAt(e.AverageBufferSize-1);let N;E===13||E>=55296&&E<=56319?(N=r.substring(0,e.AverageBufferSize-1),r=r.substring(e.AverageBufferSize-1)):(N=r.substring(0,e.AverageBufferSize),r=r.substring(e.AverageBufferSize));const D=u(N);_.push(new t(this._buffers.length,{line:0,column:0},{line:D.length-1,column:N.length-D[D.length-1]},D.length-1,N.length)),this._buffers.push(new n(N,D))}const y=u(r);return _.push(new t(this._buffers.length,{line:0,column:0},{line:y.length-1,column:r.length-y[y.length-1]},y.length-1,r.length)),this._buffers.push(new n(r,y)),_}let s=this._buffers[0].buffer.length;const a=u(r,!1);let l=this._lastChangeBufferPos;if(this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-1]===s&&s!==0&&this.startWithLF(r)&&this.endWithCR(this._buffers[0].buffer)){this._lastChangeBufferPos={line:this._lastChangeBufferPos.line,column:this._lastChangeBufferPos.column+1},l=this._lastChangeBufferPos;for(let _=0;_<a.length;_++)a[_]+=s+1;this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(a.slice(1)),this._buffers[0].buffer+="_"+r,s+=1}else{if(s!==0)for(let _=0;_<a.length;_++)a[_]+=s;this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(a.slice(1)),this._buffers[0].buffer+=r}const h=this._buffers[0].buffer.length,f=this._buffers[0].lineStarts.length-1,S=h-this._buffers[0].lineStarts[f],v={line:f,column:S},p=new t(0,l,v,this.getLineFeedCnt(0,l,v),h-s);return this._lastChangeBufferPos=v,[p]}getLineRawContent(r,s=0){let a=this.root,l="";const h=this._searchCache.get2(r);if(h){a=h.node;const f=this.getAccumulatedValue(a,r-h.nodeStartLineNumber-1),S=this._buffers[a.piece.bufferIndex].buffer,v=this.offsetInBuffer(a.piece.bufferIndex,a.piece.start);if(h.nodeStartLineNumber+a.piece.lineFeedCnt===r)l=S.substring(v+f,v+a.piece.length);else{const p=this.getAccumulatedValue(a,r-h.nodeStartLineNumber);return S.substring(v+f,v+p-s)}}else{let f=0;const S=r;for(;a!==I.SENTINEL;)if(a.left!==I.SENTINEL&&a.lf_left>=r-1)a=a.left;else if(a.lf_left+a.piece.lineFeedCnt>r-1){const v=this.getAccumulatedValue(a,r-a.lf_left-2),p=this.getAccumulatedValue(a,r-a.lf_left-1),_=this._buffers[a.piece.bufferIndex].buffer,y=this.offsetInBuffer(a.piece.bufferIndex,a.piece.start);return f+=a.size_left,this._searchCache.set({node:a,nodeStartOffset:f,nodeStartLineNumber:S-(r-1-a.lf_left)}),_.substring(y+v,y+p-s)}else if(a.lf_left+a.piece.lineFeedCnt===r-1){const v=this.getAccumulatedValue(a,r-a.lf_left-2),p=this._buffers[a.piece.bufferIndex].buffer,_=this.offsetInBuffer(a.piece.bufferIndex,a.piece.start);l=p.substring(_+v,_+a.piece.length);break}else r-=a.lf_left+a.piece.lineFeedCnt,f+=a.size_left+a.piece.length,a=a.right}for(a=a.next();a!==I.SENTINEL;){const f=this._buffers[a.piece.bufferIndex].buffer;if(a.piece.lineFeedCnt>0){const S=this.getAccumulatedValue(a,0),v=this.offsetInBuffer(a.piece.bufferIndex,a.piece.start);return l+=f.substring(v,v+S-s),l}else{const S=this.offsetInBuffer(a.piece.bufferIndex,a.piece.start);l+=f.substr(S,a.piece.length)}a=a.next()}return l}computeBufferMetadata(){let r=this.root,s=1,a=0;for(;r!==I.SENTINEL;)s+=r.lf_left+r.piece.lineFeedCnt,a+=r.size_left+r.piece.length,r=r.right;this._lineCnt=s,this._length=a,this._searchCache.validate(this._length)}getIndexOf(r,s){const a=r.piece,l=this.positionInBuffer(r,s),h=l.line-a.start.line;if(this.offsetInBuffer(a.bufferIndex,a.end)-this.offsetInBuffer(a.bufferIndex,a.start)===s){const f=this.getLineFeedCnt(r.piece.bufferIndex,a.start,l);if(f!==h)return{index:f,remainder:0}}return{index:h,remainder:l.column}}getAccumulatedValue(r,s){if(s<0)return 0;const a=r.piece,l=this._buffers[a.bufferIndex].lineStarts,h=a.start.line+s+1;return h>a.end.line?l[a.end.line]+a.end.column-l[a.start.line]-a.start.column:l[h]-l[a.start.line]-a.start.column}deleteNodeTail(r,s){const a=r.piece,l=a.lineFeedCnt,h=this.offsetInBuffer(a.bufferIndex,a.end),f=s,S=this.offsetInBuffer(a.bufferIndex,f),v=this.getLineFeedCnt(a.bufferIndex,a.start,f),p=v-l,_=S-h,y=a.length+_;r.piece=new t(a.bufferIndex,a.start,f,v,y),(0,I.updateTreeMetadata)(this,r,_,p)}deleteNodeHead(r,s){const a=r.piece,l=a.lineFeedCnt,h=this.offsetInBuffer(a.bufferIndex,a.start),f=s,S=this.getLineFeedCnt(a.bufferIndex,f,a.end),v=this.offsetInBuffer(a.bufferIndex,f),p=S-l,_=h-v,y=a.length+_;r.piece=new t(a.bufferIndex,f,a.end,S,y),(0,I.updateTreeMetadata)(this,r,_,p)}shrinkNode(r,s,a){const l=r.piece,h=l.start,f=l.end,S=l.length,v=l.lineFeedCnt,p=s,_=this.getLineFeedCnt(l.bufferIndex,l.start,p),y=this.offsetInBuffer(l.bufferIndex,s)-this.offsetInBuffer(l.bufferIndex,h);r.piece=new t(l.bufferIndex,l.start,p,_,y),(0,I.updateTreeMetadata)(this,r,y-S,_-v);const E=new t(l.bufferIndex,a,f,this.getLineFeedCnt(l.bufferIndex,a,f),this.offsetInBuffer(l.bufferIndex,f)-this.offsetInBuffer(l.bufferIndex,a)),N=this.rbInsertRight(r,E);this.validateCRLFWithPrevNode(N)}appendToNode(r,s){this.adjustCarriageReturnFromNext(s,r)&&(s+=`
+`);const a=this.shouldCheckCRLF()&&this.startWithLF(s)&&this.endWithCR(r),l=this._buffers[0].buffer.length;this._buffers[0].buffer+=s;const h=u(s,!1);for(let N=0;N<h.length;N++)h[N]+=l;if(a){const N=this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-2];this._buffers[0].lineStarts.pop(),this._lastChangeBufferPos={line:this._lastChangeBufferPos.line-1,column:l-N}}this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(h.slice(1));const f=this._buffers[0].lineStarts.length-1,S=this._buffers[0].buffer.length-this._buffers[0].lineStarts[f],v={line:f,column:S},p=r.piece.length+s.length,_=r.piece.lineFeedCnt,y=this.getLineFeedCnt(0,r.piece.start,v),E=y-_;r.piece=new t(r.piece.bufferIndex,r.piece.start,v,y,p),this._lastChangeBufferPos=v,(0,I.updateTreeMetadata)(this,r,s.length,E)}nodeAt(r){let s=this.root;const a=this._searchCache.get(r);if(a)return{node:a.node,nodeStartOffset:a.nodeStartOffset,remainder:r-a.nodeStartOffset};let l=0;for(;s!==I.SENTINEL;)if(s.size_left>r)s=s.left;else if(s.size_left+s.piece.length>=r){l+=s.size_left;const h={node:s,remainder:r-s.size_left,nodeStartOffset:l};return this._searchCache.set(h),h}else r-=s.size_left+s.piece.length,l+=s.size_left+s.piece.length,s=s.right;return null}nodeAt2(r,s){let a=this.root,l=0;for(;a!==I.SENTINEL;)if(a.left!==I.SENTINEL&&a.lf_left>=r-1)a=a.left;else if(a.lf_left+a.piece.lineFeedCnt>r-1){const h=this.getAccumulatedValue(a,r-a.lf_left-2),f=this.getAccumulatedValue(a,r-a.lf_left-1);return l+=a.size_left,{node:a,remainder:Math.min(h+s-1,f),nodeStartOffset:l}}else if(a.lf_left+a.piece.lineFeedCnt===r-1){const h=this.getAccumulatedValue(a,r-a.lf_left-2);if(h+s-1<=a.piece.length)return{node:a,remainder:h+s-1,nodeStartOffset:l};s-=a.piece.length-h;break}else r-=a.lf_left+a.piece.lineFeedCnt,l+=a.size_left+a.piece.length,a=a.right;for(a=a.next();a!==I.SENTINEL;){if(a.piece.lineFeedCnt>0){const h=this.getAccumulatedValue(a,0),f=this.offsetOfNode(a);return{node:a,remainder:Math.min(s-1,h),nodeStartOffset:f}}else if(a.piece.length>=s-1){const h=this.offsetOfNode(a);return{node:a,remainder:s-1,nodeStartOffset:h}}else s-=a.piece.length;a=a.next()}return null}nodeCharCodeAt(r,s){if(r.piece.lineFeedCnt<1)return-1;const a=this._buffers[r.piece.bufferIndex],l=this.offsetInBuffer(r.piece.bufferIndex,r.piece.start)+s;return a.buffer.charCodeAt(l)}offsetOfNode(r){if(!r)return 0;let s=r.size_left;for(;r!==this.root;)r.parent.right===r&&(s+=r.parent.size_left+r.parent.piece.length),r=r.parent;return s}shouldCheckCRLF(){return!(this._EOLNormalized&&this._EOL===`
+`)}startWithLF(r){if(typeof r=="string")return r.charCodeAt(0)===10;if(r===I.SENTINEL||r.piece.lineFeedCnt===0)return!1;const s=r.piece,a=this._buffers[s.bufferIndex].lineStarts,l=s.start.line,h=a[l]+s.start.column;return l===a.length-1||a[l+1]>h+1?!1:this._buffers[s.bufferIndex].buffer.charCodeAt(h)===10}endWithCR(r){return typeof r=="string"?r.charCodeAt(r.length-1)===13:r===I.SENTINEL||r.piece.lineFeedCnt===0?!1:this.nodeCharCodeAt(r,r.piece.length-1)===13}validateCRLFWithPrevNode(r){if(this.shouldCheckCRLF()&&this.startWithLF(r)){const s=r.prev();this.endWithCR(s)&&this.fixCRLF(s,r)}}validateCRLFWithNextNode(r){if(this.shouldCheckCRLF()&&this.endWithCR(r)){const s=r.next();this.startWithLF(s)&&this.fixCRLF(r,s)}}fixCRLF(r,s){const a=[],l=this._buffers[r.piece.bufferIndex].lineStarts;let h;r.piece.end.column===0?h={line:r.piece.end.line-1,column:l[r.piece.end.line]-l[r.piece.end.line-1]-1}:h={line:r.piece.end.line,column:r.piece.end.column-1};const f=r.piece.length-1,S=r.piece.lineFeedCnt-1;r.piece=new t(r.piece.bufferIndex,r.piece.start,h,S,f),(0,I.updateTreeMetadata)(this,r,-1,-1),r.piece.length===0&&a.push(r);const v={line:s.piece.start.line+1,column:0},p=s.piece.length-1,_=this.getLineFeedCnt(s.piece.bufferIndex,v,s.piece.end);s.piece=new t(s.piece.bufferIndex,v,s.piece.end,_,p),(0,I.updateTreeMetadata)(this,s,-1,-1),s.piece.length===0&&a.push(s);const y=this.createNewPieces(`\r
+`);this.rbInsertRight(r,y[0]);for(let E=0;E<a.length;E++)(0,I.rbDelete)(this,a[E])}adjustCarriageReturnFromNext(r,s){if(this.shouldCheckCRLF()&&this.endWithCR(r)){const a=s.next();if(this.startWithLF(a)){if(r+=`
+`,a.piece.length===1)(0,I.rbDelete)(this,a);else{const l=a.piece,h={line:l.start.line+1,column:0},f=l.length-1,S=this.getLineFeedCnt(l.bufferIndex,h,l.end);a.piece=new t(l.bufferIndex,h,l.end,S,f),(0,I.updateTreeMetadata)(this,a,-1,-1)}return!0}}return!1}iterate(r,s){if(r===I.SENTINEL)return s(I.SENTINEL);const a=this.iterate(r.left,s);return a&&s(r)&&this.iterate(r.right,s)}getNodeContent(r){if(r===I.SENTINEL)return"";const s=this._buffers[r.piece.bufferIndex];let a;const l=r.piece,h=this.offsetInBuffer(l.bufferIndex,l.start),f=this.offsetInBuffer(l.bufferIndex,l.end);return a=s.buffer.substring(h,f),a}getPieceContent(r){const s=this._buffers[r.bufferIndex],a=this.offsetInBuffer(r.bufferIndex,r.start),l=this.offsetInBuffer(r.bufferIndex,r.end);return s.buffer.substring(a,l)}rbInsertRight(r,s){const a=new I.TreeNode(s,1);if(a.left=I.SENTINEL,a.right=I.SENTINEL,a.parent=I.SENTINEL,a.size_left=0,a.lf_left=0,this.root===I.SENTINEL)this.root=a,a.color=0;else if(r.right===I.SENTINEL)r.right=a,a.parent=r;else{const h=(0,I.leftest)(r.right);h.left=a,a.parent=h}return(0,I.fixInsert)(this,a),a}rbInsertLeft(r,s){const a=new I.TreeNode(s,1);if(a.left=I.SENTINEL,a.right=I.SENTINEL,a.parent=I.SENTINEL,a.size_left=0,a.lf_left=0,this.root===I.SENTINEL)this.root=a,a.color=0;else if(r.left===I.SENTINEL)r.left=a,a.parent=r;else{const l=(0,I.righttest)(r.left);l.right=a,a.parent=l}return(0,I.fixInsert)(this,a),a}}e.PieceTreeBase=c}),define(te[247],ie([1,0,4,8,3,50,246,119,240,2]),function(q,e,L,m,k,I,w,b,C,u){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PieceTreeTextBuffer=void 0;class g extends u.Disposable{constructor(n,i,o,c,d,r,s){super();this._onDidChangeContent=this._register(new L.Emitter),this._BOM=i,this._mightContainNonBasicASCII=!r,this._mightContainRTL=c,this._mightContainUnusualLineTerminators=d,this._pieceTree=new w.PieceTreeBase(n,o,s)}mightContainRTL(){return this._mightContainRTL}mightContainUnusualLineTerminators(){return this._mightContainUnusualLineTerminators}resetMightContainUnusualLineTerminators(){this._mightContainUnusualLineTerminators=!1}mightContainNonBasicASCII(){return this._mightContainNonBasicASCII}getBOM(){return this._BOM}getEOL(){return this._pieceTree.getEOL()}createSnapshot(n){return this._pieceTree.createSnapshot(n?this._BOM:"")}getOffsetAt(n,i){return this._pieceTree.getOffsetAt(n,i)}getPositionAt(n){return this._pieceTree.getPositionAt(n)}getRangeAt(n,i){const o=n+i,c=this.getPositionAt(n),d=this.getPositionAt(o);return new k.Range(c.lineNumber,c.column,d.lineNumber,d.column)}getValueInRange(n,i=0){if(n.isEmpty())return"";const o=this._getEndOfLine(i);return this._pieceTree.getValueInRange(n,o)}getValueLengthInRange(n,i=0){if(n.isEmpty())return 0;if(n.startLineNumber===n.endLineNumber)return n.endColumn-n.startColumn;const o=this.getOffsetAt(n.startLineNumber,n.startColumn);return this.getOffsetAt(n.endLineNumber,n.endColumn)-o}getCharacterCountInRange(n,i=0){if(this._mightContainNonBasicASCII){let o=0;const c=n.startLineNumber,d=n.endLineNumber;for(let r=c;r<=d;r++){const s=this.getLineContent(r),a=r===c?n.startColumn-1:0,l=r===d?n.endColumn-1:s.length;for(let h=a;h<l;h++)m.isHighSurrogate(s.charCodeAt(h))?(o=o+1,h=h+1):o=o+1}return o+=this._getEndOfLine(i).length*(d-c),o}return this.getValueLengthInRange(n,i)}getLength(){return this._pieceTree.getLength()}getLineCount(){return this._pieceTree.getLineCount()}getLinesContent(){return this._pieceTree.getLinesContent()}getLineContent(n){return this._pieceTree.getLineContent(n)}getLineCharCode(n,i){return this._pieceTree.getLineCharCode(n,i)}getLineLength(n){return this._pieceTree.getLineLength(n)}getLineFirstNonWhitespaceColumn(n){const i=m.firstNonWhitespaceIndex(this.getLineContent(n));return i===-1?0:i+1}getLineLastNonWhitespaceColumn(n){const i=m.lastNonWhitespaceIndex(this.getLineContent(n));return i===-1?0:i+2}_getEndOfLine(n){switch(n){case 1:return`
+`;case 2:return`\r
+`;case 0:return this.getEOL();default:throw new Error("Unknown EOL preference")}}setEOL(n){this._pieceTree.setEOL(n)}applyEdits(n,i,o){let c=this._mightContainRTL,d=this._mightContainUnusualLineTerminators,r=this._mightContainNonBasicASCII,s=!0,a=[];for(let _=0;_<n.length;_++){const y=n[_];s&&y._isTracked&&(s=!1);const E=y.range;if(y.text){let O=!0;r||(O=!m.isBasicASCII(y.text),r=O),!c&&O&&(c=m.containsRTL(y.text)),!d&&O&&(d=m.containsUnusualLineTerminators(y.text))}let N="",D=0,M=0,B=0;if(y.text){let O;[D,M,B,O]=(0,b.countEOL)(y.text);const T=this.getEOL();O===0||O===(T===`\r
+`?2:1)?N=y.text:N=y.text.replace(/\r\n|\r|\n/g,T)}a[_]={sortIndex:_,identifier:y.identifier||null,range:E,rangeOffset:this.getOffsetAt(E.startLineNumber,E.startColumn),rangeLength:this.getValueLengthInRange(E),text:N,eolCount:D,firstLineLength:M,lastLineLength:B,forceMoveMarkers:Boolean(y.forceMoveMarkers),isAutoWhitespaceEdit:y.isAutoWhitespaceEdit||!1}}a.sort(g._sortOpsAscending);let l=!1;for(let _=0,y=a.length-1;_<y;_++){const E=a[_].range.getEndPosition(),N=a[_+1].range.getStartPosition();if(N.isBeforeOrEqual(E)){if(N.isBefore(E))throw new Error("Overlapping ranges are not allowed!");l=!0}}s&&(a=this._reduceOperations(a));const h=o||i?g._getInverseEditRanges(a):[],f=[];if(i)for(let _=0;_<a.length;_++){const y=a[_],E=h[_];if(y.isAutoWhitespaceEdit&&y.range.isEmpty())for(let N=E.startLineNumber;N<=E.endLineNumber;N++){let D="";N===E.startLineNumber&&(D=this.getLineContent(y.range.startLineNumber),m.firstNonWhitespaceIndex(D)!==-1)||f.push({lineNumber:N,oldContent:D})}}let S=null;if(o){let _=0;S=[];for(let y=0;y<a.length;y++){const E=a[y],N=h[y],D=this.getValueInRange(E.range),M=E.rangeOffset+_;_+=E.text.length-D.length,S[y]={sortIndex:E.sortIndex,identifier:E.identifier,range:N,text:D,textChange:new C.TextChange(E.rangeOffset,D,M,E.text)}}l||S.sort((y,E)=>y.sortIndex-E.sortIndex)}this._mightContainRTL=c,this._mightContainUnusualLineTerminators=d,this._mightContainNonBasicASCII=r;const v=this._doApplyEdits(a);let p=null;if(i&&f.length>0){f.sort((_,y)=>y.lineNumber-_.lineNumber),p=[];for(let _=0,y=f.length;_<y;_++){const E=f[_].lineNumber;if(_>0&&f[_-1].lineNumber===E)continue;const N=f[_].oldContent,D=this.getLineContent(E);D.length===0||D===N||m.firstNonWhitespaceIndex(D)!==-1||p.push(E)}}return this._onDidChangeContent.fire(),new I.ApplyEditsResult(S,v,p)}_reduceOperations(n){return n.length<1e3?n:[this._toSingleEditOperation(n)]}_toSingleEditOperation(n){let i=!1;const o=n[0].range,c=n[n.length-1].range,d=new k.Range(o.startLineNumber,o.startColumn,c.endLineNumber,c.endColumn);let r=o.startLineNumber,s=o.startColumn;const a=[];for(let v=0,p=n.length;v<p;v++){const _=n[v],y=_.range;i=i||_.forceMoveMarkers,a.push(this.getValueInRange(new k.Range(r,s,y.startLineNumber,y.startColumn))),_.text.length>0&&a.push(_.text),r=y.endLineNumber,s=y.endColumn}const l=a.join(""),[h,f,S]=(0,b.countEOL)(l);return{sortIndex:0,identifier:n[0].identifier,range:d,rangeOffset:this.getOffsetAt(d.startLineNumber,d.startColumn),rangeLength:this.getValueLengthInRange(d,0),text:l,eolCount:h,firstLineLength:f,lastLineLength:S,forceMoveMarkers:i,isAutoWhitespaceEdit:!1}}_doApplyEdits(n){n.sort(g._sortOpsDescending);const i=[];for(let o=0;o<n.length;o++){const c=n[o],d=c.range.startLineNumber,r=c.range.startColumn,s=c.range.endLineNumber,a=c.range.endColumn;if(d===s&&r===a&&c.text.length===0)continue;c.text?(this._pieceTree.delete(c.rangeOffset,c.rangeLength),this._pieceTree.insert(c.rangeOffset,c.text,!0)):this._pieceTree.delete(c.rangeOffset,c.rangeLength);const l=new k.Range(d,r,s,a);i.push({range:l,rangeLength:c.rangeLength,text:c.text,rangeOffset:c.rangeOffset,forceMoveMarkers:c.forceMoveMarkers})}return i}findMatchesLineByLine(n,i,o,c){return this._pieceTree.findMatchesLineByLine(n,i,o,c)}static _getInverseEditRanges(n){const i=[];let o=0,c=0,d=null;for(let r=0,s=n.length;r<s;r++){const a=n[r];let l,h;d?d.range.endLineNumber===a.range.startLineNumber?(l=o,h=c+(a.range.startColumn-d.range.endColumn)):(l=o+(a.range.startLineNumber-d.range.endLineNumber),h=a.range.startColumn):(l=a.range.startLineNumber,h=a.range.startColumn);let f;if(a.text.length>0){const S=a.eolCount+1;S===1?f=new k.Range(l,h,l,h+a.firstLineLength):f=new k.Range(l,h,l+S-1,a.lastLineLength+1)}else f=new k.Range(l,h,l,h);o=f.endLineNumber,c=f.endColumn,i.push(f),d=a}return i}static _sortOpsAscending(n,i){const o=k.Range.compareRangesUsingEnds(n.range,i.range);return o===0?n.sortIndex-i.sortIndex:o}static _sortOpsDescending(n,i){const o=k.Range.compareRangesUsingEnds(n.range,i.range);return o===0?i.sortIndex-n.sortIndex:-o}}e.PieceTreeTextBuffer=g}),define(te[429],ie([1,0,8,246,247]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PieceTreeTextBufferBuilder=e.PieceTreeTextBufferFactory=void 0;class I{constructor(C,u,g,t,n,i,o,c,d){this._chunks=C,this._bom=u,this._cr=g,this._lf=t,this._crlf=n,this._containsRTL=i,this._containsUnusualLineTerminators=o,this._isBasicASCII=c,this._normalizeEOL=d}_getEOL(C){const u=this._cr+this._lf+this._crlf,g=this._cr+this._crlf;return u===0?C===1?`
+`:`\r
+`:g>u/2?`\r
+`:`
+`}create(C){const u=this._getEOL(C),g=this._chunks;if(this._normalizeEOL&&(u===`\r
+`&&(this._cr>0||this._lf>0)||u===`
+`&&(this._cr>0||this._crlf>0)))for(let n=0,i=g.length;n<i;n++){const o=g[n].buffer.replace(/\r\n|\r|\n/g,u),c=(0,m.createLineStartsFast)(o);g[n]=new m.StringBuffer(o,c)}const t=new k.PieceTreeTextBuffer(g,this._bom,u,this._containsRTL,this._containsUnusualLineTerminators,this._isBasicASCII,this._normalizeEOL);return{textBuffer:t,disposable:t}}}e.PieceTreeTextBufferFactory=I;class w{constructor(){this.chunks=[],this.BOM="",this._hasPreviousChar=!1,this._previousChar=0,this._tmpLineStarts=[],this.cr=0,this.lf=0,this.crlf=0,this.containsRTL=!1,this.containsUnusualLineTerminators=!1,this.isBasicASCII=!0}acceptChunk(C){if(C.length===0)return;this.chunks.length===0&&L.startsWithUTF8BOM(C)&&(this.BOM=L.UTF8_BOM_CHARACTER,C=C.substr(1));const u=C.charCodeAt(C.length-1);u===13||u>=55296&&u<=56319?(this._acceptChunk1(C.substr(0,C.length-1),!1),this._hasPreviousChar=!0,this._previousChar=u):(this._acceptChunk1(C,!1),this._hasPreviousChar=!1,this._previousChar=u)}_acceptChunk1(C,u){!u&&C.length===0||(this._hasPreviousChar?this._acceptChunk2(String.fromCharCode(this._previousChar)+C):this._acceptChunk2(C))}_acceptChunk2(C){const u=(0,m.createLineStarts)(this._tmpLineStarts,C);this.chunks.push(new m.StringBuffer(C,u.lineStarts)),this.cr+=u.cr,this.lf+=u.lf,this.crlf+=u.crlf,this.isBasicASCII&&(this.isBasicASCII=u.isBasicASCII),!this.isBasicASCII&&!this.containsRTL&&(this.containsRTL=L.containsRTL(C)),!this.isBasicASCII&&!this.containsUnusualLineTerminators&&(this.containsUnusualLineTerminators=L.containsUnusualLineTerminators(C))}finish(C=!0){return this._finish(),new I(this.chunks,this.BOM,this.cr,this.lf,this.crlf,this.containsRTL,this.containsUnusualLineTerminators,this.isBasicASCII,C)}_finish(){if(this.chunks.length===0&&this._acceptChunk1("",!0),this._hasPreviousChar){this._hasPreviousChar=!1;const C=this.chunks[this.chunks.length-1];C.buffer+=String.fromCharCode(this._previousChar);const u=(0,m.createLineStartsFast)(C.buffer);C.lineStarts=u,this._previousChar===13&&this.cr++}}}e.PieceTreeTextBufferBuilder=w}),define(te[184],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.computeIndentLevel=void 0;function L(m,k){let I=0,w=0;const b=m.length;for(;w<b;){const C=m.charCodeAt(w);if(C===32)I++;else if(C===9)I=I-I%k+k;else break;w++}return w===b?-1:I}e.computeIndentLevel=L}),define(te[248],ie([1,0,19,11,50]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OutputPosition=e.InjectedText=e.ModelLineProjectionData=void 0;class I{constructor(t,n,i,o,c){this.injectionOffsets=t,this.injectionOptions=n,this.breakOffsets=i,this.breakOffsetsVisibleColumn=o,this.wrappedTextIndentLength=c}getOutputLineCount(){return this.breakOffsets.length}getMinOutputOffset(t){return t>0?this.wrappedTextIndentLength:0}getLineLength(t){const n=t>0?this.breakOffsets[t-1]:0;let o=this.breakOffsets[t]-n;return t>0&&(o+=this.wrappedTextIndentLength),o}getMaxOutputOffset(t){return this.getLineLength(t)}translateToInputOffset(t,n){t>0&&(n=Math.max(0,n-this.wrappedTextIndentLength));let o=t===0?n:this.breakOffsets[t-1]+n;if(this.injectionOffsets!==null)for(let c=0;c<this.injectionOffsets.length&&o>this.injectionOffsets[c];c++)o<this.injectionOffsets[c]+this.injectionOptions[c].content.length?o=this.injectionOffsets[c]:o-=this.injectionOptions[c].content.length;return o}translateToOutputPosition(t,n=2){let i=t;if(this.injectionOffsets!==null)for(let o=0;o<this.injectionOffsets.length&&!(t<this.injectionOffsets[o]||n!==1&&t===this.injectionOffsets[o]);o++)i+=this.injectionOptions[o].content.length;return this.offsetInInputWithInjectionsToOutputPosition(i,n)}offsetInInputWithInjectionsToOutputPosition(t,n=2){let i=0,o=this.breakOffsets.length-1,c=0,d=0;for(;i<=o;){c=i+(o-i)/2|0;const s=this.breakOffsets[c];if(d=c>0?this.breakOffsets[c-1]:0,n===0)if(t<=d)o=c-1;else if(t>s)i=c+1;else break;else if(t<d)o=c-1;else if(t>=s)i=c+1;else break}let r=t-d;return c>0&&(r+=this.wrappedTextIndentLength),new u(c,r)}normalizeOutputPosition(t,n,i){if(this.injectionOffsets!==null){const o=this.outputPositionToOffsetInInputWithInjections(t,n),c=this.normalizeOffsetInInputWithInjectionsAroundInjections(o,i);if(c!==o)return this.offsetInInputWithInjectionsToOutputPosition(c,i)}if(i===0){if(t>0&&n===this.getMinOutputOffset(t))return new u(t-1,this.getMaxOutputOffset(t-1))}else if(i===1){const o=this.getOutputLineCount()-1;if(t<o&&n===this.getMaxOutputOffset(t))return new u(t+1,this.getMinOutputOffset(t+1))}return new u(t,n)}outputPositionToOffsetInInputWithInjections(t,n){return t>0&&(n=Math.max(0,n-this.wrappedTextIndentLength)),(t>0?this.breakOffsets[t-1]:0)+n}normalizeOffsetInInputWithInjectionsAroundInjections(t,n){const i=this.getInjectedTextAtOffset(t);if(!i)return t;if(n===2){if(t===i.offsetInInputWithInjections+i.length&&w(this.injectionOptions[i.injectedTextIndex].cursorStops))return i.offsetInInputWithInjections+i.length;{let o=i.offsetInInputWithInjections;if(b(this.injectionOptions[i.injectedTextIndex].cursorStops))return o;let c=i.injectedTextIndex-1;for(;c>=0&&this.injectionOffsets[c]===this.injectionOffsets[i.injectedTextIndex]&&!(w(this.injectionOptions[c].cursorStops)||(o-=this.injectionOptions[c].content.length,b(this.injectionOptions[c].cursorStops)));)c--;return o}}else if(n===1){let o=i.offsetInInputWithInjections+i.length,c=i.injectedTextIndex;for(;c+1<this.injectionOffsets.length&&this.injectionOffsets[c+1]===this.injectionOffsets[c];)o+=this.injectionOptions[c+1].content.length,c++;return o}else if(n===0){let o=i.offsetInInputWithInjections,c=i.injectedTextIndex;for(;c-1>=0&&this.injectionOffsets[c-1]===this.injectionOffsets[c];)o-=this.injectionOptions[c-1].content.length,c--;return o}(0,L.assertNever)(n)}getInjectedText(t,n){const i=this.outputPositionToOffsetInInputWithInjections(t,n),o=this.getInjectedTextAtOffset(i);return o?{options:this.injectionOptions[o.injectedTextIndex]}:null}getInjectedTextAtOffset(t){const n=this.injectionOffsets,i=this.injectionOptions;if(n!==null){let o=0;for(let c=0;c<n.length;c++){const d=i[c].content.length,r=n[c]+o,s=n[c]+o+d;if(r>t)break;if(t<=s)return{injectedTextIndex:c,offsetInInputWithInjections:r,length:d};o+=d}}}}e.ModelLineProjectionData=I;function w(g){return g==null?!0:g===k.InjectedTextCursorStops.Right||g===k.InjectedTextCursorStops.Both}function b(g){return g==null?!0:g===k.InjectedTextCursorStops.Left||g===k.InjectedTextCursorStops.Both}class C{constructor(t){this.options=t}}e.InjectedText=C;class u{constructor(t,n){this.outputLineIndex=t,this.outputOffset=n}toString(){return`${this.outputLineIndex}:${this.outputOffset}`}toPosition(t){return new m.Position(t+this.outputLineIndex,this.outputOffset+1)}}e.OutputPosition=u}),define(te[430],ie([1,0,218,138,45,84,42,8]),function(q,e,L,m,k,I,w,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getMimeTypes=e.clearPlatformLanguageAssociations=e.registerPlatformLanguageAssociation=void 0;let C=[],u=[],g=[];function t(s,a=!1){n(s,!1,a)}e.registerPlatformLanguageAssociation=t;function n(s,a,l){const h=i(s,a);C.push(h),h.userConfigured?g.push(h):u.push(h),l&&!h.userConfigured&&C.forEach(f=>{f.mime===h.mime||f.userConfigured||(h.extension&&f.extension===h.extension&&console.warn(`Overwriting extension <<${h.extension}>> to now point to mime <<${h.mime}>>`),h.filename&&f.filename===h.filename&&console.warn(`Overwriting filename <<${h.filename}>> to now point to mime <<${h.mime}>>`),h.filepattern&&f.filepattern===h.filepattern&&console.warn(`Overwriting filepattern <<${h.filepattern}>> to now point to mime <<${h.mime}>>`),h.firstline&&f.firstline===h.firstline&&console.warn(`Overwriting firstline <<${h.firstline}>> to now point to mime <<${h.mime}>>`))})}function i(s,a){return{id:s.id,mime:s.mime,filename:s.filename,extension:s.extension,filepattern:s.filepattern,firstline:s.firstline,userConfigured:a,filenameLowercase:s.filename?s.filename.toLowerCase():void 0,extensionLowercase:s.extension?s.extension.toLowerCase():void 0,filepatternLowercase:s.filepattern?(0,L.parse)(s.filepattern.toLowerCase()):void 0,filepatternOnPath:s.filepattern?s.filepattern.indexOf(I.posix.sep)>=0:!1}}function o(){C=C.filter(s=>s.userConfigured),u=[]}e.clearPlatformLanguageAssociations=o;function c(s,a){let l;if(s)switch(s.scheme){case k.Schemas.file:l=s.fsPath;break;case k.Schemas.data:{l=w.DataUri.parseMetaData(s).get(w.DataUri.META_DATA_LABEL);break}default:l=s.path}if(!l)return[m.Mimes.unknown];l=l.toLowerCase();const h=(0,I.basename)(l),f=d(l,h,g);if(f)return[f,m.Mimes.text];const S=d(l,h,u);if(S)return[S,m.Mimes.text];if(a){const v=r(a);if(v)return[v,m.Mimes.text]}return[m.Mimes.unknown]}e.getMimeTypes=c;function d(s,a,l){var h;let f,S,v;for(let p=l.length-1;p>=0;p--){const _=l[p];if(a===_.filenameLowercase){f=_;break}if(_.filepattern&&(!S||_.filepattern.length>S.filepattern.length)){const y=_.filepatternOnPath?s:a;((h=_.filepatternLowercase)===null||h===void 0?void 0:h.call(_,y))&&(S=_)}_.extension&&(!v||_.extension.length>v.extension.length)&&a.endsWith(_.extensionLowercase)&&(v=_)}if(f)return f.mime;if(S)return S.mime;if(v)return v.mime}function r(s){if((0,b.startsWithUTF8BOM)(s)&&(s=s.substr(1)),s.length>0)for(let a=C.length-1;a>=0;a--){const l=C[a];if(!l.firstline)continue;const h=s.match(l.firstline);if(h&&h.length>0)return l.mime}}}),define(te[431],ie([1,0,112,16]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.encodeSemanticTokensDto=void 0;function k(C){for(let u=0,g=C.length;u<g;u+=4){const t=C[u+0],n=C[u+1],i=C[u+2],o=C[u+3];C[u+0]=o,C[u+1]=i,C[u+2]=n,C[u+3]=t}}function I(C){const u=new Uint8Array(C.buffer,C.byteOffset,C.length*4);return m.isLittleEndian()||k(u),L.VSBuffer.wrap(u)}function w(C){const u=new Uint32Array(b(C));let g=0;if(u[g++]=C.id,C.type==="full")u[g++]=1,u[g++]=C.data.length,u.set(C.data,g),g+=C.data.length;else{u[g++]=2,u[g++]=C.deltas.length;for(const t of C.deltas)u[g++]=t.start,u[g++]=t.deleteCount,t.data?(u[g++]=t.data.length,u.set(t.data,g),g+=t.data.length):u[g++]=0}return I(u)}e.encodeSemanticTokensDto=w;function b(C){let u=0;if(u+=1+1,C.type==="full")u+=1+C.data.length;else{u+=1,u+=(1+1+1)*C.deltas.length;for(const g of C.deltas)g.data&&(u+=g.data.length)}return u}}),define(te[249],ie([1,0,3,153,8,19,121]),function(q,e,L,m,k,I,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UnicodeTextModelHighlighter=void 0;class b{static computeUnicodeHighlights(n,i,o){const c=o?o.startLineNumber:1,d=o?o.endLineNumber:n.getLineCount(),r=new u(i),s=r.getCandidateCodePoints();let a;s==="allNonBasicAscii"?a=new RegExp("[^\\t\\n\\r\\x20-\\x7E]","g"):a=new RegExp(`${C(Array.from(s))}`,"g");const l=new m.Searcher(null,a),h=[];let f=!1,S,v=0,p=0,_=0;e:for(let y=c,E=d;y<=E;y++){const N=n.getLineContent(y),D=N.length;l.reset(0);do if(S=l.next(N),S){let M=S.index,B=S.index+S[0].length;if(M>0){const P=N.charCodeAt(M-1);k.isHighSurrogate(P)&&M--}if(B+1<D){const P=N.charCodeAt(B-1);k.isHighSurrogate(P)&&B++}const O=N.substring(M,B),T=(0,w.getWordAtText)(M+1,w.DEFAULT_WORD_REGEXP,N,0),A=r.shouldHighlightNonBasicASCII(O,T?T.word:null);if(A!==0){A===3?v++:A===2?p++:A===1?_++:(0,I.assertNever)(A);const P=1e3;if(h.length>=P){f=!0;break e}h.push(new L.Range(y,M+1,y,B+1))}}while(S)}return{ranges:h,hasMore:f,ambiguousCharacterCount:v,invisibleCharacterCount:p,nonBasicAsciiCharacterCount:_}}static computeUnicodeHighlightReason(n,i){const o=new u(i);switch(o.shouldHighlightNonBasicASCII(n,null)){case 0:return null;case 2:return{kind:1};case 3:{const d=n.codePointAt(0),r=o.ambiguousCharacters.getPrimaryConfusable(d),s=k.AmbiguousCharacters.getLocales().filter(a=>!k.AmbiguousCharacters.getInstance(new Set([...i.allowedLocales,a])).isAmbiguous(d));return{kind:0,confusableWith:String.fromCodePoint(r),notAmbiguousInLocales:s}}case 1:return{kind:2}}}}e.UnicodeTextModelHighlighter=b;function C(t,n){return`[${k.escapeRegExpCharacters(t.map(o=>String.fromCodePoint(o)).join(""))}]`}class u{constructor(n){this.options=n,this.allowedCodePoints=new Set(n.allowedCodePoints),this.ambiguousCharacters=k.AmbiguousCharacters.getInstance(new Set(n.allowedLocales))}getCandidateCodePoints(){if(this.options.nonBasicASCII)return"allNonBasicAscii";const n=new Set;if(this.options.invisibleCharacters)for(const i of k.InvisibleCharacters.codePoints)g(String.fromCodePoint(i))||n.add(i);if(this.options.ambiguousCharacters)for(const i of this.ambiguousCharacters.getConfusableCodePoints())n.add(i);for(const i of this.allowedCodePoints)n.delete(i);return n}shouldHighlightNonBasicASCII(n,i){const o=n.codePointAt(0);if(this.allowedCodePoints.has(o))return 0;if(this.options.nonBasicASCII)return 1;let c=!1,d=!1;if(i)for(let r of i){const s=r.codePointAt(0),a=k.isBasicASCII(r);c=c||a,!a&&!this.ambiguousCharacters.isAmbiguous(s)&&!k.InvisibleCharacters.isInvisibleCharacter(s)&&(d=!0)}return!c&&d?0:this.options.invisibleCharacters&&!g(n)&&k.InvisibleCharacters.isInvisibleCharacter(o)?2:this.options.ambiguousCharacters&&this.ambiguousCharacters.isAmbiguous(o)?3:0}}function g(t){return t===" "||t===`
+`||t==="	"}}),define(te[185],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WrappingIndent=e.TrackedRangeStickiness=e.TextEditorCursorStyle=e.TextEditorCursorBlinkingStyle=e.SymbolTag=e.SymbolKind=e.SignatureHelpTriggerKind=e.SelectionDirection=e.ScrollbarVisibility=e.ScrollType=e.RenderMinimap=e.RenderLineNumbersType=e.PositionAffinity=e.OverviewRulerLane=e.OverlayWidgetPositionPreference=e.MouseTargetType=e.MinimapPosition=e.MarkerTag=e.MarkerSeverity=e.KeyCode=e.InlineCompletionTriggerKind=e.InlayHintKind=e.InjectedTextCursorStops=e.IndentAction=e.EndOfLineSequence=e.EndOfLinePreference=e.EditorOption=e.EditorAutoIndentStrategy=e.DocumentHighlightKind=e.DefaultEndOfLine=e.CursorChangeReason=e.ContentWidgetPositionPreference=e.CompletionTriggerKind=e.CompletionItemTag=e.CompletionItemKind=e.CompletionItemInsertTextRule=e.AccessibilitySupport=void 0;var L;(function(R){R[R.Unknown=0]="Unknown",R[R.Disabled=1]="Disabled",R[R.Enabled=2]="Enabled"})(L=e.AccessibilitySupport||(e.AccessibilitySupport={}));var m;(function(R){R[R.KeepWhitespace=1]="KeepWhitespace",R[R.InsertAsSnippet=4]="InsertAsSnippet"})(m=e.CompletionItemInsertTextRule||(e.CompletionItemInsertTextRule={}));var k;(function(R){R[R.Method=0]="Method",R[R.Function=1]="Function",R[R.Constructor=2]="Constructor",R[R.Field=3]="Field",R[R.Variable=4]="Variable",R[R.Class=5]="Class",R[R.Struct=6]="Struct",R[R.Interface=7]="Interface",R[R.Module=8]="Module",R[R.Property=9]="Property",R[R.Event=10]="Event",R[R.Operator=11]="Operator",R[R.Unit=12]="Unit",R[R.Value=13]="Value",R[R.Constant=14]="Constant",R[R.Enum=15]="Enum",R[R.EnumMember=16]="EnumMember",R[R.Keyword=17]="Keyword",R[R.Text=18]="Text",R[R.Color=19]="Color",R[R.File=20]="File",R[R.Reference=21]="Reference",R[R.Customcolor=22]="Customcolor",R[R.Folder=23]="Folder",R[R.TypeParameter=24]="TypeParameter",R[R.User=25]="User",R[R.Issue=26]="Issue",R[R.Snippet=27]="Snippet"})(k=e.CompletionItemKind||(e.CompletionItemKind={}));var I;(function(R){R[R.Deprecated=1]="Deprecated"})(I=e.CompletionItemTag||(e.CompletionItemTag={}));var w;(function(R){R[R.Invoke=0]="Invoke",R[R.TriggerCharacter=1]="TriggerCharacter",R[R.TriggerForIncompleteCompletions=2]="TriggerForIncompleteCompletions"})(w=e.CompletionTriggerKind||(e.CompletionTriggerKind={}));var b;(function(R){R[R.EXACT=0]="EXACT",R[R.ABOVE=1]="ABOVE",R[R.BELOW=2]="BELOW"})(b=e.ContentWidgetPositionPreference||(e.ContentWidgetPositionPreference={}));var C;(function(R){R[R.NotSet=0]="NotSet",R[R.ContentFlush=1]="ContentFlush",R[R.RecoverFromMarkers=2]="RecoverFromMarkers",R[R.Explicit=3]="Explicit",R[R.Paste=4]="Paste",R[R.Undo=5]="Undo",R[R.Redo=6]="Redo"})(C=e.CursorChangeReason||(e.CursorChangeReason={}));var u;(function(R){R[R.LF=1]="LF",R[R.CRLF=2]="CRLF"})(u=e.DefaultEndOfLine||(e.DefaultEndOfLine={}));var g;(function(R){R[R.Text=0]="Text",R[R.Read=1]="Read",R[R.Write=2]="Write"})(g=e.DocumentHighlightKind||(e.DocumentHighlightKind={}));var t;(function(R){R[R.None=0]="None",R[R.Keep=1]="Keep",R[R.Brackets=2]="Brackets",R[R.Advanced=3]="Advanced",R[R.Full=4]="Full"})(t=e.EditorAutoIndentStrategy||(e.EditorAutoIndentStrategy={}));var n;(function(R){R[R.acceptSuggestionOnCommitCharacter=0]="acceptSuggestionOnCommitCharacter",R[R.acceptSuggestionOnEnter=1]="acceptSuggestionOnEnter",R[R.accessibilitySupport=2]="accessibilitySupport",R[R.accessibilityPageSize=3]="accessibilityPageSize",R[R.ariaLabel=4]="ariaLabel",R[R.autoClosingBrackets=5]="autoClosingBrackets",R[R.autoClosingDelete=6]="autoClosingDelete",R[R.autoClosingOvertype=7]="autoClosingOvertype",R[R.autoClosingQuotes=8]="autoClosingQuotes",R[R.autoIndent=9]="autoIndent",R[R.automaticLayout=10]="automaticLayout",R[R.autoSurround=11]="autoSurround",R[R.bracketPairColorization=12]="bracketPairColorization",R[R.guides=13]="guides",R[R.codeLens=14]="codeLens",R[R.codeLensFontFamily=15]="codeLensFontFamily",R[R.codeLensFontSize=16]="codeLensFontSize",R[R.colorDecorators=17]="colorDecorators",R[R.columnSelection=18]="columnSelection",R[R.comments=19]="comments",R[R.contextmenu=20]="contextmenu",R[R.copyWithSyntaxHighlighting=21]="copyWithSyntaxHighlighting",R[R.cursorBlinking=22]="cursorBlinking",R[R.cursorSmoothCaretAnimation=23]="cursorSmoothCaretAnimation",R[R.cursorStyle=24]="cursorStyle",R[R.cursorSurroundingLines=25]="cursorSurroundingLines",R[R.cursorSurroundingLinesStyle=26]="cursorSurroundingLinesStyle",R[R.cursorWidth=27]="cursorWidth",R[R.disableLayerHinting=28]="disableLayerHinting",R[R.disableMonospaceOptimizations=29]="disableMonospaceOptimizations",R[R.domReadOnly=30]="domReadOnly",R[R.dragAndDrop=31]="dragAndDrop",R[R.emptySelectionClipboard=32]="emptySelectionClipboard",R[R.extraEditorClassName=33]="extraEditorClassName",R[R.fastScrollSensitivity=34]="fastScrollSensitivity",R[R.find=35]="find",R[R.fixedOverflowWidgets=36]="fixedOverflowWidgets",R[R.folding=37]="folding",R[R.foldingStrategy=38]="foldingStrategy",R[R.foldingHighlight=39]="foldingHighlight",R[R.foldingImportsByDefault=40]="foldingImportsByDefault",R[R.foldingMaximumRegions=41]="foldingMaximumRegions",R[R.unfoldOnClickAfterEndOfLine=42]="unfoldOnClickAfterEndOfLine",R[R.fontFamily=43]="fontFamily",R[R.fontInfo=44]="fontInfo",R[R.fontLigatures=45]="fontLigatures",R[R.fontSize=46]="fontSize",R[R.fontWeight=47]="fontWeight",R[R.formatOnPaste=48]="formatOnPaste",R[R.formatOnType=49]="formatOnType",R[R.glyphMargin=50]="glyphMargin",R[R.gotoLocation=51]="gotoLocation",R[R.hideCursorInOverviewRuler=52]="hideCursorInOverviewRuler",R[R.hover=53]="hover",R[R.inDiffEditor=54]="inDiffEditor",R[R.inlineSuggest=55]="inlineSuggest",R[R.letterSpacing=56]="letterSpacing",R[R.lightbulb=57]="lightbulb",R[R.lineDecorationsWidth=58]="lineDecorationsWidth",R[R.lineHeight=59]="lineHeight",R[R.lineNumbers=60]="lineNumbers",R[R.lineNumbersMinChars=61]="lineNumbersMinChars",R[R.linkedEditing=62]="linkedEditing",R[R.links=63]="links",R[R.matchBrackets=64]="matchBrackets",R[R.minimap=65]="minimap",R[R.mouseStyle=66]="mouseStyle",R[R.mouseWheelScrollSensitivity=67]="mouseWheelScrollSensitivity",R[R.mouseWheelZoom=68]="mouseWheelZoom",R[R.multiCursorMergeOverlapping=69]="multiCursorMergeOverlapping",R[R.multiCursorModifier=70]="multiCursorModifier",R[R.multiCursorPaste=71]="multiCursorPaste",R[R.occurrencesHighlight=72]="occurrencesHighlight",R[R.overviewRulerBorder=73]="overviewRulerBorder",R[R.overviewRulerLanes=74]="overviewRulerLanes",R[R.padding=75]="padding",R[R.parameterHints=76]="parameterHints",R[R.peekWidgetDefaultFocus=77]="peekWidgetDefaultFocus",R[R.definitionLinkOpensInPeek=78]="definitionLinkOpensInPeek",R[R.quickSuggestions=79]="quickSuggestions",R[R.quickSuggestionsDelay=80]="quickSuggestionsDelay",R[R.readOnly=81]="readOnly",R[R.renameOnType=82]="renameOnType",R[R.renderControlCharacters=83]="renderControlCharacters",R[R.renderFinalNewline=84]="renderFinalNewline",R[R.renderLineHighlight=85]="renderLineHighlight",R[R.renderLineHighlightOnlyWhenFocus=86]="renderLineHighlightOnlyWhenFocus",R[R.renderValidationDecorations=87]="renderValidationDecorations",R[R.renderWhitespace=88]="renderWhitespace",R[R.revealHorizontalRightPadding=89]="revealHorizontalRightPadding",R[R.roundedSelection=90]="roundedSelection",R[R.rulers=91]="rulers",R[R.scrollbar=92]="scrollbar",R[R.scrollBeyondLastColumn=93]="scrollBeyondLastColumn",R[R.scrollBeyondLastLine=94]="scrollBeyondLastLine",R[R.scrollPredominantAxis=95]="scrollPredominantAxis",R[R.selectionClipboard=96]="selectionClipboard",R[R.selectionHighlight=97]="selectionHighlight",R[R.selectOnLineNumbers=98]="selectOnLineNumbers",R[R.showFoldingControls=99]="showFoldingControls",R[R.showUnused=100]="showUnused",R[R.snippetSuggestions=101]="snippetSuggestions",R[R.smartSelect=102]="smartSelect",R[R.smoothScrolling=103]="smoothScrolling",R[R.stickyTabStops=104]="stickyTabStops",R[R.stopRenderingLineAfter=105]="stopRenderingLineAfter",R[R.suggest=106]="suggest",R[R.suggestFontSize=107]="suggestFontSize",R[R.suggestLineHeight=108]="suggestLineHeight",R[R.suggestOnTriggerCharacters=109]="suggestOnTriggerCharacters",R[R.suggestSelection=110]="suggestSelection",R[R.tabCompletion=111]="tabCompletion",R[R.tabIndex=112]="tabIndex",R[R.unicodeHighlighting=113]="unicodeHighlighting",R[R.unusualLineTerminators=114]="unusualLineTerminators",R[R.useShadowDOM=115]="useShadowDOM",R[R.useTabStops=116]="useTabStops",R[R.wordSeparators=117]="wordSeparators",R[R.wordWrap=118]="wordWrap",R[R.wordWrapBreakAfterCharacters=119]="wordWrapBreakAfterCharacters",R[R.wordWrapBreakBeforeCharacters=120]="wordWrapBreakBeforeCharacters",R[R.wordWrapColumn=121]="wordWrapColumn",R[R.wordWrapOverride1=122]="wordWrapOverride1",R[R.wordWrapOverride2=123]="wordWrapOverride2",R[R.wrappingIndent=124]="wrappingIndent",R[R.wrappingStrategy=125]="wrappingStrategy",R[R.showDeprecated=126]="showDeprecated",R[R.inlayHints=127]="inlayHints",R[R.editorClassName=128]="editorClassName",R[R.pixelRatio=129]="pixelRatio",R[R.tabFocusMode=130]="tabFocusMode",R[R.layoutInfo=131]="layoutInfo",R[R.wrappingInfo=132]="wrappingInfo"})(n=e.EditorOption||(e.EditorOption={}));var i;(function(R){R[R.TextDefined=0]="TextDefined",R[R.LF=1]="LF",R[R.CRLF=2]="CRLF"})(i=e.EndOfLinePreference||(e.EndOfLinePreference={}));var o;(function(R){R[R.LF=0]="LF",R[R.CRLF=1]="CRLF"})(o=e.EndOfLineSequence||(e.EndOfLineSequence={}));var c;(function(R){R[R.None=0]="None",R[R.Indent=1]="Indent",R[R.IndentOutdent=2]="IndentOutdent",R[R.Outdent=3]="Outdent"})(c=e.IndentAction||(e.IndentAction={}));var d;(function(R){R[R.Both=0]="Both",R[R.Right=1]="Right",R[R.Left=2]="Left",R[R.None=3]="None"})(d=e.InjectedTextCursorStops||(e.InjectedTextCursorStops={}));var r;(function(R){R[R.Type=1]="Type",R[R.Parameter=2]="Parameter"})(r=e.InlayHintKind||(e.InlayHintKind={}));var s;(function(R){R[R.Automatic=0]="Automatic",R[R.Explicit=1]="Explicit"})(s=e.InlineCompletionTriggerKind||(e.InlineCompletionTriggerKind={}));var a;(function(R){R[R.DependsOnKbLayout=-1]="DependsOnKbLayout",R[R.Unknown=0]="Unknown",R[R.Backspace=1]="Backspace",R[R.Tab=2]="Tab",R[R.Enter=3]="Enter",R[R.Shift=4]="Shift",R[R.Ctrl=5]="Ctrl",R[R.Alt=6]="Alt",R[R.PauseBreak=7]="PauseBreak",R[R.CapsLock=8]="CapsLock",R[R.Escape=9]="Escape",R[R.Space=10]="Space",R[R.PageUp=11]="PageUp",R[R.PageDown=12]="PageDown",R[R.End=13]="End",R[R.Home=14]="Home",R[R.LeftArrow=15]="LeftArrow",R[R.UpArrow=16]="UpArrow",R[R.RightArrow=17]="RightArrow",R[R.DownArrow=18]="DownArrow",R[R.Insert=19]="Insert",R[R.Delete=20]="Delete",R[R.Digit0=21]="Digit0",R[R.Digit1=22]="Digit1",R[R.Digit2=23]="Digit2",R[R.Digit3=24]="Digit3",R[R.Digit4=25]="Digit4",R[R.Digit5=26]="Digit5",R[R.Digit6=27]="Digit6",R[R.Digit7=28]="Digit7",R[R.Digit8=29]="Digit8",R[R.Digit9=30]="Digit9",R[R.KeyA=31]="KeyA",R[R.KeyB=32]="KeyB",R[R.KeyC=33]="KeyC",R[R.KeyD=34]="KeyD",R[R.KeyE=35]="KeyE",R[R.KeyF=36]="KeyF",R[R.KeyG=37]="KeyG",R[R.KeyH=38]="KeyH",R[R.KeyI=39]="KeyI",R[R.KeyJ=40]="KeyJ",R[R.KeyK=41]="KeyK",R[R.KeyL=42]="KeyL",R[R.KeyM=43]="KeyM",R[R.KeyN=44]="KeyN",R[R.KeyO=45]="KeyO",R[R.KeyP=46]="KeyP",R[R.KeyQ=47]="KeyQ",R[R.KeyR=48]="KeyR",R[R.KeyS=49]="KeyS",R[R.KeyT=50]="KeyT",R[R.KeyU=51]="KeyU",R[R.KeyV=52]="KeyV",R[R.KeyW=53]="KeyW",R[R.KeyX=54]="KeyX",R[R.KeyY=55]="KeyY",R[R.KeyZ=56]="KeyZ",R[R.Meta=57]="Meta",R[R.ContextMenu=58]="ContextMenu",R[R.F1=59]="F1",R[R.F2=60]="F2",R[R.F3=61]="F3",R[R.F4=62]="F4",R[R.F5=63]="F5",R[R.F6=64]="F6",R[R.F7=65]="F7",R[R.F8=66]="F8",R[R.F9=67]="F9",R[R.F10=68]="F10",R[R.F11=69]="F11",R[R.F12=70]="F12",R[R.F13=71]="F13",R[R.F14=72]="F14",R[R.F15=73]="F15",R[R.F16=74]="F16",R[R.F17=75]="F17",R[R.F18=76]="F18",R[R.F19=77]="F19",R[R.NumLock=78]="NumLock",R[R.ScrollLock=79]="ScrollLock",R[R.Semicolon=80]="Semicolon",R[R.Equal=81]="Equal",R[R.Comma=82]="Comma",R[R.Minus=83]="Minus",R[R.Period=84]="Period",R[R.Slash=85]="Slash",R[R.Backquote=86]="Backquote",R[R.BracketLeft=87]="BracketLeft",R[R.Backslash=88]="Backslash",R[R.BracketRight=89]="BracketRight",R[R.Quote=90]="Quote",R[R.OEM_8=91]="OEM_8",R[R.IntlBackslash=92]="IntlBackslash",R[R.Numpad0=93]="Numpad0",R[R.Numpad1=94]="Numpad1",R[R.Numpad2=95]="Numpad2",R[R.Numpad3=96]="Numpad3",R[R.Numpad4=97]="Numpad4",R[R.Numpad5=98]="Numpad5",R[R.Numpad6=99]="Numpad6",R[R.Numpad7=100]="Numpad7",R[R.Numpad8=101]="Numpad8",R[R.Numpad9=102]="Numpad9",R[R.NumpadMultiply=103]="NumpadMultiply",R[R.NumpadAdd=104]="NumpadAdd",R[R.NUMPAD_SEPARATOR=105]="NUMPAD_SEPARATOR",R[R.NumpadSubtract=106]="NumpadSubtract",R[R.NumpadDecimal=107]="NumpadDecimal",R[R.NumpadDivide=108]="NumpadDivide",R[R.KEY_IN_COMPOSITION=109]="KEY_IN_COMPOSITION",R[R.ABNT_C1=110]="ABNT_C1",R[R.ABNT_C2=111]="ABNT_C2",R[R.AudioVolumeMute=112]="AudioVolumeMute",R[R.AudioVolumeUp=113]="AudioVolumeUp",R[R.AudioVolumeDown=114]="AudioVolumeDown",R[R.BrowserSearch=115]="BrowserSearch",R[R.BrowserHome=116]="BrowserHome",R[R.BrowserBack=117]="BrowserBack",R[R.BrowserForward=118]="BrowserForward",R[R.MediaTrackNext=119]="MediaTrackNext",R[R.MediaTrackPrevious=120]="MediaTrackPrevious",R[R.MediaStop=121]="MediaStop",R[R.MediaPlayPause=122]="MediaPlayPause",R[R.LaunchMediaPlayer=123]="LaunchMediaPlayer",R[R.LaunchMail=124]="LaunchMail",R[R.LaunchApp2=125]="LaunchApp2",R[R.Clear=126]="Clear",R[R.MAX_VALUE=127]="MAX_VALUE"})(a=e.KeyCode||(e.KeyCode={}));var l;(function(R){R[R.Hint=1]="Hint",R[R.Info=2]="Info",R[R.Warning=4]="Warning",R[R.Error=8]="Error"})(l=e.MarkerSeverity||(e.MarkerSeverity={}));var h;(function(R){R[R.Unnecessary=1]="Unnecessary",R[R.Deprecated=2]="Deprecated"})(h=e.MarkerTag||(e.MarkerTag={}));var f;(function(R){R[R.Inline=1]="Inline",R[R.Gutter=2]="Gutter"})(f=e.MinimapPosition||(e.MinimapPosition={}));var S;(function(R){R[R.UNKNOWN=0]="UNKNOWN",R[R.TEXTAREA=1]="TEXTAREA",R[R.GUTTER_GLYPH_MARGIN=2]="GUTTER_GLYPH_MARGIN",R[R.GUTTER_LINE_NUMBERS=3]="GUTTER_LINE_NUMBERS",R[R.GUTTER_LINE_DECORATIONS=4]="GUTTER_LINE_DECORATIONS",R[R.GUTTER_VIEW_ZONE=5]="GUTTER_VIEW_ZONE",R[R.CONTENT_TEXT=6]="CONTENT_TEXT",R[R.CONTENT_EMPTY=7]="CONTENT_EMPTY",R[R.CONTENT_VIEW_ZONE=8]="CONTENT_VIEW_ZONE",R[R.CONTENT_WIDGET=9]="CONTENT_WIDGET",R[R.OVERVIEW_RULER=10]="OVERVIEW_RULER",R[R.SCROLLBAR=11]="SCROLLBAR",R[R.OVERLAY_WIDGET=12]="OVERLAY_WIDGET",R[R.OUTSIDE_EDITOR=13]="OUTSIDE_EDITOR"})(S=e.MouseTargetType||(e.MouseTargetType={}));var v;(function(R){R[R.TOP_RIGHT_CORNER=0]="TOP_RIGHT_CORNER",R[R.BOTTOM_RIGHT_CORNER=1]="BOTTOM_RIGHT_CORNER",R[R.TOP_CENTER=2]="TOP_CENTER"})(v=e.OverlayWidgetPositionPreference||(e.OverlayWidgetPositionPreference={}));var p;(function(R){R[R.Left=1]="Left",R[R.Center=2]="Center",R[R.Right=4]="Right",R[R.Full=7]="Full"})(p=e.OverviewRulerLane||(e.OverviewRulerLane={}));var _;(function(R){R[R.Left=0]="Left",R[R.Right=1]="Right",R[R.None=2]="None"})(_=e.PositionAffinity||(e.PositionAffinity={}));var y;(function(R){R[R.Off=0]="Off",R[R.On=1]="On",R[R.Relative=2]="Relative",R[R.Interval=3]="Interval",R[R.Custom=4]="Custom"})(y=e.RenderLineNumbersType||(e.RenderLineNumbersType={}));var E;(function(R){R[R.None=0]="None",R[R.Text=1]="Text",R[R.Blocks=2]="Blocks"})(E=e.RenderMinimap||(e.RenderMinimap={}));var N;(function(R){R[R.Smooth=0]="Smooth",R[R.Immediate=1]="Immediate"})(N=e.ScrollType||(e.ScrollType={}));var D;(function(R){R[R.Auto=1]="Auto",R[R.Hidden=2]="Hidden",R[R.Visible=3]="Visible"})(D=e.ScrollbarVisibility||(e.ScrollbarVisibility={}));var M;(function(R){R[R.LTR=0]="LTR",R[R.RTL=1]="RTL"})(M=e.SelectionDirection||(e.SelectionDirection={}));var B;(function(R){R[R.Invoke=1]="Invoke",R[R.TriggerCharacter=2]="TriggerCharacter",R[R.ContentChange=3]="ContentChange"})(B=e.SignatureHelpTriggerKind||(e.SignatureHelpTriggerKind={}));var O;(function(R){R[R.File=0]="File",R[R.Module=1]="Module",R[R.Namespace=2]="Namespace",R[R.Package=3]="Package",R[R.Class=4]="Class",R[R.Method=5]="Method",R[R.Property=6]="Property",R[R.Field=7]="Field",R[R.Constructor=8]="Constructor",R[R.Enum=9]="Enum",R[R.Interface=10]="Interface",R[R.Function=11]="Function",R[R.Variable=12]="Variable",R[R.Constant=13]="Constant",R[R.String=14]="String",R[R.Number=15]="Number",R[R.Boolean=16]="Boolean",R[R.Array=17]="Array",R[R.Object=18]="Object",R[R.Key=19]="Key",R[R.Null=20]="Null",R[R.EnumMember=21]="EnumMember",R[R.Struct=22]="Struct",R[R.Event=23]="Event",R[R.Operator=24]="Operator",R[R.TypeParameter=25]="TypeParameter"})(O=e.SymbolKind||(e.SymbolKind={}));var T;(function(R){R[R.Deprecated=1]="Deprecated"})(T=e.SymbolTag||(e.SymbolTag={}));var A;(function(R){R[R.Hidden=0]="Hidden",R[R.Blink=1]="Blink",R[R.Smooth=2]="Smooth",R[R.Phase=3]="Phase",R[R.Expand=4]="Expand",R[R.Solid=5]="Solid"})(A=e.TextEditorCursorBlinkingStyle||(e.TextEditorCursorBlinkingStyle={}));var P;(function(R){R[R.Line=1]="Line",R[R.Block=2]="Block",R[R.Underline=3]="Underline",R[R.LineThin=4]="LineThin",R[R.BlockOutline=5]="BlockOutline",R[R.UnderlineThin=6]="UnderlineThin"})(P=e.TextEditorCursorStyle||(e.TextEditorCursorStyle={}));var F;(function(R){R[R.AlwaysGrowsWhenTypingAtEdges=0]="AlwaysGrowsWhenTypingAtEdges",R[R.NeverGrowsWhenTypingAtEdges=1]="NeverGrowsWhenTypingAtEdges",R[R.GrowsOnlyWhenTypingBefore=2]="GrowsOnlyWhenTypingBefore",R[R.GrowsOnlyWhenTypingAfter=3]="GrowsOnlyWhenTypingAfter"})(F=e.TrackedRangeStickiness||(e.TrackedRangeStickiness={}));var W;(function(R){R[R.None=0]="None",R[R.Same=1]="Same",R[R.Indent=2]="Indent",R[R.DeepIndent=3]="DeepIndent"})(W=e.WrappingIndent||(e.WrappingIndent={}))}),define(te[432],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BracketPairWithMinIndentationInfo=e.BracketPairInfo=e.BracketInfo=void 0;class L{constructor(w,b,C){this.range=w,this.nestingLevel=b,this.isInvalid=C}}e.BracketInfo=L;class m{constructor(w,b,C,u){this.range=w,this.openingBracketRange=b,this.closingBracketRange=C,this.nestingLevel=u}}e.BracketPairInfo=m;class k extends m{constructor(w,b,C,u,g){super(w,b,C,u);this.minVisibleColumnIndentation=g}}e.BracketPairWithMinIndentationInfo=k}),define(te[94],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InternalModelContentChangeEvent=e.ModelInjectedTextChangedEvent=e.ModelRawContentChangedEvent=e.ModelRawEOLChanged=e.ModelRawLinesInserted=e.ModelRawLinesDeleted=e.ModelRawLineChanged=e.LineInjectedText=e.ModelRawFlush=void 0;class L{constructor(){this.changeType=1}}e.ModelRawFlush=L;class m{constructor(n,i,o,c,d){this.ownerId=n,this.lineNumber=i,this.column=o,this.options=c,this.order=d}static applyInjectedText(n,i){if(!i||i.length===0)return n;let o="",c=0;for(const d of i)o+=n.substring(c,d.column-1),c=d.column-1,o+=d.options.content;return o+=n.substring(c),o}static fromDecorations(n){const i=[];for(const o of n)o.options.before&&o.options.before.content.length>0&&i.push(new m(o.ownerId,o.range.startLineNumber,o.range.startColumn,o.options.before,0)),o.options.after&&o.options.after.content.length>0&&i.push(new m(o.ownerId,o.range.endLineNumber,o.range.endColumn,o.options.after,1));return i.sort((o,c)=>o.lineNumber===c.lineNumber?o.column===c.column?o.order-c.order:o.column-c.column:o.lineNumber-c.lineNumber),i}}e.LineInjectedText=m;class k{constructor(n,i,o){this.changeType=2,this.lineNumber=n,this.detail=i,this.injectedText=o}}e.ModelRawLineChanged=k;class I{constructor(n,i){this.changeType=3,this.fromLineNumber=n,this.toLineNumber=i}}e.ModelRawLinesDeleted=I;class w{constructor(n,i,o,c){this.changeType=4,this.injectedTexts=c,this.fromLineNumber=n,this.toLineNumber=i,this.detail=o}}e.ModelRawLinesInserted=w;class b{constructor(){this.changeType=5}}e.ModelRawEOLChanged=b;class C{constructor(n,i,o,c){this.changes=n,this.versionId=i,this.isUndoing=o,this.isRedoing=c,this.resultingSelection=null}containsEvent(n){for(let i=0,o=this.changes.length;i<o;i++)if(this.changes[i].changeType===n)return!0;return!1}static merge(n,i){const o=[].concat(n.changes).concat(i.changes),c=i.versionId,d=n.isUndoing||i.isUndoing,r=n.isRedoing||i.isRedoing;return new C(o,c,d,r)}}e.ModelRawContentChangedEvent=C;class u{constructor(n){this.changes=n}}e.ModelInjectedTextChangedEvent=u;class g{constructor(n,i){this.rawContentChangedEvent=n,this.contentChangedEvent=i}merge(n){const i=C.merge(this.rawContentChangedEvent,n.rawContentChangedEvent),o=g._mergeChangeEvents(this.contentChangedEvent,n.contentChangedEvent);return new g(i,o)}static _mergeChangeEvents(n,i){const o=[].concat(n.changes).concat(i.changes),c=i.eol,d=i.versionId,r=n.isUndoing||i.isUndoing,s=n.isRedoing||i.isRedoing,a=n.isFlush||i.isFlush;return{changes:o,eol:c,versionId:d,isUndoing:r,isRedoing:s,isFlush:a}}}e.InternalModelContentChangeEvent=g}),define(te[186],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IndentGuideHorizontalLine=e.IndentGuide=e.HorizontalGuidesState=void 0;var L;(function(I){I[I.Disabled=0]="Disabled",I[I.EnabledForActive=1]="EnabledForActive",I[I.Enabled=2]="Enabled"})(L=e.HorizontalGuidesState||(e.HorizontalGuidesState={}));class m{constructor(w,b,C){this.visibleColumn=w,this.className=b,this.horizontalLine=C}}e.IndentGuide=m;class k{constructor(w,b){this.top=w,this.endColumn=b}}e.IndentGuideHorizontalLine=k}),define(te[250],ie([1,0,18,8,70,3,428,184,186]),function(q,e,L,m,k,I,w,b,C){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BracketPairGuidesClassNames=e.GuidesTextModelPart=void 0;class u extends w.TextModelPart{constructor(n,i){super();this.textModel=n,this.languageConfigurationService=i}getLanguageConfiguration(n){return this.languageConfigurationService.getLanguageConfiguration(n)}_computeIndentLevel(n){return(0,b.computeIndentLevel)(this.textModel.getLineContent(n+1),this.textModel.getOptions().tabSize)}getActiveIndentGuide(n,i,o){this.assertNotDisposed();const c=this.textModel.getLineCount();if(n<1||n>c)throw new Error("Illegal value for lineNumber");const d=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,r=Boolean(d&&d.offSide);let s=-2,a=-1,l=-2,h=-1;const f=T=>{if(s!==-1&&(s===-2||s>T-1)){s=-1,a=-1;for(let A=T-2;A>=0;A--){const P=this._computeIndentLevel(A);if(P>=0){s=A,a=P;break}}}if(l===-2){l=-1,h=-1;for(let A=T;A<c;A++){const P=this._computeIndentLevel(A);if(P>=0){l=A,h=P;break}}}};let S=-2,v=-1,p=-2,_=-1;const y=T=>{if(S===-2){S=-1,v=-1;for(let A=T-2;A>=0;A--){const P=this._computeIndentLevel(A);if(P>=0){S=A,v=P;break}}}if(p!==-1&&(p===-2||p<T-1)){p=-1,_=-1;for(let A=T;A<c;A++){const P=this._computeIndentLevel(A);if(P>=0){p=A,_=P;break}}}};let E=0,N=!0,D=0,M=!0,B=0,O=0;for(let T=0;N||M;T++){const A=n-T,P=n+T;T>1&&(A<1||A<i)&&(N=!1),T>1&&(P>c||P>o)&&(M=!1),T>5e4&&(N=!1,M=!1);let F=-1;if(N&&A>=1){const R=this._computeIndentLevel(A-1);R>=0?(l=A-1,h=R,F=Math.ceil(R/this.textModel.getOptions().indentSize)):(f(A),F=this._getIndentLevelForWhitespaceLine(r,a,h))}let W=-1;if(M&&P<=c){const R=this._computeIndentLevel(P-1);R>=0?(S=P-1,v=R,W=Math.ceil(R/this.textModel.getOptions().indentSize)):(y(P),W=this._getIndentLevelForWhitespaceLine(r,v,_))}if(T===0){O=F;continue}if(T===1){if(P<=c&&W>=0&&O+1===W){N=!1,E=P,D=P,B=W;continue}if(A>=1&&F>=0&&F-1===O){M=!1,E=A,D=A,B=F;continue}if(E=n,D=n,B=O,B===0)return{startLineNumber:E,endLineNumber:D,indent:B}}N&&(F>=B?E=A:N=!1),M&&(W>=B?D=P:M=!1)}return{startLineNumber:E,endLineNumber:D,indent:B}}getLinesBracketGuides(n,i,o,c){var d,r,s,a,l;const h=[],f=this.textModel.bracketPairs.getBracketPairsInRangeWithMinIndentation(new I.Range(n,1,i,this.textModel.getLineMaxColumn(i)));let S;if(o&&f.length>0){const E=n<=o.lineNumber&&o.lineNumber<=i?f.filter(N=>I.Range.strictContainsPosition(N.range,o)):this.textModel.bracketPairs.getBracketPairsInRange(I.Range.fromPositions(o));S=(d=(0,L.findLast)(E,N=>N.range.startLineNumber!==N.range.endLineNumber))===null||d===void 0?void 0:d.range}const v=new L.ArrayQueue(f),p=new Array,_=new Array,y=new g;for(let E=n;E<=i;E++){let N=new Array;_.length>0&&(N=N.concat(_),_.length=0),h.push(N);for(const M of v.takeWhile(B=>B.openingBracketRange.startLineNumber<=E)||[]){if(M.range.startLineNumber===M.range.endLineNumber)continue;const B=Math.min(this.getVisibleColumnFromPosition(M.openingBracketRange.getStartPosition()),this.getVisibleColumnFromPosition((s=(r=M.closingBracketRange)===null||r===void 0?void 0:r.getStartPosition())!==null&&s!==void 0?s:M.range.getEndPosition()),M.minVisibleColumnIndentation+1);let O=!1;M.closingBracketRange&&m.firstNonWhitespaceIndex(this.textModel.getLineContent(M.closingBracketRange.startLineNumber))<M.closingBracketRange.startColumn-1&&(O=!0);const T=M.openingBracketRange.getStartPosition(),A=(l=(a=M.closingBracketRange)===null||a===void 0?void 0:a.getStartPosition())!==null&&l!==void 0?l:M.range.getEndPosition();M.closingBracketRange===void 0?p[M.nestingLevel]=null:p[M.nestingLevel]={nestingLevel:M.nestingLevel,guideVisibleColumn:B,start:T,visibleStartColumn:this.getVisibleColumnFromPosition(T),end:A,visibleEndColumn:this.getVisibleColumnFromPosition(A),bracketPair:M,renderHorizontalEndLineAtTheBottom:O}}for(const M of p){if(!M)continue;const B=S&&M.bracketPair.range.equalsRange(S),O=y.getInlineClassNameOfLevel(M.nestingLevel)+(c.highlightActive&&B?" "+y.activeClassName:"");(B&&c.horizontalGuides!==C.HorizontalGuidesState.Disabled||c.includeInactive&&c.horizontalGuides===C.HorizontalGuidesState.Enabled)&&(M.start.lineNumber===E&&M.guideVisibleColumn<M.visibleStartColumn&&N.push(new C.IndentGuide(M.guideVisibleColumn,O,new C.IndentGuideHorizontalLine(!1,M.start.column))),M.end.lineNumber===E+1&&M.guideVisibleColumn<M.visibleEndColumn&&_.push(new C.IndentGuide(M.guideVisibleColumn,O,new C.IndentGuideHorizontalLine(!M.renderHorizontalEndLineAtTheBottom,M.end.column))))}let D=Number.MAX_SAFE_INTEGER;for(let M=p.length-1;M>=0;M--){const B=p[M];if(!B)continue;const O=c.highlightActive&&S&&B.bracketPair.range.equalsRange(S),T=y.getInlineClassNameOfLevel(B.nestingLevel)+(O?" "+y.activeClassName:"");(O||c.includeInactive)&&B.renderHorizontalEndLineAtTheBottom&&B.end.lineNumber===E+1&&_.push(new C.IndentGuide(B.guideVisibleColumn,T,null)),!(B.end.lineNumber<=E||B.start.lineNumber>=E)&&(B.guideVisibleColumn>=D&&!O||(D=B.guideVisibleColumn,(O||c.includeInactive)&&N.push(new C.IndentGuide(B.guideVisibleColumn,T,null))))}N.sort((M,B)=>M.visibleColumn-B.visibleColumn)}return h}getVisibleColumnFromPosition(n){return k.CursorColumns.visibleColumnFromColumn(this.textModel.getLineContent(n.lineNumber),n.column,this.textModel.getOptions().tabSize)+1}getLinesIndentGuides(n,i){this.assertNotDisposed();const o=this.textModel.getLineCount();if(n<1||n>o)throw new Error("Illegal value for startLineNumber");if(i<1||i>o)throw new Error("Illegal value for endLineNumber");const c=this.textModel.getOptions(),d=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,r=Boolean(d&&d.offSide),s=new Array(i-n+1);let a=-2,l=-1,h=-2,f=-1;for(let S=n;S<=i;S++){const v=S-n,p=this._computeIndentLevel(S-1);if(p>=0){a=S-1,l=p,s[v]=Math.ceil(p/c.indentSize);continue}if(a===-2){a=-1,l=-1;for(let _=S-2;_>=0;_--){const y=this._computeIndentLevel(_);if(y>=0){a=_,l=y;break}}}if(h!==-1&&(h===-2||h<S-1)){h=-1,f=-1;for(let _=S;_<o;_++){const y=this._computeIndentLevel(_);if(y>=0){h=_,f=y;break}}}s[v]=this._getIndentLevelForWhitespaceLine(r,l,f)}return s}_getIndentLevelForWhitespaceLine(n,i,o){const c=this.textModel.getOptions();return i===-1||o===-1?0:i<o?1+Math.floor(i/c.indentSize):i===o||n?Math.ceil(o/c.indentSize):1+Math.floor(o/c.indentSize)}}e.GuidesTextModelPart=u;class g{constructor(){this.activeClassName="indent-active"}getInlineClassNameOfLevel(n){return`bracket-indent-guide lvl-${n%30}`}}e.BracketPairGuidesClassNames=g}),define(te[433],ie([1,0,4,2]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TokenizationRegistry=void 0;class k{constructor(){this._map=new Map,this._factories=new Map,this._onDidChange=new L.Emitter,this.onDidChange=this._onDidChange.event,this._colorMap=null}fire(b){this._onDidChange.fire({changedLanguages:b,changedColorMap:!1})}register(b,C){return this._map.set(b,C),this.fire([b]),(0,m.toDisposable)(()=>{this._map.get(b)===C&&(this._map.delete(b),this.fire([b]))})}registerFactory(b,C){var u;(u=this._factories.get(b))===null||u===void 0||u.dispose();const g=new I(this,b,C);return this._factories.set(b,g),(0,m.toDisposable)(()=>{const t=this._factories.get(b);!t||t!==g||(this._factories.delete(b),t.dispose())})}getOrCreate(b){return we(this,void 0,void 0,function*(){const C=this.get(b);if(C)return C;const u=this._factories.get(b);return!u||u.isResolved?null:(yield u.resolve(),this.get(b))})}get(b){return this._map.get(b)||null}isResolved(b){if(this.get(b))return!0;const u=this._factories.get(b);return!!(!u||u.isResolved)}setColorMap(b){this._colorMap=b,this._onDidChange.fire({changedLanguages:Array.from(this._map.keys()),changedColorMap:!0})}getColorMap(){return this._colorMap}getDefaultBackground(){return this._colorMap&&this._colorMap.length>2?this._colorMap[2]:null}}e.TokenizationRegistry=k;class I extends m.Disposable{constructor(b,C,u){super();this._registry=b,this._languageId=C,this._factory=u,this._isDisposed=!1,this._resolvePromise=null,this._isResolved=!1}get isResolved(){return this._isResolved}dispose(){this._isDisposed=!0,super.dispose()}resolve(){return we(this,void 0,void 0,function*(){return this._resolvePromise||(this._resolvePromise=this._create()),this._resolvePromise})}_create(){return we(this,void 0,void 0,function*(){const b=yield Promise.resolve(this._factory.createTokenizationSupport());this._isResolved=!0,b&&!this._isDisposed&&this._register(this._registry.register(this._languageId,b))})}}}),define(te[27],ie([1,0,25,3,433,28]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TokenizationRegistry=e.InlayHintKind=e.Command=e.FoldingRangeKind=e.SymbolKinds=e.isLocationLink=e.DocumentHighlightKind=e.SignatureHelpTriggerKind=e.InlineCompletionTriggerKind=e.CompletionItemKinds=e.EncodedTokenizationResult=e.TokenizationResult=e.Token=e.TokenMetadata=void 0;class w{static getLanguageId(l){return(l&255)>>>0}static getTokenType(l){return(l&768)>>>8}static getFontStyle(l){return(l&15360)>>>10}static getForeground(l){return(l&8372224)>>>14}static getBackground(l){return(l&4286578688)>>>23}static getClassNameFromMetadata(l){const h=this.getForeground(l);let f="mtk"+h;const S=this.getFontStyle(l);return S&1&&(f+=" mtki"),S&2&&(f+=" mtkb"),S&4&&(f+=" mtku"),S&8&&(f+=" mtks"),f}static getInlineStyleFromMetadata(l,h){const f=this.getForeground(l),S=this.getFontStyle(l);let v=`color: ${h[f]};`;S&1&&(v+="font-style: italic;"),S&2&&(v+="font-weight: bold;");let p="";return S&4&&(p+=" underline"),S&8&&(p+=" line-through"),p&&(v+=`text-decoration:${p};`),v}static getPresentationFromMetadata(l){const h=this.getForeground(l),f=this.getFontStyle(l);return{foreground:h,italic:Boolean(f&1),bold:Boolean(f&2),underline:Boolean(f&4),strikethrough:Boolean(f&8)}}}e.TokenMetadata=w;class b{constructor(l,h,f){this._tokenBrand=void 0,this.offset=l,this.type=h,this.language=f}toString(){return"("+this.offset+", "+this.type+")"}}e.Token=b;class C{constructor(l,h){this._tokenizationResultBrand=void 0,this.tokens=l,this.endState=h}}e.TokenizationResult=C;class u{constructor(l,h){this._encodedTokenizationResultBrand=void 0,this.tokens=l,this.endState=h}}e.EncodedTokenizationResult=u;var g;(function(a){const l=new Map;l.set(0,I.Codicon.symbolMethod),l.set(1,I.Codicon.symbolFunction),l.set(2,I.Codicon.symbolConstructor),l.set(3,I.Codicon.symbolField),l.set(4,I.Codicon.symbolVariable),l.set(5,I.Codicon.symbolClass),l.set(6,I.Codicon.symbolStruct),l.set(7,I.Codicon.symbolInterface),l.set(8,I.Codicon.symbolModule),l.set(9,I.Codicon.symbolProperty),l.set(10,I.Codicon.symbolEvent),l.set(11,I.Codicon.symbolOperator),l.set(12,I.Codicon.symbolUnit),l.set(13,I.Codicon.symbolValue),l.set(15,I.Codicon.symbolEnum),l.set(14,I.Codicon.symbolConstant),l.set(15,I.Codicon.symbolEnum),l.set(16,I.Codicon.symbolEnumMember),l.set(17,I.Codicon.symbolKeyword),l.set(27,I.Codicon.symbolSnippet),l.set(18,I.Codicon.symbolText),l.set(19,I.Codicon.symbolColor),l.set(20,I.Codicon.symbolFile),l.set(21,I.Codicon.symbolReference),l.set(22,I.Codicon.symbolCustomColor),l.set(23,I.Codicon.symbolFolder),l.set(24,I.Codicon.symbolTypeParameter),l.set(25,I.Codicon.account),l.set(26,I.Codicon.issues);function h(v){let p=l.get(v);return p||(console.info("No codicon found for CompletionItemKind "+v),p=I.Codicon.symbolProperty),p}a.toIcon=h;const f=new Map;f.set("method",0),f.set("function",1),f.set("constructor",2),f.set("field",3),f.set("variable",4),f.set("class",5),f.set("struct",6),f.set("interface",7),f.set("module",8),f.set("property",9),f.set("event",10),f.set("operator",11),f.set("unit",12),f.set("value",13),f.set("constant",14),f.set("enum",15),f.set("enum-member",16),f.set("enumMember",16),f.set("keyword",17),f.set("snippet",27),f.set("text",18),f.set("color",19),f.set("file",20),f.set("reference",21),f.set("customcolor",22),f.set("folder",23),f.set("type-parameter",24),f.set("typeParameter",24),f.set("account",25),f.set("issue",26);function S(v,p){let _=f.get(v);return typeof _=="undefined"&&!p&&(_=9),_}a.fromString=S})(g=e.CompletionItemKinds||(e.CompletionItemKinds={}));var t;(function(a){a[a.Automatic=0]="Automatic",a[a.Explicit=1]="Explicit"})(t=e.InlineCompletionTriggerKind||(e.InlineCompletionTriggerKind={}));var n;(function(a){a[a.Invoke=1]="Invoke",a[a.TriggerCharacter=2]="TriggerCharacter",a[a.ContentChange=3]="ContentChange"})(n=e.SignatureHelpTriggerKind||(e.SignatureHelpTriggerKind={}));var i;(function(a){a[a.Text=0]="Text",a[a.Read=1]="Read",a[a.Write=2]="Write"})(i=e.DocumentHighlightKind||(e.DocumentHighlightKind={}));function o(a){return a&&L.URI.isUri(a.uri)&&m.Range.isIRange(a.range)&&(m.Range.isIRange(a.originSelectionRange)||m.Range.isIRange(a.targetSelectionRange))}e.isLocationLink=o;var c;(function(a){const l=new Map;l.set(0,I.Codicon.symbolFile),l.set(1,I.Codicon.symbolModule),l.set(2,I.Codicon.symbolNamespace),l.set(3,I.Codicon.symbolPackage),l.set(4,I.Codicon.symbolClass),l.set(5,I.Codicon.symbolMethod),l.set(6,I.Codicon.symbolProperty),l.set(7,I.Codicon.symbolField),l.set(8,I.Codicon.symbolConstructor),l.set(9,I.Codicon.symbolEnum),l.set(10,I.Codicon.symbolInterface),l.set(11,I.Codicon.symbolFunction),l.set(12,I.Codicon.symbolVariable),l.set(13,I.Codicon.symbolConstant),l.set(14,I.Codicon.symbolString),l.set(15,I.Codicon.symbolNumber),l.set(16,I.Codicon.symbolBoolean),l.set(17,I.Codicon.symbolArray),l.set(18,I.Codicon.symbolObject),l.set(19,I.Codicon.symbolKey),l.set(20,I.Codicon.symbolNull),l.set(21,I.Codicon.symbolEnumMember),l.set(22,I.Codicon.symbolStruct),l.set(23,I.Codicon.symbolEvent),l.set(24,I.Codicon.symbolOperator),l.set(25,I.Codicon.symbolTypeParameter);function h(f){let S=l.get(f);return S||(console.info("No codicon found for SymbolKind "+f),S=I.Codicon.symbolProperty),S}a.toIcon=h})(c=e.SymbolKinds||(e.SymbolKinds={}));class d{constructor(l){this.value=l}}e.FoldingRangeKind=d,d.Comment=new d("comment"),d.Imports=new d("imports"),d.Region=new d("region");var r;(function(a){function l(h){return!h||typeof h!="object"?!1:typeof h.id=="string"&&typeof h.title=="string"}a.is=l})(r=e.Command||(e.Command={}));var s;(function(a){a[a.Type=1]="Type",a[a.Parameter=2]="Parameter"})(s=e.InlayHintKind||(e.InlayHintKind={})),e.TokenizationRegistry=new k.TokenizationRegistry}),define(te[124],ie([1,0,27]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.nullTokenizeEncoded=e.nullTokenize=e.NullState=void 0,e.NullState=new class{clone(){return this}equals(I){return this===I}};function m(I,w){return new L.TokenizationResult([new L.Token(0,"",I)],w)}e.nullTokenize=m;function k(I,w){const b=new Uint32Array(2);return b[0]=0,b[1]=(I<<0|0<<8|0<<10|1<<14|2<<23)>>>0,new L.EncodedTokenizationResult(b,w===null?e.NullState:w)}e.nullTokenizeEncoded=k}),define(te[187],ie([1,0,13,27,152,85,101]),function(q,e,L,m,k,I,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FastTokenizer=e.TextBufferTokenizer=e.Token=void 0;class b{constructor(n,i,o,c,d){this.length=n,this.kind=i,this.bracketId=o,this.bracketIds=c,this.astNode=d}}e.Token=b;class C{constructor(n,i){this.textModel=n,this.bracketTokens=i,this.reader=new u(this.textModel,this.bracketTokens),this._offset=I.lengthZero,this.didPeek=!1,this.peeked=null,this.textBufferLineCount=n.getLineCount(),this.textBufferLastLineLength=n.getLineLength(this.textBufferLineCount)}get offset(){return this._offset}get length(){return(0,I.toLength)(this.textBufferLineCount,this.textBufferLastLineLength)}skip(n){this.didPeek=!1,this._offset=(0,I.lengthAdd)(this._offset,n);const i=(0,I.lengthToObj)(this._offset);this.reader.setPosition(i.lineCount,i.columnCount)}read(){let n;return this.peeked?(this.didPeek=!1,n=this.peeked):n=this.reader.read(),n&&(this._offset=(0,I.lengthAdd)(this._offset,n.length)),n}peek(){return this.didPeek||(this.peeked=this.reader.read(),this.didPeek=!0),this.peeked}}e.TextBufferTokenizer=C;class u{constructor(n,i){this.textModel=n,this.bracketTokens=i,this.lineIdx=0,this.line=null,this.lineCharOffset=0,this.lineTokens=null,this.lineTokenOffset=0,this.peekedToken=null,this.textBufferLineCount=n.getLineCount(),this.textBufferLastLineLength=n.getLineLength(this.textBufferLineCount)}setPosition(n,i){n===this.lineIdx?(this.lineCharOffset=i,this.lineTokenOffset=this.lineCharOffset===0?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset)):(this.lineIdx=n,this.lineCharOffset=i,this.line=null),this.peekedToken=null}read(){if(this.peekedToken){const d=this.peekedToken;return this.peekedToken=null,this.lineCharOffset+=(0,I.lengthGetColumnCountIfZeroLineCount)(d.length),d}if(this.lineIdx>this.textBufferLineCount-1||this.lineIdx===this.textBufferLineCount-1&&this.lineCharOffset>=this.textBufferLastLineLength)return null;this.line===null&&(this.lineTokens=this.textModel.getLineTokens(this.lineIdx+1),this.line=this.lineTokens.getLineContent(),this.lineTokenOffset=this.lineCharOffset===0?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset));const n=this.lineIdx,i=this.lineCharOffset;let o=0;for(;;){const d=this.lineTokens,r=d.getCount();let s=null;if(this.lineTokenOffset<r){const a=d.getMetadata(this.lineTokenOffset);for(;this.lineTokenOffset+1<r&&a===d.getMetadata(this.lineTokenOffset+1);)this.lineTokenOffset++;const l=m.TokenMetadata.getTokenType(a)===0,h=d.getEndOffset(this.lineTokenOffset);if(l&&h!==this.lineCharOffset){const f=d.getLanguageId(this.lineTokenOffset),S=this.line.substring(this.lineCharOffset,h),v=this.bracketTokens.getSingleLanguageBracketTokens(f),p=v.regExpGlobal;if(p){p.lastIndex=0;const _=p.exec(S);_&&(s=v.getToken(_[0]),s&&(this.lineCharOffset+=_.index))}}if(o+=h-this.lineCharOffset,s)if(n!==this.lineIdx||i!==this.lineCharOffset){this.peekedToken=s;break}else return this.lineCharOffset+=(0,I.lengthGetColumnCountIfZeroLineCount)(s.length),s;else this.lineTokenOffset++,this.lineCharOffset=h}else if(this.lineIdx===this.textBufferLineCount-1||(this.lineIdx++,this.lineTokens=this.textModel.getLineTokens(this.lineIdx+1),this.lineTokenOffset=0,this.line=this.lineTokens.getLineContent(),this.lineCharOffset=0,o+=33,o>1e3))break;if(o>1500)break}const c=(0,I.lengthDiff)(n,i,this.lineIdx,this.lineCharOffset);return new b(c,0,-1,w.SmallImmutableSet.getEmpty(),new k.TextAstNode(c))}}class g{constructor(n,i){this.text=n,this._offset=I.lengthZero,this.idx=0;const c=i.getRegExpStr()?new RegExp(i.getRegExpStr()+`|
+`,"g"):null,d=[];let r,s=0,a=0,l=0,h=0;const f=new Array;for(let p=0;p<60;p++)f.push(new b((0,I.toLength)(0,p),0,-1,w.SmallImmutableSet.getEmpty(),new k.TextAstNode((0,I.toLength)(0,p))));const S=new Array;for(let p=0;p<60;p++)S.push(new b((0,I.toLength)(1,p),0,-1,w.SmallImmutableSet.getEmpty(),new k.TextAstNode((0,I.toLength)(1,p))));if(c)for(c.lastIndex=0;(r=c.exec(n))!==null;){const p=r.index,_=r[0];if(_===`
+`)s++,a=p+1;else{if(l!==p){let y;if(h===s){const E=p-l;if(E<f.length)y=f[E];else{const N=(0,I.toLength)(0,E);y=new b(N,0,-1,w.SmallImmutableSet.getEmpty(),new k.TextAstNode(N))}}else{const E=s-h,N=p-a;if(E===1&&N<S.length)y=S[N];else{const D=(0,I.toLength)(E,N);y=new b(D,0,-1,w.SmallImmutableSet.getEmpty(),new k.TextAstNode(D))}}d.push(y)}d.push(i.getToken(_)),l=p+_.length,h=s}}const v=n.length;if(l!==v){const p=h===s?(0,I.toLength)(0,v-l):(0,I.toLength)(s-h,v-a);d.push(new b(p,0,-1,w.SmallImmutableSet.getEmpty(),new k.TextAstNode(p)))}this.length=(0,I.toLength)(s,v-a),this.tokens=d}get offset(){return this._offset}read(){return this.tokens[this.idx++]||null}peek(){return this.tokens[this.idx]||null}skip(n){throw new L.NotSupportedError}}e.FastTokenizer=g}),define(te[251],ie([1,0,8,152,85,101,187]),function(q,e,L,m,k,I,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LanguageAgnosticBracketTokens=e.BracketTokens=void 0;class b{constructor(t){this.map=t,this.hasRegExp=!1,this._regExpGlobal=null}static createFromLanguage(t,n){function i(s,a){return n.getKey(`${s}:::${a}`)}const o=t.characterPair.getColorizedBrackets(),c=new Map,d=new Set;for(const[s,a]of o){d.add(s);let l=c.get(a);const h=i(t.languageId,s);l||(l={openingBrackets:I.SmallImmutableSet.getEmpty(),first:h},c.set(a,l)),l.openingBrackets=l.openingBrackets.add(h,I.identityKeyProvider)}const r=new Map;for(const[s,a]of c){const l=(0,k.toLength)(0,s.length);r.set(s,new w.Token(l,2,a.first,a.openingBrackets,m.BracketAstNode.create(l,t.languageId,a.openingBrackets)))}for(const s of d){const a=(0,k.toLength)(0,s.length),l=i(t.languageId,s),h=I.SmallImmutableSet.getEmpty().add(l,I.identityKeyProvider);r.set(s,new w.Token(a,1,l,h,m.BracketAstNode.create(a,t.languageId,h)))}return new b(r)}getRegExpStr(){if(this.isEmpty)return null;{const t=[...this.map.keys()];return t.sort(),t.reverse(),t.map(n=>C(n)).join("|")}}get regExpGlobal(){if(!this.hasRegExp){const t=this.getRegExpStr();this._regExpGlobal=t?new RegExp(t,"g"):null,this.hasRegExp=!0}return this._regExpGlobal}getToken(t){return this.map.get(t)}findClosingTokenText(t){for(const[n,i]of this.map)if(i.bracketIds.intersects(t))return n}get isEmpty(){return this.map.size===0}}e.BracketTokens=b;function C(g){const t=(0,L.escapeRegExpCharacters)(g);return/^[\w ]+$/.test(g)?`\\b${t}\\b`:t}class u{constructor(t,n){this.denseKeyProvider=t,this.getLanguageConfiguration=n,this.languageIdToBracketTokens=new Map}didLanguageChange(t){const n=this.languageIdToBracketTokens.get(t);if(!n)return!1;const i=b.createFromLanguage(this.getLanguageConfiguration(t),this.denseKeyProvider).getRegExpStr();return n.getRegExpStr()!==i}getSingleLanguageBracketTokens(t){let n=this.languageIdToBracketTokens.get(t);return n||(n=b.createFromLanguage(this.getLanguageConfiguration(t),this.denseKeyProvider),this.languageIdToBracketTokens.set(t,n)),n}}e.LanguageAgnosticBracketTokens=u}),define(te[434],ie([1,0,4,2,3,432,243,251,85,244,101,187]),function(q,e,L,m,k,I,w,b,C,u,g,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BracketPairsTree=void 0;class n extends m.Disposable{constructor(r,s){super();if(this.textModel=r,this.getLanguageConfiguration=s,this.didChangeEmitter=new L.Emitter,this.denseKeyProvider=new g.DenseKeyProvider,this.brackets=new b.LanguageAgnosticBracketTokens(this.denseKeyProvider,this.getLanguageConfiguration),this.onDidChange=this.didChangeEmitter.event,r.backgroundTokenizationState===0){const a=this.brackets.getSingleLanguageBracketTokens(this.textModel.getLanguageId()),l=new t.FastTokenizer(this.textModel.getValue(),a);this.initialAstWithoutTokens=(0,u.parseDocument)(l,[],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens}else r.backgroundTokenizationState===2?(this.initialAstWithoutTokens=void 0,this.astWithTokens=this.parseDocumentFromTextBuffer([],void 0,!1)):r.backgroundTokenizationState===1&&(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer([],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens)}didLanguageChange(r){return this.brackets.didLanguageChange(r)}handleDidChangeBackgroundTokenizationState(){if(this.textModel.backgroundTokenizationState===2){const r=this.initialAstWithoutTokens===void 0;this.initialAstWithoutTokens=void 0,r||this.didChangeEmitter.fire()}}handleDidChangeTokens({ranges:r}){const s=r.map(a=>new w.TextEditInfo((0,C.toLength)(a.fromLineNumber-1,0),(0,C.toLength)(a.toLineNumber,0),(0,C.toLength)(a.toLineNumber-a.fromLineNumber+1,0)));this.astWithTokens=this.parseDocumentFromTextBuffer(s,this.astWithTokens,!1),this.initialAstWithoutTokens||this.didChangeEmitter.fire()}handleContentChanged(r){const s=r.changes.map(a=>{const l=k.Range.lift(a.range);return new w.TextEditInfo((0,C.positionToLength)(l.getStartPosition()),(0,C.positionToLength)(l.getEndPosition()),(0,C.lengthOfString)(a.text))}).reverse();this.astWithTokens=this.parseDocumentFromTextBuffer(s,this.astWithTokens,!1),this.initialAstWithoutTokens&&(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer(s,this.initialAstWithoutTokens,!1))}parseDocumentFromTextBuffer(r,s,a){const h=!1?s==null?void 0:s.deepClone():s,f=new t.TextBufferTokenizer(this.textModel,this.brackets);return(0,u.parseDocument)(f,r,h,a)}getBracketsInRange(r){const s=(0,C.toLength)(r.startLineNumber-1,r.startColumn-1),a=(0,C.toLength)(r.endLineNumber-1,r.endColumn-1),l=new Array,h=this.initialAstWithoutTokens||this.astWithTokens;return i(h,C.lengthZero,h.length,s,a,l),l}getBracketPairsInRange(r,s){const a=new Array,l=(0,C.positionToLength)(r.getStartPosition()),h=(0,C.positionToLength)(r.getEndPosition()),f=this.initialAstWithoutTokens||this.astWithTokens,S=new o(a,s,this.textModel);return c(f,C.lengthZero,f.length,l,h,S),a}}e.BracketPairsTree=n;function i(d,r,s,a,l,h,f=0){if(d.kind===4)for(const S of d.children)s=(0,C.lengthAdd)(r,S.length),(0,C.lengthLessThanEqual)(r,l)&&(0,C.lengthGreaterThanEqual)(s,a)&&i(S,r,s,a,l,h,f),r=s;else if(d.kind===2){f++;{const S=d.openingBracket;if(s=(0,C.lengthAdd)(r,S.length),(0,C.lengthLessThanEqual)(r,l)&&(0,C.lengthGreaterThanEqual)(s,a)){const v=(0,C.lengthsToRange)(r,s);h.push(new I.BracketInfo(v,f-1,!d.closingBracket))}r=s}if(d.child){const S=d.child;s=(0,C.lengthAdd)(r,S.length),(0,C.lengthLessThanEqual)(r,l)&&(0,C.lengthGreaterThanEqual)(s,a)&&i(S,r,s,a,l,h,f),r=s}if(d.closingBracket){const S=d.closingBracket;if(s=(0,C.lengthAdd)(r,S.length),(0,C.lengthLessThanEqual)(r,l)&&(0,C.lengthGreaterThanEqual)(s,a)){const v=(0,C.lengthsToRange)(r,s);h.push(new I.BracketInfo(v,f-1,!1))}r=s}}else if(d.kind===3){const S=(0,C.lengthsToRange)(r,s);h.push(new I.BracketInfo(S,f-1,!0))}else if(d.kind===1){const S=(0,C.lengthsToRange)(r,s);h.push(new I.BracketInfo(S,f-1,!1))}}class o{constructor(r,s,a){this.result=r,this.includeMinIndentation=s,this.textModel=a}}function c(d,r,s,a,l,h,f=0){var S;if(d.kind===2){const p=(0,C.lengthAdd)(r,d.openingBracket.length);let _=-1;h.includeMinIndentation&&(_=d.computeMinIndentation(r,h.textModel)),h.result.push(new I.BracketPairWithMinIndentationInfo((0,C.lengthsToRange)(r,s),(0,C.lengthsToRange)(r,p),d.closingBracket?(0,C.lengthsToRange)((0,C.lengthAdd)(p,((S=d.child)===null||S===void 0?void 0:S.length)||C.lengthZero),s):void 0,f,_)),f++}let v=r;for(const p of d.children){const _=v;v=(0,C.lengthAdd)(v,p.length),(0,C.lengthLessThanEqual)(_,l)&&(0,C.lengthLessThanEqual)(a,v)&&c(p,_,v,a,l,h,f)}}}),define(te[435],ie([1,0,4,2,434,123,183]),function(q,e,L,m,k,I,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BracketPairsTextModelPart=void 0;class b extends m.Disposable{constructor(i,o){super();this.textModel=i,this.languageConfigurationService=o,this.bracketPairsTree=this._register(new m.MutableDisposable),this.onDidChangeEmitter=new L.Emitter,this.onDidChange=this.onDidChangeEmitter.event,this.bracketsRequested=!1,this._register(this.languageConfigurationService.onDidChange(c=>{var d;(!c.languageId||((d=this.bracketPairsTree.value)===null||d===void 0?void 0:d.object.didLanguageChange(c.languageId)))&&(this.bracketPairsTree.clear(),this.updateBracketPairsTree())}))}get isDocumentSupported(){const i=5e4*100;return this.textModel.getValueLength()<=i}handleDidChangeOptions(i){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeLanguage(i){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeContent(i){var o;(o=this.bracketPairsTree.value)===null||o===void 0||o.object.handleContentChanged(i)}handleDidChangeBackgroundTokenizationState(){var i;(i=this.bracketPairsTree.value)===null||i===void 0||i.object.handleDidChangeBackgroundTokenizationState()}handleDidChangeTokens(i){var o;(o=this.bracketPairsTree.value)===null||o===void 0||o.object.handleDidChangeTokens(i)}updateBracketPairsTree(){if(this.bracketsRequested&&this.isDocumentSupported){if(!this.bracketPairsTree.value){const i=new m.DisposableStore;this.bracketPairsTree.value=C(i.add(new k.BracketPairsTree(this.textModel,o=>this.languageConfigurationService.getLanguageConfiguration(o))),i),i.add(this.bracketPairsTree.value.object.onDidChange(o=>this.onDidChangeEmitter.fire(o))),this.onDidChangeEmitter.fire()}}else this.bracketPairsTree.value&&(this.bracketPairsTree.clear(),this.onDidChangeEmitter.fire())}getBracketPairsInRange(i){var o;return this.bracketsRequested=!0,this.updateBracketPairsTree(),((o=this.bracketPairsTree.value)===null||o===void 0?void 0:o.object.getBracketPairsInRange(i,!1))||[]}getBracketPairsInRangeWithMinIndentation(i){var o;return this.bracketsRequested=!0,this.updateBracketPairsTree(),((o=this.bracketPairsTree.value)===null||o===void 0?void 0:o.object.getBracketPairsInRange(i,!0))||[]}getBracketsInRange(i){var o;return this.bracketsRequested=!0,this.updateBracketPairsTree(),((o=this.bracketPairsTree.value)===null||o===void 0?void 0:o.object.getBracketsInRange(i))||[]}findMatchingBracketUp(i,o,c){const d=i.toLowerCase(),r=this.textModel.validatePosition(o),s=this.textModel.getLanguageIdAtPosition(r.lineNumber,r.column),a=this.languageConfigurationService.getLanguageConfiguration(s).brackets;if(!a)return null;const l=a.textIsBracket[d];return l?t(this._findMatchingBracketUp(l,r,u(c))):null}matchBracket(i,o){const c=u(o);return this._matchBracket(this.textModel.validatePosition(i),c)}_establishBracketSearchOffsets(i,o,c,d){const r=o.getCount(),s=o.getLanguageId(d);let a=Math.max(0,i.column-1-c.maxBracketLength);for(let h=d-1;h>=0;h--){const f=o.getEndOffset(h);if(f<=a)break;if((0,I.ignoreBracketsInToken)(o.getStandardTokenType(h))||o.getLanguageId(h)!==s){a=f;break}}let l=Math.min(o.getLineContent().length,i.column-1+c.maxBracketLength);for(let h=d+1;h<r;h++){const f=o.getStartOffset(h);if(f>=l)break;if((0,I.ignoreBracketsInToken)(o.getStandardTokenType(h))||o.getLanguageId(h)!==s){l=f;break}}return{searchStartOffset:a,searchEndOffset:l}}_matchBracket(i,o){const c=i.lineNumber,d=this.textModel.getLineTokens(c),r=this.textModel.getLineContent(c),s=d.findTokenIndexAtOffset(i.column-1);if(s<0)return null;const a=this.languageConfigurationService.getLanguageConfiguration(d.getLanguageId(s)).brackets;if(a&&!(0,I.ignoreBracketsInToken)(d.getStandardTokenType(s))){let{searchStartOffset:l,searchEndOffset:h}=this._establishBracketSearchOffsets(i,d,a,s),f=null;for(;;){const S=w.BracketsUtils.findNextBracketInRange(a.forwardRegex,c,r,l,h);if(!S)break;if(S.startColumn<=i.column&&i.column<=S.endColumn){const v=r.substring(S.startColumn-1,S.endColumn-1).toLowerCase(),p=this._matchFoundBracket(S,a.textIsBracket[v],a.textIsOpenBracket[v],o);if(p){if(p instanceof g)return null;f=p}}l=S.endColumn-1}if(f)return f}if(s>0&&d.getStartOffset(s)===i.column-1){const l=s-1,h=this.languageConfigurationService.getLanguageConfiguration(d.getLanguageId(l)).brackets;if(h&&!(0,I.ignoreBracketsInToken)(d.getStandardTokenType(l))){const{searchStartOffset:f,searchEndOffset:S}=this._establishBracketSearchOffsets(i,d,h,l),v=w.BracketsUtils.findPrevBracketInRange(h.reversedRegex,c,r,f,S);if(v&&v.startColumn<=i.column&&i.column<=v.endColumn){const p=r.substring(v.startColumn-1,v.endColumn-1).toLowerCase(),_=this._matchFoundBracket(v,h.textIsBracket[p],h.textIsOpenBracket[p],o);if(_)return _ instanceof g?null:_}}}return null}_matchFoundBracket(i,o,c,d){if(!o)return null;const r=c?this._findMatchingBracketDown(o,i.getEndPosition(),d):this._findMatchingBracketUp(o,i.getStartPosition(),d);return r?r instanceof g?r:[i,r]:null}_findMatchingBracketUp(i,o,c){const d=i.languageId,r=i.reversedRegex;let s=-1,a=0;const l=(h,f,S,v)=>{for(;;){if(c&&++a%100==0&&!c())return g.INSTANCE;const p=w.BracketsUtils.findPrevBracketInRange(r,h,f,S,v);if(!p)break;const _=f.substring(p.startColumn-1,p.endColumn-1).toLowerCase();if(i.isOpen(_)?s++:i.isClose(_)&&s--,s===0)return p;v=p.startColumn-1}return null};for(let h=o.lineNumber;h>=1;h--){const f=this.textModel.getLineTokens(h),S=f.getCount(),v=this.textModel.getLineContent(h);let p=S-1,_=v.length,y=v.length;h===o.lineNumber&&(p=f.findTokenIndexAtOffset(o.column-1),_=o.column-1,y=o.column-1);let E=!0;for(;p>=0;p--){const N=f.getLanguageId(p)===d&&!(0,I.ignoreBracketsInToken)(f.getStandardTokenType(p));if(N)E?_=f.getStartOffset(p):(_=f.getStartOffset(p),y=f.getEndOffset(p));else if(E&&_!==y){const D=l(h,v,_,y);if(D)return D}E=N}if(E&&_!==y){const N=l(h,v,_,y);if(N)return N}}return null}_findMatchingBracketDown(i,o,c){const d=i.languageId,r=i.forwardRegex;let s=1,a=0;const l=(f,S,v,p)=>{for(;;){if(c&&++a%100==0&&!c())return g.INSTANCE;const _=w.BracketsUtils.findNextBracketInRange(r,f,S,v,p);if(!_)break;const y=S.substring(_.startColumn-1,_.endColumn-1).toLowerCase();if(i.isOpen(y)?s++:i.isClose(y)&&s--,s===0)return _;v=_.endColumn-1}return null},h=this.textModel.getLineCount();for(let f=o.lineNumber;f<=h;f++){const S=this.textModel.getLineTokens(f),v=S.getCount(),p=this.textModel.getLineContent(f);let _=0,y=0,E=0;f===o.lineNumber&&(_=S.findTokenIndexAtOffset(o.column-1),y=o.column-1,E=o.column-1);let N=!0;for(;_<v;_++){const D=S.getLanguageId(_)===d&&!(0,I.ignoreBracketsInToken)(S.getStandardTokenType(_));if(D)N||(y=S.getStartOffset(_)),E=S.getEndOffset(_);else if(N&&y!==E){const M=l(f,p,y,E);if(M)return M}N=D}if(N&&y!==E){const D=l(f,p,y,E);if(D)return D}}return null}findPrevBracket(i){const o=this.textModel.validatePosition(i);let c=null,d=null;for(let r=o.lineNumber;r>=1;r--){const s=this.textModel.getLineTokens(r),a=s.getCount(),l=this.textModel.getLineContent(r);let h=a-1,f=l.length,S=l.length;if(r===o.lineNumber){h=s.findTokenIndexAtOffset(o.column-1),f=o.column-1,S=o.column-1;const p=s.getLanguageId(h);c!==p&&(c=p,d=this.languageConfigurationService.getLanguageConfiguration(c).brackets)}let v=!0;for(;h>=0;h--){const p=s.getLanguageId(h);if(c!==p){if(d&&v&&f!==S){const y=w.BracketsUtils.findPrevBracketInRange(d.reversedRegex,r,l,f,S);if(y)return this._toFoundBracket(d,y);v=!1}c=p,d=this.languageConfigurationService.getLanguageConfiguration(c).brackets}const _=!!d&&!(0,I.ignoreBracketsInToken)(s.getStandardTokenType(h));if(_)v?f=s.getStartOffset(h):(f=s.getStartOffset(h),S=s.getEndOffset(h));else if(d&&v&&f!==S){const y=w.BracketsUtils.findPrevBracketInRange(d.reversedRegex,r,l,f,S);if(y)return this._toFoundBracket(d,y)}v=_}if(d&&v&&f!==S){const p=w.BracketsUtils.findPrevBracketInRange(d.reversedRegex,r,l,f,S);if(p)return this._toFoundBracket(d,p)}}return null}findNextBracket(i){const o=this.textModel.validatePosition(i),c=this.textModel.getLineCount();let d=null,r=null;for(let s=o.lineNumber;s<=c;s++){const a=this.textModel.getLineTokens(s),l=a.getCount(),h=this.textModel.getLineContent(s);let f=0,S=0,v=0;if(s===o.lineNumber){f=a.findTokenIndexAtOffset(o.column-1),S=o.column-1,v=o.column-1;const _=a.getLanguageId(f);d!==_&&(d=_,r=this.languageConfigurationService.getLanguageConfiguration(d).brackets)}let p=!0;for(;f<l;f++){const _=a.getLanguageId(f);if(d!==_){if(r&&p&&S!==v){const E=w.BracketsUtils.findNextBracketInRange(r.forwardRegex,s,h,S,v);if(E)return this._toFoundBracket(r,E);p=!1}d=_,r=this.languageConfigurationService.getLanguageConfiguration(d).brackets}const y=!!r&&!(0,I.ignoreBracketsInToken)(a.getStandardTokenType(f));if(y)p||(S=a.getStartOffset(f)),v=a.getEndOffset(f);else if(r&&p&&S!==v){const E=w.BracketsUtils.findNextBracketInRange(r.forwardRegex,s,h,S,v);if(E)return this._toFoundBracket(r,E)}p=y}if(r&&p&&S!==v){const _=w.BracketsUtils.findNextBracketInRange(r.forwardRegex,s,h,S,v);if(_)return this._toFoundBracket(r,_)}}return null}findEnclosingBrackets(i,o){const c=u(o),d=this.textModel.validatePosition(i),r=this.textModel.getLineCount(),s=new Map;let a=[];const l=(p,_)=>{if(!s.has(p)){const y=[];for(let E=0,N=_?_.brackets.length:0;E<N;E++)y[E]=0;s.set(p,y)}a=s.get(p)};let h=0;const f=(p,_,y,E,N)=>{for(;;){if(c&&++h%100==0&&!c())return g.INSTANCE;const D=w.BracketsUtils.findNextBracketInRange(p.forwardRegex,_,y,E,N);if(!D)break;const M=y.substring(D.startColumn-1,D.endColumn-1).toLowerCase(),B=p.textIsBracket[M];if(B&&(B.isOpen(M)?a[B.index]++:B.isClose(M)&&a[B.index]--,a[B.index]===-1))return this._matchFoundBracket(D,B,!1,c);E=D.endColumn-1}return null};let S=null,v=null;for(let p=d.lineNumber;p<=r;p++){const _=this.textModel.getLineTokens(p),y=_.getCount(),E=this.textModel.getLineContent(p);let N=0,D=0,M=0;if(p===d.lineNumber){N=_.findTokenIndexAtOffset(d.column-1),D=d.column-1,M=d.column-1;const O=_.getLanguageId(N);S!==O&&(S=O,v=this.languageConfigurationService.getLanguageConfiguration(S).brackets,l(S,v))}let B=!0;for(;N<y;N++){const O=_.getLanguageId(N);if(S!==O){if(v&&B&&D!==M){const A=f(v,p,E,D,M);if(A)return t(A);B=!1}S=O,v=this.languageConfigurationService.getLanguageConfiguration(S).brackets,l(S,v)}const T=!!v&&!(0,I.ignoreBracketsInToken)(_.getStandardTokenType(N));if(T)B||(D=_.getStartOffset(N)),M=_.getEndOffset(N);else if(v&&B&&D!==M){const A=f(v,p,E,D,M);if(A)return t(A)}B=T}if(v&&B&&D!==M){const O=f(v,p,E,D,M);if(O)return t(O)}}return null}_toFoundBracket(i,o){if(!o)return null;let c=this.textModel.getValueInRange(o);c=c.toLowerCase();const d=i.textIsBracket[c];return d?{range:o,open:d.open,close:d.close,isOpen:i.textIsOpenBracket[c]}:null}}e.BracketPairsTextModelPart=b;function C(n,i){return{object:n,dispose:()=>i==null?void 0:i.dispose()}}function u(n){if(typeof n=="undefined")return()=>!0;{const i=Date.now();return()=>Date.now()-i<=n}}class g{constructor(){this._searchCanceledBrand=void 0}}g.INSTANCE=new g;function t(n){return n instanceof g?null:n}}),define(te[436],ie([1,0,251,85,244,101,187]),function(q,e,L,m,k,I,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.fixBracketsInLine=void 0;function b(u,g){const t=new I.DenseKeyProvider,n=new L.LanguageAgnosticBracketTokens(t,s=>g.getLanguageConfiguration(s)),i=new w.TextBufferTokenizer(new C([u]),n),o=(0,k.parseDocument)(i,[],void 0,!0);let c="";const d=u.getLineContent();function r(s,a){if(s.kind===2)r(s.openingBracket,a),a=(0,m.lengthAdd)(a,s.openingBracket.length),s.child&&(r(s.child,a),a=(0,m.lengthAdd)(a,s.child.length)),s.closingBracket?(r(s.closingBracket,a),a=(0,m.lengthAdd)(a,s.closingBracket.length)):c+=n.getSingleLanguageBracketTokens(s.openingBracket.languageId).findClosingTokenText(s.openingBracket.bracketIds);else if(s.kind!==3){if(s.kind===0||s.kind===1)c+=d.substring((0,m.lengthGetColumnCountIfZeroLineCount)(a),(0,m.lengthGetColumnCountIfZeroLineCount)((0,m.lengthAdd)(a,s.length)));else if(s.kind===4)for(const l of s.children)r(l,a),a=(0,m.lengthAdd)(a,l.length)}}return r(o,m.lengthZero),c}e.fixBracketsInLine=b;class C{constructor(g){this.lines=g}getLineCount(){return this.lines.length}getLineLength(g){return this.lines[g-1].getLineContent().length}getLineTokens(g){return this.lines[g-1]}}}),define(te[252],ie([1,0,21,4,58,25,11,3,22,27,185]),function(q,e,L,m,k,I,w,b,C,u,g){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createMonacoBaseAPI=e.KeyMod=void 0;class t{static chord(o,c){return(0,k.KeyChord)(o,c)}}e.KeyMod=t,t.CtrlCmd=2048,t.Shift=1024,t.Alt=512,t.WinCtrl=256;function n(){return{editor:void 0,languages:void 0,CancellationTokenSource:L.CancellationTokenSource,Emitter:m.Emitter,KeyCode:g.KeyCode,KeyMod:t,Position:w.Position,Range:b.Range,Selection:C.Selection,SelectionDirection:g.SelectionDirection,MarkerSeverity:g.MarkerSeverity,MarkerTag:g.MarkerTag,Uri:I.URI,Token:u.Token}}e.createMonacoBaseAPI=n}),define(te[437],ie([1,0,141,16,25,11,3,408,427,121,411,417,252,19,55,249]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.create=e.EditorSimpleWorker=e.MirrorModel=void 0;class d extends C.MirrorTextModel{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}getLinesContent(){return this._lines.slice(0)}getLineCount(){return this._lines.length}getLineContent(l){return this._lines[l-1]}getWordAtPosition(l,h){const f=(0,u.getWordAtText)(l.column,(0,u.ensureValidWordDefinition)(h),this._lines[l.lineNumber-1],0);return f?new w.Range(l.lineNumber,f.startColumn,l.lineNumber,f.endColumn):null}words(l){const h=this._lines,f=this._wordenize.bind(this);let S=0,v="",p=0,_=[];return{*[Symbol.iterator](){for(;;)if(p<_.length){const y=v.substring(_[p].start,_[p].end);p+=1,yield y}else if(S<h.length)v=h[S],_=f(v,l),p=0,S+=1;else break}}}getLineWords(l,h){const f=this._lines[l-1],S=this._wordenize(f,h),v=[];for(const p of S)v.push({word:f.substring(p.start,p.end),startColumn:p.start+1,endColumn:p.end+1});return v}_wordenize(l,h){const f=[];let S;for(h.lastIndex=0;(S=h.exec(l))&&S[0].length!==0;)f.push({start:S.index,end:S.index+S[0].length});return f}getValueInRange(l){if(l=this._validateRange(l),l.startLineNumber===l.endLineNumber)return this._lines[l.startLineNumber-1].substring(l.startColumn-1,l.endColumn-1);const h=this._eol,f=l.startLineNumber-1,S=l.endLineNumber-1,v=[];v.push(this._lines[f].substring(l.startColumn-1));for(let p=f+1;p<S;p++)v.push(this._lines[p]);return v.push(this._lines[S].substring(0,l.endColumn-1)),v.join(h)}offsetAt(l){return l=this._validatePosition(l),this._ensureLineStarts(),this._lineStarts.getPrefixSum(l.lineNumber-2)+(l.column-1)}positionAt(l){l=Math.floor(l),l=Math.max(0,l),this._ensureLineStarts();const h=this._lineStarts.getIndexOf(l),f=this._lines[h.index].length;return{lineNumber:1+h.index,column:1+Math.min(h.remainder,f)}}_validateRange(l){const h=this._validatePosition({lineNumber:l.startLineNumber,column:l.startColumn}),f=this._validatePosition({lineNumber:l.endLineNumber,column:l.endColumn});return h.lineNumber!==l.startLineNumber||h.column!==l.startColumn||f.lineNumber!==l.endLineNumber||f.column!==l.endColumn?{startLineNumber:h.lineNumber,startColumn:h.column,endLineNumber:f.lineNumber,endColumn:f.column}:l}_validatePosition(l){if(!I.Position.isIPosition(l))throw new Error("bad position");let{lineNumber:h,column:f}=l,S=!1;if(h<1)h=1,f=1,S=!0;else if(h>this._lines.length)h=this._lines.length,f=this._lines[h-1].length+1,S=!0;else{const v=this._lines[h-1].length+1;f<1?(f=1,S=!0):f>v&&(f=v,S=!0)}return S?{lineNumber:h,column:f}:l}}e.MirrorModel=d;class r{constructor(l,h){this._host=l,this._models=Object.create(null),this._foreignModuleFactory=h,this._foreignModule=null}dispose(){this._models=Object.create(null)}_getModel(l){return this._models[l]}_getModels(){const l=[];return Object.keys(this._models).forEach(h=>l.push(this._models[h])),l}acceptNewModel(l){this._models[l.url]=new d(k.URI.parse(l.url),l.lines,l.EOL,l.versionId)}acceptModelChanged(l,h){if(!this._models[l])return;this._models[l].onEvents(h)}acceptRemovedModel(l){!this._models[l]||delete this._models[l]}computeUnicodeHighlights(l,h,f){return we(this,void 0,void 0,function*(){const S=this._getModel(l);return S?c.UnicodeTextModelHighlighter.computeUnicodeHighlights(S,h,f):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}})}computeDiff(l,h,f,S){return we(this,void 0,void 0,function*(){const v=this._getModel(l),p=this._getModel(h);if(!v||!p)return null;const _=v.getLinesContent(),y=p.getLinesContent(),N=new b.DiffComputer(_,y,{shouldComputeCharChanges:!0,shouldPostProcessCharChanges:!0,shouldIgnoreTrimWhitespace:f,shouldMakePrettyDiff:!0,maxComputationTime:S}).computeDiff(),D=N.changes.length>0?!1:this._modelsAreIdentical(v,p);return{quitEarly:N.quitEarly,identical:D,changes:N.changes}})}_modelsAreIdentical(l,h){const f=l.getLineCount(),S=h.getLineCount();if(f!==S)return!1;for(let v=1;v<=f;v++){const p=l.getLineContent(v),_=h.getLineContent(v);if(p!==_)return!1}return!0}computeMoreMinimalEdits(l,h){return we(this,void 0,void 0,function*(){const f=this._getModel(l);if(!f)return h;const S=[];let v;h=h.slice(0).sort((p,_)=>{if(p.range&&_.range)return w.Range.compareRangesUsingStarts(p.range,_.range);const y=p.range?0:1,E=_.range?0:1;return y-E});for(let{range:p,text:_,eol:y}of h){if(typeof y=="number"&&(v=y),w.Range.isEmpty(p)&&!_)continue;const E=f.getValueInRange(p);if(_=_.replace(/\r\n|\n|\r/g,f.eol),E===_)continue;if(Math.max(_.length,E.length)>r._diffLimit){S.push({range:p,text:_});continue}const N=(0,L.stringDiff)(E,_,!1),D=f.offsetAt(w.Range.lift(p).getStartPosition());for(const M of N){const B=f.positionAt(D+M.originalStart),O=f.positionAt(D+M.originalStart+M.originalLength),T={text:_.substr(M.modifiedStart,M.modifiedLength),range:{startLineNumber:B.lineNumber,startColumn:B.column,endLineNumber:O.lineNumber,endColumn:O.column}};f.getValueInRange(T.range)!==T.text&&S.push(T)}}return typeof v=="number"&&S.push({eol:v,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),S})}computeLinks(l){return we(this,void 0,void 0,function*(){const h=this._getModel(l);return h?(0,g.computeLinks)(h):null})}textualSuggest(l,h,f,S){return we(this,void 0,void 0,function*(){const v=new o.StopWatch(!0),p=new RegExp(f,S),_=new Set;e:for(let y of l){const E=this._getModel(y);if(!!E){for(let N of E.words(p))if(!(N===h||!isNaN(Number(N)))&&(_.add(N),_.size>r._suggestionsLimit))break e}}return{words:Array.from(_),duration:v.elapsed()}})}computeWordRanges(l,h,f,S){return we(this,void 0,void 0,function*(){const v=this._getModel(l);if(!v)return Object.create(null);const p=new RegExp(f,S),_=Object.create(null);for(let y=h.startLineNumber;y<h.endLineNumber;y++){const E=v.getLineWords(y,p);for(const N of E){if(!isNaN(Number(N.word)))continue;let D=_[N.word];D||(D=[],_[N.word]=D),D.push({startLineNumber:y,startColumn:N.startColumn,endLineNumber:y,endColumn:N.endColumn})}}return _})}navigateValueSet(l,h,f,S,v){return we(this,void 0,void 0,function*(){const p=this._getModel(l);if(!p)return null;const _=new RegExp(S,v);h.startColumn===h.endColumn&&(h={startLineNumber:h.startLineNumber,startColumn:h.startColumn,endLineNumber:h.endLineNumber,endColumn:h.endColumn+1});const y=p.getValueInRange(h),E=p.getWordAtPosition({lineNumber:h.startLineNumber,column:h.startColumn},_);if(!E)return null;const N=p.getValueInRange(E);return t.BasicInplaceReplace.INSTANCE.navigateValueSet(h,y,E,N,f)})}loadForeignModule(l,h,f){const S=(_,y)=>this._host.fhr(_,y),p={host:i.createProxyObject(f,S),getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(p,h),Promise.resolve(i.getAllMethodNames(this._foreignModule))):new Promise((_,y)=>{q([l],E=>{this._foreignModule=E.create(p,h),_(i.getAllMethodNames(this._foreignModule))},y)})}fmr(l,h){if(!this._foreignModule||typeof this._foreignModule[l]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+l));try{return Promise.resolve(this._foreignModule[l].apply(this._foreignModule,h))}catch(f){return Promise.reject(f)}}}e.EditorSimpleWorker=r,r._diffLimit=1e5,r._suggestionsLimit=1e4;function s(a){return new r(a,null)}e.create=s,typeof importScripts=="function"&&(m.globals.monaco=(0,n.createMonacoBaseAPI)())}),define(te[438],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ContiguousMultilineTokens=void 0;class L{constructor(k,I){this._startLineNumber=k,this._tokens=I}get startLineNumber(){return this._startLineNumber}get endLineNumber(){return this._startLineNumber+this._tokens.length-1}getLineTokens(k){return this._tokens[k-this._startLineNumber]}appendLineTokens(k){this._tokens.push(k)}}e.ContiguousMultilineTokens=L}),define(te[439],ie([1,0,438]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ContiguousMultilineTokensBuilder=void 0;class m{constructor(){this._tokens=[]}add(I,w){if(this._tokens.length>0){const b=this._tokens[this._tokens.length-1];if(b.endLineNumber+1===I){b.appendLineTokens(w);return}}this._tokens.push(new L.ContiguousMultilineTokens(I,[w]))}finalize(){return this._tokens}}e.ContiguousMultilineTokensBuilder=m}),define(te[77],ie([1,0,27]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LineTokens=void 0;class m{constructor(w,b,C){this._lineTokensBrand=void 0,this._tokens=w,this._tokensCount=this._tokens.length>>>1,this._text=b,this._languageIdCodec=C}static createEmpty(w,b){const C=m.defaultTokenMetadata,u=new Uint32Array(2);return u[0]=w.length,u[1]=C,new m(u,w,b)}equals(w){return w instanceof m?this.slicedEquals(w,0,this._tokensCount):!1}slicedEquals(w,b,C){if(this._text!==w._text||this._tokensCount!==w._tokensCount)return!1;const u=b<<1,g=u+(C<<1);for(let t=u;t<g;t++)if(this._tokens[t]!==w._tokens[t])return!1;return!0}getLineContent(){return this._text}getCount(){return this._tokensCount}getStartOffset(w){return w>0?this._tokens[w-1<<1]:0}getMetadata(w){return this._tokens[(w<<1)+1]}getLanguageId(w){const b=this._tokens[(w<<1)+1],C=L.TokenMetadata.getLanguageId(b);return this._languageIdCodec.decodeLanguageId(C)}getStandardTokenType(w){const b=this._tokens[(w<<1)+1];return L.TokenMetadata.getTokenType(b)}getForeground(w){const b=this._tokens[(w<<1)+1];return L.TokenMetadata.getForeground(b)}getClassName(w){const b=this._tokens[(w<<1)+1];return L.TokenMetadata.getClassNameFromMetadata(b)}getInlineStyle(w,b){const C=this._tokens[(w<<1)+1];return L.TokenMetadata.getInlineStyleFromMetadata(C,b)}getPresentation(w){const b=this._tokens[(w<<1)+1];return L.TokenMetadata.getPresentationFromMetadata(b)}getEndOffset(w){return this._tokens[w<<1]}findTokenIndexAtOffset(w){return m.findIndexInTokensArray(this._tokens,w)}inflate(){return this}sliceAndInflate(w,b,C){return new k(this,w,b,C)}static convertToEndOffset(w,b){const u=(w.length>>>1)-1;for(let g=0;g<u;g++)w[g<<1]=w[g+1<<1];w[u<<1]=b}static findIndexInTokensArray(w,b){if(w.length<=2)return 0;let C=0,u=(w.length>>>1)-1;for(;C<u;){const g=C+Math.floor((u-C)/2),t=w[g<<1];if(t===b)return g+1;t<b?C=g+1:t>b&&(u=g)}return C}withInserted(w){if(w.length===0)return this;let b=0,C=0,u="";const g=new Array;let t=0;for(;;){const n=b<this._tokensCount?this._tokens[b<<1]:-1,i=C<w.length?w[C]:null;if(n!==-1&&(i===null||n<=i.offset)){u+=this._text.substring(t,n);const o=this._tokens[(b<<1)+1];g.push(u.length,o),b++,t=n}else if(i){if(i.offset>t){u+=this._text.substring(t,i.offset);const o=this._tokens[(b<<1)+1];g.push(u.length,o),t=i.offset}u+=i.text,g.push(u.length,i.tokenMetadata),C++}else break}return new m(new Uint32Array(g),u,this._languageIdCodec)}}e.LineTokens=m,m.defaultTokenMetadata=(0<<10|1<<14|2<<23)>>>0;class k{constructor(w,b,C,u){this._source=w,this._startOffset=b,this._endOffset=C,this._deltaOffset=u,this._firstTokenIndex=w.findTokenIndexAtOffset(b),this._tokensCount=0;for(let g=this._firstTokenIndex,t=w.getCount();g<t&&!(w.getStartOffset(g)>=C);g++)this._tokensCount++}getMetadata(w){return this._source.getMetadata(this._firstTokenIndex+w)}getLanguageId(w){return this._source.getLanguageId(this._firstTokenIndex+w)}getLineContent(){return this._source.getLineContent().substring(this._startOffset,this._endOffset)}equals(w){return w instanceof k?this._startOffset===w._startOffset&&this._endOffset===w._endOffset&&this._deltaOffset===w._deltaOffset&&this._source.slicedEquals(w._source,this._firstTokenIndex,this._tokensCount):!1}getCount(){return this._tokensCount}getForeground(w){return this._source.getForeground(this._firstTokenIndex+w)}getEndOffset(w){const b=this._source.getEndOffset(this._firstTokenIndex+w);return Math.min(this._endOffset,b)-this._startOffset+this._deltaOffset}getClassName(w){return this._source.getClassName(this._firstTokenIndex+w)}getInlineStyle(w,b){return this._source.getInlineStyle(this._firstTokenIndex+w,b)}getPresentation(w){return this._source.getPresentation(this._firstTokenIndex+w)}findTokenIndexAtOffset(w){return this._source.findTokenIndexAtOffset(w+this._startOffset-this._deltaOffset)-this._firstTokenIndex}}}),define(te[253],ie([1,0,8,77,27,124]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e._tokenizeToString=e.tokenizeLineToHTML=e.tokenizeToString=void 0;const w={getInitialState:()=>I.NullState,tokenizeEncoded:(g,t,n)=>(0,I.nullTokenizeEncoded)(0,n)};function b(g,t,n){return we(this,void 0,void 0,function*(){if(!n)return u(t,g.languageIdCodec,w);const i=yield k.TokenizationRegistry.getOrCreate(n);return u(t,g.languageIdCodec,i||w)})}e.tokenizeToString=b;function C(g,t,n,i,o,c,d){let r="<div>",s=i,a=0,l=!0;for(let h=0,f=t.getCount();h<f;h++){const S=t.getEndOffset(h);if(S<=i)continue;let v="";for(;s<S&&s<o;s++){const p=g.charCodeAt(s);switch(p){case 9:{let _=c-(s+a)%c;for(a+=_-1;_>0;)d&&l?(v+="&#160;",l=!1):(v+=" ",l=!0),_--;break}case 60:v+="&lt;",l=!1;break;case 62:v+="&gt;",l=!1;break;case 38:v+="&amp;",l=!1;break;case 0:v+="&#00;",l=!1;break;case 65279:case 8232:case 8233:case 133:v+="\uFFFD",l=!1;break;case 13:v+="&#8203",l=!1;break;case 32:d&&l?(v+="&#160;",l=!1):(v+=" ",l=!0);break;default:v+=String.fromCharCode(p),l=!1}}if(r+=`<span style="${t.getInlineStyle(h,n)}">${v}</span>`,S>o||s>=o)break}return r+="</div>",r}e.tokenizeLineToHTML=C;function u(g,t,n){let i='<div class="monaco-tokenized-source">';const o=L.splitLines(g);let c=n.getInitialState();for(let d=0,r=o.length;d<r;d++){const s=o[d];d>0&&(i+="<br/>");const a=n.tokenizeEncoded(s,!0,c);m.LineTokens.convertToEndOffset(a.tokens,s.length);const h=new m.LineTokens(a.tokens,s,t).inflate();let f=0;for(let S=0,v=h.getCount();S<v;S++){const p=h.getClassName(S),_=h.getEndOffset(S);i+=`<span class="${p}">${L.escape(s.substring(f,_))}</span>`,f=_}c=a.endState}return i+="</div>",i}e._tokenizeToString=u}),define(te[440],ie([1,0,18,13,77,27,124,2,55,119,439,10,16]),function(q,e,L,m,k,I,w,b,C,u,g,t,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TextModelTokenization=e.TokenizationStateStore=void 0;class i{constructor(a){this._default=a,this._store=[]}get(a){return a<this._store.length?this._store[a]:this._default}set(a,l){for(;a>=this._store.length;)this._store[this._store.length]=this._default;this._store[a]=l}delete(a,l){l===0||a>=this._store.length||this._store.splice(a,l)}insert(a,l){if(l===0||a>=this._store.length)return;const h=[];for(let f=0;f<l;f++)h[f]=this._default;this._store=L.arrayInsert(this._store,a,h)}}class o{constructor(a,l){this.tokenizationSupport=a,this.initialState=l,this._lineBeginState=new i(null),this._lineNeedsTokenization=new i(!0),this._firstLineNeedsTokenization=0,this._lineBeginState.set(0,this.initialState)}get invalidLineStartIndex(){return this._firstLineNeedsTokenization}markMustBeTokenized(a){this._lineNeedsTokenization.set(a,!0),this._firstLineNeedsTokenization=Math.min(this._firstLineNeedsTokenization,a)}getBeginState(a){return this._lineBeginState.get(a)}setEndState(a,l,h){if(this._lineNeedsTokenization.set(l,!1),this._firstLineNeedsTokenization=l+1,l===a-1)return;const f=this._lineBeginState.get(l+1);if(f===null||!h.equals(f)){this._lineBeginState.set(l+1,h),this.markMustBeTokenized(l+1);return}let S=l+1;for(;S<a&&!this._lineNeedsTokenization.get(S);)S++;this._firstLineNeedsTokenization=S}applyEdits(a,l){this.markMustBeTokenized(a.startLineNumber-1),this._lineBeginState.delete(a.startLineNumber,a.endLineNumber-a.startLineNumber),this._lineNeedsTokenization.delete(a.startLineNumber,a.endLineNumber-a.startLineNumber),this._lineBeginState.insert(a.startLineNumber,l),this._lineNeedsTokenization.insert(a.startLineNumber,l)}}e.TokenizationStateStore=o;class c extends b.Disposable{constructor(a,l){super();this._textModel=a,this._languageIdCodec=l,this._isScheduled=!1,this._isDisposed=!1,this._tokenizationStateStore=null,this._register(I.TokenizationRegistry.onDidChange(h=>{const f=this._textModel.getLanguageId();h.changedLanguages.indexOf(f)!==-1&&(this._resetTokenizationState(),this._textModel.clearTokens())})),this._resetTokenizationState()}dispose(){this._isDisposed=!0,super.dispose()}handleDidChangeContent(a){if(a.isFlush){this._resetTokenizationState();return}if(this._tokenizationStateStore)for(let l=0,h=a.changes.length;l<h;l++){const f=a.changes[l],[S]=(0,u.countEOL)(f.text);this._tokenizationStateStore.applyEdits(f.range,S)}this._beginBackgroundTokenization()}handleDidChangeAttached(){this._beginBackgroundTokenization()}handleDidChangeLanguage(a){this._resetTokenizationState(),this._textModel.clearTokens()}_resetTokenizationState(){const[a,l]=d(this._textModel);a&&l?this._tokenizationStateStore=new o(a,l):this._tokenizationStateStore=null,this._beginBackgroundTokenization()}_beginBackgroundTokenization(){this._isScheduled||!this._textModel.isAttachedToEditor()||!this._hasLinesToTokenize()||(this._isScheduled=!0,(0,t.runWhenIdle)(a=>{this._isScheduled=!1,this._backgroundTokenizeWithDeadline(a)}))}_backgroundTokenizeWithDeadline(a){const l=Date.now()+a.timeRemaining(),h=()=>{this._isDisposed||!this._textModel.isAttachedToEditor()||!this._hasLinesToTokenize()||(this._backgroundTokenizeForAtLeast1ms(),Date.now()<l?(0,n.setTimeout0)(h):this._beginBackgroundTokenization())};h()}_backgroundTokenizeForAtLeast1ms(){const a=this._textModel.getLineCount(),l=new g.ContiguousMultilineTokensBuilder,h=C.StopWatch.create(!1);do if(h.elapsed()>1||this._tokenizeOneInvalidLine(l)>=a)break;while(this._hasLinesToTokenize());this._textModel.setTokens(l.finalize(),!this._hasLinesToTokenize())}tokenizeViewport(a,l){const h=new g.ContiguousMultilineTokensBuilder;this._tokenizeViewport(h,a,l),this._textModel.setTokens(h.finalize(),!this._hasLinesToTokenize())}reset(){this._resetTokenizationState(),this._textModel.clearTokens()}forceTokenization(a){const l=new g.ContiguousMultilineTokensBuilder;this._updateTokensUntilLine(l,a),this._textModel.setTokens(l.finalize(),!this._hasLinesToTokenize())}getTokenTypeIfInsertingCharacter(a,l){if(!this._tokenizationStateStore)return 0;this.forceTokenization(a.lineNumber);const h=this._tokenizationStateStore.getBeginState(a.lineNumber-1);if(!h)return 0;const f=this._textModel.getLanguageId(),S=this._textModel.getLineContent(a.lineNumber),v=S.substring(0,a.column-1)+l+S.substring(a.column-1),p=r(this._languageIdCodec,f,this._tokenizationStateStore.tokenizationSupport,v,!0,h),_=new k.LineTokens(p.tokens,v,this._languageIdCodec);if(_.getCount()===0)return 0;const y=_.findTokenIndexAtOffset(a.column-1);return _.getStandardTokenType(y)}tokenizeLineWithEdit(a,l,h){const f=a.lineNumber,S=a.column;if(!this._tokenizationStateStore)return null;this.forceTokenization(f);const v=this._tokenizationStateStore.getBeginState(f-1);if(!v)return null;const p=this._textModel.getLineContent(f),_=p.substring(0,S-1)+h+p.substring(S-1+l),y=this._textModel.getLanguageIdAtPosition(f,0),E=r(this._languageIdCodec,y,this._tokenizationStateStore.tokenizationSupport,_,!0,v);return new k.LineTokens(E.tokens,_,this._languageIdCodec)}isCheapToTokenize(a){if(!this._tokenizationStateStore)return!0;const l=this._tokenizationStateStore.invalidLineStartIndex+1;return a>l?!1:a<l||this._textModel.getLineLength(a)<2048}_hasLinesToTokenize(){return this._tokenizationStateStore?this._tokenizationStateStore.invalidLineStartIndex<this._textModel.getLineCount():!1}_tokenizeOneInvalidLine(a){if(!this._tokenizationStateStore||!this._hasLinesToTokenize())return this._textModel.getLineCount()+1;const l=this._tokenizationStateStore.invalidLineStartIndex+1;return this._updateTokensUntilLine(a,l),l}_updateTokensUntilLine(a,l){if(!this._tokenizationStateStore)return;const h=this._textModel.getLanguageId(),f=this._textModel.getLineCount(),S=l-1;for(let v=this._tokenizationStateStore.invalidLineStartIndex;v<=S;v++){const p=this._textModel.getLineContent(v+1),_=this._tokenizationStateStore.getBeginState(v),y=r(this._languageIdCodec,h,this._tokenizationStateStore.tokenizationSupport,p,!0,_);a.add(v+1,y.tokens),this._tokenizationStateStore.setEndState(f,v,y.endState),v=this._tokenizationStateStore.invalidLineStartIndex-1}}_tokenizeViewport(a,l,h){if(!this._tokenizationStateStore||h<=this._tokenizationStateStore.invalidLineStartIndex)return;if(l<=this._tokenizationStateStore.invalidLineStartIndex){this._updateTokensUntilLine(a,h);return}let f=this._textModel.getLineFirstNonWhitespaceColumn(l);const S=[];let v=null;for(let y=l-1;f>1&&y>=1;y--){const E=this._textModel.getLineFirstNonWhitespaceColumn(y);if(E!==0&&E<f){if(v=this._tokenizationStateStore.getBeginState(y-1),v)break;S.push(this._textModel.getLineContent(y)),f=E}}v||(v=this._tokenizationStateStore.initialState);const p=this._textModel.getLanguageId();let _=v;for(let y=S.length-1;y>=0;y--)_=r(this._languageIdCodec,p,this._tokenizationStateStore.tokenizationSupport,S[y],!1,_).endState;for(let y=l;y<=h;y++){const E=this._textModel.getLineContent(y),N=r(this._languageIdCodec,p,this._tokenizationStateStore.tokenizationSupport,E,!0,_);a.add(y,N.tokens),this._tokenizationStateStore.markMustBeTokenized(y-1),_=N.endState}}}e.TextModelTokenization=c;function d(s){if(s.isTooLargeForTokenization())return[null,null];const a=I.TokenizationRegistry.get(s.getLanguageId());if(!a)return[null,null];let l;try{l=a.getInitialState()}catch(h){return(0,m.onUnexpectedError)(h),[null,null]}return[a,l]}function r(s,a,l,h,f,S){let v=null;if(l)try{v=l.tokenizeEncoded(h,f,S.clone())}catch(p){(0,m.onUnexpectedError)(p)}return v||(v=(0,w.nullTokenizeEncoded)(s.encodeLanguageId(a),S)),k.LineTokens.convertToEndOffset(v.tokens,h.length),v}}),define(te[441],ie([1,0,77]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.toUint32Array=e.ContiguousTokensEditing=e.EMPTY_LINE_TOKENS=void 0,e.EMPTY_LINE_TOKENS=new Uint32Array(0).buffer;class m{static deleteBeginning(w,b){return w===null||w===e.EMPTY_LINE_TOKENS?w:m.delete(w,0,b)}static deleteEnding(w,b){if(w===null||w===e.EMPTY_LINE_TOKENS)return w;const C=k(w),u=C[C.length-2];return m.delete(w,b,u)}static delete(w,b,C){if(w===null||w===e.EMPTY_LINE_TOKENS||b===C)return w;const u=k(w),g=u.length>>>1;if(b===0&&u[u.length-2]===C)return e.EMPTY_LINE_TOKENS;const t=L.LineTokens.findIndexInTokensArray(u,b),n=t>0?u[t-1<<1]:0,i=u[t<<1];if(C<i){const s=C-b;for(let a=t;a<g;a++)u[a<<1]-=s;return w}let o,c;n!==b?(u[t<<1]=b,o=t+1<<1,c=b):(o=t<<1,c=n);const d=C-b;for(let s=t+1;s<g;s++){const a=u[s<<1]-d;a>c&&(u[o++]=a,u[o++]=u[(s<<1)+1],c=a)}if(o===u.length)return w;const r=new Uint32Array(o);return r.set(u.subarray(0,o),0),r.buffer}static append(w,b){if(b===e.EMPTY_LINE_TOKENS)return w;if(w===e.EMPTY_LINE_TOKENS)return b;if(w===null)return w;if(b===null)return null;const C=k(w),u=k(b),g=u.length>>>1,t=new Uint32Array(C.length+u.length);t.set(C,0);let n=C.length;const i=C[C.length-2];for(let o=0;o<g;o++)t[n++]=u[o<<1]+i,t[n++]=u[(o<<1)+1];return t.buffer}static insert(w,b,C){if(w===null||w===e.EMPTY_LINE_TOKENS)return w;const u=k(w),g=u.length>>>1;let t=L.LineTokens.findIndexInTokensArray(u,b);t>0&&u[t-1<<1]===b&&t--;for(let n=t;n<g;n++)u[n<<1]+=C;return w}}e.ContiguousTokensEditing=m;function k(I){return I instanceof Uint32Array?I:new Uint32Array(I)}e.toUint32Array=k}),define(te[442],ie([1,0,18,11,441,77,27]),function(q,e,L,m,k,I,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ContiguousTokensStore=void 0;class b{constructor(g){this._lineTokens=[],this._len=0,this._languageIdCodec=g}flush(){this._lineTokens=[],this._len=0}getTokens(g,t,n){let i=null;if(t<this._len&&(i=this._lineTokens[t]),i!==null&&i!==k.EMPTY_LINE_TOKENS)return new I.LineTokens((0,k.toUint32Array)(i),n,this._languageIdCodec);const o=new Uint32Array(2);return o[0]=n.length,o[1]=C(this._languageIdCodec.encodeLanguageId(g)),new I.LineTokens(o,n,this._languageIdCodec)}static _massageTokens(g,t,n){const i=n?(0,k.toUint32Array)(n):null;if(t===0){let o=!1;if(i&&i.length>1&&(o=w.TokenMetadata.getLanguageId(i[1])!==g),!o)return k.EMPTY_LINE_TOKENS}if(!i||i.length===0){const o=new Uint32Array(2);return o[0]=t,o[1]=C(g),o.buffer}return i[i.length-2]=t,i.byteOffset===0&&i.byteLength===i.buffer.byteLength?i.buffer:i}_ensureLine(g){for(;g>=this._len;)this._lineTokens[this._len]=null,this._len++}_deleteLines(g,t){t!==0&&(g+t>this._len&&(t=this._len-g),this._lineTokens.splice(g,t),this._len-=t)}_insertLines(g,t){if(t===0)return;const n=[];for(let i=0;i<t;i++)n[i]=null;this._lineTokens=L.arrayInsert(this._lineTokens,g,n),this._len+=t}setTokens(g,t,n,i,o){const c=b._massageTokens(this._languageIdCodec.encodeLanguageId(g),n,i);this._ensureLine(t);const d=this._lineTokens[t];return this._lineTokens[t]=c,o?!b._equals(d,c):!1}static _equals(g,t){if(!g||!t)return!g&&!t;const n=(0,k.toUint32Array)(g),i=(0,k.toUint32Array)(t);if(n.length!==i.length)return!1;for(let o=0,c=n.length;o<c;o++)if(n[o]!==i[o])return!1;return!0}acceptEdit(g,t,n){this._acceptDeleteRange(g),this._acceptInsertText(new m.Position(g.startLineNumber,g.startColumn),t,n)}_acceptDeleteRange(g){const t=g.startLineNumber-1;if(t>=this._len)return;if(g.startLineNumber===g.endLineNumber){if(g.startColumn===g.endColumn)return;this._lineTokens[t]=k.ContiguousTokensEditing.delete(this._lineTokens[t],g.startColumn-1,g.endColumn-1);return}this._lineTokens[t]=k.ContiguousTokensEditing.deleteEnding(this._lineTokens[t],g.startColumn-1);const n=g.endLineNumber-1;let i=null;n<this._len&&(i=k.ContiguousTokensEditing.deleteBeginning(this._lineTokens[n],g.endColumn-1)),this._lineTokens[t]=k.ContiguousTokensEditing.append(this._lineTokens[t],i),this._deleteLines(g.startLineNumber,g.endLineNumber-g.startLineNumber)}_acceptInsertText(g,t,n){if(t===0&&n===0)return;const i=g.lineNumber-1;if(!(i>=this._len)){if(t===0){this._lineTokens[i]=k.ContiguousTokensEditing.insert(this._lineTokens[i],g.column-1,n);return}this._lineTokens[i]=k.ContiguousTokensEditing.deleteEnding(this._lineTokens[i],g.column-1),this._lineTokens[i]=k.ContiguousTokensEditing.insert(this._lineTokens[i],g.column-1,n),this._insertLines(g.lineNumber,t)}}}e.ContiguousTokensStore=b;function C(u){return(u<<0|0<<8|0<<10|1<<14|2<<23)>>>0}}),define(te[443],ie([1,0,11,3,119]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SparseLineTokens=e.SparseMultilineTokens=void 0;class I{constructor(u,g){this._startLineNumber=u,this._tokens=g,this._endLineNumber=this._startLineNumber+this._tokens.getMaxDeltaLine()}static create(u,g){return new I(u,new w(g))}get startLineNumber(){return this._startLineNumber}get endLineNumber(){return this._endLineNumber}toString(){return this._tokens.toString(this._startLineNumber)}_updateEndLineNumber(){this._endLineNumber=this._startLineNumber+this._tokens.getMaxDeltaLine()}isEmpty(){return this._tokens.isEmpty()}getLineTokens(u){return this._startLineNumber<=u&&u<=this._endLineNumber?this._tokens.getLineTokens(u-this._startLineNumber):null}getRange(){const u=this._tokens.getRange();return u&&new m.Range(this._startLineNumber+u.startLineNumber,u.startColumn,this._startLineNumber+u.endLineNumber,u.endColumn)}removeTokens(u){const g=u.startLineNumber-this._startLineNumber,t=u.endLineNumber-this._startLineNumber;this._startLineNumber+=this._tokens.removeTokens(g,u.startColumn-1,t,u.endColumn-1),this._updateEndLineNumber()}split(u){const g=u.startLineNumber-this._startLineNumber,t=u.endLineNumber-this._startLineNumber,[n,i,o]=this._tokens.split(g,u.startColumn-1,t,u.endColumn-1);return[new I(this._startLineNumber,n),new I(this._startLineNumber+o,i)]}applyEdit(u,g){const[t,n,i]=(0,k.countEOL)(g);this.acceptEdit(u,t,n,i,g.length>0?g.charCodeAt(0):0)}acceptEdit(u,g,t,n,i){this._acceptDeleteRange(u),this._acceptInsertText(new L.Position(u.startLineNumber,u.startColumn),g,t,n,i),this._updateEndLineNumber()}_acceptDeleteRange(u){if(u.startLineNumber===u.endLineNumber&&u.startColumn===u.endColumn)return;const g=u.startLineNumber-this._startLineNumber,t=u.endLineNumber-this._startLineNumber;if(t<0){const i=t-g;this._startLineNumber-=i;return}const n=this._tokens.getMaxDeltaLine();if(!(g>=n+1)){if(g<0&&t>=n+1){this._startLineNumber=0,this._tokens.clear();return}if(g<0){const i=-g;this._startLineNumber-=i,this._tokens.acceptDeleteRange(u.startColumn-1,0,0,t,u.endColumn-1)}else this._tokens.acceptDeleteRange(0,g,u.startColumn-1,t,u.endColumn-1)}}_acceptInsertText(u,g,t,n,i){if(g===0&&t===0)return;const o=u.lineNumber-this._startLineNumber;if(o<0){this._startLineNumber+=g;return}const c=this._tokens.getMaxDeltaLine();o>=c+1||this._tokens.acceptInsertText(o,u.column-1,g,t,n,i)}}e.SparseMultilineTokens=I;class w{constructor(u){this._tokens=u,this._tokenCount=u.length/4}toString(u){const g=[];for(let t=0;t<this._tokenCount;t++)g.push(`(${this._getDeltaLine(t)+u},${this._getStartCharacter(t)}-${this._getEndCharacter(t)})`);return`[${g.join(",")}]`}getMaxDeltaLine(){const u=this._getTokenCount();return u===0?-1:this._getDeltaLine(u-1)}getRange(){const u=this._getTokenCount();if(u===0)return null;const g=this._getStartCharacter(0),t=this._getDeltaLine(u-1),n=this._getEndCharacter(u-1);return new m.Range(0,g+1,t,n+1)}_getTokenCount(){return this._tokenCount}_getDeltaLine(u){return this._tokens[4*u]}_getStartCharacter(u){return this._tokens[4*u+1]}_getEndCharacter(u){return this._tokens[4*u+2]}isEmpty(){return this._getTokenCount()===0}getLineTokens(u){let g=0,t=this._getTokenCount()-1;for(;g<t;){const n=g+Math.floor((t-g)/2),i=this._getDeltaLine(n);if(i<u)g=n+1;else if(i>u)t=n-1;else{let o=n;for(;o>g&&this._getDeltaLine(o-1)===u;)o--;let c=n;for(;c<t&&this._getDeltaLine(c+1)===u;)c++;return new b(this._tokens.subarray(4*o,4*c+4))}}return this._getDeltaLine(g)===u?new b(this._tokens.subarray(4*g,4*g+4)):null}clear(){this._tokenCount=0}removeTokens(u,g,t,n){const i=this._tokens,o=this._tokenCount;let c=0,d=!1,r=0;for(let s=0;s<o;s++){const a=4*s,l=i[a],h=i[a+1],f=i[a+2],S=i[a+3];if((l>u||l===u&&f>=g)&&(l<t||l===t&&h<=n))d=!0;else{if(c===0&&(r=l),d){const v=4*c;i[v]=l-r,i[v+1]=h,i[v+2]=f,i[v+3]=S}c++}}return this._tokenCount=c,r}split(u,g,t,n){const i=this._tokens,o=this._tokenCount,c=[],d=[];let r=c,s=0,a=0;for(let l=0;l<o;l++){const h=4*l,f=i[h],S=i[h+1],v=i[h+2],p=i[h+3];if(f>u||f===u&&v>=g){if(f<t||f===t&&S<=n)continue;r!==d&&(r=d,s=0,a=f)}r[s++]=f-a,r[s++]=S,r[s++]=v,r[s++]=p}return[new w(new Uint32Array(c)),new w(new Uint32Array(d)),a]}acceptDeleteRange(u,g,t,n,i){const o=this._tokens,c=this._tokenCount,d=n-g;let r=0,s=!1;for(let a=0;a<c;a++){const l=4*a;let h=o[l],f=o[l+1],S=o[l+2];const v=o[l+3];if(h<g||h===g&&S<=t){r++;continue}else if(h===g&&f<t)h===n&&S>i?S-=i-t:S=t;else if(h===g&&f===t)if(h===n&&S>i)S-=i-t;else{s=!0;continue}else if(h<n||h===n&&f<i)if(h===n&&S>i)h===g?(f=t,S=f+(S-i)):(f=0,S=f+(S-i));else{s=!0;continue}else if(h>n){if(d===0&&!s){r=c;break}h-=d}else if(h===n&&f>=i)u&&h===0&&(f+=u,S+=u),h-=d,f-=i-t,S-=i-t;else throw new Error("Not possible!");const p=4*r;o[p]=h,o[p+1]=f,o[p+2]=S,o[p+3]=v,r++}this._tokenCount=r}acceptInsertText(u,g,t,n,i,o){const c=t===0&&n===1&&(o>=48&&o<=57||o>=65&&o<=90||o>=97&&o<=122),d=this._tokens,r=this._tokenCount;for(let s=0;s<r;s++){const a=4*s;let l=d[a],h=d[a+1],f=d[a+2];if(!(l<u||l===u&&f<g)){if(l===u&&f===g)if(c)f+=1;else continue;else if(l===u&&h<g&&g<f)t===0?f+=n:f=g;else{if(l===u&&h===g&&c)continue;if(l===u)if(l+=t,t===0)h+=n,f+=n;else{const S=f-h;h=i+(h-g),f=h+S}else l+=t}d[a]=l,d[a+1]=h,d[a+2]=f}}}}class b{constructor(u){this._tokens=u}getCount(){return this._tokens.length/4}getStartCharacter(u){return this._tokens[4*u+1]}getEndCharacter(u){return this._tokens[4*u+2]}getMetadata(u){return this._tokens[4*u+3]}}e.SparseLineTokens=b}),define(te[444],ie([1,0,18,77]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SparseTokensStore=void 0;class k{constructor(w){this._pieces=[],this._isComplete=!1,this._languageIdCodec=w}flush(){this._pieces=[],this._isComplete=!1}isEmpty(){return this._pieces.length===0}set(w,b){this._pieces=w||[],this._isComplete=b}setPartial(w,b){let C=w;if(b.length>0){const g=b[0].getRange(),t=b[b.length-1].getRange();if(!g||!t)return w;C=w.plusRange(g).plusRange(t)}let u=null;for(let g=0,t=this._pieces.length;g<t;g++){const n=this._pieces[g];if(n.endLineNumber<C.startLineNumber)continue;if(n.startLineNumber>C.endLineNumber){u=u||{index:g};break}if(n.removeTokens(C),n.isEmpty()){this._pieces.splice(g,1),g--,t--;continue}if(n.endLineNumber<C.startLineNumber)continue;if(n.startLineNumber>C.endLineNumber){u=u||{index:g};continue}const[i,o]=n.split(C);if(i.isEmpty()){u=u||{index:g};continue}o.isEmpty()||(this._pieces.splice(g,1,i,o),g++,t++,u=u||{index:g})}return u=u||{index:this._pieces.length},b.length>0&&(this._pieces=L.arrayInsert(this._pieces,u.index,b)),C}isComplete(){return this._isComplete}addSparseTokens(w,b){const C=this._pieces;if(C.length===0)return b;const u=k._findFirstPieceWithLine(C,w),g=C[u].getLineTokens(w);if(!g)return b;const t=b.getCount(),n=g.getCount();let i=0;const o=[];let c=0,d=0;const r=(s,a)=>{s!==d&&(d=s,o[c++]=s,o[c++]=a)};for(let s=0;s<n;s++){const a=g.getStartCharacter(s),l=g.getEndCharacter(s),h=g.getMetadata(s),f=((h&1?1024:0)|(h&2?2048:0)|(h&4?4096:0)|(h&8?8192:0)|(h&16?8372224:0)|(h&32?4286578688:0))>>>0,S=~f>>>0;for(;i<t&&b.getEndOffset(i)<=a;)r(b.getEndOffset(i),b.getMetadata(i)),i++;for(i<t&&b.getStartOffset(i)<a&&r(a,b.getMetadata(i));i<t&&b.getEndOffset(i)<l;)r(b.getEndOffset(i),b.getMetadata(i)&S|h&f),i++;if(i<t)r(l,b.getMetadata(i)&S|h&f),b.getEndOffset(i)===l&&i++;else{const v=Math.min(Math.max(0,i-1),t-1);r(l,b.getMetadata(v)&S|h&f)}}for(;i<t;)r(b.getEndOffset(i),b.getMetadata(i)),i++;return new m.LineTokens(new Uint32Array(o),b.getLineContent(),this._languageIdCodec)}static _findFirstPieceWithLine(w,b){let C=0,u=w.length-1;for(;C<u;){let g=C+Math.floor((u-C)/2);if(w[g].endLineNumber<b)C=g+1;else if(w[g].startLineNumber>b)u=g-1;else{for(;g>C&&w[g-1].startLineNumber<=b&&b<=w[g-1].endLineNumber;)g--;return g}}return C}acceptEdit(w,b,C,u,g){for(const t of this._pieces)t.acceptEdit(w,b,C,u,g)}}e.SparseTokensStore=k}),define(te[125],ie([1,0,2]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewEventHandler=void 0;class m extends L.Disposable{constructor(){super();this._shouldRender=!0}shouldRender(){return this._shouldRender}forceShouldRender(){this._shouldRender=!0}setShouldRender(){this._shouldRender=!0}onDidRender(){this._shouldRender=!1}onCompositionStart(I){return!1}onCompositionEnd(I){return!1}onConfigurationChanged(I){return!1}onCursorStateChanged(I){return!1}onDecorationsChanged(I){return!1}onFlushed(I){return!1}onFocusChanged(I){return!1}onLanguageConfigurationChanged(I){return!1}onLineMappingChanged(I){return!1}onLinesChanged(I){return!1}onLinesDeleted(I){return!1}onLinesInserted(I){return!1}onRevealRangeRequest(I){return!1}onScrollChanged(I){return!1}onThemeChanged(I){return!1}onTokensChanged(I){return!1}onTokensColorsChanged(I){return!1}onZonesChanged(I){return!1}handleEvents(I){let w=!1;for(let b=0,C=I.length;b<C;b++){const u=I[b];switch(u.type){case 0:this.onCompositionStart(u)&&(w=!0);break;case 1:this.onCompositionEnd(u)&&(w=!0);break;case 2:this.onConfigurationChanged(u)&&(w=!0);break;case 3:this.onCursorStateChanged(u)&&(w=!0);break;case 4:this.onDecorationsChanged(u)&&(w=!0);break;case 5:this.onFlushed(u)&&(w=!0);break;case 6:this.onFocusChanged(u)&&(w=!0);break;case 7:this.onLanguageConfigurationChanged(u)&&(w=!0);break;case 8:this.onLineMappingChanged(u)&&(w=!0);break;case 9:this.onLinesChanged(u)&&(w=!0);break;case 10:this.onLinesDeleted(u)&&(w=!0);break;case 11:this.onLinesInserted(u)&&(w=!0);break;case 12:this.onRevealRangeRequest(u)&&(w=!0);break;case 13:this.onScrollChanged(u)&&(w=!0);break;case 15:this.onTokensChanged(u)&&(w=!0);break;case 14:this.onThemeChanged(u)&&(w=!0);break;case 16:this.onTokensColorsChanged(u)&&(w=!0);break;case 17:this.onZonesChanged(u)&&(w=!0);break;default:console.info("View received unknown event: "),console.info(u)}}w&&(this._shouldRender=!0)}}e.ViewEventHandler=m}),define(te[102],ie([1,0,125]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DynamicViewOverlay=void 0;class m extends L.ViewEventHandler{}e.DynamicViewOverlay=m}),define(te[51],ie([1,0,125]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PartFingerprints=e.ViewPart=void 0;class m extends L.ViewEventHandler{constructor(w){super();this._context=w,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}}e.ViewPart=m;class k{static write(w,b){w.setAttribute("data-mprt",String(b))}static read(w){const b=w.getAttribute("data-mprt");return b===null?0:parseInt(b,10)}static collect(w,b){const C=[];let u=0;for(;w&&w!==document.body&&w!==b;)w.nodeType===w.ELEMENT_NODE&&(C[u++]=this.read(w)),w=w.parentElement;const g=new Uint8Array(u);for(let t=0;t<u;t++)g[t]=C[u-t-1];return g}}e.PartFingerprints=k}),define(te[445],ie([1,0,7,31,51]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewContentWidgets=void 0;class I{constructor(g,t){this._coordinateBrand=void 0,this.top=g,this.left=t}}class w extends k.ViewPart{constructor(g,t){super(g);this._viewDomNode=t,this._widgets={},this.domNode=(0,m.createFastDomNode)(document.createElement("div")),k.PartFingerprints.write(this.domNode,1),this.domNode.setClassName("contentWidgets"),this.domNode.setPosition("absolute"),this.domNode.setTop(0),this.overflowingContentWidgetsDomNode=(0,m.createFastDomNode)(document.createElement("div")),k.PartFingerprints.write(this.overflowingContentWidgetsDomNode,2),this.overflowingContentWidgetsDomNode.setClassName("overflowingContentWidgets")}dispose(){super.dispose(),this._widgets={}}onConfigurationChanged(g){const t=Object.keys(this._widgets);for(const n of t)this._widgets[n].onConfigurationChanged(g);return!0}onDecorationsChanged(g){return!0}onFlushed(g){return!0}onLineMappingChanged(g){const t=Object.keys(this._widgets);for(const n of t)this._widgets[n].onLineMappingChanged(g);return!0}onLinesChanged(g){return!0}onLinesDeleted(g){return!0}onLinesInserted(g){return!0}onScrollChanged(g){return!0}onZonesChanged(g){return!0}addWidget(g){const t=new b(this._context,this._viewDomNode,g);this._widgets[t.id]=t,t.allowEditorOverflow?this.overflowingContentWidgetsDomNode.appendChild(t.domNode):this.domNode.appendChild(t.domNode),this.setShouldRender()}setWidgetPosition(g,t,n){this._widgets[g.getId()].setPosition(t,n),this.setShouldRender()}removeWidget(g){const t=g.getId();if(this._widgets.hasOwnProperty(t)){const n=this._widgets[t];delete this._widgets[t];const i=n.domNode.domNode;i.parentNode.removeChild(i),i.removeAttribute("monaco-visible-content-widget"),this.setShouldRender()}}shouldSuppressMouseDownOnWidget(g){return this._widgets.hasOwnProperty(g)?this._widgets[g].suppressMouseDown:!1}onBeforeRender(g){const t=Object.keys(this._widgets);for(const n of t)this._widgets[n].onBeforeRender(g)}prepareRender(g){const t=Object.keys(this._widgets);for(const n of t)this._widgets[n].prepareRender(g)}render(g){const t=Object.keys(this._widgets);for(const n of t)this._widgets[n].render(g)}}e.ViewContentWidgets=w;class b{constructor(g,t,n){this._context=g,this._viewDomNode=t,this._actual=n,this.domNode=(0,m.createFastDomNode)(this._actual.getDomNode()),this.id=this._actual.getId(),this.allowEditorOverflow=this._actual.allowEditorOverflow||!1,this.suppressMouseDown=this._actual.suppressMouseDown||!1;const i=this._context.configuration.options,o=i.get(131);this._fixedOverflowWidgets=i.get(36),this._contentWidth=o.contentWidth,this._contentLeft=o.contentLeft,this._lineHeight=i.get(59),this._range=null,this._viewRange=null,this._preference=[],this._cachedDomNodeOffsetWidth=-1,this._cachedDomNodeOffsetHeight=-1,this._maxWidth=this._getMaxWidth(),this._isVisible=!1,this._renderData=null,this.domNode.setPosition(this._fixedOverflowWidgets&&this.allowEditorOverflow?"fixed":"absolute"),this.domNode.setDisplay("none"),this.domNode.setVisibility("hidden"),this.domNode.setAttribute("widgetId",this.id),this.domNode.setMaxWidth(this._maxWidth)}onConfigurationChanged(g){const t=this._context.configuration.options;if(this._lineHeight=t.get(59),g.hasChanged(131)){const n=t.get(131);this._contentLeft=n.contentLeft,this._contentWidth=n.contentWidth,this._maxWidth=this._getMaxWidth()}}onLineMappingChanged(g){this._setPosition(this._range)}_setPosition(g){if(this._range=g,this._viewRange=null,this._range){const t=this._context.viewModel.model.validateRange(this._range);(this._context.viewModel.coordinatesConverter.modelPositionIsVisible(t.getStartPosition())||this._context.viewModel.coordinatesConverter.modelPositionIsVisible(t.getEndPosition()))&&(this._viewRange=this._context.viewModel.coordinatesConverter.convertModelRangeToViewRange(t))}}_getMaxWidth(){return this.allowEditorOverflow?window.innerWidth||document.documentElement.offsetWidth||document.body.offsetWidth:this._contentWidth}setPosition(g,t){this._setPosition(g),this._preference=t,this._viewRange&&this._preference&&this._preference.length>0?this.domNode.setDisplay("block"):this.domNode.setDisplay("none"),this._cachedDomNodeOffsetWidth=-1,this._cachedDomNodeOffsetHeight=-1}_layoutBoxInViewport(g,t,n,i,o){const c=g.top,d=c,r=t.top+this._lineHeight,s=o.viewportHeight-r,a=c-i,l=d>=i,h=r,f=s>=i;let S=g.left,v=t.left;return S+n>o.scrollLeft+o.viewportWidth&&(S=o.scrollLeft+o.viewportWidth-n),v+n>o.scrollLeft+o.viewportWidth&&(v=o.scrollLeft+o.viewportWidth-n),S<o.scrollLeft&&(S=o.scrollLeft),v<o.scrollLeft&&(v=o.scrollLeft),{fitsAbove:l,aboveTop:a,aboveLeft:S,fitsBelow:f,belowTop:h,belowLeft:v}}_layoutHorizontalSegmentInPage(g,t,n,i){const o=Math.max(0,t.left-i),c=Math.min(t.left+t.width+i,g.width);let d=t.left+n-L.StandardWindow.scrollX;if(d+i>c){const r=d-(c-i);d-=r,n-=r}if(d<o){const r=d-o;d-=r,n-=r}return[n,d]}_layoutBoxInPage(g,t,n,i,o){const c=g.top-i,d=t.top+this._lineHeight,r=L.getDomNodePagePosition(this._viewDomNode.domNode),s=r.top+c-L.StandardWindow.scrollY,a=r.top+d-L.StandardWindow.scrollY,l=L.getClientArea(document.body),[h,f]=this._layoutHorizontalSegmentInPage(l,r,g.left-o.scrollLeft+this._contentLeft,n),[S,v]=this._layoutHorizontalSegmentInPage(l,r,t.left-o.scrollLeft+this._contentLeft,n),p=22,_=22,y=s>=p,E=a+i<=l.height-_;return this._fixedOverflowWidgets?{fitsAbove:y,aboveTop:Math.max(s,p),aboveLeft:f,fitsBelow:E,belowTop:a,belowLeft:v}:{fitsAbove:y,aboveTop:c,aboveLeft:h,fitsBelow:E,belowTop:d,belowLeft:S}}_prepareRenderWidgetAtExactPositionOverflowing(g){return new I(g.top,g.left+this._contentLeft)}_getTopAndBottomLeft(g){if(!this._viewRange)return[null,null];const t=g.linesVisibleRangesForRange(this._viewRange,!1);if(!t||t.length===0)return[null,null];let n=t[0],i=t[0];for(const l of t)l.lineNumber<n.lineNumber&&(n=l),l.lineNumber>i.lineNumber&&(i=l);let o=1073741824;for(const l of n.ranges)l.left<o&&(o=l.left);let c=1073741824;for(const l of i.ranges)l.left<c&&(c=l.left);const d=g.getVerticalOffsetForLineNumber(n.lineNumber)-g.scrollTop,r=new I(d,o),s=g.getVerticalOffsetForLineNumber(i.lineNumber)-g.scrollTop,a=new I(s,c);return[r,a]}_prepareRenderWidget(g){if(!this._preference||this._preference.length===0)return null;const[t,n]=this._getTopAndBottomLeft(g);if(!t||!n)return null;if(this._cachedDomNodeOffsetWidth===-1||this._cachedDomNodeOffsetHeight===-1){let o=null;if(typeof this._actual.beforeRender=="function"&&(o=C(this._actual.beforeRender,this._actual)),o)this._cachedDomNodeOffsetWidth=o.width,this._cachedDomNodeOffsetHeight=o.height;else{const c=this.domNode.domNode;this._cachedDomNodeOffsetWidth=c.offsetWidth,this._cachedDomNodeOffsetHeight=c.offsetHeight}}let i;this.allowEditorOverflow?i=this._layoutBoxInPage(t,n,this._cachedDomNodeOffsetWidth,this._cachedDomNodeOffsetHeight,g):i=this._layoutBoxInViewport(t,n,this._cachedDomNodeOffsetWidth,this._cachedDomNodeOffsetHeight,g);for(let o=1;o<=2;o++)for(const c of this._preference)if(c===1){if(!i)return null;if(o===2||i.fitsAbove)return{coordinate:new I(i.aboveTop,i.aboveLeft),position:1}}else if(c===2){if(!i)return null;if(o===2||i.fitsBelow)return{coordinate:new I(i.belowTop,i.belowLeft),position:2}}else return this.allowEditorOverflow?{coordinate:this._prepareRenderWidgetAtExactPositionOverflowing(t),position:0}:{coordinate:t,position:0};return null}onBeforeRender(g){!this._viewRange||!this._preference||this._viewRange.endLineNumber<g.startLineNumber||this._viewRange.startLineNumber>g.endLineNumber||this.domNode.setMaxWidth(this._maxWidth)}prepareRender(g){this._renderData=this._prepareRenderWidget(g)}render(g){if(!this._renderData){this._isVisible&&(this.domNode.removeAttribute("monaco-visible-content-widget"),this._isVisible=!1,this.domNode.setVisibility("hidden")),typeof this._actual.afterRender=="function"&&C(this._actual.afterRender,this._actual,null);return}this.allowEditorOverflow?(this.domNode.setTop(this._renderData.coordinate.top),this.domNode.setLeft(this._renderData.coordinate.left)):(this.domNode.setTop(this._renderData.coordinate.top+g.scrollTop-g.bigNumbersDelta),this.domNode.setLeft(this._renderData.coordinate.left)),this._isVisible||(this.domNode.setVisibility("inherit"),this.domNode.setAttribute("monaco-visible-content-widget","true"),this._isVisible=!0),typeof this._actual.afterRender=="function"&&C(this._actual.afterRender,this._actual,this._renderData.position)}}function C(u,g,...t){try{return u.call(g,...t)}catch{return null}}}),define(te[446],ie([1,0,102,3,118,355]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DecorationsOverlay=void 0;class I extends L.DynamicViewOverlay{constructor(b){super();this._context=b;const C=this._context.configuration.options;this._lineHeight=C.get(59),this._typicalHalfwidthCharacterWidth=C.get(44).typicalHalfwidthCharacterWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(b){const C=this._context.configuration.options;return this._lineHeight=C.get(59),this._typicalHalfwidthCharacterWidth=C.get(44).typicalHalfwidthCharacterWidth,!0}onDecorationsChanged(b){return!0}onFlushed(b){return!0}onLinesChanged(b){return!0}onLinesDeleted(b){return!0}onLinesInserted(b){return!0}onScrollChanged(b){return b.scrollTopChanged||b.scrollWidthChanged}onZonesChanged(b){return!0}prepareRender(b){const C=b.getDecorationsInViewport();let u=[],g=0;for(let o=0,c=C.length;o<c;o++){const d=C[o];d.options.className&&(u[g++]=d)}u=u.sort((o,c)=>{if(o.options.zIndex<c.options.zIndex)return-1;if(o.options.zIndex>c.options.zIndex)return 1;const d=o.options.className,r=c.options.className;return d<r?-1:d>r?1:m.Range.compareRangesUsingStarts(o.range,c.range)});const t=b.visibleRange.startLineNumber,n=b.visibleRange.endLineNumber,i=[];for(let o=t;o<=n;o++){const c=o-t;i[c]=""}this._renderWholeLineDecorations(b,u,i),this._renderNormalDecorations(b,u,i),this._renderResult=i}_renderWholeLineDecorations(b,C,u){const g=String(this._lineHeight),t=b.visibleRange.startLineNumber,n=b.visibleRange.endLineNumber;for(let i=0,o=C.length;i<o;i++){const c=C[i];if(!c.options.isWholeLine)continue;const d='<div class="cdr '+c.options.className+'" style="left:0;width:100%;height:'+g+'px;"></div>',r=Math.max(c.range.startLineNumber,t),s=Math.min(c.range.endLineNumber,n);for(let a=r;a<=s;a++){const l=a-t;u[l]+=d}}}_renderNormalDecorations(b,C,u){const g=String(this._lineHeight),t=b.visibleRange.startLineNumber;let n=null,i=!1,o=null;for(let c=0,d=C.length;c<d;c++){const r=C[c];if(r.options.isWholeLine)continue;const s=r.options.className,a=Boolean(r.options.showIfCollapsed);let l=r.range;if(a&&l.endColumn===1&&l.endLineNumber!==l.startLineNumber&&(l=new m.Range(l.startLineNumber,l.startColumn,l.endLineNumber-1,this._context.viewModel.getLineMaxColumn(l.endLineNumber-1))),n===s&&i===a&&m.Range.areIntersectingOrTouching(o,l)){o=m.Range.plusRange(o,l);continue}n!==null&&this._renderNormalDecoration(b,o,n,i,g,t,u),n=s,i=a,o=l}n!==null&&this._renderNormalDecoration(b,o,n,i,g,t,u)}_renderNormalDecoration(b,C,u,g,t,n,i){const o=b.linesVisibleRangesForRange(C,u==="findMatch");if(!!o)for(let c=0,d=o.length;c<d;c++){const r=o[c];if(r.outsideRenderedLine)continue;const s=r.lineNumber-n;if(g&&r.ranges.length===1){const a=r.ranges[0];if(a.width<this._typicalHalfwidthCharacterWidth){const l=Math.round(a.left+a.width/2),h=Math.max(0,Math.round(l-this._typicalHalfwidthCharacterWidth/2));r.ranges[0]=new k.HorizontalRange(h,this._typicalHalfwidthCharacterWidth)}}for(let a=0,l=r.ranges.length;a<l;a++){const h=r.ranges[a],f='<div class="cdr '+u+'" style="left:'+String(h.left)+"px;width:"+String(h.width)+"px;height:"+t+'px;"></div>';i[s]+=f}}}render(b,C){if(!this._renderResult)return"";const u=C-b;return u<0||u>=this._renderResult.length?"":this._renderResult[u]}}e.DecorationsOverlay=I}),define(te[188],ie([1,0,102,356]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GlyphMarginOverlay=e.DedupOverlay=e.DecorationToRender=void 0;class m{constructor(b,C,u){this._decorationToRenderBrand=void 0,this.startLineNumber=+b,this.endLineNumber=+C,this.className=String(u)}}e.DecorationToRender=m;class k extends L.DynamicViewOverlay{_render(b,C,u){const g=[];for(let i=b;i<=C;i++){const o=i-b;g[o]=[]}if(u.length===0)return g;u.sort((i,o)=>i.className===o.className?i.startLineNumber===o.startLineNumber?i.endLineNumber-o.endLineNumber:i.startLineNumber-o.startLineNumber:i.className<o.className?-1:1);let t=null,n=0;for(let i=0,o=u.length;i<o;i++){const c=u[i],d=c.className;let r=Math.max(c.startLineNumber,b)-b;const s=Math.min(c.endLineNumber,C)-b;t===d?(r=Math.max(n+1,r),n=Math.max(n,s)):(t=d,n=s);for(let a=r;a<=n;a++)g[a].push(t)}return g}}e.DedupOverlay=k;class I extends k{constructor(b){super();this._context=b;const C=this._context.configuration.options,u=C.get(131);this._lineHeight=C.get(59),this._glyphMargin=C.get(50),this._glyphMarginLeft=u.glyphMarginLeft,this._glyphMarginWidth=u.glyphMarginWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(b){const C=this._context.configuration.options,u=C.get(131);return this._lineHeight=C.get(59),this._glyphMargin=C.get(50),this._glyphMarginLeft=u.glyphMarginLeft,this._glyphMarginWidth=u.glyphMarginWidth,!0}onDecorationsChanged(b){return!0}onFlushed(b){return!0}onLinesChanged(b){return!0}onLinesDeleted(b){return!0}onLinesInserted(b){return!0}onScrollChanged(b){return b.scrollTopChanged}onZonesChanged(b){return!0}_getDecorations(b){const C=b.getDecorationsInViewport(),u=[];let g=0;for(let t=0,n=C.length;t<n;t++){const i=C[t],o=i.options.glyphMarginClassName;o&&(u[g++]=new m(i.range.startLineNumber,i.range.endLineNumber,o))}return u}prepareRender(b){if(!this._glyphMargin){this._renderResult=null;return}const C=b.visibleRange.startLineNumber,u=b.visibleRange.endLineNumber,g=this._render(C,u,this._getDecorations(b)),t=this._lineHeight.toString(),n=this._glyphMarginLeft.toString(),i=this._glyphMarginWidth.toString(),o='" style="left:'+n+"px;width:"+i+"px;height:"+t+'px;"></div>',c=[];for(let d=C;d<=u;d++){const r=d-C,s=g[r];s.length===0?c[r]="":c[r]='<div class="cgmr codicon '+s.join(" ")+o}this._renderResult=c}render(b,C){if(!this._renderResult)return"";const u=C-b;return u<0||u>=this._renderResult.length?"":this._renderResult[u]}}e.GlyphMarginOverlay=I}),define(te[447],ie([1,0,188,360]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LinesDecorationsOverlay=void 0;class m extends L.DedupOverlay{constructor(I){super();this._context=I;const b=this._context.configuration.options.get(131);this._decorationsLeft=b.decorationsLeft,this._decorationsWidth=b.decorationsWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(I){const b=this._context.configuration.options.get(131);return this._decorationsLeft=b.decorationsLeft,this._decorationsWidth=b.decorationsWidth,!0}onDecorationsChanged(I){return!0}onFlushed(I){return!0}onLinesChanged(I){return!0}onLinesDeleted(I){return!0}onLinesInserted(I){return!0}onScrollChanged(I){return I.scrollTopChanged}onZonesChanged(I){return!0}_getDecorations(I){const w=I.getDecorationsInViewport(),b=[];let C=0;for(let u=0,g=w.length;u<g;u++){const t=w[u],n=t.options.linesDecorationsClassName;n&&(b[C++]=new L.DecorationToRender(t.range.startLineNumber,t.range.endLineNumber,n));const i=t.options.firstLineDecorationClassName;i&&(b[C++]=new L.DecorationToRender(t.range.startLineNumber,t.range.startLineNumber,i))}return b}prepareRender(I){const w=I.visibleRange.startLineNumber,b=I.visibleRange.endLineNumber,C=this._render(w,b,this._getDecorations(I)),u=this._decorationsLeft.toString(),g=this._decorationsWidth.toString(),t='" style="left:'+u+"px;width:"+g+'px;"></div>',n=[];for(let i=w;i<=b;i++){const o=i-w,c=C[o];let d="";for(let r=0,s=c.length;r<s;r++)d+='<div class="cldr '+c[r]+t;n[o]=d}this._renderResult=n}render(I,w){return this._renderResult?this._renderResult[w-I]:""}}e.LinesDecorationsOverlay=m}),define(te[254],ie([1,0,31,51]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Margin=void 0;class k extends m.ViewPart{constructor(w){super(w);const b=this._context.configuration.options,C=b.get(131);this._canUseLayerHinting=!b.get(28),this._contentLeft=C.contentLeft,this._glyphMarginLeft=C.glyphMarginLeft,this._glyphMarginWidth=C.glyphMarginWidth,this._domNode=(0,L.createFastDomNode)(document.createElement("div")),this._domNode.setClassName(k.OUTER_CLASS_NAME),this._domNode.setPosition("absolute"),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._glyphMarginBackgroundDomNode=(0,L.createFastDomNode)(document.createElement("div")),this._glyphMarginBackgroundDomNode.setClassName(k.CLASS_NAME),this._domNode.appendChild(this._glyphMarginBackgroundDomNode)}dispose(){super.dispose()}getDomNode(){return this._domNode}onConfigurationChanged(w){const b=this._context.configuration.options,C=b.get(131);return this._canUseLayerHinting=!b.get(28),this._contentLeft=C.contentLeft,this._glyphMarginLeft=C.glyphMarginLeft,this._glyphMarginWidth=C.glyphMarginWidth,!0}onScrollChanged(w){return super.onScrollChanged(w)||w.scrollTopChanged}prepareRender(w){}render(w){this._domNode.setLayerHinting(this._canUseLayerHinting),this._domNode.setContain("strict");const b=w.scrollTop-w.bigNumbersDelta;this._domNode.setTop(-b);const C=Math.min(w.scrollHeight,1e6);this._domNode.setHeight(C),this._domNode.setWidth(this._contentLeft),this._glyphMarginBackgroundDomNode.setLeft(this._glyphMarginLeft),this._glyphMarginBackgroundDomNode.setWidth(this._glyphMarginWidth),this._glyphMarginBackgroundDomNode.setHeight(C)}}e.Margin=k,k.CLASS_NAME="glyph-margin",k.OUTER_CLASS_NAME="margin"}),define(te[448],ie([1,0,188,361]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MarginViewLineDecorationsOverlay=void 0;class m extends L.DedupOverlay{constructor(I){super();this._context=I,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(I){return!0}onDecorationsChanged(I){return!0}onFlushed(I){return!0}onLinesChanged(I){return!0}onLinesDeleted(I){return!0}onLinesInserted(I){return!0}onScrollChanged(I){return I.scrollTopChanged}onZonesChanged(I){return!0}_getDecorations(I){const w=I.getDecorationsInViewport(),b=[];let C=0;for(let u=0,g=w.length;u<g;u++){const t=w[u],n=t.options.marginClassName;n&&(b[C++]=new L.DecorationToRender(t.range.startLineNumber,t.range.endLineNumber,n))}return b}prepareRender(I){const w=I.visibleRange.startLineNumber,b=I.visibleRange.endLineNumber,C=this._render(w,b,this._getDecorations(I)),u=[];for(let g=w;g<=b;g++){const t=g-w,n=C[t];let i="";for(let o=0,c=n.length;o<c;o++)i+='<div class="cmdr '+n[o]+'" style=""></div>';u[t]=i}this._renderResult=u}render(I,w){return this._renderResult?this._renderResult[w-I]:""}}e.MarginViewLineDecorationsOverlay=m}),define(te[449],ie([1,0,31,51,363]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewOverlayWidgets=void 0;class k extends m.ViewPart{constructor(w){super(w);const C=this._context.configuration.options.get(131);this._widgets={},this._verticalScrollbarWidth=C.verticalScrollbarWidth,this._minimapWidth=C.minimap.minimapWidth,this._horizontalScrollbarHeight=C.horizontalScrollbarHeight,this._editorHeight=C.height,this._editorWidth=C.width,this._domNode=(0,L.createFastDomNode)(document.createElement("div")),m.PartFingerprints.write(this._domNode,4),this._domNode.setClassName("overlayWidgets")}dispose(){super.dispose(),this._widgets={}}getDomNode(){return this._domNode}onConfigurationChanged(w){const C=this._context.configuration.options.get(131);return this._verticalScrollbarWidth=C.verticalScrollbarWidth,this._minimapWidth=C.minimap.minimapWidth,this._horizontalScrollbarHeight=C.horizontalScrollbarHeight,this._editorHeight=C.height,this._editorWidth=C.width,!0}addWidget(w){const b=(0,L.createFastDomNode)(w.getDomNode());this._widgets[w.getId()]={widget:w,preference:null,domNode:b},b.setPosition("absolute"),b.setAttribute("widgetId",w.getId()),this._domNode.appendChild(b),this.setShouldRender()}setWidgetPosition(w,b){const C=this._widgets[w.getId()];return C.preference===b?!1:(C.preference=b,this.setShouldRender(),!0)}removeWidget(w){const b=w.getId();if(this._widgets.hasOwnProperty(b)){const u=this._widgets[b].domNode.domNode;delete this._widgets[b],u.parentNode.removeChild(u),this.setShouldRender()}}_renderWidget(w){const b=w.domNode;if(w.preference===null){b.unsetTop();return}if(w.preference===0)b.setTop(0),b.setRight(2*this._verticalScrollbarWidth+this._minimapWidth);else if(w.preference===1){const C=b.domNode.clientHeight;b.setTop(this._editorHeight-C-2*this._horizontalScrollbarHeight),b.setRight(2*this._verticalScrollbarWidth+this._minimapWidth)}else w.preference===2&&(b.setTop(0),b.domNode.style.right="50%")}prepareRender(w){}render(w){this._domNode.setWidth(this._editorWidth);const b=Object.keys(this._widgets);for(let C=0,u=b.length;C<u;C++){const g=b[C];this._renderWidget(this._widgets[g])}}}e.ViewOverlayWidgets=k}),define(te[450],ie([1,0,31,13,51,11]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewZones=void 0;const w=()=>{throw new Error("Invalid change accessor")};class b extends k.ViewPart{constructor(g){super(g);const t=this._context.configuration.options,n=t.get(131);this._lineHeight=t.get(59),this._contentWidth=n.contentWidth,this._contentLeft=n.contentLeft,this.domNode=(0,L.createFastDomNode)(document.createElement("div")),this.domNode.setClassName("view-zones"),this.domNode.setPosition("absolute"),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.marginDomNode=(0,L.createFastDomNode)(document.createElement("div")),this.marginDomNode.setClassName("margin-view-zones"),this.marginDomNode.setPosition("absolute"),this.marginDomNode.setAttribute("role","presentation"),this.marginDomNode.setAttribute("aria-hidden","true"),this._zones={}}dispose(){super.dispose(),this._zones={}}_recomputeWhitespacesProps(){const g=this._context.viewLayout.getWhitespaces(),t=new Map;for(const i of g)t.set(i.id,i);let n=!1;return this._context.viewModel.changeWhitespace(i=>{const o=Object.keys(this._zones);for(let c=0,d=o.length;c<d;c++){const r=o[c],s=this._zones[r],a=this._computeWhitespaceProps(s.delegate);s.isInHiddenArea=a.isInHiddenArea;const l=t.get(r);l&&(l.afterLineNumber!==a.afterViewLineNumber||l.height!==a.heightInPx)&&(i.changeOneWhitespace(r,a.afterViewLineNumber,a.heightInPx),this._safeCallOnComputedHeight(s.delegate,a.heightInPx),n=!0)}}),n}onConfigurationChanged(g){const t=this._context.configuration.options,n=t.get(131);return this._lineHeight=t.get(59),this._contentWidth=n.contentWidth,this._contentLeft=n.contentLeft,g.hasChanged(59)&&this._recomputeWhitespacesProps(),!0}onLineMappingChanged(g){return this._recomputeWhitespacesProps()}onLinesDeleted(g){return!0}onScrollChanged(g){return g.scrollTopChanged||g.scrollWidthChanged}onZonesChanged(g){return!0}onLinesInserted(g){return!0}_getZoneOrdinal(g){return typeof g.afterColumn!="undefined"?g.afterColumn:1e4}_computeWhitespaceProps(g){if(g.afterLineNumber===0)return{isInHiddenArea:!1,afterViewLineNumber:0,heightInPx:this._heightInPixels(g),minWidthInPx:this._minWidthInPixels(g)};let t;if(typeof g.afterColumn!="undefined")t=this._context.viewModel.model.validatePosition({lineNumber:g.afterLineNumber,column:g.afterColumn});else{const c=this._context.viewModel.model.validatePosition({lineNumber:g.afterLineNumber,column:1}).lineNumber;t=new I.Position(c,this._context.viewModel.model.getLineMaxColumn(c))}let n;t.column===this._context.viewModel.model.getLineMaxColumn(t.lineNumber)?n=this._context.viewModel.model.validatePosition({lineNumber:t.lineNumber+1,column:1}):n=this._context.viewModel.model.validatePosition({lineNumber:t.lineNumber,column:t.column+1});const i=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(t,g.afterColumnAffinity),o=this._context.viewModel.coordinatesConverter.modelPositionIsVisible(n);return{isInHiddenArea:!o,afterViewLineNumber:i.lineNumber,heightInPx:o?this._heightInPixels(g):0,minWidthInPx:this._minWidthInPixels(g)}}changeViewZones(g){let t=!1;return this._context.viewModel.changeWhitespace(n=>{const i={addZone:o=>(t=!0,this._addZone(n,o)),removeZone:o=>{!o||(t=this._removeZone(n,o)||t)},layoutZone:o=>{!o||(t=this._layoutZone(n,o)||t)}};C(g,i),i.addZone=w,i.removeZone=w,i.layoutZone=w}),t}_addZone(g,t){const n=this._computeWhitespaceProps(t),o={whitespaceId:g.insertWhitespace(n.afterViewLineNumber,this._getZoneOrdinal(t),n.heightInPx,n.minWidthInPx),delegate:t,isInHiddenArea:n.isInHiddenArea,isVisible:!1,domNode:(0,L.createFastDomNode)(t.domNode),marginDomNode:t.marginDomNode?(0,L.createFastDomNode)(t.marginDomNode):null};return this._safeCallOnComputedHeight(o.delegate,n.heightInPx),o.domNode.setPosition("absolute"),o.domNode.domNode.style.width="100%",o.domNode.setDisplay("none"),o.domNode.setAttribute("monaco-view-zone",o.whitespaceId),this.domNode.appendChild(o.domNode),o.marginDomNode&&(o.marginDomNode.setPosition("absolute"),o.marginDomNode.domNode.style.width="100%",o.marginDomNode.setDisplay("none"),o.marginDomNode.setAttribute("monaco-view-zone",o.whitespaceId),this.marginDomNode.appendChild(o.marginDomNode)),this._zones[o.whitespaceId]=o,this.setShouldRender(),o.whitespaceId}_removeZone(g,t){if(this._zones.hasOwnProperty(t)){const n=this._zones[t];return delete this._zones[t],g.removeWhitespace(n.whitespaceId),n.domNode.removeAttribute("monaco-visible-view-zone"),n.domNode.removeAttribute("monaco-view-zone"),n.domNode.domNode.parentNode.removeChild(n.domNode.domNode),n.marginDomNode&&(n.marginDomNode.removeAttribute("monaco-visible-view-zone"),n.marginDomNode.removeAttribute("monaco-view-zone"),n.marginDomNode.domNode.parentNode.removeChild(n.marginDomNode.domNode)),this.setShouldRender(),!0}return!1}_layoutZone(g,t){if(this._zones.hasOwnProperty(t)){const n=this._zones[t],i=this._computeWhitespaceProps(n.delegate);return n.isInHiddenArea=i.isInHiddenArea,g.changeOneWhitespace(n.whitespaceId,i.afterViewLineNumber,i.heightInPx),this._safeCallOnComputedHeight(n.delegate,i.heightInPx),this.setShouldRender(),!0}return!1}shouldSuppressMouseDownOnViewZone(g){if(this._zones.hasOwnProperty(g)){const t=this._zones[g];return Boolean(t.delegate.suppressMouseDown)}return!1}_heightInPixels(g){return typeof g.heightInPx=="number"?g.heightInPx:typeof g.heightInLines=="number"?this._lineHeight*g.heightInLines:this._lineHeight}_minWidthInPixels(g){return typeof g.minWidthInPx=="number"?g.minWidthInPx:0}_safeCallOnComputedHeight(g,t){if(typeof g.onComputedHeight=="function")try{g.onComputedHeight(t)}catch(n){(0,m.onUnexpectedError)(n)}}_safeCallOnDomNodeTop(g,t){if(typeof g.onDomNodeTop=="function")try{g.onDomNodeTop(t)}catch(n){(0,m.onUnexpectedError)(n)}}prepareRender(g){}render(g){const t=g.viewportData.whitespaceViewportData,n={};let i=!1;for(const c of t)this._zones[c.id].isInHiddenArea||(n[c.id]=c,i=!0);const o=Object.keys(this._zones);for(let c=0,d=o.length;c<d;c++){const r=o[c],s=this._zones[r];let a=0,l=0,h="none";n.hasOwnProperty(r)?(a=n[r].verticalOffset-g.bigNumbersDelta,l=n[r].height,h="block",s.isVisible||(s.domNode.setAttribute("monaco-visible-view-zone","true"),s.isVisible=!0),this._safeCallOnDomNodeTop(s.delegate,g.getScrolledTopFromAbsoluteTop(n[r].verticalOffset))):(s.isVisible&&(s.domNode.removeAttribute("monaco-visible-view-zone"),s.isVisible=!1),this._safeCallOnDomNodeTop(s.delegate,g.getScrolledTopFromAbsoluteTop(-1e6))),s.domNode.setTop(a),s.domNode.setHeight(l),s.domNode.setDisplay(h),s.marginDomNode&&(s.marginDomNode.setTop(a),s.marginDomNode.setHeight(l),s.marginDomNode.setDisplay(h))}i&&(this.domNode.setWidth(Math.max(g.scrollWidth,this._contentWidth)),this.marginDomNode.setWidth(this._contentLeft))}}e.ViewZones=b;function C(u,g){try{return u(g)}catch(t){(0,m.onUnexpectedError)(t)}}}),define(te[189],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewZonesChangedEvent=e.ViewTokensColorsChangedEvent=e.ViewTokensChangedEvent=e.ViewThemeChangedEvent=e.ViewScrollChangedEvent=e.ViewRevealRangeRequestEvent=e.ViewLinesInsertedEvent=e.ViewLinesDeletedEvent=e.ViewLinesChangedEvent=e.ViewLineMappingChangedEvent=e.ViewLanguageConfigurationEvent=e.ViewFocusChangedEvent=e.ViewFlushedEvent=e.ViewDecorationsChangedEvent=e.ViewCursorStateChangedEvent=e.ViewConfigurationChangedEvent=e.ViewCompositionEndEvent=e.ViewCompositionStartEvent=void 0;class L{constructor(){this.type=0}}e.ViewCompositionStartEvent=L;class m{constructor(){this.type=1}}e.ViewCompositionEndEvent=m;class k{constructor(h){this.type=2,this._source=h}hasChanged(h){return this._source.hasChanged(h)}}e.ViewConfigurationChangedEvent=k;class I{constructor(h,f){this.type=3,this.selections=h,this.modelSelections=f}}e.ViewCursorStateChangedEvent=I;class w{constructor(h){this.type=4,h?(this.affectsMinimap=h.affectsMinimap,this.affectsOverviewRuler=h.affectsOverviewRuler):(this.affectsMinimap=!0,this.affectsOverviewRuler=!0)}}e.ViewDecorationsChangedEvent=w;class b{constructor(){this.type=5}}e.ViewFlushedEvent=b;class C{constructor(h){this.type=6,this.isFocused=h}}e.ViewFocusChangedEvent=C;class u{constructor(){this.type=7}}e.ViewLanguageConfigurationEvent=u;class g{constructor(){this.type=8}}e.ViewLineMappingChangedEvent=g;class t{constructor(h,f){this.type=9,this.fromLineNumber=h,this.toLineNumber=f}}e.ViewLinesChangedEvent=t;class n{constructor(h,f){this.type=10,this.fromLineNumber=h,this.toLineNumber=f}}e.ViewLinesDeletedEvent=n;class i{constructor(h,f){this.type=11,this.fromLineNumber=h,this.toLineNumber=f}}e.ViewLinesInsertedEvent=i;class o{constructor(h,f,S,v,p,_,y){this.source=h,this.minimalReveal=f,this.range=S,this.selections=v,this.verticalType=p,this.revealHorizontal=_,this.scrollType=y,this.type=12}}e.ViewRevealRangeRequestEvent=o;class c{constructor(h){this.type=13,this.scrollWidth=h.scrollWidth,this.scrollLeft=h.scrollLeft,this.scrollHeight=h.scrollHeight,this.scrollTop=h.scrollTop,this.scrollWidthChanged=h.scrollWidthChanged,this.scrollLeftChanged=h.scrollLeftChanged,this.scrollHeightChanged=h.scrollHeightChanged,this.scrollTopChanged=h.scrollTopChanged}}e.ViewScrollChangedEvent=c;class d{constructor(h){this.theme=h,this.type=14}}e.ViewThemeChangedEvent=d;class r{constructor(h){this.type=15,this.ranges=h}}e.ViewTokensChangedEvent=r;class s{constructor(){this.type=16}}e.ViewTokensColorsChangedEvent=s;class a{constructor(){this.type=17}}e.ViewZonesChangedEvent=a}),define(te[154],ie([1,0,8]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LineDecorationsNormalizer=e.DecorationSegment=e.LineDecoration=void 0;class m{constructor(C,u,g,t){this.startColumn=C,this.endColumn=u,this.className=g,this.type=t,this._lineDecorationBrand=void 0}static _equals(C,u){return C.startColumn===u.startColumn&&C.endColumn===u.endColumn&&C.className===u.className&&C.type===u.type}static equalsArr(C,u){const g=C.length,t=u.length;if(g!==t)return!1;for(let n=0;n<g;n++)if(!m._equals(C[n],u[n]))return!1;return!0}static extractWrapped(C,u,g){if(C.length===0)return C;const t=u+1,n=g+1,i=g-u,o=[];let c=0;for(const d of C)d.endColumn<=t||d.startColumn>=n||(o[c++]=new m(Math.max(1,d.startColumn-t+1),Math.min(i+1,d.endColumn-t+1),d.className,d.type));return o}static filter(C,u,g,t){if(C.length===0)return[];const n=[];let i=0;for(let o=0,c=C.length;o<c;o++){const d=C[o],r=d.range;if(r.endLineNumber<u||r.startLineNumber>u||r.isEmpty()&&(d.type===0||d.type===3))continue;const s=r.startLineNumber===u?r.startColumn:g,a=r.endLineNumber===u?r.endColumn:t;n[i++]=new m(s,a,d.inlineClassName,d.type)}return n}static _typeCompare(C,u){const g=[2,0,1,3];return g[C]-g[u]}static compare(C,u){if(C.startColumn!==u.startColumn)return C.startColumn-u.startColumn;if(C.endColumn!==u.endColumn)return C.endColumn-u.endColumn;const g=m._typeCompare(C.type,u.type);return g!==0?g:C.className!==u.className?C.className<u.className?-1:1:0}}e.LineDecoration=m;class k{constructor(C,u,g,t){this.startOffset=C,this.endOffset=u,this.className=g,this.metadata=t}}e.DecorationSegment=k;class I{constructor(){this.stopOffsets=[],this.classNames=[],this.metadata=[],this.count=0}static _metadata(C){let u=0;for(let g=0,t=C.length;g<t;g++)u|=C[g];return u}consumeLowerThan(C,u,g){for(;this.count>0&&this.stopOffsets[0]<C;){let t=0;for(;t+1<this.count&&this.stopOffsets[t]===this.stopOffsets[t+1];)t++;g.push(new k(u,this.stopOffsets[t],this.classNames.join(" "),I._metadata(this.metadata))),u=this.stopOffsets[t]+1,this.stopOffsets.splice(0,t+1),this.classNames.splice(0,t+1),this.metadata.splice(0,t+1),this.count-=t+1}return this.count>0&&u<C&&(g.push(new k(u,C-1,this.classNames.join(" "),I._metadata(this.metadata))),u=C),u}insert(C,u,g){if(this.count===0||this.stopOffsets[this.count-1]<=C)this.stopOffsets.push(C),this.classNames.push(u),this.metadata.push(g);else for(let t=0;t<this.count;t++)if(this.stopOffsets[t]>=C){this.stopOffsets.splice(t,0,C),this.classNames.splice(t,0,u),this.metadata.splice(t,0,g);break}this.count++}}class w{static normalize(C,u){if(u.length===0)return[];const g=[],t=new I;let n=0;for(let i=0,o=u.length;i<o;i++){const c=u[i];let d=c.startColumn,r=c.endColumn;const s=c.className,a=c.type===1?2:c.type===2?4:0;if(d>1){const f=C.charCodeAt(d-2);L.isHighSurrogate(f)&&d--}if(r>1){const f=C.charCodeAt(r-2);L.isHighSurrogate(f)&&r--}const l=d-1,h=r-2;n=t.consumeLowerThan(l,n,g),t.count===0&&(n=l),t.insert(h,s,a)}return t.consumeLowerThan(1073741824,n,g),g}}e.LineDecorationsNormalizer=w}),define(te[451],ie([1,0,8]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LinesLayout=e.EditorWhitespace=void 0;class m{constructor(){this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[]}insert(b){this._hasPending=!0,this._inserts.push(b)}change(b){this._hasPending=!0,this._changes.push(b)}remove(b){this._hasPending=!0,this._removes.push(b)}mustCommit(){return this._hasPending}commit(b){if(!this._hasPending)return;const C=this._inserts,u=this._changes,g=this._removes;this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[],b._commitPendingChanges(C,u,g)}}class k{constructor(b,C,u,g,t){this.id=b,this.afterLineNumber=C,this.ordinal=u,this.height=g,this.minWidth=t,this.prefixSum=0}}e.EditorWhitespace=k;class I{constructor(b,C,u,g){this._instanceId=L.singleLetterHash(++I.INSTANCE_COUNT),this._pendingChanges=new m,this._lastWhitespaceId=0,this._arr=[],this._prefixSumValidIndex=-1,this._minWidth=-1,this._lineCount=b,this._lineHeight=C,this._paddingTop=u,this._paddingBottom=g}static findInsertionIndex(b,C,u){let g=0,t=b.length;for(;g<t;){const n=g+t>>>1;C===b[n].afterLineNumber?u<b[n].ordinal?t=n:g=n+1:C<b[n].afterLineNumber?t=n:g=n+1}return g}setLineHeight(b){this._checkPendingChanges(),this._lineHeight=b}setPadding(b,C){this._paddingTop=b,this._paddingBottom=C}onFlushed(b){this._checkPendingChanges(),this._lineCount=b}changeWhitespace(b){let C=!1;try{b({insertWhitespace:(g,t,n,i)=>{C=!0,g=g|0,t=t|0,n=n|0,i=i|0;const o=this._instanceId+ ++this._lastWhitespaceId;return this._pendingChanges.insert(new k(o,g,t,n,i)),o},changeOneWhitespace:(g,t,n)=>{C=!0,t=t|0,n=n|0,this._pendingChanges.change({id:g,newAfterLineNumber:t,newHeight:n})},removeWhitespace:g=>{C=!0,this._pendingChanges.remove({id:g})}})}finally{this._pendingChanges.commit(this)}return C}_commitPendingChanges(b,C,u){if((b.length>0||u.length>0)&&(this._minWidth=-1),b.length+C.length+u.length<=1){for(const o of b)this._insertWhitespace(o);for(const o of C)this._changeOneWhitespace(o.id,o.newAfterLineNumber,o.newHeight);for(const o of u){const c=this._findWhitespaceIndex(o.id);c!==-1&&this._removeWhitespace(c)}return}const g=new Set;for(const o of u)g.add(o.id);const t=new Map;for(const o of C)t.set(o.id,o);const n=o=>{const c=[];for(const d of o)if(!g.has(d.id)){if(t.has(d.id)){const r=t.get(d.id);d.afterLineNumber=r.newAfterLineNumber,d.height=r.newHeight}c.push(d)}return c},i=n(this._arr).concat(n(b));i.sort((o,c)=>o.afterLineNumber===c.afterLineNumber?o.ordinal-c.ordinal:o.afterLineNumber-c.afterLineNumber),this._arr=i,this._prefixSumValidIndex=-1}_checkPendingChanges(){this._pendingChanges.mustCommit()&&this._pendingChanges.commit(this)}_insertWhitespace(b){const C=I.findInsertionIndex(this._arr,b.afterLineNumber,b.ordinal);this._arr.splice(C,0,b),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,C-1)}_findWhitespaceIndex(b){const C=this._arr;for(let u=0,g=C.length;u<g;u++)if(C[u].id===b)return u;return-1}_changeOneWhitespace(b,C,u){const g=this._findWhitespaceIndex(b);if(g!==-1&&(this._arr[g].height!==u&&(this._arr[g].height=u,this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,g-1)),this._arr[g].afterLineNumber!==C)){const t=this._arr[g];this._removeWhitespace(g),t.afterLineNumber=C,this._insertWhitespace(t)}}_removeWhitespace(b){this._arr.splice(b,1),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,b-1)}onLinesDeleted(b,C){this._checkPendingChanges(),b=b|0,C=C|0,this._lineCount-=C-b+1;for(let u=0,g=this._arr.length;u<g;u++){const t=this._arr[u].afterLineNumber;b<=t&&t<=C?this._arr[u].afterLineNumber=b-1:t>C&&(this._arr[u].afterLineNumber-=C-b+1)}}onLinesInserted(b,C){this._checkPendingChanges(),b=b|0,C=C|0,this._lineCount+=C-b+1;for(let u=0,g=this._arr.length;u<g;u++){const t=this._arr[u].afterLineNumber;b<=t&&(this._arr[u].afterLineNumber+=C-b+1)}}getWhitespacesTotalHeight(){return this._checkPendingChanges(),this._arr.length===0?0:this.getWhitespacesAccumulatedHeight(this._arr.length-1)}getWhitespacesAccumulatedHeight(b){this._checkPendingChanges(),b=b|0;let C=Math.max(0,this._prefixSumValidIndex+1);C===0&&(this._arr[0].prefixSum=this._arr[0].height,C++);for(let u=C;u<=b;u++)this._arr[u].prefixSum=this._arr[u-1].prefixSum+this._arr[u].height;return this._prefixSumValidIndex=Math.max(this._prefixSumValidIndex,b),this._arr[b].prefixSum}getLinesTotalHeight(){this._checkPendingChanges();const b=this._lineHeight*this._lineCount,C=this.getWhitespacesTotalHeight();return b+C+this._paddingTop+this._paddingBottom}getWhitespaceAccumulatedHeightBeforeLineNumber(b){this._checkPendingChanges(),b=b|0;const C=this._findLastWhitespaceBeforeLineNumber(b);return C===-1?0:this.getWhitespacesAccumulatedHeight(C)}_findLastWhitespaceBeforeLineNumber(b){b=b|0;const C=this._arr;let u=0,g=C.length-1;for(;u<=g;){const n=(g-u|0)/2|0,i=u+n|0;if(C[i].afterLineNumber<b){if(i+1>=C.length||C[i+1].afterLineNumber>=b)return i;u=i+1|0}else g=i-1|0}return-1}_findFirstWhitespaceAfterLineNumber(b){b=b|0;const u=this._findLastWhitespaceBeforeLineNumber(b)+1;return u<this._arr.length?u:-1}getFirstWhitespaceIndexAfterLineNumber(b){return this._checkPendingChanges(),b=b|0,this._findFirstWhitespaceAfterLineNumber(b)}getVerticalOffsetForLineNumber(b){this._checkPendingChanges(),b=b|0;let C;b>1?C=this._lineHeight*(b-1):C=0;const u=this.getWhitespaceAccumulatedHeightBeforeLineNumber(b);return C+u+this._paddingTop}getWhitespaceMinWidth(){if(this._checkPendingChanges(),this._minWidth===-1){let b=0;for(let C=0,u=this._arr.length;C<u;C++)b=Math.max(b,this._arr[C].minWidth);this._minWidth=b}return this._minWidth}isAfterLines(b){this._checkPendingChanges();const C=this.getLinesTotalHeight();return b>C}isInTopPadding(b){return this._paddingTop===0?!1:(this._checkPendingChanges(),b<this._paddingTop)}isInBottomPadding(b){if(this._paddingBottom===0)return!1;this._checkPendingChanges();const C=this.getLinesTotalHeight();return b>=C-this._paddingBottom}getLineNumberAtOrAfterVerticalOffset(b){if(this._checkPendingChanges(),b=b|0,b<0)return 1;const C=this._lineCount|0,u=this._lineHeight;let g=1,t=C;for(;g<t;){const n=(g+t)/2|0,i=this.getVerticalOffsetForLineNumber(n)|0;if(b>=i+u)g=n+1;else{if(b>=i)return n;t=n}}return g>C?C:g}getLinesViewportData(b,C){this._checkPendingChanges(),b=b|0,C=C|0;const u=this._lineHeight,g=this.getLineNumberAtOrAfterVerticalOffset(b)|0,t=this.getVerticalOffsetForLineNumber(g)|0;let n=this._lineCount|0,i=this.getFirstWhitespaceIndexAfterLineNumber(g)|0;const o=this.getWhitespacesCount()|0;let c,d;i===-1?(i=o,d=n+1,c=0):(d=this.getAfterLineNumberForWhitespaceIndex(i)|0,c=this.getHeightForWhitespaceIndex(i)|0);let r=t,s=r;const a=5e5;let l=0;t>=a&&(l=Math.floor(t/a)*a,l=Math.floor(l/u)*u,s-=l);const h=[],f=b+(C-b)/2;let S=-1;for(let y=g;y<=n;y++){if(S===-1){const E=r,N=r+u;(E<=f&&f<N||E>f)&&(S=y)}for(r+=u,h[y-g]=s,s+=u;d===y;)s+=c,r+=c,i++,i>=o?d=n+1:(d=this.getAfterLineNumberForWhitespaceIndex(i)|0,c=this.getHeightForWhitespaceIndex(i)|0);if(r>=C){n=y;break}}S===-1&&(S=n);const v=this.getVerticalOffsetForLineNumber(n)|0;let p=g,_=n;return p<_&&t<b&&p++,p<_&&v+u>C&&_--,{bigNumbersDelta:l,startLineNumber:g,endLineNumber:n,relativeVerticalOffset:h,centeredLineNumber:S,completelyVisibleStartLineNumber:p,completelyVisibleEndLineNumber:_}}getVerticalOffsetForWhitespaceIndex(b){this._checkPendingChanges(),b=b|0;const C=this.getAfterLineNumberForWhitespaceIndex(b);let u;C>=1?u=this._lineHeight*C:u=0;let g;return b>0?g=this.getWhitespacesAccumulatedHeight(b-1):g=0,u+g+this._paddingTop}getWhitespaceIndexAtOrAfterVerticallOffset(b){this._checkPendingChanges(),b=b|0;let C=0,u=this.getWhitespacesCount()-1;if(u<0)return-1;const g=this.getVerticalOffsetForWhitespaceIndex(u),t=this.getHeightForWhitespaceIndex(u);if(b>=g+t)return-1;for(;C<u;){const n=Math.floor((C+u)/2),i=this.getVerticalOffsetForWhitespaceIndex(n),o=this.getHeightForWhitespaceIndex(n);if(b>=i+o)C=n+1;else{if(b>=i)return n;u=n}}return C}getWhitespaceAtVerticalOffset(b){this._checkPendingChanges(),b=b|0;const C=this.getWhitespaceIndexAtOrAfterVerticallOffset(b);if(C<0||C>=this.getWhitespacesCount())return null;const u=this.getVerticalOffsetForWhitespaceIndex(C);if(u>b)return null;const g=this.getHeightForWhitespaceIndex(C),t=this.getIdForWhitespaceIndex(C),n=this.getAfterLineNumberForWhitespaceIndex(C);return{id:t,afterLineNumber:n,verticalOffset:u,height:g}}getWhitespaceViewportData(b,C){this._checkPendingChanges(),b=b|0,C=C|0;const u=this.getWhitespaceIndexAtOrAfterVerticallOffset(b),g=this.getWhitespacesCount()-1;if(u<0)return[];const t=[];for(let n=u;n<=g;n++){const i=this.getVerticalOffsetForWhitespaceIndex(n),o=this.getHeightForWhitespaceIndex(n);if(i>=C)break;t.push({id:this.getIdForWhitespaceIndex(n),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(n),verticalOffset:i,height:o})}return t}getWhitespaces(){return this._checkPendingChanges(),this._arr.slice(0)}getWhitespacesCount(){return this._checkPendingChanges(),this._arr.length}getIdForWhitespaceIndex(b){return this._checkPendingChanges(),b=b|0,this._arr[b].id}getAfterLineNumberForWhitespaceIndex(b){return this._checkPendingChanges(),b=b|0,this._arr[b].afterLineNumber}getHeightForWhitespaceIndex(b){return this._checkPendingChanges(),b=b|0,this._arr[b].height}}e.LinesLayout=I,I.INSTANCE_COUNT=0}),define(te[126],ie([1,0,8,93,154]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.renderViewLine2=e.RenderLineOutput2=e.renderViewLine=e.RenderLineOutput=e.CharacterMapping=e.DomPosition=e.RenderLineInput=e.LineRange=void 0;class I{constructor(p,_,y){this._linePartBrand=void 0,this.endIndex=p,this.type=_,this.metadata=y}isWhitespace(){return!!(this.metadata&1)}isPseudoAfter(){return!!(this.metadata&4)}}class w{constructor(p,_){this.startOffset=p,this.endOffset=_}equals(p){return this.startOffset===p.startOffset&&this.endOffset===p.endOffset}}e.LineRange=w;class b{constructor(p,_,y,E,N,D,M,B,O,T,A,P,F,W,R,z,j,$,G){this.useMonospaceOptimizations=p,this.canUseHalfwidthRightwardsArrow=_,this.lineContent=y,this.continuesWithWrappedLine=E,this.isBasicASCII=N,this.containsRTL=D,this.fauxIndentLength=M,this.lineTokens=B,this.lineDecorations=O.sort(k.LineDecoration.compare),this.tabSize=T,this.startVisibleColumn=A,this.spaceWidth=P,this.stopRenderingLineAfter=R,this.renderWhitespace=z==="all"?4:z==="boundary"?1:z==="selection"?2:z==="trailing"?3:0,this.renderControlCharacters=j,this.fontLigatures=$,this.selectionsOnLine=G&&G.sort((se,Z)=>se.startOffset<Z.startOffset?-1:1);const J=Math.abs(W-P),re=Math.abs(F-P);J<re?(this.renderSpaceWidth=W,this.renderSpaceCharCode=11825):(this.renderSpaceWidth=F,this.renderSpaceCharCode=183)}sameSelection(p){if(this.selectionsOnLine===null)return p===null;if(p===null||p.length!==this.selectionsOnLine.length)return!1;for(let _=0;_<this.selectionsOnLine.length;_++)if(!this.selectionsOnLine[_].equals(p[_]))return!1;return!0}equals(p){return this.useMonospaceOptimizations===p.useMonospaceOptimizations&&this.canUseHalfwidthRightwardsArrow===p.canUseHalfwidthRightwardsArrow&&this.lineContent===p.lineContent&&this.continuesWithWrappedLine===p.continuesWithWrappedLine&&this.isBasicASCII===p.isBasicASCII&&this.containsRTL===p.containsRTL&&this.fauxIndentLength===p.fauxIndentLength&&this.tabSize===p.tabSize&&this.startVisibleColumn===p.startVisibleColumn&&this.spaceWidth===p.spaceWidth&&this.renderSpaceWidth===p.renderSpaceWidth&&this.renderSpaceCharCode===p.renderSpaceCharCode&&this.stopRenderingLineAfter===p.stopRenderingLineAfter&&this.renderWhitespace===p.renderWhitespace&&this.renderControlCharacters===p.renderControlCharacters&&this.fontLigatures===p.fontLigatures&&k.LineDecoration.equalsArr(this.lineDecorations,p.lineDecorations)&&this.lineTokens.equals(p.lineTokens)&&this.sameSelection(p.selectionsOnLine)}}e.RenderLineInput=b;class C{constructor(p,_){this.partIndex=p,this.charIndex=_}}e.DomPosition=C;class u{constructor(p,_){this.length=p,this._data=new Uint32Array(this.length),this._absoluteOffsets=new Uint32Array(this.length)}static getPartIndex(p){return(p&4294901760)>>>16}static getCharIndex(p){return(p&65535)>>>0}setColumnInfo(p,_,y,E){const N=(_<<16|y<<0)>>>0;this._data[p-1]=N,this._absoluteOffsets[p-1]=E+y}getAbsoluteOffset(p){return this._absoluteOffsets.length===0?0:this._absoluteOffsets[p-1]}charOffsetToPartData(p){return this.length===0?0:p<0?this._data[0]:p>=this.length?this._data[this.length-1]:this._data[p]}getDomPosition(p){const _=this.charOffsetToPartData(p-1),y=u.getPartIndex(_),E=u.getCharIndex(_);return new C(y,E)}getColumn(p,_){return this.partDataToCharOffset(p.partIndex,_,p.charIndex)+1}partDataToCharOffset(p,_,y){if(this.length===0)return 0;const E=(p<<16|y<<0)>>>0;let N=0,D=this.length-1;for(;N+1<D;){const R=N+D>>>1,z=this._data[R];if(z===E)return R;z>E?D=R:N=R}if(N===D)return N;const M=this._data[N],B=this._data[D];if(M===E)return N;if(B===E)return D;const O=u.getPartIndex(M),T=u.getCharIndex(M),A=u.getPartIndex(B);let P;O!==A?P=_:P=u.getCharIndex(B);const F=y-T,W=P-y;return F<=W?N:D}}e.CharacterMapping=u;class g{constructor(p,_,y){this._renderLineOutputBrand=void 0,this.characterMapping=p,this.containsRTL=_,this.containsForeignElements=y}}e.RenderLineOutput=g;function t(v,p){if(v.lineContent.length===0){if(v.lineDecorations.length>0){p.appendASCIIString("<span>");let _=0,y=0,E=0;for(const D of v.lineDecorations)(D.type===1||D.type===2)&&(p.appendASCIIString('<span class="'),p.appendASCIIString(D.className),p.appendASCIIString('"></span>'),D.type===1&&(E|=1,_++),D.type===2&&(E|=2,y++));p.appendASCIIString("</span>");const N=new u(1,_+y);return N.setColumnInfo(1,_,0,0),new g(N,!1,E)}return p.appendASCIIString("<span><span></span></span>"),new g(new u(0,0),!1,0)}return f(c(v),p)}e.renderViewLine=t;class n{constructor(p,_,y,E){this.characterMapping=p,this.html=_,this.containsRTL=y,this.containsForeignElements=E}}e.RenderLineOutput2=n;function i(v){const p=(0,m.createStringBuilder)(1e4),_=t(v,p);return new n(_.characterMapping,p.build(),_.containsRTL,_.containsForeignElements)}e.renderViewLine2=i;class o{constructor(p,_,y,E,N,D,M,B,O,T,A,P,F,W,R){this.fontIsMonospace=p,this.canUseHalfwidthRightwardsArrow=_,this.lineContent=y,this.len=E,this.isOverflowing=N,this.parts=D,this.containsForeignElements=M,this.fauxIndentLength=B,this.tabSize=O,this.startVisibleColumn=T,this.containsRTL=A,this.spaceWidth=P,this.renderSpaceCharCode=F,this.renderWhitespace=W,this.renderControlCharacters=R}}function c(v){const p=v.lineContent;let _,y;v.stopRenderingLineAfter!==-1&&v.stopRenderingLineAfter<p.length?(_=!0,y=v.stopRenderingLineAfter):(_=!1,y=p.length);let E=d(v.lineTokens,v.fauxIndentLength,y);v.renderControlCharacters&&!v.isBasicASCII&&(E=a(p,E)),(v.renderWhitespace===4||v.renderWhitespace===1||v.renderWhitespace===2&&!!v.selectionsOnLine||v.renderWhitespace===3)&&(E=l(v,p,y,E));let N=0;if(v.lineDecorations.length>0){for(let D=0,M=v.lineDecorations.length;D<M;D++){const B=v.lineDecorations[D];B.type===3||B.type===1?N|=1:B.type===2&&(N|=2)}E=h(p,y,E,v.lineDecorations)}return v.containsRTL||(E=r(p,E,!v.isBasicASCII||v.fontLigatures)),new o(v.useMonospaceOptimizations,v.canUseHalfwidthRightwardsArrow,p,y,_,E,N,v.fauxIndentLength,v.tabSize,v.startVisibleColumn,v.containsRTL,v.spaceWidth,v.renderSpaceCharCode,v.renderWhitespace,v.renderControlCharacters)}function d(v,p,_){const y=[];let E=0;p>0&&(y[E++]=new I(p,"",0));for(let N=0,D=v.getCount();N<D;N++){const M=v.getEndOffset(N);if(M<=p)continue;const B=v.getClassName(N);if(M>=_){y[E++]=new I(_,B,0);break}y[E++]=new I(M,B,0)}return y}function r(v,p,_){let y=0;const E=[];let N=0;if(_)for(let D=0,M=p.length;D<M;D++){const B=p[D],O=B.endIndex;if(y+50<O){const T=B.type,A=B.metadata;let P=-1,F=y;for(let W=y;W<O;W++)v.charCodeAt(W)===32&&(P=W),P!==-1&&W-F>=50&&(E[N++]=new I(P+1,T,A),F=P+1,P=-1);F!==O&&(E[N++]=new I(O,T,A))}else E[N++]=B;y=O}else for(let D=0,M=p.length;D<M;D++){const B=p[D],O=B.endIndex,T=O-y;if(T>50){const A=B.type,P=B.metadata,F=Math.ceil(T/50);for(let W=1;W<F;W++){const R=y+W*50;E[N++]=new I(R,A,P)}E[N++]=new I(O,A,P)}else E[N++]=B;y=O}return E}function s(v){return v<32?v!==9:v===127||v>=8234&&v<=8238||v>=8294&&v<=8297||v>=8206&&v<=8207||v===1564}function a(v,p){const _=[];let y=new I(0,"",0),E=0;for(const N of p){const D=N.endIndex;for(;E<D;E++){const M=v.charCodeAt(E);s(M)&&(E>y.endIndex&&(y=new I(E,N.type,N.metadata),_.push(y)),y=new I(E+1,"mtkcontrol",N.metadata),_.push(y))}E>y.endIndex&&(y=new I(D,N.type,N.metadata),_.push(y))}return _}function l(v,p,_,y){const E=v.continuesWithWrappedLine,N=v.fauxIndentLength,D=v.tabSize,M=v.startVisibleColumn,B=v.useMonospaceOptimizations,O=v.selectionsOnLine,T=v.renderWhitespace===1,A=v.renderWhitespace===3,P=v.renderSpaceWidth!==v.spaceWidth,F=[];let W=0,R=0,z=y[R].type,j=y[R].endIndex;const $=y.length;let G=!1,J=L.firstNonWhitespaceIndex(p),re;J===-1?(G=!0,J=_,re=_):re=L.lastNonWhitespaceIndex(p);let se=!1,Z=0,V=O&&O[Z],K=M%D;for(let oe=N;oe<_;oe++){const ae=p.charCodeAt(oe);V&&oe>=V.endOffset&&(Z++,V=O&&O[Z]);let ee;if(oe<J||oe>re)ee=!0;else if(ae===9)ee=!0;else if(ae===32)if(T)if(se)ee=!0;else{const ue=oe+1<_?p.charCodeAt(oe+1):0;ee=ue===32||ue===9}else ee=!0;else ee=!1;if(ee&&O&&(ee=!!V&&V.startOffset<=oe&&V.endOffset>oe),ee&&A&&(ee=G||oe>re),se){if(!ee||!B&&K>=D){if(P){const ue=W>0?F[W-1].endIndex:N;for(let le=ue+1;le<=oe;le++)F[W++]=new I(le,"mtkw",1)}else F[W++]=new I(oe,"mtkw",1);K=K%D}}else(oe===j||ee&&oe>N)&&(F[W++]=new I(oe,z,0),K=K%D);for(ae===9?K=D:L.isFullWidthCharacter(ae)?K+=2:K++,se=ee;oe===j&&(R++,R<$);)z=y[R].type,j=y[R].endIndex}let X=!1;if(se)if(E&&T){const oe=_>0?p.charCodeAt(_-1):0,ae=_>1?p.charCodeAt(_-2):0;oe===32&&ae!==32&&ae!==9||(X=!0)}else X=!0;if(X)if(P){const oe=W>0?F[W-1].endIndex:N;for(let ae=oe+1;ae<=_;ae++)F[W++]=new I(ae,"mtkw",1)}else F[W++]=new I(_,"mtkw",1);else F[W++]=new I(_,z,0);return F}function h(v,p,_,y){y.sort(k.LineDecoration.compare);const E=k.LineDecorationsNormalizer.normalize(v,y),N=E.length;let D=0;const M=[];let B=0,O=0;for(let A=0,P=_.length;A<P;A++){const F=_[A],W=F.endIndex,R=F.type,z=F.metadata;for(;D<N&&E[D].startOffset<W;){const j=E[D];if(j.startOffset>O&&(O=j.startOffset,M[B++]=new I(O,R,z)),j.endOffset+1<=W)O=j.endOffset+1,M[B++]=new I(O,R+" "+j.className,z|j.metadata),D++;else{O=W,M[B++]=new I(O,R+" "+j.className,z|j.metadata);break}}W>O&&(O=W,M[B++]=new I(O,R,z))}const T=_[_.length-1].endIndex;if(D<N&&E[D].startOffset===T)for(;D<N&&E[D].startOffset===T;){const A=E[D];M[B++]=new I(O,A.className,A.metadata),D++}return M}function f(v,p){const _=v.fontIsMonospace,y=v.canUseHalfwidthRightwardsArrow,E=v.containsForeignElements,N=v.lineContent,D=v.len,M=v.isOverflowing,B=v.parts,O=v.fauxIndentLength,T=v.tabSize,A=v.startVisibleColumn,P=v.containsRTL,F=v.spaceWidth,W=v.renderSpaceCharCode,R=v.renderWhitespace,z=v.renderControlCharacters,j=new u(D+1,B.length);let $=!1,G=0,J=A,re=0,se=0,Z=0,V=0;P?p.appendASCIIString('<span dir="ltr">'):p.appendASCIIString("<span>");for(let K=0,X=B.length;K<X;K++){V+=Z;const oe=B[K],ae=oe.endIndex,ee=oe.type,ue=R!==0&&oe.isWhitespace(),le=ue&&!_&&(ee==="mtkw"||!E),x=G===ae&&oe.isPseudoAfter();if(re=0,p.appendASCIIString('<span class="'),p.appendASCIIString(le?"mtkz":ee),p.appendASCII(34),ue){let H=0;{let U=G,Q=J;for(;U<ae;U++){const ne=(N.charCodeAt(U)===9?T-Q%T:1)|0;H+=ne,U>=O&&(Q+=ne)}}for(le&&(p.appendASCIIString(' style="width:'),p.appendASCIIString(String(F*H)),p.appendASCIIString('px"')),p.appendASCII(62);G<ae;G++){j.setColumnInfo(G+1,K-se,re,V),se=0;const U=N.charCodeAt(G);let Q;if(U===9){Q=T-J%T|0,!y||Q>1?p.write1(8594):p.write1(65515);for(let Y=2;Y<=Q;Y++)p.write1(160)}else Q=1,p.write1(W);re+=Q,G>=O&&(J+=Q)}Z=H}else{let H=0;for(p.appendASCII(62);G<ae;G++){j.setColumnInfo(G+1,K-se,re,V),se=0;const U=N.charCodeAt(G);let Q=1,Y=1;switch(U){case 9:Q=T-J%T,Y=Q;for(let ne=1;ne<=Q;ne++)p.write1(160);break;case 32:p.write1(160);break;case 60:p.appendASCIIString("&lt;");break;case 62:p.appendASCIIString("&gt;");break;case 38:p.appendASCIIString("&amp;");break;case 0:z?p.write1(9216):p.appendASCIIString("&#00;");break;case 65279:case 8232:case 8233:case 133:p.write1(65533);break;default:L.isFullWidthCharacter(U)&&Y++,z&&U<32?p.write1(9216+U):z&&U===127?p.write1(9249):z&&s(U)?(p.appendASCIIString("[U+"),p.appendASCIIString(S(U)),p.appendASCIIString("]"),Q=8):p.write1(U)}re+=Q,H+=Q,G>=O&&(J+=Y)}Z=H}x?se++:se=0,G>=D&&!$&&oe.isPseudoAfter()&&($=!0,j.setColumnInfo(G+1,K,re,V)),p.appendASCIIString("</span>")}return $||j.setColumnInfo(D+1,B.length-1,re,V),M&&p.appendASCIIString("<span>&hellip;</span>"),p.appendASCIIString("</span>"),new g(j,P,E)}function S(v){return v.toString(16).toUpperCase().padStart(4,"0")}}),define(te[452],ie([1,0,3]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewportData=void 0;class m{constructor(I,w,b,C){this.selections=I,this.startLineNumber=w.startLineNumber|0,this.endLineNumber=w.endLineNumber|0,this.relativeVerticalOffset=w.relativeVerticalOffset,this.bigNumbersDelta=w.bigNumbersDelta|0,this.whitespaceViewportData=b,this._model=C,this.visibleRange=new L.Range(w.startLineNumber,this._model.getLineMinColumn(w.startLineNumber),w.endLineNumber,this._model.getLineMaxColumn(w.endLineNumber))}getViewLineRenderingData(I){return this._model.getViewLineRenderingData(this.visibleRange,I)}getDecorationsInViewport(){return this._model.getDecorationsInViewport(this.visibleRange)}}e.ViewportData=m}),define(te[71],ie([1,0,8,3]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OverviewRulerDecorationsGroup=e.ViewModelDecoration=e.SingleLineInlineDecoration=e.InlineDecoration=e.ViewLineRenderingData=e.ViewLineData=e.MinimapLinesRenderingData=e.Viewport=void 0;class k{constructor(i,o,c,d){this._viewportBrand=void 0,this.top=i|0,this.left=o|0,this.width=c|0,this.height=d|0}}e.Viewport=k;class I{constructor(i,o){this.tabSize=i,this.data=o}}e.MinimapLinesRenderingData=I;class w{constructor(i,o,c,d,r,s,a){this._viewLineDataBrand=void 0,this.content=i,this.continuesWithWrappedLine=o,this.minColumn=c,this.maxColumn=d,this.startVisibleColumn=r,this.tokens=s,this.inlineDecorations=a}}e.ViewLineData=w;class b{constructor(i,o,c,d,r,s,a,l,h,f){this.minColumn=i,this.maxColumn=o,this.content=c,this.continuesWithWrappedLine=d,this.isBasicASCII=b.isBasicASCII(c,s),this.containsRTL=b.containsRTL(c,this.isBasicASCII,r),this.tokens=a,this.inlineDecorations=l,this.tabSize=h,this.startVisibleColumn=f}static isBasicASCII(i,o){return o?L.isBasicASCII(i):!0}static containsRTL(i,o,c){return!o&&c?L.containsRTL(i):!1}}e.ViewLineRenderingData=b;class C{constructor(i,o,c){this.range=i,this.inlineClassName=o,this.type=c}}e.InlineDecoration=C;class u{constructor(i,o,c,d){this.startOffset=i,this.endOffset=o,this.inlineClassName=c,this.inlineClassNameAffectsLetterSpacing=d}toInlineDecoration(i){return new C(new m.Range(i,this.startOffset+1,i,this.endOffset+1),this.inlineClassName,this.inlineClassNameAffectsLetterSpacing?3:0)}}e.SingleLineInlineDecoration=u;class g{constructor(i,o){this._viewModelDecorationBrand=void 0,this.range=i,this.options=o}}e.ViewModelDecoration=g;class t{constructor(i,o,c){this.color=i,this.zIndex=o,this.data=c}static cmp(i,o){return i.zIndex===o.zIndex?i.color<o.color?-1:i.color>o.color?1:0:i.zIndex-o.zIndex}}e.OverviewRulerDecorationsGroup=t}),define(te[255],ie([1,0,4,2,239,27]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MinimapTokensColorTracker=void 0;class w extends m.Disposable{constructor(){super();this._onDidChange=new L.Emitter,this.onDidChange=this._onDidChange.event,this._updateColorMap(),this._register(I.TokenizationRegistry.onDidChange(C=>{C.changedColorMap&&this._updateColorMap()}))}static getInstance(){return this._INSTANCE||(this._INSTANCE=(0,m.markAsSingleton)(new w)),this._INSTANCE}_updateColorMap(){const C=I.TokenizationRegistry.getColorMap();if(!C){this._colors=[k.RGBA8.Empty],this._backgroundIsLight=!0;return}this._colors=[k.RGBA8.Empty];for(let g=1;g<C.length;g++){const t=C[g].rgba;this._colors[g]=new k.RGBA8(t.r,t.g,t.b,Math.round(t.a*255))}const u=C[2].getRelativeLuminance();this._backgroundIsLight=u>=.5,this._onDidChange.fire(void 0)}getColor(C){return(C<1||C>=this._colors.length)&&(C=2),this._colors[C]}backgroundIsLight(){return this._backgroundIsLight}}e.MinimapTokensColorTracker=w,w._INSTANCE=null}),define(te[453],ie([1,0,77,11,94,71]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createModelLineProjection=void 0;function w(i,o){return i===null?o?C.INSTANCE:u.INSTANCE:new b(i,o)}e.createModelLineProjection=w;class b{constructor(o,c){this._projectionData=o,this._isVisible=c}isVisible(){return this._isVisible}setVisible(o){return this._isVisible=o,this}getProjectionData(){return this._projectionData}getViewLineCount(){return this._isVisible?this._projectionData.getOutputLineCount():0}getViewLineContent(o,c,d){this._assertVisible();const r=d>0?this._projectionData.breakOffsets[d-1]:0,s=this._projectionData.breakOffsets[d];let a;if(this._projectionData.injectionOffsets!==null){const l=this._projectionData.injectionOffsets.map((f,S)=>new k.LineInjectedText(0,0,f+1,this._projectionData.injectionOptions[S],0));a=k.LineInjectedText.applyInjectedText(o.getLineContent(c),l).substring(r,s)}else a=o.getValueInRange({startLineNumber:c,startColumn:r+1,endLineNumber:c,endColumn:s+1});return d>0&&(a=t(this._projectionData.wrappedTextIndentLength)+a),a}getViewLineLength(o,c,d){return this._assertVisible(),this._projectionData.getLineLength(d)}getViewLineMinColumn(o,c,d){return this._assertVisible(),this._projectionData.getMinOutputOffset(d)+1}getViewLineMaxColumn(o,c,d){return this._assertVisible(),this._projectionData.getMaxOutputOffset(d)+1}getViewLineData(o,c,d){const r=new Array;return this.getViewLinesData(o,c,d,1,0,[!0],r),r[0]}getViewLinesData(o,c,d,r,s,a,l){this._assertVisible();const h=this._projectionData,f=h.injectionOffsets,S=h.injectionOptions;let v=null;if(f){v=[];let _=0,y=0;for(let E=0;E<h.getOutputLineCount();E++){const N=new Array;v[E]=N;const D=E>0?h.breakOffsets[E-1]:0,M=h.breakOffsets[E];for(;y<f.length;){const B=S[y].content.length,O=f[y]+_,T=O+B;if(O>M)break;if(D<T){const A=S[y];if(A.inlineClassName){const P=E>0?h.wrappedTextIndentLength:0,F=P+Math.max(O-D,0),W=P+Math.min(T-D,M);F!==W&&N.push(new I.SingleLineInlineDecoration(F,W,A.inlineClassName,A.inlineClassNameAffectsLetterSpacing))}}if(T<=M)_+=B,y++;else break}}}let p;f?p=o.getLineTokens(c).withInserted(f.map((_,y)=>({offset:_,text:S[y].content,tokenMetadata:L.LineTokens.defaultTokenMetadata}))):p=o.getLineTokens(c);for(let _=d;_<d+r;_++){const y=s+_-d;if(!a[y]){l[y]=null;continue}l[y]=this._getViewLineData(p,v?v[_]:null,_)}}_getViewLineData(o,c,d){this._assertVisible();const r=this._projectionData,s=d>0?r.wrappedTextIndentLength:0,a=d>0?r.breakOffsets[d-1]:0,l=r.breakOffsets[d],h=o.sliceAndInflate(a,l,s);let f=h.getLineContent();d>0&&(f=t(r.wrappedTextIndentLength)+f);const S=this._projectionData.getMinOutputOffset(d)+1,v=f.length+1,p=d+1<this.getViewLineCount(),_=d===0?0:r.breakOffsetsVisibleColumn[d-1];return new I.ViewLineData(f,p,S,v,_,h,c)}getModelColumnOfViewPosition(o,c){return this._assertVisible(),this._projectionData.translateToInputOffset(o,c-1)+1}getViewPositionOfModelPosition(o,c,d=2){return this._assertVisible(),this._projectionData.translateToOutputPosition(c-1,d).toPosition(o)}getViewLineNumberOfModelPosition(o,c){this._assertVisible();const d=this._projectionData.translateToOutputPosition(c-1);return o+d.outputLineIndex}normalizePosition(o,c,d){const r=c.lineNumber-o;return this._projectionData.normalizeOutputPosition(o,c.column-1,d).toPosition(r)}getInjectedTextAt(o,c){return this._projectionData.getInjectedText(o,c-1)}_assertVisible(){if(!this._isVisible)throw new Error("Not supported")}}class C{constructor(){}isVisible(){return!0}setVisible(o){return o?this:u.INSTANCE}getProjectionData(){return null}getViewLineCount(){return 1}getViewLineContent(o,c,d){return o.getLineContent(c)}getViewLineLength(o,c,d){return o.getLineLength(c)}getViewLineMinColumn(o,c,d){return o.getLineMinColumn(c)}getViewLineMaxColumn(o,c,d){return o.getLineMaxColumn(c)}getViewLineData(o,c,d){const r=o.getLineTokens(c),s=r.getLineContent();return new I.ViewLineData(s,!1,1,s.length+1,0,r.inflate(),null)}getViewLinesData(o,c,d,r,s,a,l){if(!a[s]){l[s]=null;return}l[s]=this.getViewLineData(o,c,0)}getModelColumnOfViewPosition(o,c){return c}getViewPositionOfModelPosition(o,c){return new m.Position(o,c)}getViewLineNumberOfModelPosition(o,c){return o}normalizePosition(o,c,d){return c}getInjectedTextAt(o,c){return null}}C.INSTANCE=new C;class u{constructor(){}isVisible(){return!1}setVisible(o){return o?C.INSTANCE:this}getProjectionData(){return null}getViewLineCount(){return 0}getViewLineContent(o,c,d){throw new Error("Not supported")}getViewLineLength(o,c,d){throw new Error("Not supported")}getViewLineMinColumn(o,c,d){throw new Error("Not supported")}getViewLineMaxColumn(o,c,d){throw new Error("Not supported")}getViewLineData(o,c,d){throw new Error("Not supported")}getViewLinesData(o,c,d,r,s,a,l){throw new Error("Not supported")}getModelColumnOfViewPosition(o,c){throw new Error("Not supported")}getViewPositionOfModelPosition(o,c){throw new Error("Not supported")}getViewLineNumberOfModelPosition(o,c){throw new Error("Not supported")}normalizePosition(o,c,d){throw new Error("Not supported")}getInjectedTextAt(o,c){throw new Error("Not supported")}}u.INSTANCE=new u;let g=[""];function t(i){if(i>=g.length)for(let o=1;o<=i;o++)g[o]=n(o);return g[i]}function n(i){return new Array(i+1).join(" ")}}),define(te[454],ie([1,0,8,99,94,248]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MonospaceLineBreaksComputerFactory=void 0;class w{constructor(r,s){this.classifier=new b(r,s)}static create(r){return new w(r.get(120),r.get(119))}createLineBreaksComputer(r,s,a,l){const h=[],f=[],S=[];return{addRequest:(v,p,_)=>{h.push(v),f.push(p),S.push(_)},finalize:()=>{const v=r.typicalFullwidthCharacterWidth/r.typicalHalfwidthCharacterWidth,p=[];for(let _=0,y=h.length;_<y;_++){const E=f[_],N=S[_];N&&!N.injectionOptions&&!E?p[_]=g(this.classifier,N,h[_],s,a,v,l):p[_]=t(this.classifier,h[_],E,s,a,v,l)}return C.length=0,u.length=0,p}}}}e.MonospaceLineBreaksComputerFactory=w;class b extends m.CharacterClassifier{constructor(r,s){super(0);for(let a=0;a<r.length;a++)this.set(r.charCodeAt(a),1);for(let a=0;a<s.length;a++)this.set(s.charCodeAt(a),2)}get(r){return r>=0&&r<256?this._asciiMap[r]:r>=12352&&r<=12543||r>=13312&&r<=19903||r>=19968&&r<=40959?3:this._map.get(r)||this._defaultValue}}let C=[],u=[];function g(d,r,s,a,l,h,f){if(l===-1)return null;const S=s.length;if(S<=1)return null;const v=r.breakOffsets,p=r.breakOffsetsVisibleColumn,_=c(s,a,l,h,f),y=l-_,E=C,N=u;let D=0,M=0,B=0,O=l;const T=v.length;let A=0;if(A>=0){let P=Math.abs(p[A]-O);for(;A+1<T;){const F=Math.abs(p[A+1]-O);if(F>=P)break;P=F,A++}}for(;A<T;){let P=A<0?0:v[A],F=A<0?0:p[A];M>P&&(P=M,F=B);let W=0,R=0,z=0,j=0;if(F<=O){let G=F,J=P===0?0:s.charCodeAt(P-1),re=P===0?0:d.get(J),se=!0;for(let Z=P;Z<S;Z++){const V=Z,K=s.charCodeAt(Z);let X,oe;if(L.isHighSurrogate(K)?(Z++,X=0,oe=2):(X=d.get(K),oe=n(K,G,a,h)),V>M&&o(J,re,K,X)&&(W=V,R=G),G+=oe,G>O){V>M?(z=V,j=G-oe):(z=Z+1,j=G),G-R>y&&(W=0),se=!1;break}J=K,re=X}if(se){D>0&&(E[D]=v[v.length-1],N[D]=p[v.length-1],D++);break}}if(W===0){let G=F,J=s.charCodeAt(P),re=d.get(J),se=!1;for(let Z=P-1;Z>=M;Z--){const V=Z+1,K=s.charCodeAt(Z);if(K===9){se=!0;break}let X,oe;if(L.isLowSurrogate(K)?(Z--,X=0,oe=2):(X=d.get(K),oe=L.isFullWidthCharacter(K)?h:1),G<=O){if(z===0&&(z=V,j=G),G<=O-y)break;if(o(K,X,J,re)){W=V,R=G;break}}G-=oe,J=K,re=X}if(W!==0){const Z=y-(j-R);if(Z<=a){const V=s.charCodeAt(z);let K;L.isHighSurrogate(V)?K=2:K=n(V,j,a,h),Z-K<0&&(W=0)}}if(se){A--;continue}}if(W===0&&(W=z,R=j),W<=M){const G=s.charCodeAt(M);L.isHighSurrogate(G)?(W=M+2,R=B+2):(W=M+1,R=B+n(G,B,a,h))}for(M=W,E[D]=W,B=R,N[D]=R,D++,O=R+y;A<0||A<T&&p[A]<R;)A++;let $=Math.abs(p[A]-O);for(;A+1<T;){const G=Math.abs(p[A+1]-O);if(G>=$)break;$=G,A++}}return D===0?null:(E.length=D,N.length=D,C=r.breakOffsets,u=r.breakOffsetsVisibleColumn,r.breakOffsets=E,r.breakOffsetsVisibleColumn=N,r.wrappedTextIndentLength=_,r)}function t(d,r,s,a,l,h,f){const S=k.LineInjectedText.applyInjectedText(r,s);let v,p;if(s&&s.length>0?(v=s.map(R=>R.options),p=s.map(R=>R.column-1)):(v=null,p=null),l===-1)return v?new I.ModelLineProjectionData(p,v,[S.length],[],0):null;const _=S.length;if(_<=1)return v?new I.ModelLineProjectionData(p,v,[S.length],[],0):null;const y=c(S,a,l,h,f),E=l-y,N=[],D=[];let M=0,B=0,O=0,T=l,A=S.charCodeAt(0),P=d.get(A),F=n(A,0,a,h),W=1;L.isHighSurrogate(A)&&(F+=1,A=S.charCodeAt(1),P=d.get(A),W++);for(let R=W;R<_;R++){const z=R,j=S.charCodeAt(R);let $,G;L.isHighSurrogate(j)?(R++,$=0,G=2):($=d.get(j),G=n(j,F,a,h)),o(A,P,j,$)&&(B=z,O=F),F+=G,F>T&&((B===0||F-O>E)&&(B=z,O=F-G),N[M]=B,D[M]=O,M++,T=O+E,B=0),A=j,P=$}return M===0&&(!s||s.length===0)?null:(N[M]=_,D[M]=F,new I.ModelLineProjectionData(p,v,N,D,y))}function n(d,r,s,a){return d===9?s-r%s:L.isFullWidthCharacter(d)||d<32?a:1}function i(d,r){return r-d%r}function o(d,r,s,a){return s!==32&&(r===2||r===3&&a!==2||a===1||a===3&&r!==1)}function c(d,r,s,a,l){let h=0;if(l!==0){const f=L.firstNonWhitespaceIndex(d);if(f!==-1){for(let v=0;v<f;v++)h+=d.charCodeAt(v)===9?i(h,r):1;const S=l===3?2:l===2?1:0;for(let v=0;v<S;v++)h+=i(h,r);h+a>s&&(h=0)}}return h}}),define(te[256],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OverviewZoneManager=e.OverviewRulerZone=e.ColorZone=void 0;class L{constructor(w,b,C){this._colorZoneBrand=void 0,this.from=w|0,this.to=b|0,this.colorId=C|0}static compare(w,b){return w.colorId===b.colorId?w.from===b.from?w.to-b.to:w.from-b.from:w.colorId-b.colorId}}e.ColorZone=L;class m{constructor(w,b,C,u){this._overviewRulerZoneBrand=void 0,this.startLineNumber=w,this.endLineNumber=b,this.heightInLines=C,this.color=u,this._colorZone=null}static compare(w,b){return w.color===b.color?w.startLineNumber===b.startLineNumber?w.heightInLines===b.heightInLines?w.endLineNumber-b.endLineNumber:w.heightInLines-b.heightInLines:w.startLineNumber-b.startLineNumber:w.color<b.color?-1:1}setColorZone(w){this._colorZone=w}getColorZones(){return this._colorZone}}e.OverviewRulerZone=m;class k{constructor(w){this._getVerticalOffsetForLine=w,this._zones=[],this._colorZonesInvalid=!1,this._lineHeight=0,this._domWidth=0,this._domHeight=0,this._outerHeight=0,this._pixelRatio=1,this._lastAssignedId=0,this._color2Id=Object.create(null),this._id2Color=[]}getId2Color(){return this._id2Color}setZones(w){this._zones=w,this._zones.sort(m.compare)}setLineHeight(w){return this._lineHeight===w?!1:(this._lineHeight=w,this._colorZonesInvalid=!0,!0)}setPixelRatio(w){this._pixelRatio=w,this._colorZonesInvalid=!0}getDOMWidth(){return this._domWidth}getCanvasWidth(){return this._domWidth*this._pixelRatio}setDOMWidth(w){return this._domWidth===w?!1:(this._domWidth=w,this._colorZonesInvalid=!0,!0)}getDOMHeight(){return this._domHeight}getCanvasHeight(){return this._domHeight*this._pixelRatio}setDOMHeight(w){return this._domHeight===w?!1:(this._domHeight=w,this._colorZonesInvalid=!0,!0)}getOuterHeight(){return this._outerHeight}setOuterHeight(w){return this._outerHeight===w?!1:(this._outerHeight=w,this._colorZonesInvalid=!0,!0)}resolveColorZones(){const w=this._colorZonesInvalid,b=Math.floor(this._lineHeight),C=Math.floor(this.getCanvasHeight()),u=Math.floor(this._outerHeight),g=C/u,t=Math.floor(4*this._pixelRatio/2),n=[];for(let i=0,o=this._zones.length;i<o;i++){const c=this._zones[i];if(!w){const p=c.getColorZones();if(p){n.push(p);continue}}const d=this._getVerticalOffsetForLine(c.startLineNumber),r=c.heightInLines===0?this._getVerticalOffsetForLine(c.endLineNumber)+b:d+c.heightInLines*b,s=Math.floor(g*d),a=Math.floor(g*r);let l=Math.floor((s+a)/2),h=a-l;h<t&&(h=t),l-h<0&&(l=h),l+h>C&&(l=C-h);const f=c.color;let S=this._color2Id[f];S||(S=++this._lastAssignedId,this._color2Id[f]=S,this._id2Color[S]=f);const v=new L(l-h,l+h,S);c.setColorZone(v),n.push(v)}return this._colorZonesInvalid=!1,n.sort(L.compare),n}}e.OverviewZoneManager=k}),define(te[455],ie([1,0,31,256,125]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OverviewRuler=void 0;class I extends k.ViewEventHandler{constructor(b,C){super();this._context=b;const u=this._context.configuration.options;this._domNode=(0,L.createFastDomNode)(document.createElement("canvas")),this._domNode.setClassName(C),this._domNode.setPosition("absolute"),this._domNode.setLayerHinting(!0),this._domNode.setContain("strict"),this._zoneManager=new m.OverviewZoneManager(g=>this._context.viewLayout.getVerticalOffsetForLineNumber(g)),this._zoneManager.setDOMWidth(0),this._zoneManager.setDOMHeight(0),this._zoneManager.setOuterHeight(this._context.viewLayout.getScrollHeight()),this._zoneManager.setLineHeight(u.get(59)),this._zoneManager.setPixelRatio(u.get(129)),this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}onConfigurationChanged(b){const C=this._context.configuration.options;return b.hasChanged(59)&&(this._zoneManager.setLineHeight(C.get(59)),this._render()),b.hasChanged(129)&&(this._zoneManager.setPixelRatio(C.get(129)),this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render()),!0}onFlushed(b){return this._render(),!0}onScrollChanged(b){return b.scrollHeightChanged&&(this._zoneManager.setOuterHeight(b.scrollHeight),this._render()),!0}onZonesChanged(b){return this._render(),!0}getDomNode(){return this._domNode.domNode}setLayout(b){this._domNode.setTop(b.top),this._domNode.setRight(b.right);let C=!1;C=this._zoneManager.setDOMWidth(b.width)||C,C=this._zoneManager.setDOMHeight(b.height)||C,C&&(this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render())}setZones(b){this._zoneManager.setZones(b),this._render()}_render(){if(this._zoneManager.getOuterHeight()===0)return!1;const b=this._zoneManager.getCanvasWidth(),C=this._zoneManager.getCanvasHeight(),u=this._zoneManager.resolveColorZones(),g=this._zoneManager.getId2Color(),t=this._domNode.domNode.getContext("2d");return t.clearRect(0,0,b,C),u.length>0&&this._renderOneLane(t,u,g,b),!0}_renderOneLane(b,C,u,g){let t=0,n=0,i=0;for(const o of C){const c=o.colorId,d=o.from,r=o.to;c!==t?(b.fillRect(0,n,g,i-n),t=c,b.fillStyle=u[t],n=d,i=r):i>=d?i=Math.max(i,r):(b.fillRect(0,n,g,i-n),n=d,i=r)}b.fillRect(0,n,g,i-n)}}e.OverviewRuler=I}),define(te[456],ie([1,0,409]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewContext=void 0;class m{constructor(I,w,b){this.configuration=I,this.theme=new L.EditorTheme(w),this.viewModel=b,this.viewLayout=b.viewLayout}addEventHandler(I){this.viewModel.addViewEventHandler(I)}removeEventHandler(I){this.viewModel.removeViewEventHandler(I)}}e.ViewContext=m}),define(te[190],ie([1,0,4,2]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ReadOnlyEditAttemptEvent=e.CursorStateChangedEvent=e.HiddenAreasChangedEvent=e.ViewZonesChangedEvent=e.ScrollChangedEvent=e.FocusChangedEvent=e.ContentSizeChangedEvent=e.ViewModelEventsCollector=e.ViewModelEventDispatcher=void 0;class k extends m.Disposable{constructor(){super();this._onEvent=this._register(new L.Emitter),this.onEvent=this._onEvent.event,this._eventHandlers=[],this._viewEventQueue=null,this._isConsumingViewEventQueue=!1,this._collector=null,this._collectorCnt=0,this._outgoingEvents=[]}emitOutgoingEvent(o){this._addOutgoingEvent(o),this._emitOutgoingEvents()}_addOutgoingEvent(o){for(let c=0,d=this._outgoingEvents.length;c<d;c++)if(this._outgoingEvents[c].kind===o.kind){this._outgoingEvents[c]=this._outgoingEvents[c].merge(o);return}this._outgoingEvents.push(o)}_emitOutgoingEvents(){for(;this._outgoingEvents.length>0;){if(this._collector||this._isConsumingViewEventQueue)return;const o=this._outgoingEvents.shift();o.isNoOp()||this._onEvent.fire(o)}}addViewEventHandler(o){for(let c=0,d=this._eventHandlers.length;c<d;c++)this._eventHandlers[c]===o&&console.warn("Detected duplicate listener in ViewEventDispatcher",o);this._eventHandlers.push(o)}removeViewEventHandler(o){for(let c=0;c<this._eventHandlers.length;c++)if(this._eventHandlers[c]===o){this._eventHandlers.splice(c,1);break}}beginEmitViewEvents(){return this._collectorCnt++,this._collectorCnt===1&&(this._collector=new I),this._collector}endEmitViewEvents(){if(this._collectorCnt--,this._collectorCnt===0){const o=this._collector.outgoingEvents,c=this._collector.viewEvents;this._collector=null;for(const d of o)this._addOutgoingEvent(d);c.length>0&&this._emitMany(c)}this._emitOutgoingEvents()}emitSingleViewEvent(o){try{this.beginEmitViewEvents().emitViewEvent(o)}finally{this.endEmitViewEvents()}}_emitMany(o){this._viewEventQueue?this._viewEventQueue=this._viewEventQueue.concat(o):this._viewEventQueue=o,this._isConsumingViewEventQueue||this._consumeViewEventQueue()}_consumeViewEventQueue(){try{this._isConsumingViewEventQueue=!0,this._doConsumeQueue()}finally{this._isConsumingViewEventQueue=!1}}_doConsumeQueue(){for(;this._viewEventQueue;){const o=this._viewEventQueue;this._viewEventQueue=null;const c=this._eventHandlers.slice(0);for(const d of c)d.handleEvents(o)}}}e.ViewModelEventDispatcher=k;class I{constructor(){this.viewEvents=[],this.outgoingEvents=[]}emitViewEvent(o){this.viewEvents.push(o)}emitOutgoingEvent(o){this.outgoingEvents.push(o)}}e.ViewModelEventsCollector=I;class w{constructor(o,c,d,r){this.kind=0,this._oldContentWidth=o,this._oldContentHeight=c,this.contentWidth=d,this.contentHeight=r,this.contentWidthChanged=this._oldContentWidth!==this.contentWidth,this.contentHeightChanged=this._oldContentHeight!==this.contentHeight}isNoOp(){return!this.contentWidthChanged&&!this.contentHeightChanged}merge(o){return o.kind!==0?this:new w(this._oldContentWidth,this._oldContentHeight,o.contentWidth,o.contentHeight)}}e.ContentSizeChangedEvent=w;class b{constructor(o,c){this.kind=1,this.oldHasFocus=o,this.hasFocus=c}isNoOp(){return this.oldHasFocus===this.hasFocus}merge(o){return o.kind!==1?this:new b(this.oldHasFocus,o.hasFocus)}}e.FocusChangedEvent=b;class C{constructor(o,c,d,r,s,a,l,h){this.kind=2,this._oldScrollWidth=o,this._oldScrollLeft=c,this._oldScrollHeight=d,this._oldScrollTop=r,this.scrollWidth=s,this.scrollLeft=a,this.scrollHeight=l,this.scrollTop=h,this.scrollWidthChanged=this._oldScrollWidth!==this.scrollWidth,this.scrollLeftChanged=this._oldScrollLeft!==this.scrollLeft,this.scrollHeightChanged=this._oldScrollHeight!==this.scrollHeight,this.scrollTopChanged=this._oldScrollTop!==this.scrollTop}isNoOp(){return!this.scrollWidthChanged&&!this.scrollLeftChanged&&!this.scrollHeightChanged&&!this.scrollTopChanged}merge(o){return o.kind!==2?this:new C(this._oldScrollWidth,this._oldScrollLeft,this._oldScrollHeight,this._oldScrollTop,o.scrollWidth,o.scrollLeft,o.scrollHeight,o.scrollTop)}}e.ScrollChangedEvent=C;class u{constructor(){this.kind=3}isNoOp(){return!1}merge(o){return this}}e.ViewZonesChangedEvent=u;class g{constructor(){this.kind=4}isNoOp(){return!1}merge(o){return this}}e.HiddenAreasChangedEvent=g;class t{constructor(o,c,d,r,s,a,l){this.kind=6,this.oldSelections=o,this.selections=c,this.oldModelVersionId=d,this.modelVersionId=r,this.source=s,this.reason=a,this.reachedMaxCursorCount=l}static _selectionsAreEqual(o,c){if(!o&&!c)return!0;if(!o||!c)return!1;const d=o.length,r=c.length;if(d!==r)return!1;for(let s=0;s<d;s++)if(!o[s].equalsSelection(c[s]))return!1;return!0}isNoOp(){return t._selectionsAreEqual(this.oldSelections,this.selections)&&this.oldModelVersionId===this.modelVersionId}merge(o){return o.kind!==6?this:new t(this.oldSelections,o.selections,this.oldModelVersionId,o.modelVersionId,o.source,o.reason,this.reachedMaxCursorCount||o.reachedMaxCursorCount)}}e.CursorStateChangedEvent=t;class n{constructor(){this.kind=5}isNoOp(){return!1}merge(o){return this}}e.ReadOnlyEditAttemptEvent=n}),define(te[457],ie([1,0,4,2,140,451,71,190]),function(q,e,L,m,k,I,w,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewLayout=void 0;const C=125;class u{constructor(i,o,c,d){i=i|0,o=o|0,c=c|0,d=d|0,i<0&&(i=0),o<0&&(o=0),c<0&&(c=0),d<0&&(d=0),this.width=i,this.contentWidth=o,this.scrollWidth=Math.max(i,o),this.height=c,this.contentHeight=d,this.scrollHeight=Math.max(c,d)}equals(i){return this.width===i.width&&this.contentWidth===i.contentWidth&&this.height===i.height&&this.contentHeight===i.contentHeight}}class g extends m.Disposable{constructor(i,o){super();this._onDidContentSizeChange=this._register(new L.Emitter),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._dimensions=new u(0,0,0,0),this._scrollable=this._register(new k.Scrollable({forceIntegerValues:!0,smoothScrollDuration:i,scheduleAtNextAnimationFrame:o})),this.onDidScroll=this._scrollable.onScroll}getScrollable(){return this._scrollable}setSmoothScrollDuration(i){this._scrollable.setSmoothScrollDuration(i)}validateScrollPosition(i){return this._scrollable.validateScrollPosition(i)}getScrollDimensions(){return this._dimensions}setScrollDimensions(i){if(this._dimensions.equals(i))return;const o=this._dimensions;this._dimensions=i,this._scrollable.setScrollDimensions({width:i.width,scrollWidth:i.scrollWidth,height:i.height,scrollHeight:i.scrollHeight},!0);const c=o.contentWidth!==i.contentWidth,d=o.contentHeight!==i.contentHeight;(c||d)&&this._onDidContentSizeChange.fire(new b.ContentSizeChangedEvent(o.contentWidth,o.contentHeight,i.contentWidth,i.contentHeight))}getFutureScrollPosition(){return this._scrollable.getFutureScrollPosition()}getCurrentScrollPosition(){return this._scrollable.getCurrentScrollPosition()}setScrollPositionNow(i){this._scrollable.setScrollPositionNow(i)}setScrollPositionSmooth(i){this._scrollable.setScrollPositionSmooth(i)}}class t extends m.Disposable{constructor(i,o,c){super();this._configuration=i;const d=this._configuration.options,r=d.get(131),s=d.get(75);this._linesLayout=new I.LinesLayout(o,d.get(59),s.top,s.bottom),this._scrollable=this._register(new g(0,c)),this._configureSmoothScrollDuration(),this._scrollable.setScrollDimensions(new u(r.contentWidth,0,r.height,0)),this.onDidScroll=this._scrollable.onDidScroll,this.onDidContentSizeChange=this._scrollable.onDidContentSizeChange,this._updateHeight()}dispose(){super.dispose()}getScrollable(){return this._scrollable.getScrollable()}onHeightMaybeChanged(){this._updateHeight()}_configureSmoothScrollDuration(){this._scrollable.setSmoothScrollDuration(this._configuration.options.get(103)?C:0)}onConfigurationChanged(i){const o=this._configuration.options;if(i.hasChanged(59)&&this._linesLayout.setLineHeight(o.get(59)),i.hasChanged(75)){const c=o.get(75);this._linesLayout.setPadding(c.top,c.bottom)}if(i.hasChanged(131)){const c=o.get(131),d=c.contentWidth,r=c.height,s=this._scrollable.getScrollDimensions(),a=s.contentWidth;this._scrollable.setScrollDimensions(new u(d,s.contentWidth,r,this._getContentHeight(d,r,a)))}else this._updateHeight();i.hasChanged(103)&&this._configureSmoothScrollDuration()}onFlushed(i){this._linesLayout.onFlushed(i)}onLinesDeleted(i,o){this._linesLayout.onLinesDeleted(i,o)}onLinesInserted(i,o){this._linesLayout.onLinesInserted(i,o)}_getHorizontalScrollbarHeight(i,o){const d=this._configuration.options.get(92);return d.horizontal===2||i>=o?0:d.horizontalScrollbarSize}_getContentHeight(i,o,c){const d=this._configuration.options;let r=this._linesLayout.getLinesTotalHeight();return d.get(94)?r+=Math.max(0,o-d.get(59)-d.get(75).bottom):r+=this._getHorizontalScrollbarHeight(i,c),r}_updateHeight(){const i=this._scrollable.getScrollDimensions(),o=i.width,c=i.height,d=i.contentWidth;this._scrollable.setScrollDimensions(new u(o,i.contentWidth,c,this._getContentHeight(o,c,d)))}getCurrentViewport(){const i=this._scrollable.getScrollDimensions(),o=this._scrollable.getCurrentScrollPosition();return new w.Viewport(o.scrollTop,o.scrollLeft,i.width,i.height)}getFutureViewport(){const i=this._scrollable.getScrollDimensions(),o=this._scrollable.getFutureScrollPosition();return new w.Viewport(o.scrollTop,o.scrollLeft,i.width,i.height)}_computeContentWidth(i){const o=this._configuration.options,c=o.get(132),d=o.get(44);if(c.isViewportWrapping){const r=o.get(131),s=o.get(65);return i>r.contentWidth+d.typicalHalfwidthCharacterWidth&&s.enabled&&s.side==="right"?i+r.verticalScrollbarWidth:i}else{const r=o.get(93)*d.typicalHalfwidthCharacterWidth,s=this._linesLayout.getWhitespaceMinWidth();return Math.max(i+r,s)}}setMaxLineWidth(i){const o=this._scrollable.getScrollDimensions();this._scrollable.setScrollDimensions(new u(o.width,this._computeContentWidth(i),o.height,o.contentHeight)),this._updateHeight()}saveState(){const i=this._scrollable.getFutureScrollPosition(),o=i.scrollTop,c=this._linesLayout.getLineNumberAtOrAfterVerticalOffset(o),d=this._linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(c);return{scrollTop:o,scrollTopWithoutViewZones:o-d,scrollLeft:i.scrollLeft}}changeWhitespace(i){const o=this._linesLayout.changeWhitespace(i);return o&&this.onHeightMaybeChanged(),o}getVerticalOffsetForLineNumber(i){return this._linesLayout.getVerticalOffsetForLineNumber(i)}isAfterLines(i){return this._linesLayout.isAfterLines(i)}isInTopPadding(i){return this._linesLayout.isInTopPadding(i)}isInBottomPadding(i){return this._linesLayout.isInBottomPadding(i)}getLineNumberAtVerticalOffset(i){return this._linesLayout.getLineNumberAtOrAfterVerticalOffset(i)}getWhitespaceAtVerticalOffset(i){return this._linesLayout.getWhitespaceAtVerticalOffset(i)}getLinesViewportData(){const i=this.getCurrentViewport();return this._linesLayout.getLinesViewportData(i.top,i.top+i.height)}getLinesViewportDataAtScrollTop(i){const o=this._scrollable.getScrollDimensions();return i+o.height>o.scrollHeight&&(i=o.scrollHeight-o.height),i<0&&(i=0),this._linesLayout.getLinesViewportData(i,i+o.height)}getWhitespaceViewportData(){const i=this.getCurrentViewport();return this._linesLayout.getWhitespaceViewportData(i.top,i.top+i.height)}getWhitespaces(){return this._linesLayout.getWhitespaces()}getContentWidth(){return this._scrollable.getScrollDimensions().contentWidth}getScrollWidth(){return this._scrollable.getScrollDimensions().scrollWidth}getContentHeight(){return this._scrollable.getScrollDimensions().contentHeight}getScrollHeight(){return this._scrollable.getScrollDimensions().scrollHeight}getCurrentScrollLeft(){return this._scrollable.getCurrentScrollPosition().scrollLeft}getCurrentScrollTop(){return this._scrollable.getCurrentScrollPosition().scrollTop}validateScrollPosition(i){return this._scrollable.validateScrollPosition(i)}setScrollPosition(i,o){o===1?this._scrollable.setScrollPositionNow(i):this._scrollable.setScrollPositionSmooth(i)}deltaScrollNow(i,o){const c=this._scrollable.getCurrentScrollPosition();this._scrollable.setScrollPositionNow({scrollLeft:c.scrollLeft+i,scrollTop:c.scrollTop+o})}}e.ViewLayout=t}),define(te[458],ie([1,0,3,22]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MoveCaretCommand=void 0;class k{constructor(w,b){this._selection=w,this._isMovingLeft=b}getEditOperations(w,b){if(this._selection.startLineNumber!==this._selection.endLineNumber||this._selection.isEmpty())return;const C=this._selection.startLineNumber,u=this._selection.startColumn,g=this._selection.endColumn;if(!(this._isMovingLeft&&u===1)&&!(!this._isMovingLeft&&g===w.getLineMaxColumn(C)))if(this._isMovingLeft){const t=new L.Range(C,u-1,C,u),n=w.getValueInRange(t);b.addEditOperation(t,null),b.addEditOperation(new L.Range(C,g,C,g),n)}else{const t=new L.Range(C,g,C,g+1),n=w.getValueInRange(t);b.addEditOperation(t,null),b.addEditOperation(new L.Range(C,u,C,u),n)}}computeCursorState(w,b){return this._isMovingLeft?new m.Selection(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new m.Selection(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}}e.MoveCaretCommand=k}),define(te[155],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CodeActionCommandArgs=e.filtersAction=e.mayIncludeActionsOfKind=e.CodeActionKind=void 0;class L{constructor(C){this.value=C}equals(C){return this.value===C.value}contains(C){return this.equals(C)||this.value===""||C.value.startsWith(this.value+L.sep)}intersects(C){return this.contains(C)||C.contains(this)}append(C){return new L(this.value+L.sep+C)}}e.CodeActionKind=L,L.sep=".",L.None=new L("@@none@@"),L.Empty=new L(""),L.QuickFix=new L("quickfix"),L.Refactor=new L("refactor"),L.Source=new L("source"),L.SourceOrganizeImports=L.Source.append("organizeImports"),L.SourceFixAll=L.Source.append("fixAll");function m(b,C){return!(b.include&&!b.include.intersects(C)||b.excludes&&b.excludes.some(u=>I(C,u,b.include))||!b.includeSourceActions&&L.Source.contains(C))}e.mayIncludeActionsOfKind=m;function k(b,C){const u=C.kind?new L(C.kind):void 0;return!(b.include&&(!u||!b.include.contains(u))||b.excludes&&u&&b.excludes.some(g=>I(u,g,b.include))||!b.includeSourceActions&&u&&L.Source.contains(u)||b.onlyIncludePreferredActions&&!C.isPreferred)}e.filtersAction=k;function I(b,C,u){return!(!C.contains(b)||u&&C.contains(u))}class w{constructor(C,u,g){this.kind=C,this.apply=u,this.preferred=g}static fromUser(C,u){return!C||typeof C!="object"?new w(u.kind,u.apply,!1):new w(w.getKindFromUser(C,u.kind),w.getApplyFromUser(C,u.apply),w.getPreferredUser(C))}static getApplyFromUser(C,u){switch(typeof C.apply=="string"?C.apply.toLowerCase():""){case"first":return"first";case"never":return"never";case"ifsingle":return"ifSingle";default:return u}}static getKindFromUser(C,u){return typeof C.kind=="string"?new L(C.kind):u}static getPreferredUser(C){return typeof C.preferred=="boolean"?C.preferred:!1}}e.CodeActionCommandArgs=w}),define(te[459],ie([1,0,4]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ColorPickerModel=void 0;class m{constructor(I,w,b){this.presentationIndex=b,this._onColorFlushed=new L.Emitter,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new L.Emitter,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new L.Emitter,this.onDidChangePresentation=this._onDidChangePresentation.event,this.originalColor=I,this._color=I,this._colorPresentations=w}get color(){return this._color}set color(I){this._color.equals(I)||(this._color=I,this._onDidChangeColor.fire(I))}get presentation(){return this.colorPresentations[this.presentationIndex]}get colorPresentations(){return this._colorPresentations}set colorPresentations(I){this._colorPresentations=I,this.presentationIndex>I.length-1&&(this.presentationIndex=0),this._onDidChangePresentation.fire(this.presentation)}selectNextColorPresentation(){this.presentationIndex=(this.presentationIndex+1)%this.colorPresentations.length,this.flushColor(),this._onDidChangePresentation.fire(this.presentation)}guessColorPresentation(I,w){for(let b=0;b<this.colorPresentations.length;b++)if(w.toLowerCase()===this.colorPresentations[b].label){this.presentationIndex=b,this._onDidChangePresentation.fire(this.presentation);break}}flushColor(){this._onColorFlushed.fire(this._color)}}e.ColorPickerModel=m}),define(te[257],ie([1,0,63,11,3,22]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BlockCommentCommand=void 0;class w{constructor(C,u,g){this.languageConfigurationService=g,this._selection=C,this._insertSpace=u,this._usedEndToken=null}static _haystackHasNeedleAtOffset(C,u,g){if(g<0)return!1;const t=u.length,n=C.length;if(g+t>n)return!1;for(let i=0;i<t;i++){const o=C.charCodeAt(g+i),c=u.charCodeAt(i);if(o!==c&&!(o>=65&&o<=90&&o+32===c)&&!(c>=65&&c<=90&&c+32===o))return!1}return!0}_createOperationsForBlockComment(C,u,g,t,n,i){const o=C.startLineNumber,c=C.startColumn,d=C.endLineNumber,r=C.endColumn,s=n.getLineContent(o),a=n.getLineContent(d);let l=s.lastIndexOf(u,c-1+u.length),h=a.indexOf(g,r-1-g.length);if(l!==-1&&h!==-1)if(o===d)s.substring(l+u.length,h).indexOf(g)>=0&&(l=-1,h=-1);else{const S=s.substring(l+u.length),v=a.substring(0,h);(S.indexOf(g)>=0||v.indexOf(g)>=0)&&(l=-1,h=-1)}let f;l!==-1&&h!==-1?(t&&l+u.length<s.length&&s.charCodeAt(l+u.length)===32&&(u=u+" "),t&&h>0&&a.charCodeAt(h-1)===32&&(g=" "+g,h-=1),f=w._createRemoveBlockCommentOperations(new k.Range(o,l+u.length+1,d,h+1),u,g)):(f=w._createAddBlockCommentOperations(C,u,g,this._insertSpace),this._usedEndToken=f.length===1?g:null);for(const S of f)i.addTrackedEditOperation(S.range,S.text)}static _createRemoveBlockCommentOperations(C,u,g){let t=[];return k.Range.isEmpty(C)?t.push(L.EditOperation.delete(new k.Range(C.startLineNumber,C.startColumn-u.length,C.endLineNumber,C.endColumn+g.length))):(t.push(L.EditOperation.delete(new k.Range(C.startLineNumber,C.startColumn-u.length,C.startLineNumber,C.startColumn))),t.push(L.EditOperation.delete(new k.Range(C.endLineNumber,C.endColumn,C.endLineNumber,C.endColumn+g.length)))),t}static _createAddBlockCommentOperations(C,u,g,t){let n=[];return k.Range.isEmpty(C)?n.push(L.EditOperation.replace(new k.Range(C.startLineNumber,C.startColumn,C.endLineNumber,C.endColumn),u+"  "+g)):(n.push(L.EditOperation.insert(new m.Position(C.startLineNumber,C.startColumn),u+(t?" ":""))),n.push(L.EditOperation.insert(new m.Position(C.endLineNumber,C.endColumn),(t?" ":"")+g))),n}getEditOperations(C,u){const g=this._selection.startLineNumber,t=this._selection.startColumn;C.tokenizeIfCheap(g);const n=C.getLanguageIdAtPosition(g,t),i=this.languageConfigurationService.getLanguageConfiguration(n).comments;!i||!i.blockCommentStartToken||!i.blockCommentEndToken||this._createOperationsForBlockComment(this._selection,i.blockCommentStartToken,i.blockCommentEndToken,this._insertSpace,C,u)}computeCursorState(C,u){const g=u.getInverseEditOperations();if(g.length===2){const t=g[0],n=g[1];return new I.Selection(t.range.endLineNumber,t.range.endColumn,n.range.startLineNumber,n.range.startColumn)}else{const t=g[0].range,n=this._usedEndToken?-this._usedEndToken.length-1:0;return new I.Selection(t.endLineNumber,t.endColumn+n,t.endLineNumber,t.endColumn+n)}}}e.BlockCommentCommand=w}),define(te[460],ie([1,0,3,22]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DragAndDropCommand=void 0;class k{constructor(w,b,C){this.selection=w,this.targetPosition=b,this.copy=C,this.targetSelection=null}getEditOperations(w,b){let C=w.getValueInRange(this.selection);if(this.copy||b.addEditOperation(this.selection,null),b.addEditOperation(new L.Range(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column),C),this.selection.containsPosition(this.targetPosition)&&!(this.copy&&(this.selection.getEndPosition().equals(this.targetPosition)||this.selection.getStartPosition().equals(this.targetPosition)))){this.targetSelection=this.selection;return}if(this.copy){this.targetSelection=new m.Selection(this.targetPosition.lineNumber,this.targetPosition.column,this.selection.endLineNumber-this.selection.startLineNumber+this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}if(this.targetPosition.lineNumber>this.selection.endLineNumber){this.targetSelection=new m.Selection(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}if(this.targetPosition.lineNumber<this.selection.endLineNumber){this.targetSelection=new m.Selection(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber+this.selection.endLineNumber-this.selection.startLineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}this.selection.endColumn<=this.targetPosition.column?this.targetSelection=new m.Selection(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column-this.selection.endColumn+this.selection.startColumn:this.targetPosition.column-this.selection.endColumn+this.selection.startColumn,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column:this.selection.endColumn):this.targetSelection=new m.Selection(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column+this.selection.endColumn-this.selection.startColumn)}computeCursorState(w,b){return this.targetSelection}}e.DragAndDropCommand=k}),define(te[461],ie([1,0,3]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ReplaceAllCommand=void 0;class m{constructor(I,w,b){this._editorSelection=I,this._ranges=w,this._replaceStrings=b,this._trackedEditorSelectionId=null}getEditOperations(I,w){if(this._ranges.length>0){let b=[];for(let g=0;g<this._ranges.length;g++)b.push({range:this._ranges[g],text:this._replaceStrings[g]});b.sort((g,t)=>L.Range.compareRangesUsingStarts(g.range,t.range));let C=[],u=b[0];for(let g=1;g<b.length;g++)u.range.endLineNumber===b[g].range.startLineNumber&&u.range.endColumn===b[g].range.startColumn?(u.range=u.range.plusRange(b[g].range),u.text=u.text+b[g].text):(C.push(u),u=b[g]);C.push(u);for(const g of C)w.addEditOperation(g.range,g.text)}this._trackedEditorSelectionId=w.trackSelection(this._editorSelection)}computeCursorState(I,w){return w.getTrackedSelection(this._trackedEditorSelectionId)}}e.ReplaceAllCommand=m}),define(te[462],ie([1,0,323]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.parseReplaceString=e.ReplacePiece=e.ReplacePattern=void 0;class m{constructor(g){this.staticValue=g,this.kind=0}}class k{constructor(g){this.pieces=g,this.kind=1}}class I{constructor(g){!g||g.length===0?this._state=new m(""):g.length===1&&g[0].staticValue!==null?this._state=new m(g[0].staticValue):this._state=new k(g)}static fromStaticValue(g){return new I([w.staticValue(g)])}get hasReplacementPatterns(){return this._state.kind===1}buildReplaceString(g,t){if(this._state.kind===0)return t?(0,L.buildReplaceStringWithCasePreserved)(g,this._state.staticValue):this._state.staticValue;let n="";for(let i=0,o=this._state.pieces.length;i<o;i++){let c=this._state.pieces[i];if(c.staticValue!==null){n+=c.staticValue;continue}let d=I._substitute(c.matchIndex,g);if(c.caseOps!==null&&c.caseOps.length>0){let r=[],s=c.caseOps.length,a=0;for(let l=0,h=d.length;l<h;l++){if(a>=s){r.push(d.slice(l));break}switch(c.caseOps[a]){case"U":r.push(d[l].toUpperCase());break;case"u":r.push(d[l].toUpperCase()),a++;break;case"L":r.push(d[l].toLowerCase());break;case"l":r.push(d[l].toLowerCase()),a++;break;default:r.push(d[l])}}d=r.join("")}n+=d}return n}static _substitute(g,t){if(t===null)return"";if(g===0)return t[0];let n="";for(;g>0;){if(g<t.length)return(t[g]||"")+n;n=String(g%10)+n,g=Math.floor(g/10)}return"$"+n}}e.ReplacePattern=I;class w{constructor(g,t,n){this.staticValue=g,this.matchIndex=t,!n||n.length===0?this.caseOps=null:this.caseOps=n.slice(0)}static staticValue(g){return new w(g,-1,null)}static caseOps(g,t){return new w(null,g,t)}}e.ReplacePiece=w;class b{constructor(g){this._source=g,this._lastCharIndex=0,this._result=[],this._resultLen=0,this._currentStaticPiece=""}emitUnchanged(g){this._emitStatic(this._source.substring(this._lastCharIndex,g)),this._lastCharIndex=g}emitStatic(g,t){this._emitStatic(g),this._lastCharIndex=t}_emitStatic(g){g.length!==0&&(this._currentStaticPiece+=g)}emitMatchIndex(g,t,n){this._currentStaticPiece.length!==0&&(this._result[this._resultLen++]=w.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),this._result[this._resultLen++]=w.caseOps(g,n),this._lastCharIndex=t}finalize(){return this.emitUnchanged(this._source.length),this._currentStaticPiece.length!==0&&(this._result[this._resultLen++]=w.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),new I(this._result)}}function C(u){if(!u||u.length===0)return new I(null);let g=[],t=new b(u);for(let n=0,i=u.length;n<i;n++){let o=u.charCodeAt(n);if(o===92){if(n++,n>=i)break;let c=u.charCodeAt(n);switch(c){case 92:t.emitUnchanged(n-1),t.emitStatic("\\",n+1);break;case 110:t.emitUnchanged(n-1),t.emitStatic(`
+`,n+1);break;case 116:t.emitUnchanged(n-1),t.emitStatic("	",n+1);break;case 117:case 85:case 108:case 76:t.emitUnchanged(n-1),t.emitStatic("",n+1),g.push(String.fromCharCode(c));break}continue}if(o===36){if(n++,n>=i)break;let c=u.charCodeAt(n);if(c===36){t.emitUnchanged(n-1),t.emitStatic("$",n+1);continue}if(c===48||c===38){t.emitUnchanged(n-1),t.emitMatchIndex(0,n+1,g),g.length=0;continue}if(49<=c&&c<=57){let d=c-48;if(n+1<i){let r=u.charCodeAt(n+1);if(48<=r&&r<=57){n++,d=d*10+(r-48),t.emitUnchanged(n-2),t.emitMatchIndex(d,n+1,g),g.length=0;continue}}t.emitUnchanged(n-1),t.emitMatchIndex(d,n+1,g),g.length=0;continue}}}return t.finalize()}e.parseReplaceString=C}),define(te[191],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FoldingRegion=e.FoldingRegions=e.MAX_LINE_NUMBER=e.MAX_FOLDING_REGIONS=void 0,e.MAX_FOLDING_REGIONS=65535,e.MAX_LINE_NUMBER=16777215;const L=4278190080;class m{constructor(w,b,C){if(w.length!==b.length||w.length>e.MAX_FOLDING_REGIONS)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=w,this._endIndexes=b,this._collapseStates=new Uint32Array(Math.ceil(w.length/32)),this._types=C,this._parentsComputed=!1}ensureParentIndices(){if(!this._parentsComputed){this._parentsComputed=!0;let w=[],b=(C,u)=>{let g=w[w.length-1];return this.getStartLineNumber(g)<=C&&this.getEndLineNumber(g)>=u};for(let C=0,u=this._startIndexes.length;C<u;C++){let g=this._startIndexes[C],t=this._endIndexes[C];if(g>e.MAX_LINE_NUMBER||t>e.MAX_LINE_NUMBER)throw new Error("startLineNumber or endLineNumber must not exceed "+e.MAX_LINE_NUMBER);for(;w.length>0&&!b(g,t);)w.pop();let n=w.length>0?w[w.length-1]:-1;w.push(C),this._startIndexes[C]=g+((n&255)<<24),this._endIndexes[C]=t+((n&65280)<<16)}}}get length(){return this._startIndexes.length}getStartLineNumber(w){return this._startIndexes[w]&e.MAX_LINE_NUMBER}getEndLineNumber(w){return this._endIndexes[w]&e.MAX_LINE_NUMBER}getType(w){return this._types?this._types[w]:void 0}hasTypes(){return!!this._types}isCollapsed(w){let b=w/32|0,C=w%32;return(this._collapseStates[b]&1<<C)!=0}setCollapsed(w,b){let C=w/32|0,u=w%32,g=this._collapseStates[C];b?this._collapseStates[C]=g|1<<u:this._collapseStates[C]=g&~(1<<u)}setCollapsedAllOfType(w,b){let C=!1;if(this._types)for(let u=0;u<this._types.length;u++)this._types[u]===w&&(this.setCollapsed(u,b),C=!0);return C}toRegion(w){return new k(this,w)}getParentIndex(w){this.ensureParentIndices();let b=((this._startIndexes[w]&L)>>>24)+((this._endIndexes[w]&L)>>>16);return b===e.MAX_FOLDING_REGIONS?-1:b}contains(w,b){return this.getStartLineNumber(w)<=b&&this.getEndLineNumber(w)>=b}findIndex(w){let b=0,C=this._startIndexes.length;if(C===0)return-1;for(;b<C;){let u=Math.floor((b+C)/2);w<this.getStartLineNumber(u)?C=u:b=u+1}return b-1}findRange(w){let b=this.findIndex(w);if(b>=0){if(this.getEndLineNumber(b)>=w)return b;for(b=this.getParentIndex(b);b!==-1;){if(this.contains(b,w))return b;b=this.getParentIndex(b)}}return-1}toString(){let w=[];for(let b=0;b<this.length;b++)w[b]=`[${this.isCollapsed(b)?"+":"-"}] ${this.getStartLineNumber(b)}/${this.getEndLineNumber(b)}`;return w.join(", ")}}e.FoldingRegions=m;class k{constructor(w,b){this.ranges=w,this.index=b}get startLineNumber(){return this.ranges.getStartLineNumber(this.index)}get endLineNumber(){return this.ranges.getEndLineNumber(this.index)}get regionIndex(){return this.index}get parentIndex(){return this.ranges.getParentIndex(this.index)}get isCollapsed(){return this.ranges.isCollapsed(this.index)}containedBy(w){return w.startLineNumber<=this.startLineNumber&&w.endLineNumber>=this.endLineNumber}containsLine(w){return this.startLineNumber<=w&&w<=this.endLineNumber}}e.FoldingRegion=k}),define(te[463],ie([1,0,4,191]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getNextFoldLine=e.getPreviousFoldLine=e.getParentFoldLine=e.setCollapseStateForType=e.setCollapseStateForMatchingLines=e.setCollapseStateForRest=e.setCollapseStateAtLevel=e.setCollapseStateUp=e.setCollapseStateLevelsUp=e.setCollapseStateLevelsDown=e.toggleCollapseState=e.FoldingModel=void 0;class k{constructor(r,s){this._updateEventEmitter=new L.Emitter,this.onDidChange=this._updateEventEmitter.event,this._textModel=r,this._decorationProvider=s,this._regions=new m.FoldingRegions(new Uint32Array(0),new Uint32Array(0)),this._editorDecorationIds=[],this._isInitialized=!1}get regions(){return this._regions}get textModel(){return this._textModel}get isInitialized(){return this._isInitialized}toggleCollapseState(r){if(!r.length)return;r=r.sort((a,l)=>a.regionIndex-l.regionIndex);const s={};this._decorationProvider.changeDecorations(a=>{let l=0,h=-1,f=-1;const S=v=>{for(;l<v;){const p=this._regions.getEndLineNumber(l),_=this._regions.isCollapsed(l);p<=h&&a.changeDecorationOptions(this._editorDecorationIds[l],this._decorationProvider.getDecorationOption(_,p<=f)),_&&p>f&&(f=p),l++}};for(let v of r){let p=v.regionIndex,_=this._editorDecorationIds[p];if(_&&!s[_]){s[_]=!0,S(p);let y=!this._regions.isCollapsed(p);this._regions.setCollapsed(p,y),h=Math.max(h,this._regions.getEndLineNumber(p))}}S(this._regions.length)}),this._updateEventEmitter.fire({model:this,collapseStateChanged:r})}update(r,s=[]){let a=[],l=(y,E)=>{for(let N of s)if(y<N&&N<=E)return!0;return!1},h=-1,f=(y,E)=>{const N=r.getStartLineNumber(y),D=r.getEndLineNumber(y);E||(E=r.isCollapsed(y)),E&&l(N,D)&&(E=!1),r.setCollapsed(y,E);const M=this._textModel.getLineMaxColumn(N),B={startLineNumber:N,startColumn:Math.max(M-1,1),endLineNumber:N,endColumn:M};a.push({range:B,options:this._decorationProvider.getDecorationOption(E,D<=h)}),E&&D>h&&(h=D)},S=0,v=()=>{for(;S<this._regions.length;){let y=this._regions.isCollapsed(S);if(S++,y)return S-1}return-1},p=0,_=v();for(;_!==-1&&p<r.length;){let y=this._textModel.getDecorationRange(this._editorDecorationIds[_]);if(y){let E=y.startLineNumber;if(y.startColumn===Math.max(y.endColumn-1,1)&&this._textModel.getLineMaxColumn(E)===y.endColumn)for(;p<r.length;){let N=r.getStartLineNumber(p);if(E>=N)f(p,E===N),p++;else break}}_=v()}for(;p<r.length;)f(p,!1),p++;this._editorDecorationIds=this._decorationProvider.deltaDecorations(this._editorDecorationIds,a),this._regions=r,this._isInitialized=!0,this._updateEventEmitter.fire({model:this})}getMemento(){let r=[];for(let s=0;s<this._regions.length;s++)if(this._regions.isCollapsed(s)){let a=this._textModel.getDecorationRange(this._editorDecorationIds[s]);if(a){let l=a.startLineNumber,h=a.endLineNumber+this._regions.getEndLineNumber(s)-this._regions.getStartLineNumber(s);r.push({startLineNumber:l,endLineNumber:h})}}if(r.length>0)return r}applyMemento(r){if(!Array.isArray(r))return;let s=[];for(let a of r){let l=this.getRegionAtLine(a.startLineNumber);l&&!l.isCollapsed&&s.push(l)}this.toggleCollapseState(s)}dispose(){this._decorationProvider.deltaDecorations(this._editorDecorationIds,[])}getAllRegionsAtLine(r,s){let a=[];if(this._regions){let l=this._regions.findRange(r),h=1;for(;l>=0;){let f=this._regions.toRegion(l);(!s||s(f,h))&&a.push(f),h++,l=f.parentIndex}}return a}getRegionAtLine(r){if(this._regions){let s=this._regions.findRange(r);if(s>=0)return this._regions.toRegion(s)}return null}getRegionsInside(r,s){let a=[],l=r?r.regionIndex+1:0,h=r?r.endLineNumber:Number.MAX_VALUE;if(s&&s.length===2){const f=[];for(let S=l,v=this._regions.length;S<v;S++){let p=this._regions.toRegion(S);if(this._regions.getStartLineNumber(S)<h){for(;f.length>0&&!p.containedBy(f[f.length-1]);)f.pop();f.push(p),s(p,f.length)&&a.push(p)}else break}}else for(let f=l,S=this._regions.length;f<S;f++){let v=this._regions.toRegion(f);if(this._regions.getStartLineNumber(f)<h)(!s||s(v))&&a.push(v);else break}return a}}e.FoldingModel=k;function I(d,r,s){let a=[];for(let l of s){let h=d.getRegionAtLine(l);if(h){const f=!h.isCollapsed;if(a.push(h),r>1){let S=d.getRegionsInside(h,(v,p)=>v.isCollapsed!==f&&p<r);a.push(...S)}}}d.toggleCollapseState(a)}e.toggleCollapseState=I;function w(d,r,s=Number.MAX_VALUE,a){let l=[];if(a&&a.length>0)for(let h of a){let f=d.getRegionAtLine(h);if(f&&(f.isCollapsed!==r&&l.push(f),s>1)){let S=d.getRegionsInside(f,(v,p)=>v.isCollapsed!==r&&p<s);l.push(...S)}}else{let h=d.getRegionsInside(null,(f,S)=>f.isCollapsed!==r&&S<s);l.push(...h)}d.toggleCollapseState(l)}e.setCollapseStateLevelsDown=w;function b(d,r,s,a){let l=[];for(let h of a){let f=d.getAllRegionsAtLine(h,(S,v)=>S.isCollapsed!==r&&v<=s);l.push(...f)}d.toggleCollapseState(l)}e.setCollapseStateLevelsUp=b;function C(d,r,s){let a=[];for(let l of s){let h=d.getAllRegionsAtLine(l,f=>f.isCollapsed!==r);h.length>0&&a.push(h[0])}d.toggleCollapseState(a)}e.setCollapseStateUp=C;function u(d,r,s,a){let l=(f,S)=>S===r&&f.isCollapsed!==s&&!a.some(v=>f.containsLine(v)),h=d.getRegionsInside(null,l);d.toggleCollapseState(h)}e.setCollapseStateAtLevel=u;function g(d,r,s){let a=[];for(let f of s){const S=d.getAllRegionsAtLine(f,void 0);S.length>0&&a.push(S[0])}let l=f=>a.every(S=>!S.containedBy(f)&&!f.containedBy(S))&&f.isCollapsed!==r,h=d.getRegionsInside(null,l);d.toggleCollapseState(h)}e.setCollapseStateForRest=g;function t(d,r,s){let a=d.textModel,l=d.regions,h=[];for(let f=l.length-1;f>=0;f--)if(s!==l.isCollapsed(f)){let S=l.getStartLineNumber(f);r.test(a.getLineContent(S))&&h.push(l.toRegion(f))}d.toggleCollapseState(h)}e.setCollapseStateForMatchingLines=t;function n(d,r,s){let a=d.regions,l=[];for(let h=a.length-1;h>=0;h--)s!==a.isCollapsed(h)&&r===a.getType(h)&&l.push(a.toRegion(h));d.toggleCollapseState(l)}e.setCollapseStateForType=n;function i(d,r){let s=null,a=r.getRegionAtLine(d);if(a!==null&&(s=a.startLineNumber,d===s)){let l=a.parentIndex;l!==-1?s=r.regions.getStartLineNumber(l):s=null}return s}e.getParentFoldLine=i;function o(d,r){let s=r.getRegionAtLine(d);if(s!==null&&s.startLineNumber===d){if(d!==s.startLineNumber)return s.startLineNumber;{let a=s.parentIndex,l=0;for(a!==-1&&(l=r.regions.getStartLineNumber(s.parentIndex));s!==null;)if(s.regionIndex>0){if(s=r.regions.toRegion(s.regionIndex-1),s.startLineNumber<=l)return null;if(s.parentIndex===a)return s.startLineNumber}else return null}}else if(r.regions.length>0)for(s=r.regions.toRegion(r.regions.length-1);s!==null;){if(s.startLineNumber<d)return s.startLineNumber;s.regionIndex>0?s=r.regions.toRegion(s.regionIndex-1):s=null}return null}e.getPreviousFoldLine=o;function c(d,r){let s=r.getRegionAtLine(d);if(s!==null&&s.startLineNumber===d){let a=s.parentIndex,l=0;if(a!==-1)l=r.regions.getEndLineNumber(s.parentIndex);else{if(r.regions.length===0)return null;l=r.regions.getEndLineNumber(r.regions.length-1)}for(;s!==null;)if(s.regionIndex<r.regions.length){if(s=r.regions.toRegion(s.regionIndex+1),s.startLineNumber>=l)return null;if(s.parentIndex===a)return s.startLineNumber}else return null}else if(r.regions.length>0)for(s=r.regions.toRegion(0);s!==null;){if(s.startLineNumber>d)return s.startLineNumber;s.regionIndex<r.regions.length?s=r.regions.toRegion(s.regionIndex+1):s=null}return null}e.getNextFoldLine=c}),define(te[464],ie([1,0,18,4,3,119]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.HiddenRangeModel=void 0;class w{constructor(g){this._updateEventEmitter=new m.Emitter,this._hasLineChanges=!1,this._foldingModel=g,this._foldingModelListener=g.onDidChange(t=>this.updateHiddenRanges()),this._hiddenRanges=[],g.regions.length&&this.updateHiddenRanges()}get onDidChange(){return this._updateEventEmitter.event}get hiddenRanges(){return this._hiddenRanges}notifyChangeModelContent(g){this._hiddenRanges.length&&!this._hasLineChanges&&(this._hasLineChanges=g.changes.some(t=>t.range.endLineNumber!==t.range.startLineNumber||(0,I.countEOL)(t.text)[0]!==0))}updateHiddenRanges(){let g=!1,t=[],n=0,i=0,o=Number.MAX_VALUE,c=-1,d=this._foldingModel.regions;for(;n<d.length;n++){if(!d.isCollapsed(n))continue;let r=d.getStartLineNumber(n)+1,s=d.getEndLineNumber(n);o<=r&&s<=c||(!g&&i<this._hiddenRanges.length&&this._hiddenRanges[i].startLineNumber===r&&this._hiddenRanges[i].endLineNumber===s?(t.push(this._hiddenRanges[i]),i++):(g=!0,t.push(new k.Range(r,1,s,1))),o=r,c=s)}(this._hasLineChanges||g||i<this._hiddenRanges.length)&&this.applyHiddenRanges(t)}applyMemento(g){if(!Array.isArray(g)||g.length===0)return!1;let t=[];for(let n of g){if(!n.startLineNumber||!n.endLineNumber)return!1;t.push(new k.Range(n.startLineNumber+1,1,n.endLineNumber,1))}return this.applyHiddenRanges(t),!0}getMemento(){return this._hiddenRanges.map(g=>({startLineNumber:g.startLineNumber-1,endLineNumber:g.endLineNumber}))}applyHiddenRanges(g){this._hiddenRanges=g,this._hasLineChanges=!1,this._updateEventEmitter.fire(g)}hasRanges(){return this._hiddenRanges.length>0}isHidden(g){return C(this._hiddenRanges,g)!==null}adjustSelections(g){let t=!1,n=this._foldingModel.textModel,i=null,o=c=>((!i||!b(c,i))&&(i=C(this._hiddenRanges,c)),i?i.startLineNumber-1:null);for(let c=0,d=g.length;c<d;c++){let r=g[c],s=o(r.startLineNumber);s&&(r=r.setStartPosition(s,n.getLineMaxColumn(s)),t=!0);let a=o(r.endLineNumber);a&&(r=r.setEndPosition(a,n.getLineMaxColumn(a)),t=!0),g[c]=r}return t}dispose(){this.hiddenRanges.length>0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&(this._foldingModelListener.dispose(),this._foldingModelListener=null)}}e.HiddenRangeModel=w;function b(u,g){return u>=g.startLineNumber&&u<=g.endLineNumber}function C(u,g){let t=(0,L.findFirstInSorted)(u,n=>g<n.startLineNumber)-1;return t>=0&&u[t].endLineNumber>=g?u[t]:null}}),define(te[465],ie([1,0,184,191]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.computeRanges=e.RangesCollector=e.IndentRangeProvider=e.ID_INDENT_PROVIDER=void 0;const k=5e3;e.ID_INDENT_PROVIDER="indent";class I{constructor(u,g,t){this.editorModel=u,this.languageConfigurationService=g,this.maxFoldingRegions=t,this.id=e.ID_INDENT_PROVIDER}dispose(){}compute(u,g){let t=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules,n=t&&!!t.offSide,i=t&&t.markers;return Promise.resolve(b(this.editorModel,n,i,this.maxFoldingRegions,g))}}e.IndentRangeProvider=I;class w{constructor(u,g){this._notifyTooManyRegions=g,this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=u}insertFirst(u,g,t){if(u>m.MAX_LINE_NUMBER||g>m.MAX_LINE_NUMBER)return;let n=this._length;this._startIndexes[n]=u,this._endIndexes[n]=g,this._length++,t<1e3&&(this._indentOccurrences[t]=(this._indentOccurrences[t]||0)+1)}toIndentRanges(u){if(this._length<=this._foldingRangesLimit){let g=new Uint32Array(this._length),t=new Uint32Array(this._length);for(let n=this._length-1,i=0;n>=0;n--,i++)g[i]=this._startIndexes[n],t[i]=this._endIndexes[n];return new m.FoldingRegions(g,t)}else{this._notifyTooManyRegions&&this._notifyTooManyRegions(this._foldingRangesLimit);let g=0,t=this._indentOccurrences.length;for(let c=0;c<this._indentOccurrences.length;c++){let d=this._indentOccurrences[c];if(d){if(d+g>this._foldingRangesLimit){t=c;break}g+=d}}const n=u.getOptions().tabSize;let i=new Uint32Array(this._foldingRangesLimit),o=new Uint32Array(this._foldingRangesLimit);for(let c=this._length-1,d=0;c>=0;c--){let r=this._startIndexes[c],s=u.getLineContent(r),a=(0,L.computeIndentLevel)(s,n);(a<t||a===t&&g++<this._foldingRangesLimit)&&(i[d]=r,o[d]=this._endIndexes[c],d++)}return new m.FoldingRegions(i,o)}}}e.RangesCollector=w;function b(C,u,g,t,n){const i=C.getOptions().tabSize;t=t??k;let o=new w(t,n),c;g&&(c=new RegExp(`(${g.start.source})|(?:${g.end.source})`));let d=[],r=C.getLineCount()+1;d.push({indent:-1,endAbove:r,line:r});for(let s=C.getLineCount();s>0;s--){let a=C.getLineContent(s),l=(0,L.computeIndentLevel)(a,i),h=d[d.length-1];if(l===-1){u&&(h.endAbove=s);continue}let f;if(c&&(f=a.match(c)))if(f[1]){let S=d.length-1;for(;S>0&&d[S].indent!==-2;)S--;if(S>0){d.length=S+1,h=d[S],o.insertFirst(s,h.line,l),h.line=s,h.indent=l,h.endAbove=s;continue}}else{d.push({indent:-2,endAbove:s,line:s});continue}if(h.indent>l){do d.pop(),h=d[d.length-1];while(h.indent>l);let S=h.endAbove-1;S-s>=1&&o.insertFirst(s,S,l)}h.indent===l?h.endAbove=s:d.push({indent:l,endAbove:s,line:s})}return o.toIndentRanges(C)}e.computeRanges=b}),define(te[258],ie([1,0,13,2,191]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.sanitizeRanges=e.RangesCollector=e.SyntaxRangeProvider=e.ID_SYNTAX_PROVIDER=void 0;const I={};e.ID_SYNTAX_PROVIDER="syntax";class w{constructor(t,n,i,o){this.editorModel=t,this.providers=n,this.limit=o,this.id=e.ID_SYNTAX_PROVIDER;for(const c of n)typeof c.onDidChange=="function"&&(this.disposables||(this.disposables=new m.DisposableStore),this.disposables.add(c.onDidChange(i)))}compute(t,n){return b(this.providers,this.editorModel,t).then(i=>i?u(i,this.limit,n):null)}dispose(){var t;(t=this.disposables)===null||t===void 0||t.dispose()}}e.SyntaxRangeProvider=w;function b(g,t,n){let i=null,o=g.map((c,d)=>Promise.resolve(c.provideFoldingRanges(t,I,n)).then(r=>{if(!n.isCancellationRequested&&Array.isArray(r)){Array.isArray(i)||(i=[]);let s=t.getLineCount();for(let a of r)a.start>0&&a.end>a.start&&a.end<=s&&i.push({start:a.start,end:a.end,rank:d,kind:a.kind})}},L.onUnexpectedExternalError));return Promise.all(o).then(c=>i)}class C{constructor(t,n){this._notifyTooManyRegions=n,this._startIndexes=[],this._endIndexes=[],this._nestingLevels=[],this._nestingLevelCounts=[],this._types=[],this._length=0,this._foldingRangesLimit=t}add(t,n,i,o){if(t>k.MAX_LINE_NUMBER||n>k.MAX_LINE_NUMBER)return;let c=this._length;this._startIndexes[c]=t,this._endIndexes[c]=n,this._nestingLevels[c]=o,this._types[c]=i,this._length++,o<30&&(this._nestingLevelCounts[o]=(this._nestingLevelCounts[o]||0)+1)}toIndentRanges(){if(this._length<=this._foldingRangesLimit){let t=new Uint32Array(this._length),n=new Uint32Array(this._length);for(let i=0;i<this._length;i++)t[i]=this._startIndexes[i],n[i]=this._endIndexes[i];return new k.FoldingRegions(t,n,this._types)}else{this._notifyTooManyRegions&&this._notifyTooManyRegions(this._foldingRangesLimit);let t=0,n=this._nestingLevelCounts.length;for(let d=0;d<this._nestingLevelCounts.length;d++){let r=this._nestingLevelCounts[d];if(r){if(r+t>this._foldingRangesLimit){n=d;break}t+=r}}let i=new Uint32Array(this._foldingRangesLimit),o=new Uint32Array(this._foldingRangesLimit),c=[];for(let d=0,r=0;d<this._length;d++){let s=this._nestingLevels[d];(s<n||s===n&&t++<this._foldingRangesLimit)&&(i[r]=this._startIndexes[d],o[r]=this._endIndexes[d],c[r]=this._types[d],r++)}return new k.FoldingRegions(i,o,c)}}}e.RangesCollector=C;function u(g,t,n){let i=g.sort((r,s)=>{let a=r.start-s.start;return a===0&&(a=r.rank-s.rank),a}),o=new C(t,n),c,d=[];for(let r of i)if(!c)c=r,o.add(r.start,r.end,r.kind&&r.kind.value,d.length);else if(r.start>c.start)if(r.end<=c.end)d.push(c),c=r,o.add(r.start,r.end,r.kind&&r.kind.value,d.length);else{if(r.start>c.end){do c=d.pop();while(c&&r.start>c.end);c&&d.push(c),c=r}o.add(r.start,r.end,r.kind&&r.kind.value,d.length)}return o.toIndentRanges()}e.sanitizeRanges=u}),define(te[466],ie([1,0,258]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InitializingRangeProvider=e.ID_INIT_PROVIDER=void 0,e.ID_INIT_PROVIDER="init";class m{constructor(I,w,b,C){if(this.editorModel=I,this.id=e.ID_INIT_PROVIDER,w.length){let u=g=>({range:{startLineNumber:g.startLineNumber,startColumn:0,endLineNumber:g.endLineNumber,endColumn:I.getLineLength(g.endLineNumber)},options:{description:"folding-initializing-range-provider",stickiness:1}});this.decorationIds=I.deltaDecorations([],w.map(u)),this.timeout=setTimeout(b,C)}}dispose(){this.decorationIds&&(this.editorModel.deltaDecorations(this.decorationIds,[]),this.decorationIds=void 0),typeof this.timeout=="number"&&(clearTimeout(this.timeout),this.timeout=void 0)}compute(I){let w=[];if(this.decorationIds)for(let b of this.decorationIds){let C=this.editorModel.getDecorationRange(b);C&&w.push({start:C.startLineNumber,end:C.endLineNumber,rank:1})}return Promise.resolve((0,L.sanitizeRanges)(w,Number.MAX_VALUE))}}e.InitializingRangeProvider=m}),define(te[259],ie([1,0,63,3]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FormattingEdit=void 0;class k{static _handleEolEdits(w,b){let C,u=[];for(let g of b)typeof g.eol=="number"&&(C=g.eol),g.range&&typeof g.text=="string"&&u.push(g);return typeof C=="number"&&w.hasModel()&&w.getModel().pushEOL(C),u}static _isFullModelReplaceEdit(w,b){if(!w.hasModel())return!1;const C=w.getModel(),u=C.validateRange(b.range);return C.getFullModelRange().equalsRange(u)}static execute(w,b,C){C&&w.pushUndoStop();const u=k._handleEolEdits(w,b);u.length===1&&k._isFullModelReplaceEdit(w,u[0])?w.executeEdits("formatEditsCommand",u.map(g=>L.EditOperation.replace(m.Range.lift(g.range),g.text))):w.executeEdits("formatEditsCommand",u.map(g=>L.EditOperation.replaceMove(m.Range.lift(g.range),g.text))),C&&w.pushUndoStop()}}e.FormattingEdit=k}),define(te[192],ie([1,0,4,2,16]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ClickLinkGesture=e.ClickLinkOptions=e.ClickLinkKeyboardEvent=e.ClickLinkMouseEvent=void 0;function I(t,n){return!!t[n]}class w{constructor(n,i){this.target=n.target,this.hasTriggerModifier=I(n.event,i.triggerModifier),this.hasSideBySideModifier=I(n.event,i.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=n.event.detail<=1}}e.ClickLinkMouseEvent=w;class b{constructor(n,i){this.keyCodeIsTriggerKey=n.keyCode===i.triggerKey,this.keyCodeIsSideBySideKey=n.keyCode===i.triggerSideBySideKey,this.hasTriggerModifier=I(n,i.triggerModifier)}}e.ClickLinkKeyboardEvent=b;class C{constructor(n,i,o,c){this.triggerKey=n,this.triggerModifier=i,this.triggerSideBySideKey=o,this.triggerSideBySideModifier=c}equals(n){return this.triggerKey===n.triggerKey&&this.triggerModifier===n.triggerModifier&&this.triggerSideBySideKey===n.triggerSideBySideKey&&this.triggerSideBySideModifier===n.triggerSideBySideModifier}}e.ClickLinkOptions=C;function u(t){return t==="altKey"?k.isMacintosh?new C(57,"metaKey",6,"altKey"):new C(5,"ctrlKey",6,"altKey"):k.isMacintosh?new C(6,"altKey",57,"metaKey"):new C(6,"altKey",5,"ctrlKey")}class g extends m.Disposable{constructor(n){super();this._onMouseMoveOrRelevantKeyDown=this._register(new L.Emitter),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new L.Emitter),this.onExecute=this._onExecute.event,this._onCancel=this._register(new L.Emitter),this.onCancel=this._onCancel.event,this._editor=n,this._opts=u(this._editor.getOption(70)),this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._register(this._editor.onDidChangeConfiguration(i=>{if(i.hasChanged(70)){const o=u(this._editor.getOption(70));if(this._opts.equals(o))return;this._opts=o,this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._onCancel.fire()}})),this._register(this._editor.onMouseMove(i=>this._onEditorMouseMove(new w(i,this._opts)))),this._register(this._editor.onMouseDown(i=>this._onEditorMouseDown(new w(i,this._opts)))),this._register(this._editor.onMouseUp(i=>this._onEditorMouseUp(new w(i,this._opts)))),this._register(this._editor.onKeyDown(i=>this._onEditorKeyDown(new b(i,this._opts)))),this._register(this._editor.onKeyUp(i=>this._onEditorKeyUp(new b(i,this._opts)))),this._register(this._editor.onMouseDrag(()=>this._resetHandler())),this._register(this._editor.onDidChangeCursorSelection(i=>this._onDidChangeCursorSelection(i))),this._register(this._editor.onDidChangeModel(i=>this._resetHandler())),this._register(this._editor.onDidChangeModelContent(()=>this._resetHandler())),this._register(this._editor.onDidScrollChange(i=>{(i.scrollTopChanged||i.scrollLeftChanged)&&this._resetHandler()}))}_onDidChangeCursorSelection(n){n.selection&&n.selection.startColumn!==n.selection.endColumn&&this._resetHandler()}_onEditorMouseMove(n){this._lastMouseMoveEvent=n,this._onMouseMoveOrRelevantKeyDown.fire([n,null])}_onEditorMouseDown(n){this._hasTriggerKeyOnMouseDown=n.hasTriggerModifier,this._lineNumberOnMouseDown=n.target.position?n.target.position.lineNumber:0}_onEditorMouseUp(n){const i=n.target.position?n.target.position.lineNumber:0;this._hasTriggerKeyOnMouseDown&&this._lineNumberOnMouseDown&&this._lineNumberOnMouseDown===i&&this._onExecute.fire(n)}_onEditorKeyDown(n){this._lastMouseMoveEvent&&(n.keyCodeIsTriggerKey||n.keyCodeIsSideBySideKey&&n.hasTriggerModifier)?this._onMouseMoveOrRelevantKeyDown.fire([this._lastMouseMoveEvent,n]):n.hasTriggerModifier&&this._onCancel.fire()}_onEditorKeyUp(n){n.keyCodeIsTriggerKey&&this._onCancel.fire()}_resetHandler(){this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._onCancel.fire()}}e.ClickLinkGesture=g});var pt=this&&this.__asyncValues||function(q){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=q[Symbol.asyncIterator],L;return e?e.call(q):(q=typeof __values=="function"?__values(q):q[Symbol.iterator](),L={},m("next"),m("throw"),m("return"),L[Symbol.asyncIterator]=function(){return this},L);function m(I){L[I]=q[I]&&function(w){return new Promise(function(b,C){w=q[I](w),k(b,C,w.done,w.value)})}}function k(I,w,b,C){Promise.resolve(C).then(function(u){I({value:u,done:b})},w)}};define(te[260],ie([1,0,10,13,4,2]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.HoverOperation=e.HoverResult=void 0;class w{constructor(u,g,t){this.value=u,this.isComplete=g,this.hasLoadingMessage=t}}e.HoverResult=w;class b extends I.Disposable{constructor(u,g){super();this._editor=u,this._computer=g,this._onResult=this._register(new k.Emitter),this.onResult=this._onResult.event,this._firstWaitScheduler=this._register(new L.RunOnceScheduler(()=>this._triggerAsyncComputation(),0)),this._secondWaitScheduler=this._register(new L.RunOnceScheduler(()=>this._triggerSyncComputation(),0)),this._loadingMessageScheduler=this._register(new L.RunOnceScheduler(()=>this._triggerLoadingMessage(),0)),this._state=0,this._asyncIterable=null,this._asyncIterableDone=!1,this._result=[]}dispose(){this._asyncIterable&&(this._asyncIterable.cancel(),this._asyncIterable=null),super.dispose()}get _hoverTime(){return this._editor.getOption(53).delay}get _firstWaitTime(){return this._hoverTime/2}get _secondWaitTime(){return this._hoverTime-this._firstWaitTime}get _loadingMessageTime(){return 3*this._hoverTime}_setState(u,g=!0){this._state=u,g&&this._fireResult()}_triggerAsyncComputation(){this._setState(2),this._secondWaitScheduler.schedule(this._secondWaitTime),this._computer.computeAsync?(this._asyncIterableDone=!1,this._asyncIterable=(0,L.createCancelableAsyncIterable)(u=>this._computer.computeAsync(u)),(()=>we(this,void 0,void 0,function*(){var u,g;try{try{for(var t=pt(this._asyncIterable),n;n=yield t.next(),!n.done;){const i=n.value;i&&(this._result.push(i),this._fireResult())}}catch(i){u={error:i}}finally{try{n&&!n.done&&(g=t.return)&&(yield g.call(t))}finally{if(u)throw u.error}}this._asyncIterableDone=!0,(this._state===3||this._state===4)&&this._setState(0)}catch(i){(0,m.onUnexpectedError)(i)}}))()):this._asyncIterableDone=!0}_triggerSyncComputation(){this._computer.computeSync&&(this._result=this._result.concat(this._computer.computeSync())),this._setState(this._asyncIterableDone?0:3)}_triggerLoadingMessage(){this._state===3&&this._setState(4)}_fireResult(){if(this._state===1||this._state===2)return;const u=this._state===0,g=this._state===4;this._onResult.fire(new w(this._result.slice(0),u,g))}start(u){if(u===0)this._state===0&&(this._setState(1),this._firstWaitScheduler.schedule(this._firstWaitTime),this._loadingMessageScheduler.schedule(this._loadingMessageTime));else switch(this._state){case 0:this._triggerAsyncComputation(),this._secondWaitScheduler.cancel(),this._triggerSyncComputation();break;case 2:this._secondWaitScheduler.cancel(),this._triggerSyncComputation();break}}cancel(){this._firstWaitScheduler.cancel(),this._secondWaitScheduler.cancel(),this._loadingMessageScheduler.cancel(),this._asyncIterable&&(this._asyncIterable.cancel(),this._asyncIterable=null),this._result=[],this._setState(0,!1)}}e.HoverOperation=b}),define(te[86],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.HoverParticipantRegistry=e.HoverForeignElementAnchor=e.HoverRangeAnchor=void 0;class L{constructor(I,w){this.priority=I,this.range=w,this.type=1}equals(I){return I.type===1&&this.range.equalsRange(I.range)}canAdoptVisibleHover(I,w){return I.type===1&&w.lineNumber===this.range.startLineNumber}}e.HoverRangeAnchor=L;class m{constructor(I,w,b){this.priority=I,this.owner=w,this.range=b,this.type=2}equals(I){return I.type===2&&this.owner===I.owner}canAdoptVisibleHover(I,w){return I.type===2&&this.owner===I.owner}}e.HoverForeignElementAnchor=m,e.HoverParticipantRegistry=new class{constructor(){this._participants=[]}register(I){this._participants.push(I)}getAll(){return this._participants}}}),define(te[467],ie([1,0,22]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InPlaceReplaceCommand=void 0;class m{constructor(I,w,b){this._editRange=I,this._originalSelection=w,this._text=b}getEditOperations(I,w){w.addTrackedEditOperation(this._editRange,this._text)}computeCursorState(I,w){const C=w.getInverseEditOperations()[0].range;return this._originalSelection.isEmpty()?new L.Selection(C.endLineNumber,Math.min(this._originalSelection.positionColumn,C.endColumn),C.endLineNumber,Math.min(this._originalSelection.positionColumn,C.endColumn)):new L.Selection(C.endLineNumber,C.endColumn-this._text.length,C.endLineNumber,C.endColumn)}}e.InPlaceReplaceCommand=m}),define(te[261],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.generateIndent=e.getSpaceCnt=void 0;function L(k,I){let w=0;for(let b=0;b<k.length;b++)k.charAt(b)==="	"?w+=I:w++;return w}e.getSpaceCnt=L;function m(k,I,w){k=k<0?0:k;let b="";if(!w){let C=Math.floor(k/I);k=k%I;for(let u=0;u<C;u++)b+="	"}for(let C=0;C<k;C++)b+=" ";return b}e.generateIndent=m}),define(te[262],ie([1,0,13,2,11,3,45,25]),function(q,e,L,m,k,I,w,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.asCommandLink=e.InlayHintsFragments=e.InlayHintItem=e.InlayHintAnchor=void 0;class C{constructor(i,o){this.range=i,this.direction=o}}e.InlayHintAnchor=C;class u{constructor(i,o,c){this.hint=i,this.anchor=o,this.provider=c,this._isResolved=!1}with(i){const o=new u(this.hint,i.anchor,this.provider);return o._isResolved=this._isResolved,o._currentResolve=this._currentResolve,o}resolve(i){return we(this,void 0,void 0,function*(){if(typeof this.provider.resolveInlayHint=="function"){if(this._currentResolve)return yield this._currentResolve,i.isCancellationRequested?void 0:this.resolve(i);this._isResolved||(this._currentResolve=this._doResolve(i).finally(()=>this._currentResolve=void 0)),yield this._currentResolve}})}_doResolve(i){var o,c;return we(this,void 0,void 0,function*(){try{const d=yield Promise.resolve(this.provider.resolveInlayHint(this.hint,i));this.hint.tooltip=(o=d==null?void 0:d.tooltip)!==null&&o!==void 0?o:this.hint.tooltip,this.hint.label=(c=d==null?void 0:d.label)!==null&&c!==void 0?c:this.hint.label,this._isResolved=!0}catch(d){(0,L.onUnexpectedExternalError)(d),this._isResolved=!1}})}}e.InlayHintItem=u;class g{constructor(i,o,c){this._disposables=new m.DisposableStore,this.ranges=i,this.provider=new Set;const d=[];for(const[r,s]of o){this._disposables.add(r),this.provider.add(s);for(const a of r.hints){let l=c.validatePosition(a.position),h="before";const f=g._getRangeAtPosition(c,l);let S;f.getStartPosition().isBefore(l)?(S=I.Range.fromPositions(f.getStartPosition(),l),h="after"):(S=I.Range.fromPositions(l,f.getEndPosition()),h="before"),d.push(new u(a,new C(S,h),s))}}this.items=d.sort((r,s)=>k.Position.compare(r.hint.position,s.hint.position))}static create(i,o,c,d){return we(this,void 0,void 0,function*(){const r=[],s=i.ordered(o).reverse().map(a=>c.map(l=>we(this,void 0,void 0,function*(){try{const h=yield a.provideInlayHints(o,l,d);(h==null?void 0:h.hints.length)&&r.push([h,a])}catch(h){(0,L.onUnexpectedExternalError)(h)}})));if(yield Promise.all(s.flat()),d.isCancellationRequested||o.isDisposed())throw new L.CancellationError;return new g(c,r,o)})}dispose(){this._disposables.dispose()}static _getRangeAtPosition(i,o){const c=o.lineNumber,d=i.getWordAtPosition(o);if(d)return new I.Range(c,d.startColumn,c,d.endColumn);i.tokenizeIfCheap(c);const r=i.getLineTokens(c),s=o.column-1,a=r.findTokenIndexAtOffset(s);let l=r.getStartOffset(a),h=r.getEndOffset(a);return h-l==1&&(l===s&&a>1?(l=r.getStartOffset(a-1),h=r.getEndOffset(a-1)):h===s&&a<r.getCount()-1&&(l=r.getStartOffset(a+1),h=r.getEndOffset(a+1))),new I.Range(c,l+1,c,h+1)}}e.InlayHintsFragments=g;function t(n){return b.URI.from({scheme:w.Schemas.command,path:n.id,query:n.arguments&&encodeURIComponent(JSON.stringify(n.arguments))}).toString()}e.asCommandLink=t}),define(te[263],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.inlineSuggestCommitId=void 0,e.inlineSuggestCommitId="editor.action.inlineSuggest.commit"}),define(te[193],ie([1,0,4,2,3]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BaseGhostTextWidgetModel=e.GhostTextPart=e.GhostText=void 0;class I{constructor(t,n,i=0){this.lineNumber=t,this.parts=n,this.additionalReservedLineCount=i}renderForScreenReader(t){if(this.parts.length===0)return"";const n=this.parts[this.parts.length-1],i=t.substr(0,n.column-1);return b(i,this.parts.map(c=>({range:{startLineNumber:1,endLineNumber:1,startColumn:c.column,endColumn:c.column},text:c.lines.join(`
+`)}))).substring(this.parts[0].column-1)}}e.GhostText=I;class w{constructor(t){this.lineStartOffsetByLineIdx=[],this.lineStartOffsetByLineIdx.push(0);for(let n=0;n<t.length;n++)t.charAt(n)===`
+`&&this.lineStartOffsetByLineIdx.push(n+1)}getOffset(t){return this.lineStartOffsetByLineIdx[t.lineNumber-1]+t.column-1}}function b(g,t){const n=new w(g),i=t.map(o=>{const c=k.Range.lift(o.range);return{startOffset:n.getOffset(c.getStartPosition()),endOffset:n.getOffset(c.getEndPosition()),text:o.text}});i.sort((o,c)=>c.startOffset-o.startOffset);for(const o of i)g=g.substring(0,o.startOffset)+o.text+g.substring(o.endOffset);return g}class C{constructor(t,n,i){this.column=t,this.lines=n,this.preview=i}}e.GhostTextPart=C;class u extends m.Disposable{constructor(t){super();this.editor=t,this._expanded=void 0,this.onDidChangeEmitter=new L.Emitter,this.onDidChange=this.onDidChangeEmitter.event,this._register(t.onDidChangeConfiguration(n=>{n.hasChanged(106)&&this._expanded===void 0&&this.onDidChangeEmitter.fire()}))}setExpanded(t){this._expanded=!0,this.onDidChangeEmitter.fire()}}e.BaseGhostTextWidgetModel=u}),define(te[194],ie([1,0,141,8,3,193]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.inlineCompletionToGhostText=e.normalizedInlineCompletionsEquals=void 0;function w(t,n){return t===n?!0:!t||!n?!1:t.range.equalsRange(n.range)&&t.text===n.text&&t.command===n.command}e.normalizedInlineCompletionsEquals=w;function b(t,n,i,o,c=0){if(t.range.startLineNumber!==t.range.endLineNumber)return;const d=n.getLineContent(t.range.startLineNumber),r=m.getLeadingWhitespace(d).length;if(t.range.startColumn-1<=r){const v=m.getLeadingWhitespace(t.text).length,p=d.substring(t.range.startColumn-1,r),_=k.Range.fromPositions(t.range.getStartPosition().delta(0,p.length),t.range.getEndPosition()),y=t.text.startsWith(p)?t.text.substring(p.length):t.text.substring(v);t={range:_,text:y,command:t.command}}const a=n.getValueInRange(t.range),l=u(a,t.text);if(!l)return;const h=t.range.startLineNumber,f=new Array;if(i==="prefix"){const v=l.filter(p=>p.originalLength===0);if(v.length>1||v.length===1&&v[0].originalStart!==a.length)return}const S=t.text.length-c;for(const v of l){const p=t.range.startColumn+v.originalStart+v.originalLength;if(i==="subwordSmart"&&o&&o.lineNumber===t.range.startLineNumber&&p<o.column||v.originalLength>0)return;if(v.modifiedLength===0)continue;const _=v.modifiedStart+v.modifiedLength,y=Math.max(v.modifiedStart,Math.min(_,S)),E=t.text.substring(v.modifiedStart,y),N=t.text.substring(y,Math.max(v.modifiedStart,_));if(E.length>0){const D=m.splitLines(E);f.push(new I.GhostTextPart(p,D,!1))}if(N.length>0){const D=m.splitLines(N);f.push(new I.GhostTextPart(p,D,!0))}}return new I.GhostText(h,f,0)}e.inlineCompletionToGhostText=b;let C;function u(t,n){if((C==null?void 0:C.originalValue)===t&&(C==null?void 0:C.newValue)===n)return C==null?void 0:C.changes;{const i=g(t,n);return C={originalValue:t,newValue:n,changes:i},i}}function g(t,n){if(t.length>5e3||n.length>5e3)return;function i(a){let l=0;for(let h=0,f=a.length;h<f;h++){const S=a.charCodeAt(h);S>l&&(l=S)}return l}const o=Math.max(i(t),i(n));function c(a){if(a<0)throw new Error("unexpected");return o+a+1}function d(a){let l=0,h=0;const f=new Int32Array(a.length);for(let S=0,v=a.length;S<v;S++){const p=h*100+l;a[S]==="("?(f[S]=c(2*p),l++):a[S]===")"?(f[S]=c(2*p+1),l===1&&h++,l=Math.max(l-1,0)):f[S]=a.charCodeAt(S)}return f}const r=d(t),s=d(n);return new L.LcsDiff({getElements:()=>r},{getElements:()=>s}).ComputeDiff(!1).changes}}),define(te[468],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createDisposableRef=void 0;function L(m,k){return{object:m,dispose:()=>k==null?void 0:k.dispose()}}e.createDisposableRef=L}),define(te[469],ie([1,0,3,22]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CopyLinesCommand=void 0;class k{constructor(w,b,C){this._selection=w,this._isCopyingDown=b,this._noop=C||!1,this._selectionDirection=0,this._selectionId=null,this._startLineNumberDelta=0,this._endLineNumberDelta=0}getEditOperations(w,b){let C=this._selection;this._startLineNumberDelta=0,this._endLineNumberDelta=0,C.startLineNumber<C.endLineNumber&&C.endColumn===1&&(this._endLineNumberDelta=1,C=C.setEndPosition(C.endLineNumber-1,w.getLineMaxColumn(C.endLineNumber-1)));let u=[];for(let t=C.startLineNumber;t<=C.endLineNumber;t++)u.push(w.getLineContent(t));const g=u.join(`
+`);g===""&&this._isCopyingDown&&(this._startLineNumberDelta++,this._endLineNumberDelta++),this._noop?b.addEditOperation(new L.Range(C.endLineNumber,w.getLineMaxColumn(C.endLineNumber),C.endLineNumber+1,1),C.endLineNumber===w.getLineCount()?"":`
+`):this._isCopyingDown?b.addEditOperation(new L.Range(C.startLineNumber,1,C.startLineNumber,1),g+`
+`):b.addEditOperation(new L.Range(C.endLineNumber,w.getLineMaxColumn(C.endLineNumber),C.endLineNumber,w.getLineMaxColumn(C.endLineNumber)),`
+`+g),this._selectionId=b.trackSelection(C),this._selectionDirection=this._selection.getDirection()}computeCursorState(w,b){let C=b.getTrackedSelection(this._selectionId);if(this._startLineNumberDelta!==0||this._endLineNumberDelta!==0){let u=C.startLineNumber,g=C.startColumn,t=C.endLineNumber,n=C.endColumn;this._startLineNumberDelta!==0&&(u=u+this._startLineNumberDelta,g=1),this._endLineNumberDelta!==0&&(t=t+this._endLineNumberDelta,n=1),C=m.Selection.createWithDirection(u,g,t,n,this._selectionDirection)}return C}}e.CopyLinesCommand=k}),define(te[470],ie([1,0,63,3]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SortLinesCommand=void 0;class k{constructor(C,u){this.selection=C,this.descending=u,this.selectionId=null}static getCollator(){return k._COLLATOR||(k._COLLATOR=new Intl.Collator),k._COLLATOR}getEditOperations(C,u){let g=w(C,this.selection,this.descending);g&&u.addEditOperation(g.range,g.text),this.selectionId=u.trackSelection(this.selection)}computeCursorState(C,u){return u.getTrackedSelection(this.selectionId)}static canRun(C,u,g){if(C===null)return!1;let t=I(C,u,g);if(!t)return!1;for(let n=0,i=t.before.length;n<i;n++)if(t.before[n]!==t.after[n])return!0;return!1}}e.SortLinesCommand=k,k._COLLATOR=null;function I(b,C,u){let g=C.startLineNumber,t=C.endLineNumber;if(C.endColumn===1&&t--,g>=t)return null;let n=[];for(let o=g;o<=t;o++)n.push(b.getLineContent(o));let i=n.slice(0);return i.sort(k.getCollator().compare),u===!0&&(i=i.reverse()),{startLineNumber:g,endLineNumber:t,before:n,after:i}}function w(b,C,u){let g=I(b,C,u);return g?L.EditOperation.replace(new m.Range(g.startLineNumber,1,g.endLineNumber,b.getLineMaxColumn(g.endLineNumber)),g.after.join(`
+`)):null}}),define(te[264],ie([1,0,83,11,3]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BracketSelectionRangeProvider=void 0;class I{provideSelectionRanges(b,C){return we(this,void 0,void 0,function*(){const u=[];for(const g of C){const t=[];u.push(t);const n=new Map;yield new Promise(i=>I._bracketsRightYield(i,0,b,g,n)),yield new Promise(i=>I._bracketsLeftYield(i,0,b,g,n,t))}return u})}static _bracketsRightYield(b,C,u,g,t){const n=new Map,i=Date.now();for(;;){if(C>=I._maxRounds){b();break}if(!g){b();break}let o=u.bracketPairs.findNextBracket(g);if(!o){b();break}if(Date.now()-i>I._maxDuration){setTimeout(()=>I._bracketsRightYield(b,C+1,u,g,t));break}const d=o.close[0];if(o.isOpen){let r=n.has(d)?n.get(d):0;n.set(d,r+1)}else{let r=n.has(d)?n.get(d):0;if(r-=1,n.set(d,Math.max(0,r)),r<0){let s=t.get(d);s||(s=new L.LinkedList,t.set(d,s)),s.push(o.range)}}g=o.range.getEndPosition()}}static _bracketsLeftYield(b,C,u,g,t,n){const i=new Map,o=Date.now();for(;;){if(C>=I._maxRounds&&t.size===0){b();break}if(!g){b();break}let c=u.bracketPairs.findPrevBracket(g);if(!c){b();break}if(Date.now()-o>I._maxDuration){setTimeout(()=>I._bracketsLeftYield(b,C+1,u,g,t,n));break}const r=c.close[0];if(c.isOpen){let s=i.has(r)?i.get(r):0;if(s-=1,i.set(r,Math.max(0,s)),s<0){let a=t.get(r);if(a){let l=a.shift();a.size===0&&t.delete(r);const h=k.Range.fromPositions(c.range.getEndPosition(),l.getStartPosition()),f=k.Range.fromPositions(c.range.getStartPosition(),l.getEndPosition());n.push({range:h}),n.push({range:f}),I._addBracketLeading(u,f,n)}}}else{let s=i.has(r)?i.get(r):0;i.set(r,s+1)}g=c.range.getStartPosition()}}static _addBracketLeading(b,C,u){if(C.startLineNumber===C.endLineNumber)return;const g=C.startLineNumber,t=b.getLineFirstNonWhitespaceColumn(g);t!==0&&t!==C.startColumn&&(u.push({range:k.Range.fromPositions(new m.Position(g,t),C.getEndPosition())}),u.push({range:k.Range.fromPositions(new m.Position(g,1),C.getEndPosition())}));const n=g-1;if(n>0){const i=b.getLineFirstNonWhitespaceColumn(n);i===C.startColumn&&i!==b.getLineLastNonWhitespaceColumn(n)&&(u.push({range:k.Range.fromPositions(new m.Position(n,i),C.getEndPosition())}),u.push({range:k.Range.fromPositions(new m.Position(n,1),C.getEndPosition())}))}}}e.BracketSelectionRangeProvider=I,I._maxDuration=30,I._maxRounds=2}),define(te[471],ie([1,0,8,3]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WordSelectionRangeProvider=void 0;class k{provideSelectionRanges(w,b){const C=[];for(const u of b){const g=[];C.push(g),this._addInWordRanges(g,w,u),this._addWordRanges(g,w,u),this._addWhitespaceLine(g,w,u),g.push({range:w.getFullModelRange()})}return C}_addInWordRanges(w,b,C){const u=b.getWordAtPosition(C);if(!u)return;let{word:g,startColumn:t}=u,n=C.column-t,i=n,o=n,c=0;for(;i>=0;i--){let d=g.charCodeAt(i);if(i!==n&&(d===95||d===45))break;if((0,L.isLowerAsciiLetter)(d)&&(0,L.isUpperAsciiLetter)(c))break;c=d}for(i+=1;o<g.length;o++){let d=g.charCodeAt(o);if((0,L.isUpperAsciiLetter)(d)&&(0,L.isLowerAsciiLetter)(c))break;if(d===95||d===45)break;c=d}i<o&&w.push({range:new m.Range(C.lineNumber,t+i,C.lineNumber,t+o)})}_addWordRanges(w,b,C){const u=b.getWordAtPosition(C);u&&w.push({range:new m.Range(C.lineNumber,u.startColumn,C.lineNumber,u.endColumn)})}_addWhitespaceLine(w,b,C){b.getLineLength(C.lineNumber)>0&&b.getLineFirstNonWhitespaceColumn(C.lineNumber)===0&&b.getLineLastNonWhitespaceColumn(C.lineNumber)===0&&w.push({range:new m.Range(C.lineNumber,1,C.lineNumber,b.getLineMaxColumn(C.lineNumber))})}}e.WordSelectionRangeProvider=k}),define(te[127],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SnippetParser=e.TextmateSnippet=e.Variable=e.FormatString=e.Transform=e.Choice=e.Placeholder=e.TransformableMarker=e.Text=e.Marker=e.Scanner=void 0;class L{constructor(){this.value="",this.pos=0}static isDigitCharacter(c){return c>=48&&c<=57}static isVariableCharacter(c){return c===95||c>=97&&c<=122||c>=65&&c<=90}text(c){this.value=c,this.pos=0}tokenText(c){return this.value.substr(c.pos,c.len)}next(){if(this.pos>=this.value.length)return{type:14,pos:this.pos,len:0};let c=this.pos,d=0,r=this.value.charCodeAt(c),s;if(s=L._table[r],typeof s=="number")return this.pos+=1,{type:s,pos:c,len:1};if(L.isDigitCharacter(r)){s=8;do d+=1,r=this.value.charCodeAt(c+d);while(L.isDigitCharacter(r));return this.pos+=d,{type:s,pos:c,len:d}}if(L.isVariableCharacter(r)){s=9;do r=this.value.charCodeAt(c+ ++d);while(L.isVariableCharacter(r)||L.isDigitCharacter(r));return this.pos+=d,{type:s,pos:c,len:d}}s=10;do d+=1,r=this.value.charCodeAt(c+d);while(!isNaN(r)&&typeof L._table[r]=="undefined"&&!L.isDigitCharacter(r)&&!L.isVariableCharacter(r));return this.pos+=d,{type:s,pos:c,len:d}}}e.Scanner=L,L._table={[36]:0,[58]:1,[44]:2,[123]:3,[125]:4,[92]:5,[47]:6,[124]:7,[43]:11,[45]:12,[63]:13};class m{constructor(){this._children=[]}appendChild(c){return c instanceof k&&this._children[this._children.length-1]instanceof k?this._children[this._children.length-1].value+=c.value:(c.parent=this,this._children.push(c)),this}replace(c,d){const{parent:r}=c,s=r.children.indexOf(c),a=r.children.slice(0);a.splice(s,1,...d),r._children=a,function l(h,f){for(const S of h)S.parent=f,l(S.children,S)}(d,r)}get children(){return this._children}get snippet(){let c=this;for(;;){if(!c)return;if(c instanceof n)return c;c=c.parent}}toString(){return this.children.reduce((c,d)=>c+d.toString(),"")}len(){return 0}}e.Marker=m;class k extends m{constructor(c){super();this.value=c}toString(){return this.value}len(){return this.value.length}clone(){return new k(this.value)}}e.Text=k;class I extends m{}e.TransformableMarker=I;class w extends I{constructor(c){super();this.index=c}static compareByIndex(c,d){return c.index===d.index?0:c.isFinalTabstop?1:d.isFinalTabstop||c.index<d.index?-1:c.index>d.index?1:0}get isFinalTabstop(){return this.index===0}get choice(){return this._children.length===1&&this._children[0]instanceof b?this._children[0]:void 0}clone(){let c=new w(this.index);return this.transform&&(c.transform=this.transform.clone()),c._children=this.children.map(d=>d.clone()),c}}e.Placeholder=w;class b extends m{constructor(){super(...arguments);this.options=[]}appendChild(c){return c instanceof k&&(c.parent=this,this.options.push(c)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){let c=new b;return this.options.forEach(c.appendChild,c),c}}e.Choice=b;class C extends m{constructor(){super(...arguments);this.regexp=new RegExp("")}resolve(c){const d=this;let r=!1,s=c.replace(this.regexp,function(){return r=!0,d._replace(Array.prototype.slice.call(arguments,0,-2))});return!r&&this._children.some(a=>a instanceof u&&Boolean(a.elseValue))&&(s=this._replace([])),s}_replace(c){let d="";for(const r of this._children)if(r instanceof u){let s=c[r.index]||"";s=r.resolve(s),d+=s}else d+=r.toString();return d}toString(){return""}clone(){let c=new C;return c.regexp=new RegExp(this.regexp.source,""+(this.regexp.ignoreCase?"i":"")+(this.regexp.global?"g":"")),c._children=this.children.map(d=>d.clone()),c}}e.Transform=C;class u extends m{constructor(c,d,r,s){super();this.index=c,this.shorthandName=d,this.ifValue=r,this.elseValue=s}resolve(c){return this.shorthandName==="upcase"?c?c.toLocaleUpperCase():"":this.shorthandName==="downcase"?c?c.toLocaleLowerCase():"":this.shorthandName==="capitalize"?c?c[0].toLocaleUpperCase()+c.substr(1):"":this.shorthandName==="pascalcase"?c?this._toPascalCase(c):"":this.shorthandName==="camelcase"?c?this._toCamelCase(c):"":Boolean(c)&&typeof this.ifValue=="string"?this.ifValue:!Boolean(c)&&typeof this.elseValue=="string"?this.elseValue:c||""}_toPascalCase(c){const d=c.match(/[a-z0-9]+/gi);return d?d.map(r=>r.charAt(0).toUpperCase()+r.substr(1).toLowerCase()).join(""):c}_toCamelCase(c){const d=c.match(/[a-z0-9]+/gi);return d?d.map((r,s)=>s===0?r.toLowerCase():r.charAt(0).toUpperCase()+r.substr(1).toLowerCase()).join(""):c}clone(){return new u(this.index,this.shorthandName,this.ifValue,this.elseValue)}}e.FormatString=u;class g extends I{constructor(c){super();this.name=c}resolve(c){let d=c.resolve(this);return this.transform&&(d=this.transform.resolve(d||"")),d!==void 0?(this._children=[new k(d)],!0):!1}clone(){const c=new g(this.name);return this.transform&&(c.transform=this.transform.clone()),c._children=this.children.map(d=>d.clone()),c}}e.Variable=g;function t(o,c){const d=[...o];for(;d.length>0;){const r=d.shift();if(!c(r))break;d.unshift(...r.children)}}class n extends m{get placeholderInfo(){if(!this._placeholders){let c=[],d;this.walk(function(r){return r instanceof w&&(c.push(r),d=!d||d.index<r.index?r:d),!0}),this._placeholders={all:c,last:d}}return this._placeholders}get placeholders(){const{all:c}=this.placeholderInfo;return c}offset(c){let d=0,r=!1;return this.walk(s=>s===c?(r=!0,!1):(d+=s.len(),!0)),r?d:-1}fullLen(c){let d=0;return t([c],r=>(d+=r.len(),!0)),d}enclosingPlaceholders(c){let d=[],{parent:r}=c;for(;r;)r instanceof w&&d.push(r),r=r.parent;return d}resolveVariables(c){return this.walk(d=>(d instanceof g&&d.resolve(c)&&(this._placeholders=void 0),!0)),this}appendChild(c){return this._placeholders=void 0,super.appendChild(c)}replace(c,d){return this._placeholders=void 0,super.replace(c,d)}clone(){let c=new n;return this._children=this.children.map(d=>d.clone()),c}walk(c){t(this.children,c)}}e.TextmateSnippet=n;class i{constructor(){this._scanner=new L,this._token={type:14,pos:0,len:0}}static escape(c){return c.replace(/\$|}|\\/g,"\\$&")}static guessNeedsClipboard(c){return/\${?CLIPBOARD/.test(c)}parse(c,d,r){this._scanner.text(c),this._token=this._scanner.next();const s=new n;for(;this._parse(s););const a=new Map,l=[];let h=0;s.walk(f=>(f instanceof w&&(h+=1,f.isFinalTabstop?a.set(0,void 0):!a.has(f.index)&&f.children.length>0?a.set(f.index,f.children):l.push(f)),!0));for(const f of l){const S=a.get(f.index);if(S){const v=new w(f.index);v.transform=f.transform;for(const p of S)v.appendChild(p.clone());s.replace(f,[v])}}return r||(r=h>0&&d),!a.has(0)&&r&&s.appendChild(new w(0)),s}_accept(c,d){if(c===void 0||this._token.type===c){let r=d?this._scanner.tokenText(this._token):!0;return this._token=this._scanner.next(),r}return!1}_backTo(c){return this._scanner.pos=c.pos+c.len,this._token=c,!1}_until(c){const d=this._token;for(;this._token.type!==c;){if(this._token.type===14)return!1;if(this._token.type===5){const s=this._scanner.next();if(s.type!==0&&s.type!==4&&s.type!==5)return!1}this._token=this._scanner.next()}const r=this._scanner.value.substring(d.pos,this._token.pos).replace(/\\(\$|}|\\)/g,"$1");return this._token=this._scanner.next(),r}_parse(c){return this._parseEscaped(c)||this._parseTabstopOrVariableName(c)||this._parseComplexPlaceholder(c)||this._parseComplexVariable(c)||this._parseAnything(c)}_parseEscaped(c){let d;return(d=this._accept(5,!0))?(d=this._accept(0,!0)||this._accept(4,!0)||this._accept(5,!0)||d,c.appendChild(new k(d)),!0):!1}_parseTabstopOrVariableName(c){let d;const r=this._token;return this._accept(0)&&(d=this._accept(9,!0)||this._accept(8,!0))?(c.appendChild(/^\d+$/.test(d)?new w(Number(d)):new g(d)),!0):this._backTo(r)}_parseComplexPlaceholder(c){let d;const r=this._token;if(!(this._accept(0)&&this._accept(3)&&(d=this._accept(8,!0))))return this._backTo(r);const a=new w(Number(d));if(this._accept(1))for(;;){if(this._accept(4))return c.appendChild(a),!0;if(!this._parse(a))return c.appendChild(new k("${"+d+":")),a.children.forEach(c.appendChild,c),!0}else if(a.index>0&&this._accept(7)){const l=new b;for(;;){if(this._parseChoiceElement(l)){if(this._accept(2))continue;if(this._accept(7)&&(a.appendChild(l),this._accept(4)))return c.appendChild(a),!0}return this._backTo(r),!1}}else return this._accept(6)?this._parseTransform(a)?(c.appendChild(a),!0):(this._backTo(r),!1):this._accept(4)?(c.appendChild(a),!0):this._backTo(r)}_parseChoiceElement(c){const d=this._token,r=[];for(;!(this._token.type===2||this._token.type===7);){let s;if((s=this._accept(5,!0))?s=this._accept(2,!0)||this._accept(7,!0)||this._accept(5,!0)||s:s=this._accept(void 0,!0),!s)return this._backTo(d),!1;r.push(s)}return r.length===0?(this._backTo(d),!1):(c.appendChild(new k(r.join(""))),!0)}_parseComplexVariable(c){let d;const r=this._token;if(!(this._accept(0)&&this._accept(3)&&(d=this._accept(9,!0))))return this._backTo(r);const a=new g(d);if(this._accept(1))for(;;){if(this._accept(4))return c.appendChild(a),!0;if(!this._parse(a))return c.appendChild(new k("${"+d+":")),a.children.forEach(c.appendChild,c),!0}else return this._accept(6)?this._parseTransform(a)?(c.appendChild(a),!0):(this._backTo(r),!1):this._accept(4)?(c.appendChild(a),!0):this._backTo(r)}_parseTransform(c){let d=new C,r="",s="";for(;!this._accept(6);){let a;if(a=this._accept(5,!0)){a=this._accept(6,!0)||a,r+=a;continue}if(this._token.type!==14){r+=this._accept(void 0,!0);continue}return!1}for(;!this._accept(6);){let a;if(a=this._accept(5,!0)){a=this._accept(5,!0)||this._accept(6,!0)||a,d.appendChild(new k(a));continue}if(!(this._parseFormatString(d)||this._parseAnything(d)))return!1}for(;!this._accept(4);){if(this._token.type!==14){s+=this._accept(void 0,!0);continue}return!1}try{d.regexp=new RegExp(r,s)}catch{return!1}return c.transform=d,!0}_parseFormatString(c){const d=this._token;if(!this._accept(0))return!1;let r=!1;this._accept(3)&&(r=!0);let s=this._accept(8,!0);if(s)if(r){if(this._accept(4))return c.appendChild(new u(Number(s))),!0;if(!this._accept(1))return this._backTo(d),!1}else return c.appendChild(new u(Number(s))),!0;else return this._backTo(d),!1;if(this._accept(6)){let a=this._accept(9,!0);return!a||!this._accept(4)?(this._backTo(d),!1):(c.appendChild(new u(Number(s),a)),!0)}else if(this._accept(11)){let a=this._until(4);if(a)return c.appendChild(new u(Number(s),void 0,a,void 0)),!0}else if(this._accept(12)){let a=this._until(4);if(a)return c.appendChild(new u(Number(s),void 0,void 0,a)),!0}else if(this._accept(13)){let a=this._until(1);if(a){let l=this._until(4);if(l)return c.appendChild(new u(Number(s),void 0,a,l)),!0}}else{let a=this._until(4);if(a)return c.appendChild(new u(Number(s),void 0,void 0,a)),!0}return this._backTo(d),!1}_parseAnything(c){return this._token.type!==14?(c.appendChild(new k(this._scanner.tokenText(this._token))),this._accept(void 0),!0):!1}}e.SnippetParser=i}),define(te[472],ie([1,0,18,75,8]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CompletionModel=e.LineContext=void 0;class I{constructor(C,u){this.leadingLineContent=C,this.characterCountDelta=u}}e.LineContext=I;class w{constructor(C,u,g,t,n,i,o){this.clipboardText=o,this._snippetCompareFn=w._compareCompletionItems,this._items=C,this._column=u,this._wordDistance=t,this._options=n,this._refilterKind=1,this._lineContext=g,i==="top"?this._snippetCompareFn=w._compareCompletionItemsSnippetsUp:i==="bottom"&&(this._snippetCompareFn=w._compareCompletionItemsSnippetsDown)}get lineContext(){return this._lineContext}set lineContext(C){(this._lineContext.leadingLineContent!==C.leadingLineContent||this._lineContext.characterCountDelta!==C.characterCountDelta)&&(this._refilterKind=this._lineContext.characterCountDelta<C.characterCountDelta&&this._filteredItems?2:1,this._lineContext=C)}get items(){return this._ensureCachedState(),this._filteredItems}get allProvider(){return this._ensureCachedState(),this._providerInfo.keys()}get incomplete(){this._ensureCachedState();const C=new Set;for(let[u,g]of this._providerInfo)g&&C.add(u);return C}adopt(C){let u=[];for(let g=0;g<this._items.length;)C.has(this._items[g].provider)?g++:(u.push(this._items[g]),this._items[g]=this._items[this._items.length-1],this._items.pop());return this._refilterKind=1,u}get stats(){return this._ensureCachedState(),this._stats}_ensureCachedState(){this._refilterKind!==0&&this._createCachedState()}_createCachedState(){this._providerInfo=new Map;const C=[],{leadingLineContent:u,characterCountDelta:g}=this._lineContext;let t="",n="";const i=this._refilterKind===1?this._items:this._filteredItems,o=[],c=!this._options.filterGraceful||i.length>2e3?m.fuzzyScore:m.fuzzyScoreGracefulAggressive;for(let d=0;d<i.length;d++){const r=i[d];if(r.isInvalid)continue;this._providerInfo.set(r.provider,Boolean(r.container.incomplete));const s=r.position.column-r.editStart.column,a=s+g-(r.position.column-this._column);if(t.length!==a&&(t=a===0?"":u.slice(-a),n=t.toLowerCase()),r.word=t,a===0)r.score=m.FuzzyScore.Default;else{let l=0;for(;l<s;){const h=t.charCodeAt(l);if(h===32||h===9)l+=1;else break}if(l>=a)r.score=m.FuzzyScore.Default;else if(typeof r.completion.filterText=="string"){let h=c(t,n,l,r.completion.filterText,r.filterTextLow,0,!1);if(!h)continue;(0,k.compareIgnoreCase)(r.completion.filterText,r.textLabel)===0?r.score=h:(r.score=(0,m.anyScore)(t,n,l,r.textLabel,r.labelLow,0),r.score[0]=h[0])}else{let h=c(t,n,l,r.textLabel,r.labelLow,0,!1);if(!h)continue;r.score=h}}r.idx=d,r.distance=this._wordDistance.distance(r.position,r.completion),o.push(r),C.push(r.textLabel.length)}this._filteredItems=o.sort(this._snippetCompareFn),this._refilterKind=0,this._stats={pLabelLen:C.length?(0,L.quickSelect)(C.length-.85,C,(d,r)=>d-r):0}}static _compareCompletionItems(C,u){return C.score[0]>u.score[0]?-1:C.score[0]<u.score[0]?1:C.distance<u.distance?-1:C.distance>u.distance?1:C.idx<u.idx?-1:C.idx>u.idx?1:0}static _compareCompletionItemsSnippetsDown(C,u){if(C.completion.kind!==u.completion.kind){if(C.completion.kind===27)return 1;if(u.completion.kind===27)return-1}return w._compareCompletionItems(C,u)}static _compareCompletionItemsSnippetsUp(C,u){if(C.completion.kind!==u.completion.kind){if(C.completion.kind===27)return-1;if(u.completion.kind===27)return 1}return w._compareCompletionItems(C,u)}}e.CompletionModel=w}),define(te[265],ie([1,0,7,116,4,2]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ResizableHTMLElement=void 0;class w{constructor(){this._onDidWillResize=new k.Emitter,this.onDidWillResize=this._onDidWillResize.event,this._onDidResize=new k.Emitter,this.onDidResize=this._onDidResize.event,this._sashListener=new I.DisposableStore,this._size=new L.Dimension(0,0),this._minSize=new L.Dimension(0,0),this._maxSize=new L.Dimension(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),this.domNode=document.createElement("div"),this._eastSash=new m.Sash(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new m.Sash(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new m.Sash(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:m.OrthogonalEdge.North}),this._southSash=new m.Sash(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:m.OrthogonalEdge.South}),this._northSash.orthogonalStartSash=this._westSash,this._northSash.orthogonalEndSash=this._eastSash,this._southSash.orthogonalStartSash=this._westSash,this._southSash.orthogonalEndSash=this._eastSash;let C,u=0,g=0;this._sashListener.add(k.Event.any(this._northSash.onDidStart,this._eastSash.onDidStart,this._southSash.onDidStart,this._westSash.onDidStart)(()=>{C===void 0&&(this._onDidWillResize.fire(),C=this._size,u=0,g=0)})),this._sashListener.add(k.Event.any(this._northSash.onDidEnd,this._eastSash.onDidEnd,this._southSash.onDidEnd,this._westSash.onDidEnd)(()=>{C!==void 0&&(C=void 0,u=0,g=0,this._onDidResize.fire({dimension:this._size,done:!0}))})),this._sashListener.add(this._eastSash.onDidChange(t=>{C&&(g=t.currentX-t.startX,this.layout(C.height+u,C.width+g),this._onDidResize.fire({dimension:this._size,done:!1,east:!0}))})),this._sashListener.add(this._westSash.onDidChange(t=>{C&&(g=-(t.currentX-t.startX),this.layout(C.height+u,C.width+g),this._onDidResize.fire({dimension:this._size,done:!1,west:!0}))})),this._sashListener.add(this._northSash.onDidChange(t=>{C&&(u=-(t.currentY-t.startY),this.layout(C.height+u,C.width+g),this._onDidResize.fire({dimension:this._size,done:!1,north:!0}))})),this._sashListener.add(this._southSash.onDidChange(t=>{C&&(u=t.currentY-t.startY,this.layout(C.height+u,C.width+g),this._onDidResize.fire({dimension:this._size,done:!1,south:!0}))})),this._sashListener.add(k.Event.any(this._eastSash.onDidReset,this._westSash.onDidReset)(t=>{this._preferredSize&&(this.layout(this._size.height,this._preferredSize.width),this._onDidResize.fire({dimension:this._size,done:!0}))})),this._sashListener.add(k.Event.any(this._northSash.onDidReset,this._southSash.onDidReset)(t=>{this._preferredSize&&(this.layout(this._preferredSize.height,this._size.width),this._onDidResize.fire({dimension:this._size,done:!0}))}))}dispose(){this._northSash.dispose(),this._southSash.dispose(),this._eastSash.dispose(),this._westSash.dispose(),this._sashListener.dispose(),this._onDidResize.dispose(),this._onDidWillResize.dispose(),this.domNode.remove()}enableSashes(C,u,g,t){this._northSash.state=C?3:0,this._eastSash.state=u?3:0,this._southSash.state=g?3:0,this._westSash.state=t?3:0}layout(C=this.size.height,u=this.size.width){const{height:g,width:t}=this._minSize,{height:n,width:i}=this._maxSize;C=Math.max(g,Math.min(n,C)),u=Math.max(t,Math.min(i,u));const o=new L.Dimension(u,C);L.Dimension.equals(o,this._size)||(this.domNode.style.height=C+"px",this.domNode.style.width=u+"px",this._size=o,this._northSash.layout(),this._eastSash.layout(),this._southSash.layout(),this._westSash.layout())}clearSashHoverState(){this._eastSash.clearSashHoverState(),this._westSash.clearSashHoverState(),this._northSash.clearSashHoverState(),this._southSash.clearSashHoverState()}get size(){return this._size}set maxSize(C){this._maxSize=C}get maxSize(){return this._maxSize}set minSize(C){this._minSize=C}get minSize(){return this._minSize}set preferredSize(C){this._preferredSize=C}get preferredSize(){return this._preferredSize}}e.ResizableHTMLElement=w}),define(te[473],ie([1,0,18,2,99]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CommitCharacterController=void 0;class I{constructor(b,C,u){this._disposables=new m.DisposableStore,this._disposables.add(C.onDidShow(()=>this._onItem(C.getFocusedItem()))),this._disposables.add(C.onDidFocus(this._onItem,this)),this._disposables.add(C.onDidHide(this.reset,this)),this._disposables.add(b.onWillType(g=>{if(this._active&&!C.isFrozen()){const t=g.charCodeAt(g.length-1);this._active.acceptCharacters.has(t)&&b.getOption(0)&&u(this._active.item)}}))}_onItem(b){if(!b||!(0,L.isNonEmptyArray)(b.item.completion.commitCharacters)){this.reset();return}if(this._active&&this._active.item.item===b.item)return;const C=new k.CharacterSet;for(const u of b.item.completion.commitCharacters)u.length>0&&C.add(u.charCodeAt(0));this._active={acceptCharacters:C,item:b}}reset(){this._active=void 0}dispose(){this._disposables.dispose()}}e.CommitCharacterController=I}),define(te[474],ie([1,0,2]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OvertypingCapturer=void 0;class m{constructor(I,w){this._disposables=new L.DisposableStore,this._lastOvertyped=[],this._empty=!0,this._disposables.add(I.onWillType(()=>{if(!this._empty||!I.hasModel())return;const b=I.getSelections(),C=b.length;let u=!1;for(let t=0;t<C;t++)if(!b[t].isEmpty()){u=!0;break}if(!u)return;this._lastOvertyped=[];const g=I.getModel();for(let t=0;t<C;t++){const n=b[t];if(g.getValueLengthInRange(n)>m._maxSelectionLength)return;this._lastOvertyped[t]={value:g.getValueInRange(n),multiline:n.startLineNumber!==n.endLineNumber}}this._empty=!1})),this._disposables.add(w.onDidCancel(b=>{!this._empty&&!b.retrigger&&(this._empty=!0)}))}getLastOvertypedInfo(I){if(!this._empty&&I>=0&&I<this._lastOvertyped.length)return this._lastOvertyped[I]}dispose(){this._disposables.dispose()}}e.OvertypingCapturer=m,m._maxSelectionLength=51200}),define(te[475],ie([1,0,18,3,264]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WordDistance=void 0;class I{static create(b,C){return we(this,void 0,void 0,function*(){if(!C.getOption(106).localityBonus||!C.hasModel())return I.None;const u=C.getModel(),g=C.getPosition();if(!b.canComputeWordRanges(u.uri))return I.None;const[t]=yield new k.BracketSelectionRangeProvider().provideSelectionRanges(u,[g]);if(t.length===0)return I.None;const n=yield b.computeWordRanges(u.uri,t[0].range);if(!n)return I.None;const i=u.getWordUntilPosition(g);return delete n[i.word],new class extends I{distance(o,c){if(!g.equals(C.getPosition()))return 0;if(c.kind===17)return 2<<20;let d=typeof c.label=="string"?c.label:c.label.label,r=n[d];if((0,L.isFalsyOrEmpty)(r))return 2<<20;let s=(0,L.binarySearch)(r,m.Range.fromPositions(o),m.Range.compareRangesUsingStarts),a=s>=0?r[s]:r[Math.max(0,~s-1)],l=t.length;for(const h of t){if(!m.Range.containsRange(h.range,a))break;l-=1}return l}}})}}e.WordDistance=I,I.None=new class extends I{distance(){return 0}}}),define(te[266],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.stateExists=e.findRules=e.substituteMatches=e.createError=e.log=e.sanitize=e.fixCase=e.empty=e.isIAction=e.isString=e.isFuzzyAction=e.isFuzzyActionArr=void 0;function L(o){return Array.isArray(o)}e.isFuzzyActionArr=L;function m(o){return!L(o)}e.isFuzzyAction=m;function k(o){return typeof o=="string"}e.isString=k;function I(o){return!k(o)}e.isIAction=I;function w(o){return!o}e.empty=w;function b(o,c){return o.ignoreCase&&c?c.toLowerCase():c}e.fixCase=b;function C(o){return o.replace(/[&<>'"_]/g,"-")}e.sanitize=C;function u(o,c){console.log(`${o.languageId}: ${c}`)}e.log=u;function g(o,c){return new Error(`${o.languageId}: ${c}`)}e.createError=g;function t(o,c,d,r,s){const a=/\$((\$)|(#)|(\d\d?)|[sS](\d\d?)|@(\w+))/g;let l=null;return c.replace(a,function(h,f,S,v,p,_,y,E,N){return w(S)?w(v)?!w(p)&&p<r.length?b(o,r[p]):!w(y)&&o&&typeof o[y]=="string"?o[y]:(l===null&&(l=s.split("."),l.unshift(s)),!w(_)&&_<l.length?b(o,l[_]):""):b(o,d):"$"})}e.substituteMatches=t;function n(o,c){let d=c;for(;d&&d.length>0;){const r=o.tokenizer[d];if(r)return r;const s=d.lastIndexOf(".");s<0?d=null:d=d.substr(0,s)}return null}e.findRules=n;function i(o,c){let d=c;for(;d&&d.length>0;){if(o.stateNames[d])return!0;const s=d.lastIndexOf(".");s<0?d=null:d=d.substr(0,s)}return!1}e.stateExists=i}),define(te[476],ie([1,0,266]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.compile=void 0;function m(o,c){if(!c||!Array.isArray(c))return!1;for(const d of c)if(!o(d))return!1;return!0}function k(o,c){return typeof o=="boolean"?o:c}function I(o,c){return typeof o=="string"?o:c}function w(o){const c={};for(const d of o)c[d]=!0;return c}function b(o,c=!1){c&&(o=o.map(function(r){return r.toLowerCase()}));const d=w(o);return c?function(r){return d[r.toLowerCase()]!==void 0&&d.hasOwnProperty(r.toLowerCase())}:function(r){return d[r]!==void 0&&d.hasOwnProperty(r)}}function C(o,c){c=c.replace(/@@/g,"");let d=0,r;do r=!1,c=c.replace(/@(\w+)/g,function(a,l){r=!0;let h="";if(typeof o[l]=="string")h=o[l];else if(o[l]&&o[l]instanceof RegExp)h=o[l].source;else throw o[l]===void 0?L.createError(o,"language definition does not contain attribute '"+l+"', used at: "+c):L.createError(o,"attribute reference '"+l+"' must be a string, used at: "+c);return L.empty(h)?"":"(?:"+h+")"}),d++;while(r&&d<5);c=c.replace(/\x01/g,"@");const s=(o.ignoreCase?"i":"")+(o.unicode?"u":"");return new RegExp(c,s)}function u(o,c,d,r){if(r<0)return o;if(r<c.length)return c[r];if(r>=100){r=r-100;const s=d.split(".");if(s.unshift(d),r<s.length)return s[r]}return null}function g(o,c,d,r){let s=-1,a=d,l=d.match(/^\$(([sS]?)(\d\d?)|#)(.*)$/);l&&(l[3]&&(s=parseInt(l[3]),l[2]&&(s=s+100)),a=l[4]);let h="~",f=a;!a||a.length===0?(h="!=",f=""):/^\w*$/.test(f)?h="==":(l=a.match(/^(@|!@|~|!~|==|!=)(.*)$/),l&&(h=l[1],f=l[2]));let S;if((h==="~"||h==="!~")&&/^(\w|\|)*$/.test(f)){const v=b(f.split("|"),o.ignoreCase);S=function(p){return h==="~"?v(p):!v(p)}}else if(h==="@"||h==="!@"){const v=o[f];if(!v)throw L.createError(o,"the @ match target '"+f+"' is not defined, in rule: "+c);if(!m(function(_){return typeof _=="string"},v))throw L.createError(o,"the @ match target '"+f+"' must be an array of strings, in rule: "+c);const p=b(v,o.ignoreCase);S=function(_){return h==="@"?p(_):!p(_)}}else if(h==="~"||h==="!~")if(f.indexOf("$")<0){const v=C(o,"^"+f+"$");S=function(p){return h==="~"?v.test(p):!v.test(p)}}else S=function(v,p,_,y){return C(o,"^"+L.substituteMatches(o,f,p,_,y)+"$").test(v)};else if(f.indexOf("$")<0){const v=L.fixCase(o,f);S=function(p){return h==="=="?p===v:p!==v}}else{const v=L.fixCase(o,f);S=function(p,_,y,E,N){const D=L.substituteMatches(o,v,_,y,E);return h==="=="?p===D:p!==D}}return s===-1?{name:d,value:r,test:function(v,p,_,y){return S(v,v,p,_,y)}}:{name:d,value:r,test:function(v,p,_,y){const E=u(v,p,_,s);return S(E||"",v,p,_,y)}}}function t(o,c,d){if(d){if(typeof d=="string")return d;if(d.token||d.token===""){if(typeof d.token!="string")throw L.createError(o,"a 'token' attribute must be of type string, in rule: "+c);{const r={token:d.token};if(d.token.indexOf("$")>=0&&(r.tokenSubst=!0),typeof d.bracket=="string")if(d.bracket==="@open")r.bracket=1;else if(d.bracket==="@close")r.bracket=-1;else throw L.createError(o,"a 'bracket' attribute must be either '@open' or '@close', in rule: "+c);if(d.next){if(typeof d.next!="string")throw L.createError(o,"the next state must be a string value in rule: "+c);{let s=d.next;if(!/^(@pop|@push|@popall)$/.test(s)&&(s[0]==="@"&&(s=s.substr(1)),s.indexOf("$")<0&&!L.stateExists(o,L.substituteMatches(o,s,"",[],""))))throw L.createError(o,"the next state '"+d.next+"' is not defined in rule: "+c);r.next=s}}return typeof d.goBack=="number"&&(r.goBack=d.goBack),typeof d.switchTo=="string"&&(r.switchTo=d.switchTo),typeof d.log=="string"&&(r.log=d.log),typeof d.nextEmbedded=="string"&&(r.nextEmbedded=d.nextEmbedded,o.usesEmbedded=!0),r}}else if(Array.isArray(d)){const r=[];for(let s=0,a=d.length;s<a;s++)r[s]=t(o,c,d[s]);return{group:r}}else if(d.cases){const r=[];for(let a in d.cases)if(d.cases.hasOwnProperty(a)){const l=t(o,c,d.cases[a]);a==="@default"||a==="@"||a===""?r.push({test:void 0,value:l,name:a}):a==="@eos"?r.push({test:function(h,f,S,v){return v},value:l,name:a}):r.push(g(o,c,a,l))}const s=o.defaultToken;return{test:function(a,l,h,f){for(const S of r)if(!S.test||S.test(a,l,h,f))return S.value;return s}}}else throw L.createError(o,"an action must be a string, an object with a 'token' or 'cases' attribute, or an array of actions; in rule: "+c)}else return{token:""}}class n{constructor(c){this.regex=new RegExp(""),this.action={token:""},this.matchOnlyAtLineStart=!1,this.name="",this.name=c}setRegex(c,d){let r;if(typeof d=="string")r=d;else if(d instanceof RegExp)r=d.source;else throw L.createError(c,"rules must start with a match string or regular expression: "+this.name);this.matchOnlyAtLineStart=r.length>0&&r[0]==="^",this.name=this.name+": "+r,this.regex=C(c,"^(?:"+(this.matchOnlyAtLineStart?r.substr(1):r)+")")}setAction(c,d){this.action=t(c,this.name,d)}}function i(o,c){if(!c||typeof c!="object")throw new Error("Monarch: expecting a language definition object");const d={};d.languageId=o,d.includeLF=k(c.includeLF,!1),d.noThrow=!1,d.maxStack=100,d.start=typeof c.start=="string"?c.start:null,d.ignoreCase=k(c.ignoreCase,!1),d.unicode=k(c.unicode,!1),d.tokenPostfix=I(c.tokenPostfix,"."+d.languageId),d.defaultToken=I(c.defaultToken,"source"),d.usesEmbedded=!1;const r=c;r.languageId=o,r.includeLF=d.includeLF,r.ignoreCase=d.ignoreCase,r.unicode=d.unicode,r.noThrow=d.noThrow,r.usesEmbedded=d.usesEmbedded,r.stateNames=c.tokenizer,r.defaultToken=d.defaultToken;function s(l,h,f){for(const S of f){let v=S.include;if(v){if(typeof v!="string")throw L.createError(d,"an 'include' attribute must be a string at: "+l);if(v[0]==="@"&&(v=v.substr(1)),!c.tokenizer[v])throw L.createError(d,"include target '"+v+"' is not defined at: "+l);s(l+"."+v,h,c.tokenizer[v])}else{const p=new n(l);if(Array.isArray(S)&&S.length>=1&&S.length<=3)if(p.setRegex(r,S[0]),S.length>=3)if(typeof S[1]=="string")p.setAction(r,{token:S[1],next:S[2]});else if(typeof S[1]=="object"){const _=S[1];_.next=S[2],p.setAction(r,_)}else throw L.createError(d,"a next state as the last element of a rule can only be given if the action is either an object or a string, at: "+l);else p.setAction(r,S[1]);else{if(!S.regex)throw L.createError(d,"a rule must either be an array, or an object with a 'regex' or 'include' field at: "+l);S.name&&typeof S.name=="string"&&(p.name=S.name),S.matchOnlyAtStart&&(p.matchOnlyAtLineStart=k(S.matchOnlyAtLineStart,!1)),p.setRegex(r,S.regex),p.setAction(r,S.action)}h.push(p)}}}if(!c.tokenizer||typeof c.tokenizer!="object")throw L.createError(d,"a language definition must define the 'tokenizer' attribute as an object");d.tokenizer=[];for(let l in c.tokenizer)if(c.tokenizer.hasOwnProperty(l)){d.start||(d.start=l);const h=c.tokenizer[l];d.tokenizer[l]=new Array,s("tokenizer."+l,d.tokenizer[l],h)}if(d.usesEmbedded=r.usesEmbedded,c.brackets){if(!Array.isArray(c.brackets))throw L.createError(d,"the 'brackets' attribute must be defined as an array")}else c.brackets=[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}];const a=[];for(let l of c.brackets){let h=l;if(h&&Array.isArray(h)&&h.length===3&&(h={token:h[2],open:h[0],close:h[1]}),h.open===h.close)throw L.createError(d,"open and close brackets in a 'brackets' attribute must be different: "+h.open+`
+ hint: use the 'bracket' attribute if matching on equal brackets is required.`);if(typeof h.open=="string"&&typeof h.token=="string"&&typeof h.close=="string")a.push({token:h.token+d.tokenPostfix,open:L.fixCase(d,h.open),close:L.fixCase(d,h.close)});else throw L.createError(d,"every element in the 'brackets' array must be a '{open,close,token}' object or array")}return d.brackets=a,d.noThrow=!0,d}e.compile=i}),define(te[267],ie([1,0,27,124,266]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MonarchTokenizer=void 0;const I=5;class w{constructor(d){this._maxCacheDepth=d,this._entries=Object.create(null)}static create(d,r){return this._INSTANCE.create(d,r)}create(d,r){if(d!==null&&d.depth>=this._maxCacheDepth)return new b(d,r);let s=b.getStackElementId(d);s.length>0&&(s+="|"),s+=r;let a=this._entries[s];return a||(a=new b(d,r),this._entries[s]=a,a)}}w._INSTANCE=new w(I);class b{constructor(d,r){this.parent=d,this.state=r,this.depth=(this.parent?this.parent.depth:0)+1}static getStackElementId(d){let r="";for(;d!==null;)r.length>0&&(r+="|"),r+=d.state,d=d.parent;return r}static _equals(d,r){for(;d!==null&&r!==null;){if(d===r)return!0;if(d.state!==r.state)return!1;d=d.parent,r=r.parent}return d===null&&r===null}equals(d){return b._equals(this,d)}push(d){return w.create(this,d)}pop(){return this.parent}popall(){let d=this;for(;d.parent;)d=d.parent;return d}switchTo(d){return w.create(this.parent,d)}}class C{constructor(d,r){this.languageId=d,this.state=r}equals(d){return this.languageId===d.languageId&&this.state.equals(d.state)}clone(){return this.state.clone()===this.state?this:new C(this.languageId,this.state)}}class u{constructor(d){this._maxCacheDepth=d,this._entries=Object.create(null)}static create(d,r){return this._INSTANCE.create(d,r)}create(d,r){if(r!==null)return new g(d,r);if(d!==null&&d.depth>=this._maxCacheDepth)return new g(d,r);const s=b.getStackElementId(d);let a=this._entries[s];return a||(a=new g(d,null),this._entries[s]=a,a)}}u._INSTANCE=new u(I);class g{constructor(d,r){this.stack=d,this.embeddedLanguageData=r}clone(){return(this.embeddedLanguageData?this.embeddedLanguageData.clone():null)===this.embeddedLanguageData?this:u.create(this.stack,this.embeddedLanguageData)}equals(d){return!(d instanceof g)||!this.stack.equals(d.stack)?!1:this.embeddedLanguageData===null&&d.embeddedLanguageData===null?!0:this.embeddedLanguageData===null||d.embeddedLanguageData===null?!1:this.embeddedLanguageData.equals(d.embeddedLanguageData)}}class t{constructor(){this._tokens=[],this._languageId=null,this._lastTokenType=null,this._lastTokenLanguage=null}enterLanguage(d){this._languageId=d}emit(d,r){this._lastTokenType===r&&this._lastTokenLanguage===this._languageId||(this._lastTokenType=r,this._lastTokenLanguage=this._languageId,this._tokens.push(new L.Token(d,r,this._languageId)))}nestedLanguageTokenize(d,r,s,a){const l=s.languageId,h=s.state,f=L.TokenizationRegistry.get(l);if(!f)return this.enterLanguage(l),this.emit(a,""),h;const S=f.tokenize(d,r,h);if(a!==0)for(const v of S.tokens)this._tokens.push(new L.Token(v.offset+a,v.type,v.language));else this._tokens=this._tokens.concat(S.tokens);return this._lastTokenType=null,this._lastTokenLanguage=null,this._languageId=null,S.endState}finalize(d){return new L.TokenizationResult(this._tokens,d)}}class n{constructor(d,r){this._languageService=d,this._theme=r,this._prependTokens=null,this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0}enterLanguage(d){this._currentLanguageId=this._languageService.languageIdCodec.encodeLanguageId(d)}emit(d,r){const s=this._theme.match(this._currentLanguageId,r);this._lastTokenMetadata!==s&&(this._lastTokenMetadata=s,this._tokens.push(d),this._tokens.push(s))}static _merge(d,r,s){const a=d!==null?d.length:0,l=r.length,h=s!==null?s.length:0;if(a===0&&l===0&&h===0)return new Uint32Array(0);if(a===0&&l===0)return s;if(l===0&&h===0)return d;const f=new Uint32Array(a+l+h);d!==null&&f.set(d);for(let S=0;S<l;S++)f[a+S]=r[S];return s!==null&&f.set(s,a+l),f}nestedLanguageTokenize(d,r,s,a){const l=s.languageId,h=s.state,f=L.TokenizationRegistry.get(l);if(!f)return this.enterLanguage(l),this.emit(a,""),h;const S=f.tokenizeEncoded(d,r,h);if(a!==0)for(let v=0,p=S.tokens.length;v<p;v+=2)S.tokens[v]+=a;return this._prependTokens=n._merge(this._prependTokens,this._tokens,S.tokens),this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0,S.endState}finalize(d){return new L.EncodedTokenizationResult(n._merge(this._prependTokens,this._tokens,null),d)}}class i{constructor(d,r,s,a){this._languageService=d,this._standaloneThemeService=r,this._languageId=s,this._lexer=a,this._embeddedLanguages=Object.create(null),this.embeddedLoaded=Promise.resolve(void 0);let l=!1;this._tokenizationRegistryListener=L.TokenizationRegistry.onDidChange(h=>{if(l)return;let f=!1;for(let S=0,v=h.changedLanguages.length;S<v;S++){const p=h.changedLanguages[S];if(this._embeddedLanguages[p]){f=!0;break}}f&&(l=!0,L.TokenizationRegistry.fire([this._languageId]),l=!1)})}dispose(){this._tokenizationRegistryListener.dispose()}getLoadStatus(){const d=[];for(let r in this._embeddedLanguages){const s=L.TokenizationRegistry.get(r);if(s){if(s instanceof i){const a=s.getLoadStatus();a.loaded===!1&&d.push(a.promise)}continue}L.TokenizationRegistry.isResolved(r)||d.push(L.TokenizationRegistry.getOrCreate(r))}return d.length===0?{loaded:!0}:{loaded:!1,promise:Promise.all(d).then(r=>{})}}getInitialState(){const d=w.create(null,this._lexer.start);return u.create(d,null)}tokenize(d,r,s){const a=new t,l=this._tokenize(d,r,s,a);return a.finalize(l)}tokenizeEncoded(d,r,s){const a=new n(this._languageService,this._standaloneThemeService.getColorTheme().tokenTheme),l=this._tokenize(d,r,s,a);return a.finalize(l)}_tokenize(d,r,s,a){return s.embeddedLanguageData?this._nestedTokenize(d,r,s,0,a):this._myTokenize(d,r,s,0,a)}_findLeavingNestedLanguageOffset(d,r){let s=this._lexer.tokenizer[r.stack.state];if(!s&&(s=k.findRules(this._lexer,r.stack.state),!s))throw k.createError(this._lexer,"tokenizer state is not defined: "+r.stack.state);let a=-1,l=!1;for(const h of s){if(!k.isIAction(h.action)||h.action.nextEmbedded!=="@pop")continue;l=!0;let f=h.regex;const S=h.regex.source;if(S.substr(0,4)==="^(?:"&&S.substr(S.length-1,1)===")"){const p=(f.ignoreCase?"i":"")+(f.unicode?"u":"");f=new RegExp(S.substr(4,S.length-5),p)}const v=d.search(f);v===-1||v!==0&&h.matchOnlyAtLineStart||(a===-1||v<a)&&(a=v)}if(!l)throw k.createError(this._lexer,'no rule containing nextEmbedded: "@pop" in tokenizer embedded state: '+r.stack.state);return a}_nestedTokenize(d,r,s,a,l){const h=this._findLeavingNestedLanguageOffset(d,s);if(h===-1){const v=l.nestedLanguageTokenize(d,r,s.embeddedLanguageData,a);return u.create(s.stack,new C(s.embeddedLanguageData.languageId,v))}const f=d.substring(0,h);f.length>0&&l.nestedLanguageTokenize(f,!1,s.embeddedLanguageData,a);const S=d.substring(h);return this._myTokenize(S,r,s,a+h,l)}_safeRuleName(d){return d?d.name:"(unknown)"}_myTokenize(d,r,s,a,l){l.enterLanguage(this._languageId);const h=d.length,f=r&&this._lexer.includeLF?d+`
+`:d,S=f.length;let v=s.embeddedLanguageData,p=s.stack,_=0,y=null,E=!0;for(;E||_<S;){const N=_,D=p.depth,M=y?y.groups.length:0,B=p.state;let O=null,T=null,A=null,P=null,F=null;if(y){O=y.matches;const z=y.groups.shift();T=z.matched,A=z.action,P=y.rule,y.groups.length===0&&(y=null)}else{if(!E&&_>=S)break;E=!1;let z=this._lexer.tokenizer[B];if(!z&&(z=k.findRules(this._lexer,B),!z))throw k.createError(this._lexer,"tokenizer state is not defined: "+B);let j=f.substr(_);for(const $ of z)if((_===0||!$.matchOnlyAtLineStart)&&(O=j.match($.regex),O)){T=O[0],A=$.action;break}}if(O||(O=[""],T=""),A||(_<S&&(O=[f.charAt(_)],T=O[0]),A=this._lexer.defaultToken),T===null)break;for(_+=T.length;k.isFuzzyAction(A)&&k.isIAction(A)&&A.test;)A=A.test(T,O,B,_===S);let W=null;if(typeof A=="string"||Array.isArray(A))W=A;else if(A.group)W=A.group;else if(A.token!==null&&A.token!==void 0){if(A.tokenSubst?W=k.substituteMatches(this._lexer,A.token,T,O,B):W=A.token,A.nextEmbedded)if(A.nextEmbedded==="@pop"){if(!v)throw k.createError(this._lexer,"cannot pop embedded language if not inside one");v=null}else{if(v)throw k.createError(this._lexer,"cannot enter embedded language from within an embedded language");F=k.substituteMatches(this._lexer,A.nextEmbedded,T,O,B)}if(A.goBack&&(_=Math.max(0,_-A.goBack)),A.switchTo&&typeof A.switchTo=="string"){let z=k.substituteMatches(this._lexer,A.switchTo,T,O,B);if(z[0]==="@"&&(z=z.substr(1)),k.findRules(this._lexer,z))p=p.switchTo(z);else throw k.createError(this._lexer,"trying to switch to a state '"+z+"' that is undefined in rule: "+this._safeRuleName(P))}else{if(A.transform&&typeof A.transform=="function")throw k.createError(this._lexer,"action.transform not supported");if(A.next)if(A.next==="@push"){if(p.depth>=this._lexer.maxStack)throw k.createError(this._lexer,"maximum tokenizer stack size reached: ["+p.state+","+p.parent.state+",...]");p=p.push(B)}else if(A.next==="@pop"){if(p.depth<=1)throw k.createError(this._lexer,"trying to pop an empty stack in rule: "+this._safeRuleName(P));p=p.pop()}else if(A.next==="@popall")p=p.popall();else{let z=k.substituteMatches(this._lexer,A.next,T,O,B);if(z[0]==="@"&&(z=z.substr(1)),k.findRules(this._lexer,z))p=p.push(z);else throw k.createError(this._lexer,"trying to set a next state '"+z+"' that is undefined in rule: "+this._safeRuleName(P))}}A.log&&typeof A.log=="string"&&k.log(this._lexer,this._lexer.languageId+": "+k.substituteMatches(this._lexer,A.log,T,O,B))}if(W===null)throw k.createError(this._lexer,"lexer rule has no well-defined action in rule: "+this._safeRuleName(P));const R=z=>{const j=this._languageService.getLanguageIdByLanguageName(z)||this._languageService.getLanguageIdByMimeType(z)||z,$=this._getNestedEmbeddedLanguageData(j);if(_<S){const G=d.substr(_);return this._nestedTokenize(G,r,u.create(p,$),a+_,l)}else return u.create(p,$)};if(Array.isArray(W)){if(y&&y.groups.length>0)throw k.createError(this._lexer,"groups cannot be nested: "+this._safeRuleName(P));if(O.length!==W.length+1)throw k.createError(this._lexer,"matched number of groups does not match the number of actions in rule: "+this._safeRuleName(P));let z=0;for(let j=1;j<O.length;j++)z+=O[j].length;if(z!==T.length)throw k.createError(this._lexer,"with groups, all characters should be matched in consecutive groups in rule: "+this._safeRuleName(P));y={rule:P,matches:O,groups:[]};for(let j=0;j<W.length;j++)y.groups[j]={action:W[j],matched:O[j+1]};_-=T.length;continue}else{if(W==="@rematch"&&(_-=T.length,T="",O=null,W="",F!==null))return R(F);if(T.length===0){if(S===0||D!==p.depth||B!==p.state||(y?y.groups.length:0)!==M)continue;throw k.createError(this._lexer,"no progress in tokenizer in rule: "+this._safeRuleName(P))}let z=null;if(k.isString(W)&&W.indexOf("@brackets")===0){const j=W.substr("@brackets".length),$=o(this._lexer,T);if(!$)throw k.createError(this._lexer,"@brackets token returned but no bracket defined as: "+T);z=k.sanitize($.token+j)}else{const j=W===""?"":W+this._lexer.tokenPostfix;z=k.sanitize(j)}N<h&&l.emit(N+a,z)}if(F!==null)return R(F)}return u.create(p,v)}_getNestedEmbeddedLanguageData(d){if(!this._languageService.isRegisteredLanguageId(d))return new C(d,m.NullState);d!==this._languageId&&(L.TokenizationRegistry.getOrCreate(d),this._embeddedLanguages[d]=!0);const r=L.TokenizationRegistry.get(d);return r?new C(d,r.getInitialState()):new C(d,m.NullState)}}e.MonarchTokenizer=i;function o(c,d){if(!d)return null;d=k.fixCase(c,d);const r=c.brackets;for(const s of r){if(s.open===d)return{token:s.token,bracketType:1};if(s.close===d)return{token:s.token,bracketType:-1}}return null}}),define(te[477],ie([1,0,8,77,27,126,71,267]),function(q,e,L,m,k,I,w,b){"use strict";var C;Object.defineProperty(e,"__esModule",{value:!0}),e.Colorizer=void 0;const u=(C=window.trustedTypes)===null||C===void 0?void 0:C.createPolicy("standaloneColorizer",{createHTML:o=>o});class g{static colorizeElement(c,d,r,s){s=s||{};const a=s.theme||"vs",l=s.mimeType||r.getAttribute("lang")||r.getAttribute("data-lang");if(!l)return console.error("Mode not detected"),Promise.resolve();const h=d.getLanguageIdByMimeType(l)||l;c.setTheme(a);const f=r.firstChild?r.firstChild.nodeValue:"";r.className+=" "+a;const S=v=>{var p;const _=(p=u==null?void 0:u.createHTML(v))!==null&&p!==void 0?p:v;r.innerHTML=_};return this.colorize(d,f||"",h,s).then(S,v=>console.error(v))}static colorize(c,d,r,s){return we(this,void 0,void 0,function*(){const a=c.languageIdCodec;let l=4;s&&typeof s.tabSize=="number"&&(l=s.tabSize),L.startsWithUTF8BOM(d)&&(d=d.substr(1));const h=L.splitLines(d);if(!c.isRegisteredLanguageId(r))return n(h,l,a);const f=yield k.TokenizationRegistry.getOrCreate(r);return f?t(h,l,f,a):n(h,l,a)})}static colorizeLine(c,d,r,s,a=4){const l=w.ViewLineRenderingData.isBasicASCII(c,d),h=w.ViewLineRenderingData.containsRTL(c,l,r);return(0,I.renderViewLine2)(new I.RenderLineInput(!1,!0,c,!1,l,h,0,s,[],a,0,0,0,0,-1,"none",!1,!1,null)).html}static colorizeModelLine(c,d,r=4){const s=c.getLineContent(d);c.forceTokenization(d);const l=c.getLineTokens(d).inflate();return this.colorizeLine(s,c.mightContainNonBasicASCII(),c.mightContainRTL(),l,r)}}e.Colorizer=g;function t(o,c,d,r){return new Promise((s,a)=>{const l=()=>{const h=i(o,c,d,r);if(d instanceof b.MonarchTokenizer){const f=d.getLoadStatus();if(f.loaded===!1){f.promise.then(l,a);return}}s(h)};l()})}function n(o,c,d){let r=[];const s=(0<<10|1<<14|2<<23)>>>0,a=new Uint32Array(2);a[0]=0,a[1]=s;for(let l=0,h=o.length;l<h;l++){const f=o[l];a[0]=f.length;const S=new m.LineTokens(a,f,d),v=w.ViewLineRenderingData.isBasicASCII(f,!0),p=w.ViewLineRenderingData.containsRTL(f,v,!0),_=(0,I.renderViewLine2)(new I.RenderLineInput(!1,!0,f,!1,v,p,0,S,[],c,0,0,0,0,-1,"none",!1,!1,null));r=r.concat(_.html),r.push("<br/>")}return r.join("")}function i(o,c,d,r){let s=[],a=d.getInitialState();for(let l=0,h=o.length;l<h;l++){const f=o[l],S=d.tokenizeEncoded(f,!0,a);m.LineTokens.convertToEndOffset(S.tokens,f.length);const v=new m.LineTokens(S.tokens,f,r),p=w.ViewLineRenderingData.isBasicASCII(f,!0),_=w.ViewLineRenderingData.containsRTL(f,p,!0),y=(0,I.renderViewLine2)(new I.RenderLineInput(!1,!0,f,!1,p,_,0,v.inflate(),[],c,0,0,0,0,-1,"none",!1,!1,null));s=s.concat(y.html),s.push("<br/>"),a=S.endState}return s.join("")}}),define(te[478],ie([5,6]),function(q,e){return q.create("vs/base/browser/ui/actionbar/actionViewItems",e)}),define(te[479],ie([5,6]),function(q,e){return q.create("vs/base/browser/ui/findinput/findInput",e)}),define(te[480],ie([5,6]),function(q,e){return q.create("vs/base/browser/ui/findinput/findInputCheckboxes",e)}),define(te[268],ie([1,0,174,28,480]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RegexCheckbox=e.WholeWordsCheckbox=e.CaseSensitiveCheckbox=void 0;const I=k.localize(0,null),w=k.localize(1,null),b=k.localize(2,null);class C extends L.Checkbox{constructor(n){super({icon:m.Codicon.caseSensitive,title:I+n.appendTitle,isChecked:n.isChecked,inputActiveOptionBorder:n.inputActiveOptionBorder,inputActiveOptionForeground:n.inputActiveOptionForeground,inputActiveOptionBackground:n.inputActiveOptionBackground})}}e.CaseSensitiveCheckbox=C;class u extends L.Checkbox{constructor(n){super({icon:m.Codicon.wholeWord,title:w+n.appendTitle,isChecked:n.isChecked,inputActiveOptionBorder:n.inputActiveOptionBorder,inputActiveOptionForeground:n.inputActiveOptionForeground,inputActiveOptionBackground:n.inputActiveOptionBackground})}}e.WholeWordsCheckbox=u;class g extends L.Checkbox{constructor(n){super({icon:m.Codicon.regex,title:b+n.appendTitle,isChecked:n.isChecked,inputActiveOptionBorder:n.inputActiveOptionBorder,inputActiveOptionForeground:n.inputActiveOptionForeground,inputActiveOptionBackground:n.inputActiveOptionBackground})}}e.RegexCheckbox=g}),define(te[481],ie([5,6]),function(q,e){return q.create("vs/base/browser/ui/findinput/replaceInput",e)}),define(te[482],ie([5,6]),function(q,e){return q.create("vs/base/browser/ui/iconLabel/iconLabelHover",e)}),define(te[483],ie([1,0,7,10,21,68,97,2,19,482]),function(q,e,L,m,k,I,w,b,C,u){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.setupCustomHover=e.setupNativeHover=void 0;function g(i,o){(0,C.isString)(o)?i.title=(0,w.stripIcons)(o):(o==null?void 0:o.markdownNotSupportedFallback)?i.title=o.markdownNotSupportedFallback:i.removeAttribute("title")}e.setupNativeHover=g;class t{constructor(o,c,d){this.hoverDelegate=o,this.target=c,this.fadeInAnimation=d}update(o,c){var d;return we(this,void 0,void 0,function*(){if(this._cancellationTokenSource&&(this._cancellationTokenSource.dispose(!0),this._cancellationTokenSource=void 0),this.isDisposed)return;let r;if(o===void 0||(0,C.isString)(o)||o instanceof HTMLElement)r=o;else if(!(0,C.isFunction)(o.markdown))r=(d=o.markdown)!==null&&d!==void 0?d:o.markdownNotSupportedFallback;else{this._hoverWidget||this.show((0,u.localize)(0,null),c),this._cancellationTokenSource=new k.CancellationTokenSource;const s=this._cancellationTokenSource.token;if(r=yield o.markdown(s),r===void 0&&(r=o.markdownNotSupportedFallback),this.isDisposed||s.isCancellationRequested)return}this.show(r,c)})}show(o,c){const d=this._hoverWidget;if(this.hasContent(o)){const r={content:o,target:this.target,showPointer:this.hoverDelegate.placement==="element",hoverPosition:2,skipFadeInAnimation:!this.fadeInAnimation||!!d};this._hoverWidget=this.hoverDelegate.showHover(r,c)}d==null||d.dispose()}hasContent(o){return o?(0,I.isMarkdownString)(o)?!!o.value:!0:!1}get isDisposed(){var o;return(o=this._hoverWidget)===null||o===void 0?void 0:o.isDisposed}dispose(){var o,c;(o=this._hoverWidget)===null||o===void 0||o.dispose(),(c=this._cancellationTokenSource)===null||c===void 0||c.dispose(!0),this._cancellationTokenSource=void 0}}function n(i,o,c){let d,r;const s=(S,v)=>{var p;S&&(r==null||r.dispose(),r=void 0),v&&(d==null||d.dispose(),d=void 0),(p=i.onDidHideHover)===null||p===void 0||p.call(i)},a=(S,v,p)=>new m.TimeoutTimer(()=>we(this,void 0,void 0,function*(){(!r||r.isDisposed)&&(r=new t(i,p||o,S>0),yield r.update(c,v))}),S),l=()=>{if(d)return;const S=new b.DisposableStore,v=y=>s(!1,y.fromElement===o);S.add(L.addDisposableListener(o,L.EventType.MOUSE_LEAVE,v,!0));const p=()=>s(!0,!0);S.add(L.addDisposableListener(o,L.EventType.MOUSE_DOWN,p,!0));const _={targetElements:[o],dispose:()=>{}};if(i.placement===void 0||i.placement==="mouse"){const y=E=>_.x=E.x+10;S.add(L.addDisposableListener(o,L.EventType.MOUSE_MOVE,y,!0))}S.add(a(i.delay,!1,_)),d=S},h=L.addDisposableListener(o,L.EventType.MOUSE_OVER,l,!0);return{show:S=>{s(!1,!0),a(0,S)},hide:()=>{s(!0,!0)},update:S=>we(this,void 0,void 0,function*(){c=S,yield r==null?void 0:r.update(c)}),dispose:()=>{h.dispose(),s(!0,!0)}}}e.setupCustomHover=n}),define(te[195],ie([1,0,7,220,483,2,40,139,340]),function(q,e,L,m,k,I,w,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IconLabel=void 0;class C{constructor(o){this._element=o}get element(){return this._element}set textContent(o){this.disposed||o===this._textContent||(this._textContent=o,this._element.textContent=o)}set className(o){this.disposed||o===this._className||(this._className=o,this._element.className=o)}set empty(o){this.disposed||o===this._empty||(this._empty=o,this._element.style.marginLeft=o?"0":"")}dispose(){this.disposed=!0}}class u extends I.Disposable{constructor(o,c){super();this.customHovers=new Map,this.domNode=this._register(new C(L.append(o,L.$(".monaco-icon-label")))),this.labelContainer=L.append(this.domNode.element,L.$(".monaco-icon-label-container"));const d=L.append(this.labelContainer,L.$("span.monaco-icon-name-container"));this.descriptionContainer=this._register(new C(L.append(this.labelContainer,L.$("span.monaco-icon-description-container")))),(c==null?void 0:c.supportHighlights)||(c==null?void 0:c.supportIcons)?this.nameNode=new n(d,!!c.supportIcons):this.nameNode=new g(d),(c==null?void 0:c.supportDescriptionHighlights)?this.descriptionNodeFactory=()=>new m.HighlightedLabel(L.append(this.descriptionContainer.element,L.$("span.label-description")),{supportIcons:!!c.supportIcons}):this.descriptionNodeFactory=()=>this._register(new C(L.append(this.descriptionContainer.element,L.$("span.label-description")))),this.hoverDelegate=c==null?void 0:c.hoverDelegate}get element(){return this.domNode.element}setLabel(o,c,d){const r=["monaco-icon-label"];d&&(d.extraClasses&&r.push(...d.extraClasses),d.italic&&r.push("italic"),d.strikethrough&&r.push("strikethrough")),this.domNode.className=r.join(" "),this.setupHover((d==null?void 0:d.descriptionTitle)?this.labelContainer:this.element,d==null?void 0:d.title),this.nameNode.setLabel(o,d),(c||this.descriptionNode)&&(this.descriptionNode||(this.descriptionNode=this.descriptionNodeFactory()),this.descriptionNode instanceof m.HighlightedLabel?(this.descriptionNode.set(c||"",d?d.descriptionMatches:void 0),this.setupHover(this.descriptionNode.element,d==null?void 0:d.descriptionTitle)):(this.descriptionNode.textContent=c||"",this.setupHover(this.descriptionNode.element,(d==null?void 0:d.descriptionTitle)||""),this.descriptionNode.empty=!c))}setupHover(o,c){const d=this.customHovers.get(o);if(d&&(d.dispose(),this.customHovers.delete(o)),!c){o.removeAttribute("title");return}if(!this.hoverDelegate)(0,k.setupNativeHover)(o,c);else{const r=(0,k.setupCustomHover)(this.hoverDelegate,o,c);r&&this.customHovers.set(o,r)}}dispose(){super.dispose();for(const o of this.customHovers.values())o.dispose();this.customHovers.clear()}}e.IconLabel=u;class g{constructor(o){this.container=o,this.label=void 0,this.singleLabel=void 0}setLabel(o,c){if(!(this.label===o&&(0,w.equals)(this.options,c)))if(this.label=o,this.options=c,typeof o=="string")this.singleLabel||(this.container.innerText="",this.container.classList.remove("multiple"),this.singleLabel=L.append(this.container,L.$("a.label-name",{id:c==null?void 0:c.domId}))),this.singleLabel.textContent=o;else{this.container.innerText="",this.container.classList.add("multiple"),this.singleLabel=void 0;for(let d=0;d<o.length;d++){const r=o[d],s=(c==null?void 0:c.domId)&&`${c==null?void 0:c.domId}_${d}`;L.append(this.container,L.$("a.label-name",{id:s,"data-icon-label-count":o.length,"data-icon-label-index":d,role:"treeitem"},r)),d<o.length-1&&L.append(this.container,L.$("span.label-separator",void 0,(c==null?void 0:c.separator)||"/"))}}}}function t(i,o,c){if(!c)return;let d=0;return i.map(r=>{const s={start:d,end:d+r.length},a=c.map(l=>b.Range.intersect(s,l)).filter(l=>!b.Range.isEmpty(l)).map(({start:l,end:h})=>({start:l-d,end:h-d}));return d=s.end+o.length,a})}class n{constructor(o,c){this.container=o,this.supportIcons=c,this.label=void 0,this.singleLabel=void 0}setLabel(o,c){if(!(this.label===o&&(0,w.equals)(this.options,c)))if(this.label=o,this.options=c,typeof o=="string")this.singleLabel||(this.container.innerText="",this.container.classList.remove("multiple"),this.singleLabel=new m.HighlightedLabel(L.append(this.container,L.$("a.label-name",{id:c==null?void 0:c.domId})),{supportIcons:this.supportIcons})),this.singleLabel.set(o,c==null?void 0:c.matches,void 0,c==null?void 0:c.labelEscapeNewLines);else{this.container.innerText="",this.container.classList.add("multiple"),this.singleLabel=void 0;const d=(c==null?void 0:c.separator)||"/",r=t(o,d,c==null?void 0:c.matches);for(let s=0;s<o.length;s++){const a=o[s],l=r?r[s]:void 0,h=(c==null?void 0:c.domId)&&`${c==null?void 0:c.domId}_${s}`,f=L.$("a.label-name",{id:h,"data-icon-label-count":o.length,"data-icon-label-index":s,role:"treeitem"});new m.HighlightedLabel(L.append(this.container,f),{supportIcons:this.supportIcons}).set(a,l,void 0,c==null?void 0:c.labelEscapeNewLines),s<o.length-1&&L.append(f,L.$("span.label-separator",void 0,d))}}}}}),define(te[484],ie([5,6]),function(q,e){return q.create("vs/base/browser/ui/inputbox/inputBox",e)}),define(te[485],ie([5,6]),function(q,e){return q.create("vs/base/browser/ui/keybindingLabel/keybindingLabel",e)}),define(te[486],ie([5,6]),function(q,e){return q.create("vs/base/browser/ui/tree/abstractTree",e)}),define(te[196],ie([1,0,166,7,92,44,175,117,169,111,18,10,28,217,4,75,2,113,16,486,352]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s,a){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractTree=e.RenderIndentGuides=e.ComposedTreeDelegate=void 0;class l extends w.ElementsDragAndDropData{constructor(F){super(F.elements.map(W=>W.element));this.data=F}}function h(P){return P instanceof w.ElementsDragAndDropData?new l(P):P}class f{constructor(F,W){this.modelProvider=F,this.dnd=W,this.autoExpandDisposable=d.Disposable.None}getDragURI(F){return this.dnd.getDragURI(F.element)}getDragLabel(F,W){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(F.map(R=>R.element),W)}onDragStart(F,W){this.dnd.onDragStart&&this.dnd.onDragStart(h(F),W)}onDragOver(F,W,R,z,j=!0){const $=this.dnd.onDragOver(h(F),W&&W.element,R,z),G=this.autoExpandNode!==W;if(G&&(this.autoExpandDisposable.dispose(),this.autoExpandNode=W),typeof W=="undefined")return $;if(G&&typeof $!="boolean"&&$.autoExpand&&(this.autoExpandDisposable=(0,t.disposableTimeout)(()=>{const V=this.modelProvider(),K=V.getNodeLocation(W);V.isCollapsed(K)&&V.setCollapsed(K,!1),this.autoExpandNode=void 0},500)),typeof $=="boolean"||!$.accept||typeof $.bubble=="undefined"||$.feedback){if(!j){const V=typeof $=="boolean"?$:$.accept,K=typeof $=="boolean"?void 0:$.effect;return{accept:V,effect:K,feedback:[R]}}return $}if($.bubble===1){const V=this.modelProvider(),K=V.getNodeLocation(W),X=V.getParentNodeLocation(K),oe=V.getNode(X),ae=X&&V.getListIndex(X);return this.onDragOver(F,oe,ae,z,!1)}const J=this.modelProvider(),re=J.getNodeLocation(W),se=J.getListIndex(re),Z=J.getListRenderCount(re);return Object.assign(Object.assign({},$),{feedback:(0,g.range)(se,se+Z)})}drop(F,W,R,z){this.autoExpandDisposable.dispose(),this.autoExpandNode=void 0,this.dnd.drop(h(F),W&&W.element,R,z)}onDragEnd(F){this.dnd.onDragEnd&&this.dnd.onDragEnd(F)}}function S(P,F){return F&&Object.assign(Object.assign({},F),{identityProvider:F.identityProvider&&{getId(W){return F.identityProvider.getId(W.element)}},dnd:F.dnd&&new f(P,F.dnd),multipleSelectionController:F.multipleSelectionController&&{isSelectionSingleChangeEvent(W){return F.multipleSelectionController.isSelectionSingleChangeEvent(Object.assign(Object.assign({},W),{element:W.element}))},isSelectionRangeChangeEvent(W){return F.multipleSelectionController.isSelectionRangeChangeEvent(Object.assign(Object.assign({},W),{element:W.element}))}},accessibilityProvider:F.accessibilityProvider&&Object.assign(Object.assign({},F.accessibilityProvider),{getSetSize(W){const R=P(),z=R.getNodeLocation(W),j=R.getParentNodeLocation(z);return R.getNode(j).visibleChildrenCount},getPosInSet(W){return W.visibleChildIndex+1},isChecked:F.accessibilityProvider&&F.accessibilityProvider.isChecked?W=>F.accessibilityProvider.isChecked(W.element):void 0,getRole:F.accessibilityProvider&&F.accessibilityProvider.getRole?W=>F.accessibilityProvider.getRole(W.element):()=>"treeitem",getAriaLabel(W){return F.accessibilityProvider.getAriaLabel(W.element)},getWidgetAriaLabel(){return F.accessibilityProvider.getWidgetAriaLabel()},getWidgetRole:F.accessibilityProvider&&F.accessibilityProvider.getWidgetRole?()=>F.accessibilityProvider.getWidgetRole():()=>"tree",getAriaLevel:F.accessibilityProvider&&F.accessibilityProvider.getAriaLevel?W=>F.accessibilityProvider.getAriaLevel(W.element):W=>W.depth,getActiveDescendantId:F.accessibilityProvider.getActiveDescendantId&&(W=>F.accessibilityProvider.getActiveDescendantId(W.element))}),keyboardNavigationLabelProvider:F.keyboardNavigationLabelProvider&&Object.assign(Object.assign({},F.keyboardNavigationLabelProvider),{getKeyboardNavigationLabel(W){return F.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(W.element)}}),enableKeyboardNavigation:F.simpleKeyboardNavigation})}class v{constructor(F){this.delegate=F}getHeight(F){return this.delegate.getHeight(F.element)}getTemplateId(F){return this.delegate.getTemplateId(F.element)}hasDynamicHeight(F){return!!this.delegate.hasDynamicHeight&&this.delegate.hasDynamicHeight(F.element)}setDynamicHeight(F,W){this.delegate.setDynamicHeight&&this.delegate.setDynamicHeight(F.element,W)}}e.ComposedTreeDelegate=v;var p;(function(P){P.None="none",P.OnHover="onHover",P.Always="always"})(p=e.RenderIndentGuides||(e.RenderIndentGuides={}));class _{constructor(F,W=[]){this._elements=W,this.onDidChange=o.Event.forEach(F,R=>this._elements=R)}get elements(){return this._elements}}class y{constructor(F,W,R,z,j={}){this.renderer=F,this.modelProvider=W,this.activeNodes=z,this.renderedElements=new Map,this.renderedNodes=new Map,this.indent=y.DefaultIndent,this.hideTwistiesOfChildlessElements=!1,this.shouldRenderIndentGuides=!1,this.renderedIndentGuides=new i.SetMap,this.activeIndentNodes=new Set,this.indentGuidesDisposable=d.Disposable.None,this.disposables=new d.DisposableStore,this.templateId=F.templateId,this.updateOptions(j),o.Event.map(R,$=>$.node)(this.onDidChangeNodeTwistieState,this,this.disposables),F.onDidChangeTwistieState&&F.onDidChangeTwistieState(this.onDidChangeTwistieState,this,this.disposables)}updateOptions(F={}){if(typeof F.indent!="undefined"&&(this.indent=(0,r.clamp)(F.indent,0,40)),typeof F.renderIndentGuides!="undefined"){const W=F.renderIndentGuides!==p.None;if(W!==this.shouldRenderIndentGuides&&(this.shouldRenderIndentGuides=W,this.indentGuidesDisposable.dispose(),W)){const R=new d.DisposableStore;this.activeNodes.onDidChange(this._onDidChangeActiveNodes,this,R),this.indentGuidesDisposable=R,this._onDidChangeActiveNodes(this.activeNodes.elements)}}typeof F.hideTwistiesOfChildlessElements!="undefined"&&(this.hideTwistiesOfChildlessElements=F.hideTwistiesOfChildlessElements)}renderTemplate(F){const W=(0,m.append)(F,(0,m.$)(".monaco-tl-row")),R=(0,m.append)(W,(0,m.$)(".monaco-tl-indent")),z=(0,m.append)(W,(0,m.$)(".monaco-tl-twistie")),j=(0,m.append)(W,(0,m.$)(".monaco-tl-contents")),$=this.renderer.renderTemplate(j);return{container:F,indent:R,twistie:z,indentGuidesDisposable:d.Disposable.None,templateData:$}}renderElement(F,W,R,z){typeof z=="number"&&(this.renderedNodes.set(F,{templateData:R,height:z}),this.renderedElements.set(F.element,F));const j=y.DefaultIndent+(F.depth-1)*this.indent;R.twistie.style.paddingLeft=`${j}px`,R.indent.style.width=`${j+this.indent-16}px`,this.renderTwistie(F,R),typeof z=="number"&&this.renderIndentGuides(F,R),this.renderer.renderElement(F,W,R.templateData,z)}disposeElement(F,W,R,z){R.indentGuidesDisposable.dispose(),this.renderer.disposeElement&&this.renderer.disposeElement(F,W,R.templateData,z),typeof z=="number"&&(this.renderedNodes.delete(F),this.renderedElements.delete(F.element))}disposeTemplate(F){this.renderer.disposeTemplate(F.templateData)}onDidChangeTwistieState(F){const W=this.renderedElements.get(F);!W||this.onDidChangeNodeTwistieState(W)}onDidChangeNodeTwistieState(F){const W=this.renderedNodes.get(F);!W||(this.renderTwistie(F,W.templateData),this._onDidChangeActiveNodes(this.activeNodes.elements),this.renderIndentGuides(F,W.templateData))}renderTwistie(F,W){W.twistie.classList.remove(...n.Codicon.treeItemExpanded.classNamesArray);let R=!1;this.renderer.renderTwistie&&(R=this.renderer.renderTwistie(F.element,W.twistie)),F.collapsible&&(!this.hideTwistiesOfChildlessElements||F.visibleChildrenCount>0)?(R||W.twistie.classList.add(...n.Codicon.treeItemExpanded.classNamesArray),W.twistie.classList.add("collapsible"),W.twistie.classList.toggle("collapsed",F.collapsed)):W.twistie.classList.remove("collapsible","collapsed"),F.collapsible?W.container.setAttribute("aria-expanded",String(!F.collapsed)):W.container.removeAttribute("aria-expanded")}renderIndentGuides(F,W){if((0,m.clearNode)(W.indent),W.indentGuidesDisposable.dispose(),!this.shouldRenderIndentGuides)return;const R=new d.DisposableStore,z=this.modelProvider();let j=F;for(;;){const $=z.getNodeLocation(j),G=z.getParentNodeLocation($);if(!G)break;const J=z.getNode(G),re=(0,m.$)(".indent-guide",{style:`width: ${this.indent}px`});this.activeIndentNodes.has(J)&&re.classList.add("active"),W.indent.childElementCount===0?W.indent.appendChild(re):W.indent.insertBefore(re,W.indent.firstElementChild),this.renderedIndentGuides.add(J,re),R.add((0,d.toDisposable)(()=>this.renderedIndentGuides.delete(J,re))),j=J}W.indentGuidesDisposable=R}_onDidChangeActiveNodes(F){if(!this.shouldRenderIndentGuides)return;const W=new Set,R=this.modelProvider();F.forEach(z=>{const j=R.getNodeLocation(z);try{const $=R.getParentNodeLocation(j);z.collapsible&&z.children.length>0&&!z.collapsed?W.add(z):$&&W.add(R.getNode($))}catch{}}),this.activeIndentNodes.forEach(z=>{W.has(z)||this.renderedIndentGuides.forEach(z,j=>j.classList.remove("active"))}),W.forEach(z=>{this.activeIndentNodes.has(z)||this.renderedIndentGuides.forEach(z,j=>j.classList.add("active"))}),this.activeIndentNodes=W}dispose(){this.renderedNodes.clear(),this.renderedElements.clear(),this.indentGuidesDisposable.dispose(),(0,d.dispose)(this.disposables)}}y.DefaultIndent=8;class E{constructor(F,W,R){this.tree=F,this.keyboardNavigationLabelProvider=W,this._filter=R,this._totalCount=0,this._matchCount=0,this._pattern="",this._lowercasePattern="",this.disposables=new d.DisposableStore,F.onWillRefilter(this.reset,this,this.disposables)}get totalCount(){return this._totalCount}get matchCount(){return this._matchCount}set pattern(F){this._pattern=F,this._lowercasePattern=F.toLowerCase()}filter(F,W){if(this._filter){const j=this._filter.filter(F,W);if(this.tree.options.simpleKeyboardNavigation)return j;let $;if(typeof j=="boolean"?$=j?1:0:(0,C.isFilterResult)(j)?$=(0,C.getVisibleState)(j.visibility):$=j,$===0)return!1}if(this._totalCount++,this.tree.options.simpleKeyboardNavigation||!this._pattern)return this._matchCount++,{data:c.FuzzyScore.Default,visibility:!0};const R=this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(F),z=Array.isArray(R)?R:[R];for(const j of z){const $=j&&j.toString();if(typeof $=="undefined")return{data:c.FuzzyScore.Default,visibility:!0};const G=(0,c.fuzzyScore)(this._pattern,this._lowercasePattern,0,$,$.toLowerCase(),0,!0);if(G)return this._matchCount++,z.length===1?{data:G,visibility:!0}:{data:{label:$,score:G},visibility:!0}}return this.tree.options.filterOnType?2:{data:c.FuzzyScore.Default,visibility:!0}}reset(){this._totalCount=0,this._matchCount=0}dispose(){(0,d.dispose)(this.disposables)}}class N{constructor(F,W,R,z,j){this.tree=F,this.view=R,this.filter=z,this.keyboardNavigationDelegate=j,this._enabled=!1,this._pattern="",this._empty=!1,this._onDidChangeEmptyState=new o.Emitter,this.positionClassName="ne",this.automaticKeyboardNavigation=!0,this.triggered=!1,this._onDidChangePattern=new o.Emitter,this.enabledDisposables=new d.DisposableStore,this.disposables=new d.DisposableStore,this.domNode=(0,m.$)(`.monaco-list-type-filter.${this.positionClassName}`),this.domNode.draggable=!0,this.disposables.add((0,m.addDisposableListener)(this.domNode,"dragstart",()=>this.onDragStart())),this.messageDomNode=(0,m.append)(R.getHTMLElement(),(0,m.$)(".monaco-list-type-filter-message")),this.labelDomNode=(0,m.append)(this.domNode,(0,m.$)("span.label"));const $=(0,m.append)(this.domNode,(0,m.$)(".controls"));this._filterOnType=!!F.options.filterOnType,this.filterOnTypeDomNode=(0,m.append)($,(0,m.$)("input.filter")),this.filterOnTypeDomNode.type="checkbox",this.filterOnTypeDomNode.checked=this._filterOnType,this.filterOnTypeDomNode.tabIndex=-1,this.updateFilterOnTypeTitleAndIcon(),this.disposables.add((0,m.addDisposableListener)(this.filterOnTypeDomNode,"input",()=>this.onDidChangeFilterOnType())),this.clearDomNode=(0,m.append)($,(0,m.$)("button.clear"+n.Codicon.treeFilterClear.cssSelector)),this.clearDomNode.tabIndex=-1,this.clearDomNode.title=(0,a.localize)(0,null),this.keyboardNavigationEventFilter=F.options.keyboardNavigationEventFilter,W.onDidSplice(this.onDidSpliceModel,this,this.disposables),this.updateOptions(F.options)}get enabled(){return this._enabled}get pattern(){return this._pattern}get filterOnType(){return this._filterOnType}updateOptions(F){F.simpleKeyboardNavigation?this.disable():this.enable(),typeof F.filterOnType!="undefined"&&(this._filterOnType=!!F.filterOnType,this.filterOnTypeDomNode.checked=this._filterOnType,this.updateFilterOnTypeTitleAndIcon()),typeof F.automaticKeyboardNavigation!="undefined"&&(this.automaticKeyboardNavigation=F.automaticKeyboardNavigation),this.tree.refilter(),this.render(),this.automaticKeyboardNavigation||this.onEventOrInput("")}enable(){if(this._enabled)return;const F=this.enabledDisposables.add(new k.DomEmitter(this.view.getHTMLElement(),"keydown")),W=o.Event.chain(F.event).filter(z=>!(0,b.isInputElement)(z.target)||z.target===this.filterOnTypeDomNode).filter(z=>z.key!=="Dead"&&!/^Media/.test(z.key)).map(z=>new I.StandardKeyboardEvent(z)).filter(this.keyboardNavigationEventFilter||(()=>!0)).filter(()=>this.automaticKeyboardNavigation||this.triggered).filter(z=>this.keyboardNavigationDelegate.mightProducePrintableCharacter(z)&&!(z.keyCode===18||z.keyCode===16||z.keyCode===15||z.keyCode===17)||(this.pattern.length>0||this.triggered)&&(z.keyCode===9||z.keyCode===1)&&!z.altKey&&!z.ctrlKey&&!z.metaKey||z.keyCode===1&&(s.isMacintosh?z.altKey&&!z.metaKey:z.ctrlKey)&&!z.shiftKey).forEach(z=>{z.stopPropagation(),z.preventDefault()}).event,R=this.enabledDisposables.add(new k.DomEmitter(this.clearDomNode,"click"));o.Event.chain(o.Event.any(W,R.event)).event(this.onEventOrInput,this,this.enabledDisposables),this.filter.pattern="",this.tree.refilter(),this.render(),this._enabled=!0,this.triggered=!1}disable(){!this._enabled||(this.domNode.remove(),this.enabledDisposables.clear(),this.tree.refilter(),this.render(),this._enabled=!1,this.triggered=!1)}onEventOrInput(F){typeof F=="string"?this.onInput(F):F instanceof MouseEvent||F.keyCode===9||F.keyCode===1&&(s.isMacintosh?F.altKey:F.ctrlKey)?this.onInput(""):F.keyCode===1?this.onInput(this.pattern.length===0?"":this.pattern.substr(0,this.pattern.length-1)):this.onInput(this.pattern+F.browserEvent.key)}onInput(F){const W=this.view.getHTMLElement();F&&!this.domNode.parentElement?W.append(this.domNode):!F&&this.domNode.parentElement&&(this.domNode.remove(),this.tree.domFocus()),this._pattern=F,this._onDidChangePattern.fire(F),this.filter.pattern=F,this.tree.refilter(),F&&this.tree.focusNext(0,!0,void 0,z=>!c.FuzzyScore.isDefault(z.filterData));const R=this.tree.getFocus();if(R.length>0){const z=R[0];this.tree.getRelativeTop(z)===null&&this.tree.reveal(z,.5)}this.render(),F||(this.triggered=!1)}onDragStart(){const F=this.view.getHTMLElement(),{left:W}=(0,m.getDomNodePagePosition)(F),R=F.clientWidth,z=R/2,j=this.domNode.clientWidth,$=new d.DisposableStore;let G=this.positionClassName;const J=()=>{switch(G){case"nw":this.domNode.style.top="4px",this.domNode.style.left="4px";break;case"ne":this.domNode.style.top="4px",this.domNode.style.left=`${R-j-6}px`;break}},re=Z=>{Z.preventDefault();const V=Z.clientX-W;Z.dataTransfer&&(Z.dataTransfer.dropEffect="none"),V<z?G="nw":G="ne",J()},se=()=>{this.positionClassName=G,this.domNode.className=`monaco-list-type-filter ${this.positionClassName}`,this.domNode.style.top="",this.domNode.style.left="",(0,d.dispose)($)};J(),this.domNode.classList.remove(G),this.domNode.classList.add("dragging"),$.add((0,d.toDisposable)(()=>this.domNode.classList.remove("dragging"))),$.add((0,m.addDisposableListener)(document,"dragover",Z=>re(Z))),$.add((0,m.addDisposableListener)(this.domNode,"dragend",()=>se())),L.StaticDND.CurrentDragAndDropData=new L.DragAndDropData("vscode-ui"),$.add((0,d.toDisposable)(()=>L.StaticDND.CurrentDragAndDropData=void 0))}onDidSpliceModel(){!this._enabled||this.pattern.length===0||(this.tree.refilter(),this.render())}onDidChangeFilterOnType(){this.tree.updateOptions({filterOnType:this.filterOnTypeDomNode.checked}),this.tree.refilter(),this.tree.domFocus(),this.render(),this.updateFilterOnTypeTitleAndIcon()}updateFilterOnTypeTitleAndIcon(){this.filterOnType?(this.filterOnTypeDomNode.classList.remove(...n.Codicon.treeFilterOnTypeOff.classNamesArray),this.filterOnTypeDomNode.classList.add(...n.Codicon.treeFilterOnTypeOn.classNamesArray),this.filterOnTypeDomNode.title=(0,a.localize)(1,null)):(this.filterOnTypeDomNode.classList.remove(...n.Codicon.treeFilterOnTypeOn.classNamesArray),this.filterOnTypeDomNode.classList.add(...n.Codicon.treeFilterOnTypeOff.classNamesArray),this.filterOnTypeDomNode.title=(0,a.localize)(2,null))}render(){const F=this.filter.totalCount>0&&this.filter.matchCount===0;this.pattern&&this.tree.options.filterOnType&&F?(this.messageDomNode.textContent=(0,a.localize)(3,null),this._empty=!0):(this.messageDomNode.innerText="",this._empty=!1),this.domNode.classList.toggle("no-matches",F),this.domNode.title=(0,a.localize)(4,null,this.filter.matchCount,this.filter.totalCount),this.labelDomNode.textContent=this.pattern.length>16?"\u2026"+this.pattern.substr(this.pattern.length-16):this.pattern,this._onDidChangeEmptyState.fire(this._empty)}shouldAllowFocus(F){return!this.enabled||!this.pattern||this.filterOnType||this.filter.totalCount>0&&this.filter.matchCount<=1?!0:!c.FuzzyScore.isDefault(F.filterData)}dispose(){this._enabled&&(this.domNode.remove(),this.enabledDisposables.dispose(),this._enabled=!1,this.triggered=!1),this._onDidChangePattern.dispose(),(0,d.dispose)(this.disposables)}}function D(P){let F=u.TreeMouseEventTarget.Unknown;return(0,m.hasParentWithClass)(P.browserEvent.target,"monaco-tl-twistie","monaco-tl-row")?F=u.TreeMouseEventTarget.Twistie:(0,m.hasParentWithClass)(P.browserEvent.target,"monaco-tl-contents","monaco-tl-row")&&(F=u.TreeMouseEventTarget.Element),{browserEvent:P.browserEvent,element:P.element?P.element.element:null,target:F}}function M(P,F){F(P),P.children.forEach(W=>M(W,F))}class B{constructor(F,W){this.getFirstViewElementWithTrait=F,this.identityProvider=W,this.nodes=[],this._onDidChange=new o.Emitter,this.onDidChange=this._onDidChange.event}get nodeSet(){return this._nodeSet||(this._nodeSet=this.createNodeSet()),this._nodeSet}set(F,W){!(W==null?void 0:W.__forceEvent)&&(0,g.equals)(this.nodes,F)||this._set(F,!1,W)}_set(F,W,R){if(this.nodes=[...F],this.elements=void 0,this._nodeSet=void 0,!W){const z=this;this._onDidChange.fire({get elements(){return z.get()},browserEvent:R})}}get(){return this.elements||(this.elements=this.nodes.map(F=>F.element)),[...this.elements]}getNodes(){return this.nodes}has(F){return this.nodeSet.has(F)}onDidModelSplice({insertedNodes:F,deletedNodes:W}){if(!this.identityProvider){const J=this.createNodeSet(),re=se=>J.delete(se);W.forEach(se=>M(se,re)),this.set([...J.values()]);return}const R=new Set,z=J=>R.add(this.identityProvider.getId(J.element).toString());W.forEach(J=>M(J,z));const j=new Map,$=J=>j.set(this.identityProvider.getId(J.element).toString(),J);F.forEach(J=>M(J,$));const G=[];for(const J of this.nodes){const re=this.identityProvider.getId(J.element).toString();if(!R.has(re))G.push(J);else{const Z=j.get(re);Z&&G.push(Z)}}if(this.nodes.length>0&&G.length===0){const J=this.getFirstViewElementWithTrait();J&&G.push(J)}this._set(G,!0)}createNodeSet(){const F=new Set;for(const W of this.nodes)F.add(W);return F}}class O extends b.MouseController{constructor(F,W){super(F);this.tree=W}onViewPointer(F){if((0,b.isInputElement)(F.browserEvent.target)||(0,b.isMonacoEditor)(F.browserEvent.target))return;const W=F.element;if(!W)return super.onViewPointer(F);if(this.isSelectionRangeChangeEvent(F)||this.isSelectionSingleChangeEvent(F))return super.onViewPointer(F);const R=F.browserEvent.target,z=R.classList.contains("monaco-tl-twistie")||R.classList.contains("monaco-icon-label")&&R.classList.contains("folder-icon")&&F.browserEvent.offsetX<16;let j=!1;if(typeof this.tree.expandOnlyOnTwistieClick=="function"?j=this.tree.expandOnlyOnTwistieClick(W.element):j=!!this.tree.expandOnlyOnTwistieClick,j&&!z&&F.browserEvent.detail!==2)return super.onViewPointer(F);if(!this.tree.expandOnDoubleClick&&F.browserEvent.detail===2)return super.onViewPointer(F);if(W.collapsible){const $=this.tree.model,G=$.getNodeLocation(W),J=F.browserEvent.altKey;if(this.tree.setFocus([G]),$.setCollapsed(G,void 0,J),j&&z)return}super.onViewPointer(F)}onDoubleClick(F){F.browserEvent.target.classList.contains("monaco-tl-twistie")||!this.tree.expandOnDoubleClick||super.onDoubleClick(F)}}class T extends b.List{constructor(F,W,R,z,j,$,G,J){super(F,W,R,z,J);this.focusTrait=j,this.selectionTrait=$,this.anchorTrait=G}createMouseController(F){return new O(this,F.tree)}splice(F,W,R=[]){if(super.splice(F,W,R),R.length===0)return;const z=[],j=[];let $;R.forEach((G,J)=>{this.focusTrait.has(G)&&z.push(F+J),this.selectionTrait.has(G)&&j.push(F+J),this.anchorTrait.has(G)&&($=F+J)}),z.length>0&&super.setFocus((0,g.distinct)([...super.getFocus(),...z])),j.length>0&&super.setSelection((0,g.distinct)([...super.getSelection(),...j])),typeof $=="number"&&super.setAnchor($)}setFocus(F,W,R=!1){super.setFocus(F,W),R||this.focusTrait.set(F.map(z=>this.element(z)),W)}setSelection(F,W,R=!1){super.setSelection(F,W),R||this.selectionTrait.set(F.map(z=>this.element(z)),W)}setAnchor(F,W=!1){super.setAnchor(F),W||(typeof F=="undefined"?this.anchorTrait.set([]):this.anchorTrait.set([this.element(F)]))}}class A{constructor(F,W,R,z,j={}){this._user=F,this._options=j,this.eventBufferer=new o.EventBufferer,this.disposables=new d.DisposableStore,this._onWillRefilter=new o.Emitter,this.onWillRefilter=this._onWillRefilter.event,this._onDidUpdateOptions=new o.Emitter;const $=new v(R),G=new o.Relay,J=new o.Relay,re=new _(J.event);this.renderers=z.map(V=>new y(V,()=>this.model,G.event,re,j));for(let V of this.renderers)this.disposables.add(V);let se;j.keyboardNavigationLabelProvider&&(se=new E(this,j.keyboardNavigationLabelProvider,j.filter),j=Object.assign(Object.assign({},j),{filter:se}),this.disposables.add(se)),this.focus=new B(()=>this.view.getFocusedElements()[0],j.identityProvider),this.selection=new B(()=>this.view.getSelectedElements()[0],j.identityProvider),this.anchor=new B(()=>this.view.getAnchorElement(),j.identityProvider),this.view=new T(F,W,$,this.renderers,this.focus,this.selection,this.anchor,Object.assign(Object.assign({},S(()=>this.model,j)),{tree:this})),this.model=this.createModel(F,this.view,j),G.input=this.model.onDidChangeCollapseState;const Z=o.Event.forEach(this.model.onDidSplice,V=>{this.eventBufferer.bufferEvents(()=>{this.focus.onDidModelSplice(V),this.selection.onDidModelSplice(V)})});if(Z(()=>null,null,this.disposables),J.input=o.Event.chain(o.Event.any(Z,this.focus.onDidChange,this.selection.onDidChange)).debounce(()=>null,0).map(()=>{const V=new Set;for(const K of this.focus.getNodes())V.add(K);for(const K of this.selection.getNodes())V.add(K);return[...V.values()]}).event,j.keyboardSupport!==!1){const V=o.Event.chain(this.view.onKeyDown).filter(K=>!(0,b.isInputElement)(K.target)).map(K=>new I.StandardKeyboardEvent(K));V.filter(K=>K.keyCode===15).on(this.onLeftArrow,this,this.disposables),V.filter(K=>K.keyCode===17).on(this.onRightArrow,this,this.disposables),V.filter(K=>K.keyCode===10).on(this.onSpace,this,this.disposables)}if(j.keyboardNavigationLabelProvider){const V=j.keyboardNavigationDelegate||b.DefaultKeyboardNavigationDelegate;this.typeFilterController=new N(this,this.model,this.view,se,V),this.focusNavigationFilter=K=>this.typeFilterController.shouldAllowFocus(K),this.disposables.add(this.typeFilterController)}this.styleElement=(0,m.createStyleSheet)(this.view.getHTMLElement()),this.getHTMLElement().classList.toggle("always",this._options.renderIndentGuides===p.Always)}get onDidChangeFocus(){return this.eventBufferer.wrapEvent(this.focus.onDidChange)}get onDidChangeSelection(){return this.eventBufferer.wrapEvent(this.selection.onDidChange)}get onMouseDblClick(){return o.Event.map(this.view.onMouseDblClick,D)}get onPointer(){return o.Event.map(this.view.onPointer,D)}get onDidFocus(){return this.view.onDidFocus}get onDidChangeModel(){return o.Event.signal(this.model.onDidSplice)}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}get expandOnDoubleClick(){return typeof this._options.expandOnDoubleClick=="undefined"?!0:this._options.expandOnDoubleClick}get expandOnlyOnTwistieClick(){return typeof this._options.expandOnlyOnTwistieClick=="undefined"?!0:this._options.expandOnlyOnTwistieClick}get onDidDispose(){return this.view.onDidDispose}updateOptions(F={}){this._options=Object.assign(Object.assign({},this._options),F);for(const W of this.renderers)W.updateOptions(F);this.view.updateOptions(Object.assign(Object.assign({},this._options),{enableKeyboardNavigation:this._options.simpleKeyboardNavigation})),this.typeFilterController&&this.typeFilterController.updateOptions(this._options),this._onDidUpdateOptions.fire(this._options),this.getHTMLElement().classList.toggle("always",this._options.renderIndentGuides===p.Always)}get options(){return this._options}getHTMLElement(){return this.view.getHTMLElement()}get scrollTop(){return this.view.scrollTop}set scrollTop(F){this.view.scrollTop=F}domFocus(){this.view.domFocus()}layout(F,W){this.view.layout(F,W)}style(F){const W=`.${this.view.domId}`,R=[];F.treeIndentGuidesStroke&&(R.push(`.monaco-list${W}:hover .monaco-tl-indent > .indent-guide, .monaco-list${W}.always .monaco-tl-indent > .indent-guide  { border-color: ${F.treeIndentGuidesStroke.transparent(.4)}; }`),R.push(`.monaco-list${W} .monaco-tl-indent > .indent-guide.active { border-color: ${F.treeIndentGuidesStroke}; }`)),this.styleElement.textContent=R.join(`
+`),this.view.style(F)}getParentElement(F){const W=this.model.getParentNodeLocation(F);return this.model.getNode(W).element}getFirstElementChild(F){return this.model.getFirstElementChild(F)}getNode(F){return this.model.getNode(F)}collapse(F,W=!1){return this.model.setCollapsed(F,!0,W)}expand(F,W=!1){return this.model.setCollapsed(F,!1,W)}isCollapsible(F){return this.model.isCollapsible(F)}setCollapsible(F,W){return this.model.setCollapsible(F,W)}isCollapsed(F){return this.model.isCollapsed(F)}refilter(){this._onWillRefilter.fire(void 0),this.model.refilter()}setSelection(F,W){const R=F.map(j=>this.model.getNode(j));this.selection.set(R,W);const z=F.map(j=>this.model.getListIndex(j)).filter(j=>j>-1);this.view.setSelection(z,W,!0)}getSelection(){return this.selection.get()}setFocus(F,W){const R=F.map(j=>this.model.getNode(j));this.focus.set(R,W);const z=F.map(j=>this.model.getListIndex(j)).filter(j=>j>-1);this.view.setFocus(z,W,!0)}focusNext(F=1,W=!1,R,z=this.focusNavigationFilter){this.view.focusNext(F,W,R,z)}getFocus(){return this.focus.get()}reveal(F,W){this.model.expandTo(F);const R=this.model.getListIndex(F);R!==-1&&this.view.reveal(R,W)}getRelativeTop(F){const W=this.model.getListIndex(F);return W===-1?null:this.view.getRelativeTop(W)}onLeftArrow(F){F.preventDefault(),F.stopPropagation();const W=this.view.getFocusedElements();if(W.length===0)return;const R=W[0],z=this.model.getNodeLocation(R);if(!this.model.setCollapsed(z,!0)){const $=this.model.getParentNodeLocation(z);if(!$)return;const G=this.model.getListIndex($);this.view.reveal(G),this.view.setFocus([G])}}onRightArrow(F){F.preventDefault(),F.stopPropagation();const W=this.view.getFocusedElements();if(W.length===0)return;const R=W[0],z=this.model.getNodeLocation(R);if(!this.model.setCollapsed(z,!1)){if(!R.children.some(J=>J.visible))return;const[$]=this.view.getFocus(),G=$+1;this.view.reveal(G),this.view.setFocus([G])}}onSpace(F){F.preventDefault(),F.stopPropagation();const W=this.view.getFocusedElements();if(W.length===0)return;const R=W[0],z=this.model.getNodeLocation(R),j=F.browserEvent.altKey;this.model.setCollapsed(z,void 0,j)}dispose(){(0,d.dispose)(this.disposables),this.view.dispose()}}e.AbstractTree=A}),define(te[487],ie([1,0,196,170]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DataTree=void 0;class k extends L.AbstractTree{constructor(w,b,C,u,g,t={}){super(w,b,C,u,t);this.user=w,this.dataSource=g,this.identityProvider=t.identityProvider}createModel(w,b,C){return new m.ObjectTreeModel(w,b,C)}}e.DataTree=k}),define(te[269],ie([1,0,196,321,170,95,57]),function(q,e,L,m,k,I,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CompressibleObjectTree=e.ObjectTree=void 0;class b extends L.AbstractTree{constructor(n,i,o,c,d={}){super(n,i,o,c,d);this.user=n}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}setChildren(n,i=w.Iterable.empty(),o){this.model.setChildren(n,i,o)}rerender(n){if(n===void 0){this.view.rerender();return}this.model.rerender(n)}hasElement(n){return this.model.has(n)}createModel(n,i,o){return new k.ObjectTreeModel(n,i,o)}}e.ObjectTree=b;class C{constructor(n,i){this._compressedTreeNodeProvider=n,this.renderer=i,this.templateId=i.templateId,i.onDidChangeTwistieState&&(this.onDidChangeTwistieState=i.onDidChangeTwistieState)}get compressedTreeNodeProvider(){return this._compressedTreeNodeProvider()}renderTemplate(n){const i=this.renderer.renderTemplate(n);return{compressedTreeNode:void 0,data:i}}renderElement(n,i,o,c){const d=this.compressedTreeNodeProvider.getCompressedTreeNode(n.element);d.element.elements.length===1?(o.compressedTreeNode=void 0,this.renderer.renderElement(n,i,o.data,c)):(o.compressedTreeNode=d,this.renderer.renderCompressedElements(d,i,o.data,c))}disposeElement(n,i,o,c){o.compressedTreeNode?this.renderer.disposeCompressedElements&&this.renderer.disposeCompressedElements(o.compressedTreeNode,i,o.data,c):this.renderer.disposeElement&&this.renderer.disposeElement(n,i,o.data,c)}disposeTemplate(n){this.renderer.disposeTemplate(n.data)}renderTwistie(n,i){return this.renderer.renderTwistie?this.renderer.renderTwistie(n,i):!1}}Ie([I.memoize],C.prototype,"compressedTreeNodeProvider",null);function u(t,n){return n&&Object.assign(Object.assign({},n),{keyboardNavigationLabelProvider:n.keyboardNavigationLabelProvider&&{getKeyboardNavigationLabel(i){let o;try{o=t().getCompressedTreeNode(i)}catch{return n.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(i)}return o.element.elements.length===1?n.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(i):n.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(o.element.elements)}}})}class g extends b{constructor(n,i,o,c,d={}){const r=()=>this,s=c.map(a=>new C(r,a));super(n,i,o,s,u(r,d))}setChildren(n,i=w.Iterable.empty(),o){this.model.setChildren(n,i,o)}createModel(n,i,o){return new m.CompressibleObjectTreeModel(n,i,o)}updateOptions(n={}){super.updateOptions(n),typeof n.compressionEnabled!="undefined"&&this.model.setCompressionEnabled(n.compressionEnabled)}getCompressedTreeNode(n=null){return this.model.getCompressedTreeNode(n)}}e.CompressibleObjectTree=g}),define(te[488],ie([1,0,175,196,169,269,111,10,28,13,4,57,2,19]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CompressibleAsyncDataTree=e.AsyncDataTree=void 0;function o(B){return Object.assign(Object.assign({},B),{children:[],refreshPromise:void 0,stale:!0,slow:!1,collapsedByDefault:void 0})}function c(B,O){return O.parent?O.parent===B?!0:c(B,O.parent):!1}function d(B,O){return B===O||c(B,O)||c(O,B)}class r{constructor(O){this.node=O}get element(){return this.node.element.element}get children(){return this.node.children.map(O=>new r(O))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}}class s{constructor(O,T,A){this.renderer=O,this.nodeMapper=T,this.onDidChangeTwistieState=A,this.renderedNodes=new Map,this.templateId=O.templateId}renderTemplate(O){return{templateData:this.renderer.renderTemplate(O)}}renderElement(O,T,A,P){this.renderer.renderElement(this.nodeMapper.map(O),T,A.templateData,P)}renderTwistie(O,T){return O.slow?(T.classList.add(...C.Codicon.treeItemLoading.classNamesArray),!0):(T.classList.remove(...C.Codicon.treeItemLoading.classNamesArray),!1)}disposeElement(O,T,A,P){this.renderer.disposeElement&&this.renderer.disposeElement(this.nodeMapper.map(O),T,A.templateData,P)}disposeTemplate(O){this.renderer.disposeTemplate(O.templateData)}dispose(){this.renderedNodes.clear()}}function a(B){return{browserEvent:B.browserEvent,elements:B.elements.map(O=>O.element)}}function l(B){return{browserEvent:B.browserEvent,element:B.element&&B.element.element,target:B.target}}class h extends L.ElementsDragAndDropData{constructor(O){super(O.elements.map(T=>T.element));this.data=O}}function f(B){return B instanceof L.ElementsDragAndDropData?new h(B):B}class S{constructor(O){this.dnd=O}getDragURI(O){return this.dnd.getDragURI(O.element)}getDragLabel(O,T){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(O.map(A=>A.element),T)}onDragStart(O,T){this.dnd.onDragStart&&this.dnd.onDragStart(f(O),T)}onDragOver(O,T,A,P,F=!0){return this.dnd.onDragOver(f(O),T&&T.element,A,P)}drop(O,T,A,P){this.dnd.drop(f(O),T&&T.element,A,P)}onDragEnd(O){this.dnd.onDragEnd&&this.dnd.onDragEnd(O)}}function v(B){return B&&Object.assign(Object.assign({},B),{collapseByDefault:!0,identityProvider:B.identityProvider&&{getId(O){return B.identityProvider.getId(O.element)}},dnd:B.dnd&&new S(B.dnd),multipleSelectionController:B.multipleSelectionController&&{isSelectionSingleChangeEvent(O){return B.multipleSelectionController.isSelectionSingleChangeEvent(Object.assign(Object.assign({},O),{element:O.element}))},isSelectionRangeChangeEvent(O){return B.multipleSelectionController.isSelectionRangeChangeEvent(Object.assign(Object.assign({},O),{element:O.element}))}},accessibilityProvider:B.accessibilityProvider&&Object.assign(Object.assign({},B.accessibilityProvider),{getPosInSet:void 0,getSetSize:void 0,getRole:B.accessibilityProvider.getRole?O=>B.accessibilityProvider.getRole(O.element):()=>"treeitem",isChecked:B.accessibilityProvider.isChecked?O=>{var T;return!!((T=B.accessibilityProvider)===null||T===void 0?void 0:T.isChecked(O.element))}:void 0,getAriaLabel(O){return B.accessibilityProvider.getAriaLabel(O.element)},getWidgetAriaLabel(){return B.accessibilityProvider.getWidgetAriaLabel()},getWidgetRole:B.accessibilityProvider.getWidgetRole?()=>B.accessibilityProvider.getWidgetRole():()=>"tree",getAriaLevel:B.accessibilityProvider.getAriaLevel&&(O=>B.accessibilityProvider.getAriaLevel(O.element)),getActiveDescendantId:B.accessibilityProvider.getActiveDescendantId&&(O=>B.accessibilityProvider.getActiveDescendantId(O.element))}),filter:B.filter&&{filter(O,T){return B.filter.filter(O.element,T)}},keyboardNavigationLabelProvider:B.keyboardNavigationLabelProvider&&Object.assign(Object.assign({},B.keyboardNavigationLabelProvider),{getKeyboardNavigationLabel(O){return B.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(O.element)}}),sorter:void 0,expandOnlyOnTwistieClick:typeof B.expandOnlyOnTwistieClick=="undefined"?void 0:typeof B.expandOnlyOnTwistieClick!="function"?B.expandOnlyOnTwistieClick:O=>B.expandOnlyOnTwistieClick(O.element),additionalScrollHeight:B.additionalScrollHeight})}function p(B,O){O(B),B.children.forEach(T=>p(T,O))}class _{constructor(O,T,A,P,F,W={}){this.user=O,this.dataSource=F,this.nodes=new Map,this.subTreeRefreshPromises=new Map,this.refreshPromises=new Map,this._onDidRender=new g.Emitter,this._onDidChangeNodeSlowState=new g.Emitter,this.nodeMapper=new w.WeakMapper(R=>new r(R)),this.disposables=new n.DisposableStore,this.identityProvider=W.identityProvider,this.autoExpandSingleChildren=typeof W.autoExpandSingleChildren=="undefined"?!1:W.autoExpandSingleChildren,this.sorter=W.sorter,this.collapseByDefault=W.collapseByDefault,this.tree=this.createTree(O,T,A,P,W),this.root=o({element:void 0,parent:null,hasChildren:!0}),this.identityProvider&&(this.root=Object.assign(Object.assign({},this.root),{id:null})),this.nodes.set(null,this.root),this.tree.onDidChangeCollapseState(this._onDidChangeCollapseState,this,this.disposables)}get onDidChangeFocus(){return g.Event.map(this.tree.onDidChangeFocus,a)}get onDidChangeSelection(){return g.Event.map(this.tree.onDidChangeSelection,a)}get onMouseDblClick(){return g.Event.map(this.tree.onMouseDblClick,l)}get onPointer(){return g.Event.map(this.tree.onPointer,l)}get onDidFocus(){return this.tree.onDidFocus}get onDidChangeModel(){return this.tree.onDidChangeModel}get onDidChangeCollapseState(){return this.tree.onDidChangeCollapseState}get onDidDispose(){return this.tree.onDidDispose}createTree(O,T,A,P,F){const W=new m.ComposedTreeDelegate(A),R=P.map(j=>new s(j,this.nodeMapper,this._onDidChangeNodeSlowState.event)),z=v(F)||{};return new I.ObjectTree(O,T,W,R,z)}updateOptions(O={}){this.tree.updateOptions(O)}getHTMLElement(){return this.tree.getHTMLElement()}get scrollTop(){return this.tree.scrollTop}set scrollTop(O){this.tree.scrollTop=O}domFocus(){this.tree.domFocus()}layout(O,T){this.tree.layout(O,T)}style(O){this.tree.style(O)}getInput(){return this.root.element}setInput(O,T){return we(this,void 0,void 0,function*(){this.refreshPromises.forEach(P=>P.cancel()),this.refreshPromises.clear(),this.root.element=O;const A=T&&{viewState:T,focus:[],selection:[]};yield this._updateChildren(O,!0,!1,A),A&&(this.tree.setFocus(A.focus),this.tree.setSelection(A.selection)),T&&typeof T.scrollTop=="number"&&(this.scrollTop=T.scrollTop)})}_updateChildren(O=this.root.element,T=!0,A=!1,P,F){return we(this,void 0,void 0,function*(){if(typeof this.root.element=="undefined")throw new w.TreeError(this.user,"Tree input not set");this.root.refreshPromise&&(yield this.root.refreshPromise,yield g.Event.toPromise(this._onDidRender.event));const W=this.getDataNode(O);if(yield this.refreshAndRenderNode(W,T,P,F),A)try{this.tree.rerender(W)}catch{}})}rerender(O){if(O===void 0||O===this.root.element){this.tree.rerender();return}const T=this.getDataNode(O);this.tree.rerender(T)}getNode(O=this.root.element){const T=this.getDataNode(O),A=this.tree.getNode(T===this.root?null:T);return this.nodeMapper.map(A)}collapse(O,T=!1){const A=this.getDataNode(O);return this.tree.collapse(A===this.root?null:A,T)}expand(O,T=!1){return we(this,void 0,void 0,function*(){if(typeof this.root.element=="undefined")throw new w.TreeError(this.user,"Tree input not set");this.root.refreshPromise&&(yield this.root.refreshPromise,yield g.Event.toPromise(this._onDidRender.event));const A=this.getDataNode(O);if(this.tree.hasElement(A)&&!this.tree.isCollapsible(A)||(A.refreshPromise&&(yield this.root.refreshPromise,yield g.Event.toPromise(this._onDidRender.event)),A!==this.root&&!A.refreshPromise&&!this.tree.isCollapsed(A)))return!1;const P=this.tree.expand(A===this.root?null:A,T);return A.refreshPromise&&(yield this.root.refreshPromise,yield g.Event.toPromise(this._onDidRender.event)),P})}setSelection(O,T){const A=O.map(P=>this.getDataNode(P));this.tree.setSelection(A,T)}getSelection(){return this.tree.getSelection().map(T=>T.element)}setFocus(O,T){const A=O.map(P=>this.getDataNode(P));this.tree.setFocus(A,T)}getFocus(){return this.tree.getFocus().map(T=>T.element)}reveal(O,T){this.tree.reveal(this.getDataNode(O),T)}getParentElement(O){const T=this.tree.getParentElement(this.getDataNode(O));return T&&T.element}getFirstElementChild(O=this.root.element){const T=this.getDataNode(O),A=this.tree.getFirstElementChild(T===this.root?null:T);return A&&A.element}getDataNode(O){const T=this.nodes.get(O===this.root.element?null:O);if(!T)throw new w.TreeError(this.user,`Data tree node not found: ${O}`);return T}refreshAndRenderNode(O,T,A,P){return we(this,void 0,void 0,function*(){yield this.refreshNode(O,T,A),this.render(O,A,P)})}refreshNode(O,T,A){return we(this,void 0,void 0,function*(){let P;return this.subTreeRefreshPromises.forEach((F,W)=>{!P&&d(W,O)&&(P=F.then(()=>this.refreshNode(O,T,A)))}),P||this.doRefreshSubTree(O,T,A)})}doRefreshSubTree(O,T,A){return we(this,void 0,void 0,function*(){let P;O.refreshPromise=new Promise(F=>P=F),this.subTreeRefreshPromises.set(O,O.refreshPromise),O.refreshPromise.finally(()=>{O.refreshPromise=void 0,this.subTreeRefreshPromises.delete(O)});try{const F=yield this.doRefreshNode(O,T,A);O.stale=!1,yield b.Promises.settled(F.map(W=>this.doRefreshSubTree(W,T,A)))}finally{P()}})}doRefreshNode(O,T,A){return we(this,void 0,void 0,function*(){O.hasChildren=!!this.dataSource.hasChildren(O.element);let P;if(!O.hasChildren)P=Promise.resolve(t.Iterable.empty());else{const F=this.doGetChildren(O);if((0,i.isIterable)(F))P=Promise.resolve(F);else{const W=(0,b.timeout)(800);W.then(()=>{O.slow=!0,this._onDidChangeNodeSlowState.fire(O)},R=>null),P=F.finally(()=>W.cancel())}}try{const F=yield P;return this.setChildren(O,F,T,A)}catch(F){if(O!==this.root&&this.tree.hasElement(O)&&this.tree.collapse(O),(0,u.isCancellationError)(F))return[];throw F}finally{O.slow&&(O.slow=!1,this._onDidChangeNodeSlowState.fire(O))}})}doGetChildren(O){let T=this.refreshPromises.get(O);if(T)return T;const A=this.dataSource.getChildren(O.element);return(0,i.isIterable)(A)?this.processChildren(A):(T=(0,b.createCancelablePromise)(()=>we(this,void 0,void 0,function*(){return this.processChildren(yield A)})),this.refreshPromises.set(O,T),T.finally(()=>{this.refreshPromises.delete(O)}))}_onDidChangeCollapseState({node:O,deep:T}){O.element!==null&&!O.collapsed&&O.element.stale&&(T?this.collapse(O.element.element):this.refreshAndRenderNode(O.element,!1).catch(u.onUnexpectedError))}setChildren(O,T,A,P){const F=[...T];if(O.children.length===0&&F.length===0)return[];const W=new Map,R=new Map;for(const $ of O.children)if(W.set($.element,$),this.identityProvider){const G=this.tree.isCollapsed($);R.set($.id,{node:$,collapsed:G})}const z=[],j=F.map($=>{const G=!!this.dataSource.hasChildren($);if(!this.identityProvider){const Z=o({element:$,parent:O,hasChildren:G});return G&&this.collapseByDefault&&!this.collapseByDefault($)&&(Z.collapsedByDefault=!1,z.push(Z)),Z}const J=this.identityProvider.getId($).toString(),re=R.get(J);if(re){const Z=re.node;return W.delete(Z.element),this.nodes.delete(Z.element),this.nodes.set($,Z),Z.element=$,Z.hasChildren=G,A?re.collapsed?(Z.children.forEach(V=>p(V,K=>this.nodes.delete(K.element))),Z.children.splice(0,Z.children.length),Z.stale=!0):z.push(Z):G&&this.collapseByDefault&&!this.collapseByDefault($)&&(Z.collapsedByDefault=!1,z.push(Z)),Z}const se=o({element:$,parent:O,id:J,hasChildren:G});return P&&P.viewState.focus&&P.viewState.focus.indexOf(J)>-1&&P.focus.push(se),P&&P.viewState.selection&&P.viewState.selection.indexOf(J)>-1&&P.selection.push(se),P&&P.viewState.expanded&&P.viewState.expanded.indexOf(J)>-1?z.push(se):G&&this.collapseByDefault&&!this.collapseByDefault($)&&(se.collapsedByDefault=!1,z.push(se)),se});for(const $ of W.values())p($,G=>this.nodes.delete(G.element));for(const $ of j)this.nodes.set($.element,$);return O.children.splice(0,O.children.length,...j),O!==this.root&&this.autoExpandSingleChildren&&j.length===1&&z.length===0&&(j[0].collapsedByDefault=!1,z.push(j[0])),z}render(O,T,A){const P=O.children.map(W=>this.asTreeElement(W,T)),F=A&&Object.assign(Object.assign({},A),{diffIdentityProvider:A.diffIdentityProvider&&{getId(W){return A.diffIdentityProvider.getId(W.element)}}});this.tree.setChildren(O===this.root?null:O,P,F),O!==this.root&&this.tree.setCollapsible(O,O.hasChildren),this._onDidRender.fire()}asTreeElement(O,T){if(O.stale)return{element:O,collapsible:O.hasChildren,collapsed:!0};let A;return T&&T.viewState.expanded&&O.id&&T.viewState.expanded.indexOf(O.id)>-1?A=!1:A=O.collapsedByDefault,O.collapsedByDefault=void 0,{element:O,children:O.hasChildren?t.Iterable.map(O.children,P=>this.asTreeElement(P,T)):[],collapsible:O.hasChildren,collapsed:A}}processChildren(O){return this.sorter&&(O=[...O].sort(this.sorter.compare.bind(this.sorter))),O}dispose(){this.disposables.dispose()}}e.AsyncDataTree=_;class y{constructor(O){this.node=O}get element(){return{elements:this.node.element.elements.map(O=>O.element),incompressible:this.node.element.incompressible}}get children(){return this.node.children.map(O=>new y(O))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}}class E{constructor(O,T,A,P){this.renderer=O,this.nodeMapper=T,this.compressibleNodeMapperProvider=A,this.onDidChangeTwistieState=P,this.renderedNodes=new Map,this.disposables=[],this.templateId=O.templateId}renderTemplate(O){return{templateData:this.renderer.renderTemplate(O)}}renderElement(O,T,A,P){this.renderer.renderElement(this.nodeMapper.map(O),T,A.templateData,P)}renderCompressedElements(O,T,A,P){this.renderer.renderCompressedElements(this.compressibleNodeMapperProvider().map(O),T,A.templateData,P)}renderTwistie(O,T){return O.slow?(T.classList.add(...C.Codicon.treeItemLoading.classNamesArray),!0):(T.classList.remove(...C.Codicon.treeItemLoading.classNamesArray),!1)}disposeElement(O,T,A,P){this.renderer.disposeElement&&this.renderer.disposeElement(this.nodeMapper.map(O),T,A.templateData,P)}disposeCompressedElements(O,T,A,P){this.renderer.disposeCompressedElements&&this.renderer.disposeCompressedElements(this.compressibleNodeMapperProvider().map(O),T,A.templateData,P)}disposeTemplate(O){this.renderer.disposeTemplate(O.templateData)}dispose(){this.renderedNodes.clear(),this.disposables=(0,n.dispose)(this.disposables)}}function N(B){const O=B&&v(B);return O&&Object.assign(Object.assign({},O),{keyboardNavigationLabelProvider:O.keyboardNavigationLabelProvider&&Object.assign(Object.assign({},O.keyboardNavigationLabelProvider),{getCompressedNodeKeyboardNavigationLabel(T){return B.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(T.map(A=>A.element))}})})}class D extends _{constructor(O,T,A,P,F,W,R={}){super(O,T,A,F,W,R);this.compressionDelegate=P,this.compressibleNodeMapper=new w.WeakMapper(z=>new y(z)),this.filter=R.filter}createTree(O,T,A,P,F){const W=new m.ComposedTreeDelegate(A),R=P.map(j=>new E(j,this.nodeMapper,()=>this.compressibleNodeMapper,this._onDidChangeNodeSlowState.event)),z=N(F)||{};return new I.CompressibleObjectTree(O,T,W,R,z)}asTreeElement(O,T){return Object.assign({incompressible:this.compressionDelegate.isIncompressible(O.element)},super.asTreeElement(O,T))}updateOptions(O={}){this.tree.updateOptions(O)}render(O,T){if(!this.identityProvider)return super.render(O,T);const A=J=>this.identityProvider.getId(J).toString(),P=J=>{const re=new Set;for(const se of J){const Z=this.tree.getCompressedTreeNode(se===this.root?null:se);if(!!Z.element)for(const V of Z.element.elements)re.add(A(V.element))}return re},F=P(this.tree.getSelection()),W=P(this.tree.getFocus());super.render(O,T);const R=this.getSelection();let z=!1;const j=this.getFocus();let $=!1;const G=J=>{const re=J.element;if(re)for(let se=0;se<re.elements.length;se++){const Z=A(re.elements[se].element),V=re.elements[re.elements.length-1].element;F.has(Z)&&R.indexOf(V)===-1&&(R.push(V),z=!0),W.has(Z)&&j.indexOf(V)===-1&&(j.push(V),$=!0)}J.children.forEach(G)};G(this.tree.getCompressedTreeNode(O===this.root?null:O)),z&&this.setSelection(R),$&&this.setFocus(j)}processChildren(O){return this.filter&&(O=t.Iterable.filter(O,T=>{const A=this.filter.filter(T,1),P=M(A);if(P===2)throw new Error("Recursive tree visibility not supported in async data compressed trees");return P===1})),super.processChildren(O)}}e.CompressibleAsyncDataTree=D;function M(B){return typeof B=="boolean"?B?1:0:(0,k.isFilterResult)(B)?(0,k.getVisibleState)(B.visibility):(0,k.getVisibleState)(B)}}),define(te[489],ie([5,6]),function(q,e){return q.create("vs/base/common/actions",e)}),define(te[47],ie([1,0,4,2,489]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EmptySubmenuAction=e.SubmenuAction=e.Separator=e.ActionRunner=e.Action=void 0;class I extends m.Disposable{constructor(t,n="",i="",o=!0,c){super();this._onDidChange=this._register(new L.Emitter),this.onDidChange=this._onDidChange.event,this._enabled=!0,this._id=t,this._label=n,this._cssClass=i,this._enabled=o,this._actionCallback=c}get id(){return this._id}get label(){return this._label}set label(t){this._setLabel(t)}_setLabel(t){this._label!==t&&(this._label=t,this._onDidChange.fire({label:t}))}get tooltip(){return this._tooltip||""}set tooltip(t){this._setTooltip(t)}_setTooltip(t){this._tooltip!==t&&(this._tooltip=t,this._onDidChange.fire({tooltip:t}))}get class(){return this._cssClass}set class(t){this._setClass(t)}_setClass(t){this._cssClass!==t&&(this._cssClass=t,this._onDidChange.fire({class:t}))}get enabled(){return this._enabled}set enabled(t){this._setEnabled(t)}_setEnabled(t){this._enabled!==t&&(this._enabled=t,this._onDidChange.fire({enabled:t}))}get checked(){return this._checked}set checked(t){this._setChecked(t)}_setChecked(t){this._checked!==t&&(this._checked=t,this._onDidChange.fire({checked:t}))}run(t,n){return we(this,void 0,void 0,function*(){this._actionCallback&&(yield this._actionCallback(t))})}}e.Action=I;class w extends m.Disposable{constructor(){super(...arguments);this._onBeforeRun=this._register(new L.Emitter),this.onBeforeRun=this._onBeforeRun.event,this._onDidRun=this._register(new L.Emitter),this.onDidRun=this._onDidRun.event}run(t,n){return we(this,void 0,void 0,function*(){if(!t.enabled)return;this._onBeforeRun.fire({action:t});let i;try{yield this.runAction(t,n)}catch(o){i=o}this._onDidRun.fire({action:t,error:i})})}runAction(t,n){return we(this,void 0,void 0,function*(){yield t.run(n)})}}e.ActionRunner=w;class b extends I{constructor(t){super(b.ID,t,t?"separator text":"separator");this.checked=!1,this.enabled=!1}}e.Separator=b,b.ID="vs.actions.separator";class C{constructor(t,n,i,o){this.tooltip="",this.enabled=!0,this.checked=void 0,this.id=t,this.label=n,this.class=o,this._actions=i}get actions(){return this._actions}dispose(){}run(){return we(this,void 0,void 0,function*(){})}}e.SubmenuAction=C;class u extends I{constructor(){super(u.ID,k.localize(0,null),void 0,!1)}}e.EmptySubmenuAction=u,u.ID="vs.actions.empty"}),define(te[128],ie([1,0,34,166,7,60,47,2,16,19,478,224]),function(q,e,L,m,k,I,w,b,C,u,g){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ActionViewItem=e.BaseActionViewItem=void 0;class t extends b.Disposable{constructor(o,c,d={}){super();this.options=d,this._context=o||this,this._action=c,c instanceof w.Action&&this._register(c.onDidChange(r=>{!this.element||this.handleActionChangeEvent(r)}))}handleActionChangeEvent(o){o.enabled!==void 0&&this.updateEnabled(),o.checked!==void 0&&this.updateChecked(),o.class!==void 0&&this.updateClass(),o.label!==void 0&&(this.updateLabel(),this.updateTooltip()),o.tooltip!==void 0&&this.updateTooltip()}get actionRunner(){return this._actionRunner||(this._actionRunner=this._register(new w.ActionRunner)),this._actionRunner}set actionRunner(o){this._actionRunner=o}getAction(){return this._action}isEnabled(){return this._action.enabled}setActionContext(o){this._context=o}render(o){const c=this.element=o;this._register(I.Gesture.addTarget(o));const d=this.options&&this.options.draggable;d&&(o.draggable=!0,L.isFirefox&&this._register((0,k.addDisposableListener)(o,k.EventType.DRAG_START,r=>{var s;return(s=r.dataTransfer)===null||s===void 0?void 0:s.setData(m.DataTransfers.TEXT,this._action.label)}))),this._register((0,k.addDisposableListener)(c,I.EventType.Tap,r=>this.onClick(r,!0))),this._register((0,k.addDisposableListener)(c,k.EventType.MOUSE_DOWN,r=>{d||k.EventHelper.stop(r,!0),this._action.enabled&&r.button===0&&c.classList.add("active")})),C.isMacintosh&&this._register((0,k.addDisposableListener)(c,k.EventType.CONTEXT_MENU,r=>{r.button===0&&r.ctrlKey===!0&&this.onClick(r)})),this._register((0,k.addDisposableListener)(c,k.EventType.CLICK,r=>{k.EventHelper.stop(r,!0),this.options&&this.options.isMenu||this.onClick(r)})),this._register((0,k.addDisposableListener)(c,k.EventType.DBLCLICK,r=>{k.EventHelper.stop(r,!0)})),[k.EventType.MOUSE_UP,k.EventType.MOUSE_OUT].forEach(r=>{this._register((0,k.addDisposableListener)(c,r,s=>{k.EventHelper.stop(s),c.classList.remove("active")}))})}onClick(o,c=!1){var d;k.EventHelper.stop(o,!0);const r=u.isUndefinedOrNull(this._context)?((d=this.options)===null||d===void 0?void 0:d.useEventAsContext)?o:{preserveFocus:c}:this._context;this.actionRunner.run(this._action,r)}focus(){this.element&&(this.element.tabIndex=0,this.element.focus(),this.element.classList.add("focused"))}blur(){this.element&&(this.element.blur(),this.element.tabIndex=-1,this.element.classList.remove("focused"))}setFocusable(o){this.element&&(this.element.tabIndex=o?0:-1)}get trapsArrowNavigation(){return!1}updateEnabled(){}updateLabel(){}updateTooltip(){}updateClass(){}updateChecked(){}dispose(){this.element&&(this.element.remove(),this.element=void 0),super.dispose()}}e.BaseActionViewItem=t;class n extends t{constructor(o,c,d={}){super(o,c,d);this.options=d,this.options.icon=d.icon!==void 0?d.icon:!1,this.options.label=d.label!==void 0?d.label:!0,this.cssClass=""}render(o){super.render(o),this.element&&(this.label=(0,k.append)(this.element,(0,k.$)("a.action-label"))),this.label&&(this._action.id===w.Separator.ID?this.label.setAttribute("role","presentation"):this.options.isMenu?this.label.setAttribute("role","menuitem"):this.label.setAttribute("role","button")),this.options.label&&this.options.keybinding&&this.element&&((0,k.append)(this.element,(0,k.$)("span.keybinding")).textContent=this.options.keybinding),this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked()}focus(){this.label&&(this.label.tabIndex=0,this.label.focus())}blur(){this.label&&(this.label.tabIndex=-1)}setFocusable(o){this.label&&(this.label.tabIndex=o?0:-1)}updateLabel(){this.options.label&&this.label&&(this.label.textContent=this.getAction().label)}updateTooltip(){let o=null;this.getAction().tooltip?o=this.getAction().tooltip:!this.options.label&&this.getAction().label&&this.options.icon&&(o=this.getAction().label,this.options.keybinding&&(o=g.localize(0,null,o,this.options.keybinding))),o&&this.label&&(this.label.title=o)}updateClass(){this.cssClass&&this.label&&this.label.classList.remove(...this.cssClass.split(" ")),this.options.icon?(this.cssClass=this.getAction().class,this.label&&(this.label.classList.add("codicon"),this.cssClass&&this.label.classList.add(...this.cssClass.split(" "))),this.updateEnabled()):this.label&&this.label.classList.remove("codicon")}updateEnabled(){this.getAction().enabled?(this.label&&(this.label.removeAttribute("aria-disabled"),this.label.classList.remove("disabled")),this.element&&this.element.classList.remove("disabled")):(this.label&&(this.label.setAttribute("aria-disabled","true"),this.label.classList.add("disabled")),this.element&&this.element.classList.add("disabled"))}updateChecked(){this.label&&(this.getAction().checked?this.label.classList.add("checked"):this.label.classList.remove("checked"))}}e.ActionViewItem=n}),define(te[87],ie([1,0,7,44,128,47,4,2,19,224]),function(q,e,L,m,k,I,w,b,C){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBar=void 0;class u extends b.Disposable{constructor(t,n={}){var i,o,c,d,r,s;super();this.triggerKeyDown=!1,this.focusable=!0,this._onDidBlur=this._register(new w.Emitter),this.onDidBlur=this._onDidBlur.event,this._onDidCancel=this._register(new w.Emitter({onFirstListenerAdd:()=>this.cancelHasListener=!0})),this.onDidCancel=this._onDidCancel.event,this.cancelHasListener=!1,this._onDidRun=this._register(new w.Emitter),this.onDidRun=this._onDidRun.event,this._onBeforeRun=this._register(new w.Emitter),this.onBeforeRun=this._onBeforeRun.event,this.options=n,this._context=(i=n.context)!==null&&i!==void 0?i:null,this._orientation=(o=this.options.orientation)!==null&&o!==void 0?o:0,this._triggerKeys={keyDown:(d=(c=this.options.triggerKeys)===null||c===void 0?void 0:c.keyDown)!==null&&d!==void 0?d:!1,keys:(s=(r=this.options.triggerKeys)===null||r===void 0?void 0:r.keys)!==null&&s!==void 0?s:[3,10]},this.options.actionRunner?this._actionRunner=this.options.actionRunner:(this._actionRunner=new I.ActionRunner,this._register(this._actionRunner)),this._register(this._actionRunner.onDidRun(h=>this._onDidRun.fire(h))),this._register(this._actionRunner.onBeforeRun(h=>this._onBeforeRun.fire(h))),this._actionIds=[],this.viewItems=[],this.focusedItem=void 0,this.domNode=document.createElement("div"),this.domNode.className="monaco-action-bar",n.animated!==!1&&this.domNode.classList.add("animated");let a,l;switch(this._orientation){case 0:a=[15],l=[17];break;case 1:a=[16],l=[18],this.domNode.className+=" vertical";break}this._register(L.addDisposableListener(this.domNode,L.EventType.KEY_DOWN,h=>{const f=new m.StandardKeyboardEvent(h);let S=!0;const v=typeof this.focusedItem=="number"?this.viewItems[this.focusedItem]:void 0;a&&(f.equals(a[0])||f.equals(a[1]))?S=this.focusPrevious():l&&(f.equals(l[0])||f.equals(l[1]))?S=this.focusNext():f.equals(9)&&this.cancelHasListener?this._onDidCancel.fire():f.equals(14)?S=this.focusFirst():f.equals(13)?S=this.focusLast():f.equals(2)&&v instanceof k.BaseActionViewItem&&v.trapsArrowNavigation?S=this.focusNext():this.isTriggerKeyEvent(f)?this._triggerKeys.keyDown?this.doTrigger(f):this.triggerKeyDown=!0:S=!1,S&&(f.preventDefault(),f.stopPropagation())})),this._register(L.addDisposableListener(this.domNode,L.EventType.KEY_UP,h=>{const f=new m.StandardKeyboardEvent(h);this.isTriggerKeyEvent(f)?(!this._triggerKeys.keyDown&&this.triggerKeyDown&&(this.triggerKeyDown=!1,this.doTrigger(f)),f.preventDefault(),f.stopPropagation()):(f.equals(2)||f.equals(1024|2))&&this.updateFocusedItem()})),this.focusTracker=this._register(L.trackFocus(this.domNode)),this._register(this.focusTracker.onDidBlur(()=>{(L.getActiveElement()===this.domNode||!L.isAncestor(L.getActiveElement(),this.domNode))&&(this._onDidBlur.fire(),this.focusedItem=void 0,this.previouslyFocusedItem=void 0,this.triggerKeyDown=!1)})),this._register(this.focusTracker.onDidFocus(()=>this.updateFocusedItem())),this.actionsList=document.createElement("ul"),this.actionsList.className="actions-container",this.actionsList.setAttribute("role","toolbar"),this.options.ariaLabel&&this.actionsList.setAttribute("aria-label",this.options.ariaLabel),this.domNode.appendChild(this.actionsList),t.appendChild(this.domNode)}refreshRole(){this.length()>=2?this.actionsList.setAttribute("role","toolbar"):this.actionsList.setAttribute("role","presentation")}setFocusable(t){if(this.focusable=t,this.focusable){const n=this.viewItems.find(i=>i instanceof k.BaseActionViewItem&&i.isEnabled());n instanceof k.BaseActionViewItem&&n.setFocusable(!0)}else this.viewItems.forEach(n=>{n instanceof k.BaseActionViewItem&&n.setFocusable(!1)})}isTriggerKeyEvent(t){let n=!1;return this._triggerKeys.keys.forEach(i=>{n=n||t.equals(i)}),n}updateFocusedItem(){for(let t=0;t<this.actionsList.children.length;t++){const n=this.actionsList.children[t];if(L.isAncestor(L.getActiveElement(),n)){this.focusedItem=t;break}}}get context(){return this._context}set context(t){this._context=t,this.viewItems.forEach(n=>n.setActionContext(t))}get actionRunner(){return this._actionRunner}set actionRunner(t){t&&(this._actionRunner=t,this.viewItems.forEach(n=>n.actionRunner=t))}getContainer(){return this.domNode}push(t,n={}){const i=Array.isArray(t)?t:[t];let o=C.isNumber(n.index)?n.index:null;i.forEach(c=>{const d=document.createElement("li");d.className="action-item",d.setAttribute("role","presentation"),this.options.allowContextMenu||this._register(L.addDisposableListener(d,L.EventType.CONTEXT_MENU,s=>{L.EventHelper.stop(s,!0)}));let r;this.options.actionViewItemProvider&&(r=this.options.actionViewItemProvider(c)),r||(r=new k.ActionViewItem(this.context,c,n)),r.actionRunner=this._actionRunner,r.setActionContext(this.context),r.render(d),this.focusable&&r instanceof k.BaseActionViewItem&&this.viewItems.length===0&&r.setFocusable(!0),o===null||o<0||o>=this.actionsList.children.length?(this.actionsList.appendChild(d),this.viewItems.push(r),this._actionIds.push(c.id)):(this.actionsList.insertBefore(d,this.actionsList.children[o]),this.viewItems.splice(o,0,r),this._actionIds.splice(o,0,c.id),o++)}),typeof this.focusedItem=="number"&&this.focus(this.focusedItem),this.refreshRole()}clear(){(0,b.dispose)(this.viewItems),this.viewItems=[],this._actionIds=[],L.clearNode(this.actionsList),this.refreshRole()}length(){return this.viewItems.length}focus(t){let n=!1,i;if(t===void 0?n=!0:typeof t=="number"?i=t:typeof t=="boolean"&&(n=t),n&&typeof this.focusedItem=="undefined"){const o=this.viewItems.findIndex(c=>c.isEnabled());this.focusedItem=o===-1?void 0:o,this.updateFocus(void 0,void 0,!0)}else i!==void 0&&(this.focusedItem=i),this.updateFocus(void 0,void 0,!0)}focusFirst(){return this.focusedItem=this.length()-1,this.focusNext(!0)}focusLast(){return this.focusedItem=0,this.focusPrevious(!0)}focusNext(t){if(typeof this.focusedItem=="undefined")this.focusedItem=this.viewItems.length-1;else if(this.viewItems.length<=1)return!1;const n=this.focusedItem;let i;do{if(!t&&this.options.preventLoopNavigation&&this.focusedItem+1>=this.viewItems.length)return this.focusedItem=n,!1;this.focusedItem=(this.focusedItem+1)%this.viewItems.length,i=this.viewItems[this.focusedItem]}while(this.focusedItem!==n&&this.options.focusOnlyEnabledItems&&!i.isEnabled());return this.updateFocus(),!0}focusPrevious(t){if(typeof this.focusedItem=="undefined")this.focusedItem=0;else if(this.viewItems.length<=1)return!1;const n=this.focusedItem;let i;do{if(this.focusedItem=this.focusedItem-1,this.focusedItem<0){if(!t&&this.options.preventLoopNavigation)return this.focusedItem=n,!1;this.focusedItem=this.viewItems.length-1}i=this.viewItems[this.focusedItem]}while(this.focusedItem!==n&&this.options.focusOnlyEnabledItems&&!i.isEnabled());return this.updateFocus(!0),!0}updateFocus(t,n,i=!1){var o;typeof this.focusedItem=="undefined"&&this.actionsList.focus({preventScroll:n}),this.previouslyFocusedItem!==void 0&&this.previouslyFocusedItem!==this.focusedItem&&((o=this.viewItems[this.previouslyFocusedItem])===null||o===void 0||o.blur());const c=this.focusedItem!==void 0&&this.viewItems[this.focusedItem];if(c){let d=!0;C.isFunction(c.focus)||(d=!1),this.options.focusOnlyEnabledItems&&C.isFunction(c.isEnabled)&&!c.isEnabled()&&(d=!1),d?(i||this.previouslyFocusedItem!==this.focusedItem)&&(c.focus(t),this.previouslyFocusedItem=this.focusedItem):(this.actionsList.focus({preventScroll:n}),this.previouslyFocusedItem=void 0)}}doTrigger(t){if(typeof this.focusedItem=="undefined")return;const n=this.viewItems[this.focusedItem];if(n instanceof k.BaseActionViewItem){const i=n._context===null||n._context===void 0?t:n._context;this.run(n._action,i)}}run(t,n){return we(this,void 0,void 0,function*(){yield this._actionRunner.run(t,n)})}dispose(){(0,b.dispose)(this.viewItems),this.viewItems=[],this._actionIds=[],this.getContainer().remove(),super.dispose()}}e.ActionBar=u}),define(te[490],ie([1,0,7,44,60,47,4,227]),function(q,e,L,m,k,I,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DropdownMenu=e.BaseDropdown=void 0;class b extends I.ActionRunner{constructor(g,t){super();this._onDidChangeVisibility=this._register(new w.Emitter),this.onDidChangeVisibility=this._onDidChangeVisibility.event,this._element=(0,L.append)(g,(0,L.$)(".monaco-dropdown")),this._label=(0,L.append)(this._element,(0,L.$)(".dropdown-label"));let n=t.labelRenderer;n||(n=o=>(o.textContent=t.label||"",null));for(const o of[L.EventType.CLICK,L.EventType.MOUSE_DOWN,k.EventType.Tap])this._register((0,L.addDisposableListener)(this.element,o,c=>L.EventHelper.stop(c,!0)));for(const o of[L.EventType.MOUSE_DOWN,k.EventType.Tap])this._register((0,L.addDisposableListener)(this._label,o,c=>{c instanceof MouseEvent&&c.detail>1||(this.visible?this.hide():this.show())}));this._register((0,L.addDisposableListener)(this._label,L.EventType.KEY_UP,o=>{const c=new m.StandardKeyboardEvent(o);(c.equals(3)||c.equals(10))&&(L.EventHelper.stop(o,!0),this.visible?this.hide():this.show())}));const i=n(this._label);i&&this._register(i),this._register(k.Gesture.addTarget(this._label))}get element(){return this._element}show(){this.visible||(this.visible=!0,this._onDidChangeVisibility.fire(!0))}hide(){this.visible&&(this.visible=!1,this._onDidChangeVisibility.fire(!1))}dispose(){super.dispose(),this.hide(),this.boxContainer&&(this.boxContainer.remove(),this.boxContainer=void 0),this.contents&&(this.contents.remove(),this.contents=void 0),this._label&&(this._label.remove(),this._label=void 0)}}e.BaseDropdown=b;class C extends b{constructor(g,t){super(g,t);this._actions=[],this._contextMenuProvider=t.contextMenuProvider,this.actions=t.actions||[],this.actionProvider=t.actionProvider,this.menuClassName=t.menuClassName||"",this.menuAsChild=!!t.menuAsChild}set menuOptions(g){this._menuOptions=g}get menuOptions(){return this._menuOptions}get actions(){return this.actionProvider?this.actionProvider.getActions():this._actions}set actions(g){this._actions=g}show(){super.show(),this.element.classList.add("active"),this._contextMenuProvider.showContextMenu({getAnchor:()=>this.element,getActions:()=>this.actions,getActionsContext:()=>this.menuOptions?this.menuOptions.context:null,getActionViewItem:g=>this.menuOptions&&this.menuOptions.actionViewItemProvider?this.menuOptions.actionViewItemProvider(g):void 0,getKeyBinding:g=>this.menuOptions&&this.menuOptions.getKeyBinding?this.menuOptions.getKeyBinding(g):void 0,getMenuClassName:()=>this.menuClassName,onHide:()=>this.onHide(),actionRunner:this.menuOptions?this.menuOptions.actionRunner:void 0,anchorAlignment:this.menuOptions?this.menuOptions.anchorAlignment:0,domForShadowRoot:this.menuAsChild?this.element:void 0})}hide(){super.hide()}onHide(){this.hide(),this.element.classList.remove("active")}}e.DropdownMenu=C}),define(te[491],ie([1,0,7,128,490,4,227]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DropdownMenuActionViewItem=void 0;class w extends m.BaseActionViewItem{constructor(C,u,g,t=Object.create(null)){super(null,C,t);this.actionItem=null,this._onDidChangeVisibility=this._register(new I.Emitter),this.menuActionsOrProvider=u,this.contextMenuProvider=g,this.options=t,this.options.actionRunner&&(this.actionRunner=this.options.actionRunner)}render(C){this.actionItem=C;const u=n=>{this.element=(0,L.append)(n,(0,L.$)("a.action-label"));let i=[];return typeof this.options.classNames=="string"?i=this.options.classNames.split(/\s+/g).filter(o=>!!o):this.options.classNames&&(i=this.options.classNames),i.find(o=>o==="icon")||i.push("codicon"),this.element.classList.add(...i),this.element.setAttribute("role","button"),this.element.setAttribute("aria-haspopup","true"),this.element.setAttribute("aria-expanded","false"),this.element.title=this._action.label||"",null},g=Array.isArray(this.menuActionsOrProvider),t={contextMenuProvider:this.contextMenuProvider,labelRenderer:u,menuAsChild:this.options.menuAsChild,actions:g?this.menuActionsOrProvider:void 0,actionProvider:g?void 0:this.menuActionsOrProvider};if(this.dropdownMenu=this._register(new k.DropdownMenu(C,t)),this._register(this.dropdownMenu.onDidChangeVisibility(n=>{var i;(i=this.element)===null||i===void 0||i.setAttribute("aria-expanded",`${n}`),this._onDidChangeVisibility.fire(n)})),this.dropdownMenu.menuOptions={actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,getKeyBinding:this.options.keybindingProvider,context:this._context},this.options.anchorAlignmentProvider){const n=this;this.dropdownMenu.menuOptions=Object.assign(Object.assign({},this.dropdownMenu.menuOptions),{get anchorAlignment(){return n.options.anchorAlignmentProvider()}})}this.updateEnabled()}setActionContext(C){super.setActionContext(C),this.dropdownMenu&&(this.dropdownMenu.menuOptions?this.dropdownMenu.menuOptions.context=C:this.dropdownMenu.menuOptions={context:C})}updateEnabled(){var C,u;const g=!this.getAction().enabled;(C=this.actionItem)===null||C===void 0||C.classList.toggle("disabled",g),(u=this.element)===null||u===void 0||u.classList.toggle("disabled",g)}}e.DropdownMenuActionViewItem=w}),define(te[197],ie([1,0,7,92,171,87,46,69,62,30,4,316,40,484,341]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.HistoryInputBox=e.InputBox=void 0;const o=L.$,c={inputBackground:u.Color.fromHex("#3C3C3C"),inputForeground:u.Color.fromHex("#CCCCCC"),inputValidationInfoBorder:u.Color.fromHex("#55AAFF"),inputValidationInfoBackground:u.Color.fromHex("#063B49"),inputValidationWarningBorder:u.Color.fromHex("#B89500"),inputValidationWarningBackground:u.Color.fromHex("#352A05"),inputValidationErrorBorder:u.Color.fromHex("#BE1100"),inputValidationErrorBackground:u.Color.fromHex("#5A1D1D")};class d extends C.Widget{constructor(a,l,h){var f;super();this.state="idle",this.maxHeight=Number.POSITIVE_INFINITY,this._onDidChange=this._register(new g.Emitter),this.onDidChange=this._onDidChange.event,this._onDidHeightChange=this._register(new g.Emitter),this.onDidHeightChange=this._onDidHeightChange.event,this.contextViewProvider=l,this.options=h||Object.create(null),(0,n.mixin)(this.options,c,!1),this.message=null,this.placeholder=this.options.placeholder||"",this.tooltip=(f=this.options.tooltip)!==null&&f!==void 0?f:this.placeholder||"",this.ariaLabel=this.options.ariaLabel||"",this.inputBackground=this.options.inputBackground,this.inputForeground=this.options.inputForeground,this.inputBorder=this.options.inputBorder,this.inputValidationInfoBorder=this.options.inputValidationInfoBorder,this.inputValidationInfoBackground=this.options.inputValidationInfoBackground,this.inputValidationInfoForeground=this.options.inputValidationInfoForeground,this.inputValidationWarningBorder=this.options.inputValidationWarningBorder,this.inputValidationWarningBackground=this.options.inputValidationWarningBackground,this.inputValidationWarningForeground=this.options.inputValidationWarningForeground,this.inputValidationErrorBorder=this.options.inputValidationErrorBorder,this.inputValidationErrorBackground=this.options.inputValidationErrorBackground,this.inputValidationErrorForeground=this.options.inputValidationErrorForeground,this.options.validationOptions&&(this.validation=this.options.validationOptions.validation),this.element=L.append(a,o(".monaco-inputbox.idle"));let S=this.options.flexibleHeight?"textarea":"input",v=L.append(this.element,o(".ibwrapper"));if(this.input=L.append(v,o(S+".input.empty")),this.input.setAttribute("autocorrect","off"),this.input.setAttribute("autocapitalize","off"),this.input.setAttribute("spellcheck","false"),this.onfocus(this.input,()=>this.element.classList.add("synthetic-focus")),this.onblur(this.input,()=>this.element.classList.remove("synthetic-focus")),this.options.flexibleHeight){this.maxHeight=typeof this.options.flexibleMaxHeight=="number"?this.options.flexibleMaxHeight:Number.POSITIVE_INFINITY,this.mirror=L.append(v,o("div.mirror")),this.mirror.innerText="\xA0",this.scrollableElement=new b.ScrollableElement(this.element,{vertical:1}),this.options.flexibleWidth&&(this.input.setAttribute("wrap","off"),this.mirror.style.whiteSpace="pre",this.mirror.style.wordWrap="initial"),L.append(a,this.scrollableElement.getDomNode()),this._register(this.scrollableElement),this._register(this.scrollableElement.onScroll(y=>this.input.scrollTop=y.scrollTop));const p=this._register(new m.DomEmitter(document,"selectionchange")),_=g.Event.filter(p.event,()=>{const y=document.getSelection();return(y==null?void 0:y.anchorNode)===v});this._register(_(this.updateScrollDimensions,this)),this._register(this.onDidHeightChange(this.updateScrollDimensions,this))}else this.input.type=this.options.type||"text",this.input.setAttribute("wrap","off");this.ariaLabel&&this.input.setAttribute("aria-label",this.ariaLabel),this.placeholder&&!this.options.showPlaceholderOnFocus&&this.setPlaceHolder(this.placeholder),this.tooltip&&this.setTooltip(this.tooltip),this.oninput(this.input,()=>this.onValueChange()),this.onblur(this.input,()=>this.onBlur()),this.onfocus(this.input,()=>this.onFocus()),this.ignoreGesture(this.input),setTimeout(()=>this.updateMirror(),0),this.options.actions&&(this.actionbar=this._register(new I.ActionBar(this.element)),this.actionbar.push(this.options.actions,{icon:!0,label:!1})),this.applyStyles()}onBlur(){this._hideMessage(),this.options.showPlaceholderOnFocus&&this.input.setAttribute("placeholder","")}onFocus(){this._showMessage(),this.options.showPlaceholderOnFocus&&this.input.setAttribute("placeholder",this.placeholder||"")}setPlaceHolder(a){this.placeholder=a,this.input.setAttribute("placeholder",a)}setTooltip(a){this.tooltip=a,this.input.title=a}setAriaLabel(a){this.ariaLabel=a,a?this.input.setAttribute("aria-label",this.ariaLabel):this.input.removeAttribute("aria-label")}getAriaLabel(){return this.ariaLabel}get inputElement(){return this.input}get value(){return this.input.value}set value(a){this.input.value!==a&&(this.input.value=a,this.onValueChange())}get height(){return typeof this.cachedHeight=="number"?this.cachedHeight:L.getTotalHeight(this.element)}focus(){this.input.focus()}blur(){this.input.blur()}hasFocus(){return document.activeElement===this.input}select(a=null){this.input.select(),a&&(this.input.setSelectionRange(a.start,a.end),a.end===this.input.value.length&&(this.input.scrollLeft=this.input.scrollWidth))}isSelectionAtEnd(){return this.input.selectionEnd===this.input.value.length&&this.input.selectionStart===this.input.selectionEnd}enable(){this.input.removeAttribute("disabled")}disable(){this.blur(),this.input.disabled=!0,this._hideMessage()}get width(){return L.getTotalWidth(this.input)}set width(a){if(this.options.flexibleHeight&&this.options.flexibleWidth){let l=0;if(this.mirror){const h=parseFloat(this.mirror.style.paddingLeft||"")||0,f=parseFloat(this.mirror.style.paddingRight||"")||0;l=h+f}this.input.style.width=a-l+"px"}else this.input.style.width=a+"px";this.mirror&&(this.mirror.style.width=a+"px")}set paddingRight(a){this.input.style.width=`calc(100% - ${a}px)`,this.mirror&&(this.mirror.style.paddingRight=a+"px")}updateScrollDimensions(){if(typeof this.cachedContentHeight!="number"||typeof this.cachedHeight!="number"||!this.scrollableElement)return;const a=this.cachedContentHeight,l=this.cachedHeight,h=this.input.scrollTop;this.scrollableElement.setScrollDimensions({scrollHeight:a,height:l}),this.scrollableElement.setScrollPosition({scrollTop:h})}showMessage(a,l){this.message=a,this.element.classList.remove("idle"),this.element.classList.remove("info"),this.element.classList.remove("warning"),this.element.classList.remove("error"),this.element.classList.add(this.classForType(a.type));const h=this.stylesForType(this.message.type);this.element.style.border=h.border?`1px solid ${h.border}`:"",(this.hasFocus()||l)&&this._showMessage()}hideMessage(){this.message=null,this.element.classList.remove("info"),this.element.classList.remove("warning"),this.element.classList.remove("error"),this.element.classList.add("idle"),this._hideMessage(),this.applyStyles()}validate(){let a=null;return this.validation&&(a=this.validation(this.value),a?(this.inputElement.setAttribute("aria-invalid","true"),this.showMessage(a)):this.inputElement.hasAttribute("aria-invalid")&&(this.inputElement.removeAttribute("aria-invalid"),this.hideMessage())),a==null?void 0:a.type}stylesForType(a){switch(a){case 1:return{border:this.inputValidationInfoBorder,background:this.inputValidationInfoBackground,foreground:this.inputValidationInfoForeground};case 2:return{border:this.inputValidationWarningBorder,background:this.inputValidationWarningBackground,foreground:this.inputValidationWarningForeground};default:return{border:this.inputValidationErrorBorder,background:this.inputValidationErrorBackground,foreground:this.inputValidationErrorForeground}}}classForType(a){switch(a){case 1:return"info";case 2:return"warning";default:return"error"}}_showMessage(){if(!this.contextViewProvider||!this.message)return;let a,l=()=>a.style.width=L.getTotalWidth(this.element)+"px";this.contextViewProvider.showContextView({getAnchor:()=>this.element,anchorAlignment:1,render:f=>{if(!this.message)return null;a=L.append(f,o(".monaco-inputbox-container")),l();const S={inline:!0,className:"monaco-inputbox-message"},v=this.message.formatContent?(0,k.renderFormattedText)(this.message.content,S):(0,k.renderText)(this.message.content,S);v.classList.add(this.classForType(this.message.type));const p=this.stylesForType(this.message.type);return v.style.backgroundColor=p.background?p.background.toString():"",v.style.color=p.foreground?p.foreground.toString():"",v.style.border=p.border?`1px solid ${p.border}`:"",L.append(a,v),null},onHide:()=>{this.state="closed"},layout:l});let h;this.message.type===3?h=i.localize(0,null,this.message.content):this.message.type===2?h=i.localize(1,null,this.message.content):h=i.localize(2,null,this.message.content),w.alert(h),this.state="open"}_hideMessage(){!this.contextViewProvider||(this.state==="open"&&this.contextViewProvider.hideContextView(),this.state="idle")}onValueChange(){this._onDidChange.fire(this.value),this.validate(),this.updateMirror(),this.input.classList.toggle("empty",!this.value),this.state==="open"&&this.contextViewProvider&&this.contextViewProvider.layout()}updateMirror(){if(!this.mirror)return;const a=this.value,h=a.charCodeAt(a.length-1)===10?" ":"";(a+h).replace(/\u000c/g,"")?this.mirror.textContent=a+h:this.mirror.innerText="\xA0",this.layout()}style(a){this.inputBackground=a.inputBackground,this.inputForeground=a.inputForeground,this.inputBorder=a.inputBorder,this.inputValidationInfoBackground=a.inputValidationInfoBackground,this.inputValidationInfoForeground=a.inputValidationInfoForeground,this.inputValidationInfoBorder=a.inputValidationInfoBorder,this.inputValidationWarningBackground=a.inputValidationWarningBackground,this.inputValidationWarningForeground=a.inputValidationWarningForeground,this.inputValidationWarningBorder=a.inputValidationWarningBorder,this.inputValidationErrorBackground=a.inputValidationErrorBackground,this.inputValidationErrorForeground=a.inputValidationErrorForeground,this.inputValidationErrorBorder=a.inputValidationErrorBorder,this.applyStyles()}applyStyles(){const a=this.inputBackground?this.inputBackground.toString():"",l=this.inputForeground?this.inputForeground.toString():"",h=this.inputBorder?this.inputBorder.toString():"";this.element.style.backgroundColor=a,this.element.style.color=l,this.input.style.backgroundColor="inherit",this.input.style.color=l,this.element.style.borderWidth=h?"1px":"",this.element.style.borderStyle=h?"solid":"",this.element.style.borderColor=h}layout(){if(!this.mirror)return;const a=this.cachedContentHeight;this.cachedContentHeight=L.getTotalHeight(this.mirror),a!==this.cachedContentHeight&&(this.cachedHeight=Math.min(this.cachedContentHeight,this.maxHeight),this.input.style.height=this.cachedHeight+"px",this._onDidHeightChange.fire(this.cachedContentHeight))}insertAtCursor(a){const l=this.inputElement,h=l.selectionStart,f=l.selectionEnd,S=l.value;h!==null&&f!==null&&(this.value=S.substr(0,h)+a+S.substr(f),l.setSelectionRange(h+1,h+1),this.layout())}dispose(){this._hideMessage(),this.message=null,this.actionbar&&this.actionbar.dispose(),super.dispose()}}e.InputBox=d;class r extends d{constructor(a,l,h){const f=i.localize(3,null),S=` or \u21C5 ${f}`,v=` (\u21C5 ${f})`;super(a,l,h);this.history=new t.HistoryNavigator(h.history,100);const p=()=>{if(h.showHistoryHint&&h.showHistoryHint()&&!this.placeholder.endsWith(S)&&!this.placeholder.endsWith(v)&&this.history.getHistory().length){const _=this.placeholder.endsWith(")")?S:v,y=this.placeholder+_;h.showPlaceholderOnFocus&&document.activeElement!==this.input?this.placeholder=y:this.setPlaceHolder(y)}};this.observer=new MutationObserver((_,y)=>{_.forEach(E=>{E.target.textContent||p()})}),this.observer.observe(this.input,{attributeFilter:["class"]}),this.onfocus(this.input,()=>p()),this.onblur(this.input,()=>{const _=y=>{if(this.placeholder.endsWith(y)){const E=this.placeholder.slice(0,this.placeholder.length-y.length);return h.showPlaceholderOnFocus?this.placeholder=E:this.setPlaceHolder(E),!0}else return!1};_(v)||_(S)})}dispose(){super.dispose(),this.observer&&(this.observer.disconnect(),this.observer=void 0)}addToHistory(){this.value&&this.value!==this.getCurrentValue()&&this.history.add(this.value)}showNextValue(){this.history.has(this.value)||this.addToHistory();let a=this.getNextValue();a&&(a=a===this.value?this.getNextValue():a),a&&(this.value=a,w.status(this.value))}showPreviousValue(){this.history.has(this.value)||this.addToHistory();let a=this.getPreviousValue();a&&(a=a===this.value?this.getPreviousValue():a),a&&(this.value=a,w.status(this.value))}getCurrentValue(){let a=this.history.current();return a||(a=this.history.last(),this.history.next()),a}getPreviousValue(){return this.history.previous()||this.history.first()}getNextValue(){return this.history.next()||this.history.last()}}e.HistoryInputBox=r}),define(te[492],ie([1,0,7,268,197,62,4,479,228]),function(q,e,L,m,k,I,w,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FindInput=void 0;const C=b.localize(0,null);class u extends I.Widget{constructor(t,n,i,o){super();this._showOptionButtons=i,this.fixFocusOnOptionClickEnabled=!0,this.imeSessionInProgress=!1,this._onDidOptionChange=this._register(new w.Emitter),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new w.Emitter),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new w.Emitter),this.onMouseDown=this._onMouseDown.event,this._onInput=this._register(new w.Emitter),this._onKeyUp=this._register(new w.Emitter),this._onCaseSensitiveKeyDown=this._register(new w.Emitter),this.onCaseSensitiveKeyDown=this._onCaseSensitiveKeyDown.event,this._onRegexKeyDown=this._register(new w.Emitter),this.onRegexKeyDown=this._onRegexKeyDown.event,this._lastHighlightFindOptions=0,this.contextViewProvider=n,this.placeholder=o.placeholder||"",this.validation=o.validation,this.label=o.label||C,this.inputActiveOptionBorder=o.inputActiveOptionBorder,this.inputActiveOptionForeground=o.inputActiveOptionForeground,this.inputActiveOptionBackground=o.inputActiveOptionBackground,this.inputBackground=o.inputBackground,this.inputForeground=o.inputForeground,this.inputBorder=o.inputBorder,this.inputValidationInfoBorder=o.inputValidationInfoBorder,this.inputValidationInfoBackground=o.inputValidationInfoBackground,this.inputValidationInfoForeground=o.inputValidationInfoForeground,this.inputValidationWarningBorder=o.inputValidationWarningBorder,this.inputValidationWarningBackground=o.inputValidationWarningBackground,this.inputValidationWarningForeground=o.inputValidationWarningForeground,this.inputValidationErrorBorder=o.inputValidationErrorBorder,this.inputValidationErrorBackground=o.inputValidationErrorBackground,this.inputValidationErrorForeground=o.inputValidationErrorForeground;const c=o.appendCaseSensitiveLabel||"",d=o.appendWholeWordsLabel||"",r=o.appendRegexLabel||"",s=o.history||[],a=!!o.flexibleHeight,l=!!o.flexibleWidth,h=o.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new k.HistoryInputBox(this.domNode,this.contextViewProvider,{placeholder:this.placeholder||"",ariaLabel:this.label||"",validationOptions:{validation:this.validation},inputBackground:this.inputBackground,inputForeground:this.inputForeground,inputBorder:this.inputBorder,inputValidationInfoBackground:this.inputValidationInfoBackground,inputValidationInfoForeground:this.inputValidationInfoForeground,inputValidationInfoBorder:this.inputValidationInfoBorder,inputValidationWarningBackground:this.inputValidationWarningBackground,inputValidationWarningForeground:this.inputValidationWarningForeground,inputValidationWarningBorder:this.inputValidationWarningBorder,inputValidationErrorBackground:this.inputValidationErrorBackground,inputValidationErrorForeground:this.inputValidationErrorForeground,inputValidationErrorBorder:this.inputValidationErrorBorder,history:s,showHistoryHint:o.showHistoryHint,flexibleHeight:a,flexibleWidth:l,flexibleMaxHeight:h})),this.regex=this._register(new m.RegexCheckbox({appendTitle:r,isChecked:!1,inputActiveOptionBorder:this.inputActiveOptionBorder,inputActiveOptionForeground:this.inputActiveOptionForeground,inputActiveOptionBackground:this.inputActiveOptionBackground})),this._register(this.regex.onChange(S=>{this._onDidOptionChange.fire(S),!S&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.regex.onKeyDown(S=>{this._onRegexKeyDown.fire(S)})),this.wholeWords=this._register(new m.WholeWordsCheckbox({appendTitle:d,isChecked:!1,inputActiveOptionBorder:this.inputActiveOptionBorder,inputActiveOptionForeground:this.inputActiveOptionForeground,inputActiveOptionBackground:this.inputActiveOptionBackground})),this._register(this.wholeWords.onChange(S=>{this._onDidOptionChange.fire(S),!S&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this.caseSensitive=this._register(new m.CaseSensitiveCheckbox({appendTitle:c,isChecked:!1,inputActiveOptionBorder:this.inputActiveOptionBorder,inputActiveOptionForeground:this.inputActiveOptionForeground,inputActiveOptionBackground:this.inputActiveOptionBackground})),this._register(this.caseSensitive.onChange(S=>{this._onDidOptionChange.fire(S),!S&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.caseSensitive.onKeyDown(S=>{this._onCaseSensitiveKeyDown.fire(S)})),this._showOptionButtons&&(this.inputBox.paddingRight=this.caseSensitive.width()+this.wholeWords.width()+this.regex.width());let f=[this.caseSensitive.domNode,this.wholeWords.domNode,this.regex.domNode];this.onkeydown(this.domNode,S=>{if(S.equals(15)||S.equals(17)||S.equals(9)){let v=f.indexOf(document.activeElement);if(v>=0){let p=-1;S.equals(17)?p=(v+1)%f.length:S.equals(15)&&(v===0?p=f.length-1:p=v-1),S.equals(9)?(f[v].blur(),this.inputBox.focus()):p>=0&&f[p].focus(),L.EventHelper.stop(S,!0)}}}),this.controls=document.createElement("div"),this.controls.className="controls",this.controls.style.display=this._showOptionButtons?"block":"none",this.controls.appendChild(this.caseSensitive.domNode),this.controls.appendChild(this.wholeWords.domNode),this.controls.appendChild(this.regex.domNode),this.domNode.appendChild(this.controls),t&&t.appendChild(this.domNode),this._register(L.addDisposableListener(this.inputBox.inputElement,"compositionstart",S=>{this.imeSessionInProgress=!0})),this._register(L.addDisposableListener(this.inputBox.inputElement,"compositionend",S=>{this.imeSessionInProgress=!1,this._onInput.fire()})),this.onkeydown(this.inputBox.inputElement,S=>this._onKeyDown.fire(S)),this.onkeyup(this.inputBox.inputElement,S=>this._onKeyUp.fire(S)),this.oninput(this.inputBox.inputElement,S=>this._onInput.fire()),this.onmousedown(this.inputBox.inputElement,S=>this._onMouseDown.fire(S))}enable(){this.domNode.classList.remove("disabled"),this.inputBox.enable(),this.regex.enable(),this.wholeWords.enable(),this.caseSensitive.enable()}disable(){this.domNode.classList.add("disabled"),this.inputBox.disable(),this.regex.disable(),this.wholeWords.disable(),this.caseSensitive.disable()}setFocusInputOnOptionClick(t){this.fixFocusOnOptionClickEnabled=t}setEnabled(t){t?this.enable():this.disable()}getValue(){return this.inputBox.value}setValue(t){this.inputBox.value!==t&&(this.inputBox.value=t)}style(t){this.inputActiveOptionBorder=t.inputActiveOptionBorder,this.inputActiveOptionForeground=t.inputActiveOptionForeground,this.inputActiveOptionBackground=t.inputActiveOptionBackground,this.inputBackground=t.inputBackground,this.inputForeground=t.inputForeground,this.inputBorder=t.inputBorder,this.inputValidationInfoBackground=t.inputValidationInfoBackground,this.inputValidationInfoForeground=t.inputValidationInfoForeground,this.inputValidationInfoBorder=t.inputValidationInfoBorder,this.inputValidationWarningBackground=t.inputValidationWarningBackground,this.inputValidationWarningForeground=t.inputValidationWarningForeground,this.inputValidationWarningBorder=t.inputValidationWarningBorder,this.inputValidationErrorBackground=t.inputValidationErrorBackground,this.inputValidationErrorForeground=t.inputValidationErrorForeground,this.inputValidationErrorBorder=t.inputValidationErrorBorder,this.applyStyles()}applyStyles(){if(this.domNode){const t={inputActiveOptionBorder:this.inputActiveOptionBorder,inputActiveOptionForeground:this.inputActiveOptionForeground,inputActiveOptionBackground:this.inputActiveOptionBackground};this.regex.style(t),this.wholeWords.style(t),this.caseSensitive.style(t);const n={inputBackground:this.inputBackground,inputForeground:this.inputForeground,inputBorder:this.inputBorder,inputValidationInfoBackground:this.inputValidationInfoBackground,inputValidationInfoForeground:this.inputValidationInfoForeground,inputValidationInfoBorder:this.inputValidationInfoBorder,inputValidationWarningBackground:this.inputValidationWarningBackground,inputValidationWarningForeground:this.inputValidationWarningForeground,inputValidationWarningBorder:this.inputValidationWarningBorder,inputValidationErrorBackground:this.inputValidationErrorBackground,inputValidationErrorForeground:this.inputValidationErrorForeground,inputValidationErrorBorder:this.inputValidationErrorBorder};this.inputBox.style(n)}}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getCaseSensitive(){return this.caseSensitive.checked}setCaseSensitive(t){this.caseSensitive.checked=t}getWholeWords(){return this.wholeWords.checked}setWholeWords(t){this.wholeWords.checked=t}getRegex(){return this.regex.checked}setRegex(t){this.regex.checked=t,this.validate()}focusOnCaseSensitive(){this.caseSensitive.focus()}highlightFindOptions(){this.domNode.classList.remove("highlight-"+this._lastHighlightFindOptions),this._lastHighlightFindOptions=1-this._lastHighlightFindOptions,this.domNode.classList.add("highlight-"+this._lastHighlightFindOptions)}validate(){this.inputBox.validate()}clearMessage(){this.inputBox.hideMessage()}}e.FindInput=u}),define(te[493],ie([1,0,7,174,197,62,28,4,481,228]),function(q,e,L,m,k,I,w,b,C){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ReplaceInput=e.PreserveCaseCheckbox=void 0;const u=C.localize(0,null),g=C.localize(1,null);class t extends m.Checkbox{constructor(o){super({icon:w.Codicon.preserveCase,title:g+o.appendTitle,isChecked:o.isChecked,inputActiveOptionBorder:o.inputActiveOptionBorder,inputActiveOptionForeground:o.inputActiveOptionForeground,inputActiveOptionBackground:o.inputActiveOptionBackground})}}e.PreserveCaseCheckbox=t;class n extends I.Widget{constructor(o,c,d,r){super();this._showOptionButtons=d,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new b.Emitter),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new b.Emitter),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new b.Emitter),this._onInput=this._register(new b.Emitter),this._onKeyUp=this._register(new b.Emitter),this._onPreserveCaseKeyDown=this._register(new b.Emitter),this.onPreserveCaseKeyDown=this._onPreserveCaseKeyDown.event,this.contextViewProvider=c,this.placeholder=r.placeholder||"",this.validation=r.validation,this.label=r.label||u,this.inputActiveOptionBorder=r.inputActiveOptionBorder,this.inputActiveOptionForeground=r.inputActiveOptionForeground,this.inputActiveOptionBackground=r.inputActiveOptionBackground,this.inputBackground=r.inputBackground,this.inputForeground=r.inputForeground,this.inputBorder=r.inputBorder,this.inputValidationInfoBorder=r.inputValidationInfoBorder,this.inputValidationInfoBackground=r.inputValidationInfoBackground,this.inputValidationInfoForeground=r.inputValidationInfoForeground,this.inputValidationWarningBorder=r.inputValidationWarningBorder,this.inputValidationWarningBackground=r.inputValidationWarningBackground,this.inputValidationWarningForeground=r.inputValidationWarningForeground,this.inputValidationErrorBorder=r.inputValidationErrorBorder,this.inputValidationErrorBackground=r.inputValidationErrorBackground,this.inputValidationErrorForeground=r.inputValidationErrorForeground;const s=r.appendPreserveCaseLabel||"",a=r.history||[],l=!!r.flexibleHeight,h=!!r.flexibleWidth,f=r.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new k.HistoryInputBox(this.domNode,this.contextViewProvider,{ariaLabel:this.label||"",placeholder:this.placeholder||"",validationOptions:{validation:this.validation},inputBackground:this.inputBackground,inputForeground:this.inputForeground,inputBorder:this.inputBorder,inputValidationInfoBackground:this.inputValidationInfoBackground,inputValidationInfoForeground:this.inputValidationInfoForeground,inputValidationInfoBorder:this.inputValidationInfoBorder,inputValidationWarningBackground:this.inputValidationWarningBackground,inputValidationWarningForeground:this.inputValidationWarningForeground,inputValidationWarningBorder:this.inputValidationWarningBorder,inputValidationErrorBackground:this.inputValidationErrorBackground,inputValidationErrorForeground:this.inputValidationErrorForeground,inputValidationErrorBorder:this.inputValidationErrorBorder,history:a,showHistoryHint:r.showHistoryHint,flexibleHeight:l,flexibleWidth:h,flexibleMaxHeight:f})),this.preserveCase=this._register(new t({appendTitle:s,isChecked:!1,inputActiveOptionBorder:this.inputActiveOptionBorder,inputActiveOptionForeground:this.inputActiveOptionForeground,inputActiveOptionBackground:this.inputActiveOptionBackground})),this._register(this.preserveCase.onChange(p=>{this._onDidOptionChange.fire(p),!p&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.preserveCase.onKeyDown(p=>{this._onPreserveCaseKeyDown.fire(p)})),this._showOptionButtons?this.cachedOptionsWidth=this.preserveCase.width():this.cachedOptionsWidth=0;let S=[this.preserveCase.domNode];this.onkeydown(this.domNode,p=>{if(p.equals(15)||p.equals(17)||p.equals(9)){let _=S.indexOf(document.activeElement);if(_>=0){let y=-1;p.equals(17)?y=(_+1)%S.length:p.equals(15)&&(_===0?y=S.length-1:y=_-1),p.equals(9)?(S[_].blur(),this.inputBox.focus()):y>=0&&S[y].focus(),L.EventHelper.stop(p,!0)}}});let v=document.createElement("div");v.className="controls",v.style.display=this._showOptionButtons?"block":"none",v.appendChild(this.preserveCase.domNode),this.domNode.appendChild(v),o&&o.appendChild(this.domNode),this.onkeydown(this.inputBox.inputElement,p=>this._onKeyDown.fire(p)),this.onkeyup(this.inputBox.inputElement,p=>this._onKeyUp.fire(p)),this.oninput(this.inputBox.inputElement,p=>this._onInput.fire()),this.onmousedown(this.inputBox.inputElement,p=>this._onMouseDown.fire(p))}enable(){this.domNode.classList.remove("disabled"),this.inputBox.enable(),this.preserveCase.enable()}disable(){this.domNode.classList.add("disabled"),this.inputBox.disable(),this.preserveCase.disable()}setEnabled(o){o?this.enable():this.disable()}style(o){this.inputActiveOptionBorder=o.inputActiveOptionBorder,this.inputActiveOptionForeground=o.inputActiveOptionForeground,this.inputActiveOptionBackground=o.inputActiveOptionBackground,this.inputBackground=o.inputBackground,this.inputForeground=o.inputForeground,this.inputBorder=o.inputBorder,this.inputValidationInfoBackground=o.inputValidationInfoBackground,this.inputValidationInfoForeground=o.inputValidationInfoForeground,this.inputValidationInfoBorder=o.inputValidationInfoBorder,this.inputValidationWarningBackground=o.inputValidationWarningBackground,this.inputValidationWarningForeground=o.inputValidationWarningForeground,this.inputValidationWarningBorder=o.inputValidationWarningBorder,this.inputValidationErrorBackground=o.inputValidationErrorBackground,this.inputValidationErrorForeground=o.inputValidationErrorForeground,this.inputValidationErrorBorder=o.inputValidationErrorBorder,this.applyStyles()}applyStyles(){if(this.domNode){const o={inputActiveOptionBorder:this.inputActiveOptionBorder,inputActiveOptionForeground:this.inputActiveOptionForeground,inputActiveOptionBackground:this.inputActiveOptionBackground};this.preserveCase.style(o);const c={inputBackground:this.inputBackground,inputForeground:this.inputForeground,inputBorder:this.inputBorder,inputValidationInfoBackground:this.inputValidationInfoBackground,inputValidationInfoForeground:this.inputValidationInfoForeground,inputValidationInfoBorder:this.inputValidationInfoBorder,inputValidationWarningBackground:this.inputValidationWarningBackground,inputValidationWarningForeground:this.inputValidationWarningForeground,inputValidationWarningBorder:this.inputValidationWarningBorder,inputValidationErrorBackground:this.inputValidationErrorBackground,inputValidationErrorForeground:this.inputValidationErrorForeground,inputValidationErrorBorder:this.inputValidationErrorBorder};this.inputBox.style(c)}}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getPreserveCase(){return this.preserveCase.checked}setPreserveCase(o){this.preserveCase.checked=o}focusOnPreserve(){this.preserveCase.focus()}validate(){this.inputBox&&this.inputBox.validate()}set width(o){this.inputBox.paddingRight=this.cachedOptionsWidth,this.inputBox.width=o,this.domNode.style.width=o+"px"}dispose(){super.dispose()}}e.ReplaceInput=n}),define(te[494],ie([1,0,34,60,7,44,59,87,128,143,225,69,47,10,28,97,2,16,8]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.cleanMnemonic=e.Menu=e.Direction=e.MENU_ESCAPED_MNEMONIC_REGEX=e.MENU_MNEMONIC_REGEX=void 0,e.MENU_MNEMONIC_REGEX=/\(&([^\s&])\)|(^|[^&])&([^\s&])/,e.MENU_ESCAPED_MNEMONIC_REGEX=/(&amp;)?(&amp;)([^\s&])/g;var a;(function(_){_[_.Right=0]="Right",_[_.Left=1]="Left"})(a=e.Direction||(e.Direction={}));class l extends b.ActionBar{constructor(y,E,N={}){y.classList.add("monaco-menu-container"),y.setAttribute("role","presentation");const D=document.createElement("div");D.classList.add("monaco-menu"),D.setAttribute("role","presentation");super(D,{orientation:1,actionViewItemProvider:O=>this.doGetActionViewItem(O,N,M),context:N.context,actionRunner:N.actionRunner,ariaLabel:N.ariaLabel,focusOnlyEnabledItems:!0,triggerKeys:{keys:[3,...r.isMacintosh||r.isLinux?[10]:[]],keyDown:!0}});this.menuElement=D,this.actionsList.setAttribute("role","menu"),this.actionsList.tabIndex=0,this.menuDisposables=this._register(new d.DisposableStore),this.initializeOrUpdateStyleSheet(y,{}),this._register(m.Gesture.addTarget(D)),(0,k.addDisposableListener)(D,k.EventType.KEY_DOWN,O=>{new I.StandardKeyboardEvent(O).equals(2)&&O.preventDefault()}),N.enableMnemonics&&this.menuDisposables.add((0,k.addDisposableListener)(D,k.EventType.KEY_DOWN,O=>{const T=O.key.toLocaleLowerCase();if(this.mnemonics.has(T)){k.EventHelper.stop(O,!0);const A=this.mnemonics.get(T);if(A.length===1&&(A[0]instanceof f&&A[0].container&&this.focusItemByElement(A[0].container),A[0].onClick(O)),A.length>1){const P=A.shift();P&&P.container&&(this.focusItemByElement(P.container),A.push(P)),this.mnemonics.set(T,A)}}})),r.isLinux&&this._register((0,k.addDisposableListener)(D,k.EventType.KEY_DOWN,O=>{const T=new I.StandardKeyboardEvent(O);T.equals(14)||T.equals(11)?(this.focusedItem=this.viewItems.length-1,this.focusNext(),k.EventHelper.stop(O,!0)):(T.equals(13)||T.equals(12))&&(this.focusedItem=0,this.focusPrevious(),k.EventHelper.stop(O,!0))})),this._register((0,k.addDisposableListener)(this.domNode,k.EventType.MOUSE_OUT,O=>{let T=O.relatedTarget;(0,k.isAncestor)(T,this.domNode)||(this.focusedItem=void 0,this.updateFocus(),O.stopPropagation())})),this._register((0,k.addDisposableListener)(this.actionsList,k.EventType.MOUSE_OVER,O=>{let T=O.target;if(!(!T||!(0,k.isAncestor)(T,this.actionsList)||T===this.actionsList)){for(;T.parentElement!==this.actionsList&&T.parentElement!==null;)T=T.parentElement;if(T.classList.contains("action-item")){const A=this.focusedItem;this.setFocusedItem(T),A!==this.focusedItem&&this.updateFocus()}}})),this._register(m.Gesture.addTarget(this.actionsList)),this._register((0,k.addDisposableListener)(this.actionsList,m.EventType.Tap,O=>{let T=O.initialTarget;if(!(!T||!(0,k.isAncestor)(T,this.actionsList)||T===this.actionsList)){for(;T.parentElement!==this.actionsList&&T.parentElement!==null;)T=T.parentElement;if(T.classList.contains("action-item")){const A=this.focusedItem;this.setFocusedItem(T),A!==this.focusedItem&&this.updateFocus()}}}));let M={parent:this};this.mnemonics=new Map,this.scrollableElement=this._register(new t.DomScrollableElement(D,{alwaysConsumeMouseWheel:!0,horizontal:2,vertical:3,verticalScrollbarSize:7,handleMouseWheel:!0,useShadows:!0}));const B=this.scrollableElement.getDomNode();B.style.position="",this._register((0,k.addDisposableListener)(D,m.EventType.Change,O=>{k.EventHelper.stop(O,!0);const T=this.scrollableElement.getScrollPosition().scrollTop;this.scrollableElement.setScrollPosition({scrollTop:T-O.translationY})})),this._register((0,k.addDisposableListener)(B,k.EventType.MOUSE_UP,O=>{O.preventDefault()})),D.style.maxHeight=`${Math.max(10,window.innerHeight-y.getBoundingClientRect().top-35)}px`,E=E.filter(O=>{var T;return((T=N.submenuIds)===null||T===void 0?void 0:T.has(O.id))?(console.warn(`Found submenu cycle: ${O.id}`),!1):!0}),this.push(E,{icon:!0,label:!0,isMenu:!0}),y.appendChild(this.scrollableElement.getDomNode()),this.scrollableElement.scanDomNode(),this.viewItems.filter(O=>!(O instanceof S)).forEach((O,T,A)=>{O.updatePositionInSet(T+1,A.length)})}initializeOrUpdateStyleSheet(y,E){this.styleSheet||((0,k.isInShadowDOM)(y)?this.styleSheet=(0,k.createStyleSheet)(y):(l.globalStyleSheet||(l.globalStyleSheet=(0,k.createStyleSheet)()),this.styleSheet=l.globalStyleSheet)),this.styleSheet.textContent=p(E,(0,k.isInShadowDOM)(y))}style(y){const E=this.getContainer();this.initializeOrUpdateStyleSheet(E,y);const N=y.foregroundColor?`${y.foregroundColor}`:"",D=y.backgroundColor?`${y.backgroundColor}`:"",M=y.borderColor?`1px solid ${y.borderColor}`:"",B=y.shadowColor?`0 2px 4px ${y.shadowColor}`:"";E.style.border=M,this.domNode.style.color=N,this.domNode.style.backgroundColor=D,E.style.boxShadow=B,this.viewItems&&this.viewItems.forEach(O=>{(O instanceof h||O instanceof S)&&O.style(y)})}getContainer(){return this.scrollableElement.getDomNode()}get onScroll(){return this.scrollableElement.onScroll}focusItemByElement(y){const E=this.focusedItem;this.setFocusedItem(y),E!==this.focusedItem&&this.updateFocus()}setFocusedItem(y){for(let E=0;E<this.actionsList.children.length;E++){let N=this.actionsList.children[E];if(y===N){this.focusedItem=E;break}}}updateFocus(y){super.updateFocus(y,!0,!0),typeof this.focusedItem!="undefined"&&this.scrollableElement.setScrollPosition({scrollTop:Math.round(this.menuElement.scrollTop)})}doGetActionViewItem(y,E,N){if(y instanceof n.Separator)return new S(E.context,y,{icon:!0});if(y instanceof n.SubmenuAction){const D=new f(y,y.actions,N,Object.assign(Object.assign({},E),{submenuIds:new Set([...E.submenuIds||[],y.id])}));if(E.enableMnemonics){const M=D.getMnemonic();if(M&&D.isEnabled()){let B=[];this.mnemonics.has(M)&&(B=this.mnemonics.get(M)),B.push(D),this.mnemonics.set(M,B)}}return D}else{const D={enableMnemonics:E.enableMnemonics,useEventAsContext:E.useEventAsContext};if(E.getKeyBinding){const B=E.getKeyBinding(y);if(B){const O=B.getLabel();O&&(D.keybinding=O)}}const M=new h(E.context,y,D);if(E.enableMnemonics){const B=M.getMnemonic();if(B&&M.isEnabled()){let O=[];this.mnemonics.has(B)&&(O=this.mnemonics.get(B)),O.push(M),this.mnemonics.set(B,O)}}return M}}}e.Menu=l;class h extends C.BaseActionViewItem{constructor(y,E,N={}){N.isMenu=!0;super(E,E,N);if(this.options=N,this.options.icon=N.icon!==void 0?N.icon:!1,this.options.label=N.label!==void 0?N.label:!0,this.cssClass="",this.options.label&&N.enableMnemonics){let D=this.getAction().label;if(D){let M=e.MENU_MNEMONIC_REGEX.exec(D);M&&(this.mnemonic=(M[1]?M[1]:M[3]).toLocaleLowerCase())}}this.runOnceToEnableMouseUp=new i.RunOnceScheduler(()=>{!this.element||(this._register((0,k.addDisposableListener)(this.element,k.EventType.MOUSE_UP,D=>{if(k.EventHelper.stop(D,!0),L.isFirefox){if(new w.StandardMouseEvent(D).rightButton)return;this.onClick(D)}else setTimeout(()=>{this.onClick(D)},0)})),this._register((0,k.addDisposableListener)(this.element,k.EventType.CONTEXT_MENU,D=>{k.EventHelper.stop(D,!0)})))},100),this._register(this.runOnceToEnableMouseUp)}render(y){super.render(y),!!this.element&&(this.container=y,this.item=(0,k.append)(this.element,(0,k.$)("a.action-menu-item")),this._action.id===n.Separator.ID?this.item.setAttribute("role","presentation"):(this.item.setAttribute("role","menuitem"),this.mnemonic&&this.item.setAttribute("aria-keyshortcuts",`${this.mnemonic}`)),this.check=(0,k.append)(this.item,(0,k.$)("span.menu-item-check"+o.Codicon.menuSelection.cssSelector)),this.check.setAttribute("role","none"),this.label=(0,k.append)(this.item,(0,k.$)("span.action-label")),this.options.label&&this.options.keybinding&&((0,k.append)(this.item,(0,k.$)("span.keybinding")).textContent=this.options.keybinding),this.runOnceToEnableMouseUp.schedule(),this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked())}blur(){super.blur(),this.applyStyle()}focus(){super.focus(),this.item&&this.item.focus(),this.applyStyle()}updatePositionInSet(y,E){this.item&&(this.item.setAttribute("aria-posinset",`${y}`),this.item.setAttribute("aria-setsize",`${E}`))}updateLabel(){if(!!this.label&&this.options.label){(0,k.clearNode)(this.label);let y=(0,c.stripIcons)(this.getAction().label);if(y){const E=v(y);this.options.enableMnemonics||(y=E),this.label.setAttribute("aria-label",E.replace(/&&/g,"&"));const N=e.MENU_MNEMONIC_REGEX.exec(y);if(N){y=s.escape(y),e.MENU_ESCAPED_MNEMONIC_REGEX.lastIndex=0;let D=e.MENU_ESCAPED_MNEMONIC_REGEX.exec(y);for(;D&&D[1];)D=e.MENU_ESCAPED_MNEMONIC_REGEX.exec(y);const M=B=>B.replace(/&amp;&amp;/g,"&amp;");D?this.label.append(s.ltrim(M(y.substr(0,D.index))," "),(0,k.$)("u",{"aria-hidden":"true"},D[3]),s.rtrim(M(y.substr(D.index+D[0].length))," ")):this.label.innerText=M(y).trim(),this.item&&this.item.setAttribute("aria-keyshortcuts",(N[1]?N[1]:N[3]).toLocaleLowerCase())}else this.label.innerText=y.replace(/&&/g,"&").trim()}}}updateTooltip(){}updateClass(){this.cssClass&&this.item&&this.item.classList.remove(...this.cssClass.split(" ")),this.options.icon&&this.label?(this.cssClass=this.getAction().class||"",this.label.classList.add("icon"),this.cssClass&&this.label.classList.add(...this.cssClass.split(" ")),this.updateEnabled()):this.label&&this.label.classList.remove("icon")}updateEnabled(){this.getAction().enabled?(this.element&&(this.element.classList.remove("disabled"),this.element.removeAttribute("aria-disabled")),this.item&&(this.item.classList.remove("disabled"),this.item.removeAttribute("aria-disabled"),this.item.tabIndex=0)):(this.element&&(this.element.classList.add("disabled"),this.element.setAttribute("aria-disabled","true")),this.item&&(this.item.classList.add("disabled"),this.item.setAttribute("aria-disabled","true")))}updateChecked(){if(!this.item)return;const y=this.getAction().checked;this.item.classList.toggle("checked",!!y),y!==void 0?(this.item.setAttribute("role","menuitemcheckbox"),this.item.setAttribute("aria-checked",y?"true":"false")):(this.item.setAttribute("role","menuitem"),this.item.setAttribute("aria-checked",""))}getMnemonic(){return this.mnemonic}applyStyle(){if(!this.menuStyle)return;const y=this.element&&this.element.classList.contains("focused"),E=y&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor,N=y&&this.menuStyle.selectionBackgroundColor?this.menuStyle.selectionBackgroundColor:void 0,D=y&&this.menuStyle.selectionBorderColor?`thin solid ${this.menuStyle.selectionBorderColor}`:"";this.item&&(this.item.style.color=E?E.toString():"",this.item.style.backgroundColor=N?N.toString():""),this.check&&(this.check.style.color=E?E.toString():""),this.container&&(this.container.style.border=D)}style(y){this.menuStyle=y,this.applyStyle()}}class f extends h{constructor(y,E,N,D){super(y,y,D);this.submenuActions=E,this.parentData=N,this.submenuOptions=D,this.mysubmenu=null,this.submenuDisposables=this._register(new d.DisposableStore),this.mouseOver=!1,this.expandDirection=D&&D.expandDirection!==void 0?D.expandDirection:a.Right,this.showScheduler=new i.RunOnceScheduler(()=>{this.mouseOver&&(this.cleanupExistingSubmenu(!1),this.createSubmenu(!1))},250),this.hideScheduler=new i.RunOnceScheduler(()=>{this.element&&!(0,k.isAncestor)((0,k.getActiveElement)(),this.element)&&this.parentData.submenu===this.mysubmenu&&(this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0))},750)}render(y){super.render(y),!!this.element&&(this.item&&(this.item.classList.add("monaco-submenu-item"),this.item.tabIndex=0,this.item.setAttribute("aria-haspopup","true"),this.updateAriaExpanded("false"),this.submenuIndicator=(0,k.append)(this.item,(0,k.$)("span.submenu-indicator"+o.Codicon.menuSubmenu.cssSelector)),this.submenuIndicator.setAttribute("aria-hidden","true")),this._register((0,k.addDisposableListener)(this.element,k.EventType.KEY_UP,E=>{let N=new I.StandardKeyboardEvent(E);(N.equals(17)||N.equals(3))&&(k.EventHelper.stop(E,!0),this.createSubmenu(!0))})),this._register((0,k.addDisposableListener)(this.element,k.EventType.KEY_DOWN,E=>{let N=new I.StandardKeyboardEvent(E);(0,k.getActiveElement)()===this.item&&(N.equals(17)||N.equals(3))&&k.EventHelper.stop(E,!0)})),this._register((0,k.addDisposableListener)(this.element,k.EventType.MOUSE_OVER,E=>{this.mouseOver||(this.mouseOver=!0,this.showScheduler.schedule())})),this._register((0,k.addDisposableListener)(this.element,k.EventType.MOUSE_LEAVE,E=>{this.mouseOver=!1})),this._register((0,k.addDisposableListener)(this.element,k.EventType.FOCUS_OUT,E=>{this.element&&!(0,k.isAncestor)((0,k.getActiveElement)(),this.element)&&this.hideScheduler.schedule()})),this._register(this.parentData.parent.onScroll(()=>{this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!1)})))}updateEnabled(){}onClick(y){k.EventHelper.stop(y,!0),this.cleanupExistingSubmenu(!1),this.createSubmenu(!0)}cleanupExistingSubmenu(y){if(this.parentData.submenu&&(y||this.parentData.submenu!==this.mysubmenu)){try{this.parentData.submenu.dispose()}catch{}this.parentData.submenu=void 0,this.updateAriaExpanded("false"),this.submenuContainer&&(this.submenuDisposables.clear(),this.submenuContainer=void 0)}}calculateSubmenuMenuLayout(y,E,N,D){const M={top:0,left:0};return M.left=(0,g.layout)(y.width,E.width,{position:D===a.Right?0:1,offset:N.left,size:N.width}),M.left>=N.left&&M.left<N.left+N.width&&(N.left+10+E.width<=y.width&&(M.left=N.left+10),N.top+=10,N.height=0),M.top=(0,g.layout)(y.height,E.height,{position:0,offset:N.top,size:0}),M.top+E.height===N.top&&M.top+N.height+E.height<=y.height&&(M.top+=N.height),M}createSubmenu(y=!0){if(!!this.element)if(this.parentData.submenu)this.parentData.submenu.focus(!1);else{this.updateAriaExpanded("true"),this.submenuContainer=(0,k.append)(this.element,(0,k.$)("div.monaco-submenu")),this.submenuContainer.classList.add("menubar-menu-items-holder","context-view");const E=getComputedStyle(this.parentData.parent.domNode),N=parseFloat(E.paddingTop||"0")||0;this.submenuContainer.style.zIndex="1",this.submenuContainer.style.position="fixed",this.submenuContainer.style.top="0",this.submenuContainer.style.left="0",this.parentData.submenu=new l(this.submenuContainer,this.submenuActions.length?this.submenuActions:[new n.EmptySubmenuAction],this.submenuOptions),this.menuStyle&&this.parentData.submenu.style(this.menuStyle);const D=this.element.getBoundingClientRect(),M={top:D.top-N,left:D.left,height:D.height+2*N,width:D.width},B=this.submenuContainer.getBoundingClientRect(),{top:O,left:T}=this.calculateSubmenuMenuLayout(new k.Dimension(window.innerWidth,window.innerHeight),k.Dimension.lift(B),M,this.expandDirection);this.submenuContainer.style.left=`${T-B.left}px`,this.submenuContainer.style.top=`${O-B.top}px`,this.submenuDisposables.add((0,k.addDisposableListener)(this.submenuContainer,k.EventType.KEY_UP,A=>{new I.StandardKeyboardEvent(A).equals(15)&&(k.EventHelper.stop(A,!0),this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0))})),this.submenuDisposables.add((0,k.addDisposableListener)(this.submenuContainer,k.EventType.KEY_DOWN,A=>{new I.StandardKeyboardEvent(A).equals(15)&&k.EventHelper.stop(A,!0)})),this.submenuDisposables.add(this.parentData.submenu.onDidCancel(()=>{this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0)})),this.parentData.submenu.focus(y),this.mysubmenu=this.parentData.submenu}}updateAriaExpanded(y){var E;this.item&&((E=this.item)===null||E===void 0||E.setAttribute("aria-expanded",y))}applyStyle(){if(super.applyStyle(),!this.menuStyle)return;const E=this.element&&this.element.classList.contains("focused")&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor;this.submenuIndicator&&(this.submenuIndicator.style.color=E?`${E}`:""),this.parentData.submenu&&this.parentData.submenu.style(this.menuStyle)}dispose(){super.dispose(),this.hideScheduler.dispose(),this.mysubmenu&&(this.mysubmenu.dispose(),this.mysubmenu=null),this.submenuContainer&&(this.submenuContainer=void 0)}}class S extends C.ActionViewItem{style(y){this.label&&(this.label.style.borderBottomColor=y.separatorColor?`${y.separatorColor}`:"")}}function v(_){const y=e.MENU_MNEMONIC_REGEX,E=y.exec(_);if(!E)return _;const N=!E[1];return _.replace(y,N?"$2$3":"").trim()}e.cleanMnemonic=v;function p(_,y){let E=`
+.monaco-menu {
+	font-size: 13px;
+
+}
+
+${(0,u.formatRule)(o.Codicon.menuSelection)}
+${(0,u.formatRule)(o.Codicon.menuSubmenu)}
+
+.monaco-menu .monaco-action-bar {
+	text-align: right;
+	overflow: hidden;
+	white-space: nowrap;
+}
+
+.monaco-menu .monaco-action-bar .actions-container {
+	display: flex;
+	margin: 0 auto;
+	padding: 0;
+	width: 100%;
+	justify-content: flex-end;
+}
+
+.monaco-menu .monaco-action-bar.vertical .actions-container {
+	display: inline-block;
+}
+
+.monaco-menu .monaco-action-bar.reverse .actions-container {
+	flex-direction: row-reverse;
+}
+
+.monaco-menu .monaco-action-bar .action-item {
+	cursor: pointer;
+	display: inline-block;
+	transition: transform 50ms ease;
+	position: relative;  /* DO NOT REMOVE - this is the key to preventing the ghosting icon bug in Chrome 42 */
+}
+
+.monaco-menu .monaco-action-bar .action-item.disabled {
+	cursor: default;
+}
+
+.monaco-menu .monaco-action-bar.animated .action-item.active {
+	transform: scale(1.272019649, 1.272019649); /* 1.272019649 = \u221A\u03C6 */
+}
+
+.monaco-menu .monaco-action-bar .action-item .icon,
+.monaco-menu .monaco-action-bar .action-item .codicon {
+	display: inline-block;
+}
+
+.monaco-menu .monaco-action-bar .action-item .codicon {
+	display: flex;
+	align-items: center;
+}
+
+.monaco-menu .monaco-action-bar .action-label {
+	font-size: 11px;
+	margin-right: 4px;
+}
+
+.monaco-menu .monaco-action-bar .action-item.disabled .action-label,
+.monaco-menu .monaco-action-bar .action-item.disabled .action-label:hover {
+	opacity: 0.4;
+}
+
+/* Vertical actions */
+
+.monaco-menu .monaco-action-bar.vertical {
+	text-align: left;
+}
+
+.monaco-menu .monaco-action-bar.vertical .action-item {
+	display: block;
+}
+
+.monaco-menu .monaco-action-bar.vertical .action-label.separator {
+	display: block;
+	border-bottom: 1px solid #bbb;
+	padding-top: 1px;
+	margin-left: .8em;
+	margin-right: .8em;
+}
+
+.monaco-menu .secondary-actions .monaco-action-bar .action-label {
+	margin-left: 6px;
+}
+
+/* Action Items */
+.monaco-menu .monaco-action-bar .action-item.select-container {
+	overflow: hidden; /* somehow the dropdown overflows its container, we prevent it here to not push */
+	flex: 1;
+	max-width: 170px;
+	min-width: 60px;
+	display: flex;
+	align-items: center;
+	justify-content: center;
+	margin-right: 10px;
+}
+
+.monaco-menu .monaco-action-bar.vertical {
+	margin-left: 0;
+	overflow: visible;
+}
+
+.monaco-menu .monaco-action-bar.vertical .actions-container {
+	display: block;
+}
+
+.monaco-menu .monaco-action-bar.vertical .action-item {
+	padding: 0;
+	transform: none;
+	display: flex;
+}
+
+.monaco-menu .monaco-action-bar.vertical .action-item.active {
+	transform: none;
+}
+
+.monaco-menu .monaco-action-bar.vertical .action-menu-item {
+	flex: 1 1 auto;
+	display: flex;
+	height: 2em;
+	align-items: center;
+	position: relative;
+}
+
+.monaco-menu .monaco-action-bar.vertical .action-label {
+	flex: 1 1 auto;
+	text-decoration: none;
+	padding: 0 1em;
+	background: none;
+	font-size: 12px;
+	line-height: 1;
+}
+
+.monaco-menu .monaco-action-bar.vertical .keybinding,
+.monaco-menu .monaco-action-bar.vertical .submenu-indicator {
+	display: inline-block;
+	flex: 2 1 auto;
+	padding: 0 1em;
+	text-align: right;
+	font-size: 12px;
+	line-height: 1;
+}
+
+.monaco-menu .monaco-action-bar.vertical .submenu-indicator {
+	height: 100%;
+}
+
+.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon {
+	font-size: 16px !important;
+	display: flex;
+	align-items: center;
+}
+
+.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon::before {
+	margin-left: auto;
+	margin-right: -20px;
+}
+
+.monaco-menu .monaco-action-bar.vertical .action-item.disabled .keybinding,
+.monaco-menu .monaco-action-bar.vertical .action-item.disabled .submenu-indicator {
+	opacity: 0.4;
+}
+
+.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator) {
+	display: inline-block;
+	box-sizing: border-box;
+	margin: 0;
+}
+
+.monaco-menu .monaco-action-bar.vertical .action-item {
+	position: static;
+	overflow: visible;
+}
+
+.monaco-menu .monaco-action-bar.vertical .action-item .monaco-submenu {
+	position: absolute;
+}
+
+.monaco-menu .monaco-action-bar.vertical .action-label.separator {
+	padding: 0.5em 0 0 0;
+	margin-bottom: 0.5em;
+	width: 100%;
+	height: 0px !important;
+	margin-left: .8em !important;
+	margin-right: .8em !important;
+}
+
+.monaco-menu .monaco-action-bar.vertical .action-label.separator.text {
+	padding: 0.7em 1em 0.1em 1em;
+	font-weight: bold;
+	opacity: 1;
+}
+
+.monaco-menu .monaco-action-bar.vertical .action-label:hover {
+	color: inherit;
+}
+
+.monaco-menu .monaco-action-bar.vertical .menu-item-check {
+	position: absolute;
+	visibility: hidden;
+	width: 1em;
+	height: 100%;
+}
+
+.monaco-menu .monaco-action-bar.vertical .action-menu-item.checked .menu-item-check {
+	visibility: visible;
+	display: flex;
+	align-items: center;
+	justify-content: center;
+}
+
+/* Context Menu */
+
+.context-view.monaco-menu-container {
+	outline: 0;
+	border: none;
+	animation: fadeIn 0.083s linear;
+	-webkit-app-region: no-drag;
+}
+
+.context-view.monaco-menu-container :focus,
+.context-view.monaco-menu-container .monaco-action-bar.vertical:focus,
+.context-view.monaco-menu-container .monaco-action-bar.vertical :focus {
+	outline: 0;
+}
+
+.monaco-menu .monaco-action-bar.vertical .action-item {
+	border: thin solid transparent; /* prevents jumping behaviour on hover or focus */
+}
+
+
+/* High Contrast Theming */
+:host-context(.hc-black) .context-view.monaco-menu-container {
+	box-shadow: none;
+}
+
+:host-context(.hc-black) .monaco-menu .monaco-action-bar.vertical .action-item.focused {
+	background: none;
+}
+
+/* Vertical Action Bar Styles */
+
+.monaco-menu .monaco-action-bar.vertical {
+	padding: .5em 0;
+}
+
+.monaco-menu .monaco-action-bar.vertical .action-menu-item {
+	height: 1.8em;
+}
+
+.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator),
+.monaco-menu .monaco-action-bar.vertical .keybinding {
+	font-size: inherit;
+	padding: 0 2em;
+}
+
+.monaco-menu .monaco-action-bar.vertical .menu-item-check {
+	font-size: inherit;
+	width: 2em;
+}
+
+.monaco-menu .monaco-action-bar.vertical .action-label.separator {
+	font-size: inherit;
+	padding: 0.2em 0 0 0;
+	margin-bottom: 0.2em;
+}
+
+:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .action-label.separator {
+	margin-left: 0;
+	margin-right: 0;
+}
+
+.monaco-menu .monaco-action-bar.vertical .submenu-indicator {
+	font-size: 60%;
+	padding: 0 1.8em;
+}
+
+:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .submenu-indicator {
+	height: 100%;
+	mask-size: 10px 10px;
+	-webkit-mask-size: 10px 10px;
+}
+
+.monaco-menu .action-item {
+	cursor: default;
+}`;if(y){E+=`
+			/* Arrows */
+			.monaco-scrollable-element > .scrollbar > .scra {
+				cursor: pointer;
+				font-size: 11px !important;
+			}
+
+			.monaco-scrollable-element > .visible {
+				opacity: 1;
+
+				/* Background rule added for IE9 - to allow clicks on dom node */
+				background:rgba(0,0,0,0);
+
+				transition: opacity 100ms linear;
+			}
+			.monaco-scrollable-element > .invisible {
+				opacity: 0;
+				pointer-events: none;
+			}
+			.monaco-scrollable-element > .invisible.fade {
+				transition: opacity 800ms linear;
+			}
+
+			/* Scrollable Content Inset Shadow */
+			.monaco-scrollable-element > .shadow {
+				position: absolute;
+				display: none;
+			}
+			.monaco-scrollable-element > .shadow.top {
+				display: block;
+				top: 0;
+				left: 3px;
+				height: 3px;
+				width: 100%;
+			}
+			.monaco-scrollable-element > .shadow.left {
+				display: block;
+				top: 3px;
+				left: 0;
+				height: 100%;
+				width: 3px;
+			}
+			.monaco-scrollable-element > .shadow.top-left-corner {
+				display: block;
+				top: 0;
+				left: 0;
+				height: 3px;
+				width: 3px;
+			}
+		`;const N=_.scrollbarShadow;N&&(E+=`
+				.monaco-scrollable-element > .shadow.top {
+					box-shadow: ${N} 0 6px 6px -6px inset;
+				}
+
+				.monaco-scrollable-element > .shadow.left {
+					box-shadow: ${N} 6px 0 6px -6px inset;
+				}
+
+				.monaco-scrollable-element > .shadow.top.left {
+					box-shadow: ${N} 6px 6px 6px -6px inset;
+				}
+			`);const D=_.scrollbarSliderBackground;D&&(E+=`
+				.monaco-scrollable-element > .scrollbar > .slider {
+					background: ${D};
+				}
+			`);const M=_.scrollbarSliderHoverBackground;M&&(E+=`
+				.monaco-scrollable-element > .scrollbar > .slider:hover {
+					background: ${M};
+				}
+			`);const B=_.scrollbarSliderActiveBackground;B&&(E+=`
+				.monaco-scrollable-element > .scrollbar > .slider.active {
+					background: ${B};
+				}
+			`)}return E}}),define(te[495],ie([1,0,7,44,59,197,2,76,145]),function(q,e,L,m,k,I,w,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.QuickInputBox=void 0;const C=L.$;class u extends w.Disposable{constructor(t){super();this.parent=t,this.onKeyDown=n=>L.addDisposableListener(this.inputBox.inputElement,L.EventType.KEY_DOWN,i=>{n(new m.StandardKeyboardEvent(i))}),this.onMouseDown=n=>L.addDisposableListener(this.inputBox.inputElement,L.EventType.MOUSE_DOWN,i=>{n(new k.StandardMouseEvent(i))}),this.onDidChange=n=>this.inputBox.onDidChange(n),this.container=L.append(this.parent,C(".quick-input-box")),this.inputBox=this._register(new I.InputBox(this.container,void 0))}get value(){return this.inputBox.value}set value(t){this.inputBox.value=t}select(t=null){this.inputBox.select(t)}isSelectionAtEnd(){return this.inputBox.isSelectionAtEnd()}get placeholder(){return this.inputBox.inputElement.getAttribute("placeholder")||""}set placeholder(t){this.inputBox.setPlaceHolder(t)}get ariaLabel(){return this.inputBox.getAriaLabel()}set ariaLabel(t){this.inputBox.setAriaLabel(t)}get password(){return this.inputBox.inputElement.type==="password"}set password(t){this.inputBox.inputElement.type=t?"password":"text"}setAttribute(t,n){this.inputBox.inputElement.setAttribute(t,n)}removeAttribute(t){this.inputBox.inputElement.removeAttribute(t)}showDecoration(t){t===b.default.Ignore?this.inputBox.hideMessage():this.inputBox.showMessage({type:t===b.default.Info?1:t===b.default.Warning?2:3,content:""})}stylesForType(t){return this.inputBox.stylesForType(t===b.default.Info?1:t===b.default.Warning?2:3)}setFocus(){this.inputBox.focus()}layout(){this.inputBox.layout()}style(t){this.inputBox.style(t)}}e.QuickInputBox=u}),define(te[496],ie([5,6]),function(q,e){return q.create("vs/base/common/errorMessage",e)}),define(te[497],ie([1,0,18,19,496]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.toErrorMessage=void 0;function I(u,g){return g&&(u.stack||u.stacktrace)?k.localize(0,null,b(u),w(u.stack)||w(u.stacktrace)):b(u)}function w(u){return Array.isArray(u)?u.join(`
+`):u}function b(u){return typeof u.code=="string"&&typeof u.errno=="number"&&typeof u.syscall=="string"?k.localize(1,null,u.message):u.message||k.localize(2,null)}function C(u=null,g=!1){if(!u)return k.localize(3,null);if(Array.isArray(u)){const t=L.coalesce(u),n=C(t[0],g);return t.length>1?k.localize(4,null,n,t.length):n}if(m.isString(u))return u;if(u.detail){const t=u.detail;if(t.error)return I(t.error,g);if(t.exception)return I(t.exception,g)}return u.stack?I(u,g):u.message?u.message:k.localize(5,null)}e.toErrorMessage=C}),define(te[498],ie([5,6]),function(q,e){return q.create("vs/base/common/keybindingLabels",e)}),define(te[198],ie([1,0,498]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UserSettingsLabelProvider=e.ElectronAcceleratorLabelProvider=e.AriaLabelProvider=e.UILabelProvider=e.ModifierLabelProvider=void 0;class m{constructor(w,b,C=b){this.modifierLabels=[null],this.modifierLabels[2]=w,this.modifierLabels[1]=b,this.modifierLabels[3]=C}toLabel(w,b,C){if(b.length===0)return null;const u=[];for(let g=0,t=b.length;g<t;g++){const n=b[g],i=C(n);if(i===null)return null;u[g]=k(n,i,this.modifierLabels[w])}return u.join(" ")}}e.ModifierLabelProvider=m,e.UILabelProvider=new m({ctrlKey:"\u2303",shiftKey:"\u21E7",altKey:"\u2325",metaKey:"\u2318",separator:""},{ctrlKey:L.localize(0,null),shiftKey:L.localize(1,null),altKey:L.localize(2,null),metaKey:L.localize(3,null),separator:"+"},{ctrlKey:L.localize(4,null),shiftKey:L.localize(5,null),altKey:L.localize(6,null),metaKey:L.localize(7,null),separator:"+"}),e.AriaLabelProvider=new m({ctrlKey:L.localize(8,null),shiftKey:L.localize(9,null),altKey:L.localize(10,null),metaKey:L.localize(11,null),separator:"+"},{ctrlKey:L.localize(12,null),shiftKey:L.localize(13,null),altKey:L.localize(14,null),metaKey:L.localize(15,null),separator:"+"},{ctrlKey:L.localize(16,null),shiftKey:L.localize(17,null),altKey:L.localize(18,null),metaKey:L.localize(19,null),separator:"+"}),e.ElectronAcceleratorLabelProvider=new m({ctrlKey:"Ctrl",shiftKey:"Shift",altKey:"Alt",metaKey:"Cmd",separator:"+"},{ctrlKey:"Ctrl",shiftKey:"Shift",altKey:"Alt",metaKey:"Super",separator:"+"}),e.UserSettingsLabelProvider=new m({ctrlKey:"ctrl",shiftKey:"shift",altKey:"alt",metaKey:"cmd",separator:"+"},{ctrlKey:"ctrl",shiftKey:"shift",altKey:"alt",metaKey:"win",separator:"+"},{ctrlKey:"ctrl",shiftKey:"shift",altKey:"alt",metaKey:"meta",separator:"+"});function k(I,w,b){if(w===null)return"";const C=[];return I.ctrlKey&&C.push(b.ctrlKey),I.shiftKey&&C.push(b.shiftKey),I.altKey&&C.push(b.altKey),I.metaKey&&C.push(b.metaKey),w!==""&&C.push(w),C.join(b.separator)}}),define(te[499],ie([1,0,7,198,40,485,342]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.KeybindingLabel=void 0;const w=L.$;class b{constructor(u,g,t){this.os=g,this.keyElements=new Set,this.options=t||Object.create(null),this.labelBackground=this.options.keybindingLabelBackground,this.labelForeground=this.options.keybindingLabelForeground,this.labelBorder=this.options.keybindingLabelBorder,this.labelBottomBorder=this.options.keybindingLabelBottomBorder,this.labelShadow=this.options.keybindingLabelShadow,this.domNode=L.append(u,w(".monaco-keybinding")),this.didEverRender=!1,u.appendChild(this.domNode)}get element(){return this.domNode}set(u,g){this.didEverRender&&this.keybinding===u&&b.areSame(this.matches,g)||(this.keybinding=u,this.matches=g,this.render())}render(){if(this.clear(),this.keybinding){let[u,g]=this.keybinding.getParts();u&&this.renderPart(this.domNode,u,this.matches?this.matches.firstPart:null),g&&(L.append(this.domNode,w("span.monaco-keybinding-key-chord-separator",void 0," ")),this.renderPart(this.domNode,g,this.matches?this.matches.chordPart:null)),this.domNode.title=this.keybinding.getAriaLabel()||""}else this.options&&this.options.renderUnboundKeybindings&&this.renderUnbound(this.domNode);this.applyStyles(),this.didEverRender=!0}clear(){L.clearNode(this.domNode),this.keyElements.clear()}renderPart(u,g,t){const n=m.UILabelProvider.modifierLabels[this.os];g.ctrlKey&&this.renderKey(u,n.ctrlKey,Boolean(t==null?void 0:t.ctrlKey),n.separator),g.shiftKey&&this.renderKey(u,n.shiftKey,Boolean(t==null?void 0:t.shiftKey),n.separator),g.altKey&&this.renderKey(u,n.altKey,Boolean(t==null?void 0:t.altKey),n.separator),g.metaKey&&this.renderKey(u,n.metaKey,Boolean(t==null?void 0:t.metaKey),n.separator);const i=g.keyLabel;i&&this.renderKey(u,i,Boolean(t==null?void 0:t.keyCode),"")}renderKey(u,g,t,n){L.append(u,this.createKeyElement(g,t?".highlight":"")),n&&L.append(u,w("span.monaco-keybinding-key-separator",void 0,n))}renderUnbound(u){L.append(u,this.createKeyElement((0,I.localize)(0,null)))}createKeyElement(u,g=""){const t=w("span.monaco-keybinding-key"+g,void 0,u);return this.keyElements.add(t),t}style(u){this.labelBackground=u.keybindingLabelBackground,this.labelForeground=u.keybindingLabelForeground,this.labelBorder=u.keybindingLabelBorder,this.labelBottomBorder=u.keybindingLabelBottomBorder,this.labelShadow=u.keybindingLabelShadow,this.applyStyles()}applyStyles(){var u;if(this.element){for(const g of this.keyElements)this.labelBackground&&(g.style.backgroundColor=(u=this.labelBackground)===null||u===void 0?void 0:u.toString()),this.labelBorder&&(g.style.borderColor=this.labelBorder.toString()),this.labelBottomBorder&&(g.style.borderBottomColor=this.labelBottomBorder.toString()),this.labelShadow&&(g.style.boxShadow=`inset 0 -1px 0 ${this.labelShadow}`);this.labelForeground&&(this.element.style.color=this.labelForeground.toString())}}static areSame(u,g){return u===g||!u&&!g?!0:!!u&&!!g&&(0,k.equals)(u.firstPart,g.firstPart)&&(0,k.equals)(u.chordPart,g.chordPart)}}e.KeybindingLabel=b}),define(te[500],ie([5,6]),function(q,e){return q.create("vs/base/parts/quickinput/browser/quickInput",e)}),define(te[501],ie([5,6]),function(q,e){return q.create("vs/base/parts/quickinput/browser/quickInputList",e)}),define(te[502],ie([1,0,7,44,87,195,499,47,18,28,320,95,4,97,2,16,19,232,501,145]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.QuickInputList=e.QuickInputListFocus=void 0;const a=L.$;class l{constructor(E){this.hidden=!1,this._onChecked=new n.Emitter,this.onChecked=this._onChecked.event,Object.assign(this,E)}get checked(){return!!this._checked}set checked(E){E!==this._checked&&(this._checked=E,this._onChecked.fire(E))}dispose(){this._onChecked.dispose()}}class h{get templateId(){return h.ID}renderTemplate(E){const N=Object.create(null);N.toDisposeElement=[],N.toDisposeTemplate=[],N.entry=L.append(E,a(".quick-input-list-entry"));const D=L.append(N.entry,a("label.quick-input-list-label"));N.toDisposeTemplate.push(L.addStandardDisposableListener(D,L.EventType.CLICK,P=>{N.checkbox.offsetParent||P.preventDefault()})),N.checkbox=L.append(D,a("input.quick-input-list-checkbox")),N.checkbox.type="checkbox",N.toDisposeTemplate.push(L.addStandardDisposableListener(N.checkbox,L.EventType.CHANGE,P=>{N.element.checked=N.checkbox.checked}));const M=L.append(D,a(".quick-input-list-rows")),B=L.append(M,a(".quick-input-list-row")),O=L.append(M,a(".quick-input-list-row"));N.label=new I.IconLabel(B,{supportHighlights:!0,supportDescriptionHighlights:!0,supportIcons:!0});const T=L.append(B,a(".quick-input-list-entry-keybinding"));N.keybinding=new w.KeybindingLabel(T,c.OS);const A=L.append(O,a(".quick-input-list-label-meta"));return N.detail=new I.IconLabel(A,{supportHighlights:!0,supportIcons:!0}),N.separator=L.append(N.entry,a(".quick-input-list-separator")),N.actionBar=new k.ActionBar(N.entry),N.actionBar.domNode.classList.add("quick-input-list-entry-action-bar"),N.toDisposeTemplate.push(N.actionBar),N}renderElement(E,N,D){D.toDisposeElement=(0,o.dispose)(D.toDisposeElement),D.element=E,D.checkbox.checked=E.checked,D.toDisposeElement.push(E.onChecked(P=>D.checkbox.checked=P));const{labelHighlights:M,descriptionHighlights:B,detailHighlights:O}=E,T=Object.create(null);T.matches=M||[],T.descriptionTitle=E.saneDescription,T.descriptionMatches=B||[],T.extraClasses=E.item.iconClasses,T.italic=E.item.italic,T.strikethrough=E.item.strikethrough,D.label.setLabel(E.saneLabel,E.saneDescription,T),D.keybinding.set(E.item.keybinding),E.saneDetail&&D.detail.setLabel(E.saneDetail,void 0,{matches:O,title:E.saneDetail}),E.separator&&E.separator.label?(D.separator.textContent=E.separator.label,D.separator.style.display=""):D.separator.style.display="none",D.entry.classList.toggle("quick-input-list-separator-border",!!E.separator),D.actionBar.clear();const A=E.item.buttons;A&&A.length?(D.actionBar.push(A.map((P,F)=>{let W=P.iconClass||(P.iconPath?(0,r.getIconClass)(P.iconPath):void 0);P.alwaysVisible&&(W=W?`${W} always-visible`:"always-visible");const R=new b.Action(`id-${F}`,"",W,!0,()=>we(this,void 0,void 0,function*(){E.fireButtonTriggered({button:P,item:E.item})}));return R.tooltip=P.tooltip||"",R}),{icon:!0,label:!1}),D.entry.classList.add("has-actions")):D.entry.classList.remove("has-actions")}disposeElement(E,N,D){D.toDisposeElement=(0,o.dispose)(D.toDisposeElement)}disposeTemplate(E){E.toDisposeElement=(0,o.dispose)(E.toDisposeElement),E.toDisposeTemplate=(0,o.dispose)(E.toDisposeTemplate)}}h.ID="listelement";class f{getHeight(E){return E.saneDetail?44:22}getTemplateId(E){return h.ID}}var S;(function(y){y[y.First=1]="First",y[y.Second=2]="Second",y[y.Last=3]="Last",y[y.Next=4]="Next",y[y.Previous=5]="Previous",y[y.NextPage=6]="NextPage",y[y.PreviousPage=7]="PreviousPage"})(S=e.QuickInputListFocus||(e.QuickInputListFocus={}));class v{constructor(E,N,D){this.parent=E,this.inputElements=[],this.elements=[],this.elementsToIndexes=new Map,this.matchOnDescription=!1,this.matchOnDetail=!1,this.matchOnLabel=!0,this.matchOnMeta=!0,this.sortByLabel=!0,this._onChangedAllVisibleChecked=new n.Emitter,this.onChangedAllVisibleChecked=this._onChangedAllVisibleChecked.event,this._onChangedCheckedCount=new n.Emitter,this.onChangedCheckedCount=this._onChangedCheckedCount.event,this._onChangedVisibleCount=new n.Emitter,this.onChangedVisibleCount=this._onChangedVisibleCount.event,this._onChangedCheckedElements=new n.Emitter,this.onChangedCheckedElements=this._onChangedCheckedElements.event,this._onButtonTriggered=new n.Emitter,this.onButtonTriggered=this._onButtonTriggered.event,this._onKeyDown=new n.Emitter,this.onKeyDown=this._onKeyDown.event,this._onLeave=new n.Emitter,this.onLeave=this._onLeave.event,this._fireCheckedEvents=!0,this.elementDisposables=[],this.disposables=[],this.id=N,this.container=L.append(this.parent,a(".quick-input-list"));const M=new f,B=new _;this.list=D.createList("QuickInput",this.container,M,[new h],{identityProvider:{getId:O=>O.saneLabel},setRowLineHeight:!1,multipleSelectionSupport:!1,horizontalScrolling:!1,accessibilityProvider:B}),this.list.getHTMLElement().id=N,this.disposables.push(this.list),this.disposables.push(this.list.onKeyDown(O=>{const T=new m.StandardKeyboardEvent(O);switch(T.keyCode){case 10:this.toggleCheckbox();break;case 31:(c.isMacintosh?O.metaKey:O.ctrlKey)&&this.list.setFocus((0,C.range)(this.list.length));break;case 16:{const A=this.list.getFocus();A.length===1&&A[0]===0&&this._onLeave.fire();break}case 18:{const A=this.list.getFocus();A.length===1&&A[0]===this.list.length-1&&this._onLeave.fire();break}}this._onKeyDown.fire(T)})),this.disposables.push(this.list.onMouseDown(O=>{O.browserEvent.button!==2&&O.browserEvent.preventDefault()})),this.disposables.push(L.addDisposableListener(this.container,L.EventType.CLICK,O=>{(O.x||O.y)&&this._onLeave.fire()})),this.disposables.push(this.list.onMouseMiddleClick(O=>{this._onLeave.fire()})),this.disposables.push(this.list.onContextMenu(O=>{typeof O.index=="number"&&(O.browserEvent.preventDefault(),this.list.setSelection([O.index]))})),this.disposables.push(this._onChangedAllVisibleChecked,this._onChangedCheckedCount,this._onChangedVisibleCount,this._onChangedCheckedElements,this._onButtonTriggered,this._onLeave,this._onKeyDown)}get onDidChangeFocus(){return n.Event.map(this.list.onDidChangeFocus,E=>E.elements.map(N=>N.item))}get onDidChangeSelection(){return n.Event.map(this.list.onDidChangeSelection,E=>({items:E.elements.map(N=>N.item),event:E.browserEvent}))}get scrollTop(){return this.list.scrollTop}set scrollTop(E){this.list.scrollTop=E}getAllVisibleChecked(){return this.allVisibleChecked(this.elements,!1)}allVisibleChecked(E,N=!0){for(let D=0,M=E.length;D<M;D++){const B=E[D];if(!B.hidden)if(B.checked)N=!0;else return!1}return N}getCheckedCount(){let E=0;const N=this.elements;for(let D=0,M=N.length;D<M;D++)N[D].checked&&E++;return E}getVisibleCount(){let E=0;const N=this.elements;for(let D=0,M=N.length;D<M;D++)N[D].hidden||E++;return E}setAllVisibleChecked(E){try{this._fireCheckedEvents=!1,this.elements.forEach(N=>{N.hidden||(N.checked=E)})}finally{this._fireCheckedEvents=!0,this.fireCheckedEvents()}}setElements(E){this.elementDisposables=(0,o.dispose)(this.elementDisposables);const N=D=>this.fireButtonTriggered(D);this.inputElements=E,this.elements=E.reduce((D,M,B)=>{var O,T,A;if(M.type!=="separator"){const P=B&&E[B-1],F=M.label&&M.label.replace(/\r?\n/g," "),W=M.meta&&M.meta.replace(/\r?\n/g," "),R=M.description&&M.description.replace(/\r?\n/g," "),z=M.detail&&M.detail.replace(/\r?\n/g," "),j=M.ariaLabel||[F,R,z].map(G=>(0,u.getCodiconAriaLabel)(G)).filter(G=>!!G).join(", "),$=this.parent.classList.contains("show-checkboxes");D.push(new l({hasCheckbox:$,index:B,item:M,saneLabel:F,saneMeta:W,saneAriaLabel:j,saneDescription:R,saneDetail:z,labelHighlights:(O=M.highlights)===null||O===void 0?void 0:O.label,descriptionHighlights:(T=M.highlights)===null||T===void 0?void 0:T.description,detailHighlights:(A=M.highlights)===null||A===void 0?void 0:A.detail,checked:!1,separator:P&&P.type==="separator"?P:void 0,fireButtonTriggered:N}))}return D},[]),this.elementDisposables.push(...this.elements),this.elementDisposables.push(...this.elements.map(D=>D.onChecked(()=>this.fireCheckedEvents()))),this.elementsToIndexes=this.elements.reduce((D,M,B)=>(D.set(M.item,B),D),new Map),this.list.splice(0,this.list.length),this.list.splice(0,this.list.length,this.elements),this._onChangedVisibleCount.fire(this.elements.length)}getFocusedElements(){return this.list.getFocusedElements().map(E=>E.item)}setFocusedElements(E){if(this.list.setFocus(E.filter(N=>this.elementsToIndexes.has(N)).map(N=>this.elementsToIndexes.get(N))),E.length>0){const N=this.list.getFocus()[0];typeof N=="number"&&this.list.reveal(N)}}getActiveDescendant(){return this.list.getHTMLElement().getAttribute("aria-activedescendant")}setSelectedElements(E){this.list.setSelection(E.filter(N=>this.elementsToIndexes.has(N)).map(N=>this.elementsToIndexes.get(N)))}getCheckedElements(){return this.elements.filter(E=>E.checked).map(E=>E.item)}setCheckedElements(E){try{this._fireCheckedEvents=!1;const N=new Set;for(const D of E)N.add(D);for(const D of this.elements)D.checked=N.has(D.item)}finally{this._fireCheckedEvents=!0,this.fireCheckedEvents()}}set enabled(E){this.list.getHTMLElement().style.pointerEvents=E?"":"none"}focus(E){if(!this.list.length)return;switch(E===S.Next&&this.list.getFocus()[0]===this.list.length-1&&(E=S.First),E===S.Previous&&this.list.getFocus()[0]===0&&(E=S.Last),E===S.Second&&this.list.length<2&&(E=S.First),E){case S.First:this.list.focusFirst();break;case S.Second:this.list.focusNth(1);break;case S.Last:this.list.focusLast();break;case S.Next:this.list.focusNext();break;case S.Previous:this.list.focusPrevious();break;case S.NextPage:this.list.focusNextPage();break;case S.PreviousPage:this.list.focusPreviousPage();break}const N=this.list.getFocus()[0];typeof N=="number"&&this.list.reveal(N)}clearFocus(){this.list.setFocus([])}domFocus(){this.list.domFocus()}layout(E){this.list.getHTMLElement().style.maxHeight=E?`calc(${Math.floor(E/44)*44}px)`:"",this.list.layout()}filter(E){if(!(this.sortByLabel||this.matchOnLabel||this.matchOnDescription||this.matchOnDetail))return this.list.layout(),!1;if(E=E.trim(),!E||!(this.matchOnLabel||this.matchOnDescription||this.matchOnDetail))this.elements.forEach(D=>{D.labelHighlights=void 0,D.descriptionHighlights=void 0,D.detailHighlights=void 0,D.hidden=!1;const M=D.index&&this.inputElements[D.index-1];D.separator=M&&M.type==="separator"?M:void 0});else{let D;this.elements.forEach(M=>{const B=this.matchOnLabel?(0,d.withNullAsUndefined)((0,i.matchesFuzzyIconAware)(E,(0,i.parseLabelWithIcons)(M.saneLabel))):void 0,O=this.matchOnDescription?(0,d.withNullAsUndefined)((0,i.matchesFuzzyIconAware)(E,(0,i.parseLabelWithIcons)(M.saneDescription||""))):void 0,T=this.matchOnDetail?(0,d.withNullAsUndefined)((0,i.matchesFuzzyIconAware)(E,(0,i.parseLabelWithIcons)(M.saneDetail||""))):void 0,A=this.matchOnMeta?(0,d.withNullAsUndefined)((0,i.matchesFuzzyIconAware)(E,(0,i.parseLabelWithIcons)(M.saneMeta||""))):void 0;if(B||O||T||A?(M.labelHighlights=B,M.descriptionHighlights=O,M.detailHighlights=T,M.hidden=!1):(M.labelHighlights=void 0,M.descriptionHighlights=void 0,M.detailHighlights=void 0,M.hidden=!M.item.alwaysShow),M.separator=void 0,!this.sortByLabel){const P=M.index&&this.inputElements[M.index-1];D=P&&P.type==="separator"?P:D,D&&!M.hidden&&(M.separator=D,D=void 0)}})}const N=this.elements.filter(D=>!D.hidden);if(this.sortByLabel&&E){const D=E.toLowerCase();N.sort((M,B)=>p(M,B,D))}return this.elementsToIndexes=N.reduce((D,M,B)=>(D.set(M.item,B),D),new Map),this.list.splice(0,this.list.length,N),this.list.setFocus([]),this.list.layout(),this._onChangedAllVisibleChecked.fire(this.getAllVisibleChecked()),this._onChangedVisibleCount.fire(N.length),!0}toggleCheckbox(){try{this._fireCheckedEvents=!1;const E=this.list.getFocusedElements(),N=this.allVisibleChecked(E);for(const D of E)D.checked=!N}finally{this._fireCheckedEvents=!0,this.fireCheckedEvents()}}display(E){this.container.style.display=E?"":"none"}isDisplayed(){return this.container.style.display!=="none"}dispose(){this.elementDisposables=(0,o.dispose)(this.elementDisposables),this.disposables=(0,o.dispose)(this.disposables)}fireCheckedEvents(){this._fireCheckedEvents&&(this._onChangedAllVisibleChecked.fire(this.getAllVisibleChecked()),this._onChangedCheckedCount.fire(this.getCheckedCount()),this._onChangedCheckedElements.fire(this.getCheckedElements()))}fireButtonTriggered(E){this._onButtonTriggered.fire(E)}style(E){this.list.style(E)}}Ie([t.memoize],v.prototype,"onDidChangeFocus",null),Ie([t.memoize],v.prototype,"onDidChangeSelection",null),e.QuickInputList=v;function p(y,E,N){const D=y.labelHighlights||[],M=E.labelHighlights||[];return D.length&&!M.length?-1:!D.length&&M.length?1:D.length===0&&M.length===0?0:(0,g.compareAnything)(y.saneLabel,E.saneLabel,N)}class _{getWidgetAriaLabel(){return(0,s.localize)(0,null)}getAriaLabel(E){return E.saneAriaLabel}getWidgetRole(){return"listbox"}getRole(E){return E.hasCheckbox?"checkbox":"option"}isChecked(E){if(!!E.hasCheckbox)return{value:E.checked,onDidChange:E.onChecked}}}}),define(te[503],ie([1,0,7,44,87,333,226,115,345,47,18,10,21,28,4,2,16,76,19,232,223,500,495,502,145]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s,a,l,h,f,S){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.QuickInputController=void 0;const v=L.$,p={iconClass:i.Codicon.quickInputBack.classNames,tooltip:(0,h.localize)(0,null),handle:-1};class _ extends c.Disposable{constructor(D){super();this.ui=D,this.visible=!1,this._enabled=!0,this._busy=!1,this._ignoreFocusOut=!1,this._buttons=[],this.noValidationMessage=_.noPromptMessage,this._severity=r.default.Ignore,this.buttonsUpdated=!1,this.onDidTriggerButtonEmitter=this._register(new o.Emitter),this.onDidHideEmitter=this._register(new o.Emitter),this.onDisposeEmitter=this._register(new o.Emitter),this.visibleDisposables=this._register(new c.DisposableStore),this.onDidHide=this.onDidHideEmitter.event}get title(){return this._title}set title(D){this._title=D,this.update()}get description(){return this._description}set description(D){this._description=D,this.update()}get step(){return this._steps}set step(D){this._steps=D,this.update()}get totalSteps(){return this._totalSteps}set totalSteps(D){this._totalSteps=D,this.update()}get enabled(){return this._enabled}set enabled(D){this._enabled=D,this.update()}get contextKey(){return this._contextKey}set contextKey(D){this._contextKey=D,this.update()}get busy(){return this._busy}set busy(D){this._busy=D,this.update()}get ignoreFocusOut(){return this._ignoreFocusOut}set ignoreFocusOut(D){const M=this._ignoreFocusOut!==D&&!d.isIOS;this._ignoreFocusOut=D&&!d.isIOS,M&&this.update()}get buttons(){return this._buttons}set buttons(D){this._buttons=D,this.buttonsUpdated=!0,this.update()}get validationMessage(){return this._validationMessage}set validationMessage(D){this._validationMessage=D,this.update()}get severity(){return this._severity}set severity(D){this._severity=D,this.update()}show(){this.visible||(this.visibleDisposables.add(this.ui.onDidTriggerButton(D=>{this.buttons.indexOf(D)!==-1&&this.onDidTriggerButtonEmitter.fire(D)})),this.ui.show(this),this.visible=!0,this._lastValidationMessage=void 0,this._lastSeverity=void 0,this.buttons.length&&(this.buttonsUpdated=!0),this.update())}hide(){!this.visible||this.ui.hide()}didHide(D=l.QuickInputHideReason.Other){this.visible=!1,this.visibleDisposables.clear(),this.onDidHideEmitter.fire({reason:D})}update(){if(!this.visible)return;const D=this.getTitle();D&&this.ui.title.textContent!==D?this.ui.title.textContent=D:!D&&this.ui.title.innerHTML!=="&nbsp;"&&(this.ui.title.innerText="\xA0");const M=this.getDescription();if(this.ui.description1.textContent!==M&&(this.ui.description1.textContent=M),this.ui.description2.textContent!==M&&(this.ui.description2.textContent=M),this.busy&&!this.busyDelay&&(this.busyDelay=new t.TimeoutTimer,this.busyDelay.setIfNotSet(()=>{this.visible&&this.ui.progressBar.infinite()},800)),!this.busy&&this.busyDelay&&(this.ui.progressBar.stop(),this.busyDelay.cancel(),this.busyDelay=void 0),this.buttonsUpdated){this.buttonsUpdated=!1,this.ui.leftActionBar.clear();const O=this.buttons.filter(A=>A===p);this.ui.leftActionBar.push(O.map((A,P)=>{const F=new u.Action(`id-${P}`,"",A.iconClass||(0,a.getIconClass)(A.iconPath),!0,()=>we(this,void 0,void 0,function*(){this.onDidTriggerButtonEmitter.fire(A)}));return F.tooltip=A.tooltip||"",F}),{icon:!0,label:!1}),this.ui.rightActionBar.clear();const T=this.buttons.filter(A=>A!==p);this.ui.rightActionBar.push(T.map((A,P)=>{const F=new u.Action(`id-${P}`,"",A.iconClass||(0,a.getIconClass)(A.iconPath),!0,()=>we(this,void 0,void 0,function*(){this.onDidTriggerButtonEmitter.fire(A)}));return F.tooltip=A.tooltip||"",F}),{icon:!0,label:!1})}this.ui.ignoreFocusOut=this.ignoreFocusOut,this.ui.setEnabled(this.enabled),this.ui.setContextKey(this.contextKey);const B=this.validationMessage||this.noValidationMessage;this._lastValidationMessage!==B&&(this._lastValidationMessage=B,L.reset(this.ui.message,...(0,b.renderLabelWithIcons)(B))),this._lastSeverity!==this.severity&&(this._lastSeverity=this.severity,this.showMessageDecoration(this.severity))}getTitle(){return this.title&&this.step?`${this.title} (${this.getSteps()})`:this.title?this.title:this.step?this.getSteps():""}getDescription(){return this.description||""}getSteps(){return this.step&&this.totalSteps?(0,h.localize)(2,null,this.step,this.totalSteps):this.step?String(this.step):""}showMessageDecoration(D){if(this.ui.inputBox.showDecoration(D),D!==r.default.Ignore){const M=this.ui.inputBox.stylesForType(D);this.ui.message.style.color=M.foreground?`${M.foreground}`:"",this.ui.message.style.backgroundColor=M.background?`${M.background}`:"",this.ui.message.style.border=M.border?`1px solid ${M.border}`:"",this.ui.message.style.marginBottom="-2px"}else this.ui.message.style.color="",this.ui.message.style.backgroundColor="",this.ui.message.style.border="",this.ui.message.style.marginBottom=""}dispose(){this.hide(),this.onDisposeEmitter.fire(),super.dispose()}}_.noPromptMessage=(0,h.localize)(1,null);class y extends _{constructor(){super(...arguments);this._value="",this.onDidChangeValueEmitter=this._register(new o.Emitter),this.onWillAcceptEmitter=this._register(new o.Emitter),this.onDidAcceptEmitter=this._register(new o.Emitter),this.onDidCustomEmitter=this._register(new o.Emitter),this._items=[],this.itemsUpdated=!1,this._canSelectMany=!1,this._canAcceptInBackground=!1,this._matchOnDescription=!1,this._matchOnDetail=!1,this._matchOnLabel=!0,this._sortByLabel=!0,this._autoFocusOnList=!0,this._keepScrollPosition=!1,this._itemActivation=this.ui.isScreenReaderOptimized()?l.ItemActivation.NONE:l.ItemActivation.FIRST,this._activeItems=[],this.activeItemsUpdated=!1,this.activeItemsToConfirm=[],this.onDidChangeActiveEmitter=this._register(new o.Emitter),this._selectedItems=[],this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=[],this.onDidChangeSelectionEmitter=this._register(new o.Emitter),this.onDidTriggerItemButtonEmitter=this._register(new o.Emitter),this.valueSelectionUpdated=!0,this._ok="default",this._customButton=!1,this.filterValue=D=>D,this.onDidChangeValue=this.onDidChangeValueEmitter.event,this.onWillAccept=this.onWillAcceptEmitter.event,this.onDidAccept=this.onDidAcceptEmitter.event,this.onDidChangeActive=this.onDidChangeActiveEmitter.event,this.onDidChangeSelection=this.onDidChangeSelectionEmitter.event,this.onDidTriggerItemButton=this.onDidTriggerItemButtonEmitter.event}get quickNavigate(){return this._quickNavigate}set quickNavigate(D){this._quickNavigate=D,this.update()}get value(){return this._value}set value(D){this.doSetValue(D)}doSetValue(D,M){this._value!==D&&(this._value=D,M||this.update(),this.visible&&this.ui.list.filter(this.filterValue(this._value))&&this.trySelectFirst(),this.onDidChangeValueEmitter.fire(this._value))}set ariaLabel(D){this._ariaLabel=D,this.update()}get ariaLabel(){return this._ariaLabel}get placeholder(){return this._placeholder}set placeholder(D){this._placeholder=D,this.update()}get items(){return this._items}get scrollTop(){return this.ui.list.scrollTop}set scrollTop(D){this.ui.list.scrollTop=D}set items(D){this._items=D,this.itemsUpdated=!0,this.update()}get canSelectMany(){return this._canSelectMany}set canSelectMany(D){this._canSelectMany=D,this.update()}get canAcceptInBackground(){return this._canAcceptInBackground}set canAcceptInBackground(D){this._canAcceptInBackground=D}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(D){this._matchOnDescription=D,this.update()}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(D){this._matchOnDetail=D,this.update()}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(D){this._matchOnLabel=D,this.update()}get sortByLabel(){return this._sortByLabel}set sortByLabel(D){this._sortByLabel=D,this.update()}get autoFocusOnList(){return this._autoFocusOnList}set autoFocusOnList(D){this._autoFocusOnList=D,this.update()}get keepScrollPosition(){return this._keepScrollPosition}set keepScrollPosition(D){this._keepScrollPosition=D}get itemActivation(){return this._itemActivation}set itemActivation(D){this._itemActivation=D}get activeItems(){return this._activeItems}set activeItems(D){this._activeItems=D,this.activeItemsUpdated=!0,this.update()}get selectedItems(){return this._selectedItems}set selectedItems(D){this._selectedItems=D,this.selectedItemsUpdated=!0,this.update()}get keyMods(){return this._quickNavigate?l.NO_KEY_MODS:this.ui.keyMods}set valueSelection(D){this._valueSelection=D,this.valueSelectionUpdated=!0,this.update()}get customButton(){return this._customButton}set customButton(D){this._customButton=D,this.update()}get customLabel(){return this._customButtonLabel}set customLabel(D){this._customButtonLabel=D,this.update()}get customHover(){return this._customButtonHover}set customHover(D){this._customButtonHover=D,this.update()}get ok(){return this._ok}set ok(D){this._ok=D,this.update()}get hideInput(){return!!this._hideInput}set hideInput(D){this._hideInput=D,this.update()}trySelectFirst(){this.autoFocusOnList&&(this.canSelectMany||this.ui.list.focus(S.QuickInputListFocus.First))}show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange(D=>{this.doSetValue(D,!0)})),this.visibleDisposables.add(this.ui.inputBox.onMouseDown(D=>{this.autoFocusOnList||this.ui.list.clearFocus()})),this.visibleDisposables.add((this._hideInput?this.ui.list:this.ui.inputBox).onKeyDown(D=>{switch(D.keyCode){case 18:this.ui.list.focus(S.QuickInputListFocus.Next),this.canSelectMany&&this.ui.list.domFocus(),L.EventHelper.stop(D,!0);break;case 16:this.ui.list.getFocusedElements().length?this.ui.list.focus(S.QuickInputListFocus.Previous):this.ui.list.focus(S.QuickInputListFocus.Last),this.canSelectMany&&this.ui.list.domFocus(),L.EventHelper.stop(D,!0);break;case 12:this.ui.list.focus(S.QuickInputListFocus.NextPage),this.canSelectMany&&this.ui.list.domFocus(),L.EventHelper.stop(D,!0);break;case 11:this.ui.list.focus(S.QuickInputListFocus.PreviousPage),this.canSelectMany&&this.ui.list.domFocus(),L.EventHelper.stop(D,!0);break;case 17:if(!this._canAcceptInBackground||!this.ui.inputBox.isSelectionAtEnd())return;this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems),this.handleAccept(!0));break;case 14:(D.ctrlKey||D.metaKey)&&!D.shiftKey&&!D.altKey&&(this.ui.list.focus(S.QuickInputListFocus.First),L.EventHelper.stop(D,!0));break;case 13:(D.ctrlKey||D.metaKey)&&!D.shiftKey&&!D.altKey&&(this.ui.list.focus(S.QuickInputListFocus.Last),L.EventHelper.stop(D,!0));break}})),this.visibleDisposables.add(this.ui.onDidAccept(()=>{this.canSelectMany?this.ui.list.getCheckedElements().length||(this._selectedItems=[],this.onDidChangeSelectionEmitter.fire(this.selectedItems)):this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems)),this.handleAccept(!1)})),this.visibleDisposables.add(this.ui.onDidCustom(()=>{this.onDidCustomEmitter.fire()})),this.visibleDisposables.add(this.ui.list.onDidChangeFocus(D=>{this.activeItemsUpdated||this.activeItemsToConfirm!==this._activeItems&&(0,g.equals)(D,this._activeItems,(M,B)=>M===B)||(this._activeItems=D,this.onDidChangeActiveEmitter.fire(D))})),this.visibleDisposables.add(this.ui.list.onDidChangeSelection(({items:D,event:M})=>{if(this.canSelectMany){D.length&&this.ui.list.setSelectedElements([]);return}this.selectedItemsToConfirm!==this._selectedItems&&(0,g.equals)(D,this._selectedItems,(B,O)=>B===O)||(this._selectedItems=D,this.onDidChangeSelectionEmitter.fire(D),D.length&&this.handleAccept(M instanceof MouseEvent&&M.button===1))})),this.visibleDisposables.add(this.ui.list.onChangedCheckedElements(D=>{!this.canSelectMany||this.selectedItemsToConfirm!==this._selectedItems&&(0,g.equals)(D,this._selectedItems,(M,B)=>M===B)||(this._selectedItems=D,this.onDidChangeSelectionEmitter.fire(D))})),this.visibleDisposables.add(this.ui.list.onButtonTriggered(D=>this.onDidTriggerItemButtonEmitter.fire(D))),this.visibleDisposables.add(this.registerQuickNavigation()),this.valueSelectionUpdated=!0),super.show()}handleAccept(D){let M=!1;this.onWillAcceptEmitter.fire({veto:()=>M=!0}),M||this.onDidAcceptEmitter.fire({inBackground:D})}registerQuickNavigation(){return L.addDisposableListener(this.ui.container,L.EventType.KEY_UP,D=>{if(this.canSelectMany||!this._quickNavigate)return;const M=new m.StandardKeyboardEvent(D),B=M.keyCode;this._quickNavigate.keybindings.some(A=>{const[P,F]=A.getParts();return F?!1:P.shiftKey&&B===4?!(M.ctrlKey||M.altKey||M.metaKey):!!(P.altKey&&B===6||P.ctrlKey&&B===5||P.metaKey&&B===57)})&&(this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems),this.handleAccept(!1)),this._quickNavigate=void 0)})}update(){if(!this.visible)return;const D=this.keepScrollPosition?this.scrollTop:0,M=!!this._hideInput&&this._items.length>0;this.ui.container.classList.toggle("hidden-input",M&&!this.description);const B={title:!!this.title||!!this.step||!!this.buttons.length,description:!!this.description,checkAll:this.canSelectMany&&!this._hideCheckAll,checkBox:this.canSelectMany,inputBox:!M,progressBar:!M,visibleCount:!0,count:this.canSelectMany,ok:this.ok==="default"?this.canSelectMany:this.ok,list:!0,message:!!this.validationMessage,customButton:this.customButton};this.ui.setVisibilities(B),super.update(),this.ui.inputBox.value!==this.value&&(this.ui.inputBox.value=this.value),this.valueSelectionUpdated&&(this.valueSelectionUpdated=!1,this.ui.inputBox.select(this._valueSelection&&{start:this._valueSelection[0],end:this._valueSelection[1]})),this.ui.inputBox.placeholder!==(this.placeholder||"")&&(this.ui.inputBox.placeholder=this.placeholder||"");const O=this.ariaLabel||this.placeholder||y.DEFAULT_ARIA_LABEL;if(this.ui.inputBox.ariaLabel!==O&&(this.ui.inputBox.ariaLabel=O),this.ui.list.matchOnDescription=this.matchOnDescription,this.ui.list.matchOnDetail=this.matchOnDetail,this.ui.list.matchOnLabel=this.matchOnLabel,this.ui.list.sortByLabel=this.sortByLabel,this.itemsUpdated)switch(this.itemsUpdated=!1,this.ui.list.setElements(this.items),this.ui.list.filter(this.filterValue(this.ui.inputBox.value)),this.ui.checkAll.checked=this.ui.list.getAllVisibleChecked(),this.ui.visibleCount.setCount(this.ui.list.getVisibleCount()),this.ui.count.setCount(this.ui.list.getCheckedCount()),this._itemActivation){case l.ItemActivation.NONE:this._itemActivation=l.ItemActivation.FIRST;break;case l.ItemActivation.SECOND:this.ui.list.focus(S.QuickInputListFocus.Second),this._itemActivation=l.ItemActivation.FIRST;break;case l.ItemActivation.LAST:this.ui.list.focus(S.QuickInputListFocus.Last),this._itemActivation=l.ItemActivation.FIRST;break;default:this.trySelectFirst();break}this.ui.container.classList.contains("show-checkboxes")!==!!this.canSelectMany&&(this.canSelectMany?this.ui.list.clearFocus():this.trySelectFirst()),this.activeItemsUpdated&&(this.activeItemsUpdated=!1,this.activeItemsToConfirm=this._activeItems,this.ui.list.setFocusedElements(this.activeItems),this.activeItemsToConfirm===this._activeItems&&(this.activeItemsToConfirm=null)),this.selectedItemsUpdated&&(this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=this._selectedItems,this.canSelectMany?this.ui.list.setCheckedElements(this.selectedItems):this.ui.list.setSelectedElements(this.selectedItems),this.selectedItemsToConfirm===this._selectedItems&&(this.selectedItemsToConfirm=null)),this.ui.customButton.label=this.customLabel||"",this.ui.customButton.element.title=this.customHover||"",this.ui.setComboboxAccessibility(!0),B.inputBox||(this.ui.list.domFocus(),this.canSelectMany&&this.ui.list.focus(S.QuickInputListFocus.First)),this.keepScrollPosition&&(this.scrollTop=D)}}y.DEFAULT_ARIA_LABEL=(0,h.localize)(3,null);class E extends c.Disposable{constructor(D){super();this.options=D,this.comboboxAccessibility=!1,this.enabled=!0,this.onDidAcceptEmitter=this._register(new o.Emitter),this.onDidCustomEmitter=this._register(new o.Emitter),this.onDidTriggerButtonEmitter=this._register(new o.Emitter),this.keyMods={ctrlCmd:!1,alt:!1},this.controller=null,this.onShowEmitter=this._register(new o.Emitter),this.onShow=this.onShowEmitter.event,this.onHideEmitter=this._register(new o.Emitter),this.onHide=this.onHideEmitter.event,this.idPrefix=D.idPrefix,this.parentElement=D.container,this.styles=D.styles,this.registerKeyModsListeners()}registerKeyModsListeners(){const D=M=>{this.keyMods.ctrlCmd=M.ctrlKey||M.metaKey,this.keyMods.alt=M.altKey};this._register(L.addDisposableListener(window,L.EventType.KEY_DOWN,D,!0)),this._register(L.addDisposableListener(window,L.EventType.KEY_UP,D,!0)),this._register(L.addDisposableListener(window,L.EventType.MOUSE_DOWN,D,!0))}getUI(){if(this.ui)return this.ui;const D=L.append(this.parentElement,v(".quick-input-widget.show-file-icons"));D.tabIndex=-1,D.style.display="none";const M=L.createStyleSheet(D),B=L.append(D,v(".quick-input-titlebar")),O=this._register(new k.ActionBar(B));O.domNode.classList.add("quick-input-left-action-bar");const T=L.append(B,v(".quick-input-title")),A=this._register(new k.ActionBar(B));A.domNode.classList.add("quick-input-right-action-bar");const P=L.append(D,v(".quick-input-description")),F=L.append(D,v(".quick-input-header")),W=L.append(F,v("input.quick-input-check-all"));W.type="checkbox",this._register(L.addStandardDisposableListener(W,L.EventType.CHANGE,le=>{const x=W.checked;ae.setAllVisibleChecked(x)})),this._register(L.addDisposableListener(W,L.EventType.CLICK,le=>{(le.x||le.y)&&$.setFocus()}));const R=L.append(F,v(".quick-input-description")),z=L.append(F,v(".quick-input-and-message")),j=L.append(z,v(".quick-input-filter")),$=this._register(new f.QuickInputBox(j));$.setAttribute("aria-describedby",`${this.idPrefix}message`);const G=L.append(j,v(".quick-input-visible-count"));G.setAttribute("aria-live","polite"),G.setAttribute("aria-atomic","true");const J=new w.CountBadge(G,{countFormat:(0,h.localize)(4,null)}),re=L.append(j,v(".quick-input-count"));re.setAttribute("aria-live","polite");const se=new w.CountBadge(re,{countFormat:(0,h.localize)(5,null)}),Z=L.append(F,v(".quick-input-action")),V=new I.Button(Z);V.label=(0,h.localize)(6,null),this._register(V.onDidClick(le=>{this.onDidAcceptEmitter.fire()}));const K=L.append(F,v(".quick-input-action")),X=new I.Button(K);X.label=(0,h.localize)(7,null),this._register(X.onDidClick(le=>{this.onDidCustomEmitter.fire()}));const oe=L.append(z,v(`#${this.idPrefix}message.quick-input-message`)),ae=this._register(new S.QuickInputList(D,this.idPrefix+"list",this.options));this._register(ae.onChangedAllVisibleChecked(le=>{W.checked=le})),this._register(ae.onChangedVisibleCount(le=>{J.setCount(le)})),this._register(ae.onChangedCheckedCount(le=>{se.setCount(le)})),this._register(ae.onLeave(()=>{setTimeout(()=>{$.setFocus(),this.controller instanceof y&&this.controller.canSelectMany&&ae.clearFocus()},0)})),this._register(ae.onDidChangeFocus(()=>{this.comboboxAccessibility&&this.getUI().inputBox.setAttribute("aria-activedescendant",this.getUI().list.getActiveDescendant()||"")}));const ee=new C.ProgressBar(D);ee.getContainer().classList.add("quick-input-progress");const ue=L.trackFocus(D);return this._register(ue),this._register(L.addDisposableListener(D,L.EventType.FOCUS,le=>{this.previousFocusElement=le.relatedTarget instanceof HTMLElement?le.relatedTarget:void 0},!0)),this._register(ue.onDidBlur(()=>{!this.getUI().ignoreFocusOut&&!this.options.ignoreFocusOut()&&this.hide(l.QuickInputHideReason.Blur),this.previousFocusElement=void 0})),this._register(L.addDisposableListener(D,L.EventType.FOCUS,le=>{$.setFocus()})),this._register(L.addDisposableListener(D,L.EventType.KEY_DOWN,le=>{const x=new m.StandardKeyboardEvent(le);switch(x.keyCode){case 3:L.EventHelper.stop(le,!0),this.onDidAcceptEmitter.fire();break;case 9:L.EventHelper.stop(le,!0),this.hide(l.QuickInputHideReason.Gesture);break;case 2:if(!x.altKey&&!x.ctrlKey&&!x.metaKey){const H=[".action-label.codicon"];D.classList.contains("show-checkboxes")?H.push("input"):H.push("input[type=text]"),this.getUI().list.isDisplayed()&&H.push(".monaco-list");const U=D.querySelectorAll(H.join(", "));x.shiftKey&&x.target===U[0]?(L.EventHelper.stop(le,!0),U[U.length-1].focus()):!x.shiftKey&&x.target===U[U.length-1]&&(L.EventHelper.stop(le,!0),U[0].focus())}break}})),this.ui={container:D,styleSheet:M,leftActionBar:O,titleBar:B,title:T,description1:P,description2:R,rightActionBar:A,checkAll:W,filterContainer:j,inputBox:$,visibleCountContainer:G,visibleCount:J,countContainer:re,count:se,okContainer:Z,ok:V,message:oe,customButtonContainer:K,customButton:X,list:ae,progressBar:ee,onDidAccept:this.onDidAcceptEmitter.event,onDidCustom:this.onDidCustomEmitter.event,onDidTriggerButton:this.onDidTriggerButtonEmitter.event,ignoreFocusOut:!1,keyMods:this.keyMods,isScreenReaderOptimized:()=>this.options.isScreenReaderOptimized(),show:le=>this.show(le),hide:()=>this.hide(),setVisibilities:le=>this.setVisibilities(le),setComboboxAccessibility:le=>this.setComboboxAccessibility(le),setEnabled:le=>this.setEnabled(le),setContextKey:le=>this.options.setContextKey(le)},this.updateStyles(),this.ui}pick(D,M={},B=n.CancellationToken.None){return new Promise((O,T)=>{let A=R=>{A=O,M.onKeyMods&&M.onKeyMods(P.keyMods),O(R)};if(B.isCancellationRequested){A(void 0);return}const P=this.createQuickPick();let F;const W=[P,P.onDidAccept(()=>{if(P.canSelectMany)A(P.selectedItems.slice()),P.hide();else{const R=P.activeItems[0];R&&(A(R),P.hide())}}),P.onDidChangeActive(R=>{const z=R[0];z&&M.onDidFocus&&M.onDidFocus(z)}),P.onDidChangeSelection(R=>{if(!P.canSelectMany){const z=R[0];z&&(A(z),P.hide())}}),P.onDidTriggerItemButton(R=>M.onDidTriggerItemButton&&M.onDidTriggerItemButton(Object.assign(Object.assign({},R),{removeItem:()=>{const z=P.items.indexOf(R.item);if(z!==-1){const j=P.items.slice(),$=j.splice(z,1),G=P.activeItems.filter(re=>re!==$[0]),J=P.keepScrollPosition;P.keepScrollPosition=!0,P.items=j,G&&(P.activeItems=G),P.keepScrollPosition=J}}}))),P.onDidChangeValue(R=>{F&&!R&&(P.activeItems.length!==1||P.activeItems[0]!==F)&&(P.activeItems=[F])}),B.onCancellationRequested(()=>{P.hide()}),P.onDidHide(()=>{(0,c.dispose)(W),A(void 0)})];P.title=M.title,P.canSelectMany=!!M.canPickMany,P.placeholder=M.placeHolder,P.ignoreFocusOut=!!M.ignoreFocusLost,P.matchOnDescription=!!M.matchOnDescription,P.matchOnDetail=!!M.matchOnDetail,P.matchOnLabel=M.matchOnLabel===void 0||M.matchOnLabel,P.autoFocusOnList=M.autoFocusOnList===void 0||M.autoFocusOnList,P.quickNavigate=M.quickNavigate,P.contextKey=M.contextKey,P.busy=!0,Promise.all([D,M.activeItem]).then(([R,z])=>{F=z,P.busy=!1,P.items=R,P.canSelectMany&&(P.selectedItems=R.filter(j=>j.type!=="separator"&&j.picked)),F&&(P.activeItems=[F])}),P.show(),Promise.resolve(D).then(void 0,R=>{T(R),P.hide()})})}createQuickPick(){const D=this.getUI();return new y(D)}show(D){const M=this.getUI();this.onShowEmitter.fire();const B=this.controller;this.controller=D,B&&B.didHide(),this.setEnabled(!0),M.leftActionBar.clear(),M.title.textContent="",M.description1.textContent="",M.description2.textContent="",M.rightActionBar.clear(),M.checkAll.checked=!1,M.inputBox.placeholder="",M.inputBox.password=!1,M.inputBox.showDecoration(r.default.Ignore),M.visibleCount.setCount(0),M.count.setCount(0),L.reset(M.message),M.progressBar.stop(),M.list.setElements([]),M.list.matchOnDescription=!1,M.list.matchOnDetail=!1,M.list.matchOnLabel=!0,M.list.sortByLabel=!0,M.ignoreFocusOut=!1,this.setComboboxAccessibility(!1),M.inputBox.ariaLabel="";const O=this.options.backKeybindingLabel();p.tooltip=O?(0,h.localize)(8,null,O):(0,h.localize)(9,null),M.container.style.display="",this.updateLayout(),M.inputBox.setFocus()}setVisibilities(D){const M=this.getUI();M.title.style.display=D.title?"":"none",M.description1.style.display=D.description&&(D.inputBox||D.checkAll)?"":"none",M.description2.style.display=D.description&&!(D.inputBox||D.checkAll)?"":"none",M.checkAll.style.display=D.checkAll?"":"none",M.filterContainer.style.display=D.inputBox?"":"none",M.visibleCountContainer.style.display=D.visibleCount?"":"none",M.countContainer.style.display=D.count?"":"none",M.okContainer.style.display=D.ok?"":"none",M.customButtonContainer.style.display=D.customButton?"":"none",M.message.style.display=D.message?"":"none",M.progressBar.getContainer().style.display=D.progressBar?"":"none",M.list.display(!!D.list),M.container.classList[D.checkBox?"add":"remove"]("show-checkboxes"),this.updateLayout()}setComboboxAccessibility(D){if(D!==this.comboboxAccessibility){const M=this.getUI();this.comboboxAccessibility=D,this.comboboxAccessibility?(M.inputBox.setAttribute("role","combobox"),M.inputBox.setAttribute("aria-haspopup","true"),M.inputBox.setAttribute("aria-autocomplete","list"),M.inputBox.setAttribute("aria-activedescendant",M.list.getActiveDescendant()||"")):(M.inputBox.removeAttribute("role"),M.inputBox.removeAttribute("aria-haspopup"),M.inputBox.removeAttribute("aria-autocomplete"),M.inputBox.removeAttribute("aria-activedescendant"))}}setEnabled(D){if(D!==this.enabled){this.enabled=D;for(const M of this.getUI().leftActionBar.viewItems)M.getAction().enabled=D;for(const M of this.getUI().rightActionBar.viewItems)M.getAction().enabled=D;this.getUI().checkAll.disabled=!D,this.getUI().ok.enabled=D,this.getUI().list.enabled=D}}hide(D){var M;const B=this.controller;if(B){const O=!((M=this.ui)===null||M===void 0?void 0:M.container.contains(document.activeElement));if(this.controller=null,this.onHideEmitter.fire(),this.getUI().container.style.display="none",!O){let T=this.previousFocusElement;for(;T&&!T.offsetParent;)T=(0,s.withNullAsUndefined)(T.parentElement);(T==null?void 0:T.offsetParent)?(T.focus(),this.previousFocusElement=void 0):this.options.returnFocus()}B.didHide(D)}}layout(D,M){this.dimension=D,this.titleBarOffset=M,this.updateLayout()}updateLayout(){if(this.ui){this.ui.container.style.top=`${this.titleBarOffset}px`;const D=this.ui.container.style,M=Math.min(this.dimension.width*.62,E.MAX_WIDTH);D.width=M+"px",D.marginLeft="-"+M/2+"px",this.ui.inputBox.layout(),this.ui.list.layout(this.dimension&&this.dimension.height*.4)}}applyStyles(D){this.styles=D,this.updateStyles()}updateStyles(){if(this.ui){const{quickInputTitleBackground:D,quickInputBackground:M,quickInputForeground:B,contrastBorder:O,widgetShadow:T}=this.styles.widget;this.ui.titleBar.style.backgroundColor=D?D.toString():"",this.ui.container.style.backgroundColor=M?M.toString():"",this.ui.container.style.color=B?B.toString():"",this.ui.container.style.border=O?`1px solid ${O}`:"",this.ui.container.style.boxShadow=T?`0 0 8px 2px ${T}`:"",this.ui.inputBox.style(this.styles.inputBox),this.ui.count.style(this.styles.countBadge),this.ui.ok.style(this.styles.button),this.ui.customButton.style(this.styles.button),this.ui.progressBar.style(this.styles.progressBar),this.ui.list.style(this.styles.list);const A=[];this.styles.list.pickerGroupBorder&&A.push(`.quick-input-list .quick-input-list-entry { border-top-color:  ${this.styles.list.pickerGroupBorder}; }`),this.styles.list.pickerGroupForeground&&A.push(`.quick-input-list .quick-input-list-separator { color:  ${this.styles.list.pickerGroupForeground}; }`),(this.styles.keybindingLabel.keybindingLabelBackground||this.styles.keybindingLabel.keybindingLabelBorder||this.styles.keybindingLabel.keybindingLabelBottomBorder||this.styles.keybindingLabel.keybindingLabelShadow||this.styles.keybindingLabel.keybindingLabelForeground)&&(A.push(".quick-input-list .monaco-keybinding > .monaco-keybinding-key {"),this.styles.keybindingLabel.keybindingLabelBackground&&A.push(`background-color: ${this.styles.keybindingLabel.keybindingLabelBackground};`),this.styles.keybindingLabel.keybindingLabelBorder&&A.push(`border-color: ${this.styles.keybindingLabel.keybindingLabelBorder};`),this.styles.keybindingLabel.keybindingLabelBottomBorder&&A.push(`border-bottom-color: ${this.styles.keybindingLabel.keybindingLabelBottomBorder};`),this.styles.keybindingLabel.keybindingLabelShadow&&A.push(`box-shadow: inset 0 -1px 0 ${this.styles.keybindingLabel.keybindingLabelShadow};`),this.styles.keybindingLabel.keybindingLabelForeground&&A.push(`color: ${this.styles.keybindingLabel.keybindingLabelForeground};`),A.push("}"));const P=A.join(`
+`);P!==this.ui.styleSheet.textContent&&(this.ui.styleSheet.textContent=P)}}}e.QuickInputController=E,E.MAX_WIDTH=600}),define(te[504],ie([5,6]),function(q,e){return q.create("vs/editor/browser/controller/textAreaHandler",e)}),define(te[505],ie([5,6]),function(q,e){return q.create("vs/editor/browser/coreCommands",e)}),define(te[506],ie([5,6]),function(q,e){return q.create("vs/editor/browser/editorExtensions",e)}),define(te[507],ie([5,6]),function(q,e){return q.create("vs/editor/browser/widget/codeEditorWidget",e)}),define(te[508],ie([5,6]),function(q,e){return q.create("vs/editor/browser/widget/diffEditorWidget",e)}),define(te[509],ie([5,6]),function(q,e){return q.create("vs/editor/browser/widget/diffReview",e)}),define(te[510],ie([5,6]),function(q,e){return q.create("vs/editor/browser/widget/inlineDiffMargin",e)}),define(te[511],ie([1,0,510,7,47,2,3,28]),function(q,e,L,m,k,I,w,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InlineDiffMargin=void 0;class C extends I.Disposable{constructor(g,t,n,i,o,c){super();this._viewZoneId=g,this._marginDomNode=t,this.editor=n,this.diff=i,this._contextMenuService=o,this._clipboardService=c,this._visibility=!1,this._marginDomNode.style.zIndex="10",this._diffActions=document.createElement("div"),this._diffActions.className=b.Codicon.lightBulb.classNames+" lightbulb-glyph",this._diffActions.style.position="absolute";const d=n.getOption(59),r=n.getModel().getEOL();this._diffActions.style.right="0px",this._diffActions.style.visibility="hidden",this._diffActions.style.height=`${d}px`,this._diffActions.style.lineHeight=`${d}px`,this._marginDomNode.appendChild(this._diffActions);const s=[],a=i.modifiedEndLineNumber===0;s.push(new k.Action("diff.clipboard.copyDeletedContent",a?i.originalEndLineNumber>i.modifiedStartLineNumber?L.localize(0,null):L.localize(1,null):i.originalEndLineNumber>i.modifiedStartLineNumber?L.localize(2,null):L.localize(3,null),void 0,!0,()=>we(this,void 0,void 0,function*(){const v=new w.Range(i.originalStartLineNumber,1,i.originalEndLineNumber+1,1),p=i.originalModel.getValueInRange(v);yield this._clipboardService.writeText(p)})));let l=0,h;i.originalEndLineNumber>i.modifiedStartLineNumber&&(h=new k.Action("diff.clipboard.copyDeletedLineContent",a?L.localize(4,null,i.originalStartLineNumber):L.localize(5,null,i.originalStartLineNumber),void 0,!0,()=>we(this,void 0,void 0,function*(){const v=i.originalModel.getLineContent(i.originalStartLineNumber+l);if(v===""){const p=i.originalModel.getEndOfLineSequence();yield this._clipboardService.writeText(p===0?`
+`:`\r
+`)}else yield this._clipboardService.writeText(v)})),s.push(h)),n.getOption(81)||s.push(new k.Action("diff.inline.revertChange",L.localize(6,null),void 0,!0,()=>we(this,void 0,void 0,function*(){const v=new w.Range(i.originalStartLineNumber,1,i.originalEndLineNumber,i.originalModel.getLineMaxColumn(i.originalEndLineNumber)),p=i.originalModel.getValueInRange(v);if(i.modifiedEndLineNumber===0){const _=n.getModel().getLineMaxColumn(i.modifiedStartLineNumber);n.executeEdits("diffEditor",[{range:new w.Range(i.modifiedStartLineNumber,_,i.modifiedStartLineNumber,_),text:r+p}])}else{const _=n.getModel().getLineMaxColumn(i.modifiedEndLineNumber);n.executeEdits("diffEditor",[{range:new w.Range(i.modifiedStartLineNumber,1,i.modifiedEndLineNumber,_),text:p}])}})));const S=(v,p)=>{this._contextMenuService.showContextMenu({getAnchor:()=>({x:v,y:p}),getActions:()=>(h&&(h.label=a?L.localize(7,null,i.originalStartLineNumber+l):L.localize(8,null,i.originalStartLineNumber+l)),s),autoSelectFirstItem:!0})};this._register(m.addStandardDisposableListener(this._diffActions,"mousedown",v=>{const{top:p,height:_}=m.getDomNodePagePosition(this._diffActions),y=Math.floor(d/3);v.preventDefault(),S(v.posx,p+_+y)})),this._register(n.onMouseMove(v=>{v.target.type===8||v.target.type===5?v.target.detail.viewZoneId===this._viewZoneId?(this.visibility=!0,l=this._updateLightBulbPosition(this._marginDomNode,v.event.browserEvent.y,d)):this.visibility=!1:this.visibility=!1})),this._register(n.onMouseDown(v=>{!v.event.rightButton||(v.target.type===8||v.target.type===5)&&v.target.detail.viewZoneId===this._viewZoneId&&(v.event.preventDefault(),l=this._updateLightBulbPosition(this._marginDomNode,v.event.browserEvent.y,d),S(v.event.posx,v.event.posy+d))}))}get visibility(){return this._visibility}set visibility(g){this._visibility!==g&&(this._visibility=g,g?this._diffActions.style.visibility="visible":this._diffActions.style.visibility="hidden")}_updateLightBulbPosition(g,t,n){const{top:i}=m.getDomNodePagePosition(g),o=t-i,c=Math.floor(o/n),d=c*n;if(this._diffActions.style.top=`${d}px`,this.diff.viewLineCounts){let r=0;for(let s=0;s<this.diff.viewLineCounts.length;s++)if(r+=this.diff.viewLineCounts[s],c<r)return s}return c}}e.InlineDiffMargin=C}),define(te[512],ie([5,6]),function(q,e){return q.create("vs/editor/common/config/editorConfigurationSchema",e)}),define(te[513],ie([5,6]),function(q,e){return q.create("vs/editor/common/config/editorOptions",e)}),define(te[32],ie([1,0,513,16,121,18,40,148]),function(q,e,L,m,k,I,w,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EditorOptions=e.editorOptionsRegistry=e.EDITOR_FONT_DEFAULTS=e.unicodeHighlightConfigKeys=e.inUntrustedWorkspace=e.filterValidationDecorations=e.EditorLayoutInfoComputer=e.EditorFontLigatures=e.TextEditorCursorStyle=e.stringSet=e.clampedInt=e.boolean=e.ApplyUpdateResult=e.ComputeOptionsMemory=e.ConfigurationChangedEvent=e.MINIMAP_GUTTER_WIDTH=void 0,e.MINIMAP_GUTTER_WIDTH=8;class C{constructor(de){this._values=de}hasChanged(de){return this._values[de]}}e.ConfigurationChangedEvent=C;class u{constructor(){this.stableMinimapLayoutInput=null,this.stableFitMaxMinimapScale=0,this.stableFitRemainingWidth=0}}e.ComputeOptionsMemory=u;class g{constructor(de,me,_e,ye){this.id=de,this.name=me,this.defaultValue=_e,this.schema=ye}applyUpdate(de,me){return n(de,me)}compute(de,me,_e){return _e}}class t{constructor(de,me){this.newValue=de,this.didChange=me}}e.ApplyUpdateResult=t;function n(be,de){if(typeof be!="object"||typeof de!="object"||!be||!de)return new t(de,be!==de);if(Array.isArray(be)||Array.isArray(de)){const _e=Array.isArray(be)&&Array.isArray(de)&&I.equals(be,de);return new t(de,_e)}let me=!1;for(const _e in de)if(de.hasOwnProperty(_e)){const ye=n(be[_e],de[_e]);ye.didChange&&(be[_e]=ye.newValue,me=!0)}return new t(be,me)}class i{constructor(de){this.schema=void 0,this.id=de,this.name="_never_",this.defaultValue=void 0}applyUpdate(de,me){return n(de,me)}validate(de){return this.defaultValue}}class o{constructor(de,me,_e,ye){this.id=de,this.name=me,this.defaultValue=_e,this.schema=ye}applyUpdate(de,me){return n(de,me)}validate(de){return typeof de=="undefined"?this.defaultValue:de}compute(de,me,_e){return _e}}function c(be,de){return typeof be=="undefined"?de:be==="false"?!1:Boolean(be)}e.boolean=c;class d extends o{constructor(de,me,_e,ye=void 0){typeof ye!="undefined"&&(ye.type="boolean",ye.default=_e);super(de,me,_e,ye)}validate(de){return c(de,this.defaultValue)}}function r(be,de,me,_e){if(typeof be=="undefined")return de;let ye=parseInt(be,10);return isNaN(ye)?de:(ye=Math.max(me,ye),ye=Math.min(_e,ye),ye|0)}e.clampedInt=r;class s extends o{constructor(de,me,_e,ye,ke,Te=void 0){typeof Te!="undefined"&&(Te.type="integer",Te.default=_e,Te.minimum=ye,Te.maximum=ke);super(de,me,_e,Te);this.minimum=ye,this.maximum=ke}static clampedInt(de,me,_e,ye){return r(de,me,_e,ye)}validate(de){return s.clampedInt(de,this.defaultValue,this.minimum,this.maximum)}}class a extends o{constructor(de,me,_e,ye,ke){typeof ke!="undefined"&&(ke.type="number",ke.default=_e);super(de,me,_e,ke);this.validationFn=ye}static clamp(de,me,_e){return de<me?me:de>_e?_e:de}static float(de,me){if(typeof de=="number")return de;if(typeof de=="undefined")return me;const _e=parseFloat(de);return isNaN(_e)?me:_e}validate(de){return this.validationFn(a.float(de,this.defaultValue))}}class l extends o{static string(de,me){return typeof de!="string"?me:de}constructor(de,me,_e,ye=void 0){typeof ye!="undefined"&&(ye.type="string",ye.default=_e);super(de,me,_e,ye)}validate(de){return l.string(de,this.defaultValue)}}function h(be,de,me){return typeof be!="string"||me.indexOf(be)===-1?de:be}e.stringSet=h;class f extends o{constructor(de,me,_e,ye,ke=void 0){typeof ke!="undefined"&&(ke.type="string",ke.enum=ye,ke.default=_e);super(de,me,_e,ke);this._allowedValues=ye}validate(de){return h(de,this.defaultValue,this._allowedValues)}}class S extends g{constructor(de,me,_e,ye,ke,Te,Me=void 0){typeof Me!="undefined"&&(Me.type="string",Me.enum=ke,Me.default=ye);super(de,me,_e,Me);this._allowedValues=ke,this._convert=Te}validate(de){return typeof de!="string"?this.defaultValue:this._allowedValues.indexOf(de)===-1?this.defaultValue:this._convert(de)}}function v(be){switch(be){case"none":return 0;case"keep":return 1;case"brackets":return 2;case"advanced":return 3;case"full":return 4}}class p extends g{constructor(){super(2,"accessibilitySupport",0,{type:"string",enum:["auto","on","off"],enumDescriptions:[L.localize(0,null),L.localize(1,null),L.localize(2,null)],default:"auto",description:L.localize(3,null)})}validate(de){switch(de){case"auto":return 0;case"off":return 1;case"on":return 2}return this.defaultValue}compute(de,me,_e){return _e===0?de.accessibilitySupport:_e}}class _ extends g{constructor(){const de={insertSpace:!0,ignoreEmptyLines:!0};super(19,"comments",de,{"editor.comments.insertSpace":{type:"boolean",default:de.insertSpace,description:L.localize(4,null)},"editor.comments.ignoreEmptyLines":{type:"boolean",default:de.ignoreEmptyLines,description:L.localize(5,null)}})}validate(de){if(!de||typeof de!="object")return this.defaultValue;const me=de;return{insertSpace:c(me.insertSpace,this.defaultValue.insertSpace),ignoreEmptyLines:c(me.ignoreEmptyLines,this.defaultValue.ignoreEmptyLines)}}}function y(be){switch(be){case"blink":return 1;case"smooth":return 2;case"phase":return 3;case"expand":return 4;case"solid":return 5}}var E;(function(be){be[be.Line=1]="Line",be[be.Block=2]="Block",be[be.Underline=3]="Underline",be[be.LineThin=4]="LineThin",be[be.BlockOutline=5]="BlockOutline",be[be.UnderlineThin=6]="UnderlineThin"})(E=e.TextEditorCursorStyle||(e.TextEditorCursorStyle={}));function N(be){switch(be){case"line":return E.Line;case"block":return E.Block;case"underline":return E.Underline;case"line-thin":return E.LineThin;case"block-outline":return E.BlockOutline;case"underline-thin":return E.UnderlineThin}}class D extends i{constructor(){super(128)}compute(de,me,_e){const ye=["monaco-editor"];return me.get(33)&&ye.push(me.get(33)),de.extraEditorClassName&&ye.push(de.extraEditorClassName),me.get(66)==="default"?ye.push("mouse-default"):me.get(66)==="copy"&&ye.push("mouse-copy"),me.get(100)&&ye.push("showUnused"),me.get(126)&&ye.push("showDeprecated"),ye.join(" ")}}class M extends d{constructor(){super(32,"emptySelectionClipboard",!0,{description:L.localize(6,null)})}compute(de,me,_e){return _e&&de.emptySelectionClipboard}}class B extends g{constructor(){const de={cursorMoveOnType:!0,seedSearchStringFromSelection:"always",autoFindInSelection:"never",globalFindClipboard:!1,addExtraSpaceOnTop:!0,loop:!0};super(35,"find",de,{"editor.find.cursorMoveOnType":{type:"boolean",default:de.cursorMoveOnType,description:L.localize(7,null)},"editor.find.seedSearchStringFromSelection":{type:"string",enum:["never","always","selection"],default:de.seedSearchStringFromSelection,enumDescriptions:[L.localize(8,null),L.localize(9,null),L.localize(10,null)],description:L.localize(11,null)},"editor.find.autoFindInSelection":{type:"string",enum:["never","always","multiline"],default:de.autoFindInSelection,enumDescriptions:[L.localize(12,null),L.localize(13,null),L.localize(14,null)],description:L.localize(15,null)},"editor.find.globalFindClipboard":{type:"boolean",default:de.globalFindClipboard,description:L.localize(16,null),included:m.isMacintosh},"editor.find.addExtraSpaceOnTop":{type:"boolean",default:de.addExtraSpaceOnTop,description:L.localize(17,null)},"editor.find.loop":{type:"boolean",default:de.loop,description:L.localize(18,null)}})}validate(de){if(!de||typeof de!="object")return this.defaultValue;const me=de;return{cursorMoveOnType:c(me.cursorMoveOnType,this.defaultValue.cursorMoveOnType),seedSearchStringFromSelection:typeof de.seedSearchStringFromSelection=="boolean"?de.seedSearchStringFromSelection?"always":"never":h(me.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection,["never","always","selection"]),autoFindInSelection:typeof de.autoFindInSelection=="boolean"?de.autoFindInSelection?"always":"never":h(me.autoFindInSelection,this.defaultValue.autoFindInSelection,["never","always","multiline"]),globalFindClipboard:c(me.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:c(me.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop),loop:c(me.loop,this.defaultValue.loop)}}}class O extends g{constructor(){super(45,"fontLigatures",O.OFF,{anyOf:[{type:"boolean",description:L.localize(19,null)},{type:"string",description:L.localize(20,null)}],description:L.localize(21,null),default:!1})}validate(de){return typeof de=="undefined"?this.defaultValue:typeof de=="string"?de==="false"?O.OFF:de==="true"?O.ON:de:Boolean(de)?O.ON:O.OFF}}e.EditorFontLigatures=O,O.OFF='"liga" off, "calt" off',O.ON='"liga" on, "calt" on';class T extends i{constructor(){super(44)}compute(de,me,_e){return de.fontInfo}}class A extends o{constructor(){super(46,"fontSize",e.EDITOR_FONT_DEFAULTS.fontSize,{type:"number",minimum:6,maximum:100,default:e.EDITOR_FONT_DEFAULTS.fontSize,description:L.localize(22,null)})}validate(de){const me=a.float(de,this.defaultValue);return me===0?e.EDITOR_FONT_DEFAULTS.fontSize:a.clamp(me,6,100)}compute(de,me,_e){return de.fontInfo.fontSize}}class P extends g{constructor(){super(47,"fontWeight",e.EDITOR_FONT_DEFAULTS.fontWeight,{anyOf:[{type:"number",minimum:P.MINIMUM_VALUE,maximum:P.MAXIMUM_VALUE,errorMessage:L.localize(23,null)},{type:"string",pattern:"^(normal|bold|1000|[1-9][0-9]{0,2})$"},{enum:P.SUGGESTION_VALUES}],default:e.EDITOR_FONT_DEFAULTS.fontWeight,description:L.localize(24,null)})}validate(de){return de==="normal"||de==="bold"?de:String(s.clampedInt(de,e.EDITOR_FONT_DEFAULTS.fontWeight,P.MINIMUM_VALUE,P.MAXIMUM_VALUE))}}P.SUGGESTION_VALUES=["normal","bold","100","200","300","400","500","600","700","800","900"],P.MINIMUM_VALUE=1,P.MAXIMUM_VALUE=1e3;class F extends g{constructor(){const de={multiple:"peek",multipleDefinitions:"peek",multipleTypeDefinitions:"peek",multipleDeclarations:"peek",multipleImplementations:"peek",multipleReferences:"peek",alternativeDefinitionCommand:"editor.action.goToReferences",alternativeTypeDefinitionCommand:"editor.action.goToReferences",alternativeDeclarationCommand:"editor.action.goToReferences",alternativeImplementationCommand:"",alternativeReferenceCommand:""},me={type:"string",enum:["peek","gotoAndPeek","goto"],default:de.multiple,enumDescriptions:[L.localize(25,null),L.localize(26,null),L.localize(27,null)]},_e=["","editor.action.referenceSearch.trigger","editor.action.goToReferences","editor.action.peekImplementation","editor.action.goToImplementation","editor.action.peekTypeDefinition","editor.action.goToTypeDefinition","editor.action.peekDeclaration","editor.action.revealDeclaration","editor.action.peekDefinition","editor.action.revealDefinitionAside","editor.action.revealDefinition"];super(51,"gotoLocation",de,{"editor.gotoLocation.multiple":{deprecationMessage:L.localize(28,null)},"editor.gotoLocation.multipleDefinitions":Object.assign({description:L.localize(29,null)},me),"editor.gotoLocation.multipleTypeDefinitions":Object.assign({description:L.localize(30,null)},me),"editor.gotoLocation.multipleDeclarations":Object.assign({description:L.localize(31,null)},me),"editor.gotoLocation.multipleImplementations":Object.assign({description:L.localize(32,null)},me),"editor.gotoLocation.multipleReferences":Object.assign({description:L.localize(33,null)},me),"editor.gotoLocation.alternativeDefinitionCommand":{type:"string",default:de.alternativeDefinitionCommand,enum:_e,description:L.localize(34,null)},"editor.gotoLocation.alternativeTypeDefinitionCommand":{type:"string",default:de.alternativeTypeDefinitionCommand,enum:_e,description:L.localize(35,null)},"editor.gotoLocation.alternativeDeclarationCommand":{type:"string",default:de.alternativeDeclarationCommand,enum:_e,description:L.localize(36,null)},"editor.gotoLocation.alternativeImplementationCommand":{type:"string",default:de.alternativeImplementationCommand,enum:_e,description:L.localize(37,null)},"editor.gotoLocation.alternativeReferenceCommand":{type:"string",default:de.alternativeReferenceCommand,enum:_e,description:L.localize(38,null)}})}validate(de){var me,_e,ye,ke,Te;if(!de||typeof de!="object")return this.defaultValue;const Me=de;return{multiple:h(Me.multiple,this.defaultValue.multiple,["peek","gotoAndPeek","goto"]),multipleDefinitions:(me=Me.multipleDefinitions)!==null&&me!==void 0?me:h(Me.multipleDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleTypeDefinitions:(_e=Me.multipleTypeDefinitions)!==null&&_e!==void 0?_e:h(Me.multipleTypeDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleDeclarations:(ye=Me.multipleDeclarations)!==null&&ye!==void 0?ye:h(Me.multipleDeclarations,"peek",["peek","gotoAndPeek","goto"]),multipleImplementations:(ke=Me.multipleImplementations)!==null&&ke!==void 0?ke:h(Me.multipleImplementations,"peek",["peek","gotoAndPeek","goto"]),multipleReferences:(Te=Me.multipleReferences)!==null&&Te!==void 0?Te:h(Me.multipleReferences,"peek",["peek","gotoAndPeek","goto"]),alternativeDefinitionCommand:l.string(Me.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:l.string(Me.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:l.string(Me.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:l.string(Me.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand),alternativeReferenceCommand:l.string(Me.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand)}}}class W extends g{constructor(){const de={enabled:!0,delay:300,sticky:!0,above:!0};super(53,"hover",de,{"editor.hover.enabled":{type:"boolean",default:de.enabled,description:L.localize(39,null)},"editor.hover.delay":{type:"number",default:de.delay,minimum:0,maximum:1e4,description:L.localize(40,null)},"editor.hover.sticky":{type:"boolean",default:de.sticky,description:L.localize(41,null)},"editor.hover.above":{type:"boolean",default:de.above,description:L.localize(42,null)}})}validate(de){if(!de||typeof de!="object")return this.defaultValue;const me=de;return{enabled:c(me.enabled,this.defaultValue.enabled),delay:s.clampedInt(me.delay,this.defaultValue.delay,0,1e4),sticky:c(me.sticky,this.defaultValue.sticky),above:c(me.above,this.defaultValue.above)}}}class R extends i{constructor(){super(131)}compute(de,me,_e){return R.computeLayout(me,{memory:de.memory,outerWidth:de.outerWidth,outerHeight:de.outerHeight,isDominatedByLongLines:de.isDominatedByLongLines,lineHeight:de.fontInfo.lineHeight,viewLineCount:de.viewLineCount,lineNumbersDigitCount:de.lineNumbersDigitCount,typicalHalfwidthCharacterWidth:de.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:de.fontInfo.maxDigitWidth,pixelRatio:de.pixelRatio})}static computeContainedMinimapLineCount(de){const me=de.height/de.lineHeight,_e=de.scrollBeyondLastLine?me-1:0,ye=(de.viewLineCount+_e)/(de.pixelRatio*de.height),ke=Math.floor(de.viewLineCount/ye);return{typicalViewportLineCount:me,extraLinesBeyondLastLine:_e,desiredRatio:ye,minimapLineCount:ke}}static _computeMinimapLayout(de,me){const _e=de.outerWidth,ye=de.outerHeight,ke=de.pixelRatio;if(!de.minimap.enabled)return{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:Math.floor(ke*ye),minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:ye};const Te=me.stableMinimapLayoutInput,Me=Te&&de.outerHeight===Te.outerHeight&&de.lineHeight===Te.lineHeight&&de.typicalHalfwidthCharacterWidth===Te.typicalHalfwidthCharacterWidth&&de.pixelRatio===Te.pixelRatio&&de.scrollBeyondLastLine===Te.scrollBeyondLastLine&&de.minimap.enabled===Te.minimap.enabled&&de.minimap.side===Te.minimap.side&&de.minimap.size===Te.minimap.size&&de.minimap.showSlider===Te.minimap.showSlider&&de.minimap.renderCharacters===Te.minimap.renderCharacters&&de.minimap.maxColumn===Te.minimap.maxColumn&&de.minimap.scale===Te.minimap.scale&&de.verticalScrollbarWidth===Te.verticalScrollbarWidth&&de.isViewportWrapping===Te.isViewportWrapping,We=de.lineHeight,xe=de.typicalHalfwidthCharacterWidth,He=de.scrollBeyondLastLine,Le=de.minimap.renderCharacters;let Se=ke>=2?Math.round(de.minimap.scale*2):de.minimap.scale;const De=de.minimap.maxColumn,Pe=de.minimap.size,Fe=de.minimap.side,ze=de.verticalScrollbarWidth,Ke=de.viewLineCount,$e=de.remainingWidth,Ve=de.isViewportWrapping,tt=Le?2:3;let Be=Math.floor(ke*ye);const Ee=Be/ke;let Re=!1,Ae=!1,je=tt*Se,et=Se/ke,Ze=1;if(Pe==="fill"||Pe==="fit"){const{typicalViewportLineCount:Ye,extraLinesBeyondLastLine:Xe,desiredRatio:it,minimapLineCount:lt}=R.computeContainedMinimapLineCount({viewLineCount:Ke,scrollBeyondLastLine:He,height:ye,lineHeight:We,pixelRatio:ke});if(Ke/lt>1)Re=!0,Ae=!0,Se=1,je=1,et=Se/ke;else{let dt=!1,at=Se+1;if(Pe==="fit"){const nt=Math.ceil((Ke+Xe)*je);Ve&&Me&&$e<=me.stableFitRemainingWidth?(dt=!0,at=me.stableFitMaxMinimapScale):dt=nt>Be}if(Pe==="fill"||dt){Re=!0;const nt=Se;je=Math.min(We*ke,Math.max(1,Math.floor(1/it))),Ve&&Me&&$e<=me.stableFitRemainingWidth&&(at=me.stableFitMaxMinimapScale),Se=Math.min(at,Math.max(1,Math.floor(je/tt))),Se>nt&&(Ze=Math.min(2,Se/nt)),et=Se/ke/Ze,Be=Math.ceil(Math.max(Ye,Ke+Xe)*je),Ve?(me.stableMinimapLayoutInput=de,me.stableFitRemainingWidth=$e,me.stableFitMaxMinimapScale=Se):(me.stableMinimapLayoutInput=null,me.stableFitRemainingWidth=0)}}}const qe=Math.floor(De*et),Ne=Math.min(qe,Math.max(0,Math.floor(($e-ze-2)*et/(xe+et)))+e.MINIMAP_GUTTER_WIDTH);let Oe=Math.floor(ke*Ne);const Ue=Oe/ke;Oe=Math.floor(Oe*Ze);const Ge=Le?1:2,Je=Fe==="left"?0:_e-Ne-ze;return{renderMinimap:Ge,minimapLeft:Je,minimapWidth:Ne,minimapHeightIsEditorHeight:Re,minimapIsSampling:Ae,minimapScale:Se,minimapLineHeight:je,minimapCanvasInnerWidth:Oe,minimapCanvasInnerHeight:Be,minimapCanvasOuterWidth:Ue,minimapCanvasOuterHeight:Ee}}static computeLayout(de,me){const _e=me.outerWidth|0,ye=me.outerHeight|0,ke=me.lineHeight|0,Te=me.lineNumbersDigitCount|0,Me=me.typicalHalfwidthCharacterWidth,We=me.maxDigitWidth,xe=me.pixelRatio,He=me.viewLineCount,Le=de.get(123),Se=Le==="inherit"?de.get(122):Le,De=Se==="inherit"?de.get(118):Se,Pe=de.get(121),Fe=de.get(2),ze=me.isDominatedByLongLines,Ke=de.get(50),$e=de.get(60).renderType!==0,Ve=de.get(61),tt=de.get(94),Be=de.get(65),Ee=de.get(92),Re=Ee.verticalScrollbarSize,Ae=Ee.verticalHasArrows,je=Ee.arrowSize,et=Ee.horizontalScrollbarSize,Ze=de.get(58),qe=de.get(37);let Ne;if(typeof Ze=="string"&&/^\d+(\.\d+)?ch$/.test(Ze)){const ct=parseFloat(Ze.substr(0,Ze.length-2));Ne=s.clampedInt(ct*Me,0,0,1e3)}else Ne=s.clampedInt(Ze,0,0,1e3);qe&&(Ne+=16);let Oe=0;if($e){const ct=Math.max(Te,Ve);Oe=Math.round(ct*We)}let Ue=0;Ke&&(Ue=ke);let Ge=0,Je=Ge+Ue,Ye=Je+Oe,Xe=Ye+Ne;const it=_e-Ue-Oe-Ne;let lt=!1,bt=!1,dt=-1;Fe!==2&&(Se==="inherit"&&ze?(lt=!0,bt=!0):De==="on"||De==="bounded"?bt=!0:De==="wordWrapColumn"&&(dt=Pe));const at=R._computeMinimapLayout({outerWidth:_e,outerHeight:ye,lineHeight:ke,typicalHalfwidthCharacterWidth:Me,pixelRatio:xe,scrollBeyondLastLine:tt,minimap:Be,verticalScrollbarWidth:Re,viewLineCount:He,remainingWidth:it,isViewportWrapping:bt},me.memory||new u);at.renderMinimap!==0&&at.minimapLeft===0&&(Ge+=at.minimapWidth,Je+=at.minimapWidth,Ye+=at.minimapWidth,Xe+=at.minimapWidth);const nt=it-at.minimapWidth,ht=Math.max(1,Math.floor((nt-Re-2)/Me)),Ct=Ae?je:0;return bt&&(dt=Math.max(1,ht),De==="bounded"&&(dt=Math.min(dt,Pe))),{width:_e,height:ye,glyphMarginLeft:Ge,glyphMarginWidth:Ue,lineNumbersLeft:Je,lineNumbersWidth:Oe,decorationsLeft:Ye,decorationsWidth:Ne,contentLeft:Xe,contentWidth:nt,minimap:at,viewportColumn:ht,isWordWrapMinified:lt,isViewportWrapping:bt,wrappingColumn:dt,verticalScrollbarWidth:Re,horizontalScrollbarHeight:et,overviewRuler:{top:Ct,width:Re,height:ye-2*Ct,right:0}}}}e.EditorLayoutInfoComputer=R;class z extends g{constructor(){const de={enabled:!0};super(57,"lightbulb",de,{"editor.lightbulb.enabled":{type:"boolean",default:de.enabled,description:L.localize(43,null)}})}validate(de){return!de||typeof de!="object"?this.defaultValue:{enabled:c(de.enabled,this.defaultValue.enabled)}}}class j extends g{constructor(){const de={enabled:!0,fontSize:0,fontFamily:""};super(127,"inlayHints",de,{"editor.inlayHints.enabled":{type:"boolean",default:de.enabled,description:L.localize(44,null)},"editor.inlayHints.fontSize":{type:"number",default:de.fontSize,markdownDescription:L.localize(45,null)},"editor.inlayHints.fontFamily":{type:"string",default:de.fontFamily,markdownDescription:L.localize(46,null)}})}validate(de){if(!de||typeof de!="object")return this.defaultValue;const me=de;return{enabled:c(me.enabled,this.defaultValue.enabled),fontSize:s.clampedInt(me.fontSize,this.defaultValue.fontSize,0,100),fontFamily:l.string(me.fontFamily,this.defaultValue.fontFamily)}}}class $ extends a{constructor(){super(59,"lineHeight",e.EDITOR_FONT_DEFAULTS.lineHeight,de=>a.clamp(de,0,150),{markdownDescription:L.localize(47,null)})}compute(de,me,_e){return de.fontInfo.lineHeight}}class G extends g{constructor(){const de={enabled:!0,size:"proportional",side:"right",showSlider:"mouseover",renderCharacters:!0,maxColumn:120,scale:1};super(65,"minimap",de,{"editor.minimap.enabled":{type:"boolean",default:de.enabled,description:L.localize(48,null)},"editor.minimap.size":{type:"string",enum:["proportional","fill","fit"],enumDescriptions:[L.localize(49,null),L.localize(50,null),L.localize(51,null)],default:de.size,description:L.localize(52,null)},"editor.minimap.side":{type:"string",enum:["left","right"],default:de.side,description:L.localize(53,null)},"editor.minimap.showSlider":{type:"string",enum:["always","mouseover"],default:de.showSlider,description:L.localize(54,null)},"editor.minimap.scale":{type:"number",default:de.scale,minimum:1,maximum:3,enum:[1,2,3],description:L.localize(55,null)},"editor.minimap.renderCharacters":{type:"boolean",default:de.renderCharacters,description:L.localize(56,null)},"editor.minimap.maxColumn":{type:"number",default:de.maxColumn,description:L.localize(57,null)}})}validate(de){if(!de||typeof de!="object")return this.defaultValue;const me=de;return{enabled:c(me.enabled,this.defaultValue.enabled),size:h(me.size,this.defaultValue.size,["proportional","fill","fit"]),side:h(me.side,this.defaultValue.side,["right","left"]),showSlider:h(me.showSlider,this.defaultValue.showSlider,["always","mouseover"]),renderCharacters:c(me.renderCharacters,this.defaultValue.renderCharacters),scale:s.clampedInt(me.scale,1,1,3),maxColumn:s.clampedInt(me.maxColumn,this.defaultValue.maxColumn,1,1e4)}}}function J(be){return be==="ctrlCmd"?m.isMacintosh?"metaKey":"ctrlKey":"altKey"}class re extends g{constructor(){super(75,"padding",{top:0,bottom:0},{"editor.padding.top":{type:"number",default:0,minimum:0,maximum:1e3,description:L.localize(58,null)},"editor.padding.bottom":{type:"number",default:0,minimum:0,maximum:1e3,description:L.localize(59,null)}})}validate(de){if(!de||typeof de!="object")return this.defaultValue;const me=de;return{top:s.clampedInt(me.top,0,0,1e3),bottom:s.clampedInt(me.bottom,0,0,1e3)}}}class se extends g{constructor(){const de={enabled:!0,cycle:!1};super(76,"parameterHints",de,{"editor.parameterHints.enabled":{type:"boolean",default:de.enabled,description:L.localize(60,null)},"editor.parameterHints.cycle":{type:"boolean",default:de.cycle,description:L.localize(61,null)}})}validate(de){if(!de||typeof de!="object")return this.defaultValue;const me=de;return{enabled:c(me.enabled,this.defaultValue.enabled),cycle:c(me.cycle,this.defaultValue.cycle)}}}class Z extends i{constructor(){super(129)}compute(de,me,_e){return de.pixelRatio}}class V extends g{constructor(){const de={other:!0,comments:!1,strings:!1};super(79,"quickSuggestions",de,{anyOf:[{type:"boolean"},{type:"object",properties:{strings:{type:"boolean",default:de.strings,description:L.localize(62,null)},comments:{type:"boolean",default:de.comments,description:L.localize(63,null)},other:{type:"boolean",default:de.other,description:L.localize(64,null)}}}],default:de,description:L.localize(65,null)});this.defaultValue=de}validate(de){if(typeof de=="boolean")return de;if(de&&typeof de=="object"){const me=de,_e={other:c(me.other,this.defaultValue.other),comments:c(me.comments,this.defaultValue.comments),strings:c(me.strings,this.defaultValue.strings)};return _e.other&&_e.comments&&_e.strings?!0:!_e.other&&!_e.comments&&!_e.strings?!1:_e}return this.defaultValue}}class K extends g{constructor(){super(60,"lineNumbers",{renderType:1,renderFn:null},{type:"string",enum:["off","on","relative","interval"],enumDescriptions:[L.localize(66,null),L.localize(67,null),L.localize(68,null),L.localize(69,null)],default:"on",description:L.localize(70,null)})}validate(de){let me=this.defaultValue.renderType,_e=this.defaultValue.renderFn;return typeof de!="undefined"&&(typeof de=="function"?(me=4,_e=de):de==="interval"?me=3:de==="relative"?me=2:de==="on"?me=1:me=0),{renderType:me,renderFn:_e}}}function X(be){const de=be.get(87);return de==="editable"?be.get(81):de!=="on"}e.filterValidationDecorations=X;class oe extends g{constructor(){const de=[],me={type:"number",description:L.localize(71,null)};super(91,"rulers",de,{type:"array",items:{anyOf:[me,{type:["object"],properties:{column:me,color:{type:"string",description:L.localize(72,null),format:"color-hex"}}}]},default:de,description:L.localize(73,null)})}validate(de){if(Array.isArray(de)){const me=[];for(let _e of de)if(typeof _e=="number")me.push({column:s.clampedInt(_e,0,0,1e4),color:null});else if(_e&&typeof _e=="object"){const ye=_e;me.push({column:s.clampedInt(ye.column,0,0,1e4),color:ye.color})}return me.sort((_e,ye)=>_e.column-ye.column),me}return this.defaultValue}}function ae(be,de){if(typeof be!="string")return de;switch(be){case"hidden":return 2;case"visible":return 3;default:return 1}}class ee extends g{constructor(){const de={vertical:1,horizontal:1,arrowSize:11,useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,horizontalScrollbarSize:12,horizontalSliderSize:12,verticalScrollbarSize:14,verticalSliderSize:14,handleMouseWheel:!0,alwaysConsumeMouseWheel:!0,scrollByPage:!1};super(92,"scrollbar",de,{"editor.scrollbar.vertical":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[L.localize(74,null),L.localize(75,null),L.localize(76,null)],default:"auto",description:L.localize(77,null)},"editor.scrollbar.horizontal":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[L.localize(78,null),L.localize(79,null),L.localize(80,null)],default:"auto",description:L.localize(81,null)},"editor.scrollbar.verticalScrollbarSize":{type:"number",default:de.verticalScrollbarSize,description:L.localize(82,null)},"editor.scrollbar.horizontalScrollbarSize":{type:"number",default:de.horizontalScrollbarSize,description:L.localize(83,null)},"editor.scrollbar.scrollByPage":{type:"boolean",default:de.scrollByPage,description:L.localize(84,null)}})}validate(de){if(!de||typeof de!="object")return this.defaultValue;const me=de,_e=s.clampedInt(me.horizontalScrollbarSize,this.defaultValue.horizontalScrollbarSize,0,1e3),ye=s.clampedInt(me.verticalScrollbarSize,this.defaultValue.verticalScrollbarSize,0,1e3);return{arrowSize:s.clampedInt(me.arrowSize,this.defaultValue.arrowSize,0,1e3),vertical:ae(me.vertical,this.defaultValue.vertical),horizontal:ae(me.horizontal,this.defaultValue.horizontal),useShadows:c(me.useShadows,this.defaultValue.useShadows),verticalHasArrows:c(me.verticalHasArrows,this.defaultValue.verticalHasArrows),horizontalHasArrows:c(me.horizontalHasArrows,this.defaultValue.horizontalHasArrows),handleMouseWheel:c(me.handleMouseWheel,this.defaultValue.handleMouseWheel),alwaysConsumeMouseWheel:c(me.alwaysConsumeMouseWheel,this.defaultValue.alwaysConsumeMouseWheel),horizontalScrollbarSize:_e,horizontalSliderSize:s.clampedInt(me.horizontalSliderSize,_e,0,1e3),verticalScrollbarSize:ye,verticalSliderSize:s.clampedInt(me.verticalSliderSize,ye,0,1e3),scrollByPage:c(me.scrollByPage,this.defaultValue.scrollByPage)}}}e.inUntrustedWorkspace="inUntrustedWorkspace",e.unicodeHighlightConfigKeys={allowedCharacters:"editor.unicodeHighlight.allowedCharacters",invisibleCharacters:"editor.unicodeHighlight.invisibleCharacters",nonBasicASCII:"editor.unicodeHighlight.nonBasicASCII",ambiguousCharacters:"editor.unicodeHighlight.ambiguousCharacters",includeComments:"editor.unicodeHighlight.includeComments",includeStrings:"editor.unicodeHighlight.includeStrings",allowedLocales:"editor.unicodeHighlight.allowedLocales"};class ue extends g{constructor(){const de={nonBasicASCII:e.inUntrustedWorkspace,invisibleCharacters:!0,ambiguousCharacters:!0,includeComments:e.inUntrustedWorkspace,includeStrings:!0,allowedCharacters:{},allowedLocales:{_os:!0,_vscode:!0}};super(113,"unicodeHighlight",de,{[e.unicodeHighlightConfigKeys.nonBasicASCII]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,e.inUntrustedWorkspace],default:de.nonBasicASCII,description:L.localize(85,null)},[e.unicodeHighlightConfigKeys.invisibleCharacters]:{restricted:!0,type:"boolean",default:de.invisibleCharacters,description:L.localize(86,null)},[e.unicodeHighlightConfigKeys.ambiguousCharacters]:{restricted:!0,type:"boolean",default:de.ambiguousCharacters,description:L.localize(87,null)},[e.unicodeHighlightConfigKeys.includeComments]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,e.inUntrustedWorkspace],default:de.includeComments,description:L.localize(88,null)},[e.unicodeHighlightConfigKeys.includeStrings]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,e.inUntrustedWorkspace],default:de.includeStrings,description:L.localize(89,null)},[e.unicodeHighlightConfigKeys.allowedCharacters]:{restricted:!0,type:"object",default:de.allowedCharacters,description:L.localize(90,null),additionalProperties:{type:"boolean"}},[e.unicodeHighlightConfigKeys.allowedLocales]:{restricted:!0,type:"object",additionalProperties:{type:"boolean"},default:de.allowedLocales,description:L.localize(91,null)}})}applyUpdate(de,me){let _e=!1;me.allowedCharacters&&(w.equals(de.allowedCharacters,me.allowedCharacters)||(de=Object.assign(Object.assign({},de),{allowedCharacters:me.allowedCharacters}),_e=!0)),me.allowedLocales&&(w.equals(de.allowedLocales,me.allowedLocales)||(de=Object.assign(Object.assign({},de),{allowedLocales:me.allowedLocales}),_e=!0));const ye=super.applyUpdate(de,me);return _e?new t(ye.newValue,!0):ye}validate(de){if(!de||typeof de!="object")return this.defaultValue;const me=de;return{nonBasicASCII:U(me.nonBasicASCII,e.inUntrustedWorkspace,[!0,!1,e.inUntrustedWorkspace]),invisibleCharacters:c(me.invisibleCharacters,this.defaultValue.invisibleCharacters),ambiguousCharacters:c(me.ambiguousCharacters,this.defaultValue.ambiguousCharacters),includeComments:U(me.includeComments,e.inUntrustedWorkspace,[!0,!1,e.inUntrustedWorkspace]),includeStrings:U(me.includeStrings,e.inUntrustedWorkspace,[!0,!1,e.inUntrustedWorkspace]),allowedCharacters:this.validateBooleanMap(de.allowedCharacters,this.defaultValue.allowedCharacters),allowedLocales:this.validateBooleanMap(de.allowedLocales,this.defaultValue.allowedLocales)}}validateBooleanMap(de,me){if(typeof de!="object"||!de)return me;const _e={};for(const[ye,ke]of Object.entries(de))ke===!0&&(_e[ye]=!0);return _e}}class le extends g{constructor(){const de={enabled:!0,mode:"subwordSmart"};super(55,"inlineSuggest",de,{"editor.inlineSuggest.enabled":{type:"boolean",default:de.enabled,description:L.localize(92,null)}})}validate(de){if(!de||typeof de!="object")return this.defaultValue;const me=de;return{enabled:c(me.enabled,this.defaultValue.enabled),mode:h(me.mode,this.defaultValue.mode,["prefix","subword","subwordSmart"])}}}class x extends g{constructor(){const de={enabled:b.EDITOR_MODEL_DEFAULTS.bracketPairColorizationOptions.enabled};super(12,"bracketPairColorization",de,{"editor.bracketPairColorization.enabled":{type:"boolean",default:de.enabled,description:L.localize(93,null)}})}validate(de){return!de||typeof de!="object"?this.defaultValue:{enabled:c(de.enabled,this.defaultValue.enabled)}}}class H extends g{constructor(){const de={bracketPairs:!1,bracketPairsHorizontal:"active",highlightActiveBracketPair:!0,indentation:!0,highlightActiveIndentation:!0};super(13,"guides",de,{"editor.guides.bracketPairs":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[L.localize(94,null),L.localize(95,null),L.localize(96,null)],default:de.bracketPairs,description:L.localize(97,null)},"editor.guides.bracketPairsHorizontal":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[L.localize(98,null),L.localize(99,null),L.localize(100,null)],default:de.bracketPairsHorizontal,description:L.localize(101,null)},"editor.guides.highlightActiveBracketPair":{type:"boolean",default:de.highlightActiveBracketPair,description:L.localize(102,null)},"editor.guides.indentation":{type:"boolean",default:de.indentation,description:L.localize(103,null)},"editor.guides.highlightActiveIndentation":{type:"boolean",default:de.highlightActiveIndentation,description:L.localize(104,null)}})}validate(de){if(!de||typeof de!="object")return this.defaultValue;const me=de;return{bracketPairs:U(me.bracketPairs,this.defaultValue.bracketPairs,[!0,!1,"active"]),bracketPairsHorizontal:U(me.bracketPairsHorizontal,this.defaultValue.bracketPairsHorizontal,[!0,!1,"active"]),highlightActiveBracketPair:c(me.highlightActiveBracketPair,this.defaultValue.highlightActiveBracketPair),indentation:c(me.indentation,this.defaultValue.indentation),highlightActiveIndentation:c(me.highlightActiveIndentation,this.defaultValue.highlightActiveIndentation)}}}function U(be,de,me){const _e=me.indexOf(be);return _e===-1?de:me[_e]}class Q extends g{constructor(){const de={insertMode:"insert",filterGraceful:!0,snippetsPreventQuickSuggestions:!0,localityBonus:!1,shareSuggestSelections:!1,showIcons:!0,showStatusBar:!1,preview:!1,previewMode:"subwordSmart",showInlineDetails:!0,showMethods:!0,showFunctions:!0,showConstructors:!0,showDeprecated:!0,showFields:!0,showVariables:!0,showClasses:!0,showStructs:!0,showInterfaces:!0,showModules:!0,showProperties:!0,showEvents:!0,showOperators:!0,showUnits:!0,showValues:!0,showConstants:!0,showEnums:!0,showEnumMembers:!0,showKeywords:!0,showWords:!0,showColors:!0,showFiles:!0,showReferences:!0,showFolders:!0,showTypeParameters:!0,showSnippets:!0,showUsers:!0,showIssues:!0};super(106,"suggest",de,{"editor.suggest.insertMode":{type:"string",enum:["insert","replace"],enumDescriptions:[L.localize(105,null),L.localize(106,null)],default:de.insertMode,description:L.localize(107,null)},"editor.suggest.filterGraceful":{type:"boolean",default:de.filterGraceful,description:L.localize(108,null)},"editor.suggest.localityBonus":{type:"boolean",default:de.localityBonus,description:L.localize(109,null)},"editor.suggest.shareSuggestSelections":{type:"boolean",default:de.shareSuggestSelections,markdownDescription:L.localize(110,null)},"editor.suggest.snippetsPreventQuickSuggestions":{type:"boolean",default:de.snippetsPreventQuickSuggestions,description:L.localize(111,null)},"editor.suggest.showIcons":{type:"boolean",default:de.showIcons,description:L.localize(112,null)},"editor.suggest.showStatusBar":{type:"boolean",default:de.showStatusBar,description:L.localize(113,null)},"editor.suggest.preview":{type:"boolean",default:de.preview,description:L.localize(114,null)},"editor.suggest.showInlineDetails":{type:"boolean",default:de.showInlineDetails,description:L.localize(115,null)},"editor.suggest.maxVisibleSuggestions":{type:"number",deprecationMessage:L.localize(116,null)},"editor.suggest.filteredTypes":{type:"object",deprecationMessage:L.localize(117,null)},"editor.suggest.showMethods":{type:"boolean",default:!0,markdownDescription:L.localize(118,null)},"editor.suggest.showFunctions":{type:"boolean",default:!0,markdownDescription:L.localize(119,null)},"editor.suggest.showConstructors":{type:"boolean",default:!0,markdownDescription:L.localize(120,null)},"editor.suggest.showDeprecated":{type:"boolean",default:!0,markdownDescription:L.localize(121,null)},"editor.suggest.showFields":{type:"boolean",default:!0,markdownDescription:L.localize(122,null)},"editor.suggest.showVariables":{type:"boolean",default:!0,markdownDescription:L.localize(123,null)},"editor.suggest.showClasses":{type:"boolean",default:!0,markdownDescription:L.localize(124,null)},"editor.suggest.showStructs":{type:"boolean",default:!0,markdownDescription:L.localize(125,null)},"editor.suggest.showInterfaces":{type:"boolean",default:!0,markdownDescription:L.localize(126,null)},"editor.suggest.showModules":{type:"boolean",default:!0,markdownDescription:L.localize(127,null)},"editor.suggest.showProperties":{type:"boolean",default:!0,markdownDescription:L.localize(128,null)},"editor.suggest.showEvents":{type:"boolean",default:!0,markdownDescription:L.localize(129,null)},"editor.suggest.showOperators":{type:"boolean",default:!0,markdownDescription:L.localize(130,null)},"editor.suggest.showUnits":{type:"boolean",default:!0,markdownDescription:L.localize(131,null)},"editor.suggest.showValues":{type:"boolean",default:!0,markdownDescription:L.localize(132,null)},"editor.suggest.showConstants":{type:"boolean",default:!0,markdownDescription:L.localize(133,null)},"editor.suggest.showEnums":{type:"boolean",default:!0,markdownDescription:L.localize(134,null)},"editor.suggest.showEnumMembers":{type:"boolean",default:!0,markdownDescription:L.localize(135,null)},"editor.suggest.showKeywords":{type:"boolean",default:!0,markdownDescription:L.localize(136,null)},"editor.suggest.showWords":{type:"boolean",default:!0,markdownDescription:L.localize(137,null)},"editor.suggest.showColors":{type:"boolean",default:!0,markdownDescription:L.localize(138,null)},"editor.suggest.showFiles":{type:"boolean",default:!0,markdownDescription:L.localize(139,null)},"editor.suggest.showReferences":{type:"boolean",default:!0,markdownDescription:L.localize(140,null)},"editor.suggest.showCustomcolors":{type:"boolean",default:!0,markdownDescription:L.localize(141,null)},"editor.suggest.showFolders":{type:"boolean",default:!0,markdownDescription:L.localize(142,null)},"editor.suggest.showTypeParameters":{type:"boolean",default:!0,markdownDescription:L.localize(143,null)},"editor.suggest.showSnippets":{type:"boolean",default:!0,markdownDescription:L.localize(144,null)},"editor.suggest.showUsers":{type:"boolean",default:!0,markdownDescription:L.localize(145,null)},"editor.suggest.showIssues":{type:"boolean",default:!0,markdownDescription:L.localize(146,null)}})}validate(de){if(!de||typeof de!="object")return this.defaultValue;const me=de;return{insertMode:h(me.insertMode,this.defaultValue.insertMode,["insert","replace"]),filterGraceful:c(me.filterGraceful,this.defaultValue.filterGraceful),snippetsPreventQuickSuggestions:c(me.snippetsPreventQuickSuggestions,this.defaultValue.filterGraceful),localityBonus:c(me.localityBonus,this.defaultValue.localityBonus),shareSuggestSelections:c(me.shareSuggestSelections,this.defaultValue.shareSuggestSelections),showIcons:c(me.showIcons,this.defaultValue.showIcons),showStatusBar:c(me.showStatusBar,this.defaultValue.showStatusBar),preview:c(me.preview,this.defaultValue.preview),previewMode:h(me.previewMode,this.defaultValue.previewMode,["prefix","subword","subwordSmart"]),showInlineDetails:c(me.showInlineDetails,this.defaultValue.showInlineDetails),showMethods:c(me.showMethods,this.defaultValue.showMethods),showFunctions:c(me.showFunctions,this.defaultValue.showFunctions),showConstructors:c(me.showConstructors,this.defaultValue.showConstructors),showDeprecated:c(me.showDeprecated,this.defaultValue.showDeprecated),showFields:c(me.showFields,this.defaultValue.showFields),showVariables:c(me.showVariables,this.defaultValue.showVariables),showClasses:c(me.showClasses,this.defaultValue.showClasses),showStructs:c(me.showStructs,this.defaultValue.showStructs),showInterfaces:c(me.showInterfaces,this.defaultValue.showInterfaces),showModules:c(me.showModules,this.defaultValue.showModules),showProperties:c(me.showProperties,this.defaultValue.showProperties),showEvents:c(me.showEvents,this.defaultValue.showEvents),showOperators:c(me.showOperators,this.defaultValue.showOperators),showUnits:c(me.showUnits,this.defaultValue.showUnits),showValues:c(me.showValues,this.defaultValue.showValues),showConstants:c(me.showConstants,this.defaultValue.showConstants),showEnums:c(me.showEnums,this.defaultValue.showEnums),showEnumMembers:c(me.showEnumMembers,this.defaultValue.showEnumMembers),showKeywords:c(me.showKeywords,this.defaultValue.showKeywords),showWords:c(me.showWords,this.defaultValue.showWords),showColors:c(me.showColors,this.defaultValue.showColors),showFiles:c(me.showFiles,this.defaultValue.showFiles),showReferences:c(me.showReferences,this.defaultValue.showReferences),showFolders:c(me.showFolders,this.defaultValue.showFolders),showTypeParameters:c(me.showTypeParameters,this.defaultValue.showTypeParameters),showSnippets:c(me.showSnippets,this.defaultValue.showSnippets),showUsers:c(me.showUsers,this.defaultValue.showUsers),showIssues:c(me.showIssues,this.defaultValue.showIssues)}}}class Y extends g{constructor(){super(102,"smartSelect",{selectLeadingAndTrailingWhitespace:!0},{"editor.smartSelect.selectLeadingAndTrailingWhitespace":{description:L.localize(147,null),default:!0,type:"boolean"}})}validate(de){return!de||typeof de!="object"?this.defaultValue:{selectLeadingAndTrailingWhitespace:c(de.selectLeadingAndTrailingWhitespace,this.defaultValue.selectLeadingAndTrailingWhitespace)}}}class ne extends i{constructor(){super(130)}compute(de,me,_e){return me.get(81)?!0:de.tabFocusMode}}function ge(be){switch(be){case"none":return 0;case"same":return 1;case"indent":return 2;case"deepIndent":return 3}}class fe extends i{constructor(){super(132)}compute(de,me,_e){const ye=me.get(131);return{isDominatedByLongLines:de.isDominatedByLongLines,isWordWrapMinified:ye.isWordWrapMinified,isViewportWrapping:ye.isViewportWrapping,wrappingColumn:ye.wrappingColumn}}}const ce="Consolas, 'Courier New', monospace",he="Menlo, Monaco, 'Courier New', monospace",ve="'Droid Sans Mono', 'monospace', monospace";e.EDITOR_FONT_DEFAULTS={fontFamily:m.isMacintosh?he:m.isLinux?ve:ce,fontWeight:"normal",fontSize:m.isMacintosh?12:14,lineHeight:0,letterSpacing:0},e.editorOptionsRegistry=[];function Ce(be){return e.editorOptionsRegistry[be.id]=be,be}e.EditorOptions={acceptSuggestionOnCommitCharacter:Ce(new d(0,"acceptSuggestionOnCommitCharacter",!0,{markdownDescription:L.localize(148,null)})),acceptSuggestionOnEnter:Ce(new f(1,"acceptSuggestionOnEnter","on",["on","smart","off"],{markdownEnumDescriptions:["",L.localize(149,null),""],markdownDescription:L.localize(150,null)})),accessibilitySupport:Ce(new p),accessibilityPageSize:Ce(new s(3,"accessibilityPageSize",10,1,1073741824,{description:L.localize(151,null)})),ariaLabel:Ce(new l(4,"ariaLabel",L.localize(152,null))),autoClosingBrackets:Ce(new f(5,"autoClosingBrackets","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",L.localize(153,null),L.localize(154,null),""],description:L.localize(155,null)})),autoClosingDelete:Ce(new f(6,"autoClosingDelete","auto",["always","auto","never"],{enumDescriptions:["",L.localize(156,null),""],description:L.localize(157,null)})),autoClosingOvertype:Ce(new f(7,"autoClosingOvertype","auto",["always","auto","never"],{enumDescriptions:["",L.localize(158,null),""],description:L.localize(159,null)})),autoClosingQuotes:Ce(new f(8,"autoClosingQuotes","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",L.localize(160,null),L.localize(161,null),""],description:L.localize(162,null)})),autoIndent:Ce(new S(9,"autoIndent",4,"full",["none","keep","brackets","advanced","full"],v,{enumDescriptions:[L.localize(163,null),L.localize(164,null),L.localize(165,null),L.localize(166,null),L.localize(167,null)],description:L.localize(168,null)})),automaticLayout:Ce(new d(10,"automaticLayout",!1)),autoSurround:Ce(new f(11,"autoSurround","languageDefined",["languageDefined","quotes","brackets","never"],{enumDescriptions:[L.localize(169,null),L.localize(170,null),L.localize(171,null),""],description:L.localize(172,null)})),bracketPairColorization:Ce(new x),bracketPairGuides:Ce(new H),stickyTabStops:Ce(new d(104,"stickyTabStops",!1,{description:L.localize(173,null)})),codeLens:Ce(new d(14,"codeLens",!0,{description:L.localize(174,null)})),codeLensFontFamily:Ce(new l(15,"codeLensFontFamily","",{description:L.localize(175,null)})),codeLensFontSize:Ce(new s(16,"codeLensFontSize",0,0,100,{type:"number",default:0,minimum:0,maximum:100,markdownDescription:L.localize(176,null)})),colorDecorators:Ce(new d(17,"colorDecorators",!0,{description:L.localize(177,null)})),columnSelection:Ce(new d(18,"columnSelection",!1,{description:L.localize(178,null)})),comments:Ce(new _),contextmenu:Ce(new d(20,"contextmenu",!0)),copyWithSyntaxHighlighting:Ce(new d(21,"copyWithSyntaxHighlighting",!0,{description:L.localize(179,null)})),cursorBlinking:Ce(new S(22,"cursorBlinking",1,"blink",["blink","smooth","phase","expand","solid"],y,{description:L.localize(180,null)})),cursorSmoothCaretAnimation:Ce(new d(23,"cursorSmoothCaretAnimation",!1,{description:L.localize(181,null)})),cursorStyle:Ce(new S(24,"cursorStyle",E.Line,"line",["line","block","underline","line-thin","block-outline","underline-thin"],N,{description:L.localize(182,null)})),cursorSurroundingLines:Ce(new s(25,"cursorSurroundingLines",0,0,1073741824,{description:L.localize(183,null)})),cursorSurroundingLinesStyle:Ce(new f(26,"cursorSurroundingLinesStyle","default",["default","all"],{enumDescriptions:[L.localize(184,null),L.localize(185,null)],description:L.localize(186,null)})),cursorWidth:Ce(new s(27,"cursorWidth",0,0,1073741824,{markdownDescription:L.localize(187,null)})),disableLayerHinting:Ce(new d(28,"disableLayerHinting",!1)),disableMonospaceOptimizations:Ce(new d(29,"disableMonospaceOptimizations",!1)),domReadOnly:Ce(new d(30,"domReadOnly",!1)),dragAndDrop:Ce(new d(31,"dragAndDrop",!0,{description:L.localize(188,null)})),emptySelectionClipboard:Ce(new M),extraEditorClassName:Ce(new l(33,"extraEditorClassName","")),fastScrollSensitivity:Ce(new a(34,"fastScrollSensitivity",5,be=>be<=0?5:be,{markdownDescription:L.localize(189,null)})),find:Ce(new B),fixedOverflowWidgets:Ce(new d(36,"fixedOverflowWidgets",!1)),folding:Ce(new d(37,"folding",!0,{description:L.localize(190,null)})),foldingStrategy:Ce(new f(38,"foldingStrategy","auto",["auto","indentation"],{enumDescriptions:[L.localize(191,null),L.localize(192,null)],description:L.localize(193,null)})),foldingHighlight:Ce(new d(39,"foldingHighlight",!0,{description:L.localize(194,null)})),foldingImportsByDefault:Ce(new d(40,"foldingImportsByDefault",!1,{description:L.localize(195,null)})),foldingMaximumRegions:Ce(new s(41,"foldingMaximumRegions",5e3,10,65e3,{description:L.localize(196,null)})),unfoldOnClickAfterEndOfLine:Ce(new d(42,"unfoldOnClickAfterEndOfLine",!1,{description:L.localize(197,null)})),fontFamily:Ce(new l(43,"fontFamily",e.EDITOR_FONT_DEFAULTS.fontFamily,{description:L.localize(198,null)})),fontInfo:Ce(new T),fontLigatures2:Ce(new O),fontSize:Ce(new A),fontWeight:Ce(new P),formatOnPaste:Ce(new d(48,"formatOnPaste",!1,{description:L.localize(199,null)})),formatOnType:Ce(new d(49,"formatOnType",!1,{description:L.localize(200,null)})),glyphMargin:Ce(new d(50,"glyphMargin",!0,{description:L.localize(201,null)})),gotoLocation:Ce(new F),hideCursorInOverviewRuler:Ce(new d(52,"hideCursorInOverviewRuler",!1,{description:L.localize(202,null)})),hover:Ce(new W),inDiffEditor:Ce(new d(54,"inDiffEditor",!1)),letterSpacing:Ce(new a(56,"letterSpacing",e.EDITOR_FONT_DEFAULTS.letterSpacing,be=>a.clamp(be,-5,20),{description:L.localize(203,null)})),lightbulb:Ce(new z),lineDecorationsWidth:Ce(new o(58,"lineDecorationsWidth",10)),lineHeight:Ce(new $),lineNumbers:Ce(new K),lineNumbersMinChars:Ce(new s(61,"lineNumbersMinChars",5,1,300)),linkedEditing:Ce(new d(62,"linkedEditing",!1,{description:L.localize(204,null)})),links:Ce(new d(63,"links",!0,{description:L.localize(205,null)})),matchBrackets:Ce(new f(64,"matchBrackets","always",["always","near","never"],{description:L.localize(206,null)})),minimap:Ce(new G),mouseStyle:Ce(new f(66,"mouseStyle","text",["text","default","copy"])),mouseWheelScrollSensitivity:Ce(new a(67,"mouseWheelScrollSensitivity",1,be=>be===0?1:be,{markdownDescription:L.localize(207,null)})),mouseWheelZoom:Ce(new d(68,"mouseWheelZoom",!1,{markdownDescription:L.localize(208,null)})),multiCursorMergeOverlapping:Ce(new d(69,"multiCursorMergeOverlapping",!0,{description:L.localize(209,null)})),multiCursorModifier:Ce(new S(70,"multiCursorModifier","altKey","alt",["ctrlCmd","alt"],J,{markdownEnumDescriptions:[L.localize(210,null),L.localize(211,null)],markdownDescription:L.localize(212,null)})),multiCursorPaste:Ce(new f(71,"multiCursorPaste","spread",["spread","full"],{markdownEnumDescriptions:[L.localize(213,null),L.localize(214,null)],markdownDescription:L.localize(215,null)})),occurrencesHighlight:Ce(new d(72,"occurrencesHighlight",!0,{description:L.localize(216,null)})),overviewRulerBorder:Ce(new d(73,"overviewRulerBorder",!0,{description:L.localize(217,null)})),overviewRulerLanes:Ce(new s(74,"overviewRulerLanes",3,0,3)),padding:Ce(new re),parameterHints:Ce(new se),peekWidgetDefaultFocus:Ce(new f(77,"peekWidgetDefaultFocus","tree",["tree","editor"],{enumDescriptions:[L.localize(218,null),L.localize(219,null)],description:L.localize(220,null)})),definitionLinkOpensInPeek:Ce(new d(78,"definitionLinkOpensInPeek",!1,{description:L.localize(221,null)})),quickSuggestions:Ce(new V),quickSuggestionsDelay:Ce(new s(80,"quickSuggestionsDelay",10,0,1073741824,{description:L.localize(222,null)})),readOnly:Ce(new d(81,"readOnly",!1)),renameOnType:Ce(new d(82,"renameOnType",!1,{description:L.localize(223,null),markdownDeprecationMessage:L.localize(224,null)})),renderControlCharacters:Ce(new d(83,"renderControlCharacters",!0,{description:L.localize(225,null),restricted:!0})),renderFinalNewline:Ce(new d(84,"renderFinalNewline",!0,{description:L.localize(226,null)})),renderLineHighlight:Ce(new f(85,"renderLineHighlight","line",["none","gutter","line","all"],{enumDescriptions:["","","",L.localize(227,null)],description:L.localize(228,null)})),renderLineHighlightOnlyWhenFocus:Ce(new d(86,"renderLineHighlightOnlyWhenFocus",!1,{description:L.localize(229,null)})),renderValidationDecorations:Ce(new f(87,"renderValidationDecorations","editable",["editable","on","off"])),renderWhitespace:Ce(new f(88,"renderWhitespace","selection",["none","boundary","selection","trailing","all"],{enumDescriptions:["",L.localize(230,null),L.localize(231,null),L.localize(232,null),""],description:L.localize(233,null)})),revealHorizontalRightPadding:Ce(new s(89,"revealHorizontalRightPadding",30,0,1e3)),roundedSelection:Ce(new d(90,"roundedSelection",!0,{description:L.localize(234,null)})),rulers:Ce(new oe),scrollbar:Ce(new ee),scrollBeyondLastColumn:Ce(new s(93,"scrollBeyondLastColumn",5,0,1073741824,{description:L.localize(235,null)})),scrollBeyondLastLine:Ce(new d(94,"scrollBeyondLastLine",!0,{description:L.localize(236,null)})),scrollPredominantAxis:Ce(new d(95,"scrollPredominantAxis",!0,{description:L.localize(237,null)})),selectionClipboard:Ce(new d(96,"selectionClipboard",!0,{description:L.localize(238,null),included:m.isLinux})),selectionHighlight:Ce(new d(97,"selectionHighlight",!0,{description:L.localize(239,null)})),selectOnLineNumbers:Ce(new d(98,"selectOnLineNumbers",!0)),showFoldingControls:Ce(new f(99,"showFoldingControls","mouseover",["always","mouseover"],{enumDescriptions:[L.localize(240,null),L.localize(241,null)],description:L.localize(242,null)})),showUnused:Ce(new d(100,"showUnused",!0,{description:L.localize(243,null)})),showDeprecated:Ce(new d(126,"showDeprecated",!0,{description:L.localize(244,null)})),inlayHints:Ce(new j),snippetSuggestions:Ce(new f(101,"snippetSuggestions","inline",["top","bottom","inline","none"],{enumDescriptions:[L.localize(245,null),L.localize(246,null),L.localize(247,null),L.localize(248,null)],description:L.localize(249,null)})),smartSelect:Ce(new Y),smoothScrolling:Ce(new d(103,"smoothScrolling",!1,{description:L.localize(250,null)})),stopRenderingLineAfter:Ce(new s(105,"stopRenderingLineAfter",1e4,-1,1073741824)),suggest:Ce(new Q),inlineSuggest:Ce(new le),suggestFontSize:Ce(new s(107,"suggestFontSize",0,0,1e3,{markdownDescription:L.localize(251,null)})),suggestLineHeight:Ce(new s(108,"suggestLineHeight",0,0,1e3,{markdownDescription:L.localize(252,null)})),suggestOnTriggerCharacters:Ce(new d(109,"suggestOnTriggerCharacters",!0,{description:L.localize(253,null)})),suggestSelection:Ce(new f(110,"suggestSelection","first",["first","recentlyUsed","recentlyUsedByPrefix"],{markdownEnumDescriptions:[L.localize(254,null),L.localize(255,null),L.localize(256,null)],description:L.localize(257,null)})),tabCompletion:Ce(new f(111,"tabCompletion","off",["on","off","onlySnippets"],{enumDescriptions:[L.localize(258,null),L.localize(259,null),L.localize(260,null)],description:L.localize(261,null)})),tabIndex:Ce(new s(112,"tabIndex",0,-1,1073741824)),unicodeHighlight:Ce(new ue),unusualLineTerminators:Ce(new f(114,"unusualLineTerminators","prompt",["auto","off","prompt"],{enumDescriptions:[L.localize(262,null),L.localize(263,null),L.localize(264,null)],description:L.localize(265,null)})),useShadowDOM:Ce(new d(115,"useShadowDOM",!0)),useTabStops:Ce(new d(116,"useTabStops",!0,{description:L.localize(266,null)})),wordSeparators:Ce(new l(117,"wordSeparators",k.USUAL_WORD_SEPARATORS,{description:L.localize(267,null)})),wordWrap:Ce(new f(118,"wordWrap","off",["off","on","wordWrapColumn","bounded"],{markdownEnumDescriptions:[L.localize(268,null),L.localize(269,null),L.localize(270,null),L.localize(271,null)],description:L.localize(272,null)})),wordWrapBreakAfterCharacters:Ce(new l(119,"wordWrapBreakAfterCharacters"," 	})]?|/&.,;\xA2\xB0\u2032\u2033\u2030\u2103\u3001\u3002\uFF61\uFF64\uFFE0\uFF0C\uFF0E\uFF1A\uFF1B\uFF1F\uFF01\uFF05\u30FB\uFF65\u309D\u309E\u30FD\u30FE\u30FC\u30A1\u30A3\u30A5\u30A7\u30A9\u30C3\u30E3\u30E5\u30E7\u30EE\u30F5\u30F6\u3041\u3043\u3045\u3047\u3049\u3063\u3083\u3085\u3087\u308E\u3095\u3096\u31F0\u31F1\u31F2\u31F3\u31F4\u31F5\u31F6\u31F7\u31F8\u31F9\u31FA\u31FB\u31FC\u31FD\u31FE\u31FF\u3005\u303B\uFF67\uFF68\uFF69\uFF6A\uFF6B\uFF6C\uFF6D\uFF6E\uFF6F\uFF70\u201D\u3009\u300B\u300D\u300F\u3011\u3015\uFF09\uFF3D\uFF5D\uFF63")),wordWrapBreakBeforeCharacters:Ce(new l(120,"wordWrapBreakBeforeCharacters","([{\u2018\u201C\u3008\u300A\u300C\u300E\u3010\u3014\uFF08\uFF3B\uFF5B\uFF62\xA3\xA5\uFF04\uFFE1\uFFE5+\uFF0B")),wordWrapColumn:Ce(new s(121,"wordWrapColumn",80,1,1073741824,{markdownDescription:L.localize(273,null)})),wordWrapOverride1:Ce(new f(122,"wordWrapOverride1","inherit",["off","on","inherit"])),wordWrapOverride2:Ce(new f(123,"wordWrapOverride2","inherit",["off","on","inherit"])),wrappingIndent:Ce(new S(124,"wrappingIndent",1,"same",["none","same","indent","deepIndent"],ge,{enumDescriptions:[L.localize(274,null),L.localize(275,null),L.localize(276,null),L.localize(277,null)],description:L.localize(278,null)})),wrappingStrategy:Ce(new f(125,"wrappingStrategy","simple",["simple","advanced"],{enumDescriptions:[L.localize(279,null),L.localize(280,null)],description:L.localize(281,null)})),editorClassName:Ce(new D),pixelRatio:Ce(new Z),tabFocusMode:Ce(new ne),layoutInfo:Ce(new R),wrappingInfo:Ce(new fe)}}),define(te[64],ie([1,0,34,31,32]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.applyFontInfo=void 0;function I(w,b){w instanceof m.FastDomNode?(w.setFontFamily(b.getMassagedFontFamily(L.isSafari?k.EDITOR_FONT_DEFAULTS.fontFamily:null)),w.setFontWeight(b.fontWeight),w.setFontSize(b.fontSize),w.setFontFeatureSettings(b.fontFeatureSettings),w.setLineHeight(b.lineHeight),w.setLetterSpacing(b.letterSpacing)):(w.style.fontFamily=b.getMassagedFontFamily(L.isSafari?k.EDITOR_FONT_DEFAULTS.fontFamily:null),w.style.fontWeight=b.fontWeight,w.style.fontSize=b.fontSize+"px",w.style.fontFeatureSettings=b.fontFeatureSettings,w.style.lineHeight=b.lineHeight+"px",w.style.letterSpacing=b.letterSpacing+"px")}e.applyFontInfo=I}),define(te[514],ie([1,0,64]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.readCharWidths=e.CharWidthRequest=void 0;class m{constructor(b,C){this.chr=b,this.type=C,this.width=0}fulfill(b){this.width=b}}e.CharWidthRequest=m;class k{constructor(b,C){this._bareFontInfo=b,this._requests=C,this._container=null,this._testElements=null}read(){this._createDomElements(),document.body.appendChild(this._container),this._readFromDomElements(),document.body.removeChild(this._container),this._container=null,this._testElements=null}_createDomElements(){const b=document.createElement("div");b.style.position="absolute",b.style.top="-50000px",b.style.width="50000px";const C=document.createElement("div");(0,L.applyFontInfo)(C,this._bareFontInfo),b.appendChild(C);const u=document.createElement("div");(0,L.applyFontInfo)(u,this._bareFontInfo),u.style.fontWeight="bold",b.appendChild(u);const g=document.createElement("div");(0,L.applyFontInfo)(g,this._bareFontInfo),g.style.fontStyle="italic",b.appendChild(g);const t=[];for(const n of this._requests){let i;n.type===0&&(i=C),n.type===2&&(i=u),n.type===1&&(i=g),i.appendChild(document.createElement("br"));const o=document.createElement("span");k._render(o,n),i.appendChild(o),t.push(o)}this._container=b,this._testElements=t}static _render(b,C){if(C.chr===" "){let u="\xA0";for(let g=0;g<8;g++)u+=u;b.innerText=u}else{let u=C.chr;for(let g=0;g<8;g++)u+=u;b.textContent=u}}_readFromDomElements(){for(let b=0,C=this._requests.length;b<C;b++){const u=this._requests[b],g=this._testElements[b];u.fulfill(g.offsetWidth/256)}}}function I(w,b){new k(w,b).read()}e.readCharWidths=I}),define(te[270],ie([1,0,34,4,2,514,32,176]),function(q,e,L,m,k,I,w,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FontMeasurements=void 0;class C extends k.Disposable{constructor(){super();this._onDidChange=this._register(new m.Emitter),this.onDidChange=this._onDidChange.event,this._cache=new u,this._evictUntrustedReadingsTimeout=-1}dispose(){this._evictUntrustedReadingsTimeout!==-1&&(window.clearTimeout(this._evictUntrustedReadingsTimeout),this._evictUntrustedReadingsTimeout=-1),super.dispose()}clearAllFontInfos(){this._cache=new u,this._onDidChange.fire()}_writeToCache(t,n){this._cache.put(t,n),!n.isTrusted&&this._evictUntrustedReadingsTimeout===-1&&(this._evictUntrustedReadingsTimeout=window.setTimeout(()=>{this._evictUntrustedReadingsTimeout=-1,this._evictUntrustedReadings()},5e3))}_evictUntrustedReadings(){const t=this._cache.getValues();let n=!1;for(const i of t)i.isTrusted||(n=!0,this._cache.remove(i));n&&this._onDidChange.fire()}readFontInfo(t){if(!this._cache.has(t)){let n=this._actualReadFontInfo(t);(n.typicalHalfwidthCharacterWidth<=2||n.typicalFullwidthCharacterWidth<=2||n.spaceWidth<=2||n.maxDigitWidth<=2)&&(n=new b.FontInfo({pixelRatio:L.PixelRatio.value,fontFamily:n.fontFamily,fontWeight:n.fontWeight,fontSize:n.fontSize,fontFeatureSettings:n.fontFeatureSettings,lineHeight:n.lineHeight,letterSpacing:n.letterSpacing,isMonospace:n.isMonospace,typicalHalfwidthCharacterWidth:Math.max(n.typicalHalfwidthCharacterWidth,5),typicalFullwidthCharacterWidth:Math.max(n.typicalFullwidthCharacterWidth,5),canUseHalfwidthRightwardsArrow:n.canUseHalfwidthRightwardsArrow,spaceWidth:Math.max(n.spaceWidth,5),middotWidth:Math.max(n.middotWidth,5),wsmiddotWidth:Math.max(n.wsmiddotWidth,5),maxDigitWidth:Math.max(n.maxDigitWidth,5)},!1)),this._writeToCache(t,n)}return this._cache.get(t)}_createRequest(t,n,i,o){const c=new I.CharWidthRequest(t,n);return i.push(c),o&&o.push(c),c}_actualReadFontInfo(t){const n=[],i=[],o=this._createRequest("n",0,n,i),c=this._createRequest("\uFF4D",0,n,null),d=this._createRequest(" ",0,n,i),r=this._createRequest("0",0,n,i),s=this._createRequest("1",0,n,i),a=this._createRequest("2",0,n,i),l=this._createRequest("3",0,n,i),h=this._createRequest("4",0,n,i),f=this._createRequest("5",0,n,i),S=this._createRequest("6",0,n,i),v=this._createRequest("7",0,n,i),p=this._createRequest("8",0,n,i),_=this._createRequest("9",0,n,i),y=this._createRequest("\u2192",0,n,i),E=this._createRequest("\uFFEB",0,n,null),N=this._createRequest("\xB7",0,n,i),D=this._createRequest(String.fromCharCode(11825),0,n,null),M="|/-_ilm%";for(let P=0,F=M.length;P<F;P++)this._createRequest(M.charAt(P),0,n,i),this._createRequest(M.charAt(P),1,n,i),this._createRequest(M.charAt(P),2,n,i);(0,I.readCharWidths)(t,n);const B=Math.max(r.width,s.width,a.width,l.width,h.width,f.width,S.width,v.width,p.width,_.width);let O=t.fontFeatureSettings===w.EditorFontLigatures.OFF;const T=i[0].width;for(let P=1,F=i.length;O&&P<F;P++){const W=T-i[P].width;if(W<-.001||W>.001){O=!1;break}}let A=!0;return O&&E.width!==T&&(A=!1),E.width>y.width&&(A=!1),new b.FontInfo({pixelRatio:L.PixelRatio.value,fontFamily:t.fontFamily,fontWeight:t.fontWeight,fontSize:t.fontSize,fontFeatureSettings:t.fontFeatureSettings,lineHeight:t.lineHeight,letterSpacing:t.letterSpacing,isMonospace:O,typicalHalfwidthCharacterWidth:o.width,typicalFullwidthCharacterWidth:c.width,canUseHalfwidthRightwardsArrow:A,spaceWidth:d.width,middotWidth:N.width,wsmiddotWidth:D.width,maxDigitWidth:B},!0)}}class u{constructor(){this._keys=Object.create(null),this._values=Object.create(null)}has(t){const n=t.getId();return!!this._values[n]}get(t){const n=t.getId();return this._values[n]}put(t,n){const i=t.getId();this._keys[i]=t,this._values[i]=n}remove(t){const n=t.getId();delete this._keys[n],delete this._values[n]}getValues(){return Object.keys(this._keys).map(t=>this._values[t])}}e.FontMeasurements=new C}),define(te[515],ie([1,0,93,8,64,94,248]),function(q,e,L,m,k,I,w){"use strict";var b;Object.defineProperty(e,"__esModule",{value:!0}),e.DOMLineBreaksComputerFactory=void 0;const C=(b=window.trustedTypes)===null||b===void 0?void 0:b.createPolicy("domLineBreaksComputer",{createHTML:c=>c});class u{static create(){return new u}constructor(){}createLineBreaksComputer(d,r,s,a){const l=[],h=[];return{addRequest:(f,S,v)=>{l.push(f),h.push(S)},finalize:()=>g(l,d,r,s,a,h)}}}e.DOMLineBreaksComputerFactory=u;function g(c,d,r,s,a,l){var h;function f(R){const z=l[R];if(z){const j=I.LineInjectedText.applyInjectedText(c[R],z),$=z.map(J=>J.options),G=z.map(J=>J.column-1);return new w.ModelLineProjectionData(G,$,[j.length],[],0)}else return null}if(s===-1){const R=[];for(let z=0,j=c.length;z<j;z++)R[z]=f(z);return R}const S=Math.round(s*d.typicalHalfwidthCharacterWidth),p=Math.round(r*(a===3?2:a===2?1:0)),_=Math.ceil(d.spaceWidth*p),y=document.createElement("div");(0,k.applyFontInfo)(y,d);const E=(0,L.createStringBuilder)(1e4),N=[],D=[],M=[],B=[],O=[];for(let R=0;R<c.length;R++){const z=I.LineInjectedText.applyInjectedText(c[R],l[R]);let j=0,$=0,G=S;if(a!==0)if(j=m.firstNonWhitespaceIndex(z),j===-1)j=0;else{for(let Z=0;Z<j;Z++)$+=z.charCodeAt(Z)===9?r-$%r:1;const se=Math.ceil(d.spaceWidth*$);se+d.typicalFullwidthCharacterWidth>S?(j=0,$=0):G=S-se}const J=z.substr(j),re=t(J,$,r,G,E,_);N[R]=j,D[R]=$,M[R]=J,B[R]=re[0],O[R]=re[1]}const T=E.build(),A=(h=C==null?void 0:C.createHTML(T))!==null&&h!==void 0?h:T;y.innerHTML=A,y.style.position="absolute",y.style.top="10000",y.style.wordWrap="break-word",document.body.appendChild(y);const P=document.createRange(),F=Array.prototype.slice.call(y.children,0),W=[];for(let R=0;R<c.length;R++){const z=F[R],j=n(P,z,M[R],B[R]);if(j===null){W[R]=f(R);continue}const $=N[R],G=D[R]+p,J=O[R],re=[];for(let K=0,X=j.length;K<X;K++)re[K]=J[j[K]];if($!==0)for(let K=0,X=j.length;K<X;K++)j[K]+=$;let se,Z;const V=l[R];V?(se=V.map(K=>K.options),Z=V.map(K=>K.column-1)):(se=null,Z=null),W[R]=new w.ModelLineProjectionData(Z,se,j,re,G)}return document.body.removeChild(y),W}function t(c,d,r,s,a,l){if(l!==0){const y=String(l);a.appendASCIIString('<div style="text-indent: -'),a.appendASCIIString(y),a.appendASCIIString("px; padding-left: "),a.appendASCIIString(y),a.appendASCIIString("px; box-sizing: border-box; width:")}else a.appendASCIIString('<div style="width:');a.appendASCIIString(String(s)),a.appendASCIIString('px;">');const h=c.length;let f=d,S=0;const v=[],p=[];let _=0<h?c.charCodeAt(0):0;a.appendASCIIString("<span>");for(let y=0;y<h;y++){y!==0&&y%16384==0&&a.appendASCIIString("</span><span>"),v[y]=S,p[y]=f;const E=_;_=y+1<h?c.charCodeAt(y+1):0;let N=1,D=1;switch(E){case 9:N=r-f%r,D=N;for(let M=1;M<=N;M++)M<N?a.write1(160):a.appendASCII(32);break;case 32:_===32?a.write1(160):a.appendASCII(32);break;case 60:a.appendASCIIString("&lt;");break;case 62:a.appendASCIIString("&gt;");break;case 38:a.appendASCIIString("&amp;");break;case 0:a.appendASCIIString("&#00;");break;case 65279:case 8232:case 8233:case 133:a.write1(65533);break;default:m.isFullWidthCharacter(E)&&D++,E<32?a.write1(9216+E):a.write1(E)}S+=N,f+=D}return a.appendASCIIString("</span>"),v[c.length]=S,p[c.length]=f,a.appendASCIIString("</div>"),[v,p]}function n(c,d,r,s){if(r.length<=1)return null;const a=Array.prototype.slice.call(d.children,0),l=[];try{i(c,a,s,0,null,r.length-1,null,l)}catch(h){return console.log(h),null}return l.length===0?null:(l.push(r.length),l)}function i(c,d,r,s,a,l,h,f){if(s===l||(a=a||o(c,d,r[s],r[s+1]),h=h||o(c,d,r[l],r[l+1]),Math.abs(a[0].top-h[0].top)<=.1))return;if(s+1===l){f.push(l);return}const S=s+(l-s)/2|0,v=o(c,d,r[S],r[S+1]);i(c,d,r,s,a,S,v,f),i(c,d,r,S,v,l,h,f)}function o(c,d,r,s){return c.setStart(d[r/16384|0].firstChild,r%16384),c.setEnd(d[s/16384|0].firstChild,s%16384),c.getClientRects()}}),define(te[516],ie([1,0,31,64,179,51]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MarginViewOverlays=e.ContentViewOverlays=e.ViewOverlayLine=e.ViewOverlays=void 0;class w extends I.ViewPart{constructor(t){super(t);this._visibleLines=new k.VisibleLinesCollection(this),this.domNode=this._visibleLines.domNode,this._dynamicOverlays=[],this._isFocused=!1,this.domNode.setClassName("view-overlays")}shouldRender(){if(super.shouldRender())return!0;for(let t=0,n=this._dynamicOverlays.length;t<n;t++)if(this._dynamicOverlays[t].shouldRender())return!0;return!1}dispose(){super.dispose();for(let t=0,n=this._dynamicOverlays.length;t<n;t++)this._dynamicOverlays[t].dispose();this._dynamicOverlays=[]}getDomNode(){return this.domNode}createVisibleLine(){return new b(this._context.configuration,this._dynamicOverlays)}addDynamicOverlay(t){this._dynamicOverlays.push(t)}onConfigurationChanged(t){this._visibleLines.onConfigurationChanged(t);const n=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber();for(let o=n;o<=i;o++)this._visibleLines.getVisibleLine(o).onConfigurationChanged(t);return!0}onFlushed(t){return this._visibleLines.onFlushed(t)}onFocusChanged(t){return this._isFocused=t.isFocused,!0}onLinesChanged(t){return this._visibleLines.onLinesChanged(t)}onLinesDeleted(t){return this._visibleLines.onLinesDeleted(t)}onLinesInserted(t){return this._visibleLines.onLinesInserted(t)}onScrollChanged(t){return this._visibleLines.onScrollChanged(t)||!0}onTokensChanged(t){return this._visibleLines.onTokensChanged(t)}onZonesChanged(t){return this._visibleLines.onZonesChanged(t)}prepareRender(t){const n=this._dynamicOverlays.filter(i=>i.shouldRender());for(let i=0,o=n.length;i<o;i++){const c=n[i];c.prepareRender(t),c.onDidRender()}}render(t){this._viewOverlaysRender(t),this.domNode.toggleClassName("focused",this._isFocused)}_viewOverlaysRender(t){this._visibleLines.renderLines(t.viewportData)}}e.ViewOverlays=w;class b{constructor(t,n){this._configuration=t,this._lineHeight=this._configuration.options.get(59),this._dynamicOverlays=n,this._domNode=null,this._renderedContent=null}getDomNode(){return this._domNode?this._domNode.domNode:null}setDomNode(t){this._domNode=(0,L.createFastDomNode)(t)}onContentChanged(){}onTokensChanged(){}onConfigurationChanged(t){this._lineHeight=this._configuration.options.get(59)}renderLine(t,n,i,o){let c="";for(let d=0,r=this._dynamicOverlays.length;d<r;d++)c+=this._dynamicOverlays[d].render(i.startLineNumber,t);return this._renderedContent===c?!1:(this._renderedContent=c,o.appendASCIIString('<div style="position:absolute;top:'),o.appendASCIIString(String(n)),o.appendASCIIString("px;width:100%;height:"),o.appendASCIIString(String(this._lineHeight)),o.appendASCIIString('px;">'),o.appendASCIIString(c),o.appendASCIIString("</div>"),!0)}layoutLine(t,n){this._domNode&&(this._domNode.setTop(n),this._domNode.setHeight(this._lineHeight))}}e.ViewOverlayLine=b;class C extends w{constructor(t){super(t);const i=this._context.configuration.options.get(131);this._contentWidth=i.contentWidth,this.domNode.setHeight(0)}onConfigurationChanged(t){const i=this._context.configuration.options.get(131);return this._contentWidth=i.contentWidth,super.onConfigurationChanged(t)||!0}onScrollChanged(t){return super.onScrollChanged(t)||t.scrollWidthChanged}_viewOverlaysRender(t){super._viewOverlaysRender(t),this.domNode.setWidth(Math.max(t.scrollWidth,this._contentWidth))}}e.ContentViewOverlays=C;class u extends w{constructor(t){super(t);const n=this._context.configuration.options,i=n.get(131);this._contentLeft=i.contentLeft,this.domNode.setClassName("margin-view-overlays"),this.domNode.setWidth(1),(0,m.applyFontInfo)(this.domNode,n.get(44))}onConfigurationChanged(t){const n=this._context.configuration.options;(0,m.applyFontInfo)(this.domNode,n.get(44));const i=n.get(131);return this._contentLeft=i.contentLeft,super.onConfigurationChanged(t)||!0}onScrollChanged(t){return super.onScrollChanged(t)||t.scrollHeightChanged}_viewOverlaysRender(t){super._viewOverlaysRender(t);const n=Math.min(t.scrollHeight,1e6);this.domNode.setHeight(n),this.domNode.setWidth(this._contentLeft)}}e.MarginViewOverlays=u}),define(te[517],ie([1,0,7,31,8,64,32,11,3,144]),function(q,e,L,m,k,I,w,b,C,u){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewCursor=void 0;class g{constructor(i,o,c,d,r,s){this.top=i,this.left=o,this.width=c,this.height=d,this.textContent=r,this.textContentClassName=s}}class t{constructor(i){this._context=i;const o=this._context.configuration.options,c=o.get(44);this._cursorStyle=o.get(24),this._lineHeight=o.get(59),this._typicalHalfwidthCharacterWidth=c.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(o.get(27),this._typicalHalfwidthCharacterWidth),this._isVisible=!0,this._domNode=(0,m.createFastDomNode)(document.createElement("div")),this._domNode.setClassName(`cursor ${u.MOUSE_CURSOR_TEXT_CSS_CLASS_NAME}`),this._domNode.setHeight(this._lineHeight),this._domNode.setTop(0),this._domNode.setLeft(0),(0,I.applyFontInfo)(this._domNode,c),this._domNode.setDisplay("none"),this._position=new b.Position(1,1),this._lastRenderedContent="",this._renderData=null}getDomNode(){return this._domNode}getPosition(){return this._position}show(){this._isVisible||(this._domNode.setVisibility("inherit"),this._isVisible=!0)}hide(){this._isVisible&&(this._domNode.setVisibility("hidden"),this._isVisible=!1)}onConfigurationChanged(i){const o=this._context.configuration.options,c=o.get(44);return this._cursorStyle=o.get(24),this._lineHeight=o.get(59),this._typicalHalfwidthCharacterWidth=c.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(o.get(27),this._typicalHalfwidthCharacterWidth),(0,I.applyFontInfo)(this._domNode,c),!0}onCursorPositionChanged(i){return this._position=i,!0}_getGraphemeAwarePosition(){const{lineNumber:i,column:o}=this._position,c=this._context.viewModel.getLineContent(i),[d,r]=k.getCharContainingOffset(c,o-1);return[new b.Position(i,d+1),c.substring(d,r)]}_prepareRender(i){let o="";const[c,d]=this._getGraphemeAwarePosition();if(this._cursorStyle===w.TextEditorCursorStyle.Line||this._cursorStyle===w.TextEditorCursorStyle.LineThin){const v=i.visibleRangeForPosition(c);if(!v||v.outsideRenderedLine)return null;let p;this._cursorStyle===w.TextEditorCursorStyle.Line?(p=L.computeScreenAwareSize(this._lineCursorWidth>0?this._lineCursorWidth:2),p>2&&(o=d)):p=L.computeScreenAwareSize(1);let _=v.left;p>=2&&_>=1&&(_-=1);const y=i.getVerticalOffsetForLineNumber(c.lineNumber)-i.bigNumbersDelta;return new g(y,_,p,this._lineHeight,o,"")}const r=i.linesVisibleRangesForRange(new C.Range(c.lineNumber,c.column,c.lineNumber,c.column+d.length),!1);if(!r||r.length===0)return null;const s=r[0];if(s.outsideRenderedLine||s.ranges.length===0)return null;const a=s.ranges[0],l=a.width<1?this._typicalHalfwidthCharacterWidth:a.width;let h="";if(this._cursorStyle===w.TextEditorCursorStyle.Block){const v=this._context.viewModel.getViewLineData(c.lineNumber);o=d;const p=v.tokens.findTokenIndexAtOffset(c.column-1);h=v.tokens.getClassName(p)}let f=i.getVerticalOffsetForLineNumber(c.lineNumber)-i.bigNumbersDelta,S=this._lineHeight;return(this._cursorStyle===w.TextEditorCursorStyle.Underline||this._cursorStyle===w.TextEditorCursorStyle.UnderlineThin)&&(f+=this._lineHeight-2,S=2),new g(f,a.left,l,S,o,h)}prepareRender(i){this._renderData=this._prepareRender(i)}render(i){return this._renderData?(this._lastRenderedContent!==this._renderData.textContent&&(this._lastRenderedContent=this._renderData.textContent,this._domNode.domNode.textContent=this._lastRenderedContent),this._domNode.setClassName(`cursor ${u.MOUSE_CURSOR_TEXT_CSS_CLASS_NAME} ${this._renderData.textContentClassName}`),this._domNode.setDisplay("block"),this._domNode.setTop(this._renderData.top),this._domNode.setLeft(this._renderData.left),this._domNode.setWidth(this._renderData.width),this._domNode.setLineHeight(this._renderData.height),this._domNode.setHeight(this._renderData.height),{domNode:this._domNode.domNode,position:this._position,contentLeft:this._renderData.left,height:this._renderData.height,width:2}):(this._domNode.setDisplay("none"),null)}}e.ViewCursor=t}),define(te[271],ie([1,0,11,3,71,32]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isModelDecorationInString=e.isModelDecorationInComment=e.isModelDecorationVisible=e.ViewModelDecorations=void 0;class w{constructor(n,i,o,c,d){this.editorId=n,this.model=i,this.configuration=o,this._linesCollection=c,this._coordinatesConverter=d,this._decorationsCache=Object.create(null),this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}_clearCachedModelDecorationsResolver(){this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}dispose(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}reset(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}onModelDecorationsChanged(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}onLineMappingChanged(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}_getOrCreateViewModelDecoration(n){const i=n.id;let o=this._decorationsCache[i];if(!o){const c=n.range,d=n.options;let r;if(d.isWholeLine){const s=this._coordinatesConverter.convertModelPositionToViewPosition(new L.Position(c.startLineNumber,1),0),a=this._coordinatesConverter.convertModelPositionToViewPosition(new L.Position(c.endLineNumber,this.model.getLineMaxColumn(c.endLineNumber)),1);r=new m.Range(s.lineNumber,s.column,a.lineNumber,a.column)}else r=this._coordinatesConverter.convertModelRangeToViewRange(c,1);o=new k.ViewModelDecoration(r,d),this._decorationsCache[i]=o}return o}getDecorationsViewportData(n){let i=this._cachedModelDecorationsResolver!==null;return i=i&&n.equalsRange(this._cachedModelDecorationsResolverViewRange),i||(this._cachedModelDecorationsResolver=this._getDecorationsViewportData(n),this._cachedModelDecorationsResolverViewRange=n),this._cachedModelDecorationsResolver}_getDecorationsViewportData(n){const i=this._linesCollection.getDecorationsInRange(n,this.editorId,(0,I.filterValidationDecorations)(this.configuration.options)),o=n.startLineNumber,c=n.endLineNumber,d=[];let r=0;const s=[];for(let a=o;a<=c;a++)s[a-o]=[];for(let a=0,l=i.length;a<l;a++){const h=i[a],f=h.options;if(!b(this.model,h))continue;const S=this._getOrCreateViewModelDecoration(h),v=S.range;if(d[r++]=S,f.inlineClassName){const p=new k.InlineDecoration(v,f.inlineClassName,f.inlineClassNameAffectsLetterSpacing?3:0),_=Math.max(o,v.startLineNumber),y=Math.min(c,v.endLineNumber);for(let E=_;E<=y;E++)s[E-o].push(p)}if(f.beforeContentClassName&&o<=v.startLineNumber&&v.startLineNumber<=c){const p=new k.InlineDecoration(new m.Range(v.startLineNumber,v.startColumn,v.startLineNumber,v.startColumn),f.beforeContentClassName,1);s[v.startLineNumber-o].push(p)}if(f.afterContentClassName&&o<=v.endLineNumber&&v.endLineNumber<=c){const p=new k.InlineDecoration(new m.Range(v.endLineNumber,v.endColumn,v.endLineNumber,v.endColumn),f.afterContentClassName,2);s[v.endLineNumber-o].push(p)}}return{decorations:d,inlineDecorations:s}}}e.ViewModelDecorations=w;function b(t,n){return!(n.options.hideInCommentTokens&&C(t,n)||n.options.hideInStringTokens&&u(t,n))}e.isModelDecorationVisible=b;function C(t,n){return g(t,n.range,i=>i===1)}e.isModelDecorationInComment=C;function u(t,n){return g(t,n.range,i=>i===2)}e.isModelDecorationInString=u;function g(t,n,i){for(let o=n.startLineNumber;o<=n.endLineNumber;o++){const c=t.getLineTokens(o),d=o===n.startLineNumber,r=o===n.endLineNumber;let s=d?c.findTokenIndexAtOffset(n.startColumn-1):0;for(;s<c.getCount()&&!(r&&c.getStartOffset(s)>n.endColumn-1);){if(!i(c.getStandardTokenType(s)))return!1;s++}}return!0}}),define(te[518],ie([5,6]),function(q,e){return q.create("vs/editor/common/core/editorColorRegistry",e)}),define(te[519],ie([5,6]),function(q,e){return q.create("vs/editor/common/editorContextKeys",e)}),define(te[520],ie([5,6]),function(q,e){return q.create("vs/editor/common/languages/modesRegistry",e)}),define(te[521],ie([5,6]),function(q,e){return q.create("vs/editor/common/model/editStack",e)}),define(te[272],ie([1,0,521,13,22,25,240,112,42]),function(q,e,L,m,k,I,w,b,C){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EditStack=e.isEditStackElement=e.MultiModelEditStackElement=e.SingleModelEditStackElement=e.SingleModelEditStackData=void 0;function u(d){return d.toString()}class g{constructor(r,s,a,l,h,f,S){this.beforeVersionId=r,this.afterVersionId=s,this.beforeEOL=a,this.afterEOL=l,this.beforeCursorState=h,this.afterCursorState=f,this.changes=S}static create(r,s){const a=r.getAlternativeVersionId(),l=i(r);return new g(a,a,l,l,s,s,[])}append(r,s,a,l,h){s.length>0&&(this.changes=(0,w.compressConsecutiveTextChanges)(this.changes,s)),this.afterEOL=a,this.afterVersionId=l,this.afterCursorState=h}static _writeSelectionsSize(r){return 4+4*4*(r?r.length:0)}static _writeSelections(r,s,a){if(b.writeUInt32BE(r,s?s.length:0,a),a+=4,s)for(const l of s)b.writeUInt32BE(r,l.selectionStartLineNumber,a),a+=4,b.writeUInt32BE(r,l.selectionStartColumn,a),a+=4,b.writeUInt32BE(r,l.positionLineNumber,a),a+=4,b.writeUInt32BE(r,l.positionColumn,a),a+=4;return a}static _readSelections(r,s,a){const l=b.readUInt32BE(r,s);s+=4;for(let h=0;h<l;h++){const f=b.readUInt32BE(r,s);s+=4;const S=b.readUInt32BE(r,s);s+=4;const v=b.readUInt32BE(r,s);s+=4;const p=b.readUInt32BE(r,s);s+=4,a.push(new k.Selection(f,S,v,p))}return s}serialize(){let r=4+4+1+1+g._writeSelectionsSize(this.beforeCursorState)+g._writeSelectionsSize(this.afterCursorState)+4;for(const l of this.changes)r+=l.writeSize();const s=new Uint8Array(r);let a=0;b.writeUInt32BE(s,this.beforeVersionId,a),a+=4,b.writeUInt32BE(s,this.afterVersionId,a),a+=4,b.writeUInt8(s,this.beforeEOL,a),a+=1,b.writeUInt8(s,this.afterEOL,a),a+=1,a=g._writeSelections(s,this.beforeCursorState,a),a=g._writeSelections(s,this.afterCursorState,a),b.writeUInt32BE(s,this.changes.length,a),a+=4;for(const l of this.changes)a=l.write(s,a);return s.buffer}static deserialize(r){const s=new Uint8Array(r);let a=0;const l=b.readUInt32BE(s,a);a+=4;const h=b.readUInt32BE(s,a);a+=4;const f=b.readUInt8(s,a);a+=1;const S=b.readUInt8(s,a);a+=1;const v=[];a=g._readSelections(s,a,v);const p=[];a=g._readSelections(s,a,p);const _=b.readUInt32BE(s,a);a+=4;const y=[];for(let E=0;E<_;E++)a=w.TextChange.read(s,a,y);return new g(l,h,f,S,v,p,y)}}e.SingleModelEditStackData=g;class t{constructor(r,s){this.model=r,this._data=g.create(r,s)}get type(){return 0}get resource(){return I.URI.isUri(this.model)?this.model:this.model.uri}get label(){return L.localize(0,null)}toString(){return(this._data instanceof g?this._data:g.deserialize(this._data)).changes.map(s=>s.toString()).join(", ")}matchesResource(r){return(I.URI.isUri(this.model)?this.model:this.model.uri).toString()===r.toString()}setModel(r){this.model=r}canAppend(r){return this.model===r&&this._data instanceof g}append(r,s,a,l,h){this._data instanceof g&&this._data.append(r,s,a,l,h)}close(){this._data instanceof g&&(this._data=this._data.serialize())}open(){this._data instanceof g||(this._data=g.deserialize(this._data))}undo(){if(I.URI.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof g&&(this._data=this._data.serialize());const r=g.deserialize(this._data);this.model._applyUndo(r.changes,r.beforeEOL,r.beforeVersionId,r.beforeCursorState)}redo(){if(I.URI.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof g&&(this._data=this._data.serialize());const r=g.deserialize(this._data);this.model._applyRedo(r.changes,r.afterEOL,r.afterVersionId,r.afterCursorState)}heapSize(){return this._data instanceof g&&(this._data=this._data.serialize()),this._data.byteLength+168}}e.SingleModelEditStackElement=t;class n{constructor(r,s){this.type=1,this.label=r,this._isOpen=!0,this._editStackElementsArr=s.slice(0),this._editStackElementsMap=new Map;for(const a of this._editStackElementsArr){const l=u(a.resource);this._editStackElementsMap.set(l,a)}this._delegate=null}get resources(){return this._editStackElementsArr.map(r=>r.resource)}prepareUndoRedo(){if(this._delegate)return this._delegate.prepareUndoRedo(this)}matchesResource(r){const s=u(r);return this._editStackElementsMap.has(s)}setModel(r){const s=u(I.URI.isUri(r)?r:r.uri);this._editStackElementsMap.has(s)&&this._editStackElementsMap.get(s).setModel(r)}canAppend(r){if(!this._isOpen)return!1;const s=u(r.uri);return this._editStackElementsMap.has(s)?this._editStackElementsMap.get(s).canAppend(r):!1}append(r,s,a,l,h){const f=u(r.uri);this._editStackElementsMap.get(f).append(r,s,a,l,h)}close(){this._isOpen=!1}open(){}undo(){this._isOpen=!1;for(const r of this._editStackElementsArr)r.undo()}redo(){for(const r of this._editStackElementsArr)r.redo()}heapSize(r){const s=u(r);return this._editStackElementsMap.has(s)?this._editStackElementsMap.get(s).heapSize():0}split(){return this._editStackElementsArr}toString(){let r=[];for(const s of this._editStackElementsArr)r.push(`${(0,C.basename)(s.resource)}: ${s}`);return`{${r.join(", ")}}`}}e.MultiModelEditStackElement=n;function i(d){return d.getEOL()===`
+`?0:1}function o(d){return d?d instanceof t||d instanceof n:!1}e.isEditStackElement=o;class c{constructor(r,s){this._model=r,this._undoRedoService=s}pushStackElement(){const r=this._undoRedoService.getLastElement(this._model.uri);o(r)&&r.close()}popStackElement(){const r=this._undoRedoService.getLastElement(this._model.uri);o(r)&&r.open()}clear(){this._undoRedoService.removeElements(this._model.uri)}_getOrCreateEditStackElement(r){const s=this._undoRedoService.getLastElement(this._model.uri);if(o(s)&&s.canAppend(this._model))return s;const a=new t(this._model,r);return this._undoRedoService.pushElement(a),a}pushEOL(r){const s=this._getOrCreateEditStackElement(null);this._model.setEOL(r),s.append(this._model,[],i(this._model),this._model.getAlternativeVersionId(),null)}pushEditOperation(r,s,a){const l=this._getOrCreateEditStackElement(r),h=this._model.applyEdits(s,!0),f=c._computeCursorState(a,h),S=h.map((v,p)=>({index:p,textChange:v.textChange}));return S.sort((v,p)=>v.textChange.oldPosition===p.textChange.oldPosition?v.index-p.index:v.textChange.oldPosition-p.textChange.oldPosition),l.append(this._model,S.map(v=>v.textChange),i(this._model),this._model.getAlternativeVersionId(),f),f}static _computeCursorState(r,s){try{return r?r(s):null}catch(a){return(0,m.onUnexpectedError)(a),null}}}e.EditStack=c}),define(te[522],ie([5,6]),function(q,e){return q.create("vs/editor/common/standaloneStrings",e)}),define(te[72],ie([1,0,522]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StandaloneServicesNLS=e.ToggleHighContrastNLS=e.StandaloneCodeEditorNLS=e.QuickOutlineNLS=e.QuickCommandNLS=e.QuickHelpNLS=e.GoToLineNLS=e.InspectTokensNLS=e.AccessibilityHelpNLS=void 0;var m;(function(n){n.noSelection=L.localize(0,null),n.singleSelectionRange=L.localize(1,null),n.singleSelection=L.localize(2,null),n.multiSelectionRange=L.localize(3,null),n.multiSelection=L.localize(4,null),n.emergencyConfOn=L.localize(5,null),n.openingDocs=L.localize(6,null),n.readonlyDiffEditor=L.localize(7,null),n.editableDiffEditor=L.localize(8,null),n.readonlyEditor=L.localize(9,null),n.editableEditor=L.localize(10,null),n.changeConfigToOnMac=L.localize(11,null),n.changeConfigToOnWinLinux=L.localize(12,null),n.auto_on=L.localize(13,null),n.auto_off=L.localize(14,null),n.tabFocusModeOnMsg=L.localize(15,null),n.tabFocusModeOnMsgNoKb=L.localize(16,null),n.tabFocusModeOffMsg=L.localize(17,null),n.tabFocusModeOffMsgNoKb=L.localize(18,null),n.openDocMac=L.localize(19,null),n.openDocWinLinux=L.localize(20,null),n.outroMsg=L.localize(21,null),n.showAccessibilityHelpAction=L.localize(22,null)})(m=e.AccessibilityHelpNLS||(e.AccessibilityHelpNLS={}));var k;(function(n){n.inspectTokensAction=L.localize(23,null)})(k=e.InspectTokensNLS||(e.InspectTokensNLS={}));var I;(function(n){n.gotoLineActionLabel=L.localize(24,null)})(I=e.GoToLineNLS||(e.GoToLineNLS={}));var w;(function(n){n.helpQuickAccessActionLabel=L.localize(25,null)})(w=e.QuickHelpNLS||(e.QuickHelpNLS={}));var b;(function(n){n.quickCommandActionLabel=L.localize(26,null),n.quickCommandHelp=L.localize(27,null)})(b=e.QuickCommandNLS||(e.QuickCommandNLS={}));var C;(function(n){n.quickOutlineActionLabel=L.localize(28,null),n.quickOutlineByCategoryActionLabel=L.localize(29,null)})(C=e.QuickOutlineNLS||(e.QuickOutlineNLS={}));var u;(function(n){n.editorViewAccessibleLabel=L.localize(30,null),n.accessibilityHelpMessage=L.localize(31,null)})(u=e.StandaloneCodeEditorNLS||(e.StandaloneCodeEditorNLS={}));var g;(function(n){n.toggleHighContrast=L.localize(32,null)})(g=e.ToggleHighContrastNLS||(e.ToggleHighContrastNLS={}));var t;(function(n){n.bulkEditServiceSummary=L.localize(33,null)})(t=e.StandaloneServicesNLS||(e.StandaloneServicesNLS={}))}),define(te[523],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/anchorSelect/browser/anchorSelect",e)}),define(te[524],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/bracketMatching/browser/bracketMatching",e)}),define(te[525],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/caretOperations/browser/caretOperations",e)}),define(te[526],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/caretOperations/browser/transpose",e)}),define(te[527],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/clipboard/browser/clipboard",e)}),define(te[528],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/codeAction/browser/codeActionCommands",e)}),define(te[529],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/codeAction/browser/lightBulbWidget",e)}),define(te[530],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/codelens/browser/codelensController",e)}),define(te[531],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/colorPicker/browser/colorPickerWidget",e)}),define(te[532],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/comment/browser/comment",e)}),define(te[533],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/contextmenu/browser/contextmenu",e)}),define(te[534],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/cursorUndo/browser/cursorUndo",e)}),define(te[535],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/editorState/browser/keybindingCancellation",e)}),define(te[536],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/find/browser/findController",e)}),define(te[537],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/find/browser/findWidget",e)}),define(te[538],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/folding/browser/folding",e)}),define(te[539],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/folding/browser/foldingDecorations",e)}),define(te[540],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/fontZoom/browser/fontZoom",e)}),define(te[541],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/format/browser/format",e)}),define(te[542],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/format/browser/formatActions",e)}),define(te[543],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/gotoError/browser/gotoError",e)}),define(te[544],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/gotoError/browser/gotoErrorWidget",e)}),define(te[545],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/gotoSymbol/browser/goToCommands",e)}),define(te[546],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition",e)}),define(te[547],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/gotoSymbol/browser/peek/referencesController",e)}),define(te[548],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/gotoSymbol/browser/peek/referencesTree",e)}),define(te[549],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget",e)}),define(te[550],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/gotoSymbol/browser/referencesModel",e)}),define(te[129],ie([1,0,13,4,136,2,49,42,8,3,550]),function(q,e,L,m,k,I,w,b,C,u,g){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ReferencesModel=e.FileReferences=e.FilePreview=e.OneReference=void 0;class t{constructor(d,r,s,a){this.isProviderFirst=d,this.parent=r,this.link=s,this._rangeCallback=a,this.id=k.defaultGenerator.nextId()}get uri(){return this.link.uri}get range(){var d,r;return(r=(d=this._range)!==null&&d!==void 0?d:this.link.targetSelectionRange)!==null&&r!==void 0?r:this.link.range}set range(d){this._range=d,this._rangeCallback(this)}get ariaMessage(){var d;const r=(d=this.parent.getPreview(this))===null||d===void 0?void 0:d.preview(this.range);return r?(0,g.localize)(1,null,(0,b.basename)(this.uri),this.range.startLineNumber,this.range.startColumn,r.value):(0,g.localize)(0,null,(0,b.basename)(this.uri),this.range.startLineNumber,this.range.startColumn)}}e.OneReference=t;class n{constructor(d){this._modelReference=d}dispose(){this._modelReference.dispose()}preview(d,r=8){const s=this._modelReference.object.textEditorModel;if(!s)return;const{startLineNumber:a,startColumn:l,endLineNumber:h,endColumn:f}=d,S=s.getWordUntilPosition({lineNumber:a,column:l-r}),v=new u.Range(a,S.startColumn,a,l),p=new u.Range(h,f,h,1073741824),_=s.getValueInRange(v).replace(/^\s+/,""),y=s.getValueInRange(d),E=s.getValueInRange(p).replace(/\s+$/,"");return{value:_+y+E,highlight:{start:_.length,end:_.length+y.length}}}}e.FilePreview=n;class i{constructor(d,r){this.parent=d,this.uri=r,this.children=[],this._previews=new w.ResourceMap}dispose(){(0,I.dispose)(this._previews.values()),this._previews.clear()}getPreview(d){return this._previews.get(d.uri)}get ariaMessage(){const d=this.children.length;return d===1?(0,g.localize)(2,null,(0,b.basename)(this.uri),this.uri.fsPath):(0,g.localize)(3,null,d,(0,b.basename)(this.uri),this.uri.fsPath)}resolve(d){return we(this,void 0,void 0,function*(){if(this._previews.size!==0)return this;for(let r of this.children)if(!this._previews.has(r.uri))try{const s=yield d.createModelReference(r.uri);this._previews.set(r.uri,new n(s))}catch(s){(0,L.onUnexpectedError)(s)}return this})}}e.FileReferences=i;class o{constructor(d,r){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new m.Emitter,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=d,this._title=r;const[s]=d;d.sort(o._compareReferences);let a;for(let l of d)if((!a||!b.extUri.isEqual(a.uri,l.uri,!0))&&(a=new i(this,l.uri),this.groups.push(a)),a.children.length===0||o._compareReferences(l,a.children[a.children.length-1])!==0){const h=new t(s===l,a,l,f=>this._onDidChangeReferenceRange.fire(f));this.references.push(h),a.children.push(h)}}dispose(){(0,I.dispose)(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new o(this._links,this._title)}get title(){return this._title}get isEmpty(){return this.groups.length===0}get ariaMessage(){return this.isEmpty?(0,g.localize)(4,null):this.references.length===1?(0,g.localize)(5,null,this.references[0].uri.fsPath):this.groups.length===1?(0,g.localize)(6,null,this.references.length,this.groups[0].uri.fsPath):(0,g.localize)(7,null,this.references.length,this.groups.length)}nextOrPreviousReference(d,r){let{parent:s}=d,a=s.children.indexOf(d),l=s.children.length,h=s.parent.groups.length;return h===1||r&&a+1<l||!r&&a>0?(r?a=(a+1)%l:a=(a+l-1)%l,s.children[a]):(a=s.parent.groups.indexOf(s),r?(a=(a+1)%h,s.parent.groups[a].children[0]):(a=(a+h-1)%h,s.parent.groups[a].children[s.parent.groups[a].children.length-1]))}nearestReference(d,r){const s=this.references.map((a,l)=>({idx:l,prefixLen:C.commonPrefixLength(a.uri.toString(),d.toString()),offsetDist:Math.abs(a.range.startLineNumber-r.lineNumber)*100+Math.abs(a.range.startColumn-r.column)})).sort((a,l)=>a.prefixLen>l.prefixLen?-1:a.prefixLen<l.prefixLen?1:a.offsetDist<l.offsetDist?-1:a.offsetDist>l.offsetDist?1:0)[0];if(s)return this.references[s.idx]}referenceAt(d,r){for(const s of this.references)if(s.uri.toString()===d.toString()&&u.Range.containsPosition(s.range,r))return s}firstReference(){for(const d of this.references)if(d.isProviderFirst)return d;return this.references[0]}static _compareReferences(d,r){return b.extUri.compare(d.uri,r.uri)||u.Range.compareRangesUsingStarts(d.range,r.range)}}e.ReferencesModel=o}),define(te[551],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/gotoSymbol/browser/symbolNavigation",e)}),define(te[552],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/hover/browser/hover",e)}),define(te[553],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/hover/browser/markdownHoverParticipant",e)}),define(te[554],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/hover/browser/markerHoverParticipant",e)}),define(te[555],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace",e)}),define(te[556],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/indentation/browser/indentation",e)}),define(te[557],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/inlayHints/browser/inlayHintsHover",e)}),define(te[558],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/inlineCompletions/browser/ghostTextController",e)}),define(te[559],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHoverParticipant",e)}),define(te[560],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/lineSelection/browser/lineSelection",e)}),define(te[561],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/linesOperations/browser/linesOperations",e)}),define(te[562],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/linkedEditing/browser/linkedEditing",e)}),define(te[563],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/links/browser/links",e)}),define(te[564],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/message/browser/messageController",e)}),define(te[565],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/multicursor/browser/multicursor",e)}),define(te[566],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/parameterHints/browser/parameterHints",e)}),define(te[567],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/parameterHints/browser/parameterHintsWidget",e)}),define(te[568],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/peekView/browser/peekView",e)}),define(te[569],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess",e)}),define(te[570],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess",e)}),define(te[571],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/rename/browser/rename",e)}),define(te[572],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/rename/browser/renameInputField",e)}),define(te[573],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/smartSelect/browser/smartSelect",e)}),define(te[574],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/snippet/browser/snippetController2",e)}),define(te[575],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/snippet/browser/snippetVariables",e)}),define(te[576],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/suggest/browser/suggest",e)}),define(te[577],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/suggest/browser/suggestController",e)}),define(te[578],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/suggest/browser/suggestWidget",e)}),define(te[579],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/suggest/browser/suggestWidgetDetails",e)}),define(te[580],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/suggest/browser/suggestWidgetRenderer",e)}),define(te[581],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/suggest/browser/suggestWidgetStatus",e)}),define(te[582],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/symbolIcons/browser/symbolIcons",e)}),define(te[583],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode",e)}),define(te[584],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/tokenization/browser/tokenization",e)}),define(te[585],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter",e)}),define(te[586],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators",e)}),define(te[587],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/wordHighlighter/browser/wordHighlighter",e)}),define(te[588],ie([5,6]),function(q,e){return q.create("vs/editor/contrib/wordOperations/browser/wordOperations",e)}),define(te[589],ie([5,6]),function(q,e){return q.create("vs/platform/actions/browser/menuEntryActionViewItem",e)}),define(te[590],ie([5,6]),function(q,e){return q.create("vs/platform/configuration/common/configurationRegistry",e)}),define(te[591],ie([5,6]),function(q,e){return q.create("vs/platform/contextkey/browser/contextKeyService",e)}),define(te[592],ie([5,6]),function(q,e){return q.create("vs/platform/contextkey/common/contextkeys",e)}),define(te[593],ie([5,6]),function(q,e){return q.create("vs/platform/history/browser/contextScopedHistoryWidget",e)}),define(te[594],ie([5,6]),function(q,e){return q.create("vs/platform/keybinding/common/abstractKeybindingService",e)}),define(te[595],ie([5,6]),function(q,e){return q.create("vs/platform/list/browser/listService",e)}),define(te[596],ie([5,6]),function(q,e){return q.create("vs/platform/markers/common/markers",e)}),define(te[597],ie([5,6]),function(q,e){return q.create("vs/platform/quickinput/browser/commandsQuickAccess",e)}),define(te[598],ie([5,6]),function(q,e){return q.create("vs/platform/quickinput/browser/helpQuickAccess",e)}),define(te[599],ie([5,6]),function(q,e){return q.create("vs/platform/theme/common/colorRegistry",e)}),define(te[600],ie([5,6]),function(q,e){return q.create("vs/platform/theme/common/iconRegistry",e)}),define(te[601],ie([5,6]),function(q,e){return q.create("vs/platform/undoRedo/common/undoRedoService",e)}),define(te[602],ie([5,6]),function(q,e){return q.create("vs/platform/workspace/common/workspace",e)}),define(te[603],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EditorOpenSource=void 0;var L;(function(m){m[m.API=0]="API",m[m.USER=1]="USER"})(L=e.EditorOpenSource||(e.EditorOpenSource={}))}),define(te[604],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ExtensionIdentifier=void 0;class L{constructor(k){this.value=k,this._lower=k.toLowerCase()}static toKey(k){return typeof k=="string"?k.toLowerCase():k._lower}}e.ExtensionIdentifier=L}),define(te[273],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FileKind=void 0;var L;(function(m){m[m.FILE=0]="FILE",m[m.FOLDER=1]="FOLDER",m[m.ROOT_FOLDER=2]="ROOT_FOLDER"})(L=e.FileKind||(e.FileKind={}))}),define(te[605],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.showHistoryKeybindingHint=void 0;function L(m){var k,I;return((k=m.lookupKeybinding("history.showPrevious"))===null||k===void 0?void 0:k.getElectronAccelerator())==="Up"&&((I=m.lookupKeybinding("history.showNext"))===null||I===void 0?void 0:I.getElectronAccelerator())==="Down"}e.showHistoryKeybindingHint=L}),define(te[199],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SyncDescriptor=void 0;class L{constructor(k,I=[],w=!1){this.ctor=k,this.staticArguments=I,this.supportsDelayedInstantiation=w}}e.SyncDescriptor=L}),define(te[52],ie([1,0,199]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getSingletonServiceDescriptors=e.registerSingleton=void 0;const m=[];function k(w,b,C){b instanceof L.SyncDescriptor||(b=new L.SyncDescriptor(b,[],C)),m.push([w,b])}e.registerSingleton=k;function I(){return m}e.getSingletonServiceDescriptors=I}),define(te[606],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Graph=e.Node=void 0;class L{constructor(I){this.incoming=new Map,this.outgoing=new Map,this.data=I}}e.Node=L;class m{constructor(I){this._hashFn=I,this._nodes=new Map}roots(){const I=[];for(let w of this._nodes.values())w.outgoing.size===0&&I.push(w);return I}insertEdge(I,w){const b=this.lookupOrInsertNode(I),C=this.lookupOrInsertNode(w);b.outgoing.set(this._hashFn(w),C),C.incoming.set(this._hashFn(I),b)}removeNode(I){const w=this._hashFn(I);this._nodes.delete(w);for(let b of this._nodes.values())b.outgoing.delete(w),b.incoming.delete(w)}lookupOrInsertNode(I){const w=this._hashFn(I);let b=this._nodes.get(w);return b||(b=new L(I),this._nodes.set(w,b)),b}isEmpty(){return this._nodes.size===0}toString(){let I=[];for(let[w,b]of this._nodes)I.push(`${w}, (incoming)[${[...b.incoming.keys()].join(", ")}], (outgoing)[${[...b.outgoing.keys()].join(",")}]`);return I.join(`
+`)}findCycleSlow(){for(let[I,w]of this._nodes){const b=new Set([I]),C=this._findCycle(w,b);if(C)return C}}_findCycle(I,w){for(let[b,C]of I.outgoing){if(w.has(b))return[...w,b].join(" -> ");w.add(b);const u=this._findCycle(C,w);if(u)return u;w.delete(b)}}}e.Graph=m}),define(te[9],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createDecorator=e.IInstantiationService=e._util=void 0;var L;(function(I){I.serviceIds=new Map,I.DI_TARGET="$di$target",I.DI_DEPENDENCIES="$di$dependencies";function w(b){return b[I.DI_DEPENDENCIES]||[]}I.getServiceDependencies=w})(L=e._util||(e._util={})),e.IInstantiationService=k("instantiationService");function m(I,w,b){w[L.DI_TARGET]===w?w[L.DI_DEPENDENCIES].push({id:I,index:b}):(w[L.DI_DEPENDENCIES]=[{id:I,index:b}],w[L.DI_TARGET]=w)}function k(I){if(L.serviceIds.has(I))return L.serviceIds.get(I);const w=function(b,C,u){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");m(w,b,u)};return w.toString=()=>I,L.serviceIds.set(I,w),w}e.createDecorator=k}),define(te[200],ie([1,0,9,25,19]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ResourceFileEdit=e.ResourceTextEdit=e.ResourceEdit=e.IBulkEditService=void 0,e.IBulkEditService=(0,L.createDecorator)("IWorkspaceEditService");function I(g){return(0,k.isObject)(g)&&(Boolean(g.newUri)||Boolean(g.oldUri))}function w(g){return(0,k.isObject)(g)&&m.URI.isUri(g.resource)&&(0,k.isObject)(g.edit)}class b{constructor(t){this.metadata=t}static convert(t){return t.edits.map(n=>{if(w(n))return new C(n.resource,n.edit,n.modelVersionId,n.metadata);if(I(n))return new u(n.oldUri,n.newUri,n.options,n.metadata);throw new Error("Unsupported edit")})}}e.ResourceEdit=b;class C extends b{constructor(t,n,i,o){super(o);this.resource=t,this.textEdit=n,this.versionId=i}}e.ResourceTextEdit=C;class u extends b{constructor(t,n,i,o){super(o);this.oldResource=t,this.newResource=n,this.options=i}}e.ResourceFileEdit=u}),define(te[29],ie([1,0,9]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ICodeEditorService=void 0,e.ICodeEditorService=(0,L.createDecorator)("codeEditorService")}),define(te[35],ie([1,0,9]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ILanguageService=void 0,e.ILanguageService=(0,L.createDecorator)("languageService")}),define(te[88],ie([1,0,9]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IEditorWorkerService=e.ID_EDITOR_WORKER_SERVICE=void 0,e.ID_EDITOR_WORKER_SERVICE="editorWorkerService",e.IEditorWorkerService=(0,L.createDecorator)(e.ID_EDITOR_WORKER_SERVICE)}),define(te[20],ie([1,0,9]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ILanguageFeaturesService=void 0,e.ILanguageFeaturesService=(0,L.createDecorator)("ILanguageFeaturesService")}),define(te[607],ie([1,0,421,20,52]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LanguageFeaturesService=void 0;class I{constructor(){this.referenceProvider=new L.LanguageFeatureRegistry(this._score.bind(this)),this.renameProvider=new L.LanguageFeatureRegistry(this._score.bind(this)),this.codeActionProvider=new L.LanguageFeatureRegistry(this._score.bind(this)),this.definitionProvider=new L.LanguageFeatureRegistry(this._score.bind(this)),this.typeDefinitionProvider=new L.LanguageFeatureRegistry(this._score.bind(this)),this.declarationProvider=new L.LanguageFeatureRegistry(this._score.bind(this)),this.implementationProvider=new L.LanguageFeatureRegistry(this._score.bind(this)),this.documentSymbolProvider=new L.LanguageFeatureRegistry(this._score.bind(this)),this.inlayHintsProvider=new L.LanguageFeatureRegistry(this._score.bind(this)),this.colorProvider=new L.LanguageFeatureRegistry(this._score.bind(this)),this.codeLensProvider=new L.LanguageFeatureRegistry(this._score.bind(this)),this.documentFormattingEditProvider=new L.LanguageFeatureRegistry(this._score.bind(this)),this.documentRangeFormattingEditProvider=new L.LanguageFeatureRegistry(this._score.bind(this)),this.onTypeFormattingEditProvider=new L.LanguageFeatureRegistry(this._score.bind(this)),this.signatureHelpProvider=new L.LanguageFeatureRegistry(this._score.bind(this)),this.hoverProvider=new L.LanguageFeatureRegistry(this._score.bind(this)),this.documentHighlightProvider=new L.LanguageFeatureRegistry(this._score.bind(this)),this.selectionRangeProvider=new L.LanguageFeatureRegistry(this._score.bind(this)),this.foldingRangeProvider=new L.LanguageFeatureRegistry(this._score.bind(this)),this.linkProvider=new L.LanguageFeatureRegistry(this._score.bind(this)),this.inlineCompletionsProvider=new L.LanguageFeatureRegistry(this._score.bind(this)),this.completionProvider=new L.LanguageFeatureRegistry(this._score.bind(this)),this.linkedEditingRangeProvider=new L.LanguageFeatureRegistry(this._score.bind(this)),this.documentRangeSemanticTokensProvider=new L.LanguageFeatureRegistry(this._score.bind(this)),this.documentSemanticTokensProvider=new L.LanguageFeatureRegistry(this._score.bind(this))}_score(b){var C;return(C=this._notebookTypeResolver)===null||C===void 0?void 0:C.call(this,b)}}e.LanguageFeaturesService=I,(0,k.registerSingleton)(m.ILanguageFeaturesService,I,!0)}),define(te[201],ie([1,0,9]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IMarkerDecorationsService=void 0,e.IMarkerDecorationsService=(0,L.createDecorator)("markerDecorationsService")}),define(te[48],ie([1,0,9]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IModelService=void 0,e.IModelService=(0,L.createDecorator)("modelService")}),define(te[56],ie([1,0,9]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ITextModelService=void 0,e.ITextModelService=(0,L.createDecorator)("textModelService")}),define(te[156],ie([1,0,9]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ITextResourcePropertiesService=e.ITextResourceConfigurationService=void 0,e.ITextResourceConfigurationService=(0,L.createDecorator)("textResourceConfigurationService"),e.ITextResourcePropertiesService=(0,L.createDecorator)("textResourcePropertiesService")}),define(te[103],ie([1,0,9]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IStandaloneThemeService=void 0,e.IStandaloneThemeService=(0,L.createDecorator)("themeService")}),define(te[104],ie([1,0,9]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IClipboardService=void 0,e.IClipboardService=(0,L.createDecorator)("clipboardService")}),define(te[26],ie([1,0,4,57,2,83,19,9]),function(q,e,L,m,k,I,w,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.NullCommandService=e.CommandsRegistry=e.ICommandService=void 0,e.ICommandService=(0,b.createDecorator)("commandService"),e.CommandsRegistry=new class{constructor(){this._commands=new Map,this._onDidRegisterCommand=new L.Emitter,this.onDidRegisterCommand=this._onDidRegisterCommand.event}registerCommand(C,u){if(!C)throw new Error("invalid command");if(typeof C=="string"){if(!u)throw new Error("invalid command");return this.registerCommand({id:C,handler:u})}if(C.description){const o=[];for(let d of C.description.args)o.push(d.constraint);const c=C.handler;C.handler=function(d,...r){return(0,w.validateConstraints)(r,o),c(d,...r)}}const{id:g}=C;let t=this._commands.get(g);t||(t=new I.LinkedList,this._commands.set(g,t));let n=t.unshift(C),i=(0,k.toDisposable)(()=>{n();const o=this._commands.get(g);(o==null?void 0:o.isEmpty())&&this._commands.delete(g)});return this._onDidRegisterCommand.fire(g),i}registerCommandAlias(C,u){return e.CommandsRegistry.registerCommand(C,(g,...t)=>g.get(e.ICommandService).executeCommand(u,...t))}getCommand(C){const u=this._commands.get(C);if(!(!u||u.isEmpty()))return m.Iterable.first(u)}getCommands(){const C=new Map;for(const u of this._commands.keys()){const g=this.getCommand(u);g&&C.set(u,g)}return C}},e.NullCommandService={_serviceBrand:void 0,onWillExecuteCommand:()=>k.Disposable.None,onDidExecuteCommand:()=>k.Disposable.None,executeCommand(){return Promise.resolve(void 0)}},e.CommandsRegistry.registerCommand("noop",()=>{})}),define(te[274],ie([1,0,21,13,25,48,26,19,431,3,20]),function(q,e,L,m,k,I,w,b,C,u,g){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getDocumentRangeSemanticTokens=e.hasDocumentRangeSemanticTokensProvider=e.getDocumentSemanticTokens=e.hasDocumentSemanticTokensProvider=e.DocumentSemanticTokensResult=e.isSemanticTokensEdits=e.isSemanticTokens=void 0;function t(f){return f&&!!f.data}e.isSemanticTokens=t;function n(f){return f&&Array.isArray(f.edits)}e.isSemanticTokensEdits=n;class i{constructor(S,v,p){this.provider=S,this.tokens=v,this.error=p}}e.DocumentSemanticTokensResult=i;function o(f,S){return f.has(S)}e.hasDocumentSemanticTokensProvider=o;function c(f,S){const v=f.orderedGroups(S);return v.length>0?v[0]:[]}function d(f,S,v,p,_){return we(this,void 0,void 0,function*(){const y=c(f,S),E=yield Promise.all(y.map(N=>we(this,void 0,void 0,function*(){let D,M=null;try{D=yield N.provideDocumentSemanticTokens(S,N===v?p:null,_)}catch(B){M=B,D=null}return(!D||!t(D)&&!n(D))&&(D=null),new i(N,D,M)})));for(const N of E){if(N.error)throw N.error;if(N.tokens)return N}return E.length>0?E[0]:null})}e.getDocumentSemanticTokens=d;function r(f,S){const v=f.orderedGroups(S);return v.length>0?v[0]:null}class s{constructor(S,v){this.provider=S,this.tokens=v}}function a(f,S){return f.has(S)}e.hasDocumentRangeSemanticTokensProvider=a;function l(f,S){const v=f.orderedGroups(S);return v.length>0?v[0]:[]}function h(f,S,v,p){return we(this,void 0,void 0,function*(){const _=l(f,S),y=yield Promise.all(_.map(E=>we(this,void 0,void 0,function*(){let N;try{N=yield E.provideDocumentRangeSemanticTokens(S,v,p)}catch(D){(0,m.onUnexpectedExternalError)(D),N=null}return(!N||!t(N))&&(N=null),new s(E,N)})));for(const E of y)if(E.tokens)return E;return y.length>0?y[0]:null})}e.getDocumentRangeSemanticTokens=h,w.CommandsRegistry.registerCommand("_provideDocumentSemanticTokensLegend",(f,...S)=>we(void 0,void 0,void 0,function*(){const[v]=S;(0,b.assertType)(v instanceof k.URI);const p=f.get(I.IModelService).getModel(v);if(!p)return;const{documentSemanticTokensProvider:_}=f.get(g.ILanguageFeaturesService),y=r(_,p);return y?y[0].getLegend():f.get(w.ICommandService).executeCommand("_provideDocumentRangeSemanticTokensLegend",v)})),w.CommandsRegistry.registerCommand("_provideDocumentSemanticTokens",(f,...S)=>we(void 0,void 0,void 0,function*(){const[v]=S;(0,b.assertType)(v instanceof k.URI);const p=f.get(I.IModelService).getModel(v);if(!p)return;const{documentSemanticTokensProvider:_}=f.get(g.ILanguageFeaturesService);if(!o(_,p))return f.get(w.ICommandService).executeCommand("_provideDocumentRangeSemanticTokens",v,p.getFullModelRange());const y=yield d(_,p,null,null,L.CancellationToken.None);if(!y)return;const{provider:E,tokens:N}=y;if(!N||!t(N))return;const D=(0,C.encodeSemanticTokensDto)({id:0,type:"full",data:N.data});return N.resultId&&E.releaseDocumentSemanticTokens(N.resultId),D})),w.CommandsRegistry.registerCommand("_provideDocumentRangeSemanticTokensLegend",(f,...S)=>we(void 0,void 0,void 0,function*(){const[v,p]=S;(0,b.assertType)(v instanceof k.URI);const _=f.get(I.IModelService).getModel(v);if(!_)return;const{documentRangeSemanticTokensProvider:y}=f.get(g.ILanguageFeaturesService),E=l(y,_);if(E.length===0)return;if(E.length===1)return E[0].getLegend();if(!p||!u.Range.isIRange(p))return console.warn("provideDocumentRangeSemanticTokensLegend might be out-of-sync with provideDocumentRangeSemanticTokens unless a range argument is passed in"),E[0].getLegend();const N=yield h(y,_,u.Range.lift(p),L.CancellationToken.None);if(!!N)return N.provider.getLegend()})),w.CommandsRegistry.registerCommand("_provideDocumentRangeSemanticTokens",(f,...S)=>we(void 0,void 0,void 0,function*(){const[v,p]=S;(0,b.assertType)(v instanceof k.URI),(0,b.assertType)(u.Range.isIRange(p));const _=f.get(I.IModelService).getModel(v);if(!_)return;const{documentRangeSemanticTokensProvider:y}=f.get(g.ILanguageFeaturesService),E=yield h(y,_,u.Range.lift(p),L.CancellationToken.None);if(!(!E||!E.tokens))return(0,C.encodeSemanticTokensDto)({id:0,type:"full",data:E.tokens.data})}))}),define(te[275],ie([1,0,21,13,2,19,25,48,26,20]),function(q,e,L,m,k,I,w,b,C,u){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getCodeLensModel=e.CodeLensModel=void 0;class g{constructor(){this.lenses=[],this._disposables=new k.DisposableStore}dispose(){this._disposables.dispose()}get isDisposed(){return this._disposables.isDisposed}add(i,o){this._disposables.add(i);for(const c of i.lenses)this.lenses.push({symbol:c,provider:o})}}e.CodeLensModel=g;function t(n,i,o){return we(this,void 0,void 0,function*(){const c=n.ordered(i),d=new Map,r=new g,s=c.map((a,l)=>we(this,void 0,void 0,function*(){d.set(a,l);try{const h=yield Promise.resolve(a.provideCodeLenses(i,o));h&&r.add(h,a)}catch(h){(0,m.onUnexpectedExternalError)(h)}}));return yield Promise.all(s),r.lenses=r.lenses.sort((a,l)=>a.symbol.range.startLineNumber<l.symbol.range.startLineNumber?-1:a.symbol.range.startLineNumber>l.symbol.range.startLineNumber?1:d.get(a.provider)<d.get(l.provider)?-1:d.get(a.provider)>d.get(l.provider)?1:a.symbol.range.startColumn<l.symbol.range.startColumn?-1:a.symbol.range.startColumn>l.symbol.range.startColumn?1:0),r})}e.getCodeLensModel=t,C.CommandsRegistry.registerCommand("_executeCodeLensProvider",function(n,...i){let[o,c]=i;(0,I.assertType)(w.URI.isUri(o)),(0,I.assertType)(typeof c=="number"||!c);const{codeLensProvider:d}=n.get(u.ILanguageFeaturesService),r=n.get(b.IModelService).getModel(o);if(!r)throw(0,m.illegalArgument)();const s=[],a=new k.DisposableStore;return t(d,r,L.CancellationToken.None).then(l=>{a.add(l);let h=[];for(const f of l.lenses)c==null||Boolean(f.symbol.command)?s.push(f.symbol):c-- >0&&f.provider.resolveCodeLens&&h.push(Promise.resolve(f.provider.resolveCodeLens(r,f.symbol,L.CancellationToken.None)).then(S=>s.push(S||f.symbol)));return Promise.all(h)}).then(()=>s).finally(()=>{setTimeout(()=>a.dispose(),100)})})}),define(te[276],ie([1,0,21,13,25,3,48,26,20]),function(q,e,L,m,k,I,w,b,C){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getColorPresentations=e.getColors=void 0;function u(t,n,i){const o=[],d=t.ordered(n).reverse().map(r=>Promise.resolve(r.provideDocumentColors(n,i)).then(s=>{if(Array.isArray(s))for(let a of s)o.push({colorInfo:a,provider:r})}));return Promise.all(d).then(()=>o)}e.getColors=u;function g(t,n,i,o){return Promise.resolve(i.provideColorPresentations(t,n,o))}e.getColorPresentations=g,b.CommandsRegistry.registerCommand("_executeDocumentColorProvider",function(t,...n){const[i]=n;if(!(i instanceof k.URI))throw(0,m.illegalArgument)();const{colorProvider:o}=t.get(C.ILanguageFeaturesService),c=t.get(w.IModelService).getModel(i);if(!c)throw(0,m.illegalArgument)();const d=[],s=o.ordered(c).reverse().map(a=>Promise.resolve(a.provideDocumentColors(c,L.CancellationToken.None)).then(l=>{if(Array.isArray(l))for(let h of l)d.push({range:h.range,color:[h.color.red,h.color.green,h.color.blue,h.color.alpha]})}));return Promise.all(s).then(()=>d)}),b.CommandsRegistry.registerCommand("_executeColorPresentationProvider",function(t,...n){const[i,o]=n,{uri:c,range:d}=o;if(!(c instanceof k.URI)||!Array.isArray(i)||i.length!==4||!I.Range.isIRange(d))throw(0,m.illegalArgument)();const[r,s,a,l]=i,{colorProvider:h}=t.get(C.ILanguageFeaturesService),f=t.get(w.IModelService).getModel(c);if(!f)throw(0,m.illegalArgument)();const S={range:d,color:{red:r,green:s,blue:a,alpha:l}},v=[],_=h.ordered(f).reverse().map(y=>Promise.resolve(y.provideColorPresentations(f,S,L.CancellationToken.None)).then(E=>{Array.isArray(E)&&v.push(...E)}));return Promise.all(_).then(()=>v)})}),define(te[608],ie([1,0,18,21,13,2,19,25,3,48,26,20]),function(q,e,L,m,k,I,w,b,C,u,g,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getLinks=e.LinksList=e.Link=void 0;class n{constructor(d,r){this._link=d,this._provider=r}toJSON(){return{range:this.range,url:this.url,tooltip:this.tooltip}}get range(){return this._link.range}get url(){return this._link.url}get tooltip(){return this._link.tooltip}resolve(d){return we(this,void 0,void 0,function*(){return this._link.url?this._link.url:typeof this._provider.resolveLink=="function"?Promise.resolve(this._provider.resolveLink(this._link,d)).then(r=>(this._link=r||this._link,this._link.url?this.resolve(d):Promise.reject(new Error("missing")))):Promise.reject(new Error("missing"))})}}e.Link=n;class i{constructor(d){this._disposables=new I.DisposableStore;let r=[];for(const[s,a]of d){const l=s.links.map(h=>new n(h,a));r=i._union(r,l),(0,I.isDisposable)(s)&&this._disposables.add(s)}this.links=r}dispose(){this._disposables.dispose(),this.links.length=0}static _union(d,r){let s=[],a,l,h,f;for(a=0,h=0,l=d.length,f=r.length;a<l&&h<f;){const S=d[a],v=r[h];if(C.Range.areIntersectingOrTouching(S.range,v.range)){a++;continue}C.Range.compareRangesUsingStarts(S.range,v.range)<0?(s.push(S),a++):(s.push(v),h++)}for(;a<l;a++)s.push(d[a]);for(;h<f;h++)s.push(r[h]);return s}}e.LinksList=i;function o(c,d,r){const s=[],a=c.ordered(d).reverse().map((l,h)=>Promise.resolve(l.provideLinks(d,r)).then(f=>{f&&(s[h]=[f,l])},k.onUnexpectedExternalError));return Promise.all(a).then(()=>{const l=new i((0,L.coalesce)(s));return r.isCancellationRequested?(l.dispose(),new i([])):l})}e.getLinks=o,g.CommandsRegistry.registerCommand("_executeLinkProvider",(c,...d)=>we(void 0,void 0,void 0,function*(){let[r,s]=d;(0,w.assertType)(r instanceof b.URI),typeof s!="number"&&(s=0);const{linkProvider:a}=c.get(t.ILanguageFeaturesService),l=c.get(u.IModelService).getModel(r);if(!l)return[];const h=yield o(a,l,m.CancellationToken.None);if(!h)return[];for(let S=0;S<Math.min(s,h.links.length);S++)yield h.links[S].resolve(m.CancellationToken.None);const f=h.links.slice(0);return h.dispose(),f}))}),define(te[41],ie([1,0,9]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getConfigurationValue=e.removeFromValueTree=e.addToValueTree=e.toValuesTree=e.IConfigurationService=void 0,e.IConfigurationService=(0,L.createDecorator)("configurationService");function m(C,u){const g=Object.create(null);for(let t in C)k(g,t,C[t],u);return g}e.toValuesTree=m;function k(C,u,g,t){const n=u.split("."),i=n.pop();let o=C;for(let c=0;c<n.length;c++){let d=n[c],r=o[d];switch(typeof r){case"undefined":r=o[d]=Object.create(null);break;case"object":break;default:t(`Ignoring ${u} as ${n.slice(0,c+1).join(".")} is ${JSON.stringify(r)}`);return}o=r}if(typeof o=="object"&&o!==null)try{o[i]=g}catch{t(`Ignoring ${u} as ${n.join(".")} is ${JSON.stringify(o)}`)}else t(`Ignoring ${u} as ${n.join(".")} is ${JSON.stringify(o)}`)}e.addToValueTree=k;function I(C,u){const g=u.split(".");w(C,g)}e.removeFromValueTree=I;function w(C,u){const g=u.shift();if(u.length===0){delete C[g];return}if(Object.keys(C).indexOf(g)!==-1){const t=C[g];typeof t=="object"&&!Array.isArray(t)&&(w(t,u),Object.keys(t).length===0&&delete C[g])}}function b(C,u,g){function t(o,c){let d=o;for(const r of c){if(typeof d!="object"||d===null)return;d=d[r]}return d}const n=u.split("."),i=t(C,n);return typeof i=="undefined"?g:i}e.getConfigurationValue=b});var pe=this&&this.__param||function(q,e){return function(L,m){e(L,m,q)}};define(te[33],ie([1,0,4,2,8,121,122,123,415,419,416,418,183,9,41,35,52]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ResolvedLanguageConfiguration=e.LanguageConfigurationRegistry=e.LanguageConfigurationRegistryImpl=e.LanguageConfigurationChangeEvent=e.LanguageConfigurationService=e.ILanguageConfigurationService=e.LanguageConfigurationServiceChangeEvent=void 0;class r{constructor(D){this.languageId=D}affects(D){return this.languageId?this.languageId===D:!0}}e.LanguageConfigurationServiceChangeEvent=r,e.ILanguageConfigurationService=(0,i.createDecorator)("languageConfigurationService");let s=class extends m.Disposable{constructor(D,M){super();this.configurationService=D,this.languageService=M,this.onDidChangeEmitter=this._register(new L.Emitter),this.onDidChange=this.onDidChangeEmitter.event,this.configurations=new Map;const B=new Set(Object.values(l));this._register(this.configurationService.onDidChangeConfiguration(O=>{const T=O.change.keys.some(P=>B.has(P)),A=O.change.overrides.filter(([P,F])=>F.some(W=>B.has(W))).map(([P])=>P);if(T)this.configurations.clear(),this.onDidChangeEmitter.fire(new r(void 0));else for(const P of A)this.languageService.isRegisteredLanguageId(P)&&(this.configurations.delete(P),this.onDidChangeEmitter.fire(new r(P)))})),this._register(e.LanguageConfigurationRegistry.onDidChange(O=>{this.configurations.delete(O.languageId),this.onDidChangeEmitter.fire(new r(O.languageId))}))}getLanguageConfiguration(D){let M=this.configurations.get(D);return M||(M=a(D,this.configurationService,this.languageService),this.configurations.set(D,M)),M}};s=Ie([pe(0,o.IConfigurationService),pe(1,c.ILanguageService)],s),e.LanguageConfigurationService=s;function a(N,D,M){let B=e.LanguageConfigurationRegistry.getLanguageConfiguration(N);if(!B){if(!M.isRegisteredLanguageId(N))throw new Error(`Language id "${N}" is not configured nor known`);B=new E(N,{})}const O=h(B.languageId,D),T=_([B.underlyingConfig,O]);return new E(B.languageId,T)}const l={brackets:"editor.language.brackets",colorizedBracketPairs:"editor.language.colorizedBracketPairs"};function h(N,D){const M=D.getValue(l.brackets,{overrideIdentifier:N}),B=D.getValue(l.colorizedBracketPairs,{overrideIdentifier:N});return{brackets:f(M),colorizedBracketPairs:f(B)}}function f(N){if(!!Array.isArray(N))return N.map(D=>{if(!(!Array.isArray(D)||D.length!==2))return[D[0],D[1]]}).filter(D=>!!D)}class S{constructor(D){this.languageId=D}}e.LanguageConfigurationChangeEvent=S;class v{constructor(){this._entries=new Map,this._onDidChange=new L.Emitter,this.onDidChange=this._onDidChange.event}register(D,M,B=0){let O=this._entries.get(D);O||(O=new p(D),this._entries.set(D,O));const T=O.register(M,B);return this._onDidChange.fire(new S(D)),(0,m.toDisposable)(()=>{T.dispose(),this._onDidChange.fire(new S(D))})}getLanguageConfiguration(D){const M=this._entries.get(D);return(M==null?void 0:M.getResolvedConfiguration())||null}getComments(D){const M=this.getLanguageConfiguration(D);return M&&M.comments||null}getIndentRulesSupport(D){const M=this.getLanguageConfiguration(D);return M&&M.indentRulesSupport||null}getPrecedingValidLine(D,M,B){const O=D.getLanguageIdAtPosition(M,0);if(M>1){let T,A=-1;for(T=M-1;T>=1;T--){if(D.getLanguageIdAtPosition(T,0)!==O)return A;const P=D.getLineContent(T);if(B.shouldIgnore(P)||/^\s+$/.test(P)||P===""){A=T;continue}return T}}return-1}getInheritIndentForLine(D,M,B,O=!0){if(D<4)return null;const T=this.getIndentRulesSupport(M.getLanguageId());if(!T)return null;if(B<=1)return{indentation:"",action:null};const A=this.getPrecedingValidLine(M,B,T);if(A<0)return null;if(A<1)return{indentation:"",action:null};const P=M.getLineContent(A);if(T.shouldIncrease(P)||T.shouldIndentNextLine(P))return{indentation:k.getLeadingWhitespace(P),action:w.IndentAction.Indent,line:A};if(T.shouldDecrease(P))return{indentation:k.getLeadingWhitespace(P),action:null,line:A};{if(A===1)return{indentation:k.getLeadingWhitespace(M.getLineContent(A)),action:null,line:A};const F=A-1,W=T.getIndentMetadata(M.getLineContent(F));if(!(W&(1|2))&&W&4){let R=0;for(let z=F-1;z>0;z--)if(!T.shouldIndentNextLine(M.getLineContent(z))){R=z;break}return{indentation:k.getLeadingWhitespace(M.getLineContent(R+1)),action:null,line:R+1}}if(O)return{indentation:k.getLeadingWhitespace(M.getLineContent(A)),action:null,line:A};for(let R=A;R>0;R--){const z=M.getLineContent(R);if(T.shouldIncrease(z))return{indentation:k.getLeadingWhitespace(z),action:w.IndentAction.Indent,line:R};if(T.shouldIndentNextLine(z)){let j=0;for(let $=R-1;$>0;$--)if(!T.shouldIndentNextLine(M.getLineContent(R))){j=$;break}return{indentation:k.getLeadingWhitespace(M.getLineContent(j+1)),action:null,line:j+1}}else if(T.shouldDecrease(z))return{indentation:k.getLeadingWhitespace(z),action:null,line:R}}return{indentation:k.getLeadingWhitespace(M.getLineContent(1)),action:null,line:1}}}getGoodIndentForLine(D,M,B,O,T){if(D<4)return null;const A=this.getLanguageConfiguration(B);if(!A)return null;const P=this.getIndentRulesSupport(B);if(!P)return null;const F=this.getInheritIndentForLine(D,M,O),W=M.getLineContent(O);if(F){const R=F.line;if(R!==void 0){const z=A.onEnter(D,"",M.getLineContent(R),"");if(z){let j=k.getLeadingWhitespace(M.getLineContent(R));return z.removeText&&(j=j.substring(0,j.length-z.removeText)),z.indentAction===w.IndentAction.Indent||z.indentAction===w.IndentAction.IndentOutdent?j=T.shiftIndent(j):z.indentAction===w.IndentAction.Outdent&&(j=T.unshiftIndent(j)),P.shouldDecrease(W)&&(j=T.unshiftIndent(j)),z.appendText&&(j+=z.appendText),k.getLeadingWhitespace(j)}}return P.shouldDecrease(W)?F.action===w.IndentAction.Indent?F.indentation:T.unshiftIndent(F.indentation):F.action===w.IndentAction.Indent?T.shiftIndent(F.indentation):F.indentation}return null}getIndentForEnter(D,M,B,O){if(D<4)return null;M.forceTokenization(B.startLineNumber);const T=M.getLineTokens(B.startLineNumber),A=(0,b.createScopedLineTokens)(T,B.startColumn-1),P=A.getLineContent();let F=!1,W;A.firstCharOffset>0&&T.getLanguageId(0)!==A.languageId?(F=!0,W=P.substr(0,B.startColumn-1-A.firstCharOffset)):W=T.getLineContent().substring(0,B.startColumn-1);let R;B.isEmpty()?R=P.substr(B.startColumn-1-A.firstCharOffset):R=this.getScopedLineTokens(M,B.endLineNumber,B.endColumn).getLineContent().substr(B.endColumn-1-A.firstCharOffset);const z=this.getIndentRulesSupport(A.languageId);if(!z)return null;const j=W,$=k.getLeadingWhitespace(W),G={getLineTokens:Z=>M.getLineTokens(Z),getLanguageId:()=>M.getLanguageId(),getLanguageIdAtPosition:(Z,V)=>M.getLanguageIdAtPosition(Z,V),getLineContent:Z=>Z===B.startLineNumber?j:M.getLineContent(Z)},J=k.getLeadingWhitespace(T.getLineContent()),re=this.getInheritIndentForLine(D,G,B.startLineNumber+1);if(!re){const Z=F?J:$;return{beforeEnter:Z,afterEnter:Z}}let se=F?J:re.indentation;return re.action===w.IndentAction.Indent&&(se=O.shiftIndent(se)),z.shouldDecrease(R)&&(se=O.unshiftIndent(se)),{beforeEnter:F?J:$,afterEnter:se}}getIndentActionForType(D,M,B,O,T){if(D<4)return null;const A=this.getScopedLineTokens(M,B.startLineNumber,B.startColumn);if(A.firstCharOffset)return null;const P=this.getIndentRulesSupport(A.languageId);if(!P)return null;const F=A.getLineContent(),W=F.substr(0,B.startColumn-1-A.firstCharOffset);let R;if(B.isEmpty()?R=F.substr(B.startColumn-1-A.firstCharOffset):R=this.getScopedLineTokens(M,B.endLineNumber,B.endColumn).getLineContent().substr(B.endColumn-1-A.firstCharOffset),!P.shouldDecrease(W+R)&&P.shouldDecrease(W+O+R)){const z=this.getInheritIndentForLine(D,M,B.startLineNumber,!1);if(!z)return null;let j=z.indentation;return z.action!==w.IndentAction.Indent&&(j=T.unshiftIndent(j)),j}return null}getIndentMetadata(D,M){const B=this.getIndentRulesSupport(D.getLanguageId());return!B||M<1||M>D.getLineCount()?null:B.getIndentMetadata(D.getLineContent(M))}getEnterAction(D,M,B){const O=this.getScopedLineTokens(M,B.startLineNumber,B.startColumn),T=this.getLanguageConfiguration(O.languageId);if(!T)return null;const A=O.getLineContent(),P=A.substr(0,B.startColumn-1-O.firstCharOffset);let F;B.isEmpty()?F=A.substr(B.startColumn-1-O.firstCharOffset):F=this.getScopedLineTokens(M,B.endLineNumber,B.endColumn).getLineContent().substr(B.endColumn-1-O.firstCharOffset);let W="";if(B.startLineNumber>1&&O.firstCharOffset===0){const J=this.getScopedLineTokens(M,B.startLineNumber-1);J.languageId===O.languageId&&(W=J.getLineContent())}const R=T.onEnter(D,W,P,F);if(!R)return null;const z=R.indentAction;let j=R.appendText;const $=R.removeText||0;j?z===w.IndentAction.Indent&&(j="	"+j):z===w.IndentAction.Indent||z===w.IndentAction.IndentOutdent?j="	":j="";let G=this.getIndentationAtPosition(M,B.startLineNumber,B.startColumn);return $&&(G=G.substring(0,G.length-$)),{indentAction:z,appendText:j,removeText:$,indentation:G}}getIndentationAtPosition(D,M,B){const O=D.getLineContent(M);let T=k.getLeadingWhitespace(O);return T.length>B-1&&(T=T.substring(0,B-1)),T}getScopedLineTokens(D,M,B){D.forceTokenization(M);const O=D.getLineTokens(M),T=typeof B=="undefined"?D.getLineMaxColumn(M)-1:B-1;return(0,b.createScopedLineTokens)(O,T)}}e.LanguageConfigurationRegistryImpl=v,e.LanguageConfigurationRegistry=new v;class p{constructor(D){this.languageId=D,this._resolved=null,this._entries=[],this._order=0,this._resolved=null}register(D,M){const B=new y(D,M,++this._order);return this._entries.push(B),this._resolved=null,(0,m.toDisposable)(()=>{for(let O=0;O<this._entries.length;O++)if(this._entries[O]===B){this._entries.splice(O,1),this._resolved=null;break}})}getResolvedConfiguration(){if(!this._resolved){const D=this._resolve();D&&(this._resolved=new E(this.languageId,D))}return this._resolved}_resolve(){return this._entries.length===0?null:(this._entries.sort(y.cmp),_(this._entries.map(D=>D.configuration)))}}function _(N){let D={comments:void 0,brackets:void 0,wordPattern:void 0,indentationRules:void 0,onEnterRules:void 0,autoClosingPairs:void 0,surroundingPairs:void 0,autoCloseBefore:void 0,folding:void 0,colorizedBracketPairs:void 0,__electricCharacterSupport:void 0};for(const M of N)D={comments:M.comments||D.comments,brackets:M.brackets||D.brackets,wordPattern:M.wordPattern||D.wordPattern,indentationRules:M.indentationRules||D.indentationRules,onEnterRules:M.onEnterRules||D.onEnterRules,autoClosingPairs:M.autoClosingPairs||D.autoClosingPairs,surroundingPairs:M.surroundingPairs||D.surroundingPairs,autoCloseBefore:M.autoCloseBefore||D.autoCloseBefore,folding:M.folding||D.folding,colorizedBracketPairs:M.colorizedBracketPairs||D.colorizedBracketPairs,__electricCharacterSupport:M.__electricCharacterSupport||D.__electricCharacterSupport};return D}class y{constructor(D,M,B){this.configuration=D,this.priority=M,this.order=B}static cmp(D,M){return D.priority===M.priority?D.order-M.order:D.priority-M.priority}}class E{constructor(D,M){this.languageId=D,this.underlyingConfig=M,this._brackets=null,this._electricCharacter=null,this._onEnterSupport=this.underlyingConfig.brackets||this.underlyingConfig.indentationRules||this.underlyingConfig.onEnterRules?new t.OnEnterSupport(this.underlyingConfig):null,this.comments=E._handleComments(this.underlyingConfig),this.characterPair=new C.CharacterPairSupport(this.underlyingConfig),this.wordDefinition=this.underlyingConfig.wordPattern||I.DEFAULT_WORD_REGEXP,this.indentationRules=this.underlyingConfig.indentationRules,this.underlyingConfig.indentationRules?this.indentRulesSupport=new g.IndentRulesSupport(this.underlyingConfig.indentationRules):this.indentRulesSupport=null,this.foldingRules=this.underlyingConfig.folding||{}}getWordDefinition(){return(0,I.ensureValidWordDefinition)(this.wordDefinition)}get brackets(){return!this._brackets&&this.underlyingConfig.brackets&&(this._brackets=new n.RichEditBrackets(this.languageId,this.underlyingConfig.brackets)),this._brackets}get electricCharacter(){return this._electricCharacter||(this._electricCharacter=new u.BracketElectricCharacterSupport(this.brackets)),this._electricCharacter}onEnter(D,M,B,O){return this._onEnterSupport?this._onEnterSupport.onEnter(D,M,B,O):null}getAutoClosingPairs(){return new w.AutoClosingPairs(this.characterPair.getAutoClosingPairs())}getAutoCloseBeforeSet(){return this.characterPair.getAutoCloseBeforeSet()}getSurroundingPairs(){return this.characterPair.getSurroundingPairs()}static _handleComments(D){const M=D.comments;if(!M)return null;const B={};if(M.lineComment&&(B.lineCommentToken=M.lineComment),M.blockComment){const[O,T]=M.blockComment;B.blockCommentStartToken=O,B.blockCommentEndToken=T}return B}}e.ResolvedLanguageConfiguration=E,(0,d.registerSingleton)(e.ILanguageConfigurationService,s)}),define(te[202],ie([1,0,8,70,3,22,33]),function(q,e,L,m,k,I,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ShiftCommand=e.cachedStringRepeat=void 0;const b=Object.create(null);function C(g,t){if(t<=0)return"";b[g]||(b[g]=["",g]);const n=b[g];for(let i=n.length;i<=t;i++)n[i]=n[i-1]+g;return n[t]}e.cachedStringRepeat=C;class u{constructor(t,n){this._opts=n,this._selection=t,this._selectionId=null,this._useLastEditRangeForCursorEndPosition=!1,this._selectionStartColumnStaysPut=!1}static unshiftIndent(t,n,i,o,c){const d=m.CursorColumns.visibleColumnFromColumn(t,n,i);if(c){const r=C(" ",o),a=m.CursorColumns.prevIndentTabStop(d,o)/o;return C(r,a)}else{const r="	",a=m.CursorColumns.prevRenderTabStop(d,i)/i;return C(r,a)}}static shiftIndent(t,n,i,o,c){const d=m.CursorColumns.visibleColumnFromColumn(t,n,i);if(c){const r=C(" ",o),a=m.CursorColumns.nextIndentTabStop(d,o)/o;return C(r,a)}else{const r="	",a=m.CursorColumns.nextRenderTabStop(d,i)/i;return C(r,a)}}_addEditOperation(t,n,i){this._useLastEditRangeForCursorEndPosition?t.addTrackedEditOperation(n,i):t.addEditOperation(n,i)}getEditOperations(t,n){const i=this._selection.startLineNumber;let o=this._selection.endLineNumber;this._selection.endColumn===1&&i!==o&&(o=o-1);const{tabSize:c,indentSize:d,insertSpaces:r}=this._opts,s=i===o;if(this._opts.useTabStops){this._selection.isEmpty()&&/^\s*$/.test(t.getLineContent(i))&&(this._useLastEditRangeForCursorEndPosition=!0);let a=0,l=0;for(let h=i;h<=o;h++,a=l){l=0;const f=t.getLineContent(h);let S=L.firstNonWhitespaceIndex(f);if(this._opts.isUnshift&&(f.length===0||S===0)||!s&&!this._opts.isUnshift&&f.length===0)continue;if(S===-1&&(S=f.length),h>1&&m.CursorColumns.visibleColumnFromColumn(f,S+1,c)%d!=0&&t.isCheapToTokenize(h-1)){const _=w.LanguageConfigurationRegistry.getEnterAction(this._opts.autoIndent,t,new k.Range(h-1,t.getLineMaxColumn(h-1),h-1,t.getLineMaxColumn(h-1)));if(_){if(l=a,_.appendText)for(let y=0,E=_.appendText.length;y<E&&l<d&&_.appendText.charCodeAt(y)===32;y++)l++;_.removeText&&(l=Math.max(0,l-_.removeText));for(let y=0;y<l&&!(S===0||f.charCodeAt(S-1)!==32);y++)S--}}if(this._opts.isUnshift&&S===0)continue;let v;this._opts.isUnshift?v=u.unshiftIndent(f,S+1,c,d,r):v=u.shiftIndent(f,S+1,c,d,r),this._addEditOperation(n,new k.Range(h,1,h,S+1),v),h===i&&!this._selection.isEmpty()&&(this._selectionStartColumnStaysPut=this._selection.startColumn<=S+1)}}else{!this._opts.isUnshift&&this._selection.isEmpty()&&t.getLineLength(i)===0&&(this._useLastEditRangeForCursorEndPosition=!0);const a=r?C(" ",d):"	";for(let l=i;l<=o;l++){const h=t.getLineContent(l);let f=L.firstNonWhitespaceIndex(h);if(!(this._opts.isUnshift&&(h.length===0||f===0))&&!(!s&&!this._opts.isUnshift&&h.length===0)&&(f===-1&&(f=h.length),!(this._opts.isUnshift&&f===0)))if(this._opts.isUnshift){f=Math.min(f,d);for(let S=0;S<f;S++)if(h.charCodeAt(S)===9){f=S+1;break}this._addEditOperation(n,new k.Range(l,1,l,f+1),"")}else this._addEditOperation(n,new k.Range(l,1,l,1),a),l===i&&!this._selection.isEmpty()&&(this._selectionStartColumnStaysPut=this._selection.startColumn===1)}}this._selectionId=n.trackSelection(this._selection)}computeCursorState(t,n){if(this._useLastEditRangeForCursorEndPosition){const o=n.getInverseEditOperations()[0];return new I.Selection(o.range.endLineNumber,o.range.endColumn,o.range.endLineNumber,o.range.endColumn)}const i=n.getTrackedSelection(this._selectionId);if(this._selectionStartColumnStaysPut){const o=this._selection.startColumn;return i.startColumn<=o?i:i.getDirection()===0?new I.Selection(i.startLineNumber,o,i.endLineNumber,i.endColumn):new I.Selection(i.endLineNumber,i.endColumn,i.startLineNumber,o)}return i}}e.ShiftCommand=u}),define(te[203],ie([1,0,13,8,100,202,406,61,120,3,22,11,122,33,123]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeWithAutoClosingCommand=e.TypeOperations=void 0;class c{static indent(f,S,v){if(S===null||v===null)return[];const p=[];for(let _=0,y=v.length;_<y;_++)p[_]=new I.ShiftCommand(v[_],{isUnshift:!1,tabSize:f.tabSize,indentSize:f.indentSize,insertSpaces:f.insertSpaces,useTabStops:f.useTabStops,autoIndent:f.autoIndent});return p}static outdent(f,S,v){const p=[];for(let _=0,y=v.length;_<y;_++)p[_]=new I.ShiftCommand(v[_],{isUnshift:!0,tabSize:f.tabSize,indentSize:f.indentSize,insertSpaces:f.insertSpaces,useTabStops:f.useTabStops,autoIndent:f.autoIndent});return p}static shiftIndent(f,S,v){return v=v||1,I.ShiftCommand.shiftIndent(S,S.length+v,f.tabSize,f.indentSize,f.insertSpaces)}static unshiftIndent(f,S,v){return v=v||1,I.ShiftCommand.unshiftIndent(S,S.length+v,f.tabSize,f.indentSize,f.insertSpaces)}static _distributedPaste(f,S,v,p){const _=[];for(let y=0,E=v.length;y<E;y++)_[y]=new k.ReplaceCommand(v[y],p[y]);return new b.EditOperationResult(0,_,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}static _simplePaste(f,S,v,p,_){const y=[];for(let E=0,N=v.length;E<N;E++){const D=v[E],M=D.getPosition();if(_&&!D.isEmpty()&&(_=!1),_&&p.indexOf(`
+`)!==p.length-1&&(_=!1),_){const B=new u.Range(M.lineNumber,1,M.lineNumber,1);y[E]=new k.ReplaceCommandThatPreservesSelection(B,p,D,!0)}else y[E]=new k.ReplaceCommand(D,p)}return new b.EditOperationResult(0,y,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}static _distributePasteToCursors(f,S,v,p,_){if(p||S.length===1)return null;if(_&&_.length===S.length)return _;if(f.multiCursorPaste==="spread"){v.charCodeAt(v.length-1)===10&&(v=v.substr(0,v.length-1)),v.charCodeAt(v.length-1)===13&&(v=v.substr(0,v.length-1));const y=m.splitLines(v);if(y.length===S.length)return y}return null}static paste(f,S,v,p,_,y){const E=this._distributePasteToCursors(f,v,p,_,y);return E?(v=v.sort(u.Range.compareRangesUsingStarts),this._distributedPaste(f,S,v,E)):this._simplePaste(f,S,v,p,_)}static _goodIndentForLine(f,S,v){let p=null,_="";const y=i.LanguageConfigurationRegistry.getInheritIndentForLine(f.autoIndent,S,v,!1);if(y)p=y.action,_=y.indentation;else if(v>1){let E;for(E=v-1;E>=1;E--){const M=S.getLineContent(E);if(m.lastNonWhitespaceIndex(M)>=0)break}if(E<1)return null;const N=S.getLineMaxColumn(E),D=i.LanguageConfigurationRegistry.getEnterAction(f.autoIndent,S,new u.Range(E,N,E,N));D&&(_=D.indentation+D.appendText)}return p&&(p===n.IndentAction.Indent&&(_=c.shiftIndent(f,_)),p===n.IndentAction.Outdent&&(_=c.unshiftIndent(f,_)),_=f.normalizeIndentation(_)),_||null}static _replaceJumpToNextIndent(f,S,v,p){let _="";const y=v.getStartPosition();if(f.insertSpaces){const E=f.visibleColumnFromColumn(S,y),N=f.indentSize,D=N-E%N;for(let M=0;M<D;M++)_+=" "}else _="	";return new k.ReplaceCommand(v,_,p)}static tab(f,S,v){const p=[];for(let _=0,y=v.length;_<y;_++){const E=v[_];if(E.isEmpty()){const N=S.getLineContent(E.startLineNumber);if(/^\s*$/.test(N)&&S.isCheapToTokenize(E.startLineNumber)){let D=this._goodIndentForLine(f,S,E.startLineNumber);D=D||"	";const M=f.normalizeIndentation(D);if(!N.startsWith(M)){p[_]=new k.ReplaceCommand(new u.Range(E.startLineNumber,1,E.startLineNumber,N.length+1),M,!0);continue}}p[_]=this._replaceJumpToNextIndent(f,S,E,!0)}else{if(E.startLineNumber===E.endLineNumber){const N=S.getLineMaxColumn(E.startLineNumber);if(E.startColumn!==1||E.endColumn!==N){p[_]=this._replaceJumpToNextIndent(f,S,E,!1);continue}}p[_]=new I.ShiftCommand(E,{isUnshift:!1,tabSize:f.tabSize,indentSize:f.indentSize,insertSpaces:f.insertSpaces,useTabStops:f.useTabStops,autoIndent:f.autoIndent})}}return p}static compositionType(f,S,v,p,_,y,E,N){const D=p.map(M=>this._compositionType(v,M,_,y,E,N));return new b.EditOperationResult(4,D,{shouldPushStackElementBefore:s(f,4),shouldPushStackElementAfter:!1})}static _compositionType(f,S,v,p,_,y){if(!S.isEmpty())return null;const E=S.getPosition(),N=Math.max(1,E.column-p),D=Math.min(f.getLineMaxColumn(E.lineNumber),E.column+_),M=new u.Range(E.lineNumber,N,E.lineNumber,D);return f.getValueInRange(M)===v&&y===0?null:new k.ReplaceCommandWithOffsetCursorState(M,v,0,y)}static _typeCommand(f,S,v){return v?new k.ReplaceCommandWithoutChangingPosition(f,S,!0):new k.ReplaceCommand(f,S,!0)}static _enter(f,S,v,p){if(f.autoIndent===0)return c._typeCommand(p,`
+`,v);if(!S.isCheapToTokenize(p.getStartPosition().lineNumber)||f.autoIndent===1){const N=S.getLineContent(p.startLineNumber),D=m.getLeadingWhitespace(N).substring(0,p.startColumn-1);return c._typeCommand(p,`
+`+f.normalizeIndentation(D),v)}const _=i.LanguageConfigurationRegistry.getEnterAction(f.autoIndent,S,p);if(_){if(_.indentAction===n.IndentAction.None)return c._typeCommand(p,`
+`+f.normalizeIndentation(_.indentation+_.appendText),v);if(_.indentAction===n.IndentAction.Indent)return c._typeCommand(p,`
+`+f.normalizeIndentation(_.indentation+_.appendText),v);if(_.indentAction===n.IndentAction.IndentOutdent){const N=f.normalizeIndentation(_.indentation),D=f.normalizeIndentation(_.indentation+_.appendText),M=`
+`+D+`
+`+N;return v?new k.ReplaceCommandWithoutChangingPosition(p,M,!0):new k.ReplaceCommandWithOffsetCursorState(p,M,-1,D.length-N.length,!0)}else if(_.indentAction===n.IndentAction.Outdent){const N=c.unshiftIndent(f,_.indentation);return c._typeCommand(p,`
+`+f.normalizeIndentation(N+_.appendText),v)}}const y=S.getLineContent(p.startLineNumber),E=m.getLeadingWhitespace(y).substring(0,p.startColumn-1);if(f.autoIndent>=4){const N=i.LanguageConfigurationRegistry.getIndentForEnter(f.autoIndent,S,p,{unshiftIndent:D=>c.unshiftIndent(f,D),shiftIndent:D=>c.shiftIndent(f,D),normalizeIndentation:D=>f.normalizeIndentation(D)});if(N){let D=f.visibleColumnFromColumn(S,p.getEndPosition());const M=p.endColumn,B=S.getLineContent(p.endLineNumber),O=m.firstNonWhitespaceIndex(B);if(O>=0?p=p.setEndPosition(p.endLineNumber,Math.max(p.endColumn,O+1)):p=p.setEndPosition(p.endLineNumber,S.getLineMaxColumn(p.endLineNumber)),v)return new k.ReplaceCommandWithoutChangingPosition(p,`
+`+f.normalizeIndentation(N.afterEnter),!0);{let T=0;return M<=O+1&&(f.insertSpaces||(D=Math.ceil(D/f.indentSize)),T=Math.min(D+1-f.normalizeIndentation(N.afterEnter).length-1,0)),new k.ReplaceCommandWithOffsetCursorState(p,`
+`+f.normalizeIndentation(N.afterEnter),0,T,!0)}}}return c._typeCommand(p,`
+`+f.normalizeIndentation(E),v)}static _isAutoIndentType(f,S,v){if(f.autoIndent<4)return!1;for(let p=0,_=v.length;p<_;p++)if(!S.isCheapToTokenize(v[p].getEndPosition().lineNumber))return!1;return!0}static _runAutoIndentType(f,S,v,p){const _=i.LanguageConfigurationRegistry.getIndentationAtPosition(S,v.startLineNumber,v.startColumn),y=i.LanguageConfigurationRegistry.getIndentActionForType(f.autoIndent,S,v,p,{shiftIndent:E=>c.shiftIndent(f,E),unshiftIndent:E=>c.unshiftIndent(f,E)});if(y===null)return null;if(y!==f.normalizeIndentation(_)){const E=S.getLineFirstNonWhitespaceColumn(v.startLineNumber);return E===0?c._typeCommand(new u.Range(v.startLineNumber,1,v.endLineNumber,v.endColumn),f.normalizeIndentation(y)+p,!1):c._typeCommand(new u.Range(v.startLineNumber,1,v.endLineNumber,v.endColumn),f.normalizeIndentation(y)+S.getLineContent(v.startLineNumber).substring(E-1,v.startColumn-1)+p,!1)}return null}static _isAutoClosingOvertype(f,S,v,p,_){if(f.autoClosingOvertype==="never"||!f.autoClosingPairs.autoClosingPairsCloseSingleChar.has(_))return!1;for(let y=0,E=v.length;y<E;y++){const N=v[y];if(!N.isEmpty())return!1;const D=N.getPosition(),M=S.getLineContent(D.lineNumber);if(M.charAt(D.column-1)!==_)return!1;const O=(0,b.isQuote)(_);if((D.column>2?M.charCodeAt(D.column-2):0)===92&&O)return!1;if(f.autoClosingOvertype==="auto"){let A=!1;for(let P=0,F=p.length;P<F;P++){const W=p[P];if(D.lineNumber===W.startLineNumber&&D.column===W.startColumn){A=!0;break}}if(!A)return!1}}return!0}static _runAutoClosingOvertype(f,S,v,p,_){const y=[];for(let E=0,N=p.length;E<N;E++){const M=p[E].getPosition(),B=new u.Range(M.lineNumber,M.column,M.lineNumber,M.column+1);y[E]=new k.ReplaceCommand(B,_)}return new b.EditOperationResult(4,y,{shouldPushStackElementBefore:s(f,4),shouldPushStackElementAfter:!1})}static _isBeforeClosingBrace(f,S){const v=S.charAt(0),p=f.autoClosingPairs.autoClosingPairsOpenByStart.get(v)||[],_=f.autoClosingPairs.autoClosingPairsCloseByStart.get(v)||[],y=p.some(N=>S.startsWith(N.open)),E=_.some(N=>S.startsWith(N.close));return!y&&E}static _findAutoClosingPairOpen(f,S,v,p){const _=f.autoClosingPairs.autoClosingPairsOpenByEnd.get(p);if(!_)return null;let y=null;for(const E of _)if(y===null||E.open.length>y.open.length){let N=!0;for(const D of v)if(S.getValueInRange(new u.Range(D.lineNumber,D.column-E.open.length+1,D.lineNumber,D.column))+p!==E.open){N=!1;break}N&&(y=E)}return y}static _findContainedAutoClosingPair(f,S){if(S.open.length<=1)return null;const v=S.close.charAt(S.close.length-1),p=f.autoClosingPairs.autoClosingPairsCloseByEnd.get(v)||[];let _=null;for(const y of p)y.open!==S.open&&S.open.includes(y.open)&&S.close.endsWith(y.close)&&(!_||y.open.length>_.open.length)&&(_=y);return _}static _getAutoClosingPairClose(f,S,v,p,_){const y=(0,b.isQuote)(p),E=y?f.autoClosingQuotes:f.autoClosingBrackets,N=y?f.shouldAutoCloseBefore.quote:f.shouldAutoCloseBefore.bracket;if(E==="never")return null;for(const A of v)if(!A.isEmpty())return null;const D=v.map(A=>{const P=A.getPosition();return _?{lineNumber:P.lineNumber,beforeColumn:P.column-p.length,afterColumn:P.column}:{lineNumber:P.lineNumber,beforeColumn:P.column,afterColumn:P.column}}),M=this._findAutoClosingPairOpen(f,S,D.map(A=>new t.Position(A.lineNumber,A.beforeColumn)),p);if(!M)return null;const B=this._findContainedAutoClosingPair(f,M),O=B?B.close:"";let T=!0;for(const A of D){const{lineNumber:P,beforeColumn:F,afterColumn:W}=A,R=S.getLineContent(P),z=R.substring(0,F-1),j=R.substring(W-1);if(j.startsWith(O)||(T=!1),j.length>0){const re=j.charAt(0);if(!c._isBeforeClosingBrace(f,j)&&!N(re))return null}if(M.open.length===1&&(p==="'"||p==='"')&&E!=="always"){const re=(0,C.getMapForWordSeparators)(f.wordSeparators);if(z.length>0){const se=z.charCodeAt(z.length-1);if(re.get(se)===0)return null}}if(!S.isCheapToTokenize(P))return null;S.forceTokenization(P);const $=S.getLineTokens(P),G=(0,o.createScopedLineTokens)($,F-1);if(!M.shouldAutoClose(G,F-G.firstCharOffset))return null;const J=M.findNeutralCharacter();if(J){const re=S.getTokenTypeIfInsertingCharacter(P,F,J);if(!M.isOK(re))return null}}return T?M.close.substring(0,M.close.length-O.length):M.close}static _runAutoClosingOpenCharType(f,S,v,p,_,y,E){const N=[];for(let D=0,M=p.length;D<M;D++){const B=p[D];N[D]=new d(B,_,!y,E)}return new b.EditOperationResult(4,N,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}static _shouldSurroundChar(f,S){return(0,b.isQuote)(S)?f.autoSurround==="quotes"||f.autoSurround==="languageDefined":f.autoSurround==="brackets"||f.autoSurround==="languageDefined"}static _isSurroundSelectionType(f,S,v,p){if(!c._shouldSurroundChar(f,p)||!f.surroundingPairs.hasOwnProperty(p))return!1;const _=(0,b.isQuote)(p);for(let y=0,E=v.length;y<E;y++){const N=v[y];if(N.isEmpty())return!1;let D=!0;for(let M=N.startLineNumber;M<=N.endLineNumber;M++){const B=S.getLineContent(M),O=M===N.startLineNumber?N.startColumn-1:0,T=M===N.endLineNumber?N.endColumn-1:B.length,A=B.substring(O,T);if(/[^ \t]/.test(A)){D=!1;break}}if(D)return!1;if(_&&N.startLineNumber===N.endLineNumber&&N.startColumn+1===N.endColumn){const M=S.getValueInRange(N);if((0,b.isQuote)(M))return!1}}return!0}static _runSurroundSelectionType(f,S,v,p,_){const y=[];for(let E=0,N=p.length;E<N;E++){const D=p[E],M=S.surroundingPairs[_];y[E]=new w.SurroundSelectionCommand(D,_,M)}return new b.EditOperationResult(0,y,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}static _isTypeInterceptorElectricChar(f,S,v){return!!(v.length===1&&S.isCheapToTokenize(v[0].getEndPosition().lineNumber))}static _typeInterceptorElectricChar(f,S,v,p,_){if(!S.electricChars.hasOwnProperty(_)||!p.isEmpty())return null;const y=p.getPosition();v.forceTokenization(y.lineNumber);const E=v.getLineTokens(y.lineNumber);let N;try{N=S.onElectricCharacter(_,E,y.column)}catch(D){return(0,L.onUnexpectedError)(D),null}if(!N)return null;if(N.matchOpenBracket){const D=(E.getLineContent()+_).lastIndexOf(N.matchOpenBracket)+1,M=v.bracketPairs.findMatchingBracketUp(N.matchOpenBracket,{lineNumber:y.lineNumber,column:D},500);if(M){if(M.startLineNumber===y.lineNumber)return null;const B=v.getLineContent(M.startLineNumber),O=m.getLeadingWhitespace(B),T=S.normalizeIndentation(O),A=v.getLineContent(y.lineNumber),P=v.getLineFirstNonWhitespaceColumn(y.lineNumber)||y.column,F=A.substring(P-1,y.column-1),W=T+F+_,R=new u.Range(y.lineNumber,1,y.lineNumber,y.column),z=new k.ReplaceCommand(R,W);return new b.EditOperationResult(r(W,f),[z],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!0})}}return null}static compositionEndWithInterceptors(f,S,v,p,_,y){if(!p||g.Selection.selectionsArrEqual(p,_))return null;let E=null;for(const D of _){if(!D.isEmpty())return null;const M=D.getPosition(),B=v.getValueInRange(new u.Range(M.lineNumber,M.column-1,M.lineNumber,M.column));if(E===null)E=B;else if(E!==B)return null}if(!E)return null;if(this._isAutoClosingOvertype(S,v,_,y,E)){const D=_.map(M=>new k.ReplaceCommand(new u.Range(M.positionLineNumber,M.positionColumn,M.positionLineNumber,M.positionColumn+1),"",!1));return new b.EditOperationResult(4,D,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}const N=this._getAutoClosingPairClose(S,v,_,E,!0);return N!==null?this._runAutoClosingOpenCharType(f,S,v,_,E,!0,N):null}static typeWithInterceptors(f,S,v,p,_,y,E){if(!f&&E===`
+`){const M=[];for(let B=0,O=_.length;B<O;B++)M[B]=c._enter(v,p,!1,_[B]);return new b.EditOperationResult(4,M,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}if(!f&&this._isAutoIndentType(v,p,_)){const M=[];let B=!1;for(let O=0,T=_.length;O<T;O++)if(M[O]=this._runAutoIndentType(v,p,_[O],E),!M[O]){B=!0;break}if(!B)return new b.EditOperationResult(4,M,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}if(!f&&this._isAutoClosingOvertype(v,p,_,y,E))return this._runAutoClosingOvertype(S,v,p,_,E);if(!f){const M=this._getAutoClosingPairClose(v,p,_,E,!1);if(M)return this._runAutoClosingOpenCharType(S,v,p,_,E,!1,M)}if(this._isSurroundSelectionType(v,p,_,E))return this._runSurroundSelectionType(S,v,p,_,E);if(!f&&this._isTypeInterceptorElectricChar(v,p,_)){const M=this._typeInterceptorElectricChar(S,v,p,_[0],E);if(M)return M}const N=[];for(let M=0,B=_.length;M<B;M++)N[M]=new k.ReplaceCommand(_[M],E);const D=r(E,S);return new b.EditOperationResult(D,N,{shouldPushStackElementBefore:s(S,D),shouldPushStackElementAfter:!1})}static typeWithoutInterceptors(f,S,v,p,_){const y=[];for(let N=0,D=p.length;N<D;N++)y[N]=new k.ReplaceCommand(p[N],_);const E=r(_,f);return new b.EditOperationResult(E,y,{shouldPushStackElementBefore:s(f,E),shouldPushStackElementAfter:!1})}static lineInsertBefore(f,S,v){if(S===null||v===null)return[];const p=[];for(let _=0,y=v.length;_<y;_++){let E=v[_].positionLineNumber;if(E===1)p[_]=new k.ReplaceCommandWithoutChangingPosition(new u.Range(1,1,1,1),`
+`);else{E--;const N=S.getLineMaxColumn(E);p[_]=this._enter(f,S,!1,new u.Range(E,N,E,N))}}return p}static lineInsertAfter(f,S,v){if(S===null||v===null)return[];const p=[];for(let _=0,y=v.length;_<y;_++){const E=v[_].positionLineNumber,N=S.getLineMaxColumn(E);p[_]=this._enter(f,S,!1,new u.Range(E,N,E,N))}return p}static lineBreakInsert(f,S,v){const p=[];for(let _=0,y=v.length;_<y;_++)p[_]=this._enter(f,S,!0,v[_]);return p}}e.TypeOperations=c;class d extends k.ReplaceCommandWithOffsetCursorState{constructor(f,S,v,p){super(f,(v?S:"")+p,0,-p.length);this._openCharacter=S,this._closeCharacter=p,this.closeCharacterRange=null,this.enclosingRange=null}computeCursorState(f,S){const p=S.getInverseEditOperations()[0].range;return this.closeCharacterRange=new u.Range(p.startLineNumber,p.endColumn-this._closeCharacter.length,p.endLineNumber,p.endColumn),this.enclosingRange=new u.Range(p.startLineNumber,p.endColumn-this._openCharacter.length-this._closeCharacter.length,p.endLineNumber,p.endColumn),super.computeCursorState(f,S)}}e.TypeWithAutoClosingCommand=d;function r(h,f){return h===" "?f===5||f===6?6:5:4}function s(h,f){return l(h)&&!l(f)?!0:h===5?!1:a(h)!==a(f)}function a(h){return h===6||h===5?"space":h}function l(h){return h===4||h===5||h===6}}),define(te[277],ie([1,0,13,8,414,61,407,181,203,3,22,94,189,2,190]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CursorsController=void 0;class c extends i.Disposable{constructor(l,h,f,S){super();this._model=l,this._knownModelVersionId=this._model.getVersionId(),this._viewModel=h,this._coordinatesConverter=f,this.context=new w.CursorContext(this._model,this._viewModel,this._coordinatesConverter,S),this._cursors=new k.CursorCollection(this.context),this._hasFocus=!1,this._isHandling=!1,this._isDoingComposition=!1,this._selectionsWhenCompositionStarted=null,this._columnSelectData=null,this._autoClosedActions=[],this._prevEditOperationType=0}dispose(){this._cursors.dispose(),this._autoClosedActions=(0,i.dispose)(this._autoClosedActions),super.dispose()}updateConfiguration(l){this.context=new w.CursorContext(this._model,this._viewModel,this._coordinatesConverter,l),this._cursors.updateContext(this.context)}onLineMappingChanged(l){this._knownModelVersionId===this._model.getVersionId()&&this.setStates(l,"viewModel",0,this.getCursorStates())}setHasFocus(l){this._hasFocus=l}_validateAutoClosedActions(){if(this._autoClosedActions.length>0){const l=this._cursors.getSelections();for(let h=0;h<this._autoClosedActions.length;h++){const f=this._autoClosedActions[h];f.isValid(l)||(f.dispose(),this._autoClosedActions.splice(h,1),h--)}}}getPrimaryCursorState(){return this._cursors.getPrimaryCursor()}getLastAddedCursorIndex(){return this._cursors.getLastAddedCursorIndex()}getCursorStates(){return this._cursors.getAll()}setStates(l,h,f,S){let v=!1;S!==null&&S.length>c.MAX_CURSOR_COUNT&&(S=S.slice(0,c.MAX_CURSOR_COUNT),v=!0);const p=d.from(this._model,this);return this._cursors.setStates(S),this._cursors.normalize(),this._columnSelectData=null,this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(l,h,f,p,v)}setCursorColumnSelectData(l){this._columnSelectData=l}revealPrimary(l,h,f,S,v,p){const _=this._cursors.getViewPositions();let y=null,E=null;_.length>1?E=this._cursors.getViewSelections():y=u.Range.fromPositions(_[0],_[0]),l.emitViewEvent(new n.ViewRevealRangeRequestEvent(h,f,y,E,S,v,p))}saveState(){const l=[],h=this._cursors.getSelections();for(let f=0,S=h.length;f<S;f++){const v=h[f];l.push({inSelectionMode:!v.isEmpty(),selectionStart:{lineNumber:v.selectionStartLineNumber,column:v.selectionStartColumn},position:{lineNumber:v.positionLineNumber,column:v.positionColumn}})}return l}restoreState(l,h){const f=[];for(let S=0,v=h.length;S<v;S++){const p=h[S];let _=1,y=1;p.position&&p.position.lineNumber&&(_=p.position.lineNumber),p.position&&p.position.column&&(y=p.position.column);let E=_,N=y;p.selectionStart&&p.selectionStart.lineNumber&&(E=p.selectionStart.lineNumber),p.selectionStart&&p.selectionStart.column&&(N=p.selectionStart.column),f.push({selectionStartLineNumber:E,selectionStartColumn:N,positionLineNumber:_,positionColumn:y})}this.setStates(l,"restoreState",0,I.CursorState.fromModelSelections(f)),this.revealPrimary(l,"restoreState",!1,0,!0,1)}onModelContentChanged(l,h){if(h instanceof t.ModelInjectedTextChangedEvent){if(this._isHandling)return;this._isHandling=!0;try{this.setStates(l,"modelChange",0,this.getCursorStates())}finally{this._isHandling=!1}}else{if(this._knownModelVersionId=h.versionId,this._isHandling)return;const f=h.containsEvent(1);if(this._prevEditOperationType=0,f)this._cursors.dispose(),this._cursors=new k.CursorCollection(this.context),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(l,"model",1,null,!1);else if(this._hasFocus&&h.resultingSelection&&h.resultingSelection.length>0){const S=I.CursorState.fromModelSelections(h.resultingSelection);this.setStates(l,"modelChange",h.isUndoing?5:h.isRedoing?6:2,S)&&this.revealPrimary(l,"modelChange",!1,0,!0,0)}else{const S=this._cursors.readSelectionFromMarkers();this.setStates(l,"modelChange",2,I.CursorState.fromModelSelections(S))}}}getSelection(){return this._cursors.getPrimaryCursor().modelState.selection}getTopMostViewPosition(){return this._cursors.getTopMostViewPosition()}getBottomMostViewPosition(){return this._cursors.getBottomMostViewPosition()}getCursorColumnSelectData(){if(this._columnSelectData)return this._columnSelectData;const l=this._cursors.getPrimaryCursor(),h=l.viewState.selectionStart.getStartPosition(),f=l.viewState.position;return{isReal:!1,fromViewLineNumber:h.lineNumber,fromViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,h),toViewLineNumber:f.lineNumber,toViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,f)}}getSelections(){return this._cursors.getSelections()}setSelections(l,h,f,S){this.setStates(l,h,S,I.CursorState.fromModelSelections(f))}getPrevEditOperationType(){return this._prevEditOperationType}setPrevEditOperationType(l){this._prevEditOperationType=l}_pushAutoClosedAction(l,h){const f=[],S=[];for(let _=0,y=l.length;_<y;_++)f.push({range:l[_],options:{description:"auto-closed-character",inlineClassName:"auto-closed-character",stickiness:1}}),S.push({range:h[_],options:{description:"auto-closed-enclosing",stickiness:1}});const v=this._model.deltaDecorations([],f),p=this._model.deltaDecorations([],S);this._autoClosedActions.push(new r(this._model,v,p))}_executeEditOperation(l){if(!l)return;l.shouldPushStackElementBefore&&this._model.pushStackElement();const h=s.executeCommands(this._model,this._cursors.getSelections(),l.commands);if(h){this._interpretCommandResult(h);const f=[],S=[];for(let v=0;v<l.commands.length;v++){const p=l.commands[v];p instanceof C.TypeWithAutoClosingCommand&&p.enclosingRange&&p.closeCharacterRange&&(f.push(p.closeCharacterRange),S.push(p.enclosingRange))}f.length>0&&this._pushAutoClosedAction(f,S),this._prevEditOperationType=l.type}l.shouldPushStackElementAfter&&this._model.pushStackElement()}_interpretCommandResult(l){(!l||l.length===0)&&(l=this._cursors.readSelectionFromMarkers()),this._columnSelectData=null,this._cursors.setSelections(l),this._cursors.normalize()}_emitStateChangedIfNecessary(l,h,f,S,v){const p=d.from(this._model,this);if(p.equals(S))return!1;const _=this._cursors.getSelections(),y=this._cursors.getViewSelections();if(l.emitViewEvent(new n.ViewCursorStateChangedEvent(y,_)),!S||S.cursorState.length!==p.cursorState.length||p.cursorState.some((E,N)=>!E.modelState.equals(S.cursorState[N].modelState))){const E=S?S.cursorState.map(D=>D.modelState.selection):null,N=S?S.modelVersionId:0;l.emitOutgoingEvent(new o.CursorStateChangedEvent(E,_,N,p.modelVersionId,h||"keyboard",f,v))}return!0}_findAutoClosingPairs(l){if(!l.length)return null;const h=[];for(let f=0,S=l.length;f<S;f++){const v=l[f];if(!v.text||v.text.indexOf(`
+`)>=0)return null;const p=v.text.match(/([)\]}>'"`])([^)\]}>'"`]*)$/);if(!p)return null;const _=p[1],y=this.context.cursorConfig.autoClosingPairs.autoClosingPairsCloseSingleChar.get(_);if(!y||y.length!==1)return null;const E=y[0].open,N=v.text.length-p[2].length-1,D=v.text.lastIndexOf(E,N-1);if(D===-1)return null;h.push([D,N])}return h}executeEdits(l,h,f,S){let v=null;h==="snippet"&&(v=this._findAutoClosingPairs(f)),v&&(f[0]._isTracked=!0);const p=[],_=[],y=this._model.pushEditOperations(this.getSelections(),f,E=>{if(v)for(let D=0,M=v.length;D<M;D++){const[B,O]=v[D],T=E[D],A=T.range.startLineNumber,P=T.range.startColumn-1+B,F=T.range.startColumn-1+O;p.push(new u.Range(A,F+1,A,F+2)),_.push(new u.Range(A,P+1,A,F+2))}const N=S(E);return N&&(this._isHandling=!0),N});y&&(this._isHandling=!1,this.setSelections(l,h,y,0)),p.length>0&&this._pushAutoClosedAction(p,_)}_executeEdit(l,h,f,S=0){if(this.context.cursorConfig.readOnly)return;const v=d.from(this._model,this);this._cursors.stopTrackingSelections(),this._isHandling=!0;try{this._cursors.ensureValidState(),l()}catch(p){(0,L.onUnexpectedError)(p)}this._isHandling=!1,this._cursors.startTrackingSelections(),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(h,f,S,v,!1)&&this.revealPrimary(h,f,!1,0,!0,0)}setIsDoingComposition(l){this._isDoingComposition=l}getAutoClosedCharacters(){return r.getAllAutoClosedCharacters(this._autoClosedActions)}startComposition(l){this._selectionsWhenCompositionStarted=this.getSelections().slice(0)}endComposition(l,h){this._executeEdit(()=>{h==="keyboard"&&(this._executeEditOperation(C.TypeOperations.compositionEndWithInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,this._selectionsWhenCompositionStarted,this.getSelections(),this.getAutoClosedCharacters())),this._selectionsWhenCompositionStarted=null)},l,h)}type(l,h,f){this._executeEdit(()=>{if(f==="keyboard"){const S=h.length;let v=0;for(;v<S;){const p=m.nextCharLength(h,v),_=h.substr(v,p);this._executeEditOperation(C.TypeOperations.typeWithInterceptors(this._isDoingComposition,this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),this.getAutoClosedCharacters(),_)),v+=p}}else this._executeEditOperation(C.TypeOperations.typeWithoutInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),h))},l,f)}compositionType(l,h,f,S,v,p){if(h.length===0&&f===0&&S===0){if(v!==0){const _=this.getSelections().map(y=>{const E=y.getPosition();return new g.Selection(E.lineNumber,E.column+v,E.lineNumber,E.column+v)});this.setSelections(l,p,_,0)}return}this._executeEdit(()=>{this._executeEditOperation(C.TypeOperations.compositionType(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),h,f,S,v))},l,p)}paste(l,h,f,S,v){this._executeEdit(()=>{this._executeEditOperation(C.TypeOperations.paste(this.context.cursorConfig,this._model,this.getSelections(),h,f,S||[]))},l,v,4)}cut(l,h){this._executeEdit(()=>{this._executeEditOperation(b.DeleteOperations.cut(this.context.cursorConfig,this._model,this.getSelections()))},l,h)}executeCommand(l,h,f){this._executeEdit(()=>{this._cursors.killSecondaryCursors(),this._executeEditOperation(new I.EditOperationResult(0,[h],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))},l,f)}executeCommands(l,h,f){this._executeEdit(()=>{this._executeEditOperation(new I.EditOperationResult(0,h,{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))},l,f)}}e.CursorsController=c,c.MAX_CURSOR_COUNT=1e4;class d{constructor(l,h){this.modelVersionId=l,this.cursorState=h}static from(l,h){return new d(l.getVersionId(),h.getCursorStates())}equals(l){if(!l||this.modelVersionId!==l.modelVersionId||this.cursorState.length!==l.cursorState.length)return!1;for(let h=0,f=this.cursorState.length;h<f;h++)if(!this.cursorState[h].equals(l.cursorState[h]))return!1;return!0}}class r{constructor(l,h,f){this._model=l,this._autoClosedCharactersDecorations=h,this._autoClosedEnclosingDecorations=f}static getAllAutoClosedCharacters(l){let h=[];for(const f of l)h=h.concat(f.getAutoClosedCharactersRanges());return h}dispose(){this._autoClosedCharactersDecorations=this._model.deltaDecorations(this._autoClosedCharactersDecorations,[]),this._autoClosedEnclosingDecorations=this._model.deltaDecorations(this._autoClosedEnclosingDecorations,[])}getAutoClosedCharactersRanges(){const l=[];for(let h=0;h<this._autoClosedCharactersDecorations.length;h++){const f=this._model.getDecorationRange(this._autoClosedCharactersDecorations[h]);f&&l.push(f)}return l}isValid(l){const h=[];for(let f=0;f<this._autoClosedEnclosingDecorations.length;f++){const S=this._model.getDecorationRange(this._autoClosedEnclosingDecorations[f]);if(S&&(h.push(S),S.startLineNumber!==S.endLineNumber))return!1}h.sort(u.Range.compareRangesUsingStarts),l.sort(u.Range.compareRangesUsingStarts);for(let f=0;f<l.length;f++)if(f>=h.length||!h[f].strictContainsRange(l[f]))return!1;return!0}}class s{static executeCommands(l,h,f){const S={model:l,selectionsBefore:h,trackedRanges:[],trackedRangesDirection:[]},v=this._innerExecuteCommands(S,f);for(let p=0,_=S.trackedRanges.length;p<_;p++)S.model._setTrackedRange(S.trackedRanges[p],null,0);return v}static _innerExecuteCommands(l,h){if(this._arrayIsEmpty(h))return null;const f=this._getEditOperations(l,h);if(f.operations.length===0)return null;const S=f.operations,v=this._getLoserCursorMap(S);if(v.hasOwnProperty("0"))return console.warn("Ignoring commands"),null;const p=[];for(let E=0,N=S.length;E<N;E++)v.hasOwnProperty(S[E].identifier.major.toString())||p.push(S[E]);f.hadTrackedEditOperation&&p.length>0&&(p[0]._isTracked=!0);let _=l.model.pushEditOperations(l.selectionsBefore,p,E=>{const N=[];for(let B=0;B<l.selectionsBefore.length;B++)N[B]=[];for(const B of E)!B.identifier||N[B.identifier.major].push(B);const D=(B,O)=>B.identifier.minor-O.identifier.minor,M=[];for(let B=0;B<l.selectionsBefore.length;B++)N[B].length>0?(N[B].sort(D),M[B]=h[B].computeCursorState(l.model,{getInverseEditOperations:()=>N[B],getTrackedSelection:O=>{const T=parseInt(O,10),A=l.model._getTrackedRange(l.trackedRanges[T]);return l.trackedRangesDirection[T]===0?new g.Selection(A.startLineNumber,A.startColumn,A.endLineNumber,A.endColumn):new g.Selection(A.endLineNumber,A.endColumn,A.startLineNumber,A.startColumn)}})):M[B]=l.selectionsBefore[B];return M});_||(_=l.selectionsBefore);const y=[];for(let E in v)v.hasOwnProperty(E)&&y.push(parseInt(E,10));y.sort((E,N)=>N-E);for(const E of y)_.splice(E,1);return _}static _arrayIsEmpty(l){for(let h=0,f=l.length;h<f;h++)if(l[h])return!1;return!0}static _getEditOperations(l,h){let f=[],S=!1;for(let v=0,p=h.length;v<p;v++){const _=h[v];if(_){const y=this._getEditOperationsFromCommand(l,v,_);f=f.concat(y.operations),S=S||y.hadTrackedEditOperation}}return{operations:f,hadTrackedEditOperation:S}}static _getEditOperationsFromCommand(l,h,f){const S=[];let v=0;const p=(D,M,B=!1)=>{u.Range.isEmpty(D)&&M===""||S.push({identifier:{major:h,minor:v++},range:D,text:M,forceMoveMarkers:B,isAutoWhitespaceEdit:f.insertsAutoWhitespace})};let _=!1;const N={addEditOperation:p,addTrackedEditOperation:(D,M,B)=>{_=!0,p(D,M,B)},trackSelection:(D,M)=>{const B=g.Selection.liftSelection(D);let O;if(B.isEmpty())if(typeof M=="boolean")M?O=2:O=3;else{const P=l.model.getLineMaxColumn(B.startLineNumber);B.startColumn===P?O=2:O=3}else O=1;const T=l.trackedRanges.length,A=l.model._setTrackedRange(null,B,O);return l.trackedRanges[T]=A,l.trackedRangesDirection[T]=B.getDirection(),T.toString()}};try{f.getEditOperations(l.model,N)}catch(D){return(0,L.onUnexpectedError)(D),{operations:[],hadTrackedEditOperation:!1}}return{operations:S,hadTrackedEditOperation:_}}static _getLoserCursorMap(l){l=l.slice(0),l.sort((f,S)=>-u.Range.compareRangesUsingEnds(f.range,S.range));const h={};for(let f=1;f<l.length;f++){const S=l[f-1],v=l[f];if(u.Range.getStartPosition(S.range).isBefore(u.Range.getEndPosition(v.range))){let p;S.identifier.major>v.identifier.major?p=S.identifier.major:p=v.identifier.major,h[p.toString()]=!0;for(let _=0;_<l.length;_++)l[_].identifier.major===p&&(l.splice(_,1),_<f&&f--,_--);f>0&&f--}}return h}}}),define(te[609],ie([1,0,8,63,11,3,22,33,257]),function(q,e,L,m,k,I,w,b,C){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LineCommentCommand=void 0;class u{constructor(t,n,i,o,c,d,r){this.languageConfigurationService=t,this._selection=n,this._tabSize=i,this._type=o,this._insertSpace=c,this._selectionId=null,this._deltaColumn=0,this._moveEndPositionDown=!1,this._ignoreEmptyLines=d,this._ignoreFirstLine=r||!1}static _gatherPreflightCommentStrings(t,n,i,o){t.tokenizeIfCheap(n);const c=t.getLanguageIdAtPosition(n,1),d=o.getLanguageConfiguration(c).comments,r=d?d.lineCommentToken:null;if(!r)return null;let s=[];for(let a=0,l=i-n+1;a<l;a++)s[a]={ignore:!1,commentStr:r,commentStrOffset:0,commentStrLength:r.length};return s}static _analyzeLines(t,n,i,o,c,d,r,s){let a=!0,l;t===0?l=!0:t===1?l=!1:l=!0;for(let h=0,f=o.length;h<f;h++){const S=o[h],v=c+h;if(v===c&&r){S.ignore=!0;continue}const p=i.getLineContent(v),_=L.firstNonWhitespaceIndex(p);if(_===-1){S.ignore=d,S.commentStrOffset=p.length;continue}if(a=!1,S.ignore=!1,S.commentStrOffset=_,l&&!C.BlockCommentCommand._haystackHasNeedleAtOffset(p,S.commentStr,_)&&(t===0?l=!1:t===1||(S.ignore=!0)),l&&n){const y=_+S.commentStrLength;y<p.length&&p.charCodeAt(y)===32&&(S.commentStrLength+=1)}}if(t===0&&a){l=!1;for(let h=0,f=o.length;h<f;h++)o[h].ignore=!1}return{supported:!0,shouldRemoveComments:l,lines:o}}static _gatherPreflightData(t,n,i,o,c,d,r,s){const a=u._gatherPreflightCommentStrings(i,o,c,s);return a===null?{supported:!1}:u._analyzeLines(t,n,i,a,o,d,r,s)}_executeLineComments(t,n,i,o){let c;i.shouldRemoveComments?c=u._createRemoveLineCommentsOperations(i.lines,o.startLineNumber):(u._normalizeInsertionPoint(t,i.lines,o.startLineNumber,this._tabSize),c=this._createAddLineCommentsOperations(i.lines,o.startLineNumber));const d=new k.Position(o.positionLineNumber,o.positionColumn);for(let r=0,s=c.length;r<s;r++)n.addEditOperation(c[r].range,c[r].text),I.Range.isEmpty(c[r].range)&&I.Range.getStartPosition(c[r].range).equals(d)&&t.getLineContent(d.lineNumber).length+1===d.column&&(this._deltaColumn=(c[r].text||"").length);this._selectionId=n.trackSelection(o)}_attemptRemoveBlockComment(t,n,i,o){let c=n.startLineNumber,d=n.endLineNumber,r=o.length+Math.max(t.getLineFirstNonWhitespaceColumn(n.startLineNumber),n.startColumn),s=t.getLineContent(c).lastIndexOf(i,r-1),a=t.getLineContent(d).indexOf(o,n.endColumn-1-i.length);return s!==-1&&a===-1&&(a=t.getLineContent(c).indexOf(o,s+i.length),d=c),s===-1&&a!==-1&&(s=t.getLineContent(d).lastIndexOf(i,a),c=d),n.isEmpty()&&(s===-1||a===-1)&&(s=t.getLineContent(c).indexOf(i),s!==-1&&(a=t.getLineContent(c).indexOf(o,s+i.length))),s!==-1&&t.getLineContent(c).charCodeAt(s+i.length)===32&&(i+=" "),a!==-1&&t.getLineContent(d).charCodeAt(a-1)===32&&(o=" "+o,a-=1),s!==-1&&a!==-1?C.BlockCommentCommand._createRemoveBlockCommentOperations(new I.Range(c,s+i.length+1,d,a+1),i,o):null}_executeBlockComment(t,n,i){t.tokenizeIfCheap(i.startLineNumber);let o=t.getLanguageIdAtPosition(i.startLineNumber,1),c=b.LanguageConfigurationRegistry.getComments(o);if(!c||!c.blockCommentStartToken||!c.blockCommentEndToken)return;const d=c.blockCommentStartToken,r=c.blockCommentEndToken;let s=this._attemptRemoveBlockComment(t,i,d,r);if(!s){if(i.isEmpty()){const a=t.getLineContent(i.startLineNumber);let l=L.firstNonWhitespaceIndex(a);l===-1&&(l=a.length),s=C.BlockCommentCommand._createAddBlockCommentOperations(new I.Range(i.startLineNumber,l+1,i.startLineNumber,a.length+1),d,r,this._insertSpace)}else s=C.BlockCommentCommand._createAddBlockCommentOperations(new I.Range(i.startLineNumber,t.getLineFirstNonWhitespaceColumn(i.startLineNumber),i.endLineNumber,t.getLineMaxColumn(i.endLineNumber)),d,r,this._insertSpace);s.length===1&&(this._deltaColumn=d.length+1)}this._selectionId=n.trackSelection(i);for(const a of s)n.addEditOperation(a.range,a.text)}getEditOperations(t,n){let i=this._selection;if(this._moveEndPositionDown=!1,i.startLineNumber===i.endLineNumber&&this._ignoreFirstLine){n.addEditOperation(new I.Range(i.startLineNumber,t.getLineMaxColumn(i.startLineNumber),i.startLineNumber+1,1),i.startLineNumber===t.getLineCount()?"":`
+`),this._selectionId=n.trackSelection(i);return}i.startLineNumber<i.endLineNumber&&i.endColumn===1&&(this._moveEndPositionDown=!0,i=i.setEndPosition(i.endLineNumber-1,t.getLineMaxColumn(i.endLineNumber-1)));const o=u._gatherPreflightData(this._type,this._insertSpace,t,i.startLineNumber,i.endLineNumber,this._ignoreEmptyLines,this._ignoreFirstLine,this.languageConfigurationService);return o.supported?this._executeLineComments(t,n,o,i):this._executeBlockComment(t,n,i)}computeCursorState(t,n){let i=n.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(i=i.setEndPosition(i.endLineNumber+1,1)),new w.Selection(i.selectionStartLineNumber,i.selectionStartColumn+this._deltaColumn,i.positionLineNumber,i.positionColumn+this._deltaColumn)}static _createRemoveLineCommentsOperations(t,n){let i=[];for(let o=0,c=t.length;o<c;o++){const d=t[o];d.ignore||i.push(m.EditOperation.delete(new I.Range(n+o,d.commentStrOffset+1,n+o,d.commentStrOffset+d.commentStrLength+1)))}return i}_createAddLineCommentsOperations(t,n){let i=[];const o=this._insertSpace?" ":"";for(let c=0,d=t.length;c<d;c++){const r=t[c];r.ignore||i.push(m.EditOperation.insert(new k.Position(n+c,r.commentStrOffset+1),r.commentStr+o))}return i}static nextVisibleColumn(t,n,i,o){return i?t+(n-t%n):t+o}static _normalizeInsertionPoint(t,n,i,o){let c=1073741824,d,r;for(let s=0,a=n.length;s<a;s++){if(n[s].ignore)continue;const l=t.getLineContent(i+s);let h=0;for(let f=0,S=n[s].commentStrOffset;h<c&&f<S;f++)h=u.nextVisibleColumn(h,o,l.charCodeAt(f)===9,1);h<c&&(c=h)}c=Math.floor(c/o)*o;for(let s=0,a=n.length;s<a;s++){if(n[s].ignore)continue;const l=t.getLineContent(i+s);let h=0;for(d=0,r=n[s].commentStrOffset;h<c&&d<r;d++)h=u.nextVisibleColumn(h,o,l.charCodeAt(d)===9,1);h>c?n[s].commentStrOffset=d-1:n[s].commentStrOffset=d}}}e.LineCommentCommand=u}),define(te[610],ie([1,0,8,202,3,22,122,33,261]),function(q,e,L,m,k,I,w,b,C){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MoveLinesCommand=void 0;class u{constructor(t,n,i){this._selection=t,this._isMovingDown=n,this._autoIndent=i,this._selectionId=null,this._moveEndLineSelectionShrink=!1}getEditOperations(t,n){let i=t.getLineCount();if(this._isMovingDown&&this._selection.endLineNumber===i){this._selectionId=n.trackSelection(this._selection);return}if(!this._isMovingDown&&this._selection.startLineNumber===1){this._selectionId=n.trackSelection(this._selection);return}this._moveEndPositionDown=!1;let o=this._selection;o.startLineNumber<o.endLineNumber&&o.endColumn===1&&(this._moveEndPositionDown=!0,o=o.setEndPosition(o.endLineNumber-1,t.getLineMaxColumn(o.endLineNumber-1)));const{tabSize:c,indentSize:d,insertSpaces:r}=t.getOptions();let s=this.buildIndentConverter(c,d,r),a={getLineTokens:l=>t.getLineTokens(l),getLanguageId:()=>t.getLanguageId(),getLanguageIdAtPosition:(l,h)=>t.getLanguageIdAtPosition(l,h),getLineContent:null};if(o.startLineNumber===o.endLineNumber&&t.getLineMaxColumn(o.startLineNumber)===1){let l=o.startLineNumber,h=this._isMovingDown?l+1:l-1;t.getLineMaxColumn(h)===1?n.addEditOperation(new k.Range(1,1,1,1),null):(n.addEditOperation(new k.Range(l,1,l,1),t.getLineContent(h)),n.addEditOperation(new k.Range(h,1,h,t.getLineMaxColumn(h)),null)),o=new I.Selection(h,1,h,1)}else{let l,h;if(this._isMovingDown){l=o.endLineNumber+1,h=t.getLineContent(l),n.addEditOperation(new k.Range(l-1,t.getLineMaxColumn(l-1),l,t.getLineMaxColumn(l)),null);let f=h;if(this.shouldAutoIndent(t,o)){let S=this.matchEnterRule(t,s,c,l,o.startLineNumber-1);if(S!==null){let p=L.getLeadingWhitespace(t.getLineContent(l)),_=S+C.getSpaceCnt(p,c);f=C.generateIndent(_,c,r)+this.trimLeft(h)}else{a.getLineContent=_=>_===o.startLineNumber?t.getLineContent(l):t.getLineContent(_);let p=b.LanguageConfigurationRegistry.getGoodIndentForLine(this._autoIndent,a,t.getLanguageIdAtPosition(l,1),o.startLineNumber,s);if(p!==null){let _=L.getLeadingWhitespace(t.getLineContent(l)),y=C.getSpaceCnt(p,c),E=C.getSpaceCnt(_,c);y!==E&&(f=C.generateIndent(y,c,r)+this.trimLeft(h))}}n.addEditOperation(new k.Range(o.startLineNumber,1,o.startLineNumber,1),f+`
+`);let v=this.matchEnterRuleMovingDown(t,s,c,o.startLineNumber,l,f);if(v!==null)v!==0&&this.getIndentEditsOfMovingBlock(t,n,o,c,r,v);else{a.getLineContent=_=>_===o.startLineNumber?f:_>=o.startLineNumber+1&&_<=o.endLineNumber+1?t.getLineContent(_-1):t.getLineContent(_);let p=b.LanguageConfigurationRegistry.getGoodIndentForLine(this._autoIndent,a,t.getLanguageIdAtPosition(l,1),o.startLineNumber+1,s);if(p!==null){const _=L.getLeadingWhitespace(t.getLineContent(o.startLineNumber)),y=C.getSpaceCnt(p,c),E=C.getSpaceCnt(_,c);if(y!==E){const N=y-E;this.getIndentEditsOfMovingBlock(t,n,o,c,r,N)}}}}else n.addEditOperation(new k.Range(o.startLineNumber,1,o.startLineNumber,1),f+`
+`)}else if(l=o.startLineNumber-1,h=t.getLineContent(l),n.addEditOperation(new k.Range(l,1,l+1,1),null),n.addEditOperation(new k.Range(o.endLineNumber,t.getLineMaxColumn(o.endLineNumber),o.endLineNumber,t.getLineMaxColumn(o.endLineNumber)),`
+`+h),this.shouldAutoIndent(t,o)){a.getLineContent=S=>S===l?t.getLineContent(o.startLineNumber):t.getLineContent(S);let f=this.matchEnterRule(t,s,c,o.startLineNumber,o.startLineNumber-2);if(f!==null)f!==0&&this.getIndentEditsOfMovingBlock(t,n,o,c,r,f);else{let S=b.LanguageConfigurationRegistry.getGoodIndentForLine(this._autoIndent,a,t.getLanguageIdAtPosition(o.startLineNumber,1),l,s);if(S!==null){let v=L.getLeadingWhitespace(t.getLineContent(o.startLineNumber)),p=C.getSpaceCnt(S,c),_=C.getSpaceCnt(v,c);if(p!==_){let y=p-_;this.getIndentEditsOfMovingBlock(t,n,o,c,r,y)}}}}}this._selectionId=n.trackSelection(o)}buildIndentConverter(t,n,i){return{shiftIndent:o=>m.ShiftCommand.shiftIndent(o,o.length+1,t,n,i),unshiftIndent:o=>m.ShiftCommand.unshiftIndent(o,o.length+1,t,n,i)}}parseEnterResult(t,n,i,o,c){if(c){let d=c.indentation;c.indentAction===w.IndentAction.None||c.indentAction===w.IndentAction.Indent?d=c.indentation+c.appendText:c.indentAction===w.IndentAction.IndentOutdent?d=c.indentation:c.indentAction===w.IndentAction.Outdent&&(d=n.unshiftIndent(c.indentation)+c.appendText);let r=t.getLineContent(o);if(this.trimLeft(r).indexOf(this.trimLeft(d))>=0){let s=L.getLeadingWhitespace(t.getLineContent(o)),a=L.getLeadingWhitespace(d),l=b.LanguageConfigurationRegistry.getIndentMetadata(t,o);l!==null&&l&2&&(a=n.unshiftIndent(a));let h=C.getSpaceCnt(a,i),f=C.getSpaceCnt(s,i);return h-f}}return null}matchEnterRuleMovingDown(t,n,i,o,c,d){if(L.lastNonWhitespaceIndex(d)>=0){let r=t.getLineMaxColumn(c),s=b.LanguageConfigurationRegistry.getEnterAction(this._autoIndent,t,new k.Range(c,r,c,r));return this.parseEnterResult(t,n,i,o,s)}else{let r=o-1;for(;r>=1;){let l=t.getLineContent(r);if(L.lastNonWhitespaceIndex(l)>=0)break;r--}if(r<1||o>t.getLineCount())return null;let s=t.getLineMaxColumn(r),a=b.LanguageConfigurationRegistry.getEnterAction(this._autoIndent,t,new k.Range(r,s,r,s));return this.parseEnterResult(t,n,i,o,a)}}matchEnterRule(t,n,i,o,c,d){let r=c;for(;r>=1;){let l;if(r===c&&d!==void 0?l=d:l=t.getLineContent(r),L.lastNonWhitespaceIndex(l)>=0)break;r--}if(r<1||o>t.getLineCount())return null;let s=t.getLineMaxColumn(r),a=b.LanguageConfigurationRegistry.getEnterAction(this._autoIndent,t,new k.Range(r,s,r,s));return this.parseEnterResult(t,n,i,o,a)}trimLeft(t){return t.replace(/^\s+/,"")}shouldAutoIndent(t,n){if(this._autoIndent<4||!t.isCheapToTokenize(n.startLineNumber))return!1;let i=t.getLanguageIdAtPosition(n.startLineNumber,1),o=t.getLanguageIdAtPosition(n.endLineNumber,1);return!(i!==o||b.LanguageConfigurationRegistry.getIndentRulesSupport(i)===null)}getIndentEditsOfMovingBlock(t,n,i,o,c,d){for(let r=i.startLineNumber;r<=i.endLineNumber;r++){let s=t.getLineContent(r),a=L.getLeadingWhitespace(s),h=C.getSpaceCnt(a,o)+d,f=C.generateIndent(h,o,c);f!==a&&(n.addEditOperation(new k.Range(r,1,r,a.length+1),f),r===i.endLineNumber&&i.endColumn<=a.length+1&&f===""&&(this._moveEndLineSelectionShrink=!0))}}computeCursorState(t,n){let i=n.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(i=i.setEndPosition(i.endLineNumber+1,1)),this._moveEndLineSelectionShrink&&i.startLineNumber<i.endLineNumber&&(i=i.setEndPosition(i.endLineNumber,2)),i}}e.MoveLinesCommand=u}),define(te[17],ie([1,0,16,8,9]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.implies=e.SET_CONTEXT_COMMAND_ID=e.IContextKeyService=e.RawContextKey=e.ContextKeyNotRegexExpr=e.ContextKeyRegexExpr=e.ContextKeySmallerEqualsExpr=e.ContextKeySmallerExpr=e.ContextKeyGreaterEqualsExpr=e.ContextKeyGreaterExpr=e.ContextKeyNotExpr=e.ContextKeyNotEqualsExpr=e.ContextKeyNotInExpr=e.ContextKeyInExpr=e.ContextKeyEqualsExpr=e.ContextKeyDefinedExpr=e.ContextKeyTrueExpr=e.ContextKeyFalseExpr=e.expressionsAreEqualWithConstantSubstitution=e.ContextKeyExpr=void 0;const I=new Map;I.set("false",!1),I.set("true",!0),I.set("isMac",L.isMacintosh),I.set("isLinux",L.isLinux),I.set("isWindows",L.isWindows),I.set("isWeb",L.isWeb),I.set("isMacNative",L.isMacintosh&&!L.isWeb),I.set("isEdge",L.isEdge),I.set("isFirefox",L.isFirefox),I.set("isChrome",L.isChrome),I.set("isSafari",L.isSafari);const w=Object.prototype.hasOwnProperty;class b{static has(T){return n.create(T)}static equals(T,A){return i.create(T,A)}static regex(T,A){return S.create(T,A)}static not(T){return r.create(T)}static and(...T){return _.create(T,null)}static or(...T){return y.create(T,null,!0)}static deserialize(T,A=!1){if(!!T)return this._deserializeOrExpression(T,A)}static _deserializeOrExpression(T,A){let P=T.split("||");return y.create(P.map(F=>this._deserializeAndExpression(F,A)),null,!0)}static _deserializeAndExpression(T,A){let P=T.split("&&");return _.create(P.map(F=>this._deserializeOne(F,A)),null)}static _deserializeOne(T,A){if(T=T.trim(),T.indexOf("!=")>=0){let P=T.split("!=");return d.create(P[0].trim(),this._deserializeValue(P[1],A))}if(T.indexOf("==")>=0){let P=T.split("==");return i.create(P[0].trim(),this._deserializeValue(P[1],A))}if(T.indexOf("=~")>=0){let P=T.split("=~");return S.create(P[0].trim(),this._deserializeRegexValue(P[1],A))}if(T.indexOf(" in ")>=0){let P=T.split(" in ");return o.create(P[0].trim(),P[1].trim())}if(/^[^<=>]+>=[^<=>]+$/.test(T)){const P=T.split(">=");return l.create(P[0].trim(),P[1].trim())}if(/^[^<=>]+>[^<=>]+$/.test(T)){const P=T.split(">");return a.create(P[0].trim(),P[1].trim())}if(/^[^<=>]+<=[^<=>]+$/.test(T)){const P=T.split("<=");return f.create(P[0].trim(),P[1].trim())}if(/^[^<=>]+<[^<=>]+$/.test(T)){const P=T.split("<");return h.create(P[0].trim(),P[1].trim())}return/^\!\s*/.test(T)?r.create(T.substr(1).trim()):n.create(T)}static _deserializeValue(T,A){if(T=T.trim(),T==="true")return!0;if(T==="false")return!1;let P=/^'([^']*)'$/.exec(T);return P?P[1].trim():T}static _deserializeRegexValue(T,A){if((0,m.isFalsyOrWhitespace)(T)){if(A)throw new Error("missing regexp-value for =~-expression");return console.warn("missing regexp-value for =~-expression"),null}let P=T.indexOf("/"),F=T.lastIndexOf("/");if(P===F||P<0){if(A)throw new Error(`bad regexp-value '${T}', missing /-enclosure`);return console.warn(`bad regexp-value '${T}', missing /-enclosure`),null}let W=T.slice(P+1,F),R=T[F+1]==="i"?"i":"";try{return new RegExp(W,R)}catch(z){if(A)throw new Error(`bad regexp-value '${T}', parse error: ${z}`);return console.warn(`bad regexp-value '${T}', parse error: ${z}`),null}}}e.ContextKeyExpr=b;function C(O,T){const A=O?O.substituteConstants():void 0,P=T?T.substituteConstants():void 0;return!A&&!P?!0:!A||!P?!1:A.equals(P)}e.expressionsAreEqualWithConstantSubstitution=C;function u(O,T){return O.cmp(T)}class g{constructor(){this.type=0}cmp(T){return this.type-T.type}equals(T){return T.type===this.type}substituteConstants(){return this}evaluate(T){return!1}serialize(){return"false"}keys(){return[]}negate(){return t.INSTANCE}}e.ContextKeyFalseExpr=g,g.INSTANCE=new g;class t{constructor(){this.type=1}cmp(T){return this.type-T.type}equals(T){return T.type===this.type}substituteConstants(){return this}evaluate(T){return!0}serialize(){return"true"}keys(){return[]}negate(){return g.INSTANCE}}e.ContextKeyTrueExpr=t,t.INSTANCE=new t;class n{constructor(T,A){this.key=T,this.negated=A,this.type=2}static create(T,A=null){const P=I.get(T);return typeof P=="boolean"?P?t.INSTANCE:g.INSTANCE:new n(T,A)}cmp(T){return T.type!==this.type?this.type-T.type:N(this.key,T.key)}equals(T){return T.type===this.type?this.key===T.key:!1}substituteConstants(){const T=I.get(this.key);return typeof T=="boolean"?T?t.INSTANCE:g.INSTANCE:this}evaluate(T){return!!T.getValue(this.key)}serialize(){return this.key}keys(){return[this.key]}negate(){return this.negated||(this.negated=r.create(this.key,this)),this.negated}}e.ContextKeyDefinedExpr=n;class i{constructor(T,A,P){this.key=T,this.value=A,this.negated=P,this.type=4}static create(T,A,P=null){if(typeof A=="boolean")return A?n.create(T,P):r.create(T,P);const F=I.get(T);return typeof F=="boolean"?A===(F?"true":"false")?t.INSTANCE:g.INSTANCE:new i(T,A,P)}cmp(T){return T.type!==this.type?this.type-T.type:D(this.key,this.value,T.key,T.value)}equals(T){return T.type===this.type?this.key===T.key&&this.value===T.value:!1}substituteConstants(){const T=I.get(this.key);if(typeof T=="boolean"){const A=T?"true":"false";return this.value===A?t.INSTANCE:g.INSTANCE}return this}evaluate(T){return T.getValue(this.key)==this.value}serialize(){return`${this.key} == '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=d.create(this.key,this.value,this)),this.negated}}e.ContextKeyEqualsExpr=i;class o{constructor(T,A){this.key=T,this.valueKey=A,this.type=10,this.negated=null}static create(T,A){return new o(T,A)}cmp(T){return T.type!==this.type?this.type-T.type:D(this.key,this.valueKey,T.key,T.valueKey)}equals(T){return T.type===this.type?this.key===T.key&&this.valueKey===T.valueKey:!1}substituteConstants(){return this}evaluate(T){const A=T.getValue(this.valueKey),P=T.getValue(this.key);return Array.isArray(A)?A.indexOf(P)>=0:typeof P=="string"&&typeof A=="object"&&A!==null?w.call(A,P):!1}serialize(){return`${this.key} in '${this.valueKey}'`}keys(){return[this.key,this.valueKey]}negate(){return this.negated||(this.negated=c.create(this)),this.negated}}e.ContextKeyInExpr=o;class c{constructor(T){this._actual=T,this.type=11}static create(T){return new c(T)}cmp(T){return T.type!==this.type?this.type-T.type:this._actual.cmp(T._actual)}equals(T){return T.type===this.type?this._actual.equals(T._actual):!1}substituteConstants(){return this}evaluate(T){return!this._actual.evaluate(T)}serialize(){throw new Error("Method not implemented.")}keys(){return this._actual.keys()}negate(){return this._actual}}e.ContextKeyNotInExpr=c;class d{constructor(T,A,P){this.key=T,this.value=A,this.negated=P,this.type=5}static create(T,A,P=null){if(typeof A=="boolean")return A?r.create(T,P):n.create(T,P);const F=I.get(T);return typeof F=="boolean"?A===(F?"true":"false")?g.INSTANCE:t.INSTANCE:new d(T,A,P)}cmp(T){return T.type!==this.type?this.type-T.type:D(this.key,this.value,T.key,T.value)}equals(T){return T.type===this.type?this.key===T.key&&this.value===T.value:!1}substituteConstants(){const T=I.get(this.key);if(typeof T=="boolean"){const A=T?"true":"false";return this.value===A?g.INSTANCE:t.INSTANCE}return this}evaluate(T){return T.getValue(this.key)!=this.value}serialize(){return`${this.key} != '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=i.create(this.key,this.value,this)),this.negated}}e.ContextKeyNotEqualsExpr=d;class r{constructor(T,A){this.key=T,this.negated=A,this.type=3}static create(T,A=null){const P=I.get(T);return typeof P=="boolean"?P?g.INSTANCE:t.INSTANCE:new r(T,A)}cmp(T){return T.type!==this.type?this.type-T.type:N(this.key,T.key)}equals(T){return T.type===this.type?this.key===T.key:!1}substituteConstants(){const T=I.get(this.key);return typeof T=="boolean"?T?g.INSTANCE:t.INSTANCE:this}evaluate(T){return!T.getValue(this.key)}serialize(){return`!${this.key}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=n.create(this.key,this)),this.negated}}e.ContextKeyNotExpr=r;function s(O,T){if(typeof O=="string"){const A=parseFloat(O);isNaN(A)||(O=A)}return typeof O=="string"||typeof O=="number"?T(O):g.INSTANCE}class a{constructor(T,A,P){this.key=T,this.value=A,this.negated=P,this.type=12}static create(T,A,P=null){return s(A,F=>new a(T,F,P))}cmp(T){return T.type!==this.type?this.type-T.type:D(this.key,this.value,T.key,T.value)}equals(T){return T.type===this.type?this.key===T.key&&this.value===T.value:!1}substituteConstants(){return this}evaluate(T){return typeof this.value=="string"?!1:parseFloat(T.getValue(this.key))>this.value}serialize(){return`${this.key} > ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=f.create(this.key,this.value,this)),this.negated}}e.ContextKeyGreaterExpr=a;class l{constructor(T,A,P){this.key=T,this.value=A,this.negated=P,this.type=13}static create(T,A,P=null){return s(A,F=>new l(T,F,P))}cmp(T){return T.type!==this.type?this.type-T.type:D(this.key,this.value,T.key,T.value)}equals(T){return T.type===this.type?this.key===T.key&&this.value===T.value:!1}substituteConstants(){return this}evaluate(T){return typeof this.value=="string"?!1:parseFloat(T.getValue(this.key))>=this.value}serialize(){return`${this.key} >= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=h.create(this.key,this.value,this)),this.negated}}e.ContextKeyGreaterEqualsExpr=l;class h{constructor(T,A,P){this.key=T,this.value=A,this.negated=P,this.type=14}static create(T,A,P=null){return s(A,F=>new h(T,F,P))}cmp(T){return T.type!==this.type?this.type-T.type:D(this.key,this.value,T.key,T.value)}equals(T){return T.type===this.type?this.key===T.key&&this.value===T.value:!1}substituteConstants(){return this}evaluate(T){return typeof this.value=="string"?!1:parseFloat(T.getValue(this.key))<this.value}serialize(){return`${this.key} < ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=l.create(this.key,this.value,this)),this.negated}}e.ContextKeySmallerExpr=h;class f{constructor(T,A,P){this.key=T,this.value=A,this.negated=P,this.type=15}static create(T,A,P=null){return s(A,F=>new f(T,F,P))}cmp(T){return T.type!==this.type?this.type-T.type:D(this.key,this.value,T.key,T.value)}equals(T){return T.type===this.type?this.key===T.key&&this.value===T.value:!1}substituteConstants(){return this}evaluate(T){return typeof this.value=="string"?!1:parseFloat(T.getValue(this.key))<=this.value}serialize(){return`${this.key} <= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=a.create(this.key,this.value,this)),this.negated}}e.ContextKeySmallerEqualsExpr=f;class S{constructor(T,A){this.key=T,this.regexp=A,this.type=7,this.negated=null}static create(T,A){return new S(T,A)}cmp(T){if(T.type!==this.type)return this.type-T.type;if(this.key<T.key)return-1;if(this.key>T.key)return 1;const A=this.regexp?this.regexp.source:"",P=T.regexp?T.regexp.source:"";return A<P?-1:A>P?1:0}equals(T){if(T.type===this.type){const A=this.regexp?this.regexp.source:"",P=T.regexp?T.regexp.source:"";return this.key===T.key&&A===P}return!1}substituteConstants(){return this}evaluate(T){let A=T.getValue(this.key);return this.regexp?this.regexp.test(A):!1}serialize(){const T=this.regexp?`/${this.regexp.source}/${this.regexp.ignoreCase?"i":""}`:"/invalid/";return`${this.key} =~ ${T}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=v.create(this)),this.negated}}e.ContextKeyRegexExpr=S;class v{constructor(T){this._actual=T,this.type=8}static create(T){return new v(T)}cmp(T){return T.type!==this.type?this.type-T.type:this._actual.cmp(T._actual)}equals(T){return T.type===this.type?this._actual.equals(T._actual):!1}substituteConstants(){return this}evaluate(T){return!this._actual.evaluate(T)}serialize(){throw new Error("Method not implemented.")}keys(){return this._actual.keys()}negate(){return this._actual}}e.ContextKeyNotRegexExpr=v;function p(O){let T=null;for(let A=0,P=O.length;A<P;A++){const F=O[A].substituteConstants();if(O[A]!==F&&T===null){T=[];for(let W=0;W<A;W++)T[W]=O[W]}T!==null&&(T[A]=F)}return T===null?O:T}class _{constructor(T,A){this.expr=T,this.negated=A,this.type=6}static create(T,A){return _._normalizeArr(T,A)}cmp(T){if(T.type!==this.type)return this.type-T.type;if(this.expr.length<T.expr.length)return-1;if(this.expr.length>T.expr.length)return 1;for(let A=0,P=this.expr.length;A<P;A++){const F=u(this.expr[A],T.expr[A]);if(F!==0)return F}return 0}equals(T){if(T.type===this.type){if(this.expr.length!==T.expr.length)return!1;for(let A=0,P=this.expr.length;A<P;A++)if(!this.expr[A].equals(T.expr[A]))return!1;return!0}return!1}substituteConstants(){const T=p(this.expr);return T===this.expr?this:_.create(T,this.negated)}evaluate(T){for(let A=0,P=this.expr.length;A<P;A++)if(!this.expr[A].evaluate(T))return!1;return!0}static _normalizeArr(T,A){const P=[];let F=!1;for(const W of T)if(!!W){if(W.type===1){F=!0;continue}if(W.type===0)return g.INSTANCE;if(W.type===6){P.push(...W.expr);continue}P.push(W)}if(P.length===0&&F)return t.INSTANCE;if(P.length!==0){if(P.length===1)return P[0];P.sort(u);for(let W=1;W<P.length;W++)P[W-1].equals(P[W])&&(P.splice(W,1),W--);if(P.length===1)return P[0];for(;P.length>1;){const W=P[P.length-1];if(W.type!==9)break;P.pop();const R=P.pop(),z=P.length===0,j=y.create(W.expr.map($=>_.create([$,R],null)),null,z);j&&(P.push(j),P.sort(u))}return P.length===1?P[0]:new _(P,A)}}serialize(){return this.expr.map(T=>T.serialize()).join(" && ")}keys(){const T=[];for(let A of this.expr)T.push(...A.keys());return T}negate(){if(!this.negated){const T=[];for(let A of this.expr)T.push(A.negate());this.negated=y.create(T,this,!0)}return this.negated}}class y{constructor(T,A){this.expr=T,this.negated=A,this.type=9}static create(T,A,P){return y._normalizeArr(T,A,P)}cmp(T){if(T.type!==this.type)return this.type-T.type;if(this.expr.length<T.expr.length)return-1;if(this.expr.length>T.expr.length)return 1;for(let A=0,P=this.expr.length;A<P;A++){const F=u(this.expr[A],T.expr[A]);if(F!==0)return F}return 0}equals(T){if(T.type===this.type){if(this.expr.length!==T.expr.length)return!1;for(let A=0,P=this.expr.length;A<P;A++)if(!this.expr[A].equals(T.expr[A]))return!1;return!0}return!1}substituteConstants(){const T=p(this.expr);return T===this.expr?this:y.create(T,this.negated,!1)}evaluate(T){for(let A=0,P=this.expr.length;A<P;A++)if(this.expr[A].evaluate(T))return!0;return!1}static _normalizeArr(T,A,P){let F=[],W=!1;if(T){for(let R=0,z=T.length;R<z;R++){const j=T[R];if(!!j){if(j.type===0){W=!0;continue}if(j.type===1)return t.INSTANCE;if(j.type===9){F=F.concat(j.expr);continue}F.push(j)}}if(F.length===0&&W)return g.INSTANCE;F.sort(u)}if(F.length!==0){if(F.length===1)return F[0];for(let R=1;R<F.length;R++)F[R-1].equals(F[R])&&(F.splice(R,1),R--);if(F.length===1)return F[0];if(P){for(let R=0;R<F.length;R++)for(let z=R+1;z<F.length;z++)M(F[R],F[z])&&(F.splice(z,1),z--);if(F.length===1)return F[0]}return new y(F,A)}}serialize(){return this.expr.map(T=>T.serialize()).join(" || ")}keys(){const T=[];for(let A of this.expr)T.push(...A.keys());return T}negate(){if(!this.negated){let T=[];for(let A of this.expr)T.push(A.negate());for(;T.length>1;){const A=T.shift(),P=T.shift(),F=[];for(const R of B(A))for(const z of B(P))F.push(_.create([R,z],null));const W=T.length===0;T.unshift(y.create(F,null,W))}this.negated=T[0]}return this.negated}}class E extends n{constructor(T,A,P){super(T,null);this._defaultValue=A,typeof P=="object"?E._info.push(Object.assign(Object.assign({},P),{key:T})):P!==!0&&E._info.push({key:T,description:P,type:A!=null?typeof A:void 0})}static all(){return E._info.values()}bindTo(T){return T.createKey(this.key,this._defaultValue)}getValue(T){return T.getContextKeyValue(this.key)}toNegated(){return this.negate()}isEqualTo(T){return i.create(this.key,T)}}e.RawContextKey=E,E._info=[],e.IContextKeyService=(0,k.createDecorator)("contextKeyService"),e.SET_CONTEXT_COMMAND_ID="setContext";function N(O,T){return O<T?-1:O>T?1:0}function D(O,T,A,P){return O<A?-1:O>A?1:T<P?-1:T>P?1:0}function M(O,T){if(T.type===6&&O.type!==9&&O.type!==6){for(const F of T.expr)if(O.equals(F))return!0}const A=O.negate(),P=B(A).concat(B(T));P.sort(u);for(let F=0;F<P.length;F++){const R=P[F].negate();for(let z=F+1;z<P.length;z++){const j=P[z];if(R.equals(j))return!0}}return!1}e.implies=M;function B(O){return O.type===9?O.expr:[O]}}),define(te[24],ie([1,0,519,17]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EditorContextKeys=void 0;var k;(function(I){I.editorSimpleInput=new m.RawContextKey("editorSimpleInput",!1,!0),I.editorTextFocus=new m.RawContextKey("editorTextFocus",!1,L.localize(0,null)),I.focus=new m.RawContextKey("editorFocus",!1,L.localize(1,null)),I.textInputFocus=new m.RawContextKey("textInputFocus",!1,L.localize(2,null)),I.readOnly=new m.RawContextKey("editorReadonly",!1,L.localize(3,null)),I.inDiffEditor=new m.RawContextKey("inDiffEditor",!1,L.localize(4,null)),I.columnSelection=new m.RawContextKey("editorColumnSelection",!1,L.localize(5,null)),I.writable=I.readOnly.toNegated(),I.hasNonEmptySelection=new m.RawContextKey("editorHasSelection",!1,L.localize(6,null)),I.hasOnlyEmptySelection=I.hasNonEmptySelection.toNegated(),I.hasMultipleSelections=new m.RawContextKey("editorHasMultipleSelections",!1,L.localize(7,null)),I.hasSingleSelection=I.hasMultipleSelections.toNegated(),I.tabMovesFocus=new m.RawContextKey("editorTabMovesFocus",!1,L.localize(8,null)),I.tabDoesNotMoveFocus=I.tabMovesFocus.toNegated(),I.isInWalkThroughSnippet=new m.RawContextKey("isInEmbeddedEditor",!1,!0),I.canUndo=new m.RawContextKey("canUndo",!1,!0),I.canRedo=new m.RawContextKey("canRedo",!1,!0),I.hoverVisible=new m.RawContextKey("editorHoverVisible",!1,L.localize(9,null)),I.inCompositeEditor=new m.RawContextKey("inCompositeEditor",void 0,L.localize(10,null)),I.notInCompositeEditor=I.inCompositeEditor.toNegated(),I.languageId=new m.RawContextKey("editorLangId","",L.localize(11,null)),I.hasCompletionItemProvider=new m.RawContextKey("editorHasCompletionItemProvider",!1,L.localize(12,null)),I.hasCodeActionsProvider=new m.RawContextKey("editorHasCodeActionsProvider",!1,L.localize(13,null)),I.hasCodeLensProvider=new m.RawContextKey("editorHasCodeLensProvider",!1,L.localize(14,null)),I.hasDefinitionProvider=new m.RawContextKey("editorHasDefinitionProvider",!1,L.localize(15,null)),I.hasDeclarationProvider=new m.RawContextKey("editorHasDeclarationProvider",!1,L.localize(16,null)),I.hasImplementationProvider=new m.RawContextKey("editorHasImplementationProvider",!1,L.localize(17,null)),I.hasTypeDefinitionProvider=new m.RawContextKey("editorHasTypeDefinitionProvider",!1,L.localize(18,null)),I.hasHoverProvider=new m.RawContextKey("editorHasHoverProvider",!1,L.localize(19,null)),I.hasDocumentHighlightProvider=new m.RawContextKey("editorHasDocumentHighlightProvider",!1,L.localize(20,null)),I.hasDocumentSymbolProvider=new m.RawContextKey("editorHasDocumentSymbolProvider",!1,L.localize(21,null)),I.hasReferenceProvider=new m.RawContextKey("editorHasReferenceProvider",!1,L.localize(22,null)),I.hasRenameProvider=new m.RawContextKey("editorHasRenameProvider",!1,L.localize(23,null)),I.hasSignatureHelpProvider=new m.RawContextKey("editorHasSignatureHelpProvider",!1,L.localize(24,null)),I.hasInlayHintsProvider=new m.RawContextKey("editorHasInlayHintsProvider",!1,L.localize(25,null)),I.hasDocumentFormattingProvider=new m.RawContextKey("editorHasDocumentFormattingProvider",!1,L.localize(26,null)),I.hasDocumentSelectionFormattingProvider=new m.RawContextKey("editorHasDocumentSelectionFormattingProvider",!1,L.localize(27,null)),I.hasMultipleDocumentFormattingProvider=new m.RawContextKey("editorHasMultipleDocumentFormattingProvider",!1,L.localize(28,null)),I.hasMultipleDocumentSelectionFormattingProvider=new m.RawContextKey("editorHasMultipleDocumentSelectionFormattingProvider",!1,L.localize(29,null))})(k=e.EditorContextKeys||(e.EditorContextKeys={}))}),define(te[204],ie([1,0,21,13,19,25,11,27,56,26,17,20]),function(q,e,L,m,k,I,w,b,C,u,g,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.provideSignatureHelp=e.Context=void 0,e.Context={Visible:new g.RawContextKey("parameterHintsVisible",!1),MultipleSignatures:new g.RawContextKey("parameterHintsMultipleSignatures",!1)};function n(i,o,c,d,r){return we(this,void 0,void 0,function*(){const s=i.ordered(o);for(const a of s)try{const l=yield a.provideSignatureHelp(o,c,r,d);if(l)return l}catch(l){(0,m.onUnexpectedExternalError)(l)}})}e.provideSignatureHelp=n,u.CommandsRegistry.registerCommand("_executeSignatureHelpProvider",(i,...o)=>we(void 0,void 0,void 0,function*(){const[c,d,r]=o;(0,k.assertType)(I.URI.isUri(c)),(0,k.assertType)(w.Position.isIPosition(d)),(0,k.assertType)(typeof r=="string"||!r);const s=i.get(t.ILanguageFeaturesService),a=yield i.get(C.ITextModelService).createModelReference(c);try{const l=yield n(s.signatureHelpProvider,a.object.textEditorModel,w.Position.lift(d),{triggerKind:b.SignatureHelpTriggerKind.Invoke,isRetrigger:!1,triggerCharacter:r},L.CancellationToken.None);return l?(setTimeout(()=>l.dispose(),0),l.value):void 0}finally{a.dispose()}}))}),define(te[611],ie([1,0,10,13,4,2,99,27,204]),function(q,e,L,m,k,I,w,b,C){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ParameterHintsModel=void 0;var u;(function(n){n.Default={type:0};class i{constructor(d,r){this.request=d,this.previouslyActiveHints=r,this.type=2}}n.Pending=i;class o{constructor(d){this.hints=d,this.type=1}}n.Active=o})(u||(u={}));class g extends I.Disposable{constructor(i,o,c=g.DEFAULT_DELAY){super();this._onChangedHints=this._register(new k.Emitter),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=u.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new I.MutableDisposable),this.triggerChars=new w.CharacterSet,this.retriggerChars=new w.CharacterSet,this.triggerId=0,this.editor=i,this.providers=o,this.throttledDelayer=new L.Delayer(c),this._register(this.editor.onDidBlurEditorWidget(()=>this.cancel())),this._register(this.editor.onDidChangeConfiguration(()=>this.onEditorConfigurationChange())),this._register(this.editor.onDidChangeModel(d=>this.onModelChanged())),this._register(this.editor.onDidChangeModelLanguage(d=>this.onModelChanged())),this._register(this.editor.onDidChangeCursorSelection(d=>this.onCursorChange(d))),this._register(this.editor.onDidChangeModelContent(d=>this.onModelContentChange())),this._register(this.providers.onDidChange(this.onModelChanged,this)),this._register(this.editor.onDidType(d=>this.onDidType(d))),this.onEditorConfigurationChange(),this.onModelChanged()}get state(){return this._state}set state(i){this._state.type===2&&this._state.request.cancel(),this._state=i}cancel(i=!1){this.state=u.Default,this.throttledDelayer.cancel(),i||this._onChangedHints.fire(void 0)}trigger(i,o){const c=this.editor.getModel();if(!c||!this.providers.has(c))return;const d=++this.triggerId;this._pendingTriggers.push(i),this.throttledDelayer.trigger(()=>this.doTrigger(d),o).catch(m.onUnexpectedError)}next(){if(this.state.type!==1)return;const i=this.state.hints.signatures.length,o=this.state.hints.activeSignature,c=o%i==i-1,d=this.editor.getOption(76).cycle;if((i<2||c)&&!d){this.cancel();return}this.updateActiveSignature(c&&d?0:o+1)}previous(){if(this.state.type!==1)return;const i=this.state.hints.signatures.length,o=this.state.hints.activeSignature,c=o===0,d=this.editor.getOption(76).cycle;if((i<2||c)&&!d){this.cancel();return}this.updateActiveSignature(c&&d?i-1:o-1)}updateActiveSignature(i){this.state.type===1&&(this.state=new u.Active(Object.assign(Object.assign({},this.state.hints),{activeSignature:i})),this._onChangedHints.fire(this.state.hints))}doTrigger(i){return we(this,void 0,void 0,function*(){const o=this.state.type===1||this.state.type===2,c=this.getLastActiveHints();if(this.cancel(!0),this._pendingTriggers.length===0)return!1;const d=this._pendingTriggers.reduce(t);this._pendingTriggers=[];const r={triggerKind:d.triggerKind,triggerCharacter:d.triggerCharacter,isRetrigger:o,activeSignatureHelp:c};if(!this.editor.hasModel())return!1;const s=this.editor.getModel(),a=this.editor.getPosition();this.state=new u.Pending((0,L.createCancelablePromise)(l=>(0,C.provideSignatureHelp)(this.providers,s,a,r,l)),c);try{const l=yield this.state.request;return i!==this.triggerId?(l==null||l.dispose(),!1):!l||!l.value.signatures||l.value.signatures.length===0?(l==null||l.dispose(),this._lastSignatureHelpResult.clear(),this.cancel(),!1):(this.state=new u.Active(l.value),this._lastSignatureHelpResult.value=l,this._onChangedHints.fire(this.state.hints),!0)}catch(l){return i===this.triggerId&&(this.state=u.Default),(0,m.onUnexpectedError)(l),!1}})}getLastActiveHints(){switch(this.state.type){case 1:return this.state.hints;case 2:return this.state.previouslyActiveHints;default:return}}get isTriggered(){return this.state.type===1||this.state.type===2||this.throttledDelayer.isTriggered()}onModelChanged(){this.cancel(),this.triggerChars=new w.CharacterSet,this.retriggerChars=new w.CharacterSet;const i=this.editor.getModel();if(!!i)for(const o of this.providers.ordered(i)){for(const c of o.signatureHelpTriggerCharacters||[])this.triggerChars.add(c.charCodeAt(0)),this.retriggerChars.add(c.charCodeAt(0));for(const c of o.signatureHelpRetriggerCharacters||[])this.retriggerChars.add(c.charCodeAt(0))}}onDidType(i){if(!this.triggerOnType)return;const o=i.length-1,c=i.charCodeAt(o);(this.triggerChars.has(c)||this.isTriggered&&this.retriggerChars.has(c))&&this.trigger({triggerKind:b.SignatureHelpTriggerKind.TriggerCharacter,triggerCharacter:i.charAt(o)})}onCursorChange(i){i.source==="mouse"?this.cancel():this.isTriggered&&this.trigger({triggerKind:b.SignatureHelpTriggerKind.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:b.SignatureHelpTriggerKind.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(76).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}}e.ParameterHintsModel=g,g.DEFAULT_DELAY=120;function t(n,i){switch(i.triggerKind){case b.SignatureHelpTriggerKind.Invoke:return i;case b.SignatureHelpTriggerKind.ContentChange:return n;case b.SignatureHelpTriggerKind.TriggerCharacter:default:return i}}}),define(te[612],ie([1,0,17]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SuggestAlternatives=void 0;let m=class Ot{constructor(I,w){this._editor=I,this._index=0,this._ckOtherSuggestions=Ot.OtherSuggestions.bindTo(w)}dispose(){this.reset()}reset(){var I;this._ckOtherSuggestions.reset(),(I=this._listener)===null||I===void 0||I.dispose(),this._model=void 0,this._acceptNext=void 0,this._ignore=!1}set({model:I,index:w},b){if(I.items.length===0){this.reset();return}if(Ot._moveIndex(!0,I,w)===w){this.reset();return}this._acceptNext=b,this._model=I,this._index=w,this._listener=this._editor.onDidChangeCursorPosition(()=>{this._ignore||this.reset()}),this._ckOtherSuggestions.set(!0)}static _moveIndex(I,w,b){let C=b;for(;C=(C+w.items.length+(I?1:-1))%w.items.length,!(C===b||!w.items[C].completion.additionalTextEdits););return C}next(){this._move(!0)}prev(){this._move(!1)}_move(I){if(!!this._model)try{this._ignore=!0,this._index=Ot._moveIndex(I,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}};m.OtherSuggestions=new L.RawContextKey("hasOtherSuggestions",!1),m=Ie([pe(1,L.IContextKeyService)],m),e.SuggestAlternatives=m}),define(te[613],ie([1,0,17]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WordContextKey=void 0;let m=class _i{constructor(I,w){this._editor=I,this._enabled=!1,this._ckAtEnd=_i.AtEnd.bindTo(w),this._configListener=this._editor.onDidChangeConfiguration(b=>b.hasChanged(111)&&this._update()),this._update()}dispose(){var I;this._configListener.dispose(),(I=this._selectionListener)===null||I===void 0||I.dispose(),this._ckAtEnd.reset()}_update(){const I=this._editor.getOption(111)==="on";if(this._enabled!==I)if(this._enabled=I,this._enabled){const w=()=>{if(!this._editor.hasModel()){this._ckAtEnd.set(!1);return}const b=this._editor.getModel(),C=this._editor.getSelection(),u=b.getWordAtPosition(C.getStartPosition());if(!u){this._ckAtEnd.set(!1);return}this._ckAtEnd.set(u.endColumn===C.getStartPosition().column)};this._selectionListener=this._editor.onDidChangeCursorSelection(w),w()}else this._selectionListener&&(this._ckAtEnd.reset(),this._selectionListener.dispose(),this._selectionListener=void 0)}};m.AtEnd=new L.RawContextKey("atEndOfWord",!1),m=Ie([pe(1,L.IContextKeyService)],m),e.WordContextKey=m}),define(te[65],ie([1,0,17,9]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CONTEXT_ACCESSIBILITY_MODE_ENABLED=e.IAccessibilityService=void 0,e.IAccessibilityService=(0,m.createDecorator)("accessibilityService"),e.CONTEXT_ACCESSIBILITY_MODE_ENABLED=new L.RawContextKey("accessibilityModeEnabled",!1)}),define(te[614],ie([1,0,34,18,4,2,40,16,233,270,400,234,32,147,176,65]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ComputedEditorOptions=e.EditorConfiguration=void 0;let d=class extends I.Disposable{constructor(v,p,_,y){super();this._accessibilityService=y,this._onDidChange=this._register(new k.Emitter),this.onDidChange=this._onDidChange.event,this._onDidChangeFast=this._register(new k.Emitter),this.onDidChangeFast=this._onDidChangeFast.event,this._isDominatedByLongLines=!1,this._viewLineCount=1,this._lineNumbersDigitCount=1,this._reservedHeight=0,this._computeOptionsMemory=new n.ComputeOptionsMemory,this.isSimpleWidget=v,this._containerObserver=this._register(new C.ElementSizeObserver(_,p.dimension)),this._rawOptions=f(p),this._validatedOptions=h.validateOptions(this._rawOptions),this.options=this._computeOptions(),this.options.get(10)&&this._containerObserver.startObserving(),this._register(i.EditorZoom.onDidChangeZoomLevel(()=>this._recomputeOptions())),this._register(t.TabFocus.onDidChangeTabFocus(()=>this._recomputeOptions())),this._register(this._containerObserver.onDidChange(()=>this._recomputeOptions())),this._register(u.FontMeasurements.onDidChange(()=>this._recomputeOptions())),this._register(L.PixelRatio.onDidChange(()=>this._recomputeOptions())),this._register(this._accessibilityService.onDidChangeScreenReaderOptimized(()=>this._recomputeOptions()))}_recomputeOptions(){const v=this._computeOptions(),p=h.checkEquals(this.options,v);p!==null&&(this.options=v,this._onDidChangeFast.fire(p),this._onDidChange.fire(p))}_computeOptions(){const v=this._readEnvConfiguration(),p=o.BareFontInfo.createFromValidatedSettings(this._validatedOptions,v.pixelRatio,this.isSimpleWidget),_=this._readFontInfo(p),y={memory:this._computeOptionsMemory,outerWidth:v.outerWidth,outerHeight:v.outerHeight-this._reservedHeight,fontInfo:_,extraEditorClassName:v.extraEditorClassName,isDominatedByLongLines:this._isDominatedByLongLines,viewLineCount:this._viewLineCount,lineNumbersDigitCount:this._lineNumbersDigitCount,emptySelectionClipboard:v.emptySelectionClipboard,pixelRatio:v.pixelRatio,tabFocusMode:t.TabFocus.getTabFocusMode(),accessibilitySupport:v.accessibilitySupport};return h.computeOptions(this._validatedOptions,y)}_readEnvConfiguration(){return{extraEditorClassName:s(),outerWidth:this._containerObserver.getWidth(),outerHeight:this._containerObserver.getHeight(),emptySelectionClipboard:L.isWebKit||L.isFirefox,pixelRatio:L.PixelRatio.value,accessibilitySupport:this._accessibilityService.isScreenReaderOptimized()?2:this._accessibilityService.getAccessibilitySupport()}}_readFontInfo(v){return u.FontMeasurements.readFontInfo(v)}getRawOptions(){return this._rawOptions}updateOptions(v){const p=f(v);!h.applyUpdate(this._rawOptions,p)||(this._validatedOptions=h.validateOptions(this._rawOptions),this._recomputeOptions())}observeContainer(v){this._containerObserver.observe(v)}setIsDominatedByLongLines(v){this._isDominatedByLongLines!==v&&(this._isDominatedByLongLines=v,this._recomputeOptions())}setModelLineCount(v){const p=r(v);this._lineNumbersDigitCount!==p&&(this._lineNumbersDigitCount=p,this._recomputeOptions())}setViewLineCount(v){this._viewLineCount!==v&&(this._viewLineCount=v,this._recomputeOptions())}setReservedHeight(v){this._reservedHeight!==v&&(this._reservedHeight=v,this._recomputeOptions())}};d=Ie([pe(3,c.IAccessibilityService)],d),e.EditorConfiguration=d;function r(S){let v=0;for(;S;)S=Math.floor(S/10),v++;return v||1}function s(){let S="";return!L.isSafari&&!L.isWebkitWebView&&(S+="no-user-select "),L.isSafari&&(S+="no-minimap-shadow "),b.isMacintosh&&(S+="mac "),S}class a{constructor(){this._values=[]}_read(v){return this._values[v]}get(v){return this._values[v]}_write(v,p){this._values[v]=p}}class l{constructor(){this._values=[]}_read(v){if(v>=this._values.length)throw new Error("Cannot read uninitialized value");return this._values[v]}get(v){return this._read(v)}_write(v,p){this._values[v]=p}}e.ComputedEditorOptions=l;class h{static validateOptions(v){const p=new a;for(const _ of n.editorOptionsRegistry){const y=_.name==="_never_"?void 0:v[_.name];p._write(_.id,_.validate(y))}return p}static computeOptions(v,p){const _=new l;for(const y of n.editorOptionsRegistry)_._write(y.id,y.compute(p,_,v._read(y.id)));return _}static _deepEquals(v,p){if(typeof v!="object"||typeof p!="object"||!v||!p)return v===p;if(Array.isArray(v)||Array.isArray(p))return Array.isArray(v)&&Array.isArray(p)?m.equals(v,p):!1;if(Object.keys(v).length!==Object.keys(p).length)return!1;for(const _ in v)if(!h._deepEquals(v[_],p[_]))return!1;return!0}static checkEquals(v,p){const _=[];let y=!1;for(const E of n.editorOptionsRegistry){const N=!h._deepEquals(v._read(E.id),p._read(E.id));_[E.id]=N,N&&(y=!0)}return y?new n.ConfigurationChangedEvent(_):null}static applyUpdate(v,p){let _=!1;for(const y of n.editorOptionsRegistry)if(p.hasOwnProperty(y.name)){const E=y.applyUpdate(v[y.name],p[y.name]);v[y.name]=E.newValue,_=_||E.didChange}return _}}function f(S){const v=w.deepClone(S);return(0,g.migrateOptions)(v),v}}),define(te[615],ie([1,0,4,2,65,41,17]),function(q,e,L,m,k,I,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AccessibilityService=void 0;let b=class extends m.Disposable{constructor(u,g){super();this._contextKeyService=u,this._configurationService=g,this._accessibilitySupport=0,this._onDidChangeScreenReaderOptimized=new L.Emitter,this._accessibilityModeEnabledContext=k.CONTEXT_ACCESSIBILITY_MODE_ENABLED.bindTo(this._contextKeyService);const t=()=>this._accessibilityModeEnabledContext.set(this.isScreenReaderOptimized());this._register(this._configurationService.onDidChangeConfiguration(n=>{n.affectsConfiguration("editor.accessibilitySupport")&&(t(),this._onDidChangeScreenReaderOptimized.fire())})),t(),this.onDidChangeScreenReaderOptimized(()=>t())}get onDidChangeScreenReaderOptimized(){return this._onDidChangeScreenReaderOptimized.event}isScreenReaderOptimized(){const u=this._configurationService.getValue("editor.accessibilitySupport");return u==="on"||u==="auto"&&this._accessibilitySupport===2}getAccessibilitySupport(){return this._accessibilitySupport}};b=Ie([pe(0,w.IContextKeyService),pe(1,I.IConfigurationService)],b),e.AccessibilityService=b}),define(te[616],ie([1,0,4,57,2,49,591,26,41,17]),function(q,e,L,m,k,I,w,b,C,u){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ContextKeyService=e.AbstractContextKeyService=e.Context=void 0;const g="data-keybinding-context";class t{constructor(S,v){this._id=S,this._parent=v,this._value=Object.create(null),this._value._contextId=S}setValue(S,v){return this._value[S]!==v?(this._value[S]=v,!0):!1}removeValue(S){return S in this._value?(delete this._value[S],!0):!1}getValue(S){const v=this._value[S];return typeof v=="undefined"&&this._parent?this._parent.getValue(S):v}}e.Context=t;class n extends t{constructor(){super(-1,null)}setValue(S,v){return!1}removeValue(S){return!1}getValue(S){}}n.INSTANCE=new n;class i extends t{constructor(S,v,p){super(S,null);this._configurationService=v,this._values=I.TernarySearchTree.forConfigKeys(),this._listener=this._configurationService.onDidChangeConfiguration(_=>{if(_.source===6){const y=Array.from(m.Iterable.map(this._values,([E])=>E));this._values.clear(),p.fire(new d(y))}else{const y=[];for(const E of _.affectedKeys){const N=`config.${E}`,D=this._values.findSuperstr(N);D!==void 0&&(y.push(...m.Iterable.map(D,([M])=>M)),this._values.deleteSuperstr(N)),this._values.has(N)&&(y.push(N),this._values.delete(N))}p.fire(new d(y))}})}dispose(){this._listener.dispose()}getValue(S){if(S.indexOf(i._keyPrefix)!==0)return super.getValue(S);if(this._values.has(S))return this._values.get(S);const v=S.substr(i._keyPrefix.length),p=this._configurationService.getValue(v);let _;switch(typeof p){case"number":case"boolean":case"string":_=p;break;default:Array.isArray(p)?_=JSON.stringify(p):_=p}return this._values.set(S,_),_}setValue(S,v){return super.setValue(S,v)}removeValue(S){return super.removeValue(S)}}i._keyPrefix="config.";class o{constructor(S,v,p){this._service=S,this._key=v,this._defaultValue=p,this.reset()}set(S){this._service.setContext(this._key,S)}reset(){typeof this._defaultValue=="undefined"?this._service.removeContext(this._key):this._service.setContext(this._key,this._defaultValue)}get(){return this._service.getContextKeyValue(this._key)}}class c{constructor(S){this.key=S}affectsSome(S){return S.has(this.key)}}class d{constructor(S){this.keys=S}affectsSome(S){for(const v of this.keys)if(S.has(v))return!0;return!1}}class r{constructor(S){this.events=S}affectsSome(S){for(const v of this.events)if(v.affectsSome(S))return!0;return!1}}class s{constructor(S){this._onDidChangeContext=new L.PauseableEmitter({merge:v=>new r(v)}),this.onDidChangeContext=this._onDidChangeContext.event,this._isDisposed=!1,this._myContextId=S}createKey(S,v){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");return new o(this,S,v)}bufferChangeEvents(S){this._onDidChangeContext.pause();try{S()}finally{this._onDidChangeContext.resume()}}createScoped(S){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");return new l(this,S)}contextMatchesRules(S){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");const v=this.getContextValuesContainer(this._myContextId);return S?S.evaluate(v):!0}getContextKeyValue(S){if(!this._isDisposed)return this.getContextValuesContainer(this._myContextId).getValue(S)}setContext(S,v){if(this._isDisposed)return;const p=this.getContextValuesContainer(this._myContextId);!p||p.setValue(S,v)&&this._onDidChangeContext.fire(new c(S))}removeContext(S){this._isDisposed||this.getContextValuesContainer(this._myContextId).removeValue(S)&&this._onDidChangeContext.fire(new c(S))}getContext(S){return this._isDisposed?n.INSTANCE:this.getContextValuesContainer(h(S))}}e.AbstractContextKeyService=s;let a=class extends s{constructor(S){super(0);this._contexts=new Map,this._toDispose=new k.DisposableStore,this._lastContextId=0;const v=new i(this._myContextId,S,this._onDidChangeContext);this._contexts.set(this._myContextId,v),this._toDispose.add(v)}dispose(){this._onDidChangeContext.dispose(),this._isDisposed=!0,this._toDispose.dispose()}getContextValuesContainer(S){return this._isDisposed?n.INSTANCE:this._contexts.get(S)||n.INSTANCE}createChildContext(S=this._myContextId){if(this._isDisposed)throw new Error("ContextKeyService has been disposed");let v=++this._lastContextId;return this._contexts.set(v,new t(v,this.getContextValuesContainer(S))),v}disposeContext(S){this._isDisposed||this._contexts.delete(S)}};a=Ie([pe(0,C.IConfigurationService)],a),e.ContextKeyService=a;class l extends s{constructor(S,v){super(S.createChildContext());if(this._parentChangeListener=new k.MutableDisposable,this._parent=S,this._updateParentChangeListener(),this._domNode=v,this._domNode.hasAttribute(g)){let p="";this._domNode.classList&&(p=Array.from(this._domNode.classList.values()).join(", ")),console.error(`Element already has context attribute${p?": "+p:""}`)}this._domNode.setAttribute(g,String(this._myContextId))}_updateParentChangeListener(){this._parentChangeListener.value=this._parent.onDidChangeContext(this._onDidChangeContext.fire,this._onDidChangeContext)}dispose(){this._isDisposed||(this._onDidChangeContext.dispose(),this._parent.disposeContext(this._myContextId),this._parentChangeListener.dispose(),this._domNode.removeAttribute(g),this._isDisposed=!0)}getContextValuesContainer(S){return this._isDisposed?n.INSTANCE:this._parent.getContextValuesContainer(S)}createChildContext(S=this._myContextId){if(this._isDisposed)throw new Error("ScopedContextKeyService has been disposed");return this._parent.createChildContext(S)}disposeContext(S){this._isDisposed||this._parent.disposeContext(S)}}function h(f){for(;f;){if(f.hasAttribute(g)){const S=f.getAttribute(g);return S?parseInt(S,10):NaN}f=f.parentElement}return 0}b.CommandsRegistry.registerCommand(u.SET_CONTEXT_COMMAND_ID,function(f,S,v){f.get(u.IContextKeyService).createKey(String(S),v)}),b.CommandsRegistry.registerCommand({id:"getContextKeyInfo",handler(){return[...u.RawContextKey.all()].sort((f,S)=>f.key.localeCompare(S.key))},description:{description:(0,w.localize)(0,null),args:[]}}),b.CommandsRegistry.registerCommand("_generateContextKeyInfo",function(){const f=[],S=new Set;for(let v of u.RawContextKey.all())S.has(v.key)||(S.add(v.key),f.push(v));f.sort((v,p)=>v.key.localeCompare(p.key)),console.log(JSON.stringify(f,void 0,2))})}),define(te[278],ie([1,0,16,592,17]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InputFocusedContext=e.InputFocusedContextKey=e.IsDevelopmentContext=e.IsIOSContext=e.IsMacNativeContext=e.IsWebContext=e.IsWindowsContext=e.IsLinuxContext=e.IsMacContext=void 0,e.IsMacContext=new k.RawContextKey("isMac",L.isMacintosh,(0,m.localize)(0,null)),e.IsLinuxContext=new k.RawContextKey("isLinux",L.isLinux,(0,m.localize)(1,null)),e.IsWindowsContext=new k.RawContextKey("isWindows",L.isWindows,(0,m.localize)(2,null)),e.IsWebContext=new k.RawContextKey("isWeb",L.isWeb,(0,m.localize)(3,null)),e.IsMacNativeContext=new k.RawContextKey("isMacNative",L.isMacintosh&&!L.isWeb,(0,m.localize)(4,null)),e.IsIOSContext=new k.RawContextKey("isIOS",L.isIOS,(0,m.localize)(5,null)),e.IsDevelopmentContext=new k.RawContextKey("isDevelopment",!1,!0),e.InputFocusedContextKey="inputFocus",e.InputFocusedContext=new k.RawContextKey(e.InputFocusedContextKey,!1,(0,m.localize)(6,null))}),define(te[78],ie([1,0,9]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IContextMenuService=e.IContextViewService=void 0,e.IContextViewService=(0,L.createDecorator)("contextViewService"),e.IContextMenuService=(0,L.createDecorator)("contextMenuService")}),define(te[130],ie([1,0,9]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IDialogService=void 0,e.IDialogService=(0,L.createDecorator)("dialogService")}),define(te[157],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ServiceCollection=void 0;class L{constructor(...k){this._entries=new Map;for(let[I,w]of k)this.set(I,w)}set(k,I){const w=this._entries.get(k);return this._entries.set(k,I),w}get(k){return this._entries.get(k)}}e.ServiceCollection=L}),define(te[617],ie([1,0,10,13,199,606,9,157]),function(q,e,L,m,k,I,w,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Trace=e.InstantiationService=void 0;const C=!1;class u extends Error{constructor(i){var o;super("cyclic dependency between services");this.message=(o=i.findCycleSlow())!==null&&o!==void 0?o:`UNABLE to detect cycle, dumping graph: 
+${i.toString()}`}}class g{constructor(i=new b.ServiceCollection,o=!1,c){this._activeInstantiations=new Set,this._services=i,this._strict=o,this._parent=c,this._services.set(w.IInstantiationService,this)}createChild(i){return new g(i,this._strict,this)}invokeFunction(i,...o){let c=t.traceInvocation(i),d=!1;try{return i({get:s=>{if(d)throw(0,m.illegalState)("service accessor is only valid during the invocation of its target method");const a=this._getOrCreateServiceInstance(s,c);if(!a)throw new Error(`[invokeFunction] unknown service '${s}'`);return a}},...o)}finally{d=!0,c.stop()}}createInstance(i,...o){let c,d;return i instanceof k.SyncDescriptor?(c=t.traceCreation(i.ctor),d=this._createInstance(i.ctor,i.staticArguments.concat(o),c)):(c=t.traceCreation(i),d=this._createInstance(i,o,c)),c.stop(),d}_createInstance(i,o=[],c){let d=w._util.getServiceDependencies(i).sort((a,l)=>a.index-l.index),r=[];for(const a of d){let l=this._getOrCreateServiceInstance(a.id,c);l||this._throwIfStrict(`[createInstance] ${i.name} depends on UNKNOWN service ${a.id}.`,!1),r.push(l)}let s=d.length>0?d[0].index:o.length;if(o.length!==s){console.warn(`[createInstance] First service dependency of ${i.name} at position ${s+1} conflicts with ${o.length} static arguments`);let a=s-o.length;a>0?o=o.concat(new Array(a)):o=o.slice(0,s)}return new i(...[...o,...r])}_setServiceInstance(i,o){if(this._services.get(i)instanceof k.SyncDescriptor)this._services.set(i,o);else if(this._parent)this._parent._setServiceInstance(i,o);else throw new Error("illegalState - setting UNKNOWN service instance")}_getServiceInstanceOrDescriptor(i){let o=this._services.get(i);return!o&&this._parent?this._parent._getServiceInstanceOrDescriptor(i):o}_getOrCreateServiceInstance(i,o){let c=this._getServiceInstanceOrDescriptor(i);return c instanceof k.SyncDescriptor?this._safeCreateAndCacheServiceInstance(i,c,o.branch(i,!0)):(o.branch(i,!1),c)}_safeCreateAndCacheServiceInstance(i,o,c){if(this._activeInstantiations.has(i))throw new Error(`illegal state - RECURSIVELY instantiating service '${i}'`);this._activeInstantiations.add(i);try{return this._createAndCacheServiceInstance(i,o,c)}finally{this._activeInstantiations.delete(i)}}_createAndCacheServiceInstance(i,o,c){const d=new I.Graph(a=>a.id.toString());let r=0;const s=[{id:i,desc:o,_trace:c}];for(;s.length;){const a=s.pop();if(d.lookupOrInsertNode(a),r++>1e3)throw new u(d);for(let l of w._util.getServiceDependencies(a.desc.ctor)){let h=this._getServiceInstanceOrDescriptor(l.id);if(h||this._throwIfStrict(`[createInstance] ${i} depends on ${l.id} which is NOT registered.`,!0),h instanceof k.SyncDescriptor){const f={id:l.id,desc:h,_trace:a._trace.branch(l.id,!0)};d.insertEdge(a,f),s.push(f)}}}for(;;){const a=d.roots();if(a.length===0){if(!d.isEmpty())throw new u(d);break}for(const{data:l}of a){if(this._getServiceInstanceOrDescriptor(l.id)instanceof k.SyncDescriptor){const f=this._createServiceInstanceWithOwner(l.id,l.desc.ctor,l.desc.staticArguments,l.desc.supportsDelayedInstantiation,l._trace);this._setServiceInstance(l.id,f)}d.removeNode(l)}}return this._getServiceInstanceOrDescriptor(i)}_createServiceInstanceWithOwner(i,o,c=[],d,r){if(this._services.get(i)instanceof k.SyncDescriptor)return this._createServiceInstance(o,c,d,r);if(this._parent)return this._parent._createServiceInstanceWithOwner(i,o,c,d,r);throw new Error(`illegalState - creating UNKNOWN service instance ${o.name}`)}_createServiceInstance(i,o=[],c,d){if(c){const r=new L.IdleValue(()=>this._createInstance(i,o,d));return new Proxy(Object.create(null),{get(s,a){if(a in s)return s[a];let l=r.value,h=l[a];return typeof h!="function"||(h=h.bind(l),s[a]=h),h},set(s,a,l){return r.value[a]=l,!0}})}else return this._createInstance(i,o,d)}_throwIfStrict(i,o){if(o&&console.warn(o),this._strict)throw new Error(i)}}e.InstantiationService=g;class t{constructor(i,o){this.type=i,this.name=o,this._start=Date.now(),this._dep=[]}static traceInvocation(i){return C?new t(1,i.name||i.toString().substring(0,42).replace(/\n/g,"")):t._None}static traceCreation(i){return C?new t(0,i.name):t._None}branch(i,o){let c=new t(2,i.toString());return this._dep.push([i,o,c]),c}stop(){let i=Date.now()-this._start;t._totals+=i;let o=!1;function c(r,s){let a=[],l=new Array(r+1).join("	");for(const[h,f,S]of s._dep)if(f&&S){o=!0,a.push(`${l}CREATES -> ${h}`);let v=c(r+1,S);v&&a.push(v)}else a.push(`${l}uses -> ${h}`);return a.join(`
+`)}let d=[`${this.type===0?"CREATE":"CALL"} ${this.name}`,`${c(1,this)}`,`DONE, took ${i.toFixed(2)}ms (grand total ${t._totals.toFixed(2)}ms)`];(i>2||o)&&console.log(d.join(`
+`))}}e.Trace=t,t._None=new class extends t{constructor(){super(-1,null)}stop(){}branch(){return this}},t._totals=0}),define(te[618],ie([1,0,10,4,2,594]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractKeybindingService=void 0;const w=/^(cursor|delete)/;class b extends k.Disposable{constructor(g,t,n,i,o){super();this._contextKeyService=g,this._commandService=t,this._telemetryService=n,this._notificationService=i,this._logService=o,this._onDidUpdateKeybindings=this._register(new m.Emitter),this._currentChord=null,this._currentChordChecker=new L.IntervalTimer,this._currentChordStatusMessage=null,this._ignoreSingleModifiers=C.EMPTY,this._currentSingleModifier=null,this._currentSingleModifierClearTimeout=new L.TimeoutTimer,this._logging=!1}get onDidUpdateKeybindings(){return this._onDidUpdateKeybindings?this._onDidUpdateKeybindings.event:m.Event.None}dispose(){super.dispose()}_log(g){this._logging&&this._logService.info(`[KeybindingService]: ${g}`)}getKeybindings(){return this._getResolver().getKeybindings()}lookupKeybinding(g,t){const n=this._getResolver().lookupPrimaryKeybinding(g,t||this._contextKeyService);if(!!n)return n.resolvedKeybinding}dispatchEvent(g,t){return this._dispatch(g,t)}softDispatch(g,t){const n=this.resolveKeyboardEvent(g);if(n.isChord())return console.warn("Unexpected keyboard event mapped to a chord"),null;const[i]=n.getDispatchParts();if(i===null)return null;const o=this._contextKeyService.getContext(t),c=this._currentChord?this._currentChord.keypress:null;return this._getResolver().resolve(o,c,i)}_enterChordMode(g,t){this._currentChord={keypress:g,label:t},this._currentChordStatusMessage=this._notificationService.status(I.localize(0,null,t));const n=Date.now();this._currentChordChecker.cancelAndSet(()=>{if(!this._documentHasFocus()){this._leaveChordMode();return}Date.now()-n>5e3&&this._leaveChordMode()},500)}_leaveChordMode(){this._currentChordStatusMessage&&(this._currentChordStatusMessage.dispose(),this._currentChordStatusMessage=null),this._currentChordChecker.cancel(),this._currentChord=null}_dispatch(g,t){return this._doDispatch(this.resolveKeyboardEvent(g),t,!1)}_singleModifierDispatch(g,t){const n=this.resolveKeyboardEvent(g),[i]=n.getSingleModifierDispatchParts();if(i)return this._ignoreSingleModifiers.has(i)?(this._log(`+ Ignoring single modifier ${i} due to it being pressed together with other keys.`),this._ignoreSingleModifiers=C.EMPTY,this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1):(this._ignoreSingleModifiers=C.EMPTY,this._currentSingleModifier===null?(this._log(`+ Storing single modifier for possible chord ${i}.`),this._currentSingleModifier=i,this._currentSingleModifierClearTimeout.cancelAndSet(()=>{this._log("+ Clearing single modifier due to 300ms elapsed."),this._currentSingleModifier=null},300),!1):i===this._currentSingleModifier?(this._log(`/ Dispatching single modifier chord ${i} ${i}`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,this._doDispatch(n,t,!0)):(this._log(`+ Clearing single modifier due to modifier mismatch: ${this._currentSingleModifier} ${i}`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1));const[o]=n.getParts();return this._ignoreSingleModifiers=new C(o),this._currentSingleModifier!==null&&this._log("+ Clearing single modifier due to other key up."),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1}_doDispatch(g,t,n=!1){let i=!1;if(g.isChord())return console.warn("Unexpected keyboard event mapped to a chord"),!1;let o=null,c=null;if(n){const[a]=g.getSingleModifierDispatchParts();o=a,c=a}else[o]=g.getDispatchParts(),c=this._currentChord?this._currentChord.keypress:null;if(o===null)return this._log("\\ Keyboard event cannot be dispatched in keydown phase."),i;const d=this._contextKeyService.getContext(t),r=g.getLabel(),s=this._getResolver().resolve(d,c,o);return this._logService.trace("KeybindingService#dispatch",r,s==null?void 0:s.commandId),s&&s.enterChord?(i=!0,this._enterChordMode(o,r),i):(this._currentChord&&(!s||!s.commandId)&&(this._notificationService.status(I.localize(1,null,this._currentChord.label,r),{hideAfter:10*1e3}),i=!0),this._leaveChordMode(),s&&s.commandId&&(s.bubble||(i=!0),typeof s.commandArgs=="undefined"?this._commandService.executeCommand(s.commandId).then(void 0,a=>this._notificationService.warn(a)):this._commandService.executeCommand(s.commandId,s.commandArgs).then(void 0,a=>this._notificationService.warn(a)),w.test(s.commandId)||this._telemetryService.publicLog2("workbenchActionExecuted",{id:s.commandId,from:"keybinding"})),i)}mightProducePrintableCharacter(g){return g.ctrlKey||g.metaKey?!1:g.keyCode>=31&&g.keyCode<=56||g.keyCode>=21&&g.keyCode<=30}}e.AbstractKeybindingService=b;class C{constructor(g){this._ctrlKey=g?g.ctrlKey:!1,this._shiftKey=g?g.shiftKey:!1,this._altKey=g?g.altKey:!1,this._metaKey=g?g.metaKey:!1}has(g){switch(g){case"ctrl":return this._ctrlKey;case"shift":return this._shiftKey;case"alt":return this._altKey;case"meta":return this._metaKey}}}C.EMPTY=new C(null)}),define(te[619],ie([1,0,13,198,96]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BaseResolvedKeybinding=void 0;class I extends k.ResolvedKeybinding{constructor(b,C){super();if(C.length===0)throw(0,L.illegalArgument)("parts");this._os=b,this._parts=C}getLabel(){return m.UILabelProvider.toLabel(this._os,this._parts,b=>this._getLabel(b))}getAriaLabel(){return m.AriaLabelProvider.toLabel(this._os,this._parts,b=>this._getAriaLabel(b))}getElectronAccelerator(){return this._parts.length>1||this._parts[0].isDuplicateModifierCase()?null:m.ElectronAcceleratorLabelProvider.toLabel(this._os,this._parts,b=>this._getElectronAccelerator(b))}isChord(){return this._parts.length>1}getParts(){return this._parts.map(b=>this._getPart(b))}_getPart(b){return new k.ResolvedKeybindingPart(b.ctrlKey,b.shiftKey,b.altKey,b.metaKey,this._getLabel(b),this._getAriaLabel(b))}getDispatchParts(){return this._parts.map(b=>this._getDispatchPart(b))}getSingleModifierDispatchParts(){return this._parts.map(b=>this._getSingleModifierDispatchPart(b))}}e.BaseResolvedKeybinding=I}),define(te[43],ie([1,0,9]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IKeybindingService=void 0,e.IKeybindingService=(0,L.createDecorator)("keybindingService")}),define(te[620],ie([1,0,17]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.KeybindingResolver=void 0;class m{constructor(b,C,u){this._log=u,this._defaultKeybindings=b,this._defaultBoundCommands=new Map;for(const g of b){const t=g.command;t&&t.charAt(0)!=="-"&&this._defaultBoundCommands.set(t,!0)}this._map=new Map,this._lookupMap=new Map,this._keybindings=m.handleRemovals([].concat(b).concat(C));for(let g=0,t=this._keybindings.length;g<t;g++){let n=this._keybindings[g];n.keypressParts.length!==0&&(n.when&&n.when.type===0||this._addKeyPress(n.keypressParts[0],n))}}static _isTargetedForRemoval(b,C,u,g){return!(C&&b.keypressParts[0]!==C||u&&b.keypressParts[1]!==u||g&&(!b.when||!(0,L.expressionsAreEqualWithConstantSubstitution)(g,b.when)))}static handleRemovals(b){const C=new Map;for(let g=0,t=b.length;g<t;g++){const n=b[g];if(n.command&&n.command.charAt(0)==="-"){const i=n.command.substring(1);C.has(i)?C.get(i).push(n):C.set(i,[n])}}if(C.size===0)return b;const u=[];for(let g=0,t=b.length;g<t;g++){const n=b[g];if(!n.command||n.command.length===0){u.push(n);continue}if(n.command.charAt(0)==="-")continue;const i=C.get(n.command);if(!i||!n.isDefault){u.push(n);continue}let o=!1;for(const c of i){const d=c.keypressParts[0],r=c.keypressParts[1],s=c.when;if(this._isTargetedForRemoval(n,d,r,s)){o=!0;break}}if(!o){u.push(n);continue}}return u}_addKeyPress(b,C){const u=this._map.get(b);if(typeof u=="undefined"){this._map.set(b,[C]),this._addToLookupMap(C);return}for(let g=u.length-1;g>=0;g--){let t=u[g];if(t.command===C.command)continue;const n=t.keypressParts.length>1,i=C.keypressParts.length>1;n&&i&&t.keypressParts[1]!==C.keypressParts[1]||m.whenIsEntirelyIncluded(t.when,C.when)&&this._removeFromLookupMap(t)}u.push(C),this._addToLookupMap(C)}_addToLookupMap(b){if(!b.command)return;let C=this._lookupMap.get(b.command);typeof C=="undefined"?(C=[b],this._lookupMap.set(b.command,C)):C.push(b)}_removeFromLookupMap(b){if(!b.command)return;let C=this._lookupMap.get(b.command);if(typeof C!="undefined"){for(let u=0,g=C.length;u<g;u++)if(C[u]===b){C.splice(u,1);return}}}static whenIsEntirelyIncluded(b,C){return!C||C.type===1?!0:!b||b.type===1?!1:(0,L.implies)(b,C)}getKeybindings(){return this._keybindings}lookupPrimaryKeybinding(b,C){const u=this._lookupMap.get(b);if(typeof u=="undefined"||u.length===0)return null;if(u.length===1)return u[0];for(let g=u.length-1;g>=0;g--){const t=u[g];if(C.contextMatchesRules(t.when))return t}return u[u.length-1]}resolve(b,C,u){this._log(`| Resolving ${u}${C?` chorded from ${C}`:""}`);let g=null;if(C!==null){const n=this._map.get(C);if(typeof n=="undefined")return this._log("\\ No keybinding entries."),null;g=[];for(let i=0,o=n.length;i<o;i++){let c=n[i];c.keypressParts[1]===u&&g.push(c)}}else{const n=this._map.get(u);if(typeof n=="undefined")return this._log("\\ No keybinding entries."),null;g=n}let t=this._findCommand(b,g);return t?C===null&&t.keypressParts.length>1&&t.keypressParts[1]!==null?(this._log(`\\ From ${g.length} keybinding entries, matched chord, when: ${k(t.when)}, source: ${I(t)}.`),{enterChord:!0,leaveChord:!1,commandId:null,commandArgs:null,bubble:!1}):(this._log(`\\ From ${g.length} keybinding entries, matched ${t.command}, when: ${k(t.when)}, source: ${I(t)}.`),{enterChord:!1,leaveChord:t.keypressParts.length>1,commandId:t.command,commandArgs:t.commandArgs,bubble:t.bubble}):(this._log(`\\ From ${g.length} keybinding entries, no when clauses matched the context.`),null)}_findCommand(b,C){for(let u=C.length-1;u>=0;u--){let g=C[u];if(!!m._contextMatchesRules(b,g.when))return g}return null}static _contextMatchesRules(b,C){return C?C.evaluate(b):!0}}e.KeybindingResolver=m;function k(w){return w?`${w.serialize()}`:"no when condition"}function I(w){return w.extensionId?w.isBuiltinExtension?`built-in extension ${w.extensionId}`:`user extension ${w.extensionId}`:w.isDefault?"built-in":"user"}}),define(te[279],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.removeElementsAfterNulls=e.ResolvedKeybindingItem=void 0;class L{constructor(I,w,b,C,u,g,t){this._resolvedKeybindingItemBrand=void 0,this.resolvedKeybinding=I,this.keypressParts=I?m(I.getDispatchParts()):[],I&&this.keypressParts.length===0&&(this.keypressParts=m(I.getSingleModifierDispatchParts())),this.bubble=w?w.charCodeAt(0)===94:!1,this.command=this.bubble?w.substr(1):w,this.commandArgs=b,this.when=C,this.isDefault=u,this.extensionId=g,this.isBuiltinExtension=t}}e.ResolvedKeybindingItem=L;function m(k){let I=[];for(let w=0,b=k.length;w<b;w++){const C=k[w];if(!C)return I;I.push(C)}return I}e.removeElementsAfterNulls=m}),define(te[621],ie([1,0,58,96,619,279]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.USLayoutResolvedKeybinding=void 0;class w extends k.BaseResolvedKeybinding{constructor(C,u){super(u,C.parts)}_keyCodeToUILabel(C){if(this._os===2)switch(C){case 15:return"\u2190";case 16:return"\u2191";case 17:return"\u2192";case 18:return"\u2193"}return L.KeyCodeUtils.toString(C)}_getLabel(C){return C.isDuplicateModifierCase()?"":this._keyCodeToUILabel(C.keyCode)}_getAriaLabel(C){return C.isDuplicateModifierCase()?"":L.KeyCodeUtils.toString(C.keyCode)}_getElectronAccelerator(C){return L.KeyCodeUtils.toElectronAccelerator(C.keyCode)}_getDispatchPart(C){return w.getDispatchStr(C)}static getDispatchStr(C){if(C.isModifierKey())return null;let u="";return C.ctrlKey&&(u+="ctrl+"),C.shiftKey&&(u+="shift+"),C.altKey&&(u+="alt+"),C.metaKey&&(u+="meta+"),u+=L.KeyCodeUtils.toString(C.keyCode),u}_getSingleModifierDispatchPart(C){return C.keyCode===5&&!C.shiftKey&&!C.altKey&&!C.metaKey?"ctrl":C.keyCode===4&&!C.ctrlKey&&!C.altKey&&!C.metaKey?"shift":C.keyCode===6&&!C.ctrlKey&&!C.shiftKey&&!C.metaKey?"alt":C.keyCode===57&&!C.ctrlKey&&!C.shiftKey&&!C.altKey?"meta":null}static _scanCodeToKeyCode(C){const u=L.IMMUTABLE_CODE_TO_KEY_CODE[C];if(u!==-1)return u;switch(C){case 10:return 31;case 11:return 32;case 12:return 33;case 13:return 34;case 14:return 35;case 15:return 36;case 16:return 37;case 17:return 38;case 18:return 39;case 19:return 40;case 20:return 41;case 21:return 42;case 22:return 43;case 23:return 44;case 24:return 45;case 25:return 46;case 26:return 47;case 27:return 48;case 28:return 49;case 29:return 50;case 30:return 51;case 31:return 52;case 32:return 53;case 33:return 54;case 34:return 55;case 35:return 56;case 36:return 22;case 37:return 23;case 38:return 24;case 39:return 25;case 40:return 26;case 41:return 27;case 42:return 28;case 43:return 29;case 44:return 30;case 45:return 21;case 51:return 83;case 52:return 81;case 53:return 87;case 54:return 89;case 55:return 88;case 56:return 0;case 57:return 80;case 58:return 90;case 59:return 86;case 60:return 82;case 61:return 84;case 62:return 85;case 106:return 92}return 0}static _resolveSimpleUserBinding(C){if(!C)return null;if(C instanceof m.SimpleKeybinding)return C;const u=this._scanCodeToKeyCode(C.scanCode);return u===0?null:new m.SimpleKeybinding(C.ctrlKey,C.shiftKey,C.altKey,C.metaKey,u)}static resolveUserBinding(C,u){const g=(0,I.removeElementsAfterNulls)(C.map(t=>this._resolveSimpleUserBinding(t)));return g.length>0?[new w(new m.ChordKeybinding(g),u)]:[]}}e.USLayoutResolvedKeybinding=w}),define(te[131],ie([1,0,9]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ILabelService=void 0,e.ILabelService=(0,L.createDecorator)("labelService")}),define(te[132],ie([1,0,9]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ILayoutService=void 0,e.ILayoutService=(0,L.createDecorator)("layoutService")}),define(te[280],ie([1,0,7,4,132,29,52]),function(q,e,L,m,k,I,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EditorScopedLayoutService=void 0;let b=class{constructor(g){this._codeEditorService=g,this.onDidLayout=m.Event.None}get dimension(){return this._dimension||(this._dimension=L.getClientArea(window.document.body)),this._dimension}get hasContainer(){return!1}get container(){throw new Error("ILayoutService.container is not available in the standalone editor!")}focus(){var g;(g=this._codeEditorService.getFocusedCodeEditor())===null||g===void 0||g.focus()}};b=Ie([pe(0,I.ICodeEditorService)],b);let C=class extends b{constructor(g,t){super(t);this._container=g}get hasContainer(){return!1}get container(){return this._container}};C=Ie([pe(1,I.ICodeEditorService)],C),e.EditorScopedLayoutService=C,(0,w.registerSingleton)(k.ILayoutService,b)}),define(te[622],ie([1,0,225,2,132]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ContextViewService=void 0;let I=class extends m.Disposable{constructor(b){super();this.layoutService=b,this.currentViewDisposable=m.Disposable.None,this.container=b.hasContainer?b.container:null,this.contextView=this._register(new L.ContextView(this.container,1)),this.layout(),this._register(b.onDidLayout(()=>this.layout()))}setContainer(b,C){this.contextView.setContainer(b,C||1)}showContextView(b,C,u){C?C!==this.container&&(this.container=C,this.setContainer(C,u?3:2)):this.layoutService.hasContainer&&this.container!==this.layoutService.container&&(this.container=this.layoutService.container,this.setContainer(this.container,1)),this.contextView.show(b);const g=(0,m.toDisposable)(()=>{this.currentViewDisposable===g&&this.hideContextView()});return this.currentViewDisposable=g,g}getContextViewElement(){return this.contextView.getViewElement()}layout(){this.contextView.layout()}hideContextView(b){this.contextView.hide(b)}};I=Ie([pe(0,k.ILayoutService)],I),e.ContextViewService=I}),define(te[66],ie([1,0,4,2,9]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LogService=e.ConsoleLogger=e.AbstractLogger=e.DEFAULT_LOG_LEVEL=e.LogLevel=e.ILogService=void 0,e.ILogService=(0,k.createDecorator)("logService");var I;(function(u){u[u.Trace=0]="Trace",u[u.Debug=1]="Debug",u[u.Info=2]="Info",u[u.Warning=3]="Warning",u[u.Error=4]="Error",u[u.Critical=5]="Critical",u[u.Off=6]="Off"})(I=e.LogLevel||(e.LogLevel={})),e.DEFAULT_LOG_LEVEL=I.Info;class w extends m.Disposable{constructor(){super(...arguments);this.level=e.DEFAULT_LOG_LEVEL,this._onDidChangeLogLevel=this._register(new L.Emitter)}setLevel(g){this.level!==g&&(this.level=g,this._onDidChangeLogLevel.fire(this.level))}getLevel(){return this.level}}e.AbstractLogger=w;class b extends w{constructor(g=e.DEFAULT_LOG_LEVEL){super();this.setLevel(g)}trace(g,...t){this.getLevel()<=I.Trace&&console.log("%cTRACE","color: #888",g,...t)}debug(g,...t){this.getLevel()<=I.Debug&&console.log("%cDEBUG","background: #eee; color: #888",g,...t)}info(g,...t){this.getLevel()<=I.Info&&console.log("%c INFO","color: #33f",g,...t)}error(g,...t){this.getLevel()<=I.Error&&console.log("%c  ERR","color: #f33",g,...t)}dispose(){}}e.ConsoleLogger=b;class C extends m.Disposable{constructor(g){super();this.logger=g,this._register(g)}getLevel(){return this.logger.getLevel()}trace(g,...t){this.logger.trace(g,...t)}debug(g,...t){this.logger.debug(g,...t)}info(g,...t){this.logger.info(g,...t)}error(g,...t){this.logger.error(g,...t)}}e.LogService=C}),define(te[281],ie([1,0,10,2,222,329,3,33,437,48,156,8,18,66,55,13,20]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EditorWorkerClient=e.EditorWorkerHost=e.EditorWorkerService=void 0;const r=60*1e3,s=5*60*1e3;function a(y,E){const N=y.getModel(E);return!(!N||N.isTooLargeForSyncing())}let l=class extends m.Disposable{constructor(E,N,D,M,B){super();this._modelService=E,this._workerManager=this._register(new f(this._modelService,M)),this._logService=D,this._register(B.linkProvider.register({language:"*",hasAccessToAllModels:!0},{provideLinks:(O,T)=>a(this._modelService,O.uri)?this._workerManager.withWorker().then(A=>A.computeLinks(O.uri)).then(A=>A&&{links:A}):Promise.resolve({links:[]})})),this._register(B.completionProvider.register("*",new h(this._workerManager,N,this._modelService,M)))}dispose(){super.dispose()}canComputeUnicodeHighlights(E){return a(this._modelService,E)}computedUnicodeHighlights(E,N,D){return this._workerManager.withWorker().then(M=>M.computedUnicodeHighlights(E,N,D))}computeDiff(E,N,D,M){return this._workerManager.withWorker().then(B=>B.computeDiff(E,N,D,M))}computeMoreMinimalEdits(E,N){if((0,n.isNonEmptyArray)(N)){if(!a(this._modelService,E))return Promise.resolve(N);const D=o.StopWatch.create(!0),M=this._workerManager.withWorker().then(B=>B.computeMoreMinimalEdits(E,N));return M.finally(()=>this._logService.trace("FORMAT#computeMoreMinimalEdits",E.toString(!0),D.elapsed())),Promise.race([M,(0,L.timeout)(1e3).then(()=>N)])}else return Promise.resolve(void 0)}canNavigateValueSet(E){return a(this._modelService,E)}navigateValueSet(E,N,D){return this._workerManager.withWorker().then(M=>M.navigateValueSet(E,N,D))}canComputeWordRanges(E){return a(this._modelService,E)}computeWordRanges(E,N){return this._workerManager.withWorker().then(D=>D.computeWordRanges(E,N))}};l=Ie([pe(0,u.IModelService),pe(1,g.ITextResourceConfigurationService),pe(2,i.ILogService),pe(3,b.ILanguageConfigurationService),pe(4,d.ILanguageFeaturesService)],l),e.EditorWorkerService=l;class h{constructor(E,N,D,M){this.languageConfigurationService=M,this._debugDisplayName="wordbasedCompletions",this._workerManager=E,this._configurationService=N,this._modelService=D}provideCompletionItems(E,N){return we(this,void 0,void 0,function*(){const D=this._configurationService.getValue(E.uri,N,"editor");if(!D.wordBasedSuggestions)return;const M=[];if(D.wordBasedSuggestionsMode==="currentDocument")a(this._modelService,E.uri)&&M.push(E.uri);else for(const W of this._modelService.getModels())!a(this._modelService,W.uri)||(W===E?M.unshift(W.uri):(D.wordBasedSuggestionsMode==="allDocuments"||W.getLanguageId()===E.getLanguageId())&&M.push(W.uri));if(M.length===0)return;const B=this.languageConfigurationService.getLanguageConfiguration(E.getLanguageId()).getWordDefinition(),O=E.getWordAtPosition(N),T=O?new w.Range(N.lineNumber,O.startColumn,N.lineNumber,O.endColumn):w.Range.fromPositions(N),A=T.setEndPosition(N.lineNumber,N.column),F=yield(yield this._workerManager.withWorker()).textualSuggest(M,O==null?void 0:O.word,B);if(!!F)return{duration:F.duration,suggestions:F.words.map(W=>({kind:18,label:W,insertText:W,range:{insert:A,replace:T}}))}})}}class f extends m.Disposable{constructor(E,N){super();this.languageConfigurationService=N,this._modelService=E,this._editorWorkerClient=null,this._lastWorkerUsedTime=new Date().getTime(),this._register(new L.IntervalTimer).cancelAndSet(()=>this._checkStopIdleWorker(),Math.round(s/2)),this._register(this._modelService.onModelRemoved(M=>this._checkStopEmptyWorker()))}dispose(){this._editorWorkerClient&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null),super.dispose()}_checkStopEmptyWorker(){if(!this._editorWorkerClient)return;this._modelService.getModels().length===0&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}_checkStopIdleWorker(){if(!this._editorWorkerClient)return;new Date().getTime()-this._lastWorkerUsedTime>s&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}withWorker(){return this._lastWorkerUsedTime=new Date().getTime(),this._editorWorkerClient||(this._editorWorkerClient=new _(this._modelService,!1,"editorWorkerService",this.languageConfigurationService)),Promise.resolve(this._editorWorkerClient)}}class S extends m.Disposable{constructor(E,N,D){super();if(this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),this._proxy=E,this._modelService=N,!D){const M=new L.IntervalTimer;M.cancelAndSet(()=>this._checkStopModelSync(),Math.round(r/2)),this._register(M)}}dispose(){for(let E in this._syncedModels)(0,m.dispose)(this._syncedModels[E]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),super.dispose()}ensureSyncedResources(E,N){for(const D of E){const M=D.toString();this._syncedModels[M]||this._beginModelSync(D,N),this._syncedModels[M]&&(this._syncedModelsLastUsedTime[M]=new Date().getTime())}}_checkStopModelSync(){const E=new Date().getTime(),N=[];for(let D in this._syncedModelsLastUsedTime)E-this._syncedModelsLastUsedTime[D]>r&&N.push(D);for(const D of N)this._stopModelSync(D)}_beginModelSync(E,N){const D=this._modelService.getModel(E);if(!D||!N&&D.isTooLargeForSyncing())return;const M=E.toString();this._proxy.acceptNewModel({url:D.uri.toString(),lines:D.getLinesContent(),EOL:D.getEOL(),versionId:D.getVersionId()});const B=new m.DisposableStore;B.add(D.onDidChangeContent(O=>{this._proxy.acceptModelChanged(M.toString(),O)})),B.add(D.onWillDispose(()=>{this._stopModelSync(M)})),B.add((0,m.toDisposable)(()=>{this._proxy.acceptRemovedModel(M)})),this._syncedModels[M]=B}_stopModelSync(E){const N=this._syncedModels[E];delete this._syncedModels[E],delete this._syncedModelsLastUsedTime[E],(0,m.dispose)(N)}}class v{constructor(E){this._instance=E,this._proxyObj=Promise.resolve(this._instance)}dispose(){this._instance.dispose()}getProxyObject(){return this._proxyObj}}class p{constructor(E){this._workerClient=E}fhr(E,N){return this._workerClient.fhr(E,N)}}e.EditorWorkerHost=p;class _ extends m.Disposable{constructor(E,N,D,M){super();this.languageConfigurationService=M,this._disposed=!1,this._modelService=E,this._keepIdleModels=N,this._workerFactory=new I.DefaultWorkerFactory(D),this._worker=null,this._modelManager=null}fhr(E,N){throw new Error("Not implemented!")}_getOrCreateWorker(){if(!this._worker)try{this._worker=this._register(new k.SimpleWorkerClient(this._workerFactory,"vs/editor/common/services/editorSimpleWorker",new p(this)))}catch(E){(0,k.logOnceWebWorkerWarning)(E),this._worker=new v(new C.EditorSimpleWorker(new p(this),null))}return this._worker}_getProxy(){return this._getOrCreateWorker().getProxyObject().then(void 0,E=>((0,k.logOnceWebWorkerWarning)(E),this._worker=new v(new C.EditorSimpleWorker(new p(this),null)),this._getOrCreateWorker().getProxyObject()))}_getOrCreateModelManager(E){return this._modelManager||(this._modelManager=this._register(new S(E,this._modelService,this._keepIdleModels))),this._modelManager}_withSyncedResources(E,N=!1){return we(this,void 0,void 0,function*(){return this._disposed?Promise.reject((0,c.canceled)()):this._getProxy().then(D=>(this._getOrCreateModelManager(D).ensureSyncedResources(E,N),D))})}computedUnicodeHighlights(E,N,D){return this._withSyncedResources([E]).then(M=>M.computeUnicodeHighlights(E.toString(),N,D))}computeDiff(E,N,D,M){return this._withSyncedResources([E,N],!0).then(B=>B.computeDiff(E.toString(),N.toString(),D,M))}computeMoreMinimalEdits(E,N){return this._withSyncedResources([E]).then(D=>D.computeMoreMinimalEdits(E.toString(),N))}computeLinks(E){return this._withSyncedResources([E]).then(N=>N.computeLinks(E.toString()))}textualSuggest(E,N,D){return we(this,void 0,void 0,function*(){const M=yield this._withSyncedResources(E),B=D.source,O=(0,t.regExpFlags)(D);return M.textualSuggest(E.map(T=>T.toString()),N,B,O)})}computeWordRanges(E,N){return this._withSyncedResources([E]).then(D=>{const M=this._modelService.getModel(E);if(!M)return Promise.resolve(null);const B=this.languageConfigurationService.getLanguageConfiguration(M.getLanguageId()).getWordDefinition(),O=B.source,T=(0,t.regExpFlags)(B);return D.computeWordRanges(E.toString(),N,O,T)})}navigateValueSet(E,N,D){return this._withSyncedResources([E]).then(M=>{const B=this._modelService.getModel(E);if(!B)return null;const O=this.languageConfigurationService.getLanguageConfiguration(B.getLanguageId()).getWordDefinition(),T=O.source,A=(0,t.regExpFlags)(O);return M.navigateValueSet(E.toString(),N,D,T,A)})}dispose(){super.dispose(),this._disposed=!0}}e.EditorWorkerClient=_}),define(te[623],ie([1,0,281,19]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createWebWorker=void 0;function k(w,b,C){return new I(w,b,C)}e.createWebWorker=k;class I extends L.EditorWorkerClient{constructor(b,C,u){super(b,u.keepIdleModels||!1,u.label,C);this._foreignModuleId=u.moduleId,this._foreignModuleCreateData=u.createData||null,this._foreignModuleHost=u.host||null,this._foreignProxy=null}fhr(b,C){if(!this._foreignModuleHost||typeof this._foreignModuleHost[b]!="function")return Promise.reject(new Error("Missing method "+b+" or missing main thread foreign host."));try{return Promise.resolve(this._foreignModuleHost[b].apply(this._foreignModuleHost,C))}catch(u){return Promise.reject(u)}}_getForeignProxy(){return this._foreignProxy||(this._foreignProxy=this._getProxy().then(b=>{const C=this._foreignModuleHost?m.getAllMethodNames(this._foreignModuleHost):[];return b.loadForeignModule(this._foreignModuleId,this._foreignModuleCreateData,C).then(u=>{this._foreignModuleCreateData=null;const g=(i,o)=>b.fmr(i,o),t=(i,o)=>function(){const c=Array.prototype.slice.call(arguments,0);return o(i,c)},n={};for(const i of u)n[i]=t(i,g);return n})})),this._foreignProxy}getProxy(){return this._getForeignProxy()}withSyncedResources(b){return this._withSyncedResources(b).then(C=>this.getProxy())}}}),define(te[67],ie([1,0,114,49,113,52,9,66]),function(q,e,L,m,k,I,w,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LanguageFeatureDebounceService=e.ILanguageFeatureDebounceService=void 0,e.ILanguageFeatureDebounceService=(0,w.createDecorator)("ILanguageFeatureDebounceService");var C;(function(t){const n=new WeakMap;let i=0;function o(c){let d=n.get(c);return d===void 0&&(d=++i,n.set(c,d)),d}t.of=o})(C||(C={}));class u{constructor(n,i,o,c,d,r){this._logService=n,this._name=i,this._registry=o,this._default=c,this._min=d,this._max=r,this._cache=new m.LRUCache(50,.7)}_key(n){return n.id+this._registry.all(n).reduce((i,o)=>(0,L.doHash)(C.of(o),i),0)}get(n){const i=this._key(n),o=this._cache.get(i);return o?(0,k.clamp)(o.value,this._min,this._max):this.default()}update(n,i){const o=this._key(n);let c=this._cache.get(o);c||(c=new k.SlidingWindowAverage(6),this._cache.set(o,c));const d=(0,k.clamp)(c.update(i),this._min,this._max);return this._logService.trace(`[DEBOUNCE: ${this._name}] for ${n.uri.toString()} is ${d}ms`),d}_overall(){const n=new k.MovingAverage;for(const[,i]of this._cache)n.update(i.value);return n.value}default(){const n=this._overall()|0||this._default;return(0,k.clamp)(n,this._min,this._max)}}let g=class{constructor(n){this._logService=n,this._data=new Map}for(n,i,o){var c,d,r;const s=(c=o==null?void 0:o.min)!==null&&c!==void 0?c:50,a=(d=o==null?void 0:o.max)!==null&&d!==void 0?d:Math.pow(s,2),l=(r=o==null?void 0:o.key)!==null&&r!==void 0?r:void 0,h=`${C.of(n)},${s}${l?","+l:""}`;let f=this._data.get(h);return f||(f=new u(this._logService,i,n,this._overallAverage()|0||s*1.5,s,a),this._data.set(h,f)),f}_overallAverage(){let n=new k.MovingAverage;for(let i of this._data.values())n.update(i.default());return n.value}};g=Ie([pe(0,b.ILogService)],g),e.LanguageFeatureDebounceService=g,(0,I.registerSingleton)(e.ILanguageFeatureDebounceService,g,!0)}),define(te[205],ie([1,0,18,21,13,57,49,11,3,67,9,52,48,2,20]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OutlineModelService=e.IOutlineModelService=e.OutlineModel=e.OutlineGroup=e.OutlineElement=e.TreeElement=void 0;class c{remove(){this.parent&&this.parent.children.delete(this.id)}static findId(h,f){let S;typeof h=="string"?S=`${f.id}/${h}`:(S=`${f.id}/${h.name}`,f.children.get(S)!==void 0&&(S=`${f.id}/${h.name}_${h.range.startLineNumber}_${h.range.startColumn}`));let v=S;for(let p=0;f.children.get(v)!==void 0;p++)v=`${S}_${p}`;return v}static empty(h){return h.children.size===0}}e.TreeElement=c;class d extends c{constructor(h,f,S){super();this.id=h,this.parent=f,this.symbol=S,this.children=new Map}}e.OutlineElement=d;class r extends c{constructor(h,f,S,v){super();this.id=h,this.parent=f,this.label=S,this.order=v,this.children=new Map}}e.OutlineGroup=r;class s extends c{constructor(h){super();this.uri=h,this.id="root",this.parent=void 0,this._groups=new Map,this.children=new Map,this.id="root",this.parent=void 0}static create(h,f,S){const v=new m.CancellationTokenSource(S),p=new s(f.uri),_=h.ordered(f),y=_.map((N,D)=>{var M;let B=c.findId(`provider_${D}`,p),O=new r(B,p,(M=N.displayName)!==null&&M!==void 0?M:"Unknown Outline Provider",D);return Promise.resolve(N.provideDocumentSymbols(f,v.token)).then(T=>{for(const A of T||[])s._makeOutlineElement(A,O);return O},T=>((0,k.onUnexpectedExternalError)(T),O)).then(T=>{c.empty(T)?T.remove():p._groups.set(B,T)})}),E=h.onDidChange(()=>{const N=h.ordered(f);(0,L.equals)(N,_)||v.cancel()});return Promise.all(y).then(()=>v.token.isCancellationRequested&&!S.isCancellationRequested?s.create(h,f,S):p._compact()).finally(()=>{E.dispose()})}static _makeOutlineElement(h,f){let S=c.findId(h,f),v=new d(S,f,h);if(h.children)for(const p of h.children)s._makeOutlineElement(p,v);f.children.set(v.id,v)}_compact(){let h=0;for(const[f,S]of this._groups)S.children.size===0?this._groups.delete(f):h+=1;if(h!==1)this.children=this._groups;else{let f=I.Iterable.first(this._groups.values());for(let[,S]of f.children)S.parent=this,this.children.set(S.id,S)}return this}getTopLevelSymbols(){const h=[];for(const f of this.children.values())f instanceof d?h.push(f.symbol):h.push(...I.Iterable.map(f.children.values(),S=>S.symbol));return h.sort((f,S)=>C.Range.compareRangesUsingStarts(f.range,S.range))}asListOfDocumentSymbols(){const h=this.getTopLevelSymbols(),f=[];return s._flattenDocumentSymbols(f,h,""),f.sort((S,v)=>b.Position.compare(C.Range.getStartPosition(S.range),C.Range.getStartPosition(v.range))||b.Position.compare(C.Range.getEndPosition(v.range),C.Range.getEndPosition(S.range)))}static _flattenDocumentSymbols(h,f,S){for(const v of f)h.push({kind:v.kind,tags:v.tags,name:v.name,detail:v.detail,containerName:v.containerName||S,range:v.range,selectionRange:v.selectionRange,children:void 0}),v.children&&s._flattenDocumentSymbols(h,v.children,v.name)}}e.OutlineModel=s,e.IOutlineModelService=(0,g.createDecorator)("IOutlineModelService");let a=class{constructor(h,f,S){this._languageFeaturesService=h,this._disposables=new i.DisposableStore,this._cache=new w.LRUCache(10,.7),this._debounceInformation=f.for(h.documentSymbolProvider,"DocumentSymbols",{min:350}),this._disposables.add(S.onModelRemoved(v=>{this._cache.delete(v.id)}))}dispose(){this._disposables.dispose()}getOrCreate(h,f){return we(this,void 0,void 0,function*(){const S=this._languageFeaturesService.documentSymbolProvider,v=S.ordered(h);let p=this._cache.get(h.id);if(!p||p.versionId!==h.getVersionId()||!(0,L.equals)(p.provider,v)){let y=new m.CancellationTokenSource;p={versionId:h.getVersionId(),provider:v,promiseCnt:0,source:y,promise:s.create(S,h,y.token),model:void 0},this._cache.set(h.id,p);const E=Date.now();p.promise.then(N=>{p.model=N,this._debounceInformation.update(h,Date.now()-E)}).catch(N=>{this._cache.delete(h.id)})}if(p.model)return p.model;p.promiseCnt+=1;const _=f.onCancellationRequested(()=>{--p.promiseCnt==0&&(p.source.cancel(),this._cache.delete(h.id))});try{return yield p.promise}finally{_.dispose()}})}};a=Ie([pe(0,o.ILanguageFeaturesService),pe(1,u.ILanguageFeatureDebounceService),pe(2,n.IModelService)],a),e.OutlineModelService=a,(0,t.registerSingleton)(e.IOutlineModelService,a,!0)}),define(te[624],ie([1,0,21,19,25,56,205,26]),function(q,e,L,m,k,I,w,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),b.CommandsRegistry.registerCommand("_executeDocumentSymbolProvider",function(C,...u){return we(this,void 0,void 0,function*(){const[g]=u;(0,m.assertType)(k.URI.isUri(g));const t=C.get(w.IOutlineModelService),i=yield C.get(I.ITextModelService).createModelReference(g);try{return(yield t.getOrCreate(i.object.textEditorModel,L.CancellationToken.None)).getTopLevelSymbols()}finally{i.dispose()}})})}),define(te[625],ie([1,0,34,7,10,2,132,66]),function(q,e,L,m,k,I,w,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BrowserClipboardService=void 0;let C=class extends I.Disposable{constructor(g,t){super();this.layoutService=g,this.logService=t,this.mapTextToType=new Map,this.findText="",(L.isSafari||L.isWebkitWebView)&&this.installWebKitWriteTextWorkaround()}installWebKitWriteTextWorkaround(){const g=()=>{const t=new k.DeferredPromise;this.webKitPendingClipboardWritePromise&&!this.webKitPendingClipboardWritePromise.isSettled&&this.webKitPendingClipboardWritePromise.cancel(),this.webKitPendingClipboardWritePromise=t,navigator.clipboard.write([new ClipboardItem({"text/plain":t.p})]).catch(n=>we(this,void 0,void 0,function*(){(!(n instanceof Error)||n.name!=="NotAllowedError"||!t.isRejected)&&this.logService.error(n)}))};this.layoutService.hasContainer&&(this._register((0,m.addDisposableListener)(this.layoutService.container,"click",g)),this._register((0,m.addDisposableListener)(this.layoutService.container,"keydown",g)))}writeText(g,t){return we(this,void 0,void 0,function*(){if(t){this.mapTextToType.set(t,g);return}if(this.webKitPendingClipboardWritePromise)return this.webKitPendingClipboardWritePromise.complete(g);try{return yield navigator.clipboard.writeText(g)}catch(o){console.error(o)}const n=document.activeElement,i=document.body.appendChild((0,m.$)("textarea",{"aria-hidden":!0}));i.style.height="1px",i.style.width="1px",i.style.position="absolute",i.value=g,i.focus(),i.select(),document.execCommand("copy"),n instanceof HTMLElement&&n.focus(),document.body.removeChild(i)})}readText(g){return we(this,void 0,void 0,function*(){if(g)return this.mapTextToType.get(g)||"";try{return yield navigator.clipboard.readText()}catch(t){return console.error(t),""}})}readFindText(){return we(this,void 0,void 0,function*(){return this.findText})}writeFindText(g){return we(this,void 0,void 0,function*(){this.findText=g})}};C=Ie([pe(0,w.ILayoutService),pe(1,b.ILogService)],C),e.BrowserClipboardService=C}),define(te[79],ie([1,0,76,596,9]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IMarkerService=e.IMarkerData=e.MarkerSeverity=void 0;var I;(function(b){b[b.Hint=1]="Hint",b[b.Info=2]="Info",b[b.Warning=4]="Warning",b[b.Error=8]="Error"})(I=e.MarkerSeverity||(e.MarkerSeverity={})),function(b){function C(i,o){return o-i}b.compare=C;const u=Object.create(null);u[b.Error]=(0,m.localize)(0,null),u[b.Warning]=(0,m.localize)(1,null),u[b.Info]=(0,m.localize)(2,null);function g(i){return u[i]||""}b.toString=g;function t(i){switch(i){case L.default.Error:return b.Error;case L.default.Warning:return b.Warning;case L.default.Info:return b.Info;case L.default.Ignore:return b.Hint}}b.fromSeverity=t;function n(i){switch(i){case b.Error:return L.default.Error;case b.Warning:return L.default.Warning;case b.Info:return L.default.Info;case b.Hint:return L.default.Ignore}}b.toSeverity=n}(I=e.MarkerSeverity||(e.MarkerSeverity={}));var w;(function(b){const C="";function u(t){return g(t,!0)}b.makeKey=u;function g(t,n){let i=[C];return t.source?i.push(t.source.replace("\xA6","\\\xA6")):i.push(C),t.code?typeof t.code=="string"?i.push(t.code.replace("\xA6","\\\xA6")):i.push(t.code.value.replace("\xA6","\\\xA6")):i.push(C),t.severity!==void 0&&t.severity!==null?i.push(I.toString(t.severity)):i.push(C),t.message&&n?i.push(t.message.replace("\xA6","\\\xA6")):i.push(C),t.startLineNumber!==void 0&&t.startLineNumber!==null?i.push(t.startLineNumber.toString()):i.push(C),t.startColumn!==void 0&&t.startColumn!==null?i.push(t.startColumn.toString()):i.push(C),t.endLineNumber!==void 0&&t.endLineNumber!==null?i.push(t.endLineNumber.toString()):i.push(C),t.endColumn!==void 0&&t.endColumn!==null?i.push(t.endColumn.toString()):i.push(C),i.push(C),i.join("\xA6")}b.makeKeyOptionalMessage=g})(w=e.IMarkerData||(e.IMarkerData={})),e.IMarkerService=(0,k.createDecorator)("markerService")}),define(te[626],ie([1,0,18,4,2,83,8,25,3,52,9,79,41]),function(q,e,L,m,k,I,w,b,C,u,g,t,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IMarkerNavigationService=e.MarkerList=e.MarkerCoordinate=void 0;class i{constructor(r,s,a){this.marker=r,this.index=s,this.total=a}}e.MarkerCoordinate=i;let o=class{constructor(r,s,a){this._markerService=s,this._configService=a,this._onDidChange=new m.Emitter,this.onDidChange=this._onDidChange.event,this._dispoables=new k.DisposableStore,this._markers=[],this._nextIdx=-1,b.URI.isUri(r)?this._resourceFilter=S=>S.toString()===r.toString():r&&(this._resourceFilter=r);const l=this._configService.getValue("problems.sortOrder"),h=(S,v)=>{let p=(0,w.compare)(S.resource.toString(),v.resource.toString());return p===0&&(l==="position"?p=C.Range.compareRangesUsingStarts(S,v)||t.MarkerSeverity.compare(S.severity,v.severity):p=t.MarkerSeverity.compare(S.severity,v.severity)||C.Range.compareRangesUsingStarts(S,v)),p},f=()=>{this._markers=this._markerService.read({resource:b.URI.isUri(r)?r:void 0,severities:t.MarkerSeverity.Error|t.MarkerSeverity.Warning|t.MarkerSeverity.Info}),typeof r=="function"&&(this._markers=this._markers.filter(S=>this._resourceFilter(S.resource))),this._markers.sort(h)};f(),this._dispoables.add(s.onMarkerChanged(S=>{(!this._resourceFilter||S.some(v=>this._resourceFilter(v)))&&(f(),this._nextIdx=-1,this._onDidChange.fire())}))}dispose(){this._dispoables.dispose(),this._onDidChange.dispose()}matches(r){return!this._resourceFilter&&!r?!0:!this._resourceFilter||!r?!1:this._resourceFilter(r)}get selected(){const r=this._markers[this._nextIdx];return r&&new i(r,this._nextIdx+1,this._markers.length)}_initIdx(r,s,a){let l=!1,h=this._markers.findIndex(f=>f.resource.toString()===r.uri.toString());h<0&&(h=(0,L.binarySearch)(this._markers,{resource:r.uri},(f,S)=>(0,w.compare)(f.resource.toString(),S.resource.toString())),h<0&&(h=~h));for(let f=h;f<this._markers.length;f++){let S=C.Range.lift(this._markers[f]);if(S.isEmpty()){const v=r.getWordAtPosition(S.getStartPosition());v&&(S=new C.Range(S.startLineNumber,v.startColumn,S.startLineNumber,v.endColumn))}if(s&&(S.containsPosition(s)||s.isBeforeOrEqual(S.getStartPosition()))){this._nextIdx=f,l=!0;break}if(this._markers[f].resource.toString()!==r.uri.toString())break}l||(this._nextIdx=a?0:this._markers.length-1),this._nextIdx<0&&(this._nextIdx=this._markers.length-1)}resetIndex(){this._nextIdx=-1}move(r,s,a){if(this._markers.length===0)return!1;let l=this._nextIdx;return this._nextIdx===-1?this._initIdx(s,a,r):r?this._nextIdx=(this._nextIdx+1)%this._markers.length:r||(this._nextIdx=(this._nextIdx-1+this._markers.length)%this._markers.length),l!==this._nextIdx}find(r,s){let a=this._markers.findIndex(l=>l.resource.toString()===r.toString());if(!(a<0)){for(;a<this._markers.length;a++)if(C.Range.containsPosition(this._markers[a],s))return new i(this._markers[a],a+1,this._markers.length)}}};o=Ie([pe(1,t.IMarkerService),pe(2,n.IConfigurationService)],o),e.MarkerList=o,e.IMarkerNavigationService=(0,g.createDecorator)("IMarkerNavigationService");let c=class{constructor(r,s){this._markerService=r,this._configService=s,this._provider=new I.LinkedList}getMarkerList(r){for(let s of this._provider){const a=s.getMarkerList(r);if(a)return a}return new o(r,this._markerService,this._configService)}};c=Ie([pe(0,t.IMarkerService),pe(1,n.IConfigurationService)],c),(0,u.registerSingleton)(e.IMarkerNavigationService,c,!0)}),define(te[627],ie([1,0,18,4,57,49,45,25,79]),function(q,e,L,m,k,I,w,b,C){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MarkerService=void 0;class u{constructor(){this._byResource=new I.ResourceMap,this._byOwner=new Map}set(i,o,c){let d=this._byResource.get(i);d||(d=new Map,this._byResource.set(i,d)),d.set(o,c);let r=this._byOwner.get(o);r||(r=new I.ResourceMap,this._byOwner.set(o,r)),r.set(i,c)}get(i,o){let c=this._byResource.get(i);return c==null?void 0:c.get(o)}delete(i,o){let c=!1,d=!1,r=this._byResource.get(i);r&&(c=r.delete(o));let s=this._byOwner.get(o);if(s&&(d=s.delete(i)),c!==d)throw new Error("illegal state");return c&&d}values(i){var o,c,d,r;return typeof i=="string"?(c=(o=this._byOwner.get(i))===null||o===void 0?void 0:o.values())!==null&&c!==void 0?c:k.Iterable.empty():b.URI.isUri(i)?(r=(d=this._byResource.get(i))===null||d===void 0?void 0:d.values())!==null&&r!==void 0?r:k.Iterable.empty():k.Iterable.map(k.Iterable.concat(...this._byOwner.values()),s=>s[1])}}class g{constructor(i){this.errors=0,this.infos=0,this.warnings=0,this.unknowns=0,this._data=new I.ResourceMap,this._service=i,this._subscription=i.onMarkerChanged(this._update,this)}dispose(){this._subscription.dispose()}_update(i){for(const o of i){const c=this._data.get(o);c&&this._substract(c);const d=this._resourceStats(o);this._add(d),this._data.set(o,d)}}_resourceStats(i){const o={errors:0,warnings:0,infos:0,unknowns:0};if(i.scheme===w.Schemas.inMemory||i.scheme===w.Schemas.walkThrough||i.scheme===w.Schemas.walkThroughSnippet)return o;for(const{severity:c}of this._service.read({resource:i}))c===C.MarkerSeverity.Error?o.errors+=1:c===C.MarkerSeverity.Warning?o.warnings+=1:c===C.MarkerSeverity.Info?o.infos+=1:o.unknowns+=1;return o}_substract(i){this.errors-=i.errors,this.warnings-=i.warnings,this.infos-=i.infos,this.unknowns-=i.unknowns}_add(i){this.errors+=i.errors,this.warnings+=i.warnings,this.infos+=i.infos,this.unknowns+=i.unknowns}}class t{constructor(){this._onMarkerChanged=new m.DebounceEmitter({delay:0,merge:t._merge}),this.onMarkerChanged=this._onMarkerChanged.event,this._data=new u,this._stats=new g(this)}dispose(){this._stats.dispose(),this._onMarkerChanged.dispose()}remove(i,o){for(const c of o||[])this.changeOne(i,c,[])}changeOne(i,o,c){if((0,L.isFalsyOrEmpty)(c))this._data.delete(o,i)&&this._onMarkerChanged.fire([o]);else{const d=[];for(const r of c){const s=t._toMarker(i,o,r);s&&d.push(s)}this._data.set(o,i,d),this._onMarkerChanged.fire([o])}}static _toMarker(i,o,c){let{code:d,severity:r,message:s,source:a,startLineNumber:l,startColumn:h,endLineNumber:f,endColumn:S,relatedInformation:v,tags:p}=c;if(!!s)return l=l>0?l:1,h=h>0?h:1,f=f>=l?f:l,S=S>0?S:h,{resource:o,owner:i,code:d,severity:r,message:s,source:a,startLineNumber:l,startColumn:h,endLineNumber:f,endColumn:S,relatedInformation:v,tags:p}}read(i=Object.create(null)){let{owner:o,resource:c,severities:d,take:r}=i;if((!r||r<0)&&(r=-1),o&&c){const s=this._data.get(c,o);if(s){const a=[];for(const l of s)if(t._accept(l,d)){const h=a.push(l);if(r>0&&h===r)break}return a}else return[]}else if(!o&&!c){const s=[];for(let a of this._data.values())for(let l of a)if(t._accept(l,d)){const h=s.push(l);if(r>0&&h===r)return s}return s}else{const s=this._data.values(c??o),a=[];for(const l of s)for(const h of l)if(t._accept(h,d)){const f=a.push(h);if(r>0&&f===r)return a}return a}}static _accept(i,o){return o===void 0||(o&i.severity)===i.severity}static _merge(i){const o=new I.ResourceMap;for(let c of i)for(let d of c)o.set(d,!0);return Array.from(o.keys())}}e.MarkerService=t}),define(te[39],ie([1,0,76,9]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.NoOpNotification=e.INotificationService=e.Severity=void 0,e.Severity=L.default,e.INotificationService=(0,m.createDecorator)("notificationService");class k{}e.NoOpNotification=k}),define(te[53],ie([1,0,2,8,25,9]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.extractSelection=e.matchesSomeScheme=e.matchesScheme=e.NullOpenerService=e.IOpenerService=void 0,e.IOpenerService=(0,I.createDecorator)("openerService"),e.NullOpenerService=Object.freeze({_serviceBrand:void 0,registerOpener(){return L.Disposable.None},registerValidator(){return L.Disposable.None},registerExternalUriResolver(){return L.Disposable.None},setDefaultExternalOpener(){},registerExternalOpener(){return L.Disposable.None},open(){return we(this,void 0,void 0,function*(){return!1})},resolveExternalUri(u){return we(this,void 0,void 0,function*(){return{resolved:u,dispose(){}}})}});function w(u,g){return k.URI.isUri(u)?(0,m.equalsIgnoreCase)(u.scheme,g):(0,m.startsWithIgnoreCase)(u,g+":")}e.matchesScheme=w;function b(u,...g){return g.some(t=>w(u,t))}e.matchesSomeScheme=b;function C(u){let g;const t=/^L?(\d+)(?:,(\d+))?(-L?(\d+)(?:,(\d+))?)?/.exec(u.fragment);return t&&(g={startLineNumber:parseInt(t[1]),startColumn:t[2]?parseInt(t[2]):1,endLineNumber:t[4]?parseInt(t[4]):void 0,endColumn:t[4]?t[5]?parseInt(t[5]):1:void 0},u=u.with({fragment:""})),{selection:g,uri:u}}e.extractSelection=C}),define(te[628],ie([1,0,7,21,83,49,219,45,42,25,29,26,603,53]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpenerService=void 0;let o=class{constructor(s){this._commandService=s}open(s,a){return we(this,void 0,void 0,function*(){if(!(0,i.matchesScheme)(s,b.Schemas.command))return!1;if(!(a==null?void 0:a.allowCommands))return!0;typeof s=="string"&&(s=u.URI.parse(s));let l=[];try{l=(0,w.parse)(decodeURIComponent(s.query))}catch{try{l=(0,w.parse)(s.query)}catch{}}return Array.isArray(l)||(l=[l]),yield this._commandService.executeCommand(s.path,...l),!0})}};o=Ie([pe(0,t.ICommandService)],o);let c=class{constructor(s){this._editorService=s}open(s,a){return we(this,void 0,void 0,function*(){typeof s=="string"&&(s=u.URI.parse(s));const{selection:l,uri:h}=(0,i.extractSelection)(s);return s=h,s.scheme===b.Schemas.file&&(s=(0,C.normalizePath)(s)),yield this._editorService.openCodeEditor({resource:s,options:Object.assign({selection:l,source:(a==null?void 0:a.fromUserGesture)?n.EditorOpenSource.USER:n.EditorOpenSource.API},a==null?void 0:a.editorOptions)},this._editorService.getFocusedCodeEditor(),a==null?void 0:a.openToSide),!0})}};c=Ie([pe(0,g.ICodeEditorService)],c);let d=class{constructor(s,a){this._openers=new k.LinkedList,this._validators=new k.LinkedList,this._resolvers=new k.LinkedList,this._resolvedUriTargets=new I.ResourceMap(l=>l.with({path:null,fragment:null,query:null}).toString()),this._externalOpeners=new k.LinkedList,this._defaultExternalOpener={openExternal:l=>we(this,void 0,void 0,function*(){return(0,i.matchesSomeScheme)(l,b.Schemas.http,b.Schemas.https)?L.windowOpenNoOpener(l):window.location.href=l,!0})},this._openers.push({open:(l,h)=>we(this,void 0,void 0,function*(){return(h==null?void 0:h.openExternal)||(0,i.matchesSomeScheme)(l,b.Schemas.mailto,b.Schemas.http,b.Schemas.https,b.Schemas.vsls)?(yield this._doOpenExternal(l,h),!0):!1})}),this._openers.push(new o(a)),this._openers.push(new c(s))}registerOpener(s){return{dispose:this._openers.unshift(s)}}registerValidator(s){return{dispose:this._validators.push(s)}}registerExternalUriResolver(s){return{dispose:this._resolvers.push(s)}}setDefaultExternalOpener(s){this._defaultExternalOpener=s}registerExternalOpener(s){return{dispose:this._externalOpeners.push(s)}}open(s,a){var l;return we(this,void 0,void 0,function*(){const h=typeof s=="string"?u.URI.parse(s):s,f=(l=this._resolvedUriTargets.get(h))!==null&&l!==void 0?l:s;for(const S of this._validators)if(!(yield S.shouldOpen(f)))return!1;for(const S of this._openers)if(yield S.open(s,a))return!0;return!1})}resolveExternalUri(s,a){return we(this,void 0,void 0,function*(){for(const l of this._resolvers)try{const h=yield l.resolveExternalUri(s,a);if(h)return this._resolvedUriTargets.has(h.resolved)||this._resolvedUriTargets.set(h.resolved,s),h}catch{}throw new Error("Could not resolve external URI: "+s.toString())})}_doOpenExternal(s,a){return we(this,void 0,void 0,function*(){const l=typeof s=="string"?u.URI.parse(s):s;let h;try{h=(yield this.resolveExternalUri(l,a)).resolved}catch{h=l}let f;if(typeof s=="string"&&l.toString()===h.toString()?f=s:f=encodeURI(h.toString(!0)),a==null?void 0:a.allowContributedOpeners){const S=typeof(a==null?void 0:a.allowContributedOpeners)=="string"?a==null?void 0:a.allowContributedOpeners:void 0;for(const v of this._externalOpeners)if(yield v.openExternal(f,{sourceUri:l,preferredOpenerId:S},m.CancellationToken.None))return!0}return this._defaultExternalOpener.openExternal(f,{sourceUri:l},m.CancellationToken.None)})}dispose(){this._validators.clear()}};d=Ie([pe(0,g.ICodeEditorService),pe(1,t.ICommandService)],d),e.OpenerService=d}),define(te[73],ie([1,0,9]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IEditorProgressService=e.Progress=e.emptyProgressRunner=void 0,e.emptyProgressRunner=Object.freeze({total(){},worked(){},done(){}});class m{constructor(I){this.callback=I}report(I){this._value=I,this.callback(this._value)}}e.Progress=m,m.None=Object.freeze({report(){}}),e.IEditorProgressService=(0,L.createDecorator)("editorProgressService")}),define(te[629],ie([1,0,10,21,2]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PickerQuickAccessProvider=e.TriggerAction=void 0;var I;(function(u){u[u.NO_ACTION=0]="NO_ACTION",u[u.CLOSE_PICKER=1]="CLOSE_PICKER",u[u.REFRESH_PICKER=2]="REFRESH_PICKER",u[u.REMOVE_ITEM=3]="REMOVE_ITEM"})(I=e.TriggerAction||(e.TriggerAction={}));function w(u){const g=u;return Array.isArray(g.items)}function b(u){const g=u;return!!g.picks&&g.additionalPicks instanceof Promise}class C extends k.Disposable{constructor(g,t){super();this.prefix=g,this.options=t}provide(g,t){var n;const i=new k.DisposableStore;g.canAcceptInBackground=!!((n=this.options)===null||n===void 0?void 0:n.canAcceptInBackground),g.matchOnLabel=g.matchOnDescription=g.matchOnDetail=g.sortByLabel=!1;let o;const c=i.add(new k.MutableDisposable),d=()=>we(this,void 0,void 0,function*(){const r=c.value=new k.DisposableStore;o==null||o.dispose(!0),g.busy=!1,o=new m.CancellationTokenSource(t);const s=o.token,a=g.value.substr(this.prefix.length).trim(),l=this._getPicks(a,r,s),h=(f,S)=>{var v;let p,_;if(w(f)?(p=f.items,_=f.active):p=f,p.length===0){if(S)return!1;a.length>0&&((v=this.options)===null||v===void 0?void 0:v.noResultsPick)&&(p=[this.options.noResultsPick])}return g.items=p,_&&(g.activeItems=[_]),!0};if(l!==null)if(b(l)){let f=!1,S=!1;yield Promise.all([(()=>we(this,void 0,void 0,function*(){yield(0,L.timeout)(C.FAST_PICKS_RACE_DELAY),!s.isCancellationRequested&&(S||(f=h(l.picks,!0)))}))(),(()=>we(this,void 0,void 0,function*(){g.busy=!0;try{const v=yield l.additionalPicks;if(s.isCancellationRequested)return;let p,_;w(l.picks)?(p=l.picks.items,_=l.picks.active):p=l.picks;let y,E;if(w(v)?(y=v.items,E=v.active):y=v,y.length>0||!f){let N;if(!_&&!E){const D=g.activeItems[0];D&&p.indexOf(D)!==-1&&(N=D)}h({items:[...p,...y],active:_||E||N})}}finally{s.isCancellationRequested||(g.busy=!1),S=!0}}))()])}else if(!(l instanceof Promise))h(l);else{g.busy=!0;try{const f=yield l;if(s.isCancellationRequested)return;h(f)}finally{s.isCancellationRequested||(g.busy=!1)}}});return i.add(g.onDidChangeValue(()=>d())),d(),i.add(g.onDidAccept(r=>{const[s]=g.selectedItems;typeof(s==null?void 0:s.accept)=="function"&&(r.inBackground||g.hide(),s.accept(g.keyMods,r))})),i.add(g.onDidTriggerItemButton(({button:r,item:s})=>we(this,void 0,void 0,function*(){var a,l;if(typeof s.trigger=="function"){const h=(l=(a=s.buttons)===null||a===void 0?void 0:a.indexOf(r))!==null&&l!==void 0?l:-1;if(h>=0){const f=s.trigger(h,g.keyMods),S=typeof f=="number"?f:yield f;if(t.isCancellationRequested)return;switch(S){case I.NO_ACTION:break;case I.CLOSE_PICKER:g.hide();break;case I.REFRESH_PICKER:d();break;case I.REMOVE_ITEM:{const v=g.items.indexOf(s);if(v!==-1){const p=g.items.slice(),_=p.splice(v,1),y=g.activeItems.filter(N=>N!==_[0]),E=g.keepScrollPosition;g.keepScrollPosition=!0,g.items=p,y&&(g.activeItems=y),g.keepScrollPosition=E}break}}}}}))),i}}e.PickerQuickAccessProvider=C,C.FAST_PICKS_RACE_DELAY=200});var Zt=this&&this.__createBinding||(Object.create?function(q,e,L,m){m===void 0&&(m=L);var k=Object.getOwnPropertyDescriptor(e,L);(!k||("get"in k?!e.__esModule:k.writable||k.configurable))&&(k={enumerable:!0,get:function(){return e[L]}}),Object.defineProperty(q,m,k)}:function(q,e,L,m){m===void 0&&(m=L),q[m]=e[L]}),Yt=this&&this.__exportStar||function(q,e){for(var L in q)L!=="default"&&!Object.prototype.hasOwnProperty.call(e,L)&&Zt(e,q,L)};define(te[80],ie([1,0,9,223]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IQuickInputService=void 0,Yt(m,e),e.IQuickInputService=(0,L.createDecorator)("quickInputService")}),define(te[36],ie([1,0,216,19]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Registry=void 0;class k{constructor(){this.data=new Map}add(w,b){L.ok(m.isString(w)),L.ok(m.isObject(b)),L.ok(!this.data.has(w),"There is already an extension with this id"),this.data.set(w,b)}as(w){return this.data.get(w)||null}}e.Registry=new k}),define(te[206],ie([1,0,4,36]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Extensions=void 0,e.Extensions={JSONContribution:"base.contributions.json"};function k(b){return b.length>0&&b.charAt(b.length-1)==="#"?b.substring(0,b.length-1):b}class I{constructor(){this._onDidChangeSchema=new L.Emitter,this.schemasById={}}registerSchema(C,u){this.schemasById[k(C)]=u,this._onDidChangeSchema.fire(C)}notifySchemaChanged(C){this._onDidChangeSchema.fire(C)}}const w=new I;m.Registry.add(e.Extensions.JSONContribution,w)}),define(te[105],ie([1,0,18,4,19,590,206,36]),function(q,e,L,m,k,I,w,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.validateProperty=e.getDefaultValue=e.overrideIdentifiersFromKey=e.OVERRIDE_PROPERTY_REGEX=e.OVERRIDE_PROPERTY_PATTERN=e.resourceLanguageSettingsSchemaId=e.resourceSettings=e.windowSettings=e.machineOverridableSettings=e.machineSettings=e.applicationSettings=e.allSettings=e.Extensions=void 0,e.Extensions={Configuration:"base.contributions.configuration"},e.allSettings={properties:{},patternProperties:{}},e.applicationSettings={properties:{},patternProperties:{}},e.machineSettings={properties:{},patternProperties:{}},e.machineOverridableSettings={properties:{},patternProperties:{}},e.windowSettings={properties:{},patternProperties:{}},e.resourceSettings={properties:{},patternProperties:{}},e.resourceLanguageSettingsSchemaId="vscode://schemas/settings/resourceLanguage";const C=b.Registry.as(w.Extensions.JSONContribution);class u{constructor(){this.overrideIdentifiers=new Set,this._onDidSchemaChange=new m.Emitter,this._onDidUpdateConfiguration=new m.Emitter,this.configurationDefaultsOverrides=new Map,this.defaultLanguageConfigurationOverridesNode={id:"defaultOverrides",title:I.localize(0,null),properties:{}},this.configurationContributors=[this.defaultLanguageConfigurationOverridesNode],this.resourceLanguageSettingsSchema={properties:{},patternProperties:{},additionalProperties:!1,errorMessage:"Unknown editor configuration setting",allowTrailingCommas:!0,allowComments:!0},this.configurationProperties={},this.excludedConfigurationProperties={},C.registerSchema(e.resourceLanguageSettingsSchemaId,this.resourceLanguageSettingsSchema),this.registerOverridePropertyPatternKey()}registerConfiguration(r,s=!0){this.registerConfigurations([r],s)}registerConfigurations(r,s=!0){const a=this.doRegisterConfigurations(r,s);C.registerSchema(e.resourceLanguageSettingsSchemaId,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:a})}registerDefaultConfigurations(r){var s;const a=[],l=[];for(const{overrides:h,source:f}of r)for(const S in h)if(a.push(S),e.OVERRIDE_PROPERTY_REGEX.test(S)){const v=Object.assign(Object.assign({},((s=this.configurationDefaultsOverrides.get(S))===null||s===void 0?void 0:s.value)||{}),h[S]);this.configurationDefaultsOverrides.set(S,{source:f,value:v});const p={type:"object",default:v,description:I.localize(1,null,S),$ref:e.resourceLanguageSettingsSchemaId,defaultDefaultValue:v,source:k.isString(f)?void 0:f};l.push(...n(S)),this.configurationProperties[S]=p,this.defaultLanguageConfigurationOverridesNode.properties[S]=p}else{this.configurationDefaultsOverrides.set(S,{value:h[S],source:f});const v=this.configurationProperties[S];v&&(this.updatePropertyDefaultValue(S,v),this.updateSchema(S,v))}this.registerOverrideIdentifiers(l),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:a,defaultsOverrides:!0})}registerOverrideIdentifiers(r){for(const s of r)this.overrideIdentifiers.add(s);this.updateOverridePropertyPatternKey()}doRegisterConfigurations(r,s){const a=[];return r.forEach(l=>{a.push(...this.validateAndRegisterProperties(l,s,l.extensionInfo,l.restrictedProperties)),this.configurationContributors.push(l),this.registerJSONConfiguration(l)}),a}validateAndRegisterProperties(r,s=!0,a,l,h=3){h=k.isUndefinedOrNull(r.scope)?h:r.scope;let f=[],S=r.properties;if(S)for(let p in S){if(s&&c(p)){delete S[p];continue}const _=S[p];if(_.source=a,_.defaultDefaultValue=S[p].default,this.updatePropertyDefaultValue(p,_),e.OVERRIDE_PROPERTY_REGEX.test(p)?_.scope=void 0:(_.scope=k.isUndefinedOrNull(_.scope)?h:_.scope,_.restricted=k.isUndefinedOrNull(_.restricted)?!!(l==null?void 0:l.includes(p)):_.restricted),S[p].hasOwnProperty("included")&&!S[p].included){this.excludedConfigurationProperties[p]=S[p],delete S[p];continue}else this.configurationProperties[p]=S[p];!S[p].deprecationMessage&&S[p].markdownDeprecationMessage&&(S[p].deprecationMessage=S[p].markdownDeprecationMessage),f.push(p)}let v=r.allOf;if(v)for(let p of v)f.push(...this.validateAndRegisterProperties(p,s,a,l,h));return f}getConfigurationProperties(){return this.configurationProperties}registerJSONConfiguration(r){const s=a=>{let l=a.properties;if(l)for(const f in l)this.updateSchema(f,l[f]);let h=a.allOf;h&&h.forEach(s)};s(r)}updateSchema(r,s){switch(e.allSettings.properties[r]=s,s.scope){case 1:e.applicationSettings.properties[r]=s;break;case 2:e.machineSettings.properties[r]=s;break;case 6:e.machineOverridableSettings.properties[r]=s;break;case 3:e.windowSettings.properties[r]=s;break;case 4:e.resourceSettings.properties[r]=s;break;case 5:e.resourceSettings.properties[r]=s,this.resourceLanguageSettingsSchema.properties[r]=s;break}}updateOverridePropertyPatternKey(){for(const r of this.overrideIdentifiers.values()){const s=`[${r}]`,a={type:"object",description:I.localize(2,null),errorMessage:I.localize(3,null),$ref:e.resourceLanguageSettingsSchemaId};this.updatePropertyDefaultValue(s,a),e.allSettings.properties[s]=a,e.applicationSettings.properties[s]=a,e.machineSettings.properties[s]=a,e.machineOverridableSettings.properties[s]=a,e.windowSettings.properties[s]=a,e.resourceSettings.properties[s]=a}this._onDidSchemaChange.fire()}registerOverridePropertyPatternKey(){const r={type:"object",description:I.localize(4,null),errorMessage:I.localize(5,null),$ref:e.resourceLanguageSettingsSchemaId};e.allSettings.patternProperties[e.OVERRIDE_PROPERTY_PATTERN]=r,e.applicationSettings.patternProperties[e.OVERRIDE_PROPERTY_PATTERN]=r,e.machineSettings.patternProperties[e.OVERRIDE_PROPERTY_PATTERN]=r,e.machineOverridableSettings.patternProperties[e.OVERRIDE_PROPERTY_PATTERN]=r,e.windowSettings.patternProperties[e.OVERRIDE_PROPERTY_PATTERN]=r,e.resourceSettings.patternProperties[e.OVERRIDE_PROPERTY_PATTERN]=r,this._onDidSchemaChange.fire()}updatePropertyDefaultValue(r,s){const a=this.configurationDefaultsOverrides.get(r);let l=a==null?void 0:a.value,h=a==null?void 0:a.source;k.isUndefined(l)&&(l=s.defaultDefaultValue,h=void 0),k.isUndefined(l)&&(l=i(s.type)),s.default=l,s.defaultValueSource=h}}const g="\\[([^\\]]+)\\]",t=new RegExp(g,"g");e.OVERRIDE_PROPERTY_PATTERN=`^(${g})+$`,e.OVERRIDE_PROPERTY_REGEX=new RegExp(e.OVERRIDE_PROPERTY_PATTERN);function n(d){const r=[];if(e.OVERRIDE_PROPERTY_REGEX.test(d)){let s=t.exec(d);for(;s==null?void 0:s.length;){const a=s[1].trim();a&&r.push(a),s=t.exec(d)}}return(0,L.distinct)(r)}e.overrideIdentifiersFromKey=n;function i(d){switch(Array.isArray(d)?d[0]:d){case"boolean":return!1;case"integer":case"number":return 0;case"string":return"";case"array":return[];case"object":return{};default:return null}}e.getDefaultValue=i;const o=new u;b.Registry.add(e.Extensions.Configuration,o);function c(d){return d.trim()?e.OVERRIDE_PROPERTY_REGEX.test(d)?I.localize(7,null,d):o.getConfigurationProperties()[d]!==void 0?I.localize(8,null,d):null:I.localize(6,null)}e.validateProperty=c}),define(te[630],ie([1,0,32,148,512,105,36]),function(q,e,L,m,k,I,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isDiffEditorConfigurationKey=e.isEditorConfigurationKey=e.editorConfigurationBaseNode=void 0,e.editorConfigurationBaseNode=Object.freeze({id:"editor",order:5,type:"object",title:k.localize(0,null),scope:5});const b=Object.assign(Object.assign({},e.editorConfigurationBaseNode),{properties:{"editor.tabSize":{type:"number",default:m.EDITOR_MODEL_DEFAULTS.tabSize,minimum:1,markdownDescription:k.localize(1,null)},"editor.insertSpaces":{type:"boolean",default:m.EDITOR_MODEL_DEFAULTS.insertSpaces,markdownDescription:k.localize(2,null)},"editor.detectIndentation":{type:"boolean",default:m.EDITOR_MODEL_DEFAULTS.detectIndentation,markdownDescription:k.localize(3,null)},"editor.trimAutoWhitespace":{type:"boolean",default:m.EDITOR_MODEL_DEFAULTS.trimAutoWhitespace,description:k.localize(4,null)},"editor.largeFileOptimizations":{type:"boolean",default:m.EDITOR_MODEL_DEFAULTS.largeFileOptimizations,description:k.localize(5,null)},"editor.wordBasedSuggestions":{type:"boolean",default:!0,description:k.localize(6,null)},"editor.wordBasedSuggestionsMode":{enum:["currentDocument","matchingDocuments","allDocuments"],default:"matchingDocuments",enumDescriptions:[k.localize(7,null),k.localize(8,null),k.localize(9,null)],description:k.localize(10,null)},"editor.semanticHighlighting.enabled":{enum:[!0,!1,"configuredByTheme"],enumDescriptions:[k.localize(11,null),k.localize(12,null),k.localize(13,null)],default:"configuredByTheme",description:k.localize(14,null)},"editor.stablePeek":{type:"boolean",default:!1,markdownDescription:k.localize(15,null)},"editor.maxTokenizationLineLength":{type:"integer",default:2e4,description:k.localize(16,null)},"editor.language.brackets":{type:"array",default:!1,description:k.localize(17,null),items:{type:"array",items:[{type:"string",description:k.localize(18,null)},{type:"string",description:k.localize(19,null)}]}},"editor.language.colorizedBracketPairs":{type:"array",default:!1,description:k.localize(20,null),items:{type:"array",items:[{type:"string",description:k.localize(21,null)},{type:"string",description:k.localize(22,null)}]}},"diffEditor.maxComputationTime":{type:"number",default:5e3,description:k.localize(23,null)},"diffEditor.maxFileSize":{type:"number",default:50,description:k.localize(24,null)},"diffEditor.renderSideBySide":{type:"boolean",default:!0,description:k.localize(25,null)},"diffEditor.ignoreTrimWhitespace":{type:"boolean",default:!0,description:k.localize(26,null)},"diffEditor.renderIndicators":{type:"boolean",default:!0,description:k.localize(27,null)},"diffEditor.codeLens":{type:"boolean",default:!1,description:k.localize(28,null)},"diffEditor.wordWrap":{type:"string",enum:["off","on","inherit"],default:"inherit",markdownEnumDescriptions:[k.localize(29,null),k.localize(30,null),k.localize(31,null)]}}});function C(o){return typeof o.type!="undefined"||typeof o.anyOf!="undefined"}for(const o of L.editorOptionsRegistry){const c=o.schema;if(typeof c!="undefined")if(C(c))b.properties[`editor.${o.name}`]=c;else for(const d in c)Object.hasOwnProperty.call(c,d)&&(b.properties[d]=c[d])}let u=null;function g(){return u===null&&(u=Object.create(null),Object.keys(b.properties).forEach(o=>{u[o]=!0})),u}function t(o){return g()[`editor.${o}`]||!1}e.isEditorConfigurationKey=t;function n(o){return g()[`diffEditor.${o}`]||!1}e.isDiffEditorConfigurationKey=n,w.Registry.as(I.Extensions.Configuration).registerConfiguration(b)}),define(te[81],ie([1,0,520,4,33,36,138,105]),function(q,e,L,m,k,I,w,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PLAINTEXT_EXTENSION=e.PLAINTEXT_LANGUAGE_ID=e.ModesRegistry=e.EditorModesRegistry=e.Extensions=void 0,e.Extensions={ModesRegistry:"editor.modesRegistry"};class C{constructor(){this._onDidChangeLanguages=new m.Emitter,this.onDidChangeLanguages=this._onDidChangeLanguages.event,this._languages=[]}registerLanguage(g){return this._languages.push(g),this._onDidChangeLanguages.fire(void 0),{dispose:()=>{for(let t=0,n=this._languages.length;t<n;t++)if(this._languages[t]===g){this._languages.splice(t,1);return}}}}getLanguages(){return this._languages}}e.EditorModesRegistry=C,e.ModesRegistry=new C,I.Registry.add(e.Extensions.ModesRegistry,e.ModesRegistry),e.PLAINTEXT_LANGUAGE_ID="plaintext",e.PLAINTEXT_EXTENSION=".txt",e.ModesRegistry.registerLanguage({id:e.PLAINTEXT_LANGUAGE_ID,extensions:[e.PLAINTEXT_EXTENSION],aliases:[L.localize(0,null),"text"],mimetypes:[w.Mimes.text]}),k.LanguageConfigurationRegistry.register(e.PLAINTEXT_LANGUAGE_ID,{brackets:[["(",")"],["[","]"],["{","}"]],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],colorizedBracketPairs:[],folding:{offSide:!0}},0),I.Registry.as(b.Extensions.Configuration).registerDefaultConfigurations([{overrides:{"[plaintext]":{"editor.unicodeHighlight.ambiguousCharacters":!1,"editor.unicodeHighlight.invisibleCharacters":!1}}}])}),define(te[631],ie([1,0,45,42,81,273]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.cssEscape=e.getIconClasses=void 0;const w=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function b(g,t,n,i){const o=i===I.FileKind.ROOT_FOLDER?["rootfolder-icon"]:i===I.FileKind.FOLDER?["folder-icon"]:["file-icon"];if(n){let c;if(n.scheme===L.Schemas.data)c=m.DataUri.parseMetaData(n).get(m.DataUri.META_DATA_LABEL);else{const d=n.path.match(w);d?(c=u(d[2].toLowerCase()),d[1]&&o.push(`${u(d[1].toLowerCase())}-name-dir-icon`)):c=u(n.authority.toLowerCase())}if(i===I.FileKind.FOLDER)o.push(`${c}-name-folder-icon`);else{if(c){if(o.push(`${c}-name-file-icon`),o.push("name-file-icon"),c.length<=255){const r=c.split(".");for(let s=1;s<r.length;s++)o.push(`${r.slice(s).join(".")}-ext-file-icon`)}o.push("ext-file-icon")}const d=C(g,t,n);d&&o.push(`${u(d)}-lang-file-icon`)}}return o}e.getIconClasses=b;function C(g,t,n){if(!n)return null;let i=null;if(n.scheme===L.Schemas.data){const c=m.DataUri.parseMetaData(n).get(m.DataUri.META_DATA_MIME);c&&(i=t.getLanguageIdByMimeType(c))}else{const o=g.getModel(n);o&&(i=o.getLanguageId())}return i&&i!==k.PLAINTEXT_LANGUAGE_ID?i:t.guessLanguageIdByFilepathOrFirstLine(n)}function u(g){return g.replace(/[\11\12\14\15\40]/g,"/")}e.cssEscape=u}),define(te[632],ie([1,0,18,13,4,2,8,430,81,105,36,33]),function(q,e,L,m,k,I,w,b,C,u,g,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LanguagesRegistry=e.LanguageIdCodec=void 0;const n=Object.prototype.hasOwnProperty,i="vs.editor.nullLanguage";t.LanguageConfigurationRegistry.register(i,{});class o{constructor(){this._languageIdToLanguage=[],this._languageToLanguageId=new Map,this._register(i,0),this._register(C.PLAINTEXT_LANGUAGE_ID,1),this._nextLanguageId=2}_register(r,s){this._languageIdToLanguage[s]=r,this._languageToLanguageId.set(r,s)}register(r){if(this._languageToLanguageId.has(r))return;const s=this._nextLanguageId++;this._register(r,s)}encodeLanguageId(r){return this._languageToLanguageId.get(r)||0}decodeLanguageId(r){return this._languageIdToLanguage[r]||i}}e.LanguageIdCodec=o;class c extends I.Disposable{constructor(r=!0,s=!1){super();this._onDidChange=this._register(new k.Emitter),this.onDidChange=this._onDidChange.event,c.instanceCount++,this._warnOnOverwrite=s,this.languageIdCodec=new o,this._dynamicLanguages=[],this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},r&&(this._initializeFromRegistry(),this._register(C.ModesRegistry.onDidChangeLanguages(a=>{this._initializeFromRegistry()})))}dispose(){c.instanceCount--,super.dispose()}_initializeFromRegistry(){this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},(0,b.clearPlatformLanguageAssociations)();const r=[].concat(C.ModesRegistry.getLanguages()).concat(this._dynamicLanguages);this._registerLanguages(r)}_registerLanguages(r){for(const s of r)this._registerLanguage(s);this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},Object.keys(this._languages).forEach(s=>{const a=this._languages[s];a.name&&(this._nameMap[a.name]=a.identifier),a.aliases.forEach(l=>{this._lowercaseNameMap[l.toLowerCase()]=a.identifier}),a.mimetypes.forEach(l=>{this._mimeTypesMap[l]=a.identifier})}),g.Registry.as(u.Extensions.Configuration).registerOverrideIdentifiers(this.getRegisteredLanguageIds()),this._onDidChange.fire()}_registerLanguage(r){const s=r.id;let a;n.call(this._languages,s)?a=this._languages[s]:(this.languageIdCodec.register(s),a={identifier:s,name:null,mimetypes:[],aliases:[],extensions:[],filenames:[],configurationFiles:[],icons:[]},this._languages[s]=a),this._mergeLanguage(a,r)}_mergeLanguage(r,s){const a=s.id;let l=null;if(Array.isArray(s.mimetypes)&&s.mimetypes.length>0&&(r.mimetypes.push(...s.mimetypes),l=s.mimetypes[0]),l||(l=`text/x-${a}`,r.mimetypes.push(l)),Array.isArray(s.extensions)){s.configuration?r.extensions=s.extensions.concat(r.extensions):r.extensions=r.extensions.concat(s.extensions);for(let S of s.extensions)(0,b.registerPlatformLanguageAssociation)({id:a,mime:l,extension:S},this._warnOnOverwrite)}if(Array.isArray(s.filenames))for(let S of s.filenames)(0,b.registerPlatformLanguageAssociation)({id:a,mime:l,filename:S},this._warnOnOverwrite),r.filenames.push(S);if(Array.isArray(s.filenamePatterns))for(let S of s.filenamePatterns)(0,b.registerPlatformLanguageAssociation)({id:a,mime:l,filepattern:S},this._warnOnOverwrite);if(typeof s.firstLine=="string"&&s.firstLine.length>0){let S=s.firstLine;S.charAt(0)!=="^"&&(S="^"+S);try{const v=new RegExp(S);(0,w.regExpLeadsToEndlessLoop)(v)||(0,b.registerPlatformLanguageAssociation)({id:a,mime:l,firstline:v},this._warnOnOverwrite)}catch(v){(0,m.onUnexpectedError)(v)}}r.aliases.push(a);let h=null;if(typeof s.aliases!="undefined"&&Array.isArray(s.aliases)&&(s.aliases.length===0?h=[null]:h=s.aliases),h!==null)for(const S of h)!S||S.length===0||r.aliases.push(S);const f=h!==null&&h.length>0;if(!(f&&h[0]===null)){const S=(f?h[0]:null)||a;(f||!r.name)&&(r.name=S)}s.configuration&&r.configurationFiles.push(s.configuration),s.icon&&r.icons.push(s.icon)}isRegisteredLanguageId(r){return r?n.call(this._languages,r):!1}getRegisteredLanguageIds(){return Object.keys(this._languages)}getLanguageIdByLanguageName(r){const s=r.toLowerCase();return n.call(this._lowercaseNameMap,s)?this._lowercaseNameMap[s]:null}getLanguageIdByMimeType(r){return r&&n.call(this._mimeTypesMap,r)?this._mimeTypesMap[r]:null}guessLanguageIdByFilepathOrFirstLine(r,s){if(!r&&!s)return[];const a=(0,b.getMimeTypes)(r,s);return(0,L.coalesce)(a.map(l=>this.getLanguageIdByMimeType(l)))}}e.LanguagesRegistry=c,c.instanceCount=0}),define(te[633],ie([1,0,4,2,632,18,27,81]),function(q,e,L,m,k,I,w,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LanguageService=void 0;class C extends m.Disposable{constructor(t=!1){super();this._onDidEncounterLanguage=this._register(new L.Emitter),this.onDidEncounterLanguage=this._onDidEncounterLanguage.event,this._onDidChange=this._register(new L.Emitter({leakWarningThreshold:200})),this.onDidChange=this._onDidChange.event,C.instanceCount++,this._encounteredLanguages=new Set,this._registry=this._register(new k.LanguagesRegistry(!0,t)),this.languageIdCodec=this._registry.languageIdCodec,this._register(this._registry.onDidChange(()=>this._onDidChange.fire()))}dispose(){C.instanceCount--,super.dispose()}isRegisteredLanguageId(t){return this._registry.isRegisteredLanguageId(t)}getLanguageIdByLanguageName(t){return this._registry.getLanguageIdByLanguageName(t)}getLanguageIdByMimeType(t){return this._registry.getLanguageIdByMimeType(t)}guessLanguageIdByFilepathOrFirstLine(t,n){const i=this._registry.guessLanguageIdByFilepathOrFirstLine(t,n);return(0,I.firstOrDefault)(i,null)}createById(t){return new u(this.onDidChange,()=>this._createAndGetLanguageIdentifier(t))}createByFilepathOrFirstLine(t,n){return new u(this.onDidChange,()=>{const i=this.guessLanguageIdByFilepathOrFirstLine(t,n);return this._createAndGetLanguageIdentifier(i)})}_createAndGetLanguageIdentifier(t){return(!t||!this.isRegisteredLanguageId(t))&&(t=b.PLAINTEXT_LANGUAGE_ID),this._encounteredLanguages.has(t)||(this._encounteredLanguages.add(t),w.TokenizationRegistry.getOrCreate(t),this._onDidEncounterLanguage.fire(t)),t}}e.LanguageService=C,C.instanceCount=0;class u{constructor(t,n){this._onDidChangeLanguages=t,this._selector=n,this._listener=null,this._emitter=null,this.languageId=this._selector()}_dispose(){this._listener&&(this._listener.dispose(),this._listener=null),this._emitter&&(this._emitter.dispose(),this._emitter=null)}get onDidChange(){return this._listener||(this._listener=this._onDidChangeLanguages(()=>this._evaluate())),this._emitter||(this._emitter=new L.Emitter({onLastListenerRemove:()=>{this._dispose()}})),this._emitter.event}_evaluate(){const t=this._selector();t!==this.languageId&&(this.languageId=t,this._emitter&&this._emitter.fire(this.languageId))}}}),define(te[106],ie([1,0,327,53,35,13,253,4,2,64,81]),function(q,e,L,m,k,I,w,b,C,u,g){"use strict";var t;Object.defineProperty(e,"__esModule",{value:!0}),e.MarkdownRenderer=void 0;let n=class Si{constructor(o,c,d){this._options=o,this._languageService=c,this._openerService=d,this._onDidRenderAsync=new b.Emitter,this.onDidRenderAsync=this._onDidRenderAsync.event}dispose(){this._onDidRenderAsync.dispose()}render(o,c,d){if(!o)return{element:document.createElement("span"),dispose:()=>{}};const r=new C.DisposableStore;return{element:r.add((0,L.renderMarkdown)(o,Object.assign(Object.assign({},this._getRenderOptions(o,r)),c),d)).element,dispose:()=>r.dispose()}}_getRenderOptions(o,c){return{codeBlockRenderer:(d,r)=>we(this,void 0,void 0,function*(){var s,a,l;let h;d?h=this._languageService.getLanguageIdByLanguageName(d):this._options.editor&&(h=(s=this._options.editor.getModel())===null||s===void 0?void 0:s.getLanguageId()),h||(h=g.PLAINTEXT_LANGUAGE_ID);const f=yield(0,w.tokenizeToString)(this._languageService,r,h),S=document.createElement("span");if(S.innerHTML=(l=(a=Si._ttpTokenizer)===null||a===void 0?void 0:a.createHTML(f))!==null&&l!==void 0?l:f,this._options.editor){const v=this._options.editor.getOption(44);(0,u.applyFontInfo)(S,v)}else this._options.codeBlockFontFamily&&(S.style.fontFamily=this._options.codeBlockFontFamily);return S}),asyncRenderCallback:()=>this._onDidRenderAsync.fire(),actionHandler:{callback:d=>this._openerService.open(d,{fromUserGesture:!0,allowContributedOpeners:!0,allowCommands:o.isTrusted}).catch(I.onUnexpectedError),disposables:c}}}};n._ttpTokenizer=(t=window.trustedTypes)===null||t===void 0?void 0:t.createPolicy("tokenizeToString",{createHTML(i){return i}}),n=Ie([pe(1,k.ILanguageService),pe(2,m.IOpenerService)],n),e.MarkdownRenderer=n}),define(te[634],ie([1,0,7,18,68,2,106,260,53,230]),function(q,e,L,m,k,I,w,b,C,u){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MarginHoverWidget=void 0;const g=L.$;class t extends I.Disposable{constructor(o,c,d=C.NullOpenerService){super();this._renderDisposeables=this._register(new I.DisposableStore),this._editor=o,this._isVisible=!1,this._messages=[],this._hover=this._register(new u.HoverWidget),this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._markdownRenderer=this._register(new w.MarkdownRenderer({editor:this._editor},c,d)),this._computer=new n(this._editor),this._hoverOperation=this._register(new b.HoverOperation(this._editor,this._computer)),this._register(this._hoverOperation.onResult(r=>{this._withResult(r.value)})),this._register(this._editor.onDidChangeModelDecorations(()=>this._onModelDecorationsChanged())),this._register(this._editor.onDidChangeConfiguration(r=>{r.hasChanged(44)&&this._updateFont()})),this._editor.addOverlayWidget(this)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return t.ID}getDomNode(){return this._hover.containerDomNode}getPosition(){return null}_updateFont(){Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach(c=>this._editor.applyFontInfo(c))}_onModelDecorationsChanged(){this._isVisible&&(this._hoverOperation.cancel(),this._hoverOperation.start(0))}startShowingAt(o){this._computer.lineNumber!==o&&(this._hoverOperation.cancel(),this.hide(),this._computer.lineNumber=o,this._hoverOperation.start(0))}hide(){this._computer.lineNumber=-1,this._hoverOperation.cancel(),!!this._isVisible&&(this._isVisible=!1,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible))}_withResult(o){this._messages=o,this._messages.length>0?this._renderMessages(this._computer.lineNumber,this._messages):this.hide()}_renderMessages(o,c){this._renderDisposeables.clear();const d=document.createDocumentFragment();for(const r of c){const s=g("div.hover-row.markdown-hover"),a=L.append(s,g("div.hover-contents")),l=this._renderDisposeables.add(this._markdownRenderer.render(r.value));a.appendChild(l.element),d.appendChild(s)}this._updateContents(d),this._showAt(o)}_updateContents(o){this._hover.contentsDomNode.textContent="",this._hover.contentsDomNode.appendChild(o),this._updateFont()}_showAt(o){this._isVisible||(this._isVisible=!0,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible));const c=this._editor.getLayoutInfo(),d=this._editor.getTopForLineNumber(o),r=this._editor.getScrollTop(),s=this._editor.getOption(59),a=this._hover.containerDomNode.clientHeight,l=d-r-(a-s)/2;this._hover.containerDomNode.style.left=`${c.glyphMarginLeft+c.glyphMarginWidth}px`,this._hover.containerDomNode.style.top=`${Math.max(Math.round(l),0)}px`}}e.MarginHoverWidget=t,t.ID="editor.contrib.modesGlyphHoverWidget";class n{constructor(o){this._editor=o,this._lineNumber=-1}get lineNumber(){return this._lineNumber}set lineNumber(o){this._lineNumber=o}computeSync(){const o=r=>({value:r}),c=this._editor.getLineDecorations(this._lineNumber),d=[];if(!c)return d;for(const r of c){if(!r.options.glyphMarginClassName)continue;const s=r.options.glyphMarginHoverMessage;!s||(0,k.isEmptyMarkdownString)(s)||d.push(...(0,m.asArray)(s).map(o))}return d}}}),define(te[282],ie([1,0,34,7,69,28,4,68,2,106,32,265,579,9]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SuggestDetailsOverlay=e.SuggestDetailsWidget=e.canExpandCompletionItem=void 0;function o(r){return!!r&&Boolean(r.completion.documentation||r.completion.detail&&r.completion.detail!==r.completion.label)}e.canExpandCompletionItem=o;let c=class{constructor(s,a){this._editor=s,this._onDidClose=new w.Emitter,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new w.Emitter,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new C.DisposableStore,this._renderDisposeable=new C.DisposableStore,this._borderWidth=1,this._size=new m.Dimension(330,0),this.domNode=m.$(".suggest-details"),this.domNode.classList.add("no-docs"),this._markdownRenderer=a.createInstance(u.MarkdownRenderer,{editor:s}),this._body=m.$(".body"),this._scrollbar=new k.DomScrollableElement(this._body,{}),m.append(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=m.append(this._body,m.$(".header")),this._close=m.append(this._header,m.$("span"+I.Codicon.close.cssSelector)),this._close.title=n.localize(0,null),this._type=m.append(this._header,m.$("p.type")),this._docs=m.append(this._body,m.$("p.docs")),this._configureFont(),this._disposables.add(this._editor.onDidChangeConfiguration(l=>{l.hasChanged(44)&&this._configureFont()}))}dispose(){this._disposables.dispose(),this._renderDisposeable.dispose()}_configureFont(){const s=this._editor.getOptions(),a=s.get(44),l=a.getMassagedFontFamily(L.isSafari?g.EDITOR_FONT_DEFAULTS.fontFamily:null),h=s.get(107)||a.fontSize,f=s.get(108)||a.lineHeight,S=a.fontWeight,v=`${h}px`,p=`${f}px`;this.domNode.style.fontSize=v,this.domNode.style.lineHeight=`${f/h}`,this.domNode.style.fontWeight=S,this.domNode.style.fontFeatureSettings=a.fontFeatureSettings,this._type.style.fontFamily=l,this._close.style.height=p,this._close.style.width=p}getLayoutInfo(){const s=this._editor.getOption(108)||this._editor.getOption(44).lineHeight,a=this._borderWidth,l=a*2;return{lineHeight:s,borderWidth:a,borderHeight:l,verticalPadding:22,horizontalPadding:14}}renderLoading(){this._type.textContent=n.localize(1,null),this._docs.textContent="",this.domNode.classList.remove("no-docs","no-type"),this.layout(this.size.width,this.getLayoutInfo().lineHeight*2),this._onDidChangeContents.fire(this)}renderItem(s,a){var l,h;this._renderDisposeable.clear();let{detail:f,documentation:S}=s.completion;if(a){let v="";v+=`score: ${s.score[0]}
+`,v+=`prefix: ${(l=s.word)!==null&&l!==void 0?l:"(no prefix)"}
+`,v+=`word: ${s.completion.filterText?s.completion.filterText+" (filterText)":s.textLabel}
+`,v+=`distance: ${s.distance} (localityBonus-setting)
+`,v+=`index: ${s.idx}, based on ${s.completion.sortText&&`sortText: "${s.completion.sortText}"`||"label"}
+`,v+=`commit_chars: ${(h=s.completion.commitCharacters)===null||h===void 0?void 0:h.join("")}
+`,S=new b.MarkdownString().appendCodeblock("empty",v),f=`Provider: ${s.provider._debugDisplayName}`}if(!a&&!o(s)){this.clearContents();return}if(this.domNode.classList.remove("no-docs","no-type"),f){const v=f.length>1e5?`${f.substr(0,1e5)}\u2026`:f;this._type.textContent=v,this._type.title=v,m.show(this._type),this._type.classList.toggle("auto-wrap",!/\r?\n^\s+/gmi.test(v))}else m.clearNode(this._type),this._type.title="",m.hide(this._type),this.domNode.classList.add("no-type");if(m.clearNode(this._docs),typeof S=="string")this._docs.classList.remove("markdown-docs"),this._docs.textContent=S;else if(S){this._docs.classList.add("markdown-docs"),m.clearNode(this._docs);const v=this._markdownRenderer.render(S);this._docs.appendChild(v.element),this._renderDisposeable.add(v),this._renderDisposeable.add(this._markdownRenderer.onDidRenderAsync(()=>{this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}))}this.domNode.style.userSelect="text",this.domNode.tabIndex=-1,this._close.onmousedown=v=>{v.preventDefault(),v.stopPropagation()},this._close.onclick=v=>{v.preventDefault(),v.stopPropagation(),this._onDidClose.fire()},this._body.scrollTop=0,this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}clearContents(){this.domNode.classList.add("no-docs"),this._type.textContent="",this._docs.textContent=""}get size(){return this._size}layout(s,a){const l=new m.Dimension(s,a);m.Dimension.equals(l,this._size)||(this._size=l,m.size(this.domNode,s,a)),this._scrollbar.scanDomNode()}scrollDown(s=8){this._body.scrollTop+=s}scrollUp(s=8){this._body.scrollTop-=s}scrollTop(){this._body.scrollTop=0}scrollBottom(){this._body.scrollTop=this._body.scrollHeight}pageDown(){this.scrollDown(80)}pageUp(){this.scrollUp(80)}set borderWidth(s){this._borderWidth=s}get borderWidth(){return this._borderWidth}};c=Ie([pe(1,i.IInstantiationService)],c),e.SuggestDetailsWidget=c;class d{constructor(s,a){this.widget=s,this._editor=a,this._disposables=new C.DisposableStore,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new t.ResizableHTMLElement,this._resizable.domNode.classList.add("suggest-details-container"),this._resizable.domNode.appendChild(s.domNode),this._resizable.enableSashes(!1,!0,!0,!1);let l,h,f=0,S=0;this._disposables.add(this._resizable.onDidWillResize(()=>{l=this._topLeft,h=this._resizable.size})),this._disposables.add(this._resizable.onDidResize(v=>{if(l&&h){this.widget.layout(v.dimension.width,v.dimension.height);let p=!1;v.west&&(S=h.width-v.dimension.width,p=!0),v.north&&(f=h.height-v.dimension.height,p=!0),p&&this._applyTopLeft({top:l.top+f,left:l.left+S})}v.done&&(l=void 0,h=void 0,f=0,S=0,this._userSize=v.dimension)})),this._disposables.add(this.widget.onDidChangeContents(()=>{var v;this._anchorBox&&this._placeAtAnchor(this._anchorBox,(v=this._userSize)!==null&&v!==void 0?v:this.widget.size,this._preferAlignAtTop)}))}dispose(){this._resizable.dispose(),this._disposables.dispose(),this.hide()}getId(){return"suggest.details"}getDomNode(){return this._resizable.domNode}getPosition(){return null}show(){this._added||(this._editor.addOverlayWidget(this),this.getDomNode().style.position="fixed",this._added=!0)}hide(s=!1){this._resizable.clearSashHoverState(),this._added&&(this._editor.removeOverlayWidget(this),this._added=!1,this._anchorBox=void 0,this._topLeft=void 0),s&&(this._userSize=void 0,this.widget.clearContents())}placeAtAnchor(s,a){var l;const h=s.getBoundingClientRect();this._anchorBox=h,this._preferAlignAtTop=a,this._placeAtAnchor(this._anchorBox,(l=this._userSize)!==null&&l!==void 0?l:this.widget.size,a)}_placeAtAnchor(s,a,l){var h;const f=m.getClientArea(document.body),S=this.widget.getLayoutInfo(),v=new m.Dimension(220,2*S.lineHeight),p=s.top,_=function(){const P=f.width-(s.left+s.width+S.borderWidth+S.horizontalPadding),F=-S.borderWidth+s.left+s.width,W=new m.Dimension(P,f.height-s.top-S.borderHeight-S.verticalPadding),R=W.with(void 0,s.top+s.height-S.borderHeight-S.verticalPadding);return{top:p,left:F,fit:P-a.width,maxSizeTop:W,maxSizeBottom:R,minSize:v.with(Math.min(P,v.width))}}(),y=function(){const P=s.left-S.borderWidth-S.horizontalPadding,F=Math.max(S.horizontalPadding,s.left-a.width-S.borderWidth),W=new m.Dimension(P,f.height-s.top-S.borderHeight-S.verticalPadding),R=W.with(void 0,s.top+s.height-S.borderHeight-S.verticalPadding);return{top:p,left:F,fit:P-a.width,maxSizeTop:W,maxSizeBottom:R,minSize:v.with(Math.min(P,v.width))}}(),E=function(){const P=s.left,F=-S.borderWidth+s.top+s.height,W=new m.Dimension(s.width-S.borderHeight,f.height-s.top-s.height-S.verticalPadding);return{top:F,left:P,fit:W.height-a.height,maxSizeBottom:W,maxSizeTop:W,minSize:v.with(W.width)}}(),N=[_,y,E],D=(h=N.find(P=>P.fit>=0))!==null&&h!==void 0?h:N.sort((P,F)=>F.fit-P.fit)[0],M=s.top+s.height-S.borderHeight;let B,O=a.height;const T=Math.max(D.maxSizeTop.height,D.maxSizeBottom.height);O>T&&(O=T);let A;l?O<=D.maxSizeTop.height?(B=!0,A=D.maxSizeTop):(B=!1,A=D.maxSizeBottom):O<=D.maxSizeBottom.height?(B=!1,A=D.maxSizeBottom):(B=!0,A=D.maxSizeTop),this._applyTopLeft({left:D.left,top:B?D.top:M-O}),this.getDomNode().style.position="fixed",this._resizable.enableSashes(!B,D===_,B,D!==_),this._resizable.minSize=D.minSize,this._resizable.maxSize=A,this._resizable.layout(O,Math.min(A.width,a.width)),this.widget.layout(this._resizable.size.width,this._resizable.size.height)}_applyTopLeft(s){this._topLeft=s,this.getDomNode().style.left=`${this._topLeft.left}px`,this.getDomNode().style.top=`${this._topLeft.top}px`}}e.SuggestDetailsOverlay=d}),define(te[635],ie([1,0,18,49,40,19,25,41,105,36]),function(q,e,L,m,k,I,w,b,C,u){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ConfigurationChangeEvent=e.Configuration=e.DefaultConfigurationModel=e.ConfigurationModel=void 0;class g{constructor(c={},d=[],r=[]){this._contents=c,this._keys=d,this._overrides=r,this.isFrozen=!1,this.overrideConfigurations=new Map}get contents(){return this.checkAndFreeze(this._contents)}get overrides(){return this.checkAndFreeze(this._overrides)}get keys(){return this.checkAndFreeze(this._keys)}isEmpty(){return this._keys.length===0&&Object.keys(this._contents).length===0&&this._overrides.length===0}getValue(c){return c?(0,b.getConfigurationValue)(this.contents,c):this.contents}getOverrideValue(c,d){const r=this.getContentsForOverrideIdentifer(d);return r?c?(0,b.getConfigurationValue)(r,c):r:void 0}override(c){let d=this.overrideConfigurations.get(c);return d||(d=this.createOverrideConfigurationModel(c),this.overrideConfigurations.set(c,d)),d}merge(...c){const d=k.deepClone(this.contents),r=k.deepClone(this.overrides),s=[...this.keys];for(const a of c){this.mergeContents(d,a.contents);for(const l of a.overrides){const[h]=r.filter(f=>L.equals(f.identifiers,l.identifiers));h?(this.mergeContents(h.contents,l.contents),h.keys.push(...l.keys),h.keys=L.distinct(h.keys)):r.push(k.deepClone(l))}for(const l of a.keys)s.indexOf(l)===-1&&s.push(l)}return new g(d,s,r)}freeze(){return this.isFrozen=!0,this}createOverrideConfigurationModel(c){const d=this.getContentsForOverrideIdentifer(c);if(!d||typeof d!="object"||!Object.keys(d).length)return this;let r={};for(const s of L.distinct([...Object.keys(this.contents),...Object.keys(d)])){let a=this.contents[s],l=d[s];l&&(typeof a=="object"&&typeof l=="object"?(a=k.deepClone(a),this.mergeContents(a,l)):a=l),r[s]=a}return new g(r,this.keys,this.overrides)}mergeContents(c,d){for(const r of Object.keys(d)){if(r in c&&I.isObject(c[r])&&I.isObject(d[r])){this.mergeContents(c[r],d[r]);continue}c[r]=k.deepClone(d[r])}}checkAndFreeze(c){return this.isFrozen&&!Object.isFrozen(c)?k.deepFreeze(c):c}getContentsForOverrideIdentifer(c){let d=null,r=null;const s=a=>{a&&(r?this.mergeContents(r,a):r=k.deepClone(a))};for(const a of this.overrides)L.equals(a.identifiers,[c])?d=a.contents:a.identifiers.includes(c)&&s(a.contents);return s(d),r}toJSON(){return{contents:this.contents,overrides:this.overrides,keys:this.keys}}setValue(c,d){this.addKey(c),(0,b.addToValueTree)(this.contents,c,d,r=>{throw new Error(r)})}removeValue(c){this.removeKey(c)&&(0,b.removeFromValueTree)(this.contents,c)}addKey(c){let d=this.keys.length;for(let r=0;r<d;r++)c.indexOf(this.keys[r])===0&&(d=r);this.keys.splice(d,1,c)}removeKey(c){let d=this.keys.indexOf(c);return d!==-1?(this.keys.splice(d,1),!0):!1}}e.ConfigurationModel=g;class t extends g{constructor(c={}){const d=u.Registry.as(C.Extensions.Configuration).getConfigurationProperties(),r=Object.keys(d),s=Object.create(null),a=[];for(const l in d){const h=c[l],f=h!==void 0?h:d[l].default;(0,b.addToValueTree)(s,l,f,S=>console.error(`Conflict in default settings: ${S}`))}for(const l of Object.keys(s))C.OVERRIDE_PROPERTY_REGEX.test(l)&&a.push({identifiers:(0,C.overrideIdentifiersFromKey)(l),keys:Object.keys(s[l]),contents:(0,b.toValuesTree)(s[l],h=>console.error(`Conflict in default settings file: ${h}`))});super(s,r,a)}}e.DefaultConfigurationModel=t;class n{constructor(c,d,r=new g,s=new g,a=new m.ResourceMap,l=new g,h=new m.ResourceMap,f=!0){this._defaultConfiguration=c,this._localUserConfiguration=d,this._remoteUserConfiguration=r,this._workspaceConfiguration=s,this._folderConfigurations=a,this._memoryConfiguration=l,this._memoryConfigurationByResource=h,this._freeze=f,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations=new m.ResourceMap,this._userConfiguration=null}getValue(c,d,r){return this.getConsolidateConfigurationModel(d,r).getValue(c)}updateValue(c,d,r={}){let s;r.resource?(s=this._memoryConfigurationByResource.get(r.resource),s||(s=new g,this._memoryConfigurationByResource.set(r.resource,s))):s=this._memoryConfiguration,d===void 0?s.removeValue(c):s.setValue(c,d),r.resource||(this._workspaceConsolidatedConfiguration=null)}inspect(c,d,r){const s=this.getConsolidateConfigurationModel(d,r),a=this.getFolderConfigurationModelForResource(d.resource,r),l=d.resource?this._memoryConfigurationByResource.get(d.resource)||this._memoryConfiguration:this._memoryConfiguration,h=d.overrideIdentifier?this._defaultConfiguration.freeze().override(d.overrideIdentifier).getValue(c):this._defaultConfiguration.freeze().getValue(c),f=d.overrideIdentifier?this.userConfiguration.freeze().override(d.overrideIdentifier).getValue(c):this.userConfiguration.freeze().getValue(c),S=d.overrideIdentifier?this.localUserConfiguration.freeze().override(d.overrideIdentifier).getValue(c):this.localUserConfiguration.freeze().getValue(c),v=d.overrideIdentifier?this.remoteUserConfiguration.freeze().override(d.overrideIdentifier).getValue(c):this.remoteUserConfiguration.freeze().getValue(c),p=r?d.overrideIdentifier?this._workspaceConfiguration.freeze().override(d.overrideIdentifier).getValue(c):this._workspaceConfiguration.freeze().getValue(c):void 0,_=a?d.overrideIdentifier?a.freeze().override(d.overrideIdentifier).getValue(c):a.freeze().getValue(c):void 0,y=d.overrideIdentifier?l.override(d.overrideIdentifier).getValue(c):l.getValue(c),E=s.getValue(c),N=L.distinct(L.flatten(s.overrides.map(D=>D.identifiers))).filter(D=>s.getOverrideValue(c,D)!==void 0);return{defaultValue:h,userValue:f,userLocalValue:S,userRemoteValue:v,workspaceValue:p,workspaceFolderValue:_,memoryValue:y,value:E,default:h!==void 0?{value:this._defaultConfiguration.freeze().getValue(c),override:d.overrideIdentifier?this._defaultConfiguration.freeze().getOverrideValue(c,d.overrideIdentifier):void 0}:void 0,user:f!==void 0?{value:this.userConfiguration.freeze().getValue(c),override:d.overrideIdentifier?this.userConfiguration.freeze().getOverrideValue(c,d.overrideIdentifier):void 0}:void 0,userLocal:S!==void 0?{value:this.localUserConfiguration.freeze().getValue(c),override:d.overrideIdentifier?this.localUserConfiguration.freeze().getOverrideValue(c,d.overrideIdentifier):void 0}:void 0,userRemote:v!==void 0?{value:this.remoteUserConfiguration.freeze().getValue(c),override:d.overrideIdentifier?this.remoteUserConfiguration.freeze().getOverrideValue(c,d.overrideIdentifier):void 0}:void 0,workspace:p!==void 0?{value:this._workspaceConfiguration.freeze().getValue(c),override:d.overrideIdentifier?this._workspaceConfiguration.freeze().getOverrideValue(c,d.overrideIdentifier):void 0}:void 0,workspaceFolder:_!==void 0?{value:a==null?void 0:a.freeze().getValue(c),override:d.overrideIdentifier?a==null?void 0:a.freeze().getOverrideValue(c,d.overrideIdentifier):void 0}:void 0,memory:y!==void 0?{value:l.getValue(c),override:d.overrideIdentifier?l.getOverrideValue(c,d.overrideIdentifier):void 0}:void 0,overrideIdentifiers:N.length?N:void 0}}get userConfiguration(){return this._userConfiguration||(this._userConfiguration=this._remoteUserConfiguration.isEmpty()?this._localUserConfiguration:this._localUserConfiguration.merge(this._remoteUserConfiguration),this._freeze&&this._userConfiguration.freeze()),this._userConfiguration}get localUserConfiguration(){return this._localUserConfiguration}get remoteUserConfiguration(){return this._remoteUserConfiguration}getConsolidateConfigurationModel(c,d){let r=this.getConsolidatedConfigurationModelForResource(c,d);return c.overrideIdentifier?r.override(c.overrideIdentifier):r}getConsolidatedConfigurationModelForResource({resource:c},d){let r=this.getWorkspaceConsolidatedConfiguration();if(d&&c){const s=d.getFolder(c);s&&(r=this.getFolderConsolidatedConfiguration(s.uri)||r);const a=this._memoryConfigurationByResource.get(c);a&&(r=r.merge(a))}return r}getWorkspaceConsolidatedConfiguration(){return this._workspaceConsolidatedConfiguration||(this._workspaceConsolidatedConfiguration=this._defaultConfiguration.merge(this.userConfiguration,this._workspaceConfiguration,this._memoryConfiguration),this._freeze&&(this._workspaceConfiguration=this._workspaceConfiguration.freeze())),this._workspaceConsolidatedConfiguration}getFolderConsolidatedConfiguration(c){let d=this._foldersConsolidatedConfigurations.get(c);if(!d){const r=this.getWorkspaceConsolidatedConfiguration(),s=this._folderConfigurations.get(c);s?(d=r.merge(s),this._freeze&&(d=d.freeze()),this._foldersConsolidatedConfigurations.set(c,d)):d=r}return d}getFolderConfigurationModelForResource(c,d){if(d&&c){const r=d.getFolder(c);if(r)return this._folderConfigurations.get(r.uri)}}toData(){return{defaults:{contents:this._defaultConfiguration.contents,overrides:this._defaultConfiguration.overrides,keys:this._defaultConfiguration.keys},user:{contents:this.userConfiguration.contents,overrides:this.userConfiguration.overrides,keys:this.userConfiguration.keys},workspace:{contents:this._workspaceConfiguration.contents,overrides:this._workspaceConfiguration.overrides,keys:this._workspaceConfiguration.keys},folders:[...this._folderConfigurations.keys()].reduce((c,d)=>{const{contents:r,overrides:s,keys:a}=this._folderConfigurations.get(d);return c.push([d,{contents:r,overrides:s,keys:a}]),c},[])}}static parse(c){const d=this.parseConfigurationModel(c.defaults),r=this.parseConfigurationModel(c.user),s=this.parseConfigurationModel(c.workspace),a=c.folders.reduce((l,h)=>(l.set(w.URI.revive(h[0]),this.parseConfigurationModel(h[1])),l),new m.ResourceMap);return new n(d,r,new g,s,a,new g,new m.ResourceMap,!1)}static parseConfigurationModel(c){return new g(c.contents,c.keys,c.overrides).freeze()}}e.Configuration=n;class i{constructor(c,d,r,s){this.change=c,this.previous=d,this.currentConfiguraiton=r,this.currentWorkspace=s,this._previousConfiguration=void 0;const a=new Set;c.keys.forEach(h=>a.add(h)),c.overrides.forEach(([,h])=>h.forEach(f=>a.add(f))),this.affectedKeys=[...a.values()];const l=new g;this.affectedKeys.forEach(h=>l.setValue(h,{})),this.affectedKeysTree=l.contents}get previousConfiguration(){return!this._previousConfiguration&&this.previous&&(this._previousConfiguration=n.parse(this.previous.data)),this._previousConfiguration}affectsConfiguration(c,d){var r;if(this.doesAffectedKeysTreeContains(this.affectedKeysTree,c)){if(d){const s=this.previousConfiguration?this.previousConfiguration.getValue(c,d,(r=this.previous)===null||r===void 0?void 0:r.workspace):void 0,a=this.currentConfiguraiton.getValue(c,d,this.currentWorkspace);return!k.equals(s,a)}return!0}return!1}doesAffectedKeysTreeContains(c,d){let r=(0,b.toValuesTree)({[d]:!0},()=>{}),s;for(;typeof r=="object"&&(s=Object.keys(r)[0]);){if(c=c[s],!c)return!1;r=r[s]}return!0}}e.ConfigurationChangeEvent=i}),define(te[89],ie([1,0,96,16,26,36]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Extensions=e.KeybindingsRegistry=void 0;class w{constructor(){this._coreKeybindings=[],this._extensionKeybindings=[],this._cachedMergedKeybindings=null}static bindToCurrentPlatform(u){if(m.OS===1){if(u&&u.win)return u.win}else if(m.OS===2){if(u&&u.mac)return u.mac}else if(u&&u.linux)return u.linux;return u}registerKeybindingRule(u){const g=w.bindToCurrentPlatform(u);if(g&&g.primary){const t=(0,L.createKeybinding)(g.primary,m.OS);t&&this._registerDefaultKeybinding(t,u.id,u.args,u.weight,0,u.when)}if(g&&Array.isArray(g.secondary))for(let t=0,n=g.secondary.length;t<n;t++){const i=g.secondary[t],o=(0,L.createKeybinding)(i,m.OS);o&&this._registerDefaultKeybinding(o,u.id,u.args,u.weight,-t-1,u.when)}}registerCommandAndKeybindingRule(u){this.registerKeybindingRule(u),k.CommandsRegistry.registerCommand(u)}static _mightProduceChar(u){return u>=21&&u<=30||u>=31&&u<=56?!0:u===80||u===81||u===82||u===83||u===84||u===85||u===86||u===110||u===111||u===87||u===88||u===89||u===90||u===91||u===92}_assertNoCtrlAlt(u,g){u.ctrlKey&&u.altKey&&!u.metaKey&&w._mightProduceChar(u.keyCode)&&console.warn("Ctrl+Alt+ keybindings should not be used by default under Windows. Offender: ",u," for ",g)}_registerDefaultKeybinding(u,g,t,n,i,o){m.OS===1&&this._assertNoCtrlAlt(u.parts[0],g),this._coreKeybindings.push({keybinding:u.parts,command:g,commandArgs:t,when:o,weight1:n,weight2:i,extensionId:null,isBuiltinExtension:!1}),this._cachedMergedKeybindings=null}getDefaultKeybindings(){return this._cachedMergedKeybindings||(this._cachedMergedKeybindings=[].concat(this._coreKeybindings).concat(this._extensionKeybindings),this._cachedMergedKeybindings.sort(b)),this._cachedMergedKeybindings.slice(0)}}e.KeybindingsRegistry=new w,e.Extensions={EditorModes:"platform.keybindingsRegistry"},I.Registry.add(e.Extensions.EditorModes,e.KeybindingsRegistry);function b(C,u){return C.weight1!==u.weight1?C.weight1-u.weight1:C.command<u.command?-1:C.command>u.command?1:C.weight2-u.weight2}}),define(te[283],ie([1,0,492,493,17,89,593]),function(q,e,L,m,k,I,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ContextScopedReplaceInput=e.ContextScopedFindInput=e.createAndBindHistoryNavigationWidgetScopedContextKeyService=e.HistoryNavigationWidgetContext=e.historyNavigationVisible=void 0,e.historyNavigationVisible=new k.RawContextKey("suggestWidgetVisible",!1,(0,w.localize)(0,null)),e.HistoryNavigationWidgetContext="historyNavigationWidget";const b="historyNavigationForwardsEnabled",C="historyNavigationBackwardsEnabled";function u(c,d,r){new k.RawContextKey(r,d).bindTo(c)}function g(c,d){return c.createScoped(d.target)}function t(c,d){return c.getContext(document.activeElement).getValue(d)}function n(c,d){const r=g(c,d);u(r,d,e.HistoryNavigationWidgetContext);const s=new k.RawContextKey(b,!0).bindTo(r),a=new k.RawContextKey(C,!0).bindTo(r);return{scopedContextKeyService:r,historyNavigationForwardsEnablement:s,historyNavigationBackwardsEnablement:a}}e.createAndBindHistoryNavigationWidgetScopedContextKeyService=n;let i=class extends L.FindInput{constructor(d,r,s,a,l=!1){super(d,r,l,s);this._register(n(a,{target:this.inputBox.element,historyNavigator:this.inputBox}).scopedContextKeyService)}};i=Ie([pe(3,k.IContextKeyService)],i),e.ContextScopedFindInput=i;let o=class extends m.ReplaceInput{constructor(d,r,s,a,l=!1){super(d,r,l,s);this._register(n(a,{target:this.inputBox.element,historyNavigator:this.inputBox}).scopedContextKeyService)}};o=Ie([pe(3,k.IContextKeyService)],o),e.ContextScopedReplaceInput=o,I.KeybindingsRegistry.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:k.ContextKeyExpr.and(k.ContextKeyExpr.has(e.HistoryNavigationWidgetContext),k.ContextKeyExpr.equals(C,!0),e.historyNavigationVisible.isEqualTo(!1)),primary:16,secondary:[512|16],handler:c=>{const d=t(c.get(k.IContextKeyService),e.HistoryNavigationWidgetContext);d&&d.historyNavigator.showPreviousValue()}}),I.KeybindingsRegistry.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:k.ContextKeyExpr.and(k.ContextKeyExpr.has(e.HistoryNavigationWidgetContext),k.ContextKeyExpr.equals(b,!0),e.historyNavigationVisible.isEqualTo(!1)),primary:18,secondary:[512|18],handler:c=>{const d=t(c.get(k.IContextKeyService),e.HistoryNavigationWidgetContext);d&&d.historyNavigator.showNextValue()}})}),define(te[107],ie([1,0,18,2,36]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.QuickAccessRegistry=e.Extensions=e.DefaultQuickAccessFilterValue=void 0;var I;(function(b){b[b.PRESERVE=0]="PRESERVE",b[b.LAST=1]="LAST"})(I=e.DefaultQuickAccessFilterValue||(e.DefaultQuickAccessFilterValue={})),e.Extensions={Quickaccess:"workbench.contributions.quickaccess"};class w{constructor(){this.providers=[],this.defaultProvider=void 0}registerQuickAccessProvider(C){return C.prefix.length===0?this.defaultProvider=C:this.providers.push(C),this.providers.sort((u,g)=>g.prefix.length-u.prefix.length),(0,m.toDisposable)(()=>{this.providers.splice(this.providers.indexOf(C),1),this.defaultProvider===C&&(this.defaultProvider=void 0)})}getQuickAccessProviders(){return(0,L.coalesce)([this.defaultProvider,...this.providers])}getQuickAccessProvider(C){return C&&this.providers.find(g=>C.startsWith(g.prefix))||void 0||this.defaultProvider}}e.QuickAccessRegistry=w,k.Registry.add(e.Extensions.Quickaccess,new w)}),define(te[636],ie([1,0,2,598,107,80,36]),function(q,e,L,m,k,I,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.HelpQuickAccessProvider=void 0;let b=class Ft{constructor(u){this.quickInputService=u,this.registry=w.Registry.as(k.Extensions.Quickaccess)}provide(u){const g=new L.DisposableStore;g.add(u.onDidAccept(()=>{const[i]=u.selectedItems;i&&this.quickInputService.quickAccess.show(i.prefix,{preserveValue:!0})})),g.add(u.onDidChangeValue(i=>{const o=this.registry.getQuickAccessProvider(i.substr(Ft.PREFIX.length));o&&o.prefix&&o.prefix!==Ft.PREFIX&&this.quickInputService.quickAccess.show(o.prefix,{preserveValue:!0})}));const{editorProviders:t,globalProviders:n}=this.getQuickAccessProviders();return u.items=t.length===0||n.length===0?[...t.length===0?n:t]:[{label:(0,m.localize)(0,null),type:"separator"},...n,{label:(0,m.localize)(1,null),type:"separator"},...t],g}getQuickAccessProviders(){const u=[],g=[];for(const t of this.registry.getQuickAccessProviders().sort((n,i)=>n.prefix.localeCompare(i.prefix)))if(t.prefix!==Ft.PREFIX)for(const n of t.helpEntries){const i=n.prefix||t.prefix,o=i||"\u2026";(n.needsEditor?g:u).push({prefix:i,label:o,ariaLabel:(0,m.localize)(2,null,o,n.description),description:n.description})}return{editorProviders:g,globalProviders:u}}};b.PREFIX="?",b=Ie([pe(0,I.IQuickInputService)],b),e.HelpQuickAccessProvider=b}),define(te[637],ie([1,0,36,107,72,636]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),L.Registry.as(m.Extensions.Quickaccess).registerQuickAccessProvider({ctor:I.HelpQuickAccessProvider,prefix:"",helpEntries:[{description:k.QuickHelpNLS.helpQuickAccessActionLabel,needsEditor:!0}]})}),define(te[638],ie([1,0,10,21,91,2,9,107,80,36]),function(q,e,L,m,k,I,w,b,C,u){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.QuickAccessController=void 0;let g=class extends I.Disposable{constructor(n,i){super();this.quickInputService=n,this.instantiationService=i,this.registry=u.Registry.as(b.Extensions.Quickaccess),this.mapProviderToDescriptor=new Map,this.lastAcceptedPickerValues=new Map,this.visibleQuickAccess=void 0}show(n="",i){this.doShowOrPick(n,!1,i)}doShowOrPick(n,i,o){var c;const[d,r]=this.getOrInstantiateProvider(n),s=this.visibleQuickAccess,a=s==null?void 0:s.descriptor;if(s&&r&&a===r){n!==r.prefix&&!(o==null?void 0:o.preserveValue)&&(s.picker.value=n),this.adjustValueSelection(s.picker,r,o);return}if(r&&!(o==null?void 0:o.preserveValue)){let v;if(s&&a&&a!==r){const p=s.value.substr(a.prefix.length);p&&(v=`${r.prefix}${p}`)}if(!v){const p=d==null?void 0:d.defaultFilterValue;p===b.DefaultQuickAccessFilterValue.LAST?v=this.lastAcceptedPickerValues.get(r):typeof p=="string"&&(v=`${r.prefix}${p}`)}typeof v=="string"&&(n=v)}const l=new I.DisposableStore,h=l.add(this.quickInputService.createQuickPick());h.value=n,this.adjustValueSelection(h,r,o),h.placeholder=r==null?void 0:r.placeholder,h.quickNavigate=o==null?void 0:o.quickNavigateConfiguration,h.hideInput=!!h.quickNavigate&&!s,(typeof(o==null?void 0:o.itemActivation)=="number"||(o==null?void 0:o.quickNavigateConfiguration))&&(h.itemActivation=(c=o==null?void 0:o.itemActivation)!==null&&c!==void 0?c:C.ItemActivation.SECOND),h.contextKey=r==null?void 0:r.contextKey,h.filterValue=v=>v.substring(r?r.prefix.length:0),(r==null?void 0:r.placeholder)&&(h.ariaLabel=r==null?void 0:r.placeholder);let f;i&&(f=new L.DeferredPromise,l.add((0,k.once)(h.onWillAccept)(v=>{v.veto(),h.hide()}))),l.add(this.registerPickerListeners(h,d,r,n));const S=l.add(new m.CancellationTokenSource);if(d&&l.add(d.provide(h,S.token)),(0,k.once)(h.onDidHide)(()=>{h.selectedItems.length===0&&S.cancel(),l.dispose(),f==null||f.complete(h.selectedItems.slice(0))}),h.show(),i)return f==null?void 0:f.p}adjustValueSelection(n,i,o){var c;let d;(o==null?void 0:o.preserveValue)?d=[n.value.length,n.value.length]:d=[(c=i==null?void 0:i.prefix.length)!==null&&c!==void 0?c:0,n.value.length],n.valueSelection=d}registerPickerListeners(n,i,o,c){const d=new I.DisposableStore,r=this.visibleQuickAccess={picker:n,descriptor:o,value:c};return d.add((0,I.toDisposable)(()=>{r===this.visibleQuickAccess&&(this.visibleQuickAccess=void 0)})),d.add(n.onDidChangeValue(s=>{const[a]=this.getOrInstantiateProvider(s);a!==i?this.show(s,{preserveValue:!0}):r.value=s})),o&&d.add(n.onDidAccept(()=>{this.lastAcceptedPickerValues.set(o,n.value)})),d}getOrInstantiateProvider(n){const i=this.registry.getQuickAccessProvider(n);if(!i)return[void 0,void 0];let o=this.mapProviderToDescriptor.get(i);return o||(o=this.instantiationService.createInstance(i.ctor),this.mapProviderToDescriptor.set(i,o)),[o,i]}};g=Ie([pe(0,C.IQuickInputService),pe(1,w.IInstantiationService)],g),e.QuickAccessController=g}),define(te[82],ie([1,0,4,2,19,330,9]),function(q,e,L,m,k,I,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InMemoryStorageService=e.AbstractStorageService=e.WillSaveStateReason=e.IStorageService=void 0;const b="__$__targetStorageMarker";e.IStorageService=(0,w.createDecorator)("storageService");var C;(function(t){t[t.NONE=0]="NONE",t[t.SHUTDOWN=1]="SHUTDOWN"})(C=e.WillSaveStateReason||(e.WillSaveStateReason={}));class u extends m.Disposable{constructor(n={flushInterval:u.DEFAULT_FLUSH_INTERVAL}){super();this.options=n,this._onDidChangeValue=this._register(new L.PauseableEmitter),this._onDidChangeTarget=this._register(new L.PauseableEmitter),this._onWillSaveState=this._register(new L.Emitter),this.onWillSaveState=this._onWillSaveState.event,this._workspaceKeyTargets=void 0,this._globalKeyTargets=void 0}emitDidChangeValue(n,i){i===b?(n===0?this._globalKeyTargets=void 0:n===1&&(this._workspaceKeyTargets=void 0),this._onDidChangeTarget.fire({scope:n})):this._onDidChangeValue.fire({scope:n,key:i,target:this.getKeyTargets(n)[i]})}get(n,i,o){var c;return(c=this.getStorage(i))===null||c===void 0?void 0:c.get(n,o)}getBoolean(n,i,o){var c;return(c=this.getStorage(i))===null||c===void 0?void 0:c.getBoolean(n,o)}getNumber(n,i,o){var c;return(c=this.getStorage(i))===null||c===void 0?void 0:c.getNumber(n,o)}store(n,i,o,c){if((0,k.isUndefinedOrNull)(i)){this.remove(n,o);return}this.withPausedEmitters(()=>{var d;this.updateKeyTarget(n,o,c),(d=this.getStorage(o))===null||d===void 0||d.set(n,i)})}remove(n,i){this.withPausedEmitters(()=>{var o;this.updateKeyTarget(n,i,void 0),(o=this.getStorage(i))===null||o===void 0||o.delete(n)})}withPausedEmitters(n){this._onDidChangeValue.pause(),this._onDidChangeTarget.pause();try{n()}finally{this._onDidChangeValue.resume(),this._onDidChangeTarget.resume()}}updateKeyTarget(n,i,o){var c,d;const r=this.getKeyTargets(i);typeof o=="number"?r[n]!==o&&(r[n]=o,(c=this.getStorage(i))===null||c===void 0||c.set(b,JSON.stringify(r))):typeof r[n]=="number"&&(delete r[n],(d=this.getStorage(i))===null||d===void 0||d.set(b,JSON.stringify(r)))}get workspaceKeyTargets(){return this._workspaceKeyTargets||(this._workspaceKeyTargets=this.loadKeyTargets(1)),this._workspaceKeyTargets}get globalKeyTargets(){return this._globalKeyTargets||(this._globalKeyTargets=this.loadKeyTargets(0)),this._globalKeyTargets}getKeyTargets(n){return n===0?this.globalKeyTargets:this.workspaceKeyTargets}loadKeyTargets(n){const i=this.get(b,n);if(i)try{return JSON.parse(i)}catch{}return Object.create(null)}}e.AbstractStorageService=u,u.DEFAULT_FLUSH_INTERVAL=60*1e3;class g extends u{constructor(){super();this.globalStorage=this._register(new I.Storage(new I.InMemoryStorageDatabase)),this.workspaceStorage=this._register(new I.Storage(new I.InMemoryStorageDatabase)),this._register(this.workspaceStorage.onDidChangeStorage(n=>this.emitDidChangeValue(1,n))),this._register(this.globalStorage.onDidChangeStorage(n=>this.emitDidChangeValue(0,n)))}getStorage(n){return n===0?this.globalStorage:this.workspaceStorage}}e.InMemoryStorageService=g}),define(te[639],ie([1,0,10,91,49,3,275,52,9,82]),function(q,e,L,m,k,I,w,b,C,u){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CodeLensCache=e.ICodeLensCache=void 0,e.ICodeLensCache=(0,C.createDecorator)("ICodeLensCache");class g{constructor(i,o){this.lineCount=i,this.data=o}}let t=class{constructor(i){this._fakeProvider=new class{provideCodeLenses(){throw new Error("not supported")}},this._cache=new k.LRUCache(20,.75);const o="codelens/cache";(0,L.runWhenIdle)(()=>i.remove(o,1));const c="codelens/cache2",d=i.get(c,1,"{}");this._deserialize(d),(0,m.once)(i.onWillSaveState)(r=>{r.reason===u.WillSaveStateReason.SHUTDOWN&&i.store(c,this._serialize(),1,1)})}put(i,o){const c=o.lenses.map(s=>{var a;return{range:s.symbol.range,command:s.symbol.command&&{id:"",title:(a=s.symbol.command)===null||a===void 0?void 0:a.title}}}),d=new w.CodeLensModel;d.add({lenses:c,dispose:()=>{}},this._fakeProvider);const r=new g(i.getLineCount(),d);this._cache.set(i.uri.toString(),r)}get(i){const o=this._cache.get(i.uri.toString());return o&&o.lineCount===i.getLineCount()?o.data:void 0}delete(i){this._cache.delete(i.uri.toString())}_serialize(){const i=Object.create(null);for(const[o,c]of this._cache){const d=new Set;for(const r of c.data.lenses)d.add(r.symbol.range.startLineNumber);i[o]={lineCount:c.lineCount,lines:[...d.values()]}}return JSON.stringify(i)}_deserialize(i){try{const o=JSON.parse(i);for(const c in o){const d=o[c],r=[];for(const a of d.lines)r.push({range:new I.Range(a,1,a,11)});const s=new w.CodeLensModel;s.add({lenses:r,dispose(){}},this._fakeProvider),this._cache.set(c,new g(d.lineCount,s))}}catch{}}};t=Ie([pe(0,u.IStorageService)],t),e.CodeLensCache=t,(0,b.registerSingleton)(e.ICodeLensCache,t)}),define(te[640],ie([1,0,10,2,49,27,41,52,9,82]),function(q,e,L,m,k,I,w,b,C,u){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ISuggestMemoryService=e.SuggestMemoryService=e.PrefixMemory=e.LRUMemory=e.NoMemory=e.Memory=void 0;class g{constructor(d){this.name=d}select(d,r,s){if(s.length===0)return 0;let a=s[0].score[0];for(let l=0;l<s.length;l++){const{score:h,completion:f}=s[l];if(h[0]!==a)break;if(f.preselect)return l}return 0}}e.Memory=g;class t extends g{constructor(){super("first")}memorize(d,r,s){}toJSON(){}fromJSON(){}}e.NoMemory=t;class n extends g{constructor(){super("recentlyUsed");this._cache=new k.LRUCache(300,.66),this._seq=0}memorize(d,r,s){const a=`${d.getLanguageId()}/${s.textLabel}`;this._cache.set(a,{touch:this._seq++,type:s.completion.kind,insertText:s.completion.insertText})}select(d,r,s){if(s.length===0)return 0;const a=d.getLineContent(r.lineNumber).substr(r.column-10,r.column-1);if(/\s$/.test(a))return super.select(d,r,s);let l=s[0].score[0],h=-1,f=-1,S=-1;for(let v=0;v<s.length&&s[v].score[0]===l;v++){const p=`${d.getLanguageId()}/${s[v].textLabel}`,_=this._cache.peek(p);if(_&&_.touch>S&&_.type===s[v].completion.kind&&_.insertText===s[v].completion.insertText&&(S=_.touch,f=v),s[v].completion.preselect&&h===-1)return h=v}return f!==-1?f:h!==-1?h:0}toJSON(){return this._cache.toJSON()}fromJSON(d){this._cache.clear();let r=0;for(const[s,a]of d)a.touch=r,a.type=typeof a.type=="number"?a.type:I.CompletionItemKinds.fromString(a.type),this._cache.set(s,a);this._seq=this._cache.size}}e.LRUMemory=n;class i extends g{constructor(){super("recentlyUsedByPrefix");this._trie=k.TernarySearchTree.forStrings(),this._seq=0}memorize(d,r,s){const{word:a}=d.getWordUntilPosition(r),l=`${d.getLanguageId()}/${a}`;this._trie.set(l,{type:s.completion.kind,insertText:s.completion.insertText,touch:this._seq++})}select(d,r,s){let{word:a}=d.getWordUntilPosition(r);if(!a)return super.select(d,r,s);let l=`${d.getLanguageId()}/${a}`,h=this._trie.get(l);if(h||(h=this._trie.findSubstr(l)),h)for(let f=0;f<s.length;f++){let{kind:S,insertText:v}=s[f].completion;if(S===h.type&&v===h.insertText)return f}return super.select(d,r,s)}toJSON(){let d=[];return this._trie.forEach((r,s)=>d.push([s,r])),d.sort((r,s)=>-(r[1].touch-s[1].touch)).forEach((r,s)=>r[1].touch=s),d.slice(0,200)}fromJSON(d){if(this._trie.clear(),d.length>0){this._seq=d[0][1].touch+1;for(const[r,s]of d)s.type=typeof s.type=="number"?s.type:I.CompletionItemKinds.fromString(s.type),this._trie.set(r,s)}}}e.PrefixMemory=i;let o=class Bt{constructor(d,r){this._storageService=d,this._configService=r,this._disposables=new m.DisposableStore,this._persistSoon=new L.RunOnceScheduler(()=>this._saveState(),500),this._disposables.add(d.onWillSaveState(s=>{s.reason===u.WillSaveStateReason.SHUTDOWN&&this._saveState()}))}dispose(){this._disposables.dispose(),this._persistSoon.dispose()}memorize(d,r,s){this._withStrategy(d,r).memorize(d,r,s),this._persistSoon.schedule()}select(d,r,s){return this._withStrategy(d,r).select(d,r,s)}_withStrategy(d,r){var s;const a=this._configService.getValue("editor.suggestSelection",{overrideIdentifier:d.getLanguageIdAtPosition(r.lineNumber,r.column),resource:d.uri});if(((s=this._strategy)===null||s===void 0?void 0:s.name)!==a){this._saveState();const l=Bt._strategyCtors.get(a)||t;this._strategy=new l;try{const f=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,S=this._storageService.get(`${Bt._storagePrefix}/${a}`,f);S&&this._strategy.fromJSON(JSON.parse(S))}catch{}}return this._strategy}_saveState(){if(this._strategy){const r=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,s=JSON.stringify(this._strategy);this._storageService.store(`${Bt._storagePrefix}/${this._strategy.name}`,s,r,1)}}};o._strategyCtors=new Map([["recentlyUsedByPrefix",i],["recentlyUsed",n],["first",t]]),o._storagePrefix="suggest/memories",o=Ie([pe(0,u.IStorageService),pe(1,w.IConfigurationService)],o),e.SuggestMemoryService=o,e.ISuggestMemoryService=(0,C.createDecorator)("ISuggestMemories"),(0,b.registerSingleton)(e.ISuggestMemoryService,o,!0)}),define(te[90],ie([1,0,9]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ITelemetryService=void 0,e.ITelemetryService=(0,L.createDecorator)("telemetryService")}),define(te[641],ie([1,0,497,13,75,2,49,76,19,597,26,41,130,9,43,629,82,90]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CommandsHistory=e.AbstractCommandsQuickAccessProvider=void 0;let s=class Wt extends c.PickerQuickAccessProvider{constructor(h,f,S,v,p,_){super(Wt.PREFIX,h);this.instantiationService=f,this.keybindingService=S,this.commandService=v,this.telemetryService=p,this.dialogService=_,this.commandsHistory=this._register(this.instantiationService.createInstance(a)),this.options=h}_getPicks(h,f,S){return we(this,void 0,void 0,function*(){const v=yield this.getCommandPicks(f,S);if(S.isCancellationRequested)return[];const p=[];for(const N of v){const D=(0,C.withNullAsUndefined)(Wt.WORD_FILTER(h,N.label)),M=N.commandAlias?(0,C.withNullAsUndefined)(Wt.WORD_FILTER(h,N.commandAlias)):void 0;D||M?(N.highlights={label:D,detail:this.options.showAlias?M:void 0},p.push(N)):h===N.commandId&&p.push(N)}const _=new Map;for(const N of p){const D=_.get(N.label);D?(N.description=N.commandId,D.description=D.commandId):_.set(N.label,N)}p.sort((N,D)=>{const M=this.commandsHistory.peek(N.commandId),B=this.commandsHistory.peek(D.commandId);return M&&B?M>B?-1:1:M?-1:B?1:N.label.localeCompare(D.label)});const y=[];let E=!1;for(let N=0;N<p.length;N++){const D=p[N],M=this.keybindingService.lookupKeybinding(D.commandId),B=M?(0,u.localize)(0,null,D.label,M.getAriaLabel()):D.label;N===0&&this.commandsHistory.peek(D.commandId)&&(y.push({type:"separator",label:(0,u.localize)(1,null)}),E=!0),N!==0&&E&&!this.commandsHistory.peek(D.commandId)&&(y.push({type:"separator",label:(0,u.localize)(2,null)}),E=!1),y.push(Object.assign(Object.assign({},D),{ariaLabel:B,detail:this.options.showAlias&&D.commandAlias!==D.label?D.commandAlias:void 0,keybinding:M,accept:()=>we(this,void 0,void 0,function*(){this.commandsHistory.push(D.commandId),this.telemetryService.publicLog2("workbenchActionExecuted",{id:D.commandId,from:"quick open"});try{yield this.commandService.executeCommand(D.commandId)}catch(O){(0,m.isCancellationError)(O)||this.dialogService.show(b.default.Error,(0,u.localize)(3,null,D.label,(0,L.toErrorMessage)(O)))}})}))}return y})}};s.PREFIX=">",s.WORD_FILTER=(0,k.or)(k.matchesPrefix,k.matchesWords,k.matchesContiguousSubString),s=Ie([pe(1,i.IInstantiationService),pe(2,o.IKeybindingService),pe(3,g.ICommandService),pe(4,r.ITelemetryService),pe(5,n.IDialogService)],s),e.AbstractCommandsQuickAccessProvider=s;let a=class st extends I.Disposable{constructor(h,f){super();this.storageService=h,this.configurationService=f,this.configuredCommandsHistoryLength=0,this.updateConfiguration(),this.load(),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration(()=>this.updateConfiguration()))}updateConfiguration(){this.configuredCommandsHistoryLength=st.getConfiguredCommandHistoryLength(this.configurationService),st.cache&&st.cache.limit!==this.configuredCommandsHistoryLength&&(st.cache.limit=this.configuredCommandsHistoryLength,st.saveState(this.storageService))}load(){const h=this.storageService.get(st.PREF_KEY_CACHE,0);let f;if(h)try{f=JSON.parse(h)}catch{}const S=st.cache=new w.LRUCache(this.configuredCommandsHistoryLength,1);if(f){let v;f.usesLRU?v=f.entries:v=f.entries.sort((p,_)=>p.value-_.value),v.forEach(p=>S.set(p.key,p.value))}st.counter=this.storageService.getNumber(st.PREF_KEY_COUNTER,0,st.counter)}push(h){!st.cache||(st.cache.set(h,st.counter++),st.saveState(this.storageService))}peek(h){var f;return(f=st.cache)===null||f===void 0?void 0:f.peek(h)}static saveState(h){if(!st.cache)return;const f={usesLRU:!0,entries:[]};st.cache.forEach((S,v)=>f.entries.push({key:v,value:S})),h.store(st.PREF_KEY_CACHE,JSON.stringify(f),0,0),h.store(st.PREF_KEY_COUNTER,st.counter,0,0)}static getConfiguredCommandHistoryLength(h){var f,S;const p=(S=(f=h.getValue().workbench)===null||f===void 0?void 0:f.commandPalette)===null||S===void 0?void 0:S.history;return typeof p=="number"?p:st.DEFAULT_COMMANDS_HISTORY_LENGTH}};a.DEFAULT_COMMANDS_HISTORY_LENGTH=50,a.PREF_KEY_CACHE="commandPalette.mru.cache",a.PREF_KEY_COUNTER="commandPalette.mru.counter",a.counter=1,a=Ie([pe(0,d.IStorageService),pe(1,t.IConfigurationService)],a),e.CommandsHistory=a}),define(te[642],ie([1,0,97,641]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractEditorCommandsQuickAccessProvider=void 0;class k extends m.AbstractCommandsQuickAccessProvider{constructor(w,b,C,u,g,t){super(w,b,C,u,g,t)}getCodeEditorCommandPicks(){const w=this.activeTextEditorControl;if(!w)return[];const b=[];for(const C of w.getSupportedActions())b.push({commandId:C.id,commandAlias:C.alias,label:(0,L.stripIcons)(C.label)||C.id});return b}}e.AbstractEditorCommandsQuickAccessProvider=k}),define(te[23],ie([1,0,10,30,4,19,599,206,36]),function(q,e,L,m,k,I,w,b,C){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.workbenchColorsSchemaId=e.resolveColorValue=e.ifDefinedThenElse=e.oneOf=e.transparent=e.lighten=e.darken=e.executeTransform=e.chartsPurple=e.chartsGreen=e.chartsOrange=e.chartsYellow=e.chartsBlue=e.chartsRed=e.chartsLines=e.chartsForeground=e.problemsInfoIconForeground=e.problemsWarningIconForeground=e.problemsErrorIconForeground=e.minimapSliderActiveBackground=e.minimapSliderHoverBackground=e.minimapSliderBackground=e.minimapForegroundOpacity=e.minimapBackground=e.minimapWarning=e.minimapError=e.minimapSelection=e.minimapSelectionOccurrenceHighlight=e.minimapFindMatch=e.overviewRulerSelectionHighlightForeground=e.overviewRulerFindMatchForeground=e.overviewRulerCommonContentForeground=e.overviewRulerIncomingContentForeground=e.overviewRulerCurrentContentForeground=e.mergeBorder=e.mergeCommonContentBackground=e.mergeCommonHeaderBackground=e.mergeIncomingContentBackground=e.mergeIncomingHeaderBackground=e.mergeCurrentContentBackground=e.mergeCurrentHeaderBackground=e.breadcrumbsPickerBackground=e.breadcrumbsActiveSelectionForeground=e.breadcrumbsFocusForeground=e.breadcrumbsBackground=e.breadcrumbsForeground=e.snippetFinalTabstopHighlightBorder=e.snippetFinalTabstopHighlightBackground=e.snippetTabstopHighlightBorder=e.snippetTabstopHighlightBackground=e.toolbarActiveBackground=e.toolbarHoverOutline=e.toolbarHoverBackground=e.menuSeparatorBackground=e.menuSelectionBorder=e.menuSelectionBackground=e.menuSelectionForeground=e.menuBackground=e.menuForeground=e.menuBorder=e.quickInputListFocusBackground=e.quickInputListFocusIconForeground=e.quickInputListFocusForeground=e._deprecatedQuickInputListFocusBackground=e.listDeemphasizedForeground=e.tableOddRowsBackgroundColor=e.tableColumnsBorder=e.treeIndentGuidesStroke=e.listFilterMatchHighlightBorder=e.listFilterMatchHighlight=e.listFilterWidgetNoMatchesOutline=e.listFilterWidgetOutline=e.listFilterWidgetBackground=e.listWarningForeground=e.listErrorForeground=e.listInvalidItemForeground=e.listFocusHighlightForeground=e.listHighlightForeground=e.listDropBackground=e.listHoverForeground=e.listHoverBackground=e.listInactiveFocusOutline=e.listInactiveFocusBackground=e.listInactiveSelectionIconForeground=e.listInactiveSelectionForeground=e.listInactiveSelectionBackground=e.listActiveSelectionIconForeground=e.listActiveSelectionForeground=e.listActiveSelectionBackground=e.listFocusOutline=e.listFocusForeground=e.listFocusBackground=e.diffDiagonalFill=e.diffBorder=e.diffRemovedOutline=e.diffInsertedOutline=e.diffOverviewRulerRemoved=e.diffOverviewRulerInserted=e.diffRemovedLineGutter=e.diffInsertedLineGutter=e.diffRemovedLine=e.diffInsertedLine=e.diffRemoved=e.diffInserted=e.defaultRemoveColor=e.defaultInsertColor=e.editorLightBulbAutoFixForeground=e.editorLightBulbForeground=e.editorInlayHintParameterBackground=e.editorInlayHintParameterForeground=e.editorInlayHintTypeBackground=e.editorInlayHintTypeForeground=e.editorInlayHintBackground=e.editorInlayHintForeground=e.editorActiveLinkForeground=e.editorHoverStatusBarBackground=e.editorHoverBorder=e.editorHoverForeground=e.editorHoverBackground=e.editorHoverHighlight=e.searchEditorFindMatchBorder=e.searchEditorFindMatch=e.editorFindRangeHighlightBorder=e.editorFindMatchHighlightBorder=e.editorFindMatchBorder=e.editorFindRangeHighlight=e.editorFindMatchHighlight=e.editorFindMatch=e.editorSelectionHighlightBorder=e.editorSelectionHighlight=e.editorInactiveSelection=e.editorSelectionForeground=e.editorSelectionBackground=e.keybindingLabelBottomBorder=e.keybindingLabelBorder=e.keybindingLabelForeground=e.keybindingLabelBackground=e.pickerGroupBorder=e.pickerGroupForeground=e.quickInputTitleBackground=e.quickInputForeground=e.quickInputBackground=e.editorWidgetResizeBorder=e.editorWidgetBorder=e.editorWidgetForeground=e.editorWidgetBackground=e.editorForeground=e.editorBackground=e.sashHoverBorder=e.editorHintBorder=e.editorHintForeground=e.editorInfoBorder=e.editorInfoForeground=e.editorInfoBackground=e.editorWarningBorder=e.editorWarningForeground=e.editorWarningBackground=e.editorErrorBorder=e.editorErrorForeground=e.editorErrorBackground=e.progressBarBackground=e.scrollbarSliderActiveBackground=e.scrollbarSliderHoverBackground=e.scrollbarSliderBackground=e.scrollbarShadow=e.badgeForeground=e.badgeBackground=e.buttonSecondaryHoverBackground=e.buttonSecondaryBackground=e.buttonSecondaryForeground=e.buttonBorder=e.buttonHoverBackground=e.buttonBackground=e.buttonForeground=e.simpleCheckboxBorder=e.simpleCheckboxForeground=e.simpleCheckboxBackground=e.selectBorder=e.selectForeground=e.selectListBackground=e.selectBackground=e.inputValidationErrorBorder=e.inputValidationErrorForeground=e.inputValidationErrorBackground=e.inputValidationWarningBorder=e.inputValidationWarningForeground=e.inputValidationWarningBackground=e.inputValidationInfoBorder=e.inputValidationInfoForeground=e.inputValidationInfoBackground=e.inputPlaceholderForeground=e.inputActiveOptionForeground=e.inputActiveOptionBackground=e.inputActiveOptionHoverBackground=e.inputActiveOptionBorder=e.inputBorder=e.inputForeground=e.inputBackground=e.widgetShadow=e.textCodeBlockBackground=e.textBlockQuoteBorder=e.textBlockQuoteBackground=e.textPreformatForeground=e.textLinkActiveForeground=e.textLinkForeground=e.textSeparatorForeground=e.selectionBackground=e.activeContrastBorder=e.contrastBorder=e.focusBorder=e.iconForeground=e.descriptionForeground=e.errorForeground=e.foreground=e.registerColor=e.Extensions=e.asCssVariableName=void 0;function u(N){return`--vscode-${N.replace(/\./g,"-")}`}e.asCssVariableName=u,e.Extensions={ColorContribution:"base.contributions.colors"};class g{constructor(){this._onDidChangeSchema=new k.Emitter,this.onDidChangeSchema=this._onDidChangeSchema.event,this.colorSchema={type:"object",properties:{}},this.colorReferenceSchema={type:"string",enum:[],enumDescriptions:[]},this.colorsById={}}registerColor(D,M,B,O=!1,T){let A={id:D,description:B,defaults:M,needsTransparency:O,deprecationMessage:T};this.colorsById[D]=A;let P={type:"string",description:B,format:"color-hex",defaultSnippets:[{body:"${1:#ff0000}"}]};return T&&(P.deprecationMessage=T),this.colorSchema.properties[D]=P,this.colorReferenceSchema.enum.push(D),this.colorReferenceSchema.enumDescriptions.push(B),this._onDidChangeSchema.fire(),D}getColors(){return Object.keys(this.colorsById).map(D=>this.colorsById[D])}resolveDefaultColor(D,M){const B=this.colorsById[D];if(B&&B.defaults){const O=B.defaults[M.type];return _(O,M)}}getColorSchema(){return this.colorSchema}toString(){let D=(M,B)=>{let O=M.indexOf(".")===-1?0:1,T=B.indexOf(".")===-1?0:1;return O!==T?O-T:M.localeCompare(B)};return Object.keys(this.colorsById).sort(D).map(M=>`- \`${M}\`: ${this.colorsById[M].description}`).join(`
+`)}}const t=new g;C.Registry.add(e.Extensions.ColorContribution,t);function n(N,D,M,B,O){return t.registerColor(N,D,M,B,O)}e.registerColor=n,e.foreground=n("foreground",{dark:"#CCCCCC",light:"#616161",hc:"#FFFFFF"},w.localize(0,null)),e.errorForeground=n("errorForeground",{dark:"#F48771",light:"#A1260D",hc:"#F48771"},w.localize(1,null)),e.descriptionForeground=n("descriptionForeground",{light:"#717171",dark:f(e.foreground,.7),hc:f(e.foreground,.7)},w.localize(2,null)),e.iconForeground=n("icon.foreground",{dark:"#C5C5C5",light:"#424242",hc:"#FFFFFF"},w.localize(3,null)),e.focusBorder=n("focusBorder",{dark:"#007FD4",light:"#0090F1",hc:"#F38518"},w.localize(4,null)),e.contrastBorder=n("contrastBorder",{light:null,dark:null,hc:"#6FC3DF"},w.localize(5,null)),e.activeContrastBorder=n("contrastActiveBorder",{light:null,dark:null,hc:e.focusBorder},w.localize(6,null)),e.selectionBackground=n("selection.background",{light:null,dark:null,hc:null},w.localize(7,null)),e.textSeparatorForeground=n("textSeparator.foreground",{light:"#0000002e",dark:"#ffffff2e",hc:m.Color.black},w.localize(8,null)),e.textLinkForeground=n("textLink.foreground",{light:"#006AB1",dark:"#3794FF",hc:"#3794FF"},w.localize(9,null)),e.textLinkActiveForeground=n("textLink.activeForeground",{light:"#006AB1",dark:"#3794FF",hc:"#3794FF"},w.localize(10,null)),e.textPreformatForeground=n("textPreformat.foreground",{light:"#A31515",dark:"#D7BA7D",hc:"#D7BA7D"},w.localize(11,null)),e.textBlockQuoteBackground=n("textBlockQuote.background",{light:"#7f7f7f1a",dark:"#7f7f7f1a",hc:null},w.localize(12,null)),e.textBlockQuoteBorder=n("textBlockQuote.border",{light:"#007acc80",dark:"#007acc80",hc:m.Color.white},w.localize(13,null)),e.textCodeBlockBackground=n("textCodeBlock.background",{light:"#dcdcdc66",dark:"#0a0a0a66",hc:m.Color.black},w.localize(14,null)),e.widgetShadow=n("widget.shadow",{dark:f(m.Color.black,.36),light:f(m.Color.black,.16),hc:null},w.localize(15,null)),e.inputBackground=n("input.background",{dark:"#3C3C3C",light:m.Color.white,hc:m.Color.black},w.localize(16,null)),e.inputForeground=n("input.foreground",{dark:e.foreground,light:e.foreground,hc:e.foreground},w.localize(17,null)),e.inputBorder=n("input.border",{dark:null,light:null,hc:e.contrastBorder},w.localize(18,null)),e.inputActiveOptionBorder=n("inputOption.activeBorder",{dark:"#007ACC00",light:"#007ACC00",hc:e.contrastBorder},w.localize(19,null)),e.inputActiveOptionHoverBackground=n("inputOption.hoverBackground",{dark:"#5a5d5e80",light:"#b8b8b850",hc:null},w.localize(20,null)),e.inputActiveOptionBackground=n("inputOption.activeBackground",{dark:f(e.focusBorder,.4),light:f(e.focusBorder,.2),hc:m.Color.transparent},w.localize(21,null)),e.inputActiveOptionForeground=n("inputOption.activeForeground",{dark:m.Color.white,light:m.Color.black,hc:null},w.localize(22,null)),e.inputPlaceholderForeground=n("input.placeholderForeground",{light:f(e.foreground,.5),dark:f(e.foreground,.5),hc:f(e.foreground,.7)},w.localize(23,null)),e.inputValidationInfoBackground=n("inputValidation.infoBackground",{dark:"#063B49",light:"#D6ECF2",hc:m.Color.black},w.localize(24,null)),e.inputValidationInfoForeground=n("inputValidation.infoForeground",{dark:null,light:null,hc:null},w.localize(25,null)),e.inputValidationInfoBorder=n("inputValidation.infoBorder",{dark:"#007acc",light:"#007acc",hc:e.contrastBorder},w.localize(26,null)),e.inputValidationWarningBackground=n("inputValidation.warningBackground",{dark:"#352A05",light:"#F6F5D2",hc:m.Color.black},w.localize(27,null)),e.inputValidationWarningForeground=n("inputValidation.warningForeground",{dark:null,light:null,hc:null},w.localize(28,null)),e.inputValidationWarningBorder=n("inputValidation.warningBorder",{dark:"#B89500",light:"#B89500",hc:e.contrastBorder},w.localize(29,null)),e.inputValidationErrorBackground=n("inputValidation.errorBackground",{dark:"#5A1D1D",light:"#F2DEDE",hc:m.Color.black},w.localize(30,null)),e.inputValidationErrorForeground=n("inputValidation.errorForeground",{dark:null,light:null,hc:null},w.localize(31,null)),e.inputValidationErrorBorder=n("inputValidation.errorBorder",{dark:"#BE1100",light:"#BE1100",hc:e.contrastBorder},w.localize(32,null)),e.selectBackground=n("dropdown.background",{dark:"#3C3C3C",light:m.Color.white,hc:m.Color.black},w.localize(33,null)),e.selectListBackground=n("dropdown.listBackground",{dark:null,light:null,hc:m.Color.black},w.localize(34,null)),e.selectForeground=n("dropdown.foreground",{dark:"#F0F0F0",light:null,hc:m.Color.white},w.localize(35,null)),e.selectBorder=n("dropdown.border",{dark:e.selectBackground,light:"#CECECE",hc:e.contrastBorder},w.localize(36,null)),e.simpleCheckboxBackground=n("checkbox.background",{dark:e.selectBackground,light:e.selectBackground,hc:e.selectBackground},w.localize(37,null)),e.simpleCheckboxForeground=n("checkbox.foreground",{dark:e.selectForeground,light:e.selectForeground,hc:e.selectForeground},w.localize(38,null)),e.simpleCheckboxBorder=n("checkbox.border",{dark:e.selectBorder,light:e.selectBorder,hc:e.selectBorder},w.localize(39,null)),e.buttonForeground=n("button.foreground",{dark:m.Color.white,light:m.Color.white,hc:m.Color.white},w.localize(40,null)),e.buttonBackground=n("button.background",{dark:"#0E639C",light:"#007ACC",hc:null},w.localize(41,null)),e.buttonHoverBackground=n("button.hoverBackground",{dark:h(e.buttonBackground,.2),light:l(e.buttonBackground,.2),hc:null},w.localize(42,null)),e.buttonBorder=n("button.border",{dark:e.contrastBorder,light:e.contrastBorder,hc:e.contrastBorder},w.localize(43,null)),e.buttonSecondaryForeground=n("button.secondaryForeground",{dark:m.Color.white,light:m.Color.white,hc:m.Color.white},w.localize(44,null)),e.buttonSecondaryBackground=n("button.secondaryBackground",{dark:"#3A3D41",light:"#5F6A79",hc:null},w.localize(45,null)),e.buttonSecondaryHoverBackground=n("button.secondaryHoverBackground",{dark:h(e.buttonSecondaryBackground,.2),light:l(e.buttonSecondaryBackground,.2),hc:null},w.localize(46,null)),e.badgeBackground=n("badge.background",{dark:"#4D4D4D",light:"#C4C4C4",hc:m.Color.black},w.localize(47,null)),e.badgeForeground=n("badge.foreground",{dark:m.Color.white,light:"#333",hc:m.Color.white},w.localize(48,null)),e.scrollbarShadow=n("scrollbar.shadow",{dark:"#000000",light:"#DDDDDD",hc:null},w.localize(49,null)),e.scrollbarSliderBackground=n("scrollbarSlider.background",{dark:m.Color.fromHex("#797979").transparent(.4),light:m.Color.fromHex("#646464").transparent(.4),hc:f(e.contrastBorder,.6)},w.localize(50,null)),e.scrollbarSliderHoverBackground=n("scrollbarSlider.hoverBackground",{dark:m.Color.fromHex("#646464").transparent(.7),light:m.Color.fromHex("#646464").transparent(.7),hc:f(e.contrastBorder,.8)},w.localize(51,null)),e.scrollbarSliderActiveBackground=n("scrollbarSlider.activeBackground",{dark:m.Color.fromHex("#BFBFBF").transparent(.4),light:m.Color.fromHex("#000000").transparent(.6),hc:e.contrastBorder},w.localize(52,null)),e.progressBarBackground=n("progressBar.background",{dark:m.Color.fromHex("#0E70C0"),light:m.Color.fromHex("#0E70C0"),hc:e.contrastBorder},w.localize(53,null)),e.editorErrorBackground=n("editorError.background",{dark:null,light:null,hc:null},w.localize(54,null),!0),e.editorErrorForeground=n("editorError.foreground",{dark:"#F14C4C",light:"#E51400",hc:null},w.localize(55,null)),e.editorErrorBorder=n("editorError.border",{dark:null,light:null,hc:m.Color.fromHex("#E47777").transparent(.8)},w.localize(56,null)),e.editorWarningBackground=n("editorWarning.background",{dark:null,light:null,hc:null},w.localize(57,null),!0),e.editorWarningForeground=n("editorWarning.foreground",{dark:"#CCA700",light:"#BF8803",hc:null},w.localize(58,null)),e.editorWarningBorder=n("editorWarning.border",{dark:null,light:null,hc:m.Color.fromHex("#FFCC00").transparent(.8)},w.localize(59,null)),e.editorInfoBackground=n("editorInfo.background",{dark:null,light:null,hc:null},w.localize(60,null),!0),e.editorInfoForeground=n("editorInfo.foreground",{dark:"#3794FF",light:"#1a85ff",hc:"#3794FF"},w.localize(61,null)),e.editorInfoBorder=n("editorInfo.border",{dark:null,light:null,hc:m.Color.fromHex("#3794FF").transparent(.8)},w.localize(62,null)),e.editorHintForeground=n("editorHint.foreground",{dark:m.Color.fromHex("#eeeeee").transparent(.7),light:"#6c6c6c",hc:null},w.localize(63,null)),e.editorHintBorder=n("editorHint.border",{dark:null,light:null,hc:m.Color.fromHex("#eeeeee").transparent(.8)},w.localize(64,null)),e.sashHoverBorder=n("sash.hoverBorder",{dark:e.focusBorder,light:e.focusBorder,hc:e.focusBorder},w.localize(65,null)),e.editorBackground=n("editor.background",{light:"#fffffe",dark:"#1E1E1E",hc:m.Color.black},w.localize(66,null)),e.editorForeground=n("editor.foreground",{light:"#333333",dark:"#BBBBBB",hc:m.Color.white},w.localize(67,null)),e.editorWidgetBackground=n("editorWidget.background",{dark:"#252526",light:"#F3F3F3",hc:"#0C141F"},w.localize(68,null)),e.editorWidgetForeground=n("editorWidget.foreground",{dark:e.foreground,light:e.foreground,hc:e.foreground},w.localize(69,null)),e.editorWidgetBorder=n("editorWidget.border",{dark:"#454545",light:"#C8C8C8",hc:e.contrastBorder},w.localize(70,null)),e.editorWidgetResizeBorder=n("editorWidget.resizeBorder",{light:null,dark:null,hc:null},w.localize(71,null)),e.quickInputBackground=n("quickInput.background",{dark:e.editorWidgetBackground,light:e.editorWidgetBackground,hc:e.editorWidgetBackground},w.localize(72,null)),e.quickInputForeground=n("quickInput.foreground",{dark:e.editorWidgetForeground,light:e.editorWidgetForeground,hc:e.editorWidgetForeground},w.localize(73,null)),e.quickInputTitleBackground=n("quickInputTitle.background",{dark:new m.Color(new m.RGBA(255,255,255,.105)),light:new m.Color(new m.RGBA(0,0,0,.06)),hc:"#000000"},w.localize(74,null)),e.pickerGroupForeground=n("pickerGroup.foreground",{dark:"#3794FF",light:"#0066BF",hc:m.Color.white},w.localize(75,null)),e.pickerGroupBorder=n("pickerGroup.border",{dark:"#3F3F46",light:"#CCCEDB",hc:m.Color.white},w.localize(76,null)),e.keybindingLabelBackground=n("keybindingLabel.background",{dark:new m.Color(new m.RGBA(128,128,128,.17)),light:new m.Color(new m.RGBA(221,221,221,.4)),hc:m.Color.transparent},w.localize(77,null)),e.keybindingLabelForeground=n("keybindingLabel.foreground",{dark:m.Color.fromHex("#CCCCCC"),light:m.Color.fromHex("#555555"),hc:m.Color.white},w.localize(78,null)),e.keybindingLabelBorder=n("keybindingLabel.border",{dark:new m.Color(new m.RGBA(51,51,51,.6)),light:new m.Color(new m.RGBA(204,204,204,.4)),hc:new m.Color(new m.RGBA(111,195,223))},w.localize(79,null)),e.keybindingLabelBottomBorder=n("keybindingLabel.bottomBorder",{dark:new m.Color(new m.RGBA(68,68,68,.6)),light:new m.Color(new m.RGBA(187,187,187,.4)),hc:new m.Color(new m.RGBA(111,195,223))},w.localize(80,null)),e.editorSelectionBackground=n("editor.selectionBackground",{light:"#ADD6FF",dark:"#264F78",hc:"#f3f518"},w.localize(81,null)),e.editorSelectionForeground=n("editor.selectionForeground",{light:null,dark:null,hc:"#000000"},w.localize(82,null)),e.editorInactiveSelection=n("editor.inactiveSelectionBackground",{light:f(e.editorSelectionBackground,.5),dark:f(e.editorSelectionBackground,.5),hc:f(e.editorSelectionBackground,.5)},w.localize(83,null),!0),e.editorSelectionHighlight=n("editor.selectionHighlightBackground",{light:p(e.editorSelectionBackground,e.editorBackground,.3,.6),dark:p(e.editorSelectionBackground,e.editorBackground,.3,.6),hc:null},w.localize(84,null),!0),e.editorSelectionHighlightBorder=n("editor.selectionHighlightBorder",{light:null,dark:null,hc:e.activeContrastBorder},w.localize(85,null)),e.editorFindMatch=n("editor.findMatchBackground",{light:"#A8AC94",dark:"#515C6A",hc:null},w.localize(86,null)),e.editorFindMatchHighlight=n("editor.findMatchHighlightBackground",{light:"#EA5C0055",dark:"#EA5C0055",hc:null},w.localize(87,null),!0),e.editorFindRangeHighlight=n("editor.findRangeHighlightBackground",{dark:"#3a3d4166",light:"#b4b4b44d",hc:null},w.localize(88,null),!0),e.editorFindMatchBorder=n("editor.findMatchBorder",{light:null,dark:null,hc:e.activeContrastBorder},w.localize(89,null)),e.editorFindMatchHighlightBorder=n("editor.findMatchHighlightBorder",{light:null,dark:null,hc:e.activeContrastBorder},w.localize(90,null)),e.editorFindRangeHighlightBorder=n("editor.findRangeHighlightBorder",{dark:null,light:null,hc:f(e.activeContrastBorder,.4)},w.localize(91,null),!0),e.searchEditorFindMatch=n("searchEditor.findMatchBackground",{light:f(e.editorFindMatchHighlight,.66),dark:f(e.editorFindMatchHighlight,.66),hc:e.editorFindMatchHighlight},w.localize(92,null)),e.searchEditorFindMatchBorder=n("searchEditor.findMatchBorder",{light:f(e.editorFindMatchHighlightBorder,.66),dark:f(e.editorFindMatchHighlightBorder,.66),hc:e.editorFindMatchHighlightBorder},w.localize(93,null)),e.editorHoverHighlight=n("editor.hoverHighlightBackground",{light:"#ADD6FF26",dark:"#264f7840",hc:"#ADD6FF26"},w.localize(94,null),!0),e.editorHoverBackground=n("editorHoverWidget.background",{light:e.editorWidgetBackground,dark:e.editorWidgetBackground,hc:e.editorWidgetBackground},w.localize(95,null)),e.editorHoverForeground=n("editorHoverWidget.foreground",{light:e.editorWidgetForeground,dark:e.editorWidgetForeground,hc:e.editorWidgetForeground},w.localize(96,null)),e.editorHoverBorder=n("editorHoverWidget.border",{light:e.editorWidgetBorder,dark:e.editorWidgetBorder,hc:e.editorWidgetBorder},w.localize(97,null)),e.editorHoverStatusBarBackground=n("editorHoverWidget.statusBarBackground",{dark:h(e.editorHoverBackground,.2),light:l(e.editorHoverBackground,.05),hc:e.editorWidgetBackground},w.localize(98,null)),e.editorActiveLinkForeground=n("editorLink.activeForeground",{dark:"#4E94CE",light:m.Color.blue,hc:m.Color.cyan},w.localize(99,null)),e.editorInlayHintForeground=n("editorInlayHint.foreground",{dark:f(e.badgeForeground,.8),light:f(e.badgeForeground,.8),hc:e.badgeForeground},w.localize(100,null)),e.editorInlayHintBackground=n("editorInlayHint.background",{dark:f(e.badgeBackground,.6),light:f(e.badgeBackground,.3),hc:e.badgeBackground},w.localize(101,null)),e.editorInlayHintTypeForeground=n("editorInlayHint.typeForeground",{dark:e.editorInlayHintForeground,light:e.editorInlayHintForeground,hc:e.editorInlayHintForeground},w.localize(102,null)),e.editorInlayHintTypeBackground=n("editorInlayHint.typeBackground",{dark:e.editorInlayHintBackground,light:e.editorInlayHintBackground,hc:e.editorInlayHintBackground},w.localize(103,null)),e.editorInlayHintParameterForeground=n("editorInlayHint.parameterForeground",{dark:e.editorInlayHintForeground,light:e.editorInlayHintForeground,hc:e.editorInlayHintForeground},w.localize(104,null)),e.editorInlayHintParameterBackground=n("editorInlayHint.parameterBackground",{dark:e.editorInlayHintBackground,light:e.editorInlayHintBackground,hc:e.editorInlayHintBackground},w.localize(105,null)),e.editorLightBulbForeground=n("editorLightBulb.foreground",{dark:"#FFCC00",light:"#DDB100",hc:"#FFCC00"},w.localize(106,null)),e.editorLightBulbAutoFixForeground=n("editorLightBulbAutoFix.foreground",{dark:"#75BEFF",light:"#007ACC",hc:"#75BEFF"},w.localize(107,null)),e.defaultInsertColor=new m.Color(new m.RGBA(155,185,85,.2)),e.defaultRemoveColor=new m.Color(new m.RGBA(255,0,0,.2)),e.diffInserted=n("diffEditor.insertedTextBackground",{dark:e.defaultInsertColor,light:e.defaultInsertColor,hc:null},w.localize(108,null),!0),e.diffRemoved=n("diffEditor.removedTextBackground",{dark:e.defaultRemoveColor,light:e.defaultRemoveColor,hc:null},w.localize(109,null),!0),e.diffInsertedLine=n("diffEditor.insertedLineBackground",{dark:null,light:null,hc:null},w.localize(110,null),!0),e.diffRemovedLine=n("diffEditor.removedLineBackground",{dark:null,light:null,hc:null},w.localize(111,null),!0),e.diffInsertedLineGutter=n("diffEditorGutter.insertedLineBackground",{dark:null,light:null,hc:null},w.localize(112,null)),e.diffRemovedLineGutter=n("diffEditorGutter.removedLineBackground",{dark:null,light:null,hc:null},w.localize(113,null)),e.diffOverviewRulerInserted=n("diffEditorOverview.insertedForeground",{dark:null,light:null,hc:null},w.localize(114,null)),e.diffOverviewRulerRemoved=n("diffEditorOverview.removedForeground",{dark:null,light:null,hc:null},w.localize(115,null)),e.diffInsertedOutline=n("diffEditor.insertedTextBorder",{dark:null,light:null,hc:"#33ff2eff"},w.localize(116,null)),e.diffRemovedOutline=n("diffEditor.removedTextBorder",{dark:null,light:null,hc:"#FF008F"},w.localize(117,null)),e.diffBorder=n("diffEditor.border",{dark:null,light:null,hc:e.contrastBorder},w.localize(118,null)),e.diffDiagonalFill=n("diffEditor.diagonalFill",{dark:"#cccccc33",light:"#22222233",hc:null},w.localize(119,null)),e.listFocusBackground=n("list.focusBackground",{dark:null,light:null,hc:null},w.localize(120,null)),e.listFocusForeground=n("list.focusForeground",{dark:null,light:null,hc:null},w.localize(121,null)),e.listFocusOutline=n("list.focusOutline",{dark:e.focusBorder,light:e.focusBorder,hc:e.activeContrastBorder},w.localize(122,null)),e.listActiveSelectionBackground=n("list.activeSelectionBackground",{dark:"#094771",light:"#0060C0",hc:null},w.localize(123,null)),e.listActiveSelectionForeground=n("list.activeSelectionForeground",{dark:m.Color.white,light:m.Color.white,hc:null},w.localize(124,null)),e.listActiveSelectionIconForeground=n("list.activeSelectionIconForeground",{dark:null,light:null,hc:null},w.localize(125,null)),e.listInactiveSelectionBackground=n("list.inactiveSelectionBackground",{dark:"#37373D",light:"#E4E6F1",hc:null},w.localize(126,null)),e.listInactiveSelectionForeground=n("list.inactiveSelectionForeground",{dark:null,light:null,hc:null},w.localize(127,null)),e.listInactiveSelectionIconForeground=n("list.inactiveSelectionIconForeground",{dark:null,light:null,hc:null},w.localize(128,null)),e.listInactiveFocusBackground=n("list.inactiveFocusBackground",{dark:null,light:null,hc:null},w.localize(129,null)),e.listInactiveFocusOutline=n("list.inactiveFocusOutline",{dark:null,light:null,hc:null},w.localize(130,null)),e.listHoverBackground=n("list.hoverBackground",{dark:"#2A2D2E",light:"#F0F0F0",hc:null},w.localize(131,null)),e.listHoverForeground=n("list.hoverForeground",{dark:null,light:null,hc:null},w.localize(132,null)),e.listDropBackground=n("list.dropBackground",{dark:"#062F4A",light:"#D6EBFF",hc:null},w.localize(133,null)),e.listHighlightForeground=n("list.highlightForeground",{dark:"#18A3FF",light:"#0066BF",hc:e.focusBorder},w.localize(134,null)),e.listFocusHighlightForeground=n("list.focusHighlightForeground",{dark:e.listHighlightForeground,light:v(e.listActiveSelectionBackground,e.listHighlightForeground,"#9DDDFF"),hc:e.listHighlightForeground},w.localize(135,null)),e.listInvalidItemForeground=n("list.invalidItemForeground",{dark:"#B89500",light:"#B89500",hc:"#B89500"},w.localize(136,null)),e.listErrorForeground=n("list.errorForeground",{dark:"#F88070",light:"#B01011",hc:null},w.localize(137,null)),e.listWarningForeground=n("list.warningForeground",{dark:"#CCA700",light:"#855F00",hc:null},w.localize(138,null)),e.listFilterWidgetBackground=n("listFilterWidget.background",{light:"#efc1ad",dark:"#653723",hc:m.Color.black},w.localize(139,null)),e.listFilterWidgetOutline=n("listFilterWidget.outline",{dark:m.Color.transparent,light:m.Color.transparent,hc:"#f38518"},w.localize(140,null)),e.listFilterWidgetNoMatchesOutline=n("listFilterWidget.noMatchesOutline",{dark:"#BE1100",light:"#BE1100",hc:e.contrastBorder},w.localize(141,null)),e.listFilterMatchHighlight=n("list.filterMatchBackground",{dark:e.editorFindMatchHighlight,light:e.editorFindMatchHighlight,hc:null},w.localize(142,null)),e.listFilterMatchHighlightBorder=n("list.filterMatchBorder",{dark:e.editorFindMatchHighlightBorder,light:e.editorFindMatchHighlightBorder,hc:e.contrastBorder},w.localize(143,null)),e.treeIndentGuidesStroke=n("tree.indentGuidesStroke",{dark:"#585858",light:"#a9a9a9",hc:"#a9a9a9"},w.localize(144,null)),e.tableColumnsBorder=n("tree.tableColumnsBorder",{dark:"#CCCCCC20",light:"#61616120",hc:null},w.localize(145,null)),e.tableOddRowsBackgroundColor=n("tree.tableOddRowsBackground",{dark:f(e.foreground,.04),light:f(e.foreground,.04),hc:null},w.localize(146,null)),e.listDeemphasizedForeground=n("list.deemphasizedForeground",{dark:"#8C8C8C",light:"#8E8E90",hc:"#A7A8A9"},w.localize(147,null)),e._deprecatedQuickInputListFocusBackground=n("quickInput.list.focusBackground",{dark:null,light:null,hc:null},"",void 0,w.localize(148,null)),e.quickInputListFocusForeground=n("quickInputList.focusForeground",{dark:e.listActiveSelectionForeground,light:e.listActiveSelectionForeground,hc:e.listActiveSelectionForeground},w.localize(149,null)),e.quickInputListFocusIconForeground=n("quickInputList.focusIconForeground",{dark:e.listActiveSelectionIconForeground,light:e.listActiveSelectionIconForeground,hc:e.listActiveSelectionIconForeground},w.localize(150,null)),e.quickInputListFocusBackground=n("quickInputList.focusBackground",{dark:S(e._deprecatedQuickInputListFocusBackground,e.listActiveSelectionBackground),light:S(e._deprecatedQuickInputListFocusBackground,e.listActiveSelectionBackground),hc:null},w.localize(151,null)),e.menuBorder=n("menu.border",{dark:null,light:null,hc:e.contrastBorder},w.localize(152,null)),e.menuForeground=n("menu.foreground",{dark:e.selectForeground,light:e.foreground,hc:e.selectForeground},w.localize(153,null)),e.menuBackground=n("menu.background",{dark:e.selectBackground,light:e.selectBackground,hc:e.selectBackground},w.localize(154,null)),e.menuSelectionForeground=n("menu.selectionForeground",{dark:e.listActiveSelectionForeground,light:e.listActiveSelectionForeground,hc:e.listActiveSelectionForeground},w.localize(155,null)),e.menuSelectionBackground=n("menu.selectionBackground",{dark:e.listActiveSelectionBackground,light:e.listActiveSelectionBackground,hc:e.listActiveSelectionBackground},w.localize(156,null)),e.menuSelectionBorder=n("menu.selectionBorder",{dark:null,light:null,hc:e.activeContrastBorder},w.localize(157,null)),e.menuSeparatorBackground=n("menu.separatorBackground",{dark:"#BBBBBB",light:"#888888",hc:e.contrastBorder},w.localize(158,null)),e.toolbarHoverBackground=n("toolbar.hoverBackground",{dark:"#5a5d5e50",light:"#b8b8b850",hc:null},w.localize(159,null)),e.toolbarHoverOutline=n("toolbar.hoverOutline",{dark:null,light:null,hc:e.activeContrastBorder},w.localize(160,null)),e.toolbarActiveBackground=n("toolbar.activeBackground",{dark:h(e.toolbarHoverBackground,.1),light:l(e.toolbarHoverBackground,.1),hc:null},w.localize(161,null)),e.snippetTabstopHighlightBackground=n("editor.snippetTabstopHighlightBackground",{dark:new m.Color(new m.RGBA(124,124,124,.3)),light:new m.Color(new m.RGBA(10,50,100,.2)),hc:new m.Color(new m.RGBA(124,124,124,.3))},w.localize(162,null)),e.snippetTabstopHighlightBorder=n("editor.snippetTabstopHighlightBorder",{dark:null,light:null,hc:null},w.localize(163,null)),e.snippetFinalTabstopHighlightBackground=n("editor.snippetFinalTabstopHighlightBackground",{dark:null,light:null,hc:null},w.localize(164,null)),e.snippetFinalTabstopHighlightBorder=n("editor.snippetFinalTabstopHighlightBorder",{dark:"#525252",light:new m.Color(new m.RGBA(10,50,100,.5)),hc:"#525252"},w.localize(165,null)),e.breadcrumbsForeground=n("breadcrumb.foreground",{light:f(e.foreground,.8),dark:f(e.foreground,.8),hc:f(e.foreground,.8)},w.localize(166,null)),e.breadcrumbsBackground=n("breadcrumb.background",{light:e.editorBackground,dark:e.editorBackground,hc:e.editorBackground},w.localize(167,null)),e.breadcrumbsFocusForeground=n("breadcrumb.focusForeground",{light:l(e.foreground,.2),dark:h(e.foreground,.1),hc:h(e.foreground,.1)},w.localize(168,null)),e.breadcrumbsActiveSelectionForeground=n("breadcrumb.activeSelectionForeground",{light:l(e.foreground,.2),dark:h(e.foreground,.1),hc:h(e.foreground,.1)},w.localize(169,null)),e.breadcrumbsPickerBackground=n("breadcrumbPicker.background",{light:e.editorWidgetBackground,dark:e.editorWidgetBackground,hc:e.editorWidgetBackground},w.localize(170,null));const i=.5,o=m.Color.fromHex("#40C8AE").transparent(i),c=m.Color.fromHex("#40A6FF").transparent(i),d=m.Color.fromHex("#606060").transparent(.4),r=.4,s=1;e.mergeCurrentHeaderBackground=n("merge.currentHeaderBackground",{dark:o,light:o,hc:null},w.localize(171,null),!0),e.mergeCurrentContentBackground=n("merge.currentContentBackground",{dark:f(e.mergeCurrentHeaderBackground,r),light:f(e.mergeCurrentHeaderBackground,r),hc:f(e.mergeCurrentHeaderBackground,r)},w.localize(172,null),!0),e.mergeIncomingHeaderBackground=n("merge.incomingHeaderBackground",{dark:c,light:c,hc:null},w.localize(173,null),!0),e.mergeIncomingContentBackground=n("merge.incomingContentBackground",{dark:f(e.mergeIncomingHeaderBackground,r),light:f(e.mergeIncomingHeaderBackground,r),hc:f(e.mergeIncomingHeaderBackground,r)},w.localize(174,null),!0),e.mergeCommonHeaderBackground=n("merge.commonHeaderBackground",{dark:d,light:d,hc:null},w.localize(175,null),!0),e.mergeCommonContentBackground=n("merge.commonContentBackground",{dark:f(e.mergeCommonHeaderBackground,r),light:f(e.mergeCommonHeaderBackground,r),hc:f(e.mergeCommonHeaderBackground,r)},w.localize(176,null),!0),e.mergeBorder=n("merge.border",{dark:null,light:null,hc:"#C3DF6F"},w.localize(177,null)),e.overviewRulerCurrentContentForeground=n("editorOverviewRuler.currentContentForeground",{dark:f(e.mergeCurrentHeaderBackground,s),light:f(e.mergeCurrentHeaderBackground,s),hc:e.mergeBorder},w.localize(178,null)),e.overviewRulerIncomingContentForeground=n("editorOverviewRuler.incomingContentForeground",{dark:f(e.mergeIncomingHeaderBackground,s),light:f(e.mergeIncomingHeaderBackground,s),hc:e.mergeBorder},w.localize(179,null)),e.overviewRulerCommonContentForeground=n("editorOverviewRuler.commonContentForeground",{dark:f(e.mergeCommonHeaderBackground,s),light:f(e.mergeCommonHeaderBackground,s),hc:e.mergeBorder},w.localize(180,null)),e.overviewRulerFindMatchForeground=n("editorOverviewRuler.findMatchForeground",{dark:"#d186167e",light:"#d186167e",hc:"#AB5A00"},w.localize(181,null),!0),e.overviewRulerSelectionHighlightForeground=n("editorOverviewRuler.selectionHighlightForeground",{dark:"#A0A0A0CC",light:"#A0A0A0CC",hc:"#A0A0A0CC"},w.localize(182,null),!0),e.minimapFindMatch=n("minimap.findMatchHighlight",{light:"#d18616",dark:"#d18616",hc:"#AB5A00"},w.localize(183,null),!0),e.minimapSelectionOccurrenceHighlight=n("minimap.selectionOccurrenceHighlight",{light:"#c9c9c9",dark:"#676767",hc:"#ffffff"},w.localize(184,null),!0),e.minimapSelection=n("minimap.selectionHighlight",{light:"#ADD6FF",dark:"#264F78",hc:"#ffffff"},w.localize(185,null),!0),e.minimapError=n("minimap.errorHighlight",{dark:new m.Color(new m.RGBA(255,18,18,.7)),light:new m.Color(new m.RGBA(255,18,18,.7)),hc:new m.Color(new m.RGBA(255,50,50,1))},w.localize(186,null)),e.minimapWarning=n("minimap.warningHighlight",{dark:e.editorWarningForeground,light:e.editorWarningForeground,hc:e.editorWarningBorder},w.localize(187,null)),e.minimapBackground=n("minimap.background",{dark:null,light:null,hc:null},w.localize(188,null)),e.minimapForegroundOpacity=n("minimap.foregroundOpacity",{dark:m.Color.fromHex("#000f"),light:m.Color.fromHex("#000f"),hc:m.Color.fromHex("#000f")},w.localize(189,null)),e.minimapSliderBackground=n("minimapSlider.background",{light:f(e.scrollbarSliderBackground,.5),dark:f(e.scrollbarSliderBackground,.5),hc:f(e.scrollbarSliderBackground,.5)},w.localize(190,null)),e.minimapSliderHoverBackground=n("minimapSlider.hoverBackground",{light:f(e.scrollbarSliderHoverBackground,.5),dark:f(e.scrollbarSliderHoverBackground,.5),hc:f(e.scrollbarSliderHoverBackground,.5)},w.localize(191,null)),e.minimapSliderActiveBackground=n("minimapSlider.activeBackground",{light:f(e.scrollbarSliderActiveBackground,.5),dark:f(e.scrollbarSliderActiveBackground,.5),hc:f(e.scrollbarSliderActiveBackground,.5)},w.localize(192,null)),e.problemsErrorIconForeground=n("problemsErrorIcon.foreground",{dark:e.editorErrorForeground,light:e.editorErrorForeground,hc:e.editorErrorForeground},w.localize(193,null)),e.problemsWarningIconForeground=n("problemsWarningIcon.foreground",{dark:e.editorWarningForeground,light:e.editorWarningForeground,hc:e.editorWarningForeground},w.localize(194,null)),e.problemsInfoIconForeground=n("problemsInfoIcon.foreground",{dark:e.editorInfoForeground,light:e.editorInfoForeground,hc:e.editorInfoForeground},w.localize(195,null)),e.chartsForeground=n("charts.foreground",{dark:e.foreground,light:e.foreground,hc:e.foreground},w.localize(196,null)),e.chartsLines=n("charts.lines",{dark:f(e.foreground,.5),light:f(e.foreground,.5),hc:f(e.foreground,.5)},w.localize(197,null)),e.chartsRed=n("charts.red",{dark:e.editorErrorForeground,light:e.editorErrorForeground,hc:e.editorErrorForeground},w.localize(198,null)),e.chartsBlue=n("charts.blue",{dark:e.editorInfoForeground,light:e.editorInfoForeground,hc:e.editorInfoForeground},w.localize(199,null)),e.chartsYellow=n("charts.yellow",{dark:e.editorWarningForeground,light:e.editorWarningForeground,hc:e.editorWarningForeground},w.localize(200,null)),e.chartsOrange=n("charts.orange",{dark:e.minimapFindMatch,light:e.minimapFindMatch,hc:e.minimapFindMatch},w.localize(201,null)),e.chartsGreen=n("charts.green",{dark:"#89D185",light:"#388A34",hc:"#89D185"},w.localize(202,null)),e.chartsPurple=n("charts.purple",{dark:"#B180D7",light:"#652D90",hc:"#B180D7"},w.localize(203,null));function a(N,D){var M,B,O;switch(N.op){case 0:return(M=_(N.value,D))===null||M===void 0?void 0:M.darken(N.factor);case 1:return(B=_(N.value,D))===null||B===void 0?void 0:B.lighten(N.factor);case 2:return(O=_(N.value,D))===null||O===void 0?void 0:O.transparent(N.factor);case 3:for(const T of N.values){const A=_(T,D);if(A)return A}return;case 5:return _(D.defines(N.if)?N.then:N.else,D);case 4:{const T=_(N.value,D);if(!T)return;const A=_(N.background,D);return A?T.isDarkerThan(A)?m.Color.getLighterColor(T,A,N.factor).transparent(N.transparency):m.Color.getDarkerColor(T,A,N.factor).transparent(N.transparency):T.transparent(N.factor*N.transparency)}default:throw(0,I.assertNever)(N)}}e.executeTransform=a;function l(N,D){return{op:0,value:N,factor:D}}e.darken=l;function h(N,D){return{op:1,value:N,factor:D}}e.lighten=h;function f(N,D){return{op:2,value:N,factor:D}}e.transparent=f;function S(...N){return{op:3,values:N}}e.oneOf=S;function v(N,D,M){return{op:5,if:N,then:D,else:M}}e.ifDefinedThenElse=v;function p(N,D,M,B){return{op:4,value:N,background:D,factor:M,transparency:B}}function _(N,D){if(N!==null){if(typeof N=="string")return N[0]==="#"?m.Color.fromHex(N):D.getColor(N);if(N instanceof m.Color)return N;if(typeof N=="object")return a(N,D)}}e.resolveColorValue=_,e.workbenchColorsSchemaId="vscode://schemas/workbench-colors";let y=C.Registry.as(b.Extensions.JSONContribution);y.registerSchema(e.workbenchColorsSchemaId,t.getColorSchema());const E=new L.RunOnceScheduler(()=>y.notifySchemaChanged(e.workbenchColorsSchemaId),200);t.onDidChangeSchema(()=>{E.isScheduled()||E.schedule()})}),define(te[133],ie([1,0,7,98,59,10,2,23]),function(q,e,L,m,k,I,w,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DynamicCssRules=e.GlobalEditorMouseMoveMonitor=e.EditorPointerEventFactory=e.EditorMouseEventFactory=e.EditorMouseEvent=e.createCoordinatesRelativeToEditor=e.createEditorPagePosition=e.CoordinatesRelativeToEditor=e.EditorPagePosition=e.ClientCoordinates=e.PageCoordinates=void 0;class C{constructor(f,S){this.x=f,this.y=S,this._pageCoordinatesBrand=void 0}toClientCoordinates(){return new u(this.x-L.StandardWindow.scrollX,this.y-L.StandardWindow.scrollY)}}e.PageCoordinates=C;class u{constructor(f,S){this.clientX=f,this.clientY=S,this._clientCoordinatesBrand=void 0}toPageCoordinates(){return new C(this.clientX+L.StandardWindow.scrollX,this.clientY+L.StandardWindow.scrollY)}}e.ClientCoordinates=u;class g{constructor(f,S,v,p){this.x=f,this.y=S,this.width=v,this.height=p,this._editorPagePositionBrand=void 0}}e.EditorPagePosition=g;class t{constructor(f,S){this.x=f,this.y=S,this._positionRelativeToEditorBrand=void 0}}e.CoordinatesRelativeToEditor=t;function n(h){const f=L.getDomNodePagePosition(h);return new g(f.left,f.top,f.width,f.height)}e.createEditorPagePosition=n;function i(h,f,S){const v=f.width/h.offsetWidth,p=f.height/h.offsetHeight,_=(S.x-f.x)/v,y=(S.y-f.y)/p;return new t(_,y)}e.createCoordinatesRelativeToEditor=i;class o extends k.StandardMouseEvent{constructor(f,S){super(f);this._editorMouseEventBrand=void 0,this.pos=new C(this.posx,this.posy),this.editorPos=n(S),this.relativePos=i(S,this.editorPos,this.pos)}}e.EditorMouseEvent=o;class c{constructor(f){this._editorViewDomNode=f}_create(f){return new o(f,this._editorViewDomNode)}onContextMenu(f,S){return L.addDisposableListener(f,"contextmenu",v=>{S(this._create(v))})}onMouseUp(f,S){return L.addDisposableListener(f,"mouseup",v=>{S(this._create(v))})}onMouseDown(f,S){return L.addDisposableListener(f,"mousedown",v=>{S(this._create(v))})}onMouseLeave(f,S){return L.addDisposableNonBubblingMouseOutListener(f,v=>{S(this._create(v))})}onMouseMoveThrottled(f,S,v,p){const _=(y,E)=>v(y,this._create(E));return L.addDisposableThrottledListener(f,"mousemove",S,_,p)}}e.EditorMouseEventFactory=c;class d{constructor(f){this._editorViewDomNode=f}_create(f){return new o(f,this._editorViewDomNode)}onPointerUp(f,S){return L.addDisposableListener(f,"pointerup",v=>{S(this._create(v))})}onPointerDown(f,S){return L.addDisposableListener(f,"pointerdown",v=>{S(this._create(v))})}onPointerLeave(f,S){return L.addDisposableNonBubblingPointerOutListener(f,v=>{S(this._create(v))})}onPointerMoveThrottled(f,S,v,p){const _=(y,E)=>v(y,this._create(E));return L.addDisposableThrottledListener(f,"pointermove",S,_,p)}}e.EditorPointerEventFactory=d;class r extends w.Disposable{constructor(f){super();this._editorViewDomNode=f,this._globalMouseMoveMonitor=this._register(new m.GlobalMouseMoveMonitor),this._keydownListener=null}startMonitoring(f,S,v,p,_){this._keydownListener=L.addStandardDisposableListener(document,"keydown",E=>{E.toKeybinding().isModifierKey()||this._globalMouseMoveMonitor.stopMonitoring(!0,E.browserEvent)},!0);const y=(E,N)=>v(E,new o(N,this._editorViewDomNode));this._globalMouseMoveMonitor.startMonitoring(f,S,y,p,E=>{this._keydownListener.dispose(),_(E)})}stopMonitoring(){this._globalMouseMoveMonitor.stopMonitoring(!0)}}e.GlobalEditorMouseMoveMonitor=r;class s{constructor(f){this._editor=f,this._instanceId=++s._idPool,this._counter=0,this._rules=new Map,this._garbageCollectionScheduler=new I.RunOnceScheduler(()=>this.garbageCollect(),1e3)}createClassNameRef(f){const S=this.getOrCreateRule(f);return S.increaseRefCount(),{className:S.className,dispose:()=>{S.decreaseRefCount(),this._garbageCollectionScheduler.schedule()}}}getOrCreateRule(f){const S=this.computeUniqueKey(f);let v=this._rules.get(S);if(!v){const p=this._counter++;v=new a(S,`dyn-rule-${this._instanceId}-${p}`,L.isInShadowDOM(this._editor.getContainerDomNode())?this._editor.getContainerDomNode():void 0,f),this._rules.set(S,v)}return v}computeUniqueKey(f){return JSON.stringify(f)}garbageCollect(){for(const f of this._rules.values())f.hasReferences()||(this._rules.delete(f.key),f.dispose())}}e.DynamicCssRules=s,s._idPool=0;class a{constructor(f,S,v,p){this.key=f,this.className=S,this.properties=p,this._referenceCount=0,this._styleElement=L.createStyleSheet(v),this._styleElement.textContent=this.getCssText(this.className,this.properties)}getCssText(f,S){let v=`.${f} {`;for(const p in S){const _=S[p];let y;typeof _=="object"?y=`var(${(0,b.asCssVariableName)(_.id)})`:y=_,v+=`
+	${l(p)}: ${y};`}return v+=`
+}`,v}dispose(){this._styleElement.remove()}increaseRefCount(){this._referenceCount++}decreaseRefCount(){this._referenceCount--}hasReferences(){return this._referenceCount>0}}function l(h){return h.replace(/(^[A-Z])/,([f])=>f.toLowerCase()).replace(/([A-Z])/g,([f])=>`-${f.toLowerCase()}`)}}),define(te[134],ie([1,0,23]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.attachMenuStyler=e.defaultMenuStyles=e.defaultListStyles=e.attachListStyler=e.attachBadgeStyler=e.attachStyler=e.computeStyles=void 0;function m(C,u){const g=Object.create(null);for(let t in u){const n=u[t];n&&(g[t]=(0,L.resolveColorValue)(n,C))}return g}e.computeStyles=m;function k(C,u,g){function t(){const n=m(C.getColorTheme(),u);typeof g=="function"?g(n):g.style(n)}return t(),C.onDidColorThemeChange(t)}e.attachStyler=k;function I(C,u,g){return k(u,{badgeBackground:(g==null?void 0:g.badgeBackground)||L.badgeBackground,badgeForeground:(g==null?void 0:g.badgeForeground)||L.badgeForeground,badgeBorder:L.contrastBorder},C)}e.attachBadgeStyler=I;function w(C,u,g){return k(u,Object.assign(Object.assign({},e.defaultListStyles),g||{}),C)}e.attachListStyler=w,e.defaultListStyles={listFocusBackground:L.listFocusBackground,listFocusForeground:L.listFocusForeground,listFocusOutline:L.listFocusOutline,listActiveSelectionBackground:L.listActiveSelectionBackground,listActiveSelectionForeground:L.listActiveSelectionForeground,listActiveSelectionIconForeground:L.listActiveSelectionIconForeground,listFocusAndSelectionBackground:L.listActiveSelectionBackground,listFocusAndSelectionForeground:L.listActiveSelectionForeground,listInactiveSelectionBackground:L.listInactiveSelectionBackground,listInactiveSelectionIconForeground:L.listInactiveSelectionIconForeground,listInactiveSelectionForeground:L.listInactiveSelectionForeground,listInactiveFocusBackground:L.listInactiveFocusBackground,listInactiveFocusOutline:L.listInactiveFocusOutline,listHoverBackground:L.listHoverBackground,listHoverForeground:L.listHoverForeground,listDropBackground:L.listDropBackground,listSelectionOutline:L.activeContrastBorder,listHoverOutline:L.activeContrastBorder,listFilterWidgetBackground:L.listFilterWidgetBackground,listFilterWidgetOutline:L.listFilterWidgetOutline,listFilterWidgetNoMatchesOutline:L.listFilterWidgetNoMatchesOutline,listMatchesShadow:L.widgetShadow,treeIndentGuidesStroke:L.treeIndentGuidesStroke,tableColumnsBorder:L.tableColumnsBorder,tableOddRowsBackgroundColor:L.tableOddRowsBackgroundColor},e.defaultMenuStyles={shadowColor:L.widgetShadow,borderColor:L.menuBorder,foregroundColor:L.menuForeground,backgroundColor:L.menuBackground,selectionForegroundColor:L.menuSelectionForeground,selectionBackgroundColor:L.menuSelectionBackground,selectionBorderColor:L.menuSelectionBorder,separatorColor:L.menuSeparatorBackground,scrollbarShadow:L.scrollbarShadow,scrollbarSliderBackground:L.scrollbarSliderBackground,scrollbarSliderHoverBackground:L.scrollbarSliderHoverBackground,scrollbarSliderActiveBackground:L.scrollbarSliderActiveBackground};function b(C,u,g){return k(u,Object.assign(Object.assign({},e.defaultMenuStyles),g),C)}e.attachMenuStyler=b}),define(te[643],ie([1,0,7,59,494,47,13,2,134,399]),function(q,e,L,m,k,I,w,b,C){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ContextMenuHandler=void 0;class u{constructor(t,n,i,o,c){this.contextViewService=t,this.telemetryService=n,this.notificationService=i,this.keybindingService=o,this.themeService=c,this.focusToReturn=null,this.block=null,this.options={blockMouse:!0}}configure(t){this.options=t}showContextMenu(t){const n=t.getActions();if(!n.length)return;this.focusToReturn=document.activeElement;let i,o=(0,L.isHTMLElement)(t.domForShadowRoot)?t.domForShadowRoot:void 0;this.contextViewService.showContextView({getAnchor:()=>t.getAnchor(),canRelayout:!1,anchorAlignment:t.anchorAlignment,anchorAxisAlignment:t.anchorAxisAlignment,render:c=>{let d=t.getMenuClassName?t.getMenuClassName():"";d&&(c.className+=" "+d),this.options.blockMouse&&(this.block=c.appendChild((0,L.$)(".context-view-block")),this.block.style.position="fixed",this.block.style.cursor="initial",this.block.style.left="0",this.block.style.top="0",this.block.style.width="100%",this.block.style.height="100%",this.block.style.zIndex="-1",(0,L.addDisposableListener)(this.block,L.EventType.MOUSE_DOWN,a=>a.stopPropagation()));const r=new b.DisposableStore,s=t.actionRunner||new I.ActionRunner;return s.onBeforeRun(this.onActionRun,this,r),s.onDidRun(this.onDidActionRun,this,r),i=new k.Menu(c,n,{actionViewItemProvider:t.getActionViewItem,context:t.getActionsContext?t.getActionsContext():null,actionRunner:s,getKeyBinding:t.getKeyBinding?t.getKeyBinding:a=>this.keybindingService.lookupKeybinding(a.id)}),r.add((0,C.attachMenuStyler)(i,this.themeService)),i.onDidCancel(()=>this.contextViewService.hideContextView(!0),null,r),i.onDidBlur(()=>this.contextViewService.hideContextView(!0),null,r),r.add((0,L.addDisposableListener)(window,L.EventType.BLUR,()=>this.contextViewService.hideContextView(!0))),r.add((0,L.addDisposableListener)(window,L.EventType.MOUSE_DOWN,a=>{if(a.defaultPrevented)return;let l=new m.StandardMouseEvent(a),h=l.target;if(!l.rightButton){for(;h;){if(h===c)return;h=h.parentElement}this.contextViewService.hideContextView(!0)}})),(0,b.combinedDisposable)(r,i)},focus:()=>{i&&i.focus(!!t.autoSelectFirstItem)},onHide:c=>{t.onHide&&t.onHide(!!c),this.block&&(this.block.remove(),this.block=null),this.focusToReturn&&this.focusToReturn.focus()}},o,!!o)}onActionRun(t){this.telemetryService.publicLog2("workbenchActionExecuted",{id:t.action.id,from:"contextMenu"}),this.contextViewService.hideContextView(!1),this.focusToReturn&&this.focusToReturn.focus()}onDidActionRun(t){t.error&&!(0,w.isCancellationError)(t.error)&&this.notificationService.error(t.error)}}e.ContextMenuHandler=u}),define(te[135],ie([1,0]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ColorScheme=void 0;var L;(function(m){m.DARK="dark",m.LIGHT="light",m.HIGH_CONTRAST="hc"})(L=e.ColorScheme||(e.ColorScheme={}))}),define(te[284],ie([1,0,34,31,16,401,118,154,126,135,32]),function(q,e,L,m,k,I,w,b,C,u,g){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewLine=e.ViewLineOptions=e.DomReadingContext=void 0;const t=function(){return k.isNative?!0:!(k.isLinux||L.isFirefox||L.isSafari)}();let n=!0;class i{constructor(S,v){this._domNode=S,this._clientRectDeltaLeft=0,this._clientRectScale=1,this._clientRectRead=!1,this.endNode=v}readClientRect(){if(!this._clientRectRead){this._clientRectRead=!0;const S=this._domNode.getBoundingClientRect();this._clientRectDeltaLeft=S.left,this._clientRectScale=S.width/this._domNode.offsetWidth}}get clientRectDeltaLeft(){return this._clientRectRead||this.readClientRect(),this._clientRectDeltaLeft}get clientRectScale(){return this._clientRectRead||this.readClientRect(),this._clientRectScale}}e.DomReadingContext=i;class o{constructor(S,v){this.themeType=v;const p=S.options,_=p.get(44);this.renderWhitespace=p.get(88),this.renderControlCharacters=p.get(83),this.spaceWidth=_.spaceWidth,this.middotWidth=_.middotWidth,this.wsmiddotWidth=_.wsmiddotWidth,this.useMonospaceOptimizations=_.isMonospace&&!p.get(29),this.canUseHalfwidthRightwardsArrow=_.canUseHalfwidthRightwardsArrow,this.lineHeight=p.get(59),this.stopRenderingLineAfter=p.get(105),this.fontLigatures=p.get(45)}equals(S){return this.themeType===S.themeType&&this.renderWhitespace===S.renderWhitespace&&this.renderControlCharacters===S.renderControlCharacters&&this.spaceWidth===S.spaceWidth&&this.middotWidth===S.middotWidth&&this.wsmiddotWidth===S.wsmiddotWidth&&this.useMonospaceOptimizations===S.useMonospaceOptimizations&&this.canUseHalfwidthRightwardsArrow===S.canUseHalfwidthRightwardsArrow&&this.lineHeight===S.lineHeight&&this.stopRenderingLineAfter===S.stopRenderingLineAfter&&this.fontLigatures===S.fontLigatures}}e.ViewLineOptions=o;class c{constructor(S){this._options=S,this._isMaybeInvalid=!0,this._renderedViewLine=null}getDomNode(){return this._renderedViewLine&&this._renderedViewLine.domNode?this._renderedViewLine.domNode.domNode:null}setDomNode(S){if(this._renderedViewLine)this._renderedViewLine.domNode=(0,m.createFastDomNode)(S);else throw new Error("I have no rendered view line to set the dom node to...")}onContentChanged(){this._isMaybeInvalid=!0}onTokensChanged(){this._isMaybeInvalid=!0}onDecorationsChanged(){this._isMaybeInvalid=!0}onOptionsChanged(S){this._isMaybeInvalid=!0,this._options=S}onSelectionChanged(){return this._options.themeType===u.ColorScheme.HIGH_CONTRAST||this._options.renderWhitespace==="selection"?(this._isMaybeInvalid=!0,!0):!1}renderLine(S,v,p,_){if(this._isMaybeInvalid===!1)return!1;this._isMaybeInvalid=!1;const y=p.getViewLineRenderingData(S),E=this._options,N=b.LineDecoration.filter(y.inlineDecorations,S,y.minColumn,y.maxColumn);let D=null;if(E.themeType===u.ColorScheme.HIGH_CONTRAST||this._options.renderWhitespace==="selection"){const T=p.selections;for(const A of T){if(A.endLineNumber<S||A.startLineNumber>S)continue;const P=A.startLineNumber===S?A.startColumn:y.minColumn,F=A.endLineNumber===S?A.endColumn:y.maxColumn;P<F&&(E.themeType===u.ColorScheme.HIGH_CONTRAST||this._options.renderWhitespace!=="selection"?N.push(new b.LineDecoration(P,F,"inline-selected-text",0)):(D||(D=[]),D.push(new C.LineRange(P-1,F-1))))}}const M=new C.RenderLineInput(E.useMonospaceOptimizations,E.canUseHalfwidthRightwardsArrow,y.content,y.continuesWithWrappedLine,y.isBasicASCII,y.containsRTL,y.minColumn-1,y.tokens,N,y.tabSize,y.startVisibleColumn,E.spaceWidth,E.middotWidth,E.wsmiddotWidth,E.stopRenderingLineAfter,E.renderWhitespace,E.renderControlCharacters,E.fontLigatures!==g.EditorFontLigatures.OFF,D);if(this._renderedViewLine&&this._renderedViewLine.input.equals(M))return!1;_.appendASCIIString('<div style="top:'),_.appendASCIIString(String(v)),_.appendASCIIString("px;height:"),_.appendASCIIString(String(this._options.lineHeight)),_.appendASCIIString('px;" class="'),_.appendASCIIString(c.CLASS_NAME),_.appendASCIIString('">');const B=(0,C.renderViewLine)(M,_);_.appendASCIIString("</div>");let O=null;return n&&t&&y.isBasicASCII&&E.useMonospaceOptimizations&&B.containsForeignElements===0&&y.content.length<300&&M.lineTokens.getCount()<100&&(O=new d(this._renderedViewLine?this._renderedViewLine.domNode:null,M,B.characterMapping)),O||(O=a(this._renderedViewLine?this._renderedViewLine.domNode:null,M,B.characterMapping,B.containsRTL,B.containsForeignElements)),this._renderedViewLine=O,!0}layoutLine(S,v){this._renderedViewLine&&this._renderedViewLine.domNode&&(this._renderedViewLine.domNode.setTop(v),this._renderedViewLine.domNode.setHeight(this._options.lineHeight))}getWidth(){return this._renderedViewLine?this._renderedViewLine.getWidth():0}getWidthIsFast(){return this._renderedViewLine?this._renderedViewLine.getWidthIsFast():!0}needsMonospaceFontCheck(){return this._renderedViewLine?this._renderedViewLine instanceof d:!1}monospaceAssumptionsAreValid(){return this._renderedViewLine&&this._renderedViewLine instanceof d?this._renderedViewLine.monospaceAssumptionsAreValid():n}onMonospaceAssumptionsInvalidated(){this._renderedViewLine&&this._renderedViewLine instanceof d&&(this._renderedViewLine=this._renderedViewLine.toSlowRenderedLine())}getVisibleRangesForRange(S,v,p,_){if(!this._renderedViewLine)return null;v=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,v)),p=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,p));const y=this._renderedViewLine.input.stopRenderingLineAfter;let E=!1;y!==-1&&v>y+1&&p>y+1&&(E=!0),y!==-1&&v>y+1&&(v=y+1),y!==-1&&p>y+1&&(p=y+1);const N=this._renderedViewLine.getVisibleRangesForRange(S,v,p,_);return N&&N.length>0?new w.VisibleRanges(E,N):null}getColumnOfNodeOffset(S,v,p){return this._renderedViewLine?this._renderedViewLine.getColumnOfNodeOffset(S,v,p):1}}e.ViewLine=c,c.CLASS_NAME="view-line";class d{constructor(S,v,p){this.domNode=S,this.input=v,this._characterMapping=p,this._charWidth=v.spaceWidth}getWidth(){return Math.round(this._getCharPosition(this._characterMapping.length))}getWidthIsFast(){return!0}monospaceAssumptionsAreValid(){if(!this.domNode)return n;const S=this.getWidth(),v=this.domNode.domNode.firstChild.offsetWidth;return Math.abs(S-v)>=2&&(console.warn("monospace assumptions have been violated, therefore disabling monospace optimizations!"),n=!1),n}toSlowRenderedLine(){return a(this.domNode,this.input,this._characterMapping,!1,0)}getVisibleRangesForRange(S,v,p,_){const y=this._getCharPosition(v),E=this._getCharPosition(p);return[new w.FloatHorizontalRange(y,E-y)]}_getCharPosition(S){const v=this._characterMapping.getAbsoluteOffset(S);return this._charWidth*v}getColumnOfNodeOffset(S,v,p){const _=v.textContent.length;let y=-1;for(;v;)v=v.previousSibling,y++;return this._characterMapping.getColumn(new C.DomPosition(y,p),_)}}class r{constructor(S,v,p,_,y){if(this.domNode=S,this.input=v,this._characterMapping=p,this._isWhitespaceOnly=/^\s*$/.test(v.lineContent),this._containsForeignElements=y,this._cachedWidth=-1,this._pixelOffsetCache=null,!_||this._characterMapping.length===0){this._pixelOffsetCache=new Float32Array(Math.max(2,this._characterMapping.length+1));for(let E=0,N=this._characterMapping.length;E<=N;E++)this._pixelOffsetCache[E]=-1}}_getReadingTarget(S){return S.domNode.firstChild}getWidth(){return this.domNode?(this._cachedWidth===-1&&(this._cachedWidth=this._getReadingTarget(this.domNode).offsetWidth),this._cachedWidth):0}getWidthIsFast(){return this._cachedWidth!==-1}getVisibleRangesForRange(S,v,p,_){if(!this.domNode)return null;if(this._pixelOffsetCache!==null){const y=this._readPixelOffset(this.domNode,S,v,_);if(y===-1)return null;const E=this._readPixelOffset(this.domNode,S,p,_);return E===-1?null:[new w.FloatHorizontalRange(y,E-y)]}return this._readVisibleRangesForRange(this.domNode,S,v,p,_)}_readVisibleRangesForRange(S,v,p,_,y){if(p===_){const E=this._readPixelOffset(S,v,p,y);return E===-1?null:[new w.FloatHorizontalRange(E,0)]}else return this._readRawVisibleRangesForRange(S,p,_,y)}_readPixelOffset(S,v,p,_){if(this._characterMapping.length===0){if(this._containsForeignElements===0||this._containsForeignElements===2)return 0;if(this._containsForeignElements===1)return this.getWidth();const y=this._getReadingTarget(S);return y.firstChild?y.firstChild.offsetWidth:0}if(this._pixelOffsetCache!==null){const y=this._pixelOffsetCache[p];if(y!==-1)return y;const E=this._actualReadPixelOffset(S,v,p,_);return this._pixelOffsetCache[p]=E,E}return this._actualReadPixelOffset(S,v,p,_)}_actualReadPixelOffset(S,v,p,_){if(this._characterMapping.length===0){const D=I.RangeUtil.readHorizontalRanges(this._getReadingTarget(S),0,0,0,0,_.clientRectDeltaLeft,_.clientRectScale,_.endNode);return!D||D.length===0?-1:D[0].left}if(p===this._characterMapping.length&&this._isWhitespaceOnly&&this._containsForeignElements===0)return this.getWidth();const y=this._characterMapping.getDomPosition(p),E=I.RangeUtil.readHorizontalRanges(this._getReadingTarget(S),y.partIndex,y.charIndex,y.partIndex,y.charIndex,_.clientRectDeltaLeft,_.clientRectScale,_.endNode);if(!E||E.length===0)return-1;const N=E[0].left;if(this.input.isBasicASCII){const D=this._characterMapping.getAbsoluteOffset(p),M=Math.round(this.input.spaceWidth*D);if(Math.abs(M-N)<=1)return M}return N}_readRawVisibleRangesForRange(S,v,p,_){if(v===1&&p===this._characterMapping.length)return[new w.FloatHorizontalRange(0,this.getWidth())];const y=this._characterMapping.getDomPosition(v),E=this._characterMapping.getDomPosition(p);return I.RangeUtil.readHorizontalRanges(this._getReadingTarget(S),y.partIndex,y.charIndex,E.partIndex,E.charIndex,_.clientRectDeltaLeft,_.clientRectScale,_.endNode)}getColumnOfNodeOffset(S,v,p){const _=v.textContent.length;let y=-1;for(;v;)v=v.previousSibling,y++;return this._characterMapping.getColumn(new C.DomPosition(y,p),_)}}class s extends r{_readVisibleRangesForRange(S,v,p,_,y){const E=super._readVisibleRangesForRange(S,v,p,_,y);if(!E||E.length===0||p===_||p===1&&_===this._characterMapping.length)return E;if(!this.input.containsRTL){const N=this._readPixelOffset(S,v,_,y);if(N!==-1){const D=E[E.length-1];D.left<N&&(D.width=N-D.left)}}return E}}const a=function(){return L.isWebKit?l:h}();function l(f,S,v,p,_){return new s(f,S,v,p,_)}function h(f,S,v,p,_){return new r(f,S,v,p,_)}}),define(te[285],ie([1,0,133,51,284,11,3,70,7,241]),function(q,e,L,m,k,I,w,b,C,u){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.shadowCaretRangeFromPoint=e.MouseTargetFactory=e.HitTestContext=e.MouseTarget=e.PointerHandlerLastRenderData=void 0;class g{constructor(p=null){this.hitTarget=p,this.type=0}}class t{constructor(p,_,y){this.position=p,this.spanNode=_,this.injectedText=y,this.type=1}}var n;(function(v){function p(_,y,E){const N=_.getPositionFromDOMInfo(y,E);return N?new t(N,y,null):new g(y)}v.createFromDOMInfo=p})(n||(n={}));class i{constructor(p,_){this.lastViewCursorsRenderData=p,this.lastTextareaPosition=_}}e.PointerHandlerLastRenderData=i;class o{static _deduceRage(p,_=null){return!_&&p?new w.Range(p.lineNumber,p.column,p.lineNumber,p.column):_??null}static createUnknown(p,_,y){return{type:0,element:p,mouseColumn:_,position:y,range:this._deduceRage(y)}}static createTextarea(p,_){return{type:1,element:p,mouseColumn:_,position:null,range:null}}static createMargin(p,_,y,E,N,D){return{type:p,element:_,mouseColumn:y,position:E,range:N,detail:D}}static createViewZone(p,_,y,E,N){return{type:p,element:_,mouseColumn:y,position:E,range:this._deduceRage(E),detail:N}}static createContentText(p,_,y,E,N){return{type:6,element:p,mouseColumn:_,position:y,range:this._deduceRage(y,E),detail:N}}static createContentEmpty(p,_,y,E){return{type:7,element:p,mouseColumn:_,position:y,range:this._deduceRage(y),detail:E}}static createContentWidget(p,_,y){return{type:9,element:p,mouseColumn:_,position:null,range:null,detail:y}}static createScrollbar(p,_,y){return{type:11,element:p,mouseColumn:_,position:y,range:this._deduceRage(y)}}static createOverlayWidget(p,_,y){return{type:12,element:p,mouseColumn:_,position:null,range:null,detail:y}}static createOutsideEditor(p,_){return{type:13,element:null,mouseColumn:p,position:_,range:this._deduceRage(_)}}static _typeToString(p){return p===1?"TEXTAREA":p===2?"GUTTER_GLYPH_MARGIN":p===3?"GUTTER_LINE_NUMBERS":p===4?"GUTTER_LINE_DECORATIONS":p===5?"GUTTER_VIEW_ZONE":p===6?"CONTENT_TEXT":p===7?"CONTENT_EMPTY":p===8?"CONTENT_VIEW_ZONE":p===9?"CONTENT_WIDGET":p===10?"OVERVIEW_RULER":p===11?"SCROLLBAR":p===12?"OVERLAY_WIDGET":"UNKNOWN"}static toString(p){return this._typeToString(p.type)+": "+p.position+" - "+p.range+" - "+JSON.stringify(p.detail)}}e.MouseTarget=o;class c{static isTextArea(p){return p.length===2&&p[0]===3&&p[1]===6}static isChildOfViewLines(p){return p.length>=4&&p[0]===3&&p[3]===7}static isStrictChildOfViewLines(p){return p.length>4&&p[0]===3&&p[3]===7}static isChildOfScrollableElement(p){return p.length>=2&&p[0]===3&&p[1]===5}static isChildOfMinimap(p){return p.length>=2&&p[0]===3&&p[1]===8}static isChildOfContentWidgets(p){return p.length>=4&&p[0]===3&&p[3]===1}static isChildOfOverflowingContentWidgets(p){return p.length>=1&&p[0]===2}static isChildOfOverlayWidgets(p){return p.length>=2&&p[0]===3&&p[1]===4}}class d{constructor(p,_,y){this.viewModel=p.viewModel;const E=p.configuration.options;this.layoutInfo=E.get(131),this.viewDomNode=_.viewDomNode,this.lineHeight=E.get(59),this.stickyTabStops=E.get(104),this.typicalHalfwidthCharacterWidth=E.get(44).typicalHalfwidthCharacterWidth,this.lastRenderData=y,this._context=p,this._viewHelper=_}getZoneAtCoord(p){return d.getZoneAtCoord(this._context,p)}static getZoneAtCoord(p,_){const y=p.viewLayout.getWhitespaceAtVerticalOffset(_);if(y){const E=y.verticalOffset+y.height/2,N=p.viewModel.getLineCount();let D=null,M,B=null;return y.afterLineNumber!==N&&(B=new I.Position(y.afterLineNumber+1,1)),y.afterLineNumber>0&&(D=new I.Position(y.afterLineNumber,p.viewModel.getLineMaxColumn(y.afterLineNumber))),B===null?M=D:D===null?M=B:_<E?M=D:M=B,{viewZoneId:y.id,afterLineNumber:y.afterLineNumber,positionBefore:D,positionAfter:B,position:M}}return null}getFullLineRangeAtCoord(p){if(this._context.viewLayout.isAfterLines(p)){const E=this._context.viewModel.getLineCount(),N=this._context.viewModel.getLineMaxColumn(E);return{range:new w.Range(E,N,E,N),isAfterLines:!0}}const _=this._context.viewLayout.getLineNumberAtVerticalOffset(p),y=this._context.viewModel.getLineMaxColumn(_);return{range:new w.Range(_,1,_,y),isAfterLines:!1}}getLineNumberAtVerticalOffset(p){return this._context.viewLayout.getLineNumberAtVerticalOffset(p)}isAfterLines(p){return this._context.viewLayout.isAfterLines(p)}isInTopPadding(p){return this._context.viewLayout.isInTopPadding(p)}isInBottomPadding(p){return this._context.viewLayout.isInBottomPadding(p)}getVerticalOffsetForLineNumber(p){return this._context.viewLayout.getVerticalOffsetForLineNumber(p)}findAttribute(p,_){return d._findAttribute(p,_,this._viewHelper.viewDomNode)}static _findAttribute(p,_,y){for(;p&&p!==document.body;){if(p.hasAttribute&&p.hasAttribute(_))return p.getAttribute(_);if(p===y)return null;p=p.parentNode}return null}getLineWidth(p){return this._viewHelper.getLineWidth(p)}visibleRangeForPosition(p,_){return this._viewHelper.visibleRangeForPosition(p,_)}getPositionFromDOMInfo(p,_){return this._viewHelper.getPositionFromDOMInfo(p,_)}getCurrentScrollTop(){return this._context.viewLayout.getCurrentScrollTop()}getCurrentScrollLeft(){return this._context.viewLayout.getCurrentScrollLeft()}}e.HitTestContext=d;class r{constructor(p,_,y,E){this.editorPos=_,this.pos=y,this.relativePos=E,this.mouseVerticalOffset=Math.max(0,p.getCurrentScrollTop()+this.relativePos.y),this.mouseContentHorizontalOffset=p.getCurrentScrollLeft()+this.relativePos.x-p.layoutInfo.contentLeft,this.isInMarginArea=this.relativePos.x<p.layoutInfo.contentLeft&&this.relativePos.x>=p.layoutInfo.glyphMarginLeft,this.isInContentArea=!this.isInMarginArea,this.mouseColumn=Math.max(0,h._getMouseColumn(this.mouseContentHorizontalOffset,p.typicalHalfwidthCharacterWidth))}}class s extends r{constructor(p,_,y,E,N){super(p,_,y,E);this._ctx=p,N?(this.target=N,this.targetPath=m.PartFingerprints.collect(N,p.viewDomNode)):(this.target=null,this.targetPath=new Uint8Array(0))}toString(){return`pos(${this.pos.x},${this.pos.y}), editorPos(${this.editorPos.x},${this.editorPos.y}), relativePos(${this.relativePos.x},${this.relativePos.y}), mouseVerticalOffset: ${this.mouseVerticalOffset}, mouseContentHorizontalOffset: ${this.mouseContentHorizontalOffset}
+	target: ${this.target?this.target.outerHTML:null}`}_getMouseColumn(p=null){return p&&p.column<this._ctx.viewModel.getLineMaxColumn(p.lineNumber)?b.CursorColumns.visibleColumnFromColumn(this._ctx.viewModel.getLineContent(p.lineNumber),p.column,this._ctx.viewModel.model.getOptions().tabSize)+1:this.mouseColumn}fulfillUnknown(p=null){return o.createUnknown(this.target,this._getMouseColumn(p),p)}fulfillTextarea(){return o.createTextarea(this.target,this._getMouseColumn())}fulfillMargin(p,_,y,E){return o.createMargin(p,this.target,this._getMouseColumn(_),_,y,E)}fulfillViewZone(p,_,y){return o.createViewZone(p,this.target,this._getMouseColumn(_),_,y)}fulfillContentText(p,_,y){return o.createContentText(this.target,this._getMouseColumn(p),p,_,y)}fulfillContentEmpty(p,_){return o.createContentEmpty(this.target,this._getMouseColumn(p),p,_)}fulfillContentWidget(p){return o.createContentWidget(this.target,this._getMouseColumn(),p)}fulfillScrollbar(p){return o.createScrollbar(this.target,this._getMouseColumn(p),p)}fulfillOverlayWidget(p){return o.createOverlayWidget(this.target,this._getMouseColumn(),p)}withTarget(p){return new s(this._ctx,this.editorPos,this.pos,this.relativePos,p)}}const a={isAfterLines:!0};function l(v){return{isAfterLines:!1,horizontalDistanceToText:v}}class h{constructor(p,_){this._context=p,this._viewHelper=_}mouseTargetIsWidget(p){const _=p.target,y=m.PartFingerprints.collect(_,this._viewHelper.viewDomNode);return!!(c.isChildOfContentWidgets(y)||c.isChildOfOverflowingContentWidgets(y)||c.isChildOfOverlayWidgets(y))}createMouseTarget(p,_,y,E,N){const D=new d(this._context,this._viewHelper,p),M=new s(D,_,y,E,N);try{return h._createMouseTarget(D,M,!1)}catch{return M.fulfillUnknown()}}static _createMouseTarget(p,_,y){if(_.target===null){if(y)return _.fulfillUnknown();const D=h._doHitTest(p,_);return D.type===1?h.createMouseTargetFromHitTestPosition(p,_,D.spanNode,D.position,D.injectedText):this._createMouseTarget(p,_.withTarget(D.hitTarget),!0)}const E=_;let N=null;return N=N||h._hitTestContentWidget(p,E),N=N||h._hitTestOverlayWidget(p,E),N=N||h._hitTestMinimap(p,E),N=N||h._hitTestScrollbarSlider(p,E),N=N||h._hitTestViewZone(p,E),N=N||h._hitTestMargin(p,E),N=N||h._hitTestViewCursor(p,E),N=N||h._hitTestTextArea(p,E),N=N||h._hitTestViewLines(p,E,y),N=N||h._hitTestScrollbar(p,E),N||_.fulfillUnknown()}static _hitTestContentWidget(p,_){if(c.isChildOfContentWidgets(_.targetPath)||c.isChildOfOverflowingContentWidgets(_.targetPath)){const y=p.findAttribute(_.target,"widgetId");return y?_.fulfillContentWidget(y):_.fulfillUnknown()}return null}static _hitTestOverlayWidget(p,_){if(c.isChildOfOverlayWidgets(_.targetPath)){const y=p.findAttribute(_.target,"widgetId");return y?_.fulfillOverlayWidget(y):_.fulfillUnknown()}return null}static _hitTestViewCursor(p,_){if(_.target){const y=p.lastRenderData.lastViewCursorsRenderData;for(const E of y)if(_.target===E.domNode)return _.fulfillContentText(E.position,null,{mightBeForeignElement:!1,injectedText:null})}if(_.isInContentArea){const y=p.lastRenderData.lastViewCursorsRenderData,E=_.mouseContentHorizontalOffset,N=_.mouseVerticalOffset;for(const D of y){if(E<D.contentLeft||E>D.contentLeft+D.width)continue;const M=p.getVerticalOffsetForLineNumber(D.position.lineNumber);if(M<=N&&N<=M+D.height)return _.fulfillContentText(D.position,null,{mightBeForeignElement:!1,injectedText:null})}}return null}static _hitTestViewZone(p,_){const y=p.getZoneAtCoord(_.mouseVerticalOffset);if(y){const E=_.isInContentArea?8:5;return _.fulfillViewZone(E,y.position,y)}return null}static _hitTestTextArea(p,_){return c.isTextArea(_.targetPath)?p.lastRenderData.lastTextareaPosition?_.fulfillContentText(p.lastRenderData.lastTextareaPosition,null,{mightBeForeignElement:!1,injectedText:null}):_.fulfillTextarea():null}static _hitTestMargin(p,_){if(_.isInMarginArea){const y=p.getFullLineRangeAtCoord(_.mouseVerticalOffset),E=y.range.getStartPosition();let N=Math.abs(_.relativePos.x);const D={isAfterLines:y.isAfterLines,glyphMarginLeft:p.layoutInfo.glyphMarginLeft,glyphMarginWidth:p.layoutInfo.glyphMarginWidth,lineNumbersWidth:p.layoutInfo.lineNumbersWidth,offsetX:N};return N-=p.layoutInfo.glyphMarginLeft,N<=p.layoutInfo.glyphMarginWidth?_.fulfillMargin(2,E,y.range,D):(N-=p.layoutInfo.glyphMarginWidth,N<=p.layoutInfo.lineNumbersWidth?_.fulfillMargin(3,E,y.range,D):(N-=p.layoutInfo.lineNumbersWidth,_.fulfillMargin(4,E,y.range,D)))}return null}static _hitTestViewLines(p,_,y){if(!c.isChildOfViewLines(_.targetPath))return null;if(p.isInTopPadding(_.mouseVerticalOffset))return _.fulfillContentEmpty(new I.Position(1,1),a);if(p.isAfterLines(_.mouseVerticalOffset)||p.isInBottomPadding(_.mouseVerticalOffset)){const N=p.viewModel.getLineCount(),D=p.viewModel.getLineMaxColumn(N);return _.fulfillContentEmpty(new I.Position(N,D),a)}if(y){if(c.isStrictChildOfViewLines(_.targetPath)){const N=p.getLineNumberAtVerticalOffset(_.mouseVerticalOffset);if(p.viewModel.getLineLength(N)===0){const M=p.getLineWidth(N),B=l(_.mouseContentHorizontalOffset-M);return _.fulfillContentEmpty(new I.Position(N,1),B)}const D=p.getLineWidth(N);if(_.mouseContentHorizontalOffset>=D){const M=l(_.mouseContentHorizontalOffset-D),B=new I.Position(N,p.viewModel.getLineMaxColumn(N));return _.fulfillContentEmpty(B,M)}}return _.fulfillUnknown()}const E=h._doHitTest(p,_);return E.type===1?h.createMouseTargetFromHitTestPosition(p,_,E.spanNode,E.position,E.injectedText):this._createMouseTarget(p,_.withTarget(E.hitTarget),!0)}static _hitTestMinimap(p,_){if(c.isChildOfMinimap(_.targetPath)){const y=p.getLineNumberAtVerticalOffset(_.mouseVerticalOffset),E=p.viewModel.getLineMaxColumn(y);return _.fulfillScrollbar(new I.Position(y,E))}return null}static _hitTestScrollbarSlider(p,_){if(c.isChildOfScrollableElement(_.targetPath)&&_.target&&_.target.nodeType===1){const y=_.target.className;if(y&&/\b(slider|scrollbar)\b/.test(y)){const E=p.getLineNumberAtVerticalOffset(_.mouseVerticalOffset),N=p.viewModel.getLineMaxColumn(E);return _.fulfillScrollbar(new I.Position(E,N))}}return null}static _hitTestScrollbar(p,_){if(c.isChildOfScrollableElement(_.targetPath)){const y=p.getLineNumberAtVerticalOffset(_.mouseVerticalOffset),E=p.viewModel.getLineMaxColumn(y);return _.fulfillScrollbar(new I.Position(y,E))}return null}getMouseColumn(p){const _=this._context.configuration.options,y=_.get(131),E=this._context.viewLayout.getCurrentScrollLeft()+p.x-y.contentLeft;return h._getMouseColumn(E,_.get(44).typicalHalfwidthCharacterWidth)}static _getMouseColumn(p,_){return p<0?1:Math.round(p/_)+1}static createMouseTargetFromHitTestPosition(p,_,y,E,N){const D=E.lineNumber,M=E.column,B=p.getLineWidth(D);if(_.mouseContentHorizontalOffset>B){const z=l(_.mouseContentHorizontalOffset-B);return _.fulfillContentEmpty(E,z)}const O=p.visibleRangeForPosition(D,M);if(!O)return _.fulfillUnknown(E);const T=O.left;if(_.mouseContentHorizontalOffset===T)return _.fulfillContentText(E,null,{mightBeForeignElement:!!N,injectedText:N});const A=[];if(A.push({offset:O.left,column:M}),M>1){const z=p.visibleRangeForPosition(D,M-1);z&&A.push({offset:z.left,column:M-1})}const P=p.viewModel.getLineMaxColumn(D);if(M<P){const z=p.visibleRangeForPosition(D,M+1);z&&A.push({offset:z.left,column:M+1})}A.sort((z,j)=>z.offset-j.offset);const F=_.pos.toClientCoordinates(),W=y.getBoundingClientRect(),R=W.left<=F.clientX&&F.clientX<=W.right;for(let z=1;z<A.length;z++){const j=A[z-1],$=A[z];if(j.offset<=_.mouseContentHorizontalOffset&&_.mouseContentHorizontalOffset<=$.offset){const G=new w.Range(D,j.column,D,$.column);return _.fulfillContentText(E,G,{mightBeForeignElement:!R||!!N,injectedText:N})}}return _.fulfillContentText(E,null,{mightBeForeignElement:!R||!!N,injectedText:N})}static _doHitTestWithCaretRangeFromPoint(p,_){const y=p.getLineNumberAtVerticalOffset(_.mouseVerticalOffset),N=p.getVerticalOffsetForLineNumber(y)+Math.floor(p.lineHeight/2);let D=_.pos.y+(N-_.mouseVerticalOffset);D<=_.editorPos.y&&(D=_.editorPos.y+1),D>=_.editorPos.y+_.editorPos.height&&(D=_.editorPos.y+_.editorPos.height-1);const M=new L.PageCoordinates(_.pos.x,D),B=this._actualDoHitTestWithCaretRangeFromPoint(p,M.toClientCoordinates());return B.type===1?B:this._actualDoHitTestWithCaretRangeFromPoint(p,_.pos.toClientCoordinates())}static _actualDoHitTestWithCaretRangeFromPoint(p,_){const y=C.getShadowRoot(p.viewDomNode);let E;if(y?typeof y.caretRangeFromPoint=="undefined"?E=f(y,_.clientX,_.clientY):E=y.caretRangeFromPoint(_.clientX,_.clientY):E=document.caretRangeFromPoint(_.clientX,_.clientY),!E||!E.startContainer)return new g;const N=E.startContainer;if(N.nodeType===N.TEXT_NODE){const D=N.parentNode,M=D?D.parentNode:null,B=M?M.parentNode:null;return(B&&B.nodeType===B.ELEMENT_NODE?B.className:null)===k.ViewLine.CLASS_NAME?n.createFromDOMInfo(p,D,E.startOffset):new g(N.parentNode)}else if(N.nodeType===N.ELEMENT_NODE){const D=N.parentNode,M=D?D.parentNode:null;return(M&&M.nodeType===M.ELEMENT_NODE?M.className:null)===k.ViewLine.CLASS_NAME?n.createFromDOMInfo(p,N,N.textContent.length):new g(N)}return new g}static _doHitTestWithCaretPositionFromPoint(p,_){const y=document.caretPositionFromPoint(_.clientX,_.clientY);if(y.offsetNode.nodeType===y.offsetNode.TEXT_NODE){const E=y.offsetNode.parentNode,N=E?E.parentNode:null,D=N?N.parentNode:null;return(D&&D.nodeType===D.ELEMENT_NODE?D.className:null)===k.ViewLine.CLASS_NAME?n.createFromDOMInfo(p,y.offsetNode.parentNode,y.offset):new g(y.offsetNode.parentNode)}if(y.offsetNode.nodeType===y.offsetNode.ELEMENT_NODE){const E=y.offsetNode.parentNode,N=E&&E.nodeType===E.ELEMENT_NODE?E.className:null,D=E?E.parentNode:null,M=D&&D.nodeType===D.ELEMENT_NODE?D.className:null;if(N===k.ViewLine.CLASS_NAME){const B=y.offsetNode.childNodes[Math.min(y.offset,y.offsetNode.childNodes.length-1)];if(B)return n.createFromDOMInfo(p,B,0)}else if(M===k.ViewLine.CLASS_NAME)return n.createFromDOMInfo(p,y.offsetNode,0)}return new g(y.offsetNode)}static _snapToSoftTabBoundary(p,_){const y=_.getLineContent(p.lineNumber),{tabSize:E}=_.model.getOptions(),N=u.AtomicTabMoveOperations.atomicPosition(y,p.column-1,E,2);return N!==-1?new I.Position(p.lineNumber,N+1):p}static _doHitTest(p,_){let y=new g;if(typeof document.caretRangeFromPoint=="function"?y=this._doHitTestWithCaretRangeFromPoint(p,_):document.caretPositionFromPoint&&(y=this._doHitTestWithCaretPositionFromPoint(p,_.pos.toClientCoordinates())),y.type===1){const E=p.viewModel.getInjectedTextAt(y.position),N=p.viewModel.normalizePosition(y.position,2);(E||!N.equals(y.position))&&(y=new t(N,y.spanNode,E))}return y.type===1&&p.stickyTabStops&&(y=new t(this._snapToSoftTabBoundary(y.position,p.viewModel),y.spanNode,y.injectedText)),y}}e.MouseTargetFactory=h;function f(v,p,_){const y=document.createRange();let E=v.elementFromPoint(p,_);if(E!==null){for(;E&&E.firstChild&&E.firstChild.nodeType!==E.firstChild.TEXT_NODE&&E.lastChild&&E.lastChild.firstChild;)E=E.lastChild;const N=E.getBoundingClientRect(),D=window.getComputedStyle(E,null).getPropertyValue("font"),M=E.innerText;let B=N.left,O=0,T;if(p>N.left+N.width)O=M.length;else{const A=S.getInstance();for(let P=0;P<M.length+1;P++){if(T=A.getCharWidth(M.charAt(P),D)/2,B+=T,p<B){O=P;break}B+=T}}y.setStart(E.firstChild,O),y.setEnd(E.firstChild,O)}return y}e.shadowCaretRangeFromPoint=f;class S{constructor(){this._cache={},this._canvas=document.createElement("canvas")}static getInstance(){return S._INSTANCE||(S._INSTANCE=new S),S._INSTANCE}getCharWidth(p,_){const y=p+_;if(this._cache[y])return this._cache[y];const E=this._canvas.getContext("2d");E.font=_;const D=E.measureText(p).width;return this._cache[y]=D,D}}S._INSTANCE=null}),define(te[644],ie([1,0,7,59,10,2,16,285,133,147,11,22,125]),function(q,e,L,m,k,I,w,b,C,u,g,t,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MouseHandler=e.createMouseMoveEventMerger=void 0;function i(r){return function(s,a){let l=!1;return r&&(l=r.mouseTargetIsWidget(a)),l||a.preventDefault(),a}}e.createMouseMoveEventMerger=i;class o extends n.ViewEventHandler{constructor(s,a,l){super();this._context=s,this.viewController=a,this.viewHelper=l,this.mouseTargetFactory=new b.MouseTargetFactory(this._context,l),this._mouseDownOperation=this._register(new c(this._context,this.viewController,this.viewHelper,(S,v)=>this._createMouseTarget(S,v),S=>this._getMouseColumn(S))),this.lastMouseLeaveTime=-1,this._height=this._context.configuration.options.get(131).height;const h=new C.EditorMouseEventFactory(this.viewHelper.viewDomNode);this._register(h.onContextMenu(this.viewHelper.viewDomNode,S=>this._onContextMenu(S,!0))),this._register(h.onMouseMoveThrottled(this.viewHelper.viewDomNode,S=>this._onMouseMove(S),i(this.mouseTargetFactory),o.MOUSE_MOVE_MINIMUM_TIME)),this._register(h.onMouseUp(this.viewHelper.viewDomNode,S=>this._onMouseUp(S))),this._register(h.onMouseLeave(this.viewHelper.viewDomNode,S=>this._onMouseLeave(S))),this._register(h.onMouseDown(this.viewHelper.viewDomNode,S=>this._onMouseDown(S)));const f=S=>{if(this.viewController.emitMouseWheel(S),!this._context.configuration.options.get(68))return;const v=new m.StandardWheelEvent(S);if(w.isMacintosh?(S.metaKey||S.ctrlKey)&&!S.shiftKey&&!S.altKey:S.ctrlKey&&!S.metaKey&&!S.shiftKey&&!S.altKey){const _=u.EditorZoom.getZoomLevel(),y=v.deltaY>0?1:-1;u.EditorZoom.setZoomLevel(_+y),v.preventDefault(),v.stopPropagation()}};this._register(L.addDisposableListener(this.viewHelper.viewDomNode,L.EventType.MOUSE_WHEEL,f,{capture:!0,passive:!1})),this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}onConfigurationChanged(s){if(s.hasChanged(131)){const a=this._context.configuration.options.get(131).height;this._height!==a&&(this._height=a,this._mouseDownOperation.onHeightChanged())}return!1}onCursorStateChanged(s){return this._mouseDownOperation.onCursorStateChanged(s),!1}onFocusChanged(s){return!1}onScrollChanged(s){return this._mouseDownOperation.onScrollChanged(),!1}getTargetAtClientPoint(s,a){const h=new C.ClientCoordinates(s,a).toPageCoordinates(),f=(0,C.createEditorPagePosition)(this.viewHelper.viewDomNode);if(h.y<f.y||h.y>f.y+f.height||h.x<f.x||h.x>f.x+f.width)return null;const S=(0,C.createCoordinatesRelativeToEditor)(this.viewHelper.viewDomNode,f,h);return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),f,h,S,null)}_createMouseTarget(s,a){let l=s.target;if(!this.viewHelper.viewDomNode.contains(l)){const h=L.getShadowRoot(this.viewHelper.viewDomNode);h&&(l=h.elementsFromPoint(s.posx,s.posy).find(f=>this.viewHelper.viewDomNode.contains(f)))}return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),s.editorPos,s.pos,s.relativePos,a?l:null)}_getMouseColumn(s){return this.mouseTargetFactory.getMouseColumn(s.relativePos)}_onContextMenu(s,a){this.viewController.emitContextMenu({event:s,target:this._createMouseTarget(s,a)})}_onMouseMove(s){this._mouseDownOperation.isActive()||s.timestamp<this.lastMouseLeaveTime||this.viewController.emitMouseMove({event:s,target:this._createMouseTarget(s,!0)})}_onMouseLeave(s){this.lastMouseLeaveTime=new Date().getTime(),this.viewController.emitMouseLeave({event:s,target:null})}_onMouseUp(s){this.viewController.emitMouseUp({event:s,target:this._createMouseTarget(s,!0)})}_onMouseDown(s){const a=this._createMouseTarget(s,!0),l=a.type===6||a.type===7,h=a.type===2||a.type===3||a.type===4,f=a.type===3,S=this._context.configuration.options.get(98),v=a.type===8||a.type===5,p=a.type===9;let _=s.leftButton||s.middleButton;w.isMacintosh&&s.leftButton&&s.ctrlKey&&(_=!1);const y=()=>{s.preventDefault(),this.viewHelper.focusTextArea()};if(_&&(l||f&&S))y(),this._mouseDownOperation.start(a.type,s);else if(h)s.preventDefault();else if(v){const E=a.detail;this.viewHelper.shouldSuppressMouseDownOnViewZone(E.viewZoneId)&&(y(),this._mouseDownOperation.start(a.type,s),s.preventDefault())}else p&&this.viewHelper.shouldSuppressMouseDownOnWidget(a.detail)&&(y(),s.preventDefault());this.viewController.emitMouseDown({event:s,target:a})}}e.MouseHandler=o,o.MOUSE_MOVE_MINIMUM_TIME=100;class c extends I.Disposable{constructor(s,a,l,h,f){super();this._context=s,this._viewController=a,this._viewHelper=l,this._createMouseTarget=h,this._getMouseColumn=f,this._mouseMoveMonitor=this._register(new C.GlobalEditorMouseMoveMonitor(this._viewHelper.viewDomNode)),this._onScrollTimeout=this._register(new k.TimeoutTimer),this._mouseState=new d,this._currentSelection=new t.Selection(1,1,1,1),this._isActive=!1,this._lastMouseEvent=null}dispose(){super.dispose()}isActive(){return this._isActive}_onMouseDownThenMove(s){this._lastMouseEvent=s,this._mouseState.setModifiers(s);const a=this._findMousePosition(s,!0);!a||(this._mouseState.isDragAndDrop?this._viewController.emitMouseDrag({event:s,target:a}):this._dispatchMouse(a,!0))}start(s,a){this._lastMouseEvent=a,this._mouseState.setStartedOnLineNumbers(s===3),this._mouseState.setStartButtons(a),this._mouseState.setModifiers(a);const l=this._findMousePosition(a,!0);if(!l||!l.position)return;this._mouseState.trySetCount(a.detail,l.position),a.detail=this._mouseState.count;const h=this._context.configuration.options;if(!h.get(81)&&h.get(31)&&!h.get(18)&&!this._mouseState.altKey&&a.detail<2&&!this._isActive&&!this._currentSelection.isEmpty()&&l.type===6&&l.position&&this._currentSelection.containsPosition(l.position)){this._mouseState.isDragAndDrop=!0,this._isActive=!0,this._mouseMoveMonitor.startMonitoring(a.target,a.buttons,i(null),f=>this._onMouseDownThenMove(f),f=>{const S=this._findMousePosition(this._lastMouseEvent,!0);f&&f instanceof KeyboardEvent?this._viewController.emitMouseDropCanceled():this._viewController.emitMouseDrop({event:this._lastMouseEvent,target:S?this._createMouseTarget(this._lastMouseEvent,!0):null}),this._stop()});return}this._mouseState.isDragAndDrop=!1,this._dispatchMouse(l,a.shiftKey),this._isActive||(this._isActive=!0,this._mouseMoveMonitor.startMonitoring(a.target,a.buttons,i(null),f=>this._onMouseDownThenMove(f),()=>this._stop()))}_stop(){this._isActive=!1,this._onScrollTimeout.cancel()}onHeightChanged(){this._mouseMoveMonitor.stopMonitoring()}onScrollChanged(){!this._isActive||this._onScrollTimeout.setIfNotSet(()=>{if(!this._lastMouseEvent)return;const s=this._findMousePosition(this._lastMouseEvent,!1);!s||this._mouseState.isDragAndDrop||this._dispatchMouse(s,!0)},10)}onCursorStateChanged(s){this._currentSelection=s.selections[0]}_getPositionOutsideEditor(s){const a=s.editorPos,l=this._context.viewModel,h=this._context.viewLayout,f=this._getMouseColumn(s);if(s.posy<a.y){const v=Math.max(h.getCurrentScrollTop()-(a.y-s.posy),0),p=b.HitTestContext.getZoneAtCoord(this._context,v);if(p){const y=this._helpPositionJumpOverViewZone(p);if(y)return b.MouseTarget.createOutsideEditor(f,y)}const _=h.getLineNumberAtVerticalOffset(v);return b.MouseTarget.createOutsideEditor(f,new g.Position(_,1))}if(s.posy>a.y+a.height){const v=h.getCurrentScrollTop()+s.relativePos.y,p=b.HitTestContext.getZoneAtCoord(this._context,v);if(p){const y=this._helpPositionJumpOverViewZone(p);if(y)return b.MouseTarget.createOutsideEditor(f,y)}const _=h.getLineNumberAtVerticalOffset(v);return b.MouseTarget.createOutsideEditor(f,new g.Position(_,l.getLineMaxColumn(_)))}const S=h.getLineNumberAtVerticalOffset(h.getCurrentScrollTop()+s.relativePos.y);return s.posx<a.x?b.MouseTarget.createOutsideEditor(f,new g.Position(S,1)):s.posx>a.x+a.width?b.MouseTarget.createOutsideEditor(f,new g.Position(S,l.getLineMaxColumn(S))):null}_findMousePosition(s,a){const l=this._getPositionOutsideEditor(s);if(l)return l;const h=this._createMouseTarget(s,a);if(!h.position)return null;if(h.type===8||h.type===5){const S=this._helpPositionJumpOverViewZone(h.detail);if(S)return b.MouseTarget.createViewZone(h.type,h.element,h.mouseColumn,S,h.detail)}return h}_helpPositionJumpOverViewZone(s){const a=new g.Position(this._currentSelection.selectionStartLineNumber,this._currentSelection.selectionStartColumn),l=s.positionBefore,h=s.positionAfter;return l&&h?l.isBefore(a)?l:h:null}_dispatchMouse(s,a){!s.position||this._viewController.dispatchMouse({position:s.position,mouseColumn:s.mouseColumn,startedOnLineNumbers:this._mouseState.startedOnLineNumbers,inSelectionMode:a,mouseDownCount:this._mouseState.count,altKey:this._mouseState.altKey,ctrlKey:this._mouseState.ctrlKey,metaKey:this._mouseState.metaKey,shiftKey:this._mouseState.shiftKey,leftButton:this._mouseState.leftButton,middleButton:this._mouseState.middleButton,onInjectedText:s.type===6&&s.detail.injectedText!==null})}}class d{constructor(){this._altKey=!1,this._ctrlKey=!1,this._metaKey=!1,this._shiftKey=!1,this._leftButton=!1,this._middleButton=!1,this._startedOnLineNumbers=!1,this._lastMouseDownPosition=null,this._lastMouseDownPositionEqualCount=0,this._lastMouseDownCount=0,this._lastSetMouseDownCountTime=0,this.isDragAndDrop=!1}get altKey(){return this._altKey}get ctrlKey(){return this._ctrlKey}get metaKey(){return this._metaKey}get shiftKey(){return this._shiftKey}get leftButton(){return this._leftButton}get middleButton(){return this._middleButton}get startedOnLineNumbers(){return this._startedOnLineNumbers}get count(){return this._lastMouseDownCount}setModifiers(s){this._altKey=s.altKey,this._ctrlKey=s.ctrlKey,this._metaKey=s.metaKey,this._shiftKey=s.shiftKey}setStartButtons(s){this._leftButton=s.leftButton,this._middleButton=s.middleButton}setStartedOnLineNumbers(s){this._startedOnLineNumbers=s}trySetCount(s,a){const l=new Date().getTime();l-this._lastSetMouseDownCountTime>d.CLEAR_MOUSE_DOWN_COUNT_TIME&&(s=1),this._lastSetMouseDownCountTime=l,s>this._lastMouseDownCount+1&&(s=this._lastMouseDownCount+1),this._lastMouseDownPosition&&this._lastMouseDownPosition.equals(a)?this._lastMouseDownPositionEqualCount++:this._lastMouseDownPositionEqualCount=1,this._lastMouseDownPosition=a,this._lastMouseDownCount=Math.min(s,this._lastMouseDownPositionEqualCount)}}d.CLEAR_MOUSE_DOWN_COUNT_TIME=400}),define(te[645],ie([1,0,7,16,60,2,644,133,167,178]),function(q,e,L,m,k,I,w,b,C,u){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PointerHandler=e.PointerEventHandler=void 0;class g extends w.MouseHandler{constructor(o,c,d){super(o,c,d);this._register(k.Gesture.addTarget(this.viewHelper.linesContentDomNode)),this._register(L.addDisposableListener(this.viewHelper.linesContentDomNode,k.EventType.Tap,s=>this.onTap(s))),this._register(L.addDisposableListener(this.viewHelper.linesContentDomNode,k.EventType.Change,s=>this.onChange(s))),this._register(L.addDisposableListener(this.viewHelper.linesContentDomNode,k.EventType.Contextmenu,s=>this._onContextMenu(new b.EditorMouseEvent(s,this.viewHelper.viewDomNode),!1))),this._lastPointerType="mouse",this._register(L.addDisposableListener(this.viewHelper.linesContentDomNode,"pointerdown",s=>{const a=s.pointerType;if(a==="mouse"){this._lastPointerType="mouse";return}else a==="touch"?this._lastPointerType="touch":this._lastPointerType="pen"}));const r=new b.EditorPointerEventFactory(this.viewHelper.viewDomNode);this._register(r.onPointerMoveThrottled(this.viewHelper.viewDomNode,s=>this._onMouseMove(s),(0,w.createMouseMoveEventMerger)(this.mouseTargetFactory),w.MouseHandler.MOUSE_MOVE_MINIMUM_TIME)),this._register(r.onPointerUp(this.viewHelper.viewDomNode,s=>this._onMouseUp(s))),this._register(r.onPointerLeave(this.viewHelper.viewDomNode,s=>this._onMouseLeave(s))),this._register(r.onPointerDown(this.viewHelper.viewDomNode,s=>this._onMouseDown(s)))}onTap(o){if(!o.initialTarget||!this.viewHelper.linesContentDomNode.contains(o.initialTarget))return;o.preventDefault(),this.viewHelper.focusTextArea();const c=this._createMouseTarget(new b.EditorMouseEvent(o,this.viewHelper.viewDomNode),!1);c.position&&this.viewController.dispatchMouse({position:c.position,mouseColumn:c.position.column,startedOnLineNumbers:!1,mouseDownCount:o.tapCount,inSelectionMode:!1,altKey:!1,ctrlKey:!1,metaKey:!1,shiftKey:!1,leftButton:!1,middleButton:!1,onInjectedText:c.type===6&&c.detail.injectedText!==null})}onChange(o){this._lastPointerType==="touch"&&this._context.viewModel.viewLayout.deltaScrollNow(-o.translationX,-o.translationY)}_onMouseDown(o){o.browserEvent.pointerType!=="touch"&&super._onMouseDown(o)}}e.PointerEventHandler=g;class t extends w.MouseHandler{constructor(o,c,d){super(o,c,d);this._register(k.Gesture.addTarget(this.viewHelper.linesContentDomNode)),this._register(L.addDisposableListener(this.viewHelper.linesContentDomNode,k.EventType.Tap,r=>this.onTap(r))),this._register(L.addDisposableListener(this.viewHelper.linesContentDomNode,k.EventType.Change,r=>this.onChange(r))),this._register(L.addDisposableListener(this.viewHelper.linesContentDomNode,k.EventType.Contextmenu,r=>this._onContextMenu(new b.EditorMouseEvent(r,this.viewHelper.viewDomNode),!1)))}onTap(o){o.preventDefault(),this.viewHelper.focusTextArea();const c=this._createMouseTarget(new b.EditorMouseEvent(o,this.viewHelper.viewDomNode),!1);if(c.position){const d=document.createEvent("CustomEvent");d.initEvent(u.TextAreaSyntethicEvents.Tap,!1,!0),this.viewHelper.dispatchTextAreaEvent(d),this.viewController.moveTo(c.position)}}onChange(o){this._context.viewModel.viewLayout.deltaScrollNow(-o.translationX,-o.translationY)}}class n extends I.Disposable{constructor(o,c,d){super();m.isIOS&&C.BrowserFeatures.pointerEvents?this.handler=this._register(new g(o,c,d)):window.TouchEvent?this.handler=this._register(new t(o,c,d)):this.handler=this._register(new w.MouseHandler(o,c,d))}getTargetAtClientPoint(o,c){return this.handler.getTargetAtClientPoint(o,c)}}e.PointerHandler=n}),define(te[646],ie([1,0,16,10,64,179,51,284,11,3,118,144,359]),function(q,e,L,m,k,I,w,b,C,u,g,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewLines=void 0;class n{constructor(){this._currentVisibleRange=new u.Range(1,1,1,1)}getCurrentVisibleRange(){return this._currentVisibleRange}setCurrentVisibleRange(r){this._currentVisibleRange=r}}class i{constructor(r,s,a,l,h,f,S){this.minimalReveal=r,this.lineNumber=s,this.startColumn=a,this.endColumn=l,this.startScrollTop=h,this.stopScrollTop=f,this.scrollType=S,this.type="range",this.minLineNumber=s,this.maxLineNumber=s}}class o{constructor(r,s,a,l,h){this.minimalReveal=r,this.selections=s,this.startScrollTop=a,this.stopScrollTop=l,this.scrollType=h,this.type="selections";let f=s[0].startLineNumber,S=s[0].endLineNumber;for(let v=1,p=s.length;v<p;v++){const _=s[v];f=Math.min(f,_.startLineNumber),S=Math.max(S,_.endLineNumber)}this.minLineNumber=f,this.maxLineNumber=S}}class c extends w.ViewPart{constructor(r,s){super(r);this._linesContent=s,this._textRangeRestingSpot=document.createElement("div"),this._visibleLines=new I.VisibleLinesCollection(this),this.domNode=this._visibleLines.domNode;const a=this._context.configuration,l=this._context.configuration.options,h=l.get(44),f=l.get(132),S=l.get(131);this._lineHeight=l.get(59),this._typicalHalfwidthCharacterWidth=h.typicalHalfwidthCharacterWidth,this._isViewportWrapping=f.isViewportWrapping,this._revealHorizontalRightPadding=l.get(89),this._horizontalScrollbarHeight=S.horizontalScrollbarHeight,this._cursorSurroundingLines=l.get(25),this._cursorSurroundingLinesStyle=l.get(26),this._canUseLayerHinting=!l.get(28),this._viewLineOptions=new b.ViewLineOptions(a,this._context.theme.type),w.PartFingerprints.write(this.domNode,7),this.domNode.setClassName(`view-lines ${t.MOUSE_CURSOR_TEXT_CSS_CLASS_NAME}`),(0,k.applyFontInfo)(this.domNode,h),this._maxLineWidth=0,this._asyncUpdateLineWidths=new m.RunOnceScheduler(()=>{this._updateLineWidthsSlow()},200),this._asyncCheckMonospaceFontAssumptions=new m.RunOnceScheduler(()=>{this._checkMonospaceFontAssumptions()},2e3),this._lastRenderedData=new n,this._horizontalRevealRequest=null}dispose(){this._asyncUpdateLineWidths.dispose(),this._asyncCheckMonospaceFontAssumptions.dispose(),super.dispose()}getDomNode(){return this.domNode}createVisibleLine(){return new b.ViewLine(this._viewLineOptions)}onConfigurationChanged(r){this._visibleLines.onConfigurationChanged(r),r.hasChanged(132)&&(this._maxLineWidth=0);const s=this._context.configuration.options,a=s.get(44),l=s.get(132),h=s.get(131);return this._lineHeight=s.get(59),this._typicalHalfwidthCharacterWidth=a.typicalHalfwidthCharacterWidth,this._isViewportWrapping=l.isViewportWrapping,this._revealHorizontalRightPadding=s.get(89),this._horizontalScrollbarHeight=h.horizontalScrollbarHeight,this._cursorSurroundingLines=s.get(25),this._cursorSurroundingLinesStyle=s.get(26),this._canUseLayerHinting=!s.get(28),(0,k.applyFontInfo)(this.domNode,a),this._onOptionsMaybeChanged(),r.hasChanged(131)&&(this._maxLineWidth=0),!0}_onOptionsMaybeChanged(){const r=this._context.configuration,s=new b.ViewLineOptions(r,this._context.theme.type);if(!this._viewLineOptions.equals(s)){this._viewLineOptions=s;const a=this._visibleLines.getStartLineNumber(),l=this._visibleLines.getEndLineNumber();for(let h=a;h<=l;h++)this._visibleLines.getVisibleLine(h).onOptionsChanged(this._viewLineOptions);return!0}return!1}onCursorStateChanged(r){const s=this._visibleLines.getStartLineNumber(),a=this._visibleLines.getEndLineNumber();let l=!1;for(let h=s;h<=a;h++)l=this._visibleLines.getVisibleLine(h).onSelectionChanged()||l;return l}onDecorationsChanged(r){{const s=this._visibleLines.getStartLineNumber(),a=this._visibleLines.getEndLineNumber();for(let l=s;l<=a;l++)this._visibleLines.getVisibleLine(l).onDecorationsChanged()}return!0}onFlushed(r){const s=this._visibleLines.onFlushed(r);return this._maxLineWidth=0,s}onLinesChanged(r){return this._visibleLines.onLinesChanged(r)}onLinesDeleted(r){return this._visibleLines.onLinesDeleted(r)}onLinesInserted(r){return this._visibleLines.onLinesInserted(r)}onRevealRangeRequest(r){const s=this._computeScrollTopToRevealRange(this._context.viewLayout.getFutureViewport(),r.source,r.minimalReveal,r.range,r.selections,r.verticalType);if(s===-1)return!1;let a=this._context.viewLayout.validateScrollPosition({scrollTop:s});r.revealHorizontal?r.range&&r.range.startLineNumber!==r.range.endLineNumber?a={scrollTop:a.scrollTop,scrollLeft:0}:r.range?this._horizontalRevealRequest=new i(r.minimalReveal,r.range.startLineNumber,r.range.startColumn,r.range.endColumn,this._context.viewLayout.getCurrentScrollTop(),a.scrollTop,r.scrollType):r.selections&&r.selections.length>0&&(this._horizontalRevealRequest=new o(r.minimalReveal,r.selections,this._context.viewLayout.getCurrentScrollTop(),a.scrollTop,r.scrollType)):this._horizontalRevealRequest=null;const h=Math.abs(this._context.viewLayout.getCurrentScrollTop()-a.scrollTop)<=this._lineHeight?1:r.scrollType;return this._context.viewModel.viewLayout.setScrollPosition(a,h),!0}onScrollChanged(r){if(this._horizontalRevealRequest&&r.scrollLeftChanged&&(this._horizontalRevealRequest=null),this._horizontalRevealRequest&&r.scrollTopChanged){const s=Math.min(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop),a=Math.max(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop);(r.scrollTop<s||r.scrollTop>a)&&(this._horizontalRevealRequest=null)}return this.domNode.setWidth(r.scrollWidth),this._visibleLines.onScrollChanged(r)||!0}onTokensChanged(r){return this._visibleLines.onTokensChanged(r)}onZonesChanged(r){return this._context.viewModel.viewLayout.setMaxLineWidth(this._maxLineWidth),this._visibleLines.onZonesChanged(r)}onThemeChanged(r){return this._onOptionsMaybeChanged()}getPositionFromDOMInfo(r,s){const a=this._getViewLineDomNode(r);if(a===null)return null;const l=this._getLineNumberFor(a);if(l===-1||l<1||l>this._context.viewModel.getLineCount())return null;if(this._context.viewModel.getLineMaxColumn(l)===1)return new C.Position(l,1);const h=this._visibleLines.getStartLineNumber(),f=this._visibleLines.getEndLineNumber();if(l<h||l>f)return null;let S=this._visibleLines.getVisibleLine(l).getColumnOfNodeOffset(l,r,s);const v=this._context.viewModel.getLineMinColumn(l);return S<v&&(S=v),new C.Position(l,S)}_getViewLineDomNode(r){for(;r&&r.nodeType===1;){if(r.className===b.ViewLine.CLASS_NAME)return r;r=r.parentElement}return null}_getLineNumberFor(r){const s=this._visibleLines.getStartLineNumber(),a=this._visibleLines.getEndLineNumber();for(let l=s;l<=a;l++){const h=this._visibleLines.getVisibleLine(l);if(r===h.getDomNode())return l}return-1}getLineWidth(r){const s=this._visibleLines.getStartLineNumber(),a=this._visibleLines.getEndLineNumber();return r<s||r>a?-1:this._visibleLines.getVisibleLine(r).getWidth()}linesVisibleRangesForRange(r,s){if(this.shouldRender())return null;const a=r.endLineNumber,l=u.Range.intersectRanges(r,this._lastRenderedData.getCurrentVisibleRange());if(!l)return null;let h=[],f=0;const S=new b.DomReadingContext(this.domNode.domNode,this._textRangeRestingSpot);let v=0;s&&(v=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new C.Position(l.startLineNumber,1)).lineNumber);const p=this._visibleLines.getStartLineNumber(),_=this._visibleLines.getEndLineNumber();for(let y=l.startLineNumber;y<=l.endLineNumber;y++){if(y<p||y>_)continue;const E=y===l.startLineNumber?l.startColumn:1,N=y===l.endLineNumber?l.endColumn:this._context.viewModel.getLineMaxColumn(y),D=this._visibleLines.getVisibleLine(y).getVisibleRangesForRange(y,E,N,S);if(!!D){if(s&&y<a){const M=v;v=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new C.Position(y+1,1)).lineNumber,M!==v&&(D.ranges[D.ranges.length-1].width+=this._typicalHalfwidthCharacterWidth)}h[f++]=new g.LineVisibleRanges(D.outsideRenderedLine,y,g.HorizontalRange.from(D.ranges))}}return f===0?null:h}_visibleRangesForLineRange(r,s,a){return this.shouldRender()||r<this._visibleLines.getStartLineNumber()||r>this._visibleLines.getEndLineNumber()?null:this._visibleLines.getVisibleLine(r).getVisibleRangesForRange(r,s,a,new b.DomReadingContext(this.domNode.domNode,this._textRangeRestingSpot))}visibleRangeForPosition(r){const s=this._visibleRangesForLineRange(r.lineNumber,r.column,r.column);return s?new g.HorizontalPosition(s.outsideRenderedLine,s.ranges[0].left):null}updateLineWidths(){this._updateLineWidths(!1)}_updateLineWidthsFast(){return this._updateLineWidths(!0)}_updateLineWidthsSlow(){this._updateLineWidths(!1)}_updateLineWidths(r){const s=this._visibleLines.getStartLineNumber(),a=this._visibleLines.getEndLineNumber();let l=1,h=!0;for(let f=s;f<=a;f++){const S=this._visibleLines.getVisibleLine(f);if(r&&!S.getWidthIsFast()){h=!1;continue}l=Math.max(l,S.getWidth())}return h&&s===1&&a===this._context.viewModel.getLineCount()&&(this._maxLineWidth=0),this._ensureMaxLineWidth(l),h}_checkMonospaceFontAssumptions(){let r=-1,s=-1;const a=this._visibleLines.getStartLineNumber(),l=this._visibleLines.getEndLineNumber();for(let h=a;h<=l;h++){const f=this._visibleLines.getVisibleLine(h);if(f.needsMonospaceFontCheck()){const S=f.getWidth();S>s&&(s=S,r=h)}}if(r!==-1&&!this._visibleLines.getVisibleLine(r).monospaceAssumptionsAreValid())for(let h=a;h<=l;h++)this._visibleLines.getVisibleLine(h).onMonospaceAssumptionsInvalidated()}prepareRender(){throw new Error("Not supported")}render(){throw new Error("Not supported")}renderText(r){if(this._visibleLines.renderLines(r),this._lastRenderedData.setCurrentVisibleRange(r.visibleRange),this.domNode.setWidth(this._context.viewLayout.getScrollWidth()),this.domNode.setHeight(Math.min(this._context.viewLayout.getScrollHeight(),1e6)),this._horizontalRevealRequest){const a=this._horizontalRevealRequest;if(r.startLineNumber<=a.minLineNumber&&a.maxLineNumber<=r.endLineNumber){this._horizontalRevealRequest=null,this.onDidRender();const l=this._computeScrollLeftToReveal(a);l&&(this._isViewportWrapping||this._ensureMaxLineWidth(l.maxHorizontalOffset),this._context.viewModel.viewLayout.setScrollPosition({scrollLeft:l.scrollLeft},a.scrollType))}}if(this._updateLineWidthsFast()||this._asyncUpdateLineWidths.schedule(),L.isLinux&&!this._asyncCheckMonospaceFontAssumptions.isScheduled()){const a=this._visibleLines.getStartLineNumber(),l=this._visibleLines.getEndLineNumber();for(let h=a;h<=l;h++)if(this._visibleLines.getVisibleLine(h).needsMonospaceFontCheck()){this._asyncCheckMonospaceFontAssumptions.schedule();break}}this._linesContent.setLayerHinting(this._canUseLayerHinting),this._linesContent.setContain("strict");const s=this._context.viewLayout.getCurrentScrollTop()-r.bigNumbersDelta;this._linesContent.setTop(-s),this._linesContent.setLeft(-this._context.viewLayout.getCurrentScrollLeft())}_ensureMaxLineWidth(r){const s=Math.ceil(r);this._maxLineWidth<s&&(this._maxLineWidth=s,this._context.viewModel.viewLayout.setMaxLineWidth(this._maxLineWidth))}_computeScrollTopToRevealRange(r,s,a,l,h,f){const S=r.top,v=r.height,p=S+v;let _,y,E;if(h&&h.length>0){let M=h[0].startLineNumber,B=h[0].endLineNumber;for(let O=1,T=h.length;O<T;O++){const A=h[O];M=Math.min(M,A.startLineNumber),B=Math.max(B,A.endLineNumber)}_=!1,y=this._context.viewLayout.getVerticalOffsetForLineNumber(M),E=this._context.viewLayout.getVerticalOffsetForLineNumber(B)+this._lineHeight}else if(l)_=!0,y=this._context.viewLayout.getVerticalOffsetForLineNumber(l.startLineNumber),E=this._context.viewLayout.getVerticalOffsetForLineNumber(l.endLineNumber)+this._lineHeight;else return-1;if((s==="mouse"||a)&&this._cursorSurroundingLinesStyle==="default")a||(y-=this._lineHeight);else{const M=Math.min(v/this._lineHeight/2,this._cursorSurroundingLines);y-=M*this._lineHeight,E+=Math.max(0,M-1)*this._lineHeight}(f===0||f===4)&&(E+=a?this._horizontalScrollbarHeight:this._lineHeight);let D;if(E-y>v){if(!_)return-1;D=y}else if(f===5||f===6)if(f===6&&S<=y&&E<=p)D=S;else{const M=Math.max(5*this._lineHeight,v*.2),B=y-M,O=E-v;D=Math.max(O,B)}else if(f===1||f===2)if(f===2&&S<=y&&E<=p)D=S;else{const M=(y+E)/2;D=Math.max(0,M-v/2)}else D=this._computeMinimumScrolling(S,p,y,E,f===3,f===4);return D}_computeScrollLeftToReveal(r){const s=this._context.viewLayout.getCurrentViewport(),a=s.left,l=a+s.width;let h=1073741824,f=0;if(r.type==="range"){const v=this._visibleRangesForLineRange(r.lineNumber,r.startColumn,r.endColumn);if(!v)return null;for(const p of v.ranges)h=Math.min(h,Math.round(p.left)),f=Math.max(f,Math.round(p.left+p.width))}else for(const v of r.selections){if(v.startLineNumber!==v.endLineNumber)return null;const p=this._visibleRangesForLineRange(v.startLineNumber,v.startColumn,v.endColumn);if(!p)return null;for(const _ of p.ranges)h=Math.min(h,Math.round(_.left)),f=Math.max(f,Math.round(_.left+_.width))}return r.minimalReveal||(h=Math.max(0,h-c.HORIZONTAL_EXTRA_PX),f+=this._revealHorizontalRightPadding),r.type==="selections"&&f-h>s.width?null:{scrollLeft:this._computeMinimumScrolling(a,l,h,f),maxHorizontalOffset:f}}_computeMinimumScrolling(r,s,a,l,h,f){r=r|0,s=s|0,a=a|0,l=l|0,h=!!h,f=!!f;const S=s-r;if(l-a<S){if(h)return a;if(f)return Math.max(0,l-S);if(a<r)return a;if(l>s)return Math.max(0,l-S)}else return a;return r}}e.ViewLines=c,c.HORIZONTAL_EXTRA_PX=30}),define(te[14],ie([1,0,28,4,2,9,36,135]),function(q,e,L,m,k,I,w,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Themable=e.registerThemingParticipant=e.Extensions=e.getThemeTypeSelector=e.ThemeIcon=e.themeColorFromId=e.ThemeColor=e.IThemeService=void 0,e.IThemeService=(0,I.createDecorator)("themeService");var C;(function(d){function r(s){return s&&typeof s=="object"&&typeof s.id=="string"}d.isThemeColor=r})(C=e.ThemeColor||(e.ThemeColor={}));function u(d){return{id:d}}e.themeColorFromId=u;var g;(function(d){function r(p){return p&&typeof p=="object"&&typeof p.id=="string"&&(typeof p.color=="undefined"||C.isThemeColor(p.color))}d.isThemeIcon=r;const s=new RegExp(`^\\$\\((${L.CSSIcon.iconNameExpression}(?:${L.CSSIcon.iconModifierExpression})?)\\)$`);function a(p){const _=s.exec(p);if(!_)return;let[,y]=_;return{id:y}}d.fromString=a;function l(p){return{id:p}}d.fromId=l;function h(p,_){let y=p.id;const E=y.lastIndexOf("~");return E!==-1&&(y=y.substring(0,E)),_&&(y=`${y}~${_}`),{id:y}}d.modify=h;function f(p){const _=p.id.lastIndexOf("~");if(_!==-1)return p.id.substring(_+1)}d.getModifier=f;function S(p,_){var y,E;return p.id===_.id&&((y=p.color)===null||y===void 0?void 0:y.id)===((E=_.color)===null||E===void 0?void 0:E.id)}d.isEqual=S;function v(p,_){return{id:p.id,color:_?u(_):void 0}}d.asThemeIcon=v,d.asClassNameArray=L.CSSIcon.asClassNameArray,d.asClassName=L.CSSIcon.asClassName,d.asCSSSelector=L.CSSIcon.asCSSSelector})(g=e.ThemeIcon||(e.ThemeIcon={}));function t(d){switch(d){case b.ColorScheme.DARK:return"vs-dark";case b.ColorScheme.HIGH_CONTRAST:return"hc-black";default:return"vs"}}e.getThemeTypeSelector=t,e.Extensions={ThemingContribution:"base.contributions.theming"};class n{constructor(){this.themingParticipants=[],this.themingParticipants=[],this.onThemingParticipantAddedEmitter=new m.Emitter}onColorThemeChange(r){return this.themingParticipants.push(r),this.onThemingParticipantAddedEmitter.fire(r),(0,k.toDisposable)(()=>{const s=this.themingParticipants.indexOf(r);this.themingParticipants.splice(s,1)})}getThemingParticipants(){return this.themingParticipants}}let i=new n;w.Registry.add(e.Extensions.ThemingContribution,i);function o(d){return i.onColorThemeChange(d)}e.registerThemingParticipant=o;class c extends k.Disposable{constructor(r){super();this.themeService=r,this.theme=r.getColorTheme(),this._register(this.themeService.onDidColorThemeChange(s=>this.onThemeChange(s)))}onThemeChange(r){this.theme=r,this.updateStyles()}updateStyles(){}}e.Themable=c}),define(te[647],ie([1,0,4,2,14]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GlobalStyleSheet=e.AbstractCodeEditorService=void 0;let I=class extends m.Disposable{constructor(C){super();this._themeService=C,this._onCodeEditorAdd=this._register(new L.Emitter),this.onCodeEditorAdd=this._onCodeEditorAdd.event,this._onCodeEditorRemove=this._register(new L.Emitter),this.onCodeEditorRemove=this._onCodeEditorRemove.event,this._onDiffEditorAdd=this._register(new L.Emitter),this.onDiffEditorAdd=this._onDiffEditorAdd.event,this._onDiffEditorRemove=this._register(new L.Emitter),this.onDiffEditorRemove=this._onDiffEditorRemove.event,this._decorationOptionProviders=new Map,this._modelProperties=new Map,this._codeEditors=Object.create(null),this._diffEditors=Object.create(null),this._globalStyleSheet=null}addCodeEditor(C){this._codeEditors[C.getId()]=C,this._onCodeEditorAdd.fire(C)}removeCodeEditor(C){delete this._codeEditors[C.getId()]&&this._onCodeEditorRemove.fire(C)}listCodeEditors(){return Object.keys(this._codeEditors).map(C=>this._codeEditors[C])}addDiffEditor(C){this._diffEditors[C.getId()]=C,this._onDiffEditorAdd.fire(C)}removeDiffEditor(C){delete this._diffEditors[C.getId()]&&this._onDiffEditorRemove.fire(C)}listDiffEditors(){return Object.keys(this._diffEditors).map(C=>this._diffEditors[C])}getFocusedCodeEditor(){let C=null;const u=this.listCodeEditors();for(const g of u){if(g.hasTextFocus())return g;g.hasWidgetFocus()&&(C=g)}return C}removeDecorationType(C){const u=this._decorationOptionProviders.get(C);u&&(u.refCount--,u.refCount<=0&&(this._decorationOptionProviders.delete(C),u.dispose(),this.listCodeEditors().forEach(g=>g.removeDecorations(C))))}setModelProperty(C,u,g){const t=C.toString();let n;this._modelProperties.has(t)?n=this._modelProperties.get(t):(n=new Map,this._modelProperties.set(t,n)),n.set(u,g)}getModelProperty(C,u){const g=C.toString();if(this._modelProperties.has(g))return this._modelProperties.get(g).get(u)}};I=Ie([pe(0,k.IThemeService)],I),e.AbstractCodeEditorService=I;class w{constructor(C){this._styleSheet=C}}e.GlobalStyleSheet=w}),define(te[648],ie([1,0,7,31,69,51,14,23]),function(q,e,L,m,k,I,w,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EditorScrollbar=void 0;class C extends I.ViewPart{constructor(g,t,n,i){super(g);const o=this._context.configuration.options,c=o.get(92),d=o.get(67),r=o.get(34),s=o.get(95),a={listenOnDomNode:n.domNode,className:"editor-scrollable "+(0,w.getThemeTypeSelector)(g.theme.type),useShadows:!1,lazyRender:!0,vertical:c.vertical,horizontal:c.horizontal,verticalHasArrows:c.verticalHasArrows,horizontalHasArrows:c.horizontalHasArrows,verticalScrollbarSize:c.verticalScrollbarSize,verticalSliderSize:c.verticalSliderSize,horizontalScrollbarSize:c.horizontalScrollbarSize,horizontalSliderSize:c.horizontalSliderSize,handleMouseWheel:c.handleMouseWheel,alwaysConsumeMouseWheel:c.alwaysConsumeMouseWheel,arrowSize:c.arrowSize,mouseWheelScrollSensitivity:d,fastScrollSensitivity:r,scrollPredominantAxis:s,scrollByPage:c.scrollByPage};this.scrollbar=this._register(new k.SmoothScrollableElement(t.domNode,a,this._context.viewLayout.getScrollable())),I.PartFingerprints.write(this.scrollbar.getDomNode(),5),this.scrollbarDomNode=(0,m.createFastDomNode)(this.scrollbar.getDomNode()),this.scrollbarDomNode.setPosition("absolute"),this._setLayout();const l=(h,f,S)=>{const v={};if(f){const p=h.scrollTop;p&&(v.scrollTop=this._context.viewLayout.getCurrentScrollTop()+p,h.scrollTop=0)}if(S){const p=h.scrollLeft;p&&(v.scrollLeft=this._context.viewLayout.getCurrentScrollLeft()+p,h.scrollLeft=0)}this._context.viewModel.viewLayout.setScrollPosition(v,1)};this._register(L.addDisposableListener(n.domNode,"scroll",h=>l(n.domNode,!0,!0))),this._register(L.addDisposableListener(t.domNode,"scroll",h=>l(t.domNode,!0,!1))),this._register(L.addDisposableListener(i.domNode,"scroll",h=>l(i.domNode,!0,!1))),this._register(L.addDisposableListener(this.scrollbarDomNode.domNode,"scroll",h=>l(this.scrollbarDomNode.domNode,!0,!1)))}dispose(){super.dispose()}_setLayout(){const g=this._context.configuration.options,t=g.get(131);this.scrollbarDomNode.setLeft(t.contentLeft),g.get(65).side==="right"?this.scrollbarDomNode.setWidth(t.contentWidth+t.minimap.minimapWidth):this.scrollbarDomNode.setWidth(t.contentWidth),this.scrollbarDomNode.setHeight(t.height)}getOverviewRulerLayoutInfo(){return this.scrollbar.getOverviewRulerLayoutInfo()}getDomNode(){return this.scrollbarDomNode}delegateVerticalScrollbarMouseDown(g){this.scrollbar.delegateVerticalScrollbarMouseDown(g)}onConfigurationChanged(g){if(g.hasChanged(92)||g.hasChanged(67)||g.hasChanged(34)){const t=this._context.configuration.options,n=t.get(92),i=t.get(67),o=t.get(34),c=t.get(95),d={vertical:n.vertical,horizontal:n.horizontal,verticalScrollbarSize:n.verticalScrollbarSize,horizontalScrollbarSize:n.horizontalScrollbarSize,scrollByPage:n.scrollByPage,handleMouseWheel:n.handleMouseWheel,mouseWheelScrollSensitivity:i,fastScrollSensitivity:o,scrollPredominantAxis:c};this.scrollbar.updateOptions(d)}return g.hasChanged(131)&&this._setLayout(),!0}onScrollChanged(g){return!0}onThemeChanged(g){return this.scrollbar.updateClassName("editor-scrollable "+(0,w.getThemeTypeSelector)(this._context.theme.type)),!0}prepareRender(g){}render(g){this.scrollbar.renderNow()}}e.EditorScrollbar=C,(0,w.registerThemingParticipant)((u,g)=>{const t=u.getColor(b.scrollbarShadow);t&&g.addRule(`
+			.monaco-scrollable-element > .shadow.top {
+				box-shadow: ${t} 0 6px 6px -6px inset;
+			}
+
+			.monaco-scrollable-element > .shadow.left {
+				box-shadow: ${t} 6px 0 6px -6px inset;
+			}
+
+			.monaco-scrollable-element > .shadow.top.left {
+				box-shadow: ${t} 6px 6px 6px -6px inset;
+			}
+		`);const n=u.getColor(b.scrollbarSliderBackground);n&&g.addRule(`
+			.monaco-scrollable-element > .scrollbar > .slider {
+				background: ${n};
+			}
+		`);const i=u.getColor(b.scrollbarSliderHoverBackground);i&&g.addRule(`
+			.monaco-scrollable-element > .scrollbar > .slider:hover {
+				background: ${i};
+			}
+		`);const o=u.getColor(b.scrollbarSliderActiveBackground);o&&g.addRule(`
+			.monaco-scrollable-element > .scrollbar > .slider.active {
+				background: ${o};
+			}
+		`)})}),define(te[649],ie([1,0,7,31,98,2,16,8,179,51,32,3,239,255,71,23,14,22,60,404,50,91,362]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s,a,l,h){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Minimap=void 0;const f=140,S=2;class v{constructor(T,A,P){const F=T.options,W=F.get(129),R=F.get(131),z=R.minimap,j=F.get(44),$=F.get(65);this.renderMinimap=z.renderMinimap,this.size=$.size,this.minimapHeightIsEditorHeight=z.minimapHeightIsEditorHeight,this.scrollBeyondLastLine=F.get(94),this.showSlider=$.showSlider,this.pixelRatio=W,this.typicalHalfwidthCharacterWidth=j.typicalHalfwidthCharacterWidth,this.lineHeight=F.get(59),this.minimapLeft=z.minimapLeft,this.minimapWidth=z.minimapWidth,this.minimapHeight=R.height,this.canvasInnerWidth=z.minimapCanvasInnerWidth,this.canvasInnerHeight=z.minimapCanvasInnerHeight,this.canvasOuterWidth=z.minimapCanvasOuterWidth,this.canvasOuterHeight=z.minimapCanvasOuterHeight,this.isSampling=z.minimapIsSampling,this.editorHeight=R.height,this.fontScale=z.minimapScale,this.minimapLineHeight=z.minimapLineHeight,this.minimapCharWidth=1*this.fontScale,this.charRenderer=(0,h.once)(()=>a.MinimapCharRendererFactory.create(this.fontScale,j.fontFamily)),this.defaultBackgroundColor=P.getColor(2),this.backgroundColor=v._getMinimapBackground(A,this.defaultBackgroundColor),this.foregroundAlpha=v._getMinimapForegroundOpacity(A)}static _getMinimapBackground(T,A){const P=T.getColor(c.minimapBackground);return P?new n.RGBA8(P.rgba.r,P.rgba.g,P.rgba.b,Math.round(255*P.rgba.a)):A}static _getMinimapForegroundOpacity(T){const A=T.getColor(c.minimapForegroundOpacity);return A?n.RGBA8._clamp(Math.round(255*A.rgba.a)):255}equals(T){return this.renderMinimap===T.renderMinimap&&this.size===T.size&&this.minimapHeightIsEditorHeight===T.minimapHeightIsEditorHeight&&this.scrollBeyondLastLine===T.scrollBeyondLastLine&&this.showSlider===T.showSlider&&this.pixelRatio===T.pixelRatio&&this.typicalHalfwidthCharacterWidth===T.typicalHalfwidthCharacterWidth&&this.lineHeight===T.lineHeight&&this.minimapLeft===T.minimapLeft&&this.minimapWidth===T.minimapWidth&&this.minimapHeight===T.minimapHeight&&this.canvasInnerWidth===T.canvasInnerWidth&&this.canvasInnerHeight===T.canvasInnerHeight&&this.canvasOuterWidth===T.canvasOuterWidth&&this.canvasOuterHeight===T.canvasOuterHeight&&this.isSampling===T.isSampling&&this.editorHeight===T.editorHeight&&this.fontScale===T.fontScale&&this.minimapLineHeight===T.minimapLineHeight&&this.minimapCharWidth===T.minimapCharWidth&&this.defaultBackgroundColor&&this.defaultBackgroundColor.equals(T.defaultBackgroundColor)&&this.backgroundColor&&this.backgroundColor.equals(T.backgroundColor)&&this.foregroundAlpha===T.foregroundAlpha}}class p{constructor(T,A,P,F,W,R,z,j){this.scrollTop=T,this.scrollHeight=A,this.sliderNeeded=P,this._computedSliderRatio=F,this.sliderTop=W,this.sliderHeight=R,this.startLineNumber=z,this.endLineNumber=j}getDesiredScrollTopFromDelta(T){return Math.round(this.scrollTop+T/this._computedSliderRatio)}getDesiredScrollTopFromTouchLocation(T){return Math.round((T-this.sliderHeight/2)/this._computedSliderRatio)}static create(T,A,P,F,W,R,z,j,$,G,J){const re=T.pixelRatio,se=T.minimapLineHeight,Z=Math.floor(T.canvasInnerHeight/se),V=T.lineHeight;if(T.minimapHeightIsEditorHeight){const ue=j*T.lineHeight+(T.scrollBeyondLastLine?W-T.lineHeight:0),le=Math.max(1,Math.floor(W*W/ue)),x=Math.max(0,T.minimapHeight-le),H=x/(G-W),U=$*H,Q=x>0,Y=Math.floor(T.canvasInnerHeight/T.minimapLineHeight);return new p($,G,Q,H,U,le,1,Math.min(z,Y))}let K;if(R&&P!==z){const ue=P-A+1;K=Math.floor(ue*se/re)}else{const ue=W/V;K=Math.floor(ue*se/re)}let X;T.scrollBeyondLastLine?X=(z-1)*se/re:X=Math.max(0,z*se/re-K),X=Math.min(T.minimapHeight-K,X);const oe=X/(G-W),ae=$*oe;let ee=0;if(T.scrollBeyondLastLine&&(ee=W/V-1),Z>=z+ee){const ue=1,le=z,x=X>0;return new p($,G,x,oe,ae,K,ue,le)}else{let ue=Math.max(1,Math.floor(A-ae*re/se));J&&J.scrollHeight===G&&(J.scrollTop>$&&(ue=Math.min(ue,J.startLineNumber)),J.scrollTop<$&&(ue=Math.max(ue,J.startLineNumber)));const le=Math.min(z,ue+Z-1),x=($-F)/V,H=(A-ue+x)*se/re;return new p($,G,!0,oe,H,K,ue,le)}}}class _{constructor(T){this.dy=T}onContentChanged(){this.dy=-1}onTokensChanged(){this.dy=-1}}_.INVALID=new _(-1);class y{constructor(T,A,P){this.renderedLayout=T,this._imageData=A,this._renderedLines=new C.RenderedLinesCollection(()=>_.INVALID),this._renderedLines._set(T.startLineNumber,P)}linesEquals(T){if(!this.scrollEquals(T))return!1;const P=this._renderedLines._get().lines;for(let F=0,W=P.length;F<W;F++)if(P[F].dy===-1)return!1;return!0}scrollEquals(T){return this.renderedLayout.startLineNumber===T.startLineNumber&&this.renderedLayout.endLineNumber===T.endLineNumber}_get(){const T=this._renderedLines._get();return{imageData:this._imageData,rendLineNumberStart:T.rendLineNumberStart,lines:T.lines}}onLinesChanged(T,A){return this._renderedLines.onLinesChanged(T,A)}onLinesDeleted(T,A){this._renderedLines.onLinesDeleted(T,A)}onLinesInserted(T,A){this._renderedLines.onLinesInserted(T,A)}onTokensChanged(T){return this._renderedLines.onTokensChanged(T)}}class E{constructor(T,A,P,F){this._backgroundFillData=E._createBackgroundFillData(A,P,F),this._buffers=[T.createImageData(A,P),T.createImageData(A,P)],this._lastUsedBuffer=0}getBuffer(){this._lastUsedBuffer=1-this._lastUsedBuffer;const T=this._buffers[this._lastUsedBuffer];return T.data.set(this._backgroundFillData),T}static _createBackgroundFillData(T,A,P){const F=P.r,W=P.g,R=P.b,z=P.a,j=new Uint8ClampedArray(T*A*4);let $=0;for(let G=0;G<A;G++)for(let J=0;J<T;J++)j[$]=F,j[$+1]=W,j[$+2]=R,j[$+3]=z,$+=4;return j}}class N{constructor(T,A){this.samplingRatio=T,this.minimapLines=A}static compute(T,A,P){if(T.renderMinimap===0||!T.isSampling)return[null,[]];const F=T.pixelRatio,W=T.lineHeight,R=T.scrollBeyondLastLine,{minimapLineCount:z}=g.EditorLayoutInfoComputer.computeContainedMinimapLineCount({viewLineCount:A,scrollBeyondLastLine:R,height:T.editorHeight,lineHeight:W,pixelRatio:F}),j=A/z,$=j/2;if(!P||P.minimapLines.length===0){const ae=[];if(ae[0]=1,z>1){for(let ee=0,ue=z-1;ee<ue;ee++)ae[ee]=Math.round(ee*j+$);ae[z-1]=A}return[new N(j,ae),[]]}const G=P.minimapLines,J=G.length,re=[];let se=0,Z=0,V=1;const K=10;let X=[],oe=null;for(let ae=0;ae<z;ae++){const ee=Math.max(V,Math.round(ae*j)),ue=Math.max(ee,Math.round((ae+1)*j));for(;se<J&&G[se]<ee;){if(X.length<K){const x=se+1+Z;oe&&oe.type==="deleted"&&oe._oldIndex===se-1?oe.deleteToLineNumber++:(oe={type:"deleted",_oldIndex:se,deleteFromLineNumber:x,deleteToLineNumber:x},X.push(oe)),Z--}se++}let le;if(se<J&&G[se]<=ue)le=G[se],se++;else if(ae===0?le=1:ae+1===z?le=A:le=Math.round(ae*j+$),X.length<K){const x=se+1+Z;oe&&oe.type==="inserted"&&oe._i===ae-1?oe.insertToLineNumber++:(oe={type:"inserted",_i:ae,insertFromLineNumber:x,insertToLineNumber:x},X.push(oe)),Z++}re[ae]=le,V=le}if(X.length<K)for(;se<J;){const ae=se+1+Z;oe&&oe.type==="deleted"&&oe._oldIndex===se-1?oe.deleteToLineNumber++:(oe={type:"deleted",_oldIndex:se,deleteFromLineNumber:ae,deleteToLineNumber:ae},X.push(oe)),Z--,se++}else X=[{type:"flush"}];return[new N(j,re),X]}modelLineToMinimapLine(T){return Math.min(this.minimapLines.length,Math.max(1,Math.round(T/this.samplingRatio)))}modelLineRangeToMinimapLineRange(T,A){let P=this.modelLineToMinimapLine(T)-1;for(;P>0&&this.minimapLines[P-1]>=T;)P--;let F=this.modelLineToMinimapLine(A)-1;for(;F+1<this.minimapLines.length&&this.minimapLines[F+1]<=A;)F++;if(P===F){const W=this.minimapLines[P];if(W<T||W>A)return null}return[P+1,F+1]}decorationLineRangeToMinimapLineRange(T,A){let P=this.modelLineToMinimapLine(T),F=this.modelLineToMinimapLine(A);return T!==A&&F===P&&(F===this.minimapLines.length?P>1&&P--:F++),[P,F]}onLinesDeleted(T){const A=T.toLineNumber-T.fromLineNumber+1;let P=this.minimapLines.length,F=0;for(let W=this.minimapLines.length-1;W>=0&&!(this.minimapLines[W]<T.fromLineNumber);W--)this.minimapLines[W]<=T.toLineNumber?(this.minimapLines[W]=Math.max(1,T.fromLineNumber-1),P=Math.min(P,W),F=Math.max(F,W)):this.minimapLines[W]-=A;return[P,F]}onLinesInserted(T){const A=T.toLineNumber-T.fromLineNumber+1;for(let P=this.minimapLines.length-1;P>=0&&!(this.minimapLines[P]<T.fromLineNumber);P--)this.minimapLines[P]+=A}}class D extends u.ViewPart{constructor(T){super(T);this.tokensColorTracker=i.MinimapTokensColorTracker.getInstance(),this._selections=[],this._minimapSelections=null,this.options=new v(this._context.configuration,this._context.theme,this.tokensColorTracker);const[A]=N.compute(this.options,this._context.viewModel.getLineCount(),null);this._samplingState=A,this._shouldCheckSampling=!1,this._actual=new M(T.theme,this)}dispose(){this._actual.dispose(),super.dispose()}getDomNode(){return this._actual.getDomNode()}_onOptionsMaybeChanged(){const T=new v(this._context.configuration,this._context.theme,this.tokensColorTracker);return this.options.equals(T)?!1:(this.options=T,this._recreateLineSampling(),this._actual.onDidChangeOptions(),!0)}onConfigurationChanged(T){return this._onOptionsMaybeChanged()}onCursorStateChanged(T){return this._selections=T.selections,this._minimapSelections=null,this._actual.onSelectionChanged()}onDecorationsChanged(T){return T.affectsMinimap?this._actual.onDecorationsChanged():!1}onFlushed(T){return this._samplingState&&(this._shouldCheckSampling=!0),this._actual.onFlushed()}onLinesChanged(T){if(this._samplingState){const A=this._samplingState.modelLineRangeToMinimapLineRange(T.fromLineNumber,T.toLineNumber);return A?this._actual.onLinesChanged(A[0],A[1]):!1}else return this._actual.onLinesChanged(T.fromLineNumber,T.toLineNumber)}onLinesDeleted(T){if(this._samplingState){const[A,P]=this._samplingState.onLinesDeleted(T);return A<=P&&this._actual.onLinesChanged(A+1,P+1),this._shouldCheckSampling=!0,!0}else return this._actual.onLinesDeleted(T.fromLineNumber,T.toLineNumber)}onLinesInserted(T){return this._samplingState?(this._samplingState.onLinesInserted(T),this._shouldCheckSampling=!0,!0):this._actual.onLinesInserted(T.fromLineNumber,T.toLineNumber)}onScrollChanged(T){return this._actual.onScrollChanged()}onThemeChanged(T){return this._actual.onThemeChanged(),this._onOptionsMaybeChanged(),!0}onTokensChanged(T){if(this._samplingState){const A=[];for(const P of T.ranges){const F=this._samplingState.modelLineRangeToMinimapLineRange(P.fromLineNumber,P.toLineNumber);F&&A.push({fromLineNumber:F[0],toLineNumber:F[1]})}return A.length?this._actual.onTokensChanged(A):!1}else return this._actual.onTokensChanged(T.ranges)}onTokensColorsChanged(T){return this._onOptionsMaybeChanged(),this._actual.onTokensColorsChanged()}onZonesChanged(T){return this._actual.onZonesChanged()}prepareRender(T){this._shouldCheckSampling&&(this._shouldCheckSampling=!1,this._recreateLineSampling())}render(T){let A=T.visibleRange.startLineNumber,P=T.visibleRange.endLineNumber;this._samplingState&&(A=this._samplingState.modelLineToMinimapLine(A),P=this._samplingState.modelLineToMinimapLine(P));const F={viewportContainsWhitespaceGaps:T.viewportData.whitespaceViewportData.length>0,scrollWidth:T.scrollWidth,scrollHeight:T.scrollHeight,viewportStartLineNumber:A,viewportEndLineNumber:P,viewportStartLineNumberVerticalOffset:T.getVerticalOffsetForLineNumber(A),scrollTop:T.scrollTop,scrollLeft:T.scrollLeft,viewportWidth:T.viewportWidth,viewportHeight:T.viewportHeight};this._actual.render(F)}_recreateLineSampling(){this._minimapSelections=null;const T=Boolean(this._samplingState),[A,P]=N.compute(this.options,this._context.viewModel.getLineCount(),this._samplingState);if(this._samplingState=A,T&&this._samplingState)for(const F of P)switch(F.type){case"deleted":this._actual.onLinesDeleted(F.deleteFromLineNumber,F.deleteToLineNumber);break;case"inserted":this._actual.onLinesInserted(F.insertFromLineNumber,F.insertToLineNumber);break;case"flush":this._actual.onFlushed();break}}getLineCount(){return this._samplingState?this._samplingState.minimapLines.length:this._context.viewModel.getLineCount()}getRealLineCount(){return this._context.viewModel.getLineCount()}getLineContent(T){return this._samplingState?this._context.viewModel.getLineContent(this._samplingState.minimapLines[T-1]):this._context.viewModel.getLineContent(T)}getLineMaxColumn(T){return this._samplingState?this._context.viewModel.getLineMaxColumn(this._samplingState.minimapLines[T-1]):this._context.viewModel.getLineMaxColumn(T)}getMinimapLinesRenderingData(T,A,P){if(this._samplingState){const F=[];for(let W=0,R=A-T+1;W<R;W++)P[W]?F[W]=this._context.viewModel.getViewLineData(this._samplingState.minimapLines[T+W-1]):F[W]=null;return F}return this._context.viewModel.getMinimapLinesRenderingData(T,A,P).data}getSelections(){if(this._minimapSelections===null)if(this._samplingState){this._minimapSelections=[];for(const T of this._selections){const[A,P]=this._samplingState.decorationLineRangeToMinimapLineRange(T.startLineNumber,T.endLineNumber);this._minimapSelections.push(new r.Selection(A,T.startColumn,P,T.endColumn))}}else this._minimapSelections=this._selections;return this._minimapSelections}getMinimapDecorationsInViewport(T,A){let P;if(this._samplingState){const W=this._samplingState.minimapLines[T-1],R=this._samplingState.minimapLines[A-1];P=new t.Range(W,1,R,this._context.viewModel.getLineMaxColumn(R))}else P=new t.Range(T,1,A,this._context.viewModel.getLineMaxColumn(A));const F=this._context.viewModel.getDecorationsInViewport(P);if(this._samplingState){const W=[];for(const R of F){if(!R.options.minimap)continue;const z=R.range,j=this._samplingState.modelLineToMinimapLine(z.startLineNumber),$=this._samplingState.modelLineToMinimapLine(z.endLineNumber);W.push(new o.ViewModelDecoration(new t.Range(j,z.startColumn,$,z.endColumn),R.options))}return W}return F}getOptions(){return this._context.viewModel.model.getOptions()}revealLineNumber(T){this._samplingState&&(T=this._samplingState.minimapLines[T-1]),this._context.viewModel.revealRange("mouse",!1,new t.Range(T,1,T,1),1,0)}setScrollTop(T){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:T},1)}}e.Minimap=D;class M extends I.Disposable{constructor(T,A){super();this._renderDecorations=!1,this._gestureInProgress=!1,this._theme=T,this._model=A,this._lastRenderData=null,this._buffers=null,this._selectionColor=this._theme.getColor(c.minimapSelection),this._domNode=(0,m.createFastDomNode)(document.createElement("div")),u.PartFingerprints.write(this._domNode,8),this._domNode.setClassName(this._getMinimapDomNodeClassName()),this._domNode.setPosition("absolute"),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._shadow=(0,m.createFastDomNode)(document.createElement("div")),this._shadow.setClassName("minimap-shadow-hidden"),this._domNode.appendChild(this._shadow),this._canvas=(0,m.createFastDomNode)(document.createElement("canvas")),this._canvas.setPosition("absolute"),this._canvas.setLeft(0),this._domNode.appendChild(this._canvas),this._decorationsCanvas=(0,m.createFastDomNode)(document.createElement("canvas")),this._decorationsCanvas.setPosition("absolute"),this._decorationsCanvas.setClassName("minimap-decorations-layer"),this._decorationsCanvas.setLeft(0),this._domNode.appendChild(this._decorationsCanvas),this._slider=(0,m.createFastDomNode)(document.createElement("div")),this._slider.setPosition("absolute"),this._slider.setClassName("minimap-slider"),this._slider.setLayerHinting(!0),this._slider.setContain("strict"),this._domNode.appendChild(this._slider),this._sliderHorizontal=(0,m.createFastDomNode)(document.createElement("div")),this._sliderHorizontal.setPosition("absolute"),this._sliderHorizontal.setClassName("minimap-slider-horizontal"),this._slider.appendChild(this._sliderHorizontal),this._applyLayout(),this._mouseDownListener=L.addStandardDisposableListener(this._domNode.domNode,"mousedown",P=>{if(P.preventDefault(),this._model.options.renderMinimap===0||!this._lastRenderData)return;if(this._model.options.size!=="proportional"){if(P.leftButton&&this._lastRenderData){const $=L.getDomNodePagePosition(this._slider.domNode),G=$.top+$.height/2;this._startSliderDragging(P.buttons,P.posx,G,P.posy,this._lastRenderData.renderedLayout)}return}const W=this._model.options.minimapLineHeight,R=this._model.options.canvasInnerHeight/this._model.options.canvasOuterHeight*P.browserEvent.offsetY;let j=Math.floor(R/W)+this._lastRenderData.renderedLayout.startLineNumber;j=Math.min(j,this._model.getLineCount()),this._model.revealLineNumber(j)}),this._sliderMouseMoveMonitor=new k.GlobalMouseMoveMonitor,this._sliderMouseDownListener=L.addStandardDisposableListener(this._slider.domNode,"mousedown",P=>{P.preventDefault(),P.stopPropagation(),P.leftButton&&this._lastRenderData&&this._startSliderDragging(P.buttons,P.posx,P.posy,P.posy,this._lastRenderData.renderedLayout)}),this._gestureDisposable=s.Gesture.addTarget(this._domNode.domNode),this._sliderTouchStartListener=L.addDisposableListener(this._domNode.domNode,s.EventType.Start,P=>{P.preventDefault(),P.stopPropagation(),this._lastRenderData&&(this._slider.toggleClassName("active",!0),this._gestureInProgress=!0,this.scrollDueToTouchEvent(P))},{passive:!1}),this._sliderTouchMoveListener=L.addDisposableListener(this._domNode.domNode,s.EventType.Change,P=>{P.preventDefault(),P.stopPropagation(),this._lastRenderData&&this._gestureInProgress&&this.scrollDueToTouchEvent(P)},{passive:!1}),this._sliderTouchEndListener=L.addStandardDisposableListener(this._domNode.domNode,s.EventType.End,P=>{P.preventDefault(),P.stopPropagation(),this._gestureInProgress=!1,this._slider.toggleClassName("active",!1)})}_startSliderDragging(T,A,P,F,W){this._slider.toggleClassName("active",!0);const R=(z,j)=>{const $=Math.abs(j-A);if(w.isWindows&&$>f){this._model.setScrollTop(W.scrollTop);return}const G=z-P;this._model.setScrollTop(W.getDesiredScrollTopFromDelta(G))};F!==P&&R(F,A),this._sliderMouseMoveMonitor.startMonitoring(this._slider.domNode,T,k.standardMouseMoveMerger,z=>R(z.posy,z.posx),()=>{this._slider.toggleClassName("active",!1)})}scrollDueToTouchEvent(T){const A=this._domNode.domNode.getBoundingClientRect().top,P=this._lastRenderData.renderedLayout.getDesiredScrollTopFromTouchLocation(T.pageY-A);this._model.setScrollTop(P)}dispose(){this._mouseDownListener.dispose(),this._sliderMouseMoveMonitor.dispose(),this._sliderMouseDownListener.dispose(),this._gestureDisposable.dispose(),this._sliderTouchStartListener.dispose(),this._sliderTouchMoveListener.dispose(),this._sliderTouchEndListener.dispose(),super.dispose()}_getMinimapDomNodeClassName(){return this._model.options.showSlider==="always"?"minimap slider-always":"minimap slider-mouseover"}getDomNode(){return this._domNode}_applyLayout(){this._domNode.setLeft(this._model.options.minimapLeft),this._domNode.setWidth(this._model.options.minimapWidth),this._domNode.setHeight(this._model.options.minimapHeight),this._shadow.setHeight(this._model.options.minimapHeight),this._canvas.setWidth(this._model.options.canvasOuterWidth),this._canvas.setHeight(this._model.options.canvasOuterHeight),this._canvas.domNode.width=this._model.options.canvasInnerWidth,this._canvas.domNode.height=this._model.options.canvasInnerHeight,this._decorationsCanvas.setWidth(this._model.options.canvasOuterWidth),this._decorationsCanvas.setHeight(this._model.options.canvasOuterHeight),this._decorationsCanvas.domNode.width=this._model.options.canvasInnerWidth,this._decorationsCanvas.domNode.height=this._model.options.canvasInnerHeight,this._slider.setWidth(this._model.options.minimapWidth)}_getBuffer(){return this._buffers||this._model.options.canvasInnerWidth>0&&this._model.options.canvasInnerHeight>0&&(this._buffers=new E(this._canvas.domNode.getContext("2d"),this._model.options.canvasInnerWidth,this._model.options.canvasInnerHeight,this._model.options.backgroundColor)),this._buffers?this._buffers.getBuffer():null}onDidChangeOptions(){this._lastRenderData=null,this._buffers=null,this._applyLayout(),this._domNode.setClassName(this._getMinimapDomNodeClassName())}onSelectionChanged(){return this._renderDecorations=!0,!0}onDecorationsChanged(){return this._renderDecorations=!0,!0}onFlushed(){return this._lastRenderData=null,!0}onLinesChanged(T,A){return this._lastRenderData?this._lastRenderData.onLinesChanged(T,A):!1}onLinesDeleted(T,A){return this._lastRenderData&&this._lastRenderData.onLinesDeleted(T,A),!0}onLinesInserted(T,A){return this._lastRenderData&&this._lastRenderData.onLinesInserted(T,A),!0}onScrollChanged(){return this._renderDecorations=!0,!0}onThemeChanged(){return this._selectionColor=this._theme.getColor(c.minimapSelection),this._renderDecorations=!0,!0}onTokensChanged(T){return this._lastRenderData?this._lastRenderData.onTokensChanged(T):!1}onTokensColorsChanged(){return this._lastRenderData=null,this._buffers=null,!0}onZonesChanged(){return this._lastRenderData=null,!0}render(T){if(this._model.options.renderMinimap===0){this._shadow.setClassName("minimap-shadow-hidden"),this._sliderHorizontal.setWidth(0),this._sliderHorizontal.setHeight(0);return}T.scrollLeft+T.viewportWidth>=T.scrollWidth?this._shadow.setClassName("minimap-shadow-hidden"):this._shadow.setClassName("minimap-shadow-visible");const P=p.create(this._model.options,T.viewportStartLineNumber,T.viewportEndLineNumber,T.viewportStartLineNumberVerticalOffset,T.viewportHeight,T.viewportContainsWhitespaceGaps,this._model.getLineCount(),this._model.getRealLineCount(),T.scrollTop,T.scrollHeight,this._lastRenderData?this._lastRenderData.renderedLayout:null);this._slider.setDisplay(P.sliderNeeded?"block":"none"),this._slider.setTop(P.sliderTop),this._slider.setHeight(P.sliderHeight),this._sliderHorizontal.setLeft(0),this._sliderHorizontal.setWidth(this._model.options.minimapWidth),this._sliderHorizontal.setTop(0),this._sliderHorizontal.setHeight(P.sliderHeight),this.renderDecorations(P),this._lastRenderData=this.renderLines(P)}renderDecorations(T){if(this._renderDecorations){this._renderDecorations=!1;const A=this._model.getSelections();A.sort(t.Range.compareRangesUsingStarts);const P=this._model.getMinimapDecorationsInViewport(T.startLineNumber,T.endLineNumber);P.sort((re,se)=>(re.options.zIndex||0)-(se.options.zIndex||0));const{canvasInnerWidth:F,canvasInnerHeight:W}=this._model.options,R=this._model.options.minimapLineHeight,z=this._model.options.minimapCharWidth,j=this._model.getOptions().tabSize,$=this._decorationsCanvas.domNode.getContext("2d");$.clearRect(0,0,F,W);const G=new B(T.startLineNumber,T.endLineNumber,!1);this._renderSelectionLineHighlights($,A,G,T,R),this._renderDecorationsLineHighlights($,P,G,T,R);const J=new B(T.startLineNumber,T.endLineNumber,null);this._renderSelectionsHighlights($,A,J,T,R,j,z,F),this._renderDecorationsHighlights($,P,J,T,R,j,z,F)}}_renderSelectionLineHighlights(T,A,P,F,W){if(!this._selectionColor||this._selectionColor.isTransparent())return;T.fillStyle=this._selectionColor.transparent(.5).toString();let R=0,z=0;for(const j of A){const $=Math.max(F.startLineNumber,j.startLineNumber),G=Math.min(F.endLineNumber,j.endLineNumber);if($>G)continue;for(let se=$;se<=G;se++)P.set(se,!0);const J=($-F.startLineNumber)*W,re=(G-F.startLineNumber)*W+W;z>=J||(z>R&&T.fillRect(g.MINIMAP_GUTTER_WIDTH,R,T.canvas.width,z-R),R=J),z=re}z>R&&T.fillRect(g.MINIMAP_GUTTER_WIDTH,R,T.canvas.width,z-R)}_renderDecorationsLineHighlights(T,A,P,F,W){const R=new Map;for(let z=A.length-1;z>=0;z--){const j=A[z],$=j.options.minimap;if(!$||$.position!==l.MinimapPosition.Inline)continue;const G=Math.max(F.startLineNumber,j.range.startLineNumber),J=Math.min(F.endLineNumber,j.range.endLineNumber);if(G>J)continue;const re=$.getColor(this._theme.value);if(!re||re.isTransparent())continue;let se=R.get(re.toString());se||(se=re.transparent(.5).toString(),R.set(re.toString(),se)),T.fillStyle=se;for(let Z=G;Z<=J;Z++){if(P.has(Z))continue;P.set(Z,!0);const V=(G-F.startLineNumber)*W;T.fillRect(g.MINIMAP_GUTTER_WIDTH,V,T.canvas.width,W)}}}_renderSelectionsHighlights(T,A,P,F,W,R,z,j){if(!(!this._selectionColor||this._selectionColor.isTransparent()))for(const $ of A){const G=Math.max(F.startLineNumber,$.startLineNumber),J=Math.min(F.endLineNumber,$.endLineNumber);if(!(G>J))for(let re=G;re<=J;re++)this.renderDecorationOnLine(T,P,$,this._selectionColor,F,re,W,W,R,z,j)}}_renderDecorationsHighlights(T,A,P,F,W,R,z,j){for(const $ of A){const G=$.options.minimap;if(!G)continue;const J=Math.max(F.startLineNumber,$.range.startLineNumber),re=Math.min(F.endLineNumber,$.range.endLineNumber);if(J>re)continue;const se=G.getColor(this._theme.value);if(!(!se||se.isTransparent()))for(let Z=J;Z<=re;Z++)switch(G.position){case l.MinimapPosition.Inline:this.renderDecorationOnLine(T,P,$.range,se,F,Z,W,W,R,z,j);continue;case l.MinimapPosition.Gutter:{const V=(Z-F.startLineNumber)*W,K=2;this.renderDecoration(T,se,K,V,S,W);continue}}}}renderDecorationOnLine(T,A,P,F,W,R,z,j,$,G,J){const re=(R-W.startLineNumber)*j;if(re+z<0||re>this._model.options.canvasInnerHeight)return;const{startLineNumber:se,endLineNumber:Z}=P,V=se===R?P.startColumn:1,K=Z===R?P.endColumn:this._model.getLineMaxColumn(R),X=this.getXOffsetForPosition(A,R,V,$,G,J),oe=this.getXOffsetForPosition(A,R,K,$,G,J);this.renderDecoration(T,F,X,re,oe-X,z)}getXOffsetForPosition(T,A,P,F,W,R){if(P===1)return g.MINIMAP_GUTTER_WIDTH;if((P-1)*W>=R)return R;let j=T.get(A);if(!j){const $=this._model.getLineContent(A);j=[g.MINIMAP_GUTTER_WIDTH];let G=g.MINIMAP_GUTTER_WIDTH;for(let J=1;J<$.length+1;J++){const re=$.charCodeAt(J-1),se=re===9?F*W:b.isFullWidthCharacter(re)?2*W:W,Z=G+se;if(Z>=R){j[J]=R;break}j[J]=Z,G=Z}T.set(A,j)}return P-1<j.length?j[P-1]:R}renderDecoration(T,A,P,F,W,R){T.fillStyle=A&&A.toString()||"",T.fillRect(P,F,W,R)}renderLines(T){const A=T.startLineNumber,P=T.endLineNumber,F=this._model.options.minimapLineHeight;if(this._lastRenderData&&this._lastRenderData.linesEquals(T)){const ce=this._lastRenderData._get();return new y(T,ce.imageData,ce.lines)}const W=this._getBuffer();if(!W)return null;const[R,z,j]=M._renderUntouchedLines(W,A,P,F,this._lastRenderData),$=this._model.getMinimapLinesRenderingData(A,P,j),G=this._model.getOptions().tabSize,J=this._model.options.defaultBackgroundColor,re=this._model.options.backgroundColor,se=this._model.options.foregroundAlpha,Z=this._model.tokensColorTracker,V=Z.backgroundIsLight(),K=this._model.options.renderMinimap,X=this._model.options.charRenderer(),oe=this._model.options.fontScale,ae=this._model.options.minimapCharWidth,ue=(K===1?2:2+1)*oe,le=F>ue?Math.floor((F-ue)/2):0,x=re.a/255,H=new n.RGBA8(Math.round((re.r-J.r)*x+J.r),Math.round((re.g-J.g)*x+J.g),Math.round((re.b-J.b)*x+J.b),255);let U=0;const Q=[];for(let ce=0,he=P-A+1;ce<he;ce++)j[ce]&&M._renderLine(W,H,re.a,V,K,ae,Z,se,X,U,le,G,$[ce],oe,F),Q[ce]=new _(U),U+=F;const Y=R===-1?0:R,ge=(z===-1?W.height:z)-Y;return this._canvas.domNode.getContext("2d").putImageData(W,0,0,0,Y,W.width,ge),new y(T,W,Q)}static _renderUntouchedLines(T,A,P,F,W){const R=[];if(!W){for(let H=0,U=P-A+1;H<U;H++)R[H]=!0;return[-1,-1,R]}const z=W._get(),j=z.imageData.data,$=z.rendLineNumberStart,G=z.lines,J=G.length,re=T.width,se=T.data,Z=(P-A+1)*F*re*4;let V=-1,K=-1,X=-1,oe=-1,ae=-1,ee=-1,ue=0;for(let H=A;H<=P;H++){const U=H-A,Q=H-$,Y=Q>=0&&Q<J?G[Q].dy:-1;if(Y===-1){R[U]=!0,ue+=F;continue}const ne=Y*re*4,ge=(Y+F)*re*4,fe=ue*re*4,ce=(ue+F)*re*4;oe===ne&&ee===fe?(oe=ge,ee=ce):(X!==-1&&(se.set(j.subarray(X,oe),ae),V===-1&&X===0&&X===ae&&(V=oe),K===-1&&oe===Z&&X===ae&&(K=X)),X=ne,oe=ge,ae=fe,ee=ce),R[U]=!1,ue+=F}X!==-1&&(se.set(j.subarray(X,oe),ae),V===-1&&X===0&&X===ae&&(V=oe),K===-1&&oe===Z&&X===ae&&(K=X));const le=V===-1?-1:V/(re*4),x=K===-1?-1:K/(re*4);return[le,x,R]}static _renderLine(T,A,P,F,W,R,z,j,$,G,J,re,se,Z,V){const K=se.content,X=se.tokens,oe=T.width-R,ae=V===1;let ee=g.MINIMAP_GUTTER_WIDTH,ue=0,le=0;for(let x=0,H=X.getCount();x<H;x++){const U=X.getEndOffset(x),Q=X.getForeground(x),Y=z.getColor(Q);for(;ue<U;ue++){if(ee>oe)return;const ne=K.charCodeAt(ue);if(ne===9){const ge=re-(ue+le)%re;le+=ge-1,ee+=ge*R}else if(ne===32)ee+=R;else{const ge=b.isFullWidthCharacter(ne)?2:1;for(let fe=0;fe<ge;fe++)if(W===2?$.blockRenderChar(T,ee,G+J,Y,j,A,P,ae):$.renderChar(T,ee,G+J,ne,Y,j,A,P,Z,F,ae),ee+=R,ee>oe)return}}}}}class B{constructor(T,A,P){this._startLineNumber=T,this._endLineNumber=A,this._defaultValue=P,this._values=[];for(let F=0,W=this._endLineNumber-this._startLineNumber+1;F<W;F++)this._values[F]=P}has(T){return this.get(T)!==this._defaultValue}set(T,A){T<this._startLineNumber||T>this._endLineNumber||(this._values[T-this._startLineNumber]=A)}get(T){return T<this._startLineNumber||T>this._endLineNumber?this._defaultValue:this._values[T-this._startLineNumber]}}(0,d.registerThemingParticipant)((O,T)=>{const A=O.getColor(c.minimapSliderBackground);A&&T.addRule(`.monaco-editor .minimap-slider .minimap-slider-horizontal { background: ${A}; }`);const P=O.getColor(c.minimapSliderHoverBackground);P&&T.addRule(`.monaco-editor .minimap-slider:hover .minimap-slider-horizontal { background: ${P}; }`);const F=O.getColor(c.minimapSliderActiveBackground);F&&T.addRule(`.monaco-editor .minimap-slider.active .minimap-slider-horizontal { background: ${F}; }`);const W=O.getColor(c.scrollbarShadow);W&&T.addRule(`.monaco-editor .minimap-shadow-visible { box-shadow: ${W} -6px 0 6px -6px inset; }`)})}),define(te[650],ie([1,0,31,51,23,14,365]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ScrollDecorationViewPart=void 0;class w extends m.ViewPart{constructor(C){super(C);this._scrollTop=0,this._width=0,this._updateWidth(),this._shouldShow=!1;const g=this._context.configuration.options.get(92);this._useShadows=g.useShadows,this._domNode=(0,L.createFastDomNode)(document.createElement("div")),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true")}dispose(){super.dispose()}_updateShouldShow(){const C=this._useShadows&&this._scrollTop>0;return this._shouldShow!==C?(this._shouldShow=C,!0):!1}getDomNode(){return this._domNode}_updateWidth(){const u=this._context.configuration.options.get(131);u.minimap.renderMinimap===0||u.minimap.minimapWidth>0&&u.minimap.minimapLeft===0?this._width=u.width:this._width=u.width-u.minimap.minimapWidth-u.verticalScrollbarWidth}onConfigurationChanged(C){const g=this._context.configuration.options.get(92);return this._useShadows=g.useShadows,this._updateWidth(),this._updateShouldShow(),!0}onScrollChanged(C){return this._scrollTop=C.scrollTop,this._updateShouldShow()}prepareRender(C){}render(C){this._domNode.setWidth(this._width),this._domNode.setClassName(this._shouldShow?"scroll-decoration":"")}}e.ScrollDecorationViewPart=w,(0,I.registerThemingParticipant)((b,C)=>{const u=b.getColor(k.scrollbarShadow);u&&C.addRule(`.monaco-editor .scroll-decoration { box-shadow: ${u} 0 6px 6px -6px inset; }`)})}),define(te[651],ie([1,0,102,23,14,366]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SelectionsOverlay=void 0;class I{constructor(n){this.left=n.left,this.width=n.width,this.startStyle=null,this.endStyle=null}}class w{constructor(n,i){this.lineNumber=n,this.ranges=i}}function b(t){return new I(t)}function C(t){return new w(t.lineNumber,t.ranges.map(b))}class u extends L.DynamicViewOverlay{constructor(n){super();this._previousFrameVisibleRangesWithStyle=[],this._context=n;const i=this._context.configuration.options;this._lineHeight=i.get(59),this._roundedSelection=i.get(90),this._typicalHalfwidthCharacterWidth=i.get(44).typicalHalfwidthCharacterWidth,this._selections=[],this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(n){const i=this._context.configuration.options;return this._lineHeight=i.get(59),this._roundedSelection=i.get(90),this._typicalHalfwidthCharacterWidth=i.get(44).typicalHalfwidthCharacterWidth,!0}onCursorStateChanged(n){return this._selections=n.selections.slice(0),!0}onDecorationsChanged(n){return!0}onFlushed(n){return!0}onLinesChanged(n){return!0}onLinesDeleted(n){return!0}onLinesInserted(n){return!0}onScrollChanged(n){return n.scrollTopChanged}onZonesChanged(n){return!0}_visibleRangesHaveGaps(n){for(let i=0,o=n.length;i<o;i++)if(n[i].ranges.length>1)return!0;return!1}_enrichVisibleRangesWithStyle(n,i,o){const c=this._typicalHalfwidthCharacterWidth/4;let d=null,r=null;if(o&&o.length>0&&i.length>0){const s=i[0].lineNumber;if(s===n.startLineNumber)for(let l=0;!d&&l<o.length;l++)o[l].lineNumber===s&&(d=o[l].ranges[0]);const a=i[i.length-1].lineNumber;if(a===n.endLineNumber)for(let l=o.length-1;!r&&l>=0;l--)o[l].lineNumber===a&&(r=o[l].ranges[0]);d&&!d.startStyle&&(d=null),r&&!r.startStyle&&(r=null)}for(let s=0,a=i.length;s<a;s++){const l=i[s].ranges[0],h=l.left,f=l.left+l.width,S={top:0,bottom:0},v={top:0,bottom:0};if(s>0){const p=i[s-1].ranges[0].left,_=i[s-1].ranges[0].left+i[s-1].ranges[0].width;g(h-p)<c?S.top=2:h>p&&(S.top=1),g(f-_)<c?v.top=2:p<f&&f<_&&(v.top=1)}else d&&(S.top=d.startStyle.top,v.top=d.endStyle.top);if(s+1<a){const p=i[s+1].ranges[0].left,_=i[s+1].ranges[0].left+i[s+1].ranges[0].width;g(h-p)<c?S.bottom=2:p<h&&h<_&&(S.bottom=1),g(f-_)<c?v.bottom=2:f<_&&(v.bottom=1)}else r&&(S.bottom=r.startStyle.bottom,v.bottom=r.endStyle.bottom);l.startStyle=S,l.endStyle=v}}_getVisibleRangesWithStyle(n,i,o){const d=(i.linesVisibleRangesForRange(n,!0)||[]).map(C);return!this._visibleRangesHaveGaps(d)&&this._roundedSelection&&this._enrichVisibleRangesWithStyle(i.visibleRange,d,o),d}_createSelectionPiece(n,i,o,c,d){return'<div class="cslr '+o+'" style="top:'+n.toString()+"px;left:"+c.toString()+"px;width:"+d.toString()+"px;height:"+i+'px;"></div>'}_actualRenderOneSelection(n,i,o,c){if(c.length===0)return;const d=!!c[0].ranges[0].startStyle,r=this._lineHeight.toString(),s=(this._lineHeight-1).toString(),a=c[0].lineNumber,l=c[c.length-1].lineNumber;for(let h=0,f=c.length;h<f;h++){const S=c[h],v=S.lineNumber,p=v-i,_=o&&(v===l||v===a)?s:r,y=o&&v===a?1:0;let E="",N="";for(let D=0,M=S.ranges.length;D<M;D++){const B=S.ranges[D];if(d){const T=B.startStyle,A=B.endStyle;if(T.top===1||T.bottom===1){E+=this._createSelectionPiece(y,_,u.SELECTION_CLASS_NAME,B.left-u.ROUNDED_PIECE_WIDTH,u.ROUNDED_PIECE_WIDTH);let P=u.EDITOR_BACKGROUND_CLASS_NAME;T.top===1&&(P+=" "+u.SELECTION_TOP_RIGHT),T.bottom===1&&(P+=" "+u.SELECTION_BOTTOM_RIGHT),E+=this._createSelectionPiece(y,_,P,B.left-u.ROUNDED_PIECE_WIDTH,u.ROUNDED_PIECE_WIDTH)}if(A.top===1||A.bottom===1){E+=this._createSelectionPiece(y,_,u.SELECTION_CLASS_NAME,B.left+B.width,u.ROUNDED_PIECE_WIDTH);let P=u.EDITOR_BACKGROUND_CLASS_NAME;A.top===1&&(P+=" "+u.SELECTION_TOP_LEFT),A.bottom===1&&(P+=" "+u.SELECTION_BOTTOM_LEFT),E+=this._createSelectionPiece(y,_,P,B.left+B.width,u.ROUNDED_PIECE_WIDTH)}}let O=u.SELECTION_CLASS_NAME;if(d){const T=B.startStyle,A=B.endStyle;T.top===0&&(O+=" "+u.SELECTION_TOP_LEFT),T.bottom===0&&(O+=" "+u.SELECTION_BOTTOM_LEFT),A.top===0&&(O+=" "+u.SELECTION_TOP_RIGHT),A.bottom===0&&(O+=" "+u.SELECTION_BOTTOM_RIGHT)}N+=this._createSelectionPiece(y,_,O,B.left,B.width)}n[p][0]+=E,n[p][1]+=N}}prepareRender(n){const i=[],o=n.visibleRange.startLineNumber,c=n.visibleRange.endLineNumber;for(let r=o;r<=c;r++){const s=r-o;i[s]=["",""]}const d=[];for(let r=0,s=this._selections.length;r<s;r++){const a=this._selections[r];if(a.isEmpty()){d[r]=null;continue}const l=this._getVisibleRangesWithStyle(a,n,this._previousFrameVisibleRangesWithStyle[r]);d[r]=l,this._actualRenderOneSelection(i,o,this._selections.length>1,l)}this._previousFrameVisibleRangesWithStyle=d,this._renderResult=i.map(([r,s])=>r+s)}render(n,i){if(!this._renderResult)return"";const o=i-n;return o<0||o>=this._renderResult.length?"":this._renderResult[o]}}e.SelectionsOverlay=u,u.SELECTION_CLASS_NAME="selected-text",u.SELECTION_TOP_LEFT="top-left-radius",u.SELECTION_BOTTOM_LEFT="bottom-left-radius",u.SELECTION_TOP_RIGHT="top-right-radius",u.SELECTION_BOTTOM_RIGHT="bottom-right-radius",u.EDITOR_BACKGROUND_CLASS_NAME="monaco-editor-background",u.ROUNDED_PIECE_WIDTH=10,(0,k.registerThemingParticipant)((t,n)=>{const i=t.getColor(m.editorSelectionBackground);i&&n.addRule(`.monaco-editor .focused .selected-text { background-color: ${i}; }`);const o=t.getColor(m.editorInactiveSelection);o&&n.addRule(`.monaco-editor .selected-text { background-color: ${o}; }`);const c=t.getColor(m.editorSelectionForeground);c&&!c.isTransparent()&&n.addRule(`.monaco-editor .view-line span.inline-selected-text { color: ${c}; }`)});function g(t){return t<0?-t:t}}),define(te[54],ie([1,0,518,30,23,14]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.editorUnicodeHighlightBorder=e.editorBracketPairGuideActiveBackground6=e.editorBracketPairGuideActiveBackground5=e.editorBracketPairGuideActiveBackground4=e.editorBracketPairGuideActiveBackground3=e.editorBracketPairGuideActiveBackground2=e.editorBracketPairGuideActiveBackground1=e.editorBracketPairGuideBackground6=e.editorBracketPairGuideBackground5=e.editorBracketPairGuideBackground4=e.editorBracketPairGuideBackground3=e.editorBracketPairGuideBackground2=e.editorBracketPairGuideBackground1=e.editorBracketHighlightingUnexpectedBracketForeground=e.editorBracketHighlightingForeground6=e.editorBracketHighlightingForeground5=e.editorBracketHighlightingForeground4=e.editorBracketHighlightingForeground3=e.editorBracketHighlightingForeground2=e.editorBracketHighlightingForeground1=e.overviewRulerInfo=e.overviewRulerWarning=e.overviewRulerError=e.overviewRulerRangeHighlight=e.ghostTextBackground=e.ghostTextForeground=e.ghostTextBorder=e.editorUnnecessaryCodeOpacity=e.editorUnnecessaryCodeBorder=e.editorGutter=e.editorOverviewRulerBackground=e.editorOverviewRulerBorder=e.editorBracketMatchBorder=e.editorBracketMatchBackground=e.editorCodeLensForeground=e.editorRuler=e.editorActiveLineNumber=e.editorLineNumbers=e.editorActiveIndentGuides=e.editorIndentGuides=e.editorWhitespaces=e.editorCursorBackground=e.editorCursorForeground=e.editorSymbolHighlightBorder=e.editorSymbolHighlight=e.editorRangeHighlightBorder=e.editorRangeHighlight=e.editorLineHighlightBorder=e.editorLineHighlight=void 0,e.editorLineHighlight=(0,k.registerColor)("editor.lineHighlightBackground",{dark:null,light:null,hc:null},L.localize(0,null)),e.editorLineHighlightBorder=(0,k.registerColor)("editor.lineHighlightBorder",{dark:"#282828",light:"#eeeeee",hc:"#f38518"},L.localize(1,null)),e.editorRangeHighlight=(0,k.registerColor)("editor.rangeHighlightBackground",{dark:"#ffffff0b",light:"#fdff0033",hc:null},L.localize(2,null),!0),e.editorRangeHighlightBorder=(0,k.registerColor)("editor.rangeHighlightBorder",{dark:null,light:null,hc:k.activeContrastBorder},L.localize(3,null),!0),e.editorSymbolHighlight=(0,k.registerColor)("editor.symbolHighlightBackground",{dark:k.editorFindMatchHighlight,light:k.editorFindMatchHighlight,hc:null},L.localize(4,null),!0),e.editorSymbolHighlightBorder=(0,k.registerColor)("editor.symbolHighlightBorder",{dark:null,light:null,hc:k.activeContrastBorder},L.localize(5,null),!0),e.editorCursorForeground=(0,k.registerColor)("editorCursor.foreground",{dark:"#AEAFAD",light:m.Color.black,hc:m.Color.white},L.localize(6,null)),e.editorCursorBackground=(0,k.registerColor)("editorCursor.background",null,L.localize(7,null)),e.editorWhitespaces=(0,k.registerColor)("editorWhitespace.foreground",{dark:"#e3e4e229",light:"#33333333",hc:"#e3e4e229"},L.localize(8,null)),e.editorIndentGuides=(0,k.registerColor)("editorIndentGuide.background",{dark:e.editorWhitespaces,light:e.editorWhitespaces,hc:e.editorWhitespaces},L.localize(9,null)),e.editorActiveIndentGuides=(0,k.registerColor)("editorIndentGuide.activeBackground",{dark:e.editorWhitespaces,light:e.editorWhitespaces,hc:e.editorWhitespaces},L.localize(10,null)),e.editorLineNumbers=(0,k.registerColor)("editorLineNumber.foreground",{dark:"#858585",light:"#237893",hc:m.Color.white},L.localize(11,null));const w=(0,k.registerColor)("editorActiveLineNumber.foreground",{dark:"#c6c6c6",light:"#0B216F",hc:k.activeContrastBorder},L.localize(12,null),!1,L.localize(13,null));e.editorActiveLineNumber=(0,k.registerColor)("editorLineNumber.activeForeground",{dark:w,light:w,hc:w},L.localize(14,null)),e.editorRuler=(0,k.registerColor)("editorRuler.foreground",{dark:"#5A5A5A",light:m.Color.lightgrey,hc:m.Color.white},L.localize(15,null)),e.editorCodeLensForeground=(0,k.registerColor)("editorCodeLens.foreground",{dark:"#999999",light:"#919191",hc:"#999999"},L.localize(16,null)),e.editorBracketMatchBackground=(0,k.registerColor)("editorBracketMatch.background",{dark:"#0064001a",light:"#0064001a",hc:"#0064001a"},L.localize(17,null)),e.editorBracketMatchBorder=(0,k.registerColor)("editorBracketMatch.border",{dark:"#888",light:"#B9B9B9",hc:k.contrastBorder},L.localize(18,null)),e.editorOverviewRulerBorder=(0,k.registerColor)("editorOverviewRuler.border",{dark:"#7f7f7f4d",light:"#7f7f7f4d",hc:"#7f7f7f4d"},L.localize(19,null)),e.editorOverviewRulerBackground=(0,k.registerColor)("editorOverviewRuler.background",null,L.localize(20,null)),e.editorGutter=(0,k.registerColor)("editorGutter.background",{dark:k.editorBackground,light:k.editorBackground,hc:k.editorBackground},L.localize(21,null)),e.editorUnnecessaryCodeBorder=(0,k.registerColor)("editorUnnecessaryCode.border",{dark:null,light:null,hc:m.Color.fromHex("#fff").transparent(.8)},L.localize(22,null)),e.editorUnnecessaryCodeOpacity=(0,k.registerColor)("editorUnnecessaryCode.opacity",{dark:m.Color.fromHex("#000a"),light:m.Color.fromHex("#0007"),hc:null},L.localize(23,null)),e.ghostTextBorder=(0,k.registerColor)("editorGhostText.border",{dark:null,light:null,hc:m.Color.fromHex("#fff").transparent(.8)},L.localize(24,null)),e.ghostTextForeground=(0,k.registerColor)("editorGhostText.foreground",{dark:m.Color.fromHex("#ffffff56"),light:m.Color.fromHex("#0007"),hc:null},L.localize(25,null)),e.ghostTextBackground=(0,k.registerColor)("editorGhostText.background",{dark:null,light:null,hc:null},L.localize(26,null));const b=new m.Color(new m.RGBA(0,122,204,.6));e.overviewRulerRangeHighlight=(0,k.registerColor)("editorOverviewRuler.rangeHighlightForeground",{dark:b,light:b,hc:b},L.localize(27,null),!0),e.overviewRulerError=(0,k.registerColor)("editorOverviewRuler.errorForeground",{dark:new m.Color(new m.RGBA(255,18,18,.7)),light:new m.Color(new m.RGBA(255,18,18,.7)),hc:new m.Color(new m.RGBA(255,50,50,1))},L.localize(28,null)),e.overviewRulerWarning=(0,k.registerColor)("editorOverviewRuler.warningForeground",{dark:k.editorWarningForeground,light:k.editorWarningForeground,hc:k.editorWarningBorder},L.localize(29,null)),e.overviewRulerInfo=(0,k.registerColor)("editorOverviewRuler.infoForeground",{dark:k.editorInfoForeground,light:k.editorInfoForeground,hc:k.editorInfoBorder},L.localize(30,null)),e.editorBracketHighlightingForeground1=(0,k.registerColor)("editorBracketHighlight.foreground1",{dark:"#FFD700",light:"#0431FAFF",hc:"#FFD700"},L.localize(31,null)),e.editorBracketHighlightingForeground2=(0,k.registerColor)("editorBracketHighlight.foreground2",{dark:"#DA70D6",light:"#319331FF",hc:"#DA70D6"},L.localize(32,null)),e.editorBracketHighlightingForeground3=(0,k.registerColor)("editorBracketHighlight.foreground3",{dark:"#179FFF",light:"#7B3814FF",hc:"#87CEFA"},L.localize(33,null)),e.editorBracketHighlightingForeground4=(0,k.registerColor)("editorBracketHighlight.foreground4",{dark:"#00000000",light:"#00000000",hc:"#00000000"},L.localize(34,null)),e.editorBracketHighlightingForeground5=(0,k.registerColor)("editorBracketHighlight.foreground5",{dark:"#00000000",light:"#00000000",hc:"#00000000"},L.localize(35,null)),e.editorBracketHighlightingForeground6=(0,k.registerColor)("editorBracketHighlight.foreground6",{dark:"#00000000",light:"#00000000",hc:"#00000000"},L.localize(36,null)),e.editorBracketHighlightingUnexpectedBracketForeground=(0,k.registerColor)("editorBracketHighlight.unexpectedBracket.foreground",{dark:new m.Color(new m.RGBA(255,18,18,.8)),light:new m.Color(new m.RGBA(255,18,18,.8)),hc:new m.Color(new m.RGBA(255,50,50,1))},L.localize(37,null)),e.editorBracketPairGuideBackground1=(0,k.registerColor)("editorBracketPairGuide.background1",{dark:"#00000000",light:"#00000000",hc:"#00000000"},L.localize(38,null)),e.editorBracketPairGuideBackground2=(0,k.registerColor)("editorBracketPairGuide.background2",{dark:"#00000000",light:"#00000000",hc:"#00000000"},L.localize(39,null)),e.editorBracketPairGuideBackground3=(0,k.registerColor)("editorBracketPairGuide.background3",{dark:"#00000000",light:"#00000000",hc:"#00000000"},L.localize(40,null)),e.editorBracketPairGuideBackground4=(0,k.registerColor)("editorBracketPairGuide.background4",{dark:"#00000000",light:"#00000000",hc:"#00000000"},L.localize(41,null)),e.editorBracketPairGuideBackground5=(0,k.registerColor)("editorBracketPairGuide.background5",{dark:"#00000000",light:"#00000000",hc:"#00000000"},L.localize(42,null)),e.editorBracketPairGuideBackground6=(0,k.registerColor)("editorBracketPairGuide.background6",{dark:"#00000000",light:"#00000000",hc:"#00000000"},L.localize(43,null)),e.editorBracketPairGuideActiveBackground1=(0,k.registerColor)("editorBracketPairGuide.activeBackground1",{dark:"#00000000",light:"#00000000",hc:"#00000000"},L.localize(44,null)),e.editorBracketPairGuideActiveBackground2=(0,k.registerColor)("editorBracketPairGuide.activeBackground2",{dark:"#00000000",light:"#00000000",hc:"#00000000"},L.localize(45,null)),e.editorBracketPairGuideActiveBackground3=(0,k.registerColor)("editorBracketPairGuide.activeBackground3",{dark:"#00000000",light:"#00000000",hc:"#00000000"},L.localize(46,null)),e.editorBracketPairGuideActiveBackground4=(0,k.registerColor)("editorBracketPairGuide.activeBackground4",{dark:"#00000000",light:"#00000000",hc:"#00000000"},L.localize(47,null)),e.editorBracketPairGuideActiveBackground5=(0,k.registerColor)("editorBracketPairGuide.activeBackground5",{dark:"#00000000",light:"#00000000",hc:"#00000000"},L.localize(48,null)),e.editorBracketPairGuideActiveBackground6=(0,k.registerColor)("editorBracketPairGuide.activeBackground6",{dark:"#00000000",light:"#00000000",hc:"#00000000"},L.localize(49,null)),e.editorUnicodeHighlightBorder=(0,k.registerColor)("editorUnicodeHighlight.border",{dark:"#BD9B03",light:"#CEA33D",hc:"#ff0000"},L.localize(50,null)),(0,I.registerThemingParticipant)((C,u)=>{const g=C.getColor(k.editorBackground);g&&u.addRule(`.monaco-editor, .monaco-editor-background, .monaco-editor .inputarea.ime-input { background-color: ${g}; }`);const t=C.getColor(k.editorForeground);t&&u.addRule(`.monaco-editor, .monaco-editor .inputarea.ime-input { color: ${t}; }`);const n=C.getColor(e.editorGutter);n&&u.addRule(`.monaco-editor .margin { background-color: ${n}; }`);const i=C.getColor(e.editorRangeHighlight);i&&u.addRule(`.monaco-editor .rangeHighlight { background-color: ${i}; }`);const o=C.getColor(e.editorRangeHighlightBorder);o&&u.addRule(`.monaco-editor .rangeHighlight { border: 1px ${C.type==="hc"?"dotted":"solid"} ${o}; }`);const c=C.getColor(e.editorSymbolHighlight);c&&u.addRule(`.monaco-editor .symbolHighlight { background-color: ${c}; }`);const d=C.getColor(e.editorSymbolHighlightBorder);d&&u.addRule(`.monaco-editor .symbolHighlight { border: 1px ${C.type==="hc"?"dotted":"solid"} ${d}; }`);const r=C.getColor(e.editorWhitespaces);r&&(u.addRule(`.monaco-editor .mtkw { color: ${r} !important; }`),u.addRule(`.monaco-editor .mtkz { color: ${r} !important; }`))})}),define(te[652],ie([1,0,102,54,18,14,22,354]),function(q,e,L,m,k,I,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CurrentLineMarginHighlightOverlay=e.CurrentLineHighlightOverlay=e.AbstractLineHighlightOverlay=void 0;class b extends L.DynamicViewOverlay{constructor(t){super();this._context=t;const n=this._context.configuration.options,i=n.get(131);this._lineHeight=n.get(59),this._renderLineHighlight=n.get(85),this._renderLineHighlightOnlyWhenFocus=n.get(86),this._contentLeft=i.contentLeft,this._contentWidth=i.contentWidth,this._selectionIsEmpty=!0,this._focused=!1,this._cursorLineNumbers=[1],this._selections=[new w.Selection(1,1,1,1)],this._renderData=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}_readFromSelections(){let t=!1;const n=this._selections.map(o=>o.positionLineNumber);n.sort((o,c)=>o-c),k.equals(this._cursorLineNumbers,n)||(this._cursorLineNumbers=n,t=!0);const i=this._selections.every(o=>o.isEmpty());return this._selectionIsEmpty!==i&&(this._selectionIsEmpty=i,t=!0),t}onThemeChanged(t){return this._readFromSelections()}onConfigurationChanged(t){const n=this._context.configuration.options,i=n.get(131);return this._lineHeight=n.get(59),this._renderLineHighlight=n.get(85),this._renderLineHighlightOnlyWhenFocus=n.get(86),this._contentLeft=i.contentLeft,this._contentWidth=i.contentWidth,!0}onCursorStateChanged(t){return this._selections=t.selections,this._readFromSelections()}onFlushed(t){return!0}onLinesDeleted(t){return!0}onLinesInserted(t){return!0}onScrollChanged(t){return t.scrollWidthChanged||t.scrollTopChanged}onZonesChanged(t){return!0}onFocusChanged(t){return this._renderLineHighlightOnlyWhenFocus?(this._focused=t.isFocused,!0):!1}prepareRender(t){if(!this._shouldRenderThis()){this._renderData=null;return}const n=this._renderOne(t),i=t.visibleRange.startLineNumber,o=t.visibleRange.endLineNumber,c=this._cursorLineNumbers.length;let d=0;const r=[];for(let s=i;s<=o;s++){const a=s-i;for(;d<c&&this._cursorLineNumbers[d]<s;)d++;d<c&&this._cursorLineNumbers[d]===s?r[a]=n:r[a]=""}this._renderData=r}render(t,n){if(!this._renderData)return"";const i=n-t;return i>=this._renderData.length?"":this._renderData[i]}_shouldRenderInMargin(){return(this._renderLineHighlight==="gutter"||this._renderLineHighlight==="all")&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}_shouldRenderInContent(){return(this._renderLineHighlight==="line"||this._renderLineHighlight==="all")&&this._selectionIsEmpty&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}}e.AbstractLineHighlightOverlay=b;class C extends b{_renderOne(t){return`<div class="${"current-line"+(this._shouldRenderOther()?" current-line-both":"")}" style="width:${Math.max(t.scrollWidth,this._contentWidth)}px; height:${this._lineHeight}px;"></div>`}_shouldRenderThis(){return this._shouldRenderInContent()}_shouldRenderOther(){return this._shouldRenderInMargin()}}e.CurrentLineHighlightOverlay=C;class u extends b{_renderOne(t){return`<div class="${"current-line"+(this._shouldRenderInMargin()?" current-line-margin":"")+(this._shouldRenderOther()?" current-line-margin-both":"")}" style="width:${this._contentLeft}px; height:${this._lineHeight}px;"></div>`}_shouldRenderThis(){return!0}_shouldRenderOther(){return this._shouldRenderInContent()}}e.CurrentLineMarginHighlightOverlay=u,(0,I.registerThemingParticipant)((g,t)=>{const n=g.getColor(m.editorLineHighlight);if(n&&(t.addRule(`.monaco-editor .view-overlays .current-line { background-color: ${n}; }`),t.addRule(`.monaco-editor .margin-view-overlays .current-line-margin { background-color: ${n}; border: none; }`)),!n||n.isTransparent()||g.defines(m.editorLineHighlightBorder)){const i=g.getColor(m.editorLineHighlightBorder);i&&(t.addRule(`.monaco-editor .view-overlays .current-line { border: 2px solid ${i}; }`),t.addRule(`.monaco-editor .margin-view-overlays .current-line-margin { border: 2px solid ${i}; }`),g.type==="hc"&&(t.addRule(".monaco-editor .view-overlays .current-line { border-width: 1px; }"),t.addRule(".monaco-editor .margin-view-overlays .current-line-margin { border-width: 1px; }")))}})}),define(te[653],ie([1,0,102,54,14,11,18,19,250,186,357]),function(q,e,L,m,k,I,w,b,C,u){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IndentGuidesOverlay=void 0;class g extends L.DynamicViewOverlay{constructor(i){super();this._context=i,this._primaryPosition=null;const o=this._context.configuration.options,c=o.get(132),d=o.get(44);this._lineHeight=o.get(59),this._spaceWidth=d.spaceWidth,this._maxIndentLeft=c.wrappingColumn===-1?-1:c.wrappingColumn*d.typicalHalfwidthCharacterWidth,this._bracketPairGuideOptions=o.get(13),this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(i){const o=this._context.configuration.options,c=o.get(132),d=o.get(44);return this._lineHeight=o.get(59),this._spaceWidth=d.spaceWidth,this._maxIndentLeft=c.wrappingColumn===-1?-1:c.wrappingColumn*d.typicalHalfwidthCharacterWidth,this._bracketPairGuideOptions=o.get(13),!0}onCursorStateChanged(i){var o;const d=i.selections[0].getPosition();return((o=this._primaryPosition)===null||o===void 0?void 0:o.equals(d))?!1:(this._primaryPosition=d,!0)}onDecorationsChanged(i){return!0}onFlushed(i){return!0}onLinesChanged(i){return!0}onLinesDeleted(i){return!0}onLinesInserted(i){return!0}onScrollChanged(i){return i.scrollTopChanged}onZonesChanged(i){return!0}onLanguageConfigurationChanged(i){return!0}prepareRender(i){var o,c,d,r;if(!this._bracketPairGuideOptions.indentation&&this._bracketPairGuideOptions.bracketPairs===!1){this._renderResult=null;return}const s=i.visibleRange.startLineNumber,a=i.visibleRange.endLineNumber,l=i.scrollWidth,h=this._lineHeight,f=this._primaryPosition,S=this.getGuidesByLine(s,a,f),v=[];for(let p=s;p<=a;p++){const _=p-s,y=S[_];let E="";const N=(c=(o=i.visibleRangeForPosition(new I.Position(p,1)))===null||o===void 0?void 0:o.left)!==null&&c!==void 0?c:0;for(const D of y){const M=N+(D.visibleColumn-1)*this._spaceWidth;if(M>l||this._maxIndentLeft>0&&M>this._maxIndentLeft)break;const B=D.horizontalLine?D.horizontalLine.top?"horizontal-top":"horizontal-bottom":"vertical",O=D.horizontalLine?((r=(d=i.visibleRangeForPosition(new I.Position(p,D.horizontalLine.endColumn)))===null||d===void 0?void 0:d.left)!==null&&r!==void 0?r:M+this._spaceWidth)-M:this._spaceWidth;E+=`<div class="core-guide ${D.className} ${B}" style="left:${M}px;height:${h}px;width:${O}px"></div>`}v[_]=E}this._renderResult=v}getGuidesByLine(i,o,c){const d=this._bracketPairGuideOptions.bracketPairs!==!1?this._context.viewModel.getBracketGuidesInRangeByLine(i,o,c,{highlightActive:this._bracketPairGuideOptions.highlightActiveBracketPair,horizontalGuides:this._bracketPairGuideOptions.bracketPairsHorizontal===!0?u.HorizontalGuidesState.Enabled:this._bracketPairGuideOptions.bracketPairsHorizontal==="active"?u.HorizontalGuidesState.EnabledForActive:u.HorizontalGuidesState.Disabled,includeInactive:this._bracketPairGuideOptions.bracketPairs===!0}):null,r=this._bracketPairGuideOptions.indentation?this._context.viewModel.getLinesIndentGuides(i,o):null;let s=0,a=0,l=0;if(this._bracketPairGuideOptions.highlightActiveIndentation&&c){const S=this._context.viewModel.getActiveIndentGuide(c.lineNumber,i,o);s=S.startLineNumber,a=S.endLineNumber,l=S.indent}const{indentSize:h}=this._context.viewModel.model.getOptions(),f=[];for(let S=i;S<=o;S++){const v=new Array;f.push(v);const p=d?d[S-i]:[],_=new w.ArrayQueue(p),y=r?r[S-i]:[];for(let E=1;E<=y;E++){const N=(E-1)*h+1,D=p.length===0&&s<=S&&S<=a&&E===l;v.push(..._.takeWhile(B=>B.visibleColumn<N)||[]);const M=_.peek();(!M||M.visibleColumn!==N||M.horizontalLine)&&v.push(new u.IndentGuide(N,D?"core-guide-indent-active":"core-guide-indent",null))}v.push(..._.takeWhile(E=>!0)||[])}return f}render(i,o){if(!this._renderResult)return"";const c=o-i;return c<0||c>=this._renderResult.length?"":this._renderResult[c]}}e.IndentGuidesOverlay=g;function t(n){if(!(n&&n.isTransparent()))return n}(0,k.registerThemingParticipant)((n,i)=>{const o=n.getColor(m.editorIndentGuides);o&&i.addRule(`.monaco-editor .lines-content .core-guide-indent { box-shadow: 1px 0 0 0 ${o} inset; }`);const c=n.getColor(m.editorActiveIndentGuides)||o;c&&i.addRule(`.monaco-editor .lines-content .core-guide-indent-active { box-shadow: 1px 0 0 0 ${c} inset; }`);const d=[{bracketColor:m.editorBracketHighlightingForeground1,guideColor:m.editorBracketPairGuideBackground1,guideColorActive:m.editorBracketPairGuideActiveBackground1},{bracketColor:m.editorBracketHighlightingForeground2,guideColor:m.editorBracketPairGuideBackground2,guideColorActive:m.editorBracketPairGuideActiveBackground2},{bracketColor:m.editorBracketHighlightingForeground3,guideColor:m.editorBracketPairGuideBackground3,guideColorActive:m.editorBracketPairGuideActiveBackground3},{bracketColor:m.editorBracketHighlightingForeground4,guideColor:m.editorBracketPairGuideBackground4,guideColorActive:m.editorBracketPairGuideActiveBackground4},{bracketColor:m.editorBracketHighlightingForeground5,guideColor:m.editorBracketPairGuideBackground5,guideColorActive:m.editorBracketPairGuideActiveBackground5},{bracketColor:m.editorBracketHighlightingForeground6,guideColor:m.editorBracketPairGuideBackground6,guideColorActive:m.editorBracketPairGuideActiveBackground6}],r=new C.BracketPairGuidesClassNames,s=d.map(a=>{var l,h;const f=n.getColor(a.bracketColor),S=n.getColor(a.guideColor),v=n.getColor(a.guideColorActive),p=t((l=t(S))!==null&&l!==void 0?l:f==null?void 0:f.transparent(.3)),_=t((h=t(v))!==null&&h!==void 0?h:f);if(!(!p||!_))return{guideColor:p,guideColorActive:_}}).filter(b.isDefined);if(s.length>0){for(let a=0;a<30;a++){const l=s[a%s.length];i.addRule(`.monaco-editor .${r.getInlineClassNameOfLevel(a).replace(/ /g,".")} { --guide-color: ${l.guideColor}; --guide-color-active: ${l.guideColorActive}; }`)}i.addRule(".monaco-editor .vertical { box-shadow: 1px 0 0 0 var(--guide-color) inset; }"),i.addRule(".monaco-editor .horizontal-top { border-top: 1px solid var(--guide-color); }"),i.addRule(".monaco-editor .horizontal-bottom { border-bottom: 1px solid var(--guide-color); }"),i.addRule(`.monaco-editor .vertical.${r.activeClassName} { box-shadow: 1px 0 0 0 var(--guide-color-active) inset; }`),i.addRule(`.monaco-editor .horizontal-top.${r.activeClassName} { border-top: 1px solid var(--guide-color-active); }`),i.addRule(`.monaco-editor .horizontal-bottom.${r.activeClassName} { border-bottom: 1px solid var(--guide-color-active); }`)}})}),define(te[286],ie([1,0,16,102,11,54,14,358]),function(q,e,L,m,k,I,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LineNumbersOverlay=void 0;class b extends m.DynamicViewOverlay{constructor(u){super();this._context=u,this._readConfig(),this._lastCursorModelPosition=new k.Position(1,1),this._renderResult=null,this._activeLineNumber=1,this._context.addEventHandler(this)}_readConfig(){const u=this._context.configuration.options;this._lineHeight=u.get(59);const g=u.get(60);this._renderLineNumbers=g.renderType,this._renderCustomLineNumbers=g.renderFn,this._renderFinalNewline=u.get(84);const t=u.get(131);this._lineNumbersLeft=t.lineNumbersLeft,this._lineNumbersWidth=t.lineNumbersWidth}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(u){return this._readConfig(),!0}onCursorStateChanged(u){const g=u.selections[0].getPosition();this._lastCursorModelPosition=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(g);let t=!1;return this._activeLineNumber!==g.lineNumber&&(this._activeLineNumber=g.lineNumber,t=!0),(this._renderLineNumbers===2||this._renderLineNumbers===3)&&(t=!0),t}onFlushed(u){return!0}onLinesChanged(u){return!0}onLinesDeleted(u){return!0}onLinesInserted(u){return!0}onScrollChanged(u){return u.scrollTopChanged}onZonesChanged(u){return!0}_getLineRenderLineNumber(u){const g=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new k.Position(u,1));if(g.column!==1)return"";const t=g.lineNumber;if(this._renderCustomLineNumbers)return this._renderCustomLineNumbers(t);if(this._renderLineNumbers===2){const n=Math.abs(this._lastCursorModelPosition.lineNumber-t);return n===0?'<span class="relative-current-line-number">'+t+"</span>":String(n)}return this._renderLineNumbers===3?this._lastCursorModelPosition.lineNumber===t||t%10==0?String(t):"":String(t)}prepareRender(u){if(this._renderLineNumbers===0){this._renderResult=null;return}const g=L.isLinux?this._lineHeight%2==0?" lh-even":" lh-odd":"",t=u.visibleRange.startLineNumber,n=u.visibleRange.endLineNumber,i='<div class="'+b.CLASS_NAME+g+'" style="left:'+this._lineNumbersLeft+"px;width:"+this._lineNumbersWidth+'px;">',o=this._context.viewModel.getLineCount(),c=[];for(let d=t;d<=n;d++){const r=d-t;if(!this._renderFinalNewline&&d===o&&this._context.viewModel.getLineLength(d)===0){c[r]="";continue}const s=this._getLineRenderLineNumber(d);s?d===this._activeLineNumber?c[r]='<div class="active-line-number '+b.CLASS_NAME+g+'" style="left:'+this._lineNumbersLeft+"px;width:"+this._lineNumbersWidth+'px;">'+s+"</div>":c[r]=i+s+"</div>":c[r]=""}this._renderResult=c}render(u,g){if(!this._renderResult)return"";const t=g-u;return t<0||t>=this._renderResult.length?"":this._renderResult[t]}}e.LineNumbersOverlay=b,b.CLASS_NAME="line-numbers",(0,w.registerThemingParticipant)((C,u)=>{const g=C.getColor(I.editorLineNumbers);g&&u.addRule(`.monaco-editor .line-numbers { color: ${g}; }`);const t=C.getColor(I.editorActiveLineNumber);t&&u.addRule(`.monaco-editor .line-numbers.active-line-number { color: ${t}; }`)})}),define(te[654],ie([1,0,504,34,31,16,8,64,178,237,51,286,254,32,120,11,3,22,144,27,30,353]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s,a,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TextAreaHandler=void 0;class h{constructor(_,y,E,N,D){this._context=_,this.modelLineNumber=y,this.distanceToModelLineStart=E,this.widthOfHiddenLineTextBefore=N,this.distanceToModelLineEnd=D,this._visibleTextAreaBrand=void 0,this.startPosition=null,this.endPosition=null,this.visibleTextareaStart=null,this.visibleTextareaEnd=null,this._previousPresentation=null}prepareRender(_){const y=new c.Position(this.modelLineNumber,this.distanceToModelLineStart+1),E=new c.Position(this.modelLineNumber,this._context.viewModel.model.getLineMaxColumn(this.modelLineNumber)-this.distanceToModelLineEnd);this.startPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(y),this.endPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(E),this.startPosition.lineNumber===this.endPosition.lineNumber?(this.visibleTextareaStart=_.visibleRangeForPosition(this.startPosition),this.visibleTextareaEnd=_.visibleRangeForPosition(this.endPosition)):(this.visibleTextareaStart=null,this.visibleTextareaEnd=null)}definePresentation(_){return this._previousPresentation||(_?this._previousPresentation=_:this._previousPresentation={foreground:1,italic:!1,bold:!1,underline:!1,strikethrough:!1}),this._previousPresentation}}const f=m.isFirefox;class S extends g.ViewPart{constructor(_,y,E){super(_);this._primaryCursorPosition=new c.Position(1,1),this._primaryCursorVisibleRange=null,this._viewController=y,this._visibleRangeProvider=E,this._scrollLeft=0,this._scrollTop=0;const N=this._context.configuration.options,D=N.get(131);this._setAccessibilityOptions(N),this._contentLeft=D.contentLeft,this._contentWidth=D.contentWidth,this._contentHeight=D.height,this._fontInfo=N.get(44),this._lineHeight=N.get(59),this._emptySelectionClipboard=N.get(32),this._copyWithSyntaxHighlighting=N.get(21),this._visibleTextArea=null,this._selections=[new r.Selection(1,1,1,1)],this._modelSelections=[new r.Selection(1,1,1,1)],this._lastRenderPosition=null,this.textArea=(0,k.createFastDomNode)(document.createElement("textarea")),g.PartFingerprints.write(this.textArea,6),this.textArea.setClassName(`inputarea ${s.MOUSE_CURSOR_TEXT_CSS_CLASS_NAME}`),this.textArea.setAttribute("wrap","off"),this.textArea.setAttribute("autocorrect","off"),this.textArea.setAttribute("autocapitalize","off"),this.textArea.setAttribute("autocomplete","off"),this.textArea.setAttribute("spellcheck","false"),this.textArea.setAttribute("aria-label",this._getAriaLabel(N)),this.textArea.setAttribute("tabindex",String(N.get(112))),this.textArea.setAttribute("role","textbox"),this.textArea.setAttribute("aria-roledescription",L.localize(0,null)),this.textArea.setAttribute("aria-multiline","true"),this.textArea.setAttribute("aria-haspopup","false"),this.textArea.setAttribute("aria-autocomplete","both"),N.get(30)&&N.get(81)&&this.textArea.setAttribute("readonly","true"),this.textAreaCover=(0,k.createFastDomNode)(document.createElement("div")),this.textAreaCover.setPosition("absolute");const M={getLineCount:()=>this._context.viewModel.getLineCount(),getLineMaxColumn:T=>this._context.viewModel.getLineMaxColumn(T),getValueInRange:(T,A)=>this._context.viewModel.getValueInRange(T,A)},B={getDataToCopy:()=>{const T=this._context.viewModel.getPlainTextToCopy(this._modelSelections,this._emptySelectionClipboard,I.isWindows),A=this._context.viewModel.model.getEOL(),P=this._emptySelectionClipboard&&this._modelSelections.length===1&&this._modelSelections[0].isEmpty(),F=Array.isArray(T)?T:null,W=Array.isArray(T)?T.join(A):T;let R,z=null;if(C.CopyOptions.forceCopyWithSyntaxHighlighting||this._copyWithSyntaxHighlighting&&W.length<65536){const j=this._context.viewModel.getRichTextToCopy(this._modelSelections,this._emptySelectionClipboard);j&&(R=j.html,z=j.mode)}return{isFromEmptySelection:P,multicursorText:F,text:W,html:R,mode:z}},getScreenReaderContent:T=>{if(this._accessibilitySupport===1){if(I.isMacintosh){const A=this._selections[0];if(A.isEmpty()){const P=A.getStartPosition();let F=this._getWordBeforePosition(P);if(F.length===0&&(F=this._getCharacterBeforePosition(P)),F.length>0)return new u.TextAreaState(F,F.length,F.length,P,P)}}return u.TextAreaState.EMPTY}if(m.isAndroid){const A=this._selections[0];if(A.isEmpty()){const P=A.getStartPosition(),[F,W]=this._getAndroidWordAtPosition(P);if(F.length>0)return new u.TextAreaState(F,W,W,P,P)}return u.TextAreaState.EMPTY}return u.PagedScreenReaderStrategy.fromEditorSelection(T,M,this._selections[0],this._accessibilityPageSize,this._accessibilitySupport===0)},deduceModelPosition:(T,A,P)=>this._context.viewModel.deduceModelPositionRelativeToViewPosition(T,A,P)},O=this._register(new C.TextAreaWrapper(this.textArea.domNode));this._textAreaInput=this._register(new C.TextAreaInput(B,O,I.OS,m)),this._register(this._textAreaInput.onKeyDown(T=>{this._viewController.emitKeyDown(T)})),this._register(this._textAreaInput.onKeyUp(T=>{this._viewController.emitKeyUp(T)})),this._register(this._textAreaInput.onPaste(T=>{let A=!1,P=null,F=null;T.metadata&&(A=this._emptySelectionClipboard&&!!T.metadata.isFromEmptySelection,P=typeof T.metadata.multicursorText!="undefined"?T.metadata.multicursorText:null,F=T.metadata.mode),this._viewController.paste(T.text,A,P,F)})),this._register(this._textAreaInput.onCut(()=>{this._viewController.cut()})),this._register(this._textAreaInput.onType(T=>{T.replacePrevCharCnt||T.replaceNextCharCnt||T.positionDelta?(u._debugComposition&&console.log(` => compositionType: <<${T.text}>>, ${T.replacePrevCharCnt}, ${T.replaceNextCharCnt}, ${T.positionDelta}`),this._viewController.compositionType(T.text,T.replacePrevCharCnt,T.replaceNextCharCnt,T.positionDelta)):(u._debugComposition&&console.log(` => type: <<${T.text}>>`),this._viewController.type(T.text))})),this._register(this._textAreaInput.onSelectionChangeRequest(T=>{this._viewController.setSelection(T)})),this._register(this._textAreaInput.onCompositionStart(T=>{const A=this.textArea.domNode,P=this._modelSelections[0],{distanceToModelLineStart:F,widthOfHiddenTextBefore:W}=(()=>{const z=A.value.substring(0,Math.min(A.selectionStart,A.selectionEnd)),j=z.lastIndexOf(`
+`),$=z.substring(j+1),G=$.lastIndexOf("	"),J=$.length-G-1,re=P.getStartPosition(),se=Math.min(re.column-1,J),Z=re.column-1-se,V=$.substring(0,$.length-se),K=v(V,this._fontInfo);return{distanceToModelLineStart:Z,widthOfHiddenTextBefore:K}})(),{distanceToModelLineEnd:R}=(()=>{const z=A.value.substring(Math.max(A.selectionStart,A.selectionEnd)),j=z.indexOf(`
+`),$=j===-1?z:z.substring(0,j),G=$.indexOf("	"),J=G===-1?$.length:$.length-G-1,re=P.getEndPosition(),se=Math.min(this._context.viewModel.model.getLineMaxColumn(re.lineNumber)-re.column,J);return{distanceToModelLineEnd:this._context.viewModel.model.getLineMaxColumn(re.lineNumber)-re.column-se}})();this._context.viewModel.revealRange("keyboard",!0,d.Range.fromPositions(this._selections[0].getStartPosition()),0,1),this._visibleTextArea=new h(this._context,P.startLineNumber,F,W,R),this._visibleTextArea.prepareRender(this._visibleRangeProvider),this._render(),this.textArea.setClassName(`inputarea ${s.MOUSE_CURSOR_TEXT_CSS_CLASS_NAME} ime-input`),this._viewController.compositionStart(),this._context.viewModel.onCompositionStart()})),this._register(this._textAreaInput.onCompositionUpdate(T=>{!this._visibleTextArea||(this._visibleTextArea.prepareRender(this._visibleRangeProvider),this._render())})),this._register(this._textAreaInput.onCompositionEnd(()=>{this._visibleTextArea=null,this._render(),this.textArea.setClassName(`inputarea ${s.MOUSE_CURSOR_TEXT_CSS_CLASS_NAME}`),this._viewController.compositionEnd(),this._context.viewModel.onCompositionEnd()})),this._register(this._textAreaInput.onFocus(()=>{this._context.viewModel.setHasFocus(!0)})),this._register(this._textAreaInput.onBlur(()=>{this._context.viewModel.setHasFocus(!1)}))}dispose(){super.dispose()}_getAndroidWordAtPosition(_){const y='`~!@#$%^&*()-=+[{]}\\|;:",.<>/?',E=this._context.viewModel.getLineContent(_.lineNumber),N=(0,o.getMapForWordSeparators)(y);let D=!0,M=_.column,B=!0,O=_.column,T=0;for(;T<50&&(D||B);){if(D&&M<=1&&(D=!1),D){const A=E.charCodeAt(M-2);N.get(A)!==0?D=!1:M--}if(B&&O>E.length&&(B=!1),B){const A=E.charCodeAt(O-1);N.get(A)!==0?B=!1:O++}T++}return[E.substring(M-1,O-1),_.column-M]}_getWordBeforePosition(_){const y=this._context.viewModel.getLineContent(_.lineNumber),E=(0,o.getMapForWordSeparators)(this._context.configuration.options.get(117));let N=_.column,D=0;for(;N>1;){const M=y.charCodeAt(N-2);if(E.get(M)!==0||D>50)return y.substring(N-1,_.column-1);D++,N--}return y.substring(0,_.column-1)}_getCharacterBeforePosition(_){if(_.column>1){const E=this._context.viewModel.getLineContent(_.lineNumber).charAt(_.column-2);if(!w.isHighSurrogate(E.charCodeAt(0)))return E}return""}_getAriaLabel(_){return _.get(2)===1?L.localize(1,null,I.isLinux?"Shift+Alt+F1":"Alt+F1"):_.get(4)}_setAccessibilityOptions(_){this._accessibilitySupport=_.get(2);const y=_.get(3);this._accessibilitySupport===2&&y===i.EditorOptions.accessibilityPageSize.defaultValue?this._accessibilityPageSize=500:this._accessibilityPageSize=y}onConfigurationChanged(_){const y=this._context.configuration.options,E=y.get(131);return this._setAccessibilityOptions(y),this._contentLeft=E.contentLeft,this._contentWidth=E.contentWidth,this._contentHeight=E.height,this._fontInfo=y.get(44),this._lineHeight=y.get(59),this._emptySelectionClipboard=y.get(32),this._copyWithSyntaxHighlighting=y.get(21),this.textArea.setAttribute("aria-label",this._getAriaLabel(y)),this.textArea.setAttribute("tabindex",String(y.get(112))),(_.hasChanged(30)||_.hasChanged(81))&&(y.get(30)&&y.get(81)?this.textArea.setAttribute("readonly","true"):this.textArea.removeAttribute("readonly")),_.hasChanged(2)&&this._textAreaInput.writeScreenReaderContent("strategy changed"),!0}onCursorStateChanged(_){return this._selections=_.selections.slice(0),this._modelSelections=_.modelSelections.slice(0),this._textAreaInput.writeScreenReaderContent("selection changed"),!0}onDecorationsChanged(_){return!0}onFlushed(_){return!0}onLinesChanged(_){return!0}onLinesDeleted(_){return!0}onLinesInserted(_){return!0}onScrollChanged(_){return this._scrollLeft=_.scrollLeft,this._scrollTop=_.scrollTop,!0}onZonesChanged(_){return!0}isFocused(){return this._textAreaInput.isFocused()}focusTextArea(){this._textAreaInput.focusTextArea()}getLastRenderData(){return this._lastRenderPosition}setAriaOptions(_){_.activeDescendant?(this.textArea.setAttribute("aria-haspopup","true"),this.textArea.setAttribute("aria-autocomplete","list"),this.textArea.setAttribute("aria-activedescendant",_.activeDescendant)):(this.textArea.setAttribute("aria-haspopup","false"),this.textArea.setAttribute("aria-autocomplete","both"),this.textArea.removeAttribute("aria-activedescendant")),_.role&&this.textArea.setAttribute("role",_.role)}prepareRender(_){this._primaryCursorPosition=new c.Position(this._selections[0].positionLineNumber,this._selections[0].positionColumn),this._primaryCursorVisibleRange=_.visibleRangeForPosition(this._primaryCursorPosition),this._visibleTextArea&&this._visibleTextArea.prepareRender(_)}render(_){this._textAreaInput.writeScreenReaderContent("render"),this._render()}_render(){if(this._visibleTextArea){const E=this._visibleTextArea.visibleTextareaStart,N=this._visibleTextArea.visibleTextareaEnd,D=this._visibleTextArea.startPosition,M=this._visibleTextArea.endPosition;if(D&&M&&E&&N&&N.left>=this._scrollLeft&&E.left<=this._scrollLeft+this._contentWidth){const B=this._context.viewLayout.getVerticalOffsetForLineNumber(this._primaryCursorPosition.lineNumber)-this._scrollTop,O=this._newlinecount(this.textArea.domNode.value.substr(0,this.textArea.domNode.selectionStart));let T=this._visibleTextArea.widthOfHiddenLineTextBefore,A=this._contentLeft+E.left-this._scrollLeft,P=N.left-E.left+1;if(A<this._contentLeft){const $=this._contentLeft-A;A+=$,T+=$,P-=$}P>this._contentWidth&&(P=this._contentWidth);const F=this._context.viewModel.getViewLineData(D.lineNumber),W=F.tokens.findTokenIndexAtOffset(D.column-1),R=F.tokens.findTokenIndexAtOffset(M.column-1),z=W===R,j=this._visibleTextArea.definePresentation(z?F.tokens.getPresentation(W):null);this.textArea.domNode.scrollTop=O*this._lineHeight,this.textArea.domNode.scrollLeft=T,this._doRender({lastRenderPosition:null,top:B,left:A,width:P,height:this._lineHeight,useCover:!1,color:(a.TokenizationRegistry.getColorMap()||[])[j.foreground],italic:j.italic,bold:j.bold,underline:j.underline,strikethrough:j.strikethrough})}return}if(!this._primaryCursorVisibleRange){this._renderAtTopLeft();return}const _=this._contentLeft+this._primaryCursorVisibleRange.left-this._scrollLeft;if(_<this._contentLeft||_>this._contentLeft+this._contentWidth){this._renderAtTopLeft();return}const y=this._context.viewLayout.getVerticalOffsetForLineNumber(this._selections[0].positionLineNumber)-this._scrollTop;if(y<0||y>this._contentHeight){this._renderAtTopLeft();return}if(I.isMacintosh){this._doRender({lastRenderPosition:this._primaryCursorPosition,top:y,left:_,width:f?0:1,height:this._lineHeight,useCover:!1}),this.textArea.domNode.scrollLeft=this._primaryCursorVisibleRange.left;const E=this._newlinecount(this.textArea.domNode.value.substr(0,this.textArea.domNode.selectionStart));this.textArea.domNode.scrollTop=E*this._lineHeight;return}this._doRender({lastRenderPosition:this._primaryCursorPosition,top:y,left:_,width:f?0:1,height:f?0:1,useCover:!1})}_newlinecount(_){let y=0,E=-1;do{if(E=_.indexOf(`
+`,E+1),E===-1)break;y++}while(!0);return y}_renderAtTopLeft(){this._doRender({lastRenderPosition:null,top:0,left:0,width:f?0:1,height:f?0:1,useCover:!0})}_doRender(_){this._lastRenderPosition=_.lastRenderPosition;const y=this.textArea,E=this.textAreaCover;(0,b.applyFontInfo)(y,this._fontInfo),y.setTop(_.top),y.setLeft(_.left),y.setWidth(_.width),y.setHeight(_.height),y.setColor(_.color?l.Color.Format.CSS.formatHex(_.color):""),y.setFontStyle(_.italic?"italic":""),_.bold&&y.setFontWeight("bold"),y.setTextDecoration(`${_.underline?" underline":""}${_.strikethrough?" line-through":""}`),E.setTop(_.useCover?_.top:0),E.setLeft(_.useCover?_.left:0),E.setWidth(_.useCover?_.width:0),E.setHeight(_.useCover?_.height:0);const N=this._context.configuration.options;N.get(50)?E.setClassName("monaco-editor-background textAreaCover "+n.Margin.OUTER_CLASS_NAME):N.get(60).renderType!==0?E.setClassName("monaco-editor-background textAreaCover "+t.LineNumbersOverlay.CLASS_NAME):E.setClassName("monaco-editor-background textAreaCover")}}e.TextAreaHandler=S;function v(p,_){if(p.length===0)return 0;const y=document.createElement("div");y.style.position="absolute",y.style.top="-50000px",y.style.width="50000px";const E=document.createElement("span");(0,b.applyFontInfo)(E,_),E.style.whiteSpace="pre",E.append(p),y.appendChild(E),document.body.appendChild(y);const N=E.offsetWidth;return document.body.removeChild(y),N}}),define(te[655],ie([1,0,31,30,51,11,27,54,71]),function(q,e,L,m,k,I,w,b,C){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DecorationsOverviewRuler=void 0;class u{constructor(n,i){const o=n.options;this.lineHeight=o.get(59),this.pixelRatio=o.get(129),this.overviewRulerLanes=o.get(74),this.renderBorder=o.get(73);const c=i.getColor(b.editorOverviewRulerBorder);this.borderColor=c?c.toString():null,this.hideCursor=o.get(52);const d=i.getColor(b.editorCursorForeground);this.cursorColor=d?d.transparent(.7).toString():null,this.themeType=i.type;const r=o.get(65),s=r.enabled,a=r.side,l=s?i.getColor(b.editorOverviewRulerBackground)||w.TokenizationRegistry.getDefaultBackground():null;l===null||a==="left"?this.backgroundColor=null:this.backgroundColor=m.Color.Format.CSS.formatHex(l);const f=o.get(131).overviewRuler;this.top=f.top,this.right=f.right,this.domWidth=f.width,this.domHeight=f.height,this.overviewRulerLanes===0?(this.canvasWidth=0,this.canvasHeight=0):(this.canvasWidth=this.domWidth*this.pixelRatio|0,this.canvasHeight=this.domHeight*this.pixelRatio|0);const[S,v]=this._initLanes(1,this.canvasWidth,this.overviewRulerLanes);this.x=S,this.w=v}_initLanes(n,i,o){const c=i-n;if(o>=3){const d=Math.floor(c/3),r=Math.floor(c/3),s=c-d-r,a=n,l=a+d,h=a+d+s;return[[0,a,l,a,h,a,l,a],[0,d,s,d+s,r,d+s+r,s+r,d+s+r]]}else if(o===2){const d=Math.floor(c/2),r=c-d,s=n,a=s+d;return[[0,s,s,s,a,s,s,s],[0,d,d,d,r,d+r,d+r,d+r]]}else{const d=n,r=c;return[[0,d,d,d,d,d,d,d],[0,r,r,r,r,r,r,r]]}}equals(n){return this.lineHeight===n.lineHeight&&this.pixelRatio===n.pixelRatio&&this.overviewRulerLanes===n.overviewRulerLanes&&this.renderBorder===n.renderBorder&&this.borderColor===n.borderColor&&this.hideCursor===n.hideCursor&&this.cursorColor===n.cursorColor&&this.themeType===n.themeType&&this.backgroundColor===n.backgroundColor&&this.top===n.top&&this.right===n.right&&this.domWidth===n.domWidth&&this.domHeight===n.domHeight&&this.canvasWidth===n.canvasWidth&&this.canvasHeight===n.canvasHeight}}class g extends k.ViewPart{constructor(n){super(n);this._domNode=(0,L.createFastDomNode)(document.createElement("canvas")),this._domNode.setClassName("decorationsOverviewRuler"),this._domNode.setPosition("absolute"),this._domNode.setLayerHinting(!0),this._domNode.setContain("strict"),this._domNode.setAttribute("aria-hidden","true"),this._updateSettings(!1),this._tokensColorTrackerListener=w.TokenizationRegistry.onDidChange(i=>{i.changedColorMap&&this._updateSettings(!0)}),this._cursorPositions=[]}dispose(){super.dispose(),this._tokensColorTrackerListener.dispose()}_updateSettings(n){const i=new u(this._context.configuration,this._context.theme);return this._settings&&this._settings.equals(i)?!1:(this._settings=i,this._domNode.setTop(this._settings.top),this._domNode.setRight(this._settings.right),this._domNode.setWidth(this._settings.domWidth),this._domNode.setHeight(this._settings.domHeight),this._domNode.domNode.width=this._settings.canvasWidth,this._domNode.domNode.height=this._settings.canvasHeight,n&&this._render(),!0)}onConfigurationChanged(n){return this._updateSettings(!1)}onCursorStateChanged(n){this._cursorPositions=[];for(let i=0,o=n.selections.length;i<o;i++)this._cursorPositions[i]=n.selections[i].getPosition();return this._cursorPositions.sort(I.Position.compare),!0}onDecorationsChanged(n){return!!n.affectsOverviewRuler}onFlushed(n){return!0}onScrollChanged(n){return n.scrollHeightChanged}onZonesChanged(n){return!0}onThemeChanged(n){return this._updateSettings(!1)}getDomNode(){return this._domNode.domNode}prepareRender(n){}render(n){this._render()}_render(){if(this._settings.overviewRulerLanes===0){this._domNode.setBackgroundColor(this._settings.backgroundColor?this._settings.backgroundColor:""),this._domNode.setDisplay("none");return}this._domNode.setDisplay("block");const n=this._settings.canvasWidth,i=this._settings.canvasHeight,o=this._settings.lineHeight,c=this._context.viewLayout,d=this._context.viewLayout.getScrollHeight(),r=i/d,s=this._context.viewModel.getAllOverviewRulerDecorations(this._context.theme),a=6*this._settings.pixelRatio|0,l=a/2|0,h=this._domNode.domNode.getContext("2d");this._settings.backgroundColor===null?h.clearRect(0,0,n,i):(h.fillStyle=this._settings.backgroundColor,h.fillRect(0,0,n,i));const f=this._settings.x,S=this._settings.w;s.sort(C.OverviewRulerDecorationsGroup.cmp);for(const v of s){const p=v.color,_=v.data;h.fillStyle=p;let y=0,E=0,N=0;for(let D=0,M=_.length/3;D<M;D++){const B=_[3*D],O=_[3*D+1],T=_[3*D+2];let A=c.getVerticalOffsetForLineNumber(O)*r|0,P=(c.getVerticalOffsetForLineNumber(T)+o)*r|0;if(P-A<a){let W=(A+P)/2|0;W<l?W=l:W+l>i&&(W=i-l),A=W-l,P=W+l}A>N+1||B!==y?(D!==0&&h.fillRect(f[y],E,S[y],N-E),y=B,E=A,N=P):P>N&&(N=P)}h.fillRect(f[y],E,S[y],N-E)}if(!this._settings.hideCursor&&this._settings.cursorColor){const v=2*this._settings.pixelRatio|0,p=v/2|0,_=this._settings.x[7],y=this._settings.w[7];h.fillStyle=this._settings.cursorColor;let E=-100,N=-100;for(let D=0,M=this._cursorPositions.length;D<M;D++){const B=this._cursorPositions[D];let O=c.getVerticalOffsetForLineNumber(B.lineNumber)*r|0;O<p?O=p:O+p>i&&(O=i-p);const T=O-p,A=T+v;T>N+1?(D!==0&&h.fillRect(_,E,y,N-E),E=T,N=A):A>N&&(N=A)}h.fillRect(_,E,y,N-E)}this._settings.renderBorder&&this._settings.borderColor&&this._settings.overviewRulerLanes>0&&(h.beginPath(),h.lineWidth=1,h.strokeStyle=this._settings.borderColor,h.moveTo(0,0),h.lineTo(0,i),h.stroke(),h.moveTo(0,0),h.lineTo(n,0),h.stroke())}}e.DecorationsOverviewRuler=g}),define(te[656],ie([1,0,31,51,54,14,364]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Rulers=void 0;class w extends m.ViewPart{constructor(C){super(C);this.domNode=(0,L.createFastDomNode)(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.domNode.setClassName("view-rulers"),this._renderedRulers=[];const u=this._context.configuration.options;this._rulers=u.get(91),this._typicalHalfwidthCharacterWidth=u.get(44).typicalHalfwidthCharacterWidth}dispose(){super.dispose()}onConfigurationChanged(C){const u=this._context.configuration.options;return this._rulers=u.get(91),this._typicalHalfwidthCharacterWidth=u.get(44).typicalHalfwidthCharacterWidth,!0}onScrollChanged(C){return C.scrollHeightChanged}prepareRender(C){}_ensureRulersCount(){const C=this._renderedRulers.length,u=this._rulers.length;if(C===u)return;if(C<u){const{tabSize:t}=this._context.viewModel.model.getOptions(),n=t;let i=u-C;for(;i>0;){const o=(0,L.createFastDomNode)(document.createElement("div"));o.setClassName("view-ruler"),o.setWidth(n),this.domNode.appendChild(o),this._renderedRulers.push(o),i--}return}let g=C-u;for(;g>0;){const t=this._renderedRulers.pop();this.domNode.removeChild(t),g--}}render(C){this._ensureRulersCount();for(let u=0,g=this._rulers.length;u<g;u++){const t=this._renderedRulers[u],n=this._rulers[u];t.setBoxShadow(n.color?`1px 0 0 0 ${n.color} inset`:""),t.setHeight(Math.min(C.scrollHeight,1e6)),t.setLeft(n.column*this._typicalHalfwidthCharacterWidth)}}}e.Rulers=w,(0,I.registerThemingParticipant)((b,C)=>{const u=b.getColor(k.editorRuler);u&&C.addRule(`.monaco-editor .view-ruler { box-shadow: 1px 0 0 0 ${u} inset; }`)})}),define(te[657],ie([1,0,31,10,51,517,32,54,14,367]),function(q,e,L,m,k,I,w,b,C){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewCursors=void 0;class u extends k.ViewPart{constructor(t){super(t);const n=this._context.configuration.options;this._readOnly=n.get(81),this._cursorBlinking=n.get(22),this._cursorStyle=n.get(24),this._cursorSmoothCaretAnimation=n.get(23),this._selectionIsEmpty=!0,this._isComposingInput=!1,this._isVisible=!1,this._primaryCursor=new I.ViewCursor(this._context),this._secondaryCursors=[],this._renderData=[],this._domNode=(0,L.createFastDomNode)(document.createElement("div")),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._updateDomClassName(),this._domNode.appendChild(this._primaryCursor.getDomNode()),this._startCursorBlinkAnimation=new m.TimeoutTimer,this._cursorFlatBlinkInterval=new m.IntervalTimer,this._blinkingEnabled=!1,this._editorHasFocus=!1,this._updateBlinking()}dispose(){super.dispose(),this._startCursorBlinkAnimation.dispose(),this._cursorFlatBlinkInterval.dispose()}getDomNode(){return this._domNode}onCompositionStart(t){return this._isComposingInput=!0,this._updateBlinking(),!0}onCompositionEnd(t){return this._isComposingInput=!1,this._updateBlinking(),!0}onConfigurationChanged(t){const n=this._context.configuration.options;this._readOnly=n.get(81),this._cursorBlinking=n.get(22),this._cursorStyle=n.get(24),this._cursorSmoothCaretAnimation=n.get(23),this._updateBlinking(),this._updateDomClassName(),this._primaryCursor.onConfigurationChanged(t);for(let i=0,o=this._secondaryCursors.length;i<o;i++)this._secondaryCursors[i].onConfigurationChanged(t);return!0}_onCursorPositionChanged(t,n){if(this._primaryCursor.onCursorPositionChanged(t),this._updateBlinking(),this._secondaryCursors.length<n.length){const i=n.length-this._secondaryCursors.length;for(let o=0;o<i;o++){const c=new I.ViewCursor(this._context);this._domNode.domNode.insertBefore(c.getDomNode().domNode,this._primaryCursor.getDomNode().domNode.nextSibling),this._secondaryCursors.push(c)}}else if(this._secondaryCursors.length>n.length){const i=this._secondaryCursors.length-n.length;for(let o=0;o<i;o++)this._domNode.removeChild(this._secondaryCursors[0].getDomNode()),this._secondaryCursors.splice(0,1)}for(let i=0;i<n.length;i++)this._secondaryCursors[i].onCursorPositionChanged(n[i])}onCursorStateChanged(t){const n=[];for(let o=0,c=t.selections.length;o<c;o++)n[o]=t.selections[o].getPosition();this._onCursorPositionChanged(n[0],n.slice(1));const i=t.selections[0].isEmpty();return this._selectionIsEmpty!==i&&(this._selectionIsEmpty=i,this._updateDomClassName()),!0}onDecorationsChanged(t){return!0}onFlushed(t){return!0}onFocusChanged(t){return this._editorHasFocus=t.isFocused,this._updateBlinking(),!1}onLinesChanged(t){return!0}onLinesDeleted(t){return!0}onLinesInserted(t){return!0}onScrollChanged(t){return!0}onTokensChanged(t){const n=i=>{for(let o=0,c=t.ranges.length;o<c;o++)if(t.ranges[o].fromLineNumber<=i.lineNumber&&i.lineNumber<=t.ranges[o].toLineNumber)return!0;return!1};if(n(this._primaryCursor.getPosition()))return!0;for(const i of this._secondaryCursors)if(n(i.getPosition()))return!0;return!1}onZonesChanged(t){return!0}_getCursorBlinking(){return this._isComposingInput||!this._editorHasFocus?0:this._readOnly?5:this._cursorBlinking}_updateBlinking(){this._startCursorBlinkAnimation.cancel(),this._cursorFlatBlinkInterval.cancel();const t=this._getCursorBlinking(),n=t===0,i=t===5;n?this._hide():this._show(),this._blinkingEnabled=!1,this._updateDomClassName(),!n&&!i&&(t===1?this._cursorFlatBlinkInterval.cancelAndSet(()=>{this._isVisible?this._hide():this._show()},u.BLINK_INTERVAL):this._startCursorBlinkAnimation.setIfNotSet(()=>{this._blinkingEnabled=!0,this._updateDomClassName()},u.BLINK_INTERVAL))}_updateDomClassName(){this._domNode.setClassName(this._getClassName())}_getClassName(){let t="cursors-layer";switch(this._selectionIsEmpty||(t+=" has-selection"),this._cursorStyle){case w.TextEditorCursorStyle.Line:t+=" cursor-line-style";break;case w.TextEditorCursorStyle.Block:t+=" cursor-block-style";break;case w.TextEditorCursorStyle.Underline:t+=" cursor-underline-style";break;case w.TextEditorCursorStyle.LineThin:t+=" cursor-line-thin-style";break;case w.TextEditorCursorStyle.BlockOutline:t+=" cursor-block-outline-style";break;case w.TextEditorCursorStyle.UnderlineThin:t+=" cursor-underline-thin-style";break;default:t+=" cursor-line-style"}if(this._blinkingEnabled)switch(this._getCursorBlinking()){case 1:t+=" cursor-blink";break;case 2:t+=" cursor-smooth";break;case 3:t+=" cursor-phase";break;case 4:t+=" cursor-expand";break;case 5:t+=" cursor-solid";break;default:t+=" cursor-solid"}else t+=" cursor-solid";return this._cursorSmoothCaretAnimation&&(t+=" cursor-smooth-caret-animation"),t}_show(){this._primaryCursor.show();for(let t=0,n=this._secondaryCursors.length;t<n;t++)this._secondaryCursors[t].show();this._isVisible=!0}_hide(){this._primaryCursor.hide();for(let t=0,n=this._secondaryCursors.length;t<n;t++)this._secondaryCursors[t].hide();this._isVisible=!1}prepareRender(t){this._primaryCursor.prepareRender(t);for(let n=0,i=this._secondaryCursors.length;n<i;n++)this._secondaryCursors[n].prepareRender(t)}render(t){const n=[];let i=0;const o=this._primaryCursor.render(t);o&&(n[i++]=o);for(let c=0,d=this._secondaryCursors.length;c<d;c++){const r=this._secondaryCursors[c].render(t);r&&(n[i++]=r)}this._renderData=n}getLastRenderData(){return this._renderData}}e.ViewCursors=u,u.BLINK_INTERVAL=500,(0,C.registerThemingParticipant)((g,t)=>{const n=g.getColor(b.editorCursorForeground);if(n){let i=g.getColor(b.editorCursorBackground);i||(i=n.opposite()),t.addRule(`.monaco-editor .inputarea.ime-input { caret-color: ${n}; }`),t.addRule(`.monaco-editor .cursors-layer .cursor { background-color: ${n}; border-color: ${n}; color: ${i}; }`),g.type==="hc"&&t.addRule(`.monaco-editor .cursors-layer.has-selection .cursor { border-left: 1px solid ${i}; border-right: 1px solid ${i}; }`)}})}),define(te[658],ie([1,0,4,2,3,54,14]),function(q,e,L,m,k,I,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ColorizedBracketPairsDecorationProvider=void 0;class b extends m.Disposable{constructor(g){super();this.textModel=g,this.colorProvider=new C,this.onDidChangeEmitter=new L.Emitter,this.onDidChange=this.onDidChangeEmitter.event,this.colorizationOptions=g.getOptions().bracketPairColorizationOptions,this._register(g.bracketPairs.onDidChange(t=>{this.onDidChangeEmitter.fire()}))}handleDidChangeOptions(g){this.colorizationOptions=this.textModel.getOptions().bracketPairColorizationOptions}getDecorationsInRange(g,t,n){if(t===void 0)return[];if(!this.colorizationOptions.enabled)return[];const i=new Array,o=this.textModel.bracketPairs.getBracketsInRange(g);for(const c of o)i.push({id:`bracket${c.range.toString()}-${c.nestingLevel}`,options:{description:"BracketPairColorization",inlineClassName:this.colorProvider.getInlineClassName(c)},ownerId:0,range:c.range});return i}getAllDecorations(g,t){return g===void 0?[]:this.colorizationOptions.enabled?this.getDecorationsInRange(new k.Range(1,1,this.textModel.getLineCount(),1),g,t):[]}}e.ColorizedBracketPairsDecorationProvider=b;class C{constructor(){this.unexpectedClosingBracketClassName="unexpected-closing-bracket"}getInlineClassName(g){return g.isInvalid?this.unexpectedClosingBracketClassName:this.getInlineClassNameOfLevel(g.nestingLevel)}getInlineClassNameOfLevel(g){return`bracket-highlighting-${g%30}`}}(0,w.registerThemingParticipant)((u,g)=>{const t=[I.editorBracketHighlightingForeground1,I.editorBracketHighlightingForeground2,I.editorBracketHighlightingForeground3,I.editorBracketHighlightingForeground4,I.editorBracketHighlightingForeground5,I.editorBracketHighlightingForeground6],n=new C;g.addRule(`.monaco-editor .${n.unexpectedClosingBracketClassName} { color: ${u.getColor(I.editorBracketHighlightingUnexpectedBracketForeground)}; }`);const i=t.map(o=>u.getColor(o)).filter(o=>!!o).filter(o=>!o.isTransparent());for(let o=0;o<30;o++){const c=i[o%i.length];g.addRule(`.monaco-editor .${n.getInlineClassNameOfLevel(o)} { color: ${c}; }`)}})}),define(te[659],ie([1,0,79,2,50,14,54,48,3,45,4,23,49]),function(q,e,L,m,k,I,w,b,C,u,g,t,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MarkerDecorationsService=void 0;class i extends m.Disposable{constructor(d){super();this.model=d,this._markersData=new Map,this._register((0,m.toDisposable)(()=>{this.model.deltaDecorations([...this._markersData.keys()],[]),this._markersData.clear()}))}update(d,r){const s=[...this._markersData.keys()];this._markersData.clear();const a=this.model.deltaDecorations(s,r);for(let l=0;l<a.length;l++)this._markersData.set(a[l],d[l]);return s.length!==0||a.length!==0}getMarker(d){return this._markersData.get(d.id)}}let o=class extends m.Disposable{constructor(d,r){super();this._markerService=r,this._onDidChangeMarker=this._register(new g.Emitter),this._markerDecorations=new n.ResourceMap,d.getModels().forEach(s=>this._onModelAdded(s)),this._register(d.onModelAdded(this._onModelAdded,this)),this._register(d.onModelRemoved(this._onModelRemoved,this)),this._register(this._markerService.onMarkerChanged(this._handleMarkerChange,this))}dispose(){super.dispose(),this._markerDecorations.forEach(d=>d.dispose()),this._markerDecorations.clear()}getMarker(d,r){const s=this._markerDecorations.get(d);return s&&s.getMarker(r)||null}_handleMarkerChange(d){d.forEach(r=>{const s=this._markerDecorations.get(r);s&&this._updateDecorations(s)})}_onModelAdded(d){const r=new i(d);this._markerDecorations.set(d.uri,r),this._updateDecorations(r)}_onModelRemoved(d){const r=this._markerDecorations.get(d.uri);r&&(r.dispose(),this._markerDecorations.delete(d.uri)),(d.uri.scheme===u.Schemas.inMemory||d.uri.scheme===u.Schemas.internal||d.uri.scheme===u.Schemas.vscode)&&this._markerService&&this._markerService.read({resource:d.uri}).map(s=>s.owner).forEach(s=>this._markerService.remove(s,[d.uri]))}_updateDecorations(d){const r=this._markerService.read({resource:d.model.uri,take:500}),s=r.map(a=>({range:this._createDecorationRange(d.model,a),options:this._createDecorationOption(a)}));d.update(r,s)&&this._onDidChangeMarker.fire(d.model)}_createDecorationRange(d,r){let s=C.Range.lift(r);if(r.severity===L.MarkerSeverity.Hint&&!this._hasMarkerTag(r,1)&&!this._hasMarkerTag(r,2)&&(s=s.setEndPosition(s.startLineNumber,s.startColumn+2)),s=d.validateRange(s),s.isEmpty()){const a=d.getLineLastNonWhitespaceColumn(s.startLineNumber)||d.getLineMaxColumn(s.startLineNumber);if(a===1||s.endColumn>=a)return s;const l=d.getWordAtPosition(s.getStartPosition());l&&(s=new C.Range(s.startLineNumber,l.startColumn,s.endLineNumber,l.endColumn))}else if(r.endColumn===Number.MAX_VALUE&&r.startColumn===1&&s.startLineNumber===s.endLineNumber){let a=d.getLineFirstNonWhitespaceColumn(r.startLineNumber);a<s.endColumn&&(s=new C.Range(s.startLineNumber,a,s.endLineNumber,s.endColumn),r.startColumn=a)}return s}_createDecorationOption(d){let r,s,a,l,h;switch(d.severity){case L.MarkerSeverity.Hint:this._hasMarkerTag(d,2)?r=void 0:this._hasMarkerTag(d,1)?r="squiggly-unnecessary":r="squiggly-hint",a=0;break;case L.MarkerSeverity.Warning:r="squiggly-warning",s=(0,I.themeColorFromId)(w.overviewRulerWarning),a=20,h={color:(0,I.themeColorFromId)(t.minimapWarning),position:k.MinimapPosition.Inline};break;case L.MarkerSeverity.Info:r="squiggly-info",s=(0,I.themeColorFromId)(w.overviewRulerInfo),a=10;break;case L.MarkerSeverity.Error:default:r="squiggly-error",s=(0,I.themeColorFromId)(w.overviewRulerError),a=30,h={color:(0,I.themeColorFromId)(t.minimapError),position:k.MinimapPosition.Inline};break}return d.tags&&(d.tags.indexOf(1)!==-1&&(l="squiggly-inline-unnecessary"),d.tags.indexOf(2)!==-1&&(l="squiggly-inline-deprecated")),{description:"marker-decoration",stickiness:1,className:r,showIfCollapsed:!0,overviewRuler:{color:s,position:k.OverviewRulerLane.Right},minimap:h,zIndex:a,inlineClassName:l}}_hasMarkerTag(d,r){return d.tags?d.tags.indexOf(r)>=0:!1}};o=Ie([pe(0,b.IModelService),pe(1,L.IMarkerService)],o),e.MarkerDecorationsService=o}),define(te[287],ie([1,0,27,14,66,443,35]),function(q,e,L,m,k,I,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.toMultilineTokens2=e.SemanticTokensProviderStyling=void 0;let b=class{constructor(n,i,o,c){this._legend=n,this._themeService=i,this._languageService=o,this._logService=c,this._hashTable=new g,this._hasWarnedOverlappingTokens=!1}getMetadata(n,i,o){const c=this._languageService.languageIdCodec.encodeLanguageId(o),d=this._hashTable.get(n,i,c);let r;if(d)r=d.metadata,this._logService.getLevel()===k.LogLevel.Trace&&this._logService.trace(`SemanticTokensProviderStyling [CACHED] ${n} / ${i}: foreground ${L.TokenMetadata.getForeground(r)}, fontStyle ${L.TokenMetadata.getFontStyle(r).toString(2)}`);else{let s=this._legend.tokenTypes[n];const a=[];if(s){let l=i;for(let f=0;l>0&&f<this._legend.tokenModifiers.length;f++)l&1&&a.push(this._legend.tokenModifiers[f]),l=l>>1;l>0&&this._logService.getLevel()===k.LogLevel.Trace&&(this._logService.trace(`SemanticTokensProviderStyling: unknown token modifier index: ${i.toString(2)} for legend: ${JSON.stringify(this._legend.tokenModifiers)}`),a.push("not-in-legend"));const h=this._themeService.getColorTheme().getTokenStyleMetadata(s,a,o);typeof h=="undefined"?r=2147483647:(r=0,typeof h.italic!="undefined"&&(r|=(h.italic?1:0)<<10|1),typeof h.bold!="undefined"&&(r|=(h.bold?2:0)<<10|2),typeof h.underline!="undefined"&&(r|=(h.underline?4:0)<<10|4),typeof h.strikethrough!="undefined"&&(r|=(h.strikethrough?8:0)<<10|8),h.foreground&&(r|=h.foreground<<14|16),r===0&&(r=2147483647))}else this._logService.getLevel()===k.LogLevel.Trace&&this._logService.trace(`SemanticTokensProviderStyling: unknown token type index: ${n} for legend: ${JSON.stringify(this._legend.tokenTypes)}`),r=2147483647,s="not-in-legend";this._hashTable.add(n,i,c,r),this._logService.getLevel()===k.LogLevel.Trace&&this._logService.trace(`SemanticTokensProviderStyling ${n} (${s}) / ${i} (${a.join(" ")}): foreground ${L.TokenMetadata.getForeground(r)}, fontStyle ${L.TokenMetadata.getFontStyle(r).toString(2)}`)}return r}warnOverlappingSemanticTokens(n,i){this._hasWarnedOverlappingTokens||(this._hasWarnedOverlappingTokens=!0,console.warn(`Overlapping semantic tokens detected at lineNumber ${n}, column ${i}`))}};b=Ie([pe(1,m.IThemeService),pe(2,w.ILanguageService),pe(3,k.ILogService)],b),e.SemanticTokensProviderStyling=b;function C(t,n,i){const o=t.data,c=t.data.length/5|0,d=Math.max(Math.ceil(c/1024),400),r=[];let s=0,a=1,l=0;for(;s<c;){const h=s;let f=Math.min(h+d,c);if(f<c){let D=f;for(;D-1>h&&o[5*D]===0;)D--;if(D-1===h){let M=f;for(;M+1<c&&o[5*M]===0;)M++;f=M}else f=D}let S=new Uint32Array((f-h)*4),v=0,p=0,_=0,y=0,E=0;for(;s<f;){const D=5*s,M=o[D],B=o[D+1],O=a+M|0,T=M===0?l+B|0:B,A=o[D+2],P=o[D+3],F=o[D+4],W=n.getMetadata(P,F,i);W!==2147483647&&(p===0&&(p=O),_===O&&E>T&&(n.warnOverlappingSemanticTokens(O,T+1),y<T?S[v-4+2]=T:v-=4),S[v]=O-p,S[v+1]=T,S[v+2]=T+A,S[v+3]=W,v+=4,_=O,y=T,E=T+A),a=O,l=T,s++}v!==S.length&&(S=S.subarray(0,v));const N=I.SparseMultilineTokens.create(p,S);r.push(N)}return r}e.toMultilineTokens2=C;class u{constructor(n,i,o,c){this.tokenTypeIndex=n,this.tokenModifierSet=i,this.languageId=o,this.metadata=c,this.next=null}}class g{constructor(){this._elementsCount=0,this._currentLengthIndex=0,this._currentLength=g._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1<g._SIZES.length?2/3*this._currentLength:0),this._elements=[],g._nullOutEntries(this._elements,this._currentLength)}static _nullOutEntries(n,i){for(let o=0;o<i;o++)n[o]=null}_hash2(n,i){return(n<<5)-n+i|0}_hashFunc(n,i,o){return this._hash2(this._hash2(n,i),o)%this._currentLength}get(n,i,o){const c=this._hashFunc(n,i,o);let d=this._elements[c];for(;d;){if(d.tokenTypeIndex===n&&d.tokenModifierSet===i&&d.languageId===o)return d;d=d.next}return null}add(n,i,o,c){if(this._elementsCount++,this._growCount!==0&&this._elementsCount>=this._growCount){const d=this._elements;this._currentLengthIndex++,this._currentLength=g._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1<g._SIZES.length?2/3*this._currentLength:0),this._elements=[],g._nullOutEntries(this._elements,this._currentLength);for(const r of d){let s=r;for(;s;){const a=s.next;s.next=null,this._add(s),s=a}}}this._add(new u(n,i,o,c))}_add(n){const i=this._hashFunc(n.tokenTypeIndex,n.tokenModifierSet,n.languageId);n.next=this._elements[i],this._elements[i]=n}}g._SIZES=[3,7,13,31,61,127,251,509,1021,2039,4093,8191,16381,32749,65521,131071,262139,524287,1048573,2097143]}),define(te[660],ie([1,0,7,98,60,28,4,2,184,529,43,23,14,373]),function(q,e,L,m,k,I,w,b,C,u,g,t,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LightBulbWidget=void 0;var i;(function(c){c.Hidden={type:0};class d{constructor(s,a,l,h){this.actions=s,this.trigger=a,this.editorPosition=l,this.widgetPosition=h,this.type=1}}c.Showing=d})(i||(i={}));let o=class wi extends b.Disposable{constructor(d,r,s,a){super();this._editor=d,this._quickFixActionId=r,this._preferredFixActionId=s,this._keybindingService=a,this._onClick=this._register(new w.Emitter),this.onClick=this._onClick.event,this._state=i.Hidden,this._domNode=document.createElement("div"),this._domNode.className=I.Codicon.lightBulb.classNames,this._editor.addContentWidget(this),this._register(this._editor.onDidChangeModelContent(l=>{const h=this._editor.getModel();(this.state.type!==1||!h||this.state.editorPosition.lineNumber>=h.getLineCount())&&this.hide()})),k.Gesture.ignoreTarget(this._domNode),this._register(L.addStandardDisposableGenericMouseDownListener(this._domNode,l=>{if(this.state.type!==1)return;this._editor.focus(),l.preventDefault();const{top:h,height:f}=L.getDomNodePagePosition(this._domNode),S=this._editor.getOption(59);let v=Math.floor(S/3);this.state.widgetPosition.position!==null&&this.state.widgetPosition.position.lineNumber<this.state.editorPosition.lineNumber&&(v+=S),this._onClick.fire({x:l.posx,y:h+f+v,actions:this.state.actions,trigger:this.state.trigger})})),this._register(L.addDisposableListener(this._domNode,"mouseenter",l=>{if((l.buttons&1)!=1)return;this.hide();const h=new m.GlobalMouseMoveMonitor;h.startMonitoring(l.target,l.buttons,m.standardMouseMoveMerger,()=>{},()=>{h.dispose()})})),this._register(this._editor.onDidChangeConfiguration(l=>{l.hasChanged(57)&&!this._editor.getOption(57).enabled&&this.hide()})),this._updateLightBulbTitleAndIcon(),this._register(this._keybindingService.onDidUpdateKeybindings(this._updateLightBulbTitleAndIcon,this))}dispose(){super.dispose(),this._editor.removeContentWidget(this)}getId(){return"LightBulbWidget"}getDomNode(){return this._domNode}getPosition(){return this._state.type===1?this._state.widgetPosition:null}update(d,r,s){if(d.validActions.length<=0)return this.hide();const a=this._editor.getOptions();if(!a.get(57).enabled)return this.hide();const l=this._editor.getModel();if(!l)return this.hide();const{lineNumber:h,column:f}=l.validatePosition(s),S=l.getOptions().tabSize,v=a.get(44),p=l.getLineContent(h),_=(0,C.computeIndentLevel)(p,S),y=v.spaceWidth*_>22,E=D=>D>2&&this._editor.getTopForLineNumber(D)===this._editor.getTopForLineNumber(D-1);let N=h;if(!y){if(h>1&&!E(h-1))N-=1;else if(!E(h+1))N+=1;else if(f*v.spaceWidth<22)return this.hide()}this.state=new i.Showing(d,r,s,{position:{lineNumber:N,column:1},preference:wi._posPref}),this._editor.layoutContentWidget(this)}hide(){this.state=i.Hidden,this._editor.layoutContentWidget(this)}get state(){return this._state}set state(d){this._state=d,this._updateLightBulbTitleAndIcon()}_updateLightBulbTitleAndIcon(){if(this.state.type===1&&this.state.actions.hasAutoFix){this._domNode.classList.remove(...I.Codicon.lightBulb.classNamesArray),this._domNode.classList.add(...I.Codicon.lightbulbAutofix.classNamesArray);const r=this._keybindingService.lookupKeybinding(this._preferredFixActionId);if(r){this.title=u.localize(0,null,r.getLabel());return}}this._domNode.classList.remove(...I.Codicon.lightbulbAutofix.classNamesArray),this._domNode.classList.add(...I.Codicon.lightBulb.classNamesArray);const d=this._keybindingService.lookupKeybinding(this._quickFixActionId);d?this.title=u.localize(1,null,d.getLabel()):this.title=u.localize(2,null)}set title(d){this._domNode.title=d}};o._posPref=[0],o=Ie([pe(3,g.IKeybindingService)],o),e.LightBulbWidget=o,(0,n.registerThemingParticipant)((c,d)=>{var r;const s=(r=c.getColor(t.editorBackground))===null||r===void 0?void 0:r.transparent(.7),a=c.getColor(t.editorLightBulbForeground);a&&d.addRule(`
+		.monaco-editor .contentWidgets ${I.Codicon.lightBulb.cssSelector} {
+			color: ${a};
+			background-color: ${s};
+		}`);const l=c.getColor(t.editorLightBulbAutoFixForeground);l&&d.addRule(`
+		.monaco-editor .contentWidgets ${I.Codicon.lightbulbAutofix.cssSelector} {
+			color: ${l};
+			background-color: ${s};
+		}`)})}),define(te[661],ie([1,0,34,7,98,62,30,4,2,531,23,14,375]),function(q,e,L,m,k,I,w,b,C,u,g,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ColorPickerWidget=e.ColorPickerBody=e.ColorPickerHeader=void 0;const n=m.$;class i extends C.Disposable{constructor(h,f,S){super();this.model=f,this.domNode=n(".colorpicker-header"),m.append(h,this.domNode),this.pickedColorNode=m.append(this.domNode,n(".picked-color"));const v=(0,u.localize)(0,null);this.pickedColorNode.setAttribute("title",v);const p=m.append(this.domNode,n(".original-color"));p.style.backgroundColor=w.Color.Format.CSS.format(this.model.originalColor)||"",this.backgroundColor=S.getColorTheme().getColor(g.editorHoverBackground)||w.Color.white,this._register((0,t.registerThemingParticipant)((_,y)=>{this.backgroundColor=_.getColor(g.editorHoverBackground)||w.Color.white})),this._register(m.addDisposableListener(this.pickedColorNode,m.EventType.CLICK,()=>this.model.selectNextColorPresentation())),this._register(m.addDisposableListener(p,m.EventType.CLICK,()=>{this.model.color=this.model.originalColor,this.model.flushColor()})),this._register(f.onDidChangeColor(this.onDidChangeColor,this)),this._register(f.onDidChangePresentation(this.onDidChangePresentation,this)),this.pickedColorNode.style.backgroundColor=w.Color.Format.CSS.format(f.color)||"",this.pickedColorNode.classList.toggle("light",f.color.rgba.a<.5?this.backgroundColor.isLighter():f.color.isLighter()),this.onDidChangeColor(this.model.color)}onDidChangeColor(h){this.pickedColorNode.style.backgroundColor=w.Color.Format.CSS.format(h)||"",this.pickedColorNode.classList.toggle("light",h.rgba.a<.5?this.backgroundColor.isLighter():h.isLighter()),this.onDidChangePresentation()}onDidChangePresentation(){this.pickedColorNode.textContent=this.model.presentation?this.model.presentation.label:"",this.pickedColorNode.prepend(n(".codicon.codicon-color-mode"))}}e.ColorPickerHeader=i;class o extends C.Disposable{constructor(h,f,S){super();this.model=f,this.pixelRatio=S,this.domNode=n(".colorpicker-body"),m.append(h,this.domNode),this.saturationBox=new c(this.domNode,this.model,this.pixelRatio),this._register(this.saturationBox),this._register(this.saturationBox.onDidChange(this.onDidSaturationValueChange,this)),this._register(this.saturationBox.onColorFlushed(this.flushColor,this)),this.opacityStrip=new r(this.domNode,this.model),this._register(this.opacityStrip),this._register(this.opacityStrip.onDidChange(this.onDidOpacityChange,this)),this._register(this.opacityStrip.onColorFlushed(this.flushColor,this)),this.hueStrip=new s(this.domNode,this.model),this._register(this.hueStrip),this._register(this.hueStrip.onDidChange(this.onDidHueChange,this)),this._register(this.hueStrip.onColorFlushed(this.flushColor,this))}flushColor(){this.model.flushColor()}onDidSaturationValueChange({s:h,v:f}){const S=this.model.color.hsva;this.model.color=new w.Color(new w.HSVA(S.h,h,f,S.a))}onDidOpacityChange(h){const f=this.model.color.hsva;this.model.color=new w.Color(new w.HSVA(f.h,f.s,f.v,h))}onDidHueChange(h){const f=this.model.color.hsva,S=(1-h)*360;this.model.color=new w.Color(new w.HSVA(S===360?0:S,f.s,f.v,f.a))}layout(){this.saturationBox.layout(),this.opacityStrip.layout(),this.hueStrip.layout()}}e.ColorPickerBody=o;class c extends C.Disposable{constructor(h,f,S){super();this.model=f,this.pixelRatio=S,this._onDidChange=new b.Emitter,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new b.Emitter,this.onColorFlushed=this._onColorFlushed.event,this.domNode=n(".saturation-wrap"),m.append(h,this.domNode),this.canvas=document.createElement("canvas"),this.canvas.className="saturation-box",m.append(this.domNode,this.canvas),this.selection=n(".saturation-selection"),m.append(this.domNode,this.selection),this.layout(),this._register(m.addDisposableGenericMouseDownListener(this.domNode,v=>this.onMouseDown(v))),this._register(this.model.onDidChangeColor(this.onDidChangeColor,this)),this.monitor=null}onMouseDown(h){this.monitor=this._register(new k.GlobalMouseMoveMonitor);const f=m.getDomNodePagePosition(this.domNode);h.target!==this.selection&&this.onDidChangePosition(h.offsetX,h.offsetY),this.monitor.startMonitoring(h.target,h.buttons,k.standardMouseMoveMerger,v=>this.onDidChangePosition(v.posx-f.left,v.posy-f.top),()=>null);const S=m.addDisposableGenericMouseUpListener(document,()=>{this._onColorFlushed.fire(),S.dispose(),this.monitor&&(this.monitor.stopMonitoring(!0),this.monitor=null)},!0)}onDidChangePosition(h,f){const S=Math.max(0,Math.min(1,h/this.width)),v=Math.max(0,Math.min(1,1-f/this.height));this.paintSelection(S,v),this._onDidChange.fire({s:S,v})}layout(){this.width=this.domNode.offsetWidth,this.height=this.domNode.offsetHeight,this.canvas.width=this.width*this.pixelRatio,this.canvas.height=this.height*this.pixelRatio,this.paint();const h=this.model.color.hsva;this.paintSelection(h.s,h.v)}paint(){const h=this.model.color.hsva,f=new w.Color(new w.HSVA(h.h,1,1,1)),S=this.canvas.getContext("2d"),v=S.createLinearGradient(0,0,this.canvas.width,0);v.addColorStop(0,"rgba(255, 255, 255, 1)"),v.addColorStop(.5,"rgba(255, 255, 255, 0.5)"),v.addColorStop(1,"rgba(255, 255, 255, 0)");const p=S.createLinearGradient(0,0,0,this.canvas.height);p.addColorStop(0,"rgba(0, 0, 0, 0)"),p.addColorStop(1,"rgba(0, 0, 0, 1)"),S.rect(0,0,this.canvas.width,this.canvas.height),S.fillStyle=w.Color.Format.CSS.format(f),S.fill(),S.fillStyle=v,S.fill(),S.fillStyle=p,S.fill()}paintSelection(h,f){this.selection.style.left=`${h*this.width}px`,this.selection.style.top=`${this.height-f*this.height}px`}onDidChangeColor(){this.monitor&&this.monitor.isMonitoring()||this.paint()}}class d extends C.Disposable{constructor(h,f){super();this.model=f,this._onDidChange=new b.Emitter,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new b.Emitter,this.onColorFlushed=this._onColorFlushed.event,this.domNode=m.append(h,n(".strip")),this.overlay=m.append(this.domNode,n(".overlay")),this.slider=m.append(this.domNode,n(".slider")),this.slider.style.top="0px",this._register(m.addDisposableGenericMouseDownListener(this.domNode,S=>this.onMouseDown(S))),this.layout()}layout(){this.height=this.domNode.offsetHeight-this.slider.offsetHeight;const h=this.getValue(this.model.color);this.updateSliderPosition(h)}onMouseDown(h){const f=this._register(new k.GlobalMouseMoveMonitor),S=m.getDomNodePagePosition(this.domNode);this.domNode.classList.add("grabbing"),h.target!==this.slider&&this.onDidChangeTop(h.offsetY),f.startMonitoring(h.target,h.buttons,k.standardMouseMoveMerger,p=>this.onDidChangeTop(p.posy-S.top),()=>null);const v=m.addDisposableGenericMouseUpListener(document,()=>{this._onColorFlushed.fire(),v.dispose(),f.stopMonitoring(!0),this.domNode.classList.remove("grabbing")},!0)}onDidChangeTop(h){const f=Math.max(0,Math.min(1,1-h/this.height));this.updateSliderPosition(f),this._onDidChange.fire(f)}updateSliderPosition(h){this.slider.style.top=`${(1-h)*this.height}px`}}class r extends d{constructor(h,f){super(h,f);this.domNode.classList.add("opacity-strip"),this._register(f.onDidChangeColor(this.onDidChangeColor,this)),this.onDidChangeColor(this.model.color)}onDidChangeColor(h){const{r:f,g:S,b:v}=h.rgba,p=new w.Color(new w.RGBA(f,S,v,1)),_=new w.Color(new w.RGBA(f,S,v,0));this.overlay.style.background=`linear-gradient(to bottom, ${p} 0%, ${_} 100%)`}getValue(h){return h.hsva.a}}class s extends d{constructor(h,f){super(h,f);this.domNode.classList.add("hue-strip")}getValue(h){return 1-h.hsva.h/360}}class a extends I.Widget{constructor(h,f,S,v){super();this.model=f,this.pixelRatio=S,this._register(L.PixelRatio.onDidChange(()=>this.layout()));const p=n(".colorpicker-widget");h.appendChild(p);const _=new i(p,this.model,v);this.body=new o(p,this.model,this.pixelRatio),this._register(_),this._register(this.body)}layout(){this.body.layout()}}e.ColorPickerWidget=a}),define(te[662],ie([1,0,7,226,220,195,75,173,2,42,56,548,9,43,131,134,14,129]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AccessibilityProvider=e.OneReferenceRenderer=e.FileReferencesRenderer=e.IdentityProvider=e.StringRepresentationProvider=e.Delegate=e.DataSource=void 0;let s=class{constructor(E){this._resolverService=E}hasChildren(E){return E instanceof r.ReferencesModel||E instanceof r.FileReferences}getChildren(E){if(E instanceof r.ReferencesModel)return E.groups;if(E instanceof r.FileReferences)return E.resolve(this._resolverService).then(N=>N.children);throw new Error("bad tree")}};s=Ie([pe(0,g.ITextModelService)],s),e.DataSource=s;class a{getHeight(){return 23}getTemplateId(E){return E instanceof r.FileReferences?S.id:p.id}}e.Delegate=a;let l=class{constructor(E){this._keybindingService=E}getKeyboardNavigationLabel(E){var N;if(E instanceof r.OneReference){const D=(N=E.parent.getPreview(E))===null||N===void 0?void 0:N.preview(E.range);if(D)return D.value}return(0,u.basename)(E.uri)}};l=Ie([pe(0,i.IKeybindingService)],l),e.StringRepresentationProvider=l;class h{getId(E){return E instanceof r.OneReference?E.id:E.uri}}e.IdentityProvider=h;let f=class extends C.Disposable{constructor(E,N,D){super();this._uriLabel=N;const M=document.createElement("div");M.classList.add("reference-file"),this.file=this._register(new I.IconLabel(M,{supportHighlights:!0})),this.badge=new m.CountBadge(L.append(M,L.$(".count"))),this._register((0,c.attachBadgeStyler)(this.badge,D)),E.appendChild(M)}set(E,N){let D=(0,u.dirname)(E.uri);this.file.setLabel((0,b.getBaseLabel)(E.uri),this._uriLabel.getUriLabel(D,{relative:!0}),{title:this._uriLabel.getUriLabel(E.uri),matches:N});const M=E.children.length;this.badge.setCount(M),M>1?this.badge.setTitleFormat((0,t.localize)(0,null,M)):this.badge.setTitleFormat((0,t.localize)(1,null,M))}};f=Ie([pe(1,o.ILabelService),pe(2,d.IThemeService)],f);let S=class Li{constructor(E){this._instantiationService=E,this.templateId=Li.id}renderTemplate(E){return this._instantiationService.createInstance(f,E)}renderElement(E,N,D){D.set(E.element,(0,w.createMatches)(E.filterData))}disposeTemplate(E){E.dispose()}};S.id="FileReferencesRenderer",S=Ie([pe(0,n.IInstantiationService)],S),e.FileReferencesRenderer=S;class v{constructor(E){this.label=new k.HighlightedLabel(E)}set(E,N){var D;const M=(D=E.parent.getPreview(E))===null||D===void 0?void 0:D.preview(E.range);if(!M||!M.value)this.label.set(`${(0,u.basename)(E.uri)}:${E.range.startLineNumber+1}:${E.range.startColumn+1}`);else{const{value:B,highlight:O}=M;N&&!w.FuzzyScore.isDefault(N)?(this.label.element.classList.toggle("referenceMatch",!1),this.label.set(B,(0,w.createMatches)(N))):(this.label.element.classList.toggle("referenceMatch",!0),this.label.set(B,[O]))}}}class p{constructor(){this.templateId=p.id}renderTemplate(E){return new v(E)}renderElement(E,N,D){D.set(E.element,E.filterData)}disposeTemplate(){}}e.OneReferenceRenderer=p,p.id="OneReferenceRenderer";class _{getWidgetAriaLabel(){return(0,t.localize)(2,null)}getAriaLabel(E){return E.ariaMessage}}e.AccessibilityProvider=_}),define(te[663],ie([1,0,7,2,8,64,32,77,11,3,93,35,54,154,126,9,14,382]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d){"use strict";var r;Object.defineProperty(e,"__esModule",{value:!0}),e.GhostTextWidget=void 0;const s=(r=window.trustedTypes)===null||r===void 0?void 0:r.createPolicy("editorGhostText",{createHTML:v=>v});let a=class extends m.Disposable{constructor(p,_,y,E){super();this.editor=p,this.model=_,this.instantiationService=y,this.languageService=E,this.disposed=!1,this.partsWidget=this._register(this.instantiationService.createInstance(l,this.editor)),this.additionalLinesWidget=this._register(new h(this.editor,this.languageService.languageIdCodec)),this.viewMoreContentWidget=void 0,this._register(this.editor.onDidChangeConfiguration(N=>{(N.hasChanged(29)||N.hasChanged(105)||N.hasChanged(88)||N.hasChanged(83)||N.hasChanged(45)||N.hasChanged(44)||N.hasChanged(59))&&this.update()})),this._register((0,m.toDisposable)(()=>{var N;this.disposed=!0,this.update(),(N=this.viewMoreContentWidget)===null||N===void 0||N.dispose(),this.viewMoreContentWidget=void 0})),this._register(_.onDidChange(()=>{this.update()})),this.update()}shouldShowHoverAtViewZone(p){return this.additionalLinesWidget.viewZoneId===p}update(){var p;const _=this.model.ghostText;if(!this.editor.hasModel()||!_||this.disposed){this.partsWidget.clear(),this.additionalLinesWidget.clear();return}const y=new Array,E=new Array;function N(O,T){if(E.length>0){const A=E[E.length-1];T&&A.decorations.push(new i.LineDecoration(A.content.length+1,A.content.length+1+O[0].length,T,0)),A.content+=O[0],O=O.slice(1)}for(const A of O)E.push({content:A,decorations:T?[new i.LineDecoration(1,A.length+1,T,0)]:[]})}const D=this.editor.getModel().getLineContent(_.lineNumber);this.editor.getModel().getLineTokens(_.lineNumber);let M,B=0;for(const O of _.parts){let T=O.lines;M===void 0?(y.push({column:O.column,text:T[0],preview:O.preview}),T=T.slice(1)):N([D.substring(B,O.column-1)],void 0),T.length>0&&(N(T,"ghost-text"),M===void 0&&O.column<=D.length&&(M=O.column)),B=O.column-1}M!==void 0&&N([D.substring(B)],void 0),this.partsWidget.setParts(_.lineNumber,y,M!==void 0?{column:M,length:D.length+1-M}:void 0),this.additionalLinesWidget.updateLines(_.lineNumber,E,_.additionalReservedLineCount),_.parts.some(O=>O.lines.length<0)?this.viewMoreContentWidget=this.renderViewMoreLines(new C.Position(_.lineNumber,this.editor.getModel().getLineMaxColumn(_.lineNumber)),"",0):((p=this.viewMoreContentWidget)===null||p===void 0||p.dispose(),this.viewMoreContentWidget=void 0)}renderViewMoreLines(p,_,y){const E=this.editor.getOption(44),N=document.createElement("div");N.className="suggest-preview-additional-widget",(0,I.applyFontInfo)(N,E);const D=document.createElement("span");D.className="content-spacer",D.append(_),N.append(D);const M=document.createElement("span");M.className="content-newline suggest-preview-text",M.append("\u23CE  "),N.append(M);const B=new m.DisposableStore,O=document.createElement("div");return O.className="button suggest-preview-text",O.append(`+${y} lines\u2026`),B.add(L.addStandardDisposableListener(O,"mousedown",T=>{var A;(A=this.model)===null||A===void 0||A.setExpanded(!0),T.preventDefault(),this.editor.focus()})),N.append(O),new S(this.editor,p,N,B)}};a=Ie([pe(2,c.IInstantiationService),pe(3,t.ILanguageService)],a),e.GhostTextWidget=a;class l{constructor(p){this.editor=p,this.decorationIds=[],this.disposableStore=new m.DisposableStore}dispose(){this.clear(),this.disposableStore.dispose()}clear(){this.editor.deltaDecorations(this.decorationIds,[]),this.disposableStore.clear()}setParts(p,_,y){if(this.disposableStore.clear(),!this.editor.getModel())return;const N=new Array;y&&N.push({range:u.Range.fromPositions(new C.Position(p,y.column),new C.Position(p,y.column+y.length)),options:{inlineClassName:"ghost-text-hidden",description:"ghost-text-hidden"}}),this.decorationIds=this.editor.deltaDecorations(this.decorationIds,_.map(D=>({range:u.Range.fromPositions(new C.Position(p,D.column)),options:{description:"ghost-text",after:{content:D.text,inlineClassName:D.preview?"ghost-text-decoration-preview":"ghost-text-decoration"},showIfCollapsed:!0}})).concat(N))}}class h{constructor(p,_){this.editor=p,this.languageIdCodec=_,this._viewZoneId=void 0}get viewZoneId(){return this._viewZoneId}dispose(){this.clear()}clear(){this.editor.changeViewZones(p=>{this._viewZoneId&&(p.removeZone(this._viewZoneId),this._viewZoneId=void 0)})}updateLines(p,_,y){const E=this.editor.getModel();if(!E)return;const{tabSize:N}=E.getOptions();this.editor.changeViewZones(D=>{this._viewZoneId&&(D.removeZone(this._viewZoneId),this._viewZoneId=void 0);const M=Math.max(_.length,y);if(M>0){const B=document.createElement("div");f(B,N,_,this.editor.getOptions(),this.languageIdCodec),this._viewZoneId=D.addZone({afterLineNumber:p,heightInLines:M,domNode:B,afterColumnAffinity:1})}})}}function f(v,p,_,y,E){const N=y.get(29),D=y.get(105),M="none",B=y.get(83),O=y.get(45),T=y.get(44),A=y.get(59),P=(0,g.createStringBuilder)(1e4);P.appendASCIIString('<div class="suggest-preview-text">');for(let R=0,z=_.length;R<z;R++){const j=_[R],$=j.content;P.appendASCIIString('<div class="view-line'),P.appendASCIIString('" style="top:'),P.appendASCIIString(String(R*A)),P.appendASCIIString('px;width:1000000px;">');const G=k.isBasicASCII($),J=k.containsRTL($),re=b.LineTokens.createEmpty($,E);(0,o.renderViewLine)(new o.RenderLineInput(T.isMonospace&&!N,T.canUseHalfwidthRightwardsArrow,$,!1,G,J,0,re,j.decorations,p,0,T.spaceWidth,T.middotWidth,T.wsmiddotWidth,D,M,B,O!==w.EditorFontLigatures.OFF,null),P),P.appendASCIIString("</div>")}P.appendASCIIString("</div>"),(0,I.applyFontInfo)(v,T);const F=P.build(),W=s?s.createHTML(F):F;v.innerHTML=W}class S extends m.Disposable{constructor(p,_,y,E){super();this.editor=p,this.position=_,this.domNode=y,this.allowEditorOverflow=!1,this.suppressMouseDown=!1,this._register(E),this._register((0,m.toDisposable)(()=>{this.editor.removeContentWidget(this)})),this.editor.addContentWidget(this)}getId(){return"editor.widget.viewMoreLinesWidget"}getDomNode(){return this.domNode}getPosition(){return{position:this.position,preference:[0]}}}(0,d.registerThemingParticipant)((v,p)=>{const _=v.getColor(n.ghostTextForeground);_&&(p.addRule(`.monaco-editor .ghost-text-decoration { color: ${_.toString()} !important; }`),p.addRule(`.monaco-editor .ghost-text-decoration-preview { color: ${_.toString()} !important; }`),p.addRule(`.monaco-editor .suggest-preview-text .ghost-text { color: ${_.toString()} !important; }`));const y=v.getColor(n.ghostTextBackground);y&&(p.addRule(`.monaco-editor .ghost-text-decoration { background-color: ${y.toString()}; }`),p.addRule(`.monaco-editor .ghost-text-decoration-preview { background-color: ${y.toString()}; }`),p.addRule(`.monaco-editor .suggest-preview-text .ghost-text { background-color: ${y.toString()}; }`));const E=v.getColor(n.ghostTextBorder);E&&(p.addRule(`.monaco-editor .suggest-preview-text .ghost-text { border: 1px solid ${E}; }`),p.addRule(`.monaco-editor .ghost-text-decoration { border: 1px solid ${E}; }`),p.addRule(`.monaco-editor .ghost-text-decoration-preview { border: 1px solid ${E}; }`))})}),define(te[288],ie([1,0,91,2,19,150,50,54,14]),function(q,e,L,m,k,I,w,b,C){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractEditorNavigationQuickAccessProvider=void 0;class u{constructor(t){this.options=t,this.rangeHighlightDecorationId=void 0}provide(t,n){var i;const o=new m.DisposableStore;t.canAcceptInBackground=!!((i=this.options)===null||i===void 0?void 0:i.canAcceptInBackground),t.matchOnLabel=t.matchOnDescription=t.matchOnDetail=t.sortByLabel=!1;const c=o.add(new m.MutableDisposable);return c.value=this.doProvide(t,n),o.add(this.onDidActiveTextEditorControlChange(()=>{c.value=void 0,c.value=this.doProvide(t,n)})),o}doProvide(t,n){const i=new m.DisposableStore,o=this.activeTextEditorControl;if(o&&this.canProvideWithTextEditor(o)){const c={editor:o},d=(0,I.getCodeEditor)(o);if(d){let r=(0,k.withNullAsUndefined)(o.saveViewState());i.add(d.onDidChangeCursorPosition(()=>{r=(0,k.withNullAsUndefined)(o.saveViewState())})),c.restoreViewState=()=>{r&&o===this.activeTextEditorControl&&o.restoreViewState(r)},i.add((0,L.once)(n.onCancellationRequested)(()=>{var s;return(s=c.restoreViewState)===null||s===void 0?void 0:s.call(c)}))}i.add((0,m.toDisposable)(()=>this.clearDecorations(o))),i.add(this.provideWithTextEditor(c,t,n))}else i.add(this.provideWithoutTextEditor(t,n));return i}canProvideWithTextEditor(t){return!0}gotoLocation({editor:t},n){t.setSelection(n.range),t.revealRangeInCenter(n.range,0),n.preserveFocus||t.focus()}getModel(t){var n;return(0,I.isDiffEditor)(t)?(n=t.getModel())===null||n===void 0?void 0:n.modified:t.getModel()}addDecorations(t,n){t.changeDecorations(i=>{const o=[];this.rangeHighlightDecorationId&&(o.push(this.rangeHighlightDecorationId.overviewRulerDecorationId),o.push(this.rangeHighlightDecorationId.rangeHighlightId),this.rangeHighlightDecorationId=void 0);const c=[{range:n,options:{description:"quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:n,options:{description:"quick-access-range-highlight-overview",overviewRuler:{color:(0,C.themeColorFromId)(b.overviewRulerRangeHighlight),position:w.OverviewRulerLane.Full}}}],[d,r]=i.deltaDecorations(o,c);this.rangeHighlightDecorationId={rangeHighlightId:d,overviewRulerDecorationId:r}})}clearDecorations(t){const n=this.rangeHighlightDecorationId;n&&(t.changeDecorations(i=>{i.deltaDecorations([n.overviewRulerDecorationId,n.rangeHighlightId],[])}),this.rangeHighlightDecorationId=void 0)}}e.AbstractEditorNavigationQuickAccessProvider=u}),define(te[664],ie([1,0,2,150,288,569]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractGotoLineQuickAccessProvider=void 0;class w extends k.AbstractEditorNavigationQuickAccessProvider{constructor(){super({canAcceptInBackground:!0})}provideWithoutTextEditor(C){const u=(0,I.localize)(0,null);return C.items=[{label:u}],C.ariaLabel=u,L.Disposable.None}provideWithTextEditor(C,u,g){const t=C.editor,n=new L.DisposableStore;n.add(u.onDidAccept(c=>{const[d]=u.selectedItems;if(d){if(!this.isValidLineNumber(t,d.lineNumber))return;this.gotoLocation(C,{range:this.toRange(d.lineNumber,d.column),keyMods:u.keyMods,preserveFocus:c.inBackground}),c.inBackground||u.hide()}}));const i=()=>{const c=this.parsePosition(t,u.value.trim().substr(w.PREFIX.length)),d=this.getPickLabel(t,c.lineNumber,c.column);if(u.items=[{lineNumber:c.lineNumber,column:c.column,label:d}],u.ariaLabel=d,!this.isValidLineNumber(t,c.lineNumber)){this.clearDecorations(t);return}const r=this.toRange(c.lineNumber,c.column);t.revealRangeInCenter(r,0),this.addDecorations(t,r)};i(),n.add(u.onDidChangeValue(()=>i()));const o=(0,m.getCodeEditor)(t);return o&&o.getOptions().get(60).renderType===2&&(o.updateOptions({lineNumbers:"on"}),n.add((0,L.toDisposable)(()=>o.updateOptions({lineNumbers:"relative"})))),n}toRange(C=1,u=1){return{startLineNumber:C,startColumn:u,endLineNumber:C,endColumn:u}}parsePosition(C,u){const g=u.split(/,|:|#/).map(n=>parseInt(n,10)).filter(n=>!isNaN(n)),t=this.lineCount(C)+1;return{lineNumber:g[0]>0?g[0]:t+g[0],column:g[1]}}getPickLabel(C,u,g){if(this.isValidLineNumber(C,u))return this.isValidColumn(C,u,g)?(0,I.localize)(1,null,u,g):(0,I.localize)(2,null,u);const t=C.getPosition()||{lineNumber:1,column:1},n=this.lineCount(C);return n>1?(0,I.localize)(3,null,t.lineNumber,t.column,n):(0,I.localize)(4,null,t.lineNumber,t.column)}isValidLineNumber(C,u){return!u||typeof u!="number"?!1:u>0&&u<=this.lineCount(C)}isValidColumn(C,u,g){if(!g||typeof g!="number")return!1;const t=this.getModel(C);if(!t)return!1;const n={lineNumber:u,column:g};return t.validatePosition(n).equals(n)}lineCount(C){var u,g;return(g=(u=this.getModel(C))===null||u===void 0?void 0:u.getLineCount())!==null&&g!==void 0?g:0}}e.AbstractGotoLineQuickAccessProvider=w,w.PREFIX=":"}),define(te[665],ie([1,0,10,21,28,322,2,8,3,27,205,288,570,20]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractGotoSymbolQuickAccessProvider=void 0;let o=class Qt extends t.AbstractEditorNavigationQuickAccessProvider{constructor(s,a,l=Object.create(null)){super(l);this._languageFeaturesService=s,this._outlineModelService=a,this.options=l,this.options.canAcceptInBackground=!0}provideWithoutTextEditor(s){return this.provideLabelPick(s,(0,n.localize)(0,null)),w.Disposable.None}provideWithTextEditor(s,a,l){const h=s.editor,f=this.getModel(h);return f?this._languageFeaturesService.documentSymbolProvider.has(f)?this.doProvideWithEditorSymbols(s,f,a,l):this.doProvideWithoutEditorSymbols(s,f,a,l):w.Disposable.None}doProvideWithoutEditorSymbols(s,a,l,h){const f=new w.DisposableStore;return this.provideLabelPick(l,(0,n.localize)(1,null)),(()=>we(this,void 0,void 0,function*(){!(yield this.waitForLanguageSymbolRegistry(a,f))||h.isCancellationRequested||f.add(this.doProvideWithEditorSymbols(s,a,l,h))}))(),f}provideLabelPick(s,a){s.items=[{label:a,index:0,kind:14}],s.ariaLabel=a}waitForLanguageSymbolRegistry(s,a){return we(this,void 0,void 0,function*(){if(this._languageFeaturesService.documentSymbolProvider.has(s))return!0;const l=new L.DeferredPromise,h=a.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>{this._languageFeaturesService.documentSymbolProvider.has(s)&&(h.dispose(),l.complete(!0))}));return a.add((0,w.toDisposable)(()=>l.complete(!1))),l.p})}doProvideWithEditorSymbols(s,a,l,h){const f=s.editor,S=new w.DisposableStore;S.add(l.onDidAccept(E=>{const[N]=l.selectedItems;N&&N.range&&(this.gotoLocation(s,{range:N.range.selection,keyMods:l.keyMods,preserveFocus:E.inBackground}),E.inBackground||l.hide())})),S.add(l.onDidTriggerItemButton(({item:E})=>{E&&E.range&&(this.gotoLocation(s,{range:E.range.selection,keyMods:l.keyMods,forceSideBySide:!0}),l.hide())}));const v=this.getDocumentSymbols(a,h);let p;const _=()=>we(this,void 0,void 0,function*(){p==null||p.dispose(!0),l.busy=!1,p=new m.CancellationTokenSource(h),l.busy=!0;try{const E=(0,I.prepareQuery)(l.value.substr(Qt.PREFIX.length).trim()),N=yield this.doGetSymbolPicks(v,E,void 0,p.token);if(h.isCancellationRequested)return;N.length>0?l.items=N:E.original.length>0?this.provideLabelPick(l,(0,n.localize)(2,null)):this.provideLabelPick(l,(0,n.localize)(3,null))}finally{h.isCancellationRequested||(l.busy=!1)}});S.add(l.onDidChangeValue(()=>_())),_();let y=!0;return S.add(l.onDidChangeActive(()=>{const[E]=l.activeItems;if(E&&E.range){if(y){y=!1;return}f.revealRangeInCenter(E.range.selection,0),this.addDecorations(f,E.range.decoration)}})),S}doGetSymbolPicks(s,a,l,h){return we(this,void 0,void 0,function*(){const f=yield s;if(h.isCancellationRequested)return[];const S=a.original.indexOf(Qt.SCOPE_PREFIX)===0,v=S?1:0;let p,_;a.values&&a.values.length>1?(p=(0,I.pieceToQuery)(a.values[0]),_=(0,I.pieceToQuery)(a.values.slice(1))):p=a;const y=[];for(let D=0;D<f.length;D++){const M=f[D],B=(0,b.trim)(M.name),O=`$(${u.SymbolKinds.toIcon(M.kind).id}) ${B}`,T=O.length-B.length;let A=M.containerName;(l==null?void 0:l.extraContainerLabel)&&(A?A=`${l.extraContainerLabel} \u2022 ${A}`:A=l.extraContainerLabel);let P,F,W,R;if(a.original.length>v){let j=!1;if(p!==a&&([P,F]=(0,I.scoreFuzzy2)(O,Object.assign(Object.assign({},a),{values:void 0}),v,T),typeof P=="number"&&(j=!0)),typeof P!="number"&&([P,F]=(0,I.scoreFuzzy2)(O,p,v,T),typeof P!="number"))continue;if(!j&&_){if(A&&_.original.length>0&&([W,R]=(0,I.scoreFuzzy2)(A,_)),typeof W!="number")continue;typeof P=="number"&&(P+=W)}}const z=M.tags&&M.tags.indexOf(1)>=0;y.push({index:D,kind:M.kind,score:P,label:O,ariaLabel:B,description:A,highlights:z?void 0:{label:F,description:R},range:{selection:C.Range.collapseToStart(M.selectionRange),decoration:M.range},strikethrough:z,buttons:(()=>{var j,$;const G=((j=this.options)===null||j===void 0?void 0:j.openSideBySideDirection)?($=this.options)===null||$===void 0?void 0:$.openSideBySideDirection():void 0;if(!!G)return[{iconClass:G==="right"?k.Codicon.splitHorizontal.classNames:k.Codicon.splitVertical.classNames,tooltip:G==="right"?(0,n.localize)(4,null):(0,n.localize)(5,null)}]})()})}const E=y.sort((D,M)=>S?this.compareByKindAndScore(D,M):this.compareByScore(D,M));let N=[];if(S){let O=function(){M&&typeof D=="number"&&B>0&&(M.label=(0,b.format)(d[D]||c,B))},D,M,B=0;for(const T of E)D!==T.kind?(O(),D=T.kind,B=1,M={type:"separator"},N.push(M)):B++,N.push(T);O()}else E.length>0&&(N=[{label:(0,n.localize)(6,null,y.length),type:"separator"},...E]);return N})}compareByScore(s,a){if(typeof s.score!="number"&&typeof a.score=="number")return 1;if(typeof s.score=="number"&&typeof a.score!="number")return-1;if(typeof s.score=="number"&&typeof a.score=="number"){if(s.score>a.score)return-1;if(s.score<a.score)return 1}return s.index<a.index?-1:s.index>a.index?1:0}compareByKindAndScore(s,a){const l=d[s.kind]||c,h=d[a.kind]||c,f=l.localeCompare(h);return f===0?this.compareByScore(s,a):f}getDocumentSymbols(s,a){return we(this,void 0,void 0,function*(){const l=yield this._outlineModelService.getOrCreate(s,a);return a.isCancellationRequested?[]:l.asListOfDocumentSymbols()})}};o.PREFIX="@",o.SCOPE_PREFIX=":",o.PREFIX_BY_CATEGORY=`${o.PREFIX}${o.SCOPE_PREFIX}`,o=Ie([pe(0,i.ILanguageFeaturesService),pe(1,g.IOutlineModelService)],o),e.AbstractGotoSymbolQuickAccessProvider=o;const c=(0,n.localize)(7,null),d={[5]:(0,n.localize)(8,null),[11]:(0,n.localize)(9,null),[8]:(0,n.localize)(10,null),[12]:(0,n.localize)(11,null),[4]:(0,n.localize)(12,null),[22]:(0,n.localize)(13,null),[23]:(0,n.localize)(14,null),[24]:(0,n.localize)(15,null),[10]:(0,n.localize)(16,null),[2]:(0,n.localize)(17,null),[3]:(0,n.localize)(18,null),[25]:(0,n.localize)(19,null),[1]:(0,n.localize)(20,null),[6]:(0,n.localize)(21,null),[9]:(0,n.localize)(22,null),[21]:(0,n.localize)(23,null),[14]:(0,n.localize)(24,null),[0]:(0,n.localize)(25,null),[17]:(0,n.localize)(26,null),[15]:(0,n.localize)(27,null),[16]:(0,n.localize)(28,null),[18]:(0,n.localize)(29,null),[19]:(0,n.localize)(30,null),[7]:(0,n.localize)(31,null),[13]:(0,n.localize)(32,null)}}),define(te[666],ie([1,0,2,11,572,17,43,23,14,387]),function(q,e,L,m,k,I,w,b,C){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RenameInputField=e.CONTEXT_RENAME_INPUT_VISIBLE=void 0,e.CONTEXT_RENAME_INPUT_VISIBLE=new I.RawContextKey("renameInputVisible",!1,(0,k.localize)(0,null));let u=class{constructor(t,n,i,o,c){this._editor=t,this._acceptKeybindings=n,this._themeService=i,this._keybindingService=o,this._disposables=new L.DisposableStore,this.allowEditorOverflow=!0,this._visibleContextKey=e.CONTEXT_RENAME_INPUT_VISIBLE.bindTo(c),this._editor.addContentWidget(this),this._disposables.add(this._editor.onDidChangeConfiguration(d=>{d.hasChanged(44)&&this._updateFont()})),this._disposables.add(i.onDidColorThemeChange(this._updateStyles,this))}dispose(){this._disposables.dispose(),this._editor.removeContentWidget(this)}getId(){return"__renameInputWidget"}getDomNode(){if(!this._domNode){this._domNode=document.createElement("div"),this._domNode.className="monaco-editor rename-box",this._input=document.createElement("input"),this._input.className="rename-input",this._input.type="text",this._input.setAttribute("aria-label",(0,k.localize)(1,null)),this._domNode.appendChild(this._input),this._label=document.createElement("div"),this._label.className="rename-label",this._domNode.appendChild(this._label);const t=()=>{var n,i;const[o,c]=this._acceptKeybindings;this._keybindingService.lookupKeybinding(o),this._label.innerText=(0,k.localize)(2,null,(n=this._keybindingService.lookupKeybinding(o))===null||n===void 0?void 0:n.getLabel(),(i=this._keybindingService.lookupKeybinding(c))===null||i===void 0?void 0:i.getLabel())};t(),this._disposables.add(this._keybindingService.onDidUpdateKeybindings(t)),this._updateFont(),this._updateStyles(this._themeService.getColorTheme())}return this._domNode}_updateStyles(t){var n,i,o,c;if(!this._input||!this._domNode)return;const d=t.getColor(b.widgetShadow);this._domNode.style.backgroundColor=String((n=t.getColor(b.editorWidgetBackground))!==null&&n!==void 0?n:""),this._domNode.style.boxShadow=d?` 0 0 8px 2px ${d}`:"",this._domNode.style.color=String((i=t.getColor(b.inputForeground))!==null&&i!==void 0?i:""),this._input.style.backgroundColor=String((o=t.getColor(b.inputBackground))!==null&&o!==void 0?o:"");const r=t.getColor(b.inputBorder);this._input.style.borderWidth=r?"1px":"0px",this._input.style.borderStyle=r?"solid":"none",this._input.style.borderColor=(c=r==null?void 0:r.toString())!==null&&c!==void 0?c:"none"}_updateFont(){if(!this._input||!this._label)return;const t=this._editor.getOption(44);this._input.style.fontFamily=t.fontFamily,this._input.style.fontWeight=t.fontWeight,this._input.style.fontSize=`${t.fontSize}px`,this._label.style.fontSize=`${t.fontSize*.8}px`}getPosition(){return this._visible?{position:this._position,preference:[2,1]}:null}afterRender(t){t||this.cancelInput(!0)}acceptInput(t){this._currentAcceptInput&&this._currentAcceptInput(t)}cancelInput(t){this._currentCancelInput&&this._currentCancelInput(t)}getInput(t,n,i,o,c,d){this._domNode.classList.toggle("preview",c),this._position=new m.Position(t.startLineNumber,t.startColumn),this._input.value=n,this._input.setAttribute("selectionStart",i.toString()),this._input.setAttribute("selectionEnd",o.toString()),this._input.size=Math.max((t.endColumn-t.startColumn)*1.1,20);const r=new L.DisposableStore;return new Promise(s=>{this._currentCancelInput=a=>(this._currentAcceptInput=void 0,this._currentCancelInput=void 0,s(a),!0),this._currentAcceptInput=a=>{if(this._input.value.trim().length===0||this._input.value===n){this.cancelInput(!0);return}this._currentAcceptInput=void 0,this._currentCancelInput=void 0,s({newName:this._input.value,wantsPreview:c&&a})},r.add(d.onCancellationRequested(()=>this.cancelInput(!0))),r.add(this._editor.onDidBlurEditorWidget(()=>this.cancelInput(!1))),this._show()}).finally(()=>{r.dispose(),this._hide()})}_show(){this._editor.revealLineInCenterIfOutsideViewport(this._position.lineNumber,0),this._visible=!0,this._visibleContextKey.set(!0),this._editor.layoutContentWidget(this),setTimeout(()=>{this._input.focus(),this._input.setSelectionRange(parseInt(this._input.getAttribute("selectionStart")),parseInt(this._input.getAttribute("selectionEnd")))},100)}_hide(){this._visible=!1,this._visibleContextKey.reset(),this._editor.layoutContentWidget(this)}};u=Ie([pe(2,C.IThemeService),pe(3,w.IKeybindingService),pe(4,I.IContextKeyService)],u),e.RenameInputField=u}),define(te[289],ie([1,0,28,582,23,14]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SYMBOL_ICON_VARIABLE_FOREGROUND=e.SYMBOL_ICON_UNIT_FOREGROUND=e.SYMBOL_ICON_TYPEPARAMETER_FOREGROUND=e.SYMBOL_ICON_TEXT_FOREGROUND=e.SYMBOL_ICON_STRUCT_FOREGROUND=e.SYMBOL_ICON_STRING_FOREGROUND=e.SYMBOL_ICON_SNIPPET_FOREGROUND=e.SYMBOL_ICON_REFERENCE_FOREGROUND=e.SYMBOL_ICON_PROPERTY_FOREGROUND=e.SYMBOL_ICON_PACKAGE_FOREGROUND=e.SYMBOL_ICON_OPERATOR_FOREGROUND=e.SYMBOL_ICON_OBJECT_FOREGROUND=e.SYMBOL_ICON_NUMBER_FOREGROUND=e.SYMBOL_ICON_NULL_FOREGROUND=e.SYMBOL_ICON_NAMESPACE_FOREGROUND=e.SYMBOL_ICON_MODULE_FOREGROUND=e.SYMBOL_ICON_METHOD_FOREGROUND=e.SYMBOL_ICON_KEYWORD_FOREGROUND=e.SYMBOL_ICON_KEY_FOREGROUND=e.SYMBOL_ICON_INTERFACE_FOREGROUND=e.SYMBOL_ICON_FUNCTION_FOREGROUND=e.SYMBOL_ICON_FOLDER_FOREGROUND=e.SYMBOL_ICON_FILE_FOREGROUND=e.SYMBOL_ICON_FIELD_FOREGROUND=e.SYMBOL_ICON_EVENT_FOREGROUND=e.SYMBOL_ICON_ENUMERATOR_MEMBER_FOREGROUND=e.SYMBOL_ICON_ENUMERATOR_FOREGROUND=e.SYMBOL_ICON_CONSTRUCTOR_FOREGROUND=e.SYMBOL_ICON_CONSTANT_FOREGROUND=e.SYMBOL_ICON_COLOR_FOREGROUND=e.SYMBOL_ICON_CLASS_FOREGROUND=e.SYMBOL_ICON_BOOLEAN_FOREGROUND=e.SYMBOL_ICON_ARRAY_FOREGROUND=void 0,e.SYMBOL_ICON_ARRAY_FOREGROUND=(0,k.registerColor)("symbolIcon.arrayForeground",{dark:k.foreground,light:k.foreground,hc:k.foreground},(0,m.localize)(0,null)),e.SYMBOL_ICON_BOOLEAN_FOREGROUND=(0,k.registerColor)("symbolIcon.booleanForeground",{dark:k.foreground,light:k.foreground,hc:k.foreground},(0,m.localize)(1,null)),e.SYMBOL_ICON_CLASS_FOREGROUND=(0,k.registerColor)("symbolIcon.classForeground",{dark:"#EE9D28",light:"#D67E00",hc:"#EE9D28"},(0,m.localize)(2,null)),e.SYMBOL_ICON_COLOR_FOREGROUND=(0,k.registerColor)("symbolIcon.colorForeground",{dark:k.foreground,light:k.foreground,hc:k.foreground},(0,m.localize)(3,null)),e.SYMBOL_ICON_CONSTANT_FOREGROUND=(0,k.registerColor)("symbolIcon.constantForeground",{dark:k.foreground,light:k.foreground,hc:k.foreground},(0,m.localize)(4,null)),e.SYMBOL_ICON_CONSTRUCTOR_FOREGROUND=(0,k.registerColor)("symbolIcon.constructorForeground",{dark:"#B180D7",light:"#652D90",hc:"#B180D7"},(0,m.localize)(5,null)),e.SYMBOL_ICON_ENUMERATOR_FOREGROUND=(0,k.registerColor)("symbolIcon.enumeratorForeground",{dark:"#EE9D28",light:"#D67E00",hc:"#EE9D28"},(0,m.localize)(6,null)),e.SYMBOL_ICON_ENUMERATOR_MEMBER_FOREGROUND=(0,k.registerColor)("symbolIcon.enumeratorMemberForeground",{dark:"#75BEFF",light:"#007ACC",hc:"#75BEFF"},(0,m.localize)(7,null)),e.SYMBOL_ICON_EVENT_FOREGROUND=(0,k.registerColor)("symbolIcon.eventForeground",{dark:"#EE9D28",light:"#D67E00",hc:"#EE9D28"},(0,m.localize)(8,null)),e.SYMBOL_ICON_FIELD_FOREGROUND=(0,k.registerColor)("symbolIcon.fieldForeground",{dark:"#75BEFF",light:"#007ACC",hc:"#75BEFF"},(0,m.localize)(9,null)),e.SYMBOL_ICON_FILE_FOREGROUND=(0,k.registerColor)("symbolIcon.fileForeground",{dark:k.foreground,light:k.foreground,hc:k.foreground},(0,m.localize)(10,null)),e.SYMBOL_ICON_FOLDER_FOREGROUND=(0,k.registerColor)("symbolIcon.folderForeground",{dark:k.foreground,light:k.foreground,hc:k.foreground},(0,m.localize)(11,null)),e.SYMBOL_ICON_FUNCTION_FOREGROUND=(0,k.registerColor)("symbolIcon.functionForeground",{dark:"#B180D7",light:"#652D90",hc:"#B180D7"},(0,m.localize)(12,null)),e.SYMBOL_ICON_INTERFACE_FOREGROUND=(0,k.registerColor)("symbolIcon.interfaceForeground",{dark:"#75BEFF",light:"#007ACC",hc:"#75BEFF"},(0,m.localize)(13,null)),e.SYMBOL_ICON_KEY_FOREGROUND=(0,k.registerColor)("symbolIcon.keyForeground",{dark:k.foreground,light:k.foreground,hc:k.foreground},(0,m.localize)(14,null)),e.SYMBOL_ICON_KEYWORD_FOREGROUND=(0,k.registerColor)("symbolIcon.keywordForeground",{dark:k.foreground,light:k.foreground,hc:k.foreground},(0,m.localize)(15,null)),e.SYMBOL_ICON_METHOD_FOREGROUND=(0,k.registerColor)("symbolIcon.methodForeground",{dark:"#B180D7",light:"#652D90",hc:"#B180D7"},(0,m.localize)(16,null)),e.SYMBOL_ICON_MODULE_FOREGROUND=(0,k.registerColor)("symbolIcon.moduleForeground",{dark:k.foreground,light:k.foreground,hc:k.foreground},(0,m.localize)(17,null)),e.SYMBOL_ICON_NAMESPACE_FOREGROUND=(0,k.registerColor)("symbolIcon.namespaceForeground",{dark:k.foreground,light:k.foreground,hc:k.foreground},(0,m.localize)(18,null)),e.SYMBOL_ICON_NULL_FOREGROUND=(0,k.registerColor)("symbolIcon.nullForeground",{dark:k.foreground,light:k.foreground,hc:k.foreground},(0,m.localize)(19,null)),e.SYMBOL_ICON_NUMBER_FOREGROUND=(0,k.registerColor)("symbolIcon.numberForeground",{dark:k.foreground,light:k.foreground,hc:k.foreground},(0,m.localize)(20,null)),e.SYMBOL_ICON_OBJECT_FOREGROUND=(0,k.registerColor)("symbolIcon.objectForeground",{dark:k.foreground,light:k.foreground,hc:k.foreground},(0,m.localize)(21,null)),e.SYMBOL_ICON_OPERATOR_FOREGROUND=(0,k.registerColor)("symbolIcon.operatorForeground",{dark:k.foreground,light:k.foreground,hc:k.foreground},(0,m.localize)(22,null)),e.SYMBOL_ICON_PACKAGE_FOREGROUND=(0,k.registerColor)("symbolIcon.packageForeground",{dark:k.foreground,light:k.foreground,hc:k.foreground},(0,m.localize)(23,null)),e.SYMBOL_ICON_PROPERTY_FOREGROUND=(0,k.registerColor)("symbolIcon.propertyForeground",{dark:k.foreground,light:k.foreground,hc:k.foreground},(0,m.localize)(24,null)),e.SYMBOL_ICON_REFERENCE_FOREGROUND=(0,k.registerColor)("symbolIcon.referenceForeground",{dark:k.foreground,light:k.foreground,hc:k.foreground},(0,m.localize)(25,null)),e.SYMBOL_ICON_SNIPPET_FOREGROUND=(0,k.registerColor)("symbolIcon.snippetForeground",{dark:k.foreground,light:k.foreground,hc:k.foreground},(0,m.localize)(26,null)),e.SYMBOL_ICON_STRING_FOREGROUND=(0,k.registerColor)("symbolIcon.stringForeground",{dark:k.foreground,light:k.foreground,hc:k.foreground},(0,m.localize)(27,null)),e.SYMBOL_ICON_STRUCT_FOREGROUND=(0,k.registerColor)("symbolIcon.structForeground",{dark:k.foreground,light:k.foreground,hc:k.foreground},(0,m.localize)(28,null)),e.SYMBOL_ICON_TEXT_FOREGROUND=(0,k.registerColor)("symbolIcon.textForeground",{dark:k.foreground,light:k.foreground,hc:k.foreground},(0,m.localize)(29,null)),e.SYMBOL_ICON_TYPEPARAMETER_FOREGROUND=(0,k.registerColor)("symbolIcon.typeParameterForeground",{dark:k.foreground,light:k.foreground,hc:k.foreground},(0,m.localize)(30,null)),e.SYMBOL_ICON_UNIT_FOREGROUND=(0,k.registerColor)("symbolIcon.unitForeground",{dark:k.foreground,light:k.foreground,hc:k.foreground},(0,m.localize)(31,null)),e.SYMBOL_ICON_VARIABLE_FOREGROUND=(0,k.registerColor)("symbolIcon.variableForeground",{dark:"#75BEFF",light:"#007ACC",hc:"#75BEFF"},(0,m.localize)(32,null)),(0,I.registerThemingParticipant)((w,b)=>{const C=w.getColor(e.SYMBOL_ICON_ARRAY_FOREGROUND);C&&b.addRule(`${L.Codicon.symbolArray.cssSelector} { color: ${C}; }`);const u=w.getColor(e.SYMBOL_ICON_BOOLEAN_FOREGROUND);u&&b.addRule(`${L.Codicon.symbolBoolean.cssSelector} { color: ${u}; }`);const g=w.getColor(e.SYMBOL_ICON_CLASS_FOREGROUND);g&&b.addRule(`${L.Codicon.symbolClass.cssSelector} { color: ${g}; }`);const t=w.getColor(e.SYMBOL_ICON_METHOD_FOREGROUND);t&&b.addRule(`${L.Codicon.symbolMethod.cssSelector} { color: ${t}; }`);const n=w.getColor(e.SYMBOL_ICON_COLOR_FOREGROUND);n&&b.addRule(`${L.Codicon.symbolColor.cssSelector} { color: ${n}; }`);const i=w.getColor(e.SYMBOL_ICON_CONSTANT_FOREGROUND);i&&b.addRule(`${L.Codicon.symbolConstant.cssSelector} { color: ${i}; }`);const o=w.getColor(e.SYMBOL_ICON_CONSTRUCTOR_FOREGROUND);o&&b.addRule(`${L.Codicon.symbolConstructor.cssSelector} { color: ${o}; }`);const c=w.getColor(e.SYMBOL_ICON_ENUMERATOR_FOREGROUND);c&&b.addRule(`
+			${L.Codicon.symbolValue.cssSelector},${L.Codicon.symbolEnum.cssSelector} { color: ${c}; }`);const d=w.getColor(e.SYMBOL_ICON_ENUMERATOR_MEMBER_FOREGROUND);d&&b.addRule(`${L.Codicon.symbolEnumMember.cssSelector} { color: ${d}; }`);const r=w.getColor(e.SYMBOL_ICON_EVENT_FOREGROUND);r&&b.addRule(`${L.Codicon.symbolEvent.cssSelector} { color: ${r}; }`);const s=w.getColor(e.SYMBOL_ICON_FIELD_FOREGROUND);s&&b.addRule(`${L.Codicon.symbolField.cssSelector} { color: ${s}; }`);const a=w.getColor(e.SYMBOL_ICON_FILE_FOREGROUND);a&&b.addRule(`${L.Codicon.symbolFile.cssSelector} { color: ${a}; }`);const l=w.getColor(e.SYMBOL_ICON_FOLDER_FOREGROUND);l&&b.addRule(`${L.Codicon.symbolFolder.cssSelector} { color: ${l}; }`);const h=w.getColor(e.SYMBOL_ICON_FUNCTION_FOREGROUND);h&&b.addRule(`${L.Codicon.symbolFunction.cssSelector} { color: ${h}; }`);const f=w.getColor(e.SYMBOL_ICON_INTERFACE_FOREGROUND);f&&b.addRule(`${L.Codicon.symbolInterface.cssSelector} { color: ${f}; }`);const S=w.getColor(e.SYMBOL_ICON_KEY_FOREGROUND);S&&b.addRule(`${L.Codicon.symbolKey.cssSelector} { color: ${S}; }`);const v=w.getColor(e.SYMBOL_ICON_KEYWORD_FOREGROUND);v&&b.addRule(`${L.Codicon.symbolKeyword.cssSelector} { color: ${v}; }`);const p=w.getColor(e.SYMBOL_ICON_MODULE_FOREGROUND);p&&b.addRule(`${L.Codicon.symbolModule.cssSelector} { color: ${p}; }`);const _=w.getColor(e.SYMBOL_ICON_NAMESPACE_FOREGROUND);_&&b.addRule(`${L.Codicon.symbolNamespace.cssSelector} { color: ${_}; }`);const y=w.getColor(e.SYMBOL_ICON_NULL_FOREGROUND);y&&b.addRule(`${L.Codicon.symbolNull.cssSelector} { color: ${y}; }`);const E=w.getColor(e.SYMBOL_ICON_NUMBER_FOREGROUND);E&&b.addRule(`${L.Codicon.symbolNumber.cssSelector} { color: ${E}; }`);const N=w.getColor(e.SYMBOL_ICON_OBJECT_FOREGROUND);N&&b.addRule(`${L.Codicon.symbolObject.cssSelector} { color: ${N}; }`);const D=w.getColor(e.SYMBOL_ICON_OPERATOR_FOREGROUND);D&&b.addRule(`${L.Codicon.symbolOperator.cssSelector} { color: ${D}; }`);const M=w.getColor(e.SYMBOL_ICON_PACKAGE_FOREGROUND);M&&b.addRule(`${L.Codicon.symbolPackage.cssSelector} { color: ${M}; }`);const B=w.getColor(e.SYMBOL_ICON_PROPERTY_FOREGROUND);B&&b.addRule(`${L.Codicon.symbolProperty.cssSelector} { color: ${B}; }`);const O=w.getColor(e.SYMBOL_ICON_REFERENCE_FOREGROUND);O&&b.addRule(`${L.Codicon.symbolReference.cssSelector} { color: ${O}; }`);const T=w.getColor(e.SYMBOL_ICON_SNIPPET_FOREGROUND);T&&b.addRule(`${L.Codicon.symbolSnippet.cssSelector} { color: ${T}; }`);const A=w.getColor(e.SYMBOL_ICON_STRING_FOREGROUND);A&&b.addRule(`${L.Codicon.symbolString.cssSelector} { color: ${A}; }`);const P=w.getColor(e.SYMBOL_ICON_STRUCT_FOREGROUND);P&&b.addRule(`${L.Codicon.symbolStruct.cssSelector} { color: ${P}; }`);const F=w.getColor(e.SYMBOL_ICON_TEXT_FOREGROUND);F&&b.addRule(`${L.Codicon.symbolText.cssSelector} { color: ${F}; }`);const W=w.getColor(e.SYMBOL_ICON_TYPEPARAMETER_FOREGROUND);W&&b.addRule(`${L.Codicon.symbolTypeParameter.cssSelector} { color: ${W}; }`);const R=w.getColor(e.SYMBOL_ICON_UNIT_FOREGROUND);R&&b.addRule(`${L.Codicon.symbolUnit.cssSelector} { color: ${R}; }`);const z=w.getColor(e.SYMBOL_ICON_VARIABLE_FOREGROUND);z&&b.addRule(`${L.Codicon.symbolVariable.cssSelector} { color: ${z}; }`)})}),define(te[290],ie([1,0,7,45,647,29,17,52,14]),function(q,e,L,m,k,I,w,b,C){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StandaloneCodeEditorService=void 0;let u=class extends k.AbstractCodeEditorService{constructor(t,n){super(n);this.onCodeEditorAdd(()=>this._checkContextKey()),this.onCodeEditorRemove(()=>this._checkContextKey()),this._editorIsOpen=t.createKey("editorIsOpen",!1),this._activeCodeEditor=null}_checkContextKey(){let t=!1;for(const n of this.listCodeEditors())if(!n.isSimpleWidget){t=!0;break}this._editorIsOpen.set(t)}setActiveCodeEditor(t){this._activeCodeEditor=t}getActiveCodeEditor(){return this._activeCodeEditor}openCodeEditor(t,n,i){return n?Promise.resolve(this.doOpenEditor(n,t)):Promise.resolve(null)}doOpenEditor(t,n){if(!this.findModel(t,n.resource)){if(n.resource){const c=n.resource.scheme;if(c===m.Schemas.http||c===m.Schemas.https)return(0,L.windowOpenNoOpener)(n.resource.toString()),t}return null}const o=n.options?n.options.selection:null;if(o)if(typeof o.endLineNumber=="number"&&typeof o.endColumn=="number")t.setSelection(o),t.revealRangeInCenter(o,1);else{const c={lineNumber:o.startLineNumber,column:o.startColumn};t.setPosition(c),t.revealPositionInCenter(c,1)}return t}findModel(t,n){const i=t.getModel();return i&&i.uri.toString()!==n.toString()?null:i}};u=Ie([pe(0,w.IContextKeyService),pe(1,C.IThemeService)],u),e.StandaloneCodeEditorService=u,(0,b.registerSingleton)(I.ICodeEditorService,u)}),define(te[667],ie([1,0,54,23]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.hc_black=e.vs_dark=e.vs=void 0,e.vs={base:"vs",inherit:!1,rules:[{token:"",foreground:"000000",background:"fffffe"},{token:"invalid",foreground:"cd3131"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"001188"},{token:"variable.predefined",foreground:"4864AA"},{token:"constant",foreground:"dd0000"},{token:"comment",foreground:"008000"},{token:"number",foreground:"098658"},{token:"number.hex",foreground:"3030c0"},{token:"regexp",foreground:"800000"},{token:"annotation",foreground:"808080"},{token:"type",foreground:"008080"},{token:"delimiter",foreground:"000000"},{token:"delimiter.html",foreground:"383838"},{token:"delimiter.xml",foreground:"0000FF"},{token:"tag",foreground:"800000"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"800000"},{token:"metatag",foreground:"e00000"},{token:"metatag.content.html",foreground:"FF0000"},{token:"metatag.html",foreground:"808080"},{token:"metatag.xml",foreground:"808080"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"863B00"},{token:"string.key.json",foreground:"A31515"},{token:"string.value.json",foreground:"0451A5"},{token:"attribute.name",foreground:"FF0000"},{token:"attribute.value",foreground:"0451A5"},{token:"attribute.value.number",foreground:"098658"},{token:"attribute.value.unit",foreground:"098658"},{token:"attribute.value.html",foreground:"0000FF"},{token:"attribute.value.xml",foreground:"0000FF"},{token:"string",foreground:"A31515"},{token:"string.html",foreground:"0000FF"},{token:"string.sql",foreground:"FF0000"},{token:"string.yaml",foreground:"0451A5"},{token:"keyword",foreground:"0000FF"},{token:"keyword.json",foreground:"0451A5"},{token:"keyword.flow",foreground:"AF00DB"},{token:"keyword.flow.scss",foreground:"0000FF"},{token:"operator.scss",foreground:"666666"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"666666"},{token:"predefined.sql",foreground:"C700C7"}],colors:{[m.editorBackground]:"#FFFFFE",[m.editorForeground]:"#000000",[m.editorInactiveSelection]:"#E5EBF1",[L.editorIndentGuides]:"#D3D3D3",[L.editorActiveIndentGuides]:"#939393",[m.editorSelectionHighlight]:"#ADD6FF4D"}},e.vs_dark={base:"vs-dark",inherit:!1,rules:[{token:"",foreground:"D4D4D4",background:"1E1E1E"},{token:"invalid",foreground:"f44747"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"74B0DF"},{token:"variable.predefined",foreground:"4864AA"},{token:"variable.parameter",foreground:"9CDCFE"},{token:"constant",foreground:"569CD6"},{token:"comment",foreground:"608B4E"},{token:"number",foreground:"B5CEA8"},{token:"number.hex",foreground:"5BB498"},{token:"regexp",foreground:"B46695"},{token:"annotation",foreground:"cc6666"},{token:"type",foreground:"3DC9B0"},{token:"delimiter",foreground:"DCDCDC"},{token:"delimiter.html",foreground:"808080"},{token:"delimiter.xml",foreground:"808080"},{token:"tag",foreground:"569CD6"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"A79873"},{token:"meta.tag",foreground:"CE9178"},{token:"metatag",foreground:"DD6A6F"},{token:"metatag.content.html",foreground:"9CDCFE"},{token:"metatag.html",foreground:"569CD6"},{token:"metatag.xml",foreground:"569CD6"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"9CDCFE"},{token:"string.key.json",foreground:"9CDCFE"},{token:"string.value.json",foreground:"CE9178"},{token:"attribute.name",foreground:"9CDCFE"},{token:"attribute.value",foreground:"CE9178"},{token:"attribute.value.number.css",foreground:"B5CEA8"},{token:"attribute.value.unit.css",foreground:"B5CEA8"},{token:"attribute.value.hex.css",foreground:"D4D4D4"},{token:"string",foreground:"CE9178"},{token:"string.sql",foreground:"FF0000"},{token:"keyword",foreground:"569CD6"},{token:"keyword.flow",foreground:"C586C0"},{token:"keyword.json",foreground:"CE9178"},{token:"keyword.flow.scss",foreground:"569CD6"},{token:"operator.scss",foreground:"909090"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"909090"},{token:"predefined.sql",foreground:"FF00FF"}],colors:{[m.editorBackground]:"#1E1E1E",[m.editorForeground]:"#D4D4D4",[m.editorInactiveSelection]:"#3A3D41",[L.editorIndentGuides]:"#404040",[L.editorActiveIndentGuides]:"#707070",[m.editorSelectionHighlight]:"#ADD6FF26"}},e.hc_black={base:"hc-black",inherit:!1,rules:[{token:"",foreground:"FFFFFF",background:"000000"},{token:"invalid",foreground:"f44747"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"1AEBFF"},{token:"variable.parameter",foreground:"9CDCFE"},{token:"constant",foreground:"569CD6"},{token:"comment",foreground:"608B4E"},{token:"number",foreground:"FFFFFF"},{token:"regexp",foreground:"C0C0C0"},{token:"annotation",foreground:"569CD6"},{token:"type",foreground:"3DC9B0"},{token:"delimiter",foreground:"FFFF00"},{token:"delimiter.html",foreground:"FFFF00"},{token:"tag",foreground:"569CD6"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta",foreground:"D4D4D4"},{token:"meta.tag",foreground:"CE9178"},{token:"metatag",foreground:"569CD6"},{token:"metatag.content.html",foreground:"1AEBFF"},{token:"metatag.html",foreground:"569CD6"},{token:"metatag.xml",foreground:"569CD6"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"9CDCFE"},{token:"string.key",foreground:"9CDCFE"},{token:"string.value",foreground:"CE9178"},{token:"attribute.name",foreground:"569CD6"},{token:"attribute.value",foreground:"3FF23F"},{token:"string",foreground:"CE9178"},{token:"string.sql",foreground:"FF0000"},{token:"keyword",foreground:"569CD6"},{token:"keyword.flow",foreground:"C586C0"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"909090"},{token:"predefined.sql",foreground:"FF00FF"}],colors:{[m.editorBackground]:"#000000",[m.editorForeground]:"#FFFFFF",[L.editorIndentGuides]:"#FFFFFF",[L.editorActiveIndentGuides]:"#FFFFFF"}}}),define(te[37],ie([1,0,47,28,4,57,2,83,26,17,9,14]),function(q,e,L,m,k,I,w,b,C,u,g,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MenuItemAction=e.SubmenuItemAction=e.MenuRegistry=e.IMenuService=e.MenuId=e.isIMenuItem=void 0;function n(d){return d.command!==void 0}e.isIMenuItem=n;class i{constructor(r){this.id=i._idPool++,this._debugName=r}}e.MenuId=i,i._idPool=0,i.CommandPalette=new i("CommandPalette"),i.DebugBreakpointsContext=new i("DebugBreakpointsContext"),i.DebugCallStackContext=new i("DebugCallStackContext"),i.DebugConsoleContext=new i("DebugConsoleContext"),i.DebugVariablesContext=new i("DebugVariablesContext"),i.DebugWatchContext=new i("DebugWatchContext"),i.DebugToolBar=new i("DebugToolBar"),i.EditorContext=new i("EditorContext"),i.SimpleEditorContext=new i("SimpleEditorContext"),i.EditorContextCopy=new i("EditorContextCopy"),i.EditorContextPeek=new i("EditorContextPeek"),i.EditorTitle=new i("EditorTitle"),i.EditorTitleRun=new i("EditorTitleRun"),i.EditorTitleContext=new i("EditorTitleContext"),i.EmptyEditorGroup=new i("EmptyEditorGroup"),i.EmptyEditorGroupContext=new i("EmptyEditorGroupContext"),i.ExplorerContext=new i("ExplorerContext"),i.ExtensionContext=new i("ExtensionContext"),i.GlobalActivity=new i("GlobalActivity"),i.LayoutControlMenuSubmenu=new i("LayoutControlMenuSubmenu"),i.LayoutControlMenu=new i("LayoutControlMenu"),i.MenubarMainMenu=new i("MenubarMainMenu"),i.MenubarAppearanceMenu=new i("MenubarAppearanceMenu"),i.MenubarDebugMenu=new i("MenubarDebugMenu"),i.MenubarEditMenu=new i("MenubarEditMenu"),i.MenubarCopy=new i("MenubarCopy"),i.MenubarFileMenu=new i("MenubarFileMenu"),i.MenubarGoMenu=new i("MenubarGoMenu"),i.MenubarHelpMenu=new i("MenubarHelpMenu"),i.MenubarLayoutMenu=new i("MenubarLayoutMenu"),i.MenubarNewBreakpointMenu=new i("MenubarNewBreakpointMenu"),i.MenubarPanelAlignmentMenu=new i("MenubarPanelAlignmentMenu"),i.MenubarPanelPositionMenu=new i("MenubarPanelPositionMenu"),i.MenubarPreferencesMenu=new i("MenubarPreferencesMenu"),i.MenubarRecentMenu=new i("MenubarRecentMenu"),i.MenubarSelectionMenu=new i("MenubarSelectionMenu"),i.MenubarSwitchEditorMenu=new i("MenubarSwitchEditorMenu"),i.MenubarSwitchGroupMenu=new i("MenubarSwitchGroupMenu"),i.MenubarTerminalMenu=new i("MenubarTerminalMenu"),i.MenubarViewMenu=new i("MenubarViewMenu"),i.MenubarHomeMenu=new i("MenubarHomeMenu"),i.OpenEditorsContext=new i("OpenEditorsContext"),i.ProblemsPanelContext=new i("ProblemsPanelContext"),i.SCMChangeContext=new i("SCMChangeContext"),i.SCMResourceContext=new i("SCMResourceContext"),i.SCMResourceFolderContext=new i("SCMResourceFolderContext"),i.SCMResourceGroupContext=new i("SCMResourceGroupContext"),i.SCMSourceControl=new i("SCMSourceControl"),i.SCMTitle=new i("SCMTitle"),i.SearchContext=new i("SearchContext"),i.StatusBarWindowIndicatorMenu=new i("StatusBarWindowIndicatorMenu"),i.StatusBarRemoteIndicatorMenu=new i("StatusBarRemoteIndicatorMenu"),i.TestItem=new i("TestItem"),i.TestItemGutter=new i("TestItemGutter"),i.TestPeekElement=new i("TestPeekElement"),i.TestPeekTitle=new i("TestPeekTitle"),i.TouchBarContext=new i("TouchBarContext"),i.TitleBarContext=new i("TitleBarContext"),i.TunnelContext=new i("TunnelContext"),i.TunnelPrivacy=new i("TunnelPrivacy"),i.TunnelProtocol=new i("TunnelProtocol"),i.TunnelPortInline=new i("TunnelInline"),i.TunnelTitle=new i("TunnelTitle"),i.TunnelLocalAddressInline=new i("TunnelLocalAddressInline"),i.TunnelOriginInline=new i("TunnelOriginInline"),i.ViewItemContext=new i("ViewItemContext"),i.ViewContainerTitle=new i("ViewContainerTitle"),i.ViewContainerTitleContext=new i("ViewContainerTitleContext"),i.ViewTitle=new i("ViewTitle"),i.ViewTitleContext=new i("ViewTitleContext"),i.CommentThreadTitle=new i("CommentThreadTitle"),i.CommentThreadActions=new i("CommentThreadActions"),i.CommentTitle=new i("CommentTitle"),i.CommentActions=new i("CommentActions"),i.InteractiveToolbar=new i("InteractiveToolbar"),i.InteractiveCellTitle=new i("InteractiveCellTitle"),i.InteractiveCellExecute=new i("InteractiveCellExecute"),i.InteractiveInputExecute=new i("InteractiveInputExecute"),i.NotebookToolbar=new i("NotebookToolbar"),i.NotebookCellTitle=new i("NotebookCellTitle"),i.NotebookCellInsert=new i("NotebookCellInsert"),i.NotebookCellBetween=new i("NotebookCellBetween"),i.NotebookCellListTop=new i("NotebookCellTop"),i.NotebookCellExecute=new i("NotebookCellExecute"),i.NotebookCellExecutePrimary=new i("NotebookCellExecutePrimary"),i.NotebookDiffCellInputTitle=new i("NotebookDiffCellInputTitle"),i.NotebookDiffCellMetadataTitle=new i("NotebookDiffCellMetadataTitle"),i.NotebookDiffCellOutputsTitle=new i("NotebookDiffCellOutputsTitle"),i.NotebookOutputToolbar=new i("NotebookOutputToolbar"),i.NotebookEditorLayoutConfigure=new i("NotebookEditorLayoutConfigure"),i.BulkEditTitle=new i("BulkEditTitle"),i.BulkEditContext=new i("BulkEditContext"),i.TimelineItemContext=new i("TimelineItemContext"),i.TimelineTitle=new i("TimelineTitle"),i.TimelineTitleContext=new i("TimelineTitleContext"),i.AccountsContext=new i("AccountsContext"),i.PanelTitle=new i("PanelTitle"),i.AuxiliaryBarTitle=new i("AuxiliaryBarTitle"),i.TerminalInstanceContext=new i("TerminalInstanceContext"),i.TerminalEditorInstanceContext=new i("TerminalEditorInstanceContext"),i.TerminalNewDropdownContext=new i("TerminalNewDropdownContext"),i.TerminalTabContext=new i("TerminalTabContext"),i.TerminalTabEmptyAreaContext=new i("TerminalTabEmptyAreaContext"),i.TerminalInlineTabContext=new i("TerminalInlineTabContext"),i.WebviewContext=new i("WebviewContext"),i.InlineCompletionsActions=new i("InlineCompletionsActions"),i.NewFile=new i("NewFile"),e.IMenuService=(0,g.createDecorator)("menuService"),e.MenuRegistry=new class{constructor(){this._commands=new Map,this._menuItems=new Map,this._onDidChangeMenu=new k.Emitter,this.onDidChangeMenu=this._onDidChangeMenu.event,this._commandPaletteChangeEvent={has:d=>d===i.CommandPalette}}addCommand(d){return this.addCommands(I.Iterable.single(d))}addCommands(d){for(const r of d)this._commands.set(r.id,r);return this._onDidChangeMenu.fire(this._commandPaletteChangeEvent),(0,w.toDisposable)(()=>{let r=!1;for(const s of d)r=this._commands.delete(s.id)||r;r&&this._onDidChangeMenu.fire(this._commandPaletteChangeEvent)})}getCommand(d){return this._commands.get(d)}getCommands(){const d=new Map;return this._commands.forEach((r,s)=>d.set(s,r)),d}appendMenuItem(d,r){return this.appendMenuItems(I.Iterable.single({id:d,item:r}))}appendMenuItems(d){const r=new Set,s=new b.LinkedList;for(const{id:a,item:l}of d){let h=this._menuItems.get(a);h||(h=new b.LinkedList,this._menuItems.set(a,h)),s.push(h.push(l)),r.add(a)}return this._onDidChangeMenu.fire(r),(0,w.toDisposable)(()=>{if(s.size>0){for(let a of s)a();this._onDidChangeMenu.fire(r),s.clear()}})}getMenuItems(d){let r;return this._menuItems.has(d)?r=[...this._menuItems.get(d)]:r=[],d===i.CommandPalette&&this._appendImplicitItems(r),r}_appendImplicitItems(d){const r=new Set;for(const s of d)n(s)&&(r.add(s.command.id),s.alt&&r.add(s.alt.id));this._commands.forEach((s,a)=>{r.has(a)||d.push({command:s})})}};class o extends L.SubmenuAction{constructor(r,s,a,l){super(`submenuitem.${r.submenu.id}`,typeof r.title=="string"?r.title:r.title.value,[],"submenu");this.item=r,this._menuService=s,this._contextKeyService=a,this._options=l}get actions(){const r=[],s=this._menuService.createMenu(this.item.submenu,this._contextKeyService),a=s.getActions(this._options);s.dispose();for(const[,l]of a)l.length>0&&(r.push(...l),r.push(new L.Separator));return r.length&&r.pop(),r}}e.SubmenuItemAction=o;let c=class yi{constructor(r,s,a,l,h){var f,S;if(this._commandService=h,this.id=r.id,this.label=(a==null?void 0:a.renderShortTitle)&&r.shortTitle?typeof r.shortTitle=="string"?r.shortTitle:r.shortTitle.value:typeof r.title=="string"?r.title:r.title.value,this.tooltip=(S=typeof r.tooltip=="string"?r.tooltip:(f=r.tooltip)===null||f===void 0?void 0:f.value)!==null&&S!==void 0?S:"",this.enabled=!r.precondition||l.contextMatchesRules(r.precondition),this.checked=void 0,r.toggled){const v=r.toggled.condition?r.toggled:{condition:r.toggled};this.checked=l.contextMatchesRules(v.condition),this.checked&&v.tooltip&&(this.tooltip=typeof v.tooltip=="string"?v.tooltip:v.tooltip.value),v.title&&(this.label=typeof v.title=="string"?v.title:v.title.value)}this.item=r,this.alt=s?new yi(s,void 0,a,l,h):void 0,this._options=a,t.ThemeIcon.isThemeIcon(r.icon)&&(this.class=m.CSSIcon.asClassName(r.icon))}dispose(){}run(...r){var s,a;let l=[];return((s=this._options)===null||s===void 0?void 0:s.arg)&&(l=[...l,this._options.arg]),((a=this._options)===null||a===void 0?void 0:a.shouldForwardArgs)&&(l=[...l,...r]),this._commandService.executeCommand(this.id,...l)}};c=Ie([pe(3,u.IContextKeyService),pe(4,C.ICommandService)],c),e.MenuItemAction=c}),define(te[15],ie([1,0,506,25,29,11,48,56,37,26,17,9,89,36,90,19,66]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SelectAllCommand=e.RedoCommand=e.UndoCommand=e.EditorExtensionsRegistry=e.registerEditorContribution=e.registerInstantiatedEditorAction=e.registerMultiEditorAction=e.registerEditorAction=e.registerEditorCommand=e.registerModelAndPositionCommand=e.MultiEditorAction=e.EditorAction=e.EditorCommand=e.ProxyCommand=e.MultiCommand=e.Command=void 0;class r{constructor(T){this.id=T.id,this.precondition=T.precondition,this._kbOpts=T.kbOpts,this._menuOpts=T.menuOpts,this._description=T.description}register(){if(Array.isArray(this._menuOpts)?this._menuOpts.forEach(this._registerMenuItem,this):this._menuOpts&&this._registerMenuItem(this._menuOpts),this._kbOpts){const T=Array.isArray(this._kbOpts)?this._kbOpts:[this._kbOpts];for(const A of T){let P=A.kbExpr;this.precondition&&(P?P=g.ContextKeyExpr.and(P,this.precondition):P=this.precondition);const F={id:this.id,weight:A.weight,args:A.args,when:P,primary:A.primary,secondary:A.secondary,win:A.win,linux:A.linux,mac:A.mac};n.KeybindingsRegistry.registerKeybindingRule(F)}}u.CommandsRegistry.registerCommand({id:this.id,handler:(T,A)=>this.runCommand(T,A),description:this._description})}_registerMenuItem(T){C.MenuRegistry.appendMenuItem(T.menuId,{group:T.group,command:{id:this.id,title:T.title,icon:T.icon,precondition:this.precondition},when:T.when,order:T.order})}}e.Command=r;class s extends r{constructor(){super(...arguments);this._implementations=[]}addImplementation(T,A,P){return this._implementations.push({priority:T,name:A,implementation:P}),this._implementations.sort((F,W)=>W.priority-F.priority),{dispose:()=>{for(let F=0;F<this._implementations.length;F++)if(this._implementations[F].implementation===P){this._implementations.splice(F,1);return}}}}runCommand(T,A){const P=T.get(d.ILogService);P.trace(`Executing Command '${this.id}' which has ${this._implementations.length} bound.`);for(const F of this._implementations){const W=F.implementation(T,A);if(W)return P.trace(`Command '${this.id}' was handled by '${F.name}'.`),typeof W=="boolean"?void 0:W}P.trace(`The Command '${this.id}' was not handled by any implementation.`)}}e.MultiCommand=s;class a extends r{constructor(T,A){super(A);this.command=T}runCommand(T,A){return this.command.runCommand(T,A)}}e.ProxyCommand=a;class l extends r{static bindToContribution(T){return class extends l{constructor(P){super(P);this._callback=P.handler}runEditorCommand(P,F,W){const R=T(F);R&&this._callback(R,W)}}}runCommand(T,A){const P=T.get(k.ICodeEditorService),F=P.getFocusedCodeEditor()||P.getActiveCodeEditor();if(!!F)return F.invokeWithinContext(W=>{if(!!W.get(g.IContextKeyService).contextMatchesRules((0,c.withNullAsUndefined)(this.precondition)))return this.runEditorCommand(W,F,A)})}}e.EditorCommand=l;class h extends l{constructor(T){super(h.convertOptions(T));this.label=T.label,this.alias=T.alias}static convertOptions(T){let A;Array.isArray(T.menuOpts)?A=T.menuOpts:T.menuOpts?A=[T.menuOpts]:A=[];function P(F){return F.menuId||(F.menuId=C.MenuId.EditorContext),F.title||(F.title=T.label),F.when=g.ContextKeyExpr.and(T.precondition,F.when),F}return Array.isArray(T.contextMenuOpts)?A.push(...T.contextMenuOpts.map(P)):T.contextMenuOpts&&A.push(P(T.contextMenuOpts)),T.menuOpts=A,T}runEditorCommand(T,A,P){return this.reportTelemetry(T,A),this.run(T,A,P||{})}reportTelemetry(T,A){T.get(o.ITelemetryService).publicLog2("editorActionInvoked",{name:this.label,id:this.id})}}e.EditorAction=h;class f extends h{constructor(){super(...arguments);this._implementations=[]}addImplementation(T,A){return this._implementations.push([T,A]),this._implementations.sort((P,F)=>F[0]-P[0]),{dispose:()=>{for(let P=0;P<this._implementations.length;P++)if(this._implementations[P][1]===A){this._implementations.splice(P,1);return}}}}run(T,A,P){for(const F of this._implementations){const W=F[1](T,A,P);if(W)return typeof W=="boolean"?void 0:W}}}e.MultiEditorAction=f;function S(O,T){u.CommandsRegistry.registerCommand(O,function(A,...P){const F=A.get(t.IInstantiationService),[W,R]=P;(0,c.assertType)(m.URI.isUri(W)),(0,c.assertType)(I.Position.isIPosition(R));const z=A.get(w.IModelService).getModel(W);if(z){const j=I.Position.lift(R);return F.invokeFunction(T,z,j,...P.slice(2))}return A.get(b.ITextModelService).createModelReference(W).then(j=>new Promise(($,G)=>{try{const J=F.invokeFunction(T,j.object.textEditorModel,I.Position.lift(R),P.slice(2));$(J)}catch(J){G(J)}}).finally(()=>{j.dispose()}))})}e.registerModelAndPositionCommand=S;function v(O){return M.INSTANCE.registerEditorCommand(O),O}e.registerEditorCommand=v;function p(O){const T=new O;return M.INSTANCE.registerEditorAction(T),T}e.registerEditorAction=p;function _(O){return M.INSTANCE.registerEditorAction(O),O}e.registerMultiEditorAction=_;function y(O){M.INSTANCE.registerEditorAction(O)}e.registerInstantiatedEditorAction=y;function E(O,T){M.INSTANCE.registerEditorContribution(O,T)}e.registerEditorContribution=E;var N;(function(O){function T(R){return M.INSTANCE.getEditorCommand(R)}O.getEditorCommand=T;function A(){return M.INSTANCE.getEditorActions()}O.getEditorActions=A;function P(){return M.INSTANCE.getEditorContributions()}O.getEditorContributions=P;function F(R){return M.INSTANCE.getEditorContributions().filter(z=>R.indexOf(z.id)>=0)}O.getSomeEditorContributions=F;function W(){return M.INSTANCE.getDiffEditorContributions()}O.getDiffEditorContributions=W})(N=e.EditorExtensionsRegistry||(e.EditorExtensionsRegistry={}));const D={EditorCommonContributions:"editor.contributions"};class M{constructor(){this.editorContributions=[],this.diffEditorContributions=[],this.editorActions=[],this.editorCommands=Object.create(null)}registerEditorContribution(T,A){this.editorContributions.push({id:T,ctor:A})}getEditorContributions(){return this.editorContributions.slice(0)}getDiffEditorContributions(){return this.diffEditorContributions.slice(0)}registerEditorAction(T){T.register(),this.editorActions.push(T)}getEditorActions(){return this.editorActions.slice(0)}registerEditorCommand(T){T.register(),this.editorCommands[T.id]=T}getEditorCommand(T){return this.editorCommands[T]||null}}M.INSTANCE=new M,i.Registry.add(D.EditorCommonContributions,M.INSTANCE);function B(O){return O.register(),O}e.UndoCommand=B(new s({id:"undo",precondition:void 0,kbOpts:{weight:0,primary:2048|56},menuOpts:[{menuId:C.MenuId.MenubarEditMenu,group:"1_do",title:L.localize(0,null),order:1},{menuId:C.MenuId.CommandPalette,group:"",title:L.localize(1,null),order:1}]})),B(new a(e.UndoCommand,{id:"default:undo",precondition:void 0})),e.RedoCommand=B(new s({id:"redo",precondition:void 0,kbOpts:{weight:0,primary:2048|55,secondary:[2048|1024|56],mac:{primary:2048|1024|56}},menuOpts:[{menuId:C.MenuId.MenubarEditMenu,group:"1_do",title:L.localize(2,null),order:2},{menuId:C.MenuId.CommandPalette,group:"",title:L.localize(3,null),order:1}]})),B(new a(e.RedoCommand,{id:"default:redo",precondition:void 0})),e.SelectAllCommand=B(new s({id:"editor.action.selectAll",precondition:void 0,kbOpts:{weight:0,kbExpr:null,primary:2048|31},menuOpts:[{menuId:C.MenuId.MenubarSelectionMenu,group:"1_basic",title:L.localize(4,null),order:1},{menuId:C.MenuId.CommandPalette,group:"",title:L.localize(5,null),order:1}]}))}),define(te[158],ie([1,0,505,34,19,46,15,29,412,61,181,182,203,11,3,24,17,89]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CoreEditingCommands=e.CoreNavigationCommands=e.RevealLine_=e.EditorScroll_=e.CoreEditorCommand=void 0;const s=0;class a extends w.EditorCommand{runEditorCommand(M,B,O){const T=B._getViewModel();!T||this.runCoreEditorCommand(T,O||{})}}e.CoreEditorCommand=a;var l;(function(D){const M=function(O){if(!k.isObject(O))return!1;const T=O;return!(!k.isString(T.to)||!k.isUndefined(T.by)&&!k.isString(T.by)||!k.isUndefined(T.value)&&!k.isNumber(T.value)||!k.isUndefined(T.revealCursor)&&!k.isBoolean(T.revealCursor))};D.description={description:"Scroll editor in the given direction",args:[{name:"Editor scroll argument object",description:"Property-value pairs that can be passed through this argument:\n					* 'to': A mandatory direction value.\n						```\n						'up', 'down'\n						```\n					* 'by': Unit to move. Default is computed based on 'to' value.\n						```\n						'line', 'wrappedLine', 'page', 'halfPage'\n						```\n					* 'value': Number of units to move. Default is '1'.\n					* 'revealCursor': If 'true' reveals the cursor if it is outside view port.\n				",constraint:M,schema:{type:"object",required:["to"],properties:{to:{type:"string",enum:["up","down"]},by:{type:"string",enum:["line","wrappedLine","page","halfPage"]},value:{type:"number",default:1},revealCursor:{type:"boolean"}}}}]},D.RawDirection={Up:"up",Down:"down"},D.RawUnit={Line:"line",WrappedLine:"wrappedLine",Page:"page",HalfPage:"halfPage"};function B(O){let T;switch(O.to){case D.RawDirection.Up:T=1;break;case D.RawDirection.Down:T=2;break;default:return null}let A;switch(O.by){case D.RawUnit.Line:A=1;break;case D.RawUnit.WrappedLine:A=2;break;case D.RawUnit.Page:A=3;break;case D.RawUnit.HalfPage:A=4;break;default:A=2}const P=Math.floor(O.value||1),F=!!O.revealCursor;return{direction:T,unit:A,value:P,revealCursor:F,select:!!O.select}}D.parse=B})(l=e.EditorScroll_||(e.EditorScroll_={}));var h;(function(D){const M=function(B){if(!k.isObject(B))return!1;const O=B;return!(!k.isNumber(O.lineNumber)&&!k.isString(O.lineNumber)||!k.isUndefined(O.at)&&!k.isString(O.at))};D.description={description:"Reveal the given line at the given logical position",args:[{name:"Reveal line argument object",description:"Property-value pairs that can be passed through this argument:\n					* 'lineNumber': A mandatory line number value.\n					* 'at': Logical position at which line has to be revealed.\n						```\n						'top', 'center', 'bottom'\n						```\n				",constraint:M,schema:{type:"object",required:["lineNumber"],properties:{lineNumber:{type:["number","string"]},at:{type:"string",enum:["top","center","bottom"]}}}}]},D.RawAtArgument={Top:"top",Center:"center",Bottom:"bottom"}})(h=e.RevealLine_||(e.RevealLine_={}));class f{constructor(M){M.addImplementation(1e4,"code-editor",(B,O)=>{const T=B.get(b.ICodeEditorService).getFocusedCodeEditor();return T&&T.hasTextFocus()?this._runEditorCommand(B,T,O):!1}),M.addImplementation(1e3,"generic-dom-input-textarea",(B,O)=>{const T=document.activeElement;return T&&["input","textarea"].indexOf(T.tagName.toLowerCase())>=0?(this.runDOMCommand(),!0):!1}),M.addImplementation(0,"generic-dom",(B,O)=>{const T=B.get(b.ICodeEditorService).getActiveCodeEditor();return T?(T.focus(),this._runEditorCommand(B,T,O)):!1})}_runEditorCommand(M,B,O){const T=this.runEditorCommand(M,B,O);return T||!0}}var S;(function(D){class M extends a{constructor(V){super(V);this._minimalReveal=V.minimalReveal,this._inSelectionMode=V.inSelectionMode}runCoreEditorCommand(V,K){V.model.pushStackElement(),V.setCursorStates(K.source,3,[t.CursorMoveCommands.moveTo(V,V.getPrimaryCursorState(),this._inSelectionMode,K.position,K.viewPosition)])&&V.revealPrimaryCursor(K.source,!0,this._minimalReveal)}}D.MoveTo=(0,w.registerEditorCommand)(new M({id:"_moveTo",minimalReveal:!0,inSelectionMode:!1,precondition:void 0})),D.MoveToSelect=(0,w.registerEditorCommand)(new M({id:"_moveToSelect",minimalReveal:!1,inSelectionMode:!0,precondition:void 0}));class B extends a{runCoreEditorCommand(V,K){V.model.pushStackElement();const X=this._getColumnSelectResult(V,V.getPrimaryCursorState(),V.getCursorColumnSelectData(),K);V.setCursorStates(K.source,3,X.viewStates.map(oe=>u.CursorState.fromViewState(oe))),V.setCursorColumnSelectData({isReal:!0,fromViewLineNumber:X.fromLineNumber,fromViewVisualColumn:X.fromVisualColumn,toViewLineNumber:X.toLineNumber,toViewVisualColumn:X.toVisualColumn}),X.reversed?V.revealTopMostCursor(K.source):V.revealBottomMostCursor(K.source)}}D.ColumnSelect=(0,w.registerEditorCommand)(new class extends B{constructor(){super({id:"columnSelect",precondition:void 0})}_getColumnSelectResult(Z,V,K,X){const oe=Z.model.validatePosition(X.position),ae=Z.coordinatesConverter.validateViewPosition(new i.Position(X.viewPosition.lineNumber,X.viewPosition.column),oe),ee=X.doColumnSelect?K.fromViewLineNumber:ae.lineNumber,ue=X.doColumnSelect?K.fromViewVisualColumn:X.mouseColumn-1;return C.ColumnSelection.columnSelect(Z.cursorConfig,Z,ee,ue,ae.lineNumber,X.mouseColumn-1)}}),D.CursorColumnSelectLeft=(0,w.registerEditorCommand)(new class extends B{constructor(){super({id:"cursorColumnSelectLeft",precondition:void 0,kbOpts:{weight:s,kbExpr:c.EditorContextKeys.textInputFocus,primary:2048|1024|512|15,linux:{primary:0}}})}_getColumnSelectResult(Z,V,K,X){return C.ColumnSelection.columnSelectLeft(Z.cursorConfig,Z,K)}}),D.CursorColumnSelectRight=(0,w.registerEditorCommand)(new class extends B{constructor(){super({id:"cursorColumnSelectRight",precondition:void 0,kbOpts:{weight:s,kbExpr:c.EditorContextKeys.textInputFocus,primary:2048|1024|512|17,linux:{primary:0}}})}_getColumnSelectResult(Z,V,K,X){return C.ColumnSelection.columnSelectRight(Z.cursorConfig,Z,K)}});class O extends B{constructor(V){super(V);this._isPaged=V.isPaged}_getColumnSelectResult(V,K,X,oe){return C.ColumnSelection.columnSelectUp(V.cursorConfig,V,X,this._isPaged)}}D.CursorColumnSelectUp=(0,w.registerEditorCommand)(new O({isPaged:!1,id:"cursorColumnSelectUp",precondition:void 0,kbOpts:{weight:s,kbExpr:c.EditorContextKeys.textInputFocus,primary:2048|1024|512|16,linux:{primary:0}}})),D.CursorColumnSelectPageUp=(0,w.registerEditorCommand)(new O({isPaged:!0,id:"cursorColumnSelectPageUp",precondition:void 0,kbOpts:{weight:s,kbExpr:c.EditorContextKeys.textInputFocus,primary:2048|1024|512|11,linux:{primary:0}}}));class T extends B{constructor(V){super(V);this._isPaged=V.isPaged}_getColumnSelectResult(V,K,X,oe){return C.ColumnSelection.columnSelectDown(V.cursorConfig,V,X,this._isPaged)}}D.CursorColumnSelectDown=(0,w.registerEditorCommand)(new T({isPaged:!1,id:"cursorColumnSelectDown",precondition:void 0,kbOpts:{weight:s,kbExpr:c.EditorContextKeys.textInputFocus,primary:2048|1024|512|18,linux:{primary:0}}})),D.CursorColumnSelectPageDown=(0,w.registerEditorCommand)(new T({isPaged:!0,id:"cursorColumnSelectPageDown",precondition:void 0,kbOpts:{weight:s,kbExpr:c.EditorContextKeys.textInputFocus,primary:2048|1024|512|12,linux:{primary:0}}}));class A extends a{constructor(){super({id:"cursorMove",precondition:void 0,description:t.CursorMove.description})}runCoreEditorCommand(V,K){const X=t.CursorMove.parse(K);!X||this._runCursorMove(V,K.source,X)}_runCursorMove(V,K,X){V.model.pushStackElement(),V.setCursorStates(K,3,A._move(V,V.getCursorStates(),X)),V.revealPrimaryCursor(K,!0)}static _move(V,K,X){const oe=X.select,ae=X.value;switch(X.direction){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:return t.CursorMoveCommands.simpleMove(V,K,X.direction,oe,ae,X.unit);case 11:case 13:case 12:case 14:return t.CursorMoveCommands.viewportMove(V,K,X.direction,oe,ae);default:return null}}}D.CursorMoveImpl=A,D.CursorMove=(0,w.registerEditorCommand)(new A);class P extends a{constructor(V){super(V);this._staticArgs=V.args}runCoreEditorCommand(V,K){let X=this._staticArgs;this._staticArgs.value===-1&&(X={direction:this._staticArgs.direction,unit:this._staticArgs.unit,select:this._staticArgs.select,value:K.pageSize||V.cursorConfig.pageSize}),V.model.pushStackElement(),V.setCursorStates(K.source,3,t.CursorMoveCommands.simpleMove(V,V.getCursorStates(),X.direction,X.select,X.value,X.unit)),V.revealPrimaryCursor(K.source,!0)}}D.CursorLeft=(0,w.registerEditorCommand)(new P({args:{direction:0,unit:0,select:!1,value:1},id:"cursorLeft",precondition:void 0,kbOpts:{weight:s,kbExpr:c.EditorContextKeys.textInputFocus,primary:15,mac:{primary:15,secondary:[256|32]}}})),D.CursorLeftSelect=(0,w.registerEditorCommand)(new P({args:{direction:0,unit:0,select:!0,value:1},id:"cursorLeftSelect",precondition:void 0,kbOpts:{weight:s,kbExpr:c.EditorContextKeys.textInputFocus,primary:1024|15}})),D.CursorRight=(0,w.registerEditorCommand)(new P({args:{direction:1,unit:0,select:!1,value:1},id:"cursorRight",precondition:void 0,kbOpts:{weight:s,kbExpr:c.EditorContextKeys.textInputFocus,primary:17,mac:{primary:17,secondary:[256|36]}}})),D.CursorRightSelect=(0,w.registerEditorCommand)(new P({args:{direction:1,unit:0,select:!0,value:1},id:"cursorRightSelect",precondition:void 0,kbOpts:{weight:s,kbExpr:c.EditorContextKeys.textInputFocus,primary:1024|17}})),D.CursorUp=(0,w.registerEditorCommand)(new P({args:{direction:2,unit:2,select:!1,value:1},id:"cursorUp",precondition:void 0,kbOpts:{weight:s,kbExpr:c.EditorContextKeys.textInputFocus,primary:16,mac:{primary:16,secondary:[256|46]}}})),D.CursorUpSelect=(0,w.registerEditorCommand)(new P({args:{direction:2,unit:2,select:!0,value:1},id:"cursorUpSelect",precondition:void 0,kbOpts:{weight:s,kbExpr:c.EditorContextKeys.textInputFocus,primary:1024|16,secondary:[2048|1024|16],mac:{primary:1024|16},linux:{primary:1024|16}}})),D.CursorPageUp=(0,w.registerEditorCommand)(new P({args:{direction:2,unit:2,select:!1,value:-1},id:"cursorPageUp",precondition:void 0,kbOpts:{weight:s,kbExpr:c.EditorContextKeys.textInputFocus,primary:11}})),D.CursorPageUpSelect=(0,w.registerEditorCommand)(new P({args:{direction:2,unit:2,select:!0,value:-1},id:"cursorPageUpSelect",precondition:void 0,kbOpts:{weight:s,kbExpr:c.EditorContextKeys.textInputFocus,primary:1024|11}})),D.CursorDown=(0,w.registerEditorCommand)(new P({args:{direction:3,unit:2,select:!1,value:1},id:"cursorDown",precondition:void 0,kbOpts:{weight:s,kbExpr:c.EditorContextKeys.textInputFocus,primary:18,mac:{primary:18,secondary:[256|44]}}})),D.CursorDownSelect=(0,w.registerEditorCommand)(new P({args:{direction:3,unit:2,select:!0,value:1},id:"cursorDownSelect",precondition:void 0,kbOpts:{weight:s,kbExpr:c.EditorContextKeys.textInputFocus,primary:1024|18,secondary:[2048|1024|18],mac:{primary:1024|18},linux:{primary:1024|18}}})),D.CursorPageDown=(0,w.registerEditorCommand)(new P({args:{direction:3,unit:2,select:!1,value:-1},id:"cursorPageDown",precondition:void 0,kbOpts:{weight:s,kbExpr:c.EditorContextKeys.textInputFocus,primary:12}})),D.CursorPageDownSelect=(0,w.registerEditorCommand)(new P({args:{direction:3,unit:2,select:!0,value:-1},id:"cursorPageDownSelect",precondition:void 0,kbOpts:{weight:s,kbExpr:c.EditorContextKeys.textInputFocus,primary:1024|12}})),D.CreateCursor=(0,w.registerEditorCommand)(new class extends a{constructor(){super({id:"createCursor",precondition:void 0})}runCoreEditorCommand(Z,V){let K;V.wholeLine?K=t.CursorMoveCommands.line(Z,Z.getPrimaryCursorState(),!1,V.position,V.viewPosition):K=t.CursorMoveCommands.moveTo(Z,Z.getPrimaryCursorState(),!1,V.position,V.viewPosition);const X=Z.getCursorStates();if(X.length>1){const oe=K.modelState?K.modelState.position:null,ae=K.viewState?K.viewState.position:null;for(let ee=0,ue=X.length;ee<ue;ee++){const le=X[ee];if(!(oe&&!le.modelState.selection.containsPosition(oe))&&!(ae&&!le.viewState.selection.containsPosition(ae))){X.splice(ee,1),Z.model.pushStackElement(),Z.setCursorStates(V.source,3,X);return}}}X.push(K),Z.model.pushStackElement(),Z.setCursorStates(V.source,3,X)}}),D.LastCursorMoveToSelect=(0,w.registerEditorCommand)(new class extends a{constructor(){super({id:"_lastCursorMoveToSelect",precondition:void 0})}runCoreEditorCommand(Z,V){const K=Z.getLastAddedCursorIndex(),X=Z.getCursorStates(),oe=X.slice(0);oe[K]=t.CursorMoveCommands.moveTo(Z,X[K],!0,V.position,V.viewPosition),Z.model.pushStackElement(),Z.setCursorStates(V.source,3,oe)}});class F extends a{constructor(V){super(V);this._inSelectionMode=V.inSelectionMode}runCoreEditorCommand(V,K){V.model.pushStackElement(),V.setCursorStates(K.source,3,t.CursorMoveCommands.moveToBeginningOfLine(V,V.getCursorStates(),this._inSelectionMode)),V.revealPrimaryCursor(K.source,!0)}}D.CursorHome=(0,w.registerEditorCommand)(new F({inSelectionMode:!1,id:"cursorHome",precondition:void 0,kbOpts:{weight:s,kbExpr:c.EditorContextKeys.textInputFocus,primary:14,mac:{primary:14,secondary:[2048|15]}}})),D.CursorHomeSelect=(0,w.registerEditorCommand)(new F({inSelectionMode:!0,id:"cursorHomeSelect",precondition:void 0,kbOpts:{weight:s,kbExpr:c.EditorContextKeys.textInputFocus,primary:1024|14,mac:{primary:1024|14,secondary:[2048|1024|15]}}}));class W extends a{constructor(V){super(V);this._inSelectionMode=V.inSelectionMode}runCoreEditorCommand(V,K){V.model.pushStackElement(),V.setCursorStates(K.source,3,this._exec(V.getCursorStates())),V.revealPrimaryCursor(K.source,!0)}_exec(V){const K=[];for(let X=0,oe=V.length;X<oe;X++){const ae=V[X],ee=ae.modelState.position.lineNumber;K[X]=u.CursorState.fromModelState(ae.modelState.move(this._inSelectionMode,ee,1,0))}return K}}D.CursorLineStart=(0,w.registerEditorCommand)(new W({inSelectionMode:!1,id:"cursorLineStart",precondition:void 0,kbOpts:{weight:s,kbExpr:c.EditorContextKeys.textInputFocus,primary:0,mac:{primary:256|31}}})),D.CursorLineStartSelect=(0,w.registerEditorCommand)(new W({inSelectionMode:!0,id:"cursorLineStartSelect",precondition:void 0,kbOpts:{weight:s,kbExpr:c.EditorContextKeys.textInputFocus,primary:0,mac:{primary:256|1024|31}}}));class R extends a{constructor(V){super(V);this._inSelectionMode=V.inSelectionMode}runCoreEditorCommand(V,K){V.model.pushStackElement(),V.setCursorStates(K.source,3,t.CursorMoveCommands.moveToEndOfLine(V,V.getCursorStates(),this._inSelectionMode,K.sticky||!1)),V.revealPrimaryCursor(K.source,!0)}}D.CursorEnd=(0,w.registerEditorCommand)(new R({inSelectionMode:!1,id:"cursorEnd",precondition:void 0,kbOpts:{args:{sticky:!1},weight:s,kbExpr:c.EditorContextKeys.textInputFocus,primary:13,mac:{primary:13,secondary:[2048|17]}},description:{description:"Go to End",args:[{name:"args",schema:{type:"object",properties:{sticky:{description:L.localize(0,null),type:"boolean",default:!1}}}}]}})),D.CursorEndSelect=(0,w.registerEditorCommand)(new R({inSelectionMode:!0,id:"cursorEndSelect",precondition:void 0,kbOpts:{args:{sticky:!1},weight:s,kbExpr:c.EditorContextKeys.textInputFocus,primary:1024|13,mac:{primary:1024|13,secondary:[2048|1024|17]}},description:{description:"Select to End",args:[{name:"args",schema:{type:"object",properties:{sticky:{description:L.localize(1,null),type:"boolean",default:!1}}}}]}}));class z extends a{constructor(V){super(V);this._inSelectionMode=V.inSelectionMode}runCoreEditorCommand(V,K){V.model.pushStackElement(),V.setCursorStates(K.source,3,this._exec(V,V.getCursorStates())),V.revealPrimaryCursor(K.source,!0)}_exec(V,K){const X=[];for(let oe=0,ae=K.length;oe<ae;oe++){const ee=K[oe],ue=ee.modelState.position.lineNumber,le=V.model.getLineMaxColumn(ue);X[oe]=u.CursorState.fromModelState(ee.modelState.move(this._inSelectionMode,ue,le,0))}return X}}D.CursorLineEnd=(0,w.registerEditorCommand)(new z({inSelectionMode:!1,id:"cursorLineEnd",precondition:void 0,kbOpts:{weight:s,kbExpr:c.EditorContextKeys.textInputFocus,primary:0,mac:{primary:256|35}}})),D.CursorLineEndSelect=(0,w.registerEditorCommand)(new z({inSelectionMode:!0,id:"cursorLineEndSelect",precondition:void 0,kbOpts:{weight:s,kbExpr:c.EditorContextKeys.textInputFocus,primary:0,mac:{primary:256|1024|35}}}));class j extends a{constructor(V){super(V);this._inSelectionMode=V.inSelectionMode}runCoreEditorCommand(V,K){V.model.pushStackElement(),V.setCursorStates(K.source,3,t.CursorMoveCommands.moveToBeginningOfBuffer(V,V.getCursorStates(),this._inSelectionMode)),V.revealPrimaryCursor(K.source,!0)}}D.CursorTop=(0,w.registerEditorCommand)(new j({inSelectionMode:!1,id:"cursorTop",precondition:void 0,kbOpts:{weight:s,kbExpr:c.EditorContextKeys.textInputFocus,primary:2048|14,mac:{primary:2048|16}}})),D.CursorTopSelect=(0,w.registerEditorCommand)(new j({inSelectionMode:!0,id:"cursorTopSelect",precondition:void 0,kbOpts:{weight:s,kbExpr:c.EditorContextKeys.textInputFocus,primary:2048|1024|14,mac:{primary:2048|1024|16}}}));class $ extends a{constructor(V){super(V);this._inSelectionMode=V.inSelectionMode}runCoreEditorCommand(V,K){V.model.pushStackElement(),V.setCursorStates(K.source,3,t.CursorMoveCommands.moveToEndOfBuffer(V,V.getCursorStates(),this._inSelectionMode)),V.revealPrimaryCursor(K.source,!0)}}D.CursorBottom=(0,w.registerEditorCommand)(new $({inSelectionMode:!1,id:"cursorBottom",precondition:void 0,kbOpts:{weight:s,kbExpr:c.EditorContextKeys.textInputFocus,primary:2048|13,mac:{primary:2048|18}}})),D.CursorBottomSelect=(0,w.registerEditorCommand)(new $({inSelectionMode:!0,id:"cursorBottomSelect",precondition:void 0,kbOpts:{weight:s,kbExpr:c.EditorContextKeys.textInputFocus,primary:2048|1024|13,mac:{primary:2048|1024|18}}}));class G extends a{constructor(){super({id:"editorScroll",precondition:void 0,description:l.description})}runCoreEditorCommand(V,K){const X=l.parse(K);!X||this._runEditorScroll(V,K.source,X)}_runEditorScroll(V,K,X){const oe=this._computeDesiredScrollTop(V,X);if(X.revealCursor){const ae=V.getCompletelyVisibleViewRangeAtScrollTop(oe);V.setCursorStates(K,3,[t.CursorMoveCommands.findPositionInViewportIfOutside(V,V.getPrimaryCursorState(),ae,X.select)])}V.viewLayout.setScrollPosition({scrollTop:oe},0)}_computeDesiredScrollTop(V,K){if(K.unit===1){const ae=V.getCompletelyVisibleViewRange(),ee=V.coordinatesConverter.convertViewRangeToModelRange(ae);let ue;K.direction===1?ue=Math.max(1,ee.startLineNumber-K.value):ue=Math.min(V.model.getLineCount(),ee.startLineNumber+K.value);const le=V.coordinatesConverter.convertModelPositionToViewPosition(new i.Position(ue,1));return V.viewLayout.getVerticalOffsetForLineNumber(le.lineNumber)}let X;K.unit===3?X=V.cursorConfig.pageSize*K.value:K.unit===4?X=Math.round(V.cursorConfig.pageSize/2)*K.value:X=K.value;const oe=(K.direction===1?-1:1)*X;return V.viewLayout.getCurrentScrollTop()+oe*V.cursorConfig.lineHeight}}D.EditorScrollImpl=G,D.EditorScroll=(0,w.registerEditorCommand)(new G),D.ScrollLineUp=(0,w.registerEditorCommand)(new class extends a{constructor(){super({id:"scrollLineUp",precondition:void 0,kbOpts:{weight:s,kbExpr:c.EditorContextKeys.textInputFocus,primary:2048|16,mac:{primary:256|11}}})}runCoreEditorCommand(Z,V){D.EditorScroll._runEditorScroll(Z,V.source,{direction:1,unit:2,value:1,revealCursor:!1,select:!1})}}),D.ScrollPageUp=(0,w.registerEditorCommand)(new class extends a{constructor(){super({id:"scrollPageUp",precondition:void 0,kbOpts:{weight:s,kbExpr:c.EditorContextKeys.textInputFocus,primary:2048|11,win:{primary:512|11},linux:{primary:512|11}}})}runCoreEditorCommand(Z,V){D.EditorScroll._runEditorScroll(Z,V.source,{direction:1,unit:3,value:1,revealCursor:!1,select:!1})}}),D.ScrollLineDown=(0,w.registerEditorCommand)(new class extends a{constructor(){super({id:"scrollLineDown",precondition:void 0,kbOpts:{weight:s,kbExpr:c.EditorContextKeys.textInputFocus,primary:2048|18,mac:{primary:256|12}}})}runCoreEditorCommand(Z,V){D.EditorScroll._runEditorScroll(Z,V.source,{direction:2,unit:2,value:1,revealCursor:!1,select:!1})}}),D.ScrollPageDown=(0,w.registerEditorCommand)(new class extends a{constructor(){super({id:"scrollPageDown",precondition:void 0,kbOpts:{weight:s,kbExpr:c.EditorContextKeys.textInputFocus,primary:2048|12,win:{primary:512|12},linux:{primary:512|12}}})}runCoreEditorCommand(Z,V){D.EditorScroll._runEditorScroll(Z,V.source,{direction:2,unit:3,value:1,revealCursor:!1,select:!1})}});class J extends a{constructor(V){super(V);this._inSelectionMode=V.inSelectionMode}runCoreEditorCommand(V,K){V.model.pushStackElement(),V.setCursorStates(K.source,3,[t.CursorMoveCommands.word(V,V.getPrimaryCursorState(),this._inSelectionMode,K.position)]),V.revealPrimaryCursor(K.source,!0)}}D.WordSelect=(0,w.registerEditorCommand)(new J({inSelectionMode:!1,id:"_wordSelect",precondition:void 0})),D.WordSelectDrag=(0,w.registerEditorCommand)(new J({inSelectionMode:!0,id:"_wordSelectDrag",precondition:void 0})),D.LastCursorWordSelect=(0,w.registerEditorCommand)(new class extends a{constructor(){super({id:"lastCursorWordSelect",precondition:void 0})}runCoreEditorCommand(Z,V){const K=Z.getLastAddedCursorIndex(),X=Z.getCursorStates(),oe=X.slice(0),ae=X[K];oe[K]=t.CursorMoveCommands.word(Z,ae,ae.modelState.hasSelection(),V.position),Z.model.pushStackElement(),Z.setCursorStates(V.source,3,oe)}});class re extends a{constructor(V){super(V);this._inSelectionMode=V.inSelectionMode}runCoreEditorCommand(V,K){V.model.pushStackElement(),V.setCursorStates(K.source,3,[t.CursorMoveCommands.line(V,V.getPrimaryCursorState(),this._inSelectionMode,K.position,K.viewPosition)]),V.revealPrimaryCursor(K.source,!1)}}D.LineSelect=(0,w.registerEditorCommand)(new re({inSelectionMode:!1,id:"_lineSelect",precondition:void 0})),D.LineSelectDrag=(0,w.registerEditorCommand)(new re({inSelectionMode:!0,id:"_lineSelectDrag",precondition:void 0}));class se extends a{constructor(V){super(V);this._inSelectionMode=V.inSelectionMode}runCoreEditorCommand(V,K){const X=V.getLastAddedCursorIndex(),oe=V.getCursorStates(),ae=oe.slice(0);ae[X]=t.CursorMoveCommands.line(V,oe[X],this._inSelectionMode,K.position,K.viewPosition),V.model.pushStackElement(),V.setCursorStates(K.source,3,ae)}}D.LastCursorLineSelect=(0,w.registerEditorCommand)(new se({inSelectionMode:!1,id:"lastCursorLineSelect",precondition:void 0})),D.LastCursorLineSelectDrag=(0,w.registerEditorCommand)(new se({inSelectionMode:!0,id:"lastCursorLineSelectDrag",precondition:void 0})),D.CancelSelection=(0,w.registerEditorCommand)(new class extends a{constructor(){super({id:"cancelSelection",precondition:c.EditorContextKeys.hasNonEmptySelection,kbOpts:{weight:s,kbExpr:c.EditorContextKeys.textInputFocus,primary:9,secondary:[1024|9]}})}runCoreEditorCommand(Z,V){Z.model.pushStackElement(),Z.setCursorStates(V.source,3,[t.CursorMoveCommands.cancelSelection(Z,Z.getPrimaryCursorState())]),Z.revealPrimaryCursor(V.source,!0)}}),D.RemoveSecondaryCursors=(0,w.registerEditorCommand)(new class extends a{constructor(){super({id:"removeSecondaryCursors",precondition:c.EditorContextKeys.hasMultipleSelections,kbOpts:{weight:s+1,kbExpr:c.EditorContextKeys.textInputFocus,primary:9,secondary:[1024|9]}})}runCoreEditorCommand(Z,V){Z.model.pushStackElement(),Z.setCursorStates(V.source,3,[Z.getPrimaryCursorState()]),Z.revealPrimaryCursor(V.source,!0),(0,I.status)(L.localize(2,null))}}),D.RevealLine=(0,w.registerEditorCommand)(new class extends a{constructor(){super({id:"revealLine",precondition:void 0,description:h.description})}runCoreEditorCommand(Z,V){const K=V,X=K.lineNumber||0;let oe=typeof X=="number"?X+1:parseInt(X)+1;oe<1&&(oe=1);const ae=Z.model.getLineCount();oe>ae&&(oe=ae);const ee=new o.Range(oe,1,oe,Z.model.getLineMaxColumn(oe));let ue=0;if(K.at)switch(K.at){case h.RawAtArgument.Top:ue=3;break;case h.RawAtArgument.Center:ue=1;break;case h.RawAtArgument.Bottom:ue=4;break;default:break}const le=Z.coordinatesConverter.convertModelRangeToViewRange(ee);Z.revealRange(V.source,!1,le,ue,0)}}),D.SelectAll=new class extends f{constructor(){super(w.SelectAllCommand)}runDOMCommand(){m.isFirefox&&(document.activeElement.focus(),document.activeElement.select()),document.execCommand("selectAll")}runEditorCommand(Z,V,K){const X=V._getViewModel();!X||this.runCoreEditorCommand(X,K)}runCoreEditorCommand(Z,V){Z.model.pushStackElement(),Z.setCursorStates("keyboard",3,[t.CursorMoveCommands.selectAll(Z,Z.getPrimaryCursorState())])}},D.SetSelection=(0,w.registerEditorCommand)(new class extends a{constructor(){super({id:"setSelection",precondition:void 0})}runCoreEditorCommand(Z,V){Z.model.pushStackElement(),Z.setCursorStates(V.source,3,[u.CursorState.fromModelSelection(V.selection)])}})})(S=e.CoreNavigationCommands||(e.CoreNavigationCommands={}));const v=d.ContextKeyExpr.and(c.EditorContextKeys.textInputFocus,c.EditorContextKeys.columnSelection);function p(D,M){r.KeybindingsRegistry.registerKeybindingRule({id:D,primary:M,when:v,weight:s+1})}p(S.CursorColumnSelectLeft.id,1024|15),p(S.CursorColumnSelectRight.id,1024|17),p(S.CursorColumnSelectUp.id,1024|16),p(S.CursorColumnSelectPageUp.id,1024|11),p(S.CursorColumnSelectDown.id,1024|18),p(S.CursorColumnSelectPageDown.id,1024|12);function _(D){return D.register(),D}var y;(function(D){class M extends w.EditorCommand{runEditorCommand(O,T,A){const P=T._getViewModel();!P||this.runCoreEditingCommand(T,P,A||{})}}D.CoreEditingCommand=M,D.LineBreakInsert=(0,w.registerEditorCommand)(new class extends M{constructor(){super({id:"lineBreakInsert",precondition:c.EditorContextKeys.writable,kbOpts:{weight:s,kbExpr:c.EditorContextKeys.textInputFocus,primary:0,mac:{primary:256|45}}})}runCoreEditingCommand(B,O,T){B.pushUndoStop(),B.executeCommands(this.id,n.TypeOperations.lineBreakInsert(O.cursorConfig,O.model,O.getCursorStates().map(A=>A.modelState.selection)))}}),D.Outdent=(0,w.registerEditorCommand)(new class extends M{constructor(){super({id:"outdent",precondition:c.EditorContextKeys.writable,kbOpts:{weight:s,kbExpr:d.ContextKeyExpr.and(c.EditorContextKeys.editorTextFocus,c.EditorContextKeys.tabDoesNotMoveFocus),primary:1024|2}})}runCoreEditingCommand(B,O,T){B.pushUndoStop(),B.executeCommands(this.id,n.TypeOperations.outdent(O.cursorConfig,O.model,O.getCursorStates().map(A=>A.modelState.selection))),B.pushUndoStop()}}),D.Tab=(0,w.registerEditorCommand)(new class extends M{constructor(){super({id:"tab",precondition:c.EditorContextKeys.writable,kbOpts:{weight:s,kbExpr:d.ContextKeyExpr.and(c.EditorContextKeys.editorTextFocus,c.EditorContextKeys.tabDoesNotMoveFocus),primary:2}})}runCoreEditingCommand(B,O,T){B.pushUndoStop(),B.executeCommands(this.id,n.TypeOperations.tab(O.cursorConfig,O.model,O.getCursorStates().map(A=>A.modelState.selection))),B.pushUndoStop()}}),D.DeleteLeft=(0,w.registerEditorCommand)(new class extends M{constructor(){super({id:"deleteLeft",precondition:void 0,kbOpts:{weight:s,kbExpr:c.EditorContextKeys.textInputFocus,primary:1,secondary:[1024|1],mac:{primary:1,secondary:[1024|1,256|38,256|1]}}})}runCoreEditingCommand(B,O,T){const[A,P]=g.DeleteOperations.deleteLeft(O.getPrevEditOperationType(),O.cursorConfig,O.model,O.getCursorStates().map(F=>F.modelState.selection),O.getCursorAutoClosedCharacters());A&&B.pushUndoStop(),B.executeCommands(this.id,P),O.setPrevEditOperationType(2)}}),D.DeleteRight=(0,w.registerEditorCommand)(new class extends M{constructor(){super({id:"deleteRight",precondition:void 0,kbOpts:{weight:s,kbExpr:c.EditorContextKeys.textInputFocus,primary:20,mac:{primary:20,secondary:[256|34,256|20]}}})}runCoreEditingCommand(B,O,T){const[A,P]=g.DeleteOperations.deleteRight(O.getPrevEditOperationType(),O.cursorConfig,O.model,O.getCursorStates().map(F=>F.modelState.selection));A&&B.pushUndoStop(),B.executeCommands(this.id,P),O.setPrevEditOperationType(3)}}),D.Undo=new class extends f{constructor(){super(w.UndoCommand)}runDOMCommand(){document.execCommand("undo")}runEditorCommand(B,O,T){if(!(!O.hasModel()||O.getOption(81)===!0))return O.getModel().undo()}},D.Redo=new class extends f{constructor(){super(w.RedoCommand)}runDOMCommand(){document.execCommand("redo")}runEditorCommand(B,O,T){if(!(!O.hasModel()||O.getOption(81)===!0))return O.getModel().redo()}}})(y=e.CoreEditingCommands||(e.CoreEditingCommands={}));class E extends w.Command{constructor(M,B,O){super({id:M,precondition:void 0,description:O});this._handlerId=B}runCommand(M,B){const O=M.get(b.ICodeEditorService).getFocusedCodeEditor();!O||O.trigger("keyboard",this._handlerId,B)}}function N(D,M){_(new E("default:"+D,D)),_(new E(D,D,M))}N("type",{description:"Type",args:[{name:"args",schema:{type:"object",required:["text"],properties:{text:{type:"string"}}}}]}),N("replacePreviousChar"),N("compositionType"),N("compositionStart"),N("compositionEnd"),N("paste"),N("cut")}),define(te[668],ie([1,0,201,15]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MarkerDecorationsContribution=void 0;let k=class{constructor(w,b){}dispose(){}};k.ID="editor.contrib.markerDecorations",k=Ie([pe(1,L.IMarkerDecorationsService)],k),e.MarkerDecorationsContribution=k,(0,m.registerEditorContribution)(k.ID,k)}),define(te[669],ie([1,0,158,11,16]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewController=void 0;class I{constructor(b,C,u,g){this.configuration=b,this.viewModel=C,this.userInputEvents=u,this.commandDelegate=g}paste(b,C,u,g){this.commandDelegate.paste(b,C,u,g)}type(b){this.commandDelegate.type(b)}compositionType(b,C,u,g){this.commandDelegate.compositionType(b,C,u,g)}compositionStart(){this.commandDelegate.startComposition()}compositionEnd(){this.commandDelegate.endComposition()}cut(){this.commandDelegate.cut()}setSelection(b){L.CoreNavigationCommands.SetSelection.runCoreEditorCommand(this.viewModel,{source:"keyboard",selection:b})}_validateViewColumn(b){const C=this.viewModel.getLineMinColumn(b.lineNumber);return b.column<C?new m.Position(b.lineNumber,C):b}_hasMulticursorModifier(b){switch(this.configuration.options.get(70)){case"altKey":return b.altKey;case"ctrlKey":return b.ctrlKey;case"metaKey":return b.metaKey;default:return!1}}_hasNonMulticursorModifier(b){switch(this.configuration.options.get(70)){case"altKey":return b.ctrlKey||b.metaKey;case"ctrlKey":return b.altKey||b.metaKey;case"metaKey":return b.ctrlKey||b.altKey;default:return!1}}dispatchMouse(b){const C=this.configuration.options,u=k.isLinux&&C.get(96),g=C.get(18);b.middleButton&&!u?this._columnSelect(b.position,b.mouseColumn,b.inSelectionMode):b.startedOnLineNumbers?this._hasMulticursorModifier(b)?b.inSelectionMode?this._lastCursorLineSelect(b.position):this._createCursor(b.position,!0):b.inSelectionMode?this._lineSelectDrag(b.position):this._lineSelect(b.position):b.mouseDownCount>=4?this._selectAll():b.mouseDownCount===3?this._hasMulticursorModifier(b)?b.inSelectionMode?this._lastCursorLineSelectDrag(b.position):this._lastCursorLineSelect(b.position):b.inSelectionMode?this._lineSelectDrag(b.position):this._lineSelect(b.position):b.mouseDownCount===2?b.onInjectedText||(this._hasMulticursorModifier(b)?this._lastCursorWordSelect(b.position):b.inSelectionMode?this._wordSelectDrag(b.position):this._wordSelect(b.position)):this._hasMulticursorModifier(b)?this._hasNonMulticursorModifier(b)||(b.shiftKey?this._columnSelect(b.position,b.mouseColumn,!0):b.inSelectionMode?this._lastCursorMoveToSelect(b.position):this._createCursor(b.position,!1)):b.inSelectionMode?b.altKey?this._columnSelect(b.position,b.mouseColumn,!0):g?this._columnSelect(b.position,b.mouseColumn,!0):this._moveToSelect(b.position):this.moveTo(b.position)}_usualArgs(b){return b=this._validateViewColumn(b),{source:"mouse",position:this._convertViewToModelPosition(b),viewPosition:b}}moveTo(b){L.CoreNavigationCommands.MoveTo.runCoreEditorCommand(this.viewModel,this._usualArgs(b))}_moveToSelect(b){L.CoreNavigationCommands.MoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(b))}_columnSelect(b,C,u){b=this._validateViewColumn(b),L.CoreNavigationCommands.ColumnSelect.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(b),viewPosition:b,mouseColumn:C,doColumnSelect:u})}_createCursor(b,C){b=this._validateViewColumn(b),L.CoreNavigationCommands.CreateCursor.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(b),viewPosition:b,wholeLine:C})}_lastCursorMoveToSelect(b){L.CoreNavigationCommands.LastCursorMoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(b))}_wordSelect(b){L.CoreNavigationCommands.WordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(b))}_wordSelectDrag(b){L.CoreNavigationCommands.WordSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(b))}_lastCursorWordSelect(b){L.CoreNavigationCommands.LastCursorWordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(b))}_lineSelect(b){L.CoreNavigationCommands.LineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(b))}_lineSelectDrag(b){L.CoreNavigationCommands.LineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(b))}_lastCursorLineSelect(b){L.CoreNavigationCommands.LastCursorLineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(b))}_lastCursorLineSelectDrag(b){L.CoreNavigationCommands.LastCursorLineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(b))}_selectAll(){L.CoreNavigationCommands.SelectAll.runCoreEditorCommand(this.viewModel,{source:"mouse"})}_convertViewToModelPosition(b){return this.viewModel.coordinatesConverter.convertViewPositionToModelPosition(b)}emitKeyDown(b){this.userInputEvents.emitKeyDown(b)}emitKeyUp(b){this.userInputEvents.emitKeyUp(b)}emitContextMenu(b){this.userInputEvents.emitContextMenu(b)}emitMouseMove(b){this.userInputEvents.emitMouseMove(b)}emitMouseLeave(b){this.userInputEvents.emitMouseLeave(b)}emitMouseUp(b){this.userInputEvents.emitMouseUp(b)}emitMouseDown(b){this.userInputEvents.emitMouseDown(b)}emitMouseDrag(b){this.userInputEvents.emitMouseDrag(b)}emitMouseDrop(b){this.userInputEvents.emitMouseDrop(b)}emitMouseDropCanceled(){this.userInputEvents.emitMouseDropCanceled()}emitMouseWheel(b){this.userInputEvents.emitMouseWheel(b)}}e.ViewController=I}),define(te[670],ie([1,0,7,22,31,13,645,654,669,235,516,51,445,652,446,648,188,653,286,646,447,254,448,649,449,655,455,656,650,651,657,450,11,3,118,456,452,125,14,285]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s,a,l,h,f,S,v,p,_,y,E,N,D,M,B,O,T,A,P,F,W,R){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.View=void 0;class z extends F.ViewEventHandler{constructor(G,J,re,se,Z,V){super();this._selections=[new m.Selection(1,1,1,1)],this._renderAnimationFrame=null;const K=new C.ViewController(J,se,Z,G);this._context=new A.ViewContext(J,re,se),this._context.addEventHandler(this),this._viewParts=[],this._textAreaHandler=new b.TextAreaHandler(this._context,K,this._createTextAreaHandlerHelper()),this._viewParts.push(this._textAreaHandler),this._linesContent=(0,k.createFastDomNode)(document.createElement("div")),this._linesContent.setClassName("lines-content monaco-editor-background"),this._linesContent.setPosition("absolute"),this.domNode=(0,k.createFastDomNode)(document.createElement("div")),this.domNode.setClassName(this._getEditorClassName()),this.domNode.setAttribute("role","code"),this._overflowGuardContainer=(0,k.createFastDomNode)(document.createElement("div")),t.PartFingerprints.write(this._overflowGuardContainer,3),this._overflowGuardContainer.setClassName("overflow-guard"),this._scrollbar=new c.EditorScrollbar(this._context,this._linesContent,this.domNode,this._overflowGuardContainer),this._viewParts.push(this._scrollbar),this._viewLines=new a.ViewLines(this._context,this._linesContent),this._viewZones=new M.ViewZones(this._context),this._viewParts.push(this._viewZones);const X=new p.DecorationsOverviewRuler(this._context);this._viewParts.push(X);const oe=new E.ScrollDecorationViewPart(this._context);this._viewParts.push(oe);const ae=new g.ContentViewOverlays(this._context);this._viewParts.push(ae),ae.addDynamicOverlay(new i.CurrentLineHighlightOverlay(this._context)),ae.addDynamicOverlay(new N.SelectionsOverlay(this._context)),ae.addDynamicOverlay(new r.IndentGuidesOverlay(this._context)),ae.addDynamicOverlay(new o.DecorationsOverlay(this._context));const ee=new g.MarginViewOverlays(this._context);this._viewParts.push(ee),ee.addDynamicOverlay(new i.CurrentLineMarginHighlightOverlay(this._context)),ee.addDynamicOverlay(new d.GlyphMarginOverlay(this._context)),ee.addDynamicOverlay(new f.MarginViewLineDecorationsOverlay(this._context)),ee.addDynamicOverlay(new l.LinesDecorationsOverlay(this._context)),ee.addDynamicOverlay(new s.LineNumbersOverlay(this._context));const ue=new h.Margin(this._context);ue.getDomNode().appendChild(this._viewZones.marginDomNode),ue.getDomNode().appendChild(ee.getDomNode()),this._viewParts.push(ue),this._contentWidgets=new n.ViewContentWidgets(this._context,this.domNode),this._viewParts.push(this._contentWidgets),this._viewCursors=new D.ViewCursors(this._context),this._viewParts.push(this._viewCursors),this._overlayWidgets=new v.ViewOverlayWidgets(this._context),this._viewParts.push(this._overlayWidgets);const le=new y.Rulers(this._context);this._viewParts.push(le);const x=new S.Minimap(this._context);if(this._viewParts.push(x),X){const H=this._scrollbar.getOverviewRulerLayoutInfo();H.parent.insertBefore(X.getDomNode(),H.insertBefore)}this._linesContent.appendChild(ae.getDomNode()),this._linesContent.appendChild(le.domNode),this._linesContent.appendChild(this._viewZones.domNode),this._linesContent.appendChild(this._viewLines.getDomNode()),this._linesContent.appendChild(this._contentWidgets.domNode),this._linesContent.appendChild(this._viewCursors.getDomNode()),this._overflowGuardContainer.appendChild(ue.getDomNode()),this._overflowGuardContainer.appendChild(this._scrollbar.getDomNode()),this._overflowGuardContainer.appendChild(oe.getDomNode()),this._overflowGuardContainer.appendChild(this._textAreaHandler.textArea),this._overflowGuardContainer.appendChild(this._textAreaHandler.textAreaCover),this._overflowGuardContainer.appendChild(this._overlayWidgets.getDomNode()),this._overflowGuardContainer.appendChild(x.getDomNode()),this.domNode.appendChild(this._overflowGuardContainer),V?V.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode.domNode):this.domNode.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode),this._applyLayout(),this._pointerHandler=this._register(new w.PointerHandler(this._context,K,this._createPointerHandlerHelper()))}_flushAccumulatedAndRenderNow(){this._renderNow()}_createPointerHandlerHelper(){return{viewDomNode:this.domNode.domNode,linesContentDomNode:this._linesContent.domNode,focusTextArea:()=>{this.focus()},dispatchTextAreaEvent:G=>{this._textAreaHandler.textArea.domNode.dispatchEvent(G)},getLastRenderData:()=>{const G=this._viewCursors.getLastRenderData()||[],J=this._textAreaHandler.getLastRenderData();return new R.PointerHandlerLastRenderData(G,J)},shouldSuppressMouseDownOnViewZone:G=>this._viewZones.shouldSuppressMouseDownOnViewZone(G),shouldSuppressMouseDownOnWidget:G=>this._contentWidgets.shouldSuppressMouseDownOnWidget(G),getPositionFromDOMInfo:(G,J)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getPositionFromDOMInfo(G,J)),visibleRangeForPosition:(G,J)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(new B.Position(G,J))),getLineWidth:G=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getLineWidth(G))}}_createTextAreaHandlerHelper(){return{visibleRangeForPosition:G=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(G))}}_applyLayout(){const J=this._context.configuration.options.get(131);this.domNode.setWidth(J.width),this.domNode.setHeight(J.height),this._overflowGuardContainer.setWidth(J.width),this._overflowGuardContainer.setHeight(J.height),this._linesContent.setWidth(1e6),this._linesContent.setHeight(1e6)}_getEditorClassName(){const G=this._textAreaHandler.isFocused()?" focused":"";return this._context.configuration.options.get(128)+" "+(0,W.getThemeTypeSelector)(this._context.theme.type)+G}handleEvents(G){super.handleEvents(G),this._scheduleRender()}onConfigurationChanged(G){return this.domNode.setClassName(this._getEditorClassName()),this._applyLayout(),!1}onCursorStateChanged(G){return this._selections=G.selections,!1}onFocusChanged(G){return this.domNode.setClassName(this._getEditorClassName()),!1}onThemeChanged(G){return this._context.theme.update(G.theme),this.domNode.setClassName(this._getEditorClassName()),!1}dispose(){this._renderAnimationFrame!==null&&(this._renderAnimationFrame.dispose(),this._renderAnimationFrame=null),this._contentWidgets.overflowingContentWidgetsDomNode.domNode.remove(),this._context.removeEventHandler(this),this._viewLines.dispose();for(const G of this._viewParts)G.dispose();super.dispose()}_scheduleRender(){this._renderAnimationFrame===null&&(this._renderAnimationFrame=L.runAtThisOrScheduleAtNextAnimationFrame(this._onRenderScheduled.bind(this),100))}_onRenderScheduled(){this._renderAnimationFrame=null,this._flushAccumulatedAndRenderNow()}_renderNow(){j(()=>this._actualRender())}_getViewPartsToRender(){const G=[];let J=0;for(const re of this._viewParts)re.shouldRender()&&(G[J++]=re);return G}_actualRender(){if(!L.isInDOM(this.domNode.domNode))return;let G=this._getViewPartsToRender();if(!this._viewLines.shouldRender()&&G.length===0)return;const J=this._context.viewLayout.getLinesViewportData();this._context.viewModel.setViewport(J.startLineNumber,J.endLineNumber,J.centeredLineNumber);const re=new P.ViewportData(this._selections,J,this._context.viewLayout.getWhitespaceViewportData(),this._context.viewModel);this._contentWidgets.shouldRender()&&this._contentWidgets.onBeforeRender(re),this._viewLines.shouldRender()&&(this._viewLines.renderText(re),this._viewLines.onDidRender(),G=this._getViewPartsToRender());const se=new T.RenderingContext(this._context.viewLayout,re,this._viewLines);for(const Z of G)Z.prepareRender(se);for(const Z of G)Z.render(se),Z.onDidRender()}delegateVerticalScrollbarMouseDown(G){this._scrollbar.delegateVerticalScrollbarMouseDown(G)}restoreState(G){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:G.scrollTop},1),this._context.viewModel.tokenizeViewport(),this._renderNow(),this._viewLines.updateLineWidths(),this._context.viewModel.viewLayout.setScrollPosition({scrollLeft:G.scrollLeft},1)}getOffsetForColumn(G,J){const re=this._context.viewModel.model.validatePosition({lineNumber:G,column:J}),se=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(re);this._flushAccumulatedAndRenderNow();const Z=this._viewLines.visibleRangeForPosition(new B.Position(se.lineNumber,se.column));return Z?Z.left:-1}getTargetAtClientPoint(G,J){const re=this._pointerHandler.getTargetAtClientPoint(G,J);return re?u.ViewUserInputEvents.convertViewToModelMouseTarget(re,this._context.viewModel.coordinatesConverter):null}createOverviewRuler(G){return new _.OverviewRuler(this._context,G)}change(G){this._viewZones.changeViewZones(G),this._scheduleRender()}render(G,J){if(J){this._viewLines.forceShouldRender();for(const re of this._viewParts)re.forceShouldRender()}G?this._flushAccumulatedAndRenderNow():this._scheduleRender()}focus(){this._textAreaHandler.focusTextArea()}isFocused(){return this._textAreaHandler.isFocused()}setAriaOptions(G){this._textAreaHandler.setAriaOptions(G)}addContentWidget(G){this._contentWidgets.addWidget(G.widget),this.layoutContentWidget(G),this._scheduleRender()}layoutContentWidget(G){let J=G.position&&G.position.range||null;if(J===null){const se=G.position?G.position.position:null;se!==null&&(J=new O.Range(se.lineNumber,se.column,se.lineNumber,se.column))}const re=G.position?G.position.preference:null;this._contentWidgets.setWidgetPosition(G.widget,J,re),this._scheduleRender()}removeContentWidget(G){this._contentWidgets.removeWidget(G.widget),this._scheduleRender()}addOverlayWidget(G){this._overlayWidgets.addWidget(G.widget),this.layoutOverlayWidget(G),this._scheduleRender()}layoutOverlayWidget(G){const J=G.position?G.position.preference:null;this._overlayWidgets.setWidgetPosition(G.widget,J)&&this._scheduleRender()}removeOverlayWidget(G){this._overlayWidgets.removeWidget(G.widget),this._scheduleRender()}}e.View=z;function j($){try{return $()}catch(G){(0,I.onUnexpectedError)(G)}}}),define(te[671],ie([1,0,46,68,58,15,22,24,523,17,371]),function(q,e,L,m,k,I,w,b,C,u){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SelectionAnchorSet=void 0,e.SelectionAnchorSet=new u.RawContextKey("selectionAnchorSet",!1);let g=class Ei{constructor(d,r){this.editor=d,this.selectionAnchorSetContextKey=e.SelectionAnchorSet.bindTo(r),this.modelChangeListener=d.onDidChangeModel(()=>this.selectionAnchorSetContextKey.reset())}static get(d){return d.getContribution(Ei.ID)}setSelectionAnchor(){if(this.editor.hasModel()){const d=this.editor.getPosition(),r=this.decorationId?[this.decorationId]:[],s=this.editor.deltaDecorations(r,[{range:w.Selection.fromPositions(d,d),options:{description:"selection-anchor",stickiness:1,hoverMessage:new m.MarkdownString().appendText((0,C.localize)(0,null)),className:"selection-anchor"}}]);this.decorationId=s[0],this.selectionAnchorSetContextKey.set(!!this.decorationId),(0,L.alert)((0,C.localize)(1,null,d.lineNumber,d.column))}}goToSelectionAnchor(){if(this.editor.hasModel()&&this.decorationId){const d=this.editor.getModel().getDecorationRange(this.decorationId);d&&this.editor.setPosition(d.getStartPosition())}}selectFromAnchorToCursor(){if(this.editor.hasModel()&&this.decorationId){const d=this.editor.getModel().getDecorationRange(this.decorationId);if(d){const r=this.editor.getPosition();this.editor.setSelection(w.Selection.fromPositions(d.getStartPosition(),r)),this.cancelSelectionAnchor()}}}cancelSelectionAnchor(){this.decorationId&&(this.editor.deltaDecorations([this.decorationId],[]),this.decorationId=void 0,this.selectionAnchorSetContextKey.set(!1))}dispose(){this.cancelSelectionAnchor(),this.modelChangeListener.dispose()}};g.ID="editor.contrib.selectionAnchorController",g=Ie([pe(1,u.IContextKeyService)],g);class t extends I.EditorAction{constructor(){super({id:"editor.action.setSelectionAnchor",label:(0,C.localize)(2,null),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:b.EditorContextKeys.editorTextFocus,primary:(0,k.KeyChord)(2048|41,2048|32),weight:100}})}run(d,r){var s;return we(this,void 0,void 0,function*(){(s=g.get(r))===null||s===void 0||s.setSelectionAnchor()})}}class n extends I.EditorAction{constructor(){super({id:"editor.action.goToSelectionAnchor",label:(0,C.localize)(3,null),alias:"Go to Selection Anchor",precondition:e.SelectionAnchorSet})}run(d,r){var s;return we(this,void 0,void 0,function*(){(s=g.get(r))===null||s===void 0||s.goToSelectionAnchor()})}}class i extends I.EditorAction{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:(0,C.localize)(4,null),alias:"Select from Anchor to Cursor",precondition:e.SelectionAnchorSet,kbOpts:{kbExpr:b.EditorContextKeys.editorTextFocus,primary:(0,k.KeyChord)(2048|41,2048|41),weight:100}})}run(d,r){var s;return we(this,void 0,void 0,function*(){(s=g.get(r))===null||s===void 0||s.selectFromAnchorToCursor()})}}class o extends I.EditorAction{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:(0,C.localize)(5,null),alias:"Cancel Selection Anchor",precondition:e.SelectionAnchorSet,kbOpts:{kbExpr:b.EditorContextKeys.editorTextFocus,primary:9,weight:100}})}run(d,r){var s;return we(this,void 0,void 0,function*(){(s=g.get(r))===null||s===void 0||s.cancelSelectionAnchor()})}}(0,I.registerEditorContribution)(g.ID,g),(0,I.registerEditorAction)(t),(0,I.registerEditorAction)(n),(0,I.registerEditorAction)(i),(0,I.registerEditorAction)(o)}),define(te[672],ie([1,0,15,24,458,525]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0});class w extends L.EditorAction{constructor(g,t){super(t);this.left=g}run(g,t){if(!t.hasModel())return;const n=[],i=t.getSelections();for(const o of i)n.push(new k.MoveCaretCommand(o,this.left));t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}class b extends w{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:I.localize(0,null),alias:"Move Selected Text Left",precondition:m.EditorContextKeys.writable})}}class C extends w{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:I.localize(1,null),alias:"Move Selected Text Right",precondition:m.EditorContextKeys.writable})}}(0,L.registerEditorAction)(b),(0,L.registerEditorAction)(C)}),define(te[673],ie([1,0,15,100,180,3,24,526]),function(q,e,L,m,k,I,w,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0});class C extends L.EditorAction{constructor(){super({id:"editor.action.transposeLetters",label:b.localize(0,null),alias:"Transpose Letters",precondition:w.EditorContextKeys.writable,kbOpts:{kbExpr:w.EditorContextKeys.textInputFocus,primary:0,mac:{primary:256|50},weight:100}})}run(g,t){if(!t.hasModel())return;let n=t.getModel(),i=[],o=t.getSelections();for(let c of o){if(!c.isEmpty())continue;let d=c.startLineNumber,r=c.startColumn,s=n.getLineMaxColumn(d);if(d===1&&(r===1||r===2&&s===2))continue;let a=r===s?c.getPosition():k.MoveOperations.rightPosition(n,c.getPosition().lineNumber,c.getPosition().column),l=k.MoveOperations.leftPosition(n,a),h=k.MoveOperations.leftPosition(n,l),f=n.getValueInRange(I.Range.fromPositions(h,l)),S=n.getValueInRange(I.Range.fromPositions(l,a)),v=I.Range.fromPositions(h,a);i.push(new m.ReplaceCommand(v,S+f))}i.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop())}}(0,L.registerEditorAction)(C)}),define(te[674],ie([1,0,34,16,178,15,29,24,527,37,104]),function(q,e,L,m,k,I,w,b,C,u,g){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PasteAction=e.CopyAction=e.CutAction=void 0;const t="9_cutcopypaste",n=m.isNative||document.queryCommandSupported("cut"),i=m.isNative||document.queryCommandSupported("copy"),o=typeof navigator.clipboard=="undefined"||L.isFirefox?document.queryCommandSupported("paste"):!0;function c(s){return s.register(),s}e.CutAction=n?c(new I.MultiCommand({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:m.isNative?{primary:2048|54,win:{primary:2048|54,secondary:[1024|20]},weight:100}:void 0,menuOpts:[{menuId:u.MenuId.MenubarEditMenu,group:"2_ccp",title:C.localize(0,null),order:1},{menuId:u.MenuId.EditorContext,group:t,title:C.localize(1,null),when:b.EditorContextKeys.writable,order:1},{menuId:u.MenuId.CommandPalette,group:"",title:C.localize(2,null),order:1},{menuId:u.MenuId.SimpleEditorContext,group:t,title:C.localize(3,null),when:b.EditorContextKeys.writable,order:1}]})):void 0,e.CopyAction=i?c(new I.MultiCommand({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:m.isNative?{primary:2048|33,win:{primary:2048|33,secondary:[2048|19]},weight:100}:void 0,menuOpts:[{menuId:u.MenuId.MenubarEditMenu,group:"2_ccp",title:C.localize(4,null),order:2},{menuId:u.MenuId.EditorContext,group:t,title:C.localize(5,null),order:2},{menuId:u.MenuId.CommandPalette,group:"",title:C.localize(6,null),order:1},{menuId:u.MenuId.SimpleEditorContext,group:t,title:C.localize(7,null),order:2}]})):void 0,u.MenuRegistry.appendMenuItem(u.MenuId.MenubarEditMenu,{submenu:u.MenuId.MenubarCopy,title:{value:C.localize(8,null),original:"Copy As"},group:"2_ccp",order:3}),u.MenuRegistry.appendMenuItem(u.MenuId.EditorContext,{submenu:u.MenuId.EditorContextCopy,title:{value:C.localize(9,null),original:"Copy As"},group:t,order:3}),e.PasteAction=o?c(new I.MultiCommand({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:m.isNative?{primary:2048|52,win:{primary:2048|52,secondary:[1024|19]},linux:{primary:2048|52,secondary:[1024|19]},weight:100}:void 0,menuOpts:[{menuId:u.MenuId.MenubarEditMenu,group:"2_ccp",title:C.localize(10,null),order:4},{menuId:u.MenuId.EditorContext,group:t,title:C.localize(11,null),when:b.EditorContextKeys.writable,order:4},{menuId:u.MenuId.CommandPalette,group:"",title:C.localize(12,null),order:1},{menuId:u.MenuId.SimpleEditorContext,group:t,title:C.localize(13,null),when:b.EditorContextKeys.writable,order:4}]})):void 0;class d extends I.EditorAction{constructor(){super({id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:C.localize(14,null),alias:"Copy With Syntax Highlighting",precondition:void 0,kbOpts:{kbExpr:b.EditorContextKeys.textInputFocus,primary:0,weight:100}})}run(a,l){!l.hasModel()||!l.getOption(32)&&l.getSelection().isEmpty()||(k.CopyOptions.forceCopyWithSyntaxHighlighting=!0,l.focus(),document.execCommand("copy"),k.CopyOptions.forceCopyWithSyntaxHighlighting=!1)}}function r(s,a){!s||(s.addImplementation(1e4,"code-editor",(l,h)=>{const f=l.get(w.ICodeEditorService).getFocusedCodeEditor();if(f&&f.hasTextFocus()){const S=f.getOption(32),v=f.getSelection();return v&&v.isEmpty()&&!S||document.execCommand(a),!0}return!1}),s.addImplementation(0,"generic-dom",(l,h)=>(document.execCommand(a),!0)))}r(e.CutAction,"cut"),r(e.CopyAction,"copy"),e.PasteAction&&(e.PasteAction.addImplementation(1e4,"code-editor",(s,a)=>{const l=s.get(w.ICodeEditorService),h=s.get(g.IClipboardService),f=l.getFocusedCodeEditor();return f&&f.hasTextFocus()?!document.execCommand("paste")&&m.isWeb?(()=>we(void 0,void 0,void 0,function*(){const v=yield h.readText();if(v!==""){const p=k.InMemoryClipboardMetadataManager.INSTANCE.get(v);let _=!1,y=null,E=null;p&&(_=f.getOption(32)&&!!p.isFromEmptySelection,y=typeof p.multicursorText!="undefined"?p.multicursorText:null,E=p.mode),f.trigger("keyboard","paste",{text:v,pasteOnNewLine:_,multicursorText:y,mode:E})}}))():!0:!1}),e.PasteAction.addImplementation(0,"generic-dom",(s,a)=>(document.execCommand("paste"),!0))),i&&(0,I.registerEditorAction)(d)}),define(te[675],ie([1,0,58,15,3,24,33,257,609,532,37]),function(q,e,L,m,k,I,w,b,C,u,g){"use strict";Object.defineProperty(e,"__esModule",{value:!0});class t extends m.EditorAction{constructor(r,s){super(s);this._type=r}run(r,s){const a=r.get(w.ILanguageConfigurationService);if(!s.hasModel())return;const l=s.getModel(),h=[],f=l.getOptions(),S=s.getOption(19),v=s.getSelections().map((_,y)=>({selection:_,index:y,ignoreFirstLine:!1}));v.sort((_,y)=>k.Range.compareRangesUsingStarts(_.selection,y.selection));let p=v[0];for(let _=1;_<v.length;_++){const y=v[_];p.selection.endLineNumber===y.selection.startLineNumber&&(p.index<y.index?y.ignoreFirstLine=!0:(p.ignoreFirstLine=!0,p=y))}for(const _ of v)h.push(new C.LineCommentCommand(a,_.selection,f.tabSize,this._type,S.insertSpace,S.ignoreEmptyLines,_.ignoreFirstLine));s.pushUndoStop(),s.executeCommands(this.id,h),s.pushUndoStop()}}class n extends t{constructor(){super(0,{id:"editor.action.commentLine",label:u.localize(0,null),alias:"Toggle Line Comment",precondition:I.EditorContextKeys.writable,kbOpts:{kbExpr:I.EditorContextKeys.editorTextFocus,primary:2048|85,weight:100},menuOpts:{menuId:g.MenuId.MenubarEditMenu,group:"5_insert",title:u.localize(1,null),order:1}})}}class i extends t{constructor(){super(1,{id:"editor.action.addCommentLine",label:u.localize(2,null),alias:"Add Line Comment",precondition:I.EditorContextKeys.writable,kbOpts:{kbExpr:I.EditorContextKeys.editorTextFocus,primary:(0,L.KeyChord)(2048|41,2048|33),weight:100}})}}class o extends t{constructor(){super(2,{id:"editor.action.removeCommentLine",label:u.localize(3,null),alias:"Remove Line Comment",precondition:I.EditorContextKeys.writable,kbOpts:{kbExpr:I.EditorContextKeys.editorTextFocus,primary:(0,L.KeyChord)(2048|41,2048|51),weight:100}})}}class c extends m.EditorAction{constructor(){super({id:"editor.action.blockComment",label:u.localize(4,null),alias:"Toggle Block Comment",precondition:I.EditorContextKeys.writable,kbOpts:{kbExpr:I.EditorContextKeys.editorTextFocus,primary:1024|512|31,linux:{primary:2048|1024|31},weight:100},menuOpts:{menuId:g.MenuId.MenubarEditMenu,group:"5_insert",title:u.localize(5,null),order:2}})}run(r,s){const a=r.get(w.ILanguageConfigurationService);if(!s.hasModel())return;const l=s.getOption(19),h=[],f=s.getSelections();for(const S of f)h.push(new b.BlockCommentCommand(S,l.insertSpace,a));s.pushUndoStop(),s.executeCommands(this.id,h),s.pushUndoStop()}}(0,m.registerEditorAction)(n),(0,m.registerEditorAction)(i),(0,m.registerEditorAction)(o),(0,m.registerEditorAction)(c)}),define(te[676],ie([1,0,7,128,47,2,16,15,24,533,37,17,78,43]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ContextMenuController=void 0;let o=class Ii{constructor(r,s,a,l,h,f){this._contextMenuService=s,this._contextViewService=a,this._contextKeyService=l,this._keybindingService=h,this._menuService=f,this._toDispose=new I.DisposableStore,this._contextMenuIsBeingShownCount=0,this._editor=r,this._toDispose.add(this._editor.onContextMenu(S=>this._onContextMenu(S))),this._toDispose.add(this._editor.onMouseWheel(S=>{if(this._contextMenuIsBeingShownCount>0){const v=this._contextViewService.getContextViewElement(),p=S.srcElement;p.shadowRoot&&L.getShadowRoot(v)===p.shadowRoot||this._contextViewService.hideContextView()}})),this._toDispose.add(this._editor.onKeyDown(S=>{S.keyCode===58&&(S.preventDefault(),S.stopPropagation(),this.showContextMenu())}))}static get(r){return r.getContribution(Ii.ID)}_onContextMenu(r){if(!this._editor.hasModel())return;if(!this._editor.getOption(20)){this._editor.focus(),r.target.position&&!this._editor.getSelection().containsPosition(r.target.position)&&this._editor.setPosition(r.target.position);return}if(r.target.type===12||r.target.type===6&&r.target.detail.injectedText||(r.event.preventDefault(),r.event.stopPropagation(),r.target.type!==6&&r.target.type!==7&&r.target.type!==1))return;if(this._editor.focus(),r.target.position){let a=!1;for(const l of this._editor.getSelections())if(l.containsPosition(r.target.position)){a=!0;break}a||this._editor.setPosition(r.target.position)}let s=null;r.target.type!==1&&(s={x:r.event.posx-1,width:2,y:r.event.posy-1,height:2}),this.showContextMenu(s)}showContextMenu(r){if(!this._editor.getOption(20)||!this._editor.hasModel())return;if(!this._contextMenuService){this._editor.focus();return}const s=this._getMenuActions(this._editor.getModel(),this._editor.isSimpleWidget?g.MenuId.SimpleEditorContext:g.MenuId.EditorContext);s.length>0&&this._doShowContextMenu(s,r)}_getMenuActions(r,s){const a=[],l=this._menuService.createMenu(s,this._contextKeyService),h=l.getActions({arg:r.uri});l.dispose();for(let f of h){const[,S]=f;let v=0;for(const p of S)if(p instanceof g.SubmenuItemAction){const _=this._getMenuActions(r,p.item.submenu);_.length>0&&(a.push(new k.SubmenuAction(p.id,p.label,_)),v++)}else a.push(p),v++;v&&a.push(new k.Separator)}return a.length&&a.pop(),a}_doShowContextMenu(r,s=null){if(!this._editor.hasModel())return;const a=this._editor.getOption(53);if(this._editor.updateOptions({hover:{enabled:!1}}),!s){this._editor.revealPosition(this._editor.getPosition(),1),this._editor.render();const h=this._editor.getScrolledVisiblePosition(this._editor.getPosition()),f=L.getDomNodePagePosition(this._editor.getDomNode()),S=f.left+h.left,v=f.top+h.top+h.height;s={x:S,y:v}}const l=this._editor.getOption(115)&&!w.isIOS;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:l?this._editor.getDomNode():void 0,getAnchor:()=>s,getActions:()=>r,getActionViewItem:h=>{const f=this._keybindingFor(h);if(f)return new m.ActionViewItem(h,h,{label:!0,keybinding:f.getLabel(),isMenu:!0});const S=h;return typeof S.getActionViewItem=="function"?S.getActionViewItem():new m.ActionViewItem(h,h,{icon:!0,label:!0,isMenu:!0})},getKeyBinding:h=>this._keybindingFor(h),onHide:h=>{this._contextMenuIsBeingShownCount--,this._editor.focus(),this._editor.updateOptions({hover:a})}})}_keybindingFor(r){return this._keybindingService.lookupKeybinding(r.id)}dispose(){this._contextMenuIsBeingShownCount>0&&this._contextViewService.hideContextView(),this._toDispose.dispose()}};o.ID="editor.contrib.contextmenu",o=Ie([pe(1,n.IContextMenuService),pe(2,n.IContextViewService),pe(3,t.IContextKeyService),pe(4,i.IKeybindingService),pe(5,g.IMenuService)],o),e.ContextMenuController=o;class c extends b.EditorAction{constructor(){super({id:"editor.action.showContextMenu",label:u.localize(0,null),alias:"Show Editor Context Menu",precondition:void 0,kbOpts:{kbExpr:C.EditorContextKeys.textInputFocus,primary:1024|68,weight:100}})}run(r,s){var a;(a=o.get(s))===null||a===void 0||a.showContextMenu()}}(0,b.registerEditorContribution)(o.ID,o),(0,b.registerEditorAction)(c)}),define(te[677],ie([1,0,2,15,24,534]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CursorRedo=e.CursorUndo=e.CursorUndoRedoController=void 0;class w{constructor(n){this.selections=n}equals(n){const i=this.selections.length,o=n.selections.length;if(i!==o)return!1;for(let c=0;c<i;c++)if(!this.selections[c].equalsSelection(n.selections[c]))return!1;return!0}}class b{constructor(n,i,o){this.cursorState=n,this.scrollTop=i,this.scrollLeft=o}}class C extends L.Disposable{constructor(n){super();this._editor=n,this._isCursorUndoRedo=!1,this._undoStack=[],this._redoStack=[],this._register(n.onDidChangeModel(i=>{this._undoStack=[],this._redoStack=[]})),this._register(n.onDidChangeModelContent(i=>{this._undoStack=[],this._redoStack=[]})),this._register(n.onDidChangeCursorSelection(i=>{if(this._isCursorUndoRedo||!i.oldSelections||i.oldModelVersionId!==i.modelVersionId)return;const o=new w(i.oldSelections);this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(o)||(this._undoStack.push(new b(o,n.getScrollTop(),n.getScrollLeft())),this._redoStack=[],this._undoStack.length>50&&this._undoStack.shift())}))}static get(n){return n.getContribution(C.ID)}cursorUndo(){!this._editor.hasModel()||this._undoStack.length===0||(this._redoStack.push(new b(new w(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._undoStack.pop()))}cursorRedo(){!this._editor.hasModel()||this._redoStack.length===0||(this._undoStack.push(new b(new w(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._redoStack.pop()))}_applyState(n){this._isCursorUndoRedo=!0,this._editor.setSelections(n.cursorState.selections),this._editor.setScrollPosition({scrollTop:n.scrollTop,scrollLeft:n.scrollLeft}),this._isCursorUndoRedo=!1}}e.CursorUndoRedoController=C,C.ID="editor.contrib.cursorUndoRedoController";class u extends m.EditorAction{constructor(){super({id:"cursorUndo",label:I.localize(0,null),alias:"Cursor Undo",precondition:void 0,kbOpts:{kbExpr:k.EditorContextKeys.textInputFocus,primary:2048|51,weight:100}})}run(n,i,o){var c;(c=C.get(i))===null||c===void 0||c.cursorUndo()}}e.CursorUndo=u;class g extends m.EditorAction{constructor(){super({id:"cursorRedo",label:I.localize(1,null),alias:"Cursor Redo",precondition:void 0})}run(n,i,o){var c;(c=C.get(i))===null||c===void 0||c.cursorRedo()}}e.CursorRedo=g,(0,m.registerEditorContribution)(C.ID,C),(0,m.registerEditorAction)(u),(0,m.registerEditorAction)(g)}),define(te[678],ie([1,0,15,17,21,83,9,52,535]),function(q,e,L,m,k,I,w,b,C){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EditorKeybindingCancellationTokenSource=void 0;const u=(0,w.createDecorator)("IEditorCancelService"),g=new m.RawContextKey("cancellableOperation",!1,(0,C.localize)(0,null));(0,b.registerSingleton)(u,class{constructor(){this._tokens=new WeakMap}add(n,i){let o=this._tokens.get(n);o||(o=n.invokeWithinContext(d=>{const r=g.bindTo(d.get(m.IContextKeyService)),s=new I.LinkedList;return{key:r,tokens:s}}),this._tokens.set(n,o));let c;return o.key.set(!0),c=o.tokens.push(i),()=>{c&&(c(),o.key.set(!o.tokens.isEmpty()),c=void 0)}}cancel(n){const i=this._tokens.get(n);if(!i)return;const o=i.tokens.pop();o&&(o.cancel(),i.key.set(!i.tokens.isEmpty()))}},!0);class t extends k.CancellationTokenSource{constructor(i,o){super(o);this.editor=i,this._unregister=i.invokeWithinContext(c=>c.get(u).add(i,this))}dispose(){this._unregister(),super.dispose()}}e.EditorKeybindingCancellationTokenSource=t,(0,L.registerEditorCommand)(new class extends L.EditorCommand{constructor(){super({id:"editor.cancelOperation",kbOpts:{weight:100,primary:9},precondition:g})}runEditorCommand(n,i){n.get(u).cancel(i)}})}),define(te[108],ie([1,0,8,3,21,2,678]),function(q,e,L,m,k,I,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TextModelCancellationTokenSource=e.EditorStateCancellationTokenSource=e.EditorState=void 0;class b{constructor(t,n){if(this.flags=n,(this.flags&1)!=0){const i=t.getModel();this.modelVersionId=i?L.format("{0}#{1}",i.uri.toString(),i.getVersionId()):null}else this.modelVersionId=null;(this.flags&4)!=0?this.position=t.getPosition():this.position=null,(this.flags&2)!=0?this.selection=t.getSelection():this.selection=null,(this.flags&8)!=0?(this.scrollLeft=t.getScrollLeft(),this.scrollTop=t.getScrollTop()):(this.scrollLeft=-1,this.scrollTop=-1)}_equals(t){if(!(t instanceof b))return!1;const n=t;return!(this.modelVersionId!==n.modelVersionId||this.scrollLeft!==n.scrollLeft||this.scrollTop!==n.scrollTop||!this.position&&n.position||this.position&&!n.position||this.position&&n.position&&!this.position.equals(n.position)||!this.selection&&n.selection||this.selection&&!n.selection||this.selection&&n.selection&&!this.selection.equalsRange(n.selection))}validate(t){return this._equals(new b(t,this.flags))}}e.EditorState=b;class C extends w.EditorKeybindingCancellationTokenSource{constructor(t,n,i,o){super(t,o);this._listener=new I.DisposableStore,n&4&&this._listener.add(t.onDidChangeCursorPosition(c=>{(!i||!m.Range.containsPosition(i,c.position))&&this.cancel()})),n&2&&this._listener.add(t.onDidChangeCursorSelection(c=>{(!i||!m.Range.containsRange(i,c.selection))&&this.cancel()})),n&8&&this._listener.add(t.onDidScrollChange(c=>this.cancel())),n&1&&(this._listener.add(t.onDidChangeModel(c=>this.cancel())),this._listener.add(t.onDidChangeModelContent(c=>this.cancel())))}dispose(){this._listener.dispose(),super.dispose()}}e.EditorStateCancellationTokenSource=C;class u extends k.CancellationTokenSource{constructor(t,n){super(n);this._listener=t.onDidChangeContent(()=>this.cancel())}dispose(){this._listener.dispose(),super.dispose()}}e.TextModelCancellationTokenSource=u}),define(te[159],ie([1,0,18,21,13,2,25,108,3,22,48,26,73,155,20]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getCodeActions=e.CodeActionItem=e.fixAllCommandId=e.organizeImportsCommandId=e.sourceActionCommandId=e.refactorCommandId=e.codeActionCommandId=void 0,e.codeActionCommandId="editor.action.codeAction",e.refactorCommandId="editor.action.refactor",e.sourceActionCommandId="editor.action.sourceAction",e.organizeImportsCommandId="editor.action.organizeImports",e.fixAllCommandId="editor.action.fixAll";class c{constructor(f,S){this.action=f,this.provider=S}resolve(f){var S;return we(this,void 0,void 0,function*(){if(((S=this.provider)===null||S===void 0?void 0:S.resolveCodeAction)&&!this.action.edit){let v;try{v=yield this.provider.resolveCodeAction(this.action,f)}catch(p){(0,k.onUnexpectedExternalError)(p)}v&&(this.action.edit=v.edit)}return this})}}e.CodeActionItem=c;class d extends I.Disposable{constructor(f,S,v){super();this.documentation=S,this._register(v),this.allActions=[...f].sort(d.codeActionsComparator),this.validActions=this.allActions.filter(({action:p})=>!p.disabled)}static codeActionsComparator({action:f},{action:S}){return f.isPreferred&&!S.isPreferred?-1:!f.isPreferred&&S.isPreferred?1:(0,L.isNonEmptyArray)(f.diagnostics)?(0,L.isNonEmptyArray)(S.diagnostics)?f.diagnostics[0].message.localeCompare(S.diagnostics[0].message):-1:(0,L.isNonEmptyArray)(S.diagnostics)?1:0}get hasAutoFix(){return this.validActions.some(({action:f})=>!!f.kind&&i.CodeActionKind.QuickFix.contains(new i.CodeActionKind(f.kind))&&!!f.isPreferred)}}const r={actions:[],documentation:void 0};function s(h,f,S,v,p,_){var y;const E=v.filter||{},N={only:(y=E.include)===null||y===void 0?void 0:y.value,trigger:v.type},D=new b.TextModelCancellationTokenSource(f,_),M=a(h,f,E),B=new I.DisposableStore,O=M.map(A=>we(this,void 0,void 0,function*(){try{p.report(A);const P=yield A.provideCodeActions(f,S,N,D.token);if(P&&B.add(P),D.token.isCancellationRequested)return r;const F=((P==null?void 0:P.actions)||[]).filter(R=>R&&(0,i.filtersAction)(E,R)),W=l(A,F,E.include);return{actions:F.map(R=>new c(R,A)),documentation:W}}catch(P){if((0,k.isCancellationError)(P))throw P;return(0,k.onUnexpectedExternalError)(P),r}})),T=h.onDidChange(()=>{const A=h.all(f);(0,L.equals)(A,M)||D.cancel()});return Promise.all(O).then(A=>{const P=(0,L.flatten)(A.map(W=>W.actions)),F=(0,L.coalesce)(A.map(W=>W.documentation));return new d(P,F,B)}).finally(()=>{T.dispose(),D.dispose()})}e.getCodeActions=s;function a(h,f,S){return h.all(f).filter(v=>v.providedCodeActionKinds?v.providedCodeActionKinds.some(p=>(0,i.mayIncludeActionsOfKind)(S,new i.CodeActionKind(p))):!0)}function l(h,f,S){if(!h.documentation)return;const v=h.documentation.map(p=>({kind:new i.CodeActionKind(p.kind),command:p.command}));if(S){let p;for(const _ of v)_.kind.contains(S)&&(p?p.kind.contains(_.kind)&&(p=_):p=_);if(p)return p==null?void 0:p.command}for(const p of f)if(!!p.kind){for(const _ of v)if(_.kind.contains(new i.CodeActionKind(p.kind)))return _.command}}t.CommandsRegistry.registerCommand("_executeCodeActionProvider",function(h,f,S,v,p){return we(this,void 0,void 0,function*(){if(!(f instanceof w.URI))throw(0,k.illegalArgument)();const{codeActionProvider:_}=h.get(o.ILanguageFeaturesService),y=h.get(g.IModelService).getModel(f);if(!y)throw(0,k.illegalArgument)();const E=u.Selection.isISelection(S)?u.Selection.liftSelection(S):C.Range.isIRange(S)?y.validateRange(S):void 0;if(!E)throw(0,k.illegalArgument)();const N=typeof v=="string"?new i.CodeActionKind(v):void 0,D=yield s(_,y,E,{type:1,filter:{includeSourceActions:!0,include:N}},n.Progress.None,m.CancellationToken.None),M=[],B=Math.min(D.validActions.length,typeof p=="number"?p:0);for(let O=0;O<B;O++)M.push(D.validActions[O].resolve(m.CancellationToken.None));try{return yield Promise.all(M),D.validActions.map(O=>O.action)}finally{setTimeout(()=>D.dispose(),100)}})})}),define(te[679],ie([1,0,7,47,13,137,2,11,20,159,155,78,43]),function(q,e,L,m,k,I,w,b,C,u,g,t,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CodeActionKeybindingResolver=e.CodeActionMenu=void 0;class i extends m.Action{constructor(s,a){super(s.command?s.command.id:s.title,o(s.title),void 0,!s.disabled,a);this.action=s}}function o(r){return r.replace(/\r\n|\r|\n/g," ")}let c=class extends w.Disposable{constructor(s,a,l,h,f){super();this._editor=s,this._delegate=a,this._contextMenuService=l,this._languageFeaturesService=f,this._visible=!1,this._showingActions=this._register(new w.MutableDisposable),this._keybindingResolver=new d({getKeybindings:()=>h.getKeybindings()})}get isVisible(){return this._visible}show(s,a,l,h){return we(this,void 0,void 0,function*(){const f=h.includeDisabledActions?a.allActions:a.validActions;if(!f.length){this._visible=!1;return}if(!this._editor.getDomNode())throw this._visible=!1,(0,k.canceled)();this._visible=!0,this._showingActions.value=a;const S=this.getMenuActions(s,f,a.documentation),v=b.Position.isIPosition(l)?this._toCoords(l):l||{x:0,y:0},p=this._keybindingResolver.getResolver(),_=this._editor.getOption(115);this._contextMenuService.showContextMenu({domForShadowRoot:_?this._editor.getDomNode():void 0,getAnchor:()=>v,getActions:()=>S,onHide:()=>{this._visible=!1,this._editor.focus()},autoSelectFirstItem:!0,getKeyBinding:y=>y instanceof i?p(y.action):void 0})})}getMenuActions(s,a,l){var h,f;const S=y=>new i(y.action,()=>this._delegate.onSelectCodeAction(y)),v=a.map(S),p=[...l],_=this._editor.getModel();if(_&&v.length)for(const y of this._languageFeaturesService.codeActionProvider.all(_))y._getAdditionalMenuItems&&p.push(...y._getAdditionalMenuItems({trigger:s.type,only:(f=(h=s.filter)===null||h===void 0?void 0:h.include)===null||f===void 0?void 0:f.value},a.map(E=>E.action)));return p.length&&v.push(new m.Separator,...p.map(y=>S(new u.CodeActionItem({title:y.title,command:y},void 0)))),v}_toCoords(s){if(!this._editor.hasModel())return{x:0,y:0};this._editor.revealPosition(s,1),this._editor.render();const a=this._editor.getScrolledVisiblePosition(s),l=(0,L.getDomNodePagePosition)(this._editor.getDomNode()),h=l.left+a.left,f=l.top+a.top+a.height;return{x:h,y:f}}};c=Ie([pe(2,t.IContextMenuService),pe(3,n.IKeybindingService),pe(4,C.ILanguageFeaturesService)],c),e.CodeActionMenu=c;class d{constructor(s){this._keybindingProvider=s}getResolver(){const s=new I.Lazy(()=>this._keybindingProvider.getKeybindings().filter(a=>d.codeActionCommands.indexOf(a.command)>=0).filter(a=>a.resolvedKeybinding).map(a=>{let l=a.commandArgs;return a.command===u.organizeImportsCommandId?l={kind:g.CodeActionKind.SourceOrganizeImports.value}:a.command===u.fixAllCommandId&&(l={kind:g.CodeActionKind.SourceFixAll.value}),Object.assign({resolvedKeybinding:a.resolvedKeybinding},g.CodeActionCommandArgs.fromUser(l,{kind:g.CodeActionKind.None,apply:"never"}))}));return a=>{if(a.kind){const l=this.bestKeybindingForCodeAction(a,s.getValue());return l==null?void 0:l.resolvedKeybinding}}}bestKeybindingForCodeAction(s,a){if(!s.kind)return;const l=new g.CodeActionKind(s.kind);return a.filter(h=>h.kind.contains(l)).filter(h=>h.preferred?s.isPreferred:!0).reduceRight((h,f)=>h?h.kind.contains(f.kind)?f:h:f,void 0)}}e.CodeActionKeybindingResolver=d,d.codeActionCommands=[u.refactorCommandId,u.codeActionCommandId,u.sourceActionCommandId,u.organizeImportsCommandId,u.fixAllCommandId]});var kt=this&&this.__classPrivateFieldGet||function(q,e,L,m){if(L==="a"&&!m)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?q!==e||!m:!e.has(q))throw new TypeError("Cannot read private member from an object whose class did not declare it");return L==="m"?m:L==="a"?m.call(q):m?m.value:e.get(q)},Xt=this&&this.__classPrivateFieldSet||function(q,e,L,m,k){if(m==="m")throw new TypeError("Private method is not writable");if(m==="a"&&!k)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?q!==e||!k:!e.has(q))throw new TypeError("Cannot write private member to an object whose class did not declare it");return m==="a"?k.call(q,L):k?k.value=L:e.set(q,L),L};define(te[680],ie([1,0,10,13,4,2,42,3,17,73,159]),function(q,e,L,m,k,I,w,b,C,u,g){"use strict";var t;Object.defineProperty(e,"__esModule",{value:!0}),e.CodeActionModel=e.CodeActionsState=e.SUPPORTED_CODE_ACTIONS=void 0,e.SUPPORTED_CODE_ACTIONS=new C.RawContextKey("supportedCodeAction","");class n extends I.Disposable{constructor(r,s,a,l=250){super();this._editor=r,this._markerService=s,this._signalChange=a,this._delay=l,this._autoTriggerTimer=this._register(new L.TimeoutTimer),this._register(this._markerService.onMarkerChanged(h=>this._onMarkerChanges(h))),this._register(this._editor.onDidChangeCursorPosition(()=>this._onCursorChange()))}trigger(r){const s=this._getRangeOfSelectionUnlessWhitespaceEnclosed(r);return this._createEventAndSignalChange(r,s)}_onMarkerChanges(r){const s=this._editor.getModel();!s||r.some(a=>(0,w.isEqual)(a,s.uri))&&this._autoTriggerTimer.cancelAndSet(()=>{this.trigger({type:2})},this._delay)}_onCursorChange(){this._autoTriggerTimer.cancelAndSet(()=>{this.trigger({type:2})},this._delay)}_getRangeOfMarker(r){const s=this._editor.getModel();if(!!s)for(const a of this._markerService.read({resource:s.uri})){const l=s.validateRange(a);if(b.Range.intersectRanges(l,r))return b.Range.lift(l)}}_getRangeOfSelectionUnlessWhitespaceEnclosed(r){if(!this._editor.hasModel())return;const s=this._editor.getModel(),a=this._editor.getSelection();if(a.isEmpty()&&r.type===2){const{lineNumber:l,column:h}=a.getPosition(),f=s.getLineContent(l);if(f.length===0)return;if(h===1){if(/\s/.test(f[0]))return}else if(h===s.getLineMaxColumn(l)){if(/\s/.test(f[f.length-1]))return}else if(/\s/.test(f[h-2])&&/\s/.test(f[h-1]))return}return a}_createEventAndSignalChange(r,s){const a=this._editor.getModel();if(!s||!a){this._signalChange(void 0);return}const l=this._getRangeOfMarker(s),h=l?l.getStartPosition():s.getStartPosition(),f={trigger:r,selection:s,position:h};return this._signalChange(f),f}}var i;(function(d){d.Empty={type:0};class r{constructor(a,l,h,f){this.trigger=a,this.rangeOrSelection=l,this.position=h,this._cancellablePromise=f,this.type=1,this.actions=f.catch(S=>{if((0,m.isCancellationError)(S))return o;throw S})}cancel(){this._cancellablePromise.cancel()}}d.Triggered=r})(i=e.CodeActionsState||(e.CodeActionsState={}));const o={allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1};class c extends I.Disposable{constructor(r,s,a,l,h){super();this._editor=r,this._registry=s,this._markerService=a,this._progressService=h,this._codeActionOracle=this._register(new I.MutableDisposable),this._state=i.Empty,this._onDidChangeState=this._register(new k.Emitter),this.onDidChangeState=this._onDidChangeState.event,t.set(this,!1),this._supportedCodeActions=e.SUPPORTED_CODE_ACTIONS.bindTo(l),this._register(this._editor.onDidChangeModel(()=>this._update())),this._register(this._editor.onDidChangeModelLanguage(()=>this._update())),this._register(this._registry.onDidChange(()=>this._update())),this._update()}dispose(){kt(this,t,"f")||(Xt(this,t,!0,"f"),super.dispose(),this.setState(i.Empty,!0))}_update(){if(kt(this,t,"f"))return;this._codeActionOracle.value=void 0,this.setState(i.Empty);const r=this._editor.getModel();if(r&&this._registry.has(r)&&!this._editor.getOption(81)){const s=[];for(const a of this._registry.all(r))Array.isArray(a.providedCodeActionKinds)&&s.push(...a.providedCodeActionKinds);this._supportedCodeActions.set(s.join(" ")),this._codeActionOracle.value=new n(this._editor,this._markerService,a=>{var l;if(!a){this.setState(i.Empty);return}const h=(0,L.createCancelablePromise)(f=>(0,g.getCodeActions)(this._registry,r,a.selection,a.trigger,u.Progress.None,f));a.trigger.type===1&&((l=this._progressService)===null||l===void 0||l.showWhile(h,250)),this.setState(new i.Triggered(a.trigger,a.selection,a.position,h))},void 0),this._codeActionOracle.value.trigger({type:2})}else this._supportedCodeActions.reset()}trigger(r){this._codeActionOracle.value&&this._codeActionOracle.value.trigger(r)}setState(r,s){r!==this._state&&(this._state.type===1&&this._state.cancel(),this._state=r,!s&&!kt(this,t,"f")&&this._onDidChangeState.fire(r))}}e.CodeActionModel=c,t=new WeakMap}),define(te[681],ie([1,0,15,147,540]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0});class I extends L.EditorAction{constructor(){super({id:"editor.action.fontZoomIn",label:k.localize(0,null),alias:"Editor Font Zoom In",precondition:void 0})}run(u,g){m.EditorZoom.setZoomLevel(m.EditorZoom.getZoomLevel()+1)}}class w extends L.EditorAction{constructor(){super({id:"editor.action.fontZoomOut",label:k.localize(1,null),alias:"Editor Font Zoom Out",precondition:void 0})}run(u,g){m.EditorZoom.setZoomLevel(m.EditorZoom.getZoomLevel()-1)}}class b extends L.EditorAction{constructor(){super({id:"editor.action.fontZoomReset",label:k.localize(2,null),alias:"Editor Font Zoom Reset",precondition:void 0})}run(u,g){m.EditorZoom.setZoomLevel(0)}}(0,L.registerEditorAction)(I),(0,L.registerEditorAction)(w),(0,L.registerEditorAction)(b)}),define(te[291],ie([1,0,46,18,21,13,57,83,19,25,108,150,11,3,22,88,56,259,541,26,604,9,20]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s,a,l,h,f){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getOnTypeFormattingEdits=e.getDocumentFormattingEditsUntilResult=e.getDocumentRangeFormattingEditsUntilResult=e.formatDocumentWithProvider=e.formatDocumentWithSelectedProvider=e.formatDocumentRangesWithProvider=e.formatDocumentRangesWithSelectedProvider=e.FormattingConflicts=e.getRealAndSyntheticDocumentFormattersOrdered=e.alertFormattingEdits=void 0;function S(O){if(O=O.filter(F=>F.range),!O.length)return;let{range:T}=O[0];for(let F=1;F<O.length;F++)T=i.Range.plusRange(T,O[F].range);const{startLineNumber:A,endLineNumber:P}=T;A===P?O.length===1?(0,L.alert)(s.localize(0,null,A)):(0,L.alert)(s.localize(1,null,O.length,A)):O.length===1?(0,L.alert)(s.localize(2,null,A,P)):(0,L.alert)(s.localize(3,null,O.length,A,P))}e.alertFormattingEdits=S;function v(O,T,A){const P=[],F=new Set,W=O.ordered(A);for(const z of W)P.push(z),z.extensionId&&F.add(l.ExtensionIdentifier.toKey(z.extensionId));const R=T.ordered(A);for(const z of R){if(z.extensionId){if(F.has(l.ExtensionIdentifier.toKey(z.extensionId)))continue;F.add(l.ExtensionIdentifier.toKey(z.extensionId))}P.push({displayName:z.displayName,extensionId:z.extensionId,provideDocumentFormattingEdits(j,$,G){return z.provideDocumentRangeFormattingEdits(j,j.getFullModelRange(),$,G)}})}return P}e.getRealAndSyntheticDocumentFormattersOrdered=v;class p{static setFormatterSelector(T){return{dispose:p._selectors.unshift(T)}}static select(T,A,P){return we(this,void 0,void 0,function*(){if(T.length===0)return;const F=w.Iterable.first(p._selectors);if(F)return yield F(T,A,P)})}}e.FormattingConflicts=p,p._selectors=new b.LinkedList;function _(O,T,A,P,F,W){return we(this,void 0,void 0,function*(){const R=O.get(h.IInstantiationService),{documentRangeFormattingEditProvider:z}=O.get(f.ILanguageFeaturesService),j=(0,t.isCodeEditor)(T)?T.getModel():T,$=z.ordered(j),G=yield p.select($,j,P);G&&(F.report(G),yield R.invokeFunction(y,G,T,A,W))})}e.formatDocumentRangesWithSelectedProvider=_;function y(O,T,A,P,F){return we(this,void 0,void 0,function*(){const W=O.get(c.IEditorWorkerService);let R,z;(0,t.isCodeEditor)(A)?(R=A.getModel(),z=new g.EditorStateCancellationTokenSource(A,1|4,void 0,F)):(R=A,z=new g.TextModelCancellationTokenSource(A,F));let j=[],$=0;for(let Z of(0,m.asArray)(P).sort(i.Range.compareRangesUsingStarts))$>0&&i.Range.areIntersectingOrTouching(j[$-1],Z)?j[$-1]=i.Range.fromPositions(j[$-1].getStartPosition(),Z.getEndPosition()):$=j.push(Z);const G=Z=>we(this,void 0,void 0,function*(){return(yield T.provideDocumentRangeFormattingEdits(R,Z,R.getFormattingOptions(),z.token))||[]}),J=(Z,V)=>{if(!Z.length||!V.length)return!1;const K=Z.reduce((X,oe)=>i.Range.plusRange(X,oe.range),Z[0].range);if(!V.some(X=>i.Range.intersectRanges(K,X.range)))return!1;for(let X of Z)for(let oe of V)if(i.Range.intersectRanges(X.range,oe.range))return!0;return!1},re=[],se=[];try{for(let Z of j){if(z.token.isCancellationRequested)return!0;se.push(yield G(Z))}for(let Z=0;Z<j.length;++Z)for(let V=Z+1;V<j.length;++V){if(z.token.isCancellationRequested)return!0;if(J(se[Z],se[V])){const K=i.Range.plusRange(j[Z],j[V]),X=yield G(K);j.splice(V,1),j.splice(Z,1),j.push(K),se.splice(V,1),se.splice(Z,1),se.push(X),Z=0,V=0}}for(let Z of se){if(z.token.isCancellationRequested)return!0;const V=yield W.computeMoreMinimalEdits(R.uri,Z);V&&re.push(...V)}}finally{z.dispose()}if(re.length===0)return!1;if((0,t.isCodeEditor)(A))r.FormattingEdit.execute(A,re,!0),S(re),A.revealPositionInCenterIfOutsideViewport(A.getPosition(),1);else{const[{range:Z}]=re,V=new o.Selection(Z.startLineNumber,Z.startColumn,Z.endLineNumber,Z.endColumn);R.pushEditOperations([V],re.map(K=>({text:K.text,range:i.Range.lift(K.range),forceMoveMarkers:!0})),K=>{for(const{range:X}of K)if(i.Range.areIntersectingOrTouching(X,V))return[new o.Selection(X.startLineNumber,X.startColumn,X.endLineNumber,X.endColumn)];return null})}return!0})}e.formatDocumentRangesWithProvider=y;function E(O,T,A,P,F){return we(this,void 0,void 0,function*(){const W=O.get(h.IInstantiationService),R=O.get(f.ILanguageFeaturesService),z=(0,t.isCodeEditor)(T)?T.getModel():T,j=v(R.documentFormattingEditProvider,R.documentRangeFormattingEditProvider,z),$=yield p.select(j,z,A);$&&(P.report($),yield W.invokeFunction(N,$,T,A,F))})}e.formatDocumentWithSelectedProvider=E;function N(O,T,A,P,F){return we(this,void 0,void 0,function*(){const W=O.get(c.IEditorWorkerService);let R,z;(0,t.isCodeEditor)(A)?(R=A.getModel(),z=new g.EditorStateCancellationTokenSource(A,1|4,void 0,F)):(R=A,z=new g.TextModelCancellationTokenSource(A,F));let j;try{const $=yield T.provideDocumentFormattingEdits(R,R.getFormattingOptions(),z.token);if(j=yield W.computeMoreMinimalEdits(R.uri,$),z.token.isCancellationRequested)return!0}finally{z.dispose()}if(!j||j.length===0)return!1;if((0,t.isCodeEditor)(A))r.FormattingEdit.execute(A,j,P!==2),P!==2&&(S(j),A.revealPositionInCenterIfOutsideViewport(A.getPosition(),1));else{const[{range:$}]=j,G=new o.Selection($.startLineNumber,$.startColumn,$.endLineNumber,$.endColumn);R.pushEditOperations([G],j.map(J=>({text:J.text,range:i.Range.lift(J.range),forceMoveMarkers:!0})),J=>{for(const{range:re}of J)if(i.Range.areIntersectingOrTouching(re,G))return[new o.Selection(re.startLineNumber,re.startColumn,re.endLineNumber,re.endColumn)];return null})}return!0})}e.formatDocumentWithProvider=N;function D(O,T,A,P,F,W){return we(this,void 0,void 0,function*(){const R=T.documentRangeFormattingEditProvider.ordered(A);for(const z of R){let j=yield Promise.resolve(z.provideDocumentRangeFormattingEdits(A,P,F,W)).catch(I.onUnexpectedExternalError);if((0,m.isNonEmptyArray)(j))return yield O.computeMoreMinimalEdits(A.uri,j)}})}e.getDocumentRangeFormattingEditsUntilResult=D;function M(O,T,A,P,F){return we(this,void 0,void 0,function*(){const W=v(T.documentFormattingEditProvider,T.documentRangeFormattingEditProvider,A);for(const R of W){let z=yield Promise.resolve(R.provideDocumentFormattingEdits(A,P,F)).catch(I.onUnexpectedExternalError);if((0,m.isNonEmptyArray)(z))return yield O.computeMoreMinimalEdits(A.uri,z)}})}e.getDocumentFormattingEditsUntilResult=M;function B(O,T,A,P,F,W,R){const z=T.onTypeFormattingEditProvider.ordered(A);return z.length===0||z[0].autoFormatTriggerCharacters.indexOf(F)<0?Promise.resolve(void 0):Promise.resolve(z[0].provideOnTypeFormattingEdits(A,P,F,W,R)).catch(I.onUnexpectedExternalError).then(j=>O.computeMoreMinimalEdits(A.uri,j))}e.getOnTypeFormattingEdits=B,a.CommandsRegistry.registerCommand("_executeFormatRangeProvider",function(O,...T){return we(this,void 0,void 0,function*(){const[A,P,F]=T;(0,C.assertType)(u.URI.isUri(A)),(0,C.assertType)(i.Range.isIRange(P));const W=O.get(d.ITextModelService),R=O.get(c.IEditorWorkerService),z=O.get(f.ILanguageFeaturesService),j=yield W.createModelReference(A);try{return D(R,z,j.object.textEditorModel,i.Range.lift(P),F,k.CancellationToken.None)}finally{j.dispose()}})}),a.CommandsRegistry.registerCommand("_executeFormatDocumentProvider",function(O,...T){return we(this,void 0,void 0,function*(){const[A,P]=T;(0,C.assertType)(u.URI.isUri(A));const F=O.get(d.ITextModelService),W=O.get(c.IEditorWorkerService),R=O.get(f.ILanguageFeaturesService),z=yield F.createModelReference(A);try{return M(W,R,z.object.textEditorModel,P,k.CancellationToken.None)}finally{z.dispose()}})}),a.CommandsRegistry.registerCommand("_executeFormatOnTypeProvider",function(O,...T){return we(this,void 0,void 0,function*(){const[A,P,F,W]=T;(0,C.assertType)(u.URI.isUri(A)),(0,C.assertType)(n.Position.isIPosition(P)),(0,C.assertType)(typeof F=="string");const R=O.get(d.ITextModelService),z=O.get(c.IEditorWorkerService),j=O.get(f.ILanguageFeaturesService),$=yield R.createModelReference(A);try{return B(z,j,$.object.textEditorModel,n.Position.lift(P),F,W,k.CancellationToken.None)}finally{$.dispose()}})})}),define(te[682],ie([1,0,18,21,13,58,2,15,29,99,3,24,88,20,291,259,542,26,17,9,73]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s,a,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});let h=class{constructor(_,y,E){this._editor=_,this._languageFeaturesService=y,this._workerService=E,this._disposables=new w.DisposableStore,this._sessionDisposables=new w.DisposableStore,this._disposables.add(y.onTypeFormattingEditProvider.onDidChange(this._update,this)),this._disposables.add(_.onDidChangeModel(()=>this._update())),this._disposables.add(_.onDidChangeModelLanguage(()=>this._update())),this._disposables.add(_.onDidChangeConfiguration(N=>{N.hasChanged(49)&&this._update()}))}dispose(){this._disposables.dispose(),this._sessionDisposables.dispose()}_update(){if(this._sessionDisposables.clear(),!this._editor.getOption(49)||!this._editor.hasModel())return;const _=this._editor.getModel(),[y]=this._languageFeaturesService.onTypeFormattingEditProvider.ordered(_);if(!y||!y.autoFormatTriggerCharacters)return;let E=new u.CharacterSet;for(let N of y.autoFormatTriggerCharacters)E.add(N.charCodeAt(0));this._sessionDisposables.add(this._editor.onDidType(N=>{let D=N.charCodeAt(N.length-1);E.has(D)&&this._trigger(String.fromCharCode(D))}))}_trigger(_){if(!this._editor.hasModel()||this._editor.getSelections().length>1||!this._editor.getSelection().isEmpty())return;const y=this._editor.getModel(),E=this._editor.getPosition(),N=new m.CancellationTokenSource,D=this._editor.onDidChangeModelContent(M=>{if(M.isFlush){N.cancel(),D.dispose();return}for(let B=0,O=M.changes.length;B<O;B++)if(M.changes[B].range.endLineNumber<=E.lineNumber){N.cancel(),D.dispose();return}});(0,o.getOnTypeFormattingEdits)(this._workerService,this._languageFeaturesService,y,E,_,y.getFormattingOptions(),N.token).then(M=>{N.token.isCancellationRequested||(0,L.isNonEmptyArray)(M)&&(c.FormattingEdit.execute(this._editor,M,!0),(0,o.alertFormattingEdits)(M))}).finally(()=>{D.dispose()})}};h.ID="editor.contrib.autoFormat",h=Ie([pe(1,i.ILanguageFeaturesService),pe(2,n.IEditorWorkerService)],h);let f=class{constructor(_,y,E){this.editor=_,this._languageFeaturesService=y,this._instantiationService=E,this._callOnDispose=new w.DisposableStore,this._callOnModel=new w.DisposableStore,this._callOnDispose.add(_.onDidChangeConfiguration(()=>this._update())),this._callOnDispose.add(_.onDidChangeModel(()=>this._update())),this._callOnDispose.add(_.onDidChangeModelLanguage(()=>this._update())),this._callOnDispose.add(y.documentRangeFormattingEditProvider.onDidChange(this._update,this))}dispose(){this._callOnDispose.dispose(),this._callOnModel.dispose()}_update(){this._callOnModel.clear(),!!this.editor.getOption(48)&&(!this.editor.hasModel()||!this._languageFeaturesService.documentRangeFormattingEditProvider.has(this.editor.getModel())||this._callOnModel.add(this.editor.onDidPaste(({range:_})=>this._trigger(_))))}_trigger(_){!this.editor.hasModel()||this.editor.getSelections().length>1||this._instantiationService.invokeFunction(o.formatDocumentRangesWithSelectedProvider,this.editor,_,2,l.Progress.None,m.CancellationToken.None).catch(k.onUnexpectedError)}};f.ID="editor.contrib.formatOnPaste",f=Ie([pe(1,i.ILanguageFeaturesService),pe(2,a.IInstantiationService)],f);class S extends b.EditorAction{constructor(){super({id:"editor.action.formatDocument",label:d.localize(0,null),alias:"Format Document",precondition:s.ContextKeyExpr.and(t.EditorContextKeys.notInCompositeEditor,t.EditorContextKeys.writable,t.EditorContextKeys.hasDocumentFormattingProvider),kbOpts:{kbExpr:t.EditorContextKeys.editorTextFocus,primary:1024|512|36,linux:{primary:2048|1024|39},weight:100},contextMenuOpts:{group:"1_modification",order:1.3}})}run(_,y){return we(this,void 0,void 0,function*(){if(y.hasModel()){const E=_.get(a.IInstantiationService);yield _.get(l.IEditorProgressService).showWhile(E.invokeFunction(o.formatDocumentWithSelectedProvider,y,1,l.Progress.None,m.CancellationToken.None),250)}})}}class v extends b.EditorAction{constructor(){super({id:"editor.action.formatSelection",label:d.localize(1,null),alias:"Format Selection",precondition:s.ContextKeyExpr.and(t.EditorContextKeys.writable,t.EditorContextKeys.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:t.EditorContextKeys.editorTextFocus,primary:(0,I.KeyChord)(2048|41,2048|36),weight:100},contextMenuOpts:{when:t.EditorContextKeys.hasNonEmptySelection,group:"1_modification",order:1.31}})}run(_,y){return we(this,void 0,void 0,function*(){if(!y.hasModel())return;const E=_.get(a.IInstantiationService),N=y.getModel(),D=y.getSelections().map(B=>B.isEmpty()?new g.Range(B.startLineNumber,1,B.startLineNumber,N.getLineMaxColumn(B.startLineNumber)):B);yield _.get(l.IEditorProgressService).showWhile(E.invokeFunction(o.formatDocumentRangesWithSelectedProvider,y,D,1,l.Progress.None,m.CancellationToken.None),250)})}}(0,b.registerEditorContribution)(h.ID,h),(0,b.registerEditorContribution)(f.ID,f),(0,b.registerEditorAction)(S),(0,b.registerEditorAction)(v),r.CommandsRegistry.registerCommand("editor.action.format",p=>we(void 0,void 0,void 0,function*(){const _=p.get(C.ICodeEditorService).getFocusedCodeEditor();if(!_||!_.hasModel())return;const y=p.get(r.ICommandService);_.getSelection().isEmpty()?yield y.executeCommand("editor.action.formatDocument"):yield y.executeCommand("editor.action.formatSelection")}))}),define(te[292],ie([1,0,21,13,15,129,20]),function(q,e,L,m,k,I,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getReferencesAtPosition=e.getTypeDefinitionsAtPosition=e.getImplementationsAtPosition=e.getDeclarationsAtPosition=e.getDefinitionsAtPosition=void 0;function b(o,c,d,r){const a=d.ordered(o).map(l=>Promise.resolve(r(l,o,c)).then(void 0,h=>{(0,m.onUnexpectedExternalError)(h)}));return Promise.all(a).then(l=>{const h=[];for(let f of l)Array.isArray(f)?h.push(...f):f&&h.push(f);return h})}function C(o,c,d,r){return b(c,d,o,(s,a,l)=>s.provideDefinition(a,l,r))}e.getDefinitionsAtPosition=C;function u(o,c,d,r){return b(c,d,o,(s,a,l)=>s.provideDeclaration(a,l,r))}e.getDeclarationsAtPosition=u;function g(o,c,d,r){return b(c,d,o,(s,a,l)=>s.provideImplementation(a,l,r))}e.getImplementationsAtPosition=g;function t(o,c,d,r){return b(c,d,o,(s,a,l)=>s.provideTypeDefinition(a,l,r))}e.getTypeDefinitionsAtPosition=t;function n(o,c,d,r,s){return b(c,d,o,(a,l,h)=>we(this,void 0,void 0,function*(){const f=yield a.provideReferences(l,h,{includeDeclaration:!0},s);if(!r||!f||f.length!==2)return f;const S=yield a.provideReferences(l,h,{includeDeclaration:!1},s);return S&&S.length===1?S:f}))}e.getReferencesAtPosition=n;function i(o){return we(this,void 0,void 0,function*(){const c=yield o(),d=new I.ReferencesModel(c,""),r=d.references.map(s=>s.link);return d.dispose(),r})}(0,k.registerModelAndPositionCommand)("_executeDefinitionProvider",(o,c,d)=>{const r=o.get(w.ILanguageFeaturesService),s=C(r.definitionProvider,c,d,L.CancellationToken.None);return i(()=>s)}),(0,k.registerModelAndPositionCommand)("_executeTypeDefinitionProvider",(o,c,d)=>{const r=o.get(w.ILanguageFeaturesService),s=t(r.typeDefinitionProvider,c,d,L.CancellationToken.None);return i(()=>s)}),(0,k.registerModelAndPositionCommand)("_executeDeclarationProvider",(o,c,d)=>{const r=o.get(w.ILanguageFeaturesService),s=u(r.declarationProvider,c,d,L.CancellationToken.None);return i(()=>s)}),(0,k.registerModelAndPositionCommand)("_executeReferenceProvider",(o,c,d)=>{const r=o.get(w.ILanguageFeaturesService),s=n(r.referenceProvider,c,d,!1,L.CancellationToken.None);return i(()=>s)}),(0,k.registerModelAndPositionCommand)("_executeImplementationProvider",(o,c,d)=>{const r=o.get(w.ILanguageFeaturesService),s=g(r.implementationProvider,c,d,L.CancellationToken.None);return i(()=>s)})}),define(te[683],ie([1,0,4,2,42,15,29,3,551,17,52,9,43,89,39]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ISymbolNavigationService=e.ctxHasSymbols=void 0,e.ctxHasSymbols=new u.RawContextKey("hasSymbols",!1,(0,C.localize)(0,null)),e.ISymbolNavigationService=(0,t.createDecorator)("ISymbolNavigationService");let c=class{constructor(s,a,l,h){this._editorService=a,this._notificationService=l,this._keybindingService=h,this._currentModel=void 0,this._currentIdx=-1,this._ignoreEditorChange=!1,this._ctxHasSymbols=e.ctxHasSymbols.bindTo(s)}reset(){var s,a;this._ctxHasSymbols.reset(),(s=this._currentState)===null||s===void 0||s.dispose(),(a=this._currentMessage)===null||a===void 0||a.dispose(),this._currentModel=void 0,this._currentIdx=-1}put(s){const a=s.parent.parent;if(a.references.length<=1){this.reset();return}this._currentModel=a,this._currentIdx=a.references.indexOf(s),this._ctxHasSymbols.set(!0),this._showMessage();const l=new d(this._editorService),h=l.onDidChange(f=>{if(this._ignoreEditorChange)return;const S=this._editorService.getActiveCodeEditor();if(!S)return;const v=S.getModel(),p=S.getPosition();if(!v||!p)return;let _=!1,y=!1;for(const E of a.references)if((0,k.isEqual)(E.uri,v.uri))_=!0,y=y||b.Range.containsPosition(E.range,p);else if(_)break;(!_||!y)&&this.reset()});this._currentState=(0,m.combinedDisposable)(l,h)}revealNext(s){if(!this._currentModel)return Promise.resolve();this._currentIdx+=1,this._currentIdx%=this._currentModel.references.length;const a=this._currentModel.references[this._currentIdx];return this._showMessage(),this._ignoreEditorChange=!0,this._editorService.openCodeEditor({resource:a.uri,options:{selection:b.Range.collapseToStart(a.range),selectionRevealType:3}},s).finally(()=>{this._ignoreEditorChange=!1})}_showMessage(){var s;(s=this._currentMessage)===null||s===void 0||s.dispose();const a=this._keybindingService.lookupKeybinding("editor.gotoNextSymbolFromResult"),l=a?(0,C.localize)(1,null,this._currentIdx+1,this._currentModel.references.length,a.getLabel()):(0,C.localize)(2,null,this._currentIdx+1,this._currentModel.references.length);this._currentMessage=this._notificationService.status(l)}};c=Ie([pe(0,u.IContextKeyService),pe(1,w.ICodeEditorService),pe(2,o.INotificationService),pe(3,n.IKeybindingService)],c),(0,g.registerSingleton)(e.ISymbolNavigationService,c,!0),(0,I.registerEditorCommand)(new class extends I.EditorCommand{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:e.ctxHasSymbols,kbOpts:{weight:100,primary:70}})}runEditorCommand(r,s){return r.get(e.ISymbolNavigationService).revealNext(s)}}),i.KeybindingsRegistry.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:e.ctxHasSymbols,primary:9,handler(r){r.get(e.ISymbolNavigationService).reset()}});let d=class{constructor(s){this._listener=new Map,this._disposables=new m.DisposableStore,this._onDidChange=new L.Emitter,this.onDidChange=this._onDidChange.event,this._disposables.add(s.onCodeEditorRemove(this._onDidRemoveEditor,this)),this._disposables.add(s.onCodeEditorAdd(this._onDidAddEditor,this)),s.listCodeEditors().forEach(this._onDidAddEditor,this)}dispose(){this._disposables.dispose(),this._onDidChange.dispose(),(0,m.dispose)(this._listener.values())}_onDidAddEditor(s){this._listener.set(s,(0,m.combinedDisposable)(s.onDidChangeCursorPosition(a=>this._onDidChange.fire({editor:s})),s.onDidChangeModelContent(a=>this._onDidChange.fire({editor:s}))))}_onDidRemoveEditor(s){var a;(a=this._listener.get(s))===null||a===void 0||a.dispose(),this._listener.delete(s)}};d=Ie([pe(0,w.ICodeEditorService)],d)}),define(te[293],ie([1,0,10,21,13,15,20]),function(q,e,L,m,k,I,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getHoverPromise=e.getHover=e.HoverProviderResult=void 0;class b{constructor(i,o,c){this.provider=i,this.hover=o,this.ordinal=c}}e.HoverProviderResult=b;function C(n,i,o,c,d){return we(this,void 0,void 0,function*(){try{const r=yield Promise.resolve(n.provideHover(o,c,d));if(r&&t(r))return new b(n,r,i)}catch(r){(0,k.onUnexpectedExternalError)(r)}})}function u(n,i,o,c){const r=n.ordered(i).map((s,a)=>C(s,a,i,o,c));return L.AsyncIterableObject.fromPromises(r).coalesce()}e.getHover=u;function g(n,i,o,c){return u(n,i,o,c).map(d=>d.hover).toPromise()}e.getHoverPromise=g,(0,I.registerModelAndPositionCommand)("_executeHoverProvider",(n,i,o)=>{const c=n.get(w.ILanguageFeaturesService);return g(c.hoverProvider,i,o,m.CancellationToken.None)});function t(n){const i=typeof n.range!="undefined",o=typeof n.contents!="undefined"&&n.contents&&n.contents.length>0;return i&&o}}),define(te[207],ie([1,0,7,18,10,68,2,106,11,3,35,293,553,41,53,20]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.renderMarkdownHovers=e.MarkdownHoverParticipant=e.MarkdownHover=void 0;const d=L.$;class r{constructor(h,f,S,v){this.owner=h,this.range=f,this.contents=S,this.ordinal=v}isValidForHoverAnchor(h){return h.type===1&&this.range.startColumn<=h.range.startColumn&&this.range.endColumn>=h.range.endColumn}}e.MarkdownHover=r;let s=class{constructor(h,f,S,v,p){this._editor=h,this._languageService=f,this._openerService=S,this._configurationService=v,this._languageFeaturesService=p,this.hoverOrdinal=2}createLoadingMessage(h){return new r(this,h.range,[new I.MarkdownString().appendText(n.localize(0,null))],2e3)}computeSync(h,f){if(!this._editor.hasModel()||h.type!==1)return[];const S=this._editor.getModel(),v=h.range.startLineNumber,p=S.getLineMaxColumn(v),_=[];let y=1e3;const E=S.getLineLength(v),N=S.getLanguageIdAtPosition(h.range.startLineNumber,h.range.startColumn),D=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:N});typeof D=="number"&&E>=D&&_.push(new r(this,h.range,[{value:n.localize(1,null)}],y++));for(const M of f){const B=M.range.startLineNumber===v?M.range.startColumn:1,O=M.range.endLineNumber===v?M.range.endColumn:p,T=M.options.hoverMessage;if(!T||(0,I.isEmptyMarkdownString)(T))continue;const A=new u.Range(h.range.startLineNumber,B,h.range.startLineNumber,O);_.push(new r(this,A,(0,m.asArray)(T),y++))}return _}computeAsync(h,f,S){if(!this._editor.hasModel()||h.type!==1)return k.AsyncIterableObject.EMPTY;const v=this._editor.getModel();if(!this._languageFeaturesService.hoverProvider.has(v))return k.AsyncIterableObject.EMPTY;const p=new C.Position(h.range.startLineNumber,h.range.startColumn);return(0,t.getHover)(this._languageFeaturesService.hoverProvider,v,p,S).filter(_=>!(0,I.isEmptyMarkdownString)(_.hover.contents)).map(_=>{const y=_.hover.range?u.Range.lift(_.hover.range):h.range;return new r(this,y,_.hover.contents,_.ordinal)})}renderHoverParts(h,f){return a(h,f,this._editor,this._languageService,this._openerService)}};s=Ie([pe(1,g.ILanguageService),pe(2,o.IOpenerService),pe(3,i.IConfigurationService),pe(4,c.ILanguageFeaturesService)],s),e.MarkdownHoverParticipant=s;function a(l,h,f,S,v){h.sort((_,y)=>_.ordinal-y.ordinal);const p=new w.DisposableStore;for(const _ of h)for(const y of _.contents){if((0,I.isEmptyMarkdownString)(y))continue;const E=d("div.hover-row.markdown-hover"),N=L.append(E,d("div.hover-contents")),D=p.add(new b.MarkdownRenderer({editor:f},S,v));p.add(D.onDidRenderAsync(()=>{N.className="hover-contents code-hover-contents",l.onContentsChanged()}));const M=p.add(D.render(y));N.appendChild(M.element),l.fragment.appendChild(E)}return p}e.renderMarkdownHovers=a}),define(te[684],ie([1,0,2,8,15,202,63,3,22,24,33,48,261,556,80,177]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IndentationToTabsCommand=e.IndentationToSpacesCommand=e.AutoIndentOnPaste=e.AutoIndentOnPasteCommand=e.ReindentSelectedLinesAction=e.ReindentLinesAction=e.DetectIndentation=e.IndentUsingSpaces=e.IndentUsingTabs=e.ChangeIndentationSizeAction=e.IndentationToTabsAction=e.IndentationToSpacesAction=e.getReindentEditOperations=void 0;function d(D,M,B,O,T){if(D.getLineCount()===1&&D.getLineMaxColumn(1)===1)return[];const A=M.getLanguageConfiguration(D.getLanguageId()).indentationRules;if(!A)return[];for(O=Math.min(O,D.getLineCount());B<=O&&A.unIndentedLinePattern;){let se=D.getLineContent(B);if(!A.unIndentedLinePattern.test(se))break;B++}if(B>O-1)return[];const{tabSize:P,indentSize:F,insertSpaces:W}=D.getOptions(),R=(se,Z)=>(Z=Z||1,I.ShiftCommand.shiftIndent(se,se.length+Z,P,F,W)),z=(se,Z)=>(Z=Z||1,I.ShiftCommand.unshiftIndent(se,se.length+Z,P,F,W));let j=[],$,G=D.getLineContent(B),J=G;if(T!=null){$=T;let se=m.getLeadingWhitespace(G);J=$+G.substring(se.length),A.decreaseIndentPattern&&A.decreaseIndentPattern.test(J)&&($=z($),J=$+G.substring(se.length)),G!==J&&j.push(w.EditOperation.replaceMove(new C.Selection(B,1,B,se.length+1),(0,c.normalizeIndentation)($,F,W)))}else $=m.getLeadingWhitespace(G);let re=$;A.increaseIndentPattern&&A.increaseIndentPattern.test(J)?(re=R(re),$=R($)):A.indentNextLinePattern&&A.indentNextLinePattern.test(J)&&(re=R(re)),B++;for(let se=B;se<=O;se++){let Z=D.getLineContent(se),V=m.getLeadingWhitespace(Z),K=re+Z.substring(V.length);A.decreaseIndentPattern&&A.decreaseIndentPattern.test(K)&&(re=z(re),$=z($)),V!==re&&j.push(w.EditOperation.replaceMove(new C.Selection(se,1,se,V.length+1),(0,c.normalizeIndentation)(re,F,W))),!(A.unIndentedLinePattern&&A.unIndentedLinePattern.test(Z))&&(A.increaseIndentPattern&&A.increaseIndentPattern.test(K)?($=R($),re=$):A.indentNextLinePattern&&A.indentNextLinePattern.test(K)?re=R(re):re=$)}return j}e.getReindentEditOperations=d;class r extends k.EditorAction{constructor(){super({id:r.ID,label:i.localize(0,null),alias:"Convert Indentation to Spaces",precondition:u.EditorContextKeys.writable})}run(M,B){let O=B.getModel();if(!O)return;let T=O.getOptions(),A=B.getSelection();if(!A)return;const P=new E(A,T.tabSize);B.pushUndoStop(),B.executeCommands(this.id,[P]),B.pushUndoStop(),O.updateOptions({insertSpaces:!0})}}e.IndentationToSpacesAction=r,r.ID="editor.action.indentationToSpaces";class s extends k.EditorAction{constructor(){super({id:s.ID,label:i.localize(1,null),alias:"Convert Indentation to Tabs",precondition:u.EditorContextKeys.writable})}run(M,B){let O=B.getModel();if(!O)return;let T=O.getOptions(),A=B.getSelection();if(!A)return;const P=new N(A,T.tabSize);B.pushUndoStop(),B.executeCommands(this.id,[P]),B.pushUndoStop(),O.updateOptions({insertSpaces:!1})}}e.IndentationToTabsAction=s,s.ID="editor.action.indentationToTabs";class a extends k.EditorAction{constructor(M,B){super(B);this.insertSpaces=M}run(M,B){const O=M.get(o.IQuickInputService),T=M.get(t.IModelService);let A=B.getModel();if(!A)return;const P=T.getCreationOptions(A.getLanguageId(),A.uri,A.isForSimpleWidget),F=[1,2,3,4,5,6,7,8].map(R=>({id:R.toString(),label:R.toString(),description:R===P.tabSize?i.localize(2,null):void 0})),W=Math.min(A.getOptions().tabSize-1,7);setTimeout(()=>{O.pick(F,{placeHolder:i.localize(3,null),activeItem:F[W]}).then(R=>{R&&A&&!A.isDisposed()&&A.updateOptions({tabSize:parseInt(R.label,10),insertSpaces:this.insertSpaces})})},50)}}e.ChangeIndentationSizeAction=a;class l extends a{constructor(){super(!1,{id:l.ID,label:i.localize(4,null),alias:"Indent Using Tabs",precondition:void 0})}}e.IndentUsingTabs=l,l.ID="editor.action.indentUsingTabs";class h extends a{constructor(){super(!0,{id:h.ID,label:i.localize(5,null),alias:"Indent Using Spaces",precondition:void 0})}}e.IndentUsingSpaces=h,h.ID="editor.action.indentUsingSpaces";class f extends k.EditorAction{constructor(){super({id:f.ID,label:i.localize(6,null),alias:"Detect Indentation from Content",precondition:void 0})}run(M,B){const O=M.get(t.IModelService);let T=B.getModel();if(!T)return;const A=O.getCreationOptions(T.getLanguageId(),T.uri,T.isForSimpleWidget);T.detectIndentation(A.insertSpaces,A.tabSize)}}e.DetectIndentation=f,f.ID="editor.action.detectIndentation";class S extends k.EditorAction{constructor(){super({id:"editor.action.reindentlines",label:i.localize(7,null),alias:"Reindent Lines",precondition:u.EditorContextKeys.writable})}run(M,B){const O=M.get(g.ILanguageConfigurationService);let T=B.getModel();if(!T)return;let A=d(T,O,1,T.getLineCount());A.length>0&&(B.pushUndoStop(),B.executeEdits(this.id,A),B.pushUndoStop())}}e.ReindentLinesAction=S;class v extends k.EditorAction{constructor(){super({id:"editor.action.reindentselectedlines",label:i.localize(8,null),alias:"Reindent Selected Lines",precondition:u.EditorContextKeys.writable})}run(M,B){const O=M.get(g.ILanguageConfigurationService);let T=B.getModel();if(!T)return;let A=B.getSelections();if(A===null)return;let P=[];for(let F of A){let W=F.startLineNumber,R=F.endLineNumber;if(W!==R&&F.endColumn===1&&R--,W===1){if(W===R)continue}else W--;let z=d(T,O,W,R);P.push(...z)}P.length>0&&(B.pushUndoStop(),B.executeEdits(this.id,P),B.pushUndoStop())}}e.ReindentSelectedLinesAction=v;class p{constructor(M,B){this._initialSelection=B,this._edits=[],this._selectionId=null;for(let O of M)O.range&&typeof O.text=="string"&&this._edits.push(O)}getEditOperations(M,B){for(let T of this._edits)B.addEditOperation(b.Range.lift(T.range),T.text);let O=!1;Array.isArray(this._edits)&&this._edits.length===1&&this._initialSelection.isEmpty()&&(this._edits[0].range.startColumn===this._initialSelection.endColumn&&this._edits[0].range.startLineNumber===this._initialSelection.endLineNumber?(O=!0,this._selectionId=B.trackSelection(this._initialSelection,!0)):this._edits[0].range.endColumn===this._initialSelection.startColumn&&this._edits[0].range.endLineNumber===this._initialSelection.startLineNumber&&(O=!0,this._selectionId=B.trackSelection(this._initialSelection,!1))),O||(this._selectionId=B.trackSelection(this._initialSelection))}computeCursorState(M,B){return B.getTrackedSelection(this._selectionId)}}e.AutoIndentOnPasteCommand=p;class _{constructor(M){this.callOnDispose=new L.DisposableStore,this.callOnModel=new L.DisposableStore,this.editor=M,this.callOnDispose.add(M.onDidChangeConfiguration(()=>this.update())),this.callOnDispose.add(M.onDidChangeModel(()=>this.update())),this.callOnDispose.add(M.onDidChangeModelLanguage(()=>this.update()))}update(){this.callOnModel.clear(),!(this.editor.getOption(9)<4||this.editor.getOption(48))&&(!this.editor.hasModel()||this.callOnModel.add(this.editor.onDidPaste(({range:M})=>{this.trigger(M)})))}trigger(M){let B=this.editor.getSelections();if(B===null||B.length>1)return;const O=this.editor.getModel();if(!O||!O.isCheapToTokenize(M.getStartPosition().lineNumber))return;const T=this.editor.getOption(9),{tabSize:A,indentSize:P,insertSpaces:F}=O.getOptions();let W=[],R={shiftIndent:G=>I.ShiftCommand.shiftIndent(G,G.length+1,A,P,F),unshiftIndent:G=>I.ShiftCommand.unshiftIndent(G,G.length+1,A,P,F)},z=M.startLineNumber;for(;z<=M.endLineNumber;){if(this.shouldIgnoreLine(O,z)){z++;continue}break}if(z>M.endLineNumber)return;let j=O.getLineContent(z);if(!/\S/.test(j.substring(0,M.startColumn-1))){const G=g.LanguageConfigurationRegistry.getGoodIndentForLine(T,O,O.getLanguageId(),z,R);if(G!==null){let J=m.getLeadingWhitespace(j),re=n.getSpaceCnt(G,A),se=n.getSpaceCnt(J,A);if(re!==se){let Z=n.generateIndent(re,A,F);W.push({range:new b.Range(z,1,z,J.length+1),text:Z}),j=Z+j.substr(J.length)}else{let Z=g.LanguageConfigurationRegistry.getIndentMetadata(O,z);if(Z===0||Z===8)return}}}const $=z;for(;z<M.endLineNumber;){if(!/\S/.test(O.getLineContent(z+1))){z++;continue}break}if(z!==M.endLineNumber){let G={getLineTokens:re=>O.getLineTokens(re),getLanguageId:()=>O.getLanguageId(),getLanguageIdAtPosition:(re,se)=>O.getLanguageIdAtPosition(re,se),getLineContent:re=>re===$?j:O.getLineContent(re)},J=g.LanguageConfigurationRegistry.getGoodIndentForLine(T,G,O.getLanguageId(),z+1,R);if(J!==null){let re=n.getSpaceCnt(J,A),se=n.getSpaceCnt(m.getLeadingWhitespace(O.getLineContent(z+1)),A);if(re!==se){let Z=re-se;for(let V=z+1;V<=M.endLineNumber;V++){let K=O.getLineContent(V),X=m.getLeadingWhitespace(K),ae=n.getSpaceCnt(X,A)+Z,ee=n.generateIndent(ae,A,F);ee!==X&&W.push({range:new b.Range(V,1,V,X.length+1),text:ee})}}}}if(W.length>0){this.editor.pushUndoStop();let G=new p(W,this.editor.getSelection());this.editor.executeCommand("autoIndentOnPaste",G),this.editor.pushUndoStop()}}shouldIgnoreLine(M,B){M.forceTokenization(B);let O=M.getLineFirstNonWhitespaceColumn(B);if(O===0)return!0;let T=M.getLineTokens(B);if(T.getCount()>0){let A=T.findTokenIndexAtOffset(O);if(A>=0&&T.getStandardTokenType(A)===1)return!0}return!1}dispose(){this.callOnDispose.dispose(),this.callOnModel.dispose()}}e.AutoIndentOnPaste=_,_.ID="editor.contrib.autoIndentOnPaste";function y(D,M,B,O){if(D.getLineCount()===1&&D.getLineMaxColumn(1)===1)return;let T="";for(let P=0;P<B;P++)T+=" ";let A=new RegExp(T,"gi");for(let P=1,F=D.getLineCount();P<=F;P++){let W=D.getLineFirstNonWhitespaceColumn(P);if(W===0&&(W=D.getLineMaxColumn(P)),W===1)continue;const R=new b.Range(P,1,P,W),z=D.getValueInRange(R),j=O?z.replace(/\t/ig,T):z.replace(A,"	");M.addEditOperation(R,j)}}class E{constructor(M,B){this.selection=M,this.tabSize=B,this.selectionId=null}getEditOperations(M,B){this.selectionId=B.trackSelection(this.selection),y(M,B,this.tabSize,!0)}computeCursorState(M,B){return B.getTrackedSelection(this.selectionId)}}e.IndentationToSpacesCommand=E;class N{constructor(M,B){this.selection=M,this.tabSize=B,this.selectionId=null}getEditOperations(M,B){this.selectionId=B.trackSelection(this.selection),y(M,B,this.tabSize,!1)}computeCursorState(M,B){return B.getTrackedSelection(this.selectionId)}}e.IndentationToTabsCommand=N,(0,k.registerEditorContribution)(_.ID,_),(0,k.registerEditorAction)(r),(0,k.registerEditorAction)(s),(0,k.registerEditorAction)(l),(0,k.registerEditorAction)(h),(0,k.registerEditorAction)(f),(0,k.registerEditorAction)(S),(0,k.registerEditorAction)(v)}),define(te[208],ie([1,0,10,21,13,4,2,8,158,63,3,27,193,26,263,194,33,436,20,67]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s,a){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.minimizeInlineCompletion=e.provideInlineCompletions=e.SynchronizedInlineCompletionsCache=e.UpdateOperation=e.InlineCompletionsSession=e.InlineCompletionsModel=void 0;let l=class extends w.Disposable{constructor(D,M,B,O,T,A){super();this.editor=D,this.cache=M,this.commandService=B,this.languageConfigurationService=O,this.languageFeaturesService=T,this.debounceService=A,this.onDidChangeEmitter=new I.Emitter,this.onDidChange=this.onDidChangeEmitter.event,this.completionSession=this._register(new w.MutableDisposable),this.active=!1,this.disposed=!1,this.debounceValue=this.debounceService.for(this.languageFeaturesService.inlineCompletionsProvider,"InlineCompletionsDebounce",{min:50,max:200}),this._register(B.onDidExecuteCommand(P=>{new Set([C.CoreEditingCommands.Tab.id,C.CoreEditingCommands.DeleteLeft.id,C.CoreEditingCommands.DeleteRight.id,o.inlineSuggestCommitId,"acceptSelectedSuggestion"]).has(P.commandId)&&D.hasTextFocus()&&this.handleUserInput()})),this._register(this.editor.onDidType(P=>{this.handleUserInput()})),this._register(this.editor.onDidChangeCursorPosition(P=>{this.session&&!this.session.isValid&&this.hide()})),this._register((0,w.toDisposable)(()=>{this.disposed=!0})),this._register(this.editor.onDidBlurEditorWidget(()=>{this.hide()}))}handleUserInput(){this.session&&!this.session.isValid&&this.hide(),setTimeout(()=>{this.disposed||this.startSessionIfTriggered()},0)}get session(){return this.completionSession.value}get ghostText(){var D;return(D=this.session)===null||D===void 0?void 0:D.ghostText}get minReservedLineCount(){return this.session?this.session.minReservedLineCount:0}setExpanded(D){var M;(M=this.session)===null||M===void 0||M.setExpanded(D)}setActive(D){var M;this.active=D,D&&((M=this.session)===null||M===void 0||M.scheduleAutomaticUpdate())}startSessionIfTriggered(){!this.editor.getOption(55).enabled||this.session&&this.session.isValid||this.trigger(t.InlineCompletionTriggerKind.Automatic)}trigger(D){if(this.completionSession.value){D===t.InlineCompletionTriggerKind.Explicit&&this.completionSession.value.ensureUpdateWithExplicitContext();return}this.completionSession.value=new h(this.editor,this.editor.getPosition(),()=>this.active,this.commandService,this.cache,D,this.languageConfigurationService,this.languageFeaturesService.inlineCompletionsProvider,this.debounceValue),this.completionSession.value.takeOwnership(this.completionSession.value.onDidChange(()=>{this.onDidChangeEmitter.fire()}))}hide(){this.completionSession.clear(),this.onDidChangeEmitter.fire()}commitCurrentSuggestion(){var D;(D=this.session)===null||D===void 0||D.commitCurrentCompletion()}showNext(){var D;(D=this.session)===null||D===void 0||D.showNextInlineCompletion()}showPrevious(){var D;(D=this.session)===null||D===void 0||D.showPreviousInlineCompletion()}hasMultipleInlineCompletions(){var D;return we(this,void 0,void 0,function*(){const M=yield(D=this.session)===null||D===void 0?void 0:D.hasMultipleInlineCompletions();return M!==void 0?M:!1})}};l=Ie([pe(2,i.ICommandService),pe(3,d.ILanguageConfigurationService),pe(4,s.ILanguageFeaturesService),pe(5,a.ILanguageFeatureDebounceService)],l),e.InlineCompletionsModel=l;class h extends n.BaseGhostTextWidgetModel{constructor(D,M,B,O,T,A,P,F,W){super(D);this.triggerPosition=M,this.shouldUpdate=B,this.commandService=O,this.cache=T,this.initialTriggerKind=A,this.languageConfigurationService=P,this.registry=F,this.debounce=W,this.minReservedLineCount=0,this.updateOperation=this._register(new w.MutableDisposable),this.updateSoon=this._register(new L.RunOnceScheduler(()=>{let z=this.initialTriggerKind;return this.initialTriggerKind=t.InlineCompletionTriggerKind.Automatic,this.update(z)},50)),this.currentlySelectedCompletionId=void 0;let R;this._register(this.onDidChange(()=>{const z=this.currentCompletion;if(z&&z.sourceInlineCompletion!==R){R=z.sourceInlineCompletion;const j=z.sourceProvider;j.handleItemDidShow&&j.handleItemDidShow(z.sourceInlineCompletions,R)}})),this._register((0,w.toDisposable)(()=>{this.cache.clear()})),this._register(this.editor.onDidChangeCursorPosition(z=>{this.cache.value&&this.onDidChangeEmitter.fire()})),this._register(this.editor.onDidChangeModelContent(z=>{this.scheduleAutomaticUpdate()})),this._register(this.registry.onDidChange(()=>{this.updateSoon.schedule(this.debounce.get(this.editor.getModel()))})),this.scheduleAutomaticUpdate()}fixAndGetIndexOfCurrentSelection(){if(!this.currentlySelectedCompletionId||!this.cache.value||this.cache.value.completions.length===0)return 0;const D=this.cache.value.completions.findIndex(M=>M.semanticId===this.currentlySelectedCompletionId);return D===-1?(this.currentlySelectedCompletionId=void 0,0):D}get currentCachedCompletion(){if(!!this.cache.value)return this.cache.value.completions[this.fixAndGetIndexOfCurrentSelection()]}showNextInlineCompletion(){var D;return we(this,void 0,void 0,function*(){yield this.ensureUpdateWithExplicitContext();const M=((D=this.cache.value)===null||D===void 0?void 0:D.completions)||[];if(M.length>0){const B=(this.fixAndGetIndexOfCurrentSelection()+1)%M.length;this.currentlySelectedCompletionId=M[B].semanticId}else this.currentlySelectedCompletionId=void 0;this.onDidChangeEmitter.fire()})}showPreviousInlineCompletion(){var D;return we(this,void 0,void 0,function*(){yield this.ensureUpdateWithExplicitContext();const M=((D=this.cache.value)===null||D===void 0?void 0:D.completions)||[];if(M.length>0){const B=(this.fixAndGetIndexOfCurrentSelection()+M.length-1)%M.length;this.currentlySelectedCompletionId=M[B].semanticId}else this.currentlySelectedCompletionId=void 0;this.onDidChangeEmitter.fire()})}ensureUpdateWithExplicitContext(){var D;return we(this,void 0,void 0,function*(){this.updateOperation.value?this.updateOperation.value.triggerKind===t.InlineCompletionTriggerKind.Explicit?yield this.updateOperation.value.promise:yield this.update(t.InlineCompletionTriggerKind.Explicit):((D=this.cache.value)===null||D===void 0?void 0:D.triggerKind)!==t.InlineCompletionTriggerKind.Explicit&&(yield this.update(t.InlineCompletionTriggerKind.Explicit))})}hasMultipleInlineCompletions(){var D;return we(this,void 0,void 0,function*(){return yield this.ensureUpdateWithExplicitContext(),(((D=this.cache.value)===null||D===void 0?void 0:D.completions.length)||0)>1})}get ghostText(){const D=this.currentCompletion,M=this.editor.getOptions().get(55).mode;return D?(0,c.inlineCompletionToGhostText)(D,this.editor.getModel(),M,this.editor.getPosition()):void 0}get currentCompletion(){const D=this.currentCachedCompletion;if(!!D)return D.toLiveInlineCompletion()}get isValid(){return this.editor.getPosition().lineNumber===this.triggerPosition.lineNumber}scheduleAutomaticUpdate(){this.updateOperation.clear(),this.updateSoon.schedule(this.debounce.get(this.editor.getModel()))}update(D){return we(this,void 0,void 0,function*(){if(!this.shouldUpdate())return;const M=this.editor.getPosition(),B=new Date,O=(0,L.createCancelablePromise)(A=>we(this,void 0,void 0,function*(){let P;try{P=yield _(this.registry,M,this.editor.getModel(),{triggerKind:D,selectedSuggestionInfo:void 0},A,this.languageConfigurationService);const F=new Date;this.debounce.update(this.editor.getModel(),F.getTime()-B.getTime())}catch(F){(0,k.onUnexpectedError)(F);return}A.isCancellationRequested||(this.cache.setValue(this.editor,P,D),this.onDidChangeEmitter.fire())})),T=new f(O,D);this.updateOperation.value=T,yield O,this.updateOperation.value===T&&this.updateOperation.clear()})}takeOwnership(D){this._register(D)}commitCurrentCompletion(){if(!this.ghostText)return;const D=this.currentCompletion;D&&this.commit(D)}commit(D){const M=this.cache.clearAndLeak();this.editor.executeEdits("inlineSuggestion.accept",[u.EditOperation.replaceMove(D.range,D.text)]),D.command?this.commandService.executeCommand(D.command.id,...D.command.arguments||[]).finally(()=>{M==null||M.dispose()}).then(void 0,k.onUnexpectedExternalError):M==null||M.dispose(),this.onDidChangeEmitter.fire()}}e.InlineCompletionsSession=h;class f{constructor(D,M){this.promise=D,this.triggerKind=M}dispose(){this.promise.cancel()}}e.UpdateOperation=f;class S extends w.Disposable{constructor(D,M,B,O){super();this.triggerKind=O;const T=D.deltaDecorations([],M.items.map(A=>({range:A.range,options:{description:"inline-completion-tracking-range"}})));this._register((0,w.toDisposable)(()=>{D.deltaDecorations(T,[])})),this.completions=M.items.map((A,P)=>new v(A,T[P])),this._register(D.onDidChangeModelContent(()=>{let A=!1;const P=D.getModel();for(const F of this.completions){const W=P.getDecorationRange(F.decorationId);if(!W){(0,k.onUnexpectedError)(new Error("Decoration has no range"));continue}F.synchronizedRange.equalsRange(W)||(A=!0,F.synchronizedRange=W)}A&&B()})),this._register(M)}}e.SynchronizedInlineCompletionsCache=S;class v{constructor(D,M){this.inlineCompletion=D,this.decorationId=M,this.semanticId=JSON.stringify({text:this.inlineCompletion.text,startLine:this.inlineCompletion.range.startLineNumber,startColumn:this.inlineCompletion.range.startColumn,command:this.inlineCompletion.command}),this.synchronizedRange=D.range}toLiveInlineCompletion(){return{text:this.inlineCompletion.text,range:this.synchronizedRange,command:this.inlineCompletion.command,sourceProvider:this.inlineCompletion.sourceProvider,sourceInlineCompletions:this.inlineCompletion.sourceInlineCompletions,sourceInlineCompletion:this.inlineCompletion.sourceInlineCompletion}}}function p(N,D){const M=D.getWordAtPosition(N),B=D.getLineMaxColumn(N.lineNumber);return M?new g.Range(N.lineNumber,M.startColumn,N.lineNumber,B):g.Range.fromPositions(N,N.with(void 0,B))}function _(N,D,M,B,O=m.CancellationToken.None,T){return we(this,void 0,void 0,function*(){const A=p(D,M),P=N.all(M),F=yield Promise.all(P.map(R=>we(this,void 0,void 0,function*(){const z=yield Promise.resolve(R.provideInlineCompletions(M,D,B,O)).catch(k.onUnexpectedExternalError);return{completions:z,provider:R,dispose:()=>{z&&R.freeInlineCompletions(z)}}}))),W=new Map;for(const R of F){const z=R.completions;if(z)for(const j of z.items){const $=j.range?g.Range.lift(j.range):A;if($.startLineNumber!==$.endLineNumber)continue;const G=T&&j.completeBracketPairs?y(j.text,$.getStartPosition(),M,T):j.text,J={text:G,range:$,command:j.command,sourceProvider:R.provider,sourceInlineCompletions:z,sourceInlineCompletion:j};W.set(JSON.stringify({text:G,range:j.range}),J)}}return{items:[...W.values()],dispose:()=>{for(const R of F)R.dispose()}}})}e.provideInlineCompletions=_;function y(N,D,M,B){const T=M.getLineContent(D.lineNumber).substring(0,D.column-1)+N,A=M.tokenizeLineWithEdit(D,T.length-(D.column-1),N),P=A==null?void 0:A.sliceAndInflate(D.column-1,T.length,0);return P?(console.log(P),(0,r.fixBracketsInLine)(P,B)):N}function E(N,D){if(!D)return D;const M=N.getValueInRange(D.range),B=(0,b.commonPrefixLength)(M,D.text),O=N.getOffsetAt(D.range.getStartPosition())+B,T=N.getPositionAt(O),A=M.substr(B),P=(0,b.commonSuffixLength)(A,D.text),F=N.getPositionAt(Math.max(O,N.getOffsetAt(D.range.getEndPosition())-P));return{range:g.Range.fromPositions(T,F),text:D.text.substr(B,D.text.length-B-P)}}e.minimizeInlineCompletion=E}),define(te[685],ie([1,0,15,182,24,560]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ExpandLineSelectionAction=void 0;class w extends L.EditorAction{constructor(){super({id:"expandLineSelection",label:I.localize(0,null),alias:"Expand Line Selection",precondition:void 0,kbOpts:{weight:0,kbExpr:k.EditorContextKeys.textInputFocus,primary:2048|42}})}run(C,u,g){if(g=g||{},!u.hasModel())return;const t=u._getViewModel();t.model.pushStackElement(),t.setCursorStates(g.source,3,m.CursorMoveCommands.expandLineSelection(t,t.getCursorStates())),t.revealPrimaryCursor(g.source,!0)}}e.ExpandLineSelectionAction=w,(0,L.registerEditorAction)(w)}),define(te[686],ie([1,0,58,158,15,100,405,203,63,11,3,22,24,469,610,470,561,37]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SnakeCaseAction=e.TitleCaseAction=e.LowerCaseAction=e.UpperCaseAction=e.AbstractCaseAction=e.TransposeAction=e.JoinLinesAction=e.DeleteAllRightAction=e.DeleteAllLeftAction=e.AbstractDeleteAllToBoundaryAction=e.InsertLineAfterAction=e.InsertLineBeforeAction=e.IndentLinesAction=e.DeleteLinesAction=e.TrimTrailingWhitespaceAction=e.DeleteDuplicateLinesAction=e.SortLinesDescendingAction=e.SortLinesAscendingAction=e.AbstractSortLinesAction=e.DuplicateSelectionAction=void 0;class s extends k.EditorAction{constructor(Z,V){super(V);this.down=Z}run(Z,V){if(!V.hasModel())return;const K=V.getSelections().map((ae,ee)=>({selection:ae,index:ee,ignore:!1}));K.sort((ae,ee)=>g.Range.compareRangesUsingStarts(ae.selection,ee.selection));let X=K[0];for(let ae=1;ae<K.length;ae++){const ee=K[ae];X.selection.endLineNumber===ee.selection.startLineNumber&&(X.index<ee.index?ee.ignore=!0:(X.ignore=!0,X=ee))}const oe=[];for(const ae of K)oe.push(new i.CopyLinesCommand(ae.selection,this.down,ae.ignore));V.pushUndoStop(),V.executeCommands(this.id,oe),V.pushUndoStop()}}class a extends s{constructor(){super(!1,{id:"editor.action.copyLinesUpAction",label:d.localize(0,null),alias:"Copy Line Up",precondition:n.EditorContextKeys.writable,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,primary:512|1024|16,linux:{primary:2048|512|1024|16},weight:100},menuOpts:{menuId:r.MenuId.MenubarSelectionMenu,group:"2_line",title:d.localize(1,null),order:1}})}}class l extends s{constructor(){super(!0,{id:"editor.action.copyLinesDownAction",label:d.localize(2,null),alias:"Copy Line Down",precondition:n.EditorContextKeys.writable,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,primary:512|1024|18,linux:{primary:2048|512|1024|18},weight:100},menuOpts:{menuId:r.MenuId.MenubarSelectionMenu,group:"2_line",title:d.localize(3,null),order:2}})}}class h extends k.EditorAction{constructor(){super({id:"editor.action.duplicateSelection",label:d.localize(4,null),alias:"Duplicate Selection",precondition:n.EditorContextKeys.writable,menuOpts:{menuId:r.MenuId.MenubarSelectionMenu,group:"2_line",title:d.localize(5,null),order:5}})}run(Z,V,K){if(!V.hasModel())return;const X=[],oe=V.getSelections(),ae=V.getModel();for(const ee of oe)if(ee.isEmpty())X.push(new i.CopyLinesCommand(ee,!0));else{const ue=new t.Selection(ee.endLineNumber,ee.endColumn,ee.endLineNumber,ee.endColumn);X.push(new I.ReplaceCommandThatSelectsText(ue,ae.getValueInRange(ee)))}V.pushUndoStop(),V.executeCommands(this.id,X),V.pushUndoStop()}}e.DuplicateSelectionAction=h;class f extends k.EditorAction{constructor(Z,V){super(V);this.down=Z}run(Z,V){let K=[],X=V.getSelections()||[];const oe=V.getOption(9);for(const ae of X)K.push(new o.MoveLinesCommand(ae,this.down,oe));V.pushUndoStop(),V.executeCommands(this.id,K),V.pushUndoStop()}}class S extends f{constructor(){super(!1,{id:"editor.action.moveLinesUpAction",label:d.localize(6,null),alias:"Move Line Up",precondition:n.EditorContextKeys.writable,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,primary:512|16,linux:{primary:512|16},weight:100},menuOpts:{menuId:r.MenuId.MenubarSelectionMenu,group:"2_line",title:d.localize(7,null),order:3}})}}class v extends f{constructor(){super(!0,{id:"editor.action.moveLinesDownAction",label:d.localize(8,null),alias:"Move Line Down",precondition:n.EditorContextKeys.writable,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,primary:512|18,linux:{primary:512|18},weight:100},menuOpts:{menuId:r.MenuId.MenubarSelectionMenu,group:"2_line",title:d.localize(9,null),order:4}})}}class p extends k.EditorAction{constructor(Z,V){super(V);this.descending=Z}run(Z,V){const K=V.getSelections()||[];for(const oe of K)if(!c.SortLinesCommand.canRun(V.getModel(),oe,this.descending))return;let X=[];for(let oe=0,ae=K.length;oe<ae;oe++)X[oe]=new c.SortLinesCommand(K[oe],this.descending);V.pushUndoStop(),V.executeCommands(this.id,X),V.pushUndoStop()}}e.AbstractSortLinesAction=p;class _ extends p{constructor(){super(!1,{id:"editor.action.sortLinesAscending",label:d.localize(10,null),alias:"Sort Lines Ascending",precondition:n.EditorContextKeys.writable})}}e.SortLinesAscendingAction=_;class y extends p{constructor(){super(!0,{id:"editor.action.sortLinesDescending",label:d.localize(11,null),alias:"Sort Lines Descending",precondition:n.EditorContextKeys.writable})}}e.SortLinesDescendingAction=y;class E extends k.EditorAction{constructor(){super({id:"editor.action.removeDuplicateLines",label:d.localize(12,null),alias:"Delete Duplicate Lines",precondition:n.EditorContextKeys.writable})}run(Z,V){if(!V.hasModel())return;let K=V.getModel();if(K.getLineCount()===1&&K.getLineMaxColumn(1)===1)return;let X=[],oe=[],ae=0;for(let ee of V.getSelections()){let ue=new Set,le=[];for(let Q=ee.startLineNumber;Q<=ee.endLineNumber;Q++){let Y=K.getLineContent(Q);ue.has(Y)||(le.push(Y),ue.add(Y))}let x=new t.Selection(ee.startLineNumber,1,ee.endLineNumber,K.getLineMaxColumn(ee.endLineNumber)),H=ee.startLineNumber-ae,U=new t.Selection(H,1,H+le.length-1,le[le.length-1].length);X.push(C.EditOperation.replace(x,le.join(`
+`))),oe.push(U),ae+=ee.endLineNumber-ee.startLineNumber+1-le.length}V.pushUndoStop(),V.executeEdits(this.id,X,oe),V.pushUndoStop()}}e.DeleteDuplicateLinesAction=E;class N extends k.EditorAction{constructor(){super({id:N.ID,label:d.localize(13,null),alias:"Trim Trailing Whitespace",precondition:n.EditorContextKeys.writable,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,primary:(0,L.KeyChord)(2048|41,2048|54),weight:100}})}run(Z,V,K){let X=[];K.reason==="auto-save"&&(X=(V.getSelections()||[]).map(ee=>new u.Position(ee.positionLineNumber,ee.positionColumn)));let oe=V.getSelection();if(oe===null)return;let ae=new w.TrimTrailingWhitespaceCommand(oe,X);V.pushUndoStop(),V.executeCommands(this.id,[ae]),V.pushUndoStop()}}e.TrimTrailingWhitespaceAction=N,N.ID="editor.action.trimTrailingWhitespace";class D extends k.EditorAction{constructor(){super({id:"editor.action.deleteLines",label:d.localize(14,null),alias:"Delete Line",precondition:n.EditorContextKeys.writable,kbOpts:{kbExpr:n.EditorContextKeys.textInputFocus,primary:2048|1024|41,weight:100}})}run(Z,V){if(!V.hasModel())return;let K=this._getLinesToRemove(V),X=V.getModel();if(X.getLineCount()===1&&X.getLineMaxColumn(1)===1)return;let oe=0,ae=[],ee=[];for(let ue=0,le=K.length;ue<le;ue++){const x=K[ue];let H=x.startLineNumber,U=x.endLineNumber,Q=1,Y=X.getLineMaxColumn(U);U<X.getLineCount()?(U+=1,Y=1):H>1&&(H-=1,Q=X.getLineMaxColumn(H)),ae.push(C.EditOperation.replace(new t.Selection(H,Q,U,Y),"")),ee.push(new t.Selection(H-oe,x.positionColumn,H-oe,x.positionColumn)),oe+=x.endLineNumber-x.startLineNumber+1}V.pushUndoStop(),V.executeEdits(this.id,ae,ee),V.pushUndoStop()}_getLinesToRemove(Z){let V=Z.getSelections().map(oe=>{let ae=oe.endLineNumber;return oe.startLineNumber<oe.endLineNumber&&oe.endColumn===1&&(ae-=1),{startLineNumber:oe.startLineNumber,selectionStartColumn:oe.selectionStartColumn,endLineNumber:ae,positionColumn:oe.positionColumn}});V.sort((oe,ae)=>oe.startLineNumber===ae.startLineNumber?oe.endLineNumber-ae.endLineNumber:oe.startLineNumber-ae.startLineNumber);let K=[],X=V[0];for(let oe=1;oe<V.length;oe++)X.endLineNumber+1>=V[oe].startLineNumber?X.endLineNumber=V[oe].endLineNumber:(K.push(X),X=V[oe]);return K.push(X),K}}e.DeleteLinesAction=D;class M extends k.EditorAction{constructor(){super({id:"editor.action.indentLines",label:d.localize(15,null),alias:"Indent Line",precondition:n.EditorContextKeys.writable,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,primary:2048|89,weight:100}})}run(Z,V){const K=V._getViewModel();!K||(V.pushUndoStop(),V.executeCommands(this.id,b.TypeOperations.indent(K.cursorConfig,V.getModel(),V.getSelections())),V.pushUndoStop())}}e.IndentLinesAction=M;class B extends k.EditorAction{constructor(){super({id:"editor.action.outdentLines",label:d.localize(16,null),alias:"Outdent Line",precondition:n.EditorContextKeys.writable,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,primary:2048|87,weight:100}})}run(Z,V){m.CoreEditingCommands.Outdent.runEditorCommand(Z,V,null)}}class O extends k.EditorAction{constructor(){super({id:"editor.action.insertLineBefore",label:d.localize(17,null),alias:"Insert Line Above",precondition:n.EditorContextKeys.writable,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,primary:2048|1024|3,weight:100}})}run(Z,V){const K=V._getViewModel();!K||(V.pushUndoStop(),V.executeCommands(this.id,b.TypeOperations.lineInsertBefore(K.cursorConfig,V.getModel(),V.getSelections())))}}e.InsertLineBeforeAction=O;class T extends k.EditorAction{constructor(){super({id:"editor.action.insertLineAfter",label:d.localize(18,null),alias:"Insert Line Below",precondition:n.EditorContextKeys.writable,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,primary:2048|3,weight:100}})}run(Z,V){const K=V._getViewModel();!K||(V.pushUndoStop(),V.executeCommands(this.id,b.TypeOperations.lineInsertAfter(K.cursorConfig,V.getModel(),V.getSelections())))}}e.InsertLineAfterAction=T;class A extends k.EditorAction{run(Z,V){if(!V.hasModel())return;const K=V.getSelection();let X=this._getRangesToDelete(V),oe=[];for(let ue=0,le=X.length-1;ue<le;ue++){let x=X[ue],H=X[ue+1];g.Range.intersectRanges(x,H)===null?oe.push(x):X[ue+1]=g.Range.plusRange(x,H)}oe.push(X[X.length-1]);let ae=this._getEndCursorState(K,oe),ee=oe.map(ue=>C.EditOperation.replace(ue,""));V.pushUndoStop(),V.executeEdits(this.id,ee,ae),V.pushUndoStop()}}e.AbstractDeleteAllToBoundaryAction=A;class P extends A{constructor(){super({id:"deleteAllLeft",label:d.localize(19,null),alias:"Delete All Left",precondition:n.EditorContextKeys.writable,kbOpts:{kbExpr:n.EditorContextKeys.textInputFocus,primary:0,mac:{primary:2048|1},weight:100}})}_getEndCursorState(Z,V){let K=null,X=[],oe=0;return V.forEach(ae=>{let ee;if(ae.endColumn===1&&oe>0){let ue=ae.startLineNumber-oe;ee=new t.Selection(ue,ae.startColumn,ue,ae.startColumn)}else ee=new t.Selection(ae.startLineNumber,ae.startColumn,ae.startLineNumber,ae.startColumn);oe+=ae.endLineNumber-ae.startLineNumber,ae.intersectRanges(Z)?K=ee:X.push(ee)}),K&&X.unshift(K),X}_getRangesToDelete(Z){let V=Z.getSelections();if(V===null)return[];let K=V,X=Z.getModel();return X===null?[]:(K.sort(g.Range.compareRangesUsingStarts),K=K.map(oe=>{if(oe.isEmpty())if(oe.startColumn===1){let ae=Math.max(1,oe.startLineNumber-1),ee=oe.startLineNumber===1?1:X.getLineContent(ae).length+1;return new g.Range(ae,ee,oe.startLineNumber,1)}else return new g.Range(oe.startLineNumber,1,oe.startLineNumber,oe.startColumn);else return new g.Range(oe.startLineNumber,1,oe.endLineNumber,oe.endColumn)}),K)}}e.DeleteAllLeftAction=P;class F extends A{constructor(){super({id:"deleteAllRight",label:d.localize(20,null),alias:"Delete All Right",precondition:n.EditorContextKeys.writable,kbOpts:{kbExpr:n.EditorContextKeys.textInputFocus,primary:0,mac:{primary:256|41,secondary:[2048|20]},weight:100}})}_getEndCursorState(Z,V){let K=null,X=[];for(let oe=0,ae=V.length,ee=0;oe<ae;oe++){let ue=V[oe],le=new t.Selection(ue.startLineNumber-ee,ue.startColumn,ue.startLineNumber-ee,ue.startColumn);ue.intersectRanges(Z)?K=le:X.push(le)}return K&&X.unshift(K),X}_getRangesToDelete(Z){let V=Z.getModel();if(V===null)return[];let K=Z.getSelections();if(K===null)return[];let X=K.map(oe=>{if(oe.isEmpty()){const ae=V.getLineMaxColumn(oe.startLineNumber);return oe.startColumn===ae?new g.Range(oe.startLineNumber,oe.startColumn,oe.startLineNumber+1,1):new g.Range(oe.startLineNumber,oe.startColumn,oe.startLineNumber,ae)}return oe});return X.sort(g.Range.compareRangesUsingStarts),X}}e.DeleteAllRightAction=F;class W extends k.EditorAction{constructor(){super({id:"editor.action.joinLines",label:d.localize(21,null),alias:"Join Lines",precondition:n.EditorContextKeys.writable,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,primary:0,mac:{primary:256|40},weight:100}})}run(Z,V){let K=V.getSelections();if(K===null)return;let X=V.getSelection();if(X===null)return;K.sort(g.Range.compareRangesUsingStarts);let oe=[],ae=K.reduce((U,Q)=>U.isEmpty()?U.endLineNumber===Q.startLineNumber?(X.equalsSelection(U)&&(X=Q),Q):Q.startLineNumber>U.endLineNumber+1?(oe.push(U),Q):new t.Selection(U.startLineNumber,U.startColumn,Q.endLineNumber,Q.endColumn):Q.startLineNumber>U.endLineNumber?(oe.push(U),Q):new t.Selection(U.startLineNumber,U.startColumn,Q.endLineNumber,Q.endColumn));oe.push(ae);let ee=V.getModel();if(ee===null)return;let ue=[],le=[],x=X,H=0;for(let U=0,Q=oe.length;U<Q;U++){let Y=oe[U],ne=Y.startLineNumber,ge=1,fe=0,ce,he,ve=ee.getLineContent(Y.endLineNumber).length-Y.endColumn;if(Y.isEmpty()||Y.startLineNumber===Y.endLineNumber){let de=Y.getStartPosition();de.lineNumber<ee.getLineCount()?(ce=ne+1,he=ee.getLineMaxColumn(ce)):(ce=de.lineNumber,he=ee.getLineMaxColumn(de.lineNumber))}else ce=Y.endLineNumber,he=ee.getLineMaxColumn(ce);let Ce=ee.getLineContent(ne);for(let de=ne+1;de<=ce;de++){let me=ee.getLineContent(de),_e=ee.getLineFirstNonWhitespaceColumn(de);if(_e>=1){let ye=!0;Ce===""&&(ye=!1),ye&&(Ce.charAt(Ce.length-1)===" "||Ce.charAt(Ce.length-1)==="	")&&(ye=!1,Ce=Ce.replace(/[\s\uFEFF\xA0]+$/g," "));let ke=me.substr(_e-1);Ce+=(ye?" ":"")+ke,ye?fe=ke.length+1:fe=ke.length}else fe=0}let be=new g.Range(ne,ge,ce,he);if(!be.isEmpty()){let de;Y.isEmpty()?(ue.push(C.EditOperation.replace(be,Ce)),de=new t.Selection(be.startLineNumber-H,Ce.length-fe+1,ne-H,Ce.length-fe+1)):Y.startLineNumber===Y.endLineNumber?(ue.push(C.EditOperation.replace(be,Ce)),de=new t.Selection(Y.startLineNumber-H,Y.startColumn,Y.endLineNumber-H,Y.endColumn)):(ue.push(C.EditOperation.replace(be,Ce)),de=new t.Selection(Y.startLineNumber-H,Y.startColumn,Y.startLineNumber-H,Ce.length-ve)),g.Range.intersectRanges(be,X)!==null?x=de:le.push(de)}H+=be.endLineNumber-be.startLineNumber}le.unshift(x),V.pushUndoStop(),V.executeEdits(this.id,ue,le),V.pushUndoStop()}}e.JoinLinesAction=W;class R extends k.EditorAction{constructor(){super({id:"editor.action.transpose",label:d.localize(22,null),alias:"Transpose characters around the cursor",precondition:n.EditorContextKeys.writable})}run(Z,V){let K=V.getSelections();if(K===null)return;let X=V.getModel();if(X===null)return;let oe=[];for(let ae=0,ee=K.length;ae<ee;ae++){let ue=K[ae];if(!ue.isEmpty())continue;let le=ue.getStartPosition(),x=X.getLineMaxColumn(le.lineNumber);if(le.column>=x){if(le.lineNumber===X.getLineCount())continue;let H=new g.Range(le.lineNumber,Math.max(1,le.column-1),le.lineNumber+1,1),U=X.getValueInRange(H).split("").reverse().join("");oe.push(new I.ReplaceCommand(new t.Selection(le.lineNumber,Math.max(1,le.column-1),le.lineNumber+1,1),U))}else{let H=new g.Range(le.lineNumber,Math.max(1,le.column-1),le.lineNumber,le.column+1),U=X.getValueInRange(H).split("").reverse().join("");oe.push(new I.ReplaceCommandThatPreservesSelection(H,U,new t.Selection(le.lineNumber,le.column+1,le.lineNumber,le.column+1)))}}V.pushUndoStop(),V.executeCommands(this.id,oe),V.pushUndoStop()}}e.TransposeAction=R;class z extends k.EditorAction{run(Z,V){const K=V.getSelections();if(K===null)return;const X=V.getModel();if(X===null)return;const oe=V.getOption(117),ae=[];for(const ee of K)if(ee.isEmpty()){const ue=ee.getStartPosition(),le=V.getConfiguredWordAtPosition(ue);if(!le)continue;const x=new g.Range(ue.lineNumber,le.startColumn,ue.lineNumber,le.endColumn),H=X.getValueInRange(x);ae.push(C.EditOperation.replace(x,this._modifyText(H,oe)))}else{const ue=X.getValueInRange(ee);ae.push(C.EditOperation.replace(ee,this._modifyText(ue,oe)))}V.pushUndoStop(),V.executeEdits(this.id,ae),V.pushUndoStop()}}e.AbstractCaseAction=z;class j extends z{constructor(){super({id:"editor.action.transformToUppercase",label:d.localize(23,null),alias:"Transform to Uppercase",precondition:n.EditorContextKeys.writable})}_modifyText(Z,V){return Z.toLocaleUpperCase()}}e.UpperCaseAction=j;class $ extends z{constructor(){super({id:"editor.action.transformToLowercase",label:d.localize(24,null),alias:"Transform to Lowercase",precondition:n.EditorContextKeys.writable})}_modifyText(Z,V){return Z.toLocaleLowerCase()}}e.LowerCaseAction=$;class G{constructor(Z,V){this._pattern=Z,this._flags=V,this._actual=null,this._evaluated=!1}get(){if(!this._evaluated){this._evaluated=!0;try{this._actual=new RegExp(this._pattern,this._flags)}catch{}}return this._actual}isSupported(){return this.get()!==null}}class J extends z{constructor(){super({id:"editor.action.transformToTitlecase",label:d.localize(25,null),alias:"Transform to Title Case",precondition:n.EditorContextKeys.writable})}_modifyText(Z,V){const K=J.titleBoundary.get();return K?Z.toLocaleLowerCase().replace(K,X=>X.toLocaleUpperCase()):Z}}e.TitleCaseAction=J,J.titleBoundary=new G("(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}","gmu");class re extends z{constructor(){super({id:"editor.action.transformToSnakecase",label:d.localize(26,null),alias:"Transform to Snake Case",precondition:n.EditorContextKeys.writable})}_modifyText(Z,V){const K=re.caseBoundary.get(),X=re.singleLetters.get();return!K||!X?Z:Z.replace(K,"$1_$2").replace(X,"$1_$2$3").toLocaleLowerCase()}}e.SnakeCaseAction=re,re.caseBoundary=new G("(\\p{Ll})(\\p{Lu})","gmu"),re.singleLetters=new G("(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})","gmu"),(0,k.registerEditorAction)(a),(0,k.registerEditorAction)(l),(0,k.registerEditorAction)(h),(0,k.registerEditorAction)(S),(0,k.registerEditorAction)(v),(0,k.registerEditorAction)(_),(0,k.registerEditorAction)(y),(0,k.registerEditorAction)(E),(0,k.registerEditorAction)(N),(0,k.registerEditorAction)(D),(0,k.registerEditorAction)(M),(0,k.registerEditorAction)(B),(0,k.registerEditorAction)(O),(0,k.registerEditorAction)(T),(0,k.registerEditorAction)(P),(0,k.registerEditorAction)(F),(0,k.registerEditorAction)(W),(0,k.registerEditorAction)(R),(0,k.registerEditorAction)(j),(0,k.registerEditorAction)($),re.caseBoundary.isSupported()&&re.singleLetters.isSupported()&&(0,k.registerEditorAction)(re),J.titleBoundary.isSupported()&&(0,k.registerEditorAction)(J)}),define(te[160],ie([1,0,46,10,2,15,3,564,17,384]),function(q,e,L,m,k,I,w,b,C){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MessageController=void 0;let u=class Jt{constructor(i,o){this._messageWidget=new k.MutableDisposable,this._messageListeners=new k.DisposableStore,this._editor=i,this._visible=Jt.MESSAGE_VISIBLE.bindTo(o),this._editorListener=this._editor.onDidAttemptReadOnlyEdit(()=>this._onDidAttemptReadOnlyEdit())}static get(i){return i.getContribution(Jt.ID)}dispose(){this._editorListener.dispose(),this._messageListeners.dispose(),this._messageWidget.dispose(),this._visible.reset()}showMessage(i,o){(0,L.alert)(i),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._messageWidget.value=new t(this._editor,o,i),this._messageListeners.add(this._editor.onDidBlurEditorText(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidChangeCursorPosition(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidDispose(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidChangeModel(()=>this.closeMessage())),this._messageListeners.add(new m.TimeoutTimer(()=>this.closeMessage(),3e3));let c;this._messageListeners.add(this._editor.onMouseMove(d=>{!d.target.position||(c?c.containsPosition(d.target.position)||this.closeMessage():c=new w.Range(o.lineNumber-3,1,d.target.position.lineNumber+3,1))}))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(t.fadeOut(this._messageWidget.value))}_onDidAttemptReadOnlyEdit(){this._editor.hasModel()&&this.showMessage(b.localize(1,null),this._editor.getPosition())}};u.ID="editor.contrib.messageController",u.MESSAGE_VISIBLE=new C.RawContextKey("messageVisible",!1,b.localize(0,null)),u=Ie([pe(1,C.IContextKeyService)],u),e.MessageController=u;const g=I.EditorCommand.bindToContribution(u.get);(0,I.registerEditorCommand)(new g({id:"leaveEditorMessage",precondition:u.MESSAGE_VISIBLE,handler:n=>n.closeMessage(),kbOpts:{weight:100+30,primary:9}}));class t{constructor(i,{lineNumber:o,column:c},d){this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=i,this._editor.revealLinesInCenterIfOutsideViewport(o,o,0),this._position={lineNumber:o,column:c-1},this._domNode=document.createElement("div"),this._domNode.classList.add("monaco-editor-overlaymessage");const r=document.createElement("div");r.classList.add("anchor","top"),this._domNode.appendChild(r);const s=document.createElement("div");s.classList.add("message"),s.textContent=d,this._domNode.appendChild(s);const a=document.createElement("div");a.classList.add("anchor","below"),this._domNode.appendChild(a),this._editor.addContentWidget(this),this._domNode.classList.add("fadeIn")}static fadeOut(i){let o;const c=()=>{i.dispose(),clearTimeout(o),i.getDomNode().removeEventListener("animationend",c)};return o=setTimeout(c,110),i.getDomNode().addEventListener("animationend",c),i.getDomNode().classList.add("fadeOut"),{dispose:c}}dispose(){this._editor.removeContentWidget(this)}getId(){return"messageoverlay"}getDomNode(){return this._domNode}getPosition(){return{position:this._position,preference:[1,2]}}afterRender(i){this._domNode.classList.toggle("below",i===2)}}(0,I.registerEditorContribution)(u.ID,u)});var Xt=this&&this.__classPrivateFieldSet||function(q,e,L,m,k){if(m==="m")throw new TypeError("Private method is not writable");if(m==="a"&&!k)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?q!==e||!k:!e.has(q))throw new TypeError("Cannot write private member to an object whose class did not declare it");return m==="a"?k.call(q,L):k?k.value=L:e.set(q,L),L},kt=this&&this.__classPrivateFieldGet||function(q,e,L,m){if(L==="a"&&!m)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?q!==e||!m:!e.has(q))throw new TypeError("Cannot read private member from an object whose class did not declare it");return L==="m"?m:L==="a"?m.call(q):m?m.value:e.get(q)};define(te[687],ie([1,0,13,137,2,160,9,679,660]),function(q,e,L,m,k,I,w,b,C){"use strict";var u;Object.defineProperty(e,"__esModule",{value:!0}),e.CodeActionUi=void 0;let g=class extends k.Disposable{constructor(n,i,o,c,d){super();this._editor=n,this.delegate=c,this._activeCodeActions=this._register(new k.MutableDisposable),u.set(this,!1),this._codeActionWidget=new m.Lazy(()=>this._register(d.createInstance(b.CodeActionMenu,this._editor,{onSelectCodeAction:r=>we(this,void 0,void 0,function*(){this.delegate.applyCodeAction(r,!0)})}))),this._lightBulbWidget=new m.Lazy(()=>{const r=this._register(d.createInstance(C.LightBulbWidget,this._editor,i,o));return this._register(r.onClick(s=>this.showCodeActionList(s.trigger,s.actions,s,{includeDisabledActions:!1}))),r})}dispose(){Xt(this,u,!0,"f"),super.dispose()}update(n){var i,o,c,d,r;return we(this,void 0,void 0,function*(){if(n.type!==1){(i=this._lightBulbWidget.rawValue)===null||i===void 0||i.hide();return}let s;try{s=yield n.actions}catch(a){(0,L.onUnexpectedError)(a);return}if(!kt(this,u,"f"))if(this._lightBulbWidget.getValue().update(s,n.trigger,n.position),n.trigger.type===1){if((o=n.trigger.filter)===null||o===void 0?void 0:o.include){const l=this.tryGetValidActionToApply(n.trigger,s);if(l){try{this._lightBulbWidget.getValue().hide(),yield this.delegate.applyCodeAction(l,!1)}finally{s.dispose()}return}if(n.trigger.context){const h=this.getInvalidActionThatWouldHaveBeenApplied(n.trigger,s);if(h&&h.action.disabled){(c=I.MessageController.get(this._editor))===null||c===void 0||c.showMessage(h.action.disabled,n.trigger.context.position),s.dispose();return}}}const a=!!((d=n.trigger.filter)===null||d===void 0?void 0:d.include);if(n.trigger.context&&(!s.allActions.length||!a&&!s.validActions.length)){(r=I.MessageController.get(this._editor))===null||r===void 0||r.showMessage(n.trigger.context.notAvailableMessage,n.trigger.context.position),this._activeCodeActions.value=s,s.dispose();return}this._activeCodeActions.value=s,this._codeActionWidget.getValue().show(n.trigger,s,n.position,{includeDisabledActions:a})}else this._codeActionWidget.getValue().isVisible?s.dispose():this._activeCodeActions.value=s})}getInvalidActionThatWouldHaveBeenApplied(n,i){if(!!i.allActions.length&&(n.autoApply==="first"&&i.validActions.length===0||n.autoApply==="ifSingle"&&i.allActions.length===1))return i.allActions.find(({action:o})=>o.disabled)}tryGetValidActionToApply(n,i){if(!!i.validActions.length&&(n.autoApply==="first"&&i.validActions.length>0||n.autoApply==="ifSingle"&&i.validActions.length===1))return i.validActions[0]}showCodeActionList(n,i,o,c){return we(this,void 0,void 0,function*(){this._codeActionWidget.getValue().show(n,i,o,c)})}};u=new WeakMap,g=Ie([pe(4,w.IInstantiationService)],g),e.CodeActionUi=g}),define(te[294],ie([1,0,21,137,2,8,15,200,24,20,159,687,160,528,26,17,9,79,39,73,90,680,155]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s,a,l,h,f){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AutoFixAction=e.FixAllAction=e.OrganizeImportsAction=e.SourceAction=e.RefactorAction=e.CodeActionCommand=e.QuickFixAction=e.applyCodeAction=e.QuickFixController=void 0;function S(P){return c.ContextKeyExpr.regex(h.SUPPORTED_CODE_ACTIONS.keys()[0],new RegExp("(\\s|^)"+(0,I.escapeRegExpCharacters)(P.value)+"\\b"))}const v={type:"object",defaultSnippets:[{body:{kind:""}}],properties:{kind:{type:"string",description:i.localize(0,null)},apply:{type:"string",description:i.localize(1,null),default:"ifSingle",enum:["first","ifSingle","never"],enumDescriptions:[i.localize(2,null),i.localize(3,null),i.localize(4,null)]},preferred:{type:"boolean",default:!1,description:i.localize(5,null)}}};let p=class Di extends k.Disposable{constructor(F,W,R,z,j,$){super();this._instantiationService=j,this._editor=F,this._model=this._register(new h.CodeActionModel(this._editor,$.codeActionProvider,W,R,z)),this._register(this._model.onDidChangeState(G=>this.update(G))),this._ui=new m.Lazy(()=>this._register(new t.CodeActionUi(F,N.Id,A.Id,{applyCodeAction:(G,J)=>we(this,void 0,void 0,function*(){try{yield this._applyCodeAction(G)}finally{J&&this._trigger({type:2,filter:{}})}})},this._instantiationService)))}static get(F){return F.getContribution(Di.ID)}update(F){this._ui.getValue().update(F)}showCodeActions(F,W,R){return this._ui.getValue().showCodeActionList(F,W,R,{includeDisabledActions:!1})}manualTriggerAtCurrentPosition(F,W,R){var z;if(!this._editor.hasModel())return;(z=n.MessageController.get(this._editor))===null||z===void 0||z.closeMessage();const j=this._editor.getPosition();this._trigger({type:1,filter:W,autoApply:R,context:{notAvailableMessage:F,position:j}})}_trigger(F){return this._model.trigger(F)}_applyCodeAction(F){return this._instantiationService.invokeFunction(_,F,this._editor)}};p.ID="editor.contrib.quickFixController",p=Ie([pe(1,r.IMarkerService),pe(2,c.IContextKeyService),pe(3,a.IEditorProgressService),pe(4,d.IInstantiationService),pe(5,u.ILanguageFeaturesService)],p),e.QuickFixController=p;function _(P,F,W){return we(this,void 0,void 0,function*(){const R=P.get(b.IBulkEditService),z=P.get(o.ICommandService),j=P.get(l.ITelemetryService),$=P.get(s.INotificationService);if(j.publicLog2("codeAction.applyCodeAction",{codeActionTitle:F.action.title,codeActionKind:F.action.kind,codeActionIsPreferred:!!F.action.isPreferred}),yield F.resolve(L.CancellationToken.None),F.action.edit&&(yield R.apply(b.ResourceEdit.convert(F.action.edit),{editor:W,label:F.action.title})),F.action.command)try{yield z.executeCommand(F.action.command.id,...F.action.command.arguments||[])}catch(G){const J=y(G);$.error(typeof J=="string"?J:i.localize(6,null))}})}e.applyCodeAction=_;function y(P){return typeof P=="string"?P:P instanceof Error&&typeof P.message=="string"?P.message:void 0}function E(P,F,W,R){if(P.hasModel()){const z=p.get(P);z&&z.manualTriggerAtCurrentPosition(F,W,R)}}class N extends w.EditorAction{constructor(){super({id:N.Id,label:i.localize(7,null),alias:"Quick Fix...",precondition:c.ContextKeyExpr.and(C.EditorContextKeys.writable,C.EditorContextKeys.hasCodeActionsProvider),kbOpts:{kbExpr:C.EditorContextKeys.editorTextFocus,primary:2048|84,weight:100}})}run(F,W){return E(W,i.localize(8,null),void 0,void 0)}}e.QuickFixAction=N,N.Id="editor.action.quickFix";class D extends w.EditorCommand{constructor(){super({id:g.codeActionCommandId,precondition:c.ContextKeyExpr.and(C.EditorContextKeys.writable,C.EditorContextKeys.hasCodeActionsProvider),description:{description:"Trigger a code action",args:[{name:"args",schema:v}]}})}runEditorCommand(F,W,R){const z=f.CodeActionCommandArgs.fromUser(R,{kind:f.CodeActionKind.Empty,apply:"ifSingle"});return E(W,typeof(R==null?void 0:R.kind)=="string"?z.preferred?i.localize(9,null,R.kind):i.localize(10,null,R.kind):z.preferred?i.localize(11,null):i.localize(12,null),{include:z.kind,includeSourceActions:!0,onlyIncludePreferredActions:z.preferred},z.apply)}}e.CodeActionCommand=D;class M extends w.EditorAction{constructor(){super({id:g.refactorCommandId,label:i.localize(13,null),alias:"Refactor...",precondition:c.ContextKeyExpr.and(C.EditorContextKeys.writable,C.EditorContextKeys.hasCodeActionsProvider),kbOpts:{kbExpr:C.EditorContextKeys.editorTextFocus,primary:2048|1024|48,mac:{primary:256|1024|48},weight:100},contextMenuOpts:{group:"1_modification",order:2,when:c.ContextKeyExpr.and(C.EditorContextKeys.writable,S(f.CodeActionKind.Refactor))},description:{description:"Refactor...",args:[{name:"args",schema:v}]}})}run(F,W,R){const z=f.CodeActionCommandArgs.fromUser(R,{kind:f.CodeActionKind.Refactor,apply:"never"});return E(W,typeof(R==null?void 0:R.kind)=="string"?z.preferred?i.localize(14,null,R.kind):i.localize(15,null,R.kind):z.preferred?i.localize(16,null):i.localize(17,null),{include:f.CodeActionKind.Refactor.contains(z.kind)?z.kind:f.CodeActionKind.None,onlyIncludePreferredActions:z.preferred},z.apply)}}e.RefactorAction=M;class B extends w.EditorAction{constructor(){super({id:g.sourceActionCommandId,label:i.localize(18,null),alias:"Source Action...",precondition:c.ContextKeyExpr.and(C.EditorContextKeys.writable,C.EditorContextKeys.hasCodeActionsProvider),contextMenuOpts:{group:"1_modification",order:2.1,when:c.ContextKeyExpr.and(C.EditorContextKeys.writable,S(f.CodeActionKind.Source))},description:{description:"Source Action...",args:[{name:"args",schema:v}]}})}run(F,W,R){const z=f.CodeActionCommandArgs.fromUser(R,{kind:f.CodeActionKind.Source,apply:"never"});return E(W,typeof(R==null?void 0:R.kind)=="string"?z.preferred?i.localize(19,null,R.kind):i.localize(20,null,R.kind):z.preferred?i.localize(21,null):i.localize(22,null),{include:f.CodeActionKind.Source.contains(z.kind)?z.kind:f.CodeActionKind.None,includeSourceActions:!0,onlyIncludePreferredActions:z.preferred},z.apply)}}e.SourceAction=B;class O extends w.EditorAction{constructor(){super({id:g.organizeImportsCommandId,label:i.localize(23,null),alias:"Organize Imports",precondition:c.ContextKeyExpr.and(C.EditorContextKeys.writable,S(f.CodeActionKind.SourceOrganizeImports)),kbOpts:{kbExpr:C.EditorContextKeys.editorTextFocus,primary:1024|512|45,weight:100}})}run(F,W){return E(W,i.localize(24,null),{include:f.CodeActionKind.SourceOrganizeImports,includeSourceActions:!0},"ifSingle")}}e.OrganizeImportsAction=O;class T extends w.EditorAction{constructor(){super({id:g.fixAllCommandId,label:i.localize(25,null),alias:"Fix All",precondition:c.ContextKeyExpr.and(C.EditorContextKeys.writable,S(f.CodeActionKind.SourceFixAll))})}run(F,W){return E(W,i.localize(26,null),{include:f.CodeActionKind.SourceFixAll,includeSourceActions:!0},"ifSingle")}}e.FixAllAction=T;class A extends w.EditorAction{constructor(){super({id:A.Id,label:i.localize(27,null),alias:"Auto Fix...",precondition:c.ContextKeyExpr.and(C.EditorContextKeys.writable,S(f.CodeActionKind.QuickFix)),kbOpts:{kbExpr:C.EditorContextKeys.editorTextFocus,primary:512|1024|84,mac:{primary:2048|512|84},weight:100}})}run(F,W){return E(W,i.localize(28,null),{include:f.CodeActionKind.QuickFix,onlyIncludePreferredActions:!0},"ifSingle")}}e.AutoFixAction=A,A.Id="editor.action.autoFix"}),define(te[688],ie([1,0,15,294]),function(q,e,L,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),(0,L.registerEditorContribution)(m.QuickFixController.ID,m.QuickFixController),(0,L.registerEditorAction)(m.QuickFixAction),(0,L.registerEditorAction)(m.RefactorAction),(0,L.registerEditorAction)(m.SourceAction),(0,L.registerEditorAction)(m.OrganizeImportsAction),(0,L.registerEditorAction)(m.AutoFixAction),(0,L.registerEditorAction)(m.FixAllAction),(0,L.registerEditorCommand)(new m.CodeActionCommand)}),define(te[689],ie([1,0,46,10,21,13,2,19,25,108,15,200,29,11,3,24,156,160,571,105,17,9,66,39,73,36,666,20]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s,a,l,h,f,S,v,p,_,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RenameAction=e.rename=void 0;class E{constructor(T,A,P){this.model=T,this.position=A,this._providerRenameIdx=0,this._providers=P.ordered(T)}hasProvider(){return this._providers.length>0}resolveRenameLocation(T){return we(this,void 0,void 0,function*(){const A=[];for(this._providerRenameIdx=0;this._providerRenameIdx<this._providers.length;this._providerRenameIdx++){const F=this._providers[this._providerRenameIdx];if(!F.resolveRenameLocation)break;let W=yield F.resolveRenameLocation(this.model,this.position,T);if(!!W){if(W.rejectReason){A.push(W.rejectReason);continue}return W}}const P=this.model.getWordAtPosition(this.position);return P?{range:new o.Range(this.position.lineNumber,P.startColumn,this.position.lineNumber,P.endColumn),text:P.word,rejectReason:A.length>0?A.join(`
+`):void 0}:{range:o.Range.fromPositions(this.position),text:"",rejectReason:A.length>0?A.join(`
+`):void 0}})}provideRenameEdits(T,A){return we(this,void 0,void 0,function*(){return this._provideRenameEdits(T,this._providerRenameIdx,[],A)})}_provideRenameEdits(T,A,P,F){return we(this,void 0,void 0,function*(){const W=this._providers[A];if(!W)return{edits:[],rejectReason:P.join(`
+`)};const R=yield W.provideRenameEdits(this.model,this.position,T,F);if(R){if(R.rejectReason)return this._provideRenameEdits(T,A+1,P.concat(R.rejectReason),F)}else return this._provideRenameEdits(T,A+1,P.concat(s.localize(0,null)),F);return R})}}function N(O,T,A,P){return we(this,void 0,void 0,function*(){const F=new E(T,A,O),W=yield F.resolveRenameLocation(k.CancellationToken.None);return(W==null?void 0:W.rejectReason)?{edits:[],rejectReason:W.rejectReason}:F.provideRenameEdits(P,k.CancellationToken.None)})}e.rename=N;let D=class ki{constructor(T,A,P,F,W,R,z,j){this.editor=T,this._instaService=A,this._notificationService=P,this._bulkEditService=F,this._progressService=W,this._logService=R,this._configService=z,this._languageFeaturesService=j,this._dispoableStore=new w.DisposableStore,this._cts=new k.CancellationTokenSource,this._renameInputField=this._dispoableStore.add(new m.IdleValue(()=>this._dispoableStore.add(this._instaService.createInstance(_.RenameInputField,this.editor,["acceptRenameInput","acceptRenameInputWithPreview"]))))}static get(T){return T.getContribution(ki.ID)}dispose(){this._dispoableStore.dispose(),this._cts.dispose(!0)}run(){var T,A;return we(this,void 0,void 0,function*(){if(this._cts.dispose(!0),!this.editor.hasModel())return;const P=this.editor.getPosition(),F=new E(this.editor.getModel(),P,this._languageFeaturesService.renameProvider);if(!F.hasProvider())return;this._cts=new u.EditorStateCancellationTokenSource(this.editor,4|1);let W;try{const re=F.resolveRenameLocation(this._cts.token);this._progressService.showWhile(re,250),W=yield re}catch(re){(T=r.MessageController.get(this.editor))===null||T===void 0||T.showMessage(re||s.localize(1,null),P);return}if(!W)return;if(W.rejectReason){(A=r.MessageController.get(this.editor))===null||A===void 0||A.showMessage(W.rejectReason,P);return}if(this._cts.token.isCancellationRequested)return;this._cts.dispose(),this._cts=new u.EditorStateCancellationTokenSource(this.editor,4|1,W.range);let R=this.editor.getSelection(),z=0,j=W.text.length;!o.Range.isEmpty(R)&&!o.Range.spansMultipleLines(R)&&o.Range.containsRange(W.range,R)&&(z=Math.max(0,R.startColumn-W.range.startColumn),j=Math.min(W.range.endColumn,R.endColumn)-W.range.startColumn);const $=this._bulkEditService.hasPreviewHandler()&&this._configService.getValue(this.editor.getModel().uri,"editor.rename.enablePreview"),G=yield this._renameInputField.value.getInput(W.range,W.text,z,j,$,this._cts.token);if(typeof G=="boolean"){G&&this.editor.focus();return}this.editor.focus();const J=(0,m.raceCancellation)(F.provideRenameEdits(G.newName,this._cts.token),this._cts.token).then(re=>we(this,void 0,void 0,function*(){if(!(!re||!this.editor.hasModel())){if(re.rejectReason){this._notificationService.info(re.rejectReason);return}this.editor.setSelection(o.Range.fromPositions(this.editor.getSelection().getPosition())),this._bulkEditService.apply(t.ResourceEdit.convert(re),{editor:this.editor,showPreview:G.wantsPreview,label:s.localize(2,null,W==null?void 0:W.text),quotableLabel:s.localize(3,null,W==null?void 0:W.text)}).then(se=>{se.ariaSummary&&(0,L.alert)(s.localize(4,null,W.text,G.newName,se.ariaSummary))}).catch(se=>{this._notificationService.error(s.localize(5,null)),this._logService.error(se)})}}),re=>{this._notificationService.error(s.localize(6,null)),this._logService.error(re)});return this._progressService.showWhile(J,250),J})}acceptRenameInput(T){this._renameInputField.value.acceptInput(T)}cancelRenameInput(){this._renameInputField.value.cancelInput(!0)}};D.ID="editor.contrib.renameController",D=Ie([pe(1,h.IInstantiationService),pe(2,S.INotificationService),pe(3,t.IBulkEditService),pe(4,v.IEditorProgressService),pe(5,f.ILogService),pe(6,d.ITextResourceConfigurationService),pe(7,y.ILanguageFeaturesService)],D);class M extends g.EditorAction{constructor(){super({id:"editor.action.rename",label:s.localize(7,null),alias:"Rename Symbol",precondition:l.ContextKeyExpr.and(c.EditorContextKeys.writable,c.EditorContextKeys.hasRenameProvider),kbOpts:{kbExpr:c.EditorContextKeys.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:"1_modification",order:1.1}})}runCommand(T,A){const P=T.get(n.ICodeEditorService),[F,W]=Array.isArray(A)&&A||[void 0,void 0];return C.URI.isUri(F)&&i.Position.isIPosition(W)?P.openCodeEditor({resource:F},P.getActiveCodeEditor()).then(R=>{!R||(R.setPosition(W),R.invokeWithinContext(z=>(this.reportTelemetry(z,R),this.run(z,R))))},I.onUnexpectedError):super.runCommand(T,A)}run(T,A){const P=D.get(A);return P?P.run():Promise.resolve()}}e.RenameAction=M,(0,g.registerEditorContribution)(D.ID,D),(0,g.registerEditorAction)(M);const B=g.EditorCommand.bindToContribution(D.get);(0,g.registerEditorCommand)(new B({id:"acceptRenameInput",precondition:_.CONTEXT_RENAME_INPUT_VISIBLE,handler:O=>O.acceptRenameInput(!1),kbOpts:{weight:100+99,kbExpr:c.EditorContextKeys.focus,primary:3}})),(0,g.registerEditorCommand)(new B({id:"acceptRenameInputWithPreview",precondition:l.ContextKeyExpr.and(_.CONTEXT_RENAME_INPUT_VISIBLE,l.ContextKeyExpr.has("config.editor.rename.enablePreview")),handler:O=>O.acceptRenameInput(!0),kbOpts:{weight:100+99,kbExpr:c.EditorContextKeys.focus,primary:1024+3}})),(0,g.registerEditorCommand)(new B({id:"cancelRenameInput",precondition:_.CONTEXT_RENAME_INPUT_VISIBLE,handler:O=>O.cancelRenameInput(),kbOpts:{weight:100+99,kbExpr:c.EditorContextKeys.focus,primary:9,secondary:[1024|9]}})),(0,g.registerModelAndPositionCommand)("_executeDocumentRenameProvider",function(O,T,A,...P){const[F]=P;(0,b.assertType)(typeof F=="string");const{renameProvider:W}=O.get(y.ILanguageFeaturesService);return N(W,T,A,F)}),(0,g.registerModelAndPositionCommand)("_executePrepareRename",function(O,T,A){return we(this,void 0,void 0,function*(){const{renameProvider:P}=O.get(y.ILanguageFeaturesService),W=yield new E(T,A,P).resolveRenameLocation(k.CancellationToken.None);if(W==null?void 0:W.rejectReason)throw new Error(W.rejectReason);return W})}),p.Registry.as(a.Extensions.Configuration).registerConfiguration({id:"editor",properties:{"editor.rename.enablePreview":{scope:5,description:s.localize(8,null),default:!0,type:"boolean"}}})}),define(te[690],ie([1,0,18,21,13,15,11,3,22,24,264,471,573,37,26,20,56,19,25]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.provideSelectionRanges=void 0;class a{constructor(_,y){this.index=_,this.ranges=y}mov(_){let y=this.index+(_?1:-1);if(y<0||y>=this.ranges.length)return this;const E=new a(y,this.ranges);return E.ranges[y].equalsRange(this.ranges[this.index])?E.mov(_):E}}let l=class Ni{constructor(_,y){this._editor=_,this._languageFeaturesService=y,this._ignoreSelection=!1}static get(_){return _.getContribution(Ni.ID)}dispose(){var _;(_=this._selectionListener)===null||_===void 0||_.dispose()}run(_){return we(this,void 0,void 0,function*(){if(!this._editor.hasModel())return;const y=this._editor.getSelections(),E=this._editor.getModel();if(this._state||(yield v(this._languageFeaturesService.selectionRangeProvider,E,y.map(D=>D.getPosition()),this._editor.getOption(102),m.CancellationToken.None).then(D=>{var M;if(!(!L.isNonEmptyArray(D)||D.length!==y.length)&&!(!this._editor.hasModel()||!L.equals(this._editor.getSelections(),y,(B,O)=>B.equalsSelection(O)))){for(let B=0;B<D.length;B++)D[B]=D[B].filter(O=>O.containsPosition(y[B].getStartPosition())&&O.containsPosition(y[B].getEndPosition())),D[B].unshift(y[B]);this._state=D.map(B=>new a(0,B)),(M=this._selectionListener)===null||M===void 0||M.dispose(),this._selectionListener=this._editor.onDidChangeCursorPosition(()=>{var B;this._ignoreSelection||((B=this._selectionListener)===null||B===void 0||B.dispose(),this._state=void 0)})}})),!this._state)return;this._state=this._state.map(D=>D.mov(_));const N=this._state.map(D=>C.Selection.fromPositions(D.ranges[D.index].getStartPosition(),D.ranges[D.index].getEndPosition()));this._ignoreSelection=!0;try{this._editor.setSelections(N)}finally{this._ignoreSelection=!1}})}};l.ID="editor.contrib.smartSelectController",l=Ie([pe(1,c.ILanguageFeaturesService)],l);class h extends I.EditorAction{constructor(_,y){super(y);this._forward=_}run(_,y){return we(this,void 0,void 0,function*(){let E=l.get(y);E&&(yield E.run(this._forward))})}}class f extends h{constructor(){super(!0,{id:"editor.action.smartSelect.expand",label:n.localize(0,null),alias:"Expand Selection",precondition:void 0,kbOpts:{kbExpr:u.EditorContextKeys.editorTextFocus,primary:1024|512|17,mac:{primary:2048|256|1024|17,secondary:[256|1024|17]},weight:100},menuOpts:{menuId:i.MenuId.MenubarSelectionMenu,group:"1_basic",title:n.localize(1,null),order:2}})}}o.CommandsRegistry.registerCommandAlias("editor.action.smartSelect.grow","editor.action.smartSelect.expand");class S extends h{constructor(){super(!1,{id:"editor.action.smartSelect.shrink",label:n.localize(2,null),alias:"Shrink Selection",precondition:void 0,kbOpts:{kbExpr:u.EditorContextKeys.editorTextFocus,primary:1024|512|15,mac:{primary:2048|256|1024|15,secondary:[256|1024|15]},weight:100},menuOpts:{menuId:i.MenuId.MenubarSelectionMenu,group:"1_basic",title:n.localize(3,null),order:3}})}}(0,I.registerEditorContribution)(l.ID,l),(0,I.registerEditorAction)(f),(0,I.registerEditorAction)(S);function v(p,_,y,E,N){return we(this,void 0,void 0,function*(){const D=p.all(_).concat(new t.WordSelectionRangeProvider);D.length===1&&D.unshift(new g.BracketSelectionRangeProvider);let M=[],B=[];for(const O of D)M.push(Promise.resolve(O.provideSelectionRanges(_,y,N)).then(T=>{if(L.isNonEmptyArray(T)&&T.length===y.length)for(let A=0;A<y.length;A++){B[A]||(B[A]=[]);for(const P of T[A])b.Range.isIRange(P.range)&&b.Range.containsPosition(P.range,y[A])&&B[A].push(b.Range.lift(P.range))}},k.onUnexpectedExternalError));return yield Promise.all(M),B.map(O=>{if(O.length===0)return[];O.sort((F,W)=>w.Position.isBefore(F.getStartPosition(),W.getStartPosition())?1:w.Position.isBefore(W.getStartPosition(),F.getStartPosition())||w.Position.isBefore(F.getEndPosition(),W.getEndPosition())?-1:w.Position.isBefore(W.getEndPosition(),F.getEndPosition())?1:0);let T=[],A;for(const F of O)(!A||b.Range.containsRange(F,A)&&!b.Range.equalsRange(F,A))&&(T.push(F),A=F);if(!E.selectLeadingAndTrailingWhitespace)return T;let P=[T[0]];for(let F=1;F<T.length;F++){const W=T[F-1],R=T[F];if(R.startLineNumber!==W.startLineNumber||R.endLineNumber!==W.endLineNumber){const z=new b.Range(W.startLineNumber,_.getLineFirstNonWhitespaceColumn(W.startLineNumber),W.endLineNumber,_.getLineLastNonWhitespaceColumn(W.endLineNumber));z.containsRange(W)&&!z.equalsRange(W)&&R.containsRange(z)&&!R.equalsRange(z)&&P.push(z);const j=new b.Range(W.startLineNumber,1,W.endLineNumber,_.getLineMaxColumn(W.endLineNumber));j.containsRange(W)&&!j.equalsRange(z)&&R.containsRange(j)&&!R.equalsRange(j)&&P.push(j)}P.push(R)}return P})})}e.provideSelectionRanges=v,o.CommandsRegistry.registerCommand("_executeSelectionRangeProvider",function(p,..._){return we(this,void 0,void 0,function*(){const[y,E]=_;(0,r.assertType)(s.URI.isUri(y));const N=p.get(c.ILanguageFeaturesService).selectionRangeProvider,D=yield p.get(d.ITextModelService).createModelReference(y);try{return v(N,D.object.textEditorModel,E,{selectLeadingAndTrailingWhitespace:!0},m.CancellationToken.None)}finally{D.dispose()}})})}),define(te[109],ie([1,0,21,13,75,2,55,19,25,11,3,56,127,576,37,26,17,20,283]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.showSimpleSuggestions=e.getSuggestionComparator=e.provideSuggestionItems=e.CompletionItemModel=e.getSnippetSuggestSupport=e.CompletionOptions=e.CompletionItem=e.suggestWidgetStatusbarMenu=e.Context=void 0,e.Context={Visible:s.historyNavigationVisible,DetailsVisible:new d.RawContextKey("suggestWidgetDetailsVisible",!1,(0,i.localize)(0,null)),MultipleSuggestions:new d.RawContextKey("suggestWidgetMultipleSuggestions",!1,(0,i.localize)(1,null)),MakesTextEdit:new d.RawContextKey("suggestionMakesTextEdit",!0,(0,i.localize)(2,null)),AcceptSuggestionsOnEnter:new d.RawContextKey("acceptSuggestionOnEnter",!0,(0,i.localize)(3,null)),HasInsertAndReplaceRange:new d.RawContextKey("suggestionHasInsertAndReplaceRange",!1,(0,i.localize)(4,null)),InsertMode:new d.RawContextKey("suggestionInsertMode",void 0,{type:"string",description:(0,i.localize)(5,null)}),CanResolve:new d.RawContextKey("suggestionCanResolve",!1,(0,i.localize)(6,null))},e.suggestWidgetStatusbarMenu=new o.MenuId("suggestWidgetStatusBar");class a{constructor(T,A,P,F){this.position=T,this.completion=A,this.container=P,this.provider=F,this.isInvalid=!1,this.score=k.FuzzyScore.Default,this.distance=0,this.textLabel=typeof A.label=="string"?A.label:A.label.label,this.labelLow=this.textLabel.toLowerCase(),this.isInvalid=!this.textLabel,this.sortTextLow=A.sortText&&A.sortText.toLowerCase(),this.filterTextLow=A.filterText&&A.filterText.toLowerCase(),g.Range.isIRange(A.range)?(this.editStart=new u.Position(A.range.startLineNumber,A.range.startColumn),this.editInsertEnd=new u.Position(A.range.endLineNumber,A.range.endColumn),this.editReplaceEnd=new u.Position(A.range.endLineNumber,A.range.endColumn),this.isInvalid=this.isInvalid||g.Range.spansMultipleLines(A.range)||A.range.startLineNumber!==T.lineNumber):(this.editStart=new u.Position(A.range.insert.startLineNumber,A.range.insert.startColumn),this.editInsertEnd=new u.Position(A.range.insert.endLineNumber,A.range.insert.endColumn),this.editReplaceEnd=new u.Position(A.range.replace.endLineNumber,A.range.replace.endColumn),this.isInvalid=this.isInvalid||g.Range.spansMultipleLines(A.range.insert)||g.Range.spansMultipleLines(A.range.replace)||A.range.insert.startLineNumber!==T.lineNumber||A.range.replace.startLineNumber!==T.lineNumber||A.range.insert.startColumn!==A.range.replace.startColumn),typeof F.resolveCompletionItem!="function"&&(this._resolveCache=Promise.resolve(),this._isResolved=!0)}get isResolved(){return!!this._isResolved}resolve(T){return we(this,void 0,void 0,function*(){if(!this._resolveCache){const A=T.onCancellationRequested(()=>{this._resolveCache=void 0,this._isResolved=!1});this._resolveCache=Promise.resolve(this.provider.resolveCompletionItem(this.completion,T)).then(P=>{Object.assign(this.completion,P),this._isResolved=!0,A.dispose()},P=>{(0,m.isCancellationError)(P)&&(this._resolveCache=void 0,this._isResolved=!1)})}return this._resolveCache})}}e.CompletionItem=a;class l{constructor(T=2,A=new Set,P=new Set,F=!0){this.snippetSortOrder=T,this.kindFilter=A,this.providerFilter=P,this.showDeprecated=F}}e.CompletionOptions=l,l.default=new l;let h;function f(){return h}e.getSnippetSuggestSupport=f;class S{constructor(T,A,P,F){this.items=T,this.needsClipboard=A,this.durations=P,this.disposable=F}}e.CompletionItemModel=S;function v(O,T,A,P=l.default,F={triggerKind:0},W=L.CancellationToken.None){return we(this,void 0,void 0,function*(){const R=new w.StopWatch(!0);A=A.clone();const z=T.getWordAtPosition(A),j=z?new g.Range(A.lineNumber,z.startColumn,A.lineNumber,z.endColumn):g.Range.fromPositions(A),$={replace:j,insert:j.setEndPosition(A.lineNumber,A.column)},G=[],J=new I.DisposableStore,re=[];let se=!1;const Z=(K,X,oe)=>{var ae,ee,ue;let le=!1;if(!X)return le;for(let x of X.suggestions)if(!P.kindFilter.has(x.kind)){if(!P.showDeprecated&&((ae=x==null?void 0:x.tags)===null||ae===void 0?void 0:ae.includes(1)))continue;x.range||(x.range=$),x.sortText||(x.sortText=typeof x.label=="string"?x.label:x.label.label),!se&&x.insertTextRules&&x.insertTextRules&4&&(se=n.SnippetParser.guessNeedsClipboard(x.insertText)),G.push(new a(A,x,X,K)),le=!0}return(0,I.isDisposable)(X)&&J.add(X),re.push({providerName:(ee=K._debugDisplayName)!==null&&ee!==void 0?ee:"unknown_provider",elapsedProvider:(ue=X.duration)!==null&&ue!==void 0?ue:-1,elapsedOverall:oe.elapsed()}),le},V=(()=>we(this,void 0,void 0,function*(){if(!h||P.kindFilter.has(27)||P.providerFilter.size>0&&!P.providerFilter.has(h))return;const K=new w.StopWatch(!0),X=yield h.provideCompletionItems(T,A,F,W);Z(h,X,K)}))();for(let K of O.orderedGroups(T)){let X=!1;if(yield Promise.all(K.map(oe=>we(this,void 0,void 0,function*(){if(!(P.providerFilter.size>0&&!P.providerFilter.has(oe)))try{const ae=new w.StopWatch(!0),ee=yield oe.provideCompletionItems(T,A,F,W);X=Z(oe,ee,ae)||X}catch(ae){(0,m.onUnexpectedExternalError)(ae)}}))),X||W.isCancellationRequested)break}return yield V,W.isCancellationRequested?(J.dispose(),Promise.reject((0,m.canceled)())):new S(G.sort(N(P.snippetSortOrder)),se,{entries:re,elapsed:R.elapsed()},J)})}e.provideSuggestionItems=v;function p(O,T){if(O.sortTextLow&&T.sortTextLow){if(O.sortTextLow<T.sortTextLow)return-1;if(O.sortTextLow>T.sortTextLow)return 1}return O.completion.label<T.completion.label?-1:O.completion.label>T.completion.label?1:O.completion.kind-T.completion.kind}function _(O,T){if(O.completion.kind!==T.completion.kind){if(O.completion.kind===27)return-1;if(T.completion.kind===27)return 1}return p(O,T)}function y(O,T){if(O.completion.kind!==T.completion.kind){if(O.completion.kind===27)return 1;if(T.completion.kind===27)return-1}return p(O,T)}const E=new Map;E.set(0,_),E.set(2,y),E.set(1,p);function N(O){return E.get(O)}e.getSuggestionComparator=N,c.CommandsRegistry.registerCommand("_executeCompletionItemProvider",(O,...T)=>we(void 0,void 0,void 0,function*(){const[A,P,F,W]=T;(0,b.assertType)(C.URI.isUri(A)),(0,b.assertType)(u.Position.isIPosition(P)),(0,b.assertType)(typeof F=="string"||!F),(0,b.assertType)(typeof W=="number"||!W);const{completionProvider:R}=O.get(r.ILanguageFeaturesService),z=yield O.get(t.ITextModelService).createModelReference(A);try{const j={incomplete:!1,suggestions:[]},$=[],G=yield v(R,z.object.textEditorModel,u.Position.lift(P),void 0,{triggerCharacter:F,triggerKind:F?1:0});for(const J of G.items)$.length<(W??0)&&$.push(J.resolve(L.CancellationToken.None)),j.incomplete=j.incomplete||J.container.incomplete,j.suggestions.push(J.completion);try{return yield Promise.all($),j}finally{setTimeout(()=>G.disposable.dispose(),100)}}finally{z.dispose()}}));let D,M=[];function B(O,T,A){const{completionProvider:P}=O.get(r.ILanguageFeaturesService);D||(D=new class{provideCompletionItems(){let W={suggestions:M.slice(0)};return M.length=0,W}},P.register("*",D)),setTimeout(()=>{var F;M.push(...A),(F=T.getContribution("editor.contrib.suggestController"))===null||F===void 0||F.triggerSuggest(new Set().add(D))},0)}e.showSimpleSuggestions=B}),define(te[295],ie([1,0,46,234,15,583]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ToggleTabFocusModeAction=void 0;class w extends k.EditorAction{constructor(){super({id:w.ID,label:I.localize(0,null),alias:"Toggle Tab Key Moves Focus",precondition:void 0,kbOpts:{kbExpr:null,primary:2048|43,mac:{primary:256|1024|43},weight:100}})}run(C,u){const t=!m.TabFocus.getTabFocusMode();m.TabFocus.setTabFocusMode(t),t?(0,L.alert)(I.localize(1,null)):(0,L.alert)(I.localize(2,null))}}e.ToggleTabFocusModeAction=w,w.ID="editor.action.toggleTabFocusMode",(0,k.registerEditorAction)(w)}),define(te[691],ie([1,0,55,15,584]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0});class I extends m.EditorAction{constructor(){super({id:"editor.action.forceRetokenize",label:k.localize(0,null),alias:"Developer: Force Retokenize",precondition:void 0})}run(b,C){if(!C.hasModel())return;const u=C.getModel();u.resetTokenization();const g=new L.StopWatch(!0);u.forceTokenization(u.getLineCount()),g.stop(),console.log(`tokenization took ${g.elapsed()}`)}}(0,m.registerEditorAction)(I)}),define(te[692],ie([1,0,2,42,15,29,586,130]),function(q,e,L,m,k,I,w,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UnusualLineTerminatorsDetector=void 0;const C="ignoreUnusualLineTerminators";function u(n,i,o){n.setModelProperty(i.uri,C,o)}function g(n,i){return n.getModelProperty(i.uri,C)}let t=class extends L.Disposable{constructor(i,o,c){super();this._editor=i,this._dialogService=o,this._codeEditorService=c,this._config=this._editor.getOption(114),this._register(this._editor.onDidChangeConfiguration(d=>{d.hasChanged(114)&&(this._config=this._editor.getOption(114),this._checkForUnusualLineTerminators())})),this._register(this._editor.onDidChangeModel(()=>{this._checkForUnusualLineTerminators()})),this._register(this._editor.onDidChangeModelContent(d=>{d.isUndoing||this._checkForUnusualLineTerminators()}))}_checkForUnusualLineTerminators(){return we(this,void 0,void 0,function*(){if(this._config==="off"||!this._editor.hasModel())return;const i=this._editor.getModel();if(!i.mightContainUnusualLineTerminators()||g(this._codeEditorService,i)===!0||this._editor.getOption(81))return;if(this._config==="auto"){i.removeUnusualLineTerminators(this._editor.getSelections());return}if(!(yield this._dialogService.confirm({title:w.localize(0,null),message:w.localize(1,null),detail:w.localize(2,null,(0,m.basename)(i.uri)),primaryButton:w.localize(3,null),secondaryButton:w.localize(4,null)})).confirmed){u(this._codeEditorService,i,!0);return}i.removeUnusualLineTerminators(this._editor.getSelections())})}};t.ID="editor.contrib.unusualLineTerminatorsDetector",t=Ie([pe(1,b.IDialogService),pe(2,I.ICodeEditorService)],t),e.UnusualLineTerminatorsDetector=t,(0,k.registerEditorContribution)(t.ID,t)}),define(te[296],ie([1,0,15,100,32,61,151,120,11,3,22,24,33,588,65,17,278]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DeleteInsideWord=e.DeleteWordRight=e.DeleteWordEndRight=e.DeleteWordStartRight=e.DeleteWordLeft=e.DeleteWordEndLeft=e.DeleteWordStartLeft=e.DeleteWordRightCommand=e.DeleteWordLeftCommand=e.DeleteWordCommand=e.CursorWordAccessibilityRightSelect=e.CursorWordAccessibilityRight=e.CursorWordRightSelect=e.CursorWordEndRightSelect=e.CursorWordStartRightSelect=e.CursorWordRight=e.CursorWordEndRight=e.CursorWordStartRight=e.CursorWordAccessibilityLeftSelect=e.CursorWordAccessibilityLeft=e.CursorWordLeftSelect=e.CursorWordEndLeftSelect=e.CursorWordStartLeftSelect=e.CursorWordLeft=e.CursorWordEndLeft=e.CursorWordStartLeft=e.WordRightCommand=e.WordLeftCommand=e.MoveWordCommand=void 0;class r extends L.EditorCommand{constructor(Z){super(Z);this._inSelectionMode=Z.inSelectionMode,this._wordNavigationType=Z.wordNavigationType}runEditorCommand(Z,V,K){if(!V.hasModel())return;const X=(0,b.getMapForWordSeparators)(V.getOption(117)),oe=V.getModel(),ee=V.getSelections().map(ue=>{const le=new C.Position(ue.positionLineNumber,ue.positionColumn),x=this._move(X,oe,le,this._wordNavigationType);return this._moveTo(ue,x,this._inSelectionMode)});if(oe.pushStackElement(),V._getViewModel().setCursorStates("moveWordCommand",3,ee.map(ue=>I.CursorState.fromModelSelection(ue))),ee.length===1){const ue=new C.Position(ee[0].positionLineNumber,ee[0].positionColumn);V.revealPosition(ue,0)}}_moveTo(Z,V,K){return K?new g.Selection(Z.selectionStartLineNumber,Z.selectionStartColumn,V.lineNumber,V.column):new g.Selection(V.lineNumber,V.column,V.lineNumber,V.column)}}e.MoveWordCommand=r;class s extends r{_move(Z,V,K,X){return w.WordOperations.moveWordLeft(Z,V,K,X)}}e.WordLeftCommand=s;class a extends r{_move(Z,V,K,X){return w.WordOperations.moveWordRight(Z,V,K,X)}}e.WordRightCommand=a;class l extends s{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}e.CursorWordStartLeft=l;class h extends s{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}e.CursorWordEndLeft=h;class f extends s{constructor(){var Z;super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:c.ContextKeyExpr.and(t.EditorContextKeys.textInputFocus,(Z=c.ContextKeyExpr.and(o.CONTEXT_ACCESSIBILITY_MODE_ENABLED,d.IsWindowsContext))===null||Z===void 0?void 0:Z.negate()),primary:2048|15,mac:{primary:512|15},weight:100}})}}e.CursorWordLeft=f;class S extends s{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}e.CursorWordStartLeftSelect=S;class v extends s{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}e.CursorWordEndLeftSelect=v;class p extends s{constructor(){var Z;super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:c.ContextKeyExpr.and(t.EditorContextKeys.textInputFocus,(Z=c.ContextKeyExpr.and(o.CONTEXT_ACCESSIBILITY_MODE_ENABLED,d.IsWindowsContext))===null||Z===void 0?void 0:Z.negate()),primary:2048|1024|15,mac:{primary:512|1024|15},weight:100}})}}e.CursorWordLeftSelect=p;class _ extends s{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(Z,V,K,X){return super._move((0,b.getMapForWordSeparators)(k.EditorOptions.wordSeparators.defaultValue),V,K,X)}}e.CursorWordAccessibilityLeft=_;class y extends s{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(Z,V,K,X){return super._move((0,b.getMapForWordSeparators)(k.EditorOptions.wordSeparators.defaultValue),V,K,X)}}e.CursorWordAccessibilityLeftSelect=y;class E extends a{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}e.CursorWordStartRight=E;class N extends a{constructor(){var Z;super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:c.ContextKeyExpr.and(t.EditorContextKeys.textInputFocus,(Z=c.ContextKeyExpr.and(o.CONTEXT_ACCESSIBILITY_MODE_ENABLED,d.IsWindowsContext))===null||Z===void 0?void 0:Z.negate()),primary:2048|17,mac:{primary:512|17},weight:100}})}}e.CursorWordEndRight=N;class D extends a{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}e.CursorWordRight=D;class M extends a{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}e.CursorWordStartRightSelect=M;class B extends a{constructor(){var Z;super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:c.ContextKeyExpr.and(t.EditorContextKeys.textInputFocus,(Z=c.ContextKeyExpr.and(o.CONTEXT_ACCESSIBILITY_MODE_ENABLED,d.IsWindowsContext))===null||Z===void 0?void 0:Z.negate()),primary:2048|1024|17,mac:{primary:512|1024|17},weight:100}})}}e.CursorWordEndRightSelect=B;class O extends a{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}e.CursorWordRightSelect=O;class T extends a{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(Z,V,K,X){return super._move((0,b.getMapForWordSeparators)(k.EditorOptions.wordSeparators.defaultValue),V,K,X)}}e.CursorWordAccessibilityRight=T;class A extends a{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(Z,V,K,X){return super._move((0,b.getMapForWordSeparators)(k.EditorOptions.wordSeparators.defaultValue),V,K,X)}}e.CursorWordAccessibilityRightSelect=A;class P extends L.EditorCommand{constructor(Z){super(Z);this._whitespaceHeuristics=Z.whitespaceHeuristics,this._wordNavigationType=Z.wordNavigationType}runEditorCommand(Z,V,K){const X=Z.get(n.ILanguageConfigurationService);if(!V.hasModel())return;const oe=(0,b.getMapForWordSeparators)(V.getOption(117)),ae=V.getModel(),ee=V.getSelections(),ue=V.getOption(5),le=V.getOption(8),x=X.getLanguageConfiguration(ae.getLanguageId()).getAutoClosingPairs(),H=V._getViewModel(),U=ee.map(Q=>{const Y=this._delete({wordSeparators:oe,model:ae,selection:Q,whitespaceHeuristics:this._whitespaceHeuristics,autoClosingDelete:V.getOption(6),autoClosingBrackets:ue,autoClosingQuotes:le,autoClosingPairs:x,autoClosedCharacters:H.getCursorAutoClosedCharacters()},this._wordNavigationType);return new m.ReplaceCommand(Y,"")});V.pushUndoStop(),V.executeCommands(this.id,U),V.pushUndoStop()}}e.DeleteWordCommand=P;class F extends P{_delete(Z,V){let K=w.WordOperations.deleteWordLeft(Z,V);return K||new u.Range(1,1,1,1)}}e.DeleteWordLeftCommand=F;class W extends P{_delete(Z,V){let K=w.WordOperations.deleteWordRight(Z,V);if(K)return K;const X=Z.model.getLineCount(),oe=Z.model.getLineMaxColumn(X);return new u.Range(X,oe,X,oe)}}e.DeleteWordRightCommand=W;class R extends F{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:t.EditorContextKeys.writable})}}e.DeleteWordStartLeft=R;class z extends F{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:t.EditorContextKeys.writable})}}e.DeleteWordEndLeft=z;class j extends F{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:t.EditorContextKeys.writable,kbOpts:{kbExpr:t.EditorContextKeys.textInputFocus,primary:2048|1,mac:{primary:512|1},weight:100}})}}e.DeleteWordLeft=j;class $ extends W{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:t.EditorContextKeys.writable})}}e.DeleteWordStartRight=$;class G extends W{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:t.EditorContextKeys.writable})}}e.DeleteWordEndRight=G;class J extends W{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:t.EditorContextKeys.writable,kbOpts:{kbExpr:t.EditorContextKeys.textInputFocus,primary:2048|20,mac:{primary:512|20},weight:100}})}}e.DeleteWordRight=J;class re extends L.EditorAction{constructor(){super({id:"deleteInsideWord",precondition:t.EditorContextKeys.writable,label:i.localize(0,null),alias:"Delete Word"})}run(Z,V,K){if(!V.hasModel())return;const X=(0,b.getMapForWordSeparators)(V.getOption(117)),oe=V.getModel(),ee=V.getSelections().map(ue=>{const le=w.WordOperations.deleteInsideWord(X,oe,ue);return new m.ReplaceCommand(le,"")});V.pushUndoStop(),V.executeCommands(this.id,ee),V.pushUndoStop()}}e.DeleteInsideWord=re,(0,L.registerEditorCommand)(new l),(0,L.registerEditorCommand)(new h),(0,L.registerEditorCommand)(new f),(0,L.registerEditorCommand)(new S),(0,L.registerEditorCommand)(new v),(0,L.registerEditorCommand)(new p),(0,L.registerEditorCommand)(new E),(0,L.registerEditorCommand)(new N),(0,L.registerEditorCommand)(new D),(0,L.registerEditorCommand)(new M),(0,L.registerEditorCommand)(new B),(0,L.registerEditorCommand)(new O),(0,L.registerEditorCommand)(new _),(0,L.registerEditorCommand)(new y),(0,L.registerEditorCommand)(new T),(0,L.registerEditorCommand)(new A),(0,L.registerEditorCommand)(new R),(0,L.registerEditorCommand)(new z),(0,L.registerEditorCommand)(new j),(0,L.registerEditorCommand)(new $),(0,L.registerEditorCommand)(new G),(0,L.registerEditorCommand)(new J),(0,L.registerEditorAction)(re)}),define(te[693],ie([1,0,15,151,3,24,296,26]),function(q,e,L,m,k,I,w,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CursorWordPartRightSelect=e.CursorWordPartRight=e.WordPartRightCommand=e.CursorWordPartLeftSelect=e.CursorWordPartLeft=e.WordPartLeftCommand=e.DeleteWordPartRight=e.DeleteWordPartLeft=void 0;class C extends w.DeleteWordCommand{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:I.EditorContextKeys.writable,kbOpts:{kbExpr:I.EditorContextKeys.textInputFocus,primary:0,mac:{primary:256|512|1},weight:100}})}_delete(r,s){let a=m.WordPartOperations.deleteWordPartLeft(r);return a||new k.Range(1,1,1,1)}}e.DeleteWordPartLeft=C;class u extends w.DeleteWordCommand{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:I.EditorContextKeys.writable,kbOpts:{kbExpr:I.EditorContextKeys.textInputFocus,primary:0,mac:{primary:256|512|20},weight:100}})}_delete(r,s){let a=m.WordPartOperations.deleteWordPartRight(r);if(a)return a;const l=r.model.getLineCount(),h=r.model.getLineMaxColumn(l);return new k.Range(l,h,l,h)}}e.DeleteWordPartRight=u;class g extends w.MoveWordCommand{_move(r,s,a,l){return m.WordPartOperations.moveWordPartLeft(r,s,a)}}e.WordPartLeftCommand=g;class t extends g{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:I.EditorContextKeys.textInputFocus,primary:0,mac:{primary:256|512|15},weight:100}})}}e.CursorWordPartLeft=t,b.CommandsRegistry.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");class n extends g{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:I.EditorContextKeys.textInputFocus,primary:0,mac:{primary:256|512|1024|15},weight:100}})}}e.CursorWordPartLeftSelect=n,b.CommandsRegistry.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class i extends w.MoveWordCommand{_move(r,s,a,l){return m.WordPartOperations.moveWordPartRight(r,s,a)}}e.WordPartRightCommand=i;class o extends i{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:I.EditorContextKeys.textInputFocus,primary:0,mac:{primary:256|512|17},weight:100}})}}e.CursorWordPartRight=o;class c extends i{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:I.EditorContextKeys.textInputFocus,primary:0,mac:{primary:256|512|1024|17},weight:100}})}}e.CursorWordPartRightSelect=c,(0,L.registerEditorCommand)(new C),(0,L.registerEditorCommand)(new u),(0,L.registerEditorCommand)(new t),(0,L.registerEditorCommand)(new n),(0,L.registerEditorCommand)(new o),(0,L.registerEditorCommand)(new c)}),define(te[694],ie([1,0,7,31,171,46,62,2,16,8,25,15,24,295,17,9,43,53,23,14,72,393]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s,a,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const h=new o.RawContextKey("accessibilityHelpWidgetVisible",!1);let f=class Ti extends b.Disposable{constructor(E,N){super();this._editor=E,this._widget=this._register(N.createInstance(v,this._editor))}static get(E){return E.getContribution(Ti.ID)}show(){this._widget.show()}hide(){this._widget.hide()}};f.ID="editor.contrib.accessibilityHelpController",f=Ie([pe(1,c.IInstantiationService)],f);function S(y,E){return!y||y.length===0?l.AccessibilityHelpNLS.noSelection:y.length===1?E?u.format(l.AccessibilityHelpNLS.singleSelectionRange,y[0].positionLineNumber,y[0].positionColumn,E):u.format(l.AccessibilityHelpNLS.singleSelection,y[0].positionLineNumber,y[0].positionColumn):E?u.format(l.AccessibilityHelpNLS.multiSelectionRange,y.length,E):y.length>0?u.format(l.AccessibilityHelpNLS.multiSelection,y.length):""}let v=class xt extends w.Widget{constructor(E,N,D,M){super();this._contextKeyService=N,this._keybindingService=D,this._openerService=M,this._editor=E,this._isVisibleKey=h.bindTo(this._contextKeyService),this._domNode=(0,m.createFastDomNode)(document.createElement("div")),this._domNode.setClassName("accessibilityHelpWidget"),this._domNode.setDisplay("none"),this._domNode.setAttribute("role","dialog"),this._domNode.setAttribute("aria-hidden","true"),this._contentDomNode=(0,m.createFastDomNode)(document.createElement("div")),this._contentDomNode.setAttribute("role","document"),this._domNode.appendChild(this._contentDomNode),this._isVisible=!1,this._register(this._editor.onDidLayoutChange(()=>{this._isVisible&&this._layout()})),this._register(L.addStandardDisposableListener(this._contentDomNode.domNode,"keydown",B=>{if(!!this._isVisible&&(B.equals(2048|35)&&((0,I.alert)(l.AccessibilityHelpNLS.emergencyConfOn),this._editor.updateOptions({accessibilitySupport:"on"}),L.clearNode(this._contentDomNode.domNode),this._buildContent(),this._contentDomNode.domNode.focus(),B.preventDefault(),B.stopPropagation()),B.equals(2048|38))){(0,I.alert)(l.AccessibilityHelpNLS.openingDocs);let O=this._editor.getRawOptions().accessibilityHelpUrl;typeof O=="undefined"&&(O="https://go.microsoft.com/fwlink/?linkid=852450"),this._openerService.open(g.URI.parse(O)),B.preventDefault(),B.stopPropagation()}})),this.onblur(this._contentDomNode.domNode,()=>{this.hide()}),this._editor.addOverlayWidget(this)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return xt.ID}getDomNode(){return this._domNode.domNode}getPosition(){return{preference:null}}show(){this._isVisible||(this._isVisible=!0,this._isVisibleKey.set(!0),this._layout(),this._domNode.setDisplay("block"),this._domNode.setAttribute("aria-hidden","false"),this._contentDomNode.domNode.tabIndex=0,this._buildContent(),this._contentDomNode.domNode.focus())}_descriptionForCommand(E,N,D){const M=this._keybindingService.lookupKeybinding(E);return M?u.format(N,M.getAriaLabel()):u.format(D,E)}_buildContent(){const E=this._editor.getOptions(),N=this._editor.getSelections();let D=0;if(N){const T=this._editor.getModel();T&&N.forEach(A=>{D+=T.getValueLengthInRange(A)})}let M=S(N,D);E.get(54)?E.get(81)?M+=l.AccessibilityHelpNLS.readonlyDiffEditor:M+=l.AccessibilityHelpNLS.editableDiffEditor:E.get(81)?M+=l.AccessibilityHelpNLS.readonlyEditor:M+=l.AccessibilityHelpNLS.editableEditor;const B=C.isMacintosh?l.AccessibilityHelpNLS.changeConfigToOnMac:l.AccessibilityHelpNLS.changeConfigToOnWinLinux;switch(E.get(2)){case 0:M+=`
+
+ - `+B;break;case 2:M+=`
+
+ - `+l.AccessibilityHelpNLS.auto_on;break;case 1:M+=`
+
+ - `+l.AccessibilityHelpNLS.auto_off,M+=" "+B;break}E.get(130)?M+=`
+
+ - `+this._descriptionForCommand(i.ToggleTabFocusModeAction.ID,l.AccessibilityHelpNLS.tabFocusModeOnMsg,l.AccessibilityHelpNLS.tabFocusModeOnMsgNoKb):M+=`
+
+ - `+this._descriptionForCommand(i.ToggleTabFocusModeAction.ID,l.AccessibilityHelpNLS.tabFocusModeOffMsg,l.AccessibilityHelpNLS.tabFocusModeOffMsgNoKb);const O=C.isMacintosh?l.AccessibilityHelpNLS.openDocMac:l.AccessibilityHelpNLS.openDocWinLinux;M+=`
+
+ - `+O,M+=`
+
+`+l.AccessibilityHelpNLS.outroMsg,this._contentDomNode.domNode.appendChild((0,k.renderFormattedText)(M)),this._contentDomNode.domNode.setAttribute("aria-label",M)}hide(){!this._isVisible||(this._isVisible=!1,this._isVisibleKey.reset(),this._domNode.setDisplay("none"),this._domNode.setAttribute("aria-hidden","true"),this._contentDomNode.domNode.tabIndex=-1,L.clearNode(this._contentDomNode.domNode),this._editor.focus())}_layout(){const E=this._editor.getLayoutInfo(),N=Math.max(5,Math.min(xt.WIDTH,E.width-40)),D=Math.max(5,Math.min(xt.HEIGHT,E.height-40));this._domNode.setWidth(N),this._domNode.setHeight(D);const M=Math.round((E.height-D)/2);this._domNode.setTop(M);const B=Math.round((E.width-N)/2);this._domNode.setLeft(B)}};v.ID="editor.contrib.accessibilityHelpWidget",v.WIDTH=500,v.HEIGHT=300,v=Ie([pe(1,o.IContextKeyService),pe(2,d.IKeybindingService),pe(3,r.IOpenerService)],v);class p extends t.EditorAction{constructor(){super({id:"editor.action.showAccessibilityHelp",label:l.AccessibilityHelpNLS.showAccessibilityHelpAction,alias:"Show Accessibility Help",precondition:void 0,kbOpts:{primary:512|59,weight:100,linux:{primary:512|1024|59,secondary:[512|59]}}})}run(E,N){const D=f.get(N);D&&D.show()}}(0,t.registerEditorContribution)(f.ID,f),(0,t.registerEditorAction)(p);const _=t.EditorCommand.bindToContribution(f.get);(0,t.registerEditorCommand)(new _({id:"closeAccessibilityHelp",precondition:h,handler:y=>y.hide(),kbOpts:{weight:100+100,kbExpr:n.EditorContextKeys.focus,primary:9,secondary:[1024|9]}})),(0,a.registerThemingParticipant)((y,E)=>{const N=y.getColor(s.editorWidgetBackground);N&&E.addRule(`.monaco-editor .accessibilityHelpWidget { background-color: ${N}; }`);const D=y.getColor(s.editorWidgetForeground);D&&E.addRule(`.monaco-editor .accessibilityHelpWidget { color: ${D}; }`);const M=y.getColor(s.widgetShadow);M&&E.addRule(`.monaco-editor .accessibilityHelpWidget { box-shadow: 0 2px 8px ${M}; }`);const B=y.getColor(s.contrastBorder);B&&E.addRule(`.monaco-editor .accessibilityHelpWidget { border: 2px solid ${B}; }`)})}),define(te[695],ie([1,0,7,2,15,16,394]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IPadShowKeyboard=void 0;class w extends m.Disposable{constructor(u){super();this.editor=u,this.widget=null,I.isIOS&&(this._register(u.onDidChangeConfiguration(()=>this.update())),this.update())}update(){const u=!this.editor.getOption(81);!this.widget&&u?this.widget=new b(this.editor):this.widget&&!u&&(this.widget.dispose(),this.widget=null)}dispose(){super.dispose(),this.widget&&(this.widget.dispose(),this.widget=null)}}e.IPadShowKeyboard=w,w.ID="editor.contrib.iPadShowKeyboard";class b extends m.Disposable{constructor(u){super();this.editor=u,this._domNode=document.createElement("textarea"),this._domNode.className="iPadShowKeyboard",this._register(L.addDisposableListener(this._domNode,"touchstart",g=>{this.editor.focus()})),this._register(L.addDisposableListener(this._domNode,"focus",g=>{this.editor.focus()})),this.editor.addOverlayWidget(this)}dispose(){this.editor.removeOverlayWidget(this),super.dispose()}getId(){return b.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}}b.ID="editor.contrib.ShowKeyboardWidget",(0,k.registerEditorContribution)(w.ID,w)}),define(te[696],ie([1,0,7,30,2,15,27,124,35,103,23,14,72,135,395]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});let o=class Mi extends k.Disposable{constructor(l,h,f){super();this._editor=l,this._languageService=f,this._widget=null,this._register(this._editor.onDidChangeModel(S=>this.stop())),this._register(this._editor.onDidChangeModelLanguage(S=>this.stop())),this._register(w.TokenizationRegistry.onDidChange(S=>this.stop())),this._register(this._editor.onKeyUp(S=>S.keyCode===9&&this.stop()))}static get(l){return l.getContribution(Mi.ID)}dispose(){this.stop(),super.dispose()}launch(){this._widget||!this._editor.hasModel()||(this._widget=new s(this._editor,this._languageService))}stop(){this._widget&&(this._widget.dispose(),this._widget=null)}};o.ID="editor.contrib.inspectTokens",o=Ie([pe(1,u.IStandaloneThemeService),pe(2,C.ILanguageService)],o);class c extends I.EditorAction{constructor(){super({id:"editor.action.inspectTokens",label:n.InspectTokensNLS.inspectTokensAction,alias:"Developer: Inspect Tokens",precondition:void 0})}run(l,h){const f=o.get(h);f&&f.launch()}}function d(a){let l="";for(let h=0,f=a.length;h<f;h++){const S=a.charCodeAt(h);switch(S){case 9:l+="\u2192";break;case 32:l+="\xB7";break;default:l+=String.fromCharCode(S)}}return l}function r(a,l){const h=w.TokenizationRegistry.get(l);if(h)return h;const f=a.encodeLanguageId(l);return{getInitialState:()=>b.NullState,tokenize:(S,v,p)=>(0,b.nullTokenize)(l,p),tokenizeEncoded:(S,v,p)=>(0,b.nullTokenizeEncoded)(f,p)}}class s extends k.Disposable{constructor(l,h){super();this.allowEditorOverflow=!0,this._editor=l,this._languageService=h,this._model=this._editor.getModel(),this._domNode=document.createElement("div"),this._domNode.className="tokens-inspect-widget",this._tokenizationSupport=r(this._languageService.languageIdCodec,this._model.getLanguageId()),this._compute(this._editor.getPosition()),this._register(this._editor.onDidChangeCursorPosition(f=>this._compute(this._editor.getPosition()))),this._editor.addContentWidget(this)}dispose(){this._editor.removeContentWidget(this),super.dispose()}getId(){return s._ID}_compute(l){const h=this._getTokensAtLine(l.lineNumber);let f=0;for(let y=h.tokens1.length-1;y>=0;y--){const E=h.tokens1[y];if(l.column-1>=E.offset){f=y;break}}let S=0;for(let y=h.tokens2.length>>>1;y>=0;y--)if(l.column-1>=h.tokens2[y<<1]){S=y;break}const v=this._model.getLineContent(l.lineNumber);let p="";if(f<h.tokens1.length){const y=h.tokens1[f].offset,E=f+1<h.tokens1.length?h.tokens1[f+1].offset:v.length;p=v.substring(y,E)}(0,L.reset)(this._domNode,(0,L.$)("h2.tm-token",void 0,d(p),(0,L.$)("span.tm-token-length",void 0,`${p.length} ${p.length===1?"char":"chars"}`))),(0,L.append)(this._domNode,(0,L.$)("hr.tokens-inspect-separator",{style:"clear:both"}));const _=(S<<1)+1<h.tokens2.length?this._decodeMetadata(h.tokens2[(S<<1)+1]):null;(0,L.append)(this._domNode,(0,L.$)("table.tm-metadata-table",void 0,(0,L.$)("tbody",void 0,(0,L.$)("tr",void 0,(0,L.$)("td.tm-metadata-key",void 0,"language"),(0,L.$)("td.tm-metadata-value",void 0,`${_?_.languageId:"-?-"}`)),(0,L.$)("tr",void 0,(0,L.$)("td.tm-metadata-key",void 0,"token type"),(0,L.$)("td.tm-metadata-value",void 0,`${_?this._tokenTypeToString(_.tokenType):"-?-"}`)),(0,L.$)("tr",void 0,(0,L.$)("td.tm-metadata-key",void 0,"font style"),(0,L.$)("td.tm-metadata-value",void 0,`${_?this._fontStyleToString(_.fontStyle):"-?-"}`)),(0,L.$)("tr",void 0,(0,L.$)("td.tm-metadata-key",void 0,"foreground"),(0,L.$)("td.tm-metadata-value",void 0,`${_?m.Color.Format.CSS.formatHex(_.foreground):"-?-"}`)),(0,L.$)("tr",void 0,(0,L.$)("td.tm-metadata-key",void 0,"background"),(0,L.$)("td.tm-metadata-value",void 0,`${_?m.Color.Format.CSS.formatHex(_.background):"-?-"}`))))),(0,L.append)(this._domNode,(0,L.$)("hr.tokens-inspect-separator")),f<h.tokens1.length&&(0,L.append)(this._domNode,(0,L.$)("span.tm-token-type",void 0,h.tokens1[f].type)),this._editor.layoutContentWidget(this)}_decodeMetadata(l){const h=w.TokenizationRegistry.getColorMap(),f=w.TokenMetadata.getLanguageId(l),S=w.TokenMetadata.getTokenType(l),v=w.TokenMetadata.getFontStyle(l),p=w.TokenMetadata.getForeground(l),_=w.TokenMetadata.getBackground(l);return{languageId:this._languageService.languageIdCodec.decodeLanguageId(f),tokenType:S,fontStyle:v,foreground:h[p],background:h[_]}}_tokenTypeToString(l){switch(l){case 0:return"Other";case 1:return"Comment";case 2:return"String";case 3:return"RegEx";default:return"??"}}_fontStyleToString(l){let h="";return l&1&&(h+="italic "),l&2&&(h+="bold "),l&4&&(h+="underline "),l&8&&(h+="strikethrough "),h.length===0&&(h="---"),h}_getTokensAtLine(l){const h=this._getStateBeforeLine(l),f=this._tokenizationSupport.tokenize(this._model.getLineContent(l),!0,h),S=this._tokenizationSupport.tokenizeEncoded(this._model.getLineContent(l),!0,h);return{startState:h,tokens1:f.tokens,tokens2:S.tokens,endState:f.endState}}_getStateBeforeLine(l){let h=this._tokenizationSupport.getInitialState();for(let f=1;f<l;f++)h=this._tokenizationSupport.tokenize(this._model.getLineContent(f),!0,h).endState;return h}getDomNode(){return this._domNode}getPosition(){return{position:this._editor.getPosition(),preference:[2,1]}}}s._ID="editor.contrib.inspectTokensWidget",(0,I.registerEditorContribution)(o.ID,o),(0,I.registerEditorAction)(c),(0,t.registerThemingParticipant)((a,l)=>{const h=a.getColor(g.editorHoverBorder);if(h){const v=a.type===i.ColorScheme.HIGH_CONTRAST?2:1;l.addRule(`.monaco-editor .tokens-inspect-widget { border: ${v}px solid ${h}; }`),l.addRule(`.monaco-editor .tokens-inspect-widget .tokens-inspect-separator { background-color: ${h}; }`)}const f=a.getColor(g.editorHoverBackground);f&&l.addRule(`.monaco-editor .tokens-inspect-widget { background-color: ${f}; }`);const S=a.getColor(g.editorHoverForeground);S&&l.addRule(`.monaco-editor .tokens-inspect-widget { color: ${S}; }`)})}),define(te[697],ie([1,0,36,107,72,29,642,19,9,43,26,90,130,15,24,80]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GotoLineAction=e.StandaloneCommandsQuickAccessProvider=void 0;let d=class extends w.AbstractEditorCommandsQuickAccessProvider{constructor(a,l,h,f,S,v){super({showAlias:!1},a,h,f,S,v);this.codeEditorService=l}get activeTextEditorControl(){return(0,b.withNullAsUndefined)(this.codeEditorService.getFocusedCodeEditor())}getCommandPicks(){return we(this,void 0,void 0,function*(){return this.getCodeEditorCommandPicks()})}};d=Ie([pe(0,C.IInstantiationService),pe(1,I.ICodeEditorService),pe(2,u.IKeybindingService),pe(3,g.ICommandService),pe(4,t.ITelemetryService),pe(5,n.IDialogService)],d),e.StandaloneCommandsQuickAccessProvider=d,L.Registry.as(m.Extensions.Quickaccess).registerQuickAccessProvider({ctor:d,prefix:d.PREFIX,helpEntries:[{description:k.QuickCommandNLS.quickCommandHelp,needsEditor:!0}]});class r extends i.EditorAction{constructor(){super({id:"editor.action.quickCommand",label:k.QuickCommandNLS.quickCommandActionLabel,alias:"Command Palette",precondition:void 0,kbOpts:{kbExpr:o.EditorContextKeys.focus,primary:59,weight:100},contextMenuOpts:{group:"z_commands",order:1}})}run(a){a.get(c.IQuickInputService).quickAccess.show(d.PREFIX)}}e.GotoLineAction=r,(0,i.registerEditorAction)(r)}),define(te[698],ie([1,0,664,36,107,29,19,72,4,15,24,80]),function(q,e,L,m,k,I,w,b,C,u,g,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GotoLineAction=e.StandaloneGotoLineQuickAccessProvider=void 0;let n=class extends L.AbstractGotoLineQuickAccessProvider{constructor(c){super();this.editorService=c,this.onDidActiveTextEditorControlChange=C.Event.None}get activeTextEditorControl(){return(0,w.withNullAsUndefined)(this.editorService.getFocusedCodeEditor())}};n=Ie([pe(0,I.ICodeEditorService)],n),e.StandaloneGotoLineQuickAccessProvider=n,m.Registry.as(k.Extensions.Quickaccess).registerQuickAccessProvider({ctor:n,prefix:n.PREFIX,helpEntries:[{description:b.GoToLineNLS.gotoLineActionLabel,needsEditor:!0}]});class i extends u.EditorAction{constructor(){super({id:"editor.action.gotoLine",label:b.GoToLineNLS.gotoLineActionLabel,alias:"Go to Line/Column...",precondition:void 0,kbOpts:{kbExpr:g.EditorContextKeys.focus,primary:2048|37,mac:{primary:256|37},weight:100}})}run(c){c.get(t.IQuickInputService).quickAccess.show(n.PREFIX)}}e.GotoLineAction=i,(0,u.registerEditorAction)(i)}),define(te[699],ie([1,0,665,36,107,29,19,72,4,15,24,80,205,20,143,289]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GotoLineAction=e.StandaloneGotoSymbolQuickAccessProvider=void 0;let o=class extends L.AbstractGotoSymbolQuickAccessProvider{constructor(r,s,a){super(s,a);this.editorService=r,this.onDidActiveTextEditorControlChange=C.Event.None}get activeTextEditorControl(){return(0,w.withNullAsUndefined)(this.editorService.getFocusedCodeEditor())}};o=Ie([pe(0,I.ICodeEditorService),pe(1,i.ILanguageFeaturesService),pe(2,n.IOutlineModelService)],o),e.StandaloneGotoSymbolQuickAccessProvider=o,m.Registry.as(k.Extensions.Quickaccess).registerQuickAccessProvider({ctor:o,prefix:L.AbstractGotoSymbolQuickAccessProvider.PREFIX,helpEntries:[{description:b.QuickOutlineNLS.quickOutlineActionLabel,prefix:L.AbstractGotoSymbolQuickAccessProvider.PREFIX,needsEditor:!0},{description:b.QuickOutlineNLS.quickOutlineByCategoryActionLabel,prefix:L.AbstractGotoSymbolQuickAccessProvider.PREFIX_BY_CATEGORY,needsEditor:!0}]});class c extends u.EditorAction{constructor(){super({id:"editor.action.quickOutline",label:b.QuickOutlineNLS.quickOutlineActionLabel,alias:"Go to Symbol...",precondition:g.EditorContextKeys.hasDocumentSymbolProvider,kbOpts:{kbExpr:g.EditorContextKeys.focus,primary:2048|1024|45,weight:100},contextMenuOpts:{group:"navigation",order:3}})}run(r){r.get(t.IQuickInputService).quickAccess.show(L.AbstractGotoSymbolQuickAccessProvider.PREFIX)}}e.GotoLineAction=c,(0,u.registerEditorAction)(c)}),define(te[700],ie([1,0,15,103,72]),function(q,e,L,m,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0});class I extends L.EditorAction{constructor(){super({id:"editor.action.toggleHighContrast",label:k.ToggleHighContrastNLS.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0});this._originalThemeName=null}run(b,C){const u=b.get(m.IStandaloneThemeService);this._originalThemeName?(u.setTheme(this._originalThemeName),this._originalThemeName=null):(this._originalThemeName=u.getColorTheme().themeName,u.setTheme("hc-black"))}}(0,L.registerEditorAction)(I)}),define(te[209],ie([1,0,7,44,128,491,47,198,2,16,589,37,17,78,9,43,39,82,14,398]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createActionViewItem=e.SubmenuEntryActionViewItem=e.MenuEntryActionViewItem=e.createAndFillInActionBarActions=void 0;function a(_,y,E,N,D,M,B){const O=_.getActions(y);return h(O,E,!1,typeof N=="string"?A=>A===N:N,D,M,B),l(O)}e.createAndFillInActionBarActions=a;function l(_){const y=new C.DisposableStore;for(const[,E]of _)for(const N of E)y.add(N);return y}function h(_,y,E,N=O=>O==="navigation",D=Number.MAX_SAFE_INTEGER,M=()=>!1,B=!1){let O,T;Array.isArray(y)?(O=y,T=y):(O=y.primary,T=y.secondary);const A=new Set;for(const[P,F]of _){let W;N(P)?(W=O,W.length>0&&B&&W.push(new w.Separator)):(W=T,W.length>0&&W.push(new w.Separator));for(let R of F){E&&(R=R instanceof t.MenuItemAction&&R.alt?R.alt:R);const z=W.push(R);R instanceof w.SubmenuAction&&A.add({group:P,action:R,index:z-1})}}for(const{group:P,action:F,index:W}of A){const R=N(P)?O:T,z=F.actions;(z.length<=1||R.length+z.length-2<=D)&&M(F,P,R.length)&&R.splice(W,1,...z)}if(O!==T&&O.length>D){const P=O.splice(D,O.length-D);T.unshift(...P,new w.Separator)}}let f=class extends k.ActionViewItem{constructor(y,E,N,D,M){super(void 0,y,{icon:!!(y.class||y.item.icon),label:!y.class&&!y.item.icon,draggable:E==null?void 0:E.draggable});this._keybindingService=N,this._notificationService=D,this._contextKeyService=M,this._wantsAltCommand=!1,this._itemClassDispose=this._register(new C.MutableDisposable),this._altKey=L.ModifierKeyEmitter.getInstance()}get _menuItemAction(){return this._action}get _commandAction(){return this._wantsAltCommand&&this._menuItemAction.alt||this._menuItemAction}onClick(y){return we(this,void 0,void 0,function*(){y.preventDefault(),y.stopPropagation();try{yield this.actionRunner.run(this._commandAction,this._context)}catch(E){this._notificationService.error(E)}})}render(y){super.render(y),y.classList.add("menu-entry"),this._updateItemClass(this._menuItemAction.item);let E=!1,N=this._altKey.keyStatus.altKey||(u.isWindows||u.isLinux)&&this._altKey.keyStatus.shiftKey;const D=()=>{const M=E&&N;M!==this._wantsAltCommand&&(this._wantsAltCommand=M,this.updateLabel(),this.updateTooltip(),this.updateClass())};this._menuItemAction.alt&&this._register(this._altKey.event(M=>{N=M.altKey||(u.isWindows||u.isLinux)&&M.shiftKey,D()})),this._register((0,L.addDisposableListener)(y,"mouseleave",M=>{E=!1,D()})),this._register((0,L.addDisposableListener)(y,"mouseenter",M=>{E=!0,D()}))}updateLabel(){this.options.label&&this.label&&(this.label.textContent=this._commandAction.label)}updateTooltip(){if(this.label){const y=this._keybindingService.lookupKeybinding(this._commandAction.id,this._contextKeyService),E=y&&y.getLabel(),N=this._commandAction.tooltip||this._commandAction.label;let D=E?(0,g.localize)(0,null,N,E):N;if(!this._wantsAltCommand&&this._menuItemAction.alt){const M=this._menuItemAction.alt.tooltip||this._menuItemAction.alt.label,B=this._keybindingService.lookupKeybinding(this._menuItemAction.alt.id,this._contextKeyService),O=B&&B.getLabel(),T=O?(0,g.localize)(1,null,M,O):M;D+=`
+[${b.UILabelProvider.modifierLabels[u.OS].altKey}] ${T}`}this.label.title=D}}updateClass(){this.options.icon&&(this._commandAction!==this._menuItemAction?this._menuItemAction.alt&&this._updateItemClass(this._menuItemAction.alt.item):this._menuItemAction.alt&&this._updateItemClass(this._menuItemAction.item))}_updateItemClass(y){var E;this._itemClassDispose.value=void 0;const{element:N,label:D}=this;if(!N||!D)return;const M=this._commandAction.checked&&((E=y.toggled)===null||E===void 0?void 0:E.icon)?y.toggled.icon:y.icon;if(!!M)if(s.ThemeIcon.isThemeIcon(M)){const B=s.ThemeIcon.asClassNameArray(M);D.classList.add(...B),this._itemClassDispose.value=(0,C.toDisposable)(()=>{D.classList.remove(...B)})}else M.light&&D.style.setProperty("--menu-entry-icon-light",(0,L.asCSSUrl)(M.light)),M.dark&&D.style.setProperty("--menu-entry-icon-dark",(0,L.asCSSUrl)(M.dark)),D.classList.add("icon"),this._itemClassDispose.value=(0,C.toDisposable)(()=>{D.classList.remove("icon"),D.style.removeProperty("--menu-entry-icon-light"),D.style.removeProperty("--menu-entry-icon-dark")})}};f=Ie([pe(2,c.IKeybindingService),pe(3,d.INotificationService),pe(4,n.IContextKeyService)],f),e.MenuEntryActionViewItem=f;let S=class extends I.DropdownMenuActionViewItem{constructor(y,E,N){var D,M;const B=Object.assign({},E??Object.create(null),{menuAsChild:(D=E==null?void 0:E.menuAsChild)!==null&&D!==void 0?D:!1,classNames:(M=E==null?void 0:E.classNames)!==null&&M!==void 0?M:s.ThemeIcon.isThemeIcon(y.item.icon)?s.ThemeIcon.asClassName(y.item.icon):void 0});super(y,{getActions:()=>y.actions},N,B)}render(y){if(super.render(y),this.element){y.classList.add("menu-entry");const{icon:E}=this._action.item;E&&!s.ThemeIcon.isThemeIcon(E)&&(this.element.classList.add("icon"),E.light&&this.element.style.setProperty("--menu-entry-icon-light",(0,L.asCSSUrl)(E.light)),E.dark&&this.element.style.setProperty("--menu-entry-icon-dark",(0,L.asCSSUrl)(E.dark)))}}};S=Ie([pe(2,i.IContextMenuService)],S),e.SubmenuEntryActionViewItem=S;let v=class extends k.BaseActionViewItem{constructor(y,E,N,D,M,B,O,T){var A,P,F;super(null,y);this._keybindingService=N,this._notificationService=D,this._contextMenuService=M,this._menuService=B,this._instaService=O,this._storageService=T,this._container=null,this._storageKey=`${y.item.submenu._debugName}_lastActionId`;let W,R=T.get(this._storageKey,1);R&&(W=y.actions.find(j=>R===j.id)),W||(W=y.actions[0]),this._defaultAction=this._instaService.createInstance(f,W,void 0);const z=Object.assign({},E??Object.create(null),{menuAsChild:(A=E==null?void 0:E.menuAsChild)!==null&&A!==void 0?A:!0,classNames:(P=E==null?void 0:E.classNames)!==null&&P!==void 0?P:["codicon","codicon-chevron-down"],actionRunner:(F=E==null?void 0:E.actionRunner)!==null&&F!==void 0?F:new w.ActionRunner});this._dropdown=new I.DropdownMenuActionViewItem(y,y.actions,this._contextMenuService,z),this._dropdown.actionRunner.onDidRun(j=>{j.action instanceof t.MenuItemAction&&this.update(j.action)})}update(y){this._storageService.store(this._storageKey,y.id,1,0),this._defaultAction.dispose(),this._defaultAction=this._instaService.createInstance(f,y,void 0),this._defaultAction.actionRunner=new class extends w.ActionRunner{runAction(E,N){return we(this,void 0,void 0,function*(){yield E.run(void 0)})}},this._container&&this._defaultAction.render((0,L.prepend)(this._container,(0,L.$)(".action-container")))}setActionContext(y){super.setActionContext(y),this._defaultAction.setActionContext(y),this._dropdown.setActionContext(y)}render(y){this._container=y,super.render(this._container),this._container.classList.add("monaco-dropdown-with-default");const E=(0,L.$)(".action-container");this._defaultAction.render((0,L.append)(this._container,E)),this._register((0,L.addDisposableListener)(E,L.EventType.KEY_DOWN,D=>{const M=new m.StandardKeyboardEvent(D);M.equals(17)&&(this._defaultAction.element.tabIndex=-1,this._dropdown.focus(),M.stopPropagation())}));const N=(0,L.$)(".dropdown-action-container");this._dropdown.render((0,L.append)(this._container,N)),this._register((0,L.addDisposableListener)(N,L.EventType.KEY_DOWN,D=>{var M;const B=new m.StandardKeyboardEvent(D);B.equals(15)&&(this._defaultAction.element.tabIndex=0,this._dropdown.setFocusable(!1),(M=this._defaultAction.element)===null||M===void 0||M.focus(),B.stopPropagation())}))}focus(y){y?this._dropdown.focus():(this._defaultAction.element.tabIndex=0,this._defaultAction.element.focus())}blur(){this._defaultAction.element.tabIndex=-1,this._dropdown.blur(),this._container.blur()}setFocusable(y){y?this._defaultAction.element.tabIndex=0:(this._defaultAction.element.tabIndex=-1,this._dropdown.setFocusable(!1))}dispose(){this._defaultAction.dispose(),this._dropdown.dispose(),super.dispose()}};v=Ie([pe(2,c.IKeybindingService),pe(3,d.INotificationService),pe(4,i.IContextMenuService),pe(5,t.IMenuService),pe(6,o.IInstantiationService),pe(7,r.IStorageService)],v);function p(_,y,E){return y instanceof t.MenuItemAction?_.createInstance(f,y,void 0):y instanceof t.SubmenuItemAction?y.item.rememberDefaultAction?_.createInstance(v,y,E):_.createInstance(S,y,E):void 0}e.createActionViewItem=p}),define(te[701],ie([1,0,7,87,2,109,581,209,37,17,9]),function(q,e,L,m,k,I,w,b,C,u,g){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SuggestWidgetStatus=void 0;class t extends b.MenuEntryActionViewItem{updateLabel(){const o=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!o)return super.updateLabel();this.label&&(this.label.textContent=(0,w.localize)(0,null,this._action.label,t.symbolPrintEnter(o)))}static symbolPrintEnter(o){var c;return(c=o.getLabel())===null||c===void 0?void 0:c.replace(/\benter\b/gi,"\u23CE")}}let n=class{constructor(o,c,d,r){this._menuService=d,this._contextKeyService=r,this._menuDisposables=new k.DisposableStore,this.element=L.append(o,L.$(".suggest-status-bar"));const s=a=>a instanceof C.MenuItemAction?c.createInstance(t,a,void 0):void 0;this._leftActions=new m.ActionBar(this.element,{actionViewItemProvider:s}),this._rightActions=new m.ActionBar(this.element,{actionViewItemProvider:s}),this._leftActions.domNode.classList.add("left"),this._rightActions.domNode.classList.add("right")}dispose(){this._menuDisposables.dispose(),this.element.remove()}show(){const o=this._menuService.createMenu(I.suggestWidgetStatusbarMenu,this._contextKeyService),c=()=>{const d=[],r=[];for(let[s,a]of o.getActions())s==="left"?d.push(...a):r.push(...a);this._leftActions.clear(),this._leftActions.push(d),this._rightActions.clear(),this._rightActions.push(r)};this._menuDisposables.add(o.onDidChange(()=>c())),this._menuDisposables.add(o)}hide(){this._menuDisposables.clear()}};n=Ie([pe(1,g.IInstantiationService),pe(2,C.IMenuService),pe(3,u.IContextKeyService)],n),e.SuggestWidgetStatus=n}),define(te[702],ie([1,0,10,4,2,37,26,17]),function(q,e,L,m,k,I,w,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MenuService=void 0;let C=class{constructor(t){this._commandService=t}createMenu(t,n,i){return new u(t,Object.assign({emitEventsForSubmenuChanges:!1,eventDebounceDelay:50},i),this._commandService,n,this)}};C=Ie([pe(0,w.ICommandService)],C),e.MenuService=C;let u=class Et{constructor(t,n,i,o,c){this._id=t,this._options=n,this._commandService=i,this._contextKeyService=o,this._menuService=c,this._disposables=new k.DisposableStore,this._menuGroups=[],this._contextKeys=new Set,this._build();const d=new L.RunOnceScheduler(()=>{this._build(),this._onDidChange.fire(this)},n.eventDebounceDelay);this._disposables.add(d),this._disposables.add(I.MenuRegistry.onDidChangeMenu(a=>{a.has(t)&&d.schedule()}));const r=this._disposables.add(new k.DisposableStore),s=()=>{const a=new L.RunOnceScheduler(()=>this._onDidChange.fire(this),n.eventDebounceDelay);r.add(a),r.add(o.onDidChangeContext(l=>{l.affectsSome(this._contextKeys)&&a.schedule()}))};this._onDidChange=new m.Emitter({onFirstListenerAdd:s,onLastListenerRemove:r.clear.bind(r)}),this.onDidChange=this._onDidChange.event}dispose(){this._disposables.dispose(),this._onDidChange.dispose()}_build(){this._menuGroups.length=0,this._contextKeys.clear();const t=I.MenuRegistry.getMenuItems(this._id);let n;t.sort(Et._compareMenuItems);for(const i of t){const o=i.group||"";(!n||n[0]!==o)&&(n=[o,[]],this._menuGroups.push(n)),n[1].push(i),this._collectContextKeys(i)}}_collectContextKeys(t){if(Et._fillInKbExprKeys(t.when,this._contextKeys),(0,I.isIMenuItem)(t)){if(t.command.precondition&&Et._fillInKbExprKeys(t.command.precondition,this._contextKeys),t.command.toggled){const n=t.command.toggled.condition||t.command.toggled;Et._fillInKbExprKeys(n,this._contextKeys)}}else this._options.emitEventsForSubmenuChanges&&I.MenuRegistry.getMenuItems(t.submenu).forEach(this._collectContextKeys,this)}getActions(t){const n=[];for(let i of this._menuGroups){const[o,c]=i,d=[];for(const r of c)if(this._contextKeyService.contextMatchesRules(r.when)){const s=(0,I.isIMenuItem)(r)?new I.MenuItemAction(r.command,r.alt,t,this._contextKeyService,this._commandService):new I.SubmenuItemAction(r,this._menuService,this._contextKeyService,t);d.push(s)}d.length>0&&n.push([o,d])}return n}static _fillInKbExprKeys(t,n){if(t)for(let i of t.keys())n.add(i)}static _compareMenuItems(t,n){let i=t.group,o=n.group;if(i!==o){if(i){if(!o)return-1}else return 1;if(i==="navigation")return-1;if(o==="navigation")return 1;let r=i.localeCompare(o);if(r!==0)return r}let c=t.order||0,d=n.order||0;return c<d?-1:c>d?1:Et._compareTitles((0,I.isIMenuItem)(t)?t.command.title:t.title,(0,I.isIMenuItem)(n)?n.command.title:n.title)}static _compareTitles(t,n){const i=typeof t=="string"?t:t.original,o=typeof n=="string"?n:n.original;return i.localeCompare(o)}};u=Ie([pe(2,w.ICommandService),pe(3,b.IContextKeyService),pe(4,I.IMenuService)],u)}),define(te[703],ie([1,0,7,4,2,43,39,90,14,643,78]),function(q,e,L,m,k,I,w,b,C,u,g){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ContextMenuService=void 0;let t=class extends k.Disposable{constructor(i,o,c,d,r){super();this._onDidShowContextMenu=new m.Emitter,this._onDidHideContextMenu=new m.Emitter,this.contextMenuHandler=new u.ContextMenuHandler(c,i,o,d,r)}configure(i){this.contextMenuHandler.configure(i)}showContextMenu(i){this.contextMenuHandler.showContextMenu(Object.assign(Object.assign({},i),{onHide:o=>{i.onHide&&i.onHide(o),this._onDidHideContextMenu.fire()}})),L.ModifierKeyEmitter.getInstance().resetKeyStatus(),this._onDidShowContextMenu.fire()}};t=Ie([pe(0,b.ITelemetryService),pe(1,w.INotificationService),pe(2,g.IContextViewService),pe(3,I.IKeybindingService),pe(4,C.IThemeService)],t),e.ContextMenuService=t}),define(te[161],ie([1,0,7,348,117,351,488,487,269,4,2,595,65,41,105,17,278,9,43,36,134,14]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s,a,l,h){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WorkbenchCompressibleAsyncDataTree=e.WorkbenchAsyncDataTree=e.WorkbenchDataTree=e.WorkbenchCompressibleObjectTree=e.WorkbenchObjectTree=e.WorkbenchTable=e.WorkbenchPagedList=e.WorkbenchList=e.WorkbenchListAutomaticKeyboardNavigationKey=e.WorkbenchTreeElementHasChild=e.WorkbenchTreeElementCanExpand=e.WorkbenchTreeElementHasParent=e.WorkbenchTreeElementCanCollapse=e.WorkbenchListSelectionNavigation=e.WorkbenchListMultiSelection=e.WorkbenchListDoubleSelection=e.WorkbenchListHasSelectionOrFocus=e.WorkbenchListFocusContextKey=e.WorkbenchListSupportsMultiSelectContextKey=e.ListService=e.IListService=void 0,e.IListService=(0,r.createDecorator)("listService");let f=class{constructor(x){this._themeService=x,this.disposables=new g.DisposableStore,this.lists=[],this._lastFocusedWidget=void 0,this._hasCreatedStyleController=!1}get lastFocusedList(){return this._lastFocusedWidget}setLastFocusedList(x){var H,U;x!==this._lastFocusedWidget&&((H=this._lastFocusedWidget)===null||H===void 0||H.getHTMLElement().classList.remove("last-focused"),this._lastFocusedWidget=x,(U=this._lastFocusedWidget)===null||U===void 0||U.getHTMLElement().classList.add("last-focused"))}register(x,H){if(!this._hasCreatedStyleController){this._hasCreatedStyleController=!0;const Q=new k.DefaultStyleController((0,L.createStyleSheet)(),"");this.disposables.add((0,l.attachListStyler)(Q,this._themeService))}if(this.lists.some(Q=>Q.widget===x))throw new Error("Cannot register the same widget multiple times");const U={widget:x,extraContextKeys:H};return this.lists.push(U),x.getHTMLElement()===document.activeElement&&this.setLastFocusedList(x),(0,g.combinedDisposable)(x.onDidFocus(()=>this.setLastFocusedList(x)),(0,g.toDisposable)(()=>this.lists.splice(this.lists.indexOf(U),1)),x.onDidDispose(()=>{this.lists=this.lists.filter(Q=>Q!==U),this._lastFocusedWidget===x&&this.setLastFocusedList(void 0)}))}dispose(){this.disposables.dispose()}};f=Ie([pe(0,h.IThemeService)],f),e.ListService=f;const S=new c.RawContextKey("listFocus",!0);e.WorkbenchListSupportsMultiSelectContextKey=new c.RawContextKey("listSupportsMultiselect",!0),e.WorkbenchListFocusContextKey=c.ContextKeyExpr.and(S,c.ContextKeyExpr.not(d.InputFocusedContextKey)),e.WorkbenchListHasSelectionOrFocus=new c.RawContextKey("listHasSelectionOrFocus",!1),e.WorkbenchListDoubleSelection=new c.RawContextKey("listDoubleSelection",!1),e.WorkbenchListMultiSelection=new c.RawContextKey("listMultiSelection",!1),e.WorkbenchListSelectionNavigation=new c.RawContextKey("listSelectionNavigation",!1),e.WorkbenchTreeElementCanCollapse=new c.RawContextKey("treeElementCanCollapse",!1),e.WorkbenchTreeElementHasParent=new c.RawContextKey("treeElementHasParent",!1),e.WorkbenchTreeElementCanExpand=new c.RawContextKey("treeElementCanExpand",!1),e.WorkbenchTreeElementHasChild=new c.RawContextKey("treeElementHasChild",!1),e.WorkbenchListAutomaticKeyboardNavigationKey="listAutomaticKeyboardNavigation";function v(le,x){const H=le.createScoped(x.getHTMLElement());return S.bindTo(H),H}const p="workbench.list.multiSelectModifier",_="workbench.list.openMode",y="workbench.list.horizontalScrolling",E="workbench.list.keyboardNavigation",N="workbench.list.automaticKeyboardNavigation",D="workbench.tree.indent",M="workbench.tree.renderIndentGuides",B="workbench.list.smoothScrolling",O="workbench.list.mouseWheelScrollSensitivity",T="workbench.list.fastScrollSensitivity",A="workbench.tree.expandMode";function P(le){return le.getValue(p)==="alt"}class F extends g.Disposable{constructor(x){super();this.configurationService=x,this.useAltAsMultipleSelectionModifier=P(x),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration(x=>{x.affectsConfiguration(p)&&(this.useAltAsMultipleSelectionModifier=P(this.configurationService))}))}isSelectionSingleChangeEvent(x){return this.useAltAsMultipleSelectionModifier?x.browserEvent.altKey:(0,k.isSelectionSingleChangeEvent)(x)}isSelectionRangeChangeEvent(x){return(0,k.isSelectionRangeChangeEvent)(x)}}function W(le,x,H){var U;const Q=new g.DisposableStore;return[Object.assign(Object.assign({},le),{keyboardNavigationDelegate:{mightProducePrintableCharacter(ne){return H.mightProducePrintableCharacter(ne)}},smoothScrolling:Boolean(x.getValue(B)),mouseWheelScrollSensitivity:x.getValue(O),fastScrollSensitivity:x.getValue(T),multipleSelectionController:(U=le.multipleSelectionController)!==null&&U!==void 0?U:Q.add(new F(x))}),Q]}let R=class extends k.List{constructor(x,H,U,Q,Y,ne,ge,fe,ce,he){const ve=typeof Y.horizontalScrolling!="undefined"?Y.horizontalScrolling:Boolean(ce.getValue(y)),[Ce,be]=W(Y,ce,he);super(x,H,U,Q,Object.assign(Object.assign(Object.assign({keyboardSupport:!1},(0,l.computeStyles)(fe.getColorTheme(),l.defaultListStyles)),Ce),{horizontalScrolling:ve}));this.disposables.add(be),this.contextKeyService=v(ne,this),this.themeService=fe,this.listSupportsMultiSelect=e.WorkbenchListSupportsMultiSelectContextKey.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(Y.multipleSelectionSupport!==!1),e.WorkbenchListSelectionNavigation.bindTo(this.contextKeyService).set(Boolean(Y.selectionNavigation)),this.listHasSelectionOrFocus=e.WorkbenchListHasSelectionOrFocus.bindTo(this.contextKeyService),this.listDoubleSelection=e.WorkbenchListDoubleSelection.bindTo(this.contextKeyService),this.listMultiSelection=e.WorkbenchListMultiSelection.bindTo(this.contextKeyService),this.horizontalScrolling=Y.horizontalScrolling,this._useAltAsMultipleSelectionModifier=P(ce),this.disposables.add(this.contextKeyService),this.disposables.add(ge.register(this)),Y.overrideStyles&&this.updateStyles(Y.overrideStyles),this.disposables.add(this.onDidChangeSelection(()=>{const me=this.getSelection(),_e=this.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.listHasSelectionOrFocus.set(me.length>0||_e.length>0),this.listMultiSelection.set(me.length>1),this.listDoubleSelection.set(me.length===2)})})),this.disposables.add(this.onDidChangeFocus(()=>{const me=this.getSelection(),_e=this.getFocus();this.listHasSelectionOrFocus.set(me.length>0||_e.length>0)})),this.disposables.add(ce.onDidChangeConfiguration(me=>{me.affectsConfiguration(p)&&(this._useAltAsMultipleSelectionModifier=P(ce));let _e={};if(me.affectsConfiguration(y)&&this.horizontalScrolling===void 0){const ye=Boolean(ce.getValue(y));_e=Object.assign(Object.assign({},_e),{horizontalScrolling:ye})}if(me.affectsConfiguration(B)){const ye=Boolean(ce.getValue(B));_e=Object.assign(Object.assign({},_e),{smoothScrolling:ye})}if(me.affectsConfiguration(O)){const ye=ce.getValue(O);_e=Object.assign(Object.assign({},_e),{mouseWheelScrollSensitivity:ye})}if(me.affectsConfiguration(T)){const ye=ce.getValue(T);_e=Object.assign(Object.assign({},_e),{fastScrollSensitivity:ye})}Object.keys(_e).length>0&&this.updateOptions(_e)})),this.navigator=new G(this,Object.assign({configurationService:ce},Y)),this.disposables.add(this.navigator)}updateOptions(x){super.updateOptions(x),x.overrideStyles&&this.updateStyles(x.overrideStyles),x.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!x.multipleSelectionSupport)}updateStyles(x){var H;(H=this._styler)===null||H===void 0||H.dispose(),this._styler=(0,l.attachListStyler)(this,this.themeService,x)}dispose(){var x;(x=this._styler)===null||x===void 0||x.dispose(),super.dispose()}};R=Ie([pe(5,c.IContextKeyService),pe(6,e.IListService),pe(7,h.IThemeService),pe(8,i.IConfigurationService),pe(9,s.IKeybindingService)],R),e.WorkbenchList=R;let z=class extends m.PagedList{constructor(x,H,U,Q,Y,ne,ge,fe,ce,he){const ve=typeof Y.horizontalScrolling!="undefined"?Y.horizontalScrolling:Boolean(ce.getValue(y)),[Ce,be]=W(Y,ce,he);super(x,H,U,Q,Object.assign(Object.assign(Object.assign({keyboardSupport:!1},(0,l.computeStyles)(fe.getColorTheme(),l.defaultListStyles)),Ce),{horizontalScrolling:ve}));this.disposables=new g.DisposableStore,this.disposables.add(be),this.contextKeyService=v(ne,this),this.themeService=fe,this.horizontalScrolling=Y.horizontalScrolling,this.listSupportsMultiSelect=e.WorkbenchListSupportsMultiSelectContextKey.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(Y.multipleSelectionSupport!==!1),e.WorkbenchListSelectionNavigation.bindTo(this.contextKeyService).set(Boolean(Y.selectionNavigation)),this._useAltAsMultipleSelectionModifier=P(ce),this.disposables.add(this.contextKeyService),this.disposables.add(ge.register(this)),Y.overrideStyles&&this.updateStyles(Y.overrideStyles),Y.overrideStyles&&this.disposables.add((0,l.attachListStyler)(this,fe,Y.overrideStyles)),this.disposables.add(ce.onDidChangeConfiguration(me=>{me.affectsConfiguration(p)&&(this._useAltAsMultipleSelectionModifier=P(ce));let _e={};if(me.affectsConfiguration(y)&&this.horizontalScrolling===void 0){const ye=Boolean(ce.getValue(y));_e=Object.assign(Object.assign({},_e),{horizontalScrolling:ye})}if(me.affectsConfiguration(B)){const ye=Boolean(ce.getValue(B));_e=Object.assign(Object.assign({},_e),{smoothScrolling:ye})}if(me.affectsConfiguration(O)){const ye=ce.getValue(O);_e=Object.assign(Object.assign({},_e),{mouseWheelScrollSensitivity:ye})}if(me.affectsConfiguration(T)){const ye=ce.getValue(T);_e=Object.assign(Object.assign({},_e),{fastScrollSensitivity:ye})}Object.keys(_e).length>0&&this.updateOptions(_e)})),this.navigator=new G(this,Object.assign({configurationService:ce},Y)),this.disposables.add(this.navigator)}updateOptions(x){super.updateOptions(x),x.overrideStyles&&this.updateStyles(x.overrideStyles),x.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!x.multipleSelectionSupport)}updateStyles(x){var H;(H=this._styler)===null||H===void 0||H.dispose(),this._styler=(0,l.attachListStyler)(this,this.themeService,x)}dispose(){var x;(x=this._styler)===null||x===void 0||x.dispose(),this.disposables.dispose(),super.dispose()}};z=Ie([pe(5,c.IContextKeyService),pe(6,e.IListService),pe(7,h.IThemeService),pe(8,i.IConfigurationService),pe(9,s.IKeybindingService)],z),e.WorkbenchPagedList=z;let j=class extends I.Table{constructor(x,H,U,Q,Y,ne,ge,fe,ce,he,ve){const Ce=typeof ne.horizontalScrolling!="undefined"?ne.horizontalScrolling:Boolean(he.getValue(y)),[be,de]=W(ne,he,ve);super(x,H,U,Q,Y,Object.assign(Object.assign(Object.assign({keyboardSupport:!1},(0,l.computeStyles)(ce.getColorTheme(),l.defaultListStyles)),be),{horizontalScrolling:Ce}));this.disposables.add(de),this.contextKeyService=v(ge,this),this.themeService=ce,this.listSupportsMultiSelect=e.WorkbenchListSupportsMultiSelectContextKey.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(ne.multipleSelectionSupport!==!1),e.WorkbenchListSelectionNavigation.bindTo(this.contextKeyService).set(Boolean(ne.selectionNavigation)),this.listHasSelectionOrFocus=e.WorkbenchListHasSelectionOrFocus.bindTo(this.contextKeyService),this.listDoubleSelection=e.WorkbenchListDoubleSelection.bindTo(this.contextKeyService),this.listMultiSelection=e.WorkbenchListMultiSelection.bindTo(this.contextKeyService),this.horizontalScrolling=ne.horizontalScrolling,this._useAltAsMultipleSelectionModifier=P(he),this.disposables.add(this.contextKeyService),this.disposables.add(fe.register(this)),ne.overrideStyles&&this.updateStyles(ne.overrideStyles),this.disposables.add(this.onDidChangeSelection(()=>{const _e=this.getSelection(),ye=this.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.listHasSelectionOrFocus.set(_e.length>0||ye.length>0),this.listMultiSelection.set(_e.length>1),this.listDoubleSelection.set(_e.length===2)})})),this.disposables.add(this.onDidChangeFocus(()=>{const _e=this.getSelection(),ye=this.getFocus();this.listHasSelectionOrFocus.set(_e.length>0||ye.length>0)})),this.disposables.add(he.onDidChangeConfiguration(_e=>{_e.affectsConfiguration(p)&&(this._useAltAsMultipleSelectionModifier=P(he));let ye={};if(_e.affectsConfiguration(y)&&this.horizontalScrolling===void 0){const ke=Boolean(he.getValue(y));ye=Object.assign(Object.assign({},ye),{horizontalScrolling:ke})}if(_e.affectsConfiguration(B)){const ke=Boolean(he.getValue(B));ye=Object.assign(Object.assign({},ye),{smoothScrolling:ke})}if(_e.affectsConfiguration(O)){const ke=he.getValue(O);ye=Object.assign(Object.assign({},ye),{mouseWheelScrollSensitivity:ke})}if(_e.affectsConfiguration(T)){const ke=he.getValue(T);ye=Object.assign(Object.assign({},ye),{fastScrollSensitivity:ke})}Object.keys(ye).length>0&&this.updateOptions(ye)})),this.navigator=new J(this,Object.assign({configurationService:he},ne)),this.disposables.add(this.navigator)}updateOptions(x){super.updateOptions(x),x.overrideStyles&&this.updateStyles(x.overrideStyles),x.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!x.multipleSelectionSupport)}updateStyles(x){var H;(H=this._styler)===null||H===void 0||H.dispose(),this._styler=(0,l.attachListStyler)(this,this.themeService,x)}dispose(){var x;(x=this._styler)===null||x===void 0||x.dispose(),this.disposables.dispose(),super.dispose()}};j=Ie([pe(6,c.IContextKeyService),pe(7,e.IListService),pe(8,h.IThemeService),pe(9,i.IConfigurationService),pe(10,s.IKeybindingService)],j),e.WorkbenchTable=j;class $ extends g.Disposable{constructor(x,H){var U;super();this.widget=x,this._onDidOpen=this._register(new u.Emitter),this.onDidOpen=this._onDidOpen.event,this._register(u.Event.filter(this.widget.onDidChangeSelection,Q=>Q.browserEvent instanceof KeyboardEvent)(Q=>this.onSelectionFromKeyboard(Q))),this._register(this.widget.onPointer(Q=>this.onPointer(Q.element,Q.browserEvent))),this._register(this.widget.onMouseDblClick(Q=>this.onMouseDblClick(Q.element,Q.browserEvent))),typeof(H==null?void 0:H.openOnSingleClick)!="boolean"&&(H==null?void 0:H.configurationService)?(this.openOnSingleClick=(H==null?void 0:H.configurationService.getValue(_))!=="doubleClick",this._register(H==null?void 0:H.configurationService.onDidChangeConfiguration(()=>{this.openOnSingleClick=(H==null?void 0:H.configurationService.getValue(_))!=="doubleClick"}))):this.openOnSingleClick=(U=H==null?void 0:H.openOnSingleClick)!==null&&U!==void 0?U:!0}onSelectionFromKeyboard(x){if(x.elements.length!==1)return;const H=x.browserEvent,U=typeof H.preserveFocus=="boolean"?H.preserveFocus:!0,Q=typeof H.pinned=="boolean"?H.pinned:!U,Y=!1;this._open(this.getSelectedElement(),U,Q,Y,x.browserEvent)}onPointer(x,H){if(!this.openOnSingleClick||H.detail===2)return;const Q=H.button===1,Y=!0,ne=Q,ge=H.ctrlKey||H.metaKey||H.altKey;this._open(x,Y,ne,ge,H)}onMouseDblClick(x,H){if(!H)return;const U=H.target;if(U.classList.contains("monaco-tl-twistie")||U.classList.contains("monaco-icon-label")&&U.classList.contains("folder-icon")&&H.offsetX<16)return;const Y=!1,ne=!0,ge=H.ctrlKey||H.metaKey||H.altKey;this._open(x,Y,ne,ge,H)}_open(x,H,U,Q,Y){!x||this._onDidOpen.fire({editorOptions:{preserveFocus:H,pinned:U,revealIfVisible:!0},sideBySide:Q,element:x,browserEvent:Y})}}class G extends ${constructor(x,H){super(x,H);this.widget=x}getSelectedElement(){return this.widget.getSelectedElements()[0]}}class J extends ${constructor(x,H){super(x,H)}getSelectedElement(){return this.widget.getSelectedElements()[0]}}class re extends ${constructor(x,H){super(x,H)}getSelectedElement(){var x;return(x=this.widget.getSelection()[0])!==null&&x!==void 0?x:void 0}}function se(le,x){let H=!1;return U=>{if(U.toKeybinding().isModifierKey())return!1;if(H)return H=!1,!1;const Q=x.softDispatch(U,le);return Q&&Q.enterChord?(H=!0,!1):(H=!1,!0)}}let Z=class extends C.ObjectTree{constructor(x,H,U,Q,Y,ne,ge,fe,ce,he,ve){const{options:Ce,getAutomaticKeyboardNavigation:be,disposable:de}=ae(H,Y,ne,ce,he,ve);super(x,H,U,Q,Ce);this.disposables.add(de),this.internals=new ee(this,Y,be,Y.overrideStyles,ne,ge,fe,ce,ve),this.disposables.add(this.internals)}updateOptions(x){super.updateOptions(x),this.internals.updateOptions(x)}};Z=Ie([pe(5,c.IContextKeyService),pe(6,e.IListService),pe(7,h.IThemeService),pe(8,i.IConfigurationService),pe(9,s.IKeybindingService),pe(10,n.IAccessibilityService)],Z),e.WorkbenchObjectTree=Z;let V=class extends C.CompressibleObjectTree{constructor(x,H,U,Q,Y,ne,ge,fe,ce,he,ve){const{options:Ce,getAutomaticKeyboardNavigation:be,disposable:de}=ae(H,Y,ne,ce,he,ve);super(x,H,U,Q,Ce);this.disposables.add(de),this.internals=new ee(this,Y,be,Y.overrideStyles,ne,ge,fe,ce,ve),this.disposables.add(this.internals)}updateOptions(x={}){super.updateOptions(x),x.overrideStyles&&this.internals.updateStyleOverrides(x.overrideStyles),this.internals.updateOptions(x)}};V=Ie([pe(5,c.IContextKeyService),pe(6,e.IListService),pe(7,h.IThemeService),pe(8,i.IConfigurationService),pe(9,s.IKeybindingService),pe(10,n.IAccessibilityService)],V),e.WorkbenchCompressibleObjectTree=V;let K=class extends b.DataTree{constructor(x,H,U,Q,Y,ne,ge,fe,ce,he,ve,Ce){const{options:be,getAutomaticKeyboardNavigation:de,disposable:me}=ae(H,ne,ge,he,ve,Ce);super(x,H,U,Q,Y,be);this.disposables.add(me),this.internals=new ee(this,ne,de,ne.overrideStyles,ge,fe,ce,he,Ce),this.disposables.add(this.internals)}updateOptions(x={}){super.updateOptions(x),x.overrideStyles&&this.internals.updateStyleOverrides(x.overrideStyles),this.internals.updateOptions(x)}};K=Ie([pe(6,c.IContextKeyService),pe(7,e.IListService),pe(8,h.IThemeService),pe(9,i.IConfigurationService),pe(10,s.IKeybindingService),pe(11,n.IAccessibilityService)],K),e.WorkbenchDataTree=K;let X=class extends w.AsyncDataTree{constructor(x,H,U,Q,Y,ne,ge,fe,ce,he,ve,Ce){const{options:be,getAutomaticKeyboardNavigation:de,disposable:me}=ae(H,ne,ge,he,ve,Ce);super(x,H,U,Q,Y,be);this.disposables.add(me),this.internals=new ee(this,ne,de,ne.overrideStyles,ge,fe,ce,he,Ce),this.disposables.add(this.internals)}get onDidOpen(){return this.internals.onDidOpen}updateOptions(x={}){super.updateOptions(x),x.overrideStyles&&this.internals.updateStyleOverrides(x.overrideStyles),this.internals.updateOptions(x)}};X=Ie([pe(6,c.IContextKeyService),pe(7,e.IListService),pe(8,h.IThemeService),pe(9,i.IConfigurationService),pe(10,s.IKeybindingService),pe(11,n.IAccessibilityService)],X),e.WorkbenchAsyncDataTree=X;let oe=class extends w.CompressibleAsyncDataTree{constructor(x,H,U,Q,Y,ne,ge,fe,ce,he,ve,Ce,be){const{options:de,getAutomaticKeyboardNavigation:me,disposable:_e}=ae(H,ge,fe,ve,Ce,be);super(x,H,U,Q,Y,ne,de);this.disposables.add(_e),this.internals=new ee(this,ge,me,ge.overrideStyles,fe,ce,he,ve,be),this.disposables.add(this.internals)}updateOptions(x){super.updateOptions(x),this.internals.updateOptions(x)}};oe=Ie([pe(7,c.IContextKeyService),pe(8,e.IListService),pe(9,h.IThemeService),pe(10,i.IConfigurationService),pe(11,s.IKeybindingService),pe(12,n.IAccessibilityService)],oe),e.WorkbenchCompressibleAsyncDataTree=oe;function ae(le,x,H,U,Q,Y){var ne;const ge=()=>{let de=Boolean(H.getContextKeyValue(e.WorkbenchListAutomaticKeyboardNavigationKey));return de&&(de=Boolean(U.getValue(N))),de},fe=Y.isScreenReaderOptimized(),ce=x.simpleKeyboardNavigation||fe?"simple":U.getValue(E),he=x.horizontalScrolling!==void 0?x.horizontalScrolling:Boolean(U.getValue(y)),[ve,Ce]=W(x,U,Q),be=x.additionalScrollHeight;return{getAutomaticKeyboardNavigation:ge,disposable:Ce,options:Object.assign(Object.assign({keyboardSupport:!1},ve),{indent:typeof U.getValue(D)=="number"?U.getValue(D):void 0,renderIndentGuides:U.getValue(M),smoothScrolling:Boolean(U.getValue(B)),automaticKeyboardNavigation:ge(),simpleKeyboardNavigation:ce==="simple",filterOnType:ce==="filter",horizontalScrolling:he,keyboardNavigationEventFilter:se(le,Q),additionalScrollHeight:be,hideTwistiesOfChildlessElements:x.hideTwistiesOfChildlessElements,expandOnlyOnTwistieClick:(ne=x.expandOnlyOnTwistieClick)!==null&&ne!==void 0?ne:U.getValue(A)==="doubleClick"})}}let ee=class{constructor(x,H,U,Q,Y,ne,ge,fe,ce){this.tree=x,this.themeService=ge,this.disposables=[],this.contextKeyService=v(Y,x),this.listSupportsMultiSelect=e.WorkbenchListSupportsMultiSelectContextKey.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(H.multipleSelectionSupport!==!1),e.WorkbenchListSelectionNavigation.bindTo(this.contextKeyService).set(Boolean(H.selectionNavigation)),this.hasSelectionOrFocus=e.WorkbenchListHasSelectionOrFocus.bindTo(this.contextKeyService),this.hasDoubleSelection=e.WorkbenchListDoubleSelection.bindTo(this.contextKeyService),this.hasMultiSelection=e.WorkbenchListMultiSelection.bindTo(this.contextKeyService),this.treeElementCanCollapse=e.WorkbenchTreeElementCanCollapse.bindTo(this.contextKeyService),this.treeElementHasParent=e.WorkbenchTreeElementHasParent.bindTo(this.contextKeyService),this.treeElementCanExpand=e.WorkbenchTreeElementCanExpand.bindTo(this.contextKeyService),this.treeElementHasChild=e.WorkbenchTreeElementHasChild.bindTo(this.contextKeyService),this._useAltAsMultipleSelectionModifier=P(fe);const ve=new Set;ve.add(e.WorkbenchListAutomaticKeyboardNavigationKey);const Ce=()=>{const me=ce.isScreenReaderOptimized()?"simple":fe.getValue(E);x.updateOptions({simpleKeyboardNavigation:me==="simple",filterOnType:me==="filter"})};this.updateStyleOverrides(Q);const be=()=>{const de=x.getFocus()[0];if(!de)return;const me=x.getNode(de);this.treeElementCanCollapse.set(me.collapsible&&!me.collapsed),this.treeElementHasParent.set(!!x.getParentElement(de)),this.treeElementCanExpand.set(me.collapsible&&me.collapsed),this.treeElementHasChild.set(!!x.getFirstElementChild(de))};this.disposables.push(this.contextKeyService,ne.register(x),x.onDidChangeSelection(()=>{const de=x.getSelection(),me=x.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.hasSelectionOrFocus.set(de.length>0||me.length>0),this.hasMultiSelection.set(de.length>1),this.hasDoubleSelection.set(de.length===2)})}),x.onDidChangeFocus(()=>{const de=x.getSelection(),me=x.getFocus();this.hasSelectionOrFocus.set(de.length>0||me.length>0),be()}),x.onDidChangeCollapseState(be),x.onDidChangeModel(be),fe.onDidChangeConfiguration(de=>{let me={};if(de.affectsConfiguration(p)&&(this._useAltAsMultipleSelectionModifier=P(fe)),de.affectsConfiguration(D)){const _e=fe.getValue(D);me=Object.assign(Object.assign({},me),{indent:_e})}if(de.affectsConfiguration(M)){const _e=fe.getValue(M);me=Object.assign(Object.assign({},me),{renderIndentGuides:_e})}if(de.affectsConfiguration(B)){const _e=Boolean(fe.getValue(B));me=Object.assign(Object.assign({},me),{smoothScrolling:_e})}if(de.affectsConfiguration(E)&&Ce(),de.affectsConfiguration(N)&&(me=Object.assign(Object.assign({},me),{automaticKeyboardNavigation:U()})),de.affectsConfiguration(y)&&H.horizontalScrolling===void 0){const _e=Boolean(fe.getValue(y));me=Object.assign(Object.assign({},me),{horizontalScrolling:_e})}if(de.affectsConfiguration(A)&&H.expandOnlyOnTwistieClick===void 0&&(me=Object.assign(Object.assign({},me),{expandOnlyOnTwistieClick:fe.getValue(A)==="doubleClick"})),de.affectsConfiguration(O)){const _e=fe.getValue(O);me=Object.assign(Object.assign({},me),{mouseWheelScrollSensitivity:_e})}if(de.affectsConfiguration(T)){const _e=fe.getValue(T);me=Object.assign(Object.assign({},me),{fastScrollSensitivity:_e})}Object.keys(me).length>0&&x.updateOptions(me)}),this.contextKeyService.onDidChangeContext(de=>{de.affectsSome(ve)&&x.updateOptions({automaticKeyboardNavigation:U()})}),ce.onDidChangeScreenReaderOptimized(()=>Ce())),this.navigator=new re(x,Object.assign({configurationService:fe},H)),this.disposables.push(this.navigator)}get onDidOpen(){return this.navigator.onDidOpen}updateOptions(x){x.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!x.multipleSelectionSupport)}updateStyleOverrides(x){(0,g.dispose)(this.styler),this.styler=x?(0,l.attachListStyler)(this.tree,this.themeService,x):g.Disposable.None}dispose(){this.disposables=(0,g.dispose)(this.disposables),(0,g.dispose)(this.styler),this.styler=void 0}};ee=Ie([pe(4,c.IContextKeyService),pe(5,e.IListService),pe(6,h.IThemeService),pe(7,i.IConfigurationService),pe(8,n.IAccessibilityService)],ee),a.Registry.as(o.Extensions.Configuration).registerConfiguration({id:"workbench",order:7,title:(0,t.localize)(0,null),type:"object",properties:{[p]:{type:"string",enum:["ctrlCmd","alt"],enumDescriptions:[(0,t.localize)(1,null),(0,t.localize)(2,null)],default:"ctrlCmd",description:(0,t.localize)(3,null)},[_]:{type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:(0,t.localize)(4,null)},[y]:{type:"boolean",default:!1,description:(0,t.localize)(5,null)},[D]:{type:"number",default:8,minimum:4,maximum:40,description:(0,t.localize)(6,null)},[M]:{type:"string",enum:["none","onHover","always"],default:"onHover",description:(0,t.localize)(7,null)},[B]:{type:"boolean",default:!1,description:(0,t.localize)(8,null)},[O]:{type:"number",default:1,description:(0,t.localize)(9,null)},[T]:{type:"number",default:5,description:(0,t.localize)(10,null)},[E]:{type:"string",enum:["simple","highlight","filter"],enumDescriptions:[(0,t.localize)(11,null),(0,t.localize)(12,null),(0,t.localize)(13,null)],default:"highlight",description:(0,t.localize)(14,null)},[N]:{type:"boolean",default:!0,markdownDescription:(0,t.localize)(15,null)},[A]:{type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:(0,t.localize)(16,null)}}})}),define(te[704],ie([1,0,7,92,44,60,4,2,53,23,14]),function(q,e,L,m,k,I,w,b,C,u,g){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Link=void 0;let t=class extends b.Disposable{constructor(i,o,c={},d){var r;super();this._link=o,this._enabled=!0,this.el=(0,L.append)(i,(0,L.$)("a.monaco-link",{tabIndex:(r=o.tabIndex)!==null&&r!==void 0?r:0,href:o.href,title:o.title},o.label)),this.el.setAttribute("role","button");const s=this._register(new m.DomEmitter(this.el,"click")),a=this._register(new m.DomEmitter(this.el,"keypress")),l=w.Event.chain(a.event).map(S=>new k.StandardKeyboardEvent(S)).filter(S=>S.keyCode===3).event,h=this._register(new m.DomEmitter(this.el,I.EventType.Tap)).event;this._register(I.Gesture.addTarget(this.el));const f=w.Event.any(s.event,l,h);this._register(f(S=>{!this.enabled||(L.EventHelper.stop(S,!0),(c==null?void 0:c.opener)?c.opener(this._link.href):d.open(this._link.href,{allowCommands:!0}))})),this.enabled=!0}get enabled(){return this._enabled}set enabled(i){i?(this.el.setAttribute("aria-disabled","false"),this.el.tabIndex=0,this.el.style.pointerEvents="auto",this.el.style.opacity="1",this.el.style.cursor="pointer",this._enabled=!1):(this.el.setAttribute("aria-disabled","true"),this.el.tabIndex=-1,this.el.style.pointerEvents="none",this.el.style.opacity="0.4",this.el.style.cursor="default",this._enabled=!0),this._enabled=i}};t=Ie([pe(3,C.IOpenerService)],t),e.Link=t,(0,g.registerThemingParticipant)((n,i)=>{const o=n.getColor(u.textLinkForeground);o&&i.addRule(`.monaco-link { color: ${o}; }`);const c=n.getColor(u.textLinkActiveForeground);c&&i.addRule(`.monaco-link:hover { color: ${c}; }`)})}),define(te[705],ie([1,0,21,503,65,17,9,132,161,638,23,134,14]),function(q,e,L,m,k,I,w,b,C,u,g,t,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.QuickInputService=void 0;let i=class extends n.Themable{constructor(c,d,r,s,a){super(r);this.instantiationService=c,this.contextKeyService=d,this.accessibilityService=s,this.layoutService=a,this.contexts=new Map}get controller(){return this._controller||(this._controller=this._register(this.createController())),this._controller}get quickAccess(){return this._quickAccess||(this._quickAccess=this._register(this.instantiationService.createInstance(u.QuickAccessController))),this._quickAccess}createController(c=this.layoutService,d){var r,s;const a={idPrefix:"quickInput_",container:c.container,ignoreFocusOut:()=>!1,isScreenReaderOptimized:()=>this.accessibilityService.isScreenReaderOptimized(),backKeybindingLabel:()=>{},setContextKey:h=>this.setContextKey(h),returnFocus:()=>c.focus(),createList:(h,f,S,v,p)=>this.instantiationService.createInstance(C.WorkbenchList,h,f,S,v,p),styles:this.computeStyles()},l=this._register(new m.QuickInputController(Object.assign(Object.assign({},a),d)));return l.layout(c.dimension,(s=(r=c.offset)===null||r===void 0?void 0:r.top)!==null&&s!==void 0?s:0),this._register(c.onDidLayout(h=>{var f,S;return l.layout(h,(S=(f=c.offset)===null||f===void 0?void 0:f.top)!==null&&S!==void 0?S:0)})),this._register(l.onShow(()=>this.resetContextKeys())),this._register(l.onHide(()=>this.resetContextKeys())),l}setContextKey(c){let d;c&&(d=this.contexts.get(c),d||(d=new I.RawContextKey(c,!1).bindTo(this.contextKeyService),this.contexts.set(c,d))),!(d&&d.get())&&(this.resetContextKeys(),d&&d.set(!0))}resetContextKeys(){this.contexts.forEach(c=>{c.get()&&c.reset()})}pick(c,d={},r=L.CancellationToken.None){return this.controller.pick(c,d,r)}createQuickPick(){return this.controller.createQuickPick()}updateStyles(){this.controller.applyStyles(this.computeStyles())}computeStyles(){return{widget:Object.assign({},(0,t.computeStyles)(this.theme,{quickInputBackground:g.quickInputBackground,quickInputForeground:g.quickInputForeground,quickInputTitleBackground:g.quickInputTitleBackground,contrastBorder:g.contrastBorder,widgetShadow:g.widgetShadow})),inputBox:(0,t.computeStyles)(this.theme,{inputForeground:g.inputForeground,inputBackground:g.inputBackground,inputBorder:g.inputBorder,inputValidationInfoBackground:g.inputValidationInfoBackground,inputValidationInfoForeground:g.inputValidationInfoForeground,inputValidationInfoBorder:g.inputValidationInfoBorder,inputValidationWarningBackground:g.inputValidationWarningBackground,inputValidationWarningForeground:g.inputValidationWarningForeground,inputValidationWarningBorder:g.inputValidationWarningBorder,inputValidationErrorBackground:g.inputValidationErrorBackground,inputValidationErrorForeground:g.inputValidationErrorForeground,inputValidationErrorBorder:g.inputValidationErrorBorder}),countBadge:(0,t.computeStyles)(this.theme,{badgeBackground:g.badgeBackground,badgeForeground:g.badgeForeground,badgeBorder:g.contrastBorder}),button:(0,t.computeStyles)(this.theme,{buttonForeground:g.buttonForeground,buttonBackground:g.buttonBackground,buttonHoverBackground:g.buttonHoverBackground,buttonBorder:g.contrastBorder}),progressBar:(0,t.computeStyles)(this.theme,{progressBarBackground:g.progressBarBackground}),keybindingLabel:(0,t.computeStyles)(this.theme,{keybindingLabelBackground:g.keybindingLabelBackground,keybindingLabelForeground:g.keybindingLabelForeground,keybindingLabelBorder:g.keybindingLabelBorder,keybindingLabelBottomBorder:g.keybindingLabelBottomBorder,keybindingLabelShadow:g.widgetShadow}),list:(0,t.computeStyles)(this.theme,{listBackground:g.quickInputBackground,listInactiveFocusForeground:g.quickInputListFocusForeground,listInactiveSelectionIconForeground:g.quickInputListFocusIconForeground,listInactiveFocusBackground:g.quickInputListFocusBackground,listFocusOutline:g.activeContrastBorder,listInactiveFocusOutline:g.activeContrastBorder,pickerGroupBorder:g.pickerGroupBorder,pickerGroupForeground:g.pickerGroupForeground})}}};i=Ie([pe(0,w.IInstantiationService),pe(1,I.IContextKeyService),pe(2,n.IThemeService),pe(3,k.IAccessibilityService),pe(4,b.ILayoutService)],i),e.QuickInputService=i}),define(te[706],ie([1,0,15,14,21,9,17,65,280,29,705,91,396]),function(q,e,L,m,k,I,w,b,C,u,g,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.QuickInputEditorWidget=e.QuickInputEditorContribution=e.StandaloneQuickInputService=e.EditorScopedQuickInputService=void 0;let n=class extends g.QuickInputService{constructor(r,s,a,l,h,f){super(s,a,l,h,new C.EditorScopedLayoutService(r.getContainerDomNode(),f));this.host=void 0;const S=o.get(r);if(S){const v=S.widget;this.host={_serviceBrand:void 0,get hasContainer(){return!0},get container(){return v.getDomNode()},get dimension(){return r.getLayoutInfo()},get onDidLayout(){return r.onDidLayoutChange},focus:()=>r.focus()}}else this.host=void 0}createController(){return super.createController(this.host)}};n=Ie([pe(1,I.IInstantiationService),pe(2,w.IContextKeyService),pe(3,m.IThemeService),pe(4,b.IAccessibilityService),pe(5,u.ICodeEditorService)],n),e.EditorScopedQuickInputService=n;let i=class{constructor(r,s){this.instantiationService=r,this.codeEditorService=s,this.mapEditorToService=new Map}get activeService(){const r=this.codeEditorService.getFocusedCodeEditor();if(!r)throw new Error("Quick input service needs a focused editor to work.");let s=this.mapEditorToService.get(r);if(!s){const a=s=this.instantiationService.createInstance(n,r);this.mapEditorToService.set(r,s),(0,t.once)(r.onDidDispose)(()=>{a.dispose(),this.mapEditorToService.delete(r)})}return s}get quickAccess(){return this.activeService.quickAccess}pick(r,s={},a=k.CancellationToken.None){return this.activeService.pick(r,s,a)}createQuickPick(){return this.activeService.createQuickPick()}};i=Ie([pe(0,I.IInstantiationService),pe(1,u.ICodeEditorService)],i),e.StandaloneQuickInputService=i;class o{constructor(r){this.editor=r,this.widget=new c(this.editor)}static get(r){return r.getContribution(o.ID)}dispose(){this.widget.dispose()}}e.QuickInputEditorContribution=o,o.ID="editor.controller.quickInput";class c{constructor(r){this.codeEditor=r,this.domNode=document.createElement("div"),this.codeEditor.addOverlayWidget(this)}getId(){return c.ID}getDomNode(){return this.domNode}getPosition(){return{preference:2}}dispose(){this.codeEditor.removeOverlayWidget(this)}}e.QuickInputEditorWidget=c,c.ID="editor.contrib.quickInputWidget",(0,L.registerEditorContribution)(o.ID,o)}),define(te[707],ie([1,0,28,76,23,14]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SeverityIcon=void 0;var w;(function(b){function C(u){switch(u){case m.default.Ignore:return"severity-ignore "+L.Codicon.info.classNames;case m.default.Info:return L.Codicon.info.classNames;case m.default.Warning:return L.Codicon.warning.classNames;case m.default.Error:return L.Codicon.error.classNames;default:return""}}b.className=C})(w=e.SeverityIcon||(e.SeverityIcon={})),(0,I.registerThemingParticipant)((b,C)=>{const u=b.getColor(k.problemsErrorIconForeground);if(u){const n=L.Codicon.error.cssSelector;C.addRule(`
+			.monaco-editor .zone-widget ${n},
+			.markers-panel .marker-icon${n},
+			.text-search-provider-messages .providerMessage ${n},
+			.extensions-viewlet > .extensions ${n} {
+				color: ${u};
+			}
+		`)}const g=b.getColor(k.problemsWarningIconForeground);if(g){const n=L.Codicon.warning.cssSelector;C.addRule(`
+			.monaco-editor .zone-widget ${n},
+			.markers-panel .marker-icon${n},
+			.extensions-viewlet > .extensions ${n},
+			.extension-editor ${n},
+			.text-search-provider-messages .providerMessage ${n},
+			.preferences-editor ${n} {
+				color: ${g};
+			}
+		`)}const t=b.getColor(k.problemsInfoIconForeground);if(t){const n=L.Codicon.info.cssSelector;C.addRule(`
+			.monaco-editor .zone-widget ${n},
+			.markers-panel .marker-icon${n},
+			.extensions-viewlet > .extensions ${n},
+			.text-search-provider-messages .providerMessage ${n},
+			.extension-editor ${n} {
+				color: ${t};
+			}
+		`)}})}),define(te[74],ie([1,0,10,28,4,600,206,36,14]),function(q,e,L,m,k,I,w,b,C){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.spinningLoading=e.syncing=e.gotoNextLocation=e.gotoPreviousLocation=e.widgetClose=e.iconsSchemaId=e.getIconRegistry=e.registerIcon=e.IconContribution=e.Extensions=void 0,e.Extensions={IconContribution:"base.contributions.icons"};var u;(function(r){function s(a,l){let h=a.defaults;for(;C.ThemeIcon.isThemeIcon(h);){const f=t.getIcon(h.id);if(!f)return;h=f.defaults}return h}r.getDefinition=s})(u=e.IconContribution||(e.IconContribution={}));class g{constructor(){this._onDidChange=new k.Emitter,this.onDidChange=this._onDidChange.event,this.iconSchema={definitions:{icons:{type:"object",properties:{fontId:{type:"string",description:(0,I.localize)(0,null)},fontCharacter:{type:"string",description:(0,I.localize)(1,null)}},additionalProperties:!1,defaultSnippets:[{body:{fontCharacter:"\\\\e030"}}]}},type:"object",properties:{}},this.iconReferenceSchema={type:"string",pattern:`^${m.CSSIcon.iconNameExpression}$`,enum:[],enumDescriptions:[]},this.iconsById={},this.iconFontsById={}}registerIcon(s,a,l,h){const f=this.iconsById[s];if(f){if(l&&!f.description){f.description=l,this.iconSchema.properties[s].markdownDescription=`${l} $(${s})`;const p=this.iconReferenceSchema.enum.indexOf(s);p!==-1&&(this.iconReferenceSchema.enumDescriptions[p]=l),this._onDidChange.fire()}return f}let S={id:s,description:l,defaults:a,deprecationMessage:h};this.iconsById[s]=S;let v={$ref:"#/definitions/icons"};return h&&(v.deprecationMessage=h),l&&(v.markdownDescription=`${l}: $(${s})`),this.iconSchema.properties[s]=v,this.iconReferenceSchema.enum.push(s),this.iconReferenceSchema.enumDescriptions.push(l||""),this._onDidChange.fire(),{id:s}}getIcons(){return Object.keys(this.iconsById).map(s=>this.iconsById[s])}getIcon(s){return this.iconsById[s]}getIconSchema(){return this.iconSchema}toString(){const s=(f,S)=>f.id.localeCompare(S.id),a=f=>{for(;C.ThemeIcon.isThemeIcon(f.defaults);)f=this.iconsById[f.defaults.id];return`codicon codicon-${f?f.id:""}`};let l=[];l.push("| preview     | identifier                        | default codicon ID                | description"),l.push("| ----------- | --------------------------------- | --------------------------------- | --------------------------------- |");const h=Object.keys(this.iconsById).map(f=>this.iconsById[f]);for(const f of h.filter(S=>!!S.description).sort(s))l.push(`|<i class="${a(f)}"></i>|${f.id}|${C.ThemeIcon.isThemeIcon(f.defaults)?f.defaults.id:f.id}|${f.description||""}|`);l.push("| preview     | identifier                        "),l.push("| ----------- | --------------------------------- |");for(const f of h.filter(S=>!C.ThemeIcon.isThemeIcon(S.defaults)).sort(s))l.push(`|<i class="${a(f)}"></i>|${f.id}|`);return l.join(`
+`)}}const t=new g;b.Registry.add(e.Extensions.IconContribution,t);function n(r,s,a,l){return t.registerIcon(r,s,a,l)}e.registerIcon=n;function i(){return t}e.getIconRegistry=i;function o(){for(const r of m.Codicon.getAll())t.registerIcon(r.id,r.definition,r.description)}o(),e.iconsSchemaId="vscode://schemas/icons";let c=b.Registry.as(w.Extensions.JSONContribution);c.registerSchema(e.iconsSchemaId,t.getIconSchema());const d=new L.RunOnceScheduler(()=>c.notifySchemaChanged(e.iconsSchemaId),200);t.onDidChange(()=>{d.isScheduled()||d.schedule()}),e.widgetClose=n("widget-close",m.Codicon.close,(0,I.localize)(2,null)),e.gotoPreviousLocation=n("goto-previous-location",m.Codicon.arrowUp,(0,I.localize)(3,null)),e.gotoNextLocation=n("goto-next-location",m.Codicon.arrowDown,(0,I.localize)(4,null)),e.syncing=C.ThemeIcon.modify(m.Codicon.sync,"spin"),e.spinningLoading=C.ThemeIcon.modify(m.Codicon.loading,"spin")}),define(te[708],ie([1,0,509,7,31,87,69,47,2,64,15,29,32,77,11,54,126,71,17,23,14,28,74,35,369]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s,a,l,h,f,S){"use strict";var v;Object.defineProperty(e,"__esModule",{value:!0}),e.DiffReview=void 0;const p=3;class _{constructor(P,F,W,R){this.originalLineStart=P,this.originalLineEnd=F,this.modifiedLineStart=W,this.modifiedLineEnd=R}getType(){return this.originalLineStart===0?1:this.modifiedLineStart===0?2:0}}class y{constructor(P){this.entries=P}}const E=(0,f.registerIcon)("diff-review-insert",h.Codicon.add,L.localize(0,null)),N=(0,f.registerIcon)("diff-review-remove",h.Codicon.remove,L.localize(1,null)),D=(0,f.registerIcon)("diff-review-close",h.Codicon.close,L.localize(2,null));let M=class wt extends C.Disposable{constructor(P,F){super();this._languageService=F,this._width=0,this._diffEditor=P,this._isVisible=!1,this.shadow=(0,k.createFastDomNode)(document.createElement("div")),this.shadow.setClassName("diff-review-shadow"),this.actionBarContainer=(0,k.createFastDomNode)(document.createElement("div")),this.actionBarContainer.setClassName("diff-review-actions"),this._actionBar=this._register(new I.ActionBar(this.actionBarContainer.domNode)),this._actionBar.push(new b.Action("diffreview.close",L.localize(3,null),"close-diff-review "+l.ThemeIcon.asClassName(D),!0,()=>we(this,void 0,void 0,function*(){return this.hide()})),{label:!1,icon:!0}),this.domNode=(0,k.createFastDomNode)(document.createElement("div")),this.domNode.setClassName("diff-review monaco-editor-background"),this._content=(0,k.createFastDomNode)(document.createElement("div")),this._content.setClassName("diff-review-content"),this._content.setAttribute("role","code"),this.scrollbar=this._register(new w.DomScrollableElement(this._content.domNode,{})),this.domNode.domNode.appendChild(this.scrollbar.getDomNode()),this._register(P.onDidUpdateDiff(()=>{!this._isVisible||(this._diffs=this._compute(),this._render())})),this._register(P.getModifiedEditor().onDidChangeCursorPosition(()=>{!this._isVisible||this._render()})),this._register(m.addStandardDisposableListener(this.domNode.domNode,"click",W=>{W.preventDefault();const R=m.findParentWithClass(W.target,"diff-review-row");R&&this._goToRow(R)})),this._register(m.addStandardDisposableListener(this.domNode.domNode,"keydown",W=>{(W.equals(18)||W.equals(2048|18)||W.equals(512|18))&&(W.preventDefault(),this._goToRow(this._getNextRow())),(W.equals(16)||W.equals(2048|16)||W.equals(512|16))&&(W.preventDefault(),this._goToRow(this._getPrevRow())),(W.equals(9)||W.equals(2048|9)||W.equals(512|9)||W.equals(1024|9))&&(W.preventDefault(),this.hide()),(W.equals(10)||W.equals(3))&&(W.preventDefault(),this.accept())})),this._diffs=[],this._currentDiff=null}prev(){let P=0;if(this._isVisible||(this._diffs=this._compute()),this._isVisible){let W=-1;for(let R=0,z=this._diffs.length;R<z;R++)if(this._diffs[R]===this._currentDiff){W=R;break}P=this._diffs.length+W-1}else P=this._findDiffIndex(this._diffEditor.getPosition());if(this._diffs.length===0)return;P=P%this._diffs.length;const F=this._diffs[P].entries;this._diffEditor.setPosition(new o.Position(F[0].modifiedLineStart,1)),this._diffEditor.setSelection({startColumn:1,startLineNumber:F[0].modifiedLineStart,endColumn:1073741824,endLineNumber:F[F.length-1].modifiedLineEnd}),this._isVisible=!0,this._diffEditor.doLayout(),this._render(),this._goToRow(this._getNextRow())}next(){let P=0;if(this._isVisible||(this._diffs=this._compute()),this._isVisible){let W=-1;for(let R=0,z=this._diffs.length;R<z;R++)if(this._diffs[R]===this._currentDiff){W=R;break}P=W+1}else P=this._findDiffIndex(this._diffEditor.getPosition());if(this._diffs.length===0)return;P=P%this._diffs.length;const F=this._diffs[P].entries;this._diffEditor.setPosition(new o.Position(F[0].modifiedLineStart,1)),this._diffEditor.setSelection({startColumn:1,startLineNumber:F[0].modifiedLineStart,endColumn:1073741824,endLineNumber:F[F.length-1].modifiedLineEnd}),this._isVisible=!0,this._diffEditor.doLayout(),this._render(),this._goToRow(this._getNextRow())}accept(){let P=-1;const F=this._getCurrentFocusedRow();if(F){const W=parseInt(F.getAttribute("data-line"),10);isNaN(W)||(P=W)}this.hide(),P!==-1&&(this._diffEditor.setPosition(new o.Position(P,1)),this._diffEditor.revealPosition(new o.Position(P,1),1))}hide(){this._isVisible=!1,this._diffEditor.updateOptions({readOnly:!1}),this._diffEditor.focus(),this._diffEditor.doLayout(),this._render()}_getPrevRow(){const P=this._getCurrentFocusedRow();return P?P.previousElementSibling?P.previousElementSibling:P:this._getFirstRow()}_getNextRow(){const P=this._getCurrentFocusedRow();return P?P.nextElementSibling?P.nextElementSibling:P:this._getFirstRow()}_getFirstRow(){return this.domNode.domNode.querySelector(".diff-review-row")}_getCurrentFocusedRow(){const P=document.activeElement;return P&&/diff-review-row/.test(P.className)?P:null}_goToRow(P){const F=this._getCurrentFocusedRow();P.tabIndex=0,P.focus(),F&&F!==P&&(F.tabIndex=-1),this.scrollbar.scanDomNode()}isVisible(){return this._isVisible}layout(P,F,W){this._width=F,this.shadow.setTop(P-6),this.shadow.setWidth(F),this.shadow.setHeight(this._isVisible?6:0),this.domNode.setTop(P),this.domNode.setWidth(F),this.domNode.setHeight(W),this._content.setHeight(W),this._content.setWidth(F),this._isVisible?(this.actionBarContainer.setAttribute("aria-hidden","false"),this.actionBarContainer.setDisplay("block")):(this.actionBarContainer.setAttribute("aria-hidden","true"),this.actionBarContainer.setDisplay("none"))}_compute(){const P=this._diffEditor.getLineChanges();if(!P||P.length===0)return[];const F=this._diffEditor.getOriginalEditor().getModel(),W=this._diffEditor.getModifiedEditor().getModel();return!F||!W?[]:wt._mergeAdjacent(P,F.getLineCount(),W.getLineCount())}static _mergeAdjacent(P,F,W){if(!P||P.length===0)return[];const R=[];let z=0;for(let J=0,re=P.length;J<re;J++){const se=P[J],Z=se.originalStartLineNumber,V=se.originalEndLineNumber,K=se.modifiedStartLineNumber,X=se.modifiedEndLineNumber,oe=[];let ae=0;{const ee=V===0?Z:Z-1,ue=X===0?K:K-1;let le=1,x=1;if(J>0){const Q=P[J-1];Q.originalEndLineNumber===0?le=Q.originalStartLineNumber+1:le=Q.originalEndLineNumber+1,Q.modifiedEndLineNumber===0?x=Q.modifiedStartLineNumber+1:x=Q.modifiedEndLineNumber+1}let H=ee-p+1,U=ue-p+1;if(H<le){const Q=le-H;H=H+Q,U=U+Q}if(U<x){const Q=x-U;H=H+Q,U=U+Q}oe[ae++]=new _(H,ee,U,ue)}V!==0&&(oe[ae++]=new _(Z,V,0,0)),X!==0&&(oe[ae++]=new _(0,0,K,X));{const ee=V===0?Z+1:V+1,ue=X===0?K+1:X+1;let le=F,x=W;if(J+1<re){const Q=P[J+1];Q.originalEndLineNumber===0?le=Q.originalStartLineNumber:le=Q.originalStartLineNumber-1,Q.modifiedEndLineNumber===0?x=Q.modifiedStartLineNumber:x=Q.modifiedStartLineNumber-1}let H=ee+p-1,U=ue+p-1;if(H>le){const Q=le-H;H=H+Q,U=U+Q}if(U>x){const Q=x-U;H=H+Q,U=U+Q}oe[ae++]=new _(ee,H,ue,U)}R[z++]=new y(oe)}let j=R[0].entries;const $=[];let G=0;for(let J=1,re=R.length;J<re;J++){const se=R[J].entries,Z=j[j.length-1],V=se[0];if(Z.getType()===0&&V.getType()===0&&V.originalLineStart<=Z.originalLineEnd){j[j.length-1]=new _(Z.originalLineStart,V.originalLineEnd,Z.modifiedLineStart,V.modifiedLineEnd),j=j.concat(se.slice(1));continue}$[G++]=new y(j),j=se}return $[G++]=new y(j),$}_findDiffIndex(P){const F=P.lineNumber;for(let W=0,R=this._diffs.length;W<R;W++){const z=this._diffs[W].entries,j=z[z.length-1].modifiedLineEnd;if(F<=j)return W}return 0}_render(){const P=this._diffEditor.getOriginalEditor().getOptions(),F=this._diffEditor.getModifiedEditor().getOptions(),W=this._diffEditor.getOriginalEditor().getModel(),R=this._diffEditor.getModifiedEditor().getModel(),z=W.getOptions(),j=R.getOptions();if(!this._isVisible||!W||!R){m.clearNode(this._content.domNode),this._currentDiff=null,this.scrollbar.scanDomNode();return}this._diffEditor.updateOptions({readOnly:!0});const $=this._findDiffIndex(this._diffEditor.getPosition());if(this._diffs[$]===this._currentDiff)return;this._currentDiff=this._diffs[$];const G=this._diffs[$].entries,J=document.createElement("div");J.className="diff-review-table",J.setAttribute("role","list"),J.setAttribute("aria-label",'Difference review. Use "Stage | Unstage | Revert Selected Ranges" commands'),(0,u.applyFontInfo)(J,F.get(44));let re=0,se=0,Z=0,V=0;for(let U=0,Q=G.length;U<Q;U++){const Y=G[U],ne=Y.originalLineStart,ge=Y.originalLineEnd,fe=Y.modifiedLineStart,ce=Y.modifiedLineEnd;ne!==0&&(re===0||ne<re)&&(re=ne),ge!==0&&(se===0||ge>se)&&(se=ge),fe!==0&&(Z===0||fe<Z)&&(Z=fe),ce!==0&&(V===0||ce>V)&&(V=ce)}const K=document.createElement("div");K.className="diff-review-row";const X=document.createElement("div");X.className="diff-review-cell diff-review-summary";const oe=se-re+1,ae=V-Z+1;X.appendChild(document.createTextNode(`${$+1}/${this._diffs.length}: @@ -${re},${oe} +${Z},${ae} @@`)),K.setAttribute("data-line",String(Z));const ee=U=>U===0?L.localize(4,null):U===1?L.localize(5,null):L.localize(6,null,U),ue=ee(oe),le=ee(ae);K.setAttribute("aria-label",L.localize(7,null,$+1,this._diffs.length,re,ue,Z,le)),K.appendChild(X),K.setAttribute("role","listitem"),J.appendChild(K);const x=F.get(59);let H=Z;for(let U=0,Q=G.length;U<Q;U++){const Y=G[U];wt._renderSection(J,Y,H,x,this._width,P,W,z,F,R,j,this._languageService.languageIdCodec),Y.modifiedLineStart!==0&&(H=Y.modifiedLineEnd)}m.clearNode(this._content.domNode),this._content.domNode.appendChild(J),this.scrollbar.scanDomNode()}static _renderSection(P,F,W,R,z,j,$,G,J,re,se,Z){const V=F.getType();let K="diff-review-row",X="";const oe="diff-review-spacer";let ae=null;switch(V){case 1:K="diff-review-row line-insert",X=" char-insert",ae=E;break;case 2:K="diff-review-row line-delete",X=" char-delete",ae=N;break}const ee=F.originalLineStart,ue=F.originalLineEnd,le=F.modifiedLineStart,x=F.modifiedLineEnd,H=Math.max(x-le,ue-ee),U=j.get(131),Q=U.glyphMarginWidth+U.lineNumbersWidth,Y=J.get(131),ne=10+Y.glyphMarginWidth+Y.lineNumbersWidth;for(let ge=0;ge<=H;ge++){const fe=ee===0?0:ee+ge,ce=le===0?0:le+ge,he=document.createElement("div");he.style.minWidth=z+"px",he.className=K,he.setAttribute("role","listitem"),ce!==0&&(W=ce),he.setAttribute("data-line",String(W));const ve=document.createElement("div");ve.className="diff-review-cell",ve.style.height=`${R}px`,he.appendChild(ve);const Ce=document.createElement("span");Ce.style.width=Q+"px",Ce.style.minWidth=Q+"px",Ce.className="diff-review-line-number"+X,fe!==0?Ce.appendChild(document.createTextNode(String(fe))):Ce.innerText="\xA0",ve.appendChild(Ce);const be=document.createElement("span");be.style.width=ne+"px",be.style.minWidth=ne+"px",be.style.paddingRight="10px",be.className="diff-review-line-number"+X,ce!==0?be.appendChild(document.createTextNode(String(ce))):be.innerText="\xA0",ve.appendChild(be);const de=document.createElement("span");if(de.className=oe,ae){const ye=document.createElement("span");ye.className=l.ThemeIcon.asClassName(ae),ye.innerText="\xA0\xA0",de.appendChild(ye)}else de.innerText="\xA0\xA0";ve.appendChild(de);let me;if(ce!==0){let ye=this._renderLine(re,J,se.tabSize,ce,Z);wt._ttPolicy&&(ye=wt._ttPolicy.createHTML(ye)),ve.insertAdjacentHTML("beforeend",ye),me=re.getLineContent(ce)}else{let ye=this._renderLine($,j,G.tabSize,fe,Z);wt._ttPolicy&&(ye=wt._ttPolicy.createHTML(ye)),ve.insertAdjacentHTML("beforeend",ye),me=$.getLineContent(fe)}me.length===0&&(me=L.localize(8,null));let _e="";switch(V){case 0:fe===ce?_e=L.localize(9,null,me,fe):_e=L.localize(10,null,me,fe,ce);break;case 1:_e=L.localize(11,null,me,ce);break;case 2:_e=L.localize(12,null,me,fe);break}he.setAttribute("aria-label",_e),P.appendChild(he)}}static _renderLine(P,F,W,R,z){const j=P.getLineContent(R),$=F.get(44),G=i.LineTokens.createEmpty(j,z),J=r.ViewLineRenderingData.isBasicASCII(j,P.mightContainNonBasicASCII()),re=r.ViewLineRenderingData.containsRTL(j,J,P.mightContainRTL());return(0,d.renderViewLine2)(new d.RenderLineInput($.isMonospace&&!F.get(29),$.canUseHalfwidthRightwardsArrow,j,!1,J,re,0,G,[],W,0,$.spaceWidth,$.middotWidth,$.wsmiddotWidth,F.get(105),F.get(88),F.get(83),F.get(45)!==n.EditorFontLigatures.OFF,null)).html}};M._ttPolicy=(v=window.trustedTypes)===null||v===void 0?void 0:v.createPolicy("diffReview",{createHTML:A=>A}),M=Ie([pe(1,S.ILanguageService)],M),e.DiffReview=M,(0,l.registerThemingParticipant)((A,P)=>{const F=A.getColor(c.editorLineNumbers);F&&P.addRule(`.monaco-diff-editor .diff-review-line-number { color: ${F}; }`);const W=A.getColor(a.scrollbarShadow);W&&P.addRule(`.monaco-diff-editor .diff-review-shadow { box-shadow: ${W} 0 -6px 6px -6px inset; }`)});class B extends g.EditorAction{constructor(){super({id:"editor.action.diffReview.next",label:L.localize(13,null),alias:"Go to Next Difference",precondition:s.ContextKeyExpr.has("isInDiffEditor"),kbOpts:{kbExpr:null,primary:65,weight:100}})}run(P,F){const W=T(P);W&&W.diffReviewNext()}}class O extends g.EditorAction{constructor(){super({id:"editor.action.diffReview.prev",label:L.localize(14,null),alias:"Go to Previous Difference",precondition:s.ContextKeyExpr.has("isInDiffEditor"),kbOpts:{kbExpr:null,primary:1024|65,weight:100}})}run(P,F){const W=T(P);W&&W.diffReviewPrev()}}function T(A){const P=A.get(t.ICodeEditorService),F=P.listDiffEditors(),W=P.getActiveCodeEditor();if(!W)return null;for(let R=0,z=F.length;R<z;R++){const j=F[R];if(j.getModifiedEditor().getId()===W.getId()||j.getOriginalEditor().getId()===W.getId())return j}return null}(0,g.registerEditorAction)(B),(0,g.registerEditorAction)(O)}),define(te[709],ie([1,0,7,46,69,28,4,2,8,19,106,35,611,204,567,17,53,23,74,135,14,20,385]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s,a,l,h){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.editorHoverWidgetHighlightForeground=e.ParameterHintsWidget=void 0;const f=L.$,S=(0,s.registerIcon)("parameter-hints-next",I.Codicon.chevronDown,o.localize(0,null)),v=(0,s.registerIcon)("parameter-hints-previous",I.Codicon.chevronUp,o.localize(1,null));let p=class Ai extends b.Disposable{constructor(y,E,N,D,M){super();this.editor=y,this.renderDisposeables=this._register(new b.DisposableStore),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.markdownRenderer=this._register(new g.MarkdownRenderer({editor:y},D,N)),this.model=this._register(new n.ParameterHintsModel(y,M.signatureHelpProvider)),this.keyVisible=i.Context.Visible.bindTo(E),this.keyMultipleSignatures=i.Context.MultipleSignatures.bindTo(E),this._register(this.model.onChangedHints(B=>{B?(this.show(),this.render(B)):this.hide()}))}createParameterHintDOMNodes(){const y=f(".editor-widget.parameter-hints-widget"),E=L.append(y,f(".phwrapper"));E.tabIndex=-1;const N=L.append(E,f(".controls")),D=L.append(N,f(".button"+l.ThemeIcon.asCSSSelector(v))),M=L.append(N,f(".overloads")),B=L.append(N,f(".button"+l.ThemeIcon.asCSSSelector(S)));this._register(L.addDisposableListener(D,"click",W=>{L.EventHelper.stop(W),this.previous()})),this._register(L.addDisposableListener(B,"click",W=>{L.EventHelper.stop(W),this.next()}));const O=f(".body"),T=new k.DomScrollableElement(O,{});this._register(T),E.appendChild(T.getDomNode());const A=L.append(O,f(".signature")),P=L.append(O,f(".docs"));y.style.userSelect="text",this.domNodes={element:y,signature:A,overloads:M,docs:P,scrollbar:T},this.editor.addContentWidget(this),this.hide(),this._register(this.editor.onDidChangeCursorSelection(W=>{this.visible&&this.editor.layoutContentWidget(this)}));const F=()=>{if(!this.domNodes)return;const W=this.editor.getOption(44);this.domNodes.element.style.fontSize=`${W.fontSize}px`,this.domNodes.element.style.lineHeight=`${W.lineHeight/W.fontSize}`};F(),this._register(w.Event.chain(this.editor.onDidChangeConfiguration.bind(this.editor)).filter(W=>W.hasChanged(44)).on(F,null)),this._register(this.editor.onDidLayoutChange(W=>this.updateMaxHeight())),this.updateMaxHeight()}show(){this.visible||(this.domNodes||this.createParameterHintDOMNodes(),this.keyVisible.set(!0),this.visible=!0,setTimeout(()=>{this.domNodes&&this.domNodes.element.classList.add("visible")},100),this.editor.layoutContentWidget(this))}hide(){this.renderDisposeables.clear(),!!this.visible&&(this.keyVisible.reset(),this.visible=!1,this.announcedLabel=null,this.domNodes&&this.domNodes.element.classList.remove("visible"),this.editor.layoutContentWidget(this))}getPosition(){return this.visible?{position:this.editor.getPosition(),preference:[1,2]}:null}render(y){var E;if(this.renderDisposeables.clear(),!this.domNodes)return;const N=y.signatures.length>1;this.domNodes.element.classList.toggle("multiple",N),this.keyMultipleSignatures.set(N),this.domNodes.signature.innerText="",this.domNodes.docs.innerText="";const D=y.signatures[y.activeSignature];if(!D)return;const M=L.append(this.domNodes.signature,f(".code")),B=this.editor.getOption(44);M.style.fontSize=`${B.fontSize}px`,M.style.fontFamily=B.fontFamily;const O=D.parameters.length>0,T=(E=D.activeParameter)!==null&&E!==void 0?E:y.activeParameter;if(O)this.renderParameters(M,D,T);else{const F=L.append(M,f("span"));F.textContent=D.label}const A=D.parameters[T];if(A==null?void 0:A.documentation){const F=f("span.documentation");if(typeof A.documentation=="string")F.textContent=A.documentation;else{const W=this.renderMarkdownDocs(A.documentation);F.appendChild(W.element)}L.append(this.domNodes.docs,f("p",{},F))}if(D.documentation!==void 0)if(typeof D.documentation=="string")L.append(this.domNodes.docs,f("p",{},D.documentation));else{const F=this.renderMarkdownDocs(D.documentation);L.append(this.domNodes.docs,F.element)}const P=this.hasDocs(D,A);if(this.domNodes.signature.classList.toggle("has-docs",P),this.domNodes.docs.classList.toggle("empty",!P),this.domNodes.overloads.textContent=String(y.activeSignature+1).padStart(y.signatures.length.toString().length,"0")+"/"+y.signatures.length,A){let F="";const W=D.parameters[T];Array.isArray(W.label)?F=D.label.substring(W.label[0],W.label[1]):F=W.label,W.documentation&&(F+=typeof W.documentation=="string"?`, ${W.documentation}`:`, ${W.documentation.value}`),D.documentation&&(F+=typeof D.documentation=="string"?`, ${D.documentation}`:`, ${D.documentation.value}`),this.announcedLabel!==F&&(m.alert(o.localize(2,null,F)),this.announcedLabel=F)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(y){const E=this.renderDisposeables.add(this.markdownRenderer.render(y,{asyncRenderCallback:()=>{var N;(N=this.domNodes)===null||N===void 0||N.scrollbar.scanDomNode()}}));return E.element.classList.add("markdown-docs"),E}hasDocs(y,E){return!!(E&&typeof E.documentation=="string"&&(0,u.assertIsDefined)(E.documentation).length>0||E&&typeof E.documentation=="object"&&(0,u.assertIsDefined)(E.documentation).value.length>0||y.documentation&&typeof y.documentation=="string"&&(0,u.assertIsDefined)(y.documentation).length>0||y.documentation&&typeof y.documentation=="object"&&(0,u.assertIsDefined)(y.documentation.value).length>0)}renderParameters(y,E,N){const[D,M]=this.getParameterLabelOffsets(E,N),B=document.createElement("span");B.textContent=E.label.substring(0,D);const O=document.createElement("span");O.textContent=E.label.substring(D,M),O.className="parameter active";const T=document.createElement("span");T.textContent=E.label.substring(M),L.append(y,B,O,T)}getParameterLabelOffsets(y,E){const N=y.parameters[E];if(N){if(Array.isArray(N.label))return N.label;if(N.label.length){const D=new RegExp(`(\\W|^)${(0,C.escapeRegExpCharacters)(N.label)}(?=\\W|$)`,"g");D.test(y.label);const M=D.lastIndex-N.label.length;return M>=0?[M,D.lastIndex]:[0,0]}else return[0,0]}else return[0,0]}next(){this.editor.focus(),this.model.next()}previous(){this.editor.focus(),this.model.previous()}cancel(){this.model.cancel()}getDomNode(){return this.domNodes||this.createParameterHintDOMNodes(),this.domNodes.element}getId(){return Ai.ID}trigger(y){this.model.trigger(y,0)}updateMaxHeight(){if(!this.domNodes)return;const E=`${Math.max(this.editor.getLayoutInfo().height/4,250)}px`;this.domNodes.element.style.maxHeight=E;const N=this.domNodes.element.getElementsByClassName("phwrapper");N.length&&(N[0].style.maxHeight=E)}};p.ID="editor.widget.parameterHintsWidget",p=Ie([pe(1,c.IContextKeyService),pe(2,d.IOpenerService),pe(3,t.ILanguageService),pe(4,h.ILanguageFeaturesService)],p),e.ParameterHintsWidget=p,e.editorHoverWidgetHighlightForeground=(0,r.registerColor)("editorHoverWidget.highlightForeground",{dark:r.listHighlightForeground,light:r.listHighlightForeground,hc:r.listHighlightForeground},o.localize(3,null)),(0,l.registerThemingParticipant)((_,y)=>{const E=_.getColor(r.editorHoverBorder);if(E){const A=_.type===a.ColorScheme.HIGH_CONTRAST?2:1;y.addRule(`.monaco-editor .parameter-hints-widget { border: ${A}px solid ${E}; }`),y.addRule(`.monaco-editor .parameter-hints-widget.multiple .body { border-left: 1px solid ${E.transparent(.5)}; }`),y.addRule(`.monaco-editor .parameter-hints-widget .signature.has-docs { border-bottom: 1px solid ${E.transparent(.5)}; }`)}const N=_.getColor(r.editorHoverBackground);N&&y.addRule(`.monaco-editor .parameter-hints-widget { background-color: ${N}; }`);const D=_.getColor(r.textLinkForeground);D&&y.addRule(`.monaco-editor .parameter-hints-widget a { color: ${D}; }`);const M=_.getColor(r.textLinkActiveForeground);M&&y.addRule(`.monaco-editor .parameter-hints-widget a:hover { color: ${M}; }`);const B=_.getColor(r.editorHoverForeground);B&&y.addRule(`.monaco-editor .parameter-hints-widget { color: ${B}; }`);const O=_.getColor(r.textCodeBlockBackground);O&&y.addRule(`.monaco-editor .parameter-hints-widget code { background-color: ${O}; }`);const T=_.getColor(e.editorHoverWidgetHighlightForeground);T&&y.addRule(`.monaco-editor .parameter-hints-widget .parameter.active { color: ${T}}`)})}),define(te[710],ie([1,0,2,15,24,27,204,566,17,9,709]),function(q,e,L,m,k,I,w,b,C,u,g){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TriggerParameterHintsAction=void 0;let t=class Ri extends L.Disposable{constructor(d,r){super();this.editor=d,this.widget=this._register(r.createInstance(g.ParameterHintsWidget,this.editor))}static get(d){return d.getContribution(Ri.ID)}cancel(){this.widget.cancel()}previous(){this.widget.previous()}next(){this.widget.next()}trigger(d){this.widget.trigger(d)}};t.ID="editor.controller.parameterHints",t=Ie([pe(1,u.IInstantiationService)],t);class n extends m.EditorAction{constructor(){super({id:"editor.action.triggerParameterHints",label:b.localize(0,null),alias:"Trigger Parameter Hints",precondition:k.EditorContextKeys.hasSignatureHelpProvider,kbOpts:{kbExpr:k.EditorContextKeys.editorTextFocus,primary:2048|1024|10,weight:100}})}run(d,r){const s=t.get(r);s&&s.trigger({triggerKind:I.SignatureHelpTriggerKind.Invoke})}}e.TriggerParameterHintsAction=n,(0,m.registerEditorContribution)(t.ID,t),(0,m.registerEditorAction)(n);const i=100+75,o=m.EditorCommand.bindToContribution(t.get);(0,m.registerEditorCommand)(new o({id:"closeParameterHints",precondition:w.Context.Visible,handler:c=>c.cancel(),kbOpts:{weight:i,kbExpr:k.EditorContextKeys.focus,primary:9,secondary:[1024|9]}})),(0,m.registerEditorCommand)(new o({id:"showPrevParameterHint",precondition:C.ContextKeyExpr.and(w.Context.Visible,w.Context.MultipleSignatures),handler:c=>c.previous(),kbOpts:{weight:i,kbExpr:k.EditorContextKeys.focus,primary:16,secondary:[512|16],mac:{primary:16,secondary:[512|16,256|46]}}})),(0,m.registerEditorCommand)(new o({id:"showNextParameterHint",precondition:C.ContextKeyExpr.and(w.Context.Visible,w.Context.MultipleSignatures),handler:c=>c.next(),kbOpts:{weight:i,kbExpr:k.EditorContextKeys.focus,primary:18,secondary:[512|18],mac:{primary:18,secondary:[512|18,256|44]}}}))}),define(te[711],ie([1,0,34,7,195,18,28,4,75,2,25,32,27,631,48,35,580,273,74,14,282]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s,a,l){"use strict";var h;Object.defineProperty(e,"__esModule",{value:!0}),e.ItemRenderer=e.suggestMoreInfoIcon=e.getAriaId=void 0;function f(_){return`suggest-aria-id:${_}`}e.getAriaId=f,e.suggestMoreInfoIcon=(0,s.registerIcon)("suggest-more-info",w.Codicon.chevronRight,d.localize(0,null));const S=new(h=class Vt{extract(y,E){if(y.textLabel.match(Vt._regexStrict))return E[0]=y.textLabel,!0;if(y.completion.detail&&y.completion.detail.match(Vt._regexStrict))return E[0]=y.completion.detail,!0;if(typeof y.completion.documentation=="string"){const N=Vt._regexRelaxed.exec(y.completion.documentation);if(N&&(N.index===0||N.index+N[0].length===y.completion.documentation.length))return E[0]=N[0],!0}return!1}},h._regexRelaxed=/(#([\da-fA-F]{3}){1,2}|(rgb|hsl)a\(\s*(\d{1,3}%?\s*,\s*){3}(1|0?\.\d+)\)|(rgb|hsl)\(\s*\d{1,3}%?(\s*,\s*\d{1,3}%?){2}\s*\))/,h._regexStrict=new RegExp(`^${h._regexRelaxed.source}$`,"i"),h);let v=class{constructor(y,E,N,D){this._editor=y,this._modelService=E,this._languageService=N,this._themeService=D,this._onDidToggleDetails=new b.Emitter,this.onDidToggleDetails=this._onDidToggleDetails.event,this.templateId="suggestion"}dispose(){this._onDidToggleDetails.dispose()}renderTemplate(y){const E=Object.create(null);E.disposables=new u.DisposableStore,E.root=y,E.root.classList.add("show-file-icons"),E.icon=(0,m.append)(y,(0,m.$)(".icon")),E.colorspan=(0,m.append)(E.icon,(0,m.$)("span.colorspan"));const N=(0,m.append)(y,(0,m.$)(".contents")),D=(0,m.append)(N,(0,m.$)(".main"));E.iconContainer=(0,m.append)(D,(0,m.$)(".icon-label.codicon")),E.left=(0,m.append)(D,(0,m.$)("span.left")),E.right=(0,m.append)(D,(0,m.$)("span.right")),E.iconLabel=new k.IconLabel(E.left,{supportHighlights:!0,supportIcons:!0}),E.disposables.add(E.iconLabel),E.parametersLabel=(0,m.append)(E.left,(0,m.$)("span.signature-label")),E.qualifierLabel=(0,m.append)(E.left,(0,m.$)("span.qualifier-label")),E.detailsLabel=(0,m.append)(E.right,(0,m.$)("span.details-label")),E.readMore=(0,m.append)(E.right,(0,m.$)("span.readMore"+a.ThemeIcon.asCSSSelector(e.suggestMoreInfoIcon))),E.readMore.title=d.localize(1,null);const M=()=>{const B=this._editor.getOptions(),O=B.get(44),T=O.getMassagedFontFamily(L.isSafari?t.EDITOR_FONT_DEFAULTS.fontFamily:null),A=O.fontFeatureSettings,P=B.get(107)||O.fontSize,F=B.get(108)||O.lineHeight,W=O.fontWeight,R=`${P}px`,z=`${F}px`;E.root.style.fontSize=R,E.root.style.fontWeight=W,D.style.fontFamily=T,D.style.fontFeatureSettings=A,D.style.lineHeight=z,E.icon.style.height=z,E.icon.style.width=z,E.readMore.style.height=z,E.readMore.style.width=z};return M(),E.disposables.add(this._editor.onDidChangeConfiguration(B=>{(B.hasChanged(44)||B.hasChanged(107)||B.hasChanged(108))&&M()})),E}renderElement(y,E,N){const{completion:D}=y;N.root.id=f(E),N.colorspan.style.backgroundColor="";const M={labelEscapeNewLines:!0,matches:(0,C.createMatches)(y.score)};let B=[];if(D.kind===19&&S.extract(y,B))N.icon.className="icon customcolor",N.iconContainer.className="icon hide",N.colorspan.style.backgroundColor=B[0];else if(D.kind===20&&this._themeService.getFileIconTheme().hasFileIcons){N.icon.className="icon hide",N.iconContainer.className="icon hide";const O=(0,i.getIconClasses)(this._modelService,this._languageService,g.URI.from({scheme:"fake",path:y.textLabel}),r.FileKind.FILE),T=(0,i.getIconClasses)(this._modelService,this._languageService,g.URI.from({scheme:"fake",path:D.detail}),r.FileKind.FILE);M.extraClasses=O.length>T.length?O:T}else D.kind===23&&this._themeService.getFileIconTheme().hasFolderIcons?(N.icon.className="icon hide",N.iconContainer.className="icon hide",M.extraClasses=(0,I.flatten)([(0,i.getIconClasses)(this._modelService,this._languageService,g.URI.from({scheme:"fake",path:y.textLabel}),r.FileKind.FOLDER),(0,i.getIconClasses)(this._modelService,this._languageService,g.URI.from({scheme:"fake",path:D.detail}),r.FileKind.FOLDER)])):(N.icon.className="icon hide",N.iconContainer.className="",N.iconContainer.classList.add("suggest-icon",...w.CSSIcon.asClassNameArray(n.CompletionItemKinds.toIcon(D.kind))));D.tags&&D.tags.indexOf(1)>=0&&(M.extraClasses=(M.extraClasses||[]).concat(["deprecated"]),M.matches=[]),N.iconLabel.setLabel(y.textLabel,void 0,M),typeof D.label=="string"?(N.parametersLabel.textContent="",N.detailsLabel.textContent=p(D.detail||""),N.root.classList.add("string-label")):(N.parametersLabel.textContent=p(D.label.detail||""),N.detailsLabel.textContent=p(D.label.description||""),N.root.classList.remove("string-label")),this._editor.getOption(106).showInlineDetails?(0,m.show)(N.detailsLabel):(0,m.hide)(N.detailsLabel),(0,l.canExpandCompletionItem)(y)?(N.right.classList.add("can-expand-details"),(0,m.show)(N.readMore),N.readMore.onmousedown=O=>{O.stopPropagation(),O.preventDefault()},N.readMore.onclick=O=>{O.stopPropagation(),O.preventDefault(),this._onDidToggleDetails.fire()}):(N.right.classList.remove("can-expand-details"),(0,m.hide)(N.readMore),N.readMore.onmousedown=null,N.readMore.onclick=null)}disposeTemplate(y){y.disposables.dispose()}};v=Ie([pe(1,o.IModelService),pe(2,c.ILanguageService),pe(3,a.IThemeService)],v),e.ItemRenderer=v;function p(_){return _.replace(/\r\n|\r|\n/g,"")}}),define(te[712],ie([1,0,7,87,47,2,106,9,704,74,14,390]),function(q,e,L,m,k,I,w,b,C,u,g){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BannerController=void 0;const t=26;let n=class extends I.Disposable{constructor(c,d){super();this._editor=c,this.instantiationService=d,this.banner=this._register(this.instantiationService.createInstance(i))}hide(){this._editor.setBanner(null,0),this.banner.clear()}show(c){this.banner.show(Object.assign(Object.assign({},c),{onClose:()=>{this.hide(),c.onClose&&c.onClose()}})),this._editor.setBanner(this.banner.element,t)}};n=Ie([pe(1,b.IInstantiationService)],n),e.BannerController=n;let i=class extends I.Disposable{constructor(c){super();this.instantiationService=c,this.markdownRenderer=this.instantiationService.createInstance(w.MarkdownRenderer,{}),this.element=(0,L.$)("div.editor-banner"),this.element.tabIndex=0}getAriaLabel(c){if(c.ariaLabel)return c.ariaLabel;if(typeof c.message=="string")return c.message}getBannerMessage(c){if(typeof c=="string"){const d=(0,L.$)("span");return d.innerText=c,d}return this.markdownRenderer.render(c).element}clear(){(0,L.clearNode)(this.element)}show(c){(0,L.clearNode)(this.element);const d=this.getAriaLabel(c);d&&this.element.setAttribute("aria-label",d);const r=(0,L.append)(this.element,(0,L.$)("div.icon-container"));r.setAttribute("aria-hidden","true"),c.icon&&r.appendChild((0,L.$)(`div${g.ThemeIcon.asCSSSelector(c.icon)}`));const s=(0,L.append)(this.element,(0,L.$)("div.message-container"));if(s.setAttribute("aria-hidden","true"),s.appendChild(this.getBannerMessage(c.message)),this.messageActionsContainer=(0,L.append)(this.element,(0,L.$)("div.message-actions-container")),c.actions)for(const l of c.actions)this._register(this.instantiationService.createInstance(C.Link,this.messageActionsContainer,Object.assign(Object.assign({},l),{tabIndex:-1}),{}));const a=(0,L.append)(this.element,(0,L.$)("div.action-container"));this.actionBar=this._register(new m.ActionBar(a)),this.actionBar.push(this._register(new k.Action("banner.close","Close Banner",g.ThemeIcon.asClassName(u.widgetClose),!0,()=>{typeof c.onClose=="function"&&c.onClose()})),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};i=Ie([pe(0,b.IInstantiationService)],i)}),define(te[713],ie([1,0,7,4,74,14]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UnthemedProductIconTheme=e.getIconsStyleSheet=void 0;function w(C){const u=new m.Emitter,g=(0,k.getIconRegistry)();return g.onDidChange(()=>u.fire()),C==null||C.onDidProductIconThemeChange(()=>u.fire()),{onDidChange:u.event,getCSS(){const t=C?C.getProductIconTheme():new b,n={},i=c=>{const d=t.getIcon(c);if(!d)return;const r=d.font;return r?(n[r.id]=r.definition,`.codicon-${c.id}:before { content: '${d.fontCharacter}'; font-family: ${(0,L.asCSSPropertyValue)(r.id)}; }`):`.codicon-${c.id}:before { content: '${d.fontCharacter}'; }`},o=[];for(let c of g.getIcons()){const d=i(c);d&&o.push(d)}for(let c in n){const d=n[c],r=d.weight?`font-weight: ${d.weight};`:"",s=d.style?`font-style: ${d.style};`:"",a=d.src.map(l=>`${(0,L.asCSSUrl)(l.location)} format('${l.format}')`).join(", ");o.push(`@font-face { src: ${a}; font-family: ${(0,L.asCSSPropertyValue)(c)};${r}${s} font-display: block; }`)}return o.join(`
+`)}}}e.getIconsStyleSheet=w;class b{getIcon(u){const g=(0,k.getIconRegistry)();let t=u.defaults;for(;I.ThemeIcon.isThemeIcon(t);){const n=g.getIcon(t.id);if(!n)return;t=n.defaults}return t}}e.UnthemedProductIconTheme=b}),define(te[714],ie([1,0,7,30,4,27,420,667,36,23,14,2,135,713]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StandaloneThemeService=void 0;const o="vs",c="vs-dark",d="hc-black",r=C.Registry.as(u.Extensions.ColorContribution),s=C.Registry.as(g.Extensions.ThemingContribution);class a{constructor(p,_){this.semanticHighlighting=!1,this.themeData=_;const y=_.base;p.length>0?(l(p)?this.id=p:this.id=y+" "+p,this.themeName=p):(this.id=y,this.themeName=y),this.colors=null,this.defaultColors=Object.create(null),this._tokenTheme=null}get base(){return this.themeData.base}notifyBaseUpdated(){this.themeData.inherit&&(this.colors=null,this._tokenTheme=null)}getColors(){if(!this.colors){const p=new Map;for(let _ in this.themeData.colors)p.set(_,m.Color.fromHex(this.themeData.colors[_]));if(this.themeData.inherit){const _=h(this.themeData.base);for(let y in _.colors)p.has(y)||p.set(y,m.Color.fromHex(_.colors[y]))}this.colors=p}return this.colors}getColor(p,_){const y=this.getColors().get(p);if(y)return y;if(_!==!1)return this.getDefault(p)}getDefault(p){let _=this.defaultColors[p];return _||(_=r.resolveDefaultColor(p,this),this.defaultColors[p]=_,_)}defines(p){return Object.prototype.hasOwnProperty.call(this.getColors(),p)}get type(){switch(this.base){case o:return n.ColorScheme.LIGHT;case d:return n.ColorScheme.HIGH_CONTRAST;default:return n.ColorScheme.DARK}}get tokenTheme(){if(!this._tokenTheme){let p=[],_=[];if(this.themeData.inherit){const N=h(this.themeData.base);p=N.rules,N.encodedTokensColors&&(_=N.encodedTokensColors)}const y=this.themeData.colors["editor.foreground"],E=this.themeData.colors["editor.background"];if(y||E){const N={token:""};y&&(N.foreground=y),E&&(N.background=E),p.push(N)}p=p.concat(this.themeData.rules),this.themeData.encodedTokensColors&&(_=this.themeData.encodedTokensColors),this._tokenTheme=w.TokenTheme.createFromRawTokenTheme(p,_)}return this._tokenTheme}getTokenStyleMetadata(p,_,y){const N=this.tokenTheme._match([p].concat(_).join(".")).metadata,D=I.TokenMetadata.getForeground(N),M=I.TokenMetadata.getFontStyle(N);return{foreground:D,italic:Boolean(M&1),bold:Boolean(M&2),underline:Boolean(M&4),strikethrough:Boolean(M&8)}}}function l(v){return v===o||v===c||v===d}function h(v){switch(v){case o:return b.vs;case c:return b.vs_dark;case d:return b.hc_black}}function f(v){const p=h(v);return new a(v,p)}class S extends t.Disposable{constructor(){super();this._onColorThemeChange=this._register(new k.Emitter),this.onDidColorThemeChange=this._onColorThemeChange.event,this._onProductIconThemeChange=this._register(new k.Emitter),this.onDidProductIconThemeChange=this._onProductIconThemeChange.event,this._environment=Object.create(null),this._builtInProductIconTheme=new i.UnthemedProductIconTheme,this._autoDetectHighContrast=!0,this._knownThemes=new Map,this._knownThemes.set(o,f(o)),this._knownThemes.set(c,f(c)),this._knownThemes.set(d,f(d));const p=(0,i.getIconsStyleSheet)(this);this._codiconCSS=p.getCSS(),this._themeCSS="",this._allCSS=`${this._codiconCSS}
+${this._themeCSS}`,this._globalStyleElement=null,this._styleElements=[],this._colorMapOverride=null,this.setTheme(o),p.onDidChange(()=>{this._codiconCSS=p.getCSS(),this._updateCSS()}),L.addMatchMediaChangeListener("(forced-colors: active)",()=>{this._updateActualTheme()})}registerEditorContainer(p){return L.isInShadowDOM(p)?this._registerShadowDomContainer(p):this._registerRegularEditorContainer()}_registerRegularEditorContainer(){return this._globalStyleElement||(this._globalStyleElement=L.createStyleSheet(),this._globalStyleElement.className="monaco-colors",this._globalStyleElement.textContent=this._allCSS,this._styleElements.push(this._globalStyleElement)),t.Disposable.None}_registerShadowDomContainer(p){const _=L.createStyleSheet(p);return _.className="monaco-colors",_.textContent=this._allCSS,this._styleElements.push(_),{dispose:()=>{for(let y=0;y<this._styleElements.length;y++)if(this._styleElements[y]===_){this._styleElements.splice(y,1);return}}}}defineTheme(p,_){if(!/^[a-z0-9\-]+$/i.test(p))throw new Error("Illegal theme name!");if(!l(_.base)&&!l(p))throw new Error("Illegal theme base!");this._knownThemes.set(p,new a(p,_)),l(p)&&this._knownThemes.forEach(y=>{y.base===p&&y.notifyBaseUpdated()}),this._theme.themeName===p&&this.setTheme(p)}getColorTheme(){return this._theme}setColorMapOverride(p){this._colorMapOverride=p,this._updateThemeOrColorMap()}setTheme(p){let _;this._knownThemes.has(p)?_=this._knownThemes.get(p):_=this._knownThemes.get(o),this._desiredTheme=_,this._updateActualTheme()}_updateActualTheme(){const p=this._autoDetectHighContrast&&window.matchMedia("(forced-colors: active)").matches?this._knownThemes.get(d):this._desiredTheme;this._theme!==p&&(this._theme=p,this._updateThemeOrColorMap())}setAutoDetectHighContrast(p){this._autoDetectHighContrast=p,this._updateActualTheme()}_updateThemeOrColorMap(){const p=[],_={},y={addRule:D=>{_[D]||(p.push(D),_[D]=!0)}};s.getThemingParticipants().forEach(D=>D(this._theme,y,this._environment));const E=[];for(const D of r.getColors()){const M=this._theme.getColor(D.id,!0);M&&E.push(`${(0,u.asCssVariableName)(D.id)}: ${M.toString()};`)}y.addRule(`.monaco-editor { ${E.join(`
+`)} }`);const N=this._colorMapOverride||this._theme.tokenTheme.getColorMap();y.addRule((0,w.generateTokensCSSForColorMap)(N)),this._themeCSS=p.join(`
+`),this._updateCSS(),I.TokenizationRegistry.setColorMap(N),this._onColorThemeChange.fire(this._theme)}_updateCSS(){this._allCSS=`${this._codiconCSS}
+${this._themeCSS}`,this._styleElements.forEach(p=>p.textContent=this._allCSS)}getFileIconTheme(){return{hasFileIcons:!1,hasFolderIcons:!1,hidesExplorerArrows:!1}}getProductIconTheme(){return this._builtInProductIconTheme}}e.StandaloneThemeService=S}),define(te[162],ie([1,0,9]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UndoRedoSource=e.UndoRedoGroup=e.ResourceEditStackSnapshot=e.IUndoRedoService=void 0,e.IUndoRedoService=(0,L.createDecorator)("undoRedoService");class m{constructor(b,C){this.resource=b,this.elements=C}}e.ResourceEditStackSnapshot=m;class k{constructor(){this.id=k._ID++,this.order=1}nextOrder(){return this.id===0?0:this.order++}}e.UndoRedoGroup=k,k._ID=0,k.None=new k;class I{constructor(){this.id=I._ID++,this.order=1}nextOrder(){return this.id===0?0:this.order++}}e.UndoRedoSource=I,I._ID=0,I.None=new I}),define(te[38],ie([1,0,18,30,13,4,2,8,25,11,3,22,50,435,658,272,250,424,425,247,429,94,153,440,119,442,444,121,33,35,162,148,177]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s,a,l,h,f,S,v,p,_,y,E,N,D,M,B){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DidChangeContentEmitter=e.DidChangeDecorationsEmitter=e.ModelDecorationOptions=e.ModelDecorationInjectedTextOptions=e.ModelDecorationMinimapOptions=e.ModelDecorationOverviewRulerOptions=e.TextModel=e.LONG_LINE_BOUNDARY=e.createTextBuffer=e.createTextBufferFactory=void 0;function O(){return new l.PieceTreeTextBufferBuilder}function T(le){const x=O();return x.acceptChunk(le),x.finish()}e.createTextBufferFactory=T;function A(le,x){return(typeof le=="string"?T(le):le).create(x)}e.createTextBuffer=A;let P=0;const F=999;e.LONG_LINE_BOUNDARY=1e4;class W{constructor(x){this._source=x,this._eos=!1}read(){if(this._eos)return null;const x=[];let H=0,U=0;do{const Q=this._source.read();if(Q===null)return this._eos=!0,H===0?null:x.join("");if(Q.length>0&&(x[H++]=Q,U+=Q.length),U>=64*1024)return x.join("")}while(!0)}}const R=()=>{throw new Error("Invalid change accessor")};let z=class Lt extends w.Disposable{constructor(x,H,U,Q=null,Y,ne,ge){super();this._undoRedoService=Y,this._languageService=ne,this._languageConfigurationService=ge,this._onWillDispose=this._register(new I.Emitter),this.onWillDispose=this._onWillDispose.event,this._onDidChangeDecorations=this._register(new ee(Ce=>this.handleBeforeFireDecorationsChangedEvent(Ce))),this.onDidChangeDecorations=this._onDidChangeDecorations.event,this._onDidChangeLanguage=this._register(new I.Emitter),this.onDidChangeLanguage=this._onDidChangeLanguage.event,this._onDidChangeLanguageConfiguration=this._register(new I.Emitter),this.onDidChangeLanguageConfiguration=this._onDidChangeLanguageConfiguration.event,this._onDidChangeTokens=this._register(new I.Emitter),this.onDidChangeTokens=this._onDidChangeTokens.event,this._onDidChangeOptions=this._register(new I.Emitter),this.onDidChangeOptions=this._onDidChangeOptions.event,this._onDidChangeAttached=this._register(new I.Emitter),this.onDidChangeAttached=this._onDidChangeAttached.event,this._onDidChangeInjectedText=this._register(new I.Emitter),this._eventEmitter=this._register(new ue),this._backgroundTokenizationState=0,this._onBackgroundTokenizationStateChanged=this._register(new I.Emitter),P++,this.id="$model"+P,this.isForSimpleWidget=U.isForSimpleWidget,typeof Q=="undefined"||Q===null?this._associatedResource=C.URI.parse("inmemory://model/"+P):this._associatedResource=Q,this._attachedEditorCount=0;const{textBuffer:fe,disposable:ce}=A(x,U.defaultEOL);this._buffer=fe,this._bufferDisposable=ce,this._options=Lt.resolveOptions(this._buffer,U);const he=this._buffer.getLineCount(),ve=this._buffer.getValueLengthInRange(new g.Range(1,1,he,this._buffer.getLineLength(he)+1),0);U.largeFileOptimizations?this._isTooLargeForTokenization=ve>Lt.LARGE_FILE_SIZE_THRESHOLD||he>Lt.LARGE_FILE_LINE_COUNT_THRESHOLD:this._isTooLargeForTokenization=!1,this._isTooLargeForSyncing=ve>Lt.MODEL_SYNC_LIMIT,this._versionId=1,this._alternativeVersionId=1,this._initialUndoRedoSnapshot=null,this._isDisposed=!1,this._isDisposing=!1,this._languageId=H,this._languageRegistryListener=this._languageConfigurationService.onDidChange(Ce=>{Ce.affects(this._languageId)&&this._onDidChangeLanguageConfiguration.fire({})}),this._instanceId=b.singleLetterHash(P),this._lastDecorationId=0,this._decorations=Object.create(null),this._decorationsTree=new J,this._commandManager=new c.EditStack(this,this._undoRedoService),this._isUndoing=!1,this._isRedoing=!1,this._trimAutoWhitespaceLines=null,this._tokens=new p.ContiguousTokensStore(this._languageService.languageIdCodec),this._semanticTokens=new _.SparseTokensStore(this._languageService.languageIdCodec),this._tokenization=new S.TextModelTokenization(this,this._languageService.languageIdCodec),this._bracketPairColorizer=this._register(new i.BracketPairsTextModelPart(this,this._languageConfigurationService)),this._guidesTextModelPart=this._register(new d.GuidesTextModelPart(this,this._languageConfigurationService)),this._decorationProvider=this._register(new o.ColorizedBracketPairsDecorationProvider(this)),this._register(this._decorationProvider.onDidChange(()=>{this._onDidChangeDecorations.beginDeferredEmit(),this._onDidChangeDecorations.fire(),this._onDidChangeDecorations.endDeferredEmit()}))}static resolveOptions(x,H){if(H.detectIndentation){const U=(0,r.guessIndentation)(x,H.tabSize,H.insertSpaces);return new n.TextModelResolvedOptions({tabSize:U.tabSize,indentSize:U.tabSize,insertSpaces:U.insertSpaces,trimAutoWhitespace:H.trimAutoWhitespace,defaultEOL:H.defaultEOL,bracketPairColorizationOptions:H.bracketPairColorizationOptions})}return new n.TextModelResolvedOptions({tabSize:H.tabSize,indentSize:H.indentSize,insertSpaces:H.insertSpaces,trimAutoWhitespace:H.trimAutoWhitespace,defaultEOL:H.defaultEOL,bracketPairColorizationOptions:H.bracketPairColorizationOptions})}onDidChangeContent(x){return this._eventEmitter.slowEvent(H=>x(H.contentChangedEvent))}onDidChangeContentOrInjectedText(x){return(0,w.combinedDisposable)(this._eventEmitter.fastEvent(H=>x(H.rawContentChangedEvent)),this._onDidChangeInjectedText.event(H=>x(H)))}get bracketPairs(){return this._bracketPairColorizer}get guides(){return this._guidesTextModelPart}get backgroundTokenizationState(){return this._backgroundTokenizationState}handleTokenizationProgress(x){if(this._backgroundTokenizationState===2)return;const H=x?2:1;this._backgroundTokenizationState!==H&&(this._backgroundTokenizationState=H,this._bracketPairColorizer.handleDidChangeBackgroundTokenizationState(),this._onBackgroundTokenizationStateChanged.fire())}dispose(){this._isDisposing=!0,this._onWillDispose.fire(),this._languageRegistryListener.dispose(),this._tokenization.dispose(),this._isDisposed=!0,super.dispose(),this._bufferDisposable.dispose(),this._isDisposing=!1;const x=new a.PieceTreeTextBuffer([],"",`
+`,!1,!1,!0,!0);x.dispose(),this._buffer=x,this._bufferDisposable=w.Disposable.None}_assertNotDisposed(){if(this._isDisposed)throw new Error("Model is disposed!")}_emitContentChangedEvent(x,H){this._isDisposing||(this._bracketPairColorizer.handleDidChangeContent(H),this._tokenization.handleDidChangeContent(H),this._eventEmitter.fire(new h.InternalModelContentChangeEvent(x,H)))}setValue(x){if(this._assertNotDisposed(),x===null)return;const{textBuffer:H,disposable:U}=A(x,this._options.defaultEOL);this._setValueFromTextBuffer(H,U)}_createContentChanged2(x,H,U,Q,Y,ne,ge){return{changes:[{range:x,rangeOffset:H,rangeLength:U,text:Q}],eol:this._buffer.getEOL(),versionId:this.getVersionId(),isUndoing:Y,isRedoing:ne,isFlush:ge}}_setValueFromTextBuffer(x,H){this._assertNotDisposed();const U=this.getFullModelRange(),Q=this.getValueLengthInRange(U),Y=this.getLineCount(),ne=this.getLineMaxColumn(Y);this._buffer=x,this._bufferDisposable.dispose(),this._bufferDisposable=H,this._increaseVersionId(),this._tokens.flush(),this._semanticTokens.flush(),this._decorations=Object.create(null),this._decorationsTree=new J,this._commandManager.clear(),this._trimAutoWhitespaceLines=null,this._emitContentChangedEvent(new h.ModelRawContentChangedEvent([new h.ModelRawFlush],this._versionId,!1,!1),this._createContentChanged2(new g.Range(1,1,Y,ne),0,Q,this.getValue(),!1,!1,!0))}setEOL(x){this._assertNotDisposed();const H=x===1?`\r
+`:`
+`;if(this._buffer.getEOL()===H)return;const U=this.getFullModelRange(),Q=this.getValueLengthInRange(U),Y=this.getLineCount(),ne=this.getLineMaxColumn(Y);this._onBeforeEOLChange(),this._buffer.setEOL(H),this._increaseVersionId(),this._onAfterEOLChange(),this._emitContentChangedEvent(new h.ModelRawContentChangedEvent([new h.ModelRawEOLChanged],this._versionId,!1,!1),this._createContentChanged2(new g.Range(1,1,Y,ne),0,Q,this.getValue(),!1,!1,!1))}_onBeforeEOLChange(){this._decorationsTree.ensureAllNodesHaveRanges(this)}_onAfterEOLChange(){const x=this.getVersionId(),H=this._decorationsTree.collectNodesPostOrder();for(let U=0,Q=H.length;U<Q;U++){const Y=H[U],ne=Y.range,ge=Y.cachedAbsoluteStart-Y.start,fe=this._buffer.getOffsetAt(ne.startLineNumber,ne.startColumn),ce=this._buffer.getOffsetAt(ne.endLineNumber,ne.endColumn);Y.cachedAbsoluteStart=fe,Y.cachedAbsoluteEnd=ce,Y.cachedVersionId=x,Y.start=fe-ge,Y.end=ce-ge,(0,s.recomputeMaxEnd)(Y)}}onBeforeAttached(){this._attachedEditorCount++,this._attachedEditorCount===1&&(this._tokenization.handleDidChangeAttached(),this._onDidChangeAttached.fire(void 0))}onBeforeDetached(){this._attachedEditorCount--,this._attachedEditorCount===0&&(this._tokenization.handleDidChangeAttached(),this._onDidChangeAttached.fire(void 0))}isAttachedToEditor(){return this._attachedEditorCount>0}getAttachedEditorCount(){return this._attachedEditorCount}isTooLargeForSyncing(){return this._isTooLargeForSyncing}isTooLargeForTokenization(){return this._isTooLargeForTokenization}isDisposed(){return this._isDisposed}isDominatedByLongLines(){if(this._assertNotDisposed(),this.isTooLargeForTokenization())return!1;let x=0,H=0;const U=this._buffer.getLineCount();for(let Q=1;Q<=U;Q++){const Y=this._buffer.getLineLength(Q);Y>=e.LONG_LINE_BOUNDARY?H+=Y:x+=Y}return H>x}get uri(){return this._associatedResource}getOptions(){return this._assertNotDisposed(),this._options}getFormattingOptions(){return{tabSize:this._options.indentSize,insertSpaces:this._options.insertSpaces}}updateOptions(x){this._assertNotDisposed();const H=typeof x.tabSize!="undefined"?x.tabSize:this._options.tabSize,U=typeof x.indentSize!="undefined"?x.indentSize:this._options.indentSize,Q=typeof x.insertSpaces!="undefined"?x.insertSpaces:this._options.insertSpaces,Y=typeof x.trimAutoWhitespace!="undefined"?x.trimAutoWhitespace:this._options.trimAutoWhitespace,ne=typeof x.bracketColorizationOptions!="undefined"?x.bracketColorizationOptions:this._options.bracketPairColorizationOptions,ge=new n.TextModelResolvedOptions({tabSize:H,indentSize:U,insertSpaces:Q,defaultEOL:this._options.defaultEOL,trimAutoWhitespace:Y,bracketPairColorizationOptions:ne});if(this._options.equals(ge))return;const fe=this._options.createChangeEvent(ge);this._options=ge,this._bracketPairColorizer.handleDidChangeOptions(fe),this._decorationProvider.handleDidChangeOptions(fe),this._onDidChangeOptions.fire(fe)}detectIndentation(x,H){this._assertNotDisposed();const U=(0,r.guessIndentation)(this._buffer,H,x);this.updateOptions({insertSpaces:U.insertSpaces,tabSize:U.tabSize,indentSize:U.tabSize})}normalizeIndentation(x){return this._assertNotDisposed(),(0,B.normalizeIndentation)(x,this._options.indentSize,this._options.insertSpaces)}getVersionId(){return this._assertNotDisposed(),this._versionId}mightContainRTL(){return this._buffer.mightContainRTL()}mightContainUnusualLineTerminators(){return this._buffer.mightContainUnusualLineTerminators()}removeUnusualLineTerminators(x=null){const H=this.findMatches(b.UNUSUAL_LINE_TERMINATORS.source,!1,!0,!1,null,!1,1073741824);this._buffer.resetMightContainUnusualLineTerminators(),this.pushEditOperations(x,H.map(U=>({range:U.range,text:null})),()=>null)}mightContainNonBasicASCII(){return this._buffer.mightContainNonBasicASCII()}getAlternativeVersionId(){return this._assertNotDisposed(),this._alternativeVersionId}getInitialUndoRedoSnapshot(){return this._assertNotDisposed(),this._initialUndoRedoSnapshot}getOffsetAt(x){this._assertNotDisposed();const H=this._validatePosition(x.lineNumber,x.column,0);return this._buffer.getOffsetAt(H.lineNumber,H.column)}getPositionAt(x){this._assertNotDisposed();const H=Math.min(this._buffer.getLength(),Math.max(0,x));return this._buffer.getPositionAt(H)}_increaseVersionId(){this._versionId=this._versionId+1,this._alternativeVersionId=this._versionId}_overwriteVersionId(x){this._versionId=x}_overwriteAlternativeVersionId(x){this._alternativeVersionId=x}_overwriteInitialUndoRedoSnapshot(x){this._initialUndoRedoSnapshot=x}getValue(x,H=!1){this._assertNotDisposed();const U=this.getFullModelRange(),Q=this.getValueInRange(U,x);return H?this._buffer.getBOM()+Q:Q}createSnapshot(x=!1){return new W(this._buffer.createSnapshot(x))}getValueLength(x,H=!1){this._assertNotDisposed();const U=this.getFullModelRange(),Q=this.getValueLengthInRange(U,x);return H?this._buffer.getBOM().length+Q:Q}getValueInRange(x,H=0){return this._assertNotDisposed(),this._buffer.getValueInRange(this.validateRange(x),H)}getValueLengthInRange(x,H=0){return this._assertNotDisposed(),this._buffer.getValueLengthInRange(this.validateRange(x),H)}getCharacterCountInRange(x,H=0){return this._assertNotDisposed(),this._buffer.getCharacterCountInRange(this.validateRange(x),H)}getLineCount(){return this._assertNotDisposed(),this._buffer.getLineCount()}getLineContent(x){if(this._assertNotDisposed(),x<1||x>this.getLineCount())throw new Error("Illegal value for lineNumber");return this._buffer.getLineContent(x)}getLineLength(x){if(this._assertNotDisposed(),x<1||x>this.getLineCount())throw new Error("Illegal value for lineNumber");return this._buffer.getLineLength(x)}getLinesContent(){return this._assertNotDisposed(),this._buffer.getLinesContent()}getEOL(){return this._assertNotDisposed(),this._buffer.getEOL()}getEndOfLineSequence(){return this._assertNotDisposed(),this._buffer.getEOL()===`
+`?0:1}getLineMinColumn(x){return this._assertNotDisposed(),1}getLineMaxColumn(x){if(this._assertNotDisposed(),x<1||x>this.getLineCount())throw new Error("Illegal value for lineNumber");return this._buffer.getLineLength(x)+1}getLineFirstNonWhitespaceColumn(x){if(this._assertNotDisposed(),x<1||x>this.getLineCount())throw new Error("Illegal value for lineNumber");return this._buffer.getLineFirstNonWhitespaceColumn(x)}getLineLastNonWhitespaceColumn(x){if(this._assertNotDisposed(),x<1||x>this.getLineCount())throw new Error("Illegal value for lineNumber");return this._buffer.getLineLastNonWhitespaceColumn(x)}_validateRangeRelaxedNoAllocations(x){const H=this._buffer.getLineCount(),U=x.startLineNumber,Q=x.startColumn;let Y=Math.floor(typeof U=="number"&&!isNaN(U)?U:1),ne=Math.floor(typeof Q=="number"&&!isNaN(Q)?Q:1);if(Y<1)Y=1,ne=1;else if(Y>H)Y=H,ne=this.getLineMaxColumn(Y);else if(ne<=1)ne=1;else{const ve=this.getLineMaxColumn(Y);ne>=ve&&(ne=ve)}const ge=x.endLineNumber,fe=x.endColumn;let ce=Math.floor(typeof ge=="number"&&!isNaN(ge)?ge:1),he=Math.floor(typeof fe=="number"&&!isNaN(fe)?fe:1);if(ce<1)ce=1,he=1;else if(ce>H)ce=H,he=this.getLineMaxColumn(ce);else if(he<=1)he=1;else{const ve=this.getLineMaxColumn(ce);he>=ve&&(he=ve)}return U===Y&&Q===ne&&ge===ce&&fe===he&&x instanceof g.Range&&!(x instanceof t.Selection)?x:new g.Range(Y,ne,ce,he)}_isValidPosition(x,H,U){if(typeof x!="number"||typeof H!="number"||isNaN(x)||isNaN(H)||x<1||H<1||(x|0)!==x||(H|0)!==H)return!1;const Q=this._buffer.getLineCount();if(x>Q)return!1;if(H===1)return!0;const Y=this.getLineMaxColumn(x);if(H>Y)return!1;if(U===1){const ne=this._buffer.getLineCharCode(x,H-2);if(b.isHighSurrogate(ne))return!1}return!0}_validatePosition(x,H,U){const Q=Math.floor(typeof x=="number"&&!isNaN(x)?x:1),Y=Math.floor(typeof H=="number"&&!isNaN(H)?H:1),ne=this._buffer.getLineCount();if(Q<1)return new u.Position(1,1);if(Q>ne)return new u.Position(ne,this.getLineMaxColumn(ne));if(Y<=1)return new u.Position(Q,1);const ge=this.getLineMaxColumn(Q);if(Y>=ge)return new u.Position(Q,ge);if(U===1){const fe=this._buffer.getLineCharCode(Q,Y-2);if(b.isHighSurrogate(fe))return new u.Position(Q,Y-1)}return new u.Position(Q,Y)}validatePosition(x){const H=1;return this._assertNotDisposed(),x instanceof u.Position&&this._isValidPosition(x.lineNumber,x.column,H)?x:this._validatePosition(x.lineNumber,x.column,H)}_isValidRange(x,H){const U=x.startLineNumber,Q=x.startColumn,Y=x.endLineNumber,ne=x.endColumn;if(!this._isValidPosition(U,Q,0)||!this._isValidPosition(Y,ne,0))return!1;if(H===1){const ge=Q>1?this._buffer.getLineCharCode(U,Q-2):0,fe=ne>1&&ne<=this._buffer.getLineLength(Y)?this._buffer.getLineCharCode(Y,ne-2):0,ce=b.isHighSurrogate(ge),he=b.isHighSurrogate(fe);return!ce&&!he}return!0}validateRange(x){const H=1;if(this._assertNotDisposed(),x instanceof g.Range&&!(x instanceof t.Selection)&&this._isValidRange(x,H))return x;const U=this._validatePosition(x.startLineNumber,x.startColumn,0),Q=this._validatePosition(x.endLineNumber,x.endColumn,0),Y=U.lineNumber,ne=U.column,ge=Q.lineNumber,fe=Q.column;if(H===1){const ce=ne>1?this._buffer.getLineCharCode(Y,ne-2):0,he=fe>1&&fe<=this._buffer.getLineLength(ge)?this._buffer.getLineCharCode(ge,fe-2):0,ve=b.isHighSurrogate(ce),Ce=b.isHighSurrogate(he);return!ve&&!Ce?new g.Range(Y,ne,ge,fe):Y===ge&&ne===fe?new g.Range(Y,ne-1,ge,fe-1):ve&&Ce?new g.Range(Y,ne-1,ge,fe+1):ve?new g.Range(Y,ne-1,ge,fe):new g.Range(Y,ne,ge,fe+1)}return new g.Range(Y,ne,ge,fe)}modifyPosition(x,H){this._assertNotDisposed();const U=this.getOffsetAt(x)+H;return this.getPositionAt(Math.min(this._buffer.getLength(),Math.max(0,U)))}getFullModelRange(){this._assertNotDisposed();const x=this.getLineCount();return new g.Range(1,1,x,this.getLineMaxColumn(x))}findMatchesLineByLine(x,H,U,Q){return this._buffer.findMatchesLineByLine(x,H,U,Q)}findMatches(x,H,U,Q,Y,ne,ge=F){this._assertNotDisposed();let fe=null;H!==null&&(Array.isArray(H)||(H=[H]),H.every(ve=>g.Range.isIRange(ve))&&(fe=H.map(ve=>this.validateRange(ve)))),fe===null&&(fe=[this.getFullModelRange()]),fe=fe.sort((ve,Ce)=>ve.startLineNumber-Ce.startLineNumber||ve.startColumn-Ce.startColumn);const ce=[];ce.push(fe.reduce((ve,Ce)=>g.Range.areIntersecting(ve,Ce)?ve.plusRange(Ce):(ce.push(ve),Ce)));let he;if(!U&&x.indexOf(`
+`)<0){const Ce=new f.SearchParams(x,U,Q,Y).parseSearchRequest();if(!Ce)return[];he=be=>this.findMatchesLineByLine(be,Ce,ne,ge)}else he=ve=>f.TextModelSearch.findMatches(this,new f.SearchParams(x,U,Q,Y),ve,ne,ge);return ce.map(he).reduce((ve,Ce)=>ve.concat(Ce),[])}findNextMatch(x,H,U,Q,Y,ne){this._assertNotDisposed();const ge=this.validatePosition(H);if(!U&&x.indexOf(`
+`)<0){const ce=new f.SearchParams(x,U,Q,Y).parseSearchRequest();if(!ce)return null;const he=this.getLineCount();let ve=new g.Range(ge.lineNumber,ge.column,he,this.getLineMaxColumn(he)),Ce=this.findMatchesLineByLine(ve,ce,ne,1);return f.TextModelSearch.findNextMatch(this,new f.SearchParams(x,U,Q,Y),ge,ne),Ce.length>0||(ve=new g.Range(1,1,ge.lineNumber,this.getLineMaxColumn(ge.lineNumber)),Ce=this.findMatchesLineByLine(ve,ce,ne,1),Ce.length>0)?Ce[0]:null}return f.TextModelSearch.findNextMatch(this,new f.SearchParams(x,U,Q,Y),ge,ne)}findPreviousMatch(x,H,U,Q,Y,ne){this._assertNotDisposed();const ge=this.validatePosition(H);return f.TextModelSearch.findPreviousMatch(this,new f.SearchParams(x,U,Q,Y),ge,ne)}pushStackElement(){this._commandManager.pushStackElement()}popStackElement(){this._commandManager.popStackElement()}pushEOL(x){if((this.getEOL()===`
+`?0:1)!==x)try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._initialUndoRedoSnapshot===null&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEOL(x)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_validateEditOperation(x){return x instanceof n.ValidAnnotatedEditOperation?x:new n.ValidAnnotatedEditOperation(x.identifier||null,this.validateRange(x.range),x.text,x.forceMoveMarkers||!1,x.isAutoWhitespaceEdit||!1,x._isTracked||!1)}_validateEditOperations(x){const H=[];for(let U=0,Q=x.length;U<Q;U++)H[U]=this._validateEditOperation(x[U]);return H}pushEditOperations(x,H,U){try{return this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._pushEditOperations(x,this._validateEditOperations(H),U)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_pushEditOperations(x,H,U){if(this._options.trimAutoWhitespace&&this._trimAutoWhitespaceLines){const Q=H.map(ne=>({range:this.validateRange(ne.range),text:ne.text}));let Y=!0;if(x)for(let ne=0,ge=x.length;ne<ge;ne++){const fe=x[ne];let ce=!1;for(let he=0,ve=Q.length;he<ve;he++){const Ce=Q[he].range,be=Ce.startLineNumber>fe.endLineNumber,de=fe.startLineNumber>Ce.endLineNumber;if(!be&&!de){ce=!0;break}}if(!ce){Y=!1;break}}if(Y)for(let ne=0,ge=this._trimAutoWhitespaceLines.length;ne<ge;ne++){const fe=this._trimAutoWhitespaceLines[ne],ce=this.getLineMaxColumn(fe);let he=!0;for(let ve=0,Ce=Q.length;ve<Ce;ve++){const be=Q[ve].range,de=Q[ve].text;if(!(fe<be.startLineNumber||fe>be.endLineNumber)&&!(fe===be.startLineNumber&&be.startColumn===ce&&be.isEmpty()&&de&&de.length>0&&de.charAt(0)===`
+`)&&!(fe===be.startLineNumber&&be.startColumn===1&&be.isEmpty()&&de&&de.length>0&&de.charAt(de.length-1)===`
+`)){he=!1;break}}if(he){const ve=new g.Range(fe,1,fe,ce);H.push(new n.ValidAnnotatedEditOperation(null,ve,null,!1,!1,!1))}}this._trimAutoWhitespaceLines=null}return this._initialUndoRedoSnapshot===null&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEditOperation(x,H,U)}_applyUndo(x,H,U,Q){const Y=x.map(ne=>{const ge=this.getPositionAt(ne.newPosition),fe=this.getPositionAt(ne.newEnd);return{range:new g.Range(ge.lineNumber,ge.column,fe.lineNumber,fe.column),text:ne.oldText}});this._applyUndoRedoEdits(Y,H,!0,!1,U,Q)}_applyRedo(x,H,U,Q){const Y=x.map(ne=>{const ge=this.getPositionAt(ne.oldPosition),fe=this.getPositionAt(ne.oldEnd);return{range:new g.Range(ge.lineNumber,ge.column,fe.lineNumber,fe.column),text:ne.newText}});this._applyUndoRedoEdits(Y,H,!1,!0,U,Q)}_applyUndoRedoEdits(x,H,U,Q,Y,ne){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._isUndoing=U,this._isRedoing=Q,this.applyEdits(x,!1),this.setEOL(H),this._overwriteAlternativeVersionId(Y)}finally{this._isUndoing=!1,this._isRedoing=!1,this._eventEmitter.endDeferredEmit(ne),this._onDidChangeDecorations.endDeferredEmit()}}applyEdits(x,H=!1){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit();const U=this._validateEditOperations(x);return this._doApplyEdits(U,H)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_doApplyEdits(x,H){const U=this._buffer.getLineCount(),Q=this._buffer.applyEdits(x,this._options.trimAutoWhitespace,H),Y=this._buffer.getLineCount(),ne=Q.changes;if(this._trimAutoWhitespaceLines=Q.trimAutoWhitespaceLineNumbers,ne.length!==0){for(let ce=0,he=ne.length;ce<he;ce++){const ve=ne[ce],[Ce,be,de]=(0,v.countEOL)(ve.text);this._tokens.acceptEdit(ve.range,Ce,be),this._semanticTokens.acceptEdit(ve.range,Ce,be,de,ve.text.length>0?ve.text.charCodeAt(0):0),this._decorationsTree.acceptReplace(ve.rangeOffset,ve.rangeLength,ve.text.length,ve.forceMoveMarkers)}const ge=[];this._increaseVersionId();let fe=U;for(let ce=0,he=ne.length;ce<he;ce++){const ve=ne[ce],[Ce]=(0,v.countEOL)(ve.text);this._onDidChangeDecorations.fire();const be=ve.range.startLineNumber,de=ve.range.endLineNumber,me=de-be,_e=Ce,ye=Math.min(me,_e),ke=_e-me,Te=Y-fe-ke+be,Me=Te,We=Te+_e,xe=this._decorationsTree.getInjectedTextInInterval(this,this.getOffsetAt(new u.Position(Me,1)),this.getOffsetAt(new u.Position(We,this.getLineMaxColumn(We))),0),He=h.LineInjectedText.fromDecorations(xe),Le=new L.ArrayQueue(He);for(let Se=ye;Se>=0;Se--){const De=be+Se,Pe=Te+Se;Le.takeFromEndWhile(ze=>ze.lineNumber>Pe);const Fe=Le.takeFromEndWhile(ze=>ze.lineNumber===Pe);ge.push(new h.ModelRawLineChanged(De,this.getLineContent(Pe),Fe))}if(ye<me){const Se=be+ye;ge.push(new h.ModelRawLinesDeleted(Se+1,de))}if(ye<_e){const Se=new L.ArrayQueue(He),De=be+ye,Pe=_e-ye,Fe=Y-fe-Pe+De+1,ze=[],Ke=[];for(let $e=0;$e<Pe;$e++){const Ve=Fe+$e;Ke[$e]=this.getLineContent(Ve),Se.takeWhile(tt=>tt.lineNumber<Ve),ze[$e]=Se.takeWhile(tt=>tt.lineNumber===Ve)}ge.push(new h.ModelRawLinesInserted(De+1,be+_e,Ke,ze))}fe+=ke}this._emitContentChangedEvent(new h.ModelRawContentChangedEvent(ge,this.getVersionId(),this._isUndoing,this._isRedoing),{changes:ne,eol:this._buffer.getEOL(),versionId:this.getVersionId(),isUndoing:this._isUndoing,isRedoing:this._isRedoing,isFlush:!1})}return Q.reverseEdits===null?void 0:Q.reverseEdits}undo(){return this._undoRedoService.undo(this.uri)}canUndo(){return this._undoRedoService.canUndo(this.uri)}redo(){return this._undoRedoService.redo(this.uri)}canRedo(){return this._undoRedoService.canRedo(this.uri)}handleBeforeFireDecorationsChangedEvent(x){if(x===null||x.size===0)return;const U=[...x].map(Q=>new h.ModelRawLineChanged(Q,this.getLineContent(Q),this._getInjectedTextInLine(Q)));this._onDidChangeInjectedText.fire(new h.ModelInjectedTextChangedEvent(U))}changeDecorations(x,H=0){this._assertNotDisposed();try{return this._onDidChangeDecorations.beginDeferredEmit(),this._changeDecorations(H,x)}finally{this._onDidChangeDecorations.endDeferredEmit()}}_changeDecorations(x,H){const U={addDecoration:(Y,ne)=>this._deltaDecorationsImpl(x,[],[{range:Y,options:ne}])[0],changeDecoration:(Y,ne)=>{this._changeDecorationImpl(Y,ne)},changeDecorationOptions:(Y,ne)=>{this._changeDecorationOptionsImpl(Y,ae(ne))},removeDecoration:Y=>{this._deltaDecorationsImpl(x,[Y],[])},deltaDecorations:(Y,ne)=>Y.length===0&&ne.length===0?[]:this._deltaDecorationsImpl(x,Y,ne)};let Q=null;try{Q=H(U)}catch(Y){(0,k.onUnexpectedError)(Y)}return U.addDecoration=R,U.changeDecoration=R,U.changeDecorationOptions=R,U.removeDecoration=R,U.deltaDecorations=R,Q}deltaDecorations(x,H,U=0){if(this._assertNotDisposed(),x||(x=[]),x.length===0&&H.length===0)return[];try{return this._onDidChangeDecorations.beginDeferredEmit(),this._deltaDecorationsImpl(U,x,H)}finally{this._onDidChangeDecorations.endDeferredEmit()}}_getTrackedRange(x){return this.getDecorationRange(x)}_setTrackedRange(x,H,U){const Q=x?this._decorations[x]:null;if(!Q)return H?this._deltaDecorationsImpl(0,[],[{range:H,options:oe[U]}])[0]:null;if(!H)return this._decorationsTree.delete(Q),delete this._decorations[Q.id],null;const Y=this._validateRangeRelaxedNoAllocations(H),ne=this._buffer.getOffsetAt(Y.startLineNumber,Y.startColumn),ge=this._buffer.getOffsetAt(Y.endLineNumber,Y.endColumn);return this._decorationsTree.delete(Q),Q.reset(this.getVersionId(),ne,ge,Y),Q.setOptions(oe[U]),this._decorationsTree.insert(Q),Q.id}removeAllDecorationsWithOwnerId(x){if(this._isDisposed)return;const H=this._decorationsTree.collectNodesFromOwner(x);for(let U=0,Q=H.length;U<Q;U++){const Y=H[U];this._decorationsTree.delete(Y),delete this._decorations[Y.id]}}getDecorationOptions(x){const H=this._decorations[x];return H?H.options:null}getDecorationRange(x){const H=this._decorations[x];return H?this._decorationsTree.getNodeRange(this,H):null}getLineDecorations(x,H=0,U=!1){return x<1||x>this.getLineCount()?[]:this.getLinesDecorations(x,x,H,U)}getLinesDecorations(x,H,U=0,Q=!1){const Y=this.getLineCount(),ne=Math.min(Y,Math.max(1,x)),ge=Math.min(Y,Math.max(1,H)),fe=this.getLineMaxColumn(ge),ce=new g.Range(ne,1,ge,fe),he=this._getDecorationsInRange(ce,U,Q);return he.push(...this._decorationProvider.getDecorationsInRange(ce,U,Q)),he}getDecorationsInRange(x,H=0,U=!1){const Q=this.validateRange(x),Y=this._getDecorationsInRange(Q,H,U);return Y.push(...this._decorationProvider.getDecorationsInRange(Q,H,U)),Y}getOverviewRulerDecorations(x=0,H=!1){return this._decorationsTree.getAll(this,x,H,!0)}getInjectedTextDecorations(x=0){return this._decorationsTree.getAllInjectedText(this,x)}_getInjectedTextInLine(x){const H=this._buffer.getOffsetAt(x,1),U=H+this._buffer.getLineLength(x),Q=this._decorationsTree.getInjectedTextInInterval(this,H,U,0);return h.LineInjectedText.fromDecorations(Q).filter(Y=>Y.lineNumber===x)}getAllDecorations(x=0,H=!1){let U=this._decorationsTree.getAll(this,x,H,!1);return U=U.concat(this._decorationProvider.getAllDecorations(x,H)),U}_getDecorationsInRange(x,H,U){const Q=this._buffer.getOffsetAt(x.startLineNumber,x.startColumn),Y=this._buffer.getOffsetAt(x.endLineNumber,x.endColumn);return this._decorationsTree.getAllInInterval(this,Q,Y,H,U)}getRangeAt(x,H){return this._buffer.getRangeAt(x,H-x)}_changeDecorationImpl(x,H){const U=this._decorations[x];if(!U)return;if(U.options.after){const ge=this.getDecorationRange(x);this._onDidChangeDecorations.recordLineAffectedByInjectedText(ge.endLineNumber)}if(U.options.before){const ge=this.getDecorationRange(x);this._onDidChangeDecorations.recordLineAffectedByInjectedText(ge.startLineNumber)}const Q=this._validateRangeRelaxedNoAllocations(H),Y=this._buffer.getOffsetAt(Q.startLineNumber,Q.startColumn),ne=this._buffer.getOffsetAt(Q.endLineNumber,Q.endColumn);this._decorationsTree.delete(U),U.reset(this.getVersionId(),Y,ne,Q),this._decorationsTree.insert(U),this._onDidChangeDecorations.checkAffectedAndFire(U.options),U.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(Q.endLineNumber),U.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(Q.startLineNumber)}_changeDecorationOptionsImpl(x,H){const U=this._decorations[x];if(!U)return;const Q=!!(U.options.overviewRuler&&U.options.overviewRuler.color),Y=!!(H.overviewRuler&&H.overviewRuler.color);if(this._onDidChangeDecorations.checkAffectedAndFire(U.options),this._onDidChangeDecorations.checkAffectedAndFire(H),U.options.after||H.after){const ne=this._decorationsTree.getNodeRange(this,U);this._onDidChangeDecorations.recordLineAffectedByInjectedText(ne.endLineNumber)}if(U.options.before||H.before){const ne=this._decorationsTree.getNodeRange(this,U);this._onDidChangeDecorations.recordLineAffectedByInjectedText(ne.startLineNumber)}Q!==Y?(this._decorationsTree.delete(U),U.setOptions(H),this._decorationsTree.insert(U)):U.setOptions(H)}_deltaDecorationsImpl(x,H,U){const Q=this.getVersionId(),Y=H.length;let ne=0;const ge=U.length;let fe=0;const ce=new Array(ge);for(;ne<Y||fe<ge;){let he=null;if(ne<Y){do he=this._decorations[H[ne++]];while(!he&&ne<Y);if(he){if(he.options.after){const ve=this._decorationsTree.getNodeRange(this,he);this._onDidChangeDecorations.recordLineAffectedByInjectedText(ve.endLineNumber)}if(he.options.before){const ve=this._decorationsTree.getNodeRange(this,he);this._onDidChangeDecorations.recordLineAffectedByInjectedText(ve.startLineNumber)}this._decorationsTree.delete(he),this._onDidChangeDecorations.checkAffectedAndFire(he.options)}}if(fe<ge){if(!he){const _e=++this._lastDecorationId,ye=`${this._instanceId};${_e}`;he=new s.IntervalNode(ye,0,0),this._decorations[ye]=he}const ve=U[fe],Ce=this._validateRangeRelaxedNoAllocations(ve.range),be=ae(ve.options),de=this._buffer.getOffsetAt(Ce.startLineNumber,Ce.startColumn),me=this._buffer.getOffsetAt(Ce.endLineNumber,Ce.endColumn);he.ownerId=x,he.reset(Q,de,me,Ce),he.setOptions(be),he.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(Ce.endLineNumber),he.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(Ce.startLineNumber),this._onDidChangeDecorations.checkAffectedAndFire(be),this._decorationsTree.insert(he),ce[fe]=he.id,fe++}else he&&delete this._decorations[he.id]}return ce}setTokens(x,H=!1){if(x.length!==0){const U=[];for(let Q=0,Y=x.length;Q<Y;Q++){const ne=x[Q];let ge=0,fe=0,ce=!1;for(let he=ne.startLineNumber;he<=ne.endLineNumber;he++)ce?(this._tokens.setTokens(this._languageId,he-1,this._buffer.getLineLength(he),ne.getLineTokens(he),!1),fe=he):this._tokens.setTokens(this._languageId,he-1,this._buffer.getLineLength(he),ne.getLineTokens(he),!0)&&(ce=!0,ge=he,fe=he);ce&&U.push({fromLineNumber:ge,toLineNumber:fe})}U.length>0&&this._emitModelTokensChangedEvent({tokenizationSupportChanged:!1,semanticTokensApplied:!1,ranges:U})}this.handleTokenizationProgress(H)}setSemanticTokens(x,H){this._semanticTokens.set(x,H),this._emitModelTokensChangedEvent({tokenizationSupportChanged:!1,semanticTokensApplied:x!==null,ranges:[{fromLineNumber:1,toLineNumber:this.getLineCount()}]})}hasCompleteSemanticTokens(){return this._semanticTokens.isComplete()}hasSomeSemanticTokens(){return!this._semanticTokens.isEmpty()}setPartialSemanticTokens(x,H){if(this.hasCompleteSemanticTokens())return;const U=this.validateRange(this._semanticTokens.setPartial(x,H));this._emitModelTokensChangedEvent({tokenizationSupportChanged:!1,semanticTokensApplied:!0,ranges:[{fromLineNumber:U.startLineNumber,toLineNumber:U.endLineNumber}]})}tokenizeViewport(x,H){x=Math.max(1,x),H=Math.min(this._buffer.getLineCount(),H),this._tokenization.tokenizeViewport(x,H)}clearTokens(){this._tokens.flush(),this._emitModelTokensChangedEvent({tokenizationSupportChanged:!0,semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._buffer.getLineCount()}]})}_emitModelTokensChangedEvent(x){this._isDisposing||(this._bracketPairColorizer.handleDidChangeTokens(x),this._onDidChangeTokens.fire(x))}resetTokenization(){this._tokenization.reset()}forceTokenization(x){if(x<1||x>this.getLineCount())throw new Error("Illegal value for lineNumber");this._tokenization.forceTokenization(x)}isCheapToTokenize(x){return this._tokenization.isCheapToTokenize(x)}tokenizeIfCheap(x){this.isCheapToTokenize(x)&&this.forceTokenization(x)}getLineTokens(x){if(x<1||x>this.getLineCount())throw new Error("Illegal value for lineNumber");return this._getLineTokens(x)}_getLineTokens(x){const H=this.getLineContent(x),U=this._tokens.getTokens(this._languageId,x-1,H);return this._semanticTokens.addSparseTokens(x,U)}getLanguageId(){return this._languageId}setMode(x){if(this._languageId===x)return;const H={oldLanguage:this._languageId,newLanguage:x};this._languageId=x,this._bracketPairColorizer.handleDidChangeLanguage(H),this._tokenization.handleDidChangeLanguage(H),this._onDidChangeLanguage.fire(H),this._onDidChangeLanguageConfiguration.fire({})}getLanguageIdAtPosition(x,H){const U=this.validatePosition(new u.Position(x,H)),Q=this.getLineTokens(U.lineNumber);return Q.getLanguageId(Q.findTokenIndexAtOffset(U.column-1))}getTokenTypeIfInsertingCharacter(x,H,U){const Q=this.validatePosition(new u.Position(x,H));return this._tokenization.getTokenTypeIfInsertingCharacter(Q,U)}tokenizeLineWithEdit(x,H,U){const Q=this.validatePosition(x);return this._tokenization.tokenizeLineWithEdit(Q,H,U)}getLanguageConfiguration(x){return this._languageConfigurationService.getLanguageConfiguration(x)}getWordAtPosition(x){this._assertNotDisposed();const H=this.validatePosition(x),U=this.getLineContent(H.lineNumber),Q=this._getLineTokens(H.lineNumber),Y=Q.findTokenIndexAtOffset(H.column-1),[ne,ge]=Lt._findLanguageBoundaries(Q,Y),fe=(0,y.getWordAtText)(H.column,this.getLanguageConfiguration(Q.getLanguageId(Y)).getWordDefinition(),U.substring(ne,ge),ne);if(fe&&fe.startColumn<=x.column&&x.column<=fe.endColumn)return fe;if(Y>0&&ne===H.column-1){const[ce,he]=Lt._findLanguageBoundaries(Q,Y-1),ve=(0,y.getWordAtText)(H.column,this.getLanguageConfiguration(Q.getLanguageId(Y-1)).getWordDefinition(),U.substring(ce,he),ce);if(ve&&ve.startColumn<=x.column&&x.column<=ve.endColumn)return ve}return null}static _findLanguageBoundaries(x,H){const U=x.getLanguageId(H);let Q=0;for(let ne=H;ne>=0&&x.getLanguageId(ne)===U;ne--)Q=x.getStartOffset(ne);let Y=x.getLineContent().length;for(let ne=H,ge=x.getCount();ne<ge&&x.getLanguageId(ne)===U;ne++)Y=x.getEndOffset(ne);return[Q,Y]}getWordUntilPosition(x){const H=this.getWordAtPosition(x);return H?{word:H.word.substr(0,x.column-H.startColumn),startColumn:H.startColumn,endColumn:x.column}:{word:"",startColumn:x.column,endColumn:x.column}}normalizePosition(x,H){return x}getLineIndentColumn(x){return j(this.getLineContent(x))+1}};z.MODEL_SYNC_LIMIT=50*1024*1024,z.LARGE_FILE_SIZE_THRESHOLD=20*1024*1024,z.LARGE_FILE_LINE_COUNT_THRESHOLD=300*1e3,z.DEFAULT_CREATION_OPTIONS={isForSimpleWidget:!1,tabSize:M.EDITOR_MODEL_DEFAULTS.tabSize,indentSize:M.EDITOR_MODEL_DEFAULTS.indentSize,insertSpaces:M.EDITOR_MODEL_DEFAULTS.insertSpaces,detectIndentation:!1,defaultEOL:1,trimAutoWhitespace:M.EDITOR_MODEL_DEFAULTS.trimAutoWhitespace,largeFileOptimizations:M.EDITOR_MODEL_DEFAULTS.largeFileOptimizations,bracketPairColorizationOptions:M.EDITOR_MODEL_DEFAULTS.bracketPairColorizationOptions},z=Ie([pe(4,D.IUndoRedoService),pe(5,N.ILanguageService),pe(6,E.ILanguageConfigurationService)],z),e.TextModel=z;function j(le){let x=0;for(const H of le)if(H===" "||H==="	")x++;else break;return x}function $(le){return!!(le.options.overviewRuler&&le.options.overviewRuler.color)}function G(le){return!!le.options.after||!!le.options.before}class J{constructor(){this._decorationsTree0=new s.IntervalTree,this._decorationsTree1=new s.IntervalTree,this._injectedTextDecorationsTree=new s.IntervalTree}ensureAllNodesHaveRanges(x){this.getAll(x,0,!1,!1)}_ensureNodesHaveRanges(x,H){for(const U of H)U.range===null&&(U.range=x.getRangeAt(U.cachedAbsoluteStart,U.cachedAbsoluteEnd));return H}getAllInInterval(x,H,U,Q,Y){const ne=x.getVersionId(),ge=this._intervalSearch(H,U,Q,Y,ne);return this._ensureNodesHaveRanges(x,ge)}_intervalSearch(x,H,U,Q,Y){const ne=this._decorationsTree0.intervalSearch(x,H,U,Q,Y),ge=this._decorationsTree1.intervalSearch(x,H,U,Q,Y),fe=this._injectedTextDecorationsTree.intervalSearch(x,H,U,Q,Y);return ne.concat(ge).concat(fe)}getInjectedTextInInterval(x,H,U,Q){const Y=x.getVersionId(),ne=this._injectedTextDecorationsTree.intervalSearch(H,U,Q,!1,Y);return this._ensureNodesHaveRanges(x,ne).filter(ge=>ge.options.showIfCollapsed||!ge.range.isEmpty())}getAllInjectedText(x,H){const U=x.getVersionId(),Q=this._injectedTextDecorationsTree.search(H,!1,U);return this._ensureNodesHaveRanges(x,Q).filter(Y=>Y.options.showIfCollapsed||!Y.range.isEmpty())}getAll(x,H,U,Q){const Y=x.getVersionId(),ne=this._search(H,U,Q,Y);return this._ensureNodesHaveRanges(x,ne)}_search(x,H,U,Q){if(U)return this._decorationsTree1.search(x,H,Q);{const Y=this._decorationsTree0.search(x,H,Q),ne=this._decorationsTree1.search(x,H,Q),ge=this._injectedTextDecorationsTree.search(x,H,Q);return Y.concat(ne).concat(ge)}}collectNodesFromOwner(x){const H=this._decorationsTree0.collectNodesFromOwner(x),U=this._decorationsTree1.collectNodesFromOwner(x),Q=this._injectedTextDecorationsTree.collectNodesFromOwner(x);return H.concat(U).concat(Q)}collectNodesPostOrder(){const x=this._decorationsTree0.collectNodesPostOrder(),H=this._decorationsTree1.collectNodesPostOrder(),U=this._injectedTextDecorationsTree.collectNodesPostOrder();return x.concat(H).concat(U)}insert(x){G(x)?this._injectedTextDecorationsTree.insert(x):$(x)?this._decorationsTree1.insert(x):this._decorationsTree0.insert(x)}delete(x){G(x)?this._injectedTextDecorationsTree.delete(x):$(x)?this._decorationsTree1.delete(x):this._decorationsTree0.delete(x)}getNodeRange(x,H){const U=x.getVersionId();return H.cachedVersionId!==U&&this._resolveNode(H,U),H.range===null&&(H.range=x.getRangeAt(H.cachedAbsoluteStart,H.cachedAbsoluteEnd)),H.range}_resolveNode(x,H){G(x)?this._injectedTextDecorationsTree.resolveNode(x,H):$(x)?this._decorationsTree1.resolveNode(x,H):this._decorationsTree0.resolveNode(x,H)}acceptReplace(x,H,U,Q){this._decorationsTree0.acceptReplace(x,H,U,Q),this._decorationsTree1.acceptReplace(x,H,U,Q),this._injectedTextDecorationsTree.acceptReplace(x,H,U,Q)}}function re(le){return le.replace(/[^a-z0-9\-_]/gi," ")}class se{constructor(x){this.color=x.color||"",this.darkColor=x.darkColor||""}}class Z extends se{constructor(x){super(x);this._resolvedColor=null,this.position=typeof x.position=="number"?x.position:n.OverviewRulerLane.Center}getColor(x){return this._resolvedColor||(x.type!=="light"&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,x):this._resolvedColor=this._resolveColor(this.color,x)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=null}_resolveColor(x,H){if(typeof x=="string")return x;const U=x?H.getColor(x.id):null;return U?U.toString():""}}e.ModelDecorationOverviewRulerOptions=Z;class V extends se{constructor(x){super(x);this.position=x.position}getColor(x){return this._resolvedColor||(x.type!=="light"&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,x):this._resolvedColor=this._resolveColor(this.color,x)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=void 0}_resolveColor(x,H){return typeof x=="string"?m.Color.fromHex(x):H.getColor(x.id)}}e.ModelDecorationMinimapOptions=V;class K{constructor(x){this.content=x.content||"",this.inlineClassName=x.inlineClassName||null,this.inlineClassNameAffectsLetterSpacing=x.inlineClassNameAffectsLetterSpacing||!1,this.attachedData=x.attachedData||null,this.cursorStops=x.cursorStops||null}static from(x){return x instanceof K?x:new K(x)}}e.ModelDecorationInjectedTextOptions=K;class X{constructor(x){var H,U;this.description=x.description,this.stickiness=x.stickiness||0,this.zIndex=x.zIndex||0,this.className=x.className?re(x.className):null,this.hoverMessage=x.hoverMessage||null,this.glyphMarginHoverMessage=x.glyphMarginHoverMessage||null,this.isWholeLine=x.isWholeLine||!1,this.showIfCollapsed=x.showIfCollapsed||!1,this.collapseOnReplaceEdit=x.collapseOnReplaceEdit||!1,this.overviewRuler=x.overviewRuler?new Z(x.overviewRuler):null,this.minimap=x.minimap?new V(x.minimap):null,this.glyphMarginClassName=x.glyphMarginClassName?re(x.glyphMarginClassName):null,this.linesDecorationsClassName=x.linesDecorationsClassName?re(x.linesDecorationsClassName):null,this.firstLineDecorationClassName=x.firstLineDecorationClassName?re(x.firstLineDecorationClassName):null,this.marginClassName=x.marginClassName?re(x.marginClassName):null,this.inlineClassName=x.inlineClassName?re(x.inlineClassName):null,this.inlineClassNameAffectsLetterSpacing=x.inlineClassNameAffectsLetterSpacing||!1,this.beforeContentClassName=x.beforeContentClassName?re(x.beforeContentClassName):null,this.afterContentClassName=x.afterContentClassName?re(x.afterContentClassName):null,this.after=x.after?K.from(x.after):null,this.before=x.before?K.from(x.before):null,this.hideInCommentTokens=(H=x.hideInCommentTokens)!==null&&H!==void 0?H:!1,this.hideInStringTokens=(U=x.hideInStringTokens)!==null&&U!==void 0?U:!1}static register(x){return new X(x)}static createDynamic(x){return new X(x)}}e.ModelDecorationOptions=X,X.EMPTY=X.register({description:"empty"});const oe=[X.register({description:"tracked-range-always-grows-when-typing-at-edges",stickiness:0}),X.register({description:"tracked-range-never-grows-when-typing-at-edges",stickiness:1}),X.register({description:"tracked-range-grows-only-when-typing-before",stickiness:2}),X.register({description:"tracked-range-grows-only-when-typing-after",stickiness:3})];function ae(le){return le instanceof X?le:X.createDynamic(le)}class ee extends w.Disposable{constructor(x){super();this.handleBeforeFire=x,this._actual=this._register(new I.Emitter),this.event=this._actual.event,this._affectedInjectedTextLines=null,this._deferredCnt=0,this._shouldFire=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(){var x;if(this._deferredCnt--,this._deferredCnt===0){if(this._shouldFire){this.handleBeforeFire(this._affectedInjectedTextLines);const H={affectsMinimap:this._affectsMinimap,affectsOverviewRuler:this._affectsOverviewRuler};this._shouldFire=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._actual.fire(H)}(x=this._affectedInjectedTextLines)===null||x===void 0||x.clear(),this._affectedInjectedTextLines=null}}recordLineAffectedByInjectedText(x){this._affectedInjectedTextLines||(this._affectedInjectedTextLines=new Set),this._affectedInjectedTextLines.add(x)}checkAffectedAndFire(x){this._affectsMinimap||(this._affectsMinimap=!!(x.minimap&&x.minimap.position)),this._affectsOverviewRuler||(this._affectsOverviewRuler=!!(x.overviewRuler&&x.overviewRuler.color)),this._shouldFire=!0}fire(){this._affectsMinimap=!0,this._affectsOverviewRuler=!0,this._shouldFire=!0}}e.DidChangeDecorationsEmitter=ee;class ue extends w.Disposable{constructor(){super();this._fastEmitter=this._register(new I.Emitter),this.fastEvent=this._fastEmitter.event,this._slowEmitter=this._register(new I.Emitter),this.slowEvent=this._slowEmitter.event,this._deferredCnt=0,this._deferredEvent=null}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(x=null){if(this._deferredCnt--,this._deferredCnt===0&&this._deferredEvent!==null){this._deferredEvent.rawContentChangedEvent.resultingSelection=x;const H=this._deferredEvent;this._deferredEvent=null,this._fastEmitter.fire(H),this._slowEmitter.fire(H)}}fire(x){if(this._deferredCnt>0){this._deferredEvent?this._deferredEvent=this._deferredEvent.merge(x):this._deferredEvent=x;return}this._fastEmitter.fire(x),this._slowEmitter.fire(x)}}e.DidChangeContentEmitter=ue}),define(te[297],ie([1,0,4,2,16,13,38,148,81,35,48,156,41,10,21,14,66,162,114,272,45,287,274,40,33,67,55,20]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s,a,l,h,f,S,v,p,_,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ModelSemanticColoring=e.isSemanticColoringEnabled=e.SEMANTIC_HIGHLIGHTING_SETTING_ID=e.ModelService=void 0;function E(R){return R.toString()}function N(R){const z=new s.StringSHA1,j=R.createSnapshot();let $;for(;$=j.read();)z.update($);return z.digest()}class D{constructor(z,j,$){this._modelEventListeners=new m.DisposableStore,this.model=z,this._languageSelection=null,this._languageSelectionListener=null,this._modelEventListeners.add(z.onWillDispose(()=>j(z))),this._modelEventListeners.add(z.onDidChangeLanguage(G=>$(z,G)))}_disposeLanguageSelection(){this._languageSelectionListener&&(this._languageSelectionListener.dispose(),this._languageSelectionListener=null)}dispose(){this._modelEventListeners.dispose(),this._disposeLanguageSelection()}setLanguage(z){this._disposeLanguageSelection(),this._languageSelection=z,this._languageSelectionListener=this._languageSelection.onDidChange(()=>this.model.setMode(z.languageId)),this.model.setMode(z.languageId)}}const M=k.isLinux||k.isMacintosh?1:2;class B{constructor(z,j,$,G,J,re,se,Z){this.uri=z,this.initialUndoRedoSnapshot=j,this.time=$,this.sharesUndoRedoStack=G,this.heapSize=J,this.sha1=re,this.versionId=se,this.alternativeVersionId=Z}}let O=class Nt extends m.Disposable{constructor(z,j,$,G,J,re,se,Z,V){super();this._configurationService=z,this._resourcePropertiesService=j,this._themeService=$,this._logService=G,this._undoRedoService=J,this._languageService=re,this._languageConfigurationService=se,this._languageFeatureDebounceService=Z,this._onModelAdded=this._register(new L.Emitter),this.onModelAdded=this._onModelAdded.event,this._onModelRemoved=this._register(new L.Emitter),this.onModelRemoved=this._onModelRemoved.event,this._onModelModeChanged=this._register(new L.Emitter),this.onModelLanguageChanged=this._onModelModeChanged.event,this._modelCreationOptionsByLanguageAndResource=Object.create(null),this._models={},this._disposedModels=new Map,this._disposedModelsHeapSize=0,this._semanticStyling=this._register(new P(this._themeService,this._languageService,this._logService)),this._register(this._configurationService.onDidChangeConfiguration(()=>this._updateModelOptions())),this._updateModelOptions(),this._register(new A(this._semanticStyling,this,this._themeService,this._configurationService,this._languageFeatureDebounceService,V))}static _readModelOptions(z,j){var $;let G=b.EDITOR_MODEL_DEFAULTS.tabSize;if(z.editor&&typeof z.editor.tabSize!="undefined"){const ae=parseInt(z.editor.tabSize,10);isNaN(ae)||(G=ae),G<1&&(G=1)}let J=G;if(z.editor&&typeof z.editor.indentSize!="undefined"&&z.editor.indentSize!=="tabSize"){const ae=parseInt(z.editor.indentSize,10);isNaN(ae)||(J=ae),J<1&&(J=1)}let re=b.EDITOR_MODEL_DEFAULTS.insertSpaces;z.editor&&typeof z.editor.insertSpaces!="undefined"&&(re=z.editor.insertSpaces==="false"?!1:Boolean(z.editor.insertSpaces));let se=M;const Z=z.eol;Z===`\r
+`?se=2:Z===`
+`&&(se=1);let V=b.EDITOR_MODEL_DEFAULTS.trimAutoWhitespace;z.editor&&typeof z.editor.trimAutoWhitespace!="undefined"&&(V=z.editor.trimAutoWhitespace==="false"?!1:Boolean(z.editor.trimAutoWhitespace));let K=b.EDITOR_MODEL_DEFAULTS.detectIndentation;z.editor&&typeof z.editor.detectIndentation!="undefined"&&(K=z.editor.detectIndentation==="false"?!1:Boolean(z.editor.detectIndentation));let X=b.EDITOR_MODEL_DEFAULTS.largeFileOptimizations;z.editor&&typeof z.editor.largeFileOptimizations!="undefined"&&(X=z.editor.largeFileOptimizations==="false"?!1:Boolean(z.editor.largeFileOptimizations));let oe=b.EDITOR_MODEL_DEFAULTS.bracketPairColorizationOptions;return(($=z.editor)===null||$===void 0?void 0:$.bracketPairColorization)&&typeof z.editor.bracketPairColorization=="object"&&(oe={enabled:!!z.editor.bracketPairColorization.enabled}),{isForSimpleWidget:j,tabSize:G,indentSize:J,insertSpaces:re,detectIndentation:K,defaultEOL:se,trimAutoWhitespace:V,largeFileOptimizations:X,bracketPairColorizationOptions:oe}}_getEOL(z,j){if(z)return this._resourcePropertiesService.getEOL(z,j);const $=this._configurationService.getValue("files.eol",{overrideIdentifier:j});return $&&typeof $=="string"&&$!=="auto"?$:k.OS===3||k.OS===2?`
+`:`\r
+`}_shouldRestoreUndoStack(){const z=this._configurationService.getValue("files.restoreUndoStack");return typeof z=="boolean"?z:!0}getCreationOptions(z,j,$){let G=this._modelCreationOptionsByLanguageAndResource[z+j];if(!G){const J=this._configurationService.getValue("editor",{overrideIdentifier:z,resource:j}),re=this._getEOL(j,z);G=Nt._readModelOptions({editor:J,eol:re},$),this._modelCreationOptionsByLanguageAndResource[z+j]=G}return G}_updateModelOptions(){const z=this._modelCreationOptionsByLanguageAndResource;this._modelCreationOptionsByLanguageAndResource=Object.create(null);const j=Object.keys(this._models);for(let $=0,G=j.length;$<G;$++){const J=j[$],re=this._models[J],se=re.model.getLanguageId(),Z=re.model.uri,V=z[se+Z],K=this.getCreationOptions(se,Z,re.model.isForSimpleWidget);Nt._setModelOptionsForModel(re.model,K,V)}}static _setModelOptionsForModel(z,j,$){$&&$.defaultEOL!==j.defaultEOL&&z.getLineCount()===1&&z.setEOL(j.defaultEOL===1?0:1),!($&&$.detectIndentation===j.detectIndentation&&$.insertSpaces===j.insertSpaces&&$.tabSize===j.tabSize&&$.indentSize===j.indentSize&&$.trimAutoWhitespace===j.trimAutoWhitespace&&(0,S.equals)($.bracketPairColorizationOptions,j.bracketPairColorizationOptions))&&(j.detectIndentation?(z.detectIndentation(j.insertSpaces,j.tabSize),z.updateOptions({trimAutoWhitespace:j.trimAutoWhitespace,bracketColorizationOptions:j.bracketPairColorizationOptions})):z.updateOptions({insertSpaces:j.insertSpaces,tabSize:j.tabSize,indentSize:j.indentSize,trimAutoWhitespace:j.trimAutoWhitespace,bracketColorizationOptions:j.bracketPairColorizationOptions}))}_insertDisposedModel(z){this._disposedModels.set(E(z.uri),z),this._disposedModelsHeapSize+=z.heapSize}_removeDisposedModel(z){const j=this._disposedModels.get(E(z));return j&&(this._disposedModelsHeapSize-=j.heapSize),this._disposedModels.delete(E(z)),j}_ensureDisposedModelsHeapSize(z){if(this._disposedModelsHeapSize>z){const j=[];for(this._disposedModels.forEach($=>{$.sharesUndoRedoStack||j.push($)}),j.sort(($,G)=>$.time-G.time);j.length>0&&this._disposedModelsHeapSize>z;){const $=j.shift();this._removeDisposedModel($.uri),$.initialUndoRedoSnapshot!==null&&this._undoRedoService.restoreSnapshot($.initialUndoRedoSnapshot)}}}_createModelData(z,j,$,G){const J=this.getCreationOptions(j,$,G),re=new w.TextModel(z,j,J,$,this._undoRedoService,this._languageService,this._languageConfigurationService);if($&&this._disposedModels.has(E($))){const V=this._removeDisposedModel($),K=this._undoRedoService.getElements($),X=N(re)===V.sha1;if(X||V.sharesUndoRedoStack){for(const oe of K.past)(0,a.isEditStackElement)(oe)&&oe.matchesResource($)&&oe.setModel(re);for(const oe of K.future)(0,a.isEditStackElement)(oe)&&oe.matchesResource($)&&oe.setModel(re);this._undoRedoService.setElementsValidFlag($,!0,oe=>(0,a.isEditStackElement)(oe)&&oe.matchesResource($)),X&&(re._overwriteVersionId(V.versionId),re._overwriteAlternativeVersionId(V.alternativeVersionId),re._overwriteInitialUndoRedoSnapshot(V.initialUndoRedoSnapshot))}else V.initialUndoRedoSnapshot!==null&&this._undoRedoService.restoreSnapshot(V.initialUndoRedoSnapshot)}const se=E(re.uri);if(this._models[se])throw new Error("ModelService: Cannot add model because it already exists!");const Z=new D(re,V=>this._onWillDispose(V),(V,K)=>this._onDidChangeLanguage(V,K));return this._models[se]=Z,Z}createModel(z,j,$,G=!1){let J;return j?(J=this._createModelData(z,j.languageId,$,G),this.setMode(J.model,j)):J=this._createModelData(z,C.PLAINTEXT_LANGUAGE_ID,$,G),this._onModelAdded.fire(J.model),J.model}setMode(z,j){if(!j)return;const $=this._models[E(z.uri)];!$||$.setLanguage(j)}getModels(){const z=[],j=Object.keys(this._models);for(let $=0,G=j.length;$<G;$++){const J=j[$];z.push(this._models[J].model)}return z}getModel(z){const j=E(z),$=this._models[j];return $?$.model:null}getSemanticTokensProviderStyling(z){return this._semanticStyling.get(z)}_schemaShouldMaintainUndoRedoElements(z){return z.scheme===l.Schemas.file||z.scheme===l.Schemas.vscodeRemote||z.scheme===l.Schemas.userData||z.scheme===l.Schemas.vscodeNotebookCell||z.scheme==="fake-fs"}_onWillDispose(z){const j=E(z.uri),$=this._models[j],G=this._undoRedoService.getUriComparisonKey(z.uri)!==z.uri.toString();let J=!1,re=0;if(G||this._shouldRestoreUndoStack()&&this._schemaShouldMaintainUndoRedoElements(z.uri)){const Z=this._undoRedoService.getElements(z.uri);if(Z.past.length>0||Z.future.length>0){for(const V of Z.past)(0,a.isEditStackElement)(V)&&V.matchesResource(z.uri)&&(J=!0,re+=V.heapSize(z.uri),V.setModel(z.uri));for(const V of Z.future)(0,a.isEditStackElement)(V)&&V.matchesResource(z.uri)&&(J=!0,re+=V.heapSize(z.uri),V.setModel(z.uri))}}const se=Nt.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK;if(J)if(!G&&re>se){const Z=$.model.getInitialUndoRedoSnapshot();Z!==null&&this._undoRedoService.restoreSnapshot(Z)}else this._ensureDisposedModelsHeapSize(se-re),this._undoRedoService.setElementsValidFlag(z.uri,!1,Z=>(0,a.isEditStackElement)(Z)&&Z.matchesResource(z.uri)),this._insertDisposedModel(new B(z.uri,$.model.getInitialUndoRedoSnapshot(),Date.now(),G,re,N(z),z.getVersionId(),z.getAlternativeVersionId()));else if(!G){const Z=$.model.getInitialUndoRedoSnapshot();Z!==null&&this._undoRedoService.restoreSnapshot(Z)}delete this._models[j],$.dispose(),delete this._modelCreationOptionsByLanguageAndResource[z.getLanguageId()+z.uri],this._onModelRemoved.fire(z)}_onDidChangeLanguage(z,j){const $=j.oldLanguage,G=z.getLanguageId(),J=this.getCreationOptions($,z.uri,z.isForSimpleWidget),re=this.getCreationOptions(G,z.uri,z.isForSimpleWidget);Nt._setModelOptionsForModel(z,re,J),this._onModelModeChanged.fire({model:z,oldLanguageId:$})}};O.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK=20*1024*1024,O=Ie([pe(0,n.IConfigurationService),pe(1,t.ITextResourcePropertiesService),pe(2,c.IThemeService),pe(3,d.ILogService),pe(4,r.IUndoRedoService),pe(5,u.ILanguageService),pe(6,v.ILanguageConfigurationService),pe(7,p.ILanguageFeatureDebounceService),pe(8,y.ILanguageFeaturesService)],O),e.ModelService=O,e.SEMANTIC_HIGHLIGHTING_SETTING_ID="editor.semanticHighlighting";function T(R,z,j){var $;const G=($=j.getValue(e.SEMANTIC_HIGHLIGHTING_SETTING_ID,{overrideIdentifier:R.getLanguageId(),resource:R.uri}))===null||$===void 0?void 0:$.enabled;return typeof G=="boolean"?G:z.getColorTheme().semanticHighlighting}e.isSemanticColoringEnabled=T;let A=class extends m.Disposable{constructor(z,j,$,G,J,re){super();this._watchers=Object.create(null),this._semanticStyling=z;const se=K=>{this._watchers[K.uri.toString()]=new W(K,this._semanticStyling,$,J,re)},Z=(K,X)=>{X.dispose(),delete this._watchers[K.uri.toString()]},V=()=>{for(let K of j.getModels()){const X=this._watchers[K.uri.toString()];T(K,$,G)?X||se(K):X&&Z(K,X)}};this._register(j.onModelAdded(K=>{T(K,$,G)&&se(K)})),this._register(j.onModelRemoved(K=>{const X=this._watchers[K.uri.toString()];X&&Z(K,X)})),this._register(G.onDidChangeConfiguration(K=>{K.affectsConfiguration(e.SEMANTIC_HIGHLIGHTING_SETTING_ID)&&V()})),this._register($.onDidColorThemeChange(V))}};A=Ie([pe(1,g.IModelService),pe(2,c.IThemeService),pe(3,n.IConfigurationService),pe(4,p.ILanguageFeatureDebounceService),pe(5,y.ILanguageFeaturesService)],A);class P extends m.Disposable{constructor(z,j,$){super();this._themeService=z,this._languageService=j,this._logService=$,this._caches=new WeakMap,this._register(this._themeService.onDidColorThemeChange(()=>{this._caches=new WeakMap}))}get(z){return this._caches.has(z)||this._caches.set(z,new h.SemanticTokensProviderStyling(z.getLegend(),this._themeService,this._languageService,this._logService)),this._caches.get(z)}}class F{constructor(z,j,$){this.provider=z,this.resultId=j,this.data=$}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}let W=class yt extends m.Disposable{constructor(z,j,$,G,J){super();this._isDisposed=!1,this._model=z,this._semanticStyling=j,this._provider=J.documentSemanticTokensProvider,this._debounceInformation=G.for(this._provider,"DocumentSemanticTokens",{min:yt.REQUEST_MIN_DELAY,max:yt.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new i.RunOnceScheduler(()=>this._fetchDocumentSemanticTokensNow(),yt.REQUEST_MIN_DELAY)),this._currentDocumentResponse=null,this._currentDocumentRequestCancellationTokenSource=null,this._documentProvidersChangeListeners=[],this._register(this._model.onDidChangeContent(()=>{this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(this._model.onDidChangeLanguage(()=>{this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._currentDocumentRequestCancellationTokenSource&&(this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null),this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(0)}));const re=()=>{(0,m.dispose)(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[];for(const se of this._provider.all(z))typeof se.onDidChange=="function"&&this._documentProvidersChangeListeners.push(se.onDidChange(()=>this._fetchDocumentSemanticTokens.schedule(0)))};re(),this._register(this._provider.onDidChange(()=>{re(),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register($.onDidColorThemeChange(se=>{this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._fetchDocumentSemanticTokens.schedule(0)}dispose(){this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._currentDocumentRequestCancellationTokenSource&&(this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null),this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!(0,f.hasDocumentSemanticTokensProvider)(this._provider,this._model)){this._currentDocumentResponse&&this._model.setSemanticTokens(null,!1);return}const z=new o.CancellationTokenSource,j=this._currentDocumentResponse?this._currentDocumentResponse.provider:null,$=this._currentDocumentResponse&&this._currentDocumentResponse.resultId||null,G=(0,f.getDocumentSemanticTokens)(this._provider,this._model,j,$,z.token);this._currentDocumentRequestCancellationTokenSource=z;const J=[],re=this._model.onDidChangeContent(Z=>{J.push(Z)}),se=new _.StopWatch(!1);G.then(Z=>{if(this._debounceInformation.update(this._model,se.elapsed()),this._currentDocumentRequestCancellationTokenSource=null,re.dispose(),!Z)this._setDocumentSemanticTokens(null,null,null,J);else{const{provider:V,tokens:K}=Z,X=this._semanticStyling.get(V);this._setDocumentSemanticTokens(V,K||null,X,J)}},Z=>{Z&&(I.isCancellationError(Z)||typeof Z.message=="string"&&Z.message.indexOf("busy")!==-1)||I.onUnexpectedError(Z),this._currentDocumentRequestCancellationTokenSource=null,re.dispose(),J.length>0&&(this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model)))})}static _copy(z,j,$,G,J){for(let re=0;re<J;re++)$[G+re]=z[j+re]}_setDocumentSemanticTokens(z,j,$,G){const J=this._currentDocumentResponse,re=()=>{G.length>0&&!this._fetchDocumentSemanticTokens.isScheduled()&&this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))};if(this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._isDisposed){z&&j&&z.releaseDocumentSemanticTokens(j.resultId);return}if(!z||!$){this._model.setSemanticTokens(null,!1);return}if(!j){this._model.setSemanticTokens(null,!0),re();return}if((0,f.isSemanticTokensEdits)(j)){if(!J){this._model.setSemanticTokens(null,!0);return}if(j.edits.length===0)j={resultId:j.resultId,data:J.data};else{let se=0;for(const oe of j.edits)se+=(oe.data?oe.data.length:0)-oe.deleteCount;const Z=J.data,V=new Uint32Array(Z.length+se);let K=Z.length,X=V.length;for(let oe=j.edits.length-1;oe>=0;oe--){const ae=j.edits[oe],ee=K-(ae.start+ae.deleteCount);ee>0&&(yt._copy(Z,K-ee,V,X-ee,ee),X-=ee),ae.data&&(yt._copy(ae.data,0,V,X-ae.data.length,ae.data.length),X-=ae.data.length),K=ae.start}K>0&&yt._copy(Z,0,V,0,K),j={resultId:j.resultId,data:V}}}if((0,f.isSemanticTokens)(j)){this._currentDocumentResponse=new F(z,j.resultId,j.data);const se=(0,h.toMultilineTokens2)(j,$,this._model.getLanguageId());if(G.length>0)for(const Z of G)for(const V of se)for(const K of Z.changes)V.applyEdit(K.range,K.text);this._model.setSemanticTokens(se,!0)}else this._model.setSemanticTokens(null,!0);re()}};W.REQUEST_MIN_DELAY=300,W.REQUEST_MAX_DELAY=2e3,W=Ie([pe(2,c.IThemeService),pe(3,p.ILanguageFeatureDebounceService),pe(4,y.ILanguageFeaturesService)],W),e.ModelSemanticColoring=W}),define(te[715],ie([1,0,18,11,3,186,38,94,189,453,245,71]),function(q,e,L,m,k,I,w,b,C,u,g,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewModelLinesFromModelAsIs=e.ViewModelLinesFromProjectedModel=void 0;class n{constructor(l,h,f,S,v,p,_,y,E){this._editorId=l,this.model=h,this._validModelVersionId=-1,this._domLineBreaksComputerFactory=f,this._monospaceLineBreaksComputerFactory=S,this.fontInfo=v,this.tabSize=p,this.wrappingStrategy=_,this.wrappingColumn=y,this.wrappingIndent=E,this._constructLines(!0,null)}dispose(){this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[])}createCoordinatesConverter(){return new d(this)}_constructLines(l,h){this.modelLineProjections=[],l&&(this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[]));const f=this.model.getLinesContent(),S=this.model.getInjectedTextDecorations(this._editorId),v=f.length,p=this.createLineBreaksComputer(),_=new L.ArrayQueue(b.LineInjectedText.fromDecorations(S));for(let T=0;T<v;T++){const A=_.takeWhile(P=>P.lineNumber===T+1);p.addRequest(f[T],A,h?h[T]:null)}const y=p.finalize(),E=[],N=this.hiddenAreasDecorationIds.map(T=>this.model.getDecorationRange(T)).sort(k.Range.compareRangesUsingStarts);let D=1,M=0,B=-1,O=B+1<N.length?M+1:v+2;for(let T=0;T<v;T++){const A=T+1;A===O&&(B++,D=N[B].startLineNumber,M=N[B].endLineNumber,O=B+1<N.length?M+1:v+2);const P=A>=D&&A<=M,F=(0,u.createModelLineProjection)(y[T],!P);E[T]=F.getViewLineCount(),this.modelLineProjections[T]=F}this._validModelVersionId=this.model.getVersionId(),this.projectedModelLineLineCounts=new g.ConstantTimePrefixSumComputer(E)}getHiddenAreas(){return this.hiddenAreasDecorationIds.map(l=>this.model.getDecorationRange(l))}setHiddenAreas(l){const h=l.map(M=>this.model.validateRange(M)),f=i(h),S=this.hiddenAreasDecorationIds.map(M=>this.model.getDecorationRange(M)).sort(k.Range.compareRangesUsingStarts);if(f.length===S.length){let M=!1;for(let B=0;B<f.length;B++)if(!f[B].equalsRange(S[B])){M=!0;break}if(!M)return!1}const v=f.map(M=>({range:M,options:w.ModelDecorationOptions.EMPTY}));this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,v);const p=f;let _=1,y=0,E=-1,N=E+1<p.length?y+1:this.modelLineProjections.length+2,D=!1;for(let M=0;M<this.modelLineProjections.length;M++){const B=M+1;B===N&&(E++,_=p[E].startLineNumber,y=p[E].endLineNumber,N=E+1<p.length?y+1:this.modelLineProjections.length+2);let O=!1;if(B>=_&&B<=y?this.modelLineProjections[M].isVisible()&&(this.modelLineProjections[M]=this.modelLineProjections[M].setVisible(!1),O=!0):(D=!0,this.modelLineProjections[M].isVisible()||(this.modelLineProjections[M]=this.modelLineProjections[M].setVisible(!0),O=!0)),O){const T=this.modelLineProjections[M].getViewLineCount();this.projectedModelLineLineCounts.setValue(M,T)}}return D||this.setHiddenAreas([]),!0}modelPositionIsVisible(l,h){return l<1||l>this.modelLineProjections.length?!1:this.modelLineProjections[l-1].isVisible()}getModelLineViewLineCount(l){return l<1||l>this.modelLineProjections.length?1:this.modelLineProjections[l-1].getViewLineCount()}setTabSize(l){return this.tabSize===l?!1:(this.tabSize=l,this._constructLines(!1,null),!0)}setWrappingSettings(l,h,f,S){const v=this.fontInfo.equals(l),p=this.wrappingStrategy===h,_=this.wrappingColumn===f,y=this.wrappingIndent===S;if(v&&p&&_&&y)return!1;const E=v&&p&&!_&&y;this.fontInfo=l,this.wrappingStrategy=h,this.wrappingColumn=f,this.wrappingIndent=S;let N=null;if(E){N=[];for(let D=0,M=this.modelLineProjections.length;D<M;D++)N[D]=this.modelLineProjections[D].getProjectionData()}return this._constructLines(!1,N),!0}createLineBreaksComputer(){return(this.wrappingStrategy==="advanced"?this._domLineBreaksComputerFactory:this._monospaceLineBreaksComputerFactory).createLineBreaksComputer(this.fontInfo,this.tabSize,this.wrappingColumn,this.wrappingIndent)}onModelFlushed(){this._constructLines(!0,null)}onModelLinesDeleted(l,h,f){if(!l||l<=this._validModelVersionId)return null;const S=h===1?1:this.projectedModelLineLineCounts.getPrefixSum(h-1)+1,v=this.projectedModelLineLineCounts.getPrefixSum(f);return this.modelLineProjections.splice(h-1,f-h+1),this.projectedModelLineLineCounts.removeValues(h-1,f-h+1),new C.ViewLinesDeletedEvent(S,v)}onModelLinesInserted(l,h,f,S){if(!l||l<=this._validModelVersionId)return null;const v=h>2&&!this.modelLineProjections[h-2].isVisible(),p=h===1?1:this.projectedModelLineLineCounts.getPrefixSum(h-1)+1;let _=0;const y=[],E=[];for(let N=0,D=S.length;N<D;N++){const M=(0,u.createModelLineProjection)(S[N],!v);y.push(M);const B=M.getViewLineCount();_+=B,E[N]=B}return this.modelLineProjections=this.modelLineProjections.slice(0,h-1).concat(y).concat(this.modelLineProjections.slice(h-1)),this.projectedModelLineLineCounts.insertValues(h-1,E),new C.ViewLinesInsertedEvent(p,p+_-1)}onModelLineChanged(l,h,f){if(l!==null&&l<=this._validModelVersionId)return[!1,null,null,null];const S=h-1,v=this.modelLineProjections[S].getViewLineCount(),p=this.modelLineProjections[S].isVisible(),_=(0,u.createModelLineProjection)(f,p);this.modelLineProjections[S]=_;const y=this.modelLineProjections[S].getViewLineCount();let E=!1,N=0,D=-1,M=0,B=-1,O=0,T=-1;v>y?(N=this.projectedModelLineLineCounts.getPrefixSum(h-1)+1,D=N+y-1,O=D+1,T=O+(v-y)-1,E=!0):v<y?(N=this.projectedModelLineLineCounts.getPrefixSum(h-1)+1,D=N+v-1,M=D+1,B=M+(y-v)-1,E=!0):(N=this.projectedModelLineLineCounts.getPrefixSum(h-1)+1,D=N+y-1),this.projectedModelLineLineCounts.setValue(S,y);const A=N<=D?new C.ViewLinesChangedEvent(N,D):null,P=M<=B?new C.ViewLinesInsertedEvent(M,B):null,F=O<=T?new C.ViewLinesDeletedEvent(O,T):null;return[E,A,P,F]}acceptVersionId(l){this._validModelVersionId=l,this.modelLineProjections.length===1&&!this.modelLineProjections[0].isVisible()&&this.setHiddenAreas([])}getViewLineCount(){return this.projectedModelLineLineCounts.getTotalSum()}_toValidViewLineNumber(l){if(l<1)return 1;const h=this.getViewLineCount();return l>h?h:l|0}getActiveIndentGuide(l,h,f){l=this._toValidViewLineNumber(l),h=this._toValidViewLineNumber(h),f=this._toValidViewLineNumber(f);const S=this.convertViewPositionToModelPosition(l,this.getViewLineMinColumn(l)),v=this.convertViewPositionToModelPosition(h,this.getViewLineMinColumn(h)),p=this.convertViewPositionToModelPosition(f,this.getViewLineMinColumn(f)),_=this.model.guides.getActiveIndentGuide(S.lineNumber,v.lineNumber,p.lineNumber),y=this.convertModelPositionToViewPosition(_.startLineNumber,1),E=this.convertModelPositionToViewPosition(_.endLineNumber,this.model.getLineMaxColumn(_.endLineNumber));return{startLineNumber:y.lineNumber,endLineNumber:E.lineNumber,indent:_.indent}}getViewLineInfo(l){l=this._toValidViewLineNumber(l);const h=this.projectedModelLineLineCounts.getIndexOf(l-1),f=h.index,S=h.remainder;return new o(f+1,S)}getMinColumnOfViewLine(l){return this.modelLineProjections[l.modelLineNumber-1].getViewLineMinColumn(this.model,l.modelLineNumber,l.modelLineWrappedLineIdx)}getModelStartPositionOfViewLine(l){const h=this.modelLineProjections[l.modelLineNumber-1],f=h.getViewLineMinColumn(this.model,l.modelLineNumber,l.modelLineWrappedLineIdx),S=h.getModelColumnOfViewPosition(l.modelLineWrappedLineIdx,f);return new m.Position(l.modelLineNumber,S)}getModelEndPositionOfViewLine(l){const h=this.modelLineProjections[l.modelLineNumber-1],f=h.getViewLineMaxColumn(this.model,l.modelLineNumber,l.modelLineWrappedLineIdx),S=h.getModelColumnOfViewPosition(l.modelLineWrappedLineIdx,f);return new m.Position(l.modelLineNumber,S)}getViewLineInfosGroupedByModelRanges(l,h){const f=this.getViewLineInfo(l),S=this.getViewLineInfo(h),v=new Array;let p=this.getModelStartPositionOfViewLine(f),_=new Array;for(let y=f.modelLineNumber;y<=S.modelLineNumber;y++){const E=this.modelLineProjections[y-1];if(E.isVisible()){const N=y===f.modelLineNumber?f.modelLineWrappedLineIdx:0,D=y===S.modelLineNumber?S.modelLineWrappedLineIdx+1:E.getViewLineCount();for(let M=N;M<D;M++)_.push(new o(y,M))}if(!E.isVisible()&&p){const N=new m.Position(y-1,this.model.getLineMaxColumn(y-1)+1),D=k.Range.fromPositions(p,N);v.push(new c(D,_)),_=[],p=null}else E.isVisible()&&!p&&(p=new m.Position(y,1))}if(p){const y=k.Range.fromPositions(p,this.getModelEndPositionOfViewLine(S));v.push(new c(y,_))}return v}getViewLinesBracketGuides(l,h,f,S){const v=f?this.convertViewPositionToModelPosition(f.lineNumber,f.column):null,p=[];for(const _ of this.getViewLineInfosGroupedByModelRanges(l,h)){const y=_.modelRange.startLineNumber,E=this.model.guides.getLinesBracketGuides(y,_.modelRange.endLineNumber,v,S);for(const N of _.viewLines)if(N.isWrappedLineContinuation&&this.getMinColumnOfViewLine(N)===1)p.push([]);else{let D=E[N.modelLineNumber-y];D=D.map(M=>M.horizontalLine?new I.IndentGuide(M.visibleColumn,M.className,new I.IndentGuideHorizontalLine(M.horizontalLine.top,this.convertModelPositionToViewPosition(N.modelLineNumber,M.horizontalLine.endColumn).column)):M),p.push(D)}}return p}getViewLinesIndentGuides(l,h){l=this._toValidViewLineNumber(l),h=this._toValidViewLineNumber(h);const f=this.convertViewPositionToModelPosition(l,this.getViewLineMinColumn(l)),S=this.convertViewPositionToModelPosition(h,this.getViewLineMaxColumn(h));let v=[];const p=[],_=[],y=f.lineNumber-1,E=S.lineNumber-1;let N=null;for(let O=y;O<=E;O++){const T=this.modelLineProjections[O];if(T.isVisible()){const A=T.getViewLineNumberOfModelPosition(0,O===y?f.column:1),P=T.getViewLineNumberOfModelPosition(0,this.model.getLineMaxColumn(O+1)),F=P-A+1;let W=0;F>1&&T.getViewLineMinColumn(this.model,O+1,P)===1&&(W=A===0?1:2),p.push(F),_.push(W),N===null&&(N=new m.Position(O+1,0))}else N!==null&&(v=v.concat(this.model.guides.getLinesIndentGuides(N.lineNumber,O)),N=null)}N!==null&&(v=v.concat(this.model.guides.getLinesIndentGuides(N.lineNumber,S.lineNumber)),N=null);const D=h-l+1,M=new Array(D);let B=0;for(let O=0,T=v.length;O<T;O++){let A=v[O];const P=Math.min(D-B,p[O]),F=_[O];let W;F===2?W=0:F===1?W=1:W=P;for(let R=0;R<P;R++)R===W&&(A=0),M[B++]=A}return M}getViewLineContent(l){const h=this.getViewLineInfo(l);return this.modelLineProjections[h.modelLineNumber-1].getViewLineContent(this.model,h.modelLineNumber,h.modelLineWrappedLineIdx)}getViewLineLength(l){const h=this.getViewLineInfo(l);return this.modelLineProjections[h.modelLineNumber-1].getViewLineLength(this.model,h.modelLineNumber,h.modelLineWrappedLineIdx)}getViewLineMinColumn(l){const h=this.getViewLineInfo(l);return this.modelLineProjections[h.modelLineNumber-1].getViewLineMinColumn(this.model,h.modelLineNumber,h.modelLineWrappedLineIdx)}getViewLineMaxColumn(l){const h=this.getViewLineInfo(l);return this.modelLineProjections[h.modelLineNumber-1].getViewLineMaxColumn(this.model,h.modelLineNumber,h.modelLineWrappedLineIdx)}getViewLineData(l){const h=this.getViewLineInfo(l);return this.modelLineProjections[h.modelLineNumber-1].getViewLineData(this.model,h.modelLineNumber,h.modelLineWrappedLineIdx)}getViewLinesData(l,h,f){l=this._toValidViewLineNumber(l),h=this._toValidViewLineNumber(h);const S=this.projectedModelLineLineCounts.getIndexOf(l-1);let v=l;const p=S.index,_=S.remainder,y=[];for(let E=p,N=this.model.getLineCount();E<N;E++){const D=this.modelLineProjections[E];if(!D.isVisible())continue;const M=E===p?_:0;let B=D.getViewLineCount()-M,O=!1;if(v+B>h&&(O=!0,B=h-v+1),D.getViewLinesData(this.model,E+1,M,B,v-l,f,y),v+=B,O)break}return y}validateViewPosition(l,h,f){l=this._toValidViewLineNumber(l);const S=this.projectedModelLineLineCounts.getIndexOf(l-1),v=S.index,p=S.remainder,_=this.modelLineProjections[v],y=_.getViewLineMinColumn(this.model,v+1,p),E=_.getViewLineMaxColumn(this.model,v+1,p);h<y&&(h=y),h>E&&(h=E);const N=_.getModelColumnOfViewPosition(p,h);return this.model.validatePosition(new m.Position(v+1,N)).equals(f)?new m.Position(l,h):this.convertModelPositionToViewPosition(f.lineNumber,f.column)}validateViewRange(l,h){const f=this.validateViewPosition(l.startLineNumber,l.startColumn,h.getStartPosition()),S=this.validateViewPosition(l.endLineNumber,l.endColumn,h.getEndPosition());return new k.Range(f.lineNumber,f.column,S.lineNumber,S.column)}convertViewPositionToModelPosition(l,h){const f=this.getViewLineInfo(l),S=this.modelLineProjections[f.modelLineNumber-1].getModelColumnOfViewPosition(f.modelLineWrappedLineIdx,h);return this.model.validatePosition(new m.Position(f.modelLineNumber,S))}convertViewRangeToModelRange(l){const h=this.convertViewPositionToModelPosition(l.startLineNumber,l.startColumn),f=this.convertViewPositionToModelPosition(l.endLineNumber,l.endColumn);return new k.Range(h.lineNumber,h.column,f.lineNumber,f.column)}convertModelPositionToViewPosition(l,h,f=2){const S=this.model.validatePosition(new m.Position(l,h)),v=S.lineNumber,p=S.column;let _=v-1,y=!1;for(;_>0&&!this.modelLineProjections[_].isVisible();)_--,y=!0;if(_===0&&!this.modelLineProjections[_].isVisible())return new m.Position(1,1);const E=1+this.projectedModelLineLineCounts.getPrefixSum(_);let N;return y?N=this.modelLineProjections[_].getViewPositionOfModelPosition(E,this.model.getLineMaxColumn(_+1),f):N=this.modelLineProjections[v-1].getViewPositionOfModelPosition(E,p,f),N}convertModelRangeToViewRange(l,h=0){if(l.isEmpty()){const f=this.convertModelPositionToViewPosition(l.startLineNumber,l.startColumn,h);return k.Range.fromPositions(f)}else{const f=this.convertModelPositionToViewPosition(l.startLineNumber,l.startColumn,1),S=this.convertModelPositionToViewPosition(l.endLineNumber,l.endColumn,0);return new k.Range(f.lineNumber,f.column,S.lineNumber,S.column)}}getViewLineNumberOfModelPosition(l,h){let f=l-1;if(this.modelLineProjections[f].isVisible()){const v=1+this.projectedModelLineLineCounts.getPrefixSum(f);return this.modelLineProjections[f].getViewLineNumberOfModelPosition(v,h)}for(;f>0&&!this.modelLineProjections[f].isVisible();)f--;if(f===0&&!this.modelLineProjections[f].isVisible())return 1;const S=1+this.projectedModelLineLineCounts.getPrefixSum(f);return this.modelLineProjections[f].getViewLineNumberOfModelPosition(S,this.model.getLineMaxColumn(f+1))}getDecorationsInRange(l,h,f){const S=this.convertViewPositionToModelPosition(l.startLineNumber,l.startColumn),v=this.convertViewPositionToModelPosition(l.endLineNumber,l.endColumn);if(v.lineNumber-S.lineNumber<=l.endLineNumber-l.startLineNumber)return this.model.getDecorationsInRange(new k.Range(S.lineNumber,1,v.lineNumber,v.column),h,f);let p=[];const _=S.lineNumber-1,y=v.lineNumber-1;let E=null;for(let B=_;B<=y;B++)if(this.modelLineProjections[B].isVisible())E===null&&(E=new m.Position(B+1,B===_?S.column:1));else if(E!==null){const T=this.model.getLineMaxColumn(B);p=p.concat(this.model.getDecorationsInRange(new k.Range(E.lineNumber,E.column,B,T),h,f)),E=null}E!==null&&(p=p.concat(this.model.getDecorationsInRange(new k.Range(E.lineNumber,E.column,v.lineNumber,v.column),h,f)),E=null),p.sort((B,O)=>{const T=k.Range.compareRangesUsingStarts(B.range,O.range);return T===0?B.id<O.id?-1:B.id>O.id?1:0:T});let N=[],D=0,M=null;for(const B of p){const O=B.id;M!==O&&(M=O,N[D++]=B)}return N}getInjectedTextAt(l){const h=this.getViewLineInfo(l.lineNumber);return this.modelLineProjections[h.modelLineNumber-1].getInjectedTextAt(h.modelLineWrappedLineIdx,l.column)}normalizePosition(l,h){const f=this.getViewLineInfo(l.lineNumber);return this.modelLineProjections[f.modelLineNumber-1].normalizePosition(f.modelLineWrappedLineIdx,l,h)}getLineIndentColumn(l){const h=this.getViewLineInfo(l);return h.modelLineWrappedLineIdx===0?this.model.getLineIndentColumn(h.modelLineNumber):0}}e.ViewModelLinesFromProjectedModel=n;function i(a){if(a.length===0)return[];const l=a.slice();l.sort(k.Range.compareRangesUsingStarts);const h=[];let f=l[0].startLineNumber,S=l[0].endLineNumber;for(let v=1,p=l.length;v<p;v++){const _=l[v];_.startLineNumber>S+1?(h.push(new k.Range(f,1,S,1)),f=_.startLineNumber,S=_.endLineNumber):_.endLineNumber>S&&(S=_.endLineNumber)}return h.push(new k.Range(f,1,S,1)),h}class o{constructor(l,h){this.modelLineNumber=l,this.modelLineWrappedLineIdx=h}get isWrappedLineContinuation(){return this.modelLineWrappedLineIdx>0}}class c{constructor(l,h){this.modelRange=l,this.viewLines=h}}class d{constructor(l){this._lines=l}convertViewPositionToModelPosition(l){return this._lines.convertViewPositionToModelPosition(l.lineNumber,l.column)}convertViewRangeToModelRange(l){return this._lines.convertViewRangeToModelRange(l)}validateViewPosition(l,h){return this._lines.validateViewPosition(l.lineNumber,l.column,h)}validateViewRange(l,h){return this._lines.validateViewRange(l,h)}convertModelPositionToViewPosition(l,h){return this._lines.convertModelPositionToViewPosition(l.lineNumber,l.column,h)}convertModelRangeToViewRange(l,h){return this._lines.convertModelRangeToViewRange(l,h)}modelPositionIsVisible(l){return this._lines.modelPositionIsVisible(l.lineNumber,l.column)}getModelLineViewLineCount(l){return this._lines.getModelLineViewLineCount(l)}getViewLineNumberOfModelPosition(l,h){return this._lines.getViewLineNumberOfModelPosition(l,h)}}class r{constructor(l){this.model=l}dispose(){}createCoordinatesConverter(){return new s(this)}getHiddenAreas(){return[]}setHiddenAreas(l){return!1}setTabSize(l){return!1}setWrappingSettings(l,h,f,S){return!1}createLineBreaksComputer(){const l=[];return{addRequest:(h,f,S)=>{l.push(null)},finalize:()=>l}}onModelFlushed(){}onModelLinesDeleted(l,h,f){return new C.ViewLinesDeletedEvent(h,f)}onModelLinesInserted(l,h,f,S){return new C.ViewLinesInsertedEvent(h,f)}onModelLineChanged(l,h,f){return[!1,new C.ViewLinesChangedEvent(h,h),null,null]}acceptVersionId(l){}getViewLineCount(){return this.model.getLineCount()}getActiveIndentGuide(l,h,f){return{startLineNumber:l,endLineNumber:l,indent:0}}getViewLinesBracketGuides(l,h,f){return new Array(h-l+1).fill([])}getViewLinesIndentGuides(l,h){const f=h-l+1,S=new Array(f);for(let v=0;v<f;v++)S[v]=0;return S}getViewLineContent(l){return this.model.getLineContent(l)}getViewLineLength(l){return this.model.getLineLength(l)}getViewLineMinColumn(l){return this.model.getLineMinColumn(l)}getViewLineMaxColumn(l){return this.model.getLineMaxColumn(l)}getViewLineData(l){const h=this.model.getLineTokens(l),f=h.getLineContent();return new t.ViewLineData(f,!1,1,f.length+1,0,h.inflate(),null)}getViewLinesData(l,h,f){const S=this.model.getLineCount();l=Math.min(Math.max(1,l),S),h=Math.min(Math.max(1,h),S);const v=[];for(let p=l;p<=h;p++){const _=p-l;v[_]=f[_]?this.getViewLineData(p):null}return v}getDecorationsInRange(l,h,f){return this.model.getDecorationsInRange(l,h,f)}normalizePosition(l,h){return this.model.normalizePosition(l,h)}getLineIndentColumn(l){return this.model.getLineIndentColumn(l)}getInjectedTextAt(l){return null}}e.ViewModelLinesFromModelAsIs=r;class s{constructor(l){this._lines=l}_validPosition(l){return this._lines.model.validatePosition(l)}_validRange(l){return this._lines.model.validateRange(l)}convertViewPositionToModelPosition(l){return this._validPosition(l)}convertViewRangeToModelRange(l){return this._validRange(l)}validateViewPosition(l,h){return this._validPosition(h)}validateViewRange(l,h){return this._validRange(h)}convertModelPositionToViewPosition(l){return this._validPosition(l)}convertModelRangeToViewRange(l){return this._validRange(l)}modelPositionIsVisible(l){const h=this._lines.model.getLineCount();return!(l.lineNumber<1||l.lineNumber>h)}getModelLineViewLineCount(l){return 1}getViewLineNumberOfModelPosition(l,h){return l}}}),define(te[716],ie([1,0,18,10,30,2,16,8,32,277,61,11,3,94,27,81,253,189,457,255,71,271,190,715]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s,a,l,h,f,S){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewModel=void 0;const v=!0;class p extends I.Disposable{constructor(E,N,D,M,B,O,T,A){super();if(this.languageConfigurationService=T,this._themeService=A,this._editorId=E,this._configuration=N,this.model=D,this._eventDispatcher=new f.ViewModelEventDispatcher,this.onEvent=this._eventDispatcher.onEvent,this.cursorConfig=new g.CursorConfiguration(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._tokenizeViewportSoon=this._register(new m.RunOnceScheduler(()=>this.tokenizeViewport(),50)),this._updateConfigurationViewLineCount=this._register(new m.RunOnceScheduler(()=>this._updateConfigurationViewLineCountNow(),0)),this._hasFocus=!1,this._viewportStartLine=-1,this._viewportStartLineTrackedRange=null,this._viewportStartLineDelta=0,v&&this.model.isTooLargeForTokenization())this._lines=new S.ViewModelLinesFromModelAsIs(this.model);else{const P=this._configuration.options,F=P.get(44),W=P.get(125),R=P.get(132),z=P.get(124);this._lines=new S.ViewModelLinesFromProjectedModel(this._editorId,this.model,M,B,F,this.model.getOptions().tabSize,W,R.wrappingColumn,z)}this.coordinatesConverter=this._lines.createCoordinatesConverter(),this._cursor=this._register(new u.CursorsController(D,this,this.coordinatesConverter,this.cursorConfig)),this.viewLayout=this._register(new s.ViewLayout(this._configuration,this.getLineCount(),O)),this._register(this.viewLayout.onDidScroll(P=>{P.scrollTopChanged&&this._tokenizeViewportSoon.schedule(),this._eventDispatcher.emitSingleViewEvent(new r.ViewScrollChangedEvent(P)),this._eventDispatcher.emitOutgoingEvent(new f.ScrollChangedEvent(P.oldScrollWidth,P.oldScrollLeft,P.oldScrollHeight,P.oldScrollTop,P.scrollWidth,P.scrollLeft,P.scrollHeight,P.scrollTop))})),this._register(this.viewLayout.onDidContentSizeChange(P=>{this._eventDispatcher.emitOutgoingEvent(P)})),this._decorations=new h.ViewModelDecorations(this._editorId,this.model,this._configuration,this._lines,this.coordinatesConverter),this._registerModelEvents(),this._register(this._configuration.onDidChangeFast(P=>{try{const F=this._eventDispatcher.beginEmitViewEvents();this._onConfigurationChanged(F,P)}finally{this._eventDispatcher.endEmitViewEvents()}})),this._register(a.MinimapTokensColorTracker.getInstance().onDidChange(()=>{this._eventDispatcher.emitSingleViewEvent(new r.ViewTokensColorsChangedEvent)})),this._register(this._themeService.onDidColorThemeChange(P=>{this._invalidateDecorationsColorCache(),this._eventDispatcher.emitSingleViewEvent(new r.ViewThemeChangedEvent(P))})),this._updateConfigurationViewLineCountNow()}dispose(){super.dispose(),this._decorations.dispose(),this._lines.dispose(),this._viewportStartLineTrackedRange=this.model._setTrackedRange(this._viewportStartLineTrackedRange,null,1),this._eventDispatcher.dispose()}createLineBreaksComputer(){return this._lines.createLineBreaksComputer()}addViewEventHandler(E){this._eventDispatcher.addViewEventHandler(E)}removeViewEventHandler(E){this._eventDispatcher.removeViewEventHandler(E)}_updateConfigurationViewLineCountNow(){this._configuration.setViewLineCount(this._lines.getViewLineCount())}tokenizeViewport(){const E=this.viewLayout.getLinesViewportData(),N=new n.Range(E.startLineNumber,this.getLineMinColumn(E.startLineNumber),E.endLineNumber,this.getLineMaxColumn(E.endLineNumber)),D=this._toModelVisibleRanges(N);for(const M of D)this.model.tokenizeViewport(M.startLineNumber,M.endLineNumber)}setHasFocus(E){this._hasFocus=E,this._cursor.setHasFocus(E),this._eventDispatcher.emitSingleViewEvent(new r.ViewFocusChangedEvent(E)),this._eventDispatcher.emitOutgoingEvent(new f.FocusChangedEvent(!E,E))}onCompositionStart(){this._eventDispatcher.emitSingleViewEvent(new r.ViewCompositionStartEvent)}onCompositionEnd(){this._eventDispatcher.emitSingleViewEvent(new r.ViewCompositionEndEvent)}_onConfigurationChanged(E,N){let D=null;if(this._viewportStartLine!==-1){const F=new t.Position(this._viewportStartLine,this.getLineMinColumn(this._viewportStartLine));D=this.coordinatesConverter.convertViewPositionToModelPosition(F)}let M=!1;const B=this._configuration.options,O=B.get(44),T=B.get(125),A=B.get(132),P=B.get(124);if(this._lines.setWrappingSettings(O,T,A.wrappingColumn,P)&&(E.emitViewEvent(new r.ViewFlushedEvent),E.emitViewEvent(new r.ViewLineMappingChangedEvent),E.emitViewEvent(new r.ViewDecorationsChangedEvent(null)),this._cursor.onLineMappingChanged(E),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this.viewLayout.getCurrentScrollTop()!==0&&(M=!0),this._updateConfigurationViewLineCount.schedule()),N.hasChanged(81)&&(this._decorations.reset(),E.emitViewEvent(new r.ViewDecorationsChangedEvent(null))),E.emitViewEvent(new r.ViewConfigurationChangedEvent(N)),this.viewLayout.onConfigurationChanged(N),M&&D){const F=this.coordinatesConverter.convertModelPositionToViewPosition(D),W=this.viewLayout.getVerticalOffsetForLineNumber(F.lineNumber);this.viewLayout.setScrollPosition({scrollTop:W+this._viewportStartLineDelta},1)}g.CursorConfiguration.shouldRecreate(N)&&(this.cursorConfig=new g.CursorConfiguration(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig))}_registerModelEvents(){this._register(this.model.onDidChangeContentOrInjectedText(E=>{try{const N=this._eventDispatcher.beginEmitViewEvents();let D=!1,M=!1;const B=E.changes,O=E instanceof i.ModelRawContentChangedEvent?E.versionId:null,T=this._lines.createLineBreaksComputer();for(const F of B)switch(F.changeType){case 4:{for(let W=0;W<F.detail.length;W++){const R=F.detail[W];let z=F.injectedTexts[W];z&&(z=z.filter(j=>!j.ownerId||j.ownerId===this._editorId)),T.addRequest(R,z,null)}break}case 2:{let W=null;F.injectedText&&(W=F.injectedText.filter(R=>!R.ownerId||R.ownerId===this._editorId)),T.addRequest(F.detail,W,null);break}}const A=T.finalize(),P=new L.ArrayQueue(A);for(const F of B)switch(F.changeType){case 1:{this._lines.onModelFlushed(),N.emitViewEvent(new r.ViewFlushedEvent),this._decorations.reset(),this.viewLayout.onFlushed(this.getLineCount()),D=!0;break}case 3:{const W=this._lines.onModelLinesDeleted(O,F.fromLineNumber,F.toLineNumber);W!==null&&(N.emitViewEvent(W),this.viewLayout.onLinesDeleted(W.fromLineNumber,W.toLineNumber)),D=!0;break}case 4:{const W=P.takeCount(F.detail.length),R=this._lines.onModelLinesInserted(O,F.fromLineNumber,F.toLineNumber,W);R!==null&&(N.emitViewEvent(R),this.viewLayout.onLinesInserted(R.fromLineNumber,R.toLineNumber)),D=!0;break}case 2:{const W=P.dequeue(),[R,z,j,$]=this._lines.onModelLineChanged(O,F.lineNumber,W);M=R,z&&N.emitViewEvent(z),j&&(N.emitViewEvent(j),this.viewLayout.onLinesInserted(j.fromLineNumber,j.toLineNumber)),$&&(N.emitViewEvent($),this.viewLayout.onLinesDeleted($.fromLineNumber,$.toLineNumber));break}case 5:break}O!==null&&this._lines.acceptVersionId(O),this.viewLayout.onHeightMaybeChanged(),!D&&M&&(N.emitViewEvent(new r.ViewLineMappingChangedEvent),N.emitViewEvent(new r.ViewDecorationsChangedEvent(null)),this._cursor.onLineMappingChanged(N),this._decorations.onLineMappingChanged())}finally{this._eventDispatcher.endEmitViewEvents()}if(this._viewportStartLine=-1,this._configuration.setModelLineCount(this.model.getLineCount()),this._updateConfigurationViewLineCountNow(),!this._hasFocus&&this.model.getAttachedEditorCount()>=2&&this._viewportStartLineTrackedRange){const N=this.model._getTrackedRange(this._viewportStartLineTrackedRange);if(N){const D=this.coordinatesConverter.convertModelPositionToViewPosition(N.getStartPosition()),M=this.viewLayout.getVerticalOffsetForLineNumber(D.lineNumber);this.viewLayout.setScrollPosition({scrollTop:M+this._viewportStartLineDelta},1)}}try{const N=this._eventDispatcher.beginEmitViewEvents();this._cursor.onModelContentChanged(N,E)}finally{this._eventDispatcher.endEmitViewEvents()}this._tokenizeViewportSoon.schedule()})),this._register(this.model.onDidChangeTokens(E=>{const N=[];for(let D=0,M=E.ranges.length;D<M;D++){const B=E.ranges[D],O=this.coordinatesConverter.convertModelPositionToViewPosition(new t.Position(B.fromLineNumber,1)).lineNumber,T=this.coordinatesConverter.convertModelPositionToViewPosition(new t.Position(B.toLineNumber,this.model.getLineMaxColumn(B.toLineNumber))).lineNumber;N[D]={fromLineNumber:O,toLineNumber:T}}this._eventDispatcher.emitSingleViewEvent(new r.ViewTokensChangedEvent(N)),E.tokenizationSupportChanged&&this._tokenizeViewportSoon.schedule()})),this._register(this.model.onDidChangeLanguageConfiguration(E=>{this._eventDispatcher.emitSingleViewEvent(new r.ViewLanguageConfigurationEvent),this.cursorConfig=new g.CursorConfiguration(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig)})),this._register(this.model.onDidChangeLanguage(E=>{this.cursorConfig=new g.CursorConfiguration(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig)})),this._register(this.model.onDidChangeOptions(E=>{if(this._lines.setTabSize(this.model.getOptions().tabSize)){try{const N=this._eventDispatcher.beginEmitViewEvents();N.emitViewEvent(new r.ViewFlushedEvent),N.emitViewEvent(new r.ViewLineMappingChangedEvent),N.emitViewEvent(new r.ViewDecorationsChangedEvent(null)),this._cursor.onLineMappingChanged(N),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount())}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule()}this.cursorConfig=new g.CursorConfiguration(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig)})),this._register(this.model.onDidChangeDecorations(E=>{this._decorations.onModelDecorationsChanged(),this._eventDispatcher.emitSingleViewEvent(new r.ViewDecorationsChangedEvent(E))}))}setHiddenAreas(E){let N=!1;try{const D=this._eventDispatcher.beginEmitViewEvents();N=this._lines.setHiddenAreas(E),N&&(D.emitViewEvent(new r.ViewFlushedEvent),D.emitViewEvent(new r.ViewLineMappingChangedEvent),D.emitViewEvent(new r.ViewDecorationsChangedEvent(null)),this._cursor.onLineMappingChanged(D),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this.viewLayout.onHeightMaybeChanged())}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule(),N&&this._eventDispatcher.emitOutgoingEvent(new f.ViewZonesChangedEvent)}getVisibleRangesPlusViewportAboveBelow(){const E=this._configuration.options.get(131),N=this._configuration.options.get(59),D=Math.max(20,Math.round(E.height/N)),M=this.viewLayout.getLinesViewportData(),B=Math.max(1,M.completelyVisibleStartLineNumber-D),O=Math.min(this.getLineCount(),M.completelyVisibleEndLineNumber+D);return this._toModelVisibleRanges(new n.Range(B,this.getLineMinColumn(B),O,this.getLineMaxColumn(O)))}getVisibleRanges(){const E=this.getCompletelyVisibleViewRange();return this._toModelVisibleRanges(E)}_toModelVisibleRanges(E){const N=this.coordinatesConverter.convertViewRangeToModelRange(E),D=this._lines.getHiddenAreas();if(D.length===0)return[N];const M=[];let B=0,O=N.startLineNumber,T=N.startColumn;const A=N.endLineNumber,P=N.endColumn;for(let F=0,W=D.length;F<W;F++){const R=D[F].startLineNumber,z=D[F].endLineNumber;z<O||R>A||(O<R&&(M[B++]=new n.Range(O,T,R-1,this.model.getLineMaxColumn(R-1))),O=z+1,T=1)}return(O<A||O===A&&T<P)&&(M[B++]=new n.Range(O,T,A,P)),M}getCompletelyVisibleViewRange(){const E=this.viewLayout.getLinesViewportData(),N=E.completelyVisibleStartLineNumber,D=E.completelyVisibleEndLineNumber;return new n.Range(N,this.getLineMinColumn(N),D,this.getLineMaxColumn(D))}getCompletelyVisibleViewRangeAtScrollTop(E){const N=this.viewLayout.getLinesViewportDataAtScrollTop(E),D=N.completelyVisibleStartLineNumber,M=N.completelyVisibleEndLineNumber;return new n.Range(D,this.getLineMinColumn(D),M,this.getLineMaxColumn(M))}saveState(){const E=this.viewLayout.saveState(),N=E.scrollTop,D=this.viewLayout.getLineNumberAtVerticalOffset(N),M=this.coordinatesConverter.convertViewPositionToModelPosition(new t.Position(D,this.getLineMinColumn(D))),B=this.viewLayout.getVerticalOffsetForLineNumber(D)-N;return{scrollLeft:E.scrollLeft,firstPosition:M,firstPositionDeltaTop:B}}reduceRestoreState(E){if(typeof E.firstPosition=="undefined")return this._reduceRestoreStateCompatibility(E);const N=this.model.validatePosition(E.firstPosition),D=this.coordinatesConverter.convertModelPositionToViewPosition(N),M=this.viewLayout.getVerticalOffsetForLineNumber(D.lineNumber)-E.firstPositionDeltaTop;return{scrollLeft:E.scrollLeft,scrollTop:M}}_reduceRestoreStateCompatibility(E){return{scrollLeft:E.scrollLeft,scrollTop:E.scrollTopWithoutViewZones}}getTabSize(){return this.model.getOptions().tabSize}getLineCount(){return this._lines.getViewLineCount()}setViewport(E,N,D){this._viewportStartLine=E;const M=this.coordinatesConverter.convertViewPositionToModelPosition(new t.Position(E,this.getLineMinColumn(E)));this._viewportStartLineTrackedRange=this.model._setTrackedRange(this._viewportStartLineTrackedRange,new n.Range(M.lineNumber,M.column,M.lineNumber,M.column),1);const B=this.viewLayout.getVerticalOffsetForLineNumber(E),O=this.viewLayout.getCurrentScrollTop();this._viewportStartLineDelta=O-B}getActiveIndentGuide(E,N,D){return this._lines.getActiveIndentGuide(E,N,D)}getLinesIndentGuides(E,N){return this._lines.getViewLinesIndentGuides(E,N)}getBracketGuidesInRangeByLine(E,N,D,M){return this._lines.getViewLinesBracketGuides(E,N,D,M)}getLineContent(E){return this._lines.getViewLineContent(E)}getLineLength(E){return this._lines.getViewLineLength(E)}getLineMinColumn(E){return this._lines.getViewLineMinColumn(E)}getLineMaxColumn(E){return this._lines.getViewLineMaxColumn(E)}getLineFirstNonWhitespaceColumn(E){const N=b.firstNonWhitespaceIndex(this.getLineContent(E));return N===-1?0:N+1}getLineLastNonWhitespaceColumn(E){const N=b.lastNonWhitespaceIndex(this.getLineContent(E));return N===-1?0:N+2}getDecorationsInViewport(E){return this._decorations.getDecorationsViewportData(E).decorations}getInjectedTextAt(E){return this._lines.getInjectedTextAt(E)}getViewLineRenderingData(E,N){const D=this.model.mightContainRTL(),M=this.model.mightContainNonBasicASCII(),B=this.getTabSize(),O=this._lines.getViewLineData(N);let A=this._decorations.getDecorationsViewportData(E).inlineDecorations[N-E.startLineNumber];return O.inlineDecorations&&(A=[...A,...O.inlineDecorations.map(P=>P.toInlineDecoration(N))]),new l.ViewLineRenderingData(O.minColumn,O.maxColumn,O.content,O.continuesWithWrappedLine,D,M,O.tokens,A,B,O.startVisibleColumn)}getViewLineData(E){return this._lines.getViewLineData(E)}getMinimapLinesRenderingData(E,N,D){const M=this._lines.getViewLinesData(E,N,D);return new l.MinimapLinesRenderingData(this.getTabSize(),M)}getAllOverviewRulerDecorations(E){const N=this.model.getOverviewRulerDecorations(this._editorId,(0,C.filterValidationDecorations)(this._configuration.options)),D=new _;for(const M of N){const B=M.options,O=B.overviewRuler;if(!O)continue;const T=O.position;if(T===0)continue;const A=O.getColor(E.value),P=this.coordinatesConverter.getViewLineNumberOfModelPosition(M.range.startLineNumber,M.range.startColumn),F=this.coordinatesConverter.getViewLineNumberOfModelPosition(M.range.endLineNumber,M.range.endColumn);D.accept(A,B.zIndex,P,F,T)}return D.asArray}_invalidateDecorationsColorCache(){const E=this.model.getOverviewRulerDecorations();for(const N of E){const D=N.options.overviewRuler;D&&D.invalidateCachedColor();const M=N.options.minimap;M&&M.invalidateCachedColor()}}getValueInRange(E,N){const D=this.coordinatesConverter.convertViewRangeToModelRange(E);return this.model.getValueInRange(D,N)}deduceModelPositionRelativeToViewPosition(E,N,D){const M=this.coordinatesConverter.convertViewPositionToModelPosition(E);this.model.getEOL().length===2&&(N<0?N-=D:N+=D);const O=this.model.getOffsetAt(M)+N;return this.model.getPositionAt(O)}getPlainTextToCopy(E,N,D){const M=D?`\r
+`:this.model.getEOL();E=E.slice(0),E.sort(n.Range.compareRangesUsingStarts);let B=!1,O=!1;for(const A of E)A.isEmpty()?B=!0:O=!0;if(!O){if(!N)return"";const A=E.map(F=>F.startLineNumber);let P="";for(let F=0;F<A.length;F++)F>0&&A[F-1]===A[F]||(P+=this.model.getLineContent(A[F])+M);return P}if(B&&N){const A=[];let P=0;for(const F of E){const W=F.startLineNumber;F.isEmpty()?W!==P&&A.push(this.model.getLineContent(W)):A.push(this.model.getValueInRange(F,D?2:0)),P=W}return A.length===1?A[0]:A}const T=[];for(const A of E)A.isEmpty()||T.push(this.model.getValueInRange(A,D?2:0));return T.length===1?T[0]:T}getRichTextToCopy(E,N){const D=this.model.getLanguageId();if(D===c.PLAINTEXT_LANGUAGE_ID||E.length!==1)return null;let M=E[0];if(M.isEmpty()){if(!N)return null;const F=M.startLineNumber;M=new n.Range(F,this.model.getLineMinColumn(F),F,this.model.getLineMaxColumn(F))}const B=this._configuration.options.get(44),O=this._getColorMap(),A=/[:;\\\/<>]/.test(B.fontFamily)||B.fontFamily===C.EDITOR_FONT_DEFAULTS.fontFamily;let P;return A?P=C.EDITOR_FONT_DEFAULTS.fontFamily:(P=B.fontFamily,P=P.replace(/"/g,"'"),/[,']/.test(P)||/[+ ]/.test(P)&&(P=`'${P}'`),P=`${P}, ${C.EDITOR_FONT_DEFAULTS.fontFamily}`),{mode:D,html:`<div style="color: ${O[1]};background-color: ${O[2]};font-family: ${P};font-weight: ${B.fontWeight};font-size: ${B.fontSize}px;line-height: ${B.lineHeight}px;white-space: pre;">`+this._getHTMLToCopy(M,O)+"</div>"}}_getHTMLToCopy(E,N){const D=E.startLineNumber,M=E.startColumn,B=E.endLineNumber,O=E.endColumn,T=this.getTabSize();let A="";for(let P=D;P<=B;P++){const F=this.model.getLineTokens(P),W=F.getLineContent(),R=P===D?M-1:0,z=P===B?O-1:W.length;W===""?A+="<br>":A+=(0,d.tokenizeLineToHTML)(W,F.inflate(),N,R,z,T,w.isWindows)}return A}_getColorMap(){const E=o.TokenizationRegistry.getColorMap(),N=["#000000"];if(E)for(let D=1,M=E.length;D<M;D++)N[D]=k.Color.Format.CSS.formatHex(E[D]);return N}getPrimaryCursorState(){return this._cursor.getPrimaryCursorState()}getLastAddedCursorIndex(){return this._cursor.getLastAddedCursorIndex()}getCursorStates(){return this._cursor.getCursorStates()}setCursorStates(E,N,D){return this._withViewEventsCollector(M=>this._cursor.setStates(M,E,N,D))}getCursorColumnSelectData(){return this._cursor.getCursorColumnSelectData()}getCursorAutoClosedCharacters(){return this._cursor.getAutoClosedCharacters()}setCursorColumnSelectData(E){this._cursor.setCursorColumnSelectData(E)}getPrevEditOperationType(){return this._cursor.getPrevEditOperationType()}setPrevEditOperationType(E){this._cursor.setPrevEditOperationType(E)}getSelection(){return this._cursor.getSelection()}getSelections(){return this._cursor.getSelections()}getPosition(){return this._cursor.getPrimaryCursorState().modelState.position}setSelections(E,N,D=0){this._withViewEventsCollector(M=>this._cursor.setSelections(M,E,N,D))}saveCursorState(){return this._cursor.saveState()}restoreCursorState(E){this._withViewEventsCollector(N=>this._cursor.restoreState(N,E))}_executeCursorEdit(E){if(this._cursor.context.cursorConfig.readOnly){this._eventDispatcher.emitOutgoingEvent(new f.ReadOnlyEditAttemptEvent);return}this._withViewEventsCollector(E)}executeEdits(E,N,D){this._executeCursorEdit(M=>this._cursor.executeEdits(M,E,N,D))}startComposition(){this._cursor.setIsDoingComposition(!0),this._executeCursorEdit(E=>this._cursor.startComposition(E))}endComposition(E){this._cursor.setIsDoingComposition(!1),this._executeCursorEdit(N=>this._cursor.endComposition(N,E))}type(E,N){this._executeCursorEdit(D=>this._cursor.type(D,E,N))}compositionType(E,N,D,M,B){this._executeCursorEdit(O=>this._cursor.compositionType(O,E,N,D,M,B))}paste(E,N,D,M){this._executeCursorEdit(B=>this._cursor.paste(B,E,N,D,M))}cut(E){this._executeCursorEdit(N=>this._cursor.cut(N,E))}executeCommand(E,N){this._executeCursorEdit(D=>this._cursor.executeCommand(D,E,N))}executeCommands(E,N){this._executeCursorEdit(D=>this._cursor.executeCommands(D,E,N))}revealPrimaryCursor(E,N,D=!1){this._withViewEventsCollector(M=>this._cursor.revealPrimary(M,E,D,0,N,0))}revealTopMostCursor(E){const N=this._cursor.getTopMostViewPosition(),D=new n.Range(N.lineNumber,N.column,N.lineNumber,N.column);this._withViewEventsCollector(M=>M.emitViewEvent(new r.ViewRevealRangeRequestEvent(E,!1,D,null,0,!0,0)))}revealBottomMostCursor(E){const N=this._cursor.getBottomMostViewPosition(),D=new n.Range(N.lineNumber,N.column,N.lineNumber,N.column);this._withViewEventsCollector(M=>M.emitViewEvent(new r.ViewRevealRangeRequestEvent(E,!1,D,null,0,!0,0)))}revealRange(E,N,D,M,B){this._withViewEventsCollector(O=>O.emitViewEvent(new r.ViewRevealRangeRequestEvent(E,!1,D,null,M,N,B)))}changeWhitespace(E){this.viewLayout.changeWhitespace(E)&&(this._eventDispatcher.emitSingleViewEvent(new r.ViewZonesChangedEvent),this._eventDispatcher.emitOutgoingEvent(new f.ViewZonesChangedEvent))}_withViewEventsCollector(E){try{const N=this._eventDispatcher.beginEmitViewEvents();return E(N)}finally{this._eventDispatcher.endEmitViewEvents()}}normalizePosition(E,N){return this._lines.normalizePosition(E,N)}getLineIndentColumn(E){return this._lines.getLineIndentColumn(E)}}e.ViewModel=p;class _{constructor(){this._asMap=Object.create(null),this.asArray=[]}accept(E,N,D,M,B){const O=this._asMap[E];if(O){const T=O.data,A=T[T.length-3],P=T[T.length-1];if(A===B&&P+1>=D){M>P&&(T[T.length-1]=M);return}T.push(B,D,M)}else{const T=new l.OverviewRulerDecorationsGroup(E,N,[B,D,M]);this._asMap[E]=T,this.asArray.push(T)}}}}),define(te[163],ie([1,0,507,7,13,4,2,45,614,15,29,670,235,32,277,70,11,3,22,242,149,24,54,23,716,26,17,9,157,39,14,65,19,454,515,151,33,64,20,668,370]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s,a,l,h,f,S,v,p,_,y,E,N,D,M,B,O,T,A,P,F,W){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EditorModeContext=e.BooleanEventEmitter=e.CodeEditorWidget=void 0;let R=0;class z{constructor(ee,ue,le,x,H){this.model=ee,this.viewModel=ue,this.view=le,this.hasRealView=x,this.listenersToRemove=H}dispose(){(0,w.dispose)(this.listenersToRemove),this.model.onBeforeDetached(),this.hasRealView&&this.view.dispose(),this.viewModel.dispose()}}let j=class zt extends w.Disposable{constructor(ee,ue,le,x,H,U,Q,Y,ne,ge,fe,ce){super();this.languageConfigurationService=fe,this._onDidDispose=this._register(new I.Emitter),this.onDidDispose=this._onDidDispose.event,this._onDidChangeModelContent=this._register(new I.Emitter),this.onDidChangeModelContent=this._onDidChangeModelContent.event,this._onDidChangeModelLanguage=this._register(new I.Emitter),this.onDidChangeModelLanguage=this._onDidChangeModelLanguage.event,this._onDidChangeModelLanguageConfiguration=this._register(new I.Emitter),this.onDidChangeModelLanguageConfiguration=this._onDidChangeModelLanguageConfiguration.event,this._onDidChangeModelOptions=this._register(new I.Emitter),this.onDidChangeModelOptions=this._onDidChangeModelOptions.event,this._onDidChangeModelDecorations=this._register(new I.Emitter),this.onDidChangeModelDecorations=this._onDidChangeModelDecorations.event,this._onDidChangeConfiguration=this._register(new I.Emitter),this.onDidChangeConfiguration=this._onDidChangeConfiguration.event,this._onDidChangeModel=this._register(new I.Emitter),this.onDidChangeModel=this._onDidChangeModel.event,this._onDidChangeCursorPosition=this._register(new I.Emitter),this.onDidChangeCursorPosition=this._onDidChangeCursorPosition.event,this._onDidChangeCursorSelection=this._register(new I.Emitter),this.onDidChangeCursorSelection=this._onDidChangeCursorSelection.event,this._onDidAttemptReadOnlyEdit=this._register(new I.Emitter),this.onDidAttemptReadOnlyEdit=this._onDidAttemptReadOnlyEdit.event,this._onDidLayoutChange=this._register(new I.Emitter),this.onDidLayoutChange=this._onDidLayoutChange.event,this._editorTextFocus=this._register(new $),this.onDidFocusEditorText=this._editorTextFocus.onDidChangeToTrue,this.onDidBlurEditorText=this._editorTextFocus.onDidChangeToFalse,this._editorWidgetFocus=this._register(new $),this.onDidFocusEditorWidget=this._editorWidgetFocus.onDidChangeToTrue,this.onDidBlurEditorWidget=this._editorWidgetFocus.onDidChangeToFalse,this._onWillType=this._register(new I.Emitter),this.onWillType=this._onWillType.event,this._onDidType=this._register(new I.Emitter),this.onDidType=this._onDidType.event,this._onDidCompositionStart=this._register(new I.Emitter),this.onDidCompositionStart=this._onDidCompositionStart.event,this._onDidCompositionEnd=this._register(new I.Emitter),this.onDidCompositionEnd=this._onDidCompositionEnd.event,this._onDidPaste=this._register(new I.Emitter),this.onDidPaste=this._onDidPaste.event,this._onMouseUp=this._register(new I.Emitter),this.onMouseUp=this._onMouseUp.event,this._onMouseDown=this._register(new I.Emitter),this.onMouseDown=this._onMouseDown.event,this._onMouseDrag=this._register(new I.Emitter),this.onMouseDrag=this._onMouseDrag.event,this._onMouseDrop=this._register(new I.Emitter),this.onMouseDrop=this._onMouseDrop.event,this._onMouseDropCanceled=this._register(new I.Emitter),this.onMouseDropCanceled=this._onMouseDropCanceled.event,this._onContextMenu=this._register(new I.Emitter),this.onContextMenu=this._onContextMenu.event,this._onMouseMove=this._register(new I.Emitter),this.onMouseMove=this._onMouseMove.event,this._onMouseLeave=this._register(new I.Emitter),this.onMouseLeave=this._onMouseLeave.event,this._onMouseWheel=this._register(new I.Emitter),this.onMouseWheel=this._onMouseWheel.event,this._onKeyUp=this._register(new I.Emitter),this.onKeyUp=this._onKeyUp.event,this._onKeyDown=this._register(new I.Emitter),this.onKeyDown=this._onKeyDown.event,this._onDidContentSizeChange=this._register(new I.Emitter),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._onDidScrollChange=this._register(new I.Emitter),this.onDidScrollChange=this._onDidScrollChange.event,this._onDidChangeViewZones=this._register(new I.Emitter),this.onDidChangeViewZones=this._onDidChangeViewZones.event,this._onDidChangeHiddenAreas=this._register(new I.Emitter),this.onDidChangeHiddenAreas=this._onDidChangeHiddenAreas.event,this._bannerDomNode=null;const he=Object.assign({},ue);this._domElement=ee,this._overflowWidgetsDomNode=he.overflowWidgetsDomNode,delete he.overflowWidgetsDomNode,this._id=++R,this._decorationTypeKeysToIds={},this._decorationTypeSubtypes={},this._telemetryData=le.telemetryData,this._configuration=this._register(this._createConfiguration(le.isSimpleWidget||!1,he,ge)),this._register(this._configuration.onDidChange(Ce=>{this._onDidChangeConfiguration.fire(Ce);const be=this._configuration.options;if(Ce.hasChanged(131)){const de=be.get(131);this._onDidLayoutChange.fire(de)}})),this._contextKeyService=this._register(Q.createScoped(this._domElement)),this._notificationService=ne,this._codeEditorService=H,this._commandService=U,this._themeService=Y,this._register(new G(this,this._contextKeyService)),this._register(new J(this,this._contextKeyService,ce)),this._instantiationService=x.createChild(new E.ServiceCollection([_.IContextKeyService,this._contextKeyService])),this._modelData=null,this._contributions={},this._actions={},this._focusTracker=new re(ee),this._register(this._focusTracker.onChange(()=>{this._editorWidgetFocus.setValue(this._focusTracker.hasFocus())})),this._contentWidgets={},this._overlayWidgets={};let ve;Array.isArray(le.contributions)?ve=le.contributions:ve=u.EditorExtensionsRegistry.getEditorContributions();for(const Ce of ve){if(this._contributions[Ce.id]){(0,k.onUnexpectedError)(new Error(`Cannot have two contributions with the same id ${Ce.id}`));continue}try{const be=this._instantiationService.createInstance(Ce.ctor,this);this._contributions[Ce.id]=be}catch(be){(0,k.onUnexpectedError)(be)}}u.EditorExtensionsRegistry.getEditorActions().forEach(Ce=>{if(this._actions[Ce.id]){(0,k.onUnexpectedError)(new Error(`Cannot have two actions with the same id ${Ce.id}`));return}const be=new a.InternalEditorAction(Ce.id,Ce.label,Ce.alias,(0,B.withNullAsUndefined)(Ce.precondition),()=>this._instantiationService.invokeFunction(de=>Promise.resolve(Ce.runEditorCommand(de,this,null))),this._contextKeyService);this._actions[be.id]=be}),this._codeEditorService.addCodeEditor(this)}get isSimpleWidget(){return this._configuration.isSimpleWidget}_createConfiguration(ee,ue,le){return new C.EditorConfiguration(ee,ue,this._domElement,le)}getId(){return this.getEditorType()+":"+this._id}getEditorType(){return l.EditorType.ICodeEditor}dispose(){this._codeEditorService.removeCodeEditor(this),this._focusTracker.dispose();const ee=Object.keys(this._contributions);for(let ue=0,le=ee.length;ue<le;ue++){const x=ee[ue];this._contributions[x].dispose()}this._contributions={},this._actions={},this._contentWidgets={},this._overlayWidgets={},this._removeDecorationTypes(),this._postDetachModelCleanup(this._detachModel()),this._onDidDispose.fire(),super.dispose()}invokeWithinContext(ee){return this._instantiationService.invokeFunction(ee)}updateOptions(ee){this._configuration.updateOptions(ee||{})}getOptions(){return this._configuration.options}getOption(ee){return this._configuration.options.get(ee)}getRawOptions(){return this._configuration.getRawOptions()}getOverflowWidgetsDomNode(){return this._overflowWidgetsDomNode}getConfiguredWordAtPosition(ee){return this._modelData?A.WordOperations.getWordAtPosition(this._modelData.model,this._configuration.options.get(117),ee):null}getValue(ee=null){if(!this._modelData)return"";const ue=!!(ee&&ee.preserveBOM);let le=0;return ee&&ee.lineEnding&&ee.lineEnding===`
+`?le=1:ee&&ee.lineEnding&&ee.lineEnding===`\r
+`&&(le=2),this._modelData.model.getValue(le,ue)}setValue(ee){!this._modelData||this._modelData.model.setValue(ee)}getModel(){return this._modelData?this._modelData.model:null}setModel(ee=null){const ue=ee;if(this._modelData===null&&ue===null||this._modelData&&this._modelData.model===ue)return;const le=this.hasTextFocus(),x=this._detachModel();this._attachModel(ue),le&&this.hasModel()&&this.focus();const H={oldModelUrl:x?x.uri:null,newModelUrl:ue?ue.uri:null};this._removeDecorationTypes(),this._onDidChangeModel.fire(H),this._postDetachModelCleanup(x)}_removeDecorationTypes(){if(this._decorationTypeKeysToIds={},this._decorationTypeSubtypes){for(let ee in this._decorationTypeSubtypes){const ue=this._decorationTypeSubtypes[ee];for(let le in ue)this._removeDecorationType(ee+"-"+le)}this._decorationTypeSubtypes={}}}getVisibleRanges(){return this._modelData?this._modelData.viewModel.getVisibleRanges():[]}getVisibleRangesPlusViewportAboveBelow(){return this._modelData?this._modelData.viewModel.getVisibleRangesPlusViewportAboveBelow():[]}getWhitespaces(){return this._modelData?this._modelData.viewModel.viewLayout.getWhitespaces():[]}static _getVerticalOffsetForPosition(ee,ue,le){const x=ee.model.validatePosition({lineNumber:ue,column:le}),H=ee.viewModel.coordinatesConverter.convertModelPositionToViewPosition(x);return ee.viewModel.viewLayout.getVerticalOffsetForLineNumber(H.lineNumber)}getTopForLineNumber(ee){return this._modelData?zt._getVerticalOffsetForPosition(this._modelData,ee,1):-1}getTopForPosition(ee,ue){return this._modelData?zt._getVerticalOffsetForPosition(this._modelData,ee,ue):-1}setHiddenAreas(ee){this._modelData&&this._modelData.viewModel.setHiddenAreas(ee.map(ue=>r.Range.lift(ue)))}getVisibleColumnFromPosition(ee){if(!this._modelData)return ee.column;const ue=this._modelData.model.validatePosition(ee),le=this._modelData.model.getOptions().tabSize;return c.CursorColumns.visibleColumnFromColumn(this._modelData.model.getLineContent(ue.lineNumber),ue.column,le)+1}getPosition(){return this._modelData?this._modelData.viewModel.getPosition():null}setPosition(ee,ue="api"){if(!!this._modelData){if(!d.Position.isIPosition(ee))throw new Error("Invalid arguments");this._modelData.viewModel.setSelections(ue,[{selectionStartLineNumber:ee.lineNumber,selectionStartColumn:ee.column,positionLineNumber:ee.lineNumber,positionColumn:ee.column}])}}_sendRevealRange(ee,ue,le,x){if(!this._modelData)return;if(!r.Range.isIRange(ee))throw new Error("Invalid arguments");const H=this._modelData.model.validateRange(ee),U=this._modelData.viewModel.coordinatesConverter.convertModelRangeToViewRange(H);this._modelData.viewModel.revealRange("api",le,U,ue,x)}revealLine(ee,ue=0){this._revealLine(ee,0,ue)}revealLineInCenter(ee,ue=0){this._revealLine(ee,1,ue)}revealLineInCenterIfOutsideViewport(ee,ue=0){this._revealLine(ee,2,ue)}revealLineNearTop(ee,ue=0){this._revealLine(ee,5,ue)}_revealLine(ee,ue,le){if(typeof ee!="number")throw new Error("Invalid arguments");this._sendRevealRange(new r.Range(ee,1,ee,1),ue,!1,le)}revealPosition(ee,ue=0){this._revealPosition(ee,0,!0,ue)}revealPositionInCenter(ee,ue=0){this._revealPosition(ee,1,!0,ue)}revealPositionInCenterIfOutsideViewport(ee,ue=0){this._revealPosition(ee,2,!0,ue)}revealPositionNearTop(ee,ue=0){this._revealPosition(ee,5,!0,ue)}_revealPosition(ee,ue,le,x){if(!d.Position.isIPosition(ee))throw new Error("Invalid arguments");this._sendRevealRange(new r.Range(ee.lineNumber,ee.column,ee.lineNumber,ee.column),ue,le,x)}getSelection(){return this._modelData?this._modelData.viewModel.getSelection():null}getSelections(){return this._modelData?this._modelData.viewModel.getSelections():null}setSelection(ee,ue="api"){const le=s.Selection.isISelection(ee),x=r.Range.isIRange(ee);if(!le&&!x)throw new Error("Invalid arguments");if(le)this._setSelectionImpl(ee,ue);else if(x){const H={selectionStartLineNumber:ee.startLineNumber,selectionStartColumn:ee.startColumn,positionLineNumber:ee.endLineNumber,positionColumn:ee.endColumn};this._setSelectionImpl(H,ue)}}_setSelectionImpl(ee,ue){if(!this._modelData)return;const le=new s.Selection(ee.selectionStartLineNumber,ee.selectionStartColumn,ee.positionLineNumber,ee.positionColumn);this._modelData.viewModel.setSelections(ue,[le])}revealLines(ee,ue,le=0){this._revealLines(ee,ue,0,le)}revealLinesInCenter(ee,ue,le=0){this._revealLines(ee,ue,1,le)}revealLinesInCenterIfOutsideViewport(ee,ue,le=0){this._revealLines(ee,ue,2,le)}revealLinesNearTop(ee,ue,le=0){this._revealLines(ee,ue,5,le)}_revealLines(ee,ue,le,x){if(typeof ee!="number"||typeof ue!="number")throw new Error("Invalid arguments");this._sendRevealRange(new r.Range(ee,1,ue,1),le,!1,x)}revealRange(ee,ue=0,le=!1,x=!0){this._revealRange(ee,le?1:0,x,ue)}revealRangeInCenter(ee,ue=0){this._revealRange(ee,1,!0,ue)}revealRangeInCenterIfOutsideViewport(ee,ue=0){this._revealRange(ee,2,!0,ue)}revealRangeNearTop(ee,ue=0){this._revealRange(ee,5,!0,ue)}revealRangeNearTopIfOutsideViewport(ee,ue=0){this._revealRange(ee,6,!0,ue)}revealRangeAtTop(ee,ue=0){this._revealRange(ee,3,!0,ue)}_revealRange(ee,ue,le,x){if(!r.Range.isIRange(ee))throw new Error("Invalid arguments");this._sendRevealRange(r.Range.lift(ee),ue,le,x)}setSelections(ee,ue="api",le=0){if(!!this._modelData){if(!ee||ee.length===0)throw new Error("Invalid arguments");for(let x=0,H=ee.length;x<H;x++)if(!s.Selection.isISelection(ee[x]))throw new Error("Invalid arguments");this._modelData.viewModel.setSelections(ue,ee,le)}}getContentWidth(){return this._modelData?this._modelData.viewModel.viewLayout.getContentWidth():-1}getScrollWidth(){return this._modelData?this._modelData.viewModel.viewLayout.getScrollWidth():-1}getScrollLeft(){return this._modelData?this._modelData.viewModel.viewLayout.getCurrentScrollLeft():-1}getContentHeight(){return this._modelData?this._modelData.viewModel.viewLayout.getContentHeight():-1}getScrollHeight(){return this._modelData?this._modelData.viewModel.viewLayout.getScrollHeight():-1}getScrollTop(){return this._modelData?this._modelData.viewModel.viewLayout.getCurrentScrollTop():-1}setScrollLeft(ee,ue=1){if(!!this._modelData){if(typeof ee!="number")throw new Error("Invalid arguments");this._modelData.viewModel.viewLayout.setScrollPosition({scrollLeft:ee},ue)}}setScrollTop(ee,ue=1){if(!!this._modelData){if(typeof ee!="number")throw new Error("Invalid arguments");this._modelData.viewModel.viewLayout.setScrollPosition({scrollTop:ee},ue)}}setScrollPosition(ee,ue=1){!this._modelData||this._modelData.viewModel.viewLayout.setScrollPosition(ee,ue)}saveViewState(){if(!this._modelData)return null;const ee={},ue=Object.keys(this._contributions);for(const H of ue){const U=this._contributions[H];typeof U.saveViewState=="function"&&(ee[H]=U.saveViewState())}const le=this._modelData.viewModel.saveCursorState(),x=this._modelData.viewModel.saveState();return{cursorState:le,viewState:x,contributionsState:ee}}restoreViewState(ee){if(!this._modelData||!this._modelData.hasRealView)return;const ue=ee;if(ue&&ue.cursorState&&ue.viewState){const le=ue.cursorState;Array.isArray(le)?le.length>0&&this._modelData.viewModel.restoreCursorState(le):this._modelData.viewModel.restoreCursorState([le]);const x=ue.contributionsState||{},H=Object.keys(this._contributions);for(let Q=0,Y=H.length;Q<Y;Q++){const ne=H[Q],ge=this._contributions[ne];typeof ge.restoreViewState=="function"&&ge.restoreViewState(x[ne])}const U=this._modelData.viewModel.reduceRestoreState(ue.viewState);this._modelData.view.restoreState(U)}}getContribution(ee){return this._contributions[ee]||null}getActions(){const ee=[],ue=Object.keys(this._actions);for(let le=0,x=ue.length;le<x;le++){const H=ue[le];ee.push(this._actions[H])}return ee}getSupportedActions(){let ee=this.getActions();return ee=ee.filter(ue=>ue.isSupported()),ee}getAction(ee){return this._actions[ee]||null}trigger(ee,ue,le){switch(le=le||{},ue){case"compositionStart":this._startComposition();return;case"compositionEnd":this._endComposition(ee);return;case"type":{const H=le;this._type(ee,H.text||"");return}case"replacePreviousChar":{const H=le;this._compositionType(ee,H.text||"",H.replaceCharCnt||0,0,0);return}case"compositionType":{const H=le;this._compositionType(ee,H.text||"",H.replacePrevCharCnt||0,H.replaceNextCharCnt||0,H.positionDelta||0);return}case"paste":{const H=le;this._paste(ee,H.text||"",H.pasteOnNewLine||!1,H.multicursorText||null,H.mode||null);return}case"cut":this._cut(ee);return}const x=this.getAction(ue);if(x){Promise.resolve(x.run()).then(void 0,k.onUnexpectedError);return}!this._modelData||this._triggerEditorCommand(ee,ue,le)||this._triggerCommand(ue,le)}_triggerCommand(ee,ue){this._commandService.executeCommand(ee,ue)}_startComposition(){!this._modelData||(this._modelData.viewModel.startComposition(),this._onDidCompositionStart.fire())}_endComposition(ee){!this._modelData||(this._modelData.viewModel.endComposition(ee),this._onDidCompositionEnd.fire())}_type(ee,ue){!this._modelData||ue.length===0||(ee==="keyboard"&&this._onWillType.fire(ue),this._modelData.viewModel.type(ue,ee),ee==="keyboard"&&this._onDidType.fire(ue))}_compositionType(ee,ue,le,x,H){!this._modelData||this._modelData.viewModel.compositionType(ue,le,x,H,ee)}_paste(ee,ue,le,x,H){if(!this._modelData||ue.length===0)return;const U=this._modelData.viewModel.getSelection().getStartPosition();this._modelData.viewModel.paste(ue,le,x,ee);const Q=this._modelData.viewModel.getSelection().getStartPosition();ee==="keyboard"&&this._onDidPaste.fire({range:new r.Range(U.lineNumber,U.column,Q.lineNumber,Q.column),languageId:H})}_cut(ee){!this._modelData||this._modelData.viewModel.cut(ee)}_triggerEditorCommand(ee,ue,le){const x=u.EditorExtensionsRegistry.getEditorCommand(ue);return x?(le=le||{},le.source=ee,this._instantiationService.invokeFunction(H=>{Promise.resolve(x.runEditorCommand(H,this,le)).then(void 0,k.onUnexpectedError)}),!0):!1}_getViewModel(){return this._modelData?this._modelData.viewModel:null}pushUndoStop(){return!this._modelData||this._configuration.options.get(81)?!1:(this._modelData.model.pushStackElement(),!0)}popUndoStop(){return!this._modelData||this._configuration.options.get(81)?!1:(this._modelData.model.popStackElement(),!0)}executeEdits(ee,ue,le){if(!this._modelData||this._configuration.options.get(81))return!1;let x;return le?Array.isArray(le)?x=()=>le:x=le:x=()=>null,this._modelData.viewModel.executeEdits(ee,ue,x),!0}executeCommand(ee,ue){!this._modelData||this._modelData.viewModel.executeCommand(ue,ee)}executeCommands(ee,ue){!this._modelData||this._modelData.viewModel.executeCommands(ue,ee)}changeDecorations(ee){return this._modelData?this._modelData.model.changeDecorations(ee,this._id):null}getLineDecorations(ee){return this._modelData?this._modelData.model.getLineDecorations(ee,this._id,(0,i.filterValidationDecorations)(this._configuration.options)):null}getDecorationsInRange(ee){return this._modelData?this._modelData.model.getDecorationsInRange(ee,this._id,(0,i.filterValidationDecorations)(this._configuration.options)):null}deltaDecorations(ee,ue){return this._modelData?ee.length===0&&ue.length===0?ee:this._modelData.model.deltaDecorations(ee,ue,this._id):[]}removeDecorations(ee){const ue=this._decorationTypeKeysToIds[ee];ue&&this.deltaDecorations(ue,[]),this._decorationTypeKeysToIds.hasOwnProperty(ee)&&delete this._decorationTypeKeysToIds[ee],this._decorationTypeSubtypes.hasOwnProperty(ee)&&delete this._decorationTypeSubtypes[ee]}getLayoutInfo(){return this._configuration.options.get(131)}createOverviewRuler(ee){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.createOverviewRuler(ee)}getContainerDomNode(){return this._domElement}getDomNode(){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.domNode.domNode}delegateVerticalScrollbarMouseDown(ee){!this._modelData||!this._modelData.hasRealView||this._modelData.view.delegateVerticalScrollbarMouseDown(ee)}layout(ee){this._configuration.observeContainer(ee),this.render()}focus(){!this._modelData||!this._modelData.hasRealView||this._modelData.view.focus()}hasTextFocus(){return!this._modelData||!this._modelData.hasRealView?!1:this._modelData.view.isFocused()}hasWidgetFocus(){return this._focusTracker&&this._focusTracker.hasFocus()}addContentWidget(ee){const ue={widget:ee,position:ee.getPosition()};this._contentWidgets.hasOwnProperty(ee.getId())&&console.warn("Overwriting a content widget with the same id."),this._contentWidgets[ee.getId()]=ue,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addContentWidget(ue)}layoutContentWidget(ee){const ue=ee.getId();if(this._contentWidgets.hasOwnProperty(ue)){const le=this._contentWidgets[ue];le.position=ee.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutContentWidget(le)}}removeContentWidget(ee){const ue=ee.getId();if(this._contentWidgets.hasOwnProperty(ue)){const le=this._contentWidgets[ue];delete this._contentWidgets[ue],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeContentWidget(le)}}addOverlayWidget(ee){const ue={widget:ee,position:ee.getPosition()};this._overlayWidgets.hasOwnProperty(ee.getId())&&console.warn("Overwriting an overlay widget with the same id."),this._overlayWidgets[ee.getId()]=ue,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addOverlayWidget(ue)}layoutOverlayWidget(ee){const ue=ee.getId();if(this._overlayWidgets.hasOwnProperty(ue)){const le=this._overlayWidgets[ue];le.position=ee.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutOverlayWidget(le)}}removeOverlayWidget(ee){const ue=ee.getId();if(this._overlayWidgets.hasOwnProperty(ue)){const le=this._overlayWidgets[ue];delete this._overlayWidgets[ue],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeOverlayWidget(le)}}changeViewZones(ee){!this._modelData||!this._modelData.hasRealView||this._modelData.view.change(ee)}getTargetAtClientPoint(ee,ue){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.getTargetAtClientPoint(ee,ue)}getScrolledVisiblePosition(ee){if(!this._modelData||!this._modelData.hasRealView)return null;const ue=this._modelData.model.validatePosition(ee),le=this._configuration.options,x=le.get(131),H=zt._getVerticalOffsetForPosition(this._modelData,ue.lineNumber,ue.column)-this.getScrollTop(),U=this._modelData.view.getOffsetForColumn(ue.lineNumber,ue.column)+x.glyphMarginWidth+x.lineNumbersWidth+x.decorationsWidth-this.getScrollLeft();return{top:H,left:U,height:le.get(59)}}getOffsetForColumn(ee,ue){return!this._modelData||!this._modelData.hasRealView?-1:this._modelData.view.getOffsetForColumn(ee,ue)}render(ee=!1){!this._modelData||!this._modelData.hasRealView||this._modelData.view.render(!0,ee)}setAriaOptions(ee){!this._modelData||!this._modelData.hasRealView||this._modelData.view.setAriaOptions(ee)}applyFontInfo(ee){(0,F.applyFontInfo)(ee,this._configuration.options.get(44))}setBanner(ee,ue){this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._domElement.removeChild(this._bannerDomNode),this._bannerDomNode=ee,this._configuration.setReservedHeight(ee?ue:0),this._bannerDomNode&&this._domElement.prepend(this._bannerDomNode)}_attachModel(ee){if(!ee){this._modelData=null;return}const ue=[];this._domElement.setAttribute("data-mode-id",ee.getLanguageId()),this._configuration.setIsDominatedByLongLines(ee.isDominatedByLongLines()),this._configuration.setModelLineCount(ee.getLineCount()),ee.onBeforeAttached();const le=new v.ViewModel(this._id,this._configuration,ee,T.DOMLineBreaksComputerFactory.create(),O.MonospaceLineBreaksComputerFactory.create(this._configuration.options),U=>m.scheduleAtNextAnimationFrame(U),this.languageConfigurationService,this._themeService);ue.push(ee.onDidChangeDecorations(U=>this._onDidChangeModelDecorations.fire(U))),ue.push(ee.onDidChangeLanguage(U=>{this._domElement.setAttribute("data-mode-id",ee.getLanguageId()),this._onDidChangeModelLanguage.fire(U)})),ue.push(ee.onDidChangeLanguageConfiguration(U=>this._onDidChangeModelLanguageConfiguration.fire(U))),ue.push(ee.onDidChangeContent(U=>this._onDidChangeModelContent.fire(U))),ue.push(ee.onDidChangeOptions(U=>this._onDidChangeModelOptions.fire(U))),ue.push(ee.onWillDispose(()=>this.setModel(null))),ue.push(le.onEvent(U=>{switch(U.kind){case 0:this._onDidContentSizeChange.fire(U);break;case 1:this._editorTextFocus.setValue(U.hasFocus);break;case 2:this._onDidScrollChange.fire(U);break;case 3:this._onDidChangeViewZones.fire();break;case 4:this._onDidChangeHiddenAreas.fire();break;case 5:this._onDidAttemptReadOnlyEdit.fire();break;case 6:{U.reachedMaxCursorCount&&this._notificationService.warn(L.localize(0,null,o.CursorsController.MAX_CURSOR_COUNT));const Q=[];for(let ge=0,fe=U.selections.length;ge<fe;ge++)Q[ge]=U.selections[ge].getPosition();const Y={position:Q[0],secondaryPositions:Q.slice(1),reason:U.reason,source:U.source};this._onDidChangeCursorPosition.fire(Y);const ne={selection:U.selections[0],secondarySelections:U.selections.slice(1),modelVersionId:U.modelVersionId,oldSelections:U.oldSelections,oldModelVersionId:U.oldModelVersionId,source:U.source,reason:U.reason};this._onDidChangeCursorSelection.fire(ne);break}}}));const[x,H]=this._createView(le);if(H){this._domElement.appendChild(x.domNode.domNode);let U=Object.keys(this._contentWidgets);for(let Q=0,Y=U.length;Q<Y;Q++){const ne=U[Q];x.addContentWidget(this._contentWidgets[ne])}U=Object.keys(this._overlayWidgets);for(let Q=0,Y=U.length;Q<Y;Q++){const ne=U[Q];x.addOverlayWidget(this._overlayWidgets[ne])}x.render(!1,!0),x.domNode.domNode.setAttribute("data-uri",ee.uri.toString())}this._modelData=new z(ee,le,x,H,ue)}_createView(ee){let ue;this.isSimpleWidget?ue={paste:(H,U,Q,Y)=>{this._paste("keyboard",H,U,Q,Y)},type:H=>{this._type("keyboard",H)},compositionType:(H,U,Q,Y)=>{this._compositionType("keyboard",H,U,Q,Y)},startComposition:()=>{this._startComposition()},endComposition:()=>{this._endComposition("keyboard")},cut:()=>{this._cut("keyboard")}}:ue={paste:(H,U,Q,Y)=>{const ne={text:H,pasteOnNewLine:U,multicursorText:Q,mode:Y};this._commandService.executeCommand("paste",ne)},type:H=>{const U={text:H};this._commandService.executeCommand("type",U)},compositionType:(H,U,Q,Y)=>{if(Q||Y){const ne={text:H,replacePrevCharCnt:U,replaceNextCharCnt:Q,positionDelta:Y};this._commandService.executeCommand("compositionType",ne)}else{const ne={text:H,replaceCharCnt:U};this._commandService.executeCommand("replacePreviousChar",ne)}},startComposition:()=>{this._commandService.executeCommand("compositionStart",{})},endComposition:()=>{this._commandService.executeCommand("compositionEnd",{})},cut:()=>{this._commandService.executeCommand("cut",{})}};const le=new n.ViewUserInputEvents(ee.coordinatesConverter);return le.onKeyDown=H=>this._onKeyDown.fire(H),le.onKeyUp=H=>this._onKeyUp.fire(H),le.onContextMenu=H=>this._onContextMenu.fire(H),le.onMouseMove=H=>this._onMouseMove.fire(H),le.onMouseLeave=H=>this._onMouseLeave.fire(H),le.onMouseDown=H=>this._onMouseDown.fire(H),le.onMouseUp=H=>this._onMouseUp.fire(H),le.onMouseDrag=H=>this._onMouseDrag.fire(H),le.onMouseDrop=H=>this._onMouseDrop.fire(H),le.onMouseDropCanceled=H=>this._onMouseDropCanceled.fire(H),le.onMouseWheel=H=>this._onMouseWheel.fire(H),[new t.View(ue,this._configuration,this._themeService.getColorTheme(),ee,le,this._overflowWidgetsDomNode),!0]}_postDetachModelCleanup(ee){ee&&ee.removeAllDecorationsWithOwnerId(this._id)}_detachModel(){if(!this._modelData)return null;const ee=this._modelData.model,ue=this._modelData.hasRealView?this._modelData.view.domNode.domNode:null;return this._modelData.dispose(),this._modelData=null,this._domElement.removeAttribute("data-mode-id"),ue&&this._domElement.contains(ue)&&this._domElement.removeChild(ue),this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._domElement.removeChild(this._bannerDomNode),ee}_removeDecorationType(ee){this._codeEditorService.removeDecorationType(ee)}hasModel(){return this._modelData!==null}};j=Ie([pe(3,y.IInstantiationService),pe(4,g.ICodeEditorService),pe(5,p.ICommandService),pe(6,_.IContextKeyService),pe(7,D.IThemeService),pe(8,N.INotificationService),pe(9,M.IAccessibilityService),pe(10,P.ILanguageConfigurationService),pe(11,W.ILanguageFeaturesService)],j),e.CodeEditorWidget=j;class $ extends w.Disposable{constructor(){super();this._onDidChangeToTrue=this._register(new I.Emitter),this.onDidChangeToTrue=this._onDidChangeToTrue.event,this._onDidChangeToFalse=this._register(new I.Emitter),this.onDidChangeToFalse=this._onDidChangeToFalse.event,this._value=0}setValue(ee){const ue=ee?2:1;this._value!==ue&&(this._value=ue,this._value===2?this._onDidChangeToTrue.fire():this._value===1&&this._onDidChangeToFalse.fire())}}e.BooleanEventEmitter=$;class G extends w.Disposable{constructor(ee,ue){super();this._editor=ee,ue.createKey("editorId",ee.getId()),this._editorSimpleInput=h.EditorContextKeys.editorSimpleInput.bindTo(ue),this._editorFocus=h.EditorContextKeys.focus.bindTo(ue),this._textInputFocus=h.EditorContextKeys.textInputFocus.bindTo(ue),this._editorTextFocus=h.EditorContextKeys.editorTextFocus.bindTo(ue),this._editorTabMovesFocus=h.EditorContextKeys.tabMovesFocus.bindTo(ue),this._editorReadonly=h.EditorContextKeys.readOnly.bindTo(ue),this._inDiffEditor=h.EditorContextKeys.inDiffEditor.bindTo(ue),this._editorColumnSelection=h.EditorContextKeys.columnSelection.bindTo(ue),this._hasMultipleSelections=h.EditorContextKeys.hasMultipleSelections.bindTo(ue),this._hasNonEmptySelection=h.EditorContextKeys.hasNonEmptySelection.bindTo(ue),this._canUndo=h.EditorContextKeys.canUndo.bindTo(ue),this._canRedo=h.EditorContextKeys.canRedo.bindTo(ue),this._register(this._editor.onDidChangeConfiguration(()=>this._updateFromConfig())),this._register(this._editor.onDidChangeCursorSelection(()=>this._updateFromSelection())),this._register(this._editor.onDidFocusEditorWidget(()=>this._updateFromFocus())),this._register(this._editor.onDidBlurEditorWidget(()=>this._updateFromFocus())),this._register(this._editor.onDidFocusEditorText(()=>this._updateFromFocus())),this._register(this._editor.onDidBlurEditorText(()=>this._updateFromFocus())),this._register(this._editor.onDidChangeModel(()=>this._updateFromModel())),this._register(this._editor.onDidChangeConfiguration(()=>this._updateFromModel())),this._updateFromConfig(),this._updateFromSelection(),this._updateFromFocus(),this._updateFromModel(),this._editorSimpleInput.set(this._editor.isSimpleWidget)}_updateFromConfig(){const ee=this._editor.getOptions();this._editorTabMovesFocus.set(ee.get(130)),this._editorReadonly.set(ee.get(81)),this._inDiffEditor.set(ee.get(54)),this._editorColumnSelection.set(ee.get(18))}_updateFromSelection(){const ee=this._editor.getSelections();ee?(this._hasMultipleSelections.set(ee.length>1),this._hasNonEmptySelection.set(ee.some(ue=>!ue.isEmpty()))):(this._hasMultipleSelections.reset(),this._hasNonEmptySelection.reset())}_updateFromFocus(){this._editorFocus.set(this._editor.hasWidgetFocus()&&!this._editor.isSimpleWidget),this._editorTextFocus.set(this._editor.hasTextFocus()&&!this._editor.isSimpleWidget),this._textInputFocus.set(this._editor.hasTextFocus())}_updateFromModel(){const ee=this._editor.getModel();this._canUndo.set(Boolean(ee&&ee.canUndo())),this._canRedo.set(Boolean(ee&&ee.canRedo()))}}class J extends w.Disposable{constructor(ee,ue,le){super();this._editor=ee,this._contextKeyService=ue,this._languageFeaturesService=le,this._langId=h.EditorContextKeys.languageId.bindTo(ue),this._hasCompletionItemProvider=h.EditorContextKeys.hasCompletionItemProvider.bindTo(ue),this._hasCodeActionsProvider=h.EditorContextKeys.hasCodeActionsProvider.bindTo(ue),this._hasCodeLensProvider=h.EditorContextKeys.hasCodeLensProvider.bindTo(ue),this._hasDefinitionProvider=h.EditorContextKeys.hasDefinitionProvider.bindTo(ue),this._hasDeclarationProvider=h.EditorContextKeys.hasDeclarationProvider.bindTo(ue),this._hasImplementationProvider=h.EditorContextKeys.hasImplementationProvider.bindTo(ue),this._hasTypeDefinitionProvider=h.EditorContextKeys.hasTypeDefinitionProvider.bindTo(ue),this._hasHoverProvider=h.EditorContextKeys.hasHoverProvider.bindTo(ue),this._hasDocumentHighlightProvider=h.EditorContextKeys.hasDocumentHighlightProvider.bindTo(ue),this._hasDocumentSymbolProvider=h.EditorContextKeys.hasDocumentSymbolProvider.bindTo(ue),this._hasReferenceProvider=h.EditorContextKeys.hasReferenceProvider.bindTo(ue),this._hasRenameProvider=h.EditorContextKeys.hasRenameProvider.bindTo(ue),this._hasSignatureHelpProvider=h.EditorContextKeys.hasSignatureHelpProvider.bindTo(ue),this._hasInlayHintsProvider=h.EditorContextKeys.hasInlayHintsProvider.bindTo(ue),this._hasDocumentFormattingProvider=h.EditorContextKeys.hasDocumentFormattingProvider.bindTo(ue),this._hasDocumentSelectionFormattingProvider=h.EditorContextKeys.hasDocumentSelectionFormattingProvider.bindTo(ue),this._hasMultipleDocumentFormattingProvider=h.EditorContextKeys.hasMultipleDocumentFormattingProvider.bindTo(ue),this._hasMultipleDocumentSelectionFormattingProvider=h.EditorContextKeys.hasMultipleDocumentSelectionFormattingProvider.bindTo(ue),this._isInWalkThrough=h.EditorContextKeys.isInWalkThroughSnippet.bindTo(ue);const x=()=>this._update();this._register(ee.onDidChangeModel(x)),this._register(ee.onDidChangeModelLanguage(x)),this._register(le.completionProvider.onDidChange(x)),this._register(le.codeActionProvider.onDidChange(x)),this._register(le.codeLensProvider.onDidChange(x)),this._register(le.definitionProvider.onDidChange(x)),this._register(le.declarationProvider.onDidChange(x)),this._register(le.implementationProvider.onDidChange(x)),this._register(le.typeDefinitionProvider.onDidChange(x)),this._register(le.hoverProvider.onDidChange(x)),this._register(le.documentHighlightProvider.onDidChange(x)),this._register(le.documentSymbolProvider.onDidChange(x)),this._register(le.referenceProvider.onDidChange(x)),this._register(le.renameProvider.onDidChange(x)),this._register(le.documentFormattingEditProvider.onDidChange(x)),this._register(le.documentRangeFormattingEditProvider.onDidChange(x)),this._register(le.signatureHelpProvider.onDidChange(x)),this._register(le.inlayHintsProvider.onDidChange(x)),x()}dispose(){super.dispose()}reset(){this._contextKeyService.bufferChangeEvents(()=>{this._langId.reset(),this._hasCompletionItemProvider.reset(),this._hasCodeActionsProvider.reset(),this._hasCodeLensProvider.reset(),this._hasDefinitionProvider.reset(),this._hasDeclarationProvider.reset(),this._hasImplementationProvider.reset(),this._hasTypeDefinitionProvider.reset(),this._hasHoverProvider.reset(),this._hasDocumentHighlightProvider.reset(),this._hasDocumentSymbolProvider.reset(),this._hasReferenceProvider.reset(),this._hasRenameProvider.reset(),this._hasDocumentFormattingProvider.reset(),this._hasDocumentSelectionFormattingProvider.reset(),this._hasSignatureHelpProvider.reset(),this._isInWalkThrough.reset()})}_update(){const ee=this._editor.getModel();if(!ee){this.reset();return}this._contextKeyService.bufferChangeEvents(()=>{this._langId.set(ee.getLanguageId()),this._hasCompletionItemProvider.set(this._languageFeaturesService.completionProvider.has(ee)),this._hasCodeActionsProvider.set(this._languageFeaturesService.codeActionProvider.has(ee)),this._hasCodeLensProvider.set(this._languageFeaturesService.codeLensProvider.has(ee)),this._hasDefinitionProvider.set(this._languageFeaturesService.definitionProvider.has(ee)),this._hasDeclarationProvider.set(this._languageFeaturesService.declarationProvider.has(ee)),this._hasImplementationProvider.set(this._languageFeaturesService.implementationProvider.has(ee)),this._hasTypeDefinitionProvider.set(this._languageFeaturesService.typeDefinitionProvider.has(ee)),this._hasHoverProvider.set(this._languageFeaturesService.hoverProvider.has(ee)),this._hasDocumentHighlightProvider.set(this._languageFeaturesService.documentHighlightProvider.has(ee)),this._hasDocumentSymbolProvider.set(this._languageFeaturesService.documentSymbolProvider.has(ee)),this._hasReferenceProvider.set(this._languageFeaturesService.referenceProvider.has(ee)),this._hasRenameProvider.set(this._languageFeaturesService.renameProvider.has(ee)),this._hasSignatureHelpProvider.set(this._languageFeaturesService.signatureHelpProvider.has(ee)),this._hasInlayHintsProvider.set(this._languageFeaturesService.inlayHintsProvider.has(ee)),this._hasDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.has(ee)||this._languageFeaturesService.documentRangeFormattingEditProvider.has(ee)),this._hasDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.has(ee)),this._hasMultipleDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.all(ee).length+this._languageFeaturesService.documentRangeFormattingEditProvider.all(ee).length>1),this._hasMultipleDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.all(ee).length>1),this._isInWalkThrough.set(ee.uri.scheme===b.Schemas.walkThroughSnippet)})}}e.EditorModeContext=J;class re extends w.Disposable{constructor(ee){super();this._onChange=this._register(new I.Emitter),this.onChange=this._onChange.event,this._hasFocus=!1,this._domFocusTracker=this._register(m.trackFocus(ee)),this._register(this._domFocusTracker.onDidFocus(()=>{this._hasFocus=!0,this._onChange.fire(void 0)})),this._register(this._domFocusTracker.onDidBlur(()=>{this._hasFocus=!1,this._onChange.fire(void 0)}))}hasFocus(){return this._hasFocus}}const se=encodeURIComponent("<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 3' enable-background='new 0 0 6 3' height='3' width='6'><g fill='"),Z=encodeURIComponent("'><polygon points='5.5,0 2.5,3 1.1,3 4.1,0'/><polygon points='4,0 6,2 6,0.6 5.4,0'/><polygon points='0,2 1,3 2.4,3 0,0.6'/></g></svg>");function V(ae){return se+encodeURIComponent(ae.toString())+Z}const K=encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" height="3" width="12"><g fill="'),X=encodeURIComponent('"><circle cx="1" cy="1" r="1"/><circle cx="5" cy="1" r="1"/><circle cx="9" cy="1" r="1"/></g></svg>');function oe(ae){return K+encodeURIComponent(ae.toString())+X}(0,D.registerThemingParticipant)((ae,ee)=>{const ue=ae.getColor(S.editorErrorBorder);ue&&ee.addRule(`.monaco-editor .squiggly-error { border-bottom: 4px double ${ue}; }`);const le=ae.getColor(S.editorErrorForeground);le&&ee.addRule(`.monaco-editor .squiggly-error { background: url("data:image/svg+xml,${V(le)}") repeat-x bottom left; }`);const x=ae.getColor(S.editorErrorBackground);x&&ee.addRule(`.monaco-editor .squiggly-error::before { display: block; content: ''; width: 100%; height: 100%; background: ${x}; }`);const H=ae.getColor(S.editorWarningBorder);H&&ee.addRule(`.monaco-editor .squiggly-warning { border-bottom: 4px double ${H}; }`);const U=ae.getColor(S.editorWarningForeground);U&&ee.addRule(`.monaco-editor .squiggly-warning { background: url("data:image/svg+xml,${V(U)}") repeat-x bottom left; }`);const Q=ae.getColor(S.editorWarningBackground);Q&&ee.addRule(`.monaco-editor .squiggly-warning::before { display: block; content: ''; width: 100%; height: 100%; background: ${Q}; }`);const Y=ae.getColor(S.editorInfoBorder);Y&&ee.addRule(`.monaco-editor .squiggly-info { border-bottom: 4px double ${Y}; }`);const ne=ae.getColor(S.editorInfoForeground);ne&&ee.addRule(`.monaco-editor .squiggly-info { background: url("data:image/svg+xml,${V(ne)}") repeat-x bottom left; }`);const ge=ae.getColor(S.editorInfoBackground);ge&&ee.addRule(`.monaco-editor .squiggly-info::before { display: block; content: ''; width: 100%; height: 100%; background: ${ge}; }`);const fe=ae.getColor(S.editorHintBorder);fe&&ee.addRule(`.monaco-editor .squiggly-hint { border-bottom: 2px dotted ${fe}; }`);const ce=ae.getColor(S.editorHintForeground);ce&&ee.addRule(`.monaco-editor .squiggly-hint { background: url("data:image/svg+xml,${oe(ce)}") no-repeat bottom left; }`);const he=ae.getColor(f.editorUnnecessaryCodeOpacity);he&&ee.addRule(`.monaco-editor.showUnused .squiggly-inline-unnecessary { opacity: ${he.rgba.a}; }`);const ve=ae.getColor(f.editorUnnecessaryCodeBorder);ve&&ee.addRule(`.monaco-editor.showUnused .squiggly-unnecessary { border-bottom: 2px dashed ${ve}; }`);const Ce=ae.getColor(S.editorForeground)||"inherit";ee.addRule(`.monaco-editor.showDeprecated .squiggly-inline-deprecated { text-decoration: line-through; text-decoration-color: ${Ce}}`)})}),define(te[298],ie([1,0,508,7,31,116,10,4,2,64,146,29,163,708,32,3,93,149,38,88,256,154,126,71,17,9,157,39,23,14,78,511,104,15,13,73,233,28,144,74,368]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s,a,l,h,f,S,v,p,_,y,E,N,D,M,B,O,T,A,P,F,W,R){"use strict";var z;Object.defineProperty(e,"__esModule",{value:!0}),e.DiffEditorWidget=void 0;class j{constructor(ce,he){this._contextMenuService=ce,this._clipboardService=he,this._zones=[],this._inlineDiffMargins=[],this._zonesMap={},this._decorations=[]}getForeignViewZones(ce){return ce.filter(he=>!this._zonesMap[String(he.id)])}clean(ce){this._zones.length>0&&ce.changeViewZones(he=>{for(const ve of this._zones)he.removeZone(ve)}),this._zones=[],this._zonesMap={},this._decorations=ce.deltaDecorations(this._decorations,[])}apply(ce,he,ve,Ce){const be=Ce?g.StableEditorScrollState.capture(ce):null;ce.changeViewZones(de=>{var me;for(const _e of this._zones)de.removeZone(_e);for(const _e of this._inlineDiffMargins)_e.dispose();this._zones=[],this._zonesMap={},this._inlineDiffMargins=[];for(let _e=0,ye=ve.zones.length;_e<ye;_e++){const ke=ve.zones[_e];ke.suppressMouseDown=!0;const Te=de.addZone(ke);this._zones.push(Te),this._zonesMap[String(Te)]=!0,ve.zones[_e].diff&&ke.marginDomNode&&(ke.suppressMouseDown=!1,((me=ve.zones[_e].diff)===null||me===void 0?void 0:me.originalModel.getValueLength())!==0&&this._inlineDiffMargins.push(new M.InlineDiffMargin(Te,ke.marginDomNode,ce,ve.zones[_e].diff,this._contextMenuService,this._clipboardService)))}}),be&&be.restore(ce),this._decorations=ce.deltaDecorations(this._decorations,ve.decorations),he&&he.setZones(ve.overviewZones)}}let $=0;const G=(0,R.registerIcon)("diff-insert",F.Codicon.add,L.localize(0,null)),J=(0,R.registerIcon)("diff-remove",F.Codicon.remove,L.localize(1,null)),re=(z=window.trustedTypes)===null||z===void 0?void 0:z.createPolicy("diffEditorWidget",{createHTML:fe=>fe});let se=class ot extends C.Disposable{constructor(ce,he,ve,Ce,be,de,me,_e,ye,ke,Te,Me){super();this._editorProgressService=Me,this._onDidDispose=this._register(new b.Emitter),this.onDidDispose=this._onDidDispose.event,this._onDidUpdateDiff=this._register(new b.Emitter),this.onDidUpdateDiff=this._onDidUpdateDiff.event,this._onDidContentSizeChange=this._register(new b.Emitter),this._lastOriginalWarning=null,this._lastModifiedWarning=null,this._editorWorkerService=be,this._codeEditorService=_e,this._contextKeyService=this._register(de.createScoped(ce)),this._instantiationService=me.createChild(new _.ServiceCollection([v.IContextKeyService,this._contextKeyService])),this._contextKeyService.createKey("isInDiffEditor",!0),this._themeService=ye,this._notificationService=ke,this._id=++$,this._state=0,this._updatingDiffProgress=null,this._domElement=ce,he=he||{},this._options=ne(he,{enableSplitViewResizing:!0,renderSideBySide:!0,maxComputationTime:5e3,maxFileSize:50,ignoreTrimWhitespace:!0,renderIndicators:!0,originalEditable:!1,diffCodeLens:!1,renderOverviewRuler:!0,diffWordWrap:"inherit"}),typeof he.isInEmbeddedEditor!="undefined"?this._contextKeyService.createKey("isInEmbeddedDiffEditor",he.isInEmbeddedEditor):this._contextKeyService.createKey("isInEmbeddedDiffEditor",!1),this._updateDecorationsRunner=this._register(new w.RunOnceScheduler(()=>this._updateDecorations(),0)),this._containerDomElement=document.createElement("div"),this._containerDomElement.className=ot._getClassName(this._themeService.getColorTheme(),this._options.renderSideBySide),this._containerDomElement.style.position="relative",this._containerDomElement.style.height="100%",this._domElement.appendChild(this._containerDomElement),this._overviewViewportDomElement=(0,k.createFastDomNode)(document.createElement("div")),this._overviewViewportDomElement.setClassName("diffViewport"),this._overviewViewportDomElement.setPosition("absolute"),this._overviewDomElement=document.createElement("div"),this._overviewDomElement.className="diffOverview",this._overviewDomElement.style.position="absolute",this._overviewDomElement.appendChild(this._overviewViewportDomElement.domNode),this._register(m.addStandardDisposableListener(this._overviewDomElement,"mousedown",xe=>{this._modifiedEditor.delegateVerticalScrollbarMouseDown(xe)})),this._options.renderOverviewRuler&&this._containerDomElement.appendChild(this._overviewDomElement),this._originalDomNode=document.createElement("div"),this._originalDomNode.className="editor original",this._originalDomNode.style.position="absolute",this._originalDomNode.style.height="100%",this._containerDomElement.appendChild(this._originalDomNode),this._modifiedDomNode=document.createElement("div"),this._modifiedDomNode.className="editor modified",this._modifiedDomNode.style.position="absolute",this._modifiedDomNode.style.height="100%",this._containerDomElement.appendChild(this._modifiedDomNode),this._beginUpdateDecorationsTimeout=-1,this._currentlyChangingViewZones=!1,this._diffComputationToken=0,this._originalEditorState=new j(Te,Ce),this._modifiedEditorState=new j(Te,Ce),this._isVisible=!0,this._isHandlingScrollEvent=!1,this._elementSizeObserver=this._register(new P.ElementSizeObserver(this._containerDomElement,he.dimension)),this._register(this._elementSizeObserver.onDidChange(()=>this._onDidContainerSizeChanged())),he.automaticLayout&&this._elementSizeObserver.startObserving(),this._diffComputationResult=null,this._originalEditor=this._createLeftHandSideEditor(he,ve.originalEditor||{}),this._modifiedEditor=this._createRightHandSideEditor(he,ve.modifiedEditor||{}),this._originalOverviewRuler=null,this._modifiedOverviewRuler=null,this._reviewPane=me.createInstance(i.DiffReview,this),this._containerDomElement.appendChild(this._reviewPane.domNode.domNode),this._containerDomElement.appendChild(this._reviewPane.shadow.domNode),this._containerDomElement.appendChild(this._reviewPane.actionBarContainer.domNode),this._options.renderSideBySide?this._setStrategy(new ae(this._createDataSource(),this._options.enableSplitViewResizing)):this._setStrategy(new ue(this._createDataSource(),this._options.enableSplitViewResizing)),this._register(ye.onDidColorThemeChange(xe=>{this._strategy&&this._strategy.applyColors(xe)&&this._updateDecorationsRunner.schedule(),this._containerDomElement.className=ot._getClassName(this._themeService.getColorTheme(),this._options.renderSideBySide)}));const We=O.EditorExtensionsRegistry.getDiffEditorContributions();for(const xe of We)try{this._register(me.createInstance(xe.ctor,this))}catch(He){(0,T.onUnexpectedError)(He)}this._codeEditorService.addDiffEditor(this)}_setState(ce){this._state!==ce&&(this._state=ce,this._updatingDiffProgress&&(this._updatingDiffProgress.done(),this._updatingDiffProgress=null),this._state===1&&(this._updatingDiffProgress=this._editorProgressService.show(!0,1e3)))}diffReviewNext(){this._reviewPane.next()}diffReviewPrev(){this._reviewPane.prev()}static _getClassName(ce,he){let ve="monaco-diff-editor monaco-editor-background ";return he&&(ve+="side-by-side "),ve+=(0,N.getThemeTypeSelector)(ce.type),ve}_recreateOverviewRulers(){!this._options.renderOverviewRuler||(this._originalOverviewRuler&&(this._overviewDomElement.removeChild(this._originalOverviewRuler.getDomNode()),this._originalOverviewRuler.dispose()),this._originalEditor.hasModel()&&(this._originalOverviewRuler=this._originalEditor.createOverviewRuler("original diffOverviewRuler"),this._overviewDomElement.appendChild(this._originalOverviewRuler.getDomNode())),this._modifiedOverviewRuler&&(this._overviewDomElement.removeChild(this._modifiedOverviewRuler.getDomNode()),this._modifiedOverviewRuler.dispose()),this._modifiedEditor.hasModel()&&(this._modifiedOverviewRuler=this._modifiedEditor.createOverviewRuler("modified diffOverviewRuler"),this._overviewDomElement.appendChild(this._modifiedOverviewRuler.getDomNode())),this._layoutOverviewRulers())}_createLeftHandSideEditor(ce,he){const ve=this._createInnerEditor(this._instantiationService,this._originalDomNode,this._adjustOptionsForLeftHandSide(ce),he);this._register(ve.onDidScrollChange(be=>{this._isHandlingScrollEvent||!be.scrollTopChanged&&!be.scrollLeftChanged&&!be.scrollHeightChanged||(this._isHandlingScrollEvent=!0,this._modifiedEditor.setScrollPosition({scrollLeft:be.scrollLeft,scrollTop:be.scrollTop}),this._isHandlingScrollEvent=!1,this._layoutOverviewViewport())})),this._register(ve.onDidChangeViewZones(()=>{this._onViewZonesChanged()})),this._register(ve.onDidChangeConfiguration(be=>{!ve.getModel()||(be.hasChanged(44)&&this._updateDecorationsRunner.schedule(),be.hasChanged(132)&&(this._updateDecorationsRunner.cancel(),this._updateDecorations()))})),this._register(ve.onDidChangeHiddenAreas(()=>{this._updateDecorationsRunner.cancel(),this._updateDecorations()})),this._register(ve.onDidChangeModelContent(()=>{this._isVisible&&this._beginUpdateDecorationsSoon()}));const Ce=this._contextKeyService.createKey("isInDiffLeftEditor",ve.hasWidgetFocus());return this._register(ve.onDidFocusEditorWidget(()=>Ce.set(!0))),this._register(ve.onDidBlurEditorWidget(()=>Ce.set(!1))),this._register(ve.onDidContentSizeChange(be=>{const de=this._originalEditor.getContentWidth()+this._modifiedEditor.getContentWidth()+ot.ONE_OVERVIEW_WIDTH,me=Math.max(this._modifiedEditor.getContentHeight(),this._originalEditor.getContentHeight());this._onDidContentSizeChange.fire({contentHeight:me,contentWidth:de,contentHeightChanged:be.contentHeightChanged,contentWidthChanged:be.contentWidthChanged})})),ve}_createRightHandSideEditor(ce,he){const ve=this._createInnerEditor(this._instantiationService,this._modifiedDomNode,this._adjustOptionsForRightHandSide(ce),he);this._register(ve.onDidScrollChange(be=>{this._isHandlingScrollEvent||!be.scrollTopChanged&&!be.scrollLeftChanged&&!be.scrollHeightChanged||(this._isHandlingScrollEvent=!0,this._originalEditor.setScrollPosition({scrollLeft:be.scrollLeft,scrollTop:be.scrollTop}),this._isHandlingScrollEvent=!1,this._layoutOverviewViewport())})),this._register(ve.onDidChangeViewZones(()=>{this._onViewZonesChanged()})),this._register(ve.onDidChangeConfiguration(be=>{!ve.getModel()||(be.hasChanged(44)&&this._updateDecorationsRunner.schedule(),be.hasChanged(132)&&(this._updateDecorationsRunner.cancel(),this._updateDecorations()))})),this._register(ve.onDidChangeHiddenAreas(()=>{this._updateDecorationsRunner.cancel(),this._updateDecorations()})),this._register(ve.onDidChangeModelContent(()=>{this._isVisible&&this._beginUpdateDecorationsSoon()})),this._register(ve.onDidChangeModelOptions(be=>{be.tabSize&&this._updateDecorationsRunner.schedule()}));const Ce=this._contextKeyService.createKey("isInDiffRightEditor",ve.hasWidgetFocus());return this._register(ve.onDidFocusEditorWidget(()=>Ce.set(!0))),this._register(ve.onDidBlurEditorWidget(()=>Ce.set(!1))),this._register(ve.onDidContentSizeChange(be=>{const de=this._originalEditor.getContentWidth()+this._modifiedEditor.getContentWidth()+ot.ONE_OVERVIEW_WIDTH,me=Math.max(this._modifiedEditor.getContentHeight(),this._originalEditor.getContentHeight());this._onDidContentSizeChange.fire({contentHeight:me,contentWidth:de,contentHeightChanged:be.contentHeightChanged,contentWidthChanged:be.contentWidthChanged})})),ve}_createInnerEditor(ce,he,ve,Ce){return ce.createInstance(n.CodeEditorWidget,he,ve,Ce)}dispose(){this._codeEditorService.removeDiffEditor(this),this._beginUpdateDecorationsTimeout!==-1&&(window.clearTimeout(this._beginUpdateDecorationsTimeout),this._beginUpdateDecorationsTimeout=-1),this._cleanViewZonesAndDecorations(),this._originalOverviewRuler&&(this._overviewDomElement.removeChild(this._originalOverviewRuler.getDomNode()),this._originalOverviewRuler.dispose()),this._modifiedOverviewRuler&&(this._overviewDomElement.removeChild(this._modifiedOverviewRuler.getDomNode()),this._modifiedOverviewRuler.dispose()),this._overviewDomElement.removeChild(this._overviewViewportDomElement.domNode),this._options.renderOverviewRuler&&this._containerDomElement.removeChild(this._overviewDomElement),this._containerDomElement.removeChild(this._originalDomNode),this._originalEditor.dispose(),this._containerDomElement.removeChild(this._modifiedDomNode),this._modifiedEditor.dispose(),this._strategy.dispose(),this._containerDomElement.removeChild(this._reviewPane.domNode.domNode),this._containerDomElement.removeChild(this._reviewPane.shadow.domNode),this._containerDomElement.removeChild(this._reviewPane.actionBarContainer.domNode),this._reviewPane.dispose(),this._domElement.removeChild(this._containerDomElement),this._onDidDispose.fire(),super.dispose()}getId(){return this.getEditorType()+":"+this._id}getEditorType(){return r.EditorType.IDiffEditor}getLineChanges(){return this._diffComputationResult?this._diffComputationResult.changes:null}getOriginalEditor(){return this._originalEditor}getModifiedEditor(){return this._modifiedEditor}updateOptions(ce){const he=ne(ce,this._options),ve=ge(this._options,he);this._options=he;const Ce=ve.ignoreTrimWhitespace||ve.renderIndicators,be=this._isVisible&&(ve.maxComputationTime||ve.maxFileSize);Ce?this._beginUpdateDecorations():be&&this._beginUpdateDecorationsSoon(),this._modifiedEditor.updateOptions(this._adjustOptionsForRightHandSide(ce)),this._originalEditor.updateOptions(this._adjustOptionsForLeftHandSide(ce)),this._strategy.setEnableSplitViewResizing(this._options.enableSplitViewResizing),ve.renderSideBySide&&(this._options.renderSideBySide?this._setStrategy(new ae(this._createDataSource(),this._options.enableSplitViewResizing)):this._setStrategy(new ue(this._createDataSource(),this._options.enableSplitViewResizing)),this._containerDomElement.className=ot._getClassName(this._themeService.getColorTheme(),this._options.renderSideBySide)),ve.renderOverviewRuler&&(this._options.renderOverviewRuler?this._containerDomElement.appendChild(this._overviewDomElement):this._containerDomElement.removeChild(this._overviewDomElement))}getModel(){return{original:this._originalEditor.getModel(),modified:this._modifiedEditor.getModel()}}setModel(ce){if(ce&&(!ce.original||!ce.modified))throw new Error(ce.original?"DiffEditorWidget.setModel: Modified model is null":"DiffEditorWidget.setModel: Original model is null");this._cleanViewZonesAndDecorations(),this._originalEditor.setModel(ce?ce.original:null),this._modifiedEditor.setModel(ce?ce.modified:null),this._updateDecorationsRunner.cancel(),ce&&(this._originalEditor.setScrollTop(0),this._modifiedEditor.setScrollTop(0)),this._diffComputationResult=null,this._diffComputationToken++,this._setState(0),ce&&(this._recreateOverviewRulers(),this._beginUpdateDecorations()),this._layoutOverviewViewport()}getContainerDomNode(){return this._domElement}getVisibleColumnFromPosition(ce){return this._modifiedEditor.getVisibleColumnFromPosition(ce)}getPosition(){return this._modifiedEditor.getPosition()}setPosition(ce,he="api"){this._modifiedEditor.setPosition(ce,he)}revealLine(ce,he=0){this._modifiedEditor.revealLine(ce,he)}revealLineInCenter(ce,he=0){this._modifiedEditor.revealLineInCenter(ce,he)}revealLineInCenterIfOutsideViewport(ce,he=0){this._modifiedEditor.revealLineInCenterIfOutsideViewport(ce,he)}revealLineNearTop(ce,he=0){this._modifiedEditor.revealLineNearTop(ce,he)}revealPosition(ce,he=0){this._modifiedEditor.revealPosition(ce,he)}revealPositionInCenter(ce,he=0){this._modifiedEditor.revealPositionInCenter(ce,he)}revealPositionInCenterIfOutsideViewport(ce,he=0){this._modifiedEditor.revealPositionInCenterIfOutsideViewport(ce,he)}revealPositionNearTop(ce,he=0){this._modifiedEditor.revealPositionNearTop(ce,he)}getSelection(){return this._modifiedEditor.getSelection()}getSelections(){return this._modifiedEditor.getSelections()}setSelection(ce,he="api"){this._modifiedEditor.setSelection(ce,he)}setSelections(ce,he="api"){this._modifiedEditor.setSelections(ce,he)}revealLines(ce,he,ve=0){this._modifiedEditor.revealLines(ce,he,ve)}revealLinesInCenter(ce,he,ve=0){this._modifiedEditor.revealLinesInCenter(ce,he,ve)}revealLinesInCenterIfOutsideViewport(ce,he,ve=0){this._modifiedEditor.revealLinesInCenterIfOutsideViewport(ce,he,ve)}revealLinesNearTop(ce,he,ve=0){this._modifiedEditor.revealLinesNearTop(ce,he,ve)}revealRange(ce,he=0,ve=!1,Ce=!0){this._modifiedEditor.revealRange(ce,he,ve,Ce)}revealRangeInCenter(ce,he=0){this._modifiedEditor.revealRangeInCenter(ce,he)}revealRangeInCenterIfOutsideViewport(ce,he=0){this._modifiedEditor.revealRangeInCenterIfOutsideViewport(ce,he)}revealRangeNearTop(ce,he=0){this._modifiedEditor.revealRangeNearTop(ce,he)}revealRangeNearTopIfOutsideViewport(ce,he=0){this._modifiedEditor.revealRangeNearTopIfOutsideViewport(ce,he)}revealRangeAtTop(ce,he=0){this._modifiedEditor.revealRangeAtTop(ce,he)}getSupportedActions(){return this._modifiedEditor.getSupportedActions()}saveViewState(){const ce=this._originalEditor.saveViewState(),he=this._modifiedEditor.saveViewState();return{original:ce,modified:he}}restoreViewState(ce){if(ce&&ce.original&&ce.modified){const he=ce;this._originalEditor.restoreViewState(he.original),this._modifiedEditor.restoreViewState(he.modified)}}layout(ce){this._elementSizeObserver.observe(ce)}focus(){this._modifiedEditor.focus()}hasTextFocus(){return this._originalEditor.hasTextFocus()||this._modifiedEditor.hasTextFocus()}trigger(ce,he,ve){this._modifiedEditor.trigger(ce,he,ve)}changeDecorations(ce){return this._modifiedEditor.changeDecorations(ce)}_onDidContainerSizeChanged(){this._doLayout()}_getReviewHeight(){return this._reviewPane.isVisible()?this._elementSizeObserver.getHeight():0}_layoutOverviewRulers(){if(!this._options.renderOverviewRuler||!this._originalOverviewRuler||!this._modifiedOverviewRuler)return;const ce=this._elementSizeObserver.getHeight(),he=this._getReviewHeight(),ve=ot.ENTIRE_DIFF_OVERVIEW_WIDTH-2*ot.ONE_OVERVIEW_WIDTH;this._modifiedEditor.getLayoutInfo()&&(this._originalOverviewRuler.setLayout({top:0,width:ot.ONE_OVERVIEW_WIDTH,right:ve+ot.ONE_OVERVIEW_WIDTH,height:ce-he}),this._modifiedOverviewRuler.setLayout({top:0,right:0,width:ot.ONE_OVERVIEW_WIDTH,height:ce-he}))}_onViewZonesChanged(){this._currentlyChangingViewZones||this._updateDecorationsRunner.schedule()}_beginUpdateDecorationsSoon(){this._beginUpdateDecorationsTimeout!==-1&&(window.clearTimeout(this._beginUpdateDecorationsTimeout),this._beginUpdateDecorationsTimeout=-1),this._beginUpdateDecorationsTimeout=window.setTimeout(()=>this._beginUpdateDecorations(),ot.UPDATE_DIFF_DECORATIONS_DELAY)}static _equals(ce,he){return!ce&&!he?!0:!ce||!he?!1:ce.toString()===he.toString()}_beginUpdateDecorations(){this._beginUpdateDecorationsTimeout=-1;const ce=this._originalEditor.getModel(),he=this._modifiedEditor.getModel();if(!ce||!he)return;this._diffComputationToken++;const ve=this._diffComputationToken,Ce=this._options.maxFileSize*1024*1024,be=de=>{const me=de.getValueLength();return Ce===0||me<=Ce};if(!be(ce)||!be(he)){(!ot._equals(ce.uri,this._lastOriginalWarning)||!ot._equals(he.uri,this._lastModifiedWarning))&&(this._lastOriginalWarning=ce.uri,this._lastModifiedWarning=he.uri,this._notificationService.warn(L.localize(2,null)));return}this._setState(1),this._editorWorkerService.computeDiff(ce.uri,he.uri,this._options.ignoreTrimWhitespace,this._options.maxComputationTime).then(de=>{ve===this._diffComputationToken&&ce===this._originalEditor.getModel()&&he===this._modifiedEditor.getModel()&&(this._setState(2),this._diffComputationResult=de,this._updateDecorationsRunner.schedule(),this._onDidUpdateDiff.fire())},de=>{ve===this._diffComputationToken&&ce===this._originalEditor.getModel()&&he===this._modifiedEditor.getModel()&&(this._setState(2),this._diffComputationResult=null,this._updateDecorationsRunner.schedule())})}_cleanViewZonesAndDecorations(){this._originalEditorState.clean(this._originalEditor),this._modifiedEditorState.clean(this._modifiedEditor)}_updateDecorations(){if(!this._originalEditor.getModel()||!this._modifiedEditor.getModel())return;const ce=this._diffComputationResult?this._diffComputationResult.changes:[],he=this._originalEditorState.getForeignViewZones(this._originalEditor.getWhitespaces()),ve=this._modifiedEditorState.getForeignViewZones(this._modifiedEditor.getWhitespaces()),Ce=this._strategy.getEditorsDiffDecorations(ce,this._options.ignoreTrimWhitespace,this._options.renderIndicators,he,ve);try{this._currentlyChangingViewZones=!0,this._originalEditorState.apply(this._originalEditor,this._originalOverviewRuler,Ce.original,!1),this._modifiedEditorState.apply(this._modifiedEditor,this._modifiedOverviewRuler,Ce.modified,!0)}finally{this._currentlyChangingViewZones=!1}}_adjustOptionsForSubEditor(ce){const he=Object.assign({},ce);return he.inDiffEditor=!0,he.automaticLayout=!1,he.scrollbar=Object.assign({},he.scrollbar||{}),he.scrollbar.vertical="visible",he.folding=!1,he.codeLens=this._options.diffCodeLens,he.fixedOverflowWidgets=!0,he.minimap=Object.assign({},he.minimap||{}),he.minimap.enabled=!1,he}_adjustOptionsForLeftHandSide(ce){const he=this._adjustOptionsForSubEditor(ce);return this._options.renderSideBySide?he.wordWrapOverride1=this._options.diffWordWrap:(he.wordWrapOverride1="off",he.wordWrapOverride2="off"),ce.originalAriaLabel&&(he.ariaLabel=ce.originalAriaLabel),he.readOnly=!this._options.originalEditable,he.extraEditorClassName="original-in-monaco-diff-editor",Object.assign(Object.assign({},he),{dimension:{height:0,width:0}})}_adjustOptionsForRightHandSide(ce){const he=this._adjustOptionsForSubEditor(ce);return ce.modifiedAriaLabel&&(he.ariaLabel=ce.modifiedAriaLabel),he.wordWrapOverride1=this._options.diffWordWrap,he.revealHorizontalRightPadding=o.EditorOptions.revealHorizontalRightPadding.defaultValue+ot.ENTIRE_DIFF_OVERVIEW_WIDTH,he.scrollbar.verticalHasArrows=!1,he.extraEditorClassName="modified-in-monaco-diff-editor",Object.assign(Object.assign({},he),{dimension:{height:0,width:0}})}doLayout(){this._elementSizeObserver.observe(),this._doLayout()}_doLayout(){const ce=this._elementSizeObserver.getWidth(),he=this._elementSizeObserver.getHeight(),ve=this._getReviewHeight(),Ce=this._strategy.layout();this._originalDomNode.style.width=Ce+"px",this._originalDomNode.style.left="0px",this._modifiedDomNode.style.width=ce-Ce+"px",this._modifiedDomNode.style.left=Ce+"px",this._overviewDomElement.style.top="0px",this._overviewDomElement.style.height=he-ve+"px",this._overviewDomElement.style.width=ot.ENTIRE_DIFF_OVERVIEW_WIDTH+"px",this._overviewDomElement.style.left=ce-ot.ENTIRE_DIFF_OVERVIEW_WIDTH+"px",this._overviewViewportDomElement.setWidth(ot.ENTIRE_DIFF_OVERVIEW_WIDTH),this._overviewViewportDomElement.setHeight(30),this._originalEditor.layout({width:Ce,height:he-ve}),this._modifiedEditor.layout({width:ce-Ce-(this._options.renderOverviewRuler?ot.ENTIRE_DIFF_OVERVIEW_WIDTH:0),height:he-ve}),(this._originalOverviewRuler||this._modifiedOverviewRuler)&&this._layoutOverviewRulers(),this._reviewPane.layout(he-ve,ce,ve),this._layoutOverviewViewport()}_layoutOverviewViewport(){const ce=this._computeOverviewViewport();ce?(this._overviewViewportDomElement.setTop(ce.top),this._overviewViewportDomElement.setHeight(ce.height)):(this._overviewViewportDomElement.setTop(0),this._overviewViewportDomElement.setHeight(0))}_computeOverviewViewport(){const ce=this._modifiedEditor.getLayoutInfo();if(!ce)return null;const he=this._modifiedEditor.getScrollTop(),ve=this._modifiedEditor.getScrollHeight(),Ce=Math.max(0,ce.height),be=Math.max(0,Ce-2*0),de=ve>0?be/ve:0,me=Math.max(0,Math.floor(ce.height*de)),_e=Math.floor(he*de);return{height:me,top:_e}}_createDataSource(){return{getWidth:()=>this._elementSizeObserver.getWidth(),getHeight:()=>this._elementSizeObserver.getHeight()-this._getReviewHeight(),getOptions:()=>({renderOverviewRuler:this._options.renderOverviewRuler}),getContainerDomNode:()=>this._containerDomElement,relayoutEditors:()=>{this._doLayout()},getOriginalEditor:()=>this._originalEditor,getModifiedEditor:()=>this._modifiedEditor}}_setStrategy(ce){this._strategy&&this._strategy.dispose(),this._strategy=ce,ce.applyColors(this._themeService.getColorTheme()),this._diffComputationResult&&this._updateDecorations(),this._doLayout()}_getLineChangeAtOrBeforeLineNumber(ce,he){const ve=this._diffComputationResult?this._diffComputationResult.changes:[];if(ve.length===0||ce<he(ve[0]))return null;let Ce=0,be=ve.length-1;for(;Ce<be;){const de=Math.floor((Ce+be)/2),me=he(ve[de]),_e=de+1<=be?he(ve[de+1]):1073741824;ce<me?be=de-1:ce>=_e?Ce=de+1:(Ce=de,be=de)}return ve[Ce]}_getEquivalentLineForOriginalLineNumber(ce){const he=this._getLineChangeAtOrBeforeLineNumber(ce,_e=>_e.originalStartLineNumber);if(!he)return ce;const ve=he.originalStartLineNumber+(he.originalEndLineNumber>0?-1:0),Ce=he.modifiedStartLineNumber+(he.modifiedEndLineNumber>0?-1:0),be=he.originalEndLineNumber>0?he.originalEndLineNumber-he.originalStartLineNumber+1:0,de=he.modifiedEndLineNumber>0?he.modifiedEndLineNumber-he.modifiedStartLineNumber+1:0,me=ce-ve;return me<=be?Ce+Math.min(me,de):Ce+de-be+me}_getEquivalentLineForModifiedLineNumber(ce){const he=this._getLineChangeAtOrBeforeLineNumber(ce,_e=>_e.modifiedStartLineNumber);if(!he)return ce;const ve=he.originalStartLineNumber+(he.originalEndLineNumber>0?-1:0),Ce=he.modifiedStartLineNumber+(he.modifiedEndLineNumber>0?-1:0),be=he.originalEndLineNumber>0?he.originalEndLineNumber-he.originalStartLineNumber+1:0,de=he.modifiedEndLineNumber>0?he.modifiedEndLineNumber-he.modifiedStartLineNumber+1:0,me=ce-Ce;return me<=de?ve+Math.min(me,be):ve+be-de+me}getDiffLineInformationForOriginal(ce){return this._diffComputationResult?{equivalentLineNumber:this._getEquivalentLineForOriginalLineNumber(ce)}:null}getDiffLineInformationForModified(ce){return this._diffComputationResult?{equivalentLineNumber:this._getEquivalentLineForModifiedLineNumber(ce)}:null}};se.ONE_OVERVIEW_WIDTH=15,se.ENTIRE_DIFF_OVERVIEW_WIDTH=30,se.UPDATE_DIFF_DECORATIONS_DELAY=200,se=Ie([pe(3,B.IClipboardService),pe(4,a.IEditorWorkerService),pe(5,v.IContextKeyService),pe(6,p.IInstantiationService),pe(7,t.ICodeEditorService),pe(8,N.IThemeService),pe(9,y.INotificationService),pe(10,D.IContextMenuService),pe(11,A.IEditorProgressService)],se),e.DiffEditorWidget=se;class Z extends C.Disposable{constructor(ce){super();this._dataSource=ce,this._insertColor=null,this._removeColor=null}applyColors(ce){const he=ce.getColor(E.diffOverviewRulerInserted)||(ce.getColor(E.diffInserted)||E.defaultInsertColor).transparent(2),ve=ce.getColor(E.diffOverviewRulerRemoved)||(ce.getColor(E.diffRemoved)||E.defaultRemoveColor).transparent(2),Ce=!he.equals(this._insertColor)||!ve.equals(this._removeColor);return this._insertColor=he,this._removeColor=ve,Ce}getEditorsDiffDecorations(ce,he,ve,Ce,be){be=be.sort((ye,ke)=>ye.afterLineNumber-ke.afterLineNumber),Ce=Ce.sort((ye,ke)=>ye.afterLineNumber-ke.afterLineNumber);const de=this._getViewZones(ce,Ce,be,ve),me=this._getOriginalEditorDecorations(de,ce,he,ve),_e=this._getModifiedEditorDecorations(de,ce,he,ve);return{original:{decorations:me.decorations,overviewZones:me.overviewZones,zones:de.original},modified:{decorations:_e.decorations,overviewZones:_e.overviewZones,zones:de.modified}}}}class V{constructor(ce){this._source=ce,this._index=-1,this.current=null,this.advance()}advance(){this._index++,this._index<this._source.length?this.current=this._source[this._index]:this.current=null}}class K{constructor(ce,he,ve,Ce,be){this._lineChanges=ce,this._originalForeignVZ=he,this._modifiedForeignVZ=ve,this._originalEditor=Ce,this._modifiedEditor=be}static _getViewLineCount(ce,he,ve){const Ce=ce.getModel(),be=ce._getViewModel();if(Ce&&be){const de=Y(Ce,be,he,ve);return de.endLineNumber-de.startLineNumber+1}return ve-he+1}getViewZones(){const ce=this._originalEditor.getOption(59),he=this._modifiedEditor.getOption(59),ve=this._originalEditor.getOption(132).wrappingColumn!==-1,Ce=this._modifiedEditor.getOption(132).wrappingColumn!==-1,be=ve||Ce,de=this._originalEditor.getModel(),me=this._originalEditor._getViewModel().coordinatesConverter,_e=this._modifiedEditor._getViewModel().coordinatesConverter,ye={original:[],modified:[]};let ke=0,Te=0,Me=0,We=0,xe=0,He=0;const Le=(Ke,$e)=>Ke.afterLineNumber-$e.afterLineNumber,Se=(Ke,$e)=>{if($e.domNode===null&&Ke.length>0){const Ve=Ke[Ke.length-1];if(Ve.afterLineNumber===$e.afterLineNumber&&Ve.domNode===null){Ve.heightInLines+=$e.heightInLines;return}}Ke.push($e)},De=new V(this._modifiedForeignVZ),Pe=new V(this._originalForeignVZ);let Fe=1,ze=1;for(let Ke=0,$e=this._lineChanges.length;Ke<=$e;Ke++){const Ve=Ke<$e?this._lineChanges[Ke]:null;Ve!==null?(Me=Ve.originalStartLineNumber+(Ve.originalEndLineNumber>0?-1:0),We=Ve.modifiedStartLineNumber+(Ve.modifiedEndLineNumber>0?-1:0),Te=Ve.originalEndLineNumber>0?K._getViewLineCount(this._originalEditor,Ve.originalStartLineNumber,Ve.originalEndLineNumber):0,ke=Ve.modifiedEndLineNumber>0?K._getViewLineCount(this._modifiedEditor,Ve.modifiedStartLineNumber,Ve.modifiedEndLineNumber):0,xe=Math.max(Ve.originalStartLineNumber,Ve.originalEndLineNumber),He=Math.max(Ve.modifiedStartLineNumber,Ve.modifiedEndLineNumber)):(Me+=1e7+Te,We+=1e7+ke,xe=Me,He=We);let tt=[],Be=[];if(be){let Ae;Ve?Ve.originalEndLineNumber>0?Ae=Ve.originalStartLineNumber-Fe:Ae=Ve.modifiedStartLineNumber-ze:Ae=de.getLineCount()-Fe+1;for(let je=0;je<Ae;je++){const et=Fe+je,Ze=ze+je,qe=me.getModelLineViewLineCount(et),Ne=_e.getModelLineViewLineCount(Ze);qe<Ne?tt.push({afterLineNumber:et,heightInLines:Ne-qe,domNode:null,marginDomNode:null}):qe>Ne&&Be.push({afterLineNumber:Ze,heightInLines:qe-Ne,domNode:null,marginDomNode:null})}Ve&&(Fe=(Ve.originalEndLineNumber>0?Ve.originalEndLineNumber:Ve.originalStartLineNumber)+1,ze=(Ve.modifiedEndLineNumber>0?Ve.modifiedEndLineNumber:Ve.modifiedStartLineNumber)+1)}for(;De.current&&De.current.afterLineNumber<=He;){let Ae;De.current.afterLineNumber<=We?Ae=Me-We+De.current.afterLineNumber:Ae=xe;let je=null;Ve&&Ve.modifiedStartLineNumber<=De.current.afterLineNumber&&De.current.afterLineNumber<=Ve.modifiedEndLineNumber&&(je=this._createOriginalMarginDomNodeForModifiedForeignViewZoneInAddedRegion()),tt.push({afterLineNumber:Ae,heightInLines:De.current.height/he,domNode:null,marginDomNode:je}),De.advance()}for(;Pe.current&&Pe.current.afterLineNumber<=xe;){let Ae;Pe.current.afterLineNumber<=Me?Ae=We-Me+Pe.current.afterLineNumber:Ae=He,Be.push({afterLineNumber:Ae,heightInLines:Pe.current.height/ce,domNode:null}),Pe.advance()}if(Ve!==null&&H(Ve)){const Ae=this._produceOriginalFromDiff(Ve,Te,ke);Ae&&tt.push(Ae)}if(Ve!==null&&U(Ve)){const Ae=this._produceModifiedFromDiff(Ve,Te,ke);Ae&&Be.push(Ae)}let Ee=0,Re=0;for(tt=tt.sort(Le),Be=Be.sort(Le);Ee<tt.length&&Re<Be.length;){const Ae=tt[Ee],je=Be[Re],et=Ae.afterLineNumber-Me,Ze=je.afterLineNumber-We;et<Ze?(Se(ye.original,Ae),Ee++):Ze<et?(Se(ye.modified,je),Re++):Ae.shouldNotShrink?(Se(ye.original,Ae),Ee++):je.shouldNotShrink?(Se(ye.modified,je),Re++):Ae.heightInLines>=je.heightInLines?(Ae.heightInLines-=je.heightInLines,Re++):(je.heightInLines-=Ae.heightInLines,Ee++)}for(;Ee<tt.length;)Se(ye.original,tt[Ee]),Ee++;for(;Re<Be.length;)Se(ye.modified,Be[Re]),Re++}return{original:K._ensureDomNodes(ye.original),modified:K._ensureDomNodes(ye.modified)}}static _ensureDomNodes(ce){return ce.map(he=>(he.domNode||(he.domNode=Q()),he))}}function X(fe,ce,he,ve,Ce){return{range:new c.Range(fe,ce,he,ve),options:Ce}}const oe={charDelete:s.ModelDecorationOptions.register({description:"diff-editor-char-delete",className:"char-delete"}),charDeleteWholeLine:s.ModelDecorationOptions.register({description:"diff-editor-char-delete-whole-line",className:"char-delete",isWholeLine:!0}),charInsert:s.ModelDecorationOptions.register({description:"diff-editor-char-insert",className:"char-insert"}),charInsertWholeLine:s.ModelDecorationOptions.register({description:"diff-editor-char-insert-whole-line",className:"char-insert",isWholeLine:!0}),lineInsert:s.ModelDecorationOptions.register({description:"diff-editor-line-insert",className:"line-insert",marginClassName:"gutter-insert",isWholeLine:!0}),lineInsertWithSign:s.ModelDecorationOptions.register({description:"diff-editor-line-insert-with-sign",className:"line-insert",linesDecorationsClassName:"insert-sign "+N.ThemeIcon.asClassName(G),marginClassName:"gutter-insert",isWholeLine:!0}),lineDelete:s.ModelDecorationOptions.register({description:"diff-editor-line-delete",className:"line-delete",marginClassName:"gutter-delete",isWholeLine:!0}),lineDeleteWithSign:s.ModelDecorationOptions.register({description:"diff-editor-line-delete-with-sign",className:"line-delete",linesDecorationsClassName:"delete-sign "+N.ThemeIcon.asClassName(J),marginClassName:"gutter-delete",isWholeLine:!0}),lineDeleteMargin:s.ModelDecorationOptions.register({description:"diff-editor-line-delete-margin",marginClassName:"gutter-delete"})};class ae extends Z{constructor(ce,he){super(ce);this._disableSash=he===!1,this._sashRatio=null,this._sashPosition=null,this._startSashPosition=null,this._sash=this._register(new I.Sash(this._dataSource.getContainerDomNode(),this,{orientation:0})),this._disableSash&&(this._sash.state=0),this._sash.onDidStart(()=>this._onSashDragStart()),this._sash.onDidChange(ve=>this._onSashDrag(ve)),this._sash.onDidEnd(()=>this._onSashDragEnd()),this._sash.onDidReset(()=>this._onSashReset())}setEnableSplitViewResizing(ce){const he=ce===!1;this._disableSash!==he&&(this._disableSash=he,this._sash.state=this._disableSash?0:3)}layout(ce=this._sashRatio){const ve=this._dataSource.getWidth()-(this._dataSource.getOptions().renderOverviewRuler?se.ENTIRE_DIFF_OVERVIEW_WIDTH:0);let Ce=Math.floor((ce||.5)*ve);const be=Math.floor(.5*ve);return Ce=this._disableSash?be:Ce||be,ve>ae.MINIMUM_EDITOR_WIDTH*2?(Ce<ae.MINIMUM_EDITOR_WIDTH&&(Ce=ae.MINIMUM_EDITOR_WIDTH),Ce>ve-ae.MINIMUM_EDITOR_WIDTH&&(Ce=ve-ae.MINIMUM_EDITOR_WIDTH)):Ce=be,this._sashPosition!==Ce&&(this._sashPosition=Ce),this._sash.layout(),this._sashPosition}_onSashDragStart(){this._startSashPosition=this._sashPosition}_onSashDrag(ce){const ve=this._dataSource.getWidth()-(this._dataSource.getOptions().renderOverviewRuler?se.ENTIRE_DIFF_OVERVIEW_WIDTH:0),Ce=this.layout((this._startSashPosition+(ce.currentX-ce.startX))/ve);this._sashRatio=Ce/ve,this._dataSource.relayoutEditors()}_onSashDragEnd(){this._sash.layout()}_onSashReset(){this._sashRatio=.5,this._dataSource.relayoutEditors(),this._sash.layout()}getVerticalSashTop(ce){return 0}getVerticalSashLeft(ce){return this._sashPosition}getVerticalSashHeight(ce){return this._dataSource.getHeight()}_getViewZones(ce,he,ve){const Ce=this._dataSource.getOriginalEditor(),be=this._dataSource.getModifiedEditor();return new ee(ce,he,ve,Ce,be).getViewZones()}_getOriginalEditorDecorations(ce,he,ve,Ce){const be=this._dataSource.getOriginalEditor(),de=String(this._removeColor),me={decorations:[],overviewZones:[]},_e=be.getModel(),ye=be._getViewModel();for(const ke of he)if(U(ke)){me.decorations.push({range:new c.Range(ke.originalStartLineNumber,1,ke.originalEndLineNumber,1073741824),options:Ce?oe.lineDeleteWithSign:oe.lineDelete}),(!H(ke)||!ke.charChanges)&&me.decorations.push(X(ke.originalStartLineNumber,1,ke.originalEndLineNumber,1073741824,oe.charDeleteWholeLine));const Te=Y(_e,ye,ke.originalStartLineNumber,ke.originalEndLineNumber);if(me.overviewZones.push(new l.OverviewRulerZone(Te.startLineNumber,Te.endLineNumber,0,de)),ke.charChanges){for(const Me of ke.charChanges)if(U(Me))if(ve)for(let We=Me.originalStartLineNumber;We<=Me.originalEndLineNumber;We++){let xe,He;We===Me.originalStartLineNumber?xe=Me.originalStartColumn:xe=_e.getLineFirstNonWhitespaceColumn(We),We===Me.originalEndLineNumber?He=Me.originalEndColumn:He=_e.getLineLastNonWhitespaceColumn(We),me.decorations.push(X(We,xe,We,He,oe.charDelete))}else me.decorations.push(X(Me.originalStartLineNumber,Me.originalStartColumn,Me.originalEndLineNumber,Me.originalEndColumn,oe.charDelete))}}return me}_getModifiedEditorDecorations(ce,he,ve,Ce){const be=this._dataSource.getModifiedEditor(),de=String(this._insertColor),me={decorations:[],overviewZones:[]},_e=be.getModel(),ye=be._getViewModel();for(const ke of he)if(H(ke)){me.decorations.push({range:new c.Range(ke.modifiedStartLineNumber,1,ke.modifiedEndLineNumber,1073741824),options:Ce?oe.lineInsertWithSign:oe.lineInsert}),(!U(ke)||!ke.charChanges)&&me.decorations.push(X(ke.modifiedStartLineNumber,1,ke.modifiedEndLineNumber,1073741824,oe.charInsertWholeLine));const Te=Y(_e,ye,ke.modifiedStartLineNumber,ke.modifiedEndLineNumber);if(me.overviewZones.push(new l.OverviewRulerZone(Te.startLineNumber,Te.endLineNumber,0,de)),ke.charChanges){for(const Me of ke.charChanges)if(H(Me))if(ve)for(let We=Me.modifiedStartLineNumber;We<=Me.modifiedEndLineNumber;We++){let xe,He;We===Me.modifiedStartLineNumber?xe=Me.modifiedStartColumn:xe=_e.getLineFirstNonWhitespaceColumn(We),We===Me.modifiedEndLineNumber?He=Me.modifiedEndColumn:He=_e.getLineLastNonWhitespaceColumn(We),me.decorations.push(X(We,xe,We,He,oe.charInsert))}else me.decorations.push(X(Me.modifiedStartLineNumber,Me.modifiedStartColumn,Me.modifiedEndLineNumber,Me.modifiedEndColumn,oe.charInsert))}}return me}}ae.MINIMUM_EDITOR_WIDTH=100;class ee extends K{constructor(ce,he,ve,Ce,be){super(ce,he,ve,Ce,be)}_createOriginalMarginDomNodeForModifiedForeignViewZoneInAddedRegion(){return null}_produceOriginalFromDiff(ce,he,ve){return ve>he?{afterLineNumber:Math.max(ce.originalStartLineNumber,ce.originalEndLineNumber),heightInLines:ve-he,domNode:null}:null}_produceModifiedFromDiff(ce,he,ve){return he>ve?{afterLineNumber:Math.max(ce.modifiedStartLineNumber,ce.modifiedEndLineNumber),heightInLines:he-ve,domNode:null}:null}}class ue extends Z{constructor(ce,he){super(ce);this._decorationsLeft=ce.getOriginalEditor().getLayoutInfo().decorationsLeft,this._register(ce.getOriginalEditor().onDidLayoutChange(ve=>{this._decorationsLeft!==ve.decorationsLeft&&(this._decorationsLeft=ve.decorationsLeft,ce.relayoutEditors())}))}setEnableSplitViewResizing(ce){}_getViewZones(ce,he,ve,Ce){const be=this._dataSource.getOriginalEditor(),de=this._dataSource.getModifiedEditor();return new le(ce,he,ve,be,de,Ce).getViewZones()}_getOriginalEditorDecorations(ce,he,ve,Ce){const be=String(this._removeColor),de={decorations:[],overviewZones:[]},me=this._dataSource.getOriginalEditor(),_e=me.getModel(),ye=me._getViewModel();let ke=0;for(const Te of he)if(U(Te)){for(de.decorations.push({range:new c.Range(Te.originalStartLineNumber,1,Te.originalEndLineNumber,1073741824),options:oe.lineDeleteMargin});ke<ce.modified.length;){const xe=ce.modified[ke];if(xe.diff&&xe.diff.originalStartLineNumber>=Te.originalStartLineNumber)break;ke++}let Me=0;if(ke<ce.modified.length){const xe=ce.modified[ke];xe.diff&&xe.diff.originalStartLineNumber===Te.originalStartLineNumber&&xe.diff.originalEndLineNumber===Te.originalEndLineNumber&&xe.diff.modifiedStartLineNumber===Te.modifiedStartLineNumber&&xe.diff.modifiedEndLineNumber===Te.modifiedEndLineNumber&&(Me=xe.heightInLines)}const We=Y(_e,ye,Te.originalStartLineNumber,Te.originalEndLineNumber);de.overviewZones.push(new l.OverviewRulerZone(We.startLineNumber,We.endLineNumber,Me,be))}return de}_getModifiedEditorDecorations(ce,he,ve,Ce){const be=this._dataSource.getModifiedEditor(),de=String(this._insertColor),me={decorations:[],overviewZones:[]},_e=be.getModel(),ye=be._getViewModel();for(const ke of he)if(H(ke)){me.decorations.push({range:new c.Range(ke.modifiedStartLineNumber,1,ke.modifiedEndLineNumber,1073741824),options:Ce?oe.lineInsertWithSign:oe.lineInsert});const Te=Y(_e,ye,ke.modifiedStartLineNumber,ke.modifiedEndLineNumber);if(me.overviewZones.push(new l.OverviewRulerZone(Te.startLineNumber,Te.endLineNumber,0,de)),ke.charChanges){for(const Me of ke.charChanges)if(H(Me))if(ve)for(let We=Me.modifiedStartLineNumber;We<=Me.modifiedEndLineNumber;We++){let xe,He;We===Me.modifiedStartLineNumber?xe=Me.modifiedStartColumn:xe=_e.getLineFirstNonWhitespaceColumn(We),We===Me.modifiedEndLineNumber?He=Me.modifiedEndColumn:He=_e.getLineLastNonWhitespaceColumn(We),me.decorations.push(X(We,xe,We,He,oe.charInsert))}else me.decorations.push(X(Me.modifiedStartLineNumber,Me.modifiedStartColumn,Me.modifiedEndLineNumber,Me.modifiedEndColumn,oe.charInsert))}else me.decorations.push(X(ke.modifiedStartLineNumber,1,ke.modifiedEndLineNumber,1073741824,oe.charInsertWholeLine))}return me}layout(){return Math.max(5,this._decorationsLeft)}}class le extends K{constructor(ce,he,ve,Ce,be,de){super(ce,he,ve,Ce,be);this._originalModel=Ce.getModel(),this._renderIndicators=de,this._pendingLineChange=[],this._pendingViewZones=[],this._lineBreaksComputer=this._modifiedEditor._getViewModel().createLineBreaksComputer()}getViewZones(){const ce=super.getViewZones();return this._finalize(ce),ce}_createOriginalMarginDomNodeForModifiedForeignViewZoneInAddedRegion(){const ce=document.createElement("div");return ce.className="inline-added-margin-view-zone",ce}_produceOriginalFromDiff(ce,he,ve){const Ce=document.createElement("div");return Ce.className="inline-added-margin-view-zone",{afterLineNumber:Math.max(ce.originalStartLineNumber,ce.originalEndLineNumber),heightInLines:ve,domNode:document.createElement("div"),marginDomNode:Ce}}_produceModifiedFromDiff(ce,he,ve){const Ce=document.createElement("div");Ce.className=`view-lines line-delete ${W.MOUSE_CURSOR_TEXT_CSS_CLASS_NAME}`;const be=document.createElement("div");be.className="inline-deleted-margin-view-zone";const de={shouldNotShrink:!0,afterLineNumber:ce.modifiedEndLineNumber===0?ce.modifiedStartLineNumber:ce.modifiedStartLineNumber-1,heightInLines:he,minWidthInPx:0,domNode:Ce,marginDomNode:be,diff:{originalStartLineNumber:ce.originalStartLineNumber,originalEndLineNumber:ce.originalEndLineNumber,modifiedStartLineNumber:ce.modifiedStartLineNumber,modifiedEndLineNumber:ce.modifiedEndLineNumber,originalModel:this._originalModel,viewLineCounts:null}};for(let me=ce.originalStartLineNumber;me<=ce.originalEndLineNumber;me++)this._lineBreaksComputer.addRequest(this._originalModel.getLineContent(me),null,null);return this._pendingLineChange.push(ce),this._pendingViewZones.push(de),de}_finalize(ce){const he=this._modifiedEditor.getOptions(),ve=this._modifiedEditor.getModel().getOptions().tabSize,Ce=he.get(44),be=he.get(29),de=Ce.typicalHalfwidthCharacterWidth,me=he.get(93),_e=this._originalModel.mightContainNonBasicASCII(),ye=this._originalModel.mightContainRTL(),ke=he.get(59),Me=he.get(131).decorationsWidth,We=he.get(105),xe=he.get(88),He=he.get(83),Le=he.get(45),Se=this._lineBreaksComputer.finalize();let De=0;for(let Pe=0;Pe<this._pendingLineChange.length;Pe++){const Fe=this._pendingLineChange[Pe],ze=this._pendingViewZones[Pe],Ke=ze.domNode;(0,u.applyFontInfo)(Ke,Ce);const $e=ze.marginDomNode;(0,u.applyFontInfo)($e,Ce);const Ve=[];if(Fe.charChanges)for(const Ze of Fe.charChanges)U(Ze)&&Ve.push(new S.InlineDecoration(new c.Range(Ze.originalStartLineNumber,Ze.originalStartColumn,Ze.originalEndLineNumber,Ze.originalEndColumn),"char-delete",0));const tt=Ve.length>0,Be=(0,d.createStringBuilder)(1e4);let Ee=0,Re=0,Ae=null;for(let Ze=Fe.originalStartLineNumber;Ze<=Fe.originalEndLineNumber;Ze++){const qe=Ze-Fe.originalStartLineNumber,Ne=this._originalModel.getLineTokens(Ze),Oe=Ne.getLineContent(),Ue=Se[De++],Ge=h.LineDecoration.filter(Ve,Ze,1,Oe.length+1);if(Ue){let Je=0;for(const Xe of Ue.breakOffsets){const it=Ne.sliceAndInflate(Je,Xe,0),lt=Oe.substring(Je,Xe);Ee=Math.max(Ee,this._renderOriginalLine(Re++,lt,it,h.LineDecoration.extractWrapped(Ge,Je,Xe),tt,_e,ye,Ce,be,ke,Me,We,xe,He,Le,ve,Be,$e)),Je=Xe}for(Ae||(Ae=[]);Ae.length<qe;)Ae[Ae.length]=1;Ae[qe]=Ue.breakOffsets.length,ze.heightInLines+=Ue.breakOffsets.length-1;const Ye=document.createElement("div");Ye.className="gutter-delete",ce.original.push({afterLineNumber:Ze,afterColumn:0,heightInLines:Ue.breakOffsets.length-1,domNode:Q(),marginDomNode:Ye})}else Ee=Math.max(Ee,this._renderOriginalLine(Re++,Oe,Ne,Ge,tt,_e,ye,Ce,be,ke,Me,We,xe,He,Le,ve,Be,$e))}Ee+=me;const je=Be.build(),et=re?re.createHTML(je):je;if(Ke.innerHTML=et,ze.minWidthInPx=Ee*de,Ae){const Ze=Fe.originalEndLineNumber-Fe.originalStartLineNumber;for(;Ae.length<=Ze;)Ae[Ae.length]=1}ze.diff.viewLineCounts=Ae}ce.original.sort((Pe,Fe)=>Pe.afterLineNumber-Fe.afterLineNumber)}_renderOriginalLine(ce,he,ve,Ce,be,de,me,_e,ye,ke,Te,Me,We,xe,He,Le,Se,De){Se.appendASCIIString('<div class="view-line'),be||Se.appendASCIIString(" char-delete"),Se.appendASCIIString('" style="top:'),Se.appendASCIIString(String(ce*ke)),Se.appendASCIIString('px;width:1000000px;">');const Pe=S.ViewLineRenderingData.isBasicASCII(he,de),Fe=S.ViewLineRenderingData.containsRTL(he,Pe,me),ze=(0,f.renderViewLine)(new f.RenderLineInput(_e.isMonospace&&!ye,_e.canUseHalfwidthRightwardsArrow,he,!1,Pe,Fe,0,ve,Ce,Le,0,_e.spaceWidth,_e.middotWidth,_e.wsmiddotWidth,Me,We,xe,He!==o.EditorFontLigatures.OFF,null),Se);if(Se.appendASCIIString("</div>"),this._renderIndicators){const Ke=document.createElement("div");Ke.className=`delete-sign ${N.ThemeIcon.asClassName(J)}`,Ke.setAttribute("style",`position:absolute;top:${ce*ke}px;width:${Te}px;height:${ke}px;right:0;`),De.appendChild(Ke)}return ze.characterMapping.getAbsoluteOffset(ze.characterMapping.length)}}function x(fe,ce){return(0,o.stringSet)(fe,ce,["off","on","inherit"])}function H(fe){return fe.modifiedEndLineNumber>0}function U(fe){return fe.originalEndLineNumber>0}function Q(){const fe=document.createElement("div");return fe.className="diagonal-fill",fe}function Y(fe,ce,he,ve){const Ce=fe.getLineCount();return he=Math.min(Ce,Math.max(1,he)),ve=Math.min(Ce,Math.max(1,ve)),ce.coordinatesConverter.convertModelRangeToViewRange(new c.Range(he,fe.getLineMinColumn(he),ve,fe.getLineMaxColumn(ve)))}function ne(fe,ce){return{enableSplitViewResizing:(0,o.boolean)(fe.enableSplitViewResizing,ce.enableSplitViewResizing),renderSideBySide:(0,o.boolean)(fe.renderSideBySide,ce.renderSideBySide),maxComputationTime:(0,o.clampedInt)(fe.maxComputationTime,ce.maxComputationTime,0,1073741824),maxFileSize:(0,o.clampedInt)(fe.maxFileSize,ce.maxFileSize,0,1073741824),ignoreTrimWhitespace:(0,o.boolean)(fe.ignoreTrimWhitespace,ce.ignoreTrimWhitespace),renderIndicators:(0,o.boolean)(fe.renderIndicators,ce.renderIndicators),originalEditable:(0,o.boolean)(fe.originalEditable,ce.originalEditable),diffCodeLens:(0,o.boolean)(fe.diffCodeLens,ce.diffCodeLens),renderOverviewRuler:(0,o.boolean)(fe.renderOverviewRuler,ce.renderOverviewRuler),diffWordWrap:x(fe.diffWordWrap,ce.diffWordWrap)}}function ge(fe,ce){return{enableSplitViewResizing:fe.enableSplitViewResizing!==ce.enableSplitViewResizing,renderSideBySide:fe.renderSideBySide!==ce.renderSideBySide,maxComputationTime:fe.maxComputationTime!==ce.maxComputationTime,maxFileSize:fe.maxFileSize!==ce.maxFileSize,ignoreTrimWhitespace:fe.ignoreTrimWhitespace!==ce.ignoreTrimWhitespace,renderIndicators:fe.renderIndicators!==ce.renderIndicators,originalEditable:fe.originalEditable!==ce.originalEditable,diffCodeLens:fe.diffCodeLens!==ce.diffCodeLens,renderOverviewRuler:fe.renderOverviewRuler!==ce.renderOverviewRuler,diffWordWrap:fe.diffWordWrap!==ce.diffWordWrap}}(0,N.registerThemingParticipant)((fe,ce)=>{const he=fe.getColor(E.diffInserted);he&&ce.addRule(`.monaco-editor .char-insert, .monaco-diff-editor .char-insert { background-color: ${he}; }`);const ve=fe.getColor(E.diffInsertedLine)||he;ve&&ce.addRule(`.monaco-editor .line-insert, .monaco-diff-editor .line-insert { background-color: ${ve}; }`);const Ce=fe.getColor(E.diffInsertedLineGutter)||ve;Ce&&(ce.addRule(`.monaco-editor .inline-added-margin-view-zone { background-color: ${Ce}; }`),ce.addRule(`.monaco-editor .gutter-insert, .monaco-diff-editor .gutter-insert { background-color: ${Ce}; }`));const be=fe.getColor(E.diffRemoved);be&&ce.addRule(`.monaco-editor .char-delete, .monaco-diff-editor .char-delete { background-color: ${be}; }`);const de=fe.getColor(E.diffRemovedLine)||be;de&&ce.addRule(`.monaco-editor .line-delete, .monaco-diff-editor .line-delete { background-color: ${de}; }`);const me=fe.getColor(E.diffRemovedLineGutter)||de;me&&(ce.addRule(`.monaco-editor .inline-deleted-margin-view-zone { background-color: ${me}; }`),ce.addRule(`.monaco-editor .gutter-delete, .monaco-diff-editor .gutter-delete { background-color: ${me}; }`));const _e=fe.getColor(E.diffInsertedOutline);_e&&ce.addRule(`.monaco-editor .line-insert, .monaco-editor .char-insert { border: 1px ${fe.type==="hc"?"dashed":"solid"} ${_e}; }`);const ye=fe.getColor(E.diffRemovedOutline);ye&&ce.addRule(`.monaco-editor .line-delete, .monaco-editor .char-delete { border: 1px ${fe.type==="hc"?"dashed":"solid"} ${ye}; }`);const ke=fe.getColor(E.scrollbarShadow);ke&&ce.addRule(`.monaco-diff-editor.side-by-side .editor.modified { box-shadow: -6px 0 5px -5px ${ke}; }`);const Te=fe.getColor(E.diffBorder);Te&&ce.addRule(`.monaco-diff-editor.side-by-side .editor.modified { border-left: 1px solid ${Te}; }`);const Me=fe.getColor(E.scrollbarSliderBackground);Me&&ce.addRule(`
+			.monaco-diff-editor .diffViewport {
+				background: ${Me};
+			}
+		`);const We=fe.getColor(E.scrollbarSliderHoverBackground);We&&ce.addRule(`
+			.monaco-diff-editor .diffViewport:hover {
+				background: ${We};
+			}
+		`);const xe=fe.getColor(E.scrollbarSliderActiveBackground);xe&&ce.addRule(`
+			.monaco-diff-editor .diffViewport:active {
+				background: ${xe};
+			}
+		`);const He=fe.getColor(E.diffDiagonalFill);ce.addRule(`
+	.monaco-editor .diagonal-fill {
+		background-image: linear-gradient(
+			-45deg,
+			${He} 12.5%,
+			#0000 12.5%, #0000 50%,
+			${He} 50%, ${He} 62.5%,
+			#0000 62.5%, #0000 100%
+		);
+		background-size: 8px 8px;
+	}
+	`)})}),define(te[164],ie([1,0,40,29,163,26,17,9,39,14,65,33,20]),function(q,e,L,m,k,I,w,b,C,u,g,t,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EmbeddedCodeEditorWidget=void 0;let i=class extends k.CodeEditorWidget{constructor(c,d,r,s,a,l,h,f,S,v,p,_){super(c,Object.assign(Object.assign({},r.getRawOptions()),{overflowWidgetsDomNode:r.getOverflowWidgetsDomNode()}),{},s,a,l,h,f,S,v,p,_);this._parentEditor=r,this._overwriteOptions=d,super.updateOptions(this._overwriteOptions),this._register(r.onDidChangeConfiguration(y=>this._onParentConfigurationChanged(y)))}getParentEditor(){return this._parentEditor}_onParentConfigurationChanged(c){super.updateOptions(this._parentEditor.getRawOptions()),super.updateOptions(this._overwriteOptions)}updateOptions(c){L.mixin(this._overwriteOptions,c,!0),super.updateOptions(this._overwriteOptions)}};i=Ie([pe(3,b.IInstantiationService),pe(4,m.ICodeEditorService),pe(5,I.ICommandService),pe(6,w.IContextKeyService),pe(7,u.IThemeService),pe(8,C.INotificationService),pe(9,g.IAccessibilityService),pe(10,t.ILanguageConfigurationService),pe(11,n.ILanguageFeaturesService)],i),e.EmbeddedCodeEditorWidget=i}),define(te[717],ie([1,0,10,2,15,11,3,22,24,50,38,54,524,37,23,14,372]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BracketMatchingController=void 0;const d=(0,o.registerColor)("editorOverviewRuler.bracketMatchForeground",{dark:"#A0A0A0",light:"#A0A0A0",hc:"#A0A0A0"},n.localize(0,null));class r extends k.EditorAction{constructor(){super({id:"editor.action.jumpToBracket",label:n.localize(1,null),alias:"Go to Bracket",precondition:void 0,kbOpts:{kbExpr:C.EditorContextKeys.editorTextFocus,primary:2048|1024|88,weight:100}})}run(f,S){var v;(v=l.get(S))===null||v===void 0||v.jumpToBracket()}}class s extends k.EditorAction{constructor(){super({id:"editor.action.selectToBracket",label:n.localize(2,null),alias:"Select to Bracket",precondition:void 0,description:{description:"Select to Bracket",args:[{name:"args",schema:{type:"object",properties:{selectBrackets:{type:"boolean",default:!0}}}}]}})}run(f,S,v){var p;let _=!0;v&&v.selectBrackets===!1&&(_=!1),(p=l.get(S))===null||p===void 0||p.selectToBracket(_)}}class a{constructor(f,S,v){this.position=f,this.brackets=S,this.options=v}}class l extends m.Disposable{constructor(f){super();this._editor=f,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=[],this._updateBracketsSoon=this._register(new L.RunOnceScheduler(()=>this._updateBrackets(),50)),this._matchBrackets=this._editor.getOption(64),this._updateBracketsSoon.schedule(),this._register(f.onDidChangeCursorPosition(S=>{this._matchBrackets!=="never"&&this._updateBracketsSoon.schedule()})),this._register(f.onDidChangeModelContent(S=>{this._updateBracketsSoon.schedule()})),this._register(f.onDidChangeModel(S=>{this._lastBracketsData=[],this._decorations=[],this._updateBracketsSoon.schedule()})),this._register(f.onDidChangeModelLanguageConfiguration(S=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(f.onDidChangeConfiguration(S=>{S.hasChanged(64)&&(this._matchBrackets=this._editor.getOption(64),this._decorations=this._editor.deltaDecorations(this._decorations,[]),this._lastBracketsData=[],this._lastVersionId=0,this._updateBracketsSoon.schedule())})),this._register(f.onDidBlurEditorWidget(()=>{this._updateBracketsSoon.schedule()})),this._register(f.onDidFocusEditorWidget(()=>{this._updateBracketsSoon.schedule()}))}static get(f){return f.getContribution(l.ID)}jumpToBracket(){if(!this._editor.hasModel())return;const f=this._editor.getModel(),S=this._editor.getSelections().map(v=>{const p=v.getStartPosition(),_=f.bracketPairs.matchBracket(p);let y=null;if(_)_[0].containsPosition(p)?y=_[1].getStartPosition():_[1].containsPosition(p)&&(y=_[0].getStartPosition());else{const E=f.bracketPairs.findEnclosingBrackets(p);if(E)y=E[0].getStartPosition();else{const N=f.bracketPairs.findNextBracket(p);N&&N.range&&(y=N.range.getStartPosition())}}return y?new b.Selection(y.lineNumber,y.column,y.lineNumber,y.column):new b.Selection(p.lineNumber,p.column,p.lineNumber,p.column)});this._editor.setSelections(S),this._editor.revealRange(S[0])}selectToBracket(f){if(!this._editor.hasModel())return;const S=this._editor.getModel(),v=[];this._editor.getSelections().forEach(p=>{const _=p.getStartPosition();let y=S.bracketPairs.matchBracket(_);if(!y&&(y=S.bracketPairs.findEnclosingBrackets(_),!y)){const D=S.bracketPairs.findNextBracket(_);D&&D.range&&(y=S.bracketPairs.matchBracket(D.range.getStartPosition()))}let E=null,N=null;if(y){y.sort(w.Range.compareRangesUsingStarts);const[D,M]=y;if(E=f?D.getStartPosition():D.getEndPosition(),N=f?M.getEndPosition():M.getStartPosition(),M.containsPosition(_)){const B=E;E=N,N=B}}E&&N&&v.push(new b.Selection(E.lineNumber,E.column,N.lineNumber,N.column))}),v.length>0&&(this._editor.setSelections(v),this._editor.revealRange(v[0]))}_updateBrackets(){if(this._matchBrackets==="never")return;this._recomputeBrackets();let f=[],S=0;for(const v of this._lastBracketsData){let p=v.brackets;p&&(f[S++]={range:p[0],options:v.options},f[S++]={range:p[1],options:v.options})}this._decorations=this._editor.deltaDecorations(this._decorations,f)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus()){this._lastBracketsData=[],this._lastVersionId=0;return}const f=this._editor.getSelections();if(f.length>100){this._lastBracketsData=[],this._lastVersionId=0;return}const S=this._editor.getModel(),v=S.getVersionId();let p=[];this._lastVersionId===v&&(p=this._lastBracketsData);let _=[],y=0;for(let B=0,O=f.length;B<O;B++){let T=f[B];T.isEmpty()&&(_[y++]=T.getStartPosition())}_.length>1&&_.sort(I.Position.compare);let E=[],N=0,D=0,M=p.length;for(let B=0,O=_.length;B<O;B++){let T=_[B];for(;D<M&&p[D].position.isBefore(T);)D++;if(D<M&&p[D].position.equals(T))E[N++]=p[D];else{let A=S.bracketPairs.matchBracket(T,20),P=l._DECORATION_OPTIONS_WITH_OVERVIEW_RULER;!A&&this._matchBrackets==="always"&&(A=S.bracketPairs.findEnclosingBrackets(T,20),P=l._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER),E[N++]=new a(T,A,P)}}this._lastBracketsData=E,this._lastVersionId=v}}e.BracketMatchingController=l,l.ID="editor.contrib.bracketMatchingController",l._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=g.ModelDecorationOptions.register({description:"bracket-match-overview",stickiness:1,className:"bracket-match",overviewRuler:{color:(0,c.themeColorFromId)(d),position:u.OverviewRulerLane.Center}}),l._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=g.ModelDecorationOptions.register({description:"bracket-match-no-overview",stickiness:1,className:"bracket-match"}),(0,k.registerEditorContribution)(l.ID,l),(0,k.registerEditorAction)(s),(0,k.registerEditorAction)(r),(0,c.registerThemingParticipant)((h,f)=>{const S=h.getColor(t.editorBracketMatchBackground);S&&f.addRule(`.monaco-editor .bracket-match { background-color: ${S}; }`);const v=h.getColor(t.editorBracketMatchBorder);v&&f.addRule(`.monaco-editor .bracket-match { border: 1px solid ${v}; }`)}),i.MenuRegistry.appendMenuItem(i.MenuId.MenubarGoMenu,{group:"5_infile_nav",command:{id:"editor.action.jumpToBracket",title:n.localize(3,null)},order:2})}),define(te[718],ie([1,0,7,115,3,38,374]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CodeLensWidget=e.CodeLensHelper=void 0;class w{constructor(t,n,i){this.afterColumn=1073741824,this.afterLineNumber=t,this.heightInPx=n,this._onHeight=i,this.suppressMouseDown=!0,this.domNode=document.createElement("div")}onComputedHeight(t){this._lastHeight===void 0?this._lastHeight=t:this._lastHeight!==t&&(this._lastHeight=t,this._onHeight())}isVisible(){return this._lastHeight!==0&&this.domNode.hasAttribute("monaco-visible-view-zone")}}class b{constructor(t,n,i){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=t,this._id=`codelens.widget-${b._idPool++}`,this.updatePosition(i),this._domNode=document.createElement("span"),this._domNode.className=`codelens-decoration ${n}`}withCommands(t,n){this._commands.clear();let i=[],o=!1;for(let c=0;c<t.length;c++){const d=t[c];if(!!d&&(o=!0,d.command)){const r=(0,m.renderLabelWithIcons)(d.command.title.trim());d.command.id?(i.push(L.$("a",{id:String(c),title:d.command.tooltip},...r)),this._commands.set(String(c),d.command)):i.push(L.$("span",{title:d.command.tooltip},...r)),c+1<t.length&&i.push(L.$("span",void 0,"\xA0|\xA0"))}}o?(L.reset(this._domNode,...i),this._isEmpty&&n&&this._domNode.classList.add("fadein"),this._isEmpty=!1):L.reset(this._domNode,L.$("span",void 0,"no commands"))}getCommand(t){return t.parentElement===this._domNode?this._commands.get(t.id):void 0}getId(){return this._id}getDomNode(){return this._domNode}updatePosition(t){const n=this._editor.getModel().getLineFirstNonWhitespaceColumn(t);this._widgetPosition={position:{lineNumber:t,column:n},preference:[1]}}getPosition(){return this._widgetPosition||null}}b._idPool=0;class C{constructor(){this._removeDecorations=[],this._addDecorations=[],this._addDecorationsCallbacks=[]}addDecoration(t,n){this._addDecorations.push(t),this._addDecorationsCallbacks.push(n)}removeDecoration(t){this._removeDecorations.push(t)}commit(t){let n=t.deltaDecorations(this._removeDecorations,this._addDecorations);for(let i=0,o=n.length;i<o;i++)this._addDecorationsCallbacks[i](n[i])}}e.CodeLensHelper=C;class u{constructor(t,n,i,o,c,d,r){this._isDisposed=!1,this._editor=n,this._className=i,this._data=t,this._decorationIds=[];let s,a=[];this._data.forEach((l,h)=>{l.symbol.command&&a.push(l.symbol),o.addDecoration({range:l.symbol.range,options:I.ModelDecorationOptions.EMPTY},f=>this._decorationIds[h]=f),s?s=k.Range.plusRange(s,l.symbol.range):s=k.Range.lift(l.symbol.range)}),this._viewZone=new w(s.startLineNumber-1,d,r),this._viewZoneId=c.addZone(this._viewZone),a.length>0&&(this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(a,!1))}_createContentWidgetIfNecessary(){this._contentWidget?this._editor.layoutContentWidget(this._contentWidget):(this._contentWidget=new b(this._editor,this._className,this._viewZone.afterLineNumber+1),this._editor.addContentWidget(this._contentWidget))}dispose(t,n){this._decorationIds.forEach(t.removeDecoration,t),this._decorationIds=[],n&&n.removeZone(this._viewZoneId),this._contentWidget&&(this._editor.removeContentWidget(this._contentWidget),this._contentWidget=void 0),this._isDisposed=!0}isDisposed(){return this._isDisposed}isValid(){return this._decorationIds.some((t,n)=>{const i=this._editor.getModel().getDecorationRange(t),o=this._data[n].symbol;return!!(i&&k.Range.isEmpty(o.range)===i.isEmpty())})}updateCodeLensSymbols(t,n){this._decorationIds.forEach(n.removeDecoration,n),this._decorationIds=[],this._data=t,this._data.forEach((i,o)=>{n.addDecoration({range:i.symbol.range,options:I.ModelDecorationOptions.EMPTY},c=>this._decorationIds[o]=c)})}updateHeight(t,n){this._viewZone.heightInPx=t,n.layoutZone(this._viewZoneId),this._contentWidget&&this._editor.layoutContentWidget(this._contentWidget)}computeIfNecessary(t){if(!this._viewZone.isVisible())return null;for(let n=0;n<this._decorationIds.length;n++){const i=t.getDecorationRange(this._decorationIds[n]);i&&(this._data[n].symbol.range=i)}return this._data}updateCommands(t){this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(t,!0);for(let n=0;n<this._data.length;n++){const i=t[n];if(i){const{symbol:o}=this._data[n];o.command=i.command||o.command}}}getCommand(t){var n;return(n=this._contentWidget)===null||n===void 0?void 0:n.getCommand(t)}getLineNumber(){const t=this._editor.getModel().getDecorationRange(this._decorationIds[0]);return t?t.startLineNumber:-1}update(t){if(this.isValid()){const n=this._editor.getModel().getDecorationRange(this._decorationIds[0]);n&&(this._viewZone.afterLineNumber=n.startLineNumber-1,t.layoutZone(this._viewZoneId),this._contentWidget&&(this._contentWidget.updatePosition(n.startLineNumber),this._editor.layoutContentWidget(this._contentWidget)))}}}e.CodeLensWidget=u}),define(te[719],ie([1,0,7,10,13,114,2,146,15,32,24,275,639,718,530,26,39,80,67,20]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s,a){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CodeLensContribution=void 0;let l=class{constructor(f,S,v,p,_,y){this._editor=f,this._languageFeaturesService=S,this._commandService=p,this._notificationService=_,this._codeLensCache=y,this._disposables=new w.DisposableStore,this._localToDispose=new w.DisposableStore,this._lenses=[],this._oldCodeLensModels=new w.DisposableStore,this._provideCodeLensDebounce=v.for(S.codeLensProvider,"CodeLensProvide",{min:250}),this._resolveCodeLensesDebounce=v.for(S.codeLensProvider,"CodeLensResolve",{min:250,salt:"resolve"}),this._resolveCodeLensesScheduler=new m.RunOnceScheduler(()=>this._resolveCodeLensesInViewport(),this._resolveCodeLensesDebounce.default()),this._disposables.add(this._editor.onDidChangeModel(()=>this._onModelChange())),this._disposables.add(this._editor.onDidChangeModelLanguage(()=>this._onModelChange())),this._disposables.add(this._editor.onDidChangeConfiguration(E=>{(E.hasChanged(44)||E.hasChanged(16)||E.hasChanged(15))&&this._updateLensStyle(),E.hasChanged(14)&&this._onModelChange()})),this._disposables.add(S.codeLensProvider.onDidChange(this._onModelChange,this)),this._onModelChange(),this._styleClassName="_"+(0,I.hash)(this._editor.getId()).toString(16),this._styleElement=L.createStyleSheet(L.isInShadowDOM(this._editor.getContainerDomNode())?this._editor.getContainerDomNode():void 0),this._updateLensStyle()}dispose(){var f;this._localDispose(),this._disposables.dispose(),this._oldCodeLensModels.dispose(),(f=this._currentCodeLensModel)===null||f===void 0||f.dispose(),this._styleElement.remove()}_getLayoutInfo(){let f=this._editor.getOption(16),S;return!f||f<5?(f=this._editor.getOption(46)*.9|0,S=this._editor.getOption(59)):S=f*Math.max(1.3,this._editor.getOption(59)/this._editor.getOption(46))|0,{codeLensHeight:S,fontSize:f}}_updateLensStyle(){const{codeLensHeight:f,fontSize:S}=this._getLayoutInfo(),v=this._editor.getOption(15),p=this._editor.getOption(44),_=`--codelens-font-family${this._styleClassName}`,y=`--codelens-font-features${this._styleClassName}`;let E=`
+		.monaco-editor .codelens-decoration.${this._styleClassName} { line-height: ${f}px; font-size: ${S}px; padding-right: ${Math.round(S*.5)}px; font-feature-settings: var(${y}) }
+		.monaco-editor .codelens-decoration.${this._styleClassName} span.codicon { line-height: ${f}px; font-size: ${S}px; }
+		`;v&&(E+=`.monaco-editor .codelens-decoration.${this._styleClassName} { font-family: var(${_}), ${u.EDITOR_FONT_DEFAULTS.fontFamily}}`),this._styleElement.textContent=E,this._editor.getContainerDomNode().style.setProperty(_,v??"inherit"),this._editor.getContainerDomNode().style.setProperty(y,p.fontFeatureSettings),this._editor.changeViewZones(N=>{for(let D of this._lenses)D.updateHeight(f,N)})}_localDispose(){var f,S,v;(f=this._getCodeLensModelPromise)===null||f===void 0||f.cancel(),this._getCodeLensModelPromise=void 0,(S=this._resolveCodeLensesPromise)===null||S===void 0||S.cancel(),this._resolveCodeLensesPromise=void 0,this._localToDispose.clear(),this._oldCodeLensModels.clear(),(v=this._currentCodeLensModel)===null||v===void 0||v.dispose()}_onModelChange(){this._localDispose();const f=this._editor.getModel();if(!f||!this._editor.getOption(14))return;const S=this._codeLensCache.get(f);if(S&&this._renderCodeLensSymbols(S),!this._languageFeaturesService.codeLensProvider.has(f)){S&&this._localToDispose.add((0,m.disposableTimeout)(()=>{const p=this._codeLensCache.get(f);S===p&&(this._codeLensCache.delete(f),this._onModelChange())},30*1e3));return}for(const p of this._languageFeaturesService.codeLensProvider.all(f))if(typeof p.onDidChange=="function"){let _=p.onDidChange(()=>v.schedule());this._localToDispose.add(_)}const v=new m.RunOnceScheduler(()=>{var p;const _=Date.now();(p=this._getCodeLensModelPromise)===null||p===void 0||p.cancel(),this._getCodeLensModelPromise=(0,m.createCancelablePromise)(y=>(0,t.getCodeLensModel)(this._languageFeaturesService.codeLensProvider,f,y)),this._getCodeLensModelPromise.then(y=>{this._currentCodeLensModel&&this._oldCodeLensModels.add(this._currentCodeLensModel),this._currentCodeLensModel=y,this._codeLensCache.put(f,y);const E=this._provideCodeLensDebounce.update(f,Date.now()-_);v.delay=E,this._renderCodeLensSymbols(y),this._resolveCodeLensesInViewportSoon()},k.onUnexpectedError)},this._provideCodeLensDebounce.get(f));this._localToDispose.add(v),this._localToDispose.add((0,w.toDisposable)(()=>this._resolveCodeLensesScheduler.cancel())),this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{this._editor.changeDecorations(p=>{this._editor.changeViewZones(_=>{let y=[],E=-1;this._lenses.forEach(D=>{!D.isValid()||E===D.getLineNumber()?y.push(D):(D.update(_),E=D.getLineNumber())});let N=new i.CodeLensHelper;y.forEach(D=>{D.dispose(N,_),this._lenses.splice(this._lenses.indexOf(D),1)}),N.commit(p)})}),v.schedule()})),this._localToDispose.add(this._editor.onDidFocusEditorWidget(()=>{v.schedule()})),this._localToDispose.add(this._editor.onDidScrollChange(p=>{p.scrollTopChanged&&this._lenses.length>0&&this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add(this._editor.onDidLayoutChange(()=>{this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add((0,w.toDisposable)(()=>{if(this._editor.getModel()){const p=b.StableEditorScrollState.capture(this._editor);this._editor.changeDecorations(_=>{this._editor.changeViewZones(y=>{this._disposeAllLenses(_,y)})}),p.restore(this._editor)}else this._disposeAllLenses(void 0,void 0)})),this._localToDispose.add(this._editor.onMouseDown(p=>{if(p.target.type!==9)return;let _=p.target.element;if((_==null?void 0:_.tagName)==="SPAN"&&(_=_.parentElement),(_==null?void 0:_.tagName)==="A")for(const y of this._lenses){let E=y.getCommand(_);if(E){this._commandService.executeCommand(E.id,...E.arguments||[]).catch(N=>this._notificationService.error(N));break}}})),v.schedule()}_disposeAllLenses(f,S){const v=new i.CodeLensHelper;for(const p of this._lenses)p.dispose(v,S);f&&v.commit(f),this._lenses.length=0}_renderCodeLensSymbols(f){if(!this._editor.hasModel())return;let S=this._editor.getModel().getLineCount(),v=[],p;for(let E of f.lenses){let N=E.symbol.range.startLineNumber;N<1||N>S||(p&&p[p.length-1].symbol.range.startLineNumber===N?p.push(E):(p=[E],v.push(p)))}const _=b.StableEditorScrollState.capture(this._editor),y=this._getLayoutInfo();this._editor.changeDecorations(E=>{this._editor.changeViewZones(N=>{const D=new i.CodeLensHelper;let M=0,B=0;for(;B<v.length&&M<this._lenses.length;){let O=v[B][0].symbol.range.startLineNumber,T=this._lenses[M].getLineNumber();T<O?(this._lenses[M].dispose(D,N),this._lenses.splice(M,1)):T===O?(this._lenses[M].updateCodeLensSymbols(v[B],D),B++,M++):(this._lenses.splice(M,0,new i.CodeLensWidget(v[B],this._editor,this._styleClassName,D,N,y.codeLensHeight,()=>this._resolveCodeLensesInViewportSoon())),M++,B++)}for(;M<this._lenses.length;)this._lenses[M].dispose(D,N),this._lenses.splice(M,1);for(;B<v.length;)this._lenses.push(new i.CodeLensWidget(v[B],this._editor,this._styleClassName,D,N,y.codeLensHeight,()=>this._resolveCodeLensesInViewportSoon())),B++;D.commit(E)})}),_.restore(this._editor)}_resolveCodeLensesInViewportSoon(){this._editor.getModel()&&this._resolveCodeLensesScheduler.schedule()}_resolveCodeLensesInViewport(){var f;(f=this._resolveCodeLensesPromise)===null||f===void 0||f.cancel(),this._resolveCodeLensesPromise=void 0;const S=this._editor.getModel();if(!S)return;const v=[],p=[];if(this._lenses.forEach(E=>{const N=E.computeIfNecessary(S);N&&(v.push(N),p.push(E))}),v.length===0)return;const _=Date.now(),y=(0,m.createCancelablePromise)(E=>{const N=v.map((D,M)=>{const B=new Array(D.length),O=D.map((T,A)=>!T.symbol.command&&typeof T.provider.resolveCodeLens=="function"?Promise.resolve(T.provider.resolveCodeLens(S,T.symbol,E)).then(P=>{B[A]=P},k.onUnexpectedExternalError):(B[A]=T.symbol,Promise.resolve(void 0)));return Promise.all(O).then(()=>{!E.isCancellationRequested&&!p[M].isDisposed()&&p[M].updateCommands(B)})});return Promise.all(N)});this._resolveCodeLensesPromise=y,this._resolveCodeLensesPromise.then(()=>{const E=this._resolveCodeLensesDebounce.update(S,Date.now()-_);this._resolveCodeLensesScheduler.delay=E,this._currentCodeLensModel&&this._codeLensCache.put(S,this._currentCodeLensModel),this._oldCodeLensModels.clear(),y===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)},E=>{(0,k.onUnexpectedError)(E),y===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)})}getModel(){return this._currentCodeLensModel}};l.ID="css.editor.codeLens",l=Ie([pe(1,a.ILanguageFeaturesService),pe(2,s.ILanguageFeatureDebounceService),pe(3,c.ICommandService),pe(4,d.INotificationService),pe(5,n.ICodeLensCache)],l),e.CodeLensContribution=l,(0,C.registerEditorContribution)(l.ID,l),(0,C.registerEditorAction)(class extends C.EditorAction{constructor(){super({id:"codelens.showLensesInCurrentLine",precondition:g.EditorContextKeys.hasCodeLensProvider,label:(0,o.localize)(0,null),alias:"Show CodeLens Commands For Current Line"})}run(f,S){return we(this,void 0,void 0,function*(){if(!S.hasModel())return;const v=f.get(r.IQuickInputService),p=f.get(c.ICommandService),_=f.get(d.INotificationService),y=S.getSelection().positionLineNumber,E=S.getContribution(l.ID);if(!E)return;const N=E.getModel();if(!N)return;const D=[];for(const B of N.lenses)B.symbol.command&&B.symbol.range.startLineNumber===y&&D.push({label:B.symbol.command.title,command:B.symbol.command});if(D.length===0)return;const M=yield v.pick(D,{canPickMany:!1});if(!!M){if(N.isDisposed)return yield p.executeCommand(this.id);try{yield p.executeCommand(M.command.id,...M.command.arguments||[])}catch(B){_.error(B)}}})}})}),define(te[299],ie([1,0,10,30,13,2,55,8,133,15,3,38,67,20,276,41]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ColorDetector=e.ColorDecorationInjectedTextMarker=void 0,e.ColorDecorationInjectedTextMarker=Object.create({});const d=500;let r=class Pi extends I.Disposable{constructor(a,l,h,f){super();this._editor=a,this._configurationService=l,this._languageFeaturesService=h,this._localToDispose=this._register(new I.DisposableStore),this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=new Set,this._ruleFactory=new C.DynamicCssRules(this._editor),this._colorDecorationClassRefs=this._register(new I.DisposableStore),this._debounceInformation=f.for(h.colorProvider,"Document Colors",{min:Pi.RECOMPUTE_TIME}),this._register(a.onDidChangeModel(()=>{this._isEnabled=this.isEnabled(),this.onModelChanged()})),this._register(a.onDidChangeModelLanguage(()=>this.onModelChanged())),this._register(h.colorProvider.onDidChange(()=>this.onModelChanged())),this._register(a.onDidChangeConfiguration(()=>{let S=this._isEnabled;this._isEnabled=this.isEnabled(),S!==this._isEnabled&&(this._isEnabled?this.onModelChanged():this.removeAllDecorations())})),this._timeoutTimer=null,this._computePromise=null,this._isEnabled=this.isEnabled(),this.onModelChanged()}isEnabled(){const a=this._editor.getModel();if(!a)return!1;const l=a.getLanguageId(),h=this._configurationService.getValue(l);if(h&&typeof h=="object"){const f=h.colorDecorators;if(f&&f.enable!==void 0&&!f.enable)return f.enable}return this._editor.getOption(17)}static get(a){return a.getContribution(this.ID)}dispose(){this.stop(),this.removeAllDecorations(),super.dispose()}onModelChanged(){if(this.stop(),!this._isEnabled)return;const a=this._editor.getModel();!a||!this._languageFeaturesService.colorProvider.has(a)||(this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{this._timeoutTimer||(this._timeoutTimer=new L.TimeoutTimer,this._timeoutTimer.cancelAndSet(()=>{this._timeoutTimer=null,this.beginCompute()},this._debounceInformation.get(a)))})),this.beginCompute())}beginCompute(){this._computePromise=(0,L.createCancelablePromise)(a=>we(this,void 0,void 0,function*(){const l=this._editor.getModel();if(!l)return Promise.resolve([]);const h=new w.StopWatch(!1),f=yield(0,o.getColors)(this._languageFeaturesService.colorProvider,l,a);return this._debounceInformation.update(l,h.elapsed()),f})),this._computePromise.then(a=>{this.updateDecorations(a),this.updateColorDecorators(a),this._computePromise=null},k.onUnexpectedError)}stop(){this._timeoutTimer&&(this._timeoutTimer.cancel(),this._timeoutTimer=null),this._computePromise&&(this._computePromise.cancel(),this._computePromise=null),this._localToDispose.clear()}updateDecorations(a){const l=a.map(h=>({range:{startLineNumber:h.colorInfo.range.startLineNumber,startColumn:h.colorInfo.range.startColumn,endLineNumber:h.colorInfo.range.endLineNumber,endColumn:h.colorInfo.range.endColumn},options:t.ModelDecorationOptions.EMPTY}));this._decorationsIds=this._editor.deltaDecorations(this._decorationsIds,l),this._colorDatas=new Map,this._decorationsIds.forEach((h,f)=>this._colorDatas.set(h,a[f]))}updateColorDecorators(a){this._colorDecorationClassRefs.clear();let l=[];for(let h=0;h<a.length&&l.length<d;h++){const{red:f,green:S,blue:v,alpha:p}=a[h].colorInfo.color,_=new m.RGBA(Math.round(f*255),Math.round(S*255),Math.round(v*255),p);let y=`rgba(${_.r}, ${_.g}, ${_.b}, ${_.a})`;const E=this._colorDecorationClassRefs.add(this._ruleFactory.createClassNameRef({backgroundColor:y}));l.push({range:{startLineNumber:a[h].colorInfo.range.startLineNumber,startColumn:a[h].colorInfo.range.startColumn,endLineNumber:a[h].colorInfo.range.endLineNumber,endColumn:a[h].colorInfo.range.endColumn},options:{description:"colorDetector",before:{content:b.noBreakWhitespace,inlineClassName:`${E.className} colorpicker-color-decoration`,inlineClassNameAffectsLetterSpacing:!0,attachedData:e.ColorDecorationInjectedTextMarker}}})}this._colorDecoratorIds=new Set(this._editor.deltaDecorations([...this._colorDecoratorIds],l))}removeAllDecorations(){this._decorationsIds=this._editor.deltaDecorations(this._decorationsIds,[]),this._colorDecoratorIds=new Set(this._editor.deltaDecorations([...this._colorDecoratorIds],[])),this._colorDecorationClassRefs.clear()}getColorData(a){const l=this._editor.getModel();if(!l)return null;const h=l.getDecorationsInRange(g.Range.fromPositions(a,a)).filter(f=>this._colorDatas.has(f.id));return h.length===0?null:this._colorDatas.get(h[0].id)}isColorDecorationId(a){return this._colorDecoratorIds.has(a)}};r.ID="editor.contrib.colorDetector",r.RECOMPUTE_TIME=1e3,r=Ie([pe(1,c.IConfigurationService),pe(2,i.ILanguageFeaturesService),pe(3,n.ILanguageFeatureDebounceService)],r),e.ColorDetector=r,(0,u.registerEditorContribution)(r.ID,r)}),define(te[720],ie([1,0,10,21,30,2,3,276,299,459,661,14]),function(q,e,L,m,k,I,w,b,C,u,g,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ColorHoverParticipant=e.ColorHover=void 0;class n{constructor(c,d,r,s){this.owner=c,this.range=d,this.model=r,this.provider=s,this.forceShowAtRange=!0}isValidForHoverAnchor(c){return c.type===1&&this.range.startColumn<=c.range.startColumn&&this.range.endColumn>=c.range.endColumn}}e.ColorHover=n;let i=class{constructor(c,d){this._editor=c,this._themeService=d,this.hoverOrdinal=1}computeSync(c,d){return[]}computeAsync(c,d,r){return L.AsyncIterableObject.fromPromise(this._computeAsync(c,d,r))}_computeAsync(c,d,r){return we(this,void 0,void 0,function*(){if(!this._editor.hasModel())return[];const s=C.ColorDetector.get(this._editor);if(!s)return[];for(const a of d){if(!s.isColorDecorationId(a.id))continue;const l=s.getColorData(a.range.getStartPosition());if(l)return[yield this._createColorHover(this._editor.getModel(),l.colorInfo,l.provider)]}return[]})}_createColorHover(c,d,r){return we(this,void 0,void 0,function*(){const s=c.getValueInRange(d.range),{red:a,green:l,blue:h,alpha:f}=d.color,S=new k.RGBA(Math.round(a*255),Math.round(l*255),Math.round(h*255),f),v=new k.Color(S),p=yield(0,b.getColorPresentations)(c,d,r,m.CancellationToken.None),_=new u.ColorPickerModel(v,[],0);return _.colorPresentations=p||[],_.guessColorPresentation(v,s),new n(this,w.Range.lift(d.range),_,r)})}renderHoverParts(c,d){if(d.length===0||!this._editor.hasModel())return I.Disposable.None;const r=new I.DisposableStore,s=d[0],a=this._editor.getModel(),l=s.model,h=r.add(new g.ColorPickerWidget(c.fragment,l,this._editor.getOption(129),this._themeService));c.setColorPicker(h);let f=new w.Range(s.range.startLineNumber,s.range.startColumn,s.range.endLineNumber,s.range.endColumn);const S=()=>{let p,_;if(l.presentation.textEdit){p=[l.presentation.textEdit],_=new w.Range(l.presentation.textEdit.range.startLineNumber,l.presentation.textEdit.range.startColumn,l.presentation.textEdit.range.endLineNumber,l.presentation.textEdit.range.endColumn);const y=this._editor.getModel()._setTrackedRange(null,_,3);this._editor.pushUndoStop(),this._editor.executeEdits("colorpicker",p),_=this._editor.getModel()._getTrackedRange(y)||_}else p=[{range:f,text:l.presentation.label,forceMoveMarkers:!1}],_=f.setEndPosition(f.endLineNumber,f.startColumn+l.presentation.label.length),this._editor.pushUndoStop(),this._editor.executeEdits("colorpicker",p);l.presentation.additionalTextEdits&&(p=[...l.presentation.additionalTextEdits],this._editor.executeEdits("colorpicker",p),c.hide()),this._editor.pushUndoStop(),f=_},v=p=>(0,b.getColorPresentations)(a,{range:f,color:{red:p.rgba.r/255,green:p.rgba.g/255,blue:p.rgba.b/255,alpha:p.rgba.a}},s.provider,m.CancellationToken.None).then(_=>{l.colorPresentations=_||[]});return r.add(l.onColorFlushed(p=>{v(p).then(S)})),r.add(l.onDidChangeColor(v)),r}};i=Ie([pe(1,t.IThemeService)],i),e.ColorHoverParticipant=i}),define(te[721],ie([1,0,2,16,15,11,3,22,38,460,376]),function(q,e,L,m,k,I,w,b,C,u){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DragAndDropController=void 0;function g(n){return m.isMacintosh?n.altKey:n.ctrlKey}class t extends L.Disposable{constructor(i){super();this._editor=i,this._register(this._editor.onMouseDown(o=>this._onEditorMouseDown(o))),this._register(this._editor.onMouseUp(o=>this._onEditorMouseUp(o))),this._register(this._editor.onMouseDrag(o=>this._onEditorMouseDrag(o))),this._register(this._editor.onMouseDrop(o=>this._onEditorMouseDrop(o))),this._register(this._editor.onMouseDropCanceled(()=>this._onEditorMouseDropCanceled())),this._register(this._editor.onKeyDown(o=>this.onEditorKeyDown(o))),this._register(this._editor.onKeyUp(o=>this.onEditorKeyUp(o))),this._register(this._editor.onDidBlurEditorWidget(()=>this.onEditorBlur())),this._register(this._editor.onDidBlurEditorText(()=>this.onEditorBlur())),this._dndDecorationIds=[],this._mouseDown=!1,this._modifierPressed=!1,this._dragSelection=null}onEditorBlur(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1}onEditorKeyDown(i){!this._editor.getOption(31)||this._editor.getOption(18)||(g(i)&&(this._modifierPressed=!0),this._mouseDown&&g(i)&&this._editor.updateOptions({mouseStyle:"copy"}))}onEditorKeyUp(i){!this._editor.getOption(31)||this._editor.getOption(18)||(g(i)&&(this._modifierPressed=!1),this._mouseDown&&i.keyCode===t.TRIGGER_KEY_VALUE&&this._editor.updateOptions({mouseStyle:"default"}))}_onEditorMouseDown(i){this._mouseDown=!0}_onEditorMouseUp(i){this._mouseDown=!1,this._editor.updateOptions({mouseStyle:"text"})}_onEditorMouseDrag(i){let o=i.target;if(this._dragSelection===null){let d=(this._editor.getSelections()||[]).filter(r=>o.position&&r.containsPosition(o.position));if(d.length===1)this._dragSelection=d[0];else return}g(i.event)?this._editor.updateOptions({mouseStyle:"copy"}):this._editor.updateOptions({mouseStyle:"default"}),o.position&&(this._dragSelection.containsPosition(o.position)?this._removeDecoration():this.showAt(o.position))}_onEditorMouseDropCanceled(){this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}_onEditorMouseDrop(i){if(i.target&&(this._hitContent(i.target)||this._hitMargin(i.target))&&i.target.position){let o=new I.Position(i.target.position.lineNumber,i.target.position.column);if(this._dragSelection===null){let c=null;if(i.event.shiftKey){let d=this._editor.getSelection();if(d){const{selectionStartLineNumber:r,selectionStartColumn:s}=d;c=[new b.Selection(r,s,o.lineNumber,o.column)]}}else c=(this._editor.getSelections()||[]).map(d=>d.containsPosition(o)?new b.Selection(o.lineNumber,o.column,o.lineNumber,o.column):d);this._editor.setSelections(c||[],"mouse",3)}else(!this._dragSelection.containsPosition(o)||(g(i.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(o)||this._dragSelection.getStartPosition().equals(o)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(t.ID,new u.DragAndDropCommand(this._dragSelection,o,g(i.event)||this._modifierPressed)),this._editor.pushUndoStop())}this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}showAt(i){let o=[{range:new w.Range(i.lineNumber,i.column,i.lineNumber,i.column),options:t._DECORATION_OPTIONS}];this._dndDecorationIds=this._editor.deltaDecorations(this._dndDecorationIds,o),this._editor.revealPosition(i,1)}_removeDecoration(){this._dndDecorationIds=this._editor.deltaDecorations(this._dndDecorationIds,[])}_hitContent(i){return i.type===6||i.type===7}_hitMargin(i){return i.type===2||i.type===3||i.type===4}dispose(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1,super.dispose()}}e.DragAndDropController=t,t.ID="editor.contrib.dragAndDrop",t.TRIGGER_KEY_VALUE=m.isMacintosh?6:5,t._DECORATION_OPTIONS=C.ModelDecorationOptions.register({description:"dnd-target",className:"dnd-target"}),(0,k.registerEditorContribution)(t.ID,t)}),define(te[722],ie([1,0,3,50,38,23,14]),function(q,e,L,m,k,I,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FindDecorations=void 0;class b{constructor(u){this._editor=u,this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null,this._startPosition=this._editor.getPosition()}dispose(){this._editor.deltaDecorations(this._allDecorations(),[]),this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}reset(){this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}getCount(){return this._decorations.length}getFindScope(){return this._findScopeDecorationIds[0]?this._editor.getModel().getDecorationRange(this._findScopeDecorationIds[0]):null}getFindScopes(){if(this._findScopeDecorationIds.length){const u=this._findScopeDecorationIds.map(g=>this._editor.getModel().getDecorationRange(g)).filter(g=>!!g);if(u.length)return u}return null}getStartPosition(){return this._startPosition}setStartPosition(u){this._startPosition=u,this.setCurrentFindMatch(null)}_getDecorationIndex(u){const g=this._decorations.indexOf(u);return g>=0?g+1:1}getCurrentMatchesPosition(u){let g=this._editor.getModel().getDecorationsInRange(u);for(const t of g){const n=t.options;if(n===b._FIND_MATCH_DECORATION||n===b._CURRENT_FIND_MATCH_DECORATION)return this._getDecorationIndex(t.id)}return 0}setCurrentFindMatch(u){let g=null,t=0;if(u)for(let n=0,i=this._decorations.length;n<i;n++){let o=this._editor.getModel().getDecorationRange(this._decorations[n]);if(u.equalsRange(o)){g=this._decorations[n],t=n+1;break}}return(this._highlightedDecorationId!==null||g!==null)&&this._editor.changeDecorations(n=>{if(this._highlightedDecorationId!==null&&(n.changeDecorationOptions(this._highlightedDecorationId,b._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),g!==null&&(this._highlightedDecorationId=g,n.changeDecorationOptions(this._highlightedDecorationId,b._CURRENT_FIND_MATCH_DECORATION)),this._rangeHighlightDecorationId!==null&&(n.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null),g!==null){let i=this._editor.getModel().getDecorationRange(g);if(i.startLineNumber!==i.endLineNumber&&i.endColumn===1){let o=i.endLineNumber-1,c=this._editor.getModel().getLineMaxColumn(o);i=new L.Range(i.startLineNumber,i.startColumn,o,c)}this._rangeHighlightDecorationId=n.addDecoration(i,b._RANGE_HIGHLIGHT_DECORATION)}}),t}set(u,g){this._editor.changeDecorations(t=>{let n=b._FIND_MATCH_DECORATION,i=[];if(u.length>1e3){n=b._FIND_MATCH_NO_OVERVIEW_DECORATION;const c=this._editor.getModel().getLineCount(),r=this._editor.getLayoutInfo().height/c,s=Math.max(2,Math.ceil(3/r));let a=u[0].range.startLineNumber,l=u[0].range.endLineNumber;for(let h=1,f=u.length;h<f;h++){const S=u[h].range;l+s>=S.startLineNumber?S.endLineNumber>l&&(l=S.endLineNumber):(i.push({range:new L.Range(a,1,l,1),options:b._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),a=S.startLineNumber,l=S.endLineNumber)}i.push({range:new L.Range(a,1,l,1),options:b._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}let o=new Array(u.length);for(let c=0,d=u.length;c<d;c++)o[c]={range:u[c].range,options:n};this._decorations=t.deltaDecorations(this._decorations,o),this._overviewRulerApproximateDecorations=t.deltaDecorations(this._overviewRulerApproximateDecorations,i),this._rangeHighlightDecorationId&&(t.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null),this._findScopeDecorationIds.length&&(this._findScopeDecorationIds.forEach(c=>t.removeDecoration(c)),this._findScopeDecorationIds=[]),(g==null?void 0:g.length)&&(this._findScopeDecorationIds=g.map(c=>t.addDecoration(c,b._FIND_SCOPE_DECORATION)))})}matchBeforePosition(u){if(this._decorations.length===0)return null;for(let g=this._decorations.length-1;g>=0;g--){let t=this._decorations[g],n=this._editor.getModel().getDecorationRange(t);if(!(!n||n.endLineNumber>u.lineNumber)){if(n.endLineNumber<u.lineNumber)return n;if(!(n.endColumn>u.column))return n}}return this._editor.getModel().getDecorationRange(this._decorations[this._decorations.length-1])}matchAfterPosition(u){if(this._decorations.length===0)return null;for(let g=0,t=this._decorations.length;g<t;g++){let n=this._decorations[g],i=this._editor.getModel().getDecorationRange(n);if(!(!i||i.startLineNumber<u.lineNumber)){if(i.startLineNumber>u.lineNumber)return i;if(!(i.startColumn<u.column))return i}}return this._editor.getModel().getDecorationRange(this._decorations[0])}_allDecorations(){let u=[];return u=u.concat(this._decorations),u=u.concat(this._overviewRulerApproximateDecorations),this._findScopeDecorationIds.length&&u.push(...this._findScopeDecorationIds),this._rangeHighlightDecorationId&&u.push(this._rangeHighlightDecorationId),u}}e.FindDecorations=b,b._CURRENT_FIND_MATCH_DECORATION=k.ModelDecorationOptions.register({description:"current-find-match",stickiness:1,zIndex:13,className:"currentFindMatch",showIfCollapsed:!0,overviewRuler:{color:(0,w.themeColorFromId)(I.overviewRulerFindMatchForeground),position:m.OverviewRulerLane.Center},minimap:{color:(0,w.themeColorFromId)(I.minimapFindMatch),position:m.MinimapPosition.Inline}}),b._FIND_MATCH_DECORATION=k.ModelDecorationOptions.register({description:"find-match",stickiness:1,zIndex:10,className:"findMatch",showIfCollapsed:!0,overviewRuler:{color:(0,w.themeColorFromId)(I.overviewRulerFindMatchForeground),position:m.OverviewRulerLane.Center},minimap:{color:(0,w.themeColorFromId)(I.minimapFindMatch),position:m.MinimapPosition.Inline}}),b._FIND_MATCH_NO_OVERVIEW_DECORATION=k.ModelDecorationOptions.register({description:"find-match-no-overview",stickiness:1,className:"findMatch",showIfCollapsed:!0}),b._FIND_MATCH_ONLY_OVERVIEW_DECORATION=k.ModelDecorationOptions.register({description:"find-match-only-overview",stickiness:1,overviewRuler:{color:(0,w.themeColorFromId)(I.overviewRulerFindMatchForeground),position:m.OverviewRulerLane.Center}}),b._RANGE_HIGHLIGHT_DECORATION=k.ModelDecorationOptions.register({description:"find-range-highlight",stickiness:1,className:"rangeHighlight",isWholeLine:!0}),b._FIND_SCOPE_DECORATION=k.ModelDecorationOptions.register({description:"find-scope",className:"findScope",isWholeLine:!0})}),define(te[165],ie([1,0,18,10,2,100,11,3,22,153,722,461,462,17]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FindModelBoundToEditorModel=e.MATCHES_LIMIT=e.FIND_IDS=e.TogglePreserveCaseKeybinding=e.ToggleSearchScopeKeybinding=e.ToggleRegexKeybinding=e.ToggleWholeWordKeybinding=e.ToggleCaseSensitiveKeybinding=e.CONTEXT_REPLACE_INPUT_FOCUSED=e.CONTEXT_FIND_INPUT_FOCUSED=e.CONTEXT_FIND_WIDGET_NOT_VISIBLE=e.CONTEXT_FIND_WIDGET_VISIBLE=void 0,e.CONTEXT_FIND_WIDGET_VISIBLE=new i.RawContextKey("findWidgetVisible",!1),e.CONTEXT_FIND_WIDGET_NOT_VISIBLE=e.CONTEXT_FIND_WIDGET_VISIBLE.toNegated(),e.CONTEXT_FIND_INPUT_FOCUSED=new i.RawContextKey("findInputFocussed",!1),e.CONTEXT_REPLACE_INPUT_FOCUSED=new i.RawContextKey("replaceInputFocussed",!1),e.ToggleCaseSensitiveKeybinding={primary:512|33,mac:{primary:2048|512|33}},e.ToggleWholeWordKeybinding={primary:512|53,mac:{primary:2048|512|53}},e.ToggleRegexKeybinding={primary:512|48,mac:{primary:2048|512|48}},e.ToggleSearchScopeKeybinding={primary:512|42,mac:{primary:2048|512|42}},e.TogglePreserveCaseKeybinding={primary:512|46,mac:{primary:2048|512|46}},e.FIND_IDS={StartFindAction:"actions.find",StartFindWithSelection:"actions.findWithSelection",StartFindWithArgs:"editor.actions.findWithArgs",NextMatchFindAction:"editor.action.nextMatchFindAction",PreviousMatchFindAction:"editor.action.previousMatchFindAction",NextSelectionMatchFindAction:"editor.action.nextSelectionMatchFindAction",PreviousSelectionMatchFindAction:"editor.action.previousSelectionMatchFindAction",StartFindReplaceAction:"editor.action.startFindReplaceAction",CloseFindWidgetCommand:"closeFindWidget",ToggleCaseSensitiveCommand:"toggleFindCaseSensitive",ToggleWholeWordCommand:"toggleFindWholeWord",ToggleRegexCommand:"toggleFindRegex",ToggleSearchScopeCommand:"toggleFindInSelection",TogglePreserveCaseCommand:"togglePreserveCase",ReplaceOneAction:"editor.action.replaceOne",ReplaceAllAction:"editor.action.replaceAll",SelectAllMatchesAction:"editor.action.selectAllMatches"},e.MATCHES_LIMIT=19999;const o=240;class c{constructor(r,s){this._toDispose=new k.DisposableStore,this._editor=r,this._state=s,this._isDisposed=!1,this._startSearchingTimer=new m.TimeoutTimer,this._decorations=new g.FindDecorations(r),this._toDispose.add(this._decorations),this._updateDecorationsScheduler=new m.RunOnceScheduler(()=>this.research(!1),100),this._toDispose.add(this._updateDecorationsScheduler),this._toDispose.add(this._editor.onDidChangeCursorPosition(a=>{(a.reason===3||a.reason===5||a.reason===6)&&this._decorations.setStartPosition(this._editor.getPosition())})),this._ignoreModelContentChanged=!1,this._toDispose.add(this._editor.onDidChangeModelContent(a=>{this._ignoreModelContentChanged||(a.isFlush&&this._decorations.reset(),this._decorations.setStartPosition(this._editor.getPosition()),this._updateDecorationsScheduler.schedule())})),this._toDispose.add(this._state.onFindReplaceStateChange(a=>this._onStateChanged(a))),this.research(!1,this._state.searchScope)}dispose(){this._isDisposed=!0,(0,k.dispose)(this._startSearchingTimer),this._toDispose.dispose()}_onStateChanged(r){this._isDisposed||!this._editor.hasModel()||(r.searchString||r.isReplaceRevealed||r.isRegex||r.wholeWord||r.matchCase||r.searchScope)&&(this._editor.getModel().isTooLargeForSyncing()?(this._startSearchingTimer.cancel(),this._startSearchingTimer.setIfNotSet(()=>{r.searchScope?this.research(r.moveCursor,this._state.searchScope):this.research(r.moveCursor)},o)):r.searchScope?this.research(r.moveCursor,this._state.searchScope):this.research(r.moveCursor))}static _getSearchRange(r,s){return s||r.getFullModelRange()}research(r,s){let a=null;typeof s!="undefined"?s!==null&&(Array.isArray(s)?a=s:a=[s]):a=this._decorations.getFindScopes(),a!==null&&(a=a.map(S=>{if(S.startLineNumber!==S.endLineNumber){let v=S.endLineNumber;return S.endColumn===1&&(v=v-1),new b.Range(S.startLineNumber,1,v,this._editor.getModel().getLineMaxColumn(v))}return S}));let l=this._findMatches(a,!1,e.MATCHES_LIMIT);this._decorations.set(l,a);const h=this._editor.getSelection();let f=this._decorations.getCurrentMatchesPosition(h);if(f===0&&l.length>0){const S=(0,L.findFirstInSorted)(l.map(v=>v.range),v=>b.Range.compareRangesUsingStarts(v,h)>=0);f=S>0?S-1+1:f}this._state.changeMatchInfo(f,this._decorations.getCount(),void 0),r&&this._editor.getOption(35).cursorMoveOnType&&this._moveToNextMatch(this._decorations.getStartPosition())}_hasMatches(){return this._state.matchesCount>0}_cannotFind(){if(!this._hasMatches()){let r=this._decorations.getFindScope();return r&&this._editor.revealRangeInCenterIfOutsideViewport(r,0),!0}return!1}_setCurrentFindMatch(r){let s=this._decorations.setCurrentFindMatch(r);this._state.changeMatchInfo(s,this._decorations.getCount(),r),this._editor.setSelection(r),this._editor.revealRangeInCenterIfOutsideViewport(r,0)}_prevSearchPosition(r){let s=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0),{lineNumber:a,column:l}=r,h=this._editor.getModel();return s||l===1?(a===1?a=h.getLineCount():a--,l=h.getLineMaxColumn(a)):l--,new w.Position(a,l)}_moveToPrevMatch(r,s=!1){if(!this._state.canNavigateBack()){const _=this._decorations.matchAfterPosition(r);_&&this._setCurrentFindMatch(_);return}if(this._decorations.getCount()<e.MATCHES_LIMIT){let _=this._decorations.matchBeforePosition(r);_&&_.isEmpty()&&_.getStartPosition().equals(r)&&(r=this._prevSearchPosition(r),_=this._decorations.matchBeforePosition(r)),_&&this._setCurrentFindMatch(_);return}if(this._cannotFind())return;let a=this._decorations.getFindScope(),l=c._getSearchRange(this._editor.getModel(),a);l.getEndPosition().isBefore(r)&&(r=l.getEndPosition()),r.isBefore(l.getStartPosition())&&(r=l.getEndPosition());let{lineNumber:h,column:f}=r,S=this._editor.getModel(),v=new w.Position(h,f),p=S.findPreviousMatch(this._state.searchString,v,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(117):null,!1);if(p&&p.range.isEmpty()&&p.range.getStartPosition().equals(v)&&(v=this._prevSearchPosition(v),p=S.findPreviousMatch(this._state.searchString,v,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(117):null,!1)),!!p){if(!s&&!l.containsRange(p.range))return this._moveToPrevMatch(p.range.getStartPosition(),!0);this._setCurrentFindMatch(p.range)}}moveToPrevMatch(){this._moveToPrevMatch(this._editor.getSelection().getStartPosition())}_nextSearchPosition(r){let s=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0),{lineNumber:a,column:l}=r,h=this._editor.getModel();return s||l===h.getLineMaxColumn(a)?(a===h.getLineCount()?a=1:a++,l=1):l++,new w.Position(a,l)}_moveToNextMatch(r){if(!this._state.canNavigateForward()){const a=this._decorations.matchBeforePosition(r);a&&this._setCurrentFindMatch(a);return}if(this._decorations.getCount()<e.MATCHES_LIMIT){let a=this._decorations.matchAfterPosition(r);a&&a.isEmpty()&&a.getStartPosition().equals(r)&&(r=this._nextSearchPosition(r),a=this._decorations.matchAfterPosition(r)),a&&this._setCurrentFindMatch(a);return}let s=this._getNextMatch(r,!1,!0);s&&this._setCurrentFindMatch(s.range)}_getNextMatch(r,s,a,l=!1){if(this._cannotFind())return null;let h=this._decorations.getFindScope(),f=c._getSearchRange(this._editor.getModel(),h);f.getEndPosition().isBefore(r)&&(r=f.getStartPosition()),r.isBefore(f.getStartPosition())&&(r=f.getStartPosition());let{lineNumber:S,column:v}=r,p=this._editor.getModel(),_=new w.Position(S,v),y=p.findNextMatch(this._state.searchString,_,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(117):null,s);return a&&y&&y.range.isEmpty()&&y.range.getStartPosition().equals(_)&&(_=this._nextSearchPosition(_),y=p.findNextMatch(this._state.searchString,_,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(117):null,s)),y?!l&&!f.containsRange(y.range)?this._getNextMatch(y.range.getEndPosition(),s,a,!0):y:null}moveToNextMatch(){this._moveToNextMatch(this._editor.getSelection().getEndPosition())}_getReplacePattern(){return this._state.isRegex?(0,n.parseReplaceString)(this._state.replaceString):n.ReplacePattern.fromStaticValue(this._state.replaceString)}replace(){if(!this._hasMatches())return;let r=this._getReplacePattern(),s=this._editor.getSelection(),a=this._getNextMatch(s.getStartPosition(),!0,!1);if(a)if(s.equalsRange(a.range)){let l=r.buildReplaceString(a.matches,this._state.preserveCase),h=new I.ReplaceCommand(s,l);this._executeEditorCommand("replace",h),this._decorations.setStartPosition(new w.Position(s.startLineNumber,s.startColumn+l.length)),this.research(!0)}else this._decorations.setStartPosition(this._editor.getPosition()),this._setCurrentFindMatch(a.range)}_findMatches(r,s,a){const l=(r||[null]).map(h=>c._getSearchRange(this._editor.getModel(),h));return this._editor.getModel().findMatches(this._state.searchString,l,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(117):null,s,a)}replaceAll(){if(!this._hasMatches())return;const r=this._decorations.getFindScopes();r===null&&this._state.matchesCount>=e.MATCHES_LIMIT?this._largeReplaceAll():this._regularReplaceAll(r),this.research(!1)}_largeReplaceAll(){const s=new u.SearchParams(this._state.searchString,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(117):null).parseSearchRequest();if(!s)return;let a=s.regex;if(!a.multiline){let y="mu";a.ignoreCase&&(y+="i"),a.global&&(y+="g"),a=new RegExp(a.source,y)}const l=this._editor.getModel(),h=l.getValue(1),f=l.getFullModelRange(),S=this._getReplacePattern();let v;const p=this._state.preserveCase;S.hasReplacementPatterns||p?v=h.replace(a,function(){return S.buildReplaceString(arguments,p)}):v=h.replace(a,S.buildReplaceString(null,p));let _=new I.ReplaceCommandThatPreservesSelection(f,v,this._editor.getSelection());this._executeEditorCommand("replaceAll",_)}_regularReplaceAll(r){const s=this._getReplacePattern();let a=this._findMatches(r,s.hasReplacementPatterns||this._state.preserveCase,1073741824),l=[];for(let f=0,S=a.length;f<S;f++)l[f]=s.buildReplaceString(a[f].matches,this._state.preserveCase);let h=new t.ReplaceAllCommand(this._editor.getSelection(),a.map(f=>f.range),l);this._executeEditorCommand("replaceAll",h)}selectAllMatches(){if(!this._hasMatches())return;let r=this._decorations.getFindScopes(),a=this._findMatches(r,!1,1073741824).map(h=>new C.Selection(h.range.startLineNumber,h.range.startColumn,h.range.endLineNumber,h.range.endColumn)),l=this._editor.getSelection();for(let h=0,f=a.length;h<f;h++)if(a[h].equalsRange(l)){a=[l].concat(a.slice(0,h)).concat(a.slice(h+1));break}this._editor.setSelections(a)}_executeEditorCommand(r,s){try{this._ignoreModelContentChanged=!0,this._editor.pushUndoStop(),this._editor.executeCommand(r,s),this._editor.pushUndoStop()}finally{this._ignoreModelContentChanged=!1}}}e.FindModelBoundToEditorModel=c}),define(te[723],ie([1,0,7,268,62,10,165,23,14]),function(q,e,L,m,k,I,w,b,C){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FindOptionsWidget=void 0;class u extends k.Widget{constructor(t,n,i,o){super();this._hideSoon=this._register(new I.RunOnceScheduler(()=>this._hide(),2e3)),this._isVisible=!1,this._editor=t,this._state=n,this._keybindingService=i,this._domNode=document.createElement("div"),this._domNode.className="findOptionsWidget",this._domNode.style.display="none",this._domNode.style.top="10px",this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true");const c=o.getColorTheme().getColor(b.inputActiveOptionBorder),d=o.getColorTheme().getColor(b.inputActiveOptionForeground),r=o.getColorTheme().getColor(b.inputActiveOptionBackground);this.caseSensitive=this._register(new m.CaseSensitiveCheckbox({appendTitle:this._keybindingLabelFor(w.FIND_IDS.ToggleCaseSensitiveCommand),isChecked:this._state.matchCase,inputActiveOptionBorder:c,inputActiveOptionForeground:d,inputActiveOptionBackground:r})),this._domNode.appendChild(this.caseSensitive.domNode),this._register(this.caseSensitive.onChange(()=>{this._state.change({matchCase:this.caseSensitive.checked},!1)})),this.wholeWords=this._register(new m.WholeWordsCheckbox({appendTitle:this._keybindingLabelFor(w.FIND_IDS.ToggleWholeWordCommand),isChecked:this._state.wholeWord,inputActiveOptionBorder:c,inputActiveOptionForeground:d,inputActiveOptionBackground:r})),this._domNode.appendChild(this.wholeWords.domNode),this._register(this.wholeWords.onChange(()=>{this._state.change({wholeWord:this.wholeWords.checked},!1)})),this.regex=this._register(new m.RegexCheckbox({appendTitle:this._keybindingLabelFor(w.FIND_IDS.ToggleRegexCommand),isChecked:this._state.isRegex,inputActiveOptionBorder:c,inputActiveOptionForeground:d,inputActiveOptionBackground:r})),this._domNode.appendChild(this.regex.domNode),this._register(this.regex.onChange(()=>{this._state.change({isRegex:this.regex.checked},!1)})),this._editor.addOverlayWidget(this),this._register(this._state.onFindReplaceStateChange(s=>{let a=!1;s.isRegex&&(this.regex.checked=this._state.isRegex,a=!0),s.wholeWord&&(this.wholeWords.checked=this._state.wholeWord,a=!0),s.matchCase&&(this.caseSensitive.checked=this._state.matchCase,a=!0),!this._state.isRevealed&&a&&this._revealTemporarily()})),this._register(L.addDisposableNonBubblingMouseOutListener(this._domNode,s=>this._onMouseOut())),this._register(L.addDisposableListener(this._domNode,"mouseover",s=>this._onMouseOver())),this._applyTheme(o.getColorTheme()),this._register(o.onDidColorThemeChange(this._applyTheme.bind(this)))}_keybindingLabelFor(t){let n=this._keybindingService.lookupKeybinding(t);return n?` (${n.getLabel()})`:""}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return u.ID}getDomNode(){return this._domNode}getPosition(){return{preference:0}}highlightFindOptions(){this._revealTemporarily()}_revealTemporarily(){this._show(),this._hideSoon.schedule()}_onMouseOut(){this._hideSoon.schedule()}_onMouseOver(){this._hideSoon.cancel()}_show(){this._isVisible||(this._isVisible=!0,this._domNode.style.display="block")}_hide(){!this._isVisible||(this._isVisible=!1,this._domNode.style.display="none")}_applyTheme(t){let n={inputActiveOptionBorder:t.getColor(b.inputActiveOptionBorder),inputActiveOptionForeground:t.getColor(b.inputActiveOptionForeground),inputActiveOptionBackground:t.getColor(b.inputActiveOptionBackground)};this.caseSensitive.style(n),this.wholeWords.style(n),this.regex.style(n)}}e.FindOptionsWidget=u,u.ID="editor.contrib.findOptionsWidget",(0,C.registerThemingParticipant)((g,t)=>{const n=g.getColor(b.editorWidgetBackground);n&&t.addRule(`.monaco-editor .findOptionsWidget { background-color: ${n}; }`);const i=g.getColor(b.editorWidgetForeground);i&&t.addRule(`.monaco-editor .findOptionsWidget { color: ${i}; }`);const o=g.getColor(b.widgetShadow);o&&t.addRule(`.monaco-editor .findOptionsWidget { box-shadow: 0 0 8px 2px ${o}; }`);const c=g.getColor(b.contrastBorder);c&&t.addRule(`.monaco-editor .findOptionsWidget { border: 2px solid ${c}; }`)})}),define(te[724],ie([1,0,4,2,3,165]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FindReplaceState=void 0;function w(C,u){return C===1?!0:C===2?!1:u}class b extends m.Disposable{constructor(){super();this._onFindReplaceStateChange=this._register(new L.Emitter),this.onFindReplaceStateChange=this._onFindReplaceStateChange.event,this._searchString="",this._replaceString="",this._isRevealed=!1,this._isReplaceRevealed=!1,this._isRegex=!1,this._isRegexOverride=0,this._wholeWord=!1,this._wholeWordOverride=0,this._matchCase=!1,this._matchCaseOverride=0,this._preserveCase=!1,this._preserveCaseOverride=0,this._searchScope=null,this._matchesPosition=0,this._matchesCount=0,this._currentMatch=null,this._loop=!0,this._isSearching=!1,this._filters=null}get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return w(this._isRegexOverride,this._isRegex)}get wholeWord(){return w(this._wholeWordOverride,this._wholeWord)}get matchCase(){return w(this._matchCaseOverride,this._matchCase)}get preserveCase(){return w(this._preserveCaseOverride,this._preserveCase)}get actualIsRegex(){return this._isRegex}get actualWholeWord(){return this._wholeWord}get actualMatchCase(){return this._matchCase}get actualPreserveCase(){return this._preserveCase}get searchScope(){return this._searchScope}get matchesPosition(){return this._matchesPosition}get matchesCount(){return this._matchesCount}get currentMatch(){return this._currentMatch}changeMatchInfo(u,g,t){let n={moveCursor:!1,updateHistory:!1,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1},i=!1;g===0&&(u=0),u>g&&(u=g),this._matchesPosition!==u&&(this._matchesPosition=u,n.matchesPosition=!0,i=!0),this._matchesCount!==g&&(this._matchesCount=g,n.matchesCount=!0,i=!0),typeof t!="undefined"&&(k.Range.equalsRange(this._currentMatch,t)||(this._currentMatch=t,n.currentMatch=!0,i=!0)),i&&this._onFindReplaceStateChange.fire(n)}change(u,g,t=!0){var n;let i={moveCursor:g,updateHistory:t,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1},o=!1;const c=this.isRegex,d=this.wholeWord,r=this.matchCase,s=this.preserveCase;typeof u.searchString!="undefined"&&this._searchString!==u.searchString&&(this._searchString=u.searchString,i.searchString=!0,o=!0),typeof u.replaceString!="undefined"&&this._replaceString!==u.replaceString&&(this._replaceString=u.replaceString,i.replaceString=!0,o=!0),typeof u.isRevealed!="undefined"&&this._isRevealed!==u.isRevealed&&(this._isRevealed=u.isRevealed,i.isRevealed=!0,o=!0),typeof u.isReplaceRevealed!="undefined"&&this._isReplaceRevealed!==u.isReplaceRevealed&&(this._isReplaceRevealed=u.isReplaceRevealed,i.isReplaceRevealed=!0,o=!0),typeof u.isRegex!="undefined"&&(this._isRegex=u.isRegex),typeof u.wholeWord!="undefined"&&(this._wholeWord=u.wholeWord),typeof u.matchCase!="undefined"&&(this._matchCase=u.matchCase),typeof u.preserveCase!="undefined"&&(this._preserveCase=u.preserveCase),typeof u.searchScope!="undefined"&&(((n=u.searchScope)===null||n===void 0?void 0:n.every(a=>{var l;return(l=this._searchScope)===null||l===void 0?void 0:l.some(h=>!k.Range.equalsRange(h,a))}))||(this._searchScope=u.searchScope,i.searchScope=!0,o=!0)),typeof u.loop!="undefined"&&this._loop!==u.loop&&(this._loop=u.loop,i.loop=!0,o=!0),typeof u.isSearching!="undefined"&&this._isSearching!==u.isSearching&&(this._isSearching=u.isSearching,i.isSearching=!0,o=!0),typeof u.filters!="undefined"&&(this._filters?this._filters.update(u.filters):this._filters=u.filters,i.filters=!0,o=!0),this._isRegexOverride=typeof u.isRegexOverride!="undefined"?u.isRegexOverride:0,this._wholeWordOverride=typeof u.wholeWordOverride!="undefined"?u.wholeWordOverride:0,this._matchCaseOverride=typeof u.matchCaseOverride!="undefined"?u.matchCaseOverride:0,this._preserveCaseOverride=typeof u.preserveCaseOverride!="undefined"?u.preserveCaseOverride:0,c!==this.isRegex&&(o=!0,i.isRegex=!0),d!==this.wholeWord&&(o=!0,i.wholeWord=!0),r!==this.matchCase&&(o=!0,i.matchCase=!0),s!==this.preserveCase&&(o=!0,i.preserveCase=!0),o&&this._onFindReplaceStateChange.fire(i)}canNavigateBack(){return this.canNavigateInLoop()||this.matchesPosition!==1}canNavigateForward(){return this.canNavigateInLoop()||this.matchesPosition<this.matchesCount}canNavigateInLoop(){return this._loop||this.matchesCount>=I.MATCHES_LIMIT}}e.FindReplaceState=b}),define(te[725],ie([1,0,7,46,174,116,62,10,28,13,2,16,8,3,165,537,283,605,23,74,14,377]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s,a,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SimpleButton=e.FindWidget=e.FindWidgetViewZone=e.NLS_NO_RESULTS=e.NLS_MATCHES_LOCATION=e.findNextMatchIcon=e.findPreviousMatchIcon=e.findReplaceAllIcon=e.findReplaceIcon=void 0;const h=(0,a.registerIcon)("find-selection",C.Codicon.selection,c.localize(0,null)),f=(0,a.registerIcon)("find-collapsed",C.Codicon.chevronRight,c.localize(1,null)),S=(0,a.registerIcon)("find-expanded",C.Codicon.chevronDown,c.localize(2,null));e.findReplaceIcon=(0,a.registerIcon)("find-replace",C.Codicon.replace,c.localize(3,null)),e.findReplaceAllIcon=(0,a.registerIcon)("find-replace-all",C.Codicon.replaceAll,c.localize(4,null)),e.findPreviousMatchIcon=(0,a.registerIcon)("find-previous-match",C.Codicon.arrowUp,c.localize(5,null)),e.findNextMatchIcon=(0,a.registerIcon)("find-next-match",C.Codicon.arrowDown,c.localize(6,null));const v=c.localize(7,null),p=c.localize(8,null),_=c.localize(9,null),y=c.localize(10,null),E=c.localize(11,null),N=c.localize(12,null),D=c.localize(13,null),M=c.localize(14,null),B=c.localize(15,null),O=c.localize(16,null),T=c.localize(17,null),A=c.localize(18,null,o.MATCHES_LIMIT);e.NLS_MATCHES_LOCATION=c.localize(19,null),e.NLS_NO_RESULTS=c.localize(20,null);const P=419,W=275-54;let R=69;const z=33,j="ctrlEnterReplaceAll.windows.donotask",$=t.isMacintosh?256:2048;class G{constructor(K){this.afterLineNumber=K,this.heightInPx=z,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}}e.FindWidgetViewZone=G;function J(V,K,X){const oe=!!K.match(/\n/);if(X&&oe&&X.selectionStart>0){V.stopPropagation();return}}function re(V,K,X){const oe=!!K.match(/\n/);if(X&&oe&&X.selectionEnd<X.value.length){V.stopPropagation();return}}class se extends w.Widget{constructor(K,X,oe,ae,ee,ue,le,x,H){super();this._cachedHeight=null,this._revealTimeouts=[],this._codeEditor=K,this._controller=X,this._state=oe,this._contextViewProvider=ae,this._keybindingService=ee,this._contextKeyService=ue,this._storageService=x,this._notificationService=H,this._ctrlEnterReplaceAllWarningPrompted=!!x.getBoolean(j,0),this._isVisible=!1,this._isReplaceVisible=!1,this._ignoreChangeEvent=!1,this._updateHistoryDelayer=new b.Delayer(500),this._register((0,g.toDisposable)(()=>this._updateHistoryDelayer.cancel())),this._register(this._state.onFindReplaceStateChange(U=>this._onStateChanged(U))),this._buildDomNode(),this._updateButtons(),this._tryUpdateWidgetWidth(),this._findInput.inputBox.layout(),this._register(this._codeEditor.onDidChangeConfiguration(U=>{if(U.hasChanged(81)&&(this._codeEditor.getOption(81)&&this._state.change({isReplaceRevealed:!1},!1),this._updateButtons()),U.hasChanged(131)&&this._tryUpdateWidgetWidth(),U.hasChanged(2)&&this.updateAccessibilitySupport(),U.hasChanged(35)){const Q=this._codeEditor.getOption(35).addExtraSpaceOnTop;Q&&!this._viewZone&&(this._viewZone=new G(0),this._showViewZone()),!Q&&this._viewZone&&this._removeViewZone()}})),this.updateAccessibilitySupport(),this._register(this._codeEditor.onDidChangeCursorSelection(()=>{this._isVisible&&this._updateToggleSelectionFindButton()})),this._register(this._codeEditor.onDidFocusEditorWidget(()=>we(this,void 0,void 0,function*(){if(this._isVisible){let U=yield this._controller.getGlobalBufferTerm();U&&U!==this._state.searchString&&(this._state.change({searchString:U},!1),this._findInput.select())}}))),this._findInputFocused=o.CONTEXT_FIND_INPUT_FOCUSED.bindTo(ue),this._findFocusTracker=this._register(L.trackFocus(this._findInput.inputBox.inputElement)),this._register(this._findFocusTracker.onDidFocus(()=>{this._findInputFocused.set(!0),this._updateSearchScope()})),this._register(this._findFocusTracker.onDidBlur(()=>{this._findInputFocused.set(!1)})),this._replaceInputFocused=o.CONTEXT_REPLACE_INPUT_FOCUSED.bindTo(ue),this._replaceFocusTracker=this._register(L.trackFocus(this._replaceInput.inputBox.inputElement)),this._register(this._replaceFocusTracker.onDidFocus(()=>{this._replaceInputFocused.set(!0),this._updateSearchScope()})),this._register(this._replaceFocusTracker.onDidBlur(()=>{this._replaceInputFocused.set(!1)})),this._codeEditor.addOverlayWidget(this),this._codeEditor.getOption(35).addExtraSpaceOnTop&&(this._viewZone=new G(0)),this._applyTheme(le.getColorTheme()),this._register(le.onDidColorThemeChange(this._applyTheme.bind(this))),this._register(this._codeEditor.onDidChangeModel(()=>{!this._isVisible||(this._viewZoneId=void 0)})),this._register(this._codeEditor.onDidScrollChange(U=>{if(U.scrollTopChanged){this._layoutViewZone();return}setTimeout(()=>{this._layoutViewZone()},0)}))}getId(){return se.ID}getDomNode(){return this._domNode}getPosition(){return this._isVisible?{preference:0}:null}_onStateChanged(K){if(K.searchString){try{this._ignoreChangeEvent=!0,this._findInput.setValue(this._state.searchString)}finally{this._ignoreChangeEvent=!1}this._updateButtons()}if(K.replaceString&&(this._replaceInput.inputBox.value=this._state.replaceString),K.isRevealed&&(this._state.isRevealed?this._reveal():this._hide(!0)),K.isReplaceRevealed&&(this._state.isReplaceRevealed?!this._codeEditor.getOption(81)&&!this._isReplaceVisible&&(this._isReplaceVisible=!0,this._replaceInput.width=L.getTotalWidth(this._findInput.domNode),this._updateButtons(),this._replaceInput.inputBox.layout()):this._isReplaceVisible&&(this._isReplaceVisible=!1,this._updateButtons())),(K.isRevealed||K.isReplaceRevealed)&&(this._state.isRevealed||this._state.isReplaceRevealed)&&this._tryUpdateHeight()&&this._showViewZone(),K.isRegex&&this._findInput.setRegex(this._state.isRegex),K.wholeWord&&this._findInput.setWholeWords(this._state.wholeWord),K.matchCase&&this._findInput.setCaseSensitive(this._state.matchCase),K.preserveCase&&this._replaceInput.setPreserveCase(this._state.preserveCase),K.searchScope&&(this._state.searchScope?this._toggleSelectionFind.checked=!0:this._toggleSelectionFind.checked=!1,this._updateToggleSelectionFindButton()),K.searchString||K.matchesCount||K.matchesPosition){let X=this._state.searchString.length>0&&this._state.matchesCount===0;this._domNode.classList.toggle("no-results",X),this._updateMatchesCount(),this._updateButtons()}(K.searchString||K.currentMatch)&&this._layoutViewZone(),K.updateHistory&&this._delayedUpdateHistory(),K.loop&&this._updateButtons()}_delayedUpdateHistory(){this._updateHistoryDelayer.trigger(this._updateHistory.bind(this)).then(void 0,u.onUnexpectedError)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){this._matchesCount.style.minWidth=R+"px",this._state.matchesCount>=o.MATCHES_LIMIT?this._matchesCount.title=A:this._matchesCount.title="",this._matchesCount.firstChild&&this._matchesCount.removeChild(this._matchesCount.firstChild);let K;if(this._state.matchesCount>0){let X=String(this._state.matchesCount);this._state.matchesCount>=o.MATCHES_LIMIT&&(X+="+");let oe=String(this._state.matchesPosition);oe==="0"&&(oe="?"),K=n.format(e.NLS_MATCHES_LOCATION,oe,X)}else K=e.NLS_NO_RESULTS;this._matchesCount.appendChild(document.createTextNode(K)),(0,m.alert)(this._getAriaLabel(K,this._state.currentMatch,this._state.searchString)),R=Math.max(R,this._matchesCount.clientWidth)}_getAriaLabel(K,X,oe){if(K===e.NLS_NO_RESULTS)return oe===""?c.localize(21,null,K):c.localize(22,null,K,oe);if(X){const ae=c.localize(23,null,K,oe,X.startLineNumber+":"+X.startColumn),ee=this._codeEditor.getModel();return ee&&X.startLineNumber<=ee.getLineCount()&&X.startLineNumber>=1?`${ee.getLineContent(X.startLineNumber)}, ${ae}`:ae}return c.localize(24,null,K,oe)}_updateToggleSelectionFindButton(){let K=this._codeEditor.getSelection(),X=K?K.startLineNumber!==K.endLineNumber||K.startColumn!==K.endColumn:!1,oe=this._toggleSelectionFind.checked;this._isVisible&&(oe||X)?this._toggleSelectionFind.enable():this._toggleSelectionFind.disable()}_updateButtons(){this._findInput.setEnabled(this._isVisible),this._replaceInput.setEnabled(this._isVisible&&this._isReplaceVisible),this._updateToggleSelectionFindButton(),this._closeBtn.setEnabled(this._isVisible);let K=this._state.searchString.length>0,X=!!this._state.matchesCount;this._prevBtn.setEnabled(this._isVisible&&K&&X&&this._state.canNavigateBack()),this._nextBtn.setEnabled(this._isVisible&&K&&X&&this._state.canNavigateForward()),this._replaceBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&K),this._replaceAllBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&K),this._domNode.classList.toggle("replaceToggled",this._isReplaceVisible),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible);let oe=!this._codeEditor.getOption(81);this._toggleReplaceBtn.setEnabled(this._isVisible&&oe)}_reveal(){if(this._revealTimeouts.forEach(K=>{clearTimeout(K)}),this._revealTimeouts=[],!this._isVisible){this._isVisible=!0;const K=this._codeEditor.getSelection();switch(this._codeEditor.getOption(35).autoFindInSelection){case"always":this._toggleSelectionFind.checked=!0;break;case"never":this._toggleSelectionFind.checked=!1;break;case"multiline":{const oe=!!K&&K.startLineNumber!==K.endLineNumber;this._toggleSelectionFind.checked=oe;break}default:break}this._tryUpdateWidgetWidth(),this._updateButtons(),this._revealTimeouts.push(setTimeout(()=>{this._domNode.classList.add("visible"),this._domNode.setAttribute("aria-hidden","false")},0)),this._revealTimeouts.push(setTimeout(()=>{this._findInput.validate()},200)),this._codeEditor.layoutOverlayWidget(this);let X=!0;if(this._codeEditor.getOption(35).seedSearchStringFromSelection&&K){const oe=this._codeEditor.getDomNode();if(oe){const ae=L.getDomNodePagePosition(oe),ee=this._codeEditor.getScrolledVisiblePosition(K.getStartPosition()),ue=ae.left+(ee?ee.left:0),le=ee?ee.top:0;if(this._viewZone&&le<this._viewZone.heightInPx){K.endLineNumber>K.startLineNumber&&(X=!1);const x=L.getTopLeftOffset(this._domNode).left;ue>x&&(X=!1);const H=this._codeEditor.getScrolledVisiblePosition(K.getEndPosition());ae.left+(H?H.left:0)>x&&(X=!1)}}}this._showViewZone(X)}}_hide(K){this._revealTimeouts.forEach(X=>{clearTimeout(X)}),this._revealTimeouts=[],this._isVisible&&(this._isVisible=!1,this._updateButtons(),this._domNode.classList.remove("visible"),this._domNode.setAttribute("aria-hidden","true"),this._findInput.clearMessage(),K&&this._codeEditor.focus(),this._codeEditor.layoutOverlayWidget(this),this._removeViewZone())}_layoutViewZone(K){if(!this._codeEditor.getOption(35).addExtraSpaceOnTop){this._removeViewZone();return}if(!this._isVisible)return;const oe=this._viewZone;this._viewZoneId!==void 0||!oe||this._codeEditor.changeViewZones(ae=>{oe.heightInPx=this._getHeight(),this._viewZoneId=ae.addZone(oe),this._codeEditor.setScrollTop(K||this._codeEditor.getScrollTop()+oe.heightInPx)})}_showViewZone(K=!0){if(!this._isVisible||!this._codeEditor.getOption(35).addExtraSpaceOnTop)return;this._viewZone===void 0&&(this._viewZone=new G(0));const oe=this._viewZone;this._codeEditor.changeViewZones(ae=>{if(this._viewZoneId!==void 0){const ee=this._getHeight();if(ee===oe.heightInPx)return;let ue=ee-oe.heightInPx;oe.heightInPx=ee,ae.layoutZone(this._viewZoneId),K&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+ue);return}else{let ee=this._getHeight();if(ee-=this._codeEditor.getOption(75).top,ee<=0)return;oe.heightInPx=ee,this._viewZoneId=ae.addZone(oe),K&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+ee)}})}_removeViewZone(){this._codeEditor.changeViewZones(K=>{this._viewZoneId!==void 0&&(K.removeZone(this._viewZoneId),this._viewZoneId=void 0,this._viewZone&&(this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()-this._viewZone.heightInPx),this._viewZone=void 0))})}_applyTheme(K){let X={inputActiveOptionBorder:K.getColor(s.inputActiveOptionBorder),inputActiveOptionBackground:K.getColor(s.inputActiveOptionBackground),inputActiveOptionForeground:K.getColor(s.inputActiveOptionForeground),inputBackground:K.getColor(s.inputBackground),inputForeground:K.getColor(s.inputForeground),inputBorder:K.getColor(s.inputBorder),inputValidationInfoBackground:K.getColor(s.inputValidationInfoBackground),inputValidationInfoForeground:K.getColor(s.inputValidationInfoForeground),inputValidationInfoBorder:K.getColor(s.inputValidationInfoBorder),inputValidationWarningBackground:K.getColor(s.inputValidationWarningBackground),inputValidationWarningForeground:K.getColor(s.inputValidationWarningForeground),inputValidationWarningBorder:K.getColor(s.inputValidationWarningBorder),inputValidationErrorBackground:K.getColor(s.inputValidationErrorBackground),inputValidationErrorForeground:K.getColor(s.inputValidationErrorForeground),inputValidationErrorBorder:K.getColor(s.inputValidationErrorBorder)};this._findInput.style(X),this._replaceInput.style(X),this._toggleSelectionFind.style(X)}_tryUpdateWidgetWidth(){if(!this._isVisible||!L.isInDOM(this._domNode))return;const K=this._codeEditor.getLayoutInfo();if(K.contentWidth<=0){this._domNode.classList.add("hiddenEditor");return}else this._domNode.classList.contains("hiddenEditor")&&this._domNode.classList.remove("hiddenEditor");const oe=K.width,ae=K.minimap.minimapWidth;let ee=!1,ue=!1,le=!1;if(this._resized&&L.getTotalWidth(this._domNode)>P){this._domNode.style.maxWidth=`${oe-28-ae-15}px`,this._replaceInput.width=L.getTotalWidth(this._findInput.domNode);return}if(P+28+ae>=oe&&(ue=!0),P+28+ae-R>=oe&&(le=!0),P+28+ae-R>=oe+50&&(ee=!0),this._domNode.classList.toggle("collapsed-find-widget",ee),this._domNode.classList.toggle("narrow-find-widget",le),this._domNode.classList.toggle("reduced-find-widget",ue),!le&&!ee&&(this._domNode.style.maxWidth=`${oe-28-ae-15}px`),this._resized){this._findInput.inputBox.layout();let x=this._findInput.inputBox.element.clientWidth;x>0&&(this._replaceInput.width=x)}else this._isReplaceVisible&&(this._replaceInput.width=L.getTotalWidth(this._findInput.domNode))}_getHeight(){let K=0;return K+=4,K+=this._findInput.inputBox.height+2,this._isReplaceVisible&&(K+=4,K+=this._replaceInput.inputBox.height+2),K+=4,K}_tryUpdateHeight(){const K=this._getHeight();return this._cachedHeight!==null&&this._cachedHeight===K?!1:(this._cachedHeight=K,this._domNode.style.height=`${K}px`,!0)}focusFindInput(){this._findInput.select(),this._findInput.focus()}focusReplaceInput(){this._replaceInput.select(),this._replaceInput.focus()}highlightFindOptions(){this._findInput.highlightFindOptions()}_updateSearchScope(){if(!!this._codeEditor.hasModel()&&this._toggleSelectionFind.checked){let K=this._codeEditor.getSelections();K.map(X=>{X.endColumn===1&&X.endLineNumber>X.startLineNumber&&(X=X.setEndPosition(X.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(X.endLineNumber-1)));const oe=this._state.currentMatch;return X.startLineNumber!==X.endLineNumber&&!i.Range.equalsRange(X,oe)?X:null}).filter(X=>!!X),K.length&&this._state.change({searchScope:K},!0)}}_onFindInputMouseDown(K){K.middleButton&&K.stopPropagation()}_onFindInputKeyDown(K){if(K.equals($|3))if(this._keybindingService.dispatchEvent(K,K.target)){K.preventDefault();return}else{this._findInput.inputBox.insertAtCursor(`
+`),K.preventDefault();return}if(K.equals(2)){this._isReplaceVisible?this._replaceInput.focus():this._findInput.focusOnCaseSensitive(),K.preventDefault();return}if(K.equals(2048|18)){this._codeEditor.focus(),K.preventDefault();return}if(K.equals(16))return J(K,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"));if(K.equals(18))return re(K,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"))}_onReplaceInputKeyDown(K){if(K.equals($|3))if(this._keybindingService.dispatchEvent(K,K.target)){K.preventDefault();return}else{t.isWindows&&t.isNative&&!this._ctrlEnterReplaceAllWarningPrompted&&(this._notificationService.info(c.localize(25,null)),this._ctrlEnterReplaceAllWarningPrompted=!0,this._storageService.store(j,!0,0,0)),this._replaceInput.inputBox.insertAtCursor(`
+`),K.preventDefault();return}if(K.equals(2)){this._findInput.focusOnCaseSensitive(),K.preventDefault();return}if(K.equals(1024|2)){this._findInput.focus(),K.preventDefault();return}if(K.equals(2048|18)){this._codeEditor.focus(),K.preventDefault();return}if(K.equals(16))return J(K,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"));if(K.equals(18))return re(K,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"))}getVerticalSashLeft(K){return 0}_keybindingLabelFor(K){let X=this._keybindingService.lookupKeybinding(K);return X?` (${X.getLabel()})`:""}_buildDomNode(){const K=!0,X=!0;this._findInput=this._register(new d.ContextScopedFindInput(null,this._contextViewProvider,{width:W,label:v,placeholder:p,appendCaseSensitiveLabel:this._keybindingLabelFor(o.FIND_IDS.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(o.FIND_IDS.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(o.FIND_IDS.ToggleRegexCommand),validation:x=>{if(x.length===0||!this._findInput.getRegex())return null;try{return new RegExp(x,"gu"),null}catch(H){return{content:H.message}}},flexibleHeight:K,flexibleWidth:X,flexibleMaxHeight:118,showHistoryHint:()=>(0,r.showHistoryKeybindingHint)(this._keybindingService)},this._contextKeyService,!0)),this._findInput.setRegex(!!this._state.isRegex),this._findInput.setCaseSensitive(!!this._state.matchCase),this._findInput.setWholeWords(!!this._state.wholeWord),this._register(this._findInput.onKeyDown(x=>this._onFindInputKeyDown(x))),this._register(this._findInput.inputBox.onDidChange(()=>{this._ignoreChangeEvent||this._state.change({searchString:this._findInput.getValue()},!0)})),this._register(this._findInput.onDidOptionChange(()=>{this._state.change({isRegex:this._findInput.getRegex(),wholeWord:this._findInput.getWholeWords(),matchCase:this._findInput.getCaseSensitive()},!0)})),this._register(this._findInput.onCaseSensitiveKeyDown(x=>{x.equals(1024|2)&&this._isReplaceVisible&&(this._replaceInput.focus(),x.preventDefault())})),this._register(this._findInput.onRegexKeyDown(x=>{x.equals(2)&&this._isReplaceVisible&&(this._replaceInput.focusOnPreserve(),x.preventDefault())})),this._register(this._findInput.inputBox.onDidHeightChange(x=>{this._tryUpdateHeight()&&this._showViewZone()})),t.isLinux&&this._register(this._findInput.onMouseDown(x=>this._onFindInputMouseDown(x))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount(),this._prevBtn=this._register(new Z({label:_+this._keybindingLabelFor(o.FIND_IDS.PreviousMatchFindAction),icon:e.findPreviousMatchIcon,onTrigger:()=>{this._codeEditor.getAction(o.FIND_IDS.PreviousMatchFindAction).run().then(void 0,u.onUnexpectedError)}})),this._nextBtn=this._register(new Z({label:y+this._keybindingLabelFor(o.FIND_IDS.NextMatchFindAction),icon:e.findNextMatchIcon,onTrigger:()=>{this._codeEditor.getAction(o.FIND_IDS.NextMatchFindAction).run().then(void 0,u.onUnexpectedError)}}));let oe=document.createElement("div");oe.className="find-part",oe.appendChild(this._findInput.domNode);const ae=document.createElement("div");ae.className="find-actions",oe.appendChild(ae),ae.appendChild(this._matchesCount),ae.appendChild(this._prevBtn.domNode),ae.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new k.Checkbox({icon:h,title:E+this._keybindingLabelFor(o.FIND_IDS.ToggleSearchScopeCommand),isChecked:!1})),this._register(this._toggleSelectionFind.onChange(()=>{if(this._toggleSelectionFind.checked){if(this._codeEditor.hasModel()){let x=this._codeEditor.getSelections();x.map(H=>(H.endColumn===1&&H.endLineNumber>H.startLineNumber&&(H=H.setEndPosition(H.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(H.endLineNumber-1))),H.isEmpty()?null:H)).filter(H=>!!H),x.length&&this._state.change({searchScope:x},!0)}}else this._state.change({searchScope:null},!0)})),ae.appendChild(this._toggleSelectionFind.domNode),this._closeBtn=this._register(new Z({label:N+this._keybindingLabelFor(o.FIND_IDS.CloseFindWidgetCommand),icon:a.widgetClose,onTrigger:()=>{this._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:x=>{x.equals(2)&&this._isReplaceVisible&&(this._replaceBtn.isEnabled()?this._replaceBtn.focus():this._codeEditor.focus(),x.preventDefault())}})),ae.appendChild(this._closeBtn.domNode),this._replaceInput=this._register(new d.ContextScopedReplaceInput(null,void 0,{label:D,placeholder:M,appendPreserveCaseLabel:this._keybindingLabelFor(o.FIND_IDS.TogglePreserveCaseCommand),history:[],flexibleHeight:K,flexibleWidth:X,flexibleMaxHeight:118,showHistoryHint:()=>(0,r.showHistoryKeybindingHint)(this._keybindingService)},this._contextKeyService,!0)),this._replaceInput.setPreserveCase(!!this._state.preserveCase),this._register(this._replaceInput.onKeyDown(x=>this._onReplaceInputKeyDown(x))),this._register(this._replaceInput.inputBox.onDidChange(()=>{this._state.change({replaceString:this._replaceInput.inputBox.value},!1)})),this._register(this._replaceInput.inputBox.onDidHeightChange(x=>{this._isReplaceVisible&&this._tryUpdateHeight()&&this._showViewZone()})),this._register(this._replaceInput.onDidOptionChange(()=>{this._state.change({preserveCase:this._replaceInput.getPreserveCase()},!0)})),this._register(this._replaceInput.onPreserveCaseKeyDown(x=>{x.equals(2)&&(this._prevBtn.isEnabled()?this._prevBtn.focus():this._nextBtn.isEnabled()?this._nextBtn.focus():this._toggleSelectionFind.enabled?this._toggleSelectionFind.focus():this._closeBtn.isEnabled()&&this._closeBtn.focus(),x.preventDefault())})),this._replaceBtn=this._register(new Z({label:B+this._keybindingLabelFor(o.FIND_IDS.ReplaceOneAction),icon:e.findReplaceIcon,onTrigger:()=>{this._controller.replace()},onKeyDown:x=>{x.equals(1024|2)&&(this._closeBtn.focus(),x.preventDefault())}})),this._replaceAllBtn=this._register(new Z({label:O+this._keybindingLabelFor(o.FIND_IDS.ReplaceAllAction),icon:e.findReplaceAllIcon,onTrigger:()=>{this._controller.replaceAll()}}));let ee=document.createElement("div");ee.className="replace-part",ee.appendChild(this._replaceInput.domNode);const ue=document.createElement("div");ue.className="replace-actions",ee.appendChild(ue),ue.appendChild(this._replaceBtn.domNode),ue.appendChild(this._replaceAllBtn.domNode),this._toggleReplaceBtn=this._register(new Z({label:T,className:"codicon toggle left",onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=L.getTotalWidth(this._findInput.domNode),this._replaceInput.inputBox.layout()),this._showViewZone()}})),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible),this._domNode=document.createElement("div"),this._domNode.className="editor-widget find-widget",this._domNode.setAttribute("aria-hidden","true"),this._domNode.style.width=`${P}px`,this._domNode.appendChild(this._toggleReplaceBtn.domNode),this._domNode.appendChild(oe),this._domNode.appendChild(ee),this._resizeSash=new I.Sash(this._domNode,this,{orientation:0,size:2}),this._resized=!1;let le=P;this._register(this._resizeSash.onDidStart(()=>{le=L.getTotalWidth(this._domNode)})),this._register(this._resizeSash.onDidChange(x=>{this._resized=!0;let H=le+x.startX-x.currentX;if(H<P)return;const U=parseFloat(L.getComputedStyle(this._domNode).maxWidth)||0;H>U||(this._domNode.style.width=`${H}px`,this._isReplaceVisible&&(this._replaceInput.width=L.getTotalWidth(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())})),this._register(this._resizeSash.onDidReset(()=>{const x=L.getTotalWidth(this._domNode);if(x<P)return;let H=P;if(!this._resized||x===P){const U=this._codeEditor.getLayoutInfo();H=U.width-28-U.minimap.minimapWidth-15,this._resized=!0}this._domNode.style.width=`${H}px`,this._isReplaceVisible&&(this._replaceInput.width=L.getTotalWidth(this._findInput.domNode)),this._findInput.inputBox.layout()}))}updateAccessibilitySupport(){const K=this._codeEditor.getOption(2);this._findInput.setFocusInputOnOptionClick(K!==2)}}e.FindWidget=se,se.ID="editor.contrib.findWidget";class Z extends w.Widget{constructor(K){super();this._opts=K;let X="button";this._opts.className&&(X=X+" "+this._opts.className),this._opts.icon&&(X=X+" "+l.ThemeIcon.asClassName(this._opts.icon)),this._domNode=document.createElement("div"),this._domNode.title=this._opts.label,this._domNode.tabIndex=0,this._domNode.className=X,this._domNode.setAttribute("role","button"),this._domNode.setAttribute("aria-label",this._opts.label),this.onclick(this._domNode,oe=>{this._opts.onTrigger(),oe.preventDefault()}),this.onkeydown(this._domNode,oe=>{if(oe.equals(10)||oe.equals(3)){this._opts.onTrigger(),oe.preventDefault();return}this._opts.onKeyDown&&this._opts.onKeyDown(oe)})}get domNode(){return this._domNode}isEnabled(){return this._domNode.tabIndex>=0}focus(){this._domNode.focus()}setEnabled(K){this._domNode.classList.toggle("disabled",!K),this._domNode.setAttribute("aria-disabled",String(!K)),this._domNode.tabIndex=K?0:-1}setExpanded(K){this._domNode.setAttribute("aria-expanded",String(!!K)),K?(this._domNode.classList.remove(...l.ThemeIcon.asClassNameArray(f)),this._domNode.classList.add(...l.ThemeIcon.asClassNameArray(S))):(this._domNode.classList.remove(...l.ThemeIcon.asClassNameArray(S)),this._domNode.classList.add(...l.ThemeIcon.asClassNameArray(f)))}}e.SimpleButton=Z,(0,l.registerThemingParticipant)((V,K)=>{const X=(ge,fe)=>{fe&&K.addRule(`.monaco-editor ${ge} { background-color: ${fe}; }`)};X(".findMatch",V.getColor(s.editorFindMatchHighlight)),X(".currentFindMatch",V.getColor(s.editorFindMatch)),X(".findScope",V.getColor(s.editorFindRangeHighlight));const oe=V.getColor(s.editorWidgetBackground);X(".find-widget",oe);const ae=V.getColor(s.widgetShadow);ae&&K.addRule(`.monaco-editor .find-widget { box-shadow: 0 0 8px 2px ${ae}; }`);const ee=V.getColor(s.editorFindMatchHighlightBorder);ee&&K.addRule(`.monaco-editor .findMatch { border: 1px ${V.type==="hc"?"dotted":"solid"} ${ee}; box-sizing: border-box; }`);const ue=V.getColor(s.editorFindMatchBorder);ue&&K.addRule(`.monaco-editor .currentFindMatch { border: 2px solid ${ue}; padding: 1px; box-sizing: border-box; }`);const le=V.getColor(s.editorFindRangeHighlightBorder);le&&K.addRule(`.monaco-editor .findScope { border: 1px ${V.type==="hc"?"dashed":"solid"} ${le}; }`);const x=V.getColor(s.contrastBorder);x&&K.addRule(`.monaco-editor .find-widget { border: 1px solid ${x}; }`);const H=V.getColor(s.editorWidgetForeground);H&&K.addRule(`.monaco-editor .find-widget { color: ${H}; }`);const U=V.getColor(s.errorForeground);U&&K.addRule(`.monaco-editor .find-widget.no-results .matchesCount { color: ${U}; }`);const Q=V.getColor(s.editorWidgetResizeBorder);if(Q)K.addRule(`.monaco-editor .find-widget .monaco-sash { background-color: ${Q}; }`);else{const ge=V.getColor(s.editorWidgetBorder);ge&&K.addRule(`.monaco-editor .find-widget .monaco-sash { background-color: ${ge}; }`)}const Y=V.getColor(s.toolbarHoverBackground);Y&&K.addRule(`
+		.monaco-editor .find-widget .button:not(.disabled):hover,
+		.monaco-editor .find-widget .codicon-find-selection:hover {
+			background-color: ${Y} !important;
+		}
+	`);const ne=V.getColor(s.focusBorder);ne&&K.addRule(`.monaco-editor .find-widget .monaco-inputbox.synthetic-focus { outline-color: ${ne}; }`)})}),define(te[300],ie([1,0,10,2,8,15,24,165,723,724,725,536,37,104,17,78,43,39,82,14]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s,a){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StartFindReplaceAction=e.PreviousSelectionMatchFindAction=e.NextSelectionMatchFindAction=e.SelectionMatchFindAction=e.PreviousMatchFindAction=e.NextMatchFindAction=e.MatchFindAction=e.StartFindWithSelectionAction=e.StartFindWithArgsAction=e.StartFindAction=e.FindController=e.CommonFindController=e.getSelectionSearchString=void 0;const l=524288;function h(T,A="single",P=!1){if(!T.hasModel())return null;const F=T.getSelection();if(A==="single"&&F.startLineNumber===F.endLineNumber||A==="multiple"){if(F.isEmpty()){const W=T.getConfiguredWordAtPosition(F.getStartPosition());if(W&&P===!1)return W.word}else if(T.getModel().getValueLengthInRange(F)<l)return T.getModel().getValueInRange(F)}return null}e.getSelectionSearchString=h;let f=class Oi extends m.Disposable{constructor(A,P,F,W){super();this._editor=A,this._findWidgetVisible=b.CONTEXT_FIND_WIDGET_VISIBLE.bindTo(P),this._contextKeyService=P,this._storageService=F,this._clipboardService=W,this._updateHistoryDelayer=new L.Delayer(500),this._state=this._register(new u.FindReplaceState),this.loadQueryState(),this._register(this._state.onFindReplaceStateChange(R=>this._onStateChanged(R))),this._model=null,this._register(this._editor.onDidChangeModel(()=>{let R=this._editor.getModel()&&this._state.isRevealed;this.disposeModel(),this._state.change({searchScope:null,matchCase:this._storageService.getBoolean("editor.matchCase",1,!1),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,!1),isRegex:this._storageService.getBoolean("editor.isRegex",1,!1),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,!1)},!1),R&&this._start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!1,updateSearchScope:!1,loop:this._editor.getOption(35).loop})}))}get editor(){return this._editor}static get(A){return A.getContribution(Oi.ID)}dispose(){this.disposeModel(),super.dispose()}disposeModel(){this._model&&(this._model.dispose(),this._model=null)}_onStateChanged(A){this.saveQueryState(A),A.isRevealed&&(this._state.isRevealed?this._findWidgetVisible.set(!0):(this._findWidgetVisible.reset(),this.disposeModel())),A.searchString&&this.setGlobalBufferTerm(this._state.searchString)}saveQueryState(A){A.isRegex&&this._storageService.store("editor.isRegex",this._state.actualIsRegex,1,0),A.wholeWord&&this._storageService.store("editor.wholeWord",this._state.actualWholeWord,1,0),A.matchCase&&this._storageService.store("editor.matchCase",this._state.actualMatchCase,1,0),A.preserveCase&&this._storageService.store("editor.preserveCase",this._state.actualPreserveCase,1,0)}loadQueryState(){this._state.change({matchCase:this._storageService.getBoolean("editor.matchCase",1,this._state.matchCase),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,this._state.wholeWord),isRegex:this._storageService.getBoolean("editor.isRegex",1,this._state.isRegex),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,this._state.preserveCase)},!1)}isFindInputFocused(){return!!b.CONTEXT_FIND_INPUT_FOCUSED.getValue(this._contextKeyService)}getState(){return this._state}closeFindWidget(){this._state.change({isRevealed:!1,searchScope:null},!1),this._editor.focus()}toggleCaseSensitive(){this._state.change({matchCase:!this._state.matchCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleWholeWords(){this._state.change({wholeWord:!this._state.wholeWord},!1),this._state.isRevealed||this.highlightFindOptions()}toggleRegex(){this._state.change({isRegex:!this._state.isRegex},!1),this._state.isRevealed||this.highlightFindOptions()}togglePreserveCase(){this._state.change({preserveCase:!this._state.preserveCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleSearchScope(){if(this._state.searchScope)this._state.change({searchScope:null},!0);else if(this._editor.hasModel()){let A=this._editor.getSelections();A.map(P=>(P.endColumn===1&&P.endLineNumber>P.startLineNumber&&(P=P.setEndPosition(P.endLineNumber-1,this._editor.getModel().getLineMaxColumn(P.endLineNumber-1))),P.isEmpty()?null:P)).filter(P=>!!P),A.length&&this._state.change({searchScope:A},!0)}}setSearchString(A){this._state.isRegex&&(A=k.escapeRegExpCharacters(A)),this._state.change({searchString:A},!1)}highlightFindOptions(A=!1){}_start(A,P){return we(this,void 0,void 0,function*(){if(this.disposeModel(),!this._editor.hasModel())return;let F=Object.assign(Object.assign({},P),{isRevealed:!0});if(A.seedSearchStringFromSelection==="single"){let W=h(this._editor,A.seedSearchStringFromSelection,A.seedSearchStringFromNonEmptySelection);W&&(this._state.isRegex?F.searchString=k.escapeRegExpCharacters(W):F.searchString=W)}else if(A.seedSearchStringFromSelection==="multiple"&&!A.updateSearchScope){let W=h(this._editor,A.seedSearchStringFromSelection);W&&(F.searchString=W)}if(!F.searchString&&A.seedSearchStringFromGlobalClipboard){let W=yield this.getGlobalBufferTerm();if(!this._editor.hasModel())return;W&&(F.searchString=W)}if(A.forceRevealReplace||F.isReplaceRevealed?F.isReplaceRevealed=!0:this._findWidgetVisible.get()||(F.isReplaceRevealed=!1),A.updateSearchScope){let W=this._editor.getSelections();W.some(R=>!R.isEmpty())&&(F.searchScope=W)}F.loop=A.loop,this._state.change(F,!1),this._model||(this._model=new b.FindModelBoundToEditorModel(this._editor,this._state))})}start(A,P){return this._start(A,P)}moveToNextMatch(){return this._model?(this._model.moveToNextMatch(),!0):!1}moveToPrevMatch(){return this._model?(this._model.moveToPrevMatch(),!0):!1}replace(){return this._model?(this._model.replace(),!0):!1}replaceAll(){return this._model?(this._model.replaceAll(),!0):!1}selectAllMatches(){return this._model?(this._model.selectAllMatches(),this._editor.focus(),!0):!1}getGlobalBufferTerm(){return we(this,void 0,void 0,function*(){return this._editor.getOption(35).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()?this._clipboardService.readFindText():""})}setGlobalBufferTerm(A){this._editor.getOption(35).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()&&this._clipboardService.writeFindText(A)}};f.ID="editor.contrib.findController",f=Ie([pe(1,o.IContextKeyService),pe(2,s.IStorageService),pe(3,i.IClipboardService)],f),e.CommonFindController=f;let S=class extends f{constructor(A,P,F,W,R,z,j,$){super(A,F,j,$);this._contextViewService=P,this._keybindingService=W,this._themeService=R,this._notificationService=z,this._widget=null,this._findOptionsWidget=null}_start(A,P){const F=Object.create(null,{_start:{get:()=>super._start}});return we(this,void 0,void 0,function*(){this._widget||this._createFindWidget();const W=this._editor.getSelection();let R=!1;switch(this._editor.getOption(35).autoFindInSelection){case"always":R=!0;break;case"never":R=!1;break;case"multiline":{R=!!W&&W.startLineNumber!==W.endLineNumber;break}default:break}A.updateSearchScope=A.updateSearchScope||R,yield F._start.call(this,A,P),this._widget&&(A.shouldFocus===2?this._widget.focusReplaceInput():A.shouldFocus===1&&this._widget.focusFindInput())})}highlightFindOptions(A=!1){this._widget||this._createFindWidget(),this._state.isRevealed&&!A?this._widget.highlightFindOptions():this._findOptionsWidget.highlightFindOptions()}_createFindWidget(){this._widget=this._register(new g.FindWidget(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService,this._storageService,this._notificationService)),this._findOptionsWidget=this._register(new C.FindOptionsWidget(this._editor,this._state,this._keybindingService,this._themeService))}};S=Ie([pe(1,c.IContextViewService),pe(2,o.IContextKeyService),pe(3,d.IKeybindingService),pe(4,a.IThemeService),pe(5,r.INotificationService),pe(6,s.IStorageService),pe(7,i.IClipboardService)],S),e.FindController=S,e.StartFindAction=(0,I.registerMultiEditorAction)(new I.MultiEditorAction({id:b.FIND_IDS.StartFindAction,label:t.localize(0,null),alias:"Find",precondition:o.ContextKeyExpr.or(w.EditorContextKeys.focus,o.ContextKeyExpr.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2048|36,weight:100},menuOpts:{menuId:n.MenuId.MenubarEditMenu,group:"3_find",title:t.localize(1,null),order:1}})),e.StartFindAction.addImplementation(0,(T,A,P)=>{const F=f.get(A);return F?F.start({forceRevealReplace:!1,seedSearchStringFromSelection:A.getOption(35).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:A.getOption(35).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:A.getOption(35).globalFindClipboard,shouldFocus:1,shouldAnimate:!0,updateSearchScope:!1,loop:A.getOption(35).loop}):!1});const v={description:"Open a new In-Editor Find Widget.",args:[{name:"Open a new In-Editor Find Widget args",schema:{properties:{searchString:{type:"string"},replaceString:{type:"string"},regex:{type:"boolean"},regexOverride:{type:"number",description:t.localize(2,null)},wholeWord:{type:"boolean"},wholeWordOverride:{type:"number",description:t.localize(3,null)},matchCase:{type:"boolean"},matchCaseOverride:{type:"number",description:t.localize(4,null)},preserveCase:{type:"boolean"},preserveCaseOverride:{type:"number",description:t.localize(5,null)},findInSelection:{type:"boolean"}}}}]};class p extends I.EditorAction{constructor(){super({id:b.FIND_IDS.StartFindWithArgs,label:t.localize(6,null),alias:"Find With Arguments",precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},description:v})}run(A,P,F){return we(this,void 0,void 0,function*(){const W=f.get(P);if(W){const R=F?{searchString:F.searchString,replaceString:F.replaceString,isReplaceRevealed:F.replaceString!==void 0,isRegex:F.isRegex,wholeWord:F.matchWholeWord,matchCase:F.isCaseSensitive,preserveCase:F.preserveCase}:{};yield W.start({forceRevealReplace:!1,seedSearchStringFromSelection:W.getState().searchString.length===0&&P.getOption(35).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:P.getOption(35).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:!0,shouldFocus:1,shouldAnimate:!0,updateSearchScope:(F==null?void 0:F.findInSelection)||!1,loop:P.getOption(35).loop},R),W.setGlobalBufferTerm(W.getState().searchString)}})}}e.StartFindWithArgsAction=p;class _ extends I.EditorAction{constructor(){super({id:b.FIND_IDS.StartFindWithSelection,label:t.localize(7,null),alias:"Find With Selection",precondition:void 0,kbOpts:{kbExpr:null,primary:0,mac:{primary:2048|35},weight:100}})}run(A,P){return we(this,void 0,void 0,function*(){const F=f.get(P);F&&(yield F.start({forceRevealReplace:!1,seedSearchStringFromSelection:"multiple",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:P.getOption(35).loop}),F.setGlobalBufferTerm(F.getState().searchString))})}}e.StartFindWithSelectionAction=_;class y extends I.EditorAction{run(A,P){return we(this,void 0,void 0,function*(){const F=f.get(P);F&&!this._run(F)&&(yield F.start({forceRevealReplace:!1,seedSearchStringFromSelection:F.getState().searchString.length===0&&P.getOption(35).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:P.getOption(35).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:!0,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:P.getOption(35).loop}),this._run(F))})}}e.MatchFindAction=y;class E extends y{constructor(){super({id:b.FIND_IDS.NextMatchFindAction,label:t.localize(8,null),alias:"Find Next",precondition:void 0,kbOpts:[{kbExpr:w.EditorContextKeys.focus,primary:61,mac:{primary:2048|37,secondary:[61]},weight:100},{kbExpr:o.ContextKeyExpr.and(w.EditorContextKeys.focus,b.CONTEXT_FIND_INPUT_FOCUSED),primary:3,weight:100}]})}_run(A){return A.moveToNextMatch()?(A.editor.pushUndoStop(),!0):!1}}e.NextMatchFindAction=E;class N extends y{constructor(){super({id:b.FIND_IDS.PreviousMatchFindAction,label:t.localize(9,null),alias:"Find Previous",precondition:void 0,kbOpts:[{kbExpr:w.EditorContextKeys.focus,primary:1024|61,mac:{primary:2048|1024|37,secondary:[1024|61]},weight:100},{kbExpr:o.ContextKeyExpr.and(w.EditorContextKeys.focus,b.CONTEXT_FIND_INPUT_FOCUSED),primary:1024|3,weight:100}]})}_run(A){return A.moveToPrevMatch()}}e.PreviousMatchFindAction=N;class D extends I.EditorAction{run(A,P){return we(this,void 0,void 0,function*(){const F=f.get(P);if(!F)return;const W=P.getOption(35).seedSearchStringFromSelection==="selection";let R=null;P.getOption(35).seedSearchStringFromSelection!=="never"&&(R=h(P,"single",W)),R&&F.setSearchString(R),this._run(F)||(yield F.start({forceRevealReplace:!1,seedSearchStringFromSelection:P.getOption(35).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:W,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:P.getOption(35).loop}),this._run(F))})}}e.SelectionMatchFindAction=D;class M extends D{constructor(){super({id:b.FIND_IDS.NextSelectionMatchFindAction,label:t.localize(10,null),alias:"Find Next Selection",precondition:void 0,kbOpts:{kbExpr:w.EditorContextKeys.focus,primary:2048|61,weight:100}})}_run(A){return A.moveToNextMatch()}}e.NextSelectionMatchFindAction=M;class B extends D{constructor(){super({id:b.FIND_IDS.PreviousSelectionMatchFindAction,label:t.localize(11,null),alias:"Find Previous Selection",precondition:void 0,kbOpts:{kbExpr:w.EditorContextKeys.focus,primary:2048|1024|61,weight:100}})}_run(A){return A.moveToPrevMatch()}}e.PreviousSelectionMatchFindAction=B,e.StartFindReplaceAction=(0,I.registerMultiEditorAction)(new I.MultiEditorAction({id:b.FIND_IDS.StartFindReplaceAction,label:t.localize(12,null),alias:"Replace",precondition:o.ContextKeyExpr.or(w.EditorContextKeys.focus,o.ContextKeyExpr.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2048|38,mac:{primary:2048|512|36},weight:100},menuOpts:{menuId:n.MenuId.MenubarEditMenu,group:"3_find",title:t.localize(13,null),order:2}})),e.StartFindReplaceAction.addImplementation(0,(T,A,P)=>{if(!A.hasModel()||A.getOption(81))return!1;const F=f.get(A);if(!F)return!1;const W=A.getSelection(),R=F.isFindInputFocused(),z=!W.isEmpty()&&W.startLineNumber===W.endLineNumber&&A.getOption(35).seedSearchStringFromSelection!=="never"&&!R,j=R||z?2:1;return F.start({forceRevealReplace:!0,seedSearchStringFromSelection:z?"single":"none",seedSearchStringFromNonEmptySelection:A.getOption(35).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:A.getOption(35).seedSearchStringFromSelection!=="never",shouldFocus:j,shouldAnimate:!0,updateSearchScope:!1,loop:A.getOption(35).loop})}),(0,I.registerEditorContribution)(f.ID,S),(0,I.registerEditorAction)(p),(0,I.registerEditorAction)(_),(0,I.registerEditorAction)(E),(0,I.registerEditorAction)(N),(0,I.registerEditorAction)(M),(0,I.registerEditorAction)(B);const O=I.EditorCommand.bindToContribution(f.get);(0,I.registerEditorCommand)(new O({id:b.FIND_IDS.CloseFindWidgetCommand,precondition:b.CONTEXT_FIND_WIDGET_VISIBLE,handler:T=>T.closeFindWidget(),kbOpts:{weight:100+5,kbExpr:o.ContextKeyExpr.and(w.EditorContextKeys.focus,o.ContextKeyExpr.not("isComposing")),primary:9,secondary:[1024|9]}})),(0,I.registerEditorCommand)(new O({id:b.FIND_IDS.ToggleCaseSensitiveCommand,precondition:void 0,handler:T=>T.toggleCaseSensitive(),kbOpts:{weight:100+5,kbExpr:w.EditorContextKeys.focus,primary:b.ToggleCaseSensitiveKeybinding.primary,mac:b.ToggleCaseSensitiveKeybinding.mac,win:b.ToggleCaseSensitiveKeybinding.win,linux:b.ToggleCaseSensitiveKeybinding.linux}})),(0,I.registerEditorCommand)(new O({id:b.FIND_IDS.ToggleWholeWordCommand,precondition:void 0,handler:T=>T.toggleWholeWords(),kbOpts:{weight:100+5,kbExpr:w.EditorContextKeys.focus,primary:b.ToggleWholeWordKeybinding.primary,mac:b.ToggleWholeWordKeybinding.mac,win:b.ToggleWholeWordKeybinding.win,linux:b.ToggleWholeWordKeybinding.linux}})),(0,I.registerEditorCommand)(new O({id:b.FIND_IDS.ToggleRegexCommand,precondition:void 0,handler:T=>T.toggleRegex(),kbOpts:{weight:100+5,kbExpr:w.EditorContextKeys.focus,primary:b.ToggleRegexKeybinding.primary,mac:b.ToggleRegexKeybinding.mac,win:b.ToggleRegexKeybinding.win,linux:b.ToggleRegexKeybinding.linux}})),(0,I.registerEditorCommand)(new O({id:b.FIND_IDS.ToggleSearchScopeCommand,precondition:void 0,handler:T=>T.toggleSearchScope(),kbOpts:{weight:100+5,kbExpr:w.EditorContextKeys.focus,primary:b.ToggleSearchScopeKeybinding.primary,mac:b.ToggleSearchScopeKeybinding.mac,win:b.ToggleSearchScopeKeybinding.win,linux:b.ToggleSearchScopeKeybinding.linux}})),(0,I.registerEditorCommand)(new O({id:b.FIND_IDS.TogglePreserveCaseCommand,precondition:void 0,handler:T=>T.togglePreserveCase(),kbOpts:{weight:100+5,kbExpr:w.EditorContextKeys.focus,primary:b.TogglePreserveCaseKeybinding.primary,mac:b.TogglePreserveCaseKeybinding.mac,win:b.TogglePreserveCaseKeybinding.win,linux:b.TogglePreserveCaseKeybinding.linux}})),(0,I.registerEditorCommand)(new O({id:b.FIND_IDS.ReplaceOneAction,precondition:b.CONTEXT_FIND_WIDGET_VISIBLE,handler:T=>T.replace(),kbOpts:{weight:100+5,kbExpr:w.EditorContextKeys.focus,primary:2048|1024|22}})),(0,I.registerEditorCommand)(new O({id:b.FIND_IDS.ReplaceOneAction,precondition:b.CONTEXT_FIND_WIDGET_VISIBLE,handler:T=>T.replace(),kbOpts:{weight:100+5,kbExpr:o.ContextKeyExpr.and(w.EditorContextKeys.focus,b.CONTEXT_REPLACE_INPUT_FOCUSED),primary:3}})),(0,I.registerEditorCommand)(new O({id:b.FIND_IDS.ReplaceAllAction,precondition:b.CONTEXT_FIND_WIDGET_VISIBLE,handler:T=>T.replaceAll(),kbOpts:{weight:100+5,kbExpr:w.EditorContextKeys.focus,primary:2048|512|3}})),(0,I.registerEditorCommand)(new O({id:b.FIND_IDS.ReplaceAllAction,precondition:b.CONTEXT_FIND_WIDGET_VISIBLE,handler:T=>T.replaceAll(),kbOpts:{weight:100+5,kbExpr:o.ContextKeyExpr.and(w.EditorContextKeys.focus,b.CONTEXT_REPLACE_INPUT_FOCUSED),primary:void 0,mac:{primary:2048|3}}})),(0,I.registerEditorCommand)(new O({id:b.FIND_IDS.SelectAllMatchesAction,precondition:b.CONTEXT_FIND_WIDGET_VISIBLE,handler:T=>T.selectAllMatches(),kbOpts:{weight:100+5,kbExpr:w.EditorContextKeys.focus,primary:512|3}}))}),define(te[726],ie([1,0,28,38,539,74,14]),function(q,e,L,m,k,I,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FoldingDecorationProvider=e.foldingCollapsedIcon=e.foldingExpandedIcon=void 0,e.foldingExpandedIcon=(0,I.registerIcon)("folding-expanded",L.Codicon.chevronDown,(0,k.localize)(0,null)),e.foldingCollapsedIcon=(0,I.registerIcon)("folding-collapsed",L.Codicon.chevronRight,(0,k.localize)(1,null));class b{constructor(u){this.editor=u,this.autoHideFoldingControls=!0,this.showFoldingHighlights=!0}getDecorationOption(u,g){return g?b.HIDDEN_RANGE_DECORATION:u?this.showFoldingHighlights?b.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:b.COLLAPSED_VISUAL_DECORATION:this.autoHideFoldingControls?b.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:b.EXPANDED_VISUAL_DECORATION}deltaDecorations(u,g){return this.editor.deltaDecorations(u,g)}changeDecorations(u){return this.editor.changeDecorations(u)}}e.FoldingDecorationProvider=b,b.COLLAPSED_VISUAL_DECORATION=m.ModelDecorationOptions.register({description:"folding-collapsed-visual-decoration",stickiness:1,afterContentClassName:"inline-folded",isWholeLine:!0,firstLineDecorationClassName:w.ThemeIcon.asClassName(e.foldingCollapsedIcon)}),b.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=m.ModelDecorationOptions.register({description:"folding-collapsed-highlighted-visual-decoration",stickiness:1,afterContentClassName:"inline-folded",className:"folded-background",isWholeLine:!0,firstLineDecorationClassName:w.ThemeIcon.asClassName(e.foldingCollapsedIcon)}),b.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=m.ModelDecorationOptions.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:w.ThemeIcon.asClassName(e.foldingExpandedIcon)}),b.EXPANDED_VISUAL_DECORATION=m.ModelDecorationOptions.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+w.ThemeIcon.asClassName(e.foldingExpandedIcon)}),b.HIDDEN_RANGE_DECORATION=m.ModelDecorationOptions.register({description:"folding-hidden-range-decoration",stickiness:1})}),define(te[727],ie([1,0,10,13,58,2,8,19,146,15,24,27,33,463,464,465,466,538,17,23,14,726,258,39,76,67,55,20,378]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s,a,l,h,f,S,v,p,_,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.editorFoldForeground=e.foldBackgroundBackground=e.FoldingController=void 0;const E=new s.RawContextKey("foldingEnabled",!1);let N=class Fi extends I.Disposable{constructor(K,X,oe,ae,ee,ue){super();this.contextKeyService=X,this.languageConfigurationService=oe,this.languageFeaturesService=ue,this._tooManyRegionsNotified=!1,this.localToDispose=this._register(new I.DisposableStore),this.editor=K;const le=this.editor.getOptions();this._isEnabled=le.get(37),this._useFoldingProviders=le.get(38)!=="indentation",this._unfoldOnClickAfterEndOfLine=le.get(42),this._restoringViewState=!1,this._currentModelHasFoldedImports=!1,this._foldingImportsByDefault=le.get(40),this._maxFoldingRegions=le.get(41),this.updateDebounceInfo=ee.for(ue.foldingRangeProvider,"Folding",{min:200}),this.foldingModel=null,this.hiddenRangeModel=null,this.rangeProvider=null,this.foldingRegionPromise=null,this.foldingStateMemento=null,this.foldingModelPromise=null,this.updateScheduler=null,this.cursorChangedScheduler=null,this.mouseDownInfo=null,this.foldingDecorationProvider=new h.FoldingDecorationProvider(K),this.foldingDecorationProvider.autoHideFoldingControls=le.get(99)==="mouseover",this.foldingDecorationProvider.showFoldingHighlights=le.get(39),this.foldingEnabled=E.bindTo(this.contextKeyService),this.foldingEnabled.set(this._isEnabled),this._notifyTooManyRegions=x=>{this._tooManyRegionsNotified||(ae.notify({severity:v.default.Warning,sticky:!0,message:r.localize(0,null,x)}),this._tooManyRegionsNotified=!0)},this._register(this.editor.onDidChangeModel(()=>this.onModelChanged())),this._register(this.editor.onDidChangeConfiguration(x=>{if(x.hasChanged(37)&&(this._isEnabled=this.editor.getOptions().get(37),this.foldingEnabled.set(this._isEnabled),this.onModelChanged()),x.hasChanged(41)&&(this._maxFoldingRegions=this.editor.getOptions().get(41),this._tooManyRegionsNotified=!1,this.onModelChanged()),x.hasChanged(99)||x.hasChanged(39)){const H=this.editor.getOptions();this.foldingDecorationProvider.autoHideFoldingControls=H.get(99)==="mouseover",this.foldingDecorationProvider.showFoldingHighlights=H.get(39),this.triggerFoldingModelChanged()}x.hasChanged(38)&&(this._useFoldingProviders=this.editor.getOptions().get(38)!=="indentation",this.onFoldingStrategyChanged()),x.hasChanged(42)&&(this._unfoldOnClickAfterEndOfLine=this.editor.getOptions().get(42)),x.hasChanged(40)&&(this._foldingImportsByDefault=this.editor.getOptions().get(40))})),this.onModelChanged()}static get(K){return K.getContribution(Fi.ID)}saveViewState(){let K=this.editor.getModel();if(!K||!this._isEnabled||K.isTooLargeForTokenization())return{};if(this.foldingModel){let X=this.foldingModel.isInitialized?this.foldingModel.getMemento():this.hiddenRangeModel.getMemento(),oe=this.rangeProvider?this.rangeProvider.id:void 0;return{collapsedRegions:X,lineCount:K.getLineCount(),provider:oe,foldedImports:this._currentModelHasFoldedImports}}}restoreViewState(K){let X=this.editor.getModel();if(!X||!this._isEnabled||X.isTooLargeForTokenization()||!this.hiddenRangeModel||!K||K.lineCount!==X.getLineCount()||(this._currentModelHasFoldedImports=!!K.foldedImports,!K.collapsedRegions))return;(K.provider===f.ID_SYNTAX_PROVIDER||K.provider===d.ID_INIT_PROVIDER)&&(this.foldingStateMemento=K);const oe=K.collapsedRegions;if(this.hiddenRangeModel.applyMemento(oe)){const ae=this.getFoldingModel();ae&&ae.then(ee=>{if(ee){this._restoringViewState=!0;try{ee.applyMemento(oe)}finally{this._restoringViewState=!1}}}).then(void 0,m.onUnexpectedError)}}onModelChanged(){this.localToDispose.clear();let K=this.editor.getModel();!this._isEnabled||!K||K.isTooLargeForTokenization()||(this._currentModelHasFoldedImports=!1,this.foldingModel=new i.FoldingModel(K,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new o.HiddenRangeModel(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange(X=>this.onHiddenRangesChanges(X))),this.updateScheduler=new L.Delayer(this.updateDebounceInfo.get(K)),this.cursorChangedScheduler=new L.RunOnceScheduler(()=>this.revealCursor(),200),this.localToDispose.add(this.cursorChangedScheduler),this.localToDispose.add(this.languageFeaturesService.foldingRangeProvider.onDidChange(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelLanguageConfiguration(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelContent(X=>this.onDidChangeModelContent(X))),this.localToDispose.add(this.editor.onDidChangeCursorPosition(()=>this.onCursorPositionChanged())),this.localToDispose.add(this.editor.onMouseDown(X=>this.onEditorMouseDown(X))),this.localToDispose.add(this.editor.onMouseUp(X=>this.onEditorMouseUp(X))),this.localToDispose.add({dispose:()=>{this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.updateScheduler&&this.updateScheduler.cancel(),this.updateScheduler=null,this.foldingModel=null,this.foldingModelPromise=null,this.hiddenRangeModel=null,this.cursorChangedScheduler=null,this.foldingStateMemento=null,this.rangeProvider&&this.rangeProvider.dispose(),this.rangeProvider=null}}),this.triggerFoldingModelChanged())}onFoldingStrategyChanged(){this.rangeProvider&&this.rangeProvider.dispose(),this.rangeProvider=null,this.triggerFoldingModelChanged()}getRangeProvider(K){if(this.rangeProvider)return this.rangeProvider;if(this.rangeProvider=new c.IndentRangeProvider(K,this.languageConfigurationService,this._maxFoldingRegions),this._useFoldingProviders&&this.foldingModel){let X=this.languageFeaturesService.foldingRangeProvider.ordered(this.foldingModel.textModel);if(X.length===0&&this.foldingStateMemento&&this.foldingStateMemento.collapsedRegions)return this.rangeProvider=new d.InitializingRangeProvider(K,this.foldingStateMemento.collapsedRegions,()=>{this.foldingStateMemento=null,this.onFoldingStrategyChanged()},3e4);X.length>0&&(this.rangeProvider=new f.SyntaxRangeProvider(K,X,()=>this.triggerFoldingModelChanged(),this._maxFoldingRegions))}return this.foldingStateMemento=null,this.rangeProvider}getFoldingModel(){return this.foldingModelPromise}onDidChangeModelContent(K){var X;(X=this.hiddenRangeModel)===null||X===void 0||X.notifyChangeModelContent(K),this.triggerFoldingModelChanged()}triggerFoldingModelChanged(){this.updateScheduler&&(this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.foldingModelPromise=this.updateScheduler.trigger(()=>{const K=this.foldingModel;if(!K)return null;const X=new _.StopWatch(!0),oe=this.getRangeProvider(K.textModel);let ae=this.foldingRegionPromise=(0,L.createCancelablePromise)(ee=>oe.compute(ee,this._notifyTooManyRegions));return ae.then(ee=>{if(ee&&ae===this.foldingRegionPromise){let ue;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){const U=ee.setCollapsedAllOfType(t.FoldingRangeKind.Imports.value,!0);U&&(ue=C.StableEditorScrollState.capture(this.editor),this._currentModelHasFoldedImports=U)}let le=this.editor.getSelections(),x=le?le.map(U=>U.startLineNumber):[];K.update(ee,x),ue&&ue.restore(this.editor);const H=this.updateDebounceInfo.update(K.textModel,X.elapsed());this.updateScheduler&&(this.updateScheduler.defaultDelay=H)}return K})}).then(void 0,K=>((0,m.onUnexpectedError)(K),null)))}onHiddenRangesChanges(K){if(this.hiddenRangeModel&&K.length&&!this._restoringViewState){let X=this.editor.getSelections();X&&this.hiddenRangeModel.adjustSelections(X)&&this.editor.setSelections(X)}this.editor.setHiddenAreas(K)}onCursorPositionChanged(){this.hiddenRangeModel&&this.hiddenRangeModel.hasRanges()&&this.cursorChangedScheduler.schedule()}revealCursor(){const K=this.getFoldingModel();!K||K.then(X=>{if(X){let oe=this.editor.getSelections();if(oe&&oe.length>0){let ae=[];for(let ee of oe){let ue=ee.selectionStartLineNumber;this.hiddenRangeModel&&this.hiddenRangeModel.isHidden(ue)&&ae.push(...X.getAllRegionsAtLine(ue,le=>le.isCollapsed&&ue>le.startLineNumber))}ae.length&&(X.toggleCollapseState(ae),this.reveal(oe[0].getPosition()))}}}).then(void 0,m.onUnexpectedError)}onEditorMouseDown(K){if(this.mouseDownInfo=null,!this.hiddenRangeModel||!K.target||!K.target.range||!K.event.leftButton&&!K.event.middleButton)return;const X=K.target.range;let oe=!1;switch(K.target.type){case 4:{const ae=K.target.detail,ee=K.target.element.offsetLeft;if(ae.offsetX-ee<5)return;oe=!0;break}case 7:{if(this._unfoldOnClickAfterEndOfLine&&this.hiddenRangeModel.hasRanges()&&!K.target.detail.isAfterLines)break;return}case 6:{if(this.hiddenRangeModel.hasRanges()){let ae=this.editor.getModel();if(ae&&X.startColumn===ae.getLineMaxColumn(X.startLineNumber))break}return}default:return}this.mouseDownInfo={lineNumber:X.startLineNumber,iconClicked:oe}}onEditorMouseUp(K){const X=this.getFoldingModel();if(!X||!this.mouseDownInfo||!K.target)return;let oe=this.mouseDownInfo.lineNumber,ae=this.mouseDownInfo.iconClicked,ee=K.target.range;if(!(!ee||ee.startLineNumber!==oe)){if(ae){if(K.target.type!==4)return}else{let ue=this.editor.getModel();if(!ue||ee.startColumn!==ue.getLineMaxColumn(oe))return}X.then(ue=>{if(ue){let le=ue.getRegionAtLine(oe);if(le&&le.startLineNumber===oe){let x=le.isCollapsed;if(ae||x){let H=K.event.altKey,U=[];if(H){let Q=ne=>!ne.containedBy(le)&&!le.containedBy(ne),Y=ue.getRegionsInside(null,Q);for(const ne of Y)ne.isCollapsed&&U.push(ne);U.length===0&&(U=Y)}else{let Q=K.event.middleButton||K.event.shiftKey;if(Q)for(const Y of ue.getRegionsInside(le))Y.isCollapsed===x&&U.push(Y);(x||!Q||U.length===0)&&U.push(le)}ue.toggleCollapseState(U),this.reveal({lineNumber:oe,column:1})}}}}).then(void 0,m.onUnexpectedError)}}reveal(K){this.editor.revealPositionInCenterIfOutsideViewport(K,0)}};N.ID="editor.contrib.folding",N=Ie([pe(1,s.IContextKeyService),pe(2,n.ILanguageConfigurationService),pe(3,S.INotificationService),pe(4,p.ILanguageFeatureDebounceService),pe(5,y.ILanguageFeaturesService)],N),e.FoldingController=N;class D extends u.EditorAction{runEditorCommand(K,X,oe){const ae=K.get(n.ILanguageConfigurationService),ee=N.get(X);if(!ee)return;const ue=ee.getFoldingModel();if(ue)return this.reportTelemetry(K,X),ue.then(le=>{if(le){this.invoke(ee,le,X,oe,ae);const x=X.getSelection();x&&ee.reveal(x.getStartPosition())}})}getSelectedLines(K){let X=K.getSelections();return X?X.map(oe=>oe.startLineNumber):[]}getLineNumbers(K,X){return K&&K.selectionLines?K.selectionLines.map(oe=>oe+1):this.getSelectedLines(X)}run(K,X){}}function M(V){if(!b.isUndefined(V)){if(!b.isObject(V))return!1;const K=V;if(!b.isUndefined(K.levels)&&!b.isNumber(K.levels)||!b.isUndefined(K.direction)&&!b.isString(K.direction)||!b.isUndefined(K.selectionLines)&&(!b.isArray(K.selectionLines)||!K.selectionLines.every(b.isNumber)))return!1}return!0}class B extends D{constructor(){super({id:"editor.unfold",label:r.localize(1,null),alias:"Unfold",precondition:E,kbOpts:{kbExpr:g.EditorContextKeys.editorTextFocus,primary:2048|1024|89,mac:{primary:2048|512|89},weight:100},description:{description:"Unfold the content in the editor",args:[{name:"Unfold editor argument",description:`Property-value pairs that can be passed through this argument:
+						* 'levels': Number of levels to unfold. If not set, defaults to 1.
+						* 'direction': If 'up', unfold given number of levels up otherwise unfolds down.
+						* 'selectionLines': The start lines (0-based) of the editor selections to apply the unfold action to. If not set, the active selection(s) will be used.
+						`,constraint:M,schema:{type:"object",properties:{levels:{type:"number",default:1},direction:{type:"string",enum:["up","down"],default:"down"},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(K,X,oe,ae){let ee=ae&&ae.levels||1,ue=this.getLineNumbers(ae,oe);ae&&ae.direction==="up"?(0,i.setCollapseStateLevelsUp)(X,!1,ee,ue):(0,i.setCollapseStateLevelsDown)(X,!1,ee,ue)}}class O extends D{constructor(){super({id:"editor.unfoldRecursively",label:r.localize(2,null),alias:"Unfold Recursively",precondition:E,kbOpts:{kbExpr:g.EditorContextKeys.editorTextFocus,primary:(0,k.KeyChord)(2048|41,2048|89),weight:100}})}invoke(K,X,oe,ae){(0,i.setCollapseStateLevelsDown)(X,!1,Number.MAX_VALUE,this.getSelectedLines(oe))}}class T extends D{constructor(){super({id:"editor.fold",label:r.localize(3,null),alias:"Fold",precondition:E,kbOpts:{kbExpr:g.EditorContextKeys.editorTextFocus,primary:2048|1024|87,mac:{primary:2048|512|87},weight:100},description:{description:"Fold the content in the editor",args:[{name:"Fold editor argument",description:`Property-value pairs that can be passed through this argument:
+							* 'levels': Number of levels to fold.
+							* 'direction': If 'up', folds given number of levels up otherwise folds down.
+							* 'selectionLines': The start lines (0-based) of the editor selections to apply the fold action to. If not set, the active selection(s) will be used.
+							If no levels or direction is set, folds the region at the locations or if already collapsed, the first uncollapsed parent instead.
+						`,constraint:M,schema:{type:"object",properties:{levels:{type:"number"},direction:{type:"string",enum:["up","down"]},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(K,X,oe,ae){let ee=this.getLineNumbers(ae,oe);const ue=ae&&ae.levels,le=ae&&ae.direction;typeof ue!="number"&&typeof le!="string"?(0,i.setCollapseStateUp)(X,!0,ee):le==="up"?(0,i.setCollapseStateLevelsUp)(X,!0,ue||1,ee):(0,i.setCollapseStateLevelsDown)(X,!0,ue||1,ee)}}class A extends D{constructor(){super({id:"editor.toggleFold",label:r.localize(4,null),alias:"Toggle Fold",precondition:E,kbOpts:{kbExpr:g.EditorContextKeys.editorTextFocus,primary:(0,k.KeyChord)(2048|41,2048|42),weight:100}})}invoke(K,X,oe){let ae=this.getSelectedLines(oe);(0,i.toggleCollapseState)(X,1,ae)}}class P extends D{constructor(){super({id:"editor.foldRecursively",label:r.localize(5,null),alias:"Fold Recursively",precondition:E,kbOpts:{kbExpr:g.EditorContextKeys.editorTextFocus,primary:(0,k.KeyChord)(2048|41,2048|87),weight:100}})}invoke(K,X,oe){let ae=this.getSelectedLines(oe);(0,i.setCollapseStateLevelsDown)(X,!0,Number.MAX_VALUE,ae)}}class F extends D{constructor(){super({id:"editor.foldAllBlockComments",label:r.localize(6,null),alias:"Fold All Block Comments",precondition:E,kbOpts:{kbExpr:g.EditorContextKeys.editorTextFocus,primary:(0,k.KeyChord)(2048|41,2048|85),weight:100}})}invoke(K,X,oe,ae,ee){if(X.regions.hasTypes())(0,i.setCollapseStateForType)(X,t.FoldingRangeKind.Comment.value,!0);else{const ue=oe.getModel();if(!ue)return;const le=ee.getLanguageConfiguration(ue.getLanguageId()).comments;if(le&&le.blockCommentStartToken){let x=new RegExp("^\\s*"+(0,w.escapeRegExpCharacters)(le.blockCommentStartToken));(0,i.setCollapseStateForMatchingLines)(X,x,!0)}}}}class W extends D{constructor(){super({id:"editor.foldAllMarkerRegions",label:r.localize(7,null),alias:"Fold All Regions",precondition:E,kbOpts:{kbExpr:g.EditorContextKeys.editorTextFocus,primary:(0,k.KeyChord)(2048|41,2048|29),weight:100}})}invoke(K,X,oe,ae,ee){if(X.regions.hasTypes())(0,i.setCollapseStateForType)(X,t.FoldingRangeKind.Region.value,!0);else{const ue=oe.getModel();if(!ue)return;const le=ee.getLanguageConfiguration(ue.getLanguageId()).foldingRules;if(le&&le.markers&&le.markers.start){let x=new RegExp(le.markers.start);(0,i.setCollapseStateForMatchingLines)(X,x,!0)}}}}class R extends D{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:r.localize(8,null),alias:"Unfold All Regions",precondition:E,kbOpts:{kbExpr:g.EditorContextKeys.editorTextFocus,primary:(0,k.KeyChord)(2048|41,2048|30),weight:100}})}invoke(K,X,oe,ae,ee){if(X.regions.hasTypes())(0,i.setCollapseStateForType)(X,t.FoldingRangeKind.Region.value,!1);else{const ue=oe.getModel();if(!ue)return;const le=ee.getLanguageConfiguration(ue.getLanguageId()).foldingRules;if(le&&le.markers&&le.markers.start){let x=new RegExp(le.markers.start);(0,i.setCollapseStateForMatchingLines)(X,x,!1)}}}}class z extends D{constructor(){super({id:"editor.foldAllExcept",label:r.localize(9,null),alias:"Fold All Regions Except Selected",precondition:E,kbOpts:{kbExpr:g.EditorContextKeys.editorTextFocus,primary:(0,k.KeyChord)(2048|41,2048|83),weight:100}})}invoke(K,X,oe){let ae=this.getSelectedLines(oe);(0,i.setCollapseStateForRest)(X,!0,ae)}}class j extends D{constructor(){super({id:"editor.unfoldAllExcept",label:r.localize(10,null),alias:"Unfold All Regions Except Selected",precondition:E,kbOpts:{kbExpr:g.EditorContextKeys.editorTextFocus,primary:(0,k.KeyChord)(2048|41,2048|81),weight:100}})}invoke(K,X,oe){let ae=this.getSelectedLines(oe);(0,i.setCollapseStateForRest)(X,!1,ae)}}class $ extends D{constructor(){super({id:"editor.foldAll",label:r.localize(11,null),alias:"Fold All",precondition:E,kbOpts:{kbExpr:g.EditorContextKeys.editorTextFocus,primary:(0,k.KeyChord)(2048|41,2048|21),weight:100}})}invoke(K,X,oe){(0,i.setCollapseStateLevelsDown)(X,!0)}}class G extends D{constructor(){super({id:"editor.unfoldAll",label:r.localize(12,null),alias:"Unfold All",precondition:E,kbOpts:{kbExpr:g.EditorContextKeys.editorTextFocus,primary:(0,k.KeyChord)(2048|41,2048|40),weight:100}})}invoke(K,X,oe){(0,i.setCollapseStateLevelsDown)(X,!1)}}class J extends D{getFoldingLevel(){return parseInt(this.id.substr(J.ID_PREFIX.length))}invoke(K,X,oe){(0,i.setCollapseStateAtLevel)(X,this.getFoldingLevel(),!0,this.getSelectedLines(oe))}}J.ID_PREFIX="editor.foldLevel",J.ID=V=>J.ID_PREFIX+V;class re extends D{constructor(){super({id:"editor.gotoParentFold",label:r.localize(13,null),alias:"Go to Parent Fold",precondition:E,kbOpts:{kbExpr:g.EditorContextKeys.editorTextFocus,weight:100}})}invoke(K,X,oe){let ae=this.getSelectedLines(oe);if(ae.length>0){let ee=(0,i.getParentFoldLine)(ae[0],X);ee!==null&&oe.setSelection({startLineNumber:ee,startColumn:1,endLineNumber:ee,endColumn:1})}}}class se extends D{constructor(){super({id:"editor.gotoPreviousFold",label:r.localize(14,null),alias:"Go to Previous Folding Range",precondition:E,kbOpts:{kbExpr:g.EditorContextKeys.editorTextFocus,weight:100}})}invoke(K,X,oe){let ae=this.getSelectedLines(oe);if(ae.length>0){let ee=(0,i.getPreviousFoldLine)(ae[0],X);ee!==null&&oe.setSelection({startLineNumber:ee,startColumn:1,endLineNumber:ee,endColumn:1})}}}class Z extends D{constructor(){super({id:"editor.gotoNextFold",label:r.localize(15,null),alias:"Go to Next Folding Range",precondition:E,kbOpts:{kbExpr:g.EditorContextKeys.editorTextFocus,weight:100}})}invoke(K,X,oe){let ae=this.getSelectedLines(oe);if(ae.length>0){let ee=(0,i.getNextFoldLine)(ae[0],X);ee!==null&&oe.setSelection({startLineNumber:ee,startColumn:1,endLineNumber:ee,endColumn:1})}}}(0,u.registerEditorContribution)(N.ID,N),(0,u.registerEditorAction)(B),(0,u.registerEditorAction)(O),(0,u.registerEditorAction)(T),(0,u.registerEditorAction)(P),(0,u.registerEditorAction)($),(0,u.registerEditorAction)(G),(0,u.registerEditorAction)(F),(0,u.registerEditorAction)(W),(0,u.registerEditorAction)(R),(0,u.registerEditorAction)(z),(0,u.registerEditorAction)(j),(0,u.registerEditorAction)(A),(0,u.registerEditorAction)(re),(0,u.registerEditorAction)(se),(0,u.registerEditorAction)(Z);for(let V=1;V<=7;V++)(0,u.registerInstantiatedEditorAction)(new J({id:J.ID(V),label:r.localize(16,null,V),alias:`Fold Level ${V}`,precondition:E,kbOpts:{kbExpr:g.EditorContextKeys.editorTextFocus,primary:(0,k.KeyChord)(2048|41,2048|21+V),weight:100}}));e.foldBackgroundBackground=(0,a.registerColor)("editor.foldBackground",{light:(0,a.transparent)(a.editorSelectionBackground,.3),dark:(0,a.transparent)(a.editorSelectionBackground,.3),hc:null},r.localize(17,null),!0),e.editorFoldForeground=(0,a.registerColor)("editorGutter.foldingControlForeground",{dark:a.iconForeground,light:a.iconForeground,hc:a.iconForeground},r.localize(18,null)),(0,l.registerThemingParticipant)((V,K)=>{const X=V.getColor(e.foldBackgroundBackground);X&&K.addRule(`.monaco-editor .folded-background { background-color: ${X}; }`);const oe=V.getColor(e.editorFoldForeground);oe&&K.addRule(`
+		.monaco-editor .cldr${l.ThemeIcon.asCSSSelector(h.foldingExpandedIcon)},
+		.monaco-editor .cldr${l.ThemeIcon.asCSSSelector(h.foldingCollapsedIcon)} {
+			color: ${oe} !important;
+		}
+		`)})}),define(te[728],ie([1,0,7,230,18,2,11,3,38,27,260,86,17,9,43,109,10,24,4]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ContentHoverWidget=e.ContentHoverController=void 0;const a=L.$;let l=class Bi extends I.Disposable{constructor(y,E,N){super();this._editor=y,this._instantiationService=E,this._keybindingService=N,this._widget=this._register(this._instantiationService.createInstance(S,this._editor)),this._decorationsChangerListener=this._register(new h(this._editor)),this._messages=[],this._messagesAreComplete=!1,this._participants=[];for(const D of t.HoverParticipantRegistry.getAll())this._participants.push(this._instantiationService.createInstance(D,this._editor));this._participants.sort((D,M)=>D.hoverOrdinal-M.hoverOrdinal),this._computer=new p(this._editor,this._participants),this._hoverOperation=this._register(new g.HoverOperation(this._editor,this._computer)),this._register(this._hoverOperation.onResult(D=>{this._withResult(D.value,D.isComplete,D.hasLoadingMessage)})),this._register(this._decorationsChangerListener.onDidChangeModelDecorations(()=>this._onModelDecorationsChanged())),this._register(L.addStandardDisposableListener(this._widget.getDomNode(),"keydown",D=>{D.equals(9)&&this.hide()})),this._register(u.TokenizationRegistry.onDidChange(()=>{this._widget.position&&this._computer.anchor&&this._messages.length>0&&(this._widget.clear(),this._renderMessages(this._computer.anchor,this._messages))}))}_onModelDecorationsChanged(){this._widget.position&&(this._hoverOperation.cancel(),this._widget.isColorPickerVisible||this._hoverOperation.start(0))}maybeShowAt(y){const E=[];for(const D of this._participants)if(D.suggestHoverAnchor){const M=D.suggestHoverAnchor(y);M&&E.push(M)}const N=y.target;if(N.type===6&&E.push(new t.HoverRangeAnchor(0,N.range)),N.type===7){const D=this._editor.getOption(44).typicalHalfwidthCharacterWidth/2;!N.detail.isAfterLines&&typeof N.detail.horizontalDistanceToText=="number"&&N.detail.horizontalDistanceToText<D&&E.push(new t.HoverRangeAnchor(0,N.range))}return E.length===0?!1:(E.sort((D,M)=>M.priority-D.priority),this._startShowingAt(E[0],0,!1),!0)}startShowingAtRange(y,E,N){this._startShowingAt(new t.HoverRangeAnchor(0,y),E,N)}_startShowingAt(y,E,N){if(!(this._computer.anchor&&this._computer.anchor.equals(y))){if(this._hoverOperation.cancel(),this._widget.position)if(!this._computer.anchor||!y.canAdoptVisibleHover(this._computer.anchor,this._widget.position))this.hide();else{const D=this._messages.filter(M=>M.isValidForHoverAnchor(y));if(D.length===0)this.hide();else{if(D.length===this._messages.length&&this._messagesAreComplete)return;this._renderMessages(y,D)}}this._computer.anchor=y,this._computer.shouldFocus=N,this._hoverOperation.start(E)}}hide(){this._computer.anchor=null,this._hoverOperation.cancel(),this._widget.hide()}isColorPickerVisible(){return this._widget.isColorPickerVisible}_addLoadingMessage(y){if(this._computer.anchor){for(const E of this._participants)if(E.createLoadingMessage){const N=E.createLoadingMessage(this._computer.anchor);if(N)return y.slice(0).concat([N])}}return y}_withResult(y,E,N){this._messages=N?this._addLoadingMessage(y):y,this._messagesAreComplete=E,this._computer.anchor&&this._messages.length>0?this._renderMessages(this._computer.anchor,this._messages):E&&this.hide()}_renderMessages(y,E){let N=1073741824,D=E[0].range,M=null;for(const F of E)N=Math.min(N,F.range.startColumn),D=b.Range.plusRange(D,F.range),F.forceShowAtRange&&(M=F.range);const B=new I.DisposableStore,O=B.add(new v(this._keybindingService)),T=document.createDocumentFragment();let A=null;const P={fragment:T,statusBar:O,setColorPicker:F=>A=F,onContentsChanged:()=>this._widget.onContentsChanged(),hide:()=>this.hide()};for(const F of this._participants){const W=E.filter(R=>R.owner===F);W.length>0&&B.add(F.renderHoverParts(P,W))}if(O.hasContent&&T.appendChild(O.hoverElement),T.hasChildNodes()){if(D){const F=this._decorationsChangerListener.deltaDecorations([],[{range:D,options:Bi._DECORATION_OPTIONS}]);B.add((0,I.toDisposable)(()=>{this._decorationsChangerListener.deltaDecorations(F,[])}))}this._widget.showAt(T,new f(A,M?M.getStartPosition():new w.Position(y.range.startLineNumber,N),M||D,this._editor.getOption(53).above,this._computer.shouldFocus,B))}else B.dispose()}};l._DECORATION_OPTIONS=C.ModelDecorationOptions.register({description:"content-hover-highlight",className:"hoverHighlight"}),l=Ie([pe(1,i.IInstantiationService),pe(2,o.IKeybindingService)],l),e.ContentHoverController=l;class h extends I.Disposable{constructor(y){super();this._editor=y,this._onDidChangeModelDecorations=this._register(new s.Emitter),this.onDidChangeModelDecorations=this._onDidChangeModelDecorations.event,this._isChangingDecorations=!1,this._register(this._editor.onDidChangeModelDecorations(E=>{this._isChangingDecorations||this._onDidChangeModelDecorations.fire(E)}))}deltaDecorations(y,E){try{return this._isChangingDecorations=!0,this._editor.deltaDecorations(y,E)}finally{this._isChangingDecorations=!1}}}class f{constructor(y,E,N,D,M,B){this.colorPicker=y,this.showAtPosition=E,this.showAtRange=N,this.preferAbove=D,this.stoleFocus=M,this.disposables=B}}let S=class Wi extends I.Disposable{constructor(y,E){super();this._editor=y,this._contextKeyService=E,this.allowEditorOverflow=!0,this._hoverVisibleKey=r.EditorContextKeys.hoverVisible.bindTo(this._contextKeyService),this._hover=this._register(new m.HoverWidget),this._visibleData=null,this._register(this._editor.onDidLayoutChange(()=>this._layout())),this._register(this._editor.onDidChangeConfiguration(N=>{N.hasChanged(44)&&this._updateFont()})),this._setVisibleData(null),this._layout(),this._editor.addContentWidget(this)}get position(){var y,E;return(E=(y=this._visibleData)===null||y===void 0?void 0:y.showAtPosition)!==null&&E!==void 0?E:null}get isColorPickerVisible(){var y;return Boolean((y=this._visibleData)===null||y===void 0?void 0:y.colorPicker)}dispose(){this._editor.removeContentWidget(this),this._visibleData&&this._visibleData.disposables.dispose(),super.dispose()}getId(){return Wi.ID}getDomNode(){return this._hover.containerDomNode}getPosition(){if(!this._visibleData)return null;let y=this._visibleData.preferAbove;return!y&&this._contextKeyService.getContextKeyValue(c.Context.Visible.key)&&(y=!0),{position:this._visibleData.showAtPosition,range:this._visibleData.showAtRange,preference:y?[1,2]:[2,1]}}_setVisibleData(y){this._visibleData&&this._visibleData.disposables.dispose(),this._visibleData=y,this._hoverVisibleKey.set(!!this._visibleData),this._hover.containerDomNode.classList.toggle("hidden",!this._visibleData)}_layout(){const y=Math.max(this._editor.getLayoutInfo().height/4,250),{fontSize:E,lineHeight:N}=this._editor.getOption(44);this._hover.contentsDomNode.style.fontSize=`${E}px`,this._hover.contentsDomNode.style.lineHeight=`${N/E}`,this._hover.contentsDomNode.style.maxHeight=`${y}px`,this._hover.contentsDomNode.style.maxWidth=`${Math.max(this._editor.getLayoutInfo().width*.66,500)}px`}_updateFont(){Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach(E=>this._editor.applyFontInfo(E))}showAt(y,E){this._setVisibleData(E),this._hover.contentsDomNode.textContent="",this._hover.contentsDomNode.appendChild(y),this._hover.contentsDomNode.style.paddingBottom="",this._updateFont(),this._editor.layoutContentWidget(this),this.onContentsChanged(),this._editor.render(),this._editor.layoutContentWidget(this),this.onContentsChanged(),E.stoleFocus&&this._hover.containerDomNode.focus(),E.colorPicker&&E.colorPicker.layout()}hide(){if(this._visibleData){const y=this._visibleData.stoleFocus;this._setVisibleData(null),this._editor.layoutContentWidget(this),y&&this._editor.focus()}}onContentsChanged(){this._hover.onContentsChanged();const y=this._hover.scrollbar.getScrollDimensions();if(y.scrollWidth>y.width){const N=`${this._hover.scrollbar.options.horizontalScrollbarSize}px`;this._hover.contentsDomNode.style.paddingBottom!==N&&(this._hover.contentsDomNode.style.paddingBottom=N,this._editor.layoutContentWidget(this),this._hover.onContentsChanged())}}clear(){this._hover.contentsDomNode.textContent=""}};S.ID="editor.contrib.contentHoverWidget",S=Ie([pe(1,n.IContextKeyService)],S),e.ContentHoverWidget=S;let v=class extends I.Disposable{constructor(y){super();this._keybindingService=y,this._hasContent=!1,this.hoverElement=a("div.hover-row.status-bar"),this.actionsElement=L.append(this.hoverElement,a("div.actions"))}get hasContent(){return this._hasContent}addAction(y){const E=this._keybindingService.lookupKeybinding(y.commandId),N=E?E.getLabel():null;return this._hasContent=!0,this._register(m.HoverAction.render(this.actionsElement,y,N))}append(y){const E=L.append(this.actionsElement,y);return this._hasContent=!0,E}};v=Ie([pe(0,o.IKeybindingService)],v);class p{constructor(y,E){this._editor=y,this._participants=E,this._anchor=null,this._shouldFocus=!1}get anchor(){return this._anchor}set anchor(y){this._anchor=y}get shouldFocus(){return this._shouldFocus}set shouldFocus(y){this._shouldFocus=y}static _getLineDecorations(y,E){if(E.type!==1)return[];const N=y.getModel(),D=E.range.startLineNumber,M=N.getLineMaxColumn(D);return y.getLineDecorations(D).filter(B=>{if(B.options.isWholeLine)return!0;const O=B.range.startLineNumber===D?B.range.startColumn:1,T=B.range.endLineNumber===D?B.range.endColumn:M;if(B.options.showIfCollapsed){if(O>E.range.startColumn+1||E.range.endColumn-1>T)return!1}else if(O>E.range.startColumn||E.range.endColumn>T)return!1;return!0})}computeAsync(y){const E=this._anchor;if(!this._editor.hasModel()||!E)return d.AsyncIterableObject.EMPTY;const N=p._getLineDecorations(this._editor,E);return d.AsyncIterableObject.merge(this._participants.map(D=>D.computeAsync?D.computeAsync(E,N,y):d.AsyncIterableObject.EMPTY))}computeSync(){if(!this._editor.hasModel()||!this._anchor)return[];const y=p._getLineDecorations(this._editor,this._anchor);let E=[];for(const N of this._participants)E=E.concat(N.computeSync(this._anchor,y));return(0,k.coalesce)(E)}}}),define(te[729],ie([1,0,10,13,108,15,3,22,24,38,88,54,555,14,467]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});let c=class ei{constructor(a,l){this.decorationIds=[],this.editor=a,this.editorWorkerService=l}static get(a){return a.getContribution(ei.ID)}dispose(){}run(a,l){this.currentRequest&&this.currentRequest.cancel();const h=this.editor.getSelection(),f=this.editor.getModel();if(!f||!h)return;let S=h;if(S.startLineNumber!==S.endLineNumber)return;const v=new k.EditorState(this.editor,1|4),p=f.uri;return this.editorWorkerService.canNavigateValueSet(p)?(this.currentRequest=(0,L.createCancelablePromise)(_=>this.editorWorkerService.navigateValueSet(p,S,l)),this.currentRequest.then(_=>{if(!_||!_.range||!_.value||!v.validate(this.editor))return;let y=w.Range.lift(_.range),E=_.range,N=_.value.length-(S.endColumn-S.startColumn);E={startLineNumber:E.startLineNumber,startColumn:E.startColumn,endLineNumber:E.endLineNumber,endColumn:E.startColumn+_.value.length},N>1&&(S=new b.Selection(S.startLineNumber,S.startColumn,S.endLineNumber,S.endColumn+N-1));const D=new o.InPlaceReplaceCommand(y,S,_.value);this.editor.pushUndoStop(),this.editor.executeCommand(a,D),this.editor.pushUndoStop(),this.decorationIds=this.editor.deltaDecorations(this.decorationIds,[{range:E,options:ei.DECORATION}]),this.decorationRemover&&this.decorationRemover.cancel(),this.decorationRemover=(0,L.timeout)(350),this.decorationRemover.then(()=>this.decorationIds=this.editor.deltaDecorations(this.decorationIds,[])).catch(m.onUnexpectedError)}).catch(m.onUnexpectedError)):Promise.resolve(void 0)}};c.ID="editor.contrib.inPlaceReplaceController",c.DECORATION=u.ModelDecorationOptions.register({description:"in-place-replace",className:"valueSetReplacement"}),c=Ie([pe(1,g.IEditorWorkerService)],c);class d extends I.EditorAction{constructor(){super({id:"editor.action.inPlaceReplace.up",label:n.localize(0,null),alias:"Replace with Previous Value",precondition:C.EditorContextKeys.writable,kbOpts:{kbExpr:C.EditorContextKeys.editorTextFocus,primary:2048|1024|82,weight:100}})}run(a,l){const h=c.get(l);return h?h.run(this.id,!0):Promise.resolve(void 0)}}class r extends I.EditorAction{constructor(){super({id:"editor.action.inPlaceReplace.down",label:n.localize(1,null),alias:"Replace with Next Value",precondition:C.EditorContextKeys.writable,kbOpts:{kbExpr:C.EditorContextKeys.editorTextFocus,primary:2048|1024|84,weight:100}})}run(a,l){const h=c.get(l);return h?h.run(this.id,!1):Promise.resolve(void 0)}}(0,I.registerEditorContribution)(c.ID,c),(0,I.registerEditorAction)(d),(0,I.registerEditorAction)(r),(0,i.registerThemingParticipant)((s,a)=>{const l=s.getColor(t.editorBracketMatchBorder);l&&a.addRule(`.monaco-editor.vs .valueSetReplacement { outline: solid 2px ${l}; }`)})}),define(te[730],ie([1,0,18,10,21,30,13,4,2,8,25,15,29,11,3,24,38,33,562,17,23,14,20,67,55]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s,a,l,h,f,S,v){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.editorLinkedEditingBackground=e.LinkedEditingAction=e.LinkedEditingContribution=e.CONTEXT_ONTYPE_RENAME_INPUT_VISIBLE=void 0,e.CONTEXT_ONTYPE_RENAME_INPUT_VISIBLE=new a.RawContextKey("LinkedEditingInputVisible",!1);const p="linked-editing-decoration";let _=class ti extends C.Disposable{constructor(M,B,O,T,A){super();this.languageConfigurationService=T,this._localToDispose=this._register(new C.DisposableStore),this._editor=M,this._providers=O.linkedEditingRangeProvider,this._enabled=!1,this._visibleContextKey=e.CONTEXT_ONTYPE_RENAME_INPUT_VISIBLE.bindTo(B),this._debounceInformation=A.for(this._providers,"Linked Editing",{min:200}),this._currentDecorations=[],this._languageWordPattern=null,this._currentWordPattern=null,this._ignoreChangeEvent=!1,this._localToDispose=this._register(new C.DisposableStore),this._rangeUpdateTriggerPromise=null,this._rangeSyncTriggerPromise=null,this._currentRequest=null,this._currentRequestPosition=null,this._currentRequestModelVersion=null,this._register(this._editor.onDidChangeModel(()=>this.reinitialize(!0))),this._register(this._editor.onDidChangeConfiguration(P=>{(P.hasChanged(62)||P.hasChanged(82))&&this.reinitialize(!1)})),this._register(this._providers.onDidChange(()=>this.reinitialize(!1))),this._register(this._editor.onDidChangeModelLanguage(()=>this.reinitialize(!0))),this.reinitialize(!0)}static get(M){return M.getContribution(ti.ID)}reinitialize(M){const B=this._editor.getModel(),O=B!==null&&(this._editor.getOption(62)||this._editor.getOption(82))&&this._providers.has(B);if(O===this._enabled&&!M||(this._enabled=O,this.clearRanges(),this._localToDispose.clear(),!O||B===null))return;this._localToDispose.add(b.Event.runAndSubscribe(B.onDidChangeLanguageConfiguration,()=>{this._languageWordPattern=this.languageConfigurationService.getLanguageConfiguration(B.getLanguageId()).getWordDefinition()}));const T=new m.Delayer(this._debounceInformation.get(B)),A=()=>{var W;this._rangeUpdateTriggerPromise=T.trigger(()=>this.updateRanges(),(W=this._debounceDuration)!==null&&W!==void 0?W:this._debounceInformation.get(B))},P=new m.Delayer(0),F=W=>{this._rangeSyncTriggerPromise=P.trigger(()=>this._syncRanges(W))};this._localToDispose.add(this._editor.onDidChangeCursorPosition(()=>{A()})),this._localToDispose.add(this._editor.onDidChangeModelContent(W=>{if(!this._ignoreChangeEvent&&this._currentDecorations.length>0){const R=B.getDecorationRange(this._currentDecorations[0]);if(R&&W.changes.every(z=>R.intersectRanges(z.range))){F(this._currentDecorations);return}}A()})),this._localToDispose.add({dispose:()=>{T.dispose(),P.dispose()}}),this.updateRanges()}_syncRanges(M){if(!this._editor.hasModel()||M!==this._currentDecorations||M.length===0)return;const B=this._editor.getModel(),O=B.getDecorationRange(M[0]);if(!O||O.startLineNumber!==O.endLineNumber)return this.clearRanges();const T=B.getValueInRange(O);if(this._currentWordPattern){const P=T.match(this._currentWordPattern);if((P?P[0].length:0)!==T.length)return this.clearRanges()}let A=[];for(let P=1,F=M.length;P<F;P++){const W=B.getDecorationRange(M[P]);if(!!W)if(W.startLineNumber!==W.endLineNumber)A.push({range:W,text:T});else{let R=B.getValueInRange(W),z=T,j=W.startColumn,$=W.endColumn;const G=u.commonPrefixLength(R,z);j+=G,R=R.substr(G),z=z.substr(G);const J=u.commonSuffixLength(R,z);$-=J,R=R.substr(0,R.length-J),z=z.substr(0,z.length-J),(j!==$||z.length!==0)&&A.push({range:new o.Range(W.startLineNumber,j,W.endLineNumber,$),text:z})}}if(A.length!==0)try{this._editor.popUndoStop(),this._ignoreChangeEvent=!0;const P=this._editor._getViewModel().getPrevEditOperationType();this._editor.executeEdits("linkedEditing",A),this._editor._getViewModel().setPrevEditOperationType(P)}finally{this._ignoreChangeEvent=!1}}dispose(){this.clearRanges(),super.dispose()}clearRanges(){this._visibleContextKey.set(!1),this._currentDecorations=this._editor.deltaDecorations(this._currentDecorations,[]),this._currentRequest&&(this._currentRequest.cancel(),this._currentRequest=null,this._currentRequestPosition=null)}updateRanges(M=!1){return we(this,void 0,void 0,function*(){if(!this._editor.hasModel()){this.clearRanges();return}const B=this._editor.getPosition();if(!this._enabled&&!M||this._editor.getSelections().length>1){this.clearRanges();return}const O=this._editor.getModel(),T=O.getVersionId();if(this._currentRequestPosition&&this._currentRequestModelVersion===T){if(B.equals(this._currentRequestPosition))return;if(this._currentDecorations&&this._currentDecorations.length>0){const P=O.getDecorationRange(this._currentDecorations[0]);if(P&&P.containsPosition(B))return}}this._currentRequestPosition=B,this._currentRequestModelVersion=T;const A=(0,m.createCancelablePromise)(P=>we(this,void 0,void 0,function*(){try{const F=new v.StopWatch(!1),W=yield N(this._providers,O,B,P);if(this._debounceInformation.update(O,F.elapsed()),A!==this._currentRequest||(this._currentRequest=null,T!==O.getVersionId()))return;let R=[];(W==null?void 0:W.ranges)&&(R=W.ranges),this._currentWordPattern=(W==null?void 0:W.wordPattern)||this._languageWordPattern;let z=!1;for(let $=0,G=R.length;$<G;$++)if(o.Range.containsPosition(R[$],B)){if(z=!0,$!==0){const J=R[$];R.splice($,1),R.unshift(J)}break}if(!z){this.clearRanges();return}const j=R.map($=>({range:$,options:ti.DECORATION}));this._visibleContextKey.set(!0),this._currentDecorations=this._editor.deltaDecorations(this._currentDecorations,j)}catch(F){(0,w.isCancellationError)(F)||(0,w.onUnexpectedError)(F),(this._currentRequest===A||!this._currentRequest)&&this.clearRanges()}}));return this._currentRequest=A,A})}};_.ID="editor.contrib.linkedEditing",_.DECORATION=d.ModelDecorationOptions.register({description:"linked-editing",stickiness:0,className:p}),_=Ie([pe(1,a.IContextKeyService),pe(2,f.ILanguageFeaturesService),pe(3,r.ILanguageConfigurationService),pe(4,S.ILanguageFeatureDebounceService)],_),e.LinkedEditingContribution=_;class y extends t.EditorAction{constructor(){super({id:"editor.action.linkedEditing",label:s.localize(0,null),alias:"Start Linked Editing",precondition:a.ContextKeyExpr.and(c.EditorContextKeys.writable,c.EditorContextKeys.hasRenameProvider),kbOpts:{kbExpr:c.EditorContextKeys.editorTextFocus,primary:2048|1024|60,weight:100}})}runCommand(M,B){const O=M.get(n.ICodeEditorService),[T,A]=Array.isArray(B)&&B||[void 0,void 0];return g.URI.isUri(T)&&i.Position.isIPosition(A)?O.openCodeEditor({resource:T},O.getActiveCodeEditor()).then(P=>{!P||(P.setPosition(A),P.invokeWithinContext(F=>(this.reportTelemetry(F,P),this.run(F,P))))},w.onUnexpectedError):super.runCommand(M,B)}run(M,B){const O=_.get(B);return O?Promise.resolve(O.updateRanges(!0)):Promise.resolve()}}e.LinkedEditingAction=y;const E=t.EditorCommand.bindToContribution(_.get);(0,t.registerEditorCommand)(new E({id:"cancelLinkedEditingInput",precondition:e.CONTEXT_ONTYPE_RENAME_INPUT_VISIBLE,handler:D=>D.clearRanges(),kbOpts:{kbExpr:c.EditorContextKeys.editorTextFocus,weight:100+99,primary:9,secondary:[1024|9]}}));function N(D,M,B,O){const T=D.ordered(M);return(0,m.first)(T.map(A=>()=>we(this,void 0,void 0,function*(){try{return yield A.provideLinkedEditingRanges(M,B,O)}catch(P){(0,w.onUnexpectedExternalError)(P);return}})),A=>!!A&&L.isNonEmptyArray(A==null?void 0:A.ranges))}e.editorLinkedEditingBackground=(0,l.registerColor)("editor.linkedEditingBackground",{dark:I.Color.fromHex("#f00").transparent(.3),light:I.Color.fromHex("#f00").transparent(.3),hc:I.Color.fromHex("#f00").transparent(.3)},s.localize(1,null)),(0,h.registerThemingParticipant)((D,M)=>{const B=D.getColor(e.editorLinkedEditingBackground);B&&M.addRule(`.monaco-editor .${p} { background: ${B}; border-left-color: ${B}; }`)}),(0,t.registerModelAndPositionCommand)("_executeLinkedEditingProvider",(D,M,B)=>{const{linkedEditingRangeProvider:O}=D.get(f.ILanguageFeaturesService);return N(O,M,B,k.CancellationToken.None)}),(0,t.registerEditorContribution)(_.ID,_),(0,t.registerEditorAction)(y)}),define(te[731],ie([1,0,10,21,13,68,2,45,16,42,55,25,15,38,67,20,192,608,563,39,53,23,14,383]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s,a,l,h,f){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LinkDetector=void 0;let S=class xi extends w.Disposable{constructor(N,D,M,B,O){super();this.editor=N,this.openerService=D,this.notificationService=M,this.languageFeaturesService=B,this.providers=this.languageFeaturesService.linkProvider,this.debounceInformation=O.for(this.providers,"Links",{min:1e3,max:4e3}),this.computeLinks=this._register(new L.RunOnceScheduler(()=>this.computeLinksNow(),1e3)),this.computePromise=null,this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null;const T=this._register(new d.ClickLinkGesture(N));this._register(T.onMouseMoveOrRelevantKeyDown(([A,P])=>{this._onEditorMouseMove(A,P)})),this._register(T.onExecute(A=>{this.onEditorMouseUp(A)})),this._register(T.onCancel(A=>{this.cleanUpActiveLinkDecoration()})),this._register(N.onDidChangeConfiguration(A=>{!A.hasChanged(63)||(this.updateDecorations([]),this.stop(),this.computeLinks.schedule(0))})),this._register(N.onDidChangeModelContent(A=>{!this.editor.hasModel()||this.computeLinks.schedule(this.debounceInformation.get(this.editor.getModel()))})),this._register(N.onDidChangeModel(A=>{this.currentOccurrences={},this.activeLinkDecorationId=null,this.stop(),this.computeLinks.schedule(0)})),this._register(N.onDidChangeModelLanguage(A=>{this.stop(),this.computeLinks.schedule(0)})),this._register(this.providers.onDidChange(A=>{this.stop(),this.computeLinks.schedule(0)})),this.computeLinks.schedule(0)}static get(N){return N.getContribution(xi.ID)}computeLinksNow(){return we(this,void 0,void 0,function*(){if(!this.editor.hasModel()||!this.editor.getOption(63))return;const N=this.editor.getModel();if(!!this.providers.has(N)){this.activeLinksList&&(this.activeLinksList.dispose(),this.activeLinksList=null),this.computePromise=(0,L.createCancelablePromise)(D=>(0,r.getLinks)(this.providers,N,D));try{const D=new g.StopWatch(!1);if(this.activeLinksList=yield this.computePromise,this.debounceInformation.update(N,D.elapsed()),N.isDisposed())return;this.updateDecorations(this.activeLinksList.links)}catch(D){(0,k.onUnexpectedError)(D)}finally{this.computePromise=null}}})}updateDecorations(N){const D=this.editor.getOption(70)==="altKey",M=[],B=Object.keys(this.currentOccurrences);for(const A of B){const P=this.currentOccurrences[A];M.push(P.decorationId)}const O=[];if(N)for(const A of N)O.push(p.decoration(A,D));const T=this.editor.deltaDecorations(M,O);this.currentOccurrences={},this.activeLinkDecorationId=null;for(let A=0,P=T.length;A<P;A++){const F=new p(N[A],T[A]);this.currentOccurrences[F.decorationId]=F}}_onEditorMouseMove(N,D){const M=this.editor.getOption(70)==="altKey";if(this.isEnabled(N,D)){this.cleanUpActiveLinkDecoration();const B=this.getLinkOccurrence(N.target.position);B&&this.editor.changeDecorations(O=>{B.activate(O,M),this.activeLinkDecorationId=B.decorationId})}else this.cleanUpActiveLinkDecoration()}cleanUpActiveLinkDecoration(){const N=this.editor.getOption(70)==="altKey";if(this.activeLinkDecorationId){const D=this.currentOccurrences[this.activeLinkDecorationId];D&&this.editor.changeDecorations(M=>{D.deactivate(M,N)}),this.activeLinkDecorationId=null}}onEditorMouseUp(N){if(!this.isEnabled(N))return;const D=this.getLinkOccurrence(N.target.position);!D||this.openLinkOccurrence(D,N.hasSideBySideModifier,!0)}openLinkOccurrence(N,D,M=!1){if(!this.openerService)return;const{link:B}=N;B.resolve(m.CancellationToken.None).then(O=>{if(typeof O=="string"&&this.editor.hasModel()){const T=this.editor.getModel().uri;if(T.scheme===b.Schemas.file&&O.startsWith(`${b.Schemas.file}:`)){const A=t.URI.parse(O);if(A.scheme===b.Schemas.file){const P=u.originalFSPath(A);let F=null;P.startsWith("/./")?F=`.${P.substr(1)}`:P.startsWith("//./")&&(F=`.${P.substr(2)}`),F&&(O=u.joinPath(T,F))}}}return this.openerService.open(O,{openToSide:D,fromUserGesture:M,allowContributedOpeners:!0,allowCommands:!0})},O=>{const T=O instanceof Error?O.message:O;T==="invalid"?this.notificationService.warn(s.localize(0,null,B.url.toString())):T==="missing"?this.notificationService.warn(s.localize(1,null)):(0,k.onUnexpectedError)(O)})}getLinkOccurrence(N){if(!this.editor.hasModel()||!N)return null;const D=this.editor.getModel().getDecorationsInRange({startLineNumber:N.lineNumber,startColumn:N.column,endLineNumber:N.lineNumber,endColumn:N.column},0,!0);for(const M of D){const B=this.currentOccurrences[M.id];if(B)return B}return null}isEnabled(N,D){return Boolean(N.target.type===6&&(N.hasTriggerModifier||D&&D.keyCodeIsTriggerKey))}stop(){var N;this.computeLinks.cancel(),this.activeLinksList&&((N=this.activeLinksList)===null||N===void 0||N.dispose(),this.activeLinksList=null),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)}dispose(){super.dispose(),this.stop()}};S.ID="editor.linkDetector",S=Ie([pe(1,l.IOpenerService),pe(2,a.INotificationService),pe(3,c.ILanguageFeaturesService),pe(4,o.ILanguageFeatureDebounceService)],S),e.LinkDetector=S;const v={general:i.ModelDecorationOptions.register({description:"detected-link",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link"}),active:i.ModelDecorationOptions.register({description:"detected-link-active",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link-active"})};class p{constructor(N,D){this.link=N,this.decorationId=D}static decoration(N,D){return{range:N.range,options:p._getOptions(N,D,!1)}}static _getOptions(N,D,M){const B=Object.assign({},M?v.active:v.general);return B.hoverMessage=_(N,D),B}activate(N,D){N.changeDecorationOptions(this.decorationId,p._getOptions(this.link,D,!0))}deactivate(N,D){N.changeDecorationOptions(this.decorationId,p._getOptions(this.link,D,!1))}}function _(E,N){const D=E.url&&/^command:/i.test(E.url.toString()),M=E.tooltip?E.tooltip:D?s.localize(2,null):s.localize(3,null),B=N?C.isMacintosh?s.localize(4,null):s.localize(5,null):C.isMacintosh?s.localize(6,null):s.localize(7,null);if(E.url){let O="";if(/^command:/i.test(E.url.toString())){const A=E.url.toString().match(/^command:([^?#]+)/);if(A){const P=A[1];O=` "${s.localize(8,null,P)}"`}}return new I.MarkdownString("",!0).appendMarkdown(`[${M}](${E.url.toString(!0).replace(/ /g,"%20")}${O}) (${B})`)}else return new I.MarkdownString().appendText(`${M} (${B})`)}class y extends n.EditorAction{constructor(){super({id:"editor.action.openLink",label:s.localize(9,null),alias:"Open Link",precondition:void 0})}run(N,D){const M=S.get(D);if(!M||!D.hasModel())return;const B=D.getSelections();for(const O of B){const T=M.getLinkOccurrence(O.getEndPosition());T&&M.openLinkOccurrence(T,!1)}}}(0,n.registerEditorContribution)(S.ID,S),(0,n.registerEditorAction)(y),(0,f.registerThemingParticipant)((E,N)=>{const D=E.getColor(h.editorActiveLinkForeground);D&&N.addRule(`.monaco-editor .detected-link-active { color: ${D} !important; }`)})}),define(te[732],ie([1,0,46,10,58,2,15,182,3,22,24,50,38,300,565,37,17,23,14,20]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s,a){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SelectionHighlighter=e.CompatChangeAll=e.SelectHighlightsAction=e.MoveSelectionToPreviousFindMatchAction=e.MoveSelectionToNextFindMatchAction=e.AddSelectionToPreviousFindMatchAction=e.AddSelectionToNextFindMatchAction=e.MultiCursorSelectionControllerAction=e.MultiCursorSelectionController=e.MultiCursorSession=e.MultiCursorSessionResult=e.InsertCursorBelow=e.InsertCursorAbove=void 0;function l(z,j){const $=j.filter(G=>!z.find(J=>J.equals(G)));if($.length>=1){const G=$.map(re=>`line ${re.viewState.position.lineNumber} column ${re.viewState.position.column}`).join(", "),J=$.length===1?o.localize(0,null,G):o.localize(1,null,G);(0,L.status)(J)}}class h extends w.EditorAction{constructor(){super({id:"editor.action.insertCursorAbove",label:o.localize(2,null),alias:"Add Cursor Above",precondition:void 0,kbOpts:{kbExpr:g.EditorContextKeys.editorTextFocus,primary:2048|512|16,linux:{primary:1024|512|16,secondary:[2048|1024|16]},weight:100},menuOpts:{menuId:c.MenuId.MenubarSelectionMenu,group:"3_multi",title:o.localize(3,null),order:2}})}run(j,$,G){if(!$.hasModel())return;let J=!0;G&&G.logicalLine===!1&&(J=!1);const re=$._getViewModel();if(re.cursorConfig.readOnly)return;re.model.pushStackElement();const se=re.getCursorStates();re.setCursorStates(G.source,3,b.CursorMoveCommands.addCursorUp(re,se,J)),re.revealTopMostCursor(G.source),l(se,re.getCursorStates())}}e.InsertCursorAbove=h;class f extends w.EditorAction{constructor(){super({id:"editor.action.insertCursorBelow",label:o.localize(4,null),alias:"Add Cursor Below",precondition:void 0,kbOpts:{kbExpr:g.EditorContextKeys.editorTextFocus,primary:2048|512|18,linux:{primary:1024|512|18,secondary:[2048|1024|18]},weight:100},menuOpts:{menuId:c.MenuId.MenubarSelectionMenu,group:"3_multi",title:o.localize(5,null),order:3}})}run(j,$,G){if(!$.hasModel())return;let J=!0;G&&G.logicalLine===!1&&(J=!1);const re=$._getViewModel();if(re.cursorConfig.readOnly)return;re.model.pushStackElement();const se=re.getCursorStates();re.setCursorStates(G.source,3,b.CursorMoveCommands.addCursorDown(re,se,J)),re.revealBottomMostCursor(G.source),l(se,re.getCursorStates())}}e.InsertCursorBelow=f;class S extends w.EditorAction{constructor(){super({id:"editor.action.insertCursorAtEndOfEachLineSelected",label:o.localize(6,null),alias:"Add Cursors to Line Ends",precondition:void 0,kbOpts:{kbExpr:g.EditorContextKeys.editorTextFocus,primary:1024|512|39,weight:100},menuOpts:{menuId:c.MenuId.MenubarSelectionMenu,group:"3_multi",title:o.localize(7,null),order:4}})}getCursorsForSelection(j,$,G){if(!j.isEmpty()){for(let J=j.startLineNumber;J<j.endLineNumber;J++){let re=$.getLineMaxColumn(J);G.push(new u.Selection(J,re,J,re))}j.endColumn>1&&G.push(new u.Selection(j.endLineNumber,j.endColumn,j.endLineNumber,j.endColumn))}}run(j,$){if(!$.hasModel())return;const G=$.getModel(),J=$.getSelections(),re=$._getViewModel(),se=re.getCursorStates();let Z=[];J.forEach(V=>this.getCursorsForSelection(V,G,Z)),Z.length>0&&$.setSelections(Z),l(se,re.getCursorStates())}}class v extends w.EditorAction{constructor(){super({id:"editor.action.addCursorsToBottom",label:o.localize(8,null),alias:"Add Cursors To Bottom",precondition:void 0})}run(j,$){if(!$.hasModel())return;const G=$.getSelections(),J=$.getModel().getLineCount();let re=[];for(let V=G[0].startLineNumber;V<=J;V++)re.push(new u.Selection(V,G[0].startColumn,V,G[0].endColumn));const se=$._getViewModel(),Z=se.getCursorStates();re.length>0&&$.setSelections(re),l(Z,se.getCursorStates())}}class p extends w.EditorAction{constructor(){super({id:"editor.action.addCursorsToTop",label:o.localize(9,null),alias:"Add Cursors To Top",precondition:void 0})}run(j,$){if(!$.hasModel())return;const G=$.getSelections();let J=[];for(let Z=G[0].startLineNumber;Z>=1;Z--)J.push(new u.Selection(Z,G[0].startColumn,Z,G[0].endColumn));const re=$._getViewModel(),se=re.getCursorStates();J.length>0&&$.setSelections(J),l(se,re.getCursorStates())}}class _{constructor(j,$,G){this.selections=j,this.revealRange=$,this.revealScrollType=G}}e.MultiCursorSessionResult=_;class y{constructor(j,$,G,J,re,se,Z){this._editor=j,this.findController=$,this.isDisconnectedFromFindController=G,this.searchText=J,this.wholeWord=re,this.matchCase=se,this.currentMatch=Z}static create(j,$){if(!j.hasModel())return null;const G=$.getState();if(!j.hasTextFocus()&&G.isRevealed&&G.searchString.length>0)return new y(j,$,!1,G.searchString,G.wholeWord,G.matchCase,null);let J=!1,re,se;const Z=j.getSelections();Z.length===1&&Z[0].isEmpty()?(J=!0,re=!0,se=!0):(re=G.wholeWord,se=G.matchCase);const V=j.getSelection();let K,X=null;if(V.isEmpty()){const oe=j.getConfiguredWordAtPosition(V.getStartPosition());if(!oe)return null;K=oe.word,X=new u.Selection(V.startLineNumber,oe.startColumn,V.startLineNumber,oe.endColumn)}else K=j.getModel().getValueInRange(V).replace(/\r\n/g,`
+`);return new y(j,$,J,K,re,se,X)}addSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const j=this._getNextMatch();if(!j)return null;const $=this._editor.getSelections();return new _($.concat(j),j,0)}moveSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const j=this._getNextMatch();if(!j)return null;const $=this._editor.getSelections();return new _($.slice(0,$.length-1).concat(j),j,0)}_getNextMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const J=this.currentMatch;return this.currentMatch=null,J}this.findController.highlightFindOptions();const j=this._editor.getSelections(),$=j[j.length-1],G=this._editor.getModel().findNextMatch(this.searchText,$.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(117):null,!1);return G?new u.Selection(G.range.startLineNumber,G.range.startColumn,G.range.endLineNumber,G.range.endColumn):null}addSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const j=this._getPreviousMatch();if(!j)return null;const $=this._editor.getSelections();return new _($.concat(j),j,0)}moveSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const j=this._getPreviousMatch();if(!j)return null;const $=this._editor.getSelections();return new _($.slice(0,$.length-1).concat(j),j,0)}_getPreviousMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const J=this.currentMatch;return this.currentMatch=null,J}this.findController.highlightFindOptions();const j=this._editor.getSelections(),$=j[j.length-1],G=this._editor.getModel().findPreviousMatch(this.searchText,$.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(117):null,!1);return G?new u.Selection(G.range.startLineNumber,G.range.startColumn,G.range.endLineNumber,G.range.endColumn):null}selectAll(){return this._editor.hasModel()?(this.findController.highlightFindOptions(),this._editor.getModel().findMatches(this.searchText,!0,!1,this.matchCase,this.wholeWord?this._editor.getOption(117):null,!1,1073741824)):[]}}e.MultiCursorSession=y;class E extends I.Disposable{constructor(j){super();this._sessionDispose=this._register(new I.DisposableStore),this._editor=j,this._ignoreSelectionChange=!1,this._session=null}static get(j){return j.getContribution(E.ID)}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(j){if(!this._session){const $=y.create(this._editor,j);if(!$)return;this._session=$;const G={searchString:this._session.searchText};this._session.isDisconnectedFromFindController&&(G.wholeWordOverride=1,G.matchCaseOverride=1,G.isRegexOverride=2),j.getState().change(G,!1),this._sessionDispose.add(this._editor.onDidChangeCursorSelection(J=>{this._ignoreSelectionChange||this._endSession()})),this._sessionDispose.add(this._editor.onDidBlurEditorText(()=>{this._endSession()})),this._sessionDispose.add(j.getState().onFindReplaceStateChange(J=>{(J.matchCase||J.wholeWord)&&this._endSession()}))}}_endSession(){if(this._sessionDispose.clear(),this._session&&this._session.isDisconnectedFromFindController){const j={wholeWordOverride:0,matchCaseOverride:0,isRegexOverride:0};this._session.findController.getState().change(j,!1)}this._session=null}_setSelections(j){this._ignoreSelectionChange=!0,this._editor.setSelections(j),this._ignoreSelectionChange=!1}_expandEmptyToWord(j,$){if(!$.isEmpty())return $;const G=this._editor.getConfiguredWordAtPosition($.getStartPosition());return G?new u.Selection($.startLineNumber,G.startColumn,$.startLineNumber,G.endColumn):$}_applySessionResult(j){!j||(this._setSelections(j.selections),j.revealRange&&this._editor.revealRangeInCenterIfOutsideViewport(j.revealRange,j.revealScrollType))}getSession(j){return this._session}addSelectionToNextFindMatch(j){if(!!this._editor.hasModel()){if(!this._session){const $=this._editor.getSelections();if($.length>1){const J=j.getState().matchCase;if(!W(this._editor.getModel(),$,J)){const se=this._editor.getModel();let Z=[];for(let V=0,K=$.length;V<K;V++)Z[V]=this._expandEmptyToWord(se,$[V]);this._editor.setSelections(Z);return}}}this._beginSessionIfNeeded(j),this._session&&this._applySessionResult(this._session.addSelectionToNextFindMatch())}}addSelectionToPreviousFindMatch(j){this._beginSessionIfNeeded(j),this._session&&this._applySessionResult(this._session.addSelectionToPreviousFindMatch())}moveSelectionToNextFindMatch(j){this._beginSessionIfNeeded(j),this._session&&this._applySessionResult(this._session.moveSelectionToNextFindMatch())}moveSelectionToPreviousFindMatch(j){this._beginSessionIfNeeded(j),this._session&&this._applySessionResult(this._session.moveSelectionToPreviousFindMatch())}selectAll(j){if(!this._editor.hasModel())return;let $=null;const G=j.getState();if(G.isRevealed&&G.searchString.length>0&&G.isRegex)$=this._editor.getModel().findMatches(G.searchString,!0,G.isRegex,G.matchCase,G.wholeWord?this._editor.getOption(117):null,!1,1073741824);else{if(this._beginSessionIfNeeded(j),!this._session)return;$=this._session.selectAll()}if(G.searchScope){const J=G.searchScope;let re=[];$.forEach(se=>{J.forEach(Z=>{se.range.endLineNumber<=Z.endLineNumber&&se.range.startLineNumber>=Z.startLineNumber&&re.push(se)})}),$=re}if($.length>0){const J=this._editor.getSelection();for(let re=0,se=$.length;re<se;re++){const Z=$[re];if(Z.range.intersectRanges(J)){$[re]=$[0],$[0]=Z;break}}this._setSelections($.map(re=>new u.Selection(re.range.startLineNumber,re.range.startColumn,re.range.endLineNumber,re.range.endColumn)))}}}e.MultiCursorSelectionController=E,E.ID="editor.contrib.multiCursorController";class N extends w.EditorAction{run(j,$){const G=E.get($);if(!G)return;const J=i.CommonFindController.get($);if(!J)return;const re=$._getViewModel();if(re){const se=re.getCursorStates();this._run(G,J),l(se,re.getCursorStates())}}}e.MultiCursorSelectionControllerAction=N;class D extends N{constructor(){super({id:"editor.action.addSelectionToNextFindMatch",label:o.localize(10,null),alias:"Add Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:g.EditorContextKeys.focus,primary:2048|34,weight:100},menuOpts:{menuId:c.MenuId.MenubarSelectionMenu,group:"3_multi",title:o.localize(11,null),order:5}})}_run(j,$){j.addSelectionToNextFindMatch($)}}e.AddSelectionToNextFindMatchAction=D;class M extends N{constructor(){super({id:"editor.action.addSelectionToPreviousFindMatch",label:o.localize(12,null),alias:"Add Selection To Previous Find Match",precondition:void 0,menuOpts:{menuId:c.MenuId.MenubarSelectionMenu,group:"3_multi",title:o.localize(13,null),order:6}})}_run(j,$){j.addSelectionToPreviousFindMatch($)}}e.AddSelectionToPreviousFindMatchAction=M;class B extends N{constructor(){super({id:"editor.action.moveSelectionToNextFindMatch",label:o.localize(14,null),alias:"Move Last Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:g.EditorContextKeys.focus,primary:(0,k.KeyChord)(2048|41,2048|34),weight:100}})}_run(j,$){j.moveSelectionToNextFindMatch($)}}e.MoveSelectionToNextFindMatchAction=B;class O extends N{constructor(){super({id:"editor.action.moveSelectionToPreviousFindMatch",label:o.localize(15,null),alias:"Move Last Selection To Previous Find Match",precondition:void 0})}_run(j,$){j.moveSelectionToPreviousFindMatch($)}}e.MoveSelectionToPreviousFindMatchAction=O;class T extends N{constructor(){super({id:"editor.action.selectHighlights",label:o.localize(16,null),alias:"Select All Occurrences of Find Match",precondition:void 0,kbOpts:{kbExpr:g.EditorContextKeys.focus,primary:2048|1024|42,weight:100},menuOpts:{menuId:c.MenuId.MenubarSelectionMenu,group:"3_multi",title:o.localize(17,null),order:7}})}_run(j,$){j.selectAll($)}}e.SelectHighlightsAction=T;class A extends N{constructor(){super({id:"editor.action.changeAll",label:o.localize(18,null),alias:"Change All Occurrences",precondition:d.ContextKeyExpr.and(g.EditorContextKeys.writable,g.EditorContextKeys.editorTextFocus),kbOpts:{kbExpr:g.EditorContextKeys.editorTextFocus,primary:2048|60,weight:100},contextMenuOpts:{group:"1_modification",order:1.2}})}_run(j,$){j.selectAll($)}}e.CompatChangeAll=A;class P{constructor(j,$,G,J,re){this._model=j,this._searchText=$,this._matchCase=G,this._wordSeparators=J,this._modelVersionId=this._model.getVersionId(),this._cachedFindMatches=null,re&&this._model===re._model&&this._searchText===re._searchText&&this._matchCase===re._matchCase&&this._wordSeparators===re._wordSeparators&&this._modelVersionId===re._modelVersionId&&(this._cachedFindMatches=re._cachedFindMatches)}findMatches(){return this._cachedFindMatches===null&&(this._cachedFindMatches=this._model.findMatches(this._searchText,!0,!1,this._matchCase,this._wordSeparators,!1).map(j=>j.range),this._cachedFindMatches.sort(C.Range.compareRangesUsingStarts)),this._cachedFindMatches}}let F=class Ht extends I.Disposable{constructor(j,$){super();this._languageFeaturesService=$,this.editor=j,this._isEnabled=j.getOption(97),this.decorations=[],this.updateSoon=this._register(new m.RunOnceScheduler(()=>this._update(),300)),this.state=null,this._register(j.onDidChangeConfiguration(J=>{this._isEnabled=j.getOption(97)})),this._register(j.onDidChangeCursorSelection(J=>{!this._isEnabled||(J.selection.isEmpty()?J.reason===3?(this.state&&this._setState(null),this.updateSoon.schedule()):this._setState(null):this._update())})),this._register(j.onDidChangeModel(J=>{this._setState(null)})),this._register(j.onDidChangeModelContent(J=>{this._isEnabled&&this.updateSoon.schedule()}));const G=i.CommonFindController.get(j);G&&this._register(G.getState().onFindReplaceStateChange(J=>{this._update()}))}_update(){this._setState(Ht._createState(this.state,this._isEnabled,this.editor))}static _createState(j,$,G){if(!$||!G.hasModel())return null;const J=G.getSelection();if(J.startLineNumber!==J.endLineNumber)return null;const re=E.get(G);if(!re)return null;const se=i.CommonFindController.get(G);if(!se)return null;let Z=re.getSession(se);if(!Z){const X=G.getSelections();if(X.length>1){const ae=se.getState().matchCase;if(!W(G.getModel(),X,ae))return null}Z=y.create(G,se)}if(!Z||Z.currentMatch||/^[ \t]+$/.test(Z.searchText)||Z.searchText.length>200)return null;const V=se.getState(),K=V.matchCase;if(V.isRevealed){let X=V.searchString;K||(X=X.toLowerCase());let oe=Z.searchText;if(K||(oe=oe.toLowerCase()),X===oe&&Z.matchCase===V.matchCase&&Z.wholeWord===V.wholeWord&&!V.isRegex)return null}return new P(G.getModel(),Z.searchText,Z.matchCase,Z.wholeWord?G.getOption(117):null,j)}_setState(j){if(this.state=j,!this.state){this.decorations=this.editor.deltaDecorations(this.decorations,[]);return}if(!this.editor.hasModel())return;const $=this.editor.getModel();if($.isTooLargeForTokenization())return;const G=this.state.findMatches(),J=this.editor.getSelections();J.sort(C.Range.compareRangesUsingStarts);const re=[];for(let V=0,K=0,X=G.length,oe=J.length;V<X;){const ae=G[V];if(K>=oe)re.push(ae),V++;else{const ee=C.Range.compareRangesUsingStarts(ae,J[K]);ee<0?((J[K].isEmpty()||!C.Range.areIntersecting(ae,J[K]))&&re.push(ae),V++):(ee>0||V++,K++)}}const se=this._languageFeaturesService.documentHighlightProvider.has($)&&this.editor.getOption(72),Z=re.map(V=>({range:V,options:se?Ht._SELECTION_HIGHLIGHT:Ht._SELECTION_HIGHLIGHT_OVERVIEW}));this.decorations=this.editor.deltaDecorations(this.decorations,Z)}dispose(){this._setState(null),super.dispose()}};F.ID="editor.contrib.selectionHighlighter",F._SELECTION_HIGHLIGHT_OVERVIEW=n.ModelDecorationOptions.register({description:"selection-highlight-overview",stickiness:1,className:"selectionHighlight",minimap:{color:(0,s.themeColorFromId)(r.minimapSelectionOccurrenceHighlight),position:t.MinimapPosition.Inline},overviewRuler:{color:(0,s.themeColorFromId)(r.overviewRulerSelectionHighlightForeground),position:t.OverviewRulerLane.Center}}),F._SELECTION_HIGHLIGHT=n.ModelDecorationOptions.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight"}),F=Ie([pe(1,a.ILanguageFeaturesService)],F),e.SelectionHighlighter=F;function W(z,j,$){const G=R(z,j[0],!$);for(let J=1,re=j.length;J<re;J++){const se=j[J];if(se.isEmpty())return!1;const Z=R(z,se,!$);if(G!==Z)return!1}return!0}function R(z,j,$){const G=z.getValueInRange(j);return $?G.toLowerCase():G}(0,w.registerEditorContribution)(E.ID,E),(0,w.registerEditorContribution)(F.ID,F),(0,w.registerEditorAction)(h),(0,w.registerEditorAction)(f),(0,w.registerEditorAction)(S),(0,w.registerEditorAction)(D),(0,w.registerEditorAction)(M),(0,w.registerEditorAction)(B),(0,w.registerEditorAction)(O),(0,w.registerEditorAction)(T),(0,w.registerEditorAction)(A),(0,w.registerEditorAction)(v),(0,w.registerEditorAction)(p)}),define(te[733],ie([1,0,7,117,10,13,4,2,113,8,164,701,578,17,9,82,23,134,14,265,109,282,711,143,389,289]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s,a,l,h,f){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SuggestContentWidget=e.SuggestWidget=e.editorSuggestWidgetStatusForeground=e.editorSuggestWidgetHighlightFocusForeground=e.editorSuggestWidgetHighlightForeground=e.editorSuggestWidgetSelectedBackground=e.editorSuggestWidgetSelectedIconForeground=e.editorSuggestWidgetSelectedForeground=e.editorSuggestWidgetForeground=e.editorSuggestWidgetBorder=e.editorSuggestWidgetBackground=void 0,e.editorSuggestWidgetBackground=(0,d.registerColor)("editorSuggestWidget.background",{dark:d.editorWidgetBackground,light:d.editorWidgetBackground,hc:d.editorWidgetBackground},n.localize(0,null)),e.editorSuggestWidgetBorder=(0,d.registerColor)("editorSuggestWidget.border",{dark:d.editorWidgetBorder,light:d.editorWidgetBorder,hc:d.editorWidgetBorder},n.localize(1,null)),e.editorSuggestWidgetForeground=(0,d.registerColor)("editorSuggestWidget.foreground",{dark:d.editorForeground,light:d.editorForeground,hc:d.editorForeground},n.localize(2,null)),e.editorSuggestWidgetSelectedForeground=(0,d.registerColor)("editorSuggestWidget.selectedForeground",{dark:d.quickInputListFocusForeground,light:d.quickInputListFocusForeground,hc:d.quickInputListFocusForeground},n.localize(3,null)),e.editorSuggestWidgetSelectedIconForeground=(0,d.registerColor)("editorSuggestWidget.selectedIconForeground",{dark:d.quickInputListFocusIconForeground,light:d.quickInputListFocusIconForeground,hc:d.quickInputListFocusIconForeground},n.localize(4,null)),e.editorSuggestWidgetSelectedBackground=(0,d.registerColor)("editorSuggestWidget.selectedBackground",{dark:d.quickInputListFocusBackground,light:d.quickInputListFocusBackground,hc:d.quickInputListFocusBackground},n.localize(5,null)),e.editorSuggestWidgetHighlightForeground=(0,d.registerColor)("editorSuggestWidget.highlightForeground",{dark:d.listHighlightForeground,light:d.listHighlightForeground,hc:d.listHighlightForeground},n.localize(6,null)),e.editorSuggestWidgetHighlightFocusForeground=(0,d.registerColor)("editorSuggestWidget.focusHighlightForeground",{dark:d.listFocusHighlightForeground,light:d.listFocusHighlightForeground,hc:d.listFocusHighlightForeground},n.localize(7,null)),e.editorSuggestWidgetStatusForeground=(0,d.registerColor)("editorSuggestWidgetStatus.foreground",{dark:(0,d.transparent)(e.editorSuggestWidgetForeground,.5),light:(0,d.transparent)(e.editorSuggestWidgetForeground,.5),hc:(0,d.transparent)(e.editorSuggestWidgetForeground,.5)},n.localize(8,null));class S{constructor(y,E){this._service=y,this._key=`suggestWidget.size/${E.getEditorType()}/${E instanceof g.EmbeddedCodeEditorWidget}`}restore(){var y;const E=(y=this._service.get(this._key,0))!==null&&y!==void 0?y:"";try{const N=JSON.parse(E);if(L.Dimension.is(N))return L.Dimension.lift(N)}catch{}}store(y){this._service.store(this._key,JSON.stringify(y),0,1)}reset(){this._service.remove(this._key,0)}}let v=class ii{constructor(y,E,N,D,M){this.editor=y,this._storageService=E,this._state=0,this._isAuto=!1,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new k.TimeoutTimer,this._disposables=new b.DisposableStore,this._onDidSelect=new w.Emitter,this._onDidFocus=new w.Emitter,this._onDidHide=new w.Emitter,this._onDidShow=new w.Emitter,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new w.Emitter,this.onDetailsKeyDown=this._onDetailsKeydown.event,this.element=new a.ResizableHTMLElement,this.element.domNode.classList.add("editor-widget","suggest-widget"),this._contentWidget=new p(this,y),this._persistedSize=new S(E,y);class B{constructor(R,z,j=!1,$=!1){this.persistedSize=R,this.currentSize=z,this.persistHeight=j,this.persistWidth=$}}let O;this._disposables.add(this.element.onDidWillResize(()=>{this._contentWidget.lockPreference(),O=new B(this._persistedSize.restore(),this.element.size)})),this._disposables.add(this.element.onDidResize(W=>{var R,z,j,$;if(this._resize(W.dimension.width,W.dimension.height),O&&(O.persistHeight=O.persistHeight||!!W.north||!!W.south,O.persistWidth=O.persistWidth||!!W.east||!!W.west),!!W.done){if(O){const{itemHeight:G,defaultSize:J}=this.getLayoutInfo(),re=Math.round(G/2);let{width:se,height:Z}=this.element.size;(!O.persistHeight||Math.abs(O.currentSize.height-Z)<=re)&&(Z=(z=(R=O.persistedSize)===null||R===void 0?void 0:R.height)!==null&&z!==void 0?z:J.height),(!O.persistWidth||Math.abs(O.currentSize.width-se)<=re)&&(se=($=(j=O.persistedSize)===null||j===void 0?void 0:j.width)!==null&&$!==void 0?$:J.width),this._persistedSize.store(new L.Dimension(se,Z))}this._contentWidget.unlockPreference(),O=void 0}})),this._messageElement=L.append(this.element.domNode,L.$(".message")),this._listElement=L.append(this.element.domNode,L.$(".tree"));const T=M.createInstance(h.SuggestDetailsWidget,this.editor);T.onDidClose(this.toggleDetails,this,this._disposables),this._details=new h.SuggestDetailsOverlay(T,this.editor);const A=()=>this.element.domNode.classList.toggle("no-icons",!this.editor.getOption(106).showIcons);A();const P=M.createInstance(f.ItemRenderer,this.editor);this._disposables.add(P),this._disposables.add(P.onDidToggleDetails(()=>this.toggleDetails())),this._list=new m.List("SuggestWidget",this._listElement,{getHeight:W=>this.getLayoutInfo().itemHeight,getTemplateId:W=>"suggestion"},[P],{alwaysConsumeMouseWheel:!0,useShadows:!1,mouseSupport:!1,accessibilityProvider:{getRole:()=>"option",getWidgetAriaLabel:()=>n.localize(11,null),getWidgetRole:()=>"listbox",getAriaLabel:W=>{let R=W.textLabel;if(typeof W.completion.label!="string"){const{detail:G,description:J}=W.completion.label;G&&J?R=n.localize(12,null,R,G,J):G?R=n.localize(13,null,R,G):J&&(R=n.localize(14,null,R,J))}if(!W.isResolved||!this._isDetailsVisible())return R;const{documentation:z,detail:j}=W.completion,$=u.format("{0}{1}",j||"",z?typeof z=="string"?z:z.value:"");return n.localize(15,null,R,$)}}}),this._status=M.createInstance(t.SuggestWidgetStatus,this.element.domNode);const F=()=>this.element.domNode.classList.toggle("with-status-bar",this.editor.getOption(106).showStatusBar);F(),this._disposables.add((0,r.attachListStyler)(this._list,D,{listInactiveFocusBackground:e.editorSuggestWidgetSelectedBackground,listInactiveFocusOutline:d.activeContrastBorder})),this._disposables.add(D.onDidColorThemeChange(W=>this._onThemeChange(W))),this._onThemeChange(D.getColorTheme()),this._disposables.add(this._list.onMouseDown(W=>this._onListMouseDownOrTap(W))),this._disposables.add(this._list.onTap(W=>this._onListMouseDownOrTap(W))),this._disposables.add(this._list.onDidChangeSelection(W=>this._onListSelection(W))),this._disposables.add(this._list.onDidChangeFocus(W=>this._onListFocus(W))),this._disposables.add(this.editor.onDidChangeCursorSelection(()=>this._onCursorSelectionChanged())),this._disposables.add(this.editor.onDidChangeConfiguration(W=>{W.hasChanged(106)&&(F(),A())})),this._ctxSuggestWidgetVisible=l.Context.Visible.bindTo(N),this._ctxSuggestWidgetDetailsVisible=l.Context.DetailsVisible.bindTo(N),this._ctxSuggestWidgetMultipleSuggestions=l.Context.MultipleSuggestions.bindTo(N),this._disposables.add(L.addStandardDisposableListener(this._details.widget.domNode,"keydown",W=>{this._onDetailsKeydown.fire(W)})),this._disposables.add(this.editor.onMouseDown(W=>this._onEditorMouseDown(W)))}dispose(){var y;this._details.widget.dispose(),this._details.dispose(),this._list.dispose(),this._status.dispose(),this._disposables.dispose(),(y=this._loadingTimeout)===null||y===void 0||y.dispose(),this._showTimeout.dispose(),this._contentWidget.dispose(),this.element.dispose()}_onEditorMouseDown(y){this._details.widget.domNode.contains(y.target.element)?this._details.widget.domNode.focus():this.element.domNode.contains(y.target.element)&&this.editor.focus()}_onCursorSelectionChanged(){this._state!==0&&this._contentWidget.layout()}_onListMouseDownOrTap(y){typeof y.element=="undefined"||typeof y.index=="undefined"||(y.browserEvent.preventDefault(),y.browserEvent.stopPropagation(),this._select(y.element,y.index))}_onListSelection(y){y.elements.length&&this._select(y.elements[0],y.indexes[0])}_select(y,E){const N=this._completionModel;N&&(this._onDidSelect.fire({item:y,index:E,model:N}),this.editor.focus())}_onThemeChange(y){this._details.widget.borderWidth=y.type==="hc"?2:1}_onListFocus(y){var E;if(this._ignoreFocusEvents)return;if(!y.elements.length){this._currentSuggestionDetails&&(this._currentSuggestionDetails.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=void 0),this.editor.setAriaOptions({activeDescendant:void 0});return}if(!this._completionModel)return;const N=y.elements[0],D=y.indexes[0];N!==this._focusedItem&&((E=this._currentSuggestionDetails)===null||E===void 0||E.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=N,this._list.reveal(D),this._currentSuggestionDetails=(0,k.createCancelablePromise)(M=>we(this,void 0,void 0,function*(){const B=(0,k.disposableTimeout)(()=>{this._isDetailsVisible()&&this.showDetails(!0)},250),O=M.onCancellationRequested(()=>B.dispose()),T=yield N.resolve(M);return B.dispose(),O.dispose(),T})),this._currentSuggestionDetails.then(()=>{D>=this._list.length||N!==this._list.element(D)||(this._ignoreFocusEvents=!0,this._list.splice(D,1,[N]),this._list.setFocus([D]),this._ignoreFocusEvents=!1,this._isDetailsVisible()?this.showDetails(!1):this.element.domNode.classList.remove("docs-side"),this.editor.setAriaOptions({activeDescendant:(0,f.getAriaId)(D)}))}).catch(I.onUnexpectedError)),this._onDidFocus.fire({item:N,index:D,model:this._completionModel})}_setState(y){if(this._state!==y)switch(this._state=y,this.element.domNode.classList.toggle("frozen",y===4),this.element.domNode.classList.remove("message"),y){case 0:L.hide(this._messageElement,this._listElement,this._status.element),this._details.hide(!0),this._status.hide(),this._contentWidget.hide(),this._ctxSuggestWidgetVisible.reset(),this._ctxSuggestWidgetMultipleSuggestions.reset(),this._showTimeout.cancel(),this.element.domNode.classList.remove("visible"),this._list.splice(0,this._list.length),this._focusedItem=void 0,this._cappedHeight=void 0,this._explainMode=!1;break;case 1:this.element.domNode.classList.add("message"),this._messageElement.textContent=ii.LOADING_MESSAGE,L.hide(this._listElement,this._status.element),L.show(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0;break;case 2:this.element.domNode.classList.add("message"),this._messageElement.textContent=ii.NO_SUGGESTIONS_MESSAGE,L.hide(this._listElement,this._status.element),L.show(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0;break;case 3:L.hide(this._messageElement),L.show(this._listElement,this._status.element),this._show();break;case 4:L.hide(this._messageElement),L.show(this._listElement,this._status.element),this._show();break;case 5:L.hide(this._messageElement),L.show(this._listElement,this._status.element),this._details.show(),this._show();break}}_show(){this._status.show(),this._contentWidget.show(),this._layout(this._persistedSize.restore()),this._ctxSuggestWidgetVisible.set(!0),this._showTimeout.cancelAndSet(()=>{this.element.domNode.classList.add("visible"),this._onDidShow.fire(this)},100)}showTriggered(y,E){this._state===0&&(this._contentWidget.setPosition(this.editor.getPosition()),this._isAuto=!!y,this._isAuto||(this._loadingTimeout=(0,k.disposableTimeout)(()=>this._setState(1),E)))}showSuggestions(y,E,N,D){var M,B;if(this._contentWidget.setPosition(this.editor.getPosition()),(M=this._loadingTimeout)===null||M===void 0||M.dispose(),(B=this._currentSuggestionDetails)===null||B===void 0||B.cancel(),this._currentSuggestionDetails=void 0,this._completionModel!==y&&(this._completionModel=y),N&&this._state!==2&&this._state!==0){this._setState(4);return}const O=this._completionModel.items.length,T=O===0;if(this._ctxSuggestWidgetMultipleSuggestions.set(O>1),T){this._setState(D?0:2),this._completionModel=void 0;return}this._focusedItem=void 0,this._list.splice(0,this._list.length,this._completionModel.items),this._setState(N?4:3),this._list.reveal(E,0),this._list.setFocus([E]),this._layout(this.element.size),this._details.widget.domNode.classList.remove("focused")}selectNextPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageDown(),!0;case 1:return!this._isAuto;default:return this._list.focusNextPage(),!0}}selectNext(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusNext(1,!0),!0}}selectLast(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollBottom(),!0;case 1:return!this._isAuto;default:return this._list.focusLast(),!0}}selectPreviousPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageUp(),!0;case 1:return!this._isAuto;default:return this._list.focusPreviousPage(),!0}}selectPrevious(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusPrevious(1,!0),!1}}selectFirst(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollTop(),!0;case 1:return!this._isAuto;default:return this._list.focusFirst(),!0}}getFocusedItem(){if(this._state!==0&&this._state!==2&&this._state!==1&&this._completionModel)return{item:this._list.getFocusedElements()[0],index:this._list.getFocus()[0],model:this._completionModel}}toggleDetailsFocus(){this._state===5?(this._setState(3),this._details.widget.domNode.classList.remove("focused")):this._state===3&&this._isDetailsVisible()&&(this._setState(5),this._details.widget.domNode.classList.add("focused"))}toggleDetails(){this._isDetailsVisible()?(this._ctxSuggestWidgetDetailsVisible.set(!1),this._setDetailsVisible(!1),this._details.hide(),this.element.domNode.classList.remove("shows-details")):((0,h.canExpandCompletionItem)(this._list.getFocusedElements()[0])||this._explainMode)&&(this._state===3||this._state===5||this._state===4)&&(this._ctxSuggestWidgetDetailsVisible.set(!0),this._setDetailsVisible(!0),this.showDetails(!1))}showDetails(y){this._details.show(),y?this._details.widget.renderLoading():this._details.widget.renderItem(this._list.getFocusedElements()[0],this._explainMode),this._positionDetails(),this.editor.focus(),this.element.domNode.classList.add("shows-details")}toggleExplainMode(){this._list.getFocusedElements()[0]&&(this._explainMode=!this._explainMode,this._isDetailsVisible()?this.showDetails(!1):this.toggleDetails())}resetPersistedSize(){this._persistedSize.reset()}hideWidget(){var y;(y=this._loadingTimeout)===null||y===void 0||y.dispose(),this._setState(0),this._onDidHide.fire(this),this.element.clearSashHoverState();const E=this._persistedSize.restore(),N=Math.ceil(this.getLayoutInfo().itemHeight*4.3);E&&E.height<N&&this._persistedSize.store(E.with(void 0,N))}isFrozen(){return this._state===4}_afterRender(y){if(y===null){this._isDetailsVisible()&&this._details.hide();return}this._state===2||this._state===1||(this._isDetailsVisible()&&this._details.show(),this._positionDetails())}_layout(y){var E,N,D;if(!this.editor.hasModel()||!this.editor.getDomNode())return;const M=L.getClientArea(document.body),B=this.getLayoutInfo();y||(y=B.defaultSize);let O=y.height,T=y.width;if(this._status.element.style.lineHeight=`${B.itemHeight}px`,this._state===2||this._state===1)O=B.itemHeight+B.borderHeight,T=B.defaultSize.width/2,this.element.enableSashes(!1,!1,!1,!1),this.element.minSize=this.element.maxSize=new L.Dimension(T,O),this._contentWidget.setPreference(2);else{const A=M.width-B.borderHeight-2*B.horizontalPadding;T>A&&(T=A);const P=this._completionModel?this._completionModel.stats.pLabelLen*B.typicalHalfwidthCharacterWidth:T,F=B.statusBarHeight+this._list.contentHeight+B.borderHeight,W=B.itemHeight+B.statusBarHeight,R=L.getDomNodePagePosition(this.editor.getDomNode()),z=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),j=R.top+z.top+z.height,$=Math.min(M.height-j-B.verticalPadding,F),G=R.top+z.top-B.verticalPadding,J=Math.min(G,F);let re=Math.min(Math.max(J,$)+B.borderHeight,F);O===((E=this._cappedHeight)===null||E===void 0?void 0:E.capped)&&(O=this._cappedHeight.wanted),O<W&&(O=W),O>re&&(O=re);const se=150;O>$||this._forceRenderingAbove&&G>se?(this._contentWidget.setPreference(1),this.element.enableSashes(!0,!0,!1,!1),re=J):(this._contentWidget.setPreference(2),this.element.enableSashes(!1,!0,!0,!1),re=$),this.element.preferredSize=new L.Dimension(P,B.defaultSize.height),this.element.maxSize=new L.Dimension(A,re),this.element.minSize=new L.Dimension(220,W),this._cappedHeight=O===F?{wanted:(D=(N=this._cappedHeight)===null||N===void 0?void 0:N.wanted)!==null&&D!==void 0?D:y.height,capped:O}:void 0}this._resize(T,O)}_resize(y,E){const{width:N,height:D}=this.element.maxSize;y=Math.min(N,y),E=Math.min(D,E);const{statusBarHeight:M}=this.getLayoutInfo();this._list.layout(E-M,y),this._listElement.style.height=`${E-M}px`,this.element.layout(E,y),this._contentWidget.layout(),this._positionDetails()}_positionDetails(){var y;this._isDetailsVisible()&&this._details.placeAtAnchor(this.element.domNode,((y=this._contentWidget.getPosition())===null||y===void 0?void 0:y.preference[0])===2)}getLayoutInfo(){const y=this.editor.getOption(44),E=(0,C.clamp)(this.editor.getOption(108)||y.lineHeight,8,1e3),N=!this.editor.getOption(106).showStatusBar||this._state===2||this._state===1?0:E,D=this._details.widget.borderWidth,M=2*D;return{itemHeight:E,statusBarHeight:N,borderWidth:D,borderHeight:M,typicalHalfwidthCharacterWidth:y.typicalHalfwidthCharacterWidth,verticalPadding:22,horizontalPadding:14,defaultSize:new L.Dimension(430,N+12*E+M)}}_isDetailsVisible(){return this._storageService.getBoolean("expandSuggestionDocs",0,!1)}_setDetailsVisible(y){this._storageService.store("expandSuggestionDocs",y,0,0)}forceRenderingAbove(){this._forceRenderingAbove||(this._forceRenderingAbove=!0,this._layout(this._persistedSize.restore()))}stopForceRenderingAbove(){this._forceRenderingAbove=!1}};v.LOADING_MESSAGE=n.localize(9,null),v.NO_SUGGESTIONS_MESSAGE=n.localize(10,null),v=Ie([pe(1,c.IStorageService),pe(2,i.IContextKeyService),pe(3,s.IThemeService),pe(4,o.IInstantiationService)],v),e.SuggestWidget=v;class p{constructor(y,E){this._widget=y,this._editor=E,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._preferenceLocked=!1,this._added=!1,this._hidden=!1}dispose(){this._added&&(this._added=!1,this._editor.removeContentWidget(this))}getId(){return"editor.widget.suggestWidget"}getDomNode(){return this._widget.element.domNode}show(){this._hidden=!1,this._added||(this._added=!0,this._editor.addContentWidget(this))}hide(){this._hidden||(this._hidden=!0,this.layout())}layout(){this._editor.layoutContentWidget(this)}getPosition(){return this._hidden||!this._position||!this._preference?null:{position:this._position,preference:[this._preference]}}beforeRender(){const{height:y,width:E}=this._widget.element.size,{borderWidth:N,horizontalPadding:D}=this._widget.getLayoutInfo();return new L.Dimension(E+2*N+D,y+2*N)}afterRender(y){this._widget._afterRender(y)}setPreference(y){this._preferenceLocked||(this._preference=y)}lockPreference(){this._preferenceLocked=!0}unlockPreference(){this._preferenceLocked=!1}setPosition(y){this._position=y}}e.SuggestContentWidget=p}),define(te[734],ie([1,0,10,2,15,274,48,297,287,41,14,67,55,20]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});let o=class extends m.Disposable{constructor(d,r,s,a,l,h){super();this._modelService=r,this._themeService=s,this._configurationService=a,this._editor=d,this._provider=h.documentRangeSemanticTokensProvider,this._debounceInformation=l.for(this._provider,"DocumentRangeSemanticTokens",{min:100,max:500}),this._tokenizeViewport=this._register(new L.RunOnceScheduler(()=>this._tokenizeViewportNow(),100)),this._outstandingRequests=[];const f=()=>{this._editor.hasModel()&&this._tokenizeViewport.schedule(this._debounceInformation.get(this._editor.getModel()))};this._register(this._editor.onDidScrollChange(()=>{f()})),this._register(this._editor.onDidChangeModel(()=>{this._cancelAll(),f()})),this._register(this._editor.onDidChangeModelContent(S=>{this._cancelAll(),f()})),this._register(this._provider.onDidChange(()=>{this._cancelAll(),f()})),this._register(this._configurationService.onDidChangeConfiguration(S=>{S.affectsConfiguration(b.SEMANTIC_HIGHLIGHTING_SETTING_ID)&&(this._cancelAll(),f())})),this._register(this._themeService.onDidColorThemeChange(()=>{this._cancelAll(),f()}))}_cancelAll(){for(const d of this._outstandingRequests)d.cancel();this._outstandingRequests=[]}_removeOutstandingRequest(d){for(let r=0,s=this._outstandingRequests.length;r<s;r++)if(this._outstandingRequests[r]===d){this._outstandingRequests.splice(r,1);return}}_tokenizeViewportNow(){if(!this._editor.hasModel())return;const d=this._editor.getModel();if(d.hasCompleteSemanticTokens())return;if(!(0,b.isSemanticColoringEnabled)(d,this._themeService,this._configurationService)){d.hasSomeSemanticTokens()&&d.setSemanticTokens(null,!1);return}if(!(0,I.hasDocumentRangeSemanticTokensProvider)(this._provider,d)){d.hasSomeSemanticTokens()&&d.setSemanticTokens(null,!1);return}const r=this._editor.getVisibleRangesPlusViewportAboveBelow();this._outstandingRequests=this._outstandingRequests.concat(r.map(s=>this._requestRange(d,s)))}_requestRange(d,r){const s=d.getVersionId(),a=(0,L.createCancelablePromise)(h=>Promise.resolve((0,I.getDocumentRangeSemanticTokens)(this._provider,d,r,h))),l=new n.StopWatch(!1);return a.then(h=>{if(this._debounceInformation.update(d,l.elapsed()),!h||!h.tokens||d.isDisposed()||d.getVersionId()!==s)return;const{provider:f,tokens:S}=h,v=this._modelService.getSemanticTokensProviderStyling(f);d.setPartialSemanticTokens(r,(0,C.toMultilineTokens2)(S,v,d.getLanguageId()))}).then(()=>this._removeOutstandingRequest(a),()=>this._removeOutstandingRequest(a)),a}};o.ID="editor.contrib.viewportSemanticTokens",o=Ie([pe(1,w.IModelService),pe(2,g.IThemeService),pe(3,u.IConfigurationService),pe(4,t.ILanguageFeatureDebounceService),pe(5,i.ILanguageFeaturesService)],o),(0,k.registerEditorContribution)(o.ID,o)}),define(te[735],ie([1,0,46,18,10,21,13,2,15,3,24,50,38,27,587,17,23,14,20]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getOccurrencesAtPosition=void 0;const a=(0,d.registerColor)("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hc:null},o.localize(0,null),!0),l=(0,d.registerColor)("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hc:null},o.localize(1,null),!0),h=(0,d.registerColor)("editor.wordHighlightBorder",{light:null,dark:null,hc:d.activeContrastBorder},o.localize(2,null)),f=(0,d.registerColor)("editor.wordHighlightStrongBorder",{light:null,dark:null,hc:d.activeContrastBorder},o.localize(3,null)),S=(0,d.registerColor)("editorOverviewRuler.wordHighlightForeground",{dark:"#A0A0A0CC",light:"#A0A0A0CC",hc:"#A0A0A0CC"},o.localize(4,null),!0),v=(0,d.registerColor)("editorOverviewRuler.wordHighlightStrongForeground",{dark:"#C0A0C0CC",light:"#C0A0C0CC",hc:"#C0A0C0CC"},o.localize(5,null),!0),p=new c.RawContextKey("hasWordHighlights",!1);function _(F,W,R,z){const j=F.ordered(W);return(0,k.first)(j.map($=>()=>Promise.resolve($.provideDocumentHighlights(W,R,z)).then(void 0,w.onUnexpectedExternalError)),m.isNonEmptyArray)}e.getOccurrencesAtPosition=_;class y{constructor(W,R,z){this._model=W,this._selection=R,this._wordSeparators=z,this._wordRange=this._getCurrentWordRange(W,R),this._result=null}get result(){return this._result||(this._result=(0,k.createCancelablePromise)(W=>this._compute(this._model,this._selection,this._wordSeparators,W))),this._result}_getCurrentWordRange(W,R){const z=W.getWordAtPosition(R.getPosition());return z?new u.Range(R.startLineNumber,z.startColumn,R.startLineNumber,z.endColumn):null}isValid(W,R,z){const j=R.startLineNumber,$=R.startColumn,G=R.endColumn,J=this._getCurrentWordRange(W,R);let re=Boolean(this._wordRange&&this._wordRange.equalsRange(J));for(let se=0,Z=z.length;!re&&se<Z;se++){let V=W.getDecorationRange(z[se]);V&&V.startLineNumber===j&&V.startColumn<=$&&V.endColumn>=G&&(re=!0)}return re}cancel(){this.result.cancel()}}class E extends y{constructor(W,R,z,j){super(W,R,z);this._providers=j}_compute(W,R,z,j){return _(this._providers,W,R.getPosition(),j).then($=>$||[])}}class N extends y{constructor(W,R,z){super(W,R,z);this._selectionIsEmpty=R.isEmpty()}_compute(W,R,z,j){return(0,k.timeout)(250,j).then(()=>{if(!R.isEmpty())return[];const $=W.getWordAtPosition(R.getPosition());return!$||$.word.length>1e3?[]:W.findMatches($.word,!0,!1,!0,z,!1).map(J=>({range:J.range,kind:i.DocumentHighlightKind.Text}))})}isValid(W,R,z){const j=R.isEmpty();return this._selectionIsEmpty!==j?!1:super.isValid(W,R,z)}}function D(F,W,R,z){return F.has(W)?new E(W,R,z,F):new N(W,R,z)}(0,C.registerModelAndPositionCommand)("_executeDocumentHighlights",(F,W,R)=>{const z=F.get(s.ILanguageFeaturesService);return _(z.documentHighlightProvider,W,R,I.CancellationToken.None)});class M{constructor(W,R,z){this.toUnhook=new b.DisposableStore,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=[],this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.editor=W,this.providers=R,this._hasWordHighlights=p.bindTo(z),this._ignorePositionChangeEvent=!1,this.occurrencesHighlight=this.editor.getOption(72),this.model=this.editor.getModel(),this.toUnhook.add(W.onDidChangeCursorPosition(j=>{this._ignorePositionChangeEvent||!this.occurrencesHighlight||this._onPositionChanged(j)})),this.toUnhook.add(W.onDidChangeModelContent(j=>{this._stopAll()})),this.toUnhook.add(W.onDidChangeConfiguration(j=>{let $=this.editor.getOption(72);this.occurrencesHighlight!==$&&(this.occurrencesHighlight=$,this._stopAll())})),this._decorationIds=[],this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1}hasDecorations(){return this._decorationIds.length>0}restore(){!this.occurrencesHighlight||this._run()}_getSortedHighlights(){return m.coalesce(this._decorationIds.map(W=>this.model.getDecorationRange(W)).sort(u.Range.compareRangesUsingStarts))}moveNext(){let W=this._getSortedHighlights(),z=(W.findIndex($=>$.containsPosition(this.editor.getPosition()))+1)%W.length,j=W[z];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(j.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(j);const $=this._getWord();if($){const G=this.editor.getModel().getLineContent(j.startLineNumber);(0,L.alert)(`${G}, ${z+1} of ${W.length} for '${$.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}moveBack(){let W=this._getSortedHighlights(),z=(W.findIndex($=>$.containsPosition(this.editor.getPosition()))-1+W.length)%W.length,j=W[z];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(j.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(j);const $=this._getWord();if($){const G=this.editor.getModel().getLineContent(j.startLineNumber);(0,L.alert)(`${G}, ${z+1} of ${W.length} for '${$.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}_removeDecorations(){this._decorationIds.length>0&&(this._decorationIds=this.editor.deltaDecorations(this._decorationIds,[]),this._hasWordHighlights.set(!1))}_stopAll(){this._removeDecorations(),this.renderDecorationsTimer!==-1&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),this.workerRequest!==null&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_onPositionChanged(W){if(!this.occurrencesHighlight){this._stopAll();return}if(W.reason!==3){this._stopAll();return}this._run()}_getWord(){let W=this.editor.getSelection(),R=W.startLineNumber,z=W.startColumn;return this.model.getWordAtPosition({lineNumber:R,column:z})}_run(){let W=this.editor.getSelection();if(W.startLineNumber!==W.endLineNumber){this._stopAll();return}let R=W.startColumn,z=W.endColumn;const j=this._getWord();if(!j||j.startColumn>R||j.endColumn<z){this._stopAll();return}const $=this.workerRequest&&this.workerRequest.isValid(this.model,W,this._decorationIds);if(this.lastCursorPositionChangeTime=new Date().getTime(),$)this.workerRequestCompleted&&this.renderDecorationsTimer!==-1&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1,this._beginRenderDecorations());else{this._stopAll();let G=++this.workerRequestTokenId;this.workerRequestCompleted=!1,this.workerRequest=D(this.providers,this.model,this.editor.getSelection(),this.editor.getOption(117)),this.workerRequest.result.then(J=>{G===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=J||[],this._beginRenderDecorations())},w.onUnexpectedError)}}_beginRenderDecorations(){let W=new Date().getTime(),R=this.lastCursorPositionChangeTime+250;W>=R?(this.renderDecorationsTimer=-1,this.renderDecorations()):this.renderDecorationsTimer=setTimeout(()=>{this.renderDecorations()},R-W)}renderDecorations(){this.renderDecorationsTimer=-1;let W=[];for(const R of this.workerRequestValue)R.range&&W.push({range:R.range,options:M._getDecorationOptions(R.kind)});this._decorationIds=this.editor.deltaDecorations(this._decorationIds,W),this._hasWordHighlights.set(this.hasDecorations())}static _getDecorationOptions(W){return W===i.DocumentHighlightKind.Write?this._WRITE_OPTIONS:W===i.DocumentHighlightKind.Text?this._TEXT_OPTIONS:this._REGULAR_OPTIONS}dispose(){this._stopAll(),this.toUnhook.dispose()}}M._WRITE_OPTIONS=n.ModelDecorationOptions.register({description:"word-highlight-strong",stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:(0,r.themeColorFromId)(v),position:t.OverviewRulerLane.Center},minimap:{color:(0,r.themeColorFromId)(d.minimapSelectionOccurrenceHighlight),position:t.MinimapPosition.Inline}}),M._TEXT_OPTIONS=n.ModelDecorationOptions.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight",overviewRuler:{color:(0,r.themeColorFromId)(d.overviewRulerSelectionHighlightForeground),position:t.OverviewRulerLane.Center},minimap:{color:(0,r.themeColorFromId)(d.minimapSelectionOccurrenceHighlight),position:t.MinimapPosition.Inline}}),M._REGULAR_OPTIONS=n.ModelDecorationOptions.register({description:"word-highlight",stickiness:1,className:"wordHighlight",overviewRuler:{color:(0,r.themeColorFromId)(S),position:t.OverviewRulerLane.Center},minimap:{color:(0,r.themeColorFromId)(d.minimapSelectionOccurrenceHighlight),position:t.MinimapPosition.Inline}});let B=class Vi extends b.Disposable{constructor(W,R,z){super();this.wordHighlighter=null;const j=()=>{W.hasModel()&&(this.wordHighlighter=new M(W,z.documentHighlightProvider,R))};this._register(W.onDidChangeModel($=>{this.wordHighlighter&&(this.wordHighlighter.dispose(),this.wordHighlighter=null),j()})),j()}static get(W){return W.getContribution(Vi.ID)}saveViewState(){return!!(this.wordHighlighter&&this.wordHighlighter.hasDecorations())}moveNext(){this.wordHighlighter&&this.wordHighlighter.moveNext()}moveBack(){this.wordHighlighter&&this.wordHighlighter.moveBack()}restoreViewState(W){this.wordHighlighter&&W&&this.wordHighlighter.restore()}dispose(){this.wordHighlighter&&(this.wordHighlighter.dispose(),this.wordHighlighter=null),super.dispose()}};B.ID="editor.contrib.wordHighlighter",B=Ie([pe(1,c.IContextKeyService),pe(2,s.ILanguageFeaturesService)],B);class O extends C.EditorAction{constructor(W,R){super(R);this._isNext=W}run(W,R){const z=B.get(R);!z||(this._isNext?z.moveNext():z.moveBack())}}class T extends O{constructor(){super(!0,{id:"editor.action.wordHighlight.next",label:o.localize(6,null),alias:"Go to Next Symbol Highlight",precondition:p,kbOpts:{kbExpr:g.EditorContextKeys.editorTextFocus,primary:65,weight:100}})}}class A extends O{constructor(){super(!1,{id:"editor.action.wordHighlight.prev",label:o.localize(7,null),alias:"Go to Previous Symbol Highlight",precondition:p,kbOpts:{kbExpr:g.EditorContextKeys.editorTextFocus,primary:1024|65,weight:100}})}}class P extends C.EditorAction{constructor(){super({id:"editor.action.wordHighlight.trigger",label:o.localize(8,null),alias:"Trigger Symbol Highlight",precondition:p.toNegated(),kbOpts:{kbExpr:g.EditorContextKeys.editorTextFocus,primary:0,weight:100}})}run(W,R,z){const j=B.get(R);!j||j.restoreViewState(!0)}}(0,C.registerEditorContribution)(B.ID,B),(0,C.registerEditorAction)(T),(0,C.registerEditorAction)(A),(0,C.registerEditorAction)(P),(0,r.registerThemingParticipant)((F,W)=>{const R=F.getColor(d.editorSelectionHighlight);R&&(W.addRule(`.monaco-editor .focused .selectionHighlight { background-color: ${R}; }`),W.addRule(`.monaco-editor .selectionHighlight { background-color: ${R.transparent(.5)}; }`));const z=F.getColor(a);z&&W.addRule(`.monaco-editor .wordHighlight { background-color: ${z}; }`);const j=F.getColor(l);j&&W.addRule(`.monaco-editor .wordHighlightStrong { background-color: ${j}; }`);const $=F.getColor(d.editorSelectionHighlightBorder);$&&W.addRule(`.monaco-editor .selectionHighlight { border: 1px ${F.type==="hc"?"dotted":"solid"} ${$}; box-sizing: border-box; }`);const G=F.getColor(h);G&&W.addRule(`.monaco-editor .wordHighlight { border: 1px ${F.type==="hc"?"dashed":"solid"} ${G}; box-sizing: border-box; }`);const J=F.getColor(f);J&&W.addRule(`.monaco-editor .wordHighlightStrong { border: 1px ${F.type==="hc"?"dashed":"solid"} ${J}; box-sizing: border-box; }`)})}),define(te[736],ie([1,0,7,116,30,136,2,40,3,38,392]),function(q,e,L,m,k,I,w,b,C,u){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ZoneWidget=e.OverlayWidgetDelegate=e.ViewZoneDelegate=void 0;const g=new k.Color(new k.RGBA(0,122,204)),t={showArrow:!0,showFrame:!0,className:"",frameColor:g,arrowColor:g,keepEditorSelection:!1},n="vs.editor.contrib.zoneWidget";class i{constructor(s,a,l,h,f,S){this.id="",this.domNode=s,this.afterLineNumber=a,this.afterColumn=l,this.heightInLines=h,this._onDomNodeTop=f,this._onComputedHeight=S}onDomNodeTop(s){this._onDomNodeTop(s)}onComputedHeight(s){this._onComputedHeight(s)}}e.ViewZoneDelegate=i;class o{constructor(s,a){this._id=s,this._domNode=a}getId(){return this._id}getDomNode(){return this._domNode}getPosition(){return null}}e.OverlayWidgetDelegate=o;class c{constructor(s){this._editor=s,this._ruleName=c._IdGenerator.nextId(),this._decorations=[],this._color=null,this._height=-1}dispose(){this.hide(),L.removeCSSRulesContainingSelector(this._ruleName)}set color(s){this._color!==s&&(this._color=s,this._updateStyle())}set height(s){this._height!==s&&(this._height=s,this._updateStyle())}_updateStyle(){L.removeCSSRulesContainingSelector(this._ruleName),L.createCSSRule(`.monaco-editor ${this._ruleName}`,`border-style: solid; border-color: transparent; border-bottom-color: ${this._color}; border-width: ${this._height}px; bottom: -${this._height}px; margin-left: -${this._height}px; `)}show(s){s.column===1&&(s={lineNumber:s.lineNumber,column:2}),this._decorations=this._editor.deltaDecorations(this._decorations,[{range:C.Range.fromPositions(s),options:{description:"zone-widget-arrow",className:this._ruleName,stickiness:1}}])}hide(){this._editor.deltaDecorations(this._decorations,[])}}c._IdGenerator=new I.IdGenerator(".arrow-decoration-");class d{constructor(s,a={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._positionMarkerId=[],this._viewZone=null,this._disposables=new w.DisposableStore,this.container=null,this._isShowing=!1,this.editor=s,this.options=b.deepClone(a),b.mixin(this.options,t,!1),this.domNode=document.createElement("div"),this.options.isAccessible||(this.domNode.setAttribute("aria-hidden","true"),this.domNode.setAttribute("role","presentation")),this._disposables.add(this.editor.onDidLayoutChange(l=>{const h=this._getWidth(l);this.domNode.style.width=h+"px",this.domNode.style.left=this._getLeft(l)+"px",this._onWidth(h)}))}dispose(){this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._viewZone&&this.editor.changeViewZones(s=>{this._viewZone&&s.removeZone(this._viewZone.id),this._viewZone=null}),this.editor.deltaDecorations(this._positionMarkerId,[]),this._positionMarkerId=[],this._disposables.dispose()}create(){this.domNode.classList.add("zone-widget"),this.options.className&&this.domNode.classList.add(this.options.className),this.container=document.createElement("div"),this.container.classList.add("zone-widget-container"),this.domNode.appendChild(this.container),this.options.showArrow&&(this._arrow=new c(this.editor),this._disposables.add(this._arrow)),this._fillContainer(this.container),this._initSash(),this._applyStyles()}style(s){s.frameColor&&(this.options.frameColor=s.frameColor),s.arrowColor&&(this.options.arrowColor=s.arrowColor),this._applyStyles()}_applyStyles(){if(this.container&&this.options.frameColor){let s=this.options.frameColor.toString();this.container.style.borderTopColor=s,this.container.style.borderBottomColor=s}if(this._arrow&&this.options.arrowColor){let s=this.options.arrowColor.toString();this._arrow.color=s}}_getWidth(s){return s.width-s.minimap.minimapWidth-s.verticalScrollbarWidth}_getLeft(s){return s.minimap.minimapWidth>0&&s.minimap.minimapLeft===0?s.minimap.minimapWidth:0}_onViewZoneTop(s){this.domNode.style.top=s+"px"}_onViewZoneHeight(s){if(this.domNode.style.height=`${s}px`,this.container){let a=s-this._decoratingElementsHeight();this.container.style.height=`${a}px`;const l=this.editor.getLayoutInfo();this._doLayout(a,this._getWidth(l))}this._resizeSash&&this._resizeSash.layout()}get position(){const[s]=this._positionMarkerId;if(!s)return;const a=this.editor.getModel();if(!a)return;const l=a.getDecorationRange(s);if(!!l)return l.getStartPosition()}show(s,a){const l=C.Range.isIRange(s)?C.Range.lift(s):C.Range.fromPositions(s);this._isShowing=!0,this._showImpl(l,a),this._isShowing=!1,this._positionMarkerId=this.editor.deltaDecorations(this._positionMarkerId,[{range:l,options:u.ModelDecorationOptions.EMPTY}])}hide(){this._viewZone&&(this.editor.changeViewZones(s=>{this._viewZone&&s.removeZone(this._viewZone.id)}),this._viewZone=null),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._arrow&&this._arrow.hide()}_decoratingElementsHeight(){let s=this.editor.getOption(59),a=0;if(this.options.showArrow){let l=Math.round(s/3);a+=2*l}if(this.options.showFrame){let l=Math.round(s/9);a+=2*l}return a}_showImpl(s,a){const l=s.getStartPosition(),h=this.editor.getLayoutInfo(),f=this._getWidth(h);this.domNode.style.width=`${f}px`,this.domNode.style.left=this._getLeft(h)+"px";const S=document.createElement("div");S.style.overflow="hidden";const v=this.editor.getOption(59),p=Math.max(12,this.editor.getLayoutInfo().height/v*.8);a=Math.min(a,p);let _=0,y=0;if(this._arrow&&this.options.showArrow&&(_=Math.round(v/3),this._arrow.height=_,this._arrow.show(l)),this.options.showFrame&&(y=Math.round(v/9)),this.editor.changeViewZones(D=>{this._viewZone&&D.removeZone(this._viewZone.id),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this.domNode.style.top="-1000px",this._viewZone=new i(S,l.lineNumber,l.column,a,M=>this._onViewZoneTop(M),M=>this._onViewZoneHeight(M)),this._viewZone.id=D.addZone(this._viewZone),this._overlayWidget=new o(n+this._viewZone.id,this.domNode),this.editor.addOverlayWidget(this._overlayWidget)}),this.container&&this.options.showFrame){const D=this.options.frameWidth?this.options.frameWidth:y;this.container.style.borderTopWidth=D+"px",this.container.style.borderBottomWidth=D+"px"}let E=a*v-this._decoratingElementsHeight();this.container&&(this.container.style.top=_+"px",this.container.style.height=E+"px",this.container.style.overflow="hidden"),this._doLayout(E,f),this.options.keepEditorSelection||this.editor.setSelection(s);const N=this.editor.getModel();if(N){const D=s.endLineNumber+1;D<=N.getLineCount()?this.revealLine(D,!1):this.revealLine(N.getLineCount(),!0)}}revealLine(s,a){a?this.editor.revealLineInCenter(s,0):this.editor.revealLine(s,0)}setCssClass(s,a){!this.container||(a&&this.container.classList.remove(a),this.container.classList.add(s))}_onWidth(s){}_doLayout(s,a){}_relayout(s){this._viewZone&&this._viewZone.heightInLines!==s&&this.editor.changeViewZones(a=>{this._viewZone&&(this._viewZone.heightInLines=s,a.layoutZone(this._viewZone.id))})}_initSash(){if(this._resizeSash)return;this._resizeSash=this._disposables.add(new m.Sash(this.domNode,this,{orientation:1})),this.options.isResizeable||(this._resizeSash.state=0);let s;this._disposables.add(this._resizeSash.onDidStart(a=>{this._viewZone&&(s={startY:a.startY,heightInLines:this._viewZone.heightInLines})})),this._disposables.add(this._resizeSash.onDidEnd(()=>{s=void 0})),this._disposables.add(this._resizeSash.onDidChange(a=>{if(s){let l=(a.currentY-s.startY)/this.editor.getOption(59),h=l<0?Math.ceil(l):Math.floor(l),f=s.heightInLines+h;f>5&&f<35&&this._relayout(f)}}))}getHorizontalSashLeft(){return 0}getHorizontalSashTop(){return(this.domNode.style.height===null?0:parseInt(this.domNode.style.height))-this._decoratingElementsHeight()/2}getHorizontalSashWidth(){const s=this.editor.getLayoutInfo();return s.width-s.minimap.minimapWidth}}e.ZoneWidget=d}),define(te[110],ie([1,0,7,87,47,28,30,4,40,15,29,164,736,568,209,17,52,9,23,386]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.peekViewEditorMatchHighlightBorder=e.peekViewEditorMatchHighlight=e.peekViewResultsMatchHighlight=e.peekViewEditorGutterBackground=e.peekViewEditorBackground=e.peekViewResultsSelectionForeground=e.peekViewResultsSelectionBackground=e.peekViewResultsFileForeground=e.peekViewResultsMatchForeground=e.peekViewResultsBackground=e.peekViewBorder=e.peekViewTitleInfoForeground=e.peekViewTitleForeground=e.peekViewTitleBackground=e.PeekViewWidget=e.getOuterEditor=e.PeekContext=e.IPeekViewService=void 0,e.IPeekViewService=(0,r.createDecorator)("IPeekViewService"),(0,d.registerSingleton)(e.IPeekViewService,class{constructor(){this._widgets=new Map}addExclusiveWidget(v,p){const _=this._widgets.get(v);_&&(_.listener.dispose(),_.widget.dispose());const y=()=>{const E=this._widgets.get(v);E&&E.widget===p&&(E.listener.dispose(),this._widgets.delete(v))};this._widgets.set(v,{widget:p,listener:p.onDidClose(y)})}});var a;(function(v){v.inPeekEditor=new c.RawContextKey("inReferenceSearchEditor",!0,i.localize(0,null)),v.notInPeekEditor=v.inPeekEditor.toNegated()})(a=e.PeekContext||(e.PeekContext={}));let l=class{constructor(p,_){p instanceof t.EmbeddedCodeEditorWidget&&a.inPeekEditor.bindTo(_)}dispose(){}};l.ID="editor.contrib.referenceController",l=Ie([pe(1,c.IContextKeyService)],l),(0,u.registerEditorContribution)(l.ID,l);function h(v){let p=v.get(g.ICodeEditorService).getFocusedCodeEditor();return p instanceof t.EmbeddedCodeEditorWidget?p.getParentEditor():p}e.getOuterEditor=h;const f={headerBackgroundColor:w.Color.white,primaryHeadingColor:w.Color.fromHex("#333333"),secondaryHeadingColor:w.Color.fromHex("#6c6c6cb3")};let S=class extends n.ZoneWidget{constructor(p,_,y){super(p,_);this.instantiationService=y,this._onDidClose=new b.Emitter,this.onDidClose=this._onDidClose.event,C.mixin(this.options,f,!1)}dispose(){this.disposed||(this.disposed=!0,super.dispose(),this._onDidClose.fire(this))}style(p){let _=this.options;p.headerBackgroundColor&&(_.headerBackgroundColor=p.headerBackgroundColor),p.primaryHeadingColor&&(_.primaryHeadingColor=p.primaryHeadingColor),p.secondaryHeadingColor&&(_.secondaryHeadingColor=p.secondaryHeadingColor),super.style(p)}_applyStyles(){super._applyStyles();let p=this.options;this._headElement&&p.headerBackgroundColor&&(this._headElement.style.backgroundColor=p.headerBackgroundColor.toString()),this._primaryHeading&&p.primaryHeadingColor&&(this._primaryHeading.style.color=p.primaryHeadingColor.toString()),this._secondaryHeading&&p.secondaryHeadingColor&&(this._secondaryHeading.style.color=p.secondaryHeadingColor.toString()),this._bodyElement&&p.frameColor&&(this._bodyElement.style.borderColor=p.frameColor.toString())}_fillContainer(p){this.setCssClass("peekview-widget"),this._headElement=L.$(".head"),this._bodyElement=L.$(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),p.appendChild(this._headElement),p.appendChild(this._bodyElement)}_fillHead(p,_){const y=L.$(".peekview-title");this.options.supportOnTitleClick&&(y.classList.add("clickable"),L.addStandardDisposableListener(y,"click",D=>this._onTitleClick(D))),L.append(this._headElement,y),this._fillTitleIcon(y),this._primaryHeading=L.$("span.filename"),this._secondaryHeading=L.$("span.dirname"),this._metaHeading=L.$("span.meta"),L.append(y,this._primaryHeading,this._secondaryHeading,this._metaHeading);const E=L.$(".peekview-actions");L.append(this._headElement,E);const N=this._getActionBarOptions();this._actionbarWidget=new m.ActionBar(E,N),this._disposables.add(this._actionbarWidget),_||this._actionbarWidget.push(new k.Action("peekview.close",i.localize(1,null),I.Codicon.close.classNames,!0,()=>(this.dispose(),Promise.resolve())),{label:!1,icon:!0})}_fillTitleIcon(p){}_getActionBarOptions(){return{actionViewItemProvider:o.createActionViewItem.bind(void 0,this.instantiationService),orientation:0}}_onTitleClick(p){}setTitle(p,_){this._primaryHeading&&this._secondaryHeading&&(this._primaryHeading.innerText=p,this._primaryHeading.setAttribute("title",p),_?this._secondaryHeading.innerText=_:L.clearNode(this._secondaryHeading))}setMetaTitle(p){this._metaHeading&&(p?(this._metaHeading.innerText=p,L.show(this._metaHeading)):L.hide(this._metaHeading))}_doLayout(p,_){if(!this._isShowing&&p<0){this.dispose();return}const y=Math.ceil(this.editor.getOption(59)*1.2),E=Math.round(p-(y+2));this._doLayoutHead(y,_),this._doLayoutBody(E,_)}_doLayoutHead(p,_){this._headElement&&(this._headElement.style.height=`${p}px`,this._headElement.style.lineHeight=this._headElement.style.height)}_doLayoutBody(p,_){this._bodyElement&&(this._bodyElement.style.height=`${p}px`)}};S=Ie([pe(2,r.IInstantiationService)],S),e.PeekViewWidget=S,e.peekViewTitleBackground=(0,s.registerColor)("peekViewTitle.background",{dark:(0,s.transparent)(s.editorInfoForeground,.1),light:(0,s.transparent)(s.editorInfoForeground,.1),hc:null},i.localize(2,null)),e.peekViewTitleForeground=(0,s.registerColor)("peekViewTitleLabel.foreground",{dark:w.Color.white,light:w.Color.black,hc:w.Color.white},i.localize(3,null)),e.peekViewTitleInfoForeground=(0,s.registerColor)("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161",hc:"#FFFFFF99"},i.localize(4,null)),e.peekViewBorder=(0,s.registerColor)("peekView.border",{dark:s.editorInfoForeground,light:s.editorInfoForeground,hc:s.contrastBorder},i.localize(5,null)),e.peekViewResultsBackground=(0,s.registerColor)("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hc:w.Color.black},i.localize(6,null)),e.peekViewResultsMatchForeground=(0,s.registerColor)("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hc:w.Color.white},i.localize(7,null)),e.peekViewResultsFileForeground=(0,s.registerColor)("peekViewResult.fileForeground",{dark:w.Color.white,light:"#1E1E1E",hc:w.Color.white},i.localize(8,null)),e.peekViewResultsSelectionBackground=(0,s.registerColor)("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hc:null},i.localize(9,null)),e.peekViewResultsSelectionForeground=(0,s.registerColor)("peekViewResult.selectionForeground",{dark:w.Color.white,light:"#6C6C6C",hc:w.Color.white},i.localize(10,null)),e.peekViewEditorBackground=(0,s.registerColor)("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hc:w.Color.black},i.localize(11,null)),e.peekViewEditorGutterBackground=(0,s.registerColor)("peekViewEditorGutter.background",{dark:e.peekViewEditorBackground,light:e.peekViewEditorBackground,hc:e.peekViewEditorBackground},i.localize(12,null)),e.peekViewResultsMatchHighlight=(0,s.registerColor)("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hc:null},i.localize(13,null)),e.peekViewEditorMatchHighlight=(0,s.registerColor)("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hc:null},i.localize(14,null)),e.peekViewEditorMatchHighlightBorder=(0,s.registerColor)("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hc:s.activeContrastBorder},i.localize(15,null))}),define(te[737],ie([1,0,7,69,18,30,4,173,2,42,8,3,110,544,209,37,17,9,131,79,53,707,23,14,379]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s,a,l,h,f,S){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.editorMarkerNavigationBackground=e.editorMarkerNavigationInfoHeader=e.editorMarkerNavigationInfo=e.editorMarkerNavigationWarningHeader=e.editorMarkerNavigationWarning=e.editorMarkerNavigationErrorHeader=e.editorMarkerNavigationError=e.MarkerNavigationWidget=void 0;class v{constructor(D,M,B,O,T){this._openerService=O,this._labelService=T,this._lines=0,this._longestLineLength=0,this._relatedDiagnostics=new WeakMap,this._disposables=new C.DisposableStore,this._editor=M;const A=document.createElement("div");A.className="descriptioncontainer",this._messageBlock=document.createElement("div"),this._messageBlock.classList.add("message"),this._messageBlock.setAttribute("aria-live","assertive"),this._messageBlock.setAttribute("role","alert"),A.appendChild(this._messageBlock),this._relatedBlock=document.createElement("div"),A.appendChild(this._relatedBlock),this._disposables.add(L.addStandardDisposableListener(this._relatedBlock,"click",P=>{P.preventDefault();const F=this._relatedDiagnostics.get(P.target);F&&B(F)})),this._scrollable=new m.ScrollableElement(A,{horizontal:1,vertical:1,useShadows:!1,horizontalScrollbarSize:6,verticalScrollbarSize:6}),D.appendChild(this._scrollable.getDomNode()),this._disposables.add(this._scrollable.onScroll(P=>{A.style.left=`-${P.scrollLeft}px`,A.style.top=`-${P.scrollTop}px`})),this._disposables.add(this._scrollable)}dispose(){(0,C.dispose)(this._disposables)}update(D){const{source:M,message:B,relatedInformation:O,code:T}=D;let A=((M==null?void 0:M.length)||0)+"()".length;T&&(typeof T=="string"?A+=T.length:A+=T.value.length);const P=(0,g.splitLines)(B);this._lines=P.length,this._longestLineLength=0;for(const j of P)this._longestLineLength=Math.max(j.length+A,this._longestLineLength);L.clearNode(this._messageBlock),this._messageBlock.setAttribute("aria-label",this.getAriaLabel(D)),this._editor.applyFontInfo(this._messageBlock);let F=this._messageBlock;for(const j of P)F=document.createElement("div"),F.innerText=j,j===""&&(F.style.height=this._messageBlock.style.lineHeight),this._messageBlock.appendChild(F);if(M||T){const j=document.createElement("span");if(j.classList.add("details"),F.appendChild(j),M){const $=document.createElement("span");$.innerText=M,$.classList.add("source"),j.appendChild($)}if(T)if(typeof T=="string"){const $=document.createElement("span");$.innerText=`(${T})`,$.classList.add("code"),j.appendChild($)}else{this._codeLink=L.$("a.code-link"),this._codeLink.setAttribute("href",`${T.target.toString()}`),this._codeLink.onclick=G=>{this._openerService.open(T.target,{allowCommands:!0}),G.preventDefault(),G.stopPropagation()};const $=L.append(this._codeLink,L.$("span"));$.innerText=T.value,j.appendChild(this._codeLink)}}if(L.clearNode(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),(0,k.isNonEmptyArray)(O)){const j=this._relatedBlock.appendChild(document.createElement("div"));j.style.paddingTop=`${Math.floor(this._editor.getOption(59)*.66)}px`,this._lines+=1;for(const $ of O){let G=document.createElement("div"),J=document.createElement("a");J.classList.add("filename"),J.innerText=`${(0,b.getBaseLabel)($.resource)}(${$.startLineNumber}, ${$.startColumn}): `,J.title=this._labelService.getUriLabel($.resource),this._relatedDiagnostics.set(J,$);let re=document.createElement("span");re.innerText=$.message,G.appendChild(J),G.appendChild(re),this._lines+=1,j.appendChild(G)}}const W=this._editor.getOption(44),R=Math.ceil(W.typicalFullwidthCharacterWidth*this._longestLineLength*.75),z=W.lineHeight*this._lines;this._scrollable.setScrollDimensions({scrollWidth:R,scrollHeight:z})}layout(D,M){this._scrollable.getDomNode().style.height=`${D}px`,this._scrollable.getDomNode().style.width=`${M}px`,this._scrollable.setScrollDimensions({width:M,height:D})}getHeightInLines(){return Math.min(17,this._lines)}getAriaLabel(D){let M="";switch(D.severity){case a.MarkerSeverity.Error:M=i.localize(0,null);break;case a.MarkerSeverity.Warning:M=i.localize(1,null);break;case a.MarkerSeverity.Info:M=i.localize(2,null);break;case a.MarkerSeverity.Hint:M=i.localize(3,null);break}let B=i.localize(4,null,M,D.startLineNumber+":"+D.startColumn);const O=this._editor.getModel();return O&&D.startLineNumber<=O.getLineCount()&&D.startLineNumber>=1&&(B=`${O.getLineContent(D.startLineNumber)}, ${B}`),B}}let p=class zi extends n.PeekViewWidget{constructor(D,M,B,O,T,A,P){super(D,{showArrow:!0,showFrame:!0,isAccessible:!0,frameWidth:1},T);this._themeService=M,this._openerService=B,this._menuService=O,this._contextKeyService=A,this._labelService=P,this._callOnDispose=new C.DisposableStore,this._onDidSelectRelatedInformation=new w.Emitter,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=a.MarkerSeverity.Warning,this._backgroundColor=I.Color.white,this._applyTheme(M.getColorTheme()),this._callOnDispose.add(M.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(D){this._backgroundColor=D.getColor(e.editorMarkerNavigationBackground);let M=e.editorMarkerNavigationError,B=e.editorMarkerNavigationErrorHeader;this._severity===a.MarkerSeverity.Warning?(M=e.editorMarkerNavigationWarning,B=e.editorMarkerNavigationWarningHeader):this._severity===a.MarkerSeverity.Info&&(M=e.editorMarkerNavigationInfo,B=e.editorMarkerNavigationInfoHeader);const O=D.getColor(M),T=D.getColor(B);this.style({arrowColor:O,frameColor:O,headerBackgroundColor:T,primaryHeadingColor:D.getColor(n.peekViewTitleForeground),secondaryHeadingColor:D.getColor(n.peekViewTitleInfoForeground)})}_applyStyles(){this._parentContainer&&(this._parentContainer.style.backgroundColor=this._backgroundColor?this._backgroundColor.toString():""),super._applyStyles()}dispose(){this._callOnDispose.dispose(),super.dispose()}_fillHead(D){super._fillHead(D),this._disposables.add(this._actionbarWidget.actionRunner.onBeforeRun(O=>this.editor.focus()));const M=[],B=this._menuService.createMenu(zi.TitleMenu,this._contextKeyService);(0,o.createAndFillInActionBarActions)(B,void 0,M),this._actionbarWidget.push(M,{label:!1,icon:!0,index:0}),B.dispose()}_fillTitleIcon(D){this._icon=L.append(D,L.$(""))}_fillBody(D){this._parentContainer=D,D.classList.add("marker-widget"),this._parentContainer.tabIndex=0,this._parentContainer.setAttribute("role","tooltip"),this._container=document.createElement("div"),D.appendChild(this._container),this._message=new v(this._container,this.editor,M=>this._onDidSelectRelatedInformation.fire(M),this._openerService,this._labelService),this._disposables.add(this._message)}show(){throw new Error("call showAtMarker")}showAtMarker(D,M,B){this._container.classList.remove("stale"),this._message.update(D),this._severity=D.severity,this._applyTheme(this._themeService.getColorTheme());let O=t.Range.lift(D);const T=this.editor.getPosition();let A=T&&O.containsPosition(T)?T:O.getStartPosition();super.show(A,this.computeRequiredHeight());const P=this.editor.getModel();if(P){const F=B>1?i.localize(5,null,M,B):i.localize(6,null,M,B);this.setTitle((0,u.basename)(P.uri),F)}this._icon.className=`codicon ${h.SeverityIcon.className(a.MarkerSeverity.toSeverity(this._severity))}`,this.editor.revealPositionNearTop(A,0),this.editor.focus()}updateMarker(D){this._container.classList.remove("stale"),this._message.update(D)}showStale(){this._container.classList.add("stale"),this._relayout()}_doLayoutBody(D,M){super._doLayoutBody(D,M),this._heightInPixel=D,this._message.layout(D,M),this._container.style.height=`${D}px`}_onWidth(D){this._message.layout(this._heightInPixel,D)}_relayout(){super._relayout(this.computeRequiredHeight())}computeRequiredHeight(){return 3+this._message.getHeightInLines()}};p.TitleMenu=new c.MenuId("gotoErrorTitleMenu"),p=Ie([pe(1,S.IThemeService),pe(2,l.IOpenerService),pe(3,c.IMenuService),pe(4,r.IInstantiationService),pe(5,d.IContextKeyService),pe(6,s.ILabelService)],p),e.MarkerNavigationWidget=p;let _=(0,f.oneOf)(f.editorErrorForeground,f.editorErrorBorder),y=(0,f.oneOf)(f.editorWarningForeground,f.editorWarningBorder),E=(0,f.oneOf)(f.editorInfoForeground,f.editorInfoBorder);e.editorMarkerNavigationError=(0,f.registerColor)("editorMarkerNavigationError.background",{dark:_,light:_,hc:f.contrastBorder},i.localize(7,null)),e.editorMarkerNavigationErrorHeader=(0,f.registerColor)("editorMarkerNavigationError.headerBackground",{dark:(0,f.transparent)(e.editorMarkerNavigationError,.1),light:(0,f.transparent)(e.editorMarkerNavigationError,.1),hc:null},i.localize(8,null)),e.editorMarkerNavigationWarning=(0,f.registerColor)("editorMarkerNavigationWarning.background",{dark:y,light:y,hc:f.contrastBorder},i.localize(9,null)),e.editorMarkerNavigationWarningHeader=(0,f.registerColor)("editorMarkerNavigationWarning.headerBackground",{dark:(0,f.transparent)(e.editorMarkerNavigationWarning,.1),light:(0,f.transparent)(e.editorMarkerNavigationWarning,.1),hc:"#0C141F"},i.localize(10,null)),e.editorMarkerNavigationInfo=(0,f.registerColor)("editorMarkerNavigationInfo.background",{dark:E,light:E,hc:f.contrastBorder},i.localize(11,null)),e.editorMarkerNavigationInfoHeader=(0,f.registerColor)("editorMarkerNavigationInfo.headerBackground",{dark:(0,f.transparent)(e.editorMarkerNavigationInfo,.1),light:(0,f.transparent)(e.editorMarkerNavigationInfo,.1),hc:null},i.localize(12,null)),e.editorMarkerNavigationBackground=(0,f.registerColor)("editorMarkerNavigation.background",{dark:f.editorBackground,light:f.editorBackground,hc:f.editorBackground},i.localize(13,null))}),define(te[301],ie([1,0,28,2,15,29,11,3,24,626,543,37,17,9,74,737]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.NextMarkerAction=e.MarkerController=void 0;let d=class Ut{constructor(p,_,y,E,N){this._markerNavigationService=_,this._contextKeyService=y,this._editorService=E,this._instantiationService=N,this._sessionDispoables=new m.DisposableStore,this._editor=p,this._widgetVisible=f.bindTo(this._contextKeyService)}static get(p){return p.getContribution(Ut.ID)}dispose(){this._cleanUp(),this._sessionDispoables.dispose()}_cleanUp(){this._widgetVisible.reset(),this._sessionDispoables.clear(),this._widget=void 0,this._model=void 0}_getOrCreateModel(p){if(this._model&&this._model.matches(p))return this._model;let _=!1;return this._model&&(_=!0,this._cleanUp()),this._model=this._markerNavigationService.getMarkerList(p),_&&this._model.move(!0,this._editor.getModel(),this._editor.getPosition()),this._widget=this._instantiationService.createInstance(c.MarkerNavigationWidget,this._editor),this._widget.onDidClose(()=>this.close(),this,this._sessionDispoables),this._widgetVisible.set(!0),this._sessionDispoables.add(this._model),this._sessionDispoables.add(this._widget),this._sessionDispoables.add(this._editor.onDidChangeCursorPosition(y=>{var E,N,D;(!((E=this._model)===null||E===void 0?void 0:E.selected)||!b.Range.containsPosition((N=this._model)===null||N===void 0?void 0:N.selected.marker,y.position))&&((D=this._model)===null||D===void 0||D.resetIndex())})),this._sessionDispoables.add(this._model.onDidChange(()=>{if(!this._widget||!this._widget.position||!this._model)return;const y=this._model.find(this._editor.getModel().uri,this._widget.position);y?this._widget.updateMarker(y.marker):this._widget.showStale()})),this._sessionDispoables.add(this._widget.onDidSelectRelatedInformation(y=>{this._editorService.openCodeEditor({resource:y.resource,options:{pinned:!0,revealIfOpened:!0,selection:b.Range.lift(y).collapseToStart()}},this._editor),this.close(!1)})),this._sessionDispoables.add(this._editor.onDidChangeModel(()=>this._cleanUp())),this._model}close(p=!0){this._cleanUp(),p&&this._editor.focus()}showAtMarker(p){if(this._editor.hasModel()){const _=this._getOrCreateModel(this._editor.getModel().uri);_.resetIndex(),_.move(!0,this._editor.getModel(),new w.Position(p.startLineNumber,p.startColumn)),_.selected&&this._widget.showAtMarker(_.selected.marker,_.selected.index,_.selected.total)}}nagivate(p,_){var y,E;return we(this,void 0,void 0,function*(){if(this._editor.hasModel()){const N=this._getOrCreateModel(_?void 0:this._editor.getModel().uri);if(N.move(p,this._editor.getModel(),this._editor.getPosition()),!N.selected)return;if(N.selected.marker.resource.toString()!==this._editor.getModel().uri.toString()){this._cleanUp();const D=yield this._editorService.openCodeEditor({resource:N.selected.marker.resource,options:{pinned:!1,revealIfOpened:!0,selectionRevealType:2,selection:N.selected.marker}},this._editor);D&&((y=Ut.get(D))===null||y===void 0||y.close(),(E=Ut.get(D))===null||E===void 0||E.nagivate(p,_))}else this._widget.showAtMarker(N.selected.marker,N.selected.index,N.selected.total)}})}};d.ID="editor.contrib.markerController",d=Ie([pe(1,u.IMarkerNavigationService),pe(2,n.IContextKeyService),pe(3,I.ICodeEditorService),pe(4,i.IInstantiationService)],d),e.MarkerController=d;class r extends k.EditorAction{constructor(p,_,y){super(y);this._next=p,this._multiFile=_}run(p,_){var y;return we(this,void 0,void 0,function*(){_.hasModel()&&((y=d.get(_))===null||y===void 0||y.nagivate(this._next,this._multiFile))})}}class s extends r{constructor(){super(!0,!1,{id:s.ID,label:s.LABEL,alias:"Go to Next Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:C.EditorContextKeys.focus,primary:512|66,weight:100},menuOpts:{menuId:c.MarkerNavigationWidget.TitleMenu,title:s.LABEL,icon:(0,o.registerIcon)("marker-navigation-next",L.Codicon.arrowDown,g.localize(1,null)),group:"navigation",order:1}})}}e.NextMarkerAction=s,s.ID="editor.action.marker.next",s.LABEL=g.localize(0,null);class a extends r{constructor(){super(!1,!1,{id:a.ID,label:a.LABEL,alias:"Go to Previous Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:C.EditorContextKeys.focus,primary:1024|512|66,weight:100},menuOpts:{menuId:c.MarkerNavigationWidget.TitleMenu,title:a.LABEL,icon:(0,o.registerIcon)("marker-navigation-previous",L.Codicon.arrowUp,g.localize(3,null)),group:"navigation",order:2}})}}a.ID="editor.action.marker.prev",a.LABEL=g.localize(2,null);class l extends r{constructor(){super(!0,!0,{id:"editor.action.marker.nextInFiles",label:g.localize(4,null),alias:"Go to Next Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:C.EditorContextKeys.focus,primary:66,weight:100},menuOpts:{menuId:t.MenuId.MenubarGoMenu,title:g.localize(5,null),group:"6_problem_nav",order:1}})}}class h extends r{constructor(){super(!1,!0,{id:"editor.action.marker.prevInFiles",label:g.localize(6,null),alias:"Go to Previous Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:C.EditorContextKeys.focus,primary:1024|66,weight:100},menuOpts:{menuId:t.MenuId.MenubarGoMenu,title:g.localize(7,null),group:"6_problem_nav",order:2}})}}(0,k.registerEditorContribution)(d.ID,d),(0,k.registerEditorAction)(s),(0,k.registerEditorAction)(a),(0,k.registerEditorAction)(l),(0,k.registerEditorAction)(h);const f=new n.RawContextKey("markersNavigationVisible",!1),S=k.EditorCommand.bindToContribution(d.get);(0,k.registerEditorCommand)(new S({id:"closeMarkersNavigation",precondition:f,handler:v=>v.close(),kbOpts:{weight:100+50,kbExpr:C.EditorContextKeys.focus,primary:9,secondary:[1024|9]}}))}),define(te[738],ie([1,0,7,231,30,4,2,45,42,164,3,38,33,81,35,56,662,110,549,9,43,131,161,14,162,129,381]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s,a,l,h,f,S,v,p){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ReferenceWidget=e.LayoutData=void 0;class _{constructor(M,B){this._editor=M,this._model=B,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new w.DisposableStore,this._callOnModelChange=new w.DisposableStore,this._callOnDispose.add(this._editor.onDidChangeModel(()=>this._onModelChanged())),this._onModelChanged()}dispose(){this._callOnModelChange.dispose(),this._callOnDispose.dispose(),this.removeDecorations()}_onModelChanged(){this._callOnModelChange.clear();const M=this._editor.getModel();if(!!M){for(let B of this._model.references)if(B.uri.toString()===M.uri.toString()){this._addDecorations(B.parent);return}}}_addDecorations(M){if(!this._editor.hasModel())return;this._callOnModelChange.add(this._editor.getModel().onDidChangeDecorations(()=>this._onDecorationChanged()));const B=[],O=[];for(let A=0,P=M.children.length;A<P;A++){let F=M.children[A];this._decorationIgnoreSet.has(F.id)||F.uri.toString()===this._editor.getModel().uri.toString()&&(B.push({range:F.range,options:_.DecorationOptions}),O.push(A))}const T=this._editor.deltaDecorations([],B);for(let A=0;A<T.length;A++)this._decorations.set(T[A],M.children[O[A]])}_onDecorationChanged(){const M=[],B=this._editor.getModel();if(!!B){for(let[O,T]of this._decorations){const A=B.getDecorationRange(O);if(!A)continue;let P=!1;if(!g.Range.equalsRange(A,T.range)){if(g.Range.spansMultipleLines(A))P=!0;else{const F=T.range.endColumn-T.range.startColumn,W=A.endColumn-A.startColumn;F!==W&&(P=!0)}P?(this._decorationIgnoreSet.add(T.id),M.push(O)):T.range=A}}for(let O=0,T=M.length;O<T;O++)this._decorations.delete(M[O]);this._editor.deltaDecorations(M,[])}}removeDecorations(){this._editor.deltaDecorations([...this._decorations.keys()],[]),this._decorations.clear()}}_.DecorationOptions=t.ModelDecorationOptions.register({description:"reference-decoration",stickiness:1,className:"reference-decoration"});class y{constructor(){this.ratio=.7,this.heightInLines=18}static fromJSON(M){let B,O;try{const T=JSON.parse(M);B=T.ratio,O=T.heightInLines}catch{}return{ratio:B||.7,heightInLines:O||18}}}e.LayoutData=y;class E extends f.WorkbenchAsyncDataTree{}let N=class extends r.PeekViewWidget{constructor(M,B,O,T,A,P,F,W,R,z,j,$){super(M,{showFrame:!1,showArrow:!0,isResizeable:!0,isAccessible:!0,supportOnTitleClick:!0},P);this._defaultTreeKeyboardSupport=B,this.layoutData=O,this._textModelResolverService=A,this._instantiationService=P,this._peekViewService=F,this._uriLabel=W,this._undoRedoService=R,this._keybindingService=z,this._languageService=j,this._languageConfigurationService=$,this._disposeOnNewModel=new w.DisposableStore,this._callOnDispose=new w.DisposableStore,this._onDidSelectReference=new I.Emitter,this.onDidSelectReference=this._onDidSelectReference.event,this._dim=new L.Dimension(0,0),this._applyTheme(T.getColorTheme()),this._callOnDispose.add(T.onDidColorThemeChange(this._applyTheme.bind(this))),this._peekViewService.addExclusiveWidget(M,this),this.create()}dispose(){this.setModel(void 0),this._callOnDispose.dispose(),this._disposeOnNewModel.dispose(),(0,w.dispose)(this._preview),(0,w.dispose)(this._previewNotAvailableMessage),(0,w.dispose)(this._tree),(0,w.dispose)(this._previewModelReference),this._splitView.dispose(),super.dispose()}_applyTheme(M){const B=M.getColor(r.peekViewBorder)||k.Color.transparent;this.style({arrowColor:B,frameColor:B,headerBackgroundColor:M.getColor(r.peekViewTitleBackground)||k.Color.transparent,primaryHeadingColor:M.getColor(r.peekViewTitleForeground),secondaryHeadingColor:M.getColor(r.peekViewTitleInfoForeground)})}show(M){this.editor.revealRangeInCenterIfOutsideViewport(M,0),super.show(M,this.layoutData.heightInLines||18)}focusOnReferenceTree(){this._tree.domFocus()}focusOnPreviewEditor(){this._preview.focus()}isPreviewEditorFocused(){return this._preview.hasTextFocus()}_onTitleClick(M){this._preview&&this._preview.getModel()&&this._onDidSelectReference.fire({element:this._getFocusedReference(),kind:M.ctrlKey||M.metaKey||M.altKey?"side":"open",source:"title"})}_fillBody(M){this.setCssClass("reference-zone-widget"),this._messageContainer=L.append(M,L.$("div.messages")),L.hide(this._messageContainer),this._splitView=new m.SplitView(M,{orientation:1}),this._previewContainer=L.append(M,L.$("div.preview.inline"));let B={scrollBeyondLastLine:!1,scrollbar:{verticalScrollbarSize:14,horizontal:"auto",useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,alwaysConsumeMouseWheel:!1},overviewRulerLanes:2,fixedOverflowWidgets:!0,minimap:{enabled:!1}};this._preview=this._instantiationService.createInstance(u.EmbeddedCodeEditorWidget,this._previewContainer,B,this.editor),L.hide(this._previewContainer),this._previewNotAvailableMessage=new t.TextModel(s.localize(0,null),i.PLAINTEXT_LANGUAGE_ID,t.TextModel.DEFAULT_CREATION_OPTIONS,null,this._undoRedoService,this._languageService,this._languageConfigurationService),this._treeContainer=L.append(M,L.$("div.ref-tree.inline"));const O={keyboardSupport:this._defaultTreeKeyboardSupport,accessibilityProvider:new d.AccessibilityProvider,keyboardNavigationLabelProvider:this._instantiationService.createInstance(d.StringRepresentationProvider),identityProvider:new d.IdentityProvider,openOnSingleClick:!0,selectionNavigation:!0,overrideStyles:{listBackground:r.peekViewResultsBackground}};this._defaultTreeKeyboardSupport&&this._callOnDispose.add(L.addStandardDisposableListener(this._treeContainer,"keydown",A=>{A.equals(9)&&(this._keybindingService.dispatchEvent(A,A.target),A.stopPropagation())},!0)),this._tree=this._instantiationService.createInstance(E,"ReferencesWidget",this._treeContainer,new d.Delegate,[this._instantiationService.createInstance(d.FileReferencesRenderer),this._instantiationService.createInstance(d.OneReferenceRenderer)],this._instantiationService.createInstance(d.DataSource),O),this._splitView.addView({onDidChange:I.Event.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:A=>{this._preview.layout({height:this._dim.height,width:A})}},m.Sizing.Distribute),this._splitView.addView({onDidChange:I.Event.None,element:this._treeContainer,minimumSize:100,maximumSize:Number.MAX_VALUE,layout:A=>{this._treeContainer.style.height=`${this._dim.height}px`,this._treeContainer.style.width=`${A}px`,this._tree.layout(this._dim.height,A)}},m.Sizing.Distribute),this._disposables.add(this._splitView.onDidSashChange(()=>{this._dim.width&&(this.layoutData.ratio=this._splitView.getViewSize(0)/this._dim.width)},void 0));let T=(A,P)=>{A instanceof p.OneReference&&(P==="show"&&this._revealReference(A,!1),this._onDidSelectReference.fire({element:A,kind:P,source:"tree"}))};this._tree.onDidOpen(A=>{A.sideBySide?T(A.element,"side"):A.editorOptions.pinned?T(A.element,"goto"):T(A.element,"show")}),L.hide(this._treeContainer)}_onWidth(M){this._dim&&this._doLayoutBody(this._dim.height,M)}_doLayoutBody(M,B){super._doLayoutBody(M,B),this._dim=new L.Dimension(B,M),this.layoutData.heightInLines=this._viewZone?this._viewZone.heightInLines:this.layoutData.heightInLines,this._splitView.layout(B),this._splitView.resizeView(0,B*this.layoutData.ratio)}setSelection(M){return this._revealReference(M,!0).then(()=>{!this._model||(this._tree.setSelection([M]),this._tree.setFocus([M]))})}setModel(M){return this._disposeOnNewModel.clear(),this._model=M,this._model?this._onNewModel():Promise.resolve()}_onNewModel(){return this._model?this._model.isEmpty?(this.setTitle(""),this._messageContainer.innerText=s.localize(1,null),L.show(this._messageContainer),Promise.resolve(void 0)):(L.hide(this._messageContainer),this._decorationsManager=new _(this._preview,this._model),this._disposeOnNewModel.add(this._decorationsManager),this._disposeOnNewModel.add(this._model.onDidChangeReferenceRange(M=>this._tree.rerender(M))),this._disposeOnNewModel.add(this._preview.onMouseDown(M=>{const{event:B,target:O}=M;if(B.detail!==2)return;const T=this._getFocusedReference();!T||this._onDidSelectReference.fire({element:{uri:T.uri,range:O.range},kind:B.ctrlKey||B.metaKey||B.altKey?"side":"open",source:"editor"})})),this.container.classList.add("results-loaded"),L.show(this._treeContainer),L.show(this._previewContainer),this._splitView.layout(this._dim.width),this.focusOnReferenceTree(),this._tree.setInput(this._model.groups.length===1?this._model.groups[0]:this._model)):Promise.resolve(void 0)}_getFocusedReference(){const[M]=this._tree.getFocus();if(M instanceof p.OneReference)return M;if(M instanceof p.FileReferences&&M.children.length>0)return M.children[0]}revealReference(M){return we(this,void 0,void 0,function*(){yield this._revealReference(M,!1),this._onDidSelectReference.fire({element:M,kind:"goto",source:"tree"})})}_revealReference(M,B){return we(this,void 0,void 0,function*(){if(this._revealedReference===M)return;this._revealedReference=M,M.uri.scheme!==b.Schemas.inMemory?this.setTitle((0,C.basenameOrAuthority)(M.uri),this._uriLabel.getUriLabel((0,C.dirname)(M.uri))):this.setTitle(s.localize(2,null));const O=this._textModelResolverService.createModelReference(M.uri);this._tree.getInput()===M.parent?this._tree.reveal(M):(B&&this._tree.reveal(M.parent),yield this._tree.expand(M.parent),this._tree.reveal(M));const T=yield O;if(!this._model){T.dispose();return}(0,w.dispose)(this._previewModelReference);const A=T.object;if(A){const P=this._preview.getModel()===A.textEditorModel?0:1,F=g.Range.lift(M.range).collapseToStart();this._previewModelReference=T,this._preview.setModel(A.textEditorModel),this._preview.setSelection(F),this._preview.revealRangeInCenter(F,P)}else this._preview.setModel(this._previewNotAvailableMessage),T.dispose()})}};N=Ie([pe(3,S.IThemeService),pe(4,c.ITextModelService),pe(5,a.IInstantiationService),pe(6,r.IPeekViewService),pe(7,h.ILabelService),pe(8,v.IUndoRedoService),pe(9,l.IKeybindingService),pe(10,o.ILanguageService),pe(11,n.ILanguageConfigurationService)],N),e.ReferenceWidget=N}),define(te[302],ie([1,0,10,13,58,2,29,11,3,110,547,26,41,17,9,89,161,39,82,129,738]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s,a,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ReferencesController=e.ctxReferenceSearchVisible=void 0,e.ctxReferenceSearchVisible=new i.RawContextKey("referenceSearchVisible",!1,g.localize(0,null));let h=class ni{constructor(v,p,_,y,E,N,D,M){this._defaultTreeKeyboardSupport=v,this._editor=p,this._editorService=y,this._notificationService=E,this._instantiationService=N,this._storageService=D,this._configurationService=M,this._disposables=new I.DisposableStore,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=e.ctxReferenceSearchVisible.bindTo(_)}static get(v){return v.getContribution(ni.ID)}dispose(){var v,p;this._referenceSearchVisible.reset(),this._disposables.dispose(),(v=this._widget)===null||v===void 0||v.dispose(),(p=this._model)===null||p===void 0||p.dispose(),this._widget=void 0,this._model=void 0}toggleWidget(v,p,_){let y;if(this._widget&&(y=this._widget.position),this.closeWidget(),!!y&&v.containsPosition(y))return;this._peekMode=_,this._referenceSearchVisible.set(!0),this._disposables.add(this._editor.onDidChangeModelLanguage(()=>{this.closeWidget()})),this._disposables.add(this._editor.onDidChangeModel(()=>{this._ignoreModelChangeEvent||this.closeWidget()}));const E="peekViewLayout",N=l.LayoutData.fromJSON(this._storageService.get(E,0,"{}"));this._widget=this._instantiationService.createInstance(l.ReferenceWidget,this._editor,this._defaultTreeKeyboardSupport,N),this._widget.setTitle(g.localize(1,null)),this._widget.show(v),this._disposables.add(this._widget.onDidClose(()=>{p.cancel(),this._widget&&(this._storageService.store(E,JSON.stringify(this._widget.layoutData),0,1),this._widget=void 0),this.closeWidget()})),this._disposables.add(this._widget.onDidSelectReference(M=>{let{element:B,kind:O}=M;if(!!B)switch(O){case"open":(M.source!=="editor"||!this._configurationService.getValue("editor.stablePeek"))&&this.openReference(B,!1,!1);break;case"side":this.openReference(B,!0,!1);break;case"goto":_?this._gotoReference(B):this.openReference(B,!1,!0);break}}));const D=++this._requestIdPool;p.then(M=>{var B;if(D!==this._requestIdPool||!this._widget){M.dispose();return}return(B=this._model)===null||B===void 0||B.dispose(),this._model=M,this._widget.setModel(this._model).then(()=>{if(this._widget&&this._model&&this._editor.hasModel()){this._model.isEmpty?this._widget.setMetaTitle(""):this._widget.setMetaTitle(g.localize(2,null,this._model.title,this._model.references.length));let O=this._editor.getModel().uri,T=new b.Position(v.startLineNumber,v.startColumn),A=this._model.nearestReference(O,T);if(A)return this._widget.setSelection(A).then(()=>{this._widget&&this._editor.getOption(77)==="editor"&&this._widget.focusOnPreviewEditor()})}})},M=>{this._notificationService.error(M)})}changeFocusBetweenPreviewAndReferences(){!this._widget||(this._widget.isPreviewEditorFocused()?this._widget.focusOnReferenceTree():this._widget.focusOnPreviewEditor())}goToNextOrPreviousReference(v){return we(this,void 0,void 0,function*(){if(!this._editor.hasModel()||!this._model||!this._widget)return;const p=this._widget.position;if(!p)return;const _=this._model.nearestReference(this._editor.getModel().uri,p);if(!_)return;const y=this._model.nextOrPreviousReference(_,v),E=this._editor.hasTextFocus(),N=this._widget.isPreviewEditorFocused();yield this._widget.setSelection(y),yield this._gotoReference(y),E?this._editor.focus():this._widget&&N&&this._widget.focusOnPreviewEditor()})}revealReference(v){return we(this,void 0,void 0,function*(){!this._editor.hasModel()||!this._model||!this._widget||(yield this._widget.revealReference(v))})}closeWidget(v=!0){var p,_;(p=this._widget)===null||p===void 0||p.dispose(),(_=this._model)===null||_===void 0||_.dispose(),this._referenceSearchVisible.reset(),this._disposables.clear(),this._widget=void 0,this._model=void 0,v&&this._editor.focus(),this._requestIdPool+=1}_gotoReference(v){this._widget&&this._widget.hide(),this._ignoreModelChangeEvent=!0;const p=C.Range.lift(v.range).collapseToStart();return this._editorService.openCodeEditor({resource:v.uri,options:{selection:p,selectionSource:"code.jump"}},this._editor).then(_=>{var y;if(this._ignoreModelChangeEvent=!1,!_||!this._widget){this.closeWidget();return}if(this._editor===_)this._widget.show(p),this._widget.focusOnReferenceTree();else{const E=ni.get(_),N=this._model.clone();this.closeWidget(),_.focus(),E==null||E.toggleWidget(p,(0,L.createCancelablePromise)(D=>Promise.resolve(N)),(y=this._peekMode)!==null&&y!==void 0?y:!1)}},_=>{this._ignoreModelChangeEvent=!1,(0,m.onUnexpectedError)(_)})}openReference(v,p,_){p||this.closeWidget();const{uri:y,range:E}=v;this._editorService.openCodeEditor({resource:y,options:{selection:E,selectionSource:"code.jump",pinned:_}},this._editor,p)}};h.ID="editor.contrib.referencesController",h=Ie([pe(2,i.IContextKeyService),pe(3,w.ICodeEditorService),pe(4,r.INotificationService),pe(5,o.IInstantiationService),pe(6,s.IStorageService),pe(7,n.IConfigurationService)],h),e.ReferencesController=h;function f(S,v){const p=(0,u.getOuterEditor)(S);if(!p)return;const _=h.get(p);_&&v(_)}c.KeybindingsRegistry.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:(0,k.KeyChord)(2048|41,60),when:i.ContextKeyExpr.or(e.ctxReferenceSearchVisible,u.PeekContext.inPeekEditor),handler(S){f(S,v=>{v.changeFocusBetweenPreviewAndReferences()})}}),c.KeybindingsRegistry.registerCommandAndKeybindingRule({id:"goToNextReference",weight:100-10,primary:62,secondary:[70],when:i.ContextKeyExpr.or(e.ctxReferenceSearchVisible,u.PeekContext.inPeekEditor),handler(S){f(S,v=>{v.goToNextOrPreviousReference(!0)})}}),c.KeybindingsRegistry.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:100-10,primary:1024|62,secondary:[1024|70],when:i.ContextKeyExpr.or(e.ctxReferenceSearchVisible,u.PeekContext.inPeekEditor),handler(S){f(S,v=>{v.goToNextOrPreviousReference(!1)})}}),t.CommandsRegistry.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference"),t.CommandsRegistry.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference"),t.CommandsRegistry.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch"),t.CommandsRegistry.registerCommand("closeReferenceSearch",S=>f(S,v=>v.closeWidget())),c.KeybindingsRegistry.registerKeybindingRule({id:"closeReferenceSearch",weight:100-101,primary:9,secondary:[1024|9],when:i.ContextKeyExpr.and(u.PeekContext.inPeekEditor,i.ContextKeyExpr.not("config.editor.stablePeek"))}),c.KeybindingsRegistry.registerKeybindingRule({id:"closeReferenceSearch",weight:200+50,primary:9,secondary:[1024|9],when:i.ContextKeyExpr.and(e.ctxReferenceSearchVisible,i.ContextKeyExpr.not("config.editor.stablePeek"))}),c.KeybindingsRegistry.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2048|18]},when:i.ContextKeyExpr.and(e.ctxReferenceSearchVisible,d.WorkbenchListFocusContextKey,d.WorkbenchTreeElementCanCollapse.negate(),d.WorkbenchTreeElementCanExpand.negate()),handler(S){var v;const _=(v=S.get(d.IListService).lastFocusedList)===null||v===void 0?void 0:v.getFocus();Array.isArray(_)&&_[0]instanceof a.OneReference&&f(S,y=>y.revealReference(_[0]))}}),c.KeybindingsRegistry.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2048|3,mac:{primary:256|3},when:i.ContextKeyExpr.and(e.ctxReferenceSearchVisible,d.WorkbenchListFocusContextKey,d.WorkbenchTreeElementCanCollapse.negate(),d.WorkbenchTreeElementCanExpand.negate()),handler(S){var v;const _=(v=S.get(d.IListService).lastFocusedList)===null||v===void 0?void 0:v.getFocus();Array.isArray(_)&&_[0]instanceof a.OneReference&&f(S,y=>y.openReference(_[0],!0,!0))}}),t.CommandsRegistry.registerCommand("openReference",S=>{var v;const _=(v=S.get(d.IListService).lastFocusedList)===null||v===void 0?void 0:v.getFocus();Array.isArray(_)&&_[0]instanceof a.OneReference&&f(S,y=>y.openReference(_[0],!1,!0))})}),define(te[210],ie([1,0,34,46,10,58,16,19,25,108,150,15,29,164,11,3,24,27,302,129,683,160,110,545,37,26,17,9,39,73,292,20]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s,a,l,h,f,S,v,p,_,y,E,N,D,M){"use strict";var B,O,T,A,P,F,W,R;Object.defineProperty(e,"__esModule",{value:!0}),e.DefinitionAction=e.SymbolNavigationAction=e.SymbolNavigationAnchor=void 0,v.MenuRegistry.appendMenuItem(v.MenuId.EditorContext,{submenu:v.MenuId.EditorContextPeek,title:S.localize(0,null),group:"navigation",order:100});const z=new Set;function j(oe){const ae=new oe;return(0,t.registerInstantiatedEditorAction)(ae),z.add(ae.id),ae}class ${constructor(ae,ee){this.model=ae,this.position=ee}static is(ae){return!ae||typeof ae!="object"?!1:!!(ae instanceof $||o.Position.isIPosition(ae.position)&&ae.model)}}e.SymbolNavigationAnchor=$;class G extends t.EditorAction{constructor(ae,ee){super(ee);this.configuration=ae}run(ae,ee,ue){if(!ee.hasModel())return Promise.resolve(void 0);const le=ae.get(E.INotificationService),x=ae.get(n.ICodeEditorService),H=ae.get(N.IEditorProgressService),U=ae.get(l.ISymbolNavigationService),Q=ae.get(M.ILanguageFeaturesService),Y=ee.getModel(),ne=ee.getPosition(),ge=$.is(ue)?ue:new $(Y,ne),fe=new u.EditorStateCancellationTokenSource(ee,1|4),ce=(0,k.raceCancellation)(this._getLocationModel(Q,ge.model,ge.position,fe.token),fe.token).then(he=>we(this,void 0,void 0,function*(){var ve;if(!he||fe.token.isCancellationRequested)return;(0,m.alert)(he.ariaMessage);let Ce;if(he.referenceAt(Y.uri,ne)){const de=this._getAlternativeCommand(ee);de!==this.id&&z.has(de)&&(Ce=ee.getAction(de))}const be=he.references.length;if(be===0){if(!this.configuration.muteMessage){const de=Y.getWordAtPosition(ne);(ve=h.MessageController.get(ee))===null||ve===void 0||ve.showMessage(this._getNoResultFoundMessage(de),ne)}}else if(be===1&&Ce)Ce.run();else return this._onResult(x,U,ee,he)}),he=>{le.error(he)}).finally(()=>{fe.dispose()});return H.showWhile(ce,250),ce}_onResult(ae,ee,ue,le){return we(this,void 0,void 0,function*(){const x=this._getGoToPreference(ue);if(!(ue instanceof i.EmbeddedCodeEditorWidget)&&(this.configuration.openInPeek||x==="peek"&&le.references.length>1))this._openInPeek(ue,le);else{const H=le.firstReference(),U=le.references.length>1&&x==="gotoAndPeek",Q=yield this._openReference(ue,ae,H,this.configuration.openToSide,!U);U&&Q?this._openInPeek(Q,le):le.dispose(),x==="goto"&&ee.put(H)}})}_openReference(ae,ee,ue,le,x){return we(this,void 0,void 0,function*(){let H;if((0,r.isLocationLink)(ue)&&(H=ue.targetSelectionRange),H||(H=ue.range),!H)return;const U=yield ee.openCodeEditor({resource:ue.uri,options:{selection:c.Range.collapseToStart(H),selectionRevealType:3,selectionSource:"code.jump"}},ae,le);if(!!U){if(x){const Q=U.getModel(),Y=U.deltaDecorations([],[{range:H,options:{description:"symbol-navigate-action-highlight",className:"symbolHighlight"}}]);setTimeout(()=>{U.getModel()===Q&&U.deltaDecorations(Y,[])},350)}return U}})}_openInPeek(ae,ee){const ue=s.ReferencesController.get(ae);ue&&ae.hasModel()?ue.toggleWidget(ae.getSelection(),(0,k.createCancelablePromise)(le=>Promise.resolve(ee)),this.configuration.openInPeek):ee.dispose()}}e.SymbolNavigationAction=G;class J extends G{_getLocationModel(ae,ee,ue,le){return we(this,void 0,void 0,function*(){return new a.ReferencesModel(yield(0,D.getDefinitionsAtPosition)(ae.definitionProvider,ee,ue,le),S.localize(1,null))})}_getNoResultFoundMessage(ae){return ae&&ae.word?S.localize(2,null,ae.word):S.localize(3,null)}_getAlternativeCommand(ae){return ae.getOption(51).alternativeDefinitionCommand}_getGoToPreference(ae){return ae.getOption(51).multipleDefinitions}}e.DefinitionAction=J;const re=w.isWeb&&!L.isStandalone?2048|70:70;j((B=class si extends J{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:si.id,label:S.localize(4,null),alias:"Go to Definition",precondition:_.ContextKeyExpr.and(d.EditorContextKeys.hasDefinitionProvider,d.EditorContextKeys.isInWalkThroughSnippet.toNegated()),kbOpts:{kbExpr:d.EditorContextKeys.editorTextFocus,primary:re,weight:100},contextMenuOpts:{group:"navigation",order:1.1}});p.CommandsRegistry.registerCommandAlias("editor.action.goToDeclaration",si.id)}},B.id="editor.action.revealDefinition",B)),j((O=class oi extends J{constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:oi.id,label:S.localize(5,null),alias:"Open Definition to the Side",precondition:_.ContextKeyExpr.and(d.EditorContextKeys.hasDefinitionProvider,d.EditorContextKeys.isInWalkThroughSnippet.toNegated()),kbOpts:{kbExpr:d.EditorContextKeys.editorTextFocus,primary:(0,I.KeyChord)(2048|41,re),weight:100}});p.CommandsRegistry.registerCommandAlias("editor.action.openDeclarationToTheSide",oi.id)}},O.id="editor.action.revealDefinitionAside",O)),j((T=class ri extends J{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:ri.id,label:S.localize(6,null),alias:"Peek Definition",precondition:_.ContextKeyExpr.and(d.EditorContextKeys.hasDefinitionProvider,f.PeekContext.notInPeekEditor,d.EditorContextKeys.isInWalkThroughSnippet.toNegated()),kbOpts:{kbExpr:d.EditorContextKeys.editorTextFocus,primary:512|70,linux:{primary:2048|1024|68},weight:100},contextMenuOpts:{menuId:v.MenuId.EditorContextPeek,group:"peek",order:2}});p.CommandsRegistry.registerCommandAlias("editor.action.previewDeclaration",ri.id)}},T.id="editor.action.peekDefinition",T));class se extends G{_getLocationModel(ae,ee,ue,le){return we(this,void 0,void 0,function*(){return new a.ReferencesModel(yield(0,D.getDeclarationsAtPosition)(ae.declarationProvider,ee,ue,le),S.localize(7,null))})}_getNoResultFoundMessage(ae){return ae&&ae.word?S.localize(8,null,ae.word):S.localize(9,null)}_getAlternativeCommand(ae){return ae.getOption(51).alternativeDeclarationCommand}_getGoToPreference(ae){return ae.getOption(51).multipleDeclarations}}j((A=class Hi extends se{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Hi.id,label:S.localize(10,null),alias:"Go to Declaration",precondition:_.ContextKeyExpr.and(d.EditorContextKeys.hasDeclarationProvider,d.EditorContextKeys.isInWalkThroughSnippet.toNegated()),contextMenuOpts:{group:"navigation",order:1.3}})}_getNoResultFoundMessage(ae){return ae&&ae.word?S.localize(11,null,ae.word):S.localize(12,null)}},A.id="editor.action.revealDeclaration",A)),j(class extends se{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",label:S.localize(13,null),alias:"Peek Declaration",precondition:_.ContextKeyExpr.and(d.EditorContextKeys.hasDeclarationProvider,f.PeekContext.notInPeekEditor,d.EditorContextKeys.isInWalkThroughSnippet.toNegated()),contextMenuOpts:{menuId:v.MenuId.EditorContextPeek,group:"peek",order:3}})}});class Z extends G{_getLocationModel(ae,ee,ue,le){return we(this,void 0,void 0,function*(){return new a.ReferencesModel(yield(0,D.getTypeDefinitionsAtPosition)(ae.typeDefinitionProvider,ee,ue,le),S.localize(14,null))})}_getNoResultFoundMessage(ae){return ae&&ae.word?S.localize(15,null,ae.word):S.localize(16,null)}_getAlternativeCommand(ae){return ae.getOption(51).alternativeTypeDefinitionCommand}_getGoToPreference(ae){return ae.getOption(51).multipleTypeDefinitions}}j((P=class Ui extends Z{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Ui.ID,label:S.localize(17,null),alias:"Go to Type Definition",precondition:_.ContextKeyExpr.and(d.EditorContextKeys.hasTypeDefinitionProvider,d.EditorContextKeys.isInWalkThroughSnippet.toNegated()),kbOpts:{kbExpr:d.EditorContextKeys.editorTextFocus,primary:0,weight:100},contextMenuOpts:{group:"navigation",order:1.4}})}},P.ID="editor.action.goToTypeDefinition",P)),j((F=class Ki extends Z{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:Ki.ID,label:S.localize(18,null),alias:"Peek Type Definition",precondition:_.ContextKeyExpr.and(d.EditorContextKeys.hasTypeDefinitionProvider,f.PeekContext.notInPeekEditor,d.EditorContextKeys.isInWalkThroughSnippet.toNegated()),contextMenuOpts:{menuId:v.MenuId.EditorContextPeek,group:"peek",order:4}})}},F.ID="editor.action.peekTypeDefinition",F));class V extends G{_getLocationModel(ae,ee,ue,le){return we(this,void 0,void 0,function*(){return new a.ReferencesModel(yield(0,D.getImplementationsAtPosition)(ae.implementationProvider,ee,ue,le),S.localize(19,null))})}_getNoResultFoundMessage(ae){return ae&&ae.word?S.localize(20,null,ae.word):S.localize(21,null)}_getAlternativeCommand(ae){return ae.getOption(51).alternativeImplementationCommand}_getGoToPreference(ae){return ae.getOption(51).multipleImplementations}}j((W=class ji extends V{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:ji.ID,label:S.localize(22,null),alias:"Go to Implementations",precondition:_.ContextKeyExpr.and(d.EditorContextKeys.hasImplementationProvider,d.EditorContextKeys.isInWalkThroughSnippet.toNegated()),kbOpts:{kbExpr:d.EditorContextKeys.editorTextFocus,primary:2048|70,weight:100},contextMenuOpts:{group:"navigation",order:1.45}})}},W.ID="editor.action.goToImplementation",W)),j((R=class qi extends V{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:qi.ID,label:S.localize(23,null),alias:"Peek Implementations",precondition:_.ContextKeyExpr.and(d.EditorContextKeys.hasImplementationProvider,f.PeekContext.notInPeekEditor,d.EditorContextKeys.isInWalkThroughSnippet.toNegated()),kbOpts:{kbExpr:d.EditorContextKeys.editorTextFocus,primary:2048|1024|70,weight:100},contextMenuOpts:{menuId:v.MenuId.EditorContextPeek,group:"peek",order:5}})}},R.ID="editor.action.peekImplementation",R));class K extends G{_getNoResultFoundMessage(ae){return ae?S.localize(24,null,ae.word):S.localize(25,null)}_getAlternativeCommand(ae){return ae.getOption(51).alternativeReferenceCommand}_getGoToPreference(ae){return ae.getOption(51).multipleReferences}}j(class extends K{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",label:S.localize(26,null),alias:"Go to References",precondition:_.ContextKeyExpr.and(d.EditorContextKeys.hasReferenceProvider,f.PeekContext.notInPeekEditor,d.EditorContextKeys.isInWalkThroughSnippet.toNegated()),kbOpts:{kbExpr:d.EditorContextKeys.editorTextFocus,primary:1024|70,weight:100},contextMenuOpts:{group:"navigation",order:1.45}})}_getLocationModel(ae,ee,ue,le){return we(this,void 0,void 0,function*(){return new a.ReferencesModel(yield(0,D.getReferencesAtPosition)(ae.referenceProvider,ee,ue,!0,le),S.localize(27,null))})}}),j(class extends K{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",label:S.localize(28,null),alias:"Peek References",precondition:_.ContextKeyExpr.and(d.EditorContextKeys.hasReferenceProvider,f.PeekContext.notInPeekEditor,d.EditorContextKeys.isInWalkThroughSnippet.toNegated()),contextMenuOpts:{menuId:v.MenuId.EditorContextPeek,group:"peek",order:6}})}_getLocationModel(ae,ee,ue,le){return we(this,void 0,void 0,function*(){return new a.ReferencesModel(yield(0,D.getReferencesAtPosition)(ae.referenceProvider,ee,ue,!1,le),S.localize(29,null))})}});class X extends G{constructor(ae,ee,ue){super(ae,{id:"editor.action.goToLocation",label:S.localize(30,null),alias:"Go to Any Symbol",precondition:_.ContextKeyExpr.and(f.PeekContext.notInPeekEditor,d.EditorContextKeys.isInWalkThroughSnippet.toNegated())});this._references=ee,this._gotoMultipleBehaviour=ue}_getLocationModel(ae,ee,ue,le){return we(this,void 0,void 0,function*(){return new a.ReferencesModel(this._references,S.localize(31,null))})}_getNoResultFoundMessage(ae){return ae&&S.localize(32,null,ae.word)||""}_getGoToPreference(ae){var ee;return(ee=this._gotoMultipleBehaviour)!==null&&ee!==void 0?ee:ae.getOption(51).multipleReferences}_getAlternativeCommand(){return""}}p.CommandsRegistry.registerCommand({id:"editor.action.goToLocations",description:{description:"Go to locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:C.URI},{name:"position",description:"The position at which to start",constraint:o.Position.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto"},{name:"noResultsMessage",description:"Human readable message that shows when locations is empty."}]},handler:(oe,ae,ee,ue,le,x,H)=>we(void 0,void 0,void 0,function*(){(0,b.assertType)(C.URI.isUri(ae)),(0,b.assertType)(o.Position.isIPosition(ee)),(0,b.assertType)(Array.isArray(ue)),(0,b.assertType)(typeof le=="undefined"||typeof le=="string"),(0,b.assertType)(typeof H=="undefined"||typeof H=="boolean");const U=oe.get(n.ICodeEditorService),Q=yield U.openCodeEditor({resource:ae},U.getFocusedCodeEditor());if((0,g.isCodeEditor)(Q))return Q.setPosition(ee),Q.revealPositionInCenterIfOutsideViewport(ee,0),Q.invokeWithinContext(Y=>{const ne=new class extends X{_getNoResultFoundMessage(ge){return x||super._getNoResultFoundMessage(ge)}}({muteMessage:!Boolean(x),openInPeek:Boolean(H),openToSide:!1},ue,le);Y.get(y.IInstantiationService).invokeFunction(ne.run.bind(ne),Q)})})}),p.CommandsRegistry.registerCommand({id:"editor.action.peekLocations",description:{description:"Peek locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:C.URI},{name:"position",description:"The position at which to start",constraint:o.Position.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto"}]},handler:(oe,ae,ee,ue,le)=>we(void 0,void 0,void 0,function*(){oe.get(p.ICommandService).executeCommand("editor.action.goToLocations",ae,ee,ue,le,void 0,!0)})}),p.CommandsRegistry.registerCommand({id:"editor.action.findReferences",handler:(oe,ae,ee)=>{(0,b.assertType)(C.URI.isUri(ae)),(0,b.assertType)(o.Position.isIPosition(ee));const ue=oe.get(M.ILanguageFeaturesService),le=oe.get(n.ICodeEditorService);return le.openCodeEditor({resource:ae},le.getFocusedCodeEditor()).then(x=>{if(!(0,g.isCodeEditor)(x)||!x.hasModel())return;const H=s.ReferencesController.get(x);if(!H)return;const U=(0,k.createCancelablePromise)(Y=>(0,D.getReferencesAtPosition)(ue.referenceProvider,x.getModel(),o.Position.lift(ee),!1,Y).then(ne=>new a.ReferencesModel(ne,S.localize(33,null)))),Q=new c.Range(ee.lineNumber,ee.column,ee.lineNumber,ee.column);return Promise.resolve(H.toggleWidget(Q,U,!1))})}}),p.CommandsRegistry.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations"),v.MenuRegistry.appendMenuItems([{id:v.MenuId.MenubarGoMenu,item:{command:{id:"editor.action.revealDefinition",title:S.localize(34,null)},group:"4_symbol_nav",order:2}},{id:v.MenuId.MenubarGoMenu,item:{command:{id:"editor.action.revealDeclaration",title:S.localize(35,null)},group:"4_symbol_nav",order:3}},{id:v.MenuId.MenubarGoMenu,item:{command:{id:"editor.action.goToTypeDefinition",title:S.localize(36,null)},group:"4_symbol_nav",order:3}},{id:v.MenuId.MenubarGoMenu,item:{command:{id:"editor.action.goToImplementation",title:S.localize(37,null)},group:"4_symbol_nav",order:4}},{id:v.MenuId.MenubarGoMenu,item:{command:{id:"editor.action.goToReferences",title:S.localize(38,null)},group:"4_symbol_nav",order:5}}])}),define(te[303],ie([1,0,10,13,68,2,19,108,15,11,3,35,56,192,110,546,17,23,14,210,292,20,380]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s,a,l,h){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GotoDefinitionAtPositionEditorContribution=void 0;let f=class Tt{constructor(v,p,_,y){this.textModelResolverService=p,this.languageService=_,this.languageFeaturesService=y,this.toUnhook=new I.DisposableStore,this.toUnhookForKeyboard=new I.DisposableStore,this.linkDecorations=[],this.currentWordAtPosition=null,this.previousPromise=null,this.editor=v;let E=new i.ClickLinkGesture(v);this.toUnhook.add(E),this.toUnhook.add(E.onMouseMoveOrRelevantKeyDown(([N,D])=>{this.startFindDefinitionFromMouse(N,(0,w.withNullAsUndefined)(D))})),this.toUnhook.add(E.onExecute(N=>{this.isEnabled(N)&&this.gotoDefinition(N.target.position,N.hasSideBySideModifier).then(()=>{this.removeLinkDecorations()},D=>{this.removeLinkDecorations(),(0,m.onUnexpectedError)(D)})})),this.toUnhook.add(E.onCancel(()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null}))}static get(v){return v.getContribution(Tt.ID)}startFindDefinitionFromCursor(v){return this.startFindDefinition(v).then(()=>{this.toUnhookForKeyboard.add(this.editor.onDidChangeCursorPosition(()=>{this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear()})),this.toUnhookForKeyboard.add(this.editor.onKeyDown(p=>{p&&(this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear())}))})}startFindDefinitionFromMouse(v,p){if(v.target.type===9&&this.linkDecorations.length>0)return;if(!this.editor.hasModel()||!this.isEnabled(v,p)){this.currentWordAtPosition=null,this.removeLinkDecorations();return}const _=v.target.position;this.startFindDefinition(_)}startFindDefinition(v){var p;this.toUnhookForKeyboard.clear();const _=v?(p=this.editor.getModel())===null||p===void 0?void 0:p.getWordAtPosition(v):null;if(!_)return this.currentWordAtPosition=null,this.removeLinkDecorations(),Promise.resolve(0);if(this.currentWordAtPosition&&this.currentWordAtPosition.startColumn===_.startColumn&&this.currentWordAtPosition.endColumn===_.endColumn&&this.currentWordAtPosition.word===_.word)return Promise.resolve(0);this.currentWordAtPosition=_;let y=new b.EditorState(this.editor,4|1|2|8);return this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=(0,L.createCancelablePromise)(E=>this.findDefinition(v,E)),this.previousPromise.then(E=>{if(!E||!E.length||!y.validate(this.editor)){this.removeLinkDecorations();return}if(E.length>1)this.addDecoration(new g.Range(v.lineNumber,_.startColumn,v.lineNumber,_.endColumn),new k.MarkdownString().appendText(c.localize(0,null,E.length)));else{let N=E[0];if(!N.uri)return;this.textModelResolverService.createModelReference(N.uri).then(D=>{if(!D.object||!D.object.textEditorModel){D.dispose();return}const{object:{textEditorModel:M}}=D,{startLineNumber:B}=N.range;if(B<1||B>M.getLineCount()){D.dispose();return}const O=this.getPreviewValue(M,B,N);let T;N.originSelectionRange?T=g.Range.lift(N.originSelectionRange):T=new g.Range(v.lineNumber,_.startColumn,v.lineNumber,_.endColumn);const A=this.languageService.guessLanguageIdByFilepathOrFirstLine(M.uri);this.addDecoration(T,new k.MarkdownString().appendCodeblock(A||"",O)),D.dispose()})}}).then(void 0,m.onUnexpectedError)}getPreviewValue(v,p,_){let y=_.targetSelectionRange?_.range:this.getPreviewRangeBasedOnBrackets(v,p);return y.endLineNumber-y.startLineNumber>=Tt.MAX_SOURCE_PREVIEW_LINES&&(y=this.getPreviewRangeBasedOnIndentation(v,p)),this.stripIndentationFromPreviewRange(v,p,y)}stripIndentationFromPreviewRange(v,p,_){let E=v.getLineFirstNonWhitespaceColumn(p);for(let D=p+1;D<_.endLineNumber;D++){const M=v.getLineFirstNonWhitespaceColumn(D);E=Math.min(E,M)}return v.getValueInRange(_).replace(new RegExp(`^\\s{${E-1}}`,"gm"),"").trim()}getPreviewRangeBasedOnIndentation(v,p){const _=v.getLineFirstNonWhitespaceColumn(p),y=Math.min(v.getLineCount(),p+Tt.MAX_SOURCE_PREVIEW_LINES);let E=p+1;for(;E<y;E++){let N=v.getLineFirstNonWhitespaceColumn(E);if(_===N)break}return new g.Range(p,1,E+1,1)}getPreviewRangeBasedOnBrackets(v,p){const _=Math.min(v.getLineCount(),p+Tt.MAX_SOURCE_PREVIEW_LINES),y=[];let E=!0,N=v.bracketPairs.findNextBracket(new u.Position(p,1));for(;N!==null;){if(y.length===0)y.push(N);else{const O=y[y.length-1];if(O.open[0]===N.open[0]&&O.isOpen&&!N.isOpen?y.pop():y.push(N),y.length===0)if(E)E=!1;else return new g.Range(p,1,N.range.endLineNumber+1,1)}const D=v.getLineMaxColumn(p);let M=N.range.endLineNumber,B=N.range.endColumn;if(D===N.range.endColumn&&(M++,B=1),M>_)return new g.Range(p,1,_+1,1);N=v.bracketPairs.findNextBracket(new u.Position(M,B))}return new g.Range(p,1,_+1,1)}addDecoration(v,p){const _={range:v,options:{description:"goto-definition-link",inlineClassName:"goto-definition-link",hoverMessage:p}};this.linkDecorations=this.editor.deltaDecorations(this.linkDecorations,[_])}removeLinkDecorations(){this.linkDecorations.length>0&&(this.linkDecorations=this.editor.deltaDecorations(this.linkDecorations,[]))}isEnabled(v,p){return this.editor.hasModel()&&v.isNoneOrSingleMouseDown&&v.target.type===6&&(v.hasTriggerModifier||(p?p.keyCodeIsTriggerKey:!1))&&this.languageFeaturesService.definitionProvider.has(this.editor.getModel())}findDefinition(v,p){const _=this.editor.getModel();return _?(0,l.getDefinitionsAtPosition)(this.languageFeaturesService.definitionProvider,_,v,p):Promise.resolve(null)}gotoDefinition(v,p){return this.editor.setPosition(v),this.editor.invokeWithinContext(_=>{const y=!p&&this.editor.getOption(78)&&!this.isInPeekEditor(_);return new a.DefinitionAction({openToSide:p,openInPeek:y,muteMessage:!0},{alias:"",label:"",id:"",precondition:void 0}).run(_,this.editor)})}isInPeekEditor(v){const p=v.get(d.IContextKeyService);return o.PeekContext.inPeekEditor.getValue(p)}dispose(){this.toUnhook.dispose()}};f.ID="editor.contrib.gotodefinitionatposition",f.MAX_SOURCE_PREVIEW_LINES=8,f=Ie([pe(1,n.ITextModelService),pe(2,t.ILanguageService),pe(3,h.ILanguageFeaturesService)],f),e.GotoDefinitionAtPositionEditorContribution=f,(0,C.registerEditorContribution)(f.ID,f),(0,s.registerThemingParticipant)((S,v)=>{const p=S.getColor(r.editorActiveLinkForeground);p&&v.addRule(`.monaco-editor .goto-definition-link { color: ${p} !important; }`)})}),define(te[739],ie([1,0,7,18,10,13,2,42,3,201,159,294,155,301,554,79,53,73,23,14,20]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s,a,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MarkerHoverParticipant=e.MarkerHover=void 0;const h=L.$;class f{constructor(_,y,E){this.owner=_,this.range=y,this.marker=E}isValidForHoverAnchor(_){return _.type===1&&this.range.startColumn<=_.range.startColumn&&this.range.endColumn>=_.range.endColumn}}e.MarkerHover=f;const S={type:1,filter:{include:n.CodeActionKind.QuickFix}};let v=class{constructor(_,y,E,N){this._editor=_,this._markerDecorationsService=y,this._openerService=E,this._languageFeaturesService=N,this.hoverOrdinal=5,this.recentMarkerCodeActionsInfo=void 0}computeSync(_,y){if(!this._editor.hasModel()||_.type!==1)return[];const E=this._editor.getModel(),N=_.range.startLineNumber,D=E.getLineMaxColumn(N),M=[];for(const B of y){const O=B.range.startLineNumber===N?B.range.startColumn:1,T=B.range.endLineNumber===N?B.range.endColumn:D,A=this._markerDecorationsService.getMarker(E.uri,B);if(!A)continue;const P=new C.Range(_.range.startLineNumber,O,_.range.startLineNumber,T);M.push(new f(this,P,A))}return M}renderHoverParts(_,y){if(!y.length)return w.Disposable.None;const E=new w.DisposableStore;y.forEach(D=>_.fragment.appendChild(this.renderMarkerHover(D,E)));const N=y.length===1?y[0]:y.sort((D,M)=>c.MarkerSeverity.compare(D.marker.severity,M.marker.severity))[0];return this.renderMarkerStatusbar(_,N,E),E}renderMarkerHover(_,y){const E=h("div.hover-row"),N=L.append(E,h("div.marker.hover-contents")),{source:D,message:M,code:B,relatedInformation:O}=_.marker;this._editor.applyFontInfo(N);const T=L.append(N,h("span"));if(T.style.whiteSpace="pre-wrap",T.innerText=M,D||B)if(B&&typeof B!="string"){const A=h("span");if(D){const R=L.append(A,h("span"));R.innerText=D}const P=L.append(A,h("a.code-link"));P.setAttribute("href",B.target.toString()),y.add(L.addDisposableListener(P,"click",R=>{this._openerService.open(B.target,{allowCommands:!0}),R.preventDefault(),R.stopPropagation()}));const F=L.append(P,h("span"));F.innerText=B.value;const W=L.append(N,A);W.style.opacity="0.6",W.style.paddingLeft="6px"}else{const A=L.append(N,h("span"));A.style.opacity="0.6",A.style.paddingLeft="6px",A.innerText=D&&B?`${D}(${B})`:D||`(${B})`}if((0,m.isNonEmptyArray)(O))for(const{message:A,resource:P,startLineNumber:F,startColumn:W}of O){const R=L.append(N,h("div"));R.style.marginTop="8px";const z=L.append(R,h("a"));z.innerText=`${(0,b.basename)(P)}(${F}, ${W}): `,z.style.cursor="pointer",y.add(L.addDisposableListener(z,"click",$=>{$.stopPropagation(),$.preventDefault(),this._openerService&&this._openerService.open(P,{fromUserGesture:!0,editorOptions:{selection:{startLineNumber:F,startColumn:W}}}).catch(I.onUnexpectedError)}));const j=L.append(R,h("span"));j.innerText=A,this._editor.applyFontInfo(j)}return E}renderMarkerStatusbar(_,y,E){if((y.marker.severity===c.MarkerSeverity.Error||y.marker.severity===c.MarkerSeverity.Warning||y.marker.severity===c.MarkerSeverity.Info)&&_.statusBar.addAction({label:o.localize(0,null),commandId:i.NextMarkerAction.ID,run:()=>{var N;_.hide(),(N=i.MarkerController.get(this._editor))===null||N===void 0||N.showAtMarker(y.marker),this._editor.focus()}}),!this._editor.getOption(81)){const N=_.statusBar.append(h("div"));this.recentMarkerCodeActionsInfo&&(c.IMarkerData.makeKey(this.recentMarkerCodeActionsInfo.marker)===c.IMarkerData.makeKey(y.marker)?this.recentMarkerCodeActionsInfo.hasCodeActions||(N.textContent=o.localize(1,null)):this.recentMarkerCodeActionsInfo=void 0);const D=this.recentMarkerCodeActionsInfo&&!this.recentMarkerCodeActionsInfo.hasCodeActions?w.Disposable.None:E.add((0,k.disposableTimeout)(()=>N.textContent=o.localize(2,null),200));N.textContent||(N.textContent=String.fromCharCode(160));const M=this.getCodeActions(y.marker);E.add((0,w.toDisposable)(()=>M.cancel())),M.then(B=>{if(D.dispose(),this.recentMarkerCodeActionsInfo={marker:y.marker,hasCodeActions:B.validActions.length>0},!this.recentMarkerCodeActionsInfo.hasCodeActions){B.dispose(),N.textContent=o.localize(3,null);return}N.style.display="none";let O=!1;E.add((0,w.toDisposable)(()=>{O||B.dispose()})),_.statusBar.addAction({label:o.localize(4,null),commandId:t.QuickFixAction.Id,run:T=>{O=!0;const A=t.QuickFixController.get(this._editor),P=L.getDomNodePagePosition(T);_.hide(),A==null||A.showCodeActions(S,B,{x:P.left+6,y:P.top+P.height+6})}})},I.onUnexpectedError)}}getCodeActions(_){return(0,k.createCancelablePromise)(y=>(0,g.getCodeActions)(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new C.Range(_.startLineNumber,_.startColumn,_.endLineNumber,_.endColumn),S,r.Progress.None,y))}};v=Ie([pe(1,u.IMarkerDecorationsService),pe(2,d.IOpenerService),pe(3,l.ILanguageFeaturesService)],v),e.MarkerHoverParticipant=v,(0,a.registerThemingParticipant)((p,_)=>{const y=p.getColor(s.textLinkForeground);y&&_.addRule(`.monaco-hover .hover-contents a.code-link span { color: ${y}; }`);const E=p.getColor(s.textLinkActiveForeground);E&&_.addRule(`.monaco-hover .hover-contents a.code-link span:hover { color: ${E}; }`)})}),define(te[304],ie([1,0,58,2,15,3,24,35,303,728,634,552,17,9,53,23,14,86,207,739]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s,a){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ModesHoverController=void 0;let l=class $i{constructor(v,p,_,y,E){this._editor=v,this._instantiationService=p,this._openerService=_,this._languageService=y,this._toUnhook=new m.DisposableStore,this._isMouseDown=!1,this._hoverClicked=!1,this._contentWidget=null,this._glyphWidget=null,this._hookEvents(),this._didChangeConfigurationHandler=this._editor.onDidChangeConfiguration(N=>{N.hasChanged(53)&&(this._unhookEvents(),this._hookEvents())})}static get(v){return v.getContribution($i.ID)}_hookEvents(){const v=()=>this._hideWidgets(),p=this._editor.getOption(53);this._isHoverEnabled=p.enabled,this._isHoverSticky=p.sticky,this._isHoverEnabled?(this._toUnhook.add(this._editor.onMouseDown(_=>this._onEditorMouseDown(_))),this._toUnhook.add(this._editor.onMouseUp(_=>this._onEditorMouseUp(_))),this._toUnhook.add(this._editor.onMouseMove(_=>this._onEditorMouseMove(_))),this._toUnhook.add(this._editor.onKeyDown(_=>this._onKeyDown(_)))):(this._toUnhook.add(this._editor.onMouseMove(_=>this._onEditorMouseMove(_))),this._toUnhook.add(this._editor.onKeyDown(_=>this._onKeyDown(_)))),this._toUnhook.add(this._editor.onMouseLeave(v)),this._toUnhook.add(this._editor.onDidChangeModel(v)),this._toUnhook.add(this._editor.onDidScrollChange(_=>this._onEditorScrollChanged(_)))}_unhookEvents(){this._toUnhook.clear()}_onEditorScrollChanged(v){(v.scrollTopChanged||v.scrollLeftChanged)&&this._hideWidgets()}_onEditorMouseDown(v){this._isMouseDown=!0;const p=v.target;if(p.type===9&&p.detail===u.ContentHoverWidget.ID){this._hoverClicked=!0;return}p.type===12&&p.detail===g.MarginHoverWidget.ID||(p.type!==12&&(this._hoverClicked=!1),this._hideWidgets())}_onEditorMouseUp(v){this._isMouseDown=!1}_onEditorMouseMove(v){var p,_,y,E,N;const D=v.target;if(this._isMouseDown&&this._hoverClicked||this._isHoverSticky&&D.type===9&&D.detail===u.ContentHoverWidget.ID||this._isHoverSticky&&!((_=(p=v.event.browserEvent.view)===null||p===void 0?void 0:p.getSelection())===null||_===void 0?void 0:_.isCollapsed)||!this._isHoverSticky&&D.type===9&&D.detail===u.ContentHoverWidget.ID&&((y=this._contentWidget)===null||y===void 0?void 0:y.isColorPickerVisible())||this._isHoverSticky&&D.type===12&&D.detail===g.MarginHoverWidget.ID)return;if(!this._isHoverEnabled){this._hideWidgets();return}if(this._getOrCreateContentWidget().maybeShowAt(v)){(E=this._glyphWidget)===null||E===void 0||E.hide();return}if(D.type===2&&D.position){(N=this._contentWidget)===null||N===void 0||N.hide(),this._glyphWidget||(this._glyphWidget=new g.MarginHoverWidget(this._editor,this._languageService,this._openerService)),this._glyphWidget.startShowingAt(D.position.lineNumber);return}this._hideWidgets()}_onKeyDown(v){v.keyCode!==5&&v.keyCode!==6&&v.keyCode!==57&&v.keyCode!==4&&this._hideWidgets()}_hideWidgets(){var v,p,_;this._isMouseDown&&this._hoverClicked&&((v=this._contentWidget)===null||v===void 0?void 0:v.isColorPickerVisible())||(this._hoverClicked=!1,(p=this._glyphWidget)===null||p===void 0||p.hide(),(_=this._contentWidget)===null||_===void 0||_.hide())}_getOrCreateContentWidget(){return this._contentWidget||(this._contentWidget=this._instantiationService.createInstance(u.ContentHoverController,this._editor)),this._contentWidget}isColorPickerVisible(){var v;return((v=this._contentWidget)===null||v===void 0?void 0:v.isColorPickerVisible())||!1}showContentHover(v,p,_){this._getOrCreateContentWidget().startShowingAtRange(v,p,_)}dispose(){var v,p;this._unhookEvents(),this._toUnhook.dispose(),this._didChangeConfigurationHandler.dispose(),(v=this._glyphWidget)===null||v===void 0||v.dispose(),(p=this._contentWidget)===null||p===void 0||p.dispose()}};l.ID="editor.contrib.hover",l=Ie([pe(1,i.IInstantiationService),pe(2,o.IOpenerService),pe(3,b.ILanguageService),pe(4,n.IContextKeyService)],l),e.ModesHoverController=l;class h extends k.EditorAction{constructor(){super({id:"editor.action.showHover",label:t.localize(0,null),alias:"Show Hover",precondition:void 0,kbOpts:{kbExpr:w.EditorContextKeys.editorTextFocus,primary:(0,L.KeyChord)(2048|41,2048|39),weight:100}})}run(v,p){if(!p.hasModel())return;let _=l.get(p);if(!_)return;const y=p.getPosition(),E=new I.Range(y.lineNumber,y.column,y.lineNumber,y.column),N=p.getOption(2)===2;_.showContentHover(E,1,N)}}class f extends k.EditorAction{constructor(){super({id:"editor.action.showDefinitionPreviewHover",label:t.localize(1,null),alias:"Show Definition Preview Hover",precondition:void 0})}run(v,p){const _=l.get(p);if(!_)return;const y=p.getPosition();if(!y)return;const E=new I.Range(y.lineNumber,y.column,y.lineNumber,y.column),N=C.GotoDefinitionAtPositionEditorContribution.get(p);if(!N)return;N.startFindDefinitionFromCursor(y).then(()=>{_.showContentHover(E,1,!0)})}}(0,k.registerEditorContribution)(l.ID,l),(0,k.registerEditorAction)(h),(0,k.registerEditorAction)(f),r.HoverParticipantRegistry.register(s.MarkdownHoverParticipant),r.HoverParticipantRegistry.register(a.MarkerHoverParticipant),(0,d.registerThemingParticipant)((S,v)=>{const p=S.getColor(c.editorHoverHighlight);p&&v.addRule(`.monaco-editor .hoverHighlight { background-color: ${p}; }`);const _=S.getColor(c.editorHoverBackground);_&&v.addRule(`.monaco-editor .monaco-hover { background-color: ${_}; }`);const y=S.getColor(c.editorHoverBorder);y&&(v.addRule(`.monaco-editor .monaco-hover { border: 1px solid ${y}; }`),v.addRule(`.monaco-editor .monaco-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${y.transparent(.5)}; }`),v.addRule(`.monaco-editor .monaco-hover hr { border-top: 1px solid ${y.transparent(.5)}; }`),v.addRule(`.monaco-editor .monaco-hover hr { border-bottom: 0px solid ${y.transparent(.5)}; }`));const E=S.getColor(c.textLinkForeground);E&&v.addRule(`.monaco-editor .monaco-hover a { color: ${E}; }`);const N=S.getColor(c.textLinkActiveForeground);N&&v.addRule(`.monaco-editor .monaco-hover a:hover { color: ${N}; }`);const D=S.getColor(c.editorHoverForeground);D&&v.addRule(`.monaco-editor .monaco-hover { color: ${D}; }`);const M=S.getColor(c.editorHoverStatusBarBackground);M&&v.addRule(`.monaco-editor .monaco-hover .hover-row .actions { background-color: ${M}; }`);const B=S.getColor(c.textCodeBlockBackground);B&&v.addRule(`.monaco-editor .monaco-hover code { background-color: ${B}; }`)})}),define(te[740],ie([1,0,2,15,3,299,720,304,86]),function(q,e,L,m,k,I,w,b,C){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ColorContribution=void 0;class u extends L.Disposable{constructor(t){super();this._editor=t,this._register(t.onMouseDown(n=>this.onMouseDown(n)))}dispose(){super.dispose()}onMouseDown(t){const n=t.target;if(n.type!==6||!n.detail.injectedText||n.detail.injectedText.options.attachedData!==I.ColorDecorationInjectedTextMarker||!n.range)return;const i=this._editor.getContribution(b.ModesHoverController.ID);if(!!i&&!i.isColorPickerVisible()){const o=new k.Range(n.range.startLineNumber,n.range.startColumn+1,n.range.endLineNumber,n.range.endColumn+1);i.showContentHover(o,1,!1)}}}e.ColorContribution=u,u.ID="editor.contrib.colorContribution",(0,m.registerEditorContribution)(u.ID,u),C.HoverParticipantRegistry.register(w.ColorHoverParticipant)}),define(te[741],ie([1,0,7,47,21,15,3,56,210,110,37,26,17,78,9,39]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.goToDefinitionWithLocation=e.showGoToContextMenu=void 0;function d(s,a,l,h){var f;return we(this,void 0,void 0,function*(){const S=s.get(b.ITextModelService),v=s.get(i.IContextMenuService),p=s.get(t.ICommandService),_=s.get(o.IInstantiationService),y=s.get(c.INotificationService);if(yield h.item.resolve(k.CancellationToken.None),!h.part.location)return;const E=h.part.location,N=[],D=new Set(g.MenuRegistry.getMenuItems(g.MenuId.EditorContext).map(B=>(0,g.isIMenuItem)(B)?B.command.id:""));for(const B of I.EditorExtensionsRegistry.getEditorActions())B instanceof C.SymbolNavigationAction&&D.has(B.id)&&N.push(new m.Action(B.id,B.label,void 0,!0,()=>we(this,void 0,void 0,function*(){const O=yield S.createModelReference(E.uri);try{yield _.invokeFunction(B.run.bind(B),a,new C.SymbolNavigationAnchor(O.object.textEditorModel,w.Range.getStartPosition(E.range)))}finally{O.dispose()}})));if(h.part.command){const{command:B}=h.part;N.push(new m.Separator),N.push(new m.Action(B.id,B.title,void 0,!0,()=>we(this,void 0,void 0,function*(){var O;try{yield p.executeCommand(B.id,...(O=B.arguments)!==null&&O!==void 0?O:[])}catch(T){y.notify({severity:c.Severity.Error,source:h.item.provider.displayName,message:T})}})))}const M=a.getOption(115);v.showContextMenu({domForShadowRoot:M&&(f=a.getDomNode())!==null&&f!==void 0?f:void 0,getAnchor:()=>{const B=L.getDomNodePagePosition(l);return{x:B.left,y:B.top+B.height+8}},getActions:()=>N,onHide:()=>{a.focus()},autoSelectFirstItem:!0})})}e.showGoToContextMenu=d;function r(s,a,l,h){return we(this,void 0,void 0,function*(){const S=yield s.get(b.ITextModelService).createModelReference(h.uri);yield l.invokeWithinContext(v=>we(this,void 0,void 0,function*(){const p=a.hasSideBySideModifier,_=v.get(n.IContextKeyService),y=u.PeekContext.inPeekEditor.getValue(_),E=!p&&l.getOption(78)&&!y;return new C.DefinitionAction({openToSide:p,openInPeek:E,muteMessage:!0},{alias:"",label:"",id:"",precondition:void 0}).run(v,l,{model:S.object.textEditorModel,position:w.Range.getStartPosition(h.range)})})),S.dispose()})}e.goToDefinitionWithLocation=r}),define(te[305],ie([1,0,10,21,13,2,49,19,25,133,32,3,27,50,38,67,20,56,192,262,741,26,52,9,39,23,14]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s,a,l,h,f,S,v,p,_){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InlayHintsController=e.RenderedInlayHintLabelPart=void 0;class y{constructor(){this._entries=new w.LRUCache(50)}get(T){const A=y._key(T);return this._entries.get(A)}set(T,A){const P=y._key(T);this._entries.set(P,A)}static _key(T){return`${T.uri.toString()}/${T.getVersionId()}`}}const E=(0,S.createDecorator)("IInlayHintsCache");(0,f.registerSingleton)(E,y,!0);class N{constructor(T,A){this.item=T,this.index=A}get part(){const T=this.item.hint.label;return typeof T=="string"?{label:T}:T[this.index]}}e.RenderedInlayHintLabelPart=N;class D{constructor(T,A){this.part=T,this.hasTriggerModifier=A}}let M=class ai{constructor(T,A,P,F,W,R,z){this._editor=T,this._languageFeaturesService=A,this._inlayHintsCache=F,this._commandService=W,this._notificationService=R,this._instaService=z,this._disposables=new I.DisposableStore,this._sessionDisposables=new I.DisposableStore,this._decorationsMetadata=new Map,this._ruleFactory=new u.DynamicCssRules(this._editor),this._debounceInfo=P.for(A.inlayHintsProvider,"InlayHint",{min:25}),this._disposables.add(A.inlayHintsProvider.onDidChange(()=>this._update())),this._disposables.add(T.onDidChangeModel(()=>this._update())),this._disposables.add(T.onDidChangeModelLanguage(()=>this._update())),this._disposables.add(T.onDidChangeConfiguration(j=>{j.hasChanged(127)&&this._update()})),this._update()}static get(T){var A;return(A=T.getContribution(ai.ID))!==null&&A!==void 0?A:void 0}dispose(){this._sessionDisposables.dispose(),this._removeAllDecorations(),this._disposables.dispose()}_update(){if(this._sessionDisposables.clear(),this._removeAllDecorations(),!this._editor.getOption(127).enabled)return;const T=this._editor.getModel();if(!T||!this._languageFeaturesService.inlayHintsProvider.has(T))return;const A=this._inlayHintsCache.get(T);A&&this._updateHintsDecorators([T.getFullModelRange()],A),this._sessionDisposables.add((0,I.toDisposable)(()=>{T.isDisposed()||this._cacheHintsForFastRestore(T)}));let P,F=new Set;const W=new L.RunOnceScheduler(()=>we(this,void 0,void 0,function*(){const R=Date.now();P==null||P.dispose(!0),P=new m.CancellationTokenSource;const z=T.onWillDispose(()=>P==null?void 0:P.cancel());try{const j=P.token,$=yield a.InlayHintsFragments.create(this._languageFeaturesService.inlayHintsProvider,T,this._getHintsRanges(),j);if(W.delay=this._debounceInfo.update(T,Date.now()-R),j.isCancellationRequested){$.dispose();return}for(const G of $.provider)typeof G.onDidChangeInlayHints=="function"&&!F.has(G)&&(F.add(G),this._sessionDisposables.add(G.onDidChangeInlayHints(()=>{W.isScheduled()||W.schedule()})));this._sessionDisposables.add($),this._updateHintsDecorators($.ranges,$.items),this._cacheHintsForFastRestore(T)}catch(j){(0,k.onUnexpectedError)(j)}finally{P.dispose(),z.dispose()}}),this._debounceInfo.get(T));this._sessionDisposables.add(W),this._sessionDisposables.add((0,I.toDisposable)(()=>P==null?void 0:P.dispose(!0))),W.schedule(0),this._sessionDisposables.add(this._editor.onDidScrollChange(R=>{(R.scrollTopChanged||!W.isScheduled())&&W.schedule()})),this._sessionDisposables.add(this._editor.onDidChangeModelContent(R=>{const z=Math.max(W.delay,1250);W.schedule(z)})),this._sessionDisposables.add(this._installLinkGesture()),this._sessionDisposables.add(this._installDblClickGesture()),this._sessionDisposables.add(this._installContextMenu())}_installLinkGesture(){const T=new I.DisposableStore,A=T.add(new s.ClickLinkGesture(this._editor)),P=new I.DisposableStore;return T.add(P),T.add(A.onMouseMoveOrRelevantKeyDown(F=>{const[W]=F,R=this._getInlayHintLabelPart(W),z=this._editor.getModel();if(!R||!z){P.clear();return}const j=new m.CancellationTokenSource;P.add((0,I.toDisposable)(()=>j.dispose(!0))),R.item.resolve(j.token),this._activeInlayHintPart=R.part.command||R.part.location?new D(R,W.hasTriggerModifier):void 0;const $=R.item.hint.position.lineNumber,G=new t.Range($,1,$,z.getLineMaxColumn($)),J=new Set;for(const re of this._decorationsMetadata.values())G.containsRange(re.item.anchor.range)&&J.add(re.item);this._updateHintsDecorators([G],Array.from(J)),P.add((0,I.toDisposable)(()=>{this._activeInlayHintPart=void 0,this._updateHintsDecorators([G],Array.from(J))}))})),T.add(A.onCancel(()=>P.clear())),T.add(A.onExecute(F=>we(this,void 0,void 0,function*(){const W=this._getInlayHintLabelPart(F);if(W){const R=W.part;R.location?this._instaService.invokeFunction(l.goToDefinitionWithLocation,F,this._editor,R.location):n.Command.is(R.command)&&(yield this._invokeCommand(R.command,W.item))}}))),T}_installDblClickGesture(){return this._editor.onMouseUp(T=>we(this,void 0,void 0,function*(){if(T.event.detail!==2)return;const A=this._getInlayHintLabelPart(T);!A||(T.event.preventDefault(),yield A.item.resolve(m.CancellationToken.None),A.item.hint.command&&(yield this._invokeCommand(A.item.hint.command,A.item)))}))}_installContextMenu(){return this._editor.onContextMenu(T=>we(this,void 0,void 0,function*(){if(!(T.event.target instanceof HTMLElement))return;const A=this._getInlayHintLabelPart(T);A&&(yield this._instaService.invokeFunction(l.showGoToContextMenu,this._editor,T.event.target,A))}))}_getInlayHintLabelPart(T){var A;if(T.target.type!==6)return;const P=(A=T.target.detail.injectedText)===null||A===void 0?void 0:A.options;if(P instanceof o.ModelDecorationInjectedTextOptions&&(P==null?void 0:P.attachedData)instanceof N)return P.attachedData}_invokeCommand(T,A){var P;return we(this,void 0,void 0,function*(){try{yield this._commandService.executeCommand(T.id,...(P=T.arguments)!==null&&P!==void 0?P:[])}catch(F){this._notificationService.notify({severity:v.Severity.Error,source:A.provider.displayName,message:F})}})}_cacheHintsForFastRestore(T){const A=new Map;for(const[P,F]of this._decorationsMetadata){if(A.has(F.item))continue;let W=F.item;const R=T.getDecorationRange(P);if(R){const z=new a.InlayHintAnchor(R,F.item.anchor.direction);W=F.item.with({anchor:z})}A.set(F.item,W)}this._inlayHintsCache.set(T,Array.from(A.values()))}_getHintsRanges(){const T=30,A=this._editor.getModel(),P=this._editor.getVisibleRangesPlusViewportAboveBelow(),F=[];for(const W of P.sort(t.Range.compareRangesUsingStarts)){const R=A.validateRange(new t.Range(W.startLineNumber-T,W.startColumn,W.endLineNumber+T,W.endColumn));F.length===0||!t.Range.areIntersectingOrTouching(F[F.length-1],R)?F.push(R):F[F.length-1]=t.Range.plusRange(F[F.length-1],R)}return F}_updateHintsDecorators(T,A){var P,F;const W=[],R=(se,Z,V,K,X)=>{W.push({item:se,classNameRef:Z,decoration:{range:se.anchor.range,options:{description:"InlayHint",showIfCollapsed:se.anchor.range.isEmpty(),collapseOnReplaceEdit:!se.anchor.range.isEmpty(),stickiness:0,[se.anchor.direction]:{content:V,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:Z.className,cursorStops:K,attachedData:X}}}})},z=(se,Z)=>{const V=this._ruleFactory.createClassNameRef({width:`${j/3|0}px`,display:"inline-block"});R(se,V,"\u200A",Z?i.InjectedTextCursorStops.Right:i.InjectedTextCursorStops.None)},{fontSize:j,fontFamily:$}=this._getLayoutInfo(),G="--code-editorInlayHintsFontFamily";this._editor.getContainerDomNode().style.setProperty(G,$);for(const se of A){se.hint.paddingLeft&&z(se,!1);const Z=typeof se.hint.label=="string"?[{label:se.hint.label}]:se.hint.label;for(let V=0;V<Z.length;V++){const K=Z[V],X=V===0,oe=V===Z.length-1,ae={fontSize:`${j}px`,fontFamily:`var(${G}), ${g.EDITOR_FONT_DEFAULTS.fontFamily}`,verticalAlign:"middle"};se.hint.command&&(ae.cursor="pointer"),this._fillInColors(ae,se.hint),(K.command||K.location)&&((P=this._activeInlayHintPart)===null||P===void 0?void 0:P.part.item)===se&&this._activeInlayHintPart.part.index===V&&(ae.textDecoration="underline",this._activeInlayHintPart.hasTriggerModifier&&(ae.color=(0,_.themeColorFromId)(p.editorActiveLinkForeground),ae.cursor="pointer")),X&&oe?(ae.padding=`1px ${Math.max(1,j/4)|0}px`,ae.borderRadius=`${j/4|0}px`):X?(ae.padding=`1px 0 1px ${Math.max(1,j/4)|0}px`,ae.borderRadius=`${j/4|0}px 0 0 ${j/4|0}px`):oe?(ae.padding=`1px ${Math.max(1,j/4)|0}px 1px 0`,ae.borderRadius=`0 ${j/4|0}px ${j/4|0}px 0`):ae.padding="1px 0 1px 0",R(se,this._ruleFactory.createClassNameRef(ae),B(K.label),oe&&!se.hint.paddingRight?i.InjectedTextCursorStops.Right:i.InjectedTextCursorStops.None,new N(se,V))}if(se.hint.paddingRight&&z(se,!0),W.length>ai._MAX_DECORATORS)break}const J=[];for(const se of T)for(const{id:Z}of(F=this._editor.getDecorationsInRange(se))!==null&&F!==void 0?F:[]){const V=this._decorationsMetadata.get(Z);V&&(J.push(Z),V.classNameRef.dispose(),this._decorationsMetadata.delete(Z))}const re=this._editor.deltaDecorations(J,W.map(se=>se.decoration));for(let se=0;se<re.length;se++){const Z=W[se];this._decorationsMetadata.set(re[se],{item:Z.item,classNameRef:Z.classNameRef})}}_fillInColors(T,A){A.kind===n.InlayHintKind.Parameter?(T.backgroundColor=(0,_.themeColorFromId)(p.editorInlayHintParameterBackground),T.color=(0,_.themeColorFromId)(p.editorInlayHintParameterForeground)):A.kind===n.InlayHintKind.Type?(T.backgroundColor=(0,_.themeColorFromId)(p.editorInlayHintTypeBackground),T.color=(0,_.themeColorFromId)(p.editorInlayHintTypeForeground)):(T.backgroundColor=(0,_.themeColorFromId)(p.editorInlayHintBackground),T.color=(0,_.themeColorFromId)(p.editorInlayHintForeground))}_getLayoutInfo(){const T=this._editor.getOption(127),A=this._editor.getOption(46);let P=T.fontSize;(!P||P<5||P>A)&&(P=A*.9|0);const F=T.fontFamily||this._editor.getOption(43);return{fontSize:P,fontFamily:F}}_removeAllDecorations(){this._editor.deltaDecorations(Array.from(this._decorationsMetadata.keys()),[]);for(let T of this._decorationsMetadata.values())T.classNameRef.dispose();this._decorationsMetadata.clear()}};M.ID="editor.contrib.InlayHints",M._MAX_DECORATORS=1500,M=Ie([pe(1,d.ILanguageFeaturesService),pe(2,c.ILanguageFeatureDebounceService),pe(3,E),pe(4,h.ICommandService),pe(5,v.INotificationService),pe(6,S.IInstantiationService)],M),e.InlayHintsController=M;function B(O){const T="\xA0";return O.replace(/[ \t]/g,T)}h.CommandsRegistry.registerCommand("_executeInlayHintProvider",(O,...T)=>we(void 0,void 0,void 0,function*(){const[A,P]=T;(0,b.assertType)(C.URI.isUri(A)),(0,b.assertType)(t.Range.isIRange(P));const{inlayHintsProvider:F}=O.get(d.ILanguageFeaturesService),W=yield O.get(r.ITextModelService).createModelReference(A);try{const R=yield a.InlayHintsFragments.create(F,W.object.textEditorModel,[t.Range.lift(P)],m.CancellationToken.None),z=R.items.map(j=>j.hint);return setTimeout(()=>R.dispose(),0),z}finally{W.dispose()}}))});var pt=this&&this.__asyncValues||function(q){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=q[Symbol.asyncIterator],L;return e?e.call(q):(q=typeof __values=="function"?__values(q):q[Symbol.iterator](),L={},m("next"),m("throw"),m("return"),L[Symbol.asyncIterator]=function(){return this},L);function m(I){L[I]=q[I]&&function(w){return new Promise(function(b,C){w=q[I](w),k(b,C,w.done,w.value)})}}function k(I,w,b,C){Promise.resolve(C).then(function(u){I({value:u,done:b})},w)}};define(te[742],ie([1,0,10,68,11,38,86,35,56,293,207,305,41,53,20,557,16,262]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InlayHintsHover=void 0;class s extends w.HoverForeignElementAnchor{constructor(h,f){super(10,f,h.item.anchor.range);this.part=h}}let a=class extends g.MarkdownHoverParticipant{constructor(h,f,S,v,p,_){super(h,f,S,v,_);this._resolverService=p,this.hoverOrdinal=6}suggestHoverAnchor(h){var f;if(!t.InlayHintsController.get(this._editor)||h.target.type!==6)return null;const v=(f=h.target.detail.injectedText)===null||f===void 0?void 0:f.options;return v instanceof I.ModelDecorationInjectedTextOptions&&v.attachedData instanceof t.RenderedInlayHintLabelPart?new s(v.attachedData,this):null}computeSync(){return[]}computeAsync(h,f,S){return h instanceof s?new L.AsyncIterableObject(v=>we(this,void 0,void 0,function*(){var p,_;const{part:y}=h;if(yield y.item.resolve(S),S.isCancellationRequested)return;let E;typeof y.item.hint.tooltip=="string"?E=new m.MarkdownString().appendText(y.item.hint.tooltip):y.item.hint.tooltip&&(E=y.item.hint.tooltip),E&&v.emitOne(new g.MarkdownHover(this,h.range,[E],0));let N;if(typeof y.part.tooltip=="string"?N=new m.MarkdownString().appendText(y.part.tooltip):y.part.tooltip&&(N=y.part.tooltip),N&&v.emitOne(new g.MarkdownHover(this,h.range,[N],1)),y.part.location||y.part.command){let O;const A=this._editor.getOption(70)==="altKey"?d.isMacintosh?(0,c.localize)(0,null):(0,c.localize)(1,null):d.isMacintosh?(0,c.localize)(2,null):(0,c.localize)(3,null);y.part.location&&y.part.command?O=new m.MarkdownString().appendText((0,c.localize)(4,null,A)):y.part.location?O=new m.MarkdownString().appendText((0,c.localize)(5,null,A)):y.part.command&&(O=new m.MarkdownString(`[${(0,c.localize)(6,null)}](${(0,r.asCommandLink)(y.part.command)} "${y.part.command.title}") (${A})`,{isTrusted:!0})),O&&v.emitOne(new g.MarkdownHover(this,h.range,[O],1e4))}const D=yield this._resolveInlayHintLabelPartHover(y,S);try{for(var M=pt(D),B;B=yield M.next(),!B.done;){let O=B.value;v.emitOne(O)}}catch(O){p={error:O}}finally{try{B&&!B.done&&(_=M.return)&&(yield _.call(M))}finally{if(p)throw p.error}}})):L.AsyncIterableObject.EMPTY}_resolveInlayHintLabelPartHover(h,f){return we(this,void 0,void 0,function*(){if(!h.part.location)return L.AsyncIterableObject.EMPTY;const{uri:S,range:v}=h.part.location,p=yield this._resolverService.createModelReference(S);try{const _=p.object.textEditorModel;return this._languageFeaturesService.hoverProvider.has(_)?(0,u.getHover)(this._languageFeaturesService.hoverProvider,_,new k.Position(v.startLineNumber,v.startColumn),f).filter(y=>!(0,m.isEmptyMarkdownString)(y.hover.contents)).map(y=>new g.MarkdownHover(this,h.item.anchor.range,y.hover.contents,2+y.ordinal)):L.AsyncIterableObject.EMPTY}finally{p.dispose()}})}};a=Ie([pe(1,b.ILanguageService),pe(2,i.IOpenerService),pe(3,n.IConfigurationService),pe(4,C.ITextModelService),pe(5,o.ILanguageFeaturesService)],a),e.InlayHintsHover=a}),define(te[743],ie([1,0,15,86,305,742]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),(0,L.registerEditorContribution)(k.InlayHintsController.ID,k.InlayHintsController),m.HoverParticipantRegistry.register(I.InlayHintsHover)}),define(te[744],ie([1,0,15,29,302,41,17,9,39,82]),function(q,e,L,m,k,I,w,b,C,u){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StandaloneReferencesController=void 0;let g=class extends k.ReferencesController{constructor(n,i,o,c,d,r,s){super(!0,n,i,o,c,d,r,s)}};g=Ie([pe(1,w.IContextKeyService),pe(2,m.ICodeEditorService),pe(3,C.INotificationService),pe(4,b.IInstantiationService),pe(5,u.IStorageService),pe(6,I.IConfigurationService)],g),e.StandaloneReferencesController=g,(0,L.registerEditorContribution)(k.ReferencesController.ID,g)}),define(te[745],ie([1,0,13,2,45,76,601,130,52,39,162]),function(q,e,L,m,k,I,w,b,C,u,g){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UndoRedoService=void 0;const t=!1;function n(S){return S.scheme===k.Schemas.file?S.fsPath:S.path}let i=0;class o{constructor(v,p,_,y,E,N,D){this.id=++i,this.type=0,this.actual=v,this.label=v.label,this.confirmBeforeUndo=v.confirmBeforeUndo||!1,this.resourceLabel=p,this.strResource=_,this.resourceLabels=[this.resourceLabel],this.strResources=[this.strResource],this.groupId=y,this.groupOrder=E,this.sourceId=N,this.sourceOrder=D,this.isValid=!0}setValid(v){this.isValid=v}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.isValid?"  VALID":"INVALID"}] ${this.actual.constructor.name} - ${this.actual}`}}class c{constructor(v,p){this.resourceLabel=v,this.reason=p}}class d{constructor(){this.elements=new Map}createMessage(){const v=[],p=[];for(const[,y]of this.elements)(y.reason===0?v:p).push(y.resourceLabel);let _=[];return v.length>0&&_.push(w.localize(0,null,v.join(", "))),p.length>0&&_.push(w.localize(1,null,p.join(", "))),_.join(`
+`)}get size(){return this.elements.size}has(v){return this.elements.has(v)}set(v,p){this.elements.set(v,p)}delete(v){return this.elements.delete(v)}}class r{constructor(v,p,_,y,E,N,D){this.id=++i,this.type=1,this.actual=v,this.label=v.label,this.confirmBeforeUndo=v.confirmBeforeUndo||!1,this.resourceLabels=p,this.strResources=_,this.groupId=y,this.groupOrder=E,this.sourceId=N,this.sourceOrder=D,this.removedResources=null,this.invalidatedResources=null}canSplit(){return typeof this.actual.split=="function"}removeResource(v,p,_){this.removedResources||(this.removedResources=new d),this.removedResources.has(p)||this.removedResources.set(p,new c(v,_))}setValid(v,p,_){_?this.invalidatedResources&&(this.invalidatedResources.delete(p),this.invalidatedResources.size===0&&(this.invalidatedResources=null)):(this.invalidatedResources||(this.invalidatedResources=new d),this.invalidatedResources.has(p)||this.invalidatedResources.set(p,new c(v,0)))}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.invalidatedResources?"INVALID":"  VALID"}] ${this.actual.constructor.name} - ${this.actual}`}}class s{constructor(v,p){this.resourceLabel=v,this.strResource=p,this._past=[],this._future=[],this.locked=!1,this.versionId=1}dispose(){for(const v of this._past)v.type===1&&v.removeResource(this.resourceLabel,this.strResource,0);for(const v of this._future)v.type===1&&v.removeResource(this.resourceLabel,this.strResource,0);this.versionId++}toString(){let v=[];v.push(`* ${this.strResource}:`);for(let p=0;p<this._past.length;p++)v.push(`   * [UNDO] ${this._past[p]}`);for(let p=this._future.length-1;p>=0;p--)v.push(`   * [REDO] ${this._future[p]}`);return v.join(`
+`)}flushAllElements(){this._past=[],this._future=[],this.versionId++}_setElementValidFlag(v,p){v.type===1?v.setValid(this.resourceLabel,this.strResource,p):v.setValid(p)}setElementsValidFlag(v,p){for(const _ of this._past)p(_.actual)&&this._setElementValidFlag(_,v);for(const _ of this._future)p(_.actual)&&this._setElementValidFlag(_,v)}pushElement(v){for(const p of this._future)p.type===1&&p.removeResource(this.resourceLabel,this.strResource,1);this._future=[],this._past.push(v),this.versionId++}createSnapshot(v){const p=[];for(let _=0,y=this._past.length;_<y;_++)p.push(this._past[_].id);for(let _=this._future.length-1;_>=0;_--)p.push(this._future[_].id);return new g.ResourceEditStackSnapshot(v,p)}restoreSnapshot(v){const p=v.elements.length;let _=!0,y=0,E=-1;for(let D=0,M=this._past.length;D<M;D++,y++){const B=this._past[D];_&&(y>=p||B.id!==v.elements[y])&&(_=!1,E=0),!_&&B.type===1&&B.removeResource(this.resourceLabel,this.strResource,0)}let N=-1;for(let D=this._future.length-1;D>=0;D--,y++){const M=this._future[D];_&&(y>=p||M.id!==v.elements[y])&&(_=!1,N=D),!_&&M.type===1&&M.removeResource(this.resourceLabel,this.strResource,0)}E!==-1&&(this._past=this._past.slice(0,E)),N!==-1&&(this._future=this._future.slice(N+1)),this.versionId++}getElements(){const v=[],p=[];for(const _ of this._past)v.push(_.actual);for(const _ of this._future)p.push(_.actual);return{past:v,future:p}}getClosestPastElement(){return this._past.length===0?null:this._past[this._past.length-1]}getSecondClosestPastElement(){return this._past.length<2?null:this._past[this._past.length-2]}getClosestFutureElement(){return this._future.length===0?null:this._future[this._future.length-1]}hasPastElements(){return this._past.length>0}hasFutureElements(){return this._future.length>0}splitPastWorkspaceElement(v,p){for(let _=this._past.length-1;_>=0;_--)if(this._past[_]===v){p.has(this.strResource)?this._past[_]=p.get(this.strResource):this._past.splice(_,1);break}this.versionId++}splitFutureWorkspaceElement(v,p){for(let _=this._future.length-1;_>=0;_--)if(this._future[_]===v){p.has(this.strResource)?this._future[_]=p.get(this.strResource):this._future.splice(_,1);break}this.versionId++}moveBackward(v){this._past.pop(),this._future.push(v),this.versionId++}moveForward(v){this._future.pop(),this._past.push(v),this.versionId++}}class a{constructor(v){this.editStacks=v,this._versionIds=[];for(let p=0,_=this.editStacks.length;p<_;p++)this._versionIds[p]=this.editStacks[p].versionId}isValid(){for(let v=0,p=this.editStacks.length;v<p;v++)if(this._versionIds[v]!==this.editStacks[v].versionId)return!1;return!0}}const l=new s("","");l.locked=!0;let h=class{constructor(v,p){this._dialogService=v,this._notificationService=p,this._editStacks=new Map,this._uriComparisonKeyComputers=[]}getUriComparisonKey(v){for(const p of this._uriComparisonKeyComputers)if(p[0]===v.scheme)return p[1].getComparisonKey(v);return v.toString()}_print(v){console.log("------------------------------------"),console.log(`AFTER ${v}: `);let p=[];for(const _ of this._editStacks)p.push(_[1].toString());console.log(p.join(`
+`))}pushElement(v,p=g.UndoRedoGroup.None,_=g.UndoRedoSource.None){if(v.type===0){const y=n(v.resource),E=this.getUriComparisonKey(v.resource);this._pushElement(new o(v,y,E,p.id,p.nextOrder(),_.id,_.nextOrder()))}else{const y=new Set,E=[],N=[];for(const D of v.resources){const M=n(D),B=this.getUriComparisonKey(D);y.has(B)||(y.add(B),E.push(M),N.push(B))}E.length===1?this._pushElement(new o(v,E[0],N[0],p.id,p.nextOrder(),_.id,_.nextOrder())):this._pushElement(new r(v,E,N,p.id,p.nextOrder(),_.id,_.nextOrder()))}t&&this._print("pushElement")}_pushElement(v){for(let p=0,_=v.strResources.length;p<_;p++){const y=v.resourceLabels[p],E=v.strResources[p];let N;this._editStacks.has(E)?N=this._editStacks.get(E):(N=new s(y,E),this._editStacks.set(E,N)),N.pushElement(v)}}getLastElement(v){const p=this.getUriComparisonKey(v);if(this._editStacks.has(p)){const _=this._editStacks.get(p);if(_.hasFutureElements())return null;const y=_.getClosestPastElement();return y?y.actual:null}return null}_splitPastWorkspaceElement(v,p){const _=v.actual.split(),y=new Map;for(const E of _){const N=n(E.resource),D=this.getUriComparisonKey(E.resource),M=new o(E,N,D,0,0,0,0);y.set(M.strResource,M)}for(const E of v.strResources){if(p&&p.has(E))continue;this._editStacks.get(E).splitPastWorkspaceElement(v,y)}}_splitFutureWorkspaceElement(v,p){const _=v.actual.split(),y=new Map;for(const E of _){const N=n(E.resource),D=this.getUriComparisonKey(E.resource),M=new o(E,N,D,0,0,0,0);y.set(M.strResource,M)}for(const E of v.strResources){if(p&&p.has(E))continue;this._editStacks.get(E).splitFutureWorkspaceElement(v,y)}}removeElements(v){const p=typeof v=="string"?v:this.getUriComparisonKey(v);this._editStacks.has(p)&&(this._editStacks.get(p).dispose(),this._editStacks.delete(p)),t&&this._print("removeElements")}setElementsValidFlag(v,p,_){const y=this.getUriComparisonKey(v);this._editStacks.has(y)&&this._editStacks.get(y).setElementsValidFlag(p,_),t&&this._print("setElementsValidFlag")}createSnapshot(v){const p=this.getUriComparisonKey(v);return this._editStacks.has(p)?this._editStacks.get(p).createSnapshot(v):new g.ResourceEditStackSnapshot(v,[])}restoreSnapshot(v){const p=this.getUriComparisonKey(v.resource);if(this._editStacks.has(p)){const _=this._editStacks.get(p);_.restoreSnapshot(v),!_.hasPastElements()&&!_.hasFutureElements()&&(_.dispose(),this._editStacks.delete(p))}t&&this._print("restoreSnapshot")}getElements(v){const p=this.getUriComparisonKey(v);return this._editStacks.has(p)?this._editStacks.get(p).getElements():{past:[],future:[]}}_findClosestUndoElementWithSource(v){if(!v)return[null,null];let p=null,_=null;for(const[y,E]of this._editStacks){const N=E.getClosestPastElement();!N||N.sourceId===v&&(!p||N.sourceOrder>p.sourceOrder)&&(p=N,_=y)}return[p,_]}canUndo(v){if(v instanceof g.UndoRedoSource){const[,_]=this._findClosestUndoElementWithSource(v.id);return!!_}const p=this.getUriComparisonKey(v);return this._editStacks.has(p)?this._editStacks.get(p).hasPastElements():!1}_onError(v,p){(0,L.onUnexpectedError)(v);for(const _ of p.strResources)this.removeElements(_);this._notificationService.error(v)}_acquireLocks(v){for(const p of v.editStacks)if(p.locked)throw new Error("Cannot acquire edit stack lock");for(const p of v.editStacks)p.locked=!0;return()=>{for(const p of v.editStacks)p.locked=!1}}_safeInvokeWithLocks(v,p,_,y,E){const N=this._acquireLocks(_);let D;try{D=p()}catch(M){return N(),y.dispose(),this._onError(M,v)}return D?D.then(()=>(N(),y.dispose(),E()),M=>(N(),y.dispose(),this._onError(M,v))):(N(),y.dispose(),E())}_invokeWorkspacePrepare(v){return we(this,void 0,void 0,function*(){if(typeof v.actual.prepareUndoRedo=="undefined")return m.Disposable.None;const p=v.actual.prepareUndoRedo();return typeof p=="undefined"?m.Disposable.None:p})}_invokeResourcePrepare(v,p){if(v.actual.type!==1||typeof v.actual.prepareUndoRedo=="undefined")return p(m.Disposable.None);const _=v.actual.prepareUndoRedo();return _?(0,m.isDisposable)(_)?p(_):_.then(y=>p(y)):p(m.Disposable.None)}_getAffectedEditStacks(v){const p=[];for(const _ of v.strResources)p.push(this._editStacks.get(_)||l);return new a(p)}_tryToSplitAndUndo(v,p,_,y){if(p.canSplit())return this._splitPastWorkspaceElement(p,_),this._notificationService.warn(y),new f(this._undo(v,0,!0));for(const E of p.strResources)this.removeElements(E);return this._notificationService.warn(y),new f}_checkWorkspaceUndo(v,p,_,y){if(p.removedResources)return this._tryToSplitAndUndo(v,p,p.removedResources,w.localize(2,null,p.label,p.removedResources.createMessage()));if(y&&p.invalidatedResources)return this._tryToSplitAndUndo(v,p,p.invalidatedResources,w.localize(3,null,p.label,p.invalidatedResources.createMessage()));const E=[];for(const D of _.editStacks)D.getClosestPastElement()!==p&&E.push(D.resourceLabel);if(E.length>0)return this._tryToSplitAndUndo(v,p,null,w.localize(4,null,p.label,E.join(", ")));const N=[];for(const D of _.editStacks)D.locked&&N.push(D.resourceLabel);return N.length>0?this._tryToSplitAndUndo(v,p,null,w.localize(5,null,p.label,N.join(", "))):_.isValid()?null:this._tryToSplitAndUndo(v,p,null,w.localize(6,null,p.label))}_workspaceUndo(v,p,_){const y=this._getAffectedEditStacks(p),E=this._checkWorkspaceUndo(v,p,y,!1);return E?E.returnValue:this._confirmAndExecuteWorkspaceUndo(v,p,y,_)}_isPartOfUndoGroup(v){if(!v.groupId)return!1;for(const[,p]of this._editStacks){const _=p.getClosestPastElement();if(!!_){if(_===v){const y=p.getSecondClosestPastElement();if(y&&y.groupId===v.groupId)return!0}if(_.groupId===v.groupId)return!0}}return!1}_confirmAndExecuteWorkspaceUndo(v,p,_,y){return we(this,void 0,void 0,function*(){if(p.canSplit()&&!this._isPartOfUndoGroup(p)){const D=yield this._dialogService.show(I.default.Info,w.localize(7,null,p.label),[w.localize(8,null,_.editStacks.length),w.localize(9,null),w.localize(10,null)],{cancelId:2});if(D.choice===2)return;if(D.choice===1)return this._splitPastWorkspaceElement(p,null),this._undo(v,0,!0);const M=this._checkWorkspaceUndo(v,p,_,!1);if(M)return M.returnValue;y=!0}let E;try{E=yield this._invokeWorkspacePrepare(p)}catch(D){return this._onError(D,p)}const N=this._checkWorkspaceUndo(v,p,_,!0);if(N)return E.dispose(),N.returnValue;for(const D of _.editStacks)D.moveBackward(p);return this._safeInvokeWithLocks(p,()=>p.actual.undo(),_,E,()=>this._continueUndoInGroup(p.groupId,y))})}_resourceUndo(v,p,_){if(!p.isValid){v.flushAllElements();return}if(v.locked){const y=w.localize(11,null,p.label);this._notificationService.warn(y);return}return this._invokeResourcePrepare(p,y=>(v.moveBackward(p),this._safeInvokeWithLocks(p,()=>p.actual.undo(),new a([v]),y,()=>this._continueUndoInGroup(p.groupId,_))))}_findClosestUndoElementInGroup(v){if(!v)return[null,null];let p=null,_=null;for(const[y,E]of this._editStacks){const N=E.getClosestPastElement();!N||N.groupId===v&&(!p||N.groupOrder>p.groupOrder)&&(p=N,_=y)}return[p,_]}_continueUndoInGroup(v,p){if(!v)return;const[,_]=this._findClosestUndoElementInGroup(v);if(_)return this._undo(_,0,p)}undo(v){if(v instanceof g.UndoRedoSource){const[,p]=this._findClosestUndoElementWithSource(v.id);return p?this._undo(p,v.id,!1):void 0}return typeof v=="string"?this._undo(v,0,!1):this._undo(this.getUriComparisonKey(v),0,!1)}_undo(v,p=0,_){if(!this._editStacks.has(v))return;const y=this._editStacks.get(v),E=y.getClosestPastElement();if(!E)return;if(E.groupId){const[D,M]=this._findClosestUndoElementInGroup(E.groupId);if(E!==D&&M)return this._undo(M,p,_)}if((E.sourceId!==p||E.confirmBeforeUndo)&&!_)return this._confirmAndContinueUndo(v,p,E);try{return E.type===1?this._workspaceUndo(v,E,_):this._resourceUndo(y,E,_)}finally{t&&this._print("undo")}}_confirmAndContinueUndo(v,p,_){return we(this,void 0,void 0,function*(){if((yield this._dialogService.show(I.default.Info,w.localize(12,null,_.label),[w.localize(13,null),w.localize(14,null)],{cancelId:1})).choice!==1)return this._undo(v,p,!0)})}_findClosestRedoElementWithSource(v){if(!v)return[null,null];let p=null,_=null;for(const[y,E]of this._editStacks){const N=E.getClosestFutureElement();!N||N.sourceId===v&&(!p||N.sourceOrder<p.sourceOrder)&&(p=N,_=y)}return[p,_]}canRedo(v){if(v instanceof g.UndoRedoSource){const[,_]=this._findClosestRedoElementWithSource(v.id);return!!_}const p=this.getUriComparisonKey(v);return this._editStacks.has(p)?this._editStacks.get(p).hasFutureElements():!1}_tryToSplitAndRedo(v,p,_,y){if(p.canSplit())return this._splitFutureWorkspaceElement(p,_),this._notificationService.warn(y),new f(this._redo(v));for(const E of p.strResources)this.removeElements(E);return this._notificationService.warn(y),new f}_checkWorkspaceRedo(v,p,_,y){if(p.removedResources)return this._tryToSplitAndRedo(v,p,p.removedResources,w.localize(15,null,p.label,p.removedResources.createMessage()));if(y&&p.invalidatedResources)return this._tryToSplitAndRedo(v,p,p.invalidatedResources,w.localize(16,null,p.label,p.invalidatedResources.createMessage()));const E=[];for(const D of _.editStacks)D.getClosestFutureElement()!==p&&E.push(D.resourceLabel);if(E.length>0)return this._tryToSplitAndRedo(v,p,null,w.localize(17,null,p.label,E.join(", ")));const N=[];for(const D of _.editStacks)D.locked&&N.push(D.resourceLabel);return N.length>0?this._tryToSplitAndRedo(v,p,null,w.localize(18,null,p.label,N.join(", "))):_.isValid()?null:this._tryToSplitAndRedo(v,p,null,w.localize(19,null,p.label))}_workspaceRedo(v,p){const _=this._getAffectedEditStacks(p),y=this._checkWorkspaceRedo(v,p,_,!1);return y?y.returnValue:this._executeWorkspaceRedo(v,p,_)}_executeWorkspaceRedo(v,p,_){return we(this,void 0,void 0,function*(){let y;try{y=yield this._invokeWorkspacePrepare(p)}catch(N){return this._onError(N,p)}const E=this._checkWorkspaceRedo(v,p,_,!0);if(E)return y.dispose(),E.returnValue;for(const N of _.editStacks)N.moveForward(p);return this._safeInvokeWithLocks(p,()=>p.actual.redo(),_,y,()=>this._continueRedoInGroup(p.groupId))})}_resourceRedo(v,p){if(!p.isValid){v.flushAllElements();return}if(v.locked){const _=w.localize(20,null,p.label);this._notificationService.warn(_);return}return this._invokeResourcePrepare(p,_=>(v.moveForward(p),this._safeInvokeWithLocks(p,()=>p.actual.redo(),new a([v]),_,()=>this._continueRedoInGroup(p.groupId))))}_findClosestRedoElementInGroup(v){if(!v)return[null,null];let p=null,_=null;for(const[y,E]of this._editStacks){const N=E.getClosestFutureElement();!N||N.groupId===v&&(!p||N.groupOrder<p.groupOrder)&&(p=N,_=y)}return[p,_]}_continueRedoInGroup(v){if(!v)return;const[,p]=this._findClosestRedoElementInGroup(v);if(p)return this._redo(p)}redo(v){if(v instanceof g.UndoRedoSource){const[,p]=this._findClosestRedoElementWithSource(v.id);return p?this._redo(p):void 0}return typeof v=="string"?this._redo(v):this._redo(this.getUriComparisonKey(v))}_redo(v){if(!this._editStacks.has(v))return;const p=this._editStacks.get(v),_=p.getClosestFutureElement();if(!!_){if(_.groupId){const[y,E]=this._findClosestRedoElementInGroup(_.groupId);if(_!==y&&E)return this._redo(E)}try{return _.type===1?this._workspaceRedo(v,_):this._resourceRedo(p,_)}finally{t&&this._print("redo")}}}};h=Ie([pe(0,b.IDialogService),pe(1,u.INotificationService)],h),e.UndoRedoService=h;class f{constructor(v){this.returnValue=v}}(0,C.registerSingleton)(g.IUndoRedoService,h)}),define(te[211],ie([1,0,602,49,25,9]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WORKSPACE_FILTER=e.WORKSPACE_EXTENSION=e.WorkspaceFolder=e.Workspace=e.toWorkspaceIdentifier=e.isSingleFolderWorkspaceIdentifier=e.IWorkspaceContextService=void 0,e.IWorkspaceContextService=(0,I.createDecorator)("contextService");function w(g){const t=g;return typeof(t==null?void 0:t.id)=="string"&&k.URI.isUri(t.uri)}e.isSingleFolderWorkspaceIdentifier=w;function b(g){if(g.configuration)return{id:g.id,configPath:g.configuration};if(g.folders.length===1)return{id:g.id,uri:g.folders[0].uri}}e.toWorkspaceIdentifier=b;class C{constructor(t,n,i,o,c){this._id=t,this._transient=i,this._configuration=o,this._ignorePathCasing=c,this._foldersMap=m.TernarySearchTree.forUris(this._ignorePathCasing),this.folders=n}get folders(){return this._folders}set folders(t){this._folders=t,this.updateFoldersMap()}get id(){return this._id}get transient(){return this._transient}get configuration(){return this._configuration}set configuration(t){this._configuration=t}getFolder(t){return t&&this._foldersMap.findSubstr(t.with({scheme:t.scheme,authority:t.authority,path:t.path}))||null}updateFoldersMap(){this._foldersMap=m.TernarySearchTree.forUris(this._ignorePathCasing);for(const t of this.folders)this._foldersMap.set(t.uri,t)}toJSON(){return{id:this.id,folders:this.folders,transient:this.transient,configuration:this.configuration}}}e.Workspace=C;class u{constructor(t,n){this.raw=n,this.uri=t.uri,this.index=t.index,this.name=t.name}toJSON(){return{uri:this.uri,name:this.name,index:this.index}}}e.WorkspaceFolder=u,e.WORKSPACE_EXTENSION="code-workspace",e.WORKSPACE_FILTER=[{name:(0,L.localize)(0,null),extensions:[e.WORKSPACE_EXTENSION]}]}),define(te[746],ie([1,0,173,84,42,8,328,33,127,575,211]),function(q,e,L,m,k,I,w,b,C,u,g){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RandomBasedVariableResolver=e.WorkspaceBasedVariableResolver=e.TimeBasedVariableResolver=e.CommentBasedVariableResolver=e.ClipboardBasedVariableResolver=e.ModelBasedVariableResolver=e.SelectionBasedVariableResolver=e.CompositeSnippetVariableResolver=e.KnownSnippetVariableNames=void 0,e.KnownSnippetVariableNames=Object.freeze({CURRENT_YEAR:!0,CURRENT_YEAR_SHORT:!0,CURRENT_MONTH:!0,CURRENT_DATE:!0,CURRENT_HOUR:!0,CURRENT_MINUTE:!0,CURRENT_SECOND:!0,CURRENT_DAY_NAME:!0,CURRENT_DAY_NAME_SHORT:!0,CURRENT_MONTH_NAME:!0,CURRENT_MONTH_NAME_SHORT:!0,CURRENT_SECONDS_UNIX:!0,SELECTION:!0,CLIPBOARD:!0,TM_SELECTED_TEXT:!0,TM_CURRENT_LINE:!0,TM_CURRENT_WORD:!0,TM_LINE_INDEX:!0,TM_LINE_NUMBER:!0,TM_FILENAME:!0,TM_FILENAME_BASE:!0,TM_DIRECTORY:!0,TM_FILEPATH:!0,RELATIVE_FILEPATH:!0,BLOCK_COMMENT_START:!0,BLOCK_COMMENT_END:!0,LINE_COMMENT:!0,WORKSPACE_NAME:!0,WORKSPACE_FOLDER:!0,RANDOM:!0,RANDOM_HEX:!0,UUID:!0});class t{constructor(l){this._delegates=l}resolve(l){for(const h of this._delegates){let f=h.resolve(l);if(f!==void 0)return f}}}e.CompositeSnippetVariableResolver=t;class n{constructor(l,h,f,S){this._model=l,this._selection=h,this._selectionIdx=f,this._overtypingCapturer=S}resolve(l){const{name:h}=l;if(h==="SELECTION"||h==="TM_SELECTED_TEXT"){let f=this._model.getValueInRange(this._selection)||void 0,S=this._selection.startLineNumber!==this._selection.endLineNumber;if(!f&&this._overtypingCapturer){const v=this._overtypingCapturer.getLastOvertypedInfo(this._selectionIdx);v&&(f=v.value,S=v.multiline)}if(f&&S&&l.snippet){const v=this._model.getLineContent(this._selection.startLineNumber),p=(0,I.getLeadingWhitespace)(v,0,this._selection.startColumn-1);let _=p;l.snippet.walk(E=>E===l?!1:(E instanceof C.Text&&(_=(0,I.getLeadingWhitespace)((0,I.splitLines)(E.value).pop())),!0));const y=(0,I.commonPrefixLength)(_,p);f=f.replace(/(\r\n|\r|\n)(.*)/g,(E,N,D)=>`${N}${_.substr(y)}${D}`)}return f}else{if(h==="TM_CURRENT_LINE")return this._model.getLineContent(this._selection.positionLineNumber);if(h==="TM_CURRENT_WORD"){const f=this._model.getWordAtPosition({lineNumber:this._selection.positionLineNumber,column:this._selection.positionColumn});return f&&f.word||void 0}else{if(h==="TM_LINE_INDEX")return String(this._selection.positionLineNumber-1);if(h==="TM_LINE_NUMBER")return String(this._selection.positionLineNumber)}}}}e.SelectionBasedVariableResolver=n;class i{constructor(l,h){this._labelService=l,this._model=h}resolve(l){const{name:h}=l;if(h==="TM_FILENAME")return m.basename(this._model.uri.fsPath);if(h==="TM_FILENAME_BASE"){const f=m.basename(this._model.uri.fsPath),S=f.lastIndexOf(".");return S<=0?f:f.slice(0,S)}else{if(h==="TM_DIRECTORY")return m.dirname(this._model.uri.fsPath)==="."?"":this._labelService.getUriLabel((0,k.dirname)(this._model.uri));if(h==="TM_FILEPATH")return this._labelService.getUriLabel(this._model.uri);if(h==="RELATIVE_FILEPATH")return this._labelService.getUriLabel(this._model.uri,{relative:!0,noPrefix:!0})}}}e.ModelBasedVariableResolver=i;class o{constructor(l,h,f,S){this._readClipboardText=l,this._selectionIdx=h,this._selectionCount=f,this._spread=S}resolve(l){if(l.name!=="CLIPBOARD")return;const h=this._readClipboardText();if(!!h){if(this._spread){const f=h.split(/\r\n|\n|\r/).filter(S=>!(0,I.isFalsyOrWhitespace)(S));if(f.length===this._selectionCount)return f[this._selectionIdx]}return h}}}e.ClipboardBasedVariableResolver=o;class c{constructor(l,h){this._model=l,this._selection=h}resolve(l){const{name:h}=l,f=this._model.getLanguageIdAtPosition(this._selection.selectionStartLineNumber,this._selection.selectionStartColumn),S=b.LanguageConfigurationRegistry.getComments(f);if(!!S){if(h==="LINE_COMMENT")return S.lineCommentToken||void 0;if(h==="BLOCK_COMMENT_START")return S.blockCommentStartToken||void 0;if(h==="BLOCK_COMMENT_END")return S.blockCommentEndToken||void 0}}}e.CommentBasedVariableResolver=c;class d{constructor(){this._date=new Date}resolve(l){const{name:h}=l;if(h==="CURRENT_YEAR")return String(this._date.getFullYear());if(h==="CURRENT_YEAR_SHORT")return String(this._date.getFullYear()).slice(-2);if(h==="CURRENT_MONTH")return String(this._date.getMonth().valueOf()+1).padStart(2,"0");if(h==="CURRENT_DATE")return String(this._date.getDate().valueOf()).padStart(2,"0");if(h==="CURRENT_HOUR")return String(this._date.getHours().valueOf()).padStart(2,"0");if(h==="CURRENT_MINUTE")return String(this._date.getMinutes().valueOf()).padStart(2,"0");if(h==="CURRENT_SECOND")return String(this._date.getSeconds().valueOf()).padStart(2,"0");if(h==="CURRENT_DAY_NAME")return d.dayNames[this._date.getDay()];if(h==="CURRENT_DAY_NAME_SHORT")return d.dayNamesShort[this._date.getDay()];if(h==="CURRENT_MONTH_NAME")return d.monthNames[this._date.getMonth()];if(h==="CURRENT_MONTH_NAME_SHORT")return d.monthNamesShort[this._date.getMonth()];if(h==="CURRENT_SECONDS_UNIX")return String(Math.floor(this._date.getTime()/1e3))}}e.TimeBasedVariableResolver=d,d.dayNames=[u.localize(0,null),u.localize(1,null),u.localize(2,null),u.localize(3,null),u.localize(4,null),u.localize(5,null),u.localize(6,null)],d.dayNamesShort=[u.localize(7,null),u.localize(8,null),u.localize(9,null),u.localize(10,null),u.localize(11,null),u.localize(12,null),u.localize(13,null)],d.monthNames=[u.localize(14,null),u.localize(15,null),u.localize(16,null),u.localize(17,null),u.localize(18,null),u.localize(19,null),u.localize(20,null),u.localize(21,null),u.localize(22,null),u.localize(23,null),u.localize(24,null),u.localize(25,null)],d.monthNamesShort=[u.localize(26,null),u.localize(27,null),u.localize(28,null),u.localize(29,null),u.localize(30,null),u.localize(31,null),u.localize(32,null),u.localize(33,null),u.localize(34,null),u.localize(35,null),u.localize(36,null),u.localize(37,null)];class r{constructor(l){this._workspaceService=l}resolve(l){if(!this._workspaceService)return;const h=(0,g.toWorkspaceIdentifier)(this._workspaceService.getWorkspace());if(!!h){if(l.name==="WORKSPACE_NAME")return this._resolveWorkspaceName(h);if(l.name==="WORKSPACE_FOLDER")return this._resoveWorkspacePath(h)}}_resolveWorkspaceName(l){if((0,g.isSingleFolderWorkspaceIdentifier)(l))return m.basename(l.uri.path);let h=m.basename(l.configPath.path);return h.endsWith(g.WORKSPACE_EXTENSION)&&(h=h.substr(0,h.length-g.WORKSPACE_EXTENSION.length-1)),h}_resoveWorkspacePath(l){if((0,g.isSingleFolderWorkspaceIdentifier)(l))return(0,L.normalizeDriveLetter)(l.uri.fsPath);let h=m.basename(l.configPath.path),f=l.configPath.fsPath;return f.endsWith(h)&&(f=f.substr(0,f.length-h.length-1)),f?(0,L.normalizeDriveLetter)(f):"/"}}e.WorkspaceBasedVariableResolver=r;class s{resolve(l){const{name:h}=l;if(h==="RANDOM")return Math.random().toString().slice(-6);if(h==="RANDOM_HEX")return Math.random().toString(16).slice(-6);if(h==="UUID")return(0,w.generateUuid)()}}e.RandomBasedVariableResolver=s}),define(te[306],ie([1,0,18,2,8,63,3,22,38,131,211,127,746,388]),function(q,e,L,m,k,I,w,b,C,u,g,t,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SnippetSession=e.OneSnippet=void 0;class i{constructor(r,s,a,l){this._editor=r,this._snippet=s,this._offset=a,this._snippetLineLeadingWhitespace=l,this._nestingLevel=1,this._placeholderGroups=(0,L.groupBy)(s.placeholders,t.Placeholder.compareByIndex),this._placeholderGroupsIdx=-1}dispose(){this._placeholderDecorations&&this._editor.deltaDecorations([...this._placeholderDecorations.values()],[]),this._placeholderGroups.length=0}_initDecorations(){if(this._placeholderDecorations)return;this._placeholderDecorations=new Map;const r=this._editor.getModel();this._editor.changeDecorations(s=>{for(const a of this._snippet.placeholders){const l=this._snippet.offset(a),h=this._snippet.fullLen(a),f=w.Range.fromPositions(r.getPositionAt(this._offset+l),r.getPositionAt(this._offset+l+h)),S=a.isFinalTabstop?i._decor.inactiveFinal:i._decor.inactive,v=s.addDecoration(f,S);this._placeholderDecorations.set(a,v)}})}move(r){if(!this._editor.hasModel())return[];if(this._initDecorations(),this._placeholderGroupsIdx>=0){let l=[];for(const h of this._placeholderGroups[this._placeholderGroupsIdx])if(h.transform){const f=this._placeholderDecorations.get(h),S=this._editor.getModel().getDecorationRange(f),v=this._editor.getModel().getValueInRange(S),p=h.transform.resolve(v).split(/\r\n|\r|\n/);for(let _=1;_<p.length;_++)p[_]=this._editor.getModel().normalizeIndentation(this._snippetLineLeadingWhitespace+p[_]);l.push(I.EditOperation.replace(S,p.join(this._editor.getModel().getEOL())))}l.length>0&&this._editor.executeEdits("snippet.placeholderTransform",l)}let s=!1;r===!0&&this._placeholderGroupsIdx<this._placeholderGroups.length-1?(this._placeholderGroupsIdx+=1,s=!0):r===!1&&this._placeholderGroupsIdx>0&&(this._placeholderGroupsIdx-=1,s=!0);const a=this._editor.getModel().changeDecorations(l=>{const h=new Set,f=[];for(const S of this._placeholderGroups[this._placeholderGroupsIdx]){const v=this._placeholderDecorations.get(S),p=this._editor.getModel().getDecorationRange(v);f.push(new b.Selection(p.startLineNumber,p.startColumn,p.endLineNumber,p.endColumn)),s=s&&this._hasPlaceholderBeenCollapsed(S),l.changeDecorationOptions(v,S.isFinalTabstop?i._decor.activeFinal:i._decor.active),h.add(S);for(const _ of this._snippet.enclosingPlaceholders(S)){const y=this._placeholderDecorations.get(_);l.changeDecorationOptions(y,_.isFinalTabstop?i._decor.activeFinal:i._decor.active),h.add(_)}}for(const[S,v]of this._placeholderDecorations)h.has(S)||l.changeDecorationOptions(v,S.isFinalTabstop?i._decor.inactiveFinal:i._decor.inactive);return f});return s?this.move(r):a??[]}_hasPlaceholderBeenCollapsed(r){let s=r;for(;s;){if(s instanceof t.Placeholder){const a=this._placeholderDecorations.get(s);if(this._editor.getModel().getDecorationRange(a).isEmpty()&&s.toString().length>0)return!0}s=s.parent}return!1}get isAtFirstPlaceholder(){return this._placeholderGroupsIdx<=0||this._placeholderGroups.length===0}get isAtLastPlaceholder(){return this._placeholderGroupsIdx===this._placeholderGroups.length-1}get hasPlaceholder(){return this._snippet.placeholders.length>0}computePossibleSelections(){const r=new Map;for(const s of this._placeholderGroups){let a;for(const l of s){if(l.isFinalTabstop)break;a||(a=[],r.set(l.index,a));const h=this._placeholderDecorations.get(l),f=this._editor.getModel().getDecorationRange(h);if(!f){r.delete(l.index);break}a.push(f)}}return r}get choice(){return this._placeholderGroups[this._placeholderGroupsIdx][0].choice}merge(r){const s=this._editor.getModel();this._nestingLevel*=10,this._editor.changeDecorations(a=>{for(const l of this._placeholderGroups[this._placeholderGroupsIdx]){const h=r.shift();console.assert(!h._placeholderDecorations);const f=h._snippet.placeholderInfo.last.index;for(const v of h._snippet.placeholderInfo.all)v.isFinalTabstop?v.index=l.index+(f+1)/this._nestingLevel:v.index=l.index+v.index/this._nestingLevel;this._snippet.replace(l,h._snippet.children);const S=this._placeholderDecorations.get(l);a.removeDecoration(S),this._placeholderDecorations.delete(l);for(const v of h._snippet.placeholders){const p=h._snippet.offset(v),_=h._snippet.fullLen(v),y=w.Range.fromPositions(s.getPositionAt(h._offset+p),s.getPositionAt(h._offset+p+_)),E=a.addDecoration(y,i._decor.inactive);this._placeholderDecorations.set(v,E)}}this._placeholderGroups=(0,L.groupBy)(this._snippet.placeholders,t.Placeholder.compareByIndex)})}}e.OneSnippet=i,i._decor={active:C.ModelDecorationOptions.register({description:"snippet-placeholder-1",stickiness:0,className:"snippet-placeholder"}),inactive:C.ModelDecorationOptions.register({description:"snippet-placeholder-2",stickiness:1,className:"snippet-placeholder"}),activeFinal:C.ModelDecorationOptions.register({description:"snippet-placeholder-3",stickiness:1,className:"finish-snippet-placeholder"}),inactiveFinal:C.ModelDecorationOptions.register({description:"snippet-placeholder-4",stickiness:1,className:"finish-snippet-placeholder"})};const o={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};class c{constructor(r,s,a=o){this._templateMerges=[],this._snippets=[],this._editor=r,this._template=s,this._options=a}static adjustWhitespace(r,s,a,l,h){const f=r.getLineContent(s.lineNumber),S=(0,k.getLeadingWhitespace)(f,0,s.column-1);let v;return a.walk(p=>{if(!(p instanceof t.Text)||p.parent instanceof t.Choice)return!0;const _=p.value.split(/\r\n|\r|\n/);if(l){const E=a.offset(p);if(E===0)_[0]=r.normalizeIndentation(_[0]);else{v=v??a.toString();let N=v.charCodeAt(E-1);(N===10||N===13)&&(_[0]=r.normalizeIndentation(S+_[0]))}for(let N=1;N<_.length;N++)_[N]=r.normalizeIndentation(S+_[N])}const y=_.join(r.getEOL());return y!==p.value&&(p.parent.replace(p,[new t.Text(y)]),v=void 0),!0}),S}static adjustSelection(r,s,a,l){if(a!==0||l!==0){const{positionLineNumber:h,positionColumn:f}=s,S=f-a,v=f+l,p=r.validateRange({startLineNumber:h,startColumn:S,endLineNumber:h,endColumn:v});s=b.Selection.createWithDirection(p.startLineNumber,p.startColumn,p.endLineNumber,p.endColumn,s.getDirection())}return s}static createEditsAndSnippets(r,s,a,l,h,f,S,v){const p=[],_=[];if(!r.hasModel())return{edits:p,snippets:_};const y=r.getModel(),E=r.invokeWithinContext(P=>P.get(g.IWorkspaceContextService)),N=r.invokeWithinContext(P=>new n.ModelBasedVariableResolver(P.get(u.ILabelService),y)),D=()=>S;let M=0,B=y.getValueInRange(c.adjustSelection(y,r.getSelection(),a,0)),O=y.getValueInRange(c.adjustSelection(y,r.getSelection(),0,l)),T=y.getLineFirstNonWhitespaceColumn(r.getSelection().positionLineNumber);const A=r.getSelections().map((P,F)=>({selection:P,idx:F})).sort((P,F)=>w.Range.compareRangesUsingStarts(P.selection,F.selection));for(const{selection:P,idx:F}of A){let W=c.adjustSelection(y,P,a,0),R=c.adjustSelection(y,P,0,l);B!==y.getValueInRange(W)&&(W=P),O!==y.getValueInRange(R)&&(R=P);const z=P.setStartPosition(W.startLineNumber,W.startColumn).setEndPosition(R.endLineNumber,R.endColumn),j=new t.SnippetParser().parse(s,!0,h),$=z.getStartPosition(),G=c.adjustWhitespace(y,$,j,f||F>0&&T!==y.getLineFirstNonWhitespaceColumn(P.positionLineNumber),!0);j.resolveVariables(new n.CompositeSnippetVariableResolver([N,new n.ClipboardBasedVariableResolver(D,F,A.length,r.getOption(71)==="spread"),new n.SelectionBasedVariableResolver(y,P,F,v),new n.CommentBasedVariableResolver(y,P),new n.TimeBasedVariableResolver,new n.WorkspaceBasedVariableResolver(E),new n.RandomBasedVariableResolver]));const J=y.getOffsetAt($)+M;M+=j.toString().length-y.getValueLengthInRange(z),p[F]=I.EditOperation.replace(z,j.toString()),p[F].identifier={major:F,minor:0},_[F]=new i(r,j,J,G)}return{edits:p,snippets:_}}dispose(){(0,m.dispose)(this._snippets)}_logInfo(){return`template="${this._template}", merged_templates="${this._templateMerges.join(" -> ")}"`}insert(){if(!this._editor.hasModel())return;const{edits:r,snippets:s}=c.createEditsAndSnippets(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer);this._snippets=s,this._editor.executeEdits("snippet",r,a=>this._snippets[0].hasPlaceholder?this._move(!0):a.filter(l=>!!l.identifier).map(l=>b.Selection.fromPositions(l.range.getEndPosition()))),this._editor.revealRange(this._editor.getSelections()[0])}merge(r,s=o){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,r]);const{edits:a,snippets:l}=c.createEditsAndSnippets(this._editor,r,s.overwriteBefore,s.overwriteAfter,!0,s.adjustWhitespace,s.clipboardText,s.overtypingCapturer);this._editor.executeEdits("snippet",a,h=>{for(const f of this._snippets)f.merge(l);return console.assert(l.length===0),this._snippets[0].hasPlaceholder?this._move(void 0):h.filter(f=>!!f.identifier).map(f=>b.Selection.fromPositions(f.range.getEndPosition()))})}next(){const r=this._move(!0);this._editor.setSelections(r),this._editor.revealPositionInCenterIfOutsideViewport(r[0].getPosition())}prev(){const r=this._move(!1);this._editor.setSelections(r),this._editor.revealPositionInCenterIfOutsideViewport(r[0].getPosition())}_move(r){const s=[];for(const a of this._snippets){const l=a.move(r);s.push(...l)}return s}get isAtFirstPlaceholder(){return this._snippets[0].isAtFirstPlaceholder}get isAtLastPlaceholder(){return this._snippets[0].isAtLastPlaceholder}get hasPlaceholder(){return this._snippets[0].hasPlaceholder}get choice(){return this._snippets[0].choice}isSelectionWithinPlaceholders(){if(!this.hasPlaceholder)return!1;const r=this._editor.getSelections();if(r.length<this._snippets.length)return!1;let s=new Map;for(const a of this._snippets){const l=a.computePossibleSelections();if(s.size===0)for(const[h,f]of l){f.sort(w.Range.compareRangesUsingStarts);for(const S of r)if(f[0].containsRange(S)){s.set(h,[]);break}}if(s.size===0)return!1;s.forEach((h,f)=>{h.push(...l.get(f))})}r.sort(w.Range.compareRangesUsingStarts);for(let[a,l]of s){if(l.length!==r.length){s.delete(a);continue}l.sort(w.Range.compareRangesUsingStarts);for(let h=0;h<l.length;h++)if(!l[h].containsRange(r[h])){s.delete(a);continue}}return s.size>0}}e.SnippetSession=c}),define(te[212],ie([1,0,2,15,3,22,24,109,574,17,9,66,306]),function(q,e,L,m,k,I,w,b,C,u,g,t,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SnippetController2=void 0;const i={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let o=class Mt{constructor(r,s,a,l){this._editor=r,this._instantiationService=s,this._logService=a,this._snippetListener=new L.DisposableStore,this._modelVersionId=-1,this._inSnippet=Mt.InSnippetMode.bindTo(l),this._hasNextTabstop=Mt.HasNextTabstop.bindTo(l),this._hasPrevTabstop=Mt.HasPrevTabstop.bindTo(l)}static get(r){return r.getContribution(Mt.ID)}dispose(){var r;this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),(r=this._session)===null||r===void 0||r.dispose(),this._snippetListener.dispose()}insert(r,s){try{this._doInsert(r,typeof s=="undefined"?i:Object.assign(Object.assign({},i),s))}catch(a){this.cancel(),this._logService.error(a),this._logService.error("snippet_error"),this._logService.error("insert_template=",r),this._logService.error("existing_template=",this._session?this._session._logInfo():"<no_session>")}}_doInsert(r,s){!this._editor.hasModel()||(this._snippetListener.clear(),s.undoStopBefore&&this._editor.getModel().pushStackElement(),this._session?this._session.merge(r,s):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new n.SnippetSession(this._editor,r,s),this._session.insert()),s.undoStopAfter&&this._editor.getModel().pushStackElement(),this._updateState(),this._snippetListener.add(this._editor.onDidChangeModelContent(a=>a.isFlush&&this.cancel())),this._snippetListener.add(this._editor.onDidChangeModel(()=>this.cancel())),this._snippetListener.add(this._editor.onDidChangeCursorSelection(()=>this._updateState())))}_updateState(){if(!(!this._session||!this._editor.hasModel())){if(this._modelVersionId===this._editor.getModel().getAlternativeVersionId())return this.cancel();if(!this._session.hasPlaceholder)return this.cancel();if(this._session.isAtLastPlaceholder||!this._session.isSelectionWithinPlaceholders())return this._editor.getModel().pushStackElement(),this.cancel();this._inSnippet.set(!0),this._hasPrevTabstop.set(!this._session.isAtFirstPlaceholder),this._hasNextTabstop.set(!this._session.isAtLastPlaceholder),this._handleChoice()}}_handleChoice(){if(!this._session||!this._editor.hasModel()){this._currentChoice=void 0;return}const{choice:r}=this._session;if(!r){this._currentChoice=void 0;return}if(this._currentChoice!==r){this._currentChoice=r,this._editor.setSelections(this._editor.getSelections().map(a=>I.Selection.fromPositions(a.getStartPosition())));const[s]=r.options;this._instantiationService.invokeFunction(b.showSimpleSuggestions,this._editor,r.options.map((a,l)=>({kind:13,label:a.value,insertText:a.value,sortText:"a".repeat(l+1),range:k.Range.fromPositions(this._editor.getPosition(),this._editor.getPosition().delta(0,s.value.length))})))}}finish(){for(;this._inSnippet.get();)this.next()}cancel(r=!1){var s;this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),this._snippetListener.clear(),(s=this._session)===null||s===void 0||s.dispose(),this._session=void 0,this._modelVersionId=-1,r&&this._editor.setSelections([this._editor.getSelection()])}prev(){this._session&&this._session.prev(),this._updateState()}next(){this._session&&this._session.next(),this._updateState()}isInSnippet(){return Boolean(this._inSnippet.get())}};o.ID="snippetController2",o.InSnippetMode=new u.RawContextKey("inSnippetMode",!1,(0,C.localize)(0,null)),o.HasNextTabstop=new u.RawContextKey("hasNextTabstop",!1,(0,C.localize)(1,null)),o.HasPrevTabstop=new u.RawContextKey("hasPrevTabstop",!1,(0,C.localize)(2,null)),o=Ie([pe(1,g.IInstantiationService),pe(2,t.ILogService),pe(3,u.IContextKeyService)],o),e.SnippetController2=o,(0,m.registerEditorContribution)(o.ID,o);const c=m.EditorCommand.bindToContribution(o.get);(0,m.registerEditorCommand)(new c({id:"jumpToNextSnippetPlaceholder",precondition:u.ContextKeyExpr.and(o.InSnippetMode,o.HasNextTabstop),handler:d=>d.next(),kbOpts:{weight:100+30,kbExpr:w.EditorContextKeys.editorTextFocus,primary:2}})),(0,m.registerEditorCommand)(new c({id:"jumpToPrevSnippetPlaceholder",precondition:u.ContextKeyExpr.and(o.InSnippetMode,o.HasPrevTabstop),handler:d=>d.prev(),kbOpts:{weight:100+30,kbExpr:w.EditorContextKeys.editorTextFocus,primary:1024|2}})),(0,m.registerEditorCommand)(new c({id:"leaveSnippet",precondition:o.InSnippetMode,handler:d=>d.cancel(!0),kbOpts:{weight:100+30,kbExpr:w.EditorContextKeys.editorTextFocus,primary:9,secondary:[1024|9]}})),(0,m.registerEditorCommand)(new c({id:"acceptSnippet",precondition:o.InSnippetMode,handler:d=>d.finish()}))}),define(te[747],ie([1,0,10,21,13,4,2,8,22,88,212,475,104,41,17,66,90,472,109,20]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s,a){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SuggestModel=e.LineContext=void 0;class l{constructor(_,y,E,N){this.leadingLineContent=_.getLineContent(y.lineNumber).substr(0,y.column-1),this.leadingWord=_.getWordUntilPosition(y),this.lineNumber=y.lineNumber,this.column=y.column,this.auto=E,this.shy=N}static shouldAutoTrigger(_){if(!_.hasModel())return!1;const y=_.getModel(),E=_.getPosition();y.tokenizeIfCheap(E.lineNumber);const N=y.getWordAtPosition(E);return!(!N||N.endColumn!==E.column||!isNaN(Number(N.word)))}}e.LineContext=l;function h(p){return p.getOption(106).preview}function f(p,_,y){if(!Boolean(_.getContextKeyValue("inlineSuggestionVisible")))return!0;const E=y.getValue("editor.inlineSuggest.allowQuickSuggestions");return E!==void 0?Boolean(E):!1}function S(p,_,y){if(!Boolean(_.getContextKeyValue("inlineSuggestionVisible")))return!0;const E=y.getValue("editor.inlineSuggest.allowSuggestOnTriggerCharacters");return E!==void 0?Boolean(E):!1}let v=class Gi{constructor(_,y,E,N,D,M,B,O){this._editor=_,this._editorWorkerService=y,this._clipboardService=E,this._telemetryService=N,this._logService=D,this._contextKeyService=M,this._configurationService=B,this._languageFeaturesService=O,this._toDispose=new w.DisposableStore,this._quickSuggestDelay=10,this._triggerCharacterListener=new w.DisposableStore,this._triggerQuickSuggest=new L.TimeoutTimer,this._state=0,this._completionDisposables=new w.DisposableStore,this._onDidCancel=new I.Emitter,this._onDidTrigger=new I.Emitter,this._onDidSuggest=new I.Emitter,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._telemetryGate=0,this._currentSelection=this._editor.getSelection()||new C.Selection(1,1,1,1),this._toDispose.add(this._editor.onDidChangeModel(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeModelLanguage(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeConfiguration(()=>{this._updateTriggerCharacters(),this._updateQuickSuggest()})),this._toDispose.add(this._languageFeaturesService.completionProvider.onDidChange(()=>{this._updateTriggerCharacters(),this._updateActiveSuggestSession()}));let T=!1;this._toDispose.add(this._editor.onDidCompositionStart(()=>{T=!0})),this._toDispose.add(this._editor.onDidCompositionEnd(()=>{T=!1,this._onCompositionEnd()})),this._toDispose.add(this._editor.onDidChangeCursorSelection(A=>{T||this._onCursorChange(A)})),this._toDispose.add(this._editor.onDidChangeModelContent(()=>{T||this._refilterCompletionItems()})),this._updateTriggerCharacters(),this._updateQuickSuggest()}dispose(){(0,w.dispose)(this._triggerCharacterListener),(0,w.dispose)([this._onDidCancel,this._onDidSuggest,this._onDidTrigger,this._triggerQuickSuggest]),this._toDispose.dispose(),this._completionDisposables.dispose(),this.cancel()}_updateQuickSuggest(){this._quickSuggestDelay=this._editor.getOption(80),(isNaN(this._quickSuggestDelay)||!this._quickSuggestDelay&&this._quickSuggestDelay!==0||this._quickSuggestDelay<0)&&(this._quickSuggestDelay=10)}_updateTriggerCharacters(){if(this._triggerCharacterListener.clear(),this._editor.getOption(81)||!this._editor.hasModel()||!this._editor.getOption(109))return;const _=new Map;for(const E of this._languageFeaturesService.completionProvider.all(this._editor.getModel()))for(const N of E.triggerCharacters||[]){let D=_.get(N);D||(D=new Set,D.add((0,s.getSnippetSuggestSupport)()),_.set(N,D)),D.add(E)}const y=E=>{if(!S(this._editor,this._contextKeyService,this._configurationService)||l.shouldAutoTrigger(this._editor))return;if(!E){const M=this._editor.getPosition();E=this._editor.getModel().getLineContent(M.lineNumber).substr(0,M.column-1)}let N="";(0,b.isLowSurrogate)(E.charCodeAt(E.length-1))?(0,b.isHighSurrogate)(E.charCodeAt(E.length-2))&&(N=E.substr(E.length-2)):N=E.charAt(E.length-1);const D=_.get(N);if(D){const M=this._completionModel?{items:this._completionModel.adopt(D),clipboardText:this._completionModel.clipboardText}:void 0;this.trigger({auto:!0,shy:!1,triggerCharacter:N},Boolean(this._completionModel),D,M)}};this._triggerCharacterListener.add(this._editor.onDidType(y)),this._triggerCharacterListener.add(this._editor.onDidCompositionEnd(()=>y()))}get state(){return this._state}cancel(_=!1){var y;this._state!==0&&(this._triggerQuickSuggest.cancel(),(y=this._requestToken)===null||y===void 0||y.cancel(),this._requestToken=void 0,this._state=0,this._completionModel=void 0,this._context=void 0,this._onDidCancel.fire({retrigger:_}))}clear(){this._completionDisposables.clear()}_updateActiveSuggestSession(){this._state!==0&&(!this._editor.hasModel()||!this._languageFeaturesService.completionProvider.has(this._editor.getModel())?this.cancel():this.trigger({auto:this._state===2,shy:!1},!0))}_onCursorChange(_){if(!this._editor.hasModel())return;const y=this._currentSelection;if(this._currentSelection=this._editor.getSelection(),!_.selection.isEmpty()||_.reason!==0&&_.reason!==3||_.source!=="keyboard"&&_.source!=="deleteLeft"){this.cancel();return}this._state===0&&_.reason===0?(y.containsRange(this._currentSelection)||y.getEndPosition().isBeforeOrEqual(this._currentSelection.getPosition()))&&this._doTriggerQuickSuggest():this._state!==0&&_.reason===3&&this._refilterCompletionItems()}_onCompositionEnd(){this._state===0?this._doTriggerQuickSuggest():this._refilterCompletionItems()}_doTriggerQuickSuggest(){var _;this._editor.getOption(79)!==!1&&(this._editor.getOption(106).snippetsPreventQuickSuggestions&&((_=g.SnippetController2.get(this._editor))===null||_===void 0?void 0:_.isInSnippet())||(this.cancel(),this._triggerQuickSuggest.cancelAndSet(()=>{if(this._state!==0||!l.shouldAutoTrigger(this._editor)||!this._editor.hasModel())return;const y=this._editor.getModel(),E=this._editor.getPosition(),N=this._editor.getOption(79);if(N!==!1){if(N!==!0){y.tokenizeIfCheap(E.lineNumber);const D=y.getLineTokens(E.lineNumber),M=D.getStandardTokenType(D.findTokenIndexAtOffset(Math.max(E.column-1-1,0)));if(!(N.other&&M===0||N.comments&&M===1||N.strings&&M===2))return}!f(this._editor,this._contextKeyService,this._configurationService)||!this._languageFeaturesService.completionProvider.has(y)||this.trigger({auto:!0,shy:!1})}},this._quickSuggestDelay)))}_refilterCompletionItems(){Promise.resolve().then(()=>{if(this._state===0||!this._editor.hasModel())return;const _=this._editor.getModel(),y=this._editor.getPosition(),E=new l(_,y,this._state===2,!1);this._onNewContext(E)})}trigger(_,y=!1,E,N){var D;if(!this._editor.hasModel())return;const M=this._editor.getModel(),B=_.auto,O=new l(M,this._editor.getPosition(),B,_.shy);this.cancel(y),this._state=B?2:1,this._onDidTrigger.fire({auto:B,shy:_.shy,position:this._editor.getPosition()}),this._context=O;let T={triggerKind:(D=_.triggerKind)!==null&&D!==void 0?D:0};_.triggerCharacter&&(T={triggerKind:1,triggerCharacter:_.triggerCharacter}),this._requestToken=new m.CancellationTokenSource;const A=this._editor.getOption(101);let P=1;switch(A){case"top":P=0;break;case"bottom":P=2;break}const{itemKind:F,showDeprecated:W}=Gi._createSuggestFilter(this._editor),R=t.WordDistance.create(this._editorWorkerService,this._editor),z=(0,s.provideSuggestionItems)(this._languageFeaturesService.completionProvider,M,this._editor.getPosition(),new s.CompletionOptions(P,F,E,W),T,this._requestToken.token);Promise.all([z,R]).then(([j,$])=>we(this,void 0,void 0,function*(){var G;if((G=this._requestToken)===null||G===void 0||G.dispose(),!this._editor.hasModel())return;let J=N==null?void 0:N.clipboardText;if(!J&&j.needsClipboard&&(J=yield this._clipboardService.readText()),this._state===0)return;const re=this._editor.getModel();let se=j.items;if(N){const V=(0,s.getSuggestionComparator)(P);se=se.concat(N.items).sort(V)}const Z=new l(re,this._editor.getPosition(),B,_.shy);this._completionModel=new r.CompletionModel(se,this._context.column,{leadingLineContent:Z.leadingLineContent,characterCountDelta:Z.column-this._context.column},$,this._editor.getOption(106),this._editor.getOption(101),J),this._completionDisposables.add(j.disposable),this._onNewContext(Z),this._reportDurationsTelemetry(j.durations)})).catch(k.onUnexpectedError)}_reportDurationsTelemetry(_){this._telemetryGate++%230==0&&setTimeout(()=>{this._telemetryService.publicLog2("suggest.durations.json",{data:JSON.stringify(_)}),this._logService.debug("suggest.durations.json",_)})}static _createSuggestFilter(_){const y=new Set;_.getOption(101)==="none"&&y.add(27);const N=_.getOption(106);return N.showMethods||y.add(0),N.showFunctions||y.add(1),N.showConstructors||y.add(2),N.showFields||y.add(3),N.showVariables||y.add(4),N.showClasses||y.add(5),N.showStructs||y.add(6),N.showInterfaces||y.add(7),N.showModules||y.add(8),N.showProperties||y.add(9),N.showEvents||y.add(10),N.showOperators||y.add(11),N.showUnits||y.add(12),N.showValues||y.add(13),N.showConstants||y.add(14),N.showEnums||y.add(15),N.showEnumMembers||y.add(16),N.showKeywords||y.add(17),N.showWords||y.add(18),N.showColors||y.add(19),N.showFiles||y.add(20),N.showReferences||y.add(21),N.showColors||y.add(22),N.showFolders||y.add(23),N.showTypeParameters||y.add(24),N.showSnippets||y.add(27),N.showUsers||y.add(25),N.showIssues||y.add(26),{itemKind:y,showDeprecated:N.showDeprecated}}_onNewContext(_){if(!!this._context){if(_.lineNumber!==this._context.lineNumber){this.cancel();return}if((0,b.getLeadingWhitespace)(_.leadingLineContent)!==(0,b.getLeadingWhitespace)(this._context.leadingLineContent)){this.cancel();return}if(_.column<this._context.column){_.leadingWord.word?this.trigger({auto:this._context.auto,shy:!1},!0):this.cancel();return}if(!!this._completionModel){if(_.leadingWord.word.length!==0&&_.leadingWord.startColumn>this._context.leadingWord.startColumn){const y=new Set(this._languageFeaturesService.completionProvider.all(this._editor.getModel()));for(let N of this._completionModel.allProvider)y.delete(N);const E=this._completionModel.adopt(new Set);this.trigger({auto:this._context.auto,shy:!1},!0,y,{items:E,clipboardText:this._completionModel.clipboardText});return}if(_.column>this._context.column&&this._completionModel.incomplete.size>0&&_.leadingWord.word.length!==0){const{incomplete:y}=this._completionModel,E=this._completionModel.adopt(y);this.trigger({auto:this._state===2,shy:!1,triggerKind:2},!0,y,{items:E,clipboardText:this._completionModel.clipboardText})}else{let y=this._completionModel.lineContext,E=!1;if(this._completionModel.lineContext={leadingLineContent:_.leadingLineContent,characterCountDelta:_.column-this._context.column},this._completionModel.items.length===0){if(l.shouldAutoTrigger(this._editor)&&this._context.leadingWord.endColumn<_.leadingWord.startColumn){this.trigger({auto:this._context.auto,shy:!1},!0);return}if(this._context.auto){this.cancel();return}else if(this._completionModel.lineContext=y,E=this._completionModel.items.length>0,E&&_.leadingWord.word.length===0){this.cancel();return}}this._onDidSuggest.fire({completionModel:this._completionModel,auto:this._context.auto,shy:this._context.shy,isFrozen:E})}}}}};v=Ie([pe(1,u.IEditorWorkerService),pe(2,n.IClipboardService),pe(3,d.ITelemetryService),pe(4,c.ILogService),pe(5,o.IContextKeyService),pe(6,i.IConfigurationService),pe(7,a.ILanguageFeaturesService)],v),e.SuggestModel=v}),define(te[307],ie([1,0,46,18,10,21,13,4,96,2,16,55,19,146,15,63,11,3,24,212,127,640,613,577,37,26,17,9,89,66,109,612,473,747,474,733,90,42,114]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s,a,l,h,f,S,v,p,_,y,E,N,D,M,B,O,T,A,P,F,W){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TriggerSuggestAction=e.SuggestController=void 0;let R=!1;class z{constructor(Z,V){if(this._model=Z,this._position=V,Z.getLineMaxColumn(V.lineNumber)!==V.column){const X=Z.getOffsetAt(V),oe=Z.getPositionAt(X+1);this._marker=Z.deltaDecorations([],[{range:r.Range.fromPositions(V,oe),options:{description:"suggest-line-suffix",stickiness:1}}])}}dispose(){this._marker&&!this._model.isDisposed()&&this._model.deltaDecorations(this._marker,[])}delta(Z){if(this._model.isDisposed()||this._position.lineNumber!==Z.lineNumber)return 0;if(this._marker){const V=this._model.getDecorationRange(this._marker[0]);return this._model.getOffsetAt(V.getStartPosition())-this._model.getOffsetAt(Z)}else return this._model.getLineMaxColumn(Z.lineNumber)-Z.column}}let j=class Zi{constructor(Z,V,K,X,oe,ae,ee){this._memoryService=V,this._commandService=K,this._contextKeyService=X,this._instantiationService=oe,this._logService=ae,this._telemetryService=ee,this._lineSuffix=new u.MutableDisposable,this._toDispose=new u.DisposableStore,this._selectors=new $(H=>H.priority),this._telemetryGate=0,this.editor=Z,this.model=oe.createInstance(O.SuggestModel,this.editor);const ue=D.Context.InsertMode.bindTo(X);ue.set(Z.getOption(106).insertMode),this.model.onDidTrigger(()=>ue.set(Z.getOption(106).insertMode)),this.widget=this._toDispose.add(new k.IdleValue(()=>{const H=this._instantiationService.createInstance(A.SuggestWidget,this.editor);this._toDispose.add(H),this._toDispose.add(H.onDidSelect(ge=>this._insertSuggestion(ge,0),this));const U=new B.CommitCharacterController(this.editor,H,ge=>this._insertSuggestion(ge,2));this._toDispose.add(U),this._toDispose.add(this.model.onDidSuggest(ge=>{ge.completionModel.items.length===0&&U.reset()}));const Q=D.Context.MakesTextEdit.bindTo(this._contextKeyService),Y=D.Context.HasInsertAndReplaceRange.bindTo(this._contextKeyService),ne=D.Context.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add((0,u.toDisposable)(()=>{Q.reset(),Y.reset(),ne.reset()})),this._toDispose.add(H.onDidFocus(({item:ge})=>{const fe=this.editor.getPosition(),ce=ge.editStart.column,he=fe.column;let ve=!0;this.editor.getOption(1)==="smart"&&this.model.state===2&&!ge.completion.additionalTextEdits&&!(ge.completion.insertTextRules&4)&&he-ce===ge.completion.insertText.length&&(ve=this.editor.getModel().getValueInRange({startLineNumber:fe.lineNumber,startColumn:ce,endLineNumber:fe.lineNumber,endColumn:he})!==ge.completion.insertText),Q.set(ve),Y.set(!d.Position.equals(ge.editInsertEnd,ge.editReplaceEnd)),ne.set(Boolean(ge.provider.resolveCompletionItem)||Boolean(ge.completion.documentation)||ge.completion.detail!==ge.completion.label)})),this._toDispose.add(H.onDetailsKeyDown(ge=>{if(ge.toKeybinding().equals(new C.SimpleKeybinding(!0,!1,!1,!1,33))||g.isMacintosh&&ge.toKeybinding().equals(new C.SimpleKeybinding(!1,!1,!1,!0,33))){ge.stopPropagation();return}ge.toKeybinding().isModifierKey()||this.editor.focus()})),H})),this._overtypingCapturer=this._toDispose.add(new k.IdleValue(()=>this._toDispose.add(new T.OvertypingCapturer(this.editor,this.model)))),this._alternatives=this._toDispose.add(new k.IdleValue(()=>this._toDispose.add(new M.SuggestAlternatives(this.editor,this._contextKeyService)))),this._toDispose.add(oe.createInstance(f.WordContextKey,Z)),this._toDispose.add(this.model.onDidTrigger(H=>{this.widget.value.showTriggered(H.auto,H.shy?250:50),this._lineSuffix.value=new z(this.editor.getModel(),H.position)})),this._toDispose.add(this.model.onDidSuggest(H=>{if(!H.shy){let U=-1;for(const Q of this._selectors.itemsOrderedByPriorityDesc)if(U=Q.select(this.editor.getModel(),this.editor.getPosition(),H.completionModel.items),U!==-1)break;U===-1&&(U=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),H.completionModel.items)),this.widget.value.showSuggestions(H.completionModel,U,H.isFrozen,H.auto)}})),this._toDispose.add(this.model.onDidCancel(H=>{H.retrigger||this.widget.value.hideWidget()})),this._toDispose.add(this.editor.onDidBlurEditorWidget(()=>{R||(this.model.cancel(),this.model.clear())}));let le=D.Context.AcceptSuggestionsOnEnter.bindTo(X),x=()=>{const H=this.editor.getOption(1);le.set(H==="on"||H==="smart")};this._toDispose.add(this.editor.onDidChangeConfiguration(()=>x())),x()}static get(Z){return Z.getContribution(Zi.ID)}dispose(){this._alternatives.dispose(),this._toDispose.dispose(),this.widget.dispose(),this.model.dispose(),this._lineSuffix.dispose()}_insertSuggestion(Z,V){if(!Z||!Z.item){this._alternatives.value.reset(),this.model.cancel(),this.model.clear();return}if(!this.editor.hasModel())return;const K=a.SnippetController2.get(this.editor);if(!K)return;const X=this.editor.getModel(),oe=X.getAlternativeVersionId(),{item:ae}=Z,ee=[],ue=new I.CancellationTokenSource;V&1||this.editor.pushUndoStop();const le=this.getOverwriteInfo(ae,Boolean(V&8));if(this._memoryService.memorize(X,this.editor.getPosition(),ae),Array.isArray(ae.completion.additionalTextEdits)){const H=i.StableEditorScrollState.capture(this.editor);this.editor.executeEdits("suggestController.additionalTextEdits.sync",ae.completion.additionalTextEdits.map(U=>c.EditOperation.replace(r.Range.lift(U.range),U.text))),H.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!ae.isResolved){const H=new t.StopWatch(!0);let U;const Q=X.onDidChangeContent(fe=>{if(fe.isFlush){ue.cancel(),Q.dispose();return}for(let ce of fe.changes){const he=r.Range.getEndPosition(ce.range);(!U||d.Position.isBefore(he,U))&&(U=he)}});let Y=V;V|=2;let ne=!1,ge=this.editor.onWillType(()=>{ge.dispose(),ne=!0,Y&2||this.editor.pushUndoStop()});ee.push(ae.resolve(ue.token).then(()=>{if(!ae.completion.additionalTextEdits||ue.token.isCancellationRequested||U&&ae.completion.additionalTextEdits.some(ce=>d.Position.isBefore(U,r.Range.getStartPosition(ce.range))))return!1;ne&&this.editor.pushUndoStop();const fe=i.StableEditorScrollState.capture(this.editor);return this.editor.executeEdits("suggestController.additionalTextEdits.async",ae.completion.additionalTextEdits.map(ce=>c.EditOperation.replace(r.Range.lift(ce.range),ce.text))),fe.restoreRelativeVerticalPositionOfCursor(this.editor),(ne||!(Y&2))&&this.editor.pushUndoStop(),!0}).then(fe=>{this._logService.trace("[suggest] async resolving of edits DONE (ms, applied?)",H.elapsed(),fe),Q.dispose(),ge.dispose()}))}let{insertText:x}=ae.completion;ae.completion.insertTextRules&4||(x=l.SnippetParser.escape(x)),K.insert(x,{overwriteBefore:le.overwriteBefore,overwriteAfter:le.overwriteAfter,undoStopBefore:!1,undoStopAfter:!1,adjustWhitespace:!(ae.completion.insertTextRules&1),clipboardText:Z.model.clipboardText,overtypingCapturer:this._overtypingCapturer.value}),V&2||this.editor.pushUndoStop(),ae.completion.command?ae.completion.command.id===G.id?this.model.trigger({auto:!0,shy:!1},!0):(ee.push(this._commandService.executeCommand(ae.completion.command.id,...ae.completion.command.arguments?[...ae.completion.command.arguments]:[]).catch(w.onUnexpectedError)),this.model.cancel()):this.model.cancel(),V&4&&this._alternatives.value.set(Z,H=>{for(ue.cancel();X.canUndo();){oe!==X.getAlternativeVersionId()&&X.undo(),this._insertSuggestion(H,1|2|(V&8?8:0));break}}),this._alertCompletionItem(ae),Promise.all(ee).finally(()=>{this._reportSuggestionAcceptedTelemetry(X,Z),this.model.clear(),ue.dispose()})}_reportSuggestionAcceptedTelemetry(Z,V){var K;if(this._telemetryGate++%100!=0)return;const X=((K=V.item.provider._debugDisplayName)!==null&&K!==void 0?K:"unknown").split("(",1)[0].toLowerCase();this._telemetryService.publicLog2("suggest.acceptedSuggestion",{providerId:X,basenameHash:(0,W.hash)((0,F.basename)(Z.uri)).toString(16),languageId:Z.getLanguageId(),fileExtension:(0,F.extname)(Z.uri)})}getOverwriteInfo(Z,V){(0,n.assertType)(this.editor.hasModel());let K=this.editor.getOption(106).insertMode==="replace";V&&(K=!K);const X=Z.position.column-Z.editStart.column,oe=(K?Z.editReplaceEnd.column:Z.editInsertEnd.column)-Z.position.column,ae=this.editor.getPosition().column-Z.position.column,ee=this._lineSuffix.value?this._lineSuffix.value.delta(this.editor.getPosition()):0;return{overwriteBefore:X+ae,overwriteAfter:oe+ee}}_alertCompletionItem(Z){if((0,m.isNonEmptyArray)(Z.completion.additionalTextEdits)){let V=S.localize(0,null,Z.textLabel,Z.completion.additionalTextEdits.length);(0,L.alert)(V)}}triggerSuggest(Z,V){this.editor.hasModel()&&(this.model.trigger({auto:V??!1,shy:!1},!1,Z),this.editor.revealPosition(this.editor.getPosition(),0),this.editor.focus())}triggerSuggestAndAcceptBest(Z){if(!this.editor.hasModel())return;const V=this.editor.getPosition(),K=()=>{V.equals(this.editor.getPosition())&&this._commandService.executeCommand(Z.fallback)},X=oe=>{if(oe.completion.insertTextRules&4||oe.completion.additionalTextEdits)return!0;const ae=this.editor.getPosition(),ee=oe.editStart.column,ue=ae.column;return ue-ee!==oe.completion.insertText.length?!0:this.editor.getModel().getValueInRange({startLineNumber:ae.lineNumber,startColumn:ee,endLineNumber:ae.lineNumber,endColumn:ue})!==oe.completion.insertText};b.Event.once(this.model.onDidTrigger)(oe=>{let ae=[];b.Event.any(this.model.onDidTrigger,this.model.onDidCancel)(()=>{(0,u.dispose)(ae),K()},void 0,ae),this.model.onDidSuggest(({completionModel:ee})=>{if((0,u.dispose)(ae),ee.items.length===0){K();return}const ue=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),ee.items),le=ee.items[ue];if(!X(le)){K();return}this.editor.pushUndoStop(),this._insertSuggestion({index:ue,item:le,model:ee},4|1|2)},void 0,ae)}),this.model.trigger({auto:!1,shy:!0}),this.editor.revealPosition(V,0),this.editor.focus()}acceptSelectedSuggestion(Z,V){const K=this.widget.value.getFocusedItem();let X=0;Z&&(X|=4),V&&(X|=8),this._insertSuggestion(K,X)}acceptNextSuggestion(){this._alternatives.value.next()}acceptPrevSuggestion(){this._alternatives.value.prev()}cancelSuggestWidget(){this.model.cancel(),this.model.clear(),this.widget.value.hideWidget()}selectNextSuggestion(){this.widget.value.selectNext()}selectNextPageSuggestion(){this.widget.value.selectNextPage()}selectLastSuggestion(){this.widget.value.selectLast()}selectPrevSuggestion(){this.widget.value.selectPrevious()}selectPrevPageSuggestion(){this.widget.value.selectPreviousPage()}selectFirstSuggestion(){this.widget.value.selectFirst()}toggleSuggestionDetails(){this.widget.value.toggleDetails()}toggleExplainMode(){this.widget.value.toggleExplainMode()}toggleSuggestionFocus(){this.widget.value.toggleDetailsFocus()}resetWidgetSize(){this.widget.value.resetPersistedSize()}forceRenderingAbove(){this.widget.value.forceRenderingAbove()}stopForceRenderingAbove(){!this.widget.isInitialized||this.widget.value.stopForceRenderingAbove()}registerSelector(Z){return this._selectors.register(Z)}};j.ID="editor.contrib.suggestController",j=Ie([pe(1,h.ISuggestMemoryService),pe(2,p.ICommandService),pe(3,_.IContextKeyService),pe(4,y.IInstantiationService),pe(5,N.ILogService),pe(6,P.ITelemetryService)],j),e.SuggestController=j;class ${constructor(Z){this.prioritySelector=Z,this._items=new Array}register(Z){if(this._items.indexOf(Z)!==-1)throw new Error("Value is already registered");return this._items.push(Z),this._items.sort((V,K)=>this.prioritySelector(K)-this.prioritySelector(V)),{dispose:()=>{const V=this._items.indexOf(Z);V>=0&&this._items.splice(V,1)}}}get itemsOrderedByPriorityDesc(){return this._items}}class G extends o.EditorAction{constructor(){super({id:G.id,label:S.localize(1,null),alias:"Trigger Suggest",precondition:_.ContextKeyExpr.and(s.EditorContextKeys.writable,s.EditorContextKeys.hasCompletionItemProvider),kbOpts:{kbExpr:s.EditorContextKeys.textInputFocus,primary:2048|10,secondary:[2048|39],mac:{primary:256|10,secondary:[512|9,2048|39]},weight:100}})}run(Z,V,K){const X=j.get(V);if(!X)return;let oe;K&&typeof K=="object"&&K.auto===!0&&(oe=!0),X.triggerSuggest(void 0,oe)}}e.TriggerSuggestAction=G,G.id="editor.action.triggerSuggest",(0,o.registerEditorContribution)(j.ID,j),(0,o.registerEditorAction)(G);const J=100+90,re=o.EditorCommand.bindToContribution(j.get);(0,o.registerEditorCommand)(new re({id:"acceptSelectedSuggestion",precondition:D.Context.Visible,handler(se){se.acceptSelectedSuggestion(!0,!1)}})),E.KeybindingsRegistry.registerKeybindingRule({id:"acceptSelectedSuggestion",when:_.ContextKeyExpr.and(D.Context.Visible,s.EditorContextKeys.textInputFocus),primary:2,weight:J}),E.KeybindingsRegistry.registerKeybindingRule({id:"acceptSelectedSuggestion",when:_.ContextKeyExpr.and(D.Context.Visible,s.EditorContextKeys.textInputFocus,D.Context.AcceptSuggestionsOnEnter,D.Context.MakesTextEdit),primary:3,weight:J}),v.MenuRegistry.appendMenuItem(D.suggestWidgetStatusbarMenu,{command:{id:"acceptSelectedSuggestion",title:S.localize(2,null)},group:"left",order:1,when:D.Context.HasInsertAndReplaceRange.toNegated()}),v.MenuRegistry.appendMenuItem(D.suggestWidgetStatusbarMenu,{command:{id:"acceptSelectedSuggestion",title:S.localize(3,null)},group:"left",order:1,when:_.ContextKeyExpr.and(D.Context.HasInsertAndReplaceRange,D.Context.InsertMode.isEqualTo("insert"))}),v.MenuRegistry.appendMenuItem(D.suggestWidgetStatusbarMenu,{command:{id:"acceptSelectedSuggestion",title:S.localize(4,null)},group:"left",order:1,when:_.ContextKeyExpr.and(D.Context.HasInsertAndReplaceRange,D.Context.InsertMode.isEqualTo("replace"))}),(0,o.registerEditorCommand)(new re({id:"acceptAlternativeSelectedSuggestion",precondition:_.ContextKeyExpr.and(D.Context.Visible,s.EditorContextKeys.textInputFocus),kbOpts:{weight:J,kbExpr:s.EditorContextKeys.textInputFocus,primary:1024|3,secondary:[1024|2]},handler(se){se.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:D.suggestWidgetStatusbarMenu,group:"left",order:2,when:_.ContextKeyExpr.and(D.Context.HasInsertAndReplaceRange,D.Context.InsertMode.isEqualTo("insert")),title:S.localize(5,null)},{menuId:D.suggestWidgetStatusbarMenu,group:"left",order:2,when:_.ContextKeyExpr.and(D.Context.HasInsertAndReplaceRange,D.Context.InsertMode.isEqualTo("replace")),title:S.localize(6,null)}]})),p.CommandsRegistry.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion"),(0,o.registerEditorCommand)(new re({id:"hideSuggestWidget",precondition:D.Context.Visible,handler:se=>se.cancelSuggestWidget(),kbOpts:{weight:J,kbExpr:s.EditorContextKeys.textInputFocus,primary:9,secondary:[1024|9]}})),(0,o.registerEditorCommand)(new re({id:"selectNextSuggestion",precondition:_.ContextKeyExpr.and(D.Context.Visible,D.Context.MultipleSuggestions),handler:se=>se.selectNextSuggestion(),kbOpts:{weight:J,kbExpr:s.EditorContextKeys.textInputFocus,primary:18,secondary:[2048|18],mac:{primary:18,secondary:[2048|18,256|44]}}})),(0,o.registerEditorCommand)(new re({id:"selectNextPageSuggestion",precondition:_.ContextKeyExpr.and(D.Context.Visible,D.Context.MultipleSuggestions),handler:se=>se.selectNextPageSuggestion(),kbOpts:{weight:J,kbExpr:s.EditorContextKeys.textInputFocus,primary:12,secondary:[2048|12]}})),(0,o.registerEditorCommand)(new re({id:"selectLastSuggestion",precondition:_.ContextKeyExpr.and(D.Context.Visible,D.Context.MultipleSuggestions),handler:se=>se.selectLastSuggestion()})),(0,o.registerEditorCommand)(new re({id:"selectPrevSuggestion",precondition:_.ContextKeyExpr.and(D.Context.Visible,D.Context.MultipleSuggestions),handler:se=>se.selectPrevSuggestion(),kbOpts:{weight:J,kbExpr:s.EditorContextKeys.textInputFocus,primary:16,secondary:[2048|16],mac:{primary:16,secondary:[2048|16,256|46]}}})),(0,o.registerEditorCommand)(new re({id:"selectPrevPageSuggestion",precondition:_.ContextKeyExpr.and(D.Context.Visible,D.Context.MultipleSuggestions),handler:se=>se.selectPrevPageSuggestion(),kbOpts:{weight:J,kbExpr:s.EditorContextKeys.textInputFocus,primary:11,secondary:[2048|11]}})),(0,o.registerEditorCommand)(new re({id:"selectFirstSuggestion",precondition:_.ContextKeyExpr.and(D.Context.Visible,D.Context.MultipleSuggestions),handler:se=>se.selectFirstSuggestion()})),(0,o.registerEditorCommand)(new re({id:"toggleSuggestionDetails",precondition:D.Context.Visible,handler:se=>se.toggleSuggestionDetails(),kbOpts:{weight:J,kbExpr:s.EditorContextKeys.textInputFocus,primary:2048|10,secondary:[2048|39],mac:{primary:256|10,secondary:[2048|39]}},menuOpts:[{menuId:D.suggestWidgetStatusbarMenu,group:"right",order:1,when:_.ContextKeyExpr.and(D.Context.DetailsVisible,D.Context.CanResolve),title:S.localize(7,null)},{menuId:D.suggestWidgetStatusbarMenu,group:"right",order:1,when:_.ContextKeyExpr.and(D.Context.DetailsVisible.toNegated(),D.Context.CanResolve),title:S.localize(8,null)}]})),(0,o.registerEditorCommand)(new re({id:"toggleExplainMode",precondition:D.Context.Visible,handler:se=>se.toggleExplainMode(),kbOpts:{weight:100,primary:2048|85}})),(0,o.registerEditorCommand)(new re({id:"toggleSuggestionFocus",precondition:D.Context.Visible,handler:se=>se.toggleSuggestionFocus(),kbOpts:{weight:J,kbExpr:s.EditorContextKeys.textInputFocus,primary:2048|512|10,mac:{primary:256|512|10}}})),(0,o.registerEditorCommand)(new re({id:"insertBestCompletion",precondition:_.ContextKeyExpr.and(s.EditorContextKeys.textInputFocus,_.ContextKeyExpr.equals("config.editor.tabCompletion","on"),f.WordContextKey.AtEnd,D.Context.Visible.toNegated(),M.SuggestAlternatives.OtherSuggestions.toNegated(),a.SnippetController2.InSnippetMode.toNegated()),handler:(se,Z)=>{se.triggerSuggestAndAcceptBest((0,n.isObject)(Z)?Object.assign({fallback:"tab"},Z):{fallback:"tab"})},kbOpts:{weight:J,primary:2}})),(0,o.registerEditorCommand)(new re({id:"insertNextSuggestion",precondition:_.ContextKeyExpr.and(s.EditorContextKeys.textInputFocus,_.ContextKeyExpr.equals("config.editor.tabCompletion","on"),M.SuggestAlternatives.OtherSuggestions,D.Context.Visible.toNegated(),a.SnippetController2.InSnippetMode.toNegated()),handler:se=>se.acceptNextSuggestion(),kbOpts:{weight:J,kbExpr:s.EditorContextKeys.textInputFocus,primary:2}})),(0,o.registerEditorCommand)(new re({id:"insertPrevSuggestion",precondition:_.ContextKeyExpr.and(s.EditorContextKeys.textInputFocus,_.ContextKeyExpr.equals("config.editor.tabCompletion","on"),M.SuggestAlternatives.OtherSuggestions,D.Context.Visible.toNegated(),a.SnippetController2.InSnippetMode.toNegated()),handler:se=>se.acceptPrevSuggestion(),kbOpts:{weight:J,kbExpr:s.EditorContextKeys.textInputFocus,primary:1024|2}})),(0,o.registerEditorAction)(class extends o.EditorAction{constructor(){super({id:"editor.action.resetSuggestSize",label:S.localize(9,null),alias:"Reset Suggest Widget Size",precondition:void 0})}run(se,Z){var V;(V=j.get(Z))===null||V===void 0||V.resetWidgetSize()}})}),define(te[748],ie([1,0,18,10,4,2,11,3,127,306,307,208,194]),function(q,e,L,m,k,I,w,b,C,u,g,t,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.rangeStartsWith=e.SuggestWidgetInlineCompletionProvider=void 0;class i extends I.Disposable{constructor(s,a){super();this.editor=s,this.suggestControllerPreselector=a,this.isSuggestWidgetVisible=!1,this.isShiftKeyPressed=!1,this._isActive=!1,this._currentSuggestItemInfo=void 0,this.onDidChangeEmitter=new k.Emitter,this.onDidChange=this.onDidChangeEmitter.event,this.setInactiveDelayed=this._register(new m.RunOnceScheduler(()=>{this.isSuggestWidgetVisible||this._isActive&&(this._isActive=!1,this.onDidChangeEmitter.fire())},100)),this._register(s.onKeyDown(h=>{h.shiftKey&&!this.isShiftKeyPressed&&(this.isShiftKeyPressed=!0,this.update(this._isActive))})),this._register(s.onKeyUp(h=>{h.shiftKey&&this.isShiftKeyPressed&&(this.isShiftKeyPressed=!1,this.update(this._isActive))}));const l=g.SuggestController.get(this.editor);if(l){this._register(l.registerSelector({priority:100,select:(S,v,p)=>{const _=this.editor.getModel(),y=(0,t.minimizeInlineCompletion)(_,this.suggestControllerPreselector());if(!y)return-1;const E=w.Position.lift(v),N=p.map((M,B)=>{const O=d(l,E,M,this.isShiftKeyPressed),T=(0,t.minimizeInlineCompletion)(_,O==null?void 0:O.normalizedInlineCompletion);if(!T)return;const A=o(y.range,T.range)&&y.text.startsWith(T.text);return{index:B,valid:A,prefixLength:T.text.length,suggestItem:M}}).filter(M=>M&&M.valid),D=(0,L.findMaxBy)(N,(0,L.compareBy)(M=>M.prefixLength,L.numberComparator));return D?D.index:-1}}));let h=!1;const f=()=>{h||(h=!0,this._register(l.widget.value.onDidShow(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})),this._register(l.widget.value.onDidHide(()=>{this.isSuggestWidgetVisible=!1,this.setInactiveDelayed.schedule(),this.update(this._isActive)})),this._register(l.widget.value.onDidFocus(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})))};this._register(k.Event.once(l.model.onDidTrigger)(S=>{f()}))}this.update(this._isActive)}get state(){if(!!this._isActive)return{selectedItem:this._currentSuggestItemInfo}}update(s){const a=this.getSuggestItemInfo();let l=!1;c(this._currentSuggestItemInfo,a)||(this._currentSuggestItemInfo=a,l=!0),this._isActive!==s&&(this._isActive=s,l=!0),l&&this.onDidChangeEmitter.fire()}getSuggestItemInfo(){const s=g.SuggestController.get(this.editor);if(!s||!this.isSuggestWidgetVisible)return;const a=s.widget.value.getFocusedItem();if(!!a)return d(s,this.editor.getPosition(),a.item,this.isShiftKeyPressed)}stopForceRenderingAbove(){const s=g.SuggestController.get(this.editor);s&&s.stopForceRenderingAbove()}forceRenderingAbove(){const s=g.SuggestController.get(this.editor);s&&s.forceRenderingAbove()}}e.SuggestWidgetInlineCompletionProvider=i;function o(r,s){return s.startLineNumber===r.startLineNumber&&s.startColumn===r.startColumn&&(s.endLineNumber<r.endLineNumber||s.endLineNumber===r.endLineNumber&&s.endColumn<=r.endColumn)}e.rangeStartsWith=o;function c(r,s){return r===s?!0:!r||!s?!1:r.completionItemKind===s.completionItemKind&&r.isSnippetText===s.isSnippetText&&(0,n.normalizedInlineCompletionsEquals)(r.normalizedInlineCompletion,s.normalizedInlineCompletion)}function d(r,s,a,l){if(Array.isArray(a.completion.additionalTextEdits)&&a.completion.additionalTextEdits.length>0)return{completionItemKind:a.completion.kind,isSnippetText:!1,normalizedInlineCompletion:{range:b.Range.fromPositions(s,s),text:""}};let{insertText:h}=a.completion,f=!1;if(a.completion.insertTextRules&4){const v=new C.SnippetParser().parse(h),p=r.editor.getModel();if(v.children.length>100)return;u.SnippetSession.adjustWhitespace(p,s,v,!0,!0),h=v.toString(),f=!0}const S=r.getOverwriteInfo(a,l);return{isSnippetText:f,completionItemKind:a.completion.kind,normalizedInlineCompletion:{text:h,range:b.Range.fromPositions(s.delta(0,-S.overwriteBefore),s.delta(0,Math.max(S.overwriteAfter,0)))}}}}),define(te[749],ie([1,0,10,13,2,27,20,193,208,194,748]),function(q,e,L,m,k,I,w,b,C,u,g){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SuggestWidgetPreviewModel=void 0;let t=class extends b.BaseGhostTextWidgetModel{constructor(o,c,d){super(o);this.cache=c,this.languageFeaturesService=d,this.suggestionInlineCompletionSource=this._register(new g.SuggestWidgetInlineCompletionProvider(this.editor,()=>{var r,s;return(s=(r=this.cache.value)===null||r===void 0?void 0:r.completions[0])===null||s===void 0?void 0:s.toLiveInlineCompletion()})),this.updateOperation=this._register(new k.MutableDisposable),this.updateCacheSoon=this._register(new L.RunOnceScheduler(()=>this.updateCache(),50)),this.minReservedLineCount=0,this._register(this.suggestionInlineCompletionSource.onDidChange(()=>{this.updateCacheSoon.schedule(),this.suggestionInlineCompletionSource.state||(this.minReservedLineCount=0);const s=this.ghostText;s&&(this.minReservedLineCount=Math.max(this.minReservedLineCount,n(s.parts.map(a=>a.lines.length-1)))),this.minReservedLineCount>=1?this.suggestionInlineCompletionSource.forceRenderingAbove():this.suggestionInlineCompletionSource.stopForceRenderingAbove(),this.onDidChangeEmitter.fire()})),this._register(this.cache.onDidChange(()=>{this.onDidChangeEmitter.fire()})),this._register(this.editor.onDidChangeCursorPosition(r=>{this.minReservedLineCount=0,this.updateCacheSoon.schedule(),this.onDidChangeEmitter.fire()})),this._register((0,k.toDisposable)(()=>this.suggestionInlineCompletionSource.stopForceRenderingAbove()))}get isActive(){return this.suggestionInlineCompletionSource.state!==void 0}isSuggestionPreviewEnabled(){return this.editor.getOption(106).preview}updateCache(){return we(this,void 0,void 0,function*(){const o=this.suggestionInlineCompletionSource.state;if(!o||!o.selectedItem)return;const c={text:o.selectedItem.normalizedInlineCompletion.text,range:o.selectedItem.normalizedInlineCompletion.range,isSnippetText:o.selectedItem.isSnippetText,completionKind:o.selectedItem.completionItemKind},d=this.editor.getPosition(),r=(0,L.createCancelablePromise)(a=>we(this,void 0,void 0,function*(){let l;try{l=yield(0,C.provideInlineCompletions)(this.languageFeaturesService.inlineCompletionsProvider,d,this.editor.getModel(),{triggerKind:I.InlineCompletionTriggerKind.Automatic,selectedSuggestionInfo:c},a)}catch(h){(0,m.onUnexpectedError)(h);return}a.isCancellationRequested||(this.cache.setValue(this.editor,l,I.InlineCompletionTriggerKind.Automatic),this.onDidChangeEmitter.fire())})),s=new C.UpdateOperation(r,I.InlineCompletionTriggerKind.Automatic);this.updateOperation.value=s,yield r,this.updateOperation.value===s&&this.updateOperation.clear()})}get ghostText(){var o,c,d;const r=this.isSuggestionPreviewEnabled(),s=(0,C.minimizeInlineCompletion)(this.editor.getModel(),(c=(o=this.cache.value)===null||o===void 0?void 0:o.completions[0])===null||c===void 0?void 0:c.toLiveInlineCompletion()),a=this.suggestionInlineCompletionSource.state,l=(0,C.minimizeInlineCompletion)(this.editor.getModel(),(d=a==null?void 0:a.selectedItem)===null||d===void 0?void 0:d.normalizedInlineCompletion),h=s&&l&&s.text.startsWith(l.text)&&s.range.equalsRange(l.range);if(!r&&!h)return;const f=h?s:l||s,S=h?f.text.length-l.text.length:0;return this.toGhostText(f,S)}toGhostText(o,c){const d=this.editor.getOptions().get(106).previewMode;return o?(0,u.inlineCompletionToGhostText)(o,this.editor.getModel(),d,this.editor.getPosition(),c)||new b.GhostText(o.range.endLineNumber,[],this.minReservedLineCount):void 0}};t=Ie([pe(2,w.ILanguageFeaturesService)],t),e.SuggestWidgetPreviewModel=t;function n(i){return i.reduce((o,c)=>o+c,0)}}),define(te[750],ie([1,0,4,2,11,27,208,749,468,9]),function(q,e,L,m,k,I,w,b,C,u){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SharedInlineCompletionCache=e.GhostTextModel=e.DelegatingModel=void 0;class g extends m.Disposable{constructor(){super(...arguments);this.onDidChangeEmitter=new L.Emitter,this.onDidChange=this.onDidChangeEmitter.event,this.hasCachedGhostText=!1,this.currentModelRef=this._register(new m.MutableDisposable)}get targetModel(){var o;return(o=this.currentModelRef.value)===null||o===void 0?void 0:o.object}setTargetModel(o){var c;((c=this.currentModelRef.value)===null||c===void 0?void 0:c.object)!==o&&(this.currentModelRef.clear(),this.currentModelRef.value=o?(0,C.createDisposableRef)(o,o.onDidChange(()=>{this.hasCachedGhostText=!1,this.onDidChangeEmitter.fire()})):void 0,this.hasCachedGhostText=!1,this.onDidChangeEmitter.fire())}get ghostText(){var o,c;return this.hasCachedGhostText||(this.cachedGhostText=(c=(o=this.currentModelRef.value)===null||o===void 0?void 0:o.object)===null||c===void 0?void 0:c.ghostText,this.hasCachedGhostText=!0),this.cachedGhostText}setExpanded(o){var c;(c=this.targetModel)===null||c===void 0||c.setExpanded(o)}get minReservedLineCount(){return this.targetModel?this.targetModel.minReservedLineCount:0}}e.DelegatingModel=g;let t=class extends g{constructor(o,c){super();this.editor=o,this.instantiationService=c,this.sharedCache=this._register(new n),this.suggestWidgetAdapterModel=this._register(this.instantiationService.createInstance(b.SuggestWidgetPreviewModel,this.editor,this.sharedCache)),this.inlineCompletionsModel=this._register(this.instantiationService.createInstance(w.InlineCompletionsModel,this.editor,this.sharedCache)),this._register(this.suggestWidgetAdapterModel.onDidChange(()=>{this.updateModel()})),this.updateModel()}get activeInlineCompletionsModel(){if(this.targetModel===this.inlineCompletionsModel)return this.inlineCompletionsModel}updateModel(){this.setTargetModel(this.suggestWidgetAdapterModel.isActive?this.suggestWidgetAdapterModel:this.inlineCompletionsModel),this.inlineCompletionsModel.setActive(this.targetModel===this.inlineCompletionsModel)}shouldShowHoverAt(o){var c;const d=(c=this.activeInlineCompletionsModel)===null||c===void 0?void 0:c.ghostText;return d?d.parts.some(r=>o.containsPosition(new k.Position(d.lineNumber,r.column))):!1}triggerInlineCompletion(){var o;(o=this.activeInlineCompletionsModel)===null||o===void 0||o.trigger(I.InlineCompletionTriggerKind.Explicit)}commitInlineCompletion(){var o;(o=this.activeInlineCompletionsModel)===null||o===void 0||o.commitCurrentSuggestion()}hideInlineCompletion(){var o;(o=this.activeInlineCompletionsModel)===null||o===void 0||o.hide()}showNextInlineCompletion(){var o;(o=this.activeInlineCompletionsModel)===null||o===void 0||o.showNext()}showPreviousInlineCompletion(){var o;(o=this.activeInlineCompletionsModel)===null||o===void 0||o.showPrevious()}hasMultipleInlineCompletions(){var o;return we(this,void 0,void 0,function*(){const c=yield(o=this.activeInlineCompletionsModel)===null||o===void 0?void 0:o.hasMultipleInlineCompletions();return c!==void 0?c:!1})}};t=Ie([pe(1,u.IInstantiationService)],t),e.GhostTextModel=t;class n extends m.Disposable{constructor(){super(...arguments);this.onDidChangeEmitter=new L.Emitter,this.onDidChange=this.onDidChangeEmitter.event,this.cache=this._register(new m.MutableDisposable)}get value(){return this.cache.value}setValue(o,c,d){this.cache.value=new w.SynchronizedInlineCompletionsCache(o,c,()=>this.onDidChangeEmitter.fire(),d)}clearAndLeak(){return this.cache.clearAndLeak()}clear(){this.cache.clear()}}e.SharedInlineCompletionCache=n}),define(te[308],ie([1,0,4,2,8,15,70,24,263,750,663,558,17,9,89]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TriggerInlineSuggestionAction=e.ShowPreviousInlineSuggestionAction=e.ShowNextInlineSuggestionAction=e.commitInlineSuggestionAction=e.ActiveGhostTextController=e.GhostTextController=void 0;let c=class Yi extends m.Disposable{constructor(S,v){super();this.editor=S,this.instantiationService=v,this.triggeredExplicitly=!1,this.activeController=this._register(new m.MutableDisposable),this.activeModelDidChangeEmitter=this._register(new L.Emitter),this._register(this.editor.onDidChangeModel(()=>{this.updateModelController()})),this._register(this.editor.onDidChangeConfiguration(p=>{p.hasChanged(106)&&this.updateModelController(),p.hasChanged(55)&&this.updateModelController()})),this.updateModelController()}static get(S){return S.getContribution(Yi.ID)}get activeModel(){var S;return(S=this.activeController.value)===null||S===void 0?void 0:S.model}updateModelController(){const S=this.editor.getOption(106),v=this.editor.getOption(55);this.activeController.value=void 0,this.activeController.value=this.editor.hasModel()&&(S.preview||v.enabled||this.triggeredExplicitly)?this.instantiationService.createInstance(r,this.editor):void 0,this.activeModelDidChangeEmitter.fire()}shouldShowHoverAt(S){var v;return((v=this.activeModel)===null||v===void 0?void 0:v.shouldShowHoverAt(S))||!1}shouldShowHoverAtViewZone(S){var v,p;return((p=(v=this.activeController.value)===null||v===void 0?void 0:v.widget)===null||p===void 0?void 0:p.shouldShowHoverAtViewZone(S))||!1}trigger(){var S;this.triggeredExplicitly=!0,this.activeController.value||this.updateModelController(),(S=this.activeModel)===null||S===void 0||S.triggerInlineCompletion()}commit(){var S;(S=this.activeModel)===null||S===void 0||S.commitInlineCompletion()}hide(){var S;(S=this.activeModel)===null||S===void 0||S.hideInlineCompletion()}showNextInlineCompletion(){var S;(S=this.activeModel)===null||S===void 0||S.showNextInlineCompletion()}showPreviousInlineCompletion(){var S;(S=this.activeModel)===null||S===void 0||S.showPreviousInlineCompletion()}hasMultipleInlineCompletions(){var S;return we(this,void 0,void 0,function*(){const v=yield(S=this.activeModel)===null||S===void 0?void 0:S.hasMultipleInlineCompletions();return v!==void 0?v:!1})}};c.inlineSuggestionVisible=new n.RawContextKey("inlineSuggestionVisible",!1,t.localize(0,null)),c.inlineSuggestionHasIndentation=new n.RawContextKey("inlineSuggestionHasIndentation",!1,t.localize(1,null)),c.inlineSuggestionHasIndentationLessThanTabSize=new n.RawContextKey("inlineSuggestionHasIndentationLessThanTabSize",!0,t.localize(2,null)),c.ID="editor.contrib.ghostTextController",c=Ie([pe(1,i.IInstantiationService)],c),e.GhostTextController=c;class d{constructor(S){this.contextKeyService=S,this.inlineCompletionVisible=c.inlineSuggestionVisible.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentation=c.inlineSuggestionHasIndentation.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentationLessThanTabSize=c.inlineSuggestionHasIndentationLessThanTabSize.bindTo(this.contextKeyService)}}let r=class extends m.Disposable{constructor(S,v,p){super();this.editor=S,this.instantiationService=v,this.contextKeyService=p,this.contextKeys=new d(this.contextKeyService),this.model=this._register(this.instantiationService.createInstance(u.GhostTextModel,this.editor)),this.widget=this._register(this.instantiationService.createInstance(g.GhostTextWidget,this.editor,this.model)),this._register((0,m.toDisposable)(()=>{this.contextKeys.inlineCompletionVisible.set(!1),this.contextKeys.inlineCompletionSuggestsIndentation.set(!1),this.contextKeys.inlineCompletionSuggestsIndentationLessThanTabSize.set(!0)})),this._register(this.model.onDidChange(()=>{this.updateContextKeys()})),this.updateContextKeys()}updateContextKeys(){var S;this.contextKeys.inlineCompletionVisible.set(((S=this.model.activeInlineCompletionsModel)===null||S===void 0?void 0:S.ghostText)!==void 0);let v=!1,p=!0;const _=this.model.inlineCompletionsModel.ghostText;if(!!this.model.activeInlineCompletionsModel&&_&&_.parts.length>0){const{column:y,lines:E}=_.parts[0],N=E[0],D=this.editor.getModel().getLineIndentColumn(_.lineNumber);if(y<=D){let B=(0,k.firstNonWhitespaceIndex)(N);B===-1&&(B=N.length-1),v=B>0;const O=this.editor.getModel().getOptions().tabSize;p=w.CursorColumns.visibleColumnFromColumn(N,B+1,O)<O}}this.contextKeys.inlineCompletionSuggestsIndentation.set(v),this.contextKeys.inlineCompletionSuggestsIndentationLessThanTabSize.set(p)}};r=Ie([pe(1,i.IInstantiationService),pe(2,n.IContextKeyService)],r),e.ActiveGhostTextController=r;const s=I.EditorCommand.bindToContribution(c.get);e.commitInlineSuggestionAction=new s({id:C.inlineSuggestCommitId,precondition:c.inlineSuggestionVisible,handler(f){f.commit(),f.editor.focus()}}),(0,I.registerEditorCommand)(e.commitInlineSuggestionAction),o.KeybindingsRegistry.registerKeybindingRule({primary:2,weight:200,id:e.commitInlineSuggestionAction.id,when:n.ContextKeyExpr.and(e.commitInlineSuggestionAction.precondition,b.EditorContextKeys.tabMovesFocus.toNegated(),c.inlineSuggestionHasIndentationLessThanTabSize)}),(0,I.registerEditorCommand)(new s({id:"editor.action.inlineSuggest.hide",precondition:c.inlineSuggestionVisible,kbOpts:{weight:100,primary:9},handler(f){f.hide()}}));class a extends I.EditorAction{constructor(){super({id:a.ID,label:t.localize(3,null),alias:"Show Next Inline Suggestion",precondition:n.ContextKeyExpr.and(b.EditorContextKeys.writable,c.inlineSuggestionVisible),kbOpts:{weight:100,primary:512|89}})}run(S,v){return we(this,void 0,void 0,function*(){const p=c.get(v);p&&(p.showNextInlineCompletion(),v.focus())})}}e.ShowNextInlineSuggestionAction=a,a.ID="editor.action.inlineSuggest.showNext";class l extends I.EditorAction{constructor(){super({id:l.ID,label:t.localize(4,null),alias:"Show Previous Inline Suggestion",precondition:n.ContextKeyExpr.and(b.EditorContextKeys.writable,c.inlineSuggestionVisible),kbOpts:{weight:100,primary:512|87}})}run(S,v){return we(this,void 0,void 0,function*(){const p=c.get(v);p&&(p.showPreviousInlineCompletion(),v.focus())})}}e.ShowPreviousInlineSuggestionAction=l,l.ID="editor.action.inlineSuggest.showPrevious";class h extends I.EditorAction{constructor(){super({id:"editor.action.inlineSuggest.trigger",label:t.localize(5,null),alias:"Trigger Inline Suggestion",precondition:b.EditorContextKeys.writable})}run(S,v){return we(this,void 0,void 0,function*(){const p=c.get(v);p&&p.trigger()})}}e.TriggerInlineSuggestionAction=h}),define(te[751],ie([1,0,7,68,2,106,3,35,86,308,559,65,37,26,17,53]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InlineCompletionsHoverParticipant=e.InlineCompletionsHover=void 0;class d{constructor(a,l,h){this.owner=a,this.range=l,this.controller=h}isValidForHoverAnchor(a){return a.type===1&&this.range.startColumn<=a.range.startColumn&&this.range.endColumn>=a.range.endColumn}hasMultipleSuggestions(){return this.controller.hasMultipleInlineCompletions()}}e.InlineCompletionsHover=d;let r=class{constructor(a,l,h,f,S,v,p){this._editor=a,this._commandService=l,this._menuService=h,this._contextKeyService=f,this._languageService=S,this._openerService=v,this.accessibilityService=p,this.hoverOrdinal=3}suggestHoverAnchor(a){const l=u.GhostTextController.get(this._editor);if(!l)return null;const h=a.target;if(h.type===8){const f=h.detail;if(l.shouldShowHoverAtViewZone(f.viewZoneId))return new C.HoverForeignElementAnchor(1e3,this,w.Range.fromPositions(f.positionBefore||f.position,f.positionBefore||f.position))}return h.type===7&&l.shouldShowHoverAt(h.range)?new C.HoverForeignElementAnchor(1e3,this,h.range):h.type===6&&h.detail.mightBeForeignElement&&l.shouldShowHoverAt(h.range)?new C.HoverForeignElementAnchor(1e3,this,h.range):null}computeSync(a,l){const h=u.GhostTextController.get(this._editor);return h&&h.shouldShowHoverAt(a.range)?[new d(this,a.range,h)]:[]}renderHoverParts(a,l){const h=new k.DisposableStore,f=l[0];this.accessibilityService.isScreenReaderOptimized()&&this.renderScreenReaderText(a,f,h);const S=h.add(this._menuService.createMenu(n.MenuId.InlineCompletionsActions,this._contextKeyService)),v=a.statusBar.addAction({label:g.localize(0,null),commandId:u.ShowNextInlineSuggestionAction.ID,run:()=>this._commandService.executeCommand(u.ShowNextInlineSuggestionAction.ID)}),p=a.statusBar.addAction({label:g.localize(1,null),commandId:u.ShowPreviousInlineSuggestionAction.ID,run:()=>this._commandService.executeCommand(u.ShowPreviousInlineSuggestionAction.ID)});a.statusBar.addAction({label:g.localize(2,null),commandId:u.commitInlineSuggestionAction.id,run:()=>this._commandService.executeCommand(u.commitInlineSuggestionAction.id)});const _=[v,p];for(const y of _)y.setEnabled(!1);f.hasMultipleSuggestions().then(y=>{for(const E of _)E.setEnabled(y)});for(const[y,E]of S.getActions())for(const N of E)N instanceof n.MenuItemAction&&a.statusBar.addAction({label:N.label,commandId:N.item.id,run:()=>this._commandService.executeCommand(N.item.id)});return h}renderScreenReaderText(a,l,h){var f,S;const v=L.$,p=v("div.hover-row.markdown-hover"),_=L.append(p,v("div.hover-contents")),y=h.add(new I.MarkdownRenderer({editor:this._editor},this._languageService,this._openerService)),E=D=>{h.add(y.onDidRenderAsync(()=>{_.className="hover-contents code-hover-contents",a.onContentsChanged()}));const M=g.localize(3,null),B=h.add(y.render(new m.MarkdownString().appendText(M).appendCodeblock("text",D)));_.replaceChildren(B.element)},N=(S=(f=l.controller.activeModel)===null||f===void 0?void 0:f.inlineCompletionsModel)===null||S===void 0?void 0:S.ghostText;if(N){const D=this._editor.getModel().getLineContent(N.lineNumber);E(N.renderForScreenReader(D))}a.fragment.appendChild(p)}};r=Ie([pe(1,i.ICommandService),pe(2,n.IMenuService),pe(3,o.IContextKeyService),pe(4,b.ILanguageService),pe(5,c.IOpenerService),pe(6,t.IAccessibilityService)],r),e.InlineCompletionsHoverParticipant=r}),define(te[752],ie([1,0,15,86,308,751]),function(q,e,L,m,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),(0,L.registerEditorContribution)(k.GhostTextController.ID,k.GhostTextController),(0,L.registerEditorAction)(k.TriggerInlineSuggestionAction),(0,L.registerEditorAction)(k.ShowNextInlineSuggestionAction),(0,L.registerEditorAction)(k.ShowPreviousInlineSuggestionAction),m.HoverParticipantRegistry.register(I.InlineCompletionsHoverParticipant)}),define(te[309],ie([1,0,9]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IWorkspaceTrustManagementService=void 0,e.IWorkspaceTrustManagementService=(0,L.createDecorator)("workspaceTrustManagementService")}),define(te[753],ie([1,0,10,28,2,16,8,15,32,38,249,88,35,271,86,207,712,585,41,9,53,80,74,309,391]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s,a,l,h,f,S){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ShowExcludeOptions=e.DisableHighlightingOfNonBasicAsciiCharactersAction=e.DisableHighlightingOfInvisibleCharactersAction=e.DisableHighlightingOfAmbiguousCharactersAction=e.DisableHighlightingInStringsAction=e.DisableHighlightingInCommentsAction=e.UnicodeHighlighterHoverParticipant=e.UnicodeHighlighter=e.warningIcon=void 0,e.warningIcon=(0,f.registerIcon)("extensions-warning-message",m.Codicon.warning,r.localize(0,null));let v=class extends k.Disposable{constructor(J,re,se,Z){super();this._editor=J,this._editorWorkerService=re,this._workspaceTrustService=se,this._highlighter=null,this._bannerClosed=!1,this._updateState=V=>{if(V&&V.hasMore){if(this._bannerClosed)return;const K=Math.max(V.ambiguousCharacterCount,V.nonBasicAsciiCharacterCount,V.invisibleCharacterCount);let X;if(V.nonBasicAsciiCharacterCount>=K)X={message:r.localize(1,null),command:new W};else if(V.ambiguousCharacterCount>=K)X={message:r.localize(2,null),command:new P};else if(V.invisibleCharacterCount>=K)X={message:r.localize(3,null),command:new F};else throw new Error("Unreachable");this._bannerController.show({id:"unicodeHighlightBanner",message:X.message,icon:e.warningIcon,actions:[{label:X.command.shortLabel,href:`command:${X.command.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(Z.createInstance(d.BannerController,J)),this._register(this._editor.onDidChangeModel(()=>{this._bannerClosed=!1,this._updateHighlighter()})),this._options=J.getOption(113),this._register(se.onDidChangeTrust(V=>{this._updateHighlighter()})),this._register(J.onDidChangeConfiguration(V=>{V.hasChanged(113)&&(this._options=J.getOption(113),this._updateHighlighter())})),this._updateHighlighter()}dispose(){this._highlighter&&(this._highlighter.dispose(),this._highlighter=null),super.dispose()}_updateHighlighter(){if(this._updateState(null),this._highlighter&&(this._highlighter.dispose(),this._highlighter=null),!this._editor.hasModel())return;const J=p(this._workspaceTrustService.isWorkspaceTrusted(),this._options);if([J.nonBasicASCII,J.ambiguousCharacters,J.invisibleCharacters].every(se=>se===!1))return;const re={nonBasicASCII:J.nonBasicASCII,ambiguousCharacters:J.ambiguousCharacters,invisibleCharacters:J.invisibleCharacters,includeComments:J.includeComments,includeStrings:J.includeStrings,allowedCodePoints:Object.keys(J.allowedCharacters).map(se=>se.codePointAt(0)),allowedLocales:Object.keys(J.allowedLocales).map(se=>se==="_os"?new Intl.NumberFormat().resolvedOptions().locale:se==="_vscode"?I.language:se)};this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?this._highlighter=new _(this._editor,re,this._updateState,this._editorWorkerService):this._highlighter=new y(this._editor,re,this._updateState)}getDecorationInfo(J){return this._highlighter?this._highlighter.getDecorationInfo(J):null}};v.ID="editor.contrib.unicodeHighlighter",v=Ie([pe(1,t.IEditorWorkerService),pe(2,S.IWorkspaceTrustManagementService),pe(3,a.IInstantiationService)],v),e.UnicodeHighlighter=v;function p(G,J){return{nonBasicASCII:J.nonBasicASCII===C.inUntrustedWorkspace?!G:J.nonBasicASCII,ambiguousCharacters:J.ambiguousCharacters,invisibleCharacters:J.invisibleCharacters,includeComments:J.includeComments===C.inUntrustedWorkspace?!G:J.includeComments,includeStrings:J.includeStrings===C.inUntrustedWorkspace?!G:J.includeStrings,allowedCharacters:J.allowedCharacters,allowedLocales:J.allowedLocales}}let _=class extends k.Disposable{constructor(J,re,se,Z){super();this._editor=J,this._options=re,this._updateState=se,this._editorWorkerService=Z,this._model=this._editor.getModel(),this._decorationIds=new Set,this._updateSoon=this._register(new L.RunOnceScheduler(()=>this._update(),250)),this._register(this._editor.onDidChangeModelContent(()=>{this._updateSoon.schedule()})),this._updateSoon.schedule()}dispose(){this._decorationIds=new Set(this._model.deltaDecorations(Array.from(this._decorationIds),[])),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII()){this._decorationIds=new Set(this._editor.deltaDecorations(Array.from(this._decorationIds),[]));return}const J=this._model.getVersionId();this._editorWorkerService.computedUnicodeHighlights(this._model.uri,this._options).then(re=>{if(this._model.isDisposed()||this._model.getVersionId()!==J)return;this._updateState(re);const se=[];if(!re.hasMore)for(const Z of re.ranges)se.push({range:Z,options:O.instance.getDecorationFromOptions(this._options)});this._decorationIds=new Set(this._editor.deltaDecorations(Array.from(this._decorationIds),se))})}getDecorationInfo(J){if(!this._decorationIds.has(J))return null;const re=this._editor.getModel(),se=re.getDecorationRange(J),Z={range:se,options:O.instance.getDecorationFromOptions(this._options),id:J,ownerId:0};if(!(0,i.isModelDecorationVisible)(re,Z))return null;const V=re.getValueInRange(se);return{reason:B(V,this._options),inComment:(0,i.isModelDecorationInComment)(re,Z),inString:(0,i.isModelDecorationInString)(re,Z)}}};_=Ie([pe(3,t.IEditorWorkerService)],_);class y extends k.Disposable{constructor(J,re,se){super();this._editor=J,this._options=re,this._updateState=se,this._model=this._editor.getModel(),this._decorationIds=new Set,this._updateSoon=this._register(new L.RunOnceScheduler(()=>this._update(),250)),this._register(this._editor.onDidLayoutChange(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidScrollChange(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidChangeHiddenAreas(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidChangeModelContent(()=>{this._updateSoon.schedule()})),this._updateSoon.schedule()}dispose(){this._decorationIds=new Set(this._model.deltaDecorations(Array.from(this._decorationIds),[])),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII()){this._decorationIds=new Set(this._editor.deltaDecorations(Array.from(this._decorationIds),[]));return}const J=this._editor.getVisibleRanges(),re=[],se={ranges:[],ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0,hasMore:!1};for(const Z of J){const V=g.UnicodeTextModelHighlighter.computeUnicodeHighlights(this._model,this._options,Z);for(const K of V.ranges)se.ranges.push(K);se.ambiguousCharacterCount+=se.ambiguousCharacterCount,se.invisibleCharacterCount+=se.invisibleCharacterCount,se.nonBasicAsciiCharacterCount+=se.nonBasicAsciiCharacterCount,se.hasMore=se.hasMore||V.hasMore}if(!se.hasMore)for(const Z of se.ranges)re.push({range:Z,options:O.instance.getDecorationFromOptions(this._options)});this._updateState(se),this._decorationIds=new Set(this._editor.deltaDecorations(Array.from(this._decorationIds),re))}getDecorationInfo(J){if(!this._decorationIds.has(J))return null;const re=this._editor.getModel(),se=re.getDecorationRange(J),Z=re.getValueInRange(se),V={range:se,options:O.instance.getDecorationFromOptions(this._options),id:J,ownerId:0};return(0,i.isModelDecorationVisible)(re,V)?{reason:B(Z,this._options),inComment:(0,i.isModelDecorationInComment)(re,V),inString:(0,i.isModelDecorationInString)(re,V)}:null}}let E=class{constructor(J,re,se){this._editor=J,this._languageService=re,this._openerService=se,this.hoverOrdinal=4}computeSync(J,re){if(!this._editor.hasModel()||J.type!==1)return[];const se=this._editor.getModel(),Z=this._editor.getContribution(v.ID);if(!Z)return[];const V=[];let K=300;for(const X of re){const oe=Z.getDecorationInfo(X.id);if(!oe)continue;const ee=se.getValueInRange(X.range).codePointAt(0),ue=D(ee);let le;switch(oe.reason.kind){case 0:le=r.localize(4,null,ue,D(oe.reason.confusableWith.codePointAt(0)));break;case 1:le=r.localize(5,null,ue);break;case 2:le=r.localize(6,null,ue);break}const x={codePoint:ee,reason:oe.reason,inComment:oe.inComment,inString:oe.inString},H=r.localize(7,null),U=[{value:`${le} [${H}](command:${R.ID}?${encodeURIComponent(JSON.stringify(x))})`,isTrusted:!0}];V.push(new c.MarkdownHover(this,X.range,U,K++))}return V}renderHoverParts(J,re){return(0,c.renderMarkdownHovers)(J,re,this._editor,this._languageService,this._openerService)}};E=Ie([pe(1,n.ILanguageService),pe(2,l.IOpenerService)],E),e.UnicodeHighlighterHoverParticipant=E;function N(G){return`U+${G.toString(16).padStart(4,"0")}`}function D(G){let J=`\`${N(G)}\``;return w.InvisibleCharacters.isInvisibleCharacter(G)||(J+=` "${`${M(G)}`}"`),J}function M(G){return G===96?"`` ` ``":"`"+String.fromCodePoint(G)+"`"}function B(G,J){return g.UnicodeTextModelHighlighter.computeUnicodeHighlightReason(G,J)}class O{constructor(){this.map=new Map}getDecorationFromOptions(J){return this.getDecoration(!J.includeComments,!J.includeStrings)}getDecoration(J,re){const se=`${J}${re}`;let Z=this.map.get(se);return Z||(Z=u.ModelDecorationOptions.createDynamic({description:"unicode-highlight",stickiness:1,className:"unicode-highlight",showIfCollapsed:!0,overviewRuler:null,minimap:null,hideInCommentTokens:J,hideInStringTokens:re}),this.map.set(se,Z)),Z}}O.instance=new O;class T extends b.EditorAction{constructor(){super({id:P.ID,label:r.localize(9,null),alias:"Disable highlighting of characters in comments",precondition:void 0});this.shortLabel=r.localize(8,null)}run(J,re,se){return we(this,void 0,void 0,function*(){let Z=J==null?void 0:J.get(s.IConfigurationService);Z&&this.runAction(Z)})}runAction(J){return we(this,void 0,void 0,function*(){yield J.updateValue(C.unicodeHighlightConfigKeys.includeComments,!1,1)})}}e.DisableHighlightingInCommentsAction=T;class A extends b.EditorAction{constructor(){super({id:P.ID,label:r.localize(11,null),alias:"Disable highlighting of characters in strings",precondition:void 0});this.shortLabel=r.localize(10,null)}run(J,re,se){return we(this,void 0,void 0,function*(){let Z=J==null?void 0:J.get(s.IConfigurationService);Z&&this.runAction(Z)})}runAction(J){return we(this,void 0,void 0,function*(){yield J.updateValue(C.unicodeHighlightConfigKeys.includeStrings,!1,1)})}}e.DisableHighlightingInStringsAction=A;class P extends b.EditorAction{constructor(){super({id:P.ID,label:r.localize(13,null),alias:"Disable highlighting of ambiguous characters",precondition:void 0});this.shortLabel=r.localize(12,null)}run(J,re,se){return we(this,void 0,void 0,function*(){let Z=J==null?void 0:J.get(s.IConfigurationService);Z&&this.runAction(Z)})}runAction(J){return we(this,void 0,void 0,function*(){yield J.updateValue(C.unicodeHighlightConfigKeys.ambiguousCharacters,!1,1)})}}e.DisableHighlightingOfAmbiguousCharactersAction=P,P.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters";class F extends b.EditorAction{constructor(){super({id:F.ID,label:r.localize(15,null),alias:"Disable highlighting of invisible characters",precondition:void 0});this.shortLabel=r.localize(14,null)}run(J,re,se){return we(this,void 0,void 0,function*(){let Z=J==null?void 0:J.get(s.IConfigurationService);Z&&this.runAction(Z)})}runAction(J){return we(this,void 0,void 0,function*(){yield J.updateValue(C.unicodeHighlightConfigKeys.invisibleCharacters,!1,1)})}}e.DisableHighlightingOfInvisibleCharactersAction=F,F.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters";class W extends b.EditorAction{constructor(){super({id:W.ID,label:r.localize(17,null),alias:"Disable highlighting of non basic ASCII characters",precondition:void 0});this.shortLabel=r.localize(16,null)}run(J,re,se){return we(this,void 0,void 0,function*(){let Z=J==null?void 0:J.get(s.IConfigurationService);Z&&this.runAction(Z)})}runAction(J){return we(this,void 0,void 0,function*(){yield J.updateValue(C.unicodeHighlightConfigKeys.nonBasicASCII,!1,1)})}}e.DisableHighlightingOfNonBasicAsciiCharactersAction=W,W.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters";class R extends b.EditorAction{constructor(){super({id:R.ID,label:r.localize(18,null),alias:"Show Exclude Options",precondition:void 0})}run(J,re,se){return we(this,void 0,void 0,function*(){const{codePoint:Z,reason:V,inString:K,inComment:X}=se,oe=String.fromCodePoint(Z),ae=J.get(h.IQuickInputService),ee=J.get(s.IConfigurationService);function ue(H){return w.InvisibleCharacters.isInvisibleCharacter(H)?r.localize(19,null,N(H)):r.localize(20,null,`${N(H)} "${oe}"`)}const le=[];if(V.kind===0)for(const H of V.notAmbiguousInLocales)le.push({label:r.localize(21,null,H),run:()=>we(this,void 0,void 0,function*(){j(ee,[H])})});if(le.push({label:ue(Z),run:()=>z(ee,[Z])}),X){const H=new T;le.push({label:H.label,run:()=>we(this,void 0,void 0,function*(){return H.runAction(ee)})})}else if(K){const H=new A;le.push({label:H.label,run:()=>we(this,void 0,void 0,function*(){return H.runAction(ee)})})}if(V.kind===0){const H=new P;le.push({label:H.label,run:()=>we(this,void 0,void 0,function*(){return H.runAction(ee)})})}else if(V.kind===1){const H=new F;le.push({label:H.label,run:()=>we(this,void 0,void 0,function*(){return H.runAction(ee)})})}else if(V.kind===2){const H=new W;le.push({label:H.label,run:()=>we(this,void 0,void 0,function*(){return H.runAction(ee)})})}else $(V);const x=yield ae.pick(le,{title:r.localize(22,null)});x&&(yield x.run())})}}e.ShowExcludeOptions=R,R.ID="editor.action.unicodeHighlight.showExcludeOptions";function z(G,J){return we(this,void 0,void 0,function*(){const re=G.getValue(C.unicodeHighlightConfigKeys.allowedCharacters);let se;typeof re=="object"&&re?se=re:se={};for(const Z of J)se[String.fromCodePoint(Z)]=!0;yield G.updateValue(C.unicodeHighlightConfigKeys.allowedCharacters,se,1)})}function j(G,J){var re;return we(this,void 0,void 0,function*(){const se=(re=G.inspect(C.unicodeHighlightConfigKeys.allowedLocales).user)===null||re===void 0?void 0:re.value;let Z;typeof se=="object"&&se?Z=Object.assign({},se):Z={};for(const V of J)Z[V]=!0;yield G.updateValue(C.unicodeHighlightConfigKeys.allowedLocales,Z,1)})}function $(G){throw new Error(`Unexpected value: ${G}`)}(0,b.registerEditorAction)(P),(0,b.registerEditorAction)(F),(0,b.registerEditorAction)(W),(0,b.registerEditorAction)(R),(0,b.registerEditorContribution)(v.ID,v),o.HoverParticipantRegistry.register(E)}),define(te[754],ie([1,0,158,163,298,238,671,717,672,673,674,688,719,740,675,676,677,721,300,727,681,682,624,752,210,303,301,304,684,743,729,685,686,730,731,732,710,689,690,212,307,691,295,753,692,734,735,296,693,72,143]),function(q,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0})}),define(te[213],ie([1,0,8,7,44,4,96,2,16,76,25,200,630,63,11,3,48,56,156,26,41,635,17,130,9,618,43,620,89,279,621,131,39,73,90,211,132,72,29,66,309,78,622,633,703,14,52,628,88,281,35,659,201,297,706,714,103,615,65,37,702,625,104,616,199,617,157,161,79,627,53,80,82,33,290,280,745,67,607]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s,a,l,h,f,S,v,p,_,y,E,N,D,M,B,O,T,A,P,F,W,R,z,j,$,G,J,re,se,Z,V,K,X,oe,ae,ee,ue,le,x,H,U,Q,Y,ne,ge,fe,ce,he,ve,Ce,be,de,me,_e,ye){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StandaloneServices=e.updateConfigurationService=e.StandaloneConfigurationService=e.StandaloneKeybindingService=e.StandaloneCommandService=e.StandaloneNotificationService=void 0;class ke{constructor(Ne){this.disposed=!1,this.model=Ne,this._onWillDispose=new I.Emitter}get textEditorModel(){return this.model}dispose(){this.disposed=!0,this._onWillDispose.fire()}}let Te=class{constructor(Ne){this.modelService=Ne}createModelReference(Ne){const Oe=this.modelService.getModel(Ne);return Oe?Promise.resolve(new b.ImmortalReference(new ke(Oe))):Promise.reject(new Error("Model not found"))}};Te=Ie([pe(0,d.IModelService)],Te);class Me{show(){return Me.NULL_PROGRESS_RUNNER}showWhile(Ne,Oe){return we(this,void 0,void 0,function*(){yield Ne})}}Me.NULL_PROGRESS_RUNNER={done:()=>{},total:()=>{},worked:()=>{}};class We{confirm(Ne){return this.doConfirm(Ne).then(Oe=>({confirmed:Oe,checkboxChecked:!1}))}doConfirm(Ne){let Oe=Ne.message;return Ne.detail&&(Oe=Oe+`
+
+`+Ne.detail),Promise.resolve(window.confirm(Oe))}show(Ne,Oe,Ue,Ge){return Promise.resolve({choice:0})}}class xe{info(Ne){return this.notify({severity:u.default.Info,message:Ne})}warn(Ne){return this.notify({severity:u.default.Warning,message:Ne})}error(Ne){return this.notify({severity:u.default.Error,message:Ne})}notify(Ne){switch(Ne.severity){case u.default.Error:console.error(Ne.message);break;case u.default.Warning:console.warn(Ne.message);break;default:console.log(Ne.message);break}return xe.NO_OP}status(Ne,Oe){return b.Disposable.None}}e.StandaloneNotificationService=xe,xe.NO_OP=new B.NoOpNotification;let He=class{constructor(Ne){this._onWillExecuteCommand=new I.Emitter,this._onDidExecuteCommand=new I.Emitter,this.onWillExecuteCommand=this._onWillExecuteCommand.event,this.onDidExecuteCommand=this._onDidExecuteCommand.event,this._instantiationService=Ne}executeCommand(Ne,...Oe){const Ue=a.CommandsRegistry.getCommand(Ne);if(!Ue)return Promise.reject(new Error(`command '${Ne}' not found`));try{this._onWillExecuteCommand.fire({commandId:Ne,args:Oe});const Ge=this._instantiationService.invokeFunction.apply(this._instantiationService,[Ue.handler,...Oe]);return this._onDidExecuteCommand.fire({commandId:Ne,args:Oe}),Promise.resolve(Ge)}catch(Ge){return Promise.reject(Ge)}}};He=Ie([pe(0,v.IInstantiationService)],He),e.StandaloneCommandService=He;let Le=class extends p.AbstractKeybindingService{constructor(Ne,Oe,Ue,Ge,Je,Ye){super(Ne,Oe,Ue,Ge,Je);this._cachedResolver=null,this._dynamicKeybindings=[],this._domNodeListeners=[];const Xe=nt=>{const ht=new b.DisposableStore;ht.add(m.addDisposableListener(nt,m.EventType.KEY_DOWN,Ct=>{const ct=new k.StandardKeyboardEvent(Ct);this._dispatch(ct,ct.target)&&(ct.preventDefault(),ct.stopPropagation())})),ht.add(m.addDisposableListener(nt,m.EventType.KEY_UP,Ct=>{const ct=new k.StandardKeyboardEvent(Ct);this._singleModifierDispatch(ct,ct.target)&&ct.preventDefault()})),this._domNodeListeners.push(new Se(nt,ht))},it=nt=>{for(let ht=0;ht<this._domNodeListeners.length;ht++){const Ct=this._domNodeListeners[ht];Ct.domNode===nt&&(this._domNodeListeners.splice(ht,1),Ct.dispose())}},lt=nt=>{nt.getOption(54)||Xe(nt.getContainerDomNode())},bt=nt=>{nt.getOption(54)||it(nt.getContainerDomNode())};this._register(Ye.onCodeEditorAdd(lt)),this._register(Ye.onCodeEditorRemove(bt)),Ye.listCodeEditors().forEach(lt);const dt=nt=>{Xe(nt.getContainerDomNode())},at=nt=>{it(nt.getContainerDomNode())};this._register(Ye.onDiffEditorAdd(dt)),this._register(Ye.onDiffEditorRemove(at)),Ye.listDiffEditors().forEach(dt)}addDynamicKeybinding(Ne,Oe,Ue,Ge){const Je=(0,w.createKeybinding)(Oe,C.OS),Ye=new b.DisposableStore;return Je&&(this._dynamicKeybindings.push({keybinding:Je.parts,command:Ne,when:Ge,weight1:1e3,weight2:0,extensionId:null,isBuiltinExtension:!1}),Ye.add((0,b.toDisposable)(()=>{for(let Xe=0;Xe<this._dynamicKeybindings.length;Xe++)if(this._dynamicKeybindings[Xe].command===Ne){this._dynamicKeybindings.splice(Xe,1),this.updateResolver({source:1});return}}))),Ye.add(a.CommandsRegistry.registerCommand(Ne,Ue)),this.updateResolver({source:1}),Ye}updateResolver(Ne){this._cachedResolver=null,this._onDidUpdateKeybindings.fire(Ne)}_getResolver(){if(!this._cachedResolver){const Ne=this._toNormalizedKeybindingItems(E.KeybindingsRegistry.getDefaultKeybindings(),!0),Oe=this._toNormalizedKeybindingItems(this._dynamicKeybindings,!1);this._cachedResolver=new y.KeybindingResolver(Ne,Oe,Ue=>this._log(Ue))}return this._cachedResolver}_documentHasFocus(){return document.hasFocus()}_toNormalizedKeybindingItems(Ne,Oe){const Ue=[];let Ge=0;for(const Je of Ne){const Ye=Je.when||void 0,Xe=Je.keybinding;if(!Xe)Ue[Ge++]=new N.ResolvedKeybindingItem(void 0,Je.command,Je.commandArgs,Ye,Oe,null,!1);else{const it=D.USLayoutResolvedKeybinding.resolveUserBinding(Xe,C.OS);for(const lt of it)Ue[Ge++]=new N.ResolvedKeybindingItem(lt,Je.command,Je.commandArgs,Ye,Oe,null,!1)}}return Ue}resolveKeyboardEvent(Ne){const Oe=new w.SimpleKeybinding(Ne.ctrlKey,Ne.shiftKey,Ne.altKey,Ne.metaKey,Ne.keyCode).toChord();return new D.USLayoutResolvedKeybinding(Oe,C.OS)}};Le=Ie([pe(0,f.IContextKeyService),pe(1,a.ICommandService),pe(2,T.ITelemetryService),pe(3,B.INotificationService),pe(4,R.ILogService),pe(5,W.ICodeEditorService)],Le),e.StandaloneKeybindingService=Le;class Se extends b.Disposable{constructor(Ne,Oe){super();this.domNode=Ne,this._register(Oe)}}function De(qe){return qe&&typeof qe=="object"&&(!qe.overrideIdentifier||typeof qe.overrideIdentifier=="string")&&(!qe.resource||qe.resource instanceof g.URI)}class Pe{constructor(){this._onDidChangeConfiguration=new I.Emitter,this.onDidChangeConfiguration=this._onDidChangeConfiguration.event,this._configuration=new h.Configuration(new h.DefaultConfigurationModel,new h.ConfigurationModel)}getValue(Ne,Oe){const Ue=typeof Ne=="string"?Ne:void 0,Ge=De(Ne)?Ne:De(Oe)?Oe:{};return this._configuration.getValue(Ue,Ge,void 0)}updateValues(Ne){const Oe={data:this._configuration.toData()},Ue=[];for(const Ge of Ne){const[Je,Ye]=Ge;this.getValue(Je)!==Ye&&(this._configuration.updateValue(Je,Ye),Ue.push(Je))}if(Ue.length>0){const Ge=new h.ConfigurationChangeEvent({keys:Ue,overrides:[]},Oe,this._configuration);Ge.source=7,Ge.sourceConfig=null,this._onDidChangeConfiguration.fire(Ge)}return Promise.resolve()}updateValue(Ne,Oe,Ue,Ge){return this.updateValues([[Ne,Oe]])}inspect(Ne,Oe={}){return this._configuration.inspect(Ne,Oe,void 0)}}e.StandaloneConfigurationService=Pe;let Fe=class{constructor(Ne){this.configurationService=Ne,this._onDidChangeConfiguration=new I.Emitter,this.configurationService.onDidChangeConfiguration(Oe=>{this._onDidChangeConfiguration.fire({affectedKeys:Oe.affectedKeys,affectsConfiguration:(Ue,Ge)=>Oe.affectsConfiguration(Ge)})})}getValue(Ne,Oe,Ue){const Je=(o.Position.isIPosition(Oe)?Oe:null)?typeof Ue=="string"?Ue:void 0:typeof Oe=="string"?Oe:void 0;return typeof Je=="undefined"?this.configurationService.getValue():this.configurationService.getValue(Je)}};Fe=Ie([pe(0,l.IConfigurationService)],Fe);let ze=class{constructor(Ne){this.configurationService=Ne}getEOL(Ne,Oe){const Ue=this.configurationService.getValue("files.eol",{overrideIdentifier:Oe,resource:Ne});return Ue&&typeof Ue=="string"&&Ue!=="auto"?Ue:C.isLinux||C.isMacintosh?`
+`:`\r
+`}};ze=Ie([pe(0,l.IConfigurationService)],ze);class Ke{publicLog(Ne,Oe){return Promise.resolve(void 0)}publicLog2(Ne,Oe){return this.publicLog(Ne,Oe)}}class $e{constructor(){const Ne=g.URI.from({scheme:$e.SCHEME,authority:"model",path:"/"});this.workspace={id:"4064f6ec-cb38-4ad0-af64-ee6467e63c82",folders:[new A.WorkspaceFolder({uri:Ne,name:"",index:0})]}}getWorkspace(){return this.workspace}}$e.SCHEME="inmemory";function Ve(qe,Ne,Oe){if(!Ne||!(qe instanceof Pe))return;const Ue=[];Object.keys(Ne).forEach(Ge=>{(0,n.isEditorConfigurationKey)(Ge)&&Ue.push([`editor.${Ge}`,Ne[Ge]]),Oe&&(0,n.isDiffEditorConfigurationKey)(Ge)&&Ue.push([`diffEditor.${Ge}`,Ne[Ge]])}),Ue.length>0&&qe.updateValues(Ue)}e.updateConfigurationService=Ve;let tt=class{constructor(Ne){this._modelService=Ne}hasPreviewHandler(){return!1}apply(Ne,Oe){return we(this,void 0,void 0,function*(){const Ue=new Map;for(let Ye of Ne){if(!(Ye instanceof t.ResourceTextEdit))throw new Error("bad edit - only text edits are supported");const Xe=this._modelService.getModel(Ye.resource);if(!Xe)throw new Error("bad edit - model not found");if(typeof Ye.versionId=="number"&&Xe.getVersionId()!==Ye.versionId)throw new Error("bad state - model changed in the meantime");let it=Ue.get(Xe);it||(it=[],Ue.set(Xe,it)),it.push(i.EditOperation.replaceMove(c.Range.lift(Ye.textEdit.range),Ye.textEdit.text))}let Ge=0,Je=0;for(const[Ye,Xe]of Ue)Ye.pushStackElement(),Ye.pushEditOperations([],Xe,()=>[]),Ye.pushStackElement(),Je+=1,Ge+=Xe.length;return{ariaSummary:L.format(F.StandaloneServicesNLS.bulkEditServiceSummary,Ge,Je)}})}};tt=Ie([pe(0,d.IModelService)],tt);class Be{getUriLabel(Ne,Oe){return Ne.scheme==="file"?Ne.fsPath:Ne.path}}let Ee=class extends $.ContextViewService{constructor(Ne,Oe){super(Ne);this._codeEditorService=Oe}showContextView(Ne,Oe,Ue){if(!Oe){const Ge=this._codeEditorService.getFocusedCodeEditor()||this._codeEditorService.getActiveCodeEditor();Ge&&(Oe=Ge.getContainerDomNode())}return super.showContextView(Ne,Oe,Ue)}};Ee=Ie([pe(0,P.ILayoutService),pe(1,W.ICodeEditorService)],Ee);class Re{constructor(){this._neverEmitter=new I.Emitter,this.onDidChangeTrust=this._neverEmitter.event}isWorkspaceTrusted(){return!0}}class Ae extends G.LanguageService{constructor(){super()}}class je extends R.LogService{constructor(){super(new R.ConsoleLogger)}}let et=class extends J.ContextMenuService{constructor(Ne,Oe,Ue,Ge,Je){super(Ne,Oe,Ue,Ge,Je);this.configure({blockMouse:!1})}};et=Ie([pe(0,T.ITelemetryService),pe(1,B.INotificationService),pe(2,j.IContextViewService),pe(3,_.IKeybindingService),pe(4,re.IThemeService)],et),(0,se.registerSingleton)(l.IConfigurationService,Pe),(0,se.registerSingleton)(s.ITextResourceConfigurationService,Fe),(0,se.registerSingleton)(s.ITextResourcePropertiesService,ze),(0,se.registerSingleton)(A.IWorkspaceContextService,$e),(0,se.registerSingleton)(M.ILabelService,Be),(0,se.registerSingleton)(T.ITelemetryService,Ke),(0,se.registerSingleton)(S.IDialogService,We),(0,se.registerSingleton)(B.INotificationService,xe),(0,se.registerSingleton)(be.IMarkerService,de.MarkerService),(0,se.registerSingleton)(X.ILanguageService,Ae),(0,se.registerSingleton)(x.IStandaloneThemeService,le.StandaloneThemeService),(0,se.registerSingleton)(R.ILogService,je),(0,se.registerSingleton)(d.IModelService,ee.ModelService),(0,se.registerSingleton)(ae.IMarkerDecorationsService,oe.MarkerDecorationsService),(0,se.registerSingleton)(f.IContextKeyService,fe.ContextKeyService),(0,se.registerSingleton)(O.IEditorProgressService,Me),(0,se.registerSingleton)(ye.IStorageService,ye.InMemoryStorageService),(0,se.registerSingleton)(V.IEditorWorkerService,K.EditorWorkerService),(0,se.registerSingleton)(t.IBulkEditService,tt),(0,se.registerSingleton)(z.IWorkspaceTrustManagementService,Re),(0,se.registerSingleton)(r.ITextModelService,Te),(0,se.registerSingleton)(U.IAccessibilityService,H.AccessibilityService),(0,se.registerSingleton)(Ce.IListService,Ce.ListService),(0,se.registerSingleton)(a.ICommandService,He),(0,se.registerSingleton)(_.IKeybindingService,Le),(0,se.registerSingleton)(_e.IQuickInputService,ue.StandaloneQuickInputService),(0,se.registerSingleton)(j.IContextViewService,Ee),(0,se.registerSingleton)(me.IOpenerService,Z.OpenerService),(0,se.registerSingleton)(ge.IClipboardService,ne.BrowserClipboardService),(0,se.registerSingleton)(j.IContextMenuService,et),(0,se.registerSingleton)(Q.IMenuService,Y.MenuService);var Ze;(function(qe){const Ne=new ve.ServiceCollection;for(const[Ye,Xe]of(0,se.getSingletonServiceDescriptors)())Ne.set(Ye,Xe);const Oe=new he.InstantiationService(Ne,!0);Ne.set(v.IInstantiationService,Oe);function Ue(Ye){const Xe=Ne.get(Ye);if(!Xe)throw new Error("Missing service "+Ye);return Xe instanceof ce.SyncDescriptor?Oe.invokeFunction(it=>it.get(Ye)):Xe}qe.get=Ue;let Ge=!1;function Je(Ye){if(Ge)return Oe;Ge=!0;for(const[Xe,it]of(0,se.getSingletonServiceDescriptors)())Ne.get(Xe)||Ne.set(Xe,it);for(const Xe in Ye)if(Ye.hasOwnProperty(Xe)){const it=(0,v.createDecorator)(Xe);Ne.get(it)instanceof ce.SyncDescriptor&&Ne.set(it,Ye[Xe])}return Oe}qe.initialize=Je})(Ze=e.StandaloneServices||(e.StandaloneServices={}))}),define(te[755],ie([1,0,46,2,29,163,298,242,88,213,103,37,26,41,17,78,9,43,39,14,65,72,104,73,48,35,290,81,33,20]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s,a,l,h,f,S,v,p,_,y,E,N){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createTextModel=e.StandaloneDiffEditor=e.StandaloneEditor=e.StandaloneCodeEditor=void 0;let D=0,M=!1;function B(W){if(!W){if(M)return;M=!0}L.setARIAContainer(W||document.body)}let O=class extends I.CodeEditorWidget{constructor(R,z,j,$,G,J,re,se,Z,V,K,X){const oe=Object.assign({},z);oe.ariaLabel=oe.ariaLabel||h.StandaloneCodeEditorNLS.editorViewAccessibleLabel,oe.ariaLabel=oe.ariaLabel+";"+h.StandaloneCodeEditorNLS.accessibilityHelpMessage;super(R,oe,{},j,$,G,J,se,Z,V,K,X);re instanceof u.StandaloneKeybindingService?this._standaloneKeybindingService=re:this._standaloneKeybindingService=null,B(oe.ariaContainerElement)}addCommand(R,z,j){if(!this._standaloneKeybindingService)return console.warn("Cannot add command because the editor is configured with an unrecognized KeybindingService"),null;const $="DYNAMIC_"+ ++D,G=o.ContextKeyExpr.deserialize(j);return this._standaloneKeybindingService.addDynamicKeybinding($,R,z,G),$}createContextKey(R,z){return this._contextKeyService.createKey(R,z)}addAction(R){if(typeof R.id!="string"||typeof R.label!="string"||typeof R.run!="function")throw new Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");if(!this._standaloneKeybindingService)return console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService"),m.Disposable.None;const z=R.id,j=R.label,$=o.ContextKeyExpr.and(o.ContextKeyExpr.equals("editorId",this.getId()),o.ContextKeyExpr.deserialize(R.precondition)),G=R.keybindings,J=o.ContextKeyExpr.and($,o.ContextKeyExpr.deserialize(R.keybindingContext)),re=R.contextMenuGroupId||null,se=R.contextMenuOrder||0,Z=(oe,...ae)=>Promise.resolve(R.run(this,...ae)),V=new m.DisposableStore,K=this.getId()+":"+z;if(V.add(n.CommandsRegistry.registerCommand(K,Z)),re){const oe={command:{id:K,title:j},when:$,group:re,order:se};V.add(t.MenuRegistry.appendMenuItem(t.MenuId.EditorContext,oe))}if(Array.isArray(G))for(const oe of G)V.add(this._standaloneKeybindingService.addDynamicKeybinding(K,oe,Z,J));const X=new b.InternalEditorAction(K,j,j,$,Z,this._contextKeyService);return this._actions[z]=X,V.add((0,m.toDisposable)(()=>{delete this._actions[z]})),V}_triggerCommand(R,z){if(this._codeEditorService instanceof _.StandaloneCodeEditorService)try{this._codeEditorService.setActiveCodeEditor(this),super._triggerCommand(R,z)}finally{this._codeEditorService.setActiveCodeEditor(null)}else super._triggerCommand(R,z)}};O=Ie([pe(2,d.IInstantiationService),pe(3,k.ICodeEditorService),pe(4,n.ICommandService),pe(5,o.IContextKeyService),pe(6,r.IKeybindingService),pe(7,a.IThemeService),pe(8,s.INotificationService),pe(9,l.IAccessibilityService),pe(10,E.ILanguageConfigurationService),pe(11,N.ILanguageFeaturesService)],O),e.StandaloneCodeEditor=O;let T=class extends O{constructor(R,z,j,$,G,J,re,se,Z,V,K,X,oe,ae,ee){const ue=Object.assign({},z);(0,u.updateConfigurationService)(V,ue,!1);const le=se.registerEditorContainer(R);typeof ue.theme=="string"&&se.setTheme(ue.theme),typeof ue.autoDetectHighContrast!="undefined"&&se.setAutoDetectHighContrast(Boolean(ue.autoDetectHighContrast));const x=ue.model;delete ue.model;super(R,ue,j,$,G,J,re,se,Z,K,ae,ee);this._configurationService=V,this._standaloneThemeService=se,this._register(le);let H;if(typeof x=="undefined"){const U=oe.getLanguageIdByMimeType(ue.language)||ue.language||y.PLAINTEXT_LANGUAGE_ID;H=P(X,oe,ue.value||"",U,void 0),this._ownsModel=!0}else H=x,this._ownsModel=!1;if(this._attachModel(H),H){const U={oldModelUrl:null,newModelUrl:H.uri};this._onDidChangeModel.fire(U)}}dispose(){super.dispose()}updateOptions(R){(0,u.updateConfigurationService)(this._configurationService,R,!1),typeof R.theme=="string"&&this._standaloneThemeService.setTheme(R.theme),typeof R.autoDetectHighContrast!="undefined"&&this._standaloneThemeService.setAutoDetectHighContrast(Boolean(R.autoDetectHighContrast)),super.updateOptions(R)}_postDetachModelCleanup(R){super._postDetachModelCleanup(R),R&&this._ownsModel&&(R.dispose(),this._ownsModel=!1)}};T=Ie([pe(2,d.IInstantiationService),pe(3,k.ICodeEditorService),pe(4,n.ICommandService),pe(5,o.IContextKeyService),pe(6,r.IKeybindingService),pe(7,g.IStandaloneThemeService),pe(8,s.INotificationService),pe(9,i.IConfigurationService),pe(10,l.IAccessibilityService),pe(11,v.IModelService),pe(12,p.ILanguageService),pe(13,E.ILanguageConfigurationService),pe(14,N.ILanguageFeaturesService)],T),e.StandaloneEditor=T;let A=class extends w.DiffEditorWidget{constructor(R,z,j,$,G,J,re,se,Z,V,K,X){const oe=Object.assign({},z);(0,u.updateConfigurationService)(Z,oe,!0);const ae=re.registerEditorContainer(R);typeof oe.theme=="string"&&re.setTheme(oe.theme),typeof oe.autoDetectHighContrast!="undefined"&&re.setAutoDetectHighContrast(Boolean(oe.autoDetectHighContrast));super(R,oe,{},X,G,$,j,J,re,se,V,K);this._configurationService=Z,this._standaloneThemeService=re,this._register(ae)}dispose(){super.dispose()}updateOptions(R){(0,u.updateConfigurationService)(this._configurationService,R,!0),typeof R.theme=="string"&&this._standaloneThemeService.setTheme(R.theme),typeof R.autoDetectHighContrast!="undefined"&&this._standaloneThemeService.setAutoDetectHighContrast(Boolean(R.autoDetectHighContrast)),super.updateOptions(R)}_createInnerEditor(R,z,j){return R.createInstance(O,z,j)}getOriginalEditor(){return super.getOriginalEditor()}getModifiedEditor(){return super.getModifiedEditor()}addCommand(R,z,j){return this.getModifiedEditor().addCommand(R,z,j)}createContextKey(R,z){return this.getModifiedEditor().createContextKey(R,z)}addAction(R){return this.getModifiedEditor().addAction(R)}};A=Ie([pe(2,d.IInstantiationService),pe(3,o.IContextKeyService),pe(4,C.IEditorWorkerService),pe(5,k.ICodeEditorService),pe(6,g.IStandaloneThemeService),pe(7,s.INotificationService),pe(8,i.IConfigurationService),pe(9,c.IContextMenuService),pe(10,S.IEditorProgressService),pe(11,f.IClipboardService)],A),e.StandaloneDiffEditor=A;function P(W,R,z,j,$){if(z=z||"",!j){const G=z.indexOf(`
+`);let J=z;return G!==-1&&(J=z.substring(0,G)),F(W,z,R.createByFilepathOrFirstLine($||null,J),$)}return F(W,z,R.createById(j),$)}e.createTextModel=P;function F(W,R,z,j){return W.createModel(R,z,j)}}),define(te[756],ie([1,0,8,270,29,238,32,176,149,50,27,33,124,35,48,623,185,477,755,213,103,26,79,397]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o,c,d,r,s,a,l,h,f){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createMonacoEditorAPI=e.registerCommand=e.remeasureFonts=e.setTheme=e.defineTheme=e.tokenize=e.colorizeModelLine=e.colorize=e.colorizeElement=e.createWebWorker=e.onDidChangeModelLanguage=e.onWillDisposeModel=e.onDidCreateModel=e.getModels=e.getModel=e.onDidChangeMarkers=e.getModelMarkers=e.setModelMarkers=e.setModelLanguage=e.createModel=e.createDiffNavigator=e.createDiffEditor=e.onDidCreateEditor=e.create=void 0;function S(V,K,X){return a.StandaloneServices.initialize(X||{}).createInstance(s.StandaloneEditor,V,K)}e.create=S;function v(V){return a.StandaloneServices.get(k.ICodeEditorService).onCodeEditorAdd(X=>{V(X)})}e.onDidCreateEditor=v;function p(V,K,X){return a.StandaloneServices.initialize(X||{}).createInstance(s.StandaloneDiffEditor,V,K)}e.createDiffEditor=p;function _(V,K){return new I.DiffNavigator(V,K)}e.createDiffNavigator=_;function y(V,K,X){const oe=a.StandaloneServices.get(i.ILanguageService),ae=oe.getLanguageIdByMimeType(K)||K;return(0,s.createTextModel)(a.StandaloneServices.get(o.IModelService),oe,V,ae,X)}e.createModel=y;function E(V,K){const X=a.StandaloneServices.get(i.ILanguageService);a.StandaloneServices.get(o.IModelService).setMode(V,X.createById(K))}e.setModelLanguage=E;function N(V,K,X){V&&a.StandaloneServices.get(f.IMarkerService).changeOne(K,V.uri,X)}e.setModelMarkers=N;function D(V){return a.StandaloneServices.get(f.IMarkerService).read(V)}e.getModelMarkers=D;function M(V){return a.StandaloneServices.get(f.IMarkerService).onMarkerChanged(V)}e.onDidChangeMarkers=M;function B(V){return a.StandaloneServices.get(o.IModelService).getModel(V)}e.getModel=B;function O(){return a.StandaloneServices.get(o.IModelService).getModels()}e.getModels=O;function T(V){return a.StandaloneServices.get(o.IModelService).onModelAdded(V)}e.onDidCreateModel=T;function A(V){return a.StandaloneServices.get(o.IModelService).onModelRemoved(V)}e.onWillDisposeModel=A;function P(V){return a.StandaloneServices.get(o.IModelService).onModelLanguageChanged(X=>{V({model:X.model,oldLanguage:X.oldLanguageId})})}e.onDidChangeModelLanguage=P;function F(V){return(0,c.createWebWorker)(a.StandaloneServices.get(o.IModelService),a.StandaloneServices.get(t.ILanguageConfigurationService),V)}e.createWebWorker=F;function W(V,K){const X=a.StandaloneServices.get(i.ILanguageService),oe=a.StandaloneServices.get(l.IStandaloneThemeService);return oe.registerEditorContainer(V),r.Colorizer.colorizeElement(oe,X,V,K)}e.colorizeElement=W;function R(V,K,X){const oe=a.StandaloneServices.get(i.ILanguageService);return a.StandaloneServices.get(l.IStandaloneThemeService).registerEditorContainer(document.body),r.Colorizer.colorize(oe,V,K,X)}e.colorize=R;function z(V,K,X=4){return a.StandaloneServices.get(l.IStandaloneThemeService).registerEditorContainer(document.body),r.Colorizer.colorizeModelLine(V,K,X)}e.colorizeModelLine=z;function j(V){const K=g.TokenizationRegistry.get(V);return K||{getInitialState:()=>n.NullState,tokenize:(X,oe,ae)=>(0,n.nullTokenize)(V,ae)}}function $(V,K){g.TokenizationRegistry.getOrCreate(K);const X=j(K),oe=(0,L.splitLines)(V),ae=[];let ee=X.getInitialState();for(let ue=0,le=oe.length;ue<le;ue++){const x=oe[ue],H=X.tokenize(x,!0,ee);ae[ue]=H.tokens,ee=H.endState}return ae}e.tokenize=$;function G(V,K){a.StandaloneServices.get(l.IStandaloneThemeService).defineTheme(V,K)}e.defineTheme=G;function J(V){a.StandaloneServices.get(l.IStandaloneThemeService).setTheme(V)}e.setTheme=J;function re(){m.FontMeasurements.clearAllFontInfos()}e.remeasureFonts=re;function se(V,K){return h.CommandsRegistry.registerCommand({id:V,handler:K})}e.registerCommand=se;function Z(){return{create:S,onDidCreateEditor:v,createDiffEditor:p,createDiffNavigator:_,createModel:y,setModelLanguage:E,setModelMarkers:N,getModelMarkers:D,onDidChangeMarkers:M,getModels:O,getModel:B,onDidCreateModel:T,onWillDisposeModel:A,onDidChangeModelLanguage:P,createWebWorker:F,colorizeElement:W,colorize:R,colorizeModelLine:z,tokenize:$,defineTheme:G,setTheme:J,remeasureFonts:re,registerCommand:se,AccessibilitySupport:d.AccessibilitySupport,ContentWidgetPositionPreference:d.ContentWidgetPositionPreference,CursorChangeReason:d.CursorChangeReason,DefaultEndOfLine:d.DefaultEndOfLine,EditorAutoIndentStrategy:d.EditorAutoIndentStrategy,EditorOption:d.EditorOption,EndOfLinePreference:d.EndOfLinePreference,EndOfLineSequence:d.EndOfLineSequence,MinimapPosition:d.MinimapPosition,MouseTargetType:d.MouseTargetType,OverlayWidgetPositionPreference:d.OverlayWidgetPositionPreference,OverviewRulerLane:d.OverviewRulerLane,RenderLineNumbersType:d.RenderLineNumbersType,RenderMinimap:d.RenderMinimap,ScrollbarVisibility:d.ScrollbarVisibility,ScrollType:d.ScrollType,TextEditorCursorBlinkingStyle:d.TextEditorCursorBlinkingStyle,TextEditorCursorStyle:d.TextEditorCursorStyle,TrackedRangeStickiness:d.TrackedRangeStickiness,WrappingIndent:d.WrappingIndent,InjectedTextCursorStops:d.InjectedTextCursorStops,PositionAffinity:d.PositionAffinity,ConfigurationChangedEvent:w.ConfigurationChangedEvent,BareFontInfo:b.BareFontInfo,FontInfo:b.FontInfo,TextModelResolvedOptions:u.TextModelResolvedOptions,FindMatch:u.FindMatch,ApplyUpdateResult:w.ApplyUpdateResult,EditorType:C.EditorType,EditorOptions:w.EditorOptions}}e.createMonacoEditorAPI=Z}),define(te[757],ie([1,0,30,3,27,33,81,35,185,213,476,267,103,79,20]),function(q,e,L,m,k,I,w,b,C,u,g,t,n,i,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createMonacoLanguagesAPI=e.registerInlayHintsProvider=e.registerInlineCompletionsProvider=e.registerDocumentRangeSemanticTokensProvider=e.registerDocumentSemanticTokensProvider=e.registerSelectionRangeProvider=e.registerDeclarationProvider=e.registerFoldingRangeProvider=e.registerColorProvider=e.registerCompletionItemProvider=e.registerLinkProvider=e.registerOnTypeFormattingEditProvider=e.registerDocumentRangeFormattingEditProvider=e.registerDocumentFormattingEditProvider=e.registerCodeActionProvider=e.registerCodeLensProvider=e.registerTypeDefinitionProvider=e.registerImplementationProvider=e.registerDefinitionProvider=e.registerLinkedEditingRangeProvider=e.registerDocumentHighlightProvider=e.registerDocumentSymbolProvider=e.registerHoverProvider=e.registerSignatureHelpProvider=e.registerRenameProvider=e.registerReferenceProvider=e.setMonarchTokensProvider=e.setTokensProvider=e.registerTokensProviderFactory=e.setColorMap=e.TokenizationSupportAdapter=e.EncodedTokenizationSupportAdapter=e.setLanguageConfiguration=e.onLanguage=e.getEncodedLanguageId=e.getLanguages=e.register=void 0;function c(x){w.ModesRegistry.registerLanguage(x)}e.register=c;function d(){let x=[];return x=x.concat(w.ModesRegistry.getLanguages()),x}e.getLanguages=d;function r(x){return u.StandaloneServices.get(b.ILanguageService).languageIdCodec.encodeLanguageId(x)}e.getEncodedLanguageId=r;function s(x,H){const Q=u.StandaloneServices.get(b.ILanguageService).onDidEncounterLanguage(Y=>{Y===x&&(Q.dispose(),H())});return Q}e.onLanguage=s;function a(x,H){if(!u.StandaloneServices.get(b.ILanguageService).isRegisteredLanguageId(x))throw new Error(`Cannot set configuration for unknown language ${x}`);return I.LanguageConfigurationRegistry.register(x,H,100)}e.setLanguageConfiguration=a;class l{constructor(H,U){this._languageId=H,this._actual=U}getInitialState(){return this._actual.getInitialState()}tokenize(H,U,Q){if(typeof this._actual.tokenize=="function")return h.adaptTokenize(this._languageId,this._actual,H,Q);throw new Error("Not supported!")}tokenizeEncoded(H,U,Q){const Y=this._actual.tokenizeEncoded(H,Q);return new k.EncodedTokenizationResult(Y.tokens,Y.endState)}}e.EncodedTokenizationSupportAdapter=l;class h{constructor(H,U,Q,Y){this._languageId=H,this._actual=U,this._languageService=Q,this._standaloneThemeService=Y}getInitialState(){return this._actual.getInitialState()}static _toClassicTokens(H,U){const Q=[];let Y=0;for(let ne=0,ge=H.length;ne<ge;ne++){const fe=H[ne];let ce=fe.startIndex;ne===0?ce=0:ce<Y&&(ce=Y),Q[ne]=new k.Token(ce,fe.scopes,U),Y=ce}return Q}static adaptTokenize(H,U,Q,Y){const ne=U.tokenize(Q,Y),ge=h._toClassicTokens(ne.tokens,H);let fe;return ne.endState.equals(Y)?fe=Y:fe=ne.endState,new k.TokenizationResult(ge,fe)}tokenize(H,U,Q){return h.adaptTokenize(this._languageId,this._actual,H,Q)}_toBinaryTokens(H,U){const Q=H.encodeLanguageId(this._languageId),Y=this._standaloneThemeService.getColorTheme().tokenTheme,ne=[];let ge=0,fe=0;for(let he=0,ve=U.length;he<ve;he++){const Ce=U[he],be=Y.match(Q,Ce.scopes);if(ge>0&&ne[ge-1]===be)continue;let de=Ce.startIndex;he===0?de=0:de<fe&&(de=fe),ne[ge++]=de,ne[ge++]=be,fe=de}const ce=new Uint32Array(ge);for(let he=0;he<ge;he++)ce[he]=ne[he];return ce}tokenizeEncoded(H,U,Q){const Y=this._actual.tokenize(H,Q),ne=this._toBinaryTokens(this._languageService.languageIdCodec,Y.tokens);let ge;return Y.endState.equals(Q)?ge=Q:ge=Y.endState,new k.EncodedTokenizationResult(ne,ge)}}e.TokenizationSupportAdapter=h;function f(x){return typeof x.getInitialState=="function"}function S(x){return"tokenizeEncoded"in x}function v(x){return x&&typeof x.then=="function"}function p(x){const H=u.StandaloneServices.get(n.IStandaloneThemeService);if(x){const U=[null];for(let Q=1,Y=x.length;Q<Y;Q++)U[Q]=L.Color.fromHex(x[Q]);H.setColorMapOverride(U)}else H.setColorMapOverride(null)}e.setColorMap=p;function _(x,H){return S(H)?new l(x,H):new h(x,H,u.StandaloneServices.get(b.ILanguageService),u.StandaloneServices.get(n.IStandaloneThemeService))}function y(x,H){const U={createTokenizationSupport:()=>we(this,void 0,void 0,function*(){const Q=yield Promise.resolve(H.create());return Q?f(Q)?_(x,Q):new t.MonarchTokenizer(u.StandaloneServices.get(b.ILanguageService),u.StandaloneServices.get(n.IStandaloneThemeService),x,(0,g.compile)(x,Q)):null})};return k.TokenizationRegistry.registerFactory(x,U)}e.registerTokensProviderFactory=y;function E(x,H){if(!u.StandaloneServices.get(b.ILanguageService).isRegisteredLanguageId(x))throw new Error(`Cannot set tokens provider for unknown language ${x}`);return v(H)?y(x,{create:()=>H}):k.TokenizationRegistry.register(x,_(x,H))}e.setTokensProvider=E;function N(x,H){const U=Q=>new t.MonarchTokenizer(u.StandaloneServices.get(b.ILanguageService),u.StandaloneServices.get(n.IStandaloneThemeService),x,(0,g.compile)(x,Q));return v(H)?y(x,{create:()=>H}):k.TokenizationRegistry.register(x,U(H))}e.setMonarchTokensProvider=N;function D(x,H){return u.StandaloneServices.get(o.ILanguageFeaturesService).referenceProvider.register(x,H)}e.registerReferenceProvider=D;function M(x,H){return u.StandaloneServices.get(o.ILanguageFeaturesService).renameProvider.register(x,H)}e.registerRenameProvider=M;function B(x,H){return u.StandaloneServices.get(o.ILanguageFeaturesService).signatureHelpProvider.register(x,H)}e.registerSignatureHelpProvider=B;function O(x,H){return u.StandaloneServices.get(o.ILanguageFeaturesService).hoverProvider.register(x,{provideHover:(Q,Y,ne)=>{const ge=Q.getWordAtPosition(Y);return Promise.resolve(H.provideHover(Q,Y,ne)).then(fe=>{if(!!fe)return!fe.range&&ge&&(fe.range=new m.Range(Y.lineNumber,ge.startColumn,Y.lineNumber,ge.endColumn)),fe.range||(fe.range=new m.Range(Y.lineNumber,Y.column,Y.lineNumber,Y.column)),fe})}})}e.registerHoverProvider=O;function T(x,H){return u.StandaloneServices.get(o.ILanguageFeaturesService).documentSymbolProvider.register(x,H)}e.registerDocumentSymbolProvider=T;function A(x,H){return u.StandaloneServices.get(o.ILanguageFeaturesService).documentHighlightProvider.register(x,H)}e.registerDocumentHighlightProvider=A;function P(x,H){return u.StandaloneServices.get(o.ILanguageFeaturesService).linkedEditingRangeProvider.register(x,H)}e.registerLinkedEditingRangeProvider=P;function F(x,H){return u.StandaloneServices.get(o.ILanguageFeaturesService).definitionProvider.register(x,H)}e.registerDefinitionProvider=F;function W(x,H){return u.StandaloneServices.get(o.ILanguageFeaturesService).implementationProvider.register(x,H)}e.registerImplementationProvider=W;function R(x,H){return u.StandaloneServices.get(o.ILanguageFeaturesService).typeDefinitionProvider.register(x,H)}e.registerTypeDefinitionProvider=R;function z(x,H){return u.StandaloneServices.get(o.ILanguageFeaturesService).codeLensProvider.register(x,H)}e.registerCodeLensProvider=z;function j(x,H,U){return u.StandaloneServices.get(o.ILanguageFeaturesService).codeActionProvider.register(x,{providedCodeActionKinds:U==null?void 0:U.providedCodeActionKinds,provideCodeActions:(Y,ne,ge,fe)=>{const he=u.StandaloneServices.get(i.IMarkerService).read({resource:Y.uri}).filter(ve=>m.Range.areIntersectingOrTouching(ve,ne));return H.provideCodeActions(Y,ne,{markers:he,only:ge.only},fe)},resolveCodeAction:H.resolveCodeAction})}e.registerCodeActionProvider=j;function $(x,H){return u.StandaloneServices.get(o.ILanguageFeaturesService).documentFormattingEditProvider.register(x,H)}e.registerDocumentFormattingEditProvider=$;function G(x,H){return u.StandaloneServices.get(o.ILanguageFeaturesService).documentRangeFormattingEditProvider.register(x,H)}e.registerDocumentRangeFormattingEditProvider=G;function J(x,H){return u.StandaloneServices.get(o.ILanguageFeaturesService).onTypeFormattingEditProvider.register(x,H)}e.registerOnTypeFormattingEditProvider=J;function re(x,H){return u.StandaloneServices.get(o.ILanguageFeaturesService).linkProvider.register(x,H)}e.registerLinkProvider=re;function se(x,H){return u.StandaloneServices.get(o.ILanguageFeaturesService).completionProvider.register(x,H)}e.registerCompletionItemProvider=se;function Z(x,H){return u.StandaloneServices.get(o.ILanguageFeaturesService).colorProvider.register(x,H)}e.registerColorProvider=Z;function V(x,H){return u.StandaloneServices.get(o.ILanguageFeaturesService).foldingRangeProvider.register(x,H)}e.registerFoldingRangeProvider=V;function K(x,H){return u.StandaloneServices.get(o.ILanguageFeaturesService).declarationProvider.register(x,H)}e.registerDeclarationProvider=K;function X(x,H){return u.StandaloneServices.get(o.ILanguageFeaturesService).selectionRangeProvider.register(x,H)}e.registerSelectionRangeProvider=X;function oe(x,H){return u.StandaloneServices.get(o.ILanguageFeaturesService).documentSemanticTokensProvider.register(x,H)}e.registerDocumentSemanticTokensProvider=oe;function ae(x,H){return u.StandaloneServices.get(o.ILanguageFeaturesService).documentRangeSemanticTokensProvider.register(x,H)}e.registerDocumentRangeSemanticTokensProvider=ae;function ee(x,H){return u.StandaloneServices.get(o.ILanguageFeaturesService).inlineCompletionsProvider.register(x,H)}e.registerInlineCompletionsProvider=ee;function ue(x,H){return u.StandaloneServices.get(o.ILanguageFeaturesService).inlayHintsProvider.register(x,H)}e.registerInlayHintsProvider=ue;function le(){return{register:c,getLanguages:d,onLanguage:s,getEncodedLanguageId:r,setLanguageConfiguration:a,setColorMap:p,registerTokensProviderFactory:y,setTokensProvider:E,setMonarchTokensProvider:N,registerReferenceProvider:D,registerRenameProvider:M,registerCompletionItemProvider:se,registerSignatureHelpProvider:B,registerHoverProvider:O,registerDocumentSymbolProvider:T,registerDocumentHighlightProvider:A,registerLinkedEditingRangeProvider:P,registerDefinitionProvider:F,registerImplementationProvider:W,registerTypeDefinitionProvider:R,registerCodeLensProvider:z,registerCodeActionProvider:j,registerDocumentFormattingEditProvider:$,registerDocumentRangeFormattingEditProvider:G,registerOnTypeFormattingEditProvider:J,registerLinkProvider:re,registerColorProvider:Z,registerFoldingRangeProvider:V,registerDeclarationProvider:K,registerSelectionRangeProvider:X,registerDocumentSemanticTokensProvider:oe,registerDocumentRangeSemanticTokensProvider:ae,registerInlineCompletionsProvider:ee,registerInlayHintsProvider:ue,DocumentHighlightKind:C.DocumentHighlightKind,CompletionItemKind:C.CompletionItemKind,CompletionItemTag:C.CompletionItemTag,CompletionItemInsertTextRule:C.CompletionItemInsertTextRule,SymbolKind:C.SymbolKind,SymbolTag:C.SymbolTag,IndentAction:C.IndentAction,CompletionTriggerKind:C.CompletionTriggerKind,SignatureHelpTriggerKind:C.SignatureHelpTriggerKind,InlayHintKind:C.InlayHintKind,InlineCompletionTriggerKind:C.InlineCompletionTriggerKind,FoldingRangeKind:k.FoldingRangeKind}}e.createMonacoLanguagesAPI=le}),define(te[758],ie([1,0,32,252,756,757,16,291]),function(q,e,L,m,k,I,w,b){"use strict";var C;Object.defineProperty(e,"__esModule",{value:!0}),e.languages=e.editor=e.Token=e.Uri=e.MarkerTag=e.MarkerSeverity=e.SelectionDirection=e.Selection=e.Range=e.Position=e.KeyMod=e.KeyCode=e.Emitter=e.CancellationTokenSource=void 0,L.EditorOptions.wrappingIndent.defaultValue=0,L.EditorOptions.glyphMargin.defaultValue=!1,L.EditorOptions.autoIndent.defaultValue=3,L.EditorOptions.overviewRulerLanes.defaultValue=2,b.FormattingConflicts.setFormatterSelector((g,t,n)=>Promise.resolve(g[0]));const u=(0,m.createMonacoBaseAPI)();u.editor=(0,k.createMonacoEditorAPI)(),u.languages=(0,I.createMonacoLanguagesAPI)(),e.CancellationTokenSource=u.CancellationTokenSource,e.Emitter=u.Emitter,e.KeyCode=u.KeyCode,e.KeyMod=u.KeyMod,e.Position=u.Position,e.Range=u.Range,e.Selection=u.Selection,e.SelectionDirection=u.SelectionDirection,e.MarkerSeverity=u.MarkerSeverity,e.MarkerTag=u.MarkerTag,e.Uri=u.Uri,e.Token=u.Token,e.editor=u.editor,e.languages=u.languages,(((C=w.globals.MonacoEnvironment)===null||C===void 0?void 0:C.globalAPI)||typeof define=="function"&&define.amd)&&(self.monaco=u),typeof self.require!="undefined"&&typeof self.require.config=="function"&&self.require.config({ignoreDuplicateModules:["vscode-languageserver-types","vscode-languageserver-types/main","vscode-languageserver-textdocument","vscode-languageserver-textdocument/main","vscode-nls","vscode-nls/vscode-nls","jsonc-parser","jsonc-parser/main","vscode-uri","vscode-uri/index","vs/basic-languages/typescript/typescript"]})});var Zt=this&&this.__createBinding||(Object.create?function(q,e,L,m){m===void 0&&(m=L);var k=Object.getOwnPropertyDescriptor(e,L);(!k||("get"in k?!e.__esModule:k.writable||k.configurable))&&(k={enumerable:!0,get:function(){return e[L]}}),Object.defineProperty(q,m,k)}:function(q,e,L,m){m===void 0&&(m=L),q[m]=e[L]}),Yt=this&&this.__exportStar||function(q,e){for(var L in q)L!=="default"&&!Object.prototype.hasOwnProperty.call(e,L)&&Zt(e,q,L)};define(te[760],ie([1,0,758,754,694,695,696,637,698,699,697,744,700]),function(q,e,L){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),Yt(L,e)})}).call(this);
+
+
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.33.0(4b1abad427e58dbedc1215d99a0902ffc885fcd4)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
+define("vs/basic-languages/monaco.contribution", ["require","require","vs/editor/editor.api"],(require)=>{
+var moduleExports=(()=>{var v=Object.create;var m=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var x=Object.getOwnPropertyNames;var q=Object.getPrototypeOf,A=Object.prototype.hasOwnProperty;var M=e=>m(e,"__esModule",{value:!0});var a=(e=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(e,{get:(r,t)=>(typeof require!="undefined"?require:r)[t]}):e)(function(e){if(typeof require!="undefined")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var D=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports);var u=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of x(r))!A.call(e,o)&&(t||o!=="default")&&m(e,o,{get:()=>r[o],enumerable:!(n=y(r,o))||n.enumerable});return e},p=(e,r)=>u(M(m(e!=null?v(q(e)):{},"default",!r&&e&&e.__esModule?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e);var d=D((w,c)=>{var b=p(a("vs/editor/editor.api"));c.exports=b});var s={};u(s,p(d()));var f={},g={},l=class{static getOrCreate(r){return g[r]||(g[r]=new l(r)),g[r]}_languageId;_loadingTriggered;_lazyLoadPromise;_lazyLoadPromiseResolve;_lazyLoadPromiseReject;constructor(r){this._languageId=r,this._loadingTriggered=!1,this._lazyLoadPromise=new Promise((t,n)=>{this._lazyLoadPromiseResolve=t,this._lazyLoadPromiseReject=n})}load(){return this._loadingTriggered||(this._loadingTriggered=!0,f[this._languageId].loader().then(r=>this._lazyLoadPromiseResolve(r),r=>this._lazyLoadPromiseReject(r))),this._lazyLoadPromise}};function i(e){let r=e.id;f[r]=e,s.languages.register(e);let t=l.getOrCreate(r);s.languages.registerTokensProviderFactory(r,{create:async()=>(await t.load()).language}),s.languages.onLanguage(r,async()=>{let n=await t.load();s.languages.setLanguageConfiguration(r,n.conf)})}i({id:"abap",extensions:[".abap"],aliases:["abap","ABAP"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/abap/abap"],e,r)})});i({id:"apex",extensions:[".cls"],aliases:["Apex","apex"],mimetypes:["text/x-apex-source","text/x-apex"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/apex/apex"],e,r)})});i({id:"azcli",extensions:[".azcli"],aliases:["Azure CLI","azcli"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/azcli/azcli"],e,r)})});i({id:"bat",extensions:[".bat",".cmd"],aliases:["Batch","bat"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/bat/bat"],e,r)})});i({id:"bicep",extensions:[".bicep"],aliases:["Bicep"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/bicep/bicep"],e,r)})});i({id:"cameligo",extensions:[".mligo"],aliases:["Cameligo"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/cameligo/cameligo"],e,r)})});i({id:"clojure",extensions:[".clj",".cljs",".cljc",".edn"],aliases:["clojure","Clojure"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/clojure/clojure"],e,r)})});i({id:"coffeescript",extensions:[".coffee"],aliases:["CoffeeScript","coffeescript","coffee"],mimetypes:["text/x-coffeescript","text/coffeescript"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/coffee/coffee"],e,r)})});i({id:"c",extensions:[".c",".h"],aliases:["C","c"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/cpp/cpp"],e,r)})});i({id:"cpp",extensions:[".cpp",".cc",".cxx",".hpp",".hh",".hxx"],aliases:["C++","Cpp","cpp"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/cpp/cpp"],e,r)})});i({id:"csharp",extensions:[".cs",".csx",".cake"],aliases:["C#","csharp"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/csharp/csharp"],e,r)})});i({id:"csp",extensions:[],aliases:["CSP","csp"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/csp/csp"],e,r)})});i({id:"css",extensions:[".css"],aliases:["CSS","css"],mimetypes:["text/css"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/css/css"],e,r)})});i({id:"dart",extensions:[".dart"],aliases:["Dart","dart"],mimetypes:["text/x-dart-source","text/x-dart"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/dart/dart"],e,r)})});i({id:"dockerfile",extensions:[".dockerfile"],filenames:["Dockerfile"],aliases:["Dockerfile"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/dockerfile/dockerfile"],e,r)})});i({id:"ecl",extensions:[".ecl"],aliases:["ECL","Ecl","ecl"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/ecl/ecl"],e,r)})});i({id:"elixir",extensions:[".ex",".exs"],aliases:["Elixir","elixir","ex"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/elixir/elixir"],e,r)})});i({id:"flow9",extensions:[".flow"],aliases:["Flow9","Flow","flow9","flow"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/flow9/flow9"],e,r)})});i({id:"fsharp",extensions:[".fs",".fsi",".ml",".mli",".fsx",".fsscript"],aliases:["F#","FSharp","fsharp"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/fsharp/fsharp"],e,r)})});i({id:"freemarker2",extensions:[".ftl",".ftlh",".ftlx"],aliases:["FreeMarker2","Apache FreeMarker2"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/freemarker2/freemarker2"],e,r)}).then(e=>e.TagAngleInterpolationDollar)});i({id:"freemarker2.tag-angle.interpolation-dollar",aliases:["FreeMarker2 (Angle/Dollar)","Apache FreeMarker2 (Angle/Dollar)"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/freemarker2/freemarker2"],e,r)}).then(e=>e.TagAngleInterpolationDollar)});i({id:"freemarker2.tag-bracket.interpolation-dollar",aliases:["FreeMarker2 (Bracket/Dollar)","Apache FreeMarker2 (Bracket/Dollar)"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/freemarker2/freemarker2"],e,r)}).then(e=>e.TagBracketInterpolationDollar)});i({id:"freemarker2.tag-angle.interpolation-bracket",aliases:["FreeMarker2 (Angle/Bracket)","Apache FreeMarker2 (Angle/Bracket)"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/freemarker2/freemarker2"],e,r)}).then(e=>e.TagAngleInterpolationBracket)});i({id:"freemarker2.tag-bracket.interpolation-bracket",aliases:["FreeMarker2 (Bracket/Bracket)","Apache FreeMarker2 (Bracket/Bracket)"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/freemarker2/freemarker2"],e,r)}).then(e=>e.TagBracketInterpolationBracket)});i({id:"freemarker2.tag-auto.interpolation-dollar",aliases:["FreeMarker2 (Auto/Dollar)","Apache FreeMarker2 (Auto/Dollar)"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/freemarker2/freemarker2"],e,r)}).then(e=>e.TagAutoInterpolationDollar)});i({id:"freemarker2.tag-auto.interpolation-bracket",aliases:["FreeMarker2 (Auto/Bracket)","Apache FreeMarker2 (Auto/Bracket)"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/freemarker2/freemarker2"],e,r)}).then(e=>e.TagAutoInterpolationBracket)});i({id:"go",extensions:[".go"],aliases:["Go"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/go/go"],e,r)})});i({id:"graphql",extensions:[".graphql",".gql"],aliases:["GraphQL","graphql","gql"],mimetypes:["application/graphql"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/graphql/graphql"],e,r)})});i({id:"handlebars",extensions:[".handlebars",".hbs"],aliases:["Handlebars","handlebars","hbs"],mimetypes:["text/x-handlebars-template"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/handlebars/handlebars"],e,r)})});i({id:"hcl",extensions:[".tf",".tfvars",".hcl"],aliases:["Terraform","tf","HCL","hcl"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/hcl/hcl"],e,r)})});i({id:"html",extensions:[".html",".htm",".shtml",".xhtml",".mdoc",".jsp",".asp",".aspx",".jshtm"],aliases:["HTML","htm","html","xhtml"],mimetypes:["text/html","text/x-jshtm","text/template","text/ng-template"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/html/html"],e,r)})});i({id:"ini",extensions:[".ini",".properties",".gitconfig"],filenames:["config",".gitattributes",".gitconfig",".editorconfig"],aliases:["Ini","ini"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/ini/ini"],e,r)})});i({id:"java",extensions:[".java",".jav"],aliases:["Java","java"],mimetypes:["text/x-java-source","text/x-java"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/java/java"],e,r)})});i({id:"javascript",extensions:[".js",".es6",".jsx",".mjs",".cjs"],firstLine:"^#!.*\\bnode",filenames:["jakefile"],aliases:["JavaScript","javascript","js"],mimetypes:["text/javascript"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/javascript/javascript"],e,r)})});i({id:"julia",extensions:[".jl"],aliases:["julia","Julia"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/julia/julia"],e,r)})});i({id:"kotlin",extensions:[".kt"],aliases:["Kotlin","kotlin"],mimetypes:["text/x-kotlin-source","text/x-kotlin"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/kotlin/kotlin"],e,r)})});i({id:"less",extensions:[".less"],aliases:["Less","less"],mimetypes:["text/x-less","text/less"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/less/less"],e,r)})});i({id:"lexon",extensions:[".lex"],aliases:["Lexon"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/lexon/lexon"],e,r)})});i({id:"lua",extensions:[".lua"],aliases:["Lua","lua"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/lua/lua"],e,r)})});i({id:"liquid",extensions:[".liquid",".html.liquid"],aliases:["Liquid","liquid"],mimetypes:["application/liquid"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/liquid/liquid"],e,r)})});i({id:"m3",extensions:[".m3",".i3",".mg",".ig"],aliases:["Modula-3","Modula3","modula3","m3"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/m3/m3"],e,r)})});i({id:"markdown",extensions:[".md",".markdown",".mdown",".mkdn",".mkd",".mdwn",".mdtxt",".mdtext"],aliases:["Markdown","markdown"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/markdown/markdown"],e,r)})});i({id:"mips",extensions:[".s"],aliases:["MIPS","MIPS-V"],mimetypes:["text/x-mips","text/mips","text/plaintext"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/mips/mips"],e,r)})});i({id:"msdax",extensions:[".dax",".msdax"],aliases:["DAX","MSDAX"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/msdax/msdax"],e,r)})});i({id:"mysql",extensions:[],aliases:["MySQL","mysql"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/mysql/mysql"],e,r)})});i({id:"objective-c",extensions:[".m"],aliases:["Objective-C"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/objective-c/objective-c"],e,r)})});i({id:"pascal",extensions:[".pas",".p",".pp"],aliases:["Pascal","pas"],mimetypes:["text/x-pascal-source","text/x-pascal"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/pascal/pascal"],e,r)})});i({id:"pascaligo",extensions:[".ligo"],aliases:["Pascaligo","ligo"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/pascaligo/pascaligo"],e,r)})});i({id:"perl",extensions:[".pl"],aliases:["Perl","pl"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/perl/perl"],e,r)})});i({id:"pgsql",extensions:[],aliases:["PostgreSQL","postgres","pg","postgre"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/pgsql/pgsql"],e,r)})});i({id:"php",extensions:[".php",".php4",".php5",".phtml",".ctp"],aliases:["PHP","php"],mimetypes:["application/x-php"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/php/php"],e,r)})});i({id:"pla",extensions:[".pla"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/pla/pla"],e,r)})});i({id:"postiats",extensions:[".dats",".sats",".hats"],aliases:["ATS","ATS/Postiats"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/postiats/postiats"],e,r)})});i({id:"powerquery",extensions:[".pq",".pqm"],aliases:["PQ","M","Power Query","Power Query M"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/powerquery/powerquery"],e,r)})});i({id:"powershell",extensions:[".ps1",".psm1",".psd1"],aliases:["PowerShell","powershell","ps","ps1"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/powershell/powershell"],e,r)})});i({id:"proto",extensions:[".proto"],aliases:["protobuf","Protocol Buffers"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/protobuf/protobuf"],e,r)})});i({id:"pug",extensions:[".jade",".pug"],aliases:["Pug","Jade","jade"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/pug/pug"],e,r)})});i({id:"python",extensions:[".py",".rpy",".pyw",".cpy",".gyp",".gypi"],aliases:["Python","py"],firstLine:"^#!/.*\\bpython[0-9.-]*\\b",loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/python/python"],e,r)})});i({id:"qsharp",extensions:[".qs"],aliases:["Q#","qsharp"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/qsharp/qsharp"],e,r)})});i({id:"r",extensions:[".r",".rhistory",".rmd",".rprofile",".rt"],aliases:["R","r"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/r/r"],e,r)})});i({id:"razor",extensions:[".cshtml"],aliases:["Razor","razor"],mimetypes:["text/x-cshtml"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/razor/razor"],e,r)})});i({id:"redis",extensions:[".redis"],aliases:["redis"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/redis/redis"],e,r)})});i({id:"redshift",extensions:[],aliases:["Redshift","redshift"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/redshift/redshift"],e,r)})});i({id:"restructuredtext",extensions:[".rst"],aliases:["reStructuredText","restructuredtext"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/restructuredtext/restructuredtext"],e,r)})});i({id:"ruby",extensions:[".rb",".rbx",".rjs",".gemspec",".pp"],filenames:["rakefile","Gemfile"],aliases:["Ruby","rb"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/ruby/ruby"],e,r)})});i({id:"rust",extensions:[".rs",".rlib"],aliases:["Rust","rust"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/rust/rust"],e,r)})});i({id:"sb",extensions:[".sb"],aliases:["Small Basic","sb"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/sb/sb"],e,r)})});i({id:"scala",extensions:[".scala",".sc",".sbt"],aliases:["Scala","scala","SBT","Sbt","sbt","Dotty","dotty"],mimetypes:["text/x-scala-source","text/x-scala","text/x-sbt","text/x-dotty"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/scala/scala"],e,r)})});i({id:"scheme",extensions:[".scm",".ss",".sch",".rkt"],aliases:["scheme","Scheme"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/scheme/scheme"],e,r)})});i({id:"scss",extensions:[".scss"],aliases:["Sass","sass","scss"],mimetypes:["text/x-scss","text/scss"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/scss/scss"],e,r)})});i({id:"shell",extensions:[".sh",".bash"],aliases:["Shell","sh"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/shell/shell"],e,r)})});i({id:"sol",extensions:[".sol"],aliases:["sol","solidity","Solidity"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/solidity/solidity"],e,r)})});i({id:"aes",extensions:[".aes"],aliases:["aes","sophia","Sophia"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/sophia/sophia"],e,r)})});i({id:"sparql",extensions:[".rq"],aliases:["sparql","SPARQL"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/sparql/sparql"],e,r)})});i({id:"sql",extensions:[".sql"],aliases:["SQL"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/sql/sql"],e,r)})});i({id:"st",extensions:[".st",".iecst",".iecplc",".lc3lib"],aliases:["StructuredText","scl","stl"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/st/st"],e,r)})});i({id:"swift",aliases:["Swift","swift"],extensions:[".swift"],mimetypes:["text/swift"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/swift/swift"],e,r)})});i({id:"systemverilog",extensions:[".sv",".svh"],aliases:["SV","sv","SystemVerilog","systemverilog"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/systemverilog/systemverilog"],e,r)})});i({id:"verilog",extensions:[".v",".vh"],aliases:["V","v","Verilog","verilog"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/systemverilog/systemverilog"],e,r)})});i({id:"tcl",extensions:[".tcl"],aliases:["tcl","Tcl","tcltk","TclTk","tcl/tk","Tcl/Tk"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/tcl/tcl"],e,r)})});i({id:"twig",extensions:[".twig"],aliases:["Twig","twig"],mimetypes:["text/x-twig"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/twig/twig"],e,r)})});i({id:"typescript",extensions:[".ts",".tsx"],aliases:["TypeScript","ts","typescript"],mimetypes:["text/typescript"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/typescript/typescript"],e,r)})});i({id:"vb",extensions:[".vb"],aliases:["Visual Basic","vb"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/vb/vb"],e,r)})});i({id:"xml",extensions:[".xml",".dtd",".ascx",".csproj",".config",".wxi",".wxl",".wxs",".xaml",".svg",".svgz",".opf",".xsl"],firstLine:"(\\<\\?xml.*)|(\\<svg)|(\\<\\!doctype\\s+svg)",aliases:["XML","xml"],mimetypes:["text/xml","application/xml","application/xaml+xml","application/xml-dtd"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/xml/xml"],e,r)})});i({id:"yaml",extensions:[".yaml",".yml"],aliases:["YAML","yaml","YML","yml"],mimetypes:["application/x-yaml","text/x-yaml"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/yaml/yaml"],e,r)})});})();
+return moduleExports;
+});
+
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.33.0(4b1abad427e58dbedc1215d99a0902ffc885fcd4)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
+define("vs/language/css/monaco.contribution", ["require","require","vs/editor/editor.api"],(require)=>{
+var moduleExports=(()=>{var w=Object.create;var a=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var x=Object.getPrototypeOf,I=Object.prototype.hasOwnProperty;var m=e=>a(e,"__esModule",{value:!0});var d=(e=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(e,{get:(n,r)=>(typeof require!="undefined"?require:n)[r]}):e)(function(e){if(typeof require!="undefined")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var M=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports),b=(e,n)=>{for(var r in n)a(e,r,{get:n[r],enumerable:!0})},s=(e,n,r,i)=>{if(n&&typeof n=="object"||typeof n=="function")for(let t of S(n))!I.call(e,t)&&(r||t!=="default")&&a(e,t,{get:()=>n[t],enumerable:!(i=h(n,t))||i.enumerable});return e},D=(e,n)=>s(m(a(e!=null?w(x(e)):{},"default",!n&&e&&e.__esModule?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e),O=(e=>(n,r)=>e&&e.get(n)||(r=s(m({}),n,1),e&&e.set(n,r),r))(typeof WeakMap!="undefined"?new WeakMap:0);var C=M((E,v)=>{var P=D(d("vs/editor/editor.api"));v.exports=P});var k={};b(k,{cssDefaults:()=>p,lessDefaults:()=>f,scssDefaults:()=>c});var o={};s(o,D(C()));var g=class{_onDidChange=new o.Emitter;_options;_modeConfiguration;_languageId;constructor(n,r,i){this._languageId=n,this.setOptions(r),this.setModeConfiguration(i)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this.options}get options(){return this._options}setOptions(n){this._options=n||Object.create(null),this._onDidChange.fire(this)}setDiagnosticsOptions(n){this.setOptions(n)}setModeConfiguration(n){this._modeConfiguration=n||Object.create(null),this._onDidChange.fire(this)}},l={validate:!0,lint:{compatibleVendorPrefixes:"ignore",vendorPrefix:"warning",duplicateProperties:"warning",emptyRules:"warning",importStatement:"ignore",boxModel:"ignore",universalSelector:"ignore",zeroUnits:"ignore",fontFaceProperties:"warning",hexColorLength:"error",argumentsInColorFunction:"error",unknownProperties:"warning",ieHack:"ignore",unknownVendorSpecificProperties:"ignore",propertyIgnoredDueToDisplay:"warning",important:"ignore",float:"ignore",idSelector:"ignore"},data:{useDefaultDataProvider:!0}},u={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0},p=new g("css",l,u),c=new g("scss",l,u),f=new g("less",l,u);o.languages.css={cssDefaults:p,lessDefaults:f,scssDefaults:c};function y(){return new Promise((e,n)=>{d(["vs/language/css/cssMode"],e,n)})}o.languages.onLanguage("less",()=>{y().then(e=>e.setupMode(f))});o.languages.onLanguage("scss",()=>{y().then(e=>e.setupMode(c))});o.languages.onLanguage("css",()=>{y().then(e=>e.setupMode(p))});return O(k);})();
+return moduleExports;
+});
+
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.33.0(4b1abad427e58dbedc1215d99a0902ffc885fcd4)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
+define("vs/language/html/monaco.contribution", ["require","require","vs/editor/editor.api"],(require)=>{
+var moduleExports=(()=>{var w=Object.create;var d=Object.defineProperty;var R=Object.getOwnPropertyDescriptor;var H=Object.getOwnPropertyNames;var O=Object.getPrototypeOf,_=Object.prototype.hasOwnProperty;var y=e=>d(e,"__esModule",{value:!0});var f=(e=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(e,{get:(n,t)=>(typeof require!="undefined"?require:n)[t]}):e)(function(e){if(typeof require!="undefined")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var k=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports),T=(e,n)=>{for(var t in n)d(e,t,{get:n[t],enumerable:!0})},l=(e,n,t,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of H(n))!_.call(e,o)&&(t||o!=="default")&&d(e,o,{get:()=>n[o],enumerable:!(r=R(n,o))||r.enumerable});return e},b=(e,n)=>l(y(d(e!=null?w(O(e)):{},"default",!n&&e&&e.__esModule?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e),A=(e=>(n,t)=>e&&e.get(n)||(t=l(y({}),n,1),e&&e.set(n,t),t))(typeof WeakMap!="undefined"?new WeakMap:0);var h=k((z,v)=>{var E=b(f("vs/editor/editor.api"));v.exports=E});var V={};T(V,{handlebarDefaults:()=>M,handlebarLanguageService:()=>c,htmlDefaults:()=>x,htmlLanguageService:()=>p,razorDefaults:()=>I,razorLanguageService:()=>m,registerHTMLLanguageService:()=>s});var a={};l(a,b(h()));var L=class{_onDidChange=new a.Emitter;_options;_modeConfiguration;_languageId;constructor(n,t,r){this._languageId=n,this.setOptions(t),this.setModeConfiguration(r)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get options(){return this._options}get modeConfiguration(){return this._modeConfiguration}setOptions(n){this._options=n||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(n){this._modeConfiguration=n||Object.create(null),this._onDidChange.fire(this)}},F={tabSize:4,insertSpaces:!1,wrapLineLength:120,unformatted:'default": "a, abbr, acronym, b, bdo, big, br, button, cite, code, dfn, em, i, img, input, kbd, label, map, object, q, samp, select, small, span, strong, sub, sup, textarea, tt, var',contentUnformatted:"pre",indentInnerHtml:!1,preserveNewLines:!0,maxPreserveNewLines:void 0,indentHandlebars:!1,endWithNewline:!1,extraLiners:"head, body, /html",wrapAttributes:"auto"},u={format:F,suggest:{},data:{useDefaultDataProvider:!0}};function g(e){return{completionItems:!0,hovers:!0,documentSymbols:!0,links:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,selectionRanges:!0,diagnostics:e===i,documentFormattingEdits:e===i,documentRangeFormattingEdits:e===i}}var i="html",D="handlebars",C="razor",p=s(i,u,g(i)),x=p.defaults,c=s(D,u,g(D)),M=c.defaults,m=s(C,u,g(C)),I=m.defaults;a.languages.html={htmlDefaults:x,razorDefaults:I,handlebarDefaults:M,htmlLanguageService:p,handlebarLanguageService:c,razorLanguageService:m,registerHTMLLanguageService:s};function P(){return new Promise((e,n)=>{f(["vs/language/html/htmlMode"],e,n)})}function s(e,n=u,t=g(e)){let r=new L(e,n,t),o,S=a.languages.onLanguage(e,async()=>{o=(await P()).setupMode(r)});return{defaults:r,dispose(){S.dispose(),o?.dispose(),o=void 0}}}return A(V);})();
+return moduleExports;
+});
+
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.33.0(4b1abad427e58dbedc1215d99a0902ffc885fcd4)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
+define("vs/language/json/monaco.contribution", ["require","require","vs/editor/editor.api"],(require)=>{
+var moduleExports=(()=>{var p=Object.create;var s=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var h=Object.getPrototypeOf,C=Object.prototype.hasOwnProperty;var d=e=>s(e,"__esModule",{value:!0});var g=(e=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(e,{get:(o,n)=>(typeof require!="undefined"?require:o)[n]}):e)(function(e){if(typeof require!="undefined")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var D=(e,o)=>()=>(o||e((o={exports:{}}).exports,o),o.exports),b=(e,o)=>{for(var n in o)s(e,n,{get:o[n],enumerable:!0})},r=(e,o,n,a)=>{if(o&&typeof o=="object"||typeof o=="function")for(let i of v(o))!C.call(e,i)&&(n||i!=="default")&&s(e,i,{get:()=>o[i],enumerable:!(a=y(o,i))||a.enumerable});return e},u=(e,o)=>r(d(s(e!=null?p(h(e)):{},"default",!o&&e&&e.__esModule?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e),O=(e=>(o,n)=>e&&e.get(o)||(n=r(d({}),o,1),e&&e.set(o,n),n))(typeof WeakMap!="undefined"?new WeakMap:0);var m=D((I,c)=>{var M=u(g("vs/editor/editor.api"));c.exports=M});var L={};b(L,{jsonDefaults:()=>l});var t={};r(t,u(m()));var f=class{_onDidChange=new t.Emitter;_diagnosticsOptions;_modeConfiguration;_languageId;constructor(o,n,a){this._languageId=o,this.setDiagnosticsOptions(n),this.setModeConfiguration(a)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(o){this._diagnosticsOptions=o||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(o){this._modeConfiguration=o||Object.create(null),this._onDidChange.fire(this)}},S={validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},j={documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0},l=new f("json",S,j);t.languages.json={jsonDefaults:l};function _(){return new Promise((e,o)=>{g(["vs/language/json/jsonMode"],e,o)})}t.languages.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]});t.languages.onLanguage("json",()=>{_().then(e=>e.setupMode(l))});return O(L);})();
+return moduleExports;
+});
+
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.33.0(4b1abad427e58dbedc1215d99a0902ffc885fcd4)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
+define("vs/language/typescript/monaco.contribution", ["require","require","vs/editor/editor.api"],(require)=>{
+var moduleExports=(()=>{var k=Object.create;var m=Object.defineProperty;var N=Object.getOwnPropertyDescriptor;var H=Object.getOwnPropertyNames;var R=Object.getPrototypeOf,w=Object.prototype.hasOwnProperty;var D=n=>m(n,"__esModule",{value:!0});var b=(n=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(n,{get:(e,t)=>(typeof require!="undefined"?require:e)[t]}):n)(function(n){if(typeof require!="undefined")return require.apply(this,arguments);throw new Error('Dynamic require of "'+n+'" is not supported')});var M=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),F=(n,e)=>{for(var t in e)m(n,t,{get:e[t],enumerable:!0})},g=(n,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of H(e))!w.call(n,s)&&(t||s!=="default")&&m(n,s,{get:()=>e[s],enumerable:!(o=N(e,s))||o.enumerable});return n},L=(n,e)=>g(D(m(n!=null?k(R(n)):{},"default",!e&&n&&n.__esModule?{get:()=>n.default,enumerable:!0}:{value:n,enumerable:!0})),n),W=(n=>(e,t)=>n&&n.get(e)||(t=g(D({}),e,1),n&&n.set(e,t),t))(typeof WeakMap!="undefined"?new WeakMap:0);var I=M((B,C)=>{var A=L(b("vs/editor/editor.api"));C.exports=A});var V={};F(V,{JsxEmit:()=>u,ModuleKind:()=>d,ModuleResolutionKind:()=>h,NewLineKind:()=>y,ScriptTarget:()=>f,getJavaScriptWorker:()=>S,getTypeScriptWorker:()=>P,javascriptDefaults:()=>v,typescriptDefaults:()=>x,typescriptVersion:()=>_});var E="4.5.5";var l={};g(l,L(I()));var d=(r=>(r[r.None=0]="None",r[r.CommonJS=1]="CommonJS",r[r.AMD=2]="AMD",r[r.UMD=3]="UMD",r[r.System=4]="System",r[r.ES2015=5]="ES2015",r[r.ESNext=99]="ESNext",r))(d||{}),u=(a=>(a[a.None=0]="None",a[a.Preserve=1]="Preserve",a[a.React=2]="React",a[a.ReactNative=3]="ReactNative",a[a.ReactJSX=4]="ReactJSX",a[a.ReactJSXDev=5]="ReactJSXDev",a))(u||{}),y=(t=>(t[t.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",t[t.LineFeed=1]="LineFeed",t))(y||{}),f=(i=>(i[i.ES3=0]="ES3",i[i.ES5=1]="ES5",i[i.ES2015=2]="ES2015",i[i.ES2016=3]="ES2016",i[i.ES2017=4]="ES2017",i[i.ES2018=5]="ES2018",i[i.ES2019=6]="ES2019",i[i.ES2020=7]="ES2020",i[i.ESNext=99]="ESNext",i[i.JSON=100]="JSON",i[i.Latest=99]="Latest",i))(f||{}),h=(t=>(t[t.Classic=1]="Classic",t[t.NodeJs=2]="NodeJs",t))(h||{}),O=class{_onDidChange=new l.Emitter;_onDidExtraLibsChange=new l.Emitter;_extraLibs;_removedExtraLibs;_eagerModelSync;_compilerOptions;_diagnosticsOptions;_workerOptions;_onDidExtraLibsChangeTimeout;_inlayHintsOptions;constructor(e,t,o,s){this._extraLibs=Object.create(null),this._removedExtraLibs=Object.create(null),this._eagerModelSync=!1,this.setCompilerOptions(e),this.setDiagnosticsOptions(t),this.setWorkerOptions(o),this.setInlayHintsOptions(s),this._onDidExtraLibsChangeTimeout=-1}get onDidChange(){return this._onDidChange.event}get onDidExtraLibsChange(){return this._onDidExtraLibsChange.event}get workerOptions(){return this._workerOptions}get inlayHintsOptions(){return this._inlayHintsOptions}getExtraLibs(){return this._extraLibs}addExtraLib(e,t){let o;if(typeof t>"u"?o=`ts:extralib-${Math.random().toString(36).substring(2,15)}`:o=t,this._extraLibs[o]&&this._extraLibs[o].content===e)return{dispose:()=>{}};let s=1;return this._removedExtraLibs[o]&&(s=this._removedExtraLibs[o]+1),this._extraLibs[o]&&(s=this._extraLibs[o].version+1),this._extraLibs[o]={content:e,version:s},this._fireOnDidExtraLibsChangeSoon(),{dispose:()=>{let p=this._extraLibs[o];!p||p.version===s&&(delete this._extraLibs[o],this._removedExtraLibs[o]=s,this._fireOnDidExtraLibsChangeSoon())}}}setExtraLibs(e){for(let t in this._extraLibs)this._removedExtraLibs[t]=this._extraLibs[t].version;if(this._extraLibs=Object.create(null),e&&e.length>0)for(let t of e){let o=t.filePath||`ts:extralib-${Math.random().toString(36).substring(2,15)}`,s=t.content,p=1;this._removedExtraLibs[o]&&(p=this._removedExtraLibs[o]+1),this._extraLibs[o]={content:s,version:p}}this._fireOnDidExtraLibsChangeSoon()}_fireOnDidExtraLibsChangeSoon(){this._onDidExtraLibsChangeTimeout===-1&&(this._onDidExtraLibsChangeTimeout=window.setTimeout(()=>{this._onDidExtraLibsChangeTimeout=-1,this._onDidExtraLibsChange.fire(void 0)},0))}getCompilerOptions(){return this._compilerOptions}setCompilerOptions(e){this._compilerOptions=e||Object.create(null),this._onDidChange.fire(void 0)}getDiagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setWorkerOptions(e){this._workerOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setInlayHintsOptions(e){this._inlayHintsOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setMaximumWorkerIdleTime(e){}setEagerModelSync(e){this._eagerModelSync=e}getEagerModelSync(){return this._eagerModelSync}},_=E,x=new O({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{}),v=new O({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{}),P=()=>c().then(n=>n.getTypeScriptWorker()),S=()=>c().then(n=>n.getJavaScriptWorker());l.languages.typescript={ModuleKind:d,JsxEmit:u,NewLineKind:y,ScriptTarget:f,ModuleResolutionKind:h,typescriptVersion:_,typescriptDefaults:x,javascriptDefaults:v,getTypeScriptWorker:P,getJavaScriptWorker:S};function c(){return new Promise((n,e)=>{b(["vs/language/typescript/tsMode"],n,e)})}l.languages.onLanguage("typescript",()=>c().then(n=>n.setupTypeScript(x)));l.languages.onLanguage("javascript",()=>c().then(n=>n.setupJavaScript(v)));return W(V);})();
+return moduleExports;
+});
+
+define("vs/editor/editor.main", ["vs/editor/edcore.main","vs/basic-languages/monaco.contribution","vs/language/css/monaco.contribution","vs/language/html/monaco.contribution","vs/language/json/monaco.contribution","vs/language/typescript/monaco.contribution"], function(api) { return api; });
+//# sourceMappingURL=../../../min-maps/vs/editor/editor.main.js.map
\ No newline at end of file
diff --git a/examples/tour-assets/monaco/editor/editor.main.nls.js b/examples/tour-assets/monaco/editor/editor.main.nls.js
new file mode 100644
index 0000000000000000000000000000000000000000..16b31ced915ae7cda3e5508fe3f12891e5f3ffea
--- /dev/null
+++ b/examples/tour-assets/monaco/editor/editor.main.nls.js
@@ -0,0 +1,27 @@
+/*!-----------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.33.0(c722ca6c7eed3d7987c0d5c3df5c45f6b15e77d1)
+ * Released under the MIT license
+ * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
+ *-----------------------------------------------------------*/define("vs/editor/editor.main.nls",{"vs/base/browser/ui/actionbar/actionViewItems":["{0} ({1})"],"vs/base/browser/ui/findinput/findInput":["input"],"vs/base/browser/ui/findinput/findInputCheckboxes":["Match Case","Match Whole Word","Use Regular Expression"],"vs/base/browser/ui/findinput/replaceInput":["input","Preserve Case"],"vs/base/browser/ui/iconLabel/iconLabelHover":["Loading..."],"vs/base/browser/ui/inputbox/inputBox":["Error: {0}","Warning: {0}","Info: {0}","for history"],"vs/base/browser/ui/keybindingLabel/keybindingLabel":["Unbound"],"vs/base/browser/ui/tree/abstractTree":["Clear","Disable Filter on Type","Enable Filter on Type","No elements found","Matched {0} out of {1} elements"],"vs/base/common/actions":["(empty)"],"vs/base/common/errorMessage":["{0}: {1}","A system error occurred ({0})","An unknown error occurred. Please consult the log for more details.","An unknown error occurred. Please consult the log for more details.","{0} ({1} errors in total)","An unknown error occurred. Please consult the log for more details."],"vs/base/common/keybindingLabels":["Ctrl","Shift","Alt","Windows","Ctrl","Shift","Alt","Super","Control","Shift","Option","Command","Control","Shift","Alt","Windows","Control","Shift","Alt","Super"],"vs/base/parts/quickinput/browser/quickInput":["Back","Press 'Enter' to confirm your input or 'Escape' to cancel","{0}/{1}","Type to narrow down results.","{0} Results","{0} Selected","OK","Custom","Back ({0})","Back"],"vs/base/parts/quickinput/browser/quickInputList":["Quick Input"],"vs/editor/browser/controller/textAreaHandler":["editor","The editor is not accessible at this time. Press {0} for options."],"vs/editor/browser/coreCommands":["Stick to the end even when going to longer lines","Stick to the end even when going to longer lines","Removed secondary cursors"],"vs/editor/browser/editorExtensions":["&&Undo","Undo","&&Redo","Redo","&&Select All","Select All"],"vs/editor/browser/widget/codeEditorWidget":["The number of cursors has been limited to {0}."],"vs/editor/browser/widget/diffEditorWidget":["Line decoration for inserts in the diff editor.","Line decoration for removals in the diff editor.","Cannot compare files because one file is too large."],"vs/editor/browser/widget/diffReview":["Icon for 'Insert' in diff review.","Icon for 'Remove' in diff review.","Icon for 'Close' in diff review.","Close","no lines changed","1 line changed","{0} lines changed","Difference {0} of {1}: original line {2}, {3}, modified line {4}, {5}","blank","{0} unchanged line {1}","{0} original line {1} modified line {2}","+ {0} modified line {1}","- {0} original line {1}","Go to Next Difference","Go to Previous Difference"],"vs/editor/browser/widget/inlineDiffMargin":["Copy deleted lines","Copy deleted line","Copy changed lines","Copy changed line","Copy deleted line ({0})","Copy changed line ({0})","Revert this change","Copy deleted line ({0})","Copy changed line ({0})"],"vs/editor/common/config/editorConfigurationSchema":["Editor","The number of spaces a tab is equal to. This setting is overridden based on the file contents when `#editor.detectIndentation#` is on.","Insert spaces when pressing `Tab`. This setting is overridden based on the file contents when `#editor.detectIndentation#` is on.","Controls whether `#editor.tabSize#` and `#editor.insertSpaces#` will be automatically detected when a file is opened based on the file contents.","Remove trailing auto inserted whitespace.","Special handling for large files to disable certain memory intensive features.","Controls whether completions should be computed based on words in the document.","Only suggest words from the active document.","Suggest words from all open documents of the same language.","Suggest words from all open documents.","Controls from which documents word based completions are computed.","Semantic highlighting enabled for all color themes.","Semantic highlighting disabled for all color themes.","Semantic highlighting is configured by the current color theme's `semanticHighlighting` setting.","Controls whether the semanticHighlighting is shown for the languages that support it.","Keep peek editors open even when double clicking their content or when hitting `Escape`.","Lines above this length will not be tokenized for performance reasons","Defines the bracket symbols that increase or decrease the indentation.","The opening bracket character or string sequence.","The closing bracket character or string sequence.","Defines the bracket pairs that are colorized by their nesting level if bracket pair colorization is enabled.","The opening bracket character or string sequence.","The closing bracket character or string sequence.","Timeout in milliseconds after which diff computation is cancelled. Use 0 for no timeout.","Maximum file size in MB for which to compute diffs. Use 0 for no limit.","Controls whether the diff editor shows the diff side by side or inline.","When enabled, the diff editor ignores changes in leading or trailing whitespace.","Controls whether the diff editor shows +/- indicators for added/removed changes.","Controls whether the editor shows CodeLens.","Lines will never wrap.","Lines will wrap at the viewport width.","Lines will wrap according to the `#editor.wordWrap#` setting."],"vs/editor/common/config/editorOptions":["The editor will use platform APIs to detect when a Screen Reader is attached.","The editor will be permanently optimized for usage with a Screen Reader. Word wrapping will be disabled.","The editor will never be optimized for usage with a Screen Reader.","Controls whether the editor should run in a mode where it is optimized for screen readers. Setting to on will disable word wrapping.","Controls whether a space character is inserted when commenting.","Controls if empty lines should be ignored with toggle, add or remove actions for line comments.","Controls whether copying without a selection copies the current line.","Controls whether the cursor should jump to find matches while typing.","Never seed search string from the editor selection.","Always seed search string from the editor selection, including word at cursor position.","Only seed search string from the editor selection.","Controls whether the search string in the Find Widget is seeded from the editor selection.","Never turn on Find in Selection automatically (default).","Always turn on Find in Selection automatically.","Turn on Find in Selection automatically when multiple lines of content are selected.","Controls the condition for turning on Find in Selection automatically.","Controls whether the Find Widget should read or modify the shared find clipboard on macOS.","Controls whether the Find Widget should add extra lines on top of the editor. When true, you can scroll beyond the first line when the Find Widget is visible.","Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found.","Enables/Disables font ligatures ('calt' and 'liga' font features). Change this to a string for fine-grained control of the 'font-feature-settings' CSS property.","Explicit 'font-feature-settings' CSS property. A boolean can be passed instead if one only needs to turn on/off ligatures.","Configures font ligatures or font features. Can be either a boolean to enable/disable ligatures or a string for the value of the CSS 'font-feature-settings' property.","Controls the font size in pixels.",'Only "normal" and "bold" keywords or numbers between 1 and 1000 are allowed.','Controls the font weight. Accepts "normal" and "bold" keywords or numbers between 1 and 1000.',"Show peek view of the results (default)","Go to the primary result and show a peek view","Go to the primary result and enable peek-less navigation to others","This setting is deprecated, please use separate settings like 'editor.editor.gotoLocation.multipleDefinitions' or 'editor.editor.gotoLocation.multipleImplementations' instead.","Controls the behavior the 'Go to Definition'-command when multiple target locations exist.","Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist.","Controls the behavior the 'Go to Declaration'-command when multiple target locations exist.","Controls the behavior the 'Go to Implementations'-command when multiple target locations exist.","Controls the behavior the 'Go to References'-command when multiple target locations exist.","Alternative command id that is being executed when the result of 'Go to Definition' is the current location.","Alternative command id that is being executed when the result of 'Go to Type Definition' is the current location.","Alternative command id that is being executed when the result of 'Go to Declaration' is the current location.","Alternative command id that is being executed when the result of 'Go to Implementation' is the current location.","Alternative command id that is being executed when the result of 'Go to Reference' is the current location.","Controls whether the hover is shown.","Controls the delay in milliseconds after which the hover is shown.","Controls whether the hover should remain visible when mouse is moved over it.","Prefer showing hovers above the line, if there's space.","Enables the code action lightbulb in the editor.","Enables the inlay hints in the editor.","Controls font size of inlay hints in the editor. A default of 90% of `#editor.fontSize#` is used when the configured value is less than `5` or greater than the editor font size.","Controls font family of inlay hints in the editor. When set to empty, the `#editor.fontFamily#` is used.",`Controls the line height. 
+ - Use 0 to automatically compute the line height from the font size.
+ - Values between 0 and 8 will be used as a multiplier with the font size.
+ - Values greater than or equal to 8 will be used as effective values.`,"Controls whether the minimap is shown.","The minimap has the same size as the editor contents (and might scroll).","The minimap will stretch or shrink as necessary to fill the height of the editor (no scrolling).","The minimap will shrink as necessary to never be larger than the editor (no scrolling).","Controls the size of the minimap.","Controls the side where to render the minimap.","Controls when the minimap slider is shown.","Scale of content drawn in the minimap: 1, 2 or 3.","Render the actual characters on a line as opposed to color blocks.","Limit the width of the minimap to render at most a certain number of columns.","Controls the amount of space between the top edge of the editor and the first line.","Controls the amount of space between the bottom edge of the editor and the last line.","Enables a pop-up that shows parameter documentation and type information as you type.","Controls whether the parameter hints menu cycles or closes when reaching the end of the list.","Enable quick suggestions inside strings.","Enable quick suggestions inside comments.","Enable quick suggestions outside of strings and comments.","Controls whether suggestions should automatically show up while typing.","Line numbers are not rendered.","Line numbers are rendered as absolute number.","Line numbers are rendered as distance in lines to cursor position.","Line numbers are rendered every 10 lines.","Controls the display of line numbers.","Number of monospace characters at which this editor ruler will render.","Color of this editor ruler.","Render vertical rulers after a certain number of monospace characters. Use multiple values for multiple rulers. No rulers are drawn if array is empty.","The vertical scrollbar will be visible only when necessary.","The vertical scrollbar will always be visible.","The vertical scrollbar will always be hidden.","Controls the visibility of the vertical scrollbar.","The horizontal scrollbar will be visible only when necessary.","The horizontal scrollbar will always be visible.","The horizontal scrollbar will always be hidden.","Controls the visibility of the horizontal scrollbar.","The width of the vertical scrollbar.","The height of the horizontal scrollbar.","Controls whether clicks scroll by page or jump to click position.","Controls whether all non-basic ASCII characters are highlighted. Only characters between U+0020 and U+007E, tab, line-feed and carriage-return are considered basic ASCII.","Controls whether characters that just reserve space or have no width at all are highlighted.","Controls whether characters are highlighted that can be confused with basic ASCII characters, except those that are common in the current user locale.","Controls whether characters in comments should also be subject to unicode highlighting.","Controls whether characters in strings should also be subject to unicode highlighting.","Defines allowed characters that are not being highlighted.","Unicode characters that are common in allowed locales are not being highlighted.","Controls whether to automatically show inline suggestions in the editor.","Controls whether bracket pair colorization is enabled or not. Use 'workbench.colorCustomizations' to override the bracket highlight colors.","Enables bracket pair guides.","Enables bracket pair guides only for the active bracket pair.","Disables bracket pair guides.","Controls whether bracket pair guides are enabled or not.","Enables horizontal guides as addition to vertical bracket pair guides.","Enables horizontal guides only for the active bracket pair.","Disables horizontal bracket pair guides.","Controls whether horizontal bracket pair guides are enabled or not.","Controls whether the editor should highlight the active bracket pair.","Controls whether the editor should render indent guides.","Controls whether the editor should highlight the active indent guide.","Insert suggestion without overwriting text right of the cursor.","Insert suggestion and overwrite text right of the cursor.","Controls whether words are overwritten when accepting completions. Note that this depends on extensions opting into this feature.","Controls whether filtering and sorting suggestions accounts for small typos.","Controls whether sorting favors words that appear close to the cursor.","Controls whether remembered suggestion selections are shared between multiple workspaces and windows (needs `#editor.suggestSelection#`).","Controls whether an active snippet prevents quick suggestions.","Controls whether to show or hide icons in suggestions.","Controls the visibility of the status bar at the bottom of the suggest widget.","Controls whether to preview the suggestion outcome in the editor.","Controls whether suggest details show inline with the label or only in the details widget","This setting is deprecated. The suggest widget can now be resized.","This setting is deprecated, please use separate settings like 'editor.suggest.showKeywords' or 'editor.suggest.showSnippets' instead.","When enabled IntelliSense shows `method`-suggestions.","When enabled IntelliSense shows `function`-suggestions.","When enabled IntelliSense shows `constructor`-suggestions.","When enabled IntelliSense shows `deprecated`-suggestions.","When enabled IntelliSense shows `field`-suggestions.","When enabled IntelliSense shows `variable`-suggestions.","When enabled IntelliSense shows `class`-suggestions.","When enabled IntelliSense shows `struct`-suggestions.","When enabled IntelliSense shows `interface`-suggestions.","When enabled IntelliSense shows `module`-suggestions.","When enabled IntelliSense shows `property`-suggestions.","When enabled IntelliSense shows `event`-suggestions.","When enabled IntelliSense shows `operator`-suggestions.","When enabled IntelliSense shows `unit`-suggestions.","When enabled IntelliSense shows `value`-suggestions.","When enabled IntelliSense shows `constant`-suggestions.","When enabled IntelliSense shows `enum`-suggestions.","When enabled IntelliSense shows `enumMember`-suggestions.","When enabled IntelliSense shows `keyword`-suggestions.","When enabled IntelliSense shows `text`-suggestions.","When enabled IntelliSense shows `color`-suggestions.","When enabled IntelliSense shows `file`-suggestions.","When enabled IntelliSense shows `reference`-suggestions.","When enabled IntelliSense shows `customcolor`-suggestions.","When enabled IntelliSense shows `folder`-suggestions.","When enabled IntelliSense shows `typeParameter`-suggestions.","When enabled IntelliSense shows `snippet`-suggestions.","When enabled IntelliSense shows `user`-suggestions.","When enabled IntelliSense shows `issues`-suggestions.","Whether leading and trailing whitespace should always be selected.","Controls whether suggestions should be accepted on commit characters. For example, in JavaScript, the semi-colon (`;`) can be a commit character that accepts a suggestion and types that character.","Only accept a suggestion with `Enter` when it makes a textual change.","Controls whether suggestions should be accepted on `Enter`, in addition to `Tab`. Helps to avoid ambiguity between inserting new lines or accepting suggestions.","Controls the number of lines in the editor that can be read out by a screen reader at once. When we detect a screen reader we automatically set the default to be 500. Warning: this has a performance implication for numbers larger than the default.","Editor content","Use language configurations to determine when to autoclose brackets.","Autoclose brackets only when the cursor is to the left of whitespace.","Controls whether the editor should automatically close brackets after the user adds an opening bracket.","Remove adjacent closing quotes or brackets only if they were automatically inserted.","Controls whether the editor should remove adjacent closing quotes or brackets when deleting.","Type over closing quotes or brackets only if they were automatically inserted.","Controls whether the editor should type over closing quotes or brackets.","Use language configurations to determine when to autoclose quotes.","Autoclose quotes only when the cursor is to the left of whitespace.","Controls whether the editor should automatically close quotes after the user adds an opening quote.","The editor will not insert indentation automatically.","The editor will keep the current line's indentation.","The editor will keep the current line's indentation and honor language defined brackets.","The editor will keep the current line's indentation, honor language defined brackets and invoke special onEnterRules defined by languages.","The editor will keep the current line's indentation, honor language defined brackets, invoke special onEnterRules defined by languages, and honor indentationRules defined by languages.","Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.","Use language configurations to determine when to automatically surround selections.","Surround with quotes but not brackets.","Surround with brackets but not quotes.","Controls whether the editor should automatically surround selections when typing quotes or brackets.","Emulate selection behavior of tab characters when using spaces for indentation. Selection will stick to tab stops.","Controls whether the editor shows CodeLens.","Controls the font family for CodeLens.","Controls the font size in pixels for CodeLens. When set to `0`, 90% of `#editor.fontSize#` is used.","Controls whether the editor should render the inline color decorators and color picker.","Enable that the selection with the mouse and keys is doing column selection.","Controls whether syntax highlighting should be copied into the clipboard.","Control the cursor animation style.","Controls whether the smooth caret animation should be enabled.","Controls the cursor style.","Controls the minimal number of visible leading and trailing lines surrounding the cursor. Known as 'scrollOff' or 'scrollOffset' in some other editors.","`cursorSurroundingLines` is enforced only when triggered via the keyboard or API.","`cursorSurroundingLines` is enforced always.","Controls when `cursorSurroundingLines` should be enforced.","Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.","Controls whether the editor should allow moving selections via drag and drop.","Scrolling speed multiplier when pressing `Alt`.","Controls whether the editor has code folding enabled.","Use a language-specific folding strategy if available, else the indentation-based one.","Use the indentation-based folding strategy.","Controls the strategy for computing folding ranges.","Controls whether the editor should highlight folded ranges.","Controls whether the editor automatically collapses import ranges.","The maximum number of foldable regions. Increasing this value may result in the editor becoming less responsive when the current source has a large number of foldable regions.","Controls whether clicking on the empty content after a folded line will unfold the line.","Controls the font family.","Controls whether the editor should automatically format the pasted content. A formatter must be available and the formatter should be able to format a range in a document.","Controls whether the editor should automatically format the line after typing.","Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.","Controls whether the cursor should be hidden in the overview ruler.","Controls the letter spacing in pixels.","Controls whether the editor has linked editing enabled. Depending on the language, related symbols, e.g. HTML tags, are updated while editing.","Controls whether the editor should detect links and make them clickable.","Highlight matching brackets.","A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.","Zoom the font of the editor when using mouse wheel and holding `Ctrl`.","Merge multiple cursors when they are overlapping.","Maps to `Control` on Windows and Linux and to `Command` on macOS.","Maps to `Alt` on Windows and Linux and to `Option` on macOS.","The modifier to be used to add multiple cursors with the mouse. The Go to Definition and Open Link mouse gestures will adapt such that they do not conflict with the multicursor modifier. [Read more](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).","Each cursor pastes a single line of the text.","Each cursor pastes the full text.","Controls pasting when the line count of the pasted text matches the cursor count.","Controls whether the editor should highlight semantic symbol occurrences.","Controls whether a border should be drawn around the overview ruler.","Focus the tree when opening peek","Focus the editor when opening peek","Controls whether to focus the inline editor or the tree in the peek widget.","Controls whether the Go to Definition mouse gesture always opens the peek widget.","Controls the delay in milliseconds after which quick suggestions will show up.","Controls whether the editor auto renames on type.","Deprecated, use `editor.linkedEditing` instead.","Controls whether the editor should render control characters.","Render last line number when the file ends with a newline.","Highlights both the gutter and the current line.","Controls how the editor should render the current line highlight.","Controls if the editor should render the current line highlight only when the editor is focused.","Render whitespace characters except for single spaces between words.","Render whitespace characters only on selected text.","Render only trailing whitespace characters.","Controls how the editor should render whitespace characters.","Controls whether selections should have rounded corners.","Controls the number of extra characters beyond which the editor will scroll horizontally.","Controls whether the editor will scroll beyond the last line.","Scroll only along the predominant axis when scrolling both vertically and horizontally at the same time. Prevents horizontal drift when scrolling vertically on a trackpad.","Controls whether the Linux primary clipboard should be supported.","Controls whether the editor should highlight matches similar to the selection.","Always show the folding controls.","Only show the folding controls when the mouse is over the gutter.","Controls when the folding controls on the gutter are shown.","Controls fading out of unused code.","Controls strikethrough deprecated variables.","Show snippet suggestions on top of other suggestions.","Show snippet suggestions below other suggestions.","Show snippets suggestions with other suggestions.","Do not show snippet suggestions.","Controls whether snippets are shown with other suggestions and how they are sorted.","Controls whether the editor will scroll using an animation.","Font size for the suggest widget. When set to `0`, the value of `#editor.fontSize#` is used.","Line height for the suggest widget. When set to `0`, the value of `#editor.lineHeight#` is used. The minimum value is 8.","Controls whether suggestions should automatically show up when typing trigger characters.","Always select the first suggestion.","Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently.","Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.","Controls how suggestions are pre-selected when showing the suggest list.","Tab complete will insert the best matching suggestion when pressing tab.","Disable tab completions.","Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled.","Enables tab completions.","Unusual line terminators are automatically removed.","Unusual line terminators are ignored.","Unusual line terminators prompt to be removed.","Remove unusual line terminators that might cause problems.","Inserting and deleting whitespace follows tab stops.","Characters that will be used as word separators when doing word related navigations or operations.","Lines will never wrap.","Lines will wrap at the viewport width.","Lines will wrap at `#editor.wordWrapColumn#`.","Lines will wrap at the minimum of viewport and `#editor.wordWrapColumn#`.","Controls how lines should wrap.","Controls the wrapping column of the editor when `#editor.wordWrap#` is `wordWrapColumn` or `bounded`.","No indentation. Wrapped lines begin at column 1.","Wrapped lines get the same indentation as the parent.","Wrapped lines get +1 indentation toward the parent.","Wrapped lines get +2 indentation toward the parent.","Controls the indentation of wrapped lines.","Assumes that all characters are of the same width. This is a fast algorithm that works correctly for monospace fonts and certain scripts (like Latin characters) where glyphs are of equal width.","Delegates wrapping points computation to the browser. This is a slow algorithm, that might cause freezes for large files, but it works correctly in all cases.","Controls the algorithm that computes wrapping points."],"vs/editor/common/core/editorColorRegistry":["Background color for the highlight of line at the cursor position.","Background color for the border around the line at the cursor position.","Background color of highlighted ranges, like by quick open and find features. The color must not be opaque so as not to hide underlying decorations.","Background color of the border around highlighted ranges.","Background color of highlighted symbol, like for go to definition or go next/previous symbol. The color must not be opaque so as not to hide underlying decorations.","Background color of the border around highlighted symbols.","Color of the editor cursor.","The background color of the editor cursor. Allows customizing the color of a character overlapped by a block cursor.","Color of whitespace characters in the editor.","Color of the editor indentation guides.","Color of the active editor indentation guides.","Color of editor line numbers.","Color of editor active line number","Id is deprecated. Use 'editorLineNumber.activeForeground' instead.","Color of editor active line number","Color of the editor rulers.","Foreground color of editor CodeLens","Background color behind matching brackets","Color for matching brackets boxes","Color of the overview ruler border.","Background color of the editor overview ruler. Only used when the minimap is enabled and placed on the right side of the editor.","Background color of the editor gutter. The gutter contains the glyph margins and the line numbers.","Border color of unnecessary (unused) source code in the editor.",`Opacity of unnecessary (unused) source code in the editor. For example, "#000000c0" will render the code with 75% opacity. For high contrast themes, use the  'editorUnnecessaryCode.border' theme color to underline unnecessary code instead of fading it out.`,"Border color of ghost text in the editor.","Foreground color of the ghost text in the editor.","Background color of the ghost text in the editor.","Overview ruler marker color for range highlights. The color must not be opaque so as not to hide underlying decorations.","Overview ruler marker color for errors.","Overview ruler marker color for warnings.","Overview ruler marker color for infos.","Foreground color of brackets (1). Requires enabling bracket pair colorization.","Foreground color of brackets (2). Requires enabling bracket pair colorization.","Foreground color of brackets (3). Requires enabling bracket pair colorization.","Foreground color of brackets (4). Requires enabling bracket pair colorization.","Foreground color of brackets (5). Requires enabling bracket pair colorization.","Foreground color of brackets (6). Requires enabling bracket pair colorization.","Foreground color of unexpected brackets.","Background color of inactive bracket pair guides (1). Requires enabling bracket pair guides.","Background color of inactive bracket pair guides (2). Requires enabling bracket pair guides.","Background color of inactive bracket pair guides (3). Requires enabling bracket pair guides.","Background color of inactive bracket pair guides (4). Requires enabling bracket pair guides.","Background color of inactive bracket pair guides (5). Requires enabling bracket pair guides.","Background color of inactive bracket pair guides (6). Requires enabling bracket pair guides.","Background color of active bracket pair guides (1). Requires enabling bracket pair guides.","Background color of active bracket pair guides (2). Requires enabling bracket pair guides.","Background color of active bracket pair guides (3). Requires enabling bracket pair guides.","Background color of active bracket pair guides (4). Requires enabling bracket pair guides.","Background color of active bracket pair guides (5). Requires enabling bracket pair guides.","Background color of active bracket pair guides (6). Requires enabling bracket pair guides.","Border color used to highlight unicode characters."],"vs/editor/common/editorContextKeys":["Whether the editor text has focus (cursor is blinking)","Whether the editor or an editor widget has focus (e.g. focus is in the find widget)","Whether an editor or a rich text input has focus (cursor is blinking)","Whether the editor is read only","Whether the context is a diff editor","Whether `editor.columnSelection` is enabled","Whether the editor has text selected","Whether the editor has multiple selections","Whether `Tab` will move focus out of the editor","Whether the editor hover is visible","Whether the editor is part of a larger editor (e.g. notebooks)","The language identifier of the editor","Whether the editor has a completion item provider","Whether the editor has a code actions provider","Whether the editor has a code lens provider","Whether the editor has a definition provider","Whether the editor has a declaration provider","Whether the editor has an implementation provider","Whether the editor has a type definition provider","Whether the editor has a hover provider","Whether the editor has a document highlight provider","Whether the editor has a document symbol provider","Whether the editor has a reference provider","Whether the editor has a rename provider","Whether the editor has a signature help provider","Whether the editor has an inline hints provider","Whether the editor has a document formatting provider","Whether the editor has a document selection formatting provider","Whether the editor has multiple document formatting providers","Whether the editor has multiple document selection formatting providers"],"vs/editor/common/languages/modesRegistry":["Plain Text"],"vs/editor/common/model/editStack":["Typing"],"vs/editor/common/standaloneStrings":["No selection","Line {0}, Column {1} ({2} selected)","Line {0}, Column {1}","{0} selections ({1} characters selected)","{0} selections","Now changing the setting `accessibilitySupport` to 'on'.","Now opening the Editor Accessibility documentation page."," in a read-only pane of a diff editor."," in a pane of a diff editor."," in a read-only code editor"," in a code editor","To configure the editor to be optimized for usage with a Screen Reader press Command+E now.","To configure the editor to be optimized for usage with a Screen Reader press Control+E now.","The editor is configured to be optimized for usage with a Screen Reader.","The editor is configured to never be optimized for usage with a Screen Reader, which is not the case at this time.","Pressing Tab in the current editor will move focus to the next focusable element. Toggle this behavior by pressing {0}.","Pressing Tab in the current editor will move focus to the next focusable element. The command {0} is currently not triggerable by a keybinding.","Pressing Tab in the current editor will insert the tab character. Toggle this behavior by pressing {0}.","Pressing Tab in the current editor will insert the tab character. The command {0} is currently not triggerable by a keybinding.","Press Command+H now to open a browser window with more information related to editor accessibility.","Press Control+H now to open a browser window with more information related to editor accessibility.","You can dismiss this tooltip and return to the editor by pressing Escape or Shift+Escape.","Show Accessibility Help","Developer: Inspect Tokens","Go to Line/Column...","Show all Quick Access Providers","Command Palette","Show And Run Commands","Go to Symbol...","Go to Symbol by Category...","Editor content","Press Alt+F1 for Accessibility Options.","Toggle High Contrast Theme","Made {0} edits in {1} files"],"vs/editor/contrib/anchorSelect/browser/anchorSelect":["Selection Anchor","Anchor set at {0}:{1}","Set Selection Anchor","Go to Selection Anchor","Select from Anchor to Cursor","Cancel Selection Anchor"],"vs/editor/contrib/bracketMatching/browser/bracketMatching":["Overview ruler marker color for matching brackets.","Go to Bracket","Select to Bracket","Go to &&Bracket"],"vs/editor/contrib/caretOperations/browser/caretOperations":["Move Selected Text Left","Move Selected Text Right"],"vs/editor/contrib/caretOperations/browser/transpose":["Transpose Letters"],"vs/editor/contrib/clipboard/browser/clipboard":["Cu&&t","Cut","Cut","Cut","&&Copy","Copy","Copy","Copy","Copy As","Copy As","&&Paste","Paste","Paste","Paste","Copy With Syntax Highlighting"],"vs/editor/contrib/codeAction/browser/codeActionCommands":["Kind of the code action to run.","Controls when the returned actions are applied.","Always apply the first returned code action.","Apply the first returned code action if it is the only one.","Do not apply the returned code actions.","Controls if only preferred code actions should be returned.","An unknown error occurred while applying the code action","Quick Fix...","No code actions available","No preferred code actions for '{0}' available","No code actions for '{0}' available","No preferred code actions available","No code actions available","Refactor...","No preferred refactorings for '{0}' available","No refactorings for '{0}' available","No preferred refactorings available","No refactorings available","Source Action...","No preferred source actions for '{0}' available","No source actions for '{0}' available","No preferred source actions available","No source actions available","Organize Imports","No organize imports action available","Fix All","No fix all action available","Auto Fix...","No auto fixes available"],"vs/editor/contrib/codeAction/browser/lightBulbWidget":["Show Code Actions. Preferred Quick Fix Available ({0})","Show Code Actions ({0})","Show Code Actions"],"vs/editor/contrib/codelens/browser/codelensController":["Show CodeLens Commands For Current Line"],"vs/editor/contrib/colorPicker/browser/colorPickerWidget":["Click to toggle color options (rgb/hsl/hex)"],"vs/editor/contrib/comment/browser/comment":["Toggle Line Comment","&&Toggle Line Comment","Add Line Comment","Remove Line Comment","Toggle Block Comment","Toggle &&Block Comment"],"vs/editor/contrib/contextmenu/browser/contextmenu":["Show Editor Context Menu"],"vs/editor/contrib/cursorUndo/browser/cursorUndo":["Cursor Undo","Cursor Redo"],"vs/editor/contrib/editorState/browser/keybindingCancellation":["Whether the editor runs a cancellable operation, e.g. like 'Peek References'"],"vs/editor/contrib/find/browser/findController":["Find","&&Find",`Overrides "Use Regular Expression" flag.
+The flag will not be saved for the future.
+0: Do Nothing
+1: True
+2: False`,`Overrides "Match Whole Word" flag.
+The flag will not be saved for the future.
+0: Do Nothing
+1: True
+2: False`,`Overrides "Math Case" flag.
+The flag will not be saved for the future.
+0: Do Nothing
+1: True
+2: False`,`Overrides "Preserve Case" flag.
+The flag will not be saved for the future.
+0: Do Nothing
+1: True
+2: False`,"Find With Arguments","Find With Selection","Find Next","Find Previous","Find Next Selection","Find Previous Selection","Replace","&&Replace"],"vs/editor/contrib/find/browser/findWidget":["Icon for 'Find in Selection' in the editor find widget.","Icon to indicate that the editor find widget is collapsed.","Icon to indicate that the editor find widget is expanded.","Icon for 'Replace' in the editor find widget.","Icon for 'Replace All' in the editor find widget.","Icon for 'Find Previous' in the editor find widget.","Icon for 'Find Next' in the editor find widget.","Find","Find","Previous Match","Next Match","Find in Selection","Close","Replace","Replace","Replace","Replace All","Toggle Replace","Only the first {0} results are highlighted, but all find operations work on the entire text.","{0} of {1}","No results","{0} found","{0} found for '{1}'","{0} found for '{1}', at {2}","{0} found for '{1}'","Ctrl+Enter now inserts line break instead of replacing all. You can modify the keybinding for editor.action.replaceAll to override this behavior."],"vs/editor/contrib/folding/browser/folding":[`The number of foldable regions is limited to a maximum of {0}. Increase configuration option ['Folding Maximum Regions'](command:workbench.action.openSettings?["editor.foldingMaximumRegions"]) to enable more.`,"Unfold","Unfold Recursively","Fold","Toggle Fold","Fold Recursively","Fold All Block Comments","Fold All Regions","Unfold All Regions","Fold All Regions Except Selected","Unfold All Regions Except Selected","Fold All","Unfold All","Go to Parent Fold","Go to Previous Folding Range","Go to Next Folding Range","Fold Level {0}","Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations.","Color of the folding control in the editor gutter."],"vs/editor/contrib/folding/browser/foldingDecorations":["Icon for expanded ranges in the editor glyph margin.","Icon for collapsed ranges in the editor glyph margin."],"vs/editor/contrib/fontZoom/browser/fontZoom":["Editor Font Zoom In","Editor Font Zoom Out","Editor Font Zoom Reset"],"vs/editor/contrib/format/browser/format":["Made 1 formatting edit on line {0}","Made {0} formatting edits on line {1}","Made 1 formatting edit between lines {0} and {1}","Made {0} formatting edits between lines {1} and {2}"],"vs/editor/contrib/format/browser/formatActions":["Format Document","Format Selection"],"vs/editor/contrib/gotoError/browser/gotoError":["Go to Next Problem (Error, Warning, Info)","Icon for goto next marker.","Go to Previous Problem (Error, Warning, Info)","Icon for goto previous marker.","Go to Next Problem in Files (Error, Warning, Info)","Next &&Problem","Go to Previous Problem in Files (Error, Warning, Info)","Previous &&Problem"],"vs/editor/contrib/gotoError/browser/gotoErrorWidget":["Error","Warning","Info","Hint","{0} at {1}. ","{0} of {1} problems","{0} of {1} problem","Editor marker navigation widget error color.","Editor marker navigation widget error heading background.","Editor marker navigation widget warning color.","Editor marker navigation widget warning heading background.","Editor marker navigation widget info color.","Editor marker navigation widget info heading background.","Editor marker navigation widget background."],"vs/editor/contrib/gotoSymbol/browser/goToCommands":["Peek","Definitions","No definition found for '{0}'","No definition found","Go to Definition","Open Definition to the Side","Peek Definition","Declarations","No declaration found for '{0}'","No declaration found","Go to Declaration","No declaration found for '{0}'","No declaration found","Peek Declaration","Type Definitions","No type definition found for '{0}'","No type definition found","Go to Type Definition","Peek Type Definition","Implementations","No implementation found for '{0}'","No implementation found","Go to Implementations","Peek Implementations","No references found for '{0}'","No references found","Go to References","References","Peek References","References","Go to Any Symbol","Locations","No results for '{0}'","References","Go to &&Definition","Go to &&Declaration","Go to &&Type Definition","Go to &&Implementations","Go to &&References"],"vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition":["Click to show {0} definitions."],"vs/editor/contrib/gotoSymbol/browser/peek/referencesController":["Whether reference peek is visible, like 'Peek References' or 'Peek Definition'","Loading...","{0} ({1})"],"vs/editor/contrib/gotoSymbol/browser/peek/referencesTree":["{0} references","{0} reference","References"],"vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget":["no preview available","No results","References"],"vs/editor/contrib/gotoSymbol/browser/referencesModel":["symbol in {0} on line {1} at column {2}","symbol in {0} on line {1} at column {2}, {3}","1 symbol in {0}, full path {1}","{0} symbols in {1}, full path {2}","No results found","Found 1 symbol in {0}","Found {0} symbols in {1}","Found {0} symbols in {1} files"],"vs/editor/contrib/gotoSymbol/browser/symbolNavigation":["Whether there are symbol locations that can be navigated via keyboard-only.","Symbol {0} of {1}, {2} for next","Symbol {0} of {1}"],"vs/editor/contrib/hover/browser/hover":["Show Hover","Show Definition Preview Hover"],"vs/editor/contrib/hover/browser/markdownHoverParticipant":["Loading...","Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`."],"vs/editor/contrib/hover/browser/markerHoverParticipant":["View Problem","No quick fixes available","Checking for quick fixes...","No quick fixes available","Quick Fix..."],"vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace":["Replace with Previous Value","Replace with Next Value"],"vs/editor/contrib/indentation/browser/indentation":["Convert Indentation to Spaces","Convert Indentation to Tabs","Configured Tab Size","Select Tab Size for Current File","Indent Using Tabs","Indent Using Spaces","Detect Indentation from Content","Reindent Lines","Reindent Selected Lines"],"vs/editor/contrib/inlayHints/browser/inlayHintsHover":["cmd + click","ctrl + click","option + click","alt + click","Go to Definition ({0}), right click for more","Go to Definition ({0})","Execute Command"],"vs/editor/contrib/inlineCompletions/browser/ghostTextController":["Whether an inline suggestion is visible","Whether the inline suggestion starts with whitespace","Whether the inline suggestion starts with whitespace that is less than what would be inserted by tab","Show Next Inline Suggestion","Show Previous Inline Suggestion","Trigger Inline Suggestion"],"vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHoverParticipant":["Next","Previous","Accept","Suggestion:"],"vs/editor/contrib/lineSelection/browser/lineSelection":["Expand Line Selection"],"vs/editor/contrib/linesOperations/browser/linesOperations":["Copy Line Up","&&Copy Line Up","Copy Line Down","Co&&py Line Down","Duplicate Selection","&&Duplicate Selection","Move Line Up","Mo&&ve Line Up","Move Line Down","Move &&Line Down","Sort Lines Ascending","Sort Lines Descending","Delete Duplicate Lines","Trim Trailing Whitespace","Delete Line","Indent Line","Outdent Line","Insert Line Above","Insert Line Below","Delete All Left","Delete All Right","Join Lines","Transpose characters around the cursor","Transform to Uppercase","Transform to Lowercase","Transform to Title Case","Transform to Snake Case"],"vs/editor/contrib/linkedEditing/browser/linkedEditing":["Start Linked Editing","Background color when the editor auto renames on type."],"vs/editor/contrib/links/browser/links":["Failed to open this link because it is not well-formed: {0}","Failed to open this link because its target is missing.","Execute command","Follow link","cmd + click","ctrl + click","option + click","alt + click","Execute command {0}","Open Link"],"vs/editor/contrib/message/browser/messageController":["Whether the editor is currently showing an inline message","Cannot edit in read-only editor"],"vs/editor/contrib/multicursor/browser/multicursor":["Cursor added: {0}","Cursors added: {0}","Add Cursor Above","&&Add Cursor Above","Add Cursor Below","A&&dd Cursor Below","Add Cursors to Line Ends","Add C&&ursors to Line Ends","Add Cursors To Bottom","Add Cursors To Top","Add Selection To Next Find Match","Add &&Next Occurrence","Add Selection To Previous Find Match","Add P&&revious Occurrence","Move Last Selection To Next Find Match","Move Last Selection To Previous Find Match","Select All Occurrences of Find Match","Select All &&Occurrences","Change All Occurrences"],"vs/editor/contrib/parameterHints/browser/parameterHints":["Trigger Parameter Hints"],"vs/editor/contrib/parameterHints/browser/parameterHintsWidget":["Icon for show next parameter hint.","Icon for show previous parameter hint.","{0}, hint","Foreground color of the active item in the parameter hint."],"vs/editor/contrib/peekView/browser/peekView":["Whether the current code editor is embedded inside peek","Close","Background color of the peek view title area.","Color of the peek view title.","Color of the peek view title info.","Color of the peek view borders and arrow.","Background color of the peek view result list.","Foreground color for line nodes in the peek view result list.","Foreground color for file nodes in the peek view result list.","Background color of the selected entry in the peek view result list.","Foreground color of the selected entry in the peek view result list.","Background color of the peek view editor.","Background color of the gutter in the peek view editor.","Match highlight color in the peek view result list.","Match highlight color in the peek view editor.","Match highlight border in the peek view editor."],"vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess":["Open a text editor first to go to a line.","Go to line {0} and character {1}.","Go to line {0}.","Current Line: {0}, Character: {1}. Type a line number between 1 and {2} to navigate to.","Current Line: {0}, Character: {1}. Type a line number to navigate to."],"vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess":["To go to a symbol, first open a text editor with symbol information.","The active text editor does not provide symbol information.","No matching editor symbols","No editor symbols","Open to the Side","Open to the Bottom","symbols ({0})","properties ({0})","methods ({0})","functions ({0})","constructors ({0})","variables ({0})","classes ({0})","structs ({0})","events ({0})","operators ({0})","interfaces ({0})","namespaces ({0})","packages ({0})","type parameters ({0})","modules ({0})","properties ({0})","enumerations ({0})","enumeration members ({0})","strings ({0})","files ({0})","arrays ({0})","numbers ({0})","booleans ({0})","objects ({0})","keys ({0})","fields ({0})","constants ({0})"],"vs/editor/contrib/rename/browser/rename":["No result.","An unknown error occurred while resolving rename location","Renaming '{0}'","Renaming {0}","Successfully renamed '{0}' to '{1}'. Summary: {2}","Rename failed to apply edits","Rename failed to compute edits","Rename Symbol","Enable/disable the ability to preview changes before renaming"],"vs/editor/contrib/rename/browser/renameInputField":["Whether the rename input widget is visible","Rename input. Type new name and press Enter to commit.","{0} to Rename, {1} to Preview"],"vs/editor/contrib/smartSelect/browser/smartSelect":["Expand Selection","&&Expand Selection","Shrink Selection","&&Shrink Selection"],"vs/editor/contrib/snippet/browser/snippetController2":["Whether the editor in current in snippet mode","Whether there is a next tab stop when in snippet mode","Whether there is a previous tab stop when in snippet mode"],"vs/editor/contrib/snippet/browser/snippetVariables":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sun","Mon","Tue","Wed","Thu","Fri","Sat","January","February","March","April","May","June","July","August","September","October","November","December","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"vs/editor/contrib/suggest/browser/suggest":["Whether suggestion details are visible","Whether there are multiple suggestions to pick from","Whether inserting the current suggestion yields in a change or has everything already been typed","Whether suggestions are inserted when pressing Enter","Whether the current suggestion has insert and replace behaviour","Whether the default behaviour is to insert or replace","Whether the current suggestion supports to resolve further details"],"vs/editor/contrib/suggest/browser/suggestController":["Accepting '{0}' made {1} additional edits","Trigger Suggest","Insert","Insert","Replace","Replace","Insert","show less","show more","Reset Suggest Widget Size"],"vs/editor/contrib/suggest/browser/suggestWidget":["Background color of the suggest widget.","Border color of the suggest widget.","Foreground color of the suggest widget.","Foreground color of the selected entry in the suggest widget.","Icon foreground color of the selected entry in the suggest widget.","Background color of the selected entry in the suggest widget.","Color of the match highlights in the suggest widget.","Color of the match highlights in the suggest widget when an item is focused.","Foreground color of the suggest widget status.","Loading...","No suggestions.","Suggest","{0}{1}, {2}","{0}{1}","{0}, {1}","{0}, docs: {1}"],"vs/editor/contrib/suggest/browser/suggestWidgetDetails":["Close","Loading..."],"vs/editor/contrib/suggest/browser/suggestWidgetRenderer":["Icon for more information in the suggest widget.","Read More"],"vs/editor/contrib/suggest/browser/suggestWidgetStatus":["{0} ({1})"],"vs/editor/contrib/symbolIcons/browser/symbolIcons":["The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget."],"vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode":["Toggle Tab Key Moves Focus","Pressing Tab will now move focus to the next focusable element","Pressing Tab will now insert the tab character"],"vs/editor/contrib/tokenization/browser/tokenization":["Developer: Force Retokenize"],"vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter":["Icon shown with a warning message in the extensions editor.","This document contains many non-basic ASCII unicode characters","This document contains many ambiguous unicode characters","This document contains many invisible unicode characters","The character {0} could be confused with the character {1}, which is more common in source code.","The character {0} is invisible.","The character {0} is not a basic ASCII character.","Adjust settings","Disable Highlight In Comments","Disable highlighting of characters in comments","Disable Highlight In Strings","Disable highlighting of characters in strings","Disable Ambiguous Highlight","Disable highlighting of ambiguous characters","Disable Invisible Highlight","Disable highlighting of invisible characters","Disable Non ASCII Highlight","Disable highlighting of non basic ASCII characters","Show Exclude Options","Exclude {0} (invisible character) from being highlighted","Exclude {0} from being highlighted",'Allow unicode characters that are more common in the language "{0}".',"Configure Unicode Highlight Options"],"vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators":["Unusual Line Terminators","Detected unusual line terminators","The file '{0}' contains one or more unusual line terminator characters, like Line Separator (LS) or Paragraph Separator (PS).\n\nIt is recommended to remove them from the file. This can be configured via `editor.unusualLineTerminators`.","Remove Unusual Line Terminators","Ignore"],"vs/editor/contrib/wordHighlighter/browser/wordHighlighter":["Background color of a symbol during read-access, like reading a variable. The color must not be opaque so as not to hide underlying decorations.","Background color of a symbol during write-access, like writing to a variable. The color must not be opaque so as not to hide underlying decorations.","Border color of a symbol during read-access, like reading a variable.","Border color of a symbol during write-access, like writing to a variable.","Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations.","Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations.","Go to Next Symbol Highlight","Go to Previous Symbol Highlight","Trigger Symbol Highlight"],"vs/editor/contrib/wordOperations/browser/wordOperations":["Delete Word"],"vs/platform/actions/browser/menuEntryActionViewItem":["{0} ({1})","{0} ({1})"],"vs/platform/configuration/common/configurationRegistry":["Default Language Configuration Overrides","Configure settings to be overridden for {0} language.","Configure editor settings to be overridden for a language.","This setting does not support per-language configuration.","Configure editor settings to be overridden for a language.","This setting does not support per-language configuration.","Cannot register an empty property","Cannot register '{0}'. This matches property pattern '\\\\[.*\\\\]$' for describing language specific editor settings. Use 'configurationDefaults' contribution.","Cannot register '{0}'. This property is already registered."],"vs/platform/contextkey/browser/contextKeyService":["A command that returns information about context keys"],"vs/platform/contextkey/common/contextkeys":["Whether the operating system is macOS","Whether the operating system is Linux","Whether the operating system is Windows","Whether the platform is a web browser","Whether the operating system is macOS on a non-browser platform","Whether the operating system is iOS","Whether keyboard focus is inside an input box"],"vs/platform/history/browser/contextScopedHistoryWidget":["Whether suggestion are visible"],"vs/platform/keybinding/common/abstractKeybindingService":["({0}) was pressed. Waiting for second key of chord...","The key combination ({0}, {1}) is not a command."],"vs/platform/list/browser/listService":["Workbench","Maps to `Control` on Windows and Linux and to `Command` on macOS.","Maps to `Alt` on Windows and Linux and to `Option` on macOS.","The modifier to be used to add an item in trees and lists to a multi-selection with the mouse (for example in the explorer, open editors and scm view). The 'Open to Side' mouse gestures - if supported - will adapt such that they do not conflict with the multiselect modifier.","Controls how to open items in trees and lists using the mouse (if supported). Note that some trees and lists might choose to ignore this setting if it is not applicable.","Controls whether lists and trees support horizontal scrolling in the workbench. Warning: turning on this setting has a performance implication.","Controls tree indentation in pixels.","Controls whether the tree should render indent guides.","Controls whether lists and trees have smooth scrolling.","A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.","Scrolling speed multiplier when pressing `Alt`.","Simple keyboard navigation focuses elements which match the keyboard input. Matching is done only on prefixes.","Highlight keyboard navigation highlights elements which match the keyboard input. Further up and down navigation will traverse only the highlighted elements.","Filter keyboard navigation will filter out and hide all the elements which do not match the keyboard input.","Controls the keyboard navigation style for lists and trees in the workbench. Can be simple, highlight and filter.","Controls whether keyboard navigation in lists and trees is automatically triggered simply by typing. If set to `false`, keyboard navigation is only triggered when executing the `list.toggleKeyboardNavigation` command, for which you can assign a keyboard shortcut.","Controls how tree folders are expanded when clicking the folder names. Note that some trees and lists might choose to ignore this setting if it is not applicable."],"vs/platform/markers/common/markers":["Error","Warning","Info"],"vs/platform/quickinput/browser/commandsQuickAccess":["{0}, {1}","recently used","other commands","Command '{0}' resulted in an error ({1})"],"vs/platform/quickinput/browser/helpQuickAccess":["global commands","editor commands","{0}, {1}"],"vs/platform/theme/common/colorRegistry":["Overall foreground color. This color is only used if not overridden by a component.","Overall foreground color for error messages. This color is only used if not overridden by a component.","Foreground color for description text providing additional information, for example for a label.","The default color for icons in the workbench.","Overall border color for focused elements. This color is only used if not overridden by a component.","An extra border around elements to separate them from others for greater contrast.","An extra border around active elements to separate them from others for greater contrast.","The background color of text selections in the workbench (e.g. for input fields or text areas). Note that this does not apply to selections within the editor.","Color for text separators.","Foreground color for links in text.","Foreground color for links in text when clicked on and on mouse hover.","Foreground color for preformatted text segments.","Background color for block quotes in text.","Border color for block quotes in text.","Background color for code blocks in text.","Shadow color of widgets such as find/replace inside the editor.","Input box background.","Input box foreground.","Input box border.","Border color of activated options in input fields.","Background color of activated options in input fields.","Background hover color of options in input fields.","Foreground color of activated options in input fields.","Input box foreground color for placeholder text.","Input validation background color for information severity.","Input validation foreground color for information severity.","Input validation border color for information severity.","Input validation background color for warning severity.","Input validation foreground color for warning severity.","Input validation border color for warning severity.","Input validation background color for error severity.","Input validation foreground color for error severity.","Input validation border color for error severity.","Dropdown background.","Dropdown list background.","Dropdown foreground.","Dropdown border.","Background color of checkbox widget.","Foreground color of checkbox widget.","Border color of checkbox widget.","Button foreground color.","Button background color.","Button background color when hovering.","Button border color.","Secondary button foreground color.","Secondary button background color.","Secondary button background color when hovering.","Badge background color. Badges are small information labels, e.g. for search results count.","Badge foreground color. Badges are small information labels, e.g. for search results count.","Scrollbar shadow to indicate that the view is scrolled.","Scrollbar slider background color.","Scrollbar slider background color when hovering.","Scrollbar slider background color when clicked on.","Background color of the progress bar that can show for long running operations.","Background color of error text in the editor. The color must not be opaque so as not to hide underlying decorations.","Foreground color of error squigglies in the editor.","Border color of error boxes in the editor.","Background color of warning text in the editor. The color must not be opaque so as not to hide underlying decorations.","Foreground color of warning squigglies in the editor.","Border color of warning boxes in the editor.","Background color of info text in the editor. The color must not be opaque so as not to hide underlying decorations.","Foreground color of info squigglies in the editor.","Border color of info boxes in the editor.","Foreground color of hint squigglies in the editor.","Border color of hint boxes in the editor.","Border color of active sashes.","Editor background color.","Editor default foreground color.","Background color of editor widgets, such as find/replace.","Foreground color of editor widgets, such as find/replace.","Border color of editor widgets. The color is only used if the widget chooses to have a border and if the color is not overridden by a widget.","Border color of the resize bar of editor widgets. The color is only used if the widget chooses to have a resize border and if the color is not overridden by a widget.","Quick picker background color. The quick picker widget is the container for pickers like the command palette.","Quick picker foreground color. The quick picker widget is the container for pickers like the command palette.","Quick picker title background color. The quick picker widget is the container for pickers like the command palette.","Quick picker color for grouping labels.","Quick picker color for grouping borders.","Keybinding label background color. The keybinding label is used to represent a keyboard shortcut.","Keybinding label foreground color. The keybinding label is used to represent a keyboard shortcut.","Keybinding label border color. The keybinding label is used to represent a keyboard shortcut.","Keybinding label border bottom color. The keybinding label is used to represent a keyboard shortcut.","Color of the editor selection.","Color of the selected text for high contrast.","Color of the selection in an inactive editor. The color must not be opaque so as not to hide underlying decorations.","Color for regions with the same content as the selection. The color must not be opaque so as not to hide underlying decorations.","Border color for regions with the same content as the selection.","Color of the current search match.","Color of the other search matches. The color must not be opaque so as not to hide underlying decorations.","Color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations.","Border color of the current search match.","Border color of the other search matches.","Border color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations.","Color of the Search Editor query matches.","Border color of the Search Editor query matches.","Highlight below the word for which a hover is shown. The color must not be opaque so as not to hide underlying decorations.","Background color of the editor hover.","Foreground color of the editor hover.","Border color of the editor hover.","Background color of the editor hover status bar.","Color of active links.","Foreground color of inline hints","Background color of inline hints","Foreground color of inline hints for types","Background color of inline hints for types","Foreground color of inline hints for parameters","Background color of inline hints for parameters","The color used for the lightbulb actions icon.","The color used for the lightbulb auto fix actions icon.","Background color for text that got inserted. The color must not be opaque so as not to hide underlying decorations.","Background color for text that got removed. The color must not be opaque so as not to hide underlying decorations.","Background color for lines that got inserted. The color must not be opaque so as not to hide underlying decorations.","Background color for lines that got removed. The color must not be opaque so as not to hide underlying decorations.","Background color for the margin where lines got inserted.","Background color for the margin where lines got removed.","Diff overview ruler foreground for inserted content.","Diff overview ruler foreground for removed content.","Outline color for the text that got inserted.","Outline color for text that got removed.","Border color between the two text editors.","Color of the diff editor's diagonal fill. The diagonal fill is used in side-by-side diff views.","List/Tree background color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.","List/Tree foreground color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.","List/Tree outline color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.","List/Tree background color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.","List/Tree foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.","List/Tree icon foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.","List/Tree background color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.","List/Tree foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.","List/Tree icon foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.","List/Tree background color for the focused item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.","List/Tree outline color for the focused item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.","List/Tree background when hovering over items using the mouse.","List/Tree foreground when hovering over items using the mouse.","List/Tree drag and drop background when moving items around using the mouse.","List/Tree foreground color of the match highlights when searching inside the list/tree.","List/Tree foreground color of the match highlights on actively focused items when searching inside the list/tree.","List/Tree foreground color for invalid items, for example an unresolved root in explorer.","Foreground color of list items containing errors.","Foreground color of list items containing warnings.","Background color of the type filter widget in lists and trees.","Outline color of the type filter widget in lists and trees.","Outline color of the type filter widget in lists and trees, when there are no matches.","Background color of the filtered match.","Border color of the filtered match.","Tree stroke color for the indentation guides.","Table border color between columns.","Background color for odd table rows.","List/Tree foreground color for items that are deemphasized. ","Please use quickInputList.focusBackground instead","Quick picker foreground color for the focused item.","Quick picker icon foreground color for the focused item.","Quick picker background color for the focused item.","Border color of menus.","Foreground color of menu items.","Background color of menu items.","Foreground color of the selected menu item in menus.","Background color of the selected menu item in menus.","Border color of the selected menu item in menus.","Color of a separator menu item in menus.","Toolbar background when hovering over actions using the mouse","Toolbar outline when hovering over actions using the mouse","Toolbar background when holding the mouse over actions","Highlight background color of a snippet tabstop.","Highlight border color of a snippet tabstop.","Highlight background color of the final tabstop of a snippet.","Highlight border color of the final tabstop of a snippet.","Color of focused breadcrumb items.","Background color of breadcrumb items.","Color of focused breadcrumb items.","Color of selected breadcrumb items.","Background color of breadcrumb item picker.","Current header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations.","Current content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations.","Incoming header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations.","Incoming content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations.","Common ancestor header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations.","Common ancestor content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations.","Border color on headers and the splitter in inline merge-conflicts.","Current overview ruler foreground for inline merge-conflicts.","Incoming overview ruler foreground for inline merge-conflicts.","Common ancestor overview ruler foreground for inline merge-conflicts.","Overview ruler marker color for find matches. The color must not be opaque so as not to hide underlying decorations.","Overview ruler marker color for selection highlights. The color must not be opaque so as not to hide underlying decorations.","Minimap marker color for find matches.","Minimap marker color for repeating editor selections.","Minimap marker color for the editor selection.","Minimap marker color for errors.","Minimap marker color for warnings.","Minimap background color.",'Opacity of foreground elements rendered in the minimap. For example, "#000000c0" will render the elements with 75% opacity.',"Minimap slider background color.","Minimap slider background color when hovering.","Minimap slider background color when clicked on.","The color used for the problems error icon.","The color used for the problems warning icon.","The color used for the problems info icon.","The foreground color used in charts.","The color used for horizontal lines in charts.","The red color used in chart visualizations.","The blue color used in chart visualizations.","The yellow color used in chart visualizations.","The orange color used in chart visualizations.","The green color used in chart visualizations.","The purple color used in chart visualizations."],"vs/platform/theme/common/iconRegistry":["The id of the font to use. If not set, the font that is defined first is used.","The font character associated with the icon definition.","Icon for the close action in widgets.","Icon for goto previous editor location.","Icon for goto next editor location."],"vs/platform/undoRedo/common/undoRedoService":["The following files have been closed and modified on disk: {0}.","The following files have been modified in an incompatible way: {0}.","Could not undo '{0}' across all files. {1}","Could not undo '{0}' across all files. {1}","Could not undo '{0}' across all files because changes were made to {1}","Could not undo '{0}' across all files because there is already an undo or redo operation running on {1}","Could not undo '{0}' across all files because an undo or redo operation occurred in the meantime","Would you like to undo '{0}' across all files?","Undo in {0} Files","Undo this File","Cancel","Could not undo '{0}' because there is already an undo or redo operation running.","Would you like to undo '{0}'?","Yes","No","Could not redo '{0}' across all files. {1}","Could not redo '{0}' across all files. {1}","Could not redo '{0}' across all files because changes were made to {1}","Could not redo '{0}' across all files because there is already an undo or redo operation running on {1}","Could not redo '{0}' across all files because an undo or redo operation occurred in the meantime","Could not redo '{0}' because there is already an undo or redo operation running."],"vs/platform/workspace/common/workspace":["Code Workspace"]});
+
+//# sourceMappingURL=../../../min-maps/vs/editor/editor.main.nls.js.map
\ No newline at end of file
diff --git a/examples/tour-assets/pyodide/distutils.tar b/examples/tour-assets/pyodide/distutils.tar
new file mode 100644
index 0000000000000000000000000000000000000000..614501f6782e9875062bbba1685ba27a7fb3d25b
Binary files /dev/null and b/examples/tour-assets/pyodide/distutils.tar differ
diff --git a/examples/tour-assets/pyodide/jedi-0.18.1-py2.py3-none-any.whl b/examples/tour-assets/pyodide/jedi-0.18.1-py2.py3-none-any.whl
new file mode 100644
index 0000000000000000000000000000000000000000..21e7b3321c2a9bf7d97cc164e58382f7b5816d07
--- /dev/null
+++ b/examples/tour-assets/pyodide/jedi-0.18.1-py2.py3-none-any.whl
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:63a60c3ddaabe280b247b804426f434f9850b6847694b91875d7d495aa949bcc
+size 1557999
diff --git a/examples/tour-assets/pyodide/packages.json b/examples/tour-assets/pyodide/packages.json
new file mode 100644
index 0000000000000000000000000000000000000000..6d04493c0697b98f0c5b0ac4a7d3dd5bdd6f95e8
--- /dev/null
+++ b/examples/tour-assets/pyodide/packages.json
@@ -0,0 +1 @@
+{"info": {"arch": "wasm32", "platform": "Emscripten-1.0"}, "packages": {"asciitree": {"name": "asciitree", "version": "0.3.3", "file_name": "asciitree-0.3.3-py3-none-any.whl", "install_dir": "site", "depends": [], "imports": ["asciitree"]}, "astropy": {"name": "astropy", "version": "5.0.4", "file_name": "astropy-5.0.4-cp310-cp310-emscripten_wasm32.whl", "install_dir": "site", "depends": ["distutils", "packaging", "numpy", "pyerfa", "pyyaml"], "imports": ["astropy", "astropy.config", "astropy.constants", "astropy.convolution", "astropy.coordinates", "astropy.cosmology", "astropy.extern", "astropy.io", "astropy.modeling", "astropy.nddata", "astropy.samp", "astropy.stats", "astropy.table", "astropy.time", "astropy.timeseries", "astropy.uncertainty", "astropy.units", "astropy.utils", "astropy.visualization", "astropy.wcs"]}, "atomicwrites": {"name": "atomicwrites", "version": "1.4.0", "file_name": "atomicwrites-1.4.0-py2.py3-none-any.whl", "install_dir": "site", "depends": [], "imports": ["atomicwrites"]}, "attrs": {"name": "attrs", "version": "21.4.0", "file_name": "attrs-21.4.0-py2.py3-none-any.whl", "install_dir": "site", "depends": ["six"], "imports": ["attr"]}, "autograd": {"name": "autograd", "version": "1.4", "file_name": "autograd-1.4-py3-none-any.whl", "install_dir": "site", "depends": ["numpy", "future"], "imports": ["autograd"], "unvendored_tests": true}, "autograd-tests": {"name": "autograd-tests", "version": "1.4", "depends": ["autograd"], "imports": [], "file_name": "autograd-tests.tar", "install_dir": "site"}, "beautifulsoup4": {"name": "beautifulsoup4", "version": "4.11.0", "file_name": "beautifulsoup4-4.11.0-py3-none-any.whl", "install_dir": "site", "depends": ["soupsieve"], "imports": ["bs4"]}, "biopython": {"name": "biopython", "version": "1.79", "file_name": "biopython-1.79-cp310-cp310-emscripten_wasm32.whl", "install_dir": "site", "depends": ["numpy"], "imports": ["Bio"]}, "bleach": {"name": "bleach", "version": "5.0.0", "file_name": "bleach-5.0.0-py3-none-any.whl", "install_dir": "site", "depends": ["webencodings", "packaging", "six"], "imports": ["bleach"]}, "bokeh": {"name": "bokeh", "version": "2.4.2", "file_name": "bokeh-2.4.2-py3-none-any.whl", "install_dir": "site", "depends": ["distutils", "numpy", "jinja2", "pillow", "python-dateutil", "six", "typing-extensions", "pyyaml"], "imports": ["bokeh"]}, "boost-histogram": {"name": "boost-histogram", "version": "1.3.1", "file_name": "boost_histogram-1.3.1-cp310-cp310-emscripten_wasm32.whl", "install_dir": "site", "depends": ["numpy"], "imports": ["boost_histogram"]}, "cffi": {"name": "cffi", "version": "1.15.0", "file_name": "cffi-1.15.0-cp310-cp310-emscripten_wasm32.whl", "install_dir": "site", "depends": ["pycparser"], "imports": ["cffi"]}, "cffi_example": {"name": "cffi_example", "version": "0.1", "file_name": "cffi_example-0.1-cp310-cp310-emscripten_wasm32.whl", "install_dir": "site", "depends": ["cffi"], "imports": ["cffi_example"]}, "clapack": {"name": "CLAPACK", "version": "3.2.1", "file_name": "CLAPACK-3.2.1.zip", "install_dir": "site", "shared_library": true, "depends": [], "imports": ["CLAPACK"]}, "cloudpickle": {"name": "cloudpickle", "version": "2.0.0", "file_name": "cloudpickle-2.0.0-py3-none-any.whl", "install_dir": "site", "depends": [], "imports": ["cloudpickle"]}, "cmyt": {"name": "cmyt", "version": "1.0.4", "file_name": "cmyt-1.0.4-py3-none-any.whl", "install_dir": "site", "depends": ["colorspacious", "matplotlib", "more-itertools", "numpy"], "imports": ["cmyt"], "unvendored_tests": true}, "cmyt-tests": {"name": "cmyt-tests", "version": "1.0.4", "depends": ["cmyt"], "imports": [], "file_name": "cmyt-tests.tar", "install_dir": "site"}, "colorspacious": {"name": "colorspacious", "version": "1.1.2", "file_name": "colorspacious-1.1.2-py2.py3-none-any.whl", "install_dir": "site", "depends": ["numpy"], "imports": ["colorspacious"]}, "cpp-exceptions-test": {"name": "cpp-exceptions-test", "version": "0.1", "file_name": "cpp-exceptions-test-0.1.zip", "install_dir": "site", "shared_library": true, "depends": [], "imports": ["cpp-exceptions-test"]}, "cryptography": {"name": "cryptography", "version": "3.4.8", "file_name": "cryptography-3.4.8-cp310-cp310-emscripten_wasm32.whl", "install_dir": "site", "depends": ["openssl", "six", "cffi"], "imports": ["cryptography", "cryptography.fernet", "cryptography.hazmat", "cryptography.utils", "cryptography.x509"]}, "cssselect": {"name": "cssselect", "version": "1.1.0", "file_name": "cssselect-1.1.0-py2.py3-none-any.whl", "install_dir": "site", "depends": [], "imports": ["cssselect"]}, "cycler": {"name": "cycler", "version": "0.11.0", "file_name": "cycler-0.11.0-py3-none-any.whl", "install_dir": "site", "depends": ["six"], "imports": ["cycler"]}, "cytoolz": {"name": "cytoolz", "version": "0.11.2", "file_name": "cytoolz-0.11.2-cp310-cp310-emscripten_wasm32.whl", "install_dir": "site", "depends": ["nose", "toolz"], "imports": ["cytoolz"], "unvendored_tests": true}, "cytoolz-tests": {"name": "cytoolz-tests", "version": "0.11.2", "depends": ["cytoolz"], "imports": [], "file_name": "cytoolz-tests.tar", "install_dir": "site"}, "decorator": {"name": "decorator", "version": "5.1.1", "file_name": "decorator-5.1.1-py3-none-any.whl", "install_dir": "site", "depends": [], "imports": ["decorator"]}, "distlib": {"name": "distlib", "version": "0.3.4", "file_name": "distlib-0.3.4-py2.py3-none-any.whl", "install_dir": "site", "depends": [], "imports": ["distlib"]}, "distutils": {"name": "distutils", "version": "1.0", "file_name": "distutils.tar", "install_dir": "lib", "depends": [], "imports": ["distutils"]}, "docutils": {"name": "docutils", "version": "0.18.1", "file_name": "docutils-0.18.1-py2.py3-none-any.whl", "install_dir": "site", "depends": [], "imports": ["docutils"]}, "fonttools": {"name": "fonttools", "version": "4.32.0", "file_name": "fonttools-4.32.0-py3-none-any.whl", "install_dir": "site", "depends": [], "imports": ["fontTools"]}, "fpcast-test": {"name": "fpcast-test", "version": "0.1", "file_name": "fpcast_test-0.1.1-cp310-cp310-emscripten_wasm32.whl", "install_dir": "site", "depends": [], "imports": ["fpcast_test"]}, "freesasa": {"name": "freesasa", "version": "2.1.0", "file_name": "freesasa-2.1.0-cp310-cp310-emscripten_wasm32.whl", "install_dir": "site", "depends": [], "imports": ["freesasa"]}, "future": {"name": "future", "version": "0.18.2", "file_name": "future-0.18.2-py3-none-any.whl", "install_dir": "site", "depends": [], "imports": ["future"], "unvendored_tests": true}, "future-tests": {"name": "future-tests", "version": "0.18.2", "depends": ["future"], "imports": [], "file_name": "future-tests.tar", "install_dir": "site"}, "html5lib": {"name": "html5lib", "version": "1.1", "file_name": "html5lib-1.1-py2.py3-none-any.whl", "install_dir": "site", "depends": ["webencodings", "six"], "imports": ["html5lib"]}, "imageio": {"name": "imageio", "version": "2.16.1", "file_name": "imageio-2.16.1-py3-none-any.whl", "install_dir": "site", "depends": ["numpy", "pillow"], "imports": ["imageio"]}, "iniconfig": {"name": "iniconfig", "version": "1.1.1", "file_name": "iniconfig-1.1.1-py2.py3-none-any.whl", "install_dir": "site", "depends": [], "imports": ["iniconfig"]}, "jedi": {"name": "jedi", "version": "0.18.1", "file_name": "jedi-0.18.1-py2.py3-none-any.whl", "install_dir": "site", "depends": ["parso"], "imports": ["jedi"], "unvendored_tests": true}, "jedi-tests": {"name": "jedi-tests", "version": "0.18.1", "depends": ["jedi"], "imports": [], "file_name": "jedi-tests.tar", "install_dir": "site"}, "jinja2": {"name": "Jinja2", "version": "3.1.1", "file_name": "Jinja2-3.1.1-py3-none-any.whl", "install_dir": "site", "depends": ["markupsafe"], "imports": ["jinja2"]}, "joblib": {"name": "joblib", "version": "1.1.0", "file_name": "joblib-1.1.0-py2.py3-none-any.whl", "install_dir": "site", "depends": ["distutils"], "imports": ["joblib"], "unvendored_tests": true}, "joblib-tests": {"name": "joblib-tests", "version": "1.1.0", "depends": ["joblib"], "imports": [], "file_name": "joblib-tests.tar", "install_dir": "site"}, "kiwisolver": {"name": "kiwisolver", "version": "1.4.2", "file_name": "kiwisolver-1.4.2-cp310-cp310-emscripten_wasm32.whl", "install_dir": "site", "depends": [], "imports": ["kiwisolver"]}, "lazy-object-proxy": {"name": "lazy-object-proxy", "version": "1.7.1", "file_name": "lazy_object_proxy-1.7.1-cp310-cp310-emscripten_wasm32.whl", "install_dir": "site", "depends": [], "imports": ["lazy_object_proxy"]}, "logbook": {"name": "logbook", "version": "1.5.3", "file_name": "Logbook-1.5.3-cp310-cp310-emscripten_wasm32.whl", "install_dir": "site", "depends": ["distutils", "setuptools"], "imports": ["logbook"]}, "lxml": {"name": "lxml", "version": "4.8.0", "file_name": "lxml-4.8.0-cp310-cp310-emscripten_wasm32.whl", "install_dir": "site", "depends": ["beautifulsoup4", "cssselect", "html5lib"], "imports": ["lxml", "lxml.etree", "lxml.objectify"]}, "markupsafe": {"name": "MarkupSafe", "version": "2.1.1", "file_name": "MarkupSafe-2.1.1-cp310-cp310-emscripten_wasm32.whl", "install_dir": "site", "depends": [], "imports": ["markupsafe"]}, "matplotlib": {"name": "matplotlib", "version": "3.5.1", "file_name": "matplotlib-3.5.1-cp310-cp310-emscripten_wasm32.whl", "install_dir": "site", "depends": ["cycler", "distutils", "fonttools", "kiwisolver", "numpy", "packaging", "pillow", "pyparsing", "python-dateutil", "pytz"], "imports": ["matplotlib", "mpl_toolkits"], "unvendored_tests": true}, "matplotlib-tests": {"name": "matplotlib-tests", "version": "3.5.1", "depends": ["matplotlib"], "imports": [], "file_name": "matplotlib-tests.tar", "install_dir": "site"}, "micropip": {"name": "micropip", "version": "0.1", "file_name": "micropip-0.1-py3-none-any.whl", "install_dir": "site", "depends": ["pyparsing", "packaging", "distutils"], "imports": ["micropip"]}, "mne": {"name": "mne", "version": "1.0.0", "file_name": "mne-1.0.0-py3-none-any.whl", "install_dir": "site", "depends": ["distutils", "numpy", "scipy", "setuptools", "decorator"], "imports": ["mne"], "unvendored_tests": true}, "mne-tests": {"name": "mne-tests", "version": "1.0.0", "depends": ["mne"], "imports": [], "file_name": "mne-tests.tar", "install_dir": "site"}, "more-itertools": {"name": "more-itertools", "version": "8.12.0", "file_name": "more_itertools-8.12.0-py3-none-any.whl", "install_dir": "site", "depends": [], "imports": ["more_itertools"]}, "mpmath": {"name": "mpmath", "version": "1.2.1", "file_name": "mpmath-1.2.1-py3-none-any.whl", "install_dir": "site", "depends": [], "imports": ["mpmath"], "unvendored_tests": true}, "mpmath-tests": {"name": "mpmath-tests", "version": "1.2.1", "depends": ["mpmath"], "imports": [], "file_name": "mpmath-tests.tar", "install_dir": "site"}, "msgpack": {"name": "msgpack", "version": "1.0.3", "file_name": "msgpack-1.0.3-cp310-cp310-emscripten_wasm32.whl", "install_dir": "site", "depends": [], "imports": ["msgpack"]}, "networkx": {"name": "networkx", "version": "2.7.1", "file_name": "networkx-2.7.1-py3-none-any.whl", "install_dir": "site", "depends": ["decorator", "setuptools", "matplotlib", "numpy"], "imports": ["networkx", "networkx.algorithms", "networkx.algorithms.approximation", "networkx.algorithms.assortativity", "networkx.algorithms.bipartite", "networkx.algorithms.centrality", "networkx.algorithms.chordal", "networkx.algorithms.coloring", "networkx.algorithms.community", "networkx.algorithms.components", "networkx.algorithms.connectivity", "networkx.algorithms.flow", "networkx.algorithms.isomorphism", "networkx.algorithms.link_analysis", "networkx.algorithms.node_classification", "networkx.algorithms.operators", "networkx.algorithms.shortest_paths", "networkx.algorithms.traversal", "networkx.algorithms.tree", "networkx.classes", "networkx.drawing", "networkx.generators", "networkx.linalg", "networkx.readwrite", "networkx.readwrite.json_graph", "networkx.utils"], "unvendored_tests": true}, "networkx-tests": {"name": "networkx-tests", "version": "2.7.1", "depends": ["networkx"], "imports": [], "file_name": "networkx-tests.tar", "install_dir": "site"}, "nlopt": {"name": "nlopt", "version": "2.7.0", "file_name": "nlopt-2.7.0-cp310-cp310-emscripten_wasm32.whl", "install_dir": "site", "depends": ["numpy"], "imports": ["nlopt"]}, "nltk": {"name": "nltk", "version": "3.7", "file_name": "nltk-3.7-py3-none-any.whl", "install_dir": "site", "depends": ["regex"], "imports": ["nltk", "sqlite3"], "unvendored_tests": true}, "nltk-tests": {"name": "nltk-tests", "version": "3.7", "depends": ["nltk"], "imports": [], "file_name": "nltk-tests.tar", "install_dir": "site"}, "nose": {"name": "nose", "version": "1.3.7", "file_name": "nose-1.3.7-py3-none-any.whl", "install_dir": "site", "depends": ["setuptools"], "imports": ["nose"]}, "numcodecs": {"name": "numcodecs", "version": "0.9.1", "file_name": "numcodecs-0.9.1-cp310-cp310-emscripten_wasm32.whl", "install_dir": "site", "depends": ["numpy", "msgpack"], "imports": ["numcodecs"], "unvendored_tests": true}, "numcodecs-tests": {"name": "numcodecs-tests", "version": "0.9.1", "depends": ["numcodecs"], "imports": [], "file_name": "numcodecs-tests.tar", "install_dir": "site"}, "numpy": {"name": "numpy", "version": "1.22.3", "file_name": "numpy-1.22.3-cp310-cp310-emscripten_wasm32.whl", "install_dir": "site", "depends": [], "imports": ["numpy"], "unvendored_tests": true}, "numpy-tests": {"name": "numpy-tests", "version": "1.22.3", "depends": ["numpy"], "imports": [], "file_name": "numpy-tests.tar", "install_dir": "site"}, "openssl": {"name": "openssl", "version": "1.1.1n", "file_name": "openssl-1.1.1n.zip", "install_dir": "site", "shared_library": true, "depends": [], "imports": ["openssl"]}, "optlang": {"name": "optlang", "version": "1.5.2", "file_name": "optlang-1.5.2-py2.py3-none-any.whl", "install_dir": "site", "depends": ["sympy", "six", "swiglpk"], "imports": ["optlang", "optlang.glpk_interface", "optlang.symbolics"], "unvendored_tests": true}, "optlang-tests": {"name": "optlang-tests", "version": "1.5.2", "depends": ["optlang"], "imports": [], "file_name": "optlang-tests.tar", "install_dir": "site"}, "packaging": {"name": "packaging", "version": "21.3", "file_name": "packaging-21.3-py3-none-any.whl", "install_dir": "site", "depends": ["pyparsing"], "imports": ["packaging"]}, "pandas": {"name": "pandas", "version": "1.4.2", "file_name": "pandas-1.4.2-cp310-cp310-emscripten_wasm32.whl", "install_dir": "site", "depends": ["distutils", "numpy", "python-dateutil", "pytz", "setuptools"], "imports": ["pandas"], "unvendored_tests": true}, "pandas-tests": {"name": "pandas-tests", "version": "1.4.2", "depends": ["pandas"], "imports": [], "file_name": "pandas-tests.tar", "install_dir": "site"}, "parso": {"name": "parso", "version": "0.8.3", "file_name": "parso-0.8.3-py2.py3-none-any.whl", "install_dir": "site", "depends": [], "imports": ["parso"]}, "patsy": {"name": "patsy", "version": "0.5.2", "file_name": "patsy-0.5.2-py2.py3-none-any.whl", "install_dir": "site", "depends": ["numpy", "six"], "imports": ["patsy"], "unvendored_tests": true}, "patsy-tests": {"name": "patsy-tests", "version": "0.5.2", "depends": ["patsy"], "imports": [], "file_name": "patsy-tests.tar", "install_dir": "site"}, "pillow": {"name": "Pillow", "version": "9.1.0", "file_name": "PIL-9.1.0-cp310-cp310-emscripten_wasm32.whl", "install_dir": "site", "depends": [], "imports": ["PIL"]}, "pluggy": {"name": "pluggy", "version": "1.0.0", "file_name": "pluggy-1.0.0-py2.py3-none-any.whl", "install_dir": "site", "depends": [], "imports": ["pluggy"]}, "py": {"name": "py", "version": "1.11.0", "file_name": "py-1.11.0-py2.py3-none-any.whl", "install_dir": "site", "depends": [], "imports": ["py", "py.code"]}, "pyb2d": {"name": "pyb2d", "version": "0.7.2", "file_name": "b2d-0.7.2-cp310-cp310-emscripten_wasm32.whl", "install_dir": "site", "depends": ["numpy", "pydantic", "setuptools"], "imports": ["b2d", "b2d.testbed"]}, "pycparser": {"name": "pycparser", "version": "2.21", "file_name": "pycparser-2.21-py2.py3-none-any.whl", "install_dir": "site", "depends": [], "imports": ["pycparser"]}, "pydantic": {"name": "pydantic", "version": "1.9.0", "file_name": "pydantic-1.9.0-py3-none-any.whl", "install_dir": "site", "depends": ["typing-extensions"], "imports": ["pydantic"]}, "pyerfa": {"name": "pyerfa", "version": "2.0.0.1", "file_name": "pyerfa-2.0.0.1-cp310-cp310-emscripten_wasm32.whl", "install_dir": "site", "depends": ["numpy"], "imports": ["erfa"], "unvendored_tests": true}, "pyerfa-tests": {"name": "pyerfa-tests", "version": "2.0.0.1", "depends": ["pyerfa"], "imports": [], "file_name": "pyerfa-tests.tar", "install_dir": "site"}, "pygments": {"name": "Pygments", "version": "2.11.2", "file_name": "Pygments-2.11.2-py3-none-any.whl", "install_dir": "site", "depends": [], "imports": ["pygments"]}, "pyparsing": {"name": "pyparsing", "version": "3.0.7", "file_name": "pyparsing-3.0.7-py3-none-any.whl", "install_dir": "site", "depends": [], "imports": ["pyparsing"]}, "pyrsistent": {"name": "pyrsistent", "version": "0.18.1", "file_name": "pyrsistent-0.18.1-cp310-cp310-emscripten_wasm32.whl", "install_dir": "site", "depends": [], "imports": ["pyrsistent"]}, "pytest": {"name": "pytest", "version": "7.1.1", "file_name": "pytest-7.1.1-py3-none-any.whl", "install_dir": "site", "depends": ["atomicwrites", "attrs", "more-itertools", "pluggy", "py", "setuptools", "six", "iniconfig"], "imports": ["pytest"]}, "python-dateutil": {"name": "python-dateutil", "version": "2.8.2", "file_name": "python_dateutil-2.8.2-py2.py3-none-any.whl", "install_dir": "site", "depends": ["six"], "imports": ["dateutil"]}, "python-sat": {"name": "python-sat", "version": "0.1.7.dev16", "file_name": "python_sat-0.1.7.dev16-cp310-cp310-emscripten_wasm32.whl", "install_dir": "site", "depends": ["six"], "imports": ["pysat"]}, "pytz": {"name": "pytz", "version": "2022.1", "file_name": "pytz-2022.1-py2.py3-none-any.whl", "install_dir": "site", "depends": [], "imports": ["pytz"]}, "pywavelets": {"name": "pywavelets", "version": "1.3.0", "file_name": "PyWavelets-1.3.0-cp310-cp310-emscripten_wasm32.whl", "install_dir": "site", "depends": ["distutils", "numpy", "matplotlib", "scipy"], "imports": ["pywt"], "unvendored_tests": true}, "pywavelets-tests": {"name": "pywavelets-tests", "version": "1.3.0", "depends": ["pywavelets"], "imports": [], "file_name": "pywavelets-tests.tar", "install_dir": "site"}, "pyyaml": {"name": "pyyaml", "version": "6.0", "file_name": "PyYAML-6.0-cp310-cp310-emscripten_wasm32.whl", "install_dir": "site", "depends": [], "imports": ["yaml"]}, "regex": {"name": "regex", "version": "2022.3.15", "file_name": "regex-2022.3.15-cp310-cp310-emscripten_wasm32.whl", "install_dir": "site", "depends": [], "imports": ["regex"], "unvendored_tests": true}, "regex-tests": {"name": "regex-tests", "version": "2022.3.15", "depends": ["regex"], "imports": [], "file_name": "regex-tests.tar", "install_dir": "site"}, "retrying": {"name": "retrying", "version": "1.3.3", "file_name": "retrying-1.3.3-py3-none-any.whl", "install_dir": "site", "depends": ["six"], "imports": ["retrying"]}, "scikit-image": {"name": "scikit-image", "version": "0.19.2", "file_name": "scikit_image-0.19.2-cp310-cp310-emscripten_wasm32.whl", "install_dir": "site", "depends": ["distutils", "packaging", "numpy", "scipy", "matplotlib", "networkx", "pillow", "imageio", "pywavelets"], "imports": ["skimage"], "unvendored_tests": true}, "scikit-image-tests": {"name": "scikit-image-tests", "version": "0.19.2", "depends": ["scikit-image"], "imports": [], "file_name": "scikit-image-tests.tar", "install_dir": "site"}, "scikit-learn": {"name": "scikit-learn", "version": "1.0.2", "file_name": "scikit_learn-1.0.2-cp310-cp310-emscripten_wasm32.whl", "install_dir": "site", "depends": ["numpy", "scipy", "joblib", "threadpoolctl"], "imports": ["sklearn", "sklearn.calibration", "sklearn.cluster", "sklearn.compose", "sklearn.covariance", "sklearn.cross_decomposition", "sklearn.datasets", "sklearn.decomposition", "sklearn.discriminant_analysis", "sklearn.dummy", "sklearn.ensemble", "sklearn.exceptions", "sklearn.externals", "sklearn.feature_extraction", "sklearn.feature_selection", "sklearn.gaussian_process", "sklearn.impute", "sklearn.isotonic", "sklearn.kernel_approximation", "sklearn.kernel_ridge", "sklearn.linear_model", "sklearn.manifold", "sklearn.metrics", "sklearn.mixture", "sklearn.model_selection", "sklearn.multiclass", "sklearn.multioutput", "sklearn.naive_bayes", "sklearn.neighbors", "sklearn.neural_network", "sklearn.pipeline", "sklearn.preprocessing", "sklearn.random_projection", "sklearn.semi_supervised", "sklearn.svm", "sklearn.tree", "sklearn.utils"], "unvendored_tests": true}, "scikit-learn-tests": {"name": "scikit-learn-tests", "version": "1.0.2", "depends": ["scikit-learn"], "imports": [], "file_name": "scikit-learn-tests.tar", "install_dir": "site"}, "scipy": {"name": "scipy", "version": "1.8.0", "file_name": "scipy-1.8.0-cp310-cp310-emscripten_wasm32.whl", "install_dir": "site", "depends": ["numpy", "clapack"], "imports": ["scipy", "scipy.cluster", "scipy.cluster.vq", "scipy.cluster.hierarchy", "scipy.constants", "scipy.fft", "scipy.fftpack", "scipy.integrate", "scipy.interpolate", "scipy.io", "scipy.io.arff", "scipy.io.matlab", "scipy.io.wavfile", "scipy.linalg", "scipy.linalg.blas", "scipy.linalg.cython_blas", "scipy.linalg.lapack", "scipy.linalg.cython_lapack", "scipy.linalg.interpolative", "scipy.misc", "scipy.ndimage", "scipy.odr", "scipy.optimize", "scipy.signal", "scipy.signal.windows", "scipy.sparse", "scipy.sparse.linalg", "scipy.sparse.csgraph", "scipy.spatial", "scipy.spatial.distance", "scipy.spatial.transform", "scipy.special", "scipy.stats", "scipy.stats.contingency", "scipy.stats.distributions", "scipy.stats.mstats", "scipy.stats.qmc"], "unvendored_tests": true}, "scipy-tests": {"name": "scipy-tests", "version": "1.8.0", "depends": ["scipy"], "imports": [], "file_name": "scipy-tests.tar", "install_dir": "site"}, "setuptools": {"name": "setuptools", "version": "62.0.0", "file_name": "setuptools-62.0.0-py3-none-any.whl", "install_dir": "site", "depends": ["distutils", "pyparsing"], "imports": ["setuptools", "pkg_resources"]}, "sharedlib-test": {"name": "sharedlib-test", "version": "1.0", "file_name": "sharedlib-test-1.0.zip", "install_dir": "site", "shared_library": true, "depends": [], "imports": ["sharedlib-test"]}, "sharedlib-test-py": {"name": "sharedlib-test-py", "version": "1.0", "file_name": "sharedlib_test_py-1.0-cp310-cp310-emscripten_wasm32.whl", "install_dir": "site", "depends": ["sharedlib-test"], "imports": ["sharedlib_test"]}, "six": {"name": "six", "version": "1.16.0", "file_name": "six-1.16.0-py2.py3-none-any.whl", "install_dir": "site", "depends": [], "imports": ["six"]}, "soupsieve": {"name": "soupsieve", "version": "2.3.2", "file_name": "soupsieve-2.3.2-py3-none-any.whl", "install_dir": "site", "depends": ["beautifulsoup4"], "imports": ["soupsieve"]}, "sqlalchemy": {"name": "sqlalchemy", "version": "1.4.35", "file_name": "SQLAlchemy-1.4.35-cp310-cp310-emscripten_wasm32.whl", "install_dir": "site", "depends": [], "imports": ["sqlalchemy"], "unvendored_tests": true}, "sqlalchemy-tests": {"name": "sqlalchemy-tests", "version": "1.4.35", "depends": ["sqlalchemy"], "imports": [], "file_name": "sqlalchemy-tests.tar", "install_dir": "site"}, "ssl": {"name": "ssl", "version": "1.0.0", "file_name": "ssl-1.0.0.zip", "install_dir": "site", "shared_library": true, "depends": ["openssl"], "imports": ["ssl"]}, "statsmodels": {"name": "statsmodels", "version": "0.13.2", "file_name": "statsmodels-0.13.2-cp310-cp310-emscripten_wasm32.whl", "install_dir": "site", "depends": ["distutils", "numpy", "scipy", "pandas", "patsy", "packaging"], "imports": ["statsmodels", "statsmodels.api"], "unvendored_tests": true}, "statsmodels-tests": {"name": "statsmodels-tests", "version": "0.13.2", "depends": ["statsmodels"], "imports": [], "file_name": "statsmodels-tests.tar", "install_dir": "site"}, "swiglpk": {"name": "swiglpk", "version": "5.0.3", "file_name": "swiglpk-5.0.2-cp310-cp310-emscripten_wasm32.whl", "install_dir": "site", "depends": [], "imports": ["swiglpk"]}, "sympy": {"name": "sympy", "version": "1.10.1", "file_name": "sympy-1.10.1-py3-none-any.whl", "install_dir": "site", "depends": ["distutils", "mpmath"], "imports": ["sympy"], "unvendored_tests": true}, "sympy-tests": {"name": "sympy-tests", "version": "1.10.1", "depends": ["sympy"], "imports": [], "file_name": "sympy-tests.tar", "install_dir": "site"}, "test": {"name": "test", "version": "1.0", "file_name": "test.tar", "install_dir": "lib", "depends": [], "imports": ["test"]}, "threadpoolctl": {"name": "threadpoolctl", "version": "3.1.0", "file_name": "threadpoolctl-3.1.0-py3-none-any.whl", "install_dir": "site", "depends": [], "imports": ["threadpoolctl"]}, "tomli": {"name": "tomli", "version": "2.0.1", "file_name": "tomli-2.0.1-py3-none-any.whl", "install_dir": "site", "depends": [], "imports": ["tomli"]}, "tomli-w": {"name": "tomli-w", "version": "1.0.0", "file_name": "tomli_w-1.0.0-py3-none-any.whl", "install_dir": "site", "depends": [], "imports": ["tomli_w"]}, "toolz": {"name": "toolz", "version": "0.11.2", "file_name": "toolz-0.11.2-py3-none-any.whl", "install_dir": "site", "depends": [], "imports": ["toolz"], "unvendored_tests": true}, "toolz-tests": {"name": "toolz-tests", "version": "0.11.2", "depends": ["toolz"], "imports": [], "file_name": "toolz-tests.tar", "install_dir": "site"}, "tqdm": {"name": "tqdm", "version": "4.64.0", "file_name": "tqdm-4.64.0-py2.py3-none-any.whl", "install_dir": "site", "depends": [], "imports": ["tqdm"]}, "traits": {"name": "traits", "version": "6.3.2", "file_name": "traits-6.3.2-cp310-cp310-emscripten_wasm32.whl", "install_dir": "site", "depends": [], "imports": ["traits"], "unvendored_tests": true}, "traits-tests": {"name": "traits-tests", "version": "6.3.2", "depends": ["traits"], "imports": [], "file_name": "traits-tests.tar", "install_dir": "site"}, "typing-extensions": {"name": "typing-extensions", "version": "4.1.1", "file_name": "typing_extensions-4.1.1-py3-none-any.whl", "install_dir": "site", "depends": [], "imports": ["typing_extensions"]}, "uncertainties": {"name": "uncertainties", "version": "3.1.6", "file_name": "uncertainties-3.1.6-py2.py3-none-any.whl", "install_dir": "site", "depends": ["future"], "imports": ["uncertainties"], "unvendored_tests": true}, "uncertainties-tests": {"name": "uncertainties-tests", "version": "3.1.6", "depends": ["uncertainties"], "imports": [], "file_name": "uncertainties-tests.tar", "install_dir": "site"}, "unyt": {"name": "unyt", "version": "2.8.0", "file_name": "unyt-2.8.0-py2.py3-none-any.whl", "install_dir": "site", "depends": ["numpy", "sympy"], "imports": ["unyt"], "unvendored_tests": true}, "unyt-tests": {"name": "unyt-tests", "version": "2.8.0", "depends": ["unyt"], "imports": [], "file_name": "unyt-tests.tar", "install_dir": "site"}, "webencodings": {"name": "webencodings", "version": "0.5.1", "file_name": "webencodings-0.5.1-py2.py3-none-any.whl", "install_dir": "site", "depends": [], "imports": ["webencodings"]}, "wrapt": {"name": "wrapt", "version": "1.14.0", "file_name": "wrapt-1.14.0-cp310-cp310-emscripten_wasm32.whl", "install_dir": "site", "depends": [], "imports": ["wrapt"]}, "xlrd": {"name": "xlrd", "version": "2.0.1", "file_name": "xlrd-2.0.1-py2.py3-none-any.whl", "install_dir": "site", "depends": [], "imports": ["xlrd"]}, "yt": {"name": "yt", "version": "4.0.2", "file_name": "yt-4.0.2-cp310-cp310-emscripten_wasm32.whl", "install_dir": "site", "depends": ["numpy", "matplotlib", "sympy", "setuptools", "packaging", "unyt", "cmyt", "colorspacious", "tqdm", "tomli", "tomli-w"], "imports": ["yt"]}, "zarr": {"name": "zarr", "version": "2.11.3", "file_name": "zarr-2.11.3-py3-none-any.whl", "install_dir": "site", "depends": ["numpy", "asciitree", "numcodecs"], "imports": ["zarr"], "unvendored_tests": true}, "zarr-tests": {"name": "zarr-tests", "version": "2.11.3", "depends": ["zarr"], "imports": [], "file_name": "zarr-tests.tar", "install_dir": "site"}}}
diff --git a/examples/tour-assets/pyodide/parso-0.8.3-py2.py3-none-any.whl b/examples/tour-assets/pyodide/parso-0.8.3-py2.py3-none-any.whl
new file mode 100644
index 0000000000000000000000000000000000000000..95cdcacb249a1113d262e9f5e29b4bc35d185e46
--- /dev/null
+++ b/examples/tour-assets/pyodide/parso-0.8.3-py2.py3-none-any.whl
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ce547e13dc33e13d966d483eb85afd242266b8563d12f0fe0a773b04e35fe4b1
+size 100781
diff --git a/examples/tour-assets/pyodide/parso-0.8.3-py2.py3-none-any.whl.1 b/examples/tour-assets/pyodide/parso-0.8.3-py2.py3-none-any.whl.1
new file mode 100644
index 0000000000000000000000000000000000000000..f3d38eae3ce8b5247140f1ad2ce48a055629be5b
Binary files /dev/null and b/examples/tour-assets/pyodide/parso-0.8.3-py2.py3-none-any.whl.1 differ
diff --git a/examples/tour-assets/pyodide/pyodide.asm.data b/examples/tour-assets/pyodide/pyodide.asm.data
new file mode 100644
index 0000000000000000000000000000000000000000..626afdd26a18b543d5f90e8b09d6c2ddce0c0ba9
--- /dev/null
+++ b/examples/tour-assets/pyodide/pyodide.asm.data
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:06cefad52c91c65dffc25406eb4db04fc02715377745171c6cba0a0887a20098
+size 5394245
diff --git a/examples/tour-assets/pyodide/pyodide.asm.js b/examples/tour-assets/pyodide/pyodide.asm.js
new file mode 100644
index 0000000000000000000000000000000000000000..dc9551b50999e3c9abb0c822bf4935278ddf1020
--- /dev/null
+++ b/examples/tour-assets/pyodide/pyodide.asm.js
@@ -0,0 +1,21 @@
+	"use strict";
+	let setImmediate = globalThis.setImmediate;
+	let clearImmediate = globalThis.clearImmediate;
+	let baseName, fpcGOT, dyncallGOT, fpVal, dcVal;
+
+
+var _createPyodideModule = (function() {
+  var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
+  if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;
+  return (
+function(_createPyodideModule) {
+  _createPyodideModule = _createPyodideModule || {};
+
+var Module=typeof _createPyodideModule!=="undefined"?_createPyodideModule:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH="";if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof process==="undefined"&&typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}var PACKAGE_NAME="build/pyodide.asm.data";var REMOTE_PACKAGE_BASE="pyodide.asm.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];var PACKAGE_UUID=metadata["package_uuid"];function fetchRemotePackage(packageName,packageSize,callback,errback){if(typeof process==="object"){require("fs").readFile(packageName,function(err,contents){if(err){errback(err)}else{callback(contents.buffer)}});return}var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","lib",true,true);Module["FS_createPath"]("/lib","python3.10",true,true);Module["FS_createPath"]("/lib/python3.10","asyncio",true,true);Module["FS_createPath"]("/lib/python3.10","collections",true,true);Module["FS_createPath"]("/lib/python3.10","concurrent",true,true);Module["FS_createPath"]("/lib/python3.10/concurrent","futures",true,true);Module["FS_createPath"]("/lib/python3.10","ctypes",true,true);Module["FS_createPath"]("/lib/python3.10/ctypes","macholib",true,true);Module["FS_createPath"]("/lib/python3.10","tzdata-2022.1.dist-info",true,true);Module["FS_createPath"]("/lib/python3.10","email",true,true);Module["FS_createPath"]("/lib/python3.10/email","mime",true,true);Module["FS_createPath"]("/lib/python3.10","encodings",true,true);Module["FS_createPath"]("/lib/python3.10","html",true,true);Module["FS_createPath"]("/lib/python3.10","http",true,true);Module["FS_createPath"]("/lib/python3.10","importlib",true,true);Module["FS_createPath"]("/lib/python3.10/importlib","metadata",true,true);Module["FS_createPath"]("/lib/python3.10","json",true,true);Module["FS_createPath"]("/lib/python3.10","logging",true,true);Module["FS_createPath"]("/lib/python3.10","multiprocessing",true,true);Module["FS_createPath"]("/lib/python3.10/multiprocessing","dummy",true,true);Module["FS_createPath"]("/lib/python3.10","pydoc_data",true,true);Module["FS_createPath"]("/lib/python3.10","site-packages",true,true);Module["FS_createPath"]("/lib/python3.10","sqlite3",true,true);Module["FS_createPath"]("/lib/python3.10","tzdata",true,true);Module["FS_createPath"]("/lib/python3.10/tzdata","zoneinfo",true,true);Module["FS_createPath"]("/lib/python3.10/tzdata/zoneinfo","Africa",true,true);Module["FS_createPath"]("/lib/python3.10/tzdata/zoneinfo","America",true,true);Module["FS_createPath"]("/lib/python3.10/tzdata/zoneinfo/America","Argentina",true,true);Module["FS_createPath"]("/lib/python3.10/tzdata/zoneinfo/America","Indiana",true,true);Module["FS_createPath"]("/lib/python3.10/tzdata/zoneinfo/America","Kentucky",true,true);Module["FS_createPath"]("/lib/python3.10/tzdata/zoneinfo/America","North_Dakota",true,true);Module["FS_createPath"]("/lib/python3.10/tzdata/zoneinfo","Antarctica",true,true);Module["FS_createPath"]("/lib/python3.10/tzdata/zoneinfo","Arctic",true,true);Module["FS_createPath"]("/lib/python3.10/tzdata/zoneinfo","Asia",true,true);Module["FS_createPath"]("/lib/python3.10/tzdata/zoneinfo","Atlantic",true,true);Module["FS_createPath"]("/lib/python3.10/tzdata/zoneinfo","Australia",true,true);Module["FS_createPath"]("/lib/python3.10/tzdata/zoneinfo","Brazil",true,true);Module["FS_createPath"]("/lib/python3.10/tzdata/zoneinfo","Canada",true,true);Module["FS_createPath"]("/lib/python3.10/tzdata/zoneinfo","Chile",true,true);Module["FS_createPath"]("/lib/python3.10/tzdata/zoneinfo","Etc",true,true);Module["FS_createPath"]("/lib/python3.10/tzdata/zoneinfo","Europe",true,true);Module["FS_createPath"]("/lib/python3.10/tzdata/zoneinfo","Indian",true,true);Module["FS_createPath"]("/lib/python3.10/tzdata/zoneinfo","Mexico",true,true);Module["FS_createPath"]("/lib/python3.10/tzdata/zoneinfo","Pacific",true,true);Module["FS_createPath"]("/lib/python3.10/tzdata/zoneinfo","US",true,true);Module["FS_createPath"]("/lib/python3.10","unittest",true,true);Module["FS_createPath"]("/lib/python3.10","urllib",true,true);Module["FS_createPath"]("/lib/python3.10","wsgiref",true,true);Module["FS_createPath"]("/lib/python3.10","xml",true,true);Module["FS_createPath"]("/lib/python3.10/xml","dom",true,true);Module["FS_createPath"]("/lib/python3.10/xml","etree",true,true);Module["FS_createPath"]("/lib/python3.10/xml","parsers",true,true);Module["FS_createPath"]("/lib/python3.10/xml","sax",true,true);Module["FS_createPath"]("/lib/python3.10","xmlrpc",true,true);Module["FS_createPath"]("/lib/python3.10","zoneinfo",true,true);function processPackageData(arrayBuffer){assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer instanceof ArrayBuffer,"bad input to processPackageData");var byteArray=new Uint8Array(arrayBuffer);var curr;var compressedData={"data":null,"cachedOffset":5390149,"cachedIndexes":[-1,-1],"cachedChunks":[null,null],"offsets":[0,1427,2589,3776,5322,6637,8053,9276,10176,11137,12037,13094,14287,15472,16494,17323,18687,19737,20743,21819,23063,24239,25564,26462,27523,28434,29550,30720,31889,33260,34562,35714,36757,37642,38556,39405,40881,42064,43063,44511,45497,46782,48199,49345,50556,51705,52993,54186,55445,56403,57319,58451,59379,60319,61186,62220,63435,64443,65350,66410,67290,68152,69248,70240,70978,72073,73044,74230,75235,76159,77200,78140,79045,79823,81151,82438,83559,84511,85683,86886,87862,88983,90211,91364,92318,93465,94498,95846,97112,97969,99164,99954,101058,102163,103080,104391,105594,106853,107597,108449,109217,110251,111158,112222,113491,114697,115935,116752,117792,118857,120082,121036,121961,122714,123447,124077,124771,125704,126285,126853,127634,128257,128767,129516,130347,131218,132051,132685,133827,134670,135352,136305,137212,137913,138757,139639,140404,141476,142880,144347,145447,146812,148275,149759,151035,152365,153818,155039,156248,157580,158904,160457,161772,163231,164657,165771,166740,168099,169547,170802,171678,172949,174299,175657,176688,177894,178942,179971,180976,182125,183331,184479,185632,186701,187802,188819,190113,191113,192241,193335,194561,195558,196718,197809,199167,200293,201409,202328,203387,204599,205864,206896,208016,209064,210096,210963,212164,213454,214797,216111,217205,218323,219455,220622,221904,223178,224320,225196,226346,227347,228599,230007,231429,232655,233807,234810,235532,236763,237939,238968,240353,241680,243024,244070,245249,246365,247345,248336,249377,250475,251332,252127,253112,254067,254818,255713,257145,258394,259698,260873,261858,262885,263781,264697,265605,266793,267875,268833,269948,270897,272095,273214,274147,274800,275551,276257,277314,278561,279770,280747,281817,282862,283938,284994,285982,286950,288083,289170,290196,291255,292336,293438,294291,295302,296315,297405,298488,299556,300404,301418,302454,303415,304427,305458,306686,308063,309083,310073,311333,312450,313776,315160,316388,317578,318615,319791,321046,322218,323363,324099,324837,325621,326554,327696,328859,329930,330716,331743,332623,333675,334571,335423,336286,337591,339188,340471,341374,342388,343446,345026,346586,347470,348703,349798,350777,351908,352990,354121,355451,356852,358009,359255,360509,361780,363165,364490,365769,367115,368258,369681,370881,371831,372875,374112,375288,376404,377670,378639,379566,380757,381718,383076,384217,385466,386597,388240,389307,390442,391536,392636,393826,394797,396024,397312,398622,399711,400760,401906,403141,404316,405520,406687,408039,409203,410389,411278,412215,413156,414155,415232,416153,417307,418578,419560,420718,422230,423604,424850,426253,427724,429046,430069,431130,432244,433256,434404,435525,436486,437487,438762,439928,441431,442524,443879,445181,446477,447678,449156,450211,451294,452741,454156,455070,456239,457435,458447,459517,460942,462208,463398,464577,465951,467319,468502,469760,470919,472123,473397,474650,476010,477191,478368,479361,480585,481739,482748,484116,485334,486032,487222,488810,490141,491382,492824,494024,495379,496720,497642,498940,500062,500960,502053,502940,504060,504942,506226,507562,508770,509943,510840,511766,512881,514058,515151,516095,517210,518226,519229,520426,521534,522584,523644,524748,525759,527062,528066,528992,530014,531274,532461,533547,534754,535698,536840,537943,539093,540196,541206,542471,543658,544989,546213,547358,548499,549769,551207,552359,553500,554713,556034,557358,558619,560022,561329,562662,563734,564915,566028,567061,568330,569364,570636,571730,572448,573517,574893,576013,577280,578587,579976,581138,582434,583657,584765,586101,587554,588755,589914,590994,592367,593576,594777,595712,597082,598407,599705,600961,602247,603544,604958,606195,607481,608840,609922,610972,612145,613236,614738,615817,616754,617559,618292,619114,620329,621554,622788,623678,624883,626021,627193,628240,629094,630186,631448,632584,633801,634992,636022,637147,638126,639350,640493,641275,642351,643422,644643,645574,646664,648087,649543,651012,652618,654063,655473,656895,658245,659461,660737,662145,663447,664719,666047,667264,668491,669694,670835,672174,673531,674719,676011,677312,678447,679732,681017,682399,683664,684853,686135,687550,688817,690082,691347,692060,693274,694341,695471,696764,698056,699237,700377,701630,702902,704040,705481,706683,708037,709047,710123,711344,712504,713651,714861,715946,717452,718833,719764,721042,722484,723908,725212,726438,727644,728759,730029,731460,732712,734007,735256,736406,737691,738830,739961,741010,742098,743208,744362,745647,746530,747750,748875,749923,751184,752329,753509,754852,756098,757197,758272,759326,760679,762063,763314,764729,765988,767020,768212,769249,770502,771795,773001,774006,775123,776090,777254,778449,779782,780831,782072,783336,784288,785401,786754,787996,789154,790372,791545,792720,793884,795020,796308,797418,798254,799148,800407,801786,802972,803891,804848,806260,807745,809198,810062,811352,812461,813399,814258,815508,816838,817972,819458,820779,821736,822711,823912,825093,826132,827281,828579,829566,830534,831354,832648,833832,834967,836537,837898,839133,840254,841420,842634,843695,844829,845879,847123,848420,849587,850595,851702,852900,854179,855492,856709,857852,858299,859270,860309,861462,862702,863913,865447,866700,867675,868809,870091,871403,872706,873913,875021,876102,877284,878583,879963,881485,882847,883983,885335,886599,887836,889356,890921,892072,893254,894372,895003,896250,897361,898497,899294,900575,901549,902208,903318,904374,905560,906565,907931,909291,910545,911742,912807,914268,915482,916883,918146,919327,920300,921360,922626,923779,925079,926247,927695,928946,930103,931359,932602,933902,935534,937207,938503,940024,941473,942834,943866,945106,946479,947567,948911,949916,951037,952276,953813,954618,956014,957391,958478,959695,960939,962226,963240,964209,965233,966204,967326,968411,969471,970621,971735,972793,973780,974935,976050,977098,978206,979591,980924,982268,983571,984475,985762,986978,988283,989506,990681,992047,993531,994822,995890,997035,997937,999087,1000089,1001210,1002499,1003829,1005064,1006199,1007549,1008624,1009791,1011032,1012176,1013398,1014564,1015572,1016762,1018138,1019273,1020478,1021604,1022677,1023827,1025013,1026232,1027462,1028715,1029794,1030908,1031986,1033193,1034310,1035491,1036758,1037877,1039005,1040150,1041256,1042096,1043129,1044233,1045256,1046448,1047508,1048585,1049625,1050554,1051662,1052773,1053628,1054641,1055582,1056560,1057677,1058762,1060007,1061493,1062824,1063982,1064949,1066179,1067300,1068382,1069719,1070673,1071685,1072893,1074060,1075125,1076004,1077121,1078173,1079287,1080329,1081378,1082041,1083268,1084403,1085619,1086478,1087394,1088573,1089552,1090819,1091897,1092916,1093989,1095127,1096307,1097246,1098150,1099225,1100240,1101361,1102457,1103689,1104836,1106047,1107472,1108672,1109882,1111002,1112251,1113385,1114491,1115475,1116836,1118060,1119256,1120099,1121302,1122092,1122815,1123570,1124084,1124657,1125219,1125722,1126242,1126812,1127367,1127916,1128503,1129085,1129625,1130175,1130774,1131328,1131921,1132512,1133127,1134411,1135563,1136845,1137970,1138967,1140384,1141678,1142715,1143762,1144995,1146232,1147523,1148503,1149275,1150359,1151297,1152512,1153627,1154667,1155712,1156904,1158140,1159340,1160485,1161451,1162594,1163634,1164589,1165681,1166502,1167160,1168155,1169217,1170211,1171183,1172238,1173173,1173985,1174744,1175672,1176694,1177587,1178496,1179362,1180095,1181100,1181902,1182844,1184009,1185086,1186509,1187751,1189020,1190192,1191391,1192659,1193724,1194701,1195794,1197001,1198290,1199237,1199908,1200717,1201903,1203391,1204524,1205495,1206277,1207370,1208305,1209308,1210360,1211446,1212517,1213603,1214779,1216058,1217004,1218092,1219550,1220942,1222299,1223653,1225091,1226481,1227813,1229028,1230156,1231127,1232284,1233554,1234727,1235661,1236588,1237671,1238823,1239971,1241138,1242421,1243854,1245037,1246280,1247612,1249009,1250253,1251071,1252180,1253445,1254569,1255762,1256942,1258253,1259640,1260919,1262498,1263147,1264193,1265131,1265929,1267287,1268376,1269495,1270728,1271694,1272955,1273888,1274911,1276206,1277780,1278884,1280125,1281099,1282271,1283266,1284519,1285490,1286796,1287882,1288874,1289759,1290713,1291687,1292854,1294014,1294953,1295877,1297126,1298541,1299678,1300811,1301870,1303090,1304260,1305440,1306561,1307531,1308902,1310310,1311361,1312819,1314130,1315562,1317055,1318144,1319525,1320688,1321567,1322867,1323889,1324936,1325967,1327090,1327847,1328926,1330200,1331402,1332768,1333880,1335278,1336456,1337785,1338878,1339973,1340841,1342117,1343392,1344487,1345374,1346442,1347579,1348698,1349823,1351113,1352241,1353383,1354470,1355340,1356333,1357124,1357793,1359222,1360804,1362226,1363338,1364571,1365749,1366974,1368162,1369385,1370719,1372014,1373242,1374216,1375419,1376689,1377667,1378739,1379745,1380898,1382204,1383397,1384401,1385581,1386614,1387688,1388998,1390206,1391422,1392848,1394253,1395524,1396817,1398238,1399481,1400775,1401853,1402707,1403935,1405306,1406544,1407736,1408776,1409923,1411075,1412344,1413278,1414216,1415236,1416335,1417275,1418379,1419480,1420822,1421905,1422882,1423715,1424680,1425791,1426730,1427735,1428722,1429772,1431002,1432587,1434125,1435653,1437060,1438096,1438896,1439963,1440987,1441836,1442692,1443889,1444801,1445916,1446971,1448245,1449591,1450493,1451743,1453060,1454104,1454980,1455807,1456534,1457794,1458706,1459712,1460737,1461833,1462664,1463864,1465171,1466543,1467897,1469132,1470469,1471566,1472817,1474027,1475530,1476545,1477809,1478854,1479906,1480863,1482147,1483528,1484916,1485794,1486857,1488028,1489453,1490624,1491867,1492962,1494016,1495047,1496325,1497626,1499129,1500481,1501941,1503349,1504940,1506366,1507965,1509286,1510495,1511716,1512842,1514140,1515314,1516498,1517874,1519167,1520500,1521738,1522770,1524028,1524815,1525715,1526965,1528229,1529622,1531109,1532440,1533441,1534499,1535530,1536705,1537874,1538872,1540013,1541112,1541964,1542816,1543939,1545527,1546850,1547951,1549046,1550326,1551639,1552711,1554196,1555634,1556838,1558083,1559295,1560619,1561779,1563096,1564618,1565708,1566927,1567928,1568720,1569753,1570688,1571576,1572573,1573303,1574197,1575151,1576678,1577744,1579108,1580282,1581283,1582177,1583421,1584653,1586123,1587362,1588649,1590100,1591528,1592878,1594055,1594968,1595972,1597093,1598168,1598971,1599978,1601207,1602319,1603178,1604059,1605255,1606490,1607729,1608982,1610274,1611662,1612881,1614182,1615400,1616619,1617817,1618725,1620029,1621565,1622641,1623879,1625244,1626599,1627831,1629030,1630301,1631510,1632742,1633920,1635094,1636241,1637385,1638509,1639484,1640563,1641380,1642281,1643453,1644656,1645969,1647175,1648245,1649135,1650250,1651035,1651976,1653091,1654244,1655545,1656785,1657909,1659095,1660306,1661432,1662495,1663620,1664825,1666037,1667057,1668376,1669509,1670823,1672052,1673150,1674342,1675522,1676424,1677425,1678610,1679841,1681010,1682410,1683564,1684679,1685696,1686923,1688147,1689462,1690694,1691914,1693220,1694651,1695902,1697135,1698221,1699357,1700435,1701698,1702957,1704164,1705466,1706781,1708132,1709301,1710615,1711809,1712990,1714264,1715285,1716718,1717981,1719022,1720199,1721388,1722548,1723493,1724540,1726099,1727266,1728463,1729661,1730833,1732087,1733316,1734624,1735977,1737384,1738806,1740001,1741333,1742561,1743818,1744941,1746155,1747191,1748297,1749243,1750240,1751044,1752172,1753570,1755050,1756105,1757296,1758669,1759823,1760831,1761621,1762417,1763078,1764352,1765710,1767052,1768478,1769726,1770836,1772030,1773321,1774483,1775553,1776938,1778017,1779005,1780157,1781365,1782710,1783874,1784941,1785915,1787216,1788479,1789819,1791001,1792066,1793375,1794725,1796013,1797067,1798391,1799879,1801199,1802351,1803661,1804858,1806131,1807440,1808737,1809754,1811019,1812523,1813993,1815189,1815758,1816327,1817423,1818383,1819490,1820342,1821394,1822491,1823763,1825004,1826204,1827460,1828523,1829607,1831213,1832435,1833683,1834965,1836142,1837360,1838507,1839708,1840950,1842136,1843373,1844560,1845634,1846865,1848006,1849307,1850561,1851817,1853037,1854330,1855371,1856653,1858129,1859389,1860521,1861740,1863133,1864346,1865344,1866326,1867485,1868752,1869926,1870948,1872049,1873201,1874326,1875500,1876915,1877872,1879276,1880557,1881805,1883307,1884421,1885452,1886313,1887341,1888298,1889105,1890091,1891284,1892288,1893091,1893993,1894927,1895637,1896428,1897405,1898472,1899390,1900659,1901477,1902920,1904330,1905870,1907066,1908364,1909457,1910518,1911569,1912742,1913817,1914877,1916031,1917339,1918749,1919866,1920690,1921441,1922284,1923169,1924269,1925707,1926880,1927978,1929259,1930158,1930912,1932222,1933478,1934385,1935620,1936854,1938038,1939125,1940644,1941842,1943173,1944312,1945500,1946484,1947530,1948701,1949694,1950916,1952292,1953517,1954552,1955839,1956899,1958037,1958814,1959825,1960620,1961709,1962789,1964191,1965560,1966538,1967740,1968943,1969972,1971351,1972703,1974017,1975352,1976659,1977718,1979117,1980668,1981999,1983481,1984676,1985771,1986970,1988428,1989614,1990964,1992196,1993389,1994218,1995390,1996753,1997609,1998718,1999749,2001180,2002048,2003282,2004284,2005302,2006332,2007353,2008683,2009656,2010747,2012087,2013350,2014540,2015931,2017196,2018454,2019723,2020915,2022327,2023633,2024671,2025955,2026806,2027728,2028766,2030022,2031229,2032350,2033458,2034374,2035024,2036098,2037035,2038087,2039139,2040119,2041141,2042047,2043036,2044089,2045074,2046077,2047167,2048237,2049274,2050140,2051129,2052234,2053558,2054809,2055929,2056738,2057648,2058620,2059613,2060395,2061563,2062522,2063487,2064347,2065163,2066452,2067406,2068134,2069389,2070622,2071777,2072884,2074186,2075553,2076732,2077866,2079172,2080555,2081956,2083461,2084648,2085818,2087051,2088268,2089588,2091123,2092145,2093380,2094784,2095856,2096992,2098118,2099162,2100197,2101284,2102321,2103541,2104664,2105578,2106721,2107770,2109021,2110228,2111443,2112596,2113888,2115066,2116099,2117173,2118318,2119469,2120592,2121537,2122518,2123376,2124233,2125399,2126633,2127681,2128783,2130045,2131225,2132379,2133403,2134432,2135522,2136507,2137492,2138722,2139955,2140881,2142498,2143760,2145245,2146461,2147676,2148615,2149462,2150414,2151345,2152285,2153561,2154980,2156335,2157656,2158974,2160186,2161397,2162772,2164046,2165384,2166704,2167843,2168894,2169845,2171003,2172498,2173835,2175071,2176135,2177468,2178835,2179919,2180900,2182217,2183506,2185084,2186227,2187400,2188637,2189782,2191026,2192121,2193422,2194681,2195963,2197332,2198584,2199647,2201032,2202371,2203598,2204914,2206046,2207414,2208677,2209818,2210817,2211915,2213064,2214261,2215408,2216793,2218122,2219565,2221086,2222220,2223570,2224804,2226043,2227283,2228595,2230101,2231412,2232640,2233637,2234823,2236215,2237250,2238639,2239619,2240614,2241578,2242764,2244002,2245511,2246624,2247751,2248834,2249962,2251214,2252508,2253491,2254573,2255543,2256377,2257440,2258655,2259800,2261018,2262401,2263639,2264838,2266042,2267257,2268435,2269464,2270575,2271670,2272737,2273903,2275145,2276107,2277005,2278035,2279121,2280145,2281121,2282118,2282843,2284037,2285483,2286754,2288013,2288973,2290213,2291652,2293001,2294307,2295547,2296761,2297848,2299128,2300374,2301798,2303240,2304429,2305416,2306798,2307916,2309233,2310532,2311759,2312902,2314101,2315150,2316189,2317439,2318444,2319781,2321065,2322317,2323525,2324703,2325908,2327330,2328759,2329907,2330996,2332136,2333373,2334540,2335720,2336820,2337889,2339198,2340326,2341708,2343129,2343972,2345298,2346634,2347811,2349086,2350531,2351761,2352988,2354117,2355086,2355995,2357193,2358675,2359957,2361026,2362211,2363614,2364912,2366141,2367279,2368430,2369683,2370827,2372061,2373272,2374471,2375656,2376976,2378173,2379410,2380490,2381464,2382590,2383563,2384394,2385367,2386567,2387751,2389010,2389764,2390691,2391878,2393141,2394062,2395173,2396367,2397482,2398720,2399724,2400532,2401934,2403208,2404600,2405799,2407253,2408367,2409652,2410933,2412209,2413423,2414493,2415462,2416796,2418118,2419138,2420095,2421253,2422473,2423503,2424499,2425463,2426537,2427512,2428794,2430005,2430997,2432127,2433307,2434533,2435777,2436820,2438090,2439282,2440369,2441474,2442568,2443453,2444340,2445529,2446255,2447251,2447900,2449032,2450288,2451658,2452755,2453759,2455092,2456312,2457436,2458612,2459688,2460842,2462114,2463345,2464170,2465035,2466635,2467661,2468987,2470287,2471632,2472998,2474434,2475996,2477601,2479178,2480716,2482037,2483016,2484054,2485059,2485939,2486837,2487718,2488595,2489437,2490617,2491497,2492680,2493414,2494736,2495857,2496924,2498324,2499696,2500935,2502187,2503229,2504188,2505360,2506546,2507462,2508573,2509730,2510902,2512022,2513064,2514150,2515190,2516230,2517448,2518493,2519639,2520882,2521841,2522978,2524109,2525148,2526128,2527206,2528383,2529513,2530400,2531338,2532378,2533513,2534554,2535674,2536775,2537920,2539195,2540211,2541318,2542185,2543321,2544435,2545830,2547112,2548389,2549648,2550687,2551801,2553005,2553950,2555025,2556010,2557372,2558482,2559735,2560582,2561436,2562621,2563692,2564646,2565840,2567060,2568435,2569772,2570943,2571938,2572959,2574092,2575125,2576474,2577668,2578994,2580299,2581459,2582809,2584054,2585319,2586322,2587431,2588604,2589579,2590695,2591880,2592937,2594206,2595210,2596141,2597195,2598126,2599125,2600400,2601369,2602634,2604050,2605433,2606801,2607903,2608990,2610192,2611536,2612772,2613803,2614948,2616231,2617206,2617994,2619e3,2620065,2621280,2622529,2623690,2624851,2625871,2627007,2628092,2628733,2629918,2630884,2632107,2633106,2634532,2635581,2636772,2637852,2639099,2640217,2641446,2642672,2643744,2644775,2645787,2646957,2647982,2649355,2650684,2651987,2653256,2654313,2655354,2656533,2657460,2658615,2659786,2660843,2662197,2663517,2664731,2666002,2667159,2667925,2668997,2669942,2671304,2672626,2673799,2675143,2676256,2677167,2678554,2679781,2680949,2682314,2683568,2684938,2686103,2687313,2688534,2689724,2690892,2692135,2693372,2694387,2695239,2696462,2697180,2697741,2698973,2700160,2701172,2702110,2703122,2704280,2705344,2706382,2707532,2708556,2709724,2710869,2711920,2712964,2714229,2715382,2716610,2717784,2719019,2720232,2721341,2722604,2723808,2725027,2726194,2727419,2728585,2729639,2730753,2732005,2733163,2734168,2735348,2735953,2736854,2737993,2739217,2740520,2741817,2742981,2744173,2745442,2746548,2747606,2748667,2749980,2751050,2752146,2753218,2754483,2755652,2756911,2758207,2759502,2760906,2762013,2762829,2764092,2764722,2765559,2766832,2768006,2768994,2769949,2770615,2771404,2772164,2772956,2773769,2774743,2775706,2776618,2777981,2779132,2780358,2781171,2782230,2783312,2784324,2785649,2786938,2788096,2789470,2790528,2791733,2793008,2794172,2795278,2796454,2797572,2798718,2800062,2801165,2802345,2803561,2804821,2806018,2807274,2808347,2809400,2810603,2811649,2812792,2813754,2815071,2816245,2817501,2818629,2819973,2821483,2822841,2824243,2825628,2826972,2828485,2829702,2830898,2832310,2833322,2834366,2835487,2836600,2837599,2838550,2839305,2840604,2841621,2842662,2843714,2844653,2846066,2847418,2848709,2849910,2851395,2852943,2854391,2855276,2856036,2857238,2858575,2859894,2861216,2862436,2863737,2865066,2866194,2867393,2868759,2870188,2871561,2872950,2874261,2875310,2876621,2877868,2879123,2880384,2881649,2882845,2884277,2885618,2886911,2888242,2889429,2890965,2892366,2893650,2894970,2896535,2897965,2899429,2900451,2901216,2901808,2902495,2903461,2904525,2905562,2906637,2907842,2908882,2910271,2911597,2912932,2914177,2915351,2916426,2917374,2918326,2919657,2920629,2921478,2922636,2923641,2924680,2925702,2926756,2927919,2928872,2930070,2931352,2932232,2933258,2934499,2935173,2936450,2937500,2938731,2939976,2941047,2942012,2943208,2944295,2945306,2946217,2947655,2948815,2950044,2951223,2952580,2954016,2955370,2956613,2958070,2959015,2959907,2960953,2962071,2963012,2964377,2965541,2966921,2968197,2969394,2970606,2971634,2972964,2974502,2975764,2977220,2978577,2980136,2981549,2982658,2983875,2985272,2986476,2987628,2988713,2990052,2991107,2992138,2993239,2994494,2995587,2996727,2997991,2999282,3000500,3002076,3003377,3004664,3005875,3007086,3008050,3009220,3010151,3011125,3012302,3013472,3014963,3016223,3017508,3018822,3020048,3021274,3022541,3023956,3025335,3026424,3027886,3029136,3030270,3031547,3032727,3033994,3035464,3036597,3037698,3038990,3040348,3041479,3042763,3043860,3045137,3046516,3047856,3048962,3050015,3051023,3051876,3052991,3054352,3055893,3057176,3058508,3059685,3060882,3062020,3063071,3064269,3065111,3066269,3067521,3068573,3069717,3071015,3071921,3073145,3074290,3075444,3076738,3077848,3079079,3080188,3081137,3082544,3083777,3085014,3086175,3087478,3088783,3090084,3091468,3092877,3094185,3095490,3096725,3098169,3099632,3101082,3102519,3103819,3105106,3106516,3107796,3109206,3110484,3111751,3113e3,3114424,3115873,3116951,3118259,3119027,3119825,3120612,3121333,3122e3,3122951,3123767,3124926,3125787,3126817,3127978,3128813,3129830,3130666,3131520,3132307,3133193,3133948,3135064,3136072,3136748,3137467,3138192,3138799,3139660,3140691,3141569,3142424,3143265,3144192,3144988,3145935,3146572,3147194,3147968,3148996,3149821,3150509,3151122,3151798,3152508,3153382,3154360,3155022,3155744,3156354,3157074,3157802,3158825,3159673,3160516,3161341,3162266,3162969,3164022,3165037,3165804,3166600,3167568,3168334,3169074,3170180,3171178,3171850,3172696,3173594,3174176,3175019,3176111,3176885,3177695,3178676,3179462,3180092,3181168,3182195,3182868,3183666,3184620,3185296,3186193,3187280,3188043,3188863,3189837,3190620,3191286,3192395,3193420,3194086,3194926,3195904,3196680,3197747,3198790,3199507,3200366,3201422,3202166,3203260,3204302,3205054,3205862,3206838,3207630,3208351,3209464,3210463,3211144,3211993,3212926,3213676,3214624,3215756,3216817,3217650,3218450,3219355,3220078,3221124,3222217,3223249,3224134,3224964,3225610,3226655,3227311,3228128,3228879,3229958,3230894,3231560,3232238,3233101,3233722,3234777,3235740,3236489,3237265,3237982,3238827,3239496,3240581,3241439,3242227,3243082,3243957,3244693,3245666,3246392,3247241,3247931,3248776,3249482,3250264,3251405,3252027,3252722,3253468,3254511,3255438,3256103,3256810,3257505,3258160,3258997,3259962,3260710,3261431,3262060,3262809,3263483,3264564,3265290,3266094,3266848,3267961,3268838,3269503,3270261,3271132,3271839,3272814,3273793,3274493,3275286,3275977,3276596,3277318,3278341,3279087,3279837,3280666,3281699,3282478,3283182,3283813,3284673,3285451,3286498,3287435,3288111,3289038,3289673,3290361,3291186,3292092,3292852,3293573,3294430,3295409,3296135,3296847,3297586,3298381,3299188,3300232,3301146,3301822,3302605,3303247,3303870,3304694,3305561,3306274,3306989,3307762,3308751,3309486,3310171,3310789,3311510,3312207,3313219,3314010,3314755,3315374,3315978,3316653,3317664,3318683,3319441,3320181,3320980,3321637,3322743,3323443,3324253,3325051,3326131,3327044,3327712,3328420,3329281,3330079,3331048,3332029,3332739,3333562,3334356,3334989,3335732,3336627,3337436,3338161,3339029,3340052,3340768,3341502,3342141,3342996,3343743,3344821,3345710,3346385,3347338,3347966,3348655,3349522,3350324,3351180,3351859,3352880,3353861,3354549,3355224,3355974,3356602,3357484,3358555,3359367,3360089,3360878,3361663,3362374,3363316,3364081,3364896,3365589,3366624,3367587,3368238,3368924,3369747,3370360,3371282,3372335,3373100,3373881,3374651,3375511,3376195,3377155,3377965,3378732,3379514,3380615,3381494,3382160,3382952,3383780,3384516,3385595,3386568,3387232,3388083,3388833,3389664,3390545,3391451,3392352,3392992,3394e3,3394997,3395716,3396397,3397211,3397842,3398726,3399799,3400612,3401334,3402144,3402975,3403661,3404619,3405574,3406328,3407025,3407970,3408891,3409561,3410481,3411307,3411978,3412735,3413712,3414406,3415237,3416028,3416640,3417376,3418249,3419106,3419725,3420668,3421694,3422417,3423156,3423794,3424618,3425370,3426479,3427398,3428079,3428974,3429670,3430523,3431392,3432215,3432927,3433559,3434406,3435378,3436115,3436786,3437367,3438019,3438741,3439779,3440638,3441323,3441992,3442571,3443322,3444219,3445105,3445868,3446609,3447575,3448535,3449194,3449986,3450780,3451498,3452376,3453362,3454041,3454870,3455499,3456210,3457060,3458162,3459009,3459760,3460454,3461191,3462141,3463144,3464046,3464879,3465657,3466405,3467315,3468031,3468610,3469180,3469756,3470304,3471320,3472373,3473347,3474031,3474734,3475581,3476242,3477358,3478415,3479390,3480467,3481440,3482312,3482895,3483484,3484084,3485135,3486141,3486820,3487541,3488413,3489067,3490002,3491045,3491795,3492510,3493254,3493986,3494701,3495818,3496835,3497502,3498183,3498902,3499666,3500755,3501769,3502428,3503090,3504043,3504776,3505713,3506799,3507598,3508343,3509079,3509752,3510402,3511414,3512451,3513184,3513845,3514788,3515408,3516238,3517327,3518202,3518912,3519703,3520552,3521255,3522274,3523291,3524053,3524720,3525510,3526222,3527065,3528090,3529027,3529709,3530493,3531317,3532021,3533061,3534098,3534835,3535496,3536308,3537037,3537954,3539005,3539917,3540606,3541342,3541943,3542545,3543624,3544650,3545327,3545987,3546711,3547634,3548682,3549442,3550149,3551055,3551716,3552577,3553666,3554538,3555246,3556025,3556756,3557856,3558867,3559529,3560205,3561114,3561776,3562684,3563734,3564732,3565410,3566256,3567011,3567670,3568464,3569518,3570415,3571098,3571966,3572814,3573416,3574449,3575480,3576181,3576930,3577821,3578536,3579225,3580233,3581190,3581864,3582711,3583604,3584173,3585070,3586006,3586728,3587512,3588279,3588928,3589691,3590441,3591158,3591922,3592721,3593465,3594095,3594831,3595551,3596231,3596957,3597710,3598421,3599384,3600215,3600877,3601598,3602508,3603472,3604433,3605184,3606081,3606772,3607460,3608407,3609124,3610092,3610790,3611510,3612201,3613018,3613819,3614699,3615648,3616398,3617279,3617983,3618882,3619811,3620562,3621548,3622227,3622986,3623720,3624427,3625496,3626407,3627550,3628550,3629229,3629980,3630884,3631721,3632618,3633388,3634251,3634936,3635643,3636651,3637550,3638617,3639322,3640069,3640838,3641541,3642598,3643501,3644492,3645288,3645977,3646694,3647567,3648558,3649661,3650576,3651623,3652523,3653208,3654256,3655111,3655765,3656774,3657823,3658582,3659380,3660142,3660982,3661583,3662767,3663994,3665167,3666118,3667093,3668120,3668943,3669760,3670830,3671711,3672415,3673149,3673882,3674938,3675875,3676909,3677883,3678889,3679771,3680736,3681665,3682259,3683010,3684034,3685019,3686255,3687230,3688578,3689741,3691024,3691901,3692811,3694064,3695217,3696475,3697704,3698940,3700125,3701272,3702176,3703024,3703986,3704898,3705823,3706734,3707695,3708577,3709525,3710412,3711339,3712227,3713168,3714086,3714927,3715724,3716571,3717515,3718430,3719335,3720247,3721147,3721996,3722901,3723832,3724731,3725595,3726860,3728219,3729526,3730508,3731254,3732275,3733323,3734405,3735397,3736786,3738124,3739529,3740817,3742170,3743609,3745124,3746565,3747784,3749e3,3750204,3751336,3752565,3753578,3754687,3755735,3757035,3758370,3759543,3760899,3762027,3763230,3764453,3765750,3766823,3767826,3769043,3770230,3771393,3772393,3773438,3774831,3776179,3777542,3778882,3780169,3781546,3782683,3784057,3785354,3786572,3788084,3789544,3790669,3791873,3792817,3793901,3794804,3795879,3797026,3797865,3798909,3800194,3801423,3802448,3803616,3804548,3805640,3806717,3807834,3808858,3809850,3810920,3812133,3813334,3814184,3815606,3816567,3817716,3819282,3820621,3822127,3823533,3824619,3825762,3826952,3828150,3829500,3830591,3832078,3833508,3834965,3836439,3837794,3838731,3839923,3841098,3842288,3843454,3844802,3846075,3847251,3848413,3849653,3850966,3852342,3853599,3854774,3855765,3857012,3858166,3859416,3860448,3861731,3862887,3864182,3865492,3866898,3867993,3869137,3870352,3871618,3872822,3873778,3874849,3875840,3876958,3878019,3879323,3880314,3881399,3882590,3883759,3884958,3886308,3887552,3888726,3890104,3891206,3892442,3893839,3894902,3896106,3897388,3898869,3900185,3901360,3902728,3904169,3905202,3906416,3907733,3908763,3909963,3911114,3912057,3912993,3914267,3915477,3916626,3917768,3918933,3920026,3921127,3922428,3923621,3924819,3926026,3927332,3928690,3929830,3930982,3932169,3933290,3934427,3935536,3936581,3937729,3938924,3940177,3941400,3942501,3943729,3944846,3945863,3947170,3948431,3949647,3950839,3952042,3953002,3954134,3955297,3956495,3957727,3958851,3960116,3961401,3962522,3963685,3964746,3966030,3967333,3968702,3970063,3971240,3972552,3973864,3975316,3976633,3977928,3978935,3980122,3981452,3982638,3983935,3984822,3985923,3987112,3988287,3989458,3990786,3992034,3993075,3994023,3995014,3995698,3996801,3997950,3999094,4000676,4001891,4003290,4004640,4005867,4007169,4008405,4009421,4010474,4011746,4013107,4014391,4015591,4016737,4017921,4019207,4020233,4021594,4022730,4024017,4025220,4026427,4027736,4028725,4030053,4030858,4031927,4033156,4034295,4035411,4036681,4037676,4038649,4039933,4041104,4042026,4042846,4043954,4045208,4046751,4048077,4049417,4050708,4052038,4052969,4054190,4055146,4056272,4056888,4057786,4058843,4059912,4060918,4062025,4063282,4064366,4065433,4066989,4068079,4069445,4070590,4071651,4072934,4074110,4075247,4076461,4077714,4078994,4080314,4081503,4082735,4084124,4085241,4086467,4087548,4088818,4090011,4091119,4092306,4093488,4094714,4095965,4097237,4098436,4099710,4100845,4102231,4103617,4104717,4105650,4106811,4107755,4108838,4110104,4111144,4112294,4113460,4114549,4115640,4116848,4117844,4119043,4120068,4120983,4121864,4123097,4124079,4125080,4126295,4127469,4128581,4129800,4130701,4131832,4133163,4134480,4135700,4136605,4137866,4139165,4140513,4141840,4142893,4143920,4144900,4146054,4147129,4148338,4149449,4150492,4151586,4152748,4153922,4155048,4156268,4157551,4158542,4159329,4160457,4161549,4162648,4163791,4164840,4166165,4167444,4168755,4169703,4170711,4171820,4172885,4173689,4174826,4175769,4176752,4177860,4178915,4179926,4180892,4182073,4183110,4184380,4185538,4186951,4188007,4189296,4190320,4191374,4192436,4193600,4194943,4196048,4197034,4198082,4199107,4200351,4201613,4202738,4203812,4204912,4206115,4207323,4208414,4209485,4210915,4212126,4213214,4214359,4215747,4216853,4217789,4218859,4220258,4221262,4222155,4223085,4224066,4225328,4226315,4227484,4228734,4229985,4231361,4232556,4233803,4235126,4236168,4236990,4238041,4239001,4240335,4241484,4242793,4243824,4245009,4246298,4247547,4248823,4250131,4251261,4252337,4253405,4254354,4255381,4256412,4257471,4258459,4259476,4260418,4261495,4262433,4263461,4264227,4265265,4266306,4267216,4268086,4268914,4269833,4270694,4271600,4272534,4273469,4274392,4275304,4276123,4277086,4278044,4279059,4280151,4281198,4282319,4283248,4284204,4285227,4286288,4287275,4288482,4289515,4290642,4291727,4292868,4294020,4295098,4296124,4297191,4298262,4299262,4300285,4301242,4302274,4303309,4304237,4305254,4306239,4307241,4308183,4309226,4310103,4311006,4311992,4312974,4313817,4314752,4315820,4316802,4317708,4318591,4319500,4320508,4321502,4322457,4323299,4324184,4325135,4326075,4327003,4327797,4328677,4329654,4330791,4331760,4332872,4333885,4334882,4335928,4336900,4337766,4338703,4339633,4340569,4341599,4342618,4343590,4344531,4345526,4346529,4347452,4348365,4349404,4350392,4351384,4352410,4353484,4354541,4355518,4356556,4357643,4358707,4359861,4360915,4361923,4362869,4363955,4364938,4365872,4366710,4367744,4368954,4370183,4371373,4372504,4373605,4374620,4375562,4376579,4377613,4378713,4379758,4380865,4381948,4383048,4384279,4385466,4386487,4387484,4388482,4389425,4390461,4391249,4391990,4392986,4393947,4394696,4395210,4395951,4396687,4397501,4398346,4399105,4400015,4400858,4401686,4402624,4403434,4404478,4405597,4406615,4407684,4408765,4409863,4411009,4411931,4412958,4413973,4415088,4416107,4417269,4418287,4419469,4420545,4421707,4422825,4424033,4425095,4426142,4427199,4428288,4429349,4430427,4431486,4432364,4433182,4434121,4435046,4435883,4437020,4438144,4439253,4440285,4440826,4441242,4441733,4442749,4443728,4444899,4446040,4446933,4447958,4449039,4450025,4450964,4451896,4452644,4453532,4454552,4455579,4456485,4457529,4458651,4459601,4460632,4461632,4462642,4463613,4464570,4465536,4466559,4467608,4468622,4469753,4470681,4471692,4472520,4473488,4474442,4475386,4476419,4477371,4478361,4479271,4480260,4481236,4482209,4483125,4483988,4484892,4485837,4486836,4487884,4488918,4489783,4490723,4491706,4492594,4493493,4494543,4495528,4496521,4497461,4498245,4499233,4500062,4500880,4501719,4502711,4503635,4504634,4505639,4506699,4507648,4508676,4509676,4510665,4511641,4512602,4513594,4514453,4515269,4516088,4517015,4517812,4518688,4519585,4520418,4521329,4522255,4523061,4523627,4524267,4525117,4526064,4527019,4527978,4528837,4529967,4530950,4531374,4532142,4533254,4534203,4535379,4536435,4537628,4538615,4539643,4540831,4541922,4543021,4544199,4545276,4546385,4547543,4548724,4549604,4550257,4550956,4551979,4552890,4553962,4554861,4555933,4557014,4558207,4559184,4560280,4561465,4562412,4563533,4564696,4565768,4566905,4567891,4569001,4569976,4570910,4571774,4572639,4573458,4574324,4575194,4576126,4576994,4577977,4578997,4580025,4581122,4581961,4582493,4583582,4584561,4585724,4586758,4587508,4588095,4588727,4589752,4590804,4591916,4593e3,4594086,4595100,4596038,4597027,4597781,4598276,4598842,4599468,4600498,4601623,4602675,4603655,4604864,4606387,4607822,4609189,4610404,4611855,4613174,4614435,4615543,4616962,4618309,4619655,4621002,4622182,4623192,4624563,4625962,4627221,4628544,4629819,4631152,4632402,4633739,4634904,4636720,4638605,4640238,4641300,4642473,4643533,4644369,4645266,4646410,4647609,4648705,4649920,4650548,4651523,4652565,4653381,4654562,4655738,4656864,4657933,4658795,4660037,4661099,4662378,4663243,4664297,4665350,4666587,4667672,4668878,4669982,4671092,4672180,4673340,4674236,4674965,4675870,4677001,4678118,4679142,4680226,4681214,4682275,4683278,4684268,4685257,4686227,4687347,4688482,4689570,4690450,4691141,4692176,4693091,4694131,4695276,4696392,4697545,4698979,4700576,4702149,4703541,4705164,4706880,4708440,4710047,4711680,4713025,4714646,4716185,4717668,4719236,4720955,4722517,4724142,4725761,4727106,4727793,4729147,4730375,4731591,4732338,4732669,4733402,4734772,4735905,4737245,4738369,4739674,4740785,4742094,4743483,4744623,4745957,4747348,4748668,4749906,4751298,4752669,4754030,4755319,4756539,4757808,4759206,4760540,4761829,4763021,4764341,4765661,4767073,4768462,4769801,4770976,4772327,4773598,4774773,4776009,4777216,4778580,4779906,4781268,4782596,4783828,4785007,4786429,4787800,4789073,4790350,4791140,4791748,4792369,4793011,4793968,4794971,4795697,4796985,4798005,4799132,4800432,4801743,4802882,4804208,4804917,4806115,4807345,4808463,4809553,4810924,4812090,4813380,4814723,4816038,4817214,4818354,4819600,4820715,4821922,4822870,4824143,4825505,4826884,4828124,4828961,4830283,4831587,4833033,4833749,4834987,4836252,4837238,4838329,4839387,4840297,4841217,4842453,4843454,4844737,4846136,4847481,4848830,4850338,4851630,4853067,4853973,4854334,4854812,4855994,4857337,4858125,4859493,4860478,4861620,4862795,4864114,4865443,4866856,4868260,4869461,4870695,4871697,4873016,4874412,4875416,4876610,4877782,4879149,4880416,4881695,4882777,4884110,4885211,4885878,4887176,4888139,4889342,4890299,4891130,4892038,4893126,4894590,4895904,4897224,4898526,4900003,4901530,4902970,4903986,4905464,4906485,4907474,4908747,4909919,4911029,4912138,4913285,4914771,4915969,4917068,4918302,4919252,4920054,4921125,4922283,4923398,4924575,4925697,4926616,4927707,4928565,4929518,4930488,4931299,4932407,4933307,4934148,4935222,4936396,4937368,4938545,4939927,4941165,4942180,4943290,4944665,4945712,4946698,4947835,4948876,4949959,4951138,4952427,4953424,4954278,4955252,4956219,4957600,4958847,4959875,4960955,4962088,4963340,4964408,4965431,4966464,4967632,4968704,4969749,4970965,4972212,4973162,4974283,4975533,4976844,4977836,4979111,4980444,4981560,4982631,4983701,4984592,4985557,4986581,4987926,4989198,4990613,4992108,4993281,4994400,4995715,4996662,4997767,4999007,5000050,5001021,5002123,5003318,5004459,5005424,5006410,5007761,5009067,5010172,5011360,5012494,5013923,5015045,5016081,5017335,5018582,5019157,5020345,5021407,5022548,5023683,5025031,5026034,5026897,5027746,5028450,5029675,5030847,5032027,5033329,5034662,5036008,5037437,5038669,5039390,5040390,5041331,5042719,5044133,5045321,5046496,5047897,5049128,5050420,5051768,5053223,5054514,5055753,5056845,5057742,5058695,5060077,5061522,5062944,5064382,5065655,5066960,5068051,5069210,5070301,5071283,5072575,5073912,5075310,5076634,5077912,5079093,5080142,5081439,5082526,5083779,5085126,5086278,5087357,5088416,5089696,5090875,5092072,5093234,5094401,5095699,5097162,5098336,5099382,5100595,5101701,5102803,5103949,5105150,5106453,5107504,5108175,5108896,5109690,5110792,5111847,5113248,5114613,5115730,5116838,5117965,5119161,5120448,5121476,5122610,5123538,5124842,5126359,5127576,5129021,5130301,5131578,5132850,5134103,5135470,5136602,5138047,5139630,5140828,5141629,5142963,5144222,5145423,5146872,5148091,5149382,5150857,5152263,5153538,5154449,5155596,5156720,5157944,5159423,5160681,5161680,5162988,5164250,5165707,5166687,5167859,5168791,5169813,5170768,5171741,5172847,5173994,5174954,5175976,5177083,5178011,5179120,5180102,5181257,5182211,5183410,5184471,5185865,5186866,5187789,5188708,5189936,5191072,5192161,5193158,5194205,5194985,5196095,5197233,5198141,5199017,5200202,5201372,5202527,5203170,5204082,5205197,5206163,5207158,5208067,5209203,5210392,5211502,5212505,5213406,5214232,5215354,5216426,5217245,5218386,5219543,5220565,5221316,5222392,5223492,5224390,5225620,5226545,5227232,5228394,5229451,5230621,5232073,5233458,5234656,5235795,5237374,5238451,5239337,5240390,5241148,5242338,5243608,5245058,5246412,5247675,5248855,5249659,5250781,5251912,5252880,5254039,5254778,5255781,5256878,5257927,5259005,5259967,5260993,5262276,5263148,5264146,5265487,5266735,5268041,5269055,5270080,5271210,5272317,5273014,5274147,5275171,5276440,5277391,5278463,5279518,5280636,5281627,5282909,5284345,5285536,5286844,5288086,5289244,5290332,5291423,5292200,5293362,5294147,5295177,5296184,5297499,5298768,5299982,5301078,5302331,5303167,5304227,5305436,5306445,5307658,5308736,5309770,5310539,5311565,5312727,5313909,5315089,5316251,5317351,5318140,5319614,5321082,5322505,5323838,5325043,5325854,5327058,5328353,5329554,5330479,5331777,5332732,5333648,5334828,5335988,5337201,5338335,5339653,5340838,5342096,5343195,5344423,5345815,5346934,5348229,5349461,5350792,5352052,5353221,5354259,5355408,5356607,5357888,5359061,5360324,5361457,5362584,5363824,5365012,5366130,5367122,5368214,5369539,5370798,5372206,5373470,5374815,5376198,5377328,5378337,5379502,5380702,5382013,5383134,5384252,5385442,5386603,5388042,5389105],"sizes":[1427,1162,1187,1546,1315,1416,1223,900,961,900,1057,1193,1185,1022,829,1364,1050,1006,1076,1244,1176,1325,898,1061,911,1116,1170,1169,1371,1302,1152,1043,885,914,849,1476,1183,999,1448,986,1285,1417,1146,1211,1149,1288,1193,1259,958,916,1132,928,940,867,1034,1215,1008,907,1060,880,862,1096,992,738,1095,971,1186,1005,924,1041,940,905,778,1328,1287,1121,952,1172,1203,976,1121,1228,1153,954,1147,1033,1348,1266,857,1195,790,1104,1105,917,1311,1203,1259,744,852,768,1034,907,1064,1269,1206,1238,817,1040,1065,1225,954,925,753,733,630,694,933,581,568,781,623,510,749,831,871,833,634,1142,843,682,953,907,701,844,882,765,1072,1404,1467,1100,1365,1463,1484,1276,1330,1453,1221,1209,1332,1324,1553,1315,1459,1426,1114,969,1359,1448,1255,876,1271,1350,1358,1031,1206,1048,1029,1005,1149,1206,1148,1153,1069,1101,1017,1294,1e3,1128,1094,1226,997,1160,1091,1358,1126,1116,919,1059,1212,1265,1032,1120,1048,1032,867,1201,1290,1343,1314,1094,1118,1132,1167,1282,1274,1142,876,1150,1001,1252,1408,1422,1226,1152,1003,722,1231,1176,1029,1385,1327,1344,1046,1179,1116,980,991,1041,1098,857,795,985,955,751,895,1432,1249,1304,1175,985,1027,896,916,908,1188,1082,958,1115,949,1198,1119,933,653,751,706,1057,1247,1209,977,1070,1045,1076,1056,988,968,1133,1087,1026,1059,1081,1102,853,1011,1013,1090,1083,1068,848,1014,1036,961,1012,1031,1228,1377,1020,990,1260,1117,1326,1384,1228,1190,1037,1176,1255,1172,1145,736,738,784,933,1142,1163,1071,786,1027,880,1052,896,852,863,1305,1597,1283,903,1014,1058,1580,1560,884,1233,1095,979,1131,1082,1131,1330,1401,1157,1246,1254,1271,1385,1325,1279,1346,1143,1423,1200,950,1044,1237,1176,1116,1266,969,927,1191,961,1358,1141,1249,1131,1643,1067,1135,1094,1100,1190,971,1227,1288,1310,1089,1049,1146,1235,1175,1204,1167,1352,1164,1186,889,937,941,999,1077,921,1154,1271,982,1158,1512,1374,1246,1403,1471,1322,1023,1061,1114,1012,1148,1121,961,1001,1275,1166,1503,1093,1355,1302,1296,1201,1478,1055,1083,1447,1415,914,1169,1196,1012,1070,1425,1266,1190,1179,1374,1368,1183,1258,1159,1204,1274,1253,1360,1181,1177,993,1224,1154,1009,1368,1218,698,1190,1588,1331,1241,1442,1200,1355,1341,922,1298,1122,898,1093,887,1120,882,1284,1336,1208,1173,897,926,1115,1177,1093,944,1115,1016,1003,1197,1108,1050,1060,1104,1011,1303,1004,926,1022,1260,1187,1086,1207,944,1142,1103,1150,1103,1010,1265,1187,1331,1224,1145,1141,1270,1438,1152,1141,1213,1321,1324,1261,1403,1307,1333,1072,1181,1113,1033,1269,1034,1272,1094,718,1069,1376,1120,1267,1307,1389,1162,1296,1223,1108,1336,1453,1201,1159,1080,1373,1209,1201,935,1370,1325,1298,1256,1286,1297,1414,1237,1286,1359,1082,1050,1173,1091,1502,1079,937,805,733,822,1215,1225,1234,890,1205,1138,1172,1047,854,1092,1262,1136,1217,1191,1030,1125,979,1224,1143,782,1076,1071,1221,931,1090,1423,1456,1469,1606,1445,1410,1422,1350,1216,1276,1408,1302,1272,1328,1217,1227,1203,1141,1339,1357,1188,1292,1301,1135,1285,1285,1382,1265,1189,1282,1415,1267,1265,1265,713,1214,1067,1130,1293,1292,1181,1140,1253,1272,1138,1441,1202,1354,1010,1076,1221,1160,1147,1210,1085,1506,1381,931,1278,1442,1424,1304,1226,1206,1115,1270,1431,1252,1295,1249,1150,1285,1139,1131,1049,1088,1110,1154,1285,883,1220,1125,1048,1261,1145,1180,1343,1246,1099,1075,1054,1353,1384,1251,1415,1259,1032,1192,1037,1253,1293,1206,1005,1117,967,1164,1195,1333,1049,1241,1264,952,1113,1353,1242,1158,1218,1173,1175,1164,1136,1288,1110,836,894,1259,1379,1186,919,957,1412,1485,1453,864,1290,1109,938,859,1250,1330,1134,1486,1321,957,975,1201,1181,1039,1149,1298,987,968,820,1294,1184,1135,1570,1361,1235,1121,1166,1214,1061,1134,1050,1244,1297,1167,1008,1107,1198,1279,1313,1217,1143,447,971,1039,1153,1240,1211,1534,1253,975,1134,1282,1312,1303,1207,1108,1081,1182,1299,1380,1522,1362,1136,1352,1264,1237,1520,1565,1151,1182,1118,631,1247,1111,1136,797,1281,974,659,1110,1056,1186,1005,1366,1360,1254,1197,1065,1461,1214,1401,1263,1181,973,1060,1266,1153,1300,1168,1448,1251,1157,1256,1243,1300,1632,1673,1296,1521,1449,1361,1032,1240,1373,1088,1344,1005,1121,1239,1537,805,1396,1377,1087,1217,1244,1287,1014,969,1024,971,1122,1085,1060,1150,1114,1058,987,1155,1115,1048,1108,1385,1333,1344,1303,904,1287,1216,1305,1223,1175,1366,1484,1291,1068,1145,902,1150,1002,1121,1289,1330,1235,1135,1350,1075,1167,1241,1144,1222,1166,1008,1190,1376,1135,1205,1126,1073,1150,1186,1219,1230,1253,1079,1114,1078,1207,1117,1181,1267,1119,1128,1145,1106,840,1033,1104,1023,1192,1060,1077,1040,929,1108,1111,855,1013,941,978,1117,1085,1245,1486,1331,1158,967,1230,1121,1082,1337,954,1012,1208,1167,1065,879,1117,1052,1114,1042,1049,663,1227,1135,1216,859,916,1179,979,1267,1078,1019,1073,1138,1180,939,904,1075,1015,1121,1096,1232,1147,1211,1425,1200,1210,1120,1249,1134,1106,984,1361,1224,1196,843,1203,790,723,755,514,573,562,503,520,570,555,549,587,582,540,550,599,554,593,591,615,1284,1152,1282,1125,997,1417,1294,1037,1047,1233,1237,1291,980,772,1084,938,1215,1115,1040,1045,1192,1236,1200,1145,966,1143,1040,955,1092,821,658,995,1062,994,972,1055,935,812,759,928,1022,893,909,866,733,1005,802,942,1165,1077,1423,1242,1269,1172,1199,1268,1065,977,1093,1207,1289,947,671,809,1186,1488,1133,971,782,1093,935,1003,1052,1086,1071,1086,1176,1279,946,1088,1458,1392,1357,1354,1438,1390,1332,1215,1128,971,1157,1270,1173,934,927,1083,1152,1148,1167,1283,1433,1183,1243,1332,1397,1244,818,1109,1265,1124,1193,1180,1311,1387,1279,1579,649,1046,938,798,1358,1089,1119,1233,966,1261,933,1023,1295,1574,1104,1241,974,1172,995,1253,971,1306,1086,992,885,954,974,1167,1160,939,924,1249,1415,1137,1133,1059,1220,1170,1180,1121,970,1371,1408,1051,1458,1311,1432,1493,1089,1381,1163,879,1300,1022,1047,1031,1123,757,1079,1274,1202,1366,1112,1398,1178,1329,1093,1095,868,1276,1275,1095,887,1068,1137,1119,1125,1290,1128,1142,1087,870,993,791,669,1429,1582,1422,1112,1233,1178,1225,1188,1223,1334,1295,1228,974,1203,1270,978,1072,1006,1153,1306,1193,1004,1180,1033,1074,1310,1208,1216,1426,1405,1271,1293,1421,1243,1294,1078,854,1228,1371,1238,1192,1040,1147,1152,1269,934,938,1020,1099,940,1104,1101,1342,1083,977,833,965,1111,939,1005,987,1050,1230,1585,1538,1528,1407,1036,800,1067,1024,849,856,1197,912,1115,1055,1274,1346,902,1250,1317,1044,876,827,727,1260,912,1006,1025,1096,831,1200,1307,1372,1354,1235,1337,1097,1251,1210,1503,1015,1264,1045,1052,957,1284,1381,1388,878,1063,1171,1425,1171,1243,1095,1054,1031,1278,1301,1503,1352,1460,1408,1591,1426,1599,1321,1209,1221,1126,1298,1174,1184,1376,1293,1333,1238,1032,1258,787,900,1250,1264,1393,1487,1331,1001,1058,1031,1175,1169,998,1141,1099,852,852,1123,1588,1323,1101,1095,1280,1313,1072,1485,1438,1204,1245,1212,1324,1160,1317,1522,1090,1219,1001,792,1033,935,888,997,730,894,954,1527,1066,1364,1174,1001,894,1244,1232,1470,1239,1287,1451,1428,1350,1177,913,1004,1121,1075,803,1007,1229,1112,859,881,1196,1235,1239,1253,1292,1388,1219,1301,1218,1219,1198,908,1304,1536,1076,1238,1365,1355,1232,1199,1271,1209,1232,1178,1174,1147,1144,1124,975,1079,817,901,1172,1203,1313,1206,1070,890,1115,785,941,1115,1153,1301,1240,1124,1186,1211,1126,1063,1125,1205,1212,1020,1319,1133,1314,1229,1098,1192,1180,902,1001,1185,1231,1169,1400,1154,1115,1017,1227,1224,1315,1232,1220,1306,1431,1251,1233,1086,1136,1078,1263,1259,1207,1302,1315,1351,1169,1314,1194,1181,1274,1021,1433,1263,1041,1177,1189,1160,945,1047,1559,1167,1197,1198,1172,1254,1229,1308,1353,1407,1422,1195,1332,1228,1257,1123,1214,1036,1106,946,997,804,1128,1398,1480,1055,1191,1373,1154,1008,790,796,661,1274,1358,1342,1426,1248,1110,1194,1291,1162,1070,1385,1079,988,1152,1208,1345,1164,1067,974,1301,1263,1340,1182,1065,1309,1350,1288,1054,1324,1488,1320,1152,1310,1197,1273,1309,1297,1017,1265,1504,1470,1196,569,569,1096,960,1107,852,1052,1097,1272,1241,1200,1256,1063,1084,1606,1222,1248,1282,1177,1218,1147,1201,1242,1186,1237,1187,1074,1231,1141,1301,1254,1256,1220,1293,1041,1282,1476,1260,1132,1219,1393,1213,998,982,1159,1267,1174,1022,1101,1152,1125,1174,1415,957,1404,1281,1248,1502,1114,1031,861,1028,957,807,986,1193,1004,803,902,934,710,791,977,1067,918,1269,818,1443,1410,1540,1196,1298,1093,1061,1051,1173,1075,1060,1154,1308,1410,1117,824,751,843,885,1100,1438,1173,1098,1281,899,754,1310,1256,907,1235,1234,1184,1087,1519,1198,1331,1139,1188,984,1046,1171,993,1222,1376,1225,1035,1287,1060,1138,777,1011,795,1089,1080,1402,1369,978,1202,1203,1029,1379,1352,1314,1335,1307,1059,1399,1551,1331,1482,1195,1095,1199,1458,1186,1350,1232,1193,829,1172,1363,856,1109,1031,1431,868,1234,1002,1018,1030,1021,1330,973,1091,1340,1263,1190,1391,1265,1258,1269,1192,1412,1306,1038,1284,851,922,1038,1256,1207,1121,1108,916,650,1074,937,1052,1052,980,1022,906,989,1053,985,1003,1090,1070,1037,866,989,1105,1324,1251,1120,809,910,972,993,782,1168,959,965,860,816,1289,954,728,1255,1233,1155,1107,1302,1367,1179,1134,1306,1383,1401,1505,1187,1170,1233,1217,1320,1535,1022,1235,1404,1072,1136,1126,1044,1035,1087,1037,1220,1123,914,1143,1049,1251,1207,1215,1153,1292,1178,1033,1074,1145,1151,1123,945,981,858,857,1166,1234,1048,1102,1262,1180,1154,1024,1029,1090,985,985,1230,1233,926,1617,1262,1485,1216,1215,939,847,952,931,940,1276,1419,1355,1321,1318,1212,1211,1375,1274,1338,1320,1139,1051,951,1158,1495,1337,1236,1064,1333,1367,1084,981,1317,1289,1578,1143,1173,1237,1145,1244,1095,1301,1259,1282,1369,1252,1063,1385,1339,1227,1316,1132,1368,1263,1141,999,1098,1149,1197,1147,1385,1329,1443,1521,1134,1350,1234,1239,1240,1312,1506,1311,1228,997,1186,1392,1035,1389,980,995,964,1186,1238,1509,1113,1127,1083,1128,1252,1294,983,1082,970,834,1063,1215,1145,1218,1383,1238,1199,1204,1215,1178,1029,1111,1095,1067,1166,1242,962,898,1030,1086,1024,976,997,725,1194,1446,1271,1259,960,1240,1439,1349,1306,1240,1214,1087,1280,1246,1424,1442,1189,987,1382,1118,1317,1299,1227,1143,1199,1049,1039,1250,1005,1337,1284,1252,1208,1178,1205,1422,1429,1148,1089,1140,1237,1167,1180,1100,1069,1309,1128,1382,1421,843,1326,1336,1177,1275,1445,1230,1227,1129,969,909,1198,1482,1282,1069,1185,1403,1298,1229,1138,1151,1253,1144,1234,1211,1199,1185,1320,1197,1237,1080,974,1126,973,831,973,1200,1184,1259,754,927,1187,1263,921,1111,1194,1115,1238,1004,808,1402,1274,1392,1199,1454,1114,1285,1281,1276,1214,1070,969,1334,1322,1020,957,1158,1220,1030,996,964,1074,975,1282,1211,992,1130,1180,1226,1244,1043,1270,1192,1087,1105,1094,885,887,1189,726,996,649,1132,1256,1370,1097,1004,1333,1220,1124,1176,1076,1154,1272,1231,825,865,1600,1026,1326,1300,1345,1366,1436,1562,1605,1577,1538,1321,979,1038,1005,880,898,881,877,842,1180,880,1183,734,1322,1121,1067,1400,1372,1239,1252,1042,959,1172,1186,916,1111,1157,1172,1120,1042,1086,1040,1040,1218,1045,1146,1243,959,1137,1131,1039,980,1078,1177,1130,887,938,1040,1135,1041,1120,1101,1145,1275,1016,1107,867,1136,1114,1395,1282,1277,1259,1039,1114,1204,945,1075,985,1362,1110,1253,847,854,1185,1071,954,1194,1220,1375,1337,1171,995,1021,1133,1033,1349,1194,1326,1305,1160,1350,1245,1265,1003,1109,1173,975,1116,1185,1057,1269,1004,931,1054,931,999,1275,969,1265,1416,1383,1368,1102,1087,1202,1344,1236,1031,1145,1283,975,788,1006,1065,1215,1249,1161,1161,1020,1136,1085,641,1185,966,1223,999,1426,1049,1191,1080,1247,1118,1229,1226,1072,1031,1012,1170,1025,1373,1329,1303,1269,1057,1041,1179,927,1155,1171,1057,1354,1320,1214,1271,1157,766,1072,945,1362,1322,1173,1344,1113,911,1387,1227,1168,1365,1254,1370,1165,1210,1221,1190,1168,1243,1237,1015,852,1223,718,561,1232,1187,1012,938,1012,1158,1064,1038,1150,1024,1168,1145,1051,1044,1265,1153,1228,1174,1235,1213,1109,1263,1204,1219,1167,1225,1166,1054,1114,1252,1158,1005,1180,605,901,1139,1224,1303,1297,1164,1192,1269,1106,1058,1061,1313,1070,1096,1072,1265,1169,1259,1296,1295,1404,1107,816,1263,630,837,1273,1174,988,955,666,789,760,792,813,974,963,912,1363,1151,1226,813,1059,1082,1012,1325,1289,1158,1374,1058,1205,1275,1164,1106,1176,1118,1146,1344,1103,1180,1216,1260,1197,1256,1073,1053,1203,1046,1143,962,1317,1174,1256,1128,1344,1510,1358,1402,1385,1344,1513,1217,1196,1412,1012,1044,1121,1113,999,951,755,1299,1017,1041,1052,939,1413,1352,1291,1201,1485,1548,1448,885,760,1202,1337,1319,1322,1220,1301,1329,1128,1199,1366,1429,1373,1389,1311,1049,1311,1247,1255,1261,1265,1196,1432,1341,1293,1331,1187,1536,1401,1284,1320,1565,1430,1464,1022,765,592,687,966,1064,1037,1075,1205,1040,1389,1326,1335,1245,1174,1075,948,952,1331,972,849,1158,1005,1039,1022,1054,1163,953,1198,1282,880,1026,1241,674,1277,1050,1231,1245,1071,965,1196,1087,1011,911,1438,1160,1229,1179,1357,1436,1354,1243,1457,945,892,1046,1118,941,1365,1164,1380,1276,1197,1212,1028,1330,1538,1262,1456,1357,1559,1413,1109,1217,1397,1204,1152,1085,1339,1055,1031,1101,1255,1093,1140,1264,1291,1218,1576,1301,1287,1211,1211,964,1170,931,974,1177,1170,1491,1260,1285,1314,1226,1226,1267,1415,1379,1089,1462,1250,1134,1277,1180,1267,1470,1133,1101,1292,1358,1131,1284,1097,1277,1379,1340,1106,1053,1008,853,1115,1361,1541,1283,1332,1177,1197,1138,1051,1198,842,1158,1252,1052,1144,1298,906,1224,1145,1154,1294,1110,1231,1109,949,1407,1233,1237,1161,1303,1305,1301,1384,1409,1308,1305,1235,1444,1463,1450,1437,1300,1287,1410,1280,1410,1278,1267,1249,1424,1449,1078,1308,768,798,787,721,667,951,816,1159,861,1030,1161,835,1017,836,854,787,886,755,1116,1008,676,719,725,607,861,1031,878,855,841,927,796,947,637,622,774,1028,825,688,613,676,710,874,978,662,722,610,720,728,1023,848,843,825,925,703,1053,1015,767,796,968,766,740,1106,998,672,846,898,582,843,1092,774,810,981,786,630,1076,1027,673,798,954,676,897,1087,763,820,974,783,666,1109,1025,666,840,978,776,1067,1043,717,859,1056,744,1094,1042,752,808,976,792,721,1113,999,681,849,933,750,948,1132,1061,833,800,905,723,1046,1093,1032,885,830,646,1045,656,817,751,1079,936,666,678,863,621,1055,963,749,776,717,845,669,1085,858,788,855,875,736,973,726,849,690,845,706,782,1141,622,695,746,1043,927,665,707,695,655,837,965,748,721,629,749,674,1081,726,804,754,1113,877,665,758,871,707,975,979,700,793,691,619,722,1023,746,750,829,1033,779,704,631,860,778,1047,937,676,927,635,688,825,906,760,721,857,979,726,712,739,795,807,1044,914,676,783,642,623,824,867,713,715,773,989,735,685,618,721,697,1012,791,745,619,604,675,1011,1019,758,740,799,657,1106,700,810,798,1080,913,668,708,861,798,969,981,710,823,794,633,743,895,809,725,868,1023,716,734,639,855,747,1078,889,675,953,628,689,867,802,856,679,1021,981,688,675,750,628,882,1071,812,722,789,785,711,942,765,815,693,1035,963,651,686,823,613,922,1053,765,781,770,860,684,960,810,767,782,1101,879,666,792,828,736,1079,973,664,851,750,831,881,906,901,640,1008,997,719,681,814,631,884,1073,813,722,810,831,686,958,955,754,697,945,921,670,920,826,671,757,977,694,831,791,612,736,873,857,619,943,1026,723,739,638,824,752,1109,919,681,895,696,853,869,823,712,632,847,972,737,671,581,652,722,1038,859,685,669,579,751,897,886,763,741,966,960,659,792,794,718,878,986,679,829,629,711,850,1102,847,751,694,737,950,1003,902,833,778,748,910,716,579,570,576,548,1016,1053,974,684,703,847,661,1116,1057,975,1077,973,872,583,589,600,1051,1006,679,721,872,654,935,1043,750,715,744,732,715,1117,1017,667,681,719,764,1089,1014,659,662,953,733,937,1086,799,745,736,673,650,1012,1037,733,661,943,620,830,1089,875,710,791,849,703,1019,1017,762,667,790,712,843,1025,937,682,784,824,704,1040,1037,737,661,812,729,917,1051,912,689,736,601,602,1079,1026,677,660,724,923,1048,760,707,906,661,861,1089,872,708,779,731,1100,1011,662,676,909,662,908,1050,998,678,846,755,659,794,1054,897,683,868,848,602,1033,1031,701,749,891,715,689,1008,957,674,847,893,569,897,936,722,784,767,649,763,750,717,764,799,744,630,736,720,680,726,753,711,963,831,662,721,910,964,961,751,897,691,688,947,717,968,698,720,691,817,801,880,949,750,881,704,899,929,751,986,679,759,734,707,1069,911,1143,1e3,679,751,904,837,897,770,863,685,707,1008,899,1067,705,747,769,703,1057,903,991,796,689,717,873,991,1103,915,1047,900,685,1048,855,654,1009,1049,759,798,762,840,601,1184,1227,1173,951,975,1027,823,817,1070,881,704,734,733,1056,937,1034,974,1006,882,965,929,594,751,1024,985,1236,975,1348,1163,1283,877,910,1253,1153,1258,1229,1236,1185,1147,904,848,962,912,925,911,961,882,948,887,927,888,941,918,841,797,847,944,915,905,912,900,849,905,931,899,864,1265,1359,1307,982,746,1021,1048,1082,992,1389,1338,1405,1288,1353,1439,1515,1441,1219,1216,1204,1132,1229,1013,1109,1048,1300,1335,1173,1356,1128,1203,1223,1297,1073,1003,1217,1187,1163,1e3,1045,1393,1348,1363,1340,1287,1377,1137,1374,1297,1218,1512,1460,1125,1204,944,1084,903,1075,1147,839,1044,1285,1229,1025,1168,932,1092,1077,1117,1024,992,1070,1213,1201,850,1422,961,1149,1566,1339,1506,1406,1086,1143,1190,1198,1350,1091,1487,1430,1457,1474,1355,937,1192,1175,1190,1166,1348,1273,1176,1162,1240,1313,1376,1257,1175,991,1247,1154,1250,1032,1283,1156,1295,1310,1406,1095,1144,1215,1266,1204,956,1071,991,1118,1061,1304,991,1085,1191,1169,1199,1350,1244,1174,1378,1102,1236,1397,1063,1204,1282,1481,1316,1175,1368,1441,1033,1214,1317,1030,1200,1151,943,936,1274,1210,1149,1142,1165,1093,1101,1301,1193,1198,1207,1306,1358,1140,1152,1187,1121,1137,1109,1045,1148,1195,1253,1223,1101,1228,1117,1017,1307,1261,1216,1192,1203,960,1132,1163,1198,1232,1124,1265,1285,1121,1163,1061,1284,1303,1369,1361,1177,1312,1312,1452,1317,1295,1007,1187,1330,1186,1297,887,1101,1189,1175,1171,1328,1248,1041,948,991,684,1103,1149,1144,1582,1215,1399,1350,1227,1302,1236,1016,1053,1272,1361,1284,1200,1146,1184,1286,1026,1361,1136,1287,1203,1207,1309,989,1328,805,1069,1229,1139,1116,1270,995,973,1284,1171,922,820,1108,1254,1543,1326,1340,1291,1330,931,1221,956,1126,616,898,1057,1069,1006,1107,1257,1084,1067,1556,1090,1366,1145,1061,1283,1176,1137,1214,1253,1280,1320,1189,1232,1389,1117,1226,1081,1270,1193,1108,1187,1182,1226,1251,1272,1199,1274,1135,1386,1386,1100,933,1161,944,1083,1266,1040,1150,1166,1089,1091,1208,996,1199,1025,915,881,1233,982,1001,1215,1174,1112,1219,901,1131,1331,1317,1220,905,1261,1299,1348,1327,1053,1027,980,1154,1075,1209,1111,1043,1094,1162,1174,1126,1220,1283,991,787,1128,1092,1099,1143,1049,1325,1279,1311,948,1008,1109,1065,804,1137,943,983,1108,1055,1011,966,1181,1037,1270,1158,1413,1056,1289,1024,1054,1062,1164,1343,1105,986,1048,1025,1244,1262,1125,1074,1100,1203,1208,1091,1071,1430,1211,1088,1145,1388,1106,936,1070,1399,1004,893,930,981,1262,987,1169,1250,1251,1376,1195,1247,1323,1042,822,1051,960,1334,1149,1309,1031,1185,1289,1249,1276,1308,1130,1076,1068,949,1027,1031,1059,988,1017,942,1077,938,1028,766,1038,1041,910,870,828,919,861,906,934,935,923,912,819,963,958,1015,1092,1047,1121,929,956,1023,1061,987,1207,1033,1127,1085,1141,1152,1078,1026,1067,1071,1e3,1023,957,1032,1035,928,1017,985,1002,942,1043,877,903,986,982,843,935,1068,982,906,883,909,1008,994,955,842,885,951,940,928,794,880,977,1137,969,1112,1013,997,1046,972,866,937,930,936,1030,1019,972,941,995,1003,923,913,1039,988,992,1026,1074,1057,977,1038,1087,1064,1154,1054,1008,946,1086,983,934,838,1034,1210,1229,1190,1131,1101,1015,942,1017,1034,1100,1045,1107,1083,1100,1231,1187,1021,997,998,943,1036,788,741,996,961,749,514,741,736,814,845,759,910,843,828,938,810,1044,1119,1018,1069,1081,1098,1146,922,1027,1015,1115,1019,1162,1018,1182,1076,1162,1118,1208,1062,1047,1057,1089,1061,1078,1059,878,818,939,925,837,1137,1124,1109,1032,541,416,491,1016,979,1171,1141,893,1025,1081,986,939,932,748,888,1020,1027,906,1044,1122,950,1031,1e3,1010,971,957,966,1023,1049,1014,1131,928,1011,828,968,954,944,1033,952,990,910,989,976,973,916,863,904,945,999,1048,1034,865,940,983,888,899,1050,985,993,940,784,988,829,818,839,992,924,999,1005,1060,949,1028,1e3,989,976,961,992,859,816,819,927,797,876,897,833,911,926,806,566,640,850,947,955,959,859,1130,983,424,768,1112,949,1176,1056,1193,987,1028,1188,1091,1099,1178,1077,1109,1158,1181,880,653,699,1023,911,1072,899,1072,1081,1193,977,1096,1185,947,1121,1163,1072,1137,986,1110,975,934,864,865,819,866,870,932,868,983,1020,1028,1097,839,532,1089,979,1163,1034,750,587,632,1025,1052,1112,1084,1086,1014,938,989,754,495,566,626,1030,1125,1052,980,1209,1523,1435,1367,1215,1451,1319,1261,1108,1419,1347,1346,1347,1180,1010,1371,1399,1259,1323,1275,1333,1250,1337,1165,1816,1885,1633,1062,1173,1060,836,897,1144,1199,1096,1215,628,975,1042,816,1181,1176,1126,1069,862,1242,1062,1279,865,1054,1053,1237,1085,1206,1104,1110,1088,1160,896,729,905,1131,1117,1024,1084,988,1061,1003,990,989,970,1120,1135,1088,880,691,1035,915,1040,1145,1116,1153,1434,1597,1573,1392,1623,1716,1560,1607,1633,1345,1621,1539,1483,1568,1719,1562,1625,1619,1345,687,1354,1228,1216,747,331,733,1370,1133,1340,1124,1305,1111,1309,1389,1140,1334,1391,1320,1238,1392,1371,1361,1289,1220,1269,1398,1334,1289,1192,1320,1320,1412,1389,1339,1175,1351,1271,1175,1236,1207,1364,1326,1362,1328,1232,1179,1422,1371,1273,1277,790,608,621,642,957,1003,726,1288,1020,1127,1300,1311,1139,1326,709,1198,1230,1118,1090,1371,1166,1290,1343,1315,1176,1140,1246,1115,1207,948,1273,1362,1379,1240,837,1322,1304,1446,716,1238,1265,986,1091,1058,910,920,1236,1001,1283,1399,1345,1349,1508,1292,1437,906,361,478,1182,1343,788,1368,985,1142,1175,1319,1329,1413,1404,1201,1234,1002,1319,1396,1004,1194,1172,1367,1267,1279,1082,1333,1101,667,1298,963,1203,957,831,908,1088,1464,1314,1320,1302,1477,1527,1440,1016,1478,1021,989,1273,1172,1110,1109,1147,1486,1198,1099,1234,950,802,1071,1158,1115,1177,1122,919,1091,858,953,970,811,1108,900,841,1074,1174,972,1177,1382,1238,1015,1110,1375,1047,986,1137,1041,1083,1179,1289,997,854,974,967,1381,1247,1028,1080,1133,1252,1068,1023,1033,1168,1072,1045,1216,1247,950,1121,1250,1311,992,1275,1333,1116,1071,1070,891,965,1024,1345,1272,1415,1495,1173,1119,1315,947,1105,1240,1043,971,1102,1195,1141,965,986,1351,1306,1105,1188,1134,1429,1122,1036,1254,1247,575,1188,1062,1141,1135,1348,1003,863,849,704,1225,1172,1180,1302,1333,1346,1429,1232,721,1e3,941,1388,1414,1188,1175,1401,1231,1292,1348,1455,1291,1239,1092,897,953,1382,1445,1422,1438,1273,1305,1091,1159,1091,982,1292,1337,1398,1324,1278,1181,1049,1297,1087,1253,1347,1152,1079,1059,1280,1179,1197,1162,1167,1298,1463,1174,1046,1213,1106,1102,1146,1201,1303,1051,671,721,794,1102,1055,1401,1365,1117,1108,1127,1196,1287,1028,1134,928,1304,1517,1217,1445,1280,1277,1272,1253,1367,1132,1445,1583,1198,801,1334,1259,1201,1449,1219,1291,1475,1406,1275,911,1147,1124,1224,1479,1258,999,1308,1262,1457,980,1172,932,1022,955,973,1106,1147,960,1022,1107,928,1109,982,1155,954,1199,1061,1394,1001,923,919,1228,1136,1089,997,1047,780,1110,1138,908,876,1185,1170,1155,643,912,1115,966,995,909,1136,1189,1110,1003,901,826,1122,1072,819,1141,1157,1022,751,1076,1100,898,1230,925,687,1162,1057,1170,1452,1385,1198,1139,1579,1077,886,1053,758,1190,1270,1450,1354,1263,1180,804,1122,1131,968,1159,739,1003,1097,1049,1078,962,1026,1283,872,998,1341,1248,1306,1014,1025,1130,1107,697,1133,1024,1269,951,1072,1055,1118,991,1282,1436,1191,1308,1242,1158,1088,1091,777,1162,785,1030,1007,1315,1269,1214,1096,1253,836,1060,1209,1009,1213,1078,1034,769,1026,1162,1182,1180,1162,1100,789,1474,1468,1423,1333,1205,811,1204,1295,1201,925,1298,955,916,1180,1160,1213,1134,1318,1185,1258,1099,1228,1392,1119,1295,1232,1331,1260,1169,1038,1149,1199,1281,1173,1263,1133,1127,1240,1188,1118,992,1092,1325,1259,1408,1264,1345,1383,1130,1009,1165,1200,1311,1121,1118,1190,1161,1439,1063,1044],"successes":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]};compressedData["data"]=byteArray;assert(typeof Module["LZ4"]==="object","LZ4 not present - was your app build with  -s LZ4=1  ?");Module["LZ4"].loadPackage({"metadata":metadata,"compressedData":compressedData},true);Module["removeRunDependency"]("datafile_build/pyodide.asm.data")}Module["addRunDependency"]("datafile_build/pyodide.asm.data");if(!Module.preloadResults)Module.preloadResults={};Module.preloadResults[PACKAGE_NAME]={fromCache:false};if(fetched){processPackageData(fetched);fetched=null}else{fetchedCallback=processPackageData}}if(Module["calledRun"]){runWithFS()}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}};loadPackage({"files":[{"filename":"/lib/python3.10/__future__.py","start":0,"end":5155},{"filename":"/lib/python3.10/__phello__.foo.py","start":5155,"end":5219},{"filename":"/lib/python3.10/_aix_support.py","start":5219,"end":8489},{"filename":"/lib/python3.10/_bootsubprocess.py","start":8489,"end":11164},{"filename":"/lib/python3.10/_collections_abc.py","start":11164,"end":43113},{"filename":"/lib/python3.10/_compat_pickle.py","start":43113,"end":51862},{"filename":"/lib/python3.10/_compression.py","start":51862,"end":57543},{"filename":"/lib/python3.10/_markupbase.py","start":57543,"end":72196},{"filename":"/lib/python3.10/_py_abc.py","start":72196,"end":78385},{"filename":"/lib/python3.10/_pydecimal.py","start":78385,"end":307061},{"filename":"/lib/python3.10/_pyio.py","start":307061,"end":401624},{"filename":"/lib/python3.10/_sitebuiltins.py","start":401624,"end":404752},{"filename":"/lib/python3.10/_strptime.py","start":404752,"end":430029},{"filename":"/lib/python3.10/_threading_local.py","start":430029,"end":437249},{"filename":"/lib/python3.10/_weakrefset.py","start":437249,"end":443172},{"filename":"/lib/python3.10/abc.py","start":443172,"end":449694},{"filename":"/lib/python3.10/aifc.py","start":449694,"end":482299},{"filename":"/lib/python3.10/antigravity.py","start":482299,"end":482799},{"filename":"/lib/python3.10/argparse.py","start":482799,"end":580783},{"filename":"/lib/python3.10/ast.py","start":580783,"end":640355},{"filename":"/lib/python3.10/asynchat.py","start":640355,"end":651840},{"filename":"/lib/python3.10/asyncore.py","start":651840,"end":672073},{"filename":"/lib/python3.10/base64.py","start":672073,"end":692920},{"filename":"/lib/python3.10/bdb.py","start":692920,"end":725147},{"filename":"/lib/python3.10/binhex.py","start":725147,"end":739931},{"filename":"/lib/python3.10/bisect.py","start":739931,"end":743066},{"filename":"/lib/python3.10/bz2.py","start":743066,"end":754913},{"filename":"/lib/python3.10/cProfile.py","start":754913,"end":761248},{"filename":"/lib/python3.10/calendar.py","start":761248,"end":785723},{"filename":"/lib/python3.10/cgi.py","start":785723,"end":819822},{"filename":"/lib/python3.10/cgitb.py","start":819822,"end":831918},{"filename":"/lib/python3.10/chunk.py","start":831918,"end":837353},{"filename":"/lib/python3.10/cmd.py","start":837353,"end":852213},{"filename":"/lib/python3.10/code.py","start":852213,"end":862835},{"filename":"/lib/python3.10/codecs.py","start":862835,"end":899507},{"filename":"/lib/python3.10/codeop.py","start":899507,"end":906075},{"filename":"/lib/python3.10/colorsys.py","start":906075,"end":910092},{"filename":"/lib/python3.10/compileall.py","start":910092,"end":930335},{"filename":"/lib/python3.10/configparser.py","start":930335,"end":984965},{"filename":"/lib/python3.10/contextlib.py","start":984965,"end":1010847},{"filename":"/lib/python3.10/contextvars.py","start":1010847,"end":1010976},{"filename":"/lib/python3.10/copy.py","start":1010976,"end":1019654},{"filename":"/lib/python3.10/copyreg.py","start":1019654,"end":1027080},{"filename":"/lib/python3.10/crypt.py","start":1027080,"end":1030899},{"filename":"/lib/python3.10/csv.py","start":1030899,"end":1046929},{"filename":"/lib/python3.10/dataclasses.py","start":1046929,"end":1103316},{"filename":"/lib/python3.10/datetime.py","start":1103316,"end":1191375},{"filename":"/lib/python3.10/decimal.py","start":1191375,"end":1191695},{"filename":"/lib/python3.10/difflib.py","start":1191695,"end":1275002},{"filename":"/lib/python3.10/dis.py","start":1275002,"end":1295022},{"filename":"/lib/python3.10/doctest.py","start":1295022,"end":1399813},{"filename":"/lib/python3.10/enum.py","start":1399813,"end":1439644},{"filename":"/lib/python3.10/filecmp.py","start":1439644,"end":1449822},{"filename":"/lib/python3.10/fileinput.py","start":1449822,"end":1466062},{"filename":"/lib/python3.10/fnmatch.py","start":1466062,"end":1472066},{"filename":"/lib/python3.10/fractions.py","start":1472066,"end":1500308},{"filename":"/lib/python3.10/ftplib.py","start":1500308,"end":1535804},{"filename":"/lib/python3.10/functools.py","start":1535804,"end":1573880},{"filename":"/lib/python3.10/genericpath.py","start":1573880,"end":1578855},{"filename":"/lib/python3.10/getopt.py","start":1578855,"end":1586344},{"filename":"/lib/python3.10/getpass.py","start":1586344,"end":1592334},{"filename":"/lib/python3.10/gettext.py","start":1592334,"end":1619600},{"filename":"/lib/python3.10/glob.py","start":1619600,"end":1627488},{"filename":"/lib/python3.10/graphlib.py","start":1627488,"end":1637061},{"filename":"/lib/python3.10/gzip.py","start":1637061,"end":1658910},{"filename":"/lib/python3.10/hashlib.py","start":1658910,"end":1669139},{"filename":"/lib/python3.10/heapq.py","start":1669139,"end":1692016},{"filename":"/lib/python3.10/hmac.py","start":1692016,"end":1699733},{"filename":"/lib/python3.10/imaplib.py","start":1699733,"end":1754599},{"filename":"/lib/python3.10/imghdr.py","start":1754599,"end":1758407},{"filename":"/lib/python3.10/imp.py","start":1758407,"end":1768998},{"filename":"/lib/python3.10/inspect.py","start":1768998,"end":1892738},{"filename":"/lib/python3.10/io.py","start":1892738,"end":1896934},{"filename":"/lib/python3.10/ipaddress.py","start":1896934,"end":1971720},{"filename":"/lib/python3.10/keyword.py","start":1971720,"end":1972781},{"filename":"/lib/python3.10/linecache.py","start":1972781,"end":1978436},{"filename":"/lib/python3.10/locale.py","start":1978436,"end":2056560},{"filename":"/lib/python3.10/lzma.py","start":2056560,"end":2069837},{"filename":"/lib/python3.10/mailbox.py","start":2069837,"end":2148631},{"filename":"/lib/python3.10/mailcap.py","start":2148631,"end":2156784},{"filename":"/lib/python3.10/mimetypes.py","start":2156784,"end":2179408},{"filename":"/lib/python3.10/modulefinder.py","start":2179408,"end":2203809},{"filename":"/lib/python3.10/netrc.py","start":2203809,"end":2209556},{"filename":"/lib/python3.10/nntplib.py","start":2209556,"end":2250579},{"filename":"/lib/python3.10/ntpath.py","start":2250579,"end":2278985},{"filename":"/lib/python3.10/nturl2path.py","start":2278985,"end":2281872},{"filename":"/lib/python3.10/numbers.py","start":2281872,"end":2292210},{"filename":"/lib/python3.10/opcode.py","start":2292210,"end":2298112},{"filename":"/lib/python3.10/operator.py","start":2298112,"end":2308863},{"filename":"/lib/python3.10/optparse.py","start":2308863,"end":2369232},{"filename":"/lib/python3.10/os.py","start":2369232,"end":2408746},{"filename":"/lib/python3.10/pathlib.py","start":2408746,"end":2458272},{"filename":"/lib/python3.10/pdb.py","start":2458272,"end":2521373},{"filename":"/lib/python3.10/pickle.py","start":2521373,"end":2586319},{"filename":"/lib/python3.10/pickletools.py","start":2586319,"end":2679805},{"filename":"/lib/python3.10/pipes.py","start":2679805,"end":2688719},{"filename":"/lib/python3.10/pkgutil.py","start":2688719,"end":2713295},{"filename":"/lib/python3.10/platform.py","start":2713295,"end":2755243},{"filename":"/lib/python3.10/plistlib.py","start":2755243,"end":2783491},{"filename":"/lib/python3.10/poplib.py","start":2783491,"end":2798689},{"filename":"/lib/python3.10/posixpath.py","start":2798689,"end":2814911},{"filename":"/lib/python3.10/pprint.py","start":2814911,"end":2839355},{"filename":"/lib/python3.10/profile.py","start":2839355,"end":2862226},{"filename":"/lib/python3.10/pstats.py","start":2862226,"end":2891552},{"filename":"/lib/python3.10/pty.py","start":2891552,"end":2896765},{"filename":"/lib/python3.10/py_compile.py","start":2896765,"end":2904602},{"filename":"/lib/python3.10/pyclbr.py","start":2904602,"end":2915998},{"filename":"/lib/python3.10/pydoc.py","start":2915998,"end":3025532},{"filename":"/lib/python3.10/queue.py","start":3025532,"end":3037015},{"filename":"/lib/python3.10/quopri.py","start":3037015,"end":3044283},{"filename":"/lib/python3.10/random.py","start":3044283,"end":3077504},{"filename":"/lib/python3.10/re.py","start":3077504,"end":3093364},{"filename":"/lib/python3.10/reprlib.py","start":3093364,"end":3098631},{"filename":"/lib/python3.10/rlcompleter.py","start":3098631,"end":3106448},{"filename":"/lib/python3.10/runpy.py","start":3106448,"end":3118686},{"filename":"/lib/python3.10/sched.py","start":3118686,"end":3125037},{"filename":"/lib/python3.10/secrets.py","start":3125037,"end":3127073},{"filename":"/lib/python3.10/selectors.py","start":3127073,"end":3146609},{"filename":"/lib/python3.10/shelve.py","start":3146609,"end":3155169},{"filename":"/lib/python3.10/shlex.py","start":3155169,"end":3168670},{"filename":"/lib/python3.10/shutil.py","start":3168670,"end":3220918},{"filename":"/lib/python3.10/signal.py","start":3220918,"end":3223356},{"filename":"/lib/python3.10/site.py","start":3223356,"end":3245943},{"filename":"/lib/python3.10/smtpd.py","start":3245943,"end":3281066},{"filename":"/lib/python3.10/smtplib.py","start":3281066,"end":3326484},{"filename":"/lib/python3.10/sndhdr.py","start":3326484,"end":3333583},{"filename":"/lib/python3.10/socket.py","start":3333583,"end":3370316},{"filename":"/lib/python3.10/sre_parse.py","start":3370316,"end":3410546},{"filename":"/lib/python3.10/socketserver.py","start":3410546,"end":3437842},{"filename":"/lib/python3.10/sre_compile.py","start":3437842,"end":3464537},{"filename":"/lib/python3.10/sre_constants.py","start":3464537,"end":3471691},{"filename":"/lib/python3.10/ssl.py","start":3471691,"end":3523807},{"filename":"/lib/python3.10/stat.py","start":3523807,"end":3529292},{"filename":"/lib/python3.10/statistics.py","start":3529292,"end":3572357},{"filename":"/lib/python3.10/string.py","start":3572357,"end":3582923},{"filename":"/lib/python3.10/stringprep.py","start":3582923,"end":3595840},{"filename":"/lib/python3.10/struct.py","start":3595840,"end":3596097},{"filename":"/lib/python3.10/subprocess.py","start":3596097,"end":3679831},{"filename":"/lib/python3.10/sunau.py","start":3679831,"end":3697989},{"filename":"/lib/python3.10/symtable.py","start":3697989,"end":3708187},{"filename":"/lib/python3.10/sysconfig.py","start":3708187,"end":3735796},{"filename":"/lib/python3.10/tabnanny.py","start":3735796,"end":3747204},{"filename":"/lib/python3.10/tarfile.py","start":3747204,"end":3842378},{"filename":"/lib/python3.10/telnetlib.py","start":3842378,"end":3865632},{"filename":"/lib/python3.10/tempfile.py","start":3865632,"end":3894089},{"filename":"/lib/python3.10/textwrap.py","start":3894089,"end":3913861},{"filename":"/lib/python3.10/this.py","start":3913861,"end":3914864},{"filename":"/lib/python3.10/threading.py","start":3914864,"end":3971764},{"filename":"/lib/python3.10/timeit.py","start":3971764,"end":3985259},{"filename":"/lib/python3.10/token.py","start":3985259,"end":3987645},{"filename":"/lib/python3.10/tokenize.py","start":3987645,"end":4013566},{"filename":"/lib/python3.10/trace.py","start":4013566,"end":4042761},{"filename":"/lib/python3.10/traceback.py","start":4042761,"end":4068979},{"filename":"/lib/python3.10/tracemalloc.py","start":4068979,"end":4087026},{"filename":"/lib/python3.10/tty.py","start":4087026,"end":4087905},{"filename":"/lib/python3.10/types.py","start":4087905,"end":4098022},{"filename":"/lib/python3.10/typing.py","start":4098022,"end":4189299},{"filename":"/lib/python3.10/uu.py","start":4189299,"end":4196258},{"filename":"/lib/python3.10/uuid.py","start":4196258,"end":4223582},{"filename":"/lib/python3.10/warnings.py","start":4223582,"end":4243270},{"filename":"/lib/python3.10/wave.py","start":4243270,"end":4261274},{"filename":"/lib/python3.10/weakref.py","start":4261274,"end":4282834},{"filename":"/lib/python3.10/xdrlib.py","start":4282834,"end":4288747},{"filename":"/lib/python3.10/zipapp.py","start":4288747,"end":4296282},{"filename":"/lib/python3.10/zipfile.py","start":4296282,"end":4384813},{"filename":"/lib/python3.10/zipimport.py","start":4384813,"end":4414954},{"filename":"/lib/python3.10/LICENSE.txt","start":4414954,"end":4428885},{"filename":"/lib/python3.10/_sysconfigdata__emscripten_wasm32-emscripten.py","start":4428885,"end":4457667},{"filename":"/lib/python3.10/asyncio/__init__.py","start":4457667,"end":4458775},{"filename":"/lib/python3.10/asyncio/__main__.py","start":4458775,"end":4462118},{"filename":"/lib/python3.10/asyncio/base_events.py","start":4462118,"end":4535569},{"filename":"/lib/python3.10/asyncio/base_futures.py","start":4535569,"end":4538143},{"filename":"/lib/python3.10/asyncio/base_subprocess.py","start":4538143,"end":4546986},{"filename":"/lib/python3.10/asyncio/base_tasks.py","start":4546986,"end":4549453},{"filename":"/lib/python3.10/asyncio/constants.py","start":4549453,"end":4550341},{"filename":"/lib/python3.10/asyncio/coroutines.py","start":4550341,"end":4559138},{"filename":"/lib/python3.10/asyncio/events.py","start":4559138,"end":4586362},{"filename":"/lib/python3.10/asyncio/exceptions.py","start":4586362,"end":4587995},{"filename":"/lib/python3.10/asyncio/format_helpers.py","start":4587995,"end":4590399},{"filename":"/lib/python3.10/asyncio/futures.py","start":4590399,"end":4604413},{"filename":"/lib/python3.10/asyncio/locks.py","start":4604413,"end":4618e3},{"filename":"/lib/python3.10/asyncio/log.py","start":4618e3,"end":4618124},{"filename":"/lib/python3.10/asyncio/mixins.py","start":4618124,"end":4618927},{"filename":"/lib/python3.10/asyncio/proactor_events.py","start":4618927,"end":4651183},{"filename":"/lib/python3.10/asyncio/protocols.py","start":4651183,"end":4658319},{"filename":"/lib/python3.10/asyncio/queues.py","start":4658319,"end":4666329},{"filename":"/lib/python3.10/asyncio/runners.py","start":4666329,"end":4668433},{"filename":"/lib/python3.10/asyncio/selector_events.py","start":4668433,"end":4707935},{"filename":"/lib/python3.10/asyncio/sslproto.py","start":4707935,"end":4735119},{"filename":"/lib/python3.10/asyncio/staggered.py","start":4735119,"end":4741111},{"filename":"/lib/python3.10/asyncio/streams.py","start":4741111,"end":4766883},{"filename":"/lib/python3.10/asyncio/subprocess.py","start":4766883,"end":4774288},{"filename":"/lib/python3.10/asyncio/tasks.py","start":4774288,"end":4806128},{"filename":"/lib/python3.10/asyncio/threads.py","start":4806128,"end":4806918},{"filename":"/lib/python3.10/asyncio/transports.py","start":4806918,"end":4817404},{"filename":"/lib/python3.10/asyncio/trsock.py","start":4817404,"end":4823280},{"filename":"/lib/python3.10/asyncio/unix_events.py","start":4823280,"end":4874880},{"filename":"/lib/python3.10/asyncio/windows_events.py","start":4874880,"end":4907884},{"filename":"/lib/python3.10/asyncio/windows_utils.py","start":4907884,"end":4912944},{"filename":"/lib/python3.10/collections/__init__.py","start":4912944,"end":4964172},{"filename":"/lib/python3.10/collections/abc.py","start":4964172,"end":4964291},{"filename":"/lib/python3.10/concurrent/__init__.py","start":4964291,"end":4964329},{"filename":"/lib/python3.10/concurrent/futures/__init__.py","start":4964329,"end":4965883},{"filename":"/lib/python3.10/concurrent/futures/_base.py","start":4965883,"end":4988460},{"filename":"/lib/python3.10/concurrent/futures/process.py","start":4988460,"end":5018667},{"filename":"/lib/python3.10/concurrent/futures/thread.py","start":5018667,"end":5027438},{"filename":"/lib/python3.10/ctypes/__init__.py","start":5027438,"end":5045426},{"filename":"/lib/python3.10/ctypes/_aix.py","start":5045426,"end":5058001},{"filename":"/lib/python3.10/ctypes/_endian.py","start":5058001,"end":5060001},{"filename":"/lib/python3.10/ctypes/util.py","start":5060001,"end":5073880},{"filename":"/lib/python3.10/ctypes/wintypes.py","start":5073880,"end":5079508},{"filename":"/lib/python3.10/ctypes/macholib/README.ctypes","start":5079508,"end":5079804},{"filename":"/lib/python3.10/ctypes/macholib/__init__.py","start":5079804,"end":5079958},{"filename":"/lib/python3.10/ctypes/macholib/dyld.py","start":5079958,"end":5085241},{"filename":"/lib/python3.10/ctypes/macholib/dylib.py","start":5085241,"end":5087069},{"filename":"/lib/python3.10/ctypes/macholib/fetch_macholib","start":5087069,"end":5087153},{"filename":"/lib/python3.10/ctypes/macholib/fetch_macholib.bat","start":5087153,"end":5087228},{"filename":"/lib/python3.10/ctypes/macholib/framework.py","start":5087228,"end":5089429},{"filename":"/lib/python3.10/tzdata-2022.1.dist-info/LICENSE","start":5089429,"end":5090021},{"filename":"/lib/python3.10/tzdata-2022.1.dist-info/LICENSE_APACHE","start":5090021,"end":5101378},{"filename":"/lib/python3.10/tzdata-2022.1.dist-info/METADATA","start":5101378,"end":5102791},{"filename":"/lib/python3.10/tzdata-2022.1.dist-info/WHEEL","start":5102791,"end":5102901},{"filename":"/lib/python3.10/tzdata-2022.1.dist-info/top_level.txt","start":5102901,"end":5102908},{"filename":"/lib/python3.10/tzdata-2022.1.dist-info/RECORD","start":5102908,"end":5159434},{"filename":"/lib/python3.10/tzdata-2022.1.dist-info/INSTALLER","start":5159434,"end":5159438},{"filename":"/lib/python3.10/tzdata-2022.1.dist-info/REQUESTED","start":5159438,"end":5159438},{"filename":"/lib/python3.10/email/__init__.py","start":5159438,"end":5161204},{"filename":"/lib/python3.10/email/_encoded_words.py","start":5161204,"end":5169728},{"filename":"/lib/python3.10/email/_header_value_parser.py","start":5169728,"end":5276687},{"filename":"/lib/python3.10/email/_parseaddr.py","start":5276687,"end":5294414},{"filename":"/lib/python3.10/email/_policybase.py","start":5294414,"end":5309487},{"filename":"/lib/python3.10/email/architecture.rst","start":5309487,"end":5319048},{"filename":"/lib/python3.10/email/base64mime.py","start":5319048,"end":5322607},{"filename":"/lib/python3.10/email/charset.py","start":5322607,"end":5339735},{"filename":"/lib/python3.10/email/contentmanager.py","start":5339735,"end":5350290},{"filename":"/lib/python3.10/email/encoders.py","start":5350290,"end":5352076},{"filename":"/lib/python3.10/email/errors.py","start":5352076,"end":5355811},{"filename":"/lib/python3.10/email/feedparser.py","start":5355811,"end":5378591},{"filename":"/lib/python3.10/email/generator.py","start":5378591,"end":5398787},{"filename":"/lib/python3.10/email/header.py","start":5398787,"end":5422889},{"filename":"/lib/python3.10/email/headerregistry.py","start":5422889,"end":5443702},{"filename":"/lib/python3.10/email/iterators.py","start":5443702,"end":5445837},{"filename":"/lib/python3.10/email/message.py","start":5445837,"end":5492897},{"filename":"/lib/python3.10/email/parser.py","start":5492897,"end":5497938},{"filename":"/lib/python3.10/email/policy.py","start":5497938,"end":5508321},{"filename":"/lib/python3.10/email/quoprimime.py","start":5508321,"end":5518179},{"filename":"/lib/python3.10/email/utils.py","start":5518179,"end":5531601},{"filename":"/lib/python3.10/email/mime/__init__.py","start":5531601,"end":5531601},{"filename":"/lib/python3.10/email/mime/application.py","start":5531601,"end":5532922},{"filename":"/lib/python3.10/email/mime/audio.py","start":5532922,"end":5535661},{"filename":"/lib/python3.10/email/mime/base.py","start":5535661,"end":5536577},{"filename":"/lib/python3.10/email/mime/image.py","start":5536577,"end":5538406},{"filename":"/lib/python3.10/email/mime/message.py","start":5538406,"end":5539723},{"filename":"/lib/python3.10/email/mime/multipart.py","start":5539723,"end":5541344},{"filename":"/lib/python3.10/email/mime/nonmultipart.py","start":5541344,"end":5542035},{"filename":"/lib/python3.10/email/mime/text.py","start":5542035,"end":5543472},{"filename":"/lib/python3.10/encodings/__init__.py","start":5543472,"end":5549092},{"filename":"/lib/python3.10/encodings/aliases.py","start":5549092,"end":5564769},{"filename":"/lib/python3.10/encodings/ascii.py","start":5564769,"end":5566017},{"filename":"/lib/python3.10/encodings/base64_codec.py","start":5566017,"end":5567550},{"filename":"/lib/python3.10/encodings/big5.py","start":5567550,"end":5568569},{"filename":"/lib/python3.10/encodings/big5hkscs.py","start":5568569,"end":5569608},{"filename":"/lib/python3.10/encodings/bz2_codec.py","start":5569608,"end":5571857},{"filename":"/lib/python3.10/encodings/charmap.py","start":5571857,"end":5573941},{"filename":"/lib/python3.10/encodings/cp037.py","start":5573941,"end":5587062},{"filename":"/lib/python3.10/encodings/cp1006.py","start":5587062,"end":5600630},{"filename":"/lib/python3.10/encodings/cp1026.py","start":5600630,"end":5613743},{"filename":"/lib/python3.10/encodings/cp1125.py","start":5613743,"end":5648340},{"filename":"/lib/python3.10/encodings/cp1140.py","start":5648340,"end":5661445},{"filename":"/lib/python3.10/encodings/cp1250.py","start":5661445,"end":5675131},{"filename":"/lib/python3.10/encodings/cp1251.py","start":5675131,"end":5688492},{"filename":"/lib/python3.10/encodings/cp1252.py","start":5688492,"end":5702003},{"filename":"/lib/python3.10/encodings/cp1253.py","start":5702003,"end":5715097},{"filename":"/lib/python3.10/encodings/cp1254.py","start":5715097,"end":5728599},{"filename":"/lib/python3.10/encodings/cp1255.py","start":5728599,"end":5741065},{"filename":"/lib/python3.10/encodings/cp1256.py","start":5741065,"end":5753879},{"filename":"/lib/python3.10/encodings/cp1257.py","start":5753879,"end":5767253},{"filename":"/lib/python3.10/encodings/cp1258.py","start":5767253,"end":5780617},{"filename":"/lib/python3.10/encodings/cp273.py","start":5780617,"end":5794749},{"filename":"/lib/python3.10/encodings/cp424.py","start":5794749,"end":5806804},{"filename":"/lib/python3.10/encodings/cp437.py","start":5806804,"end":5841368},{"filename":"/lib/python3.10/encodings/cp500.py","start":5841368,"end":5854489},{"filename":"/lib/python3.10/encodings/cp720.py","start":5854489,"end":5868175},{"filename":"/lib/python3.10/encodings/cp737.py","start":5868175,"end":5902856},{"filename":"/lib/python3.10/encodings/cp775.py","start":5902856,"end":5937332},{"filename":"/lib/python3.10/encodings/cp850.py","start":5937332,"end":5971437},{"filename":"/lib/python3.10/encodings/cp852.py","start":5971437,"end":6006439},{"filename":"/lib/python3.10/encodings/cp855.py","start":6006439,"end":6040289},{"filename":"/lib/python3.10/encodings/cp856.py","start":6040289,"end":6052712},{"filename":"/lib/python3.10/encodings/cp857.py","start":6052712,"end":6086620},{"filename":"/lib/python3.10/encodings/cp858.py","start":6086620,"end":6120635},{"filename":"/lib/python3.10/encodings/cp860.py","start":6120635,"end":6155316},{"filename":"/lib/python3.10/encodings/cp861.py","start":6155316,"end":6189949},{"filename":"/lib/python3.10/encodings/cp862.py","start":6189949,"end":6223319},{"filename":"/lib/python3.10/encodings/cp863.py","start":6223319,"end":6257571},{"filename":"/lib/python3.10/encodings/cp864.py","start":6257571,"end":6291234},{"filename":"/lib/python3.10/encodings/cp865.py","start":6291234,"end":6325852},{"filename":"/lib/python3.10/encodings/cp866.py","start":6325852,"end":6360248},{"filename":"/lib/python3.10/encodings/cp869.py","start":6360248,"end":6393213},{"filename":"/lib/python3.10/encodings/cp874.py","start":6393213,"end":6405808},{"filename":"/lib/python3.10/encodings/cp875.py","start":6405808,"end":6418662},{"filename":"/lib/python3.10/encodings/cp932.py","start":6418662,"end":6419685},{"filename":"/lib/python3.10/encodings/cp949.py","start":6419685,"end":6420708},{"filename":"/lib/python3.10/encodings/cp950.py","start":6420708,"end":6421731},{"filename":"/lib/python3.10/encodings/euc_jis_2004.py","start":6421731,"end":6422782},{"filename":"/lib/python3.10/encodings/euc_jisx0213.py","start":6422782,"end":6423833},{"filename":"/lib/python3.10/encodings/euc_jp.py","start":6423833,"end":6424860},{"filename":"/lib/python3.10/encodings/euc_kr.py","start":6424860,"end":6425887},{"filename":"/lib/python3.10/encodings/gb18030.py","start":6425887,"end":6426918},{"filename":"/lib/python3.10/encodings/gb2312.py","start":6426918,"end":6427945},{"filename":"/lib/python3.10/encodings/gbk.py","start":6427945,"end":6428960},{"filename":"/lib/python3.10/encodings/hex_codec.py","start":6428960,"end":6430468},{"filename":"/lib/python3.10/encodings/hp_roman8.py","start":6430468,"end":6443943},{"filename":"/lib/python3.10/encodings/hz.py","start":6443943,"end":6444954},{"filename":"/lib/python3.10/encodings/idna.py","start":6444954,"end":6454124},{"filename":"/lib/python3.10/encodings/iso2022_jp.py","start":6454124,"end":6455177},{"filename":"/lib/python3.10/encodings/iso2022_jp_1.py","start":6455177,"end":6456238},{"filename":"/lib/python3.10/encodings/iso2022_jp_2.py","start":6456238,"end":6457299},{"filename":"/lib/python3.10/encodings/iso2022_jp_2004.py","start":6457299,"end":6458372},{"filename":"/lib/python3.10/encodings/iso2022_jp_3.py","start":6458372,"end":6459433},{"filename":"/lib/python3.10/encodings/iso2022_jp_ext.py","start":6459433,"end":6460502},{"filename":"/lib/python3.10/encodings/iso2022_kr.py","start":6460502,"end":6461555},{"filename":"/lib/python3.10/encodings/iso8859_1.py","start":6461555,"end":6474731},{"filename":"/lib/python3.10/encodings/iso8859_10.py","start":6474731,"end":6488320},{"filename":"/lib/python3.10/encodings/iso8859_11.py","start":6488320,"end":6500655},{"filename":"/lib/python3.10/encodings/iso8859_13.py","start":6500655,"end":6513926},{"filename":"/lib/python3.10/encodings/iso8859_14.py","start":6513926,"end":6527578},{"filename":"/lib/python3.10/encodings/iso8859_15.py","start":6527578,"end":6540790},{"filename":"/lib/python3.10/encodings/iso8859_16.py","start":6540790,"end":6554347},{"filename":"/lib/python3.10/encodings/iso8859_2.py","start":6554347,"end":6567751},{"filename":"/lib/python3.10/encodings/iso8859_3.py","start":6567751,"end":6580840},{"filename":"/lib/python3.10/encodings/iso8859_4.py","start":6580840,"end":6594216},{"filename":"/lib/python3.10/encodings/iso8859_5.py","start":6594216,"end":6607231},{"filename":"/lib/python3.10/encodings/iso8859_6.py","start":6607231,"end":6618064},{"filename":"/lib/python3.10/encodings/iso8859_7.py","start":6618064,"end":6630908},{"filename":"/lib/python3.10/encodings/iso8859_8.py","start":6630908,"end":6641944},{"filename":"/lib/python3.10/encodings/iso8859_9.py","start":6641944,"end":6655100},{"filename":"/lib/python3.10/encodings/johab.py","start":6655100,"end":6656123},{"filename":"/lib/python3.10/encodings/koi8_r.py","start":6656123,"end":6669902},{"filename":"/lib/python3.10/encodings/koi8_t.py","start":6669902,"end":6683095},{"filename":"/lib/python3.10/encodings/koi8_u.py","start":6683095,"end":6696857},{"filename":"/lib/python3.10/encodings/kz1048.py","start":6696857,"end":6710580},{"filename":"/lib/python3.10/encodings/latin_1.py","start":6710580,"end":6711844},{"filename":"/lib/python3.10/encodings/mac_arabic.py","start":6711844,"end":6748311},{"filename":"/lib/python3.10/encodings/mac_croatian.py","start":6748311,"end":6761944},{"filename":"/lib/python3.10/encodings/mac_cyrillic.py","start":6761944,"end":6775398},{"filename":"/lib/python3.10/encodings/mac_farsi.py","start":6775398,"end":6790568},{"filename":"/lib/python3.10/encodings/mac_greek.py","start":6790568,"end":6804289},{"filename":"/lib/python3.10/encodings/mac_iceland.py","start":6804289,"end":6817787},{"filename":"/lib/python3.10/encodings/mac_latin2.py","start":6817787,"end":6831905},{"filename":"/lib/python3.10/encodings/mac_roman.py","start":6831905,"end":6845385},{"filename":"/lib/python3.10/encodings/mac_romanian.py","start":6845385,"end":6859046},{"filename":"/lib/python3.10/encodings/mac_turkish.py","start":6859046,"end":6872559},{"filename":"/lib/python3.10/encodings/mbcs.py","start":6872559,"end":6873770},{"filename":"/lib/python3.10/encodings/oem.py","start":6873770,"end":6874789},{"filename":"/lib/python3.10/encodings/palmos.py","start":6874789,"end":6888308},{"filename":"/lib/python3.10/encodings/ptcp154.py","start":6888308,"end":6902323},{"filename":"/lib/python3.10/encodings/punycode.py","start":6902323,"end":6909206},{"filename":"/lib/python3.10/encodings/quopri_codec.py","start":6909206,"end":6910731},{"filename":"/lib/python3.10/encodings/raw_unicode_escape.py","start":6910731,"end":6912063},{"filename":"/lib/python3.10/encodings/rot_13.py","start":6912063,"end":6914511},{"filename":"/lib/python3.10/encodings/shift_jis.py","start":6914511,"end":6915550},{"filename":"/lib/python3.10/encodings/shift_jis_2004.py","start":6915550,"end":6916609},{"filename":"/lib/python3.10/encodings/shift_jisx0213.py","start":6916609,"end":6917668},{"filename":"/lib/python3.10/encodings/tis_620.py","start":6917668,"end":6929968},{"filename":"/lib/python3.10/encodings/undefined.py","start":6929968,"end":6931267},{"filename":"/lib/python3.10/encodings/unicode_escape.py","start":6931267,"end":6932571},{"filename":"/lib/python3.10/encodings/utf_16.py","start":6932571,"end":6937807},{"filename":"/lib/python3.10/encodings/utf_16_be.py","start":6937807,"end":6938844},{"filename":"/lib/python3.10/encodings/utf_16_le.py","start":6938844,"end":6939881},{"filename":"/lib/python3.10/encodings/utf_32.py","start":6939881,"end":6945010},{"filename":"/lib/python3.10/encodings/utf_32_be.py","start":6945010,"end":6945940},{"filename":"/lib/python3.10/encodings/utf_32_le.py","start":6945940,"end":6946870},{"filename":"/lib/python3.10/encodings/utf_7.py","start":6946870,"end":6947816},{"filename":"/lib/python3.10/encodings/utf_8.py","start":6947816,"end":6948821},{"filename":"/lib/python3.10/encodings/utf_8_sig.py","start":6948821,"end":6952954},{"filename":"/lib/python3.10/encodings/uu_codec.py","start":6952954,"end":6955805},{"filename":"/lib/python3.10/encodings/zlib_codec.py","start":6955805,"end":6958009},{"filename":"/lib/python3.10/html/__init__.py","start":6958009,"end":6962765},{"filename":"/lib/python3.10/html/entities.py","start":6962765,"end":7038080},{"filename":"/lib/python3.10/html/parser.py","start":7038080,"end":7055472},{"filename":"/lib/python3.10/http/__init__.py","start":7055472,"end":7062205},{"filename":"/lib/python3.10/http/client.py","start":7062205,"end":7118923},{"filename":"/lib/python3.10/http/cookiejar.py","start":7118923,"end":7196330},{"filename":"/lib/python3.10/http/cookies.py","start":7196330,"end":7216812},{"filename":"/lib/python3.10/http/server.py","start":7216812,"end":7264083},{"filename":"/lib/python3.10/importlib/__init__.py","start":7264083,"end":7270172},{"filename":"/lib/python3.10/importlib/_abc.py","start":7270172,"end":7272024},{"filename":"/lib/python3.10/importlib/_adapters.py","start":7272024,"end":7273932},{"filename":"/lib/python3.10/importlib/_bootstrap.py","start":7273932,"end":7315399},{"filename":"/lib/python3.10/importlib/_bootstrap_external.py","start":7315399,"end":7379871},{"filename":"/lib/python3.10/importlib/_common.py","start":7379871,"end":7382945},{"filename":"/lib/python3.10/importlib/abc.py","start":7382945,"end":7397366},{"filename":"/lib/python3.10/importlib/machinery.py","start":7397366,"end":7398197},{"filename":"/lib/python3.10/importlib/readers.py","start":7398197,"end":7401784},{"filename":"/lib/python3.10/importlib/resources.py","start":7401784,"end":7407489},{"filename":"/lib/python3.10/importlib/util.py","start":7407489,"end":7418976},{"filename":"/lib/python3.10/importlib/metadata/__init__.py","start":7418976,"end":7448449},{"filename":"/lib/python3.10/importlib/metadata/_adapters.py","start":7448449,"end":7450311},{"filename":"/lib/python3.10/importlib/metadata/_collections.py","start":7450311,"end":7451054},{"filename":"/lib/python3.10/importlib/metadata/_functools.py","start":7451054,"end":7453555},{"filename":"/lib/python3.10/importlib/metadata/_itertools.py","start":7453555,"end":7454162},{"filename":"/lib/python3.10/importlib/metadata/_meta.py","start":7454162,"end":7455292},{"filename":"/lib/python3.10/importlib/metadata/_text.py","start":7455292,"end":7457490},{"filename":"/lib/python3.10/json/__init__.py","start":7457490,"end":7471509},{"filename":"/lib/python3.10/json/decoder.py","start":7471509,"end":7483981},{"filename":"/lib/python3.10/json/encoder.py","start":7483981,"end":7500054},{"filename":"/lib/python3.10/json/scanner.py","start":7500054,"end":7502479},{"filename":"/lib/python3.10/json/tool.py","start":7502479,"end":7505818},{"filename":"/lib/python3.10/logging/__init__.py","start":7505818,"end":7586023},{"filename":"/lib/python3.10/logging/config.py","start":7586023,"end":7622486},{"filename":"/lib/python3.10/logging/handlers.py","start":7622486,"end":7683115},{"filename":"/lib/python3.10/multiprocessing/__init__.py","start":7683115,"end":7684031},{"filename":"/lib/python3.10/multiprocessing/connection.py","start":7684031,"end":7716055},{"filename":"/lib/python3.10/multiprocessing/context.py","start":7716055,"end":7727312},{"filename":"/lib/python3.10/multiprocessing/forkserver.py","start":7727312,"end":7739454},{"filename":"/lib/python3.10/multiprocessing/heap.py","start":7739454,"end":7751080},{"filename":"/lib/python3.10/multiprocessing/managers.py","start":7751080,"end":7798582},{"filename":"/lib/python3.10/multiprocessing/pool.py","start":7798582,"end":7831137},{"filename":"/lib/python3.10/multiprocessing/popen_fork.py","start":7831137,"end":7833514},{"filename":"/lib/python3.10/multiprocessing/popen_forkserver.py","start":7833514,"end":7835744},{"filename":"/lib/python3.10/multiprocessing/popen_spawn_posix.py","start":7835744,"end":7837773},{"filename":"/lib/python3.10/multiprocessing/popen_spawn_win32.py","start":7837773,"end":7841784},{"filename":"/lib/python3.10/multiprocessing/process.py","start":7841784,"end":7853784},{"filename":"/lib/python3.10/multiprocessing/queues.py","start":7853784,"end":7865777},{"filename":"/lib/python3.10/multiprocessing/reduction.py","start":7865777,"end":7875289},{"filename":"/lib/python3.10/multiprocessing/resource_sharer.py","start":7875289,"end":7880421},{"filename":"/lib/python3.10/multiprocessing/resource_tracker.py","start":7880421,"end":7889396},{"filename":"/lib/python3.10/multiprocessing/shared_memory.py","start":7889396,"end":7907792},{"filename":"/lib/python3.10/multiprocessing/sharedctypes.py","start":7907792,"end":7914098},{"filename":"/lib/python3.10/multiprocessing/spawn.py","start":7914098,"end":7923394},{"filename":"/lib/python3.10/multiprocessing/synchronize.py","start":7923394,"end":7935004},{"filename":"/lib/python3.10/multiprocessing/util.py","start":7935004,"end":7949027},{"filename":"/lib/python3.10/multiprocessing/dummy/__init__.py","start":7949027,"end":7952088},{"filename":"/lib/python3.10/multiprocessing/dummy/connection.py","start":7952088,"end":7953686},{"filename":"/lib/python3.10/pydoc_data/__init__.py","start":7953686,"end":7953686},{"filename":"/lib/python3.10/pydoc_data/_pydoc.css","start":7953686,"end":7953782},{"filename":"/lib/python3.10/pydoc_data/topics.py","start":7953782,"end":8697388},{"filename":"/lib/python3.10/site-packages/README.txt","start":8697388,"end":8697507},{"filename":"/lib/python3.10/sqlite3/__init__.py","start":8697507,"end":8700043},{"filename":"/lib/python3.10/sqlite3/dbapi2.py","start":8700043,"end":8703366},{"filename":"/lib/python3.10/sqlite3/dump.py","start":8703366,"end":8706191},{"filename":"/lib/python3.10/tzdata/__init__.py","start":8706191,"end":8706443},{"filename":"/lib/python3.10/tzdata/zones","start":8706443,"end":8715493},{"filename":"/lib/python3.10/tzdata/zoneinfo/CET","start":8715493,"end":8716114},{"filename":"/lib/python3.10/tzdata/zoneinfo/CST6CDT","start":8716114,"end":8717065},{"filename":"/lib/python3.10/tzdata/zoneinfo/Cuba","start":8717065,"end":8718182},{"filename":"/lib/python3.10/tzdata/zoneinfo/EET","start":8718182,"end":8718679},{"filename":"/lib/python3.10/tzdata/zoneinfo/EST","start":8718679,"end":8718790},{"filename":"/lib/python3.10/tzdata/zoneinfo/EST5EDT","start":8718790,"end":8719741},{"filename":"/lib/python3.10/tzdata/zoneinfo/Egypt","start":8719741,"end":8721017},{"filename":"/lib/python3.10/tzdata/zoneinfo/Eire","start":8721017,"end":8722513},{"filename":"/lib/python3.10/tzdata/zoneinfo/Factory","start":8722513,"end":8722626},{"filename":"/lib/python3.10/tzdata/zoneinfo/GB","start":8722626,"end":8724225},{"filename":"/lib/python3.10/tzdata/zoneinfo/GB-Eire","start":8724225,"end":8725824},{"filename":"/lib/python3.10/tzdata/zoneinfo/GMT","start":8725824,"end":8725935},{"filename":"/lib/python3.10/tzdata/zoneinfo/GMT+0","start":8725935,"end":8726046},{"filename":"/lib/python3.10/tzdata/zoneinfo/GMT-0","start":8726046,"end":8726157},{"filename":"/lib/python3.10/tzdata/zoneinfo/GMT0","start":8726157,"end":8726268},{"filename":"/lib/python3.10/tzdata/zoneinfo/Greenwich","start":8726268,"end":8726379},{"filename":"/lib/python3.10/tzdata/zoneinfo/HST","start":8726379,"end":8726491},{"filename":"/lib/python3.10/tzdata/zoneinfo/Hongkong","start":8726491,"end":8727266},{"filename":"/lib/python3.10/tzdata/zoneinfo/Iceland","start":8727266,"end":8728019},{"filename":"/lib/python3.10/tzdata/zoneinfo/Iran","start":8728019,"end":8730023},{"filename":"/lib/python3.10/tzdata/zoneinfo/Israel","start":8730023,"end":8731097},{"filename":"/lib/python3.10/tzdata/zoneinfo/Jamaica","start":8731097,"end":8731436},{"filename":"/lib/python3.10/tzdata/zoneinfo/Japan","start":8731436,"end":8731649},{"filename":"/lib/python3.10/tzdata/zoneinfo/Kwajalein","start":8731649,"end":8731868},{"filename":"/lib/python3.10/tzdata/zoneinfo/Libya","start":8731868,"end":8732299},{"filename":"/lib/python3.10/tzdata/zoneinfo/MET","start":8732299,"end":8732920},{"filename":"/lib/python3.10/tzdata/zoneinfo/MST","start":8732920,"end":8733031},{"filename":"/lib/python3.10/tzdata/zoneinfo/MST7MDT","start":8733031,"end":8733982},{"filename":"/lib/python3.10/tzdata/zoneinfo/NZ","start":8733982,"end":8735025},{"filename":"/lib/python3.10/tzdata/zoneinfo/NZ-CHAT","start":8735025,"end":8735833},{"filename":"/lib/python3.10/tzdata/zoneinfo/Navajo","start":8735833,"end":8736875},{"filename":"/lib/python3.10/tzdata/zoneinfo/PRC","start":8736875,"end":8737268},{"filename":"/lib/python3.10/tzdata/zoneinfo/PST8PDT","start":8737268,"end":8738219},{"filename":"/lib/python3.10/tzdata/zoneinfo/Poland","start":8738219,"end":8739142},{"filename":"/lib/python3.10/tzdata/zoneinfo/Portugal","start":8739142,"end":8740596},{"filename":"/lib/python3.10/tzdata/zoneinfo/ROC","start":8740596,"end":8741107},{"filename":"/lib/python3.10/tzdata/zoneinfo/ROK","start":8741107,"end":8741522},{"filename":"/lib/python3.10/tzdata/zoneinfo/Singapore","start":8741522,"end":8741778},{"filename":"/lib/python3.10/tzdata/zoneinfo/Turkey","start":8741778,"end":8742978},{"filename":"/lib/python3.10/tzdata/zoneinfo/UCT","start":8742978,"end":8743089},{"filename":"/lib/python3.10/tzdata/zoneinfo/UTC","start":8743089,"end":8743200},{"filename":"/lib/python3.10/tzdata/zoneinfo/Universal","start":8743200,"end":8743311},{"filename":"/lib/python3.10/tzdata/zoneinfo/W-SU","start":8743311,"end":8744219},{"filename":"/lib/python3.10/tzdata/zoneinfo/WET","start":8744219,"end":8744713},{"filename":"/lib/python3.10/tzdata/zoneinfo/Zulu","start":8744713,"end":8744824},{"filename":"/lib/python3.10/tzdata/zoneinfo/__init__.py","start":8744824,"end":8744824},{"filename":"/lib/python3.10/tzdata/zoneinfo/iso3166.tab","start":8744824,"end":8749287},{"filename":"/lib/python3.10/tzdata/zoneinfo/leapseconds","start":8749287,"end":8752679},{"filename":"/lib/python3.10/tzdata/zoneinfo/tzdata.zi","start":8752679,"end":8865464},{"filename":"/lib/python3.10/tzdata/zoneinfo/zone.tab","start":8865464,"end":8884883},{"filename":"/lib/python3.10/tzdata/zoneinfo/zone1970.tab","start":8884883,"end":8902476},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Abidjan","start":8902476,"end":8902606},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Accra","start":8902606,"end":8902736},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Addis_Ababa","start":8902736,"end":8902927},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Algiers","start":8902927,"end":8903397},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Asmara","start":8903397,"end":8903588},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Asmera","start":8903588,"end":8903779},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Bamako","start":8903779,"end":8903909},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Bangui","start":8903909,"end":8904089},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Banjul","start":8904089,"end":8904219},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Bissau","start":8904219,"end":8904368},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Blantyre","start":8904368,"end":8904499},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Brazzaville","start":8904499,"end":8904679},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Bujumbura","start":8904679,"end":8904810},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Cairo","start":8904810,"end":8906086},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Casablanca","start":8906086,"end":8908005},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Ceuta","start":8908005,"end":8908567},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Conakry","start":8908567,"end":8908697},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Dakar","start":8908697,"end":8908827},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Dar_es_Salaam","start":8908827,"end":8909018},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Djibouti","start":8909018,"end":8909209},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Douala","start":8909209,"end":8909389},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/El_Aaiun","start":8909389,"end":8911219},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Freetown","start":8911219,"end":8911349},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Gaborone","start":8911349,"end":8911480},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Harare","start":8911480,"end":8911611},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Johannesburg","start":8911611,"end":8911801},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Juba","start":8911801,"end":8912259},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Kampala","start":8912259,"end":8912450},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Khartoum","start":8912450,"end":8912908},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Kigali","start":8912908,"end":8913039},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Kinshasa","start":8913039,"end":8913219},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Lagos","start":8913219,"end":8913399},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Libreville","start":8913399,"end":8913579},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Lome","start":8913579,"end":8913709},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Luanda","start":8913709,"end":8913889},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Lubumbashi","start":8913889,"end":8914020},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Lusaka","start":8914020,"end":8914151},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Malabo","start":8914151,"end":8914331},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Maputo","start":8914331,"end":8914462},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Maseru","start":8914462,"end":8914652},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Mbabane","start":8914652,"end":8914842},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Mogadishu","start":8914842,"end":8915033},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Monrovia","start":8915033,"end":8915197},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Nairobi","start":8915197,"end":8915388},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Ndjamena","start":8915388,"end":8915548},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Niamey","start":8915548,"end":8915728},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Nouakchott","start":8915728,"end":8915858},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Ouagadougou","start":8915858,"end":8915988},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Porto-Novo","start":8915988,"end":8916168},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Sao_Tome","start":8916168,"end":8916341},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Timbuktu","start":8916341,"end":8916471},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Tripoli","start":8916471,"end":8916902},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Tunis","start":8916902,"end":8917351},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/Windhoek","start":8917351,"end":8917989},{"filename":"/lib/python3.10/tzdata/zoneinfo/Africa/__init__.py","start":8917989,"end":8917989},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Adak","start":8917989,"end":8918958},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Anchorage","start":8918958,"end":8919935},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Anguilla","start":8919935,"end":8920112},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Antigua","start":8920112,"end":8920289},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Araguaina","start":8920289,"end":8920881},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Aruba","start":8920881,"end":8921058},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Asuncion","start":8921058,"end":8921942},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Atikokan","start":8921942,"end":8922091},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Atka","start":8922091,"end":8923060},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Bahia","start":8923060,"end":8923742},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Bahia_Banderas","start":8923742,"end":8924272},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Barbados","start":8924272,"end":8924550},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Belem","start":8924550,"end":8924944},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Belize","start":8924944,"end":8925989},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Blanc-Sablon","start":8925989,"end":8926166},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Boa_Vista","start":8926166,"end":8926596},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Bogota","start":8926596,"end":8926775},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Boise","start":8926775,"end":8927774},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Buenos_Aires","start":8927774,"end":8928482},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Cambridge_Bay","start":8928482,"end":8929250},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Campo_Grande","start":8929250,"end":8930202},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Cancun","start":8930202,"end":8930731},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Caracas","start":8930731,"end":8930921},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Catamarca","start":8930921,"end":8931629},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Cayenne","start":8931629,"end":8931780},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Cayman","start":8931780,"end":8931929},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Chicago","start":8931929,"end":8933683},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Chihuahua","start":8933683,"end":8934023},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Coral_Harbour","start":8934023,"end":8934172},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Cordoba","start":8934172,"end":8934880},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Costa_Rica","start":8934880,"end":8935112},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Creston","start":8935112,"end":8935352},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Cuiaba","start":8935352,"end":8936286},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Curacao","start":8936286,"end":8936463},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Danmarkshavn","start":8936463,"end":8936910},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Dawson","start":8936910,"end":8937939},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Dawson_Creek","start":8937939,"end":8938622},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Denver","start":8938622,"end":8939664},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Detroit","start":8939664,"end":8940563},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Dominica","start":8940563,"end":8940740},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Edmonton","start":8940740,"end":8941710},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Eirunepe","start":8941710,"end":8942146},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/El_Salvador","start":8942146,"end":8942322},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Ensenada","start":8942322,"end":8943347},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Fort_Nelson","start":8943347,"end":8944795},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Fort_Wayne","start":8944795,"end":8945326},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Fortaleza","start":8945326,"end":8945810},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Glace_Bay","start":8945810,"end":8946690},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Godthab","start":8946690,"end":8947155},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Goose_Bay","start":8947155,"end":8948735},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Grand_Turk","start":8948735,"end":8949588},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Grenada","start":8949588,"end":8949765},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Guadeloupe","start":8949765,"end":8949942},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Guatemala","start":8949942,"end":8950154},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Guayaquil","start":8950154,"end":8950333},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Guyana","start":8950333,"end":8950514},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Halifax","start":8950514,"end":8952186},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Havana","start":8952186,"end":8953303},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Hermosillo","start":8953303,"end":8953589},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Indianapolis","start":8953589,"end":8954120},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Inuvik","start":8954120,"end":8954821},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Iqaluit","start":8954821,"end":8955561},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Jamaica","start":8955561,"end":8955900},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Jujuy","start":8955900,"end":8956590},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Juneau","start":8956590,"end":8957556},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Knox_IN","start":8957556,"end":8958572},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Kralendijk","start":8958572,"end":8958749},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/La_Paz","start":8958749,"end":8958919},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Lima","start":8958919,"end":8959202},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Los_Angeles","start":8959202,"end":8960496},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Louisville","start":8960496,"end":8961738},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Lower_Princes","start":8961738,"end":8961915},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Maceio","start":8961915,"end":8962417},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Managua","start":8962417,"end":8962712},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Manaus","start":8962712,"end":8963124},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Marigot","start":8963124,"end":8963301},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Martinique","start":8963301,"end":8963479},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Matamoros","start":8963479,"end":8963916},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Mazatlan","start":8963916,"end":8964283},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Mendoza","start":8964283,"end":8964991},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Menominee","start":8964991,"end":8965908},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Merida","start":8965908,"end":8966211},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Metlakatla","start":8966211,"end":8966806},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Mexico_City","start":8966806,"end":8967218},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Miquelon","start":8967218,"end":8967768},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Moncton","start":8967768,"end":8969261},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Monterrey","start":8969261,"end":8969554},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Montevideo","start":8969554,"end":8970523},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Montreal","start":8970523,"end":8972240},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Montserrat","start":8972240,"end":8972417},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Nassau","start":8972417,"end":8974134},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/New_York","start":8974134,"end":8975878},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Nipigon","start":8975878,"end":8976713},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Nome","start":8976713,"end":8977688},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Noronha","start":8977688,"end":8978172},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Nuuk","start":8978172,"end":8978637},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Ojinaga","start":8978637,"end":8979121},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Panama","start":8979121,"end":8979270},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Pangnirtung","start":8979270,"end":8980039},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Paramaribo","start":8980039,"end":8980226},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Phoenix","start":8980226,"end":8980466},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Port-au-Prince","start":8980466,"end":8981031},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Port_of_Spain","start":8981031,"end":8981208},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Porto_Acre","start":8981208,"end":8981626},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Porto_Velho","start":8981626,"end":8982020},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Puerto_Rico","start":8982020,"end":8982197},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Punta_Arenas","start":8982197,"end":8983406},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Rainy_River","start":8983406,"end":8984241},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Rankin_Inlet","start":8984241,"end":8984933},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Recife","start":8984933,"end":8985417},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Regina","start":8985417,"end":8986055},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Resolute","start":8986055,"end":8986747},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Rio_Branco","start":8986747,"end":8987165},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Rosario","start":8987165,"end":8987873},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Santa_Isabel","start":8987873,"end":8988898},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Santarem","start":8988898,"end":8989307},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Santiago","start":8989307,"end":8990589},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Santo_Domingo","start":8990589,"end":8990906},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Sao_Paulo","start":8990906,"end":8991858},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Scoresbysund","start":8991858,"end":8992337},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Shiprock","start":8992337,"end":8993379},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Sitka","start":8993379,"end":8994335},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/St_Barthelemy","start":8994335,"end":8994512},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/St_Johns","start":8994512,"end":8996390},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/St_Kitts","start":8996390,"end":8996567},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/St_Lucia","start":8996567,"end":8996744},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/St_Thomas","start":8996744,"end":8996921},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/St_Vincent","start":8996921,"end":8997098},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Swift_Current","start":8997098,"end":8997466},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Tegucigalpa","start":8997466,"end":8997660},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Thule","start":8997660,"end":8998115},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Thunder_Bay","start":8998115,"end":8998996},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Tijuana","start":8998996,"end":9000021},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Toronto","start":9000021,"end":9001738},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Tortola","start":9001738,"end":9001915},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Vancouver","start":9001915,"end":9003245},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Virgin","start":9003245,"end":9003422},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Whitehorse","start":9003422,"end":9004451},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Winnipeg","start":9004451,"end":9005745},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Yakutat","start":9005745,"end":9006691},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Yellowknife","start":9006691,"end":9007420},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/__init__.py","start":9007420,"end":9007420},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Argentina/Buenos_Aires","start":9007420,"end":9008128},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Argentina/Catamarca","start":9008128,"end":9008836},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Argentina/ComodRivadavia","start":9008836,"end":9009544},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Argentina/Cordoba","start":9009544,"end":9010252},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Argentina/Jujuy","start":9010252,"end":9010942},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Argentina/La_Rioja","start":9010942,"end":9011659},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Argentina/Mendoza","start":9011659,"end":9012367},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Argentina/Rio_Gallegos","start":9012367,"end":9013075},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Argentina/Salta","start":9013075,"end":9013765},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Argentina/San_Juan","start":9013765,"end":9014482},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Argentina/San_Luis","start":9014482,"end":9015199},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Argentina/Tucuman","start":9015199,"end":9015925},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Argentina/Ushuaia","start":9015925,"end":9016633},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Argentina/__init__.py","start":9016633,"end":9016633},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Indiana/Indianapolis","start":9016633,"end":9017164},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Indiana/Knox","start":9017164,"end":9018180},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Indiana/Marengo","start":9018180,"end":9018747},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Indiana/Petersburg","start":9018747,"end":9019430},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Indiana/Tell_City","start":9019430,"end":9019952},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Indiana/Vevay","start":9019952,"end":9020321},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Indiana/Vincennes","start":9020321,"end":9020879},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Indiana/Winamac","start":9020879,"end":9021491},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Indiana/__init__.py","start":9021491,"end":9021491},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Kentucky/Louisville","start":9021491,"end":9022733},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Kentucky/Monticello","start":9022733,"end":9023705},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/Kentucky/__init__.py","start":9023705,"end":9023705},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/North_Dakota/Beulah","start":9023705,"end":9024748},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/North_Dakota/Center","start":9024748,"end":9025738},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/North_Dakota/New_Salem","start":9025738,"end":9026728},{"filename":"/lib/python3.10/tzdata/zoneinfo/America/North_Dakota/__init__.py","start":9026728,"end":9026728},{"filename":"/lib/python3.10/tzdata/zoneinfo/Antarctica/Casey","start":9026728,"end":9026971},{"filename":"/lib/python3.10/tzdata/zoneinfo/Antarctica/Davis","start":9026971,"end":9027168},{"filename":"/lib/python3.10/tzdata/zoneinfo/Antarctica/DumontDUrville","start":9027168,"end":9027322},{"filename":"/lib/python3.10/tzdata/zoneinfo/Antarctica/Macquarie","start":9027322,"end":9028298},{"filename":"/lib/python3.10/tzdata/zoneinfo/Antarctica/Mawson","start":9028298,"end":9028450},{"filename":"/lib/python3.10/tzdata/zoneinfo/Antarctica/McMurdo","start":9028450,"end":9029493},{"filename":"/lib/python3.10/tzdata/zoneinfo/Antarctica/Palmer","start":9029493,"end":9030380},{"filename":"/lib/python3.10/tzdata/zoneinfo/Antarctica/Rothera","start":9030380,"end":9030512},{"filename":"/lib/python3.10/tzdata/zoneinfo/Antarctica/South_Pole","start":9030512,"end":9031555},{"filename":"/lib/python3.10/tzdata/zoneinfo/Antarctica/Syowa","start":9031555,"end":9031688},{"filename":"/lib/python3.10/tzdata/zoneinfo/Antarctica/Troll","start":9031688,"end":9031865},{"filename":"/lib/python3.10/tzdata/zoneinfo/Antarctica/Vostok","start":9031865,"end":9031998},{"filename":"/lib/python3.10/tzdata/zoneinfo/Antarctica/__init__.py","start":9031998,"end":9031998},{"filename":"/lib/python3.10/tzdata/zoneinfo/Arctic/Longyearbyen","start":9031998,"end":9032674},{"filename":"/lib/python3.10/tzdata/zoneinfo/Arctic/__init__.py","start":9032674,"end":9032674},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Aden","start":9032674,"end":9032807},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Almaty","start":9032807,"end":9033416},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Amman","start":9033416,"end":9034338},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Anadyr","start":9034338,"end":9035081},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Aqtau","start":9035081,"end":9035687},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Aqtobe","start":9035687,"end":9036302},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Ashgabat","start":9036302,"end":9036677},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Ashkhabad","start":9036677,"end":9037052},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Atyrau","start":9037052,"end":9037668},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Baghdad","start":9037668,"end":9038298},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Bahrain","start":9038298,"end":9038450},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Baku","start":9038450,"end":9039194},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Bangkok","start":9039194,"end":9039346},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Barnaul","start":9039346,"end":9040099},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Beirut","start":9040099,"end":9040831},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Bishkek","start":9040831,"end":9041449},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Brunei","start":9041449,"end":9041603},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Calcutta","start":9041603,"end":9041823},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Chita","start":9041823,"end":9042573},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Choibalsan","start":9042573,"end":9043192},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Chongqing","start":9043192,"end":9043585},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Chungking","start":9043585,"end":9043978},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Colombo","start":9043978,"end":9044225},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Dacca","start":9044225,"end":9044456},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Damascus","start":9044456,"end":9045503},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Dhaka","start":9045503,"end":9045734},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Dili","start":9045734,"end":9045904},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Dubai","start":9045904,"end":9046037},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Dushanbe","start":9046037,"end":9046403},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Famagusta","start":9046403,"end":9047343},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Gaza","start":9047343,"end":9048583},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Harbin","start":9048583,"end":9048976},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Hebron","start":9048976,"end":9050234},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Ho_Chi_Minh","start":9050234,"end":9050470},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Hong_Kong","start":9050470,"end":9051245},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Hovd","start":9051245,"end":9051839},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Irkutsk","start":9051839,"end":9052599},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Istanbul","start":9052599,"end":9053799},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Jakarta","start":9053799,"end":9054047},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Jayapura","start":9054047,"end":9054218},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Jerusalem","start":9054218,"end":9055292},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Kabul","start":9055292,"end":9055451},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Kamchatka","start":9055451,"end":9056178},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Karachi","start":9056178,"end":9056444},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Kashgar","start":9056444,"end":9056577},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Kathmandu","start":9056577,"end":9056738},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Katmandu","start":9056738,"end":9056899},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Khandyga","start":9056899,"end":9057674},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Kolkata","start":9057674,"end":9057894},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Krasnoyarsk","start":9057894,"end":9058635},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Kuala_Lumpur","start":9058635,"end":9058891},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Kuching","start":9058891,"end":9059211},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Kuwait","start":9059211,"end":9059344},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Macao","start":9059344,"end":9060135},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Macau","start":9060135,"end":9060926},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Magadan","start":9060926,"end":9061677},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Makassar","start":9061677,"end":9061867},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Manila","start":9061867,"end":9062105},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Muscat","start":9062105,"end":9062238},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Nicosia","start":9062238,"end":9062835},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Novokuznetsk","start":9062835,"end":9063561},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Novosibirsk","start":9063561,"end":9064314},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Omsk","start":9064314,"end":9065055},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Oral","start":9065055,"end":9065680},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Phnom_Penh","start":9065680,"end":9065832},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Pontianak","start":9065832,"end":9066079},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Pyongyang","start":9066079,"end":9066262},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Qatar","start":9066262,"end":9066414},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Qostanay","start":9066414,"end":9067029},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Qyzylorda","start":9067029,"end":9067653},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Rangoon","start":9067653,"end":9067840},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Riyadh","start":9067840,"end":9067973},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Saigon","start":9067973,"end":9068209},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Sakhalin","start":9068209,"end":9068964},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Samarkand","start":9068964,"end":9069330},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Seoul","start":9069330,"end":9069745},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Shanghai","start":9069745,"end":9070138},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Singapore","start":9070138,"end":9070394},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Srednekolymsk","start":9070394,"end":9071136},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Taipei","start":9071136,"end":9071647},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Tashkent","start":9071647,"end":9072013},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Tbilisi","start":9072013,"end":9072642},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Tehran","start":9072642,"end":9074646},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Tel_Aviv","start":9074646,"end":9075720},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Thimbu","start":9075720,"end":9075874},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Thimphu","start":9075874,"end":9076028},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Tokyo","start":9076028,"end":9076241},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Tomsk","start":9076241,"end":9076994},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Ujung_Pandang","start":9076994,"end":9077184},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Ulaanbaatar","start":9077184,"end":9077778},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Ulan_Bator","start":9077778,"end":9078372},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Urumqi","start":9078372,"end":9078505},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Ust-Nera","start":9078505,"end":9079276},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Vientiane","start":9079276,"end":9079428},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Vladivostok","start":9079428,"end":9080170},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Yakutsk","start":9080170,"end":9080911},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Yangon","start":9080911,"end":9081098},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Yekaterinburg","start":9081098,"end":9081858},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/Yerevan","start":9081858,"end":9082566},{"filename":"/lib/python3.10/tzdata/zoneinfo/Asia/__init__.py","start":9082566,"end":9082566},{"filename":"/lib/python3.10/tzdata/zoneinfo/Atlantic/Azores","start":9082566,"end":9084019},{"filename":"/lib/python3.10/tzdata/zoneinfo/Atlantic/Bermuda","start":9084019,"end":9085043},{"filename":"/lib/python3.10/tzdata/zoneinfo/Atlantic/Canary","start":9085043,"end":9085521},{"filename":"/lib/python3.10/tzdata/zoneinfo/Atlantic/Cape_Verde","start":9085521,"end":9085696},{"filename":"/lib/python3.10/tzdata/zoneinfo/Atlantic/Faeroe","start":9085696,"end":9086137},{"filename":"/lib/python3.10/tzdata/zoneinfo/Atlantic/Faroe","start":9086137,"end":9086578},{"filename":"/lib/python3.10/tzdata/zoneinfo/Atlantic/Jan_Mayen","start":9086578,"end":9087254},{"filename":"/lib/python3.10/tzdata/zoneinfo/Atlantic/Madeira","start":9087254,"end":9088707},{"filename":"/lib/python3.10/tzdata/zoneinfo/Atlantic/Reykjavik","start":9088707,"end":9089460},{"filename":"/lib/python3.10/tzdata/zoneinfo/Atlantic/South_Georgia","start":9089460,"end":9089592},{"filename":"/lib/python3.10/tzdata/zoneinfo/Atlantic/St_Helena","start":9089592,"end":9089722},{"filename":"/lib/python3.10/tzdata/zoneinfo/Atlantic/Stanley","start":9089722,"end":9090511},{"filename":"/lib/python3.10/tzdata/zoneinfo/Atlantic/__init__.py","start":9090511,"end":9090511},{"filename":"/lib/python3.10/tzdata/zoneinfo/Australia/ACT","start":9090511,"end":9091415},{"filename":"/lib/python3.10/tzdata/zoneinfo/Australia/Adelaide","start":9091415,"end":9092336},{"filename":"/lib/python3.10/tzdata/zoneinfo/Australia/Brisbane","start":9092336,"end":9092625},{"filename":"/lib/python3.10/tzdata/zoneinfo/Australia/Broken_Hill","start":9092625,"end":9093566},{"filename":"/lib/python3.10/tzdata/zoneinfo/Australia/Canberra","start":9093566,"end":9094470},{"filename":"/lib/python3.10/tzdata/zoneinfo/Australia/Currie","start":9094470,"end":9095473},{"filename":"/lib/python3.10/tzdata/zoneinfo/Australia/Darwin","start":9095473,"end":9095707},{"filename":"/lib/python3.10/tzdata/zoneinfo/Australia/Eucla","start":9095707,"end":9096021},{"filename":"/lib/python3.10/tzdata/zoneinfo/Australia/Hobart","start":9096021,"end":9097024},{"filename":"/lib/python3.10/tzdata/zoneinfo/Australia/LHI","start":9097024,"end":9097716},{"filename":"/lib/python3.10/tzdata/zoneinfo/Australia/Lindeman","start":9097716,"end":9098041},{"filename":"/lib/python3.10/tzdata/zoneinfo/Australia/Lord_Howe","start":9098041,"end":9098733},{"filename":"/lib/python3.10/tzdata/zoneinfo/Australia/Melbourne","start":9098733,"end":9099637},{"filename":"/lib/python3.10/tzdata/zoneinfo/Australia/NSW","start":9099637,"end":9100541},{"filename":"/lib/python3.10/tzdata/zoneinfo/Australia/North","start":9100541,"end":9100775},{"filename":"/lib/python3.10/tzdata/zoneinfo/Australia/Perth","start":9100775,"end":9101081},{"filename":"/lib/python3.10/tzdata/zoneinfo/Australia/Queensland","start":9101081,"end":9101370},{"filename":"/lib/python3.10/tzdata/zoneinfo/Australia/South","start":9101370,"end":9102291},{"filename":"/lib/python3.10/tzdata/zoneinfo/Australia/Sydney","start":9102291,"end":9103195},{"filename":"/lib/python3.10/tzdata/zoneinfo/Australia/Tasmania","start":9103195,"end":9104198},{"filename":"/lib/python3.10/tzdata/zoneinfo/Australia/Victoria","start":9104198,"end":9105102},{"filename":"/lib/python3.10/tzdata/zoneinfo/Australia/West","start":9105102,"end":9105408},{"filename":"/lib/python3.10/tzdata/zoneinfo/Australia/Yancowinna","start":9105408,"end":9106349},{"filename":"/lib/python3.10/tzdata/zoneinfo/Australia/__init__.py","start":9106349,"end":9106349},{"filename":"/lib/python3.10/tzdata/zoneinfo/Brazil/Acre","start":9106349,"end":9106767},{"filename":"/lib/python3.10/tzdata/zoneinfo/Brazil/DeNoronha","start":9106767,"end":9107251},{"filename":"/lib/python3.10/tzdata/zoneinfo/Brazil/East","start":9107251,"end":9108203},{"filename":"/lib/python3.10/tzdata/zoneinfo/Brazil/West","start":9108203,"end":9108615},{"filename":"/lib/python3.10/tzdata/zoneinfo/Brazil/__init__.py","start":9108615,"end":9108615},{"filename":"/lib/python3.10/tzdata/zoneinfo/Canada/Atlantic","start":9108615,"end":9110287},{"filename":"/lib/python3.10/tzdata/zoneinfo/Canada/Central","start":9110287,"end":9111581},{"filename":"/lib/python3.10/tzdata/zoneinfo/Canada/Eastern","start":9111581,"end":9113298},{"filename":"/lib/python3.10/tzdata/zoneinfo/Canada/Mountain","start":9113298,"end":9114268},{"filename":"/lib/python3.10/tzdata/zoneinfo/Canada/Newfoundland","start":9114268,"end":9116146},{"filename":"/lib/python3.10/tzdata/zoneinfo/Canada/Pacific","start":9116146,"end":9117476},{"filename":"/lib/python3.10/tzdata/zoneinfo/Canada/Saskatchewan","start":9117476,"end":9118114},{"filename":"/lib/python3.10/tzdata/zoneinfo/Canada/Yukon","start":9118114,"end":9119143},{"filename":"/lib/python3.10/tzdata/zoneinfo/Canada/__init__.py","start":9119143,"end":9119143},{"filename":"/lib/python3.10/tzdata/zoneinfo/Chile/Continental","start":9119143,"end":9120425},{"filename":"/lib/python3.10/tzdata/zoneinfo/Chile/EasterIsland","start":9120425,"end":9121527},{"filename":"/lib/python3.10/tzdata/zoneinfo/Chile/__init__.py","start":9121527,"end":9121527},{"filename":"/lib/python3.10/tzdata/zoneinfo/Etc/GMT","start":9121527,"end":9121638},{"filename":"/lib/python3.10/tzdata/zoneinfo/Etc/GMT+0","start":9121638,"end":9121749},{"filename":"/lib/python3.10/tzdata/zoneinfo/Etc/GMT+1","start":9121749,"end":9121862},{"filename":"/lib/python3.10/tzdata/zoneinfo/Etc/GMT+10","start":9121862,"end":9121976},{"filename":"/lib/python3.10/tzdata/zoneinfo/Etc/GMT+11","start":9121976,"end":9122090},{"filename":"/lib/python3.10/tzdata/zoneinfo/Etc/GMT+12","start":9122090,"end":9122204},{"filename":"/lib/python3.10/tzdata/zoneinfo/Etc/GMT+2","start":9122204,"end":9122317},{"filename":"/lib/python3.10/tzdata/zoneinfo/Etc/GMT+3","start":9122317,"end":9122430},{"filename":"/lib/python3.10/tzdata/zoneinfo/Etc/GMT+4","start":9122430,"end":9122543},{"filename":"/lib/python3.10/tzdata/zoneinfo/Etc/GMT+5","start":9122543,"end":9122656},{"filename":"/lib/python3.10/tzdata/zoneinfo/Etc/GMT+6","start":9122656,"end":9122769},{"filename":"/lib/python3.10/tzdata/zoneinfo/Etc/GMT+7","start":9122769,"end":9122882},{"filename":"/lib/python3.10/tzdata/zoneinfo/Etc/GMT+8","start":9122882,"end":9122995},{"filename":"/lib/python3.10/tzdata/zoneinfo/Etc/GMT+9","start":9122995,"end":9123108},{"filename":"/lib/python3.10/tzdata/zoneinfo/Etc/GMT-0","start":9123108,"end":9123219},{"filename":"/lib/python3.10/tzdata/zoneinfo/Etc/GMT-1","start":9123219,"end":9123333},{"filename":"/lib/python3.10/tzdata/zoneinfo/Etc/GMT-10","start":9123333,"end":9123448},{"filename":"/lib/python3.10/tzdata/zoneinfo/Etc/GMT-11","start":9123448,"end":9123563},{"filename":"/lib/python3.10/tzdata/zoneinfo/Etc/GMT-12","start":9123563,"end":9123678},{"filename":"/lib/python3.10/tzdata/zoneinfo/Etc/GMT-13","start":9123678,"end":9123793},{"filename":"/lib/python3.10/tzdata/zoneinfo/Etc/GMT-14","start":9123793,"end":9123908},{"filename":"/lib/python3.10/tzdata/zoneinfo/Etc/GMT-2","start":9123908,"end":9124022},{"filename":"/lib/python3.10/tzdata/zoneinfo/Etc/GMT-3","start":9124022,"end":9124136},{"filename":"/lib/python3.10/tzdata/zoneinfo/Etc/GMT-4","start":9124136,"end":9124250},{"filename":"/lib/python3.10/tzdata/zoneinfo/Etc/GMT-5","start":9124250,"end":9124364},{"filename":"/lib/python3.10/tzdata/zoneinfo/Etc/GMT-6","start":9124364,"end":9124478},{"filename":"/lib/python3.10/tzdata/zoneinfo/Etc/GMT-7","start":9124478,"end":9124592},{"filename":"/lib/python3.10/tzdata/zoneinfo/Etc/GMT-8","start":9124592,"end":9124706},{"filename":"/lib/python3.10/tzdata/zoneinfo/Etc/GMT-9","start":9124706,"end":9124820},{"filename":"/lib/python3.10/tzdata/zoneinfo/Etc/GMT0","start":9124820,"end":9124931},{"filename":"/lib/python3.10/tzdata/zoneinfo/Etc/Greenwich","start":9124931,"end":9125042},{"filename":"/lib/python3.10/tzdata/zoneinfo/Etc/UCT","start":9125042,"end":9125153},{"filename":"/lib/python3.10/tzdata/zoneinfo/Etc/UTC","start":9125153,"end":9125264},{"filename":"/lib/python3.10/tzdata/zoneinfo/Etc/Universal","start":9125264,"end":9125375},{"filename":"/lib/python3.10/tzdata/zoneinfo/Etc/Zulu","start":9125375,"end":9125486},{"filename":"/lib/python3.10/tzdata/zoneinfo/Etc/__init__.py","start":9125486,"end":9125486},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Amsterdam","start":9125486,"end":9126557},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Andorra","start":9126557,"end":9126946},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Astrakhan","start":9126946,"end":9127672},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Athens","start":9127672,"end":9128354},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Belfast","start":9128354,"end":9129953},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Belgrade","start":9129953,"end":9130431},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Berlin","start":9130431,"end":9131136},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Bratislava","start":9131136,"end":9131859},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Brussels","start":9131859,"end":9132962},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Bucharest","start":9132962,"end":9133623},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Budapest","start":9133623,"end":9134389},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Busingen","start":9134389,"end":9134886},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Chisinau","start":9134886,"end":9135641},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Copenhagen","start":9135641,"end":9136264},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Dublin","start":9136264,"end":9137760},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Gibraltar","start":9137760,"end":9138980},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Guernsey","start":9138980,"end":9140579},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Helsinki","start":9140579,"end":9141060},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Isle_of_Man","start":9141060,"end":9142659},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Istanbul","start":9142659,"end":9143859},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Jersey","start":9143859,"end":9145458},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Kaliningrad","start":9145458,"end":9146362},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Kiev","start":9146362,"end":9146920},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Kirov","start":9146920,"end":9147637},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Lisbon","start":9147637,"end":9149091},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Ljubljana","start":9149091,"end":9149569},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/London","start":9149569,"end":9151168},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Luxembourg","start":9151168,"end":9152255},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Madrid","start":9152255,"end":9153152},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Malta","start":9153152,"end":9154080},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Mariehamn","start":9154080,"end":9154561},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Minsk","start":9154561,"end":9155369},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Monaco","start":9155369,"end":9156483},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Moscow","start":9156483,"end":9157391},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Nicosia","start":9157391,"end":9157988},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Oslo","start":9157988,"end":9158664},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Paris","start":9158664,"end":9159769},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Podgorica","start":9159769,"end":9160247},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Prague","start":9160247,"end":9160970},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Riga","start":9160970,"end":9161664},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Rome","start":9161664,"end":9162611},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Samara","start":9162611,"end":9163343},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/San_Marino","start":9163343,"end":9164290},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Sarajevo","start":9164290,"end":9164768},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Saratov","start":9164768,"end":9165494},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Simferopol","start":9165494,"end":9166359},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Skopje","start":9166359,"end":9166837},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Sofia","start":9166837,"end":9167429},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Stockholm","start":9167429,"end":9167926},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Tallinn","start":9167926,"end":9168601},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Tirane","start":9168601,"end":9169205},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Tiraspol","start":9169205,"end":9169960},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Ulyanovsk","start":9169960,"end":9170720},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Uzhgorod","start":9170720,"end":9171259},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Vaduz","start":9171259,"end":9171756},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Vatican","start":9171756,"end":9172703},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Vienna","start":9172703,"end":9173361},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Vilnius","start":9173361,"end":9174037},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Volgograd","start":9174037,"end":9174772},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Warsaw","start":9174772,"end":9175695},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Zagreb","start":9175695,"end":9176173},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Zaporozhye","start":9176173,"end":9176742},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/Zurich","start":9176742,"end":9177239},{"filename":"/lib/python3.10/tzdata/zoneinfo/Europe/__init__.py","start":9177239,"end":9177239},{"filename":"/lib/python3.10/tzdata/zoneinfo/Indian/Antananarivo","start":9177239,"end":9177430},{"filename":"/lib/python3.10/tzdata/zoneinfo/Indian/Chagos","start":9177430,"end":9177582},{"filename":"/lib/python3.10/tzdata/zoneinfo/Indian/Christmas","start":9177582,"end":9177715},{"filename":"/lib/python3.10/tzdata/zoneinfo/Indian/Cocos","start":9177715,"end":9177855},{"filename":"/lib/python3.10/tzdata/zoneinfo/Indian/Comoro","start":9177855,"end":9178046},{"filename":"/lib/python3.10/tzdata/zoneinfo/Indian/Kerguelen","start":9178046,"end":9178179},{"filename":"/lib/python3.10/tzdata/zoneinfo/Indian/Mahe","start":9178179,"end":9178312},{"filename":"/lib/python3.10/tzdata/zoneinfo/Indian/Maldives","start":9178312,"end":9178464},{"filename":"/lib/python3.10/tzdata/zoneinfo/Indian/Mauritius","start":9178464,"end":9178643},{"filename":"/lib/python3.10/tzdata/zoneinfo/Indian/Mayotte","start":9178643,"end":9178834},{"filename":"/lib/python3.10/tzdata/zoneinfo/Indian/Reunion","start":9178834,"end":9178967},{"filename":"/lib/python3.10/tzdata/zoneinfo/Indian/__init__.py","start":9178967,"end":9178967},{"filename":"/lib/python3.10/tzdata/zoneinfo/Mexico/BajaNorte","start":9178967,"end":9179992},{"filename":"/lib/python3.10/tzdata/zoneinfo/Mexico/BajaSur","start":9179992,"end":9180359},{"filename":"/lib/python3.10/tzdata/zoneinfo/Mexico/General","start":9180359,"end":9180771},{"filename":"/lib/python3.10/tzdata/zoneinfo/Mexico/__init__.py","start":9180771,"end":9180771},{"filename":"/lib/python3.10/tzdata/zoneinfo/Pacific/Apia","start":9180771,"end":9181178},{"filename":"/lib/python3.10/tzdata/zoneinfo/Pacific/Auckland","start":9181178,"end":9182221},{"filename":"/lib/python3.10/tzdata/zoneinfo/Pacific/Bougainville","start":9182221,"end":9182422},{"filename":"/lib/python3.10/tzdata/zoneinfo/Pacific/Chatham","start":9182422,"end":9183230},{"filename":"/lib/python3.10/tzdata/zoneinfo/Pacific/Chuuk","start":9183230,"end":9183425},{"filename":"/lib/python3.10/tzdata/zoneinfo/Pacific/Easter","start":9183425,"end":9184527},{"filename":"/lib/python3.10/tzdata/zoneinfo/Pacific/Efate","start":9184527,"end":9184869},{"filename":"/lib/python3.10/tzdata/zoneinfo/Pacific/Enderbury","start":9184869,"end":9185041},{"filename":"/lib/python3.10/tzdata/zoneinfo/Pacific/Fakaofo","start":9185041,"end":9185194},{"filename":"/lib/python3.10/tzdata/zoneinfo/Pacific/Fiji","start":9185194,"end":9185622},{"filename":"/lib/python3.10/tzdata/zoneinfo/Pacific/Funafuti","start":9185622,"end":9185756},{"filename":"/lib/python3.10/tzdata/zoneinfo/Pacific/Galapagos","start":9185756,"end":9185931},{"filename":"/lib/python3.10/tzdata/zoneinfo/Pacific/Gambier","start":9185931,"end":9186063},{"filename":"/lib/python3.10/tzdata/zoneinfo/Pacific/Guadalcanal","start":9186063,"end":9186197},{"filename":"/lib/python3.10/tzdata/zoneinfo/Pacific/Guam","start":9186197,"end":9186547},{"filename":"/lib/python3.10/tzdata/zoneinfo/Pacific/Honolulu","start":9186547,"end":9186768},{"filename":"/lib/python3.10/tzdata/zoneinfo/Pacific/Johnston","start":9186768,"end":9186989},{"filename":"/lib/python3.10/tzdata/zoneinfo/Pacific/Kanton","start":9186989,"end":9187161},{"filename":"/lib/python3.10/tzdata/zoneinfo/Pacific/Kiritimati","start":9187161,"end":9187335},{"filename":"/lib/python3.10/tzdata/zoneinfo/Pacific/Kosrae","start":9187335,"end":9187577},{"filename":"/lib/python3.10/tzdata/zoneinfo/Pacific/Kwajalein","start":9187577,"end":9187796},{"filename":"/lib/python3.10/tzdata/zoneinfo/Pacific/Majuro","start":9187796,"end":9188014},{"filename":"/lib/python3.10/tzdata/zoneinfo/Pacific/Marquesas","start":9188014,"end":9188153},{"filename":"/lib/python3.10/tzdata/zoneinfo/Pacific/Midway","start":9188153,"end":9188299},{"filename":"/lib/python3.10/tzdata/zoneinfo/Pacific/Nauru","start":9188299,"end":9188482},{"filename":"/lib/python3.10/tzdata/zoneinfo/Pacific/Niue","start":9188482,"end":9188636},{"filename":"/lib/python3.10/tzdata/zoneinfo/Pacific/Norfolk","start":9188636,"end":9188883},{"filename":"/lib/python3.10/tzdata/zoneinfo/Pacific/Noumea","start":9188883,"end":9189081},{"filename":"/lib/python3.10/tzdata/zoneinfo/Pacific/Pago_Pago","start":9189081,"end":9189227},{"filename":"/lib/python3.10/tzdata/zoneinfo/Pacific/Palau","start":9189227,"end":9189375},{"filename":"/lib/python3.10/tzdata/zoneinfo/Pacific/Pitcairn","start":9189375,"end":9189528},{"filename":"/lib/python3.10/tzdata/zoneinfo/Pacific/Pohnpei","start":9189528,"end":9189742},{"filename":"/lib/python3.10/tzdata/zoneinfo/Pacific/Ponape","start":9189742,"end":9189956},{"filename":"/lib/python3.10/tzdata/zoneinfo/Pacific/Port_Moresby","start":9189956,"end":9190110},{"filename":"/lib/python3.10/tzdata/zoneinfo/Pacific/Rarotonga","start":9190110,"end":9190516},{"filename":"/lib/python3.10/tzdata/zoneinfo/Pacific/Saipan","start":9190516,"end":9190866},{"filename":"/lib/python3.10/tzdata/zoneinfo/Pacific/Samoa","start":9190866,"end":9191012},{"filename":"/lib/python3.10/tzdata/zoneinfo/Pacific/Tahiti","start":9191012,"end":9191145},{"filename":"/lib/python3.10/tzdata/zoneinfo/Pacific/Tarawa","start":9191145,"end":9191279},{"filename":"/lib/python3.10/tzdata/zoneinfo/Pacific/Tongatapu","start":9191279,"end":9191516},{"filename":"/lib/python3.10/tzdata/zoneinfo/Pacific/Truk","start":9191516,"end":9191711},{"filename":"/lib/python3.10/tzdata/zoneinfo/Pacific/Wake","start":9191711,"end":9191845},{"filename":"/lib/python3.10/tzdata/zoneinfo/Pacific/Wallis","start":9191845,"end":9191979},{"filename":"/lib/python3.10/tzdata/zoneinfo/Pacific/Yap","start":9191979,"end":9192174},{"filename":"/lib/python3.10/tzdata/zoneinfo/Pacific/__init__.py","start":9192174,"end":9192174},{"filename":"/lib/python3.10/tzdata/zoneinfo/US/Alaska","start":9192174,"end":9193151},{"filename":"/lib/python3.10/tzdata/zoneinfo/US/Aleutian","start":9193151,"end":9194120},{"filename":"/lib/python3.10/tzdata/zoneinfo/US/Arizona","start":9194120,"end":9194360},{"filename":"/lib/python3.10/tzdata/zoneinfo/US/Central","start":9194360,"end":9196114},{"filename":"/lib/python3.10/tzdata/zoneinfo/US/East-Indiana","start":9196114,"end":9196645},{"filename":"/lib/python3.10/tzdata/zoneinfo/US/Eastern","start":9196645,"end":9198389},{"filename":"/lib/python3.10/tzdata/zoneinfo/US/Hawaii","start":9198389,"end":9198610},{"filename":"/lib/python3.10/tzdata/zoneinfo/US/Indiana-Starke","start":9198610,"end":9199626},{"filename":"/lib/python3.10/tzdata/zoneinfo/US/Michigan","start":9199626,"end":9200525},{"filename":"/lib/python3.10/tzdata/zoneinfo/US/Mountain","start":9200525,"end":9201567},{"filename":"/lib/python3.10/tzdata/zoneinfo/US/Pacific","start":9201567,"end":9202861},{"filename":"/lib/python3.10/tzdata/zoneinfo/US/Samoa","start":9202861,"end":9203007},{"filename":"/lib/python3.10/tzdata/zoneinfo/US/__init__.py","start":9203007,"end":9203007},{"filename":"/lib/python3.10/unittest/__init__.py","start":9203007,"end":9206768},{"filename":"/lib/python3.10/unittest/__main__.py","start":9206768,"end":9207240},{"filename":"/lib/python3.10/unittest/_log.py","start":9207240,"end":9209986},{"filename":"/lib/python3.10/unittest/async_case.py","start":9209986,"end":9216207},{"filename":"/lib/python3.10/unittest/case.py","start":9216207,"end":9273769},{"filename":"/lib/python3.10/unittest/loader.py","start":9273769,"end":9296471},{"filename":"/lib/python3.10/unittest/main.py","start":9296471,"end":9307709},{"filename":"/lib/python3.10/unittest/mock.py","start":9307709,"end":9409795},{"filename":"/lib/python3.10/unittest/result.py","start":9409795,"end":9417264},{"filename":"/lib/python3.10/unittest/runner.py","start":9417264,"end":9425315},{"filename":"/lib/python3.10/unittest/signals.py","start":9425315,"end":9427718},{"filename":"/lib/python3.10/unittest/suite.py","start":9427718,"end":9441230},{"filename":"/lib/python3.10/unittest/util.py","start":9441230,"end":9446445},{"filename":"/lib/python3.10/urllib/__init__.py","start":9446445,"end":9446445},{"filename":"/lib/python3.10/urllib/error.py","start":9446445,"end":9449077},{"filename":"/lib/python3.10/urllib/parse.py","start":9449077,"end":9491355},{"filename":"/lib/python3.10/urllib/request.py","start":9491355,"end":9592745},{"filename":"/lib/python3.10/urllib/response.py","start":9592745,"end":9595106},{"filename":"/lib/python3.10/urllib/robotparser.py","start":9595106,"end":9604530},{"filename":"/lib/python3.10/wsgiref/__init__.py","start":9604530,"end":9605117},{"filename":"/lib/python3.10/wsgiref/handlers.py","start":9605117,"end":9626786},{"filename":"/lib/python3.10/wsgiref/headers.py","start":9626786,"end":9633552},{"filename":"/lib/python3.10/wsgiref/simple_server.py","start":9633552,"end":9638723},{"filename":"/lib/python3.10/wsgiref/util.py","start":9638723,"end":9644574},{"filename":"/lib/python3.10/wsgiref/validate.py","start":9644574,"end":9659673},{"filename":"/lib/python3.10/xml/__init__.py","start":9659673,"end":9660230},{"filename":"/lib/python3.10/xml/dom/NodeFilter.py","start":9660230,"end":9661166},{"filename":"/lib/python3.10/xml/dom/__init__.py","start":9661166,"end":9665185},{"filename":"/lib/python3.10/xml/dom/domreg.py","start":9665185,"end":9668636},{"filename":"/lib/python3.10/xml/dom/expatbuilder.py","start":9668636,"end":9704403},{"filename":"/lib/python3.10/xml/dom/minicompat.py","start":9704403,"end":9707770},{"filename":"/lib/python3.10/xml/dom/minidom.py","start":9707770,"end":9775836},{"filename":"/lib/python3.10/xml/dom/pulldom.py","start":9775836,"end":9787833},{"filename":"/lib/python3.10/xml/dom/xmlbuilder.py","start":9787833,"end":9800220},{"filename":"/lib/python3.10/xml/etree/ElementInclude.py","start":9800220,"end":9807102},{"filename":"/lib/python3.10/xml/etree/ElementPath.py","start":9807102,"end":9821109},{"filename":"/lib/python3.10/xml/etree/ElementTree.py","start":9821109,"end":9895045},{"filename":"/lib/python3.10/xml/etree/__init__.py","start":9895045,"end":9896650},{"filename":"/lib/python3.10/xml/etree/cElementTree.py","start":9896650,"end":9896732},{"filename":"/lib/python3.10/xml/parsers/__init__.py","start":9896732,"end":9896899},{"filename":"/lib/python3.10/xml/parsers/expat.py","start":9896899,"end":9897147},{"filename":"/lib/python3.10/xml/sax/__init__.py","start":9897147,"end":9900789},{"filename":"/lib/python3.10/xml/sax/_exceptions.py","start":9900789,"end":9905574},{"filename":"/lib/python3.10/xml/sax/expatreader.py","start":9905574,"end":9921301},{"filename":"/lib/python3.10/xml/sax/handler.py","start":9921301,"end":9936918},{"filename":"/lib/python3.10/xml/sax/saxutils.py","start":9936918,"end":9949173},{"filename":"/lib/python3.10/xml/sax/xmlreader.py","start":9949173,"end":9961857},{"filename":"/lib/python3.10/xmlrpc/__init__.py","start":9961857,"end":9961895},{"filename":"/lib/python3.10/xmlrpc/client.py","start":9961895,"end":10011286},{"filename":"/lib/python3.10/xmlrpc/server.py","start":10011286,"end":10047958},{"filename":"/lib/python3.10/zoneinfo/__init__.py","start":10047958,"end":10048661},{"filename":"/lib/python3.10/zoneinfo/_common.py","start":10048661,"end":10053946},{"filename":"/lib/python3.10/zoneinfo/_tzpath.py","start":10053946,"end":10059027},{"filename":"/lib/python3.10/zoneinfo/_zoneinfo.py","start":10059027,"end":10083345},{"filename":"/lib/python3.10/webbrowser.py","start":10083345,"end":10083712}],"remote_package_size":5394245,"package_uuid":"b90888e8-366e-4159-955c-b9020d3ab63f"})})();const API=Module.API;const Hiwire=Module.hiwire;const Tests=API.tests;var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=typeof window==="object";var ENVIRONMENT_IS_WORKER=typeof importScripts==="function";var ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;var nodeFS;var nodePath;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=function shell_read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);return nodeFS["readFileSync"](filename,binary?null:"utf8")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};readAsync=function readAsync(filename,onload,onerror){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);nodeFS["readFile"](filename,function(err,data){if(err)onerror(err);else onload(data.buffer)})};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status,toThrow){if(keepRuntimeAlive()){process["exitCode"]=status;throw toThrow}process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=Number(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}function convertJsFunctionToWasm(func,sig){if(typeof WebAssembly.Function==="function"){var typeNames={"i":"i32","j":"i64","f":"f32","d":"f64"};var type={parameters:[],results:sig[0]=="v"?[]:[typeNames[sig[0]]]};for(var i=1;i<sig.length;++i){type.parameters.push(typeNames[sig[i]])}return new WebAssembly.Function(type,func)}var typeSection=[1,0,1,96];var sigRet=sig.slice(0,1);var sigParam=sig.slice(1);var typeCodes={"i":127,"j":126,"f":125,"d":124};typeSection.push(sigParam.length);for(var i=0;i<sigParam.length;++i){typeSection.push(typeCodes[sigParam[i]])}if(sigRet=="v"){typeSection.push(0)}else{typeSection=typeSection.concat([1,typeCodes[sigRet]])}typeSection[1]=typeSection.length-2;var bytes=new Uint8Array([0,97,115,109,1,0,0,0].concat(typeSection,[2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0]));var module=new WebAssembly.Module(bytes);var instance=new WebAssembly.Instance(module,{"e":{"f":func}});var wrappedFunc=instance.exports["f"];return wrappedFunc}var freeTableIndexes=[];var functionsInTableMap;function getEmptyTableSlot(){if(freeTableIndexes.length){return freeTableIndexes.pop()}try{wasmTable.grow(1)}catch(err){if(!(err instanceof RangeError)){throw err}throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}return wasmTable.length-1}function addFunctionWasm(func,sig){if(!functionsInTableMap){functionsInTableMap=new WeakMap;for(var i=0;i<wasmTable.length;i++){var item=wasmTable.get(i);if(item){functionsInTableMap.set(item,i)}}}if(functionsInTableMap.has(func)){return functionsInTableMap.get(func)}var ret=getEmptyTableSlot();try{wasmTable.set(ret,func)}catch(err){if(!(err instanceof TypeError)){throw err}var wrapped=convertJsFunctionToWasm(func,sig);wasmTable.set(ret,wrapped)}functionsInTableMap.set(func,ret);return ret}function removeFunction(index){functionsInTableMap.delete(wasmTable.get(index));freeTableIndexes.push(index)}function addFunction(func,sig){return addFunctionWasm(func,sig)}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var dynamicLibraries=Module["dynamicLibraries"]||[];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for getValue: "+type)}return null}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);function onDone(ret){if(stack!==0)stackRestore(stack);return convertReturnValue(ret)}ret=onDone(ret);return ret}function cwrap(ident,returnType,argTypes,opts){argTypes=argTypes||[];var numericArgs=argTypes.every(function(type){return type==="number"});var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return function(){return ccall(ident,returnType,argTypes,arguments,opts)}}var ALLOC_NORMAL=0;var ALLOC_STACK=1;function allocate(slab,allocator){var ret;if(allocator==ALLOC_STACK){ret=stackAlloc(slab.length)}else{ret=_malloc(slab.length)}if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx<endPtr){var u0=heap[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heap[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heap[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heap[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}function AsciiToString(ptr){var str="";while(1){var ch=HEAPU8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function UTF16ToString(ptr,maxBytesToRead){var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder){return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr))}else{var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str}}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite<str.length*2?maxBytesToWrite/2:str.length;for(var i=0;i<numCharsToWrite;++i){var codeUnit=str.charCodeAt(i);HEAP16[outPtr>>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr,maxBytesToRead){var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str}function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343)++i;len+=4}return len}function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeStringToMemory(string,buffer,dontAddNull){warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var lastChar,end;if(dontAddNull){end=buffer+lengthBytesUTF8(string);lastChar=HEAP8[end]}stringToUTF8(string,buffer,Infinity);if(dontAddNull)HEAP8[end]=lastChar}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var TOTAL_STACK=5242880;var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||20971520;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_MEMORY/65536,"maximum":2147483648/65536})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);var wasmTable=new WebAssembly.Table({"initial":7364,"element":"anyfunc"});var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;var runtimeKeepaliveCounter=0;function keepRuntimeAlive(){return noExitRuntime||runtimeKeepaliveCounter>0}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;TTY.init();SOCKFS.root=FS.mount(SOCKFS,{},null);PIPEFS.root=FS.mount(PIPEFS,{},null);callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPreMain(cb){__ATMAIN__.unshift(cb)}function addOnExit(cb){}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};Module["preloadedWasm"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith("file://")}var wasmBinaryFile;wasmBinaryFile="pyodide.asm.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}else{if(readAsync){return new Promise(function(resolve,reject){readAsync(wasmBinaryFile,function(response){resolve(new Uint8Array(response))},reject)})}}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"env":asmLibraryArg,"wasi_snapshot_preview1":asmLibraryArg,"GOT.mem":new Proxy(asmLibraryArg,GOTHandler),"GOT.func":new Proxy(asmLibraryArg,GOTHandler)};function receiveInstance(instance,module){var exports=instance.exports;exports=relocateExports(exports,1024);Module["asm"]=exports;var metadata=getDylinkMetadata(module);if(metadata.neededDynlibs){dynamicLibraries=metadata.neededDynlibs.concat(dynamicLibraries)}mergeLibSymbols(exports,"main");addOnInit(Module["asm"]["__wasm_call_ctors"]);removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"],result["module"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(instance){return instance}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync().catch(readyPromiseReject);return{}}var tempDouble;var tempI64;var ASM_CONSTS={3106167:function(){throw new Error("intentionally triggered fatal error!")},3106224:function($0){Hiwire.get_value($0)()},3106247:function(){Module.UTF8ToString=UTF8ToString;Module.wasmTable=wasmTable},3106317:function(){throw new Error("Fatal pyodide error")},3106356:function(){throw new Error("Fatal pyodide error")},3106395:function(){throw new Error("Fatal pyodide error")},3106434:function(){throw new Error("Fatal pyodide error")},3106473:function(){throw new Error("Fatal pyodide error")},3106512:function(){throw new Error("Fatal pyodide error")},3106551:function(){throw new Error("Fatal pyodide error")},3106590:function(){throw new Error("Fatal pyodide error")},3106629:function(){throw new Error("Fatal pyodide error")},3106668:function(){throw new Error("Fatal pyodide error")},3106707:function(){throw new Error("Fatal pyodide error")},3106746:function(){throw new Error("Fatal pyodide error")},3106785:function($0){API._pyodide=Hiwire.pop_value($0)},3106826:function($0){if(!$0){AL.alcErr=40964;return 1}},3106874:function($0){err("bad name in alcGetProcAddress: "+UTF8ToString($0))},3106937:function($0){if(!AL.currentCtx){err("alGetProcAddress() called without a valid context");return 1}if(!$0){AL.currentCtx.err=40963;return 1}},3107085:function($0){err("bad name in alGetProcAddress: "+UTF8ToString($0))}};function JsArray_Check(idobj){let obj=Hiwire.get_value(idobj);if(Array.isArray(obj)){return true}let typeTag=Object.prototype.toString.call(obj);if(typeTag==="[object HTMLCollection]"||typeTag==="[object NodeList]"){return true}if(ArrayBuffer.isView(obj)&&obj.constructor.name!=="DataView"){return true}return false}function JsArray_Delete(idobj,idx){"use strict";try{let obj=Hiwire.get_value(idobj);if(idx<0||idx>=obj.length){return-1}obj.splice(idx,1)}catch(e){Module.handle_js_error(e);return-1}return 0}function JsArray_Get(idobj,idx){"use strict";try{let obj=Hiwire.get_value(idobj);let result=obj[idx];if(result===undefined&&!(idx in obj)){return 0}return Hiwire.new_value(result)}catch(e){Module.handle_js_error(e);return 0}throw new Error("Assertion error: control reached end of function without return")}function JsArray_New(){"use strict";try{return Hiwire.new_value([])}catch(e){Module.handle_js_error(e);return 0}throw new Error("Assertion error: control reached end of function without return")}function JsArray_Push(idarr,idval){"use strict";try{Hiwire.get_value(idarr).push(Hiwire.get_value(idval))}catch(e){Module.handle_js_error(e);return-1}return 0}function JsArray_Push_unchecked(idarr,idval){Hiwire.get_value(idarr).push(Hiwire.get_value(idval))}function JsArray_Set(idobj,idx,idval){"use strict";try{Hiwire.get_value(idobj)[idx]=Hiwire.get_value(idval)}catch(e){Module.handle_js_error(e);return-1}return 0}function JsBuffer_DecodeString_js(jsbuffer_id,encoding){"use strict";try{let buffer=Hiwire.get_value(jsbuffer_id);let encoding_js;if(encoding){encoding_js=UTF8ToString(encoding)}let decoder=new TextDecoder(encoding_js,{fatal:!!1});let res;try{res=decoder.decode(buffer)}catch(e){if(e instanceof TypeError){return 0}throw e}return Hiwire.new_value(res)}catch(e){Module.handle_js_error(e);return 0}throw new Error("Assertion error: control reached end of function without return")}function JsMap_New(){"use strict";try{return Hiwire.new_value(new Map)}catch(e){Module.handle_js_error(e);return 0}throw new Error("Assertion error: control reached end of function without return")}function JsMap_Set(mapid,keyid,valueid){"use strict";try{let map=Hiwire.get_value(mapid);let key=Hiwire.get_value(keyid);let value=Hiwire.get_value(valueid);map.set(key,value)}catch(e){Module.handle_js_error(e);return-1}return 0}function JsObject_DeleteString(idobj,ptrkey){"use strict";try{let jsobj=Hiwire.get_value(idobj);let jskey=UTF8ToString(ptrkey);delete jsobj[jskey]}catch(e){Module.handle_js_error(e);return-1}return 0}function JsObject_Dir(idobj){"use strict";try{let jsobj=Hiwire.get_value(idobj);let result=[];do{result.push(...Object.getOwnPropertyNames(jsobj).filter(s=>{let c=s.charCodeAt(0);return c<48||c>57}))}while(jsobj=Object.getPrototypeOf(jsobj));return Hiwire.new_value(result)}catch(e){Module.handle_js_error(e);return 0}throw new Error("Assertion error: control reached end of function without return")}function JsObject_Entries(idobj){"use strict";try{let jsobj=Hiwire.get_value(idobj);return Hiwire.new_value(Object.entries(jsobj))}catch(e){Module.handle_js_error(e);return 0}throw new Error("Assertion error: control reached end of function without return")}function JsObject_GetString(idobj,ptrkey){"use strict";try{let jsobj=Hiwire.get_value(idobj);let jskey=UTF8ToString(ptrkey);let result=jsobj[jskey];if(result===undefined&&!(jskey in jsobj)){return 0}return Hiwire.new_value(result)}catch(e){Module.handle_js_error(e);return 0}throw new Error("Assertion error: control reached end of function without return")}function JsObject_Keys(idobj){"use strict";try{let jsobj=Hiwire.get_value(idobj);return Hiwire.new_value(Object.keys(jsobj))}catch(e){Module.handle_js_error(e);return 0}throw new Error("Assertion error: control reached end of function without return")}function JsObject_New(){"use strict";try{return Hiwire.new_value({})}catch(e){Module.handle_js_error(e);return 0}throw new Error("Assertion error: control reached end of function without return")}function JsObject_SetString(idobj,ptrkey,idval){"use strict";try{let jsobj=Hiwire.get_value(idobj);let jskey=UTF8ToString(ptrkey);let jsval=Hiwire.get_value(idval);jsobj[jskey]=jsval}catch(e){Module.handle_js_error(e);return-1}return 0}function JsObject_Values(idobj){"use strict";try{let jsobj=Hiwire.get_value(idobj);return Hiwire.new_value(Object.values(jsobj))}catch(e){Module.handle_js_error(e);return 0}throw new Error("Assertion error: control reached end of function without return")}function JsProxy_subscript_js(idobj,idkey){"use strict";try{let obj=Hiwire.get_value(idobj);let key=Hiwire.get_value(idkey);let result=obj.get(key);if(result===undefined){if(obj.has&&typeof obj.has==="function"&&!obj.has(key)){return 0}}return Hiwire.new_value(result)}catch(e){Module.handle_js_error(e);return 0}throw new Error("Assertion error: control reached end of function without return")}function JsSet_Add(mapid,keyid){"use strict";try{let set=Hiwire.get_value(mapid);let key=Hiwire.get_value(keyid);set.add(key)}catch(e){Module.handle_js_error(e);return-1}return 0}function JsSet_New(){"use strict";try{return Hiwire.new_value(new Set)}catch(e){Module.handle_js_error(e);return 0}throw new Error("Assertion error: control reached end of function without return")}function JsString_InternFromCString(str){"use strict";try{let jsstring=UTF8ToString(str);return Hiwire.intern_object(jsstring)}catch(e){Module.handle_js_error(e);return 0}throw new Error("Assertion error: control reached end of function without return")}function _JsArray_PostProcess_helper(jscontext,array){"use strict";try{return Hiwire.new_value(Hiwire.get_value(jscontext).dict_converter(Hiwire.get_value(array)))}catch(e){Module.handle_js_error(e);return 0}throw new Error("Assertion error: control reached end of function without return")}function _JsArray_PushEntry_helper(array,key,value){"use strict";try{Hiwire.get_value(array).push([Hiwire.get_value(key),Hiwire.get_value(value)])}catch(e){Module.handle_js_error(e);return-1}return 0}function _Py_CheckEmscriptenSignals_Helper(){if(!Module.Py_EmscriptenSignalBuffer){return 0}try{let result=Module.Py_EmscriptenSignalBuffer[0];Module.Py_EmscriptenSignalBuffer[0]=0;return result}catch(e){return 0}}function _python2js_buffer_inner(buf,itemsize,ndim,format,shape,strides,suboffsets){"use strict";try{let converter=Module.get_converter(format,itemsize);let result=Module._python2js_buffer_recursive(buf,0,{ndim:ndim,format:format,itemsize:itemsize,shape:shape,strides:strides,suboffsets:suboffsets,converter:converter});return Hiwire.new_value(result)}catch(e){Module.handle_js_error(e);return 0}throw new Error("Assertion error: control reached end of function without return")}function array_to_js(array,len){"use strict";try{return Hiwire.new_value(Array.from(HEAP32.subarray(array/4,array/4+len)))}catch(e){Module.handle_js_error(e);return 0}throw new Error("Assertion error: control reached end of function without return")}function console_error(msg){let jsmsg=UTF8ToString(msg);console.error(jsmsg)}function console_error_obj(obj){console.error(Hiwire.get_value(obj))}function create_once_callable(obj){"use strict";try{_Py_IncRef(obj);let alreadyCalled=!!0;function wrapper(...args){if(alreadyCalled){throw new Error("OnceProxy can only be called once")}try{return Module.callPyObject(obj,...args)}finally{wrapper.destroy()}}wrapper.destroy=function(){if(alreadyCalled){throw new Error("OnceProxy has already been destroyed")}alreadyCalled=!!1;Module.finalizationRegistry.unregister(wrapper);_Py_DecRef(obj)};Module.finalizationRegistry.register(wrapper,[obj,undefined],wrapper);return Hiwire.new_value(wrapper)}catch(e){Module.handle_js_error(e);return 0}throw new Error("Assertion error: control reached end of function without return")}function create_promise_handles(handle_result,handle_exception,done_callback_id){"use strict";try{if(handle_result){_Py_IncRef(handle_result)}if(handle_exception){_Py_IncRef(handle_exception)}let done_callback=x=>{};if(done_callback_id){done_callback=Hiwire.get_value(done_callback_id)}let used=!!0;function checkUsed(){if(used){throw new Error("One of the promise handles has already been called.")}}function destroy(){checkUsed();used=!!1;if(handle_result){_Py_DecRef(handle_result)}if(handle_exception){_Py_DecRef(handle_exception)}}function onFulfilled(res){checkUsed();try{if(handle_result){return Module.callPyObject(handle_result,res)}}finally{done_callback(res);destroy()}}function onRejected(err){checkUsed();try{if(handle_exception){return Module.callPyObject(handle_exception,err)}}finally{done_callback(undefined);destroy()}}onFulfilled.destroy=destroy;onRejected.destroy=destroy;return Hiwire.new_value([onFulfilled,onRejected])}catch(e){Module.handle_js_error(e);return 0}throw new Error("Assertion error: control reached end of function without return")}function destroy_proxies(proxies_id,msg_ptr){let msg=undefined;if(msg_ptr){msg=UTF8ToString(msg_ptr)}let proxies=Hiwire.get_value(proxies_id);for(let px of proxies){Module.pyproxy_destroy(px,msg)}}function destroy_proxies_js(proxies_id){"use strict";try{for(let proxy of Hiwire.get_value(proxies_id)){proxy.destroy()}}catch(e){Module.handle_js_error(e);return-1}return 0}function destroy_proxy(proxy_id,msg_ptr){let msg=undefined;if(msg_ptr){msg=UTF8ToString(msg_ptr)}Module.pyproxy_destroy(Module.hiwire.get_value(proxy_id),msg)}function em_call_init_function(f){return Module.wasmTable.get(f)()}function fail_test(){API.fail_test=true}function ffi_call(cif,fn,rvalue,avalue){var abi=HEAPU32[(cif>>2)+0];var nargs=HEAPU32[(cif>>2)+1];var nfixedargs=HEAPU32[(cif>>2)+6];var arg_types_ptr=HEAPU32[(cif>>2)+2];var rtype_unboxed=unbox_small_structs(HEAPU32[(cif>>2)+3]);var rtype_ptr=rtype_unboxed[0];var rtype_id=rtype_unboxed[1];var orig_stack_ptr=stackSave();var cur_stack_ptr=orig_stack_ptr;var args=[];var ret_by_arg=false;if(rtype_id===15){throw new Error("complex ret marshalling nyi")}if(rtype_id<0||rtype_id>15){throw new Error("Unexpected rtype "+rtype_id)}if(rtype_id===4||rtype_id===13){args.push(rvalue);ret_by_arg=true}for(var i=0;i<nfixedargs;i++){var arg_ptr=HEAPU32[(avalue>>2)+i];var arg_unboxed=unbox_small_structs(HEAPU32[(arg_types_ptr>>2)+i]);var arg_type_ptr=arg_unboxed[0];var arg_type_id=arg_unboxed[1];switch(arg_type_id){case 1:case 10:case 9:case 14:args.push(HEAPU32[(arg_ptr>>2)+0]);break;case 2:args.push(HEAPF32[(arg_ptr>>2)+0]);break;case 3:args.push(HEAPF64[(arg_ptr>>3)+0]);break;case 5:args.push(HEAPU8[arg_ptr+0]);break;case 6:args.push(HEAP8[arg_ptr+0]);break;case 7:args.push(HEAPU16[(arg_ptr>>1)+0]);break;case 8:args.push(HEAP16[(arg_ptr>>1)+0]);break;case 11:case 12:args.push(BigInt(HEAPU32[(arg_ptr>>2)+0*2])|BigInt(HEAPU32[(arg_ptr>>2)+0*2+1])<<BigInt(32));break;case 4:args.push(BigInt(HEAPU32[(arg_ptr>>2)+0*2])|BigInt(HEAPU32[(arg_ptr>>2)+0*2+1])<<BigInt(32));args.push(BigInt(HEAPU32[(arg_ptr>>2)+1*2])|BigInt(HEAPU32[(arg_ptr>>2)+1*2+1])<<BigInt(32));break;case 13:var size=HEAPU32[(arg_type_ptr>>2)+0];var align=HEAPU16[(arg_type_ptr+4>>1)+0];cur_stack_ptr-=size,cur_stack_ptr&=~(align-1);HEAP8.subarray(cur_stack_ptr,cur_stack_ptr+size).set(HEAP8.subarray(arg_ptr,arg_ptr+size));args.push(cur_stack_ptr);break;case 15:throw new Error("complex marshalling nyi");default:throw new Error("Unexpected type "+arg_type_id)}}if(nfixedargs!=nargs){var struct_arg_info=[];for(var i=nargs-1;i>=nfixedargs;i--){var arg_ptr=HEAPU32[(avalue>>2)+i];var arg_unboxed=unbox_small_structs(HEAPU32[(arg_types_ptr>>2)+i]);var arg_type_ptr=arg_unboxed[0];var arg_type_id=arg_unboxed[1];switch(arg_type_id){case 5:case 6:cur_stack_ptr-=1,cur_stack_ptr&=~(1-1);HEAPU8[cur_stack_ptr+0]=HEAPU8[arg_ptr+0];break;case 7:case 8:cur_stack_ptr-=2,cur_stack_ptr&=~(2-1);HEAPU16[(cur_stack_ptr>>1)+0]=HEAPU16[(arg_ptr>>1)+0];break;case 1:case 9:case 10:case 14:case 2:cur_stack_ptr-=4,cur_stack_ptr&=~(4-1);HEAPU32[(cur_stack_ptr>>2)+0]=HEAPU32[(arg_ptr>>2)+0];break;case 3:case 11:case 12:cur_stack_ptr-=8,cur_stack_ptr&=~(8-1);HEAPU32[(cur_stack_ptr>>2)+0]=HEAPU32[(arg_ptr>>2)+0];HEAPU32[(cur_stack_ptr>>2)+1]=HEAPU32[(arg_ptr>>2)+1];break;case 4:cur_stack_ptr-=16,cur_stack_ptr&=~(8-1);HEAPU32[(cur_stack_ptr>>2)+0]=HEAPU32[(arg_ptr>>2)+0];HEAPU32[(cur_stack_ptr>>2)+1]=HEAPU32[(arg_ptr>>2)+1];HEAPU32[(cur_stack_ptr>>2)+2]=HEAPU32[(arg_ptr>>2)+1];HEAPU32[(cur_stack_ptr>>2)+3]=HEAPU32[(arg_ptr>>2)+1];break;case 13:cur_stack_ptr-=4,cur_stack_ptr&=~(4-1);struct_arg_info.push([cur_stack_ptr,arg_ptr,HEAPU32[(arg_type_ptr>>2)+0],HEAPU16[(arg_type_ptr+4>>1)+0]]);break;case 15:throw new Error("complex arg marshalling nyi");default:throw new Error("Unexpected argtype "+arg_type_id)}}args.push(cur_stack_ptr);for(var i=0;i<struct_arg_info.length;i++){var struct_info=struct_arg_info[i];var arg_target=struct_info[0];var arg_ptr=struct_info[1];var size=struct_info[2];var align=struct_info[3];cur_stack_ptr-=size,cur_stack_ptr&=~(align-1);HEAP8.subarray(cur_stack_ptr,cur_stack_ptr+size).set(HEAP8.subarray(arg_ptr,arg_ptr+size));HEAPU32[(arg_target>>2)+0]=cur_stack_ptr}}cur_stack_ptr-=0,cur_stack_ptr&=~(8-1);stackRestore(cur_stack_ptr);var result=wasmTable.get(fn).apply(null,args);stackRestore(orig_stack_ptr);if(ret_by_arg){return}switch(rtype_id){case 0:break;case 1:case 9:case 10:case 14:HEAPU32[(rvalue>>2)+0]=result;break;case 2:HEAPF32[(rvalue>>2)+0]=result;break;case 3:HEAPF64[(rvalue>>3)+0]=result;break;case 5:case 6:HEAPU8[rvalue+0]=result;break;case 7:case 8:HEAPU16[(rvalue>>1)+0]=result;break;case 11:case 12:HEAPU32[(rvalue>>2)+0*2]=Number(result&BigInt(4294967295))|0,HEAPU32[(rvalue>>2)+0*2+1]=Number(result>>BigInt(32))|0;break;case 15:throw new Error("complex ret marshalling nyi");default:throw new Error("Unexpected rtype "+rtype_id)}}function ffi_closure_alloc_helper(size,code){var closure=_malloc(size);var index=getEmptyTableSlot();HEAPU32[(code>>2)+0]=index;HEAPU32[(closure>>2)+0]=index;return closure}function ffi_closure_free_helper(closure){var index=HEAPU32[(closure>>2)+0];freeTableIndexes.push(index);_free(closure)}function ffi_prep_closure_loc_helper(closure,cif,fun,user_data,codeloc){var abi=HEAPU32[(cif>>2)+0];var nargs=HEAPU32[(cif>>2)+1];var nfixedargs=HEAPU32[(cif>>2)+6];var arg_types_ptr=HEAPU32[(cif>>2)+2];var rtype_unboxed=unbox_small_structs(HEAPU32[(cif>>2)+3]);var rtype_ptr=rtype_unboxed[0];var rtype_id=rtype_unboxed[1];var sig;var ret_by_arg=false;switch(rtype_id){case 0:sig="v";break;case 13:case 4:sig="vi";ret_by_arg=true;break;case 1:case 5:case 6:case 7:case 8:case 9:case 10:case 14:sig="i";break;case 2:sig="f";break;case 3:sig="d";break;case 11:case 12:sig="j";break;case 15:throw new Error("complex ret marshalling nyi");default:throw new Error("Unexpected rtype "+rtype_id)}var unboxed_arg_type_id_list=[];var unboxed_arg_type_info_list=[];for(var i=0;i<nargs;i++){var arg_unboxed=unbox_small_structs(HEAPU32[(arg_types_ptr>>2)+i]);var arg_type_ptr=arg_unboxed[0];var arg_type_id=arg_unboxed[1];unboxed_arg_type_id_list.push(arg_type_id);unboxed_arg_type_info_list.push([HEAPU32[(arg_type_ptr>>2)+0],HEAPU16[(arg_type_ptr+4>>1)+0]])}for(var i=0;i<nfixedargs;i++){switch(unboxed_arg_type_id_list[i]){case 1:case 5:case 6:case 7:case 8:case 9:case 10:case 14:case 13:sig+="i";break;case 2:sig+="f";break;case 3:sig+="d";break;case 4:sig+="jj";break;case 11:case 12:sig+="j";break;case 15:throw new Error("complex marshalling nyi");default:throw new Error("Unexpected argtype "+arg_type_id)}}if(nfixedargs<nargs){sig+="i"}function trampoline(){var args=Array.prototype.slice.call(arguments);var size=0;var orig_stack_ptr=stackSave();var cur_ptr=orig_stack_ptr;var ret_ptr;var jsarg_idx=0;if(ret_by_arg){ret_ptr=args[jsarg_idx++]}else{cur_ptr-=8,cur_ptr&=~(8-1);ret_ptr=cur_ptr}cur_ptr-=4*nargs;var args_ptr=cur_ptr;var carg_idx=-1;for(var carg_idx=0;carg_idx<nfixedargs;carg_idx++){var cur_arg=args[jsarg_idx++];var arg_type_info=unboxed_arg_type_info_list[carg_idx];var arg_size=arg_type_info[0];var arg_align=arg_type_info[1];var arg_type_id=unboxed_arg_type_id_list[carg_idx];switch(arg_type_id){case 5:case 6:cur_ptr-=1,cur_ptr&=~(4-1);HEAPU32[(args_ptr>>2)+carg_idx]=cur_ptr;HEAPU8[cur_ptr+0]=cur_arg;break;case 7:case 8:cur_ptr-=2,cur_ptr&=~(4-1);HEAPU32[(args_ptr>>2)+carg_idx]=cur_ptr;HEAPU16[(cur_ptr>>1)+0]=cur_arg;break;case 1:case 9:case 10:case 14:cur_ptr-=4,cur_ptr&=~(4-1);HEAPU32[(args_ptr>>2)+carg_idx]=cur_ptr;HEAPU32[(cur_ptr>>2)+0]=cur_arg;break;case 13:cur_ptr-=arg_size,cur_ptr&=~(arg_align-1);HEAP8.subarray(cur_ptr,cur_ptr+arg_size).set(HEAP8.subarray(cur_arg,cur_arg+arg_size));HEAPU32[(args_ptr>>2)+carg_idx]=cur_ptr;break;case 2:cur_ptr-=4,cur_ptr&=~(4-1);HEAPU32[(args_ptr>>2)+carg_idx]=cur_ptr;HEAPF32[(cur_ptr>>2)+0]=cur_arg;break;case 3:cur_ptr-=8,cur_ptr&=~(8-1);HEAPU32[(args_ptr>>2)+carg_idx]=cur_ptr;HEAPF64[(cur_ptr>>3)+0]=cur_arg;break;case 11:case 12:cur_ptr-=8,cur_ptr&=~(8-1);HEAPU32[(args_ptr>>2)+carg_idx]=cur_ptr;HEAPU32[(cur_ptr>>2)+0*2]=Number(cur_arg&BigInt(4294967295))|0,HEAPU32[(cur_ptr>>2)+0*2+1]=Number(cur_arg>>BigInt(32))|0;break;case 4:cur_ptr-=16,cur_ptr&=~(8-1);HEAPU32[(args_ptr>>2)+carg_idx]=cur_ptr;HEAPU32[(cur_ptr>>2)+0*2]=Number(cur_arg&BigInt(4294967295))|0,HEAPU32[(cur_ptr>>2)+0*2+1]=Number(cur_arg>>BigInt(32))|0;cur_arg=args[jsarg_idx++];HEAPU32[(cur_ptr>>2)+1*2]=Number(cur_arg&BigInt(4294967295))|0,HEAPU32[(cur_ptr>>2)+1*2+1]=Number(cur_arg>>BigInt(32))|0;break}}var varargs=args[args.length-1];for(var carg_idx=nfixedargs;carg_idx<nargs;carg_idx++){var arg_type_id=unboxed_arg_type_id_list[carg_idx];var arg_type_info=unboxed_arg_type_info_list[carg_idx];var arg_size=arg_type_info[0];var arg_align=arg_type_info[1];if(arg_type_id===13){var struct_ptr=HEAPU32[(varargs>>2)+0];cur_ptr-=arg_size,cur_ptr&=~(arg_align-1);HEAP8.subarray(cur_ptr,cur_ptr+arg_size).set(HEAP8.subarray(struct_ptr,struct_ptr+arg_size));HEAPU32[(args_ptr>>2)+carg_idx]=cur_ptr}else{HEAPU32[(args_ptr>>2)+carg_idx]=varargs}varargs+=4}cur_ptr-=0,cur_ptr&=~(8-1);stackRestore(cur_ptr);wasmTable.get(HEAPU32[(closure>>2)+2]).apply(null,[HEAPU32[(closure>>2)+1],ret_ptr,args_ptr,HEAPU32[(closure>>2)+3]]);stackRestore(orig_stack_ptr);if(!ret_by_arg){switch(sig[0]){case"i":return HEAPU32[(ret_ptr>>2)+0];case"j":return BigInt(HEAPU32[(ret_ptr>>2)+0*2])|BigInt(HEAPU32[(ret_ptr>>2)+0*2+1])<<BigInt(32);case"d":return HEAPF64[(ret_ptr>>3)+0];case"f":return HEAPF32[(ret_ptr>>2)+0]}}}try{var wasm_trampoline=convertJsFunctionToWasm(trampoline,sig)}catch(e){return FFI_BAD_TYPEDEF}wasmTable.set(codeloc,wasm_trampoline);HEAPU32[(closure>>2)+1]=cif;HEAPU32[(closure>>2)+2]=fun;HEAPU32[(closure>>2)+3]=user_data;return 0}function get_async_js_call_done_callback(proxies_id){"use strict";try{let proxies=Hiwire.get_value(proxies_id);return Hiwire.new_value(function(result){let msg="This borrowed proxy was automatically destroyed "+"at the end of an asynchronous function call. Try "+"using create_proxy or create_once_callable.";for(let px of proxies){Module.pyproxy_destroy(px,msg)}if(API.isPyProxy(result)){Module.pyproxy_destroy(result,msg)}})}catch(e){Module.handle_js_error(e);return 0}throw new Error("Assertion error: control reached end of function without return")}function getter_call_trampoline(get,obj,closure){return wasmTable.get(get)(obj,closure)}function hiwire_CallMethod(idobj,name,idargs){"use strict";try{let jsobj=Hiwire.get_value(idobj);let jsname=Hiwire.get_value(name);let jsargs=Hiwire.get_value(idargs);return Hiwire.new_value(jsobj[jsname](...jsargs))}catch(e){Module.handle_js_error(e);return 0}throw new Error("Assertion error: control reached end of function without return")}function hiwire_CallMethodString(idobj,name,idargs){"use strict";try{let jsobj=Hiwire.get_value(idobj);let jsname=UTF8ToString(name);let jsargs=Hiwire.get_value(idargs);return Hiwire.new_value(jsobj[jsname](...jsargs))}catch(e){Module.handle_js_error(e);return 0}throw new Error("Assertion error: control reached end of function without return")}function hiwire_CallMethod_OneArg(idobj,name,idarg){"use strict";try{let jsobj=Hiwire.get_value(idobj);let jsname=Hiwire.get_value(name);let jsarg=Hiwire.get_value(idarg);return Hiwire.new_value(jsobj[jsname](jsarg))}catch(e){Module.handle_js_error(e);return 0}throw new Error("Assertion error: control reached end of function without return")}function hiwire_HasMethod(obj_id,name){let obj=Hiwire.get_value(obj_id);return obj&&typeof obj[Hiwire.get_value(name)]==="function"}function hiwire_assign_from_ptr(idobj,ptr){"use strict";try{let jsobj=Hiwire.get_value(idobj);Module.typedArrayAsUint8Array(jsobj).set(Module.HEAPU8.subarray(ptr,ptr+jsobj.byteLength))}catch(e){Module.handle_js_error(e);return-1}return 0}function hiwire_assign_to_ptr(idobj,ptr){"use strict";try{let jsobj=Hiwire.get_value(idobj);Module.HEAPU8.set(Module.typedArrayAsUint8Array(jsobj),ptr)}catch(e){Module.handle_js_error(e);return-1}return 0}function hiwire_call(idfunc,idargs){"use strict";try{let jsfunc=Hiwire.get_value(idfunc);let jsargs=Hiwire.get_value(idargs);return Hiwire.new_value(jsfunc(...jsargs))}catch(e){Module.handle_js_error(e);return 0}throw new Error("Assertion error: control reached end of function without return")}function hiwire_call_OneArg(idfunc,idarg){"use strict";try{let jsfunc=Hiwire.get_value(idfunc);let jsarg=Hiwire.get_value(idarg);return Hiwire.new_value(jsfunc(jsarg))}catch(e){Module.handle_js_error(e);return 0}throw new Error("Assertion error: control reached end of function without return")}function hiwire_call_bound(idfunc,idthis,idargs){"use strict";try{let func=Hiwire.get_value(idfunc);let this_;if(idthis===0){this_=null}else{this_=Hiwire.get_value(idthis)}let args=Hiwire.get_value(idargs);return Hiwire.new_value(func.apply(this_,args))}catch(e){Module.handle_js_error(e);return 0}throw new Error("Assertion error: control reached end of function without return")}function hiwire_construct(idobj,idargs){"use strict";try{let jsobj=Hiwire.get_value(idobj);let jsargs=Hiwire.get_value(idargs);return Hiwire.new_value(Reflect.construct(jsobj,jsargs))}catch(e){Module.handle_js_error(e);return 0}throw new Error("Assertion error: control reached end of function without return")}function hiwire_constructor_name(idobj){"use strict";try{return stringToNewUTF8(Hiwire.get_value(idobj).constructor.name)}catch(e){Module.handle_js_error(e);return 0}throw new Error("Assertion error: control reached end of function without return")}function hiwire_decref(idval){Hiwire.decref(idval)}function hiwire_double(val){"use strict";try{return Hiwire.new_value(val)}catch(e){Module.handle_js_error(e);return 0}throw new Error("Assertion error: control reached end of function without return")}function hiwire_equal(ida,idb){return!!(Hiwire.get_value(ida)===Hiwire.get_value(idb))}function hiwire_get_bool(idobj){let val=Hiwire.get_value(idobj);if(!val){return false}if(val.size===0){return false}if(Array.isArray(val)&&val.length===0){return false}return true}function hiwire_get_buffer_info(idobj,byteLength_ptr,format_ptr,size_ptr,checked_ptr){let jsobj=Hiwire.get_value(idobj);let byteLength=jsobj.byteLength;let[format_utf8,size,checked]=Module.get_buffer_datatype(jsobj);HEAPU32[(byteLength_ptr>>2)+0]=byteLength;HEAPU32[(format_ptr>>2)+0]=format_utf8;HEAPU32[(size_ptr>>2)+0]=size;HEAPU8[checked_ptr+0]=checked}function hiwire_get_iterator(idobj){"use strict";try{let jsobj=Hiwire.get_value(idobj);return Hiwire.new_value(jsobj[Symbol.iterator]())}catch(e){Module.handle_js_error(e);return 0}throw new Error("Assertion error: control reached end of function without return")}function hiwire_get_length(idobj){"use strict";try{let val=Hiwire.get_value(idobj);if(typeof val.size==="number"){return val.size}if(typeof val.length==="number"){return val.length}return-1}catch(e){Module.handle_js_error(e);return-1}return 0}function hiwire_greater_than(ida,idb){return!!(Hiwire.get_value(ida)>Hiwire.get_value(idb))}function hiwire_greater_than_equal(ida,idb){return!!(Hiwire.get_value(ida)>=Hiwire.get_value(idb))}function hiwire_has_length(idobj){let val=Hiwire.get_value(idobj);return typeof val.size==="number"||typeof val.length==="number"&&typeof val!=="function"}function hiwire_incref(idval){if(idval&1){Hiwire.incref(idval)}return idval}function hiwire_init(){"use strict";try{let _hiwire={objects:new Map,counter:new Uint32Array([1])};Hiwire.UNDEFINED=HEAPU8[_Js_undefined+0];Hiwire.JSNULL=HEAPU8[_Js_null+0];Hiwire.TRUE=HEAPU8[_Js_true+0];Hiwire.FALSE=HEAPU8[_Js_false+0];_hiwire.objects.set(Hiwire.UNDEFINED,[undefined,-1]);_hiwire.objects.set(Hiwire.JSNULL,[null,-1]);_hiwire.objects.set(Hiwire.TRUE,[!!1,-1]);_hiwire.objects.set(Hiwire.FALSE,[!!0,-1]);let hiwire_next_permanent=Hiwire.FALSE+2;Hiwire.new_value=function(jsval){while(_hiwire.objects.has(_hiwire.counter[0])){_hiwire.counter[0]+=2}let idval=_hiwire.counter[0];_hiwire.objects.set(idval,[jsval,1]);_hiwire.counter[0]+=2;return idval};Hiwire.intern_object=function(obj){let id=hiwire_next_permanent;hiwire_next_permanent+=2;_hiwire.objects.set(id,[obj,-1]);return id};Hiwire.num_keys=function(){return Array.from(_hiwire.objects.keys()).filter(x=>x%2).length};Hiwire.get_value=function(idval){if(!idval){API.fail_test=!!1;if(_PyErr_Occurred()){let exc=_wrap_exception();let e=Hiwire.pop_value(exc);console.error(`Internal error: Argument '${idval}' to hiwire.get_value is falsy. `+"This was probably because the Python error indicator was set when get_value was called. "+"The Python error that caused this was:",e);throw e}else{console.error(`Internal error: Argument '${idval}' to hiwire.get_value is falsy`+" (but error indicator is not set).");throw new Error(`Internal error: Argument '${idval}' to hiwire.get_value is falsy`+" (but error indicator is not set).")}}if(!_hiwire.objects.has(idval)){console.error(`Undefined id ${idval}`);throw new Error(`Undefined id ${idval}`)}return _hiwire.objects.get(idval)[0]};Hiwire.decref=function(idval){if((idval&1)===0){return}let new_refcnt=--_hiwire.objects.get(idval)[1];if(new_refcnt===0){_hiwire.objects.delete(idval)}};Hiwire.incref=function(idval){_hiwire.objects.get(idval)[1]++};Hiwire.pop_value=function(idval){let result=Hiwire.get_value(idval);Hiwire.decref(idval);return result};Hiwire.isPromise=function(obj){try{return!!obj&&typeof obj.then==="function"}catch(e){return!!0}};Module.typedArrayAsUint8Array=function(arg){if(arg.buffer!==undefined){return new Uint8Array(arg.buffer,arg.byteOffset,arg.byteLength)}else{return new Uint8Array(arg)}};{let dtypes_str=["b","B","h","H","i","I","f","d"].join(String.fromCharCode(0));let dtypes_ptr=stringToNewUTF8(dtypes_str);let dtypes_map={};for(let[idx,val]of Object.entries(dtypes_str)){dtypes_map[val]=dtypes_ptr+Number(idx)}let buffer_datatype_map=new Map([["Int8Array",[dtypes_map["b"],1,!!1]],["Uint8Array",[dtypes_map["B"],1,!!1]],["Uint8ClampedArray",[dtypes_map["B"],1,!!1]],["Int16Array",[dtypes_map["h"],2,!!1]],["Uint16Array",[dtypes_map["H"],2,!!1]],["Int32Array",[dtypes_map["i"],4,!!1]],["Uint32Array",[dtypes_map["I"],4,!!1]],["Float32Array",[dtypes_map["f"],4,!!1]],["Float64Array",[dtypes_map["d"],8,!!1]],["DataView",[dtypes_map["B"],1,!!0]],["ArrayBuffer",[dtypes_map["B"],1,!!0]]]);Module.get_buffer_datatype=function(jsobj){return buffer_datatype_map.get(jsobj.constructor.name)||[0,0,!!0]}}if(globalThis.BigInt){Module.BigInt=BigInt}else{Module.BigInt=Number}return 0}catch(e){Module.handle_js_error(e);return-1}return 0}function hiwire_int(val){"use strict";try{return Hiwire.new_value(val)}catch(e){Module.handle_js_error(e);return 0}throw new Error("Assertion error: control reached end of function without return")}function hiwire_int_from_digits(digits,ndigits){"use strict";try{let result=BigInt(0);for(let i=0;i<ndigits;i++){result+=BigInt(HEAPU32[(digits>>2)+i])<<BigInt(32*i)}result+=BigInt(HEAPU32[(digits>>2)+ndigits-1]&2147483648)<<BigInt(1+32*(ndigits-1));if(-Number.MAX_SAFE_INTEGER<result&&result<Number.MAX_SAFE_INTEGER){result=Number(result)}return Hiwire.new_value(result)}catch(e){Module.handle_js_error(e);return 0}throw new Error("Assertion error: control reached end of function without return")}function hiwire_into_file(idobj,fd){"use strict";try{let jsobj=Hiwire.get_value(idobj);let uint8_buffer=Module.typedArrayAsUint8Array(jsobj);let stream=Module.FS.streams[fd];Module.FS.write(stream,uint8_buffer,0,uint8_buffer.byteLength,undefined,!!1)}catch(e){Module.handle_js_error(e);return-1}return 0}function hiwire_is_comlink_proxy(idobj){let value=Hiwire.get_value(idobj);return!!(API.Comlink&&value[API.Comlink.createEndpoint])}function hiwire_is_error(idobj){let value=Hiwire.get_value(idobj);return!!(value&&typeof value.stack==="string"&&typeof value.message==="string")}function hiwire_is_function(idobj){return typeof Hiwire.get_value(idobj)==="function"}function hiwire_is_iterable(idobj){let jsobj=Hiwire.get_value(idobj);return typeof jsobj[Symbol.iterator]==="function"}function hiwire_is_iterator(idobj){let jsobj=Hiwire.get_value(idobj);return typeof jsobj.next==="function"}function hiwire_is_promise(idobj){let obj=Hiwire.get_value(idobj);return Hiwire.isPromise(obj)}function hiwire_is_pyproxy(idobj){return API.isPyProxy(Hiwire.get_value(idobj))}function hiwire_is_typedarray(idobj){let jsobj=Hiwire.get_value(idobj);return ArrayBuffer.isView(jsobj)||jsobj.constructor.name==="ArrayBuffer"}function hiwire_less_than(ida,idb){return!!(Hiwire.get_value(ida)<Hiwire.get_value(idb))}function hiwire_less_than_equal(ida,idb){return!!(Hiwire.get_value(ida)<=Hiwire.get_value(idb))}function hiwire_next(idobj,result_ptr){"use strict";try{let jsobj=Hiwire.get_value(idobj);let{done:done,value:value}=jsobj.next();let result_id=Hiwire.new_value(value);HEAPU32[(result_ptr>>2)+0]=result_id;return done}catch(e){Module.handle_js_error(e);return-1}return 0}function hiwire_not_equal(ida,idb){return!!(Hiwire.get_value(ida)!==Hiwire.get_value(idb))}function hiwire_read_from_file(idobj,fd){"use strict";try{let jsobj=Hiwire.get_value(idobj);let uint8_buffer=Module.typedArrayAsUint8Array(jsobj);let stream=Module.FS.streams[fd];Module.FS.read(stream,uint8_buffer,0,uint8_buffer.byteLength)}catch(e){Module.handle_js_error(e);return-1}return 0}function hiwire_resolve_promise(idobj){"use strict";try{let obj=Hiwire.get_value(idobj);let result=Promise.resolve(obj);return Hiwire.new_value(result)}catch(e){Module.handle_js_error(e);return 0}throw new Error("Assertion error: control reached end of function without return")}function hiwire_string_ascii(ptr){"use strict";try{return Hiwire.new_value(AsciiToString(ptr))}catch(e){Module.handle_js_error(e);return 0}throw new Error("Assertion error: control reached end of function without return")}function hiwire_string_ucs1(ptr,len){"use strict";try{let jsstr="";for(let i=0;i<len;++i){jsstr+=String.fromCharCode(HEAPU8[ptr+i])}return Hiwire.new_value(jsstr)}catch(e){Module.handle_js_error(e);return 0}throw new Error("Assertion error: control reached end of function without return")}function hiwire_string_ucs2(ptr,len){"use strict";try{let jsstr="";for(let i=0;i<len;++i){jsstr+=String.fromCharCode(HEAPU16[(ptr>>1)+i])}return Hiwire.new_value(jsstr)}catch(e){Module.handle_js_error(e);return 0}throw new Error("Assertion error: control reached end of function without return")}function hiwire_string_ucs4(ptr,len){"use strict";try{let jsstr="";for(let i=0;i<len;++i){jsstr+=String.fromCodePoint(HEAPU32[(ptr>>2)+i])}return Hiwire.new_value(jsstr)}catch(e){Module.handle_js_error(e);return 0}throw new Error("Assertion error: control reached end of function without return")}function hiwire_string_utf8(ptr){"use strict";try{return Hiwire.new_value(UTF8ToString(ptr))}catch(e){Module.handle_js_error(e);return 0}throw new Error("Assertion error: control reached end of function without return")}function hiwire_subarray(idarr,start,end){"use strict";try{let jsarr=Hiwire.get_value(idarr);let jssub=jsarr.subarray(start,end);return Hiwire.new_value(jssub)}catch(e){Module.handle_js_error(e);return 0}throw new Error("Assertion error: control reached end of function without return")}function hiwire_throw_error(iderr){throw Hiwire.pop_value(iderr)}function hiwire_to_bool(val){return!!Hiwire.get_value(val)}function hiwire_to_string(idobj){"use strict";try{return Hiwire.new_value(Hiwire.get_value(idobj).toString())}catch(e){Module.handle_js_error(e);return 0}throw new Error("Assertion error: control reached end of function without return")}function hiwire_typeof(idobj){"use strict";try{return Hiwire.new_value(typeof Hiwire.get_value(idobj))}catch(e){Module.handle_js_error(e);return 0}throw new Error("Assertion error: control reached end of function without return")}function hiwire_write_to_file(idobj,fd){"use strict";try{let jsobj=Hiwire.get_value(idobj);let uint8_buffer=Module.typedArrayAsUint8Array(jsobj);let stream=Module.FS.streams[fd];Module.FS.write(stream,uint8_buffer,0,uint8_buffer.byteLength)}catch(e){Module.handle_js_error(e);return-1}return 0}function js2python(id){"use strict";try{let value=Hiwire.get_value(id);let result=Module.js2python_convertImmutable(value);if(result!==undefined){return result}return _JsProxy_create(id)}catch(e){Module.handle_js_error(e);return 0}throw new Error("Assertion error: control reached end of function without return")}function js2python_convert(id,depth,default_converter){"use strict";try{let defaultConverter=default_converter?Module.hiwire.get_value(default_converter):undefined;return Module.js2python_convert(id,{depth:depth,defaultConverter:defaultConverter})}catch(e){Module.handle_js_error(e);return 0}throw new Error("Assertion error: control reached end of function without return")}function js2python_init(){"use strict";try{{0;let PropagateError=Module._PropagatePythonError;function js2python_string(value){let max_code_point=0;let num_code_points=0;for(let c of value){num_code_points++;let code_point=c.codePointAt(0);max_code_point=code_point>max_code_point?code_point:max_code_point}let result=_PyUnicode_New(num_code_points,max_code_point);if(result===0){throw new PropagateError}let ptr=_PyUnicode_Data(result);if(max_code_point>65535){for(let c of value){HEAPU32[ptr/4]=c.codePointAt(0);ptr+=4}}else if(max_code_point>255){for(let c of value){HEAPU16[ptr/2]=c.codePointAt(0);ptr+=2}}else{for(let c of value){HEAPU8[ptr]=c.codePointAt(0);ptr+=1}}return result}function js2python_bigint(value){let value_orig=value;let length=0;if(value<0){value=-value}while(value){length++;value>>=BigInt(32)}let stackTop=stackSave();let ptr=stackAlloc(length*4);value=value_orig;for(let i=0;i<length;i++){HEAPU32[(ptr>>2)+i]=Number(value&BigInt(4294967295));value>>=BigInt(32)}let result=__PyLong_FromByteArray(ptr,length*4,!!1,!!1);stackRestore(stackTop);return result}function js2python_convertImmutable(value){let result=js2python_convertImmutableInner(value);if(result===0){throw new PropagateError}return result}Module.js2python_convertImmutable=js2python_convertImmutable;function js2python_convertImmutableInner(value){let type=typeof value;if(type==="string"){return js2python_string(value)}else if(type==="number"){if(Number.isSafeInteger(value)){return _PyLong_FromDouble(value)}else{return _PyFloat_FromDouble(value)}}else if(type==="bigint"){return js2python_bigint(value)}else if(value===undefined||value===null){return __js2python_none()}else if(value===!!1){return __js2python_true()}else if(value===!!0){return __js2python_false()}else if(API.isPyProxy(value)){return __js2python_pyproxy(Module.PyProxy_getPtr(value))}return undefined}function js2python_convertList(obj,context){let list=_PyList_New(obj.length);if(list===0){return 0}let entryid=0;let item=0;try{context.cache.set(obj,list);for(let i=0;i<obj.length;i++){entryid=Hiwire.new_value(obj[i]);item=js2python_convert_with_context(entryid,context);_Py_IncRef(item);if(_PyList_SetItem(list,i,item)===-1){throw new PropagateError}Hiwire.decref(entryid);entryid=0;_Py_DecRef(item);item=0}}catch(e){Hiwire.decref(entryid);_Py_DecRef(item);_Py_DecRef(list);throw e}return list}function js2python_convertMap(obj,entries,context){let dict=_PyDict_New();if(dict===0){return 0}let key_py=0;let value_id=0;let value_py=0;try{context.cache.set(obj,dict);for(let[key_js,value_js]of entries){key_py=js2python_convertImmutable(key_js);if(key_py===undefined){let key_type=key_js.constructor&&key_js.constructor.name||typeof key_js;throw new Error(`Cannot use key of type ${key_type} as a key to a Python dict`)}value_id=Hiwire.new_value(value_js);value_py=js2python_convert_with_context(value_id,context);if(_PyDict_SetItem(dict,key_py,value_py)===-1){throw new PropagateError}_Py_DecRef(key_py);key_py=0;Hiwire.decref(value_id);value_id=0;_Py_DecRef(value_py);value_py=0}}catch(e){_Py_DecRef(key_py);Hiwire.decref(value_id);_Py_DecRef(value_py);_Py_DecRef(dict);throw e}return dict}function js2python_convertSet(obj,context){let set=_PySet_New(0);if(set===0){return 0}let key_py=0;try{context.cache.set(obj,set);for(let key_js of obj){key_py=js2python_convertImmutable(key_js);if(key_py===undefined){let key_type=key_js.constructor&&key_js.constructor.name||typeof key_js;throw new Error(`Cannot use key of type ${key_type} as a key to a Python set`)}let errcode=_PySet_Add(set,key_py);if(errcode===-1){throw new PropagateError}_Py_DecRef(key_py);key_py=0}}catch(e){_Py_DecRef(key_py);_Py_DecRef(set);throw e}return set}function checkBoolIntCollision(obj,ty){if(obj.has(1)&&obj.has(!!1)){throw new Error(`Cannot faithfully convert ${ty} into Python since it `+"contains both 1 and true as keys.")}if(obj.has(0)&&obj.has(!!0)){throw new Error(`Cannot faithfully convert ${ty} into Python since it `+"contains both 0 and false as keys.")}}function js2python_convertOther(id,value,context){let toStringTag=Object.prototype.toString.call(value);if(Array.isArray(value)||value==="[object HTMLCollection]"||value==="[object NodeList]"){return js2python_convertList(value,context)}if(toStringTag==="[object Map]"||value instanceof Map){checkBoolIntCollision(value,"Map");return js2python_convertMap(value,value.entries(),context)}if(toStringTag==="[object Set]"||value instanceof Set){checkBoolIntCollision(value,"Set");return js2python_convertSet(value,context)}if(toStringTag==="[object Object]"&&(value.constructor===undefined||value.constructor.name==="Object")){return js2python_convertMap(value,Object.entries(value),context)}if(toStringTag==="[object ArrayBuffer]"||ArrayBuffer.isView(value)){let[format_utf8,itemsize]=Module.get_buffer_datatype(value);return _JsBuffer_CopyIntoMemoryView(id,value.byteLength,format_utf8,itemsize)}return undefined}function js2python_convert_with_context(id,context){let value=Hiwire.get_value(id);let result;result=js2python_convertImmutable(value);if(result!==undefined){return result}if(context.depth===0){return _JsProxy_create(id)}result=context.cache.get(value);if(result!==undefined){return result}context.depth--;try{result=js2python_convertOther(id,value,context);if(result!==undefined){return result}if(context.defaultConverter===undefined){return _JsProxy_create(id)}let result_js=context.defaultConverter(value,context.converter,context.cacheConversion);result=js2python_convertImmutable(result_js);if(API.isPyProxy(result_js)){result_js.destroy()}if(result!==undefined){return result}let result_id=Module.hiwire.new_value(result_js);result=_JsProxy_create(result_id);Module.hiwire.decref(result_id);return result}finally{context.depth++}}function js2python_convert(id,{depth:depth,defaultConverter:defaultConverter}){let context={cache:new Map,depth:depth,defaultConverter:defaultConverter,converter(x){let id=Module.hiwire.new_value(x);try{return Module.pyproxy_new(js2python_convert_with_context(id,context))}finally{Module.hiwire.decref(id)}},cacheConversion(input,output){if(API.isPyProxy(output)){context.cache.set(input,Module.PyProxy_getPtr(output))}else{throw new Error("Second argument should be a PyProxy!")}}};return js2python_convert_with_context(id,context)}Module.js2python_convert=js2python_convert}return 0}catch(e){Module.handle_js_error(e);return-1}return 0}function log_python_error(jserror){try{let msg=Hiwire.get_value(jserror).message;console.warn("Python exception:\n"+msg+"\n")}catch(e){API.fatal_error(e)}}function method_call_trampoline(func,self,arg1,arg2){return wasmTable.get(func)(self,arg1,arg2)}function new_error(msg,err){"use strict";try{return Hiwire.new_value(new API.PythonError(UTF8ToString(msg),err))}catch(e){Module.handle_js_error(e);return 0}throw new Error("Assertion error: control reached end of function without return")}function proxy_cache_get(proxyCacheId,descr){let proxyCache=Hiwire.get_value(proxyCacheId);let proxyId=proxyCache.get(descr);if(!proxyId){return undefined}if(Hiwire.get_value(proxyId).$$.ptr){return proxyId}else{proxyCache.delete(descr);Hiwire.decref(proxyId);return undefined}}function proxy_cache_set(proxyCacheId,descr,proxy){let proxyCache=Hiwire.get_value(proxyCacheId);proxyCache.set(descr,proxy)}function pyproxy_Check(x){if(x==0){return false}let val=Hiwire.get_value(x);return API.isPyProxy(val)}function pyproxy_new(ptrobj){"use strict";try{return Hiwire.new_value(Module.pyproxy_new(ptrobj))}catch(e){Module.handle_js_error(e);return 0}throw new Error("Assertion error: control reached end of function without return")}function python2js__default_converter(jscontext,object){"use strict";try{let context=Hiwire.get_value(jscontext);let proxy=Module.pyproxy_new(object);let result=context.default_converter(proxy,context.converter,context.cacheConversion);proxy.destroy();return Hiwire.new_value(result)}catch(e){Module.handle_js_error(e);return 0}throw new Error("Assertion error: control reached end of function without return")}function python2js_buffer_init(){"use strict";try{{0;Module.processBufferFormatString=function(formatStr,errorMessage=""){if(formatStr.length>2){throw new Error("Expected format string to have length <= 2, "+`got '${formatStr}'.`+errorMessage)}let formatChar=formatStr.slice(-1);let alignChar=formatStr.slice(0,-1);let bigEndian;switch(alignChar){case"!":case">":bigEndian=!!1;break;case"<":case"@":case"=":case"":bigEndian=!!0;break;default:throw new Error(`Unrecognized alignment character ${alignChar}.`+errorMessage)}let arrayType;switch(formatChar){case"b":arrayType=Int8Array;break;case"s":case"p":case"c":case"B":case"?":arrayType=Uint8Array;break;case"h":arrayType=Int16Array;break;case"H":arrayType=Uint16Array;break;case"i":case"l":case"n":arrayType=Int32Array;break;case"I":case"L":case"N":case"P":arrayType=Uint32Array;break;case"q":if(globalThis.BigInt64Array===undefined){throw new Error("BigInt64Array is not supported on this browser."+errorMessage)}arrayType=BigInt64Array;break;case"Q":if(globalThis.BigUint64Array===undefined){throw new Error("BigUint64Array is not supported on this browser."+errorMessage)}arrayType=BigUint64Array;break;case"f":arrayType=Float32Array;break;case"d":arrayType=Float64Array;break;case"e":throw new Error("Javascript has no Float16 support.");default:throw new Error(`Unrecognized format character '${formatChar}'.`+errorMessage)}return[arrayType,bigEndian]};Module.python2js_buffer_1d_contiguous=function(ptr,stride,n){"use strict";let byteLength=stride*n;return HEAP8.slice(ptr,ptr+byteLength).buffer};Module.python2js_buffer_1d_noncontiguous=function(ptr,stride,suboffset,n,itemsize){"use strict";let byteLength=itemsize*n;let buffer=new Uint8Array(byteLength);for(let i=0;i<n;++i){let curptr=ptr+i*stride;if(suboffset>=0){curptr=HEAPU32[(curptr>>2)+0]+suboffset}buffer.set(HEAP8.subarray(curptr,curptr+itemsize),i*itemsize)}return buffer.buffer};Module._python2js_buffer_recursive=function(ptr,curdim,bufferData){"use strict";let n=HEAPU32[(bufferData.shape>>2)+curdim];let stride=HEAP32[(bufferData.strides>>2)+curdim];let suboffset=-1;if(bufferData.suboffsets!==0){suboffset=HEAP32[(bufferData.suboffsets>>2)+curdim]}if(curdim===bufferData.ndim-1){let arraybuffer;if(stride===bufferData.itemsize&&suboffset<0){arraybuffer=Module.python2js_buffer_1d_contiguous(ptr,stride,n)}else{arraybuffer=Module.python2js_buffer_1d_noncontiguous(ptr,stride,suboffset,n,bufferData.itemsize)}return bufferData.converter(arraybuffer)}let result=[];for(let i=0;i<n;++i){let curPtr=ptr+i*stride;if(suboffset>=0){curptr=HEAPU32[(curptr>>2)+0]+suboffset}result.push(Module._python2js_buffer_recursive(curPtr,curdim+1,bufferData))}return result};Module.get_converter=function(format,itemsize){"use strict";let formatStr=UTF8ToString(format);let[ArrayType,bigEndian]=Module.processBufferFormatString(formatStr);let formatChar=formatStr.slice(-1);switch(formatChar){case"s":let decoder=new TextDecoder("utf8");return buff=>decoder.decode(buff);case"?":return buff=>Array.from(new Uint8Array(buff),x=>!!x)}if(!bigEndian){return buff=>new ArrayType(buff)}let getFuncName;let setFuncName;switch(itemsize){case 2:getFuncName="getUint16";setFuncName="setUint16";break;case 4:getFuncName="getUint32";setFuncName="setUint32";break;case 8:getFuncName="getFloat64";setFuncName="setFloat64";break;default:throw new Error(`Unexpected size ${itemsize}`)}function swapFunc(buff){let dataview=new DataView(buff);let getFunc=dataview[getFuncName].bind(dataview);let setFunc=dataview[setFuncName].bind(dataview);for(let byte=0;byte<dataview.byteLength;byte+=itemsize){setFunc(byte,getFunc(byte,!!1),!!0)}return buff}return buff=>new ArrayType(swapFunc(buff))}}return 0}catch(e){Module.handle_js_error(e);return-1}return 0}function python2js_custom__create_jscontext(context,cache,dict_converter,default_converter){"use strict";try{let jscontext={};if(dict_converter!==0){jscontext.dict_converter=Hiwire.get_value(dict_converter)}if(default_converter!==0){jscontext.default_converter=Hiwire.get_value(default_converter);jscontext.cacheConversion=function(input,output){if(!API.isPyProxy(input)){throw new TypeError("The first argument to cacheConversion must be a PyProxy.")}let input_ptr=Module.PyProxy_getPtr(input);let output_key=Hiwire.new_value(output);__python2js_add_to_cache(cache,input_ptr,output_key);Hiwire.decref(output_key)};jscontext.converter=function(x){if(!API.isPyProxy(x)){return x}let ptr=Module.PyProxy_getPtr(x);let res=__python2js(context,ptr);return Hiwire.pop_value(res)}}return Hiwire.new_value(jscontext)}catch(e){Module.handle_js_error(e);return 0}throw new Error("Assertion error: control reached end of function without return")}function setter_call_trampoline(set,obj,value,closure){return wasmTable.get(set)(obj,value,closure)}function unbox_small_structs(type_ptr){var type_id=HEAPU16[(type_ptr+6>>1)+0];while(type_id===13){var elements=HEAPU32[(type_ptr+8>>2)+0];var first_element=HEAPU32[(elements>>2)+0];if(first_element===0){type_id=0;break}else if(HEAPU32[(elements>>2)+1]===0){type_ptr=first_element;type_id=HEAPU16[(first_element+6>>1)+0]}else{break}}return[type_ptr,type_id]}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(!Browser.mainLoop.running){Browser.mainLoop.running=true}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}Module["_emscripten_set_main_loop_timing"]=_emscripten_set_main_loop_timing;_emscripten_set_main_loop_timing.sig="iii";var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else _emscripten_get_now=function(){return performance.now()};Module["_emscripten_get_now"]=_emscripten_get_now;function runtimeKeepalivePush(){runtimeKeepaliveCounter+=1}Module["runtimeKeepalivePush"]=runtimeKeepalivePush;runtimeKeepalivePush.sig="v";function _exit(status){exit(status)}Module["_exit"]=_exit;_exit.sig="vi";function handleException(e){if(e instanceof ExitStatus||e==="unwind"){return}if(e&&typeof e==="object"&&e.stack)err("exception thrown: "+[e,e.stack]);throw e}Module["handleException"]=handleException;function maybeExit(){if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}}Module["maybeExit"]=maybeExit;function setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming){assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;function checkIsRunning(){if(thisMainLoopId<Browser.mainLoop.currentlyRunningMainloop){maybeExit();return false}return true}Browser.mainLoop.running=false;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}out('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(!checkIsRunning())return;setTimeout(Browser.mainLoop.runner,0);return}if(!checkIsRunning())return;Browser.mainLoop.currentFrameNumber=Browser.mainLoop.currentFrameNumber+1|0;if(Browser.mainLoop.timingMode==1&&Browser.mainLoop.timingValue>1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}Browser.mainLoop.runIter(browserIterationFunc);if(!checkIsRunning())return;if(typeof SDL==="object"&&SDL.audio&&SDL.audio.queueNewAudioData)SDL.audio.queueNewAudioData();Browser.mainLoop.scheduler()};if(!noSetTiming){if(fps&&fps>0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}}Module["setMainLoop"]=setMainLoop;function callUserCallback(func,synchronous){if(ABORT){return}if(synchronous){func();return}try{func()}catch(e){handleException(e)}}Module["callUserCallback"]=callUserCallback;function safeSetTimeout(func,timeout){return setTimeout(function(){callUserCallback(func)},timeout)}Module["safeSetTimeout"]=safeSetTimeout;function runtimeKeepalivePop(){runtimeKeepaliveCounter-=1}Module["runtimeKeepalivePop"]=runtimeKeepalivePop;runtimeKeepalivePop.sig="v";var Browser={mainLoop:{running:false,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining<expected){Module["setStatus"](message+" ("+(expected-remaining)+"/"+expected+")")}else{Module["setStatus"](message)}}else{Module["setStatus"]("")}}},runIter:function(func){if(ABORT)return;if(Module["preMainLoop"]){var preRet=Module["preMainLoop"]();if(preRet===false){return}}callUserCallback(func);if(Module["postMainLoop"])Module["postMainLoop"]()}},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function(){if(!Module["preloadPlugins"])Module["preloadPlugins"]=[];if(Browser.initted)return;Browser.initted=true;try{new Blob;Browser.hasBlobConstructor=true}catch(e){Browser.hasBlobConstructor=false;out("warning: no blob constructor, cannot create blobs with mimetypes")}Browser.BlobBuilder=typeof MozBlobBuilder!="undefined"?MozBlobBuilder:typeof WebKitBlobBuilder!="undefined"?WebKitBlobBuilder:!Browser.hasBlobConstructor?out("warning: no BlobBuilder"):null;Browser.URLObject=typeof window!="undefined"?window.URL?window.URL:window.webkitURL:undefined;if(!Module.noImageDecoding&&typeof Browser.URLObject==="undefined"){out("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available.");Module.noImageDecoding=true}var imagePlugin={};imagePlugin["canHandle"]=function imagePlugin_canHandle(name){return!Module.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(name)};imagePlugin["handle"]=function imagePlugin_handle(byteArray,name,onload,onerror){var b=null;if(Browser.hasBlobConstructor){try{b=new Blob([byteArray],{type:Browser.getMimetype(name)});if(b.size!==byteArray.length){b=new Blob([new Uint8Array(byteArray).buffer],{type:Browser.getMimetype(name)})}}catch(e){warnOnce("Blob constructor present but fails: "+e+"; falling back to blob builder")}}if(!b){var bb=new Browser.BlobBuilder;bb.append(new Uint8Array(byteArray).buffer);b=bb.getBlob()}var url=Browser.URLObject.createObjectURL(b);var img=new Image;img.onload=function img_onload(){assert(img.complete,"Image "+name+" could not be decoded");var canvas=document.createElement("canvas");canvas.width=img.width;canvas.height=img.height;var ctx=canvas.getContext("2d");ctx.drawImage(img,0,0);Module["preloadedImages"][name]=canvas;Browser.URLObject.revokeObjectURL(url);if(onload)onload(byteArray)};img.onerror=function img_onerror(event){out("Image "+url+" could not be decoded");if(onerror)onerror()};img.src=url};Module["preloadPlugins"].push(imagePlugin);var audioPlugin={};audioPlugin["canHandle"]=function audioPlugin_canHandle(name){return!Module.noAudioDecoding&&name.substr(-4)in{".ogg":1,".wav":1,".mp3":1}};audioPlugin["handle"]=function audioPlugin_handle(byteArray,name,onload,onerror){var done=false;function finish(audio){if(done)return;done=true;Module["preloadedAudios"][name]=audio;if(onload)onload(byteArray)}function fail(){if(done)return;done=true;Module["preloadedAudios"][name]=new Audio;if(onerror)onerror()}if(Browser.hasBlobConstructor){try{var b=new Blob([byteArray],{type:Browser.getMimetype(name)})}catch(e){return fail()}var url=Browser.URLObject.createObjectURL(b);var audio=new Audio;audio.addEventListener("canplaythrough",function(){finish(audio)},false);audio.onerror=function audio_onerror(event){if(done)return;out("warning: browser could not fully decode audio "+name+", trying slower base64 approach");function encode64(data){var BASE="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var PAD="=";var ret="";var leftchar=0;var leftbits=0;for(var i=0;i<data.length;i++){leftchar=leftchar<<8|data[i];leftbits+=8;while(leftbits>=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);var wasmPlugin={"asyncWasmLoadPromise":new Promise(function(resolve,reject){return resolve()}),"canHandle":function(name){return!Module.noWasmDecoding&&name.endsWith(".so")},"handle":function(byteArray,name,onload,onerror){this["asyncWasmLoadPromise"]=this["asyncWasmLoadPromise"].then(function(){return loadWebAssemblyModule(byteArray,{loadAsync:true,nodelete:true})}).then(function(module){Module["preloadedWasm"][name]=module;onload()},function(err){console.warn("Couldn't instantiate wasm: "+name+" '"+err+"'");onerror()})}};Module["preloadPlugins"].push(wasmPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);canvasContainer.requestFullscreen()},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeSetTimeout:function(func){return safeSetTimeout(func)},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){callUserCallback(func)})},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h<Module["forcedAspectRatio"]){w=Math.round(h*Module["forcedAspectRatio"])}else{h=Math.round(w/Module["forcedAspectRatio"])}}if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvas.parentNode&&typeof screen!="undefined"){var factor=Math.min(screen.width/w,screen.height/h);w=Math.round(w*factor);h=Math.round(h*factor)}if(Browser.resizeCanvas){if(canvas.width!=w)canvas.width=w;if(canvas.height!=h)canvas.height=h;if(typeof canvas.style!="undefined"){canvas.style.removeProperty("width");canvas.style.removeProperty("height")}}else{if(canvas.width!=wNative)canvas.width=wNative;if(canvas.height!=hNative)canvas.height=hNative;if(typeof canvas.style!="undefined"){if(w!=wNative||h!=hNative){canvas.style.setProperty("width",w+"px","important");canvas.style.setProperty("height",h+"px","important")}else{canvas.style.removeProperty("width");canvas.style.removeProperty("height")}}}}};Module["Browser"]=Browser;var GOT={};Module["GOT"]=GOT;var GOTHandler={get:function(obj,symName){if(!GOT[symName]){GOT[symName]=new WebAssembly.Global({"value":"i32","mutable":true})}return GOT[symName]}};Module["GOTHandler"]=GOTHandler;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){wasmTable.get(func)()}else{wasmTable.get(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}Module["callRuntimeCallbacks"]=callRuntimeCallbacks;function demangle(func){demangle.recursionGuard=(demangle.recursionGuard|0)+1;if(demangle.recursionGuard>1)return func;var __cxa_demangle_func=Module["___cxa_demangle"]||Module["__cxa_demangle"];assert(__cxa_demangle_func);var stackTop=stackSave();try{var s=func;if(s.startsWith("__Z"))s=s.substr(1);var len=lengthBytesUTF8(s)+1;var buf=stackAlloc(len);stringToUTF8(s,buf,len);var status=stackAlloc(4);var ret=__cxa_demangle_func(buf,0,0,status);if(HEAP32[status>>2]===0&&ret){return UTF8ToString(ret)}}catch(e){}finally{_free(ret);stackRestore(stackTop);if(demangle.recursionGuard<2)--demangle.recursionGuard}return func}Module["demangle"]=demangle;function demangleAll(text){var regex=/\b_Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}Module["demangleAll"]=demangleAll;function getDylinkMetadata(binary){var next=0;function getLEB(){var ret=0;var mul=1;while(1){var byte=binary[next++];ret+=(byte&127)*mul;mul*=128;if(!(byte&128))break}return ret}if(binary instanceof WebAssembly.Module){var dylinkSection=WebAssembly.Module.customSections(binary,"dylink");assert(dylinkSection.length!=0,"need dylink section");binary=new Int8Array(dylinkSection[0])}else{var int32View=new Uint32Array(new Uint8Array(binary.subarray(0,24)).buffer);assert(int32View[0]==1836278016,"need to see wasm magic number");assert(binary[8]===0,"need the dylink section to be first");next=9;getLEB();assert(binary[next]===6);next++;assert(binary[next]==="d".charCodeAt(0));next++;assert(binary[next]==="y".charCodeAt(0));next++;assert(binary[next]==="l".charCodeAt(0));next++;assert(binary[next]==="i".charCodeAt(0));next++;assert(binary[next]==="n".charCodeAt(0));next++;assert(binary[next]==="k".charCodeAt(0));next++}var customSection={};customSection.memorySize=getLEB();customSection.memoryAlign=getLEB();customSection.tableSize=getLEB();customSection.tableAlign=getLEB();var neededDynlibsCount=getLEB();customSection.neededDynlibs=[];for(var i=0;i<neededDynlibsCount;++i){var nameLen=getLEB();var nameUTF8=binary.subarray(next,next+nameLen);next+=nameLen;var name=UTF8ArrayToString(nameUTF8,0);customSection.neededDynlibs.push(name)}return customSection}Module["getDylinkMetadata"]=getDylinkMetadata;function jsStackTrace(){var error=new Error;if(!error.stack){try{throw new Error}catch(e){error=e}if(!error.stack){return"(no stack trace available)"}}return error.stack.toString()}Module["jsStackTrace"]=jsStackTrace;function asmjsMangle(x){var unmangledSymbols=["stackAlloc","stackSave","stackRestore"];return x.indexOf("dynCall_")==0||unmangledSymbols.includes(x)?x:"_"+x}Module["asmjsMangle"]=asmjsMangle;function mergeLibSymbols(exports,libName){for(var sym in exports){if(!exports.hasOwnProperty(sym)){continue}if(!asmLibraryArg.hasOwnProperty(sym)){asmLibraryArg[sym]=exports[sym]}var module_sym=asmjsMangle(sym);if(!Module.hasOwnProperty(module_sym)){Module[module_sym]=exports[sym]}}}Module["mergeLibSymbols"]=mergeLibSymbols;var LDSO={nextHandle:1,loadedLibs:{},loadedLibNames:{}};Module["LDSO"]=LDSO;function dynCallLegacy(sig,ptr,args){var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)}Module["dynCallLegacy"]=dynCallLegacy;function dynCall(sig,ptr,args){if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}return wasmTable.get(ptr).apply(null,args)}Module["dynCall"]=dynCall;function createInvokeFunction(sig){return function(){var sp=stackSave();try{return dynCall(sig,arguments[0],Array.prototype.slice.call(arguments,1))}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}}Module["createInvokeFunction"]=createInvokeFunction;var ___heap_base=8404752;Module["___heap_base"]=___heap_base;function getMemory(size){if(runtimeInitialized)return _malloc(size);var ret=___heap_base;var end=ret+size+15&-16;___heap_base=end;GOT["__heap_base"].value=end;return ret}Module["getMemory"]=getMemory;function isInternalSym(symName){return["__cpp_exception","__wasm_apply_data_relocs","__dso_handle","__set_stack_limits"].includes(symName)}Module["isInternalSym"]=isInternalSym;function updateGOT(exports){for(var symName in exports){if(isInternalSym(symName)){continue}var replace=false;var value=exports[symName];if(symName.startsWith("orig$")){symName=symName.split("$")[1];replace=true}if(!GOT[symName]){GOT[symName]=new WebAssembly.Global({"value":"i32","mutable":true})}if(replace||GOT[symName].value==0){if(typeof value==="function"){GOT[symName].value=addFunctionWasm(value)}else if(typeof value==="number"){GOT[symName].value=value}else{err("unhandled export type for `"+symName+"`: "+typeof value)}}}}Module["updateGOT"]=updateGOT;function relocateExports(exports,memoryBase){var relocated={};for(var e in exports){var value=exports[e];if(typeof value==="object"){value=value.value}if(typeof value==="number"){value+=memoryBase}relocated[e]=value}updateGOT(relocated);return relocated}Module["relocateExports"]=relocateExports;function resolveGlobalSymbol(symName,direct){var sym;if(direct){sym=asmLibraryArg["orig$"+symName]}if(!sym){sym=asmLibraryArg[symName]}if(!sym){sym=Module[asmjsMangle(symName)]}if(!sym&&symName.startsWith("invoke_")){sym=createInvokeFunction(symName.split("_")[1])}if(!sym&&symName.startsWith("__cxa_find_matching_catch")){sym=Module.___cxa_find_matching_catch}return sym}Module["resolveGlobalSymbol"]=resolveGlobalSymbol;function alignMemory(size,alignment){return Math.ceil(size/alignment)*alignment}Module["alignMemory"]=alignMemory;function loadWebAssemblyModule(binary,flags){var metadata=getDylinkMetadata(binary);function loadModule(){var memAlign=Math.pow(2,metadata.memoryAlign);memAlign=Math.max(memAlign,STACK_ALIGN);var memoryBase=alignMemory(getMemory(metadata.memorySize+memAlign),memAlign);var tableBase=wasmTable.length;wasmTable.grow(metadata.tableSize);for(var i=memoryBase;i<memoryBase+metadata.memorySize;i++){HEAP8[i]=0}for(var i=tableBase;i<tableBase+metadata.tableSize;i++){wasmTable.set(i,null)}var moduleExports;function resolveSymbol(sym){var resolved=resolveGlobalSymbol(sym,false);if(!resolved){resolved=moduleExports[sym]}return resolved}var proxyHandler={"get":function(stubs,prop){switch(prop){case"__memory_base":return memoryBase;case"__table_base":return tableBase}if(prop in asmLibraryArg){return asmLibraryArg[prop]}if(!(prop in stubs)){var resolved;stubs[prop]=function(){if(!resolved)resolved=resolveSymbol(prop,true);return resolved.apply(null,arguments)}}return stubs[prop]}};var proxy=new Proxy({},proxyHandler);var info={"GOT.mem":new Proxy({},GOTHandler),"GOT.func":new Proxy({},GOTHandler),"env":proxy,wasi_snapshot_preview1:proxy};function postInstantiation(instance){for(var i=0;i<metadata.tableSize;i++){var item=wasmTable.get(tableBase+i);if(item){functionsInTableMap.set(item,tableBase+i)}}moduleExports=relocateExports(instance.exports,memoryBase);if(!flags.allowUndefined){reportUndefinedSymbols()}var init=moduleExports["__wasm_call_ctors"];if(!init){init=moduleExports["__post_instantiate"]}if(init){if(runtimeInitialized){init()}else{__ATINIT__.push(init)}}return moduleExports}if(flags.loadAsync){if(binary instanceof WebAssembly.Module){var instance=new WebAssembly.Instance(binary,info);return Promise.resolve(postInstantiation(instance))}return WebAssembly.instantiate(binary,info).then(function(result){return postInstantiation(result.instance)})}var module=binary instanceof WebAssembly.Module?binary:new WebAssembly.Module(binary);var instance=new WebAssembly.Instance(module,info);return postInstantiation(instance)}if(flags.loadAsync){return metadata.neededDynlibs.reduce(function(chain,dynNeeded){return chain.then(function(){return loadDynamicLibrary(dynNeeded,flags)})},Promise.resolve()).then(function(){return loadModule()})}metadata.neededDynlibs.forEach(function(dynNeeded){loadDynamicLibrary(dynNeeded,flags)});return loadModule()}Module["loadWebAssemblyModule"]=loadWebAssemblyModule;function loadDynamicLibrary(lib,flags){if(lib=="__main__"&&!LDSO.loadedLibNames[lib]){LDSO.loadedLibs[-1]={refcount:Infinity,name:"__main__",module:Module["asm"],global:true};LDSO.loadedLibNames["__main__"]=-1}flags=flags||{global:true,nodelete:true};var handle=LDSO.loadedLibNames[lib];var dso;if(handle){dso=LDSO.loadedLibs[handle];if(flags.global&&!dso.global){dso.global=true;if(dso.module!=="loading"){mergeLibSymbols(dso.module,lib)}}if(flags.nodelete&&dso.refcount!==Infinity){dso.refcount=Infinity}dso.refcount++;return flags.loadAsync?Promise.resolve(handle):handle}handle=LDSO.nextHandle++;dso={refcount:flags.nodelete?Infinity:1,name:lib,module:"loading",global:flags.global};LDSO.loadedLibNames[lib]=handle;LDSO.loadedLibs[handle]=dso;function loadLibData(libFile){if(flags.fs&&flags.fs.findObject(libFile)){var libData=flags.fs.readFile(libFile,{encoding:"binary"});if(!(libData instanceof Uint8Array)){libData=new Uint8Array(libData)}return flags.loadAsync?Promise.resolve(libData):libData}if(flags.loadAsync){return new Promise(function(resolve,reject){readAsync(libFile,function(data){resolve(new Uint8Array(data))},reject)})}if(!readBinary){throw new Error(libFile+": file not found, and synchronous loading of external files is not available")}return readBinary(libFile)}function getLibModule(){if(Module["preloadedWasm"]!==undefined&&Module["preloadedWasm"][lib]!==undefined){var libModule=Module["preloadedWasm"][lib];return flags.loadAsync?Promise.resolve(libModule):libModule}if(flags.loadAsync){return loadLibData(lib).then(function(libData){return loadWebAssemblyModule(libData,flags)})}return loadWebAssemblyModule(loadLibData(lib),flags)}function moduleLoaded(libModule){if(dso.global){mergeLibSymbols(libModule,lib)}dso.module=libModule}if(flags.loadAsync){return getLibModule().then(function(libModule){moduleLoaded(libModule);return handle})}moduleLoaded(getLibModule());return handle}Module["loadDynamicLibrary"]=loadDynamicLibrary;function reportUndefinedSymbols(){for(var symName in GOT){if(GOT[symName].value==0){var value=resolveGlobalSymbol(symName,true);if(typeof value==="function"){GOT[symName].value=addFunctionWasm(value,value.sig)}else if(typeof value==="number"){GOT[symName].value=value}else{assert(false,"bad export type for `"+symName+"`: "+typeof value)}}}}Module["reportUndefinedSymbols"]=reportUndefinedSymbols;function preloadDylibs(){if(!dynamicLibraries.length){reportUndefinedSymbols();return}addRunDependency("preloadDylibs");dynamicLibraries.reduce(function(chain,lib){return chain.then(function(){return loadDynamicLibrary(lib,{loadAsync:true,global:true,nodelete:true,allowUndefined:true})})},Promise.resolve()).then(function(){reportUndefinedSymbols();removeRunDependency("preloadDylibs")})}Module["preloadDylibs"]=preloadDylibs;function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}Module["stackTrace"]=stackTrace;function _tzset_impl(){var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAP32[__get_timezone()>>2]=stdTimezoneOffset*60;HEAP32[__get_daylight()>>2]=Number(winterOffset!=summerOffset);function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocateUTF8(winterName);var summerNamePtr=allocateUTF8(summerName);if(summerOffset<winterOffset){HEAP32[__get_tzname()>>2]=winterNamePtr;HEAP32[__get_tzname()+4>>2]=summerNamePtr}else{HEAP32[__get_tzname()>>2]=summerNamePtr;HEAP32[__get_tzname()+4>>2]=winterNamePtr}}Module["_tzset_impl"]=_tzset_impl;_tzset_impl.sig="v";function _tzset(){if(_tzset.called)return;_tzset.called=true;_tzset_impl()}Module["_tzset"]=_tzset;_tzset.sig="v";function _mktime(tmPtr){_tzset();var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(summerOffset!=winterOffset&&dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();return date.getTime()/1e3|0}Module["_mktime"]=_mktime;_mktime.sig="ii";function ___asctime(tmPtr,buf){var date={tm_sec:HEAP32[tmPtr>>2],tm_min:HEAP32[tmPtr+4>>2],tm_hour:HEAP32[tmPtr+8>>2],tm_mday:HEAP32[tmPtr+12>>2],tm_mon:HEAP32[tmPtr+16>>2],tm_year:HEAP32[tmPtr+20>>2],tm_wday:HEAP32[tmPtr+24>>2]};var days=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];var months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];var s=days[date.tm_wday]+" "+months[date.tm_mon]+(date.tm_mday<10?"  ":" ")+date.tm_mday+(date.tm_hour<10?" 0":" ")+date.tm_hour+(date.tm_min<10?":0":":")+date.tm_min+(date.tm_sec<10?":0":":")+date.tm_sec+" "+(1900+date.tm_year)+"\n";stringToUTF8(s,buf,26);return buf}Module["___asctime"]=___asctime;___asctime.sig="iii";function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}Module["___assert_fail"]=___assert_fail;___assert_fail.sig="viiii";var _emscripten_get_now_is_monotonic=true;Module["_emscripten_get_now_is_monotonic"]=_emscripten_get_now_is_monotonic;function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}Module["setErrNo"]=setErrNo;function _clock_gettime(clk_id,tp){var now;if(clk_id===0){now=Date.now()}else if((clk_id===1||clk_id===4)&&_emscripten_get_now_is_monotonic){now=_emscripten_get_now()}else{setErrNo(28);return-1}HEAP32[tp>>2]=now/1e3|0;HEAP32[tp+4>>2]=now%1e3*1e3*1e3|0;return 0}Module["_clock_gettime"]=_clock_gettime;_clock_gettime.sig="iii";function ___clock_gettime(a0,a1){return _clock_gettime(a0,a1)}Module["___clock_gettime"]=___clock_gettime;___clock_gettime.sig="iii";function ___cxa_allocate_exception(size){return _malloc(size+16)+16}Module["___cxa_allocate_exception"]=___cxa_allocate_exception;___cxa_allocate_exception.sig="vi";function _atexit(func,arg){}Module["_atexit"]=_atexit;_atexit.sig="iii";function ___cxa_atexit(a0,a1){return _atexit(a0,a1)}Module["___cxa_atexit"]=___cxa_atexit;___cxa_atexit.sig="iii";function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-16;this.set_type=function(type){HEAP32[this.ptr+4>>2]=type};this.get_type=function(){return HEAP32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAP32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAP32[this.ptr+8>>2]};this.set_refcount=function(refcount){HEAP32[this.ptr>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){var value=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=value+1};this.release_ref=function(){var prev=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=prev-1;return prev===1}}Module["ExceptionInfo"]=ExceptionInfo;function CatchInfo(ptr){this.free=function(){_free(this.ptr);this.ptr=0};this.set_base_ptr=function(basePtr){HEAP32[this.ptr>>2]=basePtr};this.get_base_ptr=function(){return HEAP32[this.ptr>>2]};this.set_adjusted_ptr=function(adjustedPtr){HEAP32[this.ptr+4>>2]=adjustedPtr};this.get_adjusted_ptr_addr=function(){return this.ptr+4};this.get_adjusted_ptr=function(){return HEAP32[this.ptr+4>>2]};this.get_exception_ptr=function(){var isPointer=Module["___cxa_is_pointer_type"](this.get_exception_info().get_type());if(isPointer){return HEAP32[this.get_base_ptr()>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.get_base_ptr()};this.get_exception_info=function(){return new ExceptionInfo(this.get_base_ptr())};if(ptr===undefined){this.ptr=_malloc(8);this.set_adjusted_ptr(0)}else{this.ptr=ptr}}Module["CatchInfo"]=CatchInfo;var exceptionCaught=[];Module["exceptionCaught"]=exceptionCaught;function exception_addRef(info){info.add_ref()}Module["exception_addRef"]=exception_addRef;var uncaughtExceptionCount=0;Module["uncaughtExceptionCount"]=uncaughtExceptionCount;function ___cxa_begin_catch(ptr){var catchInfo=new CatchInfo(ptr);var info=catchInfo.get_exception_info();if(!info.get_caught()){info.set_caught(true);uncaughtExceptionCount--}info.set_rethrown(false);exceptionCaught.push(catchInfo);exception_addRef(info);return catchInfo.get_exception_ptr()}Module["___cxa_begin_catch"]=___cxa_begin_catch;function ___cxa_current_primary_exception(){if(!exceptionCaught.length){return 0}var catchInfo=exceptionCaught[exceptionCaught.length-1];exception_addRef(catchInfo.get_exception_info());return catchInfo.get_base_ptr()}Module["___cxa_current_primary_exception"]=___cxa_current_primary_exception;function ___cxa_free_exception(ptr){return _free(new ExceptionInfo(ptr).ptr)}Module["___cxa_free_exception"]=___cxa_free_exception;___cxa_free_exception.sig="vi";function exception_decRef(info){if(info.release_ref()&&!info.get_rethrown()){var destructor=info.get_destructor();if(destructor){wasmTable.get(destructor)(info.excPtr)}___cxa_free_exception(info.excPtr)}}Module["exception_decRef"]=exception_decRef;function ___cxa_decrement_exception_refcount(ptr){if(!ptr)return;exception_decRef(new ExceptionInfo(ptr))}Module["___cxa_decrement_exception_refcount"]=___cxa_decrement_exception_refcount;var exceptionLast=0;Module["exceptionLast"]=exceptionLast;function ___cxa_end_catch(){_setThrew(0);var catchInfo=exceptionCaught.pop();exception_decRef(catchInfo.get_exception_info());catchInfo.free();exceptionLast=0}Module["___cxa_end_catch"]=___cxa_end_catch;___cxa_end_catch.sig="v";function ___resumeException(catchInfoPtr){var catchInfo=new CatchInfo(catchInfoPtr);var ptr=catchInfo.get_base_ptr();if(!exceptionLast){exceptionLast=ptr}catchInfo.free();throw ptr}Module["___resumeException"]=___resumeException;function ___cxa_find_matching_catch_2(){var thrown=exceptionLast;if(!thrown){setTempRet0(0);return 0|0}var info=new ExceptionInfo(thrown);var thrownType=info.get_type();var catchInfo=new CatchInfo;catchInfo.set_base_ptr(thrown);catchInfo.set_adjusted_ptr(thrown);if(!thrownType){setTempRet0(0);return catchInfo.ptr|0}var typeArray=Array.prototype.slice.call(arguments);for(var i=0;i<typeArray.length;i++){var caughtType=typeArray[i];if(caughtType===0||caughtType===thrownType){break}if(Module["___cxa_can_catch"](caughtType,thrownType,catchInfo.get_adjusted_ptr_addr())){setTempRet0(caughtType);return catchInfo.ptr|0}}setTempRet0(thrownType);return catchInfo.ptr|0}Module["___cxa_find_matching_catch_2"]=___cxa_find_matching_catch_2;___cxa_find_matching_catch_2.sig="iii";function ___cxa_find_matching_catch_3(){var thrown=exceptionLast;if(!thrown){setTempRet0(0);return 0|0}var info=new ExceptionInfo(thrown);var thrownType=info.get_type();var catchInfo=new CatchInfo;catchInfo.set_base_ptr(thrown);catchInfo.set_adjusted_ptr(thrown);if(!thrownType){setTempRet0(0);return catchInfo.ptr|0}var typeArray=Array.prototype.slice.call(arguments);for(var i=0;i<typeArray.length;i++){var caughtType=typeArray[i];if(caughtType===0||caughtType===thrownType){break}if(Module["___cxa_can_catch"](caughtType,thrownType,catchInfo.get_adjusted_ptr_addr())){setTempRet0(caughtType);return catchInfo.ptr|0}}setTempRet0(thrownType);return catchInfo.ptr|0}Module["___cxa_find_matching_catch_3"]=___cxa_find_matching_catch_3;___cxa_find_matching_catch_3.sig="iiii";function ___cxa_increment_exception_refcount(ptr){if(!ptr)return;exception_addRef(new ExceptionInfo(ptr))}Module["___cxa_increment_exception_refcount"]=___cxa_increment_exception_refcount;function ___cxa_rethrow(){var catchInfo=exceptionCaught.pop();if(!catchInfo){abort("no exception to throw")}var info=catchInfo.get_exception_info();var ptr=catchInfo.get_base_ptr();if(!info.get_rethrown()){exceptionCaught.push(catchInfo);info.set_rethrown(true);info.set_caught(false);uncaughtExceptionCount++}else{catchInfo.free()}exceptionLast=ptr;throw ptr}Module["___cxa_rethrow"]=___cxa_rethrow;___cxa_rethrow.sig="v";function ___cxa_rethrow_primary_exception(ptr){if(!ptr)return;var catchInfo=new CatchInfo;catchInfo.set_base_ptr(ptr);var info=catchInfo.get_exception_info();exceptionCaught.push(catchInfo);info.set_rethrown(true);___cxa_rethrow()}Module["___cxa_rethrow_primary_exception"]=___cxa_rethrow_primary_exception;function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw ptr}Module["___cxa_throw"]=___cxa_throw;___cxa_throw.sig="viii";function ___cxa_uncaught_exceptions(){return uncaughtExceptionCount}Module["___cxa_uncaught_exceptions"]=___cxa_uncaught_exceptions;function _gmtime_r(time,tmPtr){var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getUTCSeconds();HEAP32[tmPtr+4>>2]=date.getUTCMinutes();HEAP32[tmPtr+8>>2]=date.getUTCHours();HEAP32[tmPtr+12>>2]=date.getUTCDate();HEAP32[tmPtr+16>>2]=date.getUTCMonth();HEAP32[tmPtr+20>>2]=date.getUTCFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getUTCDay();HEAP32[tmPtr+36>>2]=0;HEAP32[tmPtr+32>>2]=0;var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;if(!_gmtime_r.GMTString)_gmtime_r.GMTString=allocateUTF8("GMT");HEAP32[tmPtr+40>>2]=_gmtime_r.GMTString;return tmPtr}Module["_gmtime_r"]=_gmtime_r;_gmtime_r.sig="iii";function ___gmtime_r(a0,a1){return _gmtime_r(a0,a1)}Module["___gmtime_r"]=___gmtime_r;___gmtime_r.sig="iii";function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[__get_tzname()+(dst?4:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}Module["_localtime_r"]=_localtime_r;_localtime_r.sig="iii";function ___localtime_r(a0,a1){return _localtime_r(a0,a1)}Module["___localtime_r"]=___localtime_r;___localtime_r.sig="iii";function ___map_file(pathname,size){setErrNo(63);return-1}Module["___map_file"]=___map_file;var __sigalrm_handler=0;Module["__sigalrm_handler"]=__sigalrm_handler;function ___sigaction(sig,act,oldact){if(sig==14){__sigalrm_handler=HEAP32[act>>2];return 0}return 0}Module["___sigaction"]=___sigaction;___sigaction.sig="viii";var ___stack_pointer=new WebAssembly.Global({"value":"i32","mutable":true},8404752);Module["___stack_pointer"]=___stack_pointer;var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};Module["PATH"]=PATH;function getRandomDevice(){if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");return function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}return function(){abort("randomDevice")}}Module["getRandomDevice"]=getRandomDevice;var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")}};Module["PATH_FS"]=PATH_FS;var TTY={ttys:[],init:function(){},shutdown:function(){},register:function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open:function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close:function(stream){stream.tty.ops.flush(stream.tty)},flush:function(stream){stream.tty.ops.flush(stream.tty)},read:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(29)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(6)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead},write:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(60)}try{for(var i=0;i<length;i++){stream.tty.ops.put_char(stream.tty,buffer[offset+i])}}catch(e){throw new FS.ErrnoError(29)}if(length){stream.node.timestamp=Date.now()}return i}},default_tty_ops:{get_char:function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=Buffer.alloc(BUFSIZE);var bytesRead=0;try{bytesRead=nodeFS.readSync(process.stdin.fd,buf,0,BUFSIZE,null)}catch(e){if(e.toString().includes("EOF"))bytesRead=0;else throw e}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};Module["TTY"]=TTY;function zeroMemory(address,size){HEAPU8.fill(0,address,address+size)}Module["zeroMemory"]=zeroMemory;function mmapAlloc(size){size=alignMemory(size,65536);var ptr=_memalign(65536,size);if(!ptr)return 0;zeroMemory(ptr,size);return ptr}Module["mmapAlloc"]=mmapAlloc;var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray:function(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage:function(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)>>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr:function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup:function(parent,name){throw FS.genericErrors[44]},mknod:function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename:function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp;old_node.parent=new_dir},unlink:function(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir:function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink:function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read:function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size},write:function(stream,buffer,offset,length,position,canOwn){if(buffer.buffer===HEAP8.buffer){canOwn=false}if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=buffer.slice(offset,offset+length);node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray){node.contents.set(buffer.subarray(offset,offset+length),position)}else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(28)}return position},allocate:function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)},mmap:function(stream,address,length,position,prot,flags){if(address!==0){throw new FS.ErrnoError(28)}if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&contents.buffer===buffer){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<contents.length){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}HEAP8.set(contents,ptr)}return{ptr:ptr,allocated:allocated}},msync:function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0}}};Module["MEMFS"]=MEMFS;function asyncLoad(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)}Module["asyncLoad"]=asyncLoad;var IDBFS={dbs:{},indexedDB:function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret},DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function(mount){return MEMFS.mount.apply(null,arguments)},syncfs:function(mount,populate,callback){IDBFS.getLocalSet(mount,function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)})})},getDB:function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}if(!req){return callback("Unable to connect to IndexedDB")}req.onupgradeneeded=function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}};req.onsuccess=function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)};req.onerror=function(e){callback(this.error);e.preventDefault()}},getLocalSet:function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return function(p){return PATH.join2(root,p)}}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={"timestamp":stat.mtime}}return callback(null,{type:"local",entries:entries})},getRemoteSet:function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,function(err,db){if(err)return callback(err);try{var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=function(e){callback(this.error);e.preventDefault()};var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={"timestamp":cursor.key};cursor.continue()}}catch(e){return callback(e)}})},loadLocalEntry:function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{"timestamp":stat.mtime,"mode":stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{"timestamp":stat.mtime,"mode":stat.mode,"contents":node.contents})}else{return callback(new Error("node type not supported"))}},storeLocalEntry:function(path,entry,callback){try{if(FS.isDir(entry["mode"])){FS.mkdirTree(path,entry["mode"])}else if(FS.isFile(entry["mode"])){FS.writeFile(path,entry["contents"],{canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry["mode"]);FS.utime(path,entry["timestamp"],entry["timestamp"])}catch(e){return callback(e)}callback(null)},removeLocalEntry:function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)},loadRemoteEntry:function(store,path,callback){var req=store.get(path);req.onsuccess=function(event){callback(null,event.target.result)};req.onerror=function(e){callback(this.error);e.preventDefault()}},storeRemoteEntry:function(store,path,entry,callback){try{var req=store.put(entry,path)}catch(e){callback(e);return}req.onsuccess=function(){callback(null)};req.onerror=function(e){callback(this.error);e.preventDefault()}},removeRemoteEntry:function(store,path,callback){var req=store.delete(path);req.onsuccess=function(){callback(null)};req.onerror=function(e){callback(this.error);e.preventDefault()}},reconcile:function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach(function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e["timestamp"].getTime()!=e2["timestamp"].getTime()){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){if(!src.entries[key]){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err&&!errored){errored=true;return callback(err)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};transaction.oncomplete=function(e){if(!errored){callback(null)}};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};Module["IDBFS"]=IDBFS;var ERRNO_CODES={};Module["ERRNO_CODES"]=ERRNO_CODES;var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],256:flags["O_NOCTTY"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"]}},convertNodeCode:function(e){var code=e.code;return ERRNO_CODES[code]},mount:function(mount){return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(28)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(28)}},node_ops:{getattr:function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}},lookup:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}oldNode.name=newName},unlink:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}},rmdir:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}},readlink:function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}},close:function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,Buffer.from(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}},write:function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,Buffer.from(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}}}if(position<0){throw new FS.ErrnoError(28)}return position},mmap:function(stream,address,length,position,prot,flags){if(address!==0){throw new FS.ErrnoError(28)}if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}var ptr=mmapAlloc(length);NODEFS.stream_ops.read(stream,HEAP8,ptr,length,position);return{ptr:ptr,allocated:true}},msync:function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(mmapFlags&2){return 0}var bytesWritten=NODEFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0}}};Module["NODEFS"]=NODEFS;var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,parts[i],WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)});(mount.opts["blobs"]||[]).forEach(function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])});(mount.opts["packages"]||[]).forEach(function(pack){pack["metadata"].files.forEach(function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))})});return root},createNode:function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node},node_ops:{getattr:function(node){return{dev:1,ino:node.id,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}},lookup:function(parent,name){throw new FS.ErrnoError(44)},mknod:function(parent,name,mode,dev){throw new FS.ErrnoError(63)},rename:function(oldNode,newDir,newName){throw new FS.ErrnoError(63)},unlink:function(parent,name){throw new FS.ErrnoError(63)},rmdir:function(parent,name){throw new FS.ErrnoError(63)},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newName,oldPath){throw new FS.ErrnoError(63)},readlink:function(node){throw new FS.ErrnoError(63)}},stream_ops:{read:function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(29)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(28)}return position}}};Module["WORKERFS"]=WORKERFS;var PROXYFS={mount:function(mount){return PROXYFS.createNode(null,"/",mount.opts.fs.lstat(mount.opts.root).mode,0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=PROXYFS.node_ops;node.stream_ops=PROXYFS.stream_ops;return node},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},node_ops:{getattr:function(node){var path=PROXYFS.realPath(node);var stat;try{stat=node.mount.opts.fs.lstat(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=PROXYFS.realPath(node);try{if(attr.mode!==undefined){node.mount.opts.fs.chmod(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);node.mount.opts.fs.utime(path,date,date)}if(attr.size!==undefined){node.mount.opts.fs.truncate(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},lookup:function(parent,name){try{var path=PATH.join2(PROXYFS.realPath(parent),name);var mode=parent.mount.opts.fs.lstat(path).mode;var node=PROXYFS.createNode(parent,name,mode);return node}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},mknod:function(parent,name,mode,dev){var node=PROXYFS.createNode(parent,name,mode,dev);var path=PROXYFS.realPath(node);try{if(FS.isDir(node.mode)){node.mount.opts.fs.mkdir(path,node.mode)}else{node.mount.opts.fs.writeFile(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node},rename:function(oldNode,newDir,newName){var oldPath=PROXYFS.realPath(oldNode);var newPath=PATH.join2(PROXYFS.realPath(newDir),newName);try{oldNode.mount.opts.fs.rename(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},unlink:function(parent,name){var path=PATH.join2(PROXYFS.realPath(parent),name);try{parent.mount.opts.fs.unlink(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},rmdir:function(parent,name){var path=PATH.join2(PROXYFS.realPath(parent),name);try{parent.mount.opts.fs.rmdir(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},readdir:function(node){var path=PROXYFS.realPath(node);try{return node.mount.opts.fs.readdir(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(PROXYFS.realPath(parent),newName);try{parent.mount.opts.fs.symlink(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},readlink:function(node){var path=PROXYFS.realPath(node);try{return node.mount.opts.fs.readlink(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}},stream_ops:{open:function(stream){var path=PROXYFS.realPath(stream.node);try{stream.nfd=stream.node.mount.opts.fs.open(path,stream.flags)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},close:function(stream){try{stream.node.mount.opts.fs.close(stream.nfd)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},read:function(stream,buffer,offset,length,position){try{return stream.node.mount.opts.fs.read(stream.nfd,buffer,offset,length,position)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},write:function(stream,buffer,offset,length,position){try{return stream.node.mount.opts.fs.write(stream.nfd,buffer,offset,length,position)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=stream.node.node_ops.getattr(stream.node);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}}};Module["PROXYFS"]=PROXYFS;var LZ4={DIR_MODE:16895,FILE_MODE:33279,CHUNK_SIZE:-1,codec:null,init:function(){if(LZ4.codec)return;LZ4.codec=function(){var MiniLZ4=function(){var exports={};exports.uncompress=function(input,output,sIdx,eIdx){sIdx=sIdx||0;eIdx=eIdx||input.length-sIdx;for(var i=sIdx,n=eIdx,j=0;i<n;){var token=input[i++];var literals_length=token>>4;if(literals_length>0){var l=literals_length+240;while(l===255){l=input[i++];literals_length+=l}var end=i+literals_length;while(i<end)output[j++]=input[i++];if(i===n)return j}var offset=input[i++]|input[i++]<<8;if(offset===0)return j;if(offset>j)return-(i-2);var match_length=token&15;var l=match_length+240;while(l===255){l=input[i++];match_length+=l}var pos=j-offset;var end=j+match_length+4;while(j<end)output[j++]=output[pos++]}return j};var maxInputSize=2113929216,minMatch=4,hashLog=16,hashShift=minMatch*8-hashLog,hashSize=1<<hashLog,copyLength=8,lastLiterals=5,mfLimit=copyLength+minMatch,skipStrength=6,mlBits=4,mlMask=(1<<mlBits)-1,runBits=8-mlBits,runMask=(1<<runBits)-1,hasher=2654435761;assert(hashShift===16);var hashTable=new Int16Array(1<<16);var empty=new Int16Array(hashTable.length);exports.compressBound=function(isize){return isize>maxInputSize?0:isize+isize/255+16|0};exports.compress=function(src,dst,sIdx,eIdx){hashTable.set(empty);return compressBlock(src,dst,0,sIdx||0,eIdx||dst.length)};function compressBlock(src,dst,pos,sIdx,eIdx){var dpos=sIdx;var dlen=eIdx-sIdx;var anchor=0;if(src.length>=maxInputSize)throw new Error("input too large");if(src.length>mfLimit){var n=exports.compressBound(src.length);if(dlen<n)throw Error("output too small: "+dlen+" < "+n);var step=1,findMatchAttempts=(1<<skipStrength)+3,srcLength=src.length-mfLimit;while(pos+minMatch<srcLength){var sequenceLowBits=src[pos+1]<<8|src[pos];var sequenceHighBits=src[pos+3]<<8|src[pos+2];var hash=Math.imul(sequenceLowBits|sequenceHighBits<<16,hasher)>>>hashShift;var ref=hashTable[hash]-1;hashTable[hash]=pos+1;if(ref<0||pos-ref>>>16>0||((src[ref+3]<<8|src[ref+2])!=sequenceHighBits||(src[ref+1]<<8|src[ref])!=sequenceLowBits)){step=findMatchAttempts++>>skipStrength;pos+=step;continue}findMatchAttempts=(1<<skipStrength)+3;var literals_length=pos-anchor;var offset=pos-ref;pos+=minMatch;ref+=minMatch;var match_length=pos;while(pos<srcLength&&src[pos]==src[ref]){pos++;ref++}match_length=pos-match_length;var token=match_length<mlMask?match_length:mlMask;if(literals_length>=runMask){dst[dpos++]=(runMask<<mlBits)+token;for(var len=literals_length-runMask;len>254;len-=255){dst[dpos++]=255}dst[dpos++]=len}else{dst[dpos++]=(literals_length<<mlBits)+token}for(var i=0;i<literals_length;i++){dst[dpos++]=src[anchor+i]}dst[dpos++]=offset;dst[dpos++]=offset>>8;if(match_length>=mlMask){match_length-=mlMask;while(match_length>=255){match_length-=255;dst[dpos++]=255}dst[dpos++]=match_length}anchor=pos}}if(anchor==0)return 0;literals_length=src.length-anchor;if(literals_length>=runMask){dst[dpos++]=runMask<<mlBits;for(var ln=literals_length-runMask;ln>254;ln-=255){dst[dpos++]=255}dst[dpos++]=ln}else{dst[dpos++]=literals_length<<mlBits}pos=anchor;while(pos<src.length){dst[dpos++]=src[pos++]}return dpos}exports.CHUNK_SIZE=2048;exports.compressPackage=function(data,verify){if(verify){var temp=new Uint8Array(exports.CHUNK_SIZE)}assert(data instanceof ArrayBuffer);data=new Uint8Array(data);console.log("compressing package of size "+data.length);var compressedChunks=[];var successes=[];var offset=0;var total=0;while(offset<data.length){var chunk=data.subarray(offset,offset+exports.CHUNK_SIZE);offset+=exports.CHUNK_SIZE;var bound=exports.compressBound(chunk.length);var compressed=new Uint8Array(bound);var compressedSize=exports.compress(chunk,compressed);if(compressedSize>0){assert(compressedSize<=bound);compressed=compressed.subarray(0,compressedSize);compressedChunks.push(compressed);total+=compressedSize;successes.push(1);if(verify){var back=exports.uncompress(compressed,temp);assert(back===chunk.length,[back,chunk.length]);for(var i=0;i<chunk.length;i++){assert(chunk[i]===temp[i])}}}else{assert(compressedSize===0);compressedChunks.push(chunk);total+=chunk.length;successes.push(0)}}data=null;var compressedData={"data":new Uint8Array(total+exports.CHUNK_SIZE*2),"cachedOffset":total,"cachedIndexes":[-1,-1],"cachedChunks":[null,null],"offsets":[],"sizes":[],"successes":successes};offset=0;for(var i=0;i<compressedChunks.length;i++){compressedData["data"].set(compressedChunks[i],offset);compressedData["offsets"][i]=offset;compressedData["sizes"][i]=compressedChunks[i].length;offset+=compressedChunks[i].length}console.log("compressed package into "+[compressedData["data"].length]);assert(offset===total);return compressedData};assert(exports.CHUNK_SIZE<1<<15);return exports}();return MiniLZ4}();LZ4.CHUNK_SIZE=LZ4.codec.CHUNK_SIZE},loadPackage:function(pack,preloadPlugin){LZ4.init();var compressedData=pack["compressedData"];if(!compressedData)compressedData=LZ4.codec.compressPackage(pack["data"]);assert(compressedData["cachedIndexes"].length===compressedData["cachedChunks"].length);for(var i=0;i<compressedData["cachedIndexes"].length;i++){compressedData["cachedIndexes"][i]=-1;compressedData["cachedChunks"][i]=compressedData["data"].subarray(compressedData["cachedOffset"]+i*LZ4.CHUNK_SIZE,compressedData["cachedOffset"]+(i+1)*LZ4.CHUNK_SIZE);assert(compressedData["cachedChunks"][i].length===LZ4.CHUNK_SIZE)}pack["metadata"].files.forEach(function(file){var dir=PATH.dirname(file.filename);var name=PATH.basename(file.filename);FS.createPath("",dir,true,true);var parent=FS.analyzePath(dir).object;LZ4.createNode(parent,name,LZ4.FILE_MODE,0,{compressedData:compressedData,start:file.start,end:file.end})});if(preloadPlugin){Browser.init();pack["metadata"].files.forEach(function(file){var handled=false;var fullname=file.filename;Module["preloadPlugins"].forEach(function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){var dep=getUniqueRunDependency("fp "+fullname);addRunDependency(dep);var finish=function(){removeRunDependency(dep)};var byteArray=FS.readFile(fullname);plugin["handle"](byteArray,fullname,finish,finish);handled=true}})})}},createNode:function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=LZ4.node_ops;node.stream_ops=LZ4.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(LZ4.FILE_MODE!==LZ4.DIR_MODE);if(mode===LZ4.FILE_MODE){node.size=contents.end-contents.start;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node},node_ops:{getattr:function(node){return{dev:1,ino:node.id,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}},lookup:function(parent,name){throw new FS.ErrnoError(44)},mknod:function(parent,name,mode,dev){throw new FS.ErrnoError(63)},rename:function(oldNode,newDir,newName){throw new FS.ErrnoError(63)},unlink:function(parent,name){throw new FS.ErrnoError(63)},rmdir:function(parent,name){throw new FS.ErrnoError(63)},readdir:function(node){throw new FS.ErrnoError(63)},symlink:function(parent,newName,oldPath){throw new FS.ErrnoError(63)},readlink:function(node){throw new FS.ErrnoError(63)}},stream_ops:{read:function(stream,buffer,offset,length,position){length=Math.min(length,stream.node.size-position);if(length<=0)return 0;var contents=stream.node.contents;var compressedData=contents.compressedData;var written=0;while(written<length){var start=contents.start+position+written;var desired=length-written;var chunkIndex=Math.floor(start/LZ4.CHUNK_SIZE);var compressedStart=compressedData["offsets"][chunkIndex];var compressedSize=compressedData["sizes"][chunkIndex];var currChunk;if(compressedData["successes"][chunkIndex]){var found=compressedData["cachedIndexes"].indexOf(chunkIndex);if(found>=0){currChunk=compressedData["cachedChunks"][found]}else{compressedData["cachedIndexes"].pop();compressedData["cachedIndexes"].unshift(chunkIndex);currChunk=compressedData["cachedChunks"].pop();compressedData["cachedChunks"].unshift(currChunk);if(compressedData["debug"]){out("decompressing chunk "+chunkIndex);Module["decompressedChunks"]=(Module["decompressedChunks"]||0)+1}var compressed=compressedData["data"].subarray(compressedStart,compressedStart+compressedSize);var originalSize=LZ4.codec.uncompress(compressed,currChunk);if(chunkIndex<compressedData["successes"].length-1)assert(originalSize===LZ4.CHUNK_SIZE)}}else{currChunk=compressedData["data"].subarray(compressedStart,compressedStart+LZ4.CHUNK_SIZE)}var startInChunk=start%LZ4.CHUNK_SIZE;var endInChunk=Math.min(startInChunk+desired,LZ4.CHUNK_SIZE);buffer.set(currChunk.subarray(startInChunk,endInChunk),offset+written);var currWritten=endInChunk-startInChunk;written+=currWritten}return written},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(29)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(28)}return position}}};Module["LZ4"]=LZ4;var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(path,opts){path=PATH_FS.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH_FS.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count+1});current=lookup.node;if(count++>40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}},get flags(){return this.shared.flags},set flags(value){this.shared.flags=value},get position(){return this.shared.position},set position(value){this.shared.position=value}}}var newStream=new FS.FSStream;newStream.shared={};for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;i<dirs.length;++i){if(!dirs[i])continue;d+="/"+dirs[i];try{FS.mkdir(d,mode)}catch(e){if(e.errno!=20)throw e}}},mkdev:function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink:function(oldpath,newpath){if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(44)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var newname=PATH.basename(newpath);var errCode=FS.mayCreate(parent,newname);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(63)}return parent.node_ops.symlink(parent,newname,oldpath)},rename:function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node;if(!old_dir||!new_dir)throw new FS.ErrnoError(44);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(75)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(28)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(55)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var errCode=FS.mayDelete(old_dir,old_name,isdir);if(errCode){throw new FS.ErrnoError(errCode)}errCode=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(errCode){throw new FS.ErrnoError(errCode)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(63)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(10)}if(new_dir!==old_dir){errCode=FS.nodePermissions(old_dir,"w");if(errCode){throw new FS.ErrnoError(errCode)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){err("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){err("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}},rmdir:function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,true);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){err("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){err("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}},readdir:function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(54)}return node.node_ops.readdir(node)},unlink:function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,false);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){err("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){err("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}},readlink:function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(44)}if(!link.node_ops.readlink){throw new FS.ErrnoError(28)}return PATH_FS.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))},stat:function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(44)}if(!node.node_ops.getattr){throw new FS.ErrnoError(63)}return node.node_ops.getattr(node)},lstat:function(path){return FS.stat(path,true)},chmod:function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})},lchmod:function(path,mode){FS.chmod(path,mode,true)},fchmod:function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chmod(stream.node,mode)},chown:function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{timestamp:Date.now()})},lchown:function(path,uid,gid){FS.chown(path,uid,gid,true)},fchown:function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chown(stream.node,uid,gid)},truncate:function(path,len){if(len<0){throw new FS.ErrnoError(28)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(31)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(28)}var errCode=FS.nodePermissions(node,"w");if(errCode){throw new FS.ErrnoError(errCode)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate:function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.truncate(stream.node,len)},utime:function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})},open:function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(44)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}if(!created){var errCode=FS.mayOpen(node,flags);if(errCode){throw new FS.ErrnoError(errCode)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512|131072);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;err("FS.trackingDelegate error on read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){err("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream},close:function(stream){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed:function(stream){return stream.fd===null},llseek:function(stream,offset,whence){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(70)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(28)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read:function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!=="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write:function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!=="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){err("FS.trackingDelegate['onWriteToFile']('"+stream.path+"') threw an exception: "+e.message)}return bytesWritten},allocate:function(stream,offset,length){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(offset<0||length<=0){throw new FS.ErrnoError(28)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(43)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(138)}stream.stream_ops.allocate(stream,offset,length)},mmap:function(stream,address,length,position,prot,flags){if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}return stream.stream_ops.mmap(stream,address,length,position,prot,flags)},msync:function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},munmap:function(stream){return 0},ioctl:function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile:function(path,opts){opts=opts||{};opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile:function(path,data,opts){opts=opts||{};opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data==="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:function(){return FS.currentPath},chdir:function(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories:function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices:function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:function(){return 0},write:function(stream,buffer,offset,length,pos){return length}});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device=getRandomDevice();FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories:function(){FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:function(){var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup:function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function(){return stream.path}}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams:function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},ensureErrnoError:function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message="FS error"};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[44].forEach(function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"})},staticInit:function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS,"PROXYFS":PROXYFS}},init:function(input,output,error){FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit:function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}},getMode:function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode},findObject:function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{return null}},analyzePath:function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createPath:function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current},createFile:function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile:function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,577);FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node},createDevice:function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:function(stream){stream.seekable=false},close:function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}},read:function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(29)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(6)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead},write:function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(29)}}if(length){stream.node.timestamp=Date.now()}return i}});return FS.mkdev(path,mode,dev)},forceLoadFile:function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(read_){try{obj.contents=intArrayFromString(read_(obj.url),true);obj.usedBytes=obj.contents.length}catch(e){throw new FS.ErrnoError(29)}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}},createLazyFile:function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){FS.forceLoadFile(node);var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node},createPreloadedFile:function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach(function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,function(){if(onerror)onerror();removeRunDependency(dep)});handled=true}});if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,function(byteArray){processData(byteArray)},onerror)}else{processData(url)}},indexedDB:function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:function(){return"EM_FS_"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function(paths,onload,onerror){onload=onload||function(){};onerror=onerror||function(){};var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){out("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror},loadFilesFromDB:function(paths,onload,onerror){onload=onload||function(){};onerror=onerror||function(){};var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror}};Module["FS"]=FS;var SYSCALLS={mappings:{},DEFAULT_POLLMASK:5,umask:511,calculateAt:function(dirfd,path,allowEmpty){if(path[0]==="/"){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(8);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat:function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-54}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(stream,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.createStream(stream,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret},doWritev:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};Module["SYSCALLS"]=SYSCALLS;function ___sys__newselect(nfds,readfds,writefds,exceptfds,timeout){try{var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);var check=function(fd,low,high,val){return fd<32?low&val:high&val};for(var fd=0;fd<nfds;fd++){var mask=1<<fd%32;if(!check(fd,allLow,allHigh,mask)){continue}var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);var flags=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){flags=stream.stream_ops.poll(stream)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys__newselect"]=___sys__newselect;var SOCKFS={mount:function(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this};Module["websocket"].emit=function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}};return FS.createNode(null,"/",16384|511,0)},createSocket:function(family,type,protocol){type&=~526336;var streaming=type==1;if(protocol){assert(streaming==(protocol==6))}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:2,seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock},getSocket:function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock},stream_ops:{poll:function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)},ioctl:function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)},read:function(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length},write:function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)},close:function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)}},nextname:function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current+++"]"},websocket_sock_ops:{createPeer:function(sock,addr,port){var ws;if(typeof addr==="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}var opts=undefined;if(subProtocols!=="null"){subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);opts=ENVIRONMENT_IS_NODE?{"protocol":subProtocols.toString()}:subProtocols}if(runtimeConfig&&null===Module["websocket"]["subprotocol"]){subProtocols="null";opts=undefined}var WebSocketConstructor;if(ENVIRONMENT_IS_NODE){WebSocketConstructor=require("ws")}else{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(23)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!=="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer},getPeer:function(sock,addr,port){return sock.peers[addr+":"+port]},addPeer:function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer},removePeer:function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]},handlePeerEvents:function(sock,peer){var first=true;var handleOpen=function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}};function handleMessage(data){if(typeof data==="string"){var encoder=new TextEncoder;data=encoder.encode(data)}else{assert(data.byteLength!==undefined);if(data.byteLength==0){return}else{data=new Uint8Array(data)}}var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",function(data,flags){if(!flags.binary){return}handleMessage(new Uint8Array(data).buffer)});peer.socket.on("close",function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.on("error",function(error){sock.error=14;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}else{peer.socket.onopen=handleOpen;peer.socket.onclose=function(){Module["websocket"].emit("close",sock.stream.fd)};peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=function(error){sock.error=14;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}}},poll:function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask},ioctl:function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return 28}},close:function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i<peers.length;i++){var peer=sock.peers[peers[i]];try{peer.socket.close()}catch(e){}SOCKFS.websocket_sock_ops.removePeer(sock,peer)}return 0},bind:function(sock,addr,port){if(typeof sock.saddr!=="undefined"||typeof sock.sport!=="undefined"){throw new FS.ErrnoError(28)}sock.saddr=addr;sock.sport=port;if(sock.type===2){if(sock.server){sock.server.close();sock.server=null}try{sock.sock_ops.listen(sock,0)}catch(e){if(!(e instanceof FS.ErrnoError))throw e;if(e.errno!==138)throw e}}},connect:function(sock,addr,port){if(sock.server){throw new FS.ErrnoError(138)}if(typeof sock.daddr!=="undefined"&&typeof sock.dport!=="undefined"){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(dest){if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(7)}else{throw new FS.ErrnoError(30)}}}var peer=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port);sock.daddr=peer.addr;sock.dport=peer.port;throw new FS.ErrnoError(26)},listen:function(sock,backlog){if(!ENVIRONMENT_IS_NODE){throw new FS.ErrnoError(138)}if(sock.server){throw new FS.ErrnoError(28)}var WebSocketServer=require("ws").Server;var host=sock.saddr;sock.server=new WebSocketServer({host:host,port:sock.sport});Module["websocket"].emit("listen",sock.stream.fd);sock.server.on("connection",function(ws){if(sock.type===1){var newsock=SOCKFS.createSocket(sock.family,sock.type,sock.protocol);var peer=SOCKFS.websocket_sock_ops.createPeer(newsock,ws);newsock.daddr=peer.addr;newsock.dport=peer.port;sock.pending.push(newsock);Module["websocket"].emit("connection",newsock.stream.fd)}else{SOCKFS.websocket_sock_ops.createPeer(sock,ws);Module["websocket"].emit("connection",sock.stream.fd)}});sock.server.on("closed",function(){Module["websocket"].emit("close",sock.stream.fd);sock.server=null});sock.server.on("error",function(error){sock.error=23;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"EHOSTUNREACH: Host is unreachable"])})},accept:function(listensock){if(!listensock.server){throw new FS.ErrnoError(28)}var newsock=listensock.pending.shift();newsock.stream.flags=listensock.stream.flags;return newsock},getname:function(sock,peer){var addr,port;if(peer){if(sock.daddr===undefined||sock.dport===undefined){throw new FS.ErrnoError(53)}addr=sock.daddr;port=sock.dport}else{addr=sock.saddr||0;port=sock.sport||0}return{addr:addr,port:port}},sendmsg:function(sock,buffer,offset,length,addr,port){if(sock.type===2){if(addr===undefined||port===undefined){addr=sock.daddr;port=sock.dport}if(addr===undefined||port===undefined){throw new FS.ErrnoError(17)}}else{addr=sock.daddr;port=sock.dport}var dest=SOCKFS.websocket_sock_ops.getPeer(sock,addr,port);if(sock.type===1){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){throw new FS.ErrnoError(53)}else if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(6)}}if(ArrayBuffer.isView(buffer)){offset+=buffer.byteOffset;buffer=buffer.buffer}var data;data=buffer.slice(offset,offset+length);if(sock.type===2){if(!dest||dest.socket.readyState!==dest.socket.OPEN){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){dest=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port)}dest.dgram_send_queue.push(data);return length}}try{dest.socket.send(data);return length}catch(e){throw new FS.ErrnoError(28)}},recvmsg:function(sock,length){if(sock.type===1&&sock.server){throw new FS.ErrnoError(53)}var queued=sock.recv_queue.shift();if(!queued){if(sock.type===1){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(!dest){throw new FS.ErrnoError(53)}else if(dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){return null}else{throw new FS.ErrnoError(6)}}else{throw new FS.ErrnoError(6)}}var queuedLength=queued.data.byteLength||queued.data.length;var queuedOffset=queued.data.byteOffset||0;var queuedBuffer=queued.data.buffer||queued.data;var bytesRead=Math.min(length,queuedLength);var res={buffer:new Uint8Array(queuedBuffer,queuedOffset,bytesRead),addr:queued.addr,port:queued.port};if(sock.type===1&&bytesRead<queuedLength){var bytesRemaining=queuedLength-bytesRead;queued.data=new Uint8Array(queuedBuffer,queuedOffset+bytesRead,bytesRemaining);sock.recv_queue.unshift(queued)}return res}}};Module["SOCKFS"]=SOCKFS;function getSocketFromFD(fd){var socket=SOCKFS.getSocket(fd);if(!socket)throw new FS.ErrnoError(8);return socket}Module["getSocketFromFD"]=getSocketFromFD;var Sockets={BUFFER_SIZE:10240,MAX_BUFFER_SIZE:10485760,nextFd:1,fds:{},nextport:1,maxport:65535,peer:null,connections:{},portmap:{},localAddr:4261412874,addrPool:[33554442,50331658,67108874,83886090,100663306,117440522,134217738,150994954,167772170,184549386,201326602,218103818,234881034]};Module["Sockets"]=Sockets;function inetPton4(str){var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0}Module["inetPton4"]=inetPton4;function jstoi_q(str){return parseInt(str)}Module["jstoi_q"]=jstoi_q;function inetPton6(str){var words;var w,offset,z,i;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.startsWith("::")){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=jstoi_q(words[words.length-4])+jstoi_q(words[words.length-3])*256;words[words.length-3]=jstoi_q(words[words.length-2])+jstoi_q(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w<words.length;w++){if(typeof words[w]==="string"){if(words[w]==="Z"){for(z=0;z<8-words.length+1;z++){parts[w+z]=0}offset=z-1}else{parts[w+offset]=_htons(parseInt(words[w],16))}}else{parts[w+offset]=words[w]}}return[parts[1]<<16|parts[0],parts[3]<<16|parts[2],parts[5]<<16|parts[4],parts[7]<<16|parts[6]]}Module["inetPton6"]=inetPton6;function writeSockaddr(sa,family,addr,port,addrlen){switch(family){case 2:addr=inetPton4(addr);zeroMemory(sa,16);if(addrlen){HEAP32[addrlen>>2]=16}HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=inetPton6(addr);zeroMemory(sa,28);if(addrlen){HEAP32[addrlen>>2]=28}HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);break;default:return 5}return 0}Module["writeSockaddr"]=writeSockaddr;var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name:function(name){var res=inetPton4(name);if(res!==null){return name}res=inetPton6(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,"exceeded max address mappings of 65535");addr="172.29."+(id&255)+"."+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr},lookup_addr:function(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null}};Module["DNS"]=DNS;function ___sys_accept4(fd,addr,addrlen,flags){try{var sock=getSocketFromFD(fd);var newsock=sock.sock_ops.accept(sock);if(addr){var errno=writeSockaddr(addr,newsock.family,DNS.lookup_name(newsock.daddr),newsock.dport,addrlen)}return newsock.stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_accept4"]=___sys_accept4;function ___sys_access(path,amode){try{path=SYSCALLS.getStr(path);return SYSCALLS.doAccess(path,amode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_access"]=___sys_access;var ___sys_acct=function(){return-52};Module["___sys_acct"]=___sys_acct;function inetNtop4(addr){return(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255)}Module["inetNtop4"]=inetNtop4;function inetNtop6(ints){var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=inetNtop4(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word<zstart+longest){if(word===zstart){str+=":";if(zstart===0)str+=":"}continue}}str+=Number(_ntohs(parts[word]&65535)).toString(16);str+=word<7?":":""}return str}Module["inetNtop6"]=inetNtop6;function readSockaddr(sa,salen){var family=HEAP16[sa>>1];var port=_ntohs(HEAPU16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:28}}addr=HEAP32[sa+4>>2];addr=inetNtop4(addr);break;case 10:if(salen!==28){return{errno:28}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=inetNtop6(addr);break;default:return{errno:5}}return{family:family,addr:addr,port:port}}Module["readSockaddr"]=readSockaddr;function getSocketAddress(addrp,addrlen,allowNull){if(allowNull&&addrp===0)return null;var info=readSockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}Module["getSocketAddress"]=getSocketAddress;function ___sys_bind(fd,addr,addrlen){try{var sock=getSocketFromFD(fd);var info=getSocketAddress(addr,addrlen);sock.sock_ops.bind(sock,info.addr,info.port);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_bind"]=___sys_bind;function ___sys_chdir(path){try{path=SYSCALLS.getStr(path);FS.chdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_chdir"]=___sys_chdir;function ___sys_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_chmod"]=___sys_chmod;function ___sys_chown32(path,owner,group){try{path=SYSCALLS.getStr(path);FS.chown(path,owner,group);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_chown32"]=___sys_chown32;function ___sys_connect(fd,addr,addrlen){try{var sock=getSocketFromFD(fd);var info=getSocketAddress(addr,addrlen);sock.sock_ops.connect(sock,info.addr,info.port);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_connect"]=___sys_connect;function ___sys_dup(fd){try{var old=SYSCALLS.getStreamFromFD(fd);return FS.createStream(old,0).fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_dup"]=___sys_dup;function ___sys_dup2(oldfd,suggestFD){try{var old=SYSCALLS.getStreamFromFD(oldfd);if(old.fd===suggestFD)return suggestFD;return SYSCALLS.doDup(old,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_dup2"]=___sys_dup2;function ___sys_dup3(fd,suggestFD,flags){try{var old=SYSCALLS.getStreamFromFD(fd);if(old.fd===suggestFD)return-28;return SYSCALLS.doDup(old,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_dup3"]=___sys_dup3;function ___sys_fadvise64_64(fd,offset,len,advice){return 0}Module["___sys_fadvise64_64"]=___sys_fadvise64_64;function ___sys_fallocate(fd,mode,off_low,off_high,len_low,len_high){try{var stream=SYSCALLS.getStreamFromFD(fd);var offset=SYSCALLS.get64(off_low,off_high);var len=SYSCALLS.get64(len_low,len_high);FS.allocate(stream,offset,len);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_fallocate"]=___sys_fallocate;function ___sys_fchdir(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.chdir(stream.path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_fchdir"]=___sys_fchdir;function ___sys_fchmod(fd,mode){try{FS.fchmod(fd,mode);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_fchmod"]=___sys_fchmod;function ___sys_fchmodat(dirfd,path,mode,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_fchmodat"]=___sys_fchmodat;function ___sys_fchown32(fd,owner,group){try{FS.fchown(fd,owner,group);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_fchown32"]=___sys_fchown32;function ___sys_fchownat(dirfd,path,owner,group,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);FS.chown(path,owner,group);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_fchownat"]=___sys_fchownat;function ___sys_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.createStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_fcntl64"]=___sys_fcntl64;function ___sys_fdatasync(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_fdatasync"]=___sys_fdatasync;function ___sys_fstat64(fd,buf){try{var stream=SYSCALLS.getStreamFromFD(fd);return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_fstat64"]=___sys_fstat64;function ___sys_fstatat64(dirfd,path,buf,flags){try{path=SYSCALLS.getStr(path);var nofollow=flags&256;var allowEmpty=flags&4096;flags=flags&~4352;path=SYSCALLS.calculateAt(dirfd,path,allowEmpty);return SYSCALLS.doStat(nofollow?FS.lstat:FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_fstatat64"]=___sys_fstatat64;function ___sys_statfs64(path,size,buf){try{path=SYSCALLS.getStr(path);HEAP32[buf+4>>2]=4096;HEAP32[buf+40>>2]=4096;HEAP32[buf+8>>2]=1e6;HEAP32[buf+12>>2]=5e5;HEAP32[buf+16>>2]=5e5;HEAP32[buf+20>>2]=FS.nextInode;HEAP32[buf+24>>2]=1e6;HEAP32[buf+28>>2]=42;HEAP32[buf+44>>2]=2;HEAP32[buf+36>>2]=255;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_statfs64"]=___sys_statfs64;function ___sys_fstatfs64(fd,size,buf){try{var stream=SYSCALLS.getStreamFromFD(fd);return ___sys_statfs64(0,size,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_fstatfs64"]=___sys_fstatfs64;function ___sys_ftruncate64(fd,zero,low,high){try{var length=SYSCALLS.get64(low,high);FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_ftruncate64"]=___sys_ftruncate64;function ___sys_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd);if(size<cwdLengthInBytes+1)return-68;stringToUTF8(cwd,buf,size);return buf}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_getcwd"]=___sys_getcwd;function ___sys_getdents64(fd,dirp,count){try{var stream=SYSCALLS.getStreamFromFD(fd);if(!stream.getdents){stream.getdents=FS.readdir(stream.path)}var struct_size=280;var pos=0;var off=FS.llseek(stream,0,1);var idx=Math.floor(off/struct_size);while(idx<stream.getdents.length&&pos+struct_size<=count){var id;var type;var name=stream.getdents[idx];if(name[0]==="."){id=1;type=4}else{var child=FS.lookupNode(stream.node,name);id=child.id;type=FS.isChrdev(child.mode)?2:FS.isDir(child.mode)?4:FS.isLink(child.mode)?10:8}tempI64=[id>>>0,(tempDouble=id,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[dirp+pos>>2]=tempI64[0],HEAP32[dirp+pos+4>>2]=tempI64[1];tempI64=[(idx+1)*struct_size>>>0,(tempDouble=(idx+1)*struct_size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[dirp+pos+8>>2]=tempI64[0],HEAP32[dirp+pos+12>>2]=tempI64[1];HEAP16[dirp+pos+16>>1]=280;HEAP8[dirp+pos+18>>0]=type;stringToUTF8(name,dirp+pos+19,256);pos+=struct_size;idx+=1}FS.llseek(stream,idx*struct_size,0);return pos}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_getdents64"]=___sys_getdents64;function ___sys_getegid32(){return 0}Module["___sys_getegid32"]=___sys_getegid32;___sys_getegid32.sig="i";function ___sys_geteuid32(){return ___sys_getegid32()}Module["___sys_geteuid32"]=___sys_geteuid32;___sys_geteuid32.sig="i";function ___sys_getgid32(){return ___sys_getegid32()}Module["___sys_getgid32"]=___sys_getgid32;___sys_getgid32.sig="i";function ___sys_getgroups32(size,list){if(size<1)return-28;HEAP32[list>>2]=0;return 1}Module["___sys_getgroups32"]=___sys_getgroups32;var ___sys_getitimer=function(){return-52};Module["___sys_getitimer"]=___sys_getitimer;function ___sys_getpeername(fd,addr,addrlen){try{var sock=getSocketFromFD(fd);if(!sock.daddr){return-53}var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport,addrlen);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_getpeername"]=___sys_getpeername;function ___sys_getpgid(pid){if(pid&&pid!==42)return-71;return 42}Module["___sys_getpgid"]=___sys_getpgid;function ___sys_getpid(){return 42}Module["___sys_getpid"]=___sys_getpid;function ___sys_getppid(){return 1}Module["___sys_getppid"]=___sys_getppid;function ___sys_getpriority(){return 0}Module["___sys_getpriority"]=___sys_getpriority;function ___sys_getresgid32(ruid,euid,suid){try{HEAP32[ruid>>2]=0;HEAP32[euid>>2]=0;HEAP32[suid>>2]=0;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_getresgid32"]=___sys_getresgid32;___sys_getresgid32.sig="iiii";function ___sys_getresuid32(a0,a1,a2){return ___sys_getresgid32(a0,a1,a2)}Module["___sys_getresuid32"]=___sys_getresuid32;___sys_getresuid32.sig="iiii";function ___sys_getrusage(who,usage){try{zeroMemory(usage,136);HEAP32[usage>>2]=1;HEAP32[usage+4>>2]=2;HEAP32[usage+8>>2]=3;HEAP32[usage+12>>2]=4;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_getrusage"]=___sys_getrusage;function ___sys_getsid(pid){if(pid&&pid!==42)return-71;return 42}Module["___sys_getsid"]=___sys_getsid;function ___sys_getsockname(fd,addr,addrlen){try{err("__sys_getsockname "+fd);var sock=getSocketFromFD(fd);var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||"0.0.0.0"),sock.sport,addrlen);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_getsockname"]=___sys_getsockname;function ___sys_getsockopt(fd,level,optname,optval,optlen){try{var sock=getSocketFromFD(fd);if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-50}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_getsockopt"]=___sys_getsockopt;function ___sys_getuid32(){return ___sys_getegid32()}Module["___sys_getuid32"]=___sys_getuid32;___sys_getuid32.sig="i";function ___sys_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_ioctl"]=___sys_ioctl;function ___sys_lchown32(path,owner,group){try{path=SYSCALLS.getStr(path);FS.chown(path,owner,group);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_lchown32"]=___sys_lchown32;function ___sys_link(oldpath,newpath){return-34}Module["___sys_link"]=___sys_link;function ___sys_linkat(olddirfd,oldpath,newdirfd,newpath,flags){return-34}Module["___sys_linkat"]=___sys_linkat;function ___sys_listen(fd,backlog){try{var sock=getSocketFromFD(fd);sock.sock_ops.listen(sock,backlog);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_listen"]=___sys_listen;function ___sys_lstat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.lstat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_lstat64"]=___sys_lstat64;function ___sys_madvise1(addr,length,advice){try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_madvise1"]=___sys_madvise1;var ___sys_mincore=function(){return-52};Module["___sys_mincore"]=___sys_mincore;function ___sys_mkdir(path,mode){try{path=SYSCALLS.getStr(path);return SYSCALLS.doMkdir(path,mode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_mkdir"]=___sys_mkdir;function ___sys_mkdirat(dirfd,path,mode){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);return SYSCALLS.doMkdir(path,mode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_mkdirat"]=___sys_mkdirat;function ___sys_mknod(path,mode,dev){try{path=SYSCALLS.getStr(path);return SYSCALLS.doMknod(path,mode,dev)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_mknod"]=___sys_mknod;function ___sys_mknodat(dirfd,path,mode,dev){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);return SYSCALLS.doMknod(path,mode,dev)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_mknodat"]=___sys_mknodat;function ___sys_mlock(addr,len){try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_mlock"]=___sys_mlock;___sys_mlock.sig="iii";function ___sys_mlockall(flags){try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_mlockall"]=___sys_mlockall;___sys_mlockall.sig="ii";function syscallMmap2(addr,len,prot,flags,fd,off){off<<=12;var ptr;var allocated=false;if((flags&16)!==0&&addr%65536!==0){return-28}if((flags&32)!==0){ptr=mmapAlloc(len);if(!ptr)return-48;allocated=true}else{var info=FS.getStream(fd);if(!info)return-8;var res=FS.mmap(info,addr,len,off,prot,flags);ptr=res.ptr;allocated=res.allocated}SYSCALLS.mappings[ptr]={malloc:ptr,len:len,allocated:allocated,fd:fd,prot:prot,flags:flags,offset:off};return ptr}Module["syscallMmap2"]=syscallMmap2;function ___sys_mmap2(addr,len,prot,flags,fd,off){try{return syscallMmap2(addr,len,prot,flags,fd,off)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_mmap2"]=___sys_mmap2;function ___sys_mprotect(addr,len,size){try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_mprotect"]=___sys_mprotect;function ___sys_mremap(old_addr,old_size,new_size,flags){try{return-48}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_mremap"]=___sys_mremap;function ___sys_msync(addr,len,flags){try{var info=SYSCALLS.mappings[addr];if(!info)return 0;SYSCALLS.doMsync(addr,FS.getStream(info.fd),len,info.flags,0);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_msync"]=___sys_msync;function ___sys_munlock(addr,len){try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_munlock"]=___sys_munlock;___sys_munlock.sig="iii";function ___sys_munlockall(){try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_munlockall"]=___sys_munlockall;___sys_munlockall.sig="i";function syscallMunmap(addr,len){var info=SYSCALLS.mappings[addr];if(len===0||!info){return-28}if(len===info.len){var stream=FS.getStream(info.fd);if(stream){if(info.prot&2){SYSCALLS.doMsync(addr,stream,len,info.flags,info.offset)}FS.munmap(stream)}SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}Module["syscallMunmap"]=syscallMunmap;function ___sys_munmap(addr,len){try{return syscallMunmap(addr,len)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_munmap"]=___sys_munmap;function ___sys_nice(inc){return-63}Module["___sys_nice"]=___sys_nice;function ___sys_open(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=varargs?SYSCALLS.get():0;var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_open"]=___sys_open;function ___sys_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?SYSCALLS.get():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_openat"]=___sys_openat;function ___sys_pause(){return-27}Module["___sys_pause"]=___sys_pause;var PIPEFS={BUCKET_BUFFER_SIZE:8192,mount:function(mount){return FS.createNode(null,"/",16384|511,0)},createPipe:function(){var pipe={buckets:[],refcnt:2};pipe.buckets.push({buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:0,roffset:0});var rName=PIPEFS.nextname();var wName=PIPEFS.nextname();var rNode=FS.createNode(PIPEFS.root,rName,4096,0);var wNode=FS.createNode(PIPEFS.root,wName,4096,0);rNode.pipe=pipe;wNode.pipe=pipe;var readableStream=FS.createStream({path:rName,node:rNode,flags:0,seekable:false,stream_ops:PIPEFS.stream_ops});rNode.stream=readableStream;var writableStream=FS.createStream({path:wName,node:wNode,flags:1,seekable:false,stream_ops:PIPEFS.stream_ops});wNode.stream=writableStream;return{readable_fd:readableStream.fd,writable_fd:writableStream.fd}},stream_ops:{poll:function(stream){var pipe=stream.node.pipe;if((stream.flags&2097155)===1){return 256|4}else{if(pipe.buckets.length>0){for(var i=0;i<pipe.buckets.length;i++){var bucket=pipe.buckets[i];if(bucket.offset-bucket.roffset>0){return 64|1}}}}return 0},ioctl:function(stream,request,varargs){return 28},fsync:function(stream){return 28},read:function(stream,buffer,offset,length,position){var pipe=stream.node.pipe;var currentLength=0;for(var i=0;i<pipe.buckets.length;i++){var bucket=pipe.buckets[i];currentLength+=bucket.offset-bucket.roffset}assert(buffer instanceof ArrayBuffer||ArrayBuffer.isView(buffer));var data=buffer.subarray(offset,offset+length);if(length<=0){return 0}if(currentLength==0){throw new FS.ErrnoError(6)}var toRead=Math.min(currentLength,length);var totalRead=toRead;var toRemove=0;for(var i=0;i<pipe.buckets.length;i++){var currBucket=pipe.buckets[i];var bucketSize=currBucket.offset-currBucket.roffset;if(toRead<=bucketSize){var tmpSlice=currBucket.buffer.subarray(currBucket.roffset,currBucket.offset);if(toRead<bucketSize){tmpSlice=tmpSlice.subarray(0,toRead);currBucket.roffset+=toRead}else{toRemove++}data.set(tmpSlice);break}else{var tmpSlice=currBucket.buffer.subarray(currBucket.roffset,currBucket.offset);data.set(tmpSlice);data=data.subarray(tmpSlice.byteLength);toRead-=tmpSlice.byteLength;toRemove++}}if(toRemove&&toRemove==pipe.buckets.length){toRemove--;pipe.buckets[toRemove].offset=0;pipe.buckets[toRemove].roffset=0}pipe.buckets.splice(0,toRemove);return totalRead},write:function(stream,buffer,offset,length,position){var pipe=stream.node.pipe;assert(buffer instanceof ArrayBuffer||ArrayBuffer.isView(buffer));var data=buffer.subarray(offset,offset+length);var dataLen=data.byteLength;if(dataLen<=0){return 0}var currBucket=null;if(pipe.buckets.length==0){currBucket={buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:0,roffset:0};pipe.buckets.push(currBucket)}else{currBucket=pipe.buckets[pipe.buckets.length-1]}assert(currBucket.offset<=PIPEFS.BUCKET_BUFFER_SIZE);var freeBytesInCurrBuffer=PIPEFS.BUCKET_BUFFER_SIZE-currBucket.offset;if(freeBytesInCurrBuffer>=dataLen){currBucket.buffer.set(data,currBucket.offset);currBucket.offset+=dataLen;return dataLen}else if(freeBytesInCurrBuffer>0){currBucket.buffer.set(data.subarray(0,freeBytesInCurrBuffer),currBucket.offset);currBucket.offset+=freeBytesInCurrBuffer;data=data.subarray(freeBytesInCurrBuffer,data.byteLength)}var numBuckets=data.byteLength/PIPEFS.BUCKET_BUFFER_SIZE|0;var remElements=data.byteLength%PIPEFS.BUCKET_BUFFER_SIZE;for(var i=0;i<numBuckets;i++){var newBucket={buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:PIPEFS.BUCKET_BUFFER_SIZE,roffset:0};pipe.buckets.push(newBucket);newBucket.buffer.set(data.subarray(0,PIPEFS.BUCKET_BUFFER_SIZE));data=data.subarray(PIPEFS.BUCKET_BUFFER_SIZE,data.byteLength)}if(remElements>0){var newBucket={buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:data.byteLength,roffset:0};pipe.buckets.push(newBucket);newBucket.buffer.set(data)}return dataLen},close:function(stream){var pipe=stream.node.pipe;pipe.refcnt--;if(pipe.refcnt===0){pipe.buckets=null}}},nextname:function(){if(!PIPEFS.nextname.current){PIPEFS.nextname.current=0}return"pipe["+PIPEFS.nextname.current+++"]"}};Module["PIPEFS"]=PIPEFS;function ___sys_pipe(fdPtr){try{if(fdPtr==0){throw new FS.ErrnoError(21)}var res=PIPEFS.createPipe();HEAP32[fdPtr>>2]=res.readable_fd;HEAP32[fdPtr+4>>2]=res.writable_fd;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_pipe"]=___sys_pipe;var ___sys_pipe2=function(){return-52};Module["___sys_pipe2"]=___sys_pipe2;function ___sys_poll(fds,nfds,timeout){try{var nonzero=0;for(var i=0;i<nfds;i++){var pollfd=fds+8*i;var fd=HEAP32[pollfd>>2];var events=HEAP16[pollfd+4>>1];var mask=32;var stream=FS.getStream(fd);if(stream){mask=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){mask=stream.stream_ops.poll(stream)}}mask&=events|8|16;if(mask)nonzero++;HEAP16[pollfd+6>>1]=mask}return nonzero}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_poll"]=___sys_poll;function ___sys_prlimit64(pid,resource,new_limit,old_limit){try{if(old_limit){HEAP32[old_limit>>2]=-1;HEAP32[old_limit+4>>2]=-1;HEAP32[old_limit+8>>2]=-1;HEAP32[old_limit+12>>2]=-1}return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_prlimit64"]=___sys_prlimit64;var ___sys_pselect6=function(){return-52};Module["___sys_pselect6"]=___sys_pselect6;function ___sys_readlink(path,buf,bufsize){try{path=SYSCALLS.getStr(path);return SYSCALLS.doReadlink(path,buf,bufsize)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_readlink"]=___sys_readlink;function ___sys_readlinkat(dirfd,path,buf,bufsize){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);return SYSCALLS.doReadlink(path,buf,bufsize)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_readlinkat"]=___sys_readlinkat;function ___sys_recvfrom(fd,buf,len,flags,addr,addrlen){try{var sock=getSocketFromFD(fd);var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port,addrlen)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_recvfrom"]=___sys_recvfrom;var ___sys_recvmmsg=function(){return-52};Module["___sys_recvmmsg"]=___sys_recvmmsg;function ___sys_recvmsg(fd,message,flags){try{var sock=getSocketFromFD(fd);var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var msg=sock.sock_ops.recvmsg(sock,total);if(!msg)return 0;var name=HEAP32[message>>2];if(name){var errno=writeSockaddr(name,sock.family,DNS.lookup_name(msg.addr),msg.port)}var bytesRead=0;var bytesRemaining=msg.buffer.byteLength;for(var i=0;bytesRemaining>0&&i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];if(!iovlen){continue}var length=Math.min(iovlen,bytesRemaining);var buf=msg.buffer.subarray(bytesRead,bytesRead+length);HEAPU8.set(buf,iovbase+bytesRead);bytesRead+=length;bytesRemaining-=length}return bytesRead}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_recvmsg"]=___sys_recvmsg;function ___sys_rename(old_path,new_path){try{old_path=SYSCALLS.getStr(old_path);new_path=SYSCALLS.getStr(new_path);FS.rename(old_path,new_path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_rename"]=___sys_rename;function ___sys_renameat(olddirfd,oldpath,newdirfd,newpath){try{oldpath=SYSCALLS.getStr(oldpath);newpath=SYSCALLS.getStr(newpath);oldpath=SYSCALLS.calculateAt(olddirfd,oldpath);newpath=SYSCALLS.calculateAt(newdirfd,newpath);FS.rename(oldpath,newpath);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_renameat"]=___sys_renameat;function ___sys_rmdir(path){try{path=SYSCALLS.getStr(path);FS.rmdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_rmdir"]=___sys_rmdir;var ___sys_sendmmsg=function(){return-52};Module["___sys_sendmmsg"]=___sys_sendmmsg;function ___sys_sendmsg(fd,message,flags){try{var sock=getSocketFromFD(fd);var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var addr,port;var name=HEAP32[message>>2];var namelen=HEAP32[message+4>>2];if(name){var info=readSockaddr(name,namelen);if(info.errno)return-info.errno;port=info.port;addr=DNS.lookup_addr(info.addr)||info.addr}var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var view=new Uint8Array(total);var offset=0;for(var i=0;i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];for(var j=0;j<iovlen;j++){view[offset++]=HEAP8[iovbase+j>>0]}}return sock.sock_ops.sendmsg(sock,view,0,total,addr,port)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_sendmsg"]=___sys_sendmsg;function ___sys_sendto(fd,message,length,flags,addr,addr_len){try{var sock=getSocketFromFD(fd);var dest=getSocketAddress(addr,addr_len,true);if(!dest){return FS.write(sock.stream,HEAP8,message,length)}else{return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_sendto"]=___sys_sendto;function ___sys_setdomainname(name,size){return-63}Module["___sys_setdomainname"]=___sys_setdomainname;var ___sys_setitimer=function(){return-52};Module["___sys_setitimer"]=___sys_setitimer;function ___sys_setpgid(pid,pgid){if(pid&&pid!==42)return-71;if(pgid&&pgid!==42)return-63;return 0}Module["___sys_setpgid"]=___sys_setpgid;function ___sys_setpriority(){return-63}Module["___sys_setpriority"]=___sys_setpriority;function ___sys_setrlimit(varargs){return 0}Module["___sys_setrlimit"]=___sys_setrlimit;function ___sys_setsid(){return 0}Module["___sys_setsid"]=___sys_setsid;function ___sys_setsockopt(fd){try{return-50}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_setsockopt"]=___sys_setsockopt;function ___sys_shutdown(fd,how){try{getSocketFromFD(fd);return-52}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_shutdown"]=___sys_shutdown;function ___sys_socket(domain,type,protocol){try{var sock=SOCKFS.createSocket(domain,type,protocol);return sock.stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_socket"]=___sys_socket;var ___sys_socketpair=function(){return-52};Module["___sys_socketpair"]=___sys_socketpair;function ___sys_stat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_stat64"]=___sys_stat64;function ___sys_symlink(target,linkpath){try{target=SYSCALLS.getStr(target);linkpath=SYSCALLS.getStr(linkpath);FS.symlink(target,linkpath);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_symlink"]=___sys_symlink;function ___sys_symlinkat(target,newdirfd,linkpath){try{linkpath=SYSCALLS.calculateAt(newdirfd,linkpath);FS.symlink(target,linkpath);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_symlinkat"]=___sys_symlinkat;function ___sys_sync(){return 0}Module["___sys_sync"]=___sys_sync;function ___sys_truncate64(path,zero,low,high){try{path=SYSCALLS.getStr(path);var length=SYSCALLS.get64(low,high);FS.truncate(path,length);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_truncate64"]=___sys_truncate64;function ___sys_ugetrlimit(resource,rlim){try{HEAP32[rlim>>2]=-1;HEAP32[rlim+4>>2]=-1;HEAP32[rlim+8>>2]=-1;HEAP32[rlim+12>>2]=-1;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_ugetrlimit"]=___sys_ugetrlimit;function ___sys_umask(mask){try{var old=SYSCALLS.umask;SYSCALLS.umask=mask;return old}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_umask"]=___sys_umask;function ___sys_uname(buf){try{if(!buf)return-21;var layout={"__size__":390,"domainname":325,"machine":260,"nodename":65,"release":130,"sysname":0,"version":195};var copyString=function(element,value){var offset=layout[element];writeAsciiToMemory(value,buf+offset)};copyString("sysname","Emscripten");copyString("nodename","emscripten");copyString("release","1.0");copyString("version","#1");copyString("machine","wasm32");return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_uname"]=___sys_uname;function ___sys_unlink(path){try{path=SYSCALLS.getStr(path);FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_unlink"]=___sys_unlink;function ___sys_unlinkat(dirfd,path,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(flags===0){FS.unlink(path)}else if(flags===512){FS.rmdir(path)}else{abort("Invalid flags passed to unlinkat")}return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_unlinkat"]=___sys_unlinkat;function ___sys_utimensat(dirfd,path,times,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path,true);var seconds=HEAP32[times>>2];var nanoseconds=HEAP32[times+4>>2];var atime=seconds*1e3+nanoseconds/(1e3*1e3);times+=8;seconds=HEAP32[times>>2];nanoseconds=HEAP32[times+4>>2];var mtime=seconds*1e3+nanoseconds/(1e3*1e3);FS.utime(path,atime,mtime);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_utimensat"]=___sys_utimensat;var ___sys_wait4=function(){return-52};Module["___sys_wait4"]=___sys_wait4;function __emscripten_throw_longjmp(){throw"longjmp"}Module["__emscripten_throw_longjmp"]=__emscripten_throw_longjmp;__emscripten_throw_longjmp.sig="v";function _abort(){abort()}Module["_abort"]=_abort;_abort.sig="v";var AL={QUEUE_INTERVAL:25,QUEUE_LOOKAHEAD:.1,DEVICE_NAME:"Emscripten OpenAL",CAPTURE_DEVICE_NAME:"Emscripten OpenAL capture",ALC_EXTENSIONS:{ALC_SOFT_pause_device:true,ALC_SOFT_HRTF:true},AL_EXTENSIONS:{AL_EXT_float32:true,AL_SOFT_loop_points:true,AL_SOFT_source_length:true,AL_EXT_source_distance_model:true,AL_SOFT_source_spatialize:true},_alcErr:0,alcErr:0,deviceRefCounts:{},alcStringCache:{},paused:false,stringCache:{},contexts:{},currentCtx:null,buffers:{0:{id:0,refCount:0,audioBuf:null,frequency:0,bytesPerSample:2,channels:1,length:0}},paramArray:[],_nextId:1,newId:function(){return AL.freeIds.length>0?AL.freeIds.pop():AL._nextId++},freeIds:[],scheduleContextAudio:function(ctx){if(Browser.mainLoop.timingMode===1&&document["visibilityState"]!="visible"){return}for(var i in ctx.sources){AL.scheduleSourceAudio(ctx.sources[i])}},scheduleSourceAudio:function(src,lookahead){if(Browser.mainLoop.timingMode===1&&document["visibilityState"]!="visible"){return}if(src.state!==4114){return}var currentTime=AL.updateSourceTime(src);var startTime=src.bufStartTime;var startOffset=src.bufOffset;var bufCursor=src.bufsProcessed;for(var i=0;i<src.audioQueue.length;i++){var audioSrc=src.audioQueue[i];startTime=audioSrc._startTime+audioSrc._duration;startOffset=0;bufCursor+=audioSrc._skipCount+1}if(!lookahead){lookahead=AL.QUEUE_LOOKAHEAD}var lookaheadTime=currentTime+lookahead;var skipCount=0;while(startTime<lookaheadTime){if(bufCursor>=src.bufQueue.length){if(src.looping){bufCursor%=src.bufQueue.length}else{break}}var buf=src.bufQueue[bufCursor%src.bufQueue.length];if(buf.length===0){skipCount++;if(skipCount===src.bufQueue.length){break}}else{var audioSrc=src.context.audioCtx.createBufferSource();audioSrc.buffer=buf.audioBuf;audioSrc.playbackRate.value=src.playbackRate;if(buf.audioBuf._loopStart||buf.audioBuf._loopEnd){audioSrc.loopStart=buf.audioBuf._loopStart;audioSrc.loopEnd=buf.audioBuf._loopEnd}var duration=0;if(src.type===4136&&src.looping){duration=Number.POSITIVE_INFINITY;audioSrc.loop=true;if(buf.audioBuf._loopStart){audioSrc.loopStart=buf.audioBuf._loopStart}if(buf.audioBuf._loopEnd){audioSrc.loopEnd=buf.audioBuf._loopEnd}}else{duration=(buf.audioBuf.duration-startOffset)/src.playbackRate}audioSrc._startOffset=startOffset;audioSrc._duration=duration;audioSrc._skipCount=skipCount;skipCount=0;audioSrc.connect(src.gain);if(typeof audioSrc.start!=="undefined"){startTime=Math.max(startTime,src.context.audioCtx.currentTime);audioSrc.start(startTime,startOffset)}else if(typeof audioSrc.noteOn!=="undefined"){startTime=Math.max(startTime,src.context.audioCtx.currentTime);audioSrc.noteOn(startTime)}audioSrc._startTime=startTime;src.audioQueue.push(audioSrc);startTime+=duration}startOffset=0;bufCursor++}},updateSourceTime:function(src){var currentTime=src.context.audioCtx.currentTime;if(src.state!==4114){return currentTime}if(!isFinite(src.bufStartTime)){src.bufStartTime=currentTime-src.bufOffset/src.playbackRate;src.bufOffset=0}var nextStartTime=0;while(src.audioQueue.length){var audioSrc=src.audioQueue[0];src.bufsProcessed+=audioSrc._skipCount;nextStartTime=audioSrc._startTime+audioSrc._duration;if(currentTime<nextStartTime){break}src.audioQueue.shift();src.bufStartTime=nextStartTime;src.bufOffset=0;src.bufsProcessed++}if(src.bufsProcessed>=src.bufQueue.length&&!src.looping){AL.setSourceState(src,4116)}else if(src.type===4136&&src.looping){var buf=src.bufQueue[0];if(buf.length===0){src.bufOffset=0}else{var delta=(currentTime-src.bufStartTime)*src.playbackRate;var loopStart=buf.audioBuf._loopStart||0;var loopEnd=buf.audioBuf._loopEnd||buf.audioBuf.duration;if(loopEnd<=loopStart){loopEnd=buf.audioBuf.duration}if(delta<loopEnd){src.bufOffset=delta}else{src.bufOffset=loopStart+(delta-loopStart)%(loopEnd-loopStart)}}}else if(src.audioQueue[0]){src.bufOffset=(currentTime-src.audioQueue[0]._startTime)*src.playbackRate}else{if(src.type!==4136&&src.looping){var srcDuration=AL.sourceDuration(src)/src.playbackRate;if(srcDuration>0){src.bufStartTime+=Math.floor((currentTime-src.bufStartTime)/srcDuration)*srcDuration}}for(var i=0;i<src.bufQueue.length;i++){if(src.bufsProcessed>=src.bufQueue.length){if(src.looping){src.bufsProcessed%=src.bufQueue.length}else{AL.setSourceState(src,4116);break}}var buf=src.bufQueue[src.bufsProcessed];if(buf.length>0){nextStartTime=src.bufStartTime+buf.audioBuf.duration/src.playbackRate;if(currentTime<nextStartTime){src.bufOffset=(currentTime-src.bufStartTime)*src.playbackRate;break}src.bufStartTime=nextStartTime}src.bufOffset=0;src.bufsProcessed++}}return currentTime},cancelPendingSourceAudio:function(src){AL.updateSourceTime(src);for(var i=1;i<src.audioQueue.length;i++){var audioSrc=src.audioQueue[i];audioSrc.stop()}if(src.audioQueue.length>1){src.audioQueue.length=1}},stopSourceAudio:function(src){for(var i=0;i<src.audioQueue.length;i++){src.audioQueue[i].stop()}src.audioQueue.length=0},setSourceState:function(src,state){if(state===4114){if(src.state===4114||src.state==4116){src.bufsProcessed=0;src.bufOffset=0}else{}AL.stopSourceAudio(src);src.state=4114;src.bufStartTime=Number.NEGATIVE_INFINITY;AL.scheduleSourceAudio(src)}else if(state===4115){if(src.state===4114){AL.updateSourceTime(src);AL.stopSourceAudio(src);src.state=4115}}else if(state===4116){if(src.state!==4113){src.state=4116;src.bufsProcessed=src.bufQueue.length;src.bufStartTime=Number.NEGATIVE_INFINITY;src.bufOffset=0;AL.stopSourceAudio(src)}}else if(state===4113){if(src.state!==4113){src.state=4113;src.bufsProcessed=0;src.bufStartTime=Number.NEGATIVE_INFINITY;src.bufOffset=0;AL.stopSourceAudio(src)}}},initSourcePanner:function(src){if(src.type===4144){return}var templateBuf=AL.buffers[0];for(var i=0;i<src.bufQueue.length;i++){if(src.bufQueue[i].id!==0){templateBuf=src.bufQueue[i];break}}if(src.spatialize===1||src.spatialize===2&&templateBuf.channels===1){if(src.panner){return}src.panner=src.context.audioCtx.createPanner();AL.updateSourceGlobal(src);AL.updateSourceSpace(src);src.panner.connect(src.context.gain);src.gain.disconnect();src.gain.connect(src.panner)}else{if(!src.panner){return}src.panner.disconnect();src.gain.disconnect();src.gain.connect(src.context.gain);src.panner=null}},updateContextGlobal:function(ctx){for(var i in ctx.sources){AL.updateSourceGlobal(ctx.sources[i])}},updateSourceGlobal:function(src){var panner=src.panner;if(!panner){return}panner.refDistance=src.refDistance;panner.maxDistance=src.maxDistance;panner.rolloffFactor=src.rolloffFactor;panner.panningModel=src.context.hrtf?"HRTF":"equalpower";var distanceModel=src.context.sourceDistanceModel?src.distanceModel:src.context.distanceModel;switch(distanceModel){case 0:panner.distanceModel="inverse";panner.refDistance=3.40282e38;break;case 53249:case 53250:panner.distanceModel="inverse";break;case 53251:case 53252:panner.distanceModel="linear";break;case 53253:case 53254:panner.distanceModel="exponential";break}},updateListenerSpace:function(ctx){var listener=ctx.audioCtx.listener;if(listener.positionX){listener.positionX.value=ctx.listener.position[0];listener.positionY.value=ctx.listener.position[1];listener.positionZ.value=ctx.listener.position[2]}else{listener.setPosition(ctx.listener.position[0],ctx.listener.position[1],ctx.listener.position[2])}if(listener.forwardX){listener.forwardX.value=ctx.listener.direction[0];listener.forwardY.value=ctx.listener.direction[1];listener.forwardZ.value=ctx.listener.direction[2];listener.upX.value=ctx.listener.up[0];listener.upY.value=ctx.listener.up[1];listener.upZ.value=ctx.listener.up[2]}else{listener.setOrientation(ctx.listener.direction[0],ctx.listener.direction[1],ctx.listener.direction[2],ctx.listener.up[0],ctx.listener.up[1],ctx.listener.up[2])}for(var i in ctx.sources){AL.updateSourceSpace(ctx.sources[i])}},updateSourceSpace:function(src){if(!src.panner){return}var panner=src.panner;var posX=src.position[0];var posY=src.position[1];var posZ=src.position[2];var dirX=src.direction[0];var dirY=src.direction[1];var dirZ=src.direction[2];var listener=src.context.listener;var lPosX=listener.position[0];var lPosY=listener.position[1];var lPosZ=listener.position[2];if(src.relative){var lBackX=-listener.direction[0];var lBackY=-listener.direction[1];var lBackZ=-listener.direction[2];var lUpX=listener.up[0];var lUpY=listener.up[1];var lUpZ=listener.up[2];var inverseMagnitude=function(x,y,z){var length=Math.sqrt(x*x+y*y+z*z);if(length<Number.EPSILON){return 0}return 1/length};var invMag=inverseMagnitude(lBackX,lBackY,lBackZ);lBackX*=invMag;lBackY*=invMag;lBackZ*=invMag;invMag=inverseMagnitude(lUpX,lUpY,lUpZ);lUpX*=invMag;lUpY*=invMag;lUpZ*=invMag;var lRightX=lUpY*lBackZ-lUpZ*lBackY;var lRightY=lUpZ*lBackX-lUpX*lBackZ;var lRightZ=lUpX*lBackY-lUpY*lBackX;invMag=inverseMagnitude(lRightX,lRightY,lRightZ);lRightX*=invMag;lRightY*=invMag;lRightZ*=invMag;lUpX=lBackY*lRightZ-lBackZ*lRightY;lUpY=lBackZ*lRightX-lBackX*lRightZ;lUpZ=lBackX*lRightY-lBackY*lRightX;var oldX=dirX;var oldY=dirY;var oldZ=dirZ;dirX=oldX*lRightX+oldY*lUpX+oldZ*lBackX;dirY=oldX*lRightY+oldY*lUpY+oldZ*lBackY;dirZ=oldX*lRightZ+oldY*lUpZ+oldZ*lBackZ;oldX=posX;oldY=posY;oldZ=posZ;posX=oldX*lRightX+oldY*lUpX+oldZ*lBackX;posY=oldX*lRightY+oldY*lUpY+oldZ*lBackY;posZ=oldX*lRightZ+oldY*lUpZ+oldZ*lBackZ;posX+=lPosX;posY+=lPosY;posZ+=lPosZ}if(panner.positionX){panner.positionX.value=posX;panner.positionY.value=posY;panner.positionZ.value=posZ}else{panner.setPosition(posX,posY,posZ)}if(panner.orientationX){panner.orientationX.value=dirX;panner.orientationY.value=dirY;panner.orientationZ.value=dirZ}else{panner.setOrientation(dirX,dirY,dirZ)}var oldShift=src.dopplerShift;var velX=src.velocity[0];var velY=src.velocity[1];var velZ=src.velocity[2];var lVelX=listener.velocity[0];var lVelY=listener.velocity[1];var lVelZ=listener.velocity[2];if(posX===lPosX&&posY===lPosY&&posZ===lPosZ||velX===lVelX&&velY===lVelY&&velZ===lVelZ){src.dopplerShift=1}else{var speedOfSound=src.context.speedOfSound;var dopplerFactor=src.context.dopplerFactor;var slX=lPosX-posX;var slY=lPosY-posY;var slZ=lPosZ-posZ;var magSl=Math.sqrt(slX*slX+slY*slY+slZ*slZ);var vls=(slX*lVelX+slY*lVelY+slZ*lVelZ)/magSl;var vss=(slX*velX+slY*velY+slZ*velZ)/magSl;vls=Math.min(vls,speedOfSound/dopplerFactor);vss=Math.min(vss,speedOfSound/dopplerFactor);src.dopplerShift=(speedOfSound-dopplerFactor*vls)/(speedOfSound-dopplerFactor*vss)}if(src.dopplerShift!==oldShift){AL.updateSourceRate(src)}},updateSourceRate:function(src){if(src.state===4114){AL.cancelPendingSourceAudio(src);var audioSrc=src.audioQueue[0];if(!audioSrc){return}var duration;if(src.type===4136&&src.looping){duration=Number.POSITIVE_INFINITY}else{duration=(audioSrc.buffer.duration-audioSrc._startOffset)/src.playbackRate}audioSrc._duration=duration;audioSrc.playbackRate.value=src.playbackRate;AL.scheduleSourceAudio(src)}},sourceDuration:function(src){var length=0;for(var i=0;i<src.bufQueue.length;i++){var audioBuf=src.bufQueue[i].audioBuf;length+=audioBuf?audioBuf.duration:0}return length},sourceTell:function(src){AL.updateSourceTime(src);var offset=0;for(var i=0;i<src.bufsProcessed;i++){offset+=src.bufQueue[i].audioBuf.duration}offset+=src.bufOffset;return offset},sourceSeek:function(src,offset){var playing=src.state==4114;if(playing){AL.setSourceState(src,4113)}if(src.bufQueue[src.bufsProcessed].audioBuf!==null){src.bufsProcessed=0;while(offset>src.bufQueue[src.bufsProcessed].audioBuf.duration){offset-=src.bufQueue[src.bufsProcessed].audiobuf.duration;src.bufsProcessed++}src.bufOffset=offset}if(playing){AL.setSourceState(src,4114)}},getGlobalParam:function(funcname,param){if(!AL.currentCtx){return null}switch(param){case 49152:return AL.currentCtx.dopplerFactor;case 49155:return AL.currentCtx.speedOfSound;case 53248:return AL.currentCtx.distanceModel;default:AL.currentCtx.err=40962;return null}},setGlobalParam:function(funcname,param,value){if(!AL.currentCtx){return}switch(param){case 49152:if(!Number.isFinite(value)||value<0){AL.currentCtx.err=40963;return}AL.currentCtx.dopplerFactor=value;AL.updateListenerSpace(AL.currentCtx);break;case 49155:if(!Number.isFinite(value)||value<=0){AL.currentCtx.err=40963;return}AL.currentCtx.speedOfSound=value;AL.updateListenerSpace(AL.currentCtx);break;case 53248:switch(value){case 0:case 53249:case 53250:case 53251:case 53252:case 53253:case 53254:AL.currentCtx.distanceModel=value;AL.updateContextGlobal(AL.currentCtx);break;default:AL.currentCtx.err=40963;return}break;default:AL.currentCtx.err=40962;return}},getListenerParam:function(funcname,param){if(!AL.currentCtx){return null}switch(param){case 4100:return AL.currentCtx.listener.position;case 4102:return AL.currentCtx.listener.velocity;case 4111:return AL.currentCtx.listener.direction.concat(AL.currentCtx.listener.up);case 4106:return AL.currentCtx.gain.gain.value;default:AL.currentCtx.err=40962;return null}},setListenerParam:function(funcname,param,value){if(!AL.currentCtx){return}if(value===null){AL.currentCtx.err=40962;return}var listener=AL.currentCtx.listener;switch(param){case 4100:if(!Number.isFinite(value[0])||!Number.isFinite(value[1])||!Number.isFinite(value[2])){AL.currentCtx.err=40963;return}listener.position[0]=value[0];listener.position[1]=value[1];listener.position[2]=value[2];AL.updateListenerSpace(AL.currentCtx);break;case 4102:if(!Number.isFinite(value[0])||!Number.isFinite(value[1])||!Number.isFinite(value[2])){AL.currentCtx.err=40963;return}listener.velocity[0]=value[0];listener.velocity[1]=value[1];listener.velocity[2]=value[2];AL.updateListenerSpace(AL.currentCtx);break;case 4106:if(!Number.isFinite(value)||value<0){AL.currentCtx.err=40963;return}AL.currentCtx.gain.gain.value=value;break;case 4111:if(!Number.isFinite(value[0])||!Number.isFinite(value[1])||!Number.isFinite(value[2])||!Number.isFinite(value[3])||!Number.isFinite(value[4])||!Number.isFinite(value[5])){AL.currentCtx.err=40963;return}listener.direction[0]=value[0];listener.direction[1]=value[1];listener.direction[2]=value[2];listener.up[0]=value[3];listener.up[1]=value[4];listener.up[2]=value[5];AL.updateListenerSpace(AL.currentCtx);break;default:AL.currentCtx.err=40962;return}},getBufferParam:function(funcname,bufferId,param){if(!AL.currentCtx){return}var buf=AL.buffers[bufferId];if(!buf||bufferId===0){AL.currentCtx.err=40961;return}switch(param){case 8193:return buf.frequency;case 8194:return buf.bytesPerSample*8;case 8195:return buf.channels;case 8196:return buf.length*buf.bytesPerSample*buf.channels;case 8213:if(buf.length===0){return[0,0]}else{return[(buf.audioBuf._loopStart||0)*buf.frequency,(buf.audioBuf._loopEnd||buf.length)*buf.frequency]}default:AL.currentCtx.err=40962;return null}},setBufferParam:function(funcname,bufferId,param,value){if(!AL.currentCtx){return}var buf=AL.buffers[bufferId];if(!buf||bufferId===0){AL.currentCtx.err=40961;return}if(value===null){AL.currentCtx.err=40962;return}switch(param){case 8196:if(value!==0){AL.currentCtx.err=40963;return}break;case 8213:if(value[0]<0||value[0]>buf.length||value[1]<0||value[1]>buf.Length||value[0]>=value[1]){AL.currentCtx.err=40963;return}if(buf.refCount>0){AL.currentCtx.err=40964;return}if(buf.audioBuf){buf.audioBuf._loopStart=value[0]/buf.frequency;buf.audioBuf._loopEnd=value[1]/buf.frequency}break;default:AL.currentCtx.err=40962;return}},getSourceParam:function(funcname,sourceId,param){if(!AL.currentCtx){return null}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return null}switch(param){case 514:return src.relative;case 4097:return src.coneInnerAngle;case 4098:return src.coneOuterAngle;case 4099:return src.pitch;case 4100:return src.position;case 4101:return src.direction;case 4102:return src.velocity;case 4103:return src.looping;case 4105:if(src.type===4136){return src.bufQueue[0].id}else{return 0}case 4106:return src.gain.gain.value;case 4109:return src.minGain;case 4110:return src.maxGain;case 4112:return src.state;case 4117:if(src.bufQueue.length===1&&src.bufQueue[0].id===0){return 0}else{return src.bufQueue.length}case 4118:if(src.bufQueue.length===1&&src.bufQueue[0].id===0||src.looping){return 0}else{return src.bufsProcessed}case 4128:return src.refDistance;case 4129:return src.rolloffFactor;case 4130:return src.coneOuterGain;case 4131:return src.maxDistance;case 4132:return AL.sourceTell(src);case 4133:var offset=AL.sourceTell(src);if(offset>0){offset*=src.bufQueue[0].frequency}return offset;case 4134:var offset=AL.sourceTell(src);if(offset>0){offset*=src.bufQueue[0].frequency*src.bufQueue[0].bytesPerSample}return offset;case 4135:return src.type;case 4628:return src.spatialize;case 8201:var length=0;var bytesPerFrame=0;for(var i=0;i<src.bufQueue.length;i++){length+=src.bufQueue[i].length;if(src.bufQueue[i].id!==0){bytesPerFrame=src.bufQueue[i].bytesPerSample*src.bufQueue[i].channels}}return length*bytesPerFrame;case 8202:var length=0;for(var i=0;i<src.bufQueue.length;i++){length+=src.bufQueue[i].length}return length;case 8203:return AL.sourceDuration(src);case 53248:return src.distanceModel;default:AL.currentCtx.err=40962;return null}},setSourceParam:function(funcname,sourceId,param,value){if(!AL.currentCtx){return}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return}if(value===null){AL.currentCtx.err=40962;return}switch(param){case 514:if(value===1){src.relative=true;AL.updateSourceSpace(src)}else if(value===0){src.relative=false;AL.updateSourceSpace(src)}else{AL.currentCtx.err=40963;return}break;case 4097:if(!Number.isFinite(value)){AL.currentCtx.err=40963;return}src.coneInnerAngle=value;if(src.panner){src.panner.coneInnerAngle=value%360}break;case 4098:if(!Number.isFinite(value)){AL.currentCtx.err=40963;return}src.coneOuterAngle=value;if(src.panner){src.panner.coneOuterAngle=value%360}break;case 4099:if(!Number.isFinite(value)||value<=0){AL.currentCtx.err=40963;return}if(src.pitch===value){break}src.pitch=value;AL.updateSourceRate(src);break;case 4100:if(!Number.isFinite(value[0])||!Number.isFinite(value[1])||!Number.isFinite(value[2])){AL.currentCtx.err=40963;return}src.position[0]=value[0];src.position[1]=value[1];src.position[2]=value[2];AL.updateSourceSpace(src);break;case 4101:if(!Number.isFinite(value[0])||!Number.isFinite(value[1])||!Number.isFinite(value[2])){AL.currentCtx.err=40963;return}src.direction[0]=value[0];src.direction[1]=value[1];src.direction[2]=value[2];AL.updateSourceSpace(src);break;case 4102:if(!Number.isFinite(value[0])||!Number.isFinite(value[1])||!Number.isFinite(value[2])){AL.currentCtx.err=40963;return}src.velocity[0]=value[0];src.velocity[1]=value[1];src.velocity[2]=value[2];AL.updateSourceSpace(src);break;case 4103:if(value===1){src.looping=true;AL.updateSourceTime(src);if(src.type===4136&&src.audioQueue.length>0){var audioSrc=src.audioQueue[0];audioSrc.loop=true;audioSrc._duration=Number.POSITIVE_INFINITY}}else if(value===0){src.looping=false;var currentTime=AL.updateSourceTime(src);if(src.type===4136&&src.audioQueue.length>0){var audioSrc=src.audioQueue[0];audioSrc.loop=false;audioSrc._duration=src.bufQueue[0].audioBuf.duration/src.playbackRate;audioSrc._startTime=currentTime-src.bufOffset/src.playbackRate}}else{AL.currentCtx.err=40963;return}break;case 4105:if(src.state===4114||src.state===4115){AL.currentCtx.err=40964;return}if(value===0){for(var i in src.bufQueue){src.bufQueue[i].refCount--}src.bufQueue.length=1;src.bufQueue[0]=AL.buffers[0];src.bufsProcessed=0;src.type=4144}else{var buf=AL.buffers[value];if(!buf){AL.currentCtx.err=40963;return}for(var i in src.bufQueue){src.bufQueue[i].refCount--}src.bufQueue.length=0;buf.refCount++;src.bufQueue=[buf];src.bufsProcessed=0;src.type=4136}AL.initSourcePanner(src);AL.scheduleSourceAudio(src);break;case 4106:if(!Number.isFinite(value)||value<0){AL.currentCtx.err=40963;return}src.gain.gain.value=value;break;case 4109:if(!Number.isFinite(value)||value<0||value>Math.min(src.maxGain,1)){AL.currentCtx.err=40963;return}src.minGain=value;break;case 4110:if(!Number.isFinite(value)||value<Math.max(0,src.minGain)||value>1){AL.currentCtx.err=40963;return}src.maxGain=value;break;case 4128:if(!Number.isFinite(value)||value<0){AL.currentCtx.err=40963;return}src.refDistance=value;if(src.panner){src.panner.refDistance=value}break;case 4129:if(!Number.isFinite(value)||value<0){AL.currentCtx.err=40963;return}src.rolloffFactor=value;if(src.panner){src.panner.rolloffFactor=value}break;case 4130:if(!Number.isFinite(value)||value<0||value>1){AL.currentCtx.err=40963;return}src.coneOuterGain=value;if(src.panner){src.panner.coneOuterGain=value}break;case 4131:if(!Number.isFinite(value)||value<0){AL.currentCtx.err=40963;return}src.maxDistance=value;if(src.panner){src.panner.maxDistance=value}break;case 4132:if(value<0||value>AL.sourceDuration(src)){AL.currentCtx.err=40963;return}AL.sourceSeek(src,value);break;case 4133:var srcLen=AL.sourceDuration(src);if(srcLen>0){var frequency;for(var bufId in src.bufQueue){if(bufId){frequency=src.bufQueue[bufId].frequency;break}}value/=frequency}if(value<0||value>srcLen){AL.currentCtx.err=40963;return}AL.sourceSeek(src,value);break;case 4134:var srcLen=AL.sourceDuration(src);if(srcLen>0){var bytesPerSec;for(var bufId in src.bufQueue){if(bufId){var buf=src.bufQueue[bufId];bytesPerSec=buf.frequency*buf.bytesPerSample*buf.channels;break}}value/=bytesPerSec}if(value<0||value>srcLen){AL.currentCtx.err=40963;return}AL.sourceSeek(src,value);break;case 4628:if(value!==0&&value!==1&&value!==2){AL.currentCtx.err=40963;return}src.spatialize=value;AL.initSourcePanner(src);break;case 8201:case 8202:case 8203:AL.currentCtx.err=40964;break;case 53248:switch(value){case 0:case 53249:case 53250:case 53251:case 53252:case 53253:case 53254:src.distanceModel=value;if(AL.currentCtx.sourceDistanceModel){AL.updateContextGlobal(AL.currentCtx)}break;default:AL.currentCtx.err=40963;return}break;default:AL.currentCtx.err=40962;return}},captures:{},sharedCaptureAudioCtx:null,requireValidCaptureDevice:function(deviceId,funcname){if(deviceId===0){AL.alcErr=40961;return null}var c=AL.captures[deviceId];if(!c){AL.alcErr=40961;return null}var err=c.mediaStreamError;if(err){AL.alcErr=40961;return null}return c}};Module["AL"]=AL;function _alBuffer3f(bufferId,param,value0,value1,value2){AL.setBufferParam("alBuffer3f",bufferId,param,null)}Module["_alBuffer3f"]=_alBuffer3f;_alBuffer3f.sig="viifff";function _alBuffer3i(bufferId,param,value0,value1,value2){AL.setBufferParam("alBuffer3i",bufferId,param,null)}Module["_alBuffer3i"]=_alBuffer3i;_alBuffer3i.sig="viiiii";function _alBufferData(bufferId,format,pData,size,freq){if(!AL.currentCtx){return}var buf=AL.buffers[bufferId];if(!buf){AL.currentCtx.err=40963;return}if(freq<=0){AL.currentCtx.err=40963;return}var audioBuf=null;try{switch(format){case 4352:if(size>0){audioBuf=AL.currentCtx.audioCtx.createBuffer(1,size,freq);var channel0=audioBuf.getChannelData(0);for(var i=0;i<size;++i){channel0[i]=HEAPU8[pData++]*.0078125-1}}buf.bytesPerSample=1;buf.channels=1;buf.length=size;break;case 4353:if(size>0){audioBuf=AL.currentCtx.audioCtx.createBuffer(1,size>>1,freq);var channel0=audioBuf.getChannelData(0);pData>>=1;for(var i=0;i<size>>1;++i){channel0[i]=HEAP16[pData++]*30517578125e-15}}buf.bytesPerSample=2;buf.channels=1;buf.length=size>>1;break;case 4354:if(size>0){audioBuf=AL.currentCtx.audioCtx.createBuffer(2,size>>1,freq);var channel0=audioBuf.getChannelData(0);var channel1=audioBuf.getChannelData(1);for(var i=0;i<size>>1;++i){channel0[i]=HEAPU8[pData++]*.0078125-1;channel1[i]=HEAPU8[pData++]*.0078125-1}}buf.bytesPerSample=1;buf.channels=2;buf.length=size>>1;break;case 4355:if(size>0){audioBuf=AL.currentCtx.audioCtx.createBuffer(2,size>>2,freq);var channel0=audioBuf.getChannelData(0);var channel1=audioBuf.getChannelData(1);pData>>=1;for(var i=0;i<size>>2;++i){channel0[i]=HEAP16[pData++]*30517578125e-15;channel1[i]=HEAP16[pData++]*30517578125e-15}}buf.bytesPerSample=2;buf.channels=2;buf.length=size>>2;break;case 65552:if(size>0){audioBuf=AL.currentCtx.audioCtx.createBuffer(1,size>>2,freq);var channel0=audioBuf.getChannelData(0);pData>>=2;for(var i=0;i<size>>2;++i){channel0[i]=HEAPF32[pData++]}}buf.bytesPerSample=4;buf.channels=1;buf.length=size>>2;break;case 65553:if(size>0){audioBuf=AL.currentCtx.audioCtx.createBuffer(2,size>>3,freq);var channel0=audioBuf.getChannelData(0);var channel1=audioBuf.getChannelData(1);pData>>=2;for(var i=0;i<size>>3;++i){channel0[i]=HEAPF32[pData++];channel1[i]=HEAPF32[pData++]}}buf.bytesPerSample=4;buf.channels=2;buf.length=size>>3;break;default:AL.currentCtx.err=40963;return}buf.frequency=freq;buf.audioBuf=audioBuf}catch(e){AL.currentCtx.err=40963;return}}Module["_alBufferData"]=_alBufferData;_alBufferData.sig="viiiii";function _alBufferf(bufferId,param,value){AL.setBufferParam("alBufferf",bufferId,param,null)}Module["_alBufferf"]=_alBufferf;_alBufferf.sig="viif";function _alBufferfv(bufferId,param,pValues){if(!AL.currentCtx){return}if(!pValues){AL.currentCtx.err=40963;return}AL.setBufferParam("alBufferfv",bufferId,param,null)}Module["_alBufferfv"]=_alBufferfv;_alBufferfv.sig="viii";function _alBufferi(bufferId,param,value){AL.setBufferParam("alBufferi",bufferId,param,null)}Module["_alBufferi"]=_alBufferi;_alBufferi.sig="viii";function _alBufferiv(bufferId,param,pValues){if(!AL.currentCtx){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 8213:AL.paramArray[0]=HEAP32[pValues>>2];AL.paramArray[1]=HEAP32[pValues+4>>2];AL.setBufferParam("alBufferiv",bufferId,param,AL.paramArray);break;default:AL.setBufferParam("alBufferiv",bufferId,param,null);break}}Module["_alBufferiv"]=_alBufferiv;_alBufferiv.sig="viii";function _alDeleteBuffers(count,pBufferIds){if(!AL.currentCtx){return}for(var i=0;i<count;++i){var bufId=HEAP32[pBufferIds+i*4>>2];if(bufId===0){continue}if(!AL.buffers[bufId]){AL.currentCtx.err=40961;return}if(AL.buffers[bufId].refCount){AL.currentCtx.err=40964;return}}for(var i=0;i<count;++i){var bufId=HEAP32[pBufferIds+i*4>>2];if(bufId===0){continue}AL.deviceRefCounts[AL.buffers[bufId].deviceId]--;delete AL.buffers[bufId];AL.freeIds.push(bufId)}}Module["_alDeleteBuffers"]=_alDeleteBuffers;_alDeleteBuffers.sig="vii";function _alSourcei(sourceId,param,value){switch(param){case 514:case 4097:case 4098:case 4103:case 4105:case 4128:case 4129:case 4131:case 4132:case 4133:case 4134:case 4628:case 8201:case 8202:case 53248:AL.setSourceParam("alSourcei",sourceId,param,value);break;default:AL.setSourceParam("alSourcei",sourceId,param,null);break}}Module["_alSourcei"]=_alSourcei;_alSourcei.sig="viii";function _alDeleteSources(count,pSourceIds){if(!AL.currentCtx){return}for(var i=0;i<count;++i){var srcId=HEAP32[pSourceIds+i*4>>2];if(!AL.currentCtx.sources[srcId]){AL.currentCtx.err=40961;return}}for(var i=0;i<count;++i){var srcId=HEAP32[pSourceIds+i*4>>2];AL.setSourceState(AL.currentCtx.sources[srcId],4116);_alSourcei(srcId,4105,0);delete AL.currentCtx.sources[srcId];AL.freeIds.push(srcId)}}Module["_alDeleteSources"]=_alDeleteSources;_alDeleteSources.sig="vii";function _alDisable(param){if(!AL.currentCtx){return}switch(param){case"AL_SOURCE_DISTANCE_MODEL":AL.currentCtx.sourceDistanceModel=false;AL.updateContextGlobal(AL.currentCtx);break;default:AL.currentCtx.err=40962;return}}Module["_alDisable"]=_alDisable;_alDisable.sig="vi";function _alDistanceModel(model){AL.setGlobalParam("alDistanceModel",53248,model)}Module["_alDistanceModel"]=_alDistanceModel;_alDistanceModel.sig="vi";function _alDopplerFactor(value){AL.setGlobalParam("alDopplerFactor",49152,value)}Module["_alDopplerFactor"]=_alDopplerFactor;_alDopplerFactor.sig="vi";function _alDopplerVelocity(value){warnOnce("alDopplerVelocity() is deprecated, and only kept for compatibility with OpenAL 1.0. Use alSpeedOfSound() instead.");if(!AL.currentCtx){return}if(value<=0){AL.currentCtx.err=40963;return}}Module["_alDopplerVelocity"]=_alDopplerVelocity;_alDopplerVelocity.sig="vi";function _alEnable(param){if(!AL.currentCtx){return}switch(param){case"AL_SOURCE_DISTANCE_MODEL":AL.currentCtx.sourceDistanceModel=true;AL.updateContextGlobal(AL.currentCtx);break;default:AL.currentCtx.err=40962;return}}Module["_alEnable"]=_alEnable;_alEnable.sig="vi";function _alGenBuffers(count,pBufferIds){if(!AL.currentCtx){return}for(var i=0;i<count;++i){var buf={deviceId:AL.currentCtx.deviceId,id:AL.newId(),refCount:0,audioBuf:null,frequency:0,bytesPerSample:2,channels:1,length:0};AL.deviceRefCounts[buf.deviceId]++;AL.buffers[buf.id]=buf;HEAP32[pBufferIds+i*4>>2]=buf.id}}Module["_alGenBuffers"]=_alGenBuffers;_alGenBuffers.sig="vii";function _alGenSources(count,pSourceIds){if(!AL.currentCtx){return}for(var i=0;i<count;++i){var gain=AL.currentCtx.audioCtx.createGain();gain.connect(AL.currentCtx.gain);var src={context:AL.currentCtx,id:AL.newId(),type:4144,state:4113,bufQueue:[AL.buffers[0]],audioQueue:[],looping:false,pitch:1,dopplerShift:1,gain:gain,minGain:0,maxGain:1,panner:null,bufsProcessed:0,bufStartTime:Number.NEGATIVE_INFINITY,bufOffset:0,relative:false,refDistance:1,maxDistance:3.40282e38,rolloffFactor:1,position:[0,0,0],velocity:[0,0,0],direction:[0,0,0],coneOuterGain:0,coneInnerAngle:360,coneOuterAngle:360,distanceModel:53250,spatialize:2,get playbackRate(){return this.pitch*this.dopplerShift}};AL.currentCtx.sources[src.id]=src;HEAP32[pSourceIds+i*4>>2]=src.id}}Module["_alGenSources"]=_alGenSources;_alGenSources.sig="vii";function _alGetBoolean(param){var val=AL.getGlobalParam("alGetBoolean",param);if(val===null){return 0}switch(param){case 49152:case 49155:case 53248:return val!==0?1:0;default:AL.currentCtx.err=40962;return 0}}Module["_alGetBoolean"]=_alGetBoolean;_alGetBoolean.sig="ii";function _alGetBooleanv(param,pValues){var val=AL.getGlobalParam("alGetBooleanv",param);if(val===null||!pValues){return}switch(param){case 49152:case 49155:case 53248:HEAP8[pValues>>0]=val;break;default:AL.currentCtx.err=40962;return}}Module["_alGetBooleanv"]=_alGetBooleanv;_alGetBooleanv.sig="vii";function _alGetBuffer3f(bufferId,param,pValue0,pValue1,pValue2){var val=AL.getBufferParam("alGetBuffer3f",bufferId,param);if(val===null){return}if(!pValue0||!pValue1||!pValue2){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962}Module["_alGetBuffer3f"]=_alGetBuffer3f;_alGetBuffer3f.sig="viiiii";function _alGetBuffer3i(bufferId,param,pValue0,pValue1,pValue2){var val=AL.getBufferParam("alGetBuffer3i",bufferId,param);if(val===null){return}if(!pValue0||!pValue1||!pValue2){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962}Module["_alGetBuffer3i"]=_alGetBuffer3i;_alGetBuffer3i.sig="viiiii";function _alGetBufferf(bufferId,param,pValue){var val=AL.getBufferParam("alGetBufferf",bufferId,param);if(val===null){return}if(!pValue){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962}Module["_alGetBufferf"]=_alGetBufferf;_alGetBufferf.sig="viii";function _alGetBufferfv(bufferId,param,pValues){var val=AL.getBufferParam("alGetBufferfv",bufferId,param);if(val===null){return}if(!pValues){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962}Module["_alGetBufferfv"]=_alGetBufferfv;_alGetBufferfv.sig="viii";function _alGetBufferi(bufferId,param,pValue){var val=AL.getBufferParam("alGetBufferi",bufferId,param);if(val===null){return}if(!pValue){AL.currentCtx.err=40963;return}switch(param){case 8193:case 8194:case 8195:case 8196:HEAP32[pValue>>2]=val;break;default:AL.currentCtx.err=40962;return}}Module["_alGetBufferi"]=_alGetBufferi;_alGetBufferi.sig="viii";function _alGetBufferiv(bufferId,param,pValues){var val=AL.getBufferParam("alGetBufferiv",bufferId,param);if(val===null){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 8193:case 8194:case 8195:case 8196:HEAP32[pValues>>2]=val;break;case 8213:HEAP32[pValues>>2]=val[0];HEAP32[pValues+4>>2]=val[1];break;default:AL.currentCtx.err=40962;return}}Module["_alGetBufferiv"]=_alGetBufferiv;_alGetBufferiv.sig="viii";function _alGetDouble(param){var val=AL.getGlobalParam("alGetDouble",param);if(val===null){return 0}switch(param){case 49152:case 49155:case 53248:return val;default:AL.currentCtx.err=40962;return 0}}Module["_alGetDouble"]=_alGetDouble;_alGetDouble.sig="di";function _alGetDoublev(param,pValues){var val=AL.getGlobalParam("alGetDoublev",param);if(val===null||!pValues){return}switch(param){case 49152:case 49155:case 53248:HEAPF64[pValues>>3]=val;break;default:AL.currentCtx.err=40962;return}}Module["_alGetDoublev"]=_alGetDoublev;_alGetDoublev.sig="vii";function _alGetEnumValue(pEnumName){if(!AL.currentCtx){return 0}if(!pEnumName){AL.currentCtx.err=40963;return 0}var name=UTF8ToString(pEnumName);switch(name){case"AL_BITS":return 8194;case"AL_BUFFER":return 4105;case"AL_BUFFERS_PROCESSED":return 4118;case"AL_BUFFERS_QUEUED":return 4117;case"AL_BYTE_OFFSET":return 4134;case"AL_CHANNELS":return 8195;case"AL_CONE_INNER_ANGLE":return 4097;case"AL_CONE_OUTER_ANGLE":return 4098;case"AL_CONE_OUTER_GAIN":return 4130;case"AL_DIRECTION":return 4101;case"AL_DISTANCE_MODEL":return 53248;case"AL_DOPPLER_FACTOR":return 49152;case"AL_DOPPLER_VELOCITY":return 49153;case"AL_EXPONENT_DISTANCE":return 53253;case"AL_EXPONENT_DISTANCE_CLAMPED":return 53254;case"AL_EXTENSIONS":return 45060;case"AL_FORMAT_MONO16":return 4353;case"AL_FORMAT_MONO8":return 4352;case"AL_FORMAT_STEREO16":return 4355;case"AL_FORMAT_STEREO8":return 4354;case"AL_FREQUENCY":return 8193;case"AL_GAIN":return 4106;case"AL_INITIAL":return 4113;case"AL_INVALID":return-1;case"AL_ILLEGAL_ENUM":case"AL_INVALID_ENUM":return 40962;case"AL_INVALID_NAME":return 40961;case"AL_ILLEGAL_COMMAND":case"AL_INVALID_OPERATION":return 40964;case"AL_INVALID_VALUE":return 40963;case"AL_INVERSE_DISTANCE":return 53249;case"AL_INVERSE_DISTANCE_CLAMPED":return 53250;case"AL_LINEAR_DISTANCE":return 53251;case"AL_LINEAR_DISTANCE_CLAMPED":return 53252;case"AL_LOOPING":return 4103;case"AL_MAX_DISTANCE":return 4131;case"AL_MAX_GAIN":return 4110;case"AL_MIN_GAIN":return 4109;case"AL_NONE":return 0;case"AL_NO_ERROR":return 0;case"AL_ORIENTATION":return 4111;case"AL_OUT_OF_MEMORY":return 40965;case"AL_PAUSED":return 4115;case"AL_PENDING":return 8209;case"AL_PITCH":return 4099;case"AL_PLAYING":return 4114;case"AL_POSITION":return 4100;case"AL_PROCESSED":return 8210;case"AL_REFERENCE_DISTANCE":return 4128;case"AL_RENDERER":return 45059;case"AL_ROLLOFF_FACTOR":return 4129;case"AL_SAMPLE_OFFSET":return 4133;case"AL_SEC_OFFSET":return 4132;case"AL_SIZE":return 8196;case"AL_SOURCE_RELATIVE":return 514;case"AL_SOURCE_STATE":return 4112;case"AL_SOURCE_TYPE":return 4135;case"AL_SPEED_OF_SOUND":return 49155;case"AL_STATIC":return 4136;case"AL_STOPPED":return 4116;case"AL_STREAMING":return 4137;case"AL_UNDETERMINED":return 4144;case"AL_UNUSED":return 8208;case"AL_VELOCITY":return 4102;case"AL_VENDOR":return 45057;case"AL_VERSION":return 45058;case"AL_AUTO_SOFT":return 2;case"AL_SOURCE_DISTANCE_MODEL":return 512;case"AL_SOURCE_SPATIALIZE_SOFT":return 4628;case"AL_LOOP_POINTS_SOFT":return 8213;case"AL_BYTE_LENGTH_SOFT":return 8201;case"AL_SAMPLE_LENGTH_SOFT":return 8202;case"AL_SEC_LENGTH_SOFT":return 8203;case"AL_FORMAT_MONO_FLOAT32":return 65552;case"AL_FORMAT_STEREO_FLOAT32":return 65553;default:AL.currentCtx.err=40963;return 0}}Module["_alGetEnumValue"]=_alGetEnumValue;_alGetEnumValue.sig="ii";function _alGetError(){if(!AL.currentCtx){return 40964}else{var err=AL.currentCtx.err;AL.currentCtx.err=0;return err}}Module["_alGetError"]=_alGetError;_alGetError.sig="i";function _alGetFloat(param){var val=AL.getGlobalParam("alGetFloat",param);if(val===null){return 0}switch(param){case 49152:case 49155:case 53248:return val;default:return 0}}Module["_alGetFloat"]=_alGetFloat;_alGetFloat.sig="fi";function _alGetFloatv(param,pValues){var val=AL.getGlobalParam("alGetFloatv",param);if(val===null||!pValues){return}switch(param){case 49152:case 49155:case 53248:HEAPF32[pValues>>2]=val;break;default:AL.currentCtx.err=40962;return}}Module["_alGetFloatv"]=_alGetFloatv;_alGetFloatv.sig="vii";function _alGetInteger(param){var val=AL.getGlobalParam("alGetInteger",param);if(val===null){return 0}switch(param){case 49152:case 49155:case 53248:return val;default:AL.currentCtx.err=40962;return 0}}Module["_alGetInteger"]=_alGetInteger;_alGetInteger.sig="ii";function _alGetIntegerv(param,pValues){var val=AL.getGlobalParam("alGetIntegerv",param);if(val===null||!pValues){return}switch(param){case 49152:case 49155:case 53248:HEAP32[pValues>>2]=val;break;default:AL.currentCtx.err=40962;return}}Module["_alGetIntegerv"]=_alGetIntegerv;_alGetIntegerv.sig="vii";function _alGetListener3f(param,pValue0,pValue1,pValue2){var val=AL.getListenerParam("alGetListener3f",param);if(val===null){return}if(!pValue0||!pValue1||!pValue2){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4102:HEAPF32[pValue0>>2]=val[0];HEAPF32[pValue1>>2]=val[1];HEAPF32[pValue2>>2]=val[2];break;default:AL.currentCtx.err=40962;return}}Module["_alGetListener3f"]=_alGetListener3f;_alGetListener3f.sig="viiii";function _alGetListener3i(param,pValue0,pValue1,pValue2){var val=AL.getListenerParam("alGetListener3i",param);if(val===null){return}if(!pValue0||!pValue1||!pValue2){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4102:HEAP32[pValue0>>2]=val[0];HEAP32[pValue1>>2]=val[1];HEAP32[pValue2>>2]=val[2];break;default:AL.currentCtx.err=40962;return}}Module["_alGetListener3i"]=_alGetListener3i;_alGetListener3i.sig="viiii";function _alGetListenerf(param,pValue){var val=AL.getListenerParam("alGetListenerf",param);if(val===null){return}if(!pValue){AL.currentCtx.err=40963;return}switch(param){case 4106:HEAPF32[pValue>>2]=val;break;default:AL.currentCtx.err=40962;return}}Module["_alGetListenerf"]=_alGetListenerf;_alGetListenerf.sig="vii";function _alGetListenerfv(param,pValues){var val=AL.getListenerParam("alGetListenerfv",param);if(val===null){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4102:HEAPF32[pValues>>2]=val[0];HEAPF32[pValues+4>>2]=val[1];HEAPF32[pValues+8>>2]=val[2];break;case 4111:HEAPF32[pValues>>2]=val[0];HEAPF32[pValues+4>>2]=val[1];HEAPF32[pValues+8>>2]=val[2];HEAPF32[pValues+12>>2]=val[3];HEAPF32[pValues+16>>2]=val[4];HEAPF32[pValues+20>>2]=val[5];break;default:AL.currentCtx.err=40962;return}}Module["_alGetListenerfv"]=_alGetListenerfv;_alGetListenerfv.sig="vii";function _alGetListeneri(param,pValue){var val=AL.getListenerParam("alGetListeneri",param);if(val===null){return}if(!pValue){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962}Module["_alGetListeneri"]=_alGetListeneri;_alGetListeneri.sig="vii";function _alGetListeneriv(param,pValues){var val=AL.getListenerParam("alGetListeneriv",param);if(val===null){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4102:HEAP32[pValues>>2]=val[0];HEAP32[pValues+4>>2]=val[1];HEAP32[pValues+8>>2]=val[2];break;case 4111:HEAP32[pValues>>2]=val[0];HEAP32[pValues+4>>2]=val[1];HEAP32[pValues+8>>2]=val[2];HEAP32[pValues+12>>2]=val[3];HEAP32[pValues+16>>2]=val[4];HEAP32[pValues+20>>2]=val[5];break;default:AL.currentCtx.err=40962;return}}Module["_alGetListeneriv"]=_alGetListeneriv;_alGetListeneriv.sig="vii";function _alGetSource3f(sourceId,param,pValue0,pValue1,pValue2){var val=AL.getSourceParam("alGetSource3f",sourceId,param);if(val===null){return}if(!pValue0||!pValue1||!pValue2){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4101:case 4102:HEAPF32[pValue0>>2]=val[0];HEAPF32[pValue1>>2]=val[1];HEAPF32[pValue2>>2]=val[2];break;default:AL.currentCtx.err=40962;return}}Module["_alGetSource3f"]=_alGetSource3f;_alGetSource3f.sig="viiiii";function _alGetSource3i(sourceId,param,pValue0,pValue1,pValue2){var val=AL.getSourceParam("alGetSource3i",sourceId,param);if(val===null){return}if(!pValue0||!pValue1||!pValue2){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4101:case 4102:HEAP32[pValue0>>2]=val[0];HEAP32[pValue1>>2]=val[1];HEAP32[pValue2>>2]=val[2];break;default:AL.currentCtx.err=40962;return}}Module["_alGetSource3i"]=_alGetSource3i;_alGetSource3i.sig="viiiii";function _alGetSourcef(sourceId,param,pValue){var val=AL.getSourceParam("alGetSourcef",sourceId,param);if(val===null){return}if(!pValue){AL.currentCtx.err=40963;return}switch(param){case 4097:case 4098:case 4099:case 4106:case 4109:case 4110:case 4128:case 4129:case 4130:case 4131:case 4132:case 4133:case 4134:case 8203:HEAPF32[pValue>>2]=val;break;default:AL.currentCtx.err=40962;return}}Module["_alGetSourcef"]=_alGetSourcef;_alGetSourcef.sig="viii";function _alGetSourcefv(sourceId,param,pValues){var val=AL.getSourceParam("alGetSourcefv",sourceId,param);if(val===null){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 4097:case 4098:case 4099:case 4106:case 4109:case 4110:case 4128:case 4129:case 4130:case 4131:case 4132:case 4133:case 4134:case 8203:HEAPF32[pValues>>2]=val[0];break;case 4100:case 4101:case 4102:HEAPF32[pValues>>2]=val[0];HEAPF32[pValues+4>>2]=val[1];HEAPF32[pValues+8>>2]=val[2];break;default:AL.currentCtx.err=40962;return}}Module["_alGetSourcefv"]=_alGetSourcefv;_alGetSourcefv.sig="viii";function _alGetSourcei(sourceId,param,pValue){var val=AL.getSourceParam("alGetSourcei",sourceId,param);if(val===null){return}if(!pValue){AL.currentCtx.err=40963;return}switch(param){case 514:case 4097:case 4098:case 4103:case 4105:case 4112:case 4117:case 4118:case 4128:case 4129:case 4131:case 4132:case 4133:case 4134:case 4135:case 4628:case 8201:case 8202:case 53248:HEAP32[pValue>>2]=val;break;default:AL.currentCtx.err=40962;return}}Module["_alGetSourcei"]=_alGetSourcei;_alGetSourcei.sig="viii";function _alGetSourceiv(sourceId,param,pValues){var val=AL.getSourceParam("alGetSourceiv",sourceId,param);if(val===null){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 514:case 4097:case 4098:case 4103:case 4105:case 4112:case 4117:case 4118:case 4128:case 4129:case 4131:case 4132:case 4133:case 4134:case 4135:case 4628:case 8201:case 8202:case 53248:HEAP32[pValues>>2]=val;break;case 4100:case 4101:case 4102:HEAP32[pValues>>2]=val[0];HEAP32[pValues+4>>2]=val[1];HEAP32[pValues+8>>2]=val[2];break;default:AL.currentCtx.err=40962;return}}Module["_alGetSourceiv"]=_alGetSourceiv;_alGetSourceiv.sig="viii";function _alGetString(param){if(!AL.currentCtx){return 0}if(AL.stringCache[param]){return AL.stringCache[param]}var ret;switch(param){case 0:ret="No Error";break;case 40961:ret="Invalid Name";break;case 40962:ret="Invalid Enum";break;case 40963:ret="Invalid Value";break;case 40964:ret="Invalid Operation";break;case 40965:ret="Out of Memory";break;case 45057:ret="Emscripten";break;case 45058:ret="1.1";break;case 45059:ret="WebAudio";break;case 45060:ret="";for(var ext in AL.AL_EXTENSIONS){ret=ret.concat(ext);ret=ret.concat(" ")}ret=ret.trim();break;default:AL.currentCtx.err=40962;return 0}ret=allocate(intArrayFromString(ret),ALLOC_NORMAL);AL.stringCache[param]=ret;return ret}Module["_alGetString"]=_alGetString;_alGetString.sig="ii";function _alIsBuffer(bufferId){if(!AL.currentCtx){return false}if(bufferId>AL.buffers.length){return false}if(!AL.buffers[bufferId]){return false}else{return true}}Module["_alIsBuffer"]=_alIsBuffer;_alIsBuffer.sig="ii";function _alIsEnabled(param){if(!AL.currentCtx){return 0}switch(param){case"AL_SOURCE_DISTANCE_MODEL":return AL.currentCtx.sourceDistanceModel?0:1;default:AL.currentCtx.err=40962;return 0}}Module["_alIsEnabled"]=_alIsEnabled;_alIsEnabled.sig="ii";function _alIsExtensionPresent(pExtName){var name=UTF8ToString(pExtName);return AL.AL_EXTENSIONS[name]?1:0}Module["_alIsExtensionPresent"]=_alIsExtensionPresent;_alIsExtensionPresent.sig="ii";function _alIsSource(sourceId){if(!AL.currentCtx){return false}if(!AL.currentCtx.sources[sourceId]){return false}else{return true}}Module["_alIsSource"]=_alIsSource;_alIsSource.sig="ii";function _alListener3f(param,value0,value1,value2){switch(param){case 4100:case 4102:AL.paramArray[0]=value0;AL.paramArray[1]=value1;AL.paramArray[2]=value2;AL.setListenerParam("alListener3f",param,AL.paramArray);break;default:AL.setListenerParam("alListener3f",param,null);break}}Module["_alListener3f"]=_alListener3f;_alListener3f.sig="vifff";function _alListener3i(param,value0,value1,value2){switch(param){case 4100:case 4102:AL.paramArray[0]=value0;AL.paramArray[1]=value1;AL.paramArray[2]=value2;AL.setListenerParam("alListener3i",param,AL.paramArray);break;default:AL.setListenerParam("alListener3i",param,null);break}}Module["_alListener3i"]=_alListener3i;_alListener3i.sig="viiii";function _alListenerf(param,value){switch(param){case 4106:AL.setListenerParam("alListenerf",param,value);break;default:AL.setListenerParam("alListenerf",param,null);break}}Module["_alListenerf"]=_alListenerf;_alListenerf.sig="vif";function _alListenerfv(param,pValues){if(!AL.currentCtx){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4102:AL.paramArray[0]=HEAPF32[pValues>>2];AL.paramArray[1]=HEAPF32[pValues+4>>2];AL.paramArray[2]=HEAPF32[pValues+8>>2];AL.setListenerParam("alListenerfv",param,AL.paramArray);break;case 4111:AL.paramArray[0]=HEAPF32[pValues>>2];AL.paramArray[1]=HEAPF32[pValues+4>>2];AL.paramArray[2]=HEAPF32[pValues+8>>2];AL.paramArray[3]=HEAPF32[pValues+12>>2];AL.paramArray[4]=HEAPF32[pValues+16>>2];AL.paramArray[5]=HEAPF32[pValues+20>>2];AL.setListenerParam("alListenerfv",param,AL.paramArray);break;default:AL.setListenerParam("alListenerfv",param,null);break}}Module["_alListenerfv"]=_alListenerfv;_alListenerfv.sig="vii";function _alListeneri(param,value){AL.setListenerParam("alListeneri",param,null)}Module["_alListeneri"]=_alListeneri;_alListeneri.sig="vii";function _alListeneriv(param,pValues){if(!AL.currentCtx){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4102:AL.paramArray[0]=HEAP32[pValues>>2];AL.paramArray[1]=HEAP32[pValues+4>>2];AL.paramArray[2]=HEAP32[pValues+8>>2];AL.setListenerParam("alListeneriv",param,AL.paramArray);break;case 4111:AL.paramArray[0]=HEAP32[pValues>>2];AL.paramArray[1]=HEAP32[pValues+4>>2];AL.paramArray[2]=HEAP32[pValues+8>>2];AL.paramArray[3]=HEAP32[pValues+12>>2];AL.paramArray[4]=HEAP32[pValues+16>>2];AL.paramArray[5]=HEAP32[pValues+20>>2];AL.setListenerParam("alListeneriv",param,AL.paramArray);break;default:AL.setListenerParam("alListeneriv",param,null);break}}Module["_alListeneriv"]=_alListeneriv;_alListeneriv.sig="vii";function _alSource3f(sourceId,param,value0,value1,value2){switch(param){case 4100:case 4101:case 4102:AL.paramArray[0]=value0;AL.paramArray[1]=value1;AL.paramArray[2]=value2;AL.setSourceParam("alSource3f",sourceId,param,AL.paramArray);break;default:AL.setSourceParam("alSource3f",sourceId,param,null);break}}Module["_alSource3f"]=_alSource3f;_alSource3f.sig="viifff";function _alSource3i(sourceId,param,value0,value1,value2){switch(param){case 4100:case 4101:case 4102:AL.paramArray[0]=value0;AL.paramArray[1]=value1;AL.paramArray[2]=value2;AL.setSourceParam("alSource3i",sourceId,param,AL.paramArray);break;default:AL.setSourceParam("alSource3i",sourceId,param,null);break}}Module["_alSource3i"]=_alSource3i;_alSource3i.sig="viiiii";function _alSourcePause(sourceId){if(!AL.currentCtx){return}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return}AL.setSourceState(src,4115)}Module["_alSourcePause"]=_alSourcePause;_alSourcePause.sig="vi";function _alSourcePausev(count,pSourceIds){if(!AL.currentCtx){return}if(!pSourceIds){AL.currentCtx.err=40963}for(var i=0;i<count;++i){if(!AL.currentCtx.sources[HEAP32[pSourceIds+i*4>>2]]){AL.currentCtx.err=40961;return}}for(var i=0;i<count;++i){AL.setSourceState(HEAP32[pSourceIds+i*4>>2],4115)}}Module["_alSourcePausev"]=_alSourcePausev;_alSourcePausev.sig="vii";function _alSourcePlay(sourceId){if(!AL.currentCtx){return}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return}AL.setSourceState(src,4114)}Module["_alSourcePlay"]=_alSourcePlay;_alSourcePlay.sig="vi";function _alSourcePlayv(count,pSourceIds){if(!AL.currentCtx){return}if(!pSourceIds){AL.currentCtx.err=40963}for(var i=0;i<count;++i){if(!AL.currentCtx.sources[HEAP32[pSourceIds+i*4>>2]]){AL.currentCtx.err=40961;return}}for(var i=0;i<count;++i){AL.setSourceState(HEAP32[pSourceIds+i*4>>2],4114)}}Module["_alSourcePlayv"]=_alSourcePlayv;_alSourcePlayv.sig="vii";function _alSourceQueueBuffers(sourceId,count,pBufferIds){if(!AL.currentCtx){return}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return}if(src.type===4136){AL.currentCtx.err=40964;return}if(count===0){return}var templateBuf=AL.buffers[0];for(var i=0;i<src.bufQueue.length;i++){if(src.bufQueue[i].id!==0){templateBuf=src.bufQueue[i];break}}for(var i=0;i<count;++i){var bufId=HEAP32[pBufferIds+i*4>>2];var buf=AL.buffers[bufId];if(!buf){AL.currentCtx.err=40961;return}if(templateBuf.id!==0&&(buf.frequency!==templateBuf.frequency||buf.bytesPerSample!==templateBuf.bytesPerSample||buf.channels!==templateBuf.channels)){AL.currentCtx.err=40964}}if(src.bufQueue.length===1&&src.bufQueue[0].id===0){src.bufQueue.length=0}src.type=4137;for(var i=0;i<count;++i){var bufId=HEAP32[pBufferIds+i*4>>2];var buf=AL.buffers[bufId];buf.refCount++;src.bufQueue.push(buf)}if(src.looping){AL.cancelPendingSourceAudio(src)}AL.initSourcePanner(src);AL.scheduleSourceAudio(src)}Module["_alSourceQueueBuffers"]=_alSourceQueueBuffers;_alSourceQueueBuffers.sig="viii";function _alSourceRewind(sourceId){if(!AL.currentCtx){return}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return}AL.setSourceState(src,4116);AL.setSourceState(src,4113)}Module["_alSourceRewind"]=_alSourceRewind;_alSourceRewind.sig="vi";function _alSourceRewindv(count,pSourceIds){if(!AL.currentCtx){return}if(!pSourceIds){AL.currentCtx.err=40963}for(var i=0;i<count;++i){if(!AL.currentCtx.sources[HEAP32[pSourceIds+i*4>>2]]){AL.currentCtx.err=40961;return}}for(var i=0;i<count;++i){AL.setSourceState(HEAP32[pSourceIds+i*4>>2],4113)}}Module["_alSourceRewindv"]=_alSourceRewindv;_alSourceRewindv.sig="vii";function _alSourceStop(sourceId){if(!AL.currentCtx){return}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return}AL.setSourceState(src,4116)}Module["_alSourceStop"]=_alSourceStop;_alSourceStop.sig="vi";function _alSourceStopv(count,pSourceIds){if(!AL.currentCtx){return}if(!pSourceIds){AL.currentCtx.err=40963}for(var i=0;i<count;++i){if(!AL.currentCtx.sources[HEAP32[pSourceIds+i*4>>2]]){AL.currentCtx.err=40961;return}}for(var i=0;i<count;++i){AL.setSourceState(HEAP32[pSourceIds+i*4>>2],4116)}}Module["_alSourceStopv"]=_alSourceStopv;_alSourceStopv.sig="vii";function _alSourceUnqueueBuffers(sourceId,count,pBufferIds){if(!AL.currentCtx){return}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return}if(count>(src.bufQueue.length===1&&src.bufQueue[0].id===0?0:src.bufsProcessed)){AL.currentCtx.err=40963;return}if(count===0){return}for(var i=0;i<count;i++){var buf=src.bufQueue.shift();buf.refCount--;HEAP32[pBufferIds+i*4>>2]=buf.id;src.bufsProcessed--}if(src.bufQueue.length===0){src.bufQueue.push(AL.buffers[0])}AL.initSourcePanner(src);AL.scheduleSourceAudio(src)}Module["_alSourceUnqueueBuffers"]=_alSourceUnqueueBuffers;_alSourceUnqueueBuffers.sig="viii";function _alSourcef(sourceId,param,value){switch(param){case 4097:case 4098:case 4099:case 4106:case 4109:case 4110:case 4128:case 4129:case 4130:case 4131:case 4132:case 4133:case 4134:case 8203:AL.setSourceParam("alSourcef",sourceId,param,value);break;default:AL.setSourceParam("alSourcef",sourceId,param,null);break}}Module["_alSourcef"]=_alSourcef;_alSourcef.sig="viif";function _alSourcefv(sourceId,param,pValues){if(!AL.currentCtx){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 4097:case 4098:case 4099:case 4106:case 4109:case 4110:case 4128:case 4129:case 4130:case 4131:case 4132:case 4133:case 4134:case 8203:var val=HEAPF32[pValues>>2];AL.setSourceParam("alSourcefv",sourceId,param,val);break;case 4100:case 4101:case 4102:AL.paramArray[0]=HEAPF32[pValues>>2];AL.paramArray[1]=HEAPF32[pValues+4>>2];AL.paramArray[2]=HEAPF32[pValues+8>>2];AL.setSourceParam("alSourcefv",sourceId,param,AL.paramArray);break;default:AL.setSourceParam("alSourcefv",sourceId,param,null);break}}Module["_alSourcefv"]=_alSourcefv;_alSourcefv.sig="viii";function _alSourceiv(sourceId,param,pValues){if(!AL.currentCtx){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 514:case 4097:case 4098:case 4103:case 4105:case 4128:case 4129:case 4131:case 4132:case 4133:case 4134:case 4628:case 8201:case 8202:case 53248:var val=HEAP32[pValues>>2];AL.setSourceParam("alSourceiv",sourceId,param,val);break;case 4100:case 4101:case 4102:AL.paramArray[0]=HEAP32[pValues>>2];AL.paramArray[1]=HEAP32[pValues+4>>2];AL.paramArray[2]=HEAP32[pValues+8>>2];AL.setSourceParam("alSourceiv",sourceId,param,AL.paramArray);break;default:AL.setSourceParam("alSourceiv",sourceId,param,null);break}}Module["_alSourceiv"]=_alSourceiv;_alSourceiv.sig="viii";function _alSpeedOfSound(value){AL.setGlobalParam("alSpeedOfSound",49155,value)}Module["_alSpeedOfSound"]=_alSpeedOfSound;_alSpeedOfSound.sig="vi";function _alarm(seconds){setTimeout(function(){if(__sigalrm_handler)wasmTable.get(__sigalrm_handler)(0)},seconds*1e3)}Module["_alarm"]=_alarm;function _alcCaptureCloseDevice(deviceId){var c=AL.requireValidCaptureDevice(deviceId,"alcCaptureCloseDevice");if(!c)return false;delete AL.captures[deviceId];AL.freeIds.push(deviceId);if(c.mediaStreamSourceNode)c.mediaStreamSourceNode.disconnect();if(c.mergerNode)c.mergerNode.disconnect();if(c.splitterNode)c.splitterNode.disconnect();if(c.scriptProcessorNode)c.scriptProcessorNode.disconnect();if(c.mediaStream){c.mediaStream.getTracks().forEach(function(track){track.stop()})}delete c.buffers;c.capturedFrameCount=0;c.isCapturing=false;return true}Module["_alcCaptureCloseDevice"]=_alcCaptureCloseDevice;_alcCaptureCloseDevice.sig="ii";function listenOnce(object,event,func){object.addEventListener(event,func,{"once":true})}Module["listenOnce"]=listenOnce;function autoResumeAudioContext(ctx,elements){if(!elements){elements=[document,document.getElementById("canvas")]}["keydown","mousedown","touchstart"].forEach(function(event){elements.forEach(function(element){if(element){listenOnce(element,event,function(){if(ctx.state==="suspended")ctx.resume()})}})})}Module["autoResumeAudioContext"]=autoResumeAudioContext;function _alcCaptureOpenDevice(pDeviceName,requestedSampleRate,format,bufferFrameCapacity){var resolvedDeviceName=AL.CAPTURE_DEVICE_NAME;if(pDeviceName!==0){resolvedDeviceName=UTF8ToString(pDeviceName);if(resolvedDeviceName!==AL.CAPTURE_DEVICE_NAME){AL.alcErr=40965;return 0}}if(bufferFrameCapacity<0){AL.alcErr=40964;return 0}navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia;var has_getUserMedia=navigator.getUserMedia||navigator.mediaDevices&&navigator.mediaDevices.getUserMedia;if(!has_getUserMedia){AL.alcErr=40965;return 0}var AudioContext=window.AudioContext||window.webkitAudioContext;if(!AL.sharedCaptureAudioCtx){try{AL.sharedCaptureAudioCtx=new AudioContext}catch(e){AL.alcErr=40965;return 0}}autoResumeAudioContext(AL.sharedCaptureAudioCtx);var outputChannelCount;switch(format){case 65552:case 4353:case 4352:outputChannelCount=1;break;case 65553:case 4355:case 4354:outputChannelCount=2;break;default:AL.alcErr=40964;return 0}function newF32Array(cap){return new Float32Array(cap)}function newI16Array(cap){return new Int16Array(cap)}function newU8Array(cap){return new Uint8Array(cap)}var requestedSampleType;var newSampleArray;switch(format){case 65552:case 65553:requestedSampleType="f32";newSampleArray=newF32Array;break;case 4353:case 4355:requestedSampleType="i16";newSampleArray=newI16Array;break;case 4352:case 4354:requestedSampleType="u8";newSampleArray=newU8Array;break}var buffers=[];try{for(var chan=0;chan<outputChannelCount;++chan){buffers[chan]=newSampleArray(bufferFrameCapacity)}}catch(e){AL.alcErr=40965;return 0}var newCapture={audioCtx:AL.sharedCaptureAudioCtx,deviceName:resolvedDeviceName,requestedSampleRate:requestedSampleRate,requestedSampleType:requestedSampleType,outputChannelCount:outputChannelCount,inputChannelCount:null,mediaStreamError:null,mediaStreamSourceNode:null,mediaStream:null,mergerNode:null,splitterNode:null,scriptProcessorNode:null,isCapturing:false,buffers:buffers,get bufferFrameCapacity(){return buffers[0].length},capturePlayhead:0,captureReadhead:0,capturedFrameCount:0};var onError=function(mediaStreamError){newCapture.mediaStreamError=mediaStreamError};var onSuccess=function(mediaStream){newCapture.mediaStreamSourceNode=newCapture.audioCtx.createMediaStreamSource(mediaStream);newCapture.mediaStream=mediaStream;var inputChannelCount=1;switch(newCapture.mediaStreamSourceNode.channelCountMode){case"max":inputChannelCount=outputChannelCount;break;case"clamped-max":inputChannelCount=Math.min(outputChannelCount,newCapture.mediaStreamSourceNode.channelCount);break;case"explicit":inputChannelCount=newCapture.mediaStreamSourceNode.channelCount;break}newCapture.inputChannelCount=inputChannelCount;var processorFrameCount=512;newCapture.scriptProcessorNode=newCapture.audioCtx.createScriptProcessor(processorFrameCount,inputChannelCount,outputChannelCount);if(inputChannelCount>outputChannelCount){newCapture.mergerNode=newCapture.audioCtx.createChannelMerger(inputChannelCount);newCapture.mediaStreamSourceNode.connect(newCapture.mergerNode);newCapture.mergerNode.connect(newCapture.scriptProcessorNode)}else if(inputChannelCount<outputChannelCount){newCapture.splitterNode=newCapture.audioCtx.createChannelSplitter(outputChannelCount);newCapture.mediaStreamSourceNode.connect(newCapture.splitterNode);newCapture.splitterNode.connect(newCapture.scriptProcessorNode)}else{newCapture.mediaStreamSourceNode.connect(newCapture.scriptProcessorNode)}newCapture.scriptProcessorNode.connect(newCapture.audioCtx.destination);newCapture.scriptProcessorNode.onaudioprocess=function(audioProcessingEvent){if(!newCapture.isCapturing){return}var c=newCapture;var srcBuf=audioProcessingEvent.inputBuffer;switch(format){case 65552:var channel0=srcBuf.getChannelData(0);for(var i=0;i<srcBuf.length;++i){var wi=(c.capturePlayhead+i)%c.bufferFrameCapacity;c.buffers[0][wi]=channel0[i]}break;case 65553:var channel0=srcBuf.getChannelData(0);var channel1=srcBuf.getChannelData(1);for(var i=0;i<srcBuf.length;++i){var wi=(c.capturePlayhead+i)%c.bufferFrameCapacity;c.buffers[0][wi]=channel0[i];c.buffers[1][wi]=channel1[i]}break;case 4353:var channel0=srcBuf.getChannelData(0);for(var i=0;i<srcBuf.length;++i){var wi=(c.capturePlayhead+i)%c.bufferFrameCapacity;c.buffers[0][wi]=channel0[i]*32767}break;case 4355:var channel0=srcBuf.getChannelData(0);var channel1=srcBuf.getChannelData(1);for(var i=0;i<srcBuf.length;++i){var wi=(c.capturePlayhead+i)%c.bufferFrameCapacity;c.buffers[0][wi]=channel0[i]*32767;c.buffers[1][wi]=channel1[i]*32767}break;case 4352:var channel0=srcBuf.getChannelData(0);for(var i=0;i<srcBuf.length;++i){var wi=(c.capturePlayhead+i)%c.bufferFrameCapacity;c.buffers[0][wi]=(channel0[i]+1)*127}break;case 4354:var channel0=srcBuf.getChannelData(0);var channel1=srcBuf.getChannelData(1);for(var i=0;i<srcBuf.length;++i){var wi=(c.capturePlayhead+i)%c.bufferFrameCapacity;c.buffers[0][wi]=(channel0[i]+1)*127;c.buffers[1][wi]=(channel1[i]+1)*127}break}c.capturePlayhead+=srcBuf.length;c.capturePlayhead%=c.bufferFrameCapacity;c.capturedFrameCount+=srcBuf.length;c.capturedFrameCount=Math.min(c.capturedFrameCount,c.bufferFrameCapacity)}};if(navigator.mediaDevices&&navigator.mediaDevices.getUserMedia){navigator.mediaDevices.getUserMedia({audio:true}).then(onSuccess).catch(onError)}else{navigator.getUserMedia({audio:true},onSuccess,onError)}var id=AL.newId();AL.captures[id]=newCapture;return id}Module["_alcCaptureOpenDevice"]=_alcCaptureOpenDevice;_alcCaptureOpenDevice.sig="iiiii";function _alcCaptureSamples(deviceId,pFrames,requestedFrameCount){var c=AL.requireValidCaptureDevice(deviceId,"alcCaptureSamples");if(!c)return;var dstfreq=c.requestedSampleRate;var srcfreq=c.audioCtx.sampleRate;var fratio=srcfreq/dstfreq;if(requestedFrameCount<0||requestedFrameCount>c.capturedFrameCount/fratio){err("alcCaptureSamples() with invalid bufferSize");AL.alcErr=40964;return}function setF32Sample(i,sample){HEAPF32[pFrames+4*i>>2]=sample}function setI16Sample(i,sample){HEAP16[pFrames+2*i>>1]=sample}function setU8Sample(i,sample){HEAP8[pFrames+i>>0]=sample}var setSample;switch(c.requestedSampleType){case"f32":setSample=setF32Sample;break;case"i16":setSample=setI16Sample;break;case"u8":setSample=setU8Sample;break;default:return}if(Math.floor(fratio)==fratio){for(var i=0,frame_i=0;frame_i<requestedFrameCount;++frame_i){for(var chan=0;chan<c.buffers.length;++chan,++i){setSample(i,c.buffers[chan][c.captureReadhead])}c.captureReadhead=(fratio+c.captureReadhead)%c.bufferFrameCapacity}}else{for(var i=0,frame_i=0;frame_i<requestedFrameCount;++frame_i){var lefti=Math.floor(c.captureReadhead);var righti=Math.ceil(c.captureReadhead);var d=c.captureReadhead-lefti;for(var chan=0;chan<c.buffers.length;++chan,++i){var lefts=c.buffers[chan][lefti];var rights=c.buffers[chan][righti];setSample(i,(1-d)*lefts+d*rights)}c.captureReadhead=(c.captureReadhead+fratio)%c.bufferFrameCapacity}}c.capturedFrameCount=0}Module["_alcCaptureSamples"]=_alcCaptureSamples;_alcCaptureSamples.sig="viii";function _alcCaptureStart(deviceId){var c=AL.requireValidCaptureDevice(deviceId,"alcCaptureStart");if(!c)return;if(c.isCapturing){return}c.isCapturing=true;c.capturedFrameCount=0;c.capturePlayhead=0}Module["_alcCaptureStart"]=_alcCaptureStart;_alcCaptureStart.sig="vi";function _alcCaptureStop(deviceId){var c=AL.requireValidCaptureDevice(deviceId,"alcCaptureStop");if(!c)return;c.isCapturing=false}Module["_alcCaptureStop"]=_alcCaptureStop;_alcCaptureStop.sig="vi";function _alcCloseDevice(deviceId){if(!(deviceId in AL.deviceRefCounts)||AL.deviceRefCounts[deviceId]>0){return 0}delete AL.deviceRefCounts[deviceId];AL.freeIds.push(deviceId);return 1}Module["_alcCloseDevice"]=_alcCloseDevice;_alcCloseDevice.sig="ii";function _alcCreateContext(deviceId,pAttrList){if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return 0}var options=null;var attrs=[];var hrtf=null;pAttrList>>=2;if(pAttrList){var attr=0;var val=0;while(true){attr=HEAP32[pAttrList++];attrs.push(attr);if(attr===0){break}val=HEAP32[pAttrList++];attrs.push(val);switch(attr){case 4103:if(!options){options={}}options.sampleRate=val;break;case 4112:case 4113:break;case 6546:switch(val){case 0:hrtf=false;break;case 1:hrtf=true;break;case 2:break;default:AL.alcErr=40964;return 0}break;case 6550:if(val!==0){AL.alcErr=40964;return 0}break;default:AL.alcErr=40964;return 0}}}var AudioContext=window.AudioContext||window.webkitAudioContext;var ac=null;try{if(options){ac=new AudioContext(options)}else{ac=new AudioContext}}catch(e){if(e.name==="NotSupportedError"){AL.alcErr=40964}else{AL.alcErr=40961}return 0}autoResumeAudioContext(ac);if(typeof ac.createGain==="undefined"){ac.createGain=ac.createGainNode}var gain=ac.createGain();gain.connect(ac.destination);var ctx={deviceId:deviceId,id:AL.newId(),attrs:attrs,audioCtx:ac,listener:{position:[0,0,0],velocity:[0,0,0],direction:[0,0,0],up:[0,0,0]},sources:[],interval:setInterval(function(){AL.scheduleContextAudio(ctx)},AL.QUEUE_INTERVAL),gain:gain,distanceModel:53250,speedOfSound:343.3,dopplerFactor:1,sourceDistanceModel:false,hrtf:hrtf||false,_err:0,get err(){return this._err},set err(val){if(this._err===0||val===0){this._err=val}}};AL.deviceRefCounts[deviceId]++;AL.contexts[ctx.id]=ctx;if(hrtf!==null){for(var ctxId in AL.contexts){var c=AL.contexts[ctxId];if(c.deviceId===deviceId){c.hrtf=hrtf;AL.updateContextGlobal(c)}}}return ctx.id}Module["_alcCreateContext"]=_alcCreateContext;_alcCreateContext.sig="iii";function _alcDestroyContext(contextId){var ctx=AL.contexts[contextId];if(AL.currentCtx===ctx){AL.alcErr=40962;return}if(AL.contexts[contextId].interval){clearInterval(AL.contexts[contextId].interval)}AL.deviceRefCounts[ctx.deviceId]--;delete AL.contexts[contextId];AL.freeIds.push(contextId)}Module["_alcDestroyContext"]=_alcDestroyContext;_alcDestroyContext.sig="vi";function _alcGetContextsDevice(contextId){if(contextId in AL.contexts){return AL.contexts[contextId].deviceId}else{return 0}}Module["_alcGetContextsDevice"]=_alcGetContextsDevice;_alcGetContextsDevice.sig="ii";function _alcGetCurrentContext(){if(AL.currentCtx!==null){return AL.currentCtx.id}else{return 0}}Module["_alcGetCurrentContext"]=_alcGetCurrentContext;_alcGetCurrentContext.sig="i";function _alcGetEnumValue(deviceId,pEnumName){if(deviceId!==0&&!(deviceId in AL.deviceRefCounts)){return 0}else if(!pEnumName){AL.alcErr=40964;return 0}var name=UTF8ToString(pEnumName);switch(name){case"ALC_NO_ERROR":return 0;case"ALC_INVALID_DEVICE":return 40961;case"ALC_INVALID_CONTEXT":return 40962;case"ALC_INVALID_ENUM":return 40963;case"ALC_INVALID_VALUE":return 40964;case"ALC_OUT_OF_MEMORY":return 40965;case"ALC_MAJOR_VERSION":return 4096;case"ALC_MINOR_VERSION":return 4097;case"ALC_ATTRIBUTES_SIZE":return 4098;case"ALC_ALL_ATTRIBUTES":return 4099;case"ALC_DEFAULT_DEVICE_SPECIFIER":return 4100;case"ALC_DEVICE_SPECIFIER":return 4101;case"ALC_EXTENSIONS":return 4102;case"ALC_FREQUENCY":return 4103;case"ALC_REFRESH":return 4104;case"ALC_SYNC":return 4105;case"ALC_MONO_SOURCES":return 4112;case"ALC_STEREO_SOURCES":return 4113;case"ALC_CAPTURE_DEVICE_SPECIFIER":return 784;case"ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER":return 785;case"ALC_CAPTURE_SAMPLES":return 786;case"ALC_HRTF_SOFT":return 6546;case"ALC_HRTF_ID_SOFT":return 6550;case"ALC_DONT_CARE_SOFT":return 2;case"ALC_HRTF_STATUS_SOFT":return 6547;case"ALC_NUM_HRTF_SPECIFIERS_SOFT":return 6548;case"ALC_HRTF_SPECIFIER_SOFT":return 6549;case"ALC_HRTF_DISABLED_SOFT":return 0;case"ALC_HRTF_ENABLED_SOFT":return 1;case"ALC_HRTF_DENIED_SOFT":return 2;case"ALC_HRTF_REQUIRED_SOFT":return 3;case"ALC_HRTF_HEADPHONES_DETECTED_SOFT":return 4;case"ALC_HRTF_UNSUPPORTED_FORMAT_SOFT":return 5;default:AL.alcErr=40964;return 0}}Module["_alcGetEnumValue"]=_alcGetEnumValue;_alcGetEnumValue.sig="iii";function _alcGetError(deviceId){var err=AL.alcErr;AL.alcErr=0;return err}Module["_alcGetError"]=_alcGetError;_alcGetError.sig="ii";function _alcGetIntegerv(deviceId,param,size,pValues){if(size===0||!pValues){return}switch(param){case 4096:HEAP32[pValues>>2]=1;break;case 4097:HEAP32[pValues>>2]=1;break;case 4098:if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}HEAP32[pValues>>2]=AL.currentCtx.attrs.length;break;case 4099:if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}for(var i=0;i<AL.currentCtx.attrs.length;i++){HEAP32[pValues+i*4>>2]=AL.currentCtx.attrs[i]}break;case 4103:if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}HEAP32[pValues>>2]=AL.currentCtx.audioCtx.sampleRate;break;case 4112:case 4113:if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}HEAP32[pValues>>2]=2147483647;break;case 6546:case 6547:if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return}var hrtfStatus=0;for(var ctxId in AL.contexts){var ctx=AL.contexts[ctxId];if(ctx.deviceId===deviceId){hrtfStatus=ctx.hrtf?1:0}}HEAP32[pValues>>2]=hrtfStatus;break;case 6548:if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return}HEAP32[pValues>>2]=1;break;case 131075:if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}HEAP32[pValues>>2]=1;case 786:var c=AL.requireValidCaptureDevice(deviceId,"alcGetIntegerv");if(!c){return}var n=c.capturedFrameCount;var dstfreq=c.requestedSampleRate;var srcfreq=c.audioCtx.sampleRate;var nsamples=Math.floor(n*(dstfreq/srcfreq));HEAP32[pValues>>2]=nsamples;break;default:AL.alcErr=40963;return}}Module["_alcGetIntegerv"]=_alcGetIntegerv;_alcGetIntegerv.sig="viiii";function _alcGetString(deviceId,param){if(AL.alcStringCache[param]){return AL.alcStringCache[param]}var ret;switch(param){case 0:ret="No Error";break;case 40961:ret="Invalid Device";break;case 40962:ret="Invalid Context";break;case 40963:ret="Invalid Enum";break;case 40964:ret="Invalid Value";break;case 40965:ret="Out of Memory";break;case 4100:if(typeof AudioContext!=="undefined"||typeof webkitAudioContext!=="undefined"){ret=AL.DEVICE_NAME}else{return 0}break;case 4101:if(typeof AudioContext!=="undefined"||typeof webkitAudioContext!=="undefined"){ret=AL.DEVICE_NAME.concat("\0")}else{ret="\0"}break;case 785:ret=AL.CAPTURE_DEVICE_NAME;break;case 784:if(deviceId===0)ret=AL.CAPTURE_DEVICE_NAME.concat("\0");else{var c=AL.requireValidCaptureDevice(deviceId,"alcGetString");if(!c){return 0}ret=c.deviceName}break;case 4102:if(!deviceId){AL.alcErr=40961;return 0}ret="";for(var ext in AL.ALC_EXTENSIONS){ret=ret.concat(ext);ret=ret.concat(" ")}ret=ret.trim();break;default:AL.alcErr=40963;return 0}ret=allocate(intArrayFromString(ret),ALLOC_NORMAL);AL.alcStringCache[param]=ret;return ret}Module["_alcGetString"]=_alcGetString;_alcGetString.sig="iii";function _alcIsExtensionPresent(deviceId,pExtName){var name=UTF8ToString(pExtName);return AL.ALC_EXTENSIONS[name]?1:0}Module["_alcIsExtensionPresent"]=_alcIsExtensionPresent;_alcIsExtensionPresent.sig="iii";function _alcMakeContextCurrent(contextId){if(contextId===0){AL.currentCtx=null;return 0}else{AL.currentCtx=AL.contexts[contextId];return 1}}Module["_alcMakeContextCurrent"]=_alcMakeContextCurrent;_alcMakeContextCurrent.sig="ii";function _alcOpenDevice(pDeviceName){if(pDeviceName){var name=UTF8ToString(pDeviceName);if(name!==AL.DEVICE_NAME){return 0}}if(typeof AudioContext!=="undefined"||typeof webkitAudioContext!=="undefined"){var deviceId=AL.newId();AL.deviceRefCounts[deviceId]=0;return deviceId}else{return 0}}Module["_alcOpenDevice"]=_alcOpenDevice;_alcOpenDevice.sig="ii";function _alcProcessContext(contextId){}Module["_alcProcessContext"]=_alcProcessContext;_alcProcessContext.sig="vi";function _alcSuspendContext(contextId){}Module["_alcSuspendContext"]=_alcSuspendContext;_alcSuspendContext.sig="vi";function _chroot(path){setErrNo(2);return-1}Module["_chroot"]=_chroot;_chroot.sig="ii";function _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|0}Module["_clock"]=_clock;_clock.sig="i";function _emscripten_get_now_res(){if(ENVIRONMENT_IS_NODE){return 1}else return 1e3}Module["_emscripten_get_now_res"]=_emscripten_get_now_res;function _clock_getres(clk_id,res){var nsec;if(clk_id===0){nsec=1e3*1e3}else if(clk_id===1&&_emscripten_get_now_is_monotonic){nsec=_emscripten_get_now_res()}else{setErrNo(28);return-1}HEAP32[res>>2]=nsec/1e9|0;HEAP32[res+4>>2]=nsec;return 0}Module["_clock_getres"]=_clock_getres;var DLFCN={error:null,errorMsg:null};Module["DLFCN"]=DLFCN;function _dlclose(handle){var lib=LDSO.loadedLibs[handle];if(!lib){DLFCN.errorMsg="Tried to dlclose() unopened handle: "+handle;return 1}if(--lib.refcount==0){delete LDSO.loadedLibNames[lib.name];delete LDSO.loadedLibs[handle]}return 0}Module["_dlclose"]=_dlclose;_dlclose.sig="ii";function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}Module["stringToNewUTF8"]=stringToNewUTF8;function _dlerror(){if(DLFCN.errorMsg===null){return 0}if(DLFCN.error)_free(DLFCN.error);DLFCN.error=stringToNewUTF8(DLFCN.errorMsg);DLFCN.errorMsg=null;return DLFCN.error}Module["_dlerror"]=_dlerror;_dlerror.sig="i";var ENV={};Module["ENV"]=ENV;function dlopenInternal(filenameAddr,flags,jsflags){var searchpaths=[];var filename;if(filenameAddr===0){filename="__main__"}else{filename=UTF8ToString(filenameAddr);var isValidFile=function(filename){var target=FS.findObject(filename);return target&&!target.isFolder&&!target.isDevice};if(!isValidFile(filename)){if(ENV["LD_LIBRARY_PATH"]){searchpaths=ENV["LD_LIBRARY_PATH"].split(":")}for(var ident in searchpaths){var searchfile=PATH.join2(searchpaths[ident],filename);if(isValidFile(searchfile)){filename=searchfile;break}}}}if(!(flags&(1|2))){DLFCN.errorMsg="invalid mode for dlopen(): Either RTLD_LAZY or RTLD_NOW is required";return 0}var combinedFlags={global:Boolean(flags&256),nodelete:Boolean(flags&4096),loadAsync:jsflags.loadAsync,fs:jsflags.fs};if(jsflags.loadAsync){return loadDynamicLibrary(filename,combinedFlags)}try{return loadDynamicLibrary(filename,combinedFlags)}catch(e){DLFCN.errorMsg="Could not load dynamic lib: "+filename+"\n"+e;return 0}}Module["dlopenInternal"]=dlopenInternal;function _dlopen(filename,flags){var jsflags={loadAsync:false,fs:FS};return dlopenInternal(filename,flags,jsflags)}Module["_dlopen"]=_dlopen;_dlopen.sig="iii";function _dlsym(handle,symbol){symbol=UTF8ToString(symbol);var result;if(handle==0){result=resolveGlobalSymbol(symbol,true);if(!result){DLFCN.errorMsg='Tried to lookup unknown symbol "'+symbol+'" in dynamic lib: RTLD_DEFAULT';return 0}}else{var lib=LDSO.loadedLibs[handle];if(!lib){DLFCN.errorMsg="Tried to dlsym() from an unopened handle: "+handle;return 0}if(!lib.module.hasOwnProperty(symbol)){DLFCN.errorMsg='Tried to lookup unknown symbol "'+symbol+'" in dynamic lib: '+lib.name;return 0}result=lib.module["orig$"+symbol];if(!result)result=lib.module[symbol]}if(typeof result==="function"){return addFunctionWasm(result,result.sig)}else{return result}}Module["_dlsym"]=_dlsym;_dlsym.sig="iii";function _emscripten_alcDevicePauseSOFT(deviceId){if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return}if(AL.paused){return}AL.paused=true;for(var ctxId in AL.contexts){var ctx=AL.contexts[ctxId];if(ctx.deviceId!==deviceId){continue}ctx.audioCtx.suspend();clearInterval(ctx.interval);ctx.interval=null}}Module["_emscripten_alcDevicePauseSOFT"]=_emscripten_alcDevicePauseSOFT;_emscripten_alcDevicePauseSOFT.sig="vi";function _emscripten_alcDeviceResumeSOFT(deviceId){if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.paused){return}AL.paused=false;for(var ctxId in AL.contexts){var ctx=AL.contexts[ctxId];if(ctx.deviceId!==deviceId){continue}ctx.interval=setInterval(function(){AL.scheduleContextAudio(ctx)},AL.QUEUE_INTERVAL);ctx.audioCtx.resume()}}Module["_emscripten_alcDeviceResumeSOFT"]=_emscripten_alcDeviceResumeSOFT;_emscripten_alcDeviceResumeSOFT.sig="vi";function _emscripten_alcGetStringiSOFT(deviceId,param,index){if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return 0}if(AL.alcStringCache[param]){return AL.alcStringCache[param]}var ret;switch(param){case 6549:if(index===0){ret="Web Audio HRTF"}else{AL.alcErr=40964;return 0}break;default:if(index===0){return _alcGetString(deviceId,param)}else{AL.alcErr=40963;return 0}}ret=allocate(intArrayFromString(ret),ALLOC_NORMAL);AL.alcStringCache[param]=ret;return ret}Module["_emscripten_alcGetStringiSOFT"]=_emscripten_alcGetStringiSOFT;_emscripten_alcGetStringiSOFT.sig="iiii";function _emscripten_alcResetDeviceSOFT(deviceId,pAttrList){if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return 0}var hrtf=null;pAttrList>>=2;if(pAttrList){var attr=0;var val=0;while(true){attr=HEAP32[pAttrList++];if(attr===0){break}val=HEAP32[pAttrList++];switch(attr){case 6546:if(val===1){hrtf=true}else if(val===0){hrtf=false}break}}}if(hrtf!==null){for(var ctxId in AL.contexts){var ctx=AL.contexts[ctxId];if(ctx.deviceId===deviceId){ctx.hrtf=hrtf;AL.updateContextGlobal(ctx)}}}return 1}Module["_emscripten_alcResetDeviceSOFT"]=_emscripten_alcResetDeviceSOFT;_emscripten_alcResetDeviceSOFT.sig="iii";var readAsmConstArgsArray=[];Module["readAsmConstArgsArray"]=readAsmConstArgsArray;function readAsmConstArgs(sigPtr,buf){readAsmConstArgsArray.length=0;var ch;buf>>=2;while(ch=HEAPU8[sigPtr++]){var double=ch<105;if(double&&buf&1)buf++;readAsmConstArgsArray.push(double?HEAPF64[buf++>>1]:HEAP32[buf]);++buf}return readAsmConstArgsArray}Module["readAsmConstArgs"]=readAsmConstArgs;function _emscripten_asm_const_int(code,sigPtr,argbuf){code-=1024;var args=readAsmConstArgs(sigPtr,argbuf);return ASM_CONSTS[code].apply(null,args)}Module["_emscripten_asm_const_int"]=_emscripten_asm_const_int;_emscripten_asm_const_int.sig="iiii";function _emscripten_exit_with_live_runtime(){throw"unwind"}Module["_emscripten_exit_with_live_runtime"]=_emscripten_exit_with_live_runtime;_emscripten_exit_with_live_runtime.sig="v";function _emscripten_get_heap_max(){return 2147483648}Module["_emscripten_get_heap_max"]=_emscripten_get_heap_max;function __webgl_enable_ANGLE_instanced_arrays(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)};return 1}}Module["__webgl_enable_ANGLE_instanced_arrays"]=__webgl_enable_ANGLE_instanced_arrays;function __webgl_enable_OES_vertex_array_object(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)};return 1}}Module["__webgl_enable_OES_vertex_array_object"]=__webgl_enable_OES_vertex_array_object;function __webgl_enable_WEBGL_draw_buffers(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)};return 1}}Module["__webgl_enable_WEBGL_draw_buffers"]=__webgl_enable_WEBGL_draw_buffers;function __webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}Module["__webgl_enable_WEBGL_multi_draw"]=__webgl_enable_WEBGL_multi_draw;var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],stringCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i<ret;i++){table[i]=null}return ret},getSource:function(shader,count,string,length){var source="";for(var i=0;i<count;++i){var len=length?HEAP32[length+i*4>>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){if(!canvas.getContextSafariWebGL2Fixed){canvas.getContextSafariWebGL2Fixed=canvas.getContext;canvas.getContext=function(ver,attrs){var gl=canvas.getContextSafariWebGL2Fixed(ver,attrs);return ver=="webgl"==gl instanceof WebGLRenderingContext?gl:null}}var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;__webgl_enable_ANGLE_instanced_arrays(GLctx);__webgl_enable_OES_vertex_array_object(GLctx);__webgl_enable_WEBGL_draw_buffers(GLctx);{GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query")}__webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(!ext.includes("lose_context")&&!ext.includes("debug")){GLctx.getExtension(ext)}})}};Module["GL"]=GL;function _emscripten_glActiveTexture(x0){GLctx["activeTexture"](x0)}Module["_emscripten_glActiveTexture"]=_emscripten_glActiveTexture;_emscripten_glActiveTexture.sig="vi";function _emscripten_glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}Module["_emscripten_glAttachShader"]=_emscripten_glAttachShader;_emscripten_glAttachShader.sig="vii";function _emscripten_glBeginQueryEXT(target,id){GLctx.disjointTimerQueryExt["beginQueryEXT"](target,GL.queries[id])}Module["_emscripten_glBeginQueryEXT"]=_emscripten_glBeginQueryEXT;_emscripten_glBeginQueryEXT.sig="vii";function _emscripten_glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}Module["_emscripten_glBindAttribLocation"]=_emscripten_glBindAttribLocation;_emscripten_glBindAttribLocation.sig="viii";function _emscripten_glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}Module["_emscripten_glBindBuffer"]=_emscripten_glBindBuffer;_emscripten_glBindBuffer.sig="vii";function _emscripten_glBindFramebuffer(target,framebuffer){GLctx.bindFramebuffer(target,GL.framebuffers[framebuffer])}Module["_emscripten_glBindFramebuffer"]=_emscripten_glBindFramebuffer;_emscripten_glBindFramebuffer.sig="vii";function _emscripten_glBindRenderbuffer(target,renderbuffer){GLctx.bindRenderbuffer(target,GL.renderbuffers[renderbuffer])}Module["_emscripten_glBindRenderbuffer"]=_emscripten_glBindRenderbuffer;_emscripten_glBindRenderbuffer.sig="vii";function _emscripten_glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}Module["_emscripten_glBindTexture"]=_emscripten_glBindTexture;_emscripten_glBindTexture.sig="vii";function _emscripten_glBindVertexArrayOES(vao){GLctx["bindVertexArray"](GL.vaos[vao])}Module["_emscripten_glBindVertexArrayOES"]=_emscripten_glBindVertexArrayOES;_emscripten_glBindVertexArrayOES.sig="vi";function _emscripten_glBlendColor(x0,x1,x2,x3){GLctx["blendColor"](x0,x1,x2,x3)}Module["_emscripten_glBlendColor"]=_emscripten_glBlendColor;_emscripten_glBlendColor.sig="vffff";function _emscripten_glBlendEquation(x0){GLctx["blendEquation"](x0)}Module["_emscripten_glBlendEquation"]=_emscripten_glBlendEquation;_emscripten_glBlendEquation.sig="vi";function _emscripten_glBlendEquationSeparate(x0,x1){GLctx["blendEquationSeparate"](x0,x1)}Module["_emscripten_glBlendEquationSeparate"]=_emscripten_glBlendEquationSeparate;_emscripten_glBlendEquationSeparate.sig="vii";function _emscripten_glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}Module["_emscripten_glBlendFunc"]=_emscripten_glBlendFunc;_emscripten_glBlendFunc.sig="vii";function _emscripten_glBlendFuncSeparate(x0,x1,x2,x3){GLctx["blendFuncSeparate"](x0,x1,x2,x3)}Module["_emscripten_glBlendFuncSeparate"]=_emscripten_glBlendFuncSeparate;_emscripten_glBlendFuncSeparate.sig="viiii";function _emscripten_glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}Module["_emscripten_glBufferData"]=_emscripten_glBufferData;_emscripten_glBufferData.sig="viiii";function _emscripten_glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}Module["_emscripten_glBufferSubData"]=_emscripten_glBufferSubData;_emscripten_glBufferSubData.sig="viiii";function _emscripten_glCheckFramebufferStatus(x0){return GLctx["checkFramebufferStatus"](x0)}Module["_emscripten_glCheckFramebufferStatus"]=_emscripten_glCheckFramebufferStatus;_emscripten_glCheckFramebufferStatus.sig="ii";function _emscripten_glClear(x0){GLctx["clear"](x0)}Module["_emscripten_glClear"]=_emscripten_glClear;_emscripten_glClear.sig="vi";function _emscripten_glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}Module["_emscripten_glClearColor"]=_emscripten_glClearColor;_emscripten_glClearColor.sig="viiii";function _emscripten_glClearDepthf(x0){GLctx["clearDepth"](x0)}Module["_emscripten_glClearDepthf"]=_emscripten_glClearDepthf;_emscripten_glClearDepthf.sig="vi";function _emscripten_glClearStencil(x0){GLctx["clearStencil"](x0)}Module["_emscripten_glClearStencil"]=_emscripten_glClearStencil;_emscripten_glClearStencil.sig="vi";function _emscripten_glColorMask(red,green,blue,alpha){GLctx.colorMask(!!red,!!green,!!blue,!!alpha)}Module["_emscripten_glColorMask"]=_emscripten_glColorMask;_emscripten_glColorMask.sig="viiii";function _emscripten_glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}Module["_emscripten_glCompileShader"]=_emscripten_glCompileShader;_emscripten_glCompileShader.sig="vi";function _emscripten_glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}Module["_emscripten_glCompressedTexImage2D"]=_emscripten_glCompressedTexImage2D;_emscripten_glCompressedTexImage2D.sig="viiiiiiii";function _emscripten_glCompressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,imageSize,data){GLctx["compressedTexSubImage2D"](target,level,xoffset,yoffset,width,height,format,data?HEAPU8.subarray(data,data+imageSize):null)}Module["_emscripten_glCompressedTexSubImage2D"]=_emscripten_glCompressedTexSubImage2D;_emscripten_glCompressedTexSubImage2D.sig="viiiiiiiii";function _emscripten_glCopyTexImage2D(x0,x1,x2,x3,x4,x5,x6,x7){GLctx["copyTexImage2D"](x0,x1,x2,x3,x4,x5,x6,x7)}Module["_emscripten_glCopyTexImage2D"]=_emscripten_glCopyTexImage2D;_emscripten_glCopyTexImage2D.sig="viiiiiiii";function _emscripten_glCopyTexSubImage2D(x0,x1,x2,x3,x4,x5,x6,x7){GLctx["copyTexSubImage2D"](x0,x1,x2,x3,x4,x5,x6,x7)}Module["_emscripten_glCopyTexSubImage2D"]=_emscripten_glCopyTexSubImage2D;_emscripten_glCopyTexSubImage2D.sig="viiiiiiii";function _emscripten_glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;program.maxUniformLength=program.maxAttributeLength=program.maxUniformBlockNameLength=0;program.uniformIdCounter=1;GL.programs[id]=program;return id}Module["_emscripten_glCreateProgram"]=_emscripten_glCreateProgram;_emscripten_glCreateProgram.sig="i";function _emscripten_glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}Module["_emscripten_glCreateShader"]=_emscripten_glCreateShader;_emscripten_glCreateShader.sig="ii";function _emscripten_glCullFace(x0){GLctx["cullFace"](x0)}Module["_emscripten_glCullFace"]=_emscripten_glCullFace;_emscripten_glCullFace.sig="vi";function _emscripten_glDeleteBuffers(n,buffers){for(var i=0;i<n;i++){var id=HEAP32[buffers+i*4>>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}Module["_emscripten_glDeleteBuffers"]=_emscripten_glDeleteBuffers;_emscripten_glDeleteBuffers.sig="vii";function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i<n;++i){var id=HEAP32[framebuffers+i*4>>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}Module["_emscripten_glDeleteFramebuffers"]=_emscripten_glDeleteFramebuffers;_emscripten_glDeleteFramebuffers.sig="vii";function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null}Module["_emscripten_glDeleteProgram"]=_emscripten_glDeleteProgram;_emscripten_glDeleteProgram.sig="vi";function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i<n;i++){var id=HEAP32[ids+i*4>>2];var query=GL.queries[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.queries[id]=null}}Module["_emscripten_glDeleteQueriesEXT"]=_emscripten_glDeleteQueriesEXT;_emscripten_glDeleteQueriesEXT.sig="vii";function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i<n;i++){var id=HEAP32[renderbuffers+i*4>>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}Module["_emscripten_glDeleteRenderbuffers"]=_emscripten_glDeleteRenderbuffers;_emscripten_glDeleteRenderbuffers.sig="vii";function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}Module["_emscripten_glDeleteShader"]=_emscripten_glDeleteShader;_emscripten_glDeleteShader.sig="vi";function _emscripten_glDeleteTextures(n,textures){for(var i=0;i<n;i++){var id=HEAP32[textures+i*4>>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}Module["_emscripten_glDeleteTextures"]=_emscripten_glDeleteTextures;_emscripten_glDeleteTextures.sig="vii";function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i<n;i++){var id=HEAP32[vaos+i*4>>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}Module["_emscripten_glDeleteVertexArraysOES"]=_emscripten_glDeleteVertexArraysOES;_emscripten_glDeleteVertexArraysOES.sig="vii";function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}Module["_emscripten_glDepthFunc"]=_emscripten_glDepthFunc;_emscripten_glDepthFunc.sig="vi";function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}Module["_emscripten_glDepthMask"]=_emscripten_glDepthMask;_emscripten_glDepthMask.sig="vi";function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}Module["_emscripten_glDepthRangef"]=_emscripten_glDepthRangef;_emscripten_glDepthRangef.sig="vii";function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}Module["_emscripten_glDetachShader"]=_emscripten_glDetachShader;_emscripten_glDetachShader.sig="vii";function _emscripten_glDisable(x0){GLctx["disable"](x0)}Module["_emscripten_glDisable"]=_emscripten_glDisable;_emscripten_glDisable.sig="vi";function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}Module["_emscripten_glDisableVertexAttribArray"]=_emscripten_glDisableVertexAttribArray;_emscripten_glDisableVertexAttribArray.sig="vi";function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}Module["_emscripten_glDrawArrays"]=_emscripten_glDrawArrays;_emscripten_glDrawArrays.sig="viii";function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}Module["_emscripten_glDrawArraysInstancedANGLE"]=_emscripten_glDrawArraysInstancedANGLE;_emscripten_glDrawArraysInstancedANGLE.sig="viiii";var tempFixedLengthArray=[];Module["tempFixedLengthArray"]=tempFixedLengthArray;function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i<n;i++){bufArray[i]=HEAP32[bufs+i*4>>2]}GLctx["drawBuffers"](bufArray)}Module["_emscripten_glDrawBuffersWEBGL"]=_emscripten_glDrawBuffersWEBGL;_emscripten_glDrawBuffersWEBGL.sig="vii";function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}Module["_emscripten_glDrawElements"]=_emscripten_glDrawElements;_emscripten_glDrawElements.sig="viiii";function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}Module["_emscripten_glDrawElementsInstancedANGLE"]=_emscripten_glDrawElementsInstancedANGLE;_emscripten_glDrawElementsInstancedANGLE.sig="viiiii";function _emscripten_glEnable(x0){GLctx["enable"](x0)}Module["_emscripten_glEnable"]=_emscripten_glEnable;_emscripten_glEnable.sig="vi";function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}Module["_emscripten_glEnableVertexAttribArray"]=_emscripten_glEnableVertexAttribArray;_emscripten_glEnableVertexAttribArray.sig="vi";function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}Module["_emscripten_glEndQueryEXT"]=_emscripten_glEndQueryEXT;_emscripten_glEndQueryEXT.sig="vi";function _emscripten_glFinish(){GLctx["finish"]()}Module["_emscripten_glFinish"]=_emscripten_glFinish;_emscripten_glFinish.sig="v";function _emscripten_glFlush(){GLctx["flush"]()}Module["_emscripten_glFlush"]=_emscripten_glFlush;_emscripten_glFlush.sig="v";function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}Module["_emscripten_glFramebufferRenderbuffer"]=_emscripten_glFramebufferRenderbuffer;_emscripten_glFramebufferRenderbuffer.sig="viiii";function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}Module["_emscripten_glFramebufferTexture2D"]=_emscripten_glFramebufferTexture2D;_emscripten_glFramebufferTexture2D.sig="viiiii";function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}Module["_emscripten_glFrontFace"]=_emscripten_glFrontFace;_emscripten_glFrontFace.sig="vi";function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i<n;i++){var buffer=GLctx[createFunction]();var id=buffer&&GL.getNewId(objectTable);if(buffer){buffer.name=id;objectTable[id]=buffer}else{GL.recordError(1282)}HEAP32[buffers+i*4>>2]=id}}Module["__glGenObject"]=__glGenObject;__glGenObject.sig="vii";function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}Module["_emscripten_glGenBuffers"]=_emscripten_glGenBuffers;_emscripten_glGenBuffers.sig="vii";function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}Module["_emscripten_glGenFramebuffers"]=_emscripten_glGenFramebuffers;_emscripten_glGenFramebuffers.sig="vii";function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i<n;i++){var query=GLctx.disjointTimerQueryExt["createQueryEXT"]();if(!query){GL.recordError(1282);while(i<n)HEAP32[ids+i++*4>>2]=0;return}var id=GL.getNewId(GL.queries);query.name=id;GL.queries[id]=query;HEAP32[ids+i*4>>2]=id}}Module["_emscripten_glGenQueriesEXT"]=_emscripten_glGenQueriesEXT;_emscripten_glGenQueriesEXT.sig="vii";function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}Module["_emscripten_glGenRenderbuffers"]=_emscripten_glGenRenderbuffers;_emscripten_glGenRenderbuffers.sig="vii";function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}Module["_emscripten_glGenTextures"]=_emscripten_glGenTextures;_emscripten_glGenTextures.sig="vii";function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}Module["_emscripten_glGenVertexArraysOES"]=_emscripten_glGenVertexArraysOES;_emscripten_glGenVertexArraysOES.sig="vii";function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}Module["_emscripten_glGenerateMipmap"]=_emscripten_glGenerateMipmap;_emscripten_glGenerateMipmap.sig="vi";function __glGetActiveAttribOrUniform(funcName,program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}}Module["__glGetActiveAttribOrUniform"]=__glGetActiveAttribOrUniform;function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)}Module["_emscripten_glGetActiveAttrib"]=_emscripten_glGetActiveAttrib;_emscripten_glGetActiveAttrib.sig="viiiiiii";function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}Module["_emscripten_glGetActiveUniform"]=_emscripten_glGetActiveUniform;_emscripten_glGetActiveUniform.sig="viiiiiii";function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i<len;++i){var id=GL.shaders.indexOf(result[i]);HEAP32[shaders+i*4>>2]=id}}Module["_emscripten_glGetAttachedShaders"]=_emscripten_glGetAttachedShaders;_emscripten_glGetAttachedShaders.sig="viiii";function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}Module["_emscripten_glGetAttribLocation"]=_emscripten_glGetAttribLocation;_emscripten_glGetAttribLocation.sig="iii";function writeI53ToI64(ptr,num){HEAPU32[ptr>>2]=num;HEAPU32[ptr+4>>2]=(num-HEAPU32[ptr>>2])/4294967296}Module["writeI53ToI64"]=writeI53ToI64;function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i<result.length;++i){switch(type){case 0:HEAP32[p+i*4>>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}Module["emscriptenWebGLGet"]=emscriptenWebGLGet;function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}Module["_emscripten_glGetBooleanv"]=_emscripten_glGetBooleanv;_emscripten_glGetBooleanv.sig="vii";function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}Module["_emscripten_glGetBufferParameteriv"]=_emscripten_glGetBufferParameteriv;_emscripten_glGetBufferParameteriv.sig="viii";function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}Module["_emscripten_glGetError"]=_emscripten_glGetError;_emscripten_glGetError.sig="i";function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}Module["_emscripten_glGetFloatv"]=_emscripten_glGetFloatv;_emscripten_glGetFloatv.sig="vii";function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}Module["_emscripten_glGetFramebufferAttachmentParameteriv"]=_emscripten_glGetFramebufferAttachmentParameteriv;_emscripten_glGetFramebufferAttachmentParameteriv.sig="viiii";function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}Module["_emscripten_glGetIntegerv"]=_emscripten_glGetIntegerv;_emscripten_glGetIntegerv.sig="vii";function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}Module["_emscripten_glGetProgramInfoLog"]=_emscripten_glGetProgramInfoLog;_emscripten_glGetProgramInfoLog.sig="viiii";function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}program=GL.programs[program];if(pname==35716){var log=GLctx.getProgramInfoLog(program);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){if(!program.maxUniformLength){for(var i=0;i<GLctx.getProgramParameter(program,35718);++i){program.maxUniformLength=Math.max(program.maxUniformLength,GLctx.getActiveUniform(program,i).name.length+1)}}HEAP32[p>>2]=program.maxUniformLength}else if(pname==35722){if(!program.maxAttributeLength){for(var i=0;i<GLctx.getProgramParameter(program,35721);++i){program.maxAttributeLength=Math.max(program.maxAttributeLength,GLctx.getActiveAttrib(program,i).name.length+1)}}HEAP32[p>>2]=program.maxAttributeLength}else if(pname==35381){if(!program.maxUniformBlockNameLength){for(var i=0;i<GLctx.getProgramParameter(program,35382);++i){program.maxUniformBlockNameLength=Math.max(program.maxUniformBlockNameLength,GLctx.getActiveUniformBlockName(program,i).length+1)}}HEAP32[p>>2]=program.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(program,pname)}}Module["_emscripten_glGetProgramiv"]=_emscripten_glGetProgramiv;_emscripten_glGetProgramiv.sig="viii";function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param;{param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname)}var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}Module["_emscripten_glGetQueryObjecti64vEXT"]=_emscripten_glGetQueryObjecti64vEXT;_emscripten_glGetQueryObjecti64vEXT.sig="viii";function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}Module["_emscripten_glGetQueryObjectivEXT"]=_emscripten_glGetQueryObjectivEXT;_emscripten_glGetQueryObjectivEXT.sig="viii";function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param;{param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname)}var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}Module["_emscripten_glGetQueryObjectui64vEXT"]=_emscripten_glGetQueryObjectui64vEXT;_emscripten_glGetQueryObjectui64vEXT.sig="viii";function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}Module["_emscripten_glGetQueryObjectuivEXT"]=_emscripten_glGetQueryObjectuivEXT;_emscripten_glGetQueryObjectuivEXT.sig="viii";function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}Module["_emscripten_glGetQueryivEXT"]=_emscripten_glGetQueryivEXT;_emscripten_glGetQueryivEXT.sig="viii";function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}Module["_emscripten_glGetRenderbufferParameteriv"]=_emscripten_glGetRenderbufferParameteriv;_emscripten_glGetRenderbufferParameteriv.sig="viii";function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}Module["_emscripten_glGetShaderInfoLog"]=_emscripten_glGetShaderInfoLog;_emscripten_glGetShaderInfoLog.sig="viiii";function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}Module["_emscripten_glGetShaderPrecisionFormat"]=_emscripten_glGetShaderPrecisionFormat;_emscripten_glGetShaderPrecisionFormat.sig="viiii";function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}Module["_emscripten_glGetShaderSource"]=_emscripten_glGetShaderSource;_emscripten_glGetShaderSource.sig="viiii";function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}Module["_emscripten_glGetShaderiv"]=_emscripten_glGetShaderiv;_emscripten_glGetShaderiv.sig="viii";function _emscripten_glGetString(name_){var ret=GL.stringCache[name_];if(!ret){switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=s&&stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280)}GL.stringCache[name_]=ret}return ret}Module["_emscripten_glGetString"]=_emscripten_glGetString;_emscripten_glGetString.sig="ii";function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}Module["_emscripten_glGetTexParameterfv"]=_emscripten_glGetTexParameterfv;_emscripten_glGetTexParameterfv.sig="viii";function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}Module["_emscripten_glGetTexParameteriv"]=_emscripten_glGetTexParameteriv;_emscripten_glGetTexParameteriv.sig="viii";function webglGetLeftBracePos(name){return name.slice(-1)=="]"&&name.lastIndexOf("[")}Module["webglGetLeftBracePos"]=webglGetLeftBracePos;function webglPrepareUniformLocationsBeforeFirstUse(program){var uniformLocsById=program.uniformLocsById,uniformSizeAndIdsByName=program.uniformSizeAndIdsByName,i,j;if(!uniformLocsById){program.uniformLocsById=uniformLocsById={};program.uniformArrayNamesById={};for(i=0;i<GLctx.getProgramParameter(program,35718);++i){var u=GLctx.getActiveUniform(program,i);var nm=u.name;var sz=u.size;var lb=webglGetLeftBracePos(nm);var arrayName=lb>0?nm.slice(0,lb):nm;var id=program.uniformIdCounter;program.uniformIdCounter+=sz;uniformSizeAndIdsByName[arrayName]=[sz,id];for(j=0;j<sz;++j){uniformLocsById[id]=j;program.uniformArrayNamesById[id++]=arrayName}}}}Module["webglPrepareUniformLocationsBeforeFirstUse"]=webglPrepareUniformLocationsBeforeFirstUse;function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);if(program=GL.programs[program]){webglPrepareUniformLocationsBeforeFirstUse(program);var uniformLocsById=program.uniformLocsById;var arrayIndex=0;var uniformBaseName=name;var leftBrace=webglGetLeftBracePos(name);if(leftBrace>0){arrayIndex=jstoi_q(name.slice(leftBrace+1))>>>0;uniformBaseName=name.slice(0,leftBrace)}var sizeAndId=program.uniformSizeAndIdsByName[uniformBaseName];if(sizeAndId&&arrayIndex<sizeAndId[0]){arrayIndex+=sizeAndId[1];if(uniformLocsById[arrayIndex]=uniformLocsById[arrayIndex]||GLctx.getUniformLocation(program,name)){return arrayIndex}}}else{GL.recordError(1281)}return-1}Module["_emscripten_glGetUniformLocation"]=_emscripten_glGetUniformLocation;_emscripten_glGetUniformLocation.sig="iii";function webglGetUniformLocation(location){var p=GLctx.currentProgram;if(p){var webglLoc=p.uniformLocsById[location];if(typeof webglLoc==="number"){p.uniformLocsById[location]=webglLoc=GLctx.getUniformLocation(p,p.uniformArrayNamesById[location]+(webglLoc>0?"["+webglLoc+"]":""))}return webglLoc}else{GL.recordError(1282)}}Module["webglGetUniformLocation"]=webglGetUniformLocation;function emscriptenWebGLGetUniform(program,location,params,type){if(!params){GL.recordError(1281);return}program=GL.programs[program];webglPrepareUniformLocationsBeforeFirstUse(program);var data=GLctx.getUniform(program,webglGetUniformLocation(location));if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i<data.length;i++){switch(type){case 0:HEAP32[params+i*4>>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}}Module["emscriptenWebGLGetUniform"]=emscriptenWebGLGetUniform;function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}Module["_emscripten_glGetUniformfv"]=_emscripten_glGetUniformfv;_emscripten_glGetUniformfv.sig="viii";function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}Module["_emscripten_glGetUniformiv"]=_emscripten_glGetUniformiv;_emscripten_glGetUniformiv.sig="viii";function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}Module["_emscripten_glGetVertexAttribPointerv"]=_emscripten_glGetVertexAttribPointerv;_emscripten_glGetVertexAttribPointerv.sig="viii";function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i<data.length;i++){switch(type){case 0:HEAP32[params+i*4>>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}}Module["emscriptenWebGLGetVertexAttrib"]=emscriptenWebGLGetVertexAttrib;function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}Module["_emscripten_glGetVertexAttribfv"]=_emscripten_glGetVertexAttribfv;_emscripten_glGetVertexAttribfv.sig="viii";function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}Module["_emscripten_glGetVertexAttribiv"]=_emscripten_glGetVertexAttribiv;_emscripten_glGetVertexAttribiv.sig="viii";function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}Module["_emscripten_glHint"]=_emscripten_glHint;_emscripten_glHint.sig="vii";function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}Module["_emscripten_glIsBuffer"]=_emscripten_glIsBuffer;_emscripten_glIsBuffer.sig="ii";function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}Module["_emscripten_glIsEnabled"]=_emscripten_glIsEnabled;_emscripten_glIsEnabled.sig="ii";function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}Module["_emscripten_glIsFramebuffer"]=_emscripten_glIsFramebuffer;_emscripten_glIsFramebuffer.sig="ii";function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}Module["_emscripten_glIsProgram"]=_emscripten_glIsProgram;_emscripten_glIsProgram.sig="ii";function _emscripten_glIsQueryEXT(id){var query=GL.queries[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}Module["_emscripten_glIsQueryEXT"]=_emscripten_glIsQueryEXT;_emscripten_glIsQueryEXT.sig="ii";function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}Module["_emscripten_glIsRenderbuffer"]=_emscripten_glIsRenderbuffer;_emscripten_glIsRenderbuffer.sig="ii";function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}Module["_emscripten_glIsShader"]=_emscripten_glIsShader;_emscripten_glIsShader.sig="ii";function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}Module["_emscripten_glIsTexture"]=_emscripten_glIsTexture;_emscripten_glIsTexture.sig="ii";function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}Module["_emscripten_glIsVertexArrayOES"]=_emscripten_glIsVertexArrayOES;_emscripten_glIsVertexArrayOES.sig="ii";function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}Module["_emscripten_glLineWidth"]=_emscripten_glLineWidth;_emscripten_glLineWidth.sig="vi";function _emscripten_glLinkProgram(program){program=GL.programs[program];GLctx.linkProgram(program);program.uniformLocsById=0;program.uniformSizeAndIdsByName={}}Module["_emscripten_glLinkProgram"]=_emscripten_glLinkProgram;_emscripten_glLinkProgram.sig="vi";function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}Module["_emscripten_glPixelStorei"]=_emscripten_glPixelStorei;_emscripten_glPixelStorei.sig="vii";function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}Module["_emscripten_glPolygonOffset"]=_emscripten_glPolygonOffset;_emscripten_glPolygonOffset.sig="vii";function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.queries[id],target)}Module["_emscripten_glQueryCounterEXT"]=_emscripten_glQueryCounterEXT;_emscripten_glQueryCounterEXT.sig="vii";function computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}Module["computeUnpackAlignedImageSize"]=computeUnpackAlignedImageSize;function __colorChannelsInGlTextureFormat(format){var colorChannels={5:3,6:4,8:2,29502:3,29504:4};return colorChannels[format-6402]||1}Module["__colorChannelsInGlTextureFormat"]=__colorChannelsInGlTextureFormat;function heapObjectForWebGLType(type){type-=5120;if(type==1)return HEAPU8;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922)return HEAPU32;return HEAPU16}Module["heapObjectForWebGLType"]=heapObjectForWebGLType;function heapAccessShiftForWebGLHeap(heap){return 31-Math.clz32(heap.BYTES_PER_ELEMENT)}Module["heapAccessShiftForWebGLHeap"]=heapAccessShiftForWebGLHeap;function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<<shift;var sizePerPixel=__colorChannelsInGlTextureFormat(format)*byteSize;var bytes=computeUnpackAlignedImageSize(width,height,sizePerPixel,GL.unpackAlignment);return heap.subarray(pixels>>shift,pixels+bytes>>shift)}Module["emscriptenWebGLGetTexPixelData"]=emscriptenWebGLGetTexPixelData;function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}Module["_emscripten_glReadPixels"]=_emscripten_glReadPixels;_emscripten_glReadPixels.sig="viiiiiii";function _emscripten_glReleaseShaderCompiler(){}Module["_emscripten_glReleaseShaderCompiler"]=_emscripten_glReleaseShaderCompiler;_emscripten_glReleaseShaderCompiler.sig="v";function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}Module["_emscripten_glRenderbufferStorage"]=_emscripten_glRenderbufferStorage;_emscripten_glRenderbufferStorage.sig="viiii";function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}Module["_emscripten_glSampleCoverage"]=_emscripten_glSampleCoverage;_emscripten_glSampleCoverage.sig="vii";function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}Module["_emscripten_glScissor"]=_emscripten_glScissor;_emscripten_glScissor.sig="viiii";function _emscripten_glShaderBinary(){GL.recordError(1280)}Module["_emscripten_glShaderBinary"]=_emscripten_glShaderBinary;_emscripten_glShaderBinary.sig="v";function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}Module["_emscripten_glShaderSource"]=_emscripten_glShaderSource;_emscripten_glShaderSource.sig="viiii";function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}Module["_emscripten_glStencilFunc"]=_emscripten_glStencilFunc;_emscripten_glStencilFunc.sig="viii";function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}Module["_emscripten_glStencilFuncSeparate"]=_emscripten_glStencilFuncSeparate;_emscripten_glStencilFuncSeparate.sig="viiii";function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}Module["_emscripten_glStencilMask"]=_emscripten_glStencilMask;_emscripten_glStencilMask.sig="vi";function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}Module["_emscripten_glStencilMaskSeparate"]=_emscripten_glStencilMaskSeparate;_emscripten_glStencilMaskSeparate.sig="vii";function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}Module["_emscripten_glStencilOp"]=_emscripten_glStencilOp;_emscripten_glStencilOp.sig="viii";function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}Module["_emscripten_glStencilOpSeparate"]=_emscripten_glStencilOpSeparate;_emscripten_glStencilOpSeparate.sig="viiii";function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}Module["_emscripten_glTexImage2D"]=_emscripten_glTexImage2D;_emscripten_glTexImage2D.sig="viiiiiiiii";function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}Module["_emscripten_glTexParameterf"]=_emscripten_glTexParameterf;_emscripten_glTexParameterf.sig="viii";function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}Module["_emscripten_glTexParameterfv"]=_emscripten_glTexParameterfv;_emscripten_glTexParameterfv.sig="viii";function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}Module["_emscripten_glTexParameteri"]=_emscripten_glTexParameteri;_emscripten_glTexParameteri.sig="viii";function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}Module["_emscripten_glTexParameteriv"]=_emscripten_glTexParameteriv;_emscripten_glTexParameteriv.sig="viii";function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}Module["_emscripten_glTexSubImage2D"]=_emscripten_glTexSubImage2D;_emscripten_glTexSubImage2D.sig="viiiiiiiii";function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(webglGetUniformLocation(location),v0)}Module["_emscripten_glUniform1f"]=_emscripten_glUniform1f;_emscripten_glUniform1f.sig="vif";var miniTempWebGLFloatBuffers=[];Module["miniTempWebGLFloatBuffers"]=miniTempWebGLFloatBuffers;function _emscripten_glUniform1fv(location,count,value){if(count<=288){var view=miniTempWebGLFloatBuffers[count-1];for(var i=0;i<count;++i){view[i]=HEAPF32[value+4*i>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(webglGetUniformLocation(location),view)}Module["_emscripten_glUniform1fv"]=_emscripten_glUniform1fv;_emscripten_glUniform1fv.sig="viii";function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(webglGetUniformLocation(location),v0)}Module["_emscripten_glUniform1i"]=_emscripten_glUniform1i;_emscripten_glUniform1i.sig="vii";var __miniTempWebGLIntBuffers=[];Module["__miniTempWebGLIntBuffers"]=__miniTempWebGLIntBuffers;function _emscripten_glUniform1iv(location,count,value){if(count<=288){var view=__miniTempWebGLIntBuffers[count-1];for(var i=0;i<count;++i){view[i]=HEAP32[value+4*i>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(webglGetUniformLocation(location),view)}Module["_emscripten_glUniform1iv"]=_emscripten_glUniform1iv;_emscripten_glUniform1iv.sig="viii";function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(webglGetUniformLocation(location),v0,v1)}Module["_emscripten_glUniform2f"]=_emscripten_glUniform2f;_emscripten_glUniform2f.sig="viff";function _emscripten_glUniform2fv(location,count,value){if(count<=144){var view=miniTempWebGLFloatBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(webglGetUniformLocation(location),view)}Module["_emscripten_glUniform2fv"]=_emscripten_glUniform2fv;_emscripten_glUniform2fv.sig="viii";function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(webglGetUniformLocation(location),v0,v1)}Module["_emscripten_glUniform2i"]=_emscripten_glUniform2i;_emscripten_glUniform2i.sig="viii";function _emscripten_glUniform2iv(location,count,value){if(count<=144){var view=__miniTempWebGLIntBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(webglGetUniformLocation(location),view)}Module["_emscripten_glUniform2iv"]=_emscripten_glUniform2iv;_emscripten_glUniform2iv.sig="viii";function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(webglGetUniformLocation(location),v0,v1,v2)}Module["_emscripten_glUniform3f"]=_emscripten_glUniform3f;_emscripten_glUniform3f.sig="vifff";function _emscripten_glUniform3fv(location,count,value){if(count<=96){var view=miniTempWebGLFloatBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(webglGetUniformLocation(location),view)}Module["_emscripten_glUniform3fv"]=_emscripten_glUniform3fv;_emscripten_glUniform3fv.sig="viii";function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(webglGetUniformLocation(location),v0,v1,v2)}Module["_emscripten_glUniform3i"]=_emscripten_glUniform3i;_emscripten_glUniform3i.sig="viiii";function _emscripten_glUniform3iv(location,count,value){if(count<=96){var view=__miniTempWebGLIntBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3iv(webglGetUniformLocation(location),view)}Module["_emscripten_glUniform3iv"]=_emscripten_glUniform3iv;_emscripten_glUniform3iv.sig="viii";function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(webglGetUniformLocation(location),v0,v1,v2,v3)}Module["_emscripten_glUniform4f"]=_emscripten_glUniform4f;_emscripten_glUniform4f.sig="viffff";function _emscripten_glUniform4fv(location,count,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(webglGetUniformLocation(location),view)}Module["_emscripten_glUniform4fv"]=_emscripten_glUniform4fv;_emscripten_glUniform4fv.sig="viii";function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(webglGetUniformLocation(location),v0,v1,v2,v3)}Module["_emscripten_glUniform4i"]=_emscripten_glUniform4i;_emscripten_glUniform4i.sig="viiiii";function _emscripten_glUniform4iv(location,count,value){if(count<=72){var view=__miniTempWebGLIntBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2];view[i+3]=HEAP32[value+(4*i+12)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4iv(webglGetUniformLocation(location),view)}Module["_emscripten_glUniform4iv"]=_emscripten_glUniform4iv;_emscripten_glUniform4iv.sig="viii";function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(webglGetUniformLocation(location),!!transpose,view)}Module["_emscripten_glUniformMatrix2fv"]=_emscripten_glUniformMatrix2fv;_emscripten_glUniformMatrix2fv.sig="viiii";function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(count<=32){var view=miniTempWebGLFloatBuffers[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(webglGetUniformLocation(location),!!transpose,view)}Module["_emscripten_glUniformMatrix3fv"]=_emscripten_glUniformMatrix3fv;_emscripten_glUniformMatrix3fv.sig="viiii";function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(count<=18){var view=miniTempWebGLFloatBuffers[16*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(webglGetUniformLocation(location),!!transpose,view)}Module["_emscripten_glUniformMatrix4fv"]=_emscripten_glUniformMatrix4fv;_emscripten_glUniformMatrix4fv.sig="viiii";function _emscripten_glUseProgram(program){program=GL.programs[program];GLctx.useProgram(program);GLctx.currentProgram=program}Module["_emscripten_glUseProgram"]=_emscripten_glUseProgram;_emscripten_glUseProgram.sig="vi";function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}Module["_emscripten_glValidateProgram"]=_emscripten_glValidateProgram;_emscripten_glValidateProgram.sig="vi";function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}Module["_emscripten_glVertexAttrib1f"]=_emscripten_glVertexAttrib1f;_emscripten_glVertexAttrib1f.sig="vii";function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}Module["_emscripten_glVertexAttrib1fv"]=_emscripten_glVertexAttrib1fv;_emscripten_glVertexAttrib1fv.sig="vii";function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}Module["_emscripten_glVertexAttrib2f"]=_emscripten_glVertexAttrib2f;_emscripten_glVertexAttrib2f.sig="viii";function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}Module["_emscripten_glVertexAttrib2fv"]=_emscripten_glVertexAttrib2fv;_emscripten_glVertexAttrib2fv.sig="vii";function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}Module["_emscripten_glVertexAttrib3f"]=_emscripten_glVertexAttrib3f;_emscripten_glVertexAttrib3f.sig="viiii";function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}Module["_emscripten_glVertexAttrib3fv"]=_emscripten_glVertexAttrib3fv;_emscripten_glVertexAttrib3fv.sig="vii";function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}Module["_emscripten_glVertexAttrib4f"]=_emscripten_glVertexAttrib4f;_emscripten_glVertexAttrib4f.sig="viiiii";function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}Module["_emscripten_glVertexAttrib4fv"]=_emscripten_glVertexAttrib4fv;_emscripten_glVertexAttrib4fv.sig="vii";function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}Module["_emscripten_glVertexAttribDivisorANGLE"]=_emscripten_glVertexAttribDivisorANGLE;_emscripten_glVertexAttribDivisorANGLE.sig="vii";function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}Module["_emscripten_glVertexAttribPointer"]=_emscripten_glVertexAttribPointer;_emscripten_glVertexAttribPointer.sig="viiiiii";function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}Module["_emscripten_glViewport"]=_emscripten_glViewport;_emscripten_glViewport.sig="viiii";function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}Module["_emscripten_memcpy_big"]=_emscripten_memcpy_big;function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}Module["emscripten_realloc_buffer"]=emscripten_realloc_buffer;function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=2147483648;if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}Module["_emscripten_resize_heap"]=_emscripten_resize_heap;function _emscripten_thread_sleep(msecs){var start=_emscripten_get_now();while(_emscripten_get_now()-start<msecs){}}Module["_emscripten_thread_sleep"]=_emscripten_thread_sleep;function getExecutableName(){return thisProgram||"./this.program"}Module["getExecutableName"]=getExecutableName;function getEnvStrings(){if(!getEnvStrings.strings){var lang=(typeof navigator==="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(x+"="+env[x])}getEnvStrings.strings=strings}return getEnvStrings.strings}Module["getEnvStrings"]=getEnvStrings;function _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAP32[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}Module["_environ_get"]=_environ_get;_environ_get.sig="iii";function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=getEnvStrings();HEAP32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAP32[penviron_buf_size>>2]=bufSize;return 0}Module["_environ_sizes_get"]=_environ_sizes_get;_environ_sizes_get.sig="iii";function _execve(path,argv,envp){setErrNo(45);return-1}Module["_execve"]=_execve;_execve.sig="iiii";function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}Module["_fd_close"]=_fd_close;_fd_close.sig="ii";function _fd_fdstat_get(fd,pbuf){try{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4;HEAP8[pbuf>>0]=type;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}Module["_fd_fdstat_get"]=_fd_fdstat_get;_fd_fdstat_get.sig="iii";function _fd_pread(fd,iov,iovcnt,offset_low,offset_high,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doReadv(stream,iov,iovcnt,offset_low);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}Module["_fd_pread"]=_fd_pread;function _fd_pwrite(fd,iov,iovcnt,offset_low,offset_high,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt,offset_low);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}Module["_fd_pwrite"]=_fd_pwrite;function _fd_read(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doReadv(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}Module["_fd_read"]=_fd_read;_fd_read.sig="iiiii";function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}Module["_fd_seek"]=_fd_seek;function _fd_sync(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);if(stream.stream_ops&&stream.stream_ops.fsync){return-stream.stream_ops.fsync(stream)}return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}Module["_fd_sync"]=_fd_sync;_fd_sync.sig="ii";function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}Module["_fd_write"]=_fd_write;_fd_write.sig="iiiii";function _fork(){setErrNo(52);return-1}Module["_fork"]=_fork;_fork.sig="i";var GAI_ERRNO_MESSAGES={};Module["GAI_ERRNO_MESSAGES"]=GAI_ERRNO_MESSAGES;function _gai_strerror(val){var buflen=256;if(!_gai_strerror.buffer){_gai_strerror.buffer=_malloc(buflen);GAI_ERRNO_MESSAGES["0"]="Success";GAI_ERRNO_MESSAGES[""+-1]="Invalid value for 'ai_flags' field";GAI_ERRNO_MESSAGES[""+-2]="NAME or SERVICE is unknown";GAI_ERRNO_MESSAGES[""+-3]="Temporary failure in name resolution";GAI_ERRNO_MESSAGES[""+-4]="Non-recoverable failure in name res";GAI_ERRNO_MESSAGES[""+-6]="'ai_family' not supported";GAI_ERRNO_MESSAGES[""+-7]="'ai_socktype' not supported";GAI_ERRNO_MESSAGES[""+-8]="SERVICE not supported for 'ai_socktype'";GAI_ERRNO_MESSAGES[""+-10]="Memory allocation failure";GAI_ERRNO_MESSAGES[""+-11]="System error returned in 'errno'";GAI_ERRNO_MESSAGES[""+-12]="Argument buffer overflow"}var msg="Unknown error";if(val in GAI_ERRNO_MESSAGES){if(GAI_ERRNO_MESSAGES[val].length>buflen-1){msg="Message too long"}else{msg=GAI_ERRNO_MESSAGES[val]}}writeAsciiToMemory(msg,_gai_strerror.buffer);return _gai_strerror.buffer}Module["_gai_strerror"]=_gai_strerror;function _getTempRet0(){return getTempRet0()}Module["_getTempRet0"]=_getTempRet0;_getTempRet0.sig="i";function _getaddrinfo(node,service,hint,out){var addrs=[];var canon=null;var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai,last;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var errno;salen=family===10?28:16;addr=family===10?inetNtop6(addr):inetNtop4(addr);sa=_malloc(salen);errno=writeSockaddr(sa,family,addr,port);assert(!errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;HEAP32[ai+24>>2]=canon;HEAP32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=UTF8ToString(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}node=UTF8ToString(node);addr=inetPton4(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=inetPton6(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAP32[out>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=inetPton4(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}Module["_getaddrinfo"]=_getaddrinfo;_getaddrinfo.sig="iiiii";function _getentropy(buffer,size){if(!_getentropy.randomDevice){_getentropy.randomDevice=getRandomDevice()}for(var i=0;i<size;i++){HEAP8[buffer+i>>0]=_getentropy.randomDevice()}return 0}Module["_getentropy"]=_getentropy;function getHostByName(name){var ret=_malloc(20);var nameBuf=_malloc(name.length+1);stringToUTF8(name,nameBuf,name.length+1);HEAP32[ret>>2]=nameBuf;var aliasesBuf=_malloc(4);HEAP32[aliasesBuf>>2]=0;HEAP32[ret+4>>2]=aliasesBuf;var afinet=2;HEAP32[ret+8>>2]=afinet;HEAP32[ret+12>>2]=4;var addrListBuf=_malloc(12);HEAP32[addrListBuf>>2]=addrListBuf+8;HEAP32[addrListBuf+4>>2]=0;HEAP32[addrListBuf+8>>2]=inetPton4(DNS.lookup_name(name));HEAP32[ret+16>>2]=addrListBuf;return ret}Module["getHostByName"]=getHostByName;function _gethostbyaddr(addr,addrlen,type){if(type!==2){setErrNo(5);return null}addr=HEAP32[addr>>2];var host=inetNtop4(addr);var lookup=DNS.lookup_addr(host);if(lookup){host=lookup}return getHostByName(host)}Module["_gethostbyaddr"]=_gethostbyaddr;_gethostbyaddr.sig="iiii";function _gethostbyname(name){return getHostByName(UTF8ToString(name))}Module["_gethostbyname"]=_gethostbyname;_gethostbyname.sig="ii";function _getloadavg(loadavg,nelem){var limit=Math.min(nelem,3);var doubleSize=8;for(var i=0;i<limit;i++){HEAPF64[loadavg+i*doubleSize>>3]=.1}return limit}Module["_getloadavg"]=_getloadavg;function _getnameinfo(sa,salen,node,nodelen,serv,servlen,flags){var info=readSockaddr(sa,salen);if(info.errno){return-6}var port=info.port;var addr=info.addr;var overflowed=false;if(node&&nodelen){var lookup;if(flags&1||!(lookup=DNS.lookup_addr(addr))){if(flags&8){return-2}}else{addr=lookup}var numBytesWrittenExclNull=stringToUTF8(addr,node,nodelen);if(numBytesWrittenExclNull+1>=nodelen){overflowed=true}}if(serv&&servlen){port=""+port;var numBytesWrittenExclNull=stringToUTF8(port,serv,servlen);if(numBytesWrittenExclNull+1>=servlen){overflowed=true}}if(overflowed){return-12}return 0}Module["_getnameinfo"]=_getnameinfo;var Protocols={list:[],map:{}};Module["Protocols"]=Protocols;function _setprotoent(stayopen){function allocprotoent(name,proto,aliases){var nameBuf=_malloc(name.length+1);writeAsciiToMemory(name,nameBuf);var j=0;var length=aliases.length;var aliasListBuf=_malloc((length+1)*4);for(var i=0;i<length;i++,j+=4){var alias=aliases[i];var aliasBuf=_malloc(alias.length+1);writeAsciiToMemory(alias,aliasBuf);HEAP32[aliasListBuf+j>>2]=aliasBuf}HEAP32[aliasListBuf+j>>2]=0;var pe=_malloc(12);HEAP32[pe>>2]=nameBuf;HEAP32[pe+4>>2]=aliasListBuf;HEAP32[pe+8>>2]=proto;return pe}var list=Protocols.list;var map=Protocols.map;if(list.length===0){var entry=allocprotoent("tcp",6,["TCP"]);list.push(entry);map["tcp"]=map["6"]=entry;entry=allocprotoent("udp",17,["UDP"]);list.push(entry);map["udp"]=map["17"]=entry}_setprotoent.index=0}Module["_setprotoent"]=_setprotoent;function _getprotobyname(name){name=UTF8ToString(name);_setprotoent(true);var result=Protocols.map[name];return result}Module["_getprotobyname"]=_getprotobyname;function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}Module["_gettimeofday"]=_gettimeofday;function _kill(pid,sig){setErrNo(63);return-1}Module["_kill"]=_kill;function _posix_spawn(){return _fork()}Module["_posix_spawn"]=_posix_spawn;_posix_spawn.sig="i";function _proc_exit(code){procExit(code)}Module["_proc_exit"]=_proc_exit;_proc_exit.sig="vi";function _pthread_sigmask(how,set,oldset){err("pthread_sigmask() is not supported: this is a no-op.");return 0}Module["_pthread_sigmask"]=_pthread_sigmask;function _raise(sig){setErrNo(52);return-1}Module["_raise"]=_raise;function _setTempRet0(val){setTempRet0(val)}Module["_setTempRet0"]=_setTempRet0;_setTempRet0.sig="vi";function _setgroups(ngroups,gidset){if(ngroups<1||ngroups>_sysconf(3)){setErrNo(28);return-1}setErrNo(63);return-1}Module["_setgroups"]=_setgroups;function _siginterrupt(){return 0}Module["_siginterrupt"]=_siginterrupt;function _sigpending(set){HEAP32[set>>2]=0;return 0}Module["_sigpending"]=_sigpending;function _sigtimedwait(set,sig,timeout){return 28}Module["_sigtimedwait"]=_sigtimedwait;function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}Module["__isLeapYear"]=__isLeapYear;function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum}Module["__arraySum"]=__arraySum;var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];Module["__MONTH_DAYS_LEAP"]=__MONTH_DAYS_LEAP;var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];Module["__MONTH_DAYS_REGULAR"]=__MONTH_DAYS_REGULAR;function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}Module["__addDays"]=__addDays;function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length<digits){str=character[0]+str}return str}function leadingNulls(value,digits){return leadingSomething(value,digits,"0")}function compareByDay(date1,date2){function sgn(value){return value<0?-1:value>0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){return date.tm_wday||7},"%U":function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"},"%V":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()<date.tm_year+1900){daysDifference=date.tm_yday+32-firstWeekStartThisYear.getDate()}else{daysDifference=date.tm_yday+1-firstWeekStartThisYear.getDate()}return leadingNulls(Math.ceil(daysDifference/7),2)},"%w":function(date){return date.tm_wday},"%W":function(date){var janFirst=new Date(date.tm_year,0,1);var firstMonday=janFirst.getDay()===1?janFirst:__addDays(janFirst,janFirst.getDay()===0?1:7-janFirst.getDay()+1);var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstMonday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstMondayUntilEndJanuary=31-firstMonday.getDate();var days=firstMondayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstMonday,janFirst)===0?"01":"00"},"%y":function(date){return(date.tm_year+1900).toString().substring(2)},"%Y":function(date){return date.tm_year+1900},"%z":function(date){var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}Module["_strftime"]=_strftime;_strftime.sig="iiiii";function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}Module["_strftime_l"]=_strftime_l;function _system(command){if(ENVIRONMENT_IS_NODE){if(!command)return 1;var cmdstr=UTF8ToString(command);if(!cmdstr.length)return 0;var cp=require("child_process");var ret=cp.spawnSync(cmdstr,[],{shell:true,stdio:"inherit"});var _W_EXITCODE=function(ret,sig){return ret<<8|sig};if(ret.status===null){var signalToNumber=function(sig){switch(sig){case"SIGHUP":return 1;case"SIGINT":return 2;case"SIGQUIT":return 3;case"SIGFPE":return 8;case"SIGKILL":return 9;case"SIGALRM":return 14;case"SIGTERM":return 15}return 2};return _W_EXITCODE(0,signalToNumber(ret.signal))}return _W_EXITCODE(ret.status,0)}if(!command)return 0;setErrNo(52);return-1}Module["_system"]=_system;function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}Module["_time"]=_time;_time.sig="ii";function _times(buffer){if(buffer!==0){zeroMemory(buffer,16)}return 0}Module["_times"]=_times;function setFileTime(path,time){path=UTF8ToString(path);try{FS.utime(path,time,time);return 0}catch(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();setErrNo(e.errno);return-1}}Module["setFileTime"]=setFileTime;function _utimes(path,times){var time;if(times){var mtime=times+8;time=HEAP32[mtime>>2]*1e3;time+=HEAP32[mtime+4>>2]/1e3}else{time=Date.now()}return setFileTime(path,time)}Module["_utimes"]=_utimes;_utimes.sig="iii";function _wait3(a0){return _wait(a0)}Module["_wait3"]=_wait3;_wait3.sig="ii";function _wait4(a0){return _wait(a0)}Module["_wait4"]=_wait4;_wait4.sig="ii";function _waitid(a0){return _wait(a0)}Module["_waitid"]=_waitid;_waitid.sig="ii";var ___memory_base=1024;Module["___memory_base"]=___memory_base;var ___table_base=1;Module["___table_base"]=___table_base;function _utime(path,times){var time;if(times){time=HEAP32[times+4>>2]*1e3}else{time=Date.now()}return setFileTime(path,time)}Module["_utime"]=_utime;_utime.sig="iii";function _flock(fd,operation){return 0}Module["_flock"]=_flock;function _vfork(){return _fork()}Module["_vfork"]=_vfork;_vfork.sig="i";function _emscripten_notify_memory_growth(memoryIndex){updateGlobalBufferAndViews(wasmMemory.buffer)}Module["_emscripten_notify_memory_growth"]=_emscripten_notify_memory_growth;function _difftime(time1,time0){return time1-time0}Module["_difftime"]=_difftime;_difftime.sig="dii";function _timelocal(a0){return _mktime(a0)}Module["_timelocal"]=_timelocal;_timelocal.sig="ii";function _timegm(tmPtr){_tzset();var time=Date.UTC(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var date=new Date(time);HEAP32[tmPtr+24>>2]=date.getUTCDay();var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3|0}Module["_timegm"]=_timegm;_timegm.sig="ii";function _ctime_r(time,buf){var stack=stackSave();var rv=___asctime(_localtime_r(time,stackAlloc(44)),buf);stackRestore(stack);return rv}Module["_ctime_r"]=_ctime_r;_ctime_r.sig="iii";function _dysize(year){var leap=year%4==0&&(year%100!=0||year%400==0);return leap?366:365}Module["_dysize"]=_dysize;function _stime(when){setErrNo(63);return-1}Module["_stime"]=_stime;function _strptime(buf,format,tm){var pattern=UTF8ToString(format);var SPECIAL_CHARS="\\!@#$^&*()+=-[]/{}|:<>?,.";for(var i=0,ii=SPECIAL_CHARS.length;i<ii;++i){pattern=pattern.replace(new RegExp("\\"+SPECIAL_CHARS[i],"g"),"\\"+SPECIAL_CHARS[i])}var EQUIVALENT_MATCHERS={"%A":"%a","%B":"%b","%c":"%a %b %d %H:%M:%S %Y","%D":"%m\\/%d\\/%y","%e":"%d","%F":"%Y-%m-%d","%h":"%b","%R":"%H\\:%M","%r":"%I\\:%M\\:%S\\s%p","%T":"%H\\:%M\\:%S","%x":"%m\\/%d\\/(?:%y|%Y)","%X":"%H\\:%M\\:%S"};for(var matcher in EQUIVALENT_MATCHERS){pattern=pattern.replace(matcher,EQUIVALENT_MATCHERS[matcher])}var DATE_PATTERNS={"%a":"(?:Sun(?:day)?)|(?:Mon(?:day)?)|(?:Tue(?:sday)?)|(?:Wed(?:nesday)?)|(?:Thu(?:rsday)?)|(?:Fri(?:day)?)|(?:Sat(?:urday)?)","%b":"(?:Jan(?:uary)?)|(?:Feb(?:ruary)?)|(?:Mar(?:ch)?)|(?:Apr(?:il)?)|May|(?:Jun(?:e)?)|(?:Jul(?:y)?)|(?:Aug(?:ust)?)|(?:Sep(?:tember)?)|(?:Oct(?:ober)?)|(?:Nov(?:ember)?)|(?:Dec(?:ember)?)","%C":"\\d\\d","%d":"0[1-9]|[1-9](?!\\d)|1\\d|2\\d|30|31","%H":"\\d(?!\\d)|[0,1]\\d|20|21|22|23","%I":"\\d(?!\\d)|0\\d|10|11|12","%j":"00[1-9]|0?[1-9](?!\\d)|0?[1-9]\\d(?!\\d)|[1,2]\\d\\d|3[0-6]\\d","%m":"0[1-9]|[1-9](?!\\d)|10|11|12","%M":"0\\d|\\d(?!\\d)|[1-5]\\d","%n":"\\s","%p":"AM|am|PM|pm|A\\.M\\.|a\\.m\\.|P\\.M\\.|p\\.m\\.","%S":"0\\d|\\d(?!\\d)|[1-5]\\d|60","%U":"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53","%W":"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53","%w":"[0-6]","%y":"\\d\\d","%Y":"\\d\\d\\d\\d","%%":"%","%t":"\\s"};var MONTH_NUMBERS={JAN:0,FEB:1,MAR:2,APR:3,MAY:4,JUN:5,JUL:6,AUG:7,SEP:8,OCT:9,NOV:10,DEC:11};var DAY_NUMBERS_SUN_FIRST={SUN:0,MON:1,TUE:2,WED:3,THU:4,FRI:5,SAT:6};var DAY_NUMBERS_MON_FIRST={MON:0,TUE:1,WED:2,THU:3,FRI:4,SAT:5,SUN:6};for(var datePattern in DATE_PATTERNS){pattern=pattern.replace(datePattern,"("+datePattern+DATE_PATTERNS[datePattern]+")")}var capture=[];for(var i=pattern.indexOf("%");i>=0;i=pattern.indexOf("%")){capture.push(pattern[i+1]);pattern=pattern.replace(new RegExp("\\%"+pattern[i+1],"g"),"")}var matches=new RegExp("^"+pattern,"i").exec(UTF8ToString(buf));function initDate(){function fixup(value,min,max){return typeof value!=="number"||isNaN(value)?min:value>=min?value<=max?value:max:min}return{year:fixup(HEAP32[tm+20>>2]+1900,1970,9999),month:fixup(HEAP32[tm+16>>2],0,11),day:fixup(HEAP32[tm+12>>2],1,31),hour:fixup(HEAP32[tm+8>>2],0,23),min:fixup(HEAP32[tm+4>>2],0,59),sec:fixup(HEAP32[tm>>2],0,59)}}if(matches){var date=initDate();var value;var getMatch=function(symbol){var pos=capture.indexOf(symbol);if(pos>=0){return matches[pos+1]}return};if(value=getMatch("S")){date.sec=jstoi_q(value)}if(value=getMatch("M")){date.min=jstoi_q(value)}if(value=getMatch("H")){date.hour=jstoi_q(value)}else if(value=getMatch("I")){var hour=jstoi_q(value);if(value=getMatch("p")){hour+=value.toUpperCase()[0]==="P"?12:0}date.hour=hour}if(value=getMatch("Y")){date.year=jstoi_q(value)}else if(value=getMatch("y")){var year=jstoi_q(value);if(value=getMatch("C")){year+=jstoi_q(value)*100}else{year+=year<69?2e3:1900}date.year=year}if(value=getMatch("m")){date.month=jstoi_q(value)-1}else if(value=getMatch("b")){date.month=MONTH_NUMBERS[value.substring(0,3).toUpperCase()]||0}if(value=getMatch("d")){date.day=jstoi_q(value)}else if(value=getMatch("j")){var day=jstoi_q(value);var leapYear=__isLeapYear(date.year);for(var month=0;month<12;++month){var daysUntilMonth=__arraySum(leapYear?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,month-1);if(day<=daysUntilMonth+(leapYear?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[month]){date.day=day-daysUntilMonth}}}else if(value=getMatch("a")){var weekDay=value.substring(0,3).toUpperCase();if(value=getMatch("U")){var weekDayNumber=DAY_NUMBERS_SUN_FIRST[weekDay];var weekNumber=jstoi_q(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===0){endDate=__addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=__addDays(janFirst,7-janFirst.getDay()+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}else if(value=getMatch("W")){var weekDayNumber=DAY_NUMBERS_MON_FIRST[weekDay];var weekNumber=jstoi_q(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===1){endDate=__addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=__addDays(janFirst,7-janFirst.getDay()+1+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}}var fullDate=new Date(date.year,date.month,date.day,date.hour,date.min,date.sec,0);HEAP32[tm>>2]=fullDate.getSeconds();HEAP32[tm+4>>2]=fullDate.getMinutes();HEAP32[tm+8>>2]=fullDate.getHours();HEAP32[tm+12>>2]=fullDate.getDate();HEAP32[tm+16>>2]=fullDate.getMonth();HEAP32[tm+20>>2]=fullDate.getFullYear()-1900;HEAP32[tm+24>>2]=fullDate.getDay();HEAP32[tm+28>>2]=__arraySum(__isLeapYear(fullDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,fullDate.getMonth()-1)+fullDate.getDate()-1;HEAP32[tm+32>>2]=0;return buf+intArrayFromString(matches[0]).length-1}return 0}Module["_strptime"]=_strptime;function _strptime_l(buf,format,tm){return _strptime(buf,format,tm)}Module["_strptime_l"]=_strptime_l;function _getdate(string){return 0}Module["_getdate"]=_getdate;function _timespec_get(ts,base){if(base!==1){setErrNo(28);return 0}var ret=_clock_gettime(0,ts);return ret<0?0:base}Module["_timespec_get"]=_timespec_get;function _clock_getcpuclockid(pid,clk_id){if(pid<0)return 71;if(pid!==0&&pid!==42)return 52;if(clk_id)HEAP32[clk_id>>2]=2;return 0}Module["_clock_getcpuclockid"]=_clock_getcpuclockid;function _ftime(p){var millis=Date.now();HEAP32[p>>2]=millis/1e3|0;HEAP16[p+4>>1]=millis%1e3;HEAP16[p+6>>1]=0;HEAP16[p+8>>1]=0;return 0}Module["_ftime"]=_ftime;var ERRNO_MESSAGES={0:"Success",1:"Arg list too long",2:"Permission denied",3:"Address already in use",4:"Address not available",5:"Address family not supported by protocol family",6:"No more processes",7:"Socket already connected",8:"Bad file number",9:"Trying to read unreadable message",10:"Mount device busy",11:"Operation canceled",12:"No children",13:"Connection aborted",14:"Connection refused",15:"Connection reset by peer",16:"File locking deadlock error",17:"Destination address required",18:"Math arg out of domain of func",19:"Quota exceeded",20:"File exists",21:"Bad address",22:"File too large",23:"Host is unreachable",24:"Identifier removed",25:"Illegal byte sequence",26:"Connection already in progress",27:"Interrupted system call",28:"Invalid argument",29:"I/O error",30:"Socket is already connected",31:"Is a directory",32:"Too many symbolic links",33:"Too many open files",34:"Too many links",35:"Message too long",36:"Multihop attempted",37:"File or path name too long",38:"Network interface is not configured",39:"Connection reset by network",40:"Network is unreachable",41:"Too many open files in system",42:"No buffer space available",43:"No such device",44:"No such file or directory",45:"Exec format error",46:"No record locks available",47:"The link has been severed",48:"Not enough core",49:"No message of desired type",50:"Protocol not available",51:"No space left on device",52:"Function not implemented",53:"Socket is not connected",54:"Not a directory",55:"Directory not empty",56:"State not recoverable",57:"Socket operation on non-socket",59:"Not a typewriter",60:"No such device or address",61:"Value too large for defined data type",62:"Previous owner died",63:"Not super-user",64:"Broken pipe",65:"Protocol error",66:"Unknown protocol",67:"Protocol wrong type for socket",68:"Math result not representable",69:"Read only file system",70:"Illegal seek",71:"No such process",72:"Stale file handle",73:"Connection timed out",74:"Text file busy",75:"Cross-device link",100:"Device not a stream",101:"Bad font file fmt",102:"Invalid slot",103:"Invalid request code",104:"No anode",105:"Block device required",106:"Channel number out of range",107:"Level 3 halted",108:"Level 3 reset",109:"Link number out of range",110:"Protocol driver not attached",111:"No CSI structure available",112:"Level 2 halted",113:"Invalid exchange",114:"Invalid request descriptor",115:"Exchange full",116:"No data (for no delay io)",117:"Timer expired",118:"Out of streams resources",119:"Machine is not on the network",120:"Package not installed",121:"The object is remote",122:"Advertise error",123:"Srmount error",124:"Communication error on send",125:"Cross mount point (not really error)",126:"Given log. name not unique",127:"f.d. invalid for this operation",128:"Remote address changed",129:"Can   access a needed shared lib",130:"Accessing a corrupted shared lib",131:".lib section in a.out corrupted",132:"Attempting to link in too many libs",133:"Attempting to exec a shared library",135:"Streams pipe error",136:"Too many users",137:"Socket type not supported",138:"Not supported",139:"Protocol family not supported",140:"Can't send after socket shutdown",141:"Too many references",142:"Host is down",148:"No medium (in tape drive)",156:"Level 2 not synchronized"};Module["ERRNO_MESSAGES"]=ERRNO_MESSAGES;function _gethostbyname_r(name,ret,buf,buflen,out,err){var data=_gethostbyname(name);_memcpy(ret,data,20);_free(data);HEAP32[err>>2]=0;HEAP32[out>>2]=ret;return 0}Module["_gethostbyname_r"]=_gethostbyname_r;_gethostbyname_r.sig="iiiiiii";function _endprotoent(){}Module["_endprotoent"]=_endprotoent;function _getprotoent(number){if(_setprotoent.index===Protocols.list.length){return 0}else{var result=Protocols.list[_setprotoent.index++];return result}}Module["_getprotoent"]=_getprotoent;function _getprotobynumber(number){_setprotoent(true);var result=Protocols.map[number];return result}Module["_getprotobynumber"]=_getprotobynumber;function _getpwnam(){throw"getpwnam: TODO"}Module["_getpwnam"]=_getpwnam;function _getpwnam_r(){throw"getpwnam_r: TODO"}Module["_getpwnam_r"]=_getpwnam_r;function _getpwuid(){throw"getpwuid: TODO"}Module["_getpwuid"]=_getpwuid;function _getpwuid_r(){throw"getpwuid_r: TODO"}Module["_getpwuid_r"]=_getpwuid_r;function _setpwent(){throw"setpwent: TODO"}Module["_setpwent"]=_setpwent;function _getpwent(){throw"getpwent: TODO"}Module["_getpwent"]=_getpwent;function _endpwent(){throw"endpwent: TODO"}Module["_endpwent"]=_endpwent;function _getgrgid(){throw"getgrgid: TODO"}Module["_getgrgid"]=_getgrgid;function _getgrgid_r(){throw"getgrgid_r: TODO"}Module["_getgrgid_r"]=_getgrgid_r;function _getgrnam(){throw"getgrnam: TODO"}Module["_getgrnam"]=_getgrnam;function _getgrnam_r(){throw"getgrnam_r: TODO"}Module["_getgrnam_r"]=_getgrnam_r;function _getgrent(){throw"getgrent: TODO"}Module["_getgrent"]=_getgrent;function _endgrent(){throw"endgrent: TODO"}Module["_endgrent"]=_endgrent;function _setgrent(){throw"setgrent: TODO"}Module["_setgrent"]=_setgrent;function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}Module["_emscripten_run_script"]=_emscripten_run_script;_emscripten_run_script.sig="vi";function _emscripten_run_script_int(ptr){return eval(UTF8ToString(ptr))|0}Module["_emscripten_run_script_int"]=_emscripten_run_script_int;_emscripten_run_script_int.sig="ii";function _emscripten_run_script_string(ptr){var s=eval(UTF8ToString(ptr));if(s==null){return 0}s+="";var me=_emscripten_run_script_string;var len=lengthBytesUTF8(s);if(!me.bufferSize||me.bufferSize<len+1){if(me.bufferSize)_free(me.buffer);me.bufferSize=len+1;me.buffer=_malloc(me.bufferSize)}stringToUTF8(s,me.buffer,me.bufferSize);return me.buffer}Module["_emscripten_run_script_string"]=_emscripten_run_script_string;_emscripten_run_script_string.sig="ii";function _emscripten_random(){return Math.random()}Module["_emscripten_random"]=_emscripten_random;function traverseStack(args){if(!args||!args.callee||!args.callee.name){return[null,"",""]}var funstr=args.callee.toString();var funcname=args.callee.name;var str="(";var first=true;for(var i in args){var a=args[i];if(!first){str+=", "}first=false;if(typeof a==="number"||typeof a==="string"){str+=a}else{str+="("+typeof a+")"}}str+=")";var caller=args.callee.caller;args=caller?caller.arguments:[];if(first)str="";return[args,funcname,str]}Module["traverseStack"]=traverseStack;function _emscripten_get_callstack_js(flags){var callstack=jsStackTrace();var iThisFunc=callstack.lastIndexOf("_emscripten_log");var iThisFunc2=callstack.lastIndexOf("_emscripten_get_callstack");var iNextLine=callstack.indexOf("\n",Math.max(iThisFunc,iThisFunc2))+1;callstack=callstack.slice(iNextLine);if(flags&32){warnOnce("EM_LOG_DEMANGLE is deprecated; ignoring")}if(flags&8&&typeof emscripten_source_map==="undefined"){warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.');flags^=8;flags|=16}var stack_args=null;if(flags&128){stack_args=traverseStack(arguments);while(stack_args[1].includes("_emscripten_"))stack_args=traverseStack(stack_args[0])}var lines=callstack.split("\n");callstack="";var newFirefoxRe=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)");var firefoxRe=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?");var chromeRe=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var l in lines){var line=lines[l];var symbolName="";var file="";var lineno=0;var column=0;var parts=chromeRe.exec(line);if(parts&&parts.length==5){symbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]}else{parts=newFirefoxRe.exec(line);if(!parts)parts=firefoxRe.exec(line);if(parts&&parts.length>=4){symbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]|0}else{callstack+=line+"\n";continue}}var haveSourceMap=false;if(flags&8){var orig=emscripten_source_map.originalPositionFor({line:lineno,column:column});haveSourceMap=orig&&orig.source;if(haveSourceMap){if(flags&64){orig.source=orig.source.substring(orig.source.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+="    at "+symbolName+" ("+orig.source+":"+orig.line+":"+orig.column+")\n"}}if(flags&16||!haveSourceMap){if(flags&64){file=file.substring(file.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=(haveSourceMap?"     = "+symbolName:"    at "+symbolName)+" ("+file+":"+lineno+":"+column+")\n"}if(flags&128&&stack_args[0]){if(stack_args[1]==symbolName&&stack_args[2].length>0){callstack=callstack.replace(/\s+$/,"");callstack+=" with values: "+stack_args[1]+stack_args[2]+"\n"}stack_args=traverseStack(stack_args[0])}}callstack=callstack.replace(/\s+$/,"");return callstack}Module["_emscripten_get_callstack_js"]=_emscripten_get_callstack_js;function _emscripten_get_callstack(flags,str,maxbytes){var callstack=_emscripten_get_callstack_js(flags);if(!str||maxbytes<=0){return lengthBytesUTF8(callstack)+1}var bytesWrittenExcludingNull=stringToUTF8(callstack,str,maxbytes);return bytesWrittenExcludingNull+1}Module["_emscripten_get_callstack"]=_emscripten_get_callstack;function _emscripten_log_js(flags,str){if(flags&24){str=str.replace(/\s+$/,"");str+=(str.length>0?"\n":"")+_emscripten_get_callstack_js(flags)}if(flags&1){if(flags&4){err(str)}else if(flags&2){console.warn(str)}else if(flags&512){console.info(str)}else if(flags&256){console.debug(str)}else{out(str)}}else if(flags&6){err(str)}else{out(str)}}Module["_emscripten_log_js"]=_emscripten_log_js;function reallyNegative(x){return x<0||x===0&&1/x===-Infinity}Module["reallyNegative"]=reallyNegative;function convertI32PairToI53(lo,hi){return(lo>>>0)+hi*4294967296}Module["convertI32PairToI53"]=convertI32PairToI53;function convertU32PairToI53(lo,hi){return(lo>>>0)+(hi>>>0)*4294967296}Module["convertU32PairToI53"]=convertU32PairToI53;function reSign(value,bits){if(value<=0){return value}var half=bits<=32?Math.abs(1<<bits-1):Math.pow(2,bits-1);if(value>=half&&(bits<=32||value>half)){value=-2*half+value}return value}Module["reSign"]=reSign;function unSign(value,bits){if(value>=0){return value}return bits<=32?2*Math.abs(1<<bits-1)+value:Math.pow(2,bits)+value}Module["unSign"]=unSign;function formatString(format,varargs){var textIndex=format;var argIndex=varargs;function prepVararg(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){ptr+=4}}else{}return ptr}function getNextArg(type){var ret;argIndex=prepVararg(argIndex,type);if(type==="double"){ret=HEAPF64[argIndex>>3];argIndex+=8}else if(type=="i64"){ret=[HEAP32[argIndex>>2],HEAP32[argIndex+4>>2]];argIndex+=8}else{type="i32";ret=HEAP32[argIndex>>2];argIndex+=4}return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex>>0];if(curr===0)break;next=HEAP8[textIndex+1>>0];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break}case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1>>0]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1>>0]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1>>0]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1>>0];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1>>0];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1>>0]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1>>0];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;currArg=getNextArg("i"+argSize*8);var argText;if(argSize==8){currArg=next==117?convertU32PairToI53(currArg[0],currArg[1]):convertI32PairToI53(currArg[0],currArg[1])}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){argText=reSign(currArg,8*argSize,1).toString(10)}else if(next==117){argText=unSign(currArg,8*argSize,1).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i<argText.length;i++){buffer.push((15-parseInt(argText[i],16)).toString(16))}argText=buffer.join("");while(argText.length<argSize*2)argText="f"+argText}else{argText=currAbsArg.toString(16)}if(next==88){prefix=prefix.toUpperCase();argText=argText.toUpperCase()}}else if(next==112){if(currAbsArg===0){argText="(nil)"}else{prefix="0x";argText=currAbsArg.toString(16)}}if(precisionSet){while(argText.length<precision){argText="0"+argText}}if(currArg>=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.substr(1)}while(prefix.length+argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad){argText="0"+argText}else{prefix=" "+prefix}}}argText=prefix+argText;argText.split("").forEach(function(chr){ret.push(chr.charCodeAt(0))});break}case"f":case"F":case"e":case"E":case"g":case"G":{currArg=getNextArg("double");var argText;if(isNaN(currArg)){argText="nan";flagZeroPad=false}else if(!isFinite(currArg)){argText=(currArg<0?"-":"")+"inf";flagZeroPad=false}else{var isGeneral=false;var effectivePrecision=Math.min(precision,20);if(next==103||next==71){isGeneral=true;precision=precision||1;var exponent=parseInt(currArg.toExponential(effectivePrecision).split("e")[1],10);if(precision>exponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].includes(".")&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad&&(argText[0]=="-"||argText[0]=="+")){argText=argText[0]+"0"+argText.slice(1)}else{argText=(flagZeroPad?"0":" ")+argText}}}if(next<97)argText=argText.toUpperCase();argText.split("").forEach(function(chr){ret.push(chr.charCodeAt(0))});break}case"s":{var arg=getNextArg("i8*");var argLength=arg?_strlen(arg):"(null)".length;if(precisionSet)argLength=Math.min(argLength,precision);if(!flagLeftAlign){while(argLength<width--){ret.push(32)}}if(arg){for(var i=0;i<argLength;i++){ret.push(HEAPU8[arg++>>0])}}else{ret=ret.concat(intArrayFromString("(null)".substr(0,argLength),true))}if(flagLeftAlign){while(argLength<width--){ret.push(32)}}break}case"c":{if(flagLeftAlign)ret.push(getNextArg("i8"));while(--width>0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break}case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break}case"%":{ret.push(curr);break}default:{for(var i=startTextIndex;i<textIndex+2;i++){ret.push(HEAP8[i>>0])}}}textIndex+=2}else{ret.push(curr);textIndex+=1}}return ret}Module["formatString"]=formatString;function _emscripten_log(flags,format,varargs){var result=formatString(format,varargs);var str=UTF8ArrayToString(result,0);_emscripten_log_js(flags,str)}Module["_emscripten_log"]=_emscripten_log;function _emscripten_get_compiler_setting(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for getCompilerSetting or emscripten_get_compiler_setting to work"}Module["_emscripten_get_compiler_setting"]=_emscripten_get_compiler_setting;function _emscripten_has_asyncify(){return 0}Module["_emscripten_has_asyncify"]=_emscripten_has_asyncify;function _emscripten_debugger(){debugger}Module["_emscripten_debugger"]=_emscripten_debugger;function _emscripten_print_double(x,to,max){var str=x+"";if(to)return stringToUTF8(str,to,max);else return lengthBytesUTF8(str)}Module["_emscripten_print_double"]=_emscripten_print_double;function _emscripten_generate_pc(frame){abort("Cannot use emscripten_generate_pc (needed by __builtin_return_address) without -s USE_OFFSET_CONVERTER")}Module["_emscripten_generate_pc"]=_emscripten_generate_pc;function _emscripten_return_address(level){var callstack=(new Error).stack.split("\n");if(callstack[0]=="Error"){callstack.shift()}return _emscripten_generate_pc(callstack[level+2])}Module["_emscripten_return_address"]=_emscripten_return_address;var UNWIND_CACHE={};Module["UNWIND_CACHE"]=UNWIND_CACHE;function __emscripten_save_in_unwind_cache(callstack){callstack.forEach(function(frame){var pc=_emscripten_generate_pc(frame);if(pc){UNWIND_CACHE[pc]=frame}})}Module["__emscripten_save_in_unwind_cache"]=__emscripten_save_in_unwind_cache;function _emscripten_stack_snapshot(){var callstack=(new Error).stack.split("\n");if(callstack[0]=="Error"){callstack.shift()}__emscripten_save_in_unwind_cache(callstack);UNWIND_CACHE.last_addr=_emscripten_generate_pc(callstack[2]);UNWIND_CACHE.last_stack=callstack;return UNWIND_CACHE.last_addr}Module["_emscripten_stack_snapshot"]=_emscripten_stack_snapshot;function _emscripten_stack_unwind_buffer(addr,buffer,count){var stack;if(UNWIND_CACHE.last_addr==addr){stack=UNWIND_CACHE.last_stack}else{stack=(new Error).stack.split("\n");if(stack[0]=="Error"){stack.shift()}__emscripten_save_in_unwind_cache(stack)}var offset=2;while(stack[offset]&&_emscripten_generate_pc(stack[offset])!=addr){++offset}for(var i=0;i<count&&stack[i+offset];++i){HEAP32[buffer+i*4>>2]=_emscripten_generate_pc(stack[i+offset])}return i}Module["_emscripten_stack_unwind_buffer"]=_emscripten_stack_unwind_buffer;function _emscripten_pc_get_function(pc){abort("Cannot use emscripten_pc_get_function without -s USE_OFFSET_CONVERTER")}Module["_emscripten_pc_get_function"]=_emscripten_pc_get_function;function _emscripten_pc_get_source_js(pc){if(UNWIND_CACHE.last_get_source_pc==pc)return UNWIND_CACHE.last_source;var match;var source;if(!source){var frame=UNWIND_CACHE[pc];if(!frame)return null;if(match=/\((.*):(\d+):(\d+)\)$/.exec(frame)){source={file:match[1],line:match[2],column:match[3]}}else if(match=/@(.*):(\d+):(\d+)/.exec(frame)){source={file:match[1],line:match[2],column:match[3]}}}UNWIND_CACHE.last_get_source_pc=pc;UNWIND_CACHE.last_source=source;return source}Module["_emscripten_pc_get_source_js"]=_emscripten_pc_get_source_js;function withBuiltinMalloc(func){var prev_malloc=typeof _malloc!=="undefined"?_malloc:undefined;var prev_memalign=typeof _memalign!=="undefined"?_memalign:undefined;var prev_free=typeof _free!=="undefined"?_free:undefined;_malloc=_emscripten_builtin_malloc;_memalign=_emscripten_builtin_memalign;_free=_emscripten_builtin_free;try{return func()}finally{_malloc=prev_malloc;_memalign=prev_memalign;_free=prev_free}}Module["withBuiltinMalloc"]=withBuiltinMalloc;function _emscripten_pc_get_file(pc){var result=_emscripten_pc_get_source_js(pc);if(!result)return 0;withBuiltinMalloc(function(){if(_emscripten_pc_get_file.ret)_free(_emscripten_pc_get_file.ret);_emscripten_pc_get_file.ret=allocateUTF8(result.file)});return _emscripten_pc_get_file.ret}Module["_emscripten_pc_get_file"]=_emscripten_pc_get_file;function _emscripten_pc_get_line(pc){var result=_emscripten_pc_get_source_js(pc);return result?result.line:0}Module["_emscripten_pc_get_line"]=_emscripten_pc_get_line;function _emscripten_pc_get_column(pc){var result=_emscripten_pc_get_source_js(pc);return result?result.column||0:0}Module["_emscripten_pc_get_column"]=_emscripten_pc_get_column;function _emscripten_get_module_name(buf,length){return stringToUTF8(wasmBinaryFile,buf,length)}Module["_emscripten_get_module_name"]=_emscripten_get_module_name;function _emscripten_builtin_mmap2(addr,len,prot,flags,fd,off){return withBuiltinMalloc(function(){return syscallMmap2(addr,len,prot,flags,fd,off)})}Module["_emscripten_builtin_mmap2"]=_emscripten_builtin_mmap2;function _emscripten_builtin_munmap(addr,len){return withBuiltinMalloc(function(){return syscallMunmap(addr,len)})}Module["_emscripten_builtin_munmap"]=_emscripten_builtin_munmap;function _emscripten_asm_const_double(a0,a1,a2){return _emscripten_asm_const_int(a0,a1,a2)}Module["_emscripten_asm_const_double"]=_emscripten_asm_const_double;_emscripten_asm_const_double.sig="iiii";function mainThreadEM_ASM(code,sigPtr,argbuf,sync){code-=1024;var args=readAsmConstArgs(sigPtr,argbuf);return ASM_CONSTS[code].apply(null,args)}Module["mainThreadEM_ASM"]=mainThreadEM_ASM;function _emscripten_asm_const_int_sync_on_main_thread(code,sigPtr,argbuf){return mainThreadEM_ASM(code,sigPtr,argbuf,1)}Module["_emscripten_asm_const_int_sync_on_main_thread"]=_emscripten_asm_const_int_sync_on_main_thread;_emscripten_asm_const_int_sync_on_main_thread.sig="iiii";function _emscripten_asm_const_double_sync_on_main_thread(a0,a1,a2){return _emscripten_asm_const_int_sync_on_main_thread(a0,a1,a2)}Module["_emscripten_asm_const_double_sync_on_main_thread"]=_emscripten_asm_const_double_sync_on_main_thread;_emscripten_asm_const_double_sync_on_main_thread.sig="iiii";function _emscripten_asm_const_async_on_main_thread(code,sigPtr,argbuf){return mainThreadEM_ASM(code,sigPtr,argbuf,0)}Module["_emscripten_asm_const_async_on_main_thread"]=_emscripten_asm_const_async_on_main_thread;function jstoi_s(str){return Number(str)}Module["jstoi_s"]=jstoi_s;function __Unwind_Backtrace(func,arg){var trace=_emscripten_get_callstack_js();var parts=trace.split("\n");for(var i=0;i<parts.length;i++){var ret=wasmTable.get(func)(0,arg);if(ret!==0)return}}Module["__Unwind_Backtrace"]=__Unwind_Backtrace;function __Unwind_GetIPInfo(){abort("Unwind_GetIPInfo")}Module["__Unwind_GetIPInfo"]=__Unwind_GetIPInfo;function __Unwind_FindEnclosingFunction(){return 0}Module["__Unwind_FindEnclosingFunction"]=__Unwind_FindEnclosingFunction;function __Unwind_RaiseException(ex){err("Warning: _Unwind_RaiseException is not correctly implemented");return ___cxa_throw(ex,0,0)}Module["__Unwind_RaiseException"]=__Unwind_RaiseException;function __Unwind_DeleteException(ex){err("TODO: Unwind_DeleteException")}Module["__Unwind_DeleteException"]=__Unwind_DeleteException;function _emscripten_autodebug_i64(line,valuel,valueh){out("AD:"+[line,valuel,valueh])}Module["_emscripten_autodebug_i64"]=_emscripten_autodebug_i64;function _emscripten_autodebug_i32(line,value){out("AD:"+[line,value])}Module["_emscripten_autodebug_i32"]=_emscripten_autodebug_i32;function _emscripten_autodebug_i16(line,value){out("AD:"+[line,value])}Module["_emscripten_autodebug_i16"]=_emscripten_autodebug_i16;function _emscripten_autodebug_i8(line,value){out("AD:"+[line,value])}Module["_emscripten_autodebug_i8"]=_emscripten_autodebug_i8;function _emscripten_autodebug_float(line,value){out("AD:"+[line,value])}Module["_emscripten_autodebug_float"]=_emscripten_autodebug_float;function _emscripten_autodebug_double(line,value){out("AD:"+[line,value])}Module["_emscripten_autodebug_double"]=_emscripten_autodebug_double;function ___handle_stack_overflow(){abort("stack overflow")}Module["___handle_stack_overflow"]=___handle_stack_overflow;function getDynCaller(sig,ptr){var argCache=[];return function(){argCache.length=arguments.length;for(var i=0;i<arguments.length;i++){argCache[i]=arguments[i]}return dynCall(sig,ptr,argCache)}}Module["getDynCaller"]=getDynCaller;function _emscripten_force_exit(status){noExitRuntime=false;runtimeKeepaliveCounter=0;exit(status)}Module["_emscripten_force_exit"]=_emscripten_force_exit;_emscripten_force_exit.sig="vi";function _emscripten_math_cbrt(x){return Math.cbrt(x)}Module["_emscripten_math_cbrt"]=_emscripten_math_cbrt;function _emscripten_math_pow(x,y){return Math.pow(x,y)}Module["_emscripten_math_pow"]=_emscripten_math_pow;function _emscripten_math_random(x){return Math.random(x)}Module["_emscripten_math_random"]=_emscripten_math_random;function _emscripten_math_sign(x){return Math.sign(x)}Module["_emscripten_math_sign"]=_emscripten_math_sign;function _emscripten_math_sqrt(x){return Math.sqrt(x)}Module["_emscripten_math_sqrt"]=_emscripten_math_sqrt;function _emscripten_math_exp(x){return Math.exp(x)}Module["_emscripten_math_exp"]=_emscripten_math_exp;function _emscripten_math_expm1(x){return Math.expm1(x)}Module["_emscripten_math_expm1"]=_emscripten_math_expm1;function _emscripten_math_fmod(x,y){return x%y}Module["_emscripten_math_fmod"]=_emscripten_math_fmod;function _emscripten_math_log(x){return Math.log(x)}Module["_emscripten_math_log"]=_emscripten_math_log;function _emscripten_math_log1p(x){return Math.log1p(x)}Module["_emscripten_math_log1p"]=_emscripten_math_log1p;function _emscripten_math_log10(x){return Math.log10(x)}Module["_emscripten_math_log10"]=_emscripten_math_log10;function _emscripten_math_log2(x){return Math.log2(x)}Module["_emscripten_math_log2"]=_emscripten_math_log2;function _emscripten_math_round(x){return Math.round(x)}Module["_emscripten_math_round"]=_emscripten_math_round;function _emscripten_math_acos(x){return Math.acos(x)}Module["_emscripten_math_acos"]=_emscripten_math_acos;function _emscripten_math_acosh(x){return Math.acosh(x)}Module["_emscripten_math_acosh"]=_emscripten_math_acosh;function _emscripten_math_asin(x){return Math.asin(x)}Module["_emscripten_math_asin"]=_emscripten_math_asin;function _emscripten_math_asinh(x){return Math.asinh(x)}Module["_emscripten_math_asinh"]=_emscripten_math_asinh;function _emscripten_math_atan(x){return Math.atan(x)}Module["_emscripten_math_atan"]=_emscripten_math_atan;function _emscripten_math_atanh(x){return Math.atanh(x)}Module["_emscripten_math_atanh"]=_emscripten_math_atanh;function _emscripten_math_atan2(y,x){return Math.atan2(y,x)}Module["_emscripten_math_atan2"]=_emscripten_math_atan2;function _emscripten_math_cos(x){return Math.cos(x)}Module["_emscripten_math_cos"]=_emscripten_math_cos;function _emscripten_math_cosh(x){return Math.cosh(x)}Module["_emscripten_math_cosh"]=_emscripten_math_cosh;function _emscripten_math_hypot(count,varargs){var args=[];for(var i=0;i<count;++i)args.push(HEAPF64[(varargs>>3)+i]);return Math.hypot.apply(null,args)}Module["_emscripten_math_hypot"]=_emscripten_math_hypot;function _emscripten_math_sin(x){return Math.sin(x)}Module["_emscripten_math_sin"]=_emscripten_math_sin;function _emscripten_math_sinh(x){return Math.sinh(x)}Module["_emscripten_math_sinh"]=_emscripten_math_sinh;function _emscripten_math_tan(x){return Math.tan(x)}Module["_emscripten_math_tan"]=_emscripten_math_tan;function _emscripten_math_tanh(x){return Math.tanh(x)}Module["_emscripten_math_tanh"]=_emscripten_math_tanh;function _sigaction(a0,a1,a2){return ___sigaction(a0,a1,a2)}Module["_sigaction"]=_sigaction;_sigaction.sig="viii";function ___sys_getpgrp(){return 42}Module["___sys_getpgrp"]=___sys_getpgrp;function ___sys_rt_sigqueueinfo(tgid,pid,uinfo){try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_rt_sigqueueinfo"]=___sys_rt_sigqueueinfo;function ___sys_setregid32(ruid,euid){if(ruid!==0)return-63;return 0}Module["___sys_setregid32"]=___sys_setregid32;___sys_setregid32.sig="iii";function ___sys_setreuid32(a0,a1){return ___sys_setregid32(a0,a1)}Module["___sys_setreuid32"]=___sys_setreuid32;___sys_setreuid32.sig="iii";function ___sys_setgid32(uid){if(uid!==0)return-63;return 0}Module["___sys_setgid32"]=___sys_setgid32;___sys_setgid32.sig="ii";function ___sys_setuid32(a0){return ___sys_setgid32(a0)}Module["___sys_setuid32"]=___sys_setuid32;___sys_setuid32.sig="ii";function ___sys_setresgid32(ruid,euid,suid){if(euid!==0)return-63;return 0}Module["___sys_setresgid32"]=___sys_setresgid32;___sys_setresgid32.sig="iiii";function ___sys_setresuid32(a0,a1,a2){return ___sys_setresgid32(a0,a1,a2)}Module["___sys_setresuid32"]=___sys_setresuid32;___sys_setresuid32.sig="iiii";function ___sys_faccessat(dirfd,path,amode,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);return SYSCALLS.doAccess(path,amode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___sys_faccessat"]=___sys_faccessat;var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence<y.precedence})},removeDeferredCalls:function(targetFunction){for(var i=0;i<JSEvents.deferredCalls.length;++i){if(JSEvents.deferredCalls[i].targetFunction==targetFunction){JSEvents.deferredCalls.splice(i,1);--i}}},canPerformEventHandlerRequests:function(){return JSEvents.inEventHandler&&JSEvents.currentEventHandler.allowsDeferredCalls},runDeferredCalls:function(){if(!JSEvents.canPerformEventHandlerRequests()){return}for(var i=0;i<JSEvents.deferredCalls.length;++i){var call=JSEvents.deferredCalls[i];JSEvents.deferredCalls.splice(i,1);--i;call.targetFunction.apply(null,call.argsList)}},eventHandlers:[],removeAllHandlersOnTarget:function(target,eventTypeString){for(var i=0;i<JSEvents.eventHandlers.length;++i){if(JSEvents.eventHandlers[i].target==target&&(!eventTypeString||eventTypeString==JSEvents.eventHandlers[i].eventTypeString)){JSEvents._removeHandler(i--)}}},_removeHandler:function(i){var h=JSEvents.eventHandlers[i];h.target.removeEventListener(h.eventTypeString,h.eventListenerFunc,h.useCapture);JSEvents.eventHandlers.splice(i,1)},registerOrRemoveHandler:function(eventHandler){var jsEventHandler=function jsEventHandler(event){++JSEvents.inEventHandler;JSEvents.currentEventHandler=eventHandler;JSEvents.runDeferredCalls();eventHandler.handlerFunc(event);JSEvents.runDeferredCalls();--JSEvents.inEventHandler};if(eventHandler.callbackfunc){eventHandler.eventListenerFunc=jsEventHandler;eventHandler.target.addEventListener(eventHandler.eventTypeString,jsEventHandler,eventHandler.useCapture);JSEvents.eventHandlers.push(eventHandler);JSEvents.registerRemoveEventListeners()}else{for(var i=0;i<JSEvents.eventHandlers.length;++i){if(JSEvents.eventHandlers[i].target==eventHandler.target&&JSEvents.eventHandlers[i].eventTypeString==eventHandler.eventTypeString){JSEvents._removeHandler(i--)}}}},getNodeNameForTarget:function(target){if(!target)return"";if(target==window)return"#window";if(target==screen)return"#screen";return target&&target.nodeName?target.nodeName:""},fullscreenEnabled:function(){return document.fullscreenEnabled||document.webkitFullscreenEnabled}};Module["JSEvents"]=JSEvents;function maybeCStringToJsString(cString){return cString>2?UTF8ToString(cString):cString}Module["maybeCStringToJsString"]=maybeCStringToJsString;var specialHTMLTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];Module["specialHTMLTargets"]=specialHTMLTargets;function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!=="undefined"?document.querySelector(target):undefined);return domElement}Module["findEventTarget"]=findEventTarget;function registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(176);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;HEAPF64[keyEventData>>3]=e.timeStamp;var idx=keyEventData>>2;HEAP32[idx+2]=e.location;HEAP32[idx+3]=e.ctrlKey;HEAP32[idx+4]=e.shiftKey;HEAP32[idx+5]=e.altKey;HEAP32[idx+6]=e.metaKey;HEAP32[idx+7]=e.repeat;HEAP32[idx+8]=e.charCode;HEAP32[idx+9]=e.keyCode;HEAP32[idx+10]=e.which;stringToUTF8(e.key||"",keyEventData+44,32);stringToUTF8(e.code||"",keyEventData+76,32);stringToUTF8(e.char||"",keyEventData+108,32);stringToUTF8(e.locale||"",keyEventData+140,32);if(wasmTable.get(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}Module["registerKeyEventCallback"]=registerKeyEventCallback;function findCanvasEventTarget(target){return findEventTarget(target)}Module["findCanvasEventTarget"]=findCanvasEventTarget;function _emscripten_set_keypress_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress",targetThread);return 0}Module["_emscripten_set_keypress_callback_on_thread"]=_emscripten_set_keypress_callback_on_thread;_emscripten_set_keypress_callback_on_thread.sig="iiiiii";function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread);return 0}Module["_emscripten_set_keydown_callback_on_thread"]=_emscripten_set_keydown_callback_on_thread;_emscripten_set_keydown_callback_on_thread.sig="iiiiii";function _emscripten_set_keyup_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerKeyEventCallback(target,userData,useCapture,callbackfunc,3,"keyup",targetThread);return 0}Module["_emscripten_set_keyup_callback_on_thread"]=_emscripten_set_keyup_callback_on_thread;_emscripten_set_keyup_callback_on_thread.sig="iiiiii";function getBoundingClientRect(e){return specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0}}Module["getBoundingClientRect"]=getBoundingClientRect;function fillMouseEventData(eventStruct,e,target){HEAPF64[eventStruct>>3]=e.timeStamp;var idx=eventStruct>>2;HEAP32[idx+2]=e.screenX;HEAP32[idx+3]=e.screenY;HEAP32[idx+4]=e.clientX;HEAP32[idx+5]=e.clientY;HEAP32[idx+6]=e.ctrlKey;HEAP32[idx+7]=e.shiftKey;HEAP32[idx+8]=e.altKey;HEAP32[idx+9]=e.metaKey;HEAP16[idx*2+20]=e.button;HEAP16[idx*2+21]=e.buttons;HEAP32[idx+11]=e["movementX"];HEAP32[idx+12]=e["movementY"];var rect=getBoundingClientRect(target);HEAP32[idx+13]=e.clientX-rect.left;HEAP32[idx+14]=e.clientY-rect.top}Module["fillMouseEventData"]=fillMouseEventData;function registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(72);target=findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;fillMouseEventData(JSEvents.mouseEvent,e,target);if(wasmTable.get(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}Module["registerMouseEventCallback"]=registerMouseEventCallback;function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}Module["_emscripten_set_click_callback_on_thread"]=_emscripten_set_click_callback_on_thread;_emscripten_set_click_callback_on_thread.sig="iiiiii";function _emscripten_set_mousedown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerMouseEventCallback(target,userData,useCapture,callbackfunc,5,"mousedown",targetThread);return 0}Module["_emscripten_set_mousedown_callback_on_thread"]=_emscripten_set_mousedown_callback_on_thread;_emscripten_set_mousedown_callback_on_thread.sig="iiiiii";function _emscripten_set_mouseup_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerMouseEventCallback(target,userData,useCapture,callbackfunc,6,"mouseup",targetThread);return 0}Module["_emscripten_set_mouseup_callback_on_thread"]=_emscripten_set_mouseup_callback_on_thread;_emscripten_set_mouseup_callback_on_thread.sig="iiiiii";function _emscripten_set_dblclick_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerMouseEventCallback(target,userData,useCapture,callbackfunc,7,"dblclick",targetThread);return 0}Module["_emscripten_set_dblclick_callback_on_thread"]=_emscripten_set_dblclick_callback_on_thread;_emscripten_set_dblclick_callback_on_thread.sig="iiiiii";function _emscripten_set_mousemove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerMouseEventCallback(target,userData,useCapture,callbackfunc,8,"mousemove",targetThread);return 0}Module["_emscripten_set_mousemove_callback_on_thread"]=_emscripten_set_mousemove_callback_on_thread;_emscripten_set_mousemove_callback_on_thread.sig="iiiiii";function _emscripten_set_mouseenter_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerMouseEventCallback(target,userData,useCapture,callbackfunc,33,"mouseenter",targetThread);return 0}Module["_emscripten_set_mouseenter_callback_on_thread"]=_emscripten_set_mouseenter_callback_on_thread;_emscripten_set_mouseenter_callback_on_thread.sig="iiiiii";function _emscripten_set_mouseleave_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerMouseEventCallback(target,userData,useCapture,callbackfunc,34,"mouseleave",targetThread);return 0}Module["_emscripten_set_mouseleave_callback_on_thread"]=_emscripten_set_mouseleave_callback_on_thread;_emscripten_set_mouseleave_callback_on_thread.sig="iiiiii";function _emscripten_set_mouseover_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerMouseEventCallback(target,userData,useCapture,callbackfunc,35,"mouseover",targetThread);return 0}Module["_emscripten_set_mouseover_callback_on_thread"]=_emscripten_set_mouseover_callback_on_thread;_emscripten_set_mouseover_callback_on_thread.sig="iiiiii";function _emscripten_set_mouseout_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerMouseEventCallback(target,userData,useCapture,callbackfunc,36,"mouseout",targetThread);return 0}Module["_emscripten_set_mouseout_callback_on_thread"]=_emscripten_set_mouseout_callback_on_thread;_emscripten_set_mouseout_callback_on_thread.sig="iiiiii";function _emscripten_get_mouse_status(mouseState){if(!JSEvents.mouseEvent)return-7;HEAP8.set(HEAP8.subarray(JSEvents.mouseEvent,JSEvents.mouseEvent+72),mouseState);return 0}Module["_emscripten_get_mouse_status"]=_emscripten_get_mouse_status;_emscripten_get_mouse_status.sig="ii";function registerWheelEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.wheelEvent)JSEvents.wheelEvent=_malloc(104);var wheelHandlerFunc=function(ev){var e=ev||event;var wheelEvent=JSEvents.wheelEvent;fillMouseEventData(wheelEvent,e,target);HEAPF64[wheelEvent+72>>3]=e["deltaX"];HEAPF64[wheelEvent+80>>3]=e["deltaY"];HEAPF64[wheelEvent+88>>3]=e["deltaZ"];HEAP32[wheelEvent+96>>2]=e["deltaMode"];if(wasmTable.get(callbackfunc)(eventTypeId,wheelEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:wheelHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}Module["registerWheelEventCallback"]=registerWheelEventCallback;function _emscripten_set_wheel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target=findEventTarget(target);if(typeof target.onwheel!=="undefined"){registerWheelEventCallback(target,userData,useCapture,callbackfunc,9,"wheel",targetThread);return 0}else{return-1}}Module["_emscripten_set_wheel_callback_on_thread"]=_emscripten_set_wheel_callback_on_thread;_emscripten_set_wheel_callback_on_thread.sig="iiiiii";function registerUiEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.uiEvent)JSEvents.uiEvent=_malloc(36);target=findEventTarget(target);var uiEventHandlerFunc=function(ev){var e=ev||event;if(e.target!=target){return}var b=document.body;if(!b){return}var uiEvent=JSEvents.uiEvent;HEAP32[uiEvent>>2]=e.detail;HEAP32[uiEvent+4>>2]=b.clientWidth;HEAP32[uiEvent+8>>2]=b.clientHeight;HEAP32[uiEvent+12>>2]=innerWidth;HEAP32[uiEvent+16>>2]=innerHeight;HEAP32[uiEvent+20>>2]=outerWidth;HEAP32[uiEvent+24>>2]=outerHeight;HEAP32[uiEvent+28>>2]=pageXOffset;HEAP32[uiEvent+32>>2]=pageYOffset;if(wasmTable.get(callbackfunc)(eventTypeId,uiEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:uiEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}Module["registerUiEventCallback"]=registerUiEventCallback;function _emscripten_set_resize_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerUiEventCallback(target,userData,useCapture,callbackfunc,10,"resize",targetThread);return 0}Module["_emscripten_set_resize_callback_on_thread"]=_emscripten_set_resize_callback_on_thread;_emscripten_set_resize_callback_on_thread.sig="iiiiii";function _emscripten_set_scroll_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerUiEventCallback(target,userData,useCapture,callbackfunc,11,"scroll",targetThread);return 0}Module["_emscripten_set_scroll_callback_on_thread"]=_emscripten_set_scroll_callback_on_thread;_emscripten_set_scroll_callback_on_thread.sig="iiiiii";function registerFocusEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.focusEvent)JSEvents.focusEvent=_malloc(256);var focusEventHandlerFunc=function(ev){var e=ev||event;var nodeName=JSEvents.getNodeNameForTarget(e.target);var id=e.target.id?e.target.id:"";var focusEvent=JSEvents.focusEvent;stringToUTF8(nodeName,focusEvent+0,128);stringToUTF8(id,focusEvent+128,128);if(wasmTable.get(callbackfunc)(eventTypeId,focusEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:focusEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}Module["registerFocusEventCallback"]=registerFocusEventCallback;function _emscripten_set_blur_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerFocusEventCallback(target,userData,useCapture,callbackfunc,12,"blur",targetThread);return 0}Module["_emscripten_set_blur_callback_on_thread"]=_emscripten_set_blur_callback_on_thread;_emscripten_set_blur_callback_on_thread.sig="iiiiii";function _emscripten_set_focus_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerFocusEventCallback(target,userData,useCapture,callbackfunc,13,"focus",targetThread);return 0}Module["_emscripten_set_focus_callback_on_thread"]=_emscripten_set_focus_callback_on_thread;_emscripten_set_focus_callback_on_thread.sig="iiiiii";function _emscripten_set_focusin_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerFocusEventCallback(target,userData,useCapture,callbackfunc,14,"focusin",targetThread);return 0}Module["_emscripten_set_focusin_callback_on_thread"]=_emscripten_set_focusin_callback_on_thread;_emscripten_set_focusin_callback_on_thread.sig="iiiiii";function _emscripten_set_focusout_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerFocusEventCallback(target,userData,useCapture,callbackfunc,15,"focusout",targetThread);return 0}Module["_emscripten_set_focusout_callback_on_thread"]=_emscripten_set_focusout_callback_on_thread;_emscripten_set_focusout_callback_on_thread.sig="iiiiii";function fillDeviceOrientationEventData(eventStruct,e,target){HEAPF64[eventStruct>>3]=e.alpha;HEAPF64[eventStruct+8>>3]=e.beta;HEAPF64[eventStruct+16>>3]=e.gamma;HEAP32[eventStruct+24>>2]=e.absolute}Module["fillDeviceOrientationEventData"]=fillDeviceOrientationEventData;function registerDeviceOrientationEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.deviceOrientationEvent)JSEvents.deviceOrientationEvent=_malloc(32);var deviceOrientationEventHandlerFunc=function(ev){var e=ev||event;fillDeviceOrientationEventData(JSEvents.deviceOrientationEvent,e,target);if(wasmTable.get(callbackfunc)(eventTypeId,JSEvents.deviceOrientationEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:deviceOrientationEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}Module["registerDeviceOrientationEventCallback"]=registerDeviceOrientationEventCallback;function _emscripten_set_deviceorientation_callback_on_thread(userData,useCapture,callbackfunc,targetThread){registerDeviceOrientationEventCallback(2,userData,useCapture,callbackfunc,16,"deviceorientation",targetThread);return 0}Module["_emscripten_set_deviceorientation_callback_on_thread"]=_emscripten_set_deviceorientation_callback_on_thread;_emscripten_set_deviceorientation_callback_on_thread.sig="iiiii";function _emscripten_get_deviceorientation_status(orientationState){if(!JSEvents.deviceOrientationEvent)return-7;HEAP32.set(HEAP32.subarray(JSEvents.deviceOrientationEvent,32),orientationState);return 0}Module["_emscripten_get_deviceorientation_status"]=_emscripten_get_deviceorientation_status;_emscripten_get_deviceorientation_status.sig="ii";function fillDeviceMotionEventData(eventStruct,e,target){var supportedFields=0;var a=e["acceleration"];supportedFields|=a&&1;var ag=e["accelerationIncludingGravity"];supportedFields|=ag&&2;var rr=e["rotationRate"];supportedFields|=rr&&4;a=a||{};ag=ag||{};rr=rr||{};HEAPF64[eventStruct>>3]=a["x"];HEAPF64[eventStruct+8>>3]=a["y"];HEAPF64[eventStruct+16>>3]=a["z"];HEAPF64[eventStruct+24>>3]=ag["x"];HEAPF64[eventStruct+32>>3]=ag["y"];HEAPF64[eventStruct+40>>3]=ag["z"];HEAPF64[eventStruct+48>>3]=rr["alpha"];HEAPF64[eventStruct+56>>3]=rr["beta"];HEAPF64[eventStruct+64>>3]=rr["gamma"]}Module["fillDeviceMotionEventData"]=fillDeviceMotionEventData;function registerDeviceMotionEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.deviceMotionEvent)JSEvents.deviceMotionEvent=_malloc(80);var deviceMotionEventHandlerFunc=function(ev){var e=ev||event;fillDeviceMotionEventData(JSEvents.deviceMotionEvent,e,target);if(wasmTable.get(callbackfunc)(eventTypeId,JSEvents.deviceMotionEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:deviceMotionEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}Module["registerDeviceMotionEventCallback"]=registerDeviceMotionEventCallback;function _emscripten_set_devicemotion_callback_on_thread(userData,useCapture,callbackfunc,targetThread){registerDeviceMotionEventCallback(2,userData,useCapture,callbackfunc,17,"devicemotion",targetThread);return 0}Module["_emscripten_set_devicemotion_callback_on_thread"]=_emscripten_set_devicemotion_callback_on_thread;_emscripten_set_devicemotion_callback_on_thread.sig="iiiii";function _emscripten_get_devicemotion_status(motionState){if(!JSEvents.deviceMotionEvent)return-7;HEAP32.set(HEAP32.subarray(JSEvents.deviceMotionEvent,80),motionState);return 0}Module["_emscripten_get_devicemotion_status"]=_emscripten_get_devicemotion_status;_emscripten_get_devicemotion_status.sig="ii";function screenOrientation(){if(!screen)return undefined;return screen.orientation||screen.mozOrientation||screen.webkitOrientation||screen.msOrientation}Module["screenOrientation"]=screenOrientation;function fillOrientationChangeEventData(eventStruct){var orientations=["portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"];var orientations2=["portrait","portrait","landscape","landscape"];var orientationString=screenOrientation();var orientation=orientations.indexOf(orientationString);if(orientation==-1){orientation=orientations2.indexOf(orientationString)}HEAP32[eventStruct>>2]=1<<orientation;HEAP32[eventStruct+4>>2]=orientation}Module["fillOrientationChangeEventData"]=fillOrientationChangeEventData;function registerOrientationChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.orientationChangeEvent)JSEvents.orientationChangeEvent=_malloc(8);var orientationChangeEventHandlerFunc=function(ev){var e=ev||event;var orientationChangeEvent=JSEvents.orientationChangeEvent;fillOrientationChangeEventData(orientationChangeEvent);if(wasmTable.get(callbackfunc)(eventTypeId,orientationChangeEvent,userData))e.preventDefault()};if(eventTypeString=="orientationchange"&&screen.mozOrientation!==undefined){eventTypeString="mozorientationchange"}var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:orientationChangeEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}Module["registerOrientationChangeEventCallback"]=registerOrientationChangeEventCallback;function _emscripten_set_orientationchange_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!screen||!screen["addEventListener"])return-1;registerOrientationChangeEventCallback(screen,userData,useCapture,callbackfunc,18,"orientationchange",targetThread);return 0}Module["_emscripten_set_orientationchange_callback_on_thread"]=_emscripten_set_orientationchange_callback_on_thread;_emscripten_set_orientationchange_callback_on_thread.sig="iiiii";function _emscripten_get_orientation_status(orientationChangeEvent){if(!screenOrientation()&&typeof orientation==="undefined")return-1;fillOrientationChangeEventData(orientationChangeEvent);return 0}Module["_emscripten_get_orientation_status"]=_emscripten_get_orientation_status;_emscripten_get_orientation_status.sig="ii";function _emscripten_lock_orientation(allowedOrientations){var orientations=[];if(allowedOrientations&1)orientations.push("portrait-primary");if(allowedOrientations&2)orientations.push("portrait-secondary");if(allowedOrientations&4)orientations.push("landscape-primary");if(allowedOrientations&8)orientations.push("landscape-secondary");var succeeded;if(screen.lockOrientation){succeeded=screen.lockOrientation(orientations)}else if(screen.mozLockOrientation){succeeded=screen.mozLockOrientation(orientations)}else if(screen.webkitLockOrientation){succeeded=screen.webkitLockOrientation(orientations)}else if(screen.msLockOrientation){succeeded=screen.msLockOrientation(orientations)}else{return-1}if(succeeded){return 0}else{return-6}}Module["_emscripten_lock_orientation"]=_emscripten_lock_orientation;_emscripten_lock_orientation.sig="ii";function _emscripten_unlock_orientation(){if(screen.unlockOrientation){screen.unlockOrientation()}else if(screen.mozUnlockOrientation){screen.mozUnlockOrientation()}else if(screen.webkitUnlockOrientation){screen.webkitUnlockOrientation()}else if(screen.msUnlockOrientation){screen.msUnlockOrientation()}else{return-1}return 0}Module["_emscripten_unlock_orientation"]=_emscripten_unlock_orientation;_emscripten_unlock_orientation.sig="i";function fillFullscreenChangeEventData(eventStruct){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}Module["fillFullscreenChangeEventData"]=fillFullscreenChangeEventData;function registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;fillFullscreenChangeEventData(fullscreenChangeEvent);if(wasmTable.get(callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}Module["registerFullscreenChangeEventCallback"]=registerFullscreenChangeEventCallback;function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return 0}Module["_emscripten_set_fullscreenchange_callback_on_thread"]=_emscripten_set_fullscreenchange_callback_on_thread;_emscripten_set_fullscreenchange_callback_on_thread.sig="iiiiii";function _emscripten_get_fullscreen_status(fullscreenStatus){if(!JSEvents.fullscreenEnabled())return-1;fillFullscreenChangeEventData(fullscreenStatus);return 0}Module["_emscripten_get_fullscreen_status"]=_emscripten_get_fullscreen_status;_emscripten_get_fullscreen_status.sig="ii";function _emscripten_get_canvas_element_size(target,width,height){var canvas=findCanvasEventTarget(target);if(!canvas)return-4;HEAP32[width>>2]=canvas.width;HEAP32[height>>2]=canvas.height}Module["_emscripten_get_canvas_element_size"]=_emscripten_get_canvas_element_size;function getCanvasElementSize(target){var stackTop=stackSave();var w=stackAlloc(8);var h=w+4;var targetInt=stackAlloc(target.id.length+1);stringToUTF8(target.id,targetInt,target.id.length+1);var ret=_emscripten_get_canvas_element_size(targetInt,w,h);var size=[HEAP32[w>>2],HEAP32[h>>2]];stackRestore(stackTop);return size}Module["getCanvasElementSize"]=getCanvasElementSize;function _emscripten_set_canvas_element_size(target,width,height){var canvas=findCanvasEventTarget(target);if(!canvas)return-4;canvas.width=width;canvas.height=height;return 0}Module["_emscripten_set_canvas_element_size"]=_emscripten_set_canvas_element_size;_emscripten_set_canvas_element_size.sig="iiii";function setCanvasElementSize(target,width,height){if(!target.controlTransferredOffscreen){target.width=width;target.height=height}else{var stackTop=stackSave();var targetInt=stackAlloc(target.id.length+1);stringToUTF8(target.id,targetInt,target.id.length+1);_emscripten_set_canvas_element_size(targetInt,width,height);stackRestore(stackTop)}}Module["setCanvasElementSize"]=setCanvasElementSize;function registerRestoreOldStyle(canvas){var canvasSize=getCanvasElementSize(canvas);var oldWidth=canvasSize[0];var oldHeight=canvasSize[1];var oldCssWidth=canvas.style.width;var oldCssHeight=canvas.style.height;var oldBackgroundColor=canvas.style.backgroundColor;var oldDocumentBackgroundColor=document.body.style.backgroundColor;var oldPaddingLeft=canvas.style.paddingLeft;var oldPaddingRight=canvas.style.paddingRight;var oldPaddingTop=canvas.style.paddingTop;var oldPaddingBottom=canvas.style.paddingBottom;var oldMarginLeft=canvas.style.marginLeft;var oldMarginRight=canvas.style.marginRight;var oldMarginTop=canvas.style.marginTop;var oldMarginBottom=canvas.style.marginBottom;var oldDocumentBodyMargin=document.body.style.margin;var oldDocumentOverflow=document.documentElement.style.overflow;var oldDocumentScroll=document.body.scroll;var oldImageRendering=canvas.style.imageRendering;function restoreOldStyle(){var fullscreenElement=document.fullscreenElement||document.webkitFullscreenElement||document.msFullscreenElement;if(!fullscreenElement){document.removeEventListener("fullscreenchange",restoreOldStyle);document.removeEventListener("webkitfullscreenchange",restoreOldStyle);setCanvasElementSize(canvas,oldWidth,oldHeight);canvas.style.width=oldCssWidth;canvas.style.height=oldCssHeight;canvas.style.backgroundColor=oldBackgroundColor;if(!oldDocumentBackgroundColor)document.body.style.backgroundColor="white";document.body.style.backgroundColor=oldDocumentBackgroundColor;canvas.style.paddingLeft=oldPaddingLeft;canvas.style.paddingRight=oldPaddingRight;canvas.style.paddingTop=oldPaddingTop;canvas.style.paddingBottom=oldPaddingBottom;canvas.style.marginLeft=oldMarginLeft;canvas.style.marginRight=oldMarginRight;canvas.style.marginTop=oldMarginTop;canvas.style.marginBottom=oldMarginBottom;document.body.style.margin=oldDocumentBodyMargin;document.documentElement.style.overflow=oldDocumentOverflow;document.body.scroll=oldDocumentScroll;canvas.style.imageRendering=oldImageRendering;if(canvas.GLctxObject)canvas.GLctxObject.GLctx.viewport(0,0,oldWidth,oldHeight);if(currentFullscreenStrategy.canvasResizedCallback){wasmTable.get(currentFullscreenStrategy.canvasResizedCallback)(37,0,currentFullscreenStrategy.canvasResizedCallbackUserData)}}}document.addEventListener("fullscreenchange",restoreOldStyle);document.addEventListener("webkitfullscreenchange",restoreOldStyle);return restoreOldStyle}Module["registerRestoreOldStyle"]=registerRestoreOldStyle;function setLetterbox(element,topBottom,leftRight){element.style.paddingLeft=element.style.paddingRight=leftRight+"px";element.style.paddingTop=element.style.paddingBottom=topBottom+"px"}Module["setLetterbox"]=setLetterbox;function _JSEvents_resizeCanvasForFullscreen(target,strategy){var restoreOldStyle=registerRestoreOldStyle(target);var cssWidth=strategy.softFullscreen?innerWidth:screen.width;var cssHeight=strategy.softFullscreen?innerHeight:screen.height;var rect=getBoundingClientRect(target);var windowedCssWidth=rect.width;var windowedCssHeight=rect.height;var canvasSize=getCanvasElementSize(target);var windowedRttWidth=canvasSize[0];var windowedRttHeight=canvasSize[1];if(strategy.scaleMode==3){setLetterbox(target,(cssHeight-windowedCssHeight)/2,(cssWidth-windowedCssWidth)/2);cssWidth=windowedCssWidth;cssHeight=windowedCssHeight}else if(strategy.scaleMode==2){if(cssWidth*windowedRttHeight<windowedRttWidth*cssHeight){var desiredCssHeight=windowedRttHeight*cssWidth/windowedRttWidth;setLetterbox(target,(cssHeight-desiredCssHeight)/2,0);cssHeight=desiredCssHeight}else{var desiredCssWidth=windowedRttWidth*cssHeight/windowedRttHeight;setLetterbox(target,0,(cssWidth-desiredCssWidth)/2);cssWidth=desiredCssWidth}}if(!target.style.backgroundColor)target.style.backgroundColor="black";if(!document.body.style.backgroundColor)document.body.style.backgroundColor="black";target.style.width=cssWidth+"px";target.style.height=cssHeight+"px";if(strategy.filteringMode==1){target.style.imageRendering="optimizeSpeed";target.style.imageRendering="-moz-crisp-edges";target.style.imageRendering="-o-crisp-edges";target.style.imageRendering="-webkit-optimize-contrast";target.style.imageRendering="optimize-contrast";target.style.imageRendering="crisp-edges";target.style.imageRendering="pixelated"}var dpiScale=strategy.canvasResolutionScaleMode==2?devicePixelRatio:1;if(strategy.canvasResolutionScaleMode!=0){var newWidth=cssWidth*dpiScale|0;var newHeight=cssHeight*dpiScale|0;setCanvasElementSize(target,newWidth,newHeight);if(target.GLctxObject)target.GLctxObject.GLctx.viewport(0,0,newWidth,newHeight)}return restoreOldStyle}Module["_JSEvents_resizeCanvasForFullscreen"]=_JSEvents_resizeCanvasForFullscreen;function _JSEvents_requestFullscreen(target,strategy){if(strategy.scaleMode!=0||strategy.canvasResolutionScaleMode!=0){_JSEvents_resizeCanvasForFullscreen(target,strategy)}if(target.requestFullscreen){target.requestFullscreen()}else if(target.webkitRequestFullscreen){target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}else{return JSEvents.fullscreenEnabled()?-3:-1}currentFullscreenStrategy=strategy;if(strategy.canvasResizedCallback){wasmTable.get(strategy.canvasResizedCallback)(37,0,strategy.canvasResizedCallbackUserData)}return 0}Module["_JSEvents_requestFullscreen"]=_JSEvents_requestFullscreen;function hideEverythingExceptGivenElement(onlyVisibleElement){var child=onlyVisibleElement;var parent=child.parentNode;var hiddenElements=[];while(child!=document.body){var children=parent.children;for(var i=0;i<children.length;++i){if(children[i]!=child){hiddenElements.push({node:children[i],displayState:children[i].style.display});children[i].style.display="none"}}child=parent;parent=parent.parentNode}return hiddenElements}Module["hideEverythingExceptGivenElement"]=hideEverythingExceptGivenElement;function restoreHiddenElements(hiddenElements){for(var i=0;i<hiddenElements.length;++i){hiddenElements[i].node.style.display=hiddenElements[i].displayState}}Module["restoreHiddenElements"]=restoreHiddenElements;var currentFullscreenStrategy={};Module["currentFullscreenStrategy"]=currentFullscreenStrategy;var restoreOldWindowedStyle=null;Module["restoreOldWindowedStyle"]=restoreOldWindowedStyle;function softFullscreenResizeWebGLRenderTarget(){var dpr=devicePixelRatio;var inHiDPIFullscreenMode=currentFullscreenStrategy.canvasResolutionScaleMode==2;var inAspectRatioFixedFullscreenMode=currentFullscreenStrategy.scaleMode==2;var inPixelPerfectFullscreenMode=currentFullscreenStrategy.canvasResolutionScaleMode!=0;var inCenteredWithoutScalingFullscreenMode=currentFullscreenStrategy.scaleMode==3;var screenWidth=inHiDPIFullscreenMode?Math.round(innerWidth*dpr):innerWidth;var screenHeight=inHiDPIFullscreenMode?Math.round(innerHeight*dpr):innerHeight;var w=screenWidth;var h=screenHeight;var canvas=currentFullscreenStrategy.target;var canvasSize=getCanvasElementSize(canvas);var x=canvasSize[0];var y=canvasSize[1];var topMargin;if(inAspectRatioFixedFullscreenMode){if(w*y<x*h)h=w*y/x|0;else if(w*y>x*h)w=h*x/y|0;topMargin=(screenHeight-h)/2|0}if(inPixelPerfectFullscreenMode){setCanvasElementSize(canvas,w,h);if(canvas.GLctxObject)canvas.GLctxObject.GLctx.viewport(0,0,w,h)}if(inHiDPIFullscreenMode){topMargin/=dpr;w/=dpr;h/=dpr;w=Math.round(w*1e4)/1e4;h=Math.round(h*1e4)/1e4;topMargin=Math.round(topMargin*1e4)/1e4}if(inCenteredWithoutScalingFullscreenMode){var t=(innerHeight-jstoi_q(canvas.style.height))/2;var b=(innerWidth-jstoi_q(canvas.style.width))/2;setLetterbox(canvas,t,b)}else{canvas.style.width=w+"px";canvas.style.height=h+"px";var b=(innerWidth-w)/2;setLetterbox(canvas,topMargin,b)}if(!inCenteredWithoutScalingFullscreenMode&&currentFullscreenStrategy.canvasResizedCallback){wasmTable.get(currentFullscreenStrategy.canvasResizedCallback)(37,0,currentFullscreenStrategy.canvasResizedCallbackUserData)}}Module["softFullscreenResizeWebGLRenderTarget"]=softFullscreenResizeWebGLRenderTarget;function doRequestFullscreen(target,strategy){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;if(!target.requestFullscreen&&!target.webkitRequestFullscreen){return-3}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(strategy.deferUntilInEventHandler){JSEvents.deferCall(_JSEvents_requestFullscreen,1,[target,strategy]);return 1}else{return-2}}return _JSEvents_requestFullscreen(target,strategy)}Module["doRequestFullscreen"]=doRequestFullscreen;function _emscripten_request_fullscreen(target,deferUntilInEventHandler){var strategy={scaleMode:0,canvasResolutionScaleMode:0,filteringMode:0,deferUntilInEventHandler:deferUntilInEventHandler,canvasResizedCallbackTargetThread:2};return doRequestFullscreen(target,strategy)}Module["_emscripten_request_fullscreen"]=_emscripten_request_fullscreen;_emscripten_request_fullscreen.sig="iii";function _emscripten_request_fullscreen_strategy(target,deferUntilInEventHandler,fullscreenStrategy){var strategy={scaleMode:HEAP32[fullscreenStrategy>>2],canvasResolutionScaleMode:HEAP32[fullscreenStrategy+4>>2],filteringMode:HEAP32[fullscreenStrategy+8>>2],deferUntilInEventHandler:deferUntilInEventHandler,canvasResizedCallback:HEAP32[fullscreenStrategy+12>>2],canvasResizedCallbackUserData:HEAP32[fullscreenStrategy+16>>2]};return doRequestFullscreen(target,strategy)}Module["_emscripten_request_fullscreen_strategy"]=_emscripten_request_fullscreen_strategy;_emscripten_request_fullscreen_strategy.sig="iiii";function _emscripten_enter_soft_fullscreen(target,fullscreenStrategy){target=findEventTarget(target);if(!target)return-4;var strategy={scaleMode:HEAP32[fullscreenStrategy>>2],canvasResolutionScaleMode:HEAP32[fullscreenStrategy+4>>2],filteringMode:HEAP32[fullscreenStrategy+8>>2],canvasResizedCallback:HEAP32[fullscreenStrategy+12>>2],canvasResizedCallbackUserData:HEAP32[fullscreenStrategy+16>>2],target:target,softFullscreen:true};var restoreOldStyle=_JSEvents_resizeCanvasForFullscreen(target,strategy);document.documentElement.style.overflow="hidden";document.body.scroll="no";document.body.style.margin="0px";var hiddenElements=hideEverythingExceptGivenElement(target);function restoreWindowedState(){restoreOldStyle();restoreHiddenElements(hiddenElements);removeEventListener("resize",softFullscreenResizeWebGLRenderTarget);if(strategy.canvasResizedCallback){wasmTable.get(strategy.canvasResizedCallback)(37,0,strategy.canvasResizedCallbackUserData)}currentFullscreenStrategy=0}restoreOldWindowedStyle=restoreWindowedState;currentFullscreenStrategy=strategy;addEventListener("resize",softFullscreenResizeWebGLRenderTarget);if(strategy.canvasResizedCallback){wasmTable.get(strategy.canvasResizedCallback)(37,0,strategy.canvasResizedCallbackUserData)}return 0}Module["_emscripten_enter_soft_fullscreen"]=_emscripten_enter_soft_fullscreen;_emscripten_enter_soft_fullscreen.sig="iii";function _emscripten_exit_soft_fullscreen(){if(restoreOldWindowedStyle)restoreOldWindowedStyle();restoreOldWindowedStyle=null;return 0}Module["_emscripten_exit_soft_fullscreen"]=_emscripten_exit_soft_fullscreen;_emscripten_exit_soft_fullscreen.sig="i";function _emscripten_exit_fullscreen(){if(!JSEvents.fullscreenEnabled())return-1;JSEvents.removeDeferredCalls(_JSEvents_requestFullscreen);var d=specialHTMLTargets[1];if(d.exitFullscreen){d.fullscreenElement&&d.exitFullscreen()}else if(d.webkitExitFullscreen){d.webkitFullscreenElement&&d.webkitExitFullscreen()}else{return-1}return 0}Module["_emscripten_exit_fullscreen"]=_emscripten_exit_fullscreen;_emscripten_exit_fullscreen.sig="i";function fillPointerlockChangeEventData(eventStruct){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}Module["fillPointerlockChangeEventData"]=fillPointerlockChangeEventData;function registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.pointerlockChangeEvent)JSEvents.pointerlockChangeEvent=_malloc(260);var pointerlockChangeEventHandlerFunc=function(ev){var e=ev||event;var pointerlockChangeEvent=JSEvents.pointerlockChangeEvent;fillPointerlockChangeEventData(pointerlockChangeEvent);if(wasmTable.get(callbackfunc)(eventTypeId,pointerlockChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:pointerlockChangeEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}Module["registerPointerlockChangeEventCallback"]=registerPointerlockChangeEventCallback;function _emscripten_set_pointerlockchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!document||!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}target=findEventTarget(target);if(!target)return-4;registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"pointerlockchange",targetThread);registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"mozpointerlockchange",targetThread);registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"webkitpointerlockchange",targetThread);registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"mspointerlockchange",targetThread);return 0}Module["_emscripten_set_pointerlockchange_callback_on_thread"]=_emscripten_set_pointerlockchange_callback_on_thread;_emscripten_set_pointerlockchange_callback_on_thread.sig="iiiiii";function registerPointerlockErrorEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){var pointerlockErrorEventHandlerFunc=function(ev){var e=ev||event;if(wasmTable.get(callbackfunc)(eventTypeId,0,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:pointerlockErrorEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}Module["registerPointerlockErrorEventCallback"]=registerPointerlockErrorEventCallback;function _emscripten_set_pointerlockerror_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!document||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}target=findEventTarget(target);if(!target)return-4;registerPointerlockErrorEventCallback(target,userData,useCapture,callbackfunc,38,"pointerlockerror",targetThread);registerPointerlockErrorEventCallback(target,userData,useCapture,callbackfunc,38,"mozpointerlockerror",targetThread);registerPointerlockErrorEventCallback(target,userData,useCapture,callbackfunc,38,"webkitpointerlockerror",targetThread);registerPointerlockErrorEventCallback(target,userData,useCapture,callbackfunc,38,"mspointerlockerror",targetThread);return 0}Module["_emscripten_set_pointerlockerror_callback_on_thread"]=_emscripten_set_pointerlockerror_callback_on_thread;_emscripten_set_pointerlockerror_callback_on_thread.sig="iiiiii";function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}Module["_emscripten_get_pointerlock_status"]=_emscripten_get_pointerlock_status;_emscripten_get_pointerlock_status.sig="ii";function requestPointerLock(target){if(target.requestPointerLock){target.requestPointerLock()}else if(target.msRequestPointerLock){target.msRequestPointerLock()}else{if(document.body.requestPointerLock||document.body.msRequestPointerLock){return-3}else{return-1}}return 0}Module["requestPointerLock"]=requestPointerLock;function _emscripten_request_pointerlock(target,deferUntilInEventHandler){target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(requestPointerLock,2,[target]);return 1}else{return-2}}return requestPointerLock(target)}Module["_emscripten_request_pointerlock"]=_emscripten_request_pointerlock;_emscripten_request_pointerlock.sig="iii";function _emscripten_exit_pointerlock(){JSEvents.removeDeferredCalls(requestPointerLock);if(document.exitPointerLock){document.exitPointerLock()}else if(document.msExitPointerLock){document.msExitPointerLock()}else{return-1}return 0}Module["_emscripten_exit_pointerlock"]=_emscripten_exit_pointerlock;_emscripten_exit_pointerlock.sig="i";function _emscripten_vibrate(msecs){if(!navigator.vibrate)return-1;navigator.vibrate(msecs);return 0}Module["_emscripten_vibrate"]=_emscripten_vibrate;_emscripten_vibrate.sig="ii";function _emscripten_vibrate_pattern(msecsArray,numEntries){if(!navigator.vibrate)return-1;var vibrateList=[];for(var i=0;i<numEntries;++i){var msecs=HEAP32[msecsArray+i*4>>2];vibrateList.push(msecs)}navigator.vibrate(vibrateList);return 0}Module["_emscripten_vibrate_pattern"]=_emscripten_vibrate_pattern;_emscripten_vibrate_pattern.sig="iii";function fillVisibilityChangeEventData(eventStruct){var visibilityStates=["hidden","visible","prerender","unloaded"];var visibilityState=visibilityStates.indexOf(document.visibilityState);HEAP32[eventStruct>>2]=document.hidden;HEAP32[eventStruct+4>>2]=visibilityState}Module["fillVisibilityChangeEventData"]=fillVisibilityChangeEventData;function registerVisibilityChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.visibilityChangeEvent)JSEvents.visibilityChangeEvent=_malloc(8);var visibilityChangeEventHandlerFunc=function(ev){var e=ev||event;var visibilityChangeEvent=JSEvents.visibilityChangeEvent;fillVisibilityChangeEventData(visibilityChangeEvent);if(wasmTable.get(callbackfunc)(eventTypeId,visibilityChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:visibilityChangeEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}Module["registerVisibilityChangeEventCallback"]=registerVisibilityChangeEventCallback;function _emscripten_set_visibilitychange_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!specialHTMLTargets[1]){return-4}registerVisibilityChangeEventCallback(specialHTMLTargets[1],userData,useCapture,callbackfunc,21,"visibilitychange",targetThread);return 0}Module["_emscripten_set_visibilitychange_callback_on_thread"]=_emscripten_set_visibilitychange_callback_on_thread;_emscripten_set_visibilitychange_callback_on_thread.sig="iiiii";function _emscripten_get_visibility_status(visibilityStatus){if(typeof document.visibilityState==="undefined"&&typeof document.hidden==="undefined"){return-1}fillVisibilityChangeEventData(visibilityStatus);return 0}Module["_emscripten_get_visibility_status"]=_emscripten_get_visibility_status;_emscripten_get_visibility_status.sig="ii";function registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1696);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var touches={};var et=e.touches;for(var i=0;i<et.length;++i){var touch=et[i];touches[touch.identifier]=touch}et=e.changedTouches;for(var i=0;i<et.length;++i){var touch=et[i];touch.isChanged=1;touches[touch.identifier]=touch}et=e.targetTouches;for(var i=0;i<et.length;++i){touches[et[i].identifier].onTarget=1}var touchEvent=JSEvents.touchEvent;HEAPF64[touchEvent>>3]=e.timeStamp;var idx=touchEvent>>2;HEAP32[idx+3]=e.ctrlKey;HEAP32[idx+4]=e.shiftKey;HEAP32[idx+5]=e.altKey;HEAP32[idx+6]=e.metaKey;idx+=7;var targetRect=getBoundingClientRect(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-targetRect.left;HEAP32[idx+10]=t.clientY-targetRect.top;idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent+8>>2]=numTouches;if(wasmTable.get(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}Module["registerTouchEventCallback"]=registerTouchEventCallback;function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}Module["_emscripten_set_touchstart_callback_on_thread"]=_emscripten_set_touchstart_callback_on_thread;_emscripten_set_touchstart_callback_on_thread.sig="iiiiii";function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}Module["_emscripten_set_touchend_callback_on_thread"]=_emscripten_set_touchend_callback_on_thread;_emscripten_set_touchend_callback_on_thread.sig="iiiiii";function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}Module["_emscripten_set_touchmove_callback_on_thread"]=_emscripten_set_touchmove_callback_on_thread;_emscripten_set_touchmove_callback_on_thread.sig="iiiiii";function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}Module["_emscripten_set_touchcancel_callback_on_thread"]=_emscripten_set_touchcancel_callback_on_thread;_emscripten_set_touchcancel_callback_on_thread.sig="iiiiii";function fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i<e.axes.length;++i){HEAPF64[eventStruct+i*8+16>>3]=e.axes[i]}for(var i=0;i<e.buttons.length;++i){if(typeof e.buttons[i]==="object"){HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i<e.buttons.length;++i){if(typeof e.buttons[i]==="object"){HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}Module["fillGamepadEventData"]=fillGamepadEventData;function registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;fillGamepadEventData(gamepadEvent,e["gamepad"]);if(wasmTable.get(callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}Module["registerGamepadEventCallback"]=registerGamepadEventCallback;function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}Module["_emscripten_set_gamepadconnected_callback_on_thread"]=_emscripten_set_gamepadconnected_callback_on_thread;_emscripten_set_gamepadconnected_callback_on_thread.sig="iiiii";function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}Module["_emscripten_set_gamepaddisconnected_callback_on_thread"]=_emscripten_set_gamepaddisconnected_callback_on_thread;_emscripten_set_gamepaddisconnected_callback_on_thread.sig="iiiii";function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}Module["_emscripten_sample_gamepad_data"]=_emscripten_sample_gamepad_data;_emscripten_sample_gamepad_data.sig="i";function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}Module["_emscripten_get_num_gamepads"]=_emscripten_get_num_gamepads;_emscripten_get_num_gamepads.sig="i";function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}Module["_emscripten_get_gamepad_status"]=_emscripten_get_gamepad_status;_emscripten_get_gamepad_status.sig="iii";function registerBeforeUnloadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){var beforeUnloadEventHandlerFunc=function(ev){var e=ev||event;var confirmationMessage=wasmTable.get(callbackfunc)(eventTypeId,0,userData);if(confirmationMessage){confirmationMessage=UTF8ToString(confirmationMessage)}if(confirmationMessage){e.preventDefault();e.returnValue=confirmationMessage;return confirmationMessage}};var eventHandler={target:findEventTarget(target),eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:beforeUnloadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}Module["registerBeforeUnloadEventCallback"]=registerBeforeUnloadEventCallback;function _emscripten_set_beforeunload_callback_on_thread(userData,callbackfunc,targetThread){if(typeof onbeforeunload==="undefined")return-1;if(targetThread!==1)return-5;registerBeforeUnloadEventCallback(2,userData,true,callbackfunc,28,"beforeunload");return 0}Module["_emscripten_set_beforeunload_callback_on_thread"]=_emscripten_set_beforeunload_callback_on_thread;_emscripten_set_beforeunload_callback_on_thread.sig="iii";function fillBatteryEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.chargingTime;HEAPF64[eventStruct+8>>3]=e.dischargingTime;HEAPF64[eventStruct+16>>3]=e.level;HEAP32[eventStruct+24>>2]=e.charging}Module["fillBatteryEventData"]=fillBatteryEventData;function battery(){return navigator.battery||navigator.mozBattery||navigator.webkitBattery}Module["battery"]=battery;function registerBatteryEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.batteryEvent)JSEvents.batteryEvent=_malloc(32);var batteryEventHandlerFunc=function(ev){var e=ev||event;var batteryEvent=JSEvents.batteryEvent;fillBatteryEventData(batteryEvent,battery());if(wasmTable.get(callbackfunc)(eventTypeId,batteryEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:batteryEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}Module["registerBatteryEventCallback"]=registerBatteryEventCallback;function _emscripten_set_batterychargingchange_callback_on_thread(userData,callbackfunc,targetThread){if(!battery())return-1;registerBatteryEventCallback(battery(),userData,true,callbackfunc,29,"chargingchange",targetThread);return 0}Module["_emscripten_set_batterychargingchange_callback_on_thread"]=_emscripten_set_batterychargingchange_callback_on_thread;_emscripten_set_batterychargingchange_callback_on_thread.sig="iii";function _emscripten_set_batterylevelchange_callback_on_thread(userData,callbackfunc,targetThread){if(!battery())return-1;registerBatteryEventCallback(battery(),userData,true,callbackfunc,30,"levelchange",targetThread);return 0}Module["_emscripten_set_batterylevelchange_callback_on_thread"]=_emscripten_set_batterylevelchange_callback_on_thread;_emscripten_set_batterylevelchange_callback_on_thread.sig="iii";function _emscripten_get_battery_status(batteryState){if(!battery())return-1;fillBatteryEventData(batteryState,battery());return 0}Module["_emscripten_get_battery_status"]=_emscripten_get_battery_status;_emscripten_get_battery_status.sig="ii";function _emscripten_set_element_css_size(target,width,height){target=findEventTarget(target);if(!target)return-4;target.style.width=width+"px";target.style.height=height+"px";return 0}Module["_emscripten_set_element_css_size"]=_emscripten_set_element_css_size;_emscripten_set_element_css_size.sig="iiii";function _emscripten_get_element_css_size(target,width,height){target=findEventTarget(target);if(!target)return-4;var rect=getBoundingClientRect(target);HEAPF64[width>>3]=rect.width;HEAPF64[height>>3]=rect.height;return 0}Module["_emscripten_get_element_css_size"]=_emscripten_get_element_css_size;_emscripten_get_element_css_size.sig="iiii";function _emscripten_html5_remove_all_event_listeners(){JSEvents.removeAllEventListeners()}Module["_emscripten_html5_remove_all_event_listeners"]=_emscripten_html5_remove_all_event_listeners;_emscripten_html5_remove_all_event_listeners.sig="v";function _emscripten_request_animation_frame(cb,userData){return requestAnimationFrame(function(timeStamp){wasmTable.get(cb)(timeStamp,userData)})}Module["_emscripten_request_animation_frame"]=_emscripten_request_animation_frame;function _emscripten_cancel_animation_frame(id){cancelAnimationFrame(id)}Module["_emscripten_cancel_animation_frame"]=_emscripten_cancel_animation_frame;function _emscripten_request_animation_frame_loop(cb,userData){function tick(timeStamp){if(wasmTable.get(cb)(timeStamp,userData)){requestAnimationFrame(tick)}}return requestAnimationFrame(tick)}Module["_emscripten_request_animation_frame_loop"]=_emscripten_request_animation_frame_loop;function polyfillSetImmediate(){}Module["polyfillSetImmediate"]=polyfillSetImmediate;function _emscripten_set_immediate(cb,userData){polyfillSetImmediate();return emSetImmediate(function(){callUserCallback(function(){wasmTable.get(cb)(userData)})})}Module["_emscripten_set_immediate"]=_emscripten_set_immediate;function _emscripten_clear_immediate(id){emClearImmediate(id)}Module["_emscripten_clear_immediate"]=_emscripten_clear_immediate;function _emscripten_set_immediate_loop(cb,userData){polyfillSetImmediate();function tick(){callUserCallback(function(){if(wasmTable.get(cb)(userData)){emSetImmediate(tick)}})}return emSetImmediate(tick)}Module["_emscripten_set_immediate_loop"]=_emscripten_set_immediate_loop;function _emscripten_set_timeout(cb,msecs,userData){return setTimeout(function(){callUserCallback(function(){wasmTable.get(cb)(userData)})},msecs)}Module["_emscripten_set_timeout"]=_emscripten_set_timeout;function _emscripten_clear_timeout(id){clearTimeout(id)}Module["_emscripten_clear_timeout"]=_emscripten_clear_timeout;function _emscripten_set_timeout_loop(cb,msecs,userData){function tick(){var t=performance.now();var n=t+msecs;callUserCallback(function(){if(wasmTable.get(cb)(t,userData)){setTimeout(tick,n-performance.now())}})}return setTimeout(tick,0)}Module["_emscripten_set_timeout_loop"]=_emscripten_set_timeout_loop;function _emscripten_set_interval(cb,msecs,userData){return setInterval(function(){callUserCallback(function(){wasmTable.get(cb)(userData)})},msecs)}Module["_emscripten_set_interval"]=_emscripten_set_interval;function _emscripten_clear_interval(id){clearInterval(id)}Module["_emscripten_clear_interval"]=_emscripten_clear_interval;function _emscripten_date_now(){return Date.now()}Module["_emscripten_date_now"]=_emscripten_date_now;function _emscripten_performance_now(){return performance.now()}Module["_emscripten_performance_now"]=_emscripten_performance_now;function _emscripten_console_log(str){out(UTF8ToString(str))}Module["_emscripten_console_log"]=_emscripten_console_log;function _emscripten_console_warn(str){console.warn(UTF8ToString(str))}Module["_emscripten_console_warn"]=_emscripten_console_warn;function _emscripten_console_error(str){err(UTF8ToString(str))}Module["_emscripten_console_error"]=_emscripten_console_error;function _emscripten_throw_number(number){throw number}Module["_emscripten_throw_number"]=_emscripten_throw_number;function _emscripten_throw_string(str){throw UTF8ToString(str)}Module["_emscripten_throw_string"]=_emscripten_throw_string;function _emscripten_unwind_to_js_event_loop(){throw"unwind"}Module["_emscripten_unwind_to_js_event_loop"]=_emscripten_unwind_to_js_event_loop;function _emscripten_get_device_pixel_ratio(){return typeof devicePixelRatio==="number"&&devicePixelRatio||1}Module["_emscripten_get_device_pixel_ratio"]=_emscripten_get_device_pixel_ratio;_emscripten_get_device_pixel_ratio.sig="d";function checkWasiClock(clock_id){return clock_id==0||clock_id==1||clock_id==2||clock_id==3}Module["checkWasiClock"]=checkWasiClock;function _clock_time_get(clk_id,precision_low,precision_high,ptime){if(!checkWasiClock(clk_id)){return 28}var now;if(clk_id===0){now=Date.now()}else if(_emscripten_get_now_is_monotonic){now=_emscripten_get_now()}else{return 52}var nsec=Math.round(now*1e3*1e3);HEAP32[ptime>>2]=nsec>>>0;HEAP32[ptime+4>>2]=nsec/Math.pow(2,32)>>>0;return 0}Module["_clock_time_get"]=_clock_time_get;_clock_time_get.sig="iiiii";function _clock_res_get(clk_id,pres){if(!checkWasiClock(clk_id)){return 28}var nsec;if(clk_id===0){nsec=1e3*1e3}else if(_emscripten_get_now_is_monotonic){nsec=_emscripten_get_now_res()}else{return 52}HEAP32[pres>>2]=nsec>>>0;HEAP32[pres+4>>2]=nsec/Math.pow(2,32)>>>0;return 0}Module["_clock_res_get"]=_clock_res_get;_clock_res_get.sig="iii";function writeI53ToI64Clamped(ptr,num){if(num>0x8000000000000000){HEAPU32[ptr>>2]=4294967295;HEAPU32[ptr+4>>2]=2147483647}else if(num<-0x8000000000000000){HEAPU32[ptr>>2]=0;HEAPU32[ptr+4>>2]=2147483648}else{HEAPU32[ptr>>2]=num;HEAPU32[ptr+4>>2]=(num-HEAPU32[ptr>>2])/4294967296}}Module["writeI53ToI64Clamped"]=writeI53ToI64Clamped;function writeI53ToI64Signaling(ptr,num){if(num>0x8000000000000000||num<-0x8000000000000000){throw"RangeError:"+num}HEAPU32[ptr>>2]=num;HEAPU32[ptr+4>>2]=(num-HEAPU32[ptr>>2])/4294967296}Module["writeI53ToI64Signaling"]=writeI53ToI64Signaling;function writeI53ToU64Clamped(ptr,num){if(num>0x10000000000000000)HEAPU32[ptr>>2]=HEAPU32[ptr+4>>2]=4294967295;else if(num<0)HEAPU32[ptr>>2]=HEAPU32[ptr+4>>2]=0;else{HEAPU32[ptr>>2]=num;HEAPU32[ptr+4>>2]=(num-HEAPU32[ptr>>2])/4294967296}}Module["writeI53ToU64Clamped"]=writeI53ToU64Clamped;function writeI53ToU64Signaling(ptr,num){if(num<0||num>0x10000000000000000){throw"RangeError:"+num}HEAPU32[ptr>>2]=num;HEAPU32[ptr+4>>2]=(num-HEAPU32[ptr>>2])/4294967296}Module["writeI53ToU64Signaling"]=writeI53ToU64Signaling;function readI53FromI64(ptr){return HEAPU32[ptr>>2]+HEAP32[ptr+4>>2]*4294967296}Module["readI53FromI64"]=readI53FromI64;function readI53FromU64(ptr){return HEAPU32[ptr>>2]+HEAPU32[ptr+4>>2]*4294967296}Module["readI53FromU64"]=readI53FromU64;function _emscripten_dlopen(filename,flags,user_data,onsuccess,onerror){function errorCallback(e){DLFCN.errorMsg="Could not load dynamic lib: "+UTF8ToString(filename)+"\n"+e;callUserCallback(function(){wasmTable.get(onerror)(user_data)})}function successCallback(handle){callUserCallback(function(){wasmTable.get(onsuccess)(user_data,handle)})}var promise=dlopenInternal(filename,flags,{loadAsync:true});if(promise){promise.then(successCallback,errorCallback)}else{errorCallback()}}Module["_emscripten_dlopen"]=_emscripten_dlopen;_emscripten_dlopen.sig="iii";function _dladdr(addr,info){var fname=stringToNewUTF8(getExecutableName());HEAP32[info>>2]=fname;HEAP32[info+4>>2]=0;HEAP32[info+8>>2]=0;HEAP32[info+12>>2]=0;return 1}Module["_dladdr"]=_dladdr;_dladdr.sig="iii";function _llvm_eh_typeid_for(type){return type}Module["_llvm_eh_typeid_for"]=_llvm_eh_typeid_for;function ___cxa_get_exception_ptr(ptr){return new CatchInfo(ptr).get_exception_ptr()}Module["___cxa_get_exception_ptr"]=___cxa_get_exception_ptr;function ___cxa_call_unexpected(exception){err("Unexpected exception thrown, this is not properly supported - aborting");ABORT=true;throw exception}Module["___cxa_call_unexpected"]=___cxa_call_unexpected;function ___cxa_find_matching_catch(){var thrown=exceptionLast;if(!thrown){setTempRet0(0);return 0|0}var info=new ExceptionInfo(thrown);var thrownType=info.get_type();var catchInfo=new CatchInfo;catchInfo.set_base_ptr(thrown);catchInfo.set_adjusted_ptr(thrown);if(!thrownType){setTempRet0(0);return catchInfo.ptr|0}var typeArray=Array.prototype.slice.call(arguments);for(var i=0;i<typeArray.length;i++){var caughtType=typeArray[i];if(caughtType===0||caughtType===thrownType){break}if(Module["___cxa_can_catch"](caughtType,thrownType,catchInfo.get_adjusted_ptr_addr())){setTempRet0(caughtType);return catchInfo.ptr|0}}setTempRet0(thrownType);return catchInfo.ptr|0}Module["___cxa_find_matching_catch"]=___cxa_find_matching_catch;var funcWrappers={};Module["funcWrappers"]=funcWrappers;function getFuncWrapper(func,sig){if(!func)return;assert(sig);if(!funcWrappers[sig]){funcWrappers[sig]={}}var sigCache=funcWrappers[sig];if(!sigCache[func]){if(sig.length===1){sigCache[func]=function dynCall_wrapper(){return dynCall(sig,func)}}else if(sig.length===2){sigCache[func]=function dynCall_wrapper(arg){return dynCall(sig,func,[arg])}}else{sigCache[func]=function dynCall_wrapper(){return dynCall(sig,func,Array.prototype.slice.call(arguments))}}}return sigCache[func]}Module["getFuncWrapper"]=getFuncWrapper;function _emscripten_run_preload_plugins(file,onload,onerror){var _file=UTF8ToString(file);var data=FS.analyzePath(_file);if(!data.exists)return-1;FS.createPreloadedFile(PATH.dirname(_file),PATH.basename(_file),new Uint8Array(data.object.contents),true,true,function(){if(onload)wasmTable.get(onload)(file)},function(){if(onerror)wasmTable.get(onerror)(file)},true);return 0}Module["_emscripten_run_preload_plugins"]=_emscripten_run_preload_plugins;_emscripten_run_preload_plugins.sig="iiii";function _emscripten_run_preload_plugins_data(data,size,suffix,arg,onload,onerror){var _suffix=UTF8ToString(suffix);if(!Browser.asyncPrepareDataCounter)Browser.asyncPrepareDataCounter=0;var name="prepare_data_"+Browser.asyncPrepareDataCounter+++"."+_suffix;var lengthAsUTF8=lengthBytesUTF8(name);var cname=_malloc(lengthAsUTF8+1);stringToUTF8(name,cname,lengthAsUTF8+1);FS.createPreloadedFile("/",name,HEAPU8.subarray(data,data+size),true,true,function(){if(onload)wasmTable.get(onload)(arg,cname)},function(){if(onerror)wasmTable.get(onerror)(arg)},true)}Module["_emscripten_run_preload_plugins_data"]=_emscripten_run_preload_plugins_data;_emscripten_run_preload_plugins_data.sig="viiiiii";function _emscripten_async_run_script(script,millis){safeSetTimeout(function(){_emscripten_run_script(script)},millis)}Module["_emscripten_async_run_script"]=_emscripten_async_run_script;function _emscripten_async_load_script(url,onload,onerror){onload=wasmTable.get(onload);onerror=wasmTable.get(onerror);assert(runDependencies===0,"async_load_script must be run when no other dependencies are active");var script=document.createElement("script");script.onload=function script_onload(){if(onload){if(runDependencies>0){dependenciesFulfilled=onload}else{onload()}}};script.onerror=function(){if(onerror)onerror()};script.src=UTF8ToString(url);document.body.appendChild(script)}Module["_emscripten_async_load_script"]=_emscripten_async_load_script;function _emscripten_get_main_loop_timing(mode,value){if(mode)HEAP32[mode>>2]=Browser.mainLoop.timingMode;if(value)HEAP32[value>>2]=Browser.mainLoop.timingValue}Module["_emscripten_get_main_loop_timing"]=_emscripten_get_main_loop_timing;_emscripten_get_main_loop_timing.sig="vii";function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop){var browserIterationFunc=wasmTable.get(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop)}Module["_emscripten_set_main_loop"]=_emscripten_set_main_loop;function _emscripten_set_main_loop_arg(func,arg,fps,simulateInfiniteLoop){var browserIterationFunc=function(){wasmTable.get(func)(arg)};setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg)}Module["_emscripten_set_main_loop_arg"]=_emscripten_set_main_loop_arg;_emscripten_set_main_loop_arg.sig="viiii";function _emscripten_cancel_main_loop(){Browser.mainLoop.pause();Browser.mainLoop.func=null}Module["_emscripten_cancel_main_loop"]=_emscripten_cancel_main_loop;_emscripten_cancel_main_loop.sig="v";function _emscripten_pause_main_loop(){Browser.mainLoop.pause()}Module["_emscripten_pause_main_loop"]=_emscripten_pause_main_loop;_emscripten_pause_main_loop.sig="v";function _emscripten_resume_main_loop(){Browser.mainLoop.resume()}Module["_emscripten_resume_main_loop"]=_emscripten_resume_main_loop;_emscripten_resume_main_loop.sig="v";function __emscripten_push_main_loop_blocker(func,arg,name){Browser.mainLoop.queue.push({func:function(){wasmTable.get(func)(arg)},name:UTF8ToString(name),counted:true});Browser.mainLoop.updateStatus()}Module["__emscripten_push_main_loop_blocker"]=__emscripten_push_main_loop_blocker;function __emscripten_push_uncounted_main_loop_blocker(func,arg,name){Browser.mainLoop.queue.push({func:function(){wasmTable.get(func)(arg)},name:UTF8ToString(name),counted:false});Browser.mainLoop.updateStatus()}Module["__emscripten_push_uncounted_main_loop_blocker"]=__emscripten_push_uncounted_main_loop_blocker;function _emscripten_set_main_loop_expected_blockers(num){Browser.mainLoop.expectedBlockers=num;Browser.mainLoop.remainingBlockers=num;Browser.mainLoop.updateStatus()}Module["_emscripten_set_main_loop_expected_blockers"]=_emscripten_set_main_loop_expected_blockers;_emscripten_set_main_loop_expected_blockers.sig="vi";function _emscripten_async_call(func,arg,millis){function wrapper(){wasmTable.get(func)(arg)}if(millis>=0||ENVIRONMENT_IS_NODE){safeSetTimeout(wrapper,millis)}else{Browser.safeRequestAnimationFrame(wrapper)}}Module["_emscripten_async_call"]=_emscripten_async_call;_emscripten_async_call.sig="viii";function _emscripten_get_window_title(){var buflen=256;if(!_emscripten_get_window_title.buffer){_emscripten_get_window_title.buffer=_malloc(buflen)}writeAsciiToMemory(document.title.slice(0,buflen-1),_emscripten_get_window_title.buffer);return _emscripten_get_window_title.buffer}Module["_emscripten_get_window_title"]=_emscripten_get_window_title;_emscripten_get_window_title.sig="iv";function _emscripten_set_window_title(title){setWindowTitle(AsciiToString(title))}Module["_emscripten_set_window_title"]=_emscripten_set_window_title;_emscripten_set_window_title.sig="vi";function _emscripten_get_screen_size(width,height){HEAP32[width>>2]=screen.width;HEAP32[height>>2]=screen.height}Module["_emscripten_get_screen_size"]=_emscripten_get_screen_size;_emscripten_get_screen_size.sig="vii";function _emscripten_hide_mouse(){var styleSheet=document.styleSheets[0];var rules=styleSheet.cssRules;for(var i=0;i<rules.length;i++){if(rules[i].cssText.substr(0,6)=="canvas"){styleSheet.deleteRule(i);i--}}styleSheet.insertRule("canvas.emscripten { border: 1px solid black; cursor: none; }",0)}Module["_emscripten_hide_mouse"]=_emscripten_hide_mouse;_emscripten_hide_mouse.sig="v";function _emscripten_set_canvas_size(width,height){Browser.setCanvasSize(width,height)}Module["_emscripten_set_canvas_size"]=_emscripten_set_canvas_size;_emscripten_set_canvas_size.sig="vii";function _emscripten_get_canvas_size(width,height,isFullscreen){var canvas=Module["canvas"];HEAP32[width>>2]=canvas.width;HEAP32[height>>2]=canvas.height;HEAP32[isFullscreen>>2]=Browser.isFullscreen?1:0}Module["_emscripten_get_canvas_size"]=_emscripten_get_canvas_size;_emscripten_get_canvas_size.sig="viii";function _emscripten_create_worker(url){url=UTF8ToString(url);var id=Browser.workers.length;var info={worker:new Worker(url),callbacks:[],awaited:0,buffer:0,bufferSize:0};info.worker.onmessage=function info_worker_onmessage(msg){if(ABORT)return;var info=Browser.workers[id];if(!info)return;var callbackId=msg.data["callbackId"];var callbackInfo=info.callbacks[callbackId];if(!callbackInfo)return;if(msg.data["finalResponse"]){info.awaited--;info.callbacks[callbackId]=null}var data=msg.data["data"];if(data){if(!data.byteLength)data=new Uint8Array(data);if(!info.buffer||info.bufferSize<data.length){if(info.buffer)_free(info.buffer);info.bufferSize=data.length;info.buffer=_malloc(data.length)}HEAPU8.set(data,info.buffer);callbackInfo.func(info.buffer,data.length,callbackInfo.arg)}else{callbackInfo.func(0,0,callbackInfo.arg)}};Browser.workers.push(info);return id}Module["_emscripten_create_worker"]=_emscripten_create_worker;_emscripten_create_worker.sig="ii";function _emscripten_destroy_worker(id){var info=Browser.workers[id];info.worker.terminate();if(info.buffer)_free(info.buffer);Browser.workers[id]=null}Module["_emscripten_destroy_worker"]=_emscripten_destroy_worker;_emscripten_destroy_worker.sig="vi";function _emscripten_call_worker(id,funcName,data,size,callback,arg){funcName=UTF8ToString(funcName);var info=Browser.workers[id];var callbackId=-1;if(callback){callbackId=info.callbacks.length;info.callbacks.push({func:wasmTable.get(callback),arg:arg});info.awaited++}var transferObject={"funcName":funcName,"callbackId":callbackId,"data":data?new Uint8Array(HEAPU8.subarray(data,data+size)):0};if(data){info.worker.postMessage(transferObject,[transferObject.data.buffer])}else{info.worker.postMessage(transferObject)}}Module["_emscripten_call_worker"]=_emscripten_call_worker;_emscripten_call_worker.sig="viiiiii";function _emscripten_get_worker_queue_size(id){var info=Browser.workers[id];if(!info)return-1;return info.awaited}Module["_emscripten_get_worker_queue_size"]=_emscripten_get_worker_queue_size;_emscripten_get_worker_queue_size.sig="i";function _emscripten_get_preloaded_image_data(path,w,h){if((path|0)===path)path=UTF8ToString(path);path=PATH_FS.resolve(path);var canvas=Module["preloadedImages"][path];if(canvas){var ctx=canvas.getContext("2d");var image=ctx.getImageData(0,0,canvas.width,canvas.height);var buf=_malloc(canvas.width*canvas.height*4);HEAPU8.set(image.data,buf);HEAP32[w>>2]=canvas.width;HEAP32[h>>2]=canvas.height;return buf}return 0}Module["_emscripten_get_preloaded_image_data"]=_emscripten_get_preloaded_image_data;_emscripten_get_preloaded_image_data.sig="iiii";function _emscripten_get_preloaded_image_data_from_FILE(file,w,h){var fd=Module["_fileno"](file);var stream=FS.getStream(fd);if(stream){return _emscripten_get_preloaded_image_data(stream.path,w,h)}return 0}Module["_emscripten_get_preloaded_image_data_from_FILE"]=_emscripten_get_preloaded_image_data_from_FILE;_emscripten_get_preloaded_image_data_from_FILE.sig="iiii";var wget={wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function(){var handle=wget.nextWgetRequestHandle;wget.nextWgetRequestHandle++;return handle}};Module["wget"]=wget;function _emscripten_async_wget(url,file,onload,onerror){var _url=UTF8ToString(url);var _file=UTF8ToString(file);_file=PATH_FS.resolve(_file);function doCallback(callback){if(callback){callUserCallback(function(){var stack=stackSave();wasmTable.get(callback)(allocate(intArrayFromString(_file),ALLOC_STACK));stackRestore(stack)})}}var destinationDirectory=PATH.dirname(_file);FS.createPreloadedFile(destinationDirectory,PATH.basename(_file),_url,true,true,function(){doCallback(onload)},function(){doCallback(onerror)},false,false,function(){try{FS.unlink(_file)}catch(e){}FS.mkdirTree(destinationDirectory)})}Module["_emscripten_async_wget"]=_emscripten_async_wget;_emscripten_async_wget.sig="viiii";function _emscripten_async_wget_data(url,arg,onload,onerror){asyncLoad(UTF8ToString(url),function(byteArray){callUserCallback(function(){var buffer=_malloc(byteArray.length);HEAPU8.set(byteArray,buffer);wasmTable.get(onload)(arg,buffer,byteArray.length);_free(buffer)})},function(){if(onerror){callUserCallback(function(){wasmTable.get(onerror)(arg)})}},true)}Module["_emscripten_async_wget_data"]=_emscripten_async_wget_data;_emscripten_async_wget_data.sig="viiii";function _emscripten_async_wget2(url,file,request,param,arg,onload,onerror,onprogress){var _url=UTF8ToString(url);var _file=UTF8ToString(file);_file=PATH_FS.resolve(_file);var _request=UTF8ToString(request);var _param=UTF8ToString(param);var index=_file.lastIndexOf("/");var http=new XMLHttpRequest;http.open(_request,_url,true);http.responseType="arraybuffer";var handle=wget.getNextWgetRequestHandle();var destinationDirectory=PATH.dirname(_file);http.onload=function http_onload(e){if(http.status>=200&&http.status<300){try{FS.unlink(_file)}catch(e){}FS.mkdirTree(destinationDirectory);FS.createDataFile(_file.substr(0,index),_file.substr(index+1),new Uint8Array(http.response),true,true,false);if(onload){var stack=stackSave();wasmTable.get(onload)(handle,arg,allocate(intArrayFromString(_file),ALLOC_STACK));stackRestore(stack)}}else{if(onerror)wasmTable.get(onerror)(handle,arg,http.status)}delete wget.wgetRequests[handle]};http.onerror=function http_onerror(e){if(onerror)wasmTable.get(onerror)(handle,arg,http.status);delete wget.wgetRequests[handle]};http.onprogress=function http_onprogress(e){if(e.lengthComputable||e.lengthComputable===undefined&&e.total!=0){var percentComplete=e.loaded/e.total*100;if(onprogress)wasmTable.get(onprogress)(handle,arg,percentComplete)}};http.onabort=function http_onabort(e){delete wget.wgetRequests[handle]};if(_request=="POST"){http.setRequestHeader("Content-type","application/x-www-form-urlencoded");http.send(_param)}else{http.send(null)}wget.wgetRequests[handle]=http;return handle}Module["_emscripten_async_wget2"]=_emscripten_async_wget2;_emscripten_async_wget2.sig="iiiiiiiii";function _emscripten_async_wget2_data(url,request,param,arg,free,onload,onerror,onprogress){var _url=UTF8ToString(url);var _request=UTF8ToString(request);var _param=UTF8ToString(param);var http=new XMLHttpRequest;http.open(_request,_url,true);http.responseType="arraybuffer";var handle=wget.getNextWgetRequestHandle();function onerrorjs(){if(onerror){var statusText=0;if(http.statusText){var len=lengthBytesUTF8(http.statusText)+1;statusText=stackAlloc(len);stringToUTF8(http.statusText,statusText,len)}wasmTable.get(onerror)(handle,arg,http.status,statusText)}}http.onload=function http_onload(e){if(http.status>=200&&http.status<300||http.status===0&&_url.substr(0,4).toLowerCase()!="http"){var byteArray=new Uint8Array(http.response);var buffer=_malloc(byteArray.length);HEAPU8.set(byteArray,buffer);if(onload)wasmTable.get(onload)(handle,arg,buffer,byteArray.length);if(free)_free(buffer)}else{onerrorjs()}delete wget.wgetRequests[handle]};http.onerror=function http_onerror(e){onerrorjs();delete wget.wgetRequests[handle]};http.onprogress=function http_onprogress(e){if(onprogress)wasmTable.get(onprogress)(handle,arg,e.loaded,e.lengthComputable||e.lengthComputable===undefined?e.total:0)};http.onabort=function http_onabort(e){delete wget.wgetRequests[handle]};if(_request=="POST"){http.setRequestHeader("Content-type","application/x-www-form-urlencoded");http.send(_param)}else{http.send(null)}wget.wgetRequests[handle]=http;return handle}Module["_emscripten_async_wget2_data"]=_emscripten_async_wget2_data;_emscripten_async_wget2_data.sig="iiiiiiiii";function _emscripten_async_wget2_abort(handle){var http=wget.wgetRequests[handle];if(http){http.abort()}}Module["_emscripten_async_wget2_abort"]=_emscripten_async_wget2_abort;_emscripten_async_wget2_abort.sig="vi";function _setNetworkCallback(event,userData,callback){function _callback(data){try{if(event==="error"){var sp=stackSave();var msg=allocate(intArrayFromString(data[2]),ALLOC_STACK);wasmTable.get(callback)(data[0],data[1],msg,userData);stackRestore(sp)}else{wasmTable.get(callback)(data,userData)}}catch(e){if(e instanceof ExitStatus){return}else{if(e&&typeof e==="object"&&e.stack)err("exception thrown: "+[e,e.stack]);throw e}}}Module["websocket"]["on"](event,callback?_callback:null)}Module["_setNetworkCallback"]=_setNetworkCallback;function _emscripten_set_socket_error_callback(userData,callback){_setNetworkCallback("error",userData,callback)}Module["_emscripten_set_socket_error_callback"]=_emscripten_set_socket_error_callback;function _emscripten_set_socket_open_callback(userData,callback){_setNetworkCallback("open",userData,callback)}Module["_emscripten_set_socket_open_callback"]=_emscripten_set_socket_open_callback;function _emscripten_set_socket_listen_callback(userData,callback){_setNetworkCallback("listen",userData,callback)}Module["_emscripten_set_socket_listen_callback"]=_emscripten_set_socket_listen_callback;function _emscripten_set_socket_connection_callback(userData,callback){_setNetworkCallback("connection",userData,callback)}Module["_emscripten_set_socket_connection_callback"]=_emscripten_set_socket_connection_callback;function _emscripten_set_socket_message_callback(userData,callback){_setNetworkCallback("message",userData,callback)}Module["_emscripten_set_socket_message_callback"]=_emscripten_set_socket_message_callback;function _emscripten_set_socket_close_callback(userData,callback){_setNetworkCallback("close",userData,callback)}Module["_emscripten_set_socket_close_callback"]=_emscripten_set_socket_close_callback;function _emscripten_webgl_enable_ANGLE_instanced_arrays(ctx){return __webgl_enable_ANGLE_instanced_arrays(GL.contexts[ctx].GLctx)}Module["_emscripten_webgl_enable_ANGLE_instanced_arrays"]=_emscripten_webgl_enable_ANGLE_instanced_arrays;function _emscripten_webgl_enable_OES_vertex_array_object(ctx){return __webgl_enable_OES_vertex_array_object(GL.contexts[ctx].GLctx)}Module["_emscripten_webgl_enable_OES_vertex_array_object"]=_emscripten_webgl_enable_OES_vertex_array_object;function _emscripten_webgl_enable_WEBGL_draw_buffers(ctx){return __webgl_enable_WEBGL_draw_buffers(GL.contexts[ctx].GLctx)}Module["_emscripten_webgl_enable_WEBGL_draw_buffers"]=_emscripten_webgl_enable_WEBGL_draw_buffers;function _emscripten_webgl_enable_WEBGL_multi_draw(ctx){return __webgl_enable_WEBGL_multi_draw(GL.contexts[ctx].GLctx)}Module["_emscripten_webgl_enable_WEBGL_multi_draw"]=_emscripten_webgl_enable_WEBGL_multi_draw;function _glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}Module["_glPixelStorei"]=_glPixelStorei;_glPixelStorei.sig="vii";function _glGetString(name_){var ret=GL.stringCache[name_];if(!ret){switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=s&&stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280)}GL.stringCache[name_]=ret}return ret}Module["_glGetString"]=_glGetString;_glGetString.sig="ii";function _glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}Module["_glGetIntegerv"]=_glGetIntegerv;_glGetIntegerv.sig="vii";function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}Module["_glGetFloatv"]=_glGetFloatv;_glGetFloatv.sig="vii";function _glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}Module["_glGetBooleanv"]=_glGetBooleanv;_glGetBooleanv.sig="vii";function _glDeleteTextures(n,textures){for(var i=0;i<n;i++){var id=HEAP32[textures+i*4>>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}Module["_glDeleteTextures"]=_glDeleteTextures;_glDeleteTextures.sig="vii";function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}Module["_glCompressedTexImage2D"]=_glCompressedTexImage2D;_glCompressedTexImage2D.sig="viiiiiiii";function _glCompressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,imageSize,data){GLctx["compressedTexSubImage2D"](target,level,xoffset,yoffset,width,height,format,data?HEAPU8.subarray(data,data+imageSize):null)}Module["_glCompressedTexSubImage2D"]=_glCompressedTexSubImage2D;_glCompressedTexSubImage2D.sig="viiiiiiiii";function _glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}Module["_glTexImage2D"]=_glTexImage2D;_glTexImage2D.sig="viiiiiiiii";function _glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}Module["_glTexSubImage2D"]=_glTexSubImage2D;_glTexSubImage2D.sig="viiiiiiiii";function _glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}Module["_glReadPixels"]=_glReadPixels;_glReadPixels.sig="viiiiiii";function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}Module["_glBindTexture"]=_glBindTexture;_glBindTexture.sig="vii";function _glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}Module["_glGetTexParameterfv"]=_glGetTexParameterfv;_glGetTexParameterfv.sig="viii";function _glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}Module["_glGetTexParameteriv"]=_glGetTexParameteriv;_glGetTexParameteriv.sig="viii";function _glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}Module["_glTexParameterfv"]=_glTexParameterfv;_glTexParameterfv.sig="viii";function _glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}Module["_glTexParameteriv"]=_glTexParameteriv;_glTexParameteriv.sig="viii";function _glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}Module["_glIsTexture"]=_glIsTexture;_glIsTexture.sig="ii";function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}Module["_glGenBuffers"]=_glGenBuffers;_glGenBuffers.sig="vii";function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}Module["_glGenTextures"]=_glGenTextures;_glGenTextures.sig="vii";function _glDeleteBuffers(n,buffers){for(var i=0;i<n;i++){var id=HEAP32[buffers+i*4>>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}Module["_glDeleteBuffers"]=_glDeleteBuffers;_glDeleteBuffers.sig="vii";function _glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}Module["_glGetBufferParameteriv"]=_glGetBufferParameteriv;_glGetBufferParameteriv.sig="viii";function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}Module["_glBufferData"]=_glBufferData;_glBufferData.sig="viiii";function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}Module["_glBufferSubData"]=_glBufferSubData;_glBufferSubData.sig="viiii";function _glGenQueriesEXT(n,ids){for(var i=0;i<n;i++){var query=GLctx.disjointTimerQueryExt["createQueryEXT"]();if(!query){GL.recordError(1282);while(i<n)HEAP32[ids+i++*4>>2]=0;return}var id=GL.getNewId(GL.queries);query.name=id;GL.queries[id]=query;HEAP32[ids+i*4>>2]=id}}Module["_glGenQueriesEXT"]=_glGenQueriesEXT;_glGenQueriesEXT.sig="vii";function _glDeleteQueriesEXT(n,ids){for(var i=0;i<n;i++){var id=HEAP32[ids+i*4>>2];var query=GL.queries[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.queries[id]=null}}Module["_glDeleteQueriesEXT"]=_glDeleteQueriesEXT;_glDeleteQueriesEXT.sig="vii";function _glIsQueryEXT(id){var query=GL.queries[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}Module["_glIsQueryEXT"]=_glIsQueryEXT;_glIsQueryEXT.sig="ii";function _glBeginQueryEXT(target,id){GLctx.disjointTimerQueryExt["beginQueryEXT"](target,GL.queries[id])}Module["_glBeginQueryEXT"]=_glBeginQueryEXT;_glBeginQueryEXT.sig="vii";function _glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}Module["_glEndQueryEXT"]=_glEndQueryEXT;_glEndQueryEXT.sig="vi";function _glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.queries[id],target)}Module["_glQueryCounterEXT"]=_glQueryCounterEXT;_glQueryCounterEXT.sig="vii";function _glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}Module["_glGetQueryivEXT"]=_glGetQueryivEXT;_glGetQueryivEXT.sig="viii";function _glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}Module["_glGetQueryObjectivEXT"]=_glGetQueryObjectivEXT;_glGetQueryObjectivEXT.sig="viii";function _glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}Module["_glGetQueryObjectuivEXT"]=_glGetQueryObjectuivEXT;_glGetQueryObjectuivEXT.sig="viii";function _glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param;{param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname)}var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}Module["_glGetQueryObjecti64vEXT"]=_glGetQueryObjecti64vEXT;_glGetQueryObjecti64vEXT.sig="viii";function _glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param;{param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname)}var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}Module["_glGetQueryObjectui64vEXT"]=_glGetQueryObjectui64vEXT;_glGetQueryObjectui64vEXT.sig="viii";function _glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}Module["_glIsBuffer"]=_glIsBuffer;_glIsBuffer.sig="ii";function _glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}Module["_glGenRenderbuffers"]=_glGenRenderbuffers;_glGenRenderbuffers.sig="vii";function _glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i<n;i++){var id=HEAP32[renderbuffers+i*4>>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}Module["_glDeleteRenderbuffers"]=_glDeleteRenderbuffers;_glDeleteRenderbuffers.sig="vii";function _glBindRenderbuffer(target,renderbuffer){GLctx.bindRenderbuffer(target,GL.renderbuffers[renderbuffer])}Module["_glBindRenderbuffer"]=_glBindRenderbuffer;_glBindRenderbuffer.sig="vii";function _glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}Module["_glGetRenderbufferParameteriv"]=_glGetRenderbufferParameteriv;_glGetRenderbufferParameteriv.sig="viii";function _glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}Module["_glIsRenderbuffer"]=_glIsRenderbuffer;_glIsRenderbuffer.sig="ii";function _glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}Module["_glGetUniformfv"]=_glGetUniformfv;_glGetUniformfv.sig="viii";function _glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}Module["_glGetUniformiv"]=_glGetUniformiv;_glGetUniformiv.sig="viii";function _glGetUniformLocation(program,name){name=UTF8ToString(name);if(program=GL.programs[program]){webglPrepareUniformLocationsBeforeFirstUse(program);var uniformLocsById=program.uniformLocsById;var arrayIndex=0;var uniformBaseName=name;var leftBrace=webglGetLeftBracePos(name);if(leftBrace>0){arrayIndex=jstoi_q(name.slice(leftBrace+1))>>>0;uniformBaseName=name.slice(0,leftBrace)}var sizeAndId=program.uniformSizeAndIdsByName[uniformBaseName];if(sizeAndId&&arrayIndex<sizeAndId[0]){arrayIndex+=sizeAndId[1];if(uniformLocsById[arrayIndex]=uniformLocsById[arrayIndex]||GLctx.getUniformLocation(program,name)){return arrayIndex}}}else{GL.recordError(1281)}return-1}Module["_glGetUniformLocation"]=_glGetUniformLocation;_glGetUniformLocation.sig="iii";function _glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}Module["_glGetVertexAttribfv"]=_glGetVertexAttribfv;_glGetVertexAttribfv.sig="viii";function _glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}Module["_glGetVertexAttribiv"]=_glGetVertexAttribiv;_glGetVertexAttribiv.sig="viii";function _glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}Module["_glGetVertexAttribPointerv"]=_glGetVertexAttribPointerv;_glGetVertexAttribPointerv.sig="viii";function _glUniform1f(location,v0){GLctx.uniform1f(webglGetUniformLocation(location),v0)}Module["_glUniform1f"]=_glUniform1f;_glUniform1f.sig="vif";function _glUniform2f(location,v0,v1){GLctx.uniform2f(webglGetUniformLocation(location),v0,v1)}Module["_glUniform2f"]=_glUniform2f;_glUniform2f.sig="viff";function _glUniform3f(location,v0,v1,v2){GLctx.uniform3f(webglGetUniformLocation(location),v0,v1,v2)}Module["_glUniform3f"]=_glUniform3f;_glUniform3f.sig="vifff";function _glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(webglGetUniformLocation(location),v0,v1,v2,v3)}Module["_glUniform4f"]=_glUniform4f;_glUniform4f.sig="viffff";function _glUniform1i(location,v0){GLctx.uniform1i(webglGetUniformLocation(location),v0)}Module["_glUniform1i"]=_glUniform1i;_glUniform1i.sig="vii";function _glUniform2i(location,v0,v1){GLctx.uniform2i(webglGetUniformLocation(location),v0,v1)}Module["_glUniform2i"]=_glUniform2i;_glUniform2i.sig="viii";function _glUniform3i(location,v0,v1,v2){GLctx.uniform3i(webglGetUniformLocation(location),v0,v1,v2)}Module["_glUniform3i"]=_glUniform3i;_glUniform3i.sig="viiii";function _glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(webglGetUniformLocation(location),v0,v1,v2,v3)}Module["_glUniform4i"]=_glUniform4i;_glUniform4i.sig="viiiii";function _glUniform1iv(location,count,value){if(count<=288){var view=__miniTempWebGLIntBuffers[count-1];for(var i=0;i<count;++i){view[i]=HEAP32[value+4*i>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(webglGetUniformLocation(location),view)}Module["_glUniform1iv"]=_glUniform1iv;_glUniform1iv.sig="viii";function _glUniform2iv(location,count,value){if(count<=144){var view=__miniTempWebGLIntBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(webglGetUniformLocation(location),view)}Module["_glUniform2iv"]=_glUniform2iv;_glUniform2iv.sig="viii";function _glUniform3iv(location,count,value){if(count<=96){var view=__miniTempWebGLIntBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3iv(webglGetUniformLocation(location),view)}Module["_glUniform3iv"]=_glUniform3iv;_glUniform3iv.sig="viii";function _glUniform4iv(location,count,value){if(count<=72){var view=__miniTempWebGLIntBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2];view[i+3]=HEAP32[value+(4*i+12)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4iv(webglGetUniformLocation(location),view)}Module["_glUniform4iv"]=_glUniform4iv;_glUniform4iv.sig="viii";function _glUniform1fv(location,count,value){if(count<=288){var view=miniTempWebGLFloatBuffers[count-1];for(var i=0;i<count;++i){view[i]=HEAPF32[value+4*i>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(webglGetUniformLocation(location),view)}Module["_glUniform1fv"]=_glUniform1fv;_glUniform1fv.sig="viii";function _glUniform2fv(location,count,value){if(count<=144){var view=miniTempWebGLFloatBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(webglGetUniformLocation(location),view)}Module["_glUniform2fv"]=_glUniform2fv;_glUniform2fv.sig="viii";function _glUniform3fv(location,count,value){if(count<=96){var view=miniTempWebGLFloatBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(webglGetUniformLocation(location),view)}Module["_glUniform3fv"]=_glUniform3fv;_glUniform3fv.sig="viii";function _glUniform4fv(location,count,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(webglGetUniformLocation(location),view)}Module["_glUniform4fv"]=_glUniform4fv;_glUniform4fv.sig="viii";function _glUniformMatrix2fv(location,count,transpose,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(webglGetUniformLocation(location),!!transpose,view)}Module["_glUniformMatrix2fv"]=_glUniformMatrix2fv;_glUniformMatrix2fv.sig="viiii";function _glUniformMatrix3fv(location,count,transpose,value){if(count<=32){var view=miniTempWebGLFloatBuffers[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(webglGetUniformLocation(location),!!transpose,view)}Module["_glUniformMatrix3fv"]=_glUniformMatrix3fv;_glUniformMatrix3fv.sig="viiii";function _glUniformMatrix4fv(location,count,transpose,value){if(count<=18){var view=miniTempWebGLFloatBuffers[16*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(webglGetUniformLocation(location),!!transpose,view)}Module["_glUniformMatrix4fv"]=_glUniformMatrix4fv;_glUniformMatrix4fv.sig="viiii";function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}Module["_glBindBuffer"]=_glBindBuffer;_glBindBuffer.sig="vii";function _glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}Module["_glVertexAttrib1fv"]=_glVertexAttrib1fv;_glVertexAttrib1fv.sig="vii";function _glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}Module["_glVertexAttrib2fv"]=_glVertexAttrib2fv;_glVertexAttrib2fv.sig="vii";function _glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}Module["_glVertexAttrib3fv"]=_glVertexAttrib3fv;_glVertexAttrib3fv.sig="vii";function _glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}Module["_glVertexAttrib4fv"]=_glVertexAttrib4fv;_glVertexAttrib4fv.sig="vii";function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}Module["_glGetAttribLocation"]=_glGetAttribLocation;_glGetAttribLocation.sig="iii";function _glGetActiveAttrib(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)}Module["_glGetActiveAttrib"]=_glGetActiveAttrib;_glGetActiveAttrib.sig="viiiiiii";function _glGetActiveUniform(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}Module["_glGetActiveUniform"]=_glGetActiveUniform;_glGetActiveUniform.sig="viiiiiii";function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}Module["_glCreateShader"]=_glCreateShader;_glCreateShader.sig="ii";function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}Module["_glDeleteShader"]=_glDeleteShader;_glDeleteShader.sig="vi";function _glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i<len;++i){var id=GL.shaders.indexOf(result[i]);HEAP32[shaders+i*4>>2]=id}}Module["_glGetAttachedShaders"]=_glGetAttachedShaders;_glGetAttachedShaders.sig="viiii";function _glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}Module["_glShaderSource"]=_glShaderSource;_glShaderSource.sig="viiii";function _glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}Module["_glGetShaderSource"]=_glGetShaderSource;_glGetShaderSource.sig="viiii";function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}Module["_glCompileShader"]=_glCompileShader;_glCompileShader.sig="vi";function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}Module["_glGetShaderInfoLog"]=_glGetShaderInfoLog;_glGetShaderInfoLog.sig="viiii";function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}Module["_glGetShaderiv"]=_glGetShaderiv;_glGetShaderiv.sig="viii";function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}program=GL.programs[program];if(pname==35716){var log=GLctx.getProgramInfoLog(program);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){if(!program.maxUniformLength){for(var i=0;i<GLctx.getProgramParameter(program,35718);++i){program.maxUniformLength=Math.max(program.maxUniformLength,GLctx.getActiveUniform(program,i).name.length+1)}}HEAP32[p>>2]=program.maxUniformLength}else if(pname==35722){if(!program.maxAttributeLength){for(var i=0;i<GLctx.getProgramParameter(program,35721);++i){program.maxAttributeLength=Math.max(program.maxAttributeLength,GLctx.getActiveAttrib(program,i).name.length+1)}}HEAP32[p>>2]=program.maxAttributeLength}else if(pname==35381){if(!program.maxUniformBlockNameLength){for(var i=0;i<GLctx.getProgramParameter(program,35382);++i){program.maxUniformBlockNameLength=Math.max(program.maxUniformBlockNameLength,GLctx.getActiveUniformBlockName(program,i).length+1)}}HEAP32[p>>2]=program.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(program,pname)}}Module["_glGetProgramiv"]=_glGetProgramiv;_glGetProgramiv.sig="viii";function _glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}Module["_glIsShader"]=_glIsShader;_glIsShader.sig="ii";function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;program.maxUniformLength=program.maxAttributeLength=program.maxUniformBlockNameLength=0;program.uniformIdCounter=1;GL.programs[id]=program;return id}Module["_glCreateProgram"]=_glCreateProgram;_glCreateProgram.sig="i";function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null}Module["_glDeleteProgram"]=_glDeleteProgram;_glDeleteProgram.sig="vi";function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}Module["_glAttachShader"]=_glAttachShader;_glAttachShader.sig="vii";function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}Module["_glDetachShader"]=_glDetachShader;_glDetachShader.sig="vii";function _glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}Module["_glGetShaderPrecisionFormat"]=_glGetShaderPrecisionFormat;_glGetShaderPrecisionFormat.sig="viiii";function _glLinkProgram(program){program=GL.programs[program];GLctx.linkProgram(program);program.uniformLocsById=0;program.uniformSizeAndIdsByName={}}Module["_glLinkProgram"]=_glLinkProgram;_glLinkProgram.sig="vi";function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}Module["_glGetProgramInfoLog"]=_glGetProgramInfoLog;_glGetProgramInfoLog.sig="viiii";function _glUseProgram(program){program=GL.programs[program];GLctx.useProgram(program);GLctx.currentProgram=program}Module["_glUseProgram"]=_glUseProgram;_glUseProgram.sig="vi";function _glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}Module["_glValidateProgram"]=_glValidateProgram;_glValidateProgram.sig="vi";function _glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}Module["_glIsProgram"]=_glIsProgram;_glIsProgram.sig="ii";function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}Module["_glBindAttribLocation"]=_glBindAttribLocation;_glBindAttribLocation.sig="viii";function _glBindFramebuffer(target,framebuffer){GLctx.bindFramebuffer(target,GL.framebuffers[framebuffer])}Module["_glBindFramebuffer"]=_glBindFramebuffer;_glBindFramebuffer.sig="vii";function _glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}Module["_glGenFramebuffers"]=_glGenFramebuffers;_glGenFramebuffers.sig="vii";function _glDeleteFramebuffers(n,framebuffers){for(var i=0;i<n;++i){var id=HEAP32[framebuffers+i*4>>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}Module["_glDeleteFramebuffers"]=_glDeleteFramebuffers;_glDeleteFramebuffers.sig="vii";function _glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}Module["_glFramebufferRenderbuffer"]=_glFramebufferRenderbuffer;_glFramebufferRenderbuffer.sig="viiii";function _glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}Module["_glFramebufferTexture2D"]=_glFramebufferTexture2D;_glFramebufferTexture2D.sig="viiiii";function _glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}Module["_glGetFramebufferAttachmentParameteriv"]=_glGetFramebufferAttachmentParameteriv;_glGetFramebufferAttachmentParameteriv.sig="viiii";function _glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}Module["_glIsFramebuffer"]=_glIsFramebuffer;_glIsFramebuffer.sig="ii";function _glGenVertexArrays(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}Module["_glGenVertexArrays"]=_glGenVertexArrays;_glGenVertexArrays.sig="vii";function _glDeleteVertexArrays(n,vaos){for(var i=0;i<n;i++){var id=HEAP32[vaos+i*4>>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}Module["_glDeleteVertexArrays"]=_glDeleteVertexArrays;_glDeleteVertexArrays.sig="vii";function _glBindVertexArray(vao){GLctx["bindVertexArray"](GL.vaos[vao])}Module["_glBindVertexArray"]=_glBindVertexArray;_glBindVertexArray.sig="vi";function _glIsVertexArray(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}Module["_glIsVertexArray"]=_glIsVertexArray;_glIsVertexArray.sig="ii";function _glVertexPointer(){throw"Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation."}Module["_glVertexPointer"]=_glVertexPointer;function _glMatrixMode(){throw"Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation."}Module["_glMatrixMode"]=_glMatrixMode;function _glBegin(){throw"Legacy GL function (glBegin) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation."}Module["_glBegin"]=_glBegin;function _glLoadIdentity(){throw"Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation."}Module["_glLoadIdentity"]=_glLoadIdentity;function _glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}Module["_glGenVertexArraysOES"]=_glGenVertexArraysOES;_glGenVertexArraysOES.sig="vii";function _glDeleteVertexArraysOES(n,vaos){for(var i=0;i<n;i++){var id=HEAP32[vaos+i*4>>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}Module["_glDeleteVertexArraysOES"]=_glDeleteVertexArraysOES;_glDeleteVertexArraysOES.sig="vii";function _glBindVertexArrayOES(vao){GLctx["bindVertexArray"](GL.vaos[vao])}Module["_glBindVertexArrayOES"]=_glBindVertexArrayOES;_glBindVertexArrayOES.sig="vi";function _glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}Module["_glIsVertexArrayOES"]=_glIsVertexArrayOES;_glIsVertexArrayOES.sig="ii";function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}Module["_glVertexAttribPointer"]=_glVertexAttribPointer;_glVertexAttribPointer.sig="viiiiii";function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}Module["_glEnableVertexAttribArray"]=_glEnableVertexAttribArray;_glEnableVertexAttribArray.sig="vi";function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}Module["_glDisableVertexAttribArray"]=_glDisableVertexAttribArray;_glDisableVertexAttribArray.sig="vi";function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}Module["_glDrawArrays"]=_glDrawArrays;_glDrawArrays.sig="viii";function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}Module["_glDrawElements"]=_glDrawElements;_glDrawElements.sig="viiii";function _glShaderBinary(){GL.recordError(1280)}Module["_glShaderBinary"]=_glShaderBinary;_glShaderBinary.sig="v";function _glReleaseShaderCompiler(){}Module["_glReleaseShaderCompiler"]=_glReleaseShaderCompiler;_glReleaseShaderCompiler.sig="v";function _glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}Module["_glGetError"]=_glGetError;_glGetError.sig="i";function _glVertexAttribDivisor(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}Module["_glVertexAttribDivisor"]=_glVertexAttribDivisor;_glVertexAttribDivisor.sig="vii";function _glDrawArraysInstanced(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}Module["_glDrawArraysInstanced"]=_glDrawArraysInstanced;_glDrawArraysInstanced.sig="viiii";function _glDrawElementsInstanced(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}Module["_glDrawElementsInstanced"]=_glDrawElementsInstanced;_glDrawElementsInstanced.sig="viiiii";function _glVertexAttribDivisorNV(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}Module["_glVertexAttribDivisorNV"]=_glVertexAttribDivisorNV;_glVertexAttribDivisorNV.sig="vii";function _glDrawArraysInstancedNV(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}Module["_glDrawArraysInstancedNV"]=_glDrawArraysInstancedNV;_glDrawArraysInstancedNV.sig="viiii";function _glDrawElementsInstancedNV(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}Module["_glDrawElementsInstancedNV"]=_glDrawElementsInstancedNV;_glDrawElementsInstancedNV.sig="viiiii";function _glVertexAttribDivisorEXT(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}Module["_glVertexAttribDivisorEXT"]=_glVertexAttribDivisorEXT;_glVertexAttribDivisorEXT.sig="vii";function _glDrawArraysInstancedEXT(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}Module["_glDrawArraysInstancedEXT"]=_glDrawArraysInstancedEXT;_glDrawArraysInstancedEXT.sig="viiii";function _glDrawElementsInstancedEXT(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}Module["_glDrawElementsInstancedEXT"]=_glDrawElementsInstancedEXT;_glDrawElementsInstancedEXT.sig="viiiii";function _glVertexAttribDivisorARB(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}Module["_glVertexAttribDivisorARB"]=_glVertexAttribDivisorARB;_glVertexAttribDivisorARB.sig="vii";function _glDrawArraysInstancedARB(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}Module["_glDrawArraysInstancedARB"]=_glDrawArraysInstancedARB;_glDrawArraysInstancedARB.sig="viiii";function _glDrawElementsInstancedARB(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}Module["_glDrawElementsInstancedARB"]=_glDrawElementsInstancedARB;_glDrawElementsInstancedARB.sig="viiiii";function _glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}Module["_glVertexAttribDivisorANGLE"]=_glVertexAttribDivisorANGLE;_glVertexAttribDivisorANGLE.sig="vii";function _glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}Module["_glDrawArraysInstancedANGLE"]=_glDrawArraysInstancedANGLE;_glDrawArraysInstancedANGLE.sig="viiii";function _glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}Module["_glDrawElementsInstancedANGLE"]=_glDrawElementsInstancedANGLE;_glDrawElementsInstancedANGLE.sig="viiiii";function _glDrawBuffers(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i<n;i++){bufArray[i]=HEAP32[bufs+i*4>>2]}GLctx["drawBuffers"](bufArray)}Module["_glDrawBuffers"]=_glDrawBuffers;_glDrawBuffers.sig="vii";function _glDrawBuffersEXT(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i<n;i++){bufArray[i]=HEAP32[bufs+i*4>>2]}GLctx["drawBuffers"](bufArray)}Module["_glDrawBuffersEXT"]=_glDrawBuffersEXT;_glDrawBuffersEXT.sig="vii";function _glDrawBuffersWEBGL(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i<n;i++){bufArray[i]=HEAP32[bufs+i*4>>2]}GLctx["drawBuffers"](bufArray)}Module["_glDrawBuffersWEBGL"]=_glDrawBuffersWEBGL;_glDrawBuffersWEBGL.sig="vii";function _glColorMask(red,green,blue,alpha){GLctx.colorMask(!!red,!!green,!!blue,!!alpha)}Module["_glColorMask"]=_glColorMask;_glColorMask.sig="viiii";function _glDepthMask(flag){GLctx.depthMask(!!flag)}Module["_glDepthMask"]=_glDepthMask;_glDepthMask.sig="vi";function _glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}Module["_glSampleCoverage"]=_glSampleCoverage;_glSampleCoverage.sig="vii";function _glMultiDrawArrays(mode,firsts,counts,drawcount){GLctx.multiDrawWebgl["multiDrawArraysWEBGL"](mode,HEAP32,firsts>>2,HEAP32,counts>>2,drawcount)}Module["_glMultiDrawArrays"]=_glMultiDrawArrays;_glMultiDrawArrays.sig="viiii";function _glMultiDrawArraysANGLE(mode,firsts,counts,drawcount){GLctx.multiDrawWebgl["multiDrawArraysWEBGL"](mode,HEAP32,firsts>>2,HEAP32,counts>>2,drawcount)}Module["_glMultiDrawArraysANGLE"]=_glMultiDrawArraysANGLE;_glMultiDrawArraysANGLE.sig="viiii";function _glMultiDrawArraysWEBGL(mode,firsts,counts,drawcount){GLctx.multiDrawWebgl["multiDrawArraysWEBGL"](mode,HEAP32,firsts>>2,HEAP32,counts>>2,drawcount)}Module["_glMultiDrawArraysWEBGL"]=_glMultiDrawArraysWEBGL;_glMultiDrawArraysWEBGL.sig="viiii";function _glMultiDrawArraysInstancedANGLE(mode,firsts,counts,instanceCounts,drawcount){GLctx.multiDrawWebgl["multiDrawArraysInstancedWEBGL"](mode,HEAP32,firsts>>2,HEAP32,counts>>2,HEAP32,instanceCounts>>2,drawcount)}Module["_glMultiDrawArraysInstancedANGLE"]=_glMultiDrawArraysInstancedANGLE;_glMultiDrawArraysInstancedANGLE.sig="viiiii";function _glMultiDrawArraysInstancedWEBGL(mode,firsts,counts,instanceCounts,drawcount){GLctx.multiDrawWebgl["multiDrawArraysInstancedWEBGL"](mode,HEAP32,firsts>>2,HEAP32,counts>>2,HEAP32,instanceCounts>>2,drawcount)}Module["_glMultiDrawArraysInstancedWEBGL"]=_glMultiDrawArraysInstancedWEBGL;_glMultiDrawArraysInstancedWEBGL.sig="viiiii";function _glMultiDrawElements(mode,counts,type,offsets,drawcount){GLctx.multiDrawWebgl["multiDrawElementsWEBGL"](mode,HEAP32,counts>>2,type,HEAP32,offsets>>2,drawcount)}Module["_glMultiDrawElements"]=_glMultiDrawElements;_glMultiDrawElements.sig="viiiii";function _glMultiDrawElementsANGLE(mode,counts,type,offsets,drawcount){GLctx.multiDrawWebgl["multiDrawElementsWEBGL"](mode,HEAP32,counts>>2,type,HEAP32,offsets>>2,drawcount)}Module["_glMultiDrawElementsANGLE"]=_glMultiDrawElementsANGLE;_glMultiDrawElementsANGLE.sig="viiiii";function _glMultiDrawElementsWEBGL(mode,counts,type,offsets,drawcount){GLctx.multiDrawWebgl["multiDrawElementsWEBGL"](mode,HEAP32,counts>>2,type,HEAP32,offsets>>2,drawcount)}Module["_glMultiDrawElementsWEBGL"]=_glMultiDrawElementsWEBGL;_glMultiDrawElementsWEBGL.sig="viiiii";function _glMultiDrawElementsInstancedANGLE(mode,counts,type,offsets,instanceCounts,drawcount){GLctx.multiDrawWebgl["multiDrawElementsInstancedWEBGL"](mode,HEAP32,counts>>2,type,HEAP32,offsets>>2,HEAP32,instanceCounts>>2,drawcount)}Module["_glMultiDrawElementsInstancedANGLE"]=_glMultiDrawElementsInstancedANGLE;_glMultiDrawElementsInstancedANGLE.sig="viiiiii";function _glMultiDrawElementsInstancedWEBGL(mode,counts,type,offsets,instanceCounts,drawcount){GLctx.multiDrawWebgl["multiDrawElementsInstancedWEBGL"](mode,HEAP32,counts>>2,type,HEAP32,offsets>>2,HEAP32,instanceCounts>>2,drawcount)}Module["_glMultiDrawElementsInstancedWEBGL"]=_glMultiDrawElementsInstancedWEBGL;_glMultiDrawElementsInstancedWEBGL.sig="viiiiii";function _glFinish(){GLctx["finish"]()}Module["_glFinish"]=_glFinish;_glFinish.sig="v";function _glFlush(){GLctx["flush"]()}Module["_glFlush"]=_glFlush;_glFlush.sig="v";function _glClearDepth(x0){GLctx["clearDepth"](x0)}Module["_glClearDepth"]=_glClearDepth;_glClearDepth.sig="vi";function _glClearDepthf(x0){GLctx["clearDepth"](x0)}Module["_glClearDepthf"]=_glClearDepthf;_glClearDepthf.sig="vi";function _glDepthFunc(x0){GLctx["depthFunc"](x0)}Module["_glDepthFunc"]=_glDepthFunc;_glDepthFunc.sig="vi";function _glEnable(x0){GLctx["enable"](x0)}Module["_glEnable"]=_glEnable;_glEnable.sig="vi";function _glDisable(x0){GLctx["disable"](x0)}Module["_glDisable"]=_glDisable;_glDisable.sig="vi";function _glFrontFace(x0){GLctx["frontFace"](x0)}Module["_glFrontFace"]=_glFrontFace;_glFrontFace.sig="vi";function _glCullFace(x0){GLctx["cullFace"](x0)}Module["_glCullFace"]=_glCullFace;_glCullFace.sig="vi";function _glClear(x0){GLctx["clear"](x0)}Module["_glClear"]=_glClear;_glClear.sig="vi";function _glLineWidth(x0){GLctx["lineWidth"](x0)}Module["_glLineWidth"]=_glLineWidth;_glLineWidth.sig="vi";function _glClearStencil(x0){GLctx["clearStencil"](x0)}Module["_glClearStencil"]=_glClearStencil;_glClearStencil.sig="vi";function _glStencilMask(x0){GLctx["stencilMask"](x0)}Module["_glStencilMask"]=_glStencilMask;_glStencilMask.sig="vi";function _glCheckFramebufferStatus(x0){return GLctx["checkFramebufferStatus"](x0)}Module["_glCheckFramebufferStatus"]=_glCheckFramebufferStatus;_glCheckFramebufferStatus.sig="ii";function _glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}Module["_glGenerateMipmap"]=_glGenerateMipmap;_glGenerateMipmap.sig="vi";function _glActiveTexture(x0){GLctx["activeTexture"](x0)}Module["_glActiveTexture"]=_glActiveTexture;_glActiveTexture.sig="vi";function _glBlendEquation(x0){GLctx["blendEquation"](x0)}Module["_glBlendEquation"]=_glBlendEquation;_glBlendEquation.sig="vi";function _glIsEnabled(x0){return GLctx["isEnabled"](x0)}Module["_glIsEnabled"]=_glIsEnabled;_glIsEnabled.sig="ii";function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}Module["_glBlendFunc"]=_glBlendFunc;_glBlendFunc.sig="vii";function _glBlendEquationSeparate(x0,x1){GLctx["blendEquationSeparate"](x0,x1)}Module["_glBlendEquationSeparate"]=_glBlendEquationSeparate;_glBlendEquationSeparate.sig="vii";function _glDepthRange(x0,x1){GLctx["depthRange"](x0,x1)}Module["_glDepthRange"]=_glDepthRange;_glDepthRange.sig="vii";function _glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}Module["_glDepthRangef"]=_glDepthRangef;_glDepthRangef.sig="vii";function _glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}Module["_glStencilMaskSeparate"]=_glStencilMaskSeparate;_glStencilMaskSeparate.sig="vii";function _glHint(x0,x1){GLctx["hint"](x0,x1)}Module["_glHint"]=_glHint;_glHint.sig="vii";function _glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}Module["_glPolygonOffset"]=_glPolygonOffset;_glPolygonOffset.sig="vii";function _glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}Module["_glVertexAttrib1f"]=_glVertexAttrib1f;_glVertexAttrib1f.sig="vii";function _glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}Module["_glTexParameteri"]=_glTexParameteri;_glTexParameteri.sig="viii";function _glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}Module["_glTexParameterf"]=_glTexParameterf;_glTexParameterf.sig="viii";function _glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}Module["_glVertexAttrib2f"]=_glVertexAttrib2f;_glVertexAttrib2f.sig="viii";function _glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}Module["_glStencilFunc"]=_glStencilFunc;_glStencilFunc.sig="viii";function _glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}Module["_glStencilOp"]=_glStencilOp;_glStencilOp.sig="viii";function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}Module["_glViewport"]=_glViewport;_glViewport.sig="viiii";function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}Module["_glClearColor"]=_glClearColor;_glClearColor.sig="viiii";function _glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}Module["_glScissor"]=_glScissor;_glScissor.sig="viiii";function _glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}Module["_glVertexAttrib3f"]=_glVertexAttrib3f;_glVertexAttrib3f.sig="viiii";function _glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}Module["_glRenderbufferStorage"]=_glRenderbufferStorage;_glRenderbufferStorage.sig="viiii";function _glBlendFuncSeparate(x0,x1,x2,x3){GLctx["blendFuncSeparate"](x0,x1,x2,x3)}Module["_glBlendFuncSeparate"]=_glBlendFuncSeparate;_glBlendFuncSeparate.sig="viiii";function _glBlendColor(x0,x1,x2,x3){GLctx["blendColor"](x0,x1,x2,x3)}Module["_glBlendColor"]=_glBlendColor;_glBlendColor.sig="vffff";function _glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}Module["_glStencilFuncSeparate"]=_glStencilFuncSeparate;_glStencilFuncSeparate.sig="viiii";function _glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}Module["_glStencilOpSeparate"]=_glStencilOpSeparate;_glStencilOpSeparate.sig="viiii";function _glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}Module["_glVertexAttrib4f"]=_glVertexAttrib4f;_glVertexAttrib4f.sig="viiiii";function _glCopyTexImage2D(x0,x1,x2,x3,x4,x5,x6,x7){GLctx["copyTexImage2D"](x0,x1,x2,x3,x4,x5,x6,x7)}Module["_glCopyTexImage2D"]=_glCopyTexImage2D;_glCopyTexImage2D.sig="viiiiiiii";function _glCopyTexSubImage2D(x0,x1,x2,x3,x4,x5,x6,x7){GLctx["copyTexSubImage2D"](x0,x1,x2,x3,x4,x5,x6,x7)}Module["_glCopyTexSubImage2D"]=_glCopyTexSubImage2D;_glCopyTexSubImage2D.sig="viiiiiiii";function _emscripten_glGenVertexArrays(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}Module["_emscripten_glGenVertexArrays"]=_emscripten_glGenVertexArrays;_emscripten_glGenVertexArrays.sig="vii";function _emscripten_glDeleteVertexArrays(n,vaos){for(var i=0;i<n;i++){var id=HEAP32[vaos+i*4>>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}Module["_emscripten_glDeleteVertexArrays"]=_emscripten_glDeleteVertexArrays;_emscripten_glDeleteVertexArrays.sig="vii";function _emscripten_glBindVertexArray(vao){GLctx["bindVertexArray"](GL.vaos[vao])}Module["_emscripten_glBindVertexArray"]=_emscripten_glBindVertexArray;_emscripten_glBindVertexArray.sig="vi";function _emscripten_glIsVertexArray(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}Module["_emscripten_glIsVertexArray"]=_emscripten_glIsVertexArray;_emscripten_glIsVertexArray.sig="ii";function _emscripten_glVertexPointer(){throw"Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation."}Module["_emscripten_glVertexPointer"]=_emscripten_glVertexPointer;function _emscripten_glMatrixMode(){throw"Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation."}Module["_emscripten_glMatrixMode"]=_emscripten_glMatrixMode;function _emscripten_glBegin(){throw"Legacy GL function (glBegin) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation."}Module["_emscripten_glBegin"]=_emscripten_glBegin;function _emscripten_glLoadIdentity(){throw"Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation."}Module["_emscripten_glLoadIdentity"]=_emscripten_glLoadIdentity;function _emscripten_glVertexAttribDivisor(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}Module["_emscripten_glVertexAttribDivisor"]=_emscripten_glVertexAttribDivisor;_emscripten_glVertexAttribDivisor.sig="vii";function _emscripten_glDrawArraysInstanced(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}Module["_emscripten_glDrawArraysInstanced"]=_emscripten_glDrawArraysInstanced;_emscripten_glDrawArraysInstanced.sig="viiii";function _emscripten_glDrawElementsInstanced(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}Module["_emscripten_glDrawElementsInstanced"]=_emscripten_glDrawElementsInstanced;_emscripten_glDrawElementsInstanced.sig="viiiii";function _emscripten_glVertexAttribDivisorNV(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}Module["_emscripten_glVertexAttribDivisorNV"]=_emscripten_glVertexAttribDivisorNV;_emscripten_glVertexAttribDivisorNV.sig="vii";function _emscripten_glDrawArraysInstancedNV(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}Module["_emscripten_glDrawArraysInstancedNV"]=_emscripten_glDrawArraysInstancedNV;_emscripten_glDrawArraysInstancedNV.sig="viiii";function _emscripten_glDrawElementsInstancedNV(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}Module["_emscripten_glDrawElementsInstancedNV"]=_emscripten_glDrawElementsInstancedNV;_emscripten_glDrawElementsInstancedNV.sig="viiiii";function _emscripten_glVertexAttribDivisorEXT(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}Module["_emscripten_glVertexAttribDivisorEXT"]=_emscripten_glVertexAttribDivisorEXT;_emscripten_glVertexAttribDivisorEXT.sig="vii";function _emscripten_glDrawArraysInstancedEXT(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}Module["_emscripten_glDrawArraysInstancedEXT"]=_emscripten_glDrawArraysInstancedEXT;_emscripten_glDrawArraysInstancedEXT.sig="viiii";function _emscripten_glDrawElementsInstancedEXT(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}Module["_emscripten_glDrawElementsInstancedEXT"]=_emscripten_glDrawElementsInstancedEXT;_emscripten_glDrawElementsInstancedEXT.sig="viiiii";function _emscripten_glVertexAttribDivisorARB(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}Module["_emscripten_glVertexAttribDivisorARB"]=_emscripten_glVertexAttribDivisorARB;_emscripten_glVertexAttribDivisorARB.sig="vii";function _emscripten_glDrawArraysInstancedARB(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}Module["_emscripten_glDrawArraysInstancedARB"]=_emscripten_glDrawArraysInstancedARB;_emscripten_glDrawArraysInstancedARB.sig="viiii";function _emscripten_glDrawElementsInstancedARB(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}Module["_emscripten_glDrawElementsInstancedARB"]=_emscripten_glDrawElementsInstancedARB;_emscripten_glDrawElementsInstancedARB.sig="viiiii";function _emscripten_glDrawBuffers(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i<n;i++){bufArray[i]=HEAP32[bufs+i*4>>2]}GLctx["drawBuffers"](bufArray)}Module["_emscripten_glDrawBuffers"]=_emscripten_glDrawBuffers;_emscripten_glDrawBuffers.sig="vii";function _emscripten_glDrawBuffersEXT(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i<n;i++){bufArray[i]=HEAP32[bufs+i*4>>2]}GLctx["drawBuffers"](bufArray)}Module["_emscripten_glDrawBuffersEXT"]=_emscripten_glDrawBuffersEXT;_emscripten_glDrawBuffersEXT.sig="vii";function _emscripten_glMultiDrawArrays(mode,firsts,counts,drawcount){GLctx.multiDrawWebgl["multiDrawArraysWEBGL"](mode,HEAP32,firsts>>2,HEAP32,counts>>2,drawcount)}Module["_emscripten_glMultiDrawArrays"]=_emscripten_glMultiDrawArrays;_emscripten_glMultiDrawArrays.sig="viiii";function _emscripten_glMultiDrawArraysANGLE(mode,firsts,counts,drawcount){GLctx.multiDrawWebgl["multiDrawArraysWEBGL"](mode,HEAP32,firsts>>2,HEAP32,counts>>2,drawcount)}Module["_emscripten_glMultiDrawArraysANGLE"]=_emscripten_glMultiDrawArraysANGLE;_emscripten_glMultiDrawArraysANGLE.sig="viiii";function _emscripten_glMultiDrawArraysWEBGL(mode,firsts,counts,drawcount){GLctx.multiDrawWebgl["multiDrawArraysWEBGL"](mode,HEAP32,firsts>>2,HEAP32,counts>>2,drawcount)}Module["_emscripten_glMultiDrawArraysWEBGL"]=_emscripten_glMultiDrawArraysWEBGL;_emscripten_glMultiDrawArraysWEBGL.sig="viiii";function _emscripten_glMultiDrawArraysInstancedANGLE(mode,firsts,counts,instanceCounts,drawcount){GLctx.multiDrawWebgl["multiDrawArraysInstancedWEBGL"](mode,HEAP32,firsts>>2,HEAP32,counts>>2,HEAP32,instanceCounts>>2,drawcount)}Module["_emscripten_glMultiDrawArraysInstancedANGLE"]=_emscripten_glMultiDrawArraysInstancedANGLE;_emscripten_glMultiDrawArraysInstancedANGLE.sig="viiiii";function _emscripten_glMultiDrawArraysInstancedWEBGL(mode,firsts,counts,instanceCounts,drawcount){GLctx.multiDrawWebgl["multiDrawArraysInstancedWEBGL"](mode,HEAP32,firsts>>2,HEAP32,counts>>2,HEAP32,instanceCounts>>2,drawcount)}Module["_emscripten_glMultiDrawArraysInstancedWEBGL"]=_emscripten_glMultiDrawArraysInstancedWEBGL;_emscripten_glMultiDrawArraysInstancedWEBGL.sig="viiiii";function _emscripten_glMultiDrawElements(mode,counts,type,offsets,drawcount){GLctx.multiDrawWebgl["multiDrawElementsWEBGL"](mode,HEAP32,counts>>2,type,HEAP32,offsets>>2,drawcount)}Module["_emscripten_glMultiDrawElements"]=_emscripten_glMultiDrawElements;_emscripten_glMultiDrawElements.sig="viiiii";function _emscripten_glMultiDrawElementsANGLE(mode,counts,type,offsets,drawcount){GLctx.multiDrawWebgl["multiDrawElementsWEBGL"](mode,HEAP32,counts>>2,type,HEAP32,offsets>>2,drawcount)}Module["_emscripten_glMultiDrawElementsANGLE"]=_emscripten_glMultiDrawElementsANGLE;_emscripten_glMultiDrawElementsANGLE.sig="viiiii";function _emscripten_glMultiDrawElementsWEBGL(mode,counts,type,offsets,drawcount){GLctx.multiDrawWebgl["multiDrawElementsWEBGL"](mode,HEAP32,counts>>2,type,HEAP32,offsets>>2,drawcount)}Module["_emscripten_glMultiDrawElementsWEBGL"]=_emscripten_glMultiDrawElementsWEBGL;_emscripten_glMultiDrawElementsWEBGL.sig="viiiii";function _emscripten_glMultiDrawElementsInstancedANGLE(mode,counts,type,offsets,instanceCounts,drawcount){GLctx.multiDrawWebgl["multiDrawElementsInstancedWEBGL"](mode,HEAP32,counts>>2,type,HEAP32,offsets>>2,HEAP32,instanceCounts>>2,drawcount)}Module["_emscripten_glMultiDrawElementsInstancedANGLE"]=_emscripten_glMultiDrawElementsInstancedANGLE;_emscripten_glMultiDrawElementsInstancedANGLE.sig="viiiiii";function _emscripten_glMultiDrawElementsInstancedWEBGL(mode,counts,type,offsets,instanceCounts,drawcount){GLctx.multiDrawWebgl["multiDrawElementsInstancedWEBGL"](mode,HEAP32,counts>>2,type,HEAP32,offsets>>2,HEAP32,instanceCounts>>2,drawcount)}Module["_emscripten_glMultiDrawElementsInstancedWEBGL"]=_emscripten_glMultiDrawElementsInstancedWEBGL;_emscripten_glMultiDrawElementsInstancedWEBGL.sig="viiiiii";function _emscripten_glClearDepth(x0){GLctx["clearDepth"](x0)}Module["_emscripten_glClearDepth"]=_emscripten_glClearDepth;_emscripten_glClearDepth.sig="vi";function _emscripten_glDepthRange(x0,x1){GLctx["depthRange"](x0,x1)}Module["_emscripten_glDepthRange"]=_emscripten_glDepthRange;_emscripten_glDepthRange.sig="vii";function writeGLArray(arr,dst,dstLength,heapType){var len=arr.length;var writeLength=dstLength<len?dstLength:len;var heap=heapType?HEAPF32:HEAP32;for(var i=0;i<writeLength;++i){heap[(dst>>2)+i]=arr[i]}return len}Module["writeGLArray"]=writeGLArray;function _emscripten_webgl_init_context_attributes(attributes){var a=attributes>>2;for(var i=0;i<56>>2;++i){HEAP32[a+i]=0}HEAP32[a+(0>>2)]=HEAP32[a+(4>>2)]=HEAP32[a+(12>>2)]=HEAP32[a+(16>>2)]=HEAP32[a+(32>>2)]=HEAP32[a+(40>>2)]=1}Module["_emscripten_webgl_init_context_attributes"]=_emscripten_webgl_init_context_attributes;var __emscripten_webgl_power_preferences=["default","low-power","high-performance"];Module["__emscripten_webgl_power_preferences"]=__emscripten_webgl_power_preferences;function _emscripten_webgl_do_create_context(target,attributes){var a=attributes>>2;var powerPreference=HEAP32[a+(24>>2)];var contextAttributes={"alpha":!!HEAP32[a+(0>>2)],"depth":!!HEAP32[a+(4>>2)],"stencil":!!HEAP32[a+(8>>2)],"antialias":!!HEAP32[a+(12>>2)],"premultipliedAlpha":!!HEAP32[a+(16>>2)],"preserveDrawingBuffer":!!HEAP32[a+(20>>2)],"powerPreference":__emscripten_webgl_power_preferences[powerPreference],"failIfMajorPerformanceCaveat":!!HEAP32[a+(28>>2)],majorVersion:HEAP32[a+(32>>2)],minorVersion:HEAP32[a+(36>>2)],enableExtensionsByDefault:HEAP32[a+(40>>2)],explicitSwapControl:HEAP32[a+(44>>2)],proxyContextToMainThread:HEAP32[a+(48>>2)],renderViaOffscreenBackBuffer:HEAP32[a+(52>>2)]};var canvas=findCanvasEventTarget(target);if(!canvas){return 0}if(contextAttributes.explicitSwapControl){return 0}var contextHandle=GL.createContext(canvas,contextAttributes);return contextHandle}Module["_emscripten_webgl_do_create_context"]=_emscripten_webgl_do_create_context;_emscripten_webgl_do_create_context.sig="iii";function _emscripten_webgl_create_context(a0,a1){return _emscripten_webgl_do_create_context(a0,a1)}Module["_emscripten_webgl_create_context"]=_emscripten_webgl_create_context;_emscripten_webgl_create_context.sig="iii";function _emscripten_webgl_do_get_current_context(){return GL.currentContext?GL.currentContext.handle:0}Module["_emscripten_webgl_do_get_current_context"]=_emscripten_webgl_do_get_current_context;_emscripten_webgl_do_get_current_context.sig="i";function _emscripten_webgl_get_current_context(){return _emscripten_webgl_do_get_current_context()}Module["_emscripten_webgl_get_current_context"]=_emscripten_webgl_get_current_context;_emscripten_webgl_get_current_context.sig="i";function _emscripten_webgl_do_commit_frame(){if(!GL.currentContext||!GL.currentContext.GLctx){return-3}if(!GL.currentContext.attributes.explicitSwapControl){return-3}return 0}Module["_emscripten_webgl_do_commit_frame"]=_emscripten_webgl_do_commit_frame;_emscripten_webgl_do_commit_frame.sig="i";function _emscripten_webgl_commit_frame(){return _emscripten_webgl_do_commit_frame()}Module["_emscripten_webgl_commit_frame"]=_emscripten_webgl_commit_frame;_emscripten_webgl_commit_frame.sig="i";function _emscripten_webgl_make_context_current(contextHandle){var success=GL.makeContextCurrent(contextHandle);return success?0:-5}Module["_emscripten_webgl_make_context_current"]=_emscripten_webgl_make_context_current;function _emscripten_webgl_get_drawing_buffer_size(contextHandle,width,height){var GLContext=GL.getContext(contextHandle);if(!GLContext||!GLContext.GLctx||!width||!height){return-5}HEAP32[width>>2]=GLContext.GLctx.drawingBufferWidth;HEAP32[height>>2]=GLContext.GLctx.drawingBufferHeight;return 0}Module["_emscripten_webgl_get_drawing_buffer_size"]=_emscripten_webgl_get_drawing_buffer_size;_emscripten_webgl_get_drawing_buffer_size.sig="iiii";function _emscripten_webgl_get_context_attributes(c,a){if(!a)return-5;c=GL.contexts[c];if(!c)return-3;var t=c.GLctx;if(!t)return-3;t=t.getContextAttributes();HEAP32[a>>2]=t.alpha;HEAP32[a+4>>2]=t.depth;HEAP32[a+8>>2]=t.stencil;HEAP32[a+12>>2]=t.antialias;HEAP32[a+16>>2]=t.premultipliedAlpha;HEAP32[a+20>>2]=t.preserveDrawingBuffer;var power=t["powerPreference"]&&__emscripten_webgl_power_preferences.indexOf(t["powerPreference"]);HEAP32[a+24>>2]=power;HEAP32[a+28>>2]=t.failIfMajorPerformanceCaveat;HEAP32[a+32>>2]=c.version;HEAP32[a+36>>2]=0;HEAP32[a+40>>2]=c.attributes.enableExtensionsByDefault;return 0}Module["_emscripten_webgl_get_context_attributes"]=_emscripten_webgl_get_context_attributes;_emscripten_webgl_get_context_attributes.sig="iii";function _emscripten_webgl_destroy_context(contextHandle){if(GL.currentContext==contextHandle)GL.currentContext=0;GL.deleteContext(contextHandle)}Module["_emscripten_webgl_destroy_context"]=_emscripten_webgl_destroy_context;_emscripten_webgl_destroy_context.sig="vi";function _emscripten_webgl_destroy_context_before_on_calling_thread(contextHandle){if(_emscripten_webgl_get_current_context()==contextHandle)_emscripten_webgl_make_context_current(0)}Module["_emscripten_webgl_destroy_context_before_on_calling_thread"]=_emscripten_webgl_destroy_context_before_on_calling_thread;function _emscripten_webgl_enable_extension(contextHandle,extension){var context=GL.getContext(contextHandle);var extString=UTF8ToString(extension);if(extString.startsWith("GL_"))extString=extString.substr(3);if(extString=="ANGLE_instanced_arrays")__webgl_enable_ANGLE_instanced_arrays(GLctx);if(extString=="OES_vertex_array_object")__webgl_enable_OES_vertex_array_object(GLctx);if(extString=="WEBGL_draw_buffers")__webgl_enable_WEBGL_draw_buffers(GLctx);if(extString=="WEBGL_multi_draw")__webgl_enable_WEBGL_multi_draw(GLctx);var ext=context.GLctx.getExtension(extString);return!!ext}Module["_emscripten_webgl_enable_extension"]=_emscripten_webgl_enable_extension;_emscripten_webgl_enable_extension.sig="iii";function _emscripten_supports_offscreencanvas(){return 0}Module["_emscripten_supports_offscreencanvas"]=_emscripten_supports_offscreencanvas;function __registerWebGlEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){var webGlEventHandlerFunc=function(ev){var e=ev||event;if(wasmTable.get(callbackfunc)(eventTypeId,0,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:webGlEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}Module["__registerWebGlEventCallback"]=__registerWebGlEventCallback;function _emscripten_set_webglcontextlost_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerWebGlEventCallback(target,userData,useCapture,callbackfunc,31,"webglcontextlost",targetThread);return 0}Module["_emscripten_set_webglcontextlost_callback_on_thread"]=_emscripten_set_webglcontextlost_callback_on_thread;_emscripten_set_webglcontextlost_callback_on_thread.sig="iiiiii";function _emscripten_set_webglcontextrestored_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerWebGlEventCallback(target,userData,useCapture,callbackfunc,32,"webglcontextrestored",targetThread);return 0}Module["_emscripten_set_webglcontextrestored_callback_on_thread"]=_emscripten_set_webglcontextrestored_callback_on_thread;_emscripten_set_webglcontextrestored_callback_on_thread.sig="iiiiii";function _emscripten_is_webgl_context_lost(contextHandle){return!GL.contexts[contextHandle]||GL.contexts[contextHandle].GLctx.isContextLost()}Module["_emscripten_is_webgl_context_lost"]=_emscripten_is_webgl_context_lost;_emscripten_is_webgl_context_lost.sig="ii";function _emscripten_webgl_get_supported_extensions(){return stringToNewUTF8(GLctx.getSupportedExtensions().join(" "))}Module["_emscripten_webgl_get_supported_extensions"]=_emscripten_webgl_get_supported_extensions;_emscripten_webgl_get_supported_extensions.sig="i";function _emscripten_webgl_get_program_parameter_d(program,param){return GLctx.getProgramParameter(GL.programs[program],param)}Module["_emscripten_webgl_get_program_parameter_d"]=_emscripten_webgl_get_program_parameter_d;_emscripten_webgl_get_program_parameter_d.sig="fii";function _emscripten_webgl_get_program_info_log_utf8(program){return stringToNewUTF8(GLctx.getProgramInfoLog(GL.programs[program]))}Module["_emscripten_webgl_get_program_info_log_utf8"]=_emscripten_webgl_get_program_info_log_utf8;_emscripten_webgl_get_program_info_log_utf8.sig="ii";function _emscripten_webgl_get_shader_parameter_d(shader,param){return GLctx.getShaderParameter(GL.shaders[shader],param)}Module["_emscripten_webgl_get_shader_parameter_d"]=_emscripten_webgl_get_shader_parameter_d;_emscripten_webgl_get_shader_parameter_d.sig="fii";function _emscripten_webgl_get_shader_info_log_utf8(shader){return stringToNewUTF8(GLctx.getShaderInfoLog(GL.shaders[shader]))}Module["_emscripten_webgl_get_shader_info_log_utf8"]=_emscripten_webgl_get_shader_info_log_utf8;_emscripten_webgl_get_shader_info_log_utf8.sig="ii";function _emscripten_webgl_get_shader_source_utf8(shader){return stringToNewUTF8(GLctx.getShaderSource(GL.shaders[shader]))}Module["_emscripten_webgl_get_shader_source_utf8"]=_emscripten_webgl_get_shader_source_utf8;_emscripten_webgl_get_shader_source_utf8.sig="ii";function _emscripten_webgl_get_vertex_attrib_d(index,param){return GLctx.getVertexAttrib(index,param)}Module["_emscripten_webgl_get_vertex_attrib_d"]=_emscripten_webgl_get_vertex_attrib_d;_emscripten_webgl_get_vertex_attrib_d.sig="iii";function _emscripten_webgl_get_vertex_attrib_o(index,param){var obj=GLctx.getVertexAttrib(index,param);return obj&&obj.name}Module["_emscripten_webgl_get_vertex_attrib_o"]=_emscripten_webgl_get_vertex_attrib_o;_emscripten_webgl_get_vertex_attrib_o.sig="iii";function _emscripten_webgl_get_vertex_attrib_v(index,param,dst,dstLength,dstType){return writeGLArray(GLctx.getVertexAttrib(index,param),dst,dstLength,dstType)}Module["_emscripten_webgl_get_vertex_attrib_v"]=_emscripten_webgl_get_vertex_attrib_v;_emscripten_webgl_get_vertex_attrib_v.sig="iiiiii";function _emscripten_webgl_get_uniform_d(program,location){return GLctx.getUniform(GL.programs[program],webglGetUniformLocation(location))}Module["_emscripten_webgl_get_uniform_d"]=_emscripten_webgl_get_uniform_d;_emscripten_webgl_get_uniform_d.sig="fii";function _emscripten_webgl_get_uniform_v(program,location,dst,dstLength,dstType){return writeGLArray(GLctx.getUniform(GL.programs[program],webglGetUniformLocation(location)),dst,dstLength,dstType)}Module["_emscripten_webgl_get_uniform_v"]=_emscripten_webgl_get_uniform_v;_emscripten_webgl_get_uniform_v.sig="iiiiii";function _emscripten_webgl_get_parameter_v(param,dst,dstLength,dstType){return writeGLArray(GLctx.getParameter(param),dst,dstLength,dstType)}Module["_emscripten_webgl_get_parameter_v"]=_emscripten_webgl_get_parameter_v;_emscripten_webgl_get_parameter_v.sig="iiiii";function _emscripten_webgl_get_parameter_d(param){return GLctx.getParameter(param)}Module["_emscripten_webgl_get_parameter_d"]=_emscripten_webgl_get_parameter_d;_emscripten_webgl_get_parameter_d.sig="fi";function _emscripten_webgl_get_parameter_o(param){var obj=GLctx.getParameter(param);return obj&&obj.name}Module["_emscripten_webgl_get_parameter_o"]=_emscripten_webgl_get_parameter_o;_emscripten_webgl_get_parameter_o.sig="ii";function _emscripten_webgl_get_parameter_utf8(param){return stringToNewUTF8(GLctx.getParameter(param))}Module["_emscripten_webgl_get_parameter_utf8"]=_emscripten_webgl_get_parameter_utf8;_emscripten_webgl_get_parameter_utf8.sig="ii";function _emscripten_webgl_get_parameter_i64v(param,dst){writeI53ToI64(dst,GLctx.getParameter(param))}Module["_emscripten_webgl_get_parameter_i64v"]=_emscripten_webgl_get_parameter_i64v;_emscripten_webgl_get_parameter_i64v.sig="vii";function _SDL_GetTicks(){return Date.now()-SDL.startTime|0}Module["_SDL_GetTicks"]=_SDL_GetTicks;_SDL_GetTicks.sig="i";function _SDL_LockSurface(surf){var surfData=SDL.surfaces[surf];surfData.locked++;if(surfData.locked>1)return 0;if(!surfData.buffer){surfData.buffer=_malloc(surfData.width*surfData.height*4);HEAP32[surf+20>>2]=surfData.buffer}HEAP32[surf+20>>2]=surfData.buffer;if(surf==SDL.screen&&Module.screenIsReadOnly&&surfData.image)return 0;if(SDL.defaults.discardOnLock){if(!surfData.image){surfData.image=surfData.ctx.createImageData(surfData.width,surfData.height)}if(!SDL.defaults.opaqueFrontBuffer)return}else{surfData.image=surfData.ctx.getImageData(0,0,surfData.width,surfData.height)}if(surf==SDL.screen&&SDL.defaults.opaqueFrontBuffer){var data=surfData.image.data;var num=data.length;for(var i=0;i<num/4;i++){data[i*4+3]=255}}if(SDL.defaults.copyOnLock&&!SDL.defaults.discardOnLock){if(surfData.isFlagSet(2097152)){throw"CopyOnLock is not supported for SDL_LockSurface with SDL_HWPALETTE flag set"+(new Error).stack}else{HEAPU8.set(surfData.image.data,surfData.buffer)}}return 0}Module["_SDL_LockSurface"]=_SDL_LockSurface;_SDL_LockSurface.sig="ii";function SDL_ttfContext(){return SDL.ttfContext}Module["SDL_ttfContext"]=SDL_ttfContext;function SDL_audio(){return SDL.audio}Module["SDL_audio"]=SDL_audio;var SDL={defaults:{width:320,height:200,copyOnLock:true,discardOnLock:false,opaqueFrontBuffer:true},version:null,surfaces:{},canvasPool:[],events:[],fonts:[null],audios:[null],rwops:[null],music:{audio:null,volume:1},mixerFrequency:22050,mixerFormat:32784,mixerNumChannels:2,mixerChunkSize:1024,channelMinimumNumber:0,GL:false,glAttributes:{0:3,1:3,2:2,3:0,4:0,5:1,6:16,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:1,16:0,17:0,18:0},keyboardState:null,keyboardMap:{},canRequestFullscreen:false,isRequestingFullscreen:false,textInput:false,startTime:null,initFlags:0,buttonState:0,modState:0,DOMButtons:[0,0,0],DOMEventToSDLEvent:{},TOUCH_DEFAULT_ID:0,eventHandler:null,eventHandlerContext:null,eventHandlerTemp:0,keyCodes:{16:1249,17:1248,18:1250,20:1081,33:1099,34:1102,35:1101,36:1098,37:1104,38:1106,39:1103,40:1105,44:316,45:1097,46:127,91:1251,93:1125,96:1122,97:1113,98:1114,99:1115,100:1116,101:1117,102:1118,103:1119,104:1120,105:1121,106:1109,107:1111,109:1110,110:1123,111:1108,112:1082,113:1083,114:1084,115:1085,116:1086,117:1087,118:1088,119:1089,120:1090,121:1091,122:1092,123:1093,124:1128,125:1129,126:1130,127:1131,128:1132,129:1133,130:1134,131:1135,132:1136,133:1137,134:1138,135:1139,144:1107,160:94,161:33,162:34,163:35,164:36,165:37,166:38,167:95,168:40,169:41,170:42,171:43,172:124,173:45,174:123,175:125,176:126,181:127,182:129,183:128,188:44,190:46,191:47,192:96,219:91,220:92,221:93,222:39,224:1251},scanCodes:{8:42,9:43,13:40,27:41,32:44,35:204,39:53,44:54,46:55,47:56,48:39,49:30,50:31,51:32,52:33,53:34,54:35,55:36,56:37,57:38,58:203,59:51,61:46,91:47,92:49,93:48,96:52,97:4,98:5,99:6,100:7,101:8,102:9,103:10,104:11,105:12,106:13,107:14,108:15,109:16,110:17,111:18,112:19,113:20,114:21,115:22,116:23,117:24,118:25,119:26,120:27,121:28,122:29,127:76,305:224,308:226,316:70},loadRect:function(rect){return{x:HEAP32[rect+0>>2],y:HEAP32[rect+4>>2],w:HEAP32[rect+8>>2],h:HEAP32[rect+12>>2]}},updateRect:function(rect,r){HEAP32[rect>>2]=r.x;HEAP32[rect+4>>2]=r.y;HEAP32[rect+8>>2]=r.w;HEAP32[rect+12>>2]=r.h},intersectionOfRects:function(first,second){var leftX=Math.max(first.x,second.x);var leftY=Math.max(first.y,second.y);var rightX=Math.min(first.x+first.w,second.x+second.w);var rightY=Math.min(first.y+first.h,second.y+second.h);return{x:leftX,y:leftY,w:Math.max(leftX,rightX)-leftX,h:Math.max(leftY,rightY)-leftY}},checkPixelFormat:function(fmt){},loadColorToCSSRGB:function(color){var rgba=HEAP32[color>>2];return"rgb("+(rgba&255)+","+(rgba>>8&255)+","+(rgba>>16&255)+")"},loadColorToCSSRGBA:function(color){var rgba=HEAP32[color>>2];return"rgba("+(rgba&255)+","+(rgba>>8&255)+","+(rgba>>16&255)+","+(rgba>>24&255)/255+")"},translateColorToCSSRGBA:function(rgba){return"rgba("+(rgba&255)+","+(rgba>>8&255)+","+(rgba>>16&255)+","+(rgba>>>24)/255+")"},translateRGBAToCSSRGBA:function(r,g,b,a){return"rgba("+(r&255)+","+(g&255)+","+(b&255)+","+(a&255)/255+")"},translateRGBAToColor:function(r,g,b,a){return r|g<<8|b<<16|a<<24},makeSurface:function(width,height,flags,usePageCanvas,source,rmask,gmask,bmask,amask){flags=flags||0;var is_SDL_HWSURFACE=flags&1;var is_SDL_HWPALETTE=flags&2097152;var is_SDL_OPENGL=flags&67108864;var surf=_malloc(60);var pixelFormat=_malloc(44);var bpp=is_SDL_HWPALETTE?1:4;var buffer=0;if(!is_SDL_HWSURFACE&&!is_SDL_OPENGL){buffer=_malloc(width*height*4)}HEAP32[surf>>2]=flags;HEAP32[surf+4>>2]=pixelFormat;HEAP32[surf+8>>2]=width;HEAP32[surf+12>>2]=height;HEAP32[surf+16>>2]=width*bpp;HEAP32[surf+20>>2]=buffer;HEAP32[surf+36>>2]=0;HEAP32[surf+40>>2]=0;HEAP32[surf+44>>2]=Module["canvas"].width;HEAP32[surf+48>>2]=Module["canvas"].height;HEAP32[surf+56>>2]=1;HEAP32[pixelFormat>>2]=-2042224636;HEAP32[pixelFormat+4>>2]=0;HEAP8[pixelFormat+8>>0]=bpp*8;HEAP8[pixelFormat+9>>0]=bpp;HEAP32[pixelFormat+12>>2]=rmask||255;HEAP32[pixelFormat+16>>2]=gmask||65280;HEAP32[pixelFormat+20>>2]=bmask||16711680;HEAP32[pixelFormat+24>>2]=amask||4278190080;SDL.GL=SDL.GL||is_SDL_OPENGL;var canvas;if(!usePageCanvas){if(SDL.canvasPool.length>0){canvas=SDL.canvasPool.pop()}else{canvas=document.createElement("canvas")}canvas.width=width;canvas.height=height}else{canvas=Module["canvas"]}var webGLContextAttributes={antialias:SDL.glAttributes[13]!=0&&SDL.glAttributes[14]>1,depth:SDL.glAttributes[6]>0,stencil:SDL.glAttributes[7]>0,alpha:SDL.glAttributes[3]>0};var ctx=Browser.createContext(canvas,is_SDL_OPENGL,usePageCanvas,webGLContextAttributes);SDL.surfaces[surf]={width:width,height:height,canvas:canvas,ctx:ctx,surf:surf,buffer:buffer,pixelFormat:pixelFormat,alpha:255,flags:flags,locked:0,usePageCanvas:usePageCanvas,source:source,isFlagSet:function(flag){return flags&flag}};return surf},copyIndexedColorData:function(surfData,rX,rY,rW,rH){if(!surfData.colors){return}var fullWidth=Module["canvas"].width;var fullHeight=Module["canvas"].height;var startX=rX||0;var startY=rY||0;var endX=(rW||fullWidth-startX)+startX;var endY=(rH||fullHeight-startY)+startY;var buffer=surfData.buffer;if(!surfData.image.data32){surfData.image.data32=new Uint32Array(surfData.image.data.buffer)}var data32=surfData.image.data32;var colors32=surfData.colors32;for(var y=startY;y<endY;++y){var base=y*fullWidth;for(var x=startX;x<endX;++x){data32[base+x]=colors32[HEAPU8[buffer+base+x>>0]]}}},freeSurface:function(surf){var refcountPointer=surf+56;var refcount=HEAP32[refcountPointer>>2];if(refcount>1){HEAP32[refcountPointer>>2]=refcount-1;return}var info=SDL.surfaces[surf];if(!info.usePageCanvas&&info.canvas)SDL.canvasPool.push(info.canvas);if(info.buffer)_free(info.buffer);_free(info.pixelFormat);_free(surf);SDL.surfaces[surf]=null;if(surf===SDL.screen){SDL.screen=null}},blitSurface:function(src,srcrect,dst,dstrect,scale){var srcData=SDL.surfaces[src];var dstData=SDL.surfaces[dst];var sr,dr;if(srcrect){sr=SDL.loadRect(srcrect)}else{sr={x:0,y:0,w:srcData.width,h:srcData.height}}if(dstrect){dr=SDL.loadRect(dstrect)}else{dr={x:0,y:0,w:srcData.width,h:srcData.height}}if(dstData.clipRect){var widthScale=!scale||sr.w===0?1:sr.w/dr.w;var heightScale=!scale||sr.h===0?1:sr.h/dr.h;dr=SDL.intersectionOfRects(dstData.clipRect,dr);sr.w=dr.w*widthScale;sr.h=dr.h*heightScale;if(dstrect){SDL.updateRect(dstrect,dr)}}var blitw,blith;if(scale){blitw=dr.w;blith=dr.h}else{blitw=sr.w;blith=sr.h}if(sr.w===0||sr.h===0||blitw===0||blith===0){return 0}var oldAlpha=dstData.ctx.globalAlpha;dstData.ctx.globalAlpha=srcData.alpha/255;dstData.ctx.drawImage(srcData.canvas,sr.x,sr.y,sr.w,sr.h,dr.x,dr.y,blitw,blith);dstData.ctx.globalAlpha=oldAlpha;if(dst!=SDL.screen){warnOnce("WARNING: copying canvas data to memory for compatibility");_SDL_LockSurface(dst);dstData.locked--}return 0},downFingers:{},savedKeydown:null,receiveEvent:function(event){function unpressAllPressedKeys(){for(var code in SDL.keyboardMap){SDL.events.push({type:"keyup",keyCode:SDL.keyboardMap[code]})}}switch(event.type){case"touchstart":case"touchmove":{event.preventDefault();var touches=[];if(event.type==="touchstart"){for(var i=0;i<event.touches.length;i++){var touch=event.touches[i];if(SDL.downFingers[touch.identifier]!=true){SDL.downFingers[touch.identifier]=true;touches.push(touch)}}}else{touches=event.touches}var firstTouch=touches[0];if(firstTouch){if(event.type=="touchstart"){SDL.DOMButtons[0]=1}var mouseEventType;switch(event.type){case"touchstart":mouseEventType="mousedown";break;case"touchmove":mouseEventType="mousemove";break}var mouseEvent={type:mouseEventType,button:0,pageX:firstTouch.clientX,pageY:firstTouch.clientY};SDL.events.push(mouseEvent)}for(var i=0;i<touches.length;i++){var touch=touches[i];SDL.events.push({type:event.type,touch:touch})}break}case"touchend":{event.preventDefault();for(var i=0;i<event.changedTouches.length;i++){var touch=event.changedTouches[i];if(SDL.downFingers[touch.identifier]===true){delete SDL.downFingers[touch.identifier]}}var mouseEvent={type:"mouseup",button:0,pageX:event.changedTouches[0].clientX,pageY:event.changedTouches[0].clientY};SDL.DOMButtons[0]=0;SDL.events.push(mouseEvent);for(var i=0;i<event.changedTouches.length;i++){var touch=event.changedTouches[i];SDL.events.push({type:"touchend",touch:touch})}break}case"DOMMouseScroll":case"mousewheel":case"wheel":var delta=-Browser.getMouseWheelDelta(event);delta=delta==0?0:delta>0?Math.max(delta,1):Math.min(delta,-1);var button=delta>0?3:4;SDL.events.push({type:"mousedown",button:button,pageX:event.pageX,pageY:event.pageY});SDL.events.push({type:"mouseup",button:button,pageX:event.pageX,pageY:event.pageY});SDL.events.push({type:"wheel",deltaX:0,deltaY:delta});event.preventDefault();break;case"mousemove":if(SDL.DOMButtons[0]===1){SDL.events.push({type:"touchmove",touch:{identifier:0,deviceID:-1,pageX:event.pageX,pageY:event.pageY}})}if(Browser.pointerLock){if("mozMovementX"in event){event["movementX"]=event["mozMovementX"];event["movementY"]=event["mozMovementY"]}if(event["movementX"]==0&&event["movementY"]==0){event.preventDefault();return}}case"keydown":case"keyup":case"keypress":case"mousedown":case"mouseup":if(event.type!=="keydown"||!SDL_unicode()&&!SDL.textInput||(event.keyCode===8||event.keyCode===9)){event.preventDefault()}if(event.type=="mousedown"){SDL.DOMButtons[event.button]=1;SDL.events.push({type:"touchstart",touch:{identifier:0,deviceID:-1,pageX:event.pageX,pageY:event.pageY}})}else if(event.type=="mouseup"){if(!SDL.DOMButtons[event.button]){return}SDL.events.push({type:"touchend",touch:{identifier:0,deviceID:-1,pageX:event.pageX,pageY:event.pageY}});SDL.DOMButtons[event.button]=0}if(event.type==="keydown"||event.type==="mousedown"){SDL.canRequestFullscreen=true}else if(event.type==="keyup"||event.type==="mouseup"){if(SDL.isRequestingFullscreen){Module["requestFullscreen"](true,true);SDL.isRequestingFullscreen=false}SDL.canRequestFullscreen=false}if(event.type==="keypress"&&SDL.savedKeydown){SDL.savedKeydown.keypressCharCode=event.charCode;SDL.savedKeydown=null}else if(event.type==="keydown"){SDL.savedKeydown=event}if(event.type!=="keypress"||SDL.textInput){SDL.events.push(event)}break;case"mouseout":for(var i=0;i<3;i++){if(SDL.DOMButtons[i]){SDL.events.push({type:"mouseup",button:i,pageX:event.pageX,pageY:event.pageY});SDL.DOMButtons[i]=0}}event.preventDefault();break;case"focus":SDL.events.push(event);event.preventDefault();break;case"blur":SDL.events.push(event);unpressAllPressedKeys();event.preventDefault();break;case"visibilitychange":SDL.events.push({type:"visibilitychange",visible:!document.hidden});unpressAllPressedKeys();event.preventDefault();break;case"unload":if(Browser.mainLoop.runner){SDL.events.push(event);Browser.mainLoop.runner()}return;case"resize":SDL.events.push(event);if(event.preventDefault){event.preventDefault()}break}if(SDL.events.length>=1e4){err("SDL event queue full, dropping events");SDL.events=SDL.events.slice(0,1e4)}SDL.flushEventsToHandler();return},lookupKeyCodeForEvent:function(event){var code=event.keyCode;if(code>=65&&code<=90){code+=32}else{code=SDL.keyCodes[event.keyCode]||event.keyCode;if(event.location===2&&code>=(224|1<<10)&&code<=(227|1<<10)){code+=4}}return code},handleEvent:function(event){if(event.handled)return;event.handled=true;switch(event.type){case"touchstart":case"touchend":case"touchmove":{Browser.calculateMouseEvent(event);break}case"keydown":case"keyup":{var down=event.type==="keydown";var code=SDL.lookupKeyCodeForEvent(event);HEAP8[SDL.keyboardState+code>>0]=down;SDL.modState=(HEAP8[SDL.keyboardState+1248>>0]?64:0)|(HEAP8[SDL.keyboardState+1249>>0]?1:0)|(HEAP8[SDL.keyboardState+1250>>0]?256:0)|(HEAP8[SDL.keyboardState+1252>>0]?128:0)|(HEAP8[SDL.keyboardState+1253>>0]?2:0)|(HEAP8[SDL.keyboardState+1254>>0]?512:0);if(down){SDL.keyboardMap[code]=event.keyCode}else{delete SDL.keyboardMap[code]}break}case"mousedown":case"mouseup":if(event.type=="mousedown"){SDL.buttonState|=1<<event.button}else if(event.type=="mouseup"){SDL.buttonState&=~(1<<event.button)}case"mousemove":{Browser.calculateMouseEvent(event);break}}},flushEventsToHandler:function(){if(!SDL.eventHandler)return;while(SDL.pollEvent(SDL.eventHandlerTemp)){wasmTable.get(SDL.eventHandler)(SDL.eventHandlerContext,SDL.eventHandlerTemp)}},pollEvent:function(ptr){if(SDL.initFlags&512&&SDL.joystickEventState){SDL.queryJoysticks()}if(ptr){while(SDL.events.length>0){if(SDL.makeCEvent(SDL.events.shift(),ptr)!==false)return 1}return 0}else{return SDL.events.length>0}},makeCEvent:function(event,ptr){if(typeof event==="number"){_memcpy(ptr,event,28);_free(event);return}SDL.handleEvent(event);switch(event.type){case"keydown":case"keyup":{var down=event.type==="keydown";var key=SDL.lookupKeyCodeForEvent(event);var scan;if(key>=1024){scan=key-1024}else{scan=SDL.scanCodes[key]||key}HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP8[ptr+8>>0]=down?1:0;HEAP8[ptr+9>>0]=0;HEAP32[ptr+12>>2]=scan;HEAP32[ptr+16>>2]=key;HEAP16[ptr+20>>1]=SDL.modState;HEAP32[ptr+24>>2]=event.keypressCharCode||key;break}case"keypress":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];var cStr=intArrayFromString(String.fromCharCode(event.charCode));for(var i=0;i<cStr.length;++i){HEAP8[ptr+(8+i)>>0]=cStr[i]}break}case"mousedown":case"mouseup":case"mousemove":{if(event.type!="mousemove"){var down=event.type==="mousedown";HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP32[ptr+8>>2]=0;HEAP32[ptr+12>>2]=0;HEAP8[ptr+16>>0]=event.button+1;HEAP8[ptr+17>>0]=down?1:0;HEAP32[ptr+20>>2]=Browser.mouseX;HEAP32[ptr+24>>2]=Browser.mouseY}else{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP32[ptr+8>>2]=0;HEAP32[ptr+12>>2]=0;HEAP32[ptr+16>>2]=SDL.buttonState;HEAP32[ptr+20>>2]=Browser.mouseX;HEAP32[ptr+24>>2]=Browser.mouseY;HEAP32[ptr+28>>2]=Browser.mouseMovementX;HEAP32[ptr+32>>2]=Browser.mouseMovementY}break}case"wheel":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+16>>2]=event.deltaX;HEAP32[ptr+20>>2]=event.deltaY;break}case"touchstart":case"touchend":case"touchmove":{var touch=event.touch;if(!Browser.touches[touch.identifier])break;var w=Module["canvas"].width;var h=Module["canvas"].height;var x=Browser.touches[touch.identifier].x/w;var y=Browser.touches[touch.identifier].y/h;var lx=Browser.lastTouches[touch.identifier].x/w;var ly=Browser.lastTouches[touch.identifier].y/h;var dx=x-lx;var dy=y-ly;if(touch["deviceID"]===undefined)touch.deviceID=SDL.TOUCH_DEFAULT_ID;if(dx===0&&dy===0&&event.type==="touchmove")return false;HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=_SDL_GetTicks();tempI64=[touch.deviceID>>>0,(tempDouble=touch.deviceID,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr+8>>2]=tempI64[0],HEAP32[ptr+12>>2]=tempI64[1];tempI64=[touch.identifier>>>0,(tempDouble=touch.identifier,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr+16>>2]=tempI64[0],HEAP32[ptr+20>>2]=tempI64[1];HEAPF32[ptr+24>>2]=x;HEAPF32[ptr+28>>2]=y;HEAPF32[ptr+32>>2]=dx;HEAPF32[ptr+36>>2]=dy;if(touch.force!==undefined){HEAPF32[ptr+40>>2]=touch.force}else{HEAPF32[ptr+40>>2]=event.type=="touchend"?0:1}break}case"unload":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];break}case"resize":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=event.w;HEAP32[ptr+8>>2]=event.h;break}case"joystick_button_up":case"joystick_button_down":{var state=event.type==="joystick_button_up"?0:1;HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP8[ptr+4>>0]=event.index;HEAP8[ptr+5>>0]=event.button;HEAP8[ptr+6>>0]=state;break}case"joystick_axis_motion":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP8[ptr+4>>0]=event.index;HEAP8[ptr+5>>0]=event.axis;HEAP32[ptr+8>>2]=SDL.joystickAxisValueConversion(event.value);break}case"focus":{var SDL_WINDOWEVENT_FOCUS_GAINED=12;HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP8[ptr+8>>0]=SDL_WINDOWEVENT_FOCUS_GAINED;break}case"blur":{var SDL_WINDOWEVENT_FOCUS_LOST=13;HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP8[ptr+8>>0]=SDL_WINDOWEVENT_FOCUS_LOST;break}case"visibilitychange":{var SDL_WINDOWEVENT_SHOWN=1;var SDL_WINDOWEVENT_HIDDEN=2;var visibilityEventID=event.visible?SDL_WINDOWEVENT_SHOWN:SDL_WINDOWEVENT_HIDDEN;HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP8[ptr+8>>0]=visibilityEventID;break}default:throw"Unhandled SDL event: "+event.type}},makeFontString:function(height,fontName){if(fontName.charAt(0)!="'"&&fontName.charAt(0)!='"'){fontName='"'+fontName+'"'}return height+"px "+fontName+", serif"},estimateTextWidth:function(fontData,text){var h=fontData.size;var fontString=SDL.makeFontString(h,fontData.name);var tempCtx=SDL_ttfContext();tempCtx.font=fontString;var ret=tempCtx.measureText(text).width|0;return ret},allocateChannels:function(num){if(SDL.numChannels&&SDL.numChannels>=num&&num!=0)return;SDL.numChannels=num;SDL.channels=[];for(var i=0;i<num;i++){SDL.channels[i]={audio:null,volume:1}}},setGetVolume:function(info,volume){if(!info)return 0;var ret=info.volume*128;if(volume!=-1){info.volume=Math.min(Math.max(volume,0),128)/128;if(info.audio){try{info.audio.volume=info.volume;if(info.audio.webAudioGainNode)info.audio.webAudioGainNode["gain"]["value"]=info.volume}catch(e){err("setGetVolume failed to set audio volume: "+e)}}}return ret},setPannerPosition:function(info,x,y,z){if(!info)return;if(info.audio){if(info.audio.webAudioPannerNode){info.audio.webAudioPannerNode["setPosition"](x,y,z)}}},playWebAudio:function(audio){if(!audio)return;if(audio.webAudioNode)return;if(!SDL.webAudioAvailable())return;try{var webAudio=audio.resource.webAudio;audio.paused=false;if(!webAudio.decodedBuffer){if(webAudio.onDecodeComplete===undefined)abort("Cannot play back audio object that was not loaded");webAudio.onDecodeComplete.push(function(){if(!audio.paused)SDL.playWebAudio(audio)});return}audio.webAudioNode=SDL.audioContext["createBufferSource"]();audio.webAudioNode["buffer"]=webAudio.decodedBuffer;audio.webAudioNode["loop"]=audio.loop;audio.webAudioNode["onended"]=function(){audio["onended"]()};audio.webAudioPannerNode=SDL.audioContext["createPanner"]();audio.webAudioPannerNode["setPosition"](0,0,-.5);audio.webAudioPannerNode["panningModel"]="equalpower";audio.webAudioGainNode=SDL.audioContext["createGain"]();audio.webAudioGainNode["gain"]["value"]=audio.volume;audio.webAudioNode["connect"](audio.webAudioPannerNode);audio.webAudioPannerNode["connect"](audio.webAudioGainNode);audio.webAudioGainNode["connect"](SDL.audioContext["destination"]);audio.webAudioNode["start"](0,audio.currentPosition);audio.startTime=SDL.audioContext["currentTime"]-audio.currentPosition}catch(e){err("playWebAudio failed: "+e)}},pauseWebAudio:function(audio){if(!audio)return;if(audio.webAudioNode){try{audio.currentPosition=(SDL.audioContext["currentTime"]-audio.startTime)%audio.resource.webAudio.decodedBuffer.duration;audio.webAudioNode["onended"]=undefined;audio.webAudioNode.stop(0);audio.webAudioNode=undefined}catch(e){err("pauseWebAudio failed: "+e)}}audio.paused=true},openAudioContext:function(){if(!SDL.audioContext){if(typeof AudioContext!=="undefined")SDL.audioContext=new AudioContext;else if(typeof webkitAudioContext!=="undefined")SDL.audioContext=new webkitAudioContext}},webAudioAvailable:function(){return!!SDL.audioContext},fillWebAudioBufferFromHeap:function(heapPtr,sizeSamplesPerChannel,dstAudioBuffer){var audio=SDL_audio();var numChannels=audio.channels;for(var c=0;c<numChannels;++c){var channelData=dstAudioBuffer["getChannelData"](c);if(channelData.length!=sizeSamplesPerChannel){throw"Web Audio output buffer length mismatch! Destination size: "+channelData.length+" samples vs expected "+sizeSamplesPerChannel+" samples!"}if(audio.format==32784){for(var j=0;j<sizeSamplesPerChannel;++j){channelData[j]=HEAP16[heapPtr+(j*numChannels+c)*2>>1]/32768}}else if(audio.format==8){for(var j=0;j<sizeSamplesPerChannel;++j){var v=HEAP8[heapPtr+(j*numChannels+c)>>0];channelData[j]=(v>=0?v-128:v+128)/128}}else if(audio.format==33056){for(var j=0;j<sizeSamplesPerChannel;++j){channelData[j]=HEAPF32[heapPtr+(j*numChannels+c)*4>>2]}}else{throw"Invalid SDL audio format "+audio.format+"!"}}},debugSurface:function(surfData){out("dumping surface "+[surfData.surf,surfData.source,surfData.width,surfData.height]);var image=surfData.ctx.getImageData(0,0,surfData.width,surfData.height);var data=image.data;var num=Math.min(surfData.width,surfData.height);for(var i=0;i<num;i++){out("   diagonal "+i+":"+[data[i*surfData.width*4+i*4+0],data[i*surfData.width*4+i*4+1],data[i*surfData.width*4+i*4+2],data[i*surfData.width*4+i*4+3]])}},joystickEventState:1,lastJoystickState:{},joystickNamePool:{},recordJoystickState:function(joystick,state){var buttons=new Array(state.buttons.length);for(var i=0;i<state.buttons.length;i++){buttons[i]=SDL.getJoystickButtonState(state.buttons[i])}SDL.lastJoystickState[joystick]={buttons:buttons,axes:state.axes.slice(0),timestamp:state.timestamp,index:state.index,id:state.id}},getJoystickButtonState:function(button){if(typeof button==="object"){return button["pressed"]}else{return button>0}},queryJoysticks:function(){for(var joystick in SDL.lastJoystickState){var state=SDL.getGamepad(joystick-1);var prevState=SDL.lastJoystickState[joystick];if(typeof state==="undefined")return;if(state===null)return;if(typeof state.timestamp!=="number"||state.timestamp!==prevState.timestamp||!state.timestamp){var i;for(i=0;i<state.buttons.length;i++){var buttonState=SDL.getJoystickButtonState(state.buttons[i]);if(buttonState!==prevState.buttons[i]){SDL.events.push({type:buttonState?"joystick_button_down":"joystick_button_up",joystick:joystick,index:joystick-1,button:i})}}for(i=0;i<state.axes.length;i++){if(state.axes[i]!==prevState.axes[i]){SDL.events.push({type:"joystick_axis_motion",joystick:joystick,index:joystick-1,axis:i,value:state.axes[i]})}}SDL.recordJoystickState(joystick,state)}}},joystickAxisValueConversion:function(value){value=Math.min(1,Math.max(value,-1));return Math.ceil((value+1)*32767.5-32768)},getGamepads:function(){var fcn=navigator.getGamepads||navigator.webkitGamepads||navigator.mozGamepads||navigator.gamepads||navigator.webkitGetGamepads;if(fcn!==undefined){return fcn.apply(navigator)}else{return[]}},getGamepad:function(deviceIndex){var gamepads=SDL.getGamepads();if(gamepads.length>deviceIndex&&deviceIndex>=0){return gamepads[deviceIndex]}return null}};Module["SDL"]=SDL;function SDL_unicode(){return SDL.unicode}Module["SDL_unicode"]=SDL_unicode;function _SDL_Linked_Version(){if(SDL.version===null){SDL.version=_malloc(3);HEAP8[SDL.version+0>>0]=1;HEAP8[SDL.version+1>>0]=3;HEAP8[SDL.version+2>>0]=0}return SDL.version}Module["_SDL_Linked_Version"]=_SDL_Linked_Version;_SDL_Linked_Version.sig="i";function _SDL_Init(initFlags){SDL.startTime=Date.now();SDL.initFlags=initFlags;if(!Module["doNotCaptureKeyboard"]){var keyboardListeningElement=Module["keyboardListeningElement"]||document;keyboardListeningElement.addEventListener("keydown",SDL.receiveEvent);keyboardListeningElement.addEventListener("keyup",SDL.receiveEvent);keyboardListeningElement.addEventListener("keypress",SDL.receiveEvent);window.addEventListener("focus",SDL.receiveEvent);window.addEventListener("blur",SDL.receiveEvent);document.addEventListener("visibilitychange",SDL.receiveEvent)}window.addEventListener("unload",SDL.receiveEvent);SDL.keyboardState=_malloc(65536);zeroMemory(SDL.keyboardState,65536);SDL.DOMEventToSDLEvent["keydown"]=768;SDL.DOMEventToSDLEvent["keyup"]=769;SDL.DOMEventToSDLEvent["keypress"]=771;SDL.DOMEventToSDLEvent["mousedown"]=1025;SDL.DOMEventToSDLEvent["mouseup"]=1026;SDL.DOMEventToSDLEvent["mousemove"]=1024;SDL.DOMEventToSDLEvent["wheel"]=1027;SDL.DOMEventToSDLEvent["touchstart"]=1792;SDL.DOMEventToSDLEvent["touchend"]=1793;SDL.DOMEventToSDLEvent["touchmove"]=1794;SDL.DOMEventToSDLEvent["unload"]=256;SDL.DOMEventToSDLEvent["resize"]=28673;SDL.DOMEventToSDLEvent["visibilitychange"]=512;SDL.DOMEventToSDLEvent["focus"]=512;SDL.DOMEventToSDLEvent["blur"]=512;SDL.DOMEventToSDLEvent["joystick_axis_motion"]=1536;SDL.DOMEventToSDLEvent["joystick_button_down"]=1539;SDL.DOMEventToSDLEvent["joystick_button_up"]=1540;return 0}Module["_SDL_Init"]=_SDL_Init;_SDL_Init.sig="ii";function _SDL_WasInit(){if(SDL.startTime===null){_SDL_Init()}return 1}Module["_SDL_WasInit"]=_SDL_WasInit;_SDL_WasInit.sig="i";function _SDL_GetVideoInfo(){var ret=_malloc(5*4);HEAP32[ret+0>>2]=0;HEAP32[ret+4>>2]=0;HEAP32[ret+8>>2]=0;HEAP32[ret+12>>2]=Module["canvas"].width;HEAP32[ret+16>>2]=Module["canvas"].height;return ret}Module["_SDL_GetVideoInfo"]=_SDL_GetVideoInfo;_SDL_GetVideoInfo.sig="i";function _SDL_ListModes(format,flags){return-1}Module["_SDL_ListModes"]=_SDL_ListModes;function _SDL_VideoModeOK(width,height,depth,flags){return depth}Module["_SDL_VideoModeOK"]=_SDL_VideoModeOK;function _SDL_VideoDriverName(buf,max_size){if(SDL.startTime===null){return 0}var driverName=[101,109,115,99,114,105,112,116,101,110,95,115,100,108,95,100,114,105,118,101,114];var index=0;var size=driverName.length;if(max_size<=size){size=max_size-1}while(index<size){var value=driverName[index];HEAP8[buf+index>>0]=value;index++}HEAP8[buf+index>>0]=0;return buf}Module["_SDL_VideoDriverName"]=_SDL_VideoDriverName;_SDL_VideoDriverName.sig="iii";function _SDL_AudioDriverName(buf,max_size){return _SDL_VideoDriverName(buf,max_size)}Module["_SDL_AudioDriverName"]=_SDL_AudioDriverName;function _SDL_SetVideoMode(width,height,depth,flags){["touchstart","touchend","touchmove","mousedown","mouseup","mousemove","DOMMouseScroll","mousewheel","wheel","mouseout"].forEach(function(event){Module["canvas"].addEventListener(event,SDL.receiveEvent,true)});var canvas=Module["canvas"];if(width==0&&height==0){width=canvas.width;height=canvas.height}if(!SDL.addedResizeListener){SDL.addedResizeListener=true;Browser.resizeListeners.push(function(w,h){if(!SDL.settingVideoMode){SDL.receiveEvent({type:"resize",w:w,h:h})}})}SDL.settingVideoMode=true;Browser.setCanvasSize(width,height);SDL.settingVideoMode=false;if(SDL.screen){SDL.freeSurface(SDL.screen);assert(!SDL.screen)}if(SDL.GL)flags=flags|67108864;SDL.screen=SDL.makeSurface(width,height,flags,true,"screen");return SDL.screen}Module["_SDL_SetVideoMode"]=_SDL_SetVideoMode;_SDL_SetVideoMode.sig="iiiii";function _SDL_GetVideoSurface(){return SDL.screen}Module["_SDL_GetVideoSurface"]=_SDL_GetVideoSurface;_SDL_GetVideoSurface.sig="i";function _SDL_AudioQuit(){for(var i=0;i<SDL.numChannels;++i){if(SDL.channels[i].audio){SDL.channels[i].audio.pause();SDL.channels[i].audio=undefined}}if(SDL.music.audio)SDL.music.audio.pause();SDL.music.audio=undefined}Module["_SDL_AudioQuit"]=_SDL_AudioQuit;_SDL_AudioQuit.sig="v";function _SDL_VideoQuit(){out("SDL_VideoQuit called (and ignored)")}Module["_SDL_VideoQuit"]=_SDL_VideoQuit;function _SDL_QuitSubSystem(flags){out("SDL_QuitSubSystem called (and ignored)")}Module["_SDL_QuitSubSystem"]=_SDL_QuitSubSystem;function _SDL_Quit(){_SDL_AudioQuit();out("SDL_Quit called (and ignored)")}Module["_SDL_Quit"]=_SDL_Quit;function _SDL_UnlockSurface(surf){assert(!SDL.GL);var surfData=SDL.surfaces[surf];if(!surfData.locked||--surfData.locked>0){return}if(surfData.isFlagSet(2097152)){SDL.copyIndexedColorData(surfData)}else if(!surfData.colors){var data=surfData.image.data;var buffer=surfData.buffer;assert(buffer%4==0,"Invalid buffer offset: "+buffer);var src=buffer>>2;var dst=0;var isScreen=surf==SDL.screen;var num;if(typeof CanvasPixelArray!=="undefined"&&data instanceof CanvasPixelArray){num=data.length;while(dst<num){var val=HEAP32[src];data[dst]=val&255;data[dst+1]=val>>8&255;data[dst+2]=val>>16&255;data[dst+3]=isScreen?255:val>>24&255;src++;dst+=4}}else{var data32=new Uint32Array(data.buffer);if(isScreen&&SDL.defaults.opaqueFrontBuffer){num=data32.length;data32.set(HEAP32.subarray(src,src+num));var data8=new Uint8Array(data.buffer);var i=3;var j=i+4*num;if(num%8==0){while(i<j){data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0}}else{while(i<j){data8[i]=255;i=i+4|0}}}else{data32.set(HEAP32.subarray(src,src+data32.length))}}}else{var width=Module["canvas"].width;var height=Module["canvas"].height;var s=surfData.buffer;var data=surfData.image.data;var colors=surfData.colors;for(var y=0;y<height;y++){var base=y*width*4;for(var x=0;x<width;x++){var val=HEAPU8[s++>>0]*4;var start=base+x*4;data[start]=colors[val];data[start+1]=colors[val+1];data[start+2]=colors[val+2]}s+=width*3}}surfData.ctx.putImageData(surfData.image,0,0)}Module["_SDL_UnlockSurface"]=_SDL_UnlockSurface;_SDL_UnlockSurface.sig="vi";function _SDL_Flip(surf){}Module["_SDL_Flip"]=_SDL_Flip;function _SDL_UpdateRect(surf,x,y,w,h){}Module["_SDL_UpdateRect"]=_SDL_UpdateRect;function _SDL_UpdateRects(surf,numrects,rects){}Module["_SDL_UpdateRects"]=_SDL_UpdateRects;function _SDL_Delay(delay){if(!ENVIRONMENT_IS_WORKER)abort("SDL_Delay called on the main thread! Potential infinite loop, quitting. (consider building with async support like ASYNCIFY)");var now=Date.now();while(Date.now()-now<delay){}}Module["_SDL_Delay"]=_SDL_Delay;function _SDL_WM_SetCaption(title,icon){if(title&&typeof setWindowTitle!=="undefined"){setWindowTitle(UTF8ToString(title))}icon=icon&&UTF8ToString(icon)}Module["_SDL_WM_SetCaption"]=_SDL_WM_SetCaption;_SDL_WM_SetCaption.sig="vii";function _SDL_EnableKeyRepeat(delay,interval){}Module["_SDL_EnableKeyRepeat"]=_SDL_EnableKeyRepeat;function _SDL_GetKeyboardState(numKeys){if(numKeys){HEAP32[numKeys>>2]=65536}return SDL.keyboardState}Module["_SDL_GetKeyboardState"]=_SDL_GetKeyboardState;_SDL_GetKeyboardState.sig="ii";function _SDL_GetKeyState(){return _SDL_GetKeyboardState()}Module["_SDL_GetKeyState"]=_SDL_GetKeyState;function _SDL_GetKeyName(key){if(!SDL.keyName){SDL.keyName=allocate(intArrayFromString("unknown key"),ALLOC_NORMAL)}return SDL.keyName}Module["_SDL_GetKeyName"]=_SDL_GetKeyName;_SDL_GetKeyName.sig="ii";function _SDL_GetModState(){return SDL.modState}Module["_SDL_GetModState"]=_SDL_GetModState;_SDL_GetModState.sig="i";function _SDL_GetMouseState(x,y){if(x)HEAP32[x>>2]=Browser.mouseX;if(y)HEAP32[y>>2]=Browser.mouseY;return SDL.buttonState}Module["_SDL_GetMouseState"]=_SDL_GetMouseState;_SDL_GetMouseState.sig="iii";function _SDL_WarpMouse(x,y){return}Module["_SDL_WarpMouse"]=_SDL_WarpMouse;_SDL_WarpMouse.sig="vii";function _SDL_ShowCursor(toggle){switch(toggle){case 0:if(Browser.isFullscreen){Module["canvas"].requestPointerLock();return 0}else{return 1}break;case 1:Module["canvas"].exitPointerLock();return 1;break;case-1:return!Browser.pointerLock;break;default:out("SDL_ShowCursor called with unknown toggle parameter value: "+toggle+".");break}}Module["_SDL_ShowCursor"]=_SDL_ShowCursor;_SDL_ShowCursor.sig="ii";function _SDL_GetError(){if(!SDL.errorMessage){SDL.errorMessage=allocate(intArrayFromString("unknown SDL-emscripten error"),ALLOC_NORMAL)}return SDL.errorMessage}Module["_SDL_GetError"]=_SDL_GetError;_SDL_GetError.sig="i";function _SDL_SetError(){}Module["_SDL_SetError"]=_SDL_SetError;function _SDL_malloc(size){return _malloc(size)}Module["_SDL_malloc"]=_SDL_malloc;_SDL_malloc.sig="ii";function _SDL_free(ptr){_free(ptr)}Module["_SDL_free"]=_SDL_free;_SDL_free.sig="vi";function _SDL_CreateRGBSurface(flags,width,height,depth,rmask,gmask,bmask,amask){return SDL.makeSurface(width,height,flags,false,"CreateRGBSurface",rmask,gmask,bmask,amask)}Module["_SDL_CreateRGBSurface"]=_SDL_CreateRGBSurface;_SDL_CreateRGBSurface.sig="iiiiiiiii";function _SDL_CreateRGBSurfaceFrom(pixels,width,height,depth,pitch,rmask,gmask,bmask,amask){var surf=SDL.makeSurface(width,height,0,false,"CreateRGBSurfaceFrom",rmask,gmask,bmask,amask);if(depth!==32){out("TODO: Partially unimplemented SDL_CreateRGBSurfaceFrom called!");return surf}var data=SDL.surfaces[surf];var image=data.ctx.createImageData(width,height);var pitchOfDst=width*4;for(var row=0;row<height;++row){var baseOfSrc=row*pitch;var baseOfDst=row*pitchOfDst;for(var col=0;col<width*4;++col){image.data[baseOfDst+col]=HEAPU8[pixels+(baseOfDst+col)>>0]}}data.ctx.putImageData(image,0,0);return surf}Module["_SDL_CreateRGBSurfaceFrom"]=_SDL_CreateRGBSurfaceFrom;_SDL_CreateRGBSurfaceFrom.sig="iiiiiiiiii";function _SDL_ConvertSurface(surf,format,flags){if(format){SDL.checkPixelFormat(format)}var oldData=SDL.surfaces[surf];var ret=SDL.makeSurface(oldData.width,oldData.height,oldData.flags,false,"copy:"+oldData.source);var newData=SDL.surfaces[ret];newData.ctx.globalCompositeOperation="copy";newData.ctx.drawImage(oldData.canvas,0,0);newData.ctx.globalCompositeOperation=oldData.ctx.globalCompositeOperation;return ret}Module["_SDL_ConvertSurface"]=_SDL_ConvertSurface;_SDL_ConvertSurface.sig="iiii";function _SDL_DisplayFormatAlpha(surf){return _SDL_ConvertSurface(surf)}Module["_SDL_DisplayFormatAlpha"]=_SDL_DisplayFormatAlpha;function _SDL_FreeSurface(surf){if(surf)SDL.freeSurface(surf)}Module["_SDL_FreeSurface"]=_SDL_FreeSurface;_SDL_FreeSurface.sig="vi";function _SDL_UpperBlit(src,srcrect,dst,dstrect){return SDL.blitSurface(src,srcrect,dst,dstrect,false)}Module["_SDL_UpperBlit"]=_SDL_UpperBlit;_SDL_UpperBlit.sig="iiiii";function _SDL_UpperBlitScaled(src,srcrect,dst,dstrect){return SDL.blitSurface(src,srcrect,dst,dstrect,true)}Module["_SDL_UpperBlitScaled"]=_SDL_UpperBlitScaled;_SDL_UpperBlitScaled.sig="iiiii";function _SDL_LowerBlit(a0,a1,a2,a3){return _SDL_UpperBlit(a0,a1,a2,a3)}Module["_SDL_LowerBlit"]=_SDL_LowerBlit;_SDL_LowerBlit.sig="iiiii";function _SDL_LowerBlitScaled(a0,a1,a2,a3){return _SDL_UpperBlitScaled(a0,a1,a2,a3)}Module["_SDL_LowerBlitScaled"]=_SDL_LowerBlitScaled;_SDL_LowerBlitScaled.sig="iiiii";function _SDL_GetClipRect(surf,rect){assert(rect);var surfData=SDL.surfaces[surf];var r=surfData.clipRect||{x:0,y:0,w:surfData.width,h:surfData.height};SDL.updateRect(rect,r)}Module["_SDL_GetClipRect"]=_SDL_GetClipRect;_SDL_GetClipRect.sig="vii";function _SDL_SetClipRect(surf,rect){var surfData=SDL.surfaces[surf];if(rect){surfData.clipRect=SDL.intersectionOfRects({x:0,y:0,w:surfData.width,h:surfData.height},SDL.loadRect(rect))}else{delete surfData.clipRect}}Module["_SDL_SetClipRect"]=_SDL_SetClipRect;_SDL_SetClipRect.sig="vii";function _SDL_FillRect(surf,rect,color){var surfData=SDL.surfaces[surf];assert(!surfData.locked);if(surfData.isFlagSet(2097152)){color=surfData.colors32[color]}var r=rect?SDL.loadRect(rect):{x:0,y:0,w:surfData.width,h:surfData.height};if(surfData.clipRect){r=SDL.intersectionOfRects(surfData.clipRect,r);if(rect){SDL.updateRect(rect,r)}}surfData.ctx.save();surfData.ctx.fillStyle=SDL.translateColorToCSSRGBA(color);surfData.ctx.fillRect(r.x,r.y,r.w,r.h);surfData.ctx.restore();return 0}Module["_SDL_FillRect"]=_SDL_FillRect;_SDL_FillRect.sig="iiii";function _SDL_BlitSurface(src,srcrect,dst,dstrect){return SDL.blitSurface(src,srcrect,dst,dstrect,false)}Module["_SDL_BlitSurface"]=_SDL_BlitSurface;_SDL_BlitSurface.sig="iiiii";function _SDL_BlitScaled(src,srcrect,dst,dstrect){return SDL.blitSurface(src,srcrect,dst,dstrect,true)}Module["_SDL_BlitScaled"]=_SDL_BlitScaled;_SDL_BlitScaled.sig="iiiii";function _zoomSurface(src,x,y,smooth){var srcData=SDL.surfaces[src];var w=srcData.width*x;var h=srcData.height*y;var ret=SDL.makeSurface(Math.abs(w),Math.abs(h),srcData.flags,false,"zoomSurface");var dstData=SDL.surfaces[ret];if(x>=0&&y>=0)dstData.ctx.drawImage(srcData.canvas,0,0,w,h);else{dstData.ctx.save();dstData.ctx.scale(x<0?-1:1,y<0?-1:1);dstData.ctx.drawImage(srcData.canvas,w<0?w:0,h<0?h:0,Math.abs(w),Math.abs(h));dstData.ctx.restore()}return ret}Module["_zoomSurface"]=_zoomSurface;function _rotozoomSurface(src,angle,zoom,smooth){if(angle%360===0){return _zoomSurface(src,zoom,zoom,smooth)}var srcData=SDL.surfaces[src];var w=srcData.width*zoom;var h=srcData.height*zoom;var diagonal=Math.ceil(Math.sqrt(Math.pow(w,2)+Math.pow(h,2)));var ret=SDL.makeSurface(diagonal,diagonal,srcData.flags,false,"rotozoomSurface");var dstData=SDL.surfaces[ret];dstData.ctx.translate(diagonal/2,diagonal/2);dstData.ctx.rotate(-angle*Math.PI/180);dstData.ctx.drawImage(srcData.canvas,-w/2,-h/2,w,h);return ret}Module["_rotozoomSurface"]=_rotozoomSurface;function _SDL_SetAlpha(surf,flag,alpha){var surfData=SDL.surfaces[surf];surfData.alpha=alpha;if(!(flag&65536)){surfData.alpha=255}}Module["_SDL_SetAlpha"]=_SDL_SetAlpha;_SDL_SetAlpha.sig="iiii";function _SDL_SetColorKey(surf,flag,key){warnOnce("SDL_SetColorKey is a no-op for performance reasons");return 0}Module["_SDL_SetColorKey"]=_SDL_SetColorKey;function _SDL_PollEvent(ptr){return SDL.pollEvent(ptr)}Module["_SDL_PollEvent"]=_SDL_PollEvent;_SDL_PollEvent.sig="ii";function _SDL_PushEvent(ptr){var copy=_malloc(28);_memcpy(copy,ptr,28);SDL.events.push(copy);return 0}Module["_SDL_PushEvent"]=_SDL_PushEvent;_SDL_PushEvent.sig="ii";function _SDL_PeepEvents(events,requestedEventCount,action,from,to){switch(action){case 2:{assert(requestedEventCount==1);var index=0;var retrievedEventCount=0;while(index<SDL.events.length&&retrievedEventCount<requestedEventCount){var event=SDL.events[index];var type=SDL.DOMEventToSDLEvent[event.type];if(from<=type&&type<=to){if(SDL.makeCEvent(event,events)===false){index++}else{SDL.events.splice(index,1);retrievedEventCount++}}else{index++}}return retrievedEventCount}default:throw"SDL_PeepEvents does not yet support that action: "+action}}Module["_SDL_PeepEvents"]=_SDL_PeepEvents;_SDL_PeepEvents.sig="iiiiii";function _SDL_PumpEvents(){SDL.events.forEach(function(event){SDL.handleEvent(event)})}Module["_SDL_PumpEvents"]=_SDL_PumpEvents;_SDL_PumpEvents.sig="v";function _emscripten_SDL_SetEventHandler(handler,userdata){SDL.eventHandler=handler;SDL.eventHandlerContext=userdata;if(!SDL.eventHandlerTemp)SDL.eventHandlerTemp=_malloc(28)}Module["_emscripten_SDL_SetEventHandler"]=_emscripten_SDL_SetEventHandler;_emscripten_SDL_SetEventHandler.sig="vii";function _SDL_SetColors(surf,colors,firstColor,nColors){var surfData=SDL.surfaces[surf];if(!surfData.colors){var buffer=new ArrayBuffer(256*4);surfData.colors=new Uint8Array(buffer);surfData.colors32=new Uint32Array(buffer)}for(var i=0;i<nColors;++i){var index=(firstColor+i)*4;surfData.colors[index]=HEAPU8[colors+i*4>>0];surfData.colors[index+1]=HEAPU8[colors+(i*4+1)>>0];surfData.colors[index+2]=HEAPU8[colors+(i*4+2)>>0];surfData.colors[index+3]=255}return 1}Module["_SDL_SetColors"]=_SDL_SetColors;_SDL_SetColors.sig="iiiii";function _SDL_SetPalette(surf,flags,colors,firstColor,nColors){return _SDL_SetColors(surf,colors,firstColor,nColors)}Module["_SDL_SetPalette"]=_SDL_SetPalette;function _SDL_MapRGB(fmt,r,g,b){SDL.checkPixelFormat(fmt);return r&255|(g&255)<<8|(b&255)<<16|4278190080}Module["_SDL_MapRGB"]=_SDL_MapRGB;_SDL_MapRGB.sig="iiiii";function _SDL_MapRGBA(fmt,r,g,b,a){SDL.checkPixelFormat(fmt);return r&255|(g&255)<<8|(b&255)<<16|(a&255)<<24}Module["_SDL_MapRGBA"]=_SDL_MapRGBA;_SDL_MapRGBA.sig="iiiiii";function _SDL_GetRGB(pixel,fmt,r,g,b){SDL.checkPixelFormat(fmt);if(r){HEAP8[r>>0]=pixel&255}if(g){HEAP8[g>>0]=pixel>>8&255}if(b){HEAP8[b>>0]=pixel>>16&255}}Module["_SDL_GetRGB"]=_SDL_GetRGB;_SDL_GetRGB.sig="viiiii";function _SDL_GetRGBA(pixel,fmt,r,g,b,a){SDL.checkPixelFormat(fmt);if(r){HEAP8[r>>0]=pixel&255}if(g){HEAP8[g>>0]=pixel>>8&255}if(b){HEAP8[b>>0]=pixel>>16&255}if(a){HEAP8[a>>0]=pixel>>24&255}}Module["_SDL_GetRGBA"]=_SDL_GetRGBA;_SDL_GetRGBA.sig="viiiiii";function _SDL_GetAppState(){var state=0;if(Browser.pointerLock){state|=1}if(document.hasFocus()){state|=2}state|=4;return state}Module["_SDL_GetAppState"]=_SDL_GetAppState;_SDL_GetAppState.sig="i";function _SDL_WM_GrabInput(){}Module["_SDL_WM_GrabInput"]=_SDL_WM_GrabInput;function _SDL_WM_ToggleFullScreen(surf){if(Browser.exitFullscreen()){return 1}else{if(!SDL.canRequestFullscreen){return 0}SDL.isRequestingFullscreen=true;return 1}}Module["_SDL_WM_ToggleFullScreen"]=_SDL_WM_ToggleFullScreen;_SDL_WM_ToggleFullScreen.sig="ii";function _IMG_Init(flags){return flags}Module["_IMG_Init"]=_IMG_Init;function _SDL_FreeRW(rwopsID){SDL.rwops[rwopsID]=null;while(SDL.rwops.length>0&&SDL.rwops[SDL.rwops.length-1]===null){SDL.rwops.pop()}}Module["_SDL_FreeRW"]=_SDL_FreeRW;_SDL_FreeRW.sig="vi";function _IMG_Load_RW(rwopsID,freeSrc){try{var cleanup=function(){if(rwops&&freeSrc)_SDL_FreeRW(rwopsID)};var addCleanup=function(func){var old=cleanup;cleanup=function added_cleanup(){old();func()}};var callStbImage=function(func,params){var x=Module["_malloc"](4);var y=Module["_malloc"](4);var comp=Module["_malloc"](4);addCleanup(function(){Module["_free"](x);Module["_free"](y);Module["_free"](comp);if(data)Module["_stbi_image_free"](data)});var data=Module["_"+func].apply(null,params.concat([x,y,comp,0]));if(!data)return null;return{rawData:true,data:data,width:HEAP32[x>>2],height:HEAP32[y>>2],size:HEAP32[x>>2]*HEAP32[y>>2]*HEAP32[comp>>2],bpp:HEAP32[comp>>2]}};var rwops=SDL.rwops[rwopsID];if(rwops===undefined){return 0}var raw;var filename=rwops.filename;if(filename===undefined){warnOnce("Only file names that have been preloaded are supported for IMG_Load_RW. Consider using STB_IMAGE=1 if you want synchronous image decoding (see settings.js), or package files with --use-preload-plugins");return 0}if(!raw){filename=PATH_FS.resolve(filename);raw=Module["preloadedImages"][filename];if(!raw){if(raw===null)err("Trying to reuse preloaded image, but freePreloadedMediaOnUse is set!");warnOnce("Cannot find preloaded image "+filename);warnOnce("Cannot find preloaded image "+filename+". Consider using STB_IMAGE=1 if you want synchronous image decoding (see settings.js), or package files with --use-preload-plugins");return 0}else if(Module["freePreloadedMediaOnUse"]){Module["preloadedImages"][filename]=null}}var surf=SDL.makeSurface(raw.width,raw.height,0,false,"load:"+filename);var surfData=SDL.surfaces[surf];surfData.ctx.globalCompositeOperation="copy";if(!raw.rawData){surfData.ctx.drawImage(raw,0,0,raw.width,raw.height,0,0,raw.width,raw.height)}else{var imageData=surfData.ctx.getImageData(0,0,surfData.width,surfData.height);if(raw.bpp==4){imageData.data.set(HEAPU8.subarray(raw.data,raw.data+raw.size))}else if(raw.bpp==3){var pixels=raw.size/3;var data=imageData.data;var sourcePtr=raw.data;var destPtr=0;for(var i=0;i<pixels;i++){data[destPtr++]=HEAPU8[sourcePtr++>>0];data[destPtr++]=HEAPU8[sourcePtr++>>0];data[destPtr++]=HEAPU8[sourcePtr++>>0];data[destPtr++]=255}}else if(raw.bpp==2){var pixels=raw.size;var data=imageData.data;var sourcePtr=raw.data;var destPtr=0;for(var i=0;i<pixels;i++){var gray=HEAPU8[sourcePtr++>>0];var alpha=HEAPU8[sourcePtr++>>0];data[destPtr++]=gray;data[destPtr++]=gray;data[destPtr++]=gray;data[destPtr++]=alpha}}else if(raw.bpp==1){var pixels=raw.size;var data=imageData.data;var sourcePtr=raw.data;var destPtr=0;for(var i=0;i<pixels;i++){var value=HEAPU8[sourcePtr++>>0];data[destPtr++]=value;data[destPtr++]=value;data[destPtr++]=value;data[destPtr++]=255}}else{err("cannot handle bpp "+raw.bpp);return 0}surfData.ctx.putImageData(imageData,0,0)}surfData.ctx.globalCompositeOperation="source-over";_SDL_LockSurface(surf);surfData.locked--;if(SDL.GL){surfData.canvas=surfData.ctx=null}return surf}finally{cleanup()}}Module["_IMG_Load_RW"]=_IMG_Load_RW;_IMG_Load_RW.sig="iii";function _SDL_RWFromFile(_name,mode){var id=SDL.rwops.length;var name=UTF8ToString(_name);SDL.rwops.push({filename:name,mimetype:Browser.getMimetype(name)});return id}Module["_SDL_RWFromFile"]=_SDL_RWFromFile;_SDL_RWFromFile.sig="iii";function _IMG_Load(filename){var rwops=_SDL_RWFromFile(filename);var result=_IMG_Load_RW(rwops,1);return result}Module["_IMG_Load"]=_IMG_Load;_IMG_Load.sig="ii";function _SDL_LoadBMP(a0){return _IMG_Load(a0)}Module["_SDL_LoadBMP"]=_SDL_LoadBMP;_SDL_LoadBMP.sig="ii";function _SDL_LoadBMP_RW(a0,a1){return _IMG_Load_RW(a0,a1)}Module["_SDL_LoadBMP_RW"]=_SDL_LoadBMP_RW;_SDL_LoadBMP_RW.sig="iii";function _IMG_Quit(){out("IMG_Quit called (and ignored)")}Module["_IMG_Quit"]=_IMG_Quit;function _SDL_OpenAudio(desired,obtained){try{SDL.audio={freq:HEAPU32[desired>>2],format:HEAPU16[desired+4>>1],channels:HEAPU8[desired+6>>0],samples:HEAPU16[desired+8>>1],callback:HEAPU32[desired+16>>2],userdata:HEAPU32[desired+20>>2],paused:true,timer:null};if(SDL.audio.format==8){SDL.audio.silence=128}else if(SDL.audio.format==32784){SDL.audio.silence=0}else if(SDL.audio.format==33056){SDL.audio.silence=0}else{throw"Invalid SDL audio format "+SDL.audio.format+"!"}if(SDL.audio.freq<=0){throw"Unsupported sound frequency "+SDL.audio.freq+"!"}else if(SDL.audio.freq<=22050){SDL.audio.freq=22050}else if(SDL.audio.freq<=32e3){SDL.audio.freq=32e3}else if(SDL.audio.freq<=44100){SDL.audio.freq=44100}else if(SDL.audio.freq<=48e3){SDL.audio.freq=48e3}else if(SDL.audio.freq<=96e3){SDL.audio.freq=96e3}else{throw"Unsupported sound frequency "+SDL.audio.freq+"!"}if(SDL.audio.channels==0){SDL.audio.channels=1}else if(SDL.audio.channels<0||SDL.audio.channels>32){throw"Unsupported number of audio channels for SDL audio: "+SDL.audio.channels+"!"}else if(SDL.audio.channels!=1&&SDL.audio.channels!=2){out("Warning: Using untested number of audio channels "+SDL.audio.channels)}if(SDL.audio.samples<128||SDL.audio.samples>524288){throw"Unsupported audio callback buffer size "+SDL.audio.samples+"!"}else if((SDL.audio.samples&SDL.audio.samples-1)!=0){throw"Audio callback buffer size "+SDL.audio.samples+" must be a power-of-two!"}var totalSamples=SDL.audio.samples*SDL.audio.channels;if(SDL.audio.format==8){SDL.audio.bytesPerSample=1}else if(SDL.audio.format==32784){SDL.audio.bytesPerSample=2}else if(SDL.audio.format==33056){SDL.audio.bytesPerSample=4}else{throw"Invalid SDL audio format "+SDL.audio.format+"!"}SDL.audio.bufferSize=totalSamples*SDL.audio.bytesPerSample;SDL.audio.bufferDurationSecs=SDL.audio.bufferSize/SDL.audio.bytesPerSample/SDL.audio.channels/SDL.audio.freq;SDL.audio.bufferingDelay=50/1e3;SDL.audio.buffer=_malloc(SDL.audio.bufferSize);SDL.audio.numSimultaneouslyQueuedBuffers=Module["SDL_numSimultaneouslyQueuedBuffers"]||5;SDL.audio.queueNewAudioData=function SDL_queueNewAudioData(){if(!SDL.audio)return;for(var i=0;i<SDL.audio.numSimultaneouslyQueuedBuffers;++i){var secsUntilNextPlayStart=SDL.audio.nextPlayTime-SDL.audioContext["currentTime"];if(secsUntilNextPlayStart>=SDL.audio.bufferingDelay+SDL.audio.bufferDurationSecs*SDL.audio.numSimultaneouslyQueuedBuffers)return;wasmTable.get(SDL.audio.callback)(SDL.audio.userdata,SDL.audio.buffer,SDL.audio.bufferSize);SDL.audio.pushAudio(SDL.audio.buffer,SDL.audio.bufferSize)}};SDL.audio.caller=function SDL_audioCaller(){if(!SDL.audio)return;--SDL.audio.numAudioTimersPending;SDL.audio.queueNewAudioData();var secsUntilNextPlayStart=SDL.audio.nextPlayTime-SDL.audioContext["currentTime"];var preemptBufferFeedSecs=SDL.audio.bufferDurationSecs/2;if(SDL.audio.numAudioTimersPending<SDL.audio.numSimultaneouslyQueuedBuffers){++SDL.audio.numAudioTimersPending;SDL.audio.timer=safeSetTimeout(SDL.audio.caller,Math.max(0,1e3*(secsUntilNextPlayStart-preemptBufferFeedSecs)));if(SDL.audio.numAudioTimersPending<SDL.audio.numSimultaneouslyQueuedBuffers){++SDL.audio.numAudioTimersPending;safeSetTimeout(SDL.audio.caller,1)}}};SDL.audio.audioOutput=new Audio;SDL.openAudioContext();if(!SDL.audioContext)throw"Web Audio API is not available!";autoResumeAudioContext(SDL.audioContext);SDL.audio.nextPlayTime=0;SDL.audio.pushAudio=function(ptr,sizeBytes){try{if(SDL.audio.paused)return;var sizeSamples=sizeBytes/SDL.audio.bytesPerSample;var sizeSamplesPerChannel=sizeSamples/SDL.audio.channels;if(sizeSamplesPerChannel!=SDL.audio.samples){throw"Received mismatching audio buffer size!"}var source=SDL.audioContext["createBufferSource"]();var soundBuffer=SDL.audioContext["createBuffer"](SDL.audio.channels,sizeSamplesPerChannel,SDL.audio.freq);source["connect"](SDL.audioContext["destination"]);SDL.fillWebAudioBufferFromHeap(ptr,sizeSamplesPerChannel,soundBuffer);source["buffer"]=soundBuffer;var curtime=SDL.audioContext["currentTime"];var playtime=Math.max(curtime+SDL.audio.bufferingDelay,SDL.audio.nextPlayTime);if(typeof source["start"]!=="undefined"){source["start"](playtime)}else if(typeof source["noteOn"]!=="undefined"){source["noteOn"](playtime)}SDL.audio.nextPlayTime=playtime+SDL.audio.bufferDurationSecs}catch(e){out("Web Audio API error playing back audio: "+e.toString())}};if(obtained){HEAP32[obtained>>2]=SDL.audio.freq;HEAP16[obtained+4>>1]=SDL.audio.format;HEAP8[obtained+6>>0]=SDL.audio.channels;HEAP8[obtained+7>>0]=SDL.audio.silence;HEAP16[obtained+8>>1]=SDL.audio.samples;HEAP32[obtained+16>>2]=SDL.audio.callback;HEAP32[obtained+20>>2]=SDL.audio.userdata}SDL.allocateChannels(32)}catch(e){out('Initializing SDL audio threw an exception: "'+e.toString()+'"! Continuing without audio.');SDL.audio=null;SDL.allocateChannels(0);if(obtained){HEAP32[obtained>>2]=0;HEAP16[obtained+4>>1]=0;HEAP8[obtained+6>>0]=0;HEAP8[obtained+7>>0]=0;HEAP16[obtained+8>>1]=0;HEAP32[obtained+16>>2]=0;HEAP32[obtained+20>>2]=0}}if(!SDL.audio){return-1}return 0}Module["_SDL_OpenAudio"]=_SDL_OpenAudio;_SDL_OpenAudio.sig="iii";function _SDL_PauseAudio(pauseOn){if(!SDL.audio){return}if(pauseOn){if(SDL.audio.timer!==undefined){clearTimeout(SDL.audio.timer);SDL.audio.numAudioTimersPending=0;SDL.audio.timer=undefined}}else if(!SDL.audio.timer){SDL.audio.numAudioTimersPending=1;SDL.audio.timer=safeSetTimeout(SDL.audio.caller,1)}SDL.audio.paused=pauseOn}Module["_SDL_PauseAudio"]=_SDL_PauseAudio;_SDL_PauseAudio.sig="vi";function _SDL_CloseAudio(){if(SDL.audio){if(SDL.audio.callbackRemover){SDL.audio.callbackRemover();SDL.audio.callbackRemover=null}_SDL_PauseAudio(1);_free(SDL.audio.buffer);SDL.audio=null;SDL.allocateChannels(0)}}Module["_SDL_CloseAudio"]=_SDL_CloseAudio;_SDL_CloseAudio.sig="v";function _SDL_LockAudio(){}Module["_SDL_LockAudio"]=_SDL_LockAudio;function _SDL_UnlockAudio(){}Module["_SDL_UnlockAudio"]=_SDL_UnlockAudio;function _SDL_CreateMutex(){return 0}Module["_SDL_CreateMutex"]=_SDL_CreateMutex;function _SDL_LockMutex(){}Module["_SDL_LockMutex"]=_SDL_LockMutex;function _SDL_UnlockMutex(){}Module["_SDL_UnlockMutex"]=_SDL_UnlockMutex;function _SDL_mutexP(){return 0}Module["_SDL_mutexP"]=_SDL_mutexP;function _SDL_mutexV(){return 0}Module["_SDL_mutexV"]=_SDL_mutexV;function _SDL_DestroyMutex(){}Module["_SDL_DestroyMutex"]=_SDL_DestroyMutex;function _SDL_CreateCond(){return 0}Module["_SDL_CreateCond"]=_SDL_CreateCond;function _SDL_CondSignal(){}Module["_SDL_CondSignal"]=_SDL_CondSignal;function _SDL_CondWait(){}Module["_SDL_CondWait"]=_SDL_CondWait;function _SDL_DestroyCond(){}Module["_SDL_DestroyCond"]=_SDL_DestroyCond;function _SDL_StartTextInput(){SDL.textInput=true}Module["_SDL_StartTextInput"]=_SDL_StartTextInput;_SDL_StartTextInput.sig="v";function _SDL_StopTextInput(){SDL.textInput=false}Module["_SDL_StopTextInput"]=_SDL_StopTextInput;_SDL_StopTextInput.sig="v";function _Mix_Init(flags){if(!flags)return 0;return 8}Module["_Mix_Init"]=_Mix_Init;function _Mix_Quit(){}Module["_Mix_Quit"]=_Mix_Quit;function _Mix_OpenAudio(frequency,format,channels,chunksize){SDL.openAudioContext();autoResumeAudioContext(SDL.audioContext);SDL.allocateChannels(32);SDL.mixerFrequency=frequency;SDL.mixerFormat=format;SDL.mixerNumChannels=channels;SDL.mixerChunkSize=chunksize;return 0}Module["_Mix_OpenAudio"]=_Mix_OpenAudio;_Mix_OpenAudio.sig="iiiii";function _Mix_CloseAudio(){_SDL_CloseAudio()}Module["_Mix_CloseAudio"]=_Mix_CloseAudio;_Mix_CloseAudio.sig="v";function _Mix_AllocateChannels(num){SDL.allocateChannels(num);return num}Module["_Mix_AllocateChannels"]=_Mix_AllocateChannels;_Mix_AllocateChannels.sig="ii";function _Mix_ChannelFinished(func){SDL.channelFinished=func}Module["_Mix_ChannelFinished"]=_Mix_ChannelFinished;_Mix_ChannelFinished.sig="vi";function _Mix_Volume(channel,volume){if(channel==-1){for(var i=0;i<SDL.numChannels-1;i++){_Mix_Volume(i,volume)}return _Mix_Volume(SDL.numChannels-1,volume)}return SDL.setGetVolume(SDL.channels[channel],volume)}Module["_Mix_Volume"]=_Mix_Volume;_Mix_Volume.sig="iii";function _Mix_SetPanning(channel,left,right){left/=255;right/=255;SDL.setPannerPosition(SDL.channels[channel],right-left,0,.1);return 1}Module["_Mix_SetPanning"]=_Mix_SetPanning;_Mix_SetPanning.sig="iiii";function _Mix_LoadWAV_RW(rwopsID,freesrc){var rwops=SDL.rwops[rwopsID];if(rwops===undefined)return 0;var filename="";var audio;var webAudio;var bytes;if(rwops.filename!==undefined){filename=PATH_FS.resolve(rwops.filename);var raw=Module["preloadedAudios"][filename];if(!raw){if(raw===null)err("Trying to reuse preloaded audio, but freePreloadedMediaOnUse is set!");if(!Module.noAudioDecoding)warnOnce("Cannot find preloaded audio "+filename);try{bytes=FS.readFile(filename)}catch(e){err("Couldn't find file for: "+filename);return 0}}if(Module["freePreloadedMediaOnUse"]){Module["preloadedAudios"][filename]=null}audio=raw}else if(rwops.bytes!==undefined){if(SDL.webAudioAvailable())bytes=HEAPU8.buffer.slice(rwops.bytes,rwops.bytes+rwops.count);else bytes=HEAPU8.subarray(rwops.bytes,rwops.bytes+rwops.count)}else{return 0}var arrayBuffer=bytes?bytes.buffer||bytes:bytes;var canPlayWithWebAudio=Module["SDL_canPlayWithWebAudio"]===undefined||Module["SDL_canPlayWithWebAudio"](filename,arrayBuffer);if(bytes!==undefined&&SDL.webAudioAvailable()&&canPlayWithWebAudio){audio=undefined;webAudio={};webAudio.onDecodeComplete=[];var onDecodeComplete=function(data){webAudio.decodedBuffer=data;webAudio.onDecodeComplete.forEach(function(e){e()});webAudio.onDecodeComplete=undefined};SDL.audioContext["decodeAudioData"](arrayBuffer,onDecodeComplete)}else if(audio===undefined&&bytes){var blob=new Blob([bytes],{type:rwops.mimetype});var url=URL.createObjectURL(blob);audio=new Audio;audio.src=url;audio.mozAudioChannelType="content"}var id=SDL.audios.length;SDL.audios.push({source:filename,audio:audio,webAudio:webAudio});return id}Module["_Mix_LoadWAV_RW"]=_Mix_LoadWAV_RW;_Mix_LoadWAV_RW.sig="iii";function _Mix_LoadWAV(filename){var rwops=_SDL_RWFromFile(filename);var result=_Mix_LoadWAV_RW(rwops);_SDL_FreeRW(rwops);return result}Module["_Mix_LoadWAV"]=_Mix_LoadWAV;_Mix_LoadWAV.sig="ii";function _Mix_QuickLoad_RAW(mem,len){var audio;var webAudio;var numSamples=len>>1;var buffer=new Float32Array(numSamples);for(var i=0;i<numSamples;++i){buffer[i]=HEAP16[mem+i*2>>1]/32768}if(SDL.webAudioAvailable()){webAudio={};webAudio.decodedBuffer=buffer}else{audio=new Audio;audio.mozAudioChannelType="content";audio.numChannels=SDL.mixerNumChannels;audio.frequency=SDL.mixerFrequency}var id=SDL.audios.length;SDL.audios.push({source:"",audio:audio,webAudio:webAudio,buffer:buffer});return id}Module["_Mix_QuickLoad_RAW"]=_Mix_QuickLoad_RAW;_Mix_QuickLoad_RAW.sig="iii";function _Mix_FreeChunk(id){SDL.audios[id]=null}Module["_Mix_FreeChunk"]=_Mix_FreeChunk;_Mix_FreeChunk.sig="vi";function _Mix_ReserveChannels(num){SDL.channelMinimumNumber=num}Module["_Mix_ReserveChannels"]=_Mix_ReserveChannels;_Mix_ReserveChannels.sig="ii";function _Mix_PlayChannel(channel,id,loops){var info=SDL.audios[id];if(!info)return-1;if(!info.audio&&!info.webAudio)return-1;if(channel==-1){for(var i=SDL.channelMinimumNumber;i<SDL.numChannels;i++){if(!SDL.channels[i].audio){channel=i;break}}if(channel==-1){err("All "+SDL.numChannels+" channels in use!");return-1}}var channelInfo=SDL.channels[channel];var audio;if(info.webAudio){audio={};audio.resource=info;audio.paused=false;audio.currentPosition=0;audio.play=function(){SDL.playWebAudio(this)};audio.pause=function(){SDL.pauseWebAudio(this)}}else{audio=info.audio.cloneNode(true);audio.numChannels=info.audio.numChannels;audio.frequency=info.audio.frequency}audio["onended"]=function SDL_audio_onended(){if(channelInfo.audio==this){channelInfo.audio.paused=true;channelInfo.audio=null}if(SDL.channelFinished)wasmTable.get(SDL.channelFinished)(channel)};channelInfo.audio=audio;audio.loop=loops!=0;audio.volume=channelInfo.volume;audio.play();return channel}Module["_Mix_PlayChannel"]=_Mix_PlayChannel;_Mix_PlayChannel.sig="iiii";function _Mix_PlayChannelTimed(a0,a1,a2){return _Mix_PlayChannel(a0,a1,a2)}Module["_Mix_PlayChannelTimed"]=_Mix_PlayChannelTimed;_Mix_PlayChannelTimed.sig="iiii";function _Mix_FadingChannel(channel){return 0}Module["_Mix_FadingChannel"]=_Mix_FadingChannel;function _Mix_HaltChannel(channel){function halt(channel){var info=SDL.channels[channel];if(info.audio){info.audio.pause();info.audio=null}if(SDL.channelFinished){wasmTable.get(SDL.channelFinished)(channel)}}if(channel!=-1){halt(channel)}else{for(var i=0;i<SDL.channels.length;++i)halt(i)}return 0}Module["_Mix_HaltChannel"]=_Mix_HaltChannel;_Mix_HaltChannel.sig="ii";function _Mix_HaltMusic(){var audio=SDL.music.audio;if(audio){audio.src=audio.src;audio.currentPosition=0;audio.pause()}SDL.music.audio=null;if(SDL.hookMusicFinished){wasmTable.get(SDL.hookMusicFinished)()}return 0}Module["_Mix_HaltMusic"]=_Mix_HaltMusic;_Mix_HaltMusic.sig="i";function _Mix_HookMusicFinished(func){SDL.hookMusicFinished=func;if(SDL.music.audio){SDL.music.audio["onended"]=_Mix_HaltMusic}}Module["_Mix_HookMusicFinished"]=_Mix_HookMusicFinished;_Mix_HookMusicFinished.sig="vi";function _Mix_VolumeMusic(volume){return SDL.setGetVolume(SDL.music,volume)}Module["_Mix_VolumeMusic"]=_Mix_VolumeMusic;_Mix_VolumeMusic.sig="ii";function _Mix_LoadMUS_RW(a0,a1){return _Mix_LoadWAV_RW(a0,a1)}Module["_Mix_LoadMUS_RW"]=_Mix_LoadMUS_RW;_Mix_LoadMUS_RW.sig="iii";function _Mix_LoadMUS(filename){var rwops=_SDL_RWFromFile(filename);var result=_Mix_LoadMUS_RW(rwops);_SDL_FreeRW(rwops);return result}Module["_Mix_LoadMUS"]=_Mix_LoadMUS;_Mix_LoadMUS.sig="ii";function _Mix_FreeMusic(a0){return _Mix_FreeChunk(a0)}Module["_Mix_FreeMusic"]=_Mix_FreeMusic;_Mix_FreeMusic.sig="vi";function _Mix_PlayMusic(id,loops){if(SDL.music.audio){if(!SDL.music.audio.paused)err("Music is already playing. "+SDL.music.source);SDL.music.audio.pause()}var info=SDL.audios[id];var audio;if(info.webAudio){audio={};audio.resource=info;audio.paused=false;audio.currentPosition=0;audio.play=function(){SDL.playWebAudio(this)};audio.pause=function(){SDL.pauseWebAudio(this)}}else if(info.audio){audio=info.audio}audio["onended"]=function(){if(SDL.music.audio==this)_Mix_HaltMusic()};audio.loop=loops!=0&&loops!=1;audio.volume=SDL.music.volume;SDL.music.audio=audio;audio.play();return 0}Module["_Mix_PlayMusic"]=_Mix_PlayMusic;_Mix_PlayMusic.sig="iii";function _Mix_PauseMusic(){var audio=SDL.music.audio;if(audio)audio.pause()}Module["_Mix_PauseMusic"]=_Mix_PauseMusic;_Mix_PauseMusic.sig="v";function _Mix_ResumeMusic(){var audio=SDL.music.audio;if(audio)audio.play()}Module["_Mix_ResumeMusic"]=_Mix_ResumeMusic;_Mix_ResumeMusic.sig="v";function _Mix_FadeInMusicPos(a0,a1){return _Mix_PlayMusic(a0,a1)}Module["_Mix_FadeInMusicPos"]=_Mix_FadeInMusicPos;_Mix_FadeInMusicPos.sig="iii";function _Mix_FadeOutMusic(){return _Mix_HaltMusic()}Module["_Mix_FadeOutMusic"]=_Mix_FadeOutMusic;_Mix_FadeOutMusic.sig="i";function _Mix_PlayingMusic(){return SDL.music.audio&&!SDL.music.audio.paused?1:0}Module["_Mix_PlayingMusic"]=_Mix_PlayingMusic;_Mix_PlayingMusic.sig="i";function _Mix_Playing(channel){if(channel===-1){var count=0;for(var i=0;i<SDL.channels.length;i++){count+=_Mix_Playing(i)}return count}var info=SDL.channels[channel];if(info&&info.audio&&!info.audio.paused){return 1}return 0}Module["_Mix_Playing"]=_Mix_Playing;_Mix_Playing.sig="ii";function _Mix_Pause(channel){if(channel===-1){for(var i=0;i<SDL.channels.length;i++){_Mix_Pause(i)}return}var info=SDL.channels[channel];if(info&&info.audio){info.audio.pause()}else{}}Module["_Mix_Pause"]=_Mix_Pause;_Mix_Pause.sig="vi";function _Mix_Paused(channel){if(channel===-1){var pausedCount=0;for(var i=0;i<SDL.channels.length;i++){pausedCount+=_Mix_Paused(i)}return pausedCount}var info=SDL.channels[channel];if(info&&info.audio&&info.audio.paused){return 1}return 0}Module["_Mix_Paused"]=_Mix_Paused;_Mix_Paused.sig="ii";function _Mix_PausedMusic(){return SDL.music.audio&&SDL.music.audio.paused?1:0}Module["_Mix_PausedMusic"]=_Mix_PausedMusic;_Mix_PausedMusic.sig="i";function _Mix_Resume(channel){if(channel===-1){for(var i=0;i<SDL.channels.length;i++){_Mix_Resume(i)}return}var info=SDL.channels[channel];if(info&&info.audio)info.audio.play()}Module["_Mix_Resume"]=_Mix_Resume;_Mix_Resume.sig="vi";function _TTF_Init(){try{var offscreenCanvas=new OffscreenCanvas(0,0);SDL.ttfContext=offscreenCanvas.getContext("2d")}catch(ex){var canvas=document.createElement("canvas");SDL.ttfContext=canvas.getContext("2d")}return 0}Module["_TTF_Init"]=_TTF_Init;_TTF_Init.sig="i";function _TTF_OpenFont(filename,size){filename=PATH.normalize(UTF8ToString(filename));var id=SDL.fonts.length;SDL.fonts.push({name:filename,size:size});return id}Module["_TTF_OpenFont"]=_TTF_OpenFont;_TTF_OpenFont.sig="iii";function _TTF_CloseFont(font){SDL.fonts[font]=null}Module["_TTF_CloseFont"]=_TTF_CloseFont;_TTF_CloseFont.sig="vi";function _TTF_RenderText_Solid(font,text,color){text=UTF8ToString(text)||" ";var fontData=SDL.fonts[font];var w=SDL.estimateTextWidth(fontData,text);var h=fontData.size;color=SDL.loadColorToCSSRGB(color);var fontString=SDL.makeFontString(h,fontData.name);var surf=SDL.makeSurface(w,h,0,false,"text:"+text);var surfData=SDL.surfaces[surf];surfData.ctx.save();surfData.ctx.fillStyle=color;surfData.ctx.font=fontString;surfData.ctx.textBaseline="bottom";surfData.ctx.fillText(text,0,h|0);surfData.ctx.restore();return surf}Module["_TTF_RenderText_Solid"]=_TTF_RenderText_Solid;_TTF_RenderText_Solid.sig="iiii";function _TTF_RenderText_Blended(a0,a1,a2){return _TTF_RenderText_Solid(a0,a1,a2)}Module["_TTF_RenderText_Blended"]=_TTF_RenderText_Blended;_TTF_RenderText_Blended.sig="iiii";function _TTF_RenderText_Shaded(a0,a1,a2){return _TTF_RenderText_Solid(a0,a1,a2)}Module["_TTF_RenderText_Shaded"]=_TTF_RenderText_Shaded;_TTF_RenderText_Shaded.sig="iiii";function _TTF_RenderUTF8_Solid(a0,a1,a2){return _TTF_RenderText_Solid(a0,a1,a2)}Module["_TTF_RenderUTF8_Solid"]=_TTF_RenderUTF8_Solid;_TTF_RenderUTF8_Solid.sig="iiii";function _TTF_SizeText(font,text,w,h){var fontData=SDL.fonts[font];if(w){HEAP32[w>>2]=SDL.estimateTextWidth(fontData,UTF8ToString(text))}if(h){HEAP32[h>>2]=fontData.size}return 0}Module["_TTF_SizeText"]=_TTF_SizeText;_TTF_SizeText.sig="iiiii";function _TTF_SizeUTF8(a0,a1,a2,a3){return _TTF_SizeText(a0,a1,a2,a3)}Module["_TTF_SizeUTF8"]=_TTF_SizeUTF8;_TTF_SizeUTF8.sig="iiiii";function _TTF_GlyphMetrics(font,ch,minx,maxx,miny,maxy,advance){var fontData=SDL.fonts[font];var width=SDL.estimateTextWidth(fontData,String.fromCharCode(ch));if(advance){HEAP32[advance>>2]=width}if(minx){HEAP32[minx>>2]=0}if(maxx){HEAP32[maxx>>2]=width}if(miny){HEAP32[miny>>2]=0}if(maxy){HEAP32[maxy>>2]=fontData.size}}Module["_TTF_GlyphMetrics"]=_TTF_GlyphMetrics;_TTF_GlyphMetrics.sig="iiiiiiii";function _TTF_FontAscent(font){var fontData=SDL.fonts[font];return fontData.size*.98|0}Module["_TTF_FontAscent"]=_TTF_FontAscent;_TTF_FontAscent.sig="ii";function _TTF_FontDescent(font){var fontData=SDL.fonts[font];return fontData.size*.02|0}Module["_TTF_FontDescent"]=_TTF_FontDescent;_TTF_FontDescent.sig="ii";function _TTF_FontHeight(font){var fontData=SDL.fonts[font];return fontData.size}Module["_TTF_FontHeight"]=_TTF_FontHeight;_TTF_FontHeight.sig="ii";function _TTF_FontLineSkip(a0){return _TTF_FontHeight(a0)}Module["_TTF_FontLineSkip"]=_TTF_FontLineSkip;_TTF_FontLineSkip.sig="ii";function _TTF_Quit(){out("TTF_Quit called (and ignored)")}Module["_TTF_Quit"]=_TTF_Quit;var SDL_gfx={drawRectangle:function(surf,x1,y1,x2,y2,action,cssColor){x1=x1<<16>>16;y1=y1<<16>>16;x2=x2<<16>>16;y2=y2<<16>>16;var surfData=SDL.surfaces[surf];assert(!surfData.locked);var x=x1<x2?x1:x2;var y=y1<y2?y1:y2;var w=Math.abs(x2-x1);var h=Math.abs(y2-y1);surfData.ctx.save();surfData.ctx[action+"Style"]=cssColor;surfData.ctx[action+"Rect"](x,y,w,h);surfData.ctx.restore()},drawLine:function(surf,x1,y1,x2,y2,cssColor){x1=x1<<16>>16;y1=y1<<16>>16;x2=x2<<16>>16;y2=y2<<16>>16;var surfData=SDL.surfaces[surf];assert(!surfData.locked);surfData.ctx.save();surfData.ctx.strokeStyle=cssColor;surfData.ctx.beginPath();surfData.ctx.moveTo(x1,y1);surfData.ctx.lineTo(x2,y2);surfData.ctx.stroke();surfData.ctx.restore()},drawEllipse:function(surf,x,y,rx,ry,action,cssColor){x=x<<16>>16;y=y<<16>>16;rx=rx<<16>>16;ry=ry<<16>>16;var surfData=SDL.surfaces[surf];assert(!surfData.locked);surfData.ctx.save();surfData.ctx.beginPath();surfData.ctx.translate(x,y);surfData.ctx.scale(rx,ry);surfData.ctx.arc(0,0,1,0,2*Math.PI);surfData.ctx.restore();surfData.ctx.save();surfData.ctx[action+"Style"]=cssColor;surfData.ctx[action]();surfData.ctx.restore()},translateColorToCSSRGBA:function(rgba){return"rgba("+(rgba>>>24)+","+(rgba>>16&255)+","+(rgba>>8&255)+","+(rgba&255)+")"}};Module["SDL_gfx"]=SDL_gfx;function _boxColor(surf,x1,y1,x2,y2,color){return SDL_gfx.drawRectangle(surf,x1,y1,x2,y2,"fill",SDL_gfx.translateColorToCSSRGBA(color))}Module["_boxColor"]=_boxColor;function _boxRGBA(surf,x1,y1,x2,y2,r,g,b,a){return SDL_gfx.drawRectangle(surf,x1,y1,x2,y2,"fill",SDL.translateRGBAToCSSRGBA(r,g,b,a))}Module["_boxRGBA"]=_boxRGBA;function _rectangleColor(surf,x1,y1,x2,y2,color){return SDL_gfx.drawRectangle(surf,x1,y1,x2,y2,"stroke",SDL_gfx.translateColorToCSSRGBA(color))}Module["_rectangleColor"]=_rectangleColor;function _rectangleRGBA(surf,x1,y1,x2,y2,r,g,b,a){return SDL_gfx.drawRectangle(surf,x1,y1,x2,y2,"stroke",SDL.translateRGBAToCSSRGBA(r,g,b,a))}Module["_rectangleRGBA"]=_rectangleRGBA;function _ellipseColor(surf,x,y,rx,ry,color){return SDL_gfx.drawEllipse(surf,x,y,rx,ry,"stroke",SDL_gfx.translateColorToCSSRGBA(color))}Module["_ellipseColor"]=_ellipseColor;function _ellipseRGBA(surf,x,y,rx,ry,r,g,b,a){return SDL_gfx.drawEllipse(surf,x,y,rx,ry,"stroke",SDL.translateRGBAToCSSRGBA(r,g,b,a))}Module["_ellipseRGBA"]=_ellipseRGBA;function _filledEllipseColor(surf,x,y,rx,ry,color){return SDL_gfx.drawEllipse(surf,x,y,rx,ry,"fill",SDL_gfx.translateColorToCSSRGBA(color))}Module["_filledEllipseColor"]=_filledEllipseColor;function _filledEllipseRGBA(surf,x,y,rx,ry,r,g,b,a){return SDL_gfx.drawEllipse(surf,x,y,rx,ry,"fill",SDL.translateRGBAToCSSRGBA(r,g,b,a))}Module["_filledEllipseRGBA"]=_filledEllipseRGBA;function _lineColor(surf,x1,y1,x2,y2,color){return SDL_gfx.drawLine(surf,x1,y1,x2,y2,SDL_gfx.translateColorToCSSRGBA(color))}Module["_lineColor"]=_lineColor;function _lineRGBA(surf,x1,y1,x2,y2,r,g,b,a){return SDL_gfx.drawLine(surf,x1,y1,x2,y2,SDL.translateRGBAToCSSRGBA(r,g,b,a))}Module["_lineRGBA"]=_lineRGBA;function _pixelRGBA(surf,x1,y1,r,g,b,a){_boxRGBA(surf,x1,y1,x1,y1,r,g,b,a)}Module["_pixelRGBA"]=_pixelRGBA;function _SDL_GL_SetAttribute(attr,value){if(!(attr in SDL.glAttributes)){abort("Unknown SDL GL attribute ("+attr+"). Please check if your SDL version is supported.")}SDL.glAttributes[attr]=value}Module["_SDL_GL_SetAttribute"]=_SDL_GL_SetAttribute;_SDL_GL_SetAttribute.sig="iii";function _SDL_GL_GetAttribute(attr,value){if(!(attr in SDL.glAttributes)){abort("Unknown SDL GL attribute ("+attr+"). Please check if your SDL version is supported.")}if(value)HEAP32[value>>2]=SDL.glAttributes[attr];return 0}Module["_SDL_GL_GetAttribute"]=_SDL_GL_GetAttribute;_SDL_GL_GetAttribute.sig="iii";function _SDL_GL_SwapBuffers(){if(Browser.doSwapBuffers)Browser.doSwapBuffers()}Module["_SDL_GL_SwapBuffers"]=_SDL_GL_SwapBuffers;_SDL_GL_SwapBuffers.sig="v";function _SDL_GL_ExtensionSupported(extension){return Module.ctx.getExtension(extension)|0}Module["_SDL_GL_ExtensionSupported"]=_SDL_GL_ExtensionSupported;_SDL_GL_ExtensionSupported.sig="ii";function _SDL_DestroyWindow(window){}Module["_SDL_DestroyWindow"]=_SDL_DestroyWindow;function _SDL_DestroyRenderer(renderer){}Module["_SDL_DestroyRenderer"]=_SDL_DestroyRenderer;function _SDL_GetWindowFlags(){}Module["_SDL_GetWindowFlags"]=_SDL_GetWindowFlags;_SDL_GetWindowFlags.sig="iii";function _SDL_GL_SwapWindow(window){}Module["_SDL_GL_SwapWindow"]=_SDL_GL_SwapWindow;function _SDL_GL_MakeCurrent(window,context){}Module["_SDL_GL_MakeCurrent"]=_SDL_GL_MakeCurrent;function _SDL_GL_DeleteContext(context){}Module["_SDL_GL_DeleteContext"]=_SDL_GL_DeleteContext;function _SDL_GL_GetSwapInterval(state){if(Browser.mainLoop.timingMode==1)return Browser.mainLoop.timingValue;else return 0}Module["_SDL_GL_GetSwapInterval"]=_SDL_GL_GetSwapInterval;_SDL_GL_GetSwapInterval.sig="ii";function _SDL_GL_SetSwapInterval(state){_emscripten_set_main_loop_timing(1,state)}Module["_SDL_GL_SetSwapInterval"]=_SDL_GL_SetSwapInterval;function _SDL_SetWindowTitle(window,title){if(title)document.title=UTF8ToString(title)}Module["_SDL_SetWindowTitle"]=_SDL_SetWindowTitle;_SDL_SetWindowTitle.sig="vii";function _SDL_GetWindowSize(window,width,height){var w=Module["canvas"].width;var h=Module["canvas"].height;if(width)HEAP32[width>>2]=w;if(height)HEAP32[height>>2]=h}Module["_SDL_GetWindowSize"]=_SDL_GetWindowSize;_SDL_GetWindowSize.sig="viii";function _SDL_LogSetOutputFunction(callback,userdata){}Module["_SDL_LogSetOutputFunction"]=_SDL_LogSetOutputFunction;function _SDL_SetWindowFullscreen(window,fullscreen){if(Browser.isFullscreen){Module["canvas"].exitFullscreen();return 1}else{return 0}}Module["_SDL_SetWindowFullscreen"]=_SDL_SetWindowFullscreen;_SDL_SetWindowFullscreen.sig="iii";function _SDL_ClearError(){}Module["_SDL_ClearError"]=_SDL_ClearError;function _SDL_SetGamma(r,g,b){return-1}Module["_SDL_SetGamma"]=_SDL_SetGamma;function _SDL_SetGammaRamp(redTable,greenTable,blueTable){return-1}Module["_SDL_SetGammaRamp"]=_SDL_SetGammaRamp;function _SDL_NumJoysticks(){var count=0;var gamepads=SDL.getGamepads();for(var i=0;i<gamepads.length;i++){if(gamepads[i]!==undefined)count++}return count}Module["_SDL_NumJoysticks"]=_SDL_NumJoysticks;_SDL_NumJoysticks.sig="i";function _SDL_JoystickName(deviceIndex){var gamepad=SDL.getGamepad(deviceIndex);if(gamepad){var name=gamepad.id;if(SDL.joystickNamePool.hasOwnProperty(name)){return SDL.joystickNamePool[name]}return SDL.joystickNamePool[name]=allocate(intArrayFromString(name),ALLOC_NORMAL)}return 0}Module["_SDL_JoystickName"]=_SDL_JoystickName;_SDL_JoystickName.sig="ii";function _SDL_JoystickOpen(deviceIndex){var gamepad=SDL.getGamepad(deviceIndex);if(gamepad){var joystick=deviceIndex+1;SDL.recordJoystickState(joystick,gamepad);return joystick}return 0}Module["_SDL_JoystickOpen"]=_SDL_JoystickOpen;_SDL_JoystickOpen.sig="ii";function _SDL_JoystickOpened(deviceIndex){return SDL.lastJoystickState.hasOwnProperty(deviceIndex+1)?1:0}Module["_SDL_JoystickOpened"]=_SDL_JoystickOpened;_SDL_JoystickOpened.sig="ii";function _SDL_JoystickIndex(joystick){return joystick-1}Module["_SDL_JoystickIndex"]=_SDL_JoystickIndex;function _SDL_JoystickNumAxes(joystick){var gamepad=SDL.getGamepad(joystick-1);if(gamepad){return gamepad.axes.length}return 0}Module["_SDL_JoystickNumAxes"]=_SDL_JoystickNumAxes;_SDL_JoystickNumAxes.sig="ii";function _SDL_JoystickNumBalls(joystick){return 0}Module["_SDL_JoystickNumBalls"]=_SDL_JoystickNumBalls;function _SDL_JoystickNumHats(joystick){return 0}Module["_SDL_JoystickNumHats"]=_SDL_JoystickNumHats;function _SDL_JoystickNumButtons(joystick){var gamepad=SDL.getGamepad(joystick-1);if(gamepad){return gamepad.buttons.length}return 0}Module["_SDL_JoystickNumButtons"]=_SDL_JoystickNumButtons;_SDL_JoystickNumButtons.sig="ii";function _SDL_JoystickUpdate(){SDL.queryJoysticks()}Module["_SDL_JoystickUpdate"]=_SDL_JoystickUpdate;_SDL_JoystickUpdate.sig="v";function _SDL_JoystickEventState(state){if(state<0){return SDL.joystickEventState}return SDL.joystickEventState=state}Module["_SDL_JoystickEventState"]=_SDL_JoystickEventState;_SDL_JoystickEventState.sig="ii";function _SDL_JoystickGetAxis(joystick,axis){var gamepad=SDL.getGamepad(joystick-1);if(gamepad&&gamepad.axes.length>axis){return SDL.joystickAxisValueConversion(gamepad.axes[axis])}return 0}Module["_SDL_JoystickGetAxis"]=_SDL_JoystickGetAxis;_SDL_JoystickGetAxis.sig="iii";function _SDL_JoystickGetHat(joystick,hat){return 0}Module["_SDL_JoystickGetHat"]=_SDL_JoystickGetHat;function _SDL_JoystickGetBall(joystick,ball,dxptr,dyptr){return-1}Module["_SDL_JoystickGetBall"]=_SDL_JoystickGetBall;function _SDL_JoystickGetButton(joystick,button){var gamepad=SDL.getGamepad(joystick-1);if(gamepad&&gamepad.buttons.length>button){return SDL.getJoystickButtonState(gamepad.buttons[button])?1:0}return 0}Module["_SDL_JoystickGetButton"]=_SDL_JoystickGetButton;_SDL_JoystickGetButton.sig="iii";function _SDL_JoystickClose(joystick){delete SDL.lastJoystickState[joystick]}Module["_SDL_JoystickClose"]=_SDL_JoystickClose;_SDL_JoystickClose.sig="vi";function _SDL_InitSubSystem(flags){return 0}Module["_SDL_InitSubSystem"]=_SDL_InitSubSystem;function _SDL_RWFromConstMem(mem,size){var id=SDL.rwops.length;SDL.rwops.push({bytes:mem,count:size});return id}Module["_SDL_RWFromConstMem"]=_SDL_RWFromConstMem;_SDL_RWFromConstMem.sig="iii";function _SDL_RWFromMem(a0,a1){return _SDL_RWFromConstMem(a0,a1)}Module["_SDL_RWFromMem"]=_SDL_RWFromMem;_SDL_RWFromMem.sig="iii";function _SDL_GetNumAudioDrivers(){return 1}Module["_SDL_GetNumAudioDrivers"]=_SDL_GetNumAudioDrivers;function _SDL_GetCurrentAudioDriver(){return allocate(intArrayFromString("Emscripten Audio"),ALLOC_NORMAL)}Module["_SDL_GetCurrentAudioDriver"]=_SDL_GetCurrentAudioDriver;function _SDL_GetAudioDriver(index){return _SDL_GetCurrentAudioDriver()}Module["_SDL_GetAudioDriver"]=_SDL_GetAudioDriver;function _SDL_EnableUNICODE(on){var ret=SDL.unicode||0;SDL.unicode=on;return ret}Module["_SDL_EnableUNICODE"]=_SDL_EnableUNICODE;_SDL_EnableUNICODE.sig="ii";function _SDL_AddTimer(interval,callback,param){return window.setTimeout(function(){wasmTable.get(callback)(interval,param)},interval)}Module["_SDL_AddTimer"]=_SDL_AddTimer;_SDL_AddTimer.sig="iiii";function _SDL_RemoveTimer(id){window.clearTimeout(id);return true}Module["_SDL_RemoveTimer"]=_SDL_RemoveTimer;_SDL_RemoveTimer.sig="ii";function _SDL_CreateThread(){throw"SDL threads cannot be supported in the web platform because they assume shared state. See emscripten_create_worker etc. for a message-passing concurrency model that does let you run code in another thread."}Module["_SDL_CreateThread"]=_SDL_CreateThread;function _SDL_WaitThread(){throw"SDL_WaitThread"}Module["_SDL_WaitThread"]=_SDL_WaitThread;function _SDL_GetThreadID(){throw"SDL_GetThreadID"}Module["_SDL_GetThreadID"]=_SDL_GetThreadID;function _SDL_ThreadID(){return 0}Module["_SDL_ThreadID"]=_SDL_ThreadID;function _SDL_AllocRW(){throw"SDL_AllocRW: TODO"}Module["_SDL_AllocRW"]=_SDL_AllocRW;function _SDL_CondBroadcast(){throw"SDL_CondBroadcast: TODO"}Module["_SDL_CondBroadcast"]=_SDL_CondBroadcast;function _SDL_CondWaitTimeout(){throw"SDL_CondWaitTimeout: TODO"}Module["_SDL_CondWaitTimeout"]=_SDL_CondWaitTimeout;function _SDL_WM_IconifyWindow(){throw"SDL_WM_IconifyWindow TODO"}Module["_SDL_WM_IconifyWindow"]=_SDL_WM_IconifyWindow;function _Mix_SetPostMix(){warnOnce("Mix_SetPostMix: TODO")}Module["_Mix_SetPostMix"]=_Mix_SetPostMix;function _Mix_VolumeChunk(chunk,volume){throw"Mix_VolumeChunk: TODO"}Module["_Mix_VolumeChunk"]=_Mix_VolumeChunk;function _Mix_SetPosition(channel,angle,distance){throw"Mix_SetPosition: TODO"}Module["_Mix_SetPosition"]=_Mix_SetPosition;function _Mix_QuerySpec(){throw"Mix_QuerySpec: TODO"}Module["_Mix_QuerySpec"]=_Mix_QuerySpec;function _Mix_FadeInChannelTimed(){throw"Mix_FadeInChannelTimed"}Module["_Mix_FadeInChannelTimed"]=_Mix_FadeInChannelTimed;function _Mix_FadeOutChannel(){throw"Mix_FadeOutChannel"}Module["_Mix_FadeOutChannel"]=_Mix_FadeOutChannel;function _Mix_Linked_Version(){throw"Mix_Linked_Version: TODO"}Module["_Mix_Linked_Version"]=_Mix_Linked_Version;function _SDL_SaveBMP_RW(){throw"SDL_SaveBMP_RW: TODO"}Module["_SDL_SaveBMP_RW"]=_SDL_SaveBMP_RW;function _SDL_WM_SetIcon(){}Module["_SDL_WM_SetIcon"]=_SDL_WM_SetIcon;function _SDL_HasRDTSC(){return 0}Module["_SDL_HasRDTSC"]=_SDL_HasRDTSC;function _SDL_HasMMX(){return 0}Module["_SDL_HasMMX"]=_SDL_HasMMX;function _SDL_HasMMXExt(){return 0}Module["_SDL_HasMMXExt"]=_SDL_HasMMXExt;function _SDL_Has3DNow(){return 0}Module["_SDL_Has3DNow"]=_SDL_Has3DNow;function _SDL_Has3DNowExt(){return 0}Module["_SDL_Has3DNowExt"]=_SDL_Has3DNowExt;function _SDL_HasSSE(){return 0}Module["_SDL_HasSSE"]=_SDL_HasSSE;function _SDL_HasSSE2(){return 0}Module["_SDL_HasSSE2"]=_SDL_HasSSE2;function _SDL_HasAltiVec(){return 0}Module["_SDL_HasAltiVec"]=_SDL_HasAltiVec;function _glutPostRedisplay(){if(GLUT.displayFunc&&!GLUT.requestedAnimationFrame){GLUT.requestedAnimationFrame=true;Browser.requestAnimationFrame(function(){GLUT.requestedAnimationFrame=false;Browser.mainLoop.runIter(function(){wasmTable.get(GLUT.displayFunc)()})})}}Module["_glutPostRedisplay"]=_glutPostRedisplay;_glutPostRedisplay.sig="v";var GLUT={initTime:null,idleFunc:null,displayFunc:null,keyboardFunc:null,keyboardUpFunc:null,specialFunc:null,specialUpFunc:null,reshapeFunc:null,motionFunc:null,passiveMotionFunc:null,mouseFunc:null,buttons:0,modifiers:0,initWindowWidth:256,initWindowHeight:256,initDisplayMode:18,windowX:0,windowY:0,windowWidth:0,windowHeight:0,requestedAnimationFrame:false,saveModifiers:function(event){GLUT.modifiers=0;if(event["shiftKey"])GLUT.modifiers+=1;if(event["ctrlKey"])GLUT.modifiers+=2;if(event["altKey"])GLUT.modifiers+=4},onMousemove:function(event){var lastX=Browser.mouseX;var lastY=Browser.mouseY;Browser.calculateMouseEvent(event);var newX=Browser.mouseX;var newY=Browser.mouseY;if(newX==lastX&&newY==lastY)return;if(GLUT.buttons==0&&event.target==Module["canvas"]&&GLUT.passiveMotionFunc){event.preventDefault();GLUT.saveModifiers(event);wasmTable.get(GLUT.passiveMotionFunc)(lastX,lastY)}else if(GLUT.buttons!=0&&GLUT.motionFunc){event.preventDefault();GLUT.saveModifiers(event);wasmTable.get(GLUT.motionFunc)(lastX,lastY)}},getSpecialKey:function(keycode){var key=null;switch(keycode){case 8:key=120;break;case 46:key=111;break;case 112:key=1;break;case 113:key=2;break;case 114:key=3;break;case 115:key=4;break;case 116:key=5;break;case 117:key=6;break;case 118:key=7;break;case 119:key=8;break;case 120:key=9;break;case 121:key=10;break;case 122:key=11;break;case 123:key=12;break;case 37:key=100;break;case 38:key=101;break;case 39:key=102;break;case 40:key=103;break;case 33:key=104;break;case 34:key=105;break;case 36:key=106;break;case 35:key=107;break;case 45:key=108;break;case 16:case 5:key=112;break;case 6:key=113;break;case 17:case 3:key=114;break;case 4:key=115;break;case 18:case 2:key=116;break;case 1:key=117;break}return key},getASCIIKey:function(event){if(event["ctrlKey"]||event["altKey"]||event["metaKey"])return null;var keycode=event["keyCode"];if(48<=keycode&&keycode<=57)return keycode;if(65<=keycode&&keycode<=90)return event["shiftKey"]?keycode:keycode+32;if(96<=keycode&&keycode<=105)return keycode-48;if(106<=keycode&&keycode<=111)return keycode-106+42;switch(keycode){case 9:case 13:case 27:case 32:case 61:return keycode}var s=event["shiftKey"];switch(keycode){case 186:return s?58:59;case 187:return s?43:61;case 188:return s?60:44;case 189:return s?95:45;case 190:return s?62:46;case 191:return s?63:47;case 219:return s?123:91;case 220:return s?124:47;case 221:return s?125:93;case 222:return s?34:39}return null},onKeydown:function(event){if(GLUT.specialFunc||GLUT.keyboardFunc){var key=GLUT.getSpecialKey(event["keyCode"]);if(key!==null){if(GLUT.specialFunc){event.preventDefault();GLUT.saveModifiers(event);wasmTable.get(GLUT.specialFunc)(key,Browser.mouseX,Browser.mouseY)}}else{key=GLUT.getASCIIKey(event);if(key!==null&&GLUT.keyboardFunc){event.preventDefault();GLUT.saveModifiers(event);wasmTable.get(GLUT.keyboardFunc)(key,Browser.mouseX,Browser.mouseY)}}}},onKeyup:function(event){if(GLUT.specialUpFunc||GLUT.keyboardUpFunc){var key=GLUT.getSpecialKey(event["keyCode"]);if(key!==null){if(GLUT.specialUpFunc){event.preventDefault();GLUT.saveModifiers(event);wasmTable.get(GLUT.specialUpFunc)(key,Browser.mouseX,Browser.mouseY)}}else{key=GLUT.getASCIIKey(event);if(key!==null&&GLUT.keyboardUpFunc){event.preventDefault();GLUT.saveModifiers(event);wasmTable.get(GLUT.keyboardUpFunc)(key,Browser.mouseX,Browser.mouseY)}}}},touchHandler:function(event){if(event.target!=Module["canvas"]){return}var touches=event.changedTouches,main=touches[0],type="";switch(event.type){case"touchstart":type="mousedown";break;case"touchmove":type="mousemove";break;case"touchend":type="mouseup";break;default:return}var simulatedEvent=document.createEvent("MouseEvent");simulatedEvent.initMouseEvent(type,true,true,window,1,main.screenX,main.screenY,main.clientX,main.clientY,false,false,false,false,0,null);main.target.dispatchEvent(simulatedEvent);event.preventDefault()},onMouseButtonDown:function(event){Browser.calculateMouseEvent(event);GLUT.buttons|=1<<event["button"];if(event.target==Module["canvas"]&&GLUT.mouseFunc){try{event.target.setCapture()}catch(e){}event.preventDefault();GLUT.saveModifiers(event);wasmTable.get(GLUT.mouseFunc)(event["button"],0,Browser.mouseX,Browser.mouseY)}},onMouseButtonUp:function(event){Browser.calculateMouseEvent(event);GLUT.buttons&=~(1<<event["button"]);if(GLUT.mouseFunc){event.preventDefault();GLUT.saveModifiers(event);wasmTable.get(GLUT.mouseFunc)(event["button"],1,Browser.mouseX,Browser.mouseY)}},onMouseWheel:function(event){Browser.calculateMouseEvent(event);var e=window.event||event;var delta=-Browser.getMouseWheelDelta(event);delta=delta==0?0:delta>0?Math.max(delta,1):Math.min(delta,-1);var button=3;if(delta<0){button=4}if(GLUT.mouseFunc){event.preventDefault();GLUT.saveModifiers(event);wasmTable.get(GLUT.mouseFunc)(button,0,Browser.mouseX,Browser.mouseY)}},onFullscreenEventChange:function(event){var width;var height;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){width=screen["width"];height=screen["height"]}else{width=GLUT.windowWidth;height=GLUT.windowHeight;document.removeEventListener("fullscreenchange",GLUT.onFullscreenEventChange,true);document.removeEventListener("mozfullscreenchange",GLUT.onFullscreenEventChange,true);document.removeEventListener("webkitfullscreenchange",GLUT.onFullscreenEventChange,true)}Browser.setCanvasSize(width,height,true);if(GLUT.reshapeFunc){wasmTable.get(GLUT.reshapeFunc)(width,height)}_glutPostRedisplay()}};Module["GLUT"]=GLUT;function _glutGetModifiers(){return GLUT.modifiers}Module["_glutGetModifiers"]=_glutGetModifiers;_glutGetModifiers.sig="i";function _glutInit(argcp,argv){GLUT.initTime=Date.now();var isTouchDevice="ontouchstart"in document.documentElement;if(isTouchDevice){window.addEventListener("touchmove",GLUT.touchHandler,true);window.addEventListener("touchstart",GLUT.touchHandler,true);window.addEventListener("touchend",GLUT.touchHandler,true)}window.addEventListener("keydown",GLUT.onKeydown,true);window.addEventListener("keyup",GLUT.onKeyup,true);window.addEventListener("mousemove",GLUT.onMousemove,true);window.addEventListener("mousedown",GLUT.onMouseButtonDown,true);window.addEventListener("mouseup",GLUT.onMouseButtonUp,true);window.addEventListener("mousewheel",GLUT.onMouseWheel,true);window.addEventListener("DOMMouseScroll",GLUT.onMouseWheel,true);Browser.resizeListeners.push(function(width,height){if(GLUT.reshapeFunc){wasmTable.get(GLUT.reshapeFunc)(width,height)}});__ATEXIT__.push(function(){if(isTouchDevice){window.removeEventListener("touchmove",GLUT.touchHandler,true);window.removeEventListener("touchstart",GLUT.touchHandler,true);window.removeEventListener("touchend",GLUT.touchHandler,true)}window.removeEventListener("keydown",GLUT.onKeydown,true);window.removeEventListener("keyup",GLUT.onKeyup,true);window.removeEventListener("mousemove",GLUT.onMousemove,true);window.removeEventListener("mousedown",GLUT.onMouseButtonDown,true);window.removeEventListener("mouseup",GLUT.onMouseButtonUp,true);window.removeEventListener("mousewheel",GLUT.onMouseWheel,true);window.removeEventListener("DOMMouseScroll",GLUT.onMouseWheel,true);Module["canvas"].width=Module["canvas"].height=1})}Module["_glutInit"]=_glutInit;_glutInit.sig="vii";function _glutInitWindowSize(width,height){Browser.setCanvasSize(GLUT.initWindowWidth=width,GLUT.initWindowHeight=height)}Module["_glutInitWindowSize"]=_glutInitWindowSize;_glutInitWindowSize.sig="vii";function _glutInitWindowPosition(x,y){}Module["_glutInitWindowPosition"]=_glutInitWindowPosition;_glutInitWindowPosition.sig="vii";function _glutGet(type){switch(type){case 100:return 0;case 101:return 0;case 102:return Module["canvas"].width;case 103:return Module["canvas"].height;case 200:return Module["canvas"].width;case 201:return Module["canvas"].height;case 500:return 0;case 501:return 0;case 502:return GLUT.initWindowWidth;case 503:return GLUT.initWindowHeight;case 700:var now=Date.now();return now-GLUT.initTime;case 105:return Module.ctx.getContextAttributes().stencil?8:0;case 106:return Module.ctx.getContextAttributes().depth?8:0;case 110:return Module.ctx.getContextAttributes().alpha?8:0;case 120:return Module.ctx.getContextAttributes().antialias?1:0;default:throw"glutGet("+type+") not implemented yet"}}Module["_glutGet"]=_glutGet;function _glutIdleFunc(func){function callback(){if(GLUT.idleFunc){wasmTable.get(GLUT.idleFunc)();safeSetTimeout(callback,4)}}if(!GLUT.idleFunc){safeSetTimeout(callback,0)}GLUT.idleFunc=func}Module["_glutIdleFunc"]=_glutIdleFunc;_glutIdleFunc.sig="vi";function _glutTimerFunc(msec,func,value){safeSetTimeout(function(){wasmTable.get(func)(value)},msec)}Module["_glutTimerFunc"]=_glutTimerFunc;_glutTimerFunc.sig="viii";function _glutDisplayFunc(func){GLUT.displayFunc=func}Module["_glutDisplayFunc"]=_glutDisplayFunc;_glutDisplayFunc.sig="vi";function _glutKeyboardFunc(func){GLUT.keyboardFunc=func}Module["_glutKeyboardFunc"]=_glutKeyboardFunc;_glutKeyboardFunc.sig="vi";function _glutKeyboardUpFunc(func){GLUT.keyboardUpFunc=func}Module["_glutKeyboardUpFunc"]=_glutKeyboardUpFunc;_glutKeyboardUpFunc.sig="vi";function _glutSpecialFunc(func){GLUT.specialFunc=func}Module["_glutSpecialFunc"]=_glutSpecialFunc;_glutSpecialFunc.sig="vi";function _glutSpecialUpFunc(func){GLUT.specialUpFunc=func}Module["_glutSpecialUpFunc"]=_glutSpecialUpFunc;_glutSpecialUpFunc.sig="vi";function _glutReshapeFunc(func){GLUT.reshapeFunc=func}Module["_glutReshapeFunc"]=_glutReshapeFunc;_glutReshapeFunc.sig="vi";function _glutMotionFunc(func){GLUT.motionFunc=func}Module["_glutMotionFunc"]=_glutMotionFunc;_glutMotionFunc.sig="vi";function _glutPassiveMotionFunc(func){GLUT.passiveMotionFunc=func}Module["_glutPassiveMotionFunc"]=_glutPassiveMotionFunc;_glutPassiveMotionFunc.sig="vi";function _glutMouseFunc(func){GLUT.mouseFunc=func}Module["_glutMouseFunc"]=_glutMouseFunc;_glutMouseFunc.sig="vi";function _glutSetCursor(cursor){var cursorStyle="auto";switch(cursor){case 0:break;case 1:break;case 2:cursorStyle="pointer";break;case 3:break;case 4:cursorStyle="help";break;case 5:break;case 6:break;case 7:cursorStyle="wait";break;case 8:cursorStyle="text";break;case 9:case 102:cursorStyle="crosshair";break;case 10:cursorStyle="ns-resize";break;case 11:cursorStyle="ew-resize";break;case 12:cursorStyle="n-resize";break;case 13:cursorStyle="s-resize";break;case 14:cursorStyle="w-resize";break;case 15:cursorStyle="e-resize";break;case 16:cursorStyle="nw-resize";break;case 17:cursorStyle="ne-resize";break;case 18:cursorStyle="se-resize";break;case 19:cursorStyle="sw-resize";break;case 100:break;case 101:cursorStyle="none";break;default:throw"glutSetCursor: Unknown cursor type: "+cursor}Module["canvas"].style.cursor=cursorStyle}Module["_glutSetCursor"]=_glutSetCursor;_glutSetCursor.sig="vi";function _glutCreateWindow(name){var contextAttributes={antialias:(GLUT.initDisplayMode&128)!=0,depth:(GLUT.initDisplayMode&16)!=0,stencil:(GLUT.initDisplayMode&32)!=0,alpha:(GLUT.initDisplayMode&8)!=0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes);return Module.ctx?1:0}Module["_glutCreateWindow"]=_glutCreateWindow;_glutCreateWindow.sig="ii";function _glutDestroyWindow(name){Module.ctx=Browser.destroyContext(Module["canvas"],true,true);return 1}Module["_glutDestroyWindow"]=_glutDestroyWindow;_glutDestroyWindow.sig="ii";function _glutReshapeWindow(width,height){Browser.exitFullscreen();Browser.setCanvasSize(width,height,true);if(GLUT.reshapeFunc){wasmTable.get(GLUT.reshapeFunc)(width,height)}_glutPostRedisplay()}Module["_glutReshapeWindow"]=_glutReshapeWindow;_glutReshapeWindow.sig="vi";function _glutPositionWindow(x,y){Browser.exitFullscreen();_glutPostRedisplay()}Module["_glutPositionWindow"]=_glutPositionWindow;_glutPositionWindow.sig="vii";function _glutFullScreen(){GLUT.windowX=0;GLUT.windowY=0;GLUT.windowWidth=Module["canvas"].width;GLUT.windowHeight=Module["canvas"].height;document.addEventListener("fullscreenchange",GLUT.onFullscreenEventChange,true);document.addEventListener("mozfullscreenchange",GLUT.onFullscreenEventChange,true);document.addEventListener("webkitfullscreenchange",GLUT.onFullscreenEventChange,true);Browser.requestFullscreen(false,false)}Module["_glutFullScreen"]=_glutFullScreen;_glutFullScreen.sig="v";function _glutInitDisplayMode(mode){GLUT.initDisplayMode=mode}Module["_glutInitDisplayMode"]=_glutInitDisplayMode;_glutInitDisplayMode.sig="vi";function _glutSwapBuffers(){}Module["_glutSwapBuffers"]=_glutSwapBuffers;_glutSwapBuffers.sig="v";function _glutMainLoop(){_glutReshapeWindow(Module["canvas"].width,Module["canvas"].height);_glutPostRedisplay();throw"unwind"}Module["_glutMainLoop"]=_glutMainLoop;_glutMainLoop.sig="v";function _XOpenDisplay(){return 1}Module["_XOpenDisplay"]=_XOpenDisplay;function _XCreateWindow(display,parent,x,y,width,height,border_width,depth,class_,visual,valuemask,attributes){Browser.setCanvasSize(width,height);return 2}Module["_XCreateWindow"]=_XCreateWindow;function _XChangeWindowAttributes(){}Module["_XChangeWindowAttributes"]=_XChangeWindowAttributes;function _XSetWMHints(){}Module["_XSetWMHints"]=_XSetWMHints;function _XMapWindow(){}Module["_XMapWindow"]=_XMapWindow;function _XStoreName(){}Module["_XStoreName"]=_XStoreName;function _XInternAtom(display,name_,hmm){return 0}Module["_XInternAtom"]=_XInternAtom;function _XSendEvent(){}Module["_XSendEvent"]=_XSendEvent;function _XPending(display){return 0}Module["_XPending"]=_XPending;var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,contextAttributes:{alpha:false,depth:false,stencil:false,antialias:false},stringCache:{},setErrorCode:function(code){EGL.errorCode=code},chooseConfig:function(display,attribList,config,config_size,numConfigs){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(attribList){for(;;){var param=HEAP32[attribList>>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};Module["EGL"]=EGL;function _eglGetDisplay(nativeDisplayType){EGL.setErrorCode(12288);return 62e3}Module["_eglGetDisplay"]=_eglGetDisplay;_eglGetDisplay.sig="ii";function _eglInitialize(display,majorVersion,minorVersion){if(display==62e3){if(majorVersion){HEAP32[majorVersion>>2]=1}if(minorVersion){HEAP32[minorVersion>>2]=4}EGL.defaultDisplayInitialized=true;EGL.setErrorCode(12288);return 1}else{EGL.setErrorCode(12296);return 0}}Module["_eglInitialize"]=_eglInitialize;_eglInitialize.sig="iiii";function _eglTerminate(display){if(display!=62e3){EGL.setErrorCode(12296);return 0}EGL.currentContext=0;EGL.currentReadSurface=0;EGL.currentDrawSurface=0;EGL.defaultDisplayInitialized=false;EGL.setErrorCode(12288);return 1}Module["_eglTerminate"]=_eglTerminate;_eglTerminate.sig="ii";function _eglGetConfigs(display,configs,config_size,numConfigs){return EGL.chooseConfig(display,0,configs,config_size,numConfigs)}Module["_eglGetConfigs"]=_eglGetConfigs;_eglGetConfigs.sig="iiiii";function _eglChooseConfig(display,attrib_list,configs,config_size,numConfigs){return EGL.chooseConfig(display,attrib_list,configs,config_size,numConfigs)}Module["_eglChooseConfig"]=_eglChooseConfig;_eglChooseConfig.sig="iiiiii";function _eglGetConfigAttrib(display,config,attribute,value){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}if(!value){EGL.setErrorCode(12300);return 0}EGL.setErrorCode(12288);switch(attribute){case 12320:HEAP32[value>>2]=EGL.contextAttributes.alpha?32:24;return 1;case 12321:HEAP32[value>>2]=EGL.contextAttributes.alpha?8:0;return 1;case 12322:HEAP32[value>>2]=8;return 1;case 12323:HEAP32[value>>2]=8;return 1;case 12324:HEAP32[value>>2]=8;return 1;case 12325:HEAP32[value>>2]=EGL.contextAttributes.depth?24:0;return 1;case 12326:HEAP32[value>>2]=EGL.contextAttributes.stencil?8:0;return 1;case 12327:HEAP32[value>>2]=12344;return 1;case 12328:HEAP32[value>>2]=62002;return 1;case 12329:HEAP32[value>>2]=0;return 1;case 12330:HEAP32[value>>2]=4096;return 1;case 12331:HEAP32[value>>2]=16777216;return 1;case 12332:HEAP32[value>>2]=4096;return 1;case 12333:HEAP32[value>>2]=0;return 1;case 12334:HEAP32[value>>2]=0;return 1;case 12335:HEAP32[value>>2]=12344;return 1;case 12337:HEAP32[value>>2]=EGL.contextAttributes.antialias?4:0;return 1;case 12338:HEAP32[value>>2]=EGL.contextAttributes.antialias?1:0;return 1;case 12339:HEAP32[value>>2]=4;return 1;case 12340:HEAP32[value>>2]=12344;return 1;case 12341:case 12342:case 12343:HEAP32[value>>2]=-1;return 1;case 12345:case 12346:HEAP32[value>>2]=0;return 1;case 12347:HEAP32[value>>2]=0;return 1;case 12348:HEAP32[value>>2]=1;return 1;case 12349:case 12350:HEAP32[value>>2]=0;return 1;case 12351:HEAP32[value>>2]=12430;return 1;case 12352:HEAP32[value>>2]=4;return 1;case 12354:HEAP32[value>>2]=0;return 1;default:EGL.setErrorCode(12292);return 0}}Module["_eglGetConfigAttrib"]=_eglGetConfigAttrib;_eglGetConfigAttrib.sig="iiiii";function _eglCreateWindowSurface(display,config,win,attrib_list){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}EGL.setErrorCode(12288);return 62006}Module["_eglCreateWindowSurface"]=_eglCreateWindowSurface;_eglCreateWindowSurface.sig="iiiii";function _eglDestroySurface(display,surface){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(surface!=62006){EGL.setErrorCode(12301);return 1}if(EGL.currentReadSurface==surface){EGL.currentReadSurface=0}if(EGL.currentDrawSurface==surface){EGL.currentDrawSurface=0}EGL.setErrorCode(12288);return 1}Module["_eglDestroySurface"]=_eglDestroySurface;_eglDestroySurface.sig="iii";function _eglCreateContext(display,config,hmm,contextAttribs){if(display!=62e3){EGL.setErrorCode(12296);return 0}var glesContextVersion=1;for(;;){var param=HEAP32[contextAttribs>>2];if(param==12440){glesContextVersion=HEAP32[contextAttribs+4>>2]}else if(param==12344){break}else{EGL.setErrorCode(12292);return 0}contextAttribs+=8}if(glesContextVersion!=2){EGL.setErrorCode(12293);return 0}EGL.contextAttributes.majorVersion=glesContextVersion-1;EGL.contextAttributes.minorVersion=0;EGL.context=GL.createContext(Module["canvas"],EGL.contextAttributes);if(EGL.context!=0){EGL.setErrorCode(12288);GL.makeContextCurrent(EGL.context);Module.useWebGL=true;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});GL.makeContextCurrent(null);return 62004}else{EGL.setErrorCode(12297);return 0}}Module["_eglCreateContext"]=_eglCreateContext;_eglCreateContext.sig="iiiii";function _eglDestroyContext(display,context){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=62004){EGL.setErrorCode(12294);return 0}GL.deleteContext(EGL.context);EGL.setErrorCode(12288);if(EGL.currentContext==context){EGL.currentContext=0}return 1}Module["_eglDestroyContext"]=_eglDestroyContext;_eglDestroyContext.sig="iii";function _eglQuerySurface(display,surface,attribute,value){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(surface!=62006){EGL.setErrorCode(12301);return 0}if(!value){EGL.setErrorCode(12300);return 0}EGL.setErrorCode(12288);switch(attribute){case 12328:HEAP32[value>>2]=62002;return 1;case 12376:return 1;case 12375:HEAP32[value>>2]=Module["canvas"].width;return 1;case 12374:HEAP32[value>>2]=Module["canvas"].height;return 1;case 12432:HEAP32[value>>2]=-1;return 1;case 12433:HEAP32[value>>2]=-1;return 1;case 12434:HEAP32[value>>2]=-1;return 1;case 12422:HEAP32[value>>2]=12420;return 1;case 12441:HEAP32[value>>2]=12442;return 1;case 12435:HEAP32[value>>2]=12437;return 1;case 12416:case 12417:case 12418:case 12419:return 1;default:EGL.setErrorCode(12292);return 0}}Module["_eglQuerySurface"]=_eglQuerySurface;_eglQuerySurface.sig="iiiii";function _eglQueryContext(display,context,attribute,value){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=62004){EGL.setErrorCode(12294);return 0}if(!value){EGL.setErrorCode(12300);return 0}EGL.setErrorCode(12288);switch(attribute){case 12328:HEAP32[value>>2]=62002;return 1;case 12439:HEAP32[value>>2]=12448;return 1;case 12440:HEAP32[value>>2]=EGL.contextAttributes.majorVersion+1;return 1;case 12422:HEAP32[value>>2]=12420;return 1;default:EGL.setErrorCode(12292);return 0}}Module["_eglQueryContext"]=_eglQueryContext;_eglQueryContext.sig="iiiii";function _eglGetError(){return EGL.errorCode}Module["_eglGetError"]=_eglGetError;_eglGetError.sig="i";function _eglQueryString(display,name){if(display!=62e3){EGL.setErrorCode(12296);return 0}EGL.setErrorCode(12288);if(EGL.stringCache[name])return EGL.stringCache[name];var ret;switch(name){case 12371:ret=allocateUTF8("Emscripten");break;case 12372:ret=allocateUTF8("1.4 Emscripten EGL");break;case 12373:ret=allocateUTF8("");break;case 12429:ret=allocateUTF8("OpenGL_ES");break;default:EGL.setErrorCode(12300);return 0}EGL.stringCache[name]=ret;return ret}Module["_eglQueryString"]=_eglQueryString;_eglQueryString.sig="iii";function _eglBindAPI(api){if(api==12448){EGL.setErrorCode(12288);return 1}else{EGL.setErrorCode(12300);return 0}}Module["_eglBindAPI"]=_eglBindAPI;_eglBindAPI.sig="ii";function _eglQueryAPI(){EGL.setErrorCode(12288);return 12448}Module["_eglQueryAPI"]=_eglQueryAPI;_eglQueryAPI.sig="i";function _eglWaitClient(){EGL.setErrorCode(12288);return 1}Module["_eglWaitClient"]=_eglWaitClient;_eglWaitClient.sig="i";function _eglWaitNative(nativeEngineId){EGL.setErrorCode(12288);return 1}Module["_eglWaitNative"]=_eglWaitNative;_eglWaitNative.sig="ii";function _eglWaitGL(){return _eglWaitClient()}Module["_eglWaitGL"]=_eglWaitGL;_eglWaitGL.sig="i";function _eglSwapInterval(display,interval){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(interval==0)_emscripten_set_main_loop_timing(0,0);else _emscripten_set_main_loop_timing(1,interval);EGL.setErrorCode(12288);return 1}Module["_eglSwapInterval"]=_eglSwapInterval;_eglSwapInterval.sig="iii";function _eglMakeCurrent(display,draw,read,context){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=0&&context!=62004){EGL.setErrorCode(12294);return 0}if(read!=0&&read!=62006||draw!=0&&draw!=62006){EGL.setErrorCode(12301);return 0}GL.makeContextCurrent(context?EGL.context:null);EGL.currentContext=context;EGL.currentDrawSurface=draw;EGL.currentReadSurface=read;EGL.setErrorCode(12288);return 1}Module["_eglMakeCurrent"]=_eglMakeCurrent;_eglMakeCurrent.sig="iiiii";function _eglGetCurrentContext(){return EGL.currentContext}Module["_eglGetCurrentContext"]=_eglGetCurrentContext;_eglGetCurrentContext.sig="i";function _eglGetCurrentSurface(readdraw){if(readdraw==12378){return EGL.currentReadSurface}else if(readdraw==12377){return EGL.currentDrawSurface}else{EGL.setErrorCode(12300);return 0}}Module["_eglGetCurrentSurface"]=_eglGetCurrentSurface;_eglGetCurrentSurface.sig="ii";function _eglGetCurrentDisplay(){return EGL.currentContext?62e3:0}Module["_eglGetCurrentDisplay"]=_eglGetCurrentDisplay;_eglGetCurrentDisplay.sig="i";function _eglSwapBuffers(){if(!EGL.defaultDisplayInitialized){EGL.setErrorCode(12289)}else if(!Module.ctx){EGL.setErrorCode(12290)}else if(Module.ctx.isContextLost()){EGL.setErrorCode(12302)}else{EGL.setErrorCode(12288);return 1}return 0}Module["_eglSwapBuffers"]=_eglSwapBuffers;_eglSwapBuffers.sig="iii";function _eglReleaseThread(){EGL.currentContext=0;EGL.currentReadSurface=0;EGL.currentDrawSurface=0;EGL.setErrorCode(12288);return 1}Module["_eglReleaseThread"]=_eglReleaseThread;_eglReleaseThread.sig="i";var GLFW={WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256+1;case 112:return 256+2;case 113:return 256+3;case 114:return 256+4;case 115:return 256+5;case 116:return 256+6;case 117:return 256+7;case 118:return 256+8;case 119:return 256+9;case 120:return 256+10;case 121:return 256+11;case 122:return 256+12;case 123:return 256+13;case 124:return 256+14;case 125:return 256+15;case 126:return 256+16;case 127:return 256+17;case 128:return 256+18;case 129:return 256+19;case 130:return 256+20;case 131:return 256+21;case 132:return 256+22;case 133:return 256+23;case 134:return 256+24;case 135:return 256+25;case 136:return 256+26;case 39:return 256+30;case 37:return 256+29;case 40:return 256+28;case 38:return 256+27;case 16:return 256+31;case 17:return 256+33;case 18:return 256+35;case 9:return 256+37;case 13:return 256+38;case 8:return 256+39;case 45:return 256+40;case 46:return 256+41;case 33:return 256+42;case 34:return 256+43;case 36:return 256+44;case 35:return 256+45;case 96:return 256+46;case 97:return 256+47;case 98:return 256+48;case 99:return 256+49;case 100:return 256+50;case 101:return 256+51;case 102:return 256+52;case 103:return 256+53;case 104:return 256+54;case 105:return 256+55;case 111:return 256+56;case 106:return 256+57;case 109:return 256+58;case 107:return 256+59;case 110:return 256+60;case 144:return 256+63;case 20:return 256+64;case 145:return 256+65;case 19:return 256+66;case 91:return 256+67;case 93:return 256+69;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;wasmTable.get(GLFW.active.charFunc)(charCode,1)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;wasmTable.get(GLFW.active.keyFunc)(key,status)},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i<GLFW.active.domKeys.length;++i){if(GLFW.active.domKeys[i]){GLFW.onKeyChanged(i,0)}}},onMousemove:function(event){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"]||!GLFW.active.cursorPosFunc)return;wasmTable.get(GLFW.active.cursorPosFunc)(Browser.mouseX,Browser.mouseY)},DOMToGLFWMouseButton:function(event){var eventButton=event["button"];if(eventButton>0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<<eventButton;try{event.target.setCapture()}catch(e){}}else{GLFW.active.buttons&=~(1<<eventButton)}if(!GLFW.active.mouseButtonFunc)return;wasmTable.get(GLFW.active.mouseButtonFunc)(eventButton,status)},onMouseButtonDown:function(event){if(!GLFW.active)return;GLFW.onMouseButtonChanged(event,1)},onMouseButtonUp:function(event){if(!GLFW.active)return;GLFW.onMouseButtonChanged(event,0)},onMouseWheel:function(event){var delta=-Browser.getMouseWheelDelta(event);delta=delta==0?0:delta>0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;wasmTable.get(GLFW.active.scrollFunc)(GLFW.wheelPos);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;wasmTable.get(GLFW.active.windowSizeFunc)(GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy<GLFW.lastGamepadState.length;++joy){var gamepad=GLFW.lastGamepadState[joy];if(gamepad){if(!GLFW.joys[joy]){out("glfw joystick connected:",joy);GLFW.joys[joy]={id:allocate(intArrayFromString(gamepad.id),ALLOC_NORMAL),buttonsCount:gamepad.buttons.length,axesCount:gamepad.axes.length,buttons:allocate(new Array(gamepad.buttons.length),ALLOC_NORMAL),axes:allocate(new Array(gamepad.axes.length*4),ALLOC_NORMAL)};if(GLFW.joystickFunc){wasmTable.get(GLFW.joystickFunc)(joy,262145)}}var data=GLFW.joys[joy];for(var i=0;i<gamepad.buttons.length;++i){setValue(data.buttons+i,gamepad.buttons[i].pressed,"i8")}for(var i=0;i<gamepad.axes.length;++i){setValue(data.axes+i*4,gamepad.axes[i],"float")}}else{if(GLFW.joys[joy]){out("glfw joystick disconnected",joy);if(GLFW.joystickFunc){wasmTable.get(GLFW.joystickFunc)(joy,262146)}_free(GLFW.joys[joy].id);_free(GLFW.joys[joy].buttons);_free(GLFW.joys[joy].axes);delete GLFW.joys[joy]}}}}},setKeyCallback:function(winid,cbfun){var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.keyFunc;win.keyFunc=cbfun;return prevcbfun},setCharCallback:function(winid,cbfun){var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.charFunc;win.charFunc=cbfun;return prevcbfun},setMouseButtonCallback:function(winid,cbfun){var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.mouseButtonFunc;win.mouseButtonFunc=cbfun;return prevcbfun},setCursorPosCallback:function(winid,cbfun){var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.cursorPosFunc;win.cursorPosFunc=cbfun;return prevcbfun},setScrollCallback:function(winid,cbfun){var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.scrollFunc;win.scrollFunc=cbfun;return prevcbfun},setDropCallback:function(winid,cbfun){var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.dropFunc;win.dropFunc=cbfun;return prevcbfun},onDrop:function(event){if(!GLFW.active||!GLFW.active.dropFunc)return;if(!event.dataTransfer||!event.dataTransfer.files||event.dataTransfer.files.length==0)return;event.preventDefault();var filenames=allocate(new Array(event.dataTransfer.files.length*4),ALLOC_NORMAL);var filenamesArray=[];var count=event.dataTransfer.files.length;var written=0;var drop_dir=".glfw_dropped_files";FS.createPath("/",drop_dir);function save(file){var path="/"+drop_dir+"/"+file.name.replace(/\//g,"_");var reader=new FileReader;reader.onloadend=function(e){if(reader.readyState!=2){++written;out("failed to read dropped file: "+file.name+": "+reader.error);return}var data=e.target.result;FS.writeFile(path,new Uint8Array(data));if(++written===count){wasmTable.get(GLFW.active.dropFunc)(GLFW.active.id,count,filenames);for(var i=0;i<filenamesArray.length;++i){_free(filenamesArray[i])}_free(filenames)}};reader.readAsArrayBuffer(file);var filename=allocate(intArrayFromString(path),ALLOC_NORMAL);filenamesArray.push(filename);setValue(filenames+i*4,filename,"i8*")}for(var i=0;i<count;++i){save(event.dataTransfer.files[i])}return false},onDragover:function(event){if(!GLFW.active||!GLFW.active.dropFunc)return;event.preventDefault();return false},setWindowSizeCallback:function(winid,cbfun){var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.windowSizeFunc;win.windowSizeFunc=cbfun;if(!win.windowSizeFunc)return null;wasmTable.get(win.windowSizeFunc)(win.width,win.height);return prevcbfun},setWindowCloseCallback:function(winid,cbfun){var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.windowCloseFunc;win.windowCloseFunc=cbfun;return prevcbfun},setWindowRefreshCallback:function(winid,cbfun){var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.windowRefreshFunc;win.windowRefreshFunc=cbfun;return prevcbfun},onClickRequestPointerLock:function(e){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();e.preventDefault()}},setInputMode:function(winid,mode,value){var win=GLFW.WindowFromId(winid);if(!win)return;switch(mode){case 208897:{switch(value){case 212993:{win.inputModes[mode]=value;Module["canvas"].removeEventListener("click",GLFW.onClickRequestPointerLock,true);Module["canvas"].exitPointerLock();break}case 212994:{out("glfwSetInputMode called with GLFW_CURSOR_HIDDEN value not implemented.");break}case 212995:{win.inputModes[mode]=value;Module["canvas"].addEventListener("click",GLFW.onClickRequestPointerLock,true);Module["canvas"].requestPointerLock();break}default:{out("glfwSetInputMode called with unknown value parameter value: "+value+".");break}}break}case 208898:{out("glfwSetInputMode called with GLFW_STICKY_KEYS mode not implemented.");break}case 208899:{out("glfwSetInputMode called with GLFW_STICKY_MOUSE_BUTTONS mode not implemented.");break}default:{out("glfwSetInputMode called with unknown mode parameter value: "+mode+".");break}}},getKey:function(winid,key){var win=GLFW.WindowFromId(winid);if(!win)return 0;return win.keys[key]},getMouseButton:function(winid,button){var win=GLFW.WindowFromId(winid);if(!win)return 0;return(win.buttons&1<<button)>0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}if(x){setValue(x,wx,"i32")}if(y){setValue(y,wy,"i32")}},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}if(width){setValue(width,ww,"i32")}if(height){setValue(height,wh,"i32")}},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){Browser.requestFullscreen()}else{Browser.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;wasmTable.get(win.windowSizeFunc)(width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i<GLFW.windows.length&&GLFW.windows[i]!==null;i++){}if(i>0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){Browser.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i<GLFW.windows.length&&GLFW.windows[i]==null;i++){}var useWebGL=GLFW.hints[139265]>0;if(i==GLFW.windows.length){if(useWebGL){var contextAttributes={antialias:GLFW.hints[135181]>1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}else{Browser.init()}}if(!Module.ctx&&useWebGL)return 0;var win=new GLFW_Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i<GLFW.windows.length;i++)if(GLFW.windows[i]!==null)return;Module.ctx=Browser.destroyContext(Module["canvas"],true,true)},swapBuffers:function(winid){},GLFW2ParamToGLFW3Param:function(param){var table={196609:0,196610:0,196611:0,196612:0,196613:0,196614:0,131073:0,131074:0,131075:0,131076:0,131077:135169,131078:135170,131079:135171,131080:135172,131081:135173,131082:135174,131083:135183,131084:135175,131085:135176,131086:135177,131087:135178,131088:135179,131089:135180,131090:0,131091:135181,131092:139266,131093:139267,131094:139270,131095:139271,131096:139272};return table[param]}};Module["GLFW"]=GLFW;function GLFW_Window(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null}Module["GLFW_Window"]=GLFW_Window;function _glfwInit(){if(GLFW.windows)return 1;GLFW.initialTime=GLFW.getTime();GLFW.hints=GLFW.defaultHints;GLFW.windows=new Array;GLFW.active=null;window.addEventListener("gamepadconnected",GLFW.onGamepadConnected,true);window.addEventListener("gamepaddisconnected",GLFW.onGamepadDisconnected,true);window.addEventListener("keydown",GLFW.onKeydown,true);window.addEventListener("keypress",GLFW.onKeyPress,true);window.addEventListener("keyup",GLFW.onKeyup,true);window.addEventListener("blur",GLFW.onBlur,true);Module["canvas"].addEventListener("touchmove",GLFW.onMousemove,true);Module["canvas"].addEventListener("touchstart",GLFW.onMouseButtonDown,true);Module["canvas"].addEventListener("touchcancel",GLFW.onMouseButtonUp,true);Module["canvas"].addEventListener("touchend",GLFW.onMouseButtonUp,true);Module["canvas"].addEventListener("mousemove",GLFW.onMousemove,true);Module["canvas"].addEventListener("mousedown",GLFW.onMouseButtonDown,true);Module["canvas"].addEventListener("mouseup",GLFW.onMouseButtonUp,true);Module["canvas"].addEventListener("wheel",GLFW.onMouseWheel,true);Module["canvas"].addEventListener("mousewheel",GLFW.onMouseWheel,true);Module["canvas"].addEventListener("mouseenter",GLFW.onMouseenter,true);Module["canvas"].addEventListener("mouseleave",GLFW.onMouseleave,true);Module["canvas"].addEventListener("drop",GLFW.onDrop,true);Module["canvas"].addEventListener("dragover",GLFW.onDragover,true);Browser.resizeListeners.push(function(width,height){GLFW.onCanvasResize(width,height)});return 1}Module["_glfwInit"]=_glfwInit;_glfwInit.sig="i";function _glfwTerminate(){window.removeEventListener("gamepadconnected",GLFW.onGamepadConnected,true);window.removeEventListener("gamepaddisconnected",GLFW.onGamepadDisconnected,true);window.removeEventListener("keydown",GLFW.onKeydown,true);window.removeEventListener("keypress",GLFW.onKeyPress,true);window.removeEventListener("keyup",GLFW.onKeyup,true);window.removeEventListener("blur",GLFW.onBlur,true);Module["canvas"].removeEventListener("touchmove",GLFW.onMousemove,true);Module["canvas"].removeEventListener("touchstart",GLFW.onMouseButtonDown,true);Module["canvas"].removeEventListener("touchcancel",GLFW.onMouseButtonUp,true);Module["canvas"].removeEventListener("touchend",GLFW.onMouseButtonUp,true);Module["canvas"].removeEventListener("mousemove",GLFW.onMousemove,true);Module["canvas"].removeEventListener("mousedown",GLFW.onMouseButtonDown,true);Module["canvas"].removeEventListener("mouseup",GLFW.onMouseButtonUp,true);Module["canvas"].removeEventListener("wheel",GLFW.onMouseWheel,true);Module["canvas"].removeEventListener("mousewheel",GLFW.onMouseWheel,true);Module["canvas"].removeEventListener("mouseenter",GLFW.onMouseenter,true);Module["canvas"].removeEventListener("mouseleave",GLFW.onMouseleave,true);Module["canvas"].removeEventListener("drop",GLFW.onDrop,true);Module["canvas"].removeEventListener("dragover",GLFW.onDragover,true);Module["canvas"].width=Module["canvas"].height=1;GLFW.windows=null;GLFW.active=null}Module["_glfwTerminate"]=_glfwTerminate;_glfwTerminate.sig="v";function _glfwGetVersion(major,minor,rev){setValue(major,2,"i32");setValue(minor,7,"i32");setValue(rev,7,"i32")}Module["_glfwGetVersion"]=_glfwGetVersion;_glfwGetVersion.sig="viii";function _glfwPollEvents(){}Module["_glfwPollEvents"]=_glfwPollEvents;_glfwPollEvents.sig="v";function _glfwWaitEvents(){}Module["_glfwWaitEvents"]=_glfwWaitEvents;_glfwWaitEvents.sig="v";function _glfwGetTime(){return GLFW.getTime()-GLFW.initialTime}Module["_glfwGetTime"]=_glfwGetTime;_glfwGetTime.sig="d";function _glfwSetTime(time){GLFW.initialTime=GLFW.getTime()-time}Module["_glfwSetTime"]=_glfwSetTime;_glfwSetTime.sig="vd";function _glfwExtensionSupported(extension){if(!GLFW.extensions){GLFW.extensions=UTF8ToString(_glGetString(7939)).split(" ")}if(GLFW.extensions.includes(extension))return 1;return GLFW.extensions.includes("GL_"+extension)}Module["_glfwExtensionSupported"]=_glfwExtensionSupported;_glfwExtensionSupported.sig="ii";function _glfwSwapInterval(interval){interval=Math.abs(interval);if(interval==0)_emscripten_set_main_loop_timing(0,0);else _emscripten_set_main_loop_timing(1,interval)}Module["_glfwSwapInterval"]=_glfwSwapInterval;_glfwSwapInterval.sig="vi";function _glfwOpenWindow(width,height,redbits,greenbits,bluebits,alphabits,depthbits,stencilbits,mode){GLFW.hints[135169]=redbits;GLFW.hints[135170]=greenbits;GLFW.hints[135171]=bluebits;GLFW.hints[135172]=alphabits;GLFW.hints[135173]=depthbits;GLFW.hints[135174]=stencilbits;GLFW.createWindow(width,height,"GLFW2 Window",0,0);return 1}Module["_glfwOpenWindow"]=_glfwOpenWindow;function _glfwCloseWindow(){GLFW.destroyWindow(GLFW.active.id)}Module["_glfwCloseWindow"]=_glfwCloseWindow;function _glfwOpenWindowHint(target,hint){target=GLFW.GLFW2ParamToGLFW3Param(target);GLFW.hints[target]=hint}Module["_glfwOpenWindowHint"]=_glfwOpenWindowHint;function _glfwGetWindowSize(width,height){GLFW.getWindowSize(GLFW.active.id,width,height)}Module["_glfwGetWindowSize"]=_glfwGetWindowSize;function _glfwSetWindowSize(width,height){GLFW.setWindowSize(GLFW.active.id,width,height)}Module["_glfwSetWindowSize"]=_glfwSetWindowSize;function _glfwGetWindowPos(x,y){GLFW.getWindowPos(GLFW.active.id,x,y)}Module["_glfwGetWindowPos"]=_glfwGetWindowPos;function _glfwSetWindowPos(x,y){GLFW.setWindowPos(GLFW.active.id,x,y)}Module["_glfwSetWindowPos"]=_glfwSetWindowPos;function _glfwSetWindowTitle(title){GLFW.setWindowTitle(GLFW.active.id,title)}Module["_glfwSetWindowTitle"]=_glfwSetWindowTitle;function _glfwIconifyWindow(){}Module["_glfwIconifyWindow"]=_glfwIconifyWindow;function _glfwRestoreWindow(){}Module["_glfwRestoreWindow"]=_glfwRestoreWindow;function _glfwSwapBuffers(){GLFW.swapBuffers(GLFW.active.id)}Module["_glfwSwapBuffers"]=_glfwSwapBuffers;function _glfwGetWindowParam(param){param=GLFW.GLFW2ParamToGLFW3Param(param);return GLFW.hints[param]}Module["_glfwGetWindowParam"]=_glfwGetWindowParam;function _glfwSetWindowSizeCallback(cbfun){GLFW.setWindowSizeCallback(GLFW.active.id,cbfun)}Module["_glfwSetWindowSizeCallback"]=_glfwSetWindowSizeCallback;function _glfwSetWindowCloseCallback(cbfun){GLFW.setWindowCloseCallback(GLFW.active.id,cbfun)}Module["_glfwSetWindowCloseCallback"]=_glfwSetWindowCloseCallback;function _glfwSetWindowRefreshCallback(cbfun){GLFW.setWindowRefreshCallback(GLFW.active.id,cbfun)}Module["_glfwSetWindowRefreshCallback"]=_glfwSetWindowRefreshCallback;function _glfwGetKey(key){return GLFW.getKey(GLFW.active.id,key)}Module["_glfwGetKey"]=_glfwGetKey;function _glfwGetMouseButton(button){return GLFW.getMouseButton(GLFW.active.id,button)}Module["_glfwGetMouseButton"]=_glfwGetMouseButton;function _glfwGetMousePos(x,y){GLFW.getMousePos(GLFW.active.id,x,y)}Module["_glfwGetMousePos"]=_glfwGetMousePos;function _glfwSetMousePos(x,y){GLFW.setCursorPos(GLFW.active.id,x,y)}Module["_glfwSetMousePos"]=_glfwSetMousePos;function _glfwGetMouseWheel(){return 0}Module["_glfwGetMouseWheel"]=_glfwGetMouseWheel;function _glfwSetMouseWheel(pos){}Module["_glfwSetMouseWheel"]=_glfwSetMouseWheel;function _glfwSetKeyCallback(cbfun){GLFW.setKeyCallback(GLFW.active.id,cbfun)}Module["_glfwSetKeyCallback"]=_glfwSetKeyCallback;function _glfwSetCharCallback(cbfun){GLFW.setCharCallback(GLFW.active.id,cbfun)}Module["_glfwSetCharCallback"]=_glfwSetCharCallback;function _glfwSetMouseButtonCallback(cbfun){GLFW.setMouseButtonCallback(GLFW.active.id,cbfun)}Module["_glfwSetMouseButtonCallback"]=_glfwSetMouseButtonCallback;function _glfwSetMousePosCallback(cbfun){GLFW.setCursorPosCallback(GLFW.active.id,cbfun)}Module["_glfwSetMousePosCallback"]=_glfwSetMousePosCallback;function _glfwSetMouseWheelCallback(cbfun){GLFW.setScrollCallback(GLFW.active.id,cbfun)}Module["_glfwSetMouseWheelCallback"]=_glfwSetMouseWheelCallback;function _glfwGetDesktopMode(mode){throw"glfwGetDesktopMode is not implemented."}Module["_glfwGetDesktopMode"]=_glfwGetDesktopMode;function _glfwSleep(time){_sleep(time)}Module["_glfwSleep"]=_glfwSleep;function _glfwEnable(target){target=GLFW.GLFW2ParamToGLFW3Param(target);GLFW.hints[target]=false}Module["_glfwEnable"]=_glfwEnable;function _glfwDisable(target){target=GLFW.GLFW2ParamToGLFW3Param(target);GLFW.hints[target]=true}Module["_glfwDisable"]=_glfwDisable;function _glfwGetGLVersion(major,minor,rev){setValue(major,0,"i32");setValue(minor,0,"i32");setValue(rev,1,"i32")}Module["_glfwGetGLVersion"]=_glfwGetGLVersion;function _glfwCreateThread(fun,arg){wasmTable.get(fun)(arg);return 0}Module["_glfwCreateThread"]=_glfwCreateThread;function _glfwDestroyThread(ID){}Module["_glfwDestroyThread"]=_glfwDestroyThread;function _glfwWaitThread(ID,waitmode){}Module["_glfwWaitThread"]=_glfwWaitThread;function _glfwGetThreadID(){return 0}Module["_glfwGetThreadID"]=_glfwGetThreadID;function _glfwCreateMutex(){throw"glfwCreateMutex is not implemented."}Module["_glfwCreateMutex"]=_glfwCreateMutex;function _glfwDestroyMutex(mutex){throw"glfwDestroyMutex is not implemented."}Module["_glfwDestroyMutex"]=_glfwDestroyMutex;function _glfwLockMutex(mutex){throw"glfwLockMutex is not implemented."}Module["_glfwLockMutex"]=_glfwLockMutex;function _glfwUnlockMutex(mutex){throw"glfwUnlockMutex is not implemented."}Module["_glfwUnlockMutex"]=_glfwUnlockMutex;function _glfwCreateCond(){throw"glfwCreateCond is not implemented."}Module["_glfwCreateCond"]=_glfwCreateCond;function _glfwDestroyCond(cond){throw"glfwDestroyCond is not implemented."}Module["_glfwDestroyCond"]=_glfwDestroyCond;function _glfwWaitCond(cond,mutex,timeout){throw"glfwWaitCond is not implemented."}Module["_glfwWaitCond"]=_glfwWaitCond;function _glfwSignalCond(cond){throw"glfwSignalCond is not implemented."}Module["_glfwSignalCond"]=_glfwSignalCond;function _glfwBroadcastCond(cond){throw"glfwBroadcastCond is not implemented."}Module["_glfwBroadcastCond"]=_glfwBroadcastCond;function _glfwGetNumberOfProcessors(){return 1}Module["_glfwGetNumberOfProcessors"]=_glfwGetNumberOfProcessors;function _glfwReadImage(name,img,flags){throw"glfwReadImage is not implemented."}Module["_glfwReadImage"]=_glfwReadImage;function _glfwReadMemoryImage(data,size,img,flags){throw"glfwReadMemoryImage is not implemented."}Module["_glfwReadMemoryImage"]=_glfwReadMemoryImage;function _glfwFreeImage(img){throw"glfwFreeImage is not implemented."}Module["_glfwFreeImage"]=_glfwFreeImage;function _glfwLoadTexture2D(name,flags){throw"glfwLoadTexture2D is not implemented."}Module["_glfwLoadTexture2D"]=_glfwLoadTexture2D;function _glfwLoadMemoryTexture2D(data,size,flags){throw"glfwLoadMemoryTexture2D is not implemented."}Module["_glfwLoadMemoryTexture2D"]=_glfwLoadMemoryTexture2D;function _glfwLoadTextureImage2D(img,flags){throw"glfwLoadTextureImage2D is not implemented."}Module["_glfwLoadTextureImage2D"]=_glfwLoadTextureImage2D;function _uuid_clear(uu){zeroMemory(uu,16)}Module["_uuid_clear"]=_uuid_clear;function _uuid_compare(uu1,uu2){return _memcmp(uu1,uu2,16)}Module["_uuid_compare"]=_uuid_compare;function _uuid_copy(dst,src){_memcpy(dst,src,16)}Module["_uuid_copy"]=_uuid_copy;function _uuid_generate(out){var uuid=null;if(ENVIRONMENT_IS_NODE){try{var rb=require("crypto")["randomBytes"];uuid=rb(16)}catch(e){}}else if(ENVIRONMENT_IS_WEB&&typeof window.crypto!=="undefined"&&typeof window.crypto.getRandomValues!=="undefined"){uuid=new Uint8Array(16);window.crypto.getRandomValues(uuid)}if(!uuid){uuid=new Array(16);var d=(new Date).getTime();for(var i=0;i<16;i++){var r=(d+Math.random()*256)%256|0;d=d/256|0;uuid[i]=r}}uuid[6]=uuid[6]&15|64;uuid[8]=uuid[8]&63|128;writeArrayToMemory(uuid,out)}Module["_uuid_generate"]=_uuid_generate;function _uuid_is_null(uu){for(var i=0;i<4;i++,uu=uu+4|0){var val=HEAP32[uu>>2];if(val){return 0}}return 1}Module["_uuid_is_null"]=_uuid_is_null;function _uuid_parse(inp,uu){inp=UTF8ToString(inp);if(inp.length===36){var i=0;var uuid=new Array(16);inp.toLowerCase().replace(/[0-9a-f]{2}/g,function(byte){if(i<16){uuid[i++]=parseInt(byte,16)}});if(i<16){return-1}else{writeArrayToMemory(uuid,uu);return 0}}else{return-1}}Module["_uuid_parse"]=_uuid_parse;function _uuid_unparse(uu,out,upper){var i=0;var uuid="xxxx-xx-xx-xx-xxxxxx".replace(/[x]/g,function(c){var r=upper?HEAPU8[uu+i>>0].toString(16).toUpperCase():HEAPU8[uu+i>>0].toString(16);r=r.length===1?"0"+r:r;i++;return r});stringToUTF8(uuid,out,37)}Module["_uuid_unparse"]=_uuid_unparse;function _uuid_unparse_lower(uu,out){_uuid_unparse(uu,out)}Module["_uuid_unparse_lower"]=_uuid_unparse_lower;function _uuid_unparse_upper(uu,out){_uuid_unparse(uu,out,true)}Module["_uuid_unparse_upper"]=_uuid_unparse_upper;function _uuid_type(uu){return 4}Module["_uuid_type"]=_uuid_type;function _uuid_variant(uu){return 1}Module["_uuid_variant"]=_uuid_variant;var GLEW={isLinaroFork:1,extensions:null,error:{0:null,1:null,2:null,3:null,4:null,5:null,6:null,7:null,8:null},version:{1:null,2:null,3:null,4:null},errorStringConstantFromCode:function(error){if(GLEW.isLinaroFork){switch(error){case 4:return"OpenGL ES lib expected, found OpenGL lib";case 5:return"OpenGL lib expected, found OpenGL ES lib";case 6:return"Missing EGL version";case 7:return"EGL 1.1 and up are supported";default:break}}switch(error){case 0:return"No error";case 1:return"Missing GL version";case 2:return"GL 1.1 and up are supported";case 3:return"GLX 1.2 and up are supported";default:return null}},errorString:function(error){if(!GLEW.error[error]){var string=GLEW.errorStringConstantFromCode(error);if(!string){string="Unknown error";error=8}GLEW.error[error]=allocate(intArrayFromString(string),ALLOC_NORMAL)}return GLEW.error[error]},versionStringConstantFromCode:function(name){switch(name){case 1:return"1.10.0";case 2:return"1";case 3:return"10";case 4:return"0";default:return null}},versionString:function(name){if(!GLEW.version[name]){var string=GLEW.versionStringConstantFromCode(name);if(!string)return 0;GLEW.version[name]=allocate(intArrayFromString(string),ALLOC_NORMAL)}return GLEW.version[name]},extensionIsSupported:function(name){if(!GLEW.extensions){GLEW.extensions=UTF8ToString(_glGetString(7939)).split(" ")}if(GLEW.extensions.includes(name))return 1;return GLEW.extensions.includes("GL_"+name)}};Module["GLEW"]=GLEW;function _glewInit(){return 0}Module["_glewInit"]=_glewInit;function _glewIsSupported(name){var exts=UTF8ToString(name).split(" ");for(var i=0;i<exts.length;++i){if(!GLEW.extensionIsSupported(exts[i]))return 0}return 1}Module["_glewIsSupported"]=_glewIsSupported;function _glewGetExtension(name){return GLEW.extensionIsSupported(UTF8ToString(name))}Module["_glewGetExtension"]=_glewGetExtension;function _glewGetErrorString(error){return GLEW.errorString(error)}Module["_glewGetErrorString"]=_glewGetErrorString;_glewGetErrorString.sig="ii";function _glewGetString(name){return GLEW.versionString(name)}Module["_glewGetString"]=_glewGetString;var IDBStore={indexedDB:function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBStore used, but indexedDB not supported");return ret},DB_VERSION:22,DB_STORE_NAME:"FILE_DATA",dbs:{},blobs:[0],getDB:function(name,callback){var db=IDBStore.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBStore.indexedDB().open(name,IDBStore.DB_VERSION)}catch(e){return callback(e)}req.onupgradeneeded=function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBStore.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBStore.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBStore.DB_STORE_NAME)}};req.onsuccess=function(){db=req.result;IDBStore.dbs[name]=db;callback(null,db)};req.onerror=function(e){callback(this.error);e.preventDefault()}},getStore:function(dbName,type,callback){IDBStore.getDB(dbName,function(error,db){if(error)return callback(error);var transaction=db.transaction([IDBStore.DB_STORE_NAME],type);transaction.onerror=function(e){callback(this.error||"unknown error");e.preventDefault()};var store=transaction.objectStore(IDBStore.DB_STORE_NAME);callback(null,store)})},getFile:function(dbName,id,callback){IDBStore.getStore(dbName,"readonly",function(err,store){if(err)return callback(err);var req=store.get(id);req.onsuccess=function(event){var result=event.target.result;if(!result){return callback("file "+id+" not found")}else{return callback(null,result)}};req.onerror=function(error){callback(error)}})},setFile:function(dbName,id,data,callback){IDBStore.getStore(dbName,"readwrite",function(err,store){if(err)return callback(err);var req=store.put(data,id);req.onsuccess=function(event){callback()};req.onerror=function(error){callback(error)}})},deleteFile:function(dbName,id,callback){IDBStore.getStore(dbName,"readwrite",function(err,store){if(err)return callback(err);var req=store.delete(id);req.onsuccess=function(event){callback()};req.onerror=function(error){callback(error)}})},existsFile:function(dbName,id,callback){IDBStore.getStore(dbName,"readonly",function(err,store){if(err)return callback(err);var req=store.count(id);req.onsuccess=function(event){callback(null,event.target.result>0)};req.onerror=function(error){callback(error)}})}};Module["IDBStore"]=IDBStore;function _emscripten_idb_async_load(db,id,arg,onload,onerror){IDBStore.getFile(UTF8ToString(db),UTF8ToString(id),function(error,byteArray){if(error){if(onerror)wasmTable.get(onerror)(arg);return}var buffer=_malloc(byteArray.length);HEAPU8.set(byteArray,buffer);wasmTable.get(onload)(arg,buffer,byteArray.length);_free(buffer)})}Module["_emscripten_idb_async_load"]=_emscripten_idb_async_load;function _emscripten_idb_async_store(db,id,ptr,num,arg,onstore,onerror){IDBStore.setFile(UTF8ToString(db),UTF8ToString(id),new Uint8Array(HEAPU8.subarray(ptr,ptr+num)),function(error){if(error){if(onerror)wasmTable.get(onerror)(arg);return}if(onstore)wasmTable.get(onstore)(arg)})}Module["_emscripten_idb_async_store"]=_emscripten_idb_async_store;function _emscripten_idb_async_delete(db,id,arg,ondelete,onerror){IDBStore.deleteFile(UTF8ToString(db),UTF8ToString(id),function(error){if(error){if(onerror)wasmTable.get(onerror)(arg);return}if(ondelete)wasmTable.get(ondelete)(arg)})}Module["_emscripten_idb_async_delete"]=_emscripten_idb_async_delete;function _emscripten_idb_async_exists(db,id,arg,oncheck,onerror){IDBStore.existsFile(UTF8ToString(db),UTF8ToString(id),function(error,exists){if(error){if(onerror)wasmTable.get(onerror)(arg);return}if(oncheck)wasmTable.get(oncheck)(arg,exists)})}Module["_emscripten_idb_async_exists"]=_emscripten_idb_async_exists;function _emscripten_idb_load(){throw"Please compile your program with async support in order to use synchronous operations like emscripten_idb_load, etc."}Module["_emscripten_idb_load"]=_emscripten_idb_load;function _emscripten_idb_store(){throw"Please compile your program with async support in order to use synchronous operations like emscripten_idb_store, etc."}Module["_emscripten_idb_store"]=_emscripten_idb_store;function _emscripten_idb_delete(){throw"Please compile your program with async support in order to use synchronous operations like emscripten_idb_delete, etc."}Module["_emscripten_idb_delete"]=_emscripten_idb_delete;function _emscripten_idb_exists(){throw"Please compile your program with async support in order to use synchronous operations like emscripten_idb_exists, etc."}Module["_emscripten_idb_exists"]=_emscripten_idb_exists;function runAndAbortIfError(func){try{return func()}catch(e){abort(e)}}Module["runAndAbortIfError"]=runAndAbortIfError;function _emscripten_sleep(){throw"Please compile your program with async support in order to use asynchronous operations like emscripten_sleep"}Module["_emscripten_sleep"]=_emscripten_sleep;function _emscripten_wget(){throw"Please compile your program with async support in order to use asynchronous operations like emscripten_wget"}Module["_emscripten_wget"]=_emscripten_wget;function _emscripten_wget_data(){throw"Please compile your program with async support in order to use asynchronous operations like emscripten_wget_data"}Module["_emscripten_wget_data"]=_emscripten_wget_data;function _emscripten_scan_registers(){throw"Please compile your program with async support in order to use asynchronous operations like emscripten_scan_registers"}Module["_emscripten_scan_registers"]=_emscripten_scan_registers;function _emscripten_fiber_init(){throw"Please compile your program with async support in order to use asynchronous operations like emscripten_fiber_init"}Module["_emscripten_fiber_init"]=_emscripten_fiber_init;function _emscripten_fiber_init_from_current_context(){throw"Please compile your program with async support in order to use asynchronous operations like emscripten_fiber_init_from_current_context"}Module["_emscripten_fiber_init_from_current_context"]=_emscripten_fiber_init_from_current_context;function _emscripten_fiber_swap(){throw"Please compile your program with async support in order to use asynchronous operations like emscripten_fiber_swap"}Module["_emscripten_fiber_swap"]=_emscripten_fiber_swap;function _emscripten_is_main_browser_thread(){return!ENVIRONMENT_IS_WORKER}Module["_emscripten_is_main_browser_thread"]=_emscripten_is_main_browser_thread;function ___cxa_thread_atexit(a0,a1){return _atexit(a0,a1)}Module["___cxa_thread_atexit"]=___cxa_thread_atexit;___cxa_thread_atexit.sig="iii";function ___cxa_thread_atexit_impl(a0,a1){return _atexit(a0,a1)}Module["___cxa_thread_atexit_impl"]=___cxa_thread_atexit_impl;___cxa_thread_atexit_impl.sig="iii";Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}ERRNO_CODES={"EPERM":63,"ENOENT":44,"ESRCH":71,"EINTR":27,"EIO":29,"ENXIO":60,"E2BIG":1,"ENOEXEC":45,"EBADF":8,"ECHILD":12,"EAGAIN":6,"EWOULDBLOCK":6,"ENOMEM":48,"EACCES":2,"EFAULT":21,"ENOTBLK":105,"EBUSY":10,"EEXIST":20,"EXDEV":75,"ENODEV":43,"ENOTDIR":54,"EISDIR":31,"EINVAL":28,"ENFILE":41,"EMFILE":33,"ENOTTY":59,"ETXTBSY":74,"EFBIG":22,"ENOSPC":51,"ESPIPE":70,"EROFS":69,"EMLINK":34,"EPIPE":64,"EDOM":18,"ERANGE":68,"ENOMSG":49,"EIDRM":24,"ECHRNG":106,"EL2NSYNC":156,"EL3HLT":107,"EL3RST":108,"ELNRNG":109,"EUNATCH":110,"ENOCSI":111,"EL2HLT":112,"EDEADLK":16,"ENOLCK":46,"EBADE":113,"EBADR":114,"EXFULL":115,"ENOANO":104,"EBADRQC":103,"EBADSLT":102,"EDEADLOCK":16,"EBFONT":101,"ENOSTR":100,"ENODATA":116,"ETIME":117,"ENOSR":118,"ENONET":119,"ENOPKG":120,"EREMOTE":121,"ENOLINK":47,"EADV":122,"ESRMNT":123,"ECOMM":124,"EPROTO":65,"EMULTIHOP":36,"EDOTDOT":125,"EBADMSG":9,"ENOTUNIQ":126,"EBADFD":127,"EREMCHG":128,"ELIBACC":129,"ELIBBAD":130,"ELIBSCN":131,"ELIBMAX":132,"ELIBEXEC":133,"ENOSYS":52,"ENOTEMPTY":55,"ENAMETOOLONG":37,"ELOOP":32,"EOPNOTSUPP":138,"EPFNOSUPPORT":139,"ECONNRESET":15,"ENOBUFS":42,"EAFNOSUPPORT":5,"EPROTOTYPE":67,"ENOTSOCK":57,"ENOPROTOOPT":50,"ESHUTDOWN":140,"ECONNREFUSED":14,"EADDRINUSE":3,"ECONNABORTED":13,"ENETUNREACH":40,"ENETDOWN":38,"ETIMEDOUT":73,"EHOSTDOWN":142,"EHOSTUNREACH":23,"EINPROGRESS":26,"EALREADY":7,"EDESTADDRREQ":17,"EMSGSIZE":35,"EPROTONOSUPPORT":66,"ESOCKTNOSUPPORT":137,"EADDRNOTAVAIL":4,"ENETRESET":39,"EISCONN":30,"ENOTCONN":53,"ETOOMANYREFS":141,"EUSERS":136,"EDQUOT":19,"ESTALE":72,"ENOTSUP":138,"ENOMEDIUM":148,"EILSEQ":25,"EOVERFLOW":61,"ECANCELED":11,"ENOTRECOVERABLE":56,"EOWNERDEAD":62,"ESTRPIPE":135};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i+1)}var __miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<288;++i){__miniTempWebGLIntBuffers[i]=__miniTempWebGLIntBuffersStorage.subarray(0,i+1)}var emSetImmediate;var emClearImmediate;if(typeof setImmediate!=="undefined"){emSetImmediate=setImmediate;emClearImmediate=clearImmediate}else if(typeof addEventListener==="function"){var __setImmediate_id_counter=0;var __setImmediate_queue=[];var __setImmediate_message_id="_si";function __setImmediate_cb(e){if(e.data===__setImmediate_message_id){e.stopPropagation();__setImmediate_queue.shift()();++__setImmediate_id_counter}}addEventListener("message",__setImmediate_cb,true);emSetImmediate=function(func){postMessage(__setImmediate_message_id,"*");return __setImmediate_id_counter+__setImmediate_queue.push(func)-1};emClearImmediate=function(id){var index=id-__setImmediate_id_counter;if(index>=0&&index<__setImmediate_queue.length)__setImmediate_queue[index]=function(){}}}var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+")  at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i<input.length);return output};function intArrayFromBase64(s){if(typeof ENVIRONMENT_IS_NODE==="boolean"&&ENVIRONMENT_IS_NODE){var buf=Buffer.from(s,"base64");return new Uint8Array(buf["buffer"],buf["byteOffset"],buf["byteLength"])}try{var decoded=decodeBase64(s);var bytes=new Uint8Array(decoded.length);for(var i=0;i<decoded.length;++i){bytes[i]=decoded.charCodeAt(i)}return bytes}catch(_){throw new Error("Converting base64 string to bytes failed.")}}function tryParseAsDataURI(filename){if(!isDataURI(filename)){return}return intArrayFromBase64(filename.slice(dataURIPrefix.length))}var asmLibraryArg={"JsArray_Check":JsArray_Check,"JsArray_Delete":JsArray_Delete,"JsArray_Get":JsArray_Get,"JsArray_New":JsArray_New,"JsArray_Push":JsArray_Push,"JsArray_Push_unchecked":JsArray_Push_unchecked,"JsArray_Set":JsArray_Set,"JsBuffer_DecodeString_js":JsBuffer_DecodeString_js,"JsMap_New":JsMap_New,"JsMap_Set":JsMap_Set,"JsObject_DeleteString":JsObject_DeleteString,"JsObject_Dir":JsObject_Dir,"JsObject_Entries":JsObject_Entries,"JsObject_GetString":JsObject_GetString,"JsObject_Keys":JsObject_Keys,"JsObject_New":JsObject_New,"JsObject_SetString":JsObject_SetString,"JsObject_Values":JsObject_Values,"JsProxy_subscript_js":JsProxy_subscript_js,"JsSet_Add":JsSet_Add,"JsSet_New":JsSet_New,"JsString_InternFromCString":JsString_InternFromCString,"_JsArray_PostProcess_helper":_JsArray_PostProcess_helper,"_JsArray_PushEntry_helper":_JsArray_PushEntry_helper,"_Py_CheckEmscriptenSignals_Helper":_Py_CheckEmscriptenSignals_Helper,"__asctime":___asctime,"__assert_fail":___assert_fail,"__clock_gettime":___clock_gettime,"__cxa_allocate_exception":___cxa_allocate_exception,"__cxa_atexit":___cxa_atexit,"__cxa_begin_catch":___cxa_begin_catch,"__cxa_current_primary_exception":___cxa_current_primary_exception,"__cxa_decrement_exception_refcount":___cxa_decrement_exception_refcount,"__cxa_end_catch":___cxa_end_catch,"__cxa_find_matching_catch_2":___cxa_find_matching_catch_2,"__cxa_find_matching_catch_3":___cxa_find_matching_catch_3,"__cxa_free_exception":___cxa_free_exception,"__cxa_increment_exception_refcount":___cxa_increment_exception_refcount,"__cxa_rethrow":___cxa_rethrow,"__cxa_rethrow_primary_exception":___cxa_rethrow_primary_exception,"__cxa_throw":___cxa_throw,"__cxa_uncaught_exceptions":___cxa_uncaught_exceptions,"__gmtime_r":___gmtime_r,"__heap_base":___heap_base,"__indirect_function_table":wasmTable,"__localtime_r":___localtime_r,"__map_file":___map_file,"__memory_base":___memory_base,"__resumeException":___resumeException,"__sigaction":___sigaction,"__stack_pointer":___stack_pointer,"__sys__newselect":___sys__newselect,"__sys_accept4":___sys_accept4,"__sys_access":___sys_access,"__sys_acct":___sys_acct,"__sys_bind":___sys_bind,"__sys_chdir":___sys_chdir,"__sys_chmod":___sys_chmod,"__sys_chown32":___sys_chown32,"__sys_connect":___sys_connect,"__sys_dup":___sys_dup,"__sys_dup2":___sys_dup2,"__sys_dup3":___sys_dup3,"__sys_fadvise64_64":___sys_fadvise64_64,"__sys_fallocate":___sys_fallocate,"__sys_fchdir":___sys_fchdir,"__sys_fchmod":___sys_fchmod,"__sys_fchmodat":___sys_fchmodat,"__sys_fchown32":___sys_fchown32,"__sys_fchownat":___sys_fchownat,"__sys_fcntl64":___sys_fcntl64,"__sys_fdatasync":___sys_fdatasync,"__sys_fstat64":___sys_fstat64,"__sys_fstatat64":___sys_fstatat64,"__sys_fstatfs64":___sys_fstatfs64,"__sys_ftruncate64":___sys_ftruncate64,"__sys_getcwd":___sys_getcwd,"__sys_getdents64":___sys_getdents64,"__sys_getegid32":___sys_getegid32,"__sys_geteuid32":___sys_geteuid32,"__sys_getgid32":___sys_getgid32,"__sys_getgroups32":___sys_getgroups32,"__sys_getitimer":___sys_getitimer,"__sys_getpeername":___sys_getpeername,"__sys_getpgid":___sys_getpgid,"__sys_getpid":___sys_getpid,"__sys_getppid":___sys_getppid,"__sys_getpriority":___sys_getpriority,"__sys_getresgid32":___sys_getresgid32,"__sys_getresuid32":___sys_getresuid32,"__sys_getrusage":___sys_getrusage,"__sys_getsid":___sys_getsid,"__sys_getsockname":___sys_getsockname,"__sys_getsockopt":___sys_getsockopt,"__sys_getuid32":___sys_getuid32,"__sys_ioctl":___sys_ioctl,"__sys_lchown32":___sys_lchown32,"__sys_link":___sys_link,"__sys_linkat":___sys_linkat,"__sys_listen":___sys_listen,"__sys_lstat64":___sys_lstat64,"__sys_madvise1":___sys_madvise1,"__sys_mincore":___sys_mincore,"__sys_mkdir":___sys_mkdir,"__sys_mkdirat":___sys_mkdirat,"__sys_mknod":___sys_mknod,"__sys_mknodat":___sys_mknodat,"__sys_mlock":___sys_mlock,"__sys_mlockall":___sys_mlockall,"__sys_mmap2":___sys_mmap2,"__sys_mprotect":___sys_mprotect,"__sys_mremap":___sys_mremap,"__sys_msync":___sys_msync,"__sys_munlock":___sys_munlock,"__sys_munlockall":___sys_munlockall,"__sys_munmap":___sys_munmap,"__sys_nice":___sys_nice,"__sys_open":___sys_open,"__sys_openat":___sys_openat,"__sys_pause":___sys_pause,"__sys_pipe":___sys_pipe,"__sys_pipe2":___sys_pipe2,"__sys_poll":___sys_poll,"__sys_prlimit64":___sys_prlimit64,"__sys_pselect6":___sys_pselect6,"__sys_readlink":___sys_readlink,"__sys_readlinkat":___sys_readlinkat,"__sys_recvfrom":___sys_recvfrom,"__sys_recvmmsg":___sys_recvmmsg,"__sys_recvmsg":___sys_recvmsg,"__sys_rename":___sys_rename,"__sys_renameat":___sys_renameat,"__sys_rmdir":___sys_rmdir,"__sys_sendmmsg":___sys_sendmmsg,"__sys_sendmsg":___sys_sendmsg,"__sys_sendto":___sys_sendto,"__sys_setdomainname":___sys_setdomainname,"__sys_setitimer":___sys_setitimer,"__sys_setpgid":___sys_setpgid,"__sys_setpriority":___sys_setpriority,"__sys_setrlimit":___sys_setrlimit,"__sys_setsid":___sys_setsid,"__sys_setsockopt":___sys_setsockopt,"__sys_shutdown":___sys_shutdown,"__sys_socket":___sys_socket,"__sys_socketpair":___sys_socketpair,"__sys_stat64":___sys_stat64,"__sys_statfs64":___sys_statfs64,"__sys_symlink":___sys_symlink,"__sys_symlinkat":___sys_symlinkat,"__sys_sync":___sys_sync,"__sys_truncate64":___sys_truncate64,"__sys_ugetrlimit":___sys_ugetrlimit,"__sys_umask":___sys_umask,"__sys_uname":___sys_uname,"__sys_unlink":___sys_unlink,"__sys_unlinkat":___sys_unlinkat,"__sys_utimensat":___sys_utimensat,"__sys_wait4":___sys_wait4,"__table_base":___table_base,"_emscripten_throw_longjmp":__emscripten_throw_longjmp,"_python2js_buffer_inner":_python2js_buffer_inner,"abort":_abort,"alBuffer3f":_alBuffer3f,"alBuffer3i":_alBuffer3i,"alBufferData":_alBufferData,"alBufferf":_alBufferf,"alBufferfv":_alBufferfv,"alBufferi":_alBufferi,"alBufferiv":_alBufferiv,"alDeleteBuffers":_alDeleteBuffers,"alDeleteSources":_alDeleteSources,"alDisable":_alDisable,"alDistanceModel":_alDistanceModel,"alDopplerFactor":_alDopplerFactor,"alDopplerVelocity":_alDopplerVelocity,"alEnable":_alEnable,"alGenBuffers":_alGenBuffers,"alGenSources":_alGenSources,"alGetBoolean":_alGetBoolean,"alGetBooleanv":_alGetBooleanv,"alGetBuffer3f":_alGetBuffer3f,"alGetBuffer3i":_alGetBuffer3i,"alGetBufferf":_alGetBufferf,"alGetBufferfv":_alGetBufferfv,"alGetBufferi":_alGetBufferi,"alGetBufferiv":_alGetBufferiv,"alGetDouble":_alGetDouble,"alGetDoublev":_alGetDoublev,"alGetEnumValue":_alGetEnumValue,"alGetError":_alGetError,"alGetFloat":_alGetFloat,"alGetFloatv":_alGetFloatv,"alGetInteger":_alGetInteger,"alGetIntegerv":_alGetIntegerv,"alGetListener3f":_alGetListener3f,"alGetListener3i":_alGetListener3i,"alGetListenerf":_alGetListenerf,"alGetListenerfv":_alGetListenerfv,"alGetListeneri":_alGetListeneri,"alGetListeneriv":_alGetListeneriv,"alGetSource3f":_alGetSource3f,"alGetSource3i":_alGetSource3i,"alGetSourcef":_alGetSourcef,"alGetSourcefv":_alGetSourcefv,"alGetSourcei":_alGetSourcei,"alGetSourceiv":_alGetSourceiv,"alGetString":_alGetString,"alIsBuffer":_alIsBuffer,"alIsEnabled":_alIsEnabled,"alIsExtensionPresent":_alIsExtensionPresent,"alIsSource":_alIsSource,"alListener3f":_alListener3f,"alListener3i":_alListener3i,"alListenerf":_alListenerf,"alListenerfv":_alListenerfv,"alListeneri":_alListeneri,"alListeneriv":_alListeneriv,"alSource3f":_alSource3f,"alSource3i":_alSource3i,"alSourcePause":_alSourcePause,"alSourcePausev":_alSourcePausev,"alSourcePlay":_alSourcePlay,"alSourcePlayv":_alSourcePlayv,"alSourceQueueBuffers":_alSourceQueueBuffers,"alSourceRewind":_alSourceRewind,"alSourceRewindv":_alSourceRewindv,"alSourceStop":_alSourceStop,"alSourceStopv":_alSourceStopv,"alSourceUnqueueBuffers":_alSourceUnqueueBuffers,"alSourcef":_alSourcef,"alSourcefv":_alSourcefv,"alSourcei":_alSourcei,"alSourceiv":_alSourceiv,"alSpeedOfSound":_alSpeedOfSound,"alarm":_alarm,"alcCaptureCloseDevice":_alcCaptureCloseDevice,"alcCaptureOpenDevice":_alcCaptureOpenDevice,"alcCaptureSamples":_alcCaptureSamples,"alcCaptureStart":_alcCaptureStart,"alcCaptureStop":_alcCaptureStop,"alcCloseDevice":_alcCloseDevice,"alcCreateContext":_alcCreateContext,"alcDestroyContext":_alcDestroyContext,"alcGetContextsDevice":_alcGetContextsDevice,"alcGetCurrentContext":_alcGetCurrentContext,"alcGetEnumValue":_alcGetEnumValue,"alcGetError":_alcGetError,"alcGetIntegerv":_alcGetIntegerv,"alcGetString":_alcGetString,"alcIsExtensionPresent":_alcIsExtensionPresent,"alcMakeContextCurrent":_alcMakeContextCurrent,"alcOpenDevice":_alcOpenDevice,"alcProcessContext":_alcProcessContext,"alcSuspendContext":_alcSuspendContext,"array_to_js":array_to_js,"chroot":_chroot,"clock":_clock,"clock_getres":_clock_getres,"clock_gettime":_clock_gettime,"console_error":console_error,"console_error_obj":console_error_obj,"create_once_callable":create_once_callable,"create_promise_handles":create_promise_handles,"destroy_proxies":destroy_proxies,"destroy_proxies_js":destroy_proxies_js,"destroy_proxy":destroy_proxy,"dlclose":_dlclose,"dlerror":_dlerror,"dlopen":_dlopen,"dlsym":_dlsym,"em_call_init_function":em_call_init_function,"emscripten_alcDevicePauseSOFT":_emscripten_alcDevicePauseSOFT,"emscripten_alcDeviceResumeSOFT":_emscripten_alcDeviceResumeSOFT,"emscripten_alcGetStringiSOFT":_emscripten_alcGetStringiSOFT,"emscripten_alcResetDeviceSOFT":_emscripten_alcResetDeviceSOFT,"emscripten_asm_const_int":_emscripten_asm_const_int,"emscripten_exit_with_live_runtime":_emscripten_exit_with_live_runtime,"emscripten_get_heap_max":_emscripten_get_heap_max,"emscripten_glActiveTexture":_emscripten_glActiveTexture,"emscripten_glAttachShader":_emscripten_glAttachShader,"emscripten_glBeginQueryEXT":_emscripten_glBeginQueryEXT,"emscripten_glBindAttribLocation":_emscripten_glBindAttribLocation,"emscripten_glBindBuffer":_emscripten_glBindBuffer,"emscripten_glBindFramebuffer":_emscripten_glBindFramebuffer,"emscripten_glBindRenderbuffer":_emscripten_glBindRenderbuffer,"emscripten_glBindTexture":_emscripten_glBindTexture,"emscripten_glBindVertexArrayOES":_emscripten_glBindVertexArrayOES,"emscripten_glBlendColor":_emscripten_glBlendColor,"emscripten_glBlendEquation":_emscripten_glBlendEquation,"emscripten_glBlendEquationSeparate":_emscripten_glBlendEquationSeparate,"emscripten_glBlendFunc":_emscripten_glBlendFunc,"emscripten_glBlendFuncSeparate":_emscripten_glBlendFuncSeparate,"emscripten_glBufferData":_emscripten_glBufferData,"emscripten_glBufferSubData":_emscripten_glBufferSubData,"emscripten_glCheckFramebufferStatus":_emscripten_glCheckFramebufferStatus,"emscripten_glClear":_emscripten_glClear,"emscripten_glClearColor":_emscripten_glClearColor,"emscripten_glClearDepthf":_emscripten_glClearDepthf,"emscripten_glClearStencil":_emscripten_glClearStencil,"emscripten_glColorMask":_emscripten_glColorMask,"emscripten_glCompileShader":_emscripten_glCompileShader,"emscripten_glCompressedTexImage2D":_emscripten_glCompressedTexImage2D,"emscripten_glCompressedTexSubImage2D":_emscripten_glCompressedTexSubImage2D,"emscripten_glCopyTexImage2D":_emscripten_glCopyTexImage2D,"emscripten_glCopyTexSubImage2D":_emscripten_glCopyTexSubImage2D,"emscripten_glCreateProgram":_emscripten_glCreateProgram,"emscripten_glCreateShader":_emscripten_glCreateShader,"emscripten_glCullFace":_emscripten_glCullFace,"emscripten_glDeleteBuffers":_emscripten_glDeleteBuffers,"emscripten_glDeleteFramebuffers":_emscripten_glDeleteFramebuffers,"emscripten_glDeleteProgram":_emscripten_glDeleteProgram,"emscripten_glDeleteQueriesEXT":_emscripten_glDeleteQueriesEXT,"emscripten_glDeleteRenderbuffers":_emscripten_glDeleteRenderbuffers,"emscripten_glDeleteShader":_emscripten_glDeleteShader,"emscripten_glDeleteTextures":_emscripten_glDeleteTextures,"emscripten_glDeleteVertexArraysOES":_emscripten_glDeleteVertexArraysOES,"emscripten_glDepthFunc":_emscripten_glDepthFunc,"emscripten_glDepthMask":_emscripten_glDepthMask,"emscripten_glDepthRangef":_emscripten_glDepthRangef,"emscripten_glDetachShader":_emscripten_glDetachShader,"emscripten_glDisable":_emscripten_glDisable,"emscripten_glDisableVertexAttribArray":_emscripten_glDisableVertexAttribArray,"emscripten_glDrawArrays":_emscripten_glDrawArrays,"emscripten_glDrawArraysInstancedANGLE":_emscripten_glDrawArraysInstancedANGLE,"emscripten_glDrawBuffersWEBGL":_emscripten_glDrawBuffersWEBGL,"emscripten_glDrawElements":_emscripten_glDrawElements,"emscripten_glDrawElementsInstancedANGLE":_emscripten_glDrawElementsInstancedANGLE,"emscripten_glEnable":_emscripten_glEnable,"emscripten_glEnableVertexAttribArray":_emscripten_glEnableVertexAttribArray,"emscripten_glEndQueryEXT":_emscripten_glEndQueryEXT,"emscripten_glFinish":_emscripten_glFinish,"emscripten_glFlush":_emscripten_glFlush,"emscripten_glFramebufferRenderbuffer":_emscripten_glFramebufferRenderbuffer,"emscripten_glFramebufferTexture2D":_emscripten_glFramebufferTexture2D,"emscripten_glFrontFace":_emscripten_glFrontFace,"emscripten_glGenBuffers":_emscripten_glGenBuffers,"emscripten_glGenFramebuffers":_emscripten_glGenFramebuffers,"emscripten_glGenQueriesEXT":_emscripten_glGenQueriesEXT,"emscripten_glGenRenderbuffers":_emscripten_glGenRenderbuffers,"emscripten_glGenTextures":_emscripten_glGenTextures,"emscripten_glGenVertexArraysOES":_emscripten_glGenVertexArraysOES,"emscripten_glGenerateMipmap":_emscripten_glGenerateMipmap,"emscripten_glGetActiveAttrib":_emscripten_glGetActiveAttrib,"emscripten_glGetActiveUniform":_emscripten_glGetActiveUniform,"emscripten_glGetAttachedShaders":_emscripten_glGetAttachedShaders,"emscripten_glGetAttribLocation":_emscripten_glGetAttribLocation,"emscripten_glGetBooleanv":_emscripten_glGetBooleanv,"emscripten_glGetBufferParameteriv":_emscripten_glGetBufferParameteriv,"emscripten_glGetError":_emscripten_glGetError,"emscripten_glGetFloatv":_emscripten_glGetFloatv,"emscripten_glGetFramebufferAttachmentParameteriv":_emscripten_glGetFramebufferAttachmentParameteriv,"emscripten_glGetIntegerv":_emscripten_glGetIntegerv,"emscripten_glGetProgramInfoLog":_emscripten_glGetProgramInfoLog,"emscripten_glGetProgramiv":_emscripten_glGetProgramiv,"emscripten_glGetQueryObjecti64vEXT":_emscripten_glGetQueryObjecti64vEXT,"emscripten_glGetQueryObjectivEXT":_emscripten_glGetQueryObjectivEXT,"emscripten_glGetQueryObjectui64vEXT":_emscripten_glGetQueryObjectui64vEXT,"emscripten_glGetQueryObjectuivEXT":_emscripten_glGetQueryObjectuivEXT,"emscripten_glGetQueryivEXT":_emscripten_glGetQueryivEXT,"emscripten_glGetRenderbufferParameteriv":_emscripten_glGetRenderbufferParameteriv,"emscripten_glGetShaderInfoLog":_emscripten_glGetShaderInfoLog,"emscripten_glGetShaderPrecisionFormat":_emscripten_glGetShaderPrecisionFormat,"emscripten_glGetShaderSource":_emscripten_glGetShaderSource,"emscripten_glGetShaderiv":_emscripten_glGetShaderiv,"emscripten_glGetString":_emscripten_glGetString,"emscripten_glGetTexParameterfv":_emscripten_glGetTexParameterfv,"emscripten_glGetTexParameteriv":_emscripten_glGetTexParameteriv,"emscripten_glGetUniformLocation":_emscripten_glGetUniformLocation,"emscripten_glGetUniformfv":_emscripten_glGetUniformfv,"emscripten_glGetUniformiv":_emscripten_glGetUniformiv,"emscripten_glGetVertexAttribPointerv":_emscripten_glGetVertexAttribPointerv,"emscripten_glGetVertexAttribfv":_emscripten_glGetVertexAttribfv,"emscripten_glGetVertexAttribiv":_emscripten_glGetVertexAttribiv,"emscripten_glHint":_emscripten_glHint,"emscripten_glIsBuffer":_emscripten_glIsBuffer,"emscripten_glIsEnabled":_emscripten_glIsEnabled,"emscripten_glIsFramebuffer":_emscripten_glIsFramebuffer,"emscripten_glIsProgram":_emscripten_glIsProgram,"emscripten_glIsQueryEXT":_emscripten_glIsQueryEXT,"emscripten_glIsRenderbuffer":_emscripten_glIsRenderbuffer,"emscripten_glIsShader":_emscripten_glIsShader,"emscripten_glIsTexture":_emscripten_glIsTexture,"emscripten_glIsVertexArrayOES":_emscripten_glIsVertexArrayOES,"emscripten_glLineWidth":_emscripten_glLineWidth,"emscripten_glLinkProgram":_emscripten_glLinkProgram,"emscripten_glPixelStorei":_emscripten_glPixelStorei,"emscripten_glPolygonOffset":_emscripten_glPolygonOffset,"emscripten_glQueryCounterEXT":_emscripten_glQueryCounterEXT,"emscripten_glReadPixels":_emscripten_glReadPixels,"emscripten_glReleaseShaderCompiler":_emscripten_glReleaseShaderCompiler,"emscripten_glRenderbufferStorage":_emscripten_glRenderbufferStorage,"emscripten_glSampleCoverage":_emscripten_glSampleCoverage,"emscripten_glScissor":_emscripten_glScissor,"emscripten_glShaderBinary":_emscripten_glShaderBinary,"emscripten_glShaderSource":_emscripten_glShaderSource,"emscripten_glStencilFunc":_emscripten_glStencilFunc,"emscripten_glStencilFuncSeparate":_emscripten_glStencilFuncSeparate,"emscripten_glStencilMask":_emscripten_glStencilMask,"emscripten_glStencilMaskSeparate":_emscripten_glStencilMaskSeparate,"emscripten_glStencilOp":_emscripten_glStencilOp,"emscripten_glStencilOpSeparate":_emscripten_glStencilOpSeparate,"emscripten_glTexImage2D":_emscripten_glTexImage2D,"emscripten_glTexParameterf":_emscripten_glTexParameterf,"emscripten_glTexParameterfv":_emscripten_glTexParameterfv,"emscripten_glTexParameteri":_emscripten_glTexParameteri,"emscripten_glTexParameteriv":_emscripten_glTexParameteriv,"emscripten_glTexSubImage2D":_emscripten_glTexSubImage2D,"emscripten_glUniform1f":_emscripten_glUniform1f,"emscripten_glUniform1fv":_emscripten_glUniform1fv,"emscripten_glUniform1i":_emscripten_glUniform1i,"emscripten_glUniform1iv":_emscripten_glUniform1iv,"emscripten_glUniform2f":_emscripten_glUniform2f,"emscripten_glUniform2fv":_emscripten_glUniform2fv,"emscripten_glUniform2i":_emscripten_glUniform2i,"emscripten_glUniform2iv":_emscripten_glUniform2iv,"emscripten_glUniform3f":_emscripten_glUniform3f,"emscripten_glUniform3fv":_emscripten_glUniform3fv,"emscripten_glUniform3i":_emscripten_glUniform3i,"emscripten_glUniform3iv":_emscripten_glUniform3iv,"emscripten_glUniform4f":_emscripten_glUniform4f,"emscripten_glUniform4fv":_emscripten_glUniform4fv,"emscripten_glUniform4i":_emscripten_glUniform4i,"emscripten_glUniform4iv":_emscripten_glUniform4iv,"emscripten_glUniformMatrix2fv":_emscripten_glUniformMatrix2fv,"emscripten_glUniformMatrix3fv":_emscripten_glUniformMatrix3fv,"emscripten_glUniformMatrix4fv":_emscripten_glUniformMatrix4fv,"emscripten_glUseProgram":_emscripten_glUseProgram,"emscripten_glValidateProgram":_emscripten_glValidateProgram,"emscripten_glVertexAttrib1f":_emscripten_glVertexAttrib1f,"emscripten_glVertexAttrib1fv":_emscripten_glVertexAttrib1fv,"emscripten_glVertexAttrib2f":_emscripten_glVertexAttrib2f,"emscripten_glVertexAttrib2fv":_emscripten_glVertexAttrib2fv,"emscripten_glVertexAttrib3f":_emscripten_glVertexAttrib3f,"emscripten_glVertexAttrib3fv":_emscripten_glVertexAttrib3fv,"emscripten_glVertexAttrib4f":_emscripten_glVertexAttrib4f,"emscripten_glVertexAttrib4fv":_emscripten_glVertexAttrib4fv,"emscripten_glVertexAttribDivisorANGLE":_emscripten_glVertexAttribDivisorANGLE,"emscripten_glVertexAttribPointer":_emscripten_glVertexAttribPointer,"emscripten_glViewport":_emscripten_glViewport,"emscripten_memcpy_big":_emscripten_memcpy_big,"emscripten_resize_heap":_emscripten_resize_heap,"emscripten_thread_sleep":_emscripten_thread_sleep,"environ_get":_environ_get,"environ_sizes_get":_environ_sizes_get,"execve":_execve,"exit":_exit,"fail_test":fail_test,"fd_close":_fd_close,"fd_fdstat_get":_fd_fdstat_get,"fd_pread":_fd_pread,"fd_pwrite":_fd_pwrite,"fd_read":_fd_read,"fd_seek":_fd_seek,"fd_sync":_fd_sync,"fd_write":_fd_write,"ffi_call":ffi_call,"ffi_closure_alloc_helper":ffi_closure_alloc_helper,"ffi_closure_free_helper":ffi_closure_free_helper,"ffi_prep_closure_loc_helper":ffi_prep_closure_loc_helper,"fork":_fork,"gai_strerror":_gai_strerror,"getTempRet0":getTempRet0,"get_async_js_call_done_callback":get_async_js_call_done_callback,"getaddrinfo":_getaddrinfo,"getentropy":_getentropy,"gethostbyaddr":_gethostbyaddr,"gethostbyname":_gethostbyname,"getloadavg":_getloadavg,"getnameinfo":_getnameinfo,"getprotobyname":_getprotobyname,"getter_call_trampoline":getter_call_trampoline,"gettimeofday":_gettimeofday,"gmtime_r":_gmtime_r,"hiwire_CallMethod":hiwire_CallMethod,"hiwire_CallMethodString":hiwire_CallMethodString,"hiwire_CallMethod_OneArg":hiwire_CallMethod_OneArg,"hiwire_HasMethod":hiwire_HasMethod,"hiwire_assign_from_ptr":hiwire_assign_from_ptr,"hiwire_assign_to_ptr":hiwire_assign_to_ptr,"hiwire_call":hiwire_call,"hiwire_call_OneArg":hiwire_call_OneArg,"hiwire_call_bound":hiwire_call_bound,"hiwire_construct":hiwire_construct,"hiwire_constructor_name":hiwire_constructor_name,"hiwire_decref":hiwire_decref,"hiwire_double":hiwire_double,"hiwire_equal":hiwire_equal,"hiwire_get_bool":hiwire_get_bool,"hiwire_get_buffer_info":hiwire_get_buffer_info,"hiwire_get_iterator":hiwire_get_iterator,"hiwire_get_length":hiwire_get_length,"hiwire_greater_than":hiwire_greater_than,"hiwire_greater_than_equal":hiwire_greater_than_equal,"hiwire_has_length":hiwire_has_length,"hiwire_incref":hiwire_incref,"hiwire_init":hiwire_init,"hiwire_int":hiwire_int,"hiwire_int_from_digits":hiwire_int_from_digits,"hiwire_into_file":hiwire_into_file,"hiwire_is_comlink_proxy":hiwire_is_comlink_proxy,"hiwire_is_error":hiwire_is_error,"hiwire_is_function":hiwire_is_function,"hiwire_is_iterable":hiwire_is_iterable,"hiwire_is_iterator":hiwire_is_iterator,"hiwire_is_promise":hiwire_is_promise,"hiwire_is_pyproxy":hiwire_is_pyproxy,"hiwire_is_typedarray":hiwire_is_typedarray,"hiwire_less_than":hiwire_less_than,"hiwire_less_than_equal":hiwire_less_than_equal,"hiwire_next":hiwire_next,"hiwire_not_equal":hiwire_not_equal,"hiwire_read_from_file":hiwire_read_from_file,"hiwire_resolve_promise":hiwire_resolve_promise,"hiwire_string_ascii":hiwire_string_ascii,"hiwire_string_ucs1":hiwire_string_ucs1,"hiwire_string_ucs2":hiwire_string_ucs2,"hiwire_string_ucs4":hiwire_string_ucs4,"hiwire_string_utf8":hiwire_string_utf8,"hiwire_subarray":hiwire_subarray,"hiwire_throw_error":hiwire_throw_error,"hiwire_to_bool":hiwire_to_bool,"hiwire_to_string":hiwire_to_string,"hiwire_typeof":hiwire_typeof,"hiwire_write_to_file":hiwire_write_to_file,"invoke_diii":invoke_diii,"invoke_fiii":invoke_fiii,"invoke_i":invoke_i,"invoke_ii":invoke_ii,"invoke_iii":invoke_iii,"invoke_iiii":invoke_iiii,"invoke_iiiii":invoke_iiiii,"invoke_iiiiid":invoke_iiiiid,"invoke_iiiiii":invoke_iiiiii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_iiiiiiii":invoke_iiiiiiii,"invoke_iiiiiiiiiii":invoke_iiiiiiiiiii,"invoke_iiiiiiiiiiii":invoke_iiiiiiiiiiii,"invoke_iiiiiiiiiiiii":invoke_iiiiiiiiiiiii,"invoke_iiiiij":invoke_iiiiij,"invoke_iiiiijj":invoke_iiiiijj,"invoke_j":invoke_j,"invoke_ji":invoke_ji,"invoke_jii":invoke_jii,"invoke_jiiii":invoke_jiiii,"invoke_v":invoke_v,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_viid":invoke_viid,"invoke_viif":invoke_viif,"invoke_viii":invoke_viii,"invoke_viiii":invoke_viiii,"invoke_viiiii":invoke_viiiii,"invoke_viiiiii":invoke_viiiiii,"invoke_viiiiiii":invoke_viiiiiii,"invoke_viiiiiiiiii":invoke_viiiiiiiiii,"invoke_viiiiiiiiiiiiiii":invoke_viiiiiiiiiiiiiii,"invoke_viijii":invoke_viijii,"invoke_viijj":invoke_viijj,"js2python":js2python,"js2python_convert":js2python_convert,"js2python_init":js2python_init,"kill":_kill,"localtime_r":_localtime_r,"log_python_error":log_python_error,"memory":wasmMemory,"method_call_trampoline":method_call_trampoline,"mktime":_mktime,"new_error":new_error,"posix_spawn":_posix_spawn,"proc_exit":_proc_exit,"proxy_cache_get":proxy_cache_get,"proxy_cache_set":proxy_cache_set,"pthread_sigmask":_pthread_sigmask,"pyproxy_Check":pyproxy_Check,"pyproxy_new":pyproxy_new,"python2js__default_converter":python2js__default_converter,"python2js_buffer_init":python2js_buffer_init,"python2js_custom__create_jscontext":python2js_custom__create_jscontext,"raise":_raise,"setTempRet0":setTempRet0,"setgroups":_setgroups,"setter_call_trampoline":setter_call_trampoline,"siginterrupt":_siginterrupt,"sigpending":_sigpending,"sigtimedwait":_sigtimedwait,"strftime":_strftime,"strftime_l":_strftime_l,"system":_system,"time":_time,"times":_times,"unbox_small_structs":unbox_small_structs,"utimes":_utimes,"wait3":_wait3,"wait4":_wait4,"waitid":_waitid};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["__wasm_call_ctors"]).apply(null,arguments)};var _set_method_docstring=Module["_set_method_docstring"]=function(){return(_set_method_docstring=Module["_set_method_docstring"]=Module["asm"]["set_method_docstring"]).apply(null,arguments)};var _PyObject_GetAttrString=Module["_PyObject_GetAttrString"]=function(){return(_PyObject_GetAttrString=Module["_PyObject_GetAttrString"]=Module["asm"]["PyObject_GetAttrString"]).apply(null,arguments)};var __PyUnicode_FromId=Module["__PyUnicode_FromId"]=function(){return(__PyUnicode_FromId=Module["__PyUnicode_FromId"]=Module["asm"]["_PyUnicode_FromId"]).apply(null,arguments)};var _PyObject_VectorcallMethod=Module["_PyObject_VectorcallMethod"]=function(){return(_PyObject_VectorcallMethod=Module["_PyObject_VectorcallMethod"]=Module["asm"]["PyObject_VectorcallMethod"]).apply(null,arguments)};var _PyUnicode_AsUTF8AndSize=Module["_PyUnicode_AsUTF8AndSize"]=function(){return(_PyUnicode_AsUTF8AndSize=Module["_PyUnicode_AsUTF8AndSize"]=Module["asm"]["PyUnicode_AsUTF8AndSize"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["malloc"]).apply(null,arguments)};var _memcpy=Module["_memcpy"]=function(){return(_memcpy=Module["_memcpy"]=Module["asm"]["memcpy"]).apply(null,arguments)};var __Py_Dealloc=Module["__Py_Dealloc"]=function(){return(__Py_Dealloc=Module["__Py_Dealloc"]=Module["asm"]["_Py_Dealloc"]).apply(null,arguments)};var _PyErr_Format=Module["_PyErr_Format"]=function(){return(_PyErr_Format=Module["_PyErr_Format"]=Module["asm"]["PyErr_Format"]).apply(null,arguments)};var _add_methods_and_set_docstrings=Module["_add_methods_and_set_docstrings"]=function(){return(_add_methods_and_set_docstrings=Module["_add_methods_and_set_docstrings"]=Module["asm"]["add_methods_and_set_docstrings"]).apply(null,arguments)};var _PyModule_AddFunctions=Module["_PyModule_AddFunctions"]=function(){return(_PyModule_AddFunctions=Module["_PyModule_AddFunctions"]=Module["asm"]["PyModule_AddFunctions"]).apply(null,arguments)};var _docstring_init=Module["_docstring_init"]=function(){return(_docstring_init=Module["_docstring_init"]=Module["asm"]["docstring_init"]).apply(null,arguments)};var _PyImport_ImportModule=Module["_PyImport_ImportModule"]=function(){return(_PyImport_ImportModule=Module["_PyImport_ImportModule"]=Module["asm"]["PyImport_ImportModule"]).apply(null,arguments)};var _set_error=Module["_set_error"]=function(){return(_set_error=Module["_set_error"]=Module["asm"]["set_error"]).apply(null,arguments)};var _PyErr_SetObject=Module["_PyErr_SetObject"]=function(){return(_PyErr_SetObject=Module["_PyErr_SetObject"]=Module["asm"]["PyErr_SetObject"]).apply(null,arguments)};var _restore_sys_last_exception=Module["_restore_sys_last_exception"]=function(){return(_restore_sys_last_exception=Module["_restore_sys_last_exception"]=Module["asm"]["restore_sys_last_exception"]).apply(null,arguments)};var __PySys_GetObjectId=Module["__PySys_GetObjectId"]=function(){return(__PySys_GetObjectId=Module["__PySys_GetObjectId"]=Module["asm"]["_PySys_GetObjectId"]).apply(null,arguments)};var _PyErr_Restore=Module["_PyErr_Restore"]=function(){return(_PyErr_Restore=Module["_PyErr_Restore"]=Module["asm"]["PyErr_Restore"]).apply(null,arguments)};var _wrap_exception=Module["_wrap_exception"]=function(){return(_wrap_exception=Module["_wrap_exception"]=Module["asm"]["wrap_exception"]).apply(null,arguments)};var _PyErr_Fetch=Module["_PyErr_Fetch"]=function(){return(_PyErr_Fetch=Module["_PyErr_Fetch"]=Module["asm"]["PyErr_Fetch"]).apply(null,arguments)};var _PyErr_NormalizeException=Module["_PyErr_NormalizeException"]=function(){return(_PyErr_NormalizeException=Module["_PyErr_NormalizeException"]=Module["asm"]["PyErr_NormalizeException"]).apply(null,arguments)};var _PyErr_SetString=Module["_PyErr_SetString"]=function(){return(_PyErr_SetString=Module["_PyErr_SetString"]=Module["asm"]["PyErr_SetString"]).apply(null,arguments)};var _PyException_SetTraceback=Module["_PyException_SetTraceback"]=function(){return(_PyException_SetTraceback=Module["_PyException_SetTraceback"]=Module["asm"]["PyException_SetTraceback"]).apply(null,arguments)};var __PySys_SetObjectId=Module["__PySys_SetObjectId"]=function(){return(__PySys_SetObjectId=Module["__PySys_SetObjectId"]=Module["asm"]["_PySys_SetObjectId"]).apply(null,arguments)};var __PyObject_CallMethodIdObjArgs=Module["__PyObject_CallMethodIdObjArgs"]=function(){return(__PyObject_CallMethodIdObjArgs=Module["__PyObject_CallMethodIdObjArgs"]=Module["asm"]["_PyObject_CallMethodIdObjArgs"]).apply(null,arguments)};var _PyUnicode_New=Module["_PyUnicode_New"]=function(){return(_PyUnicode_New=Module["_PyUnicode_New"]=Module["asm"]["PyUnicode_New"]).apply(null,arguments)};var _PyUnicode_Join=Module["_PyUnicode_Join"]=function(){return(_PyUnicode_Join=Module["_PyUnicode_Join"]=Module["asm"]["PyUnicode_Join"]).apply(null,arguments)};var _PyUnicode_AsUTF8=Module["_PyUnicode_AsUTF8"]=function(){return(_PyUnicode_AsUTF8=Module["_PyUnicode_AsUTF8"]=Module["asm"]["PyUnicode_AsUTF8"]).apply(null,arguments)};var _PySys_WriteStderr=Module["_PySys_WriteStderr"]=function(){return(_PySys_WriteStderr=Module["_PySys_WriteStderr"]=Module["asm"]["PySys_WriteStderr"]).apply(null,arguments)};var _PyErr_Print=Module["_PyErr_Print"]=function(){return(_PyErr_Print=Module["_PyErr_Print"]=Module["asm"]["PyErr_Print"]).apply(null,arguments)};var _PyErr_Display=Module["_PyErr_Display"]=function(){return(_PyErr_Display=Module["_PyErr_Display"]=Module["asm"]["PyErr_Display"]).apply(null,arguments)};var _pythonexc2js=Module["_pythonexc2js"]=function(){return(_pythonexc2js=Module["_pythonexc2js"]=Module["asm"]["pythonexc2js"]).apply(null,arguments)};var _trigger_fatal_error=Module["_trigger_fatal_error"]=function(){return(_trigger_fatal_error=Module["_trigger_fatal_error"]=Module["asm"]["trigger_fatal_error"]).apply(null,arguments)};var _raw_call=Module["_raw_call"]=function(){return(_raw_call=Module["_raw_call"]=Module["asm"]["raw_call"]).apply(null,arguments)};var _JsProxy_AsJs=Module["_JsProxy_AsJs"]=function(){return(_JsProxy_AsJs=Module["_JsProxy_AsJs"]=Module["asm"]["JsProxy_AsJs"]).apply(null,arguments)};var _error_handling_init=Module["_error_handling_init"]=function(){return(_error_handling_init=Module["_error_handling_init"]=Module["asm"]["error_handling_init"]).apply(null,arguments)};var _PyErr_NewException=Module["_PyErr_NewException"]=function(){return(_PyErr_NewException=Module["_PyErr_NewException"]=Module["asm"]["PyErr_NewException"]).apply(null,arguments)};var _PyErr_NewExceptionWithDoc=Module["_PyErr_NewExceptionWithDoc"]=function(){return(_PyErr_NewExceptionWithDoc=Module["_PyErr_NewExceptionWithDoc"]=Module["asm"]["PyErr_NewExceptionWithDoc"]).apply(null,arguments)};var _PyObject_SetAttrString=Module["_PyObject_SetAttrString"]=function(){return(_PyObject_SetAttrString=Module["_PyObject_SetAttrString"]=Module["asm"]["PyObject_SetAttrString"]).apply(null,arguments)};var _exc_what=Module["_exc_what"]=function(){return(_exc_what=Module["_exc_what"]=Module["asm"]["exc_what"]).apply(null,arguments)};var _exc_type=Module["_exc_type"]=function(){return(_exc_type=Module["_exc_type"]=Module["asm"]["exc_type"]).apply(null,arguments)};var _exc_typename=Module["_exc_typename"]=function(){return(_exc_typename=Module["_exc_typename"]=Module["asm"]["exc_typename"]).apply(null,arguments)};var _hiwire_from_bool=Module["_hiwire_from_bool"]=function(){return(_hiwire_from_bool=Module["_hiwire_from_bool"]=Module["asm"]["hiwire_from_bool"]).apply(null,arguments)};var _JsString_FromId=Module["_JsString_FromId"]=function(){return(_JsString_FromId=Module["_JsString_FromId"]=Module["asm"]["JsString_FromId"]).apply(null,arguments)};var _hiwire_call_va=Module["_hiwire_call_va"]=function(){return(_hiwire_call_va=Module["_hiwire_call_va"]=Module["asm"]["hiwire_call_va"]).apply(null,arguments)};var _hiwire_HasMethodId=Module["_hiwire_HasMethodId"]=function(){return(_hiwire_HasMethodId=Module["_hiwire_HasMethodId"]=Module["asm"]["hiwire_HasMethodId"]).apply(null,arguments)};var _hiwire_CallMethodId=Module["_hiwire_CallMethodId"]=function(){return(_hiwire_CallMethodId=Module["_hiwire_CallMethodId"]=Module["asm"]["hiwire_CallMethodId"]).apply(null,arguments)};var _hiwire_CallMethodString_va=Module["_hiwire_CallMethodString_va"]=function(){return(_hiwire_CallMethodString_va=Module["_hiwire_CallMethodString_va"]=Module["asm"]["hiwire_CallMethodString_va"]).apply(null,arguments)};var _hiwire_CallMethodId_va=Module["_hiwire_CallMethodId_va"]=function(){return(_hiwire_CallMethodId_va=Module["_hiwire_CallMethodId_va"]=Module["asm"]["hiwire_CallMethodId_va"]).apply(null,arguments)};var _hiwire_CallMethodId_OneArg=Module["_hiwire_CallMethodId_OneArg"]=function(){return(_hiwire_CallMethodId_OneArg=Module["_hiwire_CallMethodId_OneArg"]=Module["asm"]["hiwire_CallMethodId_OneArg"]).apply(null,arguments)};var _PyUnicode_Data=Module["_PyUnicode_Data"]=function(){return(_PyUnicode_Data=Module["_PyUnicode_Data"]=Module["asm"]["PyUnicode_Data"]).apply(null,arguments)};var __js2python_none=Module["__js2python_none"]=function(){return(__js2python_none=Module["__js2python_none"]=Module["asm"]["_js2python_none"]).apply(null,arguments)};var __js2python_true=Module["__js2python_true"]=function(){return(__js2python_true=Module["__js2python_true"]=Module["asm"]["_js2python_true"]).apply(null,arguments)};var __js2python_false=Module["__js2python_false"]=function(){return(__js2python_false=Module["__js2python_false"]=Module["asm"]["_js2python_false"]).apply(null,arguments)};var __js2python_pyproxy=Module["__js2python_pyproxy"]=function(){return(__js2python_pyproxy=Module["__js2python_pyproxy"]=Module["asm"]["_js2python_pyproxy"]).apply(null,arguments)};var _JsProxy_then=Module["_JsProxy_then"]=function(){return(_JsProxy_then=Module["_JsProxy_then"]=Module["asm"]["JsProxy_then"]).apply(null,arguments)};var __PyArg_ParseTupleAndKeywords_SizeT=Module["__PyArg_ParseTupleAndKeywords_SizeT"]=function(){return(__PyArg_ParseTupleAndKeywords_SizeT=Module["__PyArg_ParseTupleAndKeywords_SizeT"]=Module["asm"]["_PyArg_ParseTupleAndKeywords_SizeT"]).apply(null,arguments)};var _JsProxy_create_with_this=Module["_JsProxy_create_with_this"]=function(){return(_JsProxy_create_with_this=Module["_JsProxy_create_with_this"]=Module["asm"]["JsProxy_create_with_this"]).apply(null,arguments)};var _JsProxy_create=Module["_JsProxy_create"]=function(){return(_JsProxy_create=Module["_JsProxy_create"]=Module["asm"]["JsProxy_create"]).apply(null,arguments)};var _JsProxy_catch=Module["_JsProxy_catch"]=function(){return(_JsProxy_catch=Module["_JsProxy_catch"]=Module["asm"]["JsProxy_catch"]).apply(null,arguments)};var _JsProxy_finally=Module["_JsProxy_finally"]=function(){return(_JsProxy_finally=Module["_JsProxy_finally"]=Module["asm"]["JsProxy_finally"]).apply(null,arguments)};var _JsMethod_ConvertArgs=Module["_JsMethod_ConvertArgs"]=function(){return(_JsMethod_ConvertArgs=Module["_JsMethod_ConvertArgs"]=Module["asm"]["JsMethod_ConvertArgs"]).apply(null,arguments)};var _python2js_track_proxies=Module["_python2js_track_proxies"]=function(){return(_python2js_track_proxies=Module["_python2js_track_proxies"]=Module["asm"]["python2js_track_proxies"]).apply(null,arguments)};var _PyTuple_GetItem=Module["_PyTuple_GetItem"]=function(){return(_PyTuple_GetItem=Module["_PyTuple_GetItem"]=Module["asm"]["PyTuple_GetItem"]).apply(null,arguments)};var _PyErr_Clear=Module["_PyErr_Clear"]=function(){return(_PyErr_Clear=Module["_PyErr_Clear"]=Module["asm"]["PyErr_Clear"]).apply(null,arguments)};var _PyTuple_Size=Module["_PyTuple_Size"]=function(){return(_PyTuple_Size=Module["_PyTuple_Size"]=Module["asm"]["PyTuple_Size"]).apply(null,arguments)};var _Buffer_dealloc=Module["_Buffer_dealloc"]=function(){return(_Buffer_dealloc=Module["_Buffer_dealloc"]=Module["asm"]["Buffer_dealloc"]).apply(null,arguments)};var _PyMem_Free=Module["_PyMem_Free"]=function(){return(_PyMem_Free=Module["_PyMem_Free"]=Module["asm"]["PyMem_Free"]).apply(null,arguments)};var _JsBuffer_CopyIntoMemoryView=Module["_JsBuffer_CopyIntoMemoryView"]=function(){return(_JsBuffer_CopyIntoMemoryView=Module["_JsBuffer_CopyIntoMemoryView"]=Module["asm"]["JsBuffer_CopyIntoMemoryView"]).apply(null,arguments)};var _PyMem_Malloc=Module["_PyMem_Malloc"]=function(){return(_PyMem_Malloc=Module["_PyMem_Malloc"]=Module["asm"]["PyMem_Malloc"]).apply(null,arguments)};var _PyMemoryView_FromObject=Module["_PyMemoryView_FromObject"]=function(){return(_PyMemoryView_FromObject=Module["_PyMemoryView_FromObject"]=Module["asm"]["PyMemoryView_FromObject"]).apply(null,arguments)};var _JsBuffer_CopyIntoBytes=Module["_JsBuffer_CopyIntoBytes"]=function(){return(_JsBuffer_CopyIntoBytes=Module["_JsBuffer_CopyIntoBytes"]=Module["asm"]["JsBuffer_CopyIntoBytes"]).apply(null,arguments)};var _PyBytes_FromStringAndSize=Module["_PyBytes_FromStringAndSize"]=function(){return(_PyBytes_FromStringAndSize=Module["_PyBytes_FromStringAndSize"]=Module["asm"]["PyBytes_FromStringAndSize"]).apply(null,arguments)};var _JsBuffer_ToString=Module["_JsBuffer_ToString"]=function(){return(_JsBuffer_ToString=Module["_JsBuffer_ToString"]=Module["asm"]["JsBuffer_ToString"]).apply(null,arguments)};var _PyErr_Occurred=Module["_PyErr_Occurred"]=function(){return(_PyErr_Occurred=Module["_PyErr_Occurred"]=Module["asm"]["PyErr_Occurred"]).apply(null,arguments)};var _JsBuffer_cinit=Module["_JsBuffer_cinit"]=function(){return(_JsBuffer_cinit=Module["_JsBuffer_cinit"]=Module["asm"]["JsBuffer_cinit"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["free"]).apply(null,arguments)};var _PyLong_FromLong=Module["_PyLong_FromLong"]=function(){return(_PyLong_FromLong=Module["_PyLong_FromLong"]=Module["asm"]["PyLong_FromLong"]).apply(null,arguments)};var _PyDict_GetItemWithError=Module["_PyDict_GetItemWithError"]=function(){return(_PyDict_GetItemWithError=Module["_PyDict_GetItemWithError"]=Module["asm"]["PyDict_GetItemWithError"]).apply(null,arguments)};var _PyObject_SelfIter=Module["_PyObject_SelfIter"]=function(){return(_PyObject_SelfIter=Module["_PyObject_SelfIter"]=Module["asm"]["PyObject_SelfIter"]).apply(null,arguments)};var _PyVectorcall_Call=Module["_PyVectorcall_Call"]=function(){return(_PyVectorcall_Call=Module["_PyVectorcall_Call"]=Module["asm"]["PyVectorcall_Call"]).apply(null,arguments)};var _PyErr_NoMemory=Module["_PyErr_NoMemory"]=function(){return(_PyErr_NoMemory=Module["_PyErr_NoMemory"]=Module["asm"]["PyErr_NoMemory"]).apply(null,arguments)};var __Py_BuildValue_SizeT=Module["__Py_BuildValue_SizeT"]=function(){return(__Py_BuildValue_SizeT=Module["__Py_BuildValue_SizeT"]=Module["asm"]["_Py_BuildValue_SizeT"]).apply(null,arguments)};var _PyType_FromSpecWithBases=Module["_PyType_FromSpecWithBases"]=function(){return(_PyType_FromSpecWithBases=Module["_PyType_FromSpecWithBases"]=Module["asm"]["PyType_FromSpecWithBases"]).apply(null,arguments)};var _PyDict_SetItem=Module["_PyDict_SetItem"]=function(){return(_PyDict_SetItem=Module["_PyDict_SetItem"]=Module["asm"]["PyDict_SetItem"]).apply(null,arguments)};var _JsProxy_Check=Module["_JsProxy_Check"]=function(){return(_JsProxy_Check=Module["_JsProxy_Check"]=Module["asm"]["JsProxy_Check"]).apply(null,arguments)};var _PyType_IsSubtype=Module["_PyType_IsSubtype"]=function(){return(_PyType_IsSubtype=Module["_PyType_IsSubtype"]=Module["asm"]["PyType_IsSubtype"]).apply(null,arguments)};var _JsException_Check=Module["_JsException_Check"]=function(){return(_JsException_Check=Module["_JsException_Check"]=Module["asm"]["JsException_Check"]).apply(null,arguments)};var _JsException_AsJs=Module["_JsException_AsJs"]=function(){return(_JsException_AsJs=Module["_JsException_AsJs"]=Module["asm"]["JsException_AsJs"]).apply(null,arguments)};var _JsProxy_init=Module["_JsProxy_init"]=function(){return(_JsProxy_init=Module["_JsProxy_init"]=Module["asm"]["JsProxy_init"]).apply(null,arguments)};var __PyObject_GetAttrId=Module["__PyObject_GetAttrId"]=function(){return(__PyObject_GetAttrId=Module["__PyObject_GetAttrId"]=Module["asm"]["_PyObject_GetAttrId"]).apply(null,arguments)};var _PyDict_New=Module["_PyDict_New"]=function(){return(_PyDict_New=Module["_PyDict_New"]=Module["asm"]["PyDict_New"]).apply(null,arguments)};var _PyType_Ready=Module["_PyType_Ready"]=function(){return(_PyType_Ready=Module["_PyType_Ready"]=Module["asm"]["PyType_Ready"]).apply(null,arguments)};var _PyModule_AddType=Module["_PyModule_AddType"]=function(){return(_PyModule_AddType=Module["_PyModule_AddType"]=Module["asm"]["PyModule_AddType"]).apply(null,arguments)};var _PyThreadState_Get=Module["_PyThreadState_Get"]=function(){return(_PyThreadState_Get=Module["_PyThreadState_Get"]=Module["asm"]["PyThreadState_Get"]).apply(null,arguments)};var _PyCallable_Check=Module["_PyCallable_Check"]=function(){return(_PyCallable_Check=Module["_PyCallable_Check"]=Module["asm"]["PyCallable_Check"]).apply(null,arguments)};var __PyObject_MakeTpCall=Module["__PyObject_MakeTpCall"]=function(){return(__PyObject_MakeTpCall=Module["__PyObject_MakeTpCall"]=Module["asm"]["_PyObject_MakeTpCall"]).apply(null,arguments)};var __Py_CheckFunctionResult=Module["__Py_CheckFunctionResult"]=function(){return(__Py_CheckFunctionResult=Module["__Py_CheckFunctionResult"]=Module["asm"]["_Py_CheckFunctionResult"]).apply(null,arguments)};var _python2js=Module["_python2js"]=function(){return(_python2js=Module["_python2js"]=Module["asm"]["python2js"]).apply(null,arguments)};var __PyObject_CallMethodId_SizeT=Module["__PyObject_CallMethodId_SizeT"]=function(){return(__PyObject_CallMethodId_SizeT=Module["__PyObject_CallMethodId_SizeT"]=Module["asm"]["_PyObject_CallMethodId_SizeT"]).apply(null,arguments)};var _PyIndex_Check=Module["_PyIndex_Check"]=function(){return(_PyIndex_Check=Module["_PyIndex_Check"]=Module["asm"]["PyIndex_Check"]).apply(null,arguments)};var _PyNumber_AsSsize_t=Module["_PyNumber_AsSsize_t"]=function(){return(_PyNumber_AsSsize_t=Module["_PyNumber_AsSsize_t"]=Module["asm"]["PyNumber_AsSsize_t"]).apply(null,arguments)};var _PySet_New=Module["_PySet_New"]=function(){return(_PySet_New=Module["_PySet_New"]=Module["asm"]["PySet_New"]).apply(null,arguments)};var __PySet_Update=Module["__PySet_Update"]=function(){return(__PySet_Update=Module["__PySet_Update"]=Module["asm"]["_PySet_Update"]).apply(null,arguments)};var _PyUnicode_FromString=Module["_PyUnicode_FromString"]=function(){return(_PyUnicode_FromString=Module["_PyUnicode_FromString"]=Module["asm"]["PyUnicode_FromString"]).apply(null,arguments)};var _PySet_Discard=Module["_PySet_Discard"]=function(){return(_PySet_Discard=Module["_PySet_Discard"]=Module["asm"]["PySet_Discard"]).apply(null,arguments)};var _PyList_New=Module["_PyList_New"]=function(){return(_PyList_New=Module["_PyList_New"]=Module["asm"]["PyList_New"]).apply(null,arguments)};var __PyList_Extend=Module["__PyList_Extend"]=function(){return(__PyList_Extend=Module["__PyList_Extend"]=Module["asm"]["_PyList_Extend"]).apply(null,arguments)};var _PyList_Sort=Module["_PyList_Sort"]=function(){return(_PyList_Sort=Module["_PyList_Sort"]=Module["asm"]["PyList_Sort"]).apply(null,arguments)};var _PyObject_CallNoArgs=Module["_PyObject_CallNoArgs"]=function(){return(_PyObject_CallNoArgs=Module["_PyObject_CallNoArgs"]=Module["asm"]["PyObject_CallNoArgs"]).apply(null,arguments)};var _Py_EnterRecursiveCall=Module["_Py_EnterRecursiveCall"]=function(){return(_Py_EnterRecursiveCall=Module["_Py_EnterRecursiveCall"]=Module["asm"]["Py_EnterRecursiveCall"]).apply(null,arguments)};var _Py_LeaveRecursiveCall=Module["_Py_LeaveRecursiveCall"]=function(){return(_Py_LeaveRecursiveCall=Module["_Py_LeaveRecursiveCall"]=Module["asm"]["Py_LeaveRecursiveCall"]).apply(null,arguments)};var _PyObject_GenericGetAttr=Module["_PyObject_GenericGetAttr"]=function(){return(_PyObject_GenericGetAttr=Module["_PyObject_GenericGetAttr"]=Module["asm"]["PyObject_GenericGetAttr"]).apply(null,arguments)};var _PyErr_ExceptionMatches=Module["_PyErr_ExceptionMatches"]=function(){return(_PyErr_ExceptionMatches=Module["_PyErr_ExceptionMatches"]=Module["asm"]["PyErr_ExceptionMatches"]).apply(null,arguments)};var _strcmp=Module["_strcmp"]=function(){return(_strcmp=Module["_strcmp"]=Module["asm"]["strcmp"]).apply(null,arguments)};var _strncmp=Module["_strncmp"]=function(){return(_strncmp=Module["_strncmp"]=Module["asm"]["strncmp"]).apply(null,arguments)};var _PyObject_GenericSetAttr=Module["_PyObject_GenericSetAttr"]=function(){return(_PyObject_GenericSetAttr=Module["_PyObject_GenericSetAttr"]=Module["asm"]["PyObject_GenericSetAttr"]).apply(null,arguments)};var __PyArg_ParseStackAndKeywords_SizeT=Module["__PyArg_ParseStackAndKeywords_SizeT"]=function(){return(__PyArg_ParseStackAndKeywords_SizeT=Module["__PyArg_ParseStackAndKeywords_SizeT"]=Module["asm"]["_PyArg_ParseStackAndKeywords_SizeT"]).apply(null,arguments)};var _PyObject_GetBuffer=Module["_PyObject_GetBuffer"]=function(){return(_PyObject_GetBuffer=Module["_PyObject_GetBuffer"]=Module["asm"]["PyObject_GetBuffer"]).apply(null,arguments)};var _PyBuffer_Release=Module["_PyBuffer_Release"]=function(){return(_PyBuffer_Release=Module["_PyBuffer_Release"]=Module["asm"]["PyBuffer_Release"]).apply(null,arguments)};var _PyLong_AsLong=Module["_PyLong_AsLong"]=function(){return(_PyLong_AsLong=Module["_PyLong_AsLong"]=Module["asm"]["PyLong_AsLong"]).apply(null,arguments)};var _main=Module["_main"]=function(){return(_main=Module["_main"]=Module["asm"]["main"]).apply(null,arguments)};var _pyodide_init=Module["_pyodide_init"]=function(){return(_pyodide_init=Module["_pyodide_init"]=Module["asm"]["pyodide_init"]).apply(null,arguments)};var _iprintf=Module["_iprintf"]=function(){return(_iprintf=Module["_iprintf"]=Module["asm"]["iprintf"]).apply(null,arguments)};var _putchar=Module["_putchar"]=function(){return(_putchar=Module["_putchar"]=Module["asm"]["putchar"]).apply(null,arguments)};var _puts=Module["_puts"]=function(){return(_puts=Module["_puts"]=Module["asm"]["puts"]).apply(null,arguments)};var _PyModule_Create2=Module["_PyModule_Create2"]=function(){return(_PyModule_Create2=Module["_PyModule_Create2"]=Module["asm"]["PyModule_Create2"]).apply(null,arguments)};var _python2js_init=Module["_python2js_init"]=function(){return(_python2js_init=Module["_python2js_init"]=Module["asm"]["python2js_init"]).apply(null,arguments)};var _pyproxy_init=Module["_pyproxy_init"]=function(){return(_pyproxy_init=Module["_pyproxy_init"]=Module["asm"]["pyproxy_init"]).apply(null,arguments)};var _PyImport_GetModuleDict=Module["_PyImport_GetModuleDict"]=function(){return(_PyImport_GetModuleDict=Module["_PyImport_GetModuleDict"]=Module["asm"]["PyImport_GetModuleDict"]).apply(null,arguments)};var _PyDict_SetItemString=Module["_PyDict_SetItemString"]=function(){return(_PyDict_SetItemString=Module["_PyDict_SetItemString"]=Module["asm"]["PyDict_SetItemString"]).apply(null,arguments)};var _PyConfig_InitPythonConfig=Module["_PyConfig_InitPythonConfig"]=function(){return(_PyConfig_InitPythonConfig=Module["_PyConfig_InitPythonConfig"]=Module["asm"]["PyConfig_InitPythonConfig"]).apply(null,arguments)};var _PyConfig_SetBytesString=Module["_PyConfig_SetBytesString"]=function(){return(_PyConfig_SetBytesString=Module["_PyConfig_SetBytesString"]=Module["asm"]["PyConfig_SetBytesString"]).apply(null,arguments)};var _PyStatus_Exception=Module["_PyStatus_Exception"]=function(){return(_PyStatus_Exception=Module["_PyStatus_Exception"]=Module["asm"]["PyStatus_Exception"]).apply(null,arguments)};var _Py_InitializeFromConfig=Module["_Py_InitializeFromConfig"]=function(){return(_Py_InitializeFromConfig=Module["_Py_InitializeFromConfig"]=Module["asm"]["Py_InitializeFromConfig"]).apply(null,arguments)};var _PyConfig_Clear=Module["_PyConfig_Clear"]=function(){return(_PyConfig_Clear=Module["_PyConfig_Clear"]=Module["asm"]["PyConfig_Clear"]).apply(null,arguments)};var _Py_ExitStatusException=Module["_Py_ExitStatusException"]=function(){return(_Py_ExitStatusException=Module["_Py_ExitStatusException"]=Module["asm"]["Py_ExitStatusException"]).apply(null,arguments)};var _pyproxy_getflags=Module["_pyproxy_getflags"]=function(){return(_pyproxy_getflags=Module["_pyproxy_getflags"]=Module["asm"]["pyproxy_getflags"]).apply(null,arguments)};var _PyObject_HasAttr=Module["_PyObject_HasAttr"]=function(){return(_PyObject_HasAttr=Module["_PyObject_HasAttr"]=Module["asm"]["PyObject_HasAttr"]).apply(null,arguments)};var _PySequence_Check=Module["_PySequence_Check"]=function(){return(_PySequence_Check=Module["_PySequence_Check"]=Module["asm"]["PySequence_Check"]).apply(null,arguments)};var _PyIter_Check=Module["_PyIter_Check"]=function(){return(_PyIter_Check=Module["_PyIter_Check"]=Module["asm"]["PyIter_Check"]).apply(null,arguments)};var __pyproxy_repr=Module["__pyproxy_repr"]=function(){return(__pyproxy_repr=Module["__pyproxy_repr"]=Module["asm"]["_pyproxy_repr"]).apply(null,arguments)};var _PyObject_Repr=Module["_PyObject_Repr"]=function(){return(_PyObject_Repr=Module["_PyObject_Repr"]=Module["asm"]["PyObject_Repr"]).apply(null,arguments)};var __pyproxy_type=Module["__pyproxy_type"]=function(){return(__pyproxy_type=Module["__pyproxy_type"]=Module["asm"]["_pyproxy_type"]).apply(null,arguments)};var __pyproxy_hasattr=Module["__pyproxy_hasattr"]=function(){return(__pyproxy_hasattr=Module["__pyproxy_hasattr"]=Module["asm"]["_pyproxy_hasattr"]).apply(null,arguments)};var __pyproxy_getattr=Module["__pyproxy_getattr"]=function(){return(__pyproxy_getattr=Module["__pyproxy_getattr"]=Module["asm"]["_pyproxy_getattr"]).apply(null,arguments)};var __PyObject_GetMethod=Module["__PyObject_GetMethod"]=function(){return(__PyObject_GetMethod=Module["__PyObject_GetMethod"]=Module["asm"]["_PyObject_GetMethod"]).apply(null,arguments)};var __pyproxy_setattr=Module["__pyproxy_setattr"]=function(){return(__pyproxy_setattr=Module["__pyproxy_setattr"]=Module["asm"]["_pyproxy_setattr"]).apply(null,arguments)};var _PyObject_SetAttr=Module["_PyObject_SetAttr"]=function(){return(_PyObject_SetAttr=Module["_PyObject_SetAttr"]=Module["asm"]["PyObject_SetAttr"]).apply(null,arguments)};var __pyproxy_delattr=Module["__pyproxy_delattr"]=function(){return(__pyproxy_delattr=Module["__pyproxy_delattr"]=Module["asm"]["_pyproxy_delattr"]).apply(null,arguments)};var __pyproxy_getitem=Module["__pyproxy_getitem"]=function(){return(__pyproxy_getitem=Module["__pyproxy_getitem"]=Module["asm"]["_pyproxy_getitem"]).apply(null,arguments)};var _PyObject_GetItem=Module["_PyObject_GetItem"]=function(){return(_PyObject_GetItem=Module["_PyObject_GetItem"]=Module["asm"]["PyObject_GetItem"]).apply(null,arguments)};var __pyproxy_setitem=Module["__pyproxy_setitem"]=function(){return(__pyproxy_setitem=Module["__pyproxy_setitem"]=Module["asm"]["_pyproxy_setitem"]).apply(null,arguments)};var _PyObject_SetItem=Module["_PyObject_SetItem"]=function(){return(_PyObject_SetItem=Module["_PyObject_SetItem"]=Module["asm"]["PyObject_SetItem"]).apply(null,arguments)};var __pyproxy_delitem=Module["__pyproxy_delitem"]=function(){return(__pyproxy_delitem=Module["__pyproxy_delitem"]=Module["asm"]["_pyproxy_delitem"]).apply(null,arguments)};var _PyObject_DelItem=Module["_PyObject_DelItem"]=function(){return(_PyObject_DelItem=Module["_PyObject_DelItem"]=Module["asm"]["PyObject_DelItem"]).apply(null,arguments)};var __pyproxy_contains=Module["__pyproxy_contains"]=function(){return(__pyproxy_contains=Module["__pyproxy_contains"]=Module["asm"]["_pyproxy_contains"]).apply(null,arguments)};var _PySequence_Contains=Module["_PySequence_Contains"]=function(){return(_PySequence_Contains=Module["_PySequence_Contains"]=Module["asm"]["PySequence_Contains"]).apply(null,arguments)};var __pyproxy_ownKeys=Module["__pyproxy_ownKeys"]=function(){return(__pyproxy_ownKeys=Module["__pyproxy_ownKeys"]=Module["asm"]["_pyproxy_ownKeys"]).apply(null,arguments)};var _PyObject_Dir=Module["_PyObject_Dir"]=function(){return(_PyObject_Dir=Module["_PyObject_Dir"]=Module["asm"]["PyObject_Dir"]).apply(null,arguments)};var _PyList_Size=Module["_PyList_Size"]=function(){return(_PyList_Size=Module["_PyList_Size"]=Module["asm"]["PyList_Size"]).apply(null,arguments)};var _PyList_GetItem=Module["_PyList_GetItem"]=function(){return(_PyList_GetItem=Module["_PyList_GetItem"]=Module["asm"]["PyList_GetItem"]).apply(null,arguments)};var __pyproxy_apply=Module["__pyproxy_apply"]=function(){return(__pyproxy_apply=Module["__pyproxy_apply"]=Module["asm"]["_pyproxy_apply"]).apply(null,arguments)};var _PyTuple_New=Module["_PyTuple_New"]=function(){return(_PyTuple_New=Module["_PyTuple_New"]=Module["asm"]["PyTuple_New"]).apply(null,arguments)};var __pyproxy_iter_next=Module["__pyproxy_iter_next"]=function(){return(__pyproxy_iter_next=Module["__pyproxy_iter_next"]=Module["asm"]["_pyproxy_iter_next"]).apply(null,arguments)};var _PyIter_Next=Module["_PyIter_Next"]=function(){return(_PyIter_Next=Module["_PyIter_Next"]=Module["asm"]["PyIter_Next"]).apply(null,arguments)};var __pyproxyGen_Send=Module["__pyproxyGen_Send"]=function(){return(__pyproxyGen_Send=Module["__pyproxyGen_Send"]=Module["asm"]["_pyproxyGen_Send"]).apply(null,arguments)};var _PyIter_Send=Module["_PyIter_Send"]=function(){return(_PyIter_Send=Module["_PyIter_Send"]=Module["asm"]["PyIter_Send"]).apply(null,arguments)};var _FutureDoneCallback_call_resolve=Module["_FutureDoneCallback_call_resolve"]=function(){return(_FutureDoneCallback_call_resolve=Module["_FutureDoneCallback_call_resolve"]=Module["asm"]["FutureDoneCallback_call_resolve"]).apply(null,arguments)};var _FutureDoneCallback_call_reject=Module["_FutureDoneCallback_call_reject"]=function(){return(_FutureDoneCallback_call_reject=Module["_FutureDoneCallback_call_reject"]=Module["asm"]["FutureDoneCallback_call_reject"]).apply(null,arguments)};var _FutureDoneCallback_call=Module["_FutureDoneCallback_call"]=function(){return(_FutureDoneCallback_call=Module["_FutureDoneCallback_call"]=Module["asm"]["FutureDoneCallback_call"]).apply(null,arguments)};var _PyArg_UnpackTuple=Module["_PyArg_UnpackTuple"]=function(){return(_PyArg_UnpackTuple=Module["_PyArg_UnpackTuple"]=Module["asm"]["PyArg_UnpackTuple"]).apply(null,arguments)};var __pyproxy_ensure_future=Module["__pyproxy_ensure_future"]=function(){return(__pyproxy_ensure_future=Module["__pyproxy_ensure_future"]=Module["asm"]["_pyproxy_ensure_future"]).apply(null,arguments)};var __pyproxy_get_buffer=Module["__pyproxy_get_buffer"]=function(){return(__pyproxy_get_buffer=Module["__pyproxy_get_buffer"]=Module["asm"]["_pyproxy_get_buffer"]).apply(null,arguments)};var _PyBuffer_FillContiguousStrides=Module["_PyBuffer_FillContiguousStrides"]=function(){return(_PyBuffer_FillContiguousStrides=Module["_PyBuffer_FillContiguousStrides"]=Module["asm"]["PyBuffer_FillContiguousStrides"]).apply(null,arguments)};var _PyBuffer_IsContiguous=Module["_PyBuffer_IsContiguous"]=function(){return(_PyBuffer_IsContiguous=Module["_PyBuffer_IsContiguous"]=Module["asm"]["PyBuffer_IsContiguous"]).apply(null,arguments)};var __python2js_buffer=Module["__python2js_buffer"]=function(){return(__python2js_buffer=Module["__python2js_buffer"]=Module["asm"]["_python2js_buffer"]).apply(null,arguments)};var __python2js_add_to_cache=Module["__python2js_add_to_cache"]=function(){return(__python2js_add_to_cache=Module["__python2js_add_to_cache"]=Module["asm"]["_python2js_add_to_cache"]).apply(null,arguments)};var _PyLong_FromSize_t=Module["_PyLong_FromSize_t"]=function(){return(_PyLong_FromSize_t=Module["_PyLong_FromSize_t"]=Module["asm"]["PyLong_FromSize_t"]).apply(null,arguments)};var __python2js=Module["__python2js"]=function(){return(__python2js=Module["__python2js"]=Module["asm"]["_python2js"]).apply(null,arguments)};var _PyLong_AsSize_t=Module["_PyLong_AsSize_t"]=function(){return(_PyLong_AsSize_t=Module["_PyLong_AsSize_t"]=Module["asm"]["PyLong_AsSize_t"]).apply(null,arguments)};var _python2js_inner=Module["_python2js_inner"]=function(){return(_python2js_inner=Module["_python2js_inner"]=Module["asm"]["python2js_inner"]).apply(null,arguments)};var _PySequence_Size=Module["_PySequence_Size"]=function(){return(_PySequence_Size=Module["_PySequence_Size"]=Module["asm"]["PySequence_Size"]).apply(null,arguments)};var _PySequence_GetItem=Module["_PySequence_GetItem"]=function(){return(_PySequence_GetItem=Module["_PySequence_GetItem"]=Module["asm"]["PySequence_GetItem"]).apply(null,arguments)};var _PyObject_CheckBuffer=Module["_PyObject_CheckBuffer"]=function(){return(_PyObject_CheckBuffer=Module["_PyObject_CheckBuffer"]=Module["asm"]["PyObject_CheckBuffer"]).apply(null,arguments)};var _PyFloat_AsDouble=Module["_PyFloat_AsDouble"]=function(){return(_PyFloat_AsDouble=Module["_PyFloat_AsDouble"]=Module["asm"]["PyFloat_AsDouble"]).apply(null,arguments)};var __PyErr_FormatFromCause=Module["__PyErr_FormatFromCause"]=function(){return(__PyErr_FormatFromCause=Module["__PyErr_FormatFromCause"]=Module["asm"]["_PyErr_FormatFromCause"]).apply(null,arguments)};var _python2js_with_depth=Module["_python2js_with_depth"]=function(){return(_python2js_with_depth=Module["_python2js_with_depth"]=Module["asm"]["python2js_with_depth"]).apply(null,arguments)};var _python2js_custom=Module["_python2js_custom"]=function(){return(_python2js_custom=Module["_python2js_custom"]=Module["asm"]["python2js_custom"]).apply(null,arguments)};var _PyDict_Next=Module["_PyDict_Next"]=function(){return(_PyDict_Next=Module["_PyDict_Next"]=Module["asm"]["PyDict_Next"]).apply(null,arguments)};var _PyLong_AsLongAndOverflow=Module["_PyLong_AsLongAndOverflow"]=function(){return(_PyLong_AsLongAndOverflow=Module["_PyLong_AsLongAndOverflow"]=Module["asm"]["PyLong_AsLongAndOverflow"]).apply(null,arguments)};var __PyLong_AsByteArray=Module["__PyLong_AsByteArray"]=function(){return(__PyLong_AsByteArray=Module["__PyLong_AsByteArray"]=Module["asm"]["_PyLong_AsByteArray"]).apply(null,arguments)};var _PyObject_GetIter=Module["_PyObject_GetIter"]=function(){return(_PyObject_GetIter=Module["_PyObject_GetIter"]=Module["asm"]["PyObject_GetIter"]).apply(null,arguments)};var _Py_GetBuildInfo=Module["_Py_GetBuildInfo"]=function(){return(_Py_GetBuildInfo=Module["_Py_GetBuildInfo"]=Module["asm"]["Py_GetBuildInfo"]).apply(null,arguments)};var _PyOS_snprintf=Module["_PyOS_snprintf"]=function(){return(_PyOS_snprintf=Module["_PyOS_snprintf"]=Module["asm"]["PyOS_snprintf"]).apply(null,arguments)};var __Py_gitversion=Module["__Py_gitversion"]=function(){return(__Py_gitversion=Module["__Py_gitversion"]=Module["asm"]["_Py_gitversion"]).apply(null,arguments)};var __Py_gitidentifier=Module["__Py_gitidentifier"]=function(){return(__Py_gitidentifier=Module["__Py_gitidentifier"]=Module["asm"]["_Py_gitidentifier"]).apply(null,arguments)};var _PyToken_OneChar=Module["_PyToken_OneChar"]=function(){return(_PyToken_OneChar=Module["_PyToken_OneChar"]=Module["asm"]["PyToken_OneChar"]).apply(null,arguments)};var _PyToken_TwoChars=Module["_PyToken_TwoChars"]=function(){return(_PyToken_TwoChars=Module["_PyToken_TwoChars"]=Module["asm"]["PyToken_TwoChars"]).apply(null,arguments)};var _PyToken_ThreeChars=Module["_PyToken_ThreeChars"]=function(){return(_PyToken_ThreeChars=Module["_PyToken_ThreeChars"]=Module["asm"]["PyToken_ThreeChars"]).apply(null,arguments)};var __PyPegen_new_type_comment=Module["__PyPegen_new_type_comment"]=function(){return(__PyPegen_new_type_comment=Module["__PyPegen_new_type_comment"]=Module["asm"]["_PyPegen_new_type_comment"]).apply(null,arguments)};var _strlen=Module["_strlen"]=function(){return(_strlen=Module["_strlen"]=Module["asm"]["strlen"]).apply(null,arguments)};var _PyUnicode_DecodeUTF8=Module["_PyUnicode_DecodeUTF8"]=function(){return(_PyUnicode_DecodeUTF8=Module["_PyUnicode_DecodeUTF8"]=Module["asm"]["PyUnicode_DecodeUTF8"]).apply(null,arguments)};var __PyArena_AddPyObject=Module["__PyArena_AddPyObject"]=function(){return(__PyArena_AddPyObject=Module["__PyArena_AddPyObject"]=Module["asm"]["_PyArena_AddPyObject"]).apply(null,arguments)};var __PyPegen_add_type_comment_to_arg=Module["__PyPegen_add_type_comment_to_arg"]=function(){return(__PyPegen_add_type_comment_to_arg=Module["__PyPegen_add_type_comment_to_arg"]=Module["asm"]["_PyPegen_add_type_comment_to_arg"]).apply(null,arguments)};var _PyBytes_AsString=Module["_PyBytes_AsString"]=function(){return(_PyBytes_AsString=Module["_PyBytes_AsString"]=Module["asm"]["PyBytes_AsString"]).apply(null,arguments)};var __PyAST_arg=Module["__PyAST_arg"]=function(){return(__PyAST_arg=Module["__PyAST_arg"]=Module["asm"]["_PyAST_arg"]).apply(null,arguments)};var __PyPegen_check_barry_as_flufl=Module["__PyPegen_check_barry_as_flufl"]=function(){return(__PyPegen_check_barry_as_flufl=Module["__PyPegen_check_barry_as_flufl"]=Module["asm"]["_PyPegen_check_barry_as_flufl"]).apply(null,arguments)};var __PyPegen_raise_error=Module["__PyPegen_raise_error"]=function(){return(__PyPegen_raise_error=Module["__PyPegen_raise_error"]=Module["asm"]["_PyPegen_raise_error"]).apply(null,arguments)};var __PyPegen_raise_error_known_location=Module["__PyPegen_raise_error_known_location"]=function(){return(__PyPegen_raise_error_known_location=Module["__PyPegen_raise_error_known_location"]=Module["asm"]["_PyPegen_raise_error_known_location"]).apply(null,arguments)};var __PyPegen_check_legacy_stmt=Module["__PyPegen_check_legacy_stmt"]=function(){return(__PyPegen_check_legacy_stmt=Module["__PyPegen_check_legacy_stmt"]=Module["asm"]["_PyPegen_check_legacy_stmt"]).apply(null,arguments)};var _PyUnicode_CompareWithASCIIString=Module["_PyUnicode_CompareWithASCIIString"]=function(){return(_PyUnicode_CompareWithASCIIString=Module["_PyUnicode_CompareWithASCIIString"]=Module["asm"]["PyUnicode_CompareWithASCIIString"]).apply(null,arguments)};var __PyPegen_new_identifier=Module["__PyPegen_new_identifier"]=function(){return(__PyPegen_new_identifier=Module["__PyPegen_new_identifier"]=Module["asm"]["_PyPegen_new_identifier"]).apply(null,arguments)};var _PyImport_ImportModuleNoBlock=Module["_PyImport_ImportModuleNoBlock"]=function(){return(_PyImport_ImportModuleNoBlock=Module["_PyImport_ImportModuleNoBlock"]=Module["asm"]["PyImport_ImportModuleNoBlock"]).apply(null,arguments)};var _PyUnicode_InternFromString=Module["_PyUnicode_InternFromString"]=function(){return(_PyUnicode_InternFromString=Module["_PyUnicode_InternFromString"]=Module["asm"]["PyUnicode_InternFromString"]).apply(null,arguments)};var __PyType_Name=Module["__PyType_Name"]=function(){return(__PyType_Name=Module["__PyType_Name"]=Module["asm"]["_PyType_Name"]).apply(null,arguments)};var _PyUnicode_InternInPlace=Module["_PyUnicode_InternInPlace"]=function(){return(_PyUnicode_InternInPlace=Module["_PyUnicode_InternInPlace"]=Module["asm"]["PyUnicode_InternInPlace"]).apply(null,arguments)};var __PyPegen_get_expr_name=Module["__PyPegen_get_expr_name"]=function(){return(__PyPegen_get_expr_name=Module["__PyPegen_get_expr_name"]=Module["asm"]["_PyPegen_get_expr_name"]).apply(null,arguments)};var _PyUnicode_FromFormatV=Module["_PyUnicode_FromFormatV"]=function(){return(_PyUnicode_FromFormatV=Module["_PyUnicode_FromFormatV"]=Module["asm"]["PyUnicode_FromFormatV"]).apply(null,arguments)};var _strchr=Module["_strchr"]=function(){return(_strchr=Module["_strchr"]=Module["asm"]["strchr"]).apply(null,arguments)};var __PyErr_ProgramDecodedTextObject=Module["__PyErr_ProgramDecodedTextObject"]=function(){return(__PyErr_ProgramDecodedTextObject=Module["__PyErr_ProgramDecodedTextObject"]=Module["asm"]["_PyErr_ProgramDecodedTextObject"]).apply(null,arguments)};var _PyUnicode_FromStringAndSize=Module["_PyUnicode_FromStringAndSize"]=function(){return(_PyUnicode_FromStringAndSize=Module["_PyUnicode_FromStringAndSize"]=Module["asm"]["PyUnicode_FromStringAndSize"]).apply(null,arguments)};var _Py_BuildValue=Module["_Py_BuildValue"]=function(){return(_Py_BuildValue=Module["_Py_BuildValue"]=Module["asm"]["Py_BuildValue"]).apply(null,arguments)};var _PyTuple_Pack=Module["_PyTuple_Pack"]=function(){return(_PyTuple_Pack=Module["_PyTuple_Pack"]=Module["asm"]["PyTuple_Pack"]).apply(null,arguments)};var __PyPegen_insert_memo=Module["__PyPegen_insert_memo"]=function(){return(__PyPegen_insert_memo=Module["__PyPegen_insert_memo"]=Module["asm"]["_PyPegen_insert_memo"]).apply(null,arguments)};var __PyArena_Malloc=Module["__PyArena_Malloc"]=function(){return(__PyArena_Malloc=Module["__PyArena_Malloc"]=Module["asm"]["_PyArena_Malloc"]).apply(null,arguments)};var __PyPegen_update_memo=Module["__PyPegen_update_memo"]=function(){return(__PyPegen_update_memo=Module["__PyPegen_update_memo"]=Module["asm"]["_PyPegen_update_memo"]).apply(null,arguments)};var __PyPegen_dummy_name=Module["__PyPegen_dummy_name"]=function(){return(__PyPegen_dummy_name=Module["__PyPegen_dummy_name"]=Module["asm"]["_PyPegen_dummy_name"]).apply(null,arguments)};var __PyAST_Name=Module["__PyAST_Name"]=function(){return(__PyAST_Name=Module["__PyAST_Name"]=Module["asm"]["_PyAST_Name"]).apply(null,arguments)};var __PyPegen_fill_token=Module["__PyPegen_fill_token"]=function(){return(__PyPegen_fill_token=Module["__PyPegen_fill_token"]=Module["asm"]["_PyPegen_fill_token"]).apply(null,arguments)};var _PyTokenizer_Get=Module["_PyTokenizer_Get"]=function(){return(_PyTokenizer_Get=Module["_PyTokenizer_Get"]=Module["asm"]["PyTokenizer_Get"]).apply(null,arguments)};var _strncpy=Module["_strncpy"]=function(){return(_strncpy=Module["_strncpy"]=Module["asm"]["strncpy"]).apply(null,arguments)};var _PyMem_Realloc=Module["_PyMem_Realloc"]=function(){return(_PyMem_Realloc=Module["_PyMem_Realloc"]=Module["asm"]["PyMem_Realloc"]).apply(null,arguments)};var _PyMem_Calloc=Module["_PyMem_Calloc"]=function(){return(_PyMem_Calloc=Module["_PyMem_Calloc"]=Module["asm"]["PyMem_Calloc"]).apply(null,arguments)};var _PyErr_SetNone=Module["_PyErr_SetNone"]=function(){return(_PyErr_SetNone=Module["_PyErr_SetNone"]=Module["asm"]["PyErr_SetNone"]).apply(null,arguments)};var __PyPegen_is_memoized=Module["__PyPegen_is_memoized"]=function(){return(__PyPegen_is_memoized=Module["__PyPegen_is_memoized"]=Module["asm"]["_PyPegen_is_memoized"]).apply(null,arguments)};var __PyPegen_lookahead_with_name=Module["__PyPegen_lookahead_with_name"]=function(){return(__PyPegen_lookahead_with_name=Module["__PyPegen_lookahead_with_name"]=Module["asm"]["_PyPegen_lookahead_with_name"]).apply(null,arguments)};var __PyPegen_lookahead_with_string=Module["__PyPegen_lookahead_with_string"]=function(){return(__PyPegen_lookahead_with_string=Module["__PyPegen_lookahead_with_string"]=Module["asm"]["_PyPegen_lookahead_with_string"]).apply(null,arguments)};var __PyPegen_lookahead_with_int=Module["__PyPegen_lookahead_with_int"]=function(){return(__PyPegen_lookahead_with_int=Module["__PyPegen_lookahead_with_int"]=Module["asm"]["_PyPegen_lookahead_with_int"]).apply(null,arguments)};var __PyPegen_lookahead=Module["__PyPegen_lookahead"]=function(){return(__PyPegen_lookahead=Module["__PyPegen_lookahead"]=Module["asm"]["_PyPegen_lookahead"]).apply(null,arguments)};var __PyPegen_expect_token=Module["__PyPegen_expect_token"]=function(){return(__PyPegen_expect_token=Module["__PyPegen_expect_token"]=Module["asm"]["_PyPegen_expect_token"]).apply(null,arguments)};var __PyPegen_expect_forced_token=Module["__PyPegen_expect_forced_token"]=function(){return(__PyPegen_expect_forced_token=Module["__PyPegen_expect_forced_token"]=Module["asm"]["_PyPegen_expect_forced_token"]).apply(null,arguments)};var __PyPegen_expect_soft_keyword=Module["__PyPegen_expect_soft_keyword"]=function(){return(__PyPegen_expect_soft_keyword=Module["__PyPegen_expect_soft_keyword"]=Module["asm"]["_PyPegen_expect_soft_keyword"]).apply(null,arguments)};var __PyPegen_name_token=Module["__PyPegen_name_token"]=function(){return(__PyPegen_name_token=Module["__PyPegen_name_token"]=Module["asm"]["_PyPegen_name_token"]).apply(null,arguments)};var __PyPegen_get_last_nonnwhitespace_token=Module["__PyPegen_get_last_nonnwhitespace_token"]=function(){return(__PyPegen_get_last_nonnwhitespace_token=Module["__PyPegen_get_last_nonnwhitespace_token"]=Module["asm"]["_PyPegen_get_last_nonnwhitespace_token"]).apply(null,arguments)};var __PyPegen_string_token=Module["__PyPegen_string_token"]=function(){return(__PyPegen_string_token=Module["__PyPegen_string_token"]=Module["asm"]["_PyPegen_string_token"]).apply(null,arguments)};var __PyPegen_soft_keyword_token=Module["__PyPegen_soft_keyword_token"]=function(){return(__PyPegen_soft_keyword_token=Module["__PyPegen_soft_keyword_token"]=Module["asm"]["_PyPegen_soft_keyword_token"]).apply(null,arguments)};var _PyBytes_AsStringAndSize=Module["_PyBytes_AsStringAndSize"]=function(){return(_PyBytes_AsStringAndSize=Module["_PyBytes_AsStringAndSize"]=Module["asm"]["PyBytes_AsStringAndSize"]).apply(null,arguments)};var __PyPegen_number_token=Module["__PyPegen_number_token"]=function(){return(__PyPegen_number_token=Module["__PyPegen_number_token"]=Module["asm"]["_PyPegen_number_token"]).apply(null,arguments)};var __PyAST_Constant=Module["__PyAST_Constant"]=function(){return(__PyAST_Constant=Module["__PyAST_Constant"]=Module["asm"]["_PyAST_Constant"]).apply(null,arguments)};var __PyPegen_Parser_Free=Module["__PyPegen_Parser_Free"]=function(){return(__PyPegen_Parser_Free=Module["__PyPegen_Parser_Free"]=Module["asm"]["_PyPegen_Parser_Free"]).apply(null,arguments)};var __PyPegen_Parser_New=Module["__PyPegen_Parser_New"]=function(){return(__PyPegen_Parser_New=Module["__PyPegen_Parser_New"]=Module["asm"]["_PyPegen_Parser_New"]).apply(null,arguments)};var __PyPegen_run_parser=Module["__PyPegen_run_parser"]=function(){return(__PyPegen_run_parser=Module["__PyPegen_run_parser"]=Module["asm"]["_PyPegen_run_parser"]).apply(null,arguments)};var __PyPegen_parse=Module["__PyPegen_parse"]=function(){return(__PyPegen_parse=Module["__PyPegen_parse"]=Module["asm"]["_PyPegen_parse"]).apply(null,arguments)};var __PyPegen_run_parser_from_file_pointer=Module["__PyPegen_run_parser_from_file_pointer"]=function(){return(__PyPegen_run_parser_from_file_pointer=Module["__PyPegen_run_parser_from_file_pointer"]=Module["asm"]["_PyPegen_run_parser_from_file_pointer"]).apply(null,arguments)};var _PyTokenizer_FromFile=Module["_PyTokenizer_FromFile"]=function(){return(_PyTokenizer_FromFile=Module["_PyTokenizer_FromFile"]=Module["asm"]["PyTokenizer_FromFile"]).apply(null,arguments)};var _PyTokenizer_Free=Module["_PyTokenizer_Free"]=function(){return(_PyTokenizer_Free=Module["_PyTokenizer_Free"]=Module["asm"]["PyTokenizer_Free"]).apply(null,arguments)};var _PyObject_Str=Module["_PyObject_Str"]=function(){return(_PyObject_Str=Module["_PyObject_Str"]=Module["asm"]["PyObject_Str"]).apply(null,arguments)};var __PyPegen_run_parser_from_string=Module["__PyPegen_run_parser_from_string"]=function(){return(__PyPegen_run_parser_from_string=Module["__PyPegen_run_parser_from_string"]=Module["asm"]["_PyPegen_run_parser_from_string"]).apply(null,arguments)};var _PyTokenizer_FromUTF8=Module["_PyTokenizer_FromUTF8"]=function(){return(_PyTokenizer_FromUTF8=Module["_PyTokenizer_FromUTF8"]=Module["asm"]["PyTokenizer_FromUTF8"]).apply(null,arguments)};var _PyTokenizer_FromString=Module["_PyTokenizer_FromString"]=function(){return(_PyTokenizer_FromString=Module["_PyTokenizer_FromString"]=Module["asm"]["PyTokenizer_FromString"]).apply(null,arguments)};var __PyPegen_interactive_exit=Module["__PyPegen_interactive_exit"]=function(){return(__PyPegen_interactive_exit=Module["__PyPegen_interactive_exit"]=Module["asm"]["_PyPegen_interactive_exit"]).apply(null,arguments)};var __PyPegen_singleton_seq=Module["__PyPegen_singleton_seq"]=function(){return(__PyPegen_singleton_seq=Module["__PyPegen_singleton_seq"]=Module["asm"]["_PyPegen_singleton_seq"]).apply(null,arguments)};var __Py_asdl_generic_seq_new=Module["__Py_asdl_generic_seq_new"]=function(){return(__Py_asdl_generic_seq_new=Module["__Py_asdl_generic_seq_new"]=Module["asm"]["_Py_asdl_generic_seq_new"]).apply(null,arguments)};var __PyPegen_seq_insert_in_front=Module["__PyPegen_seq_insert_in_front"]=function(){return(__PyPegen_seq_insert_in_front=Module["__PyPegen_seq_insert_in_front"]=Module["asm"]["_PyPegen_seq_insert_in_front"]).apply(null,arguments)};var __PyPegen_seq_append_to_end=Module["__PyPegen_seq_append_to_end"]=function(){return(__PyPegen_seq_append_to_end=Module["__PyPegen_seq_append_to_end"]=Module["asm"]["_PyPegen_seq_append_to_end"]).apply(null,arguments)};var __PyPegen_seq_flatten=Module["__PyPegen_seq_flatten"]=function(){return(__PyPegen_seq_flatten=Module["__PyPegen_seq_flatten"]=Module["asm"]["_PyPegen_seq_flatten"]).apply(null,arguments)};var __PyPegen_seq_last_item=Module["__PyPegen_seq_last_item"]=function(){return(__PyPegen_seq_last_item=Module["__PyPegen_seq_last_item"]=Module["asm"]["_PyPegen_seq_last_item"]).apply(null,arguments)};var __PyPegen_seq_first_item=Module["__PyPegen_seq_first_item"]=function(){return(__PyPegen_seq_first_item=Module["__PyPegen_seq_first_item"]=Module["asm"]["_PyPegen_seq_first_item"]).apply(null,arguments)};var __PyPegen_join_names_with_dot=Module["__PyPegen_join_names_with_dot"]=function(){return(__PyPegen_join_names_with_dot=Module["__PyPegen_join_names_with_dot"]=Module["asm"]["_PyPegen_join_names_with_dot"]).apply(null,arguments)};var __PyUnicode_Ready=Module["__PyUnicode_Ready"]=function(){return(__PyUnicode_Ready=Module["__PyUnicode_Ready"]=Module["asm"]["_PyUnicode_Ready"]).apply(null,arguments)};var _strcpy=Module["_strcpy"]=function(){return(_strcpy=Module["_strcpy"]=Module["asm"]["strcpy"]).apply(null,arguments)};var __PyPegen_seq_count_dots=Module["__PyPegen_seq_count_dots"]=function(){return(__PyPegen_seq_count_dots=Module["__PyPegen_seq_count_dots"]=Module["asm"]["_PyPegen_seq_count_dots"]).apply(null,arguments)};var __PyPegen_alias_for_star=Module["__PyPegen_alias_for_star"]=function(){return(__PyPegen_alias_for_star=Module["__PyPegen_alias_for_star"]=Module["asm"]["_PyPegen_alias_for_star"]).apply(null,arguments)};var __PyAST_alias=Module["__PyAST_alias"]=function(){return(__PyAST_alias=Module["__PyAST_alias"]=Module["asm"]["_PyAST_alias"]).apply(null,arguments)};var __PyPegen_map_names_to_ids=Module["__PyPegen_map_names_to_ids"]=function(){return(__PyPegen_map_names_to_ids=Module["__PyPegen_map_names_to_ids"]=Module["asm"]["_PyPegen_map_names_to_ids"]).apply(null,arguments)};var __Py_asdl_identifier_seq_new=Module["__Py_asdl_identifier_seq_new"]=function(){return(__Py_asdl_identifier_seq_new=Module["__Py_asdl_identifier_seq_new"]=Module["asm"]["_Py_asdl_identifier_seq_new"]).apply(null,arguments)};var __PyPegen_cmpop_expr_pair=Module["__PyPegen_cmpop_expr_pair"]=function(){return(__PyPegen_cmpop_expr_pair=Module["__PyPegen_cmpop_expr_pair"]=Module["asm"]["_PyPegen_cmpop_expr_pair"]).apply(null,arguments)};var __PyPegen_get_cmpops=Module["__PyPegen_get_cmpops"]=function(){return(__PyPegen_get_cmpops=Module["__PyPegen_get_cmpops"]=Module["asm"]["_PyPegen_get_cmpops"]).apply(null,arguments)};var __Py_asdl_int_seq_new=Module["__Py_asdl_int_seq_new"]=function(){return(__Py_asdl_int_seq_new=Module["__Py_asdl_int_seq_new"]=Module["asm"]["_Py_asdl_int_seq_new"]).apply(null,arguments)};var __PyPegen_get_exprs=Module["__PyPegen_get_exprs"]=function(){return(__PyPegen_get_exprs=Module["__PyPegen_get_exprs"]=Module["asm"]["_PyPegen_get_exprs"]).apply(null,arguments)};var __Py_asdl_expr_seq_new=Module["__Py_asdl_expr_seq_new"]=function(){return(__Py_asdl_expr_seq_new=Module["__Py_asdl_expr_seq_new"]=Module["asm"]["_Py_asdl_expr_seq_new"]).apply(null,arguments)};var __PyPegen_set_expr_context=Module["__PyPegen_set_expr_context"]=function(){return(__PyPegen_set_expr_context=Module["__PyPegen_set_expr_context"]=Module["asm"]["_PyPegen_set_expr_context"]).apply(null,arguments)};var __PyAST_Tuple=Module["__PyAST_Tuple"]=function(){return(__PyAST_Tuple=Module["__PyAST_Tuple"]=Module["asm"]["_PyAST_Tuple"]).apply(null,arguments)};var __PyAST_List=Module["__PyAST_List"]=function(){return(__PyAST_List=Module["__PyAST_List"]=Module["asm"]["_PyAST_List"]).apply(null,arguments)};var __PyAST_Subscript=Module["__PyAST_Subscript"]=function(){return(__PyAST_Subscript=Module["__PyAST_Subscript"]=Module["asm"]["_PyAST_Subscript"]).apply(null,arguments)};var __PyAST_Attribute=Module["__PyAST_Attribute"]=function(){return(__PyAST_Attribute=Module["__PyAST_Attribute"]=Module["asm"]["_PyAST_Attribute"]).apply(null,arguments)};var __PyAST_Starred=Module["__PyAST_Starred"]=function(){return(__PyAST_Starred=Module["__PyAST_Starred"]=Module["asm"]["_PyAST_Starred"]).apply(null,arguments)};var __PyPegen_key_value_pair=Module["__PyPegen_key_value_pair"]=function(){return(__PyPegen_key_value_pair=Module["__PyPegen_key_value_pair"]=Module["asm"]["_PyPegen_key_value_pair"]).apply(null,arguments)};var __PyPegen_get_keys=Module["__PyPegen_get_keys"]=function(){return(__PyPegen_get_keys=Module["__PyPegen_get_keys"]=Module["asm"]["_PyPegen_get_keys"]).apply(null,arguments)};var __PyPegen_get_values=Module["__PyPegen_get_values"]=function(){return(__PyPegen_get_values=Module["__PyPegen_get_values"]=Module["asm"]["_PyPegen_get_values"]).apply(null,arguments)};var __PyPegen_key_pattern_pair=Module["__PyPegen_key_pattern_pair"]=function(){return(__PyPegen_key_pattern_pair=Module["__PyPegen_key_pattern_pair"]=Module["asm"]["_PyPegen_key_pattern_pair"]).apply(null,arguments)};var __PyPegen_get_pattern_keys=Module["__PyPegen_get_pattern_keys"]=function(){return(__PyPegen_get_pattern_keys=Module["__PyPegen_get_pattern_keys"]=Module["asm"]["_PyPegen_get_pattern_keys"]).apply(null,arguments)};var __PyPegen_get_patterns=Module["__PyPegen_get_patterns"]=function(){return(__PyPegen_get_patterns=Module["__PyPegen_get_patterns"]=Module["asm"]["_PyPegen_get_patterns"]).apply(null,arguments)};var __Py_asdl_pattern_seq_new=Module["__Py_asdl_pattern_seq_new"]=function(){return(__Py_asdl_pattern_seq_new=Module["__Py_asdl_pattern_seq_new"]=Module["asm"]["_Py_asdl_pattern_seq_new"]).apply(null,arguments)};var __PyPegen_name_default_pair=Module["__PyPegen_name_default_pair"]=function(){return(__PyPegen_name_default_pair=Module["__PyPegen_name_default_pair"]=Module["asm"]["_PyPegen_name_default_pair"]).apply(null,arguments)};var __PyPegen_slash_with_default=Module["__PyPegen_slash_with_default"]=function(){return(__PyPegen_slash_with_default=Module["__PyPegen_slash_with_default"]=Module["asm"]["_PyPegen_slash_with_default"]).apply(null,arguments)};var __PyPegen_star_etc=Module["__PyPegen_star_etc"]=function(){return(__PyPegen_star_etc=Module["__PyPegen_star_etc"]=Module["asm"]["_PyPegen_star_etc"]).apply(null,arguments)};var __PyPegen_join_sequences=Module["__PyPegen_join_sequences"]=function(){return(__PyPegen_join_sequences=Module["__PyPegen_join_sequences"]=Module["asm"]["_PyPegen_join_sequences"]).apply(null,arguments)};var __PyPegen_make_arguments=Module["__PyPegen_make_arguments"]=function(){return(__PyPegen_make_arguments=Module["__PyPegen_make_arguments"]=Module["asm"]["_PyPegen_make_arguments"]).apply(null,arguments)};var __Py_asdl_arg_seq_new=Module["__Py_asdl_arg_seq_new"]=function(){return(__Py_asdl_arg_seq_new=Module["__Py_asdl_arg_seq_new"]=Module["asm"]["_Py_asdl_arg_seq_new"]).apply(null,arguments)};var __PyAST_arguments=Module["__PyAST_arguments"]=function(){return(__PyAST_arguments=Module["__PyAST_arguments"]=Module["asm"]["_PyAST_arguments"]).apply(null,arguments)};var __PyPegen_empty_arguments=Module["__PyPegen_empty_arguments"]=function(){return(__PyPegen_empty_arguments=Module["__PyPegen_empty_arguments"]=Module["asm"]["_PyPegen_empty_arguments"]).apply(null,arguments)};var __PyPegen_augoperator=Module["__PyPegen_augoperator"]=function(){return(__PyPegen_augoperator=Module["__PyPegen_augoperator"]=Module["asm"]["_PyPegen_augoperator"]).apply(null,arguments)};var __PyPegen_function_def_decorators=Module["__PyPegen_function_def_decorators"]=function(){return(__PyPegen_function_def_decorators=Module["__PyPegen_function_def_decorators"]=Module["asm"]["_PyPegen_function_def_decorators"]).apply(null,arguments)};var __PyAST_AsyncFunctionDef=Module["__PyAST_AsyncFunctionDef"]=function(){return(__PyAST_AsyncFunctionDef=Module["__PyAST_AsyncFunctionDef"]=Module["asm"]["_PyAST_AsyncFunctionDef"]).apply(null,arguments)};var __PyAST_FunctionDef=Module["__PyAST_FunctionDef"]=function(){return(__PyAST_FunctionDef=Module["__PyAST_FunctionDef"]=Module["asm"]["_PyAST_FunctionDef"]).apply(null,arguments)};var __PyPegen_class_def_decorators=Module["__PyPegen_class_def_decorators"]=function(){return(__PyPegen_class_def_decorators=Module["__PyPegen_class_def_decorators"]=Module["asm"]["_PyPegen_class_def_decorators"]).apply(null,arguments)};var __PyAST_ClassDef=Module["__PyAST_ClassDef"]=function(){return(__PyAST_ClassDef=Module["__PyAST_ClassDef"]=Module["asm"]["_PyAST_ClassDef"]).apply(null,arguments)};var __PyPegen_keyword_or_starred=Module["__PyPegen_keyword_or_starred"]=function(){return(__PyPegen_keyword_or_starred=Module["__PyPegen_keyword_or_starred"]=Module["asm"]["_PyPegen_keyword_or_starred"]).apply(null,arguments)};var __PyPegen_seq_extract_starred_exprs=Module["__PyPegen_seq_extract_starred_exprs"]=function(){return(__PyPegen_seq_extract_starred_exprs=Module["__PyPegen_seq_extract_starred_exprs"]=Module["asm"]["_PyPegen_seq_extract_starred_exprs"]).apply(null,arguments)};var __PyPegen_seq_delete_starred_exprs=Module["__PyPegen_seq_delete_starred_exprs"]=function(){return(__PyPegen_seq_delete_starred_exprs=Module["__PyPegen_seq_delete_starred_exprs"]=Module["asm"]["_PyPegen_seq_delete_starred_exprs"]).apply(null,arguments)};var __Py_asdl_keyword_seq_new=Module["__Py_asdl_keyword_seq_new"]=function(){return(__Py_asdl_keyword_seq_new=Module["__Py_asdl_keyword_seq_new"]=Module["asm"]["_Py_asdl_keyword_seq_new"]).apply(null,arguments)};var __PyPegen_concatenate_strings=Module["__PyPegen_concatenate_strings"]=function(){return(__PyPegen_concatenate_strings=Module["__PyPegen_concatenate_strings"]=Module["asm"]["_PyPegen_concatenate_strings"]).apply(null,arguments)};var __PyPegen_FstringParser_Init=Module["__PyPegen_FstringParser_Init"]=function(){return(__PyPegen_FstringParser_Init=Module["__PyPegen_FstringParser_Init"]=Module["asm"]["_PyPegen_FstringParser_Init"]).apply(null,arguments)};var __PyPegen_parsestr=Module["__PyPegen_parsestr"]=function(){return(__PyPegen_parsestr=Module["__PyPegen_parsestr"]=Module["asm"]["_PyPegen_parsestr"]).apply(null,arguments)};var __PyPegen_FstringParser_ConcatFstring=Module["__PyPegen_FstringParser_ConcatFstring"]=function(){return(__PyPegen_FstringParser_ConcatFstring=Module["__PyPegen_FstringParser_ConcatFstring"]=Module["asm"]["_PyPegen_FstringParser_ConcatFstring"]).apply(null,arguments)};var __PyPegen_FstringParser_ConcatAndDel=Module["__PyPegen_FstringParser_ConcatAndDel"]=function(){return(__PyPegen_FstringParser_ConcatAndDel=Module["__PyPegen_FstringParser_ConcatAndDel"]=Module["asm"]["_PyPegen_FstringParser_ConcatAndDel"]).apply(null,arguments)};var _PyBytes_ConcatAndDel=Module["_PyBytes_ConcatAndDel"]=function(){return(_PyBytes_ConcatAndDel=Module["_PyBytes_ConcatAndDel"]=Module["asm"]["PyBytes_ConcatAndDel"]).apply(null,arguments)};var __PyPegen_FstringParser_Finish=Module["__PyPegen_FstringParser_Finish"]=function(){return(__PyPegen_FstringParser_Finish=Module["__PyPegen_FstringParser_Finish"]=Module["asm"]["_PyPegen_FstringParser_Finish"]).apply(null,arguments)};var __PyPegen_FstringParser_Dealloc=Module["__PyPegen_FstringParser_Dealloc"]=function(){return(__PyPegen_FstringParser_Dealloc=Module["__PyPegen_FstringParser_Dealloc"]=Module["asm"]["_PyPegen_FstringParser_Dealloc"]).apply(null,arguments)};var __PyPegen_ensure_imaginary=Module["__PyPegen_ensure_imaginary"]=function(){return(__PyPegen_ensure_imaginary=Module["__PyPegen_ensure_imaginary"]=Module["asm"]["_PyPegen_ensure_imaginary"]).apply(null,arguments)};var __PyPegen_ensure_real=Module["__PyPegen_ensure_real"]=function(){return(__PyPegen_ensure_real=Module["__PyPegen_ensure_real"]=Module["asm"]["_PyPegen_ensure_real"]).apply(null,arguments)};var __PyPegen_make_module=Module["__PyPegen_make_module"]=function(){return(__PyPegen_make_module=Module["__PyPegen_make_module"]=Module["asm"]["_PyPegen_make_module"]).apply(null,arguments)};var __Py_asdl_type_ignore_seq_new=Module["__Py_asdl_type_ignore_seq_new"]=function(){return(__Py_asdl_type_ignore_seq_new=Module["__Py_asdl_type_ignore_seq_new"]=Module["asm"]["_Py_asdl_type_ignore_seq_new"]).apply(null,arguments)};var __PyAST_TypeIgnore=Module["__PyAST_TypeIgnore"]=function(){return(__PyAST_TypeIgnore=Module["__PyAST_TypeIgnore"]=Module["asm"]["_PyAST_TypeIgnore"]).apply(null,arguments)};var __PyAST_Module=Module["__PyAST_Module"]=function(){return(__PyAST_Module=Module["__PyAST_Module"]=Module["asm"]["_PyAST_Module"]).apply(null,arguments)};var __PyPegen_get_invalid_target=Module["__PyPegen_get_invalid_target"]=function(){return(__PyPegen_get_invalid_target=Module["__PyPegen_get_invalid_target"]=Module["asm"]["_PyPegen_get_invalid_target"]).apply(null,arguments)};var __PyPegen_arguments_parsing_error=Module["__PyPegen_arguments_parsing_error"]=function(){return(__PyPegen_arguments_parsing_error=Module["__PyPegen_arguments_parsing_error"]=Module["asm"]["_PyPegen_arguments_parsing_error"]).apply(null,arguments)};var __PyPegen_nonparen_genexp_in_call=Module["__PyPegen_nonparen_genexp_in_call"]=function(){return(__PyPegen_nonparen_genexp_in_call=Module["__PyPegen_nonparen_genexp_in_call"]=Module["asm"]["_PyPegen_nonparen_genexp_in_call"]).apply(null,arguments)};var __PyPegen_collect_call_seqs=Module["__PyPegen_collect_call_seqs"]=function(){return(__PyPegen_collect_call_seqs=Module["__PyPegen_collect_call_seqs"]=Module["asm"]["_PyPegen_collect_call_seqs"]).apply(null,arguments)};var __PyAST_Call=Module["__PyAST_Call"]=function(){return(__PyAST_Call=Module["__PyAST_Call"]=Module["asm"]["_PyAST_Call"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["__errno_location"]).apply(null,arguments)};var _PyOS_strtoul=Module["_PyOS_strtoul"]=function(){return(_PyOS_strtoul=Module["_PyOS_strtoul"]=Module["asm"]["PyOS_strtoul"]).apply(null,arguments)};var _PyLong_FromString=Module["_PyLong_FromString"]=function(){return(_PyLong_FromString=Module["_PyLong_FromString"]=Module["asm"]["PyLong_FromString"]).apply(null,arguments)};var _PyOS_strtol=Module["_PyOS_strtol"]=function(){return(_PyOS_strtol=Module["_PyOS_strtol"]=Module["asm"]["PyOS_strtol"]).apply(null,arguments)};var _PyOS_string_to_double=Module["_PyOS_string_to_double"]=function(){return(_PyOS_string_to_double=Module["_PyOS_string_to_double"]=Module["asm"]["PyOS_string_to_double"]).apply(null,arguments)};var _PyComplex_FromCComplex=Module["_PyComplex_FromCComplex"]=function(){return(_PyComplex_FromCComplex=Module["_PyComplex_FromCComplex"]=Module["asm"]["PyComplex_FromCComplex"]).apply(null,arguments)};var _PyFloat_FromDouble=Module["_PyFloat_FromDouble"]=function(){return(_PyFloat_FromDouble=Module["_PyFloat_FromDouble"]=Module["asm"]["PyFloat_FromDouble"]).apply(null,arguments)};var __PyAST_Pass=Module["__PyAST_Pass"]=function(){return(__PyAST_Pass=Module["__PyAST_Pass"]=Module["asm"]["_PyAST_Pass"]).apply(null,arguments)};var __PyAST_Interactive=Module["__PyAST_Interactive"]=function(){return(__PyAST_Interactive=Module["__PyAST_Interactive"]=Module["asm"]["_PyAST_Interactive"]).apply(null,arguments)};var __PyAST_Expression=Module["__PyAST_Expression"]=function(){return(__PyAST_Expression=Module["__PyAST_Expression"]=Module["asm"]["_PyAST_Expression"]).apply(null,arguments)};var __PyAST_FunctionType=Module["__PyAST_FunctionType"]=function(){return(__PyAST_FunctionType=Module["__PyAST_FunctionType"]=Module["asm"]["_PyAST_FunctionType"]).apply(null,arguments)};var __PyAST_If=Module["__PyAST_If"]=function(){return(__PyAST_If=Module["__PyAST_If"]=Module["asm"]["_PyAST_If"]).apply(null,arguments)};var __PyAST_With=Module["__PyAST_With"]=function(){return(__PyAST_With=Module["__PyAST_With"]=Module["asm"]["_PyAST_With"]).apply(null,arguments)};var __PyAST_AsyncWith=Module["__PyAST_AsyncWith"]=function(){return(__PyAST_AsyncWith=Module["__PyAST_AsyncWith"]=Module["asm"]["_PyAST_AsyncWith"]).apply(null,arguments)};var __PyAST_For=Module["__PyAST_For"]=function(){return(__PyAST_For=Module["__PyAST_For"]=Module["asm"]["_PyAST_For"]).apply(null,arguments)};var __PyAST_AsyncFor=Module["__PyAST_AsyncFor"]=function(){return(__PyAST_AsyncFor=Module["__PyAST_AsyncFor"]=Module["asm"]["_PyAST_AsyncFor"]).apply(null,arguments)};var __PyAST_Try=Module["__PyAST_Try"]=function(){return(__PyAST_Try=Module["__PyAST_Try"]=Module["asm"]["_PyAST_Try"]).apply(null,arguments)};var __PyAST_While=Module["__PyAST_While"]=function(){return(__PyAST_While=Module["__PyAST_While"]=Module["asm"]["_PyAST_While"]).apply(null,arguments)};var __PyAST_Match=Module["__PyAST_Match"]=function(){return(__PyAST_Match=Module["__PyAST_Match"]=Module["asm"]["_PyAST_Match"]).apply(null,arguments)};var __PyAST_NamedExpr=Module["__PyAST_NamedExpr"]=function(){return(__PyAST_NamedExpr=Module["__PyAST_NamedExpr"]=Module["asm"]["_PyAST_NamedExpr"]).apply(null,arguments)};var __PyAST_IfExp=Module["__PyAST_IfExp"]=function(){return(__PyAST_IfExp=Module["__PyAST_IfExp"]=Module["asm"]["_PyAST_IfExp"]).apply(null,arguments)};var __PyAST_BinOp=Module["__PyAST_BinOp"]=function(){return(__PyAST_BinOp=Module["__PyAST_BinOp"]=Module["asm"]["_PyAST_BinOp"]).apply(null,arguments)};var __PyAST_UnaryOp=Module["__PyAST_UnaryOp"]=function(){return(__PyAST_UnaryOp=Module["__PyAST_UnaryOp"]=Module["asm"]["_PyAST_UnaryOp"]).apply(null,arguments)};var __PyAST_Await=Module["__PyAST_Await"]=function(){return(__PyAST_Await=Module["__PyAST_Await"]=Module["asm"]["_PyAST_Await"]).apply(null,arguments)};var __PyAST_GeneratorExp=Module["__PyAST_GeneratorExp"]=function(){return(__PyAST_GeneratorExp=Module["__PyAST_GeneratorExp"]=Module["asm"]["_PyAST_GeneratorExp"]).apply(null,arguments)};var __PyAST_comprehension=Module["__PyAST_comprehension"]=function(){return(__PyAST_comprehension=Module["__PyAST_comprehension"]=Module["asm"]["_PyAST_comprehension"]).apply(null,arguments)};var __PyAST_BoolOp=Module["__PyAST_BoolOp"]=function(){return(__PyAST_BoolOp=Module["__PyAST_BoolOp"]=Module["asm"]["_PyAST_BoolOp"]).apply(null,arguments)};var __PyAST_Compare=Module["__PyAST_Compare"]=function(){return(__PyAST_Compare=Module["__PyAST_Compare"]=Module["asm"]["_PyAST_Compare"]).apply(null,arguments)};var __PyAST_keyword=Module["__PyAST_keyword"]=function(){return(__PyAST_keyword=Module["__PyAST_keyword"]=Module["asm"]["_PyAST_keyword"]).apply(null,arguments)};var __PyAST_Slice=Module["__PyAST_Slice"]=function(){return(__PyAST_Slice=Module["__PyAST_Slice"]=Module["asm"]["_PyAST_Slice"]).apply(null,arguments)};var __PyAST_ListComp=Module["__PyAST_ListComp"]=function(){return(__PyAST_ListComp=Module["__PyAST_ListComp"]=Module["asm"]["_PyAST_ListComp"]).apply(null,arguments)};var __PyAST_Dict=Module["__PyAST_Dict"]=function(){return(__PyAST_Dict=Module["__PyAST_Dict"]=Module["asm"]["_PyAST_Dict"]).apply(null,arguments)};var __PyAST_Set=Module["__PyAST_Set"]=function(){return(__PyAST_Set=Module["__PyAST_Set"]=Module["asm"]["_PyAST_Set"]).apply(null,arguments)};var __PyAST_DictComp=Module["__PyAST_DictComp"]=function(){return(__PyAST_DictComp=Module["__PyAST_DictComp"]=Module["asm"]["_PyAST_DictComp"]).apply(null,arguments)};var __PyAST_YieldFrom=Module["__PyAST_YieldFrom"]=function(){return(__PyAST_YieldFrom=Module["__PyAST_YieldFrom"]=Module["asm"]["_PyAST_YieldFrom"]).apply(null,arguments)};var __PyAST_Yield=Module["__PyAST_Yield"]=function(){return(__PyAST_Yield=Module["__PyAST_Yield"]=Module["asm"]["_PyAST_Yield"]).apply(null,arguments)};var __PyAST_SetComp=Module["__PyAST_SetComp"]=function(){return(__PyAST_SetComp=Module["__PyAST_SetComp"]=Module["asm"]["_PyAST_SetComp"]).apply(null,arguments)};var __PyAST_Lambda=Module["__PyAST_Lambda"]=function(){return(__PyAST_Lambda=Module["__PyAST_Lambda"]=Module["asm"]["_PyAST_Lambda"]).apply(null,arguments)};var __PyAST_withitem=Module["__PyAST_withitem"]=function(){return(__PyAST_withitem=Module["__PyAST_withitem"]=Module["asm"]["_PyAST_withitem"]).apply(null,arguments)};var __PyAST_ExceptHandler=Module["__PyAST_ExceptHandler"]=function(){return(__PyAST_ExceptHandler=Module["__PyAST_ExceptHandler"]=Module["asm"]["_PyAST_ExceptHandler"]).apply(null,arguments)};var __PyAST_match_case=Module["__PyAST_match_case"]=function(){return(__PyAST_match_case=Module["__PyAST_match_case"]=Module["asm"]["_PyAST_match_case"]).apply(null,arguments)};var __PyAST_MatchSequence=Module["__PyAST_MatchSequence"]=function(){return(__PyAST_MatchSequence=Module["__PyAST_MatchSequence"]=Module["asm"]["_PyAST_MatchSequence"]).apply(null,arguments)};var __PyAST_MatchAs=Module["__PyAST_MatchAs"]=function(){return(__PyAST_MatchAs=Module["__PyAST_MatchAs"]=Module["asm"]["_PyAST_MatchAs"]).apply(null,arguments)};var __PyAST_MatchStar=Module["__PyAST_MatchStar"]=function(){return(__PyAST_MatchStar=Module["__PyAST_MatchStar"]=Module["asm"]["_PyAST_MatchStar"]).apply(null,arguments)};var __PyAST_MatchOr=Module["__PyAST_MatchOr"]=function(){return(__PyAST_MatchOr=Module["__PyAST_MatchOr"]=Module["asm"]["_PyAST_MatchOr"]).apply(null,arguments)};var __PyAST_MatchValue=Module["__PyAST_MatchValue"]=function(){return(__PyAST_MatchValue=Module["__PyAST_MatchValue"]=Module["asm"]["_PyAST_MatchValue"]).apply(null,arguments)};var __PyAST_MatchSingleton=Module["__PyAST_MatchSingleton"]=function(){return(__PyAST_MatchSingleton=Module["__PyAST_MatchSingleton"]=Module["asm"]["_PyAST_MatchSingleton"]).apply(null,arguments)};var __PyAST_MatchMapping=Module["__PyAST_MatchMapping"]=function(){return(__PyAST_MatchMapping=Module["__PyAST_MatchMapping"]=Module["asm"]["_PyAST_MatchMapping"]).apply(null,arguments)};var __PyAST_MatchClass=Module["__PyAST_MatchClass"]=function(){return(__PyAST_MatchClass=Module["__PyAST_MatchClass"]=Module["asm"]["_PyAST_MatchClass"]).apply(null,arguments)};var __PyAST_AnnAssign=Module["__PyAST_AnnAssign"]=function(){return(__PyAST_AnnAssign=Module["__PyAST_AnnAssign"]=Module["asm"]["_PyAST_AnnAssign"]).apply(null,arguments)};var __PyAST_Assign=Module["__PyAST_Assign"]=function(){return(__PyAST_Assign=Module["__PyAST_Assign"]=Module["asm"]["_PyAST_Assign"]).apply(null,arguments)};var __PyAST_AugAssign=Module["__PyAST_AugAssign"]=function(){return(__PyAST_AugAssign=Module["__PyAST_AugAssign"]=Module["asm"]["_PyAST_AugAssign"]).apply(null,arguments)};var __PyAST_Expr=Module["__PyAST_Expr"]=function(){return(__PyAST_Expr=Module["__PyAST_Expr"]=Module["asm"]["_PyAST_Expr"]).apply(null,arguments)};var __PyAST_Break=Module["__PyAST_Break"]=function(){return(__PyAST_Break=Module["__PyAST_Break"]=Module["asm"]["_PyAST_Break"]).apply(null,arguments)};var __PyAST_Continue=Module["__PyAST_Continue"]=function(){return(__PyAST_Continue=Module["__PyAST_Continue"]=Module["asm"]["_PyAST_Continue"]).apply(null,arguments)};var __PyAST_Return=Module["__PyAST_Return"]=function(){return(__PyAST_Return=Module["__PyAST_Return"]=Module["asm"]["_PyAST_Return"]).apply(null,arguments)};var __PyAST_Import=Module["__PyAST_Import"]=function(){return(__PyAST_Import=Module["__PyAST_Import"]=Module["asm"]["_PyAST_Import"]).apply(null,arguments)};var __PyAST_ImportFrom=Module["__PyAST_ImportFrom"]=function(){return(__PyAST_ImportFrom=Module["__PyAST_ImportFrom"]=Module["asm"]["_PyAST_ImportFrom"]).apply(null,arguments)};var __PyAST_Raise=Module["__PyAST_Raise"]=function(){return(__PyAST_Raise=Module["__PyAST_Raise"]=Module["asm"]["_PyAST_Raise"]).apply(null,arguments)};var __PyAST_Delete=Module["__PyAST_Delete"]=function(){return(__PyAST_Delete=Module["__PyAST_Delete"]=Module["asm"]["_PyAST_Delete"]).apply(null,arguments)};var __PyAST_Assert=Module["__PyAST_Assert"]=function(){return(__PyAST_Assert=Module["__PyAST_Assert"]=Module["asm"]["_PyAST_Assert"]).apply(null,arguments)};var __PyAST_Global=Module["__PyAST_Global"]=function(){return(__PyAST_Global=Module["__PyAST_Global"]=Module["asm"]["_PyAST_Global"]).apply(null,arguments)};var __PyAST_Nonlocal=Module["__PyAST_Nonlocal"]=function(){return(__PyAST_Nonlocal=Module["__PyAST_Nonlocal"]=Module["asm"]["_PyAST_Nonlocal"]).apply(null,arguments)};var __PyErr_BadInternalCall=Module["__PyErr_BadInternalCall"]=function(){return(__PyErr_BadInternalCall=Module["__PyErr_BadInternalCall"]=Module["asm"]["_PyErr_BadInternalCall"]).apply(null,arguments)};var _PyUnicode_DecodeUTF8Stateful=Module["_PyUnicode_DecodeUTF8Stateful"]=function(){return(_PyUnicode_DecodeUTF8Stateful=Module["_PyUnicode_DecodeUTF8Stateful"]=Module["asm"]["PyUnicode_DecodeUTF8Stateful"]).apply(null,arguments)};var __PyBytes_DecodeEscape=Module["__PyBytes_DecodeEscape"]=function(){return(__PyBytes_DecodeEscape=Module["__PyBytes_DecodeEscape"]=Module["asm"]["_PyBytes_DecodeEscape"]).apply(null,arguments)};var _siprintf=Module["_siprintf"]=function(){return(_siprintf=Module["_siprintf"]=Module["asm"]["siprintf"]).apply(null,arguments)};var __PyUnicode_DecodeUnicodeEscapeInternal=Module["__PyUnicode_DecodeUnicodeEscapeInternal"]=function(){return(__PyUnicode_DecodeUnicodeEscapeInternal=Module["__PyUnicode_DecodeUnicodeEscapeInternal"]=Module["asm"]["_PyUnicode_DecodeUnicodeEscapeInternal"]).apply(null,arguments)};var _PyUnicode_AppendAndDel=Module["_PyUnicode_AppendAndDel"]=function(){return(_PyUnicode_AppendAndDel=Module["_PyUnicode_AppendAndDel"]=Module["asm"]["PyUnicode_AppendAndDel"]).apply(null,arguments)};var __PyAST_FormattedValue=Module["__PyAST_FormattedValue"]=function(){return(__PyAST_FormattedValue=Module["__PyAST_FormattedValue"]=Module["asm"]["_PyAST_FormattedValue"]).apply(null,arguments)};var __PyAST_JoinedStr=Module["__PyAST_JoinedStr"]=function(){return(__PyAST_JoinedStr=Module["__PyAST_JoinedStr"]=Module["asm"]["_PyAST_JoinedStr"]).apply(null,arguments)};var _PyUnicode_FromFormat=Module["_PyUnicode_FromFormat"]=function(){return(_PyUnicode_FromFormat=Module["_PyUnicode_FromFormat"]=Module["asm"]["PyUnicode_FromFormat"]).apply(null,arguments)};var _PyErr_WarnExplicitObject=Module["_PyErr_WarnExplicitObject"]=function(){return(_PyErr_WarnExplicitObject=Module["_PyErr_WarnExplicitObject"]=Module["asm"]["PyErr_WarnExplicitObject"]).apply(null,arguments)};var __PyParser_ASTFromString=Module["__PyParser_ASTFromString"]=function(){return(__PyParser_ASTFromString=Module["__PyParser_ASTFromString"]=Module["asm"]["_PyParser_ASTFromString"]).apply(null,arguments)};var _PySys_Audit=Module["_PySys_Audit"]=function(){return(_PySys_Audit=Module["_PySys_Audit"]=Module["asm"]["PySys_Audit"]).apply(null,arguments)};var __PyParser_ASTFromFile=Module["__PyParser_ASTFromFile"]=function(){return(__PyParser_ASTFromFile=Module["__PyParser_ASTFromFile"]=Module["asm"]["_PyParser_ASTFromFile"]).apply(null,arguments)};var _PyOS_StdioReadline=Module["_PyOS_StdioReadline"]=function(){return(_PyOS_StdioReadline=Module["_PyOS_StdioReadline"]=Module["asm"]["PyOS_StdioReadline"]).apply(null,arguments)};var _fflush=Module["_fflush"]=function(){return(_fflush=Module["_fflush"]=Module["asm"]["fflush"]).apply(null,arguments)};var _fputs=Module["_fputs"]=function(){return(_fputs=Module["_fputs"]=Module["asm"]["fputs"]).apply(null,arguments)};var _PyMem_RawFree=Module["_PyMem_RawFree"]=function(){return(_PyMem_RawFree=Module["_PyMem_RawFree"]=Module["asm"]["PyMem_RawFree"]).apply(null,arguments)};var _PyEval_RestoreThread=Module["_PyEval_RestoreThread"]=function(){return(_PyEval_RestoreThread=Module["_PyEval_RestoreThread"]=Module["asm"]["PyEval_RestoreThread"]).apply(null,arguments)};var _PyEval_SaveThread=Module["_PyEval_SaveThread"]=function(){return(_PyEval_SaveThread=Module["_PyEval_SaveThread"]=Module["asm"]["PyEval_SaveThread"]).apply(null,arguments)};var _PyMem_RawRealloc=Module["_PyMem_RawRealloc"]=function(){return(_PyMem_RawRealloc=Module["_PyMem_RawRealloc"]=Module["asm"]["PyMem_RawRealloc"]).apply(null,arguments)};var _clearerr=Module["_clearerr"]=function(){return(_clearerr=Module["_clearerr"]=Module["asm"]["clearerr"]).apply(null,arguments)};var _fgets=Module["_fgets"]=function(){return(_fgets=Module["_fgets"]=Module["asm"]["fgets"]).apply(null,arguments)};var _feof=Module["_feof"]=function(){return(_feof=Module["_feof"]=Module["asm"]["feof"]).apply(null,arguments)};var _PyErr_CheckSignals=Module["_PyErr_CheckSignals"]=function(){return(_PyErr_CheckSignals=Module["_PyErr_CheckSignals"]=Module["asm"]["PyErr_CheckSignals"]).apply(null,arguments)};var __PyOS_InterruptOccurred=Module["__PyOS_InterruptOccurred"]=function(){return(__PyOS_InterruptOccurred=Module["__PyOS_InterruptOccurred"]=Module["asm"]["_PyOS_InterruptOccurred"]).apply(null,arguments)};var _PyOS_Readline=Module["_PyOS_Readline"]=function(){return(_PyOS_Readline=Module["_PyOS_Readline"]=Module["asm"]["PyOS_Readline"]).apply(null,arguments)};var _PyThread_allocate_lock=Module["_PyThread_allocate_lock"]=function(){return(_PyThread_allocate_lock=Module["_PyThread_allocate_lock"]=Module["asm"]["PyThread_allocate_lock"]).apply(null,arguments)};var _PyThread_acquire_lock=Module["_PyThread_acquire_lock"]=function(){return(_PyThread_acquire_lock=Module["_PyThread_acquire_lock"]=Module["asm"]["PyThread_acquire_lock"]).apply(null,arguments)};var _fileno=Module["_fileno"]=function(){return(_fileno=Module["_fileno"]=Module["asm"]["fileno"]).apply(null,arguments)};var _isatty=Module["_isatty"]=function(){return(_isatty=Module["_isatty"]=Module["asm"]["isatty"]).apply(null,arguments)};var _PyThread_release_lock=Module["_PyThread_release_lock"]=function(){return(_PyThread_release_lock=Module["_PyThread_release_lock"]=Module["asm"]["PyThread_release_lock"]).apply(null,arguments)};var _PyUnicode_Decode=Module["_PyUnicode_Decode"]=function(){return(_PyUnicode_Decode=Module["_PyUnicode_Decode"]=Module["asm"]["PyUnicode_Decode"]).apply(null,arguments)};var _PyUnicode_AsUTF8String=Module["_PyUnicode_AsUTF8String"]=function(){return(_PyUnicode_AsUTF8String=Module["_PyUnicode_AsUTF8String"]=Module["asm"]["PyUnicode_AsUTF8String"]).apply(null,arguments)};var _memcmp=Module["_memcmp"]=function(){return(_memcmp=Module["_memcmp"]=Module["asm"]["memcmp"]).apply(null,arguments)};var __Py_FatalErrorFunc=Module["__Py_FatalErrorFunc"]=function(){return(__Py_FatalErrorFunc=Module["__Py_FatalErrorFunc"]=Module["asm"]["_Py_FatalErrorFunc"]).apply(null,arguments)};var __PyUnicode_ScanIdentifier=Module["__PyUnicode_ScanIdentifier"]=function(){return(__PyUnicode_ScanIdentifier=Module["__PyUnicode_ScanIdentifier"]=Module["asm"]["_PyUnicode_ScanIdentifier"]).apply(null,arguments)};var _PyUnicode_Substring=Module["_PyUnicode_Substring"]=function(){return(_PyUnicode_Substring=Module["_PyUnicode_Substring"]=Module["asm"]["PyUnicode_Substring"]).apply(null,arguments)};var __PyUnicode_IsPrintable=Module["__PyUnicode_IsPrintable"]=function(){return(__PyUnicode_IsPrintable=Module["__PyUnicode_IsPrintable"]=Module["asm"]["_PyUnicode_IsPrintable"]).apply(null,arguments)};var _isxdigit=Module["_isxdigit"]=function(){return(_isxdigit=Module["_isxdigit"]=Module["asm"]["isxdigit"]).apply(null,arguments)};var _PyTokenizer_FindEncodingFilename=Module["_PyTokenizer_FindEncodingFilename"]=function(){return(_PyTokenizer_FindEncodingFilename=Module["_PyTokenizer_FindEncodingFilename"]=Module["asm"]["PyTokenizer_FindEncodingFilename"]).apply(null,arguments)};var __Py_dup=Module["__Py_dup"]=function(){return(__Py_dup=Module["__Py_dup"]=Module["asm"]["_Py_dup"]).apply(null,arguments)};var _fdopen=Module["_fdopen"]=function(){return(_fdopen=Module["_fdopen"]=Module["asm"]["fdopen"]).apply(null,arguments)};var _fclose=Module["_fclose"]=function(){return(_fclose=Module["_fclose"]=Module["asm"]["fclose"]).apply(null,arguments)};var _PyTokenizer_FindEncoding=Module["_PyTokenizer_FindEncoding"]=function(){return(_PyTokenizer_FindEncoding=Module["_PyTokenizer_FindEncoding"]=Module["asm"]["PyTokenizer_FindEncoding"]).apply(null,arguments)};var _tolower=Module["_tolower"]=function(){return(_tolower=Module["_tolower"]=Module["asm"]["tolower"]).apply(null,arguments)};var _getc=Module["_getc"]=function(){return(_getc=Module["_getc"]=Module["asm"]["getc"]).apply(null,arguments)};var _ungetc=Module["_ungetc"]=function(){return(_ungetc=Module["_ungetc"]=Module["asm"]["ungetc"]).apply(null,arguments)};var _Py_UniversalNewlineFgets=Module["_Py_UniversalNewlineFgets"]=function(){return(_Py_UniversalNewlineFgets=Module["_Py_UniversalNewlineFgets"]=Module["asm"]["Py_UniversalNewlineFgets"]).apply(null,arguments)};var _ftell=Module["_ftell"]=function(){return(_ftell=Module["_ftell"]=Module["asm"]["ftell"]).apply(null,arguments)};var _lseek=Module["_lseek"]=function(){return(_lseek=Module["_lseek"]=Module["asm"]["lseek"]).apply(null,arguments)};var _PyErr_SetFromErrnoWithFilename=Module["_PyErr_SetFromErrnoWithFilename"]=function(){return(_PyErr_SetFromErrnoWithFilename=Module["_PyErr_SetFromErrnoWithFilename"]=Module["asm"]["PyErr_SetFromErrnoWithFilename"]).apply(null,arguments)};var _strcspn=Module["_strcspn"]=function(){return(_strcspn=Module["_strcspn"]=Module["asm"]["strcspn"]).apply(null,arguments)};var _PyObject_Type=Module["_PyObject_Type"]=function(){return(_PyObject_Type=Module["_PyObject_Type"]=Module["asm"]["PyObject_Type"]).apply(null,arguments)};var __PyErr_SetString=Module["__PyErr_SetString"]=function(){return(__PyErr_SetString=Module["__PyErr_SetString"]=Module["asm"]["_PyErr_SetString"]).apply(null,arguments)};var _PyObject_Size=Module["_PyObject_Size"]=function(){return(_PyObject_Size=Module["_PyObject_Size"]=Module["asm"]["PyObject_Size"]).apply(null,arguments)};var _PyMapping_Size=Module["_PyMapping_Size"]=function(){return(_PyMapping_Size=Module["_PyMapping_Size"]=Module["asm"]["PyMapping_Size"]).apply(null,arguments)};var _PyObject_Length=Module["_PyObject_Length"]=function(){return(_PyObject_Length=Module["_PyObject_Length"]=Module["asm"]["PyObject_Length"]).apply(null,arguments)};var __PyObject_HasLen=Module["__PyObject_HasLen"]=function(){return(__PyObject_HasLen=Module["__PyObject_HasLen"]=Module["asm"]["_PyObject_HasLen"]).apply(null,arguments)};var _PyObject_LengthHint=Module["_PyObject_LengthHint"]=function(){return(_PyObject_LengthHint=Module["_PyObject_LengthHint"]=Module["asm"]["PyObject_LengthHint"]).apply(null,arguments)};var __PyErr_ExceptionMatches=Module["__PyErr_ExceptionMatches"]=function(){return(__PyErr_ExceptionMatches=Module["__PyErr_ExceptionMatches"]=Module["asm"]["_PyErr_ExceptionMatches"]).apply(null,arguments)};var __PyErr_Clear=Module["__PyErr_Clear"]=function(){return(__PyErr_Clear=Module["__PyErr_Clear"]=Module["asm"]["_PyErr_Clear"]).apply(null,arguments)};var __PyObject_LookupSpecial=Module["__PyObject_LookupSpecial"]=function(){return(__PyObject_LookupSpecial=Module["__PyObject_LookupSpecial"]=Module["asm"]["_PyObject_LookupSpecial"]).apply(null,arguments)};var _PyLong_AsSsize_t=Module["_PyLong_AsSsize_t"]=function(){return(_PyLong_AsSsize_t=Module["_PyLong_AsSsize_t"]=Module["asm"]["PyLong_AsSsize_t"]).apply(null,arguments)};var _Py_GenericAlias=Module["_Py_GenericAlias"]=function(){return(_Py_GenericAlias=Module["_Py_GenericAlias"]=Module["asm"]["Py_GenericAlias"]).apply(null,arguments)};var __PyObject_LookupAttrId=Module["__PyObject_LookupAttrId"]=function(){return(__PyObject_LookupAttrId=Module["__PyObject_LookupAttrId"]=Module["asm"]["_PyObject_LookupAttrId"]).apply(null,arguments)};var __PyNumber_Index=Module["__PyNumber_Index"]=function(){return(__PyNumber_Index=Module["__PyNumber_Index"]=Module["asm"]["_PyNumber_Index"]).apply(null,arguments)};var _PyErr_GivenExceptionMatches=Module["_PyErr_GivenExceptionMatches"]=function(){return(_PyErr_GivenExceptionMatches=Module["_PyErr_GivenExceptionMatches"]=Module["asm"]["PyErr_GivenExceptionMatches"]).apply(null,arguments)};var __PyLong_Sign=Module["__PyLong_Sign"]=function(){return(__PyLong_Sign=Module["__PyLong_Sign"]=Module["asm"]["_PyLong_Sign"]).apply(null,arguments)};var __PyErr_Format=Module["__PyErr_Format"]=function(){return(__PyErr_Format=Module["__PyErr_Format"]=Module["asm"]["_PyErr_Format"]).apply(null,arguments)};var _PySequence_SetItem=Module["_PySequence_SetItem"]=function(){return(_PySequence_SetItem=Module["_PySequence_SetItem"]=Module["asm"]["PySequence_SetItem"]).apply(null,arguments)};var _PySequence_DelItem=Module["_PySequence_DelItem"]=function(){return(_PySequence_DelItem=Module["_PySequence_DelItem"]=Module["asm"]["PySequence_DelItem"]).apply(null,arguments)};var _PyObject_DelItemString=Module["_PyObject_DelItemString"]=function(){return(_PyObject_DelItemString=Module["_PyObject_DelItemString"]=Module["asm"]["PyObject_DelItemString"]).apply(null,arguments)};var _PyObject_CheckReadBuffer=Module["_PyObject_CheckReadBuffer"]=function(){return(_PyObject_CheckReadBuffer=Module["_PyObject_CheckReadBuffer"]=Module["asm"]["PyObject_CheckReadBuffer"]).apply(null,arguments)};var _PyObject_AsCharBuffer=Module["_PyObject_AsCharBuffer"]=function(){return(_PyObject_AsCharBuffer=Module["_PyObject_AsCharBuffer"]=Module["asm"]["PyObject_AsCharBuffer"]).apply(null,arguments)};var _PyObject_AsReadBuffer=Module["_PyObject_AsReadBuffer"]=function(){return(_PyObject_AsReadBuffer=Module["_PyObject_AsReadBuffer"]=Module["asm"]["PyObject_AsReadBuffer"]).apply(null,arguments)};var _PyObject_AsWriteBuffer=Module["_PyObject_AsWriteBuffer"]=function(){return(_PyObject_AsWriteBuffer=Module["_PyObject_AsWriteBuffer"]=Module["asm"]["PyObject_AsWriteBuffer"]).apply(null,arguments)};var _PyBuffer_GetPointer=Module["_PyBuffer_GetPointer"]=function(){return(_PyBuffer_GetPointer=Module["_PyBuffer_GetPointer"]=Module["asm"]["PyBuffer_GetPointer"]).apply(null,arguments)};var __Py_add_one_to_index_F=Module["__Py_add_one_to_index_F"]=function(){return(__Py_add_one_to_index_F=Module["__Py_add_one_to_index_F"]=Module["asm"]["_Py_add_one_to_index_F"]).apply(null,arguments)};var __Py_add_one_to_index_C=Module["__Py_add_one_to_index_C"]=function(){return(__Py_add_one_to_index_C=Module["__Py_add_one_to_index_C"]=Module["asm"]["_Py_add_one_to_index_C"]).apply(null,arguments)};var _PyBuffer_SizeFromFormat=Module["_PyBuffer_SizeFromFormat"]=function(){return(_PyBuffer_SizeFromFormat=Module["_PyBuffer_SizeFromFormat"]=Module["asm"]["PyBuffer_SizeFromFormat"]).apply(null,arguments)};var _PyObject_CallFunctionObjArgs=Module["_PyObject_CallFunctionObjArgs"]=function(){return(_PyObject_CallFunctionObjArgs=Module["_PyObject_CallFunctionObjArgs"]=Module["asm"]["PyObject_CallFunctionObjArgs"]).apply(null,arguments)};var _PyBuffer_FromContiguous=Module["_PyBuffer_FromContiguous"]=function(){return(_PyBuffer_FromContiguous=Module["_PyBuffer_FromContiguous"]=Module["asm"]["PyBuffer_FromContiguous"]).apply(null,arguments)};var _memset=Module["_memset"]=function(){return(_memset=Module["_memset"]=Module["asm"]["memset"]).apply(null,arguments)};var _PyObject_CopyData=Module["_PyObject_CopyData"]=function(){return(_PyObject_CopyData=Module["_PyObject_CopyData"]=Module["asm"]["PyObject_CopyData"]).apply(null,arguments)};var _PyBuffer_FillInfo=Module["_PyBuffer_FillInfo"]=function(){return(_PyBuffer_FillInfo=Module["_PyBuffer_FillInfo"]=Module["asm"]["PyBuffer_FillInfo"]).apply(null,arguments)};var _PyObject_Format=Module["_PyObject_Format"]=function(){return(_PyObject_Format=Module["_PyObject_Format"]=Module["asm"]["PyObject_Format"]).apply(null,arguments)};var _PyNumber_Check=Module["_PyNumber_Check"]=function(){return(_PyNumber_Check=Module["_PyNumber_Check"]=Module["asm"]["PyNumber_Check"]).apply(null,arguments)};var _PyNumber_Or=Module["_PyNumber_Or"]=function(){return(_PyNumber_Or=Module["_PyNumber_Or"]=Module["asm"]["PyNumber_Or"]).apply(null,arguments)};var _PyNumber_Xor=Module["_PyNumber_Xor"]=function(){return(_PyNumber_Xor=Module["_PyNumber_Xor"]=Module["asm"]["PyNumber_Xor"]).apply(null,arguments)};var _PyNumber_And=Module["_PyNumber_And"]=function(){return(_PyNumber_And=Module["_PyNumber_And"]=Module["asm"]["PyNumber_And"]).apply(null,arguments)};var _PyNumber_Lshift=Module["_PyNumber_Lshift"]=function(){return(_PyNumber_Lshift=Module["_PyNumber_Lshift"]=Module["asm"]["PyNumber_Lshift"]).apply(null,arguments)};var _PyNumber_Rshift=Module["_PyNumber_Rshift"]=function(){return(_PyNumber_Rshift=Module["_PyNumber_Rshift"]=Module["asm"]["PyNumber_Rshift"]).apply(null,arguments)};var _PyNumber_Subtract=Module["_PyNumber_Subtract"]=function(){return(_PyNumber_Subtract=Module["_PyNumber_Subtract"]=Module["asm"]["PyNumber_Subtract"]).apply(null,arguments)};var _PyNumber_Divmod=Module["_PyNumber_Divmod"]=function(){return(_PyNumber_Divmod=Module["_PyNumber_Divmod"]=Module["asm"]["PyNumber_Divmod"]).apply(null,arguments)};var _PyNumber_Add=Module["_PyNumber_Add"]=function(){return(_PyNumber_Add=Module["_PyNumber_Add"]=Module["asm"]["PyNumber_Add"]).apply(null,arguments)};var _PyNumber_Multiply=Module["_PyNumber_Multiply"]=function(){return(_PyNumber_Multiply=Module["_PyNumber_Multiply"]=Module["asm"]["PyNumber_Multiply"]).apply(null,arguments)};var _PyNumber_MatrixMultiply=Module["_PyNumber_MatrixMultiply"]=function(){return(_PyNumber_MatrixMultiply=Module["_PyNumber_MatrixMultiply"]=Module["asm"]["PyNumber_MatrixMultiply"]).apply(null,arguments)};var _PyNumber_FloorDivide=Module["_PyNumber_FloorDivide"]=function(){return(_PyNumber_FloorDivide=Module["_PyNumber_FloorDivide"]=Module["asm"]["PyNumber_FloorDivide"]).apply(null,arguments)};var _PyNumber_TrueDivide=Module["_PyNumber_TrueDivide"]=function(){return(_PyNumber_TrueDivide=Module["_PyNumber_TrueDivide"]=Module["asm"]["PyNumber_TrueDivide"]).apply(null,arguments)};var _PyNumber_Remainder=Module["_PyNumber_Remainder"]=function(){return(_PyNumber_Remainder=Module["_PyNumber_Remainder"]=Module["asm"]["PyNumber_Remainder"]).apply(null,arguments)};var _PyNumber_Power=Module["_PyNumber_Power"]=function(){return(_PyNumber_Power=Module["_PyNumber_Power"]=Module["asm"]["PyNumber_Power"]).apply(null,arguments)};var _PyNumber_InPlaceOr=Module["_PyNumber_InPlaceOr"]=function(){return(_PyNumber_InPlaceOr=Module["_PyNumber_InPlaceOr"]=Module["asm"]["PyNumber_InPlaceOr"]).apply(null,arguments)};var _PyNumber_InPlaceXor=Module["_PyNumber_InPlaceXor"]=function(){return(_PyNumber_InPlaceXor=Module["_PyNumber_InPlaceXor"]=Module["asm"]["PyNumber_InPlaceXor"]).apply(null,arguments)};var _PyNumber_InPlaceAnd=Module["_PyNumber_InPlaceAnd"]=function(){return(_PyNumber_InPlaceAnd=Module["_PyNumber_InPlaceAnd"]=Module["asm"]["PyNumber_InPlaceAnd"]).apply(null,arguments)};var _PyNumber_InPlaceLshift=Module["_PyNumber_InPlaceLshift"]=function(){return(_PyNumber_InPlaceLshift=Module["_PyNumber_InPlaceLshift"]=Module["asm"]["PyNumber_InPlaceLshift"]).apply(null,arguments)};var _PyNumber_InPlaceRshift=Module["_PyNumber_InPlaceRshift"]=function(){return(_PyNumber_InPlaceRshift=Module["_PyNumber_InPlaceRshift"]=Module["asm"]["PyNumber_InPlaceRshift"]).apply(null,arguments)};var _PyNumber_InPlaceSubtract=Module["_PyNumber_InPlaceSubtract"]=function(){return(_PyNumber_InPlaceSubtract=Module["_PyNumber_InPlaceSubtract"]=Module["asm"]["PyNumber_InPlaceSubtract"]).apply(null,arguments)};var _PyNumber_InMatrixMultiply=Module["_PyNumber_InMatrixMultiply"]=function(){return(_PyNumber_InMatrixMultiply=Module["_PyNumber_InMatrixMultiply"]=Module["asm"]["PyNumber_InMatrixMultiply"]).apply(null,arguments)};var _PyNumber_InPlaceFloorDivide=Module["_PyNumber_InPlaceFloorDivide"]=function(){return(_PyNumber_InPlaceFloorDivide=Module["_PyNumber_InPlaceFloorDivide"]=Module["asm"]["PyNumber_InPlaceFloorDivide"]).apply(null,arguments)};var _PyNumber_InPlaceTrueDivide=Module["_PyNumber_InPlaceTrueDivide"]=function(){return(_PyNumber_InPlaceTrueDivide=Module["_PyNumber_InPlaceTrueDivide"]=Module["asm"]["PyNumber_InPlaceTrueDivide"]).apply(null,arguments)};var _PyNumber_InPlaceAdd=Module["_PyNumber_InPlaceAdd"]=function(){return(_PyNumber_InPlaceAdd=Module["_PyNumber_InPlaceAdd"]=Module["asm"]["PyNumber_InPlaceAdd"]).apply(null,arguments)};var _PyNumber_InPlaceMultiply=Module["_PyNumber_InPlaceMultiply"]=function(){return(_PyNumber_InPlaceMultiply=Module["_PyNumber_InPlaceMultiply"]=Module["asm"]["PyNumber_InPlaceMultiply"]).apply(null,arguments)};var _PyNumber_InPlaceMatrixMultiply=Module["_PyNumber_InPlaceMatrixMultiply"]=function(){return(_PyNumber_InPlaceMatrixMultiply=Module["_PyNumber_InPlaceMatrixMultiply"]=Module["asm"]["PyNumber_InPlaceMatrixMultiply"]).apply(null,arguments)};var _PyNumber_InPlaceRemainder=Module["_PyNumber_InPlaceRemainder"]=function(){return(_PyNumber_InPlaceRemainder=Module["_PyNumber_InPlaceRemainder"]=Module["asm"]["PyNumber_InPlaceRemainder"]).apply(null,arguments)};var _PyNumber_InPlacePower=Module["_PyNumber_InPlacePower"]=function(){return(_PyNumber_InPlacePower=Module["_PyNumber_InPlacePower"]=Module["asm"]["PyNumber_InPlacePower"]).apply(null,arguments)};var _PyNumber_Negative=Module["_PyNumber_Negative"]=function(){return(_PyNumber_Negative=Module["_PyNumber_Negative"]=Module["asm"]["PyNumber_Negative"]).apply(null,arguments)};var _PyNumber_Positive=Module["_PyNumber_Positive"]=function(){return(_PyNumber_Positive=Module["_PyNumber_Positive"]=Module["asm"]["PyNumber_Positive"]).apply(null,arguments)};var _PyNumber_Invert=Module["_PyNumber_Invert"]=function(){return(_PyNumber_Invert=Module["_PyNumber_Invert"]=Module["asm"]["PyNumber_Invert"]).apply(null,arguments)};var _PyNumber_Absolute=Module["_PyNumber_Absolute"]=function(){return(_PyNumber_Absolute=Module["_PyNumber_Absolute"]=Module["asm"]["PyNumber_Absolute"]).apply(null,arguments)};var _PyErr_WarnFormat=Module["_PyErr_WarnFormat"]=function(){return(_PyErr_WarnFormat=Module["_PyErr_WarnFormat"]=Module["asm"]["PyErr_WarnFormat"]).apply(null,arguments)};var _PyNumber_Index=Module["_PyNumber_Index"]=function(){return(_PyNumber_Index=Module["_PyNumber_Index"]=Module["asm"]["PyNumber_Index"]).apply(null,arguments)};var __PyLong_Copy=Module["__PyLong_Copy"]=function(){return(__PyLong_Copy=Module["__PyLong_Copy"]=Module["asm"]["_PyLong_Copy"]).apply(null,arguments)};var _PyNumber_Long=Module["_PyNumber_Long"]=function(){return(_PyNumber_Long=Module["_PyNumber_Long"]=Module["asm"]["PyNumber_Long"]).apply(null,arguments)};var _PyLong_FromUnicodeObject=Module["_PyLong_FromUnicodeObject"]=function(){return(_PyLong_FromUnicodeObject=Module["_PyLong_FromUnicodeObject"]=Module["asm"]["PyLong_FromUnicodeObject"]).apply(null,arguments)};var __PyLong_FromBytes=Module["__PyLong_FromBytes"]=function(){return(__PyLong_FromBytes=Module["__PyLong_FromBytes"]=Module["asm"]["_PyLong_FromBytes"]).apply(null,arguments)};var _PyNumber_Float=Module["_PyNumber_Float"]=function(){return(_PyNumber_Float=Module["_PyNumber_Float"]=Module["asm"]["PyNumber_Float"]).apply(null,arguments)};var _PyLong_AsDouble=Module["_PyLong_AsDouble"]=function(){return(_PyLong_AsDouble=Module["_PyLong_AsDouble"]=Module["asm"]["PyLong_AsDouble"]).apply(null,arguments)};var _PyFloat_FromString=Module["_PyFloat_FromString"]=function(){return(_PyFloat_FromString=Module["_PyFloat_FromString"]=Module["asm"]["PyFloat_FromString"]).apply(null,arguments)};var _PyNumber_ToBase=Module["_PyNumber_ToBase"]=function(){return(_PyNumber_ToBase=Module["_PyNumber_ToBase"]=Module["asm"]["PyNumber_ToBase"]).apply(null,arguments)};var __PyLong_Format=Module["__PyLong_Format"]=function(){return(__PyLong_Format=Module["__PyLong_Format"]=Module["asm"]["_PyLong_Format"]).apply(null,arguments)};var _PySequence_Length=Module["_PySequence_Length"]=function(){return(_PySequence_Length=Module["_PySequence_Length"]=Module["asm"]["PySequence_Length"]).apply(null,arguments)};var _PySequence_Concat=Module["_PySequence_Concat"]=function(){return(_PySequence_Concat=Module["_PySequence_Concat"]=Module["asm"]["PySequence_Concat"]).apply(null,arguments)};var _PySequence_Repeat=Module["_PySequence_Repeat"]=function(){return(_PySequence_Repeat=Module["_PySequence_Repeat"]=Module["asm"]["PySequence_Repeat"]).apply(null,arguments)};var _PyLong_FromSsize_t=Module["_PyLong_FromSsize_t"]=function(){return(_PyLong_FromSsize_t=Module["_PyLong_FromSsize_t"]=Module["asm"]["PyLong_FromSsize_t"]).apply(null,arguments)};var _PySequence_InPlaceConcat=Module["_PySequence_InPlaceConcat"]=function(){return(_PySequence_InPlaceConcat=Module["_PySequence_InPlaceConcat"]=Module["asm"]["PySequence_InPlaceConcat"]).apply(null,arguments)};var _PySequence_InPlaceRepeat=Module["_PySequence_InPlaceRepeat"]=function(){return(_PySequence_InPlaceRepeat=Module["_PySequence_InPlaceRepeat"]=Module["asm"]["PySequence_InPlaceRepeat"]).apply(null,arguments)};var _PySequence_GetSlice=Module["_PySequence_GetSlice"]=function(){return(_PySequence_GetSlice=Module["_PySequence_GetSlice"]=Module["asm"]["PySequence_GetSlice"]).apply(null,arguments)};var __PySlice_FromIndices=Module["__PySlice_FromIndices"]=function(){return(__PySlice_FromIndices=Module["__PySlice_FromIndices"]=Module["asm"]["_PySlice_FromIndices"]).apply(null,arguments)};var _PySequence_SetSlice=Module["_PySequence_SetSlice"]=function(){return(_PySequence_SetSlice=Module["_PySequence_SetSlice"]=Module["asm"]["PySequence_SetSlice"]).apply(null,arguments)};var _PySequence_DelSlice=Module["_PySequence_DelSlice"]=function(){return(_PySequence_DelSlice=Module["_PySequence_DelSlice"]=Module["asm"]["PySequence_DelSlice"]).apply(null,arguments)};var _PySequence_Tuple=Module["_PySequence_Tuple"]=function(){return(_PySequence_Tuple=Module["_PySequence_Tuple"]=Module["asm"]["PySequence_Tuple"]).apply(null,arguments)};var _PyList_AsTuple=Module["_PyList_AsTuple"]=function(){return(_PyList_AsTuple=Module["_PyList_AsTuple"]=Module["asm"]["PyList_AsTuple"]).apply(null,arguments)};var __PyTuple_Resize=Module["__PyTuple_Resize"]=function(){return(__PyTuple_Resize=Module["__PyTuple_Resize"]=Module["asm"]["_PyTuple_Resize"]).apply(null,arguments)};var _PySeqIter_New=Module["_PySeqIter_New"]=function(){return(_PySeqIter_New=Module["_PySeqIter_New"]=Module["asm"]["PySeqIter_New"]).apply(null,arguments)};var __PyObject_NextNotImplemented=Module["__PyObject_NextNotImplemented"]=function(){return(__PyObject_NextNotImplemented=Module["__PyObject_NextNotImplemented"]=Module["asm"]["_PyObject_NextNotImplemented"]).apply(null,arguments)};var _PySequence_List=Module["_PySequence_List"]=function(){return(_PySequence_List=Module["_PySequence_List"]=Module["asm"]["PySequence_List"]).apply(null,arguments)};var _PySequence_Fast=Module["_PySequence_Fast"]=function(){return(_PySequence_Fast=Module["_PySequence_Fast"]=Module["asm"]["PySequence_Fast"]).apply(null,arguments)};var __PySequence_IterSearch=Module["__PySequence_IterSearch"]=function(){return(__PySequence_IterSearch=Module["__PySequence_IterSearch"]=Module["asm"]["_PySequence_IterSearch"]).apply(null,arguments)};var _PyObject_RichCompareBool=Module["_PyObject_RichCompareBool"]=function(){return(_PyObject_RichCompareBool=Module["_PyObject_RichCompareBool"]=Module["asm"]["PyObject_RichCompareBool"]).apply(null,arguments)};var _PySequence_Count=Module["_PySequence_Count"]=function(){return(_PySequence_Count=Module["_PySequence_Count"]=Module["asm"]["PySequence_Count"]).apply(null,arguments)};var _PySequence_In=Module["_PySequence_In"]=function(){return(_PySequence_In=Module["_PySequence_In"]=Module["asm"]["PySequence_In"]).apply(null,arguments)};var _PySequence_Index=Module["_PySequence_Index"]=function(){return(_PySequence_Index=Module["_PySequence_Index"]=Module["asm"]["PySequence_Index"]).apply(null,arguments)};var _PyMapping_Check=Module["_PyMapping_Check"]=function(){return(_PyMapping_Check=Module["_PyMapping_Check"]=Module["asm"]["PyMapping_Check"]).apply(null,arguments)};var _PyMapping_Length=Module["_PyMapping_Length"]=function(){return(_PyMapping_Length=Module["_PyMapping_Length"]=Module["asm"]["PyMapping_Length"]).apply(null,arguments)};var _PyMapping_GetItemString=Module["_PyMapping_GetItemString"]=function(){return(_PyMapping_GetItemString=Module["_PyMapping_GetItemString"]=Module["asm"]["PyMapping_GetItemString"]).apply(null,arguments)};var _PyMapping_SetItemString=Module["_PyMapping_SetItemString"]=function(){return(_PyMapping_SetItemString=Module["_PyMapping_SetItemString"]=Module["asm"]["PyMapping_SetItemString"]).apply(null,arguments)};var _PyMapping_HasKeyString=Module["_PyMapping_HasKeyString"]=function(){return(_PyMapping_HasKeyString=Module["_PyMapping_HasKeyString"]=Module["asm"]["PyMapping_HasKeyString"]).apply(null,arguments)};var _PyMapping_HasKey=Module["_PyMapping_HasKey"]=function(){return(_PyMapping_HasKey=Module["_PyMapping_HasKey"]=Module["asm"]["PyMapping_HasKey"]).apply(null,arguments)};var _PyMapping_Keys=Module["_PyMapping_Keys"]=function(){return(_PyMapping_Keys=Module["_PyMapping_Keys"]=Module["asm"]["PyMapping_Keys"]).apply(null,arguments)};var _PyDict_Keys=Module["_PyDict_Keys"]=function(){return(_PyDict_Keys=Module["_PyDict_Keys"]=Module["asm"]["PyDict_Keys"]).apply(null,arguments)};var _PyMapping_Items=Module["_PyMapping_Items"]=function(){return(_PyMapping_Items=Module["_PyMapping_Items"]=Module["asm"]["PyMapping_Items"]).apply(null,arguments)};var _PyDict_Items=Module["_PyDict_Items"]=function(){return(_PyDict_Items=Module["_PyDict_Items"]=Module["asm"]["PyDict_Items"]).apply(null,arguments)};var _PyMapping_Values=Module["_PyMapping_Values"]=function(){return(_PyMapping_Values=Module["_PyMapping_Values"]=Module["asm"]["PyMapping_Values"]).apply(null,arguments)};var _PyDict_Values=Module["_PyDict_Values"]=function(){return(_PyDict_Values=Module["_PyDict_Values"]=Module["asm"]["PyDict_Values"]).apply(null,arguments)};var _PyObject_IsInstance=Module["_PyObject_IsInstance"]=function(){return(_PyObject_IsInstance=Module["_PyObject_IsInstance"]=Module["asm"]["PyObject_IsInstance"]).apply(null,arguments)};var __Py_CheckRecursiveCall=Module["__Py_CheckRecursiveCall"]=function(){return(__Py_CheckRecursiveCall=Module["__Py_CheckRecursiveCall"]=Module["asm"]["_Py_CheckRecursiveCall"]).apply(null,arguments)};var _PyObject_IsTrue=Module["_PyObject_IsTrue"]=function(){return(_PyObject_IsTrue=Module["_PyObject_IsTrue"]=Module["asm"]["PyObject_IsTrue"]).apply(null,arguments)};var _PyObject_IsSubclass=Module["_PyObject_IsSubclass"]=function(){return(_PyObject_IsSubclass=Module["_PyObject_IsSubclass"]=Module["asm"]["PyObject_IsSubclass"]).apply(null,arguments)};var __PyObject_RealIsInstance=Module["__PyObject_RealIsInstance"]=function(){return(__PyObject_RealIsInstance=Module["__PyObject_RealIsInstance"]=Module["asm"]["_PyObject_RealIsInstance"]).apply(null,arguments)};var __PyObject_RealIsSubclass=Module["__PyObject_RealIsSubclass"]=function(){return(__PyObject_RealIsSubclass=Module["__PyObject_RealIsSubclass"]=Module["asm"]["_PyObject_RealIsSubclass"]).apply(null,arguments)};var _PyObject_GetAIter=Module["_PyObject_GetAIter"]=function(){return(_PyObject_GetAIter=Module["_PyObject_GetAIter"]=Module["asm"]["PyObject_GetAIter"]).apply(null,arguments)};var _PyAIter_Check=Module["_PyAIter_Check"]=function(){return(_PyAIter_Check=Module["_PyAIter_Check"]=Module["asm"]["PyAIter_Check"]).apply(null,arguments)};var __PyGen_FetchStopIterationValue=Module["__PyGen_FetchStopIterationValue"]=function(){return(__PyGen_FetchStopIterationValue=Module["__PyGen_FetchStopIterationValue"]=Module["asm"]["_PyGen_FetchStopIterationValue"]).apply(null,arguments)};var __PySequence_BytesToCharpArray=Module["__PySequence_BytesToCharpArray"]=function(){return(__PySequence_BytesToCharpArray=Module["__PySequence_BytesToCharpArray"]=Module["asm"]["_PySequence_BytesToCharpArray"]).apply(null,arguments)};var __Py_FreeCharPArray=Module["__Py_FreeCharPArray"]=function(){return(__Py_FreeCharPArray=Module["__Py_FreeCharPArray"]=Module["asm"]["_Py_FreeCharPArray"]).apply(null,arguments)};var __PyAccu_Init=Module["__PyAccu_Init"]=function(){return(__PyAccu_Init=Module["__PyAccu_Init"]=Module["asm"]["_PyAccu_Init"]).apply(null,arguments)};var __PyAccu_Accumulate=Module["__PyAccu_Accumulate"]=function(){return(__PyAccu_Accumulate=Module["__PyAccu_Accumulate"]=Module["asm"]["_PyAccu_Accumulate"]).apply(null,arguments)};var _PyList_Append=Module["_PyList_Append"]=function(){return(_PyList_Append=Module["_PyList_Append"]=Module["asm"]["PyList_Append"]).apply(null,arguments)};var _PyList_SetSlice=Module["_PyList_SetSlice"]=function(){return(_PyList_SetSlice=Module["_PyList_SetSlice"]=Module["asm"]["PyList_SetSlice"]).apply(null,arguments)};var __PyAccu_FinishAsList=Module["__PyAccu_FinishAsList"]=function(){return(__PyAccu_FinishAsList=Module["__PyAccu_FinishAsList"]=Module["asm"]["_PyAccu_FinishAsList"]).apply(null,arguments)};var __PyAccu_Finish=Module["__PyAccu_Finish"]=function(){return(__PyAccu_Finish=Module["__PyAccu_Finish"]=Module["asm"]["_PyAccu_Finish"]).apply(null,arguments)};var __PyAccu_Destroy=Module["__PyAccu_Destroy"]=function(){return(__PyAccu_Destroy=Module["__PyAccu_Destroy"]=Module["asm"]["_PyAccu_Destroy"]).apply(null,arguments)};var _PyBool_FromLong=Module["_PyBool_FromLong"]=function(){return(_PyBool_FromLong=Module["_PyBool_FromLong"]=Module["asm"]["PyBool_FromLong"]).apply(null,arguments)};var __PyArg_NoKeywords=Module["__PyArg_NoKeywords"]=function(){return(__PyArg_NoKeywords=Module["__PyArg_NoKeywords"]=Module["asm"]["_PyArg_NoKeywords"]).apply(null,arguments)};var __PyArg_NoKwnames=Module["__PyArg_NoKwnames"]=function(){return(__PyArg_NoKwnames=Module["__PyArg_NoKwnames"]=Module["asm"]["_PyArg_NoKwnames"]).apply(null,arguments)};var __PyArg_CheckPositional=Module["__PyArg_CheckPositional"]=function(){return(__PyArg_CheckPositional=Module["__PyArg_CheckPositional"]=Module["asm"]["_PyArg_CheckPositional"]).apply(null,arguments)};var __Py_bytes_isspace=Module["__Py_bytes_isspace"]=function(){return(__Py_bytes_isspace=Module["__Py_bytes_isspace"]=Module["asm"]["_Py_bytes_isspace"]).apply(null,arguments)};var __Py_bytes_isalpha=Module["__Py_bytes_isalpha"]=function(){return(__Py_bytes_isalpha=Module["__Py_bytes_isalpha"]=Module["asm"]["_Py_bytes_isalpha"]).apply(null,arguments)};var __Py_bytes_isalnum=Module["__Py_bytes_isalnum"]=function(){return(__Py_bytes_isalnum=Module["__Py_bytes_isalnum"]=Module["asm"]["_Py_bytes_isalnum"]).apply(null,arguments)};var __Py_bytes_isascii=Module["__Py_bytes_isascii"]=function(){return(__Py_bytes_isascii=Module["__Py_bytes_isascii"]=Module["asm"]["_Py_bytes_isascii"]).apply(null,arguments)};var __Py_bytes_isdigit=Module["__Py_bytes_isdigit"]=function(){return(__Py_bytes_isdigit=Module["__Py_bytes_isdigit"]=Module["asm"]["_Py_bytes_isdigit"]).apply(null,arguments)};var __Py_bytes_islower=Module["__Py_bytes_islower"]=function(){return(__Py_bytes_islower=Module["__Py_bytes_islower"]=Module["asm"]["_Py_bytes_islower"]).apply(null,arguments)};var __Py_bytes_isupper=Module["__Py_bytes_isupper"]=function(){return(__Py_bytes_isupper=Module["__Py_bytes_isupper"]=Module["asm"]["_Py_bytes_isupper"]).apply(null,arguments)};var __Py_bytes_istitle=Module["__Py_bytes_istitle"]=function(){return(__Py_bytes_istitle=Module["__Py_bytes_istitle"]=Module["asm"]["_Py_bytes_istitle"]).apply(null,arguments)};var __Py_bytes_lower=Module["__Py_bytes_lower"]=function(){return(__Py_bytes_lower=Module["__Py_bytes_lower"]=Module["asm"]["_Py_bytes_lower"]).apply(null,arguments)};var __Py_bytes_upper=Module["__Py_bytes_upper"]=function(){return(__Py_bytes_upper=Module["__Py_bytes_upper"]=Module["asm"]["_Py_bytes_upper"]).apply(null,arguments)};var __Py_bytes_title=Module["__Py_bytes_title"]=function(){return(__Py_bytes_title=Module["__Py_bytes_title"]=Module["asm"]["_Py_bytes_title"]).apply(null,arguments)};var __Py_bytes_capitalize=Module["__Py_bytes_capitalize"]=function(){return(__Py_bytes_capitalize=Module["__Py_bytes_capitalize"]=Module["asm"]["_Py_bytes_capitalize"]).apply(null,arguments)};var __Py_bytes_swapcase=Module["__Py_bytes_swapcase"]=function(){return(__Py_bytes_swapcase=Module["__Py_bytes_swapcase"]=Module["asm"]["_Py_bytes_swapcase"]).apply(null,arguments)};var __Py_bytes_maketrans=Module["__Py_bytes_maketrans"]=function(){return(__Py_bytes_maketrans=Module["__Py_bytes_maketrans"]=Module["asm"]["_Py_bytes_maketrans"]).apply(null,arguments)};var __Py_bytes_find=Module["__Py_bytes_find"]=function(){return(__Py_bytes_find=Module["__Py_bytes_find"]=Module["asm"]["_Py_bytes_find"]).apply(null,arguments)};var _memrchr=Module["_memrchr"]=function(){return(_memrchr=Module["_memrchr"]=Module["asm"]["memrchr"]).apply(null,arguments)};var _memchr=Module["_memchr"]=function(){return(_memchr=Module["_memchr"]=Module["asm"]["memchr"]).apply(null,arguments)};var __Py_bytes_index=Module["__Py_bytes_index"]=function(){return(__Py_bytes_index=Module["__Py_bytes_index"]=Module["asm"]["_Py_bytes_index"]).apply(null,arguments)};var __Py_bytes_rfind=Module["__Py_bytes_rfind"]=function(){return(__Py_bytes_rfind=Module["__Py_bytes_rfind"]=Module["asm"]["_Py_bytes_rfind"]).apply(null,arguments)};var __Py_bytes_rindex=Module["__Py_bytes_rindex"]=function(){return(__Py_bytes_rindex=Module["__Py_bytes_rindex"]=Module["asm"]["_Py_bytes_rindex"]).apply(null,arguments)};var __Py_bytes_count=Module["__Py_bytes_count"]=function(){return(__Py_bytes_count=Module["__Py_bytes_count"]=Module["asm"]["_Py_bytes_count"]).apply(null,arguments)};var __Py_bytes_contains=Module["__Py_bytes_contains"]=function(){return(__Py_bytes_contains=Module["__Py_bytes_contains"]=Module["asm"]["_Py_bytes_contains"]).apply(null,arguments)};var __Py_bytes_startswith=Module["__Py_bytes_startswith"]=function(){return(__Py_bytes_startswith=Module["__Py_bytes_startswith"]=Module["asm"]["_Py_bytes_startswith"]).apply(null,arguments)};var __Py_bytes_endswith=Module["__Py_bytes_endswith"]=function(){return(__Py_bytes_endswith=Module["__Py_bytes_endswith"]=Module["asm"]["_Py_bytes_endswith"]).apply(null,arguments)};var __PyArg_ParseTuple_SizeT=Module["__PyArg_ParseTuple_SizeT"]=function(){return(__PyArg_ParseTuple_SizeT=Module["__PyArg_ParseTuple_SizeT"]=Module["asm"]["_PyArg_ParseTuple_SizeT"]).apply(null,arguments)};var __PyEval_SliceIndex=Module["__PyEval_SliceIndex"]=function(){return(__PyEval_SliceIndex=Module["__PyEval_SliceIndex"]=Module["asm"]["_PyEval_SliceIndex"]).apply(null,arguments)};var _PyByteArray_FromObject=Module["_PyByteArray_FromObject"]=function(){return(_PyByteArray_FromObject=Module["_PyByteArray_FromObject"]=Module["asm"]["PyByteArray_FromObject"]).apply(null,arguments)};var _PyByteArray_FromStringAndSize=Module["_PyByteArray_FromStringAndSize"]=function(){return(_PyByteArray_FromStringAndSize=Module["_PyByteArray_FromStringAndSize"]=Module["asm"]["PyByteArray_FromStringAndSize"]).apply(null,arguments)};var __PyObject_New=Module["__PyObject_New"]=function(){return(__PyObject_New=Module["__PyObject_New"]=Module["asm"]["_PyObject_New"]).apply(null,arguments)};var _PyObject_Malloc=Module["_PyObject_Malloc"]=function(){return(_PyObject_Malloc=Module["_PyObject_Malloc"]=Module["asm"]["PyObject_Malloc"]).apply(null,arguments)};var _PyByteArray_Size=Module["_PyByteArray_Size"]=function(){return(_PyByteArray_Size=Module["_PyByteArray_Size"]=Module["asm"]["PyByteArray_Size"]).apply(null,arguments)};var _PyByteArray_AsString=Module["_PyByteArray_AsString"]=function(){return(_PyByteArray_AsString=Module["_PyByteArray_AsString"]=Module["asm"]["PyByteArray_AsString"]).apply(null,arguments)};var _PyByteArray_Resize=Module["_PyByteArray_Resize"]=function(){return(_PyByteArray_Resize=Module["_PyByteArray_Resize"]=Module["asm"]["PyByteArray_Resize"]).apply(null,arguments)};var _PyObject_Free=Module["_PyObject_Free"]=function(){return(_PyObject_Free=Module["_PyObject_Free"]=Module["asm"]["PyObject_Free"]).apply(null,arguments)};var _PyObject_Realloc=Module["_PyObject_Realloc"]=function(){return(_PyObject_Realloc=Module["_PyObject_Realloc"]=Module["asm"]["PyObject_Realloc"]).apply(null,arguments)};var _PyByteArray_Concat=Module["_PyByteArray_Concat"]=function(){return(_PyByteArray_Concat=Module["_PyByteArray_Concat"]=Module["asm"]["PyByteArray_Concat"]).apply(null,arguments)};var __Py_GetConfig=Module["__Py_GetConfig"]=function(){return(__Py_GetConfig=Module["__Py_GetConfig"]=Module["asm"]["_Py_GetConfig"]).apply(null,arguments)};var _PyErr_WarnEx=Module["_PyErr_WarnEx"]=function(){return(_PyErr_WarnEx=Module["_PyErr_WarnEx"]=Module["asm"]["PyErr_WarnEx"]).apply(null,arguments)};var __PyObject_GC_New=Module["__PyObject_GC_New"]=function(){return(__PyObject_GC_New=Module["__PyObject_GC_New"]=Module["asm"]["_PyObject_GC_New"]).apply(null,arguments)};var __PyArg_UnpackKeywords=Module["__PyArg_UnpackKeywords"]=function(){return(__PyArg_UnpackKeywords=Module["__PyArg_UnpackKeywords"]=Module["asm"]["_PyArg_UnpackKeywords"]).apply(null,arguments)};var __PyArg_BadArgument=Module["__PyArg_BadArgument"]=function(){return(__PyArg_BadArgument=Module["__PyArg_BadArgument"]=Module["asm"]["_PyArg_BadArgument"]).apply(null,arguments)};var _PyUnicode_AsEncodedString=Module["_PyUnicode_AsEncodedString"]=function(){return(_PyUnicode_AsEncodedString=Module["_PyUnicode_AsEncodedString"]=Module["asm"]["PyUnicode_AsEncodedString"]).apply(null,arguments)};var _PyBuffer_ToContiguous=Module["_PyBuffer_ToContiguous"]=function(){return(_PyBuffer_ToContiguous=Module["_PyBuffer_ToContiguous"]=Module["asm"]["PyBuffer_ToContiguous"]).apply(null,arguments)};var _PyObject_GC_Del=Module["_PyObject_GC_Del"]=function(){return(_PyObject_GC_Del=Module["_PyObject_GC_Del"]=Module["asm"]["PyObject_GC_Del"]).apply(null,arguments)};var __PyBytes_FormatEx=Module["__PyBytes_FormatEx"]=function(){return(__PyBytes_FormatEx=Module["__PyBytes_FormatEx"]=Module["asm"]["_PyBytes_FormatEx"]).apply(null,arguments)};var _memmove=Module["_memmove"]=function(){return(_memmove=Module["_memmove"]=Module["asm"]["memmove"]).apply(null,arguments)};var _PySlice_Unpack=Module["_PySlice_Unpack"]=function(){return(_PySlice_Unpack=Module["_PySlice_Unpack"]=Module["asm"]["PySlice_Unpack"]).apply(null,arguments)};var _PySlice_AdjustIndices=Module["_PySlice_AdjustIndices"]=function(){return(_PySlice_AdjustIndices=Module["_PySlice_AdjustIndices"]=Module["asm"]["PySlice_AdjustIndices"]).apply(null,arguments)};var _PyUnicode_DecodeLatin1=Module["_PyUnicode_DecodeLatin1"]=function(){return(_PyUnicode_DecodeLatin1=Module["_PyUnicode_DecodeLatin1"]=Module["asm"]["PyUnicode_DecodeLatin1"]).apply(null,arguments)};var __PyLong_AsInt=Module["__PyLong_AsInt"]=function(){return(__PyLong_AsInt=Module["__PyLong_AsInt"]=Module["asm"]["_PyLong_AsInt"]).apply(null,arguments)};var _PyUnicode_GetDefaultEncoding=Module["_PyUnicode_GetDefaultEncoding"]=function(){return(_PyUnicode_GetDefaultEncoding=Module["_PyUnicode_GetDefaultEncoding"]=Module["asm"]["PyUnicode_GetDefaultEncoding"]).apply(null,arguments)};var _PyUnicode_FromEncodedObject=Module["_PyUnicode_FromEncodedObject"]=function(){return(_PyUnicode_FromEncodedObject=Module["_PyUnicode_FromEncodedObject"]=Module["asm"]["PyUnicode_FromEncodedObject"]).apply(null,arguments)};var __PyBytes_FromHex=Module["__PyBytes_FromHex"]=function(){return(__PyBytes_FromHex=Module["__PyBytes_FromHex"]=Module["asm"]["_PyBytes_FromHex"]).apply(null,arguments)};var __Py_strhex_with_sep=Module["__Py_strhex_with_sep"]=function(){return(__Py_strhex_with_sep=Module["__Py_strhex_with_sep"]=Module["asm"]["_Py_strhex_with_sep"]).apply(null,arguments)};var _PyList_Reverse=Module["_PyList_Reverse"]=function(){return(_PyList_Reverse=Module["_PyList_Reverse"]=Module["asm"]["PyList_Reverse"]).apply(null,arguments)};var __PyEval_GetBuiltinId=Module["__PyEval_GetBuiltinId"]=function(){return(__PyEval_GetBuiltinId=Module["__PyEval_GetBuiltinId"]=Module["asm"]["_PyEval_GetBuiltinId"]).apply(null,arguments)};var _PyType_GenericAlloc=Module["_PyType_GenericAlloc"]=function(){return(_PyType_GenericAlloc=Module["_PyType_GenericAlloc"]=Module["asm"]["PyType_GenericAlloc"]).apply(null,arguments)};var _PyType_GenericNew=Module["_PyType_GenericNew"]=function(){return(_PyType_GenericNew=Module["_PyType_GenericNew"]=Module["asm"]["PyType_GenericNew"]).apply(null,arguments)};var _PyObject_Calloc=Module["_PyObject_Calloc"]=function(){return(_PyObject_Calloc=Module["_PyObject_Calloc"]=Module["asm"]["PyObject_Calloc"]).apply(null,arguments)};var __Py_NewReference=Module["__Py_NewReference"]=function(){return(__Py_NewReference=Module["__Py_NewReference"]=Module["asm"]["_Py_NewReference"]).apply(null,arguments)};var _PyBytes_FromString=Module["_PyBytes_FromString"]=function(){return(_PyBytes_FromString=Module["_PyBytes_FromString"]=Module["asm"]["PyBytes_FromString"]).apply(null,arguments)};var _PyBytes_FromFormatV=Module["_PyBytes_FromFormatV"]=function(){return(_PyBytes_FromFormatV=Module["_PyBytes_FromFormatV"]=Module["asm"]["PyBytes_FromFormatV"]).apply(null,arguments)};var __PyBytesWriter_Resize=Module["__PyBytesWriter_Resize"]=function(){return(__PyBytesWriter_Resize=Module["__PyBytesWriter_Resize"]=Module["asm"]["_PyBytesWriter_Resize"]).apply(null,arguments)};var __PyBytesWriter_Finish=Module["__PyBytesWriter_Finish"]=function(){return(__PyBytesWriter_Finish=Module["__PyBytesWriter_Finish"]=Module["asm"]["_PyBytesWriter_Finish"]).apply(null,arguments)};var __PyBytesWriter_Init=Module["__PyBytesWriter_Init"]=function(){return(__PyBytesWriter_Init=Module["__PyBytesWriter_Init"]=Module["asm"]["_PyBytesWriter_Init"]).apply(null,arguments)};var __PyBytesWriter_Alloc=Module["__PyBytesWriter_Alloc"]=function(){return(__PyBytesWriter_Alloc=Module["__PyBytesWriter_Alloc"]=Module["asm"]["_PyBytesWriter_Alloc"]).apply(null,arguments)};var __PyBytesWriter_WriteBytes=Module["__PyBytesWriter_WriteBytes"]=function(){return(__PyBytesWriter_WriteBytes=Module["__PyBytesWriter_WriteBytes"]=Module["asm"]["_PyBytesWriter_WriteBytes"]).apply(null,arguments)};var __PyBytes_Resize=Module["__PyBytes_Resize"]=function(){return(__PyBytes_Resize=Module["__PyBytes_Resize"]=Module["asm"]["_PyBytes_Resize"]).apply(null,arguments)};var __PyBytesWriter_Dealloc=Module["__PyBytesWriter_Dealloc"]=function(){return(__PyBytesWriter_Dealloc=Module["__PyBytesWriter_Dealloc"]=Module["asm"]["_PyBytesWriter_Dealloc"]).apply(null,arguments)};var _PyBytes_FromFormat=Module["_PyBytes_FromFormat"]=function(){return(_PyBytes_FromFormat=Module["_PyBytes_FromFormat"]=Module["asm"]["PyBytes_FromFormat"]).apply(null,arguments)};var _PyObject_ASCII=Module["_PyObject_ASCII"]=function(){return(_PyObject_ASCII=Module["_PyObject_ASCII"]=Module["asm"]["PyObject_ASCII"]).apply(null,arguments)};var __PyLong_FormatBytesWriter=Module["__PyLong_FormatBytesWriter"]=function(){return(__PyLong_FormatBytesWriter=Module["__PyLong_FormatBytesWriter"]=Module["asm"]["_PyLong_FormatBytesWriter"]).apply(null,arguments)};var __PyUnicode_FormatLong=Module["__PyUnicode_FormatLong"]=function(){return(__PyUnicode_FormatLong=Module["__PyUnicode_FormatLong"]=Module["asm"]["_PyUnicode_FormatLong"]).apply(null,arguments)};var _PyOS_double_to_string=Module["_PyOS_double_to_string"]=function(){return(_PyOS_double_to_string=Module["_PyOS_double_to_string"]=Module["asm"]["PyOS_double_to_string"]).apply(null,arguments)};var __PyBytesWriter_Prepare=Module["__PyBytesWriter_Prepare"]=function(){return(__PyBytesWriter_Prepare=Module["__PyBytesWriter_Prepare"]=Module["asm"]["_PyBytesWriter_Prepare"]).apply(null,arguments)};var _PyBytes_DecodeEscape=Module["_PyBytes_DecodeEscape"]=function(){return(_PyBytes_DecodeEscape=Module["_PyBytes_DecodeEscape"]=Module["asm"]["PyBytes_DecodeEscape"]).apply(null,arguments)};var _PyBytes_Size=Module["_PyBytes_Size"]=function(){return(_PyBytes_Size=Module["_PyBytes_Size"]=Module["asm"]["PyBytes_Size"]).apply(null,arguments)};var _PyBytes_Repr=Module["_PyBytes_Repr"]=function(){return(_PyBytes_Repr=Module["_PyBytes_Repr"]=Module["asm"]["PyBytes_Repr"]).apply(null,arguments)};var __PyBytes_Join=Module["__PyBytes_Join"]=function(){return(__PyBytes_Join=Module["__PyBytes_Join"]=Module["asm"]["_PyBytes_Join"]).apply(null,arguments)};var _PyBytes_FromObject=Module["_PyBytes_FromObject"]=function(){return(_PyBytes_FromObject=Module["_PyBytes_FromObject"]=Module["asm"]["PyBytes_FromObject"]).apply(null,arguments)};var __Py_HashBytes=Module["__Py_HashBytes"]=function(){return(__Py_HashBytes=Module["__Py_HashBytes"]=Module["asm"]["_Py_HashBytes"]).apply(null,arguments)};var _PyErr_BadArgument=Module["_PyErr_BadArgument"]=function(){return(_PyErr_BadArgument=Module["_PyErr_BadArgument"]=Module["asm"]["PyErr_BadArgument"]).apply(null,arguments)};var _PyBytes_Concat=Module["_PyBytes_Concat"]=function(){return(_PyBytes_Concat=Module["_PyBytes_Concat"]=Module["asm"]["PyBytes_Concat"]).apply(null,arguments)};var __PyBytes_Init=Module["__PyBytes_Init"]=function(){return(__PyBytes_Init=Module["__PyBytes_Init"]=Module["asm"]["_PyBytes_Init"]).apply(null,arguments)};var __PyBytes_Fini=Module["__PyBytes_Fini"]=function(){return(__PyBytes_Fini=Module["__PyBytes_Fini"]=Module["asm"]["_PyBytes_Fini"]).apply(null,arguments)};var __PyErr_FormatFromCauseTstate=Module["__PyErr_FormatFromCauseTstate"]=function(){return(__PyErr_FormatFromCauseTstate=Module["__PyErr_FormatFromCauseTstate"]=Module["asm"]["_PyErr_FormatFromCauseTstate"]).apply(null,arguments)};var __Py_CheckSlotResult=Module["__Py_CheckSlotResult"]=function(){return(__Py_CheckSlotResult=Module["__Py_CheckSlotResult"]=Module["asm"]["_Py_CheckSlotResult"]).apply(null,arguments)};var __Py_FatalErrorFormat=Module["__Py_FatalErrorFormat"]=function(){return(__Py_FatalErrorFormat=Module["__Py_FatalErrorFormat"]=Module["asm"]["_Py_FatalErrorFormat"]).apply(null,arguments)};var __PyObject_FastCallDictTstate=Module["__PyObject_FastCallDictTstate"]=function(){return(__PyObject_FastCallDictTstate=Module["__PyObject_FastCallDictTstate"]=Module["asm"]["_PyObject_FastCallDictTstate"]).apply(null,arguments)};var __PyTuple_FromArray=Module["__PyTuple_FromArray"]=function(){return(__PyTuple_FromArray=Module["__PyTuple_FromArray"]=Module["asm"]["_PyTuple_FromArray"]).apply(null,arguments)};var __PyDict_NewPresized=Module["__PyDict_NewPresized"]=function(){return(__PyDict_NewPresized=Module["__PyDict_NewPresized"]=Module["asm"]["_PyDict_NewPresized"]).apply(null,arguments)};var __PyErr_NoMemory=Module["__PyErr_NoMemory"]=function(){return(__PyErr_NoMemory=Module["__PyErr_NoMemory"]=Module["asm"]["_PyErr_NoMemory"]).apply(null,arguments)};var _PyObject_VectorcallDict=Module["_PyObject_VectorcallDict"]=function(){return(_PyObject_VectorcallDict=Module["_PyObject_VectorcallDict"]=Module["asm"]["PyObject_VectorcallDict"]).apply(null,arguments)};var __PyStack_AsDict=Module["__PyStack_AsDict"]=function(){return(__PyStack_AsDict=Module["__PyStack_AsDict"]=Module["asm"]["_PyStack_AsDict"]).apply(null,arguments)};var __PyObject_Call=Module["__PyObject_Call"]=function(){return(__PyObject_Call=Module["__PyObject_Call"]=Module["asm"]["_PyObject_Call"]).apply(null,arguments)};var _PyObject_Call=Module["_PyObject_Call"]=function(){return(_PyObject_Call=Module["_PyObject_Call"]=Module["asm"]["PyObject_Call"]).apply(null,arguments)};var _PyCFunction_Call=Module["_PyCFunction_Call"]=function(){return(_PyCFunction_Call=Module["_PyCFunction_Call"]=Module["asm"]["PyCFunction_Call"]).apply(null,arguments)};var __PyFunction_Vectorcall=Module["__PyFunction_Vectorcall"]=function(){return(__PyFunction_Vectorcall=Module["__PyFunction_Vectorcall"]=Module["asm"]["_PyFunction_Vectorcall"]).apply(null,arguments)};var __PyEval_Vector=Module["__PyEval_Vector"]=function(){return(__PyEval_Vector=Module["__PyEval_Vector"]=Module["asm"]["_PyEval_Vector"]).apply(null,arguments)};var _PyEval_CallObjectWithKeywords=Module["_PyEval_CallObjectWithKeywords"]=function(){return(_PyEval_CallObjectWithKeywords=Module["_PyEval_CallObjectWithKeywords"]=Module["asm"]["PyEval_CallObjectWithKeywords"]).apply(null,arguments)};var _PyObject_CallObject=Module["_PyObject_CallObject"]=function(){return(_PyObject_CallObject=Module["_PyObject_CallObject"]=Module["asm"]["PyObject_CallObject"]).apply(null,arguments)};var __PyObject_Call_Prepend=Module["__PyObject_Call_Prepend"]=function(){return(__PyObject_Call_Prepend=Module["__PyObject_Call_Prepend"]=Module["asm"]["_PyObject_Call_Prepend"]).apply(null,arguments)};var _PyObject_CallFunction=Module["_PyObject_CallFunction"]=function(){return(_PyObject_CallFunction=Module["_PyObject_CallFunction"]=Module["asm"]["PyObject_CallFunction"]).apply(null,arguments)};var __Py_VaBuildStack_SizeT=Module["__Py_VaBuildStack_SizeT"]=function(){return(__Py_VaBuildStack_SizeT=Module["__Py_VaBuildStack_SizeT"]=Module["asm"]["_Py_VaBuildStack_SizeT"]).apply(null,arguments)};var __Py_VaBuildStack=Module["__Py_VaBuildStack"]=function(){return(__Py_VaBuildStack=Module["__Py_VaBuildStack"]=Module["asm"]["_Py_VaBuildStack"]).apply(null,arguments)};var _PyEval_CallFunction=Module["_PyEval_CallFunction"]=function(){return(_PyEval_CallFunction=Module["_PyEval_CallFunction"]=Module["asm"]["PyEval_CallFunction"]).apply(null,arguments)};var __PyObject_CallFunction_SizeT=Module["__PyObject_CallFunction_SizeT"]=function(){return(__PyObject_CallFunction_SizeT=Module["__PyObject_CallFunction_SizeT"]=Module["asm"]["_PyObject_CallFunction_SizeT"]).apply(null,arguments)};var _PyObject_CallMethod=Module["_PyObject_CallMethod"]=function(){return(_PyObject_CallMethod=Module["_PyObject_CallMethod"]=Module["asm"]["PyObject_CallMethod"]).apply(null,arguments)};var _PyEval_CallMethod=Module["_PyEval_CallMethod"]=function(){return(_PyEval_CallMethod=Module["_PyEval_CallMethod"]=Module["asm"]["PyEval_CallMethod"]).apply(null,arguments)};var __PyObject_CallMethodId=Module["__PyObject_CallMethodId"]=function(){return(__PyObject_CallMethodId=Module["__PyObject_CallMethodId"]=Module["asm"]["_PyObject_CallMethodId"]).apply(null,arguments)};var __PyObject_CallMethod_SizeT=Module["__PyObject_CallMethod_SizeT"]=function(){return(__PyObject_CallMethod_SizeT=Module["__PyObject_CallMethod_SizeT"]=Module["asm"]["_PyObject_CallMethod_SizeT"]).apply(null,arguments)};var _PyObject_CallMethodObjArgs=Module["_PyObject_CallMethodObjArgs"]=function(){return(_PyObject_CallMethodObjArgs=Module["_PyObject_CallMethodObjArgs"]=Module["asm"]["PyObject_CallMethodObjArgs"]).apply(null,arguments)};var _PyCapsule_New=Module["_PyCapsule_New"]=function(){return(_PyCapsule_New=Module["_PyCapsule_New"]=Module["asm"]["PyCapsule_New"]).apply(null,arguments)};var _PyCapsule_IsValid=Module["_PyCapsule_IsValid"]=function(){return(_PyCapsule_IsValid=Module["_PyCapsule_IsValid"]=Module["asm"]["PyCapsule_IsValid"]).apply(null,arguments)};var _PyCapsule_GetPointer=Module["_PyCapsule_GetPointer"]=function(){return(_PyCapsule_GetPointer=Module["_PyCapsule_GetPointer"]=Module["asm"]["PyCapsule_GetPointer"]).apply(null,arguments)};var _PyCapsule_GetName=Module["_PyCapsule_GetName"]=function(){return(_PyCapsule_GetName=Module["_PyCapsule_GetName"]=Module["asm"]["PyCapsule_GetName"]).apply(null,arguments)};var _PyCapsule_GetDestructor=Module["_PyCapsule_GetDestructor"]=function(){return(_PyCapsule_GetDestructor=Module["_PyCapsule_GetDestructor"]=Module["asm"]["PyCapsule_GetDestructor"]).apply(null,arguments)};var _PyCapsule_GetContext=Module["_PyCapsule_GetContext"]=function(){return(_PyCapsule_GetContext=Module["_PyCapsule_GetContext"]=Module["asm"]["PyCapsule_GetContext"]).apply(null,arguments)};var _PyCapsule_SetPointer=Module["_PyCapsule_SetPointer"]=function(){return(_PyCapsule_SetPointer=Module["_PyCapsule_SetPointer"]=Module["asm"]["PyCapsule_SetPointer"]).apply(null,arguments)};var _PyCapsule_SetName=Module["_PyCapsule_SetName"]=function(){return(_PyCapsule_SetName=Module["_PyCapsule_SetName"]=Module["asm"]["PyCapsule_SetName"]).apply(null,arguments)};var _PyCapsule_SetDestructor=Module["_PyCapsule_SetDestructor"]=function(){return(_PyCapsule_SetDestructor=Module["_PyCapsule_SetDestructor"]=Module["asm"]["PyCapsule_SetDestructor"]).apply(null,arguments)};var _PyCapsule_SetContext=Module["_PyCapsule_SetContext"]=function(){return(_PyCapsule_SetContext=Module["_PyCapsule_SetContext"]=Module["asm"]["PyCapsule_SetContext"]).apply(null,arguments)};var _PyCapsule_Import=Module["_PyCapsule_Import"]=function(){return(_PyCapsule_Import=Module["_PyCapsule_Import"]=Module["asm"]["PyCapsule_Import"]).apply(null,arguments)};var _PyCell_New=Module["_PyCell_New"]=function(){return(_PyCell_New=Module["_PyCell_New"]=Module["asm"]["PyCell_New"]).apply(null,arguments)};var _PyCell_Get=Module["_PyCell_Get"]=function(){return(_PyCell_Get=Module["_PyCell_Get"]=Module["asm"]["PyCell_Get"]).apply(null,arguments)};var _PyCell_Set=Module["_PyCell_Set"]=function(){return(_PyCell_Set=Module["_PyCell_Set"]=Module["asm"]["PyCell_Set"]).apply(null,arguments)};var _PyObject_RichCompare=Module["_PyObject_RichCompare"]=function(){return(_PyObject_RichCompare=Module["_PyObject_RichCompare"]=Module["asm"]["PyObject_RichCompare"]).apply(null,arguments)};var _PyMethod_Function=Module["_PyMethod_Function"]=function(){return(_PyMethod_Function=Module["_PyMethod_Function"]=Module["asm"]["PyMethod_Function"]).apply(null,arguments)};var _PyMethod_Self=Module["_PyMethod_Self"]=function(){return(_PyMethod_Self=Module["_PyMethod_Self"]=Module["asm"]["PyMethod_Self"]).apply(null,arguments)};var _PyMethod_New=Module["_PyMethod_New"]=function(){return(_PyMethod_New=Module["_PyMethod_New"]=Module["asm"]["PyMethod_New"]).apply(null,arguments)};var _PyObject_ClearWeakRefs=Module["_PyObject_ClearWeakRefs"]=function(){return(_PyObject_ClearWeakRefs=Module["_PyObject_ClearWeakRefs"]=Module["asm"]["PyObject_ClearWeakRefs"]).apply(null,arguments)};var __Py_HashPointer=Module["__Py_HashPointer"]=function(){return(__Py_HashPointer=Module["__Py_HashPointer"]=Module["asm"]["_Py_HashPointer"]).apply(null,arguments)};var _PyObject_Hash=Module["_PyObject_Hash"]=function(){return(_PyObject_Hash=Module["_PyObject_Hash"]=Module["asm"]["PyObject_Hash"]).apply(null,arguments)};var __PyType_Lookup=Module["__PyType_Lookup"]=function(){return(__PyType_Lookup=Module["__PyType_Lookup"]=Module["asm"]["_PyType_Lookup"]).apply(null,arguments)};var _PyObject_GetAttr=Module["_PyObject_GetAttr"]=function(){return(_PyObject_GetAttr=Module["_PyObject_GetAttr"]=Module["asm"]["PyObject_GetAttr"]).apply(null,arguments)};var _PyInstanceMethod_New=Module["_PyInstanceMethod_New"]=function(){return(_PyInstanceMethod_New=Module["_PyInstanceMethod_New"]=Module["asm"]["PyInstanceMethod_New"]).apply(null,arguments)};var _PyInstanceMethod_Function=Module["_PyInstanceMethod_Function"]=function(){return(_PyInstanceMethod_Function=Module["_PyInstanceMethod_Function"]=Module["asm"]["PyInstanceMethod_Function"]).apply(null,arguments)};var _PyCode_NewWithPosOnlyArgs=Module["_PyCode_NewWithPosOnlyArgs"]=function(){return(_PyCode_NewWithPosOnlyArgs=Module["_PyCode_NewWithPosOnlyArgs"]=Module["asm"]["PyCode_NewWithPosOnlyArgs"]).apply(null,arguments)};var _PyUnicode_Compare=Module["_PyUnicode_Compare"]=function(){return(_PyUnicode_Compare=Module["_PyUnicode_Compare"]=Module["asm"]["PyUnicode_Compare"]).apply(null,arguments)};var _PyFrozenSet_New=Module["_PyFrozenSet_New"]=function(){return(_PyFrozenSet_New=Module["_PyFrozenSet_New"]=Module["asm"]["PyFrozenSet_New"]).apply(null,arguments)};var _PyCode_New=Module["_PyCode_New"]=function(){return(_PyCode_New=Module["_PyCode_New"]=Module["asm"]["PyCode_New"]).apply(null,arguments)};var __PyCode_InitOpcache=Module["__PyCode_InitOpcache"]=function(){return(__PyCode_InitOpcache=Module["__PyCode_InitOpcache"]=Module["asm"]["_PyCode_InitOpcache"]).apply(null,arguments)};var _PyCode_NewEmpty=Module["_PyCode_NewEmpty"]=function(){return(_PyCode_NewEmpty=Module["_PyCode_NewEmpty"]=Module["asm"]["PyCode_NewEmpty"]).apply(null,arguments)};var _PyUnicode_DecodeFSDefault=Module["_PyUnicode_DecodeFSDefault"]=function(){return(_PyUnicode_DecodeFSDefault=Module["_PyUnicode_DecodeFSDefault"]=Module["asm"]["PyUnicode_DecodeFSDefault"]).apply(null,arguments)};var __PyCode_ConstantKey=Module["__PyCode_ConstantKey"]=function(){return(__PyCode_ConstantKey=Module["__PyCode_ConstantKey"]=Module["asm"]["_PyCode_ConstantKey"]).apply(null,arguments)};var _PyComplex_AsCComplex=Module["_PyComplex_AsCComplex"]=function(){return(_PyComplex_AsCComplex=Module["_PyComplex_AsCComplex"]=Module["asm"]["PyComplex_AsCComplex"]).apply(null,arguments)};var __PySet_NextEntry=Module["__PySet_NextEntry"]=function(){return(__PySet_NextEntry=Module["__PySet_NextEntry"]=Module["asm"]["_PySet_NextEntry"]).apply(null,arguments)};var _PyLong_FromVoidPtr=Module["_PyLong_FromVoidPtr"]=function(){return(_PyLong_FromVoidPtr=Module["_PyLong_FromVoidPtr"]=Module["asm"]["PyLong_FromVoidPtr"]).apply(null,arguments)};var _PyLineTable_PreviousAddressRange=Module["_PyLineTable_PreviousAddressRange"]=function(){return(_PyLineTable_PreviousAddressRange=Module["_PyLineTable_PreviousAddressRange"]=Module["asm"]["PyLineTable_PreviousAddressRange"]).apply(null,arguments)};var _PyLineTable_NextAddressRange=Module["_PyLineTable_NextAddressRange"]=function(){return(_PyLineTable_NextAddressRange=Module["_PyLineTable_NextAddressRange"]=Module["asm"]["PyLineTable_NextAddressRange"]).apply(null,arguments)};var _PyCode_Addr2Line=Module["_PyCode_Addr2Line"]=function(){return(_PyCode_Addr2Line=Module["_PyCode_Addr2Line"]=Module["asm"]["PyCode_Addr2Line"]).apply(null,arguments)};var __PyCode_InitAddressRange=Module["__PyCode_InitAddressRange"]=function(){return(__PyCode_InitAddressRange=Module["__PyCode_InitAddressRange"]=Module["asm"]["_PyCode_InitAddressRange"]).apply(null,arguments)};var __PyCode_CheckLineNumber=Module["__PyCode_CheckLineNumber"]=function(){return(__PyCode_CheckLineNumber=Module["__PyCode_CheckLineNumber"]=Module["asm"]["_PyCode_CheckLineNumber"]).apply(null,arguments)};var _PyLineTable_InitAddressRange=Module["_PyLineTable_InitAddressRange"]=function(){return(_PyLineTable_InitAddressRange=Module["_PyLineTable_InitAddressRange"]=Module["asm"]["PyLineTable_InitAddressRange"]).apply(null,arguments)};var __PyCode_GetExtra=Module["__PyCode_GetExtra"]=function(){return(__PyCode_GetExtra=Module["__PyCode_GetExtra"]=Module["asm"]["_PyCode_GetExtra"]).apply(null,arguments)};var __PyCode_SetExtra=Module["__PyCode_SetExtra"]=function(){return(__PyCode_SetExtra=Module["__PyCode_SetExtra"]=Module["asm"]["_PyCode_SetExtra"]).apply(null,arguments)};var __PyUnicode_Copy=Module["__PyUnicode_Copy"]=function(){return(__PyUnicode_Copy=Module["__PyUnicode_Copy"]=Module["asm"]["_PyUnicode_Copy"]).apply(null,arguments)};var __Py_c_sum=Module["__Py_c_sum"]=function(){return(__Py_c_sum=Module["__Py_c_sum"]=Module["asm"]["_Py_c_sum"]).apply(null,arguments)};var __Py_c_diff=Module["__Py_c_diff"]=function(){return(__Py_c_diff=Module["__Py_c_diff"]=Module["asm"]["_Py_c_diff"]).apply(null,arguments)};var __Py_c_neg=Module["__Py_c_neg"]=function(){return(__Py_c_neg=Module["__Py_c_neg"]=Module["asm"]["_Py_c_neg"]).apply(null,arguments)};var __Py_c_prod=Module["__Py_c_prod"]=function(){return(__Py_c_prod=Module["__Py_c_prod"]=Module["asm"]["_Py_c_prod"]).apply(null,arguments)};var __Py_c_quot=Module["__Py_c_quot"]=function(){return(__Py_c_quot=Module["__Py_c_quot"]=Module["asm"]["_Py_c_quot"]).apply(null,arguments)};var __Py_c_pow=Module["__Py_c_pow"]=function(){return(__Py_c_pow=Module["__Py_c_pow"]=Module["asm"]["_Py_c_pow"]).apply(null,arguments)};var _hypot=Module["_hypot"]=function(){return(_hypot=Module["_hypot"]=Module["asm"]["hypot"]).apply(null,arguments)};var _atan2=Module["_atan2"]=function(){return(_atan2=Module["_atan2"]=Module["asm"]["atan2"]).apply(null,arguments)};var _pow=Module["_pow"]=function(){return(_pow=Module["_pow"]=Module["asm"]["pow"]).apply(null,arguments)};var _log=Module["_log"]=function(){return(_log=Module["_log"]=Module["asm"]["log"]).apply(null,arguments)};var _exp=Module["_exp"]=function(){return(_exp=Module["_exp"]=Module["asm"]["exp"]).apply(null,arguments)};var _sin=Module["_sin"]=function(){return(_sin=Module["_sin"]=Module["asm"]["sin"]).apply(null,arguments)};var _cos=Module["_cos"]=function(){return(_cos=Module["_cos"]=Module["asm"]["cos"]).apply(null,arguments)};var __Py_c_abs=Module["__Py_c_abs"]=function(){return(__Py_c_abs=Module["__Py_c_abs"]=Module["asm"]["_Py_c_abs"]).apply(null,arguments)};var _PyComplex_FromDoubles=Module["_PyComplex_FromDoubles"]=function(){return(_PyComplex_FromDoubles=Module["_PyComplex_FromDoubles"]=Module["asm"]["PyComplex_FromDoubles"]).apply(null,arguments)};var _PyComplex_RealAsDouble=Module["_PyComplex_RealAsDouble"]=function(){return(_PyComplex_RealAsDouble=Module["_PyComplex_RealAsDouble"]=Module["asm"]["PyComplex_RealAsDouble"]).apply(null,arguments)};var _PyComplex_ImagAsDouble=Module["_PyComplex_ImagAsDouble"]=function(){return(_PyComplex_ImagAsDouble=Module["_PyComplex_ImagAsDouble"]=Module["asm"]["PyComplex_ImagAsDouble"]).apply(null,arguments)};var __Py_HashDouble=Module["__Py_HashDouble"]=function(){return(__Py_HashDouble=Module["__Py_HashDouble"]=Module["asm"]["_Py_HashDouble"]).apply(null,arguments)};var __PyUnicode_TransformDecimalAndSpaceToASCII=Module["__PyUnicode_TransformDecimalAndSpaceToASCII"]=function(){return(__PyUnicode_TransformDecimalAndSpaceToASCII=Module["__PyUnicode_TransformDecimalAndSpaceToASCII"]=Module["asm"]["_PyUnicode_TransformDecimalAndSpaceToASCII"]).apply(null,arguments)};var __Py_string_to_number_with_underscores=Module["__Py_string_to_number_with_underscores"]=function(){return(__Py_string_to_number_with_underscores=Module["__Py_string_to_number_with_underscores"]=Module["asm"]["_Py_string_to_number_with_underscores"]).apply(null,arguments)};var __PyUnicodeWriter_Init=Module["__PyUnicodeWriter_Init"]=function(){return(__PyUnicodeWriter_Init=Module["__PyUnicodeWriter_Init"]=Module["asm"]["_PyUnicodeWriter_Init"]).apply(null,arguments)};var __PyComplex_FormatAdvancedWriter=Module["__PyComplex_FormatAdvancedWriter"]=function(){return(__PyComplex_FormatAdvancedWriter=Module["__PyComplex_FormatAdvancedWriter"]=Module["asm"]["_PyComplex_FormatAdvancedWriter"]).apply(null,arguments)};var __PyUnicodeWriter_Dealloc=Module["__PyUnicodeWriter_Dealloc"]=function(){return(__PyUnicodeWriter_Dealloc=Module["__PyUnicodeWriter_Dealloc"]=Module["asm"]["_PyUnicodeWriter_Dealloc"]).apply(null,arguments)};var __PyUnicodeWriter_Finish=Module["__PyUnicodeWriter_Finish"]=function(){return(__PyUnicodeWriter_Finish=Module["__PyUnicodeWriter_Finish"]=Module["asm"]["_PyUnicodeWriter_Finish"]).apply(null,arguments)};var _PyCMethod_New=Module["_PyCMethod_New"]=function(){return(_PyCMethod_New=Module["_PyCMethod_New"]=Module["asm"]["PyCMethod_New"]).apply(null,arguments)};var _PyMember_GetOne=Module["_PyMember_GetOne"]=function(){return(_PyMember_GetOne=Module["_PyMember_GetOne"]=Module["asm"]["PyMember_GetOne"]).apply(null,arguments)};var _PyMember_SetOne=Module["_PyMember_SetOne"]=function(){return(_PyMember_SetOne=Module["_PyMember_SetOne"]=Module["asm"]["PyMember_SetOne"]).apply(null,arguments)};var _PyTuple_GetSlice=Module["_PyTuple_GetSlice"]=function(){return(_PyTuple_GetSlice=Module["_PyTuple_GetSlice"]=Module["asm"]["PyTuple_GetSlice"]).apply(null,arguments)};var _PyDescr_NewMethod=Module["_PyDescr_NewMethod"]=function(){return(_PyDescr_NewMethod=Module["_PyDescr_NewMethod"]=Module["asm"]["PyDescr_NewMethod"]).apply(null,arguments)};var __PyObject_FunctionStr=Module["__PyObject_FunctionStr"]=function(){return(__PyObject_FunctionStr=Module["__PyObject_FunctionStr"]=Module["asm"]["_PyObject_FunctionStr"]).apply(null,arguments)};var _PyDescr_NewClassMethod=Module["_PyDescr_NewClassMethod"]=function(){return(_PyDescr_NewClassMethod=Module["_PyDescr_NewClassMethod"]=Module["asm"]["PyDescr_NewClassMethod"]).apply(null,arguments)};var _PyDescr_NewMember=Module["_PyDescr_NewMember"]=function(){return(_PyDescr_NewMember=Module["_PyDescr_NewMember"]=Module["asm"]["PyDescr_NewMember"]).apply(null,arguments)};var _PyDescr_NewGetSet=Module["_PyDescr_NewGetSet"]=function(){return(_PyDescr_NewGetSet=Module["_PyDescr_NewGetSet"]=Module["asm"]["PyDescr_NewGetSet"]).apply(null,arguments)};var _PyDescr_NewWrapper=Module["_PyDescr_NewWrapper"]=function(){return(_PyDescr_NewWrapper=Module["_PyDescr_NewWrapper"]=Module["asm"]["PyDescr_NewWrapper"]).apply(null,arguments)};var _PyDescr_IsData=Module["_PyDescr_IsData"]=function(){return(_PyDescr_IsData=Module["_PyDescr_IsData"]=Module["asm"]["PyDescr_IsData"]).apply(null,arguments)};var _PyDictProxy_New=Module["_PyDictProxy_New"]=function(){return(_PyDictProxy_New=Module["_PyDictProxy_New"]=Module["asm"]["PyDictProxy_New"]).apply(null,arguments)};var _PyObject_GC_UnTrack=Module["_PyObject_GC_UnTrack"]=function(){return(_PyObject_GC_UnTrack=Module["_PyObject_GC_UnTrack"]=Module["asm"]["PyObject_GC_UnTrack"]).apply(null,arguments)};var __PyTrash_cond=Module["__PyTrash_cond"]=function(){return(__PyTrash_cond=Module["__PyTrash_cond"]=Module["asm"]["_PyTrash_cond"]).apply(null,arguments)};var __PyTrash_begin=Module["__PyTrash_begin"]=function(){return(__PyTrash_begin=Module["__PyTrash_begin"]=Module["asm"]["_PyTrash_begin"]).apply(null,arguments)};var __PyTrash_end=Module["__PyTrash_end"]=function(){return(__PyTrash_end=Module["__PyTrash_end"]=Module["asm"]["_PyTrash_end"]).apply(null,arguments)};var _PyWrapper_New=Module["_PyWrapper_New"]=function(){return(_PyWrapper_New=Module["_PyWrapper_New"]=Module["asm"]["PyWrapper_New"]).apply(null,arguments)};var __PyObject_SetAttrId=Module["__PyObject_SetAttrId"]=function(){return(__PyObject_SetAttrId=Module["__PyObject_SetAttrId"]=Module["asm"]["_PyObject_SetAttrId"]).apply(null,arguments)};var __PyType_GetDocFromInternalDoc=Module["__PyType_GetDocFromInternalDoc"]=function(){return(__PyType_GetDocFromInternalDoc=Module["__PyType_GetDocFromInternalDoc"]=Module["asm"]["_PyType_GetDocFromInternalDoc"]).apply(null,arguments)};var __PyType_GetTextSignatureFromInternalDoc=Module["__PyType_GetTextSignatureFromInternalDoc"]=function(){return(__PyType_GetTextSignatureFromInternalDoc=Module["__PyType_GetTextSignatureFromInternalDoc"]=Module["asm"]["_PyType_GetTextSignatureFromInternalDoc"]).apply(null,arguments)};var _PyDict_Contains=Module["_PyDict_Contains"]=function(){return(_PyDict_Contains=Module["_PyDict_Contains"]=Module["asm"]["PyDict_Contains"]).apply(null,arguments)};var __PyArg_UnpackStack=Module["__PyArg_UnpackStack"]=function(){return(__PyArg_UnpackStack=Module["__PyArg_UnpackStack"]=Module["asm"]["_PyArg_UnpackStack"]).apply(null,arguments)};var __PyObject_IsAbstract=Module["__PyObject_IsAbstract"]=function(){return(__PyObject_IsAbstract=Module["__PyObject_IsAbstract"]=Module["asm"]["_PyObject_IsAbstract"]).apply(null,arguments)};var _PyException_GetTraceback=Module["_PyException_GetTraceback"]=function(){return(_PyException_GetTraceback=Module["_PyException_GetTraceback"]=Module["asm"]["PyException_GetTraceback"]).apply(null,arguments)};var _PyException_GetCause=Module["_PyException_GetCause"]=function(){return(_PyException_GetCause=Module["_PyException_GetCause"]=Module["asm"]["PyException_GetCause"]).apply(null,arguments)};var _PyException_SetCause=Module["_PyException_SetCause"]=function(){return(_PyException_SetCause=Module["_PyException_SetCause"]=Module["asm"]["PyException_SetCause"]).apply(null,arguments)};var _PyException_GetContext=Module["_PyException_GetContext"]=function(){return(_PyException_GetContext=Module["_PyException_GetContext"]=Module["asm"]["PyException_GetContext"]).apply(null,arguments)};var _PyException_SetContext=Module["_PyException_SetContext"]=function(){return(_PyException_SetContext=Module["_PyException_SetContext"]=Module["asm"]["PyException_SetContext"]).apply(null,arguments)};var _PyExceptionClass_Name=Module["_PyExceptionClass_Name"]=function(){return(_PyExceptionClass_Name=Module["_PyExceptionClass_Name"]=Module["asm"]["PyExceptionClass_Name"]).apply(null,arguments)};var _PyUnicodeEncodeError_GetEncoding=Module["_PyUnicodeEncodeError_GetEncoding"]=function(){return(_PyUnicodeEncodeError_GetEncoding=Module["_PyUnicodeEncodeError_GetEncoding"]=Module["asm"]["PyUnicodeEncodeError_GetEncoding"]).apply(null,arguments)};var _PyUnicodeDecodeError_GetEncoding=Module["_PyUnicodeDecodeError_GetEncoding"]=function(){return(_PyUnicodeDecodeError_GetEncoding=Module["_PyUnicodeDecodeError_GetEncoding"]=Module["asm"]["PyUnicodeDecodeError_GetEncoding"]).apply(null,arguments)};var _PyUnicodeEncodeError_GetObject=Module["_PyUnicodeEncodeError_GetObject"]=function(){return(_PyUnicodeEncodeError_GetObject=Module["_PyUnicodeEncodeError_GetObject"]=Module["asm"]["PyUnicodeEncodeError_GetObject"]).apply(null,arguments)};var _PyUnicodeDecodeError_GetObject=Module["_PyUnicodeDecodeError_GetObject"]=function(){return(_PyUnicodeDecodeError_GetObject=Module["_PyUnicodeDecodeError_GetObject"]=Module["asm"]["PyUnicodeDecodeError_GetObject"]).apply(null,arguments)};var _PyUnicodeTranslateError_GetObject=Module["_PyUnicodeTranslateError_GetObject"]=function(){return(_PyUnicodeTranslateError_GetObject=Module["_PyUnicodeTranslateError_GetObject"]=Module["asm"]["PyUnicodeTranslateError_GetObject"]).apply(null,arguments)};var _PyUnicodeEncodeError_GetStart=Module["_PyUnicodeEncodeError_GetStart"]=function(){return(_PyUnicodeEncodeError_GetStart=Module["_PyUnicodeEncodeError_GetStart"]=Module["asm"]["PyUnicodeEncodeError_GetStart"]).apply(null,arguments)};var _PyUnicodeDecodeError_GetStart=Module["_PyUnicodeDecodeError_GetStart"]=function(){return(_PyUnicodeDecodeError_GetStart=Module["_PyUnicodeDecodeError_GetStart"]=Module["asm"]["PyUnicodeDecodeError_GetStart"]).apply(null,arguments)};var _PyUnicodeTranslateError_GetStart=Module["_PyUnicodeTranslateError_GetStart"]=function(){return(_PyUnicodeTranslateError_GetStart=Module["_PyUnicodeTranslateError_GetStart"]=Module["asm"]["PyUnicodeTranslateError_GetStart"]).apply(null,arguments)};var _PyUnicodeEncodeError_SetStart=Module["_PyUnicodeEncodeError_SetStart"]=function(){return(_PyUnicodeEncodeError_SetStart=Module["_PyUnicodeEncodeError_SetStart"]=Module["asm"]["PyUnicodeEncodeError_SetStart"]).apply(null,arguments)};var _PyUnicodeDecodeError_SetStart=Module["_PyUnicodeDecodeError_SetStart"]=function(){return(_PyUnicodeDecodeError_SetStart=Module["_PyUnicodeDecodeError_SetStart"]=Module["asm"]["PyUnicodeDecodeError_SetStart"]).apply(null,arguments)};var _PyUnicodeTranslateError_SetStart=Module["_PyUnicodeTranslateError_SetStart"]=function(){return(_PyUnicodeTranslateError_SetStart=Module["_PyUnicodeTranslateError_SetStart"]=Module["asm"]["PyUnicodeTranslateError_SetStart"]).apply(null,arguments)};var _PyUnicodeEncodeError_GetEnd=Module["_PyUnicodeEncodeError_GetEnd"]=function(){return(_PyUnicodeEncodeError_GetEnd=Module["_PyUnicodeEncodeError_GetEnd"]=Module["asm"]["PyUnicodeEncodeError_GetEnd"]).apply(null,arguments)};var _PyUnicodeDecodeError_GetEnd=Module["_PyUnicodeDecodeError_GetEnd"]=function(){return(_PyUnicodeDecodeError_GetEnd=Module["_PyUnicodeDecodeError_GetEnd"]=Module["asm"]["PyUnicodeDecodeError_GetEnd"]).apply(null,arguments)};var _PyUnicodeTranslateError_GetEnd=Module["_PyUnicodeTranslateError_GetEnd"]=function(){return(_PyUnicodeTranslateError_GetEnd=Module["_PyUnicodeTranslateError_GetEnd"]=Module["asm"]["PyUnicodeTranslateError_GetEnd"]).apply(null,arguments)};var _PyUnicodeEncodeError_SetEnd=Module["_PyUnicodeEncodeError_SetEnd"]=function(){return(_PyUnicodeEncodeError_SetEnd=Module["_PyUnicodeEncodeError_SetEnd"]=Module["asm"]["PyUnicodeEncodeError_SetEnd"]).apply(null,arguments)};var _PyUnicodeDecodeError_SetEnd=Module["_PyUnicodeDecodeError_SetEnd"]=function(){return(_PyUnicodeDecodeError_SetEnd=Module["_PyUnicodeDecodeError_SetEnd"]=Module["asm"]["PyUnicodeDecodeError_SetEnd"]).apply(null,arguments)};var _PyUnicodeTranslateError_SetEnd=Module["_PyUnicodeTranslateError_SetEnd"]=function(){return(_PyUnicodeTranslateError_SetEnd=Module["_PyUnicodeTranslateError_SetEnd"]=Module["asm"]["PyUnicodeTranslateError_SetEnd"]).apply(null,arguments)};var _PyUnicodeEncodeError_GetReason=Module["_PyUnicodeEncodeError_GetReason"]=function(){return(_PyUnicodeEncodeError_GetReason=Module["_PyUnicodeEncodeError_GetReason"]=Module["asm"]["PyUnicodeEncodeError_GetReason"]).apply(null,arguments)};var _PyUnicodeDecodeError_GetReason=Module["_PyUnicodeDecodeError_GetReason"]=function(){return(_PyUnicodeDecodeError_GetReason=Module["_PyUnicodeDecodeError_GetReason"]=Module["asm"]["PyUnicodeDecodeError_GetReason"]).apply(null,arguments)};var _PyUnicodeTranslateError_GetReason=Module["_PyUnicodeTranslateError_GetReason"]=function(){return(_PyUnicodeTranslateError_GetReason=Module["_PyUnicodeTranslateError_GetReason"]=Module["asm"]["PyUnicodeTranslateError_GetReason"]).apply(null,arguments)};var _PyUnicodeEncodeError_SetReason=Module["_PyUnicodeEncodeError_SetReason"]=function(){return(_PyUnicodeEncodeError_SetReason=Module["_PyUnicodeEncodeError_SetReason"]=Module["asm"]["PyUnicodeEncodeError_SetReason"]).apply(null,arguments)};var _PyUnicodeDecodeError_SetReason=Module["_PyUnicodeDecodeError_SetReason"]=function(){return(_PyUnicodeDecodeError_SetReason=Module["_PyUnicodeDecodeError_SetReason"]=Module["asm"]["PyUnicodeDecodeError_SetReason"]).apply(null,arguments)};var _PyUnicodeTranslateError_SetReason=Module["_PyUnicodeTranslateError_SetReason"]=function(){return(_PyUnicodeTranslateError_SetReason=Module["_PyUnicodeTranslateError_SetReason"]=Module["asm"]["PyUnicodeTranslateError_SetReason"]).apply(null,arguments)};var _PyUnicodeEncodeError_Create=Module["_PyUnicodeEncodeError_Create"]=function(){return(_PyUnicodeEncodeError_Create=Module["_PyUnicodeEncodeError_Create"]=Module["asm"]["PyUnicodeEncodeError_Create"]).apply(null,arguments)};var _PyUnicodeDecodeError_Create=Module["_PyUnicodeDecodeError_Create"]=function(){return(_PyUnicodeDecodeError_Create=Module["_PyUnicodeDecodeError_Create"]=Module["asm"]["PyUnicodeDecodeError_Create"]).apply(null,arguments)};var _PyUnicodeTranslateError_Create=Module["_PyUnicodeTranslateError_Create"]=function(){return(_PyUnicodeTranslateError_Create=Module["_PyUnicodeTranslateError_Create"]=Module["asm"]["PyUnicodeTranslateError_Create"]).apply(null,arguments)};var __PyUnicodeTranslateError_Create=Module["__PyUnicodeTranslateError_Create"]=function(){return(__PyUnicodeTranslateError_Create=Module["__PyUnicodeTranslateError_Create"]=Module["asm"]["_PyUnicodeTranslateError_Create"]).apply(null,arguments)};var __PyExc_Init=Module["__PyExc_Init"]=function(){return(__PyExc_Init=Module["__PyExc_Init"]=Module["asm"]["_PyExc_Init"]).apply(null,arguments)};var __PyBuiltins_AddExceptions=Module["__PyBuiltins_AddExceptions"]=function(){return(__PyBuiltins_AddExceptions=Module["__PyBuiltins_AddExceptions"]=Module["asm"]["_PyBuiltins_AddExceptions"]).apply(null,arguments)};var _PyModule_GetDict=Module["_PyModule_GetDict"]=function(){return(_PyModule_GetDict=Module["_PyModule_GetDict"]=Module["asm"]["PyModule_GetDict"]).apply(null,arguments)};var __PyExc_Fini=Module["__PyExc_Fini"]=function(){return(__PyExc_Fini=Module["__PyExc_Fini"]=Module["asm"]["_PyExc_Fini"]).apply(null,arguments)};var __PyErr_TrySetFromCause=Module["__PyErr_TrySetFromCause"]=function(){return(__PyErr_TrySetFromCause=Module["__PyErr_TrySetFromCause"]=Module["asm"]["_PyErr_TrySetFromCause"]).apply(null,arguments)};var __PyObject_GetDictPtr=Module["__PyObject_GetDictPtr"]=function(){return(__PyObject_GetDictPtr=Module["__PyObject_GetDictPtr"]=Module["asm"]["_PyObject_GetDictPtr"]).apply(null,arguments)};var _PyDict_Copy=Module["_PyDict_Copy"]=function(){return(_PyDict_Copy=Module["_PyDict_Copy"]=Module["asm"]["PyDict_Copy"]).apply(null,arguments)};var __PyDict_SetItemId=Module["__PyDict_SetItemId"]=function(){return(__PyDict_SetItemId=Module["__PyDict_SetItemId"]=Module["asm"]["_PyDict_SetItemId"]).apply(null,arguments)};var _PyUnicode_ReadChar=Module["_PyUnicode_ReadChar"]=function(){return(_PyUnicode_ReadChar=Module["_PyUnicode_ReadChar"]=Module["asm"]["PyUnicode_ReadChar"]).apply(null,arguments)};var _PyObject_GenericGetDict=Module["_PyObject_GenericGetDict"]=function(){return(_PyObject_GenericGetDict=Module["_PyObject_GenericGetDict"]=Module["asm"]["PyObject_GenericGetDict"]).apply(null,arguments)};var _PyObject_GenericSetDict=Module["_PyObject_GenericSetDict"]=function(){return(_PyObject_GenericSetDict=Module["_PyObject_GenericSetDict"]=Module["asm"]["PyObject_GenericSetDict"]).apply(null,arguments)};var __Py_make_parameters=Module["__Py_make_parameters"]=function(){return(__Py_make_parameters=Module["__Py_make_parameters"]=Module["asm"]["_Py_make_parameters"]).apply(null,arguments)};var __PyUnicode_EqualToASCIIString=Module["__PyUnicode_EqualToASCIIString"]=function(){return(__PyUnicode_EqualToASCIIString=Module["__PyUnicode_EqualToASCIIString"]=Module["asm"]["_PyUnicode_EqualToASCIIString"]).apply(null,arguments)};var __Py_subs_parameters=Module["__Py_subs_parameters"]=function(){return(__Py_subs_parameters=Module["__Py_subs_parameters"]=Module["asm"]["_Py_subs_parameters"]).apply(null,arguments)};var __PyUnicodeWriter_WriteASCIIString=Module["__PyUnicodeWriter_WriteASCIIString"]=function(){return(__PyUnicodeWriter_WriteASCIIString=Module["__PyUnicodeWriter_WriteASCIIString"]=Module["asm"]["_PyUnicodeWriter_WriteASCIIString"]).apply(null,arguments)};var __PyUnicodeWriter_WriteStr=Module["__PyUnicodeWriter_WriteStr"]=function(){return(__PyUnicodeWriter_WriteStr=Module["__PyUnicodeWriter_WriteStr"]=Module["asm"]["_PyUnicodeWriter_WriteStr"]).apply(null,arguments)};var __Py_union_type_or=Module["__Py_union_type_or"]=function(){return(__Py_union_type_or=Module["__Py_union_type_or"]=Module["asm"]["_Py_union_type_or"]).apply(null,arguments)};var __PyGen_Finalize=Module["__PyGen_Finalize"]=function(){return(__PyGen_Finalize=Module["__PyGen_Finalize"]=Module["asm"]["_PyGen_Finalize"]).apply(null,arguments)};var _PyErr_WriteUnraisable=Module["_PyErr_WriteUnraisable"]=function(){return(_PyErr_WriteUnraisable=Module["_PyErr_WriteUnraisable"]=Module["asm"]["PyErr_WriteUnraisable"]).apply(null,arguments)};var __PyErr_WarnUnawaitedCoroutine=Module["__PyErr_WarnUnawaitedCoroutine"]=function(){return(__PyErr_WarnUnawaitedCoroutine=Module["__PyErr_WarnUnawaitedCoroutine"]=Module["asm"]["_PyErr_WarnUnawaitedCoroutine"]).apply(null,arguments)};var __PyGen_yf=Module["__PyGen_yf"]=function(){return(__PyGen_yf=Module["__PyGen_yf"]=Module["asm"]["_PyGen_yf"]).apply(null,arguments)};var __PyGen_SetStopIterationValue=Module["__PyGen_SetStopIterationValue"]=function(){return(__PyGen_SetStopIterationValue=Module["__PyGen_SetStopIterationValue"]=Module["asm"]["_PyGen_SetStopIterationValue"]).apply(null,arguments)};var _PyObject_CallFinalizerFromDealloc=Module["_PyObject_CallFinalizerFromDealloc"]=function(){return(_PyObject_CallFinalizerFromDealloc=Module["_PyObject_CallFinalizerFromDealloc"]=Module["asm"]["PyObject_CallFinalizerFromDealloc"]).apply(null,arguments)};var _PyGen_NewWithQualName=Module["_PyGen_NewWithQualName"]=function(){return(_PyGen_NewWithQualName=Module["_PyGen_NewWithQualName"]=Module["asm"]["PyGen_NewWithQualName"]).apply(null,arguments)};var _PyGen_New=Module["_PyGen_New"]=function(){return(_PyGen_New=Module["_PyGen_New"]=Module["asm"]["PyGen_New"]).apply(null,arguments)};var __PyCoro_GetAwaitableIter=Module["__PyCoro_GetAwaitableIter"]=function(){return(__PyCoro_GetAwaitableIter=Module["__PyCoro_GetAwaitableIter"]=Module["asm"]["_PyCoro_GetAwaitableIter"]).apply(null,arguments)};var _PyCoro_New=Module["_PyCoro_New"]=function(){return(_PyCoro_New=Module["_PyCoro_New"]=Module["asm"]["PyCoro_New"]).apply(null,arguments)};var _PyEval_GetFrame=Module["_PyEval_GetFrame"]=function(){return(_PyEval_GetFrame=Module["_PyEval_GetFrame"]=Module["asm"]["PyEval_GetFrame"]).apply(null,arguments)};var _PyFrame_GetLineNumber=Module["_PyFrame_GetLineNumber"]=function(){return(_PyFrame_GetLineNumber=Module["_PyFrame_GetLineNumber"]=Module["asm"]["PyFrame_GetLineNumber"]).apply(null,arguments)};var _PyAsyncGen_New=Module["_PyAsyncGen_New"]=function(){return(_PyAsyncGen_New=Module["_PyAsyncGen_New"]=Module["asm"]["PyAsyncGen_New"]).apply(null,arguments)};var __PyAsyncGen_ClearFreeLists=Module["__PyAsyncGen_ClearFreeLists"]=function(){return(__PyAsyncGen_ClearFreeLists=Module["__PyAsyncGen_ClearFreeLists"]=Module["asm"]["_PyAsyncGen_ClearFreeLists"]).apply(null,arguments)};var __PyAsyncGen_Fini=Module["__PyAsyncGen_Fini"]=function(){return(__PyAsyncGen_Fini=Module["__PyAsyncGen_Fini"]=Module["asm"]["_PyAsyncGen_Fini"]).apply(null,arguments)};var __PyAsyncGenValueWrapperNew=Module["__PyAsyncGenValueWrapperNew"]=function(){return(__PyAsyncGenValueWrapperNew=Module["__PyAsyncGenValueWrapperNew"]=Module["asm"]["_PyAsyncGenValueWrapperNew"]).apply(null,arguments)};var __PyErr_ChainStackItem=Module["__PyErr_ChainStackItem"]=function(){return(__PyErr_ChainStackItem=Module["__PyErr_ChainStackItem"]=Module["asm"]["_PyErr_ChainStackItem"]).apply(null,arguments)};var _PyFile_FromFd=Module["_PyFile_FromFd"]=function(){return(_PyFile_FromFd=Module["_PyFile_FromFd"]=Module["asm"]["PyFile_FromFd"]).apply(null,arguments)};var _PyFile_GetLine=Module["_PyFile_GetLine"]=function(){return(_PyFile_GetLine=Module["_PyFile_GetLine"]=Module["asm"]["PyFile_GetLine"]).apply(null,arguments)};var _PyFile_WriteObject=Module["_PyFile_WriteObject"]=function(){return(_PyFile_WriteObject=Module["_PyFile_WriteObject"]=Module["asm"]["PyFile_WriteObject"]).apply(null,arguments)};var _PyFile_WriteString=Module["_PyFile_WriteString"]=function(){return(_PyFile_WriteString=Module["_PyFile_WriteString"]=Module["asm"]["PyFile_WriteString"]).apply(null,arguments)};var _PyObject_AsFileDescriptor=Module["_PyObject_AsFileDescriptor"]=function(){return(_PyObject_AsFileDescriptor=Module["_PyObject_AsFileDescriptor"]=Module["asm"]["PyObject_AsFileDescriptor"]).apply(null,arguments)};var __PyLong_FileDescriptor_Converter=Module["__PyLong_FileDescriptor_Converter"]=function(){return(__PyLong_FileDescriptor_Converter=Module["__PyLong_FileDescriptor_Converter"]=Module["asm"]["_PyLong_FileDescriptor_Converter"]).apply(null,arguments)};var _flockfile=Module["_flockfile"]=function(){return(_flockfile=Module["_flockfile"]=Module["asm"]["flockfile"]).apply(null,arguments)};var _getc_unlocked=Module["_getc_unlocked"]=function(){return(_getc_unlocked=Module["_getc_unlocked"]=Module["asm"]["getc_unlocked"]).apply(null,arguments)};var _funlockfile=Module["_funlockfile"]=function(){return(_funlockfile=Module["_funlockfile"]=Module["asm"]["funlockfile"]).apply(null,arguments)};var _PyFile_NewStdPrinter=Module["_PyFile_NewStdPrinter"]=function(){return(_PyFile_NewStdPrinter=Module["_PyFile_NewStdPrinter"]=Module["asm"]["PyFile_NewStdPrinter"]).apply(null,arguments)};var _PyFile_SetOpenCodeHook=Module["_PyFile_SetOpenCodeHook"]=function(){return(_PyFile_SetOpenCodeHook=Module["_PyFile_SetOpenCodeHook"]=Module["asm"]["PyFile_SetOpenCodeHook"]).apply(null,arguments)};var _Py_IsInitialized=Module["_Py_IsInitialized"]=function(){return(_Py_IsInitialized=Module["_Py_IsInitialized"]=Module["asm"]["Py_IsInitialized"]).apply(null,arguments)};var _PyFile_OpenCodeObject=Module["_PyFile_OpenCodeObject"]=function(){return(_PyFile_OpenCodeObject=Module["_PyFile_OpenCodeObject"]=Module["asm"]["PyFile_OpenCodeObject"]).apply(null,arguments)};var _PyFile_OpenCode=Module["_PyFile_OpenCode"]=function(){return(_PyFile_OpenCode=Module["_PyFile_OpenCode"]=Module["asm"]["PyFile_OpenCode"]).apply(null,arguments)};var __PyUnicode_AsUTF8String=Module["__PyUnicode_AsUTF8String"]=function(){return(__PyUnicode_AsUTF8String=Module["__PyUnicode_AsUTF8String"]=Module["asm"]["_PyUnicode_AsUTF8String"]).apply(null,arguments)};var __Py_write=Module["__Py_write"]=function(){return(__Py_write=Module["__Py_write"]=Module["asm"]["_Py_write"]).apply(null,arguments)};var _PyFloat_GetMax=Module["_PyFloat_GetMax"]=function(){return(_PyFloat_GetMax=Module["_PyFloat_GetMax"]=Module["asm"]["PyFloat_GetMax"]).apply(null,arguments)};var _PyFloat_GetMin=Module["_PyFloat_GetMin"]=function(){return(_PyFloat_GetMin=Module["_PyFloat_GetMin"]=Module["asm"]["PyFloat_GetMin"]).apply(null,arguments)};var _PyFloat_GetInfo=Module["_PyFloat_GetInfo"]=function(){return(_PyFloat_GetInfo=Module["_PyFloat_GetInfo"]=Module["asm"]["PyFloat_GetInfo"]).apply(null,arguments)};var _PyStructSequence_New=Module["_PyStructSequence_New"]=function(){return(_PyStructSequence_New=Module["_PyStructSequence_New"]=Module["asm"]["PyStructSequence_New"]).apply(null,arguments)};var __PyUnicode_FromASCII=Module["__PyUnicode_FromASCII"]=function(){return(__PyUnicode_FromASCII=Module["__PyUnicode_FromASCII"]=Module["asm"]["_PyUnicode_FromASCII"]).apply(null,arguments)};var __PyLong_NumBits=Module["__PyLong_NumBits"]=function(){return(__PyLong_NumBits=Module["__PyLong_NumBits"]=Module["asm"]["_PyLong_NumBits"]).apply(null,arguments)};var _frexp=Module["_frexp"]=function(){return(_frexp=Module["_frexp"]=Module["asm"]["frexp"]).apply(null,arguments)};var _modf=Module["_modf"]=function(){return(_modf=Module["_modf"]=Module["asm"]["modf"]).apply(null,arguments)};var _PyLong_FromDouble=Module["_PyLong_FromDouble"]=function(){return(_PyLong_FromDouble=Module["_PyLong_FromDouble"]=Module["asm"]["PyLong_FromDouble"]).apply(null,arguments)};var __PyLong_Lshift=Module["__PyLong_Lshift"]=function(){return(__PyLong_Lshift=Module["__PyLong_Lshift"]=Module["asm"]["_PyLong_Lshift"]).apply(null,arguments)};var __PyFloat_Init=Module["__PyFloat_Init"]=function(){return(__PyFloat_Init=Module["__PyFloat_Init"]=Module["asm"]["_PyFloat_Init"]).apply(null,arguments)};var __PyFloat_InitTypes=Module["__PyFloat_InitTypes"]=function(){return(__PyFloat_InitTypes=Module["__PyFloat_InitTypes"]=Module["asm"]["_PyFloat_InitTypes"]).apply(null,arguments)};var _PyStructSequence_InitType2=Module["_PyStructSequence_InitType2"]=function(){return(_PyStructSequence_InitType2=Module["_PyStructSequence_InitType2"]=Module["asm"]["PyStructSequence_InitType2"]).apply(null,arguments)};var __PyFloat_ClearFreeList=Module["__PyFloat_ClearFreeList"]=function(){return(__PyFloat_ClearFreeList=Module["__PyFloat_ClearFreeList"]=Module["asm"]["_PyFloat_ClearFreeList"]).apply(null,arguments)};var __PyFloat_Fini=Module["__PyFloat_Fini"]=function(){return(__PyFloat_Fini=Module["__PyFloat_Fini"]=Module["asm"]["_PyFloat_Fini"]).apply(null,arguments)};var __PyFloat_DebugMallocStats=Module["__PyFloat_DebugMallocStats"]=function(){return(__PyFloat_DebugMallocStats=Module["__PyFloat_DebugMallocStats"]=Module["asm"]["_PyFloat_DebugMallocStats"]).apply(null,arguments)};var __PyDebugAllocatorStats=Module["__PyDebugAllocatorStats"]=function(){return(__PyDebugAllocatorStats=Module["__PyDebugAllocatorStats"]=Module["asm"]["_PyDebugAllocatorStats"]).apply(null,arguments)};var __PyFloat_Pack2=Module["__PyFloat_Pack2"]=function(){return(__PyFloat_Pack2=Module["__PyFloat_Pack2"]=Module["asm"]["_PyFloat_Pack2"]).apply(null,arguments)};var _ldexp=Module["_ldexp"]=function(){return(_ldexp=Module["_ldexp"]=Module["asm"]["ldexp"]).apply(null,arguments)};var __PyFloat_Pack4=Module["__PyFloat_Pack4"]=function(){return(__PyFloat_Pack4=Module["__PyFloat_Pack4"]=Module["asm"]["_PyFloat_Pack4"]).apply(null,arguments)};var __PyFloat_Pack8=Module["__PyFloat_Pack8"]=function(){return(__PyFloat_Pack8=Module["__PyFloat_Pack8"]=Module["asm"]["_PyFloat_Pack8"]).apply(null,arguments)};var __PyFloat_Unpack2=Module["__PyFloat_Unpack2"]=function(){return(__PyFloat_Unpack2=Module["__PyFloat_Unpack2"]=Module["asm"]["_PyFloat_Unpack2"]).apply(null,arguments)};var __Py_dg_infinity=Module["__Py_dg_infinity"]=function(){return(__Py_dg_infinity=Module["__Py_dg_infinity"]=Module["asm"]["_Py_dg_infinity"]).apply(null,arguments)};var __Py_dg_stdnan=Module["__Py_dg_stdnan"]=function(){return(__Py_dg_stdnan=Module["__Py_dg_stdnan"]=Module["asm"]["_Py_dg_stdnan"]).apply(null,arguments)};var __PyFloat_Unpack4=Module["__PyFloat_Unpack4"]=function(){return(__PyFloat_Unpack4=Module["__PyFloat_Unpack4"]=Module["asm"]["_PyFloat_Unpack4"]).apply(null,arguments)};var __PyFloat_Unpack8=Module["__PyFloat_Unpack8"]=function(){return(__PyFloat_Unpack8=Module["__PyFloat_Unpack8"]=Module["asm"]["_PyFloat_Unpack8"]).apply(null,arguments)};var _fmod=Module["_fmod"]=function(){return(_fmod=Module["_fmod"]=Module["asm"]["fmod"]).apply(null,arguments)};var _PyErr_SetFromErrno=Module["_PyErr_SetFromErrno"]=function(){return(_PyErr_SetFromErrno=Module["_PyErr_SetFromErrno"]=Module["asm"]["PyErr_SetFromErrno"]).apply(null,arguments)};var _round=Module["_round"]=function(){return(_round=Module["_round"]=Module["asm"]["round"]).apply(null,arguments)};var __Py_dg_dtoa=Module["__Py_dg_dtoa"]=function(){return(__Py_dg_dtoa=Module["__Py_dg_dtoa"]=Module["asm"]["_Py_dg_dtoa"]).apply(null,arguments)};var __Py_dg_strtod=Module["__Py_dg_strtod"]=function(){return(__Py_dg_strtod=Module["__Py_dg_strtod"]=Module["asm"]["_Py_dg_strtod"]).apply(null,arguments)};var __Py_dg_freedtoa=Module["__Py_dg_freedtoa"]=function(){return(__Py_dg_freedtoa=Module["__Py_dg_freedtoa"]=Module["asm"]["_Py_dg_freedtoa"]).apply(null,arguments)};var __Py_parse_inf_or_nan=Module["__Py_parse_inf_or_nan"]=function(){return(__Py_parse_inf_or_nan=Module["__Py_parse_inf_or_nan"]=Module["asm"]["_Py_parse_inf_or_nan"]).apply(null,arguments)};var _strtol=Module["_strtol"]=function(){return(_strtol=Module["_strtol"]=Module["asm"]["strtol"]).apply(null,arguments)};var __PyFloat_FormatAdvancedWriter=Module["__PyFloat_FormatAdvancedWriter"]=function(){return(__PyFloat_FormatAdvancedWriter=Module["__PyFloat_FormatAdvancedWriter"]=Module["asm"]["_PyFloat_FormatAdvancedWriter"]).apply(null,arguments)};var __PyFrame_New_NoTrack=Module["__PyFrame_New_NoTrack"]=function(){return(__PyFrame_New_NoTrack=Module["__PyFrame_New_NoTrack"]=Module["asm"]["_PyFrame_New_NoTrack"]).apply(null,arguments)};var __PyObject_GC_NewVar=Module["__PyObject_GC_NewVar"]=function(){return(__PyObject_GC_NewVar=Module["__PyObject_GC_NewVar"]=Module["asm"]["_PyObject_GC_NewVar"]).apply(null,arguments)};var __PyObject_GC_Resize=Module["__PyObject_GC_Resize"]=function(){return(__PyObject_GC_Resize=Module["__PyObject_GC_Resize"]=Module["asm"]["_PyObject_GC_Resize"]).apply(null,arguments)};var _PyFrame_New=Module["_PyFrame_New"]=function(){return(_PyFrame_New=Module["_PyFrame_New"]=Module["asm"]["PyFrame_New"]).apply(null,arguments)};var __PyDict_GetItemIdWithError=Module["__PyDict_GetItemIdWithError"]=function(){return(__PyDict_GetItemIdWithError=Module["__PyDict_GetItemIdWithError"]=Module["asm"]["_PyDict_GetItemIdWithError"]).apply(null,arguments)};var __PyEval_GetBuiltins=Module["__PyEval_GetBuiltins"]=function(){return(__PyEval_GetBuiltins=Module["__PyEval_GetBuiltins"]=Module["asm"]["_PyEval_GetBuiltins"]).apply(null,arguments)};var __PyEval_BuiltinsFromGlobals=Module["__PyEval_BuiltinsFromGlobals"]=function(){return(__PyEval_BuiltinsFromGlobals=Module["__PyEval_BuiltinsFromGlobals"]=Module["asm"]["_PyEval_BuiltinsFromGlobals"]).apply(null,arguments)};var _PyFrame_BlockSetup=Module["_PyFrame_BlockSetup"]=function(){return(_PyFrame_BlockSetup=Module["_PyFrame_BlockSetup"]=Module["asm"]["PyFrame_BlockSetup"]).apply(null,arguments)};var _PyFrame_BlockPop=Module["_PyFrame_BlockPop"]=function(){return(_PyFrame_BlockPop=Module["_PyFrame_BlockPop"]=Module["asm"]["PyFrame_BlockPop"]).apply(null,arguments)};var _PyFrame_FastToLocalsWithError=Module["_PyFrame_FastToLocalsWithError"]=function(){return(_PyFrame_FastToLocalsWithError=Module["_PyFrame_FastToLocalsWithError"]=Module["asm"]["PyFrame_FastToLocalsWithError"]).apply(null,arguments)};var _PyFrame_FastToLocals=Module["_PyFrame_FastToLocals"]=function(){return(_PyFrame_FastToLocals=Module["_PyFrame_FastToLocals"]=Module["asm"]["PyFrame_FastToLocals"]).apply(null,arguments)};var _PyFrame_LocalsToFast=Module["_PyFrame_LocalsToFast"]=function(){return(_PyFrame_LocalsToFast=Module["_PyFrame_LocalsToFast"]=Module["asm"]["PyFrame_LocalsToFast"]).apply(null,arguments)};var __PyFrame_ClearFreeList=Module["__PyFrame_ClearFreeList"]=function(){return(__PyFrame_ClearFreeList=Module["__PyFrame_ClearFreeList"]=Module["asm"]["_PyFrame_ClearFreeList"]).apply(null,arguments)};var __PyFrame_Fini=Module["__PyFrame_Fini"]=function(){return(__PyFrame_Fini=Module["__PyFrame_Fini"]=Module["asm"]["_PyFrame_Fini"]).apply(null,arguments)};var __PyFrame_DebugMallocStats=Module["__PyFrame_DebugMallocStats"]=function(){return(__PyFrame_DebugMallocStats=Module["__PyFrame_DebugMallocStats"]=Module["asm"]["_PyFrame_DebugMallocStats"]).apply(null,arguments)};var _PyFrame_GetCode=Module["_PyFrame_GetCode"]=function(){return(_PyFrame_GetCode=Module["_PyFrame_GetCode"]=Module["asm"]["PyFrame_GetCode"]).apply(null,arguments)};var _PyFrame_GetBack=Module["_PyFrame_GetBack"]=function(){return(_PyFrame_GetBack=Module["_PyFrame_GetBack"]=Module["asm"]["PyFrame_GetBack"]).apply(null,arguments)};var _PyFunction_NewWithQualName=Module["_PyFunction_NewWithQualName"]=function(){return(_PyFunction_NewWithQualName=Module["_PyFunction_NewWithQualName"]=Module["asm"]["PyFunction_NewWithQualName"]).apply(null,arguments)};var _PyFunction_New=Module["_PyFunction_New"]=function(){return(_PyFunction_New=Module["_PyFunction_New"]=Module["asm"]["PyFunction_New"]).apply(null,arguments)};var _PyFunction_GetCode=Module["_PyFunction_GetCode"]=function(){return(_PyFunction_GetCode=Module["_PyFunction_GetCode"]=Module["asm"]["PyFunction_GetCode"]).apply(null,arguments)};var _PyFunction_GetGlobals=Module["_PyFunction_GetGlobals"]=function(){return(_PyFunction_GetGlobals=Module["_PyFunction_GetGlobals"]=Module["asm"]["PyFunction_GetGlobals"]).apply(null,arguments)};var _PyFunction_GetModule=Module["_PyFunction_GetModule"]=function(){return(_PyFunction_GetModule=Module["_PyFunction_GetModule"]=Module["asm"]["PyFunction_GetModule"]).apply(null,arguments)};var _PyFunction_GetDefaults=Module["_PyFunction_GetDefaults"]=function(){return(_PyFunction_GetDefaults=Module["_PyFunction_GetDefaults"]=Module["asm"]["PyFunction_GetDefaults"]).apply(null,arguments)};var _PyFunction_SetDefaults=Module["_PyFunction_SetDefaults"]=function(){return(_PyFunction_SetDefaults=Module["_PyFunction_SetDefaults"]=Module["asm"]["PyFunction_SetDefaults"]).apply(null,arguments)};var _PyFunction_GetKwDefaults=Module["_PyFunction_GetKwDefaults"]=function(){return(_PyFunction_GetKwDefaults=Module["_PyFunction_GetKwDefaults"]=Module["asm"]["PyFunction_GetKwDefaults"]).apply(null,arguments)};var _PyFunction_SetKwDefaults=Module["_PyFunction_SetKwDefaults"]=function(){return(_PyFunction_SetKwDefaults=Module["_PyFunction_SetKwDefaults"]=Module["asm"]["PyFunction_SetKwDefaults"]).apply(null,arguments)};var _PyFunction_GetClosure=Module["_PyFunction_GetClosure"]=function(){return(_PyFunction_GetClosure=Module["_PyFunction_GetClosure"]=Module["asm"]["PyFunction_GetClosure"]).apply(null,arguments)};var _PyFunction_SetClosure=Module["_PyFunction_SetClosure"]=function(){return(_PyFunction_SetClosure=Module["_PyFunction_SetClosure"]=Module["asm"]["PyFunction_SetClosure"]).apply(null,arguments)};var _PyFunction_GetAnnotations=Module["_PyFunction_GetAnnotations"]=function(){return(_PyFunction_GetAnnotations=Module["_PyFunction_GetAnnotations"]=Module["asm"]["PyFunction_GetAnnotations"]).apply(null,arguments)};var _PyFunction_SetAnnotations=Module["_PyFunction_SetAnnotations"]=function(){return(_PyFunction_SetAnnotations=Module["_PyFunction_SetAnnotations"]=Module["asm"]["PyFunction_SetAnnotations"]).apply(null,arguments)};var _PyClassMethod_New=Module["_PyClassMethod_New"]=function(){return(_PyClassMethod_New=Module["_PyClassMethod_New"]=Module["asm"]["PyClassMethod_New"]).apply(null,arguments)};var _PyStaticMethod_New=Module["_PyStaticMethod_New"]=function(){return(_PyStaticMethod_New=Module["_PyStaticMethod_New"]=Module["asm"]["PyStaticMethod_New"]).apply(null,arguments)};var __PyInterpreterState_LookUpID=Module["__PyInterpreterState_LookUpID"]=function(){return(__PyInterpreterState_LookUpID=Module["__PyInterpreterState_LookUpID"]=Module["asm"]["_PyInterpreterState_LookUpID"]).apply(null,arguments)};var __PyInterpreterState_IDDecref=Module["__PyInterpreterState_IDDecref"]=function(){return(__PyInterpreterState_IDDecref=Module["__PyInterpreterState_IDDecref"]=Module["asm"]["_PyInterpreterState_IDDecref"]).apply(null,arguments)};var _PyLong_FromLongLong=Module["_PyLong_FromLongLong"]=function(){return(_PyLong_FromLongLong=Module["_PyLong_FromLongLong"]=Module["asm"]["PyLong_FromLongLong"]).apply(null,arguments)};var _PyLong_AsLongLongAndOverflow=Module["_PyLong_AsLongLongAndOverflow"]=function(){return(_PyLong_AsLongLongAndOverflow=Module["_PyLong_AsLongLongAndOverflow"]=Module["asm"]["PyLong_AsLongLongAndOverflow"]).apply(null,arguments)};var _PyArg_ParseTupleAndKeywords=Module["_PyArg_ParseTupleAndKeywords"]=function(){return(_PyArg_ParseTupleAndKeywords=Module["_PyArg_ParseTupleAndKeywords"]=Module["asm"]["PyArg_ParseTupleAndKeywords"]).apply(null,arguments)};var __PyInterpreterState_IDIncref=Module["__PyInterpreterState_IDIncref"]=function(){return(__PyInterpreterState_IDIncref=Module["__PyInterpreterState_IDIncref"]=Module["asm"]["_PyInterpreterState_IDIncref"]).apply(null,arguments)};var __PyInterpreterID_New=Module["__PyInterpreterID_New"]=function(){return(__PyInterpreterID_New=Module["__PyInterpreterID_New"]=Module["asm"]["_PyInterpreterID_New"]).apply(null,arguments)};var __PyInterpreterState_GetIDObject=Module["__PyInterpreterState_GetIDObject"]=function(){return(__PyInterpreterState_GetIDObject=Module["__PyInterpreterState_GetIDObject"]=Module["asm"]["_PyInterpreterState_GetIDObject"]).apply(null,arguments)};var __PyInterpreterState_IDInitref=Module["__PyInterpreterState_IDInitref"]=function(){return(__PyInterpreterState_IDInitref=Module["__PyInterpreterState_IDInitref"]=Module["asm"]["_PyInterpreterState_IDInitref"]).apply(null,arguments)};var _PyInterpreterState_GetID=Module["_PyInterpreterState_GetID"]=function(){return(_PyInterpreterState_GetID=Module["_PyInterpreterState_GetID"]=Module["asm"]["PyInterpreterState_GetID"]).apply(null,arguments)};var __PyInterpreterID_LookUp=Module["__PyInterpreterID_LookUp"]=function(){return(__PyInterpreterID_LookUp=Module["__PyInterpreterID_LookUp"]=Module["asm"]["_PyInterpreterID_LookUp"]).apply(null,arguments)};var _PyLong_AsLongLong=Module["_PyLong_AsLongLong"]=function(){return(_PyLong_AsLongLong=Module["_PyLong_AsLongLong"]=Module["asm"]["PyLong_AsLongLong"]).apply(null,arguments)};var _PyCallIter_New=Module["_PyCallIter_New"]=function(){return(_PyCallIter_New=Module["_PyCallIter_New"]=Module["asm"]["PyCallIter_New"]).apply(null,arguments)};var _PyAnextAwaitable_New=Module["_PyAnextAwaitable_New"]=function(){return(_PyAnextAwaitable_New=Module["_PyAnextAwaitable_New"]=Module["asm"]["PyAnextAwaitable_New"]).apply(null,arguments)};var __PyList_ClearFreeList=Module["__PyList_ClearFreeList"]=function(){return(__PyList_ClearFreeList=Module["__PyList_ClearFreeList"]=Module["asm"]["_PyList_ClearFreeList"]).apply(null,arguments)};var __PyList_Fini=Module["__PyList_Fini"]=function(){return(__PyList_Fini=Module["__PyList_Fini"]=Module["asm"]["_PyList_Fini"]).apply(null,arguments)};var __PyList_DebugMallocStats=Module["__PyList_DebugMallocStats"]=function(){return(__PyList_DebugMallocStats=Module["__PyList_DebugMallocStats"]=Module["asm"]["_PyList_DebugMallocStats"]).apply(null,arguments)};var _PyList_SetItem=Module["_PyList_SetItem"]=function(){return(_PyList_SetItem=Module["_PyList_SetItem"]=Module["asm"]["PyList_SetItem"]).apply(null,arguments)};var _PyList_Insert=Module["_PyList_Insert"]=function(){return(_PyList_Insert=Module["_PyList_Insert"]=Module["asm"]["PyList_Insert"]).apply(null,arguments)};var _PyList_GetSlice=Module["_PyList_GetSlice"]=function(){return(_PyList_GetSlice=Module["_PyList_GetSlice"]=Module["asm"]["PyList_GetSlice"]).apply(null,arguments)};var _Py_ReprEnter=Module["_Py_ReprEnter"]=function(){return(_Py_ReprEnter=Module["_Py_ReprEnter"]=Module["asm"]["Py_ReprEnter"]).apply(null,arguments)};var __PyUnicodeWriter_WriteChar=Module["__PyUnicodeWriter_WriteChar"]=function(){return(__PyUnicodeWriter_WriteChar=Module["__PyUnicodeWriter_WriteChar"]=Module["asm"]["_PyUnicodeWriter_WriteChar"]).apply(null,arguments)};var _Py_ReprLeave=Module["_Py_ReprLeave"]=function(){return(_Py_ReprLeave=Module["_Py_ReprLeave"]=Module["asm"]["Py_ReprLeave"]).apply(null,arguments)};var _PyObject_GC_Track=Module["_PyObject_GC_Track"]=function(){return(_PyObject_GC_Track=Module["_PyObject_GC_Track"]=Module["asm"]["PyObject_GC_Track"]).apply(null,arguments)};var __PyEval_SliceIndexNotNone=Module["__PyEval_SliceIndexNotNone"]=function(){return(__PyEval_SliceIndexNotNone=Module["__PyEval_SliceIndexNotNone"]=Module["asm"]["_PyEval_SliceIndexNotNone"]).apply(null,arguments)};var _PyObject_HashNotImplemented=Module["_PyObject_HashNotImplemented"]=function(){return(_PyObject_HashNotImplemented=Module["_PyObject_HashNotImplemented"]=Module["asm"]["PyObject_HashNotImplemented"]).apply(null,arguments)};var __PyLong_New=Module["__PyLong_New"]=function(){return(__PyLong_New=Module["__PyLong_New"]=Module["asm"]["_PyLong_New"]).apply(null,arguments)};var _PyLong_FromUnsignedLong=Module["_PyLong_FromUnsignedLong"]=function(){return(_PyLong_FromUnsignedLong=Module["_PyLong_FromUnsignedLong"]=Module["asm"]["PyLong_FromUnsignedLong"]).apply(null,arguments)};var _PyLong_FromUnsignedLongLong=Module["_PyLong_FromUnsignedLongLong"]=function(){return(_PyLong_FromUnsignedLongLong=Module["_PyLong_FromUnsignedLongLong"]=Module["asm"]["PyLong_FromUnsignedLongLong"]).apply(null,arguments)};var _PyLong_AsUnsignedLong=Module["_PyLong_AsUnsignedLong"]=function(){return(_PyLong_AsUnsignedLong=Module["_PyLong_AsUnsignedLong"]=Module["asm"]["PyLong_AsUnsignedLong"]).apply(null,arguments)};var _PyLong_AsUnsignedLongMask=Module["_PyLong_AsUnsignedLongMask"]=function(){return(_PyLong_AsUnsignedLongMask=Module["_PyLong_AsUnsignedLongMask"]=Module["asm"]["PyLong_AsUnsignedLongMask"]).apply(null,arguments)};var __PyLong_FromByteArray=Module["__PyLong_FromByteArray"]=function(){return(__PyLong_FromByteArray=Module["__PyLong_FromByteArray"]=Module["asm"]["_PyLong_FromByteArray"]).apply(null,arguments)};var _PyLong_AsVoidPtr=Module["_PyLong_AsVoidPtr"]=function(){return(_PyLong_AsVoidPtr=Module["_PyLong_AsVoidPtr"]=Module["asm"]["PyLong_AsVoidPtr"]).apply(null,arguments)};var _PyLong_AsUnsignedLongLong=Module["_PyLong_AsUnsignedLongLong"]=function(){return(_PyLong_AsUnsignedLongLong=Module["_PyLong_AsUnsignedLongLong"]=Module["asm"]["PyLong_AsUnsignedLongLong"]).apply(null,arguments)};var _PyLong_AsUnsignedLongLongMask=Module["_PyLong_AsUnsignedLongLongMask"]=function(){return(_PyLong_AsUnsignedLongLongMask=Module["_PyLong_AsUnsignedLongLongMask"]=Module["asm"]["PyLong_AsUnsignedLongLongMask"]).apply(null,arguments)};var __PyLong_UnsignedShort_Converter=Module["__PyLong_UnsignedShort_Converter"]=function(){return(__PyLong_UnsignedShort_Converter=Module["__PyLong_UnsignedShort_Converter"]=Module["asm"]["_PyLong_UnsignedShort_Converter"]).apply(null,arguments)};var __PyLong_UnsignedInt_Converter=Module["__PyLong_UnsignedInt_Converter"]=function(){return(__PyLong_UnsignedInt_Converter=Module["__PyLong_UnsignedInt_Converter"]=Module["asm"]["_PyLong_UnsignedInt_Converter"]).apply(null,arguments)};var __PyLong_UnsignedLong_Converter=Module["__PyLong_UnsignedLong_Converter"]=function(){return(__PyLong_UnsignedLong_Converter=Module["__PyLong_UnsignedLong_Converter"]=Module["asm"]["_PyLong_UnsignedLong_Converter"]).apply(null,arguments)};var __PyLong_UnsignedLongLong_Converter=Module["__PyLong_UnsignedLongLong_Converter"]=function(){return(__PyLong_UnsignedLongLong_Converter=Module["__PyLong_UnsignedLongLong_Converter"]=Module["asm"]["_PyLong_UnsignedLongLong_Converter"]).apply(null,arguments)};var __PyLong_Size_t_Converter=Module["__PyLong_Size_t_Converter"]=function(){return(__PyLong_Size_t_Converter=Module["__PyLong_Size_t_Converter"]=Module["asm"]["_PyLong_Size_t_Converter"]).apply(null,arguments)};var __PyUnicodeWriter_PrepareInternal=Module["__PyUnicodeWriter_PrepareInternal"]=function(){return(__PyUnicodeWriter_PrepareInternal=Module["__PyUnicodeWriter_PrepareInternal"]=Module["asm"]["_PyUnicodeWriter_PrepareInternal"]).apply(null,arguments)};var __PyLong_FormatWriter=Module["__PyLong_FormatWriter"]=function(){return(__PyLong_FormatWriter=Module["__PyLong_FormatWriter"]=Module["asm"]["_PyLong_FormatWriter"]).apply(null,arguments)};var __PyLong_Frexp=Module["__PyLong_Frexp"]=function(){return(__PyLong_Frexp=Module["__PyLong_Frexp"]=Module["asm"]["_PyLong_Frexp"]).apply(null,arguments)};var __PyLong_Rshift=Module["__PyLong_Rshift"]=function(){return(__PyLong_Rshift=Module["__PyLong_Rshift"]=Module["asm"]["_PyLong_Rshift"]).apply(null,arguments)};var __PyLong_GCD=Module["__PyLong_GCD"]=function(){return(__PyLong_GCD=Module["__PyLong_GCD"]=Module["asm"]["_PyLong_GCD"]).apply(null,arguments)};var __PyLong_DivmodNear=Module["__PyLong_DivmodNear"]=function(){return(__PyLong_DivmodNear=Module["__PyLong_DivmodNear"]=Module["asm"]["_PyLong_DivmodNear"]).apply(null,arguments)};var _PyLong_GetInfo=Module["_PyLong_GetInfo"]=function(){return(_PyLong_GetInfo=Module["_PyLong_GetInfo"]=Module["asm"]["PyLong_GetInfo"]).apply(null,arguments)};var __PyLong_Init=Module["__PyLong_Init"]=function(){return(__PyLong_Init=Module["__PyLong_Init"]=Module["asm"]["_PyLong_Init"]).apply(null,arguments)};var __PyLong_InitTypes=Module["__PyLong_InitTypes"]=function(){return(__PyLong_InitTypes=Module["__PyLong_InitTypes"]=Module["asm"]["_PyLong_InitTypes"]).apply(null,arguments)};var __PyLong_Fini=Module["__PyLong_Fini"]=function(){return(__PyLong_Fini=Module["__PyLong_Fini"]=Module["asm"]["_PyLong_Fini"]).apply(null,arguments)};var __PyUnicode_EqualToASCIIId=Module["__PyUnicode_EqualToASCIIId"]=function(){return(__PyUnicode_EqualToASCIIId=Module["__PyUnicode_EqualToASCIIId"]=Module["asm"]["_PyUnicode_EqualToASCIIId"]).apply(null,arguments)};var _PyObject_Bytes=Module["_PyObject_Bytes"]=function(){return(_PyObject_Bytes=Module["_PyObject_Bytes"]=Module["asm"]["PyObject_Bytes"]).apply(null,arguments)};var __PyLong_FormatAdvancedWriter=Module["__PyLong_FormatAdvancedWriter"]=function(){return(__PyLong_FormatAdvancedWriter=Module["__PyLong_FormatAdvancedWriter"]=Module["asm"]["_PyLong_FormatAdvancedWriter"]).apply(null,arguments)};var __PyDict_ClearFreeList=Module["__PyDict_ClearFreeList"]=function(){return(__PyDict_ClearFreeList=Module["__PyDict_ClearFreeList"]=Module["asm"]["_PyDict_ClearFreeList"]).apply(null,arguments)};var __PyDict_Fini=Module["__PyDict_Fini"]=function(){return(__PyDict_Fini=Module["__PyDict_Fini"]=Module["asm"]["_PyDict_Fini"]).apply(null,arguments)};var __PyDict_DebugMallocStats=Module["__PyDict_DebugMallocStats"]=function(){return(__PyDict_DebugMallocStats=Module["__PyDict_DebugMallocStats"]=Module["asm"]["_PyDict_DebugMallocStats"]).apply(null,arguments)};var __PyDict_CheckConsistency=Module["__PyDict_CheckConsistency"]=function(){return(__PyDict_CheckConsistency=Module["__PyDict_CheckConsistency"]=Module["asm"]["_PyDict_CheckConsistency"]).apply(null,arguments)};var __PyObject_AssertFailed=Module["__PyObject_AssertFailed"]=function(){return(__PyObject_AssertFailed=Module["__PyObject_AssertFailed"]=Module["asm"]["_PyObject_AssertFailed"]).apply(null,arguments)};var __PyDict_HasOnlyStringKeys=Module["__PyDict_HasOnlyStringKeys"]=function(){return(__PyDict_HasOnlyStringKeys=Module["__PyDict_HasOnlyStringKeys"]=Module["asm"]["_PyDict_HasOnlyStringKeys"]).apply(null,arguments)};var __PyDict_MaybeUntrack=Module["__PyDict_MaybeUntrack"]=function(){return(__PyDict_MaybeUntrack=Module["__PyDict_MaybeUntrack"]=Module["asm"]["_PyDict_MaybeUntrack"]).apply(null,arguments)};var _PyObject_IS_GC=Module["_PyObject_IS_GC"]=function(){return(_PyObject_IS_GC=Module["_PyObject_IS_GC"]=Module["asm"]["PyObject_IS_GC"]).apply(null,arguments)};var _PyDict_GetItem=Module["_PyDict_GetItem"]=function(){return(_PyDict_GetItem=Module["_PyDict_GetItem"]=Module["asm"]["PyDict_GetItem"]).apply(null,arguments)};var __PyErr_Fetch=Module["__PyErr_Fetch"]=function(){return(__PyErr_Fetch=Module["__PyErr_Fetch"]=Module["asm"]["_PyErr_Fetch"]).apply(null,arguments)};var __PyErr_Restore=Module["__PyErr_Restore"]=function(){return(__PyErr_Restore=Module["__PyErr_Restore"]=Module["asm"]["_PyErr_Restore"]).apply(null,arguments)};var __PyDict_GetItemHint=Module["__PyDict_GetItemHint"]=function(){return(__PyDict_GetItemHint=Module["__PyDict_GetItemHint"]=Module["asm"]["_PyDict_GetItemHint"]).apply(null,arguments)};var __PyDict_GetItem_KnownHash=Module["__PyDict_GetItem_KnownHash"]=function(){return(__PyDict_GetItem_KnownHash=Module["__PyDict_GetItem_KnownHash"]=Module["asm"]["_PyDict_GetItem_KnownHash"]).apply(null,arguments)};var __PyDict_GetItemStringWithError=Module["__PyDict_GetItemStringWithError"]=function(){return(__PyDict_GetItemStringWithError=Module["__PyDict_GetItemStringWithError"]=Module["asm"]["_PyDict_GetItemStringWithError"]).apply(null,arguments)};var __PyDict_LoadGlobal=Module["__PyDict_LoadGlobal"]=function(){return(__PyDict_LoadGlobal=Module["__PyDict_LoadGlobal"]=Module["asm"]["_PyDict_LoadGlobal"]).apply(null,arguments)};var __PyDict_SetItem_KnownHash=Module["__PyDict_SetItem_KnownHash"]=function(){return(__PyDict_SetItem_KnownHash=Module["__PyDict_SetItem_KnownHash"]=Module["asm"]["_PyDict_SetItem_KnownHash"]).apply(null,arguments)};var _PyDict_DelItem=Module["_PyDict_DelItem"]=function(){return(_PyDict_DelItem=Module["_PyDict_DelItem"]=Module["asm"]["PyDict_DelItem"]).apply(null,arguments)};var __PyDict_DelItem_KnownHash=Module["__PyDict_DelItem_KnownHash"]=function(){return(__PyDict_DelItem_KnownHash=Module["__PyDict_DelItem_KnownHash"]=Module["asm"]["_PyDict_DelItem_KnownHash"]).apply(null,arguments)};var __PyErr_SetKeyError=Module["__PyErr_SetKeyError"]=function(){return(__PyErr_SetKeyError=Module["__PyErr_SetKeyError"]=Module["asm"]["_PyErr_SetKeyError"]).apply(null,arguments)};var __PyDict_DelItemIf=Module["__PyDict_DelItemIf"]=function(){return(__PyDict_DelItemIf=Module["__PyDict_DelItemIf"]=Module["asm"]["_PyDict_DelItemIf"]).apply(null,arguments)};var _PyDict_Clear=Module["_PyDict_Clear"]=function(){return(_PyDict_Clear=Module["_PyDict_Clear"]=Module["asm"]["PyDict_Clear"]).apply(null,arguments)};var __PyDict_Next=Module["__PyDict_Next"]=function(){return(__PyDict_Next=Module["__PyDict_Next"]=Module["asm"]["_PyDict_Next"]).apply(null,arguments)};var __PyDict_Pop_KnownHash=Module["__PyDict_Pop_KnownHash"]=function(){return(__PyDict_Pop_KnownHash=Module["__PyDict_Pop_KnownHash"]=Module["asm"]["_PyDict_Pop_KnownHash"]).apply(null,arguments)};var __PyDict_Pop=Module["__PyDict_Pop"]=function(){return(__PyDict_Pop=Module["__PyDict_Pop"]=Module["asm"]["_PyDict_Pop"]).apply(null,arguments)};var __PyDict_FromKeys=Module["__PyDict_FromKeys"]=function(){return(__PyDict_FromKeys=Module["__PyDict_FromKeys"]=Module["asm"]["_PyDict_FromKeys"]).apply(null,arguments)};var _PyDict_MergeFromSeq2=Module["_PyDict_MergeFromSeq2"]=function(){return(_PyDict_MergeFromSeq2=Module["_PyDict_MergeFromSeq2"]=Module["asm"]["PyDict_MergeFromSeq2"]).apply(null,arguments)};var _PyDict_SetDefault=Module["_PyDict_SetDefault"]=function(){return(_PyDict_SetDefault=Module["_PyDict_SetDefault"]=Module["asm"]["PyDict_SetDefault"]).apply(null,arguments)};var _PyDict_Update=Module["_PyDict_Update"]=function(){return(_PyDict_Update=Module["_PyDict_Update"]=Module["asm"]["PyDict_Update"]).apply(null,arguments)};var _PyDict_Merge=Module["_PyDict_Merge"]=function(){return(_PyDict_Merge=Module["_PyDict_Merge"]=Module["asm"]["PyDict_Merge"]).apply(null,arguments)};var __PyDict_MergeEx=Module["__PyDict_MergeEx"]=function(){return(__PyDict_MergeEx=Module["__PyDict_MergeEx"]=Module["asm"]["_PyDict_MergeEx"]).apply(null,arguments)};var _PyDict_Size=Module["_PyDict_Size"]=function(){return(_PyDict_Size=Module["_PyDict_Size"]=Module["asm"]["PyDict_Size"]).apply(null,arguments)};var __PyDict_SizeOf=Module["__PyDict_SizeOf"]=function(){return(__PyDict_SizeOf=Module["__PyDict_SizeOf"]=Module["asm"]["_PyDict_SizeOf"]).apply(null,arguments)};var __PyDict_KeysSize=Module["__PyDict_KeysSize"]=function(){return(__PyDict_KeysSize=Module["__PyDict_KeysSize"]=Module["asm"]["_PyDict_KeysSize"]).apply(null,arguments)};var __PyDict_Contains_KnownHash=Module["__PyDict_Contains_KnownHash"]=function(){return(__PyDict_Contains_KnownHash=Module["__PyDict_Contains_KnownHash"]=Module["asm"]["_PyDict_Contains_KnownHash"]).apply(null,arguments)};var __PyDict_ContainsId=Module["__PyDict_ContainsId"]=function(){return(__PyDict_ContainsId=Module["__PyDict_ContainsId"]=Module["asm"]["_PyDict_ContainsId"]).apply(null,arguments)};var _PyArg_ValidateKeywordArguments=Module["_PyArg_ValidateKeywordArguments"]=function(){return(_PyArg_ValidateKeywordArguments=Module["_PyArg_ValidateKeywordArguments"]=Module["asm"]["PyArg_ValidateKeywordArguments"]).apply(null,arguments)};var _PyDict_GetItemString=Module["_PyDict_GetItemString"]=function(){return(_PyDict_GetItemString=Module["_PyDict_GetItemString"]=Module["asm"]["PyDict_GetItemString"]).apply(null,arguments)};var __PyDict_DelItemId=Module["__PyDict_DelItemId"]=function(){return(__PyDict_DelItemId=Module["__PyDict_DelItemId"]=Module["asm"]["_PyDict_DelItemId"]).apply(null,arguments)};var _PyDict_DelItemString=Module["_PyDict_DelItemString"]=function(){return(_PyDict_DelItemString=Module["_PyDict_DelItemString"]=Module["asm"]["PyDict_DelItemString"]).apply(null,arguments)};var __PyDictView_New=Module["__PyDictView_New"]=function(){return(__PyDictView_New=Module["__PyDictView_New"]=Module["asm"]["_PyDictView_New"]).apply(null,arguments)};var __PyDictView_Intersect=Module["__PyDictView_Intersect"]=function(){return(__PyDictView_Intersect=Module["__PyDictView_Intersect"]=Module["asm"]["_PyDictView_Intersect"]).apply(null,arguments)};var _PySet_Add=Module["_PySet_Add"]=function(){return(_PySet_Add=Module["_PySet_Add"]=Module["asm"]["PySet_Add"]).apply(null,arguments)};var __PyDict_NewKeysForClass=Module["__PyDict_NewKeysForClass"]=function(){return(__PyDict_NewKeysForClass=Module["__PyDict_NewKeysForClass"]=Module["asm"]["_PyDict_NewKeysForClass"]).apply(null,arguments)};var __PyObjectDict_SetItem=Module["__PyObjectDict_SetItem"]=function(){return(__PyObjectDict_SetItem=Module["__PyObjectDict_SetItem"]=Module["asm"]["_PyObjectDict_SetItem"]).apply(null,arguments)};var __PyDictKeys_DecRef=Module["__PyDictKeys_DecRef"]=function(){return(__PyDictKeys_DecRef=Module["__PyDictKeys_DecRef"]=Module["asm"]["_PyDictKeys_DecRef"]).apply(null,arguments)};var _PyODict_New=Module["_PyODict_New"]=function(){return(_PyODict_New=Module["_PyODict_New"]=Module["asm"]["PyODict_New"]).apply(null,arguments)};var _PyODict_SetItem=Module["_PyODict_SetItem"]=function(){return(_PyODict_SetItem=Module["_PyODict_SetItem"]=Module["asm"]["PyODict_SetItem"]).apply(null,arguments)};var __PyErr_ChainExceptions=Module["__PyErr_ChainExceptions"]=function(){return(__PyErr_ChainExceptions=Module["__PyErr_ChainExceptions"]=Module["asm"]["_PyErr_ChainExceptions"]).apply(null,arguments)};var _PyODict_DelItem=Module["_PyODict_DelItem"]=function(){return(_PyODict_DelItem=Module["_PyODict_DelItem"]=Module["asm"]["PyODict_DelItem"]).apply(null,arguments)};var _PyMemoryView_FromMemory=Module["_PyMemoryView_FromMemory"]=function(){return(_PyMemoryView_FromMemory=Module["_PyMemoryView_FromMemory"]=Module["asm"]["PyMemoryView_FromMemory"]).apply(null,arguments)};var _PyMemoryView_FromBuffer=Module["_PyMemoryView_FromBuffer"]=function(){return(_PyMemoryView_FromBuffer=Module["_PyMemoryView_FromBuffer"]=Module["asm"]["PyMemoryView_FromBuffer"]).apply(null,arguments)};var _PyMemoryView_GetContiguous=Module["_PyMemoryView_GetContiguous"]=function(){return(_PyMemoryView_GetContiguous=Module["_PyMemoryView_GetContiguous"]=Module["asm"]["PyMemoryView_GetContiguous"]).apply(null,arguments)};var _PyUnicode_AsASCIIString=Module["_PyUnicode_AsASCIIString"]=function(){return(_PyUnicode_AsASCIIString=Module["_PyUnicode_AsASCIIString"]=Module["asm"]["PyUnicode_AsASCIIString"]).apply(null,arguments)};var _PyCFunction_New=Module["_PyCFunction_New"]=function(){return(_PyCFunction_New=Module["_PyCFunction_New"]=Module["asm"]["PyCFunction_New"]).apply(null,arguments)};var _PyCFunction_NewEx=Module["_PyCFunction_NewEx"]=function(){return(_PyCFunction_NewEx=Module["_PyCFunction_NewEx"]=Module["asm"]["PyCFunction_NewEx"]).apply(null,arguments)};var _PyCFunction_GetFunction=Module["_PyCFunction_GetFunction"]=function(){return(_PyCFunction_GetFunction=Module["_PyCFunction_GetFunction"]=Module["asm"]["PyCFunction_GetFunction"]).apply(null,arguments)};var _PyCFunction_GetSelf=Module["_PyCFunction_GetSelf"]=function(){return(_PyCFunction_GetSelf=Module["_PyCFunction_GetSelf"]=Module["asm"]["PyCFunction_GetSelf"]).apply(null,arguments)};var _PyCFunction_GetFlags=Module["_PyCFunction_GetFlags"]=function(){return(_PyCFunction_GetFlags=Module["_PyCFunction_GetFlags"]=Module["asm"]["PyCFunction_GetFlags"]).apply(null,arguments)};var _PyCMethod_GetClass=Module["_PyCMethod_GetClass"]=function(){return(_PyCMethod_GetClass=Module["_PyCMethod_GetClass"]=Module["asm"]["PyCMethod_GetClass"]).apply(null,arguments)};var __PyModule_IsExtension=Module["__PyModule_IsExtension"]=function(){return(__PyModule_IsExtension=Module["__PyModule_IsExtension"]=Module["asm"]["_PyModule_IsExtension"]).apply(null,arguments)};var _PyModuleDef_Init=Module["_PyModuleDef_Init"]=function(){return(_PyModuleDef_Init=Module["_PyModuleDef_Init"]=Module["asm"]["PyModuleDef_Init"]).apply(null,arguments)};var _PyModule_NewObject=Module["_PyModule_NewObject"]=function(){return(_PyModule_NewObject=Module["_PyModule_NewObject"]=Module["asm"]["PyModule_NewObject"]).apply(null,arguments)};var _PyModule_New=Module["_PyModule_New"]=function(){return(_PyModule_New=Module["_PyModule_New"]=Module["asm"]["PyModule_New"]).apply(null,arguments)};var __PyImport_IsInitialized=Module["__PyImport_IsInitialized"]=function(){return(__PyImport_IsInitialized=Module["__PyImport_IsInitialized"]=Module["asm"]["_PyImport_IsInitialized"]).apply(null,arguments)};var __PyModule_CreateInitialized=Module["__PyModule_CreateInitialized"]=function(){return(__PyModule_CreateInitialized=Module["__PyModule_CreateInitialized"]=Module["asm"]["_PyModule_CreateInitialized"]).apply(null,arguments)};var _strrchr=Module["_strrchr"]=function(){return(_strrchr=Module["_strrchr"]=Module["asm"]["strrchr"]).apply(null,arguments)};var _PyModule_GetNameObject=Module["_PyModule_GetNameObject"]=function(){return(_PyModule_GetNameObject=Module["_PyModule_GetNameObject"]=Module["asm"]["PyModule_GetNameObject"]).apply(null,arguments)};var _PyModule_SetDocString=Module["_PyModule_SetDocString"]=function(){return(_PyModule_SetDocString=Module["_PyModule_SetDocString"]=Module["asm"]["PyModule_SetDocString"]).apply(null,arguments)};var _PyModule_FromDefAndSpec2=Module["_PyModule_FromDefAndSpec2"]=function(){return(_PyModule_FromDefAndSpec2=Module["_PyModule_FromDefAndSpec2"]=Module["asm"]["PyModule_FromDefAndSpec2"]).apply(null,arguments)};var _PyModule_ExecDef=Module["_PyModule_ExecDef"]=function(){return(_PyModule_ExecDef=Module["_PyModule_ExecDef"]=Module["asm"]["PyModule_ExecDef"]).apply(null,arguments)};var _PyModule_GetName=Module["_PyModule_GetName"]=function(){return(_PyModule_GetName=Module["_PyModule_GetName"]=Module["asm"]["PyModule_GetName"]).apply(null,arguments)};var _PyModule_GetFilenameObject=Module["_PyModule_GetFilenameObject"]=function(){return(_PyModule_GetFilenameObject=Module["_PyModule_GetFilenameObject"]=Module["asm"]["PyModule_GetFilenameObject"]).apply(null,arguments)};var _PyModule_GetFilename=Module["_PyModule_GetFilename"]=function(){return(_PyModule_GetFilename=Module["_PyModule_GetFilename"]=Module["asm"]["PyModule_GetFilename"]).apply(null,arguments)};var _PyModule_GetDef=Module["_PyModule_GetDef"]=function(){return(_PyModule_GetDef=Module["_PyModule_GetDef"]=Module["asm"]["PyModule_GetDef"]).apply(null,arguments)};var _PyModule_GetState=Module["_PyModule_GetState"]=function(){return(_PyModule_GetState=Module["_PyModule_GetState"]=Module["asm"]["PyModule_GetState"]).apply(null,arguments)};var __PyModule_Clear=Module["__PyModule_Clear"]=function(){return(__PyModule_Clear=Module["__PyModule_Clear"]=Module["asm"]["_PyModule_Clear"]).apply(null,arguments)};var __PyModule_ClearDict=Module["__PyModule_ClearDict"]=function(){return(__PyModule_ClearDict=Module["__PyModule_ClearDict"]=Module["asm"]["_PyModule_ClearDict"]).apply(null,arguments)};var __PyModuleSpec_IsInitializing=Module["__PyModuleSpec_IsInitializing"]=function(){return(__PyModuleSpec_IsInitializing=Module["__PyModuleSpec_IsInitializing"]=Module["asm"]["_PyModuleSpec_IsInitializing"]).apply(null,arguments)};var _PySys_FormatStderr=Module["_PySys_FormatStderr"]=function(){return(_PySys_FormatStderr=Module["_PySys_FormatStderr"]=Module["asm"]["PySys_FormatStderr"]).apply(null,arguments)};var __PyNamespace_New=Module["__PyNamespace_New"]=function(){return(__PyNamespace_New=Module["__PyNamespace_New"]=Module["asm"]["_PyNamespace_New"]).apply(null,arguments)};var __PyObject_CheckConsistency=Module["__PyObject_CheckConsistency"]=function(){return(__PyObject_CheckConsistency=Module["__PyObject_CheckConsistency"]=Module["asm"]["_PyObject_CheckConsistency"]).apply(null,arguments)};var __PyType_CheckConsistency=Module["__PyType_CheckConsistency"]=function(){return(__PyType_CheckConsistency=Module["__PyType_CheckConsistency"]=Module["asm"]["_PyType_CheckConsistency"]).apply(null,arguments)};var __PyUnicode_CheckConsistency=Module["__PyUnicode_CheckConsistency"]=function(){return(__PyUnicode_CheckConsistency=Module["__PyUnicode_CheckConsistency"]=Module["asm"]["_PyUnicode_CheckConsistency"]).apply(null,arguments)};var __PyObject_IsFreed=Module["__PyObject_IsFreed"]=function(){return(__PyObject_IsFreed=Module["__PyObject_IsFreed"]=Module["asm"]["_PyObject_IsFreed"]).apply(null,arguments)};var _fiprintf=Module["_fiprintf"]=function(){return(_fiprintf=Module["_fiprintf"]=Module["asm"]["fiprintf"]).apply(null,arguments)};var _fwrite=Module["_fwrite"]=function(){return(_fwrite=Module["_fwrite"]=Module["asm"]["fwrite"]).apply(null,arguments)};var _fputc=Module["_fputc"]=function(){return(_fputc=Module["_fputc"]=Module["asm"]["fputc"]).apply(null,arguments)};var __PyMem_DumpTraceback=Module["__PyMem_DumpTraceback"]=function(){return(__PyMem_DumpTraceback=Module["__PyMem_DumpTraceback"]=Module["asm"]["_PyMem_DumpTraceback"]).apply(null,arguments)};var __PyObject_Dump=Module["__PyObject_Dump"]=function(){return(__PyObject_Dump=Module["__PyObject_Dump"]=Module["asm"]["_PyObject_Dump"]).apply(null,arguments)};var _Py_IncRef=Module["_Py_IncRef"]=function(){return(_Py_IncRef=Module["_Py_IncRef"]=Module["asm"]["Py_IncRef"]).apply(null,arguments)};var _Py_DecRef=Module["_Py_DecRef"]=function(){return(_Py_DecRef=Module["_Py_DecRef"]=Module["asm"]["Py_DecRef"]).apply(null,arguments)};var __Py_IncRef=Module["__Py_IncRef"]=function(){return(__Py_IncRef=Module["__Py_IncRef"]=Module["asm"]["_Py_IncRef"]).apply(null,arguments)};var __Py_DecRef=Module["__Py_DecRef"]=function(){return(__Py_DecRef=Module["__Py_DecRef"]=Module["asm"]["_Py_DecRef"]).apply(null,arguments)};var _PyObject_Init=Module["_PyObject_Init"]=function(){return(_PyObject_Init=Module["_PyObject_Init"]=Module["asm"]["PyObject_Init"]).apply(null,arguments)};var __PyTraceMalloc_NewReference=Module["__PyTraceMalloc_NewReference"]=function(){return(__PyTraceMalloc_NewReference=Module["__PyTraceMalloc_NewReference"]=Module["asm"]["_PyTraceMalloc_NewReference"]).apply(null,arguments)};var _PyObject_InitVar=Module["_PyObject_InitVar"]=function(){return(_PyObject_InitVar=Module["_PyObject_InitVar"]=Module["asm"]["PyObject_InitVar"]).apply(null,arguments)};var __PyObject_NewVar=Module["__PyObject_NewVar"]=function(){return(__PyObject_NewVar=Module["__PyObject_NewVar"]=Module["asm"]["_PyObject_NewVar"]).apply(null,arguments)};var _PyObject_CallFinalizer=Module["_PyObject_CallFinalizer"]=function(){return(_PyObject_CallFinalizer=Module["_PyObject_CallFinalizer"]=Module["asm"]["PyObject_CallFinalizer"]).apply(null,arguments)};var _PyObject_Print=Module["_PyObject_Print"]=function(){return(_PyObject_Print=Module["_PyObject_Print"]=Module["asm"]["PyObject_Print"]).apply(null,arguments)};var _ferror=Module["_ferror"]=function(){return(_ferror=Module["_ferror"]=Module["asm"]["ferror"]).apply(null,arguments)};var __Py_BreakPoint=Module["__Py_BreakPoint"]=function(){return(__Py_BreakPoint=Module["__Py_BreakPoint"]=Module["asm"]["_Py_BreakPoint"]).apply(null,arguments)};var _PyGILState_Ensure=Module["_PyGILState_Ensure"]=function(){return(_PyGILState_Ensure=Module["_PyGILState_Ensure"]=Module["asm"]["PyGILState_Ensure"]).apply(null,arguments)};var _PyGILState_Release=Module["_PyGILState_Release"]=function(){return(_PyGILState_Release=Module["_PyGILState_Release"]=Module["asm"]["PyGILState_Release"]).apply(null,arguments)};var __PyUnicode_AsASCIIString=Module["__PyUnicode_AsASCIIString"]=function(){return(__PyUnicode_AsASCIIString=Module["__PyUnicode_AsASCIIString"]=Module["asm"]["_PyUnicode_AsASCIIString"]).apply(null,arguments)};var _PyUnicode_DecodeASCII=Module["_PyUnicode_DecodeASCII"]=function(){return(_PyUnicode_DecodeASCII=Module["_PyUnicode_DecodeASCII"]=Module["asm"]["PyUnicode_DecodeASCII"]).apply(null,arguments)};var __PyObject_LookupAttr=Module["__PyObject_LookupAttr"]=function(){return(__PyObject_LookupAttr=Module["__PyObject_LookupAttr"]=Module["asm"]["_PyObject_LookupAttr"]).apply(null,arguments)};var _PyObject_HasAttrString=Module["_PyObject_HasAttrString"]=function(){return(_PyObject_HasAttrString=Module["_PyObject_HasAttrString"]=Module["asm"]["PyObject_HasAttrString"]).apply(null,arguments)};var __PyObject_GenericGetAttrWithDict=Module["__PyObject_GenericGetAttrWithDict"]=function(){return(__PyObject_GenericGetAttrWithDict=Module["__PyObject_GenericGetAttrWithDict"]=Module["asm"]["_PyObject_GenericGetAttrWithDict"]).apply(null,arguments)};var __PyObject_GenericSetAttrWithDict=Module["__PyObject_GenericSetAttrWithDict"]=function(){return(__PyObject_GenericSetAttrWithDict=Module["__PyObject_GenericSetAttrWithDict"]=Module["asm"]["_PyObject_GenericSetAttrWithDict"]).apply(null,arguments)};var _PyObject_Not=Module["_PyObject_Not"]=function(){return(_PyObject_Not=Module["_PyObject_Not"]=Module["asm"]["PyObject_Not"]).apply(null,arguments)};var _PyEval_GetLocals=Module["_PyEval_GetLocals"]=function(){return(_PyEval_GetLocals=Module["_PyEval_GetLocals"]=Module["asm"]["PyEval_GetLocals"]).apply(null,arguments)};var __PyTypes_Init=Module["__PyTypes_Init"]=function(){return(__PyTypes_Init=Module["__PyTypes_Init"]=Module["asm"]["_PyTypes_Init"]).apply(null,arguments)};var __PyTypes_InitSlotDefs=Module["__PyTypes_InitSlotDefs"]=function(){return(__PyTypes_InitSlotDefs=Module["__PyTypes_InitSlotDefs"]=Module["asm"]["_PyTypes_InitSlotDefs"]).apply(null,arguments)};var __PyObject_DebugTypeStats=Module["__PyObject_DebugTypeStats"]=function(){return(__PyObject_DebugTypeStats=Module["__PyObject_DebugTypeStats"]=Module["asm"]["_PyObject_DebugTypeStats"]).apply(null,arguments)};var __PyTuple_DebugMallocStats=Module["__PyTuple_DebugMallocStats"]=function(){return(__PyTuple_DebugMallocStats=Module["__PyTuple_DebugMallocStats"]=Module["asm"]["_PyTuple_DebugMallocStats"]).apply(null,arguments)};var _PyThreadState_GetDict=Module["_PyThreadState_GetDict"]=function(){return(_PyThreadState_GetDict=Module["_PyThreadState_GetDict"]=Module["asm"]["PyThreadState_GetDict"]).apply(null,arguments)};var __PyTrash_deposit_object=Module["__PyTrash_deposit_object"]=function(){return(__PyTrash_deposit_object=Module["__PyTrash_deposit_object"]=Module["asm"]["_PyTrash_deposit_object"]).apply(null,arguments)};var __PyTrash_thread_deposit_object=Module["__PyTrash_thread_deposit_object"]=function(){return(__PyTrash_thread_deposit_object=Module["__PyTrash_thread_deposit_object"]=Module["asm"]["_PyTrash_thread_deposit_object"]).apply(null,arguments)};var __PyTrash_destroy_chain=Module["__PyTrash_destroy_chain"]=function(){return(__PyTrash_destroy_chain=Module["__PyTrash_destroy_chain"]=Module["asm"]["_PyTrash_destroy_chain"]).apply(null,arguments)};var __PyTrash_thread_destroy_chain=Module["__PyTrash_thread_destroy_chain"]=function(){return(__PyTrash_thread_destroy_chain=Module["__PyTrash_thread_destroy_chain"]=Module["asm"]["_PyTrash_thread_destroy_chain"]).apply(null,arguments)};var _PyObject_GET_WEAKREFS_LISTPTR=Module["_PyObject_GET_WEAKREFS_LISTPTR"]=function(){return(_PyObject_GET_WEAKREFS_LISTPTR=Module["_PyObject_GET_WEAKREFS_LISTPTR"]=Module["asm"]["PyObject_GET_WEAKREFS_LISTPTR"]).apply(null,arguments)};var _Py_NewRef=Module["_Py_NewRef"]=function(){return(_Py_NewRef=Module["_Py_NewRef"]=Module["asm"]["Py_NewRef"]).apply(null,arguments)};var _Py_XNewRef=Module["_Py_XNewRef"]=function(){return(_Py_XNewRef=Module["_Py_XNewRef"]=Module["asm"]["Py_XNewRef"]).apply(null,arguments)};var _Py_Is=Module["_Py_Is"]=function(){return(_Py_Is=Module["_Py_Is"]=Module["asm"]["Py_Is"]).apply(null,arguments)};var _Py_IsNone=Module["_Py_IsNone"]=function(){return(_Py_IsNone=Module["_Py_IsNone"]=Module["asm"]["Py_IsNone"]).apply(null,arguments)};var _Py_IsTrue=Module["_Py_IsTrue"]=function(){return(_Py_IsTrue=Module["_Py_IsTrue"]=Module["asm"]["Py_IsTrue"]).apply(null,arguments)};var _Py_IsFalse=Module["_Py_IsFalse"]=function(){return(_Py_IsFalse=Module["_Py_IsFalse"]=Module["asm"]["Py_IsFalse"]).apply(null,arguments)};var __PyMem_SetDefaultAllocator=Module["__PyMem_SetDefaultAllocator"]=function(){return(__PyMem_SetDefaultAllocator=Module["__PyMem_SetDefaultAllocator"]=Module["asm"]["_PyMem_SetDefaultAllocator"]).apply(null,arguments)};var __PyMem_GetAllocatorName=Module["__PyMem_GetAllocatorName"]=function(){return(__PyMem_GetAllocatorName=Module["__PyMem_GetAllocatorName"]=Module["asm"]["_PyMem_GetAllocatorName"]).apply(null,arguments)};var __PyMem_SetupAllocators=Module["__PyMem_SetupAllocators"]=function(){return(__PyMem_SetupAllocators=Module["__PyMem_SetupAllocators"]=Module["asm"]["_PyMem_SetupAllocators"]).apply(null,arguments)};var _calloc=Module["_calloc"]=function(){return(_calloc=Module["_calloc"]=Module["asm"]["calloc"]).apply(null,arguments)};var _realloc=Module["_realloc"]=function(){return(_realloc=Module["_realloc"]=Module["asm"]["realloc"]).apply(null,arguments)};var _PyMem_SetAllocator=Module["_PyMem_SetAllocator"]=function(){return(_PyMem_SetAllocator=Module["_PyMem_SetAllocator"]=Module["asm"]["PyMem_SetAllocator"]).apply(null,arguments)};var _PyMem_SetupDebugHooks=Module["_PyMem_SetupDebugHooks"]=function(){return(_PyMem_SetupDebugHooks=Module["_PyMem_SetupDebugHooks"]=Module["asm"]["PyMem_SetupDebugHooks"]).apply(null,arguments)};var __PyMem_GetCurrentAllocatorName=Module["__PyMem_GetCurrentAllocatorName"]=function(){return(__PyMem_GetCurrentAllocatorName=Module["__PyMem_GetCurrentAllocatorName"]=Module["asm"]["_PyMem_GetCurrentAllocatorName"]).apply(null,arguments)};var _PyGILState_Check=Module["_PyGILState_Check"]=function(){return(_PyGILState_Check=Module["_PyGILState_Check"]=Module["asm"]["PyGILState_Check"]).apply(null,arguments)};var _PyMem_GetAllocator=Module["_PyMem_GetAllocator"]=function(){return(_PyMem_GetAllocator=Module["_PyMem_GetAllocator"]=Module["asm"]["PyMem_GetAllocator"]).apply(null,arguments)};var _PyObject_GetArenaAllocator=Module["_PyObject_GetArenaAllocator"]=function(){return(_PyObject_GetArenaAllocator=Module["_PyObject_GetArenaAllocator"]=Module["asm"]["PyObject_GetArenaAllocator"]).apply(null,arguments)};var _PyObject_SetArenaAllocator=Module["_PyObject_SetArenaAllocator"]=function(){return(_PyObject_SetArenaAllocator=Module["_PyObject_SetArenaAllocator"]=Module["asm"]["PyObject_SetArenaAllocator"]).apply(null,arguments)};var _PyMem_RawMalloc=Module["_PyMem_RawMalloc"]=function(){return(_PyMem_RawMalloc=Module["_PyMem_RawMalloc"]=Module["asm"]["PyMem_RawMalloc"]).apply(null,arguments)};var _PyMem_RawCalloc=Module["_PyMem_RawCalloc"]=function(){return(_PyMem_RawCalloc=Module["_PyMem_RawCalloc"]=Module["asm"]["PyMem_RawCalloc"]).apply(null,arguments)};var __PyMem_RawWcsdup=Module["__PyMem_RawWcsdup"]=function(){return(__PyMem_RawWcsdup=Module["__PyMem_RawWcsdup"]=Module["asm"]["_PyMem_RawWcsdup"]).apply(null,arguments)};var _wcslen=Module["_wcslen"]=function(){return(_wcslen=Module["_wcslen"]=Module["asm"]["wcslen"]).apply(null,arguments)};var __PyMem_RawStrdup=Module["__PyMem_RawStrdup"]=function(){return(__PyMem_RawStrdup=Module["__PyMem_RawStrdup"]=Module["asm"]["_PyMem_RawStrdup"]).apply(null,arguments)};var __PyMem_Strdup=Module["__PyMem_Strdup"]=function(){return(__PyMem_Strdup=Module["__PyMem_Strdup"]=Module["asm"]["_PyMem_Strdup"]).apply(null,arguments)};var __Py_GetAllocatedBlocks=Module["__Py_GetAllocatedBlocks"]=function(){return(__Py_GetAllocatedBlocks=Module["__Py_GetAllocatedBlocks"]=Module["asm"]["_Py_GetAllocatedBlocks"]).apply(null,arguments)};var _PyPickleBuffer_FromObject=Module["_PyPickleBuffer_FromObject"]=function(){return(_PyPickleBuffer_FromObject=Module["_PyPickleBuffer_FromObject"]=Module["asm"]["PyPickleBuffer_FromObject"]).apply(null,arguments)};var _PyPickleBuffer_GetBuffer=Module["_PyPickleBuffer_GetBuffer"]=function(){return(_PyPickleBuffer_GetBuffer=Module["_PyPickleBuffer_GetBuffer"]=Module["asm"]["PyPickleBuffer_GetBuffer"]).apply(null,arguments)};var _PyPickleBuffer_Release=Module["_PyPickleBuffer_Release"]=function(){return(_PyPickleBuffer_Release=Module["_PyPickleBuffer_Release"]=Module["asm"]["PyPickleBuffer_Release"]).apply(null,arguments)};var __PySlice_GetLongIndices=Module["__PySlice_GetLongIndices"]=function(){return(__PySlice_GetLongIndices=Module["__PySlice_GetLongIndices"]=Module["asm"]["_PySlice_GetLongIndices"]).apply(null,arguments)};var _PySet_Size=Module["_PySet_Size"]=function(){return(_PySet_Size=Module["_PySet_Size"]=Module["asm"]["PySet_Size"]).apply(null,arguments)};var _PySet_Clear=Module["_PySet_Clear"]=function(){return(_PySet_Clear=Module["_PySet_Clear"]=Module["asm"]["PySet_Clear"]).apply(null,arguments)};var _PySet_Contains=Module["_PySet_Contains"]=function(){return(_PySet_Contains=Module["_PySet_Contains"]=Module["asm"]["PySet_Contains"]).apply(null,arguments)};var _PySet_Pop=Module["_PySet_Pop"]=function(){return(_PySet_Pop=Module["_PySet_Pop"]=Module["asm"]["PySet_Pop"]).apply(null,arguments)};var __PyUnicode_EQ=Module["__PyUnicode_EQ"]=function(){return(__PyUnicode_EQ=Module["__PyUnicode_EQ"]=Module["asm"]["_PyUnicode_EQ"]).apply(null,arguments)};var __PySlice_Fini=Module["__PySlice_Fini"]=function(){return(__PySlice_Fini=Module["__PySlice_Fini"]=Module["asm"]["_PySlice_Fini"]).apply(null,arguments)};var _PySlice_New=Module["_PySlice_New"]=function(){return(_PySlice_New=Module["_PySlice_New"]=Module["asm"]["PySlice_New"]).apply(null,arguments)};var _PySlice_GetIndices=Module["_PySlice_GetIndices"]=function(){return(_PySlice_GetIndices=Module["_PySlice_GetIndices"]=Module["asm"]["PySlice_GetIndices"]).apply(null,arguments)};var _PySlice_GetIndicesEx=Module["_PySlice_GetIndicesEx"]=function(){return(_PySlice_GetIndicesEx=Module["_PySlice_GetIndicesEx"]=Module["asm"]["PySlice_GetIndicesEx"]).apply(null,arguments)};var _PyStructSequence_SetItem=Module["_PyStructSequence_SetItem"]=function(){return(_PyStructSequence_SetItem=Module["_PyStructSequence_SetItem"]=Module["asm"]["PyStructSequence_SetItem"]).apply(null,arguments)};var _PyStructSequence_GetItem=Module["_PyStructSequence_GetItem"]=function(){return(_PyStructSequence_GetItem=Module["_PyStructSequence_GetItem"]=Module["asm"]["PyStructSequence_GetItem"]).apply(null,arguments)};var __PyStructSequence_InitType=Module["__PyStructSequence_InitType"]=function(){return(__PyStructSequence_InitType=Module["__PyStructSequence_InitType"]=Module["asm"]["_PyStructSequence_InitType"]).apply(null,arguments)};var _PyStructSequence_InitType=Module["_PyStructSequence_InitType"]=function(){return(_PyStructSequence_InitType=Module["_PyStructSequence_InitType"]=Module["asm"]["PyStructSequence_InitType"]).apply(null,arguments)};var _PyStructSequence_NewType=Module["_PyStructSequence_NewType"]=function(){return(_PyStructSequence_NewType=Module["_PyStructSequence_NewType"]=Module["asm"]["PyStructSequence_NewType"]).apply(null,arguments)};var __PyStructSequence_Init=Module["__PyStructSequence_Init"]=function(){return(__PyStructSequence_Init=Module["__PyStructSequence_Init"]=Module["asm"]["_PyStructSequence_Init"]).apply(null,arguments)};var _PyTuple_SetItem=Module["_PyTuple_SetItem"]=function(){return(_PyTuple_SetItem=Module["_PyTuple_SetItem"]=Module["asm"]["PyTuple_SetItem"]).apply(null,arguments)};var __PyTuple_MaybeUntrack=Module["__PyTuple_MaybeUntrack"]=function(){return(__PyTuple_MaybeUntrack=Module["__PyTuple_MaybeUntrack"]=Module["asm"]["_PyTuple_MaybeUntrack"]).apply(null,arguments)};var __PyTuple_ClearFreeList=Module["__PyTuple_ClearFreeList"]=function(){return(__PyTuple_ClearFreeList=Module["__PyTuple_ClearFreeList"]=Module["asm"]["_PyTuple_ClearFreeList"]).apply(null,arguments)};var __PyTuple_Init=Module["__PyTuple_Init"]=function(){return(__PyTuple_Init=Module["__PyTuple_Init"]=Module["asm"]["_PyTuple_Init"]).apply(null,arguments)};var __PyTuple_Fini=Module["__PyTuple_Fini"]=function(){return(__PyTuple_Fini=Module["__PyTuple_Fini"]=Module["asm"]["_PyTuple_Fini"]).apply(null,arguments)};var __PyType_InitCache=Module["__PyType_InitCache"]=function(){return(__PyType_InitCache=Module["__PyType_InitCache"]=Module["asm"]["_PyType_InitCache"]).apply(null,arguments)};var _PyType_ClearCache=Module["_PyType_ClearCache"]=function(){return(_PyType_ClearCache=Module["_PyType_ClearCache"]=Module["asm"]["PyType_ClearCache"]).apply(null,arguments)};var _PyType_Modified=Module["_PyType_Modified"]=function(){return(_PyType_Modified=Module["_PyType_Modified"]=Module["asm"]["PyType_Modified"]).apply(null,arguments)};var __PyType_Fini=Module["__PyType_Fini"]=function(){return(__PyType_Fini=Module["__PyType_Fini"]=Module["asm"]["_PyType_Fini"]).apply(null,arguments)};var __PyObject_GC_Malloc=Module["__PyObject_GC_Malloc"]=function(){return(__PyObject_GC_Malloc=Module["__PyObject_GC_Malloc"]=Module["asm"]["_PyObject_GC_Malloc"]).apply(null,arguments)};var __PyType_LookupId=Module["__PyType_LookupId"]=function(){return(__PyType_LookupId=Module["__PyType_LookupId"]=Module["asm"]["_PyType_LookupId"]).apply(null,arguments)};var _PyType_GetFlags=Module["_PyType_GetFlags"]=function(){return(_PyType_GetFlags=Module["_PyType_GetFlags"]=Module["asm"]["PyType_GetFlags"]).apply(null,arguments)};var __PyType_CalculateMetaclass=Module["__PyType_CalculateMetaclass"]=function(){return(__PyType_CalculateMetaclass=Module["__PyType_CalculateMetaclass"]=Module["asm"]["_PyType_CalculateMetaclass"]).apply(null,arguments)};var _PyType_FromModuleAndSpec=Module["_PyType_FromModuleAndSpec"]=function(){return(_PyType_FromModuleAndSpec=Module["_PyType_FromModuleAndSpec"]=Module["asm"]["PyType_FromModuleAndSpec"]).apply(null,arguments)};var __PyWeakref_ClearRef=Module["__PyWeakref_ClearRef"]=function(){return(__PyWeakref_ClearRef=Module["__PyWeakref_ClearRef"]=Module["asm"]["_PyWeakref_ClearRef"]).apply(null,arguments)};var _PyType_FromSpec=Module["_PyType_FromSpec"]=function(){return(_PyType_FromSpec=Module["_PyType_FromSpec"]=Module["asm"]["PyType_FromSpec"]).apply(null,arguments)};var __PyType_GetQualName=Module["__PyType_GetQualName"]=function(){return(__PyType_GetQualName=Module["__PyType_GetQualName"]=Module["asm"]["_PyType_GetQualName"]).apply(null,arguments)};var _PyType_GetSlot=Module["_PyType_GetSlot"]=function(){return(_PyType_GetSlot=Module["_PyType_GetSlot"]=Module["asm"]["PyType_GetSlot"]).apply(null,arguments)};var _PyType_GetModule=Module["_PyType_GetModule"]=function(){return(_PyType_GetModule=Module["_PyType_GetModule"]=Module["asm"]["PyType_GetModule"]).apply(null,arguments)};var _PyType_GetModuleState=Module["_PyType_GetModuleState"]=function(){return(_PyType_GetModuleState=Module["_PyType_GetModuleState"]=Module["asm"]["PyType_GetModuleState"]).apply(null,arguments)};var __PyType_GetModuleByDef=Module["__PyType_GetModuleByDef"]=function(){return(__PyType_GetModuleByDef=Module["__PyType_GetModuleByDef"]=Module["asm"]["_PyType_GetModuleByDef"]).apply(null,arguments)};var _PyArg_ParseTuple=Module["_PyArg_ParseTuple"]=function(){return(_PyArg_ParseTuple=Module["_PyArg_ParseTuple"]=Module["asm"]["PyArg_ParseTuple"]).apply(null,arguments)};var _PyUnicode_IsIdentifier=Module["_PyUnicode_IsIdentifier"]=function(){return(_PyUnicode_IsIdentifier=Module["_PyUnicode_IsIdentifier"]=Module["asm"]["PyUnicode_IsIdentifier"]).apply(null,arguments)};var __Py_Mangle=Module["__Py_Mangle"]=function(){return(__Py_Mangle=Module["__Py_Mangle"]=Module["asm"]["_Py_Mangle"]).apply(null,arguments)};var _PyEval_GetGlobals=Module["_PyEval_GetGlobals"]=function(){return(_PyEval_GetGlobals=Module["_PyEval_GetGlobals"]=Module["asm"]["PyEval_GetGlobals"]).apply(null,arguments)};var _PyThreadState_GetFrame=Module["_PyThreadState_GetFrame"]=function(){return(_PyThreadState_GetFrame=Module["_PyThreadState_GetFrame"]=Module["asm"]["PyThreadState_GetFrame"]).apply(null,arguments)};var _PyWeakref_NewRef=Module["_PyWeakref_NewRef"]=function(){return(_PyWeakref_NewRef=Module["_PyWeakref_NewRef"]=Module["asm"]["PyWeakref_NewRef"]).apply(null,arguments)};var _PyImport_GetModule=Module["_PyImport_GetModule"]=function(){return(_PyImport_GetModule=Module["_PyImport_GetModule"]=Module["asm"]["PyImport_GetModule"]).apply(null,arguments)};var _PyImport_Import=Module["_PyImport_Import"]=function(){return(_PyImport_Import=Module["_PyImport_Import"]=Module["asm"]["PyImport_Import"]).apply(null,arguments)};var __Py_GetErrorHandler=Module["__Py_GetErrorHandler"]=function(){return(__Py_GetErrorHandler=Module["__Py_GetErrorHandler"]=Module["asm"]["_Py_GetErrorHandler"]).apply(null,arguments)};var __PyUnicode_FastCopyCharacters=Module["__PyUnicode_FastCopyCharacters"]=function(){return(__PyUnicode_FastCopyCharacters=Module["__PyUnicode_FastCopyCharacters"]=Module["asm"]["_PyUnicode_FastCopyCharacters"]).apply(null,arguments)};var _PyUnicode_CopyCharacters=Module["_PyUnicode_CopyCharacters"]=function(){return(_PyUnicode_CopyCharacters=Module["_PyUnicode_CopyCharacters"]=Module["asm"]["PyUnicode_CopyCharacters"]).apply(null,arguments)};var _PyUnicode_Resize=Module["_PyUnicode_Resize"]=function(){return(_PyUnicode_Resize=Module["_PyUnicode_Resize"]=Module["asm"]["PyUnicode_Resize"]).apply(null,arguments)};var _PyUnicode_FromUnicode=Module["_PyUnicode_FromUnicode"]=function(){return(_PyUnicode_FromUnicode=Module["_PyUnicode_FromUnicode"]=Module["asm"]["PyUnicode_FromUnicode"]).apply(null,arguments)};var _PyUnicode_FromWideChar=Module["_PyUnicode_FromWideChar"]=function(){return(_PyUnicode_FromWideChar=Module["_PyUnicode_FromWideChar"]=Module["asm"]["PyUnicode_FromWideChar"]).apply(null,arguments)};var _PyUnicode_FromKindAndData=Module["_PyUnicode_FromKindAndData"]=function(){return(_PyUnicode_FromKindAndData=Module["_PyUnicode_FromKindAndData"]=Module["asm"]["PyUnicode_FromKindAndData"]).apply(null,arguments)};var __PyUnicode_FindMaxChar=Module["__PyUnicode_FindMaxChar"]=function(){return(__PyUnicode_FindMaxChar=Module["__PyUnicode_FindMaxChar"]=Module["asm"]["_PyUnicode_FindMaxChar"]).apply(null,arguments)};var _PyUnicode_AsUCS4=Module["_PyUnicode_AsUCS4"]=function(){return(_PyUnicode_AsUCS4=Module["_PyUnicode_AsUCS4"]=Module["asm"]["PyUnicode_AsUCS4"]).apply(null,arguments)};var _PyUnicode_AsUCS4Copy=Module["_PyUnicode_AsUCS4Copy"]=function(){return(_PyUnicode_AsUCS4Copy=Module["_PyUnicode_AsUCS4Copy"]=Module["asm"]["PyUnicode_AsUCS4Copy"]).apply(null,arguments)};var _PyUnicode_Fill=Module["_PyUnicode_Fill"]=function(){return(_PyUnicode_Fill=Module["_PyUnicode_Fill"]=Module["asm"]["PyUnicode_Fill"]).apply(null,arguments)};var __PyUnicodeWriter_WriteLatin1String=Module["__PyUnicodeWriter_WriteLatin1String"]=function(){return(__PyUnicodeWriter_WriteLatin1String=Module["__PyUnicodeWriter_WriteLatin1String"]=Module["asm"]["_PyUnicodeWriter_WriteLatin1String"]).apply(null,arguments)};var _PyUnicode_AsWideChar=Module["_PyUnicode_AsWideChar"]=function(){return(_PyUnicode_AsWideChar=Module["_PyUnicode_AsWideChar"]=Module["asm"]["PyUnicode_AsWideChar"]).apply(null,arguments)};var _PyUnicode_AsWideCharString=Module["_PyUnicode_AsWideCharString"]=function(){return(_PyUnicode_AsWideCharString=Module["_PyUnicode_AsWideCharString"]=Module["asm"]["PyUnicode_AsWideCharString"]).apply(null,arguments)};var __PyUnicode_WideCharString_Converter=Module["__PyUnicode_WideCharString_Converter"]=function(){return(__PyUnicode_WideCharString_Converter=Module["__PyUnicode_WideCharString_Converter"]=Module["asm"]["_PyUnicode_WideCharString_Converter"]).apply(null,arguments)};var _PyUnicode_AsUnicodeAndSize=Module["_PyUnicode_AsUnicodeAndSize"]=function(){return(_PyUnicode_AsUnicodeAndSize=Module["_PyUnicode_AsUnicodeAndSize"]=Module["asm"]["PyUnicode_AsUnicodeAndSize"]).apply(null,arguments)};var __PyUnicode_AsUnicode=Module["__PyUnicode_AsUnicode"]=function(){return(__PyUnicode_AsUnicode=Module["__PyUnicode_AsUnicode"]=Module["asm"]["_PyUnicode_AsUnicode"]).apply(null,arguments)};var __PyUnicode_WideCharString_Opt_Converter=Module["__PyUnicode_WideCharString_Opt_Converter"]=function(){return(__PyUnicode_WideCharString_Opt_Converter=Module["__PyUnicode_WideCharString_Opt_Converter"]=Module["asm"]["_PyUnicode_WideCharString_Opt_Converter"]).apply(null,arguments)};var _PyUnicode_FromOrdinal=Module["_PyUnicode_FromOrdinal"]=function(){return(_PyUnicode_FromOrdinal=Module["_PyUnicode_FromOrdinal"]=Module["asm"]["PyUnicode_FromOrdinal"]).apply(null,arguments)};var _PyUnicode_FromObject=Module["_PyUnicode_FromObject"]=function(){return(_PyUnicode_FromObject=Module["_PyUnicode_FromObject"]=Module["asm"]["PyUnicode_FromObject"]).apply(null,arguments)};var __PyInterpreterState_GetConfig=Module["__PyInterpreterState_GetConfig"]=function(){return(__PyInterpreterState_GetConfig=Module["__PyInterpreterState_GetConfig"]=Module["asm"]["_PyInterpreterState_GetConfig"]).apply(null,arguments)};var __PyCodec_Lookup=Module["__PyCodec_Lookup"]=function(){return(__PyCodec_Lookup=Module["__PyCodec_Lookup"]=Module["asm"]["_PyCodec_Lookup"]).apply(null,arguments)};var _PyCodec_LookupError=Module["_PyCodec_LookupError"]=function(){return(_PyCodec_LookupError=Module["_PyCodec_LookupError"]=Module["asm"]["PyCodec_LookupError"]).apply(null,arguments)};var _PyUnicode_DecodeUTF16Stateful=Module["_PyUnicode_DecodeUTF16Stateful"]=function(){return(_PyUnicode_DecodeUTF16Stateful=Module["_PyUnicode_DecodeUTF16Stateful"]=Module["asm"]["PyUnicode_DecodeUTF16Stateful"]).apply(null,arguments)};var _PyUnicode_DecodeUTF32Stateful=Module["_PyUnicode_DecodeUTF32Stateful"]=function(){return(_PyUnicode_DecodeUTF32Stateful=Module["_PyUnicode_DecodeUTF32Stateful"]=Module["asm"]["PyUnicode_DecodeUTF32Stateful"]).apply(null,arguments)};var __PyCodec_DecodeText=Module["__PyCodec_DecodeText"]=function(){return(__PyCodec_DecodeText=Module["__PyCodec_DecodeText"]=Module["asm"]["_PyCodec_DecodeText"]).apply(null,arguments)};var __Py_normalize_encoding=Module["__Py_normalize_encoding"]=function(){return(__Py_normalize_encoding=Module["__Py_normalize_encoding"]=Module["asm"]["_Py_normalize_encoding"]).apply(null,arguments)};var _PyUnicode_DecodeUTF16=Module["_PyUnicode_DecodeUTF16"]=function(){return(_PyUnicode_DecodeUTF16=Module["_PyUnicode_DecodeUTF16"]=Module["asm"]["PyUnicode_DecodeUTF16"]).apply(null,arguments)};var _PyUnicode_DecodeUTF32=Module["_PyUnicode_DecodeUTF32"]=function(){return(_PyUnicode_DecodeUTF32=Module["_PyUnicode_DecodeUTF32"]=Module["asm"]["PyUnicode_DecodeUTF32"]).apply(null,arguments)};var _PyUnicode_AsDecodedObject=Module["_PyUnicode_AsDecodedObject"]=function(){return(_PyUnicode_AsDecodedObject=Module["_PyUnicode_AsDecodedObject"]=Module["asm"]["PyUnicode_AsDecodedObject"]).apply(null,arguments)};var _PyCodec_Decode=Module["_PyCodec_Decode"]=function(){return(_PyCodec_Decode=Module["_PyCodec_Decode"]=Module["asm"]["PyCodec_Decode"]).apply(null,arguments)};var _PyUnicode_AsDecodedUnicode=Module["_PyUnicode_AsDecodedUnicode"]=function(){return(_PyUnicode_AsDecodedUnicode=Module["_PyUnicode_AsDecodedUnicode"]=Module["asm"]["PyUnicode_AsDecodedUnicode"]).apply(null,arguments)};var _PyUnicode_Encode=Module["_PyUnicode_Encode"]=function(){return(_PyUnicode_Encode=Module["_PyUnicode_Encode"]=Module["asm"]["PyUnicode_Encode"]).apply(null,arguments)};var __PyUnicode_EncodeUTF16=Module["__PyUnicode_EncodeUTF16"]=function(){return(__PyUnicode_EncodeUTF16=Module["__PyUnicode_EncodeUTF16"]=Module["asm"]["_PyUnicode_EncodeUTF16"]).apply(null,arguments)};var __PyUnicode_EncodeUTF32=Module["__PyUnicode_EncodeUTF32"]=function(){return(__PyUnicode_EncodeUTF32=Module["__PyUnicode_EncodeUTF32"]=Module["asm"]["_PyUnicode_EncodeUTF32"]).apply(null,arguments)};var __PyUnicode_AsLatin1String=Module["__PyUnicode_AsLatin1String"]=function(){return(__PyUnicode_AsLatin1String=Module["__PyUnicode_AsLatin1String"]=Module["asm"]["_PyUnicode_AsLatin1String"]).apply(null,arguments)};var __PyCodec_EncodeText=Module["__PyCodec_EncodeText"]=function(){return(__PyCodec_EncodeText=Module["__PyCodec_EncodeText"]=Module["asm"]["_PyCodec_EncodeText"]).apply(null,arguments)};var _PyUnicode_AsEncodedObject=Module["_PyUnicode_AsEncodedObject"]=function(){return(_PyUnicode_AsEncodedObject=Module["_PyUnicode_AsEncodedObject"]=Module["asm"]["PyUnicode_AsEncodedObject"]).apply(null,arguments)};var _PyCodec_Encode=Module["_PyCodec_Encode"]=function(){return(_PyCodec_Encode=Module["_PyCodec_Encode"]=Module["asm"]["PyCodec_Encode"]).apply(null,arguments)};var _PyUnicode_EncodeLocale=Module["_PyUnicode_EncodeLocale"]=function(){return(_PyUnicode_EncodeLocale=Module["_PyUnicode_EncodeLocale"]=Module["asm"]["PyUnicode_EncodeLocale"]).apply(null,arguments)};var __Py_EncodeLocaleEx=Module["__Py_EncodeLocaleEx"]=function(){return(__Py_EncodeLocaleEx=Module["__Py_EncodeLocaleEx"]=Module["asm"]["_Py_EncodeLocaleEx"]).apply(null,arguments)};var _PyCodec_StrictErrors=Module["_PyCodec_StrictErrors"]=function(){return(_PyCodec_StrictErrors=Module["_PyCodec_StrictErrors"]=Module["asm"]["PyCodec_StrictErrors"]).apply(null,arguments)};var _PyUnicode_EncodeFSDefault=Module["_PyUnicode_EncodeFSDefault"]=function(){return(_PyUnicode_EncodeFSDefault=Module["_PyUnicode_EncodeFSDefault"]=Module["asm"]["PyUnicode_EncodeFSDefault"]).apply(null,arguments)};var _wcscmp=Module["_wcscmp"]=function(){return(_wcscmp=Module["_wcscmp"]=Module["asm"]["wcscmp"]).apply(null,arguments)};var _PyUnicode_AsEncodedUnicode=Module["_PyUnicode_AsEncodedUnicode"]=function(){return(_PyUnicode_AsEncodedUnicode=Module["_PyUnicode_AsEncodedUnicode"]=Module["asm"]["PyUnicode_AsEncodedUnicode"]).apply(null,arguments)};var _PyUnicode_DecodeLocaleAndSize=Module["_PyUnicode_DecodeLocaleAndSize"]=function(){return(_PyUnicode_DecodeLocaleAndSize=Module["_PyUnicode_DecodeLocaleAndSize"]=Module["asm"]["PyUnicode_DecodeLocaleAndSize"]).apply(null,arguments)};var __Py_DecodeLocaleEx=Module["__Py_DecodeLocaleEx"]=function(){return(__Py_DecodeLocaleEx=Module["__Py_DecodeLocaleEx"]=Module["asm"]["_Py_DecodeLocaleEx"]).apply(null,arguments)};var _PyUnicode_DecodeLocale=Module["_PyUnicode_DecodeLocale"]=function(){return(_PyUnicode_DecodeLocale=Module["_PyUnicode_DecodeLocale"]=Module["asm"]["PyUnicode_DecodeLocale"]).apply(null,arguments)};var _PyUnicode_DecodeFSDefaultAndSize=Module["_PyUnicode_DecodeFSDefaultAndSize"]=function(){return(_PyUnicode_DecodeFSDefaultAndSize=Module["_PyUnicode_DecodeFSDefaultAndSize"]=Module["asm"]["PyUnicode_DecodeFSDefaultAndSize"]).apply(null,arguments)};var _PyUnicode_FSConverter=Module["_PyUnicode_FSConverter"]=function(){return(_PyUnicode_FSConverter=Module["_PyUnicode_FSConverter"]=Module["asm"]["PyUnicode_FSConverter"]).apply(null,arguments)};var _PyOS_FSPath=Module["_PyOS_FSPath"]=function(){return(_PyOS_FSPath=Module["_PyOS_FSPath"]=Module["asm"]["PyOS_FSPath"]).apply(null,arguments)};var _PyUnicode_FSDecoder=Module["_PyUnicode_FSDecoder"]=function(){return(_PyUnicode_FSDecoder=Module["_PyUnicode_FSDecoder"]=Module["asm"]["PyUnicode_FSDecoder"]).apply(null,arguments)};var _PyUnicode_AsUnicode=Module["_PyUnicode_AsUnicode"]=function(){return(_PyUnicode_AsUnicode=Module["_PyUnicode_AsUnicode"]=Module["asm"]["PyUnicode_AsUnicode"]).apply(null,arguments)};var _PyUnicode_GetSize=Module["_PyUnicode_GetSize"]=function(){return(_PyUnicode_GetSize=Module["_PyUnicode_GetSize"]=Module["asm"]["PyUnicode_GetSize"]).apply(null,arguments)};var _PyUnicode_GetLength=Module["_PyUnicode_GetLength"]=function(){return(_PyUnicode_GetLength=Module["_PyUnicode_GetLength"]=Module["asm"]["PyUnicode_GetLength"]).apply(null,arguments)};var _PyUnicode_WriteChar=Module["_PyUnicode_WriteChar"]=function(){return(_PyUnicode_WriteChar=Module["_PyUnicode_WriteChar"]=Module["asm"]["PyUnicode_WriteChar"]).apply(null,arguments)};var _PyUnicode_DecodeUTF7=Module["_PyUnicode_DecodeUTF7"]=function(){return(_PyUnicode_DecodeUTF7=Module["_PyUnicode_DecodeUTF7"]=Module["asm"]["PyUnicode_DecodeUTF7"]).apply(null,arguments)};var _PyUnicode_DecodeUTF7Stateful=Module["_PyUnicode_DecodeUTF7Stateful"]=function(){return(_PyUnicode_DecodeUTF7Stateful=Module["_PyUnicode_DecodeUTF7Stateful"]=Module["asm"]["PyUnicode_DecodeUTF7Stateful"]).apply(null,arguments)};var __PyUnicode_EncodeUTF7=Module["__PyUnicode_EncodeUTF7"]=function(){return(__PyUnicode_EncodeUTF7=Module["__PyUnicode_EncodeUTF7"]=Module["asm"]["_PyUnicode_EncodeUTF7"]).apply(null,arguments)};var _PyUnicode_EncodeUTF7=Module["_PyUnicode_EncodeUTF7"]=function(){return(_PyUnicode_EncodeUTF7=Module["_PyUnicode_EncodeUTF7"]=Module["asm"]["PyUnicode_EncodeUTF7"]).apply(null,arguments)};var __Py_DecodeUTF8Ex=Module["__Py_DecodeUTF8Ex"]=function(){return(__Py_DecodeUTF8Ex=Module["__Py_DecodeUTF8Ex"]=Module["asm"]["_Py_DecodeUTF8Ex"]).apply(null,arguments)};var __Py_DecodeUTF8_surrogateescape=Module["__Py_DecodeUTF8_surrogateescape"]=function(){return(__Py_DecodeUTF8_surrogateescape=Module["__Py_DecodeUTF8_surrogateescape"]=Module["asm"]["_Py_DecodeUTF8_surrogateescape"]).apply(null,arguments)};var __Py_EncodeUTF8Ex=Module["__Py_EncodeUTF8Ex"]=function(){return(__Py_EncodeUTF8Ex=Module["__Py_EncodeUTF8Ex"]=Module["asm"]["_Py_EncodeUTF8Ex"]).apply(null,arguments)};var _PyUnicode_EncodeUTF8=Module["_PyUnicode_EncodeUTF8"]=function(){return(_PyUnicode_EncodeUTF8=Module["_PyUnicode_EncodeUTF8"]=Module["asm"]["PyUnicode_EncodeUTF8"]).apply(null,arguments)};var _PyUnicode_EncodeUTF32=Module["_PyUnicode_EncodeUTF32"]=function(){return(_PyUnicode_EncodeUTF32=Module["_PyUnicode_EncodeUTF32"]=Module["asm"]["PyUnicode_EncodeUTF32"]).apply(null,arguments)};var _PyUnicode_AsUTF32String=Module["_PyUnicode_AsUTF32String"]=function(){return(_PyUnicode_AsUTF32String=Module["_PyUnicode_AsUTF32String"]=Module["asm"]["PyUnicode_AsUTF32String"]).apply(null,arguments)};var _PyUnicode_EncodeUTF16=Module["_PyUnicode_EncodeUTF16"]=function(){return(_PyUnicode_EncodeUTF16=Module["_PyUnicode_EncodeUTF16"]=Module["asm"]["PyUnicode_EncodeUTF16"]).apply(null,arguments)};var _PyUnicode_AsUTF16String=Module["_PyUnicode_AsUTF16String"]=function(){return(_PyUnicode_AsUTF16String=Module["_PyUnicode_AsUTF16String"]=Module["asm"]["PyUnicode_AsUTF16String"]).apply(null,arguments)};var __PyUnicode_DecodeUnicodeEscapeStateful=Module["__PyUnicode_DecodeUnicodeEscapeStateful"]=function(){return(__PyUnicode_DecodeUnicodeEscapeStateful=Module["__PyUnicode_DecodeUnicodeEscapeStateful"]=Module["asm"]["_PyUnicode_DecodeUnicodeEscapeStateful"]).apply(null,arguments)};var _PyUnicode_DecodeUnicodeEscape=Module["_PyUnicode_DecodeUnicodeEscape"]=function(){return(_PyUnicode_DecodeUnicodeEscape=Module["_PyUnicode_DecodeUnicodeEscape"]=Module["asm"]["PyUnicode_DecodeUnicodeEscape"]).apply(null,arguments)};var _PyUnicode_AsUnicodeEscapeString=Module["_PyUnicode_AsUnicodeEscapeString"]=function(){return(_PyUnicode_AsUnicodeEscapeString=Module["_PyUnicode_AsUnicodeEscapeString"]=Module["asm"]["PyUnicode_AsUnicodeEscapeString"]).apply(null,arguments)};var _PyUnicode_EncodeUnicodeEscape=Module["_PyUnicode_EncodeUnicodeEscape"]=function(){return(_PyUnicode_EncodeUnicodeEscape=Module["_PyUnicode_EncodeUnicodeEscape"]=Module["asm"]["PyUnicode_EncodeUnicodeEscape"]).apply(null,arguments)};var __PyUnicode_DecodeRawUnicodeEscapeStateful=Module["__PyUnicode_DecodeRawUnicodeEscapeStateful"]=function(){return(__PyUnicode_DecodeRawUnicodeEscapeStateful=Module["__PyUnicode_DecodeRawUnicodeEscapeStateful"]=Module["asm"]["_PyUnicode_DecodeRawUnicodeEscapeStateful"]).apply(null,arguments)};var _PyUnicode_DecodeRawUnicodeEscape=Module["_PyUnicode_DecodeRawUnicodeEscape"]=function(){return(_PyUnicode_DecodeRawUnicodeEscape=Module["_PyUnicode_DecodeRawUnicodeEscape"]=Module["asm"]["PyUnicode_DecodeRawUnicodeEscape"]).apply(null,arguments)};var _PyUnicode_AsRawUnicodeEscapeString=Module["_PyUnicode_AsRawUnicodeEscapeString"]=function(){return(_PyUnicode_AsRawUnicodeEscapeString=Module["_PyUnicode_AsRawUnicodeEscapeString"]=Module["asm"]["PyUnicode_AsRawUnicodeEscapeString"]).apply(null,arguments)};var _PyUnicode_EncodeRawUnicodeEscape=Module["_PyUnicode_EncodeRawUnicodeEscape"]=function(){return(_PyUnicode_EncodeRawUnicodeEscape=Module["_PyUnicode_EncodeRawUnicodeEscape"]=Module["asm"]["PyUnicode_EncodeRawUnicodeEscape"]).apply(null,arguments)};var _PyUnicode_EncodeLatin1=Module["_PyUnicode_EncodeLatin1"]=function(){return(_PyUnicode_EncodeLatin1=Module["_PyUnicode_EncodeLatin1"]=Module["asm"]["PyUnicode_EncodeLatin1"]).apply(null,arguments)};var _PyUnicode_AsLatin1String=Module["_PyUnicode_AsLatin1String"]=function(){return(_PyUnicode_AsLatin1String=Module["_PyUnicode_AsLatin1String"]=Module["asm"]["PyUnicode_AsLatin1String"]).apply(null,arguments)};var __PyUnicodeWriter_PrepareKindInternal=Module["__PyUnicodeWriter_PrepareKindInternal"]=function(){return(__PyUnicodeWriter_PrepareKindInternal=Module["__PyUnicodeWriter_PrepareKindInternal"]=Module["asm"]["_PyUnicodeWriter_PrepareKindInternal"]).apply(null,arguments)};var _PyUnicode_EncodeASCII=Module["_PyUnicode_EncodeASCII"]=function(){return(_PyUnicode_EncodeASCII=Module["_PyUnicode_EncodeASCII"]=Module["asm"]["PyUnicode_EncodeASCII"]).apply(null,arguments)};var _PyUnicode_DecodeCharmap=Module["_PyUnicode_DecodeCharmap"]=function(){return(_PyUnicode_DecodeCharmap=Module["_PyUnicode_DecodeCharmap"]=Module["asm"]["PyUnicode_DecodeCharmap"]).apply(null,arguments)};var _PyUnicode_BuildEncodingMap=Module["_PyUnicode_BuildEncodingMap"]=function(){return(_PyUnicode_BuildEncodingMap=Module["_PyUnicode_BuildEncodingMap"]=Module["asm"]["PyUnicode_BuildEncodingMap"]).apply(null,arguments)};var __PyUnicode_EncodeCharmap=Module["__PyUnicode_EncodeCharmap"]=function(){return(__PyUnicode_EncodeCharmap=Module["__PyUnicode_EncodeCharmap"]=Module["asm"]["_PyUnicode_EncodeCharmap"]).apply(null,arguments)};var _PyUnicode_EncodeCharmap=Module["_PyUnicode_EncodeCharmap"]=function(){return(_PyUnicode_EncodeCharmap=Module["_PyUnicode_EncodeCharmap"]=Module["asm"]["PyUnicode_EncodeCharmap"]).apply(null,arguments)};var _PyUnicode_AsCharmapString=Module["_PyUnicode_AsCharmapString"]=function(){return(_PyUnicode_AsCharmapString=Module["_PyUnicode_AsCharmapString"]=Module["asm"]["PyUnicode_AsCharmapString"]).apply(null,arguments)};var _PyUnicode_TranslateCharmap=Module["_PyUnicode_TranslateCharmap"]=function(){return(_PyUnicode_TranslateCharmap=Module["_PyUnicode_TranslateCharmap"]=Module["asm"]["PyUnicode_TranslateCharmap"]).apply(null,arguments)};var _PyUnicode_Translate=Module["_PyUnicode_Translate"]=function(){return(_PyUnicode_Translate=Module["_PyUnicode_Translate"]=Module["asm"]["PyUnicode_Translate"]).apply(null,arguments)};var __PyUnicode_IsWhitespace=Module["__PyUnicode_IsWhitespace"]=function(){return(__PyUnicode_IsWhitespace=Module["__PyUnicode_IsWhitespace"]=Module["asm"]["_PyUnicode_IsWhitespace"]).apply(null,arguments)};var __PyUnicode_ToDecimalDigit=Module["__PyUnicode_ToDecimalDigit"]=function(){return(__PyUnicode_ToDecimalDigit=Module["__PyUnicode_ToDecimalDigit"]=Module["asm"]["_PyUnicode_ToDecimalDigit"]).apply(null,arguments)};var _PyUnicode_TransformDecimalToASCII=Module["_PyUnicode_TransformDecimalToASCII"]=function(){return(_PyUnicode_TransformDecimalToASCII=Module["_PyUnicode_TransformDecimalToASCII"]=Module["asm"]["PyUnicode_TransformDecimalToASCII"]).apply(null,arguments)};var _PyUnicode_EncodeDecimal=Module["_PyUnicode_EncodeDecimal"]=function(){return(_PyUnicode_EncodeDecimal=Module["_PyUnicode_EncodeDecimal"]=Module["asm"]["PyUnicode_EncodeDecimal"]).apply(null,arguments)};var __PyUnicode_InsertThousandsGrouping=Module["__PyUnicode_InsertThousandsGrouping"]=function(){return(__PyUnicode_InsertThousandsGrouping=Module["__PyUnicode_InsertThousandsGrouping"]=Module["asm"]["_PyUnicode_InsertThousandsGrouping"]).apply(null,arguments)};var _PyUnicode_Count=Module["_PyUnicode_Count"]=function(){return(_PyUnicode_Count=Module["_PyUnicode_Count"]=Module["asm"]["PyUnicode_Count"]).apply(null,arguments)};var _PyUnicode_Find=Module["_PyUnicode_Find"]=function(){return(_PyUnicode_Find=Module["_PyUnicode_Find"]=Module["asm"]["PyUnicode_Find"]).apply(null,arguments)};var _PyUnicode_FindChar=Module["_PyUnicode_FindChar"]=function(){return(_PyUnicode_FindChar=Module["_PyUnicode_FindChar"]=Module["asm"]["PyUnicode_FindChar"]).apply(null,arguments)};var _PyUnicode_Tailmatch=Module["_PyUnicode_Tailmatch"]=function(){return(_PyUnicode_Tailmatch=Module["_PyUnicode_Tailmatch"]=Module["asm"]["PyUnicode_Tailmatch"]).apply(null,arguments)};var __PyUnicode_JoinArray=Module["__PyUnicode_JoinArray"]=function(){return(__PyUnicode_JoinArray=Module["__PyUnicode_JoinArray"]=Module["asm"]["_PyUnicode_JoinArray"]).apply(null,arguments)};var __PyUnicode_FastFill=Module["__PyUnicode_FastFill"]=function(){return(__PyUnicode_FastFill=Module["__PyUnicode_FastFill"]=Module["asm"]["_PyUnicode_FastFill"]).apply(null,arguments)};var _PyUnicode_Splitlines=Module["_PyUnicode_Splitlines"]=function(){return(_PyUnicode_Splitlines=Module["_PyUnicode_Splitlines"]=Module["asm"]["PyUnicode_Splitlines"]).apply(null,arguments)};var __PyUnicode_IsLinebreak=Module["__PyUnicode_IsLinebreak"]=function(){return(__PyUnicode_IsLinebreak=Module["__PyUnicode_IsLinebreak"]=Module["asm"]["_PyUnicode_IsLinebreak"]).apply(null,arguments)};var _wmemcmp=Module["_wmemcmp"]=function(){return(_wmemcmp=Module["_wmemcmp"]=Module["asm"]["wmemcmp"]).apply(null,arguments)};var _PyUnicode_RichCompare=Module["_PyUnicode_RichCompare"]=function(){return(_PyUnicode_RichCompare=Module["_PyUnicode_RichCompare"]=Module["asm"]["PyUnicode_RichCompare"]).apply(null,arguments)};var _PyUnicode_Contains=Module["_PyUnicode_Contains"]=function(){return(_PyUnicode_Contains=Module["_PyUnicode_Contains"]=Module["asm"]["PyUnicode_Contains"]).apply(null,arguments)};var _PyUnicode_Concat=Module["_PyUnicode_Concat"]=function(){return(_PyUnicode_Concat=Module["_PyUnicode_Concat"]=Module["asm"]["PyUnicode_Concat"]).apply(null,arguments)};var _PyUnicode_Append=Module["_PyUnicode_Append"]=function(){return(_PyUnicode_Append=Module["_PyUnicode_Append"]=Module["asm"]["PyUnicode_Append"]).apply(null,arguments)};var __PyUnicode_IsXidStart=Module["__PyUnicode_IsXidStart"]=function(){return(__PyUnicode_IsXidStart=Module["__PyUnicode_IsXidStart"]=Module["asm"]["_PyUnicode_IsXidStart"]).apply(null,arguments)};var __PyUnicode_IsXidContinue=Module["__PyUnicode_IsXidContinue"]=function(){return(__PyUnicode_IsXidContinue=Module["__PyUnicode_IsXidContinue"]=Module["asm"]["_PyUnicode_IsXidContinue"]).apply(null,arguments)};var __PyUnicode_XStrip=Module["__PyUnicode_XStrip"]=function(){return(__PyUnicode_XStrip=Module["__PyUnicode_XStrip"]=Module["asm"]["_PyUnicode_XStrip"]).apply(null,arguments)};var _PyUnicode_Replace=Module["_PyUnicode_Replace"]=function(){return(_PyUnicode_Replace=Module["_PyUnicode_Replace"]=Module["asm"]["PyUnicode_Replace"]).apply(null,arguments)};var _PyUnicode_Split=Module["_PyUnicode_Split"]=function(){return(_PyUnicode_Split=Module["_PyUnicode_Split"]=Module["asm"]["PyUnicode_Split"]).apply(null,arguments)};var _PyUnicode_Partition=Module["_PyUnicode_Partition"]=function(){return(_PyUnicode_Partition=Module["_PyUnicode_Partition"]=Module["asm"]["PyUnicode_Partition"]).apply(null,arguments)};var _PyUnicode_RPartition=Module["_PyUnicode_RPartition"]=function(){return(_PyUnicode_RPartition=Module["_PyUnicode_RPartition"]=Module["asm"]["PyUnicode_RPartition"]).apply(null,arguments)};var _PyUnicode_RSplit=Module["_PyUnicode_RSplit"]=function(){return(_PyUnicode_RSplit=Module["_PyUnicode_RSplit"]=Module["asm"]["PyUnicode_RSplit"]).apply(null,arguments)};var __PyUnicodeWriter_WriteSubstring=Module["__PyUnicodeWriter_WriteSubstring"]=function(){return(__PyUnicodeWriter_WriteSubstring=Module["__PyUnicodeWriter_WriteSubstring"]=Module["asm"]["_PyUnicodeWriter_WriteSubstring"]).apply(null,arguments)};var _PyUnicode_Format=Module["_PyUnicode_Format"]=function(){return(_PyUnicode_Format=Module["_PyUnicode_Format"]=Module["asm"]["PyUnicode_Format"]).apply(null,arguments)};var __PyErr_WriteUnraisableMsg=Module["__PyErr_WriteUnraisableMsg"]=function(){return(__PyErr_WriteUnraisableMsg=Module["__PyErr_WriteUnraisableMsg"]=Module["asm"]["_PyErr_WriteUnraisableMsg"]).apply(null,arguments)};var __PyUnicode_Init=Module["__PyUnicode_Init"]=function(){return(__PyUnicode_Init=Module["__PyUnicode_Init"]=Module["asm"]["_PyUnicode_Init"]).apply(null,arguments)};var __PyUnicode_InitTypes=Module["__PyUnicode_InitTypes"]=function(){return(__PyUnicode_InitTypes=Module["__PyUnicode_InitTypes"]=Module["asm"]["_PyUnicode_InitTypes"]).apply(null,arguments)};var _PyUnicode_InternImmortal=Module["_PyUnicode_InternImmortal"]=function(){return(_PyUnicode_InternImmortal=Module["_PyUnicode_InternImmortal"]=Module["asm"]["PyUnicode_InternImmortal"]).apply(null,arguments)};var __PyUnicode_ClearInterned=Module["__PyUnicode_ClearInterned"]=function(){return(__PyUnicode_ClearInterned=Module["__PyUnicode_ClearInterned"]=Module["asm"]["_PyUnicode_ClearInterned"]).apply(null,arguments)};var __PyUnicode_InitEncodings=Module["__PyUnicode_InitEncodings"]=function(){return(__PyUnicode_InitEncodings=Module["__PyUnicode_InitEncodings"]=Module["asm"]["_PyUnicode_InitEncodings"]).apply(null,arguments)};var __Py_DumpPathConfig=Module["__Py_DumpPathConfig"]=function(){return(__Py_DumpPathConfig=Module["__Py_DumpPathConfig"]=Module["asm"]["_Py_DumpPathConfig"]).apply(null,arguments)};var __Py_SetFileSystemEncoding=Module["__Py_SetFileSystemEncoding"]=function(){return(__Py_SetFileSystemEncoding=Module["__Py_SetFileSystemEncoding"]=Module["asm"]["_Py_SetFileSystemEncoding"]).apply(null,arguments)};var __PyUnicode_Fini=Module["__PyUnicode_Fini"]=function(){return(__PyUnicode_Fini=Module["__PyUnicode_Fini"]=Module["asm"]["_PyUnicode_Fini"]).apply(null,arguments)};var _PyInit__string=Module["_PyInit__string"]=function(){return(_PyInit__string=Module["_PyInit__string"]=Module["asm"]["PyInit__string"]).apply(null,arguments)};var __PyUnicode_IsLowercase=Module["__PyUnicode_IsLowercase"]=function(){return(__PyUnicode_IsLowercase=Module["__PyUnicode_IsLowercase"]=Module["asm"]["_PyUnicode_IsLowercase"]).apply(null,arguments)};var __PyUnicode_IsUppercase=Module["__PyUnicode_IsUppercase"]=function(){return(__PyUnicode_IsUppercase=Module["__PyUnicode_IsUppercase"]=Module["asm"]["_PyUnicode_IsUppercase"]).apply(null,arguments)};var __PyUnicode_IsTitlecase=Module["__PyUnicode_IsTitlecase"]=function(){return(__PyUnicode_IsTitlecase=Module["__PyUnicode_IsTitlecase"]=Module["asm"]["_PyUnicode_IsTitlecase"]).apply(null,arguments)};var __PyUnicode_IsDecimalDigit=Module["__PyUnicode_IsDecimalDigit"]=function(){return(__PyUnicode_IsDecimalDigit=Module["__PyUnicode_IsDecimalDigit"]=Module["asm"]["_PyUnicode_IsDecimalDigit"]).apply(null,arguments)};var __PyUnicode_IsDigit=Module["__PyUnicode_IsDigit"]=function(){return(__PyUnicode_IsDigit=Module["__PyUnicode_IsDigit"]=Module["asm"]["_PyUnicode_IsDigit"]).apply(null,arguments)};var __PyUnicode_IsNumeric=Module["__PyUnicode_IsNumeric"]=function(){return(__PyUnicode_IsNumeric=Module["__PyUnicode_IsNumeric"]=Module["asm"]["_PyUnicode_IsNumeric"]).apply(null,arguments)};var __PyUnicode_IsAlpha=Module["__PyUnicode_IsAlpha"]=function(){return(__PyUnicode_IsAlpha=Module["__PyUnicode_IsAlpha"]=Module["asm"]["_PyUnicode_IsAlpha"]).apply(null,arguments)};var __PyUnicode_FormatAdvancedWriter=Module["__PyUnicode_FormatAdvancedWriter"]=function(){return(__PyUnicode_FormatAdvancedWriter=Module["__PyUnicode_FormatAdvancedWriter"]=Module["asm"]["_PyUnicode_FormatAdvancedWriter"]).apply(null,arguments)};var __PyUnicode_ToTitleFull=Module["__PyUnicode_ToTitleFull"]=function(){return(__PyUnicode_ToTitleFull=Module["__PyUnicode_ToTitleFull"]=Module["asm"]["_PyUnicode_ToTitleFull"]).apply(null,arguments)};var __PyUnicode_IsCaseIgnorable=Module["__PyUnicode_IsCaseIgnorable"]=function(){return(__PyUnicode_IsCaseIgnorable=Module["__PyUnicode_IsCaseIgnorable"]=Module["asm"]["_PyUnicode_IsCaseIgnorable"]).apply(null,arguments)};var __PyUnicode_IsCased=Module["__PyUnicode_IsCased"]=function(){return(__PyUnicode_IsCased=Module["__PyUnicode_IsCased"]=Module["asm"]["_PyUnicode_IsCased"]).apply(null,arguments)};var __PyUnicode_ToLowerFull=Module["__PyUnicode_ToLowerFull"]=function(){return(__PyUnicode_ToLowerFull=Module["__PyUnicode_ToLowerFull"]=Module["asm"]["_PyUnicode_ToLowerFull"]).apply(null,arguments)};var __PyUnicode_ToFoldedFull=Module["__PyUnicode_ToFoldedFull"]=function(){return(__PyUnicode_ToFoldedFull=Module["__PyUnicode_ToFoldedFull"]=Module["asm"]["_PyUnicode_ToFoldedFull"]).apply(null,arguments)};var __PyUnicode_ToUpperFull=Module["__PyUnicode_ToUpperFull"]=function(){return(__PyUnicode_ToUpperFull=Module["__PyUnicode_ToUpperFull"]=Module["asm"]["_PyUnicode_ToUpperFull"]).apply(null,arguments)};var __PyUnicode_ToNumeric=Module["__PyUnicode_ToNumeric"]=function(){return(__PyUnicode_ToNumeric=Module["__PyUnicode_ToNumeric"]=Module["asm"]["_PyUnicode_ToNumeric"]).apply(null,arguments)};var __PyUnicode_ToTitlecase=Module["__PyUnicode_ToTitlecase"]=function(){return(__PyUnicode_ToTitlecase=Module["__PyUnicode_ToTitlecase"]=Module["asm"]["_PyUnicode_ToTitlecase"]).apply(null,arguments)};var __PyUnicode_ToDigit=Module["__PyUnicode_ToDigit"]=function(){return(__PyUnicode_ToDigit=Module["__PyUnicode_ToDigit"]=Module["asm"]["_PyUnicode_ToDigit"]).apply(null,arguments)};var __PyUnicode_ToUppercase=Module["__PyUnicode_ToUppercase"]=function(){return(__PyUnicode_ToUppercase=Module["__PyUnicode_ToUppercase"]=Module["asm"]["_PyUnicode_ToUppercase"]).apply(null,arguments)};var __PyUnicode_ToLowercase=Module["__PyUnicode_ToLowercase"]=function(){return(__PyUnicode_ToLowercase=Module["__PyUnicode_ToLowercase"]=Module["asm"]["_PyUnicode_ToLowercase"]).apply(null,arguments)};var __PyWeakref_GetWeakrefCount=Module["__PyWeakref_GetWeakrefCount"]=function(){return(__PyWeakref_GetWeakrefCount=Module["__PyWeakref_GetWeakrefCount"]=Module["asm"]["_PyWeakref_GetWeakrefCount"]).apply(null,arguments)};var _PyWeakref_NewProxy=Module["_PyWeakref_NewProxy"]=function(){return(_PyWeakref_NewProxy=Module["_PyWeakref_NewProxy"]=Module["asm"]["PyWeakref_NewProxy"]).apply(null,arguments)};var _PyWeakref_GetObject=Module["_PyWeakref_GetObject"]=function(){return(_PyWeakref_GetObject=Module["_PyWeakref_GetObject"]=Module["asm"]["PyWeakref_GetObject"]).apply(null,arguments)};var __PyWarnings_InitState=Module["__PyWarnings_InitState"]=function(){return(__PyWarnings_InitState=Module["__PyWarnings_InitState"]=Module["asm"]["_PyWarnings_InitState"]).apply(null,arguments)};var _PyErr_ResourceWarning=Module["_PyErr_ResourceWarning"]=function(){return(_PyErr_ResourceWarning=Module["_PyErr_ResourceWarning"]=Module["asm"]["PyErr_ResourceWarning"]).apply(null,arguments)};var _PyErr_Warn=Module["_PyErr_Warn"]=function(){return(_PyErr_Warn=Module["_PyErr_Warn"]=Module["asm"]["PyErr_Warn"]).apply(null,arguments)};var _PyErr_WarnExplicit=Module["_PyErr_WarnExplicit"]=function(){return(_PyErr_WarnExplicit=Module["_PyErr_WarnExplicit"]=Module["asm"]["PyErr_WarnExplicit"]).apply(null,arguments)};var _PyErr_WarnExplicitFormat=Module["_PyErr_WarnExplicitFormat"]=function(){return(_PyErr_WarnExplicitFormat=Module["_PyErr_WarnExplicitFormat"]=Module["asm"]["PyErr_WarnExplicitFormat"]).apply(null,arguments)};var __Py_IsFinalizing=Module["__Py_IsFinalizing"]=function(){return(__Py_IsFinalizing=Module["__Py_IsFinalizing"]=Module["asm"]["_Py_IsFinalizing"]).apply(null,arguments)};var __PyWarnings_Init=Module["__PyWarnings_Init"]=function(){return(__PyWarnings_Init=Module["__PyWarnings_Init"]=Module["asm"]["_PyWarnings_Init"]).apply(null,arguments)};var __PyWarnings_Fini=Module["__PyWarnings_Fini"]=function(){return(__PyWarnings_Fini=Module["__PyWarnings_Fini"]=Module["asm"]["_PyWarnings_Fini"]).apply(null,arguments)};var __Py_DisplaySourceLine=Module["__Py_DisplaySourceLine"]=function(){return(__Py_DisplaySourceLine=Module["__Py_DisplaySourceLine"]=Module["asm"]["_Py_DisplaySourceLine"]).apply(null,arguments)};var _PyModule_AddObjectRef=Module["_PyModule_AddObjectRef"]=function(){return(_PyModule_AddObjectRef=Module["_PyModule_AddObjectRef"]=Module["asm"]["PyModule_AddObjectRef"]).apply(null,arguments)};var __PyAST_Fini=Module["__PyAST_Fini"]=function(){return(__PyAST_Fini=Module["__PyAST_Fini"]=Module["asm"]["_PyAST_Fini"]).apply(null,arguments)};var __Py_asdl_mod_seq_new=Module["__Py_asdl_mod_seq_new"]=function(){return(__Py_asdl_mod_seq_new=Module["__Py_asdl_mod_seq_new"]=Module["asm"]["_Py_asdl_mod_seq_new"]).apply(null,arguments)};var __Py_asdl_stmt_seq_new=Module["__Py_asdl_stmt_seq_new"]=function(){return(__Py_asdl_stmt_seq_new=Module["__Py_asdl_stmt_seq_new"]=Module["asm"]["_Py_asdl_stmt_seq_new"]).apply(null,arguments)};var __Py_asdl_comprehension_seq_new=Module["__Py_asdl_comprehension_seq_new"]=function(){return(__Py_asdl_comprehension_seq_new=Module["__Py_asdl_comprehension_seq_new"]=Module["asm"]["_Py_asdl_comprehension_seq_new"]).apply(null,arguments)};var __Py_asdl_excepthandler_seq_new=Module["__Py_asdl_excepthandler_seq_new"]=function(){return(__Py_asdl_excepthandler_seq_new=Module["__Py_asdl_excepthandler_seq_new"]=Module["asm"]["_Py_asdl_excepthandler_seq_new"]).apply(null,arguments)};var __Py_asdl_arguments_seq_new=Module["__Py_asdl_arguments_seq_new"]=function(){return(__Py_asdl_arguments_seq_new=Module["__Py_asdl_arguments_seq_new"]=Module["asm"]["_Py_asdl_arguments_seq_new"]).apply(null,arguments)};var __Py_asdl_alias_seq_new=Module["__Py_asdl_alias_seq_new"]=function(){return(__Py_asdl_alias_seq_new=Module["__Py_asdl_alias_seq_new"]=Module["asm"]["_Py_asdl_alias_seq_new"]).apply(null,arguments)};var __Py_asdl_withitem_seq_new=Module["__Py_asdl_withitem_seq_new"]=function(){return(__Py_asdl_withitem_seq_new=Module["__Py_asdl_withitem_seq_new"]=Module["asm"]["_Py_asdl_withitem_seq_new"]).apply(null,arguments)};var __Py_asdl_match_case_seq_new=Module["__Py_asdl_match_case_seq_new"]=function(){return(__Py_asdl_match_case_seq_new=Module["__Py_asdl_match_case_seq_new"]=Module["asm"]["_Py_asdl_match_case_seq_new"]).apply(null,arguments)};var _PyInit__ast=Module["_PyInit__ast"]=function(){return(_PyInit__ast=Module["_PyInit__ast"]=Module["asm"]["PyInit__ast"]).apply(null,arguments)};var _PyAST_mod2obj=Module["_PyAST_mod2obj"]=function(){return(_PyAST_mod2obj=Module["_PyAST_mod2obj"]=Module["asm"]["PyAST_mod2obj"]).apply(null,arguments)};var _PyAST_obj2mod=Module["_PyAST_obj2mod"]=function(){return(_PyAST_obj2mod=Module["_PyAST_obj2mod"]=Module["asm"]["PyAST_obj2mod"]).apply(null,arguments)};var _PyAST_Check=Module["_PyAST_Check"]=function(){return(_PyAST_Check=Module["_PyAST_Check"]=Module["asm"]["PyAST_Check"]).apply(null,arguments)};var _PyModule_AddIntConstant=Module["_PyModule_AddIntConstant"]=function(){return(_PyModule_AddIntConstant=Module["_PyModule_AddIntConstant"]=Module["asm"]["PyModule_AddIntConstant"]).apply(null,arguments)};var __PyAST_Validate=Module["__PyAST_Validate"]=function(){return(__PyAST_Validate=Module["__PyAST_Validate"]=Module["asm"]["_PyAST_Validate"]).apply(null,arguments)};var _Py_GetRecursionLimit=Module["_Py_GetRecursionLimit"]=function(){return(_Py_GetRecursionLimit=Module["_Py_GetRecursionLimit"]=Module["asm"]["Py_GetRecursionLimit"]).apply(null,arguments)};var __PyAST_GetDocString=Module["__PyAST_GetDocString"]=function(){return(__PyAST_GetDocString=Module["__PyAST_GetDocString"]=Module["asm"]["_PyAST_GetDocString"]).apply(null,arguments)};var __PyAST_Optimize=Module["__PyAST_Optimize"]=function(){return(__PyAST_Optimize=Module["__PyAST_Optimize"]=Module["asm"]["_PyAST_Optimize"]).apply(null,arguments)};var __PyAST_ExprAsUnicode=Module["__PyAST_ExprAsUnicode"]=function(){return(__PyAST_ExprAsUnicode=Module["__PyAST_ExprAsUnicode"]=Module["asm"]["_PyAST_ExprAsUnicode"]).apply(null,arguments)};var __PyBuiltin_Init=Module["__PyBuiltin_Init"]=function(){return(__PyBuiltin_Init=Module["__PyBuiltin_Init"]=Module["asm"]["_PyBuiltin_Init"]).apply(null,arguments)};var _PyImport_ImportModuleLevelObject=Module["_PyImport_ImportModuleLevelObject"]=function(){return(_PyImport_ImportModuleLevelObject=Module["_PyImport_ImportModuleLevelObject"]=Module["asm"]["PyImport_ImportModuleLevelObject"]).apply(null,arguments)};var _PySys_GetObject=Module["_PySys_GetObject"]=function(){return(_PySys_GetObject=Module["_PySys_GetObject"]=Module["asm"]["PySys_GetObject"]).apply(null,arguments)};var _PyEval_MergeCompilerFlags=Module["_PyEval_MergeCompilerFlags"]=function(){return(_PyEval_MergeCompilerFlags=Module["_PyEval_MergeCompilerFlags"]=Module["asm"]["PyEval_MergeCompilerFlags"]).apply(null,arguments)};var __PyArena_New=Module["__PyArena_New"]=function(){return(__PyArena_New=Module["__PyArena_New"]=Module["asm"]["_PyArena_New"]).apply(null,arguments)};var __PyArena_Free=Module["__PyArena_Free"]=function(){return(__PyArena_Free=Module["__PyArena_Free"]=Module["asm"]["_PyArena_Free"]).apply(null,arguments)};var __PyAST_Compile=Module["__PyAST_Compile"]=function(){return(__PyAST_Compile=Module["__PyAST_Compile"]=Module["asm"]["_PyAST_Compile"]).apply(null,arguments)};var __Py_SourceAsString=Module["__Py_SourceAsString"]=function(){return(__Py_SourceAsString=Module["__Py_SourceAsString"]=Module["asm"]["_Py_SourceAsString"]).apply(null,arguments)};var _Py_CompileStringObject=Module["_Py_CompileStringObject"]=function(){return(_Py_CompileStringObject=Module["_Py_CompileStringObject"]=Module["asm"]["Py_CompileStringObject"]).apply(null,arguments)};var _PyEval_GetBuiltins=Module["_PyEval_GetBuiltins"]=function(){return(_PyEval_GetBuiltins=Module["_PyEval_GetBuiltins"]=Module["asm"]["PyEval_GetBuiltins"]).apply(null,arguments)};var _PyEval_EvalCode=Module["_PyEval_EvalCode"]=function(){return(_PyEval_EvalCode=Module["_PyEval_EvalCode"]=Module["asm"]["PyEval_EvalCode"]).apply(null,arguments)};var _PyRun_StringFlags=Module["_PyRun_StringFlags"]=function(){return(_PyRun_StringFlags=Module["_PyRun_StringFlags"]=Module["asm"]["PyRun_StringFlags"]).apply(null,arguments)};var __PyArg_ParseStackAndKeywords=Module["__PyArg_ParseStackAndKeywords"]=function(){return(__PyArg_ParseStackAndKeywords=Module["__PyArg_ParseStackAndKeywords"]=Module["asm"]["_PyArg_ParseStackAndKeywords"]).apply(null,arguments)};var __PyEval_DeactivateOpCache=Module["__PyEval_DeactivateOpCache"]=function(){return(__PyEval_DeactivateOpCache=Module["__PyEval_DeactivateOpCache"]=Module["asm"]["_PyEval_DeactivateOpCache"]).apply(null,arguments)};var __PyEval_SetSwitchInterval=Module["__PyEval_SetSwitchInterval"]=function(){return(__PyEval_SetSwitchInterval=Module["__PyEval_SetSwitchInterval"]=Module["asm"]["_PyEval_SetSwitchInterval"]).apply(null,arguments)};var __PyEval_GetSwitchInterval=Module["__PyEval_GetSwitchInterval"]=function(){return(__PyEval_GetSwitchInterval=Module["__PyEval_GetSwitchInterval"]=Module["asm"]["_PyEval_GetSwitchInterval"]).apply(null,arguments)};var __Py_FatalError_TstateNULL=Module["__Py_FatalError_TstateNULL"]=function(){return(__Py_FatalError_TstateNULL=Module["__Py_FatalError_TstateNULL"]=Module["asm"]["_Py_FatalError_TstateNULL"]).apply(null,arguments)};var __PyEval_ThreadsInitialized=Module["__PyEval_ThreadsInitialized"]=function(){return(__PyEval_ThreadsInitialized=Module["__PyEval_ThreadsInitialized"]=Module["asm"]["_PyEval_ThreadsInitialized"]).apply(null,arguments)};var _PyEval_ThreadsInitialized=Module["_PyEval_ThreadsInitialized"]=function(){return(_PyEval_ThreadsInitialized=Module["_PyEval_ThreadsInitialized"]=Module["asm"]["PyEval_ThreadsInitialized"]).apply(null,arguments)};var __PyEval_InitGIL=Module["__PyEval_InitGIL"]=function(){return(__PyEval_InitGIL=Module["__PyEval_InitGIL"]=Module["asm"]["_PyEval_InitGIL"]).apply(null,arguments)};var _PyThread_init_thread=Module["_PyThread_init_thread"]=function(){return(_PyThread_init_thread=Module["_PyThread_init_thread"]=Module["asm"]["PyThread_init_thread"]).apply(null,arguments)};var _pthread_mutex_init=Module["_pthread_mutex_init"]=function(){return(_pthread_mutex_init=Module["_pthread_mutex_init"]=Module["asm"]["pthread_mutex_init"]).apply(null,arguments)};var __PyThread_cond_init=Module["__PyThread_cond_init"]=function(){return(__PyThread_cond_init=Module["__PyThread_cond_init"]=Module["asm"]["_PyThread_cond_init"]).apply(null,arguments)};var _pthread_mutex_lock=Module["_pthread_mutex_lock"]=function(){return(_pthread_mutex_lock=Module["_pthread_mutex_lock"]=Module["asm"]["pthread_mutex_lock"]).apply(null,arguments)};var __PyThread_cond_after=Module["__PyThread_cond_after"]=function(){return(__PyThread_cond_after=Module["__PyThread_cond_after"]=Module["asm"]["_PyThread_cond_after"]).apply(null,arguments)};var _pthread_cond_timedwait=Module["_pthread_cond_timedwait"]=function(){return(_pthread_cond_timedwait=Module["_pthread_cond_timedwait"]=Module["asm"]["pthread_cond_timedwait"]).apply(null,arguments)};var _pthread_mutex_unlock=Module["_pthread_mutex_unlock"]=function(){return(_pthread_mutex_unlock=Module["_pthread_mutex_unlock"]=Module["asm"]["pthread_mutex_unlock"]).apply(null,arguments)};var _pthread_cond_signal=Module["_pthread_cond_signal"]=function(){return(_pthread_cond_signal=Module["_pthread_cond_signal"]=Module["asm"]["pthread_cond_signal"]).apply(null,arguments)};var _PyThread_exit_thread=Module["_PyThread_exit_thread"]=function(){return(_PyThread_exit_thread=Module["_PyThread_exit_thread"]=Module["asm"]["PyThread_exit_thread"]).apply(null,arguments)};var _PyThread_get_thread_ident=Module["_PyThread_get_thread_ident"]=function(){return(_PyThread_get_thread_ident=Module["_PyThread_get_thread_ident"]=Module["asm"]["PyThread_get_thread_ident"]).apply(null,arguments)};var __PyEval_FiniGIL=Module["__PyEval_FiniGIL"]=function(){return(__PyEval_FiniGIL=Module["__PyEval_FiniGIL"]=Module["asm"]["_PyEval_FiniGIL"]).apply(null,arguments)};var _pthread_cond_destroy=Module["_pthread_cond_destroy"]=function(){return(_pthread_cond_destroy=Module["_pthread_cond_destroy"]=Module["asm"]["pthread_cond_destroy"]).apply(null,arguments)};var _pthread_mutex_destroy=Module["_pthread_mutex_destroy"]=function(){return(_pthread_mutex_destroy=Module["_pthread_mutex_destroy"]=Module["asm"]["pthread_mutex_destroy"]).apply(null,arguments)};var _PyEval_InitThreads=Module["_PyEval_InitThreads"]=function(){return(_PyEval_InitThreads=Module["_PyEval_InitThreads"]=Module["asm"]["PyEval_InitThreads"]).apply(null,arguments)};var __PyEval_Fini=Module["__PyEval_Fini"]=function(){return(__PyEval_Fini=Module["__PyEval_Fini"]=Module["asm"]["_PyEval_Fini"]).apply(null,arguments)};var _PyEval_AcquireLock=Module["_PyEval_AcquireLock"]=function(){return(_PyEval_AcquireLock=Module["_PyEval_AcquireLock"]=Module["asm"]["PyEval_AcquireLock"]).apply(null,arguments)};var _PyEval_ReleaseLock=Module["_PyEval_ReleaseLock"]=function(){return(_PyEval_ReleaseLock=Module["_PyEval_ReleaseLock"]=Module["asm"]["PyEval_ReleaseLock"]).apply(null,arguments)};var _pthread_cond_wait=Module["_pthread_cond_wait"]=function(){return(_pthread_cond_wait=Module["_pthread_cond_wait"]=Module["asm"]["pthread_cond_wait"]).apply(null,arguments)};var __PyEval_ReleaseLock=Module["__PyEval_ReleaseLock"]=function(){return(__PyEval_ReleaseLock=Module["__PyEval_ReleaseLock"]=Module["asm"]["_PyEval_ReleaseLock"]).apply(null,arguments)};var _PyEval_AcquireThread=Module["_PyEval_AcquireThread"]=function(){return(_PyEval_AcquireThread=Module["_PyEval_AcquireThread"]=Module["asm"]["PyEval_AcquireThread"]).apply(null,arguments)};var __PyThreadState_Swap=Module["__PyThreadState_Swap"]=function(){return(__PyThreadState_Swap=Module["__PyThreadState_Swap"]=Module["asm"]["_PyThreadState_Swap"]).apply(null,arguments)};var _PyEval_ReleaseThread=Module["_PyEval_ReleaseThread"]=function(){return(_PyEval_ReleaseThread=Module["_PyEval_ReleaseThread"]=Module["asm"]["PyEval_ReleaseThread"]).apply(null,arguments)};var __PyEval_ReInitThreads=Module["__PyEval_ReInitThreads"]=function(){return(__PyEval_ReInitThreads=Module["__PyEval_ReInitThreads"]=Module["asm"]["_PyEval_ReInitThreads"]).apply(null,arguments)};var __PyThread_at_fork_reinit=Module["__PyThread_at_fork_reinit"]=function(){return(__PyThread_at_fork_reinit=Module["__PyThread_at_fork_reinit"]=Module["asm"]["_PyThread_at_fork_reinit"]).apply(null,arguments)};var __PyThreadState_DeleteExcept=Module["__PyThreadState_DeleteExcept"]=function(){return(__PyThreadState_DeleteExcept=Module["__PyThreadState_DeleteExcept"]=Module["asm"]["_PyThreadState_DeleteExcept"]).apply(null,arguments)};var __PyEval_SignalAsyncExc=Module["__PyEval_SignalAsyncExc"]=function(){return(__PyEval_SignalAsyncExc=Module["__PyEval_SignalAsyncExc"]=Module["asm"]["_PyEval_SignalAsyncExc"]).apply(null,arguments)};var __PyEval_SignalReceived=Module["__PyEval_SignalReceived"]=function(){return(__PyEval_SignalReceived=Module["__PyEval_SignalReceived"]=Module["asm"]["_PyEval_SignalReceived"]).apply(null,arguments)};var __PyEval_AddPendingCall=Module["__PyEval_AddPendingCall"]=function(){return(__PyEval_AddPendingCall=Module["__PyEval_AddPendingCall"]=Module["asm"]["_PyEval_AddPendingCall"]).apply(null,arguments)};var _Py_AddPendingCall=Module["_Py_AddPendingCall"]=function(){return(_Py_AddPendingCall=Module["_Py_AddPendingCall"]=Module["asm"]["Py_AddPendingCall"]).apply(null,arguments)};var _PyGILState_GetThisThreadState=Module["_PyGILState_GetThisThreadState"]=function(){return(_PyGILState_GetThisThreadState=Module["_PyGILState_GetThisThreadState"]=Module["asm"]["PyGILState_GetThisThreadState"]).apply(null,arguments)};var __Py_FinishPendingCalls=Module["__Py_FinishPendingCalls"]=function(){return(__Py_FinishPendingCalls=Module["__Py_FinishPendingCalls"]=Module["asm"]["_Py_FinishPendingCalls"]).apply(null,arguments)};var __PyErr_Print=Module["__PyErr_Print"]=function(){return(__PyErr_Print=Module["__PyErr_Print"]=Module["asm"]["_PyErr_Print"]).apply(null,arguments)};var _Py_MakePendingCalls=Module["_Py_MakePendingCalls"]=function(){return(_Py_MakePendingCalls=Module["_Py_MakePendingCalls"]=Module["asm"]["Py_MakePendingCalls"]).apply(null,arguments)};var __PyErr_CheckSignalsTstate=Module["__PyErr_CheckSignalsTstate"]=function(){return(__PyErr_CheckSignalsTstate=Module["__PyErr_CheckSignalsTstate"]=Module["asm"]["_PyErr_CheckSignalsTstate"]).apply(null,arguments)};var __PyEval_InitRuntimeState=Module["__PyEval_InitRuntimeState"]=function(){return(__PyEval_InitRuntimeState=Module["__PyEval_InitRuntimeState"]=Module["asm"]["_PyEval_InitRuntimeState"]).apply(null,arguments)};var __PyEval_InitState=Module["__PyEval_InitState"]=function(){return(__PyEval_InitState=Module["__PyEval_InitState"]=Module["asm"]["_PyEval_InitState"]).apply(null,arguments)};var __PyEval_FiniState=Module["__PyEval_FiniState"]=function(){return(__PyEval_FiniState=Module["__PyEval_FiniState"]=Module["asm"]["_PyEval_FiniState"]).apply(null,arguments)};var _PyThread_free_lock=Module["_PyThread_free_lock"]=function(){return(_PyThread_free_lock=Module["_PyThread_free_lock"]=Module["asm"]["PyThread_free_lock"]).apply(null,arguments)};var _Py_SetRecursionLimit=Module["_Py_SetRecursionLimit"]=function(){return(_Py_SetRecursionLimit=Module["_Py_SetRecursionLimit"]=Module["asm"]["Py_SetRecursionLimit"]).apply(null,arguments)};var __PyEval_MakeFrameVector=Module["__PyEval_MakeFrameVector"]=function(){return(__PyEval_MakeFrameVector=Module["__PyEval_MakeFrameVector"]=Module["asm"]["_PyEval_MakeFrameVector"]).apply(null,arguments)};var _PyEval_EvalFrame=Module["_PyEval_EvalFrame"]=function(){return(_PyEval_EvalFrame=Module["_PyEval_EvalFrame"]=Module["asm"]["PyEval_EvalFrame"]).apply(null,arguments)};var _PyEval_EvalFrameEx=Module["_PyEval_EvalFrameEx"]=function(){return(_PyEval_EvalFrameEx=Module["_PyEval_EvalFrameEx"]=Module["asm"]["PyEval_EvalFrameEx"]).apply(null,arguments)};var __PyEval_EvalFrameDefault=Module["__PyEval_EvalFrameDefault"]=function(){return(__PyEval_EvalFrameDefault=Module["__PyEval_EvalFrameDefault"]=Module["asm"]["_PyEval_EvalFrameDefault"]).apply(null,arguments)};var __Py_CheckEmscriptenSignals=Module["__Py_CheckEmscriptenSignals"]=function(){return(__Py_CheckEmscriptenSignals=Module["__Py_CheckEmscriptenSignals"]=Module["asm"]["_Py_CheckEmscriptenSignals"]).apply(null,arguments)};var __PyErr_SetNone=Module["__PyErr_SetNone"]=function(){return(__PyErr_SetNone=Module["__PyErr_SetNone"]=Module["asm"]["_PyErr_SetNone"]).apply(null,arguments)};var _PyErr_SetImportError=Module["_PyErr_SetImportError"]=function(){return(_PyErr_SetImportError=Module["_PyErr_SetImportError"]=Module["asm"]["PyErr_SetImportError"]).apply(null,arguments)};var __PyErr_SetObject=Module["__PyErr_SetObject"]=function(){return(__PyErr_SetObject=Module["__PyErr_SetObject"]=Module["asm"]["_PyErr_SetObject"]).apply(null,arguments)};var _PyTraceBack_Here=Module["_PyTraceBack_Here"]=function(){return(_PyTraceBack_Here=Module["_PyTraceBack_Here"]=Module["asm"]["PyTraceBack_Here"]).apply(null,arguments)};var __PyErr_NormalizeException=Module["__PyErr_NormalizeException"]=function(){return(__PyErr_NormalizeException=Module["__PyErr_NormalizeException"]=Module["asm"]["_PyErr_NormalizeException"]).apply(null,arguments)};var __PyErr_GetTopmostException=Module["__PyErr_GetTopmostException"]=function(){return(__PyErr_GetTopmostException=Module["__PyErr_GetTopmostException"]=Module["asm"]["_PyErr_GetTopmostException"]).apply(null,arguments)};var _PyEval_EvalCodeEx=Module["_PyEval_EvalCodeEx"]=function(){return(_PyEval_EvalCodeEx=Module["_PyEval_EvalCodeEx"]=Module["asm"]["PyEval_EvalCodeEx"]).apply(null,arguments)};var __PyEval_CallTracing=Module["__PyEval_CallTracing"]=function(){return(__PyEval_CallTracing=Module["__PyEval_CallTracing"]=Module["asm"]["_PyEval_CallTracing"]).apply(null,arguments)};var __PyEval_SetProfile=Module["__PyEval_SetProfile"]=function(){return(__PyEval_SetProfile=Module["__PyEval_SetProfile"]=Module["asm"]["_PyEval_SetProfile"]).apply(null,arguments)};var __PySys_Audit=Module["__PySys_Audit"]=function(){return(__PySys_Audit=Module["__PySys_Audit"]=Module["asm"]["_PySys_Audit"]).apply(null,arguments)};var _PyEval_SetProfile=Module["_PyEval_SetProfile"]=function(){return(_PyEval_SetProfile=Module["_PyEval_SetProfile"]=Module["asm"]["PyEval_SetProfile"]).apply(null,arguments)};var __PyEval_SetTrace=Module["__PyEval_SetTrace"]=function(){return(__PyEval_SetTrace=Module["__PyEval_SetTrace"]=Module["asm"]["_PyEval_SetTrace"]).apply(null,arguments)};var _PyEval_SetTrace=Module["_PyEval_SetTrace"]=function(){return(_PyEval_SetTrace=Module["_PyEval_SetTrace"]=Module["asm"]["PyEval_SetTrace"]).apply(null,arguments)};var __PyEval_SetCoroutineOriginTrackingDepth=Module["__PyEval_SetCoroutineOriginTrackingDepth"]=function(){return(__PyEval_SetCoroutineOriginTrackingDepth=Module["__PyEval_SetCoroutineOriginTrackingDepth"]=Module["asm"]["_PyEval_SetCoroutineOriginTrackingDepth"]).apply(null,arguments)};var __PyEval_GetCoroutineOriginTrackingDepth=Module["__PyEval_GetCoroutineOriginTrackingDepth"]=function(){return(__PyEval_GetCoroutineOriginTrackingDepth=Module["__PyEval_GetCoroutineOriginTrackingDepth"]=Module["asm"]["_PyEval_GetCoroutineOriginTrackingDepth"]).apply(null,arguments)};var __PyEval_SetAsyncGenFirstiter=Module["__PyEval_SetAsyncGenFirstiter"]=function(){return(__PyEval_SetAsyncGenFirstiter=Module["__PyEval_SetAsyncGenFirstiter"]=Module["asm"]["_PyEval_SetAsyncGenFirstiter"]).apply(null,arguments)};var __PyEval_GetAsyncGenFirstiter=Module["__PyEval_GetAsyncGenFirstiter"]=function(){return(__PyEval_GetAsyncGenFirstiter=Module["__PyEval_GetAsyncGenFirstiter"]=Module["asm"]["_PyEval_GetAsyncGenFirstiter"]).apply(null,arguments)};var __PyEval_SetAsyncGenFinalizer=Module["__PyEval_SetAsyncGenFinalizer"]=function(){return(__PyEval_SetAsyncGenFinalizer=Module["__PyEval_SetAsyncGenFinalizer"]=Module["asm"]["_PyEval_SetAsyncGenFinalizer"]).apply(null,arguments)};var __PyEval_GetAsyncGenFinalizer=Module["__PyEval_GetAsyncGenFinalizer"]=function(){return(__PyEval_GetAsyncGenFinalizer=Module["__PyEval_GetAsyncGenFinalizer"]=Module["asm"]["_PyEval_GetAsyncGenFinalizer"]).apply(null,arguments)};var _PyEval_GetFuncName=Module["_PyEval_GetFuncName"]=function(){return(_PyEval_GetFuncName=Module["_PyEval_GetFuncName"]=Module["asm"]["PyEval_GetFuncName"]).apply(null,arguments)};var _PyEval_GetFuncDesc=Module["_PyEval_GetFuncDesc"]=function(){return(_PyEval_GetFuncDesc=Module["_PyEval_GetFuncDesc"]=Module["asm"]["PyEval_GetFuncDesc"]).apply(null,arguments)};var __PyEval_RequestCodeExtraIndex=Module["__PyEval_RequestCodeExtraIndex"]=function(){return(__PyEval_RequestCodeExtraIndex=Module["__PyEval_RequestCodeExtraIndex"]=Module["asm"]["_PyEval_RequestCodeExtraIndex"]).apply(null,arguments)};var _PyCodec_Register=Module["_PyCodec_Register"]=function(){return(_PyCodec_Register=Module["_PyCodec_Register"]=Module["asm"]["PyCodec_Register"]).apply(null,arguments)};var _PyCodec_Unregister=Module["_PyCodec_Unregister"]=function(){return(_PyCodec_Unregister=Module["_PyCodec_Unregister"]=Module["asm"]["PyCodec_Unregister"]).apply(null,arguments)};var _PyInterpreterState_Get=Module["_PyInterpreterState_Get"]=function(){return(_PyInterpreterState_Get=Module["_PyInterpreterState_Get"]=Module["asm"]["PyInterpreterState_Get"]).apply(null,arguments)};var _PyCodec_KnownEncoding=Module["_PyCodec_KnownEncoding"]=function(){return(_PyCodec_KnownEncoding=Module["_PyCodec_KnownEncoding"]=Module["asm"]["PyCodec_KnownEncoding"]).apply(null,arguments)};var __PyCodecInfo_GetIncrementalDecoder=Module["__PyCodecInfo_GetIncrementalDecoder"]=function(){return(__PyCodecInfo_GetIncrementalDecoder=Module["__PyCodecInfo_GetIncrementalDecoder"]=Module["asm"]["_PyCodecInfo_GetIncrementalDecoder"]).apply(null,arguments)};var __PyCodecInfo_GetIncrementalEncoder=Module["__PyCodecInfo_GetIncrementalEncoder"]=function(){return(__PyCodecInfo_GetIncrementalEncoder=Module["__PyCodecInfo_GetIncrementalEncoder"]=Module["asm"]["_PyCodecInfo_GetIncrementalEncoder"]).apply(null,arguments)};var _PyCodec_Encoder=Module["_PyCodec_Encoder"]=function(){return(_PyCodec_Encoder=Module["_PyCodec_Encoder"]=Module["asm"]["PyCodec_Encoder"]).apply(null,arguments)};var _PyCodec_Decoder=Module["_PyCodec_Decoder"]=function(){return(_PyCodec_Decoder=Module["_PyCodec_Decoder"]=Module["asm"]["PyCodec_Decoder"]).apply(null,arguments)};var _PyCodec_IncrementalEncoder=Module["_PyCodec_IncrementalEncoder"]=function(){return(_PyCodec_IncrementalEncoder=Module["_PyCodec_IncrementalEncoder"]=Module["asm"]["PyCodec_IncrementalEncoder"]).apply(null,arguments)};var _PyCodec_IncrementalDecoder=Module["_PyCodec_IncrementalDecoder"]=function(){return(_PyCodec_IncrementalDecoder=Module["_PyCodec_IncrementalDecoder"]=Module["asm"]["PyCodec_IncrementalDecoder"]).apply(null,arguments)};var _PyCodec_StreamReader=Module["_PyCodec_StreamReader"]=function(){return(_PyCodec_StreamReader=Module["_PyCodec_StreamReader"]=Module["asm"]["PyCodec_StreamReader"]).apply(null,arguments)};var _PyCodec_StreamWriter=Module["_PyCodec_StreamWriter"]=function(){return(_PyCodec_StreamWriter=Module["_PyCodec_StreamWriter"]=Module["asm"]["PyCodec_StreamWriter"]).apply(null,arguments)};var __PyCodec_LookupTextEncoding=Module["__PyCodec_LookupTextEncoding"]=function(){return(__PyCodec_LookupTextEncoding=Module["__PyCodec_LookupTextEncoding"]=Module["asm"]["_PyCodec_LookupTextEncoding"]).apply(null,arguments)};var _PyCodec_RegisterError=Module["_PyCodec_RegisterError"]=function(){return(_PyCodec_RegisterError=Module["_PyCodec_RegisterError"]=Module["asm"]["PyCodec_RegisterError"]).apply(null,arguments)};var _PyCodec_IgnoreErrors=Module["_PyCodec_IgnoreErrors"]=function(){return(_PyCodec_IgnoreErrors=Module["_PyCodec_IgnoreErrors"]=Module["asm"]["PyCodec_IgnoreErrors"]).apply(null,arguments)};var _PyCodec_ReplaceErrors=Module["_PyCodec_ReplaceErrors"]=function(){return(_PyCodec_ReplaceErrors=Module["_PyCodec_ReplaceErrors"]=Module["asm"]["PyCodec_ReplaceErrors"]).apply(null,arguments)};var _PyCodec_XMLCharRefReplaceErrors=Module["_PyCodec_XMLCharRefReplaceErrors"]=function(){return(_PyCodec_XMLCharRefReplaceErrors=Module["_PyCodec_XMLCharRefReplaceErrors"]=Module["asm"]["PyCodec_XMLCharRefReplaceErrors"]).apply(null,arguments)};var _PyCodec_BackslashReplaceErrors=Module["_PyCodec_BackslashReplaceErrors"]=function(){return(_PyCodec_BackslashReplaceErrors=Module["_PyCodec_BackslashReplaceErrors"]=Module["asm"]["PyCodec_BackslashReplaceErrors"]).apply(null,arguments)};var _PyCodec_NameReplaceErrors=Module["_PyCodec_NameReplaceErrors"]=function(){return(_PyCodec_NameReplaceErrors=Module["_PyCodec_NameReplaceErrors"]=Module["asm"]["PyCodec_NameReplaceErrors"]).apply(null,arguments)};var __PyFuture_FromAST=Module["__PyFuture_FromAST"]=function(){return(__PyFuture_FromAST=Module["__PyFuture_FromAST"]=Module["asm"]["_PyFuture_FromAST"]).apply(null,arguments)};var __PySymtable_Build=Module["__PySymtable_Build"]=function(){return(__PySymtable_Build=Module["__PySymtable_Build"]=Module["asm"]["_PySymtable_Build"]).apply(null,arguments)};var __PySymtable_Free=Module["__PySymtable_Free"]=function(){return(__PySymtable_Free=Module["__PySymtable_Free"]=Module["asm"]["_PySymtable_Free"]).apply(null,arguments)};var _PyCompile_OpcodeStackEffectWithJump=Module["_PyCompile_OpcodeStackEffectWithJump"]=function(){return(_PyCompile_OpcodeStackEffectWithJump=Module["_PyCompile_OpcodeStackEffectWithJump"]=Module["asm"]["PyCompile_OpcodeStackEffectWithJump"]).apply(null,arguments)};var _PyCompile_OpcodeStackEffect=Module["_PyCompile_OpcodeStackEffect"]=function(){return(_PyCompile_OpcodeStackEffect=Module["_PyCompile_OpcodeStackEffect"]=Module["asm"]["PyCompile_OpcodeStackEffect"]).apply(null,arguments)};var _PyCode_Optimize=Module["_PyCode_Optimize"]=function(){return(_PyCode_Optimize=Module["_PyCode_Optimize"]=Module["asm"]["PyCode_Optimize"]).apply(null,arguments)};var _PySymtable_Lookup=Module["_PySymtable_Lookup"]=function(){return(_PySymtable_Lookup=Module["_PySymtable_Lookup"]=Module["asm"]["PySymtable_Lookup"]).apply(null,arguments)};var __PyST_GetScope=Module["__PyST_GetScope"]=function(){return(__PyST_GetScope=Module["__PyST_GetScope"]=Module["asm"]["_PyST_GetScope"]).apply(null,arguments)};var _PyErr_ProgramTextObject=Module["_PyErr_ProgramTextObject"]=function(){return(_PyErr_ProgramTextObject=Module["_PyErr_ProgramTextObject"]=Module["asm"]["PyErr_ProgramTextObject"]).apply(null,arguments)};var __PyContext_NewHamtForTests=Module["__PyContext_NewHamtForTests"]=function(){return(__PyContext_NewHamtForTests=Module["__PyContext_NewHamtForTests"]=Module["asm"]["_PyContext_NewHamtForTests"]).apply(null,arguments)};var __PyHamt_New=Module["__PyHamt_New"]=function(){return(__PyHamt_New=Module["__PyHamt_New"]=Module["asm"]["_PyHamt_New"]).apply(null,arguments)};var _PyContext_New=Module["_PyContext_New"]=function(){return(_PyContext_New=Module["_PyContext_New"]=Module["asm"]["PyContext_New"]).apply(null,arguments)};var _PyContext_Copy=Module["_PyContext_Copy"]=function(){return(_PyContext_Copy=Module["_PyContext_Copy"]=Module["asm"]["PyContext_Copy"]).apply(null,arguments)};var _PyContext_CopyCurrent=Module["_PyContext_CopyCurrent"]=function(){return(_PyContext_CopyCurrent=Module["_PyContext_CopyCurrent"]=Module["asm"]["PyContext_CopyCurrent"]).apply(null,arguments)};var _PyContext_Enter=Module["_PyContext_Enter"]=function(){return(_PyContext_Enter=Module["_PyContext_Enter"]=Module["asm"]["PyContext_Enter"]).apply(null,arguments)};var _PyContext_Exit=Module["_PyContext_Exit"]=function(){return(_PyContext_Exit=Module["_PyContext_Exit"]=Module["asm"]["PyContext_Exit"]).apply(null,arguments)};var _PyContextVar_New=Module["_PyContextVar_New"]=function(){return(_PyContextVar_New=Module["_PyContextVar_New"]=Module["asm"]["PyContextVar_New"]).apply(null,arguments)};var _PyContextVar_Get=Module["_PyContextVar_Get"]=function(){return(_PyContextVar_Get=Module["_PyContextVar_Get"]=Module["asm"]["PyContextVar_Get"]).apply(null,arguments)};var __PyHamt_Find=Module["__PyHamt_Find"]=function(){return(__PyHamt_Find=Module["__PyHamt_Find"]=Module["asm"]["_PyHamt_Find"]).apply(null,arguments)};var _PyContextVar_Set=Module["_PyContextVar_Set"]=function(){return(_PyContextVar_Set=Module["_PyContextVar_Set"]=Module["asm"]["PyContextVar_Set"]).apply(null,arguments)};var __PyHamt_Assoc=Module["__PyHamt_Assoc"]=function(){return(__PyHamt_Assoc=Module["__PyHamt_Assoc"]=Module["asm"]["_PyHamt_Assoc"]).apply(null,arguments)};var _PyContextVar_Reset=Module["_PyContextVar_Reset"]=function(){return(_PyContextVar_Reset=Module["_PyContextVar_Reset"]=Module["asm"]["PyContextVar_Reset"]).apply(null,arguments)};var __PyHamt_Without=Module["__PyHamt_Without"]=function(){return(__PyHamt_Without=Module["__PyHamt_Without"]=Module["asm"]["_PyHamt_Without"]).apply(null,arguments)};var __PyHamt_Eq=Module["__PyHamt_Eq"]=function(){return(__PyHamt_Eq=Module["__PyHamt_Eq"]=Module["asm"]["_PyHamt_Eq"]).apply(null,arguments)};var __PyHamt_NewIterKeys=Module["__PyHamt_NewIterKeys"]=function(){return(__PyHamt_NewIterKeys=Module["__PyHamt_NewIterKeys"]=Module["asm"]["_PyHamt_NewIterKeys"]).apply(null,arguments)};var __PyContext_ClearFreeList=Module["__PyContext_ClearFreeList"]=function(){return(__PyContext_ClearFreeList=Module["__PyContext_ClearFreeList"]=Module["asm"]["_PyContext_ClearFreeList"]).apply(null,arguments)};var __PyContext_Fini=Module["__PyContext_Fini"]=function(){return(__PyContext_Fini=Module["__PyContext_Fini"]=Module["asm"]["_PyContext_Fini"]).apply(null,arguments)};var __PyHamt_Fini=Module["__PyHamt_Fini"]=function(){return(__PyHamt_Fini=Module["__PyHamt_Fini"]=Module["asm"]["_PyHamt_Fini"]).apply(null,arguments)};var __PyContext_Init=Module["__PyContext_Init"]=function(){return(__PyContext_Init=Module["__PyContext_Init"]=Module["asm"]["_PyContext_Init"]).apply(null,arguments)};var __PyHamt_Init=Module["__PyHamt_Init"]=function(){return(__PyHamt_Init=Module["__PyHamt_Init"]=Module["asm"]["_PyHamt_Init"]).apply(null,arguments)};var __PyHamt_Len=Module["__PyHamt_Len"]=function(){return(__PyHamt_Len=Module["__PyHamt_Len"]=Module["asm"]["_PyHamt_Len"]).apply(null,arguments)};var __PyHamt_NewIterItems=Module["__PyHamt_NewIterItems"]=function(){return(__PyHamt_NewIterItems=Module["__PyHamt_NewIterItems"]=Module["asm"]["_PyHamt_NewIterItems"]).apply(null,arguments)};var __PyHamt_NewIterValues=Module["__PyHamt_NewIterValues"]=function(){return(__PyHamt_NewIterValues=Module["__PyHamt_NewIterValues"]=Module["asm"]["_PyHamt_NewIterValues"]).apply(null,arguments)};var __PyErr_GetExcInfo=Module["__PyErr_GetExcInfo"]=function(){return(__PyErr_GetExcInfo=Module["__PyErr_GetExcInfo"]=Module["asm"]["_PyErr_GetExcInfo"]).apply(null,arguments)};var _PyErr_GetExcInfo=Module["_PyErr_GetExcInfo"]=function(){return(_PyErr_GetExcInfo=Module["_PyErr_GetExcInfo"]=Module["asm"]["PyErr_GetExcInfo"]).apply(null,arguments)};var _PyErr_SetExcInfo=Module["_PyErr_SetExcInfo"]=function(){return(_PyErr_SetExcInfo=Module["_PyErr_SetExcInfo"]=Module["asm"]["PyErr_SetExcInfo"]).apply(null,arguments)};var _PyErr_SetFromErrnoWithFilenameObject=Module["_PyErr_SetFromErrnoWithFilenameObject"]=function(){return(_PyErr_SetFromErrnoWithFilenameObject=Module["_PyErr_SetFromErrnoWithFilenameObject"]=Module["asm"]["PyErr_SetFromErrnoWithFilenameObject"]).apply(null,arguments)};var _PyErr_SetFromErrnoWithFilenameObjects=Module["_PyErr_SetFromErrnoWithFilenameObjects"]=function(){return(_PyErr_SetFromErrnoWithFilenameObjects=Module["_PyErr_SetFromErrnoWithFilenameObjects"]=Module["asm"]["PyErr_SetFromErrnoWithFilenameObjects"]).apply(null,arguments)};var _strerror=Module["_strerror"]=function(){return(_strerror=Module["_strerror"]=Module["asm"]["strerror"]).apply(null,arguments)};var _PyErr_SetImportErrorSubclass=Module["_PyErr_SetImportErrorSubclass"]=function(){return(_PyErr_SetImportErrorSubclass=Module["_PyErr_SetImportErrorSubclass"]=Module["asm"]["PyErr_SetImportErrorSubclass"]).apply(null,arguments)};var _PyErr_BadInternalCall=Module["_PyErr_BadInternalCall"]=function(){return(_PyErr_BadInternalCall=Module["_PyErr_BadInternalCall"]=Module["asm"]["PyErr_BadInternalCall"]).apply(null,arguments)};var _PyErr_FormatV=Module["_PyErr_FormatV"]=function(){return(_PyErr_FormatV=Module["_PyErr_FormatV"]=Module["asm"]["PyErr_FormatV"]).apply(null,arguments)};var __PyErr_InitTypes=Module["__PyErr_InitTypes"]=function(){return(__PyErr_InitTypes=Module["__PyErr_InitTypes"]=Module["asm"]["_PyErr_InitTypes"]).apply(null,arguments)};var __PyErr_WriteUnraisableDefaultHook=Module["__PyErr_WriteUnraisableDefaultHook"]=function(){return(__PyErr_WriteUnraisableDefaultHook=Module["__PyErr_WriteUnraisableDefaultHook"]=Module["asm"]["_PyErr_WriteUnraisableDefaultHook"]).apply(null,arguments)};var _PyTraceBack_Print=Module["_PyTraceBack_Print"]=function(){return(_PyTraceBack_Print=Module["_PyTraceBack_Print"]=Module["asm"]["PyTraceBack_Print"]).apply(null,arguments)};var __PyTraceBack_FromFrame=Module["__PyTraceBack_FromFrame"]=function(){return(__PyTraceBack_FromFrame=Module["__PyTraceBack_FromFrame"]=Module["asm"]["_PyTraceBack_FromFrame"]).apply(null,arguments)};var _PyErr_SyntaxLocation=Module["_PyErr_SyntaxLocation"]=function(){return(_PyErr_SyntaxLocation=Module["_PyErr_SyntaxLocation"]=Module["asm"]["PyErr_SyntaxLocation"]).apply(null,arguments)};var _PyErr_SyntaxLocationEx=Module["_PyErr_SyntaxLocationEx"]=function(){return(_PyErr_SyntaxLocationEx=Module["_PyErr_SyntaxLocationEx"]=Module["asm"]["PyErr_SyntaxLocationEx"]).apply(null,arguments)};var _PyErr_SyntaxLocationObject=Module["_PyErr_SyntaxLocationObject"]=function(){return(_PyErr_SyntaxLocationObject=Module["_PyErr_SyntaxLocationObject"]=Module["asm"]["PyErr_SyntaxLocationObject"]).apply(null,arguments)};var _PyErr_RangedSyntaxLocationObject=Module["_PyErr_RangedSyntaxLocationObject"]=function(){return(_PyErr_RangedSyntaxLocationObject=Module["_PyErr_RangedSyntaxLocationObject"]=Module["asm"]["PyErr_RangedSyntaxLocationObject"]).apply(null,arguments)};var _PyErr_ProgramText=Module["_PyErr_ProgramText"]=function(){return(_PyErr_ProgramText=Module["_PyErr_ProgramText"]=Module["asm"]["PyErr_ProgramText"]).apply(null,arguments)};var __Py_fopen_obj=Module["__Py_fopen_obj"]=function(){return(__Py_fopen_obj=Module["__Py_fopen_obj"]=Module["asm"]["_Py_fopen_obj"]).apply(null,arguments)};var _Py_FrozenMain=Module["_Py_FrozenMain"]=function(){return(_Py_FrozenMain=Module["_Py_FrozenMain"]=Module["asm"]["Py_FrozenMain"]).apply(null,arguments)};var __PyRuntime_Initialize=Module["__PyRuntime_Initialize"]=function(){return(__PyRuntime_Initialize=Module["__PyRuntime_Initialize"]=Module["asm"]["_PyRuntime_Initialize"]).apply(null,arguments)};var _getenv=Module["_getenv"]=function(){return(_getenv=Module["_getenv"]=Module["asm"]["getenv"]).apply(null,arguments)};var _setbuf=Module["_setbuf"]=function(){return(_setbuf=Module["_setbuf"]=Module["asm"]["setbuf"]).apply(null,arguments)};var _setlocale=Module["_setlocale"]=function(){return(_setlocale=Module["_setlocale"]=Module["asm"]["setlocale"]).apply(null,arguments)};var _Py_DecodeLocale=Module["_Py_DecodeLocale"]=function(){return(_Py_DecodeLocale=Module["_Py_DecodeLocale"]=Module["asm"]["Py_DecodeLocale"]).apply(null,arguments)};var _Py_SetProgramName=Module["_Py_SetProgramName"]=function(){return(_Py_SetProgramName=Module["_Py_SetProgramName"]=Module["asm"]["Py_SetProgramName"]).apply(null,arguments)};var _Py_GetVersion=Module["_Py_GetVersion"]=function(){return(_Py_GetVersion=Module["_Py_GetVersion"]=Module["asm"]["Py_GetVersion"]).apply(null,arguments)};var _Py_GetCopyright=Module["_Py_GetCopyright"]=function(){return(_Py_GetCopyright=Module["_Py_GetCopyright"]=Module["asm"]["Py_GetCopyright"]).apply(null,arguments)};var _PySys_SetArgv=Module["_PySys_SetArgv"]=function(){return(_PySys_SetArgv=Module["_PySys_SetArgv"]=Module["asm"]["PySys_SetArgv"]).apply(null,arguments)};var _PyImport_ImportFrozenModule=Module["_PyImport_ImportFrozenModule"]=function(){return(_PyImport_ImportFrozenModule=Module["_PyImport_ImportFrozenModule"]=Module["asm"]["PyImport_ImportFrozenModule"]).apply(null,arguments)};var _PyRun_AnyFileExFlags=Module["_PyRun_AnyFileExFlags"]=function(){return(_PyRun_AnyFileExFlags=Module["_PyRun_AnyFileExFlags"]=Module["asm"]["PyRun_AnyFileExFlags"]).apply(null,arguments)};var _Py_FinalizeEx=Module["_Py_FinalizeEx"]=function(){return(_Py_FinalizeEx=Module["_Py_FinalizeEx"]=Module["asm"]["Py_FinalizeEx"]).apply(null,arguments)};var _PyArg_Parse=Module["_PyArg_Parse"]=function(){return(_PyArg_Parse=Module["_PyArg_Parse"]=Module["asm"]["PyArg_Parse"]).apply(null,arguments)};var __PyArg_Parse_SizeT=Module["__PyArg_Parse_SizeT"]=function(){return(__PyArg_Parse_SizeT=Module["__PyArg_Parse_SizeT"]=Module["asm"]["_PyArg_Parse_SizeT"]).apply(null,arguments)};var __PyArg_ParseStack=Module["__PyArg_ParseStack"]=function(){return(__PyArg_ParseStack=Module["__PyArg_ParseStack"]=Module["asm"]["_PyArg_ParseStack"]).apply(null,arguments)};var __PyArg_ParseStack_SizeT=Module["__PyArg_ParseStack_SizeT"]=function(){return(__PyArg_ParseStack_SizeT=Module["__PyArg_ParseStack_SizeT"]=Module["asm"]["_PyArg_ParseStack_SizeT"]).apply(null,arguments)};var _PyArg_VaParse=Module["_PyArg_VaParse"]=function(){return(_PyArg_VaParse=Module["_PyArg_VaParse"]=Module["asm"]["PyArg_VaParse"]).apply(null,arguments)};var __PyArg_VaParse_SizeT=Module["__PyArg_VaParse_SizeT"]=function(){return(__PyArg_VaParse_SizeT=Module["__PyArg_VaParse_SizeT"]=Module["asm"]["_PyArg_VaParse_SizeT"]).apply(null,arguments)};var _PyArg_VaParseTupleAndKeywords=Module["_PyArg_VaParseTupleAndKeywords"]=function(){return(_PyArg_VaParseTupleAndKeywords=Module["_PyArg_VaParseTupleAndKeywords"]=Module["asm"]["PyArg_VaParseTupleAndKeywords"]).apply(null,arguments)};var __PyArg_VaParseTupleAndKeywords_SizeT=Module["__PyArg_VaParseTupleAndKeywords_SizeT"]=function(){return(__PyArg_VaParseTupleAndKeywords_SizeT=Module["__PyArg_VaParseTupleAndKeywords_SizeT"]=Module["asm"]["_PyArg_VaParseTupleAndKeywords_SizeT"]).apply(null,arguments)};var __PyArg_ParseTupleAndKeywordsFast=Module["__PyArg_ParseTupleAndKeywordsFast"]=function(){return(__PyArg_ParseTupleAndKeywordsFast=Module["__PyArg_ParseTupleAndKeywordsFast"]=Module["asm"]["_PyArg_ParseTupleAndKeywordsFast"]).apply(null,arguments)};var __PyArg_ParseTupleAndKeywordsFast_SizeT=Module["__PyArg_ParseTupleAndKeywordsFast_SizeT"]=function(){return(__PyArg_ParseTupleAndKeywordsFast_SizeT=Module["__PyArg_ParseTupleAndKeywordsFast_SizeT"]=Module["asm"]["_PyArg_ParseTupleAndKeywordsFast_SizeT"]).apply(null,arguments)};var __PyArg_VaParseTupleAndKeywordsFast=Module["__PyArg_VaParseTupleAndKeywordsFast"]=function(){return(__PyArg_VaParseTupleAndKeywordsFast=Module["__PyArg_VaParseTupleAndKeywordsFast"]=Module["asm"]["_PyArg_VaParseTupleAndKeywordsFast"]).apply(null,arguments)};var __PyArg_VaParseTupleAndKeywordsFast_SizeT=Module["__PyArg_VaParseTupleAndKeywordsFast_SizeT"]=function(){return(__PyArg_VaParseTupleAndKeywordsFast_SizeT=Module["__PyArg_VaParseTupleAndKeywordsFast_SizeT"]=Module["asm"]["_PyArg_VaParseTupleAndKeywordsFast_SizeT"]).apply(null,arguments)};var __PyArg_NoPositional=Module["__PyArg_NoPositional"]=function(){return(__PyArg_NoPositional=Module["__PyArg_NoPositional"]=Module["asm"]["_PyArg_NoPositional"]).apply(null,arguments)};var __PyArg_Fini=Module["__PyArg_Fini"]=function(){return(__PyArg_Fini=Module["__PyArg_Fini"]=Module["asm"]["_PyArg_Fini"]).apply(null,arguments)};var _Py_GetCompiler=Module["_Py_GetCompiler"]=function(){return(_Py_GetCompiler=Module["_Py_GetCompiler"]=Module["asm"]["Py_GetCompiler"]).apply(null,arguments)};var _Py_GetPlatform=Module["_Py_GetPlatform"]=function(){return(_Py_GetPlatform=Module["_Py_GetPlatform"]=Module["asm"]["Py_GetPlatform"]).apply(null,arguments)};var __Py_hashtable_hash_ptr=Module["__Py_hashtable_hash_ptr"]=function(){return(__Py_hashtable_hash_ptr=Module["__Py_hashtable_hash_ptr"]=Module["asm"]["_Py_hashtable_hash_ptr"]).apply(null,arguments)};var __Py_HashPointerRaw=Module["__Py_HashPointerRaw"]=function(){return(__Py_HashPointerRaw=Module["__Py_HashPointerRaw"]=Module["asm"]["_Py_HashPointerRaw"]).apply(null,arguments)};var __Py_hashtable_compare_direct=Module["__Py_hashtable_compare_direct"]=function(){return(__Py_hashtable_compare_direct=Module["__Py_hashtable_compare_direct"]=Module["asm"]["_Py_hashtable_compare_direct"]).apply(null,arguments)};var __Py_hashtable_size=Module["__Py_hashtable_size"]=function(){return(__Py_hashtable_size=Module["__Py_hashtable_size"]=Module["asm"]["_Py_hashtable_size"]).apply(null,arguments)};var __Py_hashtable_get_entry_generic=Module["__Py_hashtable_get_entry_generic"]=function(){return(__Py_hashtable_get_entry_generic=Module["__Py_hashtable_get_entry_generic"]=Module["asm"]["_Py_hashtable_get_entry_generic"]).apply(null,arguments)};var __Py_hashtable_steal=Module["__Py_hashtable_steal"]=function(){return(__Py_hashtable_steal=Module["__Py_hashtable_steal"]=Module["asm"]["_Py_hashtable_steal"]).apply(null,arguments)};var __Py_hashtable_set=Module["__Py_hashtable_set"]=function(){return(__Py_hashtable_set=Module["__Py_hashtable_set"]=Module["asm"]["_Py_hashtable_set"]).apply(null,arguments)};var __Py_hashtable_get=Module["__Py_hashtable_get"]=function(){return(__Py_hashtable_get=Module["__Py_hashtable_get"]=Module["asm"]["_Py_hashtable_get"]).apply(null,arguments)};var __Py_hashtable_foreach=Module["__Py_hashtable_foreach"]=function(){return(__Py_hashtable_foreach=Module["__Py_hashtable_foreach"]=Module["asm"]["_Py_hashtable_foreach"]).apply(null,arguments)};var __Py_hashtable_new_full=Module["__Py_hashtable_new_full"]=function(){return(__Py_hashtable_new_full=Module["__Py_hashtable_new_full"]=Module["asm"]["_Py_hashtable_new_full"]).apply(null,arguments)};var __Py_hashtable_new=Module["__Py_hashtable_new"]=function(){return(__Py_hashtable_new=Module["__Py_hashtable_new"]=Module["asm"]["_Py_hashtable_new"]).apply(null,arguments)};var __Py_hashtable_clear=Module["__Py_hashtable_clear"]=function(){return(__Py_hashtable_clear=Module["__Py_hashtable_clear"]=Module["asm"]["_Py_hashtable_clear"]).apply(null,arguments)};var __Py_hashtable_destroy=Module["__Py_hashtable_destroy"]=function(){return(__Py_hashtable_destroy=Module["__Py_hashtable_destroy"]=Module["asm"]["_Py_hashtable_destroy"]).apply(null,arguments)};var __PyImportZip_Init=Module["__PyImportZip_Init"]=function(){return(__PyImportZip_Init=Module["__PyImportZip_Init"]=Module["asm"]["_PyImportZip_Init"]).apply(null,arguments)};var __PyImport_AcquireLock=Module["__PyImport_AcquireLock"]=function(){return(__PyImport_AcquireLock=Module["__PyImport_AcquireLock"]=Module["asm"]["_PyImport_AcquireLock"]).apply(null,arguments)};var __PyImport_ReleaseLock=Module["__PyImport_ReleaseLock"]=function(){return(__PyImport_ReleaseLock=Module["__PyImport_ReleaseLock"]=Module["asm"]["_PyImport_ReleaseLock"]).apply(null,arguments)};var __PyImport_ReInitLock=Module["__PyImport_ReInitLock"]=function(){return(__PyImport_ReInitLock=Module["__PyImport_ReInitLock"]=Module["asm"]["_PyImport_ReInitLock"]).apply(null,arguments)};var __PyImport_Fini=Module["__PyImport_Fini"]=function(){return(__PyImport_Fini=Module["__PyImport_Fini"]=Module["asm"]["_PyImport_Fini"]).apply(null,arguments)};var __PyImport_Fini2=Module["__PyImport_Fini2"]=function(){return(__PyImport_Fini2=Module["__PyImport_Fini2"]=Module["asm"]["_PyImport_Fini2"]).apply(null,arguments)};var __PyImport_GetModuleId=Module["__PyImport_GetModuleId"]=function(){return(__PyImport_GetModuleId=Module["__PyImport_GetModuleId"]=Module["asm"]["_PyImport_GetModuleId"]).apply(null,arguments)};var __PyImport_SetModule=Module["__PyImport_SetModule"]=function(){return(__PyImport_SetModule=Module["__PyImport_SetModule"]=Module["asm"]["_PyImport_SetModule"]).apply(null,arguments)};var __PyImport_SetModuleString=Module["__PyImport_SetModuleString"]=function(){return(__PyImport_SetModuleString=Module["__PyImport_SetModuleString"]=Module["asm"]["_PyImport_SetModuleString"]).apply(null,arguments)};var _PyImport_GetMagicNumber=Module["_PyImport_GetMagicNumber"]=function(){return(_PyImport_GetMagicNumber=Module["_PyImport_GetMagicNumber"]=Module["asm"]["PyImport_GetMagicNumber"]).apply(null,arguments)};var _PyImport_GetMagicTag=Module["_PyImport_GetMagicTag"]=function(){return(_PyImport_GetMagicTag=Module["_PyImport_GetMagicTag"]=Module["asm"]["PyImport_GetMagicTag"]).apply(null,arguments)};var __PyImport_FixupExtensionObject=Module["__PyImport_FixupExtensionObject"]=function(){return(__PyImport_FixupExtensionObject=Module["__PyImport_FixupExtensionObject"]=Module["asm"]["_PyImport_FixupExtensionObject"]).apply(null,arguments)};var __PyState_AddModule=Module["__PyState_AddModule"]=function(){return(__PyState_AddModule=Module["__PyState_AddModule"]=Module["asm"]["_PyState_AddModule"]).apply(null,arguments)};var __PyImport_FixupBuiltin=Module["__PyImport_FixupBuiltin"]=function(){return(__PyImport_FixupBuiltin=Module["__PyImport_FixupBuiltin"]=Module["asm"]["_PyImport_FixupBuiltin"]).apply(null,arguments)};var __PyImport_FindExtensionObject=Module["__PyImport_FindExtensionObject"]=function(){return(__PyImport_FindExtensionObject=Module["__PyImport_FindExtensionObject"]=Module["asm"]["_PyImport_FindExtensionObject"]).apply(null,arguments)};var _PyImport_AddModuleObject=Module["_PyImport_AddModuleObject"]=function(){return(_PyImport_AddModuleObject=Module["_PyImport_AddModuleObject"]=Module["asm"]["PyImport_AddModuleObject"]).apply(null,arguments)};var _PyImport_AddModule=Module["_PyImport_AddModule"]=function(){return(_PyImport_AddModule=Module["_PyImport_AddModule"]=Module["asm"]["PyImport_AddModule"]).apply(null,arguments)};var _PyImport_ExecCodeModule=Module["_PyImport_ExecCodeModule"]=function(){return(_PyImport_ExecCodeModule=Module["_PyImport_ExecCodeModule"]=Module["asm"]["PyImport_ExecCodeModule"]).apply(null,arguments)};var _PyImport_ExecCodeModuleObject=Module["_PyImport_ExecCodeModuleObject"]=function(){return(_PyImport_ExecCodeModuleObject=Module["_PyImport_ExecCodeModuleObject"]=Module["asm"]["PyImport_ExecCodeModuleObject"]).apply(null,arguments)};var _PyImport_ExecCodeModuleWithPathnames=Module["_PyImport_ExecCodeModuleWithPathnames"]=function(){return(_PyImport_ExecCodeModuleWithPathnames=Module["_PyImport_ExecCodeModuleWithPathnames"]=Module["asm"]["PyImport_ExecCodeModuleWithPathnames"]).apply(null,arguments)};var _PyImport_ExecCodeModuleEx=Module["_PyImport_ExecCodeModuleEx"]=function(){return(_PyImport_ExecCodeModuleEx=Module["_PyImport_ExecCodeModuleEx"]=Module["asm"]["PyImport_ExecCodeModuleEx"]).apply(null,arguments)};var _PyImport_GetImporter=Module["_PyImport_GetImporter"]=function(){return(_PyImport_GetImporter=Module["_PyImport_GetImporter"]=Module["asm"]["PyImport_GetImporter"]).apply(null,arguments)};var _PyImport_ImportFrozenModuleObject=Module["_PyImport_ImportFrozenModuleObject"]=function(){return(_PyImport_ImportFrozenModuleObject=Module["_PyImport_ImportFrozenModuleObject"]=Module["asm"]["PyImport_ImportFrozenModuleObject"]).apply(null,arguments)};var _PyMarshal_ReadObjectFromString=Module["_PyMarshal_ReadObjectFromString"]=function(){return(_PyMarshal_ReadObjectFromString=Module["_PyMarshal_ReadObjectFromString"]=Module["asm"]["PyMarshal_ReadObjectFromString"]).apply(null,arguments)};var __PyTime_GetPerfCounter=Module["__PyTime_GetPerfCounter"]=function(){return(__PyTime_GetPerfCounter=Module["__PyTime_GetPerfCounter"]=Module["asm"]["_PyTime_GetPerfCounter"]).apply(null,arguments)};var __PyTime_AsMicroseconds=Module["__PyTime_AsMicroseconds"]=function(){return(__PyTime_AsMicroseconds=Module["__PyTime_AsMicroseconds"]=Module["asm"]["_PyTime_AsMicroseconds"]).apply(null,arguments)};var _PyImport_ImportModuleLevel=Module["_PyImport_ImportModuleLevel"]=function(){return(_PyImport_ImportModuleLevel=Module["_PyImport_ImportModuleLevel"]=Module["asm"]["PyImport_ImportModuleLevel"]).apply(null,arguments)};var _PyImport_ReloadModule=Module["_PyImport_ReloadModule"]=function(){return(_PyImport_ReloadModule=Module["_PyImport_ReloadModule"]=Module["asm"]["PyImport_ReloadModule"]).apply(null,arguments)};var _PyInit__imp=Module["_PyInit__imp"]=function(){return(_PyInit__imp=Module["_PyInit__imp"]=Module["asm"]["PyInit__imp"]).apply(null,arguments)};var __PyImport_BootstrapImp=Module["__PyImport_BootstrapImp"]=function(){return(__PyImport_BootstrapImp=Module["__PyImport_BootstrapImp"]=Module["asm"]["_PyImport_BootstrapImp"]).apply(null,arguments)};var _PyImport_ExtendInittab=Module["_PyImport_ExtendInittab"]=function(){return(_PyImport_ExtendInittab=Module["_PyImport_ExtendInittab"]=Module["asm"]["PyImport_ExtendInittab"]).apply(null,arguments)};var _PyImport_AppendInittab=Module["_PyImport_AppendInittab"]=function(){return(_PyImport_AppendInittab=Module["_PyImport_AppendInittab"]=Module["asm"]["PyImport_AppendInittab"]).apply(null,arguments)};var __PyImport_LoadDynamicModuleWithSpec=Module["__PyImport_LoadDynamicModuleWithSpec"]=function(){return(__PyImport_LoadDynamicModuleWithSpec=Module["__PyImport_LoadDynamicModuleWithSpec"]=Module["asm"]["_PyImport_LoadDynamicModuleWithSpec"]).apply(null,arguments)};var __Py_KeyedHash=Module["__Py_KeyedHash"]=function(){return(__Py_KeyedHash=Module["__Py_KeyedHash"]=Module["asm"]["_Py_KeyedHash"]).apply(null,arguments)};var __PyImport_FindSharedFuncptr=Module["__PyImport_FindSharedFuncptr"]=function(){return(__PyImport_FindSharedFuncptr=Module["__PyImport_FindSharedFuncptr"]=Module["asm"]["_PyImport_FindSharedFuncptr"]).apply(null,arguments)};var _PyStatus_Ok=Module["_PyStatus_Ok"]=function(){return(_PyStatus_Ok=Module["_PyStatus_Ok"]=Module["asm"]["PyStatus_Ok"]).apply(null,arguments)};var _PyStatus_Error=Module["_PyStatus_Error"]=function(){return(_PyStatus_Error=Module["_PyStatus_Error"]=Module["asm"]["PyStatus_Error"]).apply(null,arguments)};var _PyStatus_NoMemory=Module["_PyStatus_NoMemory"]=function(){return(_PyStatus_NoMemory=Module["_PyStatus_NoMemory"]=Module["asm"]["PyStatus_NoMemory"]).apply(null,arguments)};var _PyStatus_Exit=Module["_PyStatus_Exit"]=function(){return(_PyStatus_Exit=Module["_PyStatus_Exit"]=Module["asm"]["PyStatus_Exit"]).apply(null,arguments)};var _PyStatus_IsError=Module["_PyStatus_IsError"]=function(){return(_PyStatus_IsError=Module["_PyStatus_IsError"]=Module["asm"]["PyStatus_IsError"]).apply(null,arguments)};var _PyStatus_IsExit=Module["_PyStatus_IsExit"]=function(){return(_PyStatus_IsExit=Module["_PyStatus_IsExit"]=Module["asm"]["PyStatus_IsExit"]).apply(null,arguments)};var __PyErr_SetFromPyStatus=Module["__PyErr_SetFromPyStatus"]=function(){return(__PyErr_SetFromPyStatus=Module["__PyErr_SetFromPyStatus"]=Module["asm"]["_PyErr_SetFromPyStatus"]).apply(null,arguments)};var __PyWideStringList_Clear=Module["__PyWideStringList_Clear"]=function(){return(__PyWideStringList_Clear=Module["__PyWideStringList_Clear"]=Module["asm"]["_PyWideStringList_Clear"]).apply(null,arguments)};var __PyWideStringList_Copy=Module["__PyWideStringList_Copy"]=function(){return(__PyWideStringList_Copy=Module["__PyWideStringList_Copy"]=Module["asm"]["_PyWideStringList_Copy"]).apply(null,arguments)};var _PyWideStringList_Insert=Module["_PyWideStringList_Insert"]=function(){return(_PyWideStringList_Insert=Module["_PyWideStringList_Insert"]=Module["asm"]["PyWideStringList_Insert"]).apply(null,arguments)};var _PyWideStringList_Append=Module["_PyWideStringList_Append"]=function(){return(_PyWideStringList_Append=Module["_PyWideStringList_Append"]=Module["asm"]["PyWideStringList_Append"]).apply(null,arguments)};var __PyWideStringList_Extend=Module["__PyWideStringList_Extend"]=function(){return(__PyWideStringList_Extend=Module["__PyWideStringList_Extend"]=Module["asm"]["_PyWideStringList_Extend"]).apply(null,arguments)};var __PyWideStringList_AsList=Module["__PyWideStringList_AsList"]=function(){return(__PyWideStringList_AsList=Module["__PyWideStringList_AsList"]=Module["asm"]["_PyWideStringList_AsList"]).apply(null,arguments)};var _Py_SetStandardStreamEncoding=Module["_Py_SetStandardStreamEncoding"]=function(){return(_Py_SetStandardStreamEncoding=Module["_Py_SetStandardStreamEncoding"]=Module["asm"]["Py_SetStandardStreamEncoding"]).apply(null,arguments)};var __Py_ClearStandardStreamEncoding=Module["__Py_ClearStandardStreamEncoding"]=function(){return(__Py_ClearStandardStreamEncoding=Module["__Py_ClearStandardStreamEncoding"]=Module["asm"]["_Py_ClearStandardStreamEncoding"]).apply(null,arguments)};var __Py_ClearArgcArgv=Module["__Py_ClearArgcArgv"]=function(){return(__Py_ClearArgcArgv=Module["__Py_ClearArgcArgv"]=Module["asm"]["_Py_ClearArgcArgv"]).apply(null,arguments)};var _Py_GetArgcArgv=Module["_Py_GetArgcArgv"]=function(){return(_Py_GetArgcArgv=Module["_Py_GetArgcArgv"]=Module["asm"]["Py_GetArgcArgv"]).apply(null,arguments)};var __PyConfig_InitCompatConfig=Module["__PyConfig_InitCompatConfig"]=function(){return(__PyConfig_InitCompatConfig=Module["__PyConfig_InitCompatConfig"]=Module["asm"]["_PyConfig_InitCompatConfig"]).apply(null,arguments)};var _PyConfig_InitIsolatedConfig=Module["_PyConfig_InitIsolatedConfig"]=function(){return(_PyConfig_InitIsolatedConfig=Module["_PyConfig_InitIsolatedConfig"]=Module["asm"]["PyConfig_InitIsolatedConfig"]).apply(null,arguments)};var _PyConfig_SetString=Module["_PyConfig_SetString"]=function(){return(_PyConfig_SetString=Module["_PyConfig_SetString"]=Module["asm"]["PyConfig_SetString"]).apply(null,arguments)};var __Py_PreInitializeFromConfig=Module["__Py_PreInitializeFromConfig"]=function(){return(__Py_PreInitializeFromConfig=Module["__Py_PreInitializeFromConfig"]=Module["asm"]["_Py_PreInitializeFromConfig"]).apply(null,arguments)};var __PyConfig_Copy=Module["__PyConfig_Copy"]=function(){return(__PyConfig_Copy=Module["__PyConfig_Copy"]=Module["asm"]["_PyConfig_Copy"]).apply(null,arguments)};var __PyConfig_AsDict=Module["__PyConfig_AsDict"]=function(){return(__PyConfig_AsDict=Module["__PyConfig_AsDict"]=Module["asm"]["_PyConfig_AsDict"]).apply(null,arguments)};var __PyConfig_FromDict=Module["__PyConfig_FromDict"]=function(){return(__PyConfig_FromDict=Module["__PyConfig_FromDict"]=Module["asm"]["_PyConfig_FromDict"]).apply(null,arguments)};var __PyConfig_Write=Module["__PyConfig_Write"]=function(){return(__PyConfig_Write=Module["__PyConfig_Write"]=Module["asm"]["_PyConfig_Write"]).apply(null,arguments)};var _setvbuf=Module["_setvbuf"]=function(){return(_setvbuf=Module["_setvbuf"]=Module["asm"]["setvbuf"]).apply(null,arguments)};var __PyConfig_SetPyArgv=Module["__PyConfig_SetPyArgv"]=function(){return(__PyConfig_SetPyArgv=Module["__PyConfig_SetPyArgv"]=Module["asm"]["_PyConfig_SetPyArgv"]).apply(null,arguments)};var __PyArgv_AsWstrList=Module["__PyArgv_AsWstrList"]=function(){return(__PyArgv_AsWstrList=Module["__PyArgv_AsWstrList"]=Module["asm"]["_PyArgv_AsWstrList"]).apply(null,arguments)};var _PyConfig_SetBytesArgv=Module["_PyConfig_SetBytesArgv"]=function(){return(_PyConfig_SetBytesArgv=Module["_PyConfig_SetBytesArgv"]=Module["asm"]["PyConfig_SetBytesArgv"]).apply(null,arguments)};var _PyConfig_SetArgv=Module["_PyConfig_SetArgv"]=function(){return(_PyConfig_SetArgv=Module["_PyConfig_SetArgv"]=Module["asm"]["PyConfig_SetArgv"]).apply(null,arguments)};var _PyConfig_SetWideStringList=Module["_PyConfig_SetWideStringList"]=function(){return(_PyConfig_SetWideStringList=Module["_PyConfig_SetWideStringList"]=Module["asm"]["PyConfig_SetWideStringList"]).apply(null,arguments)};var __PyConfig_Read=Module["__PyConfig_Read"]=function(){return(__PyConfig_Read=Module["__PyConfig_Read"]=Module["asm"]["_PyConfig_Read"]).apply(null,arguments)};var __PyPreConfig_InitFromPreConfig=Module["__PyPreConfig_InitFromPreConfig"]=function(){return(__PyPreConfig_InitFromPreConfig=Module["__PyPreConfig_InitFromPreConfig"]=Module["asm"]["_PyPreConfig_InitFromPreConfig"]).apply(null,arguments)};var __PyPreConfig_GetConfig=Module["__PyPreConfig_GetConfig"]=function(){return(__PyPreConfig_GetConfig=Module["__PyPreConfig_GetConfig"]=Module["asm"]["_PyPreConfig_GetConfig"]).apply(null,arguments)};var __PyPreCmdline_Read=Module["__PyPreCmdline_Read"]=function(){return(__PyPreCmdline_Read=Module["__PyPreCmdline_Read"]=Module["asm"]["_PyPreCmdline_Read"]).apply(null,arguments)};var __PyPreCmdline_SetConfig=Module["__PyPreCmdline_SetConfig"]=function(){return(__PyPreCmdline_SetConfig=Module["__PyPreCmdline_SetConfig"]=Module["asm"]["_PyPreCmdline_SetConfig"]).apply(null,arguments)};var __PyOS_ResetGetOpt=Module["__PyOS_ResetGetOpt"]=function(){return(__PyOS_ResetGetOpt=Module["__PyOS_ResetGetOpt"]=Module["asm"]["_PyOS_ResetGetOpt"]).apply(null,arguments)};var __PyOS_GetOpt=Module["__PyOS_GetOpt"]=function(){return(__PyOS_GetOpt=Module["__PyOS_GetOpt"]=Module["asm"]["_PyOS_GetOpt"]).apply(null,arguments)};var __Py_isabs=Module["__Py_isabs"]=function(){return(__Py_isabs=Module["__Py_isabs"]=Module["asm"]["_Py_isabs"]).apply(null,arguments)};var __Py_abspath=Module["__Py_abspath"]=function(){return(__Py_abspath=Module["__Py_abspath"]=Module["asm"]["_Py_abspath"]).apply(null,arguments)};var _wcstok=Module["_wcstok"]=function(){return(_wcstok=Module["_wcstok"]=Module["asm"]["wcstok"]).apply(null,arguments)};var __PySys_ReadPreinitWarnOptions=Module["__PySys_ReadPreinitWarnOptions"]=function(){return(__PySys_ReadPreinitWarnOptions=Module["__PySys_ReadPreinitWarnOptions"]=Module["asm"]["_PySys_ReadPreinitWarnOptions"]).apply(null,arguments)};var __PySys_ReadPreinitXOptions=Module["__PySys_ReadPreinitXOptions"]=function(){return(__PySys_ReadPreinitXOptions=Module["__PySys_ReadPreinitXOptions"]=Module["asm"]["_PySys_ReadPreinitXOptions"]).apply(null,arguments)};var __PyPreCmdline_Clear=Module["__PyPreCmdline_Clear"]=function(){return(__PyPreCmdline_Clear=Module["__PyPreCmdline_Clear"]=Module["asm"]["_PyPreCmdline_Clear"]).apply(null,arguments)};var __Py_get_env_flag=Module["__Py_get_env_flag"]=function(){return(__Py_get_env_flag=Module["__Py_get_env_flag"]=Module["asm"]["_Py_get_env_flag"]).apply(null,arguments)};var __Py_GetEnv=Module["__Py_GetEnv"]=function(){return(__Py_GetEnv=Module["__Py_GetEnv"]=Module["asm"]["_Py_GetEnv"]).apply(null,arguments)};var _strtoul=Module["_strtoul"]=function(){return(_strtoul=Module["_strtoul"]=Module["asm"]["strtoul"]).apply(null,arguments)};var __Py_get_xoption=Module["__Py_get_xoption"]=function(){return(__Py_get_xoption=Module["__Py_get_xoption"]=Module["asm"]["_Py_get_xoption"]).apply(null,arguments)};var __Py_str_to_int=Module["__Py_str_to_int"]=function(){return(__Py_str_to_int=Module["__Py_str_to_int"]=Module["asm"]["_Py_str_to_int"]).apply(null,arguments)};var _wcschr=Module["_wcschr"]=function(){return(_wcschr=Module["_wcschr"]=Module["asm"]["wcschr"]).apply(null,arguments)};var _wcstol=Module["_wcstol"]=function(){return(_wcstol=Module["_wcstol"]=Module["asm"]["wcstol"]).apply(null,arguments)};var __PyConfig_InitPathConfig=Module["__PyConfig_InitPathConfig"]=function(){return(__PyConfig_InitPathConfig=Module["__PyConfig_InitPathConfig"]=Module["asm"]["_PyConfig_InitPathConfig"]).apply(null,arguments)};var __Py_GetForceASCII=Module["__Py_GetForceASCII"]=function(){return(__Py_GetForceASCII=Module["__Py_GetForceASCII"]=Module["asm"]["_Py_GetForceASCII"]).apply(null,arguments)};var __Py_GetLocaleEncoding=Module["__Py_GetLocaleEncoding"]=function(){return(__Py_GetLocaleEncoding=Module["__Py_GetLocaleEncoding"]=Module["asm"]["_Py_GetLocaleEncoding"]).apply(null,arguments)};var __Py_IsLocaleCoercionTarget=Module["__Py_IsLocaleCoercionTarget"]=function(){return(__Py_IsLocaleCoercionTarget=Module["__Py_IsLocaleCoercionTarget"]=Module["asm"]["_Py_IsLocaleCoercionTarget"]).apply(null,arguments)};var _PyConfig_Read=Module["_PyConfig_Read"]=function(){return(_PyConfig_Read=Module["_PyConfig_Read"]=Module["asm"]["PyConfig_Read"]).apply(null,arguments)};var __Py_GetConfigsAsDict=Module["__Py_GetConfigsAsDict"]=function(){return(__Py_GetConfigsAsDict=Module["__Py_GetConfigsAsDict"]=Module["asm"]["_Py_GetConfigsAsDict"]).apply(null,arguments)};var __PyPreConfig_AsDict=Module["__PyPreConfig_AsDict"]=function(){return(__PyPreConfig_AsDict=Module["__PyPreConfig_AsDict"]=Module["asm"]["_PyPreConfig_AsDict"]).apply(null,arguments)};var __PyPathConfig_AsDict=Module["__PyPathConfig_AsDict"]=function(){return(__PyPathConfig_AsDict=Module["__PyPathConfig_AsDict"]=Module["asm"]["_PyPathConfig_AsDict"]).apply(null,arguments)};var _PyMarshal_WriteLongToFile=Module["_PyMarshal_WriteLongToFile"]=function(){return(_PyMarshal_WriteLongToFile=Module["_PyMarshal_WriteLongToFile"]=Module["asm"]["PyMarshal_WriteLongToFile"]).apply(null,arguments)};var _PyMarshal_WriteObjectToFile=Module["_PyMarshal_WriteObjectToFile"]=function(){return(_PyMarshal_WriteObjectToFile=Module["_PyMarshal_WriteObjectToFile"]=Module["asm"]["PyMarshal_WriteObjectToFile"]).apply(null,arguments)};var _PyMarshal_ReadShortFromFile=Module["_PyMarshal_ReadShortFromFile"]=function(){return(_PyMarshal_ReadShortFromFile=Module["_PyMarshal_ReadShortFromFile"]=Module["asm"]["PyMarshal_ReadShortFromFile"]).apply(null,arguments)};var _PyMarshal_ReadLongFromFile=Module["_PyMarshal_ReadLongFromFile"]=function(){return(_PyMarshal_ReadLongFromFile=Module["_PyMarshal_ReadLongFromFile"]=Module["asm"]["PyMarshal_ReadLongFromFile"]).apply(null,arguments)};var _PyMarshal_ReadLastObjectFromFile=Module["_PyMarshal_ReadLastObjectFromFile"]=function(){return(_PyMarshal_ReadLastObjectFromFile=Module["_PyMarshal_ReadLastObjectFromFile"]=Module["asm"]["PyMarshal_ReadLastObjectFromFile"]).apply(null,arguments)};var __Py_fstat_noraise=Module["__Py_fstat_noraise"]=function(){return(__Py_fstat_noraise=Module["__Py_fstat_noraise"]=Module["asm"]["_Py_fstat_noraise"]).apply(null,arguments)};var _fread=Module["_fread"]=function(){return(_fread=Module["_fread"]=Module["asm"]["fread"]).apply(null,arguments)};var _PyMarshal_ReadObjectFromFile=Module["_PyMarshal_ReadObjectFromFile"]=function(){return(_PyMarshal_ReadObjectFromFile=Module["_PyMarshal_ReadObjectFromFile"]=Module["asm"]["PyMarshal_ReadObjectFromFile"]).apply(null,arguments)};var _PyMarshal_WriteObjectToString=Module["_PyMarshal_WriteObjectToString"]=function(){return(_PyMarshal_WriteObjectToString=Module["_PyMarshal_WriteObjectToString"]=Module["asm"]["PyMarshal_WriteObjectToString"]).apply(null,arguments)};var _PyMarshal_Init=Module["_PyMarshal_Init"]=function(){return(_PyMarshal_Init=Module["_PyMarshal_Init"]=Module["asm"]["PyMarshal_Init"]).apply(null,arguments)};var __Py_convert_optional_to_ssize_t=Module["__Py_convert_optional_to_ssize_t"]=function(){return(__Py_convert_optional_to_ssize_t=Module["__Py_convert_optional_to_ssize_t"]=Module["asm"]["_Py_convert_optional_to_ssize_t"]).apply(null,arguments)};var _Py_VaBuildValue=Module["_Py_VaBuildValue"]=function(){return(_Py_VaBuildValue=Module["_Py_VaBuildValue"]=Module["asm"]["Py_VaBuildValue"]).apply(null,arguments)};var __Py_VaBuildValue_SizeT=Module["__Py_VaBuildValue_SizeT"]=function(){return(__Py_VaBuildValue_SizeT=Module["__Py_VaBuildValue_SizeT"]=Module["asm"]["_Py_VaBuildValue_SizeT"]).apply(null,arguments)};var _PyModule_AddObject=Module["_PyModule_AddObject"]=function(){return(_PyModule_AddObject=Module["_PyModule_AddObject"]=Module["asm"]["PyModule_AddObject"]).apply(null,arguments)};var _PyModule_AddStringConstant=Module["_PyModule_AddStringConstant"]=function(){return(_PyModule_AddStringConstant=Module["_PyModule_AddStringConstant"]=Module["asm"]["PyModule_AddStringConstant"]).apply(null,arguments)};var _vsnprintf=Module["_vsnprintf"]=function(){return(_vsnprintf=Module["_vsnprintf"]=Module["asm"]["vsnprintf"]).apply(null,arguments)};var _PyOS_vsnprintf=Module["_PyOS_vsnprintf"]=function(){return(_PyOS_vsnprintf=Module["_PyOS_vsnprintf"]=Module["asm"]["PyOS_vsnprintf"]).apply(null,arguments)};var __PyPathConfig_ClearGlobal=Module["__PyPathConfig_ClearGlobal"]=function(){return(__PyPathConfig_ClearGlobal=Module["__PyPathConfig_ClearGlobal"]=Module["asm"]["_PyPathConfig_ClearGlobal"]).apply(null,arguments)};var __PyConfig_WritePathConfig=Module["__PyConfig_WritePathConfig"]=function(){return(__PyConfig_WritePathConfig=Module["__PyConfig_WritePathConfig"]=Module["asm"]["_PyConfig_WritePathConfig"]).apply(null,arguments)};var __PyPathConfig_Calculate=Module["__PyPathConfig_Calculate"]=function(){return(__PyPathConfig_Calculate=Module["__PyPathConfig_Calculate"]=Module["asm"]["_PyPathConfig_Calculate"]).apply(null,arguments)};var _Py_SetPath=Module["_Py_SetPath"]=function(){return(_Py_SetPath=Module["_Py_SetPath"]=Module["asm"]["Py_SetPath"]).apply(null,arguments)};var _Py_SetPythonHome=Module["_Py_SetPythonHome"]=function(){return(_Py_SetPythonHome=Module["_Py_SetPythonHome"]=Module["asm"]["Py_SetPythonHome"]).apply(null,arguments)};var __Py_SetProgramFullPath=Module["__Py_SetProgramFullPath"]=function(){return(__Py_SetProgramFullPath=Module["__Py_SetProgramFullPath"]=Module["asm"]["_Py_SetProgramFullPath"]).apply(null,arguments)};var _Py_GetPath=Module["_Py_GetPath"]=function(){return(_Py_GetPath=Module["_Py_GetPath"]=Module["asm"]["Py_GetPath"]).apply(null,arguments)};var _Py_GetPrefix=Module["_Py_GetPrefix"]=function(){return(_Py_GetPrefix=Module["_Py_GetPrefix"]=Module["asm"]["Py_GetPrefix"]).apply(null,arguments)};var _Py_GetExecPrefix=Module["_Py_GetExecPrefix"]=function(){return(_Py_GetExecPrefix=Module["_Py_GetExecPrefix"]=Module["asm"]["Py_GetExecPrefix"]).apply(null,arguments)};var _Py_GetProgramFullPath=Module["_Py_GetProgramFullPath"]=function(){return(_Py_GetProgramFullPath=Module["_Py_GetProgramFullPath"]=Module["asm"]["Py_GetProgramFullPath"]).apply(null,arguments)};var _Py_GetPythonHome=Module["_Py_GetPythonHome"]=function(){return(_Py_GetPythonHome=Module["_Py_GetPythonHome"]=Module["asm"]["Py_GetPythonHome"]).apply(null,arguments)};var _Py_GetProgramName=Module["_Py_GetProgramName"]=function(){return(_Py_GetProgramName=Module["_Py_GetProgramName"]=Module["asm"]["Py_GetProgramName"]).apply(null,arguments)};var __PyPathConfig_ComputeSysPath0=Module["__PyPathConfig_ComputeSysPath0"]=function(){return(__PyPathConfig_ComputeSysPath0=Module["__PyPathConfig_ComputeSysPath0"]=Module["asm"]["_PyPathConfig_ComputeSysPath0"]).apply(null,arguments)};var __Py_wgetcwd=Module["__Py_wgetcwd"]=function(){return(__Py_wgetcwd=Module["__Py_wgetcwd"]=Module["asm"]["_Py_wgetcwd"]).apply(null,arguments)};var __Py_wreadlink=Module["__Py_wreadlink"]=function(){return(__Py_wreadlink=Module["__Py_wreadlink"]=Module["asm"]["_Py_wreadlink"]).apply(null,arguments)};var _wcsrchr=Module["_wcsrchr"]=function(){return(_wcsrchr=Module["_wcsrchr"]=Module["asm"]["wcsrchr"]).apply(null,arguments)};var _wcsncpy=Module["_wcsncpy"]=function(){return(_wcsncpy=Module["_wcsncpy"]=Module["asm"]["wcsncpy"]).apply(null,arguments)};var __Py_wrealpath=Module["__Py_wrealpath"]=function(){return(__Py_wrealpath=Module["__Py_wrealpath"]=Module["asm"]["_Py_wrealpath"]).apply(null,arguments)};var __Py_FindEnvConfigValue=Module["__Py_FindEnvConfigValue"]=function(){return(__Py_FindEnvConfigValue=Module["__Py_FindEnvConfigValue"]=Module["asm"]["_Py_FindEnvConfigValue"]).apply(null,arguments)};var __Py_ClearFileSystemEncoding=Module["__Py_ClearFileSystemEncoding"]=function(){return(__Py_ClearFileSystemEncoding=Module["__Py_ClearFileSystemEncoding"]=Module["asm"]["_Py_ClearFileSystemEncoding"]).apply(null,arguments)};var __PyPreCmdline_SetArgv=Module["__PyPreCmdline_SetArgv"]=function(){return(__PyPreCmdline_SetArgv=Module["__PyPreCmdline_SetArgv"]=Module["asm"]["_PyPreCmdline_SetArgv"]).apply(null,arguments)};var _wcsncmp=Module["_wcsncmp"]=function(){return(_wcsncmp=Module["_wcsncmp"]=Module["asm"]["wcsncmp"]).apply(null,arguments)};var __PyPreConfig_InitCompatConfig=Module["__PyPreConfig_InitCompatConfig"]=function(){return(__PyPreConfig_InitCompatConfig=Module["__PyPreConfig_InitCompatConfig"]=Module["asm"]["_PyPreConfig_InitCompatConfig"]).apply(null,arguments)};var _PyPreConfig_InitPythonConfig=Module["_PyPreConfig_InitPythonConfig"]=function(){return(_PyPreConfig_InitPythonConfig=Module["_PyPreConfig_InitPythonConfig"]=Module["asm"]["PyPreConfig_InitPythonConfig"]).apply(null,arguments)};var _PyPreConfig_InitIsolatedConfig=Module["_PyPreConfig_InitIsolatedConfig"]=function(){return(_PyPreConfig_InitIsolatedConfig=Module["_PyPreConfig_InitIsolatedConfig"]=Module["asm"]["PyPreConfig_InitIsolatedConfig"]).apply(null,arguments)};var __PyPreConfig_InitFromConfig=Module["__PyPreConfig_InitFromConfig"]=function(){return(__PyPreConfig_InitFromConfig=Module["__PyPreConfig_InitFromConfig"]=Module["asm"]["_PyPreConfig_InitFromConfig"]).apply(null,arguments)};var __PyPreConfig_Read=Module["__PyPreConfig_Read"]=function(){return(__PyPreConfig_Read=Module["__PyPreConfig_Read"]=Module["asm"]["_PyPreConfig_Read"]).apply(null,arguments)};var __Py_SetLocaleFromEnv=Module["__Py_SetLocaleFromEnv"]=function(){return(__Py_SetLocaleFromEnv=Module["__Py_SetLocaleFromEnv"]=Module["asm"]["_Py_SetLocaleFromEnv"]).apply(null,arguments)};var __Py_LegacyLocaleDetected=Module["__Py_LegacyLocaleDetected"]=function(){return(__Py_LegacyLocaleDetected=Module["__Py_LegacyLocaleDetected"]=Module["asm"]["_Py_LegacyLocaleDetected"]).apply(null,arguments)};var __Py_CoerceLegacyLocale=Module["__Py_CoerceLegacyLocale"]=function(){return(__Py_CoerceLegacyLocale=Module["__Py_CoerceLegacyLocale"]=Module["asm"]["_Py_CoerceLegacyLocale"]).apply(null,arguments)};var __PyPreConfig_Write=Module["__PyPreConfig_Write"]=function(){return(__PyPreConfig_Write=Module["__PyPreConfig_Write"]=Module["asm"]["_PyPreConfig_Write"]).apply(null,arguments)};var _PyFPE_dummy=Module["_PyFPE_dummy"]=function(){return(_PyFPE_dummy=Module["_PyFPE_dummy"]=Module["asm"]["PyFPE_dummy"]).apply(null,arguments)};var __PyHash_Fini=Module["__PyHash_Fini"]=function(){return(__PyHash_Fini=Module["__PyHash_Fini"]=Module["asm"]["_PyHash_Fini"]).apply(null,arguments)};var _PyHash_GetFuncDef=Module["_PyHash_GetFuncDef"]=function(){return(_PyHash_GetFuncDef=Module["_PyHash_GetFuncDef"]=Module["asm"]["PyHash_GetFuncDef"]).apply(null,arguments)};var __PyRuntimeState_Init=Module["__PyRuntimeState_Init"]=function(){return(__PyRuntimeState_Init=Module["__PyRuntimeState_Init"]=Module["asm"]["_PyRuntimeState_Init"]).apply(null,arguments)};var __PyRuntime_Finalize=Module["__PyRuntime_Finalize"]=function(){return(__PyRuntime_Finalize=Module["__PyRuntime_Finalize"]=Module["asm"]["_PyRuntime_Finalize"]).apply(null,arguments)};var __PyRuntimeState_Fini=Module["__PyRuntimeState_Fini"]=function(){return(__PyRuntimeState_Fini=Module["__PyRuntimeState_Fini"]=Module["asm"]["_PyRuntimeState_Fini"]).apply(null,arguments)};var __Py_IsCoreInitialized=Module["__Py_IsCoreInitialized"]=function(){return(__Py_IsCoreInitialized=Module["__Py_IsCoreInitialized"]=Module["asm"]["_Py_IsCoreInitialized"]).apply(null,arguments)};var _nl_langinfo=Module["_nl_langinfo"]=function(){return(_nl_langinfo=Module["_nl_langinfo"]=Module["asm"]["nl_langinfo"]).apply(null,arguments)};var __Py_ResetForceASCII=Module["__Py_ResetForceASCII"]=function(){return(__Py_ResetForceASCII=Module["__Py_ResetForceASCII"]=Module["asm"]["_Py_ResetForceASCII"]).apply(null,arguments)};var _setenv=Module["_setenv"]=function(){return(_setenv=Module["_setenv"]=Module["asm"]["setenv"]).apply(null,arguments)};var __PyInterpreterState_SetConfig=Module["__PyInterpreterState_SetConfig"]=function(){return(__PyInterpreterState_SetConfig=Module["__PyInterpreterState_SetConfig"]=Module["asm"]["_PyInterpreterState_SetConfig"]).apply(null,arguments)};var __PySys_UpdateConfig=Module["__PySys_UpdateConfig"]=function(){return(__PySys_UpdateConfig=Module["__PySys_UpdateConfig"]=Module["asm"]["_PySys_UpdateConfig"]).apply(null,arguments)};var __Py_PreInitializeFromPyArgv=Module["__Py_PreInitializeFromPyArgv"]=function(){return(__Py_PreInitializeFromPyArgv=Module["__Py_PreInitializeFromPyArgv"]=Module["asm"]["_Py_PreInitializeFromPyArgv"]).apply(null,arguments)};var _Py_PreInitializeFromBytesArgs=Module["_Py_PreInitializeFromBytesArgs"]=function(){return(_Py_PreInitializeFromBytesArgs=Module["_Py_PreInitializeFromBytesArgs"]=Module["asm"]["Py_PreInitializeFromBytesArgs"]).apply(null,arguments)};var _Py_PreInitializeFromArgs=Module["_Py_PreInitializeFromArgs"]=function(){return(_Py_PreInitializeFromArgs=Module["_Py_PreInitializeFromArgs"]=Module["asm"]["Py_PreInitializeFromArgs"]).apply(null,arguments)};var _Py_PreInitialize=Module["_Py_PreInitialize"]=function(){return(_Py_PreInitialize=Module["_Py_PreInitialize"]=Module["asm"]["Py_PreInitialize"]).apply(null,arguments)};var __Py_HashRandomization_Init=Module["__Py_HashRandomization_Init"]=function(){return(__Py_HashRandomization_Init=Module["__Py_HashRandomization_Init"]=Module["asm"]["_Py_HashRandomization_Init"]).apply(null,arguments)};var __PyInterpreterState_Enable=Module["__PyInterpreterState_Enable"]=function(){return(__PyInterpreterState_Enable=Module["__PyInterpreterState_Enable"]=Module["asm"]["_PyInterpreterState_Enable"]).apply(null,arguments)};var __PyGILState_Init=Module["__PyGILState_Init"]=function(){return(__PyGILState_Init=Module["__PyGILState_Init"]=Module["asm"]["_PyGILState_Init"]).apply(null,arguments)};var _PyInterpreterState_New=Module["_PyInterpreterState_New"]=function(){return(_PyInterpreterState_New=Module["_PyInterpreterState_New"]=Module["asm"]["PyInterpreterState_New"]).apply(null,arguments)};var _PyThreadState_New=Module["_PyThreadState_New"]=function(){return(_PyThreadState_New=Module["_PyThreadState_New"]=Module["asm"]["PyThreadState_New"]).apply(null,arguments)};var _PyThreadState_Swap=Module["_PyThreadState_Swap"]=function(){return(_PyThreadState_Swap=Module["_PyThreadState_Swap"]=Module["asm"]["PyThreadState_Swap"]).apply(null,arguments)};var __PyGILState_SetTstate=Module["__PyGILState_SetTstate"]=function(){return(__PyGILState_SetTstate=Module["__PyGILState_SetTstate"]=Module["asm"]["_PyGILState_SetTstate"]).apply(null,arguments)};var _Py_InitializeEx=Module["_Py_InitializeEx"]=function(){return(_Py_InitializeEx=Module["_Py_InitializeEx"]=Module["asm"]["Py_InitializeEx"]).apply(null,arguments)};var _Py_FatalError=Module["_Py_FatalError"]=function(){return(_Py_FatalError=Module["_Py_FatalError"]=Module["asm"]["Py_FatalError"]).apply(null,arguments)};var _Py_Initialize=Module["_Py_Initialize"]=function(){return(_Py_Initialize=Module["_Py_Initialize"]=Module["asm"]["Py_Initialize"]).apply(null,arguments)};var __Py_InitializeMain=Module["__Py_InitializeMain"]=function(){return(__Py_InitializeMain=Module["__Py_InitializeMain"]=Module["asm"]["_Py_InitializeMain"]).apply(null,arguments)};var __PyAtExit_Call=Module["__PyAtExit_Call"]=function(){return(__PyAtExit_Call=Module["__PyAtExit_Call"]=Module["asm"]["_PyAtExit_Call"]).apply(null,arguments)};var __PySignal_Fini=Module["__PySignal_Fini"]=function(){return(__PySignal_Fini=Module["__PySignal_Fini"]=Module["asm"]["_PySignal_Fini"]).apply(null,arguments)};var _PyGC_Collect=Module["_PyGC_Collect"]=function(){return(_PyGC_Collect=Module["_PyGC_Collect"]=Module["asm"]["PyGC_Collect"]).apply(null,arguments)};var __PyTraceMalloc_Fini=Module["__PyTraceMalloc_Fini"]=function(){return(__PyTraceMalloc_Fini=Module["__PyTraceMalloc_Fini"]=Module["asm"]["_PyTraceMalloc_Fini"]).apply(null,arguments)};var __PyFaulthandler_Fini=Module["__PyFaulthandler_Fini"]=function(){return(__PyFaulthandler_Fini=Module["__PyFaulthandler_Fini"]=Module["asm"]["_PyFaulthandler_Fini"]).apply(null,arguments)};var __PyGILState_Fini=Module["__PyGILState_Fini"]=function(){return(__PyGILState_Fini=Module["__PyGILState_Fini"]=Module["asm"]["_PyGILState_Fini"]).apply(null,arguments)};var _PyInterpreterState_Delete=Module["_PyInterpreterState_Delete"]=function(){return(_PyInterpreterState_Delete=Module["_PyInterpreterState_Delete"]=Module["asm"]["PyInterpreterState_Delete"]).apply(null,arguments)};var __PyGC_CollectNoFail=Module["__PyGC_CollectNoFail"]=function(){return(__PyGC_CollectNoFail=Module["__PyGC_CollectNoFail"]=Module["asm"]["_PyGC_CollectNoFail"]).apply(null,arguments)};var __PyGC_DumpShutdownStats=Module["__PyGC_DumpShutdownStats"]=function(){return(__PyGC_DumpShutdownStats=Module["__PyGC_DumpShutdownStats"]=Module["asm"]["_PyGC_DumpShutdownStats"]).apply(null,arguments)};var __PyInterpreterState_ClearModules=Module["__PyInterpreterState_ClearModules"]=function(){return(__PyInterpreterState_ClearModules=Module["__PyInterpreterState_ClearModules"]=Module["asm"]["_PyInterpreterState_ClearModules"]).apply(null,arguments)};var __PyInterpreterState_Clear=Module["__PyInterpreterState_Clear"]=function(){return(__PyInterpreterState_Clear=Module["__PyInterpreterState_Clear"]=Module["asm"]["_PyInterpreterState_Clear"]).apply(null,arguments)};var __PySys_ClearAuditHooks=Module["__PySys_ClearAuditHooks"]=function(){return(__PySys_ClearAuditHooks=Module["__PySys_ClearAuditHooks"]=Module["asm"]["_PySys_ClearAuditHooks"]).apply(null,arguments)};var __Py_HashRandomization_Fini=Module["__Py_HashRandomization_Fini"]=function(){return(__Py_HashRandomization_Fini=Module["__Py_HashRandomization_Fini"]=Module["asm"]["_Py_HashRandomization_Fini"]).apply(null,arguments)};var _Py_Finalize=Module["_Py_Finalize"]=function(){return(_Py_Finalize=Module["_Py_Finalize"]=Module["asm"]["Py_Finalize"]).apply(null,arguments)};var __Py_NewInterpreter=Module["__Py_NewInterpreter"]=function(){return(__Py_NewInterpreter=Module["__Py_NewInterpreter"]=Module["asm"]["_Py_NewInterpreter"]).apply(null,arguments)};var _PyInterpreterState_Main=Module["_PyInterpreterState_Main"]=function(){return(_PyInterpreterState_Main=Module["_PyInterpreterState_Main"]=Module["asm"]["PyInterpreterState_Main"]).apply(null,arguments)};var _PyErr_PrintEx=Module["_PyErr_PrintEx"]=function(){return(_PyErr_PrintEx=Module["_PyErr_PrintEx"]=Module["asm"]["PyErr_PrintEx"]).apply(null,arguments)};var _PyThreadState_Clear=Module["_PyThreadState_Clear"]=function(){return(_PyThreadState_Clear=Module["_PyThreadState_Clear"]=Module["asm"]["PyThreadState_Clear"]).apply(null,arguments)};var _PyThreadState_Delete=Module["_PyThreadState_Delete"]=function(){return(_PyThreadState_Delete=Module["_PyThreadState_Delete"]=Module["asm"]["PyThreadState_Delete"]).apply(null,arguments)};var _Py_NewInterpreter=Module["_Py_NewInterpreter"]=function(){return(_Py_NewInterpreter=Module["_Py_NewInterpreter"]=Module["asm"]["Py_NewInterpreter"]).apply(null,arguments)};var _Py_EndInterpreter=Module["_Py_EndInterpreter"]=function(){return(_Py_EndInterpreter=Module["_Py_EndInterpreter"]=Module["asm"]["Py_EndInterpreter"]).apply(null,arguments)};var __Py_DumpExtensionModules=Module["__Py_DumpExtensionModules"]=function(){return(__Py_DumpExtensionModules=Module["__Py_DumpExtensionModules"]=Module["asm"]["_Py_DumpExtensionModules"]).apply(null,arguments)};var __Py_write_noraise=Module["__Py_write_noraise"]=function(){return(__Py_write_noraise=Module["__Py_write_noraise"]=Module["asm"]["_Py_write_noraise"]).apply(null,arguments)};var __Py_DumpASCII=Module["__Py_DumpASCII"]=function(){return(__Py_DumpASCII=Module["__Py_DumpASCII"]=Module["asm"]["_Py_DumpASCII"]).apply(null,arguments)};var __Py_DumpDecimal=Module["__Py_DumpDecimal"]=function(){return(__Py_DumpDecimal=Module["__Py_DumpDecimal"]=Module["asm"]["_Py_DumpDecimal"]).apply(null,arguments)};var __Py_DumpHexadecimal=Module["__Py_DumpHexadecimal"]=function(){return(__Py_DumpHexadecimal=Module["__Py_DumpHexadecimal"]=Module["asm"]["_Py_DumpHexadecimal"]).apply(null,arguments)};var __Py_DumpTracebackThreads=Module["__Py_DumpTracebackThreads"]=function(){return(__Py_DumpTracebackThreads=Module["__Py_DumpTracebackThreads"]=Module["asm"]["_Py_DumpTracebackThreads"]).apply(null,arguments)};var _vfprintf=Module["_vfprintf"]=function(){return(_vfprintf=Module["_vfprintf"]=Module["asm"]["vfprintf"]).apply(null,arguments)};var _Py_AtExit=Module["_Py_AtExit"]=function(){return(_Py_AtExit=Module["_Py_AtExit"]=Module["asm"]["Py_AtExit"]).apply(null,arguments)};var _Py_Exit=Module["_Py_Exit"]=function(){return(_Py_Exit=Module["_Py_Exit"]=Module["asm"]["Py_Exit"]).apply(null,arguments)};var _Py_FdIsInteractive=Module["_Py_FdIsInteractive"]=function(){return(_Py_FdIsInteractive=Module["_Py_FdIsInteractive"]=Module["asm"]["Py_FdIsInteractive"]).apply(null,arguments)};var __Py_FdIsInteractive=Module["__Py_FdIsInteractive"]=function(){return(__Py_FdIsInteractive=Module["__Py_FdIsInteractive"]=Module["asm"]["_Py_FdIsInteractive"]).apply(null,arguments)};var _PyOS_getsig=Module["_PyOS_getsig"]=function(){return(_PyOS_getsig=Module["_PyOS_getsig"]=Module["asm"]["PyOS_getsig"]).apply(null,arguments)};var _signal=Module["_signal"]=function(){return(_signal=Module["_signal"]=Module["asm"]["signal"]).apply(null,arguments)};var _PyOS_setsig=Module["_PyOS_setsig"]=function(){return(_PyOS_setsig=Module["_PyOS_setsig"]=Module["asm"]["PyOS_setsig"]).apply(null,arguments)};var __PyGC_Init=Module["__PyGC_Init"]=function(){return(__PyGC_Init=Module["__PyGC_Init"]=Module["asm"]["_PyGC_Init"]).apply(null,arguments)};var __PyAtExit_Init=Module["__PyAtExit_Init"]=function(){return(__PyAtExit_Init=Module["__PyAtExit_Init"]=Module["asm"]["_PyAtExit_Init"]).apply(null,arguments)};var __PySys_Create=Module["__PySys_Create"]=function(){return(__PySys_Create=Module["__PySys_Create"]=Module["asm"]["_PySys_Create"]).apply(null,arguments)};var __PyFaulthandler_Init=Module["__PyFaulthandler_Init"]=function(){return(__PyFaulthandler_Init=Module["__PyFaulthandler_Init"]=Module["asm"]["_PyFaulthandler_Init"]).apply(null,arguments)};var __PySignal_Init=Module["__PySignal_Init"]=function(){return(__PySignal_Init=Module["__PySignal_Init"]=Module["asm"]["_PySignal_Init"]).apply(null,arguments)};var __PyTraceMalloc_Init=Module["__PyTraceMalloc_Init"]=function(){return(__PyTraceMalloc_Init=Module["__PyTraceMalloc_Init"]=Module["asm"]["_PyTraceMalloc_Init"]).apply(null,arguments)};var __PyThread_debug_deprecation=Module["__PyThread_debug_deprecation"]=function(){return(__PyThread_debug_deprecation=Module["__PyThread_debug_deprecation"]=Module["asm"]["_PyThread_debug_deprecation"]).apply(null,arguments)};var _PySys_SetObject=Module["_PySys_SetObject"]=function(){return(_PySys_SetObject=Module["_PySys_SetObject"]=Module["asm"]["PySys_SetObject"]).apply(null,arguments)};var _fstat=Module["_fstat"]=function(){return(_fstat=Module["_fstat"]=Module["asm"]["fstat"]).apply(null,arguments)};var _PyOS_mystrnicmp=Module["_PyOS_mystrnicmp"]=function(){return(_PyOS_mystrnicmp=Module["_PyOS_mystrnicmp"]=Module["asm"]["PyOS_mystrnicmp"]).apply(null,arguments)};var __PyRuntimeState_ReInitThreads=Module["__PyRuntimeState_ReInitThreads"]=function(){return(__PyRuntimeState_ReInitThreads=Module["__PyRuntimeState_ReInitThreads"]=Module["asm"]["_PyRuntimeState_ReInitThreads"]).apply(null,arguments)};var __PyGC_InitState=Module["__PyGC_InitState"]=function(){return(__PyGC_InitState=Module["__PyGC_InitState"]=Module["asm"]["_PyGC_InitState"]).apply(null,arguments)};var _PyInterpreterState_Clear=Module["_PyInterpreterState_Clear"]=function(){return(_PyInterpreterState_Clear=Module["_PyInterpreterState_Clear"]=Module["asm"]["PyInterpreterState_Clear"]).apply(null,arguments)};var __PyAtExit_Fini=Module["__PyAtExit_Fini"]=function(){return(__PyAtExit_Fini=Module["__PyAtExit_Fini"]=Module["asm"]["_PyAtExit_Fini"]).apply(null,arguments)};var __PyGC_Fini=Module["__PyGC_Fini"]=function(){return(__PyGC_Fini=Module["__PyGC_Fini"]=Module["asm"]["_PyGC_Fini"]).apply(null,arguments)};var __PyInterpreterState_DeleteExceptMain=Module["__PyInterpreterState_DeleteExceptMain"]=function(){return(__PyInterpreterState_DeleteExceptMain=Module["__PyInterpreterState_DeleteExceptMain"]=Module["asm"]["_PyInterpreterState_DeleteExceptMain"]).apply(null,arguments)};var _PyInterpreterState_ThreadHead=Module["_PyInterpreterState_ThreadHead"]=function(){return(_PyInterpreterState_ThreadHead=Module["_PyInterpreterState_ThreadHead"]=Module["asm"]["PyInterpreterState_ThreadHead"]).apply(null,arguments)};var __PyInterpreterState_RequiresIDRef=Module["__PyInterpreterState_RequiresIDRef"]=function(){return(__PyInterpreterState_RequiresIDRef=Module["__PyInterpreterState_RequiresIDRef"]=Module["asm"]["_PyInterpreterState_RequiresIDRef"]).apply(null,arguments)};var __PyInterpreterState_RequireIDRef=Module["__PyInterpreterState_RequireIDRef"]=function(){return(__PyInterpreterState_RequireIDRef=Module["__PyInterpreterState_RequireIDRef"]=Module["asm"]["_PyInterpreterState_RequireIDRef"]).apply(null,arguments)};var __PyInterpreterState_GetMainModule=Module["__PyInterpreterState_GetMainModule"]=function(){return(__PyInterpreterState_GetMainModule=Module["__PyInterpreterState_GetMainModule"]=Module["asm"]["_PyInterpreterState_GetMainModule"]).apply(null,arguments)};var _PyInterpreterState_GetDict=Module["_PyInterpreterState_GetDict"]=function(){return(_PyInterpreterState_GetDict=Module["_PyInterpreterState_GetDict"]=Module["asm"]["PyInterpreterState_GetDict"]).apply(null,arguments)};var _PyThread_tss_get=Module["_PyThread_tss_get"]=function(){return(_PyThread_tss_get=Module["_PyThread_tss_get"]=Module["asm"]["PyThread_tss_get"]).apply(null,arguments)};var _PyThread_tss_set=Module["_PyThread_tss_set"]=function(){return(_PyThread_tss_set=Module["_PyThread_tss_set"]=Module["asm"]["PyThread_tss_set"]).apply(null,arguments)};var __PyThreadState_Prealloc=Module["__PyThreadState_Prealloc"]=function(){return(__PyThreadState_Prealloc=Module["__PyThreadState_Prealloc"]=Module["asm"]["_PyThreadState_Prealloc"]).apply(null,arguments)};var __PyThreadState_Init=Module["__PyThreadState_Init"]=function(){return(__PyThreadState_Init=Module["__PyThreadState_Init"]=Module["asm"]["_PyThreadState_Init"]).apply(null,arguments)};var _PyState_FindModule=Module["_PyState_FindModule"]=function(){return(_PyState_FindModule=Module["_PyState_FindModule"]=Module["asm"]["PyState_FindModule"]).apply(null,arguments)};var _PyState_AddModule=Module["_PyState_AddModule"]=function(){return(_PyState_AddModule=Module["_PyState_AddModule"]=Module["asm"]["PyState_AddModule"]).apply(null,arguments)};var _PyState_RemoveModule=Module["_PyState_RemoveModule"]=function(){return(_PyState_RemoveModule=Module["_PyState_RemoveModule"]=Module["asm"]["PyState_RemoveModule"]).apply(null,arguments)};var __PyThreadState_DeleteCurrent=Module["__PyThreadState_DeleteCurrent"]=function(){return(__PyThreadState_DeleteCurrent=Module["__PyThreadState_DeleteCurrent"]=Module["asm"]["_PyThreadState_DeleteCurrent"]).apply(null,arguments)};var _PyThreadState_DeleteCurrent=Module["_PyThreadState_DeleteCurrent"]=function(){return(_PyThreadState_DeleteCurrent=Module["_PyThreadState_DeleteCurrent"]=Module["asm"]["PyThreadState_DeleteCurrent"]).apply(null,arguments)};var __PyThreadState_UncheckedGet=Module["__PyThreadState_UncheckedGet"]=function(){return(__PyThreadState_UncheckedGet=Module["__PyThreadState_UncheckedGet"]=Module["asm"]["_PyThreadState_UncheckedGet"]).apply(null,arguments)};var __PyThreadState_GetDict=Module["__PyThreadState_GetDict"]=function(){return(__PyThreadState_GetDict=Module["__PyThreadState_GetDict"]=Module["asm"]["_PyThreadState_GetDict"]).apply(null,arguments)};var _PyThreadState_GetInterpreter=Module["_PyThreadState_GetInterpreter"]=function(){return(_PyThreadState_GetInterpreter=Module["_PyThreadState_GetInterpreter"]=Module["asm"]["PyThreadState_GetInterpreter"]).apply(null,arguments)};var _PyThreadState_GetID=Module["_PyThreadState_GetID"]=function(){return(_PyThreadState_GetID=Module["_PyThreadState_GetID"]=Module["asm"]["PyThreadState_GetID"]).apply(null,arguments)};var _PyThreadState_SetAsyncExc=Module["_PyThreadState_SetAsyncExc"]=function(){return(_PyThreadState_SetAsyncExc=Module["_PyThreadState_SetAsyncExc"]=Module["asm"]["PyThreadState_SetAsyncExc"]).apply(null,arguments)};var _PyInterpreterState_Head=Module["_PyInterpreterState_Head"]=function(){return(_PyInterpreterState_Head=Module["_PyInterpreterState_Head"]=Module["asm"]["PyInterpreterState_Head"]).apply(null,arguments)};var _PyInterpreterState_Next=Module["_PyInterpreterState_Next"]=function(){return(_PyInterpreterState_Next=Module["_PyInterpreterState_Next"]=Module["asm"]["PyInterpreterState_Next"]).apply(null,arguments)};var _PyThreadState_Next=Module["_PyThreadState_Next"]=function(){return(_PyThreadState_Next=Module["_PyThreadState_Next"]=Module["asm"]["PyThreadState_Next"]).apply(null,arguments)};var __PyThread_CurrentFrames=Module["__PyThread_CurrentFrames"]=function(){return(__PyThread_CurrentFrames=Module["__PyThread_CurrentFrames"]=Module["asm"]["_PyThread_CurrentFrames"]).apply(null,arguments)};var __PyThread_CurrentExceptions=Module["__PyThread_CurrentExceptions"]=function(){return(__PyThread_CurrentExceptions=Module["__PyThread_CurrentExceptions"]=Module["asm"]["_PyThread_CurrentExceptions"]).apply(null,arguments)};var _PyThread_tss_create=Module["_PyThread_tss_create"]=function(){return(_PyThread_tss_create=Module["_PyThread_tss_create"]=Module["asm"]["PyThread_tss_create"]).apply(null,arguments)};var __PyGILState_GetInterpreterStateUnsafe=Module["__PyGILState_GetInterpreterStateUnsafe"]=function(){return(__PyGILState_GetInterpreterStateUnsafe=Module["__PyGILState_GetInterpreterStateUnsafe"]=Module["asm"]["_PyGILState_GetInterpreterStateUnsafe"]).apply(null,arguments)};var _PyThread_tss_delete=Module["_PyThread_tss_delete"]=function(){return(_PyThread_tss_delete=Module["_PyThread_tss_delete"]=Module["asm"]["PyThread_tss_delete"]).apply(null,arguments)};var __PyGILState_Reinit=Module["__PyGILState_Reinit"]=function(){return(__PyGILState_Reinit=Module["__PyGILState_Reinit"]=Module["asm"]["_PyGILState_Reinit"]).apply(null,arguments)};var _PyThread_tss_is_created=Module["_PyThread_tss_is_created"]=function(){return(_PyThread_tss_is_created=Module["_PyThread_tss_is_created"]=Module["asm"]["PyThread_tss_is_created"]).apply(null,arguments)};var __PyObject_CheckCrossInterpreterData=Module["__PyObject_CheckCrossInterpreterData"]=function(){return(__PyObject_CheckCrossInterpreterData=Module["__PyObject_CheckCrossInterpreterData"]=Module["asm"]["_PyObject_CheckCrossInterpreterData"]).apply(null,arguments)};var __PyCrossInterpreterData_Lookup=Module["__PyCrossInterpreterData_Lookup"]=function(){return(__PyCrossInterpreterData_Lookup=Module["__PyCrossInterpreterData_Lookup"]=Module["asm"]["_PyCrossInterpreterData_Lookup"]).apply(null,arguments)};var __PyObject_GetCrossInterpreterData=Module["__PyObject_GetCrossInterpreterData"]=function(){return(__PyObject_GetCrossInterpreterData=Module["__PyObject_GetCrossInterpreterData"]=Module["asm"]["_PyObject_GetCrossInterpreterData"]).apply(null,arguments)};var __PyCrossInterpreterData_Release=Module["__PyCrossInterpreterData_Release"]=function(){return(__PyCrossInterpreterData_Release=Module["__PyCrossInterpreterData_Release"]=Module["asm"]["_PyCrossInterpreterData_Release"]).apply(null,arguments)};var __PyCrossInterpreterData_NewObject=Module["__PyCrossInterpreterData_NewObject"]=function(){return(__PyCrossInterpreterData_NewObject=Module["__PyCrossInterpreterData_NewObject"]=Module["asm"]["_PyCrossInterpreterData_NewObject"]).apply(null,arguments)};var __PyCrossInterpreterData_RegisterClass=Module["__PyCrossInterpreterData_RegisterClass"]=function(){return(__PyCrossInterpreterData_RegisterClass=Module["__PyCrossInterpreterData_RegisterClass"]=Module["asm"]["_PyCrossInterpreterData_RegisterClass"]).apply(null,arguments)};var __PyInterpreterState_GetEvalFrameFunc=Module["__PyInterpreterState_GetEvalFrameFunc"]=function(){return(__PyInterpreterState_GetEvalFrameFunc=Module["__PyInterpreterState_GetEvalFrameFunc"]=Module["asm"]["_PyInterpreterState_GetEvalFrameFunc"]).apply(null,arguments)};var __PyInterpreterState_SetEvalFrameFunc=Module["__PyInterpreterState_SetEvalFrameFunc"]=function(){return(__PyInterpreterState_SetEvalFrameFunc=Module["__PyInterpreterState_SetEvalFrameFunc"]=Module["asm"]["_PyInterpreterState_SetEvalFrameFunc"]).apply(null,arguments)};var __PyInterpreterState_GetConfigCopy=Module["__PyInterpreterState_GetConfigCopy"]=function(){return(__PyInterpreterState_GetConfigCopy=Module["__PyInterpreterState_GetConfigCopy"]=Module["asm"]["_PyInterpreterState_GetConfigCopy"]).apply(null,arguments)};var __PyRun_AnyFileObject=Module["__PyRun_AnyFileObject"]=function(){return(__PyRun_AnyFileObject=Module["__PyRun_AnyFileObject"]=Module["asm"]["_PyRun_AnyFileObject"]).apply(null,arguments)};var __PyRun_InteractiveLoopObject=Module["__PyRun_InteractiveLoopObject"]=function(){return(__PyRun_InteractiveLoopObject=Module["__PyRun_InteractiveLoopObject"]=Module["asm"]["_PyRun_InteractiveLoopObject"]).apply(null,arguments)};var __PyRun_SimpleFileObject=Module["__PyRun_SimpleFileObject"]=function(){return(__PyRun_SimpleFileObject=Module["__PyRun_SimpleFileObject"]=Module["asm"]["_PyRun_SimpleFileObject"]).apply(null,arguments)};var _rewind=Module["_rewind"]=function(){return(_rewind=Module["_rewind"]=Module["asm"]["rewind"]).apply(null,arguments)};var _PyRun_InteractiveLoopFlags=Module["_PyRun_InteractiveLoopFlags"]=function(){return(_PyRun_InteractiveLoopFlags=Module["_PyRun_InteractiveLoopFlags"]=Module["asm"]["PyRun_InteractiveLoopFlags"]).apply(null,arguments)};var _PyRun_InteractiveOneObject=Module["_PyRun_InteractiveOneObject"]=function(){return(_PyRun_InteractiveOneObject=Module["_PyRun_InteractiveOneObject"]=Module["asm"]["PyRun_InteractiveOneObject"]).apply(null,arguments)};var _PyRun_InteractiveOneFlags=Module["_PyRun_InteractiveOneFlags"]=function(){return(_PyRun_InteractiveOneFlags=Module["_PyRun_InteractiveOneFlags"]=Module["asm"]["PyRun_InteractiveOneFlags"]).apply(null,arguments)};var _PyRun_SimpleFileExFlags=Module["_PyRun_SimpleFileExFlags"]=function(){return(_PyRun_SimpleFileExFlags=Module["_PyRun_SimpleFileExFlags"]=Module["asm"]["PyRun_SimpleFileExFlags"]).apply(null,arguments)};var _PyRun_SimpleStringFlags=Module["_PyRun_SimpleStringFlags"]=function(){return(_PyRun_SimpleStringFlags=Module["_PyRun_SimpleStringFlags"]=Module["asm"]["PyRun_SimpleStringFlags"]).apply(null,arguments)};var __Py_HandleSystemExit=Module["__Py_HandleSystemExit"]=function(){return(__Py_HandleSystemExit=Module["__Py_HandleSystemExit"]=Module["asm"]["_Py_HandleSystemExit"]).apply(null,arguments)};var __PyErr_Display=Module["__PyErr_Display"]=function(){return(__PyErr_Display=Module["__PyErr_Display"]=Module["asm"]["_PyErr_Display"]).apply(null,arguments)};var __Py_Offer_Suggestions=Module["__Py_Offer_Suggestions"]=function(){return(__Py_Offer_Suggestions=Module["__Py_Offer_Suggestions"]=Module["asm"]["_Py_Offer_Suggestions"]).apply(null,arguments)};var _PyRun_FileExFlags=Module["_PyRun_FileExFlags"]=function(){return(_PyRun_FileExFlags=Module["_PyRun_FileExFlags"]=Module["asm"]["PyRun_FileExFlags"]).apply(null,arguments)};var _Py_CompileStringExFlags=Module["_Py_CompileStringExFlags"]=function(){return(_Py_CompileStringExFlags=Module["_Py_CompileStringExFlags"]=Module["asm"]["Py_CompileStringExFlags"]).apply(null,arguments)};var _PyRun_AnyFile=Module["_PyRun_AnyFile"]=function(){return(_PyRun_AnyFile=Module["_PyRun_AnyFile"]=Module["asm"]["PyRun_AnyFile"]).apply(null,arguments)};var _PyRun_AnyFileEx=Module["_PyRun_AnyFileEx"]=function(){return(_PyRun_AnyFileEx=Module["_PyRun_AnyFileEx"]=Module["asm"]["PyRun_AnyFileEx"]).apply(null,arguments)};var _PyRun_AnyFileFlags=Module["_PyRun_AnyFileFlags"]=function(){return(_PyRun_AnyFileFlags=Module["_PyRun_AnyFileFlags"]=Module["asm"]["PyRun_AnyFileFlags"]).apply(null,arguments)};var _PyRun_File=Module["_PyRun_File"]=function(){return(_PyRun_File=Module["_PyRun_File"]=Module["asm"]["PyRun_File"]).apply(null,arguments)};var _PyRun_FileEx=Module["_PyRun_FileEx"]=function(){return(_PyRun_FileEx=Module["_PyRun_FileEx"]=Module["asm"]["PyRun_FileEx"]).apply(null,arguments)};var _PyRun_FileFlags=Module["_PyRun_FileFlags"]=function(){return(_PyRun_FileFlags=Module["_PyRun_FileFlags"]=Module["asm"]["PyRun_FileFlags"]).apply(null,arguments)};var _PyRun_SimpleFile=Module["_PyRun_SimpleFile"]=function(){return(_PyRun_SimpleFile=Module["_PyRun_SimpleFile"]=Module["asm"]["PyRun_SimpleFile"]).apply(null,arguments)};var _PyRun_SimpleFileEx=Module["_PyRun_SimpleFileEx"]=function(){return(_PyRun_SimpleFileEx=Module["_PyRun_SimpleFileEx"]=Module["asm"]["PyRun_SimpleFileEx"]).apply(null,arguments)};var _PyRun_String=Module["_PyRun_String"]=function(){return(_PyRun_String=Module["_PyRun_String"]=Module["asm"]["PyRun_String"]).apply(null,arguments)};var _PyRun_SimpleString=Module["_PyRun_SimpleString"]=function(){return(_PyRun_SimpleString=Module["_PyRun_SimpleString"]=Module["asm"]["PyRun_SimpleString"]).apply(null,arguments)};var _Py_CompileString=Module["_Py_CompileString"]=function(){return(_Py_CompileString=Module["_Py_CompileString"]=Module["asm"]["Py_CompileString"]).apply(null,arguments)};var _Py_CompileStringFlags=Module["_Py_CompileStringFlags"]=function(){return(_Py_CompileStringFlags=Module["_Py_CompileStringFlags"]=Module["asm"]["Py_CompileStringFlags"]).apply(null,arguments)};var _PyRun_InteractiveOne=Module["_PyRun_InteractiveOne"]=function(){return(_PyRun_InteractiveOne=Module["_PyRun_InteractiveOne"]=Module["asm"]["PyRun_InteractiveOne"]).apply(null,arguments)};var _PyRun_InteractiveLoop=Module["_PyRun_InteractiveLoop"]=function(){return(_PyRun_InteractiveLoop=Module["_PyRun_InteractiveLoop"]=Module["asm"]["PyRun_InteractiveLoop"]).apply(null,arguments)};var __PyTime_MulDiv=Module["__PyTime_MulDiv"]=function(){return(__PyTime_MulDiv=Module["__PyTime_MulDiv"]=Module["asm"]["_PyTime_MulDiv"]).apply(null,arguments)};var __PyLong_AsTime_t=Module["__PyLong_AsTime_t"]=function(){return(__PyLong_AsTime_t=Module["__PyLong_AsTime_t"]=Module["asm"]["_PyLong_AsTime_t"]).apply(null,arguments)};var __PyLong_FromTime_t=Module["__PyLong_FromTime_t"]=function(){return(__PyLong_FromTime_t=Module["__PyLong_FromTime_t"]=Module["asm"]["_PyLong_FromTime_t"]).apply(null,arguments)};var __PyTime_ObjectToTime_t=Module["__PyTime_ObjectToTime_t"]=function(){return(__PyTime_ObjectToTime_t=Module["__PyTime_ObjectToTime_t"]=Module["asm"]["_PyTime_ObjectToTime_t"]).apply(null,arguments)};var __PyTime_ObjectToTimespec=Module["__PyTime_ObjectToTimespec"]=function(){return(__PyTime_ObjectToTimespec=Module["__PyTime_ObjectToTimespec"]=Module["asm"]["_PyTime_ObjectToTimespec"]).apply(null,arguments)};var __PyTime_ObjectToTimeval=Module["__PyTime_ObjectToTimeval"]=function(){return(__PyTime_ObjectToTimeval=Module["__PyTime_ObjectToTimeval"]=Module["asm"]["_PyTime_ObjectToTimeval"]).apply(null,arguments)};var __PyTime_FromSeconds=Module["__PyTime_FromSeconds"]=function(){return(__PyTime_FromSeconds=Module["__PyTime_FromSeconds"]=Module["asm"]["_PyTime_FromSeconds"]).apply(null,arguments)};var __PyTime_FromNanoseconds=Module["__PyTime_FromNanoseconds"]=function(){return(__PyTime_FromNanoseconds=Module["__PyTime_FromNanoseconds"]=Module["asm"]["_PyTime_FromNanoseconds"]).apply(null,arguments)};var __PyTime_FromNanosecondsObject=Module["__PyTime_FromNanosecondsObject"]=function(){return(__PyTime_FromNanosecondsObject=Module["__PyTime_FromNanosecondsObject"]=Module["asm"]["_PyTime_FromNanosecondsObject"]).apply(null,arguments)};var __PyTime_FromTimespec=Module["__PyTime_FromTimespec"]=function(){return(__PyTime_FromTimespec=Module["__PyTime_FromTimespec"]=Module["asm"]["_PyTime_FromTimespec"]).apply(null,arguments)};var __PyTime_FromTimeval=Module["__PyTime_FromTimeval"]=function(){return(__PyTime_FromTimeval=Module["__PyTime_FromTimeval"]=Module["asm"]["_PyTime_FromTimeval"]).apply(null,arguments)};var __PyTime_FromSecondsObject=Module["__PyTime_FromSecondsObject"]=function(){return(__PyTime_FromSecondsObject=Module["__PyTime_FromSecondsObject"]=Module["asm"]["_PyTime_FromSecondsObject"]).apply(null,arguments)};var __PyTime_FromMillisecondsObject=Module["__PyTime_FromMillisecondsObject"]=function(){return(__PyTime_FromMillisecondsObject=Module["__PyTime_FromMillisecondsObject"]=Module["asm"]["_PyTime_FromMillisecondsObject"]).apply(null,arguments)};var __PyTime_AsSecondsDouble=Module["__PyTime_AsSecondsDouble"]=function(){return(__PyTime_AsSecondsDouble=Module["__PyTime_AsSecondsDouble"]=Module["asm"]["_PyTime_AsSecondsDouble"]).apply(null,arguments)};var __PyTime_AsNanosecondsObject=Module["__PyTime_AsNanosecondsObject"]=function(){return(__PyTime_AsNanosecondsObject=Module["__PyTime_AsNanosecondsObject"]=Module["asm"]["_PyTime_AsNanosecondsObject"]).apply(null,arguments)};var __PyTime_AsMilliseconds=Module["__PyTime_AsMilliseconds"]=function(){return(__PyTime_AsMilliseconds=Module["__PyTime_AsMilliseconds"]=Module["asm"]["_PyTime_AsMilliseconds"]).apply(null,arguments)};var __PyTime_AsTimeval=Module["__PyTime_AsTimeval"]=function(){return(__PyTime_AsTimeval=Module["__PyTime_AsTimeval"]=Module["asm"]["_PyTime_AsTimeval"]).apply(null,arguments)};var __PyTime_AsTimeval_noraise=Module["__PyTime_AsTimeval_noraise"]=function(){return(__PyTime_AsTimeval_noraise=Module["__PyTime_AsTimeval_noraise"]=Module["asm"]["_PyTime_AsTimeval_noraise"]).apply(null,arguments)};var __PyTime_AsTimevalTime_t=Module["__PyTime_AsTimevalTime_t"]=function(){return(__PyTime_AsTimevalTime_t=Module["__PyTime_AsTimevalTime_t"]=Module["asm"]["_PyTime_AsTimevalTime_t"]).apply(null,arguments)};var __PyTime_AsTimespec=Module["__PyTime_AsTimespec"]=function(){return(__PyTime_AsTimespec=Module["__PyTime_AsTimespec"]=Module["asm"]["_PyTime_AsTimespec"]).apply(null,arguments)};var __PyTime_GetSystemClock=Module["__PyTime_GetSystemClock"]=function(){return(__PyTime_GetSystemClock=Module["__PyTime_GetSystemClock"]=Module["asm"]["_PyTime_GetSystemClock"]).apply(null,arguments)};var __PyTime_GetSystemClockWithInfo=Module["__PyTime_GetSystemClockWithInfo"]=function(){return(__PyTime_GetSystemClockWithInfo=Module["__PyTime_GetSystemClockWithInfo"]=Module["asm"]["_PyTime_GetSystemClockWithInfo"]).apply(null,arguments)};var __PyTime_GetMonotonicClock=Module["__PyTime_GetMonotonicClock"]=function(){return(__PyTime_GetMonotonicClock=Module["__PyTime_GetMonotonicClock"]=Module["asm"]["_PyTime_GetMonotonicClock"]).apply(null,arguments)};var __PyTime_GetMonotonicClockWithInfo=Module["__PyTime_GetMonotonicClockWithInfo"]=function(){return(__PyTime_GetMonotonicClockWithInfo=Module["__PyTime_GetMonotonicClockWithInfo"]=Module["asm"]["_PyTime_GetMonotonicClockWithInfo"]).apply(null,arguments)};var __PyTime_GetPerfCounterWithInfo=Module["__PyTime_GetPerfCounterWithInfo"]=function(){return(__PyTime_GetPerfCounterWithInfo=Module["__PyTime_GetPerfCounterWithInfo"]=Module["asm"]["_PyTime_GetPerfCounterWithInfo"]).apply(null,arguments)};var __PyTime_localtime=Module["__PyTime_localtime"]=function(){return(__PyTime_localtime=Module["__PyTime_localtime"]=Module["asm"]["_PyTime_localtime"]).apply(null,arguments)};var __PyTime_gmtime=Module["__PyTime_gmtime"]=function(){return(__PyTime_gmtime=Module["__PyTime_gmtime"]=Module["asm"]["_PyTime_gmtime"]).apply(null,arguments)};var __PyOS_URandom=Module["__PyOS_URandom"]=function(){return(__PyOS_URandom=Module["__PyOS_URandom"]=Module["asm"]["_PyOS_URandom"]).apply(null,arguments)};var __Py_open=Module["__Py_open"]=function(){return(__Py_open=Module["__Py_open"]=Module["asm"]["_Py_open"]).apply(null,arguments)};var _close=Module["_close"]=function(){return(_close=Module["_close"]=Module["asm"]["close"]).apply(null,arguments)};var __Py_fstat=Module["__Py_fstat"]=function(){return(__Py_fstat=Module["__Py_fstat"]=Module["asm"]["_Py_fstat"]).apply(null,arguments)};var __Py_read=Module["__Py_read"]=function(){return(__Py_read=Module["__Py_read"]=Module["asm"]["_Py_read"]).apply(null,arguments)};var __Py_open_noraise=Module["__Py_open_noraise"]=function(){return(__Py_open_noraise=Module["__Py_open_noraise"]=Module["asm"]["_Py_open_noraise"]).apply(null,arguments)};var _read=Module["_read"]=function(){return(_read=Module["_read"]=Module["asm"]["read"]).apply(null,arguments)};var __PyOS_URandomNonblock=Module["__PyOS_URandomNonblock"]=function(){return(__PyOS_URandomNonblock=Module["__PyOS_URandomNonblock"]=Module["asm"]["_PyOS_URandomNonblock"]).apply(null,arguments)};var __Py_SymtableStringObjectFlags=Module["__Py_SymtableStringObjectFlags"]=function(){return(__Py_SymtableStringObjectFlags=Module["__Py_SymtableStringObjectFlags"]=Module["asm"]["_Py_SymtableStringObjectFlags"]).apply(null,arguments)};var _PySys_AddAuditHook=Module["_PySys_AddAuditHook"]=function(){return(_PySys_AddAuditHook=Module["_PySys_AddAuditHook"]=Module["asm"]["PySys_AddAuditHook"]).apply(null,arguments)};var __PySys_GetSizeOf=Module["__PySys_GetSizeOf"]=function(){return(__PySys_GetSizeOf=Module["__PySys_GetSizeOf"]=Module["asm"]["_PySys_GetSizeOf"]).apply(null,arguments)};var _PySys_ResetWarnOptions=Module["_PySys_ResetWarnOptions"]=function(){return(_PySys_ResetWarnOptions=Module["_PySys_ResetWarnOptions"]=Module["asm"]["PySys_ResetWarnOptions"]).apply(null,arguments)};var _PySys_AddWarnOptionUnicode=Module["_PySys_AddWarnOptionUnicode"]=function(){return(_PySys_AddWarnOptionUnicode=Module["_PySys_AddWarnOptionUnicode"]=Module["asm"]["PySys_AddWarnOptionUnicode"]).apply(null,arguments)};var _PySys_AddWarnOption=Module["_PySys_AddWarnOption"]=function(){return(_PySys_AddWarnOption=Module["_PySys_AddWarnOption"]=Module["asm"]["PySys_AddWarnOption"]).apply(null,arguments)};var _PySys_HasWarnOptions=Module["_PySys_HasWarnOptions"]=function(){return(_PySys_HasWarnOptions=Module["_PySys_HasWarnOptions"]=Module["asm"]["PySys_HasWarnOptions"]).apply(null,arguments)};var _PySys_AddXOption=Module["_PySys_AddXOption"]=function(){return(_PySys_AddXOption=Module["_PySys_AddXOption"]=Module["asm"]["PySys_AddXOption"]).apply(null,arguments)};var _PySys_GetXOptions=Module["_PySys_GetXOptions"]=function(){return(_PySys_GetXOptions=Module["_PySys_GetXOptions"]=Module["asm"]["PySys_GetXOptions"]).apply(null,arguments)};var _PyThread_GetInfo=Module["_PyThread_GetInfo"]=function(){return(_PyThread_GetInfo=Module["_PyThread_GetInfo"]=Module["asm"]["PyThread_GetInfo"]).apply(null,arguments)};var _PySys_SetPath=Module["_PySys_SetPath"]=function(){return(_PySys_SetPath=Module["_PySys_SetPath"]=Module["asm"]["PySys_SetPath"]).apply(null,arguments)};var _PySys_SetArgvEx=Module["_PySys_SetArgvEx"]=function(){return(_PySys_SetArgvEx=Module["_PySys_SetArgvEx"]=Module["asm"]["PySys_SetArgvEx"]).apply(null,arguments)};var _PySys_WriteStdout=Module["_PySys_WriteStdout"]=function(){return(_PySys_WriteStdout=Module["_PySys_WriteStdout"]=Module["asm"]["PySys_WriteStdout"]).apply(null,arguments)};var _PySys_FormatStdout=Module["_PySys_FormatStdout"]=function(){return(_PySys_FormatStdout=Module["_PySys_FormatStdout"]=Module["asm"]["PySys_FormatStdout"]).apply(null,arguments)};var _pthread_condattr_init=Module["_pthread_condattr_init"]=function(){return(_pthread_condattr_init=Module["_pthread_condattr_init"]=Module["asm"]["pthread_condattr_init"]).apply(null,arguments)};var _pthread_condattr_setclock=Module["_pthread_condattr_setclock"]=function(){return(_pthread_condattr_setclock=Module["_pthread_condattr_setclock"]=Module["asm"]["pthread_condattr_setclock"]).apply(null,arguments)};var _pthread_cond_init=Module["_pthread_cond_init"]=function(){return(_pthread_cond_init=Module["_pthread_cond_init"]=Module["asm"]["pthread_cond_init"]).apply(null,arguments)};var _PyThread_start_new_thread=Module["_PyThread_start_new_thread"]=function(){return(_PyThread_start_new_thread=Module["_PyThread_start_new_thread"]=Module["asm"]["PyThread_start_new_thread"]).apply(null,arguments)};var _pthread_attr_init=Module["_pthread_attr_init"]=function(){return(_pthread_attr_init=Module["_pthread_attr_init"]=Module["asm"]["pthread_attr_init"]).apply(null,arguments)};var _pthread_attr_setstacksize=Module["_pthread_attr_setstacksize"]=function(){return(_pthread_attr_setstacksize=Module["_pthread_attr_setstacksize"]=Module["asm"]["pthread_attr_setstacksize"]).apply(null,arguments)};var _pthread_attr_destroy=Module["_pthread_attr_destroy"]=function(){return(_pthread_attr_destroy=Module["_pthread_attr_destroy"]=Module["asm"]["pthread_attr_destroy"]).apply(null,arguments)};var _pthread_create=Module["_pthread_create"]=function(){return(_pthread_create=Module["_pthread_create"]=Module["asm"]["pthread_create"]).apply(null,arguments)};var _pthread_detach=Module["_pthread_detach"]=function(){return(_pthread_detach=Module["_pthread_detach"]=Module["asm"]["pthread_detach"]).apply(null,arguments)};var _pthread_self=Module["_pthread_self"]=function(){return(_pthread_self=Module["_pthread_self"]=Module["asm"]["pthread_self"]).apply(null,arguments)};var _pthread_exit=Module["_pthread_exit"]=function(){return(_pthread_exit=Module["_pthread_exit"]=Module["asm"]["pthread_exit"]).apply(null,arguments)};var _PyThread_acquire_lock_timed=Module["_PyThread_acquire_lock_timed"]=function(){return(_PyThread_acquire_lock_timed=Module["_PyThread_acquire_lock_timed"]=Module["asm"]["PyThread_acquire_lock_timed"]).apply(null,arguments)};var _pthread_mutex_trylock=Module["_pthread_mutex_trylock"]=function(){return(_pthread_mutex_trylock=Module["_pthread_mutex_trylock"]=Module["asm"]["pthread_mutex_trylock"]).apply(null,arguments)};var _PyThread_create_key=Module["_PyThread_create_key"]=function(){return(_PyThread_create_key=Module["_PyThread_create_key"]=Module["asm"]["PyThread_create_key"]).apply(null,arguments)};var _pthread_key_create=Module["_pthread_key_create"]=function(){return(_pthread_key_create=Module["_pthread_key_create"]=Module["asm"]["pthread_key_create"]).apply(null,arguments)};var _pthread_key_delete=Module["_pthread_key_delete"]=function(){return(_pthread_key_delete=Module["_pthread_key_delete"]=Module["asm"]["pthread_key_delete"]).apply(null,arguments)};var _PyThread_delete_key=Module["_PyThread_delete_key"]=function(){return(_PyThread_delete_key=Module["_PyThread_delete_key"]=Module["asm"]["PyThread_delete_key"]).apply(null,arguments)};var _PyThread_delete_key_value=Module["_PyThread_delete_key_value"]=function(){return(_PyThread_delete_key_value=Module["_PyThread_delete_key_value"]=Module["asm"]["PyThread_delete_key_value"]).apply(null,arguments)};var _pthread_setspecific=Module["_pthread_setspecific"]=function(){return(_pthread_setspecific=Module["_pthread_setspecific"]=Module["asm"]["pthread_setspecific"]).apply(null,arguments)};var _PyThread_set_key_value=Module["_PyThread_set_key_value"]=function(){return(_PyThread_set_key_value=Module["_PyThread_set_key_value"]=Module["asm"]["PyThread_set_key_value"]).apply(null,arguments)};var _PyThread_get_key_value=Module["_PyThread_get_key_value"]=function(){return(_PyThread_get_key_value=Module["_PyThread_get_key_value"]=Module["asm"]["PyThread_get_key_value"]).apply(null,arguments)};var _pthread_getspecific=Module["_pthread_getspecific"]=function(){return(_pthread_getspecific=Module["_pthread_getspecific"]=Module["asm"]["pthread_getspecific"]).apply(null,arguments)};var _PyThread_ReInitTLS=Module["_PyThread_ReInitTLS"]=function(){return(_PyThread_ReInitTLS=Module["_PyThread_ReInitTLS"]=Module["asm"]["PyThread_ReInitTLS"]).apply(null,arguments)};var _PyThread_get_stacksize=Module["_PyThread_get_stacksize"]=function(){return(_PyThread_get_stacksize=Module["_PyThread_get_stacksize"]=Module["asm"]["PyThread_get_stacksize"]).apply(null,arguments)};var _PyThread_set_stacksize=Module["_PyThread_set_stacksize"]=function(){return(_PyThread_set_stacksize=Module["_PyThread_set_stacksize"]=Module["asm"]["PyThread_set_stacksize"]).apply(null,arguments)};var _PyThread_tss_alloc=Module["_PyThread_tss_alloc"]=function(){return(_PyThread_tss_alloc=Module["_PyThread_tss_alloc"]=Module["asm"]["PyThread_tss_alloc"]).apply(null,arguments)};var _PyThread_tss_free=Module["_PyThread_tss_free"]=function(){return(_PyThread_tss_free=Module["_PyThread_tss_free"]=Module["asm"]["PyThread_tss_free"]).apply(null,arguments)};var _confstr=Module["_confstr"]=function(){return(_confstr=Module["_confstr"]=Module["asm"]["confstr"]).apply(null,arguments)};var __PyTraceback_Add=Module["__PyTraceback_Add"]=function(){return(__PyTraceback_Add=Module["__PyTraceback_Add"]=Module["asm"]["_PyTraceback_Add"]).apply(null,arguments)};var __Py_DumpTraceback=Module["__Py_DumpTraceback"]=function(){return(__Py_DumpTraceback=Module["__Py_DumpTraceback"]=Module["asm"]["_Py_DumpTraceback"]).apply(null,arguments)};var _PyOS_mystricmp=Module["_PyOS_mystricmp"]=function(){return(_PyOS_mystricmp=Module["_PyOS_mystricmp"]=Module["asm"]["PyOS_mystricmp"]).apply(null,arguments)};var __Py_strhex=Module["__Py_strhex"]=function(){return(__Py_strhex=Module["__Py_strhex"]=Module["asm"]["_Py_strhex"]).apply(null,arguments)};var __Py_strhex_bytes=Module["__Py_strhex_bytes"]=function(){return(__Py_strhex_bytes=Module["__Py_strhex_bytes"]=Module["asm"]["_Py_strhex_bytes"]).apply(null,arguments)};var __Py_strhex_bytes_with_sep=Module["__Py_strhex_bytes_with_sep"]=function(){return(__Py_strhex_bytes_with_sep=Module["__Py_strhex_bytes_with_sep"]=Module["asm"]["_Py_strhex_bytes_with_sep"]).apply(null,arguments)};var _localeconv=Module["_localeconv"]=function(){return(_localeconv=Module["_localeconv"]=Module["asm"]["localeconv"]).apply(null,arguments)};var __Py_GetLocaleconvNumeric=Module["__Py_GetLocaleconvNumeric"]=function(){return(__Py_GetLocaleconvNumeric=Module["__Py_GetLocaleconvNumeric"]=Module["asm"]["_Py_GetLocaleconvNumeric"]).apply(null,arguments)};var __Py_device_encoding=Module["__Py_device_encoding"]=function(){return(__Py_device_encoding=Module["__Py_device_encoding"]=Module["asm"]["_Py_device_encoding"]).apply(null,arguments)};var __Py_GetLocaleEncodingObject=Module["__Py_GetLocaleEncodingObject"]=function(){return(__Py_GetLocaleEncodingObject=Module["__Py_GetLocaleEncodingObject"]=Module["asm"]["_Py_GetLocaleEncodingObject"]).apply(null,arguments)};var _mbstowcs=Module["_mbstowcs"]=function(){return(_mbstowcs=Module["_mbstowcs"]=Module["asm"]["mbstowcs"]).apply(null,arguments)};var _mbrtowc=Module["_mbrtowc"]=function(){return(_mbrtowc=Module["_mbrtowc"]=Module["asm"]["mbrtowc"]).apply(null,arguments)};var _Py_EncodeLocale=Module["_Py_EncodeLocale"]=function(){return(_Py_EncodeLocale=Module["_Py_EncodeLocale"]=Module["asm"]["Py_EncodeLocale"]).apply(null,arguments)};var __Py_EncodeLocaleRaw=Module["__Py_EncodeLocaleRaw"]=function(){return(__Py_EncodeLocaleRaw=Module["__Py_EncodeLocaleRaw"]=Module["asm"]["_Py_EncodeLocaleRaw"]).apply(null,arguments)};var __Py_stat=Module["__Py_stat"]=function(){return(__Py_stat=Module["__Py_stat"]=Module["asm"]["_Py_stat"]).apply(null,arguments)};var _stat=Module["_stat"]=function(){return(_stat=Module["_stat"]=Module["asm"]["stat"]).apply(null,arguments)};var __Py_get_inheritable=Module["__Py_get_inheritable"]=function(){return(__Py_get_inheritable=Module["__Py_get_inheritable"]=Module["asm"]["_Py_get_inheritable"]).apply(null,arguments)};var _fcntl=Module["_fcntl"]=function(){return(_fcntl=Module["_fcntl"]=Module["asm"]["fcntl"]).apply(null,arguments)};var __Py_set_inheritable=Module["__Py_set_inheritable"]=function(){return(__Py_set_inheritable=Module["__Py_set_inheritable"]=Module["asm"]["_Py_set_inheritable"]).apply(null,arguments)};var __Py_set_inheritable_async_safe=Module["__Py_set_inheritable_async_safe"]=function(){return(__Py_set_inheritable_async_safe=Module["__Py_set_inheritable_async_safe"]=Module["asm"]["_Py_set_inheritable_async_safe"]).apply(null,arguments)};var _open=Module["_open"]=function(){return(_open=Module["_open"]=Module["asm"]["open"]).apply(null,arguments)};var __Py_wfopen=Module["__Py_wfopen"]=function(){return(__Py_wfopen=Module["__Py_wfopen"]=Module["asm"]["_Py_wfopen"]).apply(null,arguments)};var _wcstombs=Module["_wcstombs"]=function(){return(_wcstombs=Module["_wcstombs"]=Module["asm"]["wcstombs"]).apply(null,arguments)};var _fopen=Module["_fopen"]=function(){return(_fopen=Module["_fopen"]=Module["asm"]["fopen"]).apply(null,arguments)};var _write=Module["_write"]=function(){return(_write=Module["_write"]=Module["asm"]["write"]).apply(null,arguments)};var _readlink=Module["_readlink"]=function(){return(_readlink=Module["_readlink"]=Module["asm"]["readlink"]).apply(null,arguments)};var _realpath=Module["_realpath"]=function(){return(_realpath=Module["_realpath"]=Module["asm"]["realpath"]).apply(null,arguments)};var _getcwd=Module["_getcwd"]=function(){return(_getcwd=Module["_getcwd"]=Module["asm"]["getcwd"]).apply(null,arguments)};var __Py_get_blocking=Module["__Py_get_blocking"]=function(){return(__Py_get_blocking=Module["__Py_get_blocking"]=Module["asm"]["_Py_get_blocking"]).apply(null,arguments)};var __Py_set_blocking=Module["__Py_set_blocking"]=function(){return(__Py_set_blocking=Module["__Py_set_blocking"]=Module["asm"]["_Py_set_blocking"]).apply(null,arguments)};var __Py_closerange=Module["__Py_closerange"]=function(){return(__Py_closerange=Module["__Py_closerange"]=Module["asm"]["_Py_closerange"]).apply(null,arguments)};var __Py_UTF8_Edit_Cost=Module["__Py_UTF8_Edit_Cost"]=function(){return(__Py_UTF8_Edit_Cost=Module["__Py_UTF8_Edit_Cost"]=Module["asm"]["_Py_UTF8_Edit_Cost"]).apply(null,arguments)};var _PyInit_array=Module["_PyInit_array"]=function(){return(_PyInit_array=Module["_PyInit_array"]=Module["asm"]["PyInit_array"]).apply(null,arguments)};var _PyInit_audioop=Module["_PyInit_audioop"]=function(){return(_PyInit_audioop=Module["_PyInit_audioop"]=Module["asm"]["PyInit_audioop"]).apply(null,arguments)};var _PyInit_math=Module["_PyInit_math"]=function(){return(_PyInit_math=Module["_PyInit_math"]=Module["asm"]["PyInit_math"]).apply(null,arguments)};var _PyInit_cmath=Module["_PyInit_cmath"]=function(){return(_PyInit_cmath=Module["_PyInit_cmath"]=Module["asm"]["PyInit_cmath"]).apply(null,arguments)};var _PyInit__contextvars=Module["_PyInit__contextvars"]=function(){return(_PyInit__contextvars=Module["_PyInit__contextvars"]=Module["asm"]["PyInit__contextvars"]).apply(null,arguments)};var _PyInit__struct=Module["_PyInit__struct"]=function(){return(_PyInit__struct=Module["_PyInit__struct"]=Module["asm"]["PyInit__struct"]).apply(null,arguments)};var _PyInit__random=Module["_PyInit__random"]=function(){return(_PyInit__random=Module["_PyInit__random"]=Module["asm"]["PyInit__random"]).apply(null,arguments)};var _PyInit__bisect=Module["_PyInit__bisect"]=function(){return(_PyInit__bisect=Module["_PyInit__bisect"]=Module["asm"]["PyInit__bisect"]).apply(null,arguments)};var _PyInit__datetime=Module["_PyInit__datetime"]=function(){return(_PyInit__datetime=Module["_PyInit__datetime"]=Module["asm"]["PyInit__datetime"]).apply(null,arguments)};var _PyInit__heapq=Module["_PyInit__heapq"]=function(){return(_PyInit__heapq=Module["_PyInit__heapq"]=Module["asm"]["PyInit__heapq"]).apply(null,arguments)};var _PyInit__json=Module["_PyInit__json"]=function(){return(_PyInit__json=Module["_PyInit__json"]=Module["asm"]["PyInit__json"]).apply(null,arguments)};var _PyInit__csv=Module["_PyInit__csv"]=function(){return(_PyInit__csv=Module["_PyInit__csv"]=Module["asm"]["PyInit__csv"]).apply(null,arguments)};var _PyInit__ctypes=Module["_PyInit__ctypes"]=function(){return(_PyInit__ctypes=Module["_PyInit__ctypes"]=Module["asm"]["PyInit__ctypes"]).apply(null,arguments)};var _PyInit_unicodedata=Module["_PyInit_unicodedata"]=function(){return(_PyInit_unicodedata=Module["_PyInit_unicodedata"]=Module["asm"]["PyInit_unicodedata"]).apply(null,arguments)};var _PyInit__pickle=Module["_PyInit__pickle"]=function(){return(_PyInit__pickle=Module["_PyInit__pickle"]=Module["asm"]["PyInit__pickle"]).apply(null,arguments)};var _PyInit__socket=Module["_PyInit__socket"]=function(){return(_PyInit__socket=Module["_PyInit__socket"]=Module["asm"]["PyInit__socket"]).apply(null,arguments)};var _PyInit_select=Module["_PyInit_select"]=function(){return(_PyInit_select=Module["_PyInit_select"]=Module["asm"]["PyInit_select"]).apply(null,arguments)};var _PyInit__posixsubprocess=Module["_PyInit__posixsubprocess"]=function(){return(_PyInit__posixsubprocess=Module["_PyInit__posixsubprocess"]=Module["asm"]["PyInit__posixsubprocess"]).apply(null,arguments)};var _PyInit_binascii=Module["_PyInit_binascii"]=function(){return(_PyInit_binascii=Module["_PyInit_binascii"]=Module["asm"]["PyInit_binascii"]).apply(null,arguments)};var _PyInit_zlib=Module["_PyInit_zlib"]=function(){return(_PyInit_zlib=Module["_PyInit_zlib"]=Module["asm"]["PyInit_zlib"]).apply(null,arguments)};var _PyInit_pyexpat=Module["_PyInit_pyexpat"]=function(){return(_PyInit_pyexpat=Module["_PyInit_pyexpat"]=Module["asm"]["PyInit_pyexpat"]).apply(null,arguments)};var _PyInit__sha1=Module["_PyInit__sha1"]=function(){return(_PyInit__sha1=Module["_PyInit__sha1"]=Module["asm"]["PyInit__sha1"]).apply(null,arguments)};var _PyInit__sha256=Module["_PyInit__sha256"]=function(){return(_PyInit__sha256=Module["_PyInit__sha256"]=Module["asm"]["PyInit__sha256"]).apply(null,arguments)};var _PyInit__sha512=Module["_PyInit__sha512"]=function(){return(_PyInit__sha512=Module["_PyInit__sha512"]=Module["asm"]["PyInit__sha512"]).apply(null,arguments)};var _PyInit__sha3=Module["_PyInit__sha3"]=function(){return(_PyInit__sha3=Module["_PyInit__sha3"]=Module["asm"]["PyInit__sha3"]).apply(null,arguments)};var _PyInit__md5=Module["_PyInit__md5"]=function(){return(_PyInit__md5=Module["_PyInit__md5"]=Module["asm"]["PyInit__md5"]).apply(null,arguments)};var _PyInit__blake2=Module["_PyInit__blake2"]=function(){return(_PyInit__blake2=Module["_PyInit__blake2"]=Module["asm"]["PyInit__blake2"]).apply(null,arguments)};var _PyInit__sqlite3=Module["_PyInit__sqlite3"]=function(){return(_PyInit__sqlite3=Module["_PyInit__sqlite3"]=Module["asm"]["PyInit__sqlite3"]).apply(null,arguments)};var _PyInit__crypt=Module["_PyInit__crypt"]=function(){return(_PyInit__crypt=Module["_PyInit__crypt"]=Module["asm"]["PyInit__crypt"]).apply(null,arguments)};var _PyInit__bz2=Module["_PyInit__bz2"]=function(){return(_PyInit__bz2=Module["_PyInit__bz2"]=Module["asm"]["PyInit__bz2"]).apply(null,arguments)};var _PyInit__queue=Module["_PyInit__queue"]=function(){return(_PyInit__queue=Module["_PyInit__queue"]=Module["asm"]["PyInit__queue"]).apply(null,arguments)};var _PyInit__multibytecodec=Module["_PyInit__multibytecodec"]=function(){return(_PyInit__multibytecodec=Module["_PyInit__multibytecodec"]=Module["asm"]["PyInit__multibytecodec"]).apply(null,arguments)};var _PyInit__codecs_cn=Module["_PyInit__codecs_cn"]=function(){return(_PyInit__codecs_cn=Module["_PyInit__codecs_cn"]=Module["asm"]["PyInit__codecs_cn"]).apply(null,arguments)};var _PyInit__codecs_hk=Module["_PyInit__codecs_hk"]=function(){return(_PyInit__codecs_hk=Module["_PyInit__codecs_hk"]=Module["asm"]["PyInit__codecs_hk"]).apply(null,arguments)};var _PyInit__codecs_iso2022=Module["_PyInit__codecs_iso2022"]=function(){return(_PyInit__codecs_iso2022=Module["_PyInit__codecs_iso2022"]=Module["asm"]["PyInit__codecs_iso2022"]).apply(null,arguments)};var _PyInit__codecs_jp=Module["_PyInit__codecs_jp"]=function(){return(_PyInit__codecs_jp=Module["_PyInit__codecs_jp"]=Module["asm"]["PyInit__codecs_jp"]).apply(null,arguments)};var _PyInit__codecs_kr=Module["_PyInit__codecs_kr"]=function(){return(_PyInit__codecs_kr=Module["_PyInit__codecs_kr"]=Module["asm"]["PyInit__codecs_kr"]).apply(null,arguments)};var _PyInit__codecs_tw=Module["_PyInit__codecs_tw"]=function(){return(_PyInit__codecs_tw=Module["_PyInit__codecs_tw"]=Module["asm"]["PyInit__codecs_tw"]).apply(null,arguments)};var _PyInit__lsprof=Module["_PyInit__lsprof"]=function(){return(_PyInit__lsprof=Module["_PyInit__lsprof"]=Module["asm"]["PyInit__lsprof"]).apply(null,arguments)};var _PyInit__decimal=Module["_PyInit__decimal"]=function(){return(_PyInit__decimal=Module["_PyInit__decimal"]=Module["asm"]["PyInit__decimal"]).apply(null,arguments)};var _PyInit_mmap=Module["_PyInit_mmap"]=function(){return(_PyInit_mmap=Module["_PyInit_mmap"]=Module["asm"]["PyInit_mmap"]).apply(null,arguments)};var _PyInit__xxsubinterpreters=Module["_PyInit__xxsubinterpreters"]=function(){return(_PyInit__xxsubinterpreters=Module["_PyInit__xxsubinterpreters"]=Module["asm"]["PyInit__xxsubinterpreters"]).apply(null,arguments)};var _PyInit_posix=Module["_PyInit_posix"]=function(){return(_PyInit_posix=Module["_PyInit_posix"]=Module["asm"]["PyInit_posix"]).apply(null,arguments)};var _PyInit_errno=Module["_PyInit_errno"]=function(){return(_PyInit_errno=Module["_PyInit_errno"]=Module["asm"]["PyInit_errno"]).apply(null,arguments)};var _PyInit__sre=Module["_PyInit__sre"]=function(){return(_PyInit__sre=Module["_PyInit__sre"]=Module["asm"]["PyInit__sre"]).apply(null,arguments)};var _PyInit__codecs=Module["_PyInit__codecs"]=function(){return(_PyInit__codecs=Module["_PyInit__codecs"]=Module["asm"]["PyInit__codecs"]).apply(null,arguments)};var _PyInit__weakref=Module["_PyInit__weakref"]=function(){return(_PyInit__weakref=Module["_PyInit__weakref"]=Module["asm"]["PyInit__weakref"]).apply(null,arguments)};var _PyInit__functools=Module["_PyInit__functools"]=function(){return(_PyInit__functools=Module["_PyInit__functools"]=Module["asm"]["PyInit__functools"]).apply(null,arguments)};var _PyInit__operator=Module["_PyInit__operator"]=function(){return(_PyInit__operator=Module["_PyInit__operator"]=Module["asm"]["PyInit__operator"]).apply(null,arguments)};var _PyInit__collections=Module["_PyInit__collections"]=function(){return(_PyInit__collections=Module["_PyInit__collections"]=Module["asm"]["PyInit__collections"]).apply(null,arguments)};var _PyInit__abc=Module["_PyInit__abc"]=function(){return(_PyInit__abc=Module["_PyInit__abc"]=Module["asm"]["PyInit__abc"]).apply(null,arguments)};var _PyInit_itertools=Module["_PyInit_itertools"]=function(){return(_PyInit_itertools=Module["_PyInit_itertools"]=Module["asm"]["PyInit_itertools"]).apply(null,arguments)};var _PyInit_atexit=Module["_PyInit_atexit"]=function(){return(_PyInit_atexit=Module["_PyInit_atexit"]=Module["asm"]["PyInit_atexit"]).apply(null,arguments)};var _PyInit__signal=Module["_PyInit__signal"]=function(){return(_PyInit__signal=Module["_PyInit__signal"]=Module["asm"]["PyInit__signal"]).apply(null,arguments)};var _PyInit__stat=Module["_PyInit__stat"]=function(){return(_PyInit__stat=Module["_PyInit__stat"]=Module["asm"]["PyInit__stat"]).apply(null,arguments)};var _PyInit_time=Module["_PyInit_time"]=function(){return(_PyInit_time=Module["_PyInit_time"]=Module["asm"]["PyInit_time"]).apply(null,arguments)};var _PyInit__thread=Module["_PyInit__thread"]=function(){return(_PyInit__thread=Module["_PyInit__thread"]=Module["asm"]["PyInit__thread"]).apply(null,arguments)};var _PyInit__locale=Module["_PyInit__locale"]=function(){return(_PyInit__locale=Module["_PyInit__locale"]=Module["asm"]["PyInit__locale"]).apply(null,arguments)};var _PyInit__io=Module["_PyInit__io"]=function(){return(_PyInit__io=Module["_PyInit__io"]=Module["asm"]["PyInit__io"]).apply(null,arguments)};var _PyInit_faulthandler=Module["_PyInit_faulthandler"]=function(){return(_PyInit_faulthandler=Module["_PyInit_faulthandler"]=Module["asm"]["PyInit_faulthandler"]).apply(null,arguments)};var _PyInit__tracemalloc=Module["_PyInit__tracemalloc"]=function(){return(_PyInit__tracemalloc=Module["_PyInit__tracemalloc"]=Module["asm"]["PyInit__tracemalloc"]).apply(null,arguments)};var _PyInit__symtable=Module["_PyInit__symtable"]=function(){return(_PyInit__symtable=Module["_PyInit__symtable"]=Module["asm"]["PyInit__symtable"]).apply(null,arguments)};var _PyInit_xxsubtype=Module["_PyInit_xxsubtype"]=function(){return(_PyInit_xxsubtype=Module["_PyInit_xxsubtype"]=Module["asm"]["PyInit_xxsubtype"]).apply(null,arguments)};var _PyInit_gc=Module["_PyInit_gc"]=function(){return(_PyInit_gc=Module["_PyInit_gc"]=Module["asm"]["PyInit_gc"]).apply(null,arguments)};var _wcscpy=Module["_wcscpy"]=function(){return(_wcscpy=Module["_wcscpy"]=Module["asm"]["wcscpy"]).apply(null,arguments)};var _wcscat=Module["_wcscat"]=function(){return(_wcscat=Module["_wcscat"]=Module["asm"]["wcscat"]).apply(null,arguments)};var _wcsncat=Module["_wcsncat"]=function(){return(_wcsncat=Module["_wcsncat"]=Module["asm"]["wcsncat"]).apply(null,arguments)};var _Py_RunMain=Module["_Py_RunMain"]=function(){return(_Py_RunMain=Module["_Py_RunMain"]=Module["asm"]["Py_RunMain"]).apply(null,arguments)};var _perror=Module["_perror"]=function(){return(_perror=Module["_perror"]=Module["asm"]["perror"]).apply(null,arguments)};var _getpid=Module["_getpid"]=function(){return(_getpid=Module["_getpid"]=Module["asm"]["getpid"]).apply(null,arguments)};var _Py_Main=Module["_Py_Main"]=function(){return(_Py_Main=Module["_Py_Main"]=Module["asm"]["Py_Main"]).apply(null,arguments)};var _Py_BytesMain=Module["_Py_BytesMain"]=function(){return(_Py_BytesMain=Module["_Py_BytesMain"]=Module["asm"]["Py_BytesMain"]).apply(null,arguments)};var _PyGC_Enable=Module["_PyGC_Enable"]=function(){return(_PyGC_Enable=Module["_PyGC_Enable"]=Module["asm"]["PyGC_Enable"]).apply(null,arguments)};var _PyGC_Disable=Module["_PyGC_Disable"]=function(){return(_PyGC_Disable=Module["_PyGC_Disable"]=Module["asm"]["PyGC_Disable"]).apply(null,arguments)};var _PyGC_IsEnabled=Module["_PyGC_IsEnabled"]=function(){return(_PyGC_IsEnabled=Module["_PyGC_IsEnabled"]=Module["asm"]["PyGC_IsEnabled"]).apply(null,arguments)};var __PyGC_Dump=Module["__PyGC_Dump"]=function(){return(__PyGC_Dump=Module["__PyGC_Dump"]=Module["asm"]["_PyGC_Dump"]).apply(null,arguments)};var __PyObject_GC_Calloc=Module["__PyObject_GC_Calloc"]=function(){return(__PyObject_GC_Calloc=Module["__PyObject_GC_Calloc"]=Module["asm"]["_PyObject_GC_Calloc"]).apply(null,arguments)};var _PyObject_GC_IsTracked=Module["_PyObject_GC_IsTracked"]=function(){return(_PyObject_GC_IsTracked=Module["_PyObject_GC_IsTracked"]=Module["asm"]["PyObject_GC_IsTracked"]).apply(null,arguments)};var _PyObject_GC_IsFinalized=Module["_PyObject_GC_IsFinalized"]=function(){return(_PyObject_GC_IsFinalized=Module["_PyObject_GC_IsFinalized"]=Module["asm"]["PyObject_GC_IsFinalized"]).apply(null,arguments)};var _acos=Module["_acos"]=function(){return(_acos=Module["_acos"]=Module["asm"]["acos"]).apply(null,arguments)};var _acosh=Module["_acosh"]=function(){return(_acosh=Module["_acosh"]=Module["asm"]["acosh"]).apply(null,arguments)};var _asin=Module["_asin"]=function(){return(_asin=Module["_asin"]=Module["asm"]["asin"]).apply(null,arguments)};var _asinh=Module["_asinh"]=function(){return(_asinh=Module["_asinh"]=Module["asm"]["asinh"]).apply(null,arguments)};var _atan=Module["_atan"]=function(){return(_atan=Module["_atan"]=Module["asm"]["atan"]).apply(null,arguments)};var _atanh=Module["_atanh"]=function(){return(_atanh=Module["_atanh"]=Module["asm"]["atanh"]).apply(null,arguments)};var _copysign=Module["_copysign"]=function(){return(_copysign=Module["_copysign"]=Module["asm"]["copysign"]).apply(null,arguments)};var _cosh=Module["_cosh"]=function(){return(_cosh=Module["_cosh"]=Module["asm"]["cosh"]).apply(null,arguments)};var _erf=Module["_erf"]=function(){return(_erf=Module["_erf"]=Module["asm"]["erf"]).apply(null,arguments)};var _erfc=Module["_erfc"]=function(){return(_erfc=Module["_erfc"]=Module["asm"]["erfc"]).apply(null,arguments)};var _expm1=Module["_expm1"]=function(){return(_expm1=Module["_expm1"]=Module["asm"]["expm1"]).apply(null,arguments)};var _fabs=Module["_fabs"]=function(){return(_fabs=Module["_fabs"]=Module["asm"]["fabs"]).apply(null,arguments)};var __Py_log1p=Module["__Py_log1p"]=function(){return(__Py_log1p=Module["__Py_log1p"]=Module["asm"]["_Py_log1p"]).apply(null,arguments)};var _sinh=Module["_sinh"]=function(){return(_sinh=Module["_sinh"]=Module["asm"]["sinh"]).apply(null,arguments)};var _sqrt=Module["_sqrt"]=function(){return(_sqrt=Module["_sqrt"]=Module["asm"]["sqrt"]).apply(null,arguments)};var _tan=Module["_tan"]=function(){return(_tan=Module["_tan"]=Module["asm"]["tan"]).apply(null,arguments)};var _tanh=Module["_tanh"]=function(){return(_tanh=Module["_tanh"]=Module["asm"]["tanh"]).apply(null,arguments)};var _nextafter=Module["_nextafter"]=function(){return(_nextafter=Module["_nextafter"]=Module["asm"]["nextafter"]).apply(null,arguments)};var _log10=Module["_log10"]=function(){return(_log10=Module["_log10"]=Module["asm"]["log10"]).apply(null,arguments)};var _log2=Module["_log2"]=function(){return(_log2=Module["_log2"]=Module["asm"]["log2"]).apply(null,arguments)};var _log1p=Module["_log1p"]=function(){return(_log1p=Module["_log1p"]=Module["asm"]["log1p"]).apply(null,arguments)};var _unpackiter_new=Module["_unpackiter_new"]=function(){return(_unpackiter_new=Module["_unpackiter_new"]=Module["asm"]["unpackiter_new"]).apply(null,arguments)};var _PyDict_SetItemProxy=Module["_PyDict_SetItemProxy"]=function(){return(_PyDict_SetItemProxy=Module["_PyDict_SetItemProxy"]=Module["asm"]["PyDict_SetItemProxy"]).apply(null,arguments)};var _PyDict_GetItemProxy=Module["_PyDict_GetItemProxy"]=function(){return(_PyDict_GetItemProxy=Module["_PyDict_GetItemProxy"]=Module["asm"]["PyDict_GetItemProxy"]).apply(null,arguments)};var __ctypes_alloc_format_string=Module["__ctypes_alloc_format_string"]=function(){return(__ctypes_alloc_format_string=Module["__ctypes_alloc_format_string"]=Module["asm"]["_ctypes_alloc_format_string"]).apply(null,arguments)};var _strcat=Module["_strcat"]=function(){return(_strcat=Module["_strcat"]=Module["asm"]["strcat"]).apply(null,arguments)};var __ctypes_alloc_format_string_with_shape=Module["__ctypes_alloc_format_string_with_shape"]=function(){return(__ctypes_alloc_format_string_with_shape=Module["__ctypes_alloc_format_string_with_shape"]=Module["asm"]["_ctypes_alloc_format_string_with_shape"]).apply(null,arguments)};var _PyCStructUnionType_update_stgdict=Module["_PyCStructUnionType_update_stgdict"]=function(){return(_PyCStructUnionType_update_stgdict=Module["_PyCStructUnionType_update_stgdict"]=Module["asm"]["PyCStructUnionType_update_stgdict"]).apply(null,arguments)};var _PyType_stgdict=Module["_PyType_stgdict"]=function(){return(_PyType_stgdict=Module["_PyType_stgdict"]=Module["asm"]["PyType_stgdict"]).apply(null,arguments)};var __ctypes_get_fielddesc=Module["__ctypes_get_fielddesc"]=function(){return(__ctypes_get_fielddesc=Module["__ctypes_get_fielddesc"]=Module["asm"]["_ctypes_get_fielddesc"]).apply(null,arguments)};var _PyCData_FromBaseObj=Module["_PyCData_FromBaseObj"]=function(){return(_PyCData_FromBaseObj=Module["_PyCData_FromBaseObj"]=Module["asm"]["PyCData_FromBaseObj"]).apply(null,arguments)};var _PyCData_AtAddress=Module["_PyCData_AtAddress"]=function(){return(_PyCData_AtAddress=Module["_PyCData_AtAddress"]=Module["asm"]["PyCData_AtAddress"]).apply(null,arguments)};var __ctypes_simple_instance=Module["__ctypes_simple_instance"]=function(){return(__ctypes_simple_instance=Module["__ctypes_simple_instance"]=Module["asm"]["_ctypes_simple_instance"]).apply(null,arguments)};var _PyCData_get=Module["_PyCData_get"]=function(){return(_PyCData_get=Module["_PyCData_get"]=Module["asm"]["PyCData_get"]).apply(null,arguments)};var _PyCData_set=Module["_PyCData_set"]=function(){return(_PyCData_set=Module["_PyCData_set"]=Module["asm"]["PyCData_set"]).apply(null,arguments)};var __ctypes_extend_error=Module["__ctypes_extend_error"]=function(){return(__ctypes_extend_error=Module["__ctypes_extend_error"]=Module["asm"]["_ctypes_extend_error"]).apply(null,arguments)};var _PyObject_stgdict=Module["_PyObject_stgdict"]=function(){return(_PyObject_stgdict=Module["_PyObject_stgdict"]=Module["asm"]["PyObject_stgdict"]).apply(null,arguments)};var __ctypes_callproc=Module["__ctypes_callproc"]=function(){return(__ctypes_callproc=Module["__ctypes_callproc"]=Module["asm"]["_ctypes_callproc"]).apply(null,arguments)};var __ctypes_alloc_callback=Module["__ctypes_alloc_callback"]=function(){return(__ctypes_alloc_callback=Module["__ctypes_alloc_callback"]=Module["asm"]["_ctypes_alloc_callback"]).apply(null,arguments)};var _PyCArrayType_from_ctype=Module["_PyCArrayType_from_ctype"]=function(){return(_PyCArrayType_from_ctype=Module["_PyCArrayType_from_ctype"]=Module["asm"]["PyCArrayType_from_ctype"]).apply(null,arguments)};var _PyCStgDict_clone=Module["_PyCStgDict_clone"]=function(){return(_PyCStgDict_clone=Module["_PyCStgDict_clone"]=Module["asm"]["PyCStgDict_clone"]).apply(null,arguments)};var _PyCArgObject_new=Module["_PyCArgObject_new"]=function(){return(_PyCArgObject_new=Module["_PyCArgObject_new"]=Module["asm"]["PyCArgObject_new"]).apply(null,arguments)};var _ffi_closure_free=Module["_ffi_closure_free"]=function(){return(_ffi_closure_free=Module["_ffi_closure_free"]=Module["asm"]["ffi_closure_free"]).apply(null,arguments)};var _ffi_closure_alloc=Module["_ffi_closure_alloc"]=function(){return(_ffi_closure_alloc=Module["_ffi_closure_alloc"]=Module["asm"]["ffi_closure_alloc"]).apply(null,arguments)};var __ctypes_get_ffi_type=Module["__ctypes_get_ffi_type"]=function(){return(__ctypes_get_ffi_type=Module["__ctypes_get_ffi_type"]=Module["asm"]["_ctypes_get_ffi_type"]).apply(null,arguments)};var _ffi_prep_cif=Module["_ffi_prep_cif"]=function(){return(_ffi_prep_cif=Module["_ffi_prep_cif"]=Module["asm"]["ffi_prep_cif"]).apply(null,arguments)};var _ffi_prep_closure_loc=Module["_ffi_prep_closure_loc"]=function(){return(_ffi_prep_closure_loc=Module["_ffi_prep_closure_loc"]=Module["asm"]["ffi_prep_closure_loc"]).apply(null,arguments)};var __ctypes_get_errobj=Module["__ctypes_get_errobj"]=function(){return(__ctypes_get_errobj=Module["__ctypes_get_errobj"]=Module["asm"]["_ctypes_get_errobj"]).apply(null,arguments)};var _ffi_prep_cif_var=Module["_ffi_prep_cif_var"]=function(){return(_ffi_prep_cif_var=Module["_ffi_prep_cif_var"]=Module["asm"]["ffi_prep_cif_var"]).apply(null,arguments)};var _PyCField_FromDesc=Module["_PyCField_FromDesc"]=function(){return(_PyCField_FromDesc=Module["_PyCField_FromDesc"]=Module["asm"]["PyCField_FromDesc"]).apply(null,arguments)};var ___extenddftf2=Module["___extenddftf2"]=function(){return(___extenddftf2=Module["___extenddftf2"]=Module["asm"]["__extenddftf2"]).apply(null,arguments)};var ___trunctfdf2=Module["___trunctfdf2"]=function(){return(___trunctfdf2=Module["___trunctfdf2"]=Module["asm"]["__trunctfdf2"]).apply(null,arguments)};var _getsockname=Module["_getsockname"]=function(){return(_getsockname=Module["_getsockname"]=Module["asm"]["getsockname"]).apply(null,arguments)};var _socket=Module["_socket"]=function(){return(_socket=Module["_socket"]=Module["asm"]["socket"]).apply(null,arguments)};var _getsockopt=Module["_getsockopt"]=function(){return(_getsockopt=Module["_getsockopt"]=Module["asm"]["getsockopt"]).apply(null,arguments)};var _bind=Module["_bind"]=function(){return(_bind=Module["_bind"]=Module["asm"]["bind"]).apply(null,arguments)};var _getpeername=Module["_getpeername"]=function(){return(_getpeername=Module["_getpeername"]=Module["asm"]["getpeername"]).apply(null,arguments)};var _listen=Module["_listen"]=function(){return(_listen=Module["_listen"]=Module["asm"]["listen"]).apply(null,arguments)};var _setsockopt=Module["_setsockopt"]=function(){return(_setsockopt=Module["_setsockopt"]=Module["asm"]["setsockopt"]).apply(null,arguments)};var _shutdown=Module["_shutdown"]=function(){return(_shutdown=Module["_shutdown"]=Module["asm"]["shutdown"]).apply(null,arguments)};var _accept4=Module["_accept4"]=function(){return(_accept4=Module["_accept4"]=Module["asm"]["accept4"]).apply(null,arguments)};var _accept=Module["_accept"]=function(){return(_accept=Module["_accept"]=Module["asm"]["accept"]).apply(null,arguments)};var _inet_ntop=Module["_inet_ntop"]=function(){return(_inet_ntop=Module["_inet_ntop"]=Module["asm"]["inet_ntop"]).apply(null,arguments)};var _ntohs=Module["_ntohs"]=function(){return(_ntohs=Module["_ntohs"]=Module["asm"]["ntohs"]).apply(null,arguments)};var _ioctl=Module["_ioctl"]=function(){return(_ioctl=Module["_ioctl"]=Module["asm"]["ioctl"]).apply(null,arguments)};var _poll=Module["_poll"]=function(){return(_poll=Module["_poll"]=Module["asm"]["poll"]).apply(null,arguments)};var _htons=Module["_htons"]=function(){return(_htons=Module["_htons"]=Module["asm"]["htons"]).apply(null,arguments)};var _freeaddrinfo=Module["_freeaddrinfo"]=function(){return(_freeaddrinfo=Module["_freeaddrinfo"]=Module["asm"]["freeaddrinfo"]).apply(null,arguments)};var _inet_pton=Module["_inet_pton"]=function(){return(_inet_pton=Module["_inet_pton"]=Module["asm"]["inet_pton"]).apply(null,arguments)};var _connect=Module["_connect"]=function(){return(_connect=Module["_connect"]=Module["asm"]["connect"]).apply(null,arguments)};var _recv=Module["_recv"]=function(){return(_recv=Module["_recv"]=Module["asm"]["recv"]).apply(null,arguments)};var _recvfrom=Module["_recvfrom"]=function(){return(_recvfrom=Module["_recvfrom"]=Module["asm"]["recvfrom"]).apply(null,arguments)};var _send=Module["_send"]=function(){return(_send=Module["_send"]=Module["asm"]["send"]).apply(null,arguments)};var _sendto=Module["_sendto"]=function(){return(_sendto=Module["_sendto"]=Module["asm"]["sendto"]).apply(null,arguments)};var _recvmsg=Module["_recvmsg"]=function(){return(_recvmsg=Module["_recvmsg"]=Module["asm"]["recvmsg"]).apply(null,arguments)};var _sendmsg=Module["_sendmsg"]=function(){return(_sendmsg=Module["_sendmsg"]=Module["asm"]["sendmsg"]).apply(null,arguments)};var _gethostname=Module["_gethostname"]=function(){return(_gethostname=Module["_gethostname"]=Module["asm"]["gethostname"]).apply(null,arguments)};var _getservbyname=Module["_getservbyname"]=function(){return(_getservbyname=Module["_getservbyname"]=Module["asm"]["getservbyname"]).apply(null,arguments)};var _getservbyport=Module["_getservbyport"]=function(){return(_getservbyport=Module["_getservbyport"]=Module["asm"]["getservbyport"]).apply(null,arguments)};var _ntohl=Module["_ntohl"]=function(){return(_ntohl=Module["_ntohl"]=Module["asm"]["ntohl"]).apply(null,arguments)};var _htonl=Module["_htonl"]=function(){return(_htonl=Module["_htonl"]=Module["asm"]["htonl"]).apply(null,arguments)};var _inet_aton=Module["_inet_aton"]=function(){return(_inet_aton=Module["_inet_aton"]=Module["asm"]["inet_aton"]).apply(null,arguments)};var _inet_ntoa=Module["_inet_ntoa"]=function(){return(_inet_ntoa=Module["_inet_ntoa"]=Module["asm"]["inet_ntoa"]).apply(null,arguments)};var ___h_errno_location=Module["___h_errno_location"]=function(){return(___h_errno_location=Module["___h_errno_location"]=Module["asm"]["__h_errno_location"]).apply(null,arguments)};var _hstrerror=Module["_hstrerror"]=function(){return(_hstrerror=Module["_hstrerror"]=Module["asm"]["hstrerror"]).apply(null,arguments)};var __select_exec=Module["__select_exec"]=function(){return(__select_exec=Module["__select_exec"]=Module["asm"]["_select_exec"]).apply(null,arguments)};var _select=Module["_select"]=function(){return(_select=Module["_select"]=Module["asm"]["select"]).apply(null,arguments)};var __Py_Gid_Converter=Module["__Py_Gid_Converter"]=function(){return(__Py_Gid_Converter=Module["__Py_Gid_Converter"]=Module["asm"]["_Py_Gid_Converter"]).apply(null,arguments)};var __Py_Uid_Converter=Module["__Py_Uid_Converter"]=function(){return(__Py_Uid_Converter=Module["__Py_Uid_Converter"]=Module["asm"]["_Py_Uid_Converter"]).apply(null,arguments)};var _PyOS_BeforeFork=Module["_PyOS_BeforeFork"]=function(){return(_PyOS_BeforeFork=Module["_PyOS_BeforeFork"]=Module["asm"]["PyOS_BeforeFork"]).apply(null,arguments)};var _PyOS_AfterFork_Parent=Module["_PyOS_AfterFork_Parent"]=function(){return(_PyOS_AfterFork_Parent=Module["_PyOS_AfterFork_Parent"]=Module["asm"]["PyOS_AfterFork_Parent"]).apply(null,arguments)};var _PyOS_AfterFork_Child=Module["_PyOS_AfterFork_Child"]=function(){return(_PyOS_AfterFork_Child=Module["_PyOS_AfterFork_Child"]=Module["asm"]["PyOS_AfterFork_Child"]).apply(null,arguments)};var __exit=Module["__exit"]=function(){return(__exit=Module["__exit"]=Module["asm"]["_exit"]).apply(null,arguments)};var _dup=Module["_dup"]=function(){return(_dup=Module["_dup"]=Module["asm"]["dup"]).apply(null,arguments)};var _dup2=Module["_dup2"]=function(){return(_dup2=Module["_dup2"]=Module["asm"]["dup2"]).apply(null,arguments)};var _chdir=Module["_chdir"]=function(){return(_chdir=Module["_chdir"]=Module["asm"]["chdir"]).apply(null,arguments)};var _umask=Module["_umask"]=function(){return(_umask=Module["_umask"]=Module["asm"]["umask"]).apply(null,arguments)};var __Py_RestoreSignals=Module["__Py_RestoreSignals"]=function(){return(__Py_RestoreSignals=Module["__Py_RestoreSignals"]=Module["asm"]["_Py_RestoreSignals"]).apply(null,arguments)};var _setsid=Module["_setsid"]=function(){return(_setsid=Module["_setsid"]=Module["asm"]["setsid"]).apply(null,arguments)};var _setregid=Module["_setregid"]=function(){return(_setregid=Module["_setregid"]=Module["asm"]["setregid"]).apply(null,arguments)};var _setreuid=Module["_setreuid"]=function(){return(_setreuid=Module["_setreuid"]=Module["asm"]["setreuid"]).apply(null,arguments)};var _execv=Module["_execv"]=function(){return(_execv=Module["_execv"]=Module["asm"]["execv"]).apply(null,arguments)};var _opendir=Module["_opendir"]=function(){return(_opendir=Module["_opendir"]=Module["asm"]["opendir"]).apply(null,arguments)};var _sysconf=Module["_sysconf"]=function(){return(_sysconf=Module["_sysconf"]=Module["asm"]["sysconf"]).apply(null,arguments)};var _dirfd=Module["_dirfd"]=function(){return(_dirfd=Module["_dirfd"]=Module["asm"]["dirfd"]).apply(null,arguments)};var _readdir=Module["_readdir"]=function(){return(_readdir=Module["_readdir"]=Module["asm"]["readdir"]).apply(null,arguments)};var _closedir=Module["_closedir"]=function(){return(_closedir=Module["_closedir"]=Module["asm"]["closedir"]).apply(null,arguments)};var _adler32=Module["_adler32"]=function(){return(_adler32=Module["_adler32"]=Module["asm"]["adler32"]).apply(null,arguments)};var _deflateInit_=Module["_deflateInit_"]=function(){return(_deflateInit_=Module["_deflateInit_"]=Module["asm"]["deflateInit_"]).apply(null,arguments)};var _deflateEnd=Module["_deflateEnd"]=function(){return(_deflateEnd=Module["_deflateEnd"]=Module["asm"]["deflateEnd"]).apply(null,arguments)};var _deflate=Module["_deflate"]=function(){return(_deflate=Module["_deflate"]=Module["asm"]["deflate"]).apply(null,arguments)};var _deflateInit2_=Module["_deflateInit2_"]=function(){return(_deflateInit2_=Module["_deflateInit2_"]=Module["asm"]["deflateInit2_"]).apply(null,arguments)};var _deflateSetDictionary=Module["_deflateSetDictionary"]=function(){return(_deflateSetDictionary=Module["_deflateSetDictionary"]=Module["asm"]["deflateSetDictionary"]).apply(null,arguments)};var _crc32=Module["_crc32"]=function(){return(_crc32=Module["_crc32"]=Module["asm"]["crc32"]).apply(null,arguments)};var _inflateInit2_=Module["_inflateInit2_"]=function(){return(_inflateInit2_=Module["_inflateInit2_"]=Module["asm"]["inflateInit2_"]).apply(null,arguments)};var _inflateEnd=Module["_inflateEnd"]=function(){return(_inflateEnd=Module["_inflateEnd"]=Module["asm"]["inflateEnd"]).apply(null,arguments)};var _inflate=Module["_inflate"]=function(){return(_inflate=Module["_inflate"]=Module["asm"]["inflate"]).apply(null,arguments)};var _inflateSetDictionary=Module["_inflateSetDictionary"]=function(){return(_inflateSetDictionary=Module["_inflateSetDictionary"]=Module["asm"]["inflateSetDictionary"]).apply(null,arguments)};var _zlibVersion=Module["_zlibVersion"]=function(){return(_zlibVersion=Module["_zlibVersion"]=Module["asm"]["zlibVersion"]).apply(null,arguments)};var _PyExpat_XML_ParserCreate=Module["_PyExpat_XML_ParserCreate"]=function(){return(_PyExpat_XML_ParserCreate=Module["_PyExpat_XML_ParserCreate"]=Module["asm"]["PyExpat_XML_ParserCreate"]).apply(null,arguments)};var _PyExpat_XML_ParserCreate_MM=Module["_PyExpat_XML_ParserCreate_MM"]=function(){return(_PyExpat_XML_ParserCreate_MM=Module["_PyExpat_XML_ParserCreate_MM"]=Module["asm"]["PyExpat_XML_ParserCreate_MM"]).apply(null,arguments)};var _PyExpat_XML_ParserCreateNS=Module["_PyExpat_XML_ParserCreateNS"]=function(){return(_PyExpat_XML_ParserCreateNS=Module["_PyExpat_XML_ParserCreateNS"]=Module["asm"]["PyExpat_XML_ParserCreateNS"]).apply(null,arguments)};var _PyExpat_XML_ParserFree=Module["_PyExpat_XML_ParserFree"]=function(){return(_PyExpat_XML_ParserFree=Module["_PyExpat_XML_ParserFree"]=Module["asm"]["PyExpat_XML_ParserFree"]).apply(null,arguments)};var _PyExpat_XmlGetUtf8InternalEncodingNS=Module["_PyExpat_XmlGetUtf8InternalEncodingNS"]=function(){return(_PyExpat_XmlGetUtf8InternalEncodingNS=Module["_PyExpat_XmlGetUtf8InternalEncodingNS"]=Module["asm"]["PyExpat_XmlGetUtf8InternalEncodingNS"]).apply(null,arguments)};var _PyExpat_XmlGetUtf8InternalEncoding=Module["_PyExpat_XmlGetUtf8InternalEncoding"]=function(){return(_PyExpat_XmlGetUtf8InternalEncoding=Module["_PyExpat_XmlGetUtf8InternalEncoding"]=Module["asm"]["PyExpat_XmlGetUtf8InternalEncoding"]).apply(null,arguments)};var _PyExpat_XML_ParserReset=Module["_PyExpat_XML_ParserReset"]=function(){return(_PyExpat_XML_ParserReset=Module["_PyExpat_XML_ParserReset"]=Module["asm"]["PyExpat_XML_ParserReset"]).apply(null,arguments)};var _PyExpat_XmlPrologStateInit=Module["_PyExpat_XmlPrologStateInit"]=function(){return(_PyExpat_XmlPrologStateInit=Module["_PyExpat_XmlPrologStateInit"]=Module["asm"]["PyExpat_XmlPrologStateInit"]).apply(null,arguments)};var _PyExpat_XmlInitEncoding=Module["_PyExpat_XmlInitEncoding"]=function(){return(_PyExpat_XmlInitEncoding=Module["_PyExpat_XmlInitEncoding"]=Module["asm"]["PyExpat_XmlInitEncoding"]).apply(null,arguments)};var _PyExpat_XML_SetEncoding=Module["_PyExpat_XML_SetEncoding"]=function(){return(_PyExpat_XML_SetEncoding=Module["_PyExpat_XML_SetEncoding"]=Module["asm"]["PyExpat_XML_SetEncoding"]).apply(null,arguments)};var _PyExpat_XML_ExternalEntityParserCreate=Module["_PyExpat_XML_ExternalEntityParserCreate"]=function(){return(_PyExpat_XML_ExternalEntityParserCreate=Module["_PyExpat_XML_ExternalEntityParserCreate"]=Module["asm"]["PyExpat_XML_ExternalEntityParserCreate"]).apply(null,arguments)};var _PyExpat_XmlPrologStateInitExternalEntity=Module["_PyExpat_XmlPrologStateInitExternalEntity"]=function(){return(_PyExpat_XmlPrologStateInitExternalEntity=Module["_PyExpat_XmlPrologStateInitExternalEntity"]=Module["asm"]["PyExpat_XmlPrologStateInitExternalEntity"]).apply(null,arguments)};var _PyExpat_XmlInitEncodingNS=Module["_PyExpat_XmlInitEncodingNS"]=function(){return(_PyExpat_XmlInitEncodingNS=Module["_PyExpat_XmlInitEncodingNS"]=Module["asm"]["PyExpat_XmlInitEncodingNS"]).apply(null,arguments)};var _PyExpat_XML_UseParserAsHandlerArg=Module["_PyExpat_XML_UseParserAsHandlerArg"]=function(){return(_PyExpat_XML_UseParserAsHandlerArg=Module["_PyExpat_XML_UseParserAsHandlerArg"]=Module["asm"]["PyExpat_XML_UseParserAsHandlerArg"]).apply(null,arguments)};var _PyExpat_XML_UseForeignDTD=Module["_PyExpat_XML_UseForeignDTD"]=function(){return(_PyExpat_XML_UseForeignDTD=Module["_PyExpat_XML_UseForeignDTD"]=Module["asm"]["PyExpat_XML_UseForeignDTD"]).apply(null,arguments)};var _PyExpat_XML_SetReturnNSTriplet=Module["_PyExpat_XML_SetReturnNSTriplet"]=function(){return(_PyExpat_XML_SetReturnNSTriplet=Module["_PyExpat_XML_SetReturnNSTriplet"]=Module["asm"]["PyExpat_XML_SetReturnNSTriplet"]).apply(null,arguments)};var _PyExpat_XML_SetUserData=Module["_PyExpat_XML_SetUserData"]=function(){return(_PyExpat_XML_SetUserData=Module["_PyExpat_XML_SetUserData"]=Module["asm"]["PyExpat_XML_SetUserData"]).apply(null,arguments)};var _PyExpat_XML_SetBase=Module["_PyExpat_XML_SetBase"]=function(){return(_PyExpat_XML_SetBase=Module["_PyExpat_XML_SetBase"]=Module["asm"]["PyExpat_XML_SetBase"]).apply(null,arguments)};var _PyExpat_XML_GetBase=Module["_PyExpat_XML_GetBase"]=function(){return(_PyExpat_XML_GetBase=Module["_PyExpat_XML_GetBase"]=Module["asm"]["PyExpat_XML_GetBase"]).apply(null,arguments)};var _PyExpat_XML_GetSpecifiedAttributeCount=Module["_PyExpat_XML_GetSpecifiedAttributeCount"]=function(){return(_PyExpat_XML_GetSpecifiedAttributeCount=Module["_PyExpat_XML_GetSpecifiedAttributeCount"]=Module["asm"]["PyExpat_XML_GetSpecifiedAttributeCount"]).apply(null,arguments)};var _PyExpat_XML_GetIdAttributeIndex=Module["_PyExpat_XML_GetIdAttributeIndex"]=function(){return(_PyExpat_XML_GetIdAttributeIndex=Module["_PyExpat_XML_GetIdAttributeIndex"]=Module["asm"]["PyExpat_XML_GetIdAttributeIndex"]).apply(null,arguments)};var _PyExpat_XML_SetElementHandler=Module["_PyExpat_XML_SetElementHandler"]=function(){return(_PyExpat_XML_SetElementHandler=Module["_PyExpat_XML_SetElementHandler"]=Module["asm"]["PyExpat_XML_SetElementHandler"]).apply(null,arguments)};var _PyExpat_XML_SetStartElementHandler=Module["_PyExpat_XML_SetStartElementHandler"]=function(){return(_PyExpat_XML_SetStartElementHandler=Module["_PyExpat_XML_SetStartElementHandler"]=Module["asm"]["PyExpat_XML_SetStartElementHandler"]).apply(null,arguments)};var _PyExpat_XML_SetEndElementHandler=Module["_PyExpat_XML_SetEndElementHandler"]=function(){return(_PyExpat_XML_SetEndElementHandler=Module["_PyExpat_XML_SetEndElementHandler"]=Module["asm"]["PyExpat_XML_SetEndElementHandler"]).apply(null,arguments)};var _PyExpat_XML_SetCharacterDataHandler=Module["_PyExpat_XML_SetCharacterDataHandler"]=function(){return(_PyExpat_XML_SetCharacterDataHandler=Module["_PyExpat_XML_SetCharacterDataHandler"]=Module["asm"]["PyExpat_XML_SetCharacterDataHandler"]).apply(null,arguments)};var _PyExpat_XML_SetProcessingInstructionHandler=Module["_PyExpat_XML_SetProcessingInstructionHandler"]=function(){return(_PyExpat_XML_SetProcessingInstructionHandler=Module["_PyExpat_XML_SetProcessingInstructionHandler"]=Module["asm"]["PyExpat_XML_SetProcessingInstructionHandler"]).apply(null,arguments)};var _PyExpat_XML_SetCommentHandler=Module["_PyExpat_XML_SetCommentHandler"]=function(){return(_PyExpat_XML_SetCommentHandler=Module["_PyExpat_XML_SetCommentHandler"]=Module["asm"]["PyExpat_XML_SetCommentHandler"]).apply(null,arguments)};var _PyExpat_XML_SetCdataSectionHandler=Module["_PyExpat_XML_SetCdataSectionHandler"]=function(){return(_PyExpat_XML_SetCdataSectionHandler=Module["_PyExpat_XML_SetCdataSectionHandler"]=Module["asm"]["PyExpat_XML_SetCdataSectionHandler"]).apply(null,arguments)};var _PyExpat_XML_SetStartCdataSectionHandler=Module["_PyExpat_XML_SetStartCdataSectionHandler"]=function(){return(_PyExpat_XML_SetStartCdataSectionHandler=Module["_PyExpat_XML_SetStartCdataSectionHandler"]=Module["asm"]["PyExpat_XML_SetStartCdataSectionHandler"]).apply(null,arguments)};var _PyExpat_XML_SetEndCdataSectionHandler=Module["_PyExpat_XML_SetEndCdataSectionHandler"]=function(){return(_PyExpat_XML_SetEndCdataSectionHandler=Module["_PyExpat_XML_SetEndCdataSectionHandler"]=Module["asm"]["PyExpat_XML_SetEndCdataSectionHandler"]).apply(null,arguments)};var _PyExpat_XML_SetDefaultHandler=Module["_PyExpat_XML_SetDefaultHandler"]=function(){return(_PyExpat_XML_SetDefaultHandler=Module["_PyExpat_XML_SetDefaultHandler"]=Module["asm"]["PyExpat_XML_SetDefaultHandler"]).apply(null,arguments)};var _PyExpat_XML_SetDefaultHandlerExpand=Module["_PyExpat_XML_SetDefaultHandlerExpand"]=function(){return(_PyExpat_XML_SetDefaultHandlerExpand=Module["_PyExpat_XML_SetDefaultHandlerExpand"]=Module["asm"]["PyExpat_XML_SetDefaultHandlerExpand"]).apply(null,arguments)};var _PyExpat_XML_SetDoctypeDeclHandler=Module["_PyExpat_XML_SetDoctypeDeclHandler"]=function(){return(_PyExpat_XML_SetDoctypeDeclHandler=Module["_PyExpat_XML_SetDoctypeDeclHandler"]=Module["asm"]["PyExpat_XML_SetDoctypeDeclHandler"]).apply(null,arguments)};var _PyExpat_XML_SetStartDoctypeDeclHandler=Module["_PyExpat_XML_SetStartDoctypeDeclHandler"]=function(){return(_PyExpat_XML_SetStartDoctypeDeclHandler=Module["_PyExpat_XML_SetStartDoctypeDeclHandler"]=Module["asm"]["PyExpat_XML_SetStartDoctypeDeclHandler"]).apply(null,arguments)};var _PyExpat_XML_SetEndDoctypeDeclHandler=Module["_PyExpat_XML_SetEndDoctypeDeclHandler"]=function(){return(_PyExpat_XML_SetEndDoctypeDeclHandler=Module["_PyExpat_XML_SetEndDoctypeDeclHandler"]=Module["asm"]["PyExpat_XML_SetEndDoctypeDeclHandler"]).apply(null,arguments)};var _PyExpat_XML_SetUnparsedEntityDeclHandler=Module["_PyExpat_XML_SetUnparsedEntityDeclHandler"]=function(){return(_PyExpat_XML_SetUnparsedEntityDeclHandler=Module["_PyExpat_XML_SetUnparsedEntityDeclHandler"]=Module["asm"]["PyExpat_XML_SetUnparsedEntityDeclHandler"]).apply(null,arguments)};var _PyExpat_XML_SetNotationDeclHandler=Module["_PyExpat_XML_SetNotationDeclHandler"]=function(){return(_PyExpat_XML_SetNotationDeclHandler=Module["_PyExpat_XML_SetNotationDeclHandler"]=Module["asm"]["PyExpat_XML_SetNotationDeclHandler"]).apply(null,arguments)};var _PyExpat_XML_SetNamespaceDeclHandler=Module["_PyExpat_XML_SetNamespaceDeclHandler"]=function(){return(_PyExpat_XML_SetNamespaceDeclHandler=Module["_PyExpat_XML_SetNamespaceDeclHandler"]=Module["asm"]["PyExpat_XML_SetNamespaceDeclHandler"]).apply(null,arguments)};var _PyExpat_XML_SetStartNamespaceDeclHandler=Module["_PyExpat_XML_SetStartNamespaceDeclHandler"]=function(){return(_PyExpat_XML_SetStartNamespaceDeclHandler=Module["_PyExpat_XML_SetStartNamespaceDeclHandler"]=Module["asm"]["PyExpat_XML_SetStartNamespaceDeclHandler"]).apply(null,arguments)};var _PyExpat_XML_SetEndNamespaceDeclHandler=Module["_PyExpat_XML_SetEndNamespaceDeclHandler"]=function(){return(_PyExpat_XML_SetEndNamespaceDeclHandler=Module["_PyExpat_XML_SetEndNamespaceDeclHandler"]=Module["asm"]["PyExpat_XML_SetEndNamespaceDeclHandler"]).apply(null,arguments)};var _PyExpat_XML_SetNotStandaloneHandler=Module["_PyExpat_XML_SetNotStandaloneHandler"]=function(){return(_PyExpat_XML_SetNotStandaloneHandler=Module["_PyExpat_XML_SetNotStandaloneHandler"]=Module["asm"]["PyExpat_XML_SetNotStandaloneHandler"]).apply(null,arguments)};var _PyExpat_XML_SetExternalEntityRefHandler=Module["_PyExpat_XML_SetExternalEntityRefHandler"]=function(){return(_PyExpat_XML_SetExternalEntityRefHandler=Module["_PyExpat_XML_SetExternalEntityRefHandler"]=Module["asm"]["PyExpat_XML_SetExternalEntityRefHandler"]).apply(null,arguments)};var _PyExpat_XML_SetExternalEntityRefHandlerArg=Module["_PyExpat_XML_SetExternalEntityRefHandlerArg"]=function(){return(_PyExpat_XML_SetExternalEntityRefHandlerArg=Module["_PyExpat_XML_SetExternalEntityRefHandlerArg"]=Module["asm"]["PyExpat_XML_SetExternalEntityRefHandlerArg"]).apply(null,arguments)};var _PyExpat_XML_SetSkippedEntityHandler=Module["_PyExpat_XML_SetSkippedEntityHandler"]=function(){return(_PyExpat_XML_SetSkippedEntityHandler=Module["_PyExpat_XML_SetSkippedEntityHandler"]=Module["asm"]["PyExpat_XML_SetSkippedEntityHandler"]).apply(null,arguments)};var _PyExpat_XML_SetUnknownEncodingHandler=Module["_PyExpat_XML_SetUnknownEncodingHandler"]=function(){return(_PyExpat_XML_SetUnknownEncodingHandler=Module["_PyExpat_XML_SetUnknownEncodingHandler"]=Module["asm"]["PyExpat_XML_SetUnknownEncodingHandler"]).apply(null,arguments)};var _PyExpat_XML_SetElementDeclHandler=Module["_PyExpat_XML_SetElementDeclHandler"]=function(){return(_PyExpat_XML_SetElementDeclHandler=Module["_PyExpat_XML_SetElementDeclHandler"]=Module["asm"]["PyExpat_XML_SetElementDeclHandler"]).apply(null,arguments)};var _PyExpat_XML_SetAttlistDeclHandler=Module["_PyExpat_XML_SetAttlistDeclHandler"]=function(){return(_PyExpat_XML_SetAttlistDeclHandler=Module["_PyExpat_XML_SetAttlistDeclHandler"]=Module["asm"]["PyExpat_XML_SetAttlistDeclHandler"]).apply(null,arguments)};var _PyExpat_XML_SetEntityDeclHandler=Module["_PyExpat_XML_SetEntityDeclHandler"]=function(){return(_PyExpat_XML_SetEntityDeclHandler=Module["_PyExpat_XML_SetEntityDeclHandler"]=Module["asm"]["PyExpat_XML_SetEntityDeclHandler"]).apply(null,arguments)};var _PyExpat_XML_SetXmlDeclHandler=Module["_PyExpat_XML_SetXmlDeclHandler"]=function(){return(_PyExpat_XML_SetXmlDeclHandler=Module["_PyExpat_XML_SetXmlDeclHandler"]=Module["asm"]["PyExpat_XML_SetXmlDeclHandler"]).apply(null,arguments)};var _PyExpat_XML_SetParamEntityParsing=Module["_PyExpat_XML_SetParamEntityParsing"]=function(){return(_PyExpat_XML_SetParamEntityParsing=Module["_PyExpat_XML_SetParamEntityParsing"]=Module["asm"]["PyExpat_XML_SetParamEntityParsing"]).apply(null,arguments)};var _PyExpat_XML_SetHashSalt=Module["_PyExpat_XML_SetHashSalt"]=function(){return(_PyExpat_XML_SetHashSalt=Module["_PyExpat_XML_SetHashSalt"]=Module["asm"]["PyExpat_XML_SetHashSalt"]).apply(null,arguments)};var _PyExpat_XML_Parse=Module["_PyExpat_XML_Parse"]=function(){return(_PyExpat_XML_Parse=Module["_PyExpat_XML_Parse"]=Module["asm"]["PyExpat_XML_Parse"]).apply(null,arguments)};var _PyExpat_XML_GetBuffer=Module["_PyExpat_XML_GetBuffer"]=function(){return(_PyExpat_XML_GetBuffer=Module["_PyExpat_XML_GetBuffer"]=Module["asm"]["PyExpat_XML_GetBuffer"]).apply(null,arguments)};var _PyExpat_XML_ParseBuffer=Module["_PyExpat_XML_ParseBuffer"]=function(){return(_PyExpat_XML_ParseBuffer=Module["_PyExpat_XML_ParseBuffer"]=Module["asm"]["PyExpat_XML_ParseBuffer"]).apply(null,arguments)};var _PyExpat_XML_StopParser=Module["_PyExpat_XML_StopParser"]=function(){return(_PyExpat_XML_StopParser=Module["_PyExpat_XML_StopParser"]=Module["asm"]["PyExpat_XML_StopParser"]).apply(null,arguments)};var _PyExpat_XML_ResumeParser=Module["_PyExpat_XML_ResumeParser"]=function(){return(_PyExpat_XML_ResumeParser=Module["_PyExpat_XML_ResumeParser"]=Module["asm"]["PyExpat_XML_ResumeParser"]).apply(null,arguments)};var _PyExpat_XML_GetParsingStatus=Module["_PyExpat_XML_GetParsingStatus"]=function(){return(_PyExpat_XML_GetParsingStatus=Module["_PyExpat_XML_GetParsingStatus"]=Module["asm"]["PyExpat_XML_GetParsingStatus"]).apply(null,arguments)};var _PyExpat_XML_GetErrorCode=Module["_PyExpat_XML_GetErrorCode"]=function(){return(_PyExpat_XML_GetErrorCode=Module["_PyExpat_XML_GetErrorCode"]=Module["asm"]["PyExpat_XML_GetErrorCode"]).apply(null,arguments)};var _PyExpat_XML_GetCurrentByteIndex=Module["_PyExpat_XML_GetCurrentByteIndex"]=function(){return(_PyExpat_XML_GetCurrentByteIndex=Module["_PyExpat_XML_GetCurrentByteIndex"]=Module["asm"]["PyExpat_XML_GetCurrentByteIndex"]).apply(null,arguments)};var _PyExpat_XML_GetCurrentByteCount=Module["_PyExpat_XML_GetCurrentByteCount"]=function(){return(_PyExpat_XML_GetCurrentByteCount=Module["_PyExpat_XML_GetCurrentByteCount"]=Module["asm"]["PyExpat_XML_GetCurrentByteCount"]).apply(null,arguments)};var _PyExpat_XML_GetInputContext=Module["_PyExpat_XML_GetInputContext"]=function(){return(_PyExpat_XML_GetInputContext=Module["_PyExpat_XML_GetInputContext"]=Module["asm"]["PyExpat_XML_GetInputContext"]).apply(null,arguments)};var _PyExpat_XML_GetCurrentLineNumber=Module["_PyExpat_XML_GetCurrentLineNumber"]=function(){return(_PyExpat_XML_GetCurrentLineNumber=Module["_PyExpat_XML_GetCurrentLineNumber"]=Module["asm"]["PyExpat_XML_GetCurrentLineNumber"]).apply(null,arguments)};var _PyExpat_XML_GetCurrentColumnNumber=Module["_PyExpat_XML_GetCurrentColumnNumber"]=function(){return(_PyExpat_XML_GetCurrentColumnNumber=Module["_PyExpat_XML_GetCurrentColumnNumber"]=Module["asm"]["PyExpat_XML_GetCurrentColumnNumber"]).apply(null,arguments)};var _PyExpat_XML_FreeContentModel=Module["_PyExpat_XML_FreeContentModel"]=function(){return(_PyExpat_XML_FreeContentModel=Module["_PyExpat_XML_FreeContentModel"]=Module["asm"]["PyExpat_XML_FreeContentModel"]).apply(null,arguments)};var _PyExpat_XML_MemMalloc=Module["_PyExpat_XML_MemMalloc"]=function(){return(_PyExpat_XML_MemMalloc=Module["_PyExpat_XML_MemMalloc"]=Module["asm"]["PyExpat_XML_MemMalloc"]).apply(null,arguments)};var _PyExpat_XML_MemRealloc=Module["_PyExpat_XML_MemRealloc"]=function(){return(_PyExpat_XML_MemRealloc=Module["_PyExpat_XML_MemRealloc"]=Module["asm"]["PyExpat_XML_MemRealloc"]).apply(null,arguments)};var _PyExpat_XML_MemFree=Module["_PyExpat_XML_MemFree"]=function(){return(_PyExpat_XML_MemFree=Module["_PyExpat_XML_MemFree"]=Module["asm"]["PyExpat_XML_MemFree"]).apply(null,arguments)};var _PyExpat_XML_DefaultCurrent=Module["_PyExpat_XML_DefaultCurrent"]=function(){return(_PyExpat_XML_DefaultCurrent=Module["_PyExpat_XML_DefaultCurrent"]=Module["asm"]["PyExpat_XML_DefaultCurrent"]).apply(null,arguments)};var _PyExpat_XML_ErrorString=Module["_PyExpat_XML_ErrorString"]=function(){return(_PyExpat_XML_ErrorString=Module["_PyExpat_XML_ErrorString"]=Module["asm"]["PyExpat_XML_ErrorString"]).apply(null,arguments)};var _PyExpat_XML_ExpatVersion=Module["_PyExpat_XML_ExpatVersion"]=function(){return(_PyExpat_XML_ExpatVersion=Module["_PyExpat_XML_ExpatVersion"]=Module["asm"]["PyExpat_XML_ExpatVersion"]).apply(null,arguments)};var _PyExpat_XML_ExpatVersionInfo=Module["_PyExpat_XML_ExpatVersionInfo"]=function(){return(_PyExpat_XML_ExpatVersionInfo=Module["_PyExpat_XML_ExpatVersionInfo"]=Module["asm"]["PyExpat_XML_ExpatVersionInfo"]).apply(null,arguments)};var _PyExpat_XML_GetFeatureList=Module["_PyExpat_XML_GetFeatureList"]=function(){return(_PyExpat_XML_GetFeatureList=Module["_PyExpat_XML_GetFeatureList"]=Module["asm"]["PyExpat_XML_GetFeatureList"]).apply(null,arguments)};var _XML_SetBillionLaughsAttackProtectionMaximumAmplification=Module["_XML_SetBillionLaughsAttackProtectionMaximumAmplification"]=function(){return(_XML_SetBillionLaughsAttackProtectionMaximumAmplification=Module["_XML_SetBillionLaughsAttackProtectionMaximumAmplification"]=Module["asm"]["XML_SetBillionLaughsAttackProtectionMaximumAmplification"]).apply(null,arguments)};var _XML_SetBillionLaughsAttackProtectionActivationThreshold=Module["_XML_SetBillionLaughsAttackProtectionActivationThreshold"]=function(){return(_XML_SetBillionLaughsAttackProtectionActivationThreshold=Module["_XML_SetBillionLaughsAttackProtectionActivationThreshold"]=Module["asm"]["XML_SetBillionLaughsAttackProtectionActivationThreshold"]).apply(null,arguments)};var _testingAccountingGetCountBytesDirect=Module["_testingAccountingGetCountBytesDirect"]=function(){return(_testingAccountingGetCountBytesDirect=Module["_testingAccountingGetCountBytesDirect"]=Module["asm"]["testingAccountingGetCountBytesDirect"]).apply(null,arguments)};var _testingAccountingGetCountBytesIndirect=Module["_testingAccountingGetCountBytesIndirect"]=function(){return(_testingAccountingGetCountBytesIndirect=Module["_testingAccountingGetCountBytesIndirect"]=Module["asm"]["testingAccountingGetCountBytesIndirect"]).apply(null,arguments)};var _unsignedCharToPrintable=Module["_unsignedCharToPrintable"]=function(){return(_unsignedCharToPrintable=Module["_unsignedCharToPrintable"]=Module["asm"]["unsignedCharToPrintable"]).apply(null,arguments)};var _PyExpat_XmlSizeOfUnknownEncoding=Module["_PyExpat_XmlSizeOfUnknownEncoding"]=function(){return(_PyExpat_XmlSizeOfUnknownEncoding=Module["_PyExpat_XmlSizeOfUnknownEncoding"]=Module["asm"]["PyExpat_XmlSizeOfUnknownEncoding"]).apply(null,arguments)};var _PyExpat_XmlInitUnknownEncoding=Module["_PyExpat_XmlInitUnknownEncoding"]=function(){return(_PyExpat_XmlInitUnknownEncoding=Module["_PyExpat_XmlInitUnknownEncoding"]=Module["asm"]["PyExpat_XmlInitUnknownEncoding"]).apply(null,arguments)};var _PyExpat_XmlInitUnknownEncodingNS=Module["_PyExpat_XmlInitUnknownEncodingNS"]=function(){return(_PyExpat_XmlInitUnknownEncodingNS=Module["_PyExpat_XmlInitUnknownEncodingNS"]=Module["asm"]["PyExpat_XmlInitUnknownEncodingNS"]).apply(null,arguments)};var ___small_fprintf=Module["___small_fprintf"]=function(){return(___small_fprintf=Module["___small_fprintf"]=Module["asm"]["__small_fprintf"]).apply(null,arguments)};var _PyExpat_XmlParseXmlDecl=Module["_PyExpat_XmlParseXmlDecl"]=function(){return(_PyExpat_XmlParseXmlDecl=Module["_PyExpat_XmlParseXmlDecl"]=Module["asm"]["PyExpat_XmlParseXmlDecl"]).apply(null,arguments)};var _PyExpat_XmlParseXmlDeclNS=Module["_PyExpat_XmlParseXmlDeclNS"]=function(){return(_PyExpat_XmlParseXmlDeclNS=Module["_PyExpat_XmlParseXmlDeclNS"]=Module["asm"]["PyExpat_XmlParseXmlDeclNS"]).apply(null,arguments)};var _PyExpat_XmlUtf8Encode=Module["_PyExpat_XmlUtf8Encode"]=function(){return(_PyExpat_XmlUtf8Encode=Module["_PyExpat_XmlUtf8Encode"]=Module["asm"]["PyExpat_XmlUtf8Encode"]).apply(null,arguments)};var __INTERNAL_trim_to_complete_utf8_characters=Module["__INTERNAL_trim_to_complete_utf8_characters"]=function(){return(__INTERNAL_trim_to_complete_utf8_characters=Module["__INTERNAL_trim_to_complete_utf8_characters"]=Module["asm"]["_INTERNAL_trim_to_complete_utf8_characters"]).apply(null,arguments)};var _PyExpat_XmlUtf16Encode=Module["_PyExpat_XmlUtf16Encode"]=function(){return(_PyExpat_XmlUtf16Encode=Module["_PyExpat_XmlUtf16Encode"]=Module["asm"]["PyExpat_XmlUtf16Encode"]).apply(null,arguments)};var _PyExpat_XmlGetUtf16InternalEncoding=Module["_PyExpat_XmlGetUtf16InternalEncoding"]=function(){return(_PyExpat_XmlGetUtf16InternalEncoding=Module["_PyExpat_XmlGetUtf16InternalEncoding"]=Module["asm"]["PyExpat_XmlGetUtf16InternalEncoding"]).apply(null,arguments)};var _PyExpat_XmlGetUtf16InternalEncodingNS=Module["_PyExpat_XmlGetUtf16InternalEncodingNS"]=function(){return(_PyExpat_XmlGetUtf16InternalEncodingNS=Module["_PyExpat_XmlGetUtf16InternalEncodingNS"]=Module["asm"]["PyExpat_XmlGetUtf16InternalEncodingNS"]).apply(null,arguments)};var __PySHA3_Keccak_HashInitialize=Module["__PySHA3_Keccak_HashInitialize"]=function(){return(__PySHA3_Keccak_HashInitialize=Module["__PySHA3_Keccak_HashInitialize"]=Module["asm"]["_PySHA3_Keccak_HashInitialize"]).apply(null,arguments)};var __PySHA3_KeccakWidth1600_SpongeInitialize=Module["__PySHA3_KeccakWidth1600_SpongeInitialize"]=function(){return(__PySHA3_KeccakWidth1600_SpongeInitialize=Module["__PySHA3_KeccakWidth1600_SpongeInitialize"]=Module["asm"]["_PySHA3_KeccakWidth1600_SpongeInitialize"]).apply(null,arguments)};var __PySHA3_Keccak_HashUpdate=Module["__PySHA3_Keccak_HashUpdate"]=function(){return(__PySHA3_Keccak_HashUpdate=Module["__PySHA3_Keccak_HashUpdate"]=Module["asm"]["_PySHA3_Keccak_HashUpdate"]).apply(null,arguments)};var __PySHA3_KeccakWidth1600_SpongeAbsorb=Module["__PySHA3_KeccakWidth1600_SpongeAbsorb"]=function(){return(__PySHA3_KeccakWidth1600_SpongeAbsorb=Module["__PySHA3_KeccakWidth1600_SpongeAbsorb"]=Module["asm"]["_PySHA3_KeccakWidth1600_SpongeAbsorb"]).apply(null,arguments)};var __PySHA3_KeccakP1600_AddBytes=Module["__PySHA3_KeccakP1600_AddBytes"]=function(){return(__PySHA3_KeccakP1600_AddBytes=Module["__PySHA3_KeccakP1600_AddBytes"]=Module["asm"]["_PySHA3_KeccakP1600_AddBytes"]).apply(null,arguments)};var __PySHA3_KeccakP1600_Permute_Nrounds=Module["__PySHA3_KeccakP1600_Permute_Nrounds"]=function(){return(__PySHA3_KeccakP1600_Permute_Nrounds=Module["__PySHA3_KeccakP1600_Permute_Nrounds"]=Module["asm"]["_PySHA3_KeccakP1600_Permute_Nrounds"]).apply(null,arguments)};var __PySHA3_Keccak_HashFinal=Module["__PySHA3_Keccak_HashFinal"]=function(){return(__PySHA3_Keccak_HashFinal=Module["__PySHA3_Keccak_HashFinal"]=Module["asm"]["_PySHA3_Keccak_HashFinal"]).apply(null,arguments)};var __PySHA3_KeccakWidth1600_SpongeAbsorbLastFewBits=Module["__PySHA3_KeccakWidth1600_SpongeAbsorbLastFewBits"]=function(){return(__PySHA3_KeccakWidth1600_SpongeAbsorbLastFewBits=Module["__PySHA3_KeccakWidth1600_SpongeAbsorbLastFewBits"]=Module["asm"]["_PySHA3_KeccakWidth1600_SpongeAbsorbLastFewBits"]).apply(null,arguments)};var __PySHA3_KeccakWidth1600_SpongeSqueeze=Module["__PySHA3_KeccakWidth1600_SpongeSqueeze"]=function(){return(__PySHA3_KeccakWidth1600_SpongeSqueeze=Module["__PySHA3_KeccakWidth1600_SpongeSqueeze"]=Module["asm"]["_PySHA3_KeccakWidth1600_SpongeSqueeze"]).apply(null,arguments)};var __PySHA3_KeccakP1600_ExtractBytes=Module["__PySHA3_KeccakP1600_ExtractBytes"]=function(){return(__PySHA3_KeccakP1600_ExtractBytes=Module["__PySHA3_KeccakP1600_ExtractBytes"]=Module["asm"]["_PySHA3_KeccakP1600_ExtractBytes"]).apply(null,arguments)};var __PySHA3_Keccak_HashSqueeze=Module["__PySHA3_Keccak_HashSqueeze"]=function(){return(__PySHA3_Keccak_HashSqueeze=Module["__PySHA3_Keccak_HashSqueeze"]=Module["asm"]["_PySHA3_Keccak_HashSqueeze"]).apply(null,arguments)};var __PySHA3_KeccakWidth1600_Sponge=Module["__PySHA3_KeccakWidth1600_Sponge"]=function(){return(__PySHA3_KeccakWidth1600_Sponge=Module["__PySHA3_KeccakWidth1600_Sponge"]=Module["asm"]["_PySHA3_KeccakWidth1600_Sponge"]).apply(null,arguments)};var __PySHA3_KeccakP1600_Initialize=Module["__PySHA3_KeccakP1600_Initialize"]=function(){return(__PySHA3_KeccakP1600_Initialize=Module["__PySHA3_KeccakP1600_Initialize"]=Module["asm"]["_PySHA3_KeccakP1600_Initialize"]).apply(null,arguments)};var __PySHA3_KeccakP1600_AddLanes=Module["__PySHA3_KeccakP1600_AddLanes"]=function(){return(__PySHA3_KeccakP1600_AddLanes=Module["__PySHA3_KeccakP1600_AddLanes"]=Module["asm"]["_PySHA3_KeccakP1600_AddLanes"]).apply(null,arguments)};var __PySHA3_KeccakP1600_Permute_24rounds=Module["__PySHA3_KeccakP1600_Permute_24rounds"]=function(){return(__PySHA3_KeccakP1600_Permute_24rounds=Module["__PySHA3_KeccakP1600_Permute_24rounds"]=Module["asm"]["_PySHA3_KeccakP1600_Permute_24rounds"]).apply(null,arguments)};var __PySHA3_KeccakP1600_AddByte=Module["__PySHA3_KeccakP1600_AddByte"]=function(){return(__PySHA3_KeccakP1600_AddByte=Module["__PySHA3_KeccakP1600_AddByte"]=Module["asm"]["_PySHA3_KeccakP1600_AddByte"]).apply(null,arguments)};var __PySHA3_KeccakP1600_ExtractLanes=Module["__PySHA3_KeccakP1600_ExtractLanes"]=function(){return(__PySHA3_KeccakP1600_ExtractLanes=Module["__PySHA3_KeccakP1600_ExtractLanes"]=Module["asm"]["_PySHA3_KeccakP1600_ExtractLanes"]).apply(null,arguments)};var __PySHA3_KeccakP1600_SetBytesInLaneToZero=Module["__PySHA3_KeccakP1600_SetBytesInLaneToZero"]=function(){return(__PySHA3_KeccakP1600_SetBytesInLaneToZero=Module["__PySHA3_KeccakP1600_SetBytesInLaneToZero"]=Module["asm"]["_PySHA3_KeccakP1600_SetBytesInLaneToZero"]).apply(null,arguments)};var __PySHA3_KeccakP1600_AddBytesInLane=Module["__PySHA3_KeccakP1600_AddBytesInLane"]=function(){return(__PySHA3_KeccakP1600_AddBytesInLane=Module["__PySHA3_KeccakP1600_AddBytesInLane"]=Module["asm"]["_PySHA3_KeccakP1600_AddBytesInLane"]).apply(null,arguments)};var __PySHA3_KeccakP1600_OverwriteBytesInLane=Module["__PySHA3_KeccakP1600_OverwriteBytesInLane"]=function(){return(__PySHA3_KeccakP1600_OverwriteBytesInLane=Module["__PySHA3_KeccakP1600_OverwriteBytesInLane"]=Module["asm"]["_PySHA3_KeccakP1600_OverwriteBytesInLane"]).apply(null,arguments)};var __PySHA3_KeccakP1600_OverwriteLanes=Module["__PySHA3_KeccakP1600_OverwriteLanes"]=function(){return(__PySHA3_KeccakP1600_OverwriteLanes=Module["__PySHA3_KeccakP1600_OverwriteLanes"]=Module["asm"]["_PySHA3_KeccakP1600_OverwriteLanes"]).apply(null,arguments)};var __PySHA3_KeccakP1600_OverwriteBytes=Module["__PySHA3_KeccakP1600_OverwriteBytes"]=function(){return(__PySHA3_KeccakP1600_OverwriteBytes=Module["__PySHA3_KeccakP1600_OverwriteBytes"]=Module["asm"]["_PySHA3_KeccakP1600_OverwriteBytes"]).apply(null,arguments)};var __PySHA3_KeccakP1600_OverwriteWithZeroes=Module["__PySHA3_KeccakP1600_OverwriteWithZeroes"]=function(){return(__PySHA3_KeccakP1600_OverwriteWithZeroes=Module["__PySHA3_KeccakP1600_OverwriteWithZeroes"]=Module["asm"]["_PySHA3_KeccakP1600_OverwriteWithZeroes"]).apply(null,arguments)};var __PySHA3_KeccakP1600_ExtractBytesInLane=Module["__PySHA3_KeccakP1600_ExtractBytesInLane"]=function(){return(__PySHA3_KeccakP1600_ExtractBytesInLane=Module["__PySHA3_KeccakP1600_ExtractBytesInLane"]=Module["asm"]["_PySHA3_KeccakP1600_ExtractBytesInLane"]).apply(null,arguments)};var __PySHA3_KeccakP1600_ExtractAndAddBytesInLane=Module["__PySHA3_KeccakP1600_ExtractAndAddBytesInLane"]=function(){return(__PySHA3_KeccakP1600_ExtractAndAddBytesInLane=Module["__PySHA3_KeccakP1600_ExtractAndAddBytesInLane"]=Module["asm"]["_PySHA3_KeccakP1600_ExtractAndAddBytesInLane"]).apply(null,arguments)};var __PySHA3_KeccakP1600_ExtractAndAddLanes=Module["__PySHA3_KeccakP1600_ExtractAndAddLanes"]=function(){return(__PySHA3_KeccakP1600_ExtractAndAddLanes=Module["__PySHA3_KeccakP1600_ExtractAndAddLanes"]=Module["asm"]["_PySHA3_KeccakP1600_ExtractAndAddLanes"]).apply(null,arguments)};var __PySHA3_KeccakP1600_ExtractAndAddBytes=Module["__PySHA3_KeccakP1600_ExtractAndAddBytes"]=function(){return(__PySHA3_KeccakP1600_ExtractAndAddBytes=Module["__PySHA3_KeccakP1600_ExtractAndAddBytes"]=Module["asm"]["_PySHA3_KeccakP1600_ExtractAndAddBytes"]).apply(null,arguments)};var __PySHA3_KeccakP1600_Permute_12rounds=Module["__PySHA3_KeccakP1600_Permute_12rounds"]=function(){return(__PySHA3_KeccakP1600_Permute_12rounds=Module["__PySHA3_KeccakP1600_Permute_12rounds"]=Module["asm"]["_PySHA3_KeccakP1600_Permute_12rounds"]).apply(null,arguments)};var _PyBlake2_blake2b_init_param=Module["_PyBlake2_blake2b_init_param"]=function(){return(_PyBlake2_blake2b_init_param=Module["_PyBlake2_blake2b_init_param"]=Module["asm"]["PyBlake2_blake2b_init_param"]).apply(null,arguments)};var _PyBlake2_blake2b_init=Module["_PyBlake2_blake2b_init"]=function(){return(_PyBlake2_blake2b_init=Module["_PyBlake2_blake2b_init"]=Module["asm"]["PyBlake2_blake2b_init"]).apply(null,arguments)};var _PyBlake2_blake2b_init_key=Module["_PyBlake2_blake2b_init_key"]=function(){return(_PyBlake2_blake2b_init_key=Module["_PyBlake2_blake2b_init_key"]=Module["asm"]["PyBlake2_blake2b_init_key"]).apply(null,arguments)};var _PyBlake2_blake2b_update=Module["_PyBlake2_blake2b_update"]=function(){return(_PyBlake2_blake2b_update=Module["_PyBlake2_blake2b_update"]=Module["asm"]["PyBlake2_blake2b_update"]).apply(null,arguments)};var _PyBlake2_blake2b_final=Module["_PyBlake2_blake2b_final"]=function(){return(_PyBlake2_blake2b_final=Module["_PyBlake2_blake2b_final"]=Module["asm"]["PyBlake2_blake2b_final"]).apply(null,arguments)};var _PyBlake2_blake2b=Module["_PyBlake2_blake2b"]=function(){return(_PyBlake2_blake2b=Module["_PyBlake2_blake2b"]=Module["asm"]["PyBlake2_blake2b"]).apply(null,arguments)};var _PyBlake2_blake2s_init_param=Module["_PyBlake2_blake2s_init_param"]=function(){return(_PyBlake2_blake2s_init_param=Module["_PyBlake2_blake2s_init_param"]=Module["asm"]["PyBlake2_blake2s_init_param"]).apply(null,arguments)};var _PyBlake2_blake2s_init=Module["_PyBlake2_blake2s_init"]=function(){return(_PyBlake2_blake2s_init=Module["_PyBlake2_blake2s_init"]=Module["asm"]["PyBlake2_blake2s_init"]).apply(null,arguments)};var _PyBlake2_blake2s_init_key=Module["_PyBlake2_blake2s_init_key"]=function(){return(_PyBlake2_blake2s_init_key=Module["_PyBlake2_blake2s_init_key"]=Module["asm"]["PyBlake2_blake2s_init_key"]).apply(null,arguments)};var _PyBlake2_blake2s_update=Module["_PyBlake2_blake2s_update"]=function(){return(_PyBlake2_blake2s_update=Module["_PyBlake2_blake2s_update"]=Module["asm"]["PyBlake2_blake2s_update"]).apply(null,arguments)};var _PyBlake2_blake2s_final=Module["_PyBlake2_blake2s_final"]=function(){return(_PyBlake2_blake2s_final=Module["_PyBlake2_blake2s_final"]=Module["asm"]["PyBlake2_blake2s_final"]).apply(null,arguments)};var _PyBlake2_blake2s=Module["_PyBlake2_blake2s"]=function(){return(_PyBlake2_blake2s=Module["_PyBlake2_blake2s"]=Module["asm"]["PyBlake2_blake2s"]).apply(null,arguments)};var _pysqlite_cache_get=Module["_pysqlite_cache_get"]=function(){return(_pysqlite_cache_get=Module["_pysqlite_cache_get"]=Module["asm"]["pysqlite_cache_get"]).apply(null,arguments)};var _pysqlite_cache_setup_types=Module["_pysqlite_cache_setup_types"]=function(){return(_pysqlite_cache_setup_types=Module["_pysqlite_cache_setup_types"]=Module["asm"]["pysqlite_cache_setup_types"]).apply(null,arguments)};var _pysqlite_connection_register_cursor=Module["_pysqlite_connection_register_cursor"]=function(){return(_pysqlite_connection_register_cursor=Module["_pysqlite_connection_register_cursor"]=Module["asm"]["pysqlite_connection_register_cursor"]).apply(null,arguments)};var _pysqlite_check_connection=Module["_pysqlite_check_connection"]=function(){return(_pysqlite_check_connection=Module["_pysqlite_check_connection"]=Module["asm"]["pysqlite_check_connection"]).apply(null,arguments)};var __pysqlite_connection_begin=Module["__pysqlite_connection_begin"]=function(){return(__pysqlite_connection_begin=Module["__pysqlite_connection_begin"]=Module["asm"]["_pysqlite_connection_begin"]).apply(null,arguments)};var _sqlite3_prepare_v2=Module["_sqlite3_prepare_v2"]=function(){return(_sqlite3_prepare_v2=Module["_sqlite3_prepare_v2"]=Module["asm"]["sqlite3_prepare_v2"]).apply(null,arguments)};var __pysqlite_seterror=Module["__pysqlite_seterror"]=function(){return(__pysqlite_seterror=Module["__pysqlite_seterror"]=Module["asm"]["_pysqlite_seterror"]).apply(null,arguments)};var _pysqlite_step=Module["_pysqlite_step"]=function(){return(_pysqlite_step=Module["_pysqlite_step"]=Module["asm"]["pysqlite_step"]).apply(null,arguments)};var _sqlite3_finalize=Module["_sqlite3_finalize"]=function(){return(_sqlite3_finalize=Module["_sqlite3_finalize"]=Module["asm"]["sqlite3_finalize"]).apply(null,arguments)};var _pysqlite_check_thread=Module["_pysqlite_check_thread"]=function(){return(_pysqlite_check_thread=Module["_pysqlite_check_thread"]=Module["asm"]["pysqlite_check_thread"]).apply(null,arguments)};var _pysqlite_connection_setup_types=Module["_pysqlite_connection_setup_types"]=function(){return(_pysqlite_connection_setup_types=Module["_pysqlite_connection_setup_types"]=Module["asm"]["pysqlite_connection_setup_types"]).apply(null,arguments)};var _sqlite3_close_v2=Module["_sqlite3_close_v2"]=function(){return(_sqlite3_close_v2=Module["_sqlite3_close_v2"]=Module["asm"]["sqlite3_close_v2"]).apply(null,arguments)};var _sqlite3_open_v2=Module["_sqlite3_open_v2"]=function(){return(_sqlite3_open_v2=Module["_sqlite3_open_v2"]=Module["asm"]["sqlite3_open_v2"]).apply(null,arguments)};var _sqlite3_busy_timeout=Module["_sqlite3_busy_timeout"]=function(){return(_sqlite3_busy_timeout=Module["_sqlite3_busy_timeout"]=Module["asm"]["sqlite3_busy_timeout"]).apply(null,arguments)};var _pysqlite_statement_create=Module["_pysqlite_statement_create"]=function(){return(_pysqlite_statement_create=Module["_pysqlite_statement_create"]=Module["asm"]["pysqlite_statement_create"]).apply(null,arguments)};var _sqlite3_backup_init=Module["_sqlite3_backup_init"]=function(){return(_sqlite3_backup_init=Module["_sqlite3_backup_init"]=Module["asm"]["sqlite3_backup_init"]).apply(null,arguments)};var _sqlite3_backup_step=Module["_sqlite3_backup_step"]=function(){return(_sqlite3_backup_step=Module["_sqlite3_backup_step"]=Module["asm"]["sqlite3_backup_step"]).apply(null,arguments)};var _sqlite3_backup_remaining=Module["_sqlite3_backup_remaining"]=function(){return(_sqlite3_backup_remaining=Module["_sqlite3_backup_remaining"]=Module["asm"]["sqlite3_backup_remaining"]).apply(null,arguments)};var _sqlite3_backup_pagecount=Module["_sqlite3_backup_pagecount"]=function(){return(_sqlite3_backup_pagecount=Module["_sqlite3_backup_pagecount"]=Module["asm"]["sqlite3_backup_pagecount"]).apply(null,arguments)};var _sqlite3_sleep=Module["_sqlite3_sleep"]=function(){return(_sqlite3_sleep=Module["_sqlite3_sleep"]=Module["asm"]["sqlite3_sleep"]).apply(null,arguments)};var _sqlite3_backup_finish=Module["_sqlite3_backup_finish"]=function(){return(_sqlite3_backup_finish=Module["_sqlite3_backup_finish"]=Module["asm"]["sqlite3_backup_finish"]).apply(null,arguments)};var _sqlite3_create_function_v2=Module["_sqlite3_create_function_v2"]=function(){return(_sqlite3_create_function_v2=Module["_sqlite3_create_function_v2"]=Module["asm"]["sqlite3_create_function_v2"]).apply(null,arguments)};var _sqlite3_create_collation=Module["_sqlite3_create_collation"]=function(){return(_sqlite3_create_collation=Module["_sqlite3_create_collation"]=Module["asm"]["sqlite3_create_collation"]).apply(null,arguments)};var _sqlite3_libversion_number=Module["_sqlite3_libversion_number"]=function(){return(_sqlite3_libversion_number=Module["_sqlite3_libversion_number"]=Module["asm"]["sqlite3_libversion_number"]).apply(null,arguments)};var _sqlite3_enable_load_extension=Module["_sqlite3_enable_load_extension"]=function(){return(_sqlite3_enable_load_extension=Module["_sqlite3_enable_load_extension"]=Module["asm"]["sqlite3_enable_load_extension"]).apply(null,arguments)};var _sqlite3_interrupt=Module["_sqlite3_interrupt"]=function(){return(_sqlite3_interrupt=Module["_sqlite3_interrupt"]=Module["asm"]["sqlite3_interrupt"]).apply(null,arguments)};var _sqlite3_load_extension=Module["_sqlite3_load_extension"]=function(){return(_sqlite3_load_extension=Module["_sqlite3_load_extension"]=Module["asm"]["sqlite3_load_extension"]).apply(null,arguments)};var _sqlite3_set_authorizer=Module["_sqlite3_set_authorizer"]=function(){return(_sqlite3_set_authorizer=Module["_sqlite3_set_authorizer"]=Module["asm"]["sqlite3_set_authorizer"]).apply(null,arguments)};var _sqlite3_progress_handler=Module["_sqlite3_progress_handler"]=function(){return(_sqlite3_progress_handler=Module["_sqlite3_progress_handler"]=Module["asm"]["sqlite3_progress_handler"]).apply(null,arguments)};var _sqlite3_trace_v2=Module["_sqlite3_trace_v2"]=function(){return(_sqlite3_trace_v2=Module["_sqlite3_trace_v2"]=Module["asm"]["sqlite3_trace_v2"]).apply(null,arguments)};var _pysqlite_statement_reset=Module["_pysqlite_statement_reset"]=function(){return(_pysqlite_statement_reset=Module["_pysqlite_statement_reset"]=Module["asm"]["pysqlite_statement_reset"]).apply(null,arguments)};var _pysqlite_statement_finalize=Module["_pysqlite_statement_finalize"]=function(){return(_pysqlite_statement_finalize=Module["_pysqlite_statement_finalize"]=Module["asm"]["pysqlite_statement_finalize"]).apply(null,arguments)};var _sqlite3_get_autocommit=Module["_sqlite3_get_autocommit"]=function(){return(_sqlite3_get_autocommit=Module["_sqlite3_get_autocommit"]=Module["asm"]["sqlite3_get_autocommit"]).apply(null,arguments)};var _sqlite3_user_data=Module["_sqlite3_user_data"]=function(){return(_sqlite3_user_data=Module["_sqlite3_user_data"]=Module["asm"]["sqlite3_user_data"]).apply(null,arguments)};var _sqlite3_aggregate_context=Module["_sqlite3_aggregate_context"]=function(){return(_sqlite3_aggregate_context=Module["_sqlite3_aggregate_context"]=Module["asm"]["sqlite3_aggregate_context"]).apply(null,arguments)};var _sqlite3_result_error=Module["_sqlite3_result_error"]=function(){return(_sqlite3_result_error=Module["_sqlite3_result_error"]=Module["asm"]["sqlite3_result_error"]).apply(null,arguments)};var _sqlite3_value_type=Module["_sqlite3_value_type"]=function(){return(_sqlite3_value_type=Module["_sqlite3_value_type"]=Module["asm"]["sqlite3_value_type"]).apply(null,arguments)};var _sqlite3_value_double=Module["_sqlite3_value_double"]=function(){return(_sqlite3_value_double=Module["_sqlite3_value_double"]=Module["asm"]["sqlite3_value_double"]).apply(null,arguments)};var _sqlite3_context_db_handle=Module["_sqlite3_context_db_handle"]=function(){return(_sqlite3_context_db_handle=Module["_sqlite3_context_db_handle"]=Module["asm"]["sqlite3_context_db_handle"]).apply(null,arguments)};var _sqlite3_value_text=Module["_sqlite3_value_text"]=function(){return(_sqlite3_value_text=Module["_sqlite3_value_text"]=Module["asm"]["sqlite3_value_text"]).apply(null,arguments)};var _sqlite3_errcode=Module["_sqlite3_errcode"]=function(){return(_sqlite3_errcode=Module["_sqlite3_errcode"]=Module["asm"]["sqlite3_errcode"]).apply(null,arguments)};var _sqlite3_value_bytes=Module["_sqlite3_value_bytes"]=function(){return(_sqlite3_value_bytes=Module["_sqlite3_value_bytes"]=Module["asm"]["sqlite3_value_bytes"]).apply(null,arguments)};var _sqlite3_value_blob=Module["_sqlite3_value_blob"]=function(){return(_sqlite3_value_blob=Module["_sqlite3_value_blob"]=Module["asm"]["sqlite3_value_blob"]).apply(null,arguments)};var _sqlite3_value_int64=Module["_sqlite3_value_int64"]=function(){return(_sqlite3_value_int64=Module["_sqlite3_value_int64"]=Module["asm"]["sqlite3_value_int64"]).apply(null,arguments)};var _sqlite3_result_null=Module["_sqlite3_result_null"]=function(){return(_sqlite3_result_null=Module["_sqlite3_result_null"]=Module["asm"]["sqlite3_result_null"]).apply(null,arguments)};var __pysqlite_long_as_int64=Module["__pysqlite_long_as_int64"]=function(){return(__pysqlite_long_as_int64=Module["__pysqlite_long_as_int64"]=Module["asm"]["_pysqlite_long_as_int64"]).apply(null,arguments)};var _sqlite3_result_int64=Module["_sqlite3_result_int64"]=function(){return(_sqlite3_result_int64=Module["_sqlite3_result_int64"]=Module["asm"]["sqlite3_result_int64"]).apply(null,arguments)};var _sqlite3_result_double=Module["_sqlite3_result_double"]=function(){return(_sqlite3_result_double=Module["_sqlite3_result_double"]=Module["asm"]["sqlite3_result_double"]).apply(null,arguments)};var _sqlite3_result_text=Module["_sqlite3_result_text"]=function(){return(_sqlite3_result_text=Module["_sqlite3_result_text"]=Module["asm"]["sqlite3_result_text"]).apply(null,arguments)};var _sqlite3_result_blob=Module["_sqlite3_result_blob"]=function(){return(_sqlite3_result_blob=Module["_sqlite3_result_blob"]=Module["asm"]["sqlite3_result_blob"]).apply(null,arguments)};var _sqlite3_exec=Module["_sqlite3_exec"]=function(){return(_sqlite3_exec=Module["_sqlite3_exec"]=Module["asm"]["sqlite3_exec"]).apply(null,arguments)};var _sqlite3_total_changes=Module["_sqlite3_total_changes"]=function(){return(_sqlite3_total_changes=Module["_sqlite3_total_changes"]=Module["asm"]["sqlite3_total_changes"]).apply(null,arguments)};var _pysqlite_cursor_setup_types=Module["_pysqlite_cursor_setup_types"]=function(){return(_pysqlite_cursor_setup_types=Module["_pysqlite_cursor_setup_types"]=Module["asm"]["pysqlite_cursor_setup_types"]).apply(null,arguments)};var _sqlite3_data_count=Module["_sqlite3_data_count"]=function(){return(_sqlite3_data_count=Module["_sqlite3_data_count"]=Module["asm"]["sqlite3_data_count"]).apply(null,arguments)};var _sqlite3_column_blob=Module["_sqlite3_column_blob"]=function(){return(_sqlite3_column_blob=Module["_sqlite3_column_blob"]=Module["asm"]["sqlite3_column_blob"]).apply(null,arguments)};var _sqlite3_column_bytes=Module["_sqlite3_column_bytes"]=function(){return(_sqlite3_column_bytes=Module["_sqlite3_column_bytes"]=Module["asm"]["sqlite3_column_bytes"]).apply(null,arguments)};var _sqlite3_column_type=Module["_sqlite3_column_type"]=function(){return(_sqlite3_column_type=Module["_sqlite3_column_type"]=Module["asm"]["sqlite3_column_type"]).apply(null,arguments)};var _sqlite3_column_double=Module["_sqlite3_column_double"]=function(){return(_sqlite3_column_double=Module["_sqlite3_column_double"]=Module["asm"]["sqlite3_column_double"]).apply(null,arguments)};var _sqlite3_column_text=Module["_sqlite3_column_text"]=function(){return(_sqlite3_column_text=Module["_sqlite3_column_text"]=Module["asm"]["sqlite3_column_text"]).apply(null,arguments)};var _sqlite3_column_name=Module["_sqlite3_column_name"]=function(){return(_sqlite3_column_name=Module["_sqlite3_column_name"]=Module["asm"]["sqlite3_column_name"]).apply(null,arguments)};var _sqlite3_column_int64=Module["_sqlite3_column_int64"]=function(){return(_sqlite3_column_int64=Module["_sqlite3_column_int64"]=Module["asm"]["sqlite3_column_int64"]).apply(null,arguments)};var _pysqlite_statement_mark_dirty=Module["_pysqlite_statement_mark_dirty"]=function(){return(_pysqlite_statement_mark_dirty=Module["_pysqlite_statement_mark_dirty"]=Module["asm"]["pysqlite_statement_mark_dirty"]).apply(null,arguments)};var _pysqlite_statement_bind_parameters=Module["_pysqlite_statement_bind_parameters"]=function(){return(_pysqlite_statement_bind_parameters=Module["_pysqlite_statement_bind_parameters"]=Module["asm"]["pysqlite_statement_bind_parameters"]).apply(null,arguments)};var _sqlite3_column_count=Module["_sqlite3_column_count"]=function(){return(_sqlite3_column_count=Module["_sqlite3_column_count"]=Module["asm"]["sqlite3_column_count"]).apply(null,arguments)};var _sqlite3_column_decltype=Module["_sqlite3_column_decltype"]=function(){return(_sqlite3_column_decltype=Module["_sqlite3_column_decltype"]=Module["asm"]["sqlite3_column_decltype"]).apply(null,arguments)};var _sqlite3_changes=Module["_sqlite3_changes"]=function(){return(_sqlite3_changes=Module["_sqlite3_changes"]=Module["asm"]["sqlite3_changes"]).apply(null,arguments)};var _sqlite3_last_insert_rowid=Module["_sqlite3_last_insert_rowid"]=function(){return(_sqlite3_last_insert_rowid=Module["_sqlite3_last_insert_rowid"]=Module["asm"]["sqlite3_last_insert_rowid"]).apply(null,arguments)};var _pysqlite_microprotocols_init=Module["_pysqlite_microprotocols_init"]=function(){return(_pysqlite_microprotocols_init=Module["_pysqlite_microprotocols_init"]=Module["asm"]["pysqlite_microprotocols_init"]).apply(null,arguments)};var _pysqlite_microprotocols_add=Module["_pysqlite_microprotocols_add"]=function(){return(_pysqlite_microprotocols_add=Module["_pysqlite_microprotocols_add"]=Module["asm"]["pysqlite_microprotocols_add"]).apply(null,arguments)};var _pysqlite_microprotocols_adapt=Module["_pysqlite_microprotocols_adapt"]=function(){return(_pysqlite_microprotocols_adapt=Module["_pysqlite_microprotocols_adapt"]=Module["asm"]["pysqlite_microprotocols_adapt"]).apply(null,arguments)};var _sqlite3_initialize=Module["_sqlite3_initialize"]=function(){return(_sqlite3_initialize=Module["_sqlite3_initialize"]=Module["asm"]["sqlite3_initialize"]).apply(null,arguments)};var _sqlite3_errstr=Module["_sqlite3_errstr"]=function(){return(_sqlite3_errstr=Module["_sqlite3_errstr"]=Module["asm"]["sqlite3_errstr"]).apply(null,arguments)};var _pysqlite_row_setup_types=Module["_pysqlite_row_setup_types"]=function(){return(_pysqlite_row_setup_types=Module["_pysqlite_row_setup_types"]=Module["asm"]["pysqlite_row_setup_types"]).apply(null,arguments)};var _pysqlite_statement_setup_types=Module["_pysqlite_statement_setup_types"]=function(){return(_pysqlite_statement_setup_types=Module["_pysqlite_statement_setup_types"]=Module["asm"]["pysqlite_statement_setup_types"]).apply(null,arguments)};var _pysqlite_prepare_protocol_setup_types=Module["_pysqlite_prepare_protocol_setup_types"]=function(){return(_pysqlite_prepare_protocol_setup_types=Module["_pysqlite_prepare_protocol_setup_types"]=Module["asm"]["pysqlite_prepare_protocol_setup_types"]).apply(null,arguments)};var _sqlite3_libversion=Module["_sqlite3_libversion"]=function(){return(_sqlite3_libversion=Module["_sqlite3_libversion"]=Module["asm"]["sqlite3_libversion"]).apply(null,arguments)};var _sqlite3_shutdown=Module["_sqlite3_shutdown"]=function(){return(_sqlite3_shutdown=Module["_sqlite3_shutdown"]=Module["asm"]["sqlite3_shutdown"]).apply(null,arguments)};var _sqlite3_complete=Module["_sqlite3_complete"]=function(){return(_sqlite3_complete=Module["_sqlite3_complete"]=Module["asm"]["sqlite3_complete"]).apply(null,arguments)};var _sqlite3_enable_shared_cache=Module["_sqlite3_enable_shared_cache"]=function(){return(_sqlite3_enable_shared_cache=Module["_sqlite3_enable_shared_cache"]=Module["asm"]["sqlite3_enable_shared_cache"]).apply(null,arguments)};var _pysqlite_row_item=Module["_pysqlite_row_item"]=function(){return(_pysqlite_row_item=Module["_pysqlite_row_item"]=Module["asm"]["pysqlite_row_item"]).apply(null,arguments)};var _pysqlite_statement_bind_parameter=Module["_pysqlite_statement_bind_parameter"]=function(){return(_pysqlite_statement_bind_parameter=Module["_pysqlite_statement_bind_parameter"]=Module["asm"]["pysqlite_statement_bind_parameter"]).apply(null,arguments)};var _sqlite3_bind_null=Module["_sqlite3_bind_null"]=function(){return(_sqlite3_bind_null=Module["_sqlite3_bind_null"]=Module["asm"]["sqlite3_bind_null"]).apply(null,arguments)};var _sqlite3_bind_blob=Module["_sqlite3_bind_blob"]=function(){return(_sqlite3_bind_blob=Module["_sqlite3_bind_blob"]=Module["asm"]["sqlite3_bind_blob"]).apply(null,arguments)};var _sqlite3_bind_int64=Module["_sqlite3_bind_int64"]=function(){return(_sqlite3_bind_int64=Module["_sqlite3_bind_int64"]=Module["asm"]["sqlite3_bind_int64"]).apply(null,arguments)};var _sqlite3_bind_double=Module["_sqlite3_bind_double"]=function(){return(_sqlite3_bind_double=Module["_sqlite3_bind_double"]=Module["asm"]["sqlite3_bind_double"]).apply(null,arguments)};var _sqlite3_bind_text=Module["_sqlite3_bind_text"]=function(){return(_sqlite3_bind_text=Module["_sqlite3_bind_text"]=Module["asm"]["sqlite3_bind_text"]).apply(null,arguments)};var _sqlite3_bind_parameter_count=Module["_sqlite3_bind_parameter_count"]=function(){return(_sqlite3_bind_parameter_count=Module["_sqlite3_bind_parameter_count"]=Module["asm"]["sqlite3_bind_parameter_count"]).apply(null,arguments)};var _sqlite3_bind_parameter_name=Module["_sqlite3_bind_parameter_name"]=function(){return(_sqlite3_bind_parameter_name=Module["_sqlite3_bind_parameter_name"]=Module["asm"]["sqlite3_bind_parameter_name"]).apply(null,arguments)};var _sqlite3_reset=Module["_sqlite3_reset"]=function(){return(_sqlite3_reset=Module["_sqlite3_reset"]=Module["asm"]["sqlite3_reset"]).apply(null,arguments)};var _sqlite3_step=Module["_sqlite3_step"]=function(){return(_sqlite3_step=Module["_sqlite3_step"]=Module["asm"]["sqlite3_step"]).apply(null,arguments)};var _sqlite3_errmsg=Module["_sqlite3_errmsg"]=function(){return(_sqlite3_errmsg=Module["_sqlite3_errmsg"]=Module["asm"]["sqlite3_errmsg"]).apply(null,arguments)};var _crypt_r=Module["_crypt_r"]=function(){return(_crypt_r=Module["_crypt_r"]=Module["asm"]["crypt_r"]).apply(null,arguments)};var _BZ2_bzCompressEnd=Module["_BZ2_bzCompressEnd"]=function(){return(_BZ2_bzCompressEnd=Module["_BZ2_bzCompressEnd"]=Module["asm"]["BZ2_bzCompressEnd"]).apply(null,arguments)};var _BZ2_bzCompressInit=Module["_BZ2_bzCompressInit"]=function(){return(_BZ2_bzCompressInit=Module["_BZ2_bzCompressInit"]=Module["asm"]["BZ2_bzCompressInit"]).apply(null,arguments)};var _BZ2_bzCompress=Module["_BZ2_bzCompress"]=function(){return(_BZ2_bzCompress=Module["_BZ2_bzCompress"]=Module["asm"]["BZ2_bzCompress"]).apply(null,arguments)};var _BZ2_bzDecompressEnd=Module["_BZ2_bzDecompressEnd"]=function(){return(_BZ2_bzDecompressEnd=Module["_BZ2_bzDecompressEnd"]=Module["asm"]["BZ2_bzDecompressEnd"]).apply(null,arguments)};var _BZ2_bzDecompressInit=Module["_BZ2_bzDecompressInit"]=function(){return(_BZ2_bzDecompressInit=Module["_BZ2_bzDecompressInit"]=Module["asm"]["BZ2_bzDecompressInit"]).apply(null,arguments)};var _BZ2_bzDecompress=Module["_BZ2_bzDecompress"]=function(){return(_BZ2_bzDecompress=Module["_BZ2_bzDecompress"]=Module["asm"]["BZ2_bzDecompress"]).apply(null,arguments)};var _RotatingTree_Enum=Module["_RotatingTree_Enum"]=function(){return(_RotatingTree_Enum=Module["_RotatingTree_Enum"]=Module["asm"]["RotatingTree_Enum"]).apply(null,arguments)};var _RotatingTree_Get=Module["_RotatingTree_Get"]=function(){return(_RotatingTree_Get=Module["_RotatingTree_Get"]=Module["asm"]["RotatingTree_Get"]).apply(null,arguments)};var _RotatingTree_Add=Module["_RotatingTree_Add"]=function(){return(_RotatingTree_Add=Module["_RotatingTree_Add"]=Module["asm"]["RotatingTree_Add"]).apply(null,arguments)};var _mpd_callocfunc_em=Module["_mpd_callocfunc_em"]=function(){return(_mpd_callocfunc_em=Module["_mpd_callocfunc_em"]=Module["asm"]["mpd_callocfunc_em"]).apply(null,arguments)};var _mpd_setminalloc=Module["_mpd_setminalloc"]=function(){return(_mpd_setminalloc=Module["_mpd_setminalloc"]=Module["asm"]["mpd_setminalloc"]).apply(null,arguments)};var _mpd_version=Module["_mpd_version"]=function(){return(_mpd_version=Module["_mpd_version"]=Module["asm"]["mpd_version"]).apply(null,arguments)};var _mpd_del=Module["_mpd_del"]=function(){return(_mpd_del=Module["_mpd_del"]=Module["asm"]["mpd_del"]).apply(null,arguments)};var _mpd_to_sci=Module["_mpd_to_sci"]=function(){return(_mpd_to_sci=Module["_mpd_to_sci"]=Module["asm"]["mpd_to_sci"]).apply(null,arguments)};var _mpd_isspecial=Module["_mpd_isspecial"]=function(){return(_mpd_isspecial=Module["_mpd_isspecial"]=Module["asm"]["mpd_isspecial"]).apply(null,arguments)};var _mpd_issnan=Module["_mpd_issnan"]=function(){return(_mpd_issnan=Module["_mpd_issnan"]=Module["asm"]["mpd_issnan"]).apply(null,arguments)};var _mpd_isnan=Module["_mpd_isnan"]=function(){return(_mpd_isnan=Module["_mpd_isnan"]=Module["asm"]["mpd_isnan"]).apply(null,arguments)};var _mpd_arith_sign=Module["_mpd_arith_sign"]=function(){return(_mpd_arith_sign=Module["_mpd_arith_sign"]=Module["asm"]["mpd_arith_sign"]).apply(null,arguments)};var _mpd_maxcontext=Module["_mpd_maxcontext"]=function(){return(_mpd_maxcontext=Module["_mpd_maxcontext"]=Module["asm"]["mpd_maxcontext"]).apply(null,arguments)};var _mpd_qnew=Module["_mpd_qnew"]=function(){return(_mpd_qnew=Module["_mpd_qnew"]=Module["asm"]["mpd_qnew"]).apply(null,arguments)};var _mpd_qsset_ssize=Module["_mpd_qsset_ssize"]=function(){return(_mpd_qsset_ssize=Module["_mpd_qsset_ssize"]=Module["asm"]["mpd_qsset_ssize"]).apply(null,arguments)};var _mpd_qpowmod=Module["_mpd_qpowmod"]=function(){return(_mpd_qpowmod=Module["_mpd_qpowmod"]=Module["asm"]["mpd_qpowmod"]).apply(null,arguments)};var _mpd_qcopy=Module["_mpd_qcopy"]=function(){return(_mpd_qcopy=Module["_mpd_qcopy"]=Module["asm"]["mpd_qcopy"]).apply(null,arguments)};var _mpd_set_positive=Module["_mpd_set_positive"]=function(){return(_mpd_set_positive=Module["_mpd_set_positive"]=Module["asm"]["mpd_set_positive"]).apply(null,arguments)};var _mpd_qmul=Module["_mpd_qmul"]=function(){return(_mpd_qmul=Module["_mpd_qmul"]=Module["asm"]["mpd_qmul"]).apply(null,arguments)};var _mpd_qrem=Module["_mpd_qrem"]=function(){return(_mpd_qrem=Module["_mpd_qrem"]=Module["asm"]["mpd_qrem"]).apply(null,arguments)};var _mpd_qget_ssize=Module["_mpd_qget_ssize"]=function(){return(_mpd_qget_ssize=Module["_mpd_qget_ssize"]=Module["asm"]["mpd_qget_ssize"]).apply(null,arguments)};var _mpd_ispositive=Module["_mpd_ispositive"]=function(){return(_mpd_ispositive=Module["_mpd_ispositive"]=Module["asm"]["mpd_ispositive"]).apply(null,arguments)};var _mpd_to_sci_size=Module["_mpd_to_sci_size"]=function(){return(_mpd_to_sci_size=Module["_mpd_to_sci_size"]=Module["asm"]["mpd_to_sci_size"]).apply(null,arguments)};var _mpd_qcmp=Module["_mpd_qcmp"]=function(){return(_mpd_qcmp=Module["_mpd_qcmp"]=Module["asm"]["mpd_qcmp"]).apply(null,arguments)};var _mpd_qset_ssize=Module["_mpd_qset_ssize"]=function(){return(_mpd_qset_ssize=Module["_mpd_qset_ssize"]=Module["asm"]["mpd_qset_ssize"]).apply(null,arguments)};var _mpd_qadd=Module["_mpd_qadd"]=function(){return(_mpd_qadd=Module["_mpd_qadd"]=Module["asm"]["mpd_qadd"]).apply(null,arguments)};var _mpd_qsub=Module["_mpd_qsub"]=function(){return(_mpd_qsub=Module["_mpd_qsub"]=Module["asm"]["mpd_qsub"]).apply(null,arguments)};var _mpd_qdivmod=Module["_mpd_qdivmod"]=function(){return(_mpd_qdivmod=Module["_mpd_qdivmod"]=Module["asm"]["mpd_qdivmod"]).apply(null,arguments)};var _mpd_qpow=Module["_mpd_qpow"]=function(){return(_mpd_qpow=Module["_mpd_qpow"]=Module["asm"]["mpd_qpow"]).apply(null,arguments)};var _mpd_qminus=Module["_mpd_qminus"]=function(){return(_mpd_qminus=Module["_mpd_qminus"]=Module["asm"]["mpd_qminus"]).apply(null,arguments)};var _mpd_qplus=Module["_mpd_qplus"]=function(){return(_mpd_qplus=Module["_mpd_qplus"]=Module["asm"]["mpd_qplus"]).apply(null,arguments)};var _mpd_qabs=Module["_mpd_qabs"]=function(){return(_mpd_qabs=Module["_mpd_qabs"]=Module["asm"]["mpd_qabs"]).apply(null,arguments)};var _mpd_iszero=Module["_mpd_iszero"]=function(){return(_mpd_iszero=Module["_mpd_iszero"]=Module["asm"]["mpd_iszero"]).apply(null,arguments)};var _mpd_isnegative=Module["_mpd_isnegative"]=function(){return(_mpd_isnegative=Module["_mpd_isnegative"]=Module["asm"]["mpd_isnegative"]).apply(null,arguments)};var _mpd_qdivint=Module["_mpd_qdivint"]=function(){return(_mpd_qdivint=Module["_mpd_qdivint"]=Module["asm"]["mpd_qdivint"]).apply(null,arguments)};var _mpd_qdiv=Module["_mpd_qdiv"]=function(){return(_mpd_qdiv=Module["_mpd_qdiv"]=Module["asm"]["mpd_qdiv"]).apply(null,arguments)};var _mpd_seterror=Module["_mpd_seterror"]=function(){return(_mpd_seterror=Module["_mpd_seterror"]=Module["asm"]["mpd_seterror"]).apply(null,arguments)};var _mpd_set_flags=Module["_mpd_set_flags"]=function(){return(_mpd_set_flags=Module["_mpd_set_flags"]=Module["asm"]["mpd_set_flags"]).apply(null,arguments)};var _mpd_setdigits=Module["_mpd_setdigits"]=function(){return(_mpd_setdigits=Module["_mpd_setdigits"]=Module["asm"]["mpd_setdigits"]).apply(null,arguments)};var _mpd_qfinalize=Module["_mpd_qfinalize"]=function(){return(_mpd_qfinalize=Module["_mpd_qfinalize"]=Module["asm"]["mpd_qfinalize"]).apply(null,arguments)};var _mpd_qimport_u32=Module["_mpd_qimport_u32"]=function(){return(_mpd_qimport_u32=Module["_mpd_qimport_u32"]=Module["asm"]["mpd_qimport_u32"]).apply(null,arguments)};var _mpd_qround_to_int=Module["_mpd_qround_to_int"]=function(){return(_mpd_qround_to_int=Module["_mpd_qround_to_int"]=Module["asm"]["mpd_qround_to_int"]).apply(null,arguments)};var _mpd_qexport_u32=Module["_mpd_qexport_u32"]=function(){return(_mpd_qexport_u32=Module["_mpd_qexport_u32"]=Module["asm"]["mpd_qexport_u32"]).apply(null,arguments)};var _mpd_setspecial=Module["_mpd_setspecial"]=function(){return(_mpd_setspecial=Module["_mpd_setspecial"]=Module["asm"]["mpd_setspecial"]).apply(null,arguments)};var _mpd_qset_uint=Module["_mpd_qset_uint"]=function(){return(_mpd_qset_uint=Module["_mpd_qset_uint"]=Module["asm"]["mpd_qset_uint"]).apply(null,arguments)};var _mpd_set_sign=Module["_mpd_set_sign"]=function(){return(_mpd_set_sign=Module["_mpd_set_sign"]=Module["asm"]["mpd_set_sign"]).apply(null,arguments)};var _mpd_qncopy=Module["_mpd_qncopy"]=function(){return(_mpd_qncopy=Module["_mpd_qncopy"]=Module["asm"]["mpd_qncopy"]).apply(null,arguments)};var _mpd_qexp=Module["_mpd_qexp"]=function(){return(_mpd_qexp=Module["_mpd_qexp"]=Module["asm"]["mpd_qexp"]).apply(null,arguments)};var _mpd_qln=Module["_mpd_qln"]=function(){return(_mpd_qln=Module["_mpd_qln"]=Module["asm"]["mpd_qln"]).apply(null,arguments)};var _mpd_qlog10=Module["_mpd_qlog10"]=function(){return(_mpd_qlog10=Module["_mpd_qlog10"]=Module["asm"]["mpd_qlog10"]).apply(null,arguments)};var _mpd_qnext_minus=Module["_mpd_qnext_minus"]=function(){return(_mpd_qnext_minus=Module["_mpd_qnext_minus"]=Module["asm"]["mpd_qnext_minus"]).apply(null,arguments)};var _mpd_qnext_plus=Module["_mpd_qnext_plus"]=function(){return(_mpd_qnext_plus=Module["_mpd_qnext_plus"]=Module["asm"]["mpd_qnext_plus"]).apply(null,arguments)};var _mpd_qreduce=Module["_mpd_qreduce"]=function(){return(_mpd_qreduce=Module["_mpd_qreduce"]=Module["asm"]["mpd_qreduce"]).apply(null,arguments)};var _mpd_qsetround=Module["_mpd_qsetround"]=function(){return(_mpd_qsetround=Module["_mpd_qsetround"]=Module["asm"]["mpd_qsetround"]).apply(null,arguments)};var _mpd_qround_to_intx=Module["_mpd_qround_to_intx"]=function(){return(_mpd_qround_to_intx=Module["_mpd_qround_to_intx"]=Module["asm"]["mpd_qround_to_intx"]).apply(null,arguments)};var _mpd_qsqrt=Module["_mpd_qsqrt"]=function(){return(_mpd_qsqrt=Module["_mpd_qsqrt"]=Module["asm"]["mpd_qsqrt"]).apply(null,arguments)};var _mpd_qcompare=Module["_mpd_qcompare"]=function(){return(_mpd_qcompare=Module["_mpd_qcompare"]=Module["asm"]["mpd_qcompare"]).apply(null,arguments)};var _mpd_qcompare_signal=Module["_mpd_qcompare_signal"]=function(){return(_mpd_qcompare_signal=Module["_mpd_qcompare_signal"]=Module["asm"]["mpd_qcompare_signal"]).apply(null,arguments)};var _mpd_qmax=Module["_mpd_qmax"]=function(){return(_mpd_qmax=Module["_mpd_qmax"]=Module["asm"]["mpd_qmax"]).apply(null,arguments)};var _mpd_qmax_mag=Module["_mpd_qmax_mag"]=function(){return(_mpd_qmax_mag=Module["_mpd_qmax_mag"]=Module["asm"]["mpd_qmax_mag"]).apply(null,arguments)};var _mpd_qmin=Module["_mpd_qmin"]=function(){return(_mpd_qmin=Module["_mpd_qmin"]=Module["asm"]["mpd_qmin"]).apply(null,arguments)};var _mpd_qmin_mag=Module["_mpd_qmin_mag"]=function(){return(_mpd_qmin_mag=Module["_mpd_qmin_mag"]=Module["asm"]["mpd_qmin_mag"]).apply(null,arguments)};var _mpd_qnext_toward=Module["_mpd_qnext_toward"]=function(){return(_mpd_qnext_toward=Module["_mpd_qnext_toward"]=Module["asm"]["mpd_qnext_toward"]).apply(null,arguments)};var _mpd_qquantize=Module["_mpd_qquantize"]=function(){return(_mpd_qquantize=Module["_mpd_qquantize"]=Module["asm"]["mpd_qquantize"]).apply(null,arguments)};var _mpd_qrem_near=Module["_mpd_qrem_near"]=function(){return(_mpd_qrem_near=Module["_mpd_qrem_near"]=Module["asm"]["mpd_qrem_near"]).apply(null,arguments)};var _mpd_qfma=Module["_mpd_qfma"]=function(){return(_mpd_qfma=Module["_mpd_qfma"]=Module["asm"]["mpd_qfma"]).apply(null,arguments)};var _mpd_iscanonical=Module["_mpd_iscanonical"]=function(){return(_mpd_iscanonical=Module["_mpd_iscanonical"]=Module["asm"]["mpd_iscanonical"]).apply(null,arguments)};var _mpd_isfinite=Module["_mpd_isfinite"]=function(){return(_mpd_isfinite=Module["_mpd_isfinite"]=Module["asm"]["mpd_isfinite"]).apply(null,arguments)};var _mpd_isinfinite=Module["_mpd_isinfinite"]=function(){return(_mpd_isinfinite=Module["_mpd_isinfinite"]=Module["asm"]["mpd_isinfinite"]).apply(null,arguments)};var _mpd_isqnan=Module["_mpd_isqnan"]=function(){return(_mpd_isqnan=Module["_mpd_isqnan"]=Module["asm"]["mpd_isqnan"]).apply(null,arguments)};var _mpd_issigned=Module["_mpd_issigned"]=function(){return(_mpd_issigned=Module["_mpd_issigned"]=Module["asm"]["mpd_issigned"]).apply(null,arguments)};var _mpd_isnormal=Module["_mpd_isnormal"]=function(){return(_mpd_isnormal=Module["_mpd_isnormal"]=Module["asm"]["mpd_isnormal"]).apply(null,arguments)};var _mpd_issubnormal=Module["_mpd_issubnormal"]=function(){return(_mpd_issubnormal=Module["_mpd_issubnormal"]=Module["asm"]["mpd_issubnormal"]).apply(null,arguments)};var _mpd_adjexp=Module["_mpd_adjexp"]=function(){return(_mpd_adjexp=Module["_mpd_adjexp"]=Module["asm"]["mpd_adjexp"]).apply(null,arguments)};var _mpd_qcopy_abs=Module["_mpd_qcopy_abs"]=function(){return(_mpd_qcopy_abs=Module["_mpd_qcopy_abs"]=Module["asm"]["mpd_qcopy_abs"]).apply(null,arguments)};var _mpd_qcopy_negate=Module["_mpd_qcopy_negate"]=function(){return(_mpd_qcopy_negate=Module["_mpd_qcopy_negate"]=Module["asm"]["mpd_qcopy_negate"]).apply(null,arguments)};var _mpd_qlogb=Module["_mpd_qlogb"]=function(){return(_mpd_qlogb=Module["_mpd_qlogb"]=Module["asm"]["mpd_qlogb"]).apply(null,arguments)};var _mpd_qinvert=Module["_mpd_qinvert"]=function(){return(_mpd_qinvert=Module["_mpd_qinvert"]=Module["asm"]["mpd_qinvert"]).apply(null,arguments)};var _mpd_class=Module["_mpd_class"]=function(){return(_mpd_class=Module["_mpd_class"]=Module["asm"]["mpd_class"]).apply(null,arguments)};var _mpd_to_eng_size=Module["_mpd_to_eng_size"]=function(){return(_mpd_to_eng_size=Module["_mpd_to_eng_size"]=Module["asm"]["mpd_to_eng_size"]).apply(null,arguments)};var _mpd_compare_total=Module["_mpd_compare_total"]=function(){return(_mpd_compare_total=Module["_mpd_compare_total"]=Module["asm"]["mpd_compare_total"]).apply(null,arguments)};var _mpd_compare_total_mag=Module["_mpd_compare_total_mag"]=function(){return(_mpd_compare_total_mag=Module["_mpd_compare_total_mag"]=Module["asm"]["mpd_compare_total_mag"]).apply(null,arguments)};var _mpd_qcopy_sign=Module["_mpd_qcopy_sign"]=function(){return(_mpd_qcopy_sign=Module["_mpd_qcopy_sign"]=Module["asm"]["mpd_qcopy_sign"]).apply(null,arguments)};var _mpd_same_quantum=Module["_mpd_same_quantum"]=function(){return(_mpd_same_quantum=Module["_mpd_same_quantum"]=Module["asm"]["mpd_same_quantum"]).apply(null,arguments)};var _mpd_qand=Module["_mpd_qand"]=function(){return(_mpd_qand=Module["_mpd_qand"]=Module["asm"]["mpd_qand"]).apply(null,arguments)};var _mpd_qor=Module["_mpd_qor"]=function(){return(_mpd_qor=Module["_mpd_qor"]=Module["asm"]["mpd_qor"]).apply(null,arguments)};var _mpd_qxor=Module["_mpd_qxor"]=function(){return(_mpd_qxor=Module["_mpd_qxor"]=Module["asm"]["mpd_qxor"]).apply(null,arguments)};var _mpd_qrotate=Module["_mpd_qrotate"]=function(){return(_mpd_qrotate=Module["_mpd_qrotate"]=Module["asm"]["mpd_qrotate"]).apply(null,arguments)};var _mpd_qscaleb=Module["_mpd_qscaleb"]=function(){return(_mpd_qscaleb=Module["_mpd_qscaleb"]=Module["asm"]["mpd_qscaleb"]).apply(null,arguments)};var _mpd_qshift=Module["_mpd_qshift"]=function(){return(_mpd_qshift=Module["_mpd_qshift"]=Module["asm"]["mpd_qshift"]).apply(null,arguments)};var _mpd_sign=Module["_mpd_sign"]=function(){return(_mpd_sign=Module["_mpd_sign"]=Module["asm"]["mpd_sign"]).apply(null,arguments)};var _mpd_clear_flags=Module["_mpd_clear_flags"]=function(){return(_mpd_clear_flags=Module["_mpd_clear_flags"]=Module["asm"]["mpd_clear_flags"]).apply(null,arguments)};var _mpd_parse_fmt_str=Module["_mpd_parse_fmt_str"]=function(){return(_mpd_parse_fmt_str=Module["_mpd_parse_fmt_str"]=Module["asm"]["mpd_parse_fmt_str"]).apply(null,arguments)};var _mpd_validate_lconv=Module["_mpd_validate_lconv"]=function(){return(_mpd_validate_lconv=Module["_mpd_validate_lconv"]=Module["asm"]["mpd_validate_lconv"]).apply(null,arguments)};var _mpd_qformat_spec=Module["_mpd_qformat_spec"]=function(){return(_mpd_qformat_spec=Module["_mpd_qformat_spec"]=Module["asm"]["mpd_qformat_spec"]).apply(null,arguments)};var _mpd_isdynamic_data=Module["_mpd_isdynamic_data"]=function(){return(_mpd_isdynamic_data=Module["_mpd_isdynamic_data"]=Module["asm"]["mpd_isdynamic_data"]).apply(null,arguments)};var _mpd_qset_string=Module["_mpd_qset_string"]=function(){return(_mpd_qset_string=Module["_mpd_qset_string"]=Module["asm"]["mpd_qset_string"]).apply(null,arguments)};var _snprintf=Module["_snprintf"]=function(){return(_snprintf=Module["_snprintf"]=Module["asm"]["snprintf"]).apply(null,arguments)};var _mpd_lsnprint_signals=Module["_mpd_lsnprint_signals"]=function(){return(_mpd_lsnprint_signals=Module["_mpd_lsnprint_signals"]=Module["asm"]["mpd_lsnprint_signals"]).apply(null,arguments)};var _mpd_qsettraps=Module["_mpd_qsettraps"]=function(){return(_mpd_qsettraps=Module["_mpd_qsettraps"]=Module["asm"]["mpd_qsettraps"]).apply(null,arguments)};var _mpd_qsetstatus=Module["_mpd_qsetstatus"]=function(){return(_mpd_qsetstatus=Module["_mpd_qsetstatus"]=Module["asm"]["mpd_qsetstatus"]).apply(null,arguments)};var _mpd_qsetprec=Module["_mpd_qsetprec"]=function(){return(_mpd_qsetprec=Module["_mpd_qsetprec"]=Module["asm"]["mpd_qsetprec"]).apply(null,arguments)};var _mpd_qsetemin=Module["_mpd_qsetemin"]=function(){return(_mpd_qsetemin=Module["_mpd_qsetemin"]=Module["asm"]["mpd_qsetemin"]).apply(null,arguments)};var _mpd_qsetemax=Module["_mpd_qsetemax"]=function(){return(_mpd_qsetemax=Module["_mpd_qsetemax"]=Module["asm"]["mpd_qsetemax"]).apply(null,arguments)};var _mpd_qsetclamp=Module["_mpd_qsetclamp"]=function(){return(_mpd_qsetclamp=Module["_mpd_qsetclamp"]=Module["asm"]["mpd_qsetclamp"]).apply(null,arguments)};var _mpd_etiny=Module["_mpd_etiny"]=function(){return(_mpd_etiny=Module["_mpd_etiny"]=Module["asm"]["mpd_etiny"]).apply(null,arguments)};var _mpd_etop=Module["_mpd_etop"]=function(){return(_mpd_etop=Module["_mpd_etop"]=Module["asm"]["mpd_etop"]).apply(null,arguments)};var _mpd_getprec=Module["_mpd_getprec"]=function(){return(_mpd_getprec=Module["_mpd_getprec"]=Module["asm"]["mpd_getprec"]).apply(null,arguments)};var _mpd_getemax=Module["_mpd_getemax"]=function(){return(_mpd_getemax=Module["_mpd_getemax"]=Module["asm"]["mpd_getemax"]).apply(null,arguments)};var _mpd_getemin=Module["_mpd_getemin"]=function(){return(_mpd_getemin=Module["_mpd_getemin"]=Module["asm"]["mpd_getemin"]).apply(null,arguments)};var _mpd_getround=Module["_mpd_getround"]=function(){return(_mpd_getround=Module["_mpd_getround"]=Module["asm"]["mpd_getround"]).apply(null,arguments)};var _mpd_getclamp=Module["_mpd_getclamp"]=function(){return(_mpd_getclamp=Module["_mpd_getclamp"]=Module["asm"]["mpd_getclamp"]).apply(null,arguments)};var __mpd_baseadd=Module["__mpd_baseadd"]=function(){return(__mpd_baseadd=Module["__mpd_baseadd"]=Module["asm"]["_mpd_baseadd"]).apply(null,arguments)};var __mpd_baseaddto=Module["__mpd_baseaddto"]=function(){return(__mpd_baseaddto=Module["__mpd_baseaddto"]=Module["asm"]["_mpd_baseaddto"]).apply(null,arguments)};var __mpd_shortadd=Module["__mpd_shortadd"]=function(){return(__mpd_shortadd=Module["__mpd_shortadd"]=Module["asm"]["_mpd_shortadd"]).apply(null,arguments)};var __mpd_baseincr=Module["__mpd_baseincr"]=function(){return(__mpd_baseincr=Module["__mpd_baseincr"]=Module["asm"]["_mpd_baseincr"]).apply(null,arguments)};var __mpd_basesub=Module["__mpd_basesub"]=function(){return(__mpd_basesub=Module["__mpd_basesub"]=Module["asm"]["_mpd_basesub"]).apply(null,arguments)};var __mpd_basesubfrom=Module["__mpd_basesubfrom"]=function(){return(__mpd_basesubfrom=Module["__mpd_basesubfrom"]=Module["asm"]["_mpd_basesubfrom"]).apply(null,arguments)};var __mpd_shortmul=Module["__mpd_shortmul"]=function(){return(__mpd_shortmul=Module["__mpd_shortmul"]=Module["asm"]["_mpd_shortmul"]).apply(null,arguments)};var __mpd_basemul=Module["__mpd_basemul"]=function(){return(__mpd_basemul=Module["__mpd_basemul"]=Module["asm"]["_mpd_basemul"]).apply(null,arguments)};var __mpd_shortdiv=Module["__mpd_shortdiv"]=function(){return(__mpd_shortdiv=Module["__mpd_shortdiv"]=Module["asm"]["_mpd_shortdiv"]).apply(null,arguments)};var __mpd_basedivmod=Module["__mpd_basedivmod"]=function(){return(__mpd_basedivmod=Module["__mpd_basedivmod"]=Module["asm"]["_mpd_basedivmod"]).apply(null,arguments)};var _mpd_alloc=Module["_mpd_alloc"]=function(){return(_mpd_alloc=Module["_mpd_alloc"]=Module["asm"]["mpd_alloc"]).apply(null,arguments)};var __mpd_baseshiftl=Module["__mpd_baseshiftl"]=function(){return(__mpd_baseshiftl=Module["__mpd_baseshiftl"]=Module["asm"]["_mpd_baseshiftl"]).apply(null,arguments)};var _mpd_uint_zero=Module["_mpd_uint_zero"]=function(){return(_mpd_uint_zero=Module["_mpd_uint_zero"]=Module["asm"]["mpd_uint_zero"]).apply(null,arguments)};var __mpd_baseshiftr=Module["__mpd_baseshiftr"]=function(){return(__mpd_baseshiftr=Module["__mpd_baseshiftr"]=Module["asm"]["_mpd_baseshiftr"]).apply(null,arguments)};var __mpd_shortadd_b=Module["__mpd_shortadd_b"]=function(){return(__mpd_shortadd_b=Module["__mpd_shortadd_b"]=Module["asm"]["_mpd_shortadd_b"]).apply(null,arguments)};var __mpd_shortmul_c=Module["__mpd_shortmul_c"]=function(){return(__mpd_shortmul_c=Module["__mpd_shortmul_c"]=Module["asm"]["_mpd_shortmul_c"]).apply(null,arguments)};var __mpd_shortmul_b=Module["__mpd_shortmul_b"]=function(){return(__mpd_shortmul_b=Module["__mpd_shortmul_b"]=Module["asm"]["_mpd_shortmul_b"]).apply(null,arguments)};var __mpd_shortdiv_b=Module["__mpd_shortdiv_b"]=function(){return(__mpd_shortdiv_b=Module["__mpd_shortdiv_b"]=Module["asm"]["_mpd_shortdiv_b"]).apply(null,arguments)};var _mpd_dflt_traphandler=Module["_mpd_dflt_traphandler"]=function(){return(_mpd_dflt_traphandler=Module["_mpd_dflt_traphandler"]=Module["asm"]["mpd_dflt_traphandler"]).apply(null,arguments)};var _mpd_init=Module["_mpd_init"]=function(){return(_mpd_init=Module["_mpd_init"]=Module["asm"]["mpd_init"]).apply(null,arguments)};var _mpd_defaultcontext=Module["_mpd_defaultcontext"]=function(){return(_mpd_defaultcontext=Module["_mpd_defaultcontext"]=Module["asm"]["mpd_defaultcontext"]).apply(null,arguments)};var _mpd_addstatus_raise=Module["_mpd_addstatus_raise"]=function(){return(_mpd_addstatus_raise=Module["_mpd_addstatus_raise"]=Module["asm"]["mpd_addstatus_raise"]).apply(null,arguments)};var _mpd_basiccontext=Module["_mpd_basiccontext"]=function(){return(_mpd_basiccontext=Module["_mpd_basiccontext"]=Module["asm"]["mpd_basiccontext"]).apply(null,arguments)};var _mpd_ieee_context=Module["_mpd_ieee_context"]=function(){return(_mpd_ieee_context=Module["_mpd_ieee_context"]=Module["asm"]["mpd_ieee_context"]).apply(null,arguments)};var _mpd_gettraps=Module["_mpd_gettraps"]=function(){return(_mpd_gettraps=Module["_mpd_gettraps"]=Module["asm"]["mpd_gettraps"]).apply(null,arguments)};var _mpd_getstatus=Module["_mpd_getstatus"]=function(){return(_mpd_getstatus=Module["_mpd_getstatus"]=Module["asm"]["mpd_getstatus"]).apply(null,arguments)};var _mpd_getcr=Module["_mpd_getcr"]=function(){return(_mpd_getcr=Module["_mpd_getcr"]=Module["asm"]["mpd_getcr"]).apply(null,arguments)};var _mpd_qsetcr=Module["_mpd_qsetcr"]=function(){return(_mpd_qsetcr=Module["_mpd_qsetcr"]=Module["asm"]["mpd_qsetcr"]).apply(null,arguments)};var _fnt_convolute=Module["_fnt_convolute"]=function(){return(_fnt_convolute=Module["_fnt_convolute"]=Module["asm"]["fnt_convolute"]).apply(null,arguments)};var _std_inv_fnt=Module["_std_inv_fnt"]=function(){return(_std_inv_fnt=Module["_std_inv_fnt"]=Module["asm"]["std_inv_fnt"]).apply(null,arguments)};var _inv_six_step_fnt=Module["_inv_six_step_fnt"]=function(){return(_inv_six_step_fnt=Module["_inv_six_step_fnt"]=Module["asm"]["inv_six_step_fnt"]).apply(null,arguments)};var _inv_four_step_fnt=Module["_inv_four_step_fnt"]=function(){return(_inv_four_step_fnt=Module["_inv_four_step_fnt"]=Module["asm"]["inv_four_step_fnt"]).apply(null,arguments)};var _std_fnt=Module["_std_fnt"]=function(){return(_std_fnt=Module["_std_fnt"]=Module["asm"]["std_fnt"]).apply(null,arguments)};var _six_step_fnt=Module["_six_step_fnt"]=function(){return(_six_step_fnt=Module["_six_step_fnt"]=Module["asm"]["six_step_fnt"]).apply(null,arguments)};var _four_step_fnt=Module["_four_step_fnt"]=function(){return(_four_step_fnt=Module["_four_step_fnt"]=Module["asm"]["four_step_fnt"]).apply(null,arguments)};var _fnt_autoconvolute=Module["_fnt_autoconvolute"]=function(){return(_fnt_autoconvolute=Module["_fnt_autoconvolute"]=Module["asm"]["fnt_autoconvolute"]).apply(null,arguments)};var _crt3=Module["_crt3"]=function(){return(_crt3=Module["_crt3"]=Module["asm"]["crt3"]).apply(null,arguments)};var _fnt_dif2=Module["_fnt_dif2"]=function(){return(_fnt_dif2=Module["_fnt_dif2"]=Module["asm"]["fnt_dif2"]).apply(null,arguments)};var __mpd_init_fnt_params=Module["__mpd_init_fnt_params"]=function(){return(__mpd_init_fnt_params=Module["__mpd_init_fnt_params"]=Module["asm"]["_mpd_init_fnt_params"]).apply(null,arguments)};var __mpd_init_w3table=Module["__mpd_init_w3table"]=function(){return(__mpd_init_w3table=Module["__mpd_init_w3table"]=Module["asm"]["_mpd_init_w3table"]).apply(null,arguments)};var __mpd_getkernel=Module["__mpd_getkernel"]=function(){return(__mpd_getkernel=Module["__mpd_getkernel"]=Module["asm"]["_mpd_getkernel"]).apply(null,arguments)};var _mpd_set_negative=Module["_mpd_set_negative"]=function(){return(_mpd_set_negative=Module["_mpd_set_negative"]=Module["asm"]["mpd_set_negative"]).apply(null,arguments)};var _mpd_qresize=Module["_mpd_qresize"]=function(){return(_mpd_qresize=Module["_mpd_qresize"]=Module["asm"]["mpd_qresize"]).apply(null,arguments)};var _mpd_qset_string_exact=Module["_mpd_qset_string_exact"]=function(){return(_mpd_qset_string_exact=Module["_mpd_qset_string_exact"]=Module["asm"]["mpd_qset_string_exact"]).apply(null,arguments)};var _mpd_msword=Module["_mpd_msword"]=function(){return(_mpd_msword=Module["_mpd_msword"]=Module["asm"]["mpd_msword"]).apply(null,arguments)};var _mpd_word_digits=Module["_mpd_word_digits"]=function(){return(_mpd_word_digits=Module["_mpd_word_digits"]=Module["asm"]["mpd_word_digits"]).apply(null,arguments)};var _mpd_to_eng=Module["_mpd_to_eng"]=function(){return(_mpd_to_eng=Module["_mpd_to_eng"]=Module["asm"]["mpd_to_eng"]).apply(null,arguments)};var _isupper=Module["_isupper"]=function(){return(_isupper=Module["_isupper"]=Module["asm"]["isupper"]).apply(null,arguments)};var _mpd_qrescale=Module["_mpd_qrescale"]=function(){return(_mpd_qrescale=Module["_mpd_qrescale"]=Module["asm"]["mpd_qrescale"]).apply(null,arguments)};var _mpd_realloc=Module["_mpd_realloc"]=function(){return(_mpd_realloc=Module["_mpd_realloc"]=Module["asm"]["mpd_realloc"]).apply(null,arguments)};var _mpd_qrescale_fmt=Module["_mpd_qrescale_fmt"]=function(){return(_mpd_qrescale_fmt=Module["_mpd_qrescale_fmt"]=Module["asm"]["mpd_qrescale_fmt"]).apply(null,arguments)};var _mpd_qformat=Module["_mpd_qformat"]=function(){return(_mpd_qformat=Module["_mpd_qformat"]=Module["asm"]["mpd_qformat"]).apply(null,arguments)};var _mpd_snprint_flags=Module["_mpd_snprint_flags"]=function(){return(_mpd_snprint_flags=Module["_mpd_snprint_flags"]=Module["asm"]["mpd_snprint_flags"]).apply(null,arguments)};var _mpd_lsnprint_flags=Module["_mpd_lsnprint_flags"]=function(){return(_mpd_lsnprint_flags=Module["_mpd_lsnprint_flags"]=Module["asm"]["mpd_lsnprint_flags"]).apply(null,arguments)};var _mpd_fprint=Module["_mpd_fprint"]=function(){return(_mpd_fprint=Module["_mpd_fprint"]=Module["asm"]["mpd_fprint"]).apply(null,arguments)};var _mpd_print=Module["_mpd_print"]=function(){return(_mpd_print=Module["_mpd_print"]=Module["asm"]["mpd_print"]).apply(null,arguments)};var _mpd_calloc=Module["_mpd_calloc"]=function(){return(_mpd_calloc=Module["_mpd_calloc"]=Module["asm"]["mpd_calloc"]).apply(null,arguments)};var _mpd_sh_alloc=Module["_mpd_sh_alloc"]=function(){return(_mpd_sh_alloc=Module["_mpd_sh_alloc"]=Module["asm"]["mpd_sh_alloc"]).apply(null,arguments)};var _mpd_qnew_size=Module["_mpd_qnew_size"]=function(){return(_mpd_qnew_size=Module["_mpd_qnew_size"]=Module["asm"]["mpd_qnew_size"]).apply(null,arguments)};var _mpd_new=Module["_mpd_new"]=function(){return(_mpd_new=Module["_mpd_new"]=Module["asm"]["mpd_new"]).apply(null,arguments)};var _mpd_switch_to_dyn=Module["_mpd_switch_to_dyn"]=function(){return(_mpd_switch_to_dyn=Module["_mpd_switch_to_dyn"]=Module["asm"]["mpd_switch_to_dyn"]).apply(null,arguments)};var _mpd_set_qnan=Module["_mpd_set_qnan"]=function(){return(_mpd_set_qnan=Module["_mpd_set_qnan"]=Module["asm"]["mpd_set_qnan"]).apply(null,arguments)};var _mpd_set_dynamic_data=Module["_mpd_set_dynamic_data"]=function(){return(_mpd_set_dynamic_data=Module["_mpd_set_dynamic_data"]=Module["asm"]["mpd_set_dynamic_data"]).apply(null,arguments)};var _mpd_switch_to_dyn_zero=Module["_mpd_switch_to_dyn_zero"]=function(){return(_mpd_switch_to_dyn_zero=Module["_mpd_switch_to_dyn_zero"]=Module["asm"]["mpd_switch_to_dyn_zero"]).apply(null,arguments)};var _mpd_realloc_dyn=Module["_mpd_realloc_dyn"]=function(){return(_mpd_realloc_dyn=Module["_mpd_realloc_dyn"]=Module["asm"]["mpd_realloc_dyn"]).apply(null,arguments)};var _mpd_switch_to_dyn_cxx=Module["_mpd_switch_to_dyn_cxx"]=function(){return(_mpd_switch_to_dyn_cxx=Module["_mpd_switch_to_dyn_cxx"]=Module["asm"]["mpd_switch_to_dyn_cxx"]).apply(null,arguments)};var _mpd_realloc_dyn_cxx=Module["_mpd_realloc_dyn_cxx"]=function(){return(_mpd_realloc_dyn_cxx=Module["_mpd_realloc_dyn_cxx"]=Module["asm"]["mpd_realloc_dyn_cxx"]).apply(null,arguments)};var _mpd_msd=Module["_mpd_msd"]=function(){return(_mpd_msd=Module["_mpd_msd"]=Module["asm"]["mpd_msd"]).apply(null,arguments)};var _mpd_lsd=Module["_mpd_lsd"]=function(){return(_mpd_lsd=Module["_mpd_lsd"]=Module["asm"]["mpd_lsd"]).apply(null,arguments)};var _mpd_digits_to_size=Module["_mpd_digits_to_size"]=function(){return(_mpd_digits_to_size=Module["_mpd_digits_to_size"]=Module["asm"]["mpd_digits_to_size"]).apply(null,arguments)};var _mpd_exp_digits=Module["_mpd_exp_digits"]=function(){return(_mpd_exp_digits=Module["_mpd_exp_digits"]=Module["asm"]["mpd_exp_digits"]).apply(null,arguments)};var _mpd_iszerocoeff=Module["_mpd_iszerocoeff"]=function(){return(_mpd_iszerocoeff=Module["_mpd_iszerocoeff"]=Module["asm"]["mpd_iszerocoeff"]).apply(null,arguments)};var _mpd_isoddword=Module["_mpd_isoddword"]=function(){return(_mpd_isoddword=Module["_mpd_isoddword"]=Module["asm"]["mpd_isoddword"]).apply(null,arguments)};var _mpd_isoddcoeff=Module["_mpd_isoddcoeff"]=function(){return(_mpd_isoddcoeff=Module["_mpd_isoddcoeff"]=Module["asm"]["mpd_isoddcoeff"]).apply(null,arguments)};var _mpd_radix=Module["_mpd_radix"]=function(){return(_mpd_radix=Module["_mpd_radix"]=Module["asm"]["mpd_radix"]).apply(null,arguments)};var _mpd_isdynamic=Module["_mpd_isdynamic"]=function(){return(_mpd_isdynamic=Module["_mpd_isdynamic"]=Module["asm"]["mpd_isdynamic"]).apply(null,arguments)};var _mpd_isstatic=Module["_mpd_isstatic"]=function(){return(_mpd_isstatic=Module["_mpd_isstatic"]=Module["asm"]["mpd_isstatic"]).apply(null,arguments)};var _mpd_isstatic_data=Module["_mpd_isstatic_data"]=function(){return(_mpd_isstatic_data=Module["_mpd_isstatic_data"]=Module["asm"]["mpd_isstatic_data"]).apply(null,arguments)};var _mpd_isshared_data=Module["_mpd_isshared_data"]=function(){return(_mpd_isshared_data=Module["_mpd_isshared_data"]=Module["asm"]["mpd_isshared_data"]).apply(null,arguments)};var _mpd_isconst_data=Module["_mpd_isconst_data"]=function(){return(_mpd_isconst_data=Module["_mpd_isconst_data"]=Module["asm"]["mpd_isconst_data"]).apply(null,arguments)};var _mpd_qresize_zero=Module["_mpd_qresize_zero"]=function(){return(_mpd_qresize_zero=Module["_mpd_qresize_zero"]=Module["asm"]["mpd_qresize_zero"]).apply(null,arguments)};var _mpd_minalloc=Module["_mpd_minalloc"]=function(){return(_mpd_minalloc=Module["_mpd_minalloc"]=Module["asm"]["mpd_minalloc"]).apply(null,arguments)};var _mpd_resize=Module["_mpd_resize"]=function(){return(_mpd_resize=Module["_mpd_resize"]=Module["asm"]["mpd_resize"]).apply(null,arguments)};var _mpd_resize_zero=Module["_mpd_resize_zero"]=function(){return(_mpd_resize_zero=Module["_mpd_resize_zero"]=Module["asm"]["mpd_resize_zero"]).apply(null,arguments)};var _mpd_signcpy=Module["_mpd_signcpy"]=function(){return(_mpd_signcpy=Module["_mpd_signcpy"]=Module["asm"]["mpd_signcpy"]).apply(null,arguments)};var _mpd_set_infinity=Module["_mpd_set_infinity"]=function(){return(_mpd_set_infinity=Module["_mpd_set_infinity"]=Module["asm"]["mpd_set_infinity"]).apply(null,arguments)};var _mpd_set_snan=Module["_mpd_set_snan"]=function(){return(_mpd_set_snan=Module["_mpd_set_snan"]=Module["asm"]["mpd_set_snan"]).apply(null,arguments)};var _mpd_set_dynamic=Module["_mpd_set_dynamic"]=function(){return(_mpd_set_dynamic=Module["_mpd_set_dynamic"]=Module["asm"]["mpd_set_dynamic"]).apply(null,arguments)};var _mpd_set_static=Module["_mpd_set_static"]=function(){return(_mpd_set_static=Module["_mpd_set_static"]=Module["asm"]["mpd_set_static"]).apply(null,arguments)};var _mpd_set_static_data=Module["_mpd_set_static_data"]=function(){return(_mpd_set_static_data=Module["_mpd_set_static_data"]=Module["asm"]["mpd_set_static_data"]).apply(null,arguments)};var _mpd_set_shared_data=Module["_mpd_set_shared_data"]=function(){return(_mpd_set_shared_data=Module["_mpd_set_shared_data"]=Module["asm"]["mpd_set_shared_data"]).apply(null,arguments)};var _mpd_set_const_data=Module["_mpd_set_const_data"]=function(){return(_mpd_set_const_data=Module["_mpd_set_const_data"]=Module["asm"]["mpd_set_const_data"]).apply(null,arguments)};var _mpd_copy_flags=Module["_mpd_copy_flags"]=function(){return(_mpd_copy_flags=Module["_mpd_copy_flags"]=Module["asm"]["mpd_copy_flags"]).apply(null,arguments)};var _mpd_zerocoeff=Module["_mpd_zerocoeff"]=function(){return(_mpd_zerocoeff=Module["_mpd_zerocoeff"]=Module["asm"]["mpd_zerocoeff"]).apply(null,arguments)};var _mpd_qmaxcoeff=Module["_mpd_qmaxcoeff"]=function(){return(_mpd_qmaxcoeff=Module["_mpd_qmaxcoeff"]=Module["asm"]["mpd_qmaxcoeff"]).apply(null,arguments)};var _mpd_trail_zeros=Module["_mpd_trail_zeros"]=function(){return(_mpd_trail_zeros=Module["_mpd_trail_zeros"]=Module["asm"]["mpd_trail_zeros"]).apply(null,arguments)};var _mpd_isinteger=Module["_mpd_isinteger"]=function(){return(_mpd_isinteger=Module["_mpd_isinteger"]=Module["asm"]["mpd_isinteger"]).apply(null,arguments)};var _mpd_isodd=Module["_mpd_isodd"]=function(){return(_mpd_isodd=Module["_mpd_isodd"]=Module["asm"]["mpd_isodd"]).apply(null,arguments)};var _mpd_iseven=Module["_mpd_iseven"]=function(){return(_mpd_iseven=Module["_mpd_iseven"]=Module["asm"]["mpd_iseven"]).apply(null,arguments)};var _mpd_qshiftr_inplace=Module["_mpd_qshiftr_inplace"]=function(){return(_mpd_qshiftr_inplace=Module["_mpd_qshiftr_inplace"]=Module["asm"]["mpd_qshiftr_inplace"]).apply(null,arguments)};var _mpd_qsset_uint=Module["_mpd_qsset_uint"]=function(){return(_mpd_qsset_uint=Module["_mpd_qsset_uint"]=Module["asm"]["mpd_qsset_uint"]).apply(null,arguments)};var _mpd_qsset_i32=Module["_mpd_qsset_i32"]=function(){return(_mpd_qsset_i32=Module["_mpd_qsset_i32"]=Module["asm"]["mpd_qsset_i32"]).apply(null,arguments)};var _mpd_qsset_u32=Module["_mpd_qsset_u32"]=function(){return(_mpd_qsset_u32=Module["_mpd_qsset_u32"]=Module["asm"]["mpd_qsset_u32"]).apply(null,arguments)};var _mpd_qset_i32=Module["_mpd_qset_i32"]=function(){return(_mpd_qset_i32=Module["_mpd_qset_i32"]=Module["asm"]["mpd_qset_i32"]).apply(null,arguments)};var _mpd_qset_u32=Module["_mpd_qset_u32"]=function(){return(_mpd_qset_u32=Module["_mpd_qset_u32"]=Module["asm"]["mpd_qset_u32"]).apply(null,arguments)};var _mpd_qset_i64=Module["_mpd_qset_i64"]=function(){return(_mpd_qset_i64=Module["_mpd_qset_i64"]=Module["asm"]["mpd_qset_i64"]).apply(null,arguments)};var _mpd_qset_i64_exact=Module["_mpd_qset_i64_exact"]=function(){return(_mpd_qset_i64_exact=Module["_mpd_qset_i64_exact"]=Module["asm"]["mpd_qset_i64_exact"]).apply(null,arguments)};var _mpd_qset_u64=Module["_mpd_qset_u64"]=function(){return(_mpd_qset_u64=Module["_mpd_qset_u64"]=Module["asm"]["mpd_qset_u64"]).apply(null,arguments)};var _mpd_qset_u64_exact=Module["_mpd_qset_u64_exact"]=function(){return(_mpd_qset_u64_exact=Module["_mpd_qset_u64_exact"]=Module["asm"]["mpd_qset_u64_exact"]).apply(null,arguments)};var _mpd_qget_uint=Module["_mpd_qget_uint"]=function(){return(_mpd_qget_uint=Module["_mpd_qget_uint"]=Module["asm"]["mpd_qget_uint"]).apply(null,arguments)};var _mpd_qabs_uint=Module["_mpd_qabs_uint"]=function(){return(_mpd_qabs_uint=Module["_mpd_qabs_uint"]=Module["asm"]["mpd_qabs_uint"]).apply(null,arguments)};var _mpd_qget_u64=Module["_mpd_qget_u64"]=function(){return(_mpd_qget_u64=Module["_mpd_qget_u64"]=Module["asm"]["mpd_qget_u64"]).apply(null,arguments)};var _mpd_qget_i64=Module["_mpd_qget_i64"]=function(){return(_mpd_qget_i64=Module["_mpd_qget_i64"]=Module["asm"]["mpd_qget_i64"]).apply(null,arguments)};var _mpd_qget_u32=Module["_mpd_qget_u32"]=function(){return(_mpd_qget_u32=Module["_mpd_qget_u32"]=Module["asm"]["mpd_qget_u32"]).apply(null,arguments)};var _mpd_qget_i32=Module["_mpd_qget_i32"]=function(){return(_mpd_qget_i32=Module["_mpd_qget_i32"]=Module["asm"]["mpd_qget_i32"]).apply(null,arguments)};var _mpd_qcheck_nan=Module["_mpd_qcheck_nan"]=function(){return(_mpd_qcheck_nan=Module["_mpd_qcheck_nan"]=Module["asm"]["mpd_qcheck_nan"]).apply(null,arguments)};var _mpd_qcheck_nans=Module["_mpd_qcheck_nans"]=function(){return(_mpd_qcheck_nans=Module["_mpd_qcheck_nans"]=Module["asm"]["mpd_qcheck_nans"]).apply(null,arguments)};var _mpd_qshiftl=Module["_mpd_qshiftl"]=function(){return(_mpd_qshiftl=Module["_mpd_qshiftl"]=Module["asm"]["mpd_qshiftl"]).apply(null,arguments)};var _mpd_qcopy_cxx=Module["_mpd_qcopy_cxx"]=function(){return(_mpd_qcopy_cxx=Module["_mpd_qcopy_cxx"]=Module["asm"]["mpd_qcopy_cxx"]).apply(null,arguments)};var _mpd_cmp_total=Module["_mpd_cmp_total"]=function(){return(_mpd_cmp_total=Module["_mpd_cmp_total"]=Module["asm"]["mpd_cmp_total"]).apply(null,arguments)};var _mpd_cmp_total_mag=Module["_mpd_cmp_total_mag"]=function(){return(_mpd_cmp_total_mag=Module["_mpd_cmp_total_mag"]=Module["asm"]["mpd_cmp_total_mag"]).apply(null,arguments)};var _mpd_qshiftr=Module["_mpd_qshiftr"]=function(){return(_mpd_qshiftr=Module["_mpd_qshiftr"]=Module["asm"]["mpd_qshiftr"]).apply(null,arguments)};var _mpd_qshiftn=Module["_mpd_qshiftn"]=function(){return(_mpd_qshiftn=Module["_mpd_qshiftn"]=Module["asm"]["mpd_qshiftn"]).apply(null,arguments)};var _mpd_qadd_ssize=Module["_mpd_qadd_ssize"]=function(){return(_mpd_qadd_ssize=Module["_mpd_qadd_ssize"]=Module["asm"]["mpd_qadd_ssize"]).apply(null,arguments)};var _mpd_qadd_uint=Module["_mpd_qadd_uint"]=function(){return(_mpd_qadd_uint=Module["_mpd_qadd_uint"]=Module["asm"]["mpd_qadd_uint"]).apply(null,arguments)};var _mpd_qsub_ssize=Module["_mpd_qsub_ssize"]=function(){return(_mpd_qsub_ssize=Module["_mpd_qsub_ssize"]=Module["asm"]["mpd_qsub_ssize"]).apply(null,arguments)};var _mpd_qsub_uint=Module["_mpd_qsub_uint"]=function(){return(_mpd_qsub_uint=Module["_mpd_qsub_uint"]=Module["asm"]["mpd_qsub_uint"]).apply(null,arguments)};var _mpd_qadd_i32=Module["_mpd_qadd_i32"]=function(){return(_mpd_qadd_i32=Module["_mpd_qadd_i32"]=Module["asm"]["mpd_qadd_i32"]).apply(null,arguments)};var _mpd_qadd_u32=Module["_mpd_qadd_u32"]=function(){return(_mpd_qadd_u32=Module["_mpd_qadd_u32"]=Module["asm"]["mpd_qadd_u32"]).apply(null,arguments)};var _mpd_qadd_i64=Module["_mpd_qadd_i64"]=function(){return(_mpd_qadd_i64=Module["_mpd_qadd_i64"]=Module["asm"]["mpd_qadd_i64"]).apply(null,arguments)};var _mpd_qadd_u64=Module["_mpd_qadd_u64"]=function(){return(_mpd_qadd_u64=Module["_mpd_qadd_u64"]=Module["asm"]["mpd_qadd_u64"]).apply(null,arguments)};var _mpd_qsub_i32=Module["_mpd_qsub_i32"]=function(){return(_mpd_qsub_i32=Module["_mpd_qsub_i32"]=Module["asm"]["mpd_qsub_i32"]).apply(null,arguments)};var _mpd_qsub_u32=Module["_mpd_qsub_u32"]=function(){return(_mpd_qsub_u32=Module["_mpd_qsub_u32"]=Module["asm"]["mpd_qsub_u32"]).apply(null,arguments)};var _mpd_qsub_i64=Module["_mpd_qsub_i64"]=function(){return(_mpd_qsub_i64=Module["_mpd_qsub_i64"]=Module["asm"]["mpd_qsub_i64"]).apply(null,arguments)};var _mpd_qsub_u64=Module["_mpd_qsub_u64"]=function(){return(_mpd_qsub_u64=Module["_mpd_qsub_u64"]=Module["asm"]["mpd_qsub_u64"]).apply(null,arguments)};var _mpd_qdiv_ssize=Module["_mpd_qdiv_ssize"]=function(){return(_mpd_qdiv_ssize=Module["_mpd_qdiv_ssize"]=Module["asm"]["mpd_qdiv_ssize"]).apply(null,arguments)};var _mpd_qdiv_uint=Module["_mpd_qdiv_uint"]=function(){return(_mpd_qdiv_uint=Module["_mpd_qdiv_uint"]=Module["asm"]["mpd_qdiv_uint"]).apply(null,arguments)};var _mpd_qdiv_i32=Module["_mpd_qdiv_i32"]=function(){return(_mpd_qdiv_i32=Module["_mpd_qdiv_i32"]=Module["asm"]["mpd_qdiv_i32"]).apply(null,arguments)};var _mpd_qdiv_u32=Module["_mpd_qdiv_u32"]=function(){return(_mpd_qdiv_u32=Module["_mpd_qdiv_u32"]=Module["asm"]["mpd_qdiv_u32"]).apply(null,arguments)};var _mpd_qdiv_i64=Module["_mpd_qdiv_i64"]=function(){return(_mpd_qdiv_i64=Module["_mpd_qdiv_i64"]=Module["asm"]["mpd_qdiv_i64"]).apply(null,arguments)};var _mpd_qdiv_u64=Module["_mpd_qdiv_u64"]=function(){return(_mpd_qdiv_u64=Module["_mpd_qdiv_u64"]=Module["asm"]["mpd_qdiv_u64"]).apply(null,arguments)};var _mpd_qln10=Module["_mpd_qln10"]=function(){return(_mpd_qln10=Module["_mpd_qln10"]=Module["asm"]["mpd_qln10"]).apply(null,arguments)};var _mpd_qmul_ssize=Module["_mpd_qmul_ssize"]=function(){return(_mpd_qmul_ssize=Module["_mpd_qmul_ssize"]=Module["asm"]["mpd_qmul_ssize"]).apply(null,arguments)};var _mpd_qmul_uint=Module["_mpd_qmul_uint"]=function(){return(_mpd_qmul_uint=Module["_mpd_qmul_uint"]=Module["asm"]["mpd_qmul_uint"]).apply(null,arguments)};var _mpd_qmul_i32=Module["_mpd_qmul_i32"]=function(){return(_mpd_qmul_i32=Module["_mpd_qmul_i32"]=Module["asm"]["mpd_qmul_i32"]).apply(null,arguments)};var _mpd_qmul_u32=Module["_mpd_qmul_u32"]=function(){return(_mpd_qmul_u32=Module["_mpd_qmul_u32"]=Module["asm"]["mpd_qmul_u32"]).apply(null,arguments)};var _mpd_qmul_i64=Module["_mpd_qmul_i64"]=function(){return(_mpd_qmul_i64=Module["_mpd_qmul_i64"]=Module["asm"]["mpd_qmul_i64"]).apply(null,arguments)};var _mpd_qmul_u64=Module["_mpd_qmul_u64"]=function(){return(_mpd_qmul_u64=Module["_mpd_qmul_u64"]=Module["asm"]["mpd_qmul_u64"]).apply(null,arguments)};var _mpd_qtrunc=Module["_mpd_qtrunc"]=function(){return(_mpd_qtrunc=Module["_mpd_qtrunc"]=Module["asm"]["mpd_qtrunc"]).apply(null,arguments)};var _mpd_qfloor=Module["_mpd_qfloor"]=function(){return(_mpd_qfloor=Module["_mpd_qfloor"]=Module["asm"]["mpd_qfloor"]).apply(null,arguments)};var _mpd_qceil=Module["_mpd_qceil"]=function(){return(_mpd_qceil=Module["_mpd_qceil"]=Module["asm"]["mpd_qceil"]).apply(null,arguments)};var _mpd_qinvroot=Module["_mpd_qinvroot"]=function(){return(_mpd_qinvroot=Module["_mpd_qinvroot"]=Module["asm"]["mpd_qinvroot"]).apply(null,arguments)};var _mpd_sizeinbase=Module["_mpd_sizeinbase"]=function(){return(_mpd_sizeinbase=Module["_mpd_sizeinbase"]=Module["asm"]["mpd_sizeinbase"]).apply(null,arguments)};var _mpd_qexport_u16=Module["_mpd_qexport_u16"]=function(){return(_mpd_qexport_u16=Module["_mpd_qexport_u16"]=Module["asm"]["mpd_qexport_u16"]).apply(null,arguments)};var _mpd_qimport_u16=Module["_mpd_qimport_u16"]=function(){return(_mpd_qimport_u16=Module["_mpd_qimport_u16"]=Module["asm"]["mpd_qimport_u16"]).apply(null,arguments)};var _mpd_from_uint128_triple=Module["_mpd_from_uint128_triple"]=function(){return(_mpd_from_uint128_triple=Module["_mpd_from_uint128_triple"]=Module["asm"]["mpd_from_uint128_triple"]).apply(null,arguments)};var _mpd_as_uint128_triple=Module["_mpd_as_uint128_triple"]=function(){return(_mpd_as_uint128_triple=Module["_mpd_as_uint128_triple"]=Module["asm"]["mpd_as_uint128_triple"]).apply(null,arguments)};var _transpose_pow2=Module["_transpose_pow2"]=function(){return(_transpose_pow2=Module["_transpose_pow2"]=Module["asm"]["transpose_pow2"]).apply(null,arguments)};var _std_trans=Module["_std_trans"]=function(){return(_std_trans=Module["_std_trans"]=Module["asm"]["std_trans"]).apply(null,arguments)};var _mmap=Module["_mmap"]=function(){return(_mmap=Module["_mmap"]=Module["asm"]["mmap"]).apply(null,arguments)};var _munmap=Module["_munmap"]=function(){return(_munmap=Module["_munmap"]=Module["asm"]["munmap"]).apply(null,arguments)};var _msync=Module["_msync"]=function(){return(_msync=Module["_msync"]=Module["asm"]["msync"]).apply(null,arguments)};var _madvise=Module["_madvise"]=function(){return(_madvise=Module["_madvise"]=Module["asm"]["madvise"]).apply(null,arguments)};var _ftruncate=Module["_ftruncate"]=function(){return(_ftruncate=Module["_ftruncate"]=Module["asm"]["ftruncate"]).apply(null,arguments)};var _mremap=Module["_mremap"]=function(){return(_mremap=Module["_mremap"]=Module["asm"]["mremap"]).apply(null,arguments)};var __PySignal_AfterFork=Module["__PySignal_AfterFork"]=function(){return(__PySignal_AfterFork=Module["__PySignal_AfterFork"]=Module["asm"]["_PySignal_AfterFork"]).apply(null,arguments)};var _PyOS_AfterFork=Module["_PyOS_AfterFork"]=function(){return(_PyOS_AfterFork=Module["_PyOS_AfterFork"]=Module["asm"]["PyOS_AfterFork"]).apply(null,arguments)};var __PyLong_FromUid=Module["__PyLong_FromUid"]=function(){return(__PyLong_FromUid=Module["__PyLong_FromUid"]=Module["asm"]["_PyLong_FromUid"]).apply(null,arguments)};var __PyLong_FromGid=Module["__PyLong_FromGid"]=function(){return(__PyLong_FromGid=Module["__PyLong_FromGid"]=Module["asm"]["_PyLong_FromGid"]).apply(null,arguments)};var __Py_Sigset_Converter=Module["__Py_Sigset_Converter"]=function(){return(__Py_Sigset_Converter=Module["__Py_Sigset_Converter"]=Module["asm"]["_Py_Sigset_Converter"]).apply(null,arguments)};var _sigemptyset=Module["_sigemptyset"]=function(){return(_sigemptyset=Module["_sigemptyset"]=Module["asm"]["sigemptyset"]).apply(null,arguments)};var _sigaddset=Module["_sigaddset"]=function(){return(_sigaddset=Module["_sigaddset"]=Module["asm"]["sigaddset"]).apply(null,arguments)};var _access=Module["_access"]=function(){return(_access=Module["_access"]=Module["asm"]["access"]).apply(null,arguments)};var _ttyname_r=Module["_ttyname_r"]=function(){return(_ttyname_r=Module["_ttyname_r"]=Module["asm"]["ttyname_r"]).apply(null,arguments)};var _fchdir=Module["_fchdir"]=function(){return(_fchdir=Module["_fchdir"]=Module["asm"]["fchdir"]).apply(null,arguments)};var _fchmod=Module["_fchmod"]=function(){return(_fchmod=Module["_fchmod"]=Module["asm"]["fchmod"]).apply(null,arguments)};var _lchmod=Module["_lchmod"]=function(){return(_lchmod=Module["_lchmod"]=Module["asm"]["lchmod"]).apply(null,arguments)};var _chmod=Module["_chmod"]=function(){return(_chmod=Module["_chmod"]=Module["asm"]["chmod"]).apply(null,arguments)};var _fchown=Module["_fchown"]=function(){return(_fchown=Module["_fchown"]=Module["asm"]["fchown"]).apply(null,arguments)};var _lchown=Module["_lchown"]=function(){return(_lchown=Module["_lchown"]=Module["asm"]["lchown"]).apply(null,arguments)};var _chown=Module["_chown"]=function(){return(_chown=Module["_chown"]=Module["asm"]["chown"]).apply(null,arguments)};var _ctermid=Module["_ctermid"]=function(){return(_ctermid=Module["_ctermid"]=Module["asm"]["ctermid"]).apply(null,arguments)};var _link=Module["_link"]=function(){return(_link=Module["_link"]=Module["asm"]["link"]).apply(null,arguments)};var _fdopendir=Module["_fdopendir"]=function(){return(_fdopendir=Module["_fdopendir"]=Module["asm"]["fdopendir"]).apply(null,arguments)};var _rewinddir=Module["_rewinddir"]=function(){return(_rewinddir=Module["_rewinddir"]=Module["asm"]["rewinddir"]).apply(null,arguments)};var _mkdir=Module["_mkdir"]=function(){return(_mkdir=Module["_mkdir"]=Module["asm"]["mkdir"]).apply(null,arguments)};var _getpriority=Module["_getpriority"]=function(){return(_getpriority=Module["_getpriority"]=Module["asm"]["getpriority"]).apply(null,arguments)};var _setpriority=Module["_setpriority"]=function(){return(_setpriority=Module["_setpriority"]=Module["asm"]["setpriority"]).apply(null,arguments)};var _posix_spawn_file_actions_init=Module["_posix_spawn_file_actions_init"]=function(){return(_posix_spawn_file_actions_init=Module["_posix_spawn_file_actions_init"]=Module["asm"]["posix_spawn_file_actions_init"]).apply(null,arguments)};var _posix_spawn_file_actions_addopen=Module["_posix_spawn_file_actions_addopen"]=function(){return(_posix_spawn_file_actions_addopen=Module["_posix_spawn_file_actions_addopen"]=Module["asm"]["posix_spawn_file_actions_addopen"]).apply(null,arguments)};var _posix_spawn_file_actions_addclose=Module["_posix_spawn_file_actions_addclose"]=function(){return(_posix_spawn_file_actions_addclose=Module["_posix_spawn_file_actions_addclose"]=Module["asm"]["posix_spawn_file_actions_addclose"]).apply(null,arguments)};var _posix_spawn_file_actions_adddup2=Module["_posix_spawn_file_actions_adddup2"]=function(){return(_posix_spawn_file_actions_adddup2=Module["_posix_spawn_file_actions_adddup2"]=Module["asm"]["posix_spawn_file_actions_adddup2"]).apply(null,arguments)};var _posix_spawnattr_init=Module["_posix_spawnattr_init"]=function(){return(_posix_spawnattr_init=Module["_posix_spawnattr_init"]=Module["asm"]["posix_spawnattr_init"]).apply(null,arguments)};var _posix_spawnattr_setpgroup=Module["_posix_spawnattr_setpgroup"]=function(){return(_posix_spawnattr_setpgroup=Module["_posix_spawnattr_setpgroup"]=Module["asm"]["posix_spawnattr_setpgroup"]).apply(null,arguments)};var _posix_spawnattr_setsigmask=Module["_posix_spawnattr_setsigmask"]=function(){return(_posix_spawnattr_setsigmask=Module["_posix_spawnattr_setsigmask"]=Module["asm"]["posix_spawnattr_setsigmask"]).apply(null,arguments)};var _posix_spawnattr_setsigdefault=Module["_posix_spawnattr_setsigdefault"]=function(){return(_posix_spawnattr_setsigdefault=Module["_posix_spawnattr_setsigdefault"]=Module["asm"]["posix_spawnattr_setsigdefault"]).apply(null,arguments)};var _posix_spawnattr_setschedpolicy=Module["_posix_spawnattr_setschedpolicy"]=function(){return(_posix_spawnattr_setschedpolicy=Module["_posix_spawnattr_setschedpolicy"]=Module["asm"]["posix_spawnattr_setschedpolicy"]).apply(null,arguments)};var _posix_spawnattr_setschedparam=Module["_posix_spawnattr_setschedparam"]=function(){return(_posix_spawnattr_setschedparam=Module["_posix_spawnattr_setschedparam"]=Module["asm"]["posix_spawnattr_setschedparam"]).apply(null,arguments)};var _posix_spawnattr_setflags=Module["_posix_spawnattr_setflags"]=function(){return(_posix_spawnattr_setflags=Module["_posix_spawnattr_setflags"]=Module["asm"]["posix_spawnattr_setflags"]).apply(null,arguments)};var _posix_spawnattr_destroy=Module["_posix_spawnattr_destroy"]=function(){return(_posix_spawnattr_destroy=Module["_posix_spawnattr_destroy"]=Module["asm"]["posix_spawnattr_destroy"]).apply(null,arguments)};var _posix_spawn_file_actions_destroy=Module["_posix_spawn_file_actions_destroy"]=function(){return(_posix_spawn_file_actions_destroy=Module["_posix_spawn_file_actions_destroy"]=Module["asm"]["posix_spawn_file_actions_destroy"]).apply(null,arguments)};var _unlinkat=Module["_unlinkat"]=function(){return(_unlinkat=Module["_unlinkat"]=Module["asm"]["unlinkat"]).apply(null,arguments)};var _rmdir=Module["_rmdir"]=function(){return(_rmdir=Module["_rmdir"]=Module["asm"]["rmdir"]).apply(null,arguments)};var _symlink=Module["_symlink"]=function(){return(_symlink=Module["_symlink"]=Module["asm"]["symlink"]).apply(null,arguments)};var _uname=Module["_uname"]=function(){return(_uname=Module["_uname"]=Module["asm"]["uname"]).apply(null,arguments)};var _futimens=Module["_futimens"]=function(){return(_futimens=Module["_futimens"]=Module["asm"]["futimens"]).apply(null,arguments)};var _fexecve=Module["_fexecve"]=function(){return(_fexecve=Module["_fexecve"]=Module["asm"]["fexecve"]).apply(null,arguments)};var _sched_yield=Module["_sched_yield"]=function(){return(_sched_yield=Module["_sched_yield"]=Module["asm"]["sched_yield"]).apply(null,arguments)};var _openpty=Module["_openpty"]=function(){return(_openpty=Module["_openpty"]=Module["asm"]["openpty"]).apply(null,arguments)};var _forkpty=Module["_forkpty"]=function(){return(_forkpty=Module["_forkpty"]=Module["asm"]["forkpty"]).apply(null,arguments)};var _getegid=Module["_getegid"]=function(){return(_getegid=Module["_getegid"]=Module["asm"]["getegid"]).apply(null,arguments)};var _geteuid=Module["_geteuid"]=function(){return(_geteuid=Module["_geteuid"]=Module["asm"]["geteuid"]).apply(null,arguments)};var _getgid=Module["_getgid"]=function(){return(_getgid=Module["_getgid"]=Module["asm"]["getgid"]).apply(null,arguments)};var _getgroups=Module["_getgroups"]=function(){return(_getgroups=Module["_getgroups"]=Module["asm"]["getgroups"]).apply(null,arguments)};var _getpgrp=Module["_getpgrp"]=function(){return(_getpgrp=Module["_getpgrp"]=Module["asm"]["getpgrp"]).apply(null,arguments)};var _getppid=Module["_getppid"]=function(){return(_getppid=Module["_getppid"]=Module["asm"]["getppid"]).apply(null,arguments)};var _getuid=Module["_getuid"]=function(){return(_getuid=Module["_getuid"]=Module["asm"]["getuid"]).apply(null,arguments)};var _getlogin=Module["_getlogin"]=function(){return(_getlogin=Module["_getlogin"]=Module["asm"]["getlogin"]).apply(null,arguments)};var _killpg=Module["_killpg"]=function(){return(_killpg=Module["_killpg"]=Module["asm"]["killpg"]).apply(null,arguments)};var _setuid=Module["_setuid"]=function(){return(_setuid=Module["_setuid"]=Module["asm"]["setuid"]).apply(null,arguments)};var _seteuid=Module["_seteuid"]=function(){return(_seteuid=Module["_seteuid"]=Module["asm"]["seteuid"]).apply(null,arguments)};var _setgid=Module["_setgid"]=function(){return(_setgid=Module["_setgid"]=Module["asm"]["setgid"]).apply(null,arguments)};var _setegid=Module["_setegid"]=function(){return(_setegid=Module["_setegid"]=Module["asm"]["setegid"]).apply(null,arguments)};var _getpgid=Module["_getpgid"]=function(){return(_getpgid=Module["_getpgid"]=Module["asm"]["getpgid"]).apply(null,arguments)};var _setpgrp=Module["_setpgrp"]=function(){return(_setpgrp=Module["_setpgrp"]=Module["asm"]["setpgrp"]).apply(null,arguments)};var _wait=Module["_wait"]=function(){return(_wait=Module["_wait"]=Module["asm"]["wait"]).apply(null,arguments)};var _waitpid=Module["_waitpid"]=function(){return(_waitpid=Module["_waitpid"]=Module["asm"]["waitpid"]).apply(null,arguments)};var _getsid=Module["_getsid"]=function(){return(_getsid=Module["_getsid"]=Module["asm"]["getsid"]).apply(null,arguments)};var _setpgid=Module["_setpgid"]=function(){return(_setpgid=Module["_setpgid"]=Module["asm"]["setpgid"]).apply(null,arguments)};var _tcgetpgrp=Module["_tcgetpgrp"]=function(){return(_tcgetpgrp=Module["_tcgetpgrp"]=Module["asm"]["tcgetpgrp"]).apply(null,arguments)};var _tcsetpgrp=Module["_tcsetpgrp"]=function(){return(_tcsetpgrp=Module["_tcsetpgrp"]=Module["asm"]["tcsetpgrp"]).apply(null,arguments)};var _lockf=Module["_lockf"]=function(){return(_lockf=Module["_lockf"]=Module["asm"]["lockf"]).apply(null,arguments)};var _readv=Module["_readv"]=function(){return(_readv=Module["_readv"]=Module["asm"]["readv"]).apply(null,arguments)};var _pread=Module["_pread"]=function(){return(_pread=Module["_pread"]=Module["asm"]["pread"]).apply(null,arguments)};var _writev=Module["_writev"]=function(){return(_writev=Module["_writev"]=Module["asm"]["writev"]).apply(null,arguments)};var _pwrite=Module["_pwrite"]=function(){return(_pwrite=Module["_pwrite"]=Module["asm"]["pwrite"]).apply(null,arguments)};var _pipe=Module["_pipe"]=function(){return(_pipe=Module["_pipe"]=Module["asm"]["pipe"]).apply(null,arguments)};var _mkfifoat=Module["_mkfifoat"]=function(){return(_mkfifoat=Module["_mkfifoat"]=Module["asm"]["mkfifoat"]).apply(null,arguments)};var _mkfifo=Module["_mkfifo"]=function(){return(_mkfifo=Module["_mkfifo"]=Module["asm"]["mkfifo"]).apply(null,arguments)};var _mknodat=Module["_mknodat"]=function(){return(_mknodat=Module["_mknodat"]=Module["asm"]["mknodat"]).apply(null,arguments)};var _mknod=Module["_mknod"]=function(){return(_mknod=Module["_mknod"]=Module["asm"]["mknod"]).apply(null,arguments)};var _truncate=Module["_truncate"]=function(){return(_truncate=Module["_truncate"]=Module["asm"]["truncate"]).apply(null,arguments)};var _posix_fallocate=Module["_posix_fallocate"]=function(){return(_posix_fallocate=Module["_posix_fallocate"]=Module["asm"]["posix_fallocate"]).apply(null,arguments)};var _posix_fadvise=Module["_posix_fadvise"]=function(){return(_posix_fadvise=Module["_posix_fadvise"]=Module["asm"]["posix_fadvise"]).apply(null,arguments)};var _unsetenv=Module["_unsetenv"]=function(){return(_unsetenv=Module["_unsetenv"]=Module["asm"]["unsetenv"]).apply(null,arguments)};var _fsync=Module["_fsync"]=function(){return(_fsync=Module["_fsync"]=Module["asm"]["fsync"]).apply(null,arguments)};var _sync=Module["_sync"]=function(){return(_sync=Module["_sync"]=Module["asm"]["sync"]).apply(null,arguments)};var _fdatasync=Module["_fdatasync"]=function(){return(_fdatasync=Module["_fdatasync"]=Module["asm"]["fdatasync"]).apply(null,arguments)};var _fstatvfs=Module["_fstatvfs"]=function(){return(_fstatvfs=Module["_fstatvfs"]=Module["asm"]["fstatvfs"]).apply(null,arguments)};var _statvfs=Module["_statvfs"]=function(){return(_statvfs=Module["_statvfs"]=Module["asm"]["statvfs"]).apply(null,arguments)};var _fpathconf=Module["_fpathconf"]=function(){return(_fpathconf=Module["_fpathconf"]=Module["asm"]["fpathconf"]).apply(null,arguments)};var _pathconf=Module["_pathconf"]=function(){return(_pathconf=Module["_pathconf"]=Module["asm"]["pathconf"]).apply(null,arguments)};var _setresuid=Module["_setresuid"]=function(){return(_setresuid=Module["_setresuid"]=Module["asm"]["setresuid"]).apply(null,arguments)};var _setresgid=Module["_setresgid"]=function(){return(_setresgid=Module["_setresgid"]=Module["asm"]["setresgid"]).apply(null,arguments)};var _getresuid=Module["_getresuid"]=function(){return(_getresuid=Module["_getresuid"]=Module["asm"]["getresuid"]).apply(null,arguments)};var _getresgid=Module["_getresgid"]=function(){return(_getresgid=Module["_getresgid"]=Module["asm"]["getresgid"]).apply(null,arguments)};var _lstat=Module["_lstat"]=function(){return(_lstat=Module["_lstat"]=Module["asm"]["lstat"]).apply(null,arguments)};var _fstatat=Module["_fstatat"]=function(){return(_fstatat=Module["_fstatat"]=Module["asm"]["fstatat"]).apply(null,arguments)};var _rename=Module["_rename"]=function(){return(_rename=Module["_rename"]=Module["asm"]["rename"]).apply(null,arguments)};var _unlink=Module["_unlink"]=function(){return(_unlink=Module["_unlink"]=Module["asm"]["unlink"]).apply(null,arguments)};var _futimesat=Module["_futimesat"]=function(){return(_futimesat=Module["_futimesat"]=Module["asm"]["futimesat"]).apply(null,arguments)};var _qsort=Module["_qsort"]=function(){return(_qsort=Module["_qsort"]=Module["asm"]["qsort"]).apply(null,arguments)};var _isalnum=Module["_isalnum"]=function(){return(_isalnum=Module["_isalnum"]=Module["asm"]["isalnum"]).apply(null,arguments)};var _toupper=Module["_toupper"]=function(){return(_toupper=Module["_toupper"]=Module["asm"]["toupper"]).apply(null,arguments)};var _PySignal_SetWakeupFd=Module["_PySignal_SetWakeupFd"]=function(){return(_PySignal_SetWakeupFd=Module["_PySignal_SetWakeupFd"]=Module["asm"]["PySignal_SetWakeupFd"]).apply(null,arguments)};var _PyErr_SetInterruptEx=Module["_PyErr_SetInterruptEx"]=function(){return(_PyErr_SetInterruptEx=Module["_PyErr_SetInterruptEx"]=Module["asm"]["PyErr_SetInterruptEx"]).apply(null,arguments)};var __PyErr_CheckSignals=Module["__PyErr_CheckSignals"]=function(){return(__PyErr_CheckSignals=Module["__PyErr_CheckSignals"]=Module["asm"]["_PyErr_CheckSignals"]).apply(null,arguments)};var _PyErr_SetInterrupt=Module["_PyErr_SetInterrupt"]=function(){return(_PyErr_SetInterrupt=Module["_PyErr_SetInterrupt"]=Module["asm"]["PyErr_SetInterrupt"]).apply(null,arguments)};var _PyOS_InterruptOccurred=Module["_PyOS_InterruptOccurred"]=function(){return(_PyOS_InterruptOccurred=Module["_PyOS_InterruptOccurred"]=Module["asm"]["PyOS_InterruptOccurred"]).apply(null,arguments)};var __PyOS_IsMainThread=Module["__PyOS_IsMainThread"]=function(){return(__PyOS_IsMainThread=Module["__PyOS_IsMainThread"]=Module["asm"]["_PyOS_IsMainThread"]).apply(null,arguments)};var _setitimer=Module["_setitimer"]=function(){return(_setitimer=Module["_setitimer"]=Module["asm"]["setitimer"]).apply(null,arguments)};var _getitimer=Module["_getitimer"]=function(){return(_getitimer=Module["_getitimer"]=Module["asm"]["getitimer"]).apply(null,arguments)};var _strsignal=Module["_strsignal"]=function(){return(_strsignal=Module["_strsignal"]=Module["asm"]["strsignal"]).apply(null,arguments)};var _strstr=Module["_strstr"]=function(){return(_strstr=Module["_strstr"]=Module["asm"]["strstr"]).apply(null,arguments)};var _pause=Module["_pause"]=function(){return(_pause=Module["_pause"]=Module["asm"]["pause"]).apply(null,arguments)};var _sigwait=Module["_sigwait"]=function(){return(_sigwait=Module["_sigwait"]=Module["asm"]["sigwait"]).apply(null,arguments)};var _sigfillset=Module["_sigfillset"]=function(){return(_sigfillset=Module["_sigfillset"]=Module["asm"]["sigfillset"]).apply(null,arguments)};var _sigismember=Module["_sigismember"]=function(){return(_sigismember=Module["_sigismember"]=Module["asm"]["sigismember"]).apply(null,arguments)};var ___libc_current_sigrtmin=Module["___libc_current_sigrtmin"]=function(){return(___libc_current_sigrtmin=Module["___libc_current_sigrtmin"]=Module["asm"]["__libc_current_sigrtmin"]).apply(null,arguments)};var ___libc_current_sigrtmax=Module["___libc_current_sigrtmax"]=function(){return(___libc_current_sigrtmax=Module["___libc_current_sigrtmax"]=Module["asm"]["__libc_current_sigrtmax"]).apply(null,arguments)};var _clock_settime=Module["_clock_settime"]=function(){return(_clock_settime=Module["_clock_settime"]=Module["asm"]["clock_settime"]).apply(null,arguments)};var _getrusage=Module["_getrusage"]=function(){return(_getrusage=Module["_getrusage"]=Module["asm"]["getrusage"]).apply(null,arguments)};var _wcscoll=Module["_wcscoll"]=function(){return(_wcscoll=Module["_wcscoll"]=Module["asm"]["wcscoll"]).apply(null,arguments)};var _wcsxfrm=Module["_wcsxfrm"]=function(){return(_wcsxfrm=Module["_wcsxfrm"]=Module["asm"]["wcsxfrm"]).apply(null,arguments)};var _gettext=Module["_gettext"]=function(){return(_gettext=Module["_gettext"]=Module["asm"]["gettext"]).apply(null,arguments)};var _dgettext=Module["_dgettext"]=function(){return(_dgettext=Module["_dgettext"]=Module["asm"]["dgettext"]).apply(null,arguments)};var _dcgettext=Module["_dcgettext"]=function(){return(_dcgettext=Module["_dcgettext"]=Module["asm"]["dcgettext"]).apply(null,arguments)};var _textdomain=Module["_textdomain"]=function(){return(_textdomain=Module["_textdomain"]=Module["asm"]["textdomain"]).apply(null,arguments)};var _bindtextdomain=Module["_bindtextdomain"]=function(){return(_bindtextdomain=Module["_bindtextdomain"]=Module["asm"]["bindtextdomain"]).apply(null,arguments)};var _bind_textdomain_codeset=Module["_bind_textdomain_codeset"]=function(){return(_bind_textdomain_codeset=Module["_bind_textdomain_codeset"]=Module["asm"]["bind_textdomain_codeset"]).apply(null,arguments)};var _PyNumber_AsOff_t=Module["_PyNumber_AsOff_t"]=function(){return(_PyNumber_AsOff_t=Module["_PyNumber_AsOff_t"]=Module["asm"]["PyNumber_AsOff_t"]).apply(null,arguments)};var __PyIO_get_module_state=Module["__PyIO_get_module_state"]=function(){return(__PyIO_get_module_state=Module["__PyIO_get_module_state"]=Module["asm"]["_PyIO_get_module_state"]).apply(null,arguments)};var __PyIOBase_check_closed=Module["__PyIOBase_check_closed"]=function(){return(__PyIOBase_check_closed=Module["__PyIOBase_check_closed"]=Module["asm"]["_PyIOBase_check_closed"]).apply(null,arguments)};var __PyIOBase_finalize=Module["__PyIOBase_finalize"]=function(){return(__PyIOBase_finalize=Module["__PyIOBase_finalize"]=Module["asm"]["_PyIOBase_finalize"]).apply(null,arguments)};var __PyIOBase_check_seekable=Module["__PyIOBase_check_seekable"]=function(){return(__PyIOBase_check_seekable=Module["__PyIOBase_check_seekable"]=Module["asm"]["_PyIOBase_check_seekable"]).apply(null,arguments)};var __PyIOBase_check_readable=Module["__PyIOBase_check_readable"]=function(){return(__PyIOBase_check_readable=Module["__PyIOBase_check_readable"]=Module["asm"]["_PyIOBase_check_readable"]).apply(null,arguments)};var __PyIOBase_check_writable=Module["__PyIOBase_check_writable"]=function(){return(__PyIOBase_check_writable=Module["__PyIOBase_check_writable"]=Module["asm"]["_PyIOBase_check_writable"]).apply(null,arguments)};var __PyIO_trap_eintr=Module["__PyIO_trap_eintr"]=function(){return(__PyIO_trap_eintr=Module["__PyIO_trap_eintr"]=Module["asm"]["_PyIO_trap_eintr"]).apply(null,arguments)};var __PyFileIO_closed=Module["__PyFileIO_closed"]=function(){return(__PyFileIO_closed=Module["__PyFileIO_closed"]=Module["asm"]["_PyFileIO_closed"]).apply(null,arguments)};var __PyIncrementalNewlineDecoder_decode=Module["__PyIncrementalNewlineDecoder_decode"]=function(){return(__PyIncrementalNewlineDecoder_decode=Module["__PyIncrementalNewlineDecoder_decode"]=Module["asm"]["_PyIncrementalNewlineDecoder_decode"]).apply(null,arguments)};var __PyIO_find_line_ending=Module["__PyIO_find_line_ending"]=function(){return(__PyIO_find_line_ending=Module["__PyIO_find_line_ending"]=Module["asm"]["_PyIO_find_line_ending"]).apply(null,arguments)};var _getrlimit=Module["_getrlimit"]=function(){return(_getrlimit=Module["_getrlimit"]=Module["asm"]["getrlimit"]).apply(null,arguments)};var _setrlimit=Module["_setrlimit"]=function(){return(_setrlimit=Module["_setrlimit"]=Module["asm"]["setrlimit"]).apply(null,arguments)};var _PyTraceMalloc_Track=Module["_PyTraceMalloc_Track"]=function(){return(_PyTraceMalloc_Track=Module["_PyTraceMalloc_Track"]=Module["asm"]["PyTraceMalloc_Track"]).apply(null,arguments)};var _PyTraceMalloc_Untrack=Module["_PyTraceMalloc_Untrack"]=function(){return(_PyTraceMalloc_Untrack=Module["_PyTraceMalloc_Untrack"]=Module["asm"]["PyTraceMalloc_Untrack"]).apply(null,arguments)};var __PyTraceMalloc_GetTraceback=Module["__PyTraceMalloc_GetTraceback"]=function(){return(__PyTraceMalloc_GetTraceback=Module["__PyTraceMalloc_GetTraceback"]=Module["asm"]["_PyTraceMalloc_GetTraceback"]).apply(null,arguments)};var _ffi_prep_cif_core=Module["_ffi_prep_cif_core"]=function(){return(_ffi_prep_cif_core=Module["_ffi_prep_cif_core"]=Module["asm"]["ffi_prep_cif_core"]).apply(null,arguments)};var _ffi_prep_cif_machdep_var=Module["_ffi_prep_cif_machdep_var"]=function(){return(_ffi_prep_cif_machdep_var=Module["_ffi_prep_cif_machdep_var"]=Module["asm"]["ffi_prep_cif_machdep_var"]).apply(null,arguments)};var _ffi_prep_cif_machdep=Module["_ffi_prep_cif_machdep"]=function(){return(_ffi_prep_cif_machdep=Module["_ffi_prep_cif_machdep"]=Module["asm"]["ffi_prep_cif_machdep"]).apply(null,arguments)};var _ffi_prep_closure=Module["_ffi_prep_closure"]=function(){return(_ffi_prep_closure=Module["_ffi_prep_closure"]=Module["asm"]["ffi_prep_closure"]).apply(null,arguments)};var _ffi_get_struct_offsets=Module["_ffi_get_struct_offsets"]=function(){return(_ffi_get_struct_offsets=Module["_ffi_get_struct_offsets"]=Module["asm"]["ffi_get_struct_offsets"]).apply(null,arguments)};var _ffi_java_raw_size=Module["_ffi_java_raw_size"]=function(){return(_ffi_java_raw_size=Module["_ffi_java_raw_size"]=Module["asm"]["ffi_java_raw_size"]).apply(null,arguments)};var _ffi_java_raw_to_ptrarray=Module["_ffi_java_raw_to_ptrarray"]=function(){return(_ffi_java_raw_to_ptrarray=Module["_ffi_java_raw_to_ptrarray"]=Module["asm"]["ffi_java_raw_to_ptrarray"]).apply(null,arguments)};var _ffi_java_ptrarray_to_raw=Module["_ffi_java_ptrarray_to_raw"]=function(){return(_ffi_java_ptrarray_to_raw=Module["_ffi_java_ptrarray_to_raw"]=Module["asm"]["ffi_java_ptrarray_to_raw"]).apply(null,arguments)};var _ffi_java_raw_call=Module["_ffi_java_raw_call"]=function(){return(_ffi_java_raw_call=Module["_ffi_java_raw_call"]=Module["asm"]["ffi_java_raw_call"]).apply(null,arguments)};var _ffi_prep_java_raw_closure_loc=Module["_ffi_prep_java_raw_closure_loc"]=function(){return(_ffi_prep_java_raw_closure_loc=Module["_ffi_prep_java_raw_closure_loc"]=Module["asm"]["ffi_prep_java_raw_closure_loc"]).apply(null,arguments)};var _ffi_prep_java_raw_closure=Module["_ffi_prep_java_raw_closure"]=function(){return(_ffi_prep_java_raw_closure=Module["_ffi_prep_java_raw_closure"]=Module["asm"]["ffi_prep_java_raw_closure"]).apply(null,arguments)};var _ffi_tramp_is_supported=Module["_ffi_tramp_is_supported"]=function(){return(_ffi_tramp_is_supported=Module["_ffi_tramp_is_supported"]=Module["asm"]["ffi_tramp_is_supported"]).apply(null,arguments)};var _ffi_tramp_alloc=Module["_ffi_tramp_alloc"]=function(){return(_ffi_tramp_alloc=Module["_ffi_tramp_alloc"]=Module["asm"]["ffi_tramp_alloc"]).apply(null,arguments)};var _ffi_tramp_set_parms=Module["_ffi_tramp_set_parms"]=function(){return(_ffi_tramp_set_parms=Module["_ffi_tramp_set_parms"]=Module["asm"]["ffi_tramp_set_parms"]).apply(null,arguments)};var _ffi_tramp_get_addr=Module["_ffi_tramp_get_addr"]=function(){return(_ffi_tramp_get_addr=Module["_ffi_tramp_get_addr"]=Module["asm"]["ffi_tramp_get_addr"]).apply(null,arguments)};var _ffi_tramp_free=Module["_ffi_tramp_free"]=function(){return(_ffi_tramp_free=Module["_ffi_tramp_free"]=Module["asm"]["ffi_tramp_free"]).apply(null,arguments)};var _sqlite3_status64=Module["_sqlite3_status64"]=function(){return(_sqlite3_status64=Module["_sqlite3_status64"]=Module["asm"]["sqlite3_status64"]).apply(null,arguments)};var _sqlite3_log=Module["_sqlite3_log"]=function(){return(_sqlite3_log=Module["_sqlite3_log"]=Module["asm"]["sqlite3_log"]).apply(null,arguments)};var _sqlite3_mutex_enter=Module["_sqlite3_mutex_enter"]=function(){return(_sqlite3_mutex_enter=Module["_sqlite3_mutex_enter"]=Module["asm"]["sqlite3_mutex_enter"]).apply(null,arguments)};var _sqlite3_mutex_leave=Module["_sqlite3_mutex_leave"]=function(){return(_sqlite3_mutex_leave=Module["_sqlite3_mutex_leave"]=Module["asm"]["sqlite3_mutex_leave"]).apply(null,arguments)};var _sqlite3_status=Module["_sqlite3_status"]=function(){return(_sqlite3_status=Module["_sqlite3_status"]=Module["asm"]["sqlite3_status"]).apply(null,arguments)};var _sqlite3_db_status=Module["_sqlite3_db_status"]=function(){return(_sqlite3_db_status=Module["_sqlite3_db_status"]=Module["asm"]["sqlite3_db_status"]).apply(null,arguments)};var _sqlite3_msize=Module["_sqlite3_msize"]=function(){return(_sqlite3_msize=Module["_sqlite3_msize"]=Module["asm"]["sqlite3_msize"]).apply(null,arguments)};var _sqlite3_vfs_find=Module["_sqlite3_vfs_find"]=function(){return(_sqlite3_vfs_find=Module["_sqlite3_vfs_find"]=Module["asm"]["sqlite3_vfs_find"]).apply(null,arguments)};var _sqlite3_config=Module["_sqlite3_config"]=function(){return(_sqlite3_config=Module["_sqlite3_config"]=Module["asm"]["sqlite3_config"]).apply(null,arguments)};var _sqlite3_vfs_register=Module["_sqlite3_vfs_register"]=function(){return(_sqlite3_vfs_register=Module["_sqlite3_vfs_register"]=Module["asm"]["sqlite3_vfs_register"]).apply(null,arguments)};var _sqlite3_vfs_unregister=Module["_sqlite3_vfs_unregister"]=function(){return(_sqlite3_vfs_unregister=Module["_sqlite3_vfs_unregister"]=Module["asm"]["sqlite3_vfs_unregister"]).apply(null,arguments)};var _sqlite3_mutex_alloc=Module["_sqlite3_mutex_alloc"]=function(){return(_sqlite3_mutex_alloc=Module["_sqlite3_mutex_alloc"]=Module["asm"]["sqlite3_mutex_alloc"]).apply(null,arguments)};var _sqlite3_mutex_free=Module["_sqlite3_mutex_free"]=function(){return(_sqlite3_mutex_free=Module["_sqlite3_mutex_free"]=Module["asm"]["sqlite3_mutex_free"]).apply(null,arguments)};var _sqlite3_mutex_try=Module["_sqlite3_mutex_try"]=function(){return(_sqlite3_mutex_try=Module["_sqlite3_mutex_try"]=Module["asm"]["sqlite3_mutex_try"]).apply(null,arguments)};var _sqlite3_release_memory=Module["_sqlite3_release_memory"]=function(){return(_sqlite3_release_memory=Module["_sqlite3_release_memory"]=Module["asm"]["sqlite3_release_memory"]).apply(null,arguments)};var _sqlite3_memory_alarm=Module["_sqlite3_memory_alarm"]=function(){return(_sqlite3_memory_alarm=Module["_sqlite3_memory_alarm"]=Module["asm"]["sqlite3_memory_alarm"]).apply(null,arguments)};var _sqlite3_soft_heap_limit64=Module["_sqlite3_soft_heap_limit64"]=function(){return(_sqlite3_soft_heap_limit64=Module["_sqlite3_soft_heap_limit64"]=Module["asm"]["sqlite3_soft_heap_limit64"]).apply(null,arguments)};var _sqlite3_memory_used=Module["_sqlite3_memory_used"]=function(){return(_sqlite3_memory_used=Module["_sqlite3_memory_used"]=Module["asm"]["sqlite3_memory_used"]).apply(null,arguments)};var _sqlite3_soft_heap_limit=Module["_sqlite3_soft_heap_limit"]=function(){return(_sqlite3_soft_heap_limit=Module["_sqlite3_soft_heap_limit"]=Module["asm"]["sqlite3_soft_heap_limit"]).apply(null,arguments)};var _sqlite3_memory_highwater=Module["_sqlite3_memory_highwater"]=function(){return(_sqlite3_memory_highwater=Module["_sqlite3_memory_highwater"]=Module["asm"]["sqlite3_memory_highwater"]).apply(null,arguments)};var _sqlite3_malloc=Module["_sqlite3_malloc"]=function(){return(_sqlite3_malloc=Module["_sqlite3_malloc"]=Module["asm"]["sqlite3_malloc"]).apply(null,arguments)};var _sqlite3_malloc64=Module["_sqlite3_malloc64"]=function(){return(_sqlite3_malloc64=Module["_sqlite3_malloc64"]=Module["asm"]["sqlite3_malloc64"]).apply(null,arguments)};var _sqlite3_free=Module["_sqlite3_free"]=function(){return(_sqlite3_free=Module["_sqlite3_free"]=Module["asm"]["sqlite3_free"]).apply(null,arguments)};var _sqlite3_realloc=Module["_sqlite3_realloc"]=function(){return(_sqlite3_realloc=Module["_sqlite3_realloc"]=Module["asm"]["sqlite3_realloc"]).apply(null,arguments)};var _sqlite3_realloc64=Module["_sqlite3_realloc64"]=function(){return(_sqlite3_realloc64=Module["_sqlite3_realloc64"]=Module["asm"]["sqlite3_realloc64"]).apply(null,arguments)};var _sqlite3_str_vappendf=Module["_sqlite3_str_vappendf"]=function(){return(_sqlite3_str_vappendf=Module["_sqlite3_str_vappendf"]=Module["asm"]["sqlite3_str_vappendf"]).apply(null,arguments)};var ___addtf3=Module["___addtf3"]=function(){return(___addtf3=Module["___addtf3"]=Module["asm"]["__addtf3"]).apply(null,arguments)};var ___gttf2=Module["___gttf2"]=function(){return(___gttf2=Module["___gttf2"]=Module["asm"]["__gttf2"]).apply(null,arguments)};var ___getf2=Module["___getf2"]=function(){return(___getf2=Module["___getf2"]=Module["asm"]["__getf2"]).apply(null,arguments)};var ___multf3=Module["___multf3"]=function(){return(___multf3=Module["___multf3"]=Module["asm"]["__multf3"]).apply(null,arguments)};var ___divtf3=Module["___divtf3"]=function(){return(___divtf3=Module["___divtf3"]=Module["asm"]["__divtf3"]).apply(null,arguments)};var ___lttf2=Module["___lttf2"]=function(){return(___lttf2=Module["___lttf2"]=Module["asm"]["__lttf2"]).apply(null,arguments)};var ___fixtfsi=Module["___fixtfsi"]=function(){return(___fixtfsi=Module["___fixtfsi"]=Module["asm"]["__fixtfsi"]).apply(null,arguments)};var ___floatsitf=Module["___floatsitf"]=function(){return(___floatsitf=Module["___floatsitf"]=Module["asm"]["__floatsitf"]).apply(null,arguments)};var ___subtf3=Module["___subtf3"]=function(){return(___subtf3=Module["___subtf3"]=Module["asm"]["__subtf3"]).apply(null,arguments)};var _sqlite3_str_append=Module["_sqlite3_str_append"]=function(){return(_sqlite3_str_append=Module["_sqlite3_str_append"]=Module["asm"]["sqlite3_str_append"]).apply(null,arguments)};var _sqlite3_str_appendchar=Module["_sqlite3_str_appendchar"]=function(){return(_sqlite3_str_appendchar=Module["_sqlite3_str_appendchar"]=Module["asm"]["sqlite3_str_appendchar"]).apply(null,arguments)};var _sqlite3_str_appendall=Module["_sqlite3_str_appendall"]=function(){return(_sqlite3_str_appendall=Module["_sqlite3_str_appendall"]=Module["asm"]["sqlite3_str_appendall"]).apply(null,arguments)};var _sqlite3_str_finish=Module["_sqlite3_str_finish"]=function(){return(_sqlite3_str_finish=Module["_sqlite3_str_finish"]=Module["asm"]["sqlite3_str_finish"]).apply(null,arguments)};var _sqlite3_str_errcode=Module["_sqlite3_str_errcode"]=function(){return(_sqlite3_str_errcode=Module["_sqlite3_str_errcode"]=Module["asm"]["sqlite3_str_errcode"]).apply(null,arguments)};var _sqlite3_str_length=Module["_sqlite3_str_length"]=function(){return(_sqlite3_str_length=Module["_sqlite3_str_length"]=Module["asm"]["sqlite3_str_length"]).apply(null,arguments)};var _sqlite3_str_value=Module["_sqlite3_str_value"]=function(){return(_sqlite3_str_value=Module["_sqlite3_str_value"]=Module["asm"]["sqlite3_str_value"]).apply(null,arguments)};var _sqlite3_str_reset=Module["_sqlite3_str_reset"]=function(){return(_sqlite3_str_reset=Module["_sqlite3_str_reset"]=Module["asm"]["sqlite3_str_reset"]).apply(null,arguments)};var _sqlite3_str_new=Module["_sqlite3_str_new"]=function(){return(_sqlite3_str_new=Module["_sqlite3_str_new"]=Module["asm"]["sqlite3_str_new"]).apply(null,arguments)};var _sqlite3_vmprintf=Module["_sqlite3_vmprintf"]=function(){return(_sqlite3_vmprintf=Module["_sqlite3_vmprintf"]=Module["asm"]["sqlite3_vmprintf"]).apply(null,arguments)};var _sqlite3_mprintf=Module["_sqlite3_mprintf"]=function(){return(_sqlite3_mprintf=Module["_sqlite3_mprintf"]=Module["asm"]["sqlite3_mprintf"]).apply(null,arguments)};var _sqlite3_vsnprintf=Module["_sqlite3_vsnprintf"]=function(){return(_sqlite3_vsnprintf=Module["_sqlite3_vsnprintf"]=Module["asm"]["sqlite3_vsnprintf"]).apply(null,arguments)};var _sqlite3_snprintf=Module["_sqlite3_snprintf"]=function(){return(_sqlite3_snprintf=Module["_sqlite3_snprintf"]=Module["asm"]["sqlite3_snprintf"]).apply(null,arguments)};var _sqlite3_str_appendf=Module["_sqlite3_str_appendf"]=function(){return(_sqlite3_str_appendf=Module["_sqlite3_str_appendf"]=Module["asm"]["sqlite3_str_appendf"]).apply(null,arguments)};var _sqlite3_randomness=Module["_sqlite3_randomness"]=function(){return(_sqlite3_randomness=Module["_sqlite3_randomness"]=Module["asm"]["sqlite3_randomness"]).apply(null,arguments)};var _sqlite3_stricmp=Module["_sqlite3_stricmp"]=function(){return(_sqlite3_stricmp=Module["_sqlite3_stricmp"]=Module["asm"]["sqlite3_stricmp"]).apply(null,arguments)};var _sqlite3_strnicmp=Module["_sqlite3_strnicmp"]=function(){return(_sqlite3_strnicmp=Module["_sqlite3_strnicmp"]=Module["asm"]["sqlite3_strnicmp"]).apply(null,arguments)};var _sqlite3_os_init=Module["_sqlite3_os_init"]=function(){return(_sqlite3_os_init=Module["_sqlite3_os_init"]=Module["asm"]["sqlite3_os_init"]).apply(null,arguments)};var _sqlite3_uri_boolean=Module["_sqlite3_uri_boolean"]=function(){return(_sqlite3_uri_boolean=Module["_sqlite3_uri_boolean"]=Module["asm"]["sqlite3_uri_boolean"]).apply(null,arguments)};var _strerror_r=Module["_strerror_r"]=function(){return(_strerror_r=Module["_strerror_r"]=Module["asm"]["strerror_r"]).apply(null,arguments)};var _usleep=Module["_usleep"]=function(){return(_usleep=Module["_usleep"]=Module["asm"]["usleep"]).apply(null,arguments)};var _sqlite3_os_end=Module["_sqlite3_os_end"]=function(){return(_sqlite3_os_end=Module["_sqlite3_os_end"]=Module["asm"]["sqlite3_os_end"]).apply(null,arguments)};var _sqlite3_expired=Module["_sqlite3_expired"]=function(){return(_sqlite3_expired=Module["_sqlite3_expired"]=Module["asm"]["sqlite3_expired"]).apply(null,arguments)};var _sqlite3_clear_bindings=Module["_sqlite3_clear_bindings"]=function(){return(_sqlite3_clear_bindings=Module["_sqlite3_clear_bindings"]=Module["asm"]["sqlite3_clear_bindings"]).apply(null,arguments)};var _sqlite3_value_bytes16=Module["_sqlite3_value_bytes16"]=function(){return(_sqlite3_value_bytes16=Module["_sqlite3_value_bytes16"]=Module["asm"]["sqlite3_value_bytes16"]).apply(null,arguments)};var _sqlite3_value_int=Module["_sqlite3_value_int"]=function(){return(_sqlite3_value_int=Module["_sqlite3_value_int"]=Module["asm"]["sqlite3_value_int"]).apply(null,arguments)};var _sqlite3_value_subtype=Module["_sqlite3_value_subtype"]=function(){return(_sqlite3_value_subtype=Module["_sqlite3_value_subtype"]=Module["asm"]["sqlite3_value_subtype"]).apply(null,arguments)};var _sqlite3_value_pointer=Module["_sqlite3_value_pointer"]=function(){return(_sqlite3_value_pointer=Module["_sqlite3_value_pointer"]=Module["asm"]["sqlite3_value_pointer"]).apply(null,arguments)};var _sqlite3_value_text16=Module["_sqlite3_value_text16"]=function(){return(_sqlite3_value_text16=Module["_sqlite3_value_text16"]=Module["asm"]["sqlite3_value_text16"]).apply(null,arguments)};var _sqlite3_value_text16be=Module["_sqlite3_value_text16be"]=function(){return(_sqlite3_value_text16be=Module["_sqlite3_value_text16be"]=Module["asm"]["sqlite3_value_text16be"]).apply(null,arguments)};var _sqlite3_value_text16le=Module["_sqlite3_value_text16le"]=function(){return(_sqlite3_value_text16le=Module["_sqlite3_value_text16le"]=Module["asm"]["sqlite3_value_text16le"]).apply(null,arguments)};var _sqlite3_value_nochange=Module["_sqlite3_value_nochange"]=function(){return(_sqlite3_value_nochange=Module["_sqlite3_value_nochange"]=Module["asm"]["sqlite3_value_nochange"]).apply(null,arguments)};var _sqlite3_value_dup=Module["_sqlite3_value_dup"]=function(){return(_sqlite3_value_dup=Module["_sqlite3_value_dup"]=Module["asm"]["sqlite3_value_dup"]).apply(null,arguments)};var _sqlite3_value_free=Module["_sqlite3_value_free"]=function(){return(_sqlite3_value_free=Module["_sqlite3_value_free"]=Module["asm"]["sqlite3_value_free"]).apply(null,arguments)};var _sqlite3_result_blob64=Module["_sqlite3_result_blob64"]=function(){return(_sqlite3_result_blob64=Module["_sqlite3_result_blob64"]=Module["asm"]["sqlite3_result_blob64"]).apply(null,arguments)};var _sqlite3_result_error16=Module["_sqlite3_result_error16"]=function(){return(_sqlite3_result_error16=Module["_sqlite3_result_error16"]=Module["asm"]["sqlite3_result_error16"]).apply(null,arguments)};var _sqlite3_result_int=Module["_sqlite3_result_int"]=function(){return(_sqlite3_result_int=Module["_sqlite3_result_int"]=Module["asm"]["sqlite3_result_int"]).apply(null,arguments)};var _sqlite3_result_pointer=Module["_sqlite3_result_pointer"]=function(){return(_sqlite3_result_pointer=Module["_sqlite3_result_pointer"]=Module["asm"]["sqlite3_result_pointer"]).apply(null,arguments)};var _sqlite3_result_subtype=Module["_sqlite3_result_subtype"]=function(){return(_sqlite3_result_subtype=Module["_sqlite3_result_subtype"]=Module["asm"]["sqlite3_result_subtype"]).apply(null,arguments)};var _sqlite3_result_text64=Module["_sqlite3_result_text64"]=function(){return(_sqlite3_result_text64=Module["_sqlite3_result_text64"]=Module["asm"]["sqlite3_result_text64"]).apply(null,arguments)};var _sqlite3_result_text16=Module["_sqlite3_result_text16"]=function(){return(_sqlite3_result_text16=Module["_sqlite3_result_text16"]=Module["asm"]["sqlite3_result_text16"]).apply(null,arguments)};var _sqlite3_result_text16be=Module["_sqlite3_result_text16be"]=function(){return(_sqlite3_result_text16be=Module["_sqlite3_result_text16be"]=Module["asm"]["sqlite3_result_text16be"]).apply(null,arguments)};var _sqlite3_result_text16le=Module["_sqlite3_result_text16le"]=function(){return(_sqlite3_result_text16le=Module["_sqlite3_result_text16le"]=Module["asm"]["sqlite3_result_text16le"]).apply(null,arguments)};var _sqlite3_result_value=Module["_sqlite3_result_value"]=function(){return(_sqlite3_result_value=Module["_sqlite3_result_value"]=Module["asm"]["sqlite3_result_value"]).apply(null,arguments)};var _sqlite3_result_zeroblob=Module["_sqlite3_result_zeroblob"]=function(){return(_sqlite3_result_zeroblob=Module["_sqlite3_result_zeroblob"]=Module["asm"]["sqlite3_result_zeroblob"]).apply(null,arguments)};var _sqlite3_result_zeroblob64=Module["_sqlite3_result_zeroblob64"]=function(){return(_sqlite3_result_zeroblob64=Module["_sqlite3_result_zeroblob64"]=Module["asm"]["sqlite3_result_zeroblob64"]).apply(null,arguments)};var _sqlite3_result_error_code=Module["_sqlite3_result_error_code"]=function(){return(_sqlite3_result_error_code=Module["_sqlite3_result_error_code"]=Module["asm"]["sqlite3_result_error_code"]).apply(null,arguments)};var _sqlite3_result_error_toobig=Module["_sqlite3_result_error_toobig"]=function(){return(_sqlite3_result_error_toobig=Module["_sqlite3_result_error_toobig"]=Module["asm"]["sqlite3_result_error_toobig"]).apply(null,arguments)};var _sqlite3_result_error_nomem=Module["_sqlite3_result_error_nomem"]=function(){return(_sqlite3_result_error_nomem=Module["_sqlite3_result_error_nomem"]=Module["asm"]["sqlite3_result_error_nomem"]).apply(null,arguments)};var _sqlite3_vtab_nochange=Module["_sqlite3_vtab_nochange"]=function(){return(_sqlite3_vtab_nochange=Module["_sqlite3_vtab_nochange"]=Module["asm"]["sqlite3_vtab_nochange"]).apply(null,arguments)};var _sqlite3_get_auxdata=Module["_sqlite3_get_auxdata"]=function(){return(_sqlite3_get_auxdata=Module["_sqlite3_get_auxdata"]=Module["asm"]["sqlite3_get_auxdata"]).apply(null,arguments)};var _sqlite3_set_auxdata=Module["_sqlite3_set_auxdata"]=function(){return(_sqlite3_set_auxdata=Module["_sqlite3_set_auxdata"]=Module["asm"]["sqlite3_set_auxdata"]).apply(null,arguments)};var _sqlite3_aggregate_count=Module["_sqlite3_aggregate_count"]=function(){return(_sqlite3_aggregate_count=Module["_sqlite3_aggregate_count"]=Module["asm"]["sqlite3_aggregate_count"]).apply(null,arguments)};var _sqlite3_column_bytes16=Module["_sqlite3_column_bytes16"]=function(){return(_sqlite3_column_bytes16=Module["_sqlite3_column_bytes16"]=Module["asm"]["sqlite3_column_bytes16"]).apply(null,arguments)};var _sqlite3_column_int=Module["_sqlite3_column_int"]=function(){return(_sqlite3_column_int=Module["_sqlite3_column_int"]=Module["asm"]["sqlite3_column_int"]).apply(null,arguments)};var _sqlite3_column_value=Module["_sqlite3_column_value"]=function(){return(_sqlite3_column_value=Module["_sqlite3_column_value"]=Module["asm"]["sqlite3_column_value"]).apply(null,arguments)};var _sqlite3_column_text16=Module["_sqlite3_column_text16"]=function(){return(_sqlite3_column_text16=Module["_sqlite3_column_text16"]=Module["asm"]["sqlite3_column_text16"]).apply(null,arguments)};var _sqlite3_column_name16=Module["_sqlite3_column_name16"]=function(){return(_sqlite3_column_name16=Module["_sqlite3_column_name16"]=Module["asm"]["sqlite3_column_name16"]).apply(null,arguments)};var _sqlite3_column_decltype16=Module["_sqlite3_column_decltype16"]=function(){return(_sqlite3_column_decltype16=Module["_sqlite3_column_decltype16"]=Module["asm"]["sqlite3_column_decltype16"]).apply(null,arguments)};var _sqlite3_bind_blob64=Module["_sqlite3_bind_blob64"]=function(){return(_sqlite3_bind_blob64=Module["_sqlite3_bind_blob64"]=Module["asm"]["sqlite3_bind_blob64"]).apply(null,arguments)};var _sqlite3_bind_int=Module["_sqlite3_bind_int"]=function(){return(_sqlite3_bind_int=Module["_sqlite3_bind_int"]=Module["asm"]["sqlite3_bind_int"]).apply(null,arguments)};var _sqlite3_bind_pointer=Module["_sqlite3_bind_pointer"]=function(){return(_sqlite3_bind_pointer=Module["_sqlite3_bind_pointer"]=Module["asm"]["sqlite3_bind_pointer"]).apply(null,arguments)};var _sqlite3_bind_text64=Module["_sqlite3_bind_text64"]=function(){return(_sqlite3_bind_text64=Module["_sqlite3_bind_text64"]=Module["asm"]["sqlite3_bind_text64"]).apply(null,arguments)};var _sqlite3_bind_text16=Module["_sqlite3_bind_text16"]=function(){return(_sqlite3_bind_text16=Module["_sqlite3_bind_text16"]=Module["asm"]["sqlite3_bind_text16"]).apply(null,arguments)};var _sqlite3_bind_value=Module["_sqlite3_bind_value"]=function(){return(_sqlite3_bind_value=Module["_sqlite3_bind_value"]=Module["asm"]["sqlite3_bind_value"]).apply(null,arguments)};var _sqlite3_bind_zeroblob=Module["_sqlite3_bind_zeroblob"]=function(){return(_sqlite3_bind_zeroblob=Module["_sqlite3_bind_zeroblob"]=Module["asm"]["sqlite3_bind_zeroblob"]).apply(null,arguments)};var _sqlite3_bind_zeroblob64=Module["_sqlite3_bind_zeroblob64"]=function(){return(_sqlite3_bind_zeroblob64=Module["_sqlite3_bind_zeroblob64"]=Module["asm"]["sqlite3_bind_zeroblob64"]).apply(null,arguments)};var _sqlite3_bind_parameter_index=Module["_sqlite3_bind_parameter_index"]=function(){return(_sqlite3_bind_parameter_index=Module["_sqlite3_bind_parameter_index"]=Module["asm"]["sqlite3_bind_parameter_index"]).apply(null,arguments)};var _sqlite3_transfer_bindings=Module["_sqlite3_transfer_bindings"]=function(){return(_sqlite3_transfer_bindings=Module["_sqlite3_transfer_bindings"]=Module["asm"]["sqlite3_transfer_bindings"]).apply(null,arguments)};var _sqlite3_db_handle=Module["_sqlite3_db_handle"]=function(){return(_sqlite3_db_handle=Module["_sqlite3_db_handle"]=Module["asm"]["sqlite3_db_handle"]).apply(null,arguments)};var _sqlite3_stmt_readonly=Module["_sqlite3_stmt_readonly"]=function(){return(_sqlite3_stmt_readonly=Module["_sqlite3_stmt_readonly"]=Module["asm"]["sqlite3_stmt_readonly"]).apply(null,arguments)};var _sqlite3_stmt_busy=Module["_sqlite3_stmt_busy"]=function(){return(_sqlite3_stmt_busy=Module["_sqlite3_stmt_busy"]=Module["asm"]["sqlite3_stmt_busy"]).apply(null,arguments)};var _sqlite3_next_stmt=Module["_sqlite3_next_stmt"]=function(){return(_sqlite3_next_stmt=Module["_sqlite3_next_stmt"]=Module["asm"]["sqlite3_next_stmt"]).apply(null,arguments)};var _sqlite3_stmt_status=Module["_sqlite3_stmt_status"]=function(){return(_sqlite3_stmt_status=Module["_sqlite3_stmt_status"]=Module["asm"]["sqlite3_stmt_status"]).apply(null,arguments)};var _sqlite3_sql=Module["_sqlite3_sql"]=function(){return(_sqlite3_sql=Module["_sqlite3_sql"]=Module["asm"]["sqlite3_sql"]).apply(null,arguments)};var _sqlite3_expanded_sql=Module["_sqlite3_expanded_sql"]=function(){return(_sqlite3_expanded_sql=Module["_sqlite3_expanded_sql"]=Module["asm"]["sqlite3_expanded_sql"]).apply(null,arguments)};var _sqlite3_value_numeric_type=Module["_sqlite3_value_numeric_type"]=function(){return(_sqlite3_value_numeric_type=Module["_sqlite3_value_numeric_type"]=Module["asm"]["sqlite3_value_numeric_type"]).apply(null,arguments)};var _sqlite3_blob_open=Module["_sqlite3_blob_open"]=function(){return(_sqlite3_blob_open=Module["_sqlite3_blob_open"]=Module["asm"]["sqlite3_blob_open"]).apply(null,arguments)};var _sqlite3_blob_close=Module["_sqlite3_blob_close"]=function(){return(_sqlite3_blob_close=Module["_sqlite3_blob_close"]=Module["asm"]["sqlite3_blob_close"]).apply(null,arguments)};var _sqlite3_blob_read=Module["_sqlite3_blob_read"]=function(){return(_sqlite3_blob_read=Module["_sqlite3_blob_read"]=Module["asm"]["sqlite3_blob_read"]).apply(null,arguments)};var _sqlite3_blob_write=Module["_sqlite3_blob_write"]=function(){return(_sqlite3_blob_write=Module["_sqlite3_blob_write"]=Module["asm"]["sqlite3_blob_write"]).apply(null,arguments)};var _sqlite3_blob_bytes=Module["_sqlite3_blob_bytes"]=function(){return(_sqlite3_blob_bytes=Module["_sqlite3_blob_bytes"]=Module["asm"]["sqlite3_blob_bytes"]).apply(null,arguments)};var _sqlite3_blob_reopen=Module["_sqlite3_blob_reopen"]=function(){return(_sqlite3_blob_reopen=Module["_sqlite3_blob_reopen"]=Module["asm"]["sqlite3_blob_reopen"]).apply(null,arguments)};var _sqlite3_strglob=Module["_sqlite3_strglob"]=function(){return(_sqlite3_strglob=Module["_sqlite3_strglob"]=Module["asm"]["sqlite3_strglob"]).apply(null,arguments)};var _sqlite3_strlike=Module["_sqlite3_strlike"]=function(){return(_sqlite3_strlike=Module["_sqlite3_strlike"]=Module["asm"]["sqlite3_strlike"]).apply(null,arguments)};var _sqlite3_auto_extension=Module["_sqlite3_auto_extension"]=function(){return(_sqlite3_auto_extension=Module["_sqlite3_auto_extension"]=Module["asm"]["sqlite3_auto_extension"]).apply(null,arguments)};var _sqlite3_cancel_auto_extension=Module["_sqlite3_cancel_auto_extension"]=function(){return(_sqlite3_cancel_auto_extension=Module["_sqlite3_cancel_auto_extension"]=Module["asm"]["sqlite3_cancel_auto_extension"]).apply(null,arguments)};var _sqlite3_reset_auto_extension=Module["_sqlite3_reset_auto_extension"]=function(){return(_sqlite3_reset_auto_extension=Module["_sqlite3_reset_auto_extension"]=Module["asm"]["sqlite3_reset_auto_extension"]).apply(null,arguments)};var _sqlite3_prepare=Module["_sqlite3_prepare"]=function(){return(_sqlite3_prepare=Module["_sqlite3_prepare"]=Module["asm"]["sqlite3_prepare"]).apply(null,arguments)};var _sqlite3_prepare_v3=Module["_sqlite3_prepare_v3"]=function(){return(_sqlite3_prepare_v3=Module["_sqlite3_prepare_v3"]=Module["asm"]["sqlite3_prepare_v3"]).apply(null,arguments)};var _sqlite3_prepare16=Module["_sqlite3_prepare16"]=function(){return(_sqlite3_prepare16=Module["_sqlite3_prepare16"]=Module["asm"]["sqlite3_prepare16"]).apply(null,arguments)};var _sqlite3_prepare16_v2=Module["_sqlite3_prepare16_v2"]=function(){return(_sqlite3_prepare16_v2=Module["_sqlite3_prepare16_v2"]=Module["asm"]["sqlite3_prepare16_v2"]).apply(null,arguments)};var _sqlite3_prepare16_v3=Module["_sqlite3_prepare16_v3"]=function(){return(_sqlite3_prepare16_v3=Module["_sqlite3_prepare16_v3"]=Module["asm"]["sqlite3_prepare16_v3"]).apply(null,arguments)};var _sqlite3_get_table=Module["_sqlite3_get_table"]=function(){return(_sqlite3_get_table=Module["_sqlite3_get_table"]=Module["asm"]["sqlite3_get_table"]).apply(null,arguments)};var _sqlite3_free_table=Module["_sqlite3_free_table"]=function(){return(_sqlite3_free_table=Module["_sqlite3_free_table"]=Module["asm"]["sqlite3_free_table"]).apply(null,arguments)};var _sqlite3_create_module=Module["_sqlite3_create_module"]=function(){return(_sqlite3_create_module=Module["_sqlite3_create_module"]=Module["asm"]["sqlite3_create_module"]).apply(null,arguments)};var _sqlite3_create_module_v2=Module["_sqlite3_create_module_v2"]=function(){return(_sqlite3_create_module_v2=Module["_sqlite3_create_module_v2"]=Module["asm"]["sqlite3_create_module_v2"]).apply(null,arguments)};var _sqlite3_declare_vtab=Module["_sqlite3_declare_vtab"]=function(){return(_sqlite3_declare_vtab=Module["_sqlite3_declare_vtab"]=Module["asm"]["sqlite3_declare_vtab"]).apply(null,arguments)};var _sqlite3_vtab_on_conflict=Module["_sqlite3_vtab_on_conflict"]=function(){return(_sqlite3_vtab_on_conflict=Module["_sqlite3_vtab_on_conflict"]=Module["asm"]["sqlite3_vtab_on_conflict"]).apply(null,arguments)};var _sqlite3_vtab_config=Module["_sqlite3_vtab_config"]=function(){return(_sqlite3_vtab_config=Module["_sqlite3_vtab_config"]=Module["asm"]["sqlite3_vtab_config"]).apply(null,arguments)};var _sqlite3_vtab_collation=Module["_sqlite3_vtab_collation"]=function(){return(_sqlite3_vtab_collation=Module["_sqlite3_vtab_collation"]=Module["asm"]["sqlite3_vtab_collation"]).apply(null,arguments)};var _sqlite3_keyword_name=Module["_sqlite3_keyword_name"]=function(){return(_sqlite3_keyword_name=Module["_sqlite3_keyword_name"]=Module["asm"]["sqlite3_keyword_name"]).apply(null,arguments)};var _sqlite3_keyword_count=Module["_sqlite3_keyword_count"]=function(){return(_sqlite3_keyword_count=Module["_sqlite3_keyword_count"]=Module["asm"]["sqlite3_keyword_count"]).apply(null,arguments)};var _sqlite3_keyword_check=Module["_sqlite3_keyword_check"]=function(){return(_sqlite3_keyword_check=Module["_sqlite3_keyword_check"]=Module["asm"]["sqlite3_keyword_check"]).apply(null,arguments)};var _sqlite3_complete16=Module["_sqlite3_complete16"]=function(){return(_sqlite3_complete16=Module["_sqlite3_complete16"]=Module["asm"]["sqlite3_complete16"]).apply(null,arguments)};var _sqlite3_threadsafe=Module["_sqlite3_threadsafe"]=function(){return(_sqlite3_threadsafe=Module["_sqlite3_threadsafe"]=Module["asm"]["sqlite3_threadsafe"]).apply(null,arguments)};var _sqlite3_db_mutex=Module["_sqlite3_db_mutex"]=function(){return(_sqlite3_db_mutex=Module["_sqlite3_db_mutex"]=Module["asm"]["sqlite3_db_mutex"]).apply(null,arguments)};var _sqlite3_db_release_memory=Module["_sqlite3_db_release_memory"]=function(){return(_sqlite3_db_release_memory=Module["_sqlite3_db_release_memory"]=Module["asm"]["sqlite3_db_release_memory"]).apply(null,arguments)};var _sqlite3_db_cacheflush=Module["_sqlite3_db_cacheflush"]=function(){return(_sqlite3_db_cacheflush=Module["_sqlite3_db_cacheflush"]=Module["asm"]["sqlite3_db_cacheflush"]).apply(null,arguments)};var _sqlite3_db_config=Module["_sqlite3_db_config"]=function(){return(_sqlite3_db_config=Module["_sqlite3_db_config"]=Module["asm"]["sqlite3_db_config"]).apply(null,arguments)};var _sqlite3_set_last_insert_rowid=Module["_sqlite3_set_last_insert_rowid"]=function(){return(_sqlite3_set_last_insert_rowid=Module["_sqlite3_set_last_insert_rowid"]=Module["asm"]["sqlite3_set_last_insert_rowid"]).apply(null,arguments)};var _sqlite3_close=Module["_sqlite3_close"]=function(){return(_sqlite3_close=Module["_sqlite3_close"]=Module["asm"]["sqlite3_close"]).apply(null,arguments)};var _sqlite3_busy_handler=Module["_sqlite3_busy_handler"]=function(){return(_sqlite3_busy_handler=Module["_sqlite3_busy_handler"]=Module["asm"]["sqlite3_busy_handler"]).apply(null,arguments)};var _sqlite3_create_function=Module["_sqlite3_create_function"]=function(){return(_sqlite3_create_function=Module["_sqlite3_create_function"]=Module["asm"]["sqlite3_create_function"]).apply(null,arguments)};var _sqlite3_create_window_function=Module["_sqlite3_create_window_function"]=function(){return(_sqlite3_create_window_function=Module["_sqlite3_create_window_function"]=Module["asm"]["sqlite3_create_window_function"]).apply(null,arguments)};var _sqlite3_create_function16=Module["_sqlite3_create_function16"]=function(){return(_sqlite3_create_function16=Module["_sqlite3_create_function16"]=Module["asm"]["sqlite3_create_function16"]).apply(null,arguments)};var _sqlite3_overload_function=Module["_sqlite3_overload_function"]=function(){return(_sqlite3_overload_function=Module["_sqlite3_overload_function"]=Module["asm"]["sqlite3_overload_function"]).apply(null,arguments)};var _sqlite3_trace=Module["_sqlite3_trace"]=function(){return(_sqlite3_trace=Module["_sqlite3_trace"]=Module["asm"]["sqlite3_trace"]).apply(null,arguments)};var _sqlite3_profile=Module["_sqlite3_profile"]=function(){return(_sqlite3_profile=Module["_sqlite3_profile"]=Module["asm"]["sqlite3_profile"]).apply(null,arguments)};var _sqlite3_commit_hook=Module["_sqlite3_commit_hook"]=function(){return(_sqlite3_commit_hook=Module["_sqlite3_commit_hook"]=Module["asm"]["sqlite3_commit_hook"]).apply(null,arguments)};var _sqlite3_update_hook=Module["_sqlite3_update_hook"]=function(){return(_sqlite3_update_hook=Module["_sqlite3_update_hook"]=Module["asm"]["sqlite3_update_hook"]).apply(null,arguments)};var _sqlite3_rollback_hook=Module["_sqlite3_rollback_hook"]=function(){return(_sqlite3_rollback_hook=Module["_sqlite3_rollback_hook"]=Module["asm"]["sqlite3_rollback_hook"]).apply(null,arguments)};var _sqlite3_wal_autocheckpoint=Module["_sqlite3_wal_autocheckpoint"]=function(){return(_sqlite3_wal_autocheckpoint=Module["_sqlite3_wal_autocheckpoint"]=Module["asm"]["sqlite3_wal_autocheckpoint"]).apply(null,arguments)};var _sqlite3_wal_hook=Module["_sqlite3_wal_hook"]=function(){return(_sqlite3_wal_hook=Module["_sqlite3_wal_hook"]=Module["asm"]["sqlite3_wal_hook"]).apply(null,arguments)};var _sqlite3_wal_checkpoint_v2=Module["_sqlite3_wal_checkpoint_v2"]=function(){return(_sqlite3_wal_checkpoint_v2=Module["_sqlite3_wal_checkpoint_v2"]=Module["asm"]["sqlite3_wal_checkpoint_v2"]).apply(null,arguments)};var _sqlite3_wal_checkpoint=Module["_sqlite3_wal_checkpoint"]=function(){return(_sqlite3_wal_checkpoint=Module["_sqlite3_wal_checkpoint"]=Module["asm"]["sqlite3_wal_checkpoint"]).apply(null,arguments)};var _sqlite3_errmsg16=Module["_sqlite3_errmsg16"]=function(){return(_sqlite3_errmsg16=Module["_sqlite3_errmsg16"]=Module["asm"]["sqlite3_errmsg16"]).apply(null,arguments)};var _sqlite3_extended_errcode=Module["_sqlite3_extended_errcode"]=function(){return(_sqlite3_extended_errcode=Module["_sqlite3_extended_errcode"]=Module["asm"]["sqlite3_extended_errcode"]).apply(null,arguments)};var _sqlite3_system_errno=Module["_sqlite3_system_errno"]=function(){return(_sqlite3_system_errno=Module["_sqlite3_system_errno"]=Module["asm"]["sqlite3_system_errno"]).apply(null,arguments)};var _sqlite3_limit=Module["_sqlite3_limit"]=function(){return(_sqlite3_limit=Module["_sqlite3_limit"]=Module["asm"]["sqlite3_limit"]).apply(null,arguments)};var _sqlite3_open=Module["_sqlite3_open"]=function(){return(_sqlite3_open=Module["_sqlite3_open"]=Module["asm"]["sqlite3_open"]).apply(null,arguments)};var _sqlite3_open16=Module["_sqlite3_open16"]=function(){return(_sqlite3_open16=Module["_sqlite3_open16"]=Module["asm"]["sqlite3_open16"]).apply(null,arguments)};var _sqlite3_create_collation_v2=Module["_sqlite3_create_collation_v2"]=function(){return(_sqlite3_create_collation_v2=Module["_sqlite3_create_collation_v2"]=Module["asm"]["sqlite3_create_collation_v2"]).apply(null,arguments)};var _sqlite3_create_collation16=Module["_sqlite3_create_collation16"]=function(){return(_sqlite3_create_collation16=Module["_sqlite3_create_collation16"]=Module["asm"]["sqlite3_create_collation16"]).apply(null,arguments)};var _sqlite3_collation_needed=Module["_sqlite3_collation_needed"]=function(){return(_sqlite3_collation_needed=Module["_sqlite3_collation_needed"]=Module["asm"]["sqlite3_collation_needed"]).apply(null,arguments)};var _sqlite3_collation_needed16=Module["_sqlite3_collation_needed16"]=function(){return(_sqlite3_collation_needed16=Module["_sqlite3_collation_needed16"]=Module["asm"]["sqlite3_collation_needed16"]).apply(null,arguments)};var _sqlite3_global_recover=Module["_sqlite3_global_recover"]=function(){return(_sqlite3_global_recover=Module["_sqlite3_global_recover"]=Module["asm"]["sqlite3_global_recover"]).apply(null,arguments)};var _sqlite3_thread_cleanup=Module["_sqlite3_thread_cleanup"]=function(){return(_sqlite3_thread_cleanup=Module["_sqlite3_thread_cleanup"]=Module["asm"]["sqlite3_thread_cleanup"]).apply(null,arguments)};var _sqlite3_table_column_metadata=Module["_sqlite3_table_column_metadata"]=function(){return(_sqlite3_table_column_metadata=Module["_sqlite3_table_column_metadata"]=Module["asm"]["sqlite3_table_column_metadata"]).apply(null,arguments)};var _sqlite3_extended_result_codes=Module["_sqlite3_extended_result_codes"]=function(){return(_sqlite3_extended_result_codes=Module["_sqlite3_extended_result_codes"]=Module["asm"]["sqlite3_extended_result_codes"]).apply(null,arguments)};var _sqlite3_file_control=Module["_sqlite3_file_control"]=function(){return(_sqlite3_file_control=Module["_sqlite3_file_control"]=Module["asm"]["sqlite3_file_control"]).apply(null,arguments)};var _sqlite3_test_control=Module["_sqlite3_test_control"]=function(){return(_sqlite3_test_control=Module["_sqlite3_test_control"]=Module["asm"]["sqlite3_test_control"]).apply(null,arguments)};var _sqlite3_uri_parameter=Module["_sqlite3_uri_parameter"]=function(){return(_sqlite3_uri_parameter=Module["_sqlite3_uri_parameter"]=Module["asm"]["sqlite3_uri_parameter"]).apply(null,arguments)};var _sqlite3_uri_int64=Module["_sqlite3_uri_int64"]=function(){return(_sqlite3_uri_int64=Module["_sqlite3_uri_int64"]=Module["asm"]["sqlite3_uri_int64"]).apply(null,arguments)};var _sqlite3_db_filename=Module["_sqlite3_db_filename"]=function(){return(_sqlite3_db_filename=Module["_sqlite3_db_filename"]=Module["asm"]["sqlite3_db_filename"]).apply(null,arguments)};var _sqlite3_db_readonly=Module["_sqlite3_db_readonly"]=function(){return(_sqlite3_db_readonly=Module["_sqlite3_db_readonly"]=Module["asm"]["sqlite3_db_readonly"]).apply(null,arguments)};var _sqlite3_compileoption_used=Module["_sqlite3_compileoption_used"]=function(){return(_sqlite3_compileoption_used=Module["_sqlite3_compileoption_used"]=Module["asm"]["sqlite3_compileoption_used"]).apply(null,arguments)};var _sqlite3_compileoption_get=Module["_sqlite3_compileoption_get"]=function(){return(_sqlite3_compileoption_get=Module["_sqlite3_compileoption_get"]=Module["asm"]["sqlite3_compileoption_get"]).apply(null,arguments)};var _sqlite3_rtree_geometry_callback=Module["_sqlite3_rtree_geometry_callback"]=function(){return(_sqlite3_rtree_geometry_callback=Module["_sqlite3_rtree_geometry_callback"]=Module["asm"]["sqlite3_rtree_geometry_callback"]).apply(null,arguments)};var _sqlite3_rtree_query_callback=Module["_sqlite3_rtree_query_callback"]=function(){return(_sqlite3_rtree_query_callback=Module["_sqlite3_rtree_query_callback"]=Module["asm"]["sqlite3_rtree_query_callback"]).apply(null,arguments)};var _sqlite3_sourceid=Module["_sqlite3_sourceid"]=function(){return(_sqlite3_sourceid=Module["_sqlite3_sourceid"]=Module["asm"]["sqlite3_sourceid"]).apply(null,arguments)};var _pthread_mutexattr_init=Module["_pthread_mutexattr_init"]=function(){return(_pthread_mutexattr_init=Module["_pthread_mutexattr_init"]=Module["asm"]["pthread_mutexattr_init"]).apply(null,arguments)};var _pthread_mutexattr_settype=Module["_pthread_mutexattr_settype"]=function(){return(_pthread_mutexattr_settype=Module["_pthread_mutexattr_settype"]=Module["asm"]["pthread_mutexattr_settype"]).apply(null,arguments)};var _pthread_mutexattr_destroy=Module["_pthread_mutexattr_destroy"]=function(){return(_pthread_mutexattr_destroy=Module["_pthread_mutexattr_destroy"]=Module["asm"]["pthread_mutexattr_destroy"]).apply(null,arguments)};var _pthread_join=Module["_pthread_join"]=function(){return(_pthread_join=Module["_pthread_join"]=Module["asm"]["pthread_join"]).apply(null,arguments)};var ___floatditf=Module["___floatditf"]=function(){return(___floatditf=Module["___floatditf"]=Module["asm"]["__floatditf"]).apply(null,arguments)};var _BZ2_blockSort=Module["_BZ2_blockSort"]=function(){return(_BZ2_blockSort=Module["_BZ2_blockSort"]=Module["asm"]["BZ2_blockSort"]).apply(null,arguments)};var _BZ2_bz__AssertH__fail=Module["_BZ2_bz__AssertH__fail"]=function(){return(_BZ2_bz__AssertH__fail=Module["_BZ2_bz__AssertH__fail"]=Module["asm"]["BZ2_bz__AssertH__fail"]).apply(null,arguments)};var _BZ2_hbMakeCodeLengths=Module["_BZ2_hbMakeCodeLengths"]=function(){return(_BZ2_hbMakeCodeLengths=Module["_BZ2_hbMakeCodeLengths"]=Module["asm"]["BZ2_hbMakeCodeLengths"]).apply(null,arguments)};var _BZ2_hbAssignCodes=Module["_BZ2_hbAssignCodes"]=function(){return(_BZ2_hbAssignCodes=Module["_BZ2_hbAssignCodes"]=Module["asm"]["BZ2_hbAssignCodes"]).apply(null,arguments)};var _BZ2_hbCreateDecodeTables=Module["_BZ2_hbCreateDecodeTables"]=function(){return(_BZ2_hbCreateDecodeTables=Module["_BZ2_hbCreateDecodeTables"]=Module["asm"]["BZ2_hbCreateDecodeTables"]).apply(null,arguments)};var _BZ2_bsInitWrite=Module["_BZ2_bsInitWrite"]=function(){return(_BZ2_bsInitWrite=Module["_BZ2_bsInitWrite"]=Module["asm"]["BZ2_bsInitWrite"]).apply(null,arguments)};var _BZ2_compressBlock=Module["_BZ2_compressBlock"]=function(){return(_BZ2_compressBlock=Module["_BZ2_compressBlock"]=Module["asm"]["BZ2_compressBlock"]).apply(null,arguments)};var _BZ2_decompress=Module["_BZ2_decompress"]=function(){return(_BZ2_decompress=Module["_BZ2_decompress"]=Module["asm"]["BZ2_decompress"]).apply(null,arguments)};var _BZ2_indexIntoF=Module["_BZ2_indexIntoF"]=function(){return(_BZ2_indexIntoF=Module["_BZ2_indexIntoF"]=Module["asm"]["BZ2_indexIntoF"]).apply(null,arguments)};var _BZ2_bzlibVersion=Module["_BZ2_bzlibVersion"]=function(){return(_BZ2_bzlibVersion=Module["_BZ2_bzlibVersion"]=Module["asm"]["BZ2_bzlibVersion"]).apply(null,arguments)};var _BZ2_bzWriteOpen=Module["_BZ2_bzWriteOpen"]=function(){return(_BZ2_bzWriteOpen=Module["_BZ2_bzWriteOpen"]=Module["asm"]["BZ2_bzWriteOpen"]).apply(null,arguments)};var _BZ2_bzWrite=Module["_BZ2_bzWrite"]=function(){return(_BZ2_bzWrite=Module["_BZ2_bzWrite"]=Module["asm"]["BZ2_bzWrite"]).apply(null,arguments)};var _BZ2_bzWriteClose=Module["_BZ2_bzWriteClose"]=function(){return(_BZ2_bzWriteClose=Module["_BZ2_bzWriteClose"]=Module["asm"]["BZ2_bzWriteClose"]).apply(null,arguments)};var _BZ2_bzWriteClose64=Module["_BZ2_bzWriteClose64"]=function(){return(_BZ2_bzWriteClose64=Module["_BZ2_bzWriteClose64"]=Module["asm"]["BZ2_bzWriteClose64"]).apply(null,arguments)};var _BZ2_bzReadOpen=Module["_BZ2_bzReadOpen"]=function(){return(_BZ2_bzReadOpen=Module["_BZ2_bzReadOpen"]=Module["asm"]["BZ2_bzReadOpen"]).apply(null,arguments)};var _BZ2_bzReadClose=Module["_BZ2_bzReadClose"]=function(){return(_BZ2_bzReadClose=Module["_BZ2_bzReadClose"]=Module["asm"]["BZ2_bzReadClose"]).apply(null,arguments)};var _BZ2_bzRead=Module["_BZ2_bzRead"]=function(){return(_BZ2_bzRead=Module["_BZ2_bzRead"]=Module["asm"]["BZ2_bzRead"]).apply(null,arguments)};var _fgetc=Module["_fgetc"]=function(){return(_fgetc=Module["_fgetc"]=Module["asm"]["fgetc"]).apply(null,arguments)};var _BZ2_bzReadGetUnused=Module["_BZ2_bzReadGetUnused"]=function(){return(_BZ2_bzReadGetUnused=Module["_BZ2_bzReadGetUnused"]=Module["asm"]["BZ2_bzReadGetUnused"]).apply(null,arguments)};var _BZ2_bzBuffToBuffCompress=Module["_BZ2_bzBuffToBuffCompress"]=function(){return(_BZ2_bzBuffToBuffCompress=Module["_BZ2_bzBuffToBuffCompress"]=Module["asm"]["BZ2_bzBuffToBuffCompress"]).apply(null,arguments)};var _BZ2_bzBuffToBuffDecompress=Module["_BZ2_bzBuffToBuffDecompress"]=function(){return(_BZ2_bzBuffToBuffDecompress=Module["_BZ2_bzBuffToBuffDecompress"]=Module["asm"]["BZ2_bzBuffToBuffDecompress"]).apply(null,arguments)};var _BZ2_bzopen=Module["_BZ2_bzopen"]=function(){return(_BZ2_bzopen=Module["_BZ2_bzopen"]=Module["asm"]["BZ2_bzopen"]).apply(null,arguments)};var _BZ2_bzdopen=Module["_BZ2_bzdopen"]=function(){return(_BZ2_bzdopen=Module["_BZ2_bzdopen"]=Module["asm"]["BZ2_bzdopen"]).apply(null,arguments)};var _BZ2_bzread=Module["_BZ2_bzread"]=function(){return(_BZ2_bzread=Module["_BZ2_bzread"]=Module["asm"]["BZ2_bzread"]).apply(null,arguments)};var _BZ2_bzwrite=Module["_BZ2_bzwrite"]=function(){return(_BZ2_bzwrite=Module["_BZ2_bzwrite"]=Module["asm"]["BZ2_bzwrite"]).apply(null,arguments)};var _BZ2_bzflush=Module["_BZ2_bzflush"]=function(){return(_BZ2_bzflush=Module["_BZ2_bzflush"]=Module["asm"]["BZ2_bzflush"]).apply(null,arguments)};var _BZ2_bzclose=Module["_BZ2_bzclose"]=function(){return(_BZ2_bzclose=Module["_BZ2_bzclose"]=Module["asm"]["BZ2_bzclose"]).apply(null,arguments)};var _BZ2_bzerror=Module["_BZ2_bzerror"]=function(){return(_BZ2_bzerror=Module["_BZ2_bzerror"]=Module["asm"]["BZ2_bzerror"]).apply(null,arguments)};var _png_set_sig_bytes=Module["_png_set_sig_bytes"]=function(){return(_png_set_sig_bytes=Module["_png_set_sig_bytes"]=Module["asm"]["png_set_sig_bytes"]).apply(null,arguments)};var _png_error=Module["_png_error"]=function(){return(_png_error=Module["_png_error"]=Module["asm"]["png_error"]).apply(null,arguments)};var _png_sig_cmp=Module["_png_sig_cmp"]=function(){return(_png_sig_cmp=Module["_png_sig_cmp"]=Module["asm"]["png_sig_cmp"]).apply(null,arguments)};var _png_zalloc=Module["_png_zalloc"]=function(){return(_png_zalloc=Module["_png_zalloc"]=Module["asm"]["png_zalloc"]).apply(null,arguments)};var _png_malloc_warn=Module["_png_malloc_warn"]=function(){return(_png_malloc_warn=Module["_png_malloc_warn"]=Module["asm"]["png_malloc_warn"]).apply(null,arguments)};var _png_zfree=Module["_png_zfree"]=function(){return(_png_zfree=Module["_png_zfree"]=Module["asm"]["png_zfree"]).apply(null,arguments)};var _png_free=Module["_png_free"]=function(){return(_png_free=Module["_png_free"]=Module["asm"]["png_free"]).apply(null,arguments)};var _png_reset_crc=Module["_png_reset_crc"]=function(){return(_png_reset_crc=Module["_png_reset_crc"]=Module["asm"]["png_reset_crc"]).apply(null,arguments)};var _png_calculate_crc=Module["_png_calculate_crc"]=function(){return(_png_calculate_crc=Module["_png_calculate_crc"]=Module["asm"]["png_calculate_crc"]).apply(null,arguments)};var _png_user_version_check=Module["_png_user_version_check"]=function(){return(_png_user_version_check=Module["_png_user_version_check"]=Module["asm"]["png_user_version_check"]).apply(null,arguments)};var _png_create_png_struct=Module["_png_create_png_struct"]=function(){return(_png_create_png_struct=Module["_png_create_png_struct"]=Module["asm"]["png_create_png_struct"]).apply(null,arguments)};var _png_set_mem_fn=Module["_png_set_mem_fn"]=function(){return(_png_set_mem_fn=Module["_png_set_mem_fn"]=Module["asm"]["png_set_mem_fn"]).apply(null,arguments)};var _testSetjmp=Module["_testSetjmp"]=function(){return(_testSetjmp=Module["_testSetjmp"]=Module["asm"]["testSetjmp"]).apply(null,arguments)};var _emscripten_longjmp=Module["_emscripten_longjmp"]=function(){return(_emscripten_longjmp=Module["_emscripten_longjmp"]=Module["asm"]["emscripten_longjmp"]).apply(null,arguments)};var _png_set_error_fn=Module["_png_set_error_fn"]=function(){return(_png_set_error_fn=Module["_png_set_error_fn"]=Module["asm"]["png_set_error_fn"]).apply(null,arguments)};var _saveSetjmp=Module["_saveSetjmp"]=function(){return(_saveSetjmp=Module["_saveSetjmp"]=Module["asm"]["saveSetjmp"]).apply(null,arguments)};var _png_create_info_struct=Module["_png_create_info_struct"]=function(){return(_png_create_info_struct=Module["_png_create_info_struct"]=Module["asm"]["png_create_info_struct"]).apply(null,arguments)};var _png_malloc_base=Module["_png_malloc_base"]=function(){return(_png_malloc_base=Module["_png_malloc_base"]=Module["asm"]["png_malloc_base"]).apply(null,arguments)};var _png_destroy_info_struct=Module["_png_destroy_info_struct"]=function(){return(_png_destroy_info_struct=Module["_png_destroy_info_struct"]=Module["asm"]["png_destroy_info_struct"]).apply(null,arguments)};var _png_free_data=Module["_png_free_data"]=function(){return(_png_free_data=Module["_png_free_data"]=Module["asm"]["png_free_data"]).apply(null,arguments)};var _png_info_init_3=Module["_png_info_init_3"]=function(){return(_png_info_init_3=Module["_png_info_init_3"]=Module["asm"]["png_info_init_3"]).apply(null,arguments)};var _png_data_freer=Module["_png_data_freer"]=function(){return(_png_data_freer=Module["_png_data_freer"]=Module["asm"]["png_data_freer"]).apply(null,arguments)};var _png_get_io_ptr=Module["_png_get_io_ptr"]=function(){return(_png_get_io_ptr=Module["_png_get_io_ptr"]=Module["asm"]["png_get_io_ptr"]).apply(null,arguments)};var _png_init_io=Module["_png_init_io"]=function(){return(_png_init_io=Module["_png_init_io"]=Module["asm"]["png_init_io"]).apply(null,arguments)};var _png_save_int_32=Module["_png_save_int_32"]=function(){return(_png_save_int_32=Module["_png_save_int_32"]=Module["asm"]["png_save_int_32"]).apply(null,arguments)};var _png_save_uint_32=Module["_png_save_uint_32"]=function(){return(_png_save_uint_32=Module["_png_save_uint_32"]=Module["asm"]["png_save_uint_32"]).apply(null,arguments)};var _png_convert_to_rfc1123_buffer=Module["_png_convert_to_rfc1123_buffer"]=function(){return(_png_convert_to_rfc1123_buffer=Module["_png_convert_to_rfc1123_buffer"]=Module["asm"]["png_convert_to_rfc1123_buffer"]).apply(null,arguments)};var _png_format_number=Module["_png_format_number"]=function(){return(_png_format_number=Module["_png_format_number"]=Module["asm"]["png_format_number"]).apply(null,arguments)};var _png_safecat=Module["_png_safecat"]=function(){return(_png_safecat=Module["_png_safecat"]=Module["asm"]["png_safecat"]).apply(null,arguments)};var _png_convert_to_rfc1123=Module["_png_convert_to_rfc1123"]=function(){return(_png_convert_to_rfc1123=Module["_png_convert_to_rfc1123"]=Module["asm"]["png_convert_to_rfc1123"]).apply(null,arguments)};var _png_get_copyright=Module["_png_get_copyright"]=function(){return(_png_get_copyright=Module["_png_get_copyright"]=Module["asm"]["png_get_copyright"]).apply(null,arguments)};var _png_get_libpng_ver=Module["_png_get_libpng_ver"]=function(){return(_png_get_libpng_ver=Module["_png_get_libpng_ver"]=Module["asm"]["png_get_libpng_ver"]).apply(null,arguments)};var _png_get_header_ver=Module["_png_get_header_ver"]=function(){return(_png_get_header_ver=Module["_png_get_header_ver"]=Module["asm"]["png_get_header_ver"]).apply(null,arguments)};var _png_get_header_version=Module["_png_get_header_version"]=function(){return(_png_get_header_version=Module["_png_get_header_version"]=Module["asm"]["png_get_header_version"]).apply(null,arguments)};var _png_build_grayscale_palette=Module["_png_build_grayscale_palette"]=function(){return(_png_build_grayscale_palette=Module["_png_build_grayscale_palette"]=Module["asm"]["png_build_grayscale_palette"]).apply(null,arguments)};var _png_handle_as_unknown=Module["_png_handle_as_unknown"]=function(){return(_png_handle_as_unknown=Module["_png_handle_as_unknown"]=Module["asm"]["png_handle_as_unknown"]).apply(null,arguments)};var _png_chunk_unknown_handling=Module["_png_chunk_unknown_handling"]=function(){return(_png_chunk_unknown_handling=Module["_png_chunk_unknown_handling"]=Module["asm"]["png_chunk_unknown_handling"]).apply(null,arguments)};var _png_reset_zstream=Module["_png_reset_zstream"]=function(){return(_png_reset_zstream=Module["_png_reset_zstream"]=Module["asm"]["png_reset_zstream"]).apply(null,arguments)};var _inflateReset=Module["_inflateReset"]=function(){return(_inflateReset=Module["_inflateReset"]=Module["asm"]["inflateReset"]).apply(null,arguments)};var _png_access_version_number=Module["_png_access_version_number"]=function(){return(_png_access_version_number=Module["_png_access_version_number"]=Module["asm"]["png_access_version_number"]).apply(null,arguments)};var _png_zstream_error=Module["_png_zstream_error"]=function(){return(_png_zstream_error=Module["_png_zstream_error"]=Module["asm"]["png_zstream_error"]).apply(null,arguments)};var _png_colorspace_set_gamma=Module["_png_colorspace_set_gamma"]=function(){return(_png_colorspace_set_gamma=Module["_png_colorspace_set_gamma"]=Module["asm"]["png_colorspace_set_gamma"]).apply(null,arguments)};var _png_chunk_report=Module["_png_chunk_report"]=function(){return(_png_chunk_report=Module["_png_chunk_report"]=Module["asm"]["png_chunk_report"]).apply(null,arguments)};var _png_colorspace_sync_info=Module["_png_colorspace_sync_info"]=function(){return(_png_colorspace_sync_info=Module["_png_colorspace_sync_info"]=Module["asm"]["png_colorspace_sync_info"]).apply(null,arguments)};var _png_colorspace_sync=Module["_png_colorspace_sync"]=function(){return(_png_colorspace_sync=Module["_png_colorspace_sync"]=Module["asm"]["png_colorspace_sync"]).apply(null,arguments)};var _png_colorspace_set_chromaticities=Module["_png_colorspace_set_chromaticities"]=function(){return(_png_colorspace_set_chromaticities=Module["_png_colorspace_set_chromaticities"]=Module["asm"]["png_colorspace_set_chromaticities"]).apply(null,arguments)};var _png_benign_error=Module["_png_benign_error"]=function(){return(_png_benign_error=Module["_png_benign_error"]=Module["asm"]["png_benign_error"]).apply(null,arguments)};var _png_colorspace_set_endpoints=Module["_png_colorspace_set_endpoints"]=function(){return(_png_colorspace_set_endpoints=Module["_png_colorspace_set_endpoints"]=Module["asm"]["png_colorspace_set_endpoints"]).apply(null,arguments)};var _png_colorspace_set_sRGB=Module["_png_colorspace_set_sRGB"]=function(){return(_png_colorspace_set_sRGB=Module["_png_colorspace_set_sRGB"]=Module["asm"]["png_colorspace_set_sRGB"]).apply(null,arguments)};var _png_icc_check_length=Module["_png_icc_check_length"]=function(){return(_png_icc_check_length=Module["_png_icc_check_length"]=Module["asm"]["png_icc_check_length"]).apply(null,arguments)};var _png_icc_check_header=Module["_png_icc_check_header"]=function(){return(_png_icc_check_header=Module["_png_icc_check_header"]=Module["asm"]["png_icc_check_header"]).apply(null,arguments)};var _png_icc_check_tag_table=Module["_png_icc_check_tag_table"]=function(){return(_png_icc_check_tag_table=Module["_png_icc_check_tag_table"]=Module["asm"]["png_icc_check_tag_table"]).apply(null,arguments)};var _png_icc_set_sRGB=Module["_png_icc_set_sRGB"]=function(){return(_png_icc_set_sRGB=Module["_png_icc_set_sRGB"]=Module["asm"]["png_icc_set_sRGB"]).apply(null,arguments)};var _png_colorspace_set_ICC=Module["_png_colorspace_set_ICC"]=function(){return(_png_colorspace_set_ICC=Module["_png_colorspace_set_ICC"]=Module["asm"]["png_colorspace_set_ICC"]).apply(null,arguments)};var _png_colorspace_set_rgb_coefficients=Module["_png_colorspace_set_rgb_coefficients"]=function(){return(_png_colorspace_set_rgb_coefficients=Module["_png_colorspace_set_rgb_coefficients"]=Module["asm"]["png_colorspace_set_rgb_coefficients"]).apply(null,arguments)};var _png_muldiv=Module["_png_muldiv"]=function(){return(_png_muldiv=Module["_png_muldiv"]=Module["asm"]["png_muldiv"]).apply(null,arguments)};var _png_check_IHDR=Module["_png_check_IHDR"]=function(){return(_png_check_IHDR=Module["_png_check_IHDR"]=Module["asm"]["png_check_IHDR"]).apply(null,arguments)};var _png_check_fp_number=Module["_png_check_fp_number"]=function(){return(_png_check_fp_number=Module["_png_check_fp_number"]=Module["asm"]["png_check_fp_number"]).apply(null,arguments)};var _png_check_fp_string=Module["_png_check_fp_string"]=function(){return(_png_check_fp_string=Module["_png_check_fp_string"]=Module["asm"]["png_check_fp_string"]).apply(null,arguments)};var _png_ascii_from_fp=Module["_png_ascii_from_fp"]=function(){return(_png_ascii_from_fp=Module["_png_ascii_from_fp"]=Module["asm"]["png_ascii_from_fp"]).apply(null,arguments)};var _png_ascii_from_fixed=Module["_png_ascii_from_fixed"]=function(){return(_png_ascii_from_fixed=Module["_png_ascii_from_fixed"]=Module["asm"]["png_ascii_from_fixed"]).apply(null,arguments)};var _png_fixed=Module["_png_fixed"]=function(){return(_png_fixed=Module["_png_fixed"]=Module["asm"]["png_fixed"]).apply(null,arguments)};var _png_fixed_error=Module["_png_fixed_error"]=function(){return(_png_fixed_error=Module["_png_fixed_error"]=Module["asm"]["png_fixed_error"]).apply(null,arguments)};var _png_muldiv_warn=Module["_png_muldiv_warn"]=function(){return(_png_muldiv_warn=Module["_png_muldiv_warn"]=Module["asm"]["png_muldiv_warn"]).apply(null,arguments)};var _png_reciprocal=Module["_png_reciprocal"]=function(){return(_png_reciprocal=Module["_png_reciprocal"]=Module["asm"]["png_reciprocal"]).apply(null,arguments)};var _png_gamma_significant=Module["_png_gamma_significant"]=function(){return(_png_gamma_significant=Module["_png_gamma_significant"]=Module["asm"]["png_gamma_significant"]).apply(null,arguments)};var _png_reciprocal2=Module["_png_reciprocal2"]=function(){return(_png_reciprocal2=Module["_png_reciprocal2"]=Module["asm"]["png_reciprocal2"]).apply(null,arguments)};var _png_gamma_8bit_correct=Module["_png_gamma_8bit_correct"]=function(){return(_png_gamma_8bit_correct=Module["_png_gamma_8bit_correct"]=Module["asm"]["png_gamma_8bit_correct"]).apply(null,arguments)};var _png_gamma_16bit_correct=Module["_png_gamma_16bit_correct"]=function(){return(_png_gamma_16bit_correct=Module["_png_gamma_16bit_correct"]=Module["asm"]["png_gamma_16bit_correct"]).apply(null,arguments)};var _png_gamma_correct=Module["_png_gamma_correct"]=function(){return(_png_gamma_correct=Module["_png_gamma_correct"]=Module["asm"]["png_gamma_correct"]).apply(null,arguments)};var _png_destroy_gamma_table=Module["_png_destroy_gamma_table"]=function(){return(_png_destroy_gamma_table=Module["_png_destroy_gamma_table"]=Module["asm"]["png_destroy_gamma_table"]).apply(null,arguments)};var _png_build_gamma_table=Module["_png_build_gamma_table"]=function(){return(_png_build_gamma_table=Module["_png_build_gamma_table"]=Module["asm"]["png_build_gamma_table"]).apply(null,arguments)};var _png_malloc=Module["_png_malloc"]=function(){return(_png_malloc=Module["_png_malloc"]=Module["asm"]["png_malloc"]).apply(null,arguments)};var _png_calloc=Module["_png_calloc"]=function(){return(_png_calloc=Module["_png_calloc"]=Module["asm"]["png_calloc"]).apply(null,arguments)};var _png_set_option=Module["_png_set_option"]=function(){return(_png_set_option=Module["_png_set_option"]=Module["asm"]["png_set_option"]).apply(null,arguments)};var _png_image_free=Module["_png_image_free"]=function(){return(_png_image_free=Module["_png_image_free"]=Module["asm"]["png_image_free"]).apply(null,arguments)};var _png_destroy_write_struct=Module["_png_destroy_write_struct"]=function(){return(_png_destroy_write_struct=Module["_png_destroy_write_struct"]=Module["asm"]["png_destroy_write_struct"]).apply(null,arguments)};var _png_destroy_read_struct=Module["_png_destroy_read_struct"]=function(){return(_png_destroy_read_struct=Module["_png_destroy_read_struct"]=Module["asm"]["png_destroy_read_struct"]).apply(null,arguments)};var _png_image_error=Module["_png_image_error"]=function(){return(_png_image_error=Module["_png_image_error"]=Module["asm"]["png_image_error"]).apply(null,arguments)};var _png_longjmp=Module["_png_longjmp"]=function(){return(_png_longjmp=Module["_png_longjmp"]=Module["asm"]["png_longjmp"]).apply(null,arguments)};var _png_chunk_error=Module["_png_chunk_error"]=function(){return(_png_chunk_error=Module["_png_chunk_error"]=Module["asm"]["png_chunk_error"]).apply(null,arguments)};var _png_app_warning=Module["_png_app_warning"]=function(){return(_png_app_warning=Module["_png_app_warning"]=Module["asm"]["png_app_warning"]).apply(null,arguments)};var _png_app_error=Module["_png_app_error"]=function(){return(_png_app_error=Module["_png_app_error"]=Module["asm"]["png_app_error"]).apply(null,arguments)};var _png_chunk_benign_error=Module["_png_chunk_benign_error"]=function(){return(_png_chunk_benign_error=Module["_png_chunk_benign_error"]=Module["asm"]["png_chunk_benign_error"]).apply(null,arguments)};var _png_set_longjmp_fn=Module["_png_set_longjmp_fn"]=function(){return(_png_set_longjmp_fn=Module["_png_set_longjmp_fn"]=Module["asm"]["png_set_longjmp_fn"]).apply(null,arguments)};var _png_free_jmpbuf=Module["_png_free_jmpbuf"]=function(){return(_png_free_jmpbuf=Module["_png_free_jmpbuf"]=Module["asm"]["png_free_jmpbuf"]).apply(null,arguments)};var _png_get_error_ptr=Module["_png_get_error_ptr"]=function(){return(_png_get_error_ptr=Module["_png_get_error_ptr"]=Module["asm"]["png_get_error_ptr"]).apply(null,arguments)};var _png_safe_error=Module["_png_safe_error"]=function(){return(_png_safe_error=Module["_png_safe_error"]=Module["asm"]["png_safe_error"]).apply(null,arguments)};var _png_safe_execute=Module["_png_safe_execute"]=function(){return(_png_safe_execute=Module["_png_safe_execute"]=Module["asm"]["png_safe_execute"]).apply(null,arguments)};var _png_get_valid=Module["_png_get_valid"]=function(){return(_png_get_valid=Module["_png_get_valid"]=Module["asm"]["png_get_valid"]).apply(null,arguments)};var _png_get_rowbytes=Module["_png_get_rowbytes"]=function(){return(_png_get_rowbytes=Module["_png_get_rowbytes"]=Module["asm"]["png_get_rowbytes"]).apply(null,arguments)};var _png_get_rows=Module["_png_get_rows"]=function(){return(_png_get_rows=Module["_png_get_rows"]=Module["asm"]["png_get_rows"]).apply(null,arguments)};var _png_get_image_width=Module["_png_get_image_width"]=function(){return(_png_get_image_width=Module["_png_get_image_width"]=Module["asm"]["png_get_image_width"]).apply(null,arguments)};var _png_get_image_height=Module["_png_get_image_height"]=function(){return(_png_get_image_height=Module["_png_get_image_height"]=Module["asm"]["png_get_image_height"]).apply(null,arguments)};var _png_get_bit_depth=Module["_png_get_bit_depth"]=function(){return(_png_get_bit_depth=Module["_png_get_bit_depth"]=Module["asm"]["png_get_bit_depth"]).apply(null,arguments)};var _png_get_color_type=Module["_png_get_color_type"]=function(){return(_png_get_color_type=Module["_png_get_color_type"]=Module["asm"]["png_get_color_type"]).apply(null,arguments)};var _png_get_filter_type=Module["_png_get_filter_type"]=function(){return(_png_get_filter_type=Module["_png_get_filter_type"]=Module["asm"]["png_get_filter_type"]).apply(null,arguments)};var _png_get_interlace_type=Module["_png_get_interlace_type"]=function(){return(_png_get_interlace_type=Module["_png_get_interlace_type"]=Module["asm"]["png_get_interlace_type"]).apply(null,arguments)};var _png_get_compression_type=Module["_png_get_compression_type"]=function(){return(_png_get_compression_type=Module["_png_get_compression_type"]=Module["asm"]["png_get_compression_type"]).apply(null,arguments)};var _png_get_x_pixels_per_meter=Module["_png_get_x_pixels_per_meter"]=function(){return(_png_get_x_pixels_per_meter=Module["_png_get_x_pixels_per_meter"]=Module["asm"]["png_get_x_pixels_per_meter"]).apply(null,arguments)};var _png_get_y_pixels_per_meter=Module["_png_get_y_pixels_per_meter"]=function(){return(_png_get_y_pixels_per_meter=Module["_png_get_y_pixels_per_meter"]=Module["asm"]["png_get_y_pixels_per_meter"]).apply(null,arguments)};var _png_get_pixels_per_meter=Module["_png_get_pixels_per_meter"]=function(){return(_png_get_pixels_per_meter=Module["_png_get_pixels_per_meter"]=Module["asm"]["png_get_pixels_per_meter"]).apply(null,arguments)};var _png_get_pixel_aspect_ratio=Module["_png_get_pixel_aspect_ratio"]=function(){return(_png_get_pixel_aspect_ratio=Module["_png_get_pixel_aspect_ratio"]=Module["asm"]["png_get_pixel_aspect_ratio"]).apply(null,arguments)};var _png_get_pixel_aspect_ratio_fixed=Module["_png_get_pixel_aspect_ratio_fixed"]=function(){return(_png_get_pixel_aspect_ratio_fixed=Module["_png_get_pixel_aspect_ratio_fixed"]=Module["asm"]["png_get_pixel_aspect_ratio_fixed"]).apply(null,arguments)};var _png_get_x_offset_microns=Module["_png_get_x_offset_microns"]=function(){return(_png_get_x_offset_microns=Module["_png_get_x_offset_microns"]=Module["asm"]["png_get_x_offset_microns"]).apply(null,arguments)};var _png_get_y_offset_microns=Module["_png_get_y_offset_microns"]=function(){return(_png_get_y_offset_microns=Module["_png_get_y_offset_microns"]=Module["asm"]["png_get_y_offset_microns"]).apply(null,arguments)};var _png_get_x_offset_pixels=Module["_png_get_x_offset_pixels"]=function(){return(_png_get_x_offset_pixels=Module["_png_get_x_offset_pixels"]=Module["asm"]["png_get_x_offset_pixels"]).apply(null,arguments)};var _png_get_y_offset_pixels=Module["_png_get_y_offset_pixels"]=function(){return(_png_get_y_offset_pixels=Module["_png_get_y_offset_pixels"]=Module["asm"]["png_get_y_offset_pixels"]).apply(null,arguments)};var _png_get_pixels_per_inch=Module["_png_get_pixels_per_inch"]=function(){return(_png_get_pixels_per_inch=Module["_png_get_pixels_per_inch"]=Module["asm"]["png_get_pixels_per_inch"]).apply(null,arguments)};var _png_get_x_pixels_per_inch=Module["_png_get_x_pixels_per_inch"]=function(){return(_png_get_x_pixels_per_inch=Module["_png_get_x_pixels_per_inch"]=Module["asm"]["png_get_x_pixels_per_inch"]).apply(null,arguments)};var _png_get_y_pixels_per_inch=Module["_png_get_y_pixels_per_inch"]=function(){return(_png_get_y_pixels_per_inch=Module["_png_get_y_pixels_per_inch"]=Module["asm"]["png_get_y_pixels_per_inch"]).apply(null,arguments)};var _png_get_x_offset_inches_fixed=Module["_png_get_x_offset_inches_fixed"]=function(){return(_png_get_x_offset_inches_fixed=Module["_png_get_x_offset_inches_fixed"]=Module["asm"]["png_get_x_offset_inches_fixed"]).apply(null,arguments)};var _png_get_y_offset_inches_fixed=Module["_png_get_y_offset_inches_fixed"]=function(){return(_png_get_y_offset_inches_fixed=Module["_png_get_y_offset_inches_fixed"]=Module["asm"]["png_get_y_offset_inches_fixed"]).apply(null,arguments)};var _png_get_x_offset_inches=Module["_png_get_x_offset_inches"]=function(){return(_png_get_x_offset_inches=Module["_png_get_x_offset_inches"]=Module["asm"]["png_get_x_offset_inches"]).apply(null,arguments)};var _png_get_y_offset_inches=Module["_png_get_y_offset_inches"]=function(){return(_png_get_y_offset_inches=Module["_png_get_y_offset_inches"]=Module["asm"]["png_get_y_offset_inches"]).apply(null,arguments)};var _png_get_pHYs_dpi=Module["_png_get_pHYs_dpi"]=function(){return(_png_get_pHYs_dpi=Module["_png_get_pHYs_dpi"]=Module["asm"]["png_get_pHYs_dpi"]).apply(null,arguments)};var _png_get_channels=Module["_png_get_channels"]=function(){return(_png_get_channels=Module["_png_get_channels"]=Module["asm"]["png_get_channels"]).apply(null,arguments)};var _png_get_signature=Module["_png_get_signature"]=function(){return(_png_get_signature=Module["_png_get_signature"]=Module["asm"]["png_get_signature"]).apply(null,arguments)};var _png_get_bKGD=Module["_png_get_bKGD"]=function(){return(_png_get_bKGD=Module["_png_get_bKGD"]=Module["asm"]["png_get_bKGD"]).apply(null,arguments)};var _png_get_cHRM=Module["_png_get_cHRM"]=function(){return(_png_get_cHRM=Module["_png_get_cHRM"]=Module["asm"]["png_get_cHRM"]).apply(null,arguments)};var _png_get_cHRM_XYZ=Module["_png_get_cHRM_XYZ"]=function(){return(_png_get_cHRM_XYZ=Module["_png_get_cHRM_XYZ"]=Module["asm"]["png_get_cHRM_XYZ"]).apply(null,arguments)};var _png_get_cHRM_XYZ_fixed=Module["_png_get_cHRM_XYZ_fixed"]=function(){return(_png_get_cHRM_XYZ_fixed=Module["_png_get_cHRM_XYZ_fixed"]=Module["asm"]["png_get_cHRM_XYZ_fixed"]).apply(null,arguments)};var _png_get_cHRM_fixed=Module["_png_get_cHRM_fixed"]=function(){return(_png_get_cHRM_fixed=Module["_png_get_cHRM_fixed"]=Module["asm"]["png_get_cHRM_fixed"]).apply(null,arguments)};var _png_get_gAMA_fixed=Module["_png_get_gAMA_fixed"]=function(){return(_png_get_gAMA_fixed=Module["_png_get_gAMA_fixed"]=Module["asm"]["png_get_gAMA_fixed"]).apply(null,arguments)};var _png_get_gAMA=Module["_png_get_gAMA"]=function(){return(_png_get_gAMA=Module["_png_get_gAMA"]=Module["asm"]["png_get_gAMA"]).apply(null,arguments)};var _png_get_sRGB=Module["_png_get_sRGB"]=function(){return(_png_get_sRGB=Module["_png_get_sRGB"]=Module["asm"]["png_get_sRGB"]).apply(null,arguments)};var _png_get_iCCP=Module["_png_get_iCCP"]=function(){return(_png_get_iCCP=Module["_png_get_iCCP"]=Module["asm"]["png_get_iCCP"]).apply(null,arguments)};var _png_get_sPLT=Module["_png_get_sPLT"]=function(){return(_png_get_sPLT=Module["_png_get_sPLT"]=Module["asm"]["png_get_sPLT"]).apply(null,arguments)};var _png_get_eXIf=Module["_png_get_eXIf"]=function(){return(_png_get_eXIf=Module["_png_get_eXIf"]=Module["asm"]["png_get_eXIf"]).apply(null,arguments)};var _png_get_eXIf_1=Module["_png_get_eXIf_1"]=function(){return(_png_get_eXIf_1=Module["_png_get_eXIf_1"]=Module["asm"]["png_get_eXIf_1"]).apply(null,arguments)};var _png_get_hIST=Module["_png_get_hIST"]=function(){return(_png_get_hIST=Module["_png_get_hIST"]=Module["asm"]["png_get_hIST"]).apply(null,arguments)};var _png_get_IHDR=Module["_png_get_IHDR"]=function(){return(_png_get_IHDR=Module["_png_get_IHDR"]=Module["asm"]["png_get_IHDR"]).apply(null,arguments)};var _png_get_oFFs=Module["_png_get_oFFs"]=function(){return(_png_get_oFFs=Module["_png_get_oFFs"]=Module["asm"]["png_get_oFFs"]).apply(null,arguments)};var _png_get_pCAL=Module["_png_get_pCAL"]=function(){return(_png_get_pCAL=Module["_png_get_pCAL"]=Module["asm"]["png_get_pCAL"]).apply(null,arguments)};var _png_get_sCAL_fixed=Module["_png_get_sCAL_fixed"]=function(){return(_png_get_sCAL_fixed=Module["_png_get_sCAL_fixed"]=Module["asm"]["png_get_sCAL_fixed"]).apply(null,arguments)};var _atof=Module["_atof"]=function(){return(_atof=Module["_atof"]=Module["asm"]["atof"]).apply(null,arguments)};var _png_get_sCAL=Module["_png_get_sCAL"]=function(){return(_png_get_sCAL=Module["_png_get_sCAL"]=Module["asm"]["png_get_sCAL"]).apply(null,arguments)};var _png_get_sCAL_s=Module["_png_get_sCAL_s"]=function(){return(_png_get_sCAL_s=Module["_png_get_sCAL_s"]=Module["asm"]["png_get_sCAL_s"]).apply(null,arguments)};var _png_get_pHYs=Module["_png_get_pHYs"]=function(){return(_png_get_pHYs=Module["_png_get_pHYs"]=Module["asm"]["png_get_pHYs"]).apply(null,arguments)};var _png_get_PLTE=Module["_png_get_PLTE"]=function(){return(_png_get_PLTE=Module["_png_get_PLTE"]=Module["asm"]["png_get_PLTE"]).apply(null,arguments)};var _png_get_sBIT=Module["_png_get_sBIT"]=function(){return(_png_get_sBIT=Module["_png_get_sBIT"]=Module["asm"]["png_get_sBIT"]).apply(null,arguments)};var _png_get_text=Module["_png_get_text"]=function(){return(_png_get_text=Module["_png_get_text"]=Module["asm"]["png_get_text"]).apply(null,arguments)};var _png_get_tIME=Module["_png_get_tIME"]=function(){return(_png_get_tIME=Module["_png_get_tIME"]=Module["asm"]["png_get_tIME"]).apply(null,arguments)};var _png_get_tRNS=Module["_png_get_tRNS"]=function(){return(_png_get_tRNS=Module["_png_get_tRNS"]=Module["asm"]["png_get_tRNS"]).apply(null,arguments)};var _png_get_unknown_chunks=Module["_png_get_unknown_chunks"]=function(){return(_png_get_unknown_chunks=Module["_png_get_unknown_chunks"]=Module["asm"]["png_get_unknown_chunks"]).apply(null,arguments)};var _png_get_rgb_to_gray_status=Module["_png_get_rgb_to_gray_status"]=function(){return(_png_get_rgb_to_gray_status=Module["_png_get_rgb_to_gray_status"]=Module["asm"]["png_get_rgb_to_gray_status"]).apply(null,arguments)};var _png_get_user_chunk_ptr=Module["_png_get_user_chunk_ptr"]=function(){return(_png_get_user_chunk_ptr=Module["_png_get_user_chunk_ptr"]=Module["asm"]["png_get_user_chunk_ptr"]).apply(null,arguments)};var _png_get_compression_buffer_size=Module["_png_get_compression_buffer_size"]=function(){return(_png_get_compression_buffer_size=Module["_png_get_compression_buffer_size"]=Module["asm"]["png_get_compression_buffer_size"]).apply(null,arguments)};var _png_get_user_width_max=Module["_png_get_user_width_max"]=function(){return(_png_get_user_width_max=Module["_png_get_user_width_max"]=Module["asm"]["png_get_user_width_max"]).apply(null,arguments)};var _png_get_user_height_max=Module["_png_get_user_height_max"]=function(){return(_png_get_user_height_max=Module["_png_get_user_height_max"]=Module["asm"]["png_get_user_height_max"]).apply(null,arguments)};var _png_get_chunk_cache_max=Module["_png_get_chunk_cache_max"]=function(){return(_png_get_chunk_cache_max=Module["_png_get_chunk_cache_max"]=Module["asm"]["png_get_chunk_cache_max"]).apply(null,arguments)};var _png_get_chunk_malloc_max=Module["_png_get_chunk_malloc_max"]=function(){return(_png_get_chunk_malloc_max=Module["_png_get_chunk_malloc_max"]=Module["asm"]["png_get_chunk_malloc_max"]).apply(null,arguments)};var _png_get_io_state=Module["_png_get_io_state"]=function(){return(_png_get_io_state=Module["_png_get_io_state"]=Module["asm"]["png_get_io_state"]).apply(null,arguments)};var _png_get_io_chunk_type=Module["_png_get_io_chunk_type"]=function(){return(_png_get_io_chunk_type=Module["_png_get_io_chunk_type"]=Module["asm"]["png_get_io_chunk_type"]).apply(null,arguments)};var _png_get_palette_max=Module["_png_get_palette_max"]=function(){return(_png_get_palette_max=Module["_png_get_palette_max"]=Module["asm"]["png_get_palette_max"]).apply(null,arguments)};var _png_destroy_png_struct=Module["_png_destroy_png_struct"]=function(){return(_png_destroy_png_struct=Module["_png_destroy_png_struct"]=Module["asm"]["png_destroy_png_struct"]).apply(null,arguments)};var _png_malloc_array=Module["_png_malloc_array"]=function(){return(_png_malloc_array=Module["_png_malloc_array"]=Module["asm"]["png_malloc_array"]).apply(null,arguments)};var _png_realloc_array=Module["_png_realloc_array"]=function(){return(_png_realloc_array=Module["_png_realloc_array"]=Module["asm"]["png_realloc_array"]).apply(null,arguments)};var _png_malloc_default=Module["_png_malloc_default"]=function(){return(_png_malloc_default=Module["_png_malloc_default"]=Module["asm"]["png_malloc_default"]).apply(null,arguments)};var _png_free_default=Module["_png_free_default"]=function(){return(_png_free_default=Module["_png_free_default"]=Module["asm"]["png_free_default"]).apply(null,arguments)};var _png_get_mem_ptr=Module["_png_get_mem_ptr"]=function(){return(_png_get_mem_ptr=Module["_png_get_mem_ptr"]=Module["asm"]["png_get_mem_ptr"]).apply(null,arguments)};var _png_process_data=Module["_png_process_data"]=function(){return(_png_process_data=Module["_png_process_data"]=Module["asm"]["png_process_data"]).apply(null,arguments)};var _png_push_read_chunk=Module["_png_push_read_chunk"]=function(){return(_png_push_read_chunk=Module["_png_push_read_chunk"]=Module["asm"]["png_push_read_chunk"]).apply(null,arguments)};var _png_push_read_IDAT=Module["_png_push_read_IDAT"]=function(){return(_png_push_read_IDAT=Module["_png_push_read_IDAT"]=Module["asm"]["png_push_read_IDAT"]).apply(null,arguments)};var _png_push_read_sig=Module["_png_push_read_sig"]=function(){return(_png_push_read_sig=Module["_png_push_read_sig"]=Module["asm"]["png_push_read_sig"]).apply(null,arguments)};var _png_push_restore_buffer=Module["_png_push_restore_buffer"]=function(){return(_png_push_restore_buffer=Module["_png_push_restore_buffer"]=Module["asm"]["png_push_restore_buffer"]).apply(null,arguments)};var _png_process_some_data=Module["_png_process_some_data"]=function(){return(_png_process_some_data=Module["_png_process_some_data"]=Module["asm"]["png_process_some_data"]).apply(null,arguments)};var _png_process_data_pause=Module["_png_process_data_pause"]=function(){return(_png_process_data_pause=Module["_png_process_data_pause"]=Module["asm"]["png_process_data_pause"]).apply(null,arguments)};var _png_push_save_buffer=Module["_png_push_save_buffer"]=function(){return(_png_push_save_buffer=Module["_png_push_save_buffer"]=Module["asm"]["png_push_save_buffer"]).apply(null,arguments)};var _png_process_data_skip=Module["_png_process_data_skip"]=function(){return(_png_process_data_skip=Module["_png_process_data_skip"]=Module["asm"]["png_process_data_skip"]).apply(null,arguments)};var _png_get_uint_31=Module["_png_get_uint_31"]=function(){return(_png_get_uint_31=Module["_png_get_uint_31"]=Module["asm"]["png_get_uint_31"]).apply(null,arguments)};var _png_crc_read=Module["_png_crc_read"]=function(){return(_png_crc_read=Module["_png_crc_read"]=Module["asm"]["png_crc_read"]).apply(null,arguments)};var _png_check_chunk_name=Module["_png_check_chunk_name"]=function(){return(_png_check_chunk_name=Module["_png_check_chunk_name"]=Module["asm"]["png_check_chunk_name"]).apply(null,arguments)};var _png_check_chunk_length=Module["_png_check_chunk_length"]=function(){return(_png_check_chunk_length=Module["_png_check_chunk_length"]=Module["asm"]["png_check_chunk_length"]).apply(null,arguments)};var _png_handle_IHDR=Module["_png_handle_IHDR"]=function(){return(_png_handle_IHDR=Module["_png_handle_IHDR"]=Module["asm"]["png_handle_IHDR"]).apply(null,arguments)};var _png_handle_IEND=Module["_png_handle_IEND"]=function(){return(_png_handle_IEND=Module["_png_handle_IEND"]=Module["asm"]["png_handle_IEND"]).apply(null,arguments)};var _png_handle_PLTE=Module["_png_handle_PLTE"]=function(){return(_png_handle_PLTE=Module["_png_handle_PLTE"]=Module["asm"]["png_handle_PLTE"]).apply(null,arguments)};var _png_handle_gAMA=Module["_png_handle_gAMA"]=function(){return(_png_handle_gAMA=Module["_png_handle_gAMA"]=Module["asm"]["png_handle_gAMA"]).apply(null,arguments)};var _png_handle_sBIT=Module["_png_handle_sBIT"]=function(){return(_png_handle_sBIT=Module["_png_handle_sBIT"]=Module["asm"]["png_handle_sBIT"]).apply(null,arguments)};var _png_handle_cHRM=Module["_png_handle_cHRM"]=function(){return(_png_handle_cHRM=Module["_png_handle_cHRM"]=Module["asm"]["png_handle_cHRM"]).apply(null,arguments)};var _png_handle_sRGB=Module["_png_handle_sRGB"]=function(){return(_png_handle_sRGB=Module["_png_handle_sRGB"]=Module["asm"]["png_handle_sRGB"]).apply(null,arguments)};var _png_handle_iCCP=Module["_png_handle_iCCP"]=function(){return(_png_handle_iCCP=Module["_png_handle_iCCP"]=Module["asm"]["png_handle_iCCP"]).apply(null,arguments)};var _png_handle_sPLT=Module["_png_handle_sPLT"]=function(){return(_png_handle_sPLT=Module["_png_handle_sPLT"]=Module["asm"]["png_handle_sPLT"]).apply(null,arguments)};var _png_handle_tRNS=Module["_png_handle_tRNS"]=function(){return(_png_handle_tRNS=Module["_png_handle_tRNS"]=Module["asm"]["png_handle_tRNS"]).apply(null,arguments)};var _png_handle_bKGD=Module["_png_handle_bKGD"]=function(){return(_png_handle_bKGD=Module["_png_handle_bKGD"]=Module["asm"]["png_handle_bKGD"]).apply(null,arguments)};var _png_handle_hIST=Module["_png_handle_hIST"]=function(){return(_png_handle_hIST=Module["_png_handle_hIST"]=Module["asm"]["png_handle_hIST"]).apply(null,arguments)};var _png_handle_pHYs=Module["_png_handle_pHYs"]=function(){return(_png_handle_pHYs=Module["_png_handle_pHYs"]=Module["asm"]["png_handle_pHYs"]).apply(null,arguments)};var _png_handle_oFFs=Module["_png_handle_oFFs"]=function(){return(_png_handle_oFFs=Module["_png_handle_oFFs"]=Module["asm"]["png_handle_oFFs"]).apply(null,arguments)};var _png_handle_pCAL=Module["_png_handle_pCAL"]=function(){return(_png_handle_pCAL=Module["_png_handle_pCAL"]=Module["asm"]["png_handle_pCAL"]).apply(null,arguments)};var _png_handle_sCAL=Module["_png_handle_sCAL"]=function(){return(_png_handle_sCAL=Module["_png_handle_sCAL"]=Module["asm"]["png_handle_sCAL"]).apply(null,arguments)};var _png_handle_tIME=Module["_png_handle_tIME"]=function(){return(_png_handle_tIME=Module["_png_handle_tIME"]=Module["asm"]["png_handle_tIME"]).apply(null,arguments)};var _png_handle_tEXt=Module["_png_handle_tEXt"]=function(){return(_png_handle_tEXt=Module["_png_handle_tEXt"]=Module["asm"]["png_handle_tEXt"]).apply(null,arguments)};var _png_handle_zTXt=Module["_png_handle_zTXt"]=function(){return(_png_handle_zTXt=Module["_png_handle_zTXt"]=Module["asm"]["png_handle_zTXt"]).apply(null,arguments)};var _png_handle_iTXt=Module["_png_handle_iTXt"]=function(){return(_png_handle_iTXt=Module["_png_handle_iTXt"]=Module["asm"]["png_handle_iTXt"]).apply(null,arguments)};var _png_handle_unknown=Module["_png_handle_unknown"]=function(){return(_png_handle_unknown=Module["_png_handle_unknown"]=Module["asm"]["png_handle_unknown"]).apply(null,arguments)};var _png_process_IDAT_data=Module["_png_process_IDAT_data"]=function(){return(_png_process_IDAT_data=Module["_png_process_IDAT_data"]=Module["asm"]["png_process_IDAT_data"]).apply(null,arguments)};var _png_crc_finish=Module["_png_crc_finish"]=function(){return(_png_crc_finish=Module["_png_crc_finish"]=Module["asm"]["png_crc_finish"]).apply(null,arguments)};var _png_push_fill_buffer=Module["_png_push_fill_buffer"]=function(){return(_png_push_fill_buffer=Module["_png_push_fill_buffer"]=Module["asm"]["png_push_fill_buffer"]).apply(null,arguments)};var _png_push_have_end=Module["_png_push_have_end"]=function(){return(_png_push_have_end=Module["_png_push_have_end"]=Module["asm"]["png_push_have_end"]).apply(null,arguments)};var _png_push_have_info=Module["_png_push_have_info"]=function(){return(_png_push_have_info=Module["_png_push_have_info"]=Module["asm"]["png_push_have_info"]).apply(null,arguments)};var _png_zlib_inflate=Module["_png_zlib_inflate"]=function(){return(_png_zlib_inflate=Module["_png_zlib_inflate"]=Module["asm"]["png_zlib_inflate"]).apply(null,arguments)};var _png_push_process_row=Module["_png_push_process_row"]=function(){return(_png_push_process_row=Module["_png_push_process_row"]=Module["asm"]["png_push_process_row"]).apply(null,arguments)};var _png_read_filter_row=Module["_png_read_filter_row"]=function(){return(_png_read_filter_row=Module["_png_read_filter_row"]=Module["asm"]["png_read_filter_row"]).apply(null,arguments)};var _png_do_read_transformations=Module["_png_do_read_transformations"]=function(){return(_png_do_read_transformations=Module["_png_do_read_transformations"]=Module["asm"]["png_do_read_transformations"]).apply(null,arguments)};var _png_do_read_interlace=Module["_png_do_read_interlace"]=function(){return(_png_do_read_interlace=Module["_png_do_read_interlace"]=Module["asm"]["png_do_read_interlace"]).apply(null,arguments)};var _png_read_push_finish_row=Module["_png_read_push_finish_row"]=function(){return(_png_read_push_finish_row=Module["_png_read_push_finish_row"]=Module["asm"]["png_read_push_finish_row"]).apply(null,arguments)};var _png_push_have_row=Module["_png_push_have_row"]=function(){return(_png_push_have_row=Module["_png_push_have_row"]=Module["asm"]["png_push_have_row"]).apply(null,arguments)};var _png_progressive_combine_row=Module["_png_progressive_combine_row"]=function(){return(_png_progressive_combine_row=Module["_png_progressive_combine_row"]=Module["asm"]["png_progressive_combine_row"]).apply(null,arguments)};var _png_combine_row=Module["_png_combine_row"]=function(){return(_png_combine_row=Module["_png_combine_row"]=Module["asm"]["png_combine_row"]).apply(null,arguments)};var _png_set_progressive_read_fn=Module["_png_set_progressive_read_fn"]=function(){return(_png_set_progressive_read_fn=Module["_png_set_progressive_read_fn"]=Module["asm"]["png_set_progressive_read_fn"]).apply(null,arguments)};var _png_set_read_fn=Module["_png_set_read_fn"]=function(){return(_png_set_read_fn=Module["_png_set_read_fn"]=Module["asm"]["png_set_read_fn"]).apply(null,arguments)};var _png_get_progressive_ptr=Module["_png_get_progressive_ptr"]=function(){return(_png_get_progressive_ptr=Module["_png_get_progressive_ptr"]=Module["asm"]["png_get_progressive_ptr"]).apply(null,arguments)};var _png_create_read_struct=Module["_png_create_read_struct"]=function(){return(_png_create_read_struct=Module["_png_create_read_struct"]=Module["asm"]["png_create_read_struct"]).apply(null,arguments)};var _png_create_read_struct_2=Module["_png_create_read_struct_2"]=function(){return(_png_create_read_struct_2=Module["_png_create_read_struct_2"]=Module["asm"]["png_create_read_struct_2"]).apply(null,arguments)};var _png_read_info=Module["_png_read_info"]=function(){return(_png_read_info=Module["_png_read_info"]=Module["asm"]["png_read_info"]).apply(null,arguments)};var _png_read_sig=Module["_png_read_sig"]=function(){return(_png_read_sig=Module["_png_read_sig"]=Module["asm"]["png_read_sig"]).apply(null,arguments)};var _png_read_chunk_header=Module["_png_read_chunk_header"]=function(){return(_png_read_chunk_header=Module["_png_read_chunk_header"]=Module["asm"]["png_read_chunk_header"]).apply(null,arguments)};var _png_handle_eXIf=Module["_png_handle_eXIf"]=function(){return(_png_handle_eXIf=Module["_png_handle_eXIf"]=Module["asm"]["png_handle_eXIf"]).apply(null,arguments)};var _png_read_update_info=Module["_png_read_update_info"]=function(){return(_png_read_update_info=Module["_png_read_update_info"]=Module["asm"]["png_read_update_info"]).apply(null,arguments)};var _png_read_start_row=Module["_png_read_start_row"]=function(){return(_png_read_start_row=Module["_png_read_start_row"]=Module["asm"]["png_read_start_row"]).apply(null,arguments)};var _png_read_transform_info=Module["_png_read_transform_info"]=function(){return(_png_read_transform_info=Module["_png_read_transform_info"]=Module["asm"]["png_read_transform_info"]).apply(null,arguments)};var _png_start_read_image=Module["_png_start_read_image"]=function(){return(_png_start_read_image=Module["_png_start_read_image"]=Module["asm"]["png_start_read_image"]).apply(null,arguments)};var _png_read_row=Module["_png_read_row"]=function(){return(_png_read_row=Module["_png_read_row"]=Module["asm"]["png_read_row"]).apply(null,arguments)};var _png_read_finish_row=Module["_png_read_finish_row"]=function(){return(_png_read_finish_row=Module["_png_read_finish_row"]=Module["asm"]["png_read_finish_row"]).apply(null,arguments)};var _png_read_IDAT_data=Module["_png_read_IDAT_data"]=function(){return(_png_read_IDAT_data=Module["_png_read_IDAT_data"]=Module["asm"]["png_read_IDAT_data"]).apply(null,arguments)};var _png_read_rows=Module["_png_read_rows"]=function(){return(_png_read_rows=Module["_png_read_rows"]=Module["asm"]["png_read_rows"]).apply(null,arguments)};var _png_read_image=Module["_png_read_image"]=function(){return(_png_read_image=Module["_png_read_image"]=Module["asm"]["png_read_image"]).apply(null,arguments)};var _png_set_interlace_handling=Module["_png_set_interlace_handling"]=function(){return(_png_set_interlace_handling=Module["_png_set_interlace_handling"]=Module["asm"]["png_set_interlace_handling"]).apply(null,arguments)};var _png_read_end=Module["_png_read_end"]=function(){return(_png_read_end=Module["_png_read_end"]=Module["asm"]["png_read_end"]).apply(null,arguments)};var _png_read_finish_IDAT=Module["_png_read_finish_IDAT"]=function(){return(_png_read_finish_IDAT=Module["_png_read_finish_IDAT"]=Module["asm"]["png_read_finish_IDAT"]).apply(null,arguments)};var _png_set_read_status_fn=Module["_png_set_read_status_fn"]=function(){return(_png_set_read_status_fn=Module["_png_set_read_status_fn"]=Module["asm"]["png_set_read_status_fn"]).apply(null,arguments)};var _png_read_png=Module["_png_read_png"]=function(){return(_png_read_png=Module["_png_read_png"]=Module["asm"]["png_read_png"]).apply(null,arguments)};var _png_set_scale_16=Module["_png_set_scale_16"]=function(){return(_png_set_scale_16=Module["_png_set_scale_16"]=Module["asm"]["png_set_scale_16"]).apply(null,arguments)};var _png_set_strip_16=Module["_png_set_strip_16"]=function(){return(_png_set_strip_16=Module["_png_set_strip_16"]=Module["asm"]["png_set_strip_16"]).apply(null,arguments)};var _png_set_strip_alpha=Module["_png_set_strip_alpha"]=function(){return(_png_set_strip_alpha=Module["_png_set_strip_alpha"]=Module["asm"]["png_set_strip_alpha"]).apply(null,arguments)};var _png_set_packing=Module["_png_set_packing"]=function(){return(_png_set_packing=Module["_png_set_packing"]=Module["asm"]["png_set_packing"]).apply(null,arguments)};var _png_set_packswap=Module["_png_set_packswap"]=function(){return(_png_set_packswap=Module["_png_set_packswap"]=Module["asm"]["png_set_packswap"]).apply(null,arguments)};var _png_set_expand=Module["_png_set_expand"]=function(){return(_png_set_expand=Module["_png_set_expand"]=Module["asm"]["png_set_expand"]).apply(null,arguments)};var _png_set_invert_mono=Module["_png_set_invert_mono"]=function(){return(_png_set_invert_mono=Module["_png_set_invert_mono"]=Module["asm"]["png_set_invert_mono"]).apply(null,arguments)};var _png_set_shift=Module["_png_set_shift"]=function(){return(_png_set_shift=Module["_png_set_shift"]=Module["asm"]["png_set_shift"]).apply(null,arguments)};var _png_set_bgr=Module["_png_set_bgr"]=function(){return(_png_set_bgr=Module["_png_set_bgr"]=Module["asm"]["png_set_bgr"]).apply(null,arguments)};var _png_set_swap_alpha=Module["_png_set_swap_alpha"]=function(){return(_png_set_swap_alpha=Module["_png_set_swap_alpha"]=Module["asm"]["png_set_swap_alpha"]).apply(null,arguments)};var _png_set_swap=Module["_png_set_swap"]=function(){return(_png_set_swap=Module["_png_set_swap"]=Module["asm"]["png_set_swap"]).apply(null,arguments)};var _png_set_invert_alpha=Module["_png_set_invert_alpha"]=function(){return(_png_set_invert_alpha=Module["_png_set_invert_alpha"]=Module["asm"]["png_set_invert_alpha"]).apply(null,arguments)};var _png_set_gray_to_rgb=Module["_png_set_gray_to_rgb"]=function(){return(_png_set_gray_to_rgb=Module["_png_set_gray_to_rgb"]=Module["asm"]["png_set_gray_to_rgb"]).apply(null,arguments)};var _png_set_expand_16=Module["_png_set_expand_16"]=function(){return(_png_set_expand_16=Module["_png_set_expand_16"]=Module["asm"]["png_set_expand_16"]).apply(null,arguments)};var _png_image_begin_read_from_stdio=Module["_png_image_begin_read_from_stdio"]=function(){return(_png_image_begin_read_from_stdio=Module["_png_image_begin_read_from_stdio"]=Module["asm"]["png_image_begin_read_from_stdio"]).apply(null,arguments)};var _png_set_benign_errors=Module["_png_set_benign_errors"]=function(){return(_png_set_benign_errors=Module["_png_set_benign_errors"]=Module["asm"]["png_set_benign_errors"]).apply(null,arguments)};var _png_image_begin_read_from_file=Module["_png_image_begin_read_from_file"]=function(){return(_png_image_begin_read_from_file=Module["_png_image_begin_read_from_file"]=Module["asm"]["png_image_begin_read_from_file"]).apply(null,arguments)};var _png_image_begin_read_from_memory=Module["_png_image_begin_read_from_memory"]=function(){return(_png_image_begin_read_from_memory=Module["_png_image_begin_read_from_memory"]=Module["asm"]["png_image_begin_read_from_memory"]).apply(null,arguments)};var _png_image_finish_read=Module["_png_image_finish_read"]=function(){return(_png_image_finish_read=Module["_png_image_finish_read"]=Module["asm"]["png_image_finish_read"]).apply(null,arguments)};var _png_set_background_fixed=Module["_png_set_background_fixed"]=function(){return(_png_set_background_fixed=Module["_png_set_background_fixed"]=Module["asm"]["png_set_background_fixed"]).apply(null,arguments)};var _png_set_rgb_to_gray_fixed=Module["_png_set_rgb_to_gray_fixed"]=function(){return(_png_set_rgb_to_gray_fixed=Module["_png_set_rgb_to_gray_fixed"]=Module["asm"]["png_set_rgb_to_gray_fixed"]).apply(null,arguments)};var _png_set_tRNS_to_alpha=Module["_png_set_tRNS_to_alpha"]=function(){return(_png_set_tRNS_to_alpha=Module["_png_set_tRNS_to_alpha"]=Module["asm"]["png_set_tRNS_to_alpha"]).apply(null,arguments)};var _png_set_alpha_mode_fixed=Module["_png_set_alpha_mode_fixed"]=function(){return(_png_set_alpha_mode_fixed=Module["_png_set_alpha_mode_fixed"]=Module["asm"]["png_set_alpha_mode_fixed"]).apply(null,arguments)};var _png_set_keep_unknown_chunks=Module["_png_set_keep_unknown_chunks"]=function(){return(_png_set_keep_unknown_chunks=Module["_png_set_keep_unknown_chunks"]=Module["asm"]["png_set_keep_unknown_chunks"]).apply(null,arguments)};var _png_set_add_alpha=Module["_png_set_add_alpha"]=function(){return(_png_set_add_alpha=Module["_png_set_add_alpha"]=Module["asm"]["png_set_add_alpha"]).apply(null,arguments)};var _png_read_data=Module["_png_read_data"]=function(){return(_png_read_data=Module["_png_read_data"]=Module["asm"]["png_read_data"]).apply(null,arguments)};var _png_default_read_data=Module["_png_default_read_data"]=function(){return(_png_default_read_data=Module["_png_default_read_data"]=Module["asm"]["png_default_read_data"]).apply(null,arguments)};var _png_set_crc_action=Module["_png_set_crc_action"]=function(){return(_png_set_crc_action=Module["_png_set_crc_action"]=Module["asm"]["png_set_crc_action"]).apply(null,arguments)};var _png_set_background=Module["_png_set_background"]=function(){return(_png_set_background=Module["_png_set_background"]=Module["asm"]["png_set_background"]).apply(null,arguments)};var _png_set_alpha_mode=Module["_png_set_alpha_mode"]=function(){return(_png_set_alpha_mode=Module["_png_set_alpha_mode"]=Module["asm"]["png_set_alpha_mode"]).apply(null,arguments)};var _png_set_quantize=Module["_png_set_quantize"]=function(){return(_png_set_quantize=Module["_png_set_quantize"]=Module["asm"]["png_set_quantize"]).apply(null,arguments)};var _png_set_gamma_fixed=Module["_png_set_gamma_fixed"]=function(){return(_png_set_gamma_fixed=Module["_png_set_gamma_fixed"]=Module["asm"]["png_set_gamma_fixed"]).apply(null,arguments)};var _png_set_gamma=Module["_png_set_gamma"]=function(){return(_png_set_gamma=Module["_png_set_gamma"]=Module["asm"]["png_set_gamma"]).apply(null,arguments)};var _png_set_palette_to_rgb=Module["_png_set_palette_to_rgb"]=function(){return(_png_set_palette_to_rgb=Module["_png_set_palette_to_rgb"]=Module["asm"]["png_set_palette_to_rgb"]).apply(null,arguments)};var _png_set_expand_gray_1_2_4_to_8=Module["_png_set_expand_gray_1_2_4_to_8"]=function(){return(_png_set_expand_gray_1_2_4_to_8=Module["_png_set_expand_gray_1_2_4_to_8"]=Module["asm"]["png_set_expand_gray_1_2_4_to_8"]).apply(null,arguments)};var _png_set_rgb_to_gray=Module["_png_set_rgb_to_gray"]=function(){return(_png_set_rgb_to_gray=Module["_png_set_rgb_to_gray"]=Module["asm"]["png_set_rgb_to_gray"]).apply(null,arguments)};var _png_set_read_user_transform_fn=Module["_png_set_read_user_transform_fn"]=function(){return(_png_set_read_user_transform_fn=Module["_png_set_read_user_transform_fn"]=Module["asm"]["png_set_read_user_transform_fn"]).apply(null,arguments)};var _png_init_read_transformations=Module["_png_init_read_transformations"]=function(){return(_png_init_read_transformations=Module["_png_init_read_transformations"]=Module["asm"]["png_init_read_transformations"]).apply(null,arguments)};var _png_do_strip_channel=Module["_png_do_strip_channel"]=function(){return(_png_do_strip_channel=Module["_png_do_strip_channel"]=Module["asm"]["png_do_strip_channel"]).apply(null,arguments)};var _png_do_invert=Module["_png_do_invert"]=function(){return(_png_do_invert=Module["_png_do_invert"]=Module["asm"]["png_do_invert"]).apply(null,arguments)};var _png_do_check_palette_indexes=Module["_png_do_check_palette_indexes"]=function(){return(_png_do_check_palette_indexes=Module["_png_do_check_palette_indexes"]=Module["asm"]["png_do_check_palette_indexes"]).apply(null,arguments)};var _png_do_bgr=Module["_png_do_bgr"]=function(){return(_png_do_bgr=Module["_png_do_bgr"]=Module["asm"]["png_do_bgr"]).apply(null,arguments)};var _png_do_packswap=Module["_png_do_packswap"]=function(){return(_png_do_packswap=Module["_png_do_packswap"]=Module["asm"]["png_do_packswap"]).apply(null,arguments)};var _png_do_swap=Module["_png_do_swap"]=function(){return(_png_do_swap=Module["_png_do_swap"]=Module["asm"]["png_do_swap"]).apply(null,arguments)};var _png_get_uint_32=Module["_png_get_uint_32"]=function(){return(_png_get_uint_32=Module["_png_get_uint_32"]=Module["asm"]["png_get_uint_32"]).apply(null,arguments)};var _png_get_int_32=Module["_png_get_int_32"]=function(){return(_png_get_int_32=Module["_png_get_int_32"]=Module["asm"]["png_get_int_32"]).apply(null,arguments)};var _png_get_uint_16=Module["_png_get_uint_16"]=function(){return(_png_get_uint_16=Module["_png_get_uint_16"]=Module["asm"]["png_get_uint_16"]).apply(null,arguments)};var _png_crc_error=Module["_png_crc_error"]=function(){return(_png_crc_error=Module["_png_crc_error"]=Module["asm"]["png_crc_error"]).apply(null,arguments)};var _png_set_IHDR=Module["_png_set_IHDR"]=function(){return(_png_set_IHDR=Module["_png_set_IHDR"]=Module["asm"]["png_set_IHDR"]).apply(null,arguments)};var _png_set_PLTE=Module["_png_set_PLTE"]=function(){return(_png_set_PLTE=Module["_png_set_PLTE"]=Module["asm"]["png_set_PLTE"]).apply(null,arguments)};var _png_set_sBIT=Module["_png_set_sBIT"]=function(){return(_png_set_sBIT=Module["_png_set_sBIT"]=Module["asm"]["png_set_sBIT"]).apply(null,arguments)};var _inflateReset2=Module["_inflateReset2"]=function(){return(_inflateReset2=Module["_inflateReset2"]=Module["asm"]["inflateReset2"]).apply(null,arguments)};var _inflateValidate=Module["_inflateValidate"]=function(){return(_inflateValidate=Module["_inflateValidate"]=Module["asm"]["inflateValidate"]).apply(null,arguments)};var _png_set_sPLT=Module["_png_set_sPLT"]=function(){return(_png_set_sPLT=Module["_png_set_sPLT"]=Module["asm"]["png_set_sPLT"]).apply(null,arguments)};var _png_set_tRNS=Module["_png_set_tRNS"]=function(){return(_png_set_tRNS=Module["_png_set_tRNS"]=Module["asm"]["png_set_tRNS"]).apply(null,arguments)};var _png_set_bKGD=Module["_png_set_bKGD"]=function(){return(_png_set_bKGD=Module["_png_set_bKGD"]=Module["asm"]["png_set_bKGD"]).apply(null,arguments)};var _png_set_eXIf_1=Module["_png_set_eXIf_1"]=function(){return(_png_set_eXIf_1=Module["_png_set_eXIf_1"]=Module["asm"]["png_set_eXIf_1"]).apply(null,arguments)};var _png_set_hIST=Module["_png_set_hIST"]=function(){return(_png_set_hIST=Module["_png_set_hIST"]=Module["asm"]["png_set_hIST"]).apply(null,arguments)};var _png_set_pHYs=Module["_png_set_pHYs"]=function(){return(_png_set_pHYs=Module["_png_set_pHYs"]=Module["asm"]["png_set_pHYs"]).apply(null,arguments)};var _png_set_oFFs=Module["_png_set_oFFs"]=function(){return(_png_set_oFFs=Module["_png_set_oFFs"]=Module["asm"]["png_set_oFFs"]).apply(null,arguments)};var _png_set_pCAL=Module["_png_set_pCAL"]=function(){return(_png_set_pCAL=Module["_png_set_pCAL"]=Module["asm"]["png_set_pCAL"]).apply(null,arguments)};var _png_set_sCAL_s=Module["_png_set_sCAL_s"]=function(){return(_png_set_sCAL_s=Module["_png_set_sCAL_s"]=Module["asm"]["png_set_sCAL_s"]).apply(null,arguments)};var _png_set_tIME=Module["_png_set_tIME"]=function(){return(_png_set_tIME=Module["_png_set_tIME"]=Module["asm"]["png_set_tIME"]).apply(null,arguments)};var _png_set_text_2=Module["_png_set_text_2"]=function(){return(_png_set_text_2=Module["_png_set_text_2"]=Module["asm"]["png_set_text_2"]).apply(null,arguments)};var _png_set_unknown_chunks=Module["_png_set_unknown_chunks"]=function(){return(_png_set_unknown_chunks=Module["_png_set_unknown_chunks"]=Module["asm"]["png_set_unknown_chunks"]).apply(null,arguments)};var _png_set_cHRM_fixed=Module["_png_set_cHRM_fixed"]=function(){return(_png_set_cHRM_fixed=Module["_png_set_cHRM_fixed"]=Module["asm"]["png_set_cHRM_fixed"]).apply(null,arguments)};var _png_set_cHRM_XYZ_fixed=Module["_png_set_cHRM_XYZ_fixed"]=function(){return(_png_set_cHRM_XYZ_fixed=Module["_png_set_cHRM_XYZ_fixed"]=Module["asm"]["png_set_cHRM_XYZ_fixed"]).apply(null,arguments)};var _png_set_cHRM=Module["_png_set_cHRM"]=function(){return(_png_set_cHRM=Module["_png_set_cHRM"]=Module["asm"]["png_set_cHRM"]).apply(null,arguments)};var _png_set_cHRM_XYZ=Module["_png_set_cHRM_XYZ"]=function(){return(_png_set_cHRM_XYZ=Module["_png_set_cHRM_XYZ"]=Module["asm"]["png_set_cHRM_XYZ"]).apply(null,arguments)};var _png_set_eXIf=Module["_png_set_eXIf"]=function(){return(_png_set_eXIf=Module["_png_set_eXIf"]=Module["asm"]["png_set_eXIf"]).apply(null,arguments)};var _png_set_gAMA_fixed=Module["_png_set_gAMA_fixed"]=function(){return(_png_set_gAMA_fixed=Module["_png_set_gAMA_fixed"]=Module["asm"]["png_set_gAMA_fixed"]).apply(null,arguments)};var _png_set_gAMA=Module["_png_set_gAMA"]=function(){return(_png_set_gAMA=Module["_png_set_gAMA"]=Module["asm"]["png_set_gAMA"]).apply(null,arguments)};var _png_set_sCAL=Module["_png_set_sCAL"]=function(){return(_png_set_sCAL=Module["_png_set_sCAL"]=Module["asm"]["png_set_sCAL"]).apply(null,arguments)};var _png_set_sCAL_fixed=Module["_png_set_sCAL_fixed"]=function(){return(_png_set_sCAL_fixed=Module["_png_set_sCAL_fixed"]=Module["asm"]["png_set_sCAL_fixed"]).apply(null,arguments)};var _png_set_sRGB=Module["_png_set_sRGB"]=function(){return(_png_set_sRGB=Module["_png_set_sRGB"]=Module["asm"]["png_set_sRGB"]).apply(null,arguments)};var _png_set_sRGB_gAMA_and_cHRM=Module["_png_set_sRGB_gAMA_and_cHRM"]=function(){return(_png_set_sRGB_gAMA_and_cHRM=Module["_png_set_sRGB_gAMA_and_cHRM"]=Module["asm"]["png_set_sRGB_gAMA_and_cHRM"]).apply(null,arguments)};var _png_set_iCCP=Module["_png_set_iCCP"]=function(){return(_png_set_iCCP=Module["_png_set_iCCP"]=Module["asm"]["png_set_iCCP"]).apply(null,arguments)};var _png_set_text=Module["_png_set_text"]=function(){return(_png_set_text=Module["_png_set_text"]=Module["asm"]["png_set_text"]).apply(null,arguments)};var _png_set_unknown_chunk_location=Module["_png_set_unknown_chunk_location"]=function(){return(_png_set_unknown_chunk_location=Module["_png_set_unknown_chunk_location"]=Module["asm"]["png_set_unknown_chunk_location"]).apply(null,arguments)};var _png_permit_mng_features=Module["_png_permit_mng_features"]=function(){return(_png_permit_mng_features=Module["_png_permit_mng_features"]=Module["asm"]["png_permit_mng_features"]).apply(null,arguments)};var _png_set_read_user_chunk_fn=Module["_png_set_read_user_chunk_fn"]=function(){return(_png_set_read_user_chunk_fn=Module["_png_set_read_user_chunk_fn"]=Module["asm"]["png_set_read_user_chunk_fn"]).apply(null,arguments)};var _png_set_rows=Module["_png_set_rows"]=function(){return(_png_set_rows=Module["_png_set_rows"]=Module["asm"]["png_set_rows"]).apply(null,arguments)};var _png_set_compression_buffer_size=Module["_png_set_compression_buffer_size"]=function(){return(_png_set_compression_buffer_size=Module["_png_set_compression_buffer_size"]=Module["asm"]["png_set_compression_buffer_size"]).apply(null,arguments)};var _png_free_buffer_list=Module["_png_free_buffer_list"]=function(){return(_png_free_buffer_list=Module["_png_free_buffer_list"]=Module["asm"]["png_free_buffer_list"]).apply(null,arguments)};var _png_set_invalid=Module["_png_set_invalid"]=function(){return(_png_set_invalid=Module["_png_set_invalid"]=Module["asm"]["png_set_invalid"]).apply(null,arguments)};var _png_set_user_limits=Module["_png_set_user_limits"]=function(){return(_png_set_user_limits=Module["_png_set_user_limits"]=Module["asm"]["png_set_user_limits"]).apply(null,arguments)};var _png_set_chunk_cache_max=Module["_png_set_chunk_cache_max"]=function(){return(_png_set_chunk_cache_max=Module["_png_set_chunk_cache_max"]=Module["asm"]["png_set_chunk_cache_max"]).apply(null,arguments)};var _png_set_chunk_malloc_max=Module["_png_set_chunk_malloc_max"]=function(){return(_png_set_chunk_malloc_max=Module["_png_set_chunk_malloc_max"]=Module["asm"]["png_set_chunk_malloc_max"]).apply(null,arguments)};var _png_set_check_for_invalid_index=Module["_png_set_check_for_invalid_index"]=function(){return(_png_set_check_for_invalid_index=Module["_png_set_check_for_invalid_index"]=Module["asm"]["png_set_check_for_invalid_index"]).apply(null,arguments)};var _png_check_keyword=Module["_png_check_keyword"]=function(){return(_png_check_keyword=Module["_png_check_keyword"]=Module["asm"]["png_check_keyword"]).apply(null,arguments)};var _png_set_filler=Module["_png_set_filler"]=function(){return(_png_set_filler=Module["_png_set_filler"]=Module["asm"]["png_set_filler"]).apply(null,arguments)};var _png_set_user_transform_info=Module["_png_set_user_transform_info"]=function(){return(_png_set_user_transform_info=Module["_png_set_user_transform_info"]=Module["asm"]["png_set_user_transform_info"]).apply(null,arguments)};var _png_get_user_transform_ptr=Module["_png_get_user_transform_ptr"]=function(){return(_png_get_user_transform_ptr=Module["_png_get_user_transform_ptr"]=Module["asm"]["png_get_user_transform_ptr"]).apply(null,arguments)};var _png_get_current_row_number=Module["_png_get_current_row_number"]=function(){return(_png_get_current_row_number=Module["_png_get_current_row_number"]=Module["asm"]["png_get_current_row_number"]).apply(null,arguments)};var _png_get_current_pass_number=Module["_png_get_current_pass_number"]=function(){return(_png_get_current_pass_number=Module["_png_get_current_pass_number"]=Module["asm"]["png_get_current_pass_number"]).apply(null,arguments)};var _png_write_data=Module["_png_write_data"]=function(){return(_png_write_data=Module["_png_write_data"]=Module["asm"]["png_write_data"]).apply(null,arguments)};var _png_default_write_data=Module["_png_default_write_data"]=function(){return(_png_default_write_data=Module["_png_default_write_data"]=Module["asm"]["png_default_write_data"]).apply(null,arguments)};var _png_flush=Module["_png_flush"]=function(){return(_png_flush=Module["_png_flush"]=Module["asm"]["png_flush"]).apply(null,arguments)};var _png_default_flush=Module["_png_default_flush"]=function(){return(_png_default_flush=Module["_png_default_flush"]=Module["asm"]["png_default_flush"]).apply(null,arguments)};var _png_set_write_fn=Module["_png_set_write_fn"]=function(){return(_png_set_write_fn=Module["_png_set_write_fn"]=Module["asm"]["png_set_write_fn"]).apply(null,arguments)};var _png_write_info_before_PLTE=Module["_png_write_info_before_PLTE"]=function(){return(_png_write_info_before_PLTE=Module["_png_write_info_before_PLTE"]=Module["asm"]["png_write_info_before_PLTE"]).apply(null,arguments)};var _png_write_sig=Module["_png_write_sig"]=function(){return(_png_write_sig=Module["_png_write_sig"]=Module["asm"]["png_write_sig"]).apply(null,arguments)};var _png_write_IHDR=Module["_png_write_IHDR"]=function(){return(_png_write_IHDR=Module["_png_write_IHDR"]=Module["asm"]["png_write_IHDR"]).apply(null,arguments)};var _png_write_gAMA_fixed=Module["_png_write_gAMA_fixed"]=function(){return(_png_write_gAMA_fixed=Module["_png_write_gAMA_fixed"]=Module["asm"]["png_write_gAMA_fixed"]).apply(null,arguments)};var _png_write_iCCP=Module["_png_write_iCCP"]=function(){return(_png_write_iCCP=Module["_png_write_iCCP"]=Module["asm"]["png_write_iCCP"]).apply(null,arguments)};var _png_write_sRGB=Module["_png_write_sRGB"]=function(){return(_png_write_sRGB=Module["_png_write_sRGB"]=Module["asm"]["png_write_sRGB"]).apply(null,arguments)};var _png_write_sBIT=Module["_png_write_sBIT"]=function(){return(_png_write_sBIT=Module["_png_write_sBIT"]=Module["asm"]["png_write_sBIT"]).apply(null,arguments)};var _png_write_cHRM_fixed=Module["_png_write_cHRM_fixed"]=function(){return(_png_write_cHRM_fixed=Module["_png_write_cHRM_fixed"]=Module["asm"]["png_write_cHRM_fixed"]).apply(null,arguments)};var _png_write_chunk=Module["_png_write_chunk"]=function(){return(_png_write_chunk=Module["_png_write_chunk"]=Module["asm"]["png_write_chunk"]).apply(null,arguments)};var _png_write_info=Module["_png_write_info"]=function(){return(_png_write_info=Module["_png_write_info"]=Module["asm"]["png_write_info"]).apply(null,arguments)};var _png_write_PLTE=Module["_png_write_PLTE"]=function(){return(_png_write_PLTE=Module["_png_write_PLTE"]=Module["asm"]["png_write_PLTE"]).apply(null,arguments)};var _png_write_tRNS=Module["_png_write_tRNS"]=function(){return(_png_write_tRNS=Module["_png_write_tRNS"]=Module["asm"]["png_write_tRNS"]).apply(null,arguments)};var _png_write_bKGD=Module["_png_write_bKGD"]=function(){return(_png_write_bKGD=Module["_png_write_bKGD"]=Module["asm"]["png_write_bKGD"]).apply(null,arguments)};var _png_write_eXIf=Module["_png_write_eXIf"]=function(){return(_png_write_eXIf=Module["_png_write_eXIf"]=Module["asm"]["png_write_eXIf"]).apply(null,arguments)};var _png_write_hIST=Module["_png_write_hIST"]=function(){return(_png_write_hIST=Module["_png_write_hIST"]=Module["asm"]["png_write_hIST"]).apply(null,arguments)};var _png_write_oFFs=Module["_png_write_oFFs"]=function(){return(_png_write_oFFs=Module["_png_write_oFFs"]=Module["asm"]["png_write_oFFs"]).apply(null,arguments)};var _png_write_pCAL=Module["_png_write_pCAL"]=function(){return(_png_write_pCAL=Module["_png_write_pCAL"]=Module["asm"]["png_write_pCAL"]).apply(null,arguments)};var _png_write_sCAL_s=Module["_png_write_sCAL_s"]=function(){return(_png_write_sCAL_s=Module["_png_write_sCAL_s"]=Module["asm"]["png_write_sCAL_s"]).apply(null,arguments)};var _png_write_pHYs=Module["_png_write_pHYs"]=function(){return(_png_write_pHYs=Module["_png_write_pHYs"]=Module["asm"]["png_write_pHYs"]).apply(null,arguments)};var _png_write_tIME=Module["_png_write_tIME"]=function(){return(_png_write_tIME=Module["_png_write_tIME"]=Module["asm"]["png_write_tIME"]).apply(null,arguments)};var _png_write_sPLT=Module["_png_write_sPLT"]=function(){return(_png_write_sPLT=Module["_png_write_sPLT"]=Module["asm"]["png_write_sPLT"]).apply(null,arguments)};var _png_write_iTXt=Module["_png_write_iTXt"]=function(){return(_png_write_iTXt=Module["_png_write_iTXt"]=Module["asm"]["png_write_iTXt"]).apply(null,arguments)};var _png_write_zTXt=Module["_png_write_zTXt"]=function(){return(_png_write_zTXt=Module["_png_write_zTXt"]=Module["asm"]["png_write_zTXt"]).apply(null,arguments)};var _png_write_tEXt=Module["_png_write_tEXt"]=function(){return(_png_write_tEXt=Module["_png_write_tEXt"]=Module["asm"]["png_write_tEXt"]).apply(null,arguments)};var _png_write_end=Module["_png_write_end"]=function(){return(_png_write_end=Module["_png_write_end"]=Module["asm"]["png_write_end"]).apply(null,arguments)};var _png_write_IEND=Module["_png_write_IEND"]=function(){return(_png_write_IEND=Module["_png_write_IEND"]=Module["asm"]["png_write_IEND"]).apply(null,arguments)};var _png_convert_from_struct_tm=Module["_png_convert_from_struct_tm"]=function(){return(_png_convert_from_struct_tm=Module["_png_convert_from_struct_tm"]=Module["asm"]["png_convert_from_struct_tm"]).apply(null,arguments)};var _png_convert_from_time_t=Module["_png_convert_from_time_t"]=function(){return(_png_convert_from_time_t=Module["_png_convert_from_time_t"]=Module["asm"]["png_convert_from_time_t"]).apply(null,arguments)};var _gmtime=Module["_gmtime"]=function(){return(_gmtime=Module["_gmtime"]=Module["asm"]["gmtime"]).apply(null,arguments)};var _png_create_write_struct=Module["_png_create_write_struct"]=function(){return(_png_create_write_struct=Module["_png_create_write_struct"]=Module["asm"]["png_create_write_struct"]).apply(null,arguments)};var _png_create_write_struct_2=Module["_png_create_write_struct_2"]=function(){return(_png_create_write_struct_2=Module["_png_create_write_struct_2"]=Module["asm"]["png_create_write_struct_2"]).apply(null,arguments)};var _png_write_rows=Module["_png_write_rows"]=function(){return(_png_write_rows=Module["_png_write_rows"]=Module["asm"]["png_write_rows"]).apply(null,arguments)};var _png_write_row=Module["_png_write_row"]=function(){return(_png_write_row=Module["_png_write_row"]=Module["asm"]["png_write_row"]).apply(null,arguments)};var _png_write_start_row=Module["_png_write_start_row"]=function(){return(_png_write_start_row=Module["_png_write_start_row"]=Module["asm"]["png_write_start_row"]).apply(null,arguments)};var _png_write_finish_row=Module["_png_write_finish_row"]=function(){return(_png_write_finish_row=Module["_png_write_finish_row"]=Module["asm"]["png_write_finish_row"]).apply(null,arguments)};var _png_do_write_interlace=Module["_png_do_write_interlace"]=function(){return(_png_do_write_interlace=Module["_png_do_write_interlace"]=Module["asm"]["png_do_write_interlace"]).apply(null,arguments)};var _png_do_write_transformations=Module["_png_do_write_transformations"]=function(){return(_png_do_write_transformations=Module["_png_do_write_transformations"]=Module["asm"]["png_do_write_transformations"]).apply(null,arguments)};var _png_write_find_filter=Module["_png_write_find_filter"]=function(){return(_png_write_find_filter=Module["_png_write_find_filter"]=Module["asm"]["png_write_find_filter"]).apply(null,arguments)};var _png_write_image=Module["_png_write_image"]=function(){return(_png_write_image=Module["_png_write_image"]=Module["asm"]["png_write_image"]).apply(null,arguments)};var _png_set_flush=Module["_png_set_flush"]=function(){return(_png_set_flush=Module["_png_set_flush"]=Module["asm"]["png_set_flush"]).apply(null,arguments)};var _png_write_flush=Module["_png_write_flush"]=function(){return(_png_write_flush=Module["_png_write_flush"]=Module["asm"]["png_write_flush"]).apply(null,arguments)};var _png_compress_IDAT=Module["_png_compress_IDAT"]=function(){return(_png_compress_IDAT=Module["_png_compress_IDAT"]=Module["asm"]["png_compress_IDAT"]).apply(null,arguments)};var _png_set_filter=Module["_png_set_filter"]=function(){return(_png_set_filter=Module["_png_set_filter"]=Module["asm"]["png_set_filter"]).apply(null,arguments)};var _png_set_filter_heuristics=Module["_png_set_filter_heuristics"]=function(){return(_png_set_filter_heuristics=Module["_png_set_filter_heuristics"]=Module["asm"]["png_set_filter_heuristics"]).apply(null,arguments)};var _png_set_filter_heuristics_fixed=Module["_png_set_filter_heuristics_fixed"]=function(){return(_png_set_filter_heuristics_fixed=Module["_png_set_filter_heuristics_fixed"]=Module["asm"]["png_set_filter_heuristics_fixed"]).apply(null,arguments)};var _png_set_compression_level=Module["_png_set_compression_level"]=function(){return(_png_set_compression_level=Module["_png_set_compression_level"]=Module["asm"]["png_set_compression_level"]).apply(null,arguments)};var _png_set_compression_mem_level=Module["_png_set_compression_mem_level"]=function(){return(_png_set_compression_mem_level=Module["_png_set_compression_mem_level"]=Module["asm"]["png_set_compression_mem_level"]).apply(null,arguments)};var _png_set_compression_strategy=Module["_png_set_compression_strategy"]=function(){return(_png_set_compression_strategy=Module["_png_set_compression_strategy"]=Module["asm"]["png_set_compression_strategy"]).apply(null,arguments)};var _png_set_compression_window_bits=Module["_png_set_compression_window_bits"]=function(){return(_png_set_compression_window_bits=Module["_png_set_compression_window_bits"]=Module["asm"]["png_set_compression_window_bits"]).apply(null,arguments)};var _png_set_compression_method=Module["_png_set_compression_method"]=function(){return(_png_set_compression_method=Module["_png_set_compression_method"]=Module["asm"]["png_set_compression_method"]).apply(null,arguments)};var _png_set_text_compression_level=Module["_png_set_text_compression_level"]=function(){return(_png_set_text_compression_level=Module["_png_set_text_compression_level"]=Module["asm"]["png_set_text_compression_level"]).apply(null,arguments)};var _png_set_text_compression_mem_level=Module["_png_set_text_compression_mem_level"]=function(){return(_png_set_text_compression_mem_level=Module["_png_set_text_compression_mem_level"]=Module["asm"]["png_set_text_compression_mem_level"]).apply(null,arguments)};var _png_set_text_compression_strategy=Module["_png_set_text_compression_strategy"]=function(){return(_png_set_text_compression_strategy=Module["_png_set_text_compression_strategy"]=Module["asm"]["png_set_text_compression_strategy"]).apply(null,arguments)};var _png_set_text_compression_window_bits=Module["_png_set_text_compression_window_bits"]=function(){return(_png_set_text_compression_window_bits=Module["_png_set_text_compression_window_bits"]=Module["asm"]["png_set_text_compression_window_bits"]).apply(null,arguments)};var _png_set_text_compression_method=Module["_png_set_text_compression_method"]=function(){return(_png_set_text_compression_method=Module["_png_set_text_compression_method"]=Module["asm"]["png_set_text_compression_method"]).apply(null,arguments)};var _png_set_write_status_fn=Module["_png_set_write_status_fn"]=function(){return(_png_set_write_status_fn=Module["_png_set_write_status_fn"]=Module["asm"]["png_set_write_status_fn"]).apply(null,arguments)};var _png_set_write_user_transform_fn=Module["_png_set_write_user_transform_fn"]=function(){return(_png_set_write_user_transform_fn=Module["_png_set_write_user_transform_fn"]=Module["asm"]["png_set_write_user_transform_fn"]).apply(null,arguments)};var _png_write_png=Module["_png_write_png"]=function(){return(_png_write_png=Module["_png_write_png"]=Module["asm"]["png_write_png"]).apply(null,arguments)};var _png_image_write_to_memory=Module["_png_image_write_to_memory"]=function(){return(_png_image_write_to_memory=Module["_png_image_write_to_memory"]=Module["asm"]["png_image_write_to_memory"]).apply(null,arguments)};var _png_image_write_to_stdio=Module["_png_image_write_to_stdio"]=function(){return(_png_image_write_to_stdio=Module["_png_image_write_to_stdio"]=Module["asm"]["png_image_write_to_stdio"]).apply(null,arguments)};var _png_image_write_to_file=Module["_png_image_write_to_file"]=function(){return(_png_image_write_to_file=Module["_png_image_write_to_file"]=Module["asm"]["png_image_write_to_file"]).apply(null,arguments)};var _remove=Module["_remove"]=function(){return(_remove=Module["_remove"]=Module["asm"]["remove"]).apply(null,arguments)};var _png_save_uint_16=Module["_png_save_uint_16"]=function(){return(_png_save_uint_16=Module["_png_save_uint_16"]=Module["asm"]["png_save_uint_16"]).apply(null,arguments)};var _png_write_chunk_start=Module["_png_write_chunk_start"]=function(){return(_png_write_chunk_start=Module["_png_write_chunk_start"]=Module["asm"]["png_write_chunk_start"]).apply(null,arguments)};var _png_write_chunk_data=Module["_png_write_chunk_data"]=function(){return(_png_write_chunk_data=Module["_png_write_chunk_data"]=Module["asm"]["png_write_chunk_data"]).apply(null,arguments)};var _png_write_chunk_end=Module["_png_write_chunk_end"]=function(){return(_png_write_chunk_end=Module["_png_write_chunk_end"]=Module["asm"]["png_write_chunk_end"]).apply(null,arguments)};var _deflateReset=Module["_deflateReset"]=function(){return(_deflateReset=Module["_deflateReset"]=Module["asm"]["deflateReset"]).apply(null,arguments)};var _adler32_z=Module["_adler32_z"]=function(){return(_adler32_z=Module["_adler32_z"]=Module["asm"]["adler32_z"]).apply(null,arguments)};var _adler32_combine=Module["_adler32_combine"]=function(){return(_adler32_combine=Module["_adler32_combine"]=Module["asm"]["adler32_combine"]).apply(null,arguments)};var _adler32_combine64=Module["_adler32_combine64"]=function(){return(_adler32_combine64=Module["_adler32_combine64"]=Module["asm"]["adler32_combine64"]).apply(null,arguments)};var _compress2=Module["_compress2"]=function(){return(_compress2=Module["_compress2"]=Module["asm"]["compress2"]).apply(null,arguments)};var _compress=Module["_compress"]=function(){return(_compress=Module["_compress"]=Module["asm"]["compress"]).apply(null,arguments)};var _compressBound=Module["_compressBound"]=function(){return(_compressBound=Module["_compressBound"]=Module["asm"]["compressBound"]).apply(null,arguments)};var _get_crc_table=Module["_get_crc_table"]=function(){return(_get_crc_table=Module["_get_crc_table"]=Module["asm"]["get_crc_table"]).apply(null,arguments)};var _crc32_z=Module["_crc32_z"]=function(){return(_crc32_z=Module["_crc32_z"]=Module["asm"]["crc32_z"]).apply(null,arguments)};var _crc32_combine=Module["_crc32_combine"]=function(){return(_crc32_combine=Module["_crc32_combine"]=Module["asm"]["crc32_combine"]).apply(null,arguments)};var _crc32_combine64=Module["_crc32_combine64"]=function(){return(_crc32_combine64=Module["_crc32_combine64"]=Module["asm"]["crc32_combine64"]).apply(null,arguments)};var _zcalloc=Module["_zcalloc"]=function(){return(_zcalloc=Module["_zcalloc"]=Module["asm"]["zcalloc"]).apply(null,arguments)};var _zcfree=Module["_zcfree"]=function(){return(_zcfree=Module["_zcfree"]=Module["asm"]["zcfree"]).apply(null,arguments)};var _deflateResetKeep=Module["_deflateResetKeep"]=function(){return(_deflateResetKeep=Module["_deflateResetKeep"]=Module["asm"]["deflateResetKeep"]).apply(null,arguments)};var _deflateGetDictionary=Module["_deflateGetDictionary"]=function(){return(_deflateGetDictionary=Module["_deflateGetDictionary"]=Module["asm"]["deflateGetDictionary"]).apply(null,arguments)};var __tr_init=Module["__tr_init"]=function(){return(__tr_init=Module["__tr_init"]=Module["asm"]["_tr_init"]).apply(null,arguments)};var _deflateSetHeader=Module["_deflateSetHeader"]=function(){return(_deflateSetHeader=Module["_deflateSetHeader"]=Module["asm"]["deflateSetHeader"]).apply(null,arguments)};var _deflatePending=Module["_deflatePending"]=function(){return(_deflatePending=Module["_deflatePending"]=Module["asm"]["deflatePending"]).apply(null,arguments)};var _deflatePrime=Module["_deflatePrime"]=function(){return(_deflatePrime=Module["_deflatePrime"]=Module["asm"]["deflatePrime"]).apply(null,arguments)};var __tr_flush_bits=Module["__tr_flush_bits"]=function(){return(__tr_flush_bits=Module["__tr_flush_bits"]=Module["asm"]["_tr_flush_bits"]).apply(null,arguments)};var _deflateParams=Module["_deflateParams"]=function(){return(_deflateParams=Module["_deflateParams"]=Module["asm"]["deflateParams"]).apply(null,arguments)};var __tr_align=Module["__tr_align"]=function(){return(__tr_align=Module["__tr_align"]=Module["asm"]["_tr_align"]).apply(null,arguments)};var __tr_stored_block=Module["__tr_stored_block"]=function(){return(__tr_stored_block=Module["__tr_stored_block"]=Module["asm"]["_tr_stored_block"]).apply(null,arguments)};var _deflateTune=Module["_deflateTune"]=function(){return(_deflateTune=Module["_deflateTune"]=Module["asm"]["deflateTune"]).apply(null,arguments)};var _deflateBound=Module["_deflateBound"]=function(){return(_deflateBound=Module["_deflateBound"]=Module["asm"]["deflateBound"]).apply(null,arguments)};var __tr_flush_block=Module["__tr_flush_block"]=function(){return(__tr_flush_block=Module["__tr_flush_block"]=Module["asm"]["_tr_flush_block"]).apply(null,arguments)};var _deflateCopy=Module["_deflateCopy"]=function(){return(_deflateCopy=Module["_deflateCopy"]=Module["asm"]["deflateCopy"]).apply(null,arguments)};var _gzclose=Module["_gzclose"]=function(){return(_gzclose=Module["_gzclose"]=Module["asm"]["gzclose"]).apply(null,arguments)};var _gzclose_r=Module["_gzclose_r"]=function(){return(_gzclose_r=Module["_gzclose_r"]=Module["asm"]["gzclose_r"]).apply(null,arguments)};var _gzclose_w=Module["_gzclose_w"]=function(){return(_gzclose_w=Module["_gzclose_w"]=Module["asm"]["gzclose_w"]).apply(null,arguments)};var _gzopen=Module["_gzopen"]=function(){return(_gzopen=Module["_gzopen"]=Module["asm"]["gzopen"]).apply(null,arguments)};var _gzopen64=Module["_gzopen64"]=function(){return(_gzopen64=Module["_gzopen64"]=Module["asm"]["gzopen64"]).apply(null,arguments)};var _gzdopen=Module["_gzdopen"]=function(){return(_gzdopen=Module["_gzdopen"]=Module["asm"]["gzdopen"]).apply(null,arguments)};var _gzbuffer=Module["_gzbuffer"]=function(){return(_gzbuffer=Module["_gzbuffer"]=Module["asm"]["gzbuffer"]).apply(null,arguments)};var _gzrewind=Module["_gzrewind"]=function(){return(_gzrewind=Module["_gzrewind"]=Module["asm"]["gzrewind"]).apply(null,arguments)};var _gzseek64=Module["_gzseek64"]=function(){return(_gzseek64=Module["_gzseek64"]=Module["asm"]["gzseek64"]).apply(null,arguments)};var _gz_error=Module["_gz_error"]=function(){return(_gz_error=Module["_gz_error"]=Module["asm"]["gz_error"]).apply(null,arguments)};var _gzseek=Module["_gzseek"]=function(){return(_gzseek=Module["_gzseek"]=Module["asm"]["gzseek"]).apply(null,arguments)};var _gztell64=Module["_gztell64"]=function(){return(_gztell64=Module["_gztell64"]=Module["asm"]["gztell64"]).apply(null,arguments)};var _gztell=Module["_gztell"]=function(){return(_gztell=Module["_gztell"]=Module["asm"]["gztell"]).apply(null,arguments)};var _gzoffset64=Module["_gzoffset64"]=function(){return(_gzoffset64=Module["_gzoffset64"]=Module["asm"]["gzoffset64"]).apply(null,arguments)};var _gzoffset=Module["_gzoffset"]=function(){return(_gzoffset=Module["_gzoffset"]=Module["asm"]["gzoffset"]).apply(null,arguments)};var _gzeof=Module["_gzeof"]=function(){return(_gzeof=Module["_gzeof"]=Module["asm"]["gzeof"]).apply(null,arguments)};var _gzerror=Module["_gzerror"]=function(){return(_gzerror=Module["_gzerror"]=Module["asm"]["gzerror"]).apply(null,arguments)};var _gzclearerr=Module["_gzclearerr"]=function(){return(_gzclearerr=Module["_gzclearerr"]=Module["asm"]["gzclearerr"]).apply(null,arguments)};var _gzread=Module["_gzread"]=function(){return(_gzread=Module["_gzread"]=Module["asm"]["gzread"]).apply(null,arguments)};var _gzfread=Module["_gzfread"]=function(){return(_gzfread=Module["_gzfread"]=Module["asm"]["gzfread"]).apply(null,arguments)};var _gzgetc=Module["_gzgetc"]=function(){return(_gzgetc=Module["_gzgetc"]=Module["asm"]["gzgetc"]).apply(null,arguments)};var _gzgetc_=Module["_gzgetc_"]=function(){return(_gzgetc_=Module["_gzgetc_"]=Module["asm"]["gzgetc_"]).apply(null,arguments)};var _gzungetc=Module["_gzungetc"]=function(){return(_gzungetc=Module["_gzungetc"]=Module["asm"]["gzungetc"]).apply(null,arguments)};var _gzgets=Module["_gzgets"]=function(){return(_gzgets=Module["_gzgets"]=Module["asm"]["gzgets"]).apply(null,arguments)};var _gzdirect=Module["_gzdirect"]=function(){return(_gzdirect=Module["_gzdirect"]=Module["asm"]["gzdirect"]).apply(null,arguments)};var _gzwrite=Module["_gzwrite"]=function(){return(_gzwrite=Module["_gzwrite"]=Module["asm"]["gzwrite"]).apply(null,arguments)};var _gzfwrite=Module["_gzfwrite"]=function(){return(_gzfwrite=Module["_gzfwrite"]=Module["asm"]["gzfwrite"]).apply(null,arguments)};var _gzputc=Module["_gzputc"]=function(){return(_gzputc=Module["_gzputc"]=Module["asm"]["gzputc"]).apply(null,arguments)};var _gzputs=Module["_gzputs"]=function(){return(_gzputs=Module["_gzputs"]=Module["asm"]["gzputs"]).apply(null,arguments)};var _gzvprintf=Module["_gzvprintf"]=function(){return(_gzvprintf=Module["_gzvprintf"]=Module["asm"]["gzvprintf"]).apply(null,arguments)};var _gzprintf=Module["_gzprintf"]=function(){return(_gzprintf=Module["_gzprintf"]=Module["asm"]["gzprintf"]).apply(null,arguments)};var _gzflush=Module["_gzflush"]=function(){return(_gzflush=Module["_gzflush"]=Module["asm"]["gzflush"]).apply(null,arguments)};var _gzsetparams=Module["_gzsetparams"]=function(){return(_gzsetparams=Module["_gzsetparams"]=Module["asm"]["gzsetparams"]).apply(null,arguments)};var _inflateBackInit_=Module["_inflateBackInit_"]=function(){return(_inflateBackInit_=Module["_inflateBackInit_"]=Module["asm"]["inflateBackInit_"]).apply(null,arguments)};var _inflateBack=Module["_inflateBack"]=function(){return(_inflateBack=Module["_inflateBack"]=Module["asm"]["inflateBack"]).apply(null,arguments)};var _inflate_table=Module["_inflate_table"]=function(){return(_inflate_table=Module["_inflate_table"]=Module["asm"]["inflate_table"]).apply(null,arguments)};var _inflate_fast=Module["_inflate_fast"]=function(){return(_inflate_fast=Module["_inflate_fast"]=Module["asm"]["inflate_fast"]).apply(null,arguments)};var _inflateBackEnd=Module["_inflateBackEnd"]=function(){return(_inflateBackEnd=Module["_inflateBackEnd"]=Module["asm"]["inflateBackEnd"]).apply(null,arguments)};var _inflateResetKeep=Module["_inflateResetKeep"]=function(){return(_inflateResetKeep=Module["_inflateResetKeep"]=Module["asm"]["inflateResetKeep"]).apply(null,arguments)};var _inflateInit_=Module["_inflateInit_"]=function(){return(_inflateInit_=Module["_inflateInit_"]=Module["asm"]["inflateInit_"]).apply(null,arguments)};var _inflatePrime=Module["_inflatePrime"]=function(){return(_inflatePrime=Module["_inflatePrime"]=Module["asm"]["inflatePrime"]).apply(null,arguments)};var _inflateGetDictionary=Module["_inflateGetDictionary"]=function(){return(_inflateGetDictionary=Module["_inflateGetDictionary"]=Module["asm"]["inflateGetDictionary"]).apply(null,arguments)};var _inflateGetHeader=Module["_inflateGetHeader"]=function(){return(_inflateGetHeader=Module["_inflateGetHeader"]=Module["asm"]["inflateGetHeader"]).apply(null,arguments)};var _inflateSync=Module["_inflateSync"]=function(){return(_inflateSync=Module["_inflateSync"]=Module["asm"]["inflateSync"]).apply(null,arguments)};var _inflateSyncPoint=Module["_inflateSyncPoint"]=function(){return(_inflateSyncPoint=Module["_inflateSyncPoint"]=Module["asm"]["inflateSyncPoint"]).apply(null,arguments)};var _inflateCopy=Module["_inflateCopy"]=function(){return(_inflateCopy=Module["_inflateCopy"]=Module["asm"]["inflateCopy"]).apply(null,arguments)};var _inflateUndermine=Module["_inflateUndermine"]=function(){return(_inflateUndermine=Module["_inflateUndermine"]=Module["asm"]["inflateUndermine"]).apply(null,arguments)};var _inflateMark=Module["_inflateMark"]=function(){return(_inflateMark=Module["_inflateMark"]=Module["asm"]["inflateMark"]).apply(null,arguments)};var _inflateCodesUsed=Module["_inflateCodesUsed"]=function(){return(_inflateCodesUsed=Module["_inflateCodesUsed"]=Module["asm"]["inflateCodesUsed"]).apply(null,arguments)};var __tr_tally=Module["__tr_tally"]=function(){return(__tr_tally=Module["__tr_tally"]=Module["asm"]["_tr_tally"]).apply(null,arguments)};var _uncompress2=Module["_uncompress2"]=function(){return(_uncompress2=Module["_uncompress2"]=Module["asm"]["uncompress2"]).apply(null,arguments)};var _uncompress=Module["_uncompress"]=function(){return(_uncompress=Module["_uncompress"]=Module["asm"]["uncompress"]).apply(null,arguments)};var _zlibCompileFlags=Module["_zlibCompileFlags"]=function(){return(_zlibCompileFlags=Module["_zlibCompileFlags"]=Module["asm"]["zlibCompileFlags"]).apply(null,arguments)};var _zError=Module["_zError"]=function(){return(_zError=Module["_zError"]=Module["asm"]["zError"]).apply(null,arguments)};var _FT_Select_Charmap=Module["_FT_Select_Charmap"]=function(){return(_FT_Select_Charmap=Module["_FT_Select_Charmap"]=Module["asm"]["FT_Select_Charmap"]).apply(null,arguments)};var _FT_Get_Char_Index=Module["_FT_Get_Char_Index"]=function(){return(_FT_Get_Char_Index=Module["_FT_Get_Char_Index"]=Module["asm"]["FT_Get_Char_Index"]).apply(null,arguments)};var _FT_Load_Glyph=Module["_FT_Load_Glyph"]=function(){return(_FT_Load_Glyph=Module["_FT_Load_Glyph"]=Module["asm"]["FT_Load_Glyph"]).apply(null,arguments)};var _FT_Get_Advance=Module["_FT_Get_Advance"]=function(){return(_FT_Get_Advance=Module["_FT_Get_Advance"]=Module["asm"]["FT_Get_Advance"]).apply(null,arguments)};var _FT_Set_Charmap=Module["_FT_Set_Charmap"]=function(){return(_FT_Set_Charmap=Module["_FT_Set_Charmap"]=Module["asm"]["FT_Set_Charmap"]).apply(null,arguments)};var _FT_MulFix=Module["_FT_MulFix"]=function(){return(_FT_MulFix=Module["_FT_MulFix"]=Module["asm"]["FT_MulFix"]).apply(null,arguments)};var _FT_MulDiv=Module["_FT_MulDiv"]=function(){return(_FT_MulDiv=Module["_FT_MulDiv"]=Module["asm"]["FT_MulDiv"]).apply(null,arguments)};var _af_get_coverage=Module["_af_get_coverage"]=function(){return(_af_get_coverage=Module["_af_get_coverage"]=Module["asm"]["af_get_coverage"]).apply(null,arguments)};var _af_get_char_index=Module["_af_get_char_index"]=function(){return(_af_get_char_index=Module["_af_get_char_index"]=Module["asm"]["af_get_char_index"]).apply(null,arguments)};var _ft_mem_alloc=Module["_ft_mem_alloc"]=function(){return(_ft_mem_alloc=Module["_ft_mem_alloc"]=Module["asm"]["ft_mem_alloc"]).apply(null,arguments)};var _ft_mem_free=Module["_ft_mem_free"]=function(){return(_ft_mem_free=Module["_ft_mem_free"]=Module["asm"]["ft_mem_free"]).apply(null,arguments)};var _FT_Matrix_Invert=Module["_FT_Matrix_Invert"]=function(){return(_FT_Matrix_Invert=Module["_FT_Matrix_Invert"]=Module["asm"]["FT_Matrix_Invert"]).apply(null,arguments)};var _FT_Vector_Transform=Module["_FT_Vector_Transform"]=function(){return(_FT_Vector_Transform=Module["_FT_Vector_Transform"]=Module["asm"]["FT_Vector_Transform"]).apply(null,arguments)};var _FT_Outline_Translate=Module["_FT_Outline_Translate"]=function(){return(_FT_Outline_Translate=Module["_FT_Outline_Translate"]=Module["asm"]["FT_Outline_Translate"]).apply(null,arguments)};var _FT_Outline_Transform=Module["_FT_Outline_Transform"]=function(){return(_FT_Outline_Transform=Module["_FT_Outline_Transform"]=Module["asm"]["FT_Outline_Transform"]).apply(null,arguments)};var _FT_Outline_Get_CBox=Module["_FT_Outline_Get_CBox"]=function(){return(_FT_Outline_Get_CBox=Module["_FT_Outline_Get_CBox"]=Module["asm"]["FT_Outline_Get_CBox"]).apply(null,arguments)};var _ft_service_list_lookup=Module["_ft_service_list_lookup"]=function(){return(_ft_service_list_lookup=Module["_ft_service_list_lookup"]=Module["asm"]["ft_service_list_lookup"]).apply(null,arguments)};var _ft_mem_realloc=Module["_ft_mem_realloc"]=function(){return(_ft_mem_realloc=Module["_ft_mem_realloc"]=Module["asm"]["ft_mem_realloc"]).apply(null,arguments)};var _FT_Outline_Get_Orientation=Module["_FT_Outline_Get_Orientation"]=function(){return(_FT_Outline_Get_Orientation=Module["_FT_Outline_Get_Orientation"]=Module["asm"]["FT_Outline_Get_Orientation"]).apply(null,arguments)};var _ft_corner_is_flat=Module["_ft_corner_is_flat"]=function(){return(_ft_corner_is_flat=Module["_ft_corner_is_flat"]=Module["asm"]["ft_corner_is_flat"]).apply(null,arguments)};var _FT_DivFix=Module["_FT_DivFix"]=function(){return(_FT_DivFix=Module["_FT_DivFix"]=Module["asm"]["FT_DivFix"]).apply(null,arguments)};var _FT_Get_Next_Char=Module["_FT_Get_Next_Char"]=function(){return(_FT_Get_Next_Char=Module["_FT_Get_Next_Char"]=Module["asm"]["FT_Get_Next_Char"]).apply(null,arguments)};var _FT_Get_Advances=Module["_FT_Get_Advances"]=function(){return(_FT_Get_Advances=Module["_FT_Get_Advances"]=Module["asm"]["FT_Get_Advances"]).apply(null,arguments)};var _FT_Outline_Get_BBox=Module["_FT_Outline_Get_BBox"]=function(){return(_FT_Outline_Get_BBox=Module["_FT_Outline_Get_BBox"]=Module["asm"]["FT_Outline_Get_BBox"]).apply(null,arguments)};var _FT_Outline_Decompose=Module["_FT_Outline_Decompose"]=function(){return(_FT_Outline_Decompose=Module["_FT_Outline_Decompose"]=Module["asm"]["FT_Outline_Decompose"]).apply(null,arguments)};var _FT_Get_BDF_Charset_ID=Module["_FT_Get_BDF_Charset_ID"]=function(){return(_FT_Get_BDF_Charset_ID=Module["_FT_Get_BDF_Charset_ID"]=Module["asm"]["FT_Get_BDF_Charset_ID"]).apply(null,arguments)};var _FT_Get_BDF_Property=Module["_FT_Get_BDF_Property"]=function(){return(_FT_Get_BDF_Property=Module["_FT_Get_BDF_Property"]=Module["asm"]["FT_Get_BDF_Property"]).apply(null,arguments)};var _FT_Bitmap_Init=Module["_FT_Bitmap_Init"]=function(){return(_FT_Bitmap_Init=Module["_FT_Bitmap_Init"]=Module["asm"]["FT_Bitmap_Init"]).apply(null,arguments)};var _FT_Bitmap_New=Module["_FT_Bitmap_New"]=function(){return(_FT_Bitmap_New=Module["_FT_Bitmap_New"]=Module["asm"]["FT_Bitmap_New"]).apply(null,arguments)};var _FT_Bitmap_Copy=Module["_FT_Bitmap_Copy"]=function(){return(_FT_Bitmap_Copy=Module["_FT_Bitmap_Copy"]=Module["asm"]["FT_Bitmap_Copy"]).apply(null,arguments)};var _ft_mem_qrealloc=Module["_ft_mem_qrealloc"]=function(){return(_ft_mem_qrealloc=Module["_ft_mem_qrealloc"]=Module["asm"]["ft_mem_qrealloc"]).apply(null,arguments)};var _ft_mem_qalloc=Module["_ft_mem_qalloc"]=function(){return(_ft_mem_qalloc=Module["_ft_mem_qalloc"]=Module["asm"]["ft_mem_qalloc"]).apply(null,arguments)};var _FT_Bitmap_Embolden=Module["_FT_Bitmap_Embolden"]=function(){return(_FT_Bitmap_Embolden=Module["_FT_Bitmap_Embolden"]=Module["asm"]["FT_Bitmap_Embolden"]).apply(null,arguments)};var _FT_Bitmap_Convert=Module["_FT_Bitmap_Convert"]=function(){return(_FT_Bitmap_Convert=Module["_FT_Bitmap_Convert"]=Module["asm"]["FT_Bitmap_Convert"]).apply(null,arguments)};var _FT_Bitmap_Done=Module["_FT_Bitmap_Done"]=function(){return(_FT_Bitmap_Done=Module["_FT_Bitmap_Done"]=Module["asm"]["FT_Bitmap_Done"]).apply(null,arguments)};var _FT_GlyphSlot_Own_Bitmap=Module["_FT_GlyphSlot_Own_Bitmap"]=function(){return(_FT_GlyphSlot_Own_Bitmap=Module["_FT_GlyphSlot_Own_Bitmap"]=Module["asm"]["FT_GlyphSlot_Own_Bitmap"]).apply(null,arguments)};var _FT_RoundFix=Module["_FT_RoundFix"]=function(){return(_FT_RoundFix=Module["_FT_RoundFix"]=Module["asm"]["FT_RoundFix"]).apply(null,arguments)};var _FT_CeilFix=Module["_FT_CeilFix"]=function(){return(_FT_CeilFix=Module["_FT_CeilFix"]=Module["asm"]["FT_CeilFix"]).apply(null,arguments)};var _FT_FloorFix=Module["_FT_FloorFix"]=function(){return(_FT_FloorFix=Module["_FT_FloorFix"]=Module["asm"]["FT_FloorFix"]).apply(null,arguments)};var _FT_Hypot=Module["_FT_Hypot"]=function(){return(_FT_Hypot=Module["_FT_Hypot"]=Module["asm"]["FT_Hypot"]).apply(null,arguments)};var _FT_Vector_Length=Module["_FT_Vector_Length"]=function(){return(_FT_Vector_Length=Module["_FT_Vector_Length"]=Module["asm"]["FT_Vector_Length"]).apply(null,arguments)};var _FT_MulDiv_No_Round=Module["_FT_MulDiv_No_Round"]=function(){return(_FT_MulDiv_No_Round=Module["_FT_MulDiv_No_Round"]=Module["asm"]["FT_MulDiv_No_Round"]).apply(null,arguments)};var _FT_Matrix_Multiply=Module["_FT_Matrix_Multiply"]=function(){return(_FT_Matrix_Multiply=Module["_FT_Matrix_Multiply"]=Module["asm"]["FT_Matrix_Multiply"]).apply(null,arguments)};var _FT_Matrix_Multiply_Scaled=Module["_FT_Matrix_Multiply_Scaled"]=function(){return(_FT_Matrix_Multiply_Scaled=Module["_FT_Matrix_Multiply_Scaled"]=Module["asm"]["FT_Matrix_Multiply_Scaled"]).apply(null,arguments)};var _FT_Vector_Transform_Scaled=Module["_FT_Vector_Transform_Scaled"]=function(){return(_FT_Vector_Transform_Scaled=Module["_FT_Vector_Transform_Scaled"]=Module["asm"]["FT_Vector_Transform_Scaled"]).apply(null,arguments)};var _ft_corner_orientation=Module["_ft_corner_orientation"]=function(){return(_ft_corner_orientation=Module["_ft_corner_orientation"]=Module["asm"]["ft_corner_orientation"]).apply(null,arguments)};var _FT_Get_CID_Registry_Ordering_Supplement=Module["_FT_Get_CID_Registry_Ordering_Supplement"]=function(){return(_FT_Get_CID_Registry_Ordering_Supplement=Module["_FT_Get_CID_Registry_Ordering_Supplement"]=Module["asm"]["FT_Get_CID_Registry_Ordering_Supplement"]).apply(null,arguments)};var _FT_Get_CID_Is_Internally_CID_Keyed=Module["_FT_Get_CID_Is_Internally_CID_Keyed"]=function(){return(_FT_Get_CID_Is_Internally_CID_Keyed=Module["_FT_Get_CID_Is_Internally_CID_Keyed"]=Module["asm"]["FT_Get_CID_Is_Internally_CID_Keyed"]).apply(null,arguments)};var _FT_Get_CID_From_Glyph_Index=Module["_FT_Get_CID_From_Glyph_Index"]=function(){return(_FT_Get_CID_From_Glyph_Index=Module["_FT_Get_CID_From_Glyph_Index"]=Module["asm"]["FT_Get_CID_From_Glyph_Index"]).apply(null,arguments)};var _ft_debug_init=Module["_ft_debug_init"]=function(){return(_ft_debug_init=Module["_ft_debug_init"]=Module["asm"]["ft_debug_init"]).apply(null,arguments)};var _FT_Trace_Get_Count=Module["_FT_Trace_Get_Count"]=function(){return(_FT_Trace_Get_Count=Module["_FT_Trace_Get_Count"]=Module["asm"]["FT_Trace_Get_Count"]).apply(null,arguments)};var _FT_Trace_Get_Name=Module["_FT_Trace_Get_Name"]=function(){return(_FT_Trace_Get_Name=Module["_FT_Trace_Get_Name"]=Module["asm"]["FT_Trace_Get_Name"]).apply(null,arguments)};var _FT_Get_Font_Format=Module["_FT_Get_Font_Format"]=function(){return(_FT_Get_Font_Format=Module["_FT_Get_Font_Format"]=Module["asm"]["FT_Get_Font_Format"]).apply(null,arguments)};var _FT_Get_X11_Font_Format=Module["_FT_Get_X11_Font_Format"]=function(){return(_FT_Get_X11_Font_Format=Module["_FT_Get_X11_Font_Format"]=Module["asm"]["FT_Get_X11_Font_Format"]).apply(null,arguments)};var _FT_Get_FSType_Flags=Module["_FT_Get_FSType_Flags"]=function(){return(_FT_Get_FSType_Flags=Module["_FT_Get_FSType_Flags"]=Module["asm"]["FT_Get_FSType_Flags"]).apply(null,arguments)};var _FT_Get_Sfnt_Table=Module["_FT_Get_Sfnt_Table"]=function(){return(_FT_Get_Sfnt_Table=Module["_FT_Get_Sfnt_Table"]=Module["asm"]["FT_Get_Sfnt_Table"]).apply(null,arguments)};var _FT_Get_Gasp=Module["_FT_Get_Gasp"]=function(){return(_FT_Get_Gasp=Module["_FT_Get_Gasp"]=Module["asm"]["FT_Get_Gasp"]).apply(null,arguments)};var _FT_GlyphLoader_New=Module["_FT_GlyphLoader_New"]=function(){return(_FT_GlyphLoader_New=Module["_FT_GlyphLoader_New"]=Module["asm"]["FT_GlyphLoader_New"]).apply(null,arguments)};var _FT_GlyphLoader_Rewind=Module["_FT_GlyphLoader_Rewind"]=function(){return(_FT_GlyphLoader_Rewind=Module["_FT_GlyphLoader_Rewind"]=Module["asm"]["FT_GlyphLoader_Rewind"]).apply(null,arguments)};var _FT_GlyphLoader_Reset=Module["_FT_GlyphLoader_Reset"]=function(){return(_FT_GlyphLoader_Reset=Module["_FT_GlyphLoader_Reset"]=Module["asm"]["FT_GlyphLoader_Reset"]).apply(null,arguments)};var _FT_GlyphLoader_Done=Module["_FT_GlyphLoader_Done"]=function(){return(_FT_GlyphLoader_Done=Module["_FT_GlyphLoader_Done"]=Module["asm"]["FT_GlyphLoader_Done"]).apply(null,arguments)};var _FT_GlyphLoader_CreateExtra=Module["_FT_GlyphLoader_CreateExtra"]=function(){return(_FT_GlyphLoader_CreateExtra=Module["_FT_GlyphLoader_CreateExtra"]=Module["asm"]["FT_GlyphLoader_CreateExtra"]).apply(null,arguments)};var _FT_GlyphLoader_CheckPoints=Module["_FT_GlyphLoader_CheckPoints"]=function(){return(_FT_GlyphLoader_CheckPoints=Module["_FT_GlyphLoader_CheckPoints"]=Module["asm"]["FT_GlyphLoader_CheckPoints"]).apply(null,arguments)};var _FT_GlyphLoader_CheckSubGlyphs=Module["_FT_GlyphLoader_CheckSubGlyphs"]=function(){return(_FT_GlyphLoader_CheckSubGlyphs=Module["_FT_GlyphLoader_CheckSubGlyphs"]=Module["asm"]["FT_GlyphLoader_CheckSubGlyphs"]).apply(null,arguments)};var _FT_GlyphLoader_Prepare=Module["_FT_GlyphLoader_Prepare"]=function(){return(_FT_GlyphLoader_Prepare=Module["_FT_GlyphLoader_Prepare"]=Module["asm"]["FT_GlyphLoader_Prepare"]).apply(null,arguments)};var _FT_GlyphLoader_Add=Module["_FT_GlyphLoader_Add"]=function(){return(_FT_GlyphLoader_Add=Module["_FT_GlyphLoader_Add"]=Module["asm"]["FT_GlyphLoader_Add"]).apply(null,arguments)};var _FT_GlyphLoader_CopyPoints=Module["_FT_GlyphLoader_CopyPoints"]=function(){return(_FT_GlyphLoader_CopyPoints=Module["_FT_GlyphLoader_CopyPoints"]=Module["asm"]["FT_GlyphLoader_CopyPoints"]).apply(null,arguments)};var _FT_Outline_New=Module["_FT_Outline_New"]=function(){return(_FT_Outline_New=Module["_FT_Outline_New"]=Module["asm"]["FT_Outline_New"]).apply(null,arguments)};var _FT_Outline_Copy=Module["_FT_Outline_Copy"]=function(){return(_FT_Outline_Copy=Module["_FT_Outline_Copy"]=Module["asm"]["FT_Outline_Copy"]).apply(null,arguments)};var _FT_Outline_Done=Module["_FT_Outline_Done"]=function(){return(_FT_Outline_Done=Module["_FT_Outline_Done"]=Module["asm"]["FT_Outline_Done"]).apply(null,arguments)};var _FT_Glyph_Copy=Module["_FT_Glyph_Copy"]=function(){return(_FT_Glyph_Copy=Module["_FT_Glyph_Copy"]=Module["asm"]["FT_Glyph_Copy"]).apply(null,arguments)};var _FT_Done_Glyph=Module["_FT_Done_Glyph"]=function(){return(_FT_Done_Glyph=Module["_FT_Done_Glyph"]=Module["asm"]["FT_Done_Glyph"]).apply(null,arguments)};var _FT_Get_Glyph=Module["_FT_Get_Glyph"]=function(){return(_FT_Get_Glyph=Module["_FT_Get_Glyph"]=Module["asm"]["FT_Get_Glyph"]).apply(null,arguments)};var _FT_Lookup_Renderer=Module["_FT_Lookup_Renderer"]=function(){return(_FT_Lookup_Renderer=Module["_FT_Lookup_Renderer"]=Module["asm"]["FT_Lookup_Renderer"]).apply(null,arguments)};var _FT_Glyph_Transform=Module["_FT_Glyph_Transform"]=function(){return(_FT_Glyph_Transform=Module["_FT_Glyph_Transform"]=Module["asm"]["FT_Glyph_Transform"]).apply(null,arguments)};var _FT_Glyph_Get_CBox=Module["_FT_Glyph_Get_CBox"]=function(){return(_FT_Glyph_Get_CBox=Module["_FT_Glyph_Get_CBox"]=Module["asm"]["FT_Glyph_Get_CBox"]).apply(null,arguments)};var _FT_Glyph_To_Bitmap=Module["_FT_Glyph_To_Bitmap"]=function(){return(_FT_Glyph_To_Bitmap=Module["_FT_Glyph_To_Bitmap"]=Module["asm"]["FT_Glyph_To_Bitmap"]).apply(null,arguments)};var _FT_Render_Glyph_Internal=Module["_FT_Render_Glyph_Internal"]=function(){return(_FT_Render_Glyph_Internal=Module["_FT_Render_Glyph_Internal"]=Module["asm"]["FT_Render_Glyph_Internal"]).apply(null,arguments)};var _FT_TrueTypeGX_Validate=Module["_FT_TrueTypeGX_Validate"]=function(){return(_FT_TrueTypeGX_Validate=Module["_FT_TrueTypeGX_Validate"]=Module["asm"]["FT_TrueTypeGX_Validate"]).apply(null,arguments)};var _ft_module_get_service=Module["_ft_module_get_service"]=function(){return(_ft_module_get_service=Module["_ft_module_get_service"]=Module["asm"]["ft_module_get_service"]).apply(null,arguments)};var _FT_TrueTypeGX_Free=Module["_FT_TrueTypeGX_Free"]=function(){return(_FT_TrueTypeGX_Free=Module["_FT_TrueTypeGX_Free"]=Module["asm"]["FT_TrueTypeGX_Free"]).apply(null,arguments)};var _FT_ClassicKern_Validate=Module["_FT_ClassicKern_Validate"]=function(){return(_FT_ClassicKern_Validate=Module["_FT_ClassicKern_Validate"]=Module["asm"]["FT_ClassicKern_Validate"]).apply(null,arguments)};var _FT_ClassicKern_Free=Module["_FT_ClassicKern_Free"]=function(){return(_FT_ClassicKern_Free=Module["_FT_ClassicKern_Free"]=Module["asm"]["FT_ClassicKern_Free"]).apply(null,arguments)};var _FT_Add_Default_Modules=Module["_FT_Add_Default_Modules"]=function(){return(_FT_Add_Default_Modules=Module["_FT_Add_Default_Modules"]=Module["asm"]["FT_Add_Default_Modules"]).apply(null,arguments)};var _FT_Add_Module=Module["_FT_Add_Module"]=function(){return(_FT_Add_Module=Module["_FT_Add_Module"]=Module["asm"]["FT_Add_Module"]).apply(null,arguments)};var _FT_Init_FreeType=Module["_FT_Init_FreeType"]=function(){return(_FT_Init_FreeType=Module["_FT_Init_FreeType"]=Module["asm"]["FT_Init_FreeType"]).apply(null,arguments)};var _FT_New_Memory=Module["_FT_New_Memory"]=function(){return(_FT_New_Memory=Module["_FT_New_Memory"]=Module["asm"]["FT_New_Memory"]).apply(null,arguments)};var _FT_New_Library=Module["_FT_New_Library"]=function(){return(_FT_New_Library=Module["_FT_New_Library"]=Module["asm"]["FT_New_Library"]).apply(null,arguments)};var _FT_Done_Memory=Module["_FT_Done_Memory"]=function(){return(_FT_Done_Memory=Module["_FT_Done_Memory"]=Module["asm"]["FT_Done_Memory"]).apply(null,arguments)};var _FT_Done_FreeType=Module["_FT_Done_FreeType"]=function(){return(_FT_Done_FreeType=Module["_FT_Done_FreeType"]=Module["asm"]["FT_Done_FreeType"]).apply(null,arguments)};var _FT_Done_Library=Module["_FT_Done_Library"]=function(){return(_FT_Done_Library=Module["_FT_Done_Library"]=Module["asm"]["FT_Done_Library"]).apply(null,arguments)};var _FT_Library_SetLcdFilterWeights=Module["_FT_Library_SetLcdFilterWeights"]=function(){return(_FT_Library_SetLcdFilterWeights=Module["_FT_Library_SetLcdFilterWeights"]=Module["asm"]["FT_Library_SetLcdFilterWeights"]).apply(null,arguments)};var _FT_Library_SetLcdFilter=Module["_FT_Library_SetLcdFilter"]=function(){return(_FT_Library_SetLcdFilter=Module["_FT_Library_SetLcdFilter"]=Module["asm"]["FT_Library_SetLcdFilter"]).apply(null,arguments)};var _FT_Get_Multi_Master=Module["_FT_Get_Multi_Master"]=function(){return(_FT_Get_Multi_Master=Module["_FT_Get_Multi_Master"]=Module["asm"]["FT_Get_Multi_Master"]).apply(null,arguments)};var _FT_Get_MM_Var=Module["_FT_Get_MM_Var"]=function(){return(_FT_Get_MM_Var=Module["_FT_Get_MM_Var"]=Module["asm"]["FT_Get_MM_Var"]).apply(null,arguments)};var _FT_Set_MM_Design_Coordinates=Module["_FT_Set_MM_Design_Coordinates"]=function(){return(_FT_Set_MM_Design_Coordinates=Module["_FT_Set_MM_Design_Coordinates"]=Module["asm"]["FT_Set_MM_Design_Coordinates"]).apply(null,arguments)};var _FT_Set_Var_Design_Coordinates=Module["_FT_Set_Var_Design_Coordinates"]=function(){return(_FT_Set_Var_Design_Coordinates=Module["_FT_Set_Var_Design_Coordinates"]=Module["asm"]["FT_Set_Var_Design_Coordinates"]).apply(null,arguments)};var _FT_Set_MM_Blend_Coordinates=Module["_FT_Set_MM_Blend_Coordinates"]=function(){return(_FT_Set_MM_Blend_Coordinates=Module["_FT_Set_MM_Blend_Coordinates"]=Module["asm"]["FT_Set_MM_Blend_Coordinates"]).apply(null,arguments)};var _FT_Set_Var_Blend_Coordinates=Module["_FT_Set_Var_Blend_Coordinates"]=function(){return(_FT_Set_Var_Blend_Coordinates=Module["_FT_Set_Var_Blend_Coordinates"]=Module["asm"]["FT_Set_Var_Blend_Coordinates"]).apply(null,arguments)};var _ft_validator_init=Module["_ft_validator_init"]=function(){return(_ft_validator_init=Module["_ft_validator_init"]=Module["asm"]["ft_validator_init"]).apply(null,arguments)};var _ft_validator_run=Module["_ft_validator_run"]=function(){return(_ft_validator_run=Module["_ft_validator_run"]=Module["asm"]["ft_validator_run"]).apply(null,arguments)};var _ft_validator_error=Module["_ft_validator_error"]=function(){return(_ft_validator_error=Module["_ft_validator_error"]=Module["asm"]["ft_validator_error"]).apply(null,arguments)};var _FT_Stream_New=Module["_FT_Stream_New"]=function(){return(_FT_Stream_New=Module["_FT_Stream_New"]=Module["asm"]["FT_Stream_New"]).apply(null,arguments)};var _FT_Stream_OpenMemory=Module["_FT_Stream_OpenMemory"]=function(){return(_FT_Stream_OpenMemory=Module["_FT_Stream_OpenMemory"]=Module["asm"]["FT_Stream_OpenMemory"]).apply(null,arguments)};var _FT_Stream_Open=Module["_FT_Stream_Open"]=function(){return(_FT_Stream_Open=Module["_FT_Stream_Open"]=Module["asm"]["FT_Stream_Open"]).apply(null,arguments)};var _FT_Stream_Free=Module["_FT_Stream_Free"]=function(){return(_FT_Stream_Free=Module["_FT_Stream_Free"]=Module["asm"]["FT_Stream_Free"]).apply(null,arguments)};var _FT_Stream_Close=Module["_FT_Stream_Close"]=function(){return(_FT_Stream_Close=Module["_FT_Stream_Close"]=Module["asm"]["FT_Stream_Close"]).apply(null,arguments)};var _ft_glyphslot_free_bitmap=Module["_ft_glyphslot_free_bitmap"]=function(){return(_ft_glyphslot_free_bitmap=Module["_ft_glyphslot_free_bitmap"]=Module["asm"]["ft_glyphslot_free_bitmap"]).apply(null,arguments)};var _ft_glyphslot_set_bitmap=Module["_ft_glyphslot_set_bitmap"]=function(){return(_ft_glyphslot_set_bitmap=Module["_ft_glyphslot_set_bitmap"]=Module["asm"]["ft_glyphslot_set_bitmap"]).apply(null,arguments)};var _ft_glyphslot_alloc_bitmap=Module["_ft_glyphslot_alloc_bitmap"]=function(){return(_ft_glyphslot_alloc_bitmap=Module["_ft_glyphslot_alloc_bitmap"]=Module["asm"]["ft_glyphslot_alloc_bitmap"]).apply(null,arguments)};var _FT_New_GlyphSlot=Module["_FT_New_GlyphSlot"]=function(){return(_FT_New_GlyphSlot=Module["_FT_New_GlyphSlot"]=Module["asm"]["FT_New_GlyphSlot"]).apply(null,arguments)};var _FT_Done_GlyphSlot=Module["_FT_Done_GlyphSlot"]=function(){return(_FT_Done_GlyphSlot=Module["_FT_Done_GlyphSlot"]=Module["asm"]["FT_Done_GlyphSlot"]).apply(null,arguments)};var _FT_Set_Transform=Module["_FT_Set_Transform"]=function(){return(_FT_Set_Transform=Module["_FT_Set_Transform"]=Module["asm"]["FT_Set_Transform"]).apply(null,arguments)};var _FT_Outline_Check=Module["_FT_Outline_Check"]=function(){return(_FT_Outline_Check=Module["_FT_Outline_Check"]=Module["asm"]["FT_Outline_Check"]).apply(null,arguments)};var _FT_Render_Glyph=Module["_FT_Render_Glyph"]=function(){return(_FT_Render_Glyph=Module["_FT_Render_Glyph"]=Module["asm"]["FT_Render_Glyph"]).apply(null,arguments)};var _FT_Load_Char=Module["_FT_Load_Char"]=function(){return(_FT_Load_Char=Module["_FT_Load_Char"]=Module["asm"]["FT_Load_Char"]).apply(null,arguments)};var _FT_New_Face=Module["_FT_New_Face"]=function(){return(_FT_New_Face=Module["_FT_New_Face"]=Module["asm"]["FT_New_Face"]).apply(null,arguments)};var _FT_Open_Face=Module["_FT_Open_Face"]=function(){return(_FT_Open_Face=Module["_FT_Open_Face"]=Module["asm"]["FT_Open_Face"]).apply(null,arguments)};var _FT_Stream_Seek=Module["_FT_Stream_Seek"]=function(){return(_FT_Stream_Seek=Module["_FT_Stream_Seek"]=Module["asm"]["FT_Stream_Seek"]).apply(null,arguments)};var _open_face_PS_from_sfnt_stream=Module["_open_face_PS_from_sfnt_stream"]=function(){return(_open_face_PS_from_sfnt_stream=Module["_open_face_PS_from_sfnt_stream"]=Module["asm"]["open_face_PS_from_sfnt_stream"]).apply(null,arguments)};var _FT_Stream_Read=Module["_FT_Stream_Read"]=function(){return(_FT_Stream_Read=Module["_FT_Stream_Read"]=Module["asm"]["FT_Stream_Read"]).apply(null,arguments)};var _FT_Raccess_Guess=Module["_FT_Raccess_Guess"]=function(){return(_FT_Raccess_Guess=Module["_FT_Raccess_Guess"]=Module["asm"]["FT_Raccess_Guess"]).apply(null,arguments)};var _ft_raccess_rule_by_darwin_vfs=Module["_ft_raccess_rule_by_darwin_vfs"]=function(){return(_ft_raccess_rule_by_darwin_vfs=Module["_ft_raccess_rule_by_darwin_vfs"]=Module["asm"]["ft_raccess_rule_by_darwin_vfs"]).apply(null,arguments)};var _FT_List_Add=Module["_FT_List_Add"]=function(){return(_FT_List_Add=Module["_FT_List_Add"]=Module["asm"]["FT_List_Add"]).apply(null,arguments)};var _FT_New_Size=Module["_FT_New_Size"]=function(){return(_FT_New_Size=Module["_FT_New_Size"]=Module["asm"]["FT_New_Size"]).apply(null,arguments)};var _FT_Done_Face=Module["_FT_Done_Face"]=function(){return(_FT_Done_Face=Module["_FT_Done_Face"]=Module["asm"]["FT_Done_Face"]).apply(null,arguments)};var _FT_List_Find=Module["_FT_List_Find"]=function(){return(_FT_List_Find=Module["_FT_List_Find"]=Module["asm"]["FT_List_Find"]).apply(null,arguments)};var _FT_List_Remove=Module["_FT_List_Remove"]=function(){return(_FT_List_Remove=Module["_FT_List_Remove"]=Module["asm"]["FT_List_Remove"]).apply(null,arguments)};var _FT_New_Memory_Face=Module["_FT_New_Memory_Face"]=function(){return(_FT_New_Memory_Face=Module["_FT_New_Memory_Face"]=Module["asm"]["FT_New_Memory_Face"]).apply(null,arguments)};var _open_face_from_buffer=Module["_open_face_from_buffer"]=function(){return(_open_face_from_buffer=Module["_open_face_from_buffer"]=Module["asm"]["open_face_from_buffer"]).apply(null,arguments)};var _FT_Get_Module=Module["_FT_Get_Module"]=function(){return(_FT_Get_Module=Module["_FT_Get_Module"]=Module["asm"]["FT_Get_Module"]).apply(null,arguments)};var _FT_Stream_Pos=Module["_FT_Stream_Pos"]=function(){return(_FT_Stream_Pos=Module["_FT_Stream_Pos"]=Module["asm"]["FT_Stream_Pos"]).apply(null,arguments)};var _FT_Stream_ReadULong=Module["_FT_Stream_ReadULong"]=function(){return(_FT_Stream_ReadULong=Module["_FT_Stream_ReadULong"]=Module["asm"]["FT_Stream_ReadULong"]).apply(null,arguments)};var _FT_Stream_ReadUShort=Module["_FT_Stream_ReadUShort"]=function(){return(_FT_Stream_ReadUShort=Module["_FT_Stream_ReadUShort"]=Module["asm"]["FT_Stream_ReadUShort"]).apply(null,arguments)};var _FT_Stream_Skip=Module["_FT_Stream_Skip"]=function(){return(_FT_Stream_Skip=Module["_FT_Stream_Skip"]=Module["asm"]["FT_Stream_Skip"]).apply(null,arguments)};var _FT_List_Finalize=Module["_FT_List_Finalize"]=function(){return(_FT_List_Finalize=Module["_FT_List_Finalize"]=Module["asm"]["FT_List_Finalize"]).apply(null,arguments)};var _FT_Attach_File=Module["_FT_Attach_File"]=function(){return(_FT_Attach_File=Module["_FT_Attach_File"]=Module["asm"]["FT_Attach_File"]).apply(null,arguments)};var _FT_Attach_Stream=Module["_FT_Attach_Stream"]=function(){return(_FT_Attach_Stream=Module["_FT_Attach_Stream"]=Module["asm"]["FT_Attach_Stream"]).apply(null,arguments)};var _FT_Reference_Face=Module["_FT_Reference_Face"]=function(){return(_FT_Reference_Face=Module["_FT_Reference_Face"]=Module["asm"]["FT_Reference_Face"]).apply(null,arguments)};var _FT_Done_Size=Module["_FT_Done_Size"]=function(){return(_FT_Done_Size=Module["_FT_Done_Size"]=Module["asm"]["FT_Done_Size"]).apply(null,arguments)};var _FT_Match_Size=Module["_FT_Match_Size"]=function(){return(_FT_Match_Size=Module["_FT_Match_Size"]=Module["asm"]["FT_Match_Size"]).apply(null,arguments)};var _ft_synthesize_vertical_metrics=Module["_ft_synthesize_vertical_metrics"]=function(){return(_ft_synthesize_vertical_metrics=Module["_ft_synthesize_vertical_metrics"]=Module["asm"]["ft_synthesize_vertical_metrics"]).apply(null,arguments)};var _FT_Select_Metrics=Module["_FT_Select_Metrics"]=function(){return(_FT_Select_Metrics=Module["_FT_Select_Metrics"]=Module["asm"]["FT_Select_Metrics"]).apply(null,arguments)};var _FT_Request_Metrics=Module["_FT_Request_Metrics"]=function(){return(_FT_Request_Metrics=Module["_FT_Request_Metrics"]=Module["asm"]["FT_Request_Metrics"]).apply(null,arguments)};var _FT_Select_Size=Module["_FT_Select_Size"]=function(){return(_FT_Select_Size=Module["_FT_Select_Size"]=Module["asm"]["FT_Select_Size"]).apply(null,arguments)};var _FT_Request_Size=Module["_FT_Request_Size"]=function(){return(_FT_Request_Size=Module["_FT_Request_Size"]=Module["asm"]["FT_Request_Size"]).apply(null,arguments)};var _FT_Set_Char_Size=Module["_FT_Set_Char_Size"]=function(){return(_FT_Set_Char_Size=Module["_FT_Set_Char_Size"]=Module["asm"]["FT_Set_Char_Size"]).apply(null,arguments)};var _FT_Set_Pixel_Sizes=Module["_FT_Set_Pixel_Sizes"]=function(){return(_FT_Set_Pixel_Sizes=Module["_FT_Set_Pixel_Sizes"]=Module["asm"]["FT_Set_Pixel_Sizes"]).apply(null,arguments)};var _FT_Get_Kerning=Module["_FT_Get_Kerning"]=function(){return(_FT_Get_Kerning=Module["_FT_Get_Kerning"]=Module["asm"]["FT_Get_Kerning"]).apply(null,arguments)};var _FT_Get_Track_Kerning=Module["_FT_Get_Track_Kerning"]=function(){return(_FT_Get_Track_Kerning=Module["_FT_Get_Track_Kerning"]=Module["asm"]["FT_Get_Track_Kerning"]).apply(null,arguments)};var _FT_Get_CMap_Format=Module["_FT_Get_CMap_Format"]=function(){return(_FT_Get_CMap_Format=Module["_FT_Get_CMap_Format"]=Module["asm"]["FT_Get_CMap_Format"]).apply(null,arguments)};var _FT_Get_Charmap_Index=Module["_FT_Get_Charmap_Index"]=function(){return(_FT_Get_Charmap_Index=Module["_FT_Get_Charmap_Index"]=Module["asm"]["FT_Get_Charmap_Index"]).apply(null,arguments)};var _FT_CMap_Done=Module["_FT_CMap_Done"]=function(){return(_FT_CMap_Done=Module["_FT_CMap_Done"]=Module["asm"]["FT_CMap_Done"]).apply(null,arguments)};var _FT_CMap_New=Module["_FT_CMap_New"]=function(){return(_FT_CMap_New=Module["_FT_CMap_New"]=Module["asm"]["FT_CMap_New"]).apply(null,arguments)};var _FT_Get_First_Char=Module["_FT_Get_First_Char"]=function(){return(_FT_Get_First_Char=Module["_FT_Get_First_Char"]=Module["asm"]["FT_Get_First_Char"]).apply(null,arguments)};var _FT_Face_GetCharVariantIndex=Module["_FT_Face_GetCharVariantIndex"]=function(){return(_FT_Face_GetCharVariantIndex=Module["_FT_Face_GetCharVariantIndex"]=Module["asm"]["FT_Face_GetCharVariantIndex"]).apply(null,arguments)};var _FT_Face_GetCharVariantIsDefault=Module["_FT_Face_GetCharVariantIsDefault"]=function(){return(_FT_Face_GetCharVariantIsDefault=Module["_FT_Face_GetCharVariantIsDefault"]=Module["asm"]["FT_Face_GetCharVariantIsDefault"]).apply(null,arguments)};var _FT_Face_GetVariantSelectors=Module["_FT_Face_GetVariantSelectors"]=function(){return(_FT_Face_GetVariantSelectors=Module["_FT_Face_GetVariantSelectors"]=Module["asm"]["FT_Face_GetVariantSelectors"]).apply(null,arguments)};var _FT_Face_GetVariantsOfChar=Module["_FT_Face_GetVariantsOfChar"]=function(){return(_FT_Face_GetVariantsOfChar=Module["_FT_Face_GetVariantsOfChar"]=Module["asm"]["FT_Face_GetVariantsOfChar"]).apply(null,arguments)};var _FT_Face_GetCharsOfVariant=Module["_FT_Face_GetCharsOfVariant"]=function(){return(_FT_Face_GetCharsOfVariant=Module["_FT_Face_GetCharsOfVariant"]=Module["asm"]["FT_Face_GetCharsOfVariant"]).apply(null,arguments)};var _FT_Get_Name_Index=Module["_FT_Get_Name_Index"]=function(){return(_FT_Get_Name_Index=Module["_FT_Get_Name_Index"]=Module["asm"]["FT_Get_Name_Index"]).apply(null,arguments)};var _FT_Get_Glyph_Name=Module["_FT_Get_Glyph_Name"]=function(){return(_FT_Get_Glyph_Name=Module["_FT_Get_Glyph_Name"]=Module["asm"]["FT_Get_Glyph_Name"]).apply(null,arguments)};var _FT_Get_Postscript_Name=Module["_FT_Get_Postscript_Name"]=function(){return(_FT_Get_Postscript_Name=Module["_FT_Get_Postscript_Name"]=Module["asm"]["FT_Get_Postscript_Name"]).apply(null,arguments)};var _FT_Load_Sfnt_Table=Module["_FT_Load_Sfnt_Table"]=function(){return(_FT_Load_Sfnt_Table=Module["_FT_Load_Sfnt_Table"]=Module["asm"]["FT_Load_Sfnt_Table"]).apply(null,arguments)};var _FT_Sfnt_Table_Info=Module["_FT_Sfnt_Table_Info"]=function(){return(_FT_Sfnt_Table_Info=Module["_FT_Sfnt_Table_Info"]=Module["asm"]["FT_Sfnt_Table_Info"]).apply(null,arguments)};var _FT_Get_CMap_Language_ID=Module["_FT_Get_CMap_Language_ID"]=function(){return(_FT_Get_CMap_Language_ID=Module["_FT_Get_CMap_Language_ID"]=Module["asm"]["FT_Get_CMap_Language_ID"]).apply(null,arguments)};var _FT_Activate_Size=Module["_FT_Activate_Size"]=function(){return(_FT_Activate_Size=Module["_FT_Activate_Size"]=Module["asm"]["FT_Activate_Size"]).apply(null,arguments)};var _FT_Get_Renderer=Module["_FT_Get_Renderer"]=function(){return(_FT_Get_Renderer=Module["_FT_Get_Renderer"]=Module["asm"]["FT_Get_Renderer"]).apply(null,arguments)};var _FT_Set_Renderer=Module["_FT_Set_Renderer"]=function(){return(_FT_Set_Renderer=Module["_FT_Set_Renderer"]=Module["asm"]["FT_Set_Renderer"]).apply(null,arguments)};var _FT_List_Up=Module["_FT_List_Up"]=function(){return(_FT_List_Up=Module["_FT_List_Up"]=Module["asm"]["FT_List_Up"]).apply(null,arguments)};var _FT_Remove_Module=Module["_FT_Remove_Module"]=function(){return(_FT_Remove_Module=Module["_FT_Remove_Module"]=Module["asm"]["FT_Remove_Module"]).apply(null,arguments)};var _FT_Get_Module_Interface=Module["_FT_Get_Module_Interface"]=function(){return(_FT_Get_Module_Interface=Module["_FT_Get_Module_Interface"]=Module["asm"]["FT_Get_Module_Interface"]).apply(null,arguments)};var _FT_Property_Set=Module["_FT_Property_Set"]=function(){return(_FT_Property_Set=Module["_FT_Property_Set"]=Module["asm"]["FT_Property_Set"]).apply(null,arguments)};var _FT_Property_Get=Module["_FT_Property_Get"]=function(){return(_FT_Property_Get=Module["_FT_Property_Get"]=Module["asm"]["FT_Property_Get"]).apply(null,arguments)};var _FT_Reference_Library=Module["_FT_Reference_Library"]=function(){return(_FT_Reference_Library=Module["_FT_Reference_Library"]=Module["asm"]["FT_Reference_Library"]).apply(null,arguments)};var _FT_Library_Version=Module["_FT_Library_Version"]=function(){return(_FT_Library_Version=Module["_FT_Library_Version"]=Module["asm"]["FT_Library_Version"]).apply(null,arguments)};var _FT_Set_Debug_Hook=Module["_FT_Set_Debug_Hook"]=function(){return(_FT_Set_Debug_Hook=Module["_FT_Set_Debug_Hook"]=Module["asm"]["FT_Set_Debug_Hook"]).apply(null,arguments)};var _FT_Get_TrueType_Engine_Type=Module["_FT_Get_TrueType_Engine_Type"]=function(){return(_FT_Get_TrueType_Engine_Type=Module["_FT_Get_TrueType_Engine_Type"]=Module["asm"]["FT_Get_TrueType_Engine_Type"]).apply(null,arguments)};var _FT_Get_SubGlyph_Info=Module["_FT_Get_SubGlyph_Info"]=function(){return(_FT_Get_SubGlyph_Info=Module["_FT_Get_SubGlyph_Info"]=Module["asm"]["FT_Get_SubGlyph_Info"]).apply(null,arguments)};var _FT_Raccess_Get_HeaderInfo=Module["_FT_Raccess_Get_HeaderInfo"]=function(){return(_FT_Raccess_Get_HeaderInfo=Module["_FT_Raccess_Get_HeaderInfo"]=Module["asm"]["FT_Raccess_Get_HeaderInfo"]).apply(null,arguments)};var _FT_Raccess_Get_DataOffsets=Module["_FT_Raccess_Get_DataOffsets"]=function(){return(_FT_Raccess_Get_DataOffsets=Module["_FT_Raccess_Get_DataOffsets"]=Module["asm"]["FT_Raccess_Get_DataOffsets"]).apply(null,arguments)};var _FT_OpenType_Validate=Module["_FT_OpenType_Validate"]=function(){return(_FT_OpenType_Validate=Module["_FT_OpenType_Validate"]=Module["asm"]["FT_OpenType_Validate"]).apply(null,arguments)};var _FT_OpenType_Free=Module["_FT_OpenType_Free"]=function(){return(_FT_OpenType_Free=Module["_FT_OpenType_Free"]=Module["asm"]["FT_OpenType_Free"]).apply(null,arguments)};var _FT_Outline_New_Internal=Module["_FT_Outline_New_Internal"]=function(){return(_FT_Outline_New_Internal=Module["_FT_Outline_New_Internal"]=Module["asm"]["FT_Outline_New_Internal"]).apply(null,arguments)};var _FT_Outline_Done_Internal=Module["_FT_Outline_Done_Internal"]=function(){return(_FT_Outline_Done_Internal=Module["_FT_Outline_Done_Internal"]=Module["asm"]["FT_Outline_Done_Internal"]).apply(null,arguments)};var _FT_Outline_Reverse=Module["_FT_Outline_Reverse"]=function(){return(_FT_Outline_Reverse=Module["_FT_Outline_Reverse"]=Module["asm"]["FT_Outline_Reverse"]).apply(null,arguments)};var _FT_Outline_Render=Module["_FT_Outline_Render"]=function(){return(_FT_Outline_Render=Module["_FT_Outline_Render"]=Module["asm"]["FT_Outline_Render"]).apply(null,arguments)};var _FT_Outline_Get_Bitmap=Module["_FT_Outline_Get_Bitmap"]=function(){return(_FT_Outline_Get_Bitmap=Module["_FT_Outline_Get_Bitmap"]=Module["asm"]["FT_Outline_Get_Bitmap"]).apply(null,arguments)};var _FT_Outline_Embolden=Module["_FT_Outline_Embolden"]=function(){return(_FT_Outline_Embolden=Module["_FT_Outline_Embolden"]=Module["asm"]["FT_Outline_Embolden"]).apply(null,arguments)};var _FT_Outline_EmboldenXY=Module["_FT_Outline_EmboldenXY"]=function(){return(_FT_Outline_EmboldenXY=Module["_FT_Outline_EmboldenXY"]=Module["asm"]["FT_Outline_EmboldenXY"]).apply(null,arguments)};var _FT_Face_CheckTrueTypePatents=Module["_FT_Face_CheckTrueTypePatents"]=function(){return(_FT_Face_CheckTrueTypePatents=Module["_FT_Face_CheckTrueTypePatents"]=Module["asm"]["FT_Face_CheckTrueTypePatents"]).apply(null,arguments)};var _FT_Face_SetUnpatentedHinting=Module["_FT_Face_SetUnpatentedHinting"]=function(){return(_FT_Face_SetUnpatentedHinting=Module["_FT_Face_SetUnpatentedHinting"]=Module["asm"]["FT_Face_SetUnpatentedHinting"]).apply(null,arguments)};var _FT_Stream_EnterFrame=Module["_FT_Stream_EnterFrame"]=function(){return(_FT_Stream_EnterFrame=Module["_FT_Stream_EnterFrame"]=Module["asm"]["FT_Stream_EnterFrame"]).apply(null,arguments)};var _FT_Stream_ExitFrame=Module["_FT_Stream_ExitFrame"]=function(){return(_FT_Stream_ExitFrame=Module["_FT_Stream_ExitFrame"]=Module["asm"]["FT_Stream_ExitFrame"]).apply(null,arguments)};var _FT_Get_PFR_Metrics=Module["_FT_Get_PFR_Metrics"]=function(){return(_FT_Get_PFR_Metrics=Module["_FT_Get_PFR_Metrics"]=Module["asm"]["FT_Get_PFR_Metrics"]).apply(null,arguments)};var _FT_Get_PFR_Kerning=Module["_FT_Get_PFR_Kerning"]=function(){return(_FT_Get_PFR_Kerning=Module["_FT_Get_PFR_Kerning"]=Module["asm"]["FT_Get_PFR_Kerning"]).apply(null,arguments)};var _FT_Get_PFR_Advance=Module["_FT_Get_PFR_Advance"]=function(){return(_FT_Get_PFR_Advance=Module["_FT_Get_PFR_Advance"]=Module["asm"]["FT_Get_PFR_Advance"]).apply(null,arguments)};var _FT_Get_Sfnt_Name_Count=Module["_FT_Get_Sfnt_Name_Count"]=function(){return(_FT_Get_Sfnt_Name_Count=Module["_FT_Get_Sfnt_Name_Count"]=Module["asm"]["FT_Get_Sfnt_Name_Count"]).apply(null,arguments)};var _FT_Get_Sfnt_Name=Module["_FT_Get_Sfnt_Name"]=function(){return(_FT_Get_Sfnt_Name=Module["_FT_Get_Sfnt_Name"]=Module["asm"]["FT_Get_Sfnt_Name"]).apply(null,arguments)};var _FT_Stream_ReadAt=Module["_FT_Stream_ReadAt"]=function(){return(_FT_Stream_ReadAt=Module["_FT_Stream_ReadAt"]=Module["asm"]["FT_Stream_ReadAt"]).apply(null,arguments)};var _FT_Stream_TryRead=Module["_FT_Stream_TryRead"]=function(){return(_FT_Stream_TryRead=Module["_FT_Stream_TryRead"]=Module["asm"]["FT_Stream_TryRead"]).apply(null,arguments)};var _FT_Stream_ExtractFrame=Module["_FT_Stream_ExtractFrame"]=function(){return(_FT_Stream_ExtractFrame=Module["_FT_Stream_ExtractFrame"]=Module["asm"]["FT_Stream_ExtractFrame"]).apply(null,arguments)};var _FT_Stream_ReleaseFrame=Module["_FT_Stream_ReleaseFrame"]=function(){return(_FT_Stream_ReleaseFrame=Module["_FT_Stream_ReleaseFrame"]=Module["asm"]["FT_Stream_ReleaseFrame"]).apply(null,arguments)};var _FT_Stream_GetChar=Module["_FT_Stream_GetChar"]=function(){return(_FT_Stream_GetChar=Module["_FT_Stream_GetChar"]=Module["asm"]["FT_Stream_GetChar"]).apply(null,arguments)};var _FT_Stream_GetUShort=Module["_FT_Stream_GetUShort"]=function(){return(_FT_Stream_GetUShort=Module["_FT_Stream_GetUShort"]=Module["asm"]["FT_Stream_GetUShort"]).apply(null,arguments)};var _FT_Stream_GetUShortLE=Module["_FT_Stream_GetUShortLE"]=function(){return(_FT_Stream_GetUShortLE=Module["_FT_Stream_GetUShortLE"]=Module["asm"]["FT_Stream_GetUShortLE"]).apply(null,arguments)};var _FT_Stream_GetUOffset=Module["_FT_Stream_GetUOffset"]=function(){return(_FT_Stream_GetUOffset=Module["_FT_Stream_GetUOffset"]=Module["asm"]["FT_Stream_GetUOffset"]).apply(null,arguments)};var _FT_Stream_GetULong=Module["_FT_Stream_GetULong"]=function(){return(_FT_Stream_GetULong=Module["_FT_Stream_GetULong"]=Module["asm"]["FT_Stream_GetULong"]).apply(null,arguments)};var _FT_Stream_GetULongLE=Module["_FT_Stream_GetULongLE"]=function(){return(_FT_Stream_GetULongLE=Module["_FT_Stream_GetULongLE"]=Module["asm"]["FT_Stream_GetULongLE"]).apply(null,arguments)};var _FT_Stream_ReadChar=Module["_FT_Stream_ReadChar"]=function(){return(_FT_Stream_ReadChar=Module["_FT_Stream_ReadChar"]=Module["asm"]["FT_Stream_ReadChar"]).apply(null,arguments)};var _FT_Stream_ReadUShortLE=Module["_FT_Stream_ReadUShortLE"]=function(){return(_FT_Stream_ReadUShortLE=Module["_FT_Stream_ReadUShortLE"]=Module["asm"]["FT_Stream_ReadUShortLE"]).apply(null,arguments)};var _FT_Stream_ReadUOffset=Module["_FT_Stream_ReadUOffset"]=function(){return(_FT_Stream_ReadUOffset=Module["_FT_Stream_ReadUOffset"]=Module["asm"]["FT_Stream_ReadUOffset"]).apply(null,arguments)};var _FT_Stream_ReadULongLE=Module["_FT_Stream_ReadULongLE"]=function(){return(_FT_Stream_ReadULongLE=Module["_FT_Stream_ReadULongLE"]=Module["asm"]["FT_Stream_ReadULongLE"]).apply(null,arguments)};var _FT_Stream_ReadFields=Module["_FT_Stream_ReadFields"]=function(){return(_FT_Stream_ReadFields=Module["_FT_Stream_ReadFields"]=Module["asm"]["FT_Stream_ReadFields"]).apply(null,arguments)};var _FT_Outline_GetInsideBorder=Module["_FT_Outline_GetInsideBorder"]=function(){return(_FT_Outline_GetInsideBorder=Module["_FT_Outline_GetInsideBorder"]=Module["asm"]["FT_Outline_GetInsideBorder"]).apply(null,arguments)};var _FT_Outline_GetOutsideBorder=Module["_FT_Outline_GetOutsideBorder"]=function(){return(_FT_Outline_GetOutsideBorder=Module["_FT_Outline_GetOutsideBorder"]=Module["asm"]["FT_Outline_GetOutsideBorder"]).apply(null,arguments)};var _FT_Stroker_New=Module["_FT_Stroker_New"]=function(){return(_FT_Stroker_New=Module["_FT_Stroker_New"]=Module["asm"]["FT_Stroker_New"]).apply(null,arguments)};var _FT_Stroker_Set=Module["_FT_Stroker_Set"]=function(){return(_FT_Stroker_Set=Module["_FT_Stroker_Set"]=Module["asm"]["FT_Stroker_Set"]).apply(null,arguments)};var _FT_Stroker_Rewind=Module["_FT_Stroker_Rewind"]=function(){return(_FT_Stroker_Rewind=Module["_FT_Stroker_Rewind"]=Module["asm"]["FT_Stroker_Rewind"]).apply(null,arguments)};var _FT_Stroker_Done=Module["_FT_Stroker_Done"]=function(){return(_FT_Stroker_Done=Module["_FT_Stroker_Done"]=Module["asm"]["FT_Stroker_Done"]).apply(null,arguments)};var _FT_Stroker_LineTo=Module["_FT_Stroker_LineTo"]=function(){return(_FT_Stroker_LineTo=Module["_FT_Stroker_LineTo"]=Module["asm"]["FT_Stroker_LineTo"]).apply(null,arguments)};var _FT_Atan2=Module["_FT_Atan2"]=function(){return(_FT_Atan2=Module["_FT_Atan2"]=Module["asm"]["FT_Atan2"]).apply(null,arguments)};var _FT_Vector_From_Polar=Module["_FT_Vector_From_Polar"]=function(){return(_FT_Vector_From_Polar=Module["_FT_Vector_From_Polar"]=Module["asm"]["FT_Vector_From_Polar"]).apply(null,arguments)};var _FT_Angle_Diff=Module["_FT_Angle_Diff"]=function(){return(_FT_Angle_Diff=Module["_FT_Angle_Diff"]=Module["asm"]["FT_Angle_Diff"]).apply(null,arguments)};var _FT_Stroker_ConicTo=Module["_FT_Stroker_ConicTo"]=function(){return(_FT_Stroker_ConicTo=Module["_FT_Stroker_ConicTo"]=Module["asm"]["FT_Stroker_ConicTo"]).apply(null,arguments)};var _FT_Cos=Module["_FT_Cos"]=function(){return(_FT_Cos=Module["_FT_Cos"]=Module["asm"]["FT_Cos"]).apply(null,arguments)};var _FT_Sin=Module["_FT_Sin"]=function(){return(_FT_Sin=Module["_FT_Sin"]=Module["asm"]["FT_Sin"]).apply(null,arguments)};var _FT_Stroker_CubicTo=Module["_FT_Stroker_CubicTo"]=function(){return(_FT_Stroker_CubicTo=Module["_FT_Stroker_CubicTo"]=Module["asm"]["FT_Stroker_CubicTo"]).apply(null,arguments)};var _FT_Stroker_BeginSubPath=Module["_FT_Stroker_BeginSubPath"]=function(){return(_FT_Stroker_BeginSubPath=Module["_FT_Stroker_BeginSubPath"]=Module["asm"]["FT_Stroker_BeginSubPath"]).apply(null,arguments)};var _FT_Stroker_EndSubPath=Module["_FT_Stroker_EndSubPath"]=function(){return(_FT_Stroker_EndSubPath=Module["_FT_Stroker_EndSubPath"]=Module["asm"]["FT_Stroker_EndSubPath"]).apply(null,arguments)};var _FT_Tan=Module["_FT_Tan"]=function(){return(_FT_Tan=Module["_FT_Tan"]=Module["asm"]["FT_Tan"]).apply(null,arguments)};var _FT_Stroker_GetBorderCounts=Module["_FT_Stroker_GetBorderCounts"]=function(){return(_FT_Stroker_GetBorderCounts=Module["_FT_Stroker_GetBorderCounts"]=Module["asm"]["FT_Stroker_GetBorderCounts"]).apply(null,arguments)};var _FT_Stroker_GetCounts=Module["_FT_Stroker_GetCounts"]=function(){return(_FT_Stroker_GetCounts=Module["_FT_Stroker_GetCounts"]=Module["asm"]["FT_Stroker_GetCounts"]).apply(null,arguments)};var _FT_Stroker_ExportBorder=Module["_FT_Stroker_ExportBorder"]=function(){return(_FT_Stroker_ExportBorder=Module["_FT_Stroker_ExportBorder"]=Module["asm"]["FT_Stroker_ExportBorder"]).apply(null,arguments)};var _FT_Stroker_Export=Module["_FT_Stroker_Export"]=function(){return(_FT_Stroker_Export=Module["_FT_Stroker_Export"]=Module["asm"]["FT_Stroker_Export"]).apply(null,arguments)};var _FT_Stroker_ParseOutline=Module["_FT_Stroker_ParseOutline"]=function(){return(_FT_Stroker_ParseOutline=Module["_FT_Stroker_ParseOutline"]=Module["asm"]["FT_Stroker_ParseOutline"]).apply(null,arguments)};var _FT_Glyph_Stroke=Module["_FT_Glyph_Stroke"]=function(){return(_FT_Glyph_Stroke=Module["_FT_Glyph_Stroke"]=Module["asm"]["FT_Glyph_Stroke"]).apply(null,arguments)};var _FT_Glyph_StrokeBorder=Module["_FT_Glyph_StrokeBorder"]=function(){return(_FT_Glyph_StrokeBorder=Module["_FT_Glyph_StrokeBorder"]=Module["asm"]["FT_Glyph_StrokeBorder"]).apply(null,arguments)};var _FT_GlyphSlot_Oblique=Module["_FT_GlyphSlot_Oblique"]=function(){return(_FT_GlyphSlot_Oblique=Module["_FT_GlyphSlot_Oblique"]=Module["asm"]["FT_GlyphSlot_Oblique"]).apply(null,arguments)};var _FT_GlyphSlot_Embolden=Module["_FT_GlyphSlot_Embolden"]=function(){return(_FT_GlyphSlot_Embolden=Module["_FT_GlyphSlot_Embolden"]=Module["asm"]["FT_GlyphSlot_Embolden"]).apply(null,arguments)};var _fseek=Module["_fseek"]=function(){return(_fseek=Module["_fseek"]=Module["asm"]["fseek"]).apply(null,arguments)};var _FT_Vector_Unit=Module["_FT_Vector_Unit"]=function(){return(_FT_Vector_Unit=Module["_FT_Vector_Unit"]=Module["asm"]["FT_Vector_Unit"]).apply(null,arguments)};var _FT_Vector_Rotate=Module["_FT_Vector_Rotate"]=function(){return(_FT_Vector_Rotate=Module["_FT_Vector_Rotate"]=Module["asm"]["FT_Vector_Rotate"]).apply(null,arguments)};var _FT_Vector_Polarize=Module["_FT_Vector_Polarize"]=function(){return(_FT_Vector_Polarize=Module["_FT_Vector_Polarize"]=Module["asm"]["FT_Vector_Polarize"]).apply(null,arguments)};var _FT_Get_PS_Font_Info=Module["_FT_Get_PS_Font_Info"]=function(){return(_FT_Get_PS_Font_Info=Module["_FT_Get_PS_Font_Info"]=Module["asm"]["FT_Get_PS_Font_Info"]).apply(null,arguments)};var _FT_Has_PS_Glyph_Names=Module["_FT_Has_PS_Glyph_Names"]=function(){return(_FT_Has_PS_Glyph_Names=Module["_FT_Has_PS_Glyph_Names"]=Module["asm"]["FT_Has_PS_Glyph_Names"]).apply(null,arguments)};var _FT_Get_PS_Font_Private=Module["_FT_Get_PS_Font_Private"]=function(){return(_FT_Get_PS_Font_Private=Module["_FT_Get_PS_Font_Private"]=Module["asm"]["FT_Get_PS_Font_Private"]).apply(null,arguments)};var _FT_Get_PS_Font_Value=Module["_FT_Get_PS_Font_Value"]=function(){return(_FT_Get_PS_Font_Value=Module["_FT_Get_PS_Font_Value"]=Module["asm"]["FT_Get_PS_Font_Value"]).apply(null,arguments)};var _ft_mem_dup=Module["_ft_mem_dup"]=function(){return(_ft_mem_dup=Module["_ft_mem_dup"]=Module["asm"]["ft_mem_dup"]).apply(null,arguments)};var _ft_mem_strdup=Module["_ft_mem_strdup"]=function(){return(_ft_mem_strdup=Module["_ft_mem_strdup"]=Module["asm"]["ft_mem_strdup"]).apply(null,arguments)};var _ft_mem_strcpyn=Module["_ft_mem_strcpyn"]=function(){return(_ft_mem_strcpyn=Module["_ft_mem_strcpyn"]=Module["asm"]["ft_mem_strcpyn"]).apply(null,arguments)};var _FT_List_Insert=Module["_FT_List_Insert"]=function(){return(_FT_List_Insert=Module["_FT_List_Insert"]=Module["asm"]["FT_List_Insert"]).apply(null,arguments)};var _FT_List_Iterate=Module["_FT_List_Iterate"]=function(){return(_FT_List_Iterate=Module["_FT_List_Iterate"]=Module["asm"]["FT_List_Iterate"]).apply(null,arguments)};var _FT_Get_WinFNT_Header=Module["_FT_Get_WinFNT_Header"]=function(){return(_FT_Get_WinFNT_Header=Module["_FT_Get_WinFNT_Header"]=Module["asm"]["FT_Get_WinFNT_Header"]).apply(null,arguments)};var _FT_Stream_OpenBzip2=Module["_FT_Stream_OpenBzip2"]=function(){return(_FT_Stream_OpenBzip2=Module["_FT_Stream_OpenBzip2"]=Module["asm"]["FT_Stream_OpenBzip2"]).apply(null,arguments)};var _FTC_Manager_LookupSize=Module["_FTC_Manager_LookupSize"]=function(){return(_FTC_Manager_LookupSize=Module["_FTC_Manager_LookupSize"]=Module["asm"]["FTC_Manager_LookupSize"]).apply(null,arguments)};var _FTC_Manager_LookupFace=Module["_FTC_Manager_LookupFace"]=function(){return(_FTC_Manager_LookupFace=Module["_FTC_Manager_LookupFace"]=Module["asm"]["FTC_Manager_LookupFace"]).apply(null,arguments)};var _FTC_Manager_New=Module["_FTC_Manager_New"]=function(){return(_FTC_Manager_New=Module["_FTC_Manager_New"]=Module["asm"]["FTC_Manager_New"]).apply(null,arguments)};var _FTC_Manager_Done=Module["_FTC_Manager_Done"]=function(){return(_FTC_Manager_Done=Module["_FTC_Manager_Done"]=Module["asm"]["FTC_Manager_Done"]).apply(null,arguments)};var _FTC_Manager_Reset=Module["_FTC_Manager_Reset"]=function(){return(_FTC_Manager_Reset=Module["_FTC_Manager_Reset"]=Module["asm"]["FTC_Manager_Reset"]).apply(null,arguments)};var _FTC_Manager_RemoveFaceID=Module["_FTC_Manager_RemoveFaceID"]=function(){return(_FTC_Manager_RemoveFaceID=Module["_FTC_Manager_RemoveFaceID"]=Module["asm"]["FTC_Manager_RemoveFaceID"]).apply(null,arguments)};var _FTC_Node_Unref=Module["_FTC_Node_Unref"]=function(){return(_FTC_Node_Unref=Module["_FTC_Node_Unref"]=Module["asm"]["FTC_Node_Unref"]).apply(null,arguments)};var _FTC_CMapCache_New=Module["_FTC_CMapCache_New"]=function(){return(_FTC_CMapCache_New=Module["_FTC_CMapCache_New"]=Module["asm"]["FTC_CMapCache_New"]).apply(null,arguments)};var _FTC_CMapCache_Lookup=Module["_FTC_CMapCache_Lookup"]=function(){return(_FTC_CMapCache_Lookup=Module["_FTC_CMapCache_Lookup"]=Module["asm"]["FTC_CMapCache_Lookup"]).apply(null,arguments)};var _FTC_ImageCache_New=Module["_FTC_ImageCache_New"]=function(){return(_FTC_ImageCache_New=Module["_FTC_ImageCache_New"]=Module["asm"]["FTC_ImageCache_New"]).apply(null,arguments)};var _FTC_ImageCache_Lookup=Module["_FTC_ImageCache_Lookup"]=function(){return(_FTC_ImageCache_Lookup=Module["_FTC_ImageCache_Lookup"]=Module["asm"]["FTC_ImageCache_Lookup"]).apply(null,arguments)};var _FTC_ImageCache_LookupScaler=Module["_FTC_ImageCache_LookupScaler"]=function(){return(_FTC_ImageCache_LookupScaler=Module["_FTC_ImageCache_LookupScaler"]=Module["asm"]["FTC_ImageCache_LookupScaler"]).apply(null,arguments)};var _FTC_SBitCache_New=Module["_FTC_SBitCache_New"]=function(){return(_FTC_SBitCache_New=Module["_FTC_SBitCache_New"]=Module["asm"]["FTC_SBitCache_New"]).apply(null,arguments)};var _FTC_SBitCache_Lookup=Module["_FTC_SBitCache_Lookup"]=function(){return(_FTC_SBitCache_Lookup=Module["_FTC_SBitCache_Lookup"]=Module["asm"]["FTC_SBitCache_Lookup"]).apply(null,arguments)};var _FTC_SBitCache_LookupScaler=Module["_FTC_SBitCache_LookupScaler"]=function(){return(_FTC_SBitCache_LookupScaler=Module["_FTC_SBitCache_LookupScaler"]=Module["asm"]["FTC_SBitCache_LookupScaler"]).apply(null,arguments)};var _atol=Module["_atol"]=function(){return(_atol=Module["_atol"]=Module["asm"]["atol"]).apply(null,arguments)};var _FT_Stream_OpenGzip=Module["_FT_Stream_OpenGzip"]=function(){return(_FT_Stream_OpenGzip=Module["_FT_Stream_OpenGzip"]=Module["asm"]["FT_Stream_OpenGzip"]).apply(null,arguments)};var _FT_Gzip_Uncompress=Module["_FT_Gzip_Uncompress"]=function(){return(_FT_Gzip_Uncompress=Module["_FT_Gzip_Uncompress"]=Module["asm"]["FT_Gzip_Uncompress"]).apply(null,arguments)};var _FT_Stream_OpenLZW=Module["_FT_Stream_OpenLZW"]=function(){return(_FT_Stream_OpenLZW=Module["_FT_Stream_OpenLZW"]=Module["asm"]["FT_Stream_OpenLZW"]).apply(null,arguments)};var _ft_lzwstate_io=Module["_ft_lzwstate_io"]=function(){return(_ft_lzwstate_io=Module["_ft_lzwstate_io"]=Module["asm"]["ft_lzwstate_io"]).apply(null,arguments)};var _ft_lzwstate_reset=Module["_ft_lzwstate_reset"]=function(){return(_ft_lzwstate_reset=Module["_ft_lzwstate_reset"]=Module["asm"]["ft_lzwstate_reset"]).apply(null,arguments)};var _ft_lzwstate_init=Module["_ft_lzwstate_init"]=function(){return(_ft_lzwstate_init=Module["_ft_lzwstate_init"]=Module["asm"]["ft_lzwstate_init"]).apply(null,arguments)};var _ft_lzwstate_done=Module["_ft_lzwstate_done"]=function(){return(_ft_lzwstate_done=Module["_ft_lzwstate_done"]=Module["asm"]["ft_lzwstate_done"]).apply(null,arguments)};var _ps_hints_apply=Module["_ps_hints_apply"]=function(){return(_ps_hints_apply=Module["_ps_hints_apply"]=Module["asm"]["ps_hints_apply"]).apply(null,arguments)};var _TT_New_Context=Module["_TT_New_Context"]=function(){return(_TT_New_Context=Module["_TT_New_Context"]=Module["asm"]["TT_New_Context"]).apply(null,arguments)};var _TT_RunIns=Module["_TT_RunIns"]=function(){return(_TT_RunIns=Module["_TT_RunIns"]=Module["asm"]["TT_RunIns"]).apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return(_emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=Module["asm"]["emscripten_GetProcAddress"]).apply(null,arguments)};var _emscripten_webgl1_get_proc_address=Module["_emscripten_webgl1_get_proc_address"]=function(){return(_emscripten_webgl1_get_proc_address=Module["_emscripten_webgl1_get_proc_address"]=Module["asm"]["emscripten_webgl1_get_proc_address"]).apply(null,arguments)};var __webgl1_match_ext_proc_address_without_suffix=Module["__webgl1_match_ext_proc_address_without_suffix"]=function(){return(__webgl1_match_ext_proc_address_without_suffix=Module["__webgl1_match_ext_proc_address_without_suffix"]=Module["asm"]["_webgl1_match_ext_proc_address_without_suffix"]).apply(null,arguments)};var _emscripten_webgl_get_proc_address=Module["_emscripten_webgl_get_proc_address"]=function(){return(_emscripten_webgl_get_proc_address=Module["_emscripten_webgl_get_proc_address"]=Module["asm"]["emscripten_webgl_get_proc_address"]).apply(null,arguments)};var _SDL_GL_GetProcAddress=Module["_SDL_GL_GetProcAddress"]=function(){return(_SDL_GL_GetProcAddress=Module["_SDL_GL_GetProcAddress"]=Module["asm"]["SDL_GL_GetProcAddress"]).apply(null,arguments)};var _eglGetProcAddress=Module["_eglGetProcAddress"]=function(){return(_eglGetProcAddress=Module["_eglGetProcAddress"]=Module["asm"]["eglGetProcAddress"]).apply(null,arguments)};var _glfwGetProcAddress=Module["_glfwGetProcAddress"]=function(){return(_glfwGetProcAddress=Module["_glfwGetProcAddress"]=Module["asm"]["glfwGetProcAddress"]).apply(null,arguments)};var _alcGetProcAddress=Module["_alcGetProcAddress"]=function(){return(_alcGetProcAddress=Module["_alcGetProcAddress"]=Module["asm"]["alcGetProcAddress"]).apply(null,arguments)};var _alGetProcAddress=Module["_alGetProcAddress"]=function(){return(_alGetProcAddress=Module["_alGetProcAddress"]=Module["asm"]["alGetProcAddress"]).apply(null,arguments)};var _emscripten_compute_dom_pk_code=Module["_emscripten_compute_dom_pk_code"]=function(){return(_emscripten_compute_dom_pk_code=Module["_emscripten_compute_dom_pk_code"]=Module["asm"]["emscripten_compute_dom_pk_code"]).apply(null,arguments)};var _emscripten_dom_pk_code_to_string=Module["_emscripten_dom_pk_code_to_string"]=function(){return(_emscripten_dom_pk_code_to_string=Module["_emscripten_dom_pk_code_to_string"]=Module["asm"]["emscripten_dom_pk_code_to_string"]).apply(null,arguments)};var _emscripten_dom_vk_to_string=Module["_emscripten_dom_vk_to_string"]=function(){return(_emscripten_dom_vk_to_string=Module["_emscripten_dom_vk_to_string"]=Module["asm"]["emscripten_dom_vk_to_string"]).apply(null,arguments)};var ___pthread_self=Module["___pthread_self"]=function(){return(___pthread_self=Module["___pthread_self"]=Module["asm"]["__pthread_self"]).apply(null,arguments)};var _thrd_current=Module["_thrd_current"]=function(){return(_thrd_current=Module["_thrd_current"]=Module["asm"]["thrd_current"]).apply(null,arguments)};var __pthread_cleanup_push=Module["__pthread_cleanup_push"]=function(){return(__pthread_cleanup_push=Module["__pthread_cleanup_push"]=Module["asm"]["_pthread_cleanup_push"]).apply(null,arguments)};var ___do_cleanup_push=Module["___do_cleanup_push"]=function(){return(___do_cleanup_push=Module["___do_cleanup_push"]=Module["asm"]["__do_cleanup_push"]).apply(null,arguments)};var __pthread_cleanup_pop=Module["__pthread_cleanup_pop"]=function(){return(__pthread_cleanup_pop=Module["__pthread_cleanup_pop"]=Module["asm"]["_pthread_cleanup_pop"]).apply(null,arguments)};var ___do_cleanup_pop=Module["___do_cleanup_pop"]=function(){return(___do_cleanup_pop=Module["___do_cleanup_pop"]=Module["asm"]["__do_cleanup_pop"]).apply(null,arguments)};var _call_once=Module["_call_once"]=function(){return(_call_once=Module["_call_once"]=Module["asm"]["call_once"]).apply(null,arguments)};var ___pthread_once=Module["___pthread_once"]=function(){return(___pthread_once=Module["___pthread_once"]=Module["asm"]["__pthread_once"]).apply(null,arguments)};var _tss_create=Module["_tss_create"]=function(){return(_tss_create=Module["_tss_create"]=Module["asm"]["tss_create"]).apply(null,arguments)};var ___pthread_key_create=Module["___pthread_key_create"]=function(){return(___pthread_key_create=Module["___pthread_key_create"]=Module["asm"]["__pthread_key_create"]).apply(null,arguments)};var _tss_delete=Module["_tss_delete"]=function(){return(_tss_delete=Module["_tss_delete"]=Module["asm"]["tss_delete"]).apply(null,arguments)};var ___pthread_key_delete=Module["___pthread_key_delete"]=function(){return(___pthread_key_delete=Module["___pthread_key_delete"]=Module["asm"]["__pthread_key_delete"]).apply(null,arguments)};var _tss_set=Module["_tss_set"]=function(){return(_tss_set=Module["_tss_set"]=Module["asm"]["tss_set"]).apply(null,arguments)};var _cnd_broadcast=Module["_cnd_broadcast"]=function(){return(_cnd_broadcast=Module["_cnd_broadcast"]=Module["asm"]["cnd_broadcast"]).apply(null,arguments)};var ___private_cond_signal=Module["___private_cond_signal"]=function(){return(___private_cond_signal=Module["___private_cond_signal"]=Module["asm"]["__private_cond_signal"]).apply(null,arguments)};var _cnd_destroy=Module["_cnd_destroy"]=function(){return(_cnd_destroy=Module["_cnd_destroy"]=Module["asm"]["cnd_destroy"]).apply(null,arguments)};var _cnd_init=Module["_cnd_init"]=function(){return(_cnd_init=Module["_cnd_init"]=Module["asm"]["cnd_init"]).apply(null,arguments)};var _cnd_signal=Module["_cnd_signal"]=function(){return(_cnd_signal=Module["_cnd_signal"]=Module["asm"]["cnd_signal"]).apply(null,arguments)};var _cnd_timedwait=Module["_cnd_timedwait"]=function(){return(_cnd_timedwait=Module["_cnd_timedwait"]=Module["asm"]["cnd_timedwait"]).apply(null,arguments)};var ___pthread_cond_timedwait=Module["___pthread_cond_timedwait"]=function(){return(___pthread_cond_timedwait=Module["___pthread_cond_timedwait"]=Module["asm"]["__pthread_cond_timedwait"]).apply(null,arguments)};var _cnd_wait=Module["_cnd_wait"]=function(){return(_cnd_wait=Module["_cnd_wait"]=Module["asm"]["cnd_wait"]).apply(null,arguments)};var _mtx_destroy=Module["_mtx_destroy"]=function(){return(_mtx_destroy=Module["_mtx_destroy"]=Module["asm"]["mtx_destroy"]).apply(null,arguments)};var _mtx_init=Module["_mtx_init"]=function(){return(_mtx_init=Module["_mtx_init"]=Module["asm"]["mtx_init"]).apply(null,arguments)};var _mtx_lock=Module["_mtx_lock"]=function(){return(_mtx_lock=Module["_mtx_lock"]=Module["asm"]["mtx_lock"]).apply(null,arguments)};var _mtx_timedlock=Module["_mtx_timedlock"]=function(){return(_mtx_timedlock=Module["_mtx_timedlock"]=Module["asm"]["mtx_timedlock"]).apply(null,arguments)};var ___pthread_mutex_timedlock=Module["___pthread_mutex_timedlock"]=function(){return(___pthread_mutex_timedlock=Module["___pthread_mutex_timedlock"]=Module["asm"]["__pthread_mutex_timedlock"]).apply(null,arguments)};var _mtx_trylock=Module["_mtx_trylock"]=function(){return(_mtx_trylock=Module["_mtx_trylock"]=Module["asm"]["mtx_trylock"]).apply(null,arguments)};var ___pthread_mutex_trylock=Module["___pthread_mutex_trylock"]=function(){return(___pthread_mutex_trylock=Module["___pthread_mutex_trylock"]=Module["asm"]["__pthread_mutex_trylock"]).apply(null,arguments)};var _mtx_unlock=Module["_mtx_unlock"]=function(){return(_mtx_unlock=Module["_mtx_unlock"]=Module["asm"]["mtx_unlock"]).apply(null,arguments)};var ___pthread_mutex_unlock=Module["___pthread_mutex_unlock"]=function(){return(___pthread_mutex_unlock=Module["___pthread_mutex_unlock"]=Module["asm"]["__pthread_mutex_unlock"]).apply(null,arguments)};var _thrd_create=Module["_thrd_create"]=function(){return(_thrd_create=Module["_thrd_create"]=Module["asm"]["thrd_create"]).apply(null,arguments)};var ___pthread_create=Module["___pthread_create"]=function(){return(___pthread_create=Module["___pthread_create"]=Module["asm"]["__pthread_create"]).apply(null,arguments)};var _thrd_exit=Module["_thrd_exit"]=function(){return(_thrd_exit=Module["_thrd_exit"]=Module["asm"]["thrd_exit"]).apply(null,arguments)};var ___pthread_exit=Module["___pthread_exit"]=function(){return(___pthread_exit=Module["___pthread_exit"]=Module["asm"]["__pthread_exit"]).apply(null,arguments)};var _thrd_join=Module["_thrd_join"]=function(){return(_thrd_join=Module["_thrd_join"]=Module["asm"]["thrd_join"]).apply(null,arguments)};var ___pthread_join=Module["___pthread_join"]=function(){return(___pthread_join=Module["___pthread_join"]=Module["asm"]["__pthread_join"]).apply(null,arguments)};var _thrd_sleep=Module["_thrd_sleep"]=function(){return(_thrd_sleep=Module["_thrd_sleep"]=Module["asm"]["thrd_sleep"]).apply(null,arguments)};var _nanosleep=Module["_nanosleep"]=function(){return(_nanosleep=Module["_nanosleep"]=Module["asm"]["nanosleep"]).apply(null,arguments)};var _thrd_yield=Module["_thrd_yield"]=function(){return(_thrd_yield=Module["_thrd_yield"]=Module["asm"]["thrd_yield"]).apply(null,arguments)};var _emscripten_has_threading_support=Module["_emscripten_has_threading_support"]=function(){return(_emscripten_has_threading_support=Module["_emscripten_has_threading_support"]=Module["asm"]["emscripten_has_threading_support"]).apply(null,arguments)};var _emscripten_num_logical_cores=Module["_emscripten_num_logical_cores"]=function(){return(_emscripten_num_logical_cores=Module["_emscripten_num_logical_cores"]=Module["asm"]["emscripten_num_logical_cores"]).apply(null,arguments)};var _emscripten_force_num_logical_cores=Module["_emscripten_force_num_logical_cores"]=function(){return(_emscripten_force_num_logical_cores=Module["_emscripten_force_num_logical_cores"]=Module["asm"]["emscripten_force_num_logical_cores"]).apply(null,arguments)};var _emscripten_futex_wait=Module["_emscripten_futex_wait"]=function(){return(_emscripten_futex_wait=Module["_emscripten_futex_wait"]=Module["asm"]["emscripten_futex_wait"]).apply(null,arguments)};var _emscripten_futex_wake=Module["_emscripten_futex_wake"]=function(){return(_emscripten_futex_wake=Module["_emscripten_futex_wake"]=Module["asm"]["emscripten_futex_wake"]).apply(null,arguments)};var _emscripten_is_main_runtime_thread=Module["_emscripten_is_main_runtime_thread"]=function(){return(_emscripten_is_main_runtime_thread=Module["_emscripten_is_main_runtime_thread"]=Module["asm"]["emscripten_is_main_runtime_thread"]).apply(null,arguments)};var _emscripten_main_thread_process_queued_calls=Module["_emscripten_main_thread_process_queued_calls"]=function(){return(_emscripten_main_thread_process_queued_calls=Module["_emscripten_main_thread_process_queued_calls"]=Module["asm"]["emscripten_main_thread_process_queued_calls"]).apply(null,arguments)};var _emscripten_current_thread_process_queued_calls=Module["_emscripten_current_thread_process_queued_calls"]=function(){return(_emscripten_current_thread_process_queued_calls=Module["_emscripten_current_thread_process_queued_calls"]=Module["asm"]["emscripten_current_thread_process_queued_calls"]).apply(null,arguments)};var ___pthread_mutex_lock=Module["___pthread_mutex_lock"]=function(){return(___pthread_mutex_lock=Module["___pthread_mutex_lock"]=Module["asm"]["__pthread_mutex_lock"]).apply(null,arguments)};var _pthread_mutex_consistent=Module["_pthread_mutex_consistent"]=function(){return(_pthread_mutex_consistent=Module["_pthread_mutex_consistent"]=Module["asm"]["pthread_mutex_consistent"]).apply(null,arguments)};var _pthread_barrier_init=Module["_pthread_barrier_init"]=function(){return(_pthread_barrier_init=Module["_pthread_barrier_init"]=Module["asm"]["pthread_barrier_init"]).apply(null,arguments)};var _pthread_barrier_destroy=Module["_pthread_barrier_destroy"]=function(){return(_pthread_barrier_destroy=Module["_pthread_barrier_destroy"]=Module["asm"]["pthread_barrier_destroy"]).apply(null,arguments)};var _pthread_barrier_wait=Module["_pthread_barrier_wait"]=function(){return(_pthread_barrier_wait=Module["_pthread_barrier_wait"]=Module["asm"]["pthread_barrier_wait"]).apply(null,arguments)};var _pthread_cond_broadcast=Module["_pthread_cond_broadcast"]=function(){return(_pthread_cond_broadcast=Module["_pthread_cond_broadcast"]=Module["asm"]["pthread_cond_broadcast"]).apply(null,arguments)};var _pthread_atfork=Module["_pthread_atfork"]=function(){return(_pthread_atfork=Module["_pthread_atfork"]=Module["asm"]["pthread_atfork"]).apply(null,arguments)};var _pthread_cancel=Module["_pthread_cancel"]=function(){return(_pthread_cancel=Module["_pthread_cancel"]=Module["asm"]["pthread_cancel"]).apply(null,arguments)};var ___pthread_detach=Module["___pthread_detach"]=function(){return(___pthread_detach=Module["___pthread_detach"]=Module["asm"]["__pthread_detach"]).apply(null,arguments)};var _emscripten_main_browser_thread_id=Module["_emscripten_main_browser_thread_id"]=function(){return(_emscripten_main_browser_thread_id=Module["_emscripten_main_browser_thread_id"]=Module["asm"]["emscripten_main_browser_thread_id"]).apply(null,arguments)};var _pthread_equal=Module["_pthread_equal"]=function(){return(_pthread_equal=Module["_pthread_equal"]=Module["asm"]["pthread_equal"]).apply(null,arguments)};var _pthread_mutexattr_setprotocol=Module["_pthread_mutexattr_setprotocol"]=function(){return(_pthread_mutexattr_setprotocol=Module["_pthread_mutexattr_setprotocol"]=Module["asm"]["pthread_mutexattr_setprotocol"]).apply(null,arguments)};var _pthread_mutexattr_setpshared=Module["_pthread_mutexattr_setpshared"]=function(){return(_pthread_mutexattr_setpshared=Module["_pthread_mutexattr_setpshared"]=Module["asm"]["pthread_mutexattr_setpshared"]).apply(null,arguments)};var _pthread_condattr_destroy=Module["_pthread_condattr_destroy"]=function(){return(_pthread_condattr_destroy=Module["_pthread_condattr_destroy"]=Module["asm"]["pthread_condattr_destroy"]).apply(null,arguments)};var _pthread_condattr_setpshared=Module["_pthread_condattr_setpshared"]=function(){return(_pthread_condattr_setpshared=Module["_pthread_condattr_setpshared"]=Module["asm"]["pthread_condattr_setpshared"]).apply(null,arguments)};var _pthread_condattr_getclock=Module["_pthread_condattr_getclock"]=function(){return(_pthread_condattr_getclock=Module["_pthread_condattr_getclock"]=Module["asm"]["pthread_condattr_getclock"]).apply(null,arguments)};var _pthread_condattr_getpshared=Module["_pthread_condattr_getpshared"]=function(){return(_pthread_condattr_getpshared=Module["_pthread_condattr_getpshared"]=Module["asm"]["pthread_condattr_getpshared"]).apply(null,arguments)};var _pthread_getattr_np=Module["_pthread_getattr_np"]=function(){return(_pthread_getattr_np=Module["_pthread_getattr_np"]=Module["asm"]["pthread_getattr_np"]).apply(null,arguments)};var _pthread_attr_getdetachstate=Module["_pthread_attr_getdetachstate"]=function(){return(_pthread_attr_getdetachstate=Module["_pthread_attr_getdetachstate"]=Module["asm"]["pthread_attr_getdetachstate"]).apply(null,arguments)};var _pthread_attr_getstack=Module["_pthread_attr_getstack"]=function(){return(_pthread_attr_getstack=Module["_pthread_attr_getstack"]=Module["asm"]["pthread_attr_getstack"]).apply(null,arguments)};var _emscripten_stack_get_base=Module["_emscripten_stack_get_base"]=function(){return(_emscripten_stack_get_base=Module["_emscripten_stack_get_base"]=Module["asm"]["emscripten_stack_get_base"]).apply(null,arguments)};var _emscripten_stack_get_end=Module["_emscripten_stack_get_end"]=function(){return(_emscripten_stack_get_end=Module["_emscripten_stack_get_end"]=Module["asm"]["emscripten_stack_get_end"]).apply(null,arguments)};var _pthread_setcancelstate=Module["_pthread_setcancelstate"]=function(){return(_pthread_setcancelstate=Module["_pthread_setcancelstate"]=Module["asm"]["pthread_setcancelstate"]).apply(null,arguments)};var _pthread_setcanceltype=Module["_pthread_setcanceltype"]=function(){return(_pthread_setcanceltype=Module["_pthread_setcanceltype"]=Module["asm"]["pthread_setcanceltype"]).apply(null,arguments)};var _pthread_rwlock_init=Module["_pthread_rwlock_init"]=function(){return(_pthread_rwlock_init=Module["_pthread_rwlock_init"]=Module["asm"]["pthread_rwlock_init"]).apply(null,arguments)};var _pthread_rwlock_destroy=Module["_pthread_rwlock_destroy"]=function(){return(_pthread_rwlock_destroy=Module["_pthread_rwlock_destroy"]=Module["asm"]["pthread_rwlock_destroy"]).apply(null,arguments)};var _pthread_rwlock_rdlock=Module["_pthread_rwlock_rdlock"]=function(){return(_pthread_rwlock_rdlock=Module["_pthread_rwlock_rdlock"]=Module["asm"]["pthread_rwlock_rdlock"]).apply(null,arguments)};var _pthread_rwlock_tryrdlock=Module["_pthread_rwlock_tryrdlock"]=function(){return(_pthread_rwlock_tryrdlock=Module["_pthread_rwlock_tryrdlock"]=Module["asm"]["pthread_rwlock_tryrdlock"]).apply(null,arguments)};var _pthread_rwlock_timedrdlock=Module["_pthread_rwlock_timedrdlock"]=function(){return(_pthread_rwlock_timedrdlock=Module["_pthread_rwlock_timedrdlock"]=Module["asm"]["pthread_rwlock_timedrdlock"]).apply(null,arguments)};var _pthread_rwlock_wrlock=Module["_pthread_rwlock_wrlock"]=function(){return(_pthread_rwlock_wrlock=Module["_pthread_rwlock_wrlock"]=Module["asm"]["pthread_rwlock_wrlock"]).apply(null,arguments)};var _pthread_rwlock_trywrlock=Module["_pthread_rwlock_trywrlock"]=function(){return(_pthread_rwlock_trywrlock=Module["_pthread_rwlock_trywrlock"]=Module["asm"]["pthread_rwlock_trywrlock"]).apply(null,arguments)};var _pthread_rwlock_timedwrlock=Module["_pthread_rwlock_timedwrlock"]=function(){return(_pthread_rwlock_timedwrlock=Module["_pthread_rwlock_timedwrlock"]=Module["asm"]["pthread_rwlock_timedwrlock"]).apply(null,arguments)};var _pthread_rwlock_unlock=Module["_pthread_rwlock_unlock"]=function(){return(_pthread_rwlock_unlock=Module["_pthread_rwlock_unlock"]=Module["asm"]["pthread_rwlock_unlock"]).apply(null,arguments)};var _pthread_rwlockattr_init=Module["_pthread_rwlockattr_init"]=function(){return(_pthread_rwlockattr_init=Module["_pthread_rwlockattr_init"]=Module["asm"]["pthread_rwlockattr_init"]).apply(null,arguments)};var _pthread_rwlockattr_destroy=Module["_pthread_rwlockattr_destroy"]=function(){return(_pthread_rwlockattr_destroy=Module["_pthread_rwlockattr_destroy"]=Module["asm"]["pthread_rwlockattr_destroy"]).apply(null,arguments)};var _pthread_rwlockattr_setpshared=Module["_pthread_rwlockattr_setpshared"]=function(){return(_pthread_rwlockattr_setpshared=Module["_pthread_rwlockattr_setpshared"]=Module["asm"]["pthread_rwlockattr_setpshared"]).apply(null,arguments)};var _pthread_rwlockattr_getpshared=Module["_pthread_rwlockattr_getpshared"]=function(){return(_pthread_rwlockattr_getpshared=Module["_pthread_rwlockattr_getpshared"]=Module["asm"]["pthread_rwlockattr_getpshared"]).apply(null,arguments)};var _pthread_spin_init=Module["_pthread_spin_init"]=function(){return(_pthread_spin_init=Module["_pthread_spin_init"]=Module["asm"]["pthread_spin_init"]).apply(null,arguments)};var _pthread_spin_destroy=Module["_pthread_spin_destroy"]=function(){return(_pthread_spin_destroy=Module["_pthread_spin_destroy"]=Module["asm"]["pthread_spin_destroy"]).apply(null,arguments)};var _pthread_spin_lock=Module["_pthread_spin_lock"]=function(){return(_pthread_spin_lock=Module["_pthread_spin_lock"]=Module["asm"]["pthread_spin_lock"]).apply(null,arguments)};var _pthread_spin_trylock=Module["_pthread_spin_trylock"]=function(){return(_pthread_spin_trylock=Module["_pthread_spin_trylock"]=Module["asm"]["pthread_spin_trylock"]).apply(null,arguments)};var _pthread_spin_unlock=Module["_pthread_spin_unlock"]=function(){return(_pthread_spin_unlock=Module["_pthread_spin_unlock"]=Module["asm"]["pthread_spin_unlock"]).apply(null,arguments)};var _pthread_attr_setdetachstate=Module["_pthread_attr_setdetachstate"]=function(){return(_pthread_attr_setdetachstate=Module["_pthread_attr_setdetachstate"]=Module["asm"]["pthread_attr_setdetachstate"]).apply(null,arguments)};var _pthread_attr_setschedparam=Module["_pthread_attr_setschedparam"]=function(){return(_pthread_attr_setschedparam=Module["_pthread_attr_setschedparam"]=Module["asm"]["pthread_attr_setschedparam"]).apply(null,arguments)};var _sem_init=Module["_sem_init"]=function(){return(_sem_init=Module["_sem_init"]=Module["asm"]["sem_init"]).apply(null,arguments)};var _sem_post=Module["_sem_post"]=function(){return(_sem_post=Module["_sem_post"]=Module["asm"]["sem_post"]).apply(null,arguments)};var _sem_wait=Module["_sem_wait"]=function(){return(_sem_wait=Module["_sem_wait"]=Module["asm"]["sem_wait"]).apply(null,arguments)};var _sem_trywait=Module["_sem_trywait"]=function(){return(_sem_trywait=Module["_sem_trywait"]=Module["asm"]["sem_trywait"]).apply(null,arguments)};var _sem_destroy=Module["_sem_destroy"]=function(){return(_sem_destroy=Module["_sem_destroy"]=Module["asm"]["sem_destroy"]).apply(null,arguments)};var ___wait=Module["___wait"]=function(){return(___wait=Module["___wait"]=Module["asm"]["__wait"]).apply(null,arguments)};var _pthread_mutex_timedlock=Module["_pthread_mutex_timedlock"]=function(){return(_pthread_mutex_timedlock=Module["_pthread_mutex_timedlock"]=Module["asm"]["pthread_mutex_timedlock"]).apply(null,arguments)};var _emscripten_builtin_pthread_create=Module["_emscripten_builtin_pthread_create"]=function(){return(_emscripten_builtin_pthread_create=Module["_emscripten_builtin_pthread_create"]=Module["asm"]["emscripten_builtin_pthread_create"]).apply(null,arguments)};var _emscripten_builtin_pthread_join=Module["_emscripten_builtin_pthread_join"]=function(){return(_emscripten_builtin_pthread_join=Module["_emscripten_builtin_pthread_join"]=Module["asm"]["emscripten_builtin_pthread_join"]).apply(null,arguments)};var _pthread_once=Module["_pthread_once"]=function(){return(_pthread_once=Module["_pthread_once"]=Module["asm"]["pthread_once"]).apply(null,arguments)};var _emscripten_builtin_pthread_detach=Module["_emscripten_builtin_pthread_detach"]=function(){return(_emscripten_builtin_pthread_detach=Module["_emscripten_builtin_pthread_detach"]=Module["asm"]["emscripten_builtin_pthread_detach"]).apply(null,arguments)};var _thrd_detach=Module["_thrd_detach"]=function(){return(_thrd_detach=Module["_thrd_detach"]=Module["asm"]["thrd_detach"]).apply(null,arguments)};var ___syscall_ret=Module["___syscall_ret"]=function(){return(___syscall_ret=Module["___syscall_ret"]=Module["asm"]["__syscall_ret"]).apply(null,arguments)};var ___futimesat=Module["___futimesat"]=function(){return(___futimesat=Module["___futimesat"]=Module["asm"]["__futimesat"]).apply(null,arguments)};var _utimensat=Module["_utimensat"]=function(){return(_utimensat=Module["_utimensat"]=Module["asm"]["utimensat"]).apply(null,arguments)};var ___statfs=Module["___statfs"]=function(){return(___statfs=Module["___statfs"]=Module["asm"]["__statfs"]).apply(null,arguments)};var ___fstatfs=Module["___fstatfs"]=function(){return(___fstatfs=Module["___fstatfs"]=Module["asm"]["__fstatfs"]).apply(null,arguments)};var _statfs=Module["_statfs"]=function(){return(_statfs=Module["_statfs"]=Module["asm"]["statfs"]).apply(null,arguments)};var _fstatfs=Module["_fstatfs"]=function(){return(_fstatfs=Module["_fstatfs"]=Module["asm"]["fstatfs"]).apply(null,arguments)};var _statvfs64=Module["_statvfs64"]=function(){return(_statvfs64=Module["_statvfs64"]=Module["asm"]["statvfs64"]).apply(null,arguments)};var _statfs64=Module["_statfs64"]=function(){return(_statfs64=Module["_statfs64"]=Module["asm"]["statfs64"]).apply(null,arguments)};var _fstatvfs64=Module["_fstatvfs64"]=function(){return(_fstatvfs64=Module["_fstatvfs64"]=Module["asm"]["fstatvfs64"]).apply(null,arguments)};var _fstatfs64=Module["_fstatfs64"]=function(){return(_fstatfs64=Module["_fstatfs64"]=Module["asm"]["fstatfs64"]).apply(null,arguments)};var ___wasi_fd_is_valid=Module["___wasi_fd_is_valid"]=function(){return(___wasi_fd_is_valid=Module["___wasi_fd_is_valid"]=Module["asm"]["__wasi_fd_is_valid"]).apply(null,arguments)};var ___procfdname=Module["___procfdname"]=function(){return(___procfdname=Module["___procfdname"]=Module["asm"]["__procfdname"]).apply(null,arguments)};var _lstat64=Module["_lstat64"]=function(){return(_lstat64=Module["_lstat64"]=Module["asm"]["lstat64"]).apply(null,arguments)};var ___fxstat=Module["___fxstat"]=function(){return(___fxstat=Module["___fxstat"]=Module["asm"]["__fxstat"]).apply(null,arguments)};var ___fxstatat=Module["___fxstatat"]=function(){return(___fxstatat=Module["___fxstatat"]=Module["asm"]["__fxstatat"]).apply(null,arguments)};var ___lxstat=Module["___lxstat"]=function(){return(___lxstat=Module["___lxstat"]=Module["asm"]["__lxstat"]).apply(null,arguments)};var ___xstat=Module["___xstat"]=function(){return(___xstat=Module["___xstat"]=Module["asm"]["__xstat"]).apply(null,arguments)};var ___xmknod=Module["___xmknod"]=function(){return(___xmknod=Module["___xmknod"]=Module["asm"]["__xmknod"]).apply(null,arguments)};var ___xmknodat=Module["___xmknodat"]=function(){return(___xmknodat=Module["___xmknodat"]=Module["asm"]["__xmknodat"]).apply(null,arguments)};var ___fxstat64=Module["___fxstat64"]=function(){return(___fxstat64=Module["___fxstat64"]=Module["asm"]["__fxstat64"]).apply(null,arguments)};var ___fxstatat64=Module["___fxstatat64"]=function(){return(___fxstatat64=Module["___fxstatat64"]=Module["asm"]["__fxstatat64"]).apply(null,arguments)};var ___lxstat64=Module["___lxstat64"]=function(){return(___lxstat64=Module["___lxstat64"]=Module["asm"]["__lxstat64"]).apply(null,arguments)};var ___xstat64=Module["___xstat64"]=function(){return(___xstat64=Module["___xstat64"]=Module["asm"]["__xstat64"]).apply(null,arguments)};var _mkdirat=Module["_mkdirat"]=function(){return(_mkdirat=Module["_mkdirat"]=Module["asm"]["mkdirat"]).apply(null,arguments)};var _stat64=Module["_stat64"]=function(){return(_stat64=Module["_stat64"]=Module["asm"]["stat64"]).apply(null,arguments)};var _fchmodat=Module["_fchmodat"]=function(){return(_fchmodat=Module["_fchmodat"]=Module["asm"]["fchmodat"]).apply(null,arguments)};var _fstatat64=Module["_fstatat64"]=function(){return(_fstatat64=Module["_fstatat64"]=Module["asm"]["fstatat64"]).apply(null,arguments)};var _fstat64=Module["_fstat64"]=function(){return(_fstat64=Module["_fstat64"]=Module["asm"]["fstat64"]).apply(null,arguments)};var _creat=Module["_creat"]=function(){return(_creat=Module["_creat"]=Module["asm"]["creat"]).apply(null,arguments)};var _creat64=Module["_creat64"]=function(){return(_creat64=Module["_creat64"]=Module["asm"]["creat64"]).apply(null,arguments)};var _open64=Module["_open64"]=function(){return(_open64=Module["_open64"]=Module["asm"]["open64"]).apply(null,arguments)};var _posix_fallocate64=Module["_posix_fallocate64"]=function(){return(_posix_fallocate64=Module["_posix_fallocate64"]=Module["asm"]["posix_fallocate64"]).apply(null,arguments)};var _posix_fadvise64=Module["_posix_fadvise64"]=function(){return(_posix_fadvise64=Module["_posix_fadvise64"]=Module["asm"]["posix_fadvise64"]).apply(null,arguments)};var _openat=Module["_openat"]=function(){return(_openat=Module["_openat"]=Module["asm"]["openat"]).apply(null,arguments)};var _openat64=Module["_openat64"]=function(){return(_openat64=Module["_openat64"]=Module["asm"]["openat64"]).apply(null,arguments)};var _cexpl=Module["_cexpl"]=function(){return(_cexpl=Module["_cexpl"]=Module["asm"]["cexpl"]).apply(null,arguments)};var _cexp=Module["_cexp"]=function(){return(_cexp=Module["_cexp"]=Module["asm"]["cexp"]).apply(null,arguments)};var _csin=Module["_csin"]=function(){return(_csin=Module["_csin"]=Module["asm"]["csin"]).apply(null,arguments)};var _csinh=Module["_csinh"]=function(){return(_csinh=Module["_csinh"]=Module["asm"]["csinh"]).apply(null,arguments)};var _casin=Module["_casin"]=function(){return(_casin=Module["_casin"]=Module["asm"]["casin"]).apply(null,arguments)};var _csqrt=Module["_csqrt"]=function(){return(_csqrt=Module["_csqrt"]=Module["asm"]["csqrt"]).apply(null,arguments)};var _clog=Module["_clog"]=function(){return(_clog=Module["_clog"]=Module["asm"]["clog"]).apply(null,arguments)};var _ctanl=Module["_ctanl"]=function(){return(_ctanl=Module["_ctanl"]=Module["asm"]["ctanl"]).apply(null,arguments)};var _ctanhl=Module["_ctanhl"]=function(){return(_ctanhl=Module["_ctanhl"]=Module["asm"]["ctanhl"]).apply(null,arguments)};var _clogf=Module["_clogf"]=function(){return(_clogf=Module["_clogf"]=Module["asm"]["clogf"]).apply(null,arguments)};var _cabsf=Module["_cabsf"]=function(){return(_cabsf=Module["_cabsf"]=Module["asm"]["cabsf"]).apply(null,arguments)};var _cargf=Module["_cargf"]=function(){return(_cargf=Module["_cargf"]=Module["asm"]["cargf"]).apply(null,arguments)};var _logf=Module["_logf"]=function(){return(_logf=Module["_logf"]=Module["asm"]["logf"]).apply(null,arguments)};var _cimagl=Module["_cimagl"]=function(){return(_cimagl=Module["_cimagl"]=Module["asm"]["cimagl"]).apply(null,arguments)};var _cabsl=Module["_cabsl"]=function(){return(_cabsl=Module["_cabsl"]=Module["asm"]["cabsl"]).apply(null,arguments)};var _hypotl=Module["_hypotl"]=function(){return(_hypotl=Module["_hypotl"]=Module["asm"]["hypotl"]).apply(null,arguments)};var _csqrtf=Module["_csqrtf"]=function(){return(_csqrtf=Module["_csqrtf"]=Module["asm"]["csqrtf"]).apply(null,arguments)};var _fabsf=Module["_fabsf"]=function(){return(_fabsf=Module["_fabsf"]=Module["asm"]["fabsf"]).apply(null,arguments)};var _copysignf=Module["_copysignf"]=function(){return(_copysignf=Module["_copysignf"]=Module["asm"]["copysignf"]).apply(null,arguments)};var _ccosl=Module["_ccosl"]=function(){return(_ccosl=Module["_ccosl"]=Module["asm"]["ccosl"]).apply(null,arguments)};var _ccoshl=Module["_ccoshl"]=function(){return(_ccoshl=Module["_ccoshl"]=Module["asm"]["ccoshl"]).apply(null,arguments)};var _catanf=Module["_catanf"]=function(){return(_catanf=Module["_catanf"]=Module["asm"]["catanf"]).apply(null,arguments)};var _atan2f=Module["_atan2f"]=function(){return(_atan2f=Module["_atan2f"]=Module["asm"]["atan2f"]).apply(null,arguments)};var _csinhf=Module["_csinhf"]=function(){return(_csinhf=Module["_csinhf"]=Module["asm"]["csinhf"]).apply(null,arguments)};var _sinhf=Module["_sinhf"]=function(){return(_sinhf=Module["_sinhf"]=Module["asm"]["sinhf"]).apply(null,arguments)};var _cosf=Module["_cosf"]=function(){return(_cosf=Module["_cosf"]=Module["asm"]["cosf"]).apply(null,arguments)};var _coshf=Module["_coshf"]=function(){return(_coshf=Module["_coshf"]=Module["asm"]["coshf"]).apply(null,arguments)};var _sinf=Module["_sinf"]=function(){return(_sinf=Module["_sinf"]=Module["asm"]["sinf"]).apply(null,arguments)};var _expf=Module["_expf"]=function(){return(_expf=Module["_expf"]=Module["asm"]["expf"]).apply(null,arguments)};var ___ldexp_cexpf=Module["___ldexp_cexpf"]=function(){return(___ldexp_cexpf=Module["___ldexp_cexpf"]=Module["asm"]["__ldexp_cexpf"]).apply(null,arguments)};var _cprojl=Module["_cprojl"]=function(){return(_cprojl=Module["_cprojl"]=Module["asm"]["cprojl"]).apply(null,arguments)};var ___fpclassifyl=Module["___fpclassifyl"]=function(){return(___fpclassifyl=Module["___fpclassifyl"]=Module["asm"]["__fpclassifyl"]).apply(null,arguments)};var _copysignl=Module["_copysignl"]=function(){return(_copysignl=Module["_copysignl"]=Module["asm"]["copysignl"]).apply(null,arguments)};var _ccosh=Module["_ccosh"]=function(){return(_ccosh=Module["_ccosh"]=Module["asm"]["ccosh"]).apply(null,arguments)};var ___ldexp_cexp=Module["___ldexp_cexp"]=function(){return(___ldexp_cexp=Module["___ldexp_cexp"]=Module["asm"]["__ldexp_cexp"]).apply(null,arguments)};var _cproj=Module["_cproj"]=function(){return(_cproj=Module["_cproj"]=Module["asm"]["cproj"]).apply(null,arguments)};var _csinf=Module["_csinf"]=function(){return(_csinf=Module["_csinf"]=Module["asm"]["csinf"]).apply(null,arguments)};var _creall=Module["_creall"]=function(){return(_creall=Module["_creall"]=Module["asm"]["creall"]).apply(null,arguments)};var _hypotf=Module["_hypotf"]=function(){return(_hypotf=Module["_hypotf"]=Module["asm"]["hypotf"]).apply(null,arguments)};var _cacos=Module["_cacos"]=function(){return(_cacos=Module["_cacos"]=Module["asm"]["cacos"]).apply(null,arguments)};var _carg=Module["_carg"]=function(){return(_carg=Module["_carg"]=Module["asm"]["carg"]).apply(null,arguments)};var ___muldc3=Module["___muldc3"]=function(){return(___muldc3=Module["___muldc3"]=Module["asm"]["__muldc3"]).apply(null,arguments)};var _ctanh=Module["_ctanh"]=function(){return(_ctanh=Module["_ctanh"]=Module["asm"]["ctanh"]).apply(null,arguments)};var _csinl=Module["_csinl"]=function(){return(_csinl=Module["_csinl"]=Module["asm"]["csinl"]).apply(null,arguments)};var _csinhl=Module["_csinhl"]=function(){return(_csinhl=Module["_csinhl"]=Module["asm"]["csinhl"]).apply(null,arguments)};var _cexpf=Module["_cexpf"]=function(){return(_cexpf=Module["_cexpf"]=Module["asm"]["cexpf"]).apply(null,arguments)};var _ctanf=Module["_ctanf"]=function(){return(_ctanf=Module["_ctanf"]=Module["asm"]["ctanf"]).apply(null,arguments)};var _ctanhf=Module["_ctanhf"]=function(){return(_ctanhf=Module["_ctanhf"]=Module["asm"]["ctanhf"]).apply(null,arguments)};var _creal=Module["_creal"]=function(){return(_creal=Module["_creal"]=Module["asm"]["creal"]).apply(null,arguments)};var _cargl=Module["_cargl"]=function(){return(_cargl=Module["_cargl"]=Module["asm"]["cargl"]).apply(null,arguments)};var _atan2l=Module["_atan2l"]=function(){return(_atan2l=Module["_atan2l"]=Module["asm"]["atan2l"]).apply(null,arguments)};var _tanf=Module["_tanf"]=function(){return(_tanf=Module["_tanf"]=Module["asm"]["tanf"]).apply(null,arguments)};var _sqrtf=Module["_sqrtf"]=function(){return(_sqrtf=Module["_sqrtf"]=Module["asm"]["sqrtf"]).apply(null,arguments)};var _cimag=Module["_cimag"]=function(){return(_cimag=Module["_cimag"]=Module["asm"]["cimag"]).apply(null,arguments)};var _casinh=Module["_casinh"]=function(){return(_casinh=Module["_casinh"]=Module["asm"]["casinh"]).apply(null,arguments)};var _cpowl=Module["_cpowl"]=function(){return(_cpowl=Module["_cpowl"]=Module["asm"]["cpowl"]).apply(null,arguments)};var _clogl=Module["_clogl"]=function(){return(_clogl=Module["_clogl"]=Module["asm"]["clogl"]).apply(null,arguments)};var ___unordtf2=Module["___unordtf2"]=function(){return(___unordtf2=Module["___unordtf2"]=Module["asm"]["__unordtf2"]).apply(null,arguments)};var ___multc3=Module["___multc3"]=function(){return(___multc3=Module["___multc3"]=Module["asm"]["__multc3"]).apply(null,arguments)};var _catan=Module["_catan"]=function(){return(_catan=Module["_catan"]=Module["asm"]["catan"]).apply(null,arguments)};var _cacosl=Module["_cacosl"]=function(){return(_cacosl=Module["_cacosl"]=Module["asm"]["cacosl"]).apply(null,arguments)};var _casinl=Module["_casinl"]=function(){return(_casinl=Module["_casinl"]=Module["asm"]["casinl"]).apply(null,arguments)};var _conjl=Module["_conjl"]=function(){return(_conjl=Module["_conjl"]=Module["asm"]["conjl"]).apply(null,arguments)};var _catanhf=Module["_catanhf"]=function(){return(_catanhf=Module["_catanhf"]=Module["asm"]["catanhf"]).apply(null,arguments)};var _cabs=Module["_cabs"]=function(){return(_cabs=Module["_cabs"]=Module["asm"]["cabs"]).apply(null,arguments)};var _ccos=Module["_ccos"]=function(){return(_ccos=Module["_ccos"]=Module["asm"]["ccos"]).apply(null,arguments)};var _casinf=Module["_casinf"]=function(){return(_casinf=Module["_casinf"]=Module["asm"]["casinf"]).apply(null,arguments)};var _csqrtl=Module["_csqrtl"]=function(){return(_csqrtl=Module["_csqrtl"]=Module["asm"]["csqrtl"]).apply(null,arguments)};var _catanh=Module["_catanh"]=function(){return(_catanh=Module["_catanh"]=Module["asm"]["catanh"]).apply(null,arguments)};var _cacoshf=Module["_cacoshf"]=function(){return(_cacoshf=Module["_cacoshf"]=Module["asm"]["cacoshf"]).apply(null,arguments)};var _cacosf=Module["_cacosf"]=function(){return(_cacosf=Module["_cacosf"]=Module["asm"]["cacosf"]).apply(null,arguments)};var _cimagf=Module["_cimagf"]=function(){return(_cimagf=Module["_cimagf"]=Module["asm"]["cimagf"]).apply(null,arguments)};var _casinhl=Module["_casinhl"]=function(){return(_casinhl=Module["_casinhl"]=Module["asm"]["casinhl"]).apply(null,arguments)};var _cpowf=Module["_cpowf"]=function(){return(_cpowf=Module["_cpowf"]=Module["asm"]["cpowf"]).apply(null,arguments)};var ___mulsc3=Module["___mulsc3"]=function(){return(___mulsc3=Module["___mulsc3"]=Module["asm"]["__mulsc3"]).apply(null,arguments)};var _ccoshf=Module["_ccoshf"]=function(){return(_ccoshf=Module["_ccoshf"]=Module["asm"]["ccoshf"]).apply(null,arguments)};var _conj=Module["_conj"]=function(){return(_conj=Module["_conj"]=Module["asm"]["conj"]).apply(null,arguments)};var _conjf=Module["_conjf"]=function(){return(_conjf=Module["_conjf"]=Module["asm"]["conjf"]).apply(null,arguments)};var _cpow=Module["_cpow"]=function(){return(_cpow=Module["_cpow"]=Module["asm"]["cpow"]).apply(null,arguments)};var _catanl=Module["_catanl"]=function(){return(_catanl=Module["_catanl"]=Module["asm"]["catanl"]).apply(null,arguments)};var ___netf2=Module["___netf2"]=function(){return(___netf2=Module["___netf2"]=Module["asm"]["__netf2"]).apply(null,arguments)};var ___eqtf2=Module["___eqtf2"]=function(){return(___eqtf2=Module["___eqtf2"]=Module["asm"]["__eqtf2"]).apply(null,arguments)};var _logl=Module["_logl"]=function(){return(_logl=Module["_logl"]=Module["asm"]["logl"]).apply(null,arguments)};var _casinhf=Module["_casinhf"]=function(){return(_casinhf=Module["_casinhf"]=Module["asm"]["casinhf"]).apply(null,arguments)};var _cacosh=Module["_cacosh"]=function(){return(_cacosh=Module["_cacosh"]=Module["asm"]["cacosh"]).apply(null,arguments)};var _cprojf=Module["_cprojf"]=function(){return(_cprojf=Module["_cprojf"]=Module["asm"]["cprojf"]).apply(null,arguments)};var _ctan=Module["_ctan"]=function(){return(_ctan=Module["_ctan"]=Module["asm"]["ctan"]).apply(null,arguments)};var _crealf=Module["_crealf"]=function(){return(_crealf=Module["_crealf"]=Module["asm"]["crealf"]).apply(null,arguments)};var _ccosf=Module["_ccosf"]=function(){return(_ccosf=Module["_ccosf"]=Module["asm"]["ccosf"]).apply(null,arguments)};var _catanhl=Module["_catanhl"]=function(){return(_catanhl=Module["_catanhl"]=Module["asm"]["catanhl"]).apply(null,arguments)};var _cacoshl=Module["_cacoshl"]=function(){return(_cacoshl=Module["_cacoshl"]=Module["asm"]["cacoshl"]).apply(null,arguments)};var _fnmatch=Module["_fnmatch"]=function(){return(_fnmatch=Module["_fnmatch"]=Module["asm"]["fnmatch"]).apply(null,arguments)};var _mbtowc=Module["_mbtowc"]=function(){return(_mbtowc=Module["_mbtowc"]=Module["asm"]["mbtowc"]).apply(null,arguments)};var _strnlen=Module["_strnlen"]=function(){return(_strnlen=Module["_strnlen"]=Module["asm"]["strnlen"]).apply(null,arguments)};var _towupper=Module["_towupper"]=function(){return(_towupper=Module["_towupper"]=Module["asm"]["towupper"]).apply(null,arguments)};var _towlower=Module["_towlower"]=function(){return(_towlower=Module["_towlower"]=Module["asm"]["towlower"]).apply(null,arguments)};var _wctype=Module["_wctype"]=function(){return(_wctype=Module["_wctype"]=Module["asm"]["wctype"]).apply(null,arguments)};var _iswctype=Module["_iswctype"]=function(){return(_iswctype=Module["_iswctype"]=Module["asm"]["iswctype"]).apply(null,arguments)};var _regerror=Module["_regerror"]=function(){return(_regerror=Module["_regerror"]=Module["asm"]["regerror"]).apply(null,arguments)};var ___lctrans_cur=Module["___lctrans_cur"]=function(){return(___lctrans_cur=Module["___lctrans_cur"]=Module["asm"]["__lctrans_cur"]).apply(null,arguments)};var ___tre_mem_new_impl=Module["___tre_mem_new_impl"]=function(){return(___tre_mem_new_impl=Module["___tre_mem_new_impl"]=Module["asm"]["__tre_mem_new_impl"]).apply(null,arguments)};var ___tre_mem_destroy=Module["___tre_mem_destroy"]=function(){return(___tre_mem_destroy=Module["___tre_mem_destroy"]=Module["asm"]["__tre_mem_destroy"]).apply(null,arguments)};var ___tre_mem_alloc_impl=Module["___tre_mem_alloc_impl"]=function(){return(___tre_mem_alloc_impl=Module["___tre_mem_alloc_impl"]=Module["asm"]["__tre_mem_alloc_impl"]).apply(null,arguments)};var _glob=Module["_glob"]=function(){return(_glob=Module["_glob"]=Module["asm"]["glob"]).apply(null,arguments)};var _readdir_r=Module["_readdir_r"]=function(){return(_readdir_r=Module["_readdir_r"]=Module["asm"]["readdir_r"]).apply(null,arguments)};var _globfree=Module["_globfree"]=function(){return(_globfree=Module["_globfree"]=Module["asm"]["globfree"]).apply(null,arguments)};var _glob64=Module["_glob64"]=function(){return(_glob64=Module["_glob64"]=Module["asm"]["glob64"]).apply(null,arguments)};var _globfree64=Module["_globfree64"]=function(){return(_globfree64=Module["_globfree64"]=Module["asm"]["globfree64"]).apply(null,arguments)};var _regcomp=Module["_regcomp"]=function(){return(_regcomp=Module["_regcomp"]=Module["asm"]["regcomp"]).apply(null,arguments)};var _regfree=Module["_regfree"]=function(){return(_regfree=Module["_regfree"]=Module["asm"]["regfree"]).apply(null,arguments)};var _iswupper=Module["_iswupper"]=function(){return(_iswupper=Module["_iswupper"]=Module["asm"]["iswupper"]).apply(null,arguments)};var _iswlower=Module["_iswlower"]=function(){return(_iswlower=Module["_iswlower"]=Module["asm"]["iswlower"]).apply(null,arguments)};var _isdigit=Module["_isdigit"]=function(){return(_isdigit=Module["_isdigit"]=Module["asm"]["isdigit"]).apply(null,arguments)};var _regexec=Module["_regexec"]=function(){return(_regexec=Module["_regexec"]=Module["asm"]["regexec"]).apply(null,arguments)};var _iswalnum=Module["_iswalnum"]=function(){return(_iswalnum=Module["_iswalnum"]=Module["asm"]["iswalnum"]).apply(null,arguments)};var _putc_unlocked=Module["_putc_unlocked"]=function(){return(_putc_unlocked=Module["_putc_unlocked"]=Module["asm"]["putc_unlocked"]).apply(null,arguments)};var ___overflow=Module["___overflow"]=function(){return(___overflow=Module["___overflow"]=Module["asm"]["__overflow"]).apply(null,arguments)};var _fputc_unlocked=Module["_fputc_unlocked"]=function(){return(_fputc_unlocked=Module["_fputc_unlocked"]=Module["asm"]["fputc_unlocked"]).apply(null,arguments)};var __IO_putc_unlocked=Module["__IO_putc_unlocked"]=function(){return(__IO_putc_unlocked=Module["__IO_putc_unlocked"]=Module["asm"]["_IO_putc_unlocked"]).apply(null,arguments)};var ___lockfile=Module["___lockfile"]=function(){return(___lockfile=Module["___lockfile"]=Module["asm"]["__lockfile"]).apply(null,arguments)};var ___uflow=Module["___uflow"]=function(){return(___uflow=Module["___uflow"]=Module["asm"]["__uflow"]).apply(null,arguments)};var ___unlockfile=Module["___unlockfile"]=function(){return(___unlockfile=Module["___unlockfile"]=Module["asm"]["__unlockfile"]).apply(null,arguments)};var _fgets_unlocked=Module["_fgets_unlocked"]=function(){return(_fgets_unlocked=Module["_fgets_unlocked"]=Module["asm"]["fgets_unlocked"]).apply(null,arguments)};var _dprintf=Module["_dprintf"]=function(){return(_dprintf=Module["_dprintf"]=Module["asm"]["dprintf"]).apply(null,arguments)};var _vdprintf=Module["_vdprintf"]=function(){return(_vdprintf=Module["_vdprintf"]=Module["asm"]["vdprintf"]).apply(null,arguments)};var _vsscanf=Module["_vsscanf"]=function(){return(_vsscanf=Module["_vsscanf"]=Module["asm"]["vsscanf"]).apply(null,arguments)};var _vfscanf=Module["_vfscanf"]=function(){return(_vfscanf=Module["_vfscanf"]=Module["asm"]["vfscanf"]).apply(null,arguments)};var ___string_read=Module["___string_read"]=function(){return(___string_read=Module["___string_read"]=Module["asm"]["__string_read"]).apply(null,arguments)};var ___isoc99_vsscanf=Module["___isoc99_vsscanf"]=function(){return(___isoc99_vsscanf=Module["___isoc99_vsscanf"]=Module["asm"]["__isoc99_vsscanf"]).apply(null,arguments)};var _fileno_unlocked=Module["_fileno_unlocked"]=function(){return(_fileno_unlocked=Module["_fileno_unlocked"]=Module["asm"]["fileno_unlocked"]).apply(null,arguments)};var _vfwprintf=Module["_vfwprintf"]=function(){return(_vfwprintf=Module["_vfwprintf"]=Module["asm"]["vfwprintf"]).apply(null,arguments)};var _fwide=Module["_fwide"]=function(){return(_fwide=Module["_fwide"]=Module["asm"]["fwide"]).apply(null,arguments)};var _wcsspn=Module["_wcsspn"]=function(){return(_wcsspn=Module["_wcsspn"]=Module["asm"]["wcsspn"]).apply(null,arguments)};var _iswdigit=Module["_iswdigit"]=function(){return(_iswdigit=Module["_iswdigit"]=Module["asm"]["iswdigit"]).apply(null,arguments)};var _btowc=Module["_btowc"]=function(){return(_btowc=Module["_btowc"]=Module["asm"]["btowc"]).apply(null,arguments)};var _fputwc=Module["_fputwc"]=function(){return(_fputwc=Module["_fputwc"]=Module["asm"]["fputwc"]).apply(null,arguments)};var _wmemchr=Module["_wmemchr"]=function(){return(_wmemchr=Module["_wmemchr"]=Module["asm"]["wmemchr"]).apply(null,arguments)};var _fprintf=Module["_fprintf"]=function(){return(_fprintf=Module["_fprintf"]=Module["asm"]["fprintf"]).apply(null,arguments)};var ___fmodeflags=Module["___fmodeflags"]=function(){return(___fmodeflags=Module["___fmodeflags"]=Module["asm"]["__fmodeflags"]).apply(null,arguments)};var ___fdopen=Module["___fdopen"]=function(){return(___fdopen=Module["___fdopen"]=Module["asm"]["__fdopen"]).apply(null,arguments)};var _fopen64=Module["_fopen64"]=function(){return(_fopen64=Module["_fopen64"]=Module["asm"]["fopen64"]).apply(null,arguments)};var _ungetwc=Module["_ungetwc"]=function(){return(_ungetwc=Module["_ungetwc"]=Module["asm"]["ungetwc"]).apply(null,arguments)};var ___toread=Module["___toread"]=function(){return(___toread=Module["___toread"]=Module["asm"]["__toread"]).apply(null,arguments)};var _wcrtomb=Module["_wcrtomb"]=function(){return(_wcrtomb=Module["_wcrtomb"]=Module["asm"]["wcrtomb"]).apply(null,arguments)};var _fmemopen=Module["_fmemopen"]=function(){return(_fmemopen=Module["_fmemopen"]=Module["asm"]["fmemopen"]).apply(null,arguments)};var ___ofl_add=Module["___ofl_add"]=function(){return(___ofl_add=Module["___ofl_add"]=Module["asm"]["__ofl_add"]).apply(null,arguments)};var ___do_orphaned_stdio_locks=Module["___do_orphaned_stdio_locks"]=function(){return(___do_orphaned_stdio_locks=Module["___do_orphaned_stdio_locks"]=Module["asm"]["__do_orphaned_stdio_locks"]).apply(null,arguments)};var ___unlist_locked_file=Module["___unlist_locked_file"]=function(){return(___unlist_locked_file=Module["___unlist_locked_file"]=Module["asm"]["__unlist_locked_file"]).apply(null,arguments)};var _ftrylockfile=Module["_ftrylockfile"]=function(){return(_ftrylockfile=Module["_ftrylockfile"]=Module["asm"]["ftrylockfile"]).apply(null,arguments)};var ___stdout_write=Module["___stdout_write"]=function(){return(___stdout_write=Module["___stdout_write"]=Module["asm"]["__stdout_write"]).apply(null,arguments)};var ___stdio_write=Module["___stdio_write"]=function(){return(___stdio_write=Module["___stdio_write"]=Module["asm"]["__stdio_write"]).apply(null,arguments)};var _sscanf=Module["_sscanf"]=function(){return(_sscanf=Module["_sscanf"]=Module["asm"]["sscanf"]).apply(null,arguments)};var ___isoc99_sscanf=Module["___isoc99_sscanf"]=function(){return(___isoc99_sscanf=Module["___isoc99_sscanf"]=Module["asm"]["__isoc99_sscanf"]).apply(null,arguments)};var ___ofl_lock=Module["___ofl_lock"]=function(){return(___ofl_lock=Module["___ofl_lock"]=Module["asm"]["__ofl_lock"]).apply(null,arguments)};var ___ofl_unlock=Module["___ofl_unlock"]=function(){return(___ofl_unlock=Module["___ofl_unlock"]=Module["asm"]["__ofl_unlock"]).apply(null,arguments)};var _pclose=Module["_pclose"]=function(){return(_pclose=Module["_pclose"]=Module["asm"]["pclose"]).apply(null,arguments)};var ___stdio_seek=Module["___stdio_seek"]=function(){return(___stdio_seek=Module["___stdio_seek"]=Module["asm"]["__stdio_seek"]).apply(null,arguments)};var ___wasi_syscall_ret=Module["___wasi_syscall_ret"]=function(){return(___wasi_syscall_ret=Module["___wasi_syscall_ret"]=Module["asm"]["__wasi_syscall_ret"]).apply(null,arguments)};var _vasprintf=Module["_vasprintf"]=function(){return(_vasprintf=Module["_vasprintf"]=Module["asm"]["vasprintf"]).apply(null,arguments)};var _isspace=Module["_isspace"]=function(){return(_isspace=Module["_isspace"]=Module["asm"]["isspace"]).apply(null,arguments)};var ___shlim=Module["___shlim"]=function(){return(___shlim=Module["___shlim"]=Module["asm"]["__shlim"]).apply(null,arguments)};var ___shgetc=Module["___shgetc"]=function(){return(___shgetc=Module["___shgetc"]=Module["asm"]["__shgetc"]).apply(null,arguments)};var ___floatscan=Module["___floatscan"]=function(){return(___floatscan=Module["___floatscan"]=Module["asm"]["__floatscan"]).apply(null,arguments)};var ___intscan=Module["___intscan"]=function(){return(___intscan=Module["___intscan"]=Module["asm"]["__intscan"]).apply(null,arguments)};var ___trunctfsf2=Module["___trunctfsf2"]=function(){return(___trunctfsf2=Module["___trunctfsf2"]=Module["asm"]["__trunctfsf2"]).apply(null,arguments)};var _mbsinit=Module["_mbsinit"]=function(){return(_mbsinit=Module["_mbsinit"]=Module["asm"]["mbsinit"]).apply(null,arguments)};var ___isoc99_vfscanf=Module["___isoc99_vfscanf"]=function(){return(___isoc99_vfscanf=Module["___isoc99_vfscanf"]=Module["asm"]["__isoc99_vfscanf"]).apply(null,arguments)};var _swscanf=Module["_swscanf"]=function(){return(_swscanf=Module["_swscanf"]=Module["asm"]["swscanf"]).apply(null,arguments)};var _vswscanf=Module["_vswscanf"]=function(){return(_vswscanf=Module["_vswscanf"]=Module["asm"]["vswscanf"]).apply(null,arguments)};var ___isoc99_swscanf=Module["___isoc99_swscanf"]=function(){return(___isoc99_swscanf=Module["___isoc99_swscanf"]=Module["asm"]["__isoc99_swscanf"]).apply(null,arguments)};var _vswprintf=Module["_vswprintf"]=function(){return(_vswprintf=Module["_vswprintf"]=Module["asm"]["vswprintf"]).apply(null,arguments)};var ___stdio_exit=Module["___stdio_exit"]=function(){return(___stdio_exit=Module["___stdio_exit"]=Module["asm"]["__stdio_exit"]).apply(null,arguments)};var ___stdio_exit_needed=Module["___stdio_exit_needed"]=function(){return(___stdio_exit_needed=Module["___stdio_exit_needed"]=Module["asm"]["__stdio_exit_needed"]).apply(null,arguments)};var ___fopen_rb_ca=Module["___fopen_rb_ca"]=function(){return(___fopen_rb_ca=Module["___fopen_rb_ca"]=Module["asm"]["__fopen_rb_ca"]).apply(null,arguments)};var ___stdio_read=Module["___stdio_read"]=function(){return(___stdio_read=Module["___stdio_read"]=Module["asm"]["__stdio_read"]).apply(null,arguments)};var ___stdio_close=Module["___stdio_close"]=function(){return(___stdio_close=Module["___stdio_close"]=Module["asm"]["__stdio_close"]).apply(null,arguments)};var ___toread_needs_stdio_exit=Module["___toread_needs_stdio_exit"]=function(){return(___toread_needs_stdio_exit=Module["___toread_needs_stdio_exit"]=Module["asm"]["__toread_needs_stdio_exit"]).apply(null,arguments)};var _ferror_unlocked=Module["_ferror_unlocked"]=function(){return(_ferror_unlocked=Module["_ferror_unlocked"]=Module["asm"]["ferror_unlocked"]).apply(null,arguments)};var __IO_ferror_unlocked=Module["__IO_ferror_unlocked"]=function(){return(__IO_ferror_unlocked=Module["__IO_ferror_unlocked"]=Module["asm"]["_IO_ferror_unlocked"]).apply(null,arguments)};var _getwchar=Module["_getwchar"]=function(){return(_getwchar=Module["_getwchar"]=Module["asm"]["getwchar"]).apply(null,arguments)};var _fgetwc=Module["_fgetwc"]=function(){return(_fgetwc=Module["_fgetwc"]=Module["asm"]["fgetwc"]).apply(null,arguments)};var _getwchar_unlocked=Module["_getwchar_unlocked"]=function(){return(_getwchar_unlocked=Module["_getwchar_unlocked"]=Module["asm"]["getwchar_unlocked"]).apply(null,arguments)};var _vwscanf=Module["_vwscanf"]=function(){return(_vwscanf=Module["_vwscanf"]=Module["asm"]["vwscanf"]).apply(null,arguments)};var _vfwscanf=Module["_vfwscanf"]=function(){return(_vfwscanf=Module["_vfwscanf"]=Module["asm"]["vfwscanf"]).apply(null,arguments)};var ___isoc99_vwscanf=Module["___isoc99_vwscanf"]=function(){return(___isoc99_vwscanf=Module["___isoc99_vwscanf"]=Module["asm"]["__isoc99_vwscanf"]).apply(null,arguments)};var _fputws=Module["_fputws"]=function(){return(_fputws=Module["_fputws"]=Module["asm"]["fputws"]).apply(null,arguments)};var _wcsrtombs=Module["_wcsrtombs"]=function(){return(_wcsrtombs=Module["_wcsrtombs"]=Module["asm"]["wcsrtombs"]).apply(null,arguments)};var ___fwritex=Module["___fwritex"]=function(){return(___fwritex=Module["___fwritex"]=Module["asm"]["__fwritex"]).apply(null,arguments)};var _fputws_unlocked=Module["_fputws_unlocked"]=function(){return(_fputws_unlocked=Module["_fputws_unlocked"]=Module["asm"]["fputws_unlocked"]).apply(null,arguments)};var _vscanf=Module["_vscanf"]=function(){return(_vscanf=Module["_vscanf"]=Module["asm"]["vscanf"]).apply(null,arguments)};var ___isoc99_vscanf=Module["___isoc99_vscanf"]=function(){return(___isoc99_vscanf=Module["___isoc99_vscanf"]=Module["asm"]["__isoc99_vscanf"]).apply(null,arguments)};var __IO_getc=Module["__IO_getc"]=function(){return(__IO_getc=Module["__IO_getc"]=Module["asm"]["_IO_getc"]).apply(null,arguments)};var _sprintf=Module["_sprintf"]=function(){return(_sprintf=Module["_sprintf"]=Module["asm"]["sprintf"]).apply(null,arguments)};var _vsprintf=Module["_vsprintf"]=function(){return(_vsprintf=Module["_vsprintf"]=Module["asm"]["vsprintf"]).apply(null,arguments)};var _vsiprintf=Module["_vsiprintf"]=function(){return(_vsiprintf=Module["_vsiprintf"]=Module["asm"]["vsiprintf"]).apply(null,arguments)};var ___small_sprintf=Module["___small_sprintf"]=function(){return(___small_sprintf=Module["___small_sprintf"]=Module["asm"]["__small_sprintf"]).apply(null,arguments)};var ___small_vsprintf=Module["___small_vsprintf"]=function(){return(___small_vsprintf=Module["___small_vsprintf"]=Module["asm"]["__small_vsprintf"]).apply(null,arguments)};var ___lock=Module["___lock"]=function(){return(___lock=Module["___lock"]=Module["asm"]["__lock"]).apply(null,arguments)};var ___unlock=Module["___unlock"]=function(){return(___unlock=Module["___unlock"]=Module["asm"]["__unlock"]).apply(null,arguments)};var _getline=Module["_getline"]=function(){return(_getline=Module["_getline"]=Module["asm"]["getline"]).apply(null,arguments)};var _getdelim=Module["_getdelim"]=function(){return(_getdelim=Module["_getdelim"]=Module["asm"]["getdelim"]).apply(null,arguments)};var _asprintf=Module["_asprintf"]=function(){return(_asprintf=Module["_asprintf"]=Module["asm"]["asprintf"]).apply(null,arguments)};var ___fseeko_unlocked=Module["___fseeko_unlocked"]=function(){return(___fseeko_unlocked=Module["___fseeko_unlocked"]=Module["asm"]["__fseeko_unlocked"]).apply(null,arguments)};var ___fseeko=Module["___fseeko"]=function(){return(___fseeko=Module["___fseeko"]=Module["asm"]["__fseeko"]).apply(null,arguments)};var _fseeko=Module["_fseeko"]=function(){return(_fseeko=Module["_fseeko"]=Module["asm"]["fseeko"]).apply(null,arguments)};var _fseeko64=Module["_fseeko64"]=function(){return(_fseeko64=Module["_fseeko64"]=Module["asm"]["fseeko64"]).apply(null,arguments)};var _fwscanf=Module["_fwscanf"]=function(){return(_fwscanf=Module["_fwscanf"]=Module["asm"]["fwscanf"]).apply(null,arguments)};var ___isoc99_fwscanf=Module["___isoc99_fwscanf"]=function(){return(___isoc99_fwscanf=Module["___isoc99_fwscanf"]=Module["asm"]["__isoc99_fwscanf"]).apply(null,arguments)};var ___fputwc_unlocked=Module["___fputwc_unlocked"]=function(){return(___fputwc_unlocked=Module["___fputwc_unlocked"]=Module["asm"]["__fputwc_unlocked"]).apply(null,arguments)};var _wctomb=Module["_wctomb"]=function(){return(_wctomb=Module["_wctomb"]=Module["asm"]["wctomb"]).apply(null,arguments)};var _fputwc_unlocked=Module["_fputwc_unlocked"]=function(){return(_fputwc_unlocked=Module["_fputwc_unlocked"]=Module["asm"]["fputwc_unlocked"]).apply(null,arguments)};var _putwc_unlocked=Module["_putwc_unlocked"]=function(){return(_putwc_unlocked=Module["_putwc_unlocked"]=Module["asm"]["putwc_unlocked"]).apply(null,arguments)};var _iswspace=Module["_iswspace"]=function(){return(_iswspace=Module["_iswspace"]=Module["asm"]["iswspace"]).apply(null,arguments)};var _getwc=Module["_getwc"]=function(){return(_getwc=Module["_getwc"]=Module["asm"]["getwc"]).apply(null,arguments)};var _fscanf=Module["_fscanf"]=function(){return(_fscanf=Module["_fscanf"]=Module["asm"]["fscanf"]).apply(null,arguments)};var ___isoc99_vfwscanf=Module["___isoc99_vfwscanf"]=function(){return(___isoc99_vfwscanf=Module["___isoc99_vfwscanf"]=Module["asm"]["__isoc99_vfwscanf"]).apply(null,arguments)};var _putc=Module["_putc"]=function(){return(_putc=Module["_putc"]=Module["asm"]["putc"]).apply(null,arguments)};var __IO_putc=Module["__IO_putc"]=function(){return(__IO_putc=Module["__IO_putc"]=Module["asm"]["_IO_putc"]).apply(null,arguments)};var _scanf=Module["_scanf"]=function(){return(_scanf=Module["_scanf"]=Module["asm"]["scanf"]).apply(null,arguments)};var ___isoc99_scanf=Module["___isoc99_scanf"]=function(){return(___isoc99_scanf=Module["___isoc99_scanf"]=Module["asm"]["__isoc99_scanf"]).apply(null,arguments)};var ___fclose_ca=Module["___fclose_ca"]=function(){return(___fclose_ca=Module["___fclose_ca"]=Module["asm"]["__fclose_ca"]).apply(null,arguments)};var _fgetc_unlocked=Module["_fgetc_unlocked"]=function(){return(_fgetc_unlocked=Module["_fgetc_unlocked"]=Module["asm"]["fgetc_unlocked"]).apply(null,arguments)};var __IO_getc_unlocked=Module["__IO_getc_unlocked"]=function(){return(__IO_getc_unlocked=Module["__IO_getc_unlocked"]=Module["asm"]["_IO_getc_unlocked"]).apply(null,arguments)};var _getchar_unlocked=Module["_getchar_unlocked"]=function(){return(_getchar_unlocked=Module["_getchar_unlocked"]=Module["asm"]["getchar_unlocked"]).apply(null,arguments)};var _swprintf=Module["_swprintf"]=function(){return(_swprintf=Module["_swprintf"]=Module["asm"]["swprintf"]).apply(null,arguments)};var _getw=Module["_getw"]=function(){return(_getw=Module["_getw"]=Module["asm"]["getw"]).apply(null,arguments)};var _open_wmemstream=Module["_open_wmemstream"]=function(){return(_open_wmemstream=Module["_open_wmemstream"]=Module["asm"]["open_wmemstream"]).apply(null,arguments)};var _mbsnrtowcs=Module["_mbsnrtowcs"]=function(){return(_mbsnrtowcs=Module["_mbsnrtowcs"]=Module["asm"]["mbsnrtowcs"]).apply(null,arguments)};var _getchar=Module["_getchar"]=function(){return(_getchar=Module["_getchar"]=Module["asm"]["getchar"]).apply(null,arguments)};var ___isoc99_vswscanf=Module["___isoc99_vswscanf"]=function(){return(___isoc99_vswscanf=Module["___isoc99_vswscanf"]=Module["asm"]["__isoc99_vswscanf"]).apply(null,arguments)};var _fread_unlocked=Module["_fread_unlocked"]=function(){return(_fread_unlocked=Module["_fread_unlocked"]=Module["asm"]["fread_unlocked"]).apply(null,arguments)};var _fflush_unlocked=Module["_fflush_unlocked"]=function(){return(_fflush_unlocked=Module["_fflush_unlocked"]=Module["asm"]["fflush_unlocked"]).apply(null,arguments)};var ___isoc99_fscanf=Module["___isoc99_fscanf"]=function(){return(___isoc99_fscanf=Module["___isoc99_fscanf"]=Module["asm"]["__isoc99_fscanf"]).apply(null,arguments)};var _putchar_unlocked=Module["_putchar_unlocked"]=function(){return(_putchar_unlocked=Module["_putchar_unlocked"]=Module["asm"]["putchar_unlocked"]).apply(null,arguments)};var ___freadahead=Module["___freadahead"]=function(){return(___freadahead=Module["___freadahead"]=Module["asm"]["__freadahead"]).apply(null,arguments)};var ___freadptr=Module["___freadptr"]=function(){return(___freadptr=Module["___freadptr"]=Module["asm"]["__freadptr"]).apply(null,arguments)};var ___freadptrinc=Module["___freadptrinc"]=function(){return(___freadptrinc=Module["___freadptrinc"]=Module["asm"]["__freadptrinc"]).apply(null,arguments)};var ___fseterr=Module["___fseterr"]=function(){return(___fseterr=Module["___fseterr"]=Module["asm"]["__fseterr"]).apply(null,arguments)};var _vprintf=Module["_vprintf"]=function(){return(_vprintf=Module["_vprintf"]=Module["asm"]["vprintf"]).apply(null,arguments)};var _vsniprintf=Module["_vsniprintf"]=function(){return(_vsniprintf=Module["_vsniprintf"]=Module["asm"]["vsniprintf"]).apply(null,arguments)};var ___small_vsnprintf=Module["___small_vsnprintf"]=function(){return(___small_vsnprintf=Module["___small_vsnprintf"]=Module["asm"]["__small_vsnprintf"]).apply(null,arguments)};var _tmpfile=Module["_tmpfile"]=function(){return(_tmpfile=Module["_tmpfile"]=Module["asm"]["tmpfile"]).apply(null,arguments)};var ___randname=Module["___randname"]=function(){return(___randname=Module["___randname"]=Module["asm"]["__randname"]).apply(null,arguments)};var _tmpfile64=Module["_tmpfile64"]=function(){return(_tmpfile64=Module["_tmpfile64"]=Module["asm"]["tmpfile64"]).apply(null,arguments)};var ___getdelim=Module["___getdelim"]=function(){return(___getdelim=Module["___getdelim"]=Module["asm"]["__getdelim"]).apply(null,arguments)};var _putwchar=Module["_putwchar"]=function(){return(_putwchar=Module["_putwchar"]=Module["asm"]["putwchar"]).apply(null,arguments)};var _putwchar_unlocked=Module["_putwchar_unlocked"]=function(){return(_putwchar_unlocked=Module["_putwchar_unlocked"]=Module["asm"]["putwchar_unlocked"]).apply(null,arguments)};var _tmpnam=Module["_tmpnam"]=function(){return(_tmpnam=Module["_tmpnam"]=Module["asm"]["tmpnam"]).apply(null,arguments)};var _wscanf=Module["_wscanf"]=function(){return(_wscanf=Module["_wscanf"]=Module["asm"]["wscanf"]).apply(null,arguments)};var ___isoc99_wscanf=Module["___isoc99_wscanf"]=function(){return(___isoc99_wscanf=Module["___isoc99_wscanf"]=Module["asm"]["__isoc99_wscanf"]).apply(null,arguments)};var _vfiprintf=Module["_vfiprintf"]=function(){return(_vfiprintf=Module["_vfiprintf"]=Module["asm"]["vfiprintf"]).apply(null,arguments)};var ___small_vfprintf=Module["___small_vfprintf"]=function(){return(___small_vfprintf=Module["___small_vfprintf"]=Module["asm"]["__small_vfprintf"]).apply(null,arguments)};var _fsetpos=Module["_fsetpos"]=function(){return(_fsetpos=Module["_fsetpos"]=Module["asm"]["fsetpos"]).apply(null,arguments)};var _fsetpos64=Module["_fsetpos64"]=function(){return(_fsetpos64=Module["_fsetpos64"]=Module["asm"]["fsetpos64"]).apply(null,arguments)};var _putwc=Module["_putwc"]=function(){return(_putwc=Module["_putwc"]=Module["asm"]["putwc"]).apply(null,arguments)};var _tempnam=Module["_tempnam"]=function(){return(_tempnam=Module["_tempnam"]=Module["asm"]["tempnam"]).apply(null,arguments)};var _strdup=Module["_strdup"]=function(){return(_strdup=Module["_strdup"]=Module["asm"]["strdup"]).apply(null,arguments)};var _freopen=Module["_freopen"]=function(){return(_freopen=Module["_freopen"]=Module["asm"]["freopen"]).apply(null,arguments)};var ___dup3=Module["___dup3"]=function(){return(___dup3=Module["___dup3"]=Module["asm"]["__dup3"]).apply(null,arguments)};var _freopen64=Module["_freopen64"]=function(){return(_freopen64=Module["_freopen64"]=Module["asm"]["freopen64"]).apply(null,arguments)};var _fwprintf=Module["_fwprintf"]=function(){return(_fwprintf=Module["_fwprintf"]=Module["asm"]["fwprintf"]).apply(null,arguments)};var _putw=Module["_putw"]=function(){return(_putw=Module["_putw"]=Module["asm"]["putw"]).apply(null,arguments)};var ___fgetwc_unlocked=Module["___fgetwc_unlocked"]=function(){return(___fgetwc_unlocked=Module["___fgetwc_unlocked"]=Module["asm"]["__fgetwc_unlocked"]).apply(null,arguments)};var _fgetwc_unlocked=Module["_fgetwc_unlocked"]=function(){return(_fgetwc_unlocked=Module["_fgetwc_unlocked"]=Module["asm"]["fgetwc_unlocked"]).apply(null,arguments)};var _getwc_unlocked=Module["_getwc_unlocked"]=function(){return(_getwc_unlocked=Module["_getwc_unlocked"]=Module["asm"]["getwc_unlocked"]).apply(null,arguments)};var _setbuffer=Module["_setbuffer"]=function(){return(_setbuffer=Module["_setbuffer"]=Module["asm"]["setbuffer"]).apply(null,arguments)};var __flushlbf=Module["__flushlbf"]=function(){return(__flushlbf=Module["__flushlbf"]=Module["asm"]["_flushlbf"]).apply(null,arguments)};var ___fsetlocking=Module["___fsetlocking"]=function(){return(___fsetlocking=Module["___fsetlocking"]=Module["asm"]["__fsetlocking"]).apply(null,arguments)};var ___fwriting=Module["___fwriting"]=function(){return(___fwriting=Module["___fwriting"]=Module["asm"]["__fwriting"]).apply(null,arguments)};var ___freading=Module["___freading"]=function(){return(___freading=Module["___freading"]=Module["asm"]["__freading"]).apply(null,arguments)};var ___freadable=Module["___freadable"]=function(){return(___freadable=Module["___freadable"]=Module["asm"]["__freadable"]).apply(null,arguments)};var ___fwritable=Module["___fwritable"]=function(){return(___fwritable=Module["___fwritable"]=Module["asm"]["__fwritable"]).apply(null,arguments)};var ___flbf=Module["___flbf"]=function(){return(___flbf=Module["___flbf"]=Module["asm"]["__flbf"]).apply(null,arguments)};var ___fbufsize=Module["___fbufsize"]=function(){return(___fbufsize=Module["___fbufsize"]=Module["asm"]["__fbufsize"]).apply(null,arguments)};var ___fpending=Module["___fpending"]=function(){return(___fpending=Module["___fpending"]=Module["asm"]["__fpending"]).apply(null,arguments)};var ___fpurge=Module["___fpurge"]=function(){return(___fpurge=Module["___fpurge"]=Module["asm"]["__fpurge"]).apply(null,arguments)};var _fpurge=Module["_fpurge"]=function(){return(_fpurge=Module["_fpurge"]=Module["asm"]["fpurge"]).apply(null,arguments)};var _fgetpos=Module["_fgetpos"]=function(){return(_fgetpos=Module["_fgetpos"]=Module["asm"]["fgetpos"]).apply(null,arguments)};var ___ftello=Module["___ftello"]=function(){return(___ftello=Module["___ftello"]=Module["asm"]["__ftello"]).apply(null,arguments)};var _fgetpos64=Module["_fgetpos64"]=function(){return(_fgetpos64=Module["_fgetpos64"]=Module["asm"]["fgetpos64"]).apply(null,arguments)};var ___vfprintf_internal=Module["___vfprintf_internal"]=function(){return(___vfprintf_internal=Module["___vfprintf_internal"]=Module["asm"]["__vfprintf_internal"]).apply(null,arguments)};var _setlinebuf=Module["_setlinebuf"]=function(){return(_setlinebuf=Module["_setlinebuf"]=Module["asm"]["setlinebuf"]).apply(null,arguments)};var _gets=Module["_gets"]=function(){return(_gets=Module["_gets"]=Module["asm"]["gets"]).apply(null,arguments)};var _fgetws=Module["_fgetws"]=function(){return(_fgetws=Module["_fgetws"]=Module["asm"]["fgetws"]).apply(null,arguments)};var _fgetws_unlocked=Module["_fgetws_unlocked"]=function(){return(_fgetws_unlocked=Module["_fgetws_unlocked"]=Module["asm"]["fgetws_unlocked"]).apply(null,arguments)};var _feof_unlocked=Module["_feof_unlocked"]=function(){return(_feof_unlocked=Module["_feof_unlocked"]=Module["asm"]["feof_unlocked"]).apply(null,arguments)};var __IO_feof_unlocked=Module["__IO_feof_unlocked"]=function(){return(__IO_feof_unlocked=Module["__IO_feof_unlocked"]=Module["asm"]["_IO_feof_unlocked"]).apply(null,arguments)};var _clearerr_unlocked=Module["_clearerr_unlocked"]=function(){return(_clearerr_unlocked=Module["_clearerr_unlocked"]=Module["asm"]["clearerr_unlocked"]).apply(null,arguments)};var _fgetln=Module["_fgetln"]=function(){return(_fgetln=Module["_fgetln"]=Module["asm"]["fgetln"]).apply(null,arguments)};var ___aio_close=Module["___aio_close"]=function(){return(___aio_close=Module["___aio_close"]=Module["asm"]["__aio_close"]).apply(null,arguments)};var ___ftello_unlocked=Module["___ftello_unlocked"]=function(){return(___ftello_unlocked=Module["___ftello_unlocked"]=Module["asm"]["__ftello_unlocked"]).apply(null,arguments)};var _ftello=Module["_ftello"]=function(){return(_ftello=Module["_ftello"]=Module["asm"]["ftello"]).apply(null,arguments)};var _ftello64=Module["_ftello64"]=function(){return(_ftello64=Module["_ftello64"]=Module["asm"]["ftello64"]).apply(null,arguments)};var _wprintf=Module["_wprintf"]=function(){return(_wprintf=Module["_wprintf"]=Module["asm"]["wprintf"]).apply(null,arguments)};var _vwprintf=Module["_vwprintf"]=function(){return(_vwprintf=Module["_vwprintf"]=Module["asm"]["vwprintf"]).apply(null,arguments)};var _open_memstream=Module["_open_memstream"]=function(){return(_open_memstream=Module["_open_memstream"]=Module["asm"]["open_memstream"]).apply(null,arguments)};var ___strxfrm_l=Module["___strxfrm_l"]=function(){return(___strxfrm_l=Module["___strxfrm_l"]=Module["asm"]["__strxfrm_l"]).apply(null,arguments)};var _strxfrm=Module["_strxfrm"]=function(){return(_strxfrm=Module["_strxfrm"]=Module["asm"]["strxfrm"]).apply(null,arguments)};var _strxfrm_l=Module["_strxfrm_l"]=function(){return(_strxfrm_l=Module["_strxfrm_l"]=Module["asm"]["strxfrm_l"]).apply(null,arguments)};var ___duplocale=Module["___duplocale"]=function(){return(___duplocale=Module["___duplocale"]=Module["asm"]["__duplocale"]).apply(null,arguments)};var _duplocale=Module["_duplocale"]=function(){return(_duplocale=Module["_duplocale"]=Module["asm"]["duplocale"]).apply(null,arguments)};var ___strchrnul=Module["___strchrnul"]=function(){return(___strchrnul=Module["___strchrnul"]=Module["asm"]["__strchrnul"]).apply(null,arguments)};var ___get_locale=Module["___get_locale"]=function(){return(___get_locale=Module["___get_locale"]=Module["asm"]["__get_locale"]).apply(null,arguments)};var _catgets=Module["_catgets"]=function(){return(_catgets=Module["_catgets"]=Module["asm"]["catgets"]).apply(null,arguments)};var _strfmon_l=Module["_strfmon_l"]=function(){return(_strfmon_l=Module["_strfmon_l"]=Module["asm"]["strfmon_l"]).apply(null,arguments)};var _strfmon=Module["_strfmon"]=function(){return(_strfmon=Module["_strfmon"]=Module["asm"]["strfmon"]).apply(null,arguments)};var ___nl_langinfo_l=Module["___nl_langinfo_l"]=function(){return(___nl_langinfo_l=Module["___nl_langinfo_l"]=Module["asm"]["__nl_langinfo_l"]).apply(null,arguments)};var ___lctrans=Module["___lctrans"]=function(){return(___lctrans=Module["___lctrans"]=Module["asm"]["__lctrans"]).apply(null,arguments)};var ___nl_langinfo=Module["___nl_langinfo"]=function(){return(___nl_langinfo=Module["___nl_langinfo"]=Module["asm"]["__nl_langinfo"]).apply(null,arguments)};var _nl_langinfo_l=Module["_nl_langinfo_l"]=function(){return(_nl_langinfo_l=Module["_nl_langinfo_l"]=Module["asm"]["nl_langinfo_l"]).apply(null,arguments)};var ___lctrans_impl=Module["___lctrans_impl"]=function(){return(___lctrans_impl=Module["___lctrans_impl"]=Module["asm"]["__lctrans_impl"]).apply(null,arguments)};var ___mo_lookup=Module["___mo_lookup"]=function(){return(___mo_lookup=Module["___mo_lookup"]=Module["asm"]["__mo_lookup"]).apply(null,arguments)};var ___pleval=Module["___pleval"]=function(){return(___pleval=Module["___pleval"]=Module["asm"]["__pleval"]).apply(null,arguments)};var ___strcoll_l=Module["___strcoll_l"]=function(){return(___strcoll_l=Module["___strcoll_l"]=Module["asm"]["__strcoll_l"]).apply(null,arguments)};var _strcoll=Module["_strcoll"]=function(){return(_strcoll=Module["_strcoll"]=Module["asm"]["strcoll"]).apply(null,arguments)};var _strcoll_l=Module["_strcoll_l"]=function(){return(_strcoll_l=Module["_strcoll_l"]=Module["asm"]["strcoll_l"]).apply(null,arguments)};var _catclose=Module["_catclose"]=function(){return(_catclose=Module["_catclose"]=Module["asm"]["catclose"]).apply(null,arguments)};var ___wcscoll_l=Module["___wcscoll_l"]=function(){return(___wcscoll_l=Module["___wcscoll_l"]=Module["asm"]["__wcscoll_l"]).apply(null,arguments)};var _wcscoll_l=Module["_wcscoll_l"]=function(){return(_wcscoll_l=Module["_wcscoll_l"]=Module["asm"]["wcscoll_l"]).apply(null,arguments)};var _iconv_open=Module["_iconv_open"]=function(){return(_iconv_open=Module["_iconv_open"]=Module["asm"]["iconv_open"]).apply(null,arguments)};var _iconv_close=Module["_iconv_close"]=function(){return(_iconv_close=Module["_iconv_close"]=Module["asm"]["iconv_close"]).apply(null,arguments)};var _iconv=Module["_iconv"]=function(){return(_iconv=Module["_iconv"]=Module["asm"]["iconv"]).apply(null,arguments)};var ___wcsxfrm_l=Module["___wcsxfrm_l"]=function(){return(___wcsxfrm_l=Module["___wcsxfrm_l"]=Module["asm"]["__wcsxfrm_l"]).apply(null,arguments)};var _wmemcpy=Module["_wmemcpy"]=function(){return(_wmemcpy=Module["_wmemcpy"]=Module["asm"]["wmemcpy"]).apply(null,arguments)};var _wcsxfrm_l=Module["_wcsxfrm_l"]=function(){return(_wcsxfrm_l=Module["_wcsxfrm_l"]=Module["asm"]["wcsxfrm_l"]).apply(null,arguments)};var ___gettextdomain=Module["___gettextdomain"]=function(){return(___gettextdomain=Module["___gettextdomain"]=Module["asm"]["__gettextdomain"]).apply(null,arguments)};var _ngettext=Module["_ngettext"]=function(){return(_ngettext=Module["_ngettext"]=Module["asm"]["ngettext"]).apply(null,arguments)};var _dngettext=Module["_dngettext"]=function(){return(_dngettext=Module["_dngettext"]=Module["asm"]["dngettext"]).apply(null,arguments)};var _dcngettext=Module["_dcngettext"]=function(){return(_dcngettext=Module["_dcngettext"]=Module["asm"]["dcngettext"]).apply(null,arguments)};var ___munmap=Module["___munmap"]=function(){return(___munmap=Module["___munmap"]=Module["asm"]["__munmap"]).apply(null,arguments)};var ___uselocale=Module["___uselocale"]=function(){return(___uselocale=Module["___uselocale"]=Module["asm"]["__uselocale"]).apply(null,arguments)};var _uselocale=Module["_uselocale"]=function(){return(_uselocale=Module["_uselocale"]=Module["asm"]["uselocale"]).apply(null,arguments)};var ___loc_is_allocated=Module["___loc_is_allocated"]=function(){return(___loc_is_allocated=Module["___loc_is_allocated"]=Module["asm"]["__loc_is_allocated"]).apply(null,arguments)};var ___newlocale=Module["___newlocale"]=function(){return(___newlocale=Module["___newlocale"]=Module["asm"]["__newlocale"]).apply(null,arguments)};var _newlocale=Module["_newlocale"]=function(){return(_newlocale=Module["_newlocale"]=Module["asm"]["newlocale"]).apply(null,arguments)};var _freelocale=Module["_freelocale"]=function(){return(_freelocale=Module["_freelocale"]=Module["asm"]["freelocale"]).apply(null,arguments)};var ___freelocale=Module["___freelocale"]=function(){return(___freelocale=Module["___freelocale"]=Module["asm"]["__freelocale"]).apply(null,arguments)};var _catopen=Module["_catopen"]=function(){return(_catopen=Module["_catopen"]=Module["asm"]["catopen"]).apply(null,arguments)};var _strcasecmp=Module["_strcasecmp"]=function(){return(_strcasecmp=Module["_strcasecmp"]=Module["asm"]["strcasecmp"]).apply(null,arguments)};var _atanhf=Module["_atanhf"]=function(){return(_atanhf=Module["_atanhf"]=Module["asm"]["atanhf"]).apply(null,arguments)};var _log1pf=Module["_log1pf"]=function(){return(_log1pf=Module["_log1pf"]=Module["asm"]["log1pf"]).apply(null,arguments)};var _ceil=Module["_ceil"]=function(){return(_ceil=Module["_ceil"]=Module["asm"]["ceil"]).apply(null,arguments)};var _frexpl=Module["_frexpl"]=function(){return(_frexpl=Module["_frexpl"]=Module["asm"]["frexpl"]).apply(null,arguments)};var _remainderl=Module["_remainderl"]=function(){return(_remainderl=Module["_remainderl"]=Module["asm"]["remainderl"]).apply(null,arguments)};var _remquol=Module["_remquol"]=function(){return(_remquol=Module["_remquol"]=Module["asm"]["remquol"]).apply(null,arguments)};var _roundl=Module["_roundl"]=function(){return(_roundl=Module["_roundl"]=Module["asm"]["roundl"]).apply(null,arguments)};var ___letf2=Module["___letf2"]=function(){return(___letf2=Module["___letf2"]=Module["asm"]["__letf2"]).apply(null,arguments)};var _scalb=Module["_scalb"]=function(){return(_scalb=Module["_scalb"]=Module["asm"]["scalb"]).apply(null,arguments)};var _rint=Module["_rint"]=function(){return(_rint=Module["_rint"]=Module["asm"]["rint"]).apply(null,arguments)};var _scalbn=Module["_scalbn"]=function(){return(_scalbn=Module["_scalbn"]=Module["asm"]["scalbn"]).apply(null,arguments)};var _atanhl=Module["_atanhl"]=function(){return(_atanhl=Module["_atanhl"]=Module["asm"]["atanhl"]).apply(null,arguments)};var _log1pl=Module["_log1pl"]=function(){return(_log1pl=Module["_log1pl"]=Module["asm"]["log1pl"]).apply(null,arguments)};var _coshl=Module["_coshl"]=function(){return(_coshl=Module["_coshl"]=Module["asm"]["coshl"]).apply(null,arguments)};var _atanl=Module["_atanl"]=function(){return(_atanl=Module["_atanl"]=Module["asm"]["atanl"]).apply(null,arguments)};var _fabsl=Module["_fabsl"]=function(){return(_fabsl=Module["_fabsl"]=Module["asm"]["fabsl"]).apply(null,arguments)};var _acosl=Module["_acosl"]=function(){return(_acosl=Module["_acosl"]=Module["asm"]["acosl"]).apply(null,arguments)};var ___invtrigl_R=Module["___invtrigl_R"]=function(){return(___invtrigl_R=Module["___invtrigl_R"]=Module["asm"]["__invtrigl_R"]).apply(null,arguments)};var _sqrtl=Module["_sqrtl"]=function(){return(_sqrtl=Module["_sqrtl"]=Module["asm"]["sqrtl"]).apply(null,arguments)};var _significandf=Module["_significandf"]=function(){return(_significandf=Module["_significandf"]=Module["asm"]["significandf"]).apply(null,arguments)};var _ilogbf=Module["_ilogbf"]=function(){return(_ilogbf=Module["_ilogbf"]=Module["asm"]["ilogbf"]).apply(null,arguments)};var _scalbnf=Module["_scalbnf"]=function(){return(_scalbnf=Module["_scalbnf"]=Module["asm"]["scalbnf"]).apply(null,arguments)};var _tanhl=Module["_tanhl"]=function(){return(_tanhl=Module["_tanhl"]=Module["asm"]["tanhl"]).apply(null,arguments)};var ___rem_pio2f=Module["___rem_pio2f"]=function(){return(___rem_pio2f=Module["___rem_pio2f"]=Module["asm"]["__rem_pio2f"]).apply(null,arguments)};var ___rem_pio2_large=Module["___rem_pio2_large"]=function(){return(___rem_pio2_large=Module["___rem_pio2_large"]=Module["asm"]["__rem_pio2_large"]).apply(null,arguments)};var _acoshf=Module["_acoshf"]=function(){return(_acoshf=Module["_acoshf"]=Module["asm"]["acoshf"]).apply(null,arguments)};var ___lgamma_r=Module["___lgamma_r"]=function(){return(___lgamma_r=Module["___lgamma_r"]=Module["asm"]["__lgamma_r"]).apply(null,arguments)};var _floor=Module["_floor"]=function(){return(_floor=Module["_floor"]=Module["asm"]["floor"]).apply(null,arguments)};var ___sin=Module["___sin"]=function(){return(___sin=Module["___sin"]=Module["asm"]["__sin"]).apply(null,arguments)};var ___cos=Module["___cos"]=function(){return(___cos=Module["___cos"]=Module["asm"]["__cos"]).apply(null,arguments)};var _lgamma_r=Module["_lgamma_r"]=function(){return(_lgamma_r=Module["_lgamma_r"]=Module["asm"]["lgamma_r"]).apply(null,arguments)};var _tanl=Module["_tanl"]=function(){return(_tanl=Module["_tanl"]=Module["asm"]["tanl"]).apply(null,arguments)};var ___tanl=Module["___tanl"]=function(){return(___tanl=Module["___tanl"]=Module["asm"]["__tanl"]).apply(null,arguments)};var ___rem_pio2l=Module["___rem_pio2l"]=function(){return(___rem_pio2l=Module["___rem_pio2l"]=Module["asm"]["__rem_pio2l"]).apply(null,arguments)};var _modff=Module["_modff"]=function(){return(_modff=Module["_modff"]=Module["asm"]["modff"]).apply(null,arguments)};var _nearbyint=Module["_nearbyint"]=function(){return(_nearbyint=Module["_nearbyint"]=Module["asm"]["nearbyint"]).apply(null,arguments)};var _tgammaf=Module["_tgammaf"]=function(){return(_tgammaf=Module["_tgammaf"]=Module["asm"]["tgammaf"]).apply(null,arguments)};var _tgamma=Module["_tgamma"]=function(){return(_tgamma=Module["_tgamma"]=Module["asm"]["tgamma"]).apply(null,arguments)};var ___expo2f=Module["___expo2f"]=function(){return(___expo2f=Module["___expo2f"]=Module["asm"]["__expo2f"]).apply(null,arguments)};var ___sinl=Module["___sinl"]=function(){return(___sinl=Module["___sinl"]=Module["asm"]["__sinl"]).apply(null,arguments)};var _ceilf=Module["_ceilf"]=function(){return(_ceilf=Module["_ceilf"]=Module["asm"]["ceilf"]).apply(null,arguments)};var ___fpclassify=Module["___fpclassify"]=function(){return(___fpclassify=Module["___fpclassify"]=Module["asm"]["__fpclassify"]).apply(null,arguments)};var _ceill=Module["_ceill"]=function(){return(_ceill=Module["_ceill"]=Module["asm"]["ceill"]).apply(null,arguments)};var _significand=Module["_significand"]=function(){return(_significand=Module["_significand"]=Module["asm"]["significand"]).apply(null,arguments)};var _ilogb=Module["_ilogb"]=function(){return(_ilogb=Module["_ilogb"]=Module["asm"]["ilogb"]).apply(null,arguments)};var _acosf=Module["_acosf"]=function(){return(_acosf=Module["_acosf"]=Module["asm"]["acosf"]).apply(null,arguments)};var _rintl=Module["_rintl"]=function(){return(_rintl=Module["_rintl"]=Module["asm"]["rintl"]).apply(null,arguments)};var _lgammaf=Module["_lgammaf"]=function(){return(_lgammaf=Module["_lgammaf"]=Module["asm"]["lgammaf"]).apply(null,arguments)};var ___lgammaf_r=Module["___lgammaf_r"]=function(){return(___lgammaf_r=Module["___lgammaf_r"]=Module["asm"]["__lgammaf_r"]).apply(null,arguments)};var _fdim=Module["_fdim"]=function(){return(_fdim=Module["_fdim"]=Module["asm"]["fdim"]).apply(null,arguments)};var _llrintl=Module["_llrintl"]=function(){return(_llrintl=Module["_llrintl"]=Module["asm"]["llrintl"]).apply(null,arguments)};var ___fixtfdi=Module["___fixtfdi"]=function(){return(___fixtfdi=Module["___fixtfdi"]=Module["asm"]["__fixtfdi"]).apply(null,arguments)};var _scalbf=Module["_scalbf"]=function(){return(_scalbf=Module["_scalbf"]=Module["asm"]["scalbf"]).apply(null,arguments)};var _rintf=Module["_rintf"]=function(){return(_rintf=Module["_rintf"]=Module["asm"]["rintf"]).apply(null,arguments)};var _nan=Module["_nan"]=function(){return(_nan=Module["_nan"]=Module["asm"]["nan"]).apply(null,arguments)};var _finitef=Module["_finitef"]=function(){return(_finitef=Module["_finitef"]=Module["asm"]["finitef"]).apply(null,arguments)};var _llroundl=Module["_llroundl"]=function(){return(_llroundl=Module["_llroundl"]=Module["asm"]["llroundl"]).apply(null,arguments)};var _j1f=Module["_j1f"]=function(){return(_j1f=Module["_j1f"]=Module["asm"]["j1f"]).apply(null,arguments)};var _y1f=Module["_y1f"]=function(){return(_y1f=Module["_y1f"]=Module["asm"]["y1f"]).apply(null,arguments)};var _scalbnl=Module["_scalbnl"]=function(){return(_scalbnl=Module["_scalbnl"]=Module["asm"]["scalbnl"]).apply(null,arguments)};var _log2l=Module["_log2l"]=function(){return(_log2l=Module["_log2l"]=Module["asm"]["log2l"]).apply(null,arguments)};var _trunc=Module["_trunc"]=function(){return(_trunc=Module["_trunc"]=Module["asm"]["trunc"]).apply(null,arguments)};var ___polevll=Module["___polevll"]=function(){return(___polevll=Module["___polevll"]=Module["asm"]["__polevll"]).apply(null,arguments)};var ___p1evll=Module["___p1evll"]=function(){return(___p1evll=Module["___p1evll"]=Module["asm"]["__p1evll"]).apply(null,arguments)};var _expm1f=Module["_expm1f"]=function(){return(_expm1f=Module["_expm1f"]=Module["asm"]["expm1f"]).apply(null,arguments)};var _nearbyintl=Module["_nearbyintl"]=function(){return(_nearbyintl=Module["_nearbyintl"]=Module["asm"]["nearbyintl"]).apply(null,arguments)};var _scalbln=Module["_scalbln"]=function(){return(_scalbln=Module["_scalbln"]=Module["asm"]["scalbln"]).apply(null,arguments)};var ___tan=Module["___tan"]=function(){return(___tan=Module["___tan"]=Module["asm"]["__tan"]).apply(null,arguments)};var ___rem_pio2=Module["___rem_pio2"]=function(){return(___rem_pio2=Module["___rem_pio2"]=Module["asm"]["__rem_pio2"]).apply(null,arguments)};var _logbf=Module["_logbf"]=function(){return(_logbf=Module["_logbf"]=Module["asm"]["logbf"]).apply(null,arguments)};var ___expo2=Module["___expo2"]=function(){return(___expo2=Module["___expo2"]=Module["asm"]["__expo2"]).apply(null,arguments)};var ___tandf=Module["___tandf"]=function(){return(___tandf=Module["___tandf"]=Module["asm"]["__tandf"]).apply(null,arguments)};var _exp2l=Module["_exp2l"]=function(){return(_exp2l=Module["_exp2l"]=Module["asm"]["exp2l"]).apply(null,arguments)};var ___extendsftf2=Module["___extendsftf2"]=function(){return(___extendsftf2=Module["___extendsftf2"]=Module["asm"]["__extendsftf2"]).apply(null,arguments)};var _lroundl=Module["_lroundl"]=function(){return(_lroundl=Module["_lroundl"]=Module["asm"]["lroundl"]).apply(null,arguments)};var _sincosl=Module["_sincosl"]=function(){return(_sincosl=Module["_sincosl"]=Module["asm"]["sincosl"]).apply(null,arguments)};var ___cosl=Module["___cosl"]=function(){return(___cosl=Module["___cosl"]=Module["asm"]["__cosl"]).apply(null,arguments)};var _lgamma=Module["_lgamma"]=function(){return(_lgamma=Module["_lgamma"]=Module["asm"]["lgamma"]).apply(null,arguments)};var _nanf=Module["_nanf"]=function(){return(_nanf=Module["_nanf"]=Module["asm"]["nanf"]).apply(null,arguments)};var _truncl=Module["_truncl"]=function(){return(_truncl=Module["_truncl"]=Module["asm"]["truncl"]).apply(null,arguments)};var _nextafterl=Module["_nextafterl"]=function(){return(_nextafterl=Module["_nextafterl"]=Module["asm"]["nextafterl"]).apply(null,arguments)};var _asinf=Module["_asinf"]=function(){return(_asinf=Module["_asinf"]=Module["asm"]["asinf"]).apply(null,arguments)};var _logbl=Module["_logbl"]=function(){return(_logbl=Module["_logbl"]=Module["asm"]["logbl"]).apply(null,arguments)};var _ilogbl=Module["_ilogbl"]=function(){return(_ilogbl=Module["_ilogbl"]=Module["asm"]["ilogbl"]).apply(null,arguments)};var _atanf=Module["_atanf"]=function(){return(_atanf=Module["_atanf"]=Module["asm"]["atanf"]).apply(null,arguments)};var _asinhl=Module["_asinhl"]=function(){return(_asinhl=Module["_asinhl"]=Module["asm"]["asinhl"]).apply(null,arguments)};var _cbrtl=Module["_cbrtl"]=function(){return(_cbrtl=Module["_cbrtl"]=Module["asm"]["cbrtl"]).apply(null,arguments)};var _nanl=Module["_nanl"]=function(){return(_nanl=Module["_nanl"]=Module["asm"]["nanl"]).apply(null,arguments)};var _lrintf=Module["_lrintf"]=function(){return(_lrintf=Module["_lrintf"]=Module["asm"]["lrintf"]).apply(null,arguments)};var _floorl=Module["_floorl"]=function(){return(_floorl=Module["_floorl"]=Module["asm"]["floorl"]).apply(null,arguments)};var _roundf=Module["_roundf"]=function(){return(_roundf=Module["_roundf"]=Module["asm"]["roundf"]).apply(null,arguments)};var _scalblnl=Module["_scalblnl"]=function(){return(_scalblnl=Module["_scalblnl"]=Module["asm"]["scalblnl"]).apply(null,arguments)};var _j0=Module["_j0"]=function(){return(_j0=Module["_j0"]=Module["asm"]["j0"]).apply(null,arguments)};var _y0=Module["_y0"]=function(){return(_y0=Module["_y0"]=Module["asm"]["y0"]).apply(null,arguments)};var _log10l=Module["_log10l"]=function(){return(_log10l=Module["_log10l"]=Module["asm"]["log10l"]).apply(null,arguments)};var _lroundf=Module["_lroundf"]=function(){return(_lroundf=Module["_lroundf"]=Module["asm"]["lroundf"]).apply(null,arguments)};var _nexttoward=Module["_nexttoward"]=function(){return(_nexttoward=Module["_nexttoward"]=Module["asm"]["nexttoward"]).apply(null,arguments)};var ___signbitl=Module["___signbitl"]=function(){return(___signbitl=Module["___signbitl"]=Module["asm"]["__signbitl"]).apply(null,arguments)};var ___sindf=Module["___sindf"]=function(){return(___sindf=Module["___sindf"]=Module["asm"]["__sindf"]).apply(null,arguments)};var ___cosdf=Module["___cosdf"]=function(){return(___cosdf=Module["___cosdf"]=Module["asm"]["__cosdf"]).apply(null,arguments)};var _asinhf=Module["_asinhf"]=function(){return(_asinhf=Module["_asinhf"]=Module["asm"]["asinhf"]).apply(null,arguments)};var _cosl=Module["_cosl"]=function(){return(_cosl=Module["_cosl"]=Module["asm"]["cosl"]).apply(null,arguments)};var _remquo=Module["_remquo"]=function(){return(_remquo=Module["_remquo"]=Module["asm"]["remquo"]).apply(null,arguments)};var _jnf=Module["_jnf"]=function(){return(_jnf=Module["_jnf"]=Module["asm"]["jnf"]).apply(null,arguments)};var _j0f=Module["_j0f"]=function(){return(_j0f=Module["_j0f"]=Module["asm"]["j0f"]).apply(null,arguments)};var _ynf=Module["_ynf"]=function(){return(_ynf=Module["_ynf"]=Module["asm"]["ynf"]).apply(null,arguments)};var _y0f=Module["_y0f"]=function(){return(_y0f=Module["_y0f"]=Module["asm"]["y0f"]).apply(null,arguments)};var _jn=Module["_jn"]=function(){return(_jn=Module["_jn"]=Module["asm"]["jn"]).apply(null,arguments)};var _j1=Module["_j1"]=function(){return(_j1=Module["_j1"]=Module["asm"]["j1"]).apply(null,arguments)};var _yn=Module["_yn"]=function(){return(_yn=Module["_yn"]=Module["asm"]["yn"]).apply(null,arguments)};var _y1=Module["_y1"]=function(){return(_y1=Module["_y1"]=Module["asm"]["y1"]).apply(null,arguments)};var _finite=Module["_finite"]=function(){return(_finite=Module["_finite"]=Module["asm"]["finite"]).apply(null,arguments)};var _tgammal=Module["_tgammal"]=function(){return(_tgammal=Module["_tgammal"]=Module["asm"]["tgammal"]).apply(null,arguments)};var _nexttowardl=Module["_nexttowardl"]=function(){return(_nexttowardl=Module["_nexttowardl"]=Module["asm"]["nexttowardl"]).apply(null,arguments)};var _lround=Module["_lround"]=function(){return(_lround=Module["_lround"]=Module["asm"]["lround"]).apply(null,arguments)};var _acoshl=Module["_acoshl"]=function(){return(_acoshl=Module["_acoshl"]=Module["asm"]["acoshl"]).apply(null,arguments)};var _modfl=Module["_modfl"]=function(){return(_modfl=Module["_modfl"]=Module["asm"]["modfl"]).apply(null,arguments)};var _fmaf=Module["_fmaf"]=function(){return(_fmaf=Module["_fmaf"]=Module["asm"]["fmaf"]).apply(null,arguments)};var _fegetround=Module["_fegetround"]=function(){return(_fegetround=Module["_fegetround"]=Module["asm"]["fegetround"]).apply(null,arguments)};var _fesetround=Module["_fesetround"]=function(){return(_fesetround=Module["_fesetround"]=Module["asm"]["fesetround"]).apply(null,arguments)};var _powl=Module["_powl"]=function(){return(_powl=Module["_powl"]=Module["asm"]["powl"]).apply(null,arguments)};var _remquof=Module["_remquof"]=function(){return(_remquof=Module["_remquof"]=Module["asm"]["remquof"]).apply(null,arguments)};var _remainder=Module["_remainder"]=function(){return(_remainder=Module["_remainder"]=Module["asm"]["remainder"]).apply(null,arguments)};var _drem=Module["_drem"]=function(){return(_drem=Module["_drem"]=Module["asm"]["drem"]).apply(null,arguments)};var _nextafterf=Module["_nextafterf"]=function(){return(_nextafterf=Module["_nextafterf"]=Module["asm"]["nextafterf"]).apply(null,arguments)};var _erfl=Module["_erfl"]=function(){return(_erfl=Module["_erfl"]=Module["asm"]["erfl"]).apply(null,arguments)};var _erfcl=Module["_erfcl"]=function(){return(_erfcl=Module["_erfcl"]=Module["asm"]["erfcl"]).apply(null,arguments)};var _scalblnf=Module["_scalblnf"]=function(){return(_scalblnf=Module["_scalblnf"]=Module["asm"]["scalblnf"]).apply(null,arguments)};var _cbrt=Module["_cbrt"]=function(){return(_cbrt=Module["_cbrt"]=Module["asm"]["cbrt"]).apply(null,arguments)};var _expl=Module["_expl"]=function(){return(_expl=Module["_expl"]=Module["asm"]["expl"]).apply(null,arguments)};var _llrint=Module["_llrint"]=function(){return(_llrint=Module["_llrint"]=Module["asm"]["llrint"]).apply(null,arguments)};var _fmal=Module["_fmal"]=function(){return(_fmal=Module["_fmal"]=Module["asm"]["fmal"]).apply(null,arguments)};var _ldexpl=Module["_ldexpl"]=function(){return(_ldexpl=Module["_ldexpl"]=Module["asm"]["ldexpl"]).apply(null,arguments)};var _asinl=Module["_asinl"]=function(){return(_asinl=Module["_asinl"]=Module["asm"]["asinl"]).apply(null,arguments)};var _exp10l=Module["_exp10l"]=function(){return(_exp10l=Module["_exp10l"]=Module["asm"]["exp10l"]).apply(null,arguments)};var _pow10l=Module["_pow10l"]=function(){return(_pow10l=Module["_pow10l"]=Module["asm"]["pow10l"]).apply(null,arguments)};var _cbrtf=Module["_cbrtf"]=function(){return(_cbrtf=Module["_cbrtf"]=Module["asm"]["cbrtf"]).apply(null,arguments)};var _sincosf=Module["_sincosf"]=function(){return(_sincosf=Module["_sincosf"]=Module["asm"]["sincosf"]).apply(null,arguments)};var _fdimf=Module["_fdimf"]=function(){return(_fdimf=Module["_fdimf"]=Module["asm"]["fdimf"]).apply(null,arguments)};var _remainderf=Module["_remainderf"]=function(){return(_remainderf=Module["_remainderf"]=Module["asm"]["remainderf"]).apply(null,arguments)};var _dremf=Module["_dremf"]=function(){return(_dremf=Module["_dremf"]=Module["asm"]["dremf"]).apply(null,arguments)};var _nearbyintf=Module["_nearbyintf"]=function(){return(_nearbyintf=Module["_nearbyintf"]=Module["asm"]["nearbyintf"]).apply(null,arguments)};var _floorf=Module["_floorf"]=function(){return(_floorf=Module["_floorf"]=Module["asm"]["floorf"]).apply(null,arguments)};var _llrintf=Module["_llrintf"]=function(){return(_llrintf=Module["_llrintf"]=Module["asm"]["llrintf"]).apply(null,arguments)};var _llround=Module["_llround"]=function(){return(_llround=Module["_llround"]=Module["asm"]["llround"]).apply(null,arguments)};var _lgammaf_r=Module["_lgammaf_r"]=function(){return(_lgammaf_r=Module["_lgammaf_r"]=Module["asm"]["lgammaf_r"]).apply(null,arguments)};var _nexttowardf=Module["_nexttowardf"]=function(){return(_nexttowardf=Module["_nexttowardf"]=Module["asm"]["nexttowardf"]).apply(null,arguments)};var _ldexpf=Module["_ldexpf"]=function(){return(_ldexpf=Module["_ldexpf"]=Module["asm"]["ldexpf"]).apply(null,arguments)};var _sincos=Module["_sincos"]=function(){return(_sincos=Module["_sincos"]=Module["asm"]["sincos"]).apply(null,arguments)};var _sinl=Module["_sinl"]=function(){return(_sinl=Module["_sinl"]=Module["asm"]["sinl"]).apply(null,arguments)};var _llroundf=Module["_llroundf"]=function(){return(_llroundf=Module["_llroundf"]=Module["asm"]["llroundf"]).apply(null,arguments)};var _fdiml=Module["_fdiml"]=function(){return(_fdiml=Module["_fdiml"]=Module["asm"]["fdiml"]).apply(null,arguments)};var _erff=Module["_erff"]=function(){return(_erff=Module["_erff"]=Module["asm"]["erff"]).apply(null,arguments)};var _erfcf=Module["_erfcf"]=function(){return(_erfcf=Module["_erfcf"]=Module["asm"]["erfcf"]).apply(null,arguments)};var _lrintl=Module["_lrintl"]=function(){return(_lrintl=Module["_lrintl"]=Module["asm"]["lrintl"]).apply(null,arguments)};var _powf=Module["_powf"]=function(){return(_powf=Module["_powf"]=Module["asm"]["powf"]).apply(null,arguments)};var _expm1l=Module["_expm1l"]=function(){return(_expm1l=Module["_expm1l"]=Module["asm"]["expm1l"]).apply(null,arguments)};var ___fpclassifyf=Module["___fpclassifyf"]=function(){return(___fpclassifyf=Module["___fpclassifyf"]=Module["asm"]["__fpclassifyf"]).apply(null,arguments)};var _frexpf=Module["_frexpf"]=function(){return(_frexpf=Module["_frexpf"]=Module["asm"]["frexpf"]).apply(null,arguments)};var _logb=Module["_logb"]=function(){return(_logb=Module["_logb"]=Module["asm"]["logb"]).apply(null,arguments)};var ___lgammal_r=Module["___lgammal_r"]=function(){return(___lgammal_r=Module["___lgammal_r"]=Module["asm"]["__lgammal_r"]).apply(null,arguments)};var _lgammal=Module["_lgammal"]=function(){return(_lgammal=Module["_lgammal"]=Module["asm"]["lgammal"]).apply(null,arguments)};var _lgammal_r=Module["_lgammal_r"]=function(){return(_lgammal_r=Module["_lgammal_r"]=Module["asm"]["lgammal_r"]).apply(null,arguments)};var _lrint=Module["_lrint"]=function(){return(_lrint=Module["_lrint"]=Module["asm"]["lrint"]).apply(null,arguments)};var _fma=Module["_fma"]=function(){return(_fma=Module["_fma"]=Module["asm"]["fma"]).apply(null,arguments)};var _truncf=Module["_truncf"]=function(){return(_truncf=Module["_truncf"]=Module["asm"]["truncf"]).apply(null,arguments)};var _tanhf=Module["_tanhf"]=function(){return(_tanhf=Module["_tanhf"]=Module["asm"]["tanhf"]).apply(null,arguments)};var _sinhl=Module["_sinhl"]=function(){return(_sinhl=Module["_sinhl"]=Module["asm"]["sinhl"]).apply(null,arguments)};var _tcflow=Module["_tcflow"]=function(){return(_tcflow=Module["_tcflow"]=Module["asm"]["tcflow"]).apply(null,arguments)};var _tcgetsid=Module["_tcgetsid"]=function(){return(_tcgetsid=Module["_tcgetsid"]=Module["asm"]["tcgetsid"]).apply(null,arguments)};var _tcsetattr=Module["_tcsetattr"]=function(){return(_tcsetattr=Module["_tcsetattr"]=Module["asm"]["tcsetattr"]).apply(null,arguments)};var _cfgetospeed=Module["_cfgetospeed"]=function(){return(_cfgetospeed=Module["_cfgetospeed"]=Module["asm"]["cfgetospeed"]).apply(null,arguments)};var _cfgetispeed=Module["_cfgetispeed"]=function(){return(_cfgetispeed=Module["_cfgetispeed"]=Module["asm"]["cfgetispeed"]).apply(null,arguments)};var _tcsendbreak=Module["_tcsendbreak"]=function(){return(_tcsendbreak=Module["_tcsendbreak"]=Module["asm"]["tcsendbreak"]).apply(null,arguments)};var _cfmakeraw=Module["_cfmakeraw"]=function(){return(_cfmakeraw=Module["_cfmakeraw"]=Module["asm"]["cfmakeraw"]).apply(null,arguments)};var _cfsetospeed=Module["_cfsetospeed"]=function(){return(_cfsetospeed=Module["_cfsetospeed"]=Module["asm"]["cfsetospeed"]).apply(null,arguments)};var _cfsetispeed=Module["_cfsetispeed"]=function(){return(_cfsetispeed=Module["_cfsetispeed"]=Module["asm"]["cfsetispeed"]).apply(null,arguments)};var _cfsetspeed=Module["_cfsetspeed"]=function(){return(_cfsetspeed=Module["_cfsetspeed"]=Module["asm"]["cfsetspeed"]).apply(null,arguments)};var _tcdrain=Module["_tcdrain"]=function(){return(_tcdrain=Module["_tcdrain"]=Module["asm"]["tcdrain"]).apply(null,arguments)};var _tcflush=Module["_tcflush"]=function(){return(_tcflush=Module["_tcflush"]=Module["asm"]["tcflush"]).apply(null,arguments)};var _tcgetattr=Module["_tcgetattr"]=function(){return(_tcgetattr=Module["_tcgetattr"]=Module["asm"]["tcgetattr"]).apply(null,arguments)};var _nice=Module["_nice"]=function(){return(_nice=Module["_nice"]=Module["asm"]["nice"]).apply(null,arguments)};var _ualarm=Module["_ualarm"]=function(){return(_ualarm=Module["_ualarm"]=Module["asm"]["ualarm"]).apply(null,arguments)};var _posix_close=Module["_posix_close"]=function(){return(_posix_close=Module["_posix_close"]=Module["asm"]["posix_close"]).apply(null,arguments)};var _dup3=Module["_dup3"]=function(){return(_dup3=Module["_dup3"]=Module["asm"]["dup3"]).apply(null,arguments)};var _lseek64=Module["_lseek64"]=function(){return(_lseek64=Module["_lseek64"]=Module["asm"]["lseek64"]).apply(null,arguments)};var _fchownat=Module["_fchownat"]=function(){return(_fchownat=Module["_fchownat"]=Module["asm"]["fchownat"]).apply(null,arguments)};var _ttyname=Module["_ttyname"]=function(){return(_ttyname=Module["_ttyname"]=Module["asm"]["ttyname"]).apply(null,arguments)};var _readlinkat=Module["_readlinkat"]=function(){return(_readlinkat=Module["_readlinkat"]=Module["asm"]["readlinkat"]).apply(null,arguments)};var ___setxid=Module["___setxid"]=function(){return(___setxid=Module["___setxid"]=Module["asm"]["__setxid"]).apply(null,arguments)};var _ftruncate64=Module["_ftruncate64"]=function(){return(_ftruncate64=Module["_ftruncate64"]=Module["asm"]["ftruncate64"]).apply(null,arguments)};var _pread64=Module["_pread64"]=function(){return(_pread64=Module["_pread64"]=Module["asm"]["pread64"]).apply(null,arguments)};var _linkat=Module["_linkat"]=function(){return(_linkat=Module["_linkat"]=Module["asm"]["linkat"]).apply(null,arguments)};var _preadv=Module["_preadv"]=function(){return(_preadv=Module["_preadv"]=Module["asm"]["preadv"]).apply(null,arguments)};var _preadv64=Module["_preadv64"]=function(){return(_preadv64=Module["_preadv64"]=Module["asm"]["preadv64"]).apply(null,arguments)};var _pipe2=Module["_pipe2"]=function(){return(_pipe2=Module["_pipe2"]=Module["asm"]["pipe2"]).apply(null,arguments)};var ___synccall=Module["___synccall"]=function(){return(___synccall=Module["___synccall"]=Module["asm"]["__synccall"]).apply(null,arguments)};var _renameat=Module["_renameat"]=function(){return(_renameat=Module["_renameat"]=Module["asm"]["renameat"]).apply(null,arguments)};var _sleep=Module["_sleep"]=function(){return(_sleep=Module["_sleep"]=Module["asm"]["sleep"]).apply(null,arguments)};var _symlinkat=Module["_symlinkat"]=function(){return(_symlinkat=Module["_symlinkat"]=Module["asm"]["symlinkat"]).apply(null,arguments)};var _pwritev=Module["_pwritev"]=function(){return(_pwritev=Module["_pwritev"]=Module["asm"]["pwritev"]).apply(null,arguments)};var _pwritev64=Module["_pwritev64"]=function(){return(_pwritev64=Module["_pwritev64"]=Module["asm"]["pwritev64"]).apply(null,arguments)};var _acct=Module["_acct"]=function(){return(_acct=Module["_acct"]=Module["asm"]["acct"]).apply(null,arguments)};var _pwrite64=Module["_pwrite64"]=function(){return(_pwrite64=Module["_pwrite64"]=Module["asm"]["pwrite64"]).apply(null,arguments)};var _getlogin_r=Module["_getlogin_r"]=function(){return(_getlogin_r=Module["_getlogin_r"]=Module["asm"]["getlogin_r"]).apply(null,arguments)};var __Exit=Module["__Exit"]=function(){return(__Exit=Module["__Exit"]=Module["asm"]["_Exit"]).apply(null,arguments)};var _truncate64=Module["_truncate64"]=function(){return(_truncate64=Module["_truncate64"]=Module["asm"]["truncate64"]).apply(null,arguments)};var _get_nprocs_conf=Module["_get_nprocs_conf"]=function(){return(_get_nprocs_conf=Module["_get_nprocs_conf"]=Module["asm"]["get_nprocs_conf"]).apply(null,arguments)};var _get_nprocs=Module["_get_nprocs"]=function(){return(_get_nprocs=Module["_get_nprocs"]=Module["asm"]["get_nprocs"]).apply(null,arguments)};var _get_phys_pages=Module["_get_phys_pages"]=function(){return(_get_phys_pages=Module["_get_phys_pages"]=Module["asm"]["get_phys_pages"]).apply(null,arguments)};var _get_avphys_pages=Module["_get_avphys_pages"]=function(){return(_get_avphys_pages=Module["_get_avphys_pages"]=Module["asm"]["get_avphys_pages"]).apply(null,arguments)};var _pselect=Module["_pselect"]=function(){return(_pselect=Module["_pselect"]=Module["asm"]["pselect"]).apply(null,arguments)};var _wcpncpy=Module["_wcpncpy"]=function(){return(_wcpncpy=Module["_wcpncpy"]=Module["asm"]["wcpncpy"]).apply(null,arguments)};var _wcsnlen=Module["_wcsnlen"]=function(){return(_wcsnlen=Module["_wcsnlen"]=Module["asm"]["wcsnlen"]).apply(null,arguments)};var _wcsdup=Module["_wcsdup"]=function(){return(_wcsdup=Module["_wcsdup"]=Module["asm"]["wcsdup"]).apply(null,arguments)};var _bcmp=Module["_bcmp"]=function(){return(_bcmp=Module["_bcmp"]=Module["asm"]["bcmp"]).apply(null,arguments)};var _strpbrk=Module["_strpbrk"]=function(){return(_strpbrk=Module["_strpbrk"]=Module["asm"]["strpbrk"]).apply(null,arguments)};var _strtok_r=Module["_strtok_r"]=function(){return(_strtok_r=Module["_strtok_r"]=Module["asm"]["strtok_r"]).apply(null,arguments)};var _strspn=Module["_strspn"]=function(){return(_strspn=Module["_strspn"]=Module["asm"]["strspn"]).apply(null,arguments)};var _strlcat=Module["_strlcat"]=function(){return(_strlcat=Module["_strlcat"]=Module["asm"]["strlcat"]).apply(null,arguments)};var _strlcpy=Module["_strlcpy"]=function(){return(_strlcpy=Module["_strlcpy"]=Module["asm"]["strlcpy"]).apply(null,arguments)};var ___stpncpy=Module["___stpncpy"]=function(){return(___stpncpy=Module["___stpncpy"]=Module["asm"]["__stpncpy"]).apply(null,arguments)};var _strcasestr=Module["_strcasestr"]=function(){return(_strcasestr=Module["_strcasestr"]=Module["asm"]["strcasestr"]).apply(null,arguments)};var _strncasecmp=Module["_strncasecmp"]=function(){return(_strncasecmp=Module["_strncasecmp"]=Module["asm"]["strncasecmp"]).apply(null,arguments)};var _strsep=Module["_strsep"]=function(){return(_strsep=Module["_strsep"]=Module["asm"]["strsep"]).apply(null,arguments)};var _wcsncasecmp=Module["_wcsncasecmp"]=function(){return(_wcsncasecmp=Module["_wcsncasecmp"]=Module["asm"]["wcsncasecmp"]).apply(null,arguments)};var _stpncpy=Module["_stpncpy"]=function(){return(_stpncpy=Module["_stpncpy"]=Module["asm"]["stpncpy"]).apply(null,arguments)};var _rindex=Module["_rindex"]=function(){return(_rindex=Module["_rindex"]=Module["asm"]["rindex"]).apply(null,arguments)};var _wcpcpy=Module["_wcpcpy"]=function(){return(_wcpcpy=Module["_wcpcpy"]=Module["asm"]["wcpcpy"]).apply(null,arguments)};var _strncat=Module["_strncat"]=function(){return(_strncat=Module["_strncat"]=Module["asm"]["strncat"]).apply(null,arguments)};var _wmemset=Module["_wmemset"]=function(){return(_wmemset=Module["_wmemset"]=Module["asm"]["wmemset"]).apply(null,arguments)};var _strtok=Module["_strtok"]=function(){return(_strtok=Module["_strtok"]=Module["asm"]["strtok"]).apply(null,arguments)};var _wmemmove=Module["_wmemmove"]=function(){return(_wmemmove=Module["_wmemmove"]=Module["asm"]["wmemmove"]).apply(null,arguments)};var _wcscasecmp=Module["_wcscasecmp"]=function(){return(_wcscasecmp=Module["_wcscasecmp"]=Module["asm"]["wcscasecmp"]).apply(null,arguments)};var ___memrchr=Module["___memrchr"]=function(){return(___memrchr=Module["___memrchr"]=Module["asm"]["__memrchr"]).apply(null,arguments)};var ___strcasecmp_l=Module["___strcasecmp_l"]=function(){return(___strcasecmp_l=Module["___strcasecmp_l"]=Module["asm"]["__strcasecmp_l"]).apply(null,arguments)};var _strcasecmp_l=Module["_strcasecmp_l"]=function(){return(_strcasecmp_l=Module["_strcasecmp_l"]=Module["asm"]["strcasecmp_l"]).apply(null,arguments)};var _wcscspn=Module["_wcscspn"]=function(){return(_wcscspn=Module["_wcscspn"]=Module["asm"]["wcscspn"]).apply(null,arguments)};var _wcsncasecmp_l=Module["_wcsncasecmp_l"]=function(){return(_wcsncasecmp_l=Module["_wcsncasecmp_l"]=Module["asm"]["wcsncasecmp_l"]).apply(null,arguments)};var _mempcpy=Module["_mempcpy"]=function(){return(_mempcpy=Module["_mempcpy"]=Module["asm"]["mempcpy"]).apply(null,arguments)};var ___strncasecmp_l=Module["___strncasecmp_l"]=function(){return(___strncasecmp_l=Module["___strncasecmp_l"]=Module["asm"]["__strncasecmp_l"]).apply(null,arguments)};var _strncasecmp_l=Module["_strncasecmp_l"]=function(){return(_strncasecmp_l=Module["_strncasecmp_l"]=Module["asm"]["strncasecmp_l"]).apply(null,arguments)};var _strchrnul=Module["_strchrnul"]=function(){return(_strchrnul=Module["_strchrnul"]=Module["asm"]["strchrnul"]).apply(null,arguments)};var _wcsstr=Module["_wcsstr"]=function(){return(_wcsstr=Module["_wcsstr"]=Module["asm"]["wcsstr"]).apply(null,arguments)};var _wcswcs=Module["_wcswcs"]=function(){return(_wcswcs=Module["_wcswcs"]=Module["asm"]["wcswcs"]).apply(null,arguments)};var ___xpg_strerror_r=Module["___xpg_strerror_r"]=function(){return(___xpg_strerror_r=Module["___xpg_strerror_r"]=Module["asm"]["__xpg_strerror_r"]).apply(null,arguments)};var _memccpy=Module["_memccpy"]=function(){return(_memccpy=Module["_memccpy"]=Module["asm"]["memccpy"]).apply(null,arguments)};var _strndup=Module["_strndup"]=function(){return(_strndup=Module["_strndup"]=Module["asm"]["strndup"]).apply(null,arguments)};var ___stpcpy=Module["___stpcpy"]=function(){return(___stpcpy=Module["___stpcpy"]=Module["asm"]["__stpcpy"]).apply(null,arguments)};var _bzero=Module["_bzero"]=function(){return(_bzero=Module["_bzero"]=Module["asm"]["bzero"]).apply(null,arguments)};var _bcopy=Module["_bcopy"]=function(){return(_bcopy=Module["_bcopy"]=Module["asm"]["bcopy"]).apply(null,arguments)};var _stpcpy=Module["_stpcpy"]=function(){return(_stpcpy=Module["_stpcpy"]=Module["asm"]["stpcpy"]).apply(null,arguments)};var _wcscasecmp_l=Module["_wcscasecmp_l"]=function(){return(_wcscasecmp_l=Module["_wcscasecmp_l"]=Module["asm"]["wcscasecmp_l"]).apply(null,arguments)};var _strverscmp=Module["_strverscmp"]=function(){return(_strverscmp=Module["_strverscmp"]=Module["asm"]["strverscmp"]).apply(null,arguments)};var ___strdup=Module["___strdup"]=function(){return(___strdup=Module["___strdup"]=Module["asm"]["__strdup"]).apply(null,arguments)};var _wcspbrk=Module["_wcspbrk"]=function(){return(_wcspbrk=Module["_wcspbrk"]=Module["asm"]["wcspbrk"]).apply(null,arguments)};var _swab=Module["_swab"]=function(){return(_swab=Module["_swab"]=Module["asm"]["swab"]).apply(null,arguments)};var _index=Module["_index"]=function(){return(_index=Module["_index"]=Module["asm"]["index"]).apply(null,arguments)};var _memmem=Module["_memmem"]=function(){return(_memmem=Module["_memmem"]=Module["asm"]["memmem"]).apply(null,arguments)};var ___crypt_md5=Module["___crypt_md5"]=function(){return(___crypt_md5=Module["___crypt_md5"]=Module["asm"]["__crypt_md5"]).apply(null,arguments)};var _crypt=Module["_crypt"]=function(){return(_crypt=Module["_crypt"]=Module["asm"]["crypt"]).apply(null,arguments)};var ___crypt_r=Module["___crypt_r"]=function(){return(___crypt_r=Module["___crypt_r"]=Module["asm"]["__crypt_r"]).apply(null,arguments)};var _setkey=Module["_setkey"]=function(){return(_setkey=Module["_setkey"]=Module["asm"]["setkey"]).apply(null,arguments)};var ___des_setkey=Module["___des_setkey"]=function(){return(___des_setkey=Module["___des_setkey"]=Module["asm"]["__des_setkey"]).apply(null,arguments)};var _encrypt=Module["_encrypt"]=function(){return(_encrypt=Module["_encrypt"]=Module["asm"]["encrypt"]).apply(null,arguments)};var ___do_des=Module["___do_des"]=function(){return(___do_des=Module["___do_des"]=Module["asm"]["__do_des"]).apply(null,arguments)};var ___crypt_des=Module["___crypt_des"]=function(){return(___crypt_des=Module["___crypt_des"]=Module["asm"]["__crypt_des"]).apply(null,arguments)};var ___crypt_blowfish=Module["___crypt_blowfish"]=function(){return(___crypt_blowfish=Module["___crypt_blowfish"]=Module["asm"]["__crypt_blowfish"]).apply(null,arguments)};var ___crypt_sha256=Module["___crypt_sha256"]=function(){return(___crypt_sha256=Module["___crypt_sha256"]=Module["asm"]["__crypt_sha256"]).apply(null,arguments)};var ___crypt_sha512=Module["___crypt_sha512"]=function(){return(___crypt_sha512=Module["___crypt_sha512"]=Module["asm"]["__crypt_sha512"]).apply(null,arguments)};var ___multi3=Module["___multi3"]=function(){return(___multi3=Module["___multi3"]=Module["asm"]["__multi3"]).apply(null,arguments)};var ___libc_get_version=Module["___libc_get_version"]=function(){return(___libc_get_version=Module["___libc_get_version"]=Module["asm"]["__libc_get_version"]).apply(null,arguments)};var ___floatunsitf=Module["___floatunsitf"]=function(){return(___floatunsitf=Module["___floatunsitf"]=Module["asm"]["__floatunsitf"]).apply(null,arguments)};var _fmodl=Module["_fmodl"]=function(){return(_fmodl=Module["_fmodl"]=Module["asm"]["fmodl"]).apply(null,arguments)};var _strtoull=Module["_strtoull"]=function(){return(_strtoull=Module["_strtoull"]=Module["asm"]["strtoull"]).apply(null,arguments)};var _strtoll=Module["_strtoll"]=function(){return(_strtoll=Module["_strtoll"]=Module["asm"]["strtoll"]).apply(null,arguments)};var _strtoimax=Module["_strtoimax"]=function(){return(_strtoimax=Module["_strtoimax"]=Module["asm"]["strtoimax"]).apply(null,arguments)};var _strtoumax=Module["_strtoumax"]=function(){return(_strtoumax=Module["_strtoumax"]=Module["asm"]["strtoumax"]).apply(null,arguments)};var ___strtol_internal=Module["___strtol_internal"]=function(){return(___strtol_internal=Module["___strtol_internal"]=Module["asm"]["__strtol_internal"]).apply(null,arguments)};var ___strtoul_internal=Module["___strtoul_internal"]=function(){return(___strtoul_internal=Module["___strtoul_internal"]=Module["asm"]["__strtoul_internal"]).apply(null,arguments)};var ___strtoll_internal=Module["___strtoll_internal"]=function(){return(___strtoll_internal=Module["___strtoll_internal"]=Module["asm"]["__strtoll_internal"]).apply(null,arguments)};var ___strtoull_internal=Module["___strtoull_internal"]=function(){return(___strtoull_internal=Module["___strtoull_internal"]=Module["asm"]["__strtoull_internal"]).apply(null,arguments)};var ___strtoimax_internal=Module["___strtoimax_internal"]=function(){return(___strtoimax_internal=Module["___strtoimax_internal"]=Module["asm"]["__strtoimax_internal"]).apply(null,arguments)};var ___strtoumax_internal=Module["___strtoumax_internal"]=function(){return(___strtoumax_internal=Module["___strtoumax_internal"]=Module["asm"]["__strtoumax_internal"]).apply(null,arguments)};var _gcvt=Module["_gcvt"]=function(){return(_gcvt=Module["_gcvt"]=Module["asm"]["gcvt"]).apply(null,arguments)};var _ldiv=Module["_ldiv"]=function(){return(_ldiv=Module["_ldiv"]=Module["asm"]["ldiv"]).apply(null,arguments)};var _labs=Module["_labs"]=function(){return(_labs=Module["_labs"]=Module["asm"]["labs"]).apply(null,arguments)};var _strtod=Module["_strtod"]=function(){return(_strtod=Module["_strtod"]=Module["asm"]["strtod"]).apply(null,arguments)};var _atoll=Module["_atoll"]=function(){return(_atoll=Module["_atoll"]=Module["asm"]["atoll"]).apply(null,arguments)};var _imaxabs=Module["_imaxabs"]=function(){return(_imaxabs=Module["_imaxabs"]=Module["asm"]["imaxabs"]).apply(null,arguments)};var _wcstoull=Module["_wcstoull"]=function(){return(_wcstoull=Module["_wcstoull"]=Module["asm"]["wcstoull"]).apply(null,arguments)};var _wcstoll=Module["_wcstoll"]=function(){return(_wcstoll=Module["_wcstoll"]=Module["asm"]["wcstoll"]).apply(null,arguments)};var _wcstoul=Module["_wcstoul"]=function(){return(_wcstoul=Module["_wcstoul"]=Module["asm"]["wcstoul"]).apply(null,arguments)};var _wcstoimax=Module["_wcstoimax"]=function(){return(_wcstoimax=Module["_wcstoimax"]=Module["asm"]["wcstoimax"]).apply(null,arguments)};var _wcstoumax=Module["_wcstoumax"]=function(){return(_wcstoumax=Module["_wcstoumax"]=Module["asm"]["wcstoumax"]).apply(null,arguments)};var _div=Module["_div"]=function(){return(_div=Module["_div"]=Module["asm"]["div"]).apply(null,arguments)};var _bsearch=Module["_bsearch"]=function(){return(_bsearch=Module["_bsearch"]=Module["asm"]["bsearch"]).apply(null,arguments)};var _lldiv=Module["_lldiv"]=function(){return(_lldiv=Module["_lldiv"]=Module["asm"]["lldiv"]).apply(null,arguments)};var _atoi=Module["_atoi"]=function(){return(_atoi=Module["_atoi"]=Module["asm"]["atoi"]).apply(null,arguments)};var _llabs=Module["_llabs"]=function(){return(_llabs=Module["_llabs"]=Module["asm"]["llabs"]).apply(null,arguments)};var _ecvt=Module["_ecvt"]=function(){return(_ecvt=Module["_ecvt"]=Module["asm"]["ecvt"]).apply(null,arguments)};var _fcvt=Module["_fcvt"]=function(){return(_fcvt=Module["_fcvt"]=Module["asm"]["fcvt"]).apply(null,arguments)};var _abs=Module["_abs"]=function(){return(_abs=Module["_abs"]=Module["asm"]["abs"]).apply(null,arguments)};var _strtof=Module["_strtof"]=function(){return(_strtof=Module["_strtof"]=Module["asm"]["strtof"]).apply(null,arguments)};var _strtold=Module["_strtold"]=function(){return(_strtold=Module["_strtold"]=Module["asm"]["strtold"]).apply(null,arguments)};var _strtof_l=Module["_strtof_l"]=function(){return(_strtof_l=Module["_strtof_l"]=Module["asm"]["strtof_l"]).apply(null,arguments)};var _strtod_l=Module["_strtod_l"]=function(){return(_strtod_l=Module["_strtod_l"]=Module["asm"]["strtod_l"]).apply(null,arguments)};var _strtold_l=Module["_strtold_l"]=function(){return(_strtold_l=Module["_strtold_l"]=Module["asm"]["strtold_l"]).apply(null,arguments)};var _imaxdiv=Module["_imaxdiv"]=function(){return(_imaxdiv=Module["_imaxdiv"]=Module["asm"]["imaxdiv"]).apply(null,arguments)};var _wcstof=Module["_wcstof"]=function(){return(_wcstof=Module["_wcstof"]=Module["asm"]["wcstof"]).apply(null,arguments)};var _wcstod=Module["_wcstod"]=function(){return(_wcstod=Module["_wcstod"]=Module["asm"]["wcstod"]).apply(null,arguments)};var _wcstold=Module["_wcstold"]=function(){return(_wcstold=Module["_wcstold"]=Module["asm"]["wcstold"]).apply(null,arguments)};var _mktemp=Module["_mktemp"]=function(){return(_mktemp=Module["_mktemp"]=Module["asm"]["mktemp"]).apply(null,arguments)};var ___mkostemps=Module["___mkostemps"]=function(){return(___mkostemps=Module["___mkostemps"]=Module["asm"]["__mkostemps"]).apply(null,arguments)};var _mkostemps=Module["_mkostemps"]=function(){return(_mkostemps=Module["_mkostemps"]=Module["asm"]["mkostemps"]).apply(null,arguments)};var _mkostemps64=Module["_mkostemps64"]=function(){return(_mkostemps64=Module["_mkostemps64"]=Module["asm"]["mkostemps64"]).apply(null,arguments)};var _mkstemps=Module["_mkstemps"]=function(){return(_mkstemps=Module["_mkstemps"]=Module["asm"]["mkstemps"]).apply(null,arguments)};var _mkstemps64=Module["_mkstemps64"]=function(){return(_mkstemps64=Module["_mkstemps64"]=Module["asm"]["mkstemps64"]).apply(null,arguments)};var _mkdtemp=Module["_mkdtemp"]=function(){return(_mkdtemp=Module["_mkdtemp"]=Module["asm"]["mkdtemp"]).apply(null,arguments)};var _mkstemp=Module["_mkstemp"]=function(){return(_mkstemp=Module["_mkstemp"]=Module["asm"]["mkstemp"]).apply(null,arguments)};var _mkstemp64=Module["_mkstemp64"]=function(){return(_mkstemp64=Module["_mkstemp64"]=Module["asm"]["mkstemp64"]).apply(null,arguments)};var _mkostemp=Module["_mkostemp"]=function(){return(_mkostemp=Module["_mkostemp"]=Module["asm"]["mkostemp"]).apply(null,arguments)};var _mkostemp64=Module["_mkostemp64"]=function(){return(_mkostemp64=Module["_mkostemp64"]=Module["asm"]["mkostemp64"]).apply(null,arguments)};var _fegetexceptflag=Module["_fegetexceptflag"]=function(){return(_fegetexceptflag=Module["_fegetexceptflag"]=Module["asm"]["fegetexceptflag"]).apply(null,arguments)};var _fetestexcept=Module["_fetestexcept"]=function(){return(_fetestexcept=Module["_fetestexcept"]=Module["asm"]["fetestexcept"]).apply(null,arguments)};var _fesetexceptflag=Module["_fesetexceptflag"]=function(){return(_fesetexceptflag=Module["_fesetexceptflag"]=Module["asm"]["fesetexceptflag"]).apply(null,arguments)};var _feclearexcept=Module["_feclearexcept"]=function(){return(_feclearexcept=Module["_feclearexcept"]=Module["asm"]["feclearexcept"]).apply(null,arguments)};var _feraiseexcept=Module["_feraiseexcept"]=function(){return(_feraiseexcept=Module["_feraiseexcept"]=Module["asm"]["feraiseexcept"]).apply(null,arguments)};var ___flt_rounds=Module["___flt_rounds"]=function(){return(___flt_rounds=Module["___flt_rounds"]=Module["asm"]["__flt_rounds"]).apply(null,arguments)};var _feholdexcept=Module["_feholdexcept"]=function(){return(_feholdexcept=Module["_feholdexcept"]=Module["asm"]["feholdexcept"]).apply(null,arguments)};var _fegetenv=Module["_fegetenv"]=function(){return(_fegetenv=Module["_fegetenv"]=Module["asm"]["fegetenv"]).apply(null,arguments)};var ___fesetround=Module["___fesetround"]=function(){return(___fesetround=Module["___fesetround"]=Module["asm"]["__fesetround"]).apply(null,arguments)};var _feupdateenv=Module["_feupdateenv"]=function(){return(_feupdateenv=Module["_feupdateenv"]=Module["asm"]["feupdateenv"]).apply(null,arguments)};var _fesetenv=Module["_fesetenv"]=function(){return(_fesetenv=Module["_fesetenv"]=Module["asm"]["fesetenv"]).apply(null,arguments)};var _tdelete=Module["_tdelete"]=function(){return(_tdelete=Module["_tdelete"]=Module["asm"]["tdelete"]).apply(null,arguments)};var _tfind=Module["_tfind"]=function(){return(_tfind=Module["_tfind"]=Module["asm"]["tfind"]).apply(null,arguments)};var _tsearch=Module["_tsearch"]=function(){return(_tsearch=Module["_tsearch"]=Module["asm"]["tsearch"]).apply(null,arguments)};var _twalk=Module["_twalk"]=function(){return(_twalk=Module["_twalk"]=Module["asm"]["twalk"]).apply(null,arguments)};var _insque=Module["_insque"]=function(){return(_insque=Module["_insque"]=Module["asm"]["insque"]).apply(null,arguments)};var _remque=Module["_remque"]=function(){return(_remque=Module["_remque"]=Module["asm"]["remque"]).apply(null,arguments)};var _hcreate=Module["_hcreate"]=function(){return(_hcreate=Module["_hcreate"]=Module["asm"]["hcreate"]).apply(null,arguments)};var ___hcreate_r=Module["___hcreate_r"]=function(){return(___hcreate_r=Module["___hcreate_r"]=Module["asm"]["__hcreate_r"]).apply(null,arguments)};var _hdestroy=Module["_hdestroy"]=function(){return(_hdestroy=Module["_hdestroy"]=Module["asm"]["hdestroy"]).apply(null,arguments)};var ___hdestroy_r=Module["___hdestroy_r"]=function(){return(___hdestroy_r=Module["___hdestroy_r"]=Module["asm"]["__hdestroy_r"]).apply(null,arguments)};var _hsearch=Module["_hsearch"]=function(){return(_hsearch=Module["_hsearch"]=Module["asm"]["hsearch"]).apply(null,arguments)};var ___hsearch_r=Module["___hsearch_r"]=function(){return(___hsearch_r=Module["___hsearch_r"]=Module["asm"]["__hsearch_r"]).apply(null,arguments)};var _hcreate_r=Module["_hcreate_r"]=function(){return(_hcreate_r=Module["_hcreate_r"]=Module["asm"]["hcreate_r"]).apply(null,arguments)};var _hdestroy_r=Module["_hdestroy_r"]=function(){return(_hdestroy_r=Module["_hdestroy_r"]=Module["asm"]["hdestroy_r"]).apply(null,arguments)};var _hsearch_r=Module["_hsearch_r"]=function(){return(_hsearch_r=Module["_hsearch_r"]=Module["asm"]["hsearch_r"]).apply(null,arguments)};var _tdestroy=Module["_tdestroy"]=function(){return(_tdestroy=Module["_tdestroy"]=Module["asm"]["tdestroy"]).apply(null,arguments)};var _lsearch=Module["_lsearch"]=function(){return(_lsearch=Module["_lsearch"]=Module["asm"]["lsearch"]).apply(null,arguments)};var _lfind=Module["_lfind"]=function(){return(_lfind=Module["_lfind"]=Module["asm"]["lfind"]).apply(null,arguments)};var _ffsl=Module["_ffsl"]=function(){return(_ffsl=Module["_ffsl"]=Module["asm"]["ffsl"]).apply(null,arguments)};var _setdomainname=Module["_setdomainname"]=function(){return(_setdomainname=Module["_setdomainname"]=Module["asm"]["setdomainname"]).apply(null,arguments)};var _login_tty=Module["_login_tty"]=function(){return(_login_tty=Module["_login_tty"]=Module["asm"]["login_tty"]).apply(null,arguments)};var _ffsll=Module["_ffsll"]=function(){return(_ffsll=Module["_ffsll"]=Module["asm"]["ffsll"]).apply(null,arguments)};var _ffs=Module["_ffs"]=function(){return(_ffs=Module["_ffs"]=Module["asm"]["ffs"]).apply(null,arguments)};var _lockf64=Module["_lockf64"]=function(){return(_lockf64=Module["_lockf64"]=Module["asm"]["lockf64"]).apply(null,arguments)};var _getdomainname=Module["_getdomainname"]=function(){return(_getdomainname=Module["_getdomainname"]=Module["asm"]["getdomainname"]).apply(null,arguments)};var _a64l=Module["_a64l"]=function(){return(_a64l=Module["_a64l"]=Module["asm"]["a64l"]).apply(null,arguments)};var _l64a=Module["_l64a"]=function(){return(_l64a=Module["_l64a"]=Module["asm"]["l64a"]).apply(null,arguments)};var ___getopt_msg=Module["___getopt_msg"]=function(){return(___getopt_msg=Module["___getopt_msg"]=Module["asm"]["__getopt_msg"]).apply(null,arguments)};var _getopt=Module["_getopt"]=function(){return(_getopt=Module["_getopt"]=Module["asm"]["getopt"]).apply(null,arguments)};var ___posix_getopt=Module["___posix_getopt"]=function(){return(___posix_getopt=Module["___posix_getopt"]=Module["asm"]["__posix_getopt"]).apply(null,arguments)};var _setlogmask=Module["_setlogmask"]=function(){return(_setlogmask=Module["_setlogmask"]=Module["asm"]["setlogmask"]).apply(null,arguments)};var _closelog=Module["_closelog"]=function(){return(_closelog=Module["_closelog"]=Module["asm"]["closelog"]).apply(null,arguments)};var _openlog=Module["_openlog"]=function(){return(_openlog=Module["_openlog"]=Module["asm"]["openlog"]).apply(null,arguments)};var ___vsyslog=Module["___vsyslog"]=function(){return(___vsyslog=Module["___vsyslog"]=Module["asm"]["__vsyslog"]).apply(null,arguments)};var _syslog=Module["_syslog"]=function(){return(_syslog=Module["_syslog"]=Module["asm"]["syslog"]).apply(null,arguments)};var _vsyslog=Module["_vsyslog"]=function(){return(_vsyslog=Module["_vsyslog"]=Module["asm"]["vsyslog"]).apply(null,arguments)};var _basename=Module["_basename"]=function(){return(_basename=Module["_basename"]=Module["asm"]["basename"]).apply(null,arguments)};var ___xpg_basename=Module["___xpg_basename"]=function(){return(___xpg_basename=Module["___xpg_basename"]=Module["asm"]["__xpg_basename"]).apply(null,arguments)};var _getopt_long=Module["_getopt_long"]=function(){return(_getopt_long=Module["_getopt_long"]=Module["asm"]["getopt_long"]).apply(null,arguments)};var _getopt_long_only=Module["_getopt_long_only"]=function(){return(_getopt_long_only=Module["_getopt_long_only"]=Module["asm"]["getopt_long_only"]).apply(null,arguments)};var _getauxval=Module["_getauxval"]=function(){return(_getauxval=Module["_getauxval"]=Module["asm"]["getauxval"]).apply(null,arguments)};var _issetugid=Module["_issetugid"]=function(){return(_issetugid=Module["_issetugid"]=Module["asm"]["issetugid"]).apply(null,arguments)};var _fmtmsg=Module["_fmtmsg"]=function(){return(_fmtmsg=Module["_fmtmsg"]=Module["asm"]["fmtmsg"]).apply(null,arguments)};var _get_current_dir_name=Module["_get_current_dir_name"]=function(){return(_get_current_dir_name=Module["_get_current_dir_name"]=Module["asm"]["get_current_dir_name"]).apply(null,arguments)};var _dirname=Module["_dirname"]=function(){return(_dirname=Module["_dirname"]=Module["asm"]["dirname"]).apply(null,arguments)};var _nftw=Module["_nftw"]=function(){return(_nftw=Module["_nftw"]=Module["asm"]["nftw"]).apply(null,arguments)};var _nftw64=Module["_nftw64"]=function(){return(_nftw64=Module["_nftw64"]=Module["asm"]["nftw64"]).apply(null,arguments)};var _getsubopt=Module["_getsubopt"]=function(){return(_getsubopt=Module["_getsubopt"]=Module["asm"]["getsubopt"]).apply(null,arguments)};var _ptsname=Module["_ptsname"]=function(){return(_ptsname=Module["_ptsname"]=Module["asm"]["ptsname"]).apply(null,arguments)};var ___ptsname_r=Module["___ptsname_r"]=function(){return(___ptsname_r=Module["___ptsname_r"]=Module["asm"]["__ptsname_r"]).apply(null,arguments)};var _getrlimit64=Module["_getrlimit64"]=function(){return(_getrlimit64=Module["_getrlimit64"]=Module["asm"]["getrlimit64"]).apply(null,arguments)};var _posix_openpt=Module["_posix_openpt"]=function(){return(_posix_openpt=Module["_posix_openpt"]=Module["asm"]["posix_openpt"]).apply(null,arguments)};var _grantpt=Module["_grantpt"]=function(){return(_grantpt=Module["_grantpt"]=Module["asm"]["grantpt"]).apply(null,arguments)};var _unlockpt=Module["_unlockpt"]=function(){return(_unlockpt=Module["_unlockpt"]=Module["asm"]["unlockpt"]).apply(null,arguments)};var _ptsname_r=Module["_ptsname_r"]=function(){return(_ptsname_r=Module["_ptsname_r"]=Module["asm"]["ptsname_r"]).apply(null,arguments)};var _gethostid=Module["_gethostid"]=function(){return(_gethostid=Module["_gethostid"]=Module["asm"]["gethostid"]).apply(null,arguments)};var ___setrlimit=Module["___setrlimit"]=function(){return(___setrlimit=Module["___setrlimit"]=Module["asm"]["__setrlimit"]).apply(null,arguments)};var _setrlimit64=Module["_setrlimit64"]=function(){return(_setrlimit64=Module["_setrlimit64"]=Module["asm"]["setrlimit64"]).apply(null,arguments)};var _setmntent=Module["_setmntent"]=function(){return(_setmntent=Module["_setmntent"]=Module["asm"]["setmntent"]).apply(null,arguments)};var _endmntent=Module["_endmntent"]=function(){return(_endmntent=Module["_endmntent"]=Module["asm"]["endmntent"]).apply(null,arguments)};var _getmntent_r=Module["_getmntent_r"]=function(){return(_getmntent_r=Module["_getmntent_r"]=Module["asm"]["getmntent_r"]).apply(null,arguments)};var _getmntent=Module["_getmntent"]=function(){return(_getmntent=Module["_getmntent"]=Module["asm"]["getmntent"]).apply(null,arguments)};var _addmntent=Module["_addmntent"]=function(){return(_addmntent=Module["_addmntent"]=Module["asm"]["addmntent"]).apply(null,arguments)};var _hasmntopt=Module["_hasmntopt"]=function(){return(_hasmntopt=Module["_hasmntopt"]=Module["asm"]["hasmntopt"]).apply(null,arguments)};var _posix_spawnattr_getsigdefault=Module["_posix_spawnattr_getsigdefault"]=function(){return(_posix_spawnattr_getsigdefault=Module["_posix_spawnattr_getsigdefault"]=Module["asm"]["posix_spawnattr_getsigdefault"]).apply(null,arguments)};var _posix_spawnattr_getsigmask=Module["_posix_spawnattr_getsigmask"]=function(){return(_posix_spawnattr_getsigmask=Module["_posix_spawnattr_getsigmask"]=Module["asm"]["posix_spawnattr_getsigmask"]).apply(null,arguments)};var _posix_spawnattr_getschedparam=Module["_posix_spawnattr_getschedparam"]=function(){return(_posix_spawnattr_getschedparam=Module["_posix_spawnattr_getschedparam"]=Module["asm"]["posix_spawnattr_getschedparam"]).apply(null,arguments)};var _posix_spawnattr_getschedpolicy=Module["_posix_spawnattr_getschedpolicy"]=function(){return(_posix_spawnattr_getschedpolicy=Module["_posix_spawnattr_getschedpolicy"]=Module["asm"]["posix_spawnattr_getschedpolicy"]).apply(null,arguments)};var _execl=Module["_execl"]=function(){return(_execl=Module["_execl"]=Module["asm"]["execl"]).apply(null,arguments)};var _execlp=Module["_execlp"]=function(){return(_execlp=Module["_execlp"]=Module["asm"]["execlp"]).apply(null,arguments)};var _execvp=Module["_execvp"]=function(){return(_execvp=Module["_execvp"]=Module["asm"]["execvp"]).apply(null,arguments)};var _execle=Module["_execle"]=function(){return(_execle=Module["_execle"]=Module["asm"]["execle"]).apply(null,arguments)};var ___execvpe=Module["___execvpe"]=function(){return(___execvpe=Module["___execvpe"]=Module["asm"]["__execvpe"]).apply(null,arguments)};var _execvpe=Module["_execvpe"]=function(){return(_execvpe=Module["_execvpe"]=Module["asm"]["execvpe"]).apply(null,arguments)};var _posix_spawnattr_getpgroup=Module["_posix_spawnattr_getpgroup"]=function(){return(_posix_spawnattr_getpgroup=Module["_posix_spawnattr_getpgroup"]=Module["asm"]["posix_spawnattr_getpgroup"]).apply(null,arguments)};var _posix_spawnattr_getflags=Module["_posix_spawnattr_getflags"]=function(){return(_posix_spawnattr_getflags=Module["_posix_spawnattr_getflags"]=Module["asm"]["posix_spawnattr_getflags"]).apply(null,arguments)};var ___strerror_l=Module["___strerror_l"]=function(){return(___strerror_l=Module["___strerror_l"]=Module["asm"]["__strerror_l"]).apply(null,arguments)};var _strerror_l=Module["_strerror_l"]=function(){return(_strerror_l=Module["_strerror_l"]=Module["asm"]["strerror_l"]).apply(null,arguments)};var _scandir=Module["_scandir"]=function(){return(_scandir=Module["_scandir"]=Module["asm"]["scandir"]).apply(null,arguments)};var _scandir64=Module["_scandir64"]=function(){return(_scandir64=Module["_scandir64"]=Module["asm"]["scandir64"]).apply(null,arguments)};var _seekdir=Module["_seekdir"]=function(){return(_seekdir=Module["_seekdir"]=Module["asm"]["seekdir"]).apply(null,arguments)};var _readdir64_r=Module["_readdir64_r"]=function(){return(_readdir64_r=Module["_readdir64_r"]=Module["asm"]["readdir64_r"]).apply(null,arguments)};var _versionsort=Module["_versionsort"]=function(){return(_versionsort=Module["_versionsort"]=Module["asm"]["versionsort"]).apply(null,arguments)};var _versionsort64=Module["_versionsort64"]=function(){return(_versionsort64=Module["_versionsort64"]=Module["asm"]["versionsort64"]).apply(null,arguments)};var _readdir64=Module["_readdir64"]=function(){return(_readdir64=Module["_readdir64"]=Module["asm"]["readdir64"]).apply(null,arguments)};var _telldir=Module["_telldir"]=function(){return(_telldir=Module["_telldir"]=Module["asm"]["telldir"]).apply(null,arguments)};var ___getdents=Module["___getdents"]=function(){return(___getdents=Module["___getdents"]=Module["asm"]["__getdents"]).apply(null,arguments)};var _getdents=Module["_getdents"]=function(){return(_getdents=Module["_getdents"]=Module["asm"]["getdents"]).apply(null,arguments)};var _getdents64=Module["_getdents64"]=function(){return(_getdents64=Module["_getdents64"]=Module["asm"]["getdents64"]).apply(null,arguments)};var _alphasort=Module["_alphasort"]=function(){return(_alphasort=Module["_alphasort"]=Module["asm"]["alphasort"]).apply(null,arguments)};var _alphasort64=Module["_alphasort64"]=function(){return(_alphasort64=Module["_alphasort64"]=Module["asm"]["alphasort64"]).apply(null,arguments)};var _c16rtomb=Module["_c16rtomb"]=function(){return(_c16rtomb=Module["_c16rtomb"]=Module["asm"]["c16rtomb"]).apply(null,arguments)};var _mbrlen=Module["_mbrlen"]=function(){return(_mbrlen=Module["_mbrlen"]=Module["asm"]["mbrlen"]).apply(null,arguments)};var _mbrtoc32=Module["_mbrtoc32"]=function(){return(_mbrtoc32=Module["_mbrtoc32"]=Module["asm"]["mbrtoc32"]).apply(null,arguments)};var _mblen=Module["_mblen"]=function(){return(_mblen=Module["_mblen"]=Module["asm"]["mblen"]).apply(null,arguments)};var _mbrtoc16=Module["_mbrtoc16"]=function(){return(_mbrtoc16=Module["_mbrtoc16"]=Module["asm"]["mbrtoc16"]).apply(null,arguments)};var _wcsnrtombs=Module["_wcsnrtombs"]=function(){return(_wcsnrtombs=Module["_wcsnrtombs"]=Module["asm"]["wcsnrtombs"]).apply(null,arguments)};var _mbsrtowcs=Module["_mbsrtowcs"]=function(){return(_mbsrtowcs=Module["_mbsrtowcs"]=Module["asm"]["mbsrtowcs"]).apply(null,arguments)};var _wctob=Module["_wctob"]=function(){return(_wctob=Module["_wctob"]=Module["asm"]["wctob"]).apply(null,arguments)};var _c32rtomb=Module["_c32rtomb"]=function(){return(_c32rtomb=Module["_c32rtomb"]=Module["asm"]["c32rtomb"]).apply(null,arguments)};var _wctrans=Module["_wctrans"]=function(){return(_wctrans=Module["_wctrans"]=Module["asm"]["wctrans"]).apply(null,arguments)};var _towctrans=Module["_towctrans"]=function(){return(_towctrans=Module["_towctrans"]=Module["asm"]["towctrans"]).apply(null,arguments)};var ___wctrans_l=Module["___wctrans_l"]=function(){return(___wctrans_l=Module["___wctrans_l"]=Module["asm"]["__wctrans_l"]).apply(null,arguments)};var ___towctrans_l=Module["___towctrans_l"]=function(){return(___towctrans_l=Module["___towctrans_l"]=Module["asm"]["__towctrans_l"]).apply(null,arguments)};var _wctrans_l=Module["_wctrans_l"]=function(){return(_wctrans_l=Module["_wctrans_l"]=Module["asm"]["wctrans_l"]).apply(null,arguments)};var _towctrans_l=Module["_towctrans_l"]=function(){return(_towctrans_l=Module["_towctrans_l"]=Module["asm"]["towctrans_l"]).apply(null,arguments)};var ___ctype_tolower_loc=Module["___ctype_tolower_loc"]=function(){return(___ctype_tolower_loc=Module["___ctype_tolower_loc"]=Module["asm"]["__ctype_tolower_loc"]).apply(null,arguments)};var _iswalpha=Module["_iswalpha"]=function(){return(_iswalpha=Module["_iswalpha"]=Module["asm"]["iswalpha"]).apply(null,arguments)};var ___iswalnum_l=Module["___iswalnum_l"]=function(){return(___iswalnum_l=Module["___iswalnum_l"]=Module["asm"]["__iswalnum_l"]).apply(null,arguments)};var _iswalnum_l=Module["_iswalnum_l"]=function(){return(_iswalnum_l=Module["_iswalnum_l"]=Module["asm"]["iswalnum_l"]).apply(null,arguments)};var ___iswalpha_l=Module["___iswalpha_l"]=function(){return(___iswalpha_l=Module["___iswalpha_l"]=Module["asm"]["__iswalpha_l"]).apply(null,arguments)};var _iswalpha_l=Module["_iswalpha_l"]=function(){return(_iswalpha_l=Module["_iswalpha_l"]=Module["asm"]["iswalpha_l"]).apply(null,arguments)};var _wcswidth=Module["_wcswidth"]=function(){return(_wcswidth=Module["_wcswidth"]=Module["asm"]["wcswidth"]).apply(null,arguments)};var _wcwidth=Module["_wcwidth"]=function(){return(_wcwidth=Module["_wcwidth"]=Module["asm"]["wcwidth"]).apply(null,arguments)};var ___isupper_l=Module["___isupper_l"]=function(){return(___isupper_l=Module["___isupper_l"]=Module["asm"]["__isupper_l"]).apply(null,arguments)};var _isupper_l=Module["_isupper_l"]=function(){return(_isupper_l=Module["_isupper_l"]=Module["asm"]["isupper_l"]).apply(null,arguments)};var _iswprint=Module["_iswprint"]=function(){return(_iswprint=Module["_iswprint"]=Module["asm"]["iswprint"]).apply(null,arguments)};var ___iswprint_l=Module["___iswprint_l"]=function(){return(___iswprint_l=Module["___iswprint_l"]=Module["asm"]["__iswprint_l"]).apply(null,arguments)};var _iswprint_l=Module["_iswprint_l"]=function(){return(_iswprint_l=Module["_iswprint_l"]=Module["asm"]["iswprint_l"]).apply(null,arguments)};var _iswblank=Module["_iswblank"]=function(){return(_iswblank=Module["_iswblank"]=Module["asm"]["iswblank"]).apply(null,arguments)};var _iswcntrl=Module["_iswcntrl"]=function(){return(_iswcntrl=Module["_iswcntrl"]=Module["asm"]["iswcntrl"]).apply(null,arguments)};var _iswgraph=Module["_iswgraph"]=function(){return(_iswgraph=Module["_iswgraph"]=Module["asm"]["iswgraph"]).apply(null,arguments)};var _iswpunct=Module["_iswpunct"]=function(){return(_iswpunct=Module["_iswpunct"]=Module["asm"]["iswpunct"]).apply(null,arguments)};var _iswxdigit=Module["_iswxdigit"]=function(){return(_iswxdigit=Module["_iswxdigit"]=Module["asm"]["iswxdigit"]).apply(null,arguments)};var ___iswctype_l=Module["___iswctype_l"]=function(){return(___iswctype_l=Module["___iswctype_l"]=Module["asm"]["__iswctype_l"]).apply(null,arguments)};var ___wctype_l=Module["___wctype_l"]=function(){return(___wctype_l=Module["___wctype_l"]=Module["asm"]["__wctype_l"]).apply(null,arguments)};var _iswctype_l=Module["_iswctype_l"]=function(){return(_iswctype_l=Module["_iswctype_l"]=Module["asm"]["iswctype_l"]).apply(null,arguments)};var _wctype_l=Module["_wctype_l"]=function(){return(_wctype_l=Module["_wctype_l"]=Module["asm"]["wctype_l"]).apply(null,arguments)};var ___ctype_b_loc=Module["___ctype_b_loc"]=function(){return(___ctype_b_loc=Module["___ctype_b_loc"]=Module["asm"]["__ctype_b_loc"]).apply(null,arguments)};var _isgraph=Module["_isgraph"]=function(){return(_isgraph=Module["_isgraph"]=Module["asm"]["isgraph"]).apply(null,arguments)};var ___isgraph_l=Module["___isgraph_l"]=function(){return(___isgraph_l=Module["___isgraph_l"]=Module["asm"]["__isgraph_l"]).apply(null,arguments)};var _isgraph_l=Module["_isgraph_l"]=function(){return(_isgraph_l=Module["_isgraph_l"]=Module["asm"]["isgraph_l"]).apply(null,arguments)};var ___iswxdigit_l=Module["___iswxdigit_l"]=function(){return(___iswxdigit_l=Module["___iswxdigit_l"]=Module["asm"]["__iswxdigit_l"]).apply(null,arguments)};var _iswxdigit_l=Module["_iswxdigit_l"]=function(){return(_iswxdigit_l=Module["_iswxdigit_l"]=Module["asm"]["iswxdigit_l"]).apply(null,arguments)};var _islower=Module["_islower"]=function(){return(_islower=Module["_islower"]=Module["asm"]["islower"]).apply(null,arguments)};var ___islower_l=Module["___islower_l"]=function(){return(___islower_l=Module["___islower_l"]=Module["asm"]["__islower_l"]).apply(null,arguments)};var _islower_l=Module["_islower_l"]=function(){return(_islower_l=Module["_islower_l"]=Module["asm"]["islower_l"]).apply(null,arguments)};var _ispunct=Module["_ispunct"]=function(){return(_ispunct=Module["_ispunct"]=Module["asm"]["ispunct"]).apply(null,arguments)};var ___ispunct_l=Module["___ispunct_l"]=function(){return(___ispunct_l=Module["___ispunct_l"]=Module["asm"]["__ispunct_l"]).apply(null,arguments)};var _ispunct_l=Module["_ispunct_l"]=function(){return(_ispunct_l=Module["_ispunct_l"]=Module["asm"]["ispunct_l"]).apply(null,arguments)};var ___iswlower_l=Module["___iswlower_l"]=function(){return(___iswlower_l=Module["___iswlower_l"]=Module["asm"]["__iswlower_l"]).apply(null,arguments)};var _iswlower_l=Module["_iswlower_l"]=function(){return(_iswlower_l=Module["_iswlower_l"]=Module["asm"]["iswlower_l"]).apply(null,arguments)};var ___isspace_l=Module["___isspace_l"]=function(){return(___isspace_l=Module["___isspace_l"]=Module["asm"]["__isspace_l"]).apply(null,arguments)};var _isspace_l=Module["_isspace_l"]=function(){return(_isspace_l=Module["_isspace_l"]=Module["asm"]["isspace_l"]).apply(null,arguments)};var ___tolower_l=Module["___tolower_l"]=function(){return(___tolower_l=Module["___tolower_l"]=Module["asm"]["__tolower_l"]).apply(null,arguments)};var _tolower_l=Module["_tolower_l"]=function(){return(_tolower_l=Module["_tolower_l"]=Module["asm"]["tolower_l"]).apply(null,arguments)};var _isblank=Module["_isblank"]=function(){return(_isblank=Module["_isblank"]=Module["asm"]["isblank"]).apply(null,arguments)};var ___isblank_l=Module["___isblank_l"]=function(){return(___isblank_l=Module["___isblank_l"]=Module["asm"]["__isblank_l"]).apply(null,arguments)};var _isblank_l=Module["_isblank_l"]=function(){return(_isblank_l=Module["_isblank_l"]=Module["asm"]["isblank_l"]).apply(null,arguments)};var _isprint=Module["_isprint"]=function(){return(_isprint=Module["_isprint"]=Module["asm"]["isprint"]).apply(null,arguments)};var ___isprint_l=Module["___isprint_l"]=function(){return(___isprint_l=Module["___isprint_l"]=Module["asm"]["__isprint_l"]).apply(null,arguments)};var _isprint_l=Module["_isprint_l"]=function(){return(_isprint_l=Module["_isprint_l"]=Module["asm"]["isprint_l"]).apply(null,arguments)};var ___iswgraph_l=Module["___iswgraph_l"]=function(){return(___iswgraph_l=Module["___iswgraph_l"]=Module["asm"]["__iswgraph_l"]).apply(null,arguments)};var _iswgraph_l=Module["_iswgraph_l"]=function(){return(_iswgraph_l=Module["_iswgraph_l"]=Module["asm"]["iswgraph_l"]).apply(null,arguments)};var ___isdigit_l=Module["___isdigit_l"]=function(){return(___isdigit_l=Module["___isdigit_l"]=Module["asm"]["__isdigit_l"]).apply(null,arguments)};var _isdigit_l=Module["_isdigit_l"]=function(){return(_isdigit_l=Module["_isdigit_l"]=Module["asm"]["isdigit_l"]).apply(null,arguments)};var ___iswblank_l=Module["___iswblank_l"]=function(){return(___iswblank_l=Module["___iswblank_l"]=Module["asm"]["__iswblank_l"]).apply(null,arguments)};var _iswblank_l=Module["_iswblank_l"]=function(){return(_iswblank_l=Module["_iswblank_l"]=Module["asm"]["iswblank_l"]).apply(null,arguments)};var _isascii=Module["_isascii"]=function(){return(_isascii=Module["_isascii"]=Module["asm"]["isascii"]).apply(null,arguments)};var ___towupper_l=Module["___towupper_l"]=function(){return(___towupper_l=Module["___towupper_l"]=Module["asm"]["__towupper_l"]).apply(null,arguments)};var ___towlower_l=Module["___towlower_l"]=function(){return(___towlower_l=Module["___towlower_l"]=Module["asm"]["__towlower_l"]).apply(null,arguments)};var _towupper_l=Module["_towupper_l"]=function(){return(_towupper_l=Module["_towupper_l"]=Module["asm"]["towupper_l"]).apply(null,arguments)};var _towlower_l=Module["_towlower_l"]=function(){return(_towlower_l=Module["_towlower_l"]=Module["asm"]["towlower_l"]).apply(null,arguments)};var ___iswspace_l=Module["___iswspace_l"]=function(){return(___iswspace_l=Module["___iswspace_l"]=Module["asm"]["__iswspace_l"]).apply(null,arguments)};var _iswspace_l=Module["_iswspace_l"]=function(){return(_iswspace_l=Module["_iswspace_l"]=Module["asm"]["iswspace_l"]).apply(null,arguments)};var _isalpha=Module["_isalpha"]=function(){return(_isalpha=Module["_isalpha"]=Module["asm"]["isalpha"]).apply(null,arguments)};var ___isalnum_l=Module["___isalnum_l"]=function(){return(___isalnum_l=Module["___isalnum_l"]=Module["asm"]["__isalnum_l"]).apply(null,arguments)};var _isalnum_l=Module["_isalnum_l"]=function(){return(_isalnum_l=Module["_isalnum_l"]=Module["asm"]["isalnum_l"]).apply(null,arguments)};var ___iswpunct_l=Module["___iswpunct_l"]=function(){return(___iswpunct_l=Module["___iswpunct_l"]=Module["asm"]["__iswpunct_l"]).apply(null,arguments)};var _iswpunct_l=Module["_iswpunct_l"]=function(){return(_iswpunct_l=Module["_iswpunct_l"]=Module["asm"]["iswpunct_l"]).apply(null,arguments)};var ___iswupper_l=Module["___iswupper_l"]=function(){return(___iswupper_l=Module["___iswupper_l"]=Module["asm"]["__iswupper_l"]).apply(null,arguments)};var _iswupper_l=Module["_iswupper_l"]=function(){return(_iswupper_l=Module["_iswupper_l"]=Module["asm"]["iswupper_l"]).apply(null,arguments)};var ___toupper_l=Module["___toupper_l"]=function(){return(___toupper_l=Module["___toupper_l"]=Module["asm"]["__toupper_l"]).apply(null,arguments)};var _toupper_l=Module["_toupper_l"]=function(){return(_toupper_l=Module["_toupper_l"]=Module["asm"]["toupper_l"]).apply(null,arguments)};var ___ctype_get_mb_cur_max=Module["___ctype_get_mb_cur_max"]=function(){return(___ctype_get_mb_cur_max=Module["___ctype_get_mb_cur_max"]=Module["asm"]["__ctype_get_mb_cur_max"]).apply(null,arguments)};var ___isxdigit_l=Module["___isxdigit_l"]=function(){return(___isxdigit_l=Module["___isxdigit_l"]=Module["asm"]["__isxdigit_l"]).apply(null,arguments)};var _isxdigit_l=Module["_isxdigit_l"]=function(){return(_isxdigit_l=Module["_isxdigit_l"]=Module["asm"]["isxdigit_l"]).apply(null,arguments)};var _toascii=Module["_toascii"]=function(){return(_toascii=Module["_toascii"]=Module["asm"]["toascii"]).apply(null,arguments)};var ___iswcntrl_l=Module["___iswcntrl_l"]=function(){return(___iswcntrl_l=Module["___iswcntrl_l"]=Module["asm"]["__iswcntrl_l"]).apply(null,arguments)};var _iswcntrl_l=Module["_iswcntrl_l"]=function(){return(_iswcntrl_l=Module["_iswcntrl_l"]=Module["asm"]["iswcntrl_l"]).apply(null,arguments)};var ___isalpha_l=Module["___isalpha_l"]=function(){return(___isalpha_l=Module["___isalpha_l"]=Module["asm"]["__isalpha_l"]).apply(null,arguments)};var _isalpha_l=Module["_isalpha_l"]=function(){return(_isalpha_l=Module["_isalpha_l"]=Module["asm"]["isalpha_l"]).apply(null,arguments)};var ___ctype_toupper_loc=Module["___ctype_toupper_loc"]=function(){return(___ctype_toupper_loc=Module["___ctype_toupper_loc"]=Module["asm"]["__ctype_toupper_loc"]).apply(null,arguments)};var ___iswdigit_l=Module["___iswdigit_l"]=function(){return(___iswdigit_l=Module["___iswdigit_l"]=Module["asm"]["__iswdigit_l"]).apply(null,arguments)};var _iswdigit_l=Module["_iswdigit_l"]=function(){return(_iswdigit_l=Module["_iswdigit_l"]=Module["asm"]["iswdigit_l"]).apply(null,arguments)};var _iscntrl=Module["_iscntrl"]=function(){return(_iscntrl=Module["_iscntrl"]=Module["asm"]["iscntrl"]).apply(null,arguments)};var ___iscntrl_l=Module["___iscntrl_l"]=function(){return(___iscntrl_l=Module["___iscntrl_l"]=Module["asm"]["__iscntrl_l"]).apply(null,arguments)};var _iscntrl_l=Module["_iscntrl_l"]=function(){return(_iscntrl_l=Module["_iscntrl_l"]=Module["asm"]["iscntrl_l"]).apply(null,arguments)};var _munlockall=Module["_munlockall"]=function(){return(_munlockall=Module["_munlockall"]=Module["asm"]["munlockall"]).apply(null,arguments)};var _mincore=Module["_mincore"]=function(){return(_mincore=Module["_mincore"]=Module["asm"]["mincore"]).apply(null,arguments)};var ___madvise=Module["___madvise"]=function(){return(___madvise=Module["___madvise"]=Module["asm"]["__madvise"]).apply(null,arguments)};var _posix_madvise=Module["_posix_madvise"]=function(){return(_posix_madvise=Module["_posix_madvise"]=Module["asm"]["posix_madvise"]).apply(null,arguments)};var _munlock=Module["_munlock"]=function(){return(_munlock=Module["_munlock"]=Module["asm"]["munlock"]).apply(null,arguments)};var ___mremap=Module["___mremap"]=function(){return(___mremap=Module["___mremap"]=Module["asm"]["__mremap"]).apply(null,arguments)};var ___vm_wait=Module["___vm_wait"]=function(){return(___vm_wait=Module["___vm_wait"]=Module["asm"]["__vm_wait"]).apply(null,arguments)};var ___mprotect=Module["___mprotect"]=function(){return(___mprotect=Module["___mprotect"]=Module["asm"]["__mprotect"]).apply(null,arguments)};var _mprotect=Module["_mprotect"]=function(){return(_mprotect=Module["_mprotect"]=Module["asm"]["mprotect"]).apply(null,arguments)};var ___shm_mapname=Module["___shm_mapname"]=function(){return(___shm_mapname=Module["___shm_mapname"]=Module["asm"]["__shm_mapname"]).apply(null,arguments)};var _shm_open=Module["_shm_open"]=function(){return(_shm_open=Module["_shm_open"]=Module["asm"]["shm_open"]).apply(null,arguments)};var _shm_unlink=Module["_shm_unlink"]=function(){return(_shm_unlink=Module["_shm_unlink"]=Module["asm"]["shm_unlink"]).apply(null,arguments)};var _mlockall=Module["_mlockall"]=function(){return(_mlockall=Module["_mlockall"]=Module["asm"]["mlockall"]).apply(null,arguments)};var _mlock=Module["_mlock"]=function(){return(_mlock=Module["_mlock"]=Module["asm"]["mlock"]).apply(null,arguments)};var ___mmap=Module["___mmap"]=function(){return(___mmap=Module["___mmap"]=Module["asm"]["__mmap"]).apply(null,arguments)};var _mmap64=Module["_mmap64"]=function(){return(_mmap64=Module["_mmap64"]=Module["asm"]["mmap64"]).apply(null,arguments)};var _srand48=Module["_srand48"]=function(){return(_srand48=Module["_srand48"]=Module["asm"]["srand48"]).apply(null,arguments)};var _seed48=Module["_seed48"]=function(){return(_seed48=Module["_seed48"]=Module["asm"]["seed48"]).apply(null,arguments)};var _rand_r=Module["_rand_r"]=function(){return(_rand_r=Module["_rand_r"]=Module["asm"]["rand_r"]).apply(null,arguments)};var _lcong48=Module["_lcong48"]=function(){return(_lcong48=Module["_lcong48"]=Module["asm"]["lcong48"]).apply(null,arguments)};var _srandom=Module["_srandom"]=function(){return(_srandom=Module["_srandom"]=Module["asm"]["srandom"]).apply(null,arguments)};var _initstate=Module["_initstate"]=function(){return(_initstate=Module["_initstate"]=Module["asm"]["initstate"]).apply(null,arguments)};var _setstate=Module["_setstate"]=function(){return(_setstate=Module["_setstate"]=Module["asm"]["setstate"]).apply(null,arguments)};var _random=Module["_random"]=function(){return(_random=Module["_random"]=Module["asm"]["random"]).apply(null,arguments)};var _nrand48=Module["_nrand48"]=function(){return(_nrand48=Module["_nrand48"]=Module["asm"]["nrand48"]).apply(null,arguments)};var ___rand48_step=Module["___rand48_step"]=function(){return(___rand48_step=Module["___rand48_step"]=Module["asm"]["__rand48_step"]).apply(null,arguments)};var _lrand48=Module["_lrand48"]=function(){return(_lrand48=Module["_lrand48"]=Module["asm"]["lrand48"]).apply(null,arguments)};var _srand=Module["_srand"]=function(){return(_srand=Module["_srand"]=Module["asm"]["srand"]).apply(null,arguments)};var _rand=Module["_rand"]=function(){return(_rand=Module["_rand"]=Module["asm"]["rand"]).apply(null,arguments)};var _jrand48=Module["_jrand48"]=function(){return(_jrand48=Module["_jrand48"]=Module["asm"]["jrand48"]).apply(null,arguments)};var _mrand48=Module["_mrand48"]=function(){return(_mrand48=Module["_mrand48"]=Module["asm"]["mrand48"]).apply(null,arguments)};var _erand48=Module["_erand48"]=function(){return(_erand48=Module["_erand48"]=Module["asm"]["erand48"]).apply(null,arguments)};var _drand48=Module["_drand48"]=function(){return(_drand48=Module["_drand48"]=Module["asm"]["drand48"]).apply(null,arguments)};var ___lookup_serv=Module["___lookup_serv"]=function(){return(___lookup_serv=Module["___lookup_serv"]=Module["asm"]["__lookup_serv"]).apply(null,arguments)};var _inet_addr=Module["_inet_addr"]=function(){return(_inet_addr=Module["_inet_addr"]=Module["asm"]["inet_addr"]).apply(null,arguments)};var ___inet_aton=Module["___inet_aton"]=function(){return(___inet_aton=Module["___inet_aton"]=Module["asm"]["__inet_aton"]).apply(null,arguments)};var ___res_state=Module["___res_state"]=function(){return(___res_state=Module["___res_state"]=Module["asm"]["__res_state"]).apply(null,arguments)};var _sendmmsg=Module["_sendmmsg"]=function(){return(_sendmmsg=Module["_sendmmsg"]=Module["asm"]["sendmmsg"]).apply(null,arguments)};var _ns_get16=Module["_ns_get16"]=function(){return(_ns_get16=Module["_ns_get16"]=Module["asm"]["ns_get16"]).apply(null,arguments)};var _ns_get32=Module["_ns_get32"]=function(){return(_ns_get32=Module["_ns_get32"]=Module["asm"]["ns_get32"]).apply(null,arguments)};var _ns_put16=Module["_ns_put16"]=function(){return(_ns_put16=Module["_ns_put16"]=Module["asm"]["ns_put16"]).apply(null,arguments)};var _ns_put32=Module["_ns_put32"]=function(){return(_ns_put32=Module["_ns_put32"]=Module["asm"]["ns_put32"]).apply(null,arguments)};var _ns_skiprr=Module["_ns_skiprr"]=function(){return(_ns_skiprr=Module["_ns_skiprr"]=Module["asm"]["ns_skiprr"]).apply(null,arguments)};var _dn_skipname=Module["_dn_skipname"]=function(){return(_dn_skipname=Module["_dn_skipname"]=Module["asm"]["dn_skipname"]).apply(null,arguments)};var _ns_initparse=Module["_ns_initparse"]=function(){return(_ns_initparse=Module["_ns_initparse"]=Module["asm"]["ns_initparse"]).apply(null,arguments)};var _ns_name_uncompress=Module["_ns_name_uncompress"]=function(){return(_ns_name_uncompress=Module["_ns_name_uncompress"]=Module["asm"]["ns_name_uncompress"]).apply(null,arguments)};var _dn_expand=Module["_dn_expand"]=function(){return(_dn_expand=Module["_dn_expand"]=Module["asm"]["dn_expand"]).apply(null,arguments)};var _ns_parserr=Module["_ns_parserr"]=function(){return(_ns_parserr=Module["_ns_parserr"]=Module["asm"]["ns_parserr"]).apply(null,arguments)};var _herror=Module["_herror"]=function(){return(_herror=Module["_herror"]=Module["asm"]["herror"]).apply(null,arguments)};var _getnetbyaddr=Module["_getnetbyaddr"]=function(){return(_getnetbyaddr=Module["_getnetbyaddr"]=Module["asm"]["getnetbyaddr"]).apply(null,arguments)};var _getnetbyname=Module["_getnetbyname"]=function(){return(_getnetbyname=Module["_getnetbyname"]=Module["asm"]["getnetbyname"]).apply(null,arguments)};var _if_freenameindex=Module["_if_freenameindex"]=function(){return(_if_freenameindex=Module["_if_freenameindex"]=Module["asm"]["if_freenameindex"]).apply(null,arguments)};var _sockatmark=Module["_sockatmark"]=function(){return(_sockatmark=Module["_sockatmark"]=Module["asm"]["sockatmark"]).apply(null,arguments)};var ___lookup_ipliteral=Module["___lookup_ipliteral"]=function(){return(___lookup_ipliteral=Module["___lookup_ipliteral"]=Module["asm"]["__lookup_ipliteral"]).apply(null,arguments)};var _if_nametoindex=Module["_if_nametoindex"]=function(){return(_if_nametoindex=Module["_if_nametoindex"]=Module["asm"]["if_nametoindex"]).apply(null,arguments)};var _getservbyport_r=Module["_getservbyport_r"]=function(){return(_getservbyport_r=Module["_getservbyport_r"]=Module["asm"]["getservbyport_r"]).apply(null,arguments)};var ___dn_comp=Module["___dn_comp"]=function(){return(___dn_comp=Module["___dn_comp"]=Module["asm"]["__dn_comp"]).apply(null,arguments)};var _dn_comp=Module["_dn_comp"]=function(){return(_dn_comp=Module["_dn_comp"]=Module["asm"]["dn_comp"]).apply(null,arguments)};var ___dns_parse=Module["___dns_parse"]=function(){return(___dns_parse=Module["___dns_parse"]=Module["asm"]["__dns_parse"]).apply(null,arguments)};var ___rtnetlink_enumerate=Module["___rtnetlink_enumerate"]=function(){return(___rtnetlink_enumerate=Module["___rtnetlink_enumerate"]=Module["asm"]["__rtnetlink_enumerate"]).apply(null,arguments)};var _inet_network=Module["_inet_network"]=function(){return(_inet_network=Module["_inet_network"]=Module["asm"]["inet_network"]).apply(null,arguments)};var _inet_makeaddr=Module["_inet_makeaddr"]=function(){return(_inet_makeaddr=Module["_inet_makeaddr"]=Module["asm"]["inet_makeaddr"]).apply(null,arguments)};var _inet_lnaof=Module["_inet_lnaof"]=function(){return(_inet_lnaof=Module["_inet_lnaof"]=Module["asm"]["inet_lnaof"]).apply(null,arguments)};var _inet_netof=Module["_inet_netof"]=function(){return(_inet_netof=Module["_inet_netof"]=Module["asm"]["inet_netof"]).apply(null,arguments)};var ___get_resolv_conf=Module["___get_resolv_conf"]=function(){return(___get_resolv_conf=Module["___get_resolv_conf"]=Module["asm"]["__get_resolv_conf"]).apply(null,arguments)};var _if_indextoname=Module["_if_indextoname"]=function(){return(_if_indextoname=Module["_if_indextoname"]=Module["asm"]["if_indextoname"]).apply(null,arguments)};var ___res_mkquery=Module["___res_mkquery"]=function(){return(___res_mkquery=Module["___res_mkquery"]=Module["asm"]["__res_mkquery"]).apply(null,arguments)};var _res_mkquery=Module["_res_mkquery"]=function(){return(_res_mkquery=Module["_res_mkquery"]=Module["asm"]["res_mkquery"]).apply(null,arguments)};var ___res_msend_rc=Module["___res_msend_rc"]=function(){return(___res_msend_rc=Module["___res_msend_rc"]=Module["asm"]["__res_msend_rc"]).apply(null,arguments)};var ___res_msend=Module["___res_msend"]=function(){return(___res_msend=Module["___res_msend"]=Module["asm"]["__res_msend"]).apply(null,arguments)};var _recvmmsg=Module["_recvmmsg"]=function(){return(_recvmmsg=Module["_recvmmsg"]=Module["asm"]["recvmmsg"]).apply(null,arguments)};var _freeifaddrs=Module["_freeifaddrs"]=function(){return(_freeifaddrs=Module["_freeifaddrs"]=Module["asm"]["freeifaddrs"]).apply(null,arguments)};var _getifaddrs=Module["_getifaddrs"]=function(){return(_getifaddrs=Module["_getifaddrs"]=Module["asm"]["getifaddrs"]).apply(null,arguments)};var ___dn_expand=Module["___dn_expand"]=function(){return(___dn_expand=Module["___dn_expand"]=Module["asm"]["__dn_expand"]).apply(null,arguments)};var _getservbyname_r=Module["_getservbyname_r"]=function(){return(_getservbyname_r=Module["_getservbyname_r"]=Module["asm"]["getservbyname_r"]).apply(null,arguments)};var ___res_send=Module["___res_send"]=function(){return(___res_send=Module["___res_send"]=Module["asm"]["__res_send"]).apply(null,arguments)};var _res_send=Module["_res_send"]=function(){return(_res_send=Module["_res_send"]=Module["asm"]["res_send"]).apply(null,arguments)};var _sethostent=Module["_sethostent"]=function(){return(_sethostent=Module["_sethostent"]=Module["asm"]["sethostent"]).apply(null,arguments)};var _gethostent=Module["_gethostent"]=function(){return(_gethostent=Module["_gethostent"]=Module["asm"]["gethostent"]).apply(null,arguments)};var _endhostent=Module["_endhostent"]=function(){return(_endhostent=Module["_endhostent"]=Module["asm"]["endhostent"]).apply(null,arguments)};var _setnetent=Module["_setnetent"]=function(){return(_setnetent=Module["_setnetent"]=Module["asm"]["setnetent"]).apply(null,arguments)};var _getnetent=Module["_getnetent"]=function(){return(_getnetent=Module["_getnetent"]=Module["asm"]["getnetent"]).apply(null,arguments)};var _endnetent=Module["_endnetent"]=function(){return(_endnetent=Module["_endnetent"]=Module["asm"]["endnetent"]).apply(null,arguments)};var _endservent=Module["_endservent"]=function(){return(_endservent=Module["_endservent"]=Module["asm"]["endservent"]).apply(null,arguments)};var _setservent=Module["_setservent"]=function(){return(_setservent=Module["_setservent"]=Module["asm"]["setservent"]).apply(null,arguments)};var _getservent=Module["_getservent"]=function(){return(_getservent=Module["_getservent"]=Module["asm"]["getservent"]).apply(null,arguments)};var _ether_aton_r=Module["_ether_aton_r"]=function(){return(_ether_aton_r=Module["_ether_aton_r"]=Module["asm"]["ether_aton_r"]).apply(null,arguments)};var _ether_aton=Module["_ether_aton"]=function(){return(_ether_aton=Module["_ether_aton"]=Module["asm"]["ether_aton"]).apply(null,arguments)};var _ether_ntoa_r=Module["_ether_ntoa_r"]=function(){return(_ether_ntoa_r=Module["_ether_ntoa_r"]=Module["asm"]["ether_ntoa_r"]).apply(null,arguments)};var _ether_ntoa=Module["_ether_ntoa"]=function(){return(_ether_ntoa=Module["_ether_ntoa"]=Module["asm"]["ether_ntoa"]).apply(null,arguments)};var _ether_line=Module["_ether_line"]=function(){return(_ether_line=Module["_ether_line"]=Module["asm"]["ether_line"]).apply(null,arguments)};var _ether_ntohost=Module["_ether_ntohost"]=function(){return(_ether_ntohost=Module["_ether_ntohost"]=Module["asm"]["ether_ntohost"]).apply(null,arguments)};var _ether_hostton=Module["_ether_hostton"]=function(){return(_ether_hostton=Module["_ether_hostton"]=Module["asm"]["ether_hostton"]).apply(null,arguments)};var _res_init=Module["_res_init"]=function(){return(_res_init=Module["_res_init"]=Module["asm"]["res_init"]).apply(null,arguments)};var _if_nameindex=Module["_if_nameindex"]=function(){return(_if_nameindex=Module["_if_nameindex"]=Module["asm"]["if_nameindex"]).apply(null,arguments)};var ___lookup_name=Module["___lookup_name"]=function(){return(___lookup_name=Module["___lookup_name"]=Module["asm"]["__lookup_name"]).apply(null,arguments)};var _asctime_r=Module["_asctime_r"]=function(){return(_asctime_r=Module["_asctime_r"]=Module["asm"]["asctime_r"]).apply(null,arguments)};var _asctime=Module["_asctime"]=function(){return(_asctime=Module["_asctime"]=Module["asm"]["asctime"]).apply(null,arguments)};var _ctime=Module["_ctime"]=function(){return(_ctime=Module["_ctime"]=Module["asm"]["ctime"]).apply(null,arguments)};var _localtime=Module["_localtime"]=function(){return(_localtime=Module["_localtime"]=Module["asm"]["localtime"]).apply(null,arguments)};var _getpagesize=Module["_getpagesize"]=function(){return(_getpagesize=Module["_getpagesize"]=Module["asm"]["getpagesize"]).apply(null,arguments)};var _vwarn=Module["_vwarn"]=function(){return(_vwarn=Module["_vwarn"]=Module["asm"]["vwarn"]).apply(null,arguments)};var _vwarnx=Module["_vwarnx"]=function(){return(_vwarnx=Module["_vwarnx"]=Module["asm"]["vwarnx"]).apply(null,arguments)};var _verr=Module["_verr"]=function(){return(_verr=Module["_verr"]=Module["asm"]["verr"]).apply(null,arguments)};var _verrx=Module["_verrx"]=function(){return(_verrx=Module["_verrx"]=Module["asm"]["verrx"]).apply(null,arguments)};var _warn=Module["_warn"]=function(){return(_warn=Module["_warn"]=Module["asm"]["warn"]).apply(null,arguments)};var _warnx=Module["_warnx"]=function(){return(_warnx=Module["_warnx"]=Module["asm"]["warnx"]).apply(null,arguments)};var _err=Module["_err"]=function(){return(_err=Module["_err"]=Module["asm"]["err"]).apply(null,arguments)};var _errx=Module["_errx"]=function(){return(_errx=Module["_errx"]=Module["asm"]["errx"]).apply(null,arguments)};var ___emscripten_environ_constructor=Module["___emscripten_environ_constructor"]=function(){return(___emscripten_environ_constructor=Module["___emscripten_environ_constructor"]=Module["asm"]["__emscripten_environ_constructor"]).apply(null,arguments)};var ___putenv=Module["___putenv"]=function(){return(___putenv=Module["___putenv"]=Module["asm"]["__putenv"]).apply(null,arguments)};var _putenv=Module["_putenv"]=function(){return(_putenv=Module["_putenv"]=Module["asm"]["putenv"]).apply(null,arguments)};var _sigdelset=Module["_sigdelset"]=function(){return(_sigdelset=Module["_sigdelset"]=Module["asm"]["sigdelset"]).apply(null,arguments)};var _bsd_signal=Module["_bsd_signal"]=function(){return(_bsd_signal=Module["_bsd_signal"]=Module["asm"]["bsd_signal"]).apply(null,arguments)};var ___sysv_signal=Module["___sysv_signal"]=function(){return(___sysv_signal=Module["___sysv_signal"]=Module["asm"]["__sysv_signal"]).apply(null,arguments)};var _sigprocmask=Module["_sigprocmask"]=function(){return(_sigprocmask=Module["_sigprocmask"]=Module["asm"]["sigprocmask"]).apply(null,arguments)};var __get_tzname=Module["__get_tzname"]=function(){return(__get_tzname=Module["__get_tzname"]=Module["asm"]["_get_tzname"]).apply(null,arguments)};var __get_daylight=Module["__get_daylight"]=function(){return(__get_daylight=Module["__get_daylight"]=Module["asm"]["_get_daylight"]).apply(null,arguments)};var __get_timezone=Module["__get_timezone"]=function(){return(__get_timezone=Module["__get_timezone"]=Module["asm"]["_get_timezone"]).apply(null,arguments)};var _emscripten_get_heap_size=Module["_emscripten_get_heap_size"]=function(){return(_emscripten_get_heap_size=Module["_emscripten_get_heap_size"]=Module["asm"]["emscripten_get_heap_size"]).apply(null,arguments)};var _emscripten_atomic_exchange_u8=Module["_emscripten_atomic_exchange_u8"]=function(){return(_emscripten_atomic_exchange_u8=Module["_emscripten_atomic_exchange_u8"]=Module["asm"]["emscripten_atomic_exchange_u8"]).apply(null,arguments)};var _emscripten_atomic_exchange_u16=Module["_emscripten_atomic_exchange_u16"]=function(){return(_emscripten_atomic_exchange_u16=Module["_emscripten_atomic_exchange_u16"]=Module["asm"]["emscripten_atomic_exchange_u16"]).apply(null,arguments)};var _emscripten_atomic_exchange_u32=Module["_emscripten_atomic_exchange_u32"]=function(){return(_emscripten_atomic_exchange_u32=Module["_emscripten_atomic_exchange_u32"]=Module["asm"]["emscripten_atomic_exchange_u32"]).apply(null,arguments)};var _emscripten_atomic_exchange_u64=Module["_emscripten_atomic_exchange_u64"]=function(){return(_emscripten_atomic_exchange_u64=Module["_emscripten_atomic_exchange_u64"]=Module["asm"]["emscripten_atomic_exchange_u64"]).apply(null,arguments)};var _emscripten_atomic_cas_u8=Module["_emscripten_atomic_cas_u8"]=function(){return(_emscripten_atomic_cas_u8=Module["_emscripten_atomic_cas_u8"]=Module["asm"]["emscripten_atomic_cas_u8"]).apply(null,arguments)};var _emscripten_atomic_cas_u16=Module["_emscripten_atomic_cas_u16"]=function(){return(_emscripten_atomic_cas_u16=Module["_emscripten_atomic_cas_u16"]=Module["asm"]["emscripten_atomic_cas_u16"]).apply(null,arguments)};var _emscripten_atomic_cas_u32=Module["_emscripten_atomic_cas_u32"]=function(){return(_emscripten_atomic_cas_u32=Module["_emscripten_atomic_cas_u32"]=Module["asm"]["emscripten_atomic_cas_u32"]).apply(null,arguments)};var _emscripten_atomic_cas_u64=Module["_emscripten_atomic_cas_u64"]=function(){return(_emscripten_atomic_cas_u64=Module["_emscripten_atomic_cas_u64"]=Module["asm"]["emscripten_atomic_cas_u64"]).apply(null,arguments)};var _emscripten_atomic_load_u8=Module["_emscripten_atomic_load_u8"]=function(){return(_emscripten_atomic_load_u8=Module["_emscripten_atomic_load_u8"]=Module["asm"]["emscripten_atomic_load_u8"]).apply(null,arguments)};var _emscripten_atomic_load_u16=Module["_emscripten_atomic_load_u16"]=function(){return(_emscripten_atomic_load_u16=Module["_emscripten_atomic_load_u16"]=Module["asm"]["emscripten_atomic_load_u16"]).apply(null,arguments)};var _emscripten_atomic_load_u32=Module["_emscripten_atomic_load_u32"]=function(){return(_emscripten_atomic_load_u32=Module["_emscripten_atomic_load_u32"]=Module["asm"]["emscripten_atomic_load_u32"]).apply(null,arguments)};var _emscripten_atomic_load_f32=Module["_emscripten_atomic_load_f32"]=function(){return(_emscripten_atomic_load_f32=Module["_emscripten_atomic_load_f32"]=Module["asm"]["emscripten_atomic_load_f32"]).apply(null,arguments)};var _emscripten_atomic_load_u64=Module["_emscripten_atomic_load_u64"]=function(){return(_emscripten_atomic_load_u64=Module["_emscripten_atomic_load_u64"]=Module["asm"]["emscripten_atomic_load_u64"]).apply(null,arguments)};var _emscripten_atomic_load_f64=Module["_emscripten_atomic_load_f64"]=function(){return(_emscripten_atomic_load_f64=Module["_emscripten_atomic_load_f64"]=Module["asm"]["emscripten_atomic_load_f64"]).apply(null,arguments)};var _emscripten_atomic_store_u8=Module["_emscripten_atomic_store_u8"]=function(){return(_emscripten_atomic_store_u8=Module["_emscripten_atomic_store_u8"]=Module["asm"]["emscripten_atomic_store_u8"]).apply(null,arguments)};var _emscripten_atomic_store_u16=Module["_emscripten_atomic_store_u16"]=function(){return(_emscripten_atomic_store_u16=Module["_emscripten_atomic_store_u16"]=Module["asm"]["emscripten_atomic_store_u16"]).apply(null,arguments)};var _emscripten_atomic_store_u32=Module["_emscripten_atomic_store_u32"]=function(){return(_emscripten_atomic_store_u32=Module["_emscripten_atomic_store_u32"]=Module["asm"]["emscripten_atomic_store_u32"]).apply(null,arguments)};var _emscripten_atomic_store_f32=Module["_emscripten_atomic_store_f32"]=function(){return(_emscripten_atomic_store_f32=Module["_emscripten_atomic_store_f32"]=Module["asm"]["emscripten_atomic_store_f32"]).apply(null,arguments)};var _emscripten_atomic_store_u64=Module["_emscripten_atomic_store_u64"]=function(){return(_emscripten_atomic_store_u64=Module["_emscripten_atomic_store_u64"]=Module["asm"]["emscripten_atomic_store_u64"]).apply(null,arguments)};var _emscripten_atomic_store_f64=Module["_emscripten_atomic_store_f64"]=function(){return(_emscripten_atomic_store_f64=Module["_emscripten_atomic_store_f64"]=Module["asm"]["emscripten_atomic_store_f64"]).apply(null,arguments)};var _emscripten_atomic_fence=Module["_emscripten_atomic_fence"]=function(){return(_emscripten_atomic_fence=Module["_emscripten_atomic_fence"]=Module["asm"]["emscripten_atomic_fence"]).apply(null,arguments)};var _emscripten_atomic_or_u8=Module["_emscripten_atomic_or_u8"]=function(){return(_emscripten_atomic_or_u8=Module["_emscripten_atomic_or_u8"]=Module["asm"]["emscripten_atomic_or_u8"]).apply(null,arguments)};var _emscripten_atomic_add_u8=Module["_emscripten_atomic_add_u8"]=function(){return(_emscripten_atomic_add_u8=Module["_emscripten_atomic_add_u8"]=Module["asm"]["emscripten_atomic_add_u8"]).apply(null,arguments)};var _emscripten_atomic_add_u16=Module["_emscripten_atomic_add_u16"]=function(){return(_emscripten_atomic_add_u16=Module["_emscripten_atomic_add_u16"]=Module["asm"]["emscripten_atomic_add_u16"]).apply(null,arguments)};var _emscripten_atomic_add_u32=Module["_emscripten_atomic_add_u32"]=function(){return(_emscripten_atomic_add_u32=Module["_emscripten_atomic_add_u32"]=Module["asm"]["emscripten_atomic_add_u32"]).apply(null,arguments)};var _emscripten_atomic_add_u64=Module["_emscripten_atomic_add_u64"]=function(){return(_emscripten_atomic_add_u64=Module["_emscripten_atomic_add_u64"]=Module["asm"]["emscripten_atomic_add_u64"]).apply(null,arguments)};var _emscripten_atomic_sub_u8=Module["_emscripten_atomic_sub_u8"]=function(){return(_emscripten_atomic_sub_u8=Module["_emscripten_atomic_sub_u8"]=Module["asm"]["emscripten_atomic_sub_u8"]).apply(null,arguments)};var _emscripten_atomic_sub_u16=Module["_emscripten_atomic_sub_u16"]=function(){return(_emscripten_atomic_sub_u16=Module["_emscripten_atomic_sub_u16"]=Module["asm"]["emscripten_atomic_sub_u16"]).apply(null,arguments)};var _emscripten_atomic_sub_u32=Module["_emscripten_atomic_sub_u32"]=function(){return(_emscripten_atomic_sub_u32=Module["_emscripten_atomic_sub_u32"]=Module["asm"]["emscripten_atomic_sub_u32"]).apply(null,arguments)};var _emscripten_atomic_sub_u64=Module["_emscripten_atomic_sub_u64"]=function(){return(_emscripten_atomic_sub_u64=Module["_emscripten_atomic_sub_u64"]=Module["asm"]["emscripten_atomic_sub_u64"]).apply(null,arguments)};var _emscripten_atomic_and_u8=Module["_emscripten_atomic_and_u8"]=function(){return(_emscripten_atomic_and_u8=Module["_emscripten_atomic_and_u8"]=Module["asm"]["emscripten_atomic_and_u8"]).apply(null,arguments)};var _emscripten_atomic_and_u16=Module["_emscripten_atomic_and_u16"]=function(){return(_emscripten_atomic_and_u16=Module["_emscripten_atomic_and_u16"]=Module["asm"]["emscripten_atomic_and_u16"]).apply(null,arguments)};var _emscripten_atomic_and_u32=Module["_emscripten_atomic_and_u32"]=function(){return(_emscripten_atomic_and_u32=Module["_emscripten_atomic_and_u32"]=Module["asm"]["emscripten_atomic_and_u32"]).apply(null,arguments)};var _emscripten_atomic_and_u64=Module["_emscripten_atomic_and_u64"]=function(){return(_emscripten_atomic_and_u64=Module["_emscripten_atomic_and_u64"]=Module["asm"]["emscripten_atomic_and_u64"]).apply(null,arguments)};var _emscripten_atomic_or_u16=Module["_emscripten_atomic_or_u16"]=function(){return(_emscripten_atomic_or_u16=Module["_emscripten_atomic_or_u16"]=Module["asm"]["emscripten_atomic_or_u16"]).apply(null,arguments)};var _emscripten_atomic_or_u32=Module["_emscripten_atomic_or_u32"]=function(){return(_emscripten_atomic_or_u32=Module["_emscripten_atomic_or_u32"]=Module["asm"]["emscripten_atomic_or_u32"]).apply(null,arguments)};var _emscripten_atomic_or_u64=Module["_emscripten_atomic_or_u64"]=function(){return(_emscripten_atomic_or_u64=Module["_emscripten_atomic_or_u64"]=Module["asm"]["emscripten_atomic_or_u64"]).apply(null,arguments)};var _emscripten_atomic_xor_u8=Module["_emscripten_atomic_xor_u8"]=function(){return(_emscripten_atomic_xor_u8=Module["_emscripten_atomic_xor_u8"]=Module["asm"]["emscripten_atomic_xor_u8"]).apply(null,arguments)};var _emscripten_atomic_xor_u16=Module["_emscripten_atomic_xor_u16"]=function(){return(_emscripten_atomic_xor_u16=Module["_emscripten_atomic_xor_u16"]=Module["asm"]["emscripten_atomic_xor_u16"]).apply(null,arguments)};var _emscripten_atomic_xor_u32=Module["_emscripten_atomic_xor_u32"]=function(){return(_emscripten_atomic_xor_u32=Module["_emscripten_atomic_xor_u32"]=Module["asm"]["emscripten_atomic_xor_u32"]).apply(null,arguments)};var _emscripten_atomic_xor_u64=Module["_emscripten_atomic_xor_u64"]=function(){return(_emscripten_atomic_xor_u64=Module["_emscripten_atomic_xor_u64"]=Module["asm"]["emscripten_atomic_xor_u64"]).apply(null,arguments)};var _strtoull_l=Module["_strtoull_l"]=function(){return(_strtoull_l=Module["_strtoull_l"]=Module["asm"]["strtoull_l"]).apply(null,arguments)};var _strtoll_l=Module["_strtoll_l"]=function(){return(_strtoll_l=Module["_strtoll_l"]=Module["asm"]["strtoll_l"]).apply(null,arguments)};var _strtoul_l=Module["_strtoul_l"]=function(){return(_strtoul_l=Module["_strtoul_l"]=Module["asm"]["strtoul_l"]).apply(null,arguments)};var _strtol_l=Module["_strtol_l"]=function(){return(_strtol_l=Module["_strtol_l"]=Module["asm"]["strtol_l"]).apply(null,arguments)};var _strlwr=Module["_strlwr"]=function(){return(_strlwr=Module["_strlwr"]=Module["asm"]["strlwr"]).apply(null,arguments)};var _aligned_alloc=Module["_aligned_alloc"]=function(){return(_aligned_alloc=Module["_aligned_alloc"]=Module["asm"]["aligned_alloc"]).apply(null,arguments)};var _posix_memalign=Module["_posix_memalign"]=function(){return(_posix_memalign=Module["_posix_memalign"]=Module["asm"]["posix_memalign"]).apply(null,arguments)};var _strupr=Module["_strupr"]=function(){return(_strupr=Module["_strupr"]=Module["asm"]["strupr"]).apply(null,arguments)};var ___ashlti3=Module["___ashlti3"]=function(){return(___ashlti3=Module["___ashlti3"]=Module["asm"]["__ashlti3"]).apply(null,arguments)};var ___lshrti3=Module["___lshrti3"]=function(){return(___lshrti3=Module["___lshrti3"]=Module["asm"]["__lshrti3"]).apply(null,arguments)};var ___eprintf=Module["___eprintf"]=function(){return(___eprintf=Module["___eprintf"]=Module["asm"]["__eprintf"]).apply(null,arguments)};var ___compilerrt_abort_impl=Module["___compilerrt_abort_impl"]=function(){return(___compilerrt_abort_impl=Module["___compilerrt_abort_impl"]=Module["asm"]["__compilerrt_abort_impl"]).apply(null,arguments)};var ___parityti2=Module["___parityti2"]=function(){return(___parityti2=Module["___parityti2"]=Module["asm"]["__parityti2"]).apply(null,arguments)};var ___absvdi2=Module["___absvdi2"]=function(){return(___absvdi2=Module["___absvdi2"]=Module["asm"]["__absvdi2"]).apply(null,arguments)};var ___fixunssfsi=Module["___fixunssfsi"]=function(){return(___fixunssfsi=Module["___fixunssfsi"]=Module["asm"]["__fixunssfsi"]).apply(null,arguments)};var ___divsi3=Module["___divsi3"]=function(){return(___divsi3=Module["___divsi3"]=Module["asm"]["__divsi3"]).apply(null,arguments)};var ___floatuntidf=Module["___floatuntidf"]=function(){return(___floatuntidf=Module["___floatuntidf"]=Module["asm"]["__floatuntidf"]).apply(null,arguments)};var ___clzti2=Module["___clzti2"]=function(){return(___clzti2=Module["___clzti2"]=Module["asm"]["__clzti2"]).apply(null,arguments)};var ___muldf3=Module["___muldf3"]=function(){return(___muldf3=Module["___muldf3"]=Module["asm"]["__muldf3"]).apply(null,arguments)};var ___fe_getround=Module["___fe_getround"]=function(){return(___fe_getround=Module["___fe_getround"]=Module["asm"]["__fe_getround"]).apply(null,arguments)};var ___fe_raise_inexact=Module["___fe_raise_inexact"]=function(){return(___fe_raise_inexact=Module["___fe_raise_inexact"]=Module["asm"]["__fe_raise_inexact"]).apply(null,arguments)};var ___fixunssfdi=Module["___fixunssfdi"]=function(){return(___fixunssfdi=Module["___fixunssfdi"]=Module["asm"]["__fixunssfdi"]).apply(null,arguments)};var ___extendsfdf2=Module["___extendsfdf2"]=function(){return(___extendsfdf2=Module["___extendsfdf2"]=Module["asm"]["__extendsfdf2"]).apply(null,arguments)};var ___subsf3=Module["___subsf3"]=function(){return(___subsf3=Module["___subsf3"]=Module["asm"]["__subsf3"]).apply(null,arguments)};var ___addsf3=Module["___addsf3"]=function(){return(___addsf3=Module["___addsf3"]=Module["asm"]["__addsf3"]).apply(null,arguments)};var ___powisf2=Module["___powisf2"]=function(){return(___powisf2=Module["___powisf2"]=Module["asm"]["__powisf2"]).apply(null,arguments)};var ___divmodti4=Module["___divmodti4"]=function(){return(___divmodti4=Module["___divmodti4"]=Module["asm"]["__divmodti4"]).apply(null,arguments)};var ___udivmodti4=Module["___udivmodti4"]=function(){return(___udivmodti4=Module["___udivmodti4"]=Module["asm"]["__udivmodti4"]).apply(null,arguments)};var ___negvsi2=Module["___negvsi2"]=function(){return(___negvsi2=Module["___negvsi2"]=Module["asm"]["__negvsi2"]).apply(null,arguments)};var ___lshrdi3=Module["___lshrdi3"]=function(){return(___lshrdi3=Module["___lshrdi3"]=Module["asm"]["__lshrdi3"]).apply(null,arguments)};var ___powixf2=Module["___powixf2"]=function(){return(___powixf2=Module["___powixf2"]=Module["asm"]["__powixf2"]).apply(null,arguments)};var ___divdf3=Module["___divdf3"]=function(){return(___divdf3=Module["___divdf3"]=Module["asm"]["__divdf3"]).apply(null,arguments)};var ___floatuntixf=Module["___floatuntixf"]=function(){return(___floatuntixf=Module["___floatuntixf"]=Module["asm"]["__floatuntixf"]).apply(null,arguments)};var ___floattixf=Module["___floattixf"]=function(){return(___floattixf=Module["___floattixf"]=Module["asm"]["__floattixf"]).apply(null,arguments)};var _atomic_flag_clear_explicit=Module["_atomic_flag_clear_explicit"]=function(){return(_atomic_flag_clear_explicit=Module["_atomic_flag_clear_explicit"]=Module["asm"]["atomic_flag_clear_explicit"]).apply(null,arguments)};var ___popcountsi2=Module["___popcountsi2"]=function(){return(___popcountsi2=Module["___popcountsi2"]=Module["asm"]["__popcountsi2"]).apply(null,arguments)};var ___subdf3=Module["___subdf3"]=function(){return(___subdf3=Module["___subdf3"]=Module["asm"]["__subdf3"]).apply(null,arguments)};var ___adddf3=Module["___adddf3"]=function(){return(___adddf3=Module["___adddf3"]=Module["asm"]["__adddf3"]).apply(null,arguments)};var ___popcountti2=Module["___popcountti2"]=function(){return(___popcountti2=Module["___popcountti2"]=Module["asm"]["__popcountti2"]).apply(null,arguments)};var _atomic_flag_test_and_set_explicit=Module["_atomic_flag_test_and_set_explicit"]=function(){return(_atomic_flag_test_and_set_explicit=Module["_atomic_flag_test_and_set_explicit"]=Module["asm"]["atomic_flag_test_and_set_explicit"]).apply(null,arguments)};var ___udivmodsi4=Module["___udivmodsi4"]=function(){return(___udivmodsi4=Module["___udivmodsi4"]=Module["asm"]["__udivmodsi4"]).apply(null,arguments)};var ___udivsi3=Module["___udivsi3"]=function(){return(___udivsi3=Module["___udivsi3"]=Module["asm"]["__udivsi3"]).apply(null,arguments)};var ___ffssi2=Module["___ffssi2"]=function(){return(___ffssi2=Module["___ffssi2"]=Module["asm"]["__ffssi2"]).apply(null,arguments)};var ___ctzdi2=Module["___ctzdi2"]=function(){return(___ctzdi2=Module["___ctzdi2"]=Module["asm"]["__ctzdi2"]).apply(null,arguments)};var ___fixxfdi=Module["___fixxfdi"]=function(){return(___fixxfdi=Module["___fixxfdi"]=Module["asm"]["__fixxfdi"]).apply(null,arguments)};var ___enable_execute_stack=Module["___enable_execute_stack"]=function(){return(___enable_execute_stack=Module["___enable_execute_stack"]=Module["asm"]["__enable_execute_stack"]).apply(null,arguments)};var ___ashrti3=Module["___ashrti3"]=function(){return(___ashrti3=Module["___ashrti3"]=Module["asm"]["__ashrti3"]).apply(null,arguments)};var ___fixunstfsi=Module["___fixunstfsi"]=function(){return(___fixunstfsi=Module["___fixunstfsi"]=Module["asm"]["__fixunstfsi"]).apply(null,arguments)};var ___mulvdi3=Module["___mulvdi3"]=function(){return(___mulvdi3=Module["___mulvdi3"]=Module["asm"]["__mulvdi3"]).apply(null,arguments)};var ___modsi3=Module["___modsi3"]=function(){return(___modsi3=Module["___modsi3"]=Module["asm"]["__modsi3"]).apply(null,arguments)};var ___udivdi3=Module["___udivdi3"]=function(){return(___udivdi3=Module["___udivdi3"]=Module["asm"]["__udivdi3"]).apply(null,arguments)};var ___divsc3=Module["___divsc3"]=function(){return(___divsc3=Module["___divsc3"]=Module["asm"]["__divsc3"]).apply(null,arguments)};var _fmaxf=Module["_fmaxf"]=function(){return(_fmaxf=Module["_fmaxf"]=Module["asm"]["fmaxf"]).apply(null,arguments)};var ___negsf2=Module["___negsf2"]=function(){return(___negsf2=Module["___negsf2"]=Module["asm"]["__negsf2"]).apply(null,arguments)};var ___floatdixf=Module["___floatdixf"]=function(){return(___floatdixf=Module["___floatdixf"]=Module["asm"]["__floatdixf"]).apply(null,arguments)};var ___truncdfhf2=Module["___truncdfhf2"]=function(){return(___truncdfhf2=Module["___truncdfhf2"]=Module["asm"]["__truncdfhf2"]).apply(null,arguments)};var ___fixxfti=Module["___fixxfti"]=function(){return(___fixxfti=Module["___fixxfti"]=Module["asm"]["__fixxfti"]).apply(null,arguments)};var ___mulsf3=Module["___mulsf3"]=function(){return(___mulsf3=Module["___mulsf3"]=Module["asm"]["__mulsf3"]).apply(null,arguments)};var ___lesf2=Module["___lesf2"]=function(){return(___lesf2=Module["___lesf2"]=Module["asm"]["__lesf2"]).apply(null,arguments)};var ___gesf2=Module["___gesf2"]=function(){return(___gesf2=Module["___gesf2"]=Module["asm"]["__gesf2"]).apply(null,arguments)};var ___unordsf2=Module["___unordsf2"]=function(){return(___unordsf2=Module["___unordsf2"]=Module["asm"]["__unordsf2"]).apply(null,arguments)};var ___eqsf2=Module["___eqsf2"]=function(){return(___eqsf2=Module["___eqsf2"]=Module["asm"]["__eqsf2"]).apply(null,arguments)};var ___ltsf2=Module["___ltsf2"]=function(){return(___ltsf2=Module["___ltsf2"]=Module["asm"]["__ltsf2"]).apply(null,arguments)};var ___nesf2=Module["___nesf2"]=function(){return(___nesf2=Module["___nesf2"]=Module["asm"]["__nesf2"]).apply(null,arguments)};var ___gtsf2=Module["___gtsf2"]=function(){return(___gtsf2=Module["___gtsf2"]=Module["asm"]["__gtsf2"]).apply(null,arguments)};var ___addvti3=Module["___addvti3"]=function(){return(___addvti3=Module["___addvti3"]=Module["asm"]["__addvti3"]).apply(null,arguments)};var ___mulxc3=Module["___mulxc3"]=function(){return(___mulxc3=Module["___mulxc3"]=Module["asm"]["__mulxc3"]).apply(null,arguments)};var ___udivmoddi4=Module["___udivmoddi4"]=function(){return(___udivmoddi4=Module["___udivmoddi4"]=Module["asm"]["__udivmoddi4"]).apply(null,arguments)};var ___ashldi3=Module["___ashldi3"]=function(){return(___ashldi3=Module["___ashldi3"]=Module["asm"]["__ashldi3"]).apply(null,arguments)};var _atomic_flag_test_and_set=Module["_atomic_flag_test_and_set"]=function(){return(_atomic_flag_test_and_set=Module["_atomic_flag_test_and_set"]=Module["asm"]["atomic_flag_test_and_set"]).apply(null,arguments)};var ___mulodi4=Module["___mulodi4"]=function(){return(___mulodi4=Module["___mulodi4"]=Module["asm"]["__mulodi4"]).apply(null,arguments)};var ___floattidf=Module["___floattidf"]=function(){return(___floattidf=Module["___floattidf"]=Module["asm"]["__floattidf"]).apply(null,arguments)};var ___fixunsdfti=Module["___fixunsdfti"]=function(){return(___fixunsdfti=Module["___fixunsdfti"]=Module["asm"]["__fixunsdfti"]).apply(null,arguments)};var ___ffsdi2=Module["___ffsdi2"]=function(){return(___ffsdi2=Module["___ffsdi2"]=Module["asm"]["__ffsdi2"]).apply(null,arguments)};var ___paritysi2=Module["___paritysi2"]=function(){return(___paritysi2=Module["___paritysi2"]=Module["asm"]["__paritysi2"]).apply(null,arguments)};var ___fixdfti=Module["___fixdfti"]=function(){return(___fixdfti=Module["___fixdfti"]=Module["asm"]["__fixdfti"]).apply(null,arguments)};var ___divsf3=Module["___divsf3"]=function(){return(___divsf3=Module["___divsf3"]=Module["asm"]["__divsf3"]).apply(null,arguments)};var ___divtc3=Module["___divtc3"]=function(){return(___divtc3=Module["___divtc3"]=Module["asm"]["__divtc3"]).apply(null,arguments)};var _fmaxl=Module["_fmaxl"]=function(){return(_fmaxl=Module["_fmaxl"]=Module["asm"]["fmaxl"]).apply(null,arguments)};var ___floatundidf=Module["___floatundidf"]=function(){return(___floatundidf=Module["___floatundidf"]=Module["asm"]["__floatundidf"]).apply(null,arguments)};var ___addvdi3=Module["___addvdi3"]=function(){return(___addvdi3=Module["___addvdi3"]=Module["asm"]["__addvdi3"]).apply(null,arguments)};var ___ctzti2=Module["___ctzti2"]=function(){return(___ctzti2=Module["___ctzti2"]=Module["asm"]["__ctzti2"]).apply(null,arguments)};var ___umodti3=Module["___umodti3"]=function(){return(___umodti3=Module["___umodti3"]=Module["asm"]["__umodti3"]).apply(null,arguments)};var ___floatdidf=Module["___floatdidf"]=function(){return(___floatdidf=Module["___floatdidf"]=Module["asm"]["__floatdidf"]).apply(null,arguments)};var ___fixtfti=Module["___fixtfti"]=function(){return(___fixtfti=Module["___fixtfti"]=Module["asm"]["__fixtfti"]).apply(null,arguments)};var ___fixsfsi=Module["___fixsfsi"]=function(){return(___fixsfsi=Module["___fixsfsi"]=Module["asm"]["__fixsfsi"]).apply(null,arguments)};var ___bswapdi2=Module["___bswapdi2"]=function(){return(___bswapdi2=Module["___bswapdi2"]=Module["asm"]["__bswapdi2"]).apply(null,arguments)};var ___emutls_get_address=Module["___emutls_get_address"]=function(){return(___emutls_get_address=Module["___emutls_get_address"]=Module["asm"]["__emutls_get_address"]).apply(null,arguments)};var ___ledf2=Module["___ledf2"]=function(){return(___ledf2=Module["___ledf2"]=Module["asm"]["__ledf2"]).apply(null,arguments)};var ___gedf2=Module["___gedf2"]=function(){return(___gedf2=Module["___gedf2"]=Module["asm"]["__gedf2"]).apply(null,arguments)};var ___unorddf2=Module["___unorddf2"]=function(){return(___unorddf2=Module["___unorddf2"]=Module["asm"]["__unorddf2"]).apply(null,arguments)};var ___eqdf2=Module["___eqdf2"]=function(){return(___eqdf2=Module["___eqdf2"]=Module["asm"]["__eqdf2"]).apply(null,arguments)};var ___ltdf2=Module["___ltdf2"]=function(){return(___ltdf2=Module["___ltdf2"]=Module["asm"]["__ltdf2"]).apply(null,arguments)};var ___nedf2=Module["___nedf2"]=function(){return(___nedf2=Module["___nedf2"]=Module["asm"]["__nedf2"]).apply(null,arguments)};var ___gtdf2=Module["___gtdf2"]=function(){return(___gtdf2=Module["___gtdf2"]=Module["asm"]["__gtdf2"]).apply(null,arguments)};var ___fixunsdfdi=Module["___fixunsdfdi"]=function(){return(___fixunsdfdi=Module["___fixunsdfdi"]=Module["asm"]["__fixunsdfdi"]).apply(null,arguments)};var ___floatdisf=Module["___floatdisf"]=function(){return(___floatdisf=Module["___floatdisf"]=Module["asm"]["__floatdisf"]).apply(null,arguments)};var ___cmpdi2=Module["___cmpdi2"]=function(){return(___cmpdi2=Module["___cmpdi2"]=Module["asm"]["__cmpdi2"]).apply(null,arguments)};var ___truncsfhf2=Module["___truncsfhf2"]=function(){return(___truncsfhf2=Module["___truncsfhf2"]=Module["asm"]["__truncsfhf2"]).apply(null,arguments)};var ___gnu_f2h_ieee=Module["___gnu_f2h_ieee"]=function(){return(___gnu_f2h_ieee=Module["___gnu_f2h_ieee"]=Module["asm"]["__gnu_f2h_ieee"]).apply(null,arguments)};var ___subvti3=Module["___subvti3"]=function(){return(___subvti3=Module["___subvti3"]=Module["asm"]["__subvti3"]).apply(null,arguments)};var ___fixunsxfsi=Module["___fixunsxfsi"]=function(){return(___fixunsxfsi=Module["___fixunsxfsi"]=Module["asm"]["__fixunsxfsi"]).apply(null,arguments)};var ___clear_cache=Module["___clear_cache"]=function(){return(___clear_cache=Module["___clear_cache"]=Module["asm"]["__clear_cache"]).apply(null,arguments)};var ___fixsfti=Module["___fixsfti"]=function(){return(___fixsfti=Module["___fixsfti"]=Module["asm"]["__fixsfti"]).apply(null,arguments)};var ___fixdfsi=Module["___fixdfsi"]=function(){return(___fixdfsi=Module["___fixdfsi"]=Module["asm"]["__fixdfsi"]).apply(null,arguments)};var _atomic_signal_fence=Module["_atomic_signal_fence"]=function(){return(_atomic_signal_fence=Module["_atomic_signal_fence"]=Module["asm"]["atomic_signal_fence"]).apply(null,arguments)};var ___floatundisf=Module["___floatundisf"]=function(){return(___floatundisf=Module["___floatundisf"]=Module["asm"]["__floatundisf"]).apply(null,arguments)};var ___subvdi3=Module["___subvdi3"]=function(){return(___subvdi3=Module["___subvdi3"]=Module["asm"]["__subvdi3"]).apply(null,arguments)};var ___floattitf=Module["___floattitf"]=function(){return(___floattitf=Module["___floattitf"]=Module["asm"]["__floattitf"]).apply(null,arguments)};var ___floatunsidf=Module["___floatunsidf"]=function(){return(___floatunsidf=Module["___floatunsidf"]=Module["asm"]["__floatunsidf"]).apply(null,arguments)};var ___ctzsi2=Module["___ctzsi2"]=function(){return(___ctzsi2=Module["___ctzsi2"]=Module["asm"]["__ctzsi2"]).apply(null,arguments)};var ___divti3=Module["___divti3"]=function(){return(___divti3=Module["___divti3"]=Module["asm"]["__divti3"]).apply(null,arguments)};var ___floatunditf=Module["___floatunditf"]=function(){return(___floatunditf=Module["___floatunditf"]=Module["asm"]["__floatunditf"]).apply(null,arguments)};var ___floatsisf=Module["___floatsisf"]=function(){return(___floatsisf=Module["___floatsisf"]=Module["asm"]["__floatsisf"]).apply(null,arguments)};var ___negvti2=Module["___negvti2"]=function(){return(___negvti2=Module["___negvti2"]=Module["asm"]["__negvti2"]).apply(null,arguments)};var ___popcountdi2=Module["___popcountdi2"]=function(){return(___popcountdi2=Module["___popcountdi2"]=Module["asm"]["__popcountdi2"]).apply(null,arguments)};var ___divmoddi4=Module["___divmoddi4"]=function(){return(___divmoddi4=Module["___divmoddi4"]=Module["asm"]["__divmoddi4"]).apply(null,arguments)};var ___fixdfdi=Module["___fixdfdi"]=function(){return(___fixdfdi=Module["___fixdfdi"]=Module["asm"]["__fixdfdi"]).apply(null,arguments)};var ___clzsi2=Module["___clzsi2"]=function(){return(___clzsi2=Module["___clzsi2"]=Module["asm"]["__clzsi2"]).apply(null,arguments)};var ___ffsti2=Module["___ffsti2"]=function(){return(___ffsti2=Module["___ffsti2"]=Module["asm"]["__ffsti2"]).apply(null,arguments)};var ___divdc3=Module["___divdc3"]=function(){return(___divdc3=Module["___divdc3"]=Module["asm"]["__divdc3"]).apply(null,arguments)};var _fmax=Module["_fmax"]=function(){return(_fmax=Module["_fmax"]=Module["asm"]["fmax"]).apply(null,arguments)};var ___floatsidf=Module["___floatsidf"]=function(){return(___floatsidf=Module["___floatsidf"]=Module["asm"]["__floatsidf"]).apply(null,arguments)};var ___umodsi3=Module["___umodsi3"]=function(){return(___umodsi3=Module["___umodsi3"]=Module["asm"]["__umodsi3"]).apply(null,arguments)};var ___umoddi3=Module["___umoddi3"]=function(){return(___umoddi3=Module["___umoddi3"]=Module["asm"]["__umoddi3"]).apply(null,arguments)};var ___fixunstfti=Module["___fixunstfti"]=function(){return(___fixunstfti=Module["___fixunstfti"]=Module["asm"]["__fixunstfti"]).apply(null,arguments)};var ___atomic_is_lock_free=Module["___atomic_is_lock_free"]=function(){return(___atomic_is_lock_free=Module["___atomic_is_lock_free"]=Module["asm"]["__atomic_is_lock_free"]).apply(null,arguments)};var ___atomic_load=Module["___atomic_load"]=function(){return(___atomic_load=Module["___atomic_load"]=Module["asm"]["__atomic_load"]).apply(null,arguments)};var ___atomic_store=Module["___atomic_store"]=function(){return(___atomic_store=Module["___atomic_store"]=Module["asm"]["__atomic_store"]).apply(null,arguments)};var ___atomic_compare_exchange=Module["___atomic_compare_exchange"]=function(){return(___atomic_compare_exchange=Module["___atomic_compare_exchange"]=Module["asm"]["__atomic_compare_exchange"]).apply(null,arguments)};var ___atomic_exchange=Module["___atomic_exchange"]=function(){return(___atomic_exchange=Module["___atomic_exchange"]=Module["asm"]["__atomic_exchange"]).apply(null,arguments)};var ___atomic_load_1=Module["___atomic_load_1"]=function(){return(___atomic_load_1=Module["___atomic_load_1"]=Module["asm"]["__atomic_load_1"]).apply(null,arguments)};var ___atomic_load_2=Module["___atomic_load_2"]=function(){return(___atomic_load_2=Module["___atomic_load_2"]=Module["asm"]["__atomic_load_2"]).apply(null,arguments)};var ___atomic_load_4=Module["___atomic_load_4"]=function(){return(___atomic_load_4=Module["___atomic_load_4"]=Module["asm"]["__atomic_load_4"]).apply(null,arguments)};var ___atomic_load_8=Module["___atomic_load_8"]=function(){return(___atomic_load_8=Module["___atomic_load_8"]=Module["asm"]["__atomic_load_8"]).apply(null,arguments)};var ___atomic_load_16=Module["___atomic_load_16"]=function(){return(___atomic_load_16=Module["___atomic_load_16"]=Module["asm"]["__atomic_load_16"]).apply(null,arguments)};var ___atomic_store_1=Module["___atomic_store_1"]=function(){return(___atomic_store_1=Module["___atomic_store_1"]=Module["asm"]["__atomic_store_1"]).apply(null,arguments)};var ___atomic_store_2=Module["___atomic_store_2"]=function(){return(___atomic_store_2=Module["___atomic_store_2"]=Module["asm"]["__atomic_store_2"]).apply(null,arguments)};var ___atomic_store_4=Module["___atomic_store_4"]=function(){return(___atomic_store_4=Module["___atomic_store_4"]=Module["asm"]["__atomic_store_4"]).apply(null,arguments)};var ___atomic_store_8=Module["___atomic_store_8"]=function(){return(___atomic_store_8=Module["___atomic_store_8"]=Module["asm"]["__atomic_store_8"]).apply(null,arguments)};var ___atomic_store_16=Module["___atomic_store_16"]=function(){return(___atomic_store_16=Module["___atomic_store_16"]=Module["asm"]["__atomic_store_16"]).apply(null,arguments)};var ___atomic_exchange_1=Module["___atomic_exchange_1"]=function(){return(___atomic_exchange_1=Module["___atomic_exchange_1"]=Module["asm"]["__atomic_exchange_1"]).apply(null,arguments)};var ___atomic_exchange_2=Module["___atomic_exchange_2"]=function(){return(___atomic_exchange_2=Module["___atomic_exchange_2"]=Module["asm"]["__atomic_exchange_2"]).apply(null,arguments)};var ___atomic_exchange_4=Module["___atomic_exchange_4"]=function(){return(___atomic_exchange_4=Module["___atomic_exchange_4"]=Module["asm"]["__atomic_exchange_4"]).apply(null,arguments)};var ___atomic_exchange_8=Module["___atomic_exchange_8"]=function(){return(___atomic_exchange_8=Module["___atomic_exchange_8"]=Module["asm"]["__atomic_exchange_8"]).apply(null,arguments)};var ___atomic_exchange_16=Module["___atomic_exchange_16"]=function(){return(___atomic_exchange_16=Module["___atomic_exchange_16"]=Module["asm"]["__atomic_exchange_16"]).apply(null,arguments)};var ___atomic_compare_exchange_1=Module["___atomic_compare_exchange_1"]=function(){return(___atomic_compare_exchange_1=Module["___atomic_compare_exchange_1"]=Module["asm"]["__atomic_compare_exchange_1"]).apply(null,arguments)};var ___atomic_compare_exchange_2=Module["___atomic_compare_exchange_2"]=function(){return(___atomic_compare_exchange_2=Module["___atomic_compare_exchange_2"]=Module["asm"]["__atomic_compare_exchange_2"]).apply(null,arguments)};var ___atomic_compare_exchange_4=Module["___atomic_compare_exchange_4"]=function(){return(___atomic_compare_exchange_4=Module["___atomic_compare_exchange_4"]=Module["asm"]["__atomic_compare_exchange_4"]).apply(null,arguments)};var ___atomic_compare_exchange_8=Module["___atomic_compare_exchange_8"]=function(){return(___atomic_compare_exchange_8=Module["___atomic_compare_exchange_8"]=Module["asm"]["__atomic_compare_exchange_8"]).apply(null,arguments)};var ___atomic_compare_exchange_16=Module["___atomic_compare_exchange_16"]=function(){return(___atomic_compare_exchange_16=Module["___atomic_compare_exchange_16"]=Module["asm"]["__atomic_compare_exchange_16"]).apply(null,arguments)};var ___atomic_fetch_add_1=Module["___atomic_fetch_add_1"]=function(){return(___atomic_fetch_add_1=Module["___atomic_fetch_add_1"]=Module["asm"]["__atomic_fetch_add_1"]).apply(null,arguments)};var ___atomic_fetch_add_2=Module["___atomic_fetch_add_2"]=function(){return(___atomic_fetch_add_2=Module["___atomic_fetch_add_2"]=Module["asm"]["__atomic_fetch_add_2"]).apply(null,arguments)};var ___atomic_fetch_add_4=Module["___atomic_fetch_add_4"]=function(){return(___atomic_fetch_add_4=Module["___atomic_fetch_add_4"]=Module["asm"]["__atomic_fetch_add_4"]).apply(null,arguments)};var ___atomic_fetch_add_8=Module["___atomic_fetch_add_8"]=function(){return(___atomic_fetch_add_8=Module["___atomic_fetch_add_8"]=Module["asm"]["__atomic_fetch_add_8"]).apply(null,arguments)};var ___atomic_fetch_add_16=Module["___atomic_fetch_add_16"]=function(){return(___atomic_fetch_add_16=Module["___atomic_fetch_add_16"]=Module["asm"]["__atomic_fetch_add_16"]).apply(null,arguments)};var ___atomic_fetch_sub_1=Module["___atomic_fetch_sub_1"]=function(){return(___atomic_fetch_sub_1=Module["___atomic_fetch_sub_1"]=Module["asm"]["__atomic_fetch_sub_1"]).apply(null,arguments)};var ___atomic_fetch_sub_2=Module["___atomic_fetch_sub_2"]=function(){return(___atomic_fetch_sub_2=Module["___atomic_fetch_sub_2"]=Module["asm"]["__atomic_fetch_sub_2"]).apply(null,arguments)};var ___atomic_fetch_sub_4=Module["___atomic_fetch_sub_4"]=function(){return(___atomic_fetch_sub_4=Module["___atomic_fetch_sub_4"]=Module["asm"]["__atomic_fetch_sub_4"]).apply(null,arguments)};var ___atomic_fetch_sub_8=Module["___atomic_fetch_sub_8"]=function(){return(___atomic_fetch_sub_8=Module["___atomic_fetch_sub_8"]=Module["asm"]["__atomic_fetch_sub_8"]).apply(null,arguments)};var ___atomic_fetch_sub_16=Module["___atomic_fetch_sub_16"]=function(){return(___atomic_fetch_sub_16=Module["___atomic_fetch_sub_16"]=Module["asm"]["__atomic_fetch_sub_16"]).apply(null,arguments)};var ___atomic_fetch_and_1=Module["___atomic_fetch_and_1"]=function(){return(___atomic_fetch_and_1=Module["___atomic_fetch_and_1"]=Module["asm"]["__atomic_fetch_and_1"]).apply(null,arguments)};var ___atomic_fetch_and_2=Module["___atomic_fetch_and_2"]=function(){return(___atomic_fetch_and_2=Module["___atomic_fetch_and_2"]=Module["asm"]["__atomic_fetch_and_2"]).apply(null,arguments)};var ___atomic_fetch_and_4=Module["___atomic_fetch_and_4"]=function(){return(___atomic_fetch_and_4=Module["___atomic_fetch_and_4"]=Module["asm"]["__atomic_fetch_and_4"]).apply(null,arguments)};var ___atomic_fetch_and_8=Module["___atomic_fetch_and_8"]=function(){return(___atomic_fetch_and_8=Module["___atomic_fetch_and_8"]=Module["asm"]["__atomic_fetch_and_8"]).apply(null,arguments)};var ___atomic_fetch_and_16=Module["___atomic_fetch_and_16"]=function(){return(___atomic_fetch_and_16=Module["___atomic_fetch_and_16"]=Module["asm"]["__atomic_fetch_and_16"]).apply(null,arguments)};var ___atomic_fetch_or_1=Module["___atomic_fetch_or_1"]=function(){return(___atomic_fetch_or_1=Module["___atomic_fetch_or_1"]=Module["asm"]["__atomic_fetch_or_1"]).apply(null,arguments)};var ___atomic_fetch_or_2=Module["___atomic_fetch_or_2"]=function(){return(___atomic_fetch_or_2=Module["___atomic_fetch_or_2"]=Module["asm"]["__atomic_fetch_or_2"]).apply(null,arguments)};var ___atomic_fetch_or_4=Module["___atomic_fetch_or_4"]=function(){return(___atomic_fetch_or_4=Module["___atomic_fetch_or_4"]=Module["asm"]["__atomic_fetch_or_4"]).apply(null,arguments)};var ___atomic_fetch_or_8=Module["___atomic_fetch_or_8"]=function(){return(___atomic_fetch_or_8=Module["___atomic_fetch_or_8"]=Module["asm"]["__atomic_fetch_or_8"]).apply(null,arguments)};var ___atomic_fetch_or_16=Module["___atomic_fetch_or_16"]=function(){return(___atomic_fetch_or_16=Module["___atomic_fetch_or_16"]=Module["asm"]["__atomic_fetch_or_16"]).apply(null,arguments)};var ___atomic_fetch_xor_1=Module["___atomic_fetch_xor_1"]=function(){return(___atomic_fetch_xor_1=Module["___atomic_fetch_xor_1"]=Module["asm"]["__atomic_fetch_xor_1"]).apply(null,arguments)};var ___atomic_fetch_xor_2=Module["___atomic_fetch_xor_2"]=function(){return(___atomic_fetch_xor_2=Module["___atomic_fetch_xor_2"]=Module["asm"]["__atomic_fetch_xor_2"]).apply(null,arguments)};var ___atomic_fetch_xor_4=Module["___atomic_fetch_xor_4"]=function(){return(___atomic_fetch_xor_4=Module["___atomic_fetch_xor_4"]=Module["asm"]["__atomic_fetch_xor_4"]).apply(null,arguments)};var ___atomic_fetch_xor_8=Module["___atomic_fetch_xor_8"]=function(){return(___atomic_fetch_xor_8=Module["___atomic_fetch_xor_8"]=Module["asm"]["__atomic_fetch_xor_8"]).apply(null,arguments)};var ___atomic_fetch_xor_16=Module["___atomic_fetch_xor_16"]=function(){return(___atomic_fetch_xor_16=Module["___atomic_fetch_xor_16"]=Module["asm"]["__atomic_fetch_xor_16"]).apply(null,arguments)};var ___ashrdi3=Module["___ashrdi3"]=function(){return(___ashrdi3=Module["___ashrdi3"]=Module["asm"]["__ashrdi3"]).apply(null,arguments)};var ___modti3=Module["___modti3"]=function(){return(___modti3=Module["___modti3"]=Module["asm"]["__modti3"]).apply(null,arguments)};var ___mulvsi3=Module["___mulvsi3"]=function(){return(___mulvsi3=Module["___mulvsi3"]=Module["asm"]["__mulvsi3"]).apply(null,arguments)};var ___fixunsdfsi=Module["___fixunsdfsi"]=function(){return(___fixunsdfsi=Module["___fixunsdfsi"]=Module["asm"]["__fixunsdfsi"]).apply(null,arguments)};var ___divxc3=Module["___divxc3"]=function(){return(___divxc3=Module["___divxc3"]=Module["asm"]["__divxc3"]).apply(null,arguments)};var ___floatunsisf=Module["___floatunsisf"]=function(){return(___floatunsisf=Module["___floatunsisf"]=Module["asm"]["__floatunsisf"]).apply(null,arguments)};var ___absvti2=Module["___absvti2"]=function(){return(___absvti2=Module["___absvti2"]=Module["asm"]["__absvti2"]).apply(null,arguments)};var ___extendhfsf2=Module["___extendhfsf2"]=function(){return(___extendhfsf2=Module["___extendhfsf2"]=Module["asm"]["__extendhfsf2"]).apply(null,arguments)};var ___gnu_h2f_ieee=Module["___gnu_h2f_ieee"]=function(){return(___gnu_h2f_ieee=Module["___gnu_h2f_ieee"]=Module["asm"]["__gnu_h2f_ieee"]).apply(null,arguments)};var ___negti2=Module["___negti2"]=function(){return(___negti2=Module["___negti2"]=Module["asm"]["__negti2"]).apply(null,arguments)};var ___muldi3=Module["___muldi3"]=function(){return(___muldi3=Module["___muldi3"]=Module["asm"]["__muldi3"]).apply(null,arguments)};var ___divdi3=Module["___divdi3"]=function(){return(___divdi3=Module["___divdi3"]=Module["asm"]["__divdi3"]).apply(null,arguments)};var ___ucmpti2=Module["___ucmpti2"]=function(){return(___ucmpti2=Module["___ucmpti2"]=Module["asm"]["__ucmpti2"]).apply(null,arguments)};var ___clzdi2=Module["___clzdi2"]=function(){return(___clzdi2=Module["___clzdi2"]=Module["asm"]["__clzdi2"]).apply(null,arguments)};var ___dtoi64=Module["___dtoi64"]=function(){return(___dtoi64=Module["___dtoi64"]=Module["asm"]["__dtoi64"]).apply(null,arguments)};var ___stoi64=Module["___stoi64"]=function(){return(___stoi64=Module["___stoi64"]=Module["asm"]["__stoi64"]).apply(null,arguments)};var ___fixsfdi=Module["___fixsfdi"]=function(){return(___fixsfdi=Module["___fixsfdi"]=Module["asm"]["__fixsfdi"]).apply(null,arguments)};var ___dtou64=Module["___dtou64"]=function(){return(___dtou64=Module["___dtou64"]=Module["asm"]["__dtou64"]).apply(null,arguments)};var ___stou64=Module["___stou64"]=function(){return(___stou64=Module["___stou64"]=Module["asm"]["__stou64"]).apply(null,arguments)};var ___i64tod=Module["___i64tod"]=function(){return(___i64tod=Module["___i64tod"]=Module["asm"]["__i64tod"]).apply(null,arguments)};var ___i64tos=Module["___i64tos"]=function(){return(___i64tos=Module["___i64tos"]=Module["asm"]["__i64tos"]).apply(null,arguments)};var ___u64tod=Module["___u64tod"]=function(){return(___u64tod=Module["___u64tod"]=Module["asm"]["__u64tod"]).apply(null,arguments)};var ___u64tos=Module["___u64tos"]=function(){return(___u64tos=Module["___u64tos"]=Module["asm"]["__u64tos"]).apply(null,arguments)};var ___mulvti3=Module["___mulvti3"]=function(){return(___mulvti3=Module["___mulvti3"]=Module["asm"]["__mulvti3"]).apply(null,arguments)};var ___udivti3=Module["___udivti3"]=function(){return(___udivti3=Module["___udivti3"]=Module["asm"]["__udivti3"]).apply(null,arguments)};var ___powidf2=Module["___powidf2"]=function(){return(___powidf2=Module["___powidf2"]=Module["asm"]["__powidf2"]).apply(null,arguments)};var ___absvsi2=Module["___absvsi2"]=function(){return(___absvsi2=Module["___absvsi2"]=Module["asm"]["__absvsi2"]).apply(null,arguments)};var ___cmpti2=Module["___cmpti2"]=function(){return(___cmpti2=Module["___cmpti2"]=Module["asm"]["__cmpti2"]).apply(null,arguments)};var ___fixunstfdi=Module["___fixunstfdi"]=function(){return(___fixunstfdi=Module["___fixunstfdi"]=Module["asm"]["__fixunstfdi"]).apply(null,arguments)};var ___divmodsi4=Module["___divmodsi4"]=function(){return(___divmodsi4=Module["___divmodsi4"]=Module["asm"]["__divmodsi4"]).apply(null,arguments)};var ___floatuntitf=Module["___floatuntitf"]=function(){return(___floatuntitf=Module["___floatuntitf"]=Module["asm"]["__floatuntitf"]).apply(null,arguments)};var ___addvsi3=Module["___addvsi3"]=function(){return(___addvsi3=Module["___addvsi3"]=Module["asm"]["__addvsi3"]).apply(null,arguments)};var ___negdf2=Module["___negdf2"]=function(){return(___negdf2=Module["___negdf2"]=Module["asm"]["__negdf2"]).apply(null,arguments)};var ___fixunssfti=Module["___fixunssfti"]=function(){return(___fixunssfti=Module["___fixunssfti"]=Module["asm"]["__fixunssfti"]).apply(null,arguments)};var ___bswapsi2=Module["___bswapsi2"]=function(){return(___bswapsi2=Module["___bswapsi2"]=Module["asm"]["__bswapsi2"]).apply(null,arguments)};var ___paritydi2=Module["___paritydi2"]=function(){return(___paritydi2=Module["___paritydi2"]=Module["asm"]["__paritydi2"]).apply(null,arguments)};var _atomic_thread_fence=Module["_atomic_thread_fence"]=function(){return(_atomic_thread_fence=Module["_atomic_thread_fence"]=Module["asm"]["atomic_thread_fence"]).apply(null,arguments)};var ___fixunsxfdi=Module["___fixunsxfdi"]=function(){return(___fixunsxfdi=Module["___fixunsxfdi"]=Module["asm"]["__fixunsxfdi"]).apply(null,arguments)};var ___floatundixf=Module["___floatundixf"]=function(){return(___floatundixf=Module["___floatundixf"]=Module["asm"]["__floatundixf"]).apply(null,arguments)};var ___muloti4=Module["___muloti4"]=function(){return(___muloti4=Module["___muloti4"]=Module["asm"]["__muloti4"]).apply(null,arguments)};var ___floattisf=Module["___floattisf"]=function(){return(___floattisf=Module["___floattisf"]=Module["asm"]["__floattisf"]).apply(null,arguments)};var ___subvsi3=Module["___subvsi3"]=function(){return(___subvsi3=Module["___subvsi3"]=Module["asm"]["__subvsi3"]).apply(null,arguments)};var _atomic_flag_clear=Module["_atomic_flag_clear"]=function(){return(_atomic_flag_clear=Module["_atomic_flag_clear"]=Module["asm"]["atomic_flag_clear"]).apply(null,arguments)};var ___powitf2=Module["___powitf2"]=function(){return(___powitf2=Module["___powitf2"]=Module["asm"]["__powitf2"]).apply(null,arguments)};var ___truncdfsf2=Module["___truncdfsf2"]=function(){return(___truncdfsf2=Module["___truncdfsf2"]=Module["asm"]["__truncdfsf2"]).apply(null,arguments)};var ___mulosi4=Module["___mulosi4"]=function(){return(___mulosi4=Module["___mulosi4"]=Module["asm"]["__mulosi4"]).apply(null,arguments)};var ___ucmpdi2=Module["___ucmpdi2"]=function(){return(___ucmpdi2=Module["___ucmpdi2"]=Module["asm"]["__ucmpdi2"]).apply(null,arguments)};var ___moddi3=Module["___moddi3"]=function(){return(___moddi3=Module["___moddi3"]=Module["asm"]["__moddi3"]).apply(null,arguments)};var ___floatuntisf=Module["___floatuntisf"]=function(){return(___floatuntisf=Module["___floatuntisf"]=Module["asm"]["__floatuntisf"]).apply(null,arguments)};var ___negvdi2=Module["___negvdi2"]=function(){return(___negvdi2=Module["___negvdi2"]=Module["asm"]["__negvdi2"]).apply(null,arguments)};var ___negdi2=Module["___negdi2"]=function(){return(___negdi2=Module["___negdi2"]=Module["asm"]["__negdi2"]).apply(null,arguments)};var ___fixunsxfti=Module["___fixunsxfti"]=function(){return(___fixunsxfti=Module["___fixunsxfti"]=Module["asm"]["__fixunsxfti"]).apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return(stackSave=Module["stackSave"]=Module["asm"]["stackSave"]).apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return(stackRestore=Module["stackRestore"]=Module["asm"]["stackRestore"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["stackAlloc"]).apply(null,arguments)};var _emscripten_stack_get_current=Module["_emscripten_stack_get_current"]=function(){return(_emscripten_stack_get_current=Module["_emscripten_stack_get_current"]=Module["asm"]["emscripten_stack_get_current"]).apply(null,arguments)};var _emscripten_stack_init=Module["_emscripten_stack_init"]=function(){return(_emscripten_stack_init=Module["_emscripten_stack_init"]=Module["asm"]["emscripten_stack_init"]).apply(null,arguments)};var _emscripten_stack_set_limits=Module["_emscripten_stack_set_limits"]=function(){return(_emscripten_stack_set_limits=Module["_emscripten_stack_set_limits"]=Module["asm"]["emscripten_stack_set_limits"]).apply(null,arguments)};var _emscripten_stack_get_free=Module["_emscripten_stack_get_free"]=function(){return(_emscripten_stack_get_free=Module["_emscripten_stack_get_free"]=Module["asm"]["emscripten_stack_get_free"]).apply(null,arguments)};var _setThrew=Module["_setThrew"]=function(){return(_setThrew=Module["_setThrew"]=Module["asm"]["setThrew"]).apply(null,arguments)};var ___cxa_guard_acquire=Module["___cxa_guard_acquire"]=function(){return(___cxa_guard_acquire=Module["___cxa_guard_acquire"]=Module["asm"]["__cxa_guard_acquire"]).apply(null,arguments)};var ___cxa_guard_release=Module["___cxa_guard_release"]=function(){return(___cxa_guard_release=Module["___cxa_guard_release"]=Module["asm"]["__cxa_guard_release"]).apply(null,arguments)};var ___cxa_pure_virtual=Module["___cxa_pure_virtual"]=function(){return(___cxa_pure_virtual=Module["___cxa_pure_virtual"]=Module["asm"]["__cxa_pure_virtual"]).apply(null,arguments)};var ___cxa_guard_abort=Module["___cxa_guard_abort"]=function(){return(___cxa_guard_abort=Module["___cxa_guard_abort"]=Module["asm"]["__cxa_guard_abort"]).apply(null,arguments)};var _abort_message=Module["_abort_message"]=function(){return(_abort_message=Module["_abort_message"]=Module["asm"]["abort_message"]).apply(null,arguments)};var ___cxa_bad_cast=Module["___cxa_bad_cast"]=function(){return(___cxa_bad_cast=Module["___cxa_bad_cast"]=Module["asm"]["__cxa_bad_cast"]).apply(null,arguments)};var ___cxa_bad_typeid=Module["___cxa_bad_typeid"]=function(){return(___cxa_bad_typeid=Module["___cxa_bad_typeid"]=Module["asm"]["__cxa_bad_typeid"]).apply(null,arguments)};var ___cxa_throw_bad_array_new_length=Module["___cxa_throw_bad_array_new_length"]=function(){return(___cxa_throw_bad_array_new_length=Module["___cxa_throw_bad_array_new_length"]=Module["asm"]["__cxa_throw_bad_array_new_length"]).apply(null,arguments)};var ___cxa_demangle=Module["___cxa_demangle"]=function(){return(___cxa_demangle=Module["___cxa_demangle"]=Module["asm"]["__cxa_demangle"]).apply(null,arguments)};var ___cxa_deleted_virtual=Module["___cxa_deleted_virtual"]=function(){return(___cxa_deleted_virtual=Module["___cxa_deleted_virtual"]=Module["asm"]["__cxa_deleted_virtual"]).apply(null,arguments)};var ___dynamic_cast=Module["___dynamic_cast"]=function(){return(___dynamic_cast=Module["___dynamic_cast"]=Module["asm"]["__dynamic_cast"]).apply(null,arguments)};var ___cxa_can_catch=Module["___cxa_can_catch"]=function(){return(___cxa_can_catch=Module["___cxa_can_catch"]=Module["asm"]["__cxa_can_catch"]).apply(null,arguments)};var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=function(){return(___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=Module["asm"]["__cxa_is_pointer_type"]).apply(null,arguments)};var _sbrk=Module["_sbrk"]=function(){return(_sbrk=Module["_sbrk"]=Module["asm"]["sbrk"]).apply(null,arguments)};var _realloc_in_place=Module["_realloc_in_place"]=function(){return(_realloc_in_place=Module["_realloc_in_place"]=Module["asm"]["realloc_in_place"]).apply(null,arguments)};var _memalign=Module["_memalign"]=function(){return(_memalign=Module["_memalign"]=Module["asm"]["memalign"]).apply(null,arguments)};var _valloc=Module["_valloc"]=function(){return(_valloc=Module["_valloc"]=Module["asm"]["valloc"]).apply(null,arguments)};var _pvalloc=Module["_pvalloc"]=function(){return(_pvalloc=Module["_pvalloc"]=Module["asm"]["pvalloc"]).apply(null,arguments)};var _mallinfo=Module["_mallinfo"]=function(){return(_mallinfo=Module["_mallinfo"]=Module["asm"]["mallinfo"]).apply(null,arguments)};var _mallopt=Module["_mallopt"]=function(){return(_mallopt=Module["_mallopt"]=Module["asm"]["mallopt"]).apply(null,arguments)};var _malloc_trim=Module["_malloc_trim"]=function(){return(_malloc_trim=Module["_malloc_trim"]=Module["asm"]["malloc_trim"]).apply(null,arguments)};var _malloc_usable_size=Module["_malloc_usable_size"]=function(){return(_malloc_usable_size=Module["_malloc_usable_size"]=Module["asm"]["malloc_usable_size"]).apply(null,arguments)};var _malloc_footprint=Module["_malloc_footprint"]=function(){return(_malloc_footprint=Module["_malloc_footprint"]=Module["asm"]["malloc_footprint"]).apply(null,arguments)};var _malloc_max_footprint=Module["_malloc_max_footprint"]=function(){return(_malloc_max_footprint=Module["_malloc_max_footprint"]=Module["asm"]["malloc_max_footprint"]).apply(null,arguments)};var _malloc_footprint_limit=Module["_malloc_footprint_limit"]=function(){return(_malloc_footprint_limit=Module["_malloc_footprint_limit"]=Module["asm"]["malloc_footprint_limit"]).apply(null,arguments)};var _malloc_set_footprint_limit=Module["_malloc_set_footprint_limit"]=function(){return(_malloc_set_footprint_limit=Module["_malloc_set_footprint_limit"]=Module["asm"]["malloc_set_footprint_limit"]).apply(null,arguments)};var _independent_calloc=Module["_independent_calloc"]=function(){return(_independent_calloc=Module["_independent_calloc"]=Module["asm"]["independent_calloc"]).apply(null,arguments)};var _independent_comalloc=Module["_independent_comalloc"]=function(){return(_independent_comalloc=Module["_independent_comalloc"]=Module["asm"]["independent_comalloc"]).apply(null,arguments)};var _bulk_free=Module["_bulk_free"]=function(){return(_bulk_free=Module["_bulk_free"]=Module["asm"]["bulk_free"]).apply(null,arguments)};var _emscripten_builtin_malloc=Module["_emscripten_builtin_malloc"]=function(){return(_emscripten_builtin_malloc=Module["_emscripten_builtin_malloc"]=Module["asm"]["emscripten_builtin_malloc"]).apply(null,arguments)};var _emscripten_builtin_free=Module["_emscripten_builtin_free"]=function(){return(_emscripten_builtin_free=Module["_emscripten_builtin_free"]=Module["asm"]["emscripten_builtin_free"]).apply(null,arguments)};var _emscripten_builtin_memalign=Module["_emscripten_builtin_memalign"]=function(){return(_emscripten_builtin_memalign=Module["_emscripten_builtin_memalign"]=Module["asm"]["emscripten_builtin_memalign"]).apply(null,arguments)};var _emscripten_get_sbrk_ptr=Module["_emscripten_get_sbrk_ptr"]=function(){return(_emscripten_get_sbrk_ptr=Module["_emscripten_get_sbrk_ptr"]=Module["asm"]["emscripten_get_sbrk_ptr"]).apply(null,arguments)};var _brk=Module["_brk"]=function(){return(_brk=Module["_brk"]=Module["asm"]["brk"]).apply(null,arguments)};var _fmin=Module["_fmin"]=function(){return(_fmin=Module["_fmin"]=Module["asm"]["fmin"]).apply(null,arguments)};var _fminf=Module["_fminf"]=function(){return(_fminf=Module["_fminf"]=Module["asm"]["fminf"]).apply(null,arguments)};var _fminl=Module["_fminl"]=function(){return(_fminl=Module["_fminl"]=Module["asm"]["fminl"]).apply(null,arguments)};var _fmodf=Module["_fmodf"]=function(){return(_fmodf=Module["_fmodf"]=Module["asm"]["fmodf"]).apply(null,arguments)};var _log2f=Module["_log2f"]=function(){return(_log2f=Module["_log2f"]=Module["asm"]["log2f"]).apply(null,arguments)};var _log10f=Module["_log10f"]=function(){return(_log10f=Module["_log10f"]=Module["asm"]["log10f"]).apply(null,arguments)};var _exp2=Module["_exp2"]=function(){return(_exp2=Module["_exp2"]=Module["asm"]["exp2"]).apply(null,arguments)};var _exp2f=Module["_exp2f"]=function(){return(_exp2f=Module["_exp2f"]=Module["asm"]["exp2f"]).apply(null,arguments)};var _exp10=Module["_exp10"]=function(){return(_exp10=Module["_exp10"]=Module["asm"]["exp10"]).apply(null,arguments)};var _pow10=Module["_pow10"]=function(){return(_pow10=Module["_pow10"]=Module["asm"]["pow10"]).apply(null,arguments)};var _exp10f=Module["_exp10f"]=function(){return(_exp10f=Module["_exp10f"]=Module["asm"]["exp10f"]).apply(null,arguments)};var _pow10f=Module["_pow10f"]=function(){return(_pow10f=Module["_pow10f"]=Module["asm"]["pow10f"]).apply(null,arguments)};var ___signbitf=Module["___signbitf"]=function(){return(___signbitf=Module["___signbitf"]=Module["asm"]["__signbitf"]).apply(null,arguments)};var ___signbit=Module["___signbit"]=function(){return(___signbit=Module["___signbit"]=Module["asm"]["__signbit"]).apply(null,arguments)};var _emscripten_builtin_memcpy=Module["_emscripten_builtin_memcpy"]=function(){return(_emscripten_builtin_memcpy=Module["_emscripten_builtin_memcpy"]=Module["asm"]["emscripten_builtin_memcpy"]).apply(null,arguments)};var _emscripten_scan_stack=Module["_emscripten_scan_stack"]=function(){return(_emscripten_scan_stack=Module["_emscripten_scan_stack"]=Module["asm"]["emscripten_scan_stack"]).apply(null,arguments)};var ___towrite=Module["___towrite"]=function(){return(___towrite=Module["___towrite"]=Module["asm"]["__towrite"]).apply(null,arguments)};var ___towrite_needs_stdio_exit=Module["___towrite_needs_stdio_exit"]=function(){return(___towrite_needs_stdio_exit=Module["___towrite_needs_stdio_exit"]=Module["asm"]["__towrite_needs_stdio_exit"]).apply(null,arguments)};var _fwrite_unlocked=Module["_fwrite_unlocked"]=function(){return(_fwrite_unlocked=Module["_fwrite_unlocked"]=Module["asm"]["fwrite_unlocked"]).apply(null,arguments)};var _fputs_unlocked=Module["_fputs_unlocked"]=function(){return(_fputs_unlocked=Module["_fputs_unlocked"]=Module["asm"]["fputs_unlocked"]).apply(null,arguments)};var _printf=Module["_printf"]=function(){return(_printf=Module["_printf"]=Module["asm"]["printf"]).apply(null,arguments)};var ___small_printf=Module["___small_printf"]=function(){return(___small_printf=Module["___small_printf"]=Module["asm"]["__small_printf"]).apply(null,arguments)};var _socketpair=Module["_socketpair"]=function(){return(_socketpair=Module["_socketpair"]=Module["asm"]["socketpair"]).apply(null,arguments)};var ___wasm_apply_data_relocs=Module["___wasm_apply_data_relocs"]=function(){return(___wasm_apply_data_relocs=Module["___wasm_apply_data_relocs"]=Module["asm"]["__wasm_apply_data_relocs"]).apply(null,arguments)};var ___wasm_apply_global_relocs=Module["___wasm_apply_global_relocs"]=function(){return(___wasm_apply_global_relocs=Module["___wasm_apply_global_relocs"]=Module["asm"]["__wasm_apply_global_relocs"]).apply(null,arguments)};var dynCall_iiiij=Module["dynCall_iiiij"]=function(){return(dynCall_iiiij=Module["dynCall_iiiij"]=Module["asm"]["dynCall_iiiij"]).apply(null,arguments)};var dynCall_vijii=Module["dynCall_vijii"]=function(){return(dynCall_vijii=Module["dynCall_vijii"]=Module["asm"]["dynCall_vijii"]).apply(null,arguments)};var dynCall_iijj=Module["dynCall_iijj"]=function(){return(dynCall_iijj=Module["dynCall_iijj"]=Module["asm"]["dynCall_iijj"]).apply(null,arguments)};var dynCall_iij=Module["dynCall_iij"]=function(){return(dynCall_iij=Module["dynCall_iij"]=Module["asm"]["dynCall_iij"]).apply(null,arguments)};var dynCall_iijii=Module["dynCall_iijii"]=function(){return(dynCall_iijii=Module["dynCall_iijii"]=Module["asm"]["dynCall_iijii"]).apply(null,arguments)};var dynCall_iiji=Module["dynCall_iiji"]=function(){return(dynCall_iiji=Module["dynCall_iiji"]=Module["asm"]["dynCall_iiji"]).apply(null,arguments)};var dynCall_iiiiiij=Module["dynCall_iiiiiij"]=function(){return(dynCall_iiiiiij=Module["dynCall_iiiiiij"]=Module["asm"]["dynCall_iiiiiij"]).apply(null,arguments)};var dynCall_iiij=Module["dynCall_iiij"]=function(){return(dynCall_iiij=Module["dynCall_iiij"]=Module["asm"]["dynCall_iiij"]).apply(null,arguments)};var dynCall_jii=Module["dynCall_jii"]=function(){return(dynCall_jii=Module["dynCall_jii"]=Module["asm"]["dynCall_jii"]).apply(null,arguments)};var dynCall_ji=Module["dynCall_ji"]=function(){return(dynCall_ji=Module["dynCall_ji"]=Module["asm"]["dynCall_ji"]).apply(null,arguments)};var dynCall_vij=Module["dynCall_vij"]=function(){return(dynCall_vij=Module["dynCall_vij"]=Module["asm"]["dynCall_vij"]).apply(null,arguments)};var dynCall_iiiiijii=Module["dynCall_iiiiijii"]=function(){return(dynCall_iiiiijii=Module["dynCall_iiiiijii"]=Module["asm"]["dynCall_iiiiijii"]).apply(null,arguments)};var dynCall_j=Module["dynCall_j"]=function(){return(dynCall_j=Module["dynCall_j"]=Module["asm"]["dynCall_j"]).apply(null,arguments)};var dynCall_jj=Module["dynCall_jj"]=function(){return(dynCall_jj=Module["dynCall_jj"]=Module["asm"]["dynCall_jj"]).apply(null,arguments)};var dynCall_jiij=Module["dynCall_jiij"]=function(){return(dynCall_jiij=Module["dynCall_jiij"]=Module["asm"]["dynCall_jiij"]).apply(null,arguments)};var dynCall_iiiiji=Module["dynCall_iiiiji"]=function(){return(dynCall_iiiiji=Module["dynCall_iiiiji"]=Module["asm"]["dynCall_iiiiji"]).apply(null,arguments)};var dynCall_iiiijii=Module["dynCall_iiiijii"]=function(){return(dynCall_iiiijii=Module["dynCall_iiiijii"]=Module["asm"]["dynCall_iiiijii"]).apply(null,arguments)};var dynCall_ij=Module["dynCall_ij"]=function(){return(dynCall_ij=Module["dynCall_ij"]=Module["asm"]["dynCall_ij"]).apply(null,arguments)};var dynCall_viiji=Module["dynCall_viiji"]=function(){return(dynCall_viiji=Module["dynCall_viiji"]=Module["asm"]["dynCall_viiji"]).apply(null,arguments)};var dynCall_viijii=Module["dynCall_viijii"]=function(){return(dynCall_viijii=Module["dynCall_viijii"]=Module["asm"]["dynCall_viijii"]).apply(null,arguments)};var dynCall_jiji=Module["dynCall_jiji"]=function(){return(dynCall_jiji=Module["dynCall_jiji"]=Module["asm"]["dynCall_jiji"]).apply(null,arguments)};var dynCall_jiiii=Module["dynCall_jiiii"]=function(){return(dynCall_jiiii=Module["dynCall_jiiii"]=Module["asm"]["dynCall_jiiii"]).apply(null,arguments)};var dynCall_iiiiij=Module["dynCall_iiiiij"]=function(){return(dynCall_iiiiij=Module["dynCall_iiiiij"]=Module["asm"]["dynCall_iiiiij"]).apply(null,arguments)};var dynCall_iiiiijj=Module["dynCall_iiiiijj"]=function(){return(dynCall_iiiiijj=Module["dynCall_iiiiijj"]=Module["asm"]["dynCall_iiiiijj"]).apply(null,arguments)};var dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=function(){return(dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=Module["asm"]["dynCall_iiiiiijj"]).apply(null,arguments)};var dynCall_viijj=Module["dynCall_viijj"]=function(){return(dynCall_viijj=Module["dynCall_viijj"]=Module["asm"]["dynCall_viijj"]).apply(null,arguments)};var _orig$lseek=Module["_orig$lseek"]=function(){return(_orig$lseek=Module["_orig$lseek"]=Module["asm"]["orig$lseek"]).apply(null,arguments)};var _orig$_PyInterpreterState_LookUpID=Module["_orig$_PyInterpreterState_LookUpID"]=function(){return(_orig$_PyInterpreterState_LookUpID=Module["_orig$_PyInterpreterState_LookUpID"]=Module["asm"]["orig$_PyInterpreterState_LookUpID"]).apply(null,arguments)};var _orig$PyLong_FromLongLong=Module["_orig$PyLong_FromLongLong"]=function(){return(_orig$PyLong_FromLongLong=Module["_orig$PyLong_FromLongLong"]=Module["asm"]["orig$PyLong_FromLongLong"]).apply(null,arguments)};var _orig$PyLong_AsLongLongAndOverflow=Module["_orig$PyLong_AsLongLongAndOverflow"]=function(){return(_orig$PyLong_AsLongLongAndOverflow=Module["_orig$PyLong_AsLongLongAndOverflow"]=Module["asm"]["orig$PyLong_AsLongLongAndOverflow"]).apply(null,arguments)};var _orig$_PyInterpreterID_New=Module["_orig$_PyInterpreterID_New"]=function(){return(_orig$_PyInterpreterID_New=Module["_orig$_PyInterpreterID_New"]=Module["asm"]["orig$_PyInterpreterID_New"]).apply(null,arguments)};var _orig$PyInterpreterState_GetID=Module["_orig$PyInterpreterState_GetID"]=function(){return(_orig$PyInterpreterState_GetID=Module["_orig$PyInterpreterState_GetID"]=Module["asm"]["orig$PyInterpreterState_GetID"]).apply(null,arguments)};var _orig$PyLong_AsLongLong=Module["_orig$PyLong_AsLongLong"]=function(){return(_orig$PyLong_AsLongLong=Module["_orig$PyLong_AsLongLong"]=Module["asm"]["orig$PyLong_AsLongLong"]).apply(null,arguments)};var _orig$PyLong_FromUnsignedLongLong=Module["_orig$PyLong_FromUnsignedLongLong"]=function(){return(_orig$PyLong_FromUnsignedLongLong=Module["_orig$PyLong_FromUnsignedLongLong"]=Module["asm"]["orig$PyLong_FromUnsignedLongLong"]).apply(null,arguments)};var _orig$PyLong_AsUnsignedLongLong=Module["_orig$PyLong_AsUnsignedLongLong"]=function(){return(_orig$PyLong_AsUnsignedLongLong=Module["_orig$PyLong_AsUnsignedLongLong"]=Module["asm"]["orig$PyLong_AsUnsignedLongLong"]).apply(null,arguments)};var _orig$PyLong_AsUnsignedLongLongMask=Module["_orig$PyLong_AsUnsignedLongLongMask"]=function(){return(_orig$PyLong_AsUnsignedLongLongMask=Module["_orig$PyLong_AsUnsignedLongLongMask"]=Module["asm"]["orig$PyLong_AsUnsignedLongLongMask"]).apply(null,arguments)};var _orig$_PyThread_cond_after=Module["_orig$_PyThread_cond_after"]=function(){return(_orig$_PyThread_cond_after=Module["_orig$_PyThread_cond_after"]=Module["asm"]["orig$_PyThread_cond_after"]).apply(null,arguments)};var _orig$_PyTime_GetPerfCounter=Module["_orig$_PyTime_GetPerfCounter"]=function(){return(_orig$_PyTime_GetPerfCounter=Module["_orig$_PyTime_GetPerfCounter"]=Module["asm"]["orig$_PyTime_GetPerfCounter"]).apply(null,arguments)};var _orig$_PyTime_AsMicroseconds=Module["_orig$_PyTime_AsMicroseconds"]=function(){return(_orig$_PyTime_AsMicroseconds=Module["_orig$_PyTime_AsMicroseconds"]=Module["asm"]["orig$_PyTime_AsMicroseconds"]).apply(null,arguments)};var _orig$_Py_KeyedHash=Module["_orig$_Py_KeyedHash"]=function(){return(_orig$_Py_KeyedHash=Module["_orig$_Py_KeyedHash"]=Module["asm"]["orig$_Py_KeyedHash"]).apply(null,arguments)};var _orig$PyThreadState_GetID=Module["_orig$PyThreadState_GetID"]=function(){return(_orig$PyThreadState_GetID=Module["_orig$PyThreadState_GetID"]=Module["asm"]["orig$PyThreadState_GetID"]).apply(null,arguments)};var _orig$_PyTime_MulDiv=Module["_orig$_PyTime_MulDiv"]=function(){return(_orig$_PyTime_MulDiv=Module["_orig$_PyTime_MulDiv"]=Module["asm"]["orig$_PyTime_MulDiv"]).apply(null,arguments)};var _orig$_PyTime_FromSeconds=Module["_orig$_PyTime_FromSeconds"]=function(){return(_orig$_PyTime_FromSeconds=Module["_orig$_PyTime_FromSeconds"]=Module["asm"]["orig$_PyTime_FromSeconds"]).apply(null,arguments)};var _orig$_PyTime_FromNanoseconds=Module["_orig$_PyTime_FromNanoseconds"]=function(){return(_orig$_PyTime_FromNanoseconds=Module["_orig$_PyTime_FromNanoseconds"]=Module["asm"]["orig$_PyTime_FromNanoseconds"]).apply(null,arguments)};var _orig$_PyTime_AsSecondsDouble=Module["_orig$_PyTime_AsSecondsDouble"]=function(){return(_orig$_PyTime_AsSecondsDouble=Module["_orig$_PyTime_AsSecondsDouble"]=Module["asm"]["orig$_PyTime_AsSecondsDouble"]).apply(null,arguments)};var _orig$_PyTime_AsNanosecondsObject=Module["_orig$_PyTime_AsNanosecondsObject"]=function(){return(_orig$_PyTime_AsNanosecondsObject=Module["_orig$_PyTime_AsNanosecondsObject"]=Module["asm"]["orig$_PyTime_AsNanosecondsObject"]).apply(null,arguments)};var _orig$_PyTime_AsMilliseconds=Module["_orig$_PyTime_AsMilliseconds"]=function(){return(_orig$_PyTime_AsMilliseconds=Module["_orig$_PyTime_AsMilliseconds"]=Module["asm"]["orig$_PyTime_AsMilliseconds"]).apply(null,arguments)};var _orig$_PyTime_AsTimeval=Module["_orig$_PyTime_AsTimeval"]=function(){return(_orig$_PyTime_AsTimeval=Module["_orig$_PyTime_AsTimeval"]=Module["asm"]["orig$_PyTime_AsTimeval"]).apply(null,arguments)};var _orig$_PyTime_AsTimeval_noraise=Module["_orig$_PyTime_AsTimeval_noraise"]=function(){return(_orig$_PyTime_AsTimeval_noraise=Module["_orig$_PyTime_AsTimeval_noraise"]=Module["asm"]["orig$_PyTime_AsTimeval_noraise"]).apply(null,arguments)};var _orig$_PyTime_AsTimevalTime_t=Module["_orig$_PyTime_AsTimevalTime_t"]=function(){return(_orig$_PyTime_AsTimevalTime_t=Module["_orig$_PyTime_AsTimevalTime_t"]=Module["asm"]["orig$_PyTime_AsTimevalTime_t"]).apply(null,arguments)};var _orig$_PyTime_AsTimespec=Module["_orig$_PyTime_AsTimespec"]=function(){return(_orig$_PyTime_AsTimespec=Module["_orig$_PyTime_AsTimespec"]=Module["asm"]["orig$_PyTime_AsTimespec"]).apply(null,arguments)};var _orig$_PyTime_GetSystemClock=Module["_orig$_PyTime_GetSystemClock"]=function(){return(_orig$_PyTime_GetSystemClock=Module["_orig$_PyTime_GetSystemClock"]=Module["asm"]["orig$_PyTime_GetSystemClock"]).apply(null,arguments)};var _orig$_PyTime_GetMonotonicClock=Module["_orig$_PyTime_GetMonotonicClock"]=function(){return(_orig$_PyTime_GetMonotonicClock=Module["_orig$_PyTime_GetMonotonicClock"]=Module["asm"]["orig$_PyTime_GetMonotonicClock"]).apply(null,arguments)};var _orig$PyThread_acquire_lock_timed=Module["_orig$PyThread_acquire_lock_timed"]=function(){return(_orig$PyThread_acquire_lock_timed=Module["_orig$PyThread_acquire_lock_timed"]=Module["asm"]["orig$PyThread_acquire_lock_timed"]).apply(null,arguments)};var _orig$__trunctfdf2=Module["_orig$__trunctfdf2"]=function(){return(_orig$__trunctfdf2=Module["_orig$__trunctfdf2"]=Module["asm"]["orig$__trunctfdf2"]).apply(null,arguments)};var _orig$XML_SetBillionLaughsAttackProtectionActivationThreshold=Module["_orig$XML_SetBillionLaughsAttackProtectionActivationThreshold"]=function(){return(_orig$XML_SetBillionLaughsAttackProtectionActivationThreshold=Module["_orig$XML_SetBillionLaughsAttackProtectionActivationThreshold"]=Module["asm"]["orig$XML_SetBillionLaughsAttackProtectionActivationThreshold"]).apply(null,arguments)};var _orig$testingAccountingGetCountBytesDirect=Module["_orig$testingAccountingGetCountBytesDirect"]=function(){return(_orig$testingAccountingGetCountBytesDirect=Module["_orig$testingAccountingGetCountBytesDirect"]=Module["asm"]["orig$testingAccountingGetCountBytesDirect"]).apply(null,arguments)};var _orig$testingAccountingGetCountBytesIndirect=Module["_orig$testingAccountingGetCountBytesIndirect"]=function(){return(_orig$testingAccountingGetCountBytesIndirect=Module["_orig$testingAccountingGetCountBytesIndirect"]=Module["asm"]["orig$testingAccountingGetCountBytesIndirect"]).apply(null,arguments)};var _orig$sqlite3_value_int64=Module["_orig$sqlite3_value_int64"]=function(){return(_orig$sqlite3_value_int64=Module["_orig$sqlite3_value_int64"]=Module["asm"]["orig$sqlite3_value_int64"]).apply(null,arguments)};var _orig$_pysqlite_long_as_int64=Module["_orig$_pysqlite_long_as_int64"]=function(){return(_orig$_pysqlite_long_as_int64=Module["_orig$_pysqlite_long_as_int64"]=Module["asm"]["orig$_pysqlite_long_as_int64"]).apply(null,arguments)};var _orig$sqlite3_result_int64=Module["_orig$sqlite3_result_int64"]=function(){return(_orig$sqlite3_result_int64=Module["_orig$sqlite3_result_int64"]=Module["asm"]["orig$sqlite3_result_int64"]).apply(null,arguments)};var _orig$sqlite3_column_int64=Module["_orig$sqlite3_column_int64"]=function(){return(_orig$sqlite3_column_int64=Module["_orig$sqlite3_column_int64"]=Module["asm"]["orig$sqlite3_column_int64"]).apply(null,arguments)};var _orig$sqlite3_last_insert_rowid=Module["_orig$sqlite3_last_insert_rowid"]=function(){return(_orig$sqlite3_last_insert_rowid=Module["_orig$sqlite3_last_insert_rowid"]=Module["asm"]["orig$sqlite3_last_insert_rowid"]).apply(null,arguments)};var _orig$sqlite3_bind_int64=Module["_orig$sqlite3_bind_int64"]=function(){return(_orig$sqlite3_bind_int64=Module["_orig$sqlite3_bind_int64"]=Module["asm"]["orig$sqlite3_bind_int64"]).apply(null,arguments)};var _orig$mpd_qset_i64=Module["_orig$mpd_qset_i64"]=function(){return(_orig$mpd_qset_i64=Module["_orig$mpd_qset_i64"]=Module["asm"]["orig$mpd_qset_i64"]).apply(null,arguments)};var _orig$mpd_qset_i64_exact=Module["_orig$mpd_qset_i64_exact"]=function(){return(_orig$mpd_qset_i64_exact=Module["_orig$mpd_qset_i64_exact"]=Module["asm"]["orig$mpd_qset_i64_exact"]).apply(null,arguments)};var _orig$mpd_qset_u64=Module["_orig$mpd_qset_u64"]=function(){return(_orig$mpd_qset_u64=Module["_orig$mpd_qset_u64"]=Module["asm"]["orig$mpd_qset_u64"]).apply(null,arguments)};var _orig$mpd_qset_u64_exact=Module["_orig$mpd_qset_u64_exact"]=function(){return(_orig$mpd_qset_u64_exact=Module["_orig$mpd_qset_u64_exact"]=Module["asm"]["orig$mpd_qset_u64_exact"]).apply(null,arguments)};var _orig$mpd_qget_u64=Module["_orig$mpd_qget_u64"]=function(){return(_orig$mpd_qget_u64=Module["_orig$mpd_qget_u64"]=Module["asm"]["orig$mpd_qget_u64"]).apply(null,arguments)};var _orig$mpd_qget_i64=Module["_orig$mpd_qget_i64"]=function(){return(_orig$mpd_qget_i64=Module["_orig$mpd_qget_i64"]=Module["asm"]["orig$mpd_qget_i64"]).apply(null,arguments)};var _orig$mpd_qadd_i64=Module["_orig$mpd_qadd_i64"]=function(){return(_orig$mpd_qadd_i64=Module["_orig$mpd_qadd_i64"]=Module["asm"]["orig$mpd_qadd_i64"]).apply(null,arguments)};var _orig$mpd_qadd_u64=Module["_orig$mpd_qadd_u64"]=function(){return(_orig$mpd_qadd_u64=Module["_orig$mpd_qadd_u64"]=Module["asm"]["orig$mpd_qadd_u64"]).apply(null,arguments)};var _orig$mpd_qsub_i64=Module["_orig$mpd_qsub_i64"]=function(){return(_orig$mpd_qsub_i64=Module["_orig$mpd_qsub_i64"]=Module["asm"]["orig$mpd_qsub_i64"]).apply(null,arguments)};var _orig$mpd_qsub_u64=Module["_orig$mpd_qsub_u64"]=function(){return(_orig$mpd_qsub_u64=Module["_orig$mpd_qsub_u64"]=Module["asm"]["orig$mpd_qsub_u64"]).apply(null,arguments)};var _orig$mpd_qdiv_i64=Module["_orig$mpd_qdiv_i64"]=function(){return(_orig$mpd_qdiv_i64=Module["_orig$mpd_qdiv_i64"]=Module["asm"]["orig$mpd_qdiv_i64"]).apply(null,arguments)};var _orig$mpd_qdiv_u64=Module["_orig$mpd_qdiv_u64"]=function(){return(_orig$mpd_qdiv_u64=Module["_orig$mpd_qdiv_u64"]=Module["asm"]["orig$mpd_qdiv_u64"]).apply(null,arguments)};var _orig$mpd_qmul_i64=Module["_orig$mpd_qmul_i64"]=function(){return(_orig$mpd_qmul_i64=Module["_orig$mpd_qmul_i64"]=Module["asm"]["orig$mpd_qmul_i64"]).apply(null,arguments)};var _orig$mpd_qmul_u64=Module["_orig$mpd_qmul_u64"]=function(){return(_orig$mpd_qmul_u64=Module["_orig$mpd_qmul_u64"]=Module["asm"]["orig$mpd_qmul_u64"]).apply(null,arguments)};var _orig$mmap=Module["_orig$mmap"]=function(){return(_orig$mmap=Module["_orig$mmap"]=Module["asm"]["orig$mmap"]).apply(null,arguments)};var _orig$ftruncate=Module["_orig$ftruncate"]=function(){return(_orig$ftruncate=Module["_orig$ftruncate"]=Module["asm"]["orig$ftruncate"]).apply(null,arguments)};var _orig$lockf=Module["_orig$lockf"]=function(){return(_orig$lockf=Module["_orig$lockf"]=Module["asm"]["orig$lockf"]).apply(null,arguments)};var _orig$pread=Module["_orig$pread"]=function(){return(_orig$pread=Module["_orig$pread"]=Module["asm"]["orig$pread"]).apply(null,arguments)};var _orig$pwrite=Module["_orig$pwrite"]=function(){return(_orig$pwrite=Module["_orig$pwrite"]=Module["asm"]["orig$pwrite"]).apply(null,arguments)};var _orig$truncate=Module["_orig$truncate"]=function(){return(_orig$truncate=Module["_orig$truncate"]=Module["asm"]["orig$truncate"]).apply(null,arguments)};var _orig$posix_fallocate=Module["_orig$posix_fallocate"]=function(){return(_orig$posix_fallocate=Module["_orig$posix_fallocate"]=Module["asm"]["orig$posix_fallocate"]).apply(null,arguments)};var _orig$posix_fadvise=Module["_orig$posix_fadvise"]=function(){return(_orig$posix_fadvise=Module["_orig$posix_fadvise"]=Module["asm"]["orig$posix_fadvise"]).apply(null,arguments)};var _orig$PyNumber_AsOff_t=Module["_orig$PyNumber_AsOff_t"]=function(){return(_orig$PyNumber_AsOff_t=Module["_orig$PyNumber_AsOff_t"]=Module["asm"]["orig$PyNumber_AsOff_t"]).apply(null,arguments)};var _orig$sqlite3_msize=Module["_orig$sqlite3_msize"]=function(){return(_orig$sqlite3_msize=Module["_orig$sqlite3_msize"]=Module["asm"]["orig$sqlite3_msize"]).apply(null,arguments)};var _orig$sqlite3_memory_alarm=Module["_orig$sqlite3_memory_alarm"]=function(){return(_orig$sqlite3_memory_alarm=Module["_orig$sqlite3_memory_alarm"]=Module["asm"]["orig$sqlite3_memory_alarm"]).apply(null,arguments)};var _orig$sqlite3_soft_heap_limit64=Module["_orig$sqlite3_soft_heap_limit64"]=function(){return(_orig$sqlite3_soft_heap_limit64=Module["_orig$sqlite3_soft_heap_limit64"]=Module["asm"]["orig$sqlite3_soft_heap_limit64"]).apply(null,arguments)};var _orig$sqlite3_memory_used=Module["_orig$sqlite3_memory_used"]=function(){return(_orig$sqlite3_memory_used=Module["_orig$sqlite3_memory_used"]=Module["asm"]["orig$sqlite3_memory_used"]).apply(null,arguments)};var _orig$sqlite3_memory_highwater=Module["_orig$sqlite3_memory_highwater"]=function(){return(_orig$sqlite3_memory_highwater=Module["_orig$sqlite3_memory_highwater"]=Module["asm"]["orig$sqlite3_memory_highwater"]).apply(null,arguments)};var _orig$sqlite3_malloc64=Module["_orig$sqlite3_malloc64"]=function(){return(_orig$sqlite3_malloc64=Module["_orig$sqlite3_malloc64"]=Module["asm"]["orig$sqlite3_malloc64"]).apply(null,arguments)};var _orig$sqlite3_realloc64=Module["_orig$sqlite3_realloc64"]=function(){return(_orig$sqlite3_realloc64=Module["_orig$sqlite3_realloc64"]=Module["asm"]["orig$sqlite3_realloc64"]).apply(null,arguments)};var _orig$__addtf3=Module["_orig$__addtf3"]=function(){return(_orig$__addtf3=Module["_orig$__addtf3"]=Module["asm"]["orig$__addtf3"]).apply(null,arguments)};var _orig$__gttf2=Module["_orig$__gttf2"]=function(){return(_orig$__gttf2=Module["_orig$__gttf2"]=Module["asm"]["orig$__gttf2"]).apply(null,arguments)};var _orig$__getf2=Module["_orig$__getf2"]=function(){return(_orig$__getf2=Module["_orig$__getf2"]=Module["asm"]["orig$__getf2"]).apply(null,arguments)};var _orig$__multf3=Module["_orig$__multf3"]=function(){return(_orig$__multf3=Module["_orig$__multf3"]=Module["asm"]["orig$__multf3"]).apply(null,arguments)};var _orig$__divtf3=Module["_orig$__divtf3"]=function(){return(_orig$__divtf3=Module["_orig$__divtf3"]=Module["asm"]["orig$__divtf3"]).apply(null,arguments)};var _orig$__lttf2=Module["_orig$__lttf2"]=function(){return(_orig$__lttf2=Module["_orig$__lttf2"]=Module["asm"]["orig$__lttf2"]).apply(null,arguments)};var _orig$__fixtfsi=Module["_orig$__fixtfsi"]=function(){return(_orig$__fixtfsi=Module["_orig$__fixtfsi"]=Module["asm"]["orig$__fixtfsi"]).apply(null,arguments)};var _orig$__subtf3=Module["_orig$__subtf3"]=function(){return(_orig$__subtf3=Module["_orig$__subtf3"]=Module["asm"]["orig$__subtf3"]).apply(null,arguments)};var _orig$sqlite3_result_blob64=Module["_orig$sqlite3_result_blob64"]=function(){return(_orig$sqlite3_result_blob64=Module["_orig$sqlite3_result_blob64"]=Module["asm"]["orig$sqlite3_result_blob64"]).apply(null,arguments)};var _orig$sqlite3_result_text64=Module["_orig$sqlite3_result_text64"]=function(){return(_orig$sqlite3_result_text64=Module["_orig$sqlite3_result_text64"]=Module["asm"]["orig$sqlite3_result_text64"]).apply(null,arguments)};var _orig$sqlite3_result_zeroblob64=Module["_orig$sqlite3_result_zeroblob64"]=function(){return(_orig$sqlite3_result_zeroblob64=Module["_orig$sqlite3_result_zeroblob64"]=Module["asm"]["orig$sqlite3_result_zeroblob64"]).apply(null,arguments)};var _orig$sqlite3_bind_blob64=Module["_orig$sqlite3_bind_blob64"]=function(){return(_orig$sqlite3_bind_blob64=Module["_orig$sqlite3_bind_blob64"]=Module["asm"]["orig$sqlite3_bind_blob64"]).apply(null,arguments)};var _orig$sqlite3_bind_text64=Module["_orig$sqlite3_bind_text64"]=function(){return(_orig$sqlite3_bind_text64=Module["_orig$sqlite3_bind_text64"]=Module["asm"]["orig$sqlite3_bind_text64"]).apply(null,arguments)};var _orig$sqlite3_bind_zeroblob64=Module["_orig$sqlite3_bind_zeroblob64"]=function(){return(_orig$sqlite3_bind_zeroblob64=Module["_orig$sqlite3_bind_zeroblob64"]=Module["asm"]["orig$sqlite3_bind_zeroblob64"]).apply(null,arguments)};var _orig$sqlite3_blob_open=Module["_orig$sqlite3_blob_open"]=function(){return(_orig$sqlite3_blob_open=Module["_orig$sqlite3_blob_open"]=Module["asm"]["orig$sqlite3_blob_open"]).apply(null,arguments)};var _orig$sqlite3_blob_reopen=Module["_orig$sqlite3_blob_reopen"]=function(){return(_orig$sqlite3_blob_reopen=Module["_orig$sqlite3_blob_reopen"]=Module["asm"]["orig$sqlite3_blob_reopen"]).apply(null,arguments)};var _orig$sqlite3_set_last_insert_rowid=Module["_orig$sqlite3_set_last_insert_rowid"]=function(){return(_orig$sqlite3_set_last_insert_rowid=Module["_orig$sqlite3_set_last_insert_rowid"]=Module["asm"]["orig$sqlite3_set_last_insert_rowid"]).apply(null,arguments)};var _orig$sqlite3_uri_int64=Module["_orig$sqlite3_uri_int64"]=function(){return(_orig$sqlite3_uri_int64=Module["_orig$sqlite3_uri_int64"]=Module["asm"]["orig$sqlite3_uri_int64"]).apply(null,arguments)};var _orig$__floatditf=Module["_orig$__floatditf"]=function(){return(_orig$__floatditf=Module["_orig$__floatditf"]=Module["asm"]["orig$__floatditf"]).apply(null,arguments)};var _orig$adler32_combine=Module["_orig$adler32_combine"]=function(){return(_orig$adler32_combine=Module["_orig$adler32_combine"]=Module["asm"]["orig$adler32_combine"]).apply(null,arguments)};var _orig$adler32_combine64=Module["_orig$adler32_combine64"]=function(){return(_orig$adler32_combine64=Module["_orig$adler32_combine64"]=Module["asm"]["orig$adler32_combine64"]).apply(null,arguments)};var _orig$crc32_combine=Module["_orig$crc32_combine"]=function(){return(_orig$crc32_combine=Module["_orig$crc32_combine"]=Module["asm"]["orig$crc32_combine"]).apply(null,arguments)};var _orig$crc32_combine64=Module["_orig$crc32_combine64"]=function(){return(_orig$crc32_combine64=Module["_orig$crc32_combine64"]=Module["asm"]["orig$crc32_combine64"]).apply(null,arguments)};var _orig$gzseek64=Module["_orig$gzseek64"]=function(){return(_orig$gzseek64=Module["_orig$gzseek64"]=Module["asm"]["orig$gzseek64"]).apply(null,arguments)};var _orig$gzseek=Module["_orig$gzseek"]=function(){return(_orig$gzseek=Module["_orig$gzseek"]=Module["asm"]["orig$gzseek"]).apply(null,arguments)};var _orig$gztell64=Module["_orig$gztell64"]=function(){return(_orig$gztell64=Module["_orig$gztell64"]=Module["asm"]["orig$gztell64"]).apply(null,arguments)};var _orig$gztell=Module["_orig$gztell"]=function(){return(_orig$gztell=Module["_orig$gztell"]=Module["asm"]["orig$gztell"]).apply(null,arguments)};var _orig$gzoffset64=Module["_orig$gzoffset64"]=function(){return(_orig$gzoffset64=Module["_orig$gzoffset64"]=Module["asm"]["orig$gzoffset64"]).apply(null,arguments)};var _orig$gzoffset=Module["_orig$gzoffset"]=function(){return(_orig$gzoffset=Module["_orig$gzoffset"]=Module["asm"]["orig$gzoffset"]).apply(null,arguments)};var _orig$posix_fallocate64=Module["_orig$posix_fallocate64"]=function(){return(_orig$posix_fallocate64=Module["_orig$posix_fallocate64"]=Module["asm"]["orig$posix_fallocate64"]).apply(null,arguments)};var _orig$posix_fadvise64=Module["_orig$posix_fadvise64"]=function(){return(_orig$posix_fadvise64=Module["_orig$posix_fadvise64"]=Module["asm"]["orig$posix_fadvise64"]).apply(null,arguments)};var _orig$hypotl=Module["_orig$hypotl"]=function(){return(_orig$hypotl=Module["_orig$hypotl"]=Module["asm"]["orig$hypotl"]).apply(null,arguments)};var _orig$__fpclassifyl=Module["_orig$__fpclassifyl"]=function(){return(_orig$__fpclassifyl=Module["_orig$__fpclassifyl"]=Module["asm"]["orig$__fpclassifyl"]).apply(null,arguments)};var _orig$copysignl=Module["_orig$copysignl"]=function(){return(_orig$copysignl=Module["_orig$copysignl"]=Module["asm"]["orig$copysignl"]).apply(null,arguments)};var _orig$atan2l=Module["_orig$atan2l"]=function(){return(_orig$atan2l=Module["_orig$atan2l"]=Module["asm"]["orig$atan2l"]).apply(null,arguments)};var _orig$__unordtf2=Module["_orig$__unordtf2"]=function(){return(_orig$__unordtf2=Module["_orig$__unordtf2"]=Module["asm"]["orig$__unordtf2"]).apply(null,arguments)};var _orig$__multc3=Module["_orig$__multc3"]=function(){return(_orig$__multc3=Module["_orig$__multc3"]=Module["asm"]["orig$__multc3"]).apply(null,arguments)};var _orig$__netf2=Module["_orig$__netf2"]=function(){return(_orig$__netf2=Module["_orig$__netf2"]=Module["asm"]["orig$__netf2"]).apply(null,arguments)};var _orig$__eqtf2=Module["_orig$__eqtf2"]=function(){return(_orig$__eqtf2=Module["_orig$__eqtf2"]=Module["asm"]["orig$__eqtf2"]).apply(null,arguments)};var _orig$logl=Module["_orig$logl"]=function(){return(_orig$logl=Module["_orig$logl"]=Module["asm"]["orig$logl"]).apply(null,arguments)};var _orig$__stdio_seek=Module["_orig$__stdio_seek"]=function(){return(_orig$__stdio_seek=Module["_orig$__stdio_seek"]=Module["asm"]["orig$__stdio_seek"]).apply(null,arguments)};var _orig$__shlim=Module["_orig$__shlim"]=function(){return(_orig$__shlim=Module["_orig$__shlim"]=Module["asm"]["orig$__shlim"]).apply(null,arguments)};var _orig$__intscan=Module["_orig$__intscan"]=function(){return(_orig$__intscan=Module["_orig$__intscan"]=Module["asm"]["orig$__intscan"]).apply(null,arguments)};var _orig$__trunctfsf2=Module["_orig$__trunctfsf2"]=function(){return(_orig$__trunctfsf2=Module["_orig$__trunctfsf2"]=Module["asm"]["orig$__trunctfsf2"]).apply(null,arguments)};var _orig$__fseeko_unlocked=Module["_orig$__fseeko_unlocked"]=function(){return(_orig$__fseeko_unlocked=Module["_orig$__fseeko_unlocked"]=Module["asm"]["orig$__fseeko_unlocked"]).apply(null,arguments)};var _orig$__fseeko=Module["_orig$__fseeko"]=function(){return(_orig$__fseeko=Module["_orig$__fseeko"]=Module["asm"]["orig$__fseeko"]).apply(null,arguments)};var _orig$fseeko=Module["_orig$fseeko"]=function(){return(_orig$fseeko=Module["_orig$fseeko"]=Module["asm"]["orig$fseeko"]).apply(null,arguments)};var _orig$fseeko64=Module["_orig$fseeko64"]=function(){return(_orig$fseeko64=Module["_orig$fseeko64"]=Module["asm"]["orig$fseeko64"]).apply(null,arguments)};var _orig$__ftello=Module["_orig$__ftello"]=function(){return(_orig$__ftello=Module["_orig$__ftello"]=Module["asm"]["orig$__ftello"]).apply(null,arguments)};var _orig$__ftello_unlocked=Module["_orig$__ftello_unlocked"]=function(){return(_orig$__ftello_unlocked=Module["_orig$__ftello_unlocked"]=Module["asm"]["orig$__ftello_unlocked"]).apply(null,arguments)};var _orig$ftello=Module["_orig$ftello"]=function(){return(_orig$ftello=Module["_orig$ftello"]=Module["asm"]["orig$ftello"]).apply(null,arguments)};var _orig$ftello64=Module["_orig$ftello64"]=function(){return(_orig$ftello64=Module["_orig$ftello64"]=Module["asm"]["orig$ftello64"]).apply(null,arguments)};var _orig$frexpl=Module["_orig$frexpl"]=function(){return(_orig$frexpl=Module["_orig$frexpl"]=Module["asm"]["orig$frexpl"]).apply(null,arguments)};var _orig$remainderl=Module["_orig$remainderl"]=function(){return(_orig$remainderl=Module["_orig$remainderl"]=Module["asm"]["orig$remainderl"]).apply(null,arguments)};var _orig$remquol=Module["_orig$remquol"]=function(){return(_orig$remquol=Module["_orig$remquol"]=Module["asm"]["orig$remquol"]).apply(null,arguments)};var _orig$roundl=Module["_orig$roundl"]=function(){return(_orig$roundl=Module["_orig$roundl"]=Module["asm"]["orig$roundl"]).apply(null,arguments)};var _orig$__letf2=Module["_orig$__letf2"]=function(){return(_orig$__letf2=Module["_orig$__letf2"]=Module["asm"]["orig$__letf2"]).apply(null,arguments)};var _orig$atanhl=Module["_orig$atanhl"]=function(){return(_orig$atanhl=Module["_orig$atanhl"]=Module["asm"]["orig$atanhl"]).apply(null,arguments)};var _orig$log1pl=Module["_orig$log1pl"]=function(){return(_orig$log1pl=Module["_orig$log1pl"]=Module["asm"]["orig$log1pl"]).apply(null,arguments)};var _orig$coshl=Module["_orig$coshl"]=function(){return(_orig$coshl=Module["_orig$coshl"]=Module["asm"]["orig$coshl"]).apply(null,arguments)};var _orig$atanl=Module["_orig$atanl"]=function(){return(_orig$atanl=Module["_orig$atanl"]=Module["asm"]["orig$atanl"]).apply(null,arguments)};var _orig$fabsl=Module["_orig$fabsl"]=function(){return(_orig$fabsl=Module["_orig$fabsl"]=Module["asm"]["orig$fabsl"]).apply(null,arguments)};var _orig$acosl=Module["_orig$acosl"]=function(){return(_orig$acosl=Module["_orig$acosl"]=Module["asm"]["orig$acosl"]).apply(null,arguments)};var _orig$__invtrigl_R=Module["_orig$__invtrigl_R"]=function(){return(_orig$__invtrigl_R=Module["_orig$__invtrigl_R"]=Module["asm"]["orig$__invtrigl_R"]).apply(null,arguments)};var _orig$sqrtl=Module["_orig$sqrtl"]=function(){return(_orig$sqrtl=Module["_orig$sqrtl"]=Module["asm"]["orig$sqrtl"]).apply(null,arguments)};var _orig$tanhl=Module["_orig$tanhl"]=function(){return(_orig$tanhl=Module["_orig$tanhl"]=Module["asm"]["orig$tanhl"]).apply(null,arguments)};var _orig$tanl=Module["_orig$tanl"]=function(){return(_orig$tanl=Module["_orig$tanl"]=Module["asm"]["orig$tanl"]).apply(null,arguments)};var _orig$__tanl=Module["_orig$__tanl"]=function(){return(_orig$__tanl=Module["_orig$__tanl"]=Module["asm"]["orig$__tanl"]).apply(null,arguments)};var _orig$__rem_pio2l=Module["_orig$__rem_pio2l"]=function(){return(_orig$__rem_pio2l=Module["_orig$__rem_pio2l"]=Module["asm"]["orig$__rem_pio2l"]).apply(null,arguments)};var _orig$__sinl=Module["_orig$__sinl"]=function(){return(_orig$__sinl=Module["_orig$__sinl"]=Module["asm"]["orig$__sinl"]).apply(null,arguments)};var _orig$ceill=Module["_orig$ceill"]=function(){return(_orig$ceill=Module["_orig$ceill"]=Module["asm"]["orig$ceill"]).apply(null,arguments)};var _orig$rintl=Module["_orig$rintl"]=function(){return(_orig$rintl=Module["_orig$rintl"]=Module["asm"]["orig$rintl"]).apply(null,arguments)};var _orig$llrintl=Module["_orig$llrintl"]=function(){return(_orig$llrintl=Module["_orig$llrintl"]=Module["asm"]["orig$llrintl"]).apply(null,arguments)};var _orig$__fixtfdi=Module["_orig$__fixtfdi"]=function(){return(_orig$__fixtfdi=Module["_orig$__fixtfdi"]=Module["asm"]["orig$__fixtfdi"]).apply(null,arguments)};var _orig$llroundl=Module["_orig$llroundl"]=function(){return(_orig$llroundl=Module["_orig$llroundl"]=Module["asm"]["orig$llroundl"]).apply(null,arguments)};var _orig$scalbnl=Module["_orig$scalbnl"]=function(){return(_orig$scalbnl=Module["_orig$scalbnl"]=Module["asm"]["orig$scalbnl"]).apply(null,arguments)};var _orig$log2l=Module["_orig$log2l"]=function(){return(_orig$log2l=Module["_orig$log2l"]=Module["asm"]["orig$log2l"]).apply(null,arguments)};var _orig$__polevll=Module["_orig$__polevll"]=function(){return(_orig$__polevll=Module["_orig$__polevll"]=Module["asm"]["orig$__polevll"]).apply(null,arguments)};var _orig$__p1evll=Module["_orig$__p1evll"]=function(){return(_orig$__p1evll=Module["_orig$__p1evll"]=Module["asm"]["orig$__p1evll"]).apply(null,arguments)};var _orig$nearbyintl=Module["_orig$nearbyintl"]=function(){return(_orig$nearbyintl=Module["_orig$nearbyintl"]=Module["asm"]["orig$nearbyintl"]).apply(null,arguments)};var _orig$exp2l=Module["_orig$exp2l"]=function(){return(_orig$exp2l=Module["_orig$exp2l"]=Module["asm"]["orig$exp2l"]).apply(null,arguments)};var _orig$lroundl=Module["_orig$lroundl"]=function(){return(_orig$lroundl=Module["_orig$lroundl"]=Module["asm"]["orig$lroundl"]).apply(null,arguments)};var _orig$sincosl=Module["_orig$sincosl"]=function(){return(_orig$sincosl=Module["_orig$sincosl"]=Module["asm"]["orig$sincosl"]).apply(null,arguments)};var _orig$__cosl=Module["_orig$__cosl"]=function(){return(_orig$__cosl=Module["_orig$__cosl"]=Module["asm"]["orig$__cosl"]).apply(null,arguments)};var _orig$truncl=Module["_orig$truncl"]=function(){return(_orig$truncl=Module["_orig$truncl"]=Module["asm"]["orig$truncl"]).apply(null,arguments)};var _orig$nextafterl=Module["_orig$nextafterl"]=function(){return(_orig$nextafterl=Module["_orig$nextafterl"]=Module["asm"]["orig$nextafterl"]).apply(null,arguments)};var _orig$logbl=Module["_orig$logbl"]=function(){return(_orig$logbl=Module["_orig$logbl"]=Module["asm"]["orig$logbl"]).apply(null,arguments)};var _orig$ilogbl=Module["_orig$ilogbl"]=function(){return(_orig$ilogbl=Module["_orig$ilogbl"]=Module["asm"]["orig$ilogbl"]).apply(null,arguments)};var _orig$asinhl=Module["_orig$asinhl"]=function(){return(_orig$asinhl=Module["_orig$asinhl"]=Module["asm"]["orig$asinhl"]).apply(null,arguments)};var _orig$cbrtl=Module["_orig$cbrtl"]=function(){return(_orig$cbrtl=Module["_orig$cbrtl"]=Module["asm"]["orig$cbrtl"]).apply(null,arguments)};var _orig$floorl=Module["_orig$floorl"]=function(){return(_orig$floorl=Module["_orig$floorl"]=Module["asm"]["orig$floorl"]).apply(null,arguments)};var _orig$scalblnl=Module["_orig$scalblnl"]=function(){return(_orig$scalblnl=Module["_orig$scalblnl"]=Module["asm"]["orig$scalblnl"]).apply(null,arguments)};var _orig$log10l=Module["_orig$log10l"]=function(){return(_orig$log10l=Module["_orig$log10l"]=Module["asm"]["orig$log10l"]).apply(null,arguments)};var _orig$nexttoward=Module["_orig$nexttoward"]=function(){return(_orig$nexttoward=Module["_orig$nexttoward"]=Module["asm"]["orig$nexttoward"]).apply(null,arguments)};var _orig$__signbitl=Module["_orig$__signbitl"]=function(){return(_orig$__signbitl=Module["_orig$__signbitl"]=Module["asm"]["orig$__signbitl"]).apply(null,arguments)};var _orig$cosl=Module["_orig$cosl"]=function(){return(_orig$cosl=Module["_orig$cosl"]=Module["asm"]["orig$cosl"]).apply(null,arguments)};var _orig$tgammal=Module["_orig$tgammal"]=function(){return(_orig$tgammal=Module["_orig$tgammal"]=Module["asm"]["orig$tgammal"]).apply(null,arguments)};var _orig$nexttowardl=Module["_orig$nexttowardl"]=function(){return(_orig$nexttowardl=Module["_orig$nexttowardl"]=Module["asm"]["orig$nexttowardl"]).apply(null,arguments)};var _orig$acoshl=Module["_orig$acoshl"]=function(){return(_orig$acoshl=Module["_orig$acoshl"]=Module["asm"]["orig$acoshl"]).apply(null,arguments)};var _orig$modfl=Module["_orig$modfl"]=function(){return(_orig$modfl=Module["_orig$modfl"]=Module["asm"]["orig$modfl"]).apply(null,arguments)};var _orig$powl=Module["_orig$powl"]=function(){return(_orig$powl=Module["_orig$powl"]=Module["asm"]["orig$powl"]).apply(null,arguments)};var _orig$erfl=Module["_orig$erfl"]=function(){return(_orig$erfl=Module["_orig$erfl"]=Module["asm"]["orig$erfl"]).apply(null,arguments)};var _orig$erfcl=Module["_orig$erfcl"]=function(){return(_orig$erfcl=Module["_orig$erfcl"]=Module["asm"]["orig$erfcl"]).apply(null,arguments)};var _orig$expl=Module["_orig$expl"]=function(){return(_orig$expl=Module["_orig$expl"]=Module["asm"]["orig$expl"]).apply(null,arguments)};var _orig$llrint=Module["_orig$llrint"]=function(){return(_orig$llrint=Module["_orig$llrint"]=Module["asm"]["orig$llrint"]).apply(null,arguments)};var _orig$fmal=Module["_orig$fmal"]=function(){return(_orig$fmal=Module["_orig$fmal"]=Module["asm"]["orig$fmal"]).apply(null,arguments)};var _orig$ldexpl=Module["_orig$ldexpl"]=function(){return(_orig$ldexpl=Module["_orig$ldexpl"]=Module["asm"]["orig$ldexpl"]).apply(null,arguments)};var _orig$asinl=Module["_orig$asinl"]=function(){return(_orig$asinl=Module["_orig$asinl"]=Module["asm"]["orig$asinl"]).apply(null,arguments)};var _orig$exp10l=Module["_orig$exp10l"]=function(){return(_orig$exp10l=Module["_orig$exp10l"]=Module["asm"]["orig$exp10l"]).apply(null,arguments)};var _orig$pow10l=Module["_orig$pow10l"]=function(){return(_orig$pow10l=Module["_orig$pow10l"]=Module["asm"]["orig$pow10l"]).apply(null,arguments)};var _orig$llrintf=Module["_orig$llrintf"]=function(){return(_orig$llrintf=Module["_orig$llrintf"]=Module["asm"]["orig$llrintf"]).apply(null,arguments)};var _orig$llround=Module["_orig$llround"]=function(){return(_orig$llround=Module["_orig$llround"]=Module["asm"]["orig$llround"]).apply(null,arguments)};var _orig$nexttowardf=Module["_orig$nexttowardf"]=function(){return(_orig$nexttowardf=Module["_orig$nexttowardf"]=Module["asm"]["orig$nexttowardf"]).apply(null,arguments)};var _orig$sinl=Module["_orig$sinl"]=function(){return(_orig$sinl=Module["_orig$sinl"]=Module["asm"]["orig$sinl"]).apply(null,arguments)};var _orig$llroundf=Module["_orig$llroundf"]=function(){return(_orig$llroundf=Module["_orig$llroundf"]=Module["asm"]["orig$llroundf"]).apply(null,arguments)};var _orig$fdiml=Module["_orig$fdiml"]=function(){return(_orig$fdiml=Module["_orig$fdiml"]=Module["asm"]["orig$fdiml"]).apply(null,arguments)};var _orig$lrintl=Module["_orig$lrintl"]=function(){return(_orig$lrintl=Module["_orig$lrintl"]=Module["asm"]["orig$lrintl"]).apply(null,arguments)};var _orig$expm1l=Module["_orig$expm1l"]=function(){return(_orig$expm1l=Module["_orig$expm1l"]=Module["asm"]["orig$expm1l"]).apply(null,arguments)};var _orig$__lgammal_r=Module["_orig$__lgammal_r"]=function(){return(_orig$__lgammal_r=Module["_orig$__lgammal_r"]=Module["asm"]["orig$__lgammal_r"]).apply(null,arguments)};var _orig$lgammal=Module["_orig$lgammal"]=function(){return(_orig$lgammal=Module["_orig$lgammal"]=Module["asm"]["orig$lgammal"]).apply(null,arguments)};var _orig$lgammal_r=Module["_orig$lgammal_r"]=function(){return(_orig$lgammal_r=Module["_orig$lgammal_r"]=Module["asm"]["orig$lgammal_r"]).apply(null,arguments)};var _orig$sinhl=Module["_orig$sinhl"]=function(){return(_orig$sinhl=Module["_orig$sinhl"]=Module["asm"]["orig$sinhl"]).apply(null,arguments)};var _orig$lseek64=Module["_orig$lseek64"]=function(){return(_orig$lseek64=Module["_orig$lseek64"]=Module["asm"]["orig$lseek64"]).apply(null,arguments)};var _orig$ftruncate64=Module["_orig$ftruncate64"]=function(){return(_orig$ftruncate64=Module["_orig$ftruncate64"]=Module["asm"]["orig$ftruncate64"]).apply(null,arguments)};var _orig$pread64=Module["_orig$pread64"]=function(){return(_orig$pread64=Module["_orig$pread64"]=Module["asm"]["orig$pread64"]).apply(null,arguments)};var _orig$preadv=Module["_orig$preadv"]=function(){return(_orig$preadv=Module["_orig$preadv"]=Module["asm"]["orig$preadv"]).apply(null,arguments)};var _orig$preadv64=Module["_orig$preadv64"]=function(){return(_orig$preadv64=Module["_orig$preadv64"]=Module["asm"]["orig$preadv64"]).apply(null,arguments)};var _orig$pwritev=Module["_orig$pwritev"]=function(){return(_orig$pwritev=Module["_orig$pwritev"]=Module["asm"]["orig$pwritev"]).apply(null,arguments)};var _orig$pwritev64=Module["_orig$pwritev64"]=function(){return(_orig$pwritev64=Module["_orig$pwritev64"]=Module["asm"]["orig$pwritev64"]).apply(null,arguments)};var _orig$pwrite64=Module["_orig$pwrite64"]=function(){return(_orig$pwrite64=Module["_orig$pwrite64"]=Module["asm"]["orig$pwrite64"]).apply(null,arguments)};var _orig$truncate64=Module["_orig$truncate64"]=function(){return(_orig$truncate64=Module["_orig$truncate64"]=Module["asm"]["orig$truncate64"]).apply(null,arguments)};var _orig$__multi3=Module["_orig$__multi3"]=function(){return(_orig$__multi3=Module["_orig$__multi3"]=Module["asm"]["orig$__multi3"]).apply(null,arguments)};var _orig$fmodl=Module["_orig$fmodl"]=function(){return(_orig$fmodl=Module["_orig$fmodl"]=Module["asm"]["orig$fmodl"]).apply(null,arguments)};var _orig$strtoull=Module["_orig$strtoull"]=function(){return(_orig$strtoull=Module["_orig$strtoull"]=Module["asm"]["orig$strtoull"]).apply(null,arguments)};var _orig$strtoll=Module["_orig$strtoll"]=function(){return(_orig$strtoll=Module["_orig$strtoll"]=Module["asm"]["orig$strtoll"]).apply(null,arguments)};var _orig$strtoimax=Module["_orig$strtoimax"]=function(){return(_orig$strtoimax=Module["_orig$strtoimax"]=Module["asm"]["orig$strtoimax"]).apply(null,arguments)};var _orig$strtoumax=Module["_orig$strtoumax"]=function(){return(_orig$strtoumax=Module["_orig$strtoumax"]=Module["asm"]["orig$strtoumax"]).apply(null,arguments)};var _orig$__strtoll_internal=Module["_orig$__strtoll_internal"]=function(){return(_orig$__strtoll_internal=Module["_orig$__strtoll_internal"]=Module["asm"]["orig$__strtoll_internal"]).apply(null,arguments)};var _orig$__strtoull_internal=Module["_orig$__strtoull_internal"]=function(){return(_orig$__strtoull_internal=Module["_orig$__strtoull_internal"]=Module["asm"]["orig$__strtoull_internal"]).apply(null,arguments)};var _orig$__strtoimax_internal=Module["_orig$__strtoimax_internal"]=function(){return(_orig$__strtoimax_internal=Module["_orig$__strtoimax_internal"]=Module["asm"]["orig$__strtoimax_internal"]).apply(null,arguments)};var _orig$__strtoumax_internal=Module["_orig$__strtoumax_internal"]=function(){return(_orig$__strtoumax_internal=Module["_orig$__strtoumax_internal"]=Module["asm"]["orig$__strtoumax_internal"]).apply(null,arguments)};var _orig$atoll=Module["_orig$atoll"]=function(){return(_orig$atoll=Module["_orig$atoll"]=Module["asm"]["orig$atoll"]).apply(null,arguments)};var _orig$imaxabs=Module["_orig$imaxabs"]=function(){return(_orig$imaxabs=Module["_orig$imaxabs"]=Module["asm"]["orig$imaxabs"]).apply(null,arguments)};var _orig$wcstoull=Module["_orig$wcstoull"]=function(){return(_orig$wcstoull=Module["_orig$wcstoull"]=Module["asm"]["orig$wcstoull"]).apply(null,arguments)};var _orig$wcstoll=Module["_orig$wcstoll"]=function(){return(_orig$wcstoll=Module["_orig$wcstoll"]=Module["asm"]["orig$wcstoll"]).apply(null,arguments)};var _orig$wcstoimax=Module["_orig$wcstoimax"]=function(){return(_orig$wcstoimax=Module["_orig$wcstoimax"]=Module["asm"]["orig$wcstoimax"]).apply(null,arguments)};var _orig$wcstoumax=Module["_orig$wcstoumax"]=function(){return(_orig$wcstoumax=Module["_orig$wcstoumax"]=Module["asm"]["orig$wcstoumax"]).apply(null,arguments)};var _orig$lldiv=Module["_orig$lldiv"]=function(){return(_orig$lldiv=Module["_orig$lldiv"]=Module["asm"]["orig$lldiv"]).apply(null,arguments)};var _orig$llabs=Module["_orig$llabs"]=function(){return(_orig$llabs=Module["_orig$llabs"]=Module["asm"]["orig$llabs"]).apply(null,arguments)};var _orig$imaxdiv=Module["_orig$imaxdiv"]=function(){return(_orig$imaxdiv=Module["_orig$imaxdiv"]=Module["asm"]["orig$imaxdiv"]).apply(null,arguments)};var _orig$ffsll=Module["_orig$ffsll"]=function(){return(_orig$ffsll=Module["_orig$ffsll"]=Module["asm"]["orig$ffsll"]).apply(null,arguments)};var _orig$lockf64=Module["_orig$lockf64"]=function(){return(_orig$lockf64=Module["_orig$lockf64"]=Module["asm"]["orig$lockf64"]).apply(null,arguments)};var _orig$__mmap=Module["_orig$__mmap"]=function(){return(_orig$__mmap=Module["_orig$__mmap"]=Module["asm"]["orig$__mmap"]).apply(null,arguments)};var _orig$mmap64=Module["_orig$mmap64"]=function(){return(_orig$mmap64=Module["_orig$mmap64"]=Module["asm"]["orig$mmap64"]).apply(null,arguments)};var _orig$__rand48_step=Module["_orig$__rand48_step"]=function(){return(_orig$__rand48_step=Module["_orig$__rand48_step"]=Module["asm"]["orig$__rand48_step"]).apply(null,arguments)};var _orig$emscripten_atomic_exchange_u64=Module["_orig$emscripten_atomic_exchange_u64"]=function(){return(_orig$emscripten_atomic_exchange_u64=Module["_orig$emscripten_atomic_exchange_u64"]=Module["asm"]["orig$emscripten_atomic_exchange_u64"]).apply(null,arguments)};var _orig$emscripten_atomic_cas_u64=Module["_orig$emscripten_atomic_cas_u64"]=function(){return(_orig$emscripten_atomic_cas_u64=Module["_orig$emscripten_atomic_cas_u64"]=Module["asm"]["orig$emscripten_atomic_cas_u64"]).apply(null,arguments)};var _orig$emscripten_atomic_load_u64=Module["_orig$emscripten_atomic_load_u64"]=function(){return(_orig$emscripten_atomic_load_u64=Module["_orig$emscripten_atomic_load_u64"]=Module["asm"]["orig$emscripten_atomic_load_u64"]).apply(null,arguments)};var _orig$emscripten_atomic_store_u64=Module["_orig$emscripten_atomic_store_u64"]=function(){return(_orig$emscripten_atomic_store_u64=Module["_orig$emscripten_atomic_store_u64"]=Module["asm"]["orig$emscripten_atomic_store_u64"]).apply(null,arguments)};var _orig$emscripten_atomic_add_u64=Module["_orig$emscripten_atomic_add_u64"]=function(){return(_orig$emscripten_atomic_add_u64=Module["_orig$emscripten_atomic_add_u64"]=Module["asm"]["orig$emscripten_atomic_add_u64"]).apply(null,arguments)};var _orig$emscripten_atomic_sub_u64=Module["_orig$emscripten_atomic_sub_u64"]=function(){return(_orig$emscripten_atomic_sub_u64=Module["_orig$emscripten_atomic_sub_u64"]=Module["asm"]["orig$emscripten_atomic_sub_u64"]).apply(null,arguments)};var _orig$emscripten_atomic_and_u64=Module["_orig$emscripten_atomic_and_u64"]=function(){return(_orig$emscripten_atomic_and_u64=Module["_orig$emscripten_atomic_and_u64"]=Module["asm"]["orig$emscripten_atomic_and_u64"]).apply(null,arguments)};var _orig$emscripten_atomic_or_u64=Module["_orig$emscripten_atomic_or_u64"]=function(){return(_orig$emscripten_atomic_or_u64=Module["_orig$emscripten_atomic_or_u64"]=Module["asm"]["orig$emscripten_atomic_or_u64"]).apply(null,arguments)};var _orig$emscripten_atomic_xor_u64=Module["_orig$emscripten_atomic_xor_u64"]=function(){return(_orig$emscripten_atomic_xor_u64=Module["_orig$emscripten_atomic_xor_u64"]=Module["asm"]["orig$emscripten_atomic_xor_u64"]).apply(null,arguments)};var _orig$strtoull_l=Module["_orig$strtoull_l"]=function(){return(_orig$strtoull_l=Module["_orig$strtoull_l"]=Module["asm"]["orig$strtoull_l"]).apply(null,arguments)};var _orig$strtoll_l=Module["_orig$strtoll_l"]=function(){return(_orig$strtoll_l=Module["_orig$strtoll_l"]=Module["asm"]["orig$strtoll_l"]).apply(null,arguments)};var _orig$__ashlti3=Module["_orig$__ashlti3"]=function(){return(_orig$__ashlti3=Module["_orig$__ashlti3"]=Module["asm"]["orig$__ashlti3"]).apply(null,arguments)};var _orig$__lshrti3=Module["_orig$__lshrti3"]=function(){return(_orig$__lshrti3=Module["_orig$__lshrti3"]=Module["asm"]["orig$__lshrti3"]).apply(null,arguments)};var _orig$__parityti2=Module["_orig$__parityti2"]=function(){return(_orig$__parityti2=Module["_orig$__parityti2"]=Module["asm"]["orig$__parityti2"]).apply(null,arguments)};var _orig$__absvdi2=Module["_orig$__absvdi2"]=function(){return(_orig$__absvdi2=Module["_orig$__absvdi2"]=Module["asm"]["orig$__absvdi2"]).apply(null,arguments)};var _orig$__floatuntidf=Module["_orig$__floatuntidf"]=function(){return(_orig$__floatuntidf=Module["_orig$__floatuntidf"]=Module["asm"]["orig$__floatuntidf"]).apply(null,arguments)};var _orig$__clzti2=Module["_orig$__clzti2"]=function(){return(_orig$__clzti2=Module["_orig$__clzti2"]=Module["asm"]["orig$__clzti2"]).apply(null,arguments)};var _orig$__fixunssfdi=Module["_orig$__fixunssfdi"]=function(){return(_orig$__fixunssfdi=Module["_orig$__fixunssfdi"]=Module["asm"]["orig$__fixunssfdi"]).apply(null,arguments)};var _orig$__divmodti4=Module["_orig$__divmodti4"]=function(){return(_orig$__divmodti4=Module["_orig$__divmodti4"]=Module["asm"]["orig$__divmodti4"]).apply(null,arguments)};var _orig$__udivmodti4=Module["_orig$__udivmodti4"]=function(){return(_orig$__udivmodti4=Module["_orig$__udivmodti4"]=Module["asm"]["orig$__udivmodti4"]).apply(null,arguments)};var _orig$__lshrdi3=Module["_orig$__lshrdi3"]=function(){return(_orig$__lshrdi3=Module["_orig$__lshrdi3"]=Module["asm"]["orig$__lshrdi3"]).apply(null,arguments)};var _orig$__powixf2=Module["_orig$__powixf2"]=function(){return(_orig$__powixf2=Module["_orig$__powixf2"]=Module["asm"]["orig$__powixf2"]).apply(null,arguments)};var _orig$__floatuntixf=Module["_orig$__floatuntixf"]=function(){return(_orig$__floatuntixf=Module["_orig$__floatuntixf"]=Module["asm"]["orig$__floatuntixf"]).apply(null,arguments)};var _orig$__floattixf=Module["_orig$__floattixf"]=function(){return(_orig$__floattixf=Module["_orig$__floattixf"]=Module["asm"]["orig$__floattixf"]).apply(null,arguments)};var _orig$__popcountti2=Module["_orig$__popcountti2"]=function(){return(_orig$__popcountti2=Module["_orig$__popcountti2"]=Module["asm"]["orig$__popcountti2"]).apply(null,arguments)};var _orig$__ctzdi2=Module["_orig$__ctzdi2"]=function(){return(_orig$__ctzdi2=Module["_orig$__ctzdi2"]=Module["asm"]["orig$__ctzdi2"]).apply(null,arguments)};var _orig$__fixxfdi=Module["_orig$__fixxfdi"]=function(){return(_orig$__fixxfdi=Module["_orig$__fixxfdi"]=Module["asm"]["orig$__fixxfdi"]).apply(null,arguments)};var _orig$__ashrti3=Module["_orig$__ashrti3"]=function(){return(_orig$__ashrti3=Module["_orig$__ashrti3"]=Module["asm"]["orig$__ashrti3"]).apply(null,arguments)};var _orig$__fixunstfsi=Module["_orig$__fixunstfsi"]=function(){return(_orig$__fixunstfsi=Module["_orig$__fixunstfsi"]=Module["asm"]["orig$__fixunstfsi"]).apply(null,arguments)};var _orig$__mulvdi3=Module["_orig$__mulvdi3"]=function(){return(_orig$__mulvdi3=Module["_orig$__mulvdi3"]=Module["asm"]["orig$__mulvdi3"]).apply(null,arguments)};var _orig$__udivdi3=Module["_orig$__udivdi3"]=function(){return(_orig$__udivdi3=Module["_orig$__udivdi3"]=Module["asm"]["orig$__udivdi3"]).apply(null,arguments)};var _orig$__floatdixf=Module["_orig$__floatdixf"]=function(){return(_orig$__floatdixf=Module["_orig$__floatdixf"]=Module["asm"]["orig$__floatdixf"]).apply(null,arguments)};var _orig$__fixxfti=Module["_orig$__fixxfti"]=function(){return(_orig$__fixxfti=Module["_orig$__fixxfti"]=Module["asm"]["orig$__fixxfti"]).apply(null,arguments)};var _orig$__addvti3=Module["_orig$__addvti3"]=function(){return(_orig$__addvti3=Module["_orig$__addvti3"]=Module["asm"]["orig$__addvti3"]).apply(null,arguments)};var _orig$__mulxc3=Module["_orig$__mulxc3"]=function(){return(_orig$__mulxc3=Module["_orig$__mulxc3"]=Module["asm"]["orig$__mulxc3"]).apply(null,arguments)};var _orig$__udivmoddi4=Module["_orig$__udivmoddi4"]=function(){return(_orig$__udivmoddi4=Module["_orig$__udivmoddi4"]=Module["asm"]["orig$__udivmoddi4"]).apply(null,arguments)};var _orig$__ashldi3=Module["_orig$__ashldi3"]=function(){return(_orig$__ashldi3=Module["_orig$__ashldi3"]=Module["asm"]["orig$__ashldi3"]).apply(null,arguments)};var _orig$__mulodi4=Module["_orig$__mulodi4"]=function(){return(_orig$__mulodi4=Module["_orig$__mulodi4"]=Module["asm"]["orig$__mulodi4"]).apply(null,arguments)};var _orig$__floattidf=Module["_orig$__floattidf"]=function(){return(_orig$__floattidf=Module["_orig$__floattidf"]=Module["asm"]["orig$__floattidf"]).apply(null,arguments)};var _orig$__ffsdi2=Module["_orig$__ffsdi2"]=function(){return(_orig$__ffsdi2=Module["_orig$__ffsdi2"]=Module["asm"]["orig$__ffsdi2"]).apply(null,arguments)};var _orig$__divtc3=Module["_orig$__divtc3"]=function(){return(_orig$__divtc3=Module["_orig$__divtc3"]=Module["asm"]["orig$__divtc3"]).apply(null,arguments)};var _orig$fmaxl=Module["_orig$fmaxl"]=function(){return(_orig$fmaxl=Module["_orig$fmaxl"]=Module["asm"]["orig$fmaxl"]).apply(null,arguments)};var _orig$__floatundidf=Module["_orig$__floatundidf"]=function(){return(_orig$__floatundidf=Module["_orig$__floatundidf"]=Module["asm"]["orig$__floatundidf"]).apply(null,arguments)};var _orig$__addvdi3=Module["_orig$__addvdi3"]=function(){return(_orig$__addvdi3=Module["_orig$__addvdi3"]=Module["asm"]["orig$__addvdi3"]).apply(null,arguments)};var _orig$__ctzti2=Module["_orig$__ctzti2"]=function(){return(_orig$__ctzti2=Module["_orig$__ctzti2"]=Module["asm"]["orig$__ctzti2"]).apply(null,arguments)};var _orig$__umodti3=Module["_orig$__umodti3"]=function(){return(_orig$__umodti3=Module["_orig$__umodti3"]=Module["asm"]["orig$__umodti3"]).apply(null,arguments)};var _orig$__floatdidf=Module["_orig$__floatdidf"]=function(){return(_orig$__floatdidf=Module["_orig$__floatdidf"]=Module["asm"]["orig$__floatdidf"]).apply(null,arguments)};var _orig$__fixtfti=Module["_orig$__fixtfti"]=function(){return(_orig$__fixtfti=Module["_orig$__fixtfti"]=Module["asm"]["orig$__fixtfti"]).apply(null,arguments)};var _orig$__bswapdi2=Module["_orig$__bswapdi2"]=function(){return(_orig$__bswapdi2=Module["_orig$__bswapdi2"]=Module["asm"]["orig$__bswapdi2"]).apply(null,arguments)};var _orig$__fixunsdfdi=Module["_orig$__fixunsdfdi"]=function(){return(_orig$__fixunsdfdi=Module["_orig$__fixunsdfdi"]=Module["asm"]["orig$__fixunsdfdi"]).apply(null,arguments)};var _orig$__floatdisf=Module["_orig$__floatdisf"]=function(){return(_orig$__floatdisf=Module["_orig$__floatdisf"]=Module["asm"]["orig$__floatdisf"]).apply(null,arguments)};var _orig$__cmpdi2=Module["_orig$__cmpdi2"]=function(){return(_orig$__cmpdi2=Module["_orig$__cmpdi2"]=Module["asm"]["orig$__cmpdi2"]).apply(null,arguments)};var _orig$__subvti3=Module["_orig$__subvti3"]=function(){return(_orig$__subvti3=Module["_orig$__subvti3"]=Module["asm"]["orig$__subvti3"]).apply(null,arguments)};var _orig$__fixunsxfsi=Module["_orig$__fixunsxfsi"]=function(){return(_orig$__fixunsxfsi=Module["_orig$__fixunsxfsi"]=Module["asm"]["orig$__fixunsxfsi"]).apply(null,arguments)};var _orig$__floatundisf=Module["_orig$__floatundisf"]=function(){return(_orig$__floatundisf=Module["_orig$__floatundisf"]=Module["asm"]["orig$__floatundisf"]).apply(null,arguments)};var _orig$__subvdi3=Module["_orig$__subvdi3"]=function(){return(_orig$__subvdi3=Module["_orig$__subvdi3"]=Module["asm"]["orig$__subvdi3"]).apply(null,arguments)};var _orig$__floattitf=Module["_orig$__floattitf"]=function(){return(_orig$__floattitf=Module["_orig$__floattitf"]=Module["asm"]["orig$__floattitf"]).apply(null,arguments)};var _orig$__divti3=Module["_orig$__divti3"]=function(){return(_orig$__divti3=Module["_orig$__divti3"]=Module["asm"]["orig$__divti3"]).apply(null,arguments)};var _orig$__floatunditf=Module["_orig$__floatunditf"]=function(){return(_orig$__floatunditf=Module["_orig$__floatunditf"]=Module["asm"]["orig$__floatunditf"]).apply(null,arguments)};var _orig$__negvti2=Module["_orig$__negvti2"]=function(){return(_orig$__negvti2=Module["_orig$__negvti2"]=Module["asm"]["orig$__negvti2"]).apply(null,arguments)};var _orig$__popcountdi2=Module["_orig$__popcountdi2"]=function(){return(_orig$__popcountdi2=Module["_orig$__popcountdi2"]=Module["asm"]["orig$__popcountdi2"]).apply(null,arguments)};var _orig$__divmoddi4=Module["_orig$__divmoddi4"]=function(){return(_orig$__divmoddi4=Module["_orig$__divmoddi4"]=Module["asm"]["orig$__divmoddi4"]).apply(null,arguments)};var _orig$__fixdfdi=Module["_orig$__fixdfdi"]=function(){return(_orig$__fixdfdi=Module["_orig$__fixdfdi"]=Module["asm"]["orig$__fixdfdi"]).apply(null,arguments)};var _orig$__ffsti2=Module["_orig$__ffsti2"]=function(){return(_orig$__ffsti2=Module["_orig$__ffsti2"]=Module["asm"]["orig$__ffsti2"]).apply(null,arguments)};var _orig$__umoddi3=Module["_orig$__umoddi3"]=function(){return(_orig$__umoddi3=Module["_orig$__umoddi3"]=Module["asm"]["orig$__umoddi3"]).apply(null,arguments)};var _orig$__fixunstfti=Module["_orig$__fixunstfti"]=function(){return(_orig$__fixunstfti=Module["_orig$__fixunstfti"]=Module["asm"]["orig$__fixunstfti"]).apply(null,arguments)};var _orig$__atomic_load_8=Module["_orig$__atomic_load_8"]=function(){return(_orig$__atomic_load_8=Module["_orig$__atomic_load_8"]=Module["asm"]["orig$__atomic_load_8"]).apply(null,arguments)};var _orig$__atomic_store_8=Module["_orig$__atomic_store_8"]=function(){return(_orig$__atomic_store_8=Module["_orig$__atomic_store_8"]=Module["asm"]["orig$__atomic_store_8"]).apply(null,arguments)};var _orig$__atomic_store_16=Module["_orig$__atomic_store_16"]=function(){return(_orig$__atomic_store_16=Module["_orig$__atomic_store_16"]=Module["asm"]["orig$__atomic_store_16"]).apply(null,arguments)};var _orig$__atomic_exchange_8=Module["_orig$__atomic_exchange_8"]=function(){return(_orig$__atomic_exchange_8=Module["_orig$__atomic_exchange_8"]=Module["asm"]["orig$__atomic_exchange_8"]).apply(null,arguments)};var _orig$__atomic_exchange_16=Module["_orig$__atomic_exchange_16"]=function(){return(_orig$__atomic_exchange_16=Module["_orig$__atomic_exchange_16"]=Module["asm"]["orig$__atomic_exchange_16"]).apply(null,arguments)};var _orig$__atomic_compare_exchange_8=Module["_orig$__atomic_compare_exchange_8"]=function(){return(_orig$__atomic_compare_exchange_8=Module["_orig$__atomic_compare_exchange_8"]=Module["asm"]["orig$__atomic_compare_exchange_8"]).apply(null,arguments)};var _orig$__atomic_compare_exchange_16=Module["_orig$__atomic_compare_exchange_16"]=function(){return(_orig$__atomic_compare_exchange_16=Module["_orig$__atomic_compare_exchange_16"]=Module["asm"]["orig$__atomic_compare_exchange_16"]).apply(null,arguments)};var _orig$__atomic_fetch_add_8=Module["_orig$__atomic_fetch_add_8"]=function(){return(_orig$__atomic_fetch_add_8=Module["_orig$__atomic_fetch_add_8"]=Module["asm"]["orig$__atomic_fetch_add_8"]).apply(null,arguments)};var _orig$__atomic_fetch_add_16=Module["_orig$__atomic_fetch_add_16"]=function(){return(_orig$__atomic_fetch_add_16=Module["_orig$__atomic_fetch_add_16"]=Module["asm"]["orig$__atomic_fetch_add_16"]).apply(null,arguments)};var _orig$__atomic_fetch_sub_8=Module["_orig$__atomic_fetch_sub_8"]=function(){return(_orig$__atomic_fetch_sub_8=Module["_orig$__atomic_fetch_sub_8"]=Module["asm"]["orig$__atomic_fetch_sub_8"]).apply(null,arguments)};var _orig$__atomic_fetch_sub_16=Module["_orig$__atomic_fetch_sub_16"]=function(){return(_orig$__atomic_fetch_sub_16=Module["_orig$__atomic_fetch_sub_16"]=Module["asm"]["orig$__atomic_fetch_sub_16"]).apply(null,arguments)};var _orig$__atomic_fetch_and_8=Module["_orig$__atomic_fetch_and_8"]=function(){return(_orig$__atomic_fetch_and_8=Module["_orig$__atomic_fetch_and_8"]=Module["asm"]["orig$__atomic_fetch_and_8"]).apply(null,arguments)};var _orig$__atomic_fetch_and_16=Module["_orig$__atomic_fetch_and_16"]=function(){return(_orig$__atomic_fetch_and_16=Module["_orig$__atomic_fetch_and_16"]=Module["asm"]["orig$__atomic_fetch_and_16"]).apply(null,arguments)};var _orig$__atomic_fetch_or_8=Module["_orig$__atomic_fetch_or_8"]=function(){return(_orig$__atomic_fetch_or_8=Module["_orig$__atomic_fetch_or_8"]=Module["asm"]["orig$__atomic_fetch_or_8"]).apply(null,arguments)};var _orig$__atomic_fetch_or_16=Module["_orig$__atomic_fetch_or_16"]=function(){return(_orig$__atomic_fetch_or_16=Module["_orig$__atomic_fetch_or_16"]=Module["asm"]["orig$__atomic_fetch_or_16"]).apply(null,arguments)};var _orig$__atomic_fetch_xor_8=Module["_orig$__atomic_fetch_xor_8"]=function(){return(_orig$__atomic_fetch_xor_8=Module["_orig$__atomic_fetch_xor_8"]=Module["asm"]["orig$__atomic_fetch_xor_8"]).apply(null,arguments)};var _orig$__atomic_fetch_xor_16=Module["_orig$__atomic_fetch_xor_16"]=function(){return(_orig$__atomic_fetch_xor_16=Module["_orig$__atomic_fetch_xor_16"]=Module["asm"]["orig$__atomic_fetch_xor_16"]).apply(null,arguments)};var _orig$__ashrdi3=Module["_orig$__ashrdi3"]=function(){return(_orig$__ashrdi3=Module["_orig$__ashrdi3"]=Module["asm"]["orig$__ashrdi3"]).apply(null,arguments)};var _orig$__modti3=Module["_orig$__modti3"]=function(){return(_orig$__modti3=Module["_orig$__modti3"]=Module["asm"]["orig$__modti3"]).apply(null,arguments)};var _orig$__divxc3=Module["_orig$__divxc3"]=function(){return(_orig$__divxc3=Module["_orig$__divxc3"]=Module["asm"]["orig$__divxc3"]).apply(null,arguments)};var _orig$__absvti2=Module["_orig$__absvti2"]=function(){return(_orig$__absvti2=Module["_orig$__absvti2"]=Module["asm"]["orig$__absvti2"]).apply(null,arguments)};var _orig$__negti2=Module["_orig$__negti2"]=function(){return(_orig$__negti2=Module["_orig$__negti2"]=Module["asm"]["orig$__negti2"]).apply(null,arguments)};var _orig$__muldi3=Module["_orig$__muldi3"]=function(){return(_orig$__muldi3=Module["_orig$__muldi3"]=Module["asm"]["orig$__muldi3"]).apply(null,arguments)};var _orig$__divdi3=Module["_orig$__divdi3"]=function(){return(_orig$__divdi3=Module["_orig$__divdi3"]=Module["asm"]["orig$__divdi3"]).apply(null,arguments)};var _orig$__ucmpti2=Module["_orig$__ucmpti2"]=function(){return(_orig$__ucmpti2=Module["_orig$__ucmpti2"]=Module["asm"]["orig$__ucmpti2"]).apply(null,arguments)};var _orig$__clzdi2=Module["_orig$__clzdi2"]=function(){return(_orig$__clzdi2=Module["_orig$__clzdi2"]=Module["asm"]["orig$__clzdi2"]).apply(null,arguments)};var _orig$__dtoi64=Module["_orig$__dtoi64"]=function(){return(_orig$__dtoi64=Module["_orig$__dtoi64"]=Module["asm"]["orig$__dtoi64"]).apply(null,arguments)};var _orig$__stoi64=Module["_orig$__stoi64"]=function(){return(_orig$__stoi64=Module["_orig$__stoi64"]=Module["asm"]["orig$__stoi64"]).apply(null,arguments)};var _orig$__fixsfdi=Module["_orig$__fixsfdi"]=function(){return(_orig$__fixsfdi=Module["_orig$__fixsfdi"]=Module["asm"]["orig$__fixsfdi"]).apply(null,arguments)};var _orig$__dtou64=Module["_orig$__dtou64"]=function(){return(_orig$__dtou64=Module["_orig$__dtou64"]=Module["asm"]["orig$__dtou64"]).apply(null,arguments)};var _orig$__stou64=Module["_orig$__stou64"]=function(){return(_orig$__stou64=Module["_orig$__stou64"]=Module["asm"]["orig$__stou64"]).apply(null,arguments)};var _orig$__i64tod=Module["_orig$__i64tod"]=function(){return(_orig$__i64tod=Module["_orig$__i64tod"]=Module["asm"]["orig$__i64tod"]).apply(null,arguments)};var _orig$__i64tos=Module["_orig$__i64tos"]=function(){return(_orig$__i64tos=Module["_orig$__i64tos"]=Module["asm"]["orig$__i64tos"]).apply(null,arguments)};var _orig$__u64tod=Module["_orig$__u64tod"]=function(){return(_orig$__u64tod=Module["_orig$__u64tod"]=Module["asm"]["orig$__u64tod"]).apply(null,arguments)};var _orig$__u64tos=Module["_orig$__u64tos"]=function(){return(_orig$__u64tos=Module["_orig$__u64tos"]=Module["asm"]["orig$__u64tos"]).apply(null,arguments)};var _orig$__mulvti3=Module["_orig$__mulvti3"]=function(){return(_orig$__mulvti3=Module["_orig$__mulvti3"]=Module["asm"]["orig$__mulvti3"]).apply(null,arguments)};var _orig$__udivti3=Module["_orig$__udivti3"]=function(){return(_orig$__udivti3=Module["_orig$__udivti3"]=Module["asm"]["orig$__udivti3"]).apply(null,arguments)};var _orig$__cmpti2=Module["_orig$__cmpti2"]=function(){return(_orig$__cmpti2=Module["_orig$__cmpti2"]=Module["asm"]["orig$__cmpti2"]).apply(null,arguments)};var _orig$__fixunstfdi=Module["_orig$__fixunstfdi"]=function(){return(_orig$__fixunstfdi=Module["_orig$__fixunstfdi"]=Module["asm"]["orig$__fixunstfdi"]).apply(null,arguments)};var _orig$__floatuntitf=Module["_orig$__floatuntitf"]=function(){return(_orig$__floatuntitf=Module["_orig$__floatuntitf"]=Module["asm"]["orig$__floatuntitf"]).apply(null,arguments)};var _orig$__paritydi2=Module["_orig$__paritydi2"]=function(){return(_orig$__paritydi2=Module["_orig$__paritydi2"]=Module["asm"]["orig$__paritydi2"]).apply(null,arguments)};var _orig$__fixunsxfdi=Module["_orig$__fixunsxfdi"]=function(){return(_orig$__fixunsxfdi=Module["_orig$__fixunsxfdi"]=Module["asm"]["orig$__fixunsxfdi"]).apply(null,arguments)};var _orig$__floatundixf=Module["_orig$__floatundixf"]=function(){return(_orig$__floatundixf=Module["_orig$__floatundixf"]=Module["asm"]["orig$__floatundixf"]).apply(null,arguments)};var _orig$__muloti4=Module["_orig$__muloti4"]=function(){return(_orig$__muloti4=Module["_orig$__muloti4"]=Module["asm"]["orig$__muloti4"]).apply(null,arguments)};var _orig$__floattisf=Module["_orig$__floattisf"]=function(){return(_orig$__floattisf=Module["_orig$__floattisf"]=Module["asm"]["orig$__floattisf"]).apply(null,arguments)};var _orig$__powitf2=Module["_orig$__powitf2"]=function(){return(_orig$__powitf2=Module["_orig$__powitf2"]=Module["asm"]["orig$__powitf2"]).apply(null,arguments)};var _orig$__ucmpdi2=Module["_orig$__ucmpdi2"]=function(){return(_orig$__ucmpdi2=Module["_orig$__ucmpdi2"]=Module["asm"]["orig$__ucmpdi2"]).apply(null,arguments)};var _orig$__moddi3=Module["_orig$__moddi3"]=function(){return(_orig$__moddi3=Module["_orig$__moddi3"]=Module["asm"]["orig$__moddi3"]).apply(null,arguments)};var _orig$__floatuntisf=Module["_orig$__floatuntisf"]=function(){return(_orig$__floatuntisf=Module["_orig$__floatuntisf"]=Module["asm"]["orig$__floatuntisf"]).apply(null,arguments)};var _orig$__negvdi2=Module["_orig$__negvdi2"]=function(){return(_orig$__negvdi2=Module["_orig$__negvdi2"]=Module["asm"]["orig$__negvdi2"]).apply(null,arguments)};var _orig$__negdi2=Module["_orig$__negdi2"]=function(){return(_orig$__negdi2=Module["_orig$__negdi2"]=Module["asm"]["orig$__negdi2"]).apply(null,arguments)};var _orig$__fixunsxfti=Module["_orig$__fixunsxfti"]=function(){return(_orig$__fixunsxfti=Module["_orig$__fixunsxfti"]=Module["asm"]["orig$__fixunsxfti"]).apply(null,arguments)};var _orig$_ZNSt3__222__cxx_atomic_fetch_addIxEET_PNS_22__cxx_atomic_base_implIS1_EES1_NS_12memory_orderE=Module["_orig$_ZNSt3__222__cxx_atomic_fetch_addIxEET_PNS_22__cxx_atomic_base_implIS1_EES1_NS_12memory_orderE"]=function(){return(_orig$_ZNSt3__222__cxx_atomic_fetch_addIxEET_PNS_22__cxx_atomic_base_implIS1_EES1_NS_12memory_orderE=Module["_orig$_ZNSt3__222__cxx_atomic_fetch_addIxEET_PNS_22__cxx_atomic_base_implIS1_EES1_NS_12memory_orderE"]=Module["asm"]["orig$_ZNSt3__222__cxx_atomic_fetch_addIxEET_PNS_22__cxx_atomic_base_implIS1_EES1_NS_12memory_orderE"]).apply(null,arguments)};var _orig$_ZNSt3__223__libcpp_atomic_monitorEPVKv=Module["_orig$_ZNSt3__223__libcpp_atomic_monitorEPVKv"]=function(){return(_orig$_ZNSt3__223__libcpp_atomic_monitorEPVKv=Module["_orig$_ZNSt3__223__libcpp_atomic_monitorEPVKv"]=Module["asm"]["orig$_ZNSt3__223__libcpp_atomic_monitorEPVKv"]).apply(null,arguments)};var _orig$_ZNSt3__217__cxx_atomic_loadIxEET_PVKNS_22__cxx_atomic_base_implIS1_EENS_12memory_orderE=Module["_orig$_ZNSt3__217__cxx_atomic_loadIxEET_PVKNS_22__cxx_atomic_base_implIS1_EENS_12memory_orderE"]=function(){return(_orig$_ZNSt3__217__cxx_atomic_loadIxEET_PVKNS_22__cxx_atomic_base_implIS1_EENS_12memory_orderE=Module["_orig$_ZNSt3__217__cxx_atomic_loadIxEET_PVKNS_22__cxx_atomic_base_implIS1_EENS_12memory_orderE"]=Module["asm"]["orig$_ZNSt3__217__cxx_atomic_loadIxEET_PVKNS_22__cxx_atomic_base_implIS1_EENS_12memory_orderE"]).apply(null,arguments)};var _orig$_ZNSt3__220__libcpp_atomic_waitEPVKvx=Module["_orig$_ZNSt3__220__libcpp_atomic_waitEPVKvx"]=function(){return(_orig$_ZNSt3__220__libcpp_atomic_waitEPVKvx=Module["_orig$_ZNSt3__220__libcpp_atomic_waitEPVKvx"]=Module["asm"]["orig$_ZNSt3__220__libcpp_atomic_waitEPVKvx"]).apply(null,arguments)};var _orig$_ZNSt3__222__cxx_atomic_fetch_addIxEET_PVNS_22__cxx_atomic_base_implIS1_EES1_NS_12memory_orderE=Module["_orig$_ZNSt3__222__cxx_atomic_fetch_addIxEET_PVNS_22__cxx_atomic_base_implIS1_EES1_NS_12memory_orderE"]=function(){return(_orig$_ZNSt3__222__cxx_atomic_fetch_addIxEET_PVNS_22__cxx_atomic_base_implIS1_EES1_NS_12memory_orderE=Module["_orig$_ZNSt3__222__cxx_atomic_fetch_addIxEET_PVNS_22__cxx_atomic_base_implIS1_EES1_NS_12memory_orderE"]=Module["asm"]["orig$_ZNSt3__222__cxx_atomic_fetch_addIxEET_PVNS_22__cxx_atomic_base_implIS1_EES1_NS_12memory_orderE"]).apply(null,arguments)};var _orig$_ZNSt3__222__cxx_atomic_fetch_subIxEET_PVNS_22__cxx_atomic_base_implIS1_EES1_NS_12memory_orderE=Module["_orig$_ZNSt3__222__cxx_atomic_fetch_subIxEET_PVNS_22__cxx_atomic_base_implIS1_EES1_NS_12memory_orderE"]=function(){return(_orig$_ZNSt3__222__cxx_atomic_fetch_subIxEET_PVNS_22__cxx_atomic_base_implIS1_EES1_NS_12memory_orderE=Module["_orig$_ZNSt3__222__cxx_atomic_fetch_subIxEET_PVNS_22__cxx_atomic_base_implIS1_EES1_NS_12memory_orderE"]=Module["asm"]["orig$_ZNSt3__222__cxx_atomic_fetch_subIxEET_PVNS_22__cxx_atomic_base_implIS1_EES1_NS_12memory_orderE"]).apply(null,arguments)};var _orig$_ZNSt3__223__libcpp_atomic_monitorEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEE=Module["_orig$_ZNSt3__223__libcpp_atomic_monitorEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEE"]=function(){return(_orig$_ZNSt3__223__libcpp_atomic_monitorEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEE=Module["_orig$_ZNSt3__223__libcpp_atomic_monitorEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEE"]=Module["asm"]["orig$_ZNSt3__223__libcpp_atomic_monitorEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEE"]).apply(null,arguments)};var _orig$_ZNSt3__220__libcpp_atomic_waitEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEEx=Module["_orig$_ZNSt3__220__libcpp_atomic_waitEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEEx"]=function(){return(_orig$_ZNSt3__220__libcpp_atomic_waitEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEEx=Module["_orig$_ZNSt3__220__libcpp_atomic_waitEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEEx"]=Module["asm"]["orig$_ZNSt3__220__libcpp_atomic_waitEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEEx"]).apply(null,arguments)};var _orig$_ZNSt3__26chrono8durationIxNS_5ratioILx1ELx1000000000EEEE4zeroEv=Module["_orig$_ZNSt3__26chrono8durationIxNS_5ratioILx1ELx1000000000EEEE4zeroEv"]=function(){return(_orig$_ZNSt3__26chrono8durationIxNS_5ratioILx1ELx1000000000EEEE4zeroEv=Module["_orig$_ZNSt3__26chrono8durationIxNS_5ratioILx1ELx1000000000EEEE4zeroEv"]=Module["asm"]["orig$_ZNSt3__26chrono8durationIxNS_5ratioILx1ELx1000000000EEEE4zeroEv"]).apply(null,arguments)};var _orig$_ZNSt3__26chrono12steady_clock3nowEv=Module["_orig$_ZNSt3__26chrono12steady_clock3nowEv"]=function(){return(_orig$_ZNSt3__26chrono12steady_clock3nowEv=Module["_orig$_ZNSt3__26chrono12steady_clock3nowEv"]=Module["asm"]["orig$_ZNSt3__26chrono12steady_clock3nowEv"]).apply(null,arguments)};var _orig$_ZNSt3__26chronomiINS0_12steady_clockENS0_8durationIxNS_5ratioILx1ELx1000000000EEEEES6_EENS_11common_typeIJT0_T1_EE4typeERKNS0_10time_pointIT_S8_EERKNSC_ISD_S9_EE=Module["_orig$_ZNSt3__26chronomiINS0_12steady_clockENS0_8durationIxNS_5ratioILx1ELx1000000000EEEEES6_EENS_11common_typeIJT0_T1_EE4typeERKNS0_10time_pointIT_S8_EERKNSC_ISD_S9_EE"]=function(){return(_orig$_ZNSt3__26chronomiINS0_12steady_clockENS0_8durationIxNS_5ratioILx1ELx1000000000EEEEES6_EENS_11common_typeIJT0_T1_EE4typeERKNS0_10time_pointIT_S8_EERKNSC_ISD_S9_EE=Module["_orig$_ZNSt3__26chronomiINS0_12steady_clockENS0_8durationIxNS_5ratioILx1ELx1000000000EEEEES6_EENS_11common_typeIJT0_T1_EE4typeERKNS0_10time_pointIT_S8_EERKNSC_ISD_S9_EE"]=Module["asm"]["orig$_ZNSt3__26chronomiINS0_12steady_clockENS0_8durationIxNS_5ratioILx1ELx1000000000EEEEES6_EENS_11common_typeIJT0_T1_EE4typeERKNS0_10time_pointIT_S8_EERKNSC_ISD_S9_EE"]).apply(null,arguments)};var _orig$_ZNKSt3__229__libcpp_timed_backoff_policyclENS_6chrono8durationIxNS_5ratioILx1ELx1000000000EEEEE=Module["_orig$_ZNKSt3__229__libcpp_timed_backoff_policyclENS_6chrono8durationIxNS_5ratioILx1ELx1000000000EEEEE"]=function(){return(_orig$_ZNKSt3__229__libcpp_timed_backoff_policyclENS_6chrono8durationIxNS_5ratioILx1ELx1000000000EEEEE=Module["_orig$_ZNKSt3__229__libcpp_timed_backoff_policyclENS_6chrono8durationIxNS_5ratioILx1ELx1000000000EEEEE"]=Module["asm"]["orig$_ZNKSt3__229__libcpp_timed_backoff_policyclENS_6chrono8durationIxNS_5ratioILx1ELx1000000000EEEEE"]).apply(null,arguments)};var _orig$_ZNSt3__26chrono15duration_valuesIxE4zeroEv=Module["_orig$_ZNSt3__26chrono15duration_valuesIxE4zeroEv"]=function(){return(_orig$_ZNSt3__26chrono15duration_valuesIxE4zeroEv=Module["_orig$_ZNSt3__26chrono15duration_valuesIxE4zeroEv"]=Module["asm"]["orig$_ZNSt3__26chrono15duration_valuesIxE4zeroEv"]).apply(null,arguments)};var _orig$_ZNKSt3__26chrono10time_pointINS0_12steady_clockENS0_8durationIxNS_5ratioILx1ELx1000000000EEEEEE16time_since_epochEv=Module["_orig$_ZNKSt3__26chrono10time_pointINS0_12steady_clockENS0_8durationIxNS_5ratioILx1ELx1000000000EEEEEE16time_since_epochEv"]=function(){return(_orig$_ZNKSt3__26chrono10time_pointINS0_12steady_clockENS0_8durationIxNS_5ratioILx1ELx1000000000EEEEEE16time_since_epochEv=Module["_orig$_ZNKSt3__26chrono10time_pointINS0_12steady_clockENS0_8durationIxNS_5ratioILx1ELx1000000000EEEEEE16time_since_epochEv"]=Module["asm"]["orig$_ZNKSt3__26chrono10time_pointINS0_12steady_clockENS0_8durationIxNS_5ratioILx1ELx1000000000EEEEEE16time_since_epochEv"]).apply(null,arguments)};var _orig$_ZNSt3__26chronomiIxNS_5ratioILx1ELx1000000000EEExS3_EENS_11common_typeIJNS0_8durationIT_T0_EENS5_IT1_T2_EEEE4typeERKS8_RKSB_=Module["_orig$_ZNSt3__26chronomiIxNS_5ratioILx1ELx1000000000EEExS3_EENS_11common_typeIJNS0_8durationIT_T0_EENS5_IT1_T2_EEEE4typeERKS8_RKSB_"]=function(){return(_orig$_ZNSt3__26chronomiIxNS_5ratioILx1ELx1000000000EEExS3_EENS_11common_typeIJNS0_8durationIT_T0_EENS5_IT1_T2_EEEE4typeERKS8_RKSB_=Module["_orig$_ZNSt3__26chronomiIxNS_5ratioILx1ELx1000000000EEExS3_EENS_11common_typeIJNS0_8durationIT_T0_EENS5_IT1_T2_EEEE4typeERKS8_RKSB_"]=Module["asm"]["orig$_ZNSt3__26chronomiIxNS_5ratioILx1ELx1000000000EEExS3_EENS_11common_typeIJNS0_8durationIT_T0_EENS5_IT1_T2_EEEE4typeERKS8_RKSB_"]).apply(null,arguments)};var _orig$_ZNSt3__26chronodvIxNS_5ratioILx1ELx1000000000EEEiEENS_9enable_ifIXaantsr13__is_durationIT1_EE5valuesr14is_convertibleIS5_NS_11common_typeIJT_S5_EE4typeEEE5valueENS0_8durationIS9_T0_EEE4typeERKNSA_IS7_SB_EERKS5_=Module["_orig$_ZNSt3__26chronodvIxNS_5ratioILx1ELx1000000000EEEiEENS_9enable_ifIXaantsr13__is_durationIT1_EE5valuesr14is_convertibleIS5_NS_11common_typeIJT_S5_EE4typeEEE5valueENS0_8durationIS9_T0_EEE4typeERKNSA_IS7_SB_EERKS5_"]=function(){return(_orig$_ZNSt3__26chronodvIxNS_5ratioILx1ELx1000000000EEEiEENS_9enable_ifIXaantsr13__is_durationIT1_EE5valuesr14is_convertibleIS5_NS_11common_typeIJT_S5_EE4typeEEE5valueENS0_8durationIS9_T0_EEE4typeERKNSA_IS7_SB_EERKS5_=Module["_orig$_ZNSt3__26chronodvIxNS_5ratioILx1ELx1000000000EEEiEENS_9enable_ifIXaantsr13__is_durationIT1_EE5valuesr14is_convertibleIS5_NS_11common_typeIJT_S5_EE4typeEEE5valueENS0_8durationIS9_T0_EEE4typeERKNSA_IS7_SB_EERKS5_"]=Module["asm"]["orig$_ZNSt3__26chronodvIxNS_5ratioILx1ELx1000000000EEEiEENS_9enable_ifIXaantsr13__is_durationIT1_EE5valuesr14is_convertibleIS5_NS_11common_typeIJT_S5_EE4typeEEE5valueENS0_8durationIS9_T0_EEE4typeERKNSA_IS7_SB_EERKS5_"]).apply(null,arguments)};var _orig$_ZNKSt3__26chrono8durationIxNS_5ratioILx1ELx1000000000EEEE5countEv=Module["_orig$_ZNKSt3__26chrono8durationIxNS_5ratioILx1ELx1000000000EEEE5countEv"]=function(){return(_orig$_ZNKSt3__26chrono8durationIxNS_5ratioILx1ELx1000000000EEEE5countEv=Module["_orig$_ZNKSt3__26chrono8durationIxNS_5ratioILx1ELx1000000000EEEE5countEv"]=Module["asm"]["orig$_ZNKSt3__26chrono8durationIxNS_5ratioILx1ELx1000000000EEEE5countEv"]).apply(null,arguments)};var _orig$_ZNSt3__26chrono13duration_castINS0_8durationIxNS_5ratioILx1ELx1000000000EEEEExNS3_ILx1ELx1000EEEEENS_9enable_ifIXsr13__is_durationIT_EE5valueES8_E4typeERKNS2_IT0_T1_EE=Module["_orig$_ZNSt3__26chrono13duration_castINS0_8durationIxNS_5ratioILx1ELx1000000000EEEEExNS3_ILx1ELx1000EEEEENS_9enable_ifIXsr13__is_durationIT_EE5valueES8_E4typeERKNS2_IT0_T1_EE"]=function(){return(_orig$_ZNSt3__26chrono13duration_castINS0_8durationIxNS_5ratioILx1ELx1000000000EEEEExNS3_ILx1ELx1000EEEEENS_9enable_ifIXsr13__is_durationIT_EE5valueES8_E4typeERKNS2_IT0_T1_EE=Module["_orig$_ZNSt3__26chrono13duration_castINS0_8durationIxNS_5ratioILx1ELx1000000000EEEEExNS3_ILx1ELx1000EEEEENS_9enable_ifIXsr13__is_durationIT_EE5valueES8_E4typeERKNS2_IT0_T1_EE"]=Module["asm"]["orig$_ZNSt3__26chrono13duration_castINS0_8durationIxNS_5ratioILx1ELx1000000000EEEEExNS3_ILx1ELx1000EEEEENS_9enable_ifIXsr13__is_durationIT_EE5valueES8_E4typeERKNS2_IT0_T1_EE"]).apply(null,arguments)};var _orig$_ZNSt3__26chrono13duration_castINS0_8durationIxNS_5ratioILx1ELx1EEEEExNS3_ILx1ELx1000000000EEEEENS_9enable_ifIXsr13__is_durationIT_EE5valueES8_E4typeERKNS2_IT0_T1_EE=Module["_orig$_ZNSt3__26chrono13duration_castINS0_8durationIxNS_5ratioILx1ELx1EEEEExNS3_ILx1ELx1000000000EEEEENS_9enable_ifIXsr13__is_durationIT_EE5valueES8_E4typeERKNS2_IT0_T1_EE"]=function(){return(_orig$_ZNSt3__26chrono13duration_castINS0_8durationIxNS_5ratioILx1ELx1EEEEExNS3_ILx1ELx1000000000EEEEENS_9enable_ifIXsr13__is_durationIT_EE5valueES8_E4typeERKNS2_IT0_T1_EE=Module["_orig$_ZNSt3__26chrono13duration_castINS0_8durationIxNS_5ratioILx1ELx1EEEEExNS3_ILx1ELx1000000000EEEEENS_9enable_ifIXsr13__is_durationIT_EE5valueES8_E4typeERKNS2_IT0_T1_EE"]=Module["asm"]["orig$_ZNSt3__26chrono13duration_castINS0_8durationIxNS_5ratioILx1ELx1EEEEExNS3_ILx1ELx1000000000EEEEENS_9enable_ifIXsr13__is_durationIT_EE5valueES8_E4typeERKNS2_IT0_T1_EE"]).apply(null,arguments)};var _orig$_ZNKSt3__26chrono8durationIxNS_5ratioILx1ELx1EEEE5countEv=Module["_orig$_ZNKSt3__26chrono8durationIxNS_5ratioILx1ELx1EEEE5countEv"]=function(){return(_orig$_ZNKSt3__26chrono8durationIxNS_5ratioILx1ELx1EEEE5countEv=Module["_orig$_ZNKSt3__26chrono8durationIxNS_5ratioILx1ELx1EEEE5countEv"]=Module["asm"]["orig$_ZNKSt3__26chrono8durationIxNS_5ratioILx1ELx1EEEE5countEv"]).apply(null,arguments)};var _orig$_ZNSt3__26chronomiIxNS_5ratioILx1ELx1000000000EEExNS2_ILx1ELx1EEEEENS_11common_typeIJNS0_8durationIT_T0_EENS6_IT1_T2_EEEE4typeERKS9_RKSC_=Module["_orig$_ZNSt3__26chronomiIxNS_5ratioILx1ELx1000000000EEExNS2_ILx1ELx1EEEEENS_11common_typeIJNS0_8durationIT_T0_EENS6_IT1_T2_EEEE4typeERKS9_RKSC_"]=function(){return(_orig$_ZNSt3__26chronomiIxNS_5ratioILx1ELx1000000000EEExNS2_ILx1ELx1EEEEENS_11common_typeIJNS0_8durationIT_T0_EENS6_IT1_T2_EEEE4typeERKS9_RKSC_=Module["_orig$_ZNSt3__26chronomiIxNS_5ratioILx1ELx1000000000EEExNS2_ILx1ELx1EEEEENS_11common_typeIJNS0_8durationIT_T0_EENS6_IT1_T2_EEEE4typeERKS9_RKSC_"]=Module["asm"]["orig$_ZNSt3__26chronomiIxNS_5ratioILx1ELx1000000000EEExNS2_ILx1ELx1EEEEENS_11common_typeIJNS0_8durationIT_T0_EENS6_IT1_T2_EEEE4typeERKS9_RKSC_"]).apply(null,arguments)};var _orig$_ZNKSt3__26chrono15__duration_castINS0_8durationIxNS_5ratioILx1ELx1000000000EEEEENS2_IxNS3_ILx1ELx1EEEEES4_Lb1ELb0EEclERKS5_=Module["_orig$_ZNKSt3__26chrono15__duration_castINS0_8durationIxNS_5ratioILx1ELx1000000000EEEEENS2_IxNS3_ILx1ELx1EEEEES4_Lb1ELb0EEclERKS5_"]=function(){return(_orig$_ZNKSt3__26chrono15__duration_castINS0_8durationIxNS_5ratioILx1ELx1000000000EEEEENS2_IxNS3_ILx1ELx1EEEEES4_Lb1ELb0EEclERKS5_=Module["_orig$_ZNKSt3__26chrono15__duration_castINS0_8durationIxNS_5ratioILx1ELx1000000000EEEEENS2_IxNS3_ILx1ELx1EEEEES4_Lb1ELb0EEclERKS5_"]=Module["asm"]["orig$_ZNKSt3__26chrono15__duration_castINS0_8durationIxNS_5ratioILx1ELx1000000000EEEEENS2_IxNS3_ILx1ELx1EEEEES4_Lb1ELb0EEclERKS5_"]).apply(null,arguments)};var _orig$_ZNSt3__26chrono13duration_castINS0_8durationIxNS_5ratioILx1ELx1000000000EEEEExNS3_ILx1ELx1EEEEENS_9enable_ifIXsr13__is_durationIT_EE5valueES8_E4typeERKNS2_IT0_T1_EE=Module["_orig$_ZNSt3__26chrono13duration_castINS0_8durationIxNS_5ratioILx1ELx1000000000EEEEExNS3_ILx1ELx1EEEEENS_9enable_ifIXsr13__is_durationIT_EE5valueES8_E4typeERKNS2_IT0_T1_EE"]=function(){return(_orig$_ZNSt3__26chrono13duration_castINS0_8durationIxNS_5ratioILx1ELx1000000000EEEEExNS3_ILx1ELx1EEEEENS_9enable_ifIXsr13__is_durationIT_EE5valueES8_E4typeERKNS2_IT0_T1_EE=Module["_orig$_ZNSt3__26chrono13duration_castINS0_8durationIxNS_5ratioILx1ELx1000000000EEEEExNS3_ILx1ELx1EEEEENS_9enable_ifIXsr13__is_durationIT_EE5valueES8_E4typeERKNS2_IT0_T1_EE"]=Module["asm"]["orig$_ZNSt3__26chrono13duration_castINS0_8durationIxNS_5ratioILx1ELx1000000000EEEEExNS3_ILx1ELx1EEEEENS_9enable_ifIXsr13__is_durationIT_EE5valueES8_E4typeERKNS2_IT0_T1_EE"]).apply(null,arguments)};var _orig$_ZNKSt3__26chrono15__duration_castINS0_8durationIxNS_5ratioILx1ELx1EEEEENS2_IxNS3_ILx1ELx1000000000EEEEENS3_ILx1000000000ELx1EEELb0ELb1EEclERKS5_=Module["_orig$_ZNKSt3__26chrono15__duration_castINS0_8durationIxNS_5ratioILx1ELx1EEEEENS2_IxNS3_ILx1ELx1000000000EEEEENS3_ILx1000000000ELx1EEELb0ELb1EEclERKS5_"]=function(){return(_orig$_ZNKSt3__26chrono15__duration_castINS0_8durationIxNS_5ratioILx1ELx1EEEEENS2_IxNS3_ILx1ELx1000000000EEEEENS3_ILx1000000000ELx1EEELb0ELb1EEclERKS5_=Module["_orig$_ZNKSt3__26chrono15__duration_castINS0_8durationIxNS_5ratioILx1ELx1EEEEENS2_IxNS3_ILx1ELx1000000000EEEEENS3_ILx1000000000ELx1EEELb0ELb1EEclERKS5_"]=Module["asm"]["orig$_ZNKSt3__26chrono15__duration_castINS0_8durationIxNS_5ratioILx1ELx1EEEEENS2_IxNS3_ILx1ELx1000000000EEEEENS3_ILx1000000000ELx1EEELb0ELb1EEclERKS5_"]).apply(null,arguments)};var _orig$_ZNKSt3__26chrono15__duration_castINS0_8durationIxNS_5ratioILx1ELx1000EEEEENS2_IxNS3_ILx1ELx1000000000EEEEENS3_ILx1000000ELx1EEELb0ELb1EEclERKS5_=Module["_orig$_ZNKSt3__26chrono15__duration_castINS0_8durationIxNS_5ratioILx1ELx1000EEEEENS2_IxNS3_ILx1ELx1000000000EEEEENS3_ILx1000000ELx1EEELb0ELb1EEclERKS5_"]=function(){return(_orig$_ZNKSt3__26chrono15__duration_castINS0_8durationIxNS_5ratioILx1ELx1000EEEEENS2_IxNS3_ILx1ELx1000000000EEEEENS3_ILx1000000ELx1EEELb0ELb1EEclERKS5_=Module["_orig$_ZNKSt3__26chrono15__duration_castINS0_8durationIxNS_5ratioILx1ELx1000EEEEENS2_IxNS3_ILx1ELx1000000000EEEEENS3_ILx1000000ELx1EEELb0ELb1EEclERKS5_"]=Module["asm"]["orig$_ZNKSt3__26chrono15__duration_castINS0_8durationIxNS_5ratioILx1ELx1000EEEEENS2_IxNS3_ILx1ELx1000000000EEEEENS3_ILx1000000ELx1EEELb0ELb1EEclERKS5_"]).apply(null,arguments)};var _orig$_ZNKSt3__26chrono8durationIxNS_5ratioILx1ELx1000EEEE5countEv=Module["_orig$_ZNKSt3__26chrono8durationIxNS_5ratioILx1ELx1000EEEE5countEv"]=function(){return(_orig$_ZNKSt3__26chrono8durationIxNS_5ratioILx1ELx1000EEEE5countEv=Module["_orig$_ZNKSt3__26chrono8durationIxNS_5ratioILx1ELx1000EEEE5countEv"]=Module["asm"]["orig$_ZNKSt3__26chrono8durationIxNS_5ratioILx1ELx1000EEEE5countEv"]).apply(null,arguments)};var _orig$_ZNSt3__26chrono13duration_castINS0_8durationIxNS_5ratioILx1ELx1000000000EEEEExNS3_ILx1ELx1000000EEEEENS_9enable_ifIXsr13__is_durationIT_EE5valueES8_E4typeERKNS2_IT0_T1_EE=Module["_orig$_ZNSt3__26chrono13duration_castINS0_8durationIxNS_5ratioILx1ELx1000000000EEEEExNS3_ILx1ELx1000000EEEEENS_9enable_ifIXsr13__is_durationIT_EE5valueES8_E4typeERKNS2_IT0_T1_EE"]=function(){return(_orig$_ZNSt3__26chrono13duration_castINS0_8durationIxNS_5ratioILx1ELx1000000000EEEEExNS3_ILx1ELx1000000EEEEENS_9enable_ifIXsr13__is_durationIT_EE5valueES8_E4typeERKNS2_IT0_T1_EE=Module["_orig$_ZNSt3__26chrono13duration_castINS0_8durationIxNS_5ratioILx1ELx1000000000EEEEExNS3_ILx1ELx1000000EEEEENS_9enable_ifIXsr13__is_durationIT_EE5valueES8_E4typeERKNS2_IT0_T1_EE"]=Module["asm"]["orig$_ZNSt3__26chrono13duration_castINS0_8durationIxNS_5ratioILx1ELx1000000000EEEEExNS3_ILx1ELx1000000EEEEENS_9enable_ifIXsr13__is_durationIT_EE5valueES8_E4typeERKNS2_IT0_T1_EE"]).apply(null,arguments)};var _orig$_ZNKSt3__26chrono15__duration_castINS0_8durationIxNS_5ratioILx1ELx1000000EEEEENS2_IxNS3_ILx1ELx1000000000EEEEENS3_ILx1000ELx1EEELb0ELb1EEclERKS5_=Module["_orig$_ZNKSt3__26chrono15__duration_castINS0_8durationIxNS_5ratioILx1ELx1000000EEEEENS2_IxNS3_ILx1ELx1000000000EEEEENS3_ILx1000ELx1EEELb0ELb1EEclERKS5_"]=function(){return(_orig$_ZNKSt3__26chrono15__duration_castINS0_8durationIxNS_5ratioILx1ELx1000000EEEEENS2_IxNS3_ILx1ELx1000000000EEEEENS3_ILx1000ELx1EEELb0ELb1EEclERKS5_=Module["_orig$_ZNKSt3__26chrono15__duration_castINS0_8durationIxNS_5ratioILx1ELx1000000EEEEENS2_IxNS3_ILx1ELx1000000000EEEEENS3_ILx1000ELx1EEELb0ELb1EEclERKS5_"]=Module["asm"]["orig$_ZNKSt3__26chrono15__duration_castINS0_8durationIxNS_5ratioILx1ELx1000000EEEEENS2_IxNS3_ILx1ELx1000000000EEEEENS3_ILx1000ELx1EEELb0ELb1EEclERKS5_"]).apply(null,arguments)};var _orig$_ZNKSt3__26chrono8durationIxNS_5ratioILx1ELx1000000EEEE5countEv=Module["_orig$_ZNKSt3__26chrono8durationIxNS_5ratioILx1ELx1000000EEEE5countEv"]=function(){return(_orig$_ZNKSt3__26chrono8durationIxNS_5ratioILx1ELx1000000EEEE5countEv=Module["_orig$_ZNKSt3__26chrono8durationIxNS_5ratioILx1ELx1000000EEEE5countEv"]=Module["asm"]["orig$_ZNKSt3__26chrono8durationIxNS_5ratioILx1ELx1000000EEEE5countEv"]).apply(null,arguments)};var _orig$_ZNSt3__212strstreambuf7seekoffExNS_8ios_base7seekdirEj=Module["_orig$_ZNSt3__212strstreambuf7seekoffExNS_8ios_base7seekdirEj"]=function(){return(_orig$_ZNSt3__212strstreambuf7seekoffExNS_8ios_base7seekdirEj=Module["_orig$_ZNSt3__212strstreambuf7seekoffExNS_8ios_base7seekdirEj"]=Module["asm"]["orig$_ZNSt3__212strstreambuf7seekoffExNS_8ios_base7seekdirEj"]).apply(null,arguments)};var _orig$_ZNSt3__24fposI11__mbstate_tEC2Ex=Module["_orig$_ZNSt3__24fposI11__mbstate_tEC2Ex"]=function(){return(_orig$_ZNSt3__24fposI11__mbstate_tEC2Ex=Module["_orig$_ZNSt3__24fposI11__mbstate_tEC2Ex"]=Module["asm"]["orig$_ZNSt3__24fposI11__mbstate_tEC2Ex"]).apply(null,arguments)};var _orig$_ZNKSt3__24fposI11__mbstate_tEcvxEv=Module["_orig$_ZNKSt3__24fposI11__mbstate_tEcvxEv"]=function(){return(_orig$_ZNKSt3__24fposI11__mbstate_tEcvxEv=Module["_orig$_ZNKSt3__24fposI11__mbstate_tEcvxEv"]=Module["asm"]["orig$_ZNKSt3__24fposI11__mbstate_tEcvxEv"]).apply(null,arguments)};var _orig$_ZNSt3__225__num_get_signed_integralIxEET_PKcS3_Rji=Module["_orig$_ZNSt3__225__num_get_signed_integralIxEET_PKcS3_Rji"]=function(){return(_orig$_ZNSt3__225__num_get_signed_integralIxEET_PKcS3_Rji=Module["_orig$_ZNSt3__225__num_get_signed_integralIxEET_PKcS3_Rji"]=Module["asm"]["orig$_ZNSt3__225__num_get_signed_integralIxEET_PKcS3_Rji"]).apply(null,arguments)};var _orig$_ZNSt3__227__num_get_unsigned_integralIyEET_PKcS3_Rji=Module["_orig$_ZNSt3__227__num_get_unsigned_integralIyEET_PKcS3_Rji"]=function(){return(_orig$_ZNSt3__227__num_get_unsigned_integralIyEET_PKcS3_Rji=Module["_orig$_ZNSt3__227__num_get_unsigned_integralIyEET_PKcS3_Rji"]=Module["asm"]["orig$_ZNSt3__227__num_get_unsigned_integralIyEET_PKcS3_Rji"]).apply(null,arguments)};var _orig$_ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcx=Module["_orig$_ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcx"]=function(){return(_orig$_ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcx=Module["_orig$_ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcx"]=Module["asm"]["orig$_ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcx"]).apply(null,arguments)};var _orig$_ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcy=Module["_orig$_ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcy"]=function(){return(_orig$_ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcy=Module["_orig$_ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcy"]=Module["asm"]["orig$_ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcy"]).apply(null,arguments)};var _orig$_ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEce=Module["_orig$_ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEce"]=function(){return(_orig$_ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEce=Module["_orig$_ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEce"]=Module["asm"]["orig$_ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEce"]).apply(null,arguments)};var _orig$_ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwx=Module["_orig$_ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwx"]=function(){return(_orig$_ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwx=Module["_orig$_ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwx"]=Module["asm"]["orig$_ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwx"]).apply(null,arguments)};var _orig$_ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwy=Module["_orig$_ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwy"]=function(){return(_orig$_ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwy=Module["_orig$_ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwy"]=Module["asm"]["orig$_ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwy"]).apply(null,arguments)};var _orig$_ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwe=Module["_orig$_ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwe"]=function(){return(_orig$_ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwe=Module["_orig$_ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwe"]=Module["asm"]["orig$_ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwe"]).apply(null,arguments)};var _orig$_ZNKSt3__29money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_bRNS_8ios_baseEce=Module["_orig$_ZNKSt3__29money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_bRNS_8ios_baseEce"]=function(){return(_orig$_ZNKSt3__29money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_bRNS_8ios_baseEce=Module["_orig$_ZNKSt3__29money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_bRNS_8ios_baseEce"]=Module["asm"]["orig$_ZNKSt3__29money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_bRNS_8ios_baseEce"]).apply(null,arguments)};var _orig$_ZNKSt3__29money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_bRNS_8ios_baseEwe=Module["_orig$_ZNKSt3__29money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_bRNS_8ios_baseEwe"]=function(){return(_orig$_ZNKSt3__29money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_bRNS_8ios_baseEwe=Module["_orig$_ZNKSt3__29money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_bRNS_8ios_baseEwe"]=Module["asm"]["orig$_ZNKSt3__29money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_bRNS_8ios_baseEwe"]).apply(null,arguments)};var _orig$_ZNSt3__214numeric_limitsIxE3minEv=Module["_orig$_ZNSt3__214numeric_limitsIxE3minEv"]=function(){return(_orig$_ZNSt3__214numeric_limitsIxE3minEv=Module["_orig$_ZNSt3__214numeric_limitsIxE3minEv"]=Module["asm"]["orig$_ZNSt3__214numeric_limitsIxE3minEv"]).apply(null,arguments)};var _orig$_ZNSt3__214numeric_limitsIxE3maxEv=Module["_orig$_ZNSt3__214numeric_limitsIxE3maxEv"]=function(){return(_orig$_ZNSt3__214numeric_limitsIxE3maxEv=Module["_orig$_ZNSt3__214numeric_limitsIxE3maxEv"]=Module["asm"]["orig$_ZNSt3__214numeric_limitsIxE3maxEv"]).apply(null,arguments)};var _orig$_ZNSt3__223__libcpp_numeric_limitsIxLb1EE3minEv=Module["_orig$_ZNSt3__223__libcpp_numeric_limitsIxLb1EE3minEv"]=function(){return(_orig$_ZNSt3__223__libcpp_numeric_limitsIxLb1EE3minEv=Module["_orig$_ZNSt3__223__libcpp_numeric_limitsIxLb1EE3minEv"]=Module["asm"]["orig$_ZNSt3__223__libcpp_numeric_limitsIxLb1EE3minEv"]).apply(null,arguments)};var _orig$_ZNSt3__223__libcpp_numeric_limitsIxLb1EE3maxEv=Module["_orig$_ZNSt3__223__libcpp_numeric_limitsIxLb1EE3maxEv"]=function(){return(_orig$_ZNSt3__223__libcpp_numeric_limitsIxLb1EE3maxEv=Module["_orig$_ZNSt3__223__libcpp_numeric_limitsIxLb1EE3maxEv"]=Module["asm"]["orig$_ZNSt3__223__libcpp_numeric_limitsIxLb1EE3maxEv"]).apply(null,arguments)};var _orig$_ZNSt3__214numeric_limitsIyE3maxEv=Module["_orig$_ZNSt3__214numeric_limitsIyE3maxEv"]=function(){return(_orig$_ZNSt3__214numeric_limitsIyE3maxEv=Module["_orig$_ZNSt3__214numeric_limitsIyE3maxEv"]=Module["asm"]["orig$_ZNSt3__214numeric_limitsIyE3maxEv"]).apply(null,arguments)};var _orig$_ZNSt3__223__libcpp_numeric_limitsIyLb1EE3maxEv=Module["_orig$_ZNSt3__223__libcpp_numeric_limitsIyLb1EE3maxEv"]=function(){return(_orig$_ZNSt3__223__libcpp_numeric_limitsIyLb1EE3maxEv=Module["_orig$_ZNSt3__223__libcpp_numeric_limitsIyLb1EE3maxEv"]=Module["asm"]["orig$_ZNSt3__223__libcpp_numeric_limitsIyLb1EE3maxEv"]).apply(null,arguments)};var _orig$_ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE7seekoffExNS_8ios_base7seekdirEj=Module["_orig$_ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE7seekoffExNS_8ios_base7seekdirEj"]=function(){return(_orig$_ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE7seekoffExNS_8ios_base7seekdirEj=Module["_orig$_ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE7seekoffExNS_8ios_base7seekdirEj"]=Module["asm"]["orig$_ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE7seekoffExNS_8ios_base7seekdirEj"]).apply(null,arguments)};var _orig$_ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE7seekoffExNS_8ios_base7seekdirEj=Module["_orig$_ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE7seekoffExNS_8ios_base7seekdirEj"]=function(){return(_orig$_ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE7seekoffExNS_8ios_base7seekdirEj=Module["_orig$_ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE7seekoffExNS_8ios_base7seekdirEj"]=Module["asm"]["orig$_ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE7seekoffExNS_8ios_base7seekdirEj"]).apply(null,arguments)};var _orig$_ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE10pubseekoffExNS_8ios_base7seekdirEj=Module["_orig$_ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE10pubseekoffExNS_8ios_base7seekdirEj"]=function(){return(_orig$_ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE10pubseekoffExNS_8ios_base7seekdirEj=Module["_orig$_ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE10pubseekoffExNS_8ios_base7seekdirEj"]=Module["asm"]["orig$_ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE10pubseekoffExNS_8ios_base7seekdirEj"]).apply(null,arguments)};var _orig$_ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE5seekgExNS_8ios_base7seekdirE=Module["_orig$_ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE5seekgExNS_8ios_base7seekdirE"]=function(){return(_orig$_ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE5seekgExNS_8ios_base7seekdirE=Module["_orig$_ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE5seekgExNS_8ios_base7seekdirE"]=Module["asm"]["orig$_ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE5seekgExNS_8ios_base7seekdirE"]).apply(null,arguments)};var _orig$_ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE10pubseekoffExNS_8ios_base7seekdirEj=Module["_orig$_ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE10pubseekoffExNS_8ios_base7seekdirEj"]=function(){return(_orig$_ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE10pubseekoffExNS_8ios_base7seekdirEj=Module["_orig$_ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE10pubseekoffExNS_8ios_base7seekdirEj"]=Module["asm"]["orig$_ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE10pubseekoffExNS_8ios_base7seekdirEj"]).apply(null,arguments)};var _orig$_ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE5seekgExNS_8ios_base7seekdirE=Module["_orig$_ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE5seekgExNS_8ios_base7seekdirE"]=function(){return(_orig$_ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE5seekgExNS_8ios_base7seekdirE=Module["_orig$_ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE5seekgExNS_8ios_base7seekdirE"]=Module["asm"]["orig$_ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE5seekgExNS_8ios_base7seekdirE"]).apply(null,arguments)};var _orig$_ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEx=Module["_orig$_ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEx"]=function(){return(_orig$_ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEx=Module["_orig$_ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEx"]=Module["asm"]["orig$_ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEx"]).apply(null,arguments)};var _orig$_ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_RNS_8ios_baseEcx=Module["_orig$_ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_RNS_8ios_baseEcx"]=function(){return(_orig$_ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_RNS_8ios_baseEcx=Module["_orig$_ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_RNS_8ios_baseEcx"]=Module["asm"]["orig$_ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_RNS_8ios_baseEcx"]).apply(null,arguments)};var _orig$_ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEy=Module["_orig$_ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEy"]=function(){return(_orig$_ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEy=Module["_orig$_ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEy"]=Module["asm"]["orig$_ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEy"]).apply(null,arguments)};var _orig$_ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_RNS_8ios_baseEcy=Module["_orig$_ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_RNS_8ios_baseEcy"]=function(){return(_orig$_ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_RNS_8ios_baseEcy=Module["_orig$_ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_RNS_8ios_baseEcy"]=Module["asm"]["orig$_ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_RNS_8ios_baseEcy"]).apply(null,arguments)};var _orig$_ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEe=Module["_orig$_ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEe"]=function(){return(_orig$_ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEe=Module["_orig$_ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEe"]=Module["asm"]["orig$_ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEe"]).apply(null,arguments)};var _orig$_ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_RNS_8ios_baseEce=Module["_orig$_ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_RNS_8ios_baseEce"]=function(){return(_orig$_ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_RNS_8ios_baseEce=Module["_orig$_ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_RNS_8ios_baseEce"]=Module["asm"]["orig$_ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_RNS_8ios_baseEce"]).apply(null,arguments)};var _orig$_ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEx=Module["_orig$_ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEx"]=function(){return(_orig$_ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEx=Module["_orig$_ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEx"]=Module["asm"]["orig$_ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEx"]).apply(null,arguments)};var _orig$_ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_RNS_8ios_baseEwx=Module["_orig$_ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_RNS_8ios_baseEwx"]=function(){return(_orig$_ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_RNS_8ios_baseEwx=Module["_orig$_ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_RNS_8ios_baseEwx"]=Module["asm"]["orig$_ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_RNS_8ios_baseEwx"]).apply(null,arguments)};var _orig$_ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEy=Module["_orig$_ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEy"]=function(){return(_orig$_ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEy=Module["_orig$_ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEy"]=Module["asm"]["orig$_ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEy"]).apply(null,arguments)};var _orig$_ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_RNS_8ios_baseEwy=Module["_orig$_ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_RNS_8ios_baseEwy"]=function(){return(_orig$_ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_RNS_8ios_baseEwy=Module["_orig$_ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_RNS_8ios_baseEwy"]=Module["asm"]["orig$_ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_RNS_8ios_baseEwy"]).apply(null,arguments)};var _orig$_ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEe=Module["_orig$_ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEe"]=function(){return(_orig$_ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEe=Module["_orig$_ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEe"]=Module["asm"]["orig$_ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEe"]).apply(null,arguments)};var _orig$_ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_RNS_8ios_baseEwe=Module["_orig$_ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_RNS_8ios_baseEwe"]=function(){return(_orig$_ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_RNS_8ios_baseEwe=Module["_orig$_ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_RNS_8ios_baseEwe"]=Module["asm"]["orig$_ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_RNS_8ios_baseEwe"]).apply(null,arguments)};var _orig$_ZNSt3__215basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE7seekoffExNS_8ios_base7seekdirEj=Module["_orig$_ZNSt3__215basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE7seekoffExNS_8ios_base7seekdirEj"]=function(){return(_orig$_ZNSt3__215basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE7seekoffExNS_8ios_base7seekdirEj=Module["_orig$_ZNSt3__215basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE7seekoffExNS_8ios_base7seekdirEj"]=Module["asm"]["orig$_ZNSt3__215basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE7seekoffExNS_8ios_base7seekdirEj"]).apply(null,arguments)};var _orig$_ZNSt3__213basic_filebufIcNS_11char_traitsIcEEE7seekoffExNS_8ios_base7seekdirEj=Module["_orig$_ZNSt3__213basic_filebufIcNS_11char_traitsIcEEE7seekoffExNS_8ios_base7seekdirEj"]=function(){return(_orig$_ZNSt3__213basic_filebufIcNS_11char_traitsIcEEE7seekoffExNS_8ios_base7seekdirEj=Module["_orig$_ZNSt3__213basic_filebufIcNS_11char_traitsIcEEE7seekoffExNS_8ios_base7seekdirEj"]=Module["asm"]["orig$_ZNSt3__213basic_filebufIcNS_11char_traitsIcEEE7seekoffExNS_8ios_base7seekdirEj"]).apply(null,arguments)};var _orig$_ZNSt3__26__itoa8__u64toaEyPc=Module["_orig$_ZNSt3__26__itoa8__u64toaEyPc"]=function(){return(_orig$_ZNSt3__26__itoa8__u64toaEyPc=Module["_orig$_ZNSt3__26__itoa8__u64toaEyPc"]=Module["asm"]["orig$_ZNSt3__26__itoa8__u64toaEyPc"]).apply(null,arguments)};var _orig$_ZNSt3__25stollERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi=Module["_orig$_ZNSt3__25stollERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi"]=function(){return(_orig$_ZNSt3__25stollERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi=Module["_orig$_ZNSt3__25stollERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi"]=Module["asm"]["orig$_ZNSt3__25stollERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi"]).apply(null,arguments)};var _orig$_ZNSt3__25stollERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPmi=Module["_orig$_ZNSt3__25stollERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPmi"]=function(){return(_orig$_ZNSt3__25stollERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPmi=Module["_orig$_ZNSt3__25stollERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPmi"]=Module["asm"]["orig$_ZNSt3__25stollERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPmi"]).apply(null,arguments)};var _orig$_ZNSt3__26stoullERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi=Module["_orig$_ZNSt3__26stoullERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi"]=function(){return(_orig$_ZNSt3__26stoullERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi=Module["_orig$_ZNSt3__26stoullERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi"]=Module["asm"]["orig$_ZNSt3__26stoullERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi"]).apply(null,arguments)};var _orig$_ZNSt3__26stoullERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPmi=Module["_orig$_ZNSt3__26stoullERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPmi"]=function(){return(_orig$_ZNSt3__26stoullERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPmi=Module["_orig$_ZNSt3__26stoullERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPmi"]=Module["asm"]["orig$_ZNSt3__26stoullERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPmi"]).apply(null,arguments)};var _orig$_ZNSt3__29to_stringEx=Module["_orig$_ZNSt3__29to_stringEx"]=function(){return(_orig$_ZNSt3__29to_stringEx=Module["_orig$_ZNSt3__29to_stringEx"]=Module["asm"]["orig$_ZNSt3__29to_stringEx"]).apply(null,arguments)};var _orig$_ZNSt3__28to_charsIxLi0EEENS_15to_chars_resultEPcS2_T_=Module["_orig$_ZNSt3__28to_charsIxLi0EEENS_15to_chars_resultEPcS2_T_"]=function(){return(_orig$_ZNSt3__28to_charsIxLi0EEENS_15to_chars_resultEPcS2_T_=Module["_orig$_ZNSt3__28to_charsIxLi0EEENS_15to_chars_resultEPcS2_T_"]=Module["asm"]["orig$_ZNSt3__28to_charsIxLi0EEENS_15to_chars_resultEPcS2_T_"]).apply(null,arguments)};var _orig$_ZNSt3__29to_stringEy=Module["_orig$_ZNSt3__29to_stringEy"]=function(){return(_orig$_ZNSt3__29to_stringEy=Module["_orig$_ZNSt3__29to_stringEy"]=Module["asm"]["orig$_ZNSt3__29to_stringEy"]).apply(null,arguments)};var _orig$_ZNSt3__28to_charsIyLi0EEENS_15to_chars_resultEPcS2_T_=Module["_orig$_ZNSt3__28to_charsIyLi0EEENS_15to_chars_resultEPcS2_T_"]=function(){return(_orig$_ZNSt3__28to_charsIyLi0EEENS_15to_chars_resultEPcS2_T_=Module["_orig$_ZNSt3__28to_charsIyLi0EEENS_15to_chars_resultEPcS2_T_"]=Module["asm"]["orig$_ZNSt3__28to_charsIyLi0EEENS_15to_chars_resultEPcS2_T_"]).apply(null,arguments)};var _orig$_ZNSt3__210to_wstringEx=Module["_orig$_ZNSt3__210to_wstringEx"]=function(){return(_orig$_ZNSt3__210to_wstringEx=Module["_orig$_ZNSt3__210to_wstringEx"]=Module["asm"]["orig$_ZNSt3__210to_wstringEx"]).apply(null,arguments)};var _orig$_ZNSt3__210to_wstringEy=Module["_orig$_ZNSt3__210to_wstringEy"]=function(){return(_orig$_ZNSt3__210to_wstringEy=Module["_orig$_ZNSt3__210to_wstringEy"]=Module["asm"]["orig$_ZNSt3__210to_wstringEy"]).apply(null,arguments)};var _orig$_ZNSt3__29to_stringEe=Module["_orig$_ZNSt3__29to_stringEe"]=function(){return(_orig$_ZNSt3__29to_stringEe=Module["_orig$_ZNSt3__29to_stringEe"]=Module["asm"]["orig$_ZNSt3__29to_stringEe"]).apply(null,arguments)};var _orig$_ZNSt3__210to_wstringEe=Module["_orig$_ZNSt3__210to_wstringEe"]=function(){return(_orig$_ZNSt3__210to_wstringEe=Module["_orig$_ZNSt3__210to_wstringEe"]=Module["asm"]["orig$_ZNSt3__210to_wstringEe"]).apply(null,arguments)};var _orig$_ZNSt3__215__to_chars_itoaIxEENS_15to_chars_resultEPcS2_T_NS_17integral_constantIbLb1EEE=Module["_orig$_ZNSt3__215__to_chars_itoaIxEENS_15to_chars_resultEPcS2_T_NS_17integral_constantIbLb1EEE"]=function(){return(_orig$_ZNSt3__215__to_chars_itoaIxEENS_15to_chars_resultEPcS2_T_NS_17integral_constantIbLb1EEE=Module["_orig$_ZNSt3__215__to_chars_itoaIxEENS_15to_chars_resultEPcS2_T_NS_17integral_constantIbLb1EEE"]=Module["asm"]["orig$_ZNSt3__215__to_chars_itoaIxEENS_15to_chars_resultEPcS2_T_NS_17integral_constantIbLb1EEE"]).apply(null,arguments)};var _orig$_ZNSt3__213__to_unsignedIxEENS_13make_unsignedIT_E4typeES2_=Module["_orig$_ZNSt3__213__to_unsignedIxEENS_13make_unsignedIT_E4typeES2_"]=function(){return(_orig$_ZNSt3__213__to_unsignedIxEENS_13make_unsignedIT_E4typeES2_=Module["_orig$_ZNSt3__213__to_unsignedIxEENS_13make_unsignedIT_E4typeES2_"]=Module["asm"]["orig$_ZNSt3__213__to_unsignedIxEENS_13make_unsignedIT_E4typeES2_"]).apply(null,arguments)};var _orig$_ZNSt3__212__complementIyEET_S1_=Module["_orig$_ZNSt3__212__complementIyEET_S1_"]=function(){return(_orig$_ZNSt3__212__complementIyEET_S1_=Module["_orig$_ZNSt3__212__complementIyEET_S1_"]=Module["asm"]["orig$_ZNSt3__212__complementIyEET_S1_"]).apply(null,arguments)};var _orig$_ZNSt3__215__to_chars_itoaIyEENS_15to_chars_resultEPcS2_T_NS_17integral_constantIbLb0EEE=Module["_orig$_ZNSt3__215__to_chars_itoaIyEENS_15to_chars_resultEPcS2_T_NS_17integral_constantIbLb0EEE"]=function(){return(_orig$_ZNSt3__215__to_chars_itoaIyEENS_15to_chars_resultEPcS2_T_NS_17integral_constantIbLb0EEE=Module["_orig$_ZNSt3__215__to_chars_itoaIyEENS_15to_chars_resultEPcS2_T_NS_17integral_constantIbLb0EEE"]=Module["asm"]["orig$_ZNSt3__215__to_chars_itoaIyEENS_15to_chars_resultEPcS2_T_NS_17integral_constantIbLb0EEE"]).apply(null,arguments)};var _orig$_ZNSt3__26__itoa13__traits_baseIyvE7__widthEy=Module["_orig$_ZNSt3__26__itoa13__traits_baseIyvE7__widthEy"]=function(){return(_orig$_ZNSt3__26__itoa13__traits_baseIyvE7__widthEy=Module["_orig$_ZNSt3__26__itoa13__traits_baseIyvE7__widthEy"]=Module["asm"]["orig$_ZNSt3__26__itoa13__traits_baseIyvE7__widthEy"]).apply(null,arguments)};var _orig$_ZNSt3__26__itoa13__traits_baseIyvE9__convertEyPc=Module["_orig$_ZNSt3__26__itoa13__traits_baseIyvE9__convertEyPc"]=function(){return(_orig$_ZNSt3__26__itoa13__traits_baseIyvE9__convertEyPc=Module["_orig$_ZNSt3__26__itoa13__traits_baseIyvE9__convertEyPc"]=Module["asm"]["orig$_ZNSt3__26__itoa13__traits_baseIyvE9__convertEyPc"]).apply(null,arguments)};var _orig$_ZNSt3__218condition_variable15__do_timed_waitERNS_11unique_lockINS_5mutexEEENS_6chrono10time_pointINS5_12system_clockENS5_8durationIxNS_5ratioILx1ELx1000000000EEEEEEE=Module["_orig$_ZNSt3__218condition_variable15__do_timed_waitERNS_11unique_lockINS_5mutexEEENS_6chrono10time_pointINS5_12system_clockENS5_8durationIxNS_5ratioILx1ELx1000000000EEEEEEE"]=function(){return(_orig$_ZNSt3__218condition_variable15__do_timed_waitERNS_11unique_lockINS_5mutexEEENS_6chrono10time_pointINS5_12system_clockENS5_8durationIxNS_5ratioILx1ELx1000000000EEEEEEE=Module["_orig$_ZNSt3__218condition_variable15__do_timed_waitERNS_11unique_lockINS_5mutexEEENS_6chrono10time_pointINS5_12system_clockENS5_8durationIxNS_5ratioILx1ELx1000000000EEEEEEE"]=Module["asm"]["orig$_ZNSt3__218condition_variable15__do_timed_waitERNS_11unique_lockINS_5mutexEEENS_6chrono10time_pointINS5_12system_clockENS5_8durationIxNS_5ratioILx1ELx1000000000EEEEEEE"]).apply(null,arguments)};var _orig$_ZNKSt3__26chrono10time_pointINS0_12system_clockENS0_8durationIxNS_5ratioILx1ELx1000000000EEEEEE16time_since_epochEv=Module["_orig$_ZNKSt3__26chrono10time_pointINS0_12system_clockENS0_8durationIxNS_5ratioILx1ELx1000000000EEEEEE16time_since_epochEv"]=function(){return(_orig$_ZNKSt3__26chrono10time_pointINS0_12system_clockENS0_8durationIxNS_5ratioILx1ELx1000000000EEEEEE16time_since_epochEv=Module["_orig$_ZNKSt3__26chrono10time_pointINS0_12system_clockENS0_8durationIxNS_5ratioILx1ELx1000000000EEEEEE16time_since_epochEv"]=Module["asm"]["orig$_ZNKSt3__26chrono10time_pointINS0_12system_clockENS0_8durationIxNS_5ratioILx1ELx1000000000EEEEEE16time_since_epochEv"]).apply(null,arguments)};var _orig$_ZNSt3__26chrono12system_clock3nowEv=Module["_orig$_ZNSt3__26chrono12system_clock3nowEv"]=function(){return(_orig$_ZNSt3__26chrono12system_clock3nowEv=Module["_orig$_ZNSt3__26chrono12system_clock3nowEv"]=Module["asm"]["orig$_ZNSt3__26chrono12system_clock3nowEv"]).apply(null,arguments)};var _orig$_ZNSt3__26chronoplIxNS_5ratioILx1ELx1EEExNS2_ILx1ELx1000000EEEEENS_11common_typeIJNS0_8durationIT_T0_EENS6_IT1_T2_EEEE4typeERKS9_RKSC_=Module["_orig$_ZNSt3__26chronoplIxNS_5ratioILx1ELx1EEExNS2_ILx1ELx1000000EEEEENS_11common_typeIJNS0_8durationIT_T0_EENS6_IT1_T2_EEEE4typeERKS9_RKSC_"]=function(){return(_orig$_ZNSt3__26chronoplIxNS_5ratioILx1ELx1EEExNS2_ILx1ELx1000000EEEEENS_11common_typeIJNS0_8durationIT_T0_EENS6_IT1_T2_EEEE4typeERKS9_RKSC_=Module["_orig$_ZNSt3__26chronoplIxNS_5ratioILx1ELx1EEExNS2_ILx1ELx1000000EEEEENS_11common_typeIJNS0_8durationIT_T0_EENS6_IT1_T2_EEEE4typeERKS9_RKSC_"]=Module["asm"]["orig$_ZNSt3__26chronoplIxNS_5ratioILx1ELx1EEExNS2_ILx1ELx1000000EEEEENS_11common_typeIJNS0_8durationIT_T0_EENS6_IT1_T2_EEEE4typeERKS9_RKSC_"]).apply(null,arguments)};var _orig$_ZNKSt3__26chrono10time_pointINS0_12system_clockENS0_8durationIxNS_5ratioILx1ELx1000000EEEEEE16time_since_epochEv=Module["_orig$_ZNKSt3__26chrono10time_pointINS0_12system_clockENS0_8durationIxNS_5ratioILx1ELx1000000EEEEEE16time_since_epochEv"]=function(){return(_orig$_ZNKSt3__26chrono10time_pointINS0_12system_clockENS0_8durationIxNS_5ratioILx1ELx1000000EEEEEE16time_since_epochEv=Module["_orig$_ZNKSt3__26chrono10time_pointINS0_12system_clockENS0_8durationIxNS_5ratioILx1ELx1000000EEEEEE16time_since_epochEv"]=Module["asm"]["orig$_ZNKSt3__26chrono10time_pointINS0_12system_clockENS0_8durationIxNS_5ratioILx1ELx1000000EEEEEE16time_since_epochEv"]).apply(null,arguments)};var _orig$_ZNSt3__26chrono13duration_castINS0_8durationIxNS_5ratioILx1ELx1EEEEExNS3_ILx1ELx1000000EEEEENS_9enable_ifIXsr13__is_durationIT_EE5valueES8_E4typeERKNS2_IT0_T1_EE=Module["_orig$_ZNSt3__26chrono13duration_castINS0_8durationIxNS_5ratioILx1ELx1EEEEExNS3_ILx1ELx1000000EEEEENS_9enable_ifIXsr13__is_durationIT_EE5valueES8_E4typeERKNS2_IT0_T1_EE"]=function(){return(_orig$_ZNSt3__26chrono13duration_castINS0_8durationIxNS_5ratioILx1ELx1EEEEExNS3_ILx1ELx1000000EEEEENS_9enable_ifIXsr13__is_durationIT_EE5valueES8_E4typeERKNS2_IT0_T1_EE=Module["_orig$_ZNSt3__26chrono13duration_castINS0_8durationIxNS_5ratioILx1ELx1EEEEExNS3_ILx1ELx1000000EEEEENS_9enable_ifIXsr13__is_durationIT_EE5valueES8_E4typeERKNS2_IT0_T1_EE"]=Module["asm"]["orig$_ZNSt3__26chrono13duration_castINS0_8durationIxNS_5ratioILx1ELx1EEEEExNS3_ILx1ELx1000000EEEEENS_9enable_ifIXsr13__is_durationIT_EE5valueES8_E4typeERKNS2_IT0_T1_EE"]).apply(null,arguments)};var _orig$_ZNKSt3__26chrono15__duration_castINS0_8durationIxNS_5ratioILx1ELx1000000EEEEENS2_IxNS3_ILx1ELx1EEEEES4_Lb1ELb0EEclERKS5_=Module["_orig$_ZNKSt3__26chrono15__duration_castINS0_8durationIxNS_5ratioILx1ELx1000000EEEEENS2_IxNS3_ILx1ELx1EEEEES4_Lb1ELb0EEclERKS5_"]=function(){return(_orig$_ZNKSt3__26chrono15__duration_castINS0_8durationIxNS_5ratioILx1ELx1000000EEEEENS2_IxNS3_ILx1ELx1EEEEES4_Lb1ELb0EEclERKS5_=Module["_orig$_ZNKSt3__26chrono15__duration_castINS0_8durationIxNS_5ratioILx1ELx1000000EEEEENS2_IxNS3_ILx1ELx1EEEEES4_Lb1ELb0EEclERKS5_"]=Module["asm"]["orig$_ZNKSt3__26chrono15__duration_castINS0_8durationIxNS_5ratioILx1ELx1000000EEEEENS2_IxNS3_ILx1ELx1EEEEES4_Lb1ELb0EEclERKS5_"]).apply(null,arguments)};var _orig$_ZNSt3__26chrono12system_clock11from_time_tEl=Module["_orig$_ZNSt3__26chrono12system_clock11from_time_tEl"]=function(){return(_orig$_ZNSt3__26chrono12system_clock11from_time_tEl=Module["_orig$_ZNSt3__26chrono12system_clock11from_time_tEl"]=Module["asm"]["orig$_ZNSt3__26chrono12system_clock11from_time_tEl"]).apply(null,arguments)};var _orig$_ZNSt3__26chrono13duration_castINS0_8durationIxNS_5ratioILx1ELx1000000EEEEExNS3_ILx1ELx1EEEEENS_9enable_ifIXsr13__is_durationIT_EE5valueES8_E4typeERKNS2_IT0_T1_EE=Module["_orig$_ZNSt3__26chrono13duration_castINS0_8durationIxNS_5ratioILx1ELx1000000EEEEExNS3_ILx1ELx1EEEEENS_9enable_ifIXsr13__is_durationIT_EE5valueES8_E4typeERKNS2_IT0_T1_EE"]=function(){return(_orig$_ZNSt3__26chrono13duration_castINS0_8durationIxNS_5ratioILx1ELx1000000EEEEExNS3_ILx1ELx1EEEEENS_9enable_ifIXsr13__is_durationIT_EE5valueES8_E4typeERKNS2_IT0_T1_EE=Module["_orig$_ZNSt3__26chrono13duration_castINS0_8durationIxNS_5ratioILx1ELx1000000EEEEExNS3_ILx1ELx1EEEEENS_9enable_ifIXsr13__is_durationIT_EE5valueES8_E4typeERKNS2_IT0_T1_EE"]=Module["asm"]["orig$_ZNSt3__26chrono13duration_castINS0_8durationIxNS_5ratioILx1ELx1000000EEEEExNS3_ILx1ELx1EEEEENS_9enable_ifIXsr13__is_durationIT_EE5valueES8_E4typeERKNS2_IT0_T1_EE"]).apply(null,arguments)};var _orig$_ZNSt3__26chronoplIxNS_5ratioILx1ELx1EEExNS2_ILx1ELx1000000000EEEEENS_11common_typeIJNS0_8durationIT_T0_EENS6_IT1_T2_EEEE4typeERKS9_RKSC_=Module["_orig$_ZNSt3__26chronoplIxNS_5ratioILx1ELx1EEExNS2_ILx1ELx1000000000EEEEENS_11common_typeIJNS0_8durationIT_T0_EENS6_IT1_T2_EEEE4typeERKS9_RKSC_"]=function(){return(_orig$_ZNSt3__26chronoplIxNS_5ratioILx1ELx1EEExNS2_ILx1ELx1000000000EEEEENS_11common_typeIJNS0_8durationIT_T0_EENS6_IT1_T2_EEEE4typeERKS9_RKSC_=Module["_orig$_ZNSt3__26chronoplIxNS_5ratioILx1ELx1EEExNS2_ILx1ELx1000000000EEEEENS_11common_typeIJNS0_8durationIT_T0_EENS6_IT1_T2_EEEE4typeERKS9_RKSC_"]=Module["asm"]["orig$_ZNSt3__26chronoplIxNS_5ratioILx1ELx1EEExNS2_ILx1ELx1000000000EEEEENS_11common_typeIJNS0_8durationIT_T0_EENS6_IT1_T2_EEEE4typeERKS9_RKSC_"]).apply(null,arguments)};var _orig$_ZNKSt3__26chrono15__duration_castINS0_8durationIxNS_5ratioILx1ELx1EEEEENS2_IxNS3_ILx1ELx1000000EEEEENS3_ILx1000000ELx1EEELb0ELb1EEclERKS5_=Module["_orig$_ZNKSt3__26chrono15__duration_castINS0_8durationIxNS_5ratioILx1ELx1EEEEENS2_IxNS3_ILx1ELx1000000EEEEENS3_ILx1000000ELx1EEELb0ELb1EEclERKS5_"]=function(){return(_orig$_ZNKSt3__26chrono15__duration_castINS0_8durationIxNS_5ratioILx1ELx1EEEEENS2_IxNS3_ILx1ELx1000000EEEEENS3_ILx1000000ELx1EEELb0ELb1EEclERKS5_=Module["_orig$_ZNKSt3__26chrono15__duration_castINS0_8durationIxNS_5ratioILx1ELx1EEEEENS2_IxNS3_ILx1ELx1000000EEEEENS3_ILx1000000ELx1EEELb0ELb1EEclERKS5_"]=Module["asm"]["orig$_ZNKSt3__26chrono15__duration_castINS0_8durationIxNS_5ratioILx1ELx1EEEEENS2_IxNS3_ILx1ELx1000000EEEEENS3_ILx1000000ELx1EEELb0ELb1EEclERKS5_"]).apply(null,arguments)};var _orig$_ZNSt3__24__fs10filesystem11__file_sizeERKNS1_4pathEPNS_10error_codeE=Module["_orig$_ZNSt3__24__fs10filesystem11__file_sizeERKNS1_4pathEPNS_10error_codeE"]=function(){return(_orig$_ZNSt3__24__fs10filesystem11__file_sizeERKNS1_4pathEPNS_10error_codeE=Module["_orig$_ZNSt3__24__fs10filesystem11__file_sizeERKNS1_4pathEPNS_10error_codeE"]=Module["asm"]["orig$_ZNSt3__24__fs10filesystem11__file_sizeERKNS1_4pathEPNS_10error_codeE"]).apply(null,arguments)};var _orig$_ZNSt3__24__fs10filesystem17__hard_link_countERKNS1_4pathEPNS_10error_codeE=Module["_orig$_ZNSt3__24__fs10filesystem17__hard_link_countERKNS1_4pathEPNS_10error_codeE"]=function(){return(_orig$_ZNSt3__24__fs10filesystem17__hard_link_countERKNS1_4pathEPNS_10error_codeE=Module["_orig$_ZNSt3__24__fs10filesystem17__hard_link_countERKNS1_4pathEPNS_10error_codeE"]=Module["asm"]["orig$_ZNSt3__24__fs10filesystem17__hard_link_countERKNS1_4pathEPNS_10error_codeE"]).apply(null,arguments)};var _orig$_ZNSt3__24__fs10filesystem17__last_write_timeERKNS1_4pathENS_6chrono10time_pointINS1_16_FilesystemClockENS5_8durationInNS_5ratioILx1ELx1000000000EEEEEEEPNS_10error_codeE=Module["_orig$_ZNSt3__24__fs10filesystem17__last_write_timeERKNS1_4pathENS_6chrono10time_pointINS1_16_FilesystemClockENS5_8durationInNS_5ratioILx1ELx1000000000EEEEEEEPNS_10error_codeE"]=function(){return(_orig$_ZNSt3__24__fs10filesystem17__last_write_timeERKNS1_4pathENS_6chrono10time_pointINS1_16_FilesystemClockENS5_8durationInNS_5ratioILx1ELx1000000000EEEEEEEPNS_10error_codeE=Module["_orig$_ZNSt3__24__fs10filesystem17__last_write_timeERKNS1_4pathENS_6chrono10time_pointINS1_16_FilesystemClockENS5_8durationInNS_5ratioILx1ELx1000000000EEEEEEEPNS_10error_codeE"]=Module["asm"]["orig$_ZNSt3__24__fs10filesystem17__last_write_timeERKNS1_4pathENS_6chrono10time_pointINS1_16_FilesystemClockENS5_8durationInNS_5ratioILx1ELx1000000000EEEEEEEPNS_10error_codeE"]).apply(null,arguments)};var _orig$_ZNSt3__24__fs10filesystem12__remove_allERKNS1_4pathEPNS_10error_codeE=Module["_orig$_ZNSt3__24__fs10filesystem12__remove_allERKNS1_4pathEPNS_10error_codeE"]=function(){return(_orig$_ZNSt3__24__fs10filesystem12__remove_allERKNS1_4pathEPNS_10error_codeE=Module["_orig$_ZNSt3__24__fs10filesystem12__remove_allERKNS1_4pathEPNS_10error_codeE"]=Module["asm"]["orig$_ZNSt3__24__fs10filesystem12__remove_allERKNS1_4pathEPNS_10error_codeE"]).apply(null,arguments)};var _orig$_ZNSt3__24__fs10filesystem13__resize_fileERKNS1_4pathEyPNS_10error_codeE=Module["_orig$_ZNSt3__24__fs10filesystem13__resize_fileERKNS1_4pathEyPNS_10error_codeE"]=function(){return(_orig$_ZNSt3__24__fs10filesystem13__resize_fileERKNS1_4pathEyPNS_10error_codeE=Module["_orig$_ZNSt3__24__fs10filesystem13__resize_fileERKNS1_4pathEyPNS_10error_codeE"]=Module["asm"]["orig$_ZNSt3__24__fs10filesystem13__resize_fileERKNS1_4pathEyPNS_10error_codeE"]).apply(null,arguments)};var _orig$fminl=Module["_orig$fminl"]=function(){return(_orig$fminl=Module["_orig$fminl"]=Module["asm"]["orig$fminl"]).apply(null,arguments)};var _py_docstring_mod=Module["_py_docstring_mod"]=3108224;var _PyExc_AttributeError=Module["_PyExc_AttributeError"]=2814656;var __Py_NoneStruct=Module["__Py_NoneStruct"]=2839812;var _PyExc_TypeError=Module["_PyExc_TypeError"]=2808416;var _internal_error=Module["_internal_error"]=3108228;var _conversion_error=Module["_conversion_error"]=3108232;var _Js_undefined=Module["_Js_undefined"]=287988;var _Js_true=Module["_Js_true"]=287992;var _Js_false=Module["_Js_false"]=287996;var _Js_null=Module["_Js_null"]=288e3;var _Js_novalue=Module["_Js_novalue"]=288004;var __Py_TrueStruct=Module["__Py_TrueStruct"]=2797424;var __Py_FalseStruct=Module["__Py_FalseStruct"]=2797440;var _PyExc_ValueError=Module["_PyExc_ValueError"]=2816112;var _PyExc_RuntimeError=Module["_PyExc_RuntimeError"]=2813616;var _PyExc_BaseException=Module["_PyExc_BaseException"]=2808e3;var _PyExc_Exception=Module["_PyExc_Exception"]=2808208;var _PyExc_StopIteration=Module["_PyExc_StopIteration"]=2808832;var _PyExc_KeyError=Module["_PyExc_KeyError"]=2815904;var _PyExc_IndexError=Module["_PyExc_IndexError"]=2815696;var _PySlice_Type=Module["_PySlice_Type"]=2844404;var _PyExc_NotImplementedError=Module["_PyExc_NotImplementedError"]=2814032;var _PyBaseObject_Type=Module["_PyBaseObject_Type"]=2845704;var __Py_NotImplementedStruct=Module["__Py_NotImplementedStruct"]=2840588;var _PyGen_Type=Module["_PyGen_Type"]=2823348;var _PyCFunction_Type=Module["_PyCFunction_Type"]=2838420;var _py_buffer_len_offset=Module["_py_buffer_len_offset"]=2796252;var _py_buffer_shape_offset=Module["_py_buffer_shape_offset"]=2796256;var _buffer_struct_size=Module["_buffer_struct_size"]=2796260;var _PySet_Type=Module["_PySet_Type"]=2843152;var _PyFloat_Type=Module["_PyFloat_Type"]=2825968;var _PyBool_Type=Module["_PyBool_Type"]=2797600;var __PyParser_TokenNames=Module["__PyParser_TokenNames"]=2796640;var _PyExc_SyntaxError=Module["_PyExc_SyntaxError"]=2814864;var __Py_EllipsisObject=Module["__Py_EllipsisObject"]=2844396;var _PyExc_SystemError=Module["_PyExc_SystemError"]=2818192;var _stdin=Module["_stdin"]=3038784;var _PyExc_IndentationError=Module["_PyExc_IndentationError"]=2815072;var _PyExc_KeyboardInterrupt=Module["_PyExc_KeyboardInterrupt"]=2809456;var _PyExc_TabError=Module["_PyExc_TabError"]=2815280;var _PyExc_LookupError=Module["_PyExc_LookupError"]=2815488;var _PyExc_UnicodeDecodeError=Module["_PyExc_UnicodeDecodeError"]=2816736;var _PyExc_UnicodeError=Module["_PyExc_UnicodeError"]=2816320;var _PyComplex_Type=Module["_PyComplex_Type"]=2803688;var __Py_ctype_table=Module["__Py_ctype_table"]=473504;var _PyExc_OverflowError=Module["_PyExc_OverflowError"]=2817776;var _PyExc_DeprecationWarning=Module["_PyExc_DeprecationWarning"]=2819440;var __PyOS_ReadlineTState=Module["__PyOS_ReadlineTState"]=3108312;var _stderr=Module["_stderr"]=3039080;var _PyOS_InputHook=Module["_PyOS_InputHook"]=3108316;var __PyRuntime=Module["__PyRuntime"]=3110624;var _PyOS_ReadlineFunctionPointer=Module["_PyOS_ReadlineFunctionPointer"]=3108320;var _PyExc_MemoryError=Module["_PyExc_MemoryError"]=2818608;var _stdout=Module["_stdout"]=3038632;var _PyExc_OSError=Module["_PyExc_OSError"]=2810080;var _PyType_Type=Module["_PyType_Type"]=2845500;var _PyExc_BufferError=Module["_PyExc_BufferError"]=2818816;var _PyUnicode_Type=Module["_PyUnicode_Type"]=2850704;var _PyLong_Type=Module["_PyLong_Type"]=2830796;var _PyByteArray_Type=Module["_PyByteArray_Type"]=2798752;var __PyByteArray_empty_string=Module["__PyByteArray_empty_string"]=3108336;var _PyTuple_Type=Module["_PyTuple_Type"]=2844872;var _PyList_Type=Module["_PyList_Type"]=2829668;var _PyDict_Type=Module["_PyDict_Type"]=2831976;var __PyUnion_Type=Module["__PyUnion_Type"]=2853352;var __Py_ctype_tolower=Module["__Py_ctype_tolower"]=474528;var __Py_ctype_toupper=Module["__Py_ctype_toupper"]=474784;var __Py_isspace__doc__=Module["__Py_isspace__doc__"]=288256;var __Py_isalpha__doc__=Module["__Py_isalpha__doc__"]=288400;var __Py_isalnum__doc__=Module["__Py_isalnum__doc__"]=288544;var __Py_isascii__doc__=Module["__Py_isascii__doc__"]=288688;var __Py_isdigit__doc__=Module["__Py_isdigit__doc__"]=288800;var __Py_islower__doc__=Module["__Py_islower__doc__"]=288928;var __Py_isupper__doc__=Module["__Py_isupper__doc__"]=289072;var __Py_istitle__doc__=Module["__Py_istitle__doc__"]=289216;var __Py_lower__doc__=Module["__Py_lower__doc__"]=289456;var __Py_upper__doc__=Module["__Py_upper__doc__"]=289552;var __Py_title__doc__=Module["__Py_title__doc__"]=289648;var __Py_capitalize__doc__=Module["__Py_capitalize__doc__"]=289808;var __Py_swapcase__doc__=Module["__Py_swapcase__doc__"]=289936;var __Py_maketrans__doc__=Module["__Py_maketrans__doc__"]=290064;var __Py_find__doc__=Module["__Py_find__doc__"]=290368;var __Py_index__doc__=Module["__Py_index__doc__"]=290608;var __Py_rfind__doc__=Module["__Py_rfind__doc__"]=290880;var __Py_rindex__doc__=Module["__Py_rindex__doc__"]=291136;var __Py_count__doc__=Module["__Py_count__doc__"]=291408;var __Py_startswith__doc__=Module["__Py_startswith__doc__"]=291616;var __Py_endswith__doc__=Module["__Py_endswith__doc__"]=291888;var _Py_hexdigits=Module["_Py_hexdigits"]=2858604;var _PyExc_BytesWarning=Module["_PyExc_BytesWarning"]=2820896;var _PyByteArrayIter_Type=Module["_PyByteArrayIter_Type"]=2799024;var _PyBytes_Type=Module["_PyBytes_Type"]=2799772;var __PyLong_DigitValue=Module["__PyLong_DigitValue"]=2831008;var _PyBytesIter_Type=Module["_PyBytesIter_Type"]=2800960;var _PyCapsule_Type=Module["_PyCapsule_Type"]=2801564;var _PyExc_ImportError=Module["_PyExc_ImportError"]=2809664;var _PyCell_Type=Module["_PyCell_Type"]=2801816;var _PyMethod_Type=Module["_PyMethod_Type"]=2802168;var _PyInstanceMethod_Type=Module["_PyInstanceMethod_Type"]=2802472;var _PyCode_Type=Module["_PyCode_Type"]=2802700;var _PyFrozenSet_Type=Module["_PyFrozenSet_Type"]=2843712;var _PyExc_ZeroDivisionError=Module["_PyExc_ZeroDivisionError"]=2817984;var __PyMethodWrapper_Type=Module["__PyMethodWrapper_Type"]=2806072;var _PyMethodDescr_Type=Module["_PyMethodDescr_Type"]=2804416;var _PyClassMethodDescr_Type=Module["_PyClassMethodDescr_Type"]=2804620;var _PyMemberDescr_Type=Module["_PyMemberDescr_Type"]=2804892;var _PyGetSetDescr_Type=Module["_PyGetSetDescr_Type"]=2805164;var _PyWrapperDescr_Type=Module["_PyWrapperDescr_Type"]=2805456;var _PyDictProxy_Type=Module["_PyDictProxy_Type"]=2805660;var _PyProperty_Type=Module["_PyProperty_Type"]=2806840;var _PyReversed_Type=Module["_PyReversed_Type"]=2807536;var _PyEnum_Type=Module["_PyEnum_Type"]=2807264;var _PyTraceBack_Type=Module["_PyTraceBack_Type"]=2865976;var _PyExc_UnicodeEncodeError=Module["_PyExc_UnicodeEncodeError"]=2816528;var _PyExc_UnicodeTranslateError=Module["_PyExc_UnicodeTranslateError"]=2816944;var _PyExc_StopAsyncIteration=Module["_PyExc_StopAsyncIteration"]=2808624;var _PyExc_GeneratorExit=Module["_PyExc_GeneratorExit"]=2809040;var _PyExc_SystemExit=Module["_PyExc_SystemExit"]=2809248;var _PyExc_ModuleNotFoundError=Module["_PyExc_ModuleNotFoundError"]=2809872;var _PyExc_EOFError=Module["_PyExc_EOFError"]=2813408;var _PyExc_RecursionError=Module["_PyExc_RecursionError"]=2813824;var _PyExc_NameError=Module["_PyExc_NameError"]=2814240;var _PyExc_UnboundLocalError=Module["_PyExc_UnboundLocalError"]=2814448;var _PyExc_AssertionError=Module["_PyExc_AssertionError"]=2817152;var _PyExc_ArithmeticError=Module["_PyExc_ArithmeticError"]=2817360;var _PyExc_FloatingPointError=Module["_PyExc_FloatingPointError"]=2817568;var _PyExc_ReferenceError=Module["_PyExc_ReferenceError"]=2818400;var _PyExc_Warning=Module["_PyExc_Warning"]=2819024;var _PyExc_UserWarning=Module["_PyExc_UserWarning"]=2819232;var _PyExc_EncodingWarning=Module["_PyExc_EncodingWarning"]=2821104;var _PyExc_PendingDeprecationWarning=Module["_PyExc_PendingDeprecationWarning"]=2819648;var _PyExc_SyntaxWarning=Module["_PyExc_SyntaxWarning"]=2819856;var _PyExc_RuntimeWarning=Module["_PyExc_RuntimeWarning"]=2820064;var _PyExc_FutureWarning=Module["_PyExc_FutureWarning"]=2820272;var _PyExc_ImportWarning=Module["_PyExc_ImportWarning"]=2820480;var _PyExc_UnicodeWarning=Module["_PyExc_UnicodeWarning"]=2820688;var _PyExc_ResourceWarning=Module["_PyExc_ResourceWarning"]=2821312;var _PyExc_ConnectionError=Module["_PyExc_ConnectionError"]=2810496;var _PyExc_BlockingIOError=Module["_PyExc_BlockingIOError"]=2810288;var _PyExc_BrokenPipeError=Module["_PyExc_BrokenPipeError"]=2810912;var _PyExc_ChildProcessError=Module["_PyExc_ChildProcessError"]=2810704;var _PyExc_ConnectionAbortedError=Module["_PyExc_ConnectionAbortedError"]=2811120;var _PyExc_ConnectionRefusedError=Module["_PyExc_ConnectionRefusedError"]=2811328;var _PyExc_ConnectionResetError=Module["_PyExc_ConnectionResetError"]=2811536;var _PyExc_FileExistsError=Module["_PyExc_FileExistsError"]=2811744;var _PyExc_FileNotFoundError=Module["_PyExc_FileNotFoundError"]=2811952;var _PyExc_IsADirectoryError=Module["_PyExc_IsADirectoryError"]=2812160;var _PyExc_NotADirectoryError=Module["_PyExc_NotADirectoryError"]=2812368;var _PyExc_InterruptedError=Module["_PyExc_InterruptedError"]=2812576;var _PyExc_PermissionError=Module["_PyExc_PermissionError"]=2812784;var _PyExc_ProcessLookupError=Module["_PyExc_ProcessLookupError"]=2812992;var _PyExc_TimeoutError=Module["_PyExc_TimeoutError"]=2813200;var _PyExc_EnvironmentError=Module["_PyExc_EnvironmentError"]=3108356;var _PyExc_IOError=Module["_PyExc_IOError"]=3108360;var _Py_GenericAliasType=Module["_Py_GenericAliasType"]=2822664;var _PyAsyncGen_Type=Module["_PyAsyncGen_Type"]=2824544;var _PyCoro_Type=Module["_PyCoro_Type"]=2823812;var __PyAsyncGenWrappedValue_Type=Module["__PyAsyncGenWrappedValue_Type"]=2825036;var __PyCoroWrapper_Type=Module["__PyCoroWrapper_Type"]=2824080;var __PyAsyncGenASend_Type=Module["__PyAsyncGenASend_Type"]=2824832;var __PyAsyncGenAThrow_Type=Module["__PyAsyncGenAThrow_Type"]=2825328;var _PyStdPrinter_Type=Module["_PyStdPrinter_Type"]=2825580;var __Py_SwappedOp=Module["__Py_SwappedOp"]=2839824;var _PyFrame_Type=Module["_PyFrame_Type"]=2827012;var _PyModule_Type=Module["_PyModule_Type"]=2839044;var _PyFunction_Type=Module["_PyFunction_Type"]=2827520;var _PyClassMethod_Type=Module["_PyClassMethod_Type"]=2827852;var _PyStaticMethod_Type=Module["_PyStaticMethod_Type"]=2828188;var __PyInterpreterID_Type=Module["__PyInterpreterID_Type"]=2828644;var _PySeqIter_Type=Module["_PySeqIter_Type"]=2828928;var _PyCallIter_Type=Module["_PyCallIter_Type"]=2829168;var __PyAnextAwaitable_Type=Module["__PyAnextAwaitable_Type"]=2829440;var _PyListIter_Type=Module["_PyListIter_Type"]=2830256;var _PyListRevIter_Type=Module["_PyListRevIter_Type"]=2830528;var _PyDictIterKey_Type=Module["_PyDictIterKey_Type"]=2832704;var _PyDictRevIterKey_Type=Module["_PyDictRevIterKey_Type"]=2833316;var _PyDictRevIterValue_Type=Module["_PyDictRevIterValue_Type"]=2833724;var _PyDictKeys_Type=Module["_PyDictKeys_Type"]=2833928;var _PyDictItems_Type=Module["_PyDictItems_Type"]=2834132;var _PyDictIterItem_Type=Module["_PyDictIterItem_Type"]=2833112;var _PyDictIterValue_Type=Module["_PyDictIterValue_Type"]=2832908;var _PyDictValues_Type=Module["_PyDictValues_Type"]=2834784;var _PyDictRevIterItem_Type=Module["_PyDictRevIterItem_Type"]=2833520;var _PyODict_Type=Module["_PyODict_Type"]=2835512;var _PyODictIter_Type=Module["_PyODictIter_Type"]=2835760;var _PyODictKeys_Type=Module["_PyODictKeys_Type"]=2836e3;var _PyODictValues_Type=Module["_PyODictValues_Type"]=2836480;var _PyODictItems_Type=Module["_PyODictItems_Type"]=2836240;var __PyManagedBuffer_Type=Module["__PyManagedBuffer_Type"]=2836952;var _PyMemoryView_Type=Module["_PyMemoryView_Type"]=2837156;var _PyCMethod_Type=Module["_PyCMethod_Type"]=2838216;var _PyModuleDef_Type=Module["_PyModuleDef_Type"]=2838840;var __Py_PackageContext=Module["__Py_PackageContext"]=3110388;var __PyNamespace_Type=Module["__PyNamespace_Type"]=2839576;var __Py_tracemalloc_config=Module["__Py_tracemalloc_config"]=2840656;var _PyEllipsis_Type=Module["_PyEllipsis_Type"]=2844192;var _PyLongRangeIter_Type=Module["_PyLongRangeIter_Type"]=2842128;var _PyPickleBuffer_Type=Module["_PyPickleBuffer_Type"]=2841008;var _PyRangeIter_Type=Module["_PyRangeIter_Type"]=2841856;var _PyRange_Type=Module["_PyRange_Type"]=2841584;var _PySTEntry_Type=Module["_PySTEntry_Type"]=2863092;var _PySetIter_Type=Module["_PySetIter_Type"]=2842400;var _PySuper_Type=Module["_PySuper_Type"]=2849440;var _PyTupleIter_Type=Module["_PyTupleIter_Type"]=2845280;var _PyUnicodeIter_Type=Module["_PyUnicodeIter_Type"]=2852608;var __PyNone_Type=Module["__PyNone_Type"]=284e4;var __PyNotImplemented_Type=Module["__PyNotImplemented_Type"]=2840384;var __PyWeakref_CallableProxyType=Module["__PyWeakref_CallableProxyType"]=2854524;var __PyWeakref_ProxyType=Module["__PyWeakref_ProxyType"]=2854320;var __PyWeakref_RefType=Module["__PyWeakref_RefType"]=2853864;var __Py_abstract_hack=Module["__Py_abstract_hack"]=2840596;var __PySet_Dummy=Module["__PySet_Dummy"]=2843924;var _PyStructSequence_UnnamedField=Module["_PyStructSequence_UnnamedField"]=2844756;var __Py_ascii_whitespace=Module["__Py_ascii_whitespace"]=334080;var __PyUnicode_TypeRecords=Module["__PyUnicode_TypeRecords"]=346880;var __PyUnicode_ExtendedCase=Module["__PyUnicode_ExtendedCase"]=354928;var _PyFilter_Type=Module["_PyFilter_Type"]=2856544;var _PyMap_Type=Module["_PyMap_Type"]=2856784;var _PyZip_Type=Module["_PyZip_Type"]=2857040;var _Py_EMSCRIPTEN_SIGNAL_HANDLING=Module["_Py_EMSCRIPTEN_SIGNAL_HANDLING"]=3127864;var _PyContext_Type=Module["_PyContext_Type"]=2858808;var _PyContextVar_Type=Module["_PyContextVar_Type"]=2859012;var _PyContextToken_Type=Module["_PyContextToken_Type"]=2859216;var _PyContextTokenMissing_Type=Module["_PyContextTokenMissing_Type"]=2859804;var _Py_IgnoreEnvironmentFlag=Module["_Py_IgnoreEnvironmentFlag"]=3110348;var _Py_VerboseFlag=Module["_Py_VerboseFlag"]=3110316;var __PyHamt_Type=Module["__PyHamt_Type"]=2860992;var __PyHamt_BitmapNode_Type=Module["__PyHamt_BitmapNode_Type"]=2861400;var __PyHamt_ArrayNode_Type=Module["__PyHamt_ArrayNode_Type"]=2861196;var __PyHamt_CollisionNode_Type=Module["__PyHamt_CollisionNode_Type"]=2861604;var __PyHamtItems_Type=Module["__PyHamtItems_Type"]=2860212;var __PyHamtKeys_Type=Module["__PyHamtKeys_Type"]=2860416;var __PyHamtValues_Type=Module["__PyHamtValues_Type"]=2860620;var __PyImport_Inittab=Module["__PyImport_Inittab"]=2866432;var _PyImport_Inittab=Module["_PyImport_Inittab"]=2861808;var __PySys_ImplCacheTag=Module["__PySys_ImplCacheTag"]=2863316;var _PyImport_FrozenModules=Module["_PyImport_FrozenModules"]=3011108;var __PyImport_DynLoadFiletab=Module["__PyImport_DynLoadFiletab"]=2866416;var _Py_IsolatedFlag=Module["_Py_IsolatedFlag"]=3110368;var _Py_BytesWarningFlag=Module["_Py_BytesWarningFlag"]=3110340;var _Py_InspectFlag=Module["_Py_InspectFlag"]=3110328;var _Py_InteractiveFlag=Module["_Py_InteractiveFlag"]=3110324;var _Py_OptimizeFlag=Module["_Py_OptimizeFlag"]=3110332;var _Py_DebugFlag=Module["_Py_DebugFlag"]=3110312;var _Py_QuietFlag=Module["_Py_QuietFlag"]=3110320;var _Py_FrozenFlag=Module["_Py_FrozenFlag"]=3110344;var _Py_UnbufferedStdioFlag=Module["_Py_UnbufferedStdioFlag"]=3110360;var _Py_NoSiteFlag=Module["_Py_NoSiteFlag"]=3110336;var _Py_DontWriteBytecodeFlag=Module["_Py_DontWriteBytecodeFlag"]=3110352;var _Py_NoUserSiteDirectory=Module["_Py_NoUserSiteDirectory"]=3110356;var _Py_HashRandomizationFlag=Module["_Py_HashRandomizationFlag"]=3110364;var __Py_path_config=Module["__Py_path_config"]=3110392;var __PyOS_optarg=Module["__PyOS_optarg"]=3112232;var __PyOS_optind=Module["__PyOS_optind"]=2866276;var _Py_FileSystemDefaultEncoding=Module["_Py_FileSystemDefaultEncoding"]=3110416;var _Py_HasFileSystemDefaultEncoding=Module["_Py_HasFileSystemDefaultEncoding"]=3110420;var _Py_FileSystemDefaultEncodeErrors=Module["_Py_FileSystemDefaultEncodeErrors"]=3110424;var __Py_HasFileSystemDefaultEncodeErrors=Module["__Py_HasFileSystemDefaultEncodeErrors"]=3110428;var _Py_UTF8Mode=Module["_Py_UTF8Mode"]=3110308;var __PyOS_opterr=Module["__PyOS_opterr"]=2866272;var _PyFPE_jbuf=Module["_PyFPE_jbuf"]=3110432;var _PyFPE_counter=Module["_PyFPE_counter"]=3110588;var __Py_HashSecret=Module["__Py_HashSecret"]=3110592;var __Py_UnhandledKeyboardInterrupt=Module["__Py_UnhandledKeyboardInterrupt"]=3110616;var __PyOS_mystrnicmp_hack=Module["__PyOS_mystrnicmp_hack"]=2862528;var __PySys_ImplName=Module["__PySys_ImplName"]=2863312;var __Py_open_cloexec_works=Module["__Py_open_cloexec_works"]=2866340;var _Dialect_Type_spec=Module["_Dialect_Type_spec"]=2879160;var _Reader_Type_spec=Module["_Reader_Type_spec"]=2879256;var _Writer_Type_spec=Module["_Writer_Type_spec"]=2879336;var _error_spec=Module["_error_spec"]=2879356;var _PyCStgDict_Type=Module["_PyCStgDict_Type"]=2886464;var _ffi_type_pointer=Module["_ffi_type_pointer"]=2485288;var _PyCSimpleType_Type=Module["_PyCSimpleType_Type"]=2881232;var _PyCData_Type=Module["_PyCData_Type"]=2881792;var _PyCPointerType_Type=Module["_PyCPointerType_Type"]=2880720;var _PyCArray_Type=Module["_PyCArray_Type"]=2882720;var _PyCArrayType_Type=Module["_PyCArrayType_Type"]=2880924;var __ctypes_ptrtype_cache=Module["__ctypes_ptrtype_cache"]=3126564;var _PyExc_ArgError=Module["_PyExc_ArgError"]=3126560;var _PyCArg_Type=Module["_PyCArg_Type"]=2884976;var _PyCThunk_Type=Module["_PyCThunk_Type"]=2884772;var _PyCStructType_Type=Module["_PyCStructType_Type"]=2880400;var _PyCFuncPtrType_Type=Module["_PyCFuncPtrType_Type"]=2881436;var _PyCPointer_Type=Module["_PyCPointer_Type"]=2883160;var _PyCFuncPtr_Type=Module["_PyCFuncPtr_Type"]=2882432;var _PyCField_Type=Module["_PyCField_Type"]=2885576;var __ctypes_module_methods=Module["__ctypes_module_methods"]=2885232;var _ffi_type_void=Module["_ffi_type_void"]=2485180;var _ffi_type_sint32=Module["_ffi_type_sint32"]=2485252;var _ffi_type_sint8=Module["_ffi_type_sint8"]=2485204;var _ffi_type_uint8=Module["_ffi_type_uint8"]=2485192;var _ffi_type_double=Module["_ffi_type_double"]=2485312;var _ffi_type_longdouble=Module["_ffi_type_longdouble"]=2485324;var _ffi_type_float=Module["_ffi_type_float"]=2485300;var _ffi_type_sint16=Module["_ffi_type_sint16"]=2485228;var _ffi_type_uint16=Module["_ffi_type_uint16"]=2485216;var _ffi_type_uint32=Module["_ffi_type_uint32"]=2485240;var _ffi_type_sint64=Module["_ffi_type_sint64"]=2485276;var _ffi_type_uint64=Module["_ffi_type_uint64"]=2485264;var __PyUnicode_Database_Records=Module["__PyUnicode_Database_Records"]=534304;var __PyUnicode_CategoryNames=Module["__PyUnicode_CategoryNames"]=2886704;var __PyUnicode_BidirectionalNames=Module["__PyUnicode_BidirectionalNames"]=2886832;var __PyUnicode_EastAsianWidthNames=Module["__PyUnicode_EastAsianWidthNames"]=2886944;var _blake2b_type_spec=Module["_blake2b_type_spec"]=2905744;var _blake2s_type_spec=Module["_blake2s_type_spec"]=2906080;var _pysqlite_NodeType=Module["_pysqlite_NodeType"]=3126880;var _pysqlite_CacheType=Module["_pysqlite_CacheType"]=3126884;var _pysqlite_ProgrammingError=Module["_pysqlite_ProgrammingError"]=3126924;var _pysqlite_ConnectionType=Module["_pysqlite_ConnectionType"]=3126888;var _pysqlite_Warning=Module["_pysqlite_Warning"]=3126904;var _pysqlite_Error=Module["_pysqlite_Error"]=3126900;var _pysqlite_InterfaceError=Module["_pysqlite_InterfaceError"]=3126908;var _pysqlite_DatabaseError=Module["_pysqlite_DatabaseError"]=3126912;var _pysqlite_DataError=Module["_pysqlite_DataError"]=3126932;var _pysqlite_OperationalError=Module["_pysqlite_OperationalError"]=3126920;var _pysqlite_IntegrityError=Module["_pysqlite_IntegrityError"]=3126928;var _pysqlite_InternalError=Module["_pysqlite_InternalError"]=3126916;var _pysqlite_NotSupportedError=Module["_pysqlite_NotSupportedError"]=3126936;var _pysqlite_CursorType=Module["_pysqlite_CursorType"]=3126892;var __pysqlite_enable_callback_tracebacks=Module["__pysqlite_enable_callback_tracebacks"]=3126944;var __pysqlite_converters=Module["__pysqlite_converters"]=3126940;var _pysqlite_PrepareProtocolType=Module["_pysqlite_PrepareProtocolType"]=3126952;var _pysqlite_RowType=Module["_pysqlite_RowType"]=3126956;var _pysqlite_BaseTypeAdapted=Module["_pysqlite_BaseTypeAdapted"]=3126948;var _pysqlite_StatementType=Module["_pysqlite_StatementType"]=3126960;var _mpd_mallocfunc=Module["_mpd_mallocfunc"]=2974464;var _mpd_reallocfunc=Module["_mpd_reallocfunc"]=2974468;var _mpd_callocfunc=Module["_mpd_callocfunc"]=2974472;var _mpd_free=Module["_mpd_free"]=2974476;var _mpd_traphandler=Module["_mpd_traphandler"]=2974332;var _mpd_round_string=Module["_mpd_round_string"]=2974288;var _mpd_pow10=Module["_mpd_pow10"]=2279776;var _mpd_moduli=Module["_mpd_moduli"]=2279548;var _mpd_roots=Module["_mpd_roots"]=2279560;var _mpd_invmoduli=Module["_mpd_invmoduli"]=2279584;var _MPD_TWO63=Module["_MPD_TWO63"]=2279620;var _INV_P1_MOD_P2=Module["_INV_P1_MOD_P2"]=2279624;var _INV_P1P2_MOD_P3=Module["_INV_P1P2_MOD_P3"]=2279628;var _LH_P1P2=Module["_LH_P1P2"]=2279632;var _UH_P1P2=Module["_UH_P1P2"]=2279636;var _mpd_bits=Module["_mpd_bits"]=2279648;var _mpd_clamp_string=Module["_mpd_clamp_string"]=2974324;var _MPD_MINALLOC=Module["_MPD_MINALLOC"]=2974460;var _environ=Module["_environ"]=3134020;var __PyIO_Module=Module["__PyIO_Module"]=3001248;var _PyIOBase_Type=Module["_PyIOBase_Type"]=3001596;var _PyRawIOBase_Type=Module["_PyRawIOBase_Type"]=3001800;var _PyBufferedIOBase_Type=Module["_PyBufferedIOBase_Type"]=3004128;var _PyTextIOBase_Type=Module["_PyTextIOBase_Type"]=3007120;var _PyFileIO_Type=Module["_PyFileIO_Type"]=3002864;var _PyBytesIO_Type=Module["_PyBytesIO_Type"]=3003544;var __PyBytesIOBuffer_Type=Module["__PyBytesIOBuffer_Type"]=3003756;var _PyStringIO_Type=Module["_PyStringIO_Type"]=3009152;var _PyBufferedReader_Type=Module["_PyBufferedReader_Type"]=3004784;var _PyBufferedWriter_Type=Module["_PyBufferedWriter_Type"]=3005360;var _PyBufferedRWPair_Type=Module["_PyBufferedRWPair_Type"]=3005800;var _PyBufferedRandom_Type=Module["_PyBufferedRandom_Type"]=3006496;var _PyTextIOWrapper_Type=Module["_PyTextIOWrapper_Type"]=3008168;var _PyIncrementalNewlineDecoder_Type=Module["_PyIncrementalNewlineDecoder_Type"]=3007448;var __PyIO_str_close=Module["__PyIO_str_close"]=3128500;var __PyIO_str_closed=Module["__PyIO_str_closed"]=3128504;var __PyIO_str_decode=Module["__PyIO_str_decode"]=3128508;var __PyIO_str_encode=Module["__PyIO_str_encode"]=3128512;var __PyIO_str_fileno=Module["__PyIO_str_fileno"]=3128516;var __PyIO_str_flush=Module["__PyIO_str_flush"]=3128520;var __PyIO_str_getstate=Module["__PyIO_str_getstate"]=3128524;var __PyIO_str_isatty=Module["__PyIO_str_isatty"]=3128528;var __PyIO_str_locale=Module["__PyIO_str_locale"]=3128532;var __PyIO_str_newlines=Module["__PyIO_str_newlines"]=3128536;var __PyIO_str_peek=Module["__PyIO_str_peek"]=3128544;var __PyIO_str_read=Module["__PyIO_str_read"]=3128548;var __PyIO_str_read1=Module["__PyIO_str_read1"]=3128552;var __PyIO_str_readable=Module["__PyIO_str_readable"]=3128556;var __PyIO_str_readall=Module["__PyIO_str_readall"]=3128560;var __PyIO_str_readinto=Module["__PyIO_str_readinto"]=3128564;var __PyIO_str_readline=Module["__PyIO_str_readline"]=3128568;var __PyIO_str_reset=Module["__PyIO_str_reset"]=3128572;var __PyIO_str_seek=Module["__PyIO_str_seek"]=3128576;var __PyIO_str_seekable=Module["__PyIO_str_seekable"]=3128580;var __PyIO_str_setstate=Module["__PyIO_str_setstate"]=3128584;var __PyIO_str_tell=Module["__PyIO_str_tell"]=3128588;var __PyIO_str_truncate=Module["__PyIO_str_truncate"]=3128592;var __PyIO_str_write=Module["__PyIO_str_write"]=3128600;var __PyIO_str_writable=Module["__PyIO_str_writable"]=3128596;var __PyIO_str_nl=Module["__PyIO_str_nl"]=3128540;var __PyIO_empty_str=Module["__PyIO_empty_str"]=3128604;var __PyIO_empty_bytes=Module["__PyIO_empty_bytes"]=3128608;var __Py_M__importlib_bootstrap=Module["__Py_M__importlib_bootstrap"]=2393776;var __Py_M__importlib_bootstrap_external=Module["__Py_M__importlib_bootstrap_external"]=2423888;var __Py_M__zipimport=Module["__Py_M__zipimport"]=2468080;var __Py_M__hello=Module["__Py_M__hello"]=2485040;var _sqlite3_version=Module["_sqlite3_version"]=2485336;var _sqlite3_data_directory=Module["_sqlite3_data_directory"]=3129188;var _sqlite3_temp_directory=Module["_sqlite3_temp_directory"]=3129184;var _sqlite3one=Module["_sqlite3one"]=2485344;var _sqlite3_fts3_may_be_corrupt=Module["_sqlite3_fts3_may_be_corrupt"]=3011792;var _sqlite3_fts5_may_be_corrupt=Module["_sqlite3_fts5_may_be_corrupt"]=3011796;var _BZ2_crc32Table=Module["_BZ2_crc32Table"]=3021680;var _BZ2_rNums=Module["_BZ2_rNums"]=3022704;var ___THREW__=Module["___THREW__"]=3138196;var ___threwValue=Module["___threwValue"]=3138200;var _png_sRGB_table=Module["_png_sRGB_table"]=2513632;var _png_sRGB_base=Module["_png_sRGB_base"]=2514144;var _png_sRGB_delta=Module["_png_sRGB_delta"]=2515168;var _z_errmsg=Module["_z_errmsg"]=3025056;var __length_code=Module["__length_code"]=2530800;var __dist_code=Module["__dist_code"]=2530288;var _deflate_copyright=Module["_deflate_copyright"]=2525456;var _inflate_copyright=Module["_inflate_copyright"]=2529984;var _af_script_classes=Module["_af_script_classes"]=3025680;var _af_blue_stringsets=Module["_af_blue_stringsets"]=2533728;var _af_blue_strings=Module["_af_blue_strings"]=2532960;var _af_style_classes=Module["_af_style_classes"]=3025776;var _af_writing_system_classes=Module["_af_writing_system_classes"]=3025648;var _af_arab_dflt_style_class=Module["_af_arab_dflt_style_class"]=2534104;var _af_arab_script_class=Module["_af_arab_script_class"]=3025096;var _af_arab_uniranges=Module["_af_arab_uniranges"]=2535088;var _af_cyrl_script_class=Module["_af_cyrl_script_class"]=3025116;var _af_cyrl_uniranges=Module["_af_cyrl_uniranges"]=2535152;var _af_deva_script_class=Module["_af_deva_script_class"]=3025136;var _af_deva_uniranges=Module["_af_deva_uniranges"]=2535200;var _af_grek_script_class=Module["_af_grek_script_class"]=3025156;var _af_grek_uniranges=Module["_af_grek_uniranges"]=2535248;var _af_hebr_script_class=Module["_af_hebr_script_class"]=3025176;var _af_hebr_uniranges=Module["_af_hebr_uniranges"]=2535280;var _af_latn_script_class=Module["_af_latn_script_class"]=3025196;var _af_latn_uniranges=Module["_af_latn_uniranges"]=2535312;var _af_none_script_class=Module["_af_none_script_class"]=3025216;var _af_none_uniranges=Module["_af_none_uniranges"]=2535504;var _af_telu_script_class=Module["_af_telu_script_class"]=3025236;var _af_telu_uniranges=Module["_af_telu_uniranges"]=2535520;var _af_thai_script_class=Module["_af_thai_script_class"]=3025256;var _af_thai_uniranges=Module["_af_thai_uniranges"]=2535536;var _af_beng_script_class=Module["_af_beng_script_class"]=3025276;var _af_beng_uniranges=Module["_af_beng_uniranges"]=2535552;var _af_gujr_script_class=Module["_af_gujr_script_class"]=3025296;var _af_gujr_uniranges=Module["_af_gujr_uniranges"]=2535568;var _af_guru_script_class=Module["_af_guru_script_class"]=3025316;var _af_guru_uniranges=Module["_af_guru_uniranges"]=2535584;var _af_knda_script_class=Module["_af_knda_script_class"]=3025336;var _af_knda_uniranges=Module["_af_knda_uniranges"]=2535600;var _af_limb_script_class=Module["_af_limb_script_class"]=3025356;var _af_limb_uniranges=Module["_af_limb_uniranges"]=2535616;var _af_mlym_script_class=Module["_af_mlym_script_class"]=3025376;var _af_mlym_uniranges=Module["_af_mlym_uniranges"]=2535632;var _af_orya_script_class=Module["_af_orya_script_class"]=3025396;var _af_orya_uniranges=Module["_af_orya_uniranges"]=2535648;var _af_sinh_script_class=Module["_af_sinh_script_class"]=3025416;var _af_sinh_uniranges=Module["_af_sinh_uniranges"]=2535664;var _af_sund_script_class=Module["_af_sund_script_class"]=3025436;var _af_sund_uniranges=Module["_af_sund_uniranges"]=2535680;var _af_sylo_script_class=Module["_af_sylo_script_class"]=3025456;var _af_sylo_uniranges=Module["_af_sylo_uniranges"]=2535696;var _af_taml_script_class=Module["_af_taml_script_class"]=3025476;var _af_taml_uniranges=Module["_af_taml_uniranges"]=2535712;var _af_tibt_script_class=Module["_af_tibt_script_class"]=3025496;var _af_tibt_uniranges=Module["_af_tibt_uniranges"]=2535728;var _af_hani_script_class=Module["_af_hani_script_class"]=3025516;var _af_hani_uniranges=Module["_af_hani_uniranges"]=2535744;var _af_cyrl_c2cp_style_class=Module["_af_cyrl_c2cp_style_class"]=2534124;var _af_cyrl_c2sc_style_class=Module["_af_cyrl_c2sc_style_class"]=2534144;var _af_cyrl_ordn_style_class=Module["_af_cyrl_ordn_style_class"]=2534164;var _af_cyrl_pcap_style_class=Module["_af_cyrl_pcap_style_class"]=2534184;var _af_cyrl_sinf_style_class=Module["_af_cyrl_sinf_style_class"]=2534204;var _af_cyrl_smcp_style_class=Module["_af_cyrl_smcp_style_class"]=2534224;var _af_cyrl_subs_style_class=Module["_af_cyrl_subs_style_class"]=2534244;var _af_cyrl_sups_style_class=Module["_af_cyrl_sups_style_class"]=2534264;var _af_cyrl_titl_style_class=Module["_af_cyrl_titl_style_class"]=2534284;var _af_cyrl_dflt_style_class=Module["_af_cyrl_dflt_style_class"]=2534304;var _af_grek_c2cp_style_class=Module["_af_grek_c2cp_style_class"]=2534324;var _af_grek_c2sc_style_class=Module["_af_grek_c2sc_style_class"]=2534344;var _af_grek_ordn_style_class=Module["_af_grek_ordn_style_class"]=2534364;var _af_grek_pcap_style_class=Module["_af_grek_pcap_style_class"]=2534384;var _af_grek_sinf_style_class=Module["_af_grek_sinf_style_class"]=2534404;var _af_grek_smcp_style_class=Module["_af_grek_smcp_style_class"]=2534424;var _af_grek_subs_style_class=Module["_af_grek_subs_style_class"]=2534444;var _af_grek_sups_style_class=Module["_af_grek_sups_style_class"]=2534464;var _af_grek_titl_style_class=Module["_af_grek_titl_style_class"]=2534484;var _af_grek_dflt_style_class=Module["_af_grek_dflt_style_class"]=2534504;var _af_hebr_dflt_style_class=Module["_af_hebr_dflt_style_class"]=2534524;var _af_latn_c2cp_style_class=Module["_af_latn_c2cp_style_class"]=2534544;var _af_latn_c2sc_style_class=Module["_af_latn_c2sc_style_class"]=2534564;var _af_latn_ordn_style_class=Module["_af_latn_ordn_style_class"]=2534584;var _af_latn_pcap_style_class=Module["_af_latn_pcap_style_class"]=2534604;var _af_latn_sinf_style_class=Module["_af_latn_sinf_style_class"]=2534624;var _af_latn_smcp_style_class=Module["_af_latn_smcp_style_class"]=2534644;var _af_latn_subs_style_class=Module["_af_latn_subs_style_class"]=2534664;var _af_latn_sups_style_class=Module["_af_latn_sups_style_class"]=2534684;var _af_latn_titl_style_class=Module["_af_latn_titl_style_class"]=2534704;var _af_latn_dflt_style_class=Module["_af_latn_dflt_style_class"]=2534724;var _af_deva_dflt_style_class=Module["_af_deva_dflt_style_class"]=2534744;var _af_none_dflt_style_class=Module["_af_none_dflt_style_class"]=2534764;var _af_telu_dflt_style_class=Module["_af_telu_dflt_style_class"]=2534784;var _af_thai_dflt_style_class=Module["_af_thai_dflt_style_class"]=2534804;var _af_beng_dflt_style_class=Module["_af_beng_dflt_style_class"]=2534824;var _af_gujr_dflt_style_class=Module["_af_gujr_dflt_style_class"]=2534844;var _af_guru_dflt_style_class=Module["_af_guru_dflt_style_class"]=2534864;var _af_knda_dflt_style_class=Module["_af_knda_dflt_style_class"]=2534884;var _af_limb_dflt_style_class=Module["_af_limb_dflt_style_class"]=2534904;var _af_mlym_dflt_style_class=Module["_af_mlym_dflt_style_class"]=2534924;var _af_orya_dflt_style_class=Module["_af_orya_dflt_style_class"]=2534944;var _af_sinh_dflt_style_class=Module["_af_sinh_dflt_style_class"]=2534964;var _af_sund_dflt_style_class=Module["_af_sund_dflt_style_class"]=2534984;var _af_sylo_dflt_style_class=Module["_af_sylo_dflt_style_class"]=2535004;var _af_taml_dflt_style_class=Module["_af_taml_dflt_style_class"]=2535024;var _af_tibt_dflt_style_class=Module["_af_tibt_dflt_style_class"]=2535044;var _af_hani_dflt_style_class=Module["_af_hani_dflt_style_class"]=2535064;var _af_dummy_writing_system_class=Module["_af_dummy_writing_system_class"]=3025536;var _af_latin_writing_system_class=Module["_af_latin_writing_system_class"]=3025564;var _af_cjk_writing_system_class=Module["_af_cjk_writing_system_class"]=3025592;var _af_indic_writing_system_class=Module["_af_indic_writing_system_class"]=3025620;var _af_autofitter_interface=Module["_af_autofitter_interface"]=3025976;var _autofit_module_class=Module["_autofit_module_class"]=3025992;var _ft_bitmap_glyph_class=Module["_ft_bitmap_glyph_class"]=3026080;var _ft_outline_glyph_class=Module["_ft_outline_glyph_class"]=3026112;var _tt_driver_class=Module["_tt_driver_class"]=3033956;var _t1_driver_class=Module["_t1_driver_class"]=3034176;var _cff_driver_class=Module["_cff_driver_class"]=3027924;var _t1cid_driver_class=Module["_t1cid_driver_class"]=3029696;var _pfr_driver_class=Module["_pfr_driver_class"]=3031920;var _t42_driver_class=Module["_t42_driver_class"]=3036076;var _winfnt_driver_class=Module["_winfnt_driver_class"]=3036976;var _pcf_driver_class=Module["_pcf_driver_class"]=3031708;var _psaux_module_class=Module["_psaux_module_class"]=3032380;var _psnames_module_class=Module["_psnames_module_class"]=3032792;var _pshinter_module_class=Module["_pshinter_module_class"]=3032724;var _ft_raster1_renderer_class=Module["_ft_raster1_renderer_class"]=3032872;var _sfnt_module_class=Module["_sfnt_module_class"]=3033516;var _ft_smooth_renderer_class=Module["_ft_smooth_renderer_class"]=3033752;var _ft_smooth_lcd_renderer_class=Module["_ft_smooth_lcd_renderer_class"]=3033812;var _ft_smooth_lcdv_renderer_class=Module["_ft_smooth_lcdv_renderer_class"]=3033872;var _bdf_driver_class=Module["_bdf_driver_class"]=3026216;var _cff_cmap_unicode_class_rec=Module["_cff_cmap_unicode_class_rec"]=3028060;var _cff_cmap_encoding_class_rec=Module["_cff_cmap_encoding_class_rec"]=3028020;var _pfr_cmap_class_rec=Module["_pfr_cmap_class_rec"]=3031880;var _ps_table_funcs=Module["_ps_table_funcs"]=3032052;var _ps_parser_funcs=Module["_ps_parser_funcs"]=3032068;var _t1_builder_funcs=Module["_t1_builder_funcs"]=3032120;var _t1_decoder_funcs=Module["_t1_decoder_funcs"]=3032152;var _afm_parser_funcs=Module["_afm_parser_funcs"]=3032164;var _t1_cmap_standard_class_rec=Module["_t1_cmap_standard_class_rec"]=3032176;var _t1_cmap_expert_class_rec=Module["_t1_cmap_expert_class_rec"]=3032216;var _t1_cmap_custom_class_rec=Module["_t1_cmap_custom_class_rec"]=3032256;var _t1_cmap_unicode_class_rec=Module["_t1_cmap_unicode_class_rec"]=3032296;var _t1_cmap_classes=Module["_t1_cmap_classes"]=3032336;var _ft_standard_raster=Module["_ft_standard_raster"]=3032848;var _tt_cmap0_class_rec=Module["_tt_cmap0_class_rec"]=3032932;var _tt_cmap2_class_rec=Module["_tt_cmap2_class_rec"]=3032984;var _tt_cmap4_class_rec=Module["_tt_cmap4_class_rec"]=3033036;var _tt_cmap6_class_rec=Module["_tt_cmap6_class_rec"]=3033088;var _tt_cmap8_class_rec=Module["_tt_cmap8_class_rec"]=3033140;var _tt_cmap10_class_rec=Module["_tt_cmap10_class_rec"]=3033192;var _tt_cmap12_class_rec=Module["_tt_cmap12_class_rec"]=3033244;var _tt_cmap13_class_rec=Module["_tt_cmap13_class_rec"]=3033296;var _tt_cmap14_class_rec=Module["_tt_cmap14_class_rec"]=3033348;var _ft_grays_raster=Module["_ft_grays_raster"]=3033728;var _tt_default_graphics_state=Module["_tt_default_graphics_state"]=2607544;var ___libc=Module["___libc"]=3132696;var ___stdin_used=Module["___stdin_used"]=3038788;var ___stdout_used=Module["___stdout_used"]=3038636;var ___stderr_used=Module["___stderr_used"]=3039084;var ___c_locale=Module["___c_locale"]=2736516;var ___c_dot_utf8_locale=Module["___c_dot_utf8_locale"]=3039172;var ___c_dot_utf8=Module["___c_dot_utf8"]=3039144;var ___pio2_hi=Module["___pio2_hi"]=2745976;var ___pio2_lo=Module["___pio2_lo"]=2745992;var ___signgam=Module["___signgam"]=3132368;var _atanlo=Module["_atanlo"]=2743216;var _atanhi=Module["_atanhi"]=2743152;var _aT=Module["_aT"]=2743280;var _signgam=Module["_signgam"]=3132368;var ___progname=Module["___progname"]=3132688;var ___progname_full=Module["___progname_full"]=3132692;var ___hwcap=Module["___hwcap"]=3132760;var ___sysinfo=Module["___sysinfo"]=3132764;var _program_invocation_short_name=Module["_program_invocation_short_name"]=3132688;var _program_invocation_name=Module["_program_invocation_name"]=3132692;var ___optreset=Module["___optreset"]=3132804;var _optind=Module["_optind"]=3039196;var ___optpos=Module["___optpos"]=3132808;var _optarg=Module["_optarg"]=3132812;var _optopt=Module["_optopt"]=3132816;var _opterr=Module["_opterr"]=3039200;var _optreset=Module["_optreset"]=3132804;var ___environ=Module["___environ"]=3134020;var ___fsmu8=Module["___fsmu8"]=2762800;var ___seed48=Module["___seed48"]=3039408;var __ns_flagdata=Module["__ns_flagdata"]=2776896;var _h_errno=Module["_h_errno"]=3133888;var ____environ=Module["____environ"]=3134020;var __environ=Module["__environ"]=3134020;var ___env_map=Module["___env_map"]=3134028;var _tzname=Module["_tzname"]=3134032;var _daylight=Module["_daylight"]=3134040;var _timezone=Module["_timezone"]=3134044;var ___data_end=Module["___data_end"]=3161872;var ___dso_handle=Module["___dso_handle"]=1024;var ___cxa_unexpected_handler=Module["___cxa_unexpected_handler"]=3049008;var ___cxa_terminate_handler=Module["___cxa_terminate_handler"]=3049004;var ___cxa_new_handler=Module["___cxa_new_handler"]=3160844;var _in6addr_any=Module["_in6addr_any"]=2794700;var _in6addr_loopback=Module["_in6addr_loopback"]=2794716;var ___start_em_js=Module["___start_em_js"]=3055348;var ___stop_em_js=Module["___stop_em_js"]=3107191;function invoke_viiii(index,a1,a2,a3,a4){var sp=stackSave();try{wasmTable.get(index)(a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iii(index,a1,a2){var sp=stackSave();try{return wasmTable.get(index)(a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_vii(index,a1,a2){var sp=stackSave();try{wasmTable.get(index)(a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_ii(index,a1){var sp=stackSave();try{return wasmTable.get(index)(a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_vi(index,a1){var sp=stackSave();try{wasmTable.get(index)(a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return wasmTable.get(index)(a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiii(index,a1,a2,a3){var sp=stackSave();try{return wasmTable.get(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_v(index){var sp=stackSave();try{wasmTable.get(index)()}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viii(index,a1,a2,a3){var sp=stackSave();try{wasmTable.get(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return wasmTable.get(index)(a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{return wasmTable.get(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12){var sp=stackSave();try{return wasmTable.get(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_fiii(index,a1,a2,a3){var sp=stackSave();try{return wasmTable.get(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_diii(index,a1,a2,a3){var sp=stackSave();try{return wasmTable.get(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_i(index){var sp=stackSave();try{return wasmTable.get(index)()}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{wasmTable.get(index)(a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return wasmTable.get(index)(a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{return wasmTable.get(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{wasmTable.get(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15){var sp=stackSave();try{wasmTable.get(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return wasmTable.get(index)(a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{wasmTable.get(index)(a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiiiid(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return wasmTable.get(index)(a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viif(index,a1,a2,a3){var sp=stackSave();try{wasmTable.get(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viid(index,a1,a2,a3){var sp=stackSave();try{wasmTable.get(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{wasmTable.get(index)(a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_jiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return Module["dynCall_jiiii"](index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viijii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{Module["dynCall_viijii"](index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiiiij(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return Module["dynCall_iiiiij"](index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiiiijj(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{return Module["dynCall_iiiiijj"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viijj(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{Module["dynCall_viijj"](index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_ji(index,a1){var sp=stackSave();try{return Module["dynCall_ji"](index,a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_jii(index,a1,a2){var sp=stackSave();try{return Module["dynCall_jii"](index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_j(index){var sp=stackSave();try{return Module["dynCall_j"](index)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}Module["allocate"]=allocate;Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;Module["LZ4"]=LZ4;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module["_main"];if(!entryFunction)return;args=args||[];var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(thisProgram);for(var i=1;i<argc;i++){HEAP32[(argv>>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=entryFunction(argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus||e=="unwind"){return}var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}finally{calledMain=true}}var dylibsLoaded=false;function run(args){args=args||arguments_;if(runDependencies>0){return}if(!dylibsLoaded){preloadDylibs();dylibsLoaded=true;if(runDependencies>0){return}}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){EXITSTATUS=status;if(keepRuntimeAlive()){}else{exitRuntime()}procExit(status)}function procExit(code){EXITSTATUS=code;if(!keepRuntimeAlive()){if(Module["onExit"])Module["onExit"](code);ABORT=true}quit_(code,new ExitStatus(code))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;run();
+
+
+  return _createPyodideModule.ready
+}
+);
+})();
+globalThis._createPyodideModule = _createPyodideModule;
diff --git a/examples/tour-assets/pyodide/pyodide.asm.wasm b/examples/tour-assets/pyodide/pyodide.asm.wasm
new file mode 100644
index 0000000000000000000000000000000000000000..191861b1d39a250ffe12a081564fbf4665a3530c
--- /dev/null
+++ b/examples/tour-assets/pyodide/pyodide.asm.wasm
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:7e276b3f7535c633663c45efdd7afeeb1312b91c0919123ad999b92b1999df7a
+size 9484381
diff --git a/examples/tour-assets/pyodide/pyodide.js b/examples/tour-assets/pyodide/pyodide.js
new file mode 100644
index 0000000000000000000000000000000000000000..563229b53c12d0761841ea5584ab36e1ed9a7b0e
--- /dev/null
+++ b/examples/tour-assets/pyodide/pyodide.js
@@ -0,0 +1,16 @@
+!function(global,factory){"object"==typeof exports&&"undefined"!=typeof module?factory(exports):"function"==typeof define&&define.amd?define(["exports"],factory):factory((global="undefined"!=typeof globalThis?globalThis:global||self).loadPyodide={})}(this,(function(exports){"use strict";
+/*! *****************************************************************************
+    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.
+    ***************************************************************************** */function __awaiter(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,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){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))}"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;var errorStackParser={exports:{}},stackframe={exports:{}};!function(module,exports){module.exports=function(){function _isNumber(n){return!isNaN(parseFloat(n))&&isFinite(n)}function _capitalize(str){return str.charAt(0).toUpperCase()+str.substring(1)}function _getter(p){return function(){return this[p]}}var booleanProps=["isConstructor","isEval","isNative","isToplevel"],numericProps=["columnNumber","lineNumber"],stringProps=["fileName","functionName","source"],arrayProps=["args"],objectProps=["evalOrigin"],props=booleanProps.concat(numericProps,stringProps,arrayProps,objectProps);function StackFrame(obj){if(obj)for(var i=0;i<props.length;i++)void 0!==obj[props[i]]&&this["set"+_capitalize(props[i])](obj[props[i]])}StackFrame.prototype={getArgs:function(){return this.args},setArgs:function(v){if("[object Array]"!==Object.prototype.toString.call(v))throw new TypeError("Args must be an Array");this.args=v},getEvalOrigin:function(){return this.evalOrigin},setEvalOrigin:function(v){if(v instanceof StackFrame)this.evalOrigin=v;else{if(!(v instanceof Object))throw new TypeError("Eval Origin must be an Object or StackFrame");this.evalOrigin=new StackFrame(v)}},toString:function(){var fileName=this.getFileName()||"",lineNumber=this.getLineNumber()||"",columnNumber=this.getColumnNumber()||"",functionName=this.getFunctionName()||"";return this.getIsEval()?fileName?"[eval] ("+fileName+":"+lineNumber+":"+columnNumber+")":"[eval]:"+lineNumber+":"+columnNumber:functionName?functionName+" ("+fileName+":"+lineNumber+":"+columnNumber+")":fileName+":"+lineNumber+":"+columnNumber}},StackFrame.fromString=function(str){var argsStartIndex=str.indexOf("("),argsEndIndex=str.lastIndexOf(")"),functionName=str.substring(0,argsStartIndex),args=str.substring(argsStartIndex+1,argsEndIndex).split(","),locationString=str.substring(argsEndIndex+1);if(0===locationString.indexOf("@"))var parts=/@(.+?)(?::(\d+))?(?::(\d+))?$/.exec(locationString,""),fileName=parts[1],lineNumber=parts[2],columnNumber=parts[3];return new StackFrame({functionName:functionName,args:args||void 0,fileName:fileName,lineNumber:lineNumber||void 0,columnNumber:columnNumber||void 0})};for(var i=0;i<booleanProps.length;i++)StackFrame.prototype["get"+_capitalize(booleanProps[i])]=_getter(booleanProps[i]),StackFrame.prototype["set"+_capitalize(booleanProps[i])]=function(p){return function(v){this[p]=Boolean(v)}}(booleanProps[i]);for(var j=0;j<numericProps.length;j++)StackFrame.prototype["get"+_capitalize(numericProps[j])]=_getter(numericProps[j]),StackFrame.prototype["set"+_capitalize(numericProps[j])]=function(p){return function(v){if(!_isNumber(v))throw new TypeError(p+" must be a Number");this[p]=Number(v)}}(numericProps[j]);for(var k=0;k<stringProps.length;k++)StackFrame.prototype["get"+_capitalize(stringProps[k])]=_getter(stringProps[k]),StackFrame.prototype["set"+_capitalize(stringProps[k])]=function(p){return function(v){this[p]=String(v)}}(stringProps[k]);return StackFrame}()}(stackframe),function(module,exports){var StackFrame,FIREFOX_SAFARI_STACK_REGEXP,CHROME_IE_STACK_REGEXP,SAFARI_NATIVE_CODE_REGEXP;module.exports=(StackFrame=stackframe.exports,FIREFOX_SAFARI_STACK_REGEXP=/(^|@)\S+:\d+/,CHROME_IE_STACK_REGEXP=/^\s*at .*(\S+:\d+|\(native\))/m,SAFARI_NATIVE_CODE_REGEXP=/^(eval@)?(\[native code])?$/,{parse:function(error){if(void 0!==error.stacktrace||void 0!==error["opera#sourceloc"])return this.parseOpera(error);if(error.stack&&error.stack.match(CHROME_IE_STACK_REGEXP))return this.parseV8OrIE(error);if(error.stack)return this.parseFFOrSafari(error);throw new Error("Cannot parse given Error object")},extractLocation:function(urlLike){if(-1===urlLike.indexOf(":"))return[urlLike];var parts=/(.+?)(?::(\d+))?(?::(\d+))?$/.exec(urlLike.replace(/[()]/g,""));return[parts[1],parts[2]||void 0,parts[3]||void 0]},parseV8OrIE:function(error){return error.stack.split("\n").filter((function(line){return!!line.match(CHROME_IE_STACK_REGEXP)}),this).map((function(line){line.indexOf("(eval ")>-1&&(line=line.replace(/eval code/g,"eval").replace(/(\(eval at [^()]*)|(\),.*$)/g,""));var sanitizedLine=line.replace(/^\s+/,"").replace(/\(eval code/g,"("),location=sanitizedLine.match(/ (\((.+):(\d+):(\d+)\)$)/),tokens=(sanitizedLine=location?sanitizedLine.replace(location[0],""):sanitizedLine).split(/\s+/).slice(1),locationParts=this.extractLocation(location?location[1]:tokens.pop()),functionName=tokens.join(" ")||void 0,fileName=["eval","<anonymous>"].indexOf(locationParts[0])>-1?void 0:locationParts[0];return new StackFrame({functionName:functionName,fileName:fileName,lineNumber:locationParts[1],columnNumber:locationParts[2],source:line})}),this)},parseFFOrSafari:function(error){return error.stack.split("\n").filter((function(line){return!line.match(SAFARI_NATIVE_CODE_REGEXP)}),this).map((function(line){if(line.indexOf(" > eval")>-1&&(line=line.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,":$1")),-1===line.indexOf("@")&&-1===line.indexOf(":"))return new StackFrame({functionName:line});var functionNameRegex=/((.*".+"[^@]*)?[^@]*)(?:@)/,matches=line.match(functionNameRegex),functionName=matches&&matches[1]?matches[1]:void 0,locationParts=this.extractLocation(line.replace(functionNameRegex,""));return new StackFrame({functionName:functionName,fileName:locationParts[0],lineNumber:locationParts[1],columnNumber:locationParts[2],source:line})}),this)},parseOpera:function(e){return!e.stacktrace||e.message.indexOf("\n")>-1&&e.message.split("\n").length>e.stacktrace.split("\n").length?this.parseOpera9(e):e.stack?this.parseOpera11(e):this.parseOpera10(e)},parseOpera9:function(e){for(var lineRE=/Line (\d+).*script (?:in )?(\S+)/i,lines=e.message.split("\n"),result=[],i=2,len=lines.length;i<len;i+=2){var match=lineRE.exec(lines[i]);match&&result.push(new StackFrame({fileName:match[2],lineNumber:match[1],source:lines[i]}))}return result},parseOpera10:function(e){for(var lineRE=/Line (\d+).*script (?:in )?(\S+)(?:: In function (\S+))?$/i,lines=e.stacktrace.split("\n"),result=[],i=0,len=lines.length;i<len;i+=2){var match=lineRE.exec(lines[i]);match&&result.push(new StackFrame({functionName:match[3]||void 0,fileName:match[2],lineNumber:match[1],source:lines[i]}))}return result},parseOpera11:function(error){return error.stack.split("\n").filter((function(line){return!!line.match(FIREFOX_SAFARI_STACK_REGEXP)&&!line.match(/^Error created at/)}),this).map((function(line){var argsRaw,tokens=line.split("@"),locationParts=this.extractLocation(tokens.pop()),functionCall=tokens.shift()||"",functionName=functionCall.replace(/<anonymous function(: (\w+))?>/,"$2").replace(/\([^)]*\)/g,"")||void 0;functionCall.match(/\(([^)]*)\)/)&&(argsRaw=functionCall.replace(/^[^(]+\(([^)]*)\)$/,"$1"));var args=void 0===argsRaw||"[arguments not available]"===argsRaw?void 0:argsRaw.split(",");return new StackFrame({functionName:functionName,args:args,fileName:locationParts[0],lineNumber:locationParts[1],columnNumber:locationParts[2],source:line})}),this)}})}(errorStackParser);var ErrorStackParser=errorStackParser.exports;let Module={noImageDecoding:!0,noAudioDecoding:!0,noWasmDecoding:!1,preloadedWasm:{},preRun:[]},API={};Module.API=API;let Hiwire={};Module.hiwire=Hiwire;let Tests={};function setStandardStreams(stdin,stdout,stderr){stdout&&(Module.print=stdout),stderr&&(Module.printErr=stderr),stdin&&Module.preRun.push((function(){Module.FS.init(function(stdin){const encoder=new TextEncoder;let input=new Uint8Array(0),inputIndex=-1;function stdinWrapper(){try{if(-1===inputIndex){let text=stdin();if(null==text)return null;if("string"!=typeof text)throw new TypeError(`Expected stdin to return string, null, or undefined, got type ${typeof text}.`);text.endsWith("\n")||(text+="\n"),input=encoder.encode(text),inputIndex=0}if(inputIndex<input.length){let character=input[inputIndex];return inputIndex++,character}return inputIndex=-1,null}catch(e){throw console.error("Error thrown in stdin:"),console.error(e),e}}return stdinWrapper}(stdin),null,null)}))}API.tests=Tests;const IN_NODE="undefined"!=typeof process&&process.release&&"node"===process.release.name&&void 0===process.browser;let nodePathMod,nodeFetch,nodeVmMod,nodeFsPromisesMod,_loadBinaryFile,loadScript;if(_loadBinaryFile=IN_NODE?function(indexURL,path){return __awaiter(this,void 0,void 0,(function*(){if(path.includes("://")){let response=yield nodeFetch(path);if(!response.ok)throw new Error(`Failed to load '${path}': request failed.`);return yield response.arrayBuffer()}{const data=yield nodeFsPromisesMod.readFile(`${indexURL}${path}`);return new Uint8Array(data.buffer,data.byteOffset,data.byteLength)}}))}:function(indexURL,path){return __awaiter(this,void 0,void 0,(function*(){const base=new URL(indexURL,location),url=new URL(path,base);let response=yield fetch(url);if(!response.ok)throw new Error(`Failed to load '${url}': request failed.`);return new Uint8Array(yield response.arrayBuffer())}))},globalThis.document)loadScript=url=>__awaiter(void 0,void 0,void 0,(function*(){return yield import(url)}));else if(globalThis.importScripts)loadScript=url=>__awaiter(void 0,void 0,void 0,(function*(){try{globalThis.importScripts(url)}catch(e){if(!(e instanceof TypeError))throw e;yield import(url)}}));else{if(!IN_NODE)throw new Error("Cannot determine runtime environment");loadScript=function(url){return __awaiter(this,void 0,void 0,(function*(){url.includes("://")?nodeVmMod.runInThisContext(yield(yield nodeFetch(url)).text()):yield import(nodePathMod.resolve(url))}))}}function isPyProxy(jsobj){return!!jsobj&&void 0!==jsobj.$$&&"PyProxy"===jsobj.$$.type}API.isPyProxy=isPyProxy,globalThis.FinalizationRegistry?Module.finalizationRegistry=new FinalizationRegistry((([ptr,cache])=>{cache.leaked=!0,pyproxy_decref_cache(cache);try{Module._Py_DecRef(ptr)}catch(e){API.fatal_error(e)}})):Module.finalizationRegistry={register(){},unregister(){}};let trace_pyproxy_alloc,trace_pyproxy_dealloc,pyproxy_alloc_map=new Map;function _getPtr(jsobj){let ptr=jsobj.$$.ptr;if(0===ptr)throw new Error(jsobj.$$.destroyed_msg);return ptr}Module.pyproxy_alloc_map=pyproxy_alloc_map,Module.enable_pyproxy_allocation_tracing=function(){trace_pyproxy_alloc=function(proxy){pyproxy_alloc_map.set(proxy,Error().stack)},trace_pyproxy_dealloc=function(proxy){pyproxy_alloc_map.delete(proxy)}},Module.disable_pyproxy_allocation_tracing=function(){trace_pyproxy_alloc=function(proxy){},trace_pyproxy_dealloc=function(proxy){}},Module.disable_pyproxy_allocation_tracing(),Module.pyproxy_new=function(ptrobj,cache){let target,flags=Module._pyproxy_getflags(ptrobj),cls=Module.getPyProxyClass(flags);if(256&flags?(target=Reflect.construct(Function,[],cls),delete target.length,delete target.name,target.prototype=void 0):target=Object.create(cls.prototype),!cache){cache={cacheId:Hiwire.new_value(new Map),refcnt:0}}cache.refcnt++,Object.defineProperty(target,"$$",{value:{ptr:ptrobj,type:"PyProxy",cache:cache}}),Module._Py_IncRef(ptrobj);let proxy=new Proxy(target,PyProxyHandlers);return trace_pyproxy_alloc(proxy),Module.finalizationRegistry.register(proxy,[ptrobj,cache],proxy),proxy};let pyproxyClassMap=new Map;Module.getPyProxyClass=function(flags){const FLAG_TYPE_PAIRS=[[1,PyProxyLengthMethods],[2,PyProxyGetItemMethods],[4,PyProxySetItemMethods],[8,PyProxyContainsMethods],[16,PyProxyIterableMethods],[32,PyProxyIteratorMethods],[64,PyProxyAwaitableMethods],[128,PyProxyBufferMethods],[256,PyProxyCallableMethods]];let result=pyproxyClassMap.get(flags);if(result)return result;let descriptors={};for(let[feature_flag,methods]of FLAG_TYPE_PAIRS)flags&feature_flag&&Object.assign(descriptors,Object.getOwnPropertyDescriptors(methods.prototype));descriptors.constructor=Object.getOwnPropertyDescriptor(PyProxyClass.prototype,"constructor"),Object.assign(descriptors,Object.getOwnPropertyDescriptors({$$flags:flags}));let new_proto=Object.create(PyProxyClass.prototype,descriptors);function NewPyProxyClass(){}return NewPyProxyClass.prototype=new_proto,pyproxyClassMap.set(flags,NewPyProxyClass),NewPyProxyClass},Module.PyProxy_getPtr=_getPtr;function pyproxy_decref_cache(cache){if(cache&&(cache.refcnt--,0===cache.refcnt)){let cache_map=Hiwire.pop_value(cache.cacheId);for(let proxy_id of cache_map.values()){const cache_entry=Hiwire.pop_value(proxy_id);cache.leaked||Module.pyproxy_destroy(cache_entry,"This borrowed attribute proxy was automatically destroyed in the process of destroying the proxy it was borrowed from. Try using the 'copy' method.")}}}Module.pyproxy_destroy=function(proxy,destroyed_msg){if(0===proxy.$$.ptr)return;let ptrobj=_getPtr(proxy);Module.finalizationRegistry.unregister(proxy),destroyed_msg=destroyed_msg||"Object has already been destroyed";let proxy_repr,proxy_type=proxy.type;try{proxy_repr=proxy.toString()}catch(e){if(e.pyodide_fatal_error)throw e}proxy.$$.ptr=0,destroyed_msg+=`\nThe object was of type "${proxy_type}" and `,destroyed_msg+=proxy_repr?`had repr "${proxy_repr}"`:"an error was raised when trying to generate its repr",proxy.$$.destroyed_msg=destroyed_msg,pyproxy_decref_cache(proxy.$$.cache);try{Module._Py_DecRef(ptrobj),trace_pyproxy_dealloc(proxy)}catch(e){API.fatal_error(e)}},Module.callPyObjectKwargs=function(ptrobj,...jsargs){let kwargs=jsargs.pop(),num_pos_args=jsargs.length,kwargs_names=Object.keys(kwargs),kwargs_values=Object.values(kwargs),num_kwargs=kwargs_names.length;jsargs.push(...kwargs_values);let idresult,idargs=Hiwire.new_value(jsargs),idkwnames=Hiwire.new_value(kwargs_names);try{idresult=Module.__pyproxy_apply(ptrobj,idargs,num_pos_args,idkwnames,num_kwargs)}catch(e){API.fatal_error(e)}finally{Hiwire.decref(idargs),Hiwire.decref(idkwnames)}0===idresult&&Module._pythonexc2js();let result=Hiwire.pop_value(idresult);return result&&"coroutine"===result.type&&result._ensure_future&&result._ensure_future(),result},Module.callPyObject=function(ptrobj,...jsargs){return Module.callPyObjectKwargs(ptrobj,...jsargs,{})};class PyProxyClass{constructor(){throw new TypeError("PyProxy is not a constructor")}get[Symbol.toStringTag](){return"PyProxy"}get type(){let ptrobj=_getPtr(this);return Hiwire.pop_value(Module.__pyproxy_type(ptrobj))}toString(){let jsref_repr,ptrobj=_getPtr(this);try{jsref_repr=Module.__pyproxy_repr(ptrobj)}catch(e){API.fatal_error(e)}return 0===jsref_repr&&Module._pythonexc2js(),Hiwire.pop_value(jsref_repr)}destroy(destroyed_msg){Module.pyproxy_destroy(this,destroyed_msg)}copy(){let ptrobj=_getPtr(this);return Module.pyproxy_new(ptrobj,this.$$.cache)}toJs({depth:depth=-1,pyproxies:pyproxies,create_pyproxies:create_pyproxies=!0,dict_converter:dict_converter,default_converter:default_converter}={}){let idresult,proxies_id,ptrobj=_getPtr(this),dict_converter_id=0,default_converter_id=0;proxies_id=create_pyproxies?pyproxies?Hiwire.new_value(pyproxies):Hiwire.new_value([]):0,dict_converter&&(dict_converter_id=Hiwire.new_value(dict_converter)),default_converter&&(default_converter_id=Hiwire.new_value(default_converter));try{idresult=Module._python2js_custom(ptrobj,depth,proxies_id,dict_converter_id,default_converter_id)}catch(e){API.fatal_error(e)}finally{Hiwire.decref(proxies_id),Hiwire.decref(dict_converter_id),Hiwire.decref(default_converter_id)}return 0===idresult&&Module._pythonexc2js(),Hiwire.pop_value(idresult)}supportsLength(){return!!(1&this.$$flags)}supportsGet(){return!!(2&this.$$flags)}supportsSet(){return!!(4&this.$$flags)}supportsHas(){return!!(8&this.$$flags)}isIterable(){return!!(48&this.$$flags)}isIterator(){return!!(32&this.$$flags)}isAwaitable(){return!!(64&this.$$flags)}isBuffer(){return!!(128&this.$$flags)}isCallable(){return!!(256&this.$$flags)}}class PyProxyLengthMethods{get length(){let length,ptrobj=_getPtr(this);try{length=Module._PyObject_Size(ptrobj)}catch(e){API.fatal_error(e)}return-1===length&&Module._pythonexc2js(),length}}class PyProxyGetItemMethods{get(key){let idresult,ptrobj=_getPtr(this),idkey=Hiwire.new_value(key);try{idresult=Module.__pyproxy_getitem(ptrobj,idkey)}catch(e){API.fatal_error(e)}finally{Hiwire.decref(idkey)}if(0===idresult){if(!Module._PyErr_Occurred())return;Module._pythonexc2js()}return Hiwire.pop_value(idresult)}}class PyProxySetItemMethods{set(key,value){let errcode,ptrobj=_getPtr(this),idkey=Hiwire.new_value(key),idval=Hiwire.new_value(value);try{errcode=Module.__pyproxy_setitem(ptrobj,idkey,idval)}catch(e){API.fatal_error(e)}finally{Hiwire.decref(idkey),Hiwire.decref(idval)}-1===errcode&&Module._pythonexc2js()}delete(key){let errcode,ptrobj=_getPtr(this),idkey=Hiwire.new_value(key);try{errcode=Module.__pyproxy_delitem(ptrobj,idkey)}catch(e){API.fatal_error(e)}finally{Hiwire.decref(idkey)}-1===errcode&&Module._pythonexc2js()}}class PyProxyContainsMethods{has(key){let result,ptrobj=_getPtr(this),idkey=Hiwire.new_value(key);try{result=Module.__pyproxy_contains(ptrobj,idkey)}catch(e){API.fatal_error(e)}finally{Hiwire.decref(idkey)}return-1===result&&Module._pythonexc2js(),1===result}}class PyProxyIterableMethods{[Symbol.iterator](){let iterptr,ptrobj=_getPtr(this),token={};try{iterptr=Module._PyObject_GetIter(ptrobj)}catch(e){API.fatal_error(e)}0===iterptr&&Module._pythonexc2js();let result=function*(iterptr,token){try{let item;for(;item=Module.__pyproxy_iter_next(iterptr);)yield Hiwire.pop_value(item)}catch(e){API.fatal_error(e)}finally{Module.finalizationRegistry.unregister(token),Module._Py_DecRef(iterptr)}Module._PyErr_Occurred()&&Module._pythonexc2js()}(iterptr,token);return Module.finalizationRegistry.register(result,[iterptr,void 0],token),result}}class PyProxyIteratorMethods{[Symbol.iterator](){return this}next(arg){let status,done,idarg=Hiwire.new_value(arg),stackTop=Module.stackSave(),res_ptr=Module.stackAlloc(4);try{status=Module.__pyproxyGen_Send(_getPtr(this),idarg,res_ptr)}catch(e){API.fatal_error(e)}finally{Hiwire.decref(idarg)}let idresult=Module.HEAPU32[0+(res_ptr>>2)];return Module.stackRestore(stackTop),-1===status&&Module._pythonexc2js(),done=0===status,{done:done,value:Hiwire.pop_value(idresult)}}}let PyProxyHandlers={isExtensible:()=>!0,has:(jsobj,jskey)=>!!Reflect.has(jsobj,jskey)||"symbol"!=typeof jskey&&(jskey.startsWith("$")&&(jskey=jskey.slice(1)),function(jsobj,jskey){let result,ptrobj=_getPtr(jsobj),idkey=Hiwire.new_value(jskey);try{result=Module.__pyproxy_hasattr(ptrobj,idkey)}catch(e){API.fatal_error(e)}finally{Hiwire.decref(idkey)}return-1===result&&Module._pythonexc2js(),0!==result}(jsobj,jskey)),get(jsobj,jskey){if(jskey in jsobj||"symbol"==typeof jskey)return Reflect.get(jsobj,jskey);jskey.startsWith("$")&&(jskey=jskey.slice(1));let idresult=function(jsobj,jskey){let idresult,ptrobj=_getPtr(jsobj),idkey=Hiwire.new_value(jskey),cacheId=jsobj.$$.cache.cacheId;try{idresult=Module.__pyproxy_getattr(ptrobj,idkey,cacheId)}catch(e){API.fatal_error(e)}finally{Hiwire.decref(idkey)}return 0===idresult&&Module._PyErr_Occurred()&&Module._pythonexc2js(),idresult}(jsobj,jskey);return 0!==idresult?Hiwire.pop_value(idresult):void 0},set(jsobj,jskey,jsval){let descr=Object.getOwnPropertyDescriptor(jsobj,jskey);if(descr&&!descr.writable)throw new TypeError(`Cannot set read only field '${jskey}'`);return"symbol"==typeof jskey?Reflect.set(jsobj,jskey,jsval):(jskey.startsWith("$")&&(jskey=jskey.slice(1)),function(jsobj,jskey,jsval){let errcode,ptrobj=_getPtr(jsobj),idkey=Hiwire.new_value(jskey),idval=Hiwire.new_value(jsval);try{errcode=Module.__pyproxy_setattr(ptrobj,idkey,idval)}catch(e){API.fatal_error(e)}finally{Hiwire.decref(idkey),Hiwire.decref(idval)}-1===errcode&&Module._pythonexc2js()}(jsobj,jskey,jsval),!0)},deleteProperty(jsobj,jskey){let descr=Object.getOwnPropertyDescriptor(jsobj,jskey);if(descr&&!descr.writable)throw new TypeError(`Cannot delete read only field '${jskey}'`);return"symbol"==typeof jskey?Reflect.deleteProperty(jsobj,jskey):(jskey.startsWith("$")&&(jskey=jskey.slice(1)),function(jsobj,jskey){let errcode,ptrobj=_getPtr(jsobj),idkey=Hiwire.new_value(jskey);try{errcode=Module.__pyproxy_delattr(ptrobj,idkey)}catch(e){API.fatal_error(e)}finally{Hiwire.decref(idkey)}-1===errcode&&Module._pythonexc2js()}(jsobj,jskey),!descr||!!descr.configurable)},ownKeys(jsobj){let idresult,ptrobj=_getPtr(jsobj);try{idresult=Module.__pyproxy_ownKeys(ptrobj)}catch(e){API.fatal_error(e)}0===idresult&&Module._pythonexc2js();let result=Hiwire.pop_value(idresult);return result.push(...Reflect.ownKeys(jsobj)),result},apply:(jsobj,jsthis,jsargs)=>jsobj.apply(jsthis,jsargs)};class PyProxyAwaitableMethods{_ensure_future(){if(this.$$.promise)return this.$$.promise;let resolveHandle,rejectHandle,errcode,ptrobj=_getPtr(this),promise=new Promise(((resolve,reject)=>{resolveHandle=resolve,rejectHandle=reject})),resolve_handle_id=Hiwire.new_value(resolveHandle),reject_handle_id=Hiwire.new_value(rejectHandle);try{errcode=Module.__pyproxy_ensure_future(ptrobj,resolve_handle_id,reject_handle_id)}catch(e){API.fatal_error(e)}finally{Hiwire.decref(reject_handle_id),Hiwire.decref(resolve_handle_id)}return-1===errcode&&Module._pythonexc2js(),this.$$.promise=promise,this.destroy(),promise}then(onFulfilled,onRejected){return this._ensure_future().then(onFulfilled,onRejected)}catch(onRejected){return this._ensure_future().catch(onRejected)}finally(onFinally){return this._ensure_future().finally(onFinally)}}class PyProxyCallableMethods{apply(jsthis,jsargs){return Module.callPyObject(_getPtr(this),...jsargs)}call(jsthis,...jsargs){return Module.callPyObject(_getPtr(this),...jsargs)}callKwargs(...jsargs){if(0===jsargs.length)throw new TypeError("callKwargs requires at least one argument (the key word argument object)");let kwargs=jsargs[jsargs.length-1];if(void 0!==kwargs.constructor&&"Object"!==kwargs.constructor.name)throw new TypeError("kwargs argument is not an object");return Module.callPyObjectKwargs(_getPtr(this),...jsargs)}}PyProxyCallableMethods.prototype.prototype=Function.prototype;let baseURL,type_to_array_map=new Map([["i8",Int8Array],["u8",Uint8Array],["u8clamped",Uint8ClampedArray],["i16",Int16Array],["u16",Uint16Array],["i32",Int32Array],["u32",Uint32Array],["i32",Int32Array],["u32",Uint32Array],["i64",globalThis.BigInt64Array],["u64",globalThis.BigUint64Array],["f32",Float32Array],["f64",Float64Array],["dataview",DataView]]);class PyProxyBufferMethods{getBuffer(type){let ArrayType;if(type&&(ArrayType=type_to_array_map.get(type),void 0===ArrayType))throw new Error(`Unknown type ${type}`);let errcode,HEAPU32=Module.HEAPU32,orig_stack_ptr=Module.stackSave(),buffer_struct_ptr=Module.stackAlloc(HEAPU32[0+(Module._buffer_struct_size>>2)]),this_ptr=_getPtr(this);try{errcode=Module.__pyproxy_get_buffer(buffer_struct_ptr,this_ptr)}catch(e){API.fatal_error(e)}-1===errcode&&Module._pythonexc2js();let startByteOffset=HEAPU32[0+(buffer_struct_ptr>>2)],minByteOffset=HEAPU32[1+(buffer_struct_ptr>>2)],maxByteOffset=HEAPU32[2+(buffer_struct_ptr>>2)],readonly=!!HEAPU32[3+(buffer_struct_ptr>>2)],format_ptr=HEAPU32[4+(buffer_struct_ptr>>2)],itemsize=HEAPU32[5+(buffer_struct_ptr>>2)],shape=Hiwire.pop_value(HEAPU32[6+(buffer_struct_ptr>>2)]),strides=Hiwire.pop_value(HEAPU32[7+(buffer_struct_ptr>>2)]),view_ptr=HEAPU32[8+(buffer_struct_ptr>>2)],c_contiguous=!!HEAPU32[9+(buffer_struct_ptr>>2)],f_contiguous=!!HEAPU32[10+(buffer_struct_ptr>>2)],format=Module.UTF8ToString(format_ptr);Module.stackRestore(orig_stack_ptr);let success=!1;try{let bigEndian=!1;void 0===ArrayType&&([ArrayType,bigEndian]=Module.processBufferFormatString(format," In this case, you can pass an explicit type argument."));let alignment=parseInt(ArrayType.name.replace(/[^0-9]/g,""))/8||1;if(bigEndian&&alignment>1)throw new Error("Javascript has no native support for big endian buffers. In this case, you can pass an explicit type argument. For instance, `getBuffer('dataview')` will return a `DataView`which has native support for reading big endian data. Alternatively, toJs will automatically convert the buffer to little endian.");let numBytes=maxByteOffset-minByteOffset;if(0!==numBytes&&(startByteOffset%alignment!=0||minByteOffset%alignment!=0||maxByteOffset%alignment!=0))throw new Error(`Buffer does not have valid alignment for a ${ArrayType.name}`);let data,numEntries=numBytes/alignment,offset=(startByteOffset-minByteOffset)/alignment;data=0===numBytes?new ArrayType:new ArrayType(HEAPU32.buffer,minByteOffset,numEntries);for(let i of strides.keys())strides[i]/=alignment;return success=!0,Object.create(PyBuffer.prototype,Object.getOwnPropertyDescriptors({offset:offset,readonly:readonly,format:format,itemsize:itemsize,ndim:shape.length,nbytes:numBytes,shape:shape,strides:strides,data:data,c_contiguous:c_contiguous,f_contiguous:f_contiguous,_view_ptr:view_ptr,_released:!1}))}finally{if(!success)try{Module._PyBuffer_Release(view_ptr),Module._PyMem_Free(view_ptr)}catch(e){API.fatal_error(e)}}}}class PyBuffer{constructor(){throw new TypeError("PyBuffer is not a constructor")}release(){if(!this._released){try{Module._PyBuffer_Release(this._view_ptr),Module._PyMem_Free(this._view_ptr)}catch(e){API.fatal_error(e)}this._released=!0,this.data=null}}}const package_uri_regexp=/^.*?([^\/]*)\.whl$/;function _uri_to_package_name(package_uri){let match=package_uri_regexp.exec(package_uri);if(match){return match[1].toLowerCase().split("-").slice(0,-4).join("-")}}function addPackageToLoad(name,toLoad,toLoadShared){if(name=name.toLowerCase(),toLoad.has(name))return;const pkg_info=API.packages[name];if(!pkg_info)throw new Error(`No known package with name '${name}'`);if(pkg_info.shared_library?toLoadShared.set(name,"default channel"):toLoad.set(name,"default channel"),void 0===loadedPackages[name])for(let dep_name of pkg_info.depends)addPackageToLoad(dep_name,toLoad,toLoadShared)}function downloadPackage(name,channel){return __awaiter(this,void 0,void 0,(function*(){let file_name;if("default channel"===channel){if(!(name in API.packages))throw new Error(`Internal error: no entry for package named ${name}`);file_name=API.packages[name].file_name}else file_name=channel;return yield _loadBinaryFile(baseURL,file_name)}))}function installPackage(name,buffer){return __awaiter(this,void 0,void 0,(function*(){let pkg=API.packages[name];pkg||(pkg={file_name:".whl",install_dir:"site",shared_library:!1,depends:[],imports:[]});const filename=pkg.file_name,dynlibs=API.package_loader.unpack_buffer.callKwargs({buffer:buffer,filename:filename,target:pkg.install_dir,calculate_dynlibs:!0});for(const dynlib of dynlibs)yield loadDynlib(dynlib,pkg.shared_library);loadedPackages[name]=pkg}))}function createLock(){let _lock=Promise.resolve();return function(){return __awaiter(this,void 0,void 0,(function*(){const old_lock=_lock;let releaseLock;return _lock=new Promise((resolve=>releaseLock=resolve)),yield old_lock,releaseLock}))}}const acquireDynlibLock=createLock();function loadDynlib(lib,shared){return __awaiter(this,void 0,void 0,(function*(){let byteArray;byteArray=Module.FS.lookupPath(lib).node.mount.type==Module.FS.filesystems.MEMFS?Module.FS.filesystems.MEMFS.getFileDataAsTypedArray(Module.FS.lookupPath(lib).node):Module.FS.readFile(lib);const releaseDynlibLock=yield acquireDynlibLock();try{const module=yield Module.loadWebAssemblyModule(byteArray,{loadAsync:!0,nodelete:!0,allowUndefined:!0});Module.preloadedWasm[lib]=module,Module.preloadedWasm[lib.split("/").pop()]=module,shared&&Module.loadDynamicLibrary(lib,{global:!0,nodelete:!0})}catch(e){if(e.message.includes("need to see wasm magic number"))return void console.warn(`Failed to load dynlib ${lib}. We probably just tried to load a linux .so file or something.`);throw e}finally{releaseDynlibLock()}}))}Tests.loadDynlib=loadDynlib;const acquirePackageLock=createLock();function loadPackage(names,messageCallback,errorCallback){return __awaiter(this,void 0,void 0,(function*(){messageCallback=messageCallback||console.log,errorCallback=errorCallback||console.error,isPyProxy(names)&&(names=names.toJs()),Array.isArray(names)||(names=[names]);const[toLoad,toLoadShared]=function(names,errorCallback){const toLoad=new Map,toLoadShared=new Map;for(let name of names){const pkgname=_uri_to_package_name(name);void 0!==pkgname?toLoad.has(pkgname)&&toLoad.get(pkgname)!==name?errorCallback(`Loading same package ${pkgname} from ${name} and ${toLoad.get(pkgname)}`):toLoad.set(pkgname,name):addPackageToLoad(name,toLoad,toLoadShared)}return[toLoad,toLoadShared]}(names,errorCallback);for(const[pkg,uri]of[...toLoad,...toLoadShared]){const loaded=loadedPackages[pkg];void 0!==loaded&&(toLoad.delete(pkg),toLoadShared.delete(pkg),loaded===uri||"default channel"===uri?messageCallback(`${pkg} already loaded from ${loaded}`):errorCallback(`URI mismatch, attempting to load package ${pkg} from ${uri} while it is already loaded from ${loaded}. To override a dependency, load the custom package first.`))}if(0===toLoad.size&&0===toLoadShared.size)return void messageCallback("No new packages to load");const packageNames=[...toLoad.keys(),...toLoadShared.keys()].join(", "),releaseLock=yield acquirePackageLock();try{messageCallback(`Loading ${packageNames}`);const sharedLibraryLoadPromises={},packageLoadPromises={};for(const[name,channel]of toLoadShared)loadedPackages[name]?toLoadShared.delete(name):sharedLibraryLoadPromises[name]=downloadPackage(name,channel);for(const[name,channel]of toLoad)loadedPackages[name]?toLoad.delete(name):packageLoadPromises[name]=downloadPackage(name,channel);const loaded=[],failed={},sharedLibraryInstallPromises={},packageInstallPromises={};for(const[name,channel]of toLoadShared)sharedLibraryInstallPromises[name]=sharedLibraryLoadPromises[name].then((buffer=>__awaiter(this,void 0,void 0,(function*(){yield installPackage(name,buffer),loaded.push(name),loadedPackages[name]=channel})))).catch((err=>{console.warn(err),failed[name]=err}));yield Promise.all(Object.values(sharedLibraryInstallPromises));for(const[name,channel]of toLoad)packageInstallPromises[name]=packageLoadPromises[name].then((buffer=>__awaiter(this,void 0,void 0,(function*(){yield installPackage(name,buffer),loaded.push(name),loadedPackages[name]=channel})))).catch((err=>{console.warn(err),failed[name]=err}));if(yield Promise.all(Object.values(packageInstallPromises)),Module.reportUndefinedSymbols(),loaded.length>0){const successNames=loaded.join(", ");messageCallback(`Loaded ${successNames}`)}if(Object.keys(failed).length>0){const failedNames=Object.keys(failed).join(", ");messageCallback(`Failed to load ${failedNames}`);for(const[name,err]of Object.entries(failed))console.warn(`The following error occurred while loading ${name}:`),console.error(err)}API.importlib.invalidate_caches()}finally{releaseLock()}}))}let loadedPackages={};function ensureCaughtObjectIsError(e){if("string"==typeof e)e=new Error(e);else if("object"!=typeof e||null===e||"string"!=typeof e.stack||"string"!=typeof e.message){let msg=`A value of type ${typeof e} with tag ${Object.prototype.toString.call(e)} was thrown as an error!`;try{msg+=`\nString interpolation of the thrown value gives """${e}""".`}catch(e){msg+="\nString interpolation of the thrown value fails."}try{msg+=`\nThe thrown value's toString method returns """${e.toString()}""".`}catch(e){msg+="\nThe thrown value's toString method fails."}e=new Error(msg)}return e}API.dump_traceback=function(){Module.__Py_DumpTraceback(1,Module._PyGILState_GetThisThreadState())};let fatal_error_occurred=!1;API.fatal_error=function(e){if(!e||!e.pyodide_fatal_error){if(fatal_error_occurred)return console.error("Recursive call to fatal_error. Inner error was:"),void console.error(e);(e="number"==typeof e?convertCppException(e):ensureCaughtObjectIsError(e)).pyodide_fatal_error=!0,fatal_error_occurred=!0,console.error("Pyodide has suffered a fatal error. Please report this to the Pyodide maintainers."),console.error("The cause of the fatal error was:"),API.inTestHoist?(console.error(e.toString()),console.error(e.stack)):console.error(e);try{API.dump_traceback();for(let key of Object.keys(API.public_api))key.startsWith("_")||"version"===key||Object.defineProperty(API.public_api,key,{enumerable:!0,configurable:!0,get:()=>{throw new Error("Pyodide already fatally failed and can no longer be used.")}});API.on_fatal&&API.on_fatal(e)}catch(err2){console.error("Another error occurred while handling the fatal error:"),console.error(err2)}throw e}};class CppException extends Error{constructor(ty,msg){super(msg),this.ty=ty}}function convertCppException(ptr){const[exc_type_name,is_exception_subclass,adjusted_ptr]=function(ptr){const base_exception_type=Module._exc_type(),caught_exception_type=new Module.ExceptionInfo(ptr).get_type(),stackTop=Module.stackSave(),exceptionThrowBuf=Module.stackAlloc(4);Module.HEAP32[exceptionThrowBuf/4]=ptr;const exc_type_name=Module.demangle(Module.UTF8ToString(Module._exc_typename(caught_exception_type))),is_exception_subclass=!!Module.___cxa_can_catch(base_exception_type,caught_exception_type,exceptionThrowBuf),adjusted_ptr=Module.HEAP32[exceptionThrowBuf/4];return Module.stackRestore(stackTop),[exc_type_name,is_exception_subclass,adjusted_ptr]}(ptr);let msg;if(is_exception_subclass){const msgPtr=Module._exc_what(adjusted_ptr);msg=Module.UTF8ToString(msgPtr)}else msg=`The exception is an object of type ${exc_type_name} at address ${ptr} which does not inherit from std::exception`;return new CppException(exc_type_name,msg)}function isPyodideFrame(frame){const fileName=frame.fileName||"";if(fileName.includes("pyodide.asm"))return!0;if(fileName.includes("wasm-function"))return!0;if(!fileName.includes("pyodide.js"))return!1;let funcName=frame.functionName||"";return funcName.startsWith("Object.")&&(funcName=funcName.slice("Object.".length)),!(funcName in API.public_api)||"PythonError"===funcName||(frame.functionName=funcName,!1)}Object.defineProperty(CppException.prototype,"name",{get(){return`${this.constructor.name} ${this.ty}`}}),Tests.convertCppException=convertCppException,Module.handle_js_error=function(e){if(e&&e.pyodide_fatal_error)throw e;if(e instanceof Module._PropagatePythonError)return;let stack,weirdCatch,restored_error=!1;e instanceof API.PythonError&&(restored_error=Module._restore_sys_last_exception(e.__error_address));try{stack=ErrorStackParser.parse(e)}catch(_){weirdCatch=!0}if(weirdCatch&&(e=ensureCaughtObjectIsError(e)),!restored_error){let eidx=Hiwire.new_value(e),err=Module._JsProxy_create(eidx);Module._set_error(err),Module._Py_DecRef(err),Hiwire.decref(eidx)}if(!weirdCatch){if(function(frame){if(!isPyodideFrame(frame))return!1;const funcName=frame.functionName;return"PythonError"===funcName||"new_error"===funcName}(stack[0]))for(;isPyodideFrame(stack[0]);)stack.shift();for(const frame of stack){if(isPyodideFrame(frame))break;const funcnameAddr=Module.stringToNewUTF8(frame.functionName||"???"),fileNameAddr=Module.stringToNewUTF8(frame.fileName||"???.js");Module.__PyTraceback_Add(funcnameAddr,fileNameAddr,frame.lineNumber),Module._free(funcnameAddr),Module._free(fileNameAddr)}}};class PythonError extends Error{constructor(message,error_address){const oldLimit=Error.stackTraceLimit;Error.stackTraceLimit=1/0,super(message),Error.stackTraceLimit=oldLimit,this.__error_address=error_address}}Object.defineProperty(PythonError.prototype,"name",{value:PythonError.name}),API.PythonError=PythonError;class _PropagatePythonError extends Error{constructor(){API.fail_test=!0,super("If you are seeing this message, an internal Pyodide error has occurred. Please report it to the Pyodide maintainers.")}}Object.defineProperty(_PropagatePythonError.prototype,"name",{value:_PropagatePythonError.name}),Module._PropagatePythonError=_PropagatePythonError;let runPythonPositionalGlobalsDeprecationWarned=!1;function runPython(code,options={}){return API.isPyProxy(options)&&(options={globals:options},runPythonPositionalGlobalsDeprecationWarned||(console.warn("Passing a PyProxy as the second argument to runPython is deprecated and will be removed in v0.21. Use 'runPython(code, {globals : some_dict})' instead."),runPythonPositionalGlobalsDeprecationWarned=!0)),options.globals||(options.globals=API.globals),API.pyodide_py.eval_code(code,options.globals)}function loadPackagesFromImports(code,messageCallback,errorCallback){return __awaiter(this,void 0,void 0,(function*(){let imports,pyimports=API.pyodide_py.find_imports(code);try{imports=pyimports.toJs()}finally{pyimports.destroy()}if(0===imports.length)return;let packageNames=API._import_name_to_package_name,packages=new Set;for(let name of imports)packageNames.has(name)&&packages.add(packageNames.get(name));packages.size&&(yield loadPackage(Array.from(packages),messageCallback,errorCallback))}))}function runPythonAsync(code,options={}){return __awaiter(this,void 0,void 0,(function*(){return API.isPyProxy(options)&&(options={globals:options},runPythonPositionalGlobalsDeprecationWarned||(console.warn("Passing a PyProxy as the second argument to runPythonAsync is deprecated and will be removed in v0.21. Use 'runPythonAsync(code, {globals : some_dict})' instead."),runPythonPositionalGlobalsDeprecationWarned=!0)),options.globals||(options.globals=API.globals),yield API.pyodide_py.eval_code_async(code,options.globals)}))}function registerJsModule(name,module){API.pyodide_py.register_js_module(name,module)}function registerComlink(Comlink){API._Comlink=Comlink}function unregisterJsModule(name){API.pyodide_py.unregister_js_module(name)}function toPy(obj,{depth:depth,defaultConverter:defaultConverter}={depth:-1}){switch(typeof obj){case"string":case"number":case"boolean":case"bigint":case"undefined":return obj}if(!obj||API.isPyProxy(obj))return obj;let obj_id=0,py_result=0,result=0;try{obj_id=Hiwire.new_value(obj);try{py_result=Module.js2python_convert(obj_id,{depth:depth,defaultConverter:defaultConverter})}catch(e){throw e instanceof Module._PropagatePythonError&&Module._pythonexc2js(),e}if(Module._JsProxy_Check(py_result))return obj;result=Module._python2js(py_result),0===result&&Module._pythonexc2js()}finally{Hiwire.decref(obj_id),Module._Py_DecRef(py_result)}return Hiwire.pop_value(result)}function pyimport(mod_name){return API.importlib.import_module(mod_name)}API.runPython=runPython,API.runPythonAsync=runPythonAsync;let FS,runPythonInternal_dict,unpackArchivePositionalExtractDirDeprecationWarned=!1;function unpackArchive(buffer,format,options={}){"string"==typeof options&&(unpackArchivePositionalExtractDirDeprecationWarned||(console.warn("Passing a string as the third argument to unpackArchive is deprecated and will be removed in v0.21. Instead use { extract_dir : 'some_path' }"),unpackArchivePositionalExtractDirDeprecationWarned=!0),options={extractDir:options});let extract_dir=options.extractDir;API.package_loader.unpack_buffer.callKwargs({buffer:buffer,format:format,extract_dir:extract_dir})}function setInterruptBuffer(interrupt_buffer){Module.HEAP8[Module._Py_EMSCRIPTEN_SIGNAL_HANDLING]=!!interrupt_buffer,Module.Py_EmscriptenSignalBuffer=interrupt_buffer}function checkInterrupt(){Module.__PyErr_CheckSignals()&&Module._pythonexc2js()}function makePublicAPI(){FS=Module.FS;let namespace={globals:undefined,FS:FS,pyodide_py:undefined,version:"",loadPackage:loadPackage,loadPackagesFromImports:loadPackagesFromImports,loadedPackages:loadedPackages,isPyProxy:isPyProxy,runPython:runPython,runPythonAsync:runPythonAsync,registerJsModule:registerJsModule,unregisterJsModule:unregisterJsModule,setInterruptBuffer:setInterruptBuffer,checkInterrupt:checkInterrupt,toPy:toPy,pyimport:pyimport,unpackArchive:unpackArchive,registerComlink:registerComlink,PythonError:PythonError,PyBuffer:PyBuffer,_module:Module,_api:API};return API.public_api=namespace,namespace}function finalizeBootstrap(config){runPythonInternal_dict=API._pyodide._base.eval_code("{}"),API.importlib=API.runPythonInternal("import importlib; importlib");let import_module=API.importlib.import_module;API.sys=import_module("sys"),API.sys.path.insert(0,config.homedir);let globals=API.runPythonInternal("import __main__; __main__.__dict__"),builtins=API.runPythonInternal("import builtins; builtins.__dict__");var builtins_dict;API.globals=(builtins_dict=builtins,new Proxy(globals,{get:(target,symbol)=>"get"===symbol?key=>{let result=target.get(key);return void 0===result&&(result=builtins_dict.get(key)),result}:"has"===symbol?key=>target.has(key)||builtins_dict.has(key):Reflect.get(target,symbol)}));let importhook=API._pyodide._importhook;importhook.register_js_finder(),importhook.register_js_module("js",config.jsglobals);let pyodide=makePublicAPI();return importhook.register_js_module("pyodide_js",pyodide),API.pyodide_py=import_module("pyodide"),API.package_loader=import_module("pyodide._package_loader"),API.version=API.pyodide_py.__version__,pyodide.pyodide_py=API.pyodide_py,pyodide.version=API.version,pyodide.globals=API.globals,pyodide}function loadPyodide(options={}){return __awaiter(this,void 0,void 0,(function*(){if(loadPyodide.inProgress)throw new Error("Pyodide is already loading.");options.indexURL||(options.indexURL=function(){let err;try{throw new Error}catch(e){err=e}const fileName=ErrorStackParser.parse(err)[0].fileName;return fileName.slice(0,fileName.lastIndexOf("/"))}()),loadPyodide.inProgress=!0;const default_config={fullStdLib:!0,jsglobals:globalThis,stdin:globalThis.prompt?globalThis.prompt:void 0,homedir:"/home/pyodide"};let config=Object.assign(default_config,options);config.indexURL.endsWith("/")||(config.indexURL+="/"),yield function(){return __awaiter(this,void 0,void 0,(function*(){IN_NODE&&(nodePathMod=(yield import("path")).default,nodeFsPromisesMod=yield import("fs/promises"),nodeFetch=(yield import("node-fetch")).default,nodeVmMod=(yield import("vm")).default)}))}();let packageIndexReady=function(indexURL){return __awaiter(this,void 0,void 0,(function*(){let package_json;if(baseURL=indexURL,IN_NODE){const package_string=yield nodeFsPromisesMod.readFile(`${indexURL}packages.json`);package_json=JSON.parse(package_string)}else{let response=yield fetch(`${indexURL}packages.json`);package_json=yield response.json()}if(!package_json.packages)throw new Error("Loaded packages.json does not contain the expected key 'packages'.");API.packages=package_json.packages,API._import_name_to_package_name=new Map;for(let name of Object.keys(API.packages))for(let import_name of API.packages[name].imports)API._import_name_to_package_name.set(import_name,name)}))}(config.indexURL),pyodide_py_tar_promise=_loadBinaryFile(config.indexURL,"pyodide_py.tar");var path;setStandardStreams(config.stdin,config.stdout,config.stderr),path=config.homedir,Module.preRun.push((function(){try{Module.FS.mkdirTree(path)}catch(e){console.error(`Error occurred while making a home directory '${path}':`),console.error(e),console.error("Using '/' for a home directory instead"),path="/"}Module.ENV.HOME=path,Module.FS.chdir(path)}));let moduleLoaded=new Promise((r=>Module.postRun=r));Module.locateFile=path=>config.indexURL+path;const scriptSrc=`${config.indexURL}pyodide.asm.js`;yield loadScript(scriptSrc),yield _createPyodideModule(Module),yield moduleLoaded,Module.locateFile=path=>{throw new Error("Didn't expect to load any more file_packager files!")};!function(pyodide_py_tar){let stream=Module.FS.open("/pyodide_py.tar","w");Module.FS.write(stream,pyodide_py_tar,0,pyodide_py_tar.byteLength,void 0,!0),Module.FS.close(stream);const code_ptr=Module.stringToNewUTF8('\nfrom sys import version_info\npyversion = f"python{version_info.major}.{version_info.minor}"\nimport shutil\nshutil.unpack_archive("/pyodide_py.tar", f"/lib/{pyversion}/site-packages/")\ndel shutil\nimport importlib\nimportlib.invalidate_caches()\ndel importlib\n    ');if(Module._PyRun_SimpleString(code_ptr))throw new Error("OOPS!");Module._free(code_ptr),Module.FS.unlink("/pyodide_py.tar")}(yield pyodide_py_tar_promise),Module._pyodide_init();let pyodide=finalizeBootstrap(config);return yield packageIndexReady,config.fullStdLib&&(yield loadPackage(["distutils"])),pyodide.runPython("print('Python initialization complete')"),pyodide}))}API.saveState=()=>API.pyodide_py._state.save_state(),API.restoreState=state=>API.pyodide_py._state.restore_state(state),API.runPythonInternal=function(code){return API._pyodide._base.eval_code(code,runPythonInternal_dict)},globalThis.loadPyodide=loadPyodide,exports.loadPyodide=loadPyodide,Object.defineProperty(exports,"__esModule",{value:!0})}));
+//# sourceMappingURL=pyodide.js.map
diff --git a/examples/tour-assets/pyodide/pyodide_py.tar b/examples/tour-assets/pyodide/pyodide_py.tar
new file mode 100644
index 0000000000000000000000000000000000000000..eff61e6d67537c63f14055a03ff46e16788b5119
Binary files /dev/null and b/examples/tour-assets/pyodide/pyodide_py.tar differ
diff --git a/examples/tour.conf b/examples/tour.conf
new file mode 100644
index 0000000000000000000000000000000000000000..fdd427b07b8ae05c156844b570e936896408d4bd
--- /dev/null
+++ b/examples/tour.conf
@@ -0,0 +1,263 @@
+hello_world.py
+todo.py
+wizard.py
+issue_tracker.py
+dashboard.py
+tall_info.py
+article.py
+wide_info.py
+wide_plot.py
+post.py
+preview.py
+stat_wide_pie.py
+tall_article_preview.py
+wide_article_preview.py
+profile.py
+stat_small.py
+stat_large.py
+stat_wide_gauge.py
+stat_tall_gauge.py
+stat_wide_bar.py
+stat_wide_pie.py
+stat_large_bar.py
+stat_small_series_area.py
+stat_small_series_interval.py
+stat_wide_series_area.py
+stat_wide_series_interval.py
+stat_tall_series_area.py
+stat_tall_series_interval.py
+stat_table.py
+tall_stats.py
+layout.py
+layout_size.py
+layout_responsive.py
+chatbot.py
+form.py
+form_visibility.py
+text.py
+copyable_text.py
+text_sizes.py
+text_annotator.py
+label.py
+link.py
+links.py
+progress.py
+progress_update.py
+message_bar.py
+textbox.py
+textbox_trigger.py
+button.py
+buttons.py
+checkbox.py
+checklist.py
+checklist_inline.py
+picker.py
+picker_selection.py
+dropdown.py
+choice_group.py
+combobox.py
+toggle.py
+spinbox.py
+spinbox_trigger.py
+slider.py
+range_slider.py
+date_picker.py
+date_picker_trigger.py
+time_picker.py
+color_picker.py
+swatch_picker.py
+persona.py
+facepile.py
+tabs.py
+separator.py
+file_upload.py
+file_upload_compact.py
+form_frame.py
+form_frame_path.py
+form_template.py
+form_markup.py
+stepper.py
+table_markdown_pandas.py
+table.py
+table_sort.py
+table_search.py
+table_filter.py
+table_filter_backend.py
+table_download.py
+table_groupby.py
+table_groups.py
+table_select_single.py
+table_select_multiple.py
+table_events_select.py
+table_tags.py
+table_pagination.py
+table_pagination_pandas.py
+table_pagination_h2o3.py
+table_pagination_minimal.py
+table_pagination_sort.py
+table_pagination_filter.py
+table_pagination_search.py
+table_pagination_download.py
+table_pagination_groups.py
+table_menu.py
+table_markdown.py
+table_markdown_overflow.py
+tags.py
+image.py
+image_popup.py
+image_annotator.py
+inline.py
+file_stream.py
+frame.py
+frame_path.py
+template.py
+template_data.py
+markdown.py
+markdown_table.py
+markdown_data.py
+markdown_submit_text.py
+markup.py
+nav.py
+toolbar.py
+tab.py
+tab_delete.py
+breadcrumbs.py
+header.py
+footer.py
+routing.py
+routing_predicates.py
+hash_routing.py
+hash_routing_parameters.py
+toolbar_routing.py
+card_menu.py
+menu.py
+plot_theme.py
+plot_point.py
+plot_point_shapes.py
+plot_point_sizes.py
+plot_point_map.py
+plot_point_groups.py
+plot_point_annotation.py
+plot_point_custom.py
+plot_interval.py
+plot_interval_transpose.py
+plot_interval_groups.py
+plot_interval_groups_transpose.py
+plot_interval_labels.py
+plot_interval_range.py
+plot_interval_range_transpose.py
+plot_interval_stacked.py
+plot_interval_stacked_transpose.py
+plot_interval_stacked_grouped.py
+plot_interval_stacked_grouped_transpose.py
+plot_interval_polar.py
+plot_interval_polar_stacked.py
+plot_interval_theta.py
+plot_interval_theta_stacked.py
+plot_interval_helix.py
+plot_interval_annotation.py
+plot_interval_annotation_transpose.py
+plot_line.py
+plot_line_groups.py
+plot_line_smooth.py
+plot_step.py
+plot_step_after.py
+plot_step_before.py
+plot_line_labels.py
+plot_line_labels_custom.py
+plot_line_labels_stroked.py
+plot_line_labels_no_overlap.py
+plot_line_annotation.py
+plot_path.py
+plot_path_point.py
+plot_path_smooth.py
+plot_area.py
+plot_area_groups.py
+plot_area_negative.py
+plot_area_range.py
+plot_area_smooth.py
+plot_area_stacked.py
+plot_area_line.py
+plot_area_line_smooth.py
+plot_area_line_groups.py
+plot_polygon.py
+plot_histogram.py
+plot_schema.py
+plot_schema_transpose.py
+plot_interaction_zoom.py
+plot_interaction_brush.py
+plot_interaction_drag_move.py
+plot_axis_title.py
+plot_form.py
+plot_app.py
+plot_events.py
+plot_events_disabled.py
+plot_events_routing.py
+plot_pandas.py
+plot_vega.py
+plot_vegalite.py
+plot_vegalite_update.py
+plot_vegalite_form.py
+plot_vegalite_flex.py
+plot_altair.py
+plot_bokeh.py
+plot_bokeh_script.py
+plot_bokeh_callbacks.py
+plot_matplotlib.py
+plot_plotly.py
+plot_d3.py
+pixel_art.py
+upload.py
+upload_async.py
+upload_ui.py
+upload_download.py
+upload_frame.py
+meta_inline_script.py
+meta_inline_script_callback.py
+meta_script.py
+meta_script_callback.py
+meta_stylesheet.py
+meta_inline_stylesheet.py
+meta_dialog.py
+meta_dialog_closable.py
+meta_side_panel.py
+meta_side_panel_closable.py
+meta_title.py
+meta_icon.py
+meta_notification.py
+meta_notification_bar.py
+meta_notification_bar_closable.py
+meta_refresh.py
+meta_redirect.py
+meta_theme.py
+theme_generator.py
+meta_tracking.py
+counter_global.py
+counter_broadcast.py
+counter_multicast.py
+counter_unicast.py
+background.py
+background_executor.py
+background_progress.py
+site_async.py
+http_client.py
+checkpoint.py
+graphics_primitives.py
+graphics_spline.py
+graphics_clock.py
+graphics_path.py
+graphics_turtle.py
+graphics_hilbert.py
+glider_gun.py
+ml_h2o.py
+ml_h2o_save.py
+ml_h2o_categorical.py
+ml_h2o_parameters.py
+ml_h2o_algo.py
+ml_h2o_shap.py
+ml_dai.py
+ml_dai_save.py
+ml_dai_categorical.py
+ml_dai_parameters.py
+ml_dai_autodoc.py
+ml_dai_instances.py
diff --git a/examples/tour.js b/examples/tour.js
new file mode 100644
index 0000000000000000000000000000000000000000..dc3fa92b4bdc2f310702fba43d5727ccabac4b66
--- /dev/null
+++ b/examples/tour.js
@@ -0,0 +1,64 @@
+require.config({
+  paths: {
+    'vs': '$tour_assets' + '/monaco',
+    'pyodide': '$tour_assets' + '/pyodide/pyodide.js'
+  }
+})
+window.MonacoEnvironment = {
+  getWorkerUrl: function (workerId, label) {
+    const { origin } = window.location
+    return `$${origin}$${'$base_url'}assets/monaco/base/worker/workerMain.js`
+  }
+}
+const completionToCompletionItem = item => ({
+  label: item.get('label'),
+  kind: item.get('kind'),
+  insertText: item.get('label'),
+  sortText: item.get('sort_text'),
+})
+const snippetToCompletionItem = item => ({
+  label: item.prefix,
+  kind: monaco.languages.CompletionItemKind.Snippet,
+  documentation: item.description,
+  insertText: item.body.join('\n'),
+  insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
+})
+require(['vs/editor/editor.main', 'pyodide'], async () => {
+  monaco.languages.registerCompletionItemProvider('python', {
+    triggerCharacters: ['.', "'", '"'],
+    provideCompletionItems: async (model, position) => {
+      const pyRes = await window.pyodide.runPython(`get_wave_completions($${position.lineNumber - 1}, $${position.column - 1}, \'\'\'$${model.getValue()}\'\'\')`)
+      const completions = pyRes ? pyRes.toJs().map(completionToCompletionItem) : []
+      // HACK: Fetch on every keystroke due to weird bug in monaco - showing snippets only for first example.
+      let [snippets1, snippets2] = await Promise.all([
+        fetch('$snippets1').then(r => r.json()),
+        fetch('$snippets2').then(r => r.json()),
+      ])
+      snippets1 = Object.values(snippets1).map(snippetToCompletionItem)
+      snippets2 = Object.values(snippets2).map(snippetToCompletionItem)
+      return { suggestions: [...completions, ...snippets1, ...snippets2] }
+    }
+  })
+  const editor = monaco.editor.create(document.getElementById('monaco-editor'), {
+    value: '',
+    language: 'python',
+    minimap: { enabled: false },
+    overviewRulerLanes: 0,
+    hideCursorInOverviewRuler: true,
+    scrollbar: { vertical: 'hidden' },
+    overviewRulerBorder: false,
+    lineDecorationsWidth: 0,
+    lineNumbersMinChars: 3,
+    automaticLayout: true,
+  })
+  editor.onDidChangeModelContent(e => {
+    if (e.isFlush) return
+    emit_debounced('editor', 'change', editor.getValue())
+  })
+  window.editor = editor
+  window.emit_debounced = window.wave.debounce(2000, window.wave.emit)
+  window.pyodide = await window.loadPyodide()
+  await window.pyodide.loadPackage('parso')
+  await window.pyodide.loadPackage('jedi')
+  await window.pyodide.runPythonAsync(`$py_content`)
+})
diff --git a/examples/tour.py b/examples/tour.py
new file mode 100644
index 0000000000000000000000000000000000000000..a32b389e22c417523033964483bf97817149854b
--- /dev/null
+++ b/examples/tour.py
@@ -0,0 +1,416 @@
+import collections
+import os
+import os.path
+import re
+import shutil
+import socket
+import subprocess
+import sys
+import uuid
+from contextlib import closing
+from pathlib import Path
+from string import Template
+from typing import Dict, List, Optional, Tuple
+from urllib.parse import urlparse
+
+from h2o_wave import Q, app, main, ui
+
+example_dir = os.path.dirname(os.path.realpath(__file__))
+tour_tmp_dir = os.path.join(example_dir, '_tour_apps_tmp')
+
+_base_url = os.environ.get('H2O_WAVE_BASE_URL', '/')
+_app_address = urlparse(os.environ.get('H2O_WAVE_APP_ADDRESS', 'http://127.0.0.1:8000'))
+default_example_name = 'hello_world'
+vsc_extension_path = os.path.join(example_dir, '..', '..', 'tools', 'vscode-extension')
+
+
+def scan_free_port(port: int):
+    while True:
+        with closing(socket.socket(socket.AF_INET, socket.SOCK_STREAM)) as sock:
+            if sock.connect_ex(('localhost', port)):
+                return port
+        port += 1
+
+
+class Example:
+    def __init__(self, filename: str, title: str, description: str, source: str):
+        self.name = os.path.splitext(filename)[0]
+        self.filename = filename
+        self.title = title
+        self.description = description
+        self.source = source
+        self.previous_example: Optional[Example] = None
+        self.next_example: Optional[Example] = None
+        self.process: Optional[subprocess.Popen] = None
+
+    def start(self, filename: str, is_app: bool, q: Q):
+        env = os.environ.copy()
+        env['H2O_WAVE_BASE_URL'] = _base_url
+        env['H2O_WAVE_ADDRESS'] = os.environ.get('H2O_WAVE_ADDRESS', 'http://127.0.0.1:10101')
+        # The environment passed into Popen must include SYSTEMROOT, otherwise Popen will fail when called
+        # inside python during initialization if %PATH% is configured, but without %SYSTEMROOT%.
+        if sys.platform.lower().startswith('win'):
+            env['SYSTEMROOT'] = os.environ['SYSTEMROOT']
+        if is_app:
+            q.app.app_port = scan_free_port(q.app.app_port)
+            env['H2O_WAVE_APP_ADDRESS'] = f'http://{_app_address.hostname}:{q.app.app_port}'
+            self.process = subprocess.Popen([
+                sys.executable, '-m', 'uvicorn',
+                '--host', '0.0.0.0',
+                '--port', str(q.app.app_port),
+                f'examples.{filename.replace(".py", "")}:main',
+            ], env=env)
+        else:
+            self.process = subprocess.Popen([sys.executable, os.path.join(example_dir, filename)], env=env)
+
+    def stop(self):
+        if self.process and self.process.returncode is None:
+            self.process.terminate()
+            self.process.wait()
+
+
+def read_lines(p: str) -> List[str]:
+    with open(p, encoding='utf-8') as f:
+        return f.readlines()
+
+
+def read_file(p: str) -> str:
+    with open(p, encoding='utf-8') as f:
+        return f.read()
+
+
+def strip_comment(line: str) -> str:
+    """Returns the content of a line without '#' and ' ' characters
+
+    remove leading '#', but preserve '#' that is part of a tag
+    example:
+    >>> '# #hello '.strip('#').strip()
+    '#hello'
+    """
+    return line.strip('#').strip()
+
+
+def parse_tags(description: str) -> Tuple[str, List[str]]:
+    """Creates tags from description.
+
+    Accepts a description containing tags and returns a (new_description, tags) tuple.
+
+    The convention for tags:
+    1. Any valid twitter hashtag
+
+    For example, accept a description in any of the following forms
+
+    1. Use a checklist to group a set of related checkboxes. #form #checkbox #checklist
+
+    2. Use a checklist to group a set of related checkboxes.
+       #form #checkbox #checklist
+
+    3. Use a #checklist to group a set of related checkboxes.
+       #form #checkbox
+
+    and return
+    ('Use a checklist to group a set of related checkboxes.', ['checkbox', 'checklist', 'form']). The list of tags will
+    be sorted and all tags will be converted to lowercase.
+
+    Args:
+        description: Complete description of an example.
+    Returns:
+        A tuple of new_description and a sorted list of tags. new_description is created by removing the '#' characters
+        from the description.
+    """
+    hashtag_regex_pattern = r"(\s+)#(\w*[a-zA-Z]+\w*)\b"
+    pattern = re.compile(hashtag_regex_pattern)
+    matches = pattern.findall(' ' + description)
+
+    # Retrieve tags from the matches
+    tags = sorted(list(set([x[-1].lower() for x in matches])))
+
+    # Remove the '#' before the tags in description
+    new_d = pattern.sub(r'\1\2', ' ' + description)
+
+    # Remove the last line in description if it has only tags
+    *lines, last_line = new_d.strip().splitlines()
+    last_line_has_tags_only = len(last_line.strip()) > 1 and all([x.strip().lower() in tags for x in last_line.split()])
+    if last_line_has_tags_only:
+        # Return all lines except the last line
+        return '\n'.join(lines), tags
+
+    # Remove the last sentence if it has only tags
+    *sentences, last_sentence = last_line.split('. ')
+    last_sentence_has_tags_only = len(last_sentence.strip()) > 1 and all(
+        [x.strip().lower() in tags for x in last_sentence.split()])
+    if last_sentence_has_tags_only:
+        # Return all lines and all sentences in the last line except the last sentence
+        lines.extend(sentences)
+        return '\n'.join(lines) + '.', tags
+
+    # Return the complete description
+    lines.append(last_line)
+    return '\n'.join(lines), tags
+
+
+def load_example(filename: str) -> Example:
+    contents = read_file(os.path.join(example_dir, filename))
+    parts = contents.split('---', maxsplit=1)
+    header, source = parts[0].strip().splitlines(), parts[1].strip()
+    title, description = strip_comment(header[0]), [strip_comment(x) for x in header[1:]]
+    new_description, _ = parse_tags('\n'.join(description))
+    return Example(filename, title, new_description, source)
+
+
+def load_examples(filenames: List[str]) -> Dict[str, Example]:
+    examples = collections.OrderedDict()
+    for filename in filenames:
+        example = load_example(filename)
+        examples[example.name] = example
+    example_list = [e for e in examples.values()]
+    k = len(example_list) - 1
+    for i, e in enumerate(example_list):
+        if i > 0:
+            e.previous_example = example_list[i - 1]
+        if i < k:
+            e.next_example = example_list[i + 1]
+    return examples
+
+
+app_title = 'H2O Wave Tour'
+header_height = 76
+blurb_height = 56
+mobile_blurb_height = 76
+
+
+async def setup_page(q: Q):
+    py_content = ''
+    parser_path = os.path.join(example_dir, 'tour_autocomplete_parser.py')
+    utils_path = os.path.join(example_dir, 'tour_autocomplete_utils.py')
+    # In prod.
+    if os.path.exists(parser_path) and os.path.exists(utils_path):
+        with open(parser_path, 'r') as f:
+            py_content = f.read()
+        with open(utils_path, 'r') as f:
+            py_content += f.read()
+    # When run in development from Wave repo.
+    elif os.path.exists(vsc_extension_path):
+        with open(os.path.join(vsc_extension_path, 'server', 'parser.py'), 'r') as f:
+            py_content = f.read()
+        with open(os.path.join(vsc_extension_path, 'server', 'utils.py'), 'r') as f:
+            py_content += f.read()
+
+    if py_content:
+        py_content += '''
+def get_wave_completions(line, character, file_content):
+    completion_type, leaf_val = get_completion_type(line, character, file_content)
+    if completion_type in ['args', 'events', 'zones', 'client', 'app', 'user']:
+        completion_items = []
+        file_metadata = fill_completion(file_content)
+        if completion_type == 'events' and leaf_val:
+            completion_items = list(getattr(file_metadata, completion_type).get(leaf_val, []))
+        elif completion_type == 'events' and leaf_val is None:
+            completion_items = list(getattr(file_metadata, completion_type).keys())
+        elif leaf_val is None:
+            completion_items = getattr(file_metadata, completion_type)
+        return [{'label': label, 'kind': 6, 'sort_text': '0'} for label in completion_items]
+    elif completion_type == 'themes':
+        return [{'label': theme, 'kind': 13, 'sort_text': '0'} for theme in themes]
+    elif completion_type == 'icons':
+        return [{'label': icon, 'kind': 13, 'sort_text': '0'} for icon in fluent_icons]
+        '''
+    js_code = ''
+    with open(os.path.join(example_dir, 'tour.js'), 'r') as f:
+        js_code = f.read()
+    template = Template(js_code).substitute(
+        tour_assets=q.app.tour_assets,
+        base_url=_base_url,
+        snippets1=q.app.snippets1,
+        snippets2=q.app.snippets2,
+        py_content=py_content
+    )
+    q.page['meta'] = ui.meta_card(
+        box='',
+        title=app_title,
+        scripts=[ui.script(q.app.tour_assets + '/loader.min.js')],
+        script=ui.inline_script(content=template, requires=['require'], targets=['monaco-editor']),
+        layouts=[
+            ui.layout(
+                breakpoint='xs',
+                zones=[
+                    ui.zone('mobile_header'),
+                    ui.zone('main',
+                            zones=[
+                                ui.zone('code', size=f'calc(50vh - {(header_height + mobile_blurb_height) / 2}px)'),
+                                ui.zone('preview', size=f'calc(50vh - {(header_height + mobile_blurb_height) / 2}px)'),
+                            ]),
+                    ui.zone('mobile_blurb')
+                ],
+            ),
+            ui.layout(breakpoint='m', zones=[
+                ui.zone('header'),
+                ui.zone('blurb'),
+                ui.zone('main', size=f'calc(100vh - {header_height + blurb_height}px)', direction=ui.ZoneDirection.ROW,
+                        zones=[
+                            ui.zone('code'),
+                            ui.zone('preview')
+                        ])
+            ]),
+        ])
+    nav_links = [
+        ('docs', 'Wave docs', 'https://wave.h2o.ai/docs/getting-started'),
+        ('discussions', 'Discussions', 'https://github.com/h2oai/wave/discussions'),
+        ('blog', 'Blog', 'https://wave.h2o.ai/blog'),
+        ('cloud', 'H2O AI Cloud', 'https://h2o.ai/platform/ai-cloud/'),
+        ('h2o', 'H2O', 'https://www.h2o.ai/'),
+    ]
+    q.page['header'] = ui.header_card(
+        box='header',
+        title=app_title,
+        subtitle=f'{len(catalog)} Interactive Examples',
+        image=f'{q.app.tour_assets}/h2o-logo.svg',
+        items=[
+            ui.links(inline=True, items=[ui.link(label=link[1], path=link[2], target='_blank') for link in nav_links])
+        ])
+    q.page['mobile_header'] = ui.header_card(
+        box='mobile_header',
+        title=app_title,
+        subtitle=f'{len(catalog)} Interactive Examples',
+        image=f'{q.app.tour_assets}/h2o-logo.svg',
+        nav=[
+            ui.nav_group('Links', items=[ui.nav_item(name=link[0], label=link[1], path=link[2]) for link in nav_links])
+        ])
+    q.page['blurb'] = ui.section_card(box='blurb', title='', subtitle='', items=[])
+    q.page['mobile_blurb'] = ui.form_card(box='mobile_blurb', items=[])
+    q.page['code'] = ui.markup_card(
+        box='code',
+        title='',
+        content='<div id="monaco-editor" style="position: absolute; top: 45px; bottom: 15px; right: 15px; left: 2px"/>'
+    )
+    # Put tmp placeholder <div></div> to simulate blank screen.
+    q.page['preview'] = ui.frame_card(box='preview', title='Preview', content='<div></div>')
+    await q.page.save()
+
+
+def make_blurb(q: Q):
+    example = q.client.active_example
+    blurb_card = q.page['blurb']
+    blurb_card.title = example.title
+    blurb_card.subtitle = example.description
+    # HACK: Recreate dropdown every time (by dynamic name) to control value (needed for next / prev btn functionality).
+    items = [ui.dropdown(name=q.args['#'] or default_example_name, width='300px', value=example.name, trigger=True,
+                         choices=[ui.choice(name=e.name, label=e.title) for e in catalog.values()])]
+    if example.previous_example:
+        items.append(ui.button(name=f'#{example.previous_example.name}', label='Prev'))
+    if example.next_example:
+        items.append(ui.button(name=f'#{example.next_example.name}', label='Next', primary=True))
+    blurb_card.items = items
+    q.page['mobile_blurb'].items = [ui.inline(direction='row', justify='center', items=items)]
+
+
+async def show_example(q: Q, example: Example):
+    # Clear demo page
+    demo_page = q.site[f'/{q.client.path}']
+    demo_page.drop()
+    await demo_page.save()
+
+    filename = os.path.join(tour_tmp_dir, f'{q.client.path}.py')
+    code = q.events.editor.change if q.events.editor else example.source
+    code = code.replace("`", "\\`")
+    is_app = code.find('@app(') > 0
+    with open(filename, 'w') as f:
+        fixed_path = code
+        if is_app:
+            fixed_path = fixed_path.replace("@app('/demo')", f"@app('/{q.client.path}')")
+        else:
+            fixed_path = fixed_path.replace("site['/demo']", f"site['/{q.client.path}']")
+        f.write(fixed_path)
+    if is_app:
+        filename = '.'.join([tour_tmp_dir, f'{q.client.path}.py']).split(os.sep)[-1]
+
+    # Stop active example, if any.
+    active_example = q.client.active_example
+    if active_example:
+        active_example.stop()
+
+    # Start new example
+    example.start(filename, is_app, q)
+    q.client.active_example = example
+
+    # Update example blurb
+    make_blurb(q)
+
+    # Update preview title
+    q.page['preview'].title = f'Preview of {example.filename}'
+    q.page['code'].title = example.filename
+    await q.page.save()
+
+    if q.client.is_first_load:
+        # Make sure all the JS has loaded properly.
+        await q.sleep(1)
+        q.client.is_first_load = False
+
+    # Update code display
+    if not q.events.editor:
+        code = code.replace('$', '\\$')
+        q.page['meta'].script = ui.inline_script(f'editor.setValue(`{code}`)', requires=['editor'])
+        await q.page.save()
+        if q.args['#']:
+            q.page['meta'].script = ui.inline_script('editor.setScrollPosition({ scrollTop: 0 }); editor.focus()',
+                                                     requires=['editor'])
+
+    # HACK
+    # The ?e= appended to the path forces the frame to reload.
+    # The url param is not actually used.
+    q.page['preview'].path = f'{_base_url}{q.client.path}?e={example.name}'
+    await q.page.save()
+
+
+async def on_startup():
+    # Clean up previous tmp dir.
+    await on_shutdown()
+    os.mkdir(tour_tmp_dir)
+    shutil.copyfile(os.path.join(example_dir, 'synth.py'), os.path.join(tour_tmp_dir, 'synth.py'))
+    shutil.copyfile(os.path.join(example_dir, 'plot_d3.js'), os.path.join(tour_tmp_dir, 'plot_d3.js'))
+
+
+async def on_shutdown():
+    dirpath = Path(tour_tmp_dir)
+    if dirpath.exists():
+        shutil.rmtree(dirpath)
+
+
+@app('/', on_startup=on_startup, on_shutdown=on_shutdown)
+async def serve(q: Q):
+    if not q.app.initialized:
+        q.app.app_port = 10102
+        q.app.tour_assets, = await q.site.upload_dir(os.path.join(example_dir, 'tour-assets'))
+        base_snippets_path = os.path.join(example_dir, 'base-snippets.json')
+        component_snippets_path = os.path.join(example_dir, 'component-snippets.json')
+        # Prod.
+        if os.path.exists(base_snippets_path) and os.path.exists(component_snippets_path):
+            q.app.snippets1, q.app.snippets2, = await q.site.upload([base_snippets_path, component_snippets_path])
+        # When run in development from Wave repo.
+        elif os.path.exists(vsc_extension_path):
+            q.app.snippets1, q.app.snippets2, = await q.site.upload([
+                os.path.join(vsc_extension_path, 'base-snippets.json'),
+                os.path.join(vsc_extension_path, 'component-snippets.json')
+            ])
+        q.app.initialized = True
+    if not q.client.initialized:
+        q.client.initialized = True
+        q.client.is_first_load = True
+        q.client.path = uuid.uuid4()
+        await setup_page(q)
+
+    search = q.args[q.args['#'] or default_example_name]
+    if search and not q.events.editor:
+        q.page['meta'] = ui.meta_card(box='', redirect=f'#{search}')
+
+    await show_example(q, catalog[q.args['#'] or default_example_name])
+
+
+example_filenames = [line.strip() for line in read_lines(os.path.join(example_dir, 'tour.conf')) if
+                     not line.strip().startswith('#')]
+catalog = load_examples(example_filenames)
+print('----------------------------------------')
+print(' Welcome to the H2O Wave Interactive Tour!')
+print('')
+print(' Go to http://localhost:10101/tour')
+print('----------------------------------------')
diff --git a/examples/upload.py b/examples/upload.py
new file mode 100644
index 0000000000000000000000000000000000000000..0c41976cf7bc234a84ec8173192735aea2f9846f
--- /dev/null
+++ b/examples/upload.py
@@ -0,0 +1,31 @@
+# Uploads
+# #Upload files to the Wave server.
+# ---
+import os
+from h2o_wave import site, ui
+
+
+def write_csv(filename, rows):
+    with open(filename, 'w', encoding='utf-8') as f:
+        f.write('\n'.join([','.join([str(x) for x in row]) for row in rows]))
+
+
+# Create a couple of fake CSV files
+write_csv('squares.csv', [[x, x * x] for x in range(1, 11)])
+write_csv('cubes.csv', [[x, x * x * x] for x in range(1, 11)])
+
+# Upload CSVs
+squares_path, cubes_path = site.upload(['squares.csv', 'cubes.csv'])
+
+# Delete local CSVs
+os.remove('squares.csv')
+os.remove('cubes.csv')
+
+# Display links to these CSVs
+page = site['/demo']
+page['example'] = ui.markdown_card(
+    box='1 1 2 2',
+    title='Download CSVs',
+    content=f'[Squares]({squares_path}) [Cubes]({cubes_path})',
+)
+page.save()
diff --git a/examples/upload_async.py b/examples/upload_async.py
new file mode 100644
index 0000000000000000000000000000000000000000..b4e14cfd09d312581679dcacedf5f52b00622b3c
--- /dev/null
+++ b/examples/upload_async.py
@@ -0,0 +1,39 @@
+# Uploads / Async
+# Upload files from an interactive app.
+# #upload
+# ---
+
+
+import os
+from h2o_wave import main, app, Q, ui
+
+
+def write_csv(filename, rows):
+    with open(filename, 'w', encoding='utf-8') as f:
+        f.write('\n'.join([','.join([str(x) for x in row]) for row in rows]))
+
+
+@app('/demo')
+async def serve(q: Q):
+    if q.args.generate_csv:
+        # Generate
+        write_csv('squares.csv', [[x, x * x] for x in range(1, 1 + q.args.row_count)])
+        # Upload
+        download_path, = await q.site.upload(['squares.csv'])
+        # Clean up
+        os.remove('squares.csv')
+
+        # Display link
+        q.page['example'].items = [
+            ui.text_xl('Squares Generated!'),
+            ui.text(f'[Download my {q.args.row_count} squares!]({download_path})'),
+            ui.button(name='show_form', label='Back', primary=True),
+        ]
+    else:
+        # Accept a row count from the user
+        q.page['example'] = ui.form_card(box='1 1 4 7', items=[
+            ui.text_xl('Square Generator'),
+            ui.slider(name='row_count', label='Squares to generate', min=0, max=100, step=10, value=30),
+            ui.button(name='generate_csv', label='Generate', primary=True),
+        ])
+    await q.page.save()
diff --git a/examples/upload_download.py b/examples/upload_download.py
new file mode 100644
index 0000000000000000000000000000000000000000..3cfa96ee82becb26240ac4e6cadab08789e3de41
--- /dev/null
+++ b/examples/upload_download.py
@@ -0,0 +1,36 @@
+# Uploads / Download
+# Accept files from the user and downloads them locally.
+# #upload #download
+# ---
+
+
+import os
+import os.path
+from h2o_wave import main, app, Q, ui
+
+
+@app('/demo')
+async def serve(q: Q):
+    links = q.args.user_files
+    if links:
+        items = [ui.text_xl('Files uploaded!')]
+        for link in links:
+            local_path = await q.site.download(link, '.')
+            #
+            # The file is now available locally; process the file.
+            # To keep this example simple, we just read the file size.
+            #
+            size = os.path.getsize(local_path)
+
+            items.append(ui.link(label=f'{os.path.basename(link)} ({size} bytes)', download=True, path=link))
+            # Clean up
+            os.remove(local_path)
+
+        items.append(ui.button(name='back', label='Back', primary=True))
+        q.page['example'].items = items
+    else:
+        q.page['example'] = ui.form_card(box='1 1 4 7', items=[
+            ui.text_xl('Upload some files'),
+            ui.file_upload(name='user_files', label='Upload', multiple=True),
+        ])
+    await q.page.save()
diff --git a/examples/upload_frame.py b/examples/upload_frame.py
new file mode 100644
index 0000000000000000000000000000000000000000..871ed65c58c54172779b8e275011c1641f2b7084
--- /dev/null
+++ b/examples/upload_frame.py
@@ -0,0 +1,43 @@
+# Uploads / Frame
+# To display content > 2MB in #frame cards, first #upload the content and then use it in a frame card.
+# ---
+import os
+import uuid
+from h2o_wave import site, ui
+
+html_content = '''
+<!DOCTYPE html>
+<html>
+<head>
+    <title>X</title>
+</head>
+<body>
+    <h2>Hello World!</h2>
+    <p>And now for something completely different...</p>
+</body>
+</html>
+'''
+
+# Create a random filename for our HTML file
+# e.g. 6ad24c6f-54ed-41e0-8458-a2efd5e05952.html
+html_filename = f'{str(uuid.uuid4())}.html'
+
+# Save HTML content to file
+with open(html_filename, 'w', encoding='utf-8') as f:
+    f.write(html_content)
+
+# Upload HTML file
+html_path, = site.upload([html_filename])
+
+# Clean up
+os.remove(html_filename)
+
+# Add a frame card to the page and point it to the HTML file we just uploaded.
+# The path will look something like /_f/adb747ae-999f-460b-8050-3d636594d0cf/6ad24c6f-54ed-41e0-8458-a2efd5e05952.html
+page = site['/demo']
+page['example'] = ui.frame_card(
+    box='1 1 2 3',
+    title='An uploaded frame',
+    path=html_path,
+)
+page.save()
diff --git a/examples/upload_ui.py b/examples/upload_ui.py
new file mode 100644
index 0000000000000000000000000000000000000000..345c3822f877d57182b3765b5b346187bb002c38
--- /dev/null
+++ b/examples/upload_ui.py
@@ -0,0 +1,30 @@
+# Uploads / UI
+# Accept files from the user.
+# #upload #form
+# ---
+
+
+import os
+from h2o_wave import main, app, Q, ui
+import os.path
+
+
+def make_link_list(links):
+    # Make a markdown list of links.
+    return '\n'.join([f'- [{os.path.basename(link)}]({link})' for link in links])
+
+
+@app('/demo')
+async def serve(q: Q):
+    if q.args.user_files:
+        q.page['example'].items = [
+            ui.text_xl('Files uploaded!'),
+            ui.text(make_link_list(q.args.user_files)),
+            ui.button(name='back', label='Back', primary=True),
+        ]
+    else:
+        q.page['example'] = ui.form_card(box='1 1 4 7', items=[
+            ui.text_xl('Upload some files'),
+            ui.file_upload(name='user_files', label='Upload', multiple=True),
+        ])
+    await q.page.save()
diff --git a/examples/web_only.conf b/examples/web_only.conf
new file mode 100644
index 0000000000000000000000000000000000000000..16b3504a4842c34c4bc38343444c1aa70296cb7a
--- /dev/null
+++ b/examples/web_only.conf
@@ -0,0 +1,4 @@
+# The examples listed here will not work if launched directly inside the tour.
+# WaveDB examples: require a WaveDB instance running locally.
+db.py
+db_todo.py
diff --git a/examples/wide_article_preview.py b/examples/wide_article_preview.py
new file mode 100644
index 0000000000000000000000000000000000000000..f088536e535106d42ebcbe027027919d7ae4bbbf
--- /dev/null
+++ b/examples/wide_article_preview.py
@@ -0,0 +1,47 @@
+# Wide Article Preview
+# Create a Wide Article Preview card displaying a persona, image, title, caption, and buttons.
+# ---
+from h2o_wave import main, app, Q, ui
+
+
+@app('/demo')
+async def serve(q: Q):
+    if q.args.wide_article_preview:
+        q.page['example'] = ui.form_card(box='1 1 -1 -1', items=[
+            ui.button(name='back', label='Go back', primary=True),
+        ])
+    else:
+        persona_pic = 'https://images.pexels.com/photos/415829/pexels-photo-415829.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=100&w=100'
+        q.page['example'] = ui.wide_article_preview_card(
+            box='1 1 -1 -1',
+            name='wide_article_preview',
+            persona=ui.persona(title='Jasmine Grand', subtitle='Marketing Executive',
+                               image=persona_pic, caption='caption'),
+            commands=[
+                ui.command(name='new', label='New', icon='Add', items=[
+                    ui.command(name='email', label='Email Message', icon='Mail'),
+                    ui.command(name='calendar', label='Calendar Event', icon='Calendar'),
+                ]),
+                ui.command(name='upload', label='Upload', icon='Upload'),
+                ui.command(name='share', label='Share', icon='Share'),
+                ui.command(name='download', label='Download', icon='Download'),
+            ],
+            aux_value='2h ago',
+            image='https://images.pexels.com/photos/1269968/pexels-photo-1269968.jpeg?auto=compress',
+            title='Jasmine Grand',
+            content='''
+Lorem ipsum dolor sit amet consectetur adipisicing elit. Ipsum sed odio porro veniam dolorum velit doloremque neque aliquam quisquam rem officiis, eius facilis iste quam, minus repellat magni iure eaque!
+Veniam pariatur itaque nisi, a nam consequuntur. Aliquam nulla sequi, nihil soluta quaerat vitae inventore magni vero voluptates officiis dolorem alias incidunt iure in sapiente doloribus, quos distinctio? Illo, ullam?
+            ''',
+            items=[
+                ui.inline(justify='end', items=[
+                    ui.mini_buttons([
+                        ui.mini_button(name='like', label='4', icon='Heart'),
+                        ui.mini_button(name='comment', label='2', icon='Comment'),
+                        ui.mini_button(name='share', label='1', icon='Share'),
+                    ]),
+                ])
+            ],
+        )
+
+    await q.page.save()
diff --git a/examples/wide_info.py b/examples/wide_info.py
new file mode 100644
index 0000000000000000000000000000000000000000..7e5eb4deb95adb480b0b0ef64faa38b860cc5d4e
--- /dev/null
+++ b/examples/wide_info.py
@@ -0,0 +1,29 @@
+# Info / Wide
+# Create a wide information card displaying a title, caption, and either an icon or image.
+# ---
+from h2o_wave import main, app, Q, ui
+
+
+@app('/demo')
+async def serve(q: Q):
+    if q.args.info_card:
+        q.page['example'] = ui.form_card(box='1 1 4 5', items=[
+            ui.button(name='back', label='Back', primary=True),
+        ])
+    else:
+        q.page['example'] = ui.wide_info_card(
+            box='1 1 4 5',
+            name='info_card',
+            title='Info Card',
+            subtitle='Subtitle',
+            caption='''
+Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quia aliquam maxime quos facere
+necessitatibus tempore eum odio, qui illum. Repellat modi dolor facilis odio ex possimus
+ratione voluptate pariatur cupiditate, quidem quaerat sapiente exercitationem in omnis nulla
+maiores consequatur dolores illo inventore quae obcaecati culpa totam corporis! Repudiandae, nostrum repellendus.
+''',
+            category='Category',
+            label='Click me',
+            image='https://images.pexels.com/photos/3225517/pexels-photo-3225517.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=750&w=1260' # noqa
+        )
+    await q.page.save()
diff --git a/examples/wide_plot.py b/examples/wide_plot.py
new file mode 100644
index 0000000000000000000000000000000000000000..131e37847028ebce28bae699e61c240a380755c6
--- /dev/null
+++ b/examples/wide_plot.py
@@ -0,0 +1,25 @@
+# Plot / Wide
+# Create a wide plot card displaying a plot with title and caption.
+# ---
+from h2o_wave import site, ui, data
+
+page = site['/demo']
+
+page.add('example', ui.wide_plot_card(
+    box='1 1 5 5',
+    title='Wide Plot Card',
+    caption='''
+    Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quia aliquam maxime quos facere
+    necessitatibus tempore eum odio, qui illum. Repellat modi dolor facilis odio ex possimus
+    ''',
+    data=data('profession salary', 5, rows=[
+        ('medicine', 23000),
+        ('fire fighting', 18000),
+        ('pedagogy', 24000),
+        ('psychology', 22500),
+        ('computer science', 36000),
+    ]),
+    plot=ui.plot([ui.mark(type='interval', x='=profession', y='=salary', y_min=0)])
+))
+
+page.save()
diff --git a/examples/wizard.py b/examples/wizard.py
new file mode 100644
index 0000000000000000000000000000000000000000..a79521127ad24c458932311bcc8a02afff47c388
--- /dev/null
+++ b/examples/wizard.py
@@ -0,0 +1,60 @@
+# Wizard
+# Create a multi-step #wizard using #form cards.
+# ---
+from h2o_wave import Q, ui, main, app, cypress, Cypress
+
+
+@app('/demo')
+async def serve(q: Q):
+    if not q.client.initialized:  # First visit, create an empty form card for our wizard
+        q.page['wizard'] = ui.form_card(box='1 1 2 4', items=[])
+        q.client.initialized = True
+
+    wizard = q.page['wizard']  # Get a reference to the wizard form
+    if q.args.step1:
+        wizard.items = [
+            ui.text_xl('Wizard - Step 1'),
+            ui.text('What is your name?', name='text'),
+            ui.textbox(name='nickname', label='My name is...', value='Gandalf'),
+            ui.buttons([ui.button(name='step2', label='Next', primary=True)]),
+        ]
+    elif q.args.step2:
+        q.client.nickname = q.args.nickname
+        wizard.items = [
+            ui.text_xl('Wizard - Step 2'),
+            ui.text(f'Hi {q.args.nickname}! How do you feel right now?', name='text'),
+            ui.textbox(name='feeling', label='I feel...', value='magical'),
+            ui.buttons([ui.button(name='step3', label='Next', primary=True)]),
+        ]
+    elif q.args.step3:
+        wizard.items = [
+            ui.text_xl('Wizard - Done'),
+            ui.text(
+                f'What a coincidence, {q.client.nickname}! I feel {q.args.feeling} too!',
+                name='text',
+            ),
+            ui.buttons([ui.button(name='step1', label='Try Again', primary=True)]),
+        ]
+    else:
+        wizard.items = [
+            ui.text_xl('Wizard Example'),
+            ui.text("Let's have a conversation, shall we?"),
+            ui.buttons([ui.button(name='step1', label='Of course!', primary=True)]),
+        ]
+
+    await q.page.save()
+
+
+@cypress('Walk through the wizard')
+def try_walk_through(cy: Cypress):
+    cy.visit('/demo')
+    cy.locate('step1').click()
+    cy.locate('text').should('contain.text', 'What is your name?')
+    cy.locate('nickname').clear().type('Fred')
+    cy.locate('step2').click()
+    cy.locate('text').should('contain.text', 'Hi Fred! How do you feel right now?')
+    cy.locate('feeling').clear().type('quirky')
+    cy.locate('step3').click()
+    cy.locate('text').should(
+        'contain.text', 'What a coincidence, Fred! I feel quirky too!'
+    )
diff --git a/h2o_wave-DEV-py3-none-macosx_10_9_x86_64.whl b/h2o_wave-DEV-py3-none-macosx_10_9_x86_64.whl
new file mode 100644
index 0000000000000000000000000000000000000000..cb7351bb0f8801b581dc77d908a5674c5f083554
--- /dev/null
+++ b/h2o_wave-DEV-py3-none-macosx_10_9_x86_64.whl
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:270ff122e355dced62fec6f145fd27877b13d5131adc6829b243c9de429716a9
+size 9410673
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000000000000000000000000000000000000..12a0df5d1752382898908e27350a7ecee4c98795
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,15 @@
+h2o_wave-DEV-py3-none-macosx_10_9_x86_64.whl
+altair==4.2.0
+bokeh==2.4.2
+Faker==13.3.4
+h2o-wave-ml==0.8.1
+loguru==0.6.0
+matplotlib==3.5.1
+numpy==1.21.6
+opencv-python==4.5.5.64
+pandas==1.3.5
+plotly==5.7.0
+pygments==2.11.2
+scikit-learn==1.0.2
+toml==0.10.2
+vega-datasets==0.9.0
diff --git a/tour.conf b/tour.conf
new file mode 100644
index 0000000000000000000000000000000000000000..fdd427b07b8ae05c156844b570e936896408d4bd
--- /dev/null
+++ b/tour.conf
@@ -0,0 +1,263 @@
+hello_world.py
+todo.py
+wizard.py
+issue_tracker.py
+dashboard.py
+tall_info.py
+article.py
+wide_info.py
+wide_plot.py
+post.py
+preview.py
+stat_wide_pie.py
+tall_article_preview.py
+wide_article_preview.py
+profile.py
+stat_small.py
+stat_large.py
+stat_wide_gauge.py
+stat_tall_gauge.py
+stat_wide_bar.py
+stat_wide_pie.py
+stat_large_bar.py
+stat_small_series_area.py
+stat_small_series_interval.py
+stat_wide_series_area.py
+stat_wide_series_interval.py
+stat_tall_series_area.py
+stat_tall_series_interval.py
+stat_table.py
+tall_stats.py
+layout.py
+layout_size.py
+layout_responsive.py
+chatbot.py
+form.py
+form_visibility.py
+text.py
+copyable_text.py
+text_sizes.py
+text_annotator.py
+label.py
+link.py
+links.py
+progress.py
+progress_update.py
+message_bar.py
+textbox.py
+textbox_trigger.py
+button.py
+buttons.py
+checkbox.py
+checklist.py
+checklist_inline.py
+picker.py
+picker_selection.py
+dropdown.py
+choice_group.py
+combobox.py
+toggle.py
+spinbox.py
+spinbox_trigger.py
+slider.py
+range_slider.py
+date_picker.py
+date_picker_trigger.py
+time_picker.py
+color_picker.py
+swatch_picker.py
+persona.py
+facepile.py
+tabs.py
+separator.py
+file_upload.py
+file_upload_compact.py
+form_frame.py
+form_frame_path.py
+form_template.py
+form_markup.py
+stepper.py
+table_markdown_pandas.py
+table.py
+table_sort.py
+table_search.py
+table_filter.py
+table_filter_backend.py
+table_download.py
+table_groupby.py
+table_groups.py
+table_select_single.py
+table_select_multiple.py
+table_events_select.py
+table_tags.py
+table_pagination.py
+table_pagination_pandas.py
+table_pagination_h2o3.py
+table_pagination_minimal.py
+table_pagination_sort.py
+table_pagination_filter.py
+table_pagination_search.py
+table_pagination_download.py
+table_pagination_groups.py
+table_menu.py
+table_markdown.py
+table_markdown_overflow.py
+tags.py
+image.py
+image_popup.py
+image_annotator.py
+inline.py
+file_stream.py
+frame.py
+frame_path.py
+template.py
+template_data.py
+markdown.py
+markdown_table.py
+markdown_data.py
+markdown_submit_text.py
+markup.py
+nav.py
+toolbar.py
+tab.py
+tab_delete.py
+breadcrumbs.py
+header.py
+footer.py
+routing.py
+routing_predicates.py
+hash_routing.py
+hash_routing_parameters.py
+toolbar_routing.py
+card_menu.py
+menu.py
+plot_theme.py
+plot_point.py
+plot_point_shapes.py
+plot_point_sizes.py
+plot_point_map.py
+plot_point_groups.py
+plot_point_annotation.py
+plot_point_custom.py
+plot_interval.py
+plot_interval_transpose.py
+plot_interval_groups.py
+plot_interval_groups_transpose.py
+plot_interval_labels.py
+plot_interval_range.py
+plot_interval_range_transpose.py
+plot_interval_stacked.py
+plot_interval_stacked_transpose.py
+plot_interval_stacked_grouped.py
+plot_interval_stacked_grouped_transpose.py
+plot_interval_polar.py
+plot_interval_polar_stacked.py
+plot_interval_theta.py
+plot_interval_theta_stacked.py
+plot_interval_helix.py
+plot_interval_annotation.py
+plot_interval_annotation_transpose.py
+plot_line.py
+plot_line_groups.py
+plot_line_smooth.py
+plot_step.py
+plot_step_after.py
+plot_step_before.py
+plot_line_labels.py
+plot_line_labels_custom.py
+plot_line_labels_stroked.py
+plot_line_labels_no_overlap.py
+plot_line_annotation.py
+plot_path.py
+plot_path_point.py
+plot_path_smooth.py
+plot_area.py
+plot_area_groups.py
+plot_area_negative.py
+plot_area_range.py
+plot_area_smooth.py
+plot_area_stacked.py
+plot_area_line.py
+plot_area_line_smooth.py
+plot_area_line_groups.py
+plot_polygon.py
+plot_histogram.py
+plot_schema.py
+plot_schema_transpose.py
+plot_interaction_zoom.py
+plot_interaction_brush.py
+plot_interaction_drag_move.py
+plot_axis_title.py
+plot_form.py
+plot_app.py
+plot_events.py
+plot_events_disabled.py
+plot_events_routing.py
+plot_pandas.py
+plot_vega.py
+plot_vegalite.py
+plot_vegalite_update.py
+plot_vegalite_form.py
+plot_vegalite_flex.py
+plot_altair.py
+plot_bokeh.py
+plot_bokeh_script.py
+plot_bokeh_callbacks.py
+plot_matplotlib.py
+plot_plotly.py
+plot_d3.py
+pixel_art.py
+upload.py
+upload_async.py
+upload_ui.py
+upload_download.py
+upload_frame.py
+meta_inline_script.py
+meta_inline_script_callback.py
+meta_script.py
+meta_script_callback.py
+meta_stylesheet.py
+meta_inline_stylesheet.py
+meta_dialog.py
+meta_dialog_closable.py
+meta_side_panel.py
+meta_side_panel_closable.py
+meta_title.py
+meta_icon.py
+meta_notification.py
+meta_notification_bar.py
+meta_notification_bar_closable.py
+meta_refresh.py
+meta_redirect.py
+meta_theme.py
+theme_generator.py
+meta_tracking.py
+counter_global.py
+counter_broadcast.py
+counter_multicast.py
+counter_unicast.py
+background.py
+background_executor.py
+background_progress.py
+site_async.py
+http_client.py
+checkpoint.py
+graphics_primitives.py
+graphics_spline.py
+graphics_clock.py
+graphics_path.py
+graphics_turtle.py
+graphics_hilbert.py
+glider_gun.py
+ml_h2o.py
+ml_h2o_save.py
+ml_h2o_categorical.py
+ml_h2o_parameters.py
+ml_h2o_algo.py
+ml_h2o_shap.py
+ml_dai.py
+ml_dai_save.py
+ml_dai_categorical.py
+ml_dai_parameters.py
+ml_dai_autodoc.py
+ml_dai_instances.py
diff --git a/tour.js b/tour.js
new file mode 100644
index 0000000000000000000000000000000000000000..dc3fa92b4bdc2f310702fba43d5727ccabac4b66
--- /dev/null
+++ b/tour.js
@@ -0,0 +1,64 @@
+require.config({
+  paths: {
+    'vs': '$tour_assets' + '/monaco',
+    'pyodide': '$tour_assets' + '/pyodide/pyodide.js'
+  }
+})
+window.MonacoEnvironment = {
+  getWorkerUrl: function (workerId, label) {
+    const { origin } = window.location
+    return `$${origin}$${'$base_url'}assets/monaco/base/worker/workerMain.js`
+  }
+}
+const completionToCompletionItem = item => ({
+  label: item.get('label'),
+  kind: item.get('kind'),
+  insertText: item.get('label'),
+  sortText: item.get('sort_text'),
+})
+const snippetToCompletionItem = item => ({
+  label: item.prefix,
+  kind: monaco.languages.CompletionItemKind.Snippet,
+  documentation: item.description,
+  insertText: item.body.join('\n'),
+  insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
+})
+require(['vs/editor/editor.main', 'pyodide'], async () => {
+  monaco.languages.registerCompletionItemProvider('python', {
+    triggerCharacters: ['.', "'", '"'],
+    provideCompletionItems: async (model, position) => {
+      const pyRes = await window.pyodide.runPython(`get_wave_completions($${position.lineNumber - 1}, $${position.column - 1}, \'\'\'$${model.getValue()}\'\'\')`)
+      const completions = pyRes ? pyRes.toJs().map(completionToCompletionItem) : []
+      // HACK: Fetch on every keystroke due to weird bug in monaco - showing snippets only for first example.
+      let [snippets1, snippets2] = await Promise.all([
+        fetch('$snippets1').then(r => r.json()),
+        fetch('$snippets2').then(r => r.json()),
+      ])
+      snippets1 = Object.values(snippets1).map(snippetToCompletionItem)
+      snippets2 = Object.values(snippets2).map(snippetToCompletionItem)
+      return { suggestions: [...completions, ...snippets1, ...snippets2] }
+    }
+  })
+  const editor = monaco.editor.create(document.getElementById('monaco-editor'), {
+    value: '',
+    language: 'python',
+    minimap: { enabled: false },
+    overviewRulerLanes: 0,
+    hideCursorInOverviewRuler: true,
+    scrollbar: { vertical: 'hidden' },
+    overviewRulerBorder: false,
+    lineDecorationsWidth: 0,
+    lineNumbersMinChars: 3,
+    automaticLayout: true,
+  })
+  editor.onDidChangeModelContent(e => {
+    if (e.isFlush) return
+    emit_debounced('editor', 'change', editor.getValue())
+  })
+  window.editor = editor
+  window.emit_debounced = window.wave.debounce(2000, window.wave.emit)
+  window.pyodide = await window.loadPyodide()
+  await window.pyodide.loadPackage('parso')
+  await window.pyodide.loadPackage('jedi')
+  await window.pyodide.runPythonAsync(`$py_content`)
+})
diff --git a/tour.py b/tour.py
new file mode 100644
index 0000000000000000000000000000000000000000..f614d4ce24f05d0134f7c48aec33e7d9b6cbbf4a
--- /dev/null
+++ b/tour.py
@@ -0,0 +1,416 @@
+import collections
+import os
+import os.path
+import re
+import shutil
+import socket
+import subprocess
+import sys
+import uuid
+from contextlib import closing
+from pathlib import Path
+from string import Template
+from typing import Dict, List, Optional, Tuple
+from urllib.parse import urlparse
+
+from h2o_wave import Q, app, main, ui
+
+example_dir = os.path.dirname(os.path.realpath(__file__))
+tour_tmp_dir = os.path.join(example_dir, '_tour_apps_tmp')
+
+_base_url = os.environ.get('H2O_WAVE_BASE_URL', '/')
+_app_address = urlparse(os.environ.get('H2O_WAVE_APP_ADDRESS', 'http://127.0.0.1:8000'))
+default_example_name = 'hello_world'
+vsc_extension_path = os.path.join(example_dir, '..', '..', 'tools', 'vscode-extension')
+
+
+def scan_free_port(port: int):
+    while True:
+        with closing(socket.socket(socket.AF_INET, socket.SOCK_STREAM)) as sock:
+            if sock.connect_ex(('localhost', port)):
+                return port
+        port += 1
+
+
+class Example:
+    def __init__(self, filename: str, title: str, description: str, source: str):
+        self.name = os.path.splitext(filename)[0]
+        self.filename = filename
+        self.title = title
+        self.description = description
+        self.source = source
+        self.previous_example: Optional[Example] = None
+        self.next_example: Optional[Example] = None
+        self.process: Optional[subprocess.Popen] = None
+
+    def start(self, filename: str, is_app: bool, q: Q):
+        env = os.environ.copy()
+        env['H2O_WAVE_BASE_URL'] = _base_url
+        env['H2O_WAVE_ADDRESS'] = os.environ.get('H2O_WAVE_ADDRESS', 'http://127.0.0.1:10101')
+        # The environment passed into Popen must include SYSTEMROOT, otherwise Popen will fail when called
+        # inside python during initialization if %PATH% is configured, but without %SYSTEMROOT%.
+        if sys.platform.lower().startswith('win'):
+            env['SYSTEMROOT'] = os.environ['SYSTEMROOT']
+        if is_app:
+            q.app.app_port = scan_free_port(q.app.app_port)
+            env['H2O_WAVE_APP_ADDRESS'] = f'http://{_app_address.hostname}:{q.app.app_port}'
+            self.process = subprocess.Popen([
+                sys.executable, '-m', 'uvicorn',
+                '--host', '0.0.0.0',
+                '--port', str(q.app.app_port),
+                f'examples.{filename.replace(".py", "")}:main',
+            ], env=env)
+        else:
+            self.process = subprocess.Popen([sys.executable, os.path.join(example_dir, filename)], env=env)
+
+    def stop(self):
+        if self.process and self.process.returncode is None:
+            self.process.terminate()
+            self.process.wait()
+
+
+def read_lines(p: str) -> List[str]:
+    with open(p, encoding='utf-8') as f:
+        return f.readlines()
+
+
+def read_file(p: str) -> str:
+    with open(p, encoding='utf-8') as f:
+        return f.read()
+
+
+def strip_comment(line: str) -> str:
+    """Returns the content of a line without '#' and ' ' characters
+
+    remove leading '#', but preserve '#' that is part of a tag
+    example:
+    >>> '# #hello '.strip('#').strip()
+    '#hello'
+    """
+    return line.strip('#').strip()
+
+
+def parse_tags(description: str) -> Tuple[str, List[str]]:
+    """Creates tags from description.
+
+    Accepts a description containing tags and returns a (new_description, tags) tuple.
+
+    The convention for tags:
+    1. Any valid twitter hashtag
+
+    For example, accept a description in any of the following forms
+
+    1. Use a checklist to group a set of related checkboxes. #form #checkbox #checklist
+
+    2. Use a checklist to group a set of related checkboxes.
+       #form #checkbox #checklist
+
+    3. Use a #checklist to group a set of related checkboxes.
+       #form #checkbox
+
+    and return
+    ('Use a checklist to group a set of related checkboxes.', ['checkbox', 'checklist', 'form']). The list of tags will
+    be sorted and all tags will be converted to lowercase.
+
+    Args:
+        description: Complete description of an example.
+    Returns:
+        A tuple of new_description and a sorted list of tags. new_description is created by removing the '#' characters
+        from the description.
+    """
+    hashtag_regex_pattern = r"(\s+)#(\w*[a-zA-Z]+\w*)\b"
+    pattern = re.compile(hashtag_regex_pattern)
+    matches = pattern.findall(' ' + description)
+
+    # Retrieve tags from the matches
+    tags = sorted(list(set([x[-1].lower() for x in matches])))
+
+    # Remove the '#' before the tags in description
+    new_d = pattern.sub(r'\1\2', ' ' + description)
+
+    # Remove the last line in description if it has only tags
+    *lines, last_line = new_d.strip().splitlines()
+    last_line_has_tags_only = len(last_line.strip()) > 1 and all([x.strip().lower() in tags for x in last_line.split()])
+    if last_line_has_tags_only:
+        # Return all lines except the last line
+        return '\n'.join(lines), tags
+
+    # Remove the last sentence if it has only tags
+    *sentences, last_sentence = last_line.split('. ')
+    last_sentence_has_tags_only = len(last_sentence.strip()) > 1 and all(
+        [x.strip().lower() in tags for x in last_sentence.split()])
+    if last_sentence_has_tags_only:
+        # Return all lines and all sentences in the last line except the last sentence
+        lines.extend(sentences)
+        return '\n'.join(lines) + '.', tags
+
+    # Return the complete description
+    lines.append(last_line)
+    return '\n'.join(lines), tags
+
+
+def load_example(filename: str) -> Example:
+    contents = read_file(os.path.join(example_dir, filename))
+    parts = contents.split('---', maxsplit=1)
+    header, source = parts[0].strip().splitlines(), parts[1].strip()
+    title, description = strip_comment(header[0]), [strip_comment(x) for x in header[1:]]
+    new_description, _ = parse_tags('\n'.join(description))
+    return Example(filename, title, new_description, source)
+
+
+def load_examples(filenames: List[str]) -> Dict[str, Example]:
+    examples = collections.OrderedDict()
+    for filename in filenames:
+        example = load_example(filename)
+        examples[example.name] = example
+    example_list = [e for e in examples.values()]
+    k = len(example_list) - 1
+    for i, e in enumerate(example_list):
+        if i > 0:
+            e.previous_example = example_list[i - 1]
+        if i < k:
+            e.next_example = example_list[i + 1]
+    return examples
+
+
+app_title = 'H2O Wave Tour'
+header_height = 76
+blurb_height = 56
+mobile_blurb_height = 76
+
+
+async def setup_page(q: Q):
+    py_content = ''
+    parser_path = os.path.join(example_dir, 'tour_autocomplete_parser.py')
+    utils_path = os.path.join(example_dir, 'tour_autocomplete_utils.py')
+    # In prod.
+    if os.path.exists(parser_path) and os.path.exists(utils_path):
+        with open(parser_path, 'r') as f:
+            py_content = f.read()
+        with open(utils_path, 'r') as f:
+            py_content += f.read()
+    # When run in development from Wave repo.
+    elif os.path.exists(vsc_extension_path):
+        with open(os.path.join(vsc_extension_path, 'server', 'parser.py'), 'r') as f:
+            py_content = f.read()
+        with open(os.path.join(vsc_extension_path, 'server', 'utils.py'), 'r') as f:
+            py_content += f.read()
+
+    if py_content:
+        py_content += '''
+def get_wave_completions(line, character, file_content):
+    completion_type, leaf_val = get_completion_type(line, character, file_content)
+    if completion_type in ['args', 'events', 'zones', 'client', 'app', 'user']:
+        completion_items = []
+        file_metadata = fill_completion(file_content)
+        if completion_type == 'events' and leaf_val:
+            completion_items = list(getattr(file_metadata, completion_type).get(leaf_val, []))
+        elif completion_type == 'events' and leaf_val is None:
+            completion_items = list(getattr(file_metadata, completion_type).keys())
+        elif leaf_val is None:
+            completion_items = getattr(file_metadata, completion_type)
+        return [{'label': label, 'kind': 6, 'sort_text': '0'} for label in completion_items]
+    elif completion_type == 'themes':
+        return [{'label': theme, 'kind': 13, 'sort_text': '0'} for theme in themes]
+    elif completion_type == 'icons':
+        return [{'label': icon, 'kind': 13, 'sort_text': '0'} for icon in fluent_icons]
+        '''
+    js_code = ''
+    with open(os.path.join(example_dir, 'tour.js'), 'r') as f:
+        js_code = f.read()
+    template = Template(js_code).substitute(
+        tour_assets=q.app.tour_assets,
+        base_url=_base_url,
+        snippets1=q.app.snippets1,
+        snippets2=q.app.snippets2,
+        py_content=py_content
+    )
+    q.page['meta'] = ui.meta_card(
+        box='',
+        title=app_title,
+        scripts=[ui.script(q.app.tour_assets + '/loader.min.js')],
+        script=ui.inline_script(content=template, requires=['require'], targets=['monaco-editor']),
+        layouts=[
+            ui.layout(
+                breakpoint='xs',
+                zones=[
+                    ui.zone('mobile_header'),
+                    ui.zone('main',
+                            zones=[
+                                ui.zone('code', size=f'calc(50vh - {(header_height + mobile_blurb_height) / 2}px)'),
+                                ui.zone('preview', size=f'calc(50vh - {(header_height + mobile_blurb_height) / 2}px)'),
+                            ]),
+                    ui.zone('mobile_blurb')
+                ],
+            ),
+            ui.layout(breakpoint='m', zones=[
+                ui.zone('header'),
+                ui.zone('blurb'),
+                ui.zone('main', size=f'calc(100vh - {header_height + blurb_height}px)', direction=ui.ZoneDirection.ROW,
+                        zones=[
+                            ui.zone('code'),
+                            ui.zone('preview')
+                        ])
+            ]),
+        ])
+    nav_links = [
+        ('docs', 'Wave docs', 'https://wave.h2o.ai/docs/getting-started'),
+        ('discussions', 'Discussions', 'https://github.com/h2oai/wave/discussions'),
+        ('blog', 'Blog', 'https://wave.h2o.ai/blog'),
+        ('cloud', 'H2O AI Cloud', 'https://h2o.ai/platform/ai-cloud/'),
+        ('h2o', 'H2O', 'https://www.h2o.ai/'),
+    ]
+    q.page['header'] = ui.header_card(
+        box='header',
+        title=app_title,
+        subtitle=f'{len(catalog)} Interactive Examples',
+        image=f'{q.app.tour_assets}/h2o-logo.svg',
+        items=[
+            ui.links(inline=True, items=[ui.link(label=link[1], path=link[2], target='_blank') for link in nav_links])
+        ])
+    q.page['mobile_header'] = ui.header_card(
+        box='mobile_header',
+        title=app_title,
+        subtitle=f'{len(catalog)} Interactive Examples',
+        image=f'{q.app.tour_assets}/h2o-logo.svg',
+        nav=[
+            ui.nav_group('Links', items=[ui.nav_item(name=link[0], label=link[1], path=link[2]) for link in nav_links])
+        ])
+    q.page['blurb'] = ui.section_card(box='blurb', title='', subtitle='', items=[])
+    q.page['mobile_blurb'] = ui.form_card(box='mobile_blurb', items=[])
+    q.page['code'] = ui.markup_card(
+        box='code',
+        title='',
+        content='<div id="monaco-editor" style="position: absolute; top: 45px; bottom: 15px; right: 15px; left: 2px"/>'
+    )
+    # Put tmp placeholder <div></div> to simulate blank screen.
+    q.page['preview'] = ui.frame_card(box='preview', title='Preview', content='<div></div>')
+    await q.page.save()
+
+
+def make_blurb(q: Q):
+    example = q.client.active_example
+    blurb_card = q.page['blurb']
+    blurb_card.title = example.title
+    blurb_card.subtitle = example.description
+    # HACK: Recreate dropdown every time (by dynamic name) to control value (needed for next / prev btn functionality).
+    items = [ui.dropdown(name=q.args['#'] or default_example_name, width='300px', value=example.name, trigger=True,
+                         choices=[ui.choice(name=e.name, label=e.title) for e in catalog.values()])]
+    if example.previous_example:
+        items.append(ui.button(name=f'#{example.previous_example.name}', label='Prev'))
+    if example.next_example:
+        items.append(ui.button(name=f'#{example.next_example.name}', label='Next', primary=True))
+    blurb_card.items = items
+    q.page['mobile_blurb'].items = [ui.inline(direction='row', justify='center', items=items)]
+
+
+async def show_example(q: Q, example: Example):
+    # Clear demo page
+    demo_page = q.site[f'/{q.client.path}']
+    demo_page.drop()
+    await demo_page.save()
+
+    filename = os.path.join(tour_tmp_dir, f'{q.client.path}.py')
+    code = q.events.editor.change if q.events.editor else example.source
+    code = code.replace("`", "\\`")
+    is_app = code.find('@app(') > 0
+    with open(filename, 'w') as f:
+        fixed_path = code
+        if is_app:
+            fixed_path = fixed_path.replace("@app('/demo')", f"@app('/{q.client.path}')")
+        else:
+            fixed_path = fixed_path.replace("site['/demo']", f"site['/{q.client.path}']")
+        f.write(fixed_path)
+    if is_app:
+        filename = '.'.join([tour_tmp_dir, f'{q.client.path}.py']).split(os.sep)[-1]
+
+    # Stop active example, if any.
+    active_example = q.client.active_example
+    if active_example:
+        active_example.stop()
+
+    # Start new example
+    example.start(filename, is_app, q)
+    q.client.active_example = example
+
+    # Update example blurb
+    make_blurb(q)
+
+    # Update preview title
+    q.page['preview'].title = f'Preview of {example.filename}'
+    q.page['code'].title = example.filename
+    await q.page.save()
+
+    if q.client.is_first_load:
+        # Make sure all the JS has loaded properly.
+        await q.sleep(1)
+        q.client.is_first_load = False
+
+    # Update code display
+    if not q.events.editor:
+        code = code.replace('$', '\\$')
+        q.page['meta'].script = ui.inline_script(f'editor.setValue(`{code}`)', requires=['editor'])
+        await q.page.save()
+        if q.args['#']:
+            q.page['meta'].script = ui.inline_script('editor.setScrollPosition({ scrollTop: 0 }); editor.focus()',
+                                                     requires=['editor'])
+
+    # HACK
+    # The ?e= appended to the path forces the frame to reload.
+    # The url param is not actually used.
+    q.page['preview'].path = f'{_base_url}{q.client.path}?e={example.name}'
+    await q.page.save()
+
+
+async def on_startup():
+    # Clean up previous tmp dir.
+    await on_shutdown()
+    os.mkdir(tour_tmp_dir)
+    shutil.copyfile(os.path.join(example_dir, 'synth.py'), os.path.join(tour_tmp_dir, 'synth.py'))
+    shutil.copyfile(os.path.join(example_dir, 'plot_d3.js'), os.path.join(tour_tmp_dir, 'plot_d3.js'))
+
+
+async def on_shutdown():
+    dirpath = Path(tour_tmp_dir)
+    if dirpath.exists():
+        shutil.rmtree(dirpath)
+
+
+@app('/tour', on_startup=on_startup, on_shutdown=on_shutdown)
+async def serve(q: Q):
+    if not q.app.initialized:
+        q.app.app_port = 10102
+        q.app.tour_assets, = await q.site.upload_dir(os.path.join(example_dir, 'tour-assets'))
+        base_snippets_path = os.path.join(example_dir, 'base-snippets.json')
+        component_snippets_path = os.path.join(example_dir, 'component-snippets.json')
+        # Prod.
+        if os.path.exists(base_snippets_path) and os.path.exists(component_snippets_path):
+            q.app.snippets1, q.app.snippets2, = await q.site.upload([base_snippets_path, component_snippets_path])
+        # When run in development from Wave repo.
+        elif os.path.exists(vsc_extension_path):
+            q.app.snippets1, q.app.snippets2, = await q.site.upload([
+                os.path.join(vsc_extension_path, 'base-snippets.json'),
+                os.path.join(vsc_extension_path, 'component-snippets.json')
+            ])
+        q.app.initialized = True
+    if not q.client.initialized:
+        q.client.initialized = True
+        q.client.is_first_load = True
+        q.client.path = uuid.uuid4()
+        await setup_page(q)
+
+    search = q.args[q.args['#'] or default_example_name]
+    if search and not q.events.editor:
+        q.page['meta'] = ui.meta_card(box='', redirect=f'#{search}')
+
+    await show_example(q, catalog[q.args['#'] or default_example_name])
+
+
+example_filenames = [line.strip() for line in read_lines(os.path.join(example_dir, 'tour.conf')) if
+                     not line.strip().startswith('#')]
+catalog = load_examples(example_filenames)
+print('----------------------------------------')
+print(' Welcome to the H2O Wave Interactive Tour!')
+print('')
+print(' Go to http://localhost:10101/tour')
+print('----------------------------------------')