From 15ae7146d1bb59c872bd7fdc2f0963ed36686a6b Mon Sep 17 00:00:00 2001 From: Iceflower Date: Wed, 3 Apr 2024 23:33:21 +0200 Subject: [PATCH 01/30] [licenses] Create child popups first --- addons/licenses/internal/toolbar.gd | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/addons/licenses/internal/toolbar.gd b/addons/licenses/internal/toolbar.gd index 2c70e2d..9a4a817 100644 --- a/addons/licenses/internal/toolbar.gd +++ b/addons/licenses/internal/toolbar.gd @@ -28,6 +28,8 @@ func _ready() -> void: self.add_child(self._menu) self._add_menu = PopupMenu.new() + self._create_plugin_menu_items() + self._create_engine_menu_items() self._add_menu.add_item("New Component", 0) self._add_menu.set_item_icon(0, get_theme_icon(&"New", &"EditorIcons")) self._add_menu.add_submenu_item("Generate from Plugin", "menu_plugin", 1) @@ -37,9 +39,6 @@ func _ready() -> void: self._add_menu.id_pressed.connect(self._on_add_id_pressed) self.add_child(self._add_menu) - self._create_plugin_menu_items() - self._create_engine_menu_items() - # get plugin config as dictionary func _get_plugin_config(path: String) -> Dictionary: var config: ConfigFile = ConfigFile.new() From 815034e1e6a5588946c8bb6e96b74793a5d260ea Mon Sep 17 00:00:00 2001 From: Iceflower Date: Thu, 4 Apr 2024 01:05:01 +0200 Subject: [PATCH 02/30] [icon_explorer|licenses] Make use of @export for custom nodes --- README.md | 17 ++++++++-- .../internal/ui/detail_panel/detail_panel.gd | 3 +- .../ui/detail_panel/detail_panel.tscn | 32 +++++++++++++++---- .../internal/ui/detail_panel/field.gd | 3 +- .../ui/detail_panel/panels/bootstrap.gd | 9 ++---- .../ui/detail_panel/panels/bootstrap.tscn | 18 +++++++---- .../ui/detail_panel/panels/font_awesome.gd | 6 ++-- .../ui/detail_panel/panels/font_awesome.tscn | 14 ++++---- .../ui/detail_panel/panels/material_design.gd | 12 +++---- .../detail_panel/panels/material_design.tscn | 25 +++++++++------ .../ui/detail_panel/panels/simple_icons.gd | 15 +++------ .../ui/detail_panel/panels/simple_icons.tscn | 31 +++++++++++------- .../internal/ui/detail_panel/panels/tabler.gd | 9 ++---- .../ui/detail_panel/panels/tabler.tscn | 20 +++++++----- .../internal/ui/detail_panel/text_field.tscn | 4 +-- .../internal/ui/explorer/explorer.gd | 9 ++---- .../internal/ui/explorer/explorer.tscn | 31 ++++++++++++++---- .../internal/ui/explorer_dialog.gd | 3 +- .../internal/ui/explorer_dialog.tscn | 19 +++++++++-- addons/icon_explorer/plugin.cfg | 4 +-- addons/licenses/internal/licenses.gd | 9 ++---- addons/licenses/internal/licenses.tscn | 11 ++++--- addons/licenses/internal/licenses_dialog.gd | 2 +- addons/licenses/internal/licenses_dialog.tscn | 9 ++++-- addons/licenses/plugin.cfg | 4 +-- .../aspect_ratio_resize_container/main.tscn | 6 ++-- examples/git_sha_project_setting/main.gd | 6 ++-- examples/git_sha_project_setting/main.tscn | 14 ++++---- examples/glogging/main.gd | 8 ++--- examples/glogging/main.tscn | 12 +++---- examples/licenses/license_container.gd | 14 ++++---- examples/licenses/license_selector.gd | 2 +- examples/licenses/main.tscn | 20 ++++++------ project.godot | 2 +- 34 files changed, 233 insertions(+), 170 deletions(-) diff --git a/README.md b/README.md index b047040..d7748c6 100644 --- a/README.md +++ b/README.md @@ -239,7 +239,8 @@ Downloaded data is saved into `.godot/cache/icon_explorer` to avoid importing it ### Compatibility -- Godot 4.2 +- Godot 4.3: >= 1.2.0 +- Godot 4.2: <= 1.1.0 ### Screenshot @@ -247,6 +248,11 @@ Downloaded data is saved into `.godot/cache/icon_explorer` to avoid importing it ### Changelog +#### 1.2.0 + +- Require Godot 4.3 +- Make use of @export for custom Nodes + #### 1.1.0 - Use editor toast notification @@ -315,7 +321,9 @@ You can change the project license file either with a button at the upper right, ### Compatibility -- Godot 4.2 +- Godot 4.3: >= 1.8.0 +- Godot 4.2: 1.6.0 - 1.7.8 +- Godot 4.1: < 1.6.0 ### Screenshot @@ -341,6 +349,11 @@ License class. ### Changelog +#### 1.8.0 + +- Require Godot 4.3 +- Make use of @export for custom Nodes + #### 1.7.8 - Detect movement of licenses json file diff --git a/addons/icon_explorer/internal/ui/detail_panel/detail_panel.gd b/addons/icon_explorer/internal/ui/detail_panel/detail_panel.gd index 80042c7..0540a46 100644 --- a/addons/icon_explorer/internal/ui/detail_panel/detail_panel.gd +++ b/addons/icon_explorer/internal/ui/detail_panel/detail_panel.gd @@ -10,8 +10,7 @@ const TextField := preload("res://addons/icon_explorer/internal/ui/detail_panel/ @export var _detail_container: VBoxContainer @export var _hint_container: CenterContainer -@export var _toolbar_path: NodePath -@onready var _toolbar: Toolbar = self.get_node(self._toolbar_path) +@export var _toolbar: Toolbar @export var _detail_tabs: TabContainer @export var _icon: TextureRect diff --git a/addons/icon_explorer/internal/ui/detail_panel/detail_panel.tscn b/addons/icon_explorer/internal/ui/detail_panel/detail_panel.tscn index 19c9908..2f3859e 100644 --- a/addons/icon_explorer/internal/ui/detail_panel/detail_panel.tscn +++ b/addons/icon_explorer/internal/ui/detail_panel/detail_panel.tscn @@ -20,7 +20,7 @@ border_color = Color(0.439216, 0.729412, 0.980392, 1) [sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_brt2g"] -[node name="detail_panel" type="PanelContainer" node_paths=PackedStringArray("_detail_container", "_hint_container", "_detail_tabs", "_icon", "_preview_background", "_preview_panel", "_name", "_collection", "_size", "_toolbar_panel")] +[node name="detail_panel" type="PanelContainer" node_paths=PackedStringArray("_detail_container", "_hint_container", "_toolbar", "_detail_tabs", "_icon", "_preview_background", "_preview_panel", "_name", "_collection", "_size", "_toolbar_panel")] anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 @@ -32,7 +32,7 @@ theme_override_styles/panel = SubResource("StyleBoxEmpty_p1g3s") script = ExtResource("1_2iwjs") _detail_container = NodePath("detail_container") _hint_container = NodePath("hint_container") -_toolbar_path = NodePath("detail_container/toolbar_panel/toolbar") +_toolbar = NodePath("detail_container/toolbar_panel/toolbar") _detail_tabs = NodePath("detail_container/v_box_container/scroll_container/detail_tabs") _icon = NodePath("detail_container/v_box_container/preview/icon") _preview_background = NodePath("detail_container/v_box_container/preview/background") @@ -120,24 +120,42 @@ theme_override_styles/panel = SubResource("StyleBoxEmpty_brt2g") current_tab = 2 tabs_visible = false -[node name="bootstrap" parent="detail_container/v_box_container/scroll_container/detail_tabs" instance=ExtResource("5_mxg1a")] +[node name="bootstrap" parent="detail_container/v_box_container/scroll_container/detail_tabs" node_paths=PackedStringArray("_categories", "_tags", "_version_added") instance=ExtResource("5_mxg1a")] visible = false layout_mode = 2 +_categories = NodePath("categories") +_tags = NodePath("aliases") +_version_added = NodePath("version_added") -[node name="font_awesome" parent="detail_container/v_box_container/scroll_container/detail_tabs" instance=ExtResource("8_1041k")] +[node name="font_awesome" parent="detail_container/v_box_container/scroll_container/detail_tabs" node_paths=PackedStringArray("_style", "_aliases") instance=ExtResource("8_1041k")] visible = false layout_mode = 2 +_style = NodePath("style") +_aliases = NodePath("aliases") -[node name="material_design" parent="detail_container/v_box_container/scroll_container/detail_tabs" instance=ExtResource("2_ea6yg")] +[node name="material_design" parent="detail_container/v_box_container/scroll_container/detail_tabs" node_paths=PackedStringArray("_deprecated_banner", "_aliases", "_tags", "_author", "_version") instance=ExtResource("2_ea6yg")] layout_mode = 2 +_deprecated_banner = NodePath("deprecated_banner") +_aliases = NodePath("aliases") +_tags = NodePath("tags") +_author = NodePath("author") +_version = NodePath("version") -[node name="simple_icons" parent="detail_container/v_box_container/scroll_container/detail_tabs" instance=ExtResource("4_em72e")] +[node name="simple_icons" parent="detail_container/v_box_container/scroll_container/detail_tabs" node_paths=PackedStringArray("_color", "_aliases", "_guidelines", "_license", "_source") instance=ExtResource("4_em72e")] visible = false layout_mode = 2 +_color = NodePath("color") +_aliases = NodePath("aliases") +_guidelines = NodePath("guidelines") +_license = NodePath("license") +_source = NodePath("source") -[node name="tabler" parent="detail_container/v_box_container/scroll_container/detail_tabs" instance=ExtResource("7_2jw0k")] +[node name="tabler" parent="detail_container/v_box_container/scroll_container/detail_tabs" node_paths=PackedStringArray("_category", "_tags", "_version") instance=ExtResource("7_2jw0k")] visible = false layout_mode = 2 +_category = NodePath("category") +_tags = NodePath("tags") +_version = NodePath("version_added") [node name="hint_container" type="CenterContainer" parent="."] visible = false diff --git a/addons/icon_explorer/internal/ui/detail_panel/field.gd b/addons/icon_explorer/internal/ui/detail_panel/field.gd index 2190683..a35f44b 100644 --- a/addons/icon_explorer/internal/ui/detail_panel/field.gd +++ b/addons/icon_explorer/internal/ui/detail_panel/field.gd @@ -6,8 +6,7 @@ const FieldTitle := preload("res://addons/icon_explorer/internal/ui/detail_panel @export var title: String: set = set_title -@export var _title_path: NodePath -@onready var _title: FieldTitle = self.get_node(self._title_path) +@export var _title: FieldTitle func set_title(new_title: String) -> void: title = new_title diff --git a/addons/icon_explorer/internal/ui/detail_panel/panels/bootstrap.gd b/addons/icon_explorer/internal/ui/detail_panel/panels/bootstrap.gd index 3b0bc19..f2d9cfb 100644 --- a/addons/icon_explorer/internal/ui/detail_panel/panels/bootstrap.gd +++ b/addons/icon_explorer/internal/ui/detail_panel/panels/bootstrap.gd @@ -5,12 +5,9 @@ const IconBootstrap := preload("res://addons/icon_explorer/internal/scripts/coll const TextField := preload("res://addons/icon_explorer/internal/ui/detail_panel/text_field.gd") const ListField := preload("res://addons/icon_explorer/internal/ui/detail_panel/list_field.gd") -@export var _categories_path: NodePath -@onready var _categories: ListField = self.get_node(self._categories_path) -@export var _tags_path: NodePath -@onready var _tags: ListField = self.get_node(self._tags_path) -@export var _version_added_path: NodePath -@onready var _version_added: TextField = self.get_node(self._version_added_path) +@export var _categories: ListField +@export var _tags: ListField +@export var _version_added: TextField func display(icon: IconBootstrap) -> void: self._categories.set_items(icon.categories) diff --git a/addons/icon_explorer/internal/ui/detail_panel/panels/bootstrap.tscn b/addons/icon_explorer/internal/ui/detail_panel/panels/bootstrap.tscn index 8b5a4ab..68933ee 100644 --- a/addons/icon_explorer/internal/ui/detail_panel/panels/bootstrap.tscn +++ b/addons/icon_explorer/internal/ui/detail_panel/panels/bootstrap.tscn @@ -4,24 +4,28 @@ [ext_resource type="PackedScene" uid="uid://b813qk6u7eveh" path="res://addons/icon_explorer/internal/ui/detail_panel/list_field.tscn" id="2_n1r08"] [ext_resource type="PackedScene" uid="uid://b64tcvn5sw03h" path="res://addons/icon_explorer/internal/ui/detail_panel/text_field.tscn" id="3_5y6bb"] -[node name="bootstrap" type="VBoxContainer"] +[node name="bootstrap" type="VBoxContainer" node_paths=PackedStringArray("_categories", "_tags", "_version_added")] anchors_preset = 10 anchor_right = 1.0 offset_bottom = 205.0 grow_horizontal = 2 script = ExtResource("1_s6ueg") -_categories_path = NodePath("categories") -_tags_path = NodePath("aliases") -_version_added_path = NodePath("version_added") +_categories = NodePath("categories") +_tags = NodePath("aliases") +_version_added = NodePath("version_added") -[node name="categories" parent="." instance=ExtResource("2_n1r08")] +[node name="categories" parent="." node_paths=PackedStringArray("_list") instance=ExtResource("2_n1r08")] layout_mode = 2 +_list = NodePath("margin_container/item_list") title = "Categories" -[node name="aliases" parent="." instance=ExtResource("2_n1r08")] +[node name="aliases" parent="." node_paths=PackedStringArray("_list") instance=ExtResource("2_n1r08")] layout_mode = 2 +_list = NodePath("margin_container/item_list") title = "Aliases" -[node name="version_added" parent="." instance=ExtResource("3_5y6bb")] +[node name="version_added" parent="." node_paths=PackedStringArray("_label", "_button") instance=ExtResource("3_5y6bb")] layout_mode = 2 +_label = NodePath("margin_container/h_box_container/label") +_button = NodePath("margin_container/h_box_container/button") title = "Version added" diff --git a/addons/icon_explorer/internal/ui/detail_panel/panels/font_awesome.gd b/addons/icon_explorer/internal/ui/detail_panel/panels/font_awesome.gd index 4bd75a0..c6cc1f2 100644 --- a/addons/icon_explorer/internal/ui/detail_panel/panels/font_awesome.gd +++ b/addons/icon_explorer/internal/ui/detail_panel/panels/font_awesome.gd @@ -5,10 +5,8 @@ const IconFontAwesome := preload("res://addons/icon_explorer/internal/scripts/co const TextField := preload("res://addons/icon_explorer/internal/ui/detail_panel/text_field.gd") const ListField := preload("res://addons/icon_explorer/internal/ui/detail_panel/list_field.gd") -@export var _style_path: NodePath -@onready var _style: TextField = self.get_node(self._style_path) -@export var _aliases_path: NodePath -@onready var _aliases: ListField = self.get_node(self._aliases_path) +@export var _style: TextField +@export var _aliases: ListField func display(icon: IconFontAwesome) -> void: self._aliases.set_items(icon.aliases) diff --git a/addons/icon_explorer/internal/ui/detail_panel/panels/font_awesome.tscn b/addons/icon_explorer/internal/ui/detail_panel/panels/font_awesome.tscn index 6d1f4aa..de7b5fd 100644 --- a/addons/icon_explorer/internal/ui/detail_panel/panels/font_awesome.tscn +++ b/addons/icon_explorer/internal/ui/detail_panel/panels/font_awesome.tscn @@ -4,20 +4,22 @@ [ext_resource type="PackedScene" uid="uid://b64tcvn5sw03h" path="res://addons/icon_explorer/internal/ui/detail_panel/text_field.tscn" id="2_8xir3"] [ext_resource type="PackedScene" uid="uid://b813qk6u7eveh" path="res://addons/icon_explorer/internal/ui/detail_panel/list_field.tscn" id="3_fm2h0"] -[node name="font_awesome" type="VBoxContainer"] +[node name="font_awesome" type="VBoxContainer" node_paths=PackedStringArray("_style", "_aliases")] anchors_preset = 10 anchor_right = 1.0 offset_bottom = 136.0 grow_horizontal = 2 script = ExtResource("1_uh5pp") -_style_path = NodePath("style") -_aliases_path = NodePath("aliases") +_style = NodePath("style") +_aliases = NodePath("aliases") -[node name="style" parent="." instance=ExtResource("2_8xir3")] +[node name="style" parent="." node_paths=PackedStringArray("_label", "_button") instance=ExtResource("2_8xir3")] layout_mode = 2 +_label = NodePath("margin_container/h_box_container/label") +_button = NodePath("margin_container/h_box_container/button") title = "Style" -[node name="aliases" parent="." instance=ExtResource("3_fm2h0")] +[node name="aliases" parent="." node_paths=PackedStringArray("_list") instance=ExtResource("3_fm2h0")] layout_mode = 2 +_list = NodePath("margin_container/item_list") title = "Aliases" -items = [] diff --git a/addons/icon_explorer/internal/ui/detail_panel/panels/material_design.gd b/addons/icon_explorer/internal/ui/detail_panel/panels/material_design.gd index af5f027..373e9f7 100644 --- a/addons/icon_explorer/internal/ui/detail_panel/panels/material_design.gd +++ b/addons/icon_explorer/internal/ui/detail_panel/panels/material_design.gd @@ -6,14 +6,10 @@ const TextField := preload("res://addons/icon_explorer/internal/ui/detail_panel/ const ListField := preload("res://addons/icon_explorer/internal/ui/detail_panel/list_field.gd") @export var _deprecated_banner: Label -@export var _aliases_path: NodePath -@onready var _aliases: ListField = self.get_node(self._aliases_path) -@export var _tags_path: NodePath -@onready var _tags: ListField = self.get_node(self._tags_path) -@export var _author_path: NodePath -@onready var _author: TextField = self.get_node(self._author_path) -@export var _version_path: NodePath -@onready var _version: TextField = self.get_node(self._version_path) +@export var _aliases: ListField +@export var _tags: ListField +@export var _author: TextField +@export var _version: TextField func display(icon: IconMaterialDesign) -> void: self._deprecated_banner.visible = icon.deprecated diff --git a/addons/icon_explorer/internal/ui/detail_panel/panels/material_design.tscn b/addons/icon_explorer/internal/ui/detail_panel/panels/material_design.tscn index de29fa8..e9d027a 100644 --- a/addons/icon_explorer/internal/ui/detail_panel/panels/material_design.tscn +++ b/addons/icon_explorer/internal/ui/detail_panel/panels/material_design.tscn @@ -4,7 +4,6 @@ [ext_resource type="PackedScene" uid="uid://b813qk6u7eveh" path="res://addons/icon_explorer/internal/ui/detail_panel/list_field.tscn" id="2_sgh8u"] [ext_resource type="PackedScene" uid="uid://b64tcvn5sw03h" path="res://addons/icon_explorer/internal/ui/detail_panel/text_field.tscn" id="3_7hl4l"] - [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_2aicr"] bg_color = Color(0.670588, 0, 0.0901961, 1) border_width_left = 4 @@ -13,17 +12,17 @@ border_width_right = 4 border_width_bottom = 4 border_color = Color(0.670588, 0, 0.0901961, 1) -[node name="material_design" type="VBoxContainer" node_paths=PackedStringArray("_deprecated_banner")] +[node name="material_design" type="VBoxContainer" node_paths=PackedStringArray("_deprecated_banner", "_aliases", "_tags", "_author", "_version")] anchors_preset = 10 anchor_right = 1.0 offset_bottom = 227.0 grow_horizontal = 2 script = ExtResource("1_7oq86") _deprecated_banner = NodePath("deprecated_banner") -_aliases_path = NodePath("aliases") -_tags_path = NodePath("tags") -_author_path = NodePath("author") -_version_path = NodePath("version") +_aliases = NodePath("aliases") +_tags = NodePath("tags") +_author = NodePath("author") +_version = NodePath("version") [node name="deprecated_banner" type="Label" parent="."] layout_mode = 2 @@ -31,18 +30,24 @@ theme_override_styles/normal = SubResource("StyleBoxFlat_2aicr") text = "Deprecated" horizontal_alignment = 1 -[node name="aliases" parent="." instance=ExtResource("2_sgh8u")] +[node name="aliases" parent="." node_paths=PackedStringArray("_list") instance=ExtResource("2_sgh8u")] layout_mode = 2 +_list = NodePath("margin_container/item_list") title = "Aliases" -[node name="tags" parent="." instance=ExtResource("2_sgh8u")] +[node name="tags" parent="." node_paths=PackedStringArray("_list") instance=ExtResource("2_sgh8u")] layout_mode = 2 +_list = NodePath("margin_container/item_list") title = "Tags" -[node name="author" parent="." instance=ExtResource("3_7hl4l")] +[node name="author" parent="." node_paths=PackedStringArray("_label", "_button") instance=ExtResource("3_7hl4l")] layout_mode = 2 +_label = NodePath("margin_container/h_box_container/label") +_button = NodePath("margin_container/h_box_container/button") title = "Created by" -[node name="version" parent="." instance=ExtResource("3_7hl4l")] +[node name="version" parent="." node_paths=PackedStringArray("_label", "_button") instance=ExtResource("3_7hl4l")] layout_mode = 2 +_label = NodePath("margin_container/h_box_container/label") +_button = NodePath("margin_container/h_box_container/button") title = "Version added" diff --git a/addons/icon_explorer/internal/ui/detail_panel/panels/simple_icons.gd b/addons/icon_explorer/internal/ui/detail_panel/panels/simple_icons.gd index 72572cb..509c473 100644 --- a/addons/icon_explorer/internal/ui/detail_panel/panels/simple_icons.gd +++ b/addons/icon_explorer/internal/ui/detail_panel/panels/simple_icons.gd @@ -6,16 +6,11 @@ const ColorField := preload("res://addons/icon_explorer/internal/ui/detail_panel const TextField := preload("res://addons/icon_explorer/internal/ui/detail_panel/text_field.gd") const ListField := preload("res://addons/icon_explorer/internal/ui/detail_panel/list_field.gd") -@export var _color_path: NodePath -@onready var _color: ColorField = self.get_node(self._color_path) -@export var _aliases_path: NodePath -@onready var _aliases: ListField = self.get_node(self._aliases_path) -@export var _guidelines_path: NodePath -@onready var _guidelines: TextField = self.get_node(self._guidelines_path) -@export var _license_path: NodePath -@onready var _license: TextField = self.get_node(self._license_path) -@export var _source_path: NodePath -@onready var _source: TextField = self.get_node(self._source_path) +@export var _color: ColorField +@export var _aliases: ListField +@export var _guidelines: TextField +@export var _license: TextField +@export var _source: TextField func display(icon: IconSimpleIcons) -> void: self._color.color = icon.hex diff --git a/addons/icon_explorer/internal/ui/detail_panel/panels/simple_icons.tscn b/addons/icon_explorer/internal/ui/detail_panel/panels/simple_icons.tscn index cb31d10..5e326b9 100644 --- a/addons/icon_explorer/internal/ui/detail_panel/panels/simple_icons.tscn +++ b/addons/icon_explorer/internal/ui/detail_panel/panels/simple_icons.tscn @@ -5,34 +5,43 @@ [ext_resource type="PackedScene" uid="uid://b813qk6u7eveh" path="res://addons/icon_explorer/internal/ui/detail_panel/list_field.tscn" id="3_ps7ly"] [ext_resource type="PackedScene" uid="uid://b64tcvn5sw03h" path="res://addons/icon_explorer/internal/ui/detail_panel/text_field.tscn" id="4_soj3e"] -[node name="simple_icons" type="VBoxContainer"] +[node name="simple_icons" type="VBoxContainer" node_paths=PackedStringArray("_color", "_aliases", "_guidelines", "_license", "_source")] anchors_preset = 10 anchor_right = 1.0 offset_bottom = 297.0 grow_horizontal = 2 script = ExtResource("1_icjlg") -_color_path = NodePath("color") -_aliases_path = NodePath("aliases") -_guidelines_path = NodePath("guidelines") -_license_path = NodePath("license") -_source_path = NodePath("source") +_color = NodePath("color") +_aliases = NodePath("aliases") +_guidelines = NodePath("guidelines") +_license = NodePath("license") +_source = NodePath("source") -[node name="color" parent="." instance=ExtResource("2_q8ihc")] +[node name="color" parent="." node_paths=PackedStringArray("_color_rect", "_color_label") instance=ExtResource("2_q8ihc")] layout_mode = 2 +_color_rect = NodePath("margin_container/color_rect") +_color_label = NodePath("margin_container/color") title = "Color" -[node name="aliases" parent="." instance=ExtResource("3_ps7ly")] +[node name="aliases" parent="." node_paths=PackedStringArray("_list") instance=ExtResource("3_ps7ly")] layout_mode = 2 +_list = NodePath("margin_container/item_list") title = "Aliases" -[node name="guidelines" parent="." instance=ExtResource("4_soj3e")] +[node name="guidelines" parent="." node_paths=PackedStringArray("_label", "_button") instance=ExtResource("4_soj3e")] layout_mode = 2 +_label = NodePath("margin_container/h_box_container/label") +_button = NodePath("margin_container/h_box_container/button") title = "Brand Guidelines" -[node name="license" parent="." instance=ExtResource("4_soj3e")] +[node name="license" parent="." node_paths=PackedStringArray("_label", "_button") instance=ExtResource("4_soj3e")] layout_mode = 2 +_label = NodePath("margin_container/h_box_container/label") +_button = NodePath("margin_container/h_box_container/button") title = "License" -[node name="source" parent="." instance=ExtResource("4_soj3e")] +[node name="source" parent="." node_paths=PackedStringArray("_label", "_button") instance=ExtResource("4_soj3e")] layout_mode = 2 +_label = NodePath("margin_container/h_box_container/label") +_button = NodePath("margin_container/h_box_container/button") title = "Source" diff --git a/addons/icon_explorer/internal/ui/detail_panel/panels/tabler.gd b/addons/icon_explorer/internal/ui/detail_panel/panels/tabler.gd index 9a6e6c7..d25f0d4 100644 --- a/addons/icon_explorer/internal/ui/detail_panel/panels/tabler.gd +++ b/addons/icon_explorer/internal/ui/detail_panel/panels/tabler.gd @@ -5,12 +5,9 @@ const IconTabler := preload("res://addons/icon_explorer/internal/scripts/collect const TextField := preload("res://addons/icon_explorer/internal/ui/detail_panel/text_field.gd") const ListField := preload("res://addons/icon_explorer/internal/ui/detail_panel/list_field.gd") -@export var _category_path: NodePath -@onready var _category: TextField = self.get_node(self._category_path) -@export var _tags_path: NodePath -@onready var _tags: ListField = self.get_node(self._tags_path) -@export var _version_path: NodePath -@onready var _version: TextField = self.get_node(self._version_path) +@export var _category: TextField +@export var _tags: ListField +@export var _version: TextField func display(icon: IconTabler) -> void: self._tags.set_items(icon.tags) diff --git a/addons/icon_explorer/internal/ui/detail_panel/panels/tabler.tscn b/addons/icon_explorer/internal/ui/detail_panel/panels/tabler.tscn index 71c7627..040d059 100644 --- a/addons/icon_explorer/internal/ui/detail_panel/panels/tabler.tscn +++ b/addons/icon_explorer/internal/ui/detail_panel/panels/tabler.tscn @@ -4,25 +4,29 @@ [ext_resource type="Script" path="res://addons/icon_explorer/internal/ui/detail_panel/panels/tabler.gd" id="1_te45c"] [ext_resource type="PackedScene" uid="uid://b64tcvn5sw03h" path="res://addons/icon_explorer/internal/ui/detail_panel/text_field.tscn" id="2_u3ntg"] - -[node name="tabler" type="VBoxContainer"] +[node name="tabler" type="VBoxContainer" node_paths=PackedStringArray("_category", "_tags", "_version")] anchors_preset = 10 anchor_right = 1.0 offset_bottom = 136.0 grow_horizontal = 2 script = ExtResource("1_te45c") -_category_path = NodePath("category") -_tags_path = NodePath("tags") -_version_path = NodePath("version_added") +_category = NodePath("category") +_tags = NodePath("tags") +_version = NodePath("version_added") -[node name="category" parent="." instance=ExtResource("2_u3ntg")] +[node name="category" parent="." node_paths=PackedStringArray("_label", "_button") instance=ExtResource("2_u3ntg")] layout_mode = 2 +_label = NodePath("margin_container/h_box_container/label") +_button = NodePath("margin_container/h_box_container/button") title = "Category" -[node name="tags" parent="." instance=ExtResource("1_muhea")] +[node name="tags" parent="." node_paths=PackedStringArray("_list") instance=ExtResource("1_muhea")] layout_mode = 2 +_list = NodePath("margin_container/item_list") title = "Tags" -[node name="version_added" parent="." instance=ExtResource("2_u3ntg")] +[node name="version_added" parent="." node_paths=PackedStringArray("_label", "_button") instance=ExtResource("2_u3ntg")] layout_mode = 2 +_label = NodePath("margin_container/h_box_container/label") +_button = NodePath("margin_container/h_box_container/button") title = "Version added" diff --git a/addons/icon_explorer/internal/ui/detail_panel/text_field.tscn b/addons/icon_explorer/internal/ui/detail_panel/text_field.tscn index dfa5740..08a2be6 100644 --- a/addons/icon_explorer/internal/ui/detail_panel/text_field.tscn +++ b/addons/icon_explorer/internal/ui/detail_panel/text_field.tscn @@ -10,12 +10,12 @@ anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 script = ExtResource("1_fhni0") -_title_path = NodePath("title_panel") _label = NodePath("margin_container/h_box_container/label") _button = NodePath("margin_container/h_box_container/button") -[node name="title_panel" parent="." instance=ExtResource("2_vjbmh")] +[node name="title_panel" parent="." node_paths=PackedStringArray("_text_label") instance=ExtResource("2_vjbmh")] layout_mode = 2 +_text_label = NodePath("title") [node name="margin_container" type="MarginContainer" parent="."] layout_mode = 2 diff --git a/addons/icon_explorer/internal/ui/explorer/explorer.gd b/addons/icon_explorer/internal/ui/explorer/explorer.gd index 14713ed..833de06 100644 --- a/addons/icon_explorer/internal/ui/explorer/explorer.gd +++ b/addons/icon_explorer/internal/ui/explorer/explorer.gd @@ -12,20 +12,17 @@ const Options := preload("res://addons/icon_explorer/internal/ui/options/options @export var _filter_icon: TextureRect @export var _filter: LineEdit -@export var _filter_options_path: NodePath -@onready var _filter_options: FilterOptions = self.get_node(self._filter_options_path) +@export var _filter_options: FilterOptions @export var _preview_color: ColorPickerButton @export var _preview_size: HSlider @export var _icon_list: ItemList @export var _options_button: Button @export var _options_popup: Window -@export var _options_path: NodePath -@onready var _options: Options = self.get_node(self._options_path) +@export var _options: Options @export var _progress_bar: ProgressBar -@export var _detail_panel_path: NodePath -@onready var _detail_panel: DetailPanel = self.get_node(self._detail_panel_path) +@export var _detail_panel: DetailPanel @export var _toolbar_panel: PanelContainer @export var _preview_options_panel: PanelContainer diff --git a/addons/icon_explorer/internal/ui/explorer/explorer.tscn b/addons/icon_explorer/internal/ui/explorer/explorer.tscn index 21adbf3..2592ae6 100644 --- a/addons/icon_explorer/internal/ui/explorer/explorer.tscn +++ b/addons/icon_explorer/internal/ui/explorer/explorer.tscn @@ -8,7 +8,7 @@ [sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_gnh63"] -[node name="explorer" type="PanelContainer" node_paths=PackedStringArray("_filter_icon", "_filter", "_preview_color", "_preview_size", "_icon_list", "_options_button", "_options_popup", "_progress_bar", "_toolbar_panel", "_preview_options_panel")] +[node name="explorer" type="PanelContainer" node_paths=PackedStringArray("_filter_icon", "_filter", "_filter_options", "_preview_color", "_preview_size", "_icon_list", "_options_button", "_options_popup", "_options", "_progress_bar", "_detail_panel", "_toolbar_panel", "_preview_options_panel")] anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 @@ -17,15 +17,15 @@ grow_vertical = 2 script = ExtResource("1_2oqmk") _filter_icon = NodePath("icon_viewer/toolbar_panel/toolbar/filter_icon") _filter = NodePath("icon_viewer/toolbar_panel/toolbar/filter") -_filter_options_path = NodePath("icon_viewer/toolbar_panel/toolbar/filter_options") +_filter_options = NodePath("icon_viewer/toolbar_panel/toolbar/filter_options") _preview_color = NodePath("icon_viewer/HSplitContainer/v_box_container/preview_options_panel/preview_options/preview_color") _preview_size = NodePath("icon_viewer/HSplitContainer/v_box_container/preview_options_panel/preview_options/preview_size") _icon_list = NodePath("icon_viewer/HSplitContainer/icons") _options_button = NodePath("icon_viewer/toolbar_panel/toolbar/options") _options_popup = NodePath("option_popup") -_options_path = NodePath("option_popup/options") +_options = NodePath("option_popup/options") _progress_bar = NodePath("icon_viewer/progress_bar") -_detail_panel_path = NodePath("icon_viewer/HSplitContainer/v_box_container/detail_panel") +_detail_panel = NodePath("icon_viewer/HSplitContainer/v_box_container/detail_panel") _toolbar_panel = NodePath("icon_viewer/toolbar_panel") _preview_options_panel = NodePath("icon_viewer/HSplitContainer/v_box_container/preview_options_panel") @@ -43,10 +43,11 @@ layout_mode = 2 stretch_mode = 5 [node name="filter" type="LineEdit" parent="icon_viewer/toolbar_panel/toolbar"] +auto_translate_mode = 2 layout_mode = 2 size_flags_horizontal = 3 -auto_translate = false localize_numeral_system = false +auto_translate = false placeholder_text = "search icons..." editable = false clear_button_enabled = true @@ -108,9 +109,19 @@ layout_mode = 2 color = Color(1, 1, 1, 1) edit_alpha = false -[node name="detail_panel" parent="icon_viewer/HSplitContainer/v_box_container" instance=ExtResource("3_w4j77")] +[node name="detail_panel" parent="icon_viewer/HSplitContainer/v_box_container" node_paths=PackedStringArray("_detail_container", "_hint_container", "_detail_tabs", "_icon", "_preview_background", "_preview_panel", "_name", "_collection", "_size", "_toolbar_panel") instance=ExtResource("3_w4j77")] layout_mode = 2 size_flags_stretch_ratio = 0.34 +_detail_container = NodePath("detail_container") +_hint_container = NodePath("hint_container") +_detail_tabs = NodePath("detail_container/v_box_container/scroll_container/detail_tabs") +_icon = NodePath("detail_container/v_box_container/preview/icon") +_preview_background = NodePath("detail_container/v_box_container/preview/background") +_preview_panel = NodePath("detail_container/v_box_container/preview") +_name = NodePath("detail_container/v_box_container/name") +_collection = NodePath("detail_container/toolbar_panel/toolbar/collection") +_size = NodePath("detail_container/v_box_container/size") +_toolbar_panel = NodePath("detail_container/toolbar_panel") [node name="option_popup" type="Window" parent="."] title = "Icon Explorer Options" @@ -120,4 +131,10 @@ transient = true exclusive = true script = ExtResource("4_03l1v") -[node name="options" parent="option_popup" instance=ExtResource("5_wngaf")] +[node name="options" parent="option_popup" node_paths=PackedStringArray("_load_on_startup", "_collection_tree", "_options_panel", "_options_label", "_collections_panel", "_collections_label") instance=ExtResource("5_wngaf")] +_load_on_startup = NodePath("options/options/v_box_container/load_on_startup") +_collection_tree = NodePath("options/options/tree") +_options_panel = NodePath("options/options/options_panel") +_options_label = NodePath("options/options/options_panel/options") +_collections_panel = NodePath("options/options/collections_panel") +_collections_label = NodePath("options/options/collections_panel/collections_title") diff --git a/addons/icon_explorer/internal/ui/explorer_dialog.gd b/addons/icon_explorer/internal/ui/explorer_dialog.gd index f1da979..b508abe 100644 --- a/addons/icon_explorer/internal/ui/explorer_dialog.gd +++ b/addons/icon_explorer/internal/ui/explorer_dialog.gd @@ -3,8 +3,7 @@ extends Window const Explorer := preload("res://addons/icon_explorer/internal/ui/explorer/explorer.gd") -@export var _explorer_path: NodePath -@onready var _explorer: Explorer = self.get_node(self._explorer_path) +@export var _explorer: Explorer func _notification(what: int) -> void: if (what == NOTIFICATION_WM_CLOSE_REQUEST): diff --git a/addons/icon_explorer/internal/ui/explorer_dialog.tscn b/addons/icon_explorer/internal/ui/explorer_dialog.tscn index 2273e8f..8df3cc0 100644 --- a/addons/icon_explorer/internal/ui/explorer_dialog.tscn +++ b/addons/icon_explorer/internal/ui/explorer_dialog.tscn @@ -3,7 +3,7 @@ [ext_resource type="Script" path="res://addons/icon_explorer/internal/ui/explorer_dialog.gd" id="1_yupxp"] [ext_resource type="PackedScene" uid="uid://dnxwdqwt2eqfi" path="res://addons/icon_explorer/internal/ui/explorer/explorer.tscn" id="2_3tinl"] -[node name="explorer_dialog" type="Window"] +[node name="explorer_dialog" type="Window" node_paths=PackedStringArray("_explorer")] disable_3d = true title = "Icon Explorer" position = Vector2i(210, 133) @@ -12,8 +12,21 @@ visible = false wrap_controls = true transient = true script = ExtResource("1_yupxp") -_explorer_path = NodePath("explorer") +_explorer = NodePath("explorer") -[node name="explorer" parent="." instance=ExtResource("2_3tinl")] +[node name="explorer" parent="." node_paths=PackedStringArray("_filter_icon", "_filter", "_filter_options", "_preview_color", "_preview_size", "_icon_list", "_options_button", "_options_popup", "_options", "_progress_bar", "_detail_panel", "_toolbar_panel", "_preview_options_panel") instance=ExtResource("2_3tinl")] +_filter_icon = NodePath("icon_viewer/toolbar_panel/toolbar/filter_icon") +_filter = NodePath("icon_viewer/toolbar_panel/toolbar/filter") +_filter_options = NodePath("icon_viewer/toolbar_panel/toolbar/filter_options") +_preview_color = NodePath("icon_viewer/HSplitContainer/v_box_container/preview_options_panel/preview_options/preview_color") +_preview_size = NodePath("icon_viewer/HSplitContainer/v_box_container/preview_options_panel/preview_options/preview_size") +_icon_list = NodePath("icon_viewer/HSplitContainer/icons") +_options_button = NodePath("icon_viewer/toolbar_panel/toolbar/options") +_options_popup = NodePath("option_popup") +_options = NodePath("option_popup/options") +_progress_bar = NodePath("icon_viewer/progress_bar") +_detail_panel = NodePath("icon_viewer/HSplitContainer/v_box_container/detail_panel") +_toolbar_panel = NodePath("icon_viewer/toolbar_panel") +_preview_options_panel = NodePath("icon_viewer/HSplitContainer/v_box_container/preview_options_panel") [connection signal="about_to_popup" from="." to="." method="_on_about_to_popup"] diff --git a/addons/icon_explorer/plugin.cfg b/addons/icon_explorer/plugin.cfg index ece53b2..4e93da8 100644 --- a/addons/icon_explorer/plugin.cfg +++ b/addons/icon_explorer/plugin.cfg @@ -3,7 +3,7 @@ name="Icon Explorer" description="Explore icon collections." author="Iceflower S" -version="1.1.0" +version="1.2.0" script="plugin.gd" license="MIT" repository="https://github.com/kenyoni-software/godot-addons" @@ -16,4 +16,4 @@ classifiers=[ ] [plugin.dependencies] -godot=">=4.2" +godot=">=4.3" diff --git a/addons/licenses/internal/licenses.gd b/addons/licenses/internal/licenses.gd index 3a228e0..bf1e651 100644 --- a/addons/licenses/internal/licenses.gd +++ b/addons/licenses/internal/licenses.gd @@ -16,12 +16,9 @@ const StringHandler := preload("res://addons/licenses/internal/handler/string.gd const StringFileHandler := preload("res://addons/licenses/internal/handler/string_file.gd") const StringMultiLineHandler := preload("res://addons/licenses/internal/handler/string_multiline.gd") -@export_node_path("Tree") var _components_tree_path: NodePath -@onready var _components_tree: ComponentsTree = self.get_node(self._components_tree_path) -@export_node_path("Tree") var _component_detail_tree_path: NodePath -@onready var _component_detail_tree: ComponentDetailTree = self.get_node(self._component_detail_tree_path) -@export_node_path("HBoxContainer") var _toolbar_path: NodePath -@onready var _toolbar: Toolbar = self.get_node(self._toolbar_path) +@export var _components_tree: ComponentsTree +@export var _component_detail_tree: ComponentDetailTree +@export var _toolbar: Toolbar @export var _license_file_edit: LineEdit = null @export var _license_file_load_button: Button = null @export var _set_license_filepath_button: Button = null diff --git a/addons/licenses/internal/licenses.tscn b/addons/licenses/internal/licenses.tscn index 46c6025..6927a35 100644 --- a/addons/licenses/internal/licenses.tscn +++ b/addons/licenses/internal/licenses.tscn @@ -11,7 +11,7 @@ [sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_g1exn"] -[node name="licenses" type="MarginContainer" node_paths=PackedStringArray("_license_file_edit", "_license_file_load_button", "_set_license_filepath_button")] +[node name="licenses" type="MarginContainer" node_paths=PackedStringArray("_components_tree", "_component_detail_tree", "_toolbar", "_license_file_edit", "_license_file_load_button", "_set_license_filepath_button")] anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 @@ -24,9 +24,9 @@ theme_override_constants/margin_top = 4 theme_override_constants/margin_right = 4 theme_override_constants/margin_bottom = 4 script = ExtResource("3") -_components_tree_path = NodePath("VBoxContainer/HSplitContainer/PanelContainer/VBoxContainer/components") -_component_detail_tree_path = NodePath("VBoxContainer/HSplitContainer/component_detail") -_toolbar_path = NodePath("VBoxContainer/HSplitContainer/PanelContainer/VBoxContainer/toolbar") +_components_tree = NodePath("VBoxContainer/HSplitContainer/PanelContainer/VBoxContainer/components") +_component_detail_tree = NodePath("VBoxContainer/HSplitContainer/component_detail") +_toolbar = NodePath("VBoxContainer/HSplitContainer/PanelContainer/VBoxContainer/toolbar") _license_file_edit = NodePath("VBoxContainer/license_file_config/edit") _license_file_load_button = NodePath("VBoxContainer/license_file_config/file_button") _set_license_filepath_button = NodePath("VBoxContainer/license_file_config/set_license_filepath_button") @@ -41,10 +41,11 @@ layout_mode = 2 layout_mode = 2 [node name="edit" type="LineEdit" parent="VBoxContainer/license_file_config"] +auto_translate_mode = 2 layout_mode = 2 size_flags_horizontal = 3 -auto_translate = false localize_numeral_system = false +auto_translate = false placeholder_text = "res://licenses.json" [node name="set_license_filepath_button" type="Button" parent="VBoxContainer/license_file_config"] diff --git a/addons/licenses/internal/licenses_dialog.gd b/addons/licenses/internal/licenses_dialog.gd index be93852..1b26646 100644 --- a/addons/licenses/internal/licenses_dialog.gd +++ b/addons/licenses/internal/licenses_dialog.gd @@ -3,7 +3,7 @@ extends Window const LicensesContainer := preload("res://addons/licenses/internal/licenses.gd") -@export_node_path("MarginContainer") var _licenses_path; @onready var _licenses: LicensesContainer = self.get_node(self._licenses_path) +@export var _licenses: LicensesContainer func _notification(what: int) -> void: if (what == NOTIFICATION_WM_CLOSE_REQUEST): diff --git a/addons/licenses/internal/licenses_dialog.tscn b/addons/licenses/internal/licenses_dialog.tscn index 366ef45..62ca5e9 100644 --- a/addons/licenses/internal/licenses_dialog.tscn +++ b/addons/licenses/internal/licenses_dialog.tscn @@ -3,7 +3,7 @@ [ext_resource type="Script" path="res://addons/licenses/internal/licenses_dialog.gd" id="1_0s46i"] [ext_resource type="PackedScene" uid="uid://dfj2mhwrs1oss" path="res://addons/licenses/internal/licenses.tscn" id="1_f3ql8"] -[node name="license_dialog" type="Window"] +[node name="license_dialog" type="Window" node_paths=PackedStringArray("_licenses")] disable_3d = true title = "Licenses" size = Vector2i(1920, 1080) @@ -11,7 +11,7 @@ visible = false wrap_controls = true transient = true script = ExtResource("1_0s46i") -_licenses_path = NodePath("licenses") +_licenses = NodePath("licenses") [node name="panel" type="Panel" parent="."] anchors_preset = 15 @@ -20,6 +20,9 @@ anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 -[node name="licenses" parent="." instance=ExtResource("1_f3ql8")] +[node name="licenses" parent="." node_paths=PackedStringArray("_license_file_edit", "_license_file_load_button", "_set_license_filepath_button") instance=ExtResource("1_f3ql8")] +_license_file_edit = NodePath("VBoxContainer/license_file_config/edit") +_license_file_load_button = NodePath("VBoxContainer/license_file_config/file_button") +_set_license_filepath_button = NodePath("VBoxContainer/license_file_config/set_license_filepath_button") [connection signal="about_to_popup" from="." to="." method="_on_about_to_popup"] diff --git a/addons/licenses/plugin.cfg b/addons/licenses/plugin.cfg index 86f7c7c..14d1d51 100644 --- a/addons/licenses/plugin.cfg +++ b/addons/licenses/plugin.cfg @@ -3,7 +3,7 @@ name="License Manager" description="Manage license and copyright for third party graphics, software or libraries." author="Iceflower S" -version="1.7.8" +version="1.8.0" script="plugin.gd" license="MIT" repository="https://github.com/kenyoni-software/godot-addons" @@ -16,4 +16,4 @@ classifiers=[ ] [plugin.dependencies] -godot=">=4.2" +godot=">=4.3" diff --git a/examples/aspect_ratio_resize_container/main.tscn b/examples/aspect_ratio_resize_container/main.tscn index c2ad619..b7e1b2f 100644 --- a/examples/aspect_ratio_resize_container/main.tscn +++ b/examples/aspect_ratio_resize_container/main.tscn @@ -77,8 +77,8 @@ vertical_alignment = 1 [node name="stretch_mode" type="OptionButton" parent="PanelContainer/VBoxContainer"] layout_mode = 2 size_flags_horizontal = 3 -item_count = 4 selected = 2 +item_count = 4 popup/item_0/text = "STRETCH_WIDTH_CONTROLS_HEIGHT" popup/item_0/id = 0 popup/item_1/text = "STRETCH_HEIGHT_CONTROLS_WIDTH" @@ -99,8 +99,8 @@ vertical_alignment = 1 [node name="hor_align" type="OptionButton" parent="PanelContainer/VBoxContainer"] layout_mode = 2 size_flags_horizontal = 3 -item_count = 3 selected = 1 +item_count = 3 popup/item_0/text = "ALIGNMENT_BEGIN" popup/item_0/id = 0 popup/item_1/text = "ALIGNMENT_CENTER" @@ -119,8 +119,8 @@ vertical_alignment = 1 [node name="ver_align" type="OptionButton" parent="PanelContainer/VBoxContainer"] layout_mode = 2 size_flags_horizontal = 3 -item_count = 3 selected = 1 +item_count = 3 popup/item_0/text = "ALIGNMENT_BEGIN" popup/item_0/id = 0 popup/item_1/text = "ALIGNMENT_CENTER" diff --git a/examples/git_sha_project_setting/main.gd b/examples/git_sha_project_setting/main.gd index bb0bb72..cdd7a5d 100644 --- a/examples/git_sha_project_setting/main.gd +++ b/examples/git_sha_project_setting/main.gd @@ -1,8 +1,8 @@ extends PanelContainer -@export_node_path("Label") var _version_path: NodePath; @onready var _version: Label = self.get_node(_version_path) -@export_node_path("Label") var _git_sha_path: NodePath; @onready var _git_sha: Label = self.get_node(_git_sha_path) -@export_node_path("Label") var _version_complete_path: NodePath; @onready var _version_complete: Label = self.get_node(_version_complete_path) +@export var _version: Label +@export var _git_sha: Label +@export var _version_complete: Label func _ready() -> void: var version: String = ProjectSettings.get_setting("application/config/version", "") diff --git a/examples/git_sha_project_setting/main.tscn b/examples/git_sha_project_setting/main.tscn index 3edb85f..91cfaa2 100644 --- a/examples/git_sha_project_setting/main.tscn +++ b/examples/git_sha_project_setting/main.tscn @@ -2,16 +2,16 @@ [ext_resource type="Script" path="res://examples/git_sha_project_setting/main.gd" id="1_sowp6"] -[node name="main" type="PanelContainer"] +[node name="main" type="PanelContainer" node_paths=PackedStringArray("_version", "_git_sha", "_version_complete")] anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 script = ExtResource("1_sowp6") -_version_path = NodePath("MarginContainer/GridContainer/Label2") -_git_sha_path = NodePath("MarginContainer/GridContainer/Label4") -_version_complete_path = NodePath("MarginContainer/GridContainer/Label6") +_version = NodePath("MarginContainer/GridContainer/version") +_git_sha = NodePath("MarginContainer/GridContainer/git_sha") +_version_complete = NodePath("MarginContainer/GridContainer/full_version") [node name="MarginContainer" type="MarginContainer" parent="."] layout_mode = 2 @@ -28,19 +28,19 @@ columns = 2 layout_mode = 2 text = "Version" -[node name="Label2" type="Label" parent="MarginContainer/GridContainer"] +[node name="version" type="Label" parent="MarginContainer/GridContainer"] layout_mode = 2 [node name="Label3" type="Label" parent="MarginContainer/GridContainer"] layout_mode = 2 text = "Git SHA" -[node name="Label4" type="Label" parent="MarginContainer/GridContainer"] +[node name="git_sha" type="Label" parent="MarginContainer/GridContainer"] layout_mode = 2 [node name="Label5" type="Label" parent="MarginContainer/GridContainer"] layout_mode = 2 text = "Full Version" -[node name="Label6" type="Label" parent="MarginContainer/GridContainer"] +[node name="full_version" type="Label" parent="MarginContainer/GridContainer"] layout_mode = 2 diff --git a/examples/glogging/main.gd b/examples/glogging/main.gd index 070e4b5..0bb5ab8 100644 --- a/examples/glogging/main.gd +++ b/examples/glogging/main.gd @@ -1,9 +1,9 @@ extends Node -@export_node_path("OptionButton") var _logger_options_path: NodePath; @onready var _logger_options: OptionButton = self.get_node(_logger_options_path) -@export_node_path("OptionButton") var _log_level_options_path: NodePath; @onready var _log_level_options: OptionButton = self.get_node(_log_level_options_path) -@export_node_path("OptionButton") var _log_at_level_options_path: NodePath; @onready var _log_at_level_options: OptionButton = self.get_node(_log_at_level_options_path) -@export_node_path("LineEdit") var _log_text_path: NodePath; @onready var _log_text: LineEdit = self.get_node(_log_text_path) +@export var _logger_options: OptionButton +@export var _log_level_options: OptionButton +@export var _log_at_level_options: OptionButton +@export var _log_text: LineEdit var _logger: Array[GLogging.Logger] = [GLogging.root_logger] diff --git a/examples/glogging/main.tscn b/examples/glogging/main.tscn index 08d34ea..1eb9311 100644 --- a/examples/glogging/main.tscn +++ b/examples/glogging/main.tscn @@ -2,17 +2,17 @@ [ext_resource type="Script" path="res://examples/glogging/main.gd" id="1_tinti"] -[node name="main" type="PanelContainer"] +[node name="main" type="PanelContainer" node_paths=PackedStringArray("_logger_options", "_log_level_options", "_log_at_level_options", "_log_text")] anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 script = ExtResource("1_tinti") -_logger_options_path = NodePath("MarginContainer/VBoxContainer/GridContainer/OptionButton") -_log_level_options_path = NodePath("MarginContainer/VBoxContainer/GridContainer/OptionButton2") -_log_at_level_options_path = NodePath("MarginContainer/VBoxContainer/GridContainer/OptionButton3") -_log_text_path = NodePath("MarginContainer/VBoxContainer/TextEdit") +_logger_options = NodePath("MarginContainer/VBoxContainer/GridContainer/OptionButton") +_log_level_options = NodePath("MarginContainer/VBoxContainer/GridContainer/OptionButton2") +_log_at_level_options = NodePath("MarginContainer/VBoxContainer/GridContainer/OptionButton3") +_log_text = NodePath("MarginContainer/VBoxContainer/TextEdit") [node name="MarginContainer" type="MarginContainer" parent="."] layout_mode = 2 @@ -62,8 +62,8 @@ text = "Log at level" [node name="OptionButton3" type="OptionButton" parent="MarginContainer/VBoxContainer/GridContainer"] layout_mode = 2 -item_count = 6 selected = 1 +item_count = 6 popup/item_0/text = "NOT SET" popup/item_0/id = 0 popup/item_1/text = "Debug" diff --git a/examples/licenses/license_container.gd b/examples/licenses/license_container.gd index 4d09de4..49611ae 100644 --- a/examples/licenses/license_container.gd +++ b/examples/licenses/license_container.gd @@ -2,13 +2,13 @@ extends MarginContainer const Component := preload("res://addons/licenses/component.gd") -@export_node_path("Label") var _name_path: NodePath; @onready var _name: Label = self.get_node(_name_path) -@export_node_path("Label") var _version_path: NodePath; @onready var _version: Label = self.get_node(_version_path) -@export_node_path("RichTextLabel") var _description_path: NodePath; @onready var _description: RichTextLabel = self.get_node(_description_path) -@export_node_path("RichTextLabel") var _contact_path: NodePath; @onready var _contact: RichTextLabel = self.get_node(_contact_path) -@export_node_path("RichTextLabel") var _web_path: NodePath; @onready var _web: RichTextLabel = self.get_node(_web_path) -@export_node_path("RichTextLabel") var _license_path: NodePath; @onready var _license: RichTextLabel = self.get_node(_license_path) -@export_node_path("RichTextLabel") var _license_text_path: NodePath; @onready var _license_text: RichTextLabel = self.get_node(_license_text_path) +@export var _name: Label +@export var _version: Label +@export var _description: RichTextLabel +@export var _contact: RichTextLabel +@export var _web: RichTextLabel +@export var _license: RichTextLabel +@export var _license_text: RichTextLabel func set_component(component: Component) -> void: self._name.text = component.name diff --git a/examples/licenses/license_selector.gd b/examples/licenses/license_selector.gd index be9b92f..30a8097 100644 --- a/examples/licenses/license_selector.gd +++ b/examples/licenses/license_selector.gd @@ -4,7 +4,7 @@ const Component := preload("res://addons/licenses/component.gd") const Licenses := preload("res://addons/licenses/licenses.gd") const LicenseContainer := preload("res://examples/licenses/license_container.gd") -@export_node_path("Node") var _license_container_path: NodePath; @onready var _license_container: LicenseContainer = self.get_node(_license_container_path) +@export var _license_container: LicenseContainer var licenses: Array[Component] = [] diff --git a/examples/licenses/main.tscn b/examples/licenses/main.tscn index 7388b56..35e2751 100644 --- a/examples/licenses/main.tscn +++ b/examples/licenses/main.tscn @@ -13,32 +13,32 @@ grow_vertical = 2 [node name="HBoxContainer" type="HBoxContainer" parent="."] layout_mode = 2 -[node name="Tree" type="Tree" parent="HBoxContainer"] +[node name="Tree" type="Tree" parent="HBoxContainer" node_paths=PackedStringArray("_license_container")] layout_mode = 2 size_flags_horizontal = 3 size_flags_stretch_ratio = 0.3 hide_root = true script = ExtResource("1_bba6e") -_license_container_path = NodePath("../PanelContainer/MarginContainer") +_license_container = NodePath("../PanelContainer/MarginContainer") [node name="PanelContainer" type="PanelContainer" parent="HBoxContainer"] layout_mode = 2 size_flags_horizontal = 3 -[node name="MarginContainer" type="MarginContainer" parent="HBoxContainer/PanelContainer"] +[node name="MarginContainer" type="MarginContainer" parent="HBoxContainer/PanelContainer" node_paths=PackedStringArray("_name", "_version", "_description", "_contact", "_web", "_license", "_license_text")] layout_mode = 2 theme_override_constants/margin_left = 12 theme_override_constants/margin_top = 12 theme_override_constants/margin_right = 12 theme_override_constants/margin_bottom = 12 script = ExtResource("2_0yh67") -_name_path = NodePath("VBoxContainer/name") -_version_path = NodePath("VBoxContainer/version") -_description_path = NodePath("VBoxContainer/HBoxContainer/description") -_contact_path = NodePath("VBoxContainer/HBoxContainer/contact") -_web_path = NodePath("VBoxContainer/HBoxContainer/web") -_license_path = NodePath("VBoxContainer/HBoxContainer/license") -_license_text_path = NodePath("VBoxContainer/license_text") +_name = NodePath("VBoxContainer/name") +_version = NodePath("VBoxContainer/version") +_description = NodePath("VBoxContainer/HBoxContainer/description") +_contact = NodePath("VBoxContainer/HBoxContainer/contact") +_web = NodePath("VBoxContainer/HBoxContainer/web") +_license = NodePath("VBoxContainer/HBoxContainer/license") +_license_text = NodePath("VBoxContainer/license_text") [node name="VBoxContainer" type="VBoxContainer" parent="HBoxContainer/PanelContainer/MarginContainer"] layout_mode = 2 diff --git a/project.godot b/project.godot index 0850887..dbcfda0 100644 --- a/project.godot +++ b/project.godot @@ -12,7 +12,7 @@ config_version=5 config/name="Godot Addons" config/version="1.0.0" -config/features=PackedStringArray("4.2", "Forward Plus") +config/features=PackedStringArray("4.3", "Forward Plus") config/icon="res://icon.svg" [autoload] From 9c1212396d750e2a9254568737728c9a1781ddce Mon Sep 17 00:00:00 2001 From: Iceflower Date: Fri, 12 Apr 2024 20:10:02 +0200 Subject: [PATCH 03/30] [icon_explorer] Improve loading visualization --- README.md | 1 + addons/icon_explorer/internal/ui/explorer/explorer.gd | 4 +++- addons/icon_explorer/internal/ui/explorer/explorer.tscn | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index d7748c6..c82f7b5 100644 --- a/README.md +++ b/README.md @@ -252,6 +252,7 @@ Downloaded data is saved into `.godot/cache/icon_explorer` to avoid importing it - Require Godot 4.3 - Make use of @export for custom Nodes +- Improve loading visualization #### 1.1.0 diff --git a/addons/icon_explorer/internal/ui/explorer/explorer.gd b/addons/icon_explorer/internal/ui/explorer/explorer.gd index 833de06..84dcb02 100644 --- a/addons/icon_explorer/internal/ui/explorer/explorer.gd +++ b/addons/icon_explorer/internal/ui/explorer/explorer.gd @@ -78,7 +78,9 @@ func _ready() -> void: self.load_db() func _process(_delta: float) -> void: - self._progress_bar.value = self._db.load_progress() + var progress: float = self._db.load_progress() + self._progress_bar.indeterminate = progress <= 0.0 + self._progress_bar.value = progress func load_db() -> void: if self._db_loaded: diff --git a/addons/icon_explorer/internal/ui/explorer/explorer.tscn b/addons/icon_explorer/internal/ui/explorer/explorer.tscn index 2592ae6..3a22ef7 100644 --- a/addons/icon_explorer/internal/ui/explorer/explorer.tscn +++ b/addons/icon_explorer/internal/ui/explorer/explorer.tscn @@ -66,6 +66,8 @@ flat = true layout_mode = 2 size_flags_vertical = 1 show_percentage = false +indeterminate = true +editor_preview_indeterminate = true [node name="HSplitContainer" type="HSplitContainer" parent="icon_viewer"] layout_mode = 2 From 4ea9ea38675de7d7722b6225cbce6b22532b11e6 Mon Sep 17 00:00:00 2001 From: Iceflower Date: Tue, 16 Apr 2024 04:06:51 +0200 Subject: [PATCH 04/30] [icon_explorer] Improve collections loading --- .../bootstrap/collection.gd} | 2 +- .../bootstrap/details_panel.gd} | 2 +- .../bootstrap/details_panel.tscn} | 2 +- .../bootstrap/icon.gd} | 0 .../font_awesome/collection.gd} | 2 +- .../font_awesome/details_panel.gd} | 2 +- .../font_awesome/details_panel.tscn} | 2 +- .../font_awesome/icon.gd} | 0 .../icon_tabler/collection.gd} | 2 +- .../icon_tabler/details_panel.gd} | 2 +- .../icon_tabler/details_panel.tscn} | 2 +- .../icon_tabler/icon.gd} | 0 .../material_design/collection.gd} | 2 +- .../material_design/details_panel.gd} | 2 +- .../material_design/details_panel.tscn} | 2 +- .../material_design/icon.gd} | 0 .../simple_icons/collection.gd} | 2 +- .../simple_icons/details_panel.gd} | 2 +- .../simple_icons/details_panel.tscn} | 2 +- .../simple_icons/icon.gd} | 0 .../internal/scripts/collection.gd | 18 ++++++++ .../internal/scripts/database.gd | 13 ++---- .../internal/ui/detail_panel/detail_panel.gd | 4 ++ .../ui/detail_panel/detail_panel.tscn | 46 +------------------ .../internal/ui/explorer/explorer.tscn | 3 +- 25 files changed, 44 insertions(+), 70 deletions(-) rename addons/icon_explorer/internal/{scripts/collections/bootstrap.gd => ext/bootstrap/collection.gd} (98%) rename addons/icon_explorer/internal/{ui/detail_panel/panels/bootstrap.gd => ext/bootstrap/details_panel.gd} (92%) rename addons/icon_explorer/internal/{ui/detail_panel/panels/bootstrap.tscn => ext/bootstrap/details_panel.tscn} (96%) rename addons/icon_explorer/internal/{scripts/collections/icon_bootstrap.gd => ext/bootstrap/icon.gd} (100%) rename addons/icon_explorer/internal/{scripts/collections/font_awesome.gd => ext/font_awesome/collection.gd} (98%) rename addons/icon_explorer/internal/{ui/detail_panel/panels/font_awesome.gd => ext/font_awesome/details_panel.gd} (90%) rename addons/icon_explorer/internal/{ui/detail_panel/panels/font_awesome.tscn => ext/font_awesome/details_panel.tscn} (95%) rename addons/icon_explorer/internal/{scripts/collections/icon_font_awesome.gd => ext/font_awesome/icon.gd} (100%) rename addons/icon_explorer/internal/{scripts/collections/tabler.gd => ext/icon_tabler/collection.gd} (98%) rename addons/icon_explorer/internal/{ui/detail_panel/panels/tabler.gd => ext/icon_tabler/details_panel.gd} (93%) rename addons/icon_explorer/internal/{ui/detail_panel/panels/tabler.tscn => ext/icon_tabler/details_panel.tscn} (96%) rename addons/icon_explorer/internal/{scripts/collections/icon_tabler.gd => ext/icon_tabler/icon.gd} (100%) rename addons/icon_explorer/internal/{scripts/collections/material_design.gd => ext/material_design/collection.gd} (98%) rename addons/icon_explorer/internal/{ui/detail_panel/panels/material_design.gd => ext/material_design/details_panel.gd} (92%) rename addons/icon_explorer/internal/{ui/detail_panel/panels/material_design.tscn => ext/material_design/details_panel.tscn} (97%) rename addons/icon_explorer/internal/{scripts/collections/icon_material_design.gd => ext/material_design/icon.gd} (100%) rename addons/icon_explorer/internal/{scripts/collections/simple_icons.gd => ext/simple_icons/collection.gd} (99%) rename addons/icon_explorer/internal/{ui/detail_panel/panels/simple_icons.gd => ext/simple_icons/details_panel.gd} (94%) rename addons/icon_explorer/internal/{ui/detail_panel/panels/simple_icons.tscn => ext/simple_icons/details_panel.tscn} (97%) rename addons/icon_explorer/internal/{scripts/collections/icon_simple_icons.gd => ext/simple_icons/icon.gd} (100%) diff --git a/addons/icon_explorer/internal/scripts/collections/bootstrap.gd b/addons/icon_explorer/internal/ext/bootstrap/collection.gd similarity index 98% rename from addons/icon_explorer/internal/scripts/collections/bootstrap.gd rename to addons/icon_explorer/internal/ext/bootstrap/collection.gd index f072e76..d06d624 100644 --- a/addons/icon_explorer/internal/scripts/collections/bootstrap.gd +++ b/addons/icon_explorer/internal/ext/bootstrap/collection.gd @@ -1,6 +1,6 @@ extends "res://addons/icon_explorer/internal/scripts/collection.gd" -const IconBootstrap := preload("res://addons/icon_explorer/internal/scripts/collections/icon_bootstrap.gd") +const IconBootstrap := preload("res://addons/icon_explorer/internal/ext/bootstrap/icon.gd") const ZipUnpacker := preload("res://addons/icon_explorer/internal/scripts/tools/zip_unpacker.gd") const _DOWNLOAD_FILE: String = "https://github.com/twbs/icons/archive/main.zip" diff --git a/addons/icon_explorer/internal/ui/detail_panel/panels/bootstrap.gd b/addons/icon_explorer/internal/ext/bootstrap/details_panel.gd similarity index 92% rename from addons/icon_explorer/internal/ui/detail_panel/panels/bootstrap.gd rename to addons/icon_explorer/internal/ext/bootstrap/details_panel.gd index f2d9cfb..1d6c969 100644 --- a/addons/icon_explorer/internal/ui/detail_panel/panels/bootstrap.gd +++ b/addons/icon_explorer/internal/ext/bootstrap/details_panel.gd @@ -1,7 +1,7 @@ @tool extends VBoxContainer -const IconBootstrap := preload("res://addons/icon_explorer/internal/scripts/collections/icon_bootstrap.gd") +const IconBootstrap := preload("res://addons/icon_explorer/internal/ext/bootstrap/icon.gd") const TextField := preload("res://addons/icon_explorer/internal/ui/detail_panel/text_field.gd") const ListField := preload("res://addons/icon_explorer/internal/ui/detail_panel/list_field.gd") diff --git a/addons/icon_explorer/internal/ui/detail_panel/panels/bootstrap.tscn b/addons/icon_explorer/internal/ext/bootstrap/details_panel.tscn similarity index 96% rename from addons/icon_explorer/internal/ui/detail_panel/panels/bootstrap.tscn rename to addons/icon_explorer/internal/ext/bootstrap/details_panel.tscn index 68933ee..2fcdae9 100644 --- a/addons/icon_explorer/internal/ui/detail_panel/panels/bootstrap.tscn +++ b/addons/icon_explorer/internal/ext/bootstrap/details_panel.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=4 format=3 uid="uid://dtcstt4vepa17"] -[ext_resource type="Script" path="res://addons/icon_explorer/internal/ui/detail_panel/panels/bootstrap.gd" id="1_s6ueg"] +[ext_resource type="Script" path="res://addons/icon_explorer/internal/ext/bootstrap/details_panel.gd" id="1_s6ueg"] [ext_resource type="PackedScene" uid="uid://b813qk6u7eveh" path="res://addons/icon_explorer/internal/ui/detail_panel/list_field.tscn" id="2_n1r08"] [ext_resource type="PackedScene" uid="uid://b64tcvn5sw03h" path="res://addons/icon_explorer/internal/ui/detail_panel/text_field.tscn" id="3_5y6bb"] diff --git a/addons/icon_explorer/internal/scripts/collections/icon_bootstrap.gd b/addons/icon_explorer/internal/ext/bootstrap/icon.gd similarity index 100% rename from addons/icon_explorer/internal/scripts/collections/icon_bootstrap.gd rename to addons/icon_explorer/internal/ext/bootstrap/icon.gd diff --git a/addons/icon_explorer/internal/scripts/collections/font_awesome.gd b/addons/icon_explorer/internal/ext/font_awesome/collection.gd similarity index 98% rename from addons/icon_explorer/internal/scripts/collections/font_awesome.gd rename to addons/icon_explorer/internal/ext/font_awesome/collection.gd index 3390882..6ce4c9a 100644 --- a/addons/icon_explorer/internal/scripts/collections/font_awesome.gd +++ b/addons/icon_explorer/internal/ext/font_awesome/collection.gd @@ -1,6 +1,6 @@ extends "res://addons/icon_explorer/internal/scripts/collection.gd" -const IconFontAwesome := preload("res://addons/icon_explorer/internal/scripts/collections/icon_font_awesome.gd") +const IconFontAwesome := preload("res://addons/icon_explorer/internal/ext/font_awesome/icon.gd") const ZipUnpacker := preload("res://addons/icon_explorer/internal/scripts/tools/zip_unpacker.gd") const _DOWNLOAD_FILE: String = "https://github.com/FortAwesome/Font-Awesome/archive/6.x.zip" diff --git a/addons/icon_explorer/internal/ui/detail_panel/panels/font_awesome.gd b/addons/icon_explorer/internal/ext/font_awesome/details_panel.gd similarity index 90% rename from addons/icon_explorer/internal/ui/detail_panel/panels/font_awesome.gd rename to addons/icon_explorer/internal/ext/font_awesome/details_panel.gd index c6cc1f2..f38daf9 100644 --- a/addons/icon_explorer/internal/ui/detail_panel/panels/font_awesome.gd +++ b/addons/icon_explorer/internal/ext/font_awesome/details_panel.gd @@ -1,7 +1,7 @@ @tool extends VBoxContainer -const IconFontAwesome := preload("res://addons/icon_explorer/internal/scripts/collections/icon_font_awesome.gd") +const IconFontAwesome := preload("res://addons/icon_explorer/internal/ext/font_awesome/icon.gd") const TextField := preload("res://addons/icon_explorer/internal/ui/detail_panel/text_field.gd") const ListField := preload("res://addons/icon_explorer/internal/ui/detail_panel/list_field.gd") diff --git a/addons/icon_explorer/internal/ui/detail_panel/panels/font_awesome.tscn b/addons/icon_explorer/internal/ext/font_awesome/details_panel.tscn similarity index 95% rename from addons/icon_explorer/internal/ui/detail_panel/panels/font_awesome.tscn rename to addons/icon_explorer/internal/ext/font_awesome/details_panel.tscn index de7b5fd..7d446df 100644 --- a/addons/icon_explorer/internal/ui/detail_panel/panels/font_awesome.tscn +++ b/addons/icon_explorer/internal/ext/font_awesome/details_panel.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=4 format=3 uid="uid://wqlpitsynlfk"] -[ext_resource type="Script" path="res://addons/icon_explorer/internal/ui/detail_panel/panels/font_awesome.gd" id="1_uh5pp"] +[ext_resource type="Script" path="res://addons/icon_explorer/internal/ext/font_awesome/details_panel.gd" id="1_uh5pp"] [ext_resource type="PackedScene" uid="uid://b64tcvn5sw03h" path="res://addons/icon_explorer/internal/ui/detail_panel/text_field.tscn" id="2_8xir3"] [ext_resource type="PackedScene" uid="uid://b813qk6u7eveh" path="res://addons/icon_explorer/internal/ui/detail_panel/list_field.tscn" id="3_fm2h0"] diff --git a/addons/icon_explorer/internal/scripts/collections/icon_font_awesome.gd b/addons/icon_explorer/internal/ext/font_awesome/icon.gd similarity index 100% rename from addons/icon_explorer/internal/scripts/collections/icon_font_awesome.gd rename to addons/icon_explorer/internal/ext/font_awesome/icon.gd diff --git a/addons/icon_explorer/internal/scripts/collections/tabler.gd b/addons/icon_explorer/internal/ext/icon_tabler/collection.gd similarity index 98% rename from addons/icon_explorer/internal/scripts/collections/tabler.gd rename to addons/icon_explorer/internal/ext/icon_tabler/collection.gd index a143d7d..19a00b7 100644 --- a/addons/icon_explorer/internal/scripts/collections/tabler.gd +++ b/addons/icon_explorer/internal/ext/icon_tabler/collection.gd @@ -1,6 +1,6 @@ extends "res://addons/icon_explorer/internal/scripts/collection.gd" -const IconTabler := preload("res://addons/icon_explorer/internal/scripts/collections/icon_tabler.gd") +const IconTabler := preload("res://addons/icon_explorer/internal/ext/icon_tabler/icon.gd") const ZipUnpacker := preload("res://addons/icon_explorer/internal/scripts/tools/zip_unpacker.gd") const _DOWNLOAD_FILE: String = "https://github.com/tabler/tabler-icons/archive/master.zip" diff --git a/addons/icon_explorer/internal/ui/detail_panel/panels/tabler.gd b/addons/icon_explorer/internal/ext/icon_tabler/details_panel.gd similarity index 93% rename from addons/icon_explorer/internal/ui/detail_panel/panels/tabler.gd rename to addons/icon_explorer/internal/ext/icon_tabler/details_panel.gd index d25f0d4..c73ed03 100644 --- a/addons/icon_explorer/internal/ui/detail_panel/panels/tabler.gd +++ b/addons/icon_explorer/internal/ext/icon_tabler/details_panel.gd @@ -1,7 +1,7 @@ @tool extends VBoxContainer -const IconTabler := preload("res://addons/icon_explorer/internal/scripts/collections/icon_tabler.gd") +const IconTabler := preload("res://addons/icon_explorer/internal/ext/icon_tabler/icon.gd") const TextField := preload("res://addons/icon_explorer/internal/ui/detail_panel/text_field.gd") const ListField := preload("res://addons/icon_explorer/internal/ui/detail_panel/list_field.gd") diff --git a/addons/icon_explorer/internal/ui/detail_panel/panels/tabler.tscn b/addons/icon_explorer/internal/ext/icon_tabler/details_panel.tscn similarity index 96% rename from addons/icon_explorer/internal/ui/detail_panel/panels/tabler.tscn rename to addons/icon_explorer/internal/ext/icon_tabler/details_panel.tscn index 040d059..91f82a3 100644 --- a/addons/icon_explorer/internal/ui/detail_panel/panels/tabler.tscn +++ b/addons/icon_explorer/internal/ext/icon_tabler/details_panel.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=4 format=3 uid="uid://lk45nf0tqm80"] [ext_resource type="PackedScene" uid="uid://b813qk6u7eveh" path="res://addons/icon_explorer/internal/ui/detail_panel/list_field.tscn" id="1_muhea"] -[ext_resource type="Script" path="res://addons/icon_explorer/internal/ui/detail_panel/panels/tabler.gd" id="1_te45c"] +[ext_resource type="Script" path="res://addons/icon_explorer/internal/ext/icon_tabler/details_panel.gd" id="1_te45c"] [ext_resource type="PackedScene" uid="uid://b64tcvn5sw03h" path="res://addons/icon_explorer/internal/ui/detail_panel/text_field.tscn" id="2_u3ntg"] [node name="tabler" type="VBoxContainer" node_paths=PackedStringArray("_category", "_tags", "_version")] diff --git a/addons/icon_explorer/internal/scripts/collections/icon_tabler.gd b/addons/icon_explorer/internal/ext/icon_tabler/icon.gd similarity index 100% rename from addons/icon_explorer/internal/scripts/collections/icon_tabler.gd rename to addons/icon_explorer/internal/ext/icon_tabler/icon.gd diff --git a/addons/icon_explorer/internal/scripts/collections/material_design.gd b/addons/icon_explorer/internal/ext/material_design/collection.gd similarity index 98% rename from addons/icon_explorer/internal/scripts/collections/material_design.gd rename to addons/icon_explorer/internal/ext/material_design/collection.gd index a560bad..2ea030a 100644 --- a/addons/icon_explorer/internal/scripts/collections/material_design.gd +++ b/addons/icon_explorer/internal/ext/material_design/collection.gd @@ -1,6 +1,6 @@ extends "res://addons/icon_explorer/internal/scripts/collection.gd" -const IconMaterialDesign := preload("res://addons/icon_explorer/internal/scripts/collections/icon_material_design.gd") +const IconMaterialDesign := preload("res://addons/icon_explorer/internal/ext/material_design/icon.gd") const ZipUnpacker := preload("res://addons/icon_explorer/internal/scripts/tools/zip_unpacker.gd") const _DOWNLOAD_FILE: String = "https://github.com/Templarian/MaterialDesign-SVG/archive/master.zip" diff --git a/addons/icon_explorer/internal/ui/detail_panel/panels/material_design.gd b/addons/icon_explorer/internal/ext/material_design/details_panel.gd similarity index 92% rename from addons/icon_explorer/internal/ui/detail_panel/panels/material_design.gd rename to addons/icon_explorer/internal/ext/material_design/details_panel.gd index 373e9f7..0e79506 100644 --- a/addons/icon_explorer/internal/ui/detail_panel/panels/material_design.gd +++ b/addons/icon_explorer/internal/ext/material_design/details_panel.gd @@ -1,7 +1,7 @@ @tool extends VBoxContainer -const IconMaterialDesign := preload("res://addons/icon_explorer/internal/scripts/collections/icon_material_design.gd") +const IconMaterialDesign := preload("res://addons/icon_explorer/internal/ext/material_design/icon.gd") const TextField := preload("res://addons/icon_explorer/internal/ui/detail_panel/text_field.gd") const ListField := preload("res://addons/icon_explorer/internal/ui/detail_panel/list_field.gd") diff --git a/addons/icon_explorer/internal/ui/detail_panel/panels/material_design.tscn b/addons/icon_explorer/internal/ext/material_design/details_panel.tscn similarity index 97% rename from addons/icon_explorer/internal/ui/detail_panel/panels/material_design.tscn rename to addons/icon_explorer/internal/ext/material_design/details_panel.tscn index e9d027a..a0cbefc 100644 --- a/addons/icon_explorer/internal/ui/detail_panel/panels/material_design.tscn +++ b/addons/icon_explorer/internal/ext/material_design/details_panel.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=5 format=3 uid="uid://bf2b6v68rufpn"] -[ext_resource type="Script" path="res://addons/icon_explorer/internal/ui/detail_panel/panels/material_design.gd" id="1_7oq86"] +[ext_resource type="Script" path="res://addons/icon_explorer/internal/ext/material_design/details_panel.gd" id="1_7oq86"] [ext_resource type="PackedScene" uid="uid://b813qk6u7eveh" path="res://addons/icon_explorer/internal/ui/detail_panel/list_field.tscn" id="2_sgh8u"] [ext_resource type="PackedScene" uid="uid://b64tcvn5sw03h" path="res://addons/icon_explorer/internal/ui/detail_panel/text_field.tscn" id="3_7hl4l"] diff --git a/addons/icon_explorer/internal/scripts/collections/icon_material_design.gd b/addons/icon_explorer/internal/ext/material_design/icon.gd similarity index 100% rename from addons/icon_explorer/internal/scripts/collections/icon_material_design.gd rename to addons/icon_explorer/internal/ext/material_design/icon.gd diff --git a/addons/icon_explorer/internal/scripts/collections/simple_icons.gd b/addons/icon_explorer/internal/ext/simple_icons/collection.gd similarity index 99% rename from addons/icon_explorer/internal/scripts/collections/simple_icons.gd rename to addons/icon_explorer/internal/ext/simple_icons/collection.gd index 2479c12..541f0a8 100644 --- a/addons/icon_explorer/internal/scripts/collections/simple_icons.gd +++ b/addons/icon_explorer/internal/ext/simple_icons/collection.gd @@ -1,6 +1,6 @@ extends "res://addons/icon_explorer/internal/scripts/collection.gd" -const IconSimpleIcons := preload("res://addons/icon_explorer/internal/scripts/collections/icon_simple_icons.gd") +const IconSimpleIcons := preload("res://addons/icon_explorer/internal/ext/simple_icons/icon.gd") const ZipUnpacker := preload("res://addons/icon_explorer/internal/scripts/tools/zip_unpacker.gd") const _DOWNLOAD_FILE: String = "https://github.com/simple-icons/simple-icons/archive/master.zip" diff --git a/addons/icon_explorer/internal/ui/detail_panel/panels/simple_icons.gd b/addons/icon_explorer/internal/ext/simple_icons/details_panel.gd similarity index 94% rename from addons/icon_explorer/internal/ui/detail_panel/panels/simple_icons.gd rename to addons/icon_explorer/internal/ext/simple_icons/details_panel.gd index 509c473..c7d6bb0 100644 --- a/addons/icon_explorer/internal/ui/detail_panel/panels/simple_icons.gd +++ b/addons/icon_explorer/internal/ext/simple_icons/details_panel.gd @@ -1,7 +1,7 @@ @tool extends VBoxContainer -const IconSimpleIcons := preload("res://addons/icon_explorer/internal/scripts/collections/icon_simple_icons.gd") +const IconSimpleIcons := preload("res://addons/icon_explorer/internal/ext/simple_icons/icon.gd") const ColorField := preload("res://addons/icon_explorer/internal/ui/detail_panel/color_field.gd") const TextField := preload("res://addons/icon_explorer/internal/ui/detail_panel/text_field.gd") const ListField := preload("res://addons/icon_explorer/internal/ui/detail_panel/list_field.gd") diff --git a/addons/icon_explorer/internal/ui/detail_panel/panels/simple_icons.tscn b/addons/icon_explorer/internal/ext/simple_icons/details_panel.tscn similarity index 97% rename from addons/icon_explorer/internal/ui/detail_panel/panels/simple_icons.tscn rename to addons/icon_explorer/internal/ext/simple_icons/details_panel.tscn index 5e326b9..d3f3721 100644 --- a/addons/icon_explorer/internal/ui/detail_panel/panels/simple_icons.tscn +++ b/addons/icon_explorer/internal/ext/simple_icons/details_panel.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=5 format=3 uid="uid://3hl6t03xllbp"] -[ext_resource type="Script" path="res://addons/icon_explorer/internal/ui/detail_panel/panels/simple_icons.gd" id="1_icjlg"] +[ext_resource type="Script" path="res://addons/icon_explorer/internal/ext/simple_icons/details_panel.gd" id="1_icjlg"] [ext_resource type="PackedScene" uid="uid://cadjan8ev877o" path="res://addons/icon_explorer/internal/ui/detail_panel/color_field.tscn" id="2_q8ihc"] [ext_resource type="PackedScene" uid="uid://b813qk6u7eveh" path="res://addons/icon_explorer/internal/ui/detail_panel/list_field.tscn" id="3_ps7ly"] [ext_resource type="PackedScene" uid="uid://b64tcvn5sw03h" path="res://addons/icon_explorer/internal/ui/detail_panel/text_field.tscn" id="4_soj3e"] diff --git a/addons/icon_explorer/internal/scripts/collections/icon_simple_icons.gd b/addons/icon_explorer/internal/ext/simple_icons/icon.gd similarity index 100% rename from addons/icon_explorer/internal/scripts/collections/icon_simple_icons.gd rename to addons/icon_explorer/internal/ext/simple_icons/icon.gd diff --git a/addons/icon_explorer/internal/scripts/collection.gd b/addons/icon_explorer/internal/scripts/collection.gd index 21d0dd9..968901c 100644 --- a/addons/icon_explorer/internal/scripts/collection.gd +++ b/addons/icon_explorer/internal/scripts/collection.gd @@ -64,3 +64,21 @@ func directory() -> String: func directory_name() -> String: return self.name.to_snake_case() + +static func get_default_collection_paths() -> PackedStringArray: + const ext_path: String = "res://addons/icon_explorer/internal/ext/" + var dir: DirAccess = DirAccess.open(ext_path) + if dir == null: + return [] + + dir.list_dir_begin() + var elem: String = dir.get_next() + var paths: PackedStringArray = [] + while (not elem.is_empty()): + if dir.current_is_dir(): + paths.push_back(ext_path.path_join(elem)) + elem = dir.get_next() + dir.list_dir_end() + dir = null + + return paths diff --git a/addons/icon_explorer/internal/scripts/database.gd b/addons/icon_explorer/internal/scripts/database.gd index c23a349..8e362f9 100644 --- a/addons/icon_explorer/internal/scripts/database.gd +++ b/addons/icon_explorer/internal/scripts/database.gd @@ -4,11 +4,6 @@ extends RefCounted ## Any texture loading has to be done on the main thread: https://github.com/godotengine/godot/issues/86796 const Collection := preload("res://addons/icon_explorer/internal/scripts/collection.gd") -const CollectionBootstrap := preload("res://addons/icon_explorer/internal/scripts/collections/bootstrap.gd") -const CollectionFontAwesome := preload("res://addons/icon_explorer/internal/scripts/collections/font_awesome.gd") -const CollectionMaterialDesign := preload("res://addons/icon_explorer/internal/scripts/collections/material_design.gd") -const CollectionSimpleIcons := preload("res://addons/icon_explorer/internal/scripts/collections/simple_icons.gd") -const CollectionTabler := preload("res://addons/icon_explorer/internal/scripts/collections/tabler.gd") const Icon := preload("res://addons/icon_explorer/internal/scripts/icon.gd") signal collection_installed(id: int, status: Error) @@ -32,11 +27,9 @@ func load_progress() -> float: func _init(scene_tree: SceneTree) -> void: self._scene_tree = scene_tree - self.register(CollectionBootstrap.new()) - self.register(CollectionFontAwesome.new()) - self.register(CollectionMaterialDesign.new()) - self.register(CollectionSimpleIcons.new()) - self.register(CollectionTabler.new()) + for path: String in Collection.get_default_collection_paths(): + self.register((load(path.path_join("/collection.gd")) as Script).new()) + print(typeof(Collection)) func _notification(what: int): if what == NOTIFICATION_PREDELETE: diff --git a/addons/icon_explorer/internal/ui/detail_panel/detail_panel.gd b/addons/icon_explorer/internal/ui/detail_panel/detail_panel.gd index 0540a46..0a54746 100644 --- a/addons/icon_explorer/internal/ui/detail_panel/detail_panel.gd +++ b/addons/icon_explorer/internal/ui/detail_panel/detail_panel.gd @@ -60,6 +60,10 @@ func _ready() -> void: self._toolbar.save_pressed.connect(self._on_save_pressed.bind(false)) self._toolbar.save_colored_pressed.connect(self._on_save_pressed.bind(true)) self._icon.self_modulate = self.preview_color + + for path: String in Collection.get_default_collection_paths(): + self._detail_tabs.add_child((load(path.path_join("/details_panel.tscn")) as PackedScene).instantiate()) + self.display(null) func display(icon: Icon) -> void: diff --git a/addons/icon_explorer/internal/ui/detail_panel/detail_panel.tscn b/addons/icon_explorer/internal/ui/detail_panel/detail_panel.tscn index 2f3859e..e910033 100644 --- a/addons/icon_explorer/internal/ui/detail_panel/detail_panel.tscn +++ b/addons/icon_explorer/internal/ui/detail_panel/detail_panel.tscn @@ -1,12 +1,7 @@ -[gd_scene load_steps=11 format=3 uid="uid://c3s1t8hiu6xll"] +[gd_scene load_steps=6 format=3 uid="uid://c3s1t8hiu6xll"] [ext_resource type="Script" path="res://addons/icon_explorer/internal/ui/detail_panel/detail_panel.gd" id="1_2iwjs"] -[ext_resource type="PackedScene" uid="uid://bf2b6v68rufpn" path="res://addons/icon_explorer/internal/ui/detail_panel/panels/material_design.tscn" id="2_ea6yg"] [ext_resource type="Script" path="res://addons/icon_explorer/internal/ui/detail_panel/toolbar.gd" id="2_rtuoh"] -[ext_resource type="PackedScene" uid="uid://3hl6t03xllbp" path="res://addons/icon_explorer/internal/ui/detail_panel/panels/simple_icons.tscn" id="4_em72e"] -[ext_resource type="PackedScene" uid="uid://dtcstt4vepa17" path="res://addons/icon_explorer/internal/ui/detail_panel/panels/bootstrap.tscn" id="5_mxg1a"] -[ext_resource type="PackedScene" uid="uid://lk45nf0tqm80" path="res://addons/icon_explorer/internal/ui/detail_panel/panels/tabler.tscn" id="7_2jw0k"] -[ext_resource type="PackedScene" uid="uid://wqlpitsynlfk" path="res://addons/icon_explorer/internal/ui/detail_panel/panels/font_awesome.tscn" id="8_1041k"] [sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_p1g3s"] @@ -117,46 +112,9 @@ layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 theme_override_styles/panel = SubResource("StyleBoxEmpty_brt2g") -current_tab = 2 +current_tab = 0 tabs_visible = false -[node name="bootstrap" parent="detail_container/v_box_container/scroll_container/detail_tabs" node_paths=PackedStringArray("_categories", "_tags", "_version_added") instance=ExtResource("5_mxg1a")] -visible = false -layout_mode = 2 -_categories = NodePath("categories") -_tags = NodePath("aliases") -_version_added = NodePath("version_added") - -[node name="font_awesome" parent="detail_container/v_box_container/scroll_container/detail_tabs" node_paths=PackedStringArray("_style", "_aliases") instance=ExtResource("8_1041k")] -visible = false -layout_mode = 2 -_style = NodePath("style") -_aliases = NodePath("aliases") - -[node name="material_design" parent="detail_container/v_box_container/scroll_container/detail_tabs" node_paths=PackedStringArray("_deprecated_banner", "_aliases", "_tags", "_author", "_version") instance=ExtResource("2_ea6yg")] -layout_mode = 2 -_deprecated_banner = NodePath("deprecated_banner") -_aliases = NodePath("aliases") -_tags = NodePath("tags") -_author = NodePath("author") -_version = NodePath("version") - -[node name="simple_icons" parent="detail_container/v_box_container/scroll_container/detail_tabs" node_paths=PackedStringArray("_color", "_aliases", "_guidelines", "_license", "_source") instance=ExtResource("4_em72e")] -visible = false -layout_mode = 2 -_color = NodePath("color") -_aliases = NodePath("aliases") -_guidelines = NodePath("guidelines") -_license = NodePath("license") -_source = NodePath("source") - -[node name="tabler" parent="detail_container/v_box_container/scroll_container/detail_tabs" node_paths=PackedStringArray("_category", "_tags", "_version") instance=ExtResource("7_2jw0k")] -visible = false -layout_mode = 2 -_category = NodePath("category") -_tags = NodePath("tags") -_version = NodePath("version_added") - [node name="hint_container" type="CenterContainer" parent="."] visible = false layout_mode = 2 diff --git a/addons/icon_explorer/internal/ui/explorer/explorer.tscn b/addons/icon_explorer/internal/ui/explorer/explorer.tscn index 3a22ef7..8c4c4bd 100644 --- a/addons/icon_explorer/internal/ui/explorer/explorer.tscn +++ b/addons/icon_explorer/internal/ui/explorer/explorer.tscn @@ -111,11 +111,12 @@ layout_mode = 2 color = Color(1, 1, 1, 1) edit_alpha = false -[node name="detail_panel" parent="icon_viewer/HSplitContainer/v_box_container" node_paths=PackedStringArray("_detail_container", "_hint_container", "_detail_tabs", "_icon", "_preview_background", "_preview_panel", "_name", "_collection", "_size", "_toolbar_panel") instance=ExtResource("3_w4j77")] +[node name="detail_panel" parent="icon_viewer/HSplitContainer/v_box_container" node_paths=PackedStringArray("_detail_container", "_hint_container", "_toolbar", "_detail_tabs", "_icon", "_preview_background", "_preview_panel", "_name", "_collection", "_size", "_toolbar_panel") instance=ExtResource("3_w4j77")] layout_mode = 2 size_flags_stretch_ratio = 0.34 _detail_container = NodePath("detail_container") _hint_container = NodePath("hint_container") +_toolbar = NodePath("detail_container/toolbar_panel/toolbar") _detail_tabs = NodePath("detail_container/v_box_container/scroll_container/detail_tabs") _icon = NodePath("detail_container/v_box_container/preview/icon") _preview_background = NodePath("detail_container/v_box_container/preview/background") From 070072bbdcf63d2519134dc85a055b3edaafe4fd Mon Sep 17 00:00:00 2001 From: Iceflower Date: Mon, 22 Apr 2024 02:06:48 +0200 Subject: [PATCH 05/30] [*] Remove toaster notifications Not accessible anymore. --- .../editor_toast_notification.gd | 33 ------------------- addons/icons_patcher/tool_menu.gd | 3 +- .../editor_toast_notification.gd | 33 ------------------- addons/texture_button_colored/plugin.gd | 5 ++- 4 files changed, 3 insertions(+), 71 deletions(-) delete mode 100644 addons/icons_patcher/editor_toast_notification.gd delete mode 100644 addons/texture_button_colored/editor_toast_notification.gd diff --git a/addons/icons_patcher/editor_toast_notification.gd b/addons/icons_patcher/editor_toast_notification.gd deleted file mode 100644 index 979e048..0000000 --- a/addons/icons_patcher/editor_toast_notification.gd +++ /dev/null @@ -1,33 +0,0 @@ -enum Severity { - INFO = 0, - WARNING = 1, - ERROR = 2 -} - -static var _editor_toaster: Node - -static func do(node: Node) -> void: - if node == null: - print("null") - return - var parent = node.get_parent() - while parent != null: - print(parent.name) - parent = parent.get_parent() - -static func _get_editor_toaster() -> Node: - var tmp_plugin: EditorPlugin = EditorPlugin.new() - var tmp_ctrl: Control = Control.new() - tmp_plugin.add_control_to_bottom_panel(tmp_ctrl, "tmp_ctrl") - var toaster: Node = tmp_ctrl.get_parent().find_child("*EditorToaster*", true, false) - tmp_plugin.remove_control_from_bottom_panel(tmp_ctrl) - tmp_ctrl.queue_free() - return toaster - -static func notify(message: String, severity: Severity = Severity.INFO, tooltip: String = "") -> void: - if _editor_toaster == null: - _editor_toaster = _get_editor_toaster() - if not is_instance_valid(_editor_toaster): - return - - _editor_toaster.call("_popup_str", message, severity, tooltip) diff --git a/addons/icons_patcher/tool_menu.gd b/addons/icons_patcher/tool_menu.gd index fd2b681..6332cc8 100644 --- a/addons/icons_patcher/tool_menu.gd +++ b/addons/icons_patcher/tool_menu.gd @@ -1,7 +1,6 @@ extends PopupMenu const Utils := preload("res://addons/icons_patcher/utils.gd") -const EditorToastNotification := preload("res://addons/icons_patcher/editor_toast_notification.gd") func _ready() -> void: self.add_item("Patch Material Design Icons") @@ -35,4 +34,4 @@ func _patch_icons_material_design() -> void: rx.compile('(" fill="#[a-fA-F0-9]{6})?">') var patched_icons: PackedStringArray = Utils.patch_icon_dir(base_path, rx, '" fill="#ffffff">') EditorInterface.get_resource_filesystem().reimport_files(patched_icons) - EditorToastNotification.notify("[IconsPatcher] Patched " + base_path) + print("[IconsPatcher] Patched " + base_path) diff --git a/addons/texture_button_colored/editor_toast_notification.gd b/addons/texture_button_colored/editor_toast_notification.gd deleted file mode 100644 index 979e048..0000000 --- a/addons/texture_button_colored/editor_toast_notification.gd +++ /dev/null @@ -1,33 +0,0 @@ -enum Severity { - INFO = 0, - WARNING = 1, - ERROR = 2 -} - -static var _editor_toaster: Node - -static func do(node: Node) -> void: - if node == null: - print("null") - return - var parent = node.get_parent() - while parent != null: - print(parent.name) - parent = parent.get_parent() - -static func _get_editor_toaster() -> Node: - var tmp_plugin: EditorPlugin = EditorPlugin.new() - var tmp_ctrl: Control = Control.new() - tmp_plugin.add_control_to_bottom_panel(tmp_ctrl, "tmp_ctrl") - var toaster: Node = tmp_ctrl.get_parent().find_child("*EditorToaster*", true, false) - tmp_plugin.remove_control_from_bottom_panel(tmp_ctrl) - tmp_ctrl.queue_free() - return toaster - -static func notify(message: String, severity: Severity = Severity.INFO, tooltip: String = "") -> void: - if _editor_toaster == null: - _editor_toaster = _get_editor_toaster() - if not is_instance_valid(_editor_toaster): - return - - _editor_toaster.call("_popup_str", message, severity, tooltip) diff --git a/addons/texture_button_colored/plugin.gd b/addons/texture_button_colored/plugin.gd index 62b2598..bdccdaa 100644 --- a/addons/texture_button_colored/plugin.gd +++ b/addons/texture_button_colored/plugin.gd @@ -2,16 +2,15 @@ extends EditorPlugin const TextureButtonColored := preload("res://addons/texture_button_colored/texture_button_colored.gd") -const EditorToastNotification := preload("res://addons/texture_button_colored/editor_toast_notification.gd") func _enable_plugin() -> void: if !EditorInterface.is_plugin_enabled("custom_theme_overrides"): EditorInterface.set_plugin_enabled("custom_theme_overrides", true) if !EditorInterface.is_plugin_enabled("custom_theme_overrides"): EditorInterface.set_plugin_enabled("texture_button_colored", false) - EditorToastNotification.notify("TextureButtonColored requires CustomThemeOverrides plugin! Which is not installed.", EditorToastNotification.Severity.ERROR) + push_error("TextureButtonColored requires CustomThemeOverrides plugin! Which is not installed.") else: - EditorToastNotification.notify("TextureButtonColored requires CustomThemeOverrides plugin! Enabled dependency.") + print("TextureButtonColored requires CustomThemeOverrides plugin! Enabled dependency.") func _enter_tree() -> void: self.add_custom_type("TextureButtonColored", "TextureButton", TextureButtonColored, preload("res://addons/texture_button_colored/texture_button_colored.svg")) From bce05b32feb4d53a6695bce515ef2d3576d40f9b Mon Sep 17 00:00:00 2001 From: Iceflower Date: Mon, 22 Apr 2024 02:08:12 +0200 Subject: [PATCH 06/30] [icon_explorer] Update structure and add flag icons --- addons/icon_explorer/icon.svg | 43 +++++++++ addons/icon_explorer/icon.svg.import | 37 ++++++++ .../internal/ext/bootstrap/collection.gd | 12 ++- .../ext/country_flag_icons/collection.gd | 95 +++++++++++++++++++ .../ext/country_flag_icons/details_panel.gd | 11 +++ .../ext/country_flag_icons/details_panel.tscn | 20 ++++ .../internal/ext/country_flag_icons/icon.gd | 11 +++ .../internal/ext/font_awesome/collection.gd | 7 +- .../internal/ext/icon_tabler/collection.gd | 7 +- .../ext/material_design/collection.gd | 7 +- .../internal/ext/simple_icons/collection.gd | 7 +- .../internal/ext/simple_icons/icon.gd | 3 +- .../internal/scripts/collection.gd | 14 +-- .../internal/scripts/database.gd | 25 +++-- addons/icon_explorer/internal/scripts/icon.gd | 13 +++ .../internal/scripts/tools/io.gd | 4 + .../internal/ui/detail_panel/color_field.tscn | 9 +- .../internal/ui/detail_panel/detail_panel.gd | 21 ++-- .../internal/ui/detail_panel/field_title.tscn | 14 +-- .../internal/ui/detail_panel/list_field.tscn | 8 +- .../internal/ui/detail_panel/text_field.tscn | 9 +- .../internal/ui/detail_panel/toolbar.gd | 3 + .../internal/ui/explorer/explorer.gd | 72 ++++++++------ .../internal/ui/explorer_dialog.gd | 15 ++- .../icon_explorer/internal/ui/main_screen.gd | 10 ++ .../internal/ui/main_screen.tscn | 32 +++++++ .../internal/ui/options/options.gd | 36 ++++--- .../internal/ui/options/options.tscn | 27 +++--- addons/icon_explorer/plugin.gd | 41 +++++++- 29 files changed, 497 insertions(+), 116 deletions(-) create mode 100644 addons/icon_explorer/icon.svg create mode 100644 addons/icon_explorer/icon.svg.import create mode 100644 addons/icon_explorer/internal/ext/country_flag_icons/collection.gd create mode 100644 addons/icon_explorer/internal/ext/country_flag_icons/details_panel.gd create mode 100644 addons/icon_explorer/internal/ext/country_flag_icons/details_panel.tscn create mode 100644 addons/icon_explorer/internal/ext/country_flag_icons/icon.gd create mode 100644 addons/icon_explorer/internal/ui/main_screen.gd create mode 100644 addons/icon_explorer/internal/ui/main_screen.tscn diff --git a/addons/icon_explorer/icon.svg b/addons/icon_explorer/icon.svg new file mode 100644 index 0000000..82683d8 --- /dev/null +++ b/addons/icon_explorer/icon.svg @@ -0,0 +1,43 @@ + + + + + + + image/svg+xml + + + + + + + + + diff --git a/addons/icon_explorer/icon.svg.import b/addons/icon_explorer/icon.svg.import new file mode 100644 index 0000000..8516fe9 --- /dev/null +++ b/addons/icon_explorer/icon.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://df2n32xoy1bad" +path="res://.godot/imported/icon.svg-4e117255e72af87c757567a0d4d3a367.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/icon_explorer/icon.svg" +dest_files=["res://.godot/imported/icon.svg-4e117255e72af87c757567a0d4d3a367.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=0.016 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/addons/icon_explorer/internal/ext/bootstrap/collection.gd b/addons/icon_explorer/internal/ext/bootstrap/collection.gd index d06d624..f408943 100644 --- a/addons/icon_explorer/internal/ext/bootstrap/collection.gd +++ b/addons/icon_explorer/internal/ext/bootstrap/collection.gd @@ -11,17 +11,16 @@ func _init() -> void: self.author = "The Bootstrap Authors" self.license = "MIT" self.web = "https://github.com/twbs/icons" - self.svg_size = 16.0 # OVERRIDE -func convert_icon_colored(buffer: String, color: String) -> String: +func color_icon(buffer: String, color: String) -> String: return buffer.replace("currentColor", "#" + color) # OVERRIDE func load() -> Array: var dir: DirAccess = DirAccess.open(self._meta_directory()) if !dir: - return [] + return [[], PackedStringArray()] var icons: Array[Icon] = [] var buffers: PackedStringArray = PackedStringArray() @@ -29,12 +28,15 @@ func load() -> Array: var file_name: String = dir.get_next() while file_name != "": if dir.current_is_dir(): + file_name = dir.get_next() continue var res: Array = self._load_item(file_name) if res.size() == 2: icons.append(res[0]) buffers.append(res[1]) file_name = dir.get_next() + dir.list_dir_end() + dir = null var parser_version: JSON = JSON.new() var res_version: int = parser_version.parse(FileAccess.get_file_as_string(self.directory().path_join("icons-main/package.json"))) @@ -48,6 +50,8 @@ func load() -> Array: func _load_item(file_name: String) -> Array: var icon: IconBootstrap = IconBootstrap.new() icon.collection = self + icon.svg_size = Vector2i(16, 16) + icon.colorable = true var meta: String = FileAccess.get_file_as_string(self._meta_directory().path_join(file_name)) if meta == "": @@ -86,7 +90,7 @@ func _load_item(file_name: String) -> Array: push_warning("could not load '" + icon.icon_path + "'") return [] - return [icon, self.convert_icon_colored(buffer, "FFFFFF")] + return [icon, self.color_icon(buffer, "FFFFFF")] # OVERRIDE func install(http: HTTPRequest, _version: String) -> Error: diff --git a/addons/icon_explorer/internal/ext/country_flag_icons/collection.gd b/addons/icon_explorer/internal/ext/country_flag_icons/collection.gd new file mode 100644 index 0000000..a56421b --- /dev/null +++ b/addons/icon_explorer/internal/ext/country_flag_icons/collection.gd @@ -0,0 +1,95 @@ +extends "res://addons/icon_explorer/internal/scripts/collection.gd" + +const IconCountryFlags := preload("res://addons/icon_explorer/internal/ext/country_flag_icons/icon.gd") +const ZipUnpacker := preload("res://addons/icon_explorer/internal/scripts/tools/zip_unpacker.gd") + +const _DOWNLOAD_FILE: String = "https://gitlab.com/catamphetamine/country-flag-icons/-/archive/master/country-flag-icons-master.zip" + +func _init() -> void: + self.name = "Country Flag Icons" + self.version = "" + self.author = "Nikolay Kuchumov" + self.license = "Public Domain" + self.web = "https://gitlab.com/catamphetamine/country-flag-icons" + +# OVERRIDE +func load() -> Array: + var dir: DirAccess = DirAccess.open(self.icon_directory()) + if !dir: + return [[], PackedStringArray()] + + var flag_names: JSON = JSON.new() + var res_flag_names: int = flag_names.parse(FileAccess.get_file_as_string(self.directory().path_join("country-flag-icons-master/runnable/countryNames.json"))) + if res_flag_names != OK: + push_warning("could not parse country flag icons countryNames.json: '%s'", [flag_names.get_error_message()]) + return [[], PackedStringArray()] + + var icons: Array[Icon] = [] + var buffers: PackedStringArray = PackedStringArray() + dir.list_dir_begin() + var file_name: String = dir.get_next() + while file_name != "": + if dir.current_is_dir(): + file_name = dir.get_next() + continue + + var icon: IconCountryFlags = IconCountryFlags.new() + icon.collection = self + icon.colorable = false + icon.country_code = file_name.get_basename().to_upper() + icon.icon_path = self.icon_directory().path_join(file_name) + icon.name = flag_names.data[icon.country_code.split("-")[-1]] + if icon.name == "": + push_warning("country flag icons '", file_name, "' has no name") + file_name = dir.get_next() + continue + + icons.append(icon) + + var buffer: String = FileAccess.get_file_as_string(icon.icon_path) + icon.svg_size = Icon.get_svg_size(buffer) + buffers.push_back(buffer) + file_name = dir.get_next() + dir.list_dir_end() + dir = null + + var parser_version: JSON = JSON.new() + var res_version: int = parser_version.parse(FileAccess.get_file_as_string(self.directory().path_join("country-flag-icons-master/package.json"))) + if res_version != OK: + push_warning("could not parse country flag icons package.json: '%s'", [parser_version.get_error_message()]) + return [[], PackedStringArray()] + self.version = parser_version.data["version"] + + return [icons, buffers] + +# OVERRIDE +func install(http: HTTPRequest, _version: String) -> Error: + DirAccess.make_dir_recursive_absolute(self.directory()) + var zip_path: String = self.directory().path_join("icons.zip") + http.download_file = zip_path + var downloader: Io.FileDownloader = Io.FileDownloader.new(http) + downloader.request.bind(_DOWNLOAD_FILE).call_deferred() + + downloader.wait() + if downloader.result != HTTPRequest.RESULT_SUCCESS: + return Error.FAILED + + var unzipper: ZipUnpacker = ZipUnpacker.new(zip_path, self.directory(), [ + "country-flag-icons-master/3x2/", + "country-flag-icons-master/package.json", + "country-flag-icons-master/runnable/countryNames.json", + "country-flag-icons-master/LICENSE", + ]) + if !unzipper.unpack_mt(maxi(OS.get_processor_count() / 2, 1)): + return Error.FAILED + DirAccess.remove_absolute(zip_path) + return Error.OK + +# OVERRIDE +func remove() -> Error: + self.version = "" + return super.remove() + +# OVERRIDE +func icon_directory() -> String: + return self.directory().path_join("country-flag-icons-master/3x2/") diff --git a/addons/icon_explorer/internal/ext/country_flag_icons/details_panel.gd b/addons/icon_explorer/internal/ext/country_flag_icons/details_panel.gd new file mode 100644 index 0000000..762ddd5 --- /dev/null +++ b/addons/icon_explorer/internal/ext/country_flag_icons/details_panel.gd @@ -0,0 +1,11 @@ +@tool +extends VBoxContainer + +const IconCountryFlags := preload("res://addons/icon_explorer/internal/ext/country_flag_icons/icon.gd") +const TextField := preload("res://addons/icon_explorer/internal/ui/detail_panel/text_field.gd") +const ListField := preload("res://addons/icon_explorer/internal/ui/detail_panel/list_field.gd") + +@export var _country_code: TextField + +func display(icon: IconCountryFlags) -> void: + self._country_code.text = icon.country_code diff --git a/addons/icon_explorer/internal/ext/country_flag_icons/details_panel.tscn b/addons/icon_explorer/internal/ext/country_flag_icons/details_panel.tscn new file mode 100644 index 0000000..5f0f0cc --- /dev/null +++ b/addons/icon_explorer/internal/ext/country_flag_icons/details_panel.tscn @@ -0,0 +1,20 @@ +[gd_scene load_steps=3 format=3 uid="uid://lk45nf0tqm80"] + +[ext_resource type="Script" path="res://addons/icon_explorer/internal/ext/country_flag_icons/details_panel.gd" id="1_te45c"] +[ext_resource type="PackedScene" uid="uid://b64tcvn5sw03h" path="res://addons/icon_explorer/internal/ui/detail_panel/text_field.tscn" id="2_u3ntg"] + +[node name="country_flag_icons" type="VBoxContainer" node_paths=PackedStringArray("_country_code")] +anchors_preset = 10 +anchor_right = 1.0 +offset_bottom = 136.0 +grow_horizontal = 2 +script = ExtResource("1_te45c") +_country_code = NodePath("country_code") + +[node name="country_code" parent="." node_paths=PackedStringArray("_label", "_button", "_title") instance=ExtResource("2_u3ntg")] +visible = false +layout_mode = 2 +_label = NodePath("margin_container/h_box_container/label") +_button = NodePath("margin_container/h_box_container/button") +title = "Country Code" +_title = NodePath("title_panel") diff --git a/addons/icon_explorer/internal/ext/country_flag_icons/icon.gd b/addons/icon_explorer/internal/ext/country_flag_icons/icon.gd new file mode 100644 index 0000000..5be01ba --- /dev/null +++ b/addons/icon_explorer/internal/ext/country_flag_icons/icon.gd @@ -0,0 +1,11 @@ +extends "res://addons/icon_explorer/internal/scripts/icon.gd" + +var country_code: String + +func match(keyword: String) -> int: + var name_match: int = self.get_name_match(keyword) + if name_match != 0: + return name_match + if self.country_code.to_lower().contains(keyword): + return 5 + return 0 diff --git a/addons/icon_explorer/internal/ext/font_awesome/collection.gd b/addons/icon_explorer/internal/ext/font_awesome/collection.gd index 6ce4c9a..8a4f329 100644 --- a/addons/icon_explorer/internal/ext/font_awesome/collection.gd +++ b/addons/icon_explorer/internal/ext/font_awesome/collection.gd @@ -11,10 +11,9 @@ func _init() -> void: self.author = "The Font Awesome Team" self.license = "CC BY 4.0" self.web = "https://github.com/FortAwesome/Font-Awesome" - self.svg_size = 512.0 # OVERRIDE -func convert_icon_colored(buffer: String, color: String) -> String: +func color_icon(buffer: String, color: String) -> String: return ' Array: for style: String in item.get("styles", []): var icon: IconFontAwesome = IconFontAwesome.new() icon.collection = self + icon.svg_size = Vector2i(512, 512) + icon.colorable = true icon.name = item["label"] icon.icon_path = self.icon_directory().path_join(style + "/" + icon_id + ".svg") @@ -55,7 +56,7 @@ func load() -> Array: icon.aliases = item.get("aliases", {}).get("names", PackedStringArray()) icon.search_terms = item.get("search", {}).get("terms", PackedStringArray()) icons.append(icon) - buffers.append(self.convert_icon_colored(item["svg"][style]["raw"], "FFFFFF")) + buffers.append(self.color_icon(item["svg"][style]["raw"], "FFFFFF")) return [icons, buffers] diff --git a/addons/icon_explorer/internal/ext/icon_tabler/collection.gd b/addons/icon_explorer/internal/ext/icon_tabler/collection.gd index 19a00b7..1fd6884 100644 --- a/addons/icon_explorer/internal/ext/icon_tabler/collection.gd +++ b/addons/icon_explorer/internal/ext/icon_tabler/collection.gd @@ -11,10 +11,9 @@ func _init() -> void: self.author = "Paweł Kuna" self.license = "MIT" self.web = "https://github.com/tabler/tabler-icons" - self.svg_size = 24.0 # OVERRIDE -func convert_icon_colored(buffer: String, color: String) -> String: +func color_icon(buffer: String, color: String) -> String: return buffer.replace("currentColor", "#" + color) # OVERRIDE @@ -38,6 +37,8 @@ func load() -> Array: for item: Dictionary in parser.data.values(): var icon: IconTabler = IconTabler.new() icon.collection = self + icon.svg_size = Vector2i(24, 24) + icon.colorable = true icon.name = item["name"] icon.icon_path = icon_path.path_join(icon.name + ".svg") @@ -50,7 +51,7 @@ func load() -> Array: push_warning("could not load '" + icon.icon_path + "'") continue icons.append(icon) - buffers.append(self.convert_icon_colored(buffer, "FFFFFF")) + buffers.append(self.color_icon(buffer, "FFFFFF")) return [icons, buffers] # OVERRIDE diff --git a/addons/icon_explorer/internal/ext/material_design/collection.gd b/addons/icon_explorer/internal/ext/material_design/collection.gd index 2ea030a..1b74851 100644 --- a/addons/icon_explorer/internal/ext/material_design/collection.gd +++ b/addons/icon_explorer/internal/ext/material_design/collection.gd @@ -11,10 +11,9 @@ func _init() -> void: self.author = "Austin Andrews" self.license = "Apache 2.0" self.web = "https://github.com/Templarian/MaterialDesign-SVG" - self.svg_size = 24.0 # OVERRIDE -func convert_icon_colored(buffer: String, color: String) -> String: +func color_icon(buffer: String, color: String) -> String: return ' Array: for item: Dictionary in parser.data: var icon: IconMaterialDesign = IconMaterialDesign.new() icon.collection = self + icon.svg_size = Vector2i(24, 24) + icon.colorable = true icon.name = item["name"] icon.icon_path = icon_path.path_join(icon.name + ".svg") @@ -52,7 +53,7 @@ func load() -> Array: push_warning("could not load '" + icon.icon_path + "'") continue icons.append(icon) - buffers.append(self.convert_icon_colored(buffer, "FFFFFF")) + buffers.append(self.color_icon(buffer, "FFFFFF")) return [icons, buffers] # OVERRIDE diff --git a/addons/icon_explorer/internal/ext/simple_icons/collection.gd b/addons/icon_explorer/internal/ext/simple_icons/collection.gd index 541f0a8..3ec4e46 100644 --- a/addons/icon_explorer/internal/ext/simple_icons/collection.gd +++ b/addons/icon_explorer/internal/ext/simple_icons/collection.gd @@ -39,10 +39,9 @@ func _init() -> void: self.author = "" self.license = "CC0 1.0 Universal / Others" self.web = "https://github.com/simple-icons/simple-icons" - self.svg_size = 24.0 # OVERRIDE -func convert_icon_colored(buffer: String, color: String) -> String: +func color_icon(buffer: String, color: String) -> String: return ' String: @@ -88,6 +87,8 @@ func load() -> Array: func _load_item(item: Dictionary) -> Array: var icon: IconSimpleIcons = IconSimpleIcons.new() icon.collection = self + icon.svg_size = Vector2i(24, 24) + icon.colorable = true icon.name = item["title"] if item.has("slug"): @@ -112,7 +113,7 @@ func _load_item(item: Dictionary) -> Array: push_warning("could not load '" + icon.icon_path + "'") return [] - return [icon, self.convert_icon_colored(buffer, "FFFFFF")] + return [icon, self.color_icon(buffer, "FFFFFF")] # OVERRIDE func install(http: HTTPRequest, _version: String) -> Error: diff --git a/addons/icon_explorer/internal/ext/simple_icons/icon.gd b/addons/icon_explorer/internal/ext/simple_icons/icon.gd index 4e0e605..eb63d7c 100644 --- a/addons/icon_explorer/internal/ext/simple_icons/icon.gd +++ b/addons/icon_explorer/internal/ext/simple_icons/icon.gd @@ -7,7 +7,6 @@ var license: String var license_link: String var guidelines: String - func match(keyword: String) -> int: var name_match: int = self.get_name_match(keyword) if name_match != 0: @@ -15,6 +14,6 @@ func match(keyword: String) -> int: for alias: String in self.aliases: if alias.to_lower().contains(keyword): return 7 - if self.hex.to_html().to_lower() == keyword || "#"+self.hex.to_html().to_lower() == keyword: + if self.hex.to_html().to_lower() == keyword||"#" + self.hex.to_html().to_lower() == keyword: return 1 return 0 diff --git a/addons/icon_explorer/internal/scripts/collection.gd b/addons/icon_explorer/internal/scripts/collection.gd index 968901c..5ae32f0 100644 --- a/addons/icon_explorer/internal/scripts/collection.gd +++ b/addons/icon_explorer/internal/scripts/collection.gd @@ -13,9 +13,6 @@ var license: String var license_text: String var web: String -## base size of svg -var svg_size: float - # is set on registering it at the IconDatabase var _id: int = -1 @@ -26,8 +23,8 @@ func is_installed() -> bool: return DirAccess.dir_exists_absolute(self.icon_directory()) # VIRTUAL -func convert_icon_colored(buffer: String, color: String) -> String: - return "" +func color_icon(buffer: String, color: String) -> String: + return buffer # VIRTUAL # called in a thread @@ -53,6 +50,10 @@ func icon_directory() -> String: assert(false, "virtual function") return "" +# VIRTUAL +func detail_panel_scene() -> PackedScene: + return null + func directory() -> String: if Engine.is_editor_hint(): if ProjectSettings.get_setting("application/config/use_hidden_project_data_directory", true): @@ -74,11 +75,12 @@ static func get_default_collection_paths() -> PackedStringArray: dir.list_dir_begin() var elem: String = dir.get_next() var paths: PackedStringArray = [] - while (not elem.is_empty()): + while elem != "": if dir.current_is_dir(): paths.push_back(ext_path.path_join(elem)) elem = dir.get_next() dir.list_dir_end() dir = null + paths.sort() return paths diff --git a/addons/icon_explorer/internal/scripts/database.gd b/addons/icon_explorer/internal/scripts/database.gd index 8e362f9..d4c5c5f 100644 --- a/addons/icon_explorer/internal/scripts/database.gd +++ b/addons/icon_explorer/internal/scripts/database.gd @@ -8,15 +8,15 @@ const Icon := preload("res://addons/icon_explorer/internal/scripts/icon.gd") signal collection_installed(id: int, status: Error) signal collection_removed(id: int, status: Error) -## emitted after calling load() -signal loaded() +signal load_started() +signal load_finished() var _loaded_collections: Array[int] = [] var _collections: Array[Collection] = [] var _icons: Array[Icon] = [] -## used to await next frame on texture loading var _scene_tree: SceneTree + ## no mutex required as loading is suspended while main thread runs ## as this progress is exclusively used in loading the textures var _load_progress: float @@ -25,11 +25,10 @@ var _processing_thread: Thread func load_progress() -> float: return self._load_progress -func _init(scene_tree: SceneTree) -> void: +func _init(scene_tree: SceneTree = null) -> void: self._scene_tree = scene_tree for path: String in Collection.get_default_collection_paths(): - self.register((load(path.path_join("/collection.gd")) as Script).new()) - print(typeof(Collection)) + self.register(load(path.path_join("/collection.gd")).new() as Collection) func _notification(what: int): if what == NOTIFICATION_PREDELETE: @@ -109,9 +108,11 @@ func load() -> void: self._processing_thread.wait_to_finish() self._processing_thread = Thread.new() + self.load_started.emit() self._processing_thread.start(self._load) # thread function +# does not call self.load_started.emit() func _load() -> void: var loaded_icons: Array[Icon] = [] var buffers: PackedStringArray = PackedStringArray() @@ -129,15 +130,21 @@ func _load_done(loaded_icons: Array[Icon], buffers: PackedStringArray) -> void: for idx: int in range(loaded_icons.size()): if idx % 50 == 0: self._load_progress = float(idx + 1) / loaded_icons.size() * 100.0 - await self._scene_tree.process_frame + if self._scene_tree != null: + await self._scene_tree.process_frame _load_texture(loaded_icons[idx], buffers[idx]) self._icons.append_array(loaded_icons) - self.loaded.emit() + self.load_finished.emit() static func _load_texture(icon: Icon, buffer: String) -> void: var img: Image = Image.new() # scale texture to 128 - var success: int = img.load_svg_from_string(buffer, Collection.TEXTURE_SIZE / icon.collection.svg_size) + var scale: float = 1.0 + if icon.svg_size == Vector2.ZERO: + push_warning("icon %s has no size" % icon.icon_path) + else: + scale = Collection.TEXTURE_SIZE / max(icon.svg_size.x, icon.svg_size.y) + var success: int = img.load_svg_from_string(buffer, scale) if success != OK: push_warning("could not load '" + icon.icon_path + "'") return diff --git a/addons/icon_explorer/internal/scripts/icon.gd b/addons/icon_explorer/internal/scripts/icon.gd index bd43b78..ed37d31 100644 --- a/addons/icon_explorer/internal/scripts/icon.gd +++ b/addons/icon_explorer/internal/scripts/icon.gd @@ -6,6 +6,8 @@ var name: String var collection: Collection var texture: Texture2D var icon_path: String +var svg_size: Vector2 = Vector2.ZERO +var colorable: bool = false # used by the GUI to sort multiple icons, cached value to optimize sorting var sort_priority: int @@ -35,3 +37,14 @@ func get_name_match(keyword: String) -> int: static func compare(lhs, rhs) -> bool: return lhs.sort_priority > rhs.sort_priority || (lhs.sort_priority == rhs.sort_priority && lhs.name.to_lower() < rhs.name.to_lower()) + +static var _rx_view_box: RegEx = RegEx.create_from_string(r'viewBox=\"([+-]?(?:[0-9]*[.])?[0-9]+) ([+-]?(?:[0-9]*[.])?[0-9]+) ([+-]?(?:[0-9]*[.])?[0-9]+) ([+-]?(?:[0-9]*[.])?[0-9]+)\"') + +static func get_svg_size(buffer: String) -> Vector2: + # TODO: static init is not called in editor if not @tool + if _rx_view_box == null: + _rx_view_box = RegEx.create_from_string(r'viewBox=\"([+-]?(?:[0-9]*[.])?[0-9]+) ([+-]?(?:[0-9]*[.])?[0-9]+) ([+-]?(?:[0-9]*[.])?[0-9]+) ([+-]?(?:[0-9]*[.])?[0-9]+)\"') + var rx_match: RegExMatch = _rx_view_box.search(buffer) + if rx_match: + return Vector2(float(rx_match.get_string(3)) - float(rx_match.get_string(1)), float(rx_match.get_string(4)) - int(rx_match.get_string(2))) + return Vector2(0, 0) diff --git a/addons/icon_explorer/internal/scripts/tools/io.gd b/addons/icon_explorer/internal/scripts/tools/io.gd index 83567c2..6e901f2 100644 --- a/addons/icon_explorer/internal/scripts/tools/io.gd +++ b/addons/icon_explorer/internal/scripts/tools/io.gd @@ -9,11 +9,15 @@ static func rrm_dir(dir_path: String) -> bool: while file_name != "": if dir.current_is_dir(): if !rrm_dir(dir_path.path_join(file_name)): + dir.list_dir_end() return false else: if dir.remove(file_name) != Error.OK: + dir.list_dir_end() return false file_name = dir.get_next() + dir.list_dir_end() + dir = null DirAccess.remove_absolute(dir_path) return true diff --git a/addons/icon_explorer/internal/ui/detail_panel/color_field.tscn b/addons/icon_explorer/internal/ui/detail_panel/color_field.tscn index c3eb29e..eca047f 100644 --- a/addons/icon_explorer/internal/ui/detail_panel/color_field.tscn +++ b/addons/icon_explorer/internal/ui/detail_panel/color_field.tscn @@ -3,14 +3,15 @@ [ext_resource type="Script" path="res://addons/icon_explorer/internal/ui/detail_panel/color_field.gd" id="1_vl8db"] [ext_resource type="PackedScene" uid="uid://bonqki0uorlhq" path="res://addons/icon_explorer/internal/ui/detail_panel/field_title.tscn" id="2_2clk4"] -[node name="color" type="VBoxContainer" node_paths=PackedStringArray("_color_rect", "_color_label")] +[node name="color" type="VBoxContainer" node_paths=PackedStringArray("_color_rect", "_color_label", "_title")] script = ExtResource("1_vl8db") _color_rect = NodePath("margin_container/color_rect") _color_label = NodePath("margin_container/color") -_title_path = NodePath("title_panel") +_title = NodePath("title_panel") -[node name="title_panel" parent="." instance=ExtResource("2_2clk4")] +[node name="title_panel" parent="." node_paths=PackedStringArray("_text_label") instance=ExtResource("2_2clk4")] layout_mode = 2 +_text_label = NodePath("title") [node name="margin_container" type="MarginContainer" parent="."] layout_mode = 2 @@ -26,5 +27,7 @@ mouse_default_cursor_shape = 2 [node name="color" type="Label" parent="margin_container"] layout_mode = 2 size_flags_vertical = 1 +theme_override_colors/font_color = Color(0, 0, 0, 1) +text = "#FFFFFF" horizontal_alignment = 1 vertical_alignment = 1 diff --git a/addons/icon_explorer/internal/ui/detail_panel/detail_panel.gd b/addons/icon_explorer/internal/ui/detail_panel/detail_panel.gd index 0a54746..04c49fe 100644 --- a/addons/icon_explorer/internal/ui/detail_panel/detail_panel.gd +++ b/addons/icon_explorer/internal/ui/detail_panel/detail_panel.gd @@ -4,7 +4,6 @@ extends PanelContainer const Toolbar := preload("res://addons/icon_explorer/internal/ui/detail_panel/toolbar.gd") const Collection := preload("res://addons/icon_explorer/internal/scripts/collection.gd") -const EditorToastNotification := preload("res://addons/icon_explorer/editor_toast_notification.gd") const Icon := preload("res://addons/icon_explorer/internal/scripts/icon.gd") const TextField := preload("res://addons/icon_explorer/internal/ui/detail_panel/text_field.gd") @@ -78,11 +77,16 @@ func display(icon: Icon) -> void: self._name.text = icon.name self._icon.texture = icon.texture self._size.text = "%dx%d" % [ - icon.texture.get_size().x / Collection.TEXTURE_SIZE * icon.collection.svg_size, - icon.texture.get_size().y / Collection.TEXTURE_SIZE * icon.collection.svg_size + icon.svg_size.x, + icon.svg_size.y ] self._detail_tabs.current_tab = icon.collection.id() + if !icon.colorable: + self._icon.self_modulate = Color.WHITE + else: + self._icon.self_modulate = self.preview_color + self._toolbar.disable_save_colored_button(!icon.colorable) self._detail_tabs.get_child(icon.collection.id()).display(icon) func _on_save_pressed(colored: bool) -> void: @@ -110,16 +114,15 @@ func _on_filepath_selected(path: String, colored: bool) -> void: var buffer: String = FileAccess.get_file_as_string(self._cur_icon.icon_path) if buffer == "": if Engine.is_editor_hint(): - EditorToastNotification.notify("[Icon Explorer] Could not save icon.\nCould not load '" + self._cur_icon.icon_path + "'", EditorToastNotification.Severity.WARNING) + push_warning("[Icon Explorer] Could not save icon.\nCould not load '" + self._cur_icon.icon_path + "'") else: push_warning("could not load '" + self._cur_icon.icon_path + "'") return - buffer = self._cur_icon.collection.convert_icon_colored(buffer, self.preview_color.to_html(false)) + buffer = self._cur_icon.collection.color_icon(buffer, self.preview_color.to_html(false)) var writer: FileAccess = FileAccess.open(path, FileAccess.WRITE) if writer == null: - writer = null if Engine.is_editor_hint(): - EditorToastNotification.notify("[Icon Explorer] Could not save icon (" + self._cur_icon.name + ").\nCould not write to '" + path + "'", EditorToastNotification.Severity.WARNING) + push_warning("[Icon Explorer] Could not save icon (" + self._cur_icon.name + ").\nCould not write to '" + path + "'") else: push_warning("could not save '" + path + "'") return @@ -129,10 +132,10 @@ func _on_filepath_selected(path: String, colored: bool) -> void: var err: Error = DirAccess.copy_absolute(self._cur_icon.icon_path, path) if err != OK: if Engine.is_editor_hint(): - EditorToastNotification.notify("[Icon Explorer] Could not save icon (" + self._cur_icon.name + ").\nCould copy file '" + path + "' to '" + self._cur_icon.icon_path + "'", EditorToastNotification.Severity.WARNING) + push_warning("[Icon Explorer] Could not save icon (" + self._cur_icon.name + ").\nCould copy file '" + path + "' to '" + self._cur_icon.icon_path + "'") else: push_warning("could not copy file", err) return if Engine.is_editor_hint(): - EditorToastNotification.notify("[Icon Explorer] Icon '" + self._cur_icon.name + "' saved to '" + path + "'") + print("[Icon Explorer] Icon '" + self._cur_icon.name + "' saved to '" + path + "'") EditorInterface.get_resource_filesystem().scan() diff --git a/addons/icon_explorer/internal/ui/detail_panel/field_title.tscn b/addons/icon_explorer/internal/ui/detail_panel/field_title.tscn index d386055..40aaf5c 100644 --- a/addons/icon_explorer/internal/ui/detail_panel/field_title.tscn +++ b/addons/icon_explorer/internal/ui/detail_panel/field_title.tscn @@ -1,15 +1,17 @@ -[gd_scene load_steps=2 format=3 uid="uid://bonqki0uorlhq"] +[gd_scene load_steps=3 format=3 uid="uid://bonqki0uorlhq"] [ext_resource type="Script" path="res://addons/icon_explorer/internal/ui/detail_panel/field_title.gd" id="1_unl3l"] +[sub_resource type="FontVariation" id="FontVariation_aajth"] +spacing_top = -1 +spacing_bottom = -1 + [node name="title_panel" type="PanelContainer" node_paths=PackedStringArray("_text_label")] -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 +offset_right = 17.0 +offset_bottom = 29.0 script = ExtResource("1_unl3l") _text_label = NodePath("title") [node name="title" type="Label" parent="."] layout_mode = 2 +theme_override_fonts/font = SubResource("FontVariation_aajth") diff --git a/addons/icon_explorer/internal/ui/detail_panel/list_field.tscn b/addons/icon_explorer/internal/ui/detail_panel/list_field.tscn index 89665b1..039cca2 100644 --- a/addons/icon_explorer/internal/ui/detail_panel/list_field.tscn +++ b/addons/icon_explorer/internal/ui/detail_panel/list_field.tscn @@ -5,18 +5,20 @@ [sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_wghjy"] -[node name="list_field" type="VBoxContainer" node_paths=PackedStringArray("_list")] +[node name="list_field" type="VBoxContainer" node_paths=PackedStringArray("_list", "_title")] anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 script = ExtResource("1_wb7ty") -_title_path = NodePath("title_panel") +items = PackedStringArray() _list = NodePath("margin_container/item_list") +_title = NodePath("title_panel") -[node name="title_panel" parent="." instance=ExtResource("2_gcg2e")] +[node name="title_panel" parent="." node_paths=PackedStringArray("_text_label") instance=ExtResource("2_gcg2e")] layout_mode = 2 +_text_label = NodePath("title") [node name="margin_container" type="MarginContainer" parent="."] layout_mode = 2 diff --git a/addons/icon_explorer/internal/ui/detail_panel/text_field.tscn b/addons/icon_explorer/internal/ui/detail_panel/text_field.tscn index 08a2be6..70beef8 100644 --- a/addons/icon_explorer/internal/ui/detail_panel/text_field.tscn +++ b/addons/icon_explorer/internal/ui/detail_panel/text_field.tscn @@ -3,15 +3,15 @@ [ext_resource type="Script" path="res://addons/icon_explorer/internal/ui/detail_panel/text_field.gd" id="1_fhni0"] [ext_resource type="PackedScene" uid="uid://bonqki0uorlhq" path="res://addons/icon_explorer/internal/ui/detail_panel/field_title.tscn" id="2_vjbmh"] -[node name="text_field" type="VBoxContainer" node_paths=PackedStringArray("_label", "_button")] -anchors_preset = 15 +[node name="text_field" type="VBoxContainer" node_paths=PackedStringArray("_label", "_button", "_title")] +anchors_preset = 10 anchor_right = 1.0 -anchor_bottom = 1.0 +offset_bottom = 72.0 grow_horizontal = 2 -grow_vertical = 2 script = ExtResource("1_fhni0") _label = NodePath("margin_container/h_box_container/label") _button = NodePath("margin_container/h_box_container/button") +_title = NodePath("title_panel") [node name="title_panel" parent="." node_paths=PackedStringArray("_text_label") instance=ExtResource("2_vjbmh")] layout_mode = 2 @@ -25,6 +25,7 @@ theme_override_constants/margin_left = 16 layout_mode = 2 [node name="button" type="Button" parent="margin_container/h_box_container"] +visible = false layout_mode = 2 mouse_default_cursor_shape = 2 flat = true diff --git a/addons/icon_explorer/internal/ui/detail_panel/toolbar.gd b/addons/icon_explorer/internal/ui/detail_panel/toolbar.gd index 26860fa..bb56621 100644 --- a/addons/icon_explorer/internal/ui/detail_panel/toolbar.gd +++ b/addons/icon_explorer/internal/ui/detail_panel/toolbar.gd @@ -17,6 +17,9 @@ func _ready() -> void: self._save_button.pressed.connect(self._on_save_button_pressed) self._save_colored_button.pressed.connect(self._on_save_colored_button_pressed) +func disable_save_colored_button(disable: bool) -> void: + self._save_colored_button.disabled = disable + func _on_save_button_pressed() -> void: self.save_pressed.emit() diff --git a/addons/icon_explorer/internal/ui/explorer/explorer.gd b/addons/icon_explorer/internal/ui/explorer/explorer.gd index 84dcb02..265bde2 100644 --- a/addons/icon_explorer/internal/ui/explorer/explorer.gd +++ b/addons/icon_explorer/internal/ui/explorer/explorer.gd @@ -7,7 +7,6 @@ const Icon := preload("res://addons/icon_explorer/internal/scripts/icon.gd") const IconDatabase := preload("res://addons/icon_explorer/internal/scripts/database.gd") const DetailPanel := preload("res://addons/icon_explorer/internal/ui/detail_panel/detail_panel.gd") -const EditorToastNotification := preload("res://addons/icon_explorer/editor_toast_notification.gd") const Options := preload("res://addons/icon_explorer/internal/ui/options/options.gd") @export var _filter_icon: TextureRect @@ -28,7 +27,6 @@ const Options := preload("res://addons/icon_explorer/internal/ui/options/options @export var _preview_options_panel: PanelContainer var _db: IconDatabase -var _db_loaded: bool # timer which starts after filter change and will fire the update # is updated on each input again to not update the list on each change but wait a short time @@ -52,42 +50,47 @@ func _ready() -> void: self._filter.text_changed.connect(self._on_filter_changed) self._filter.text_submitted.connect(self._on_filter_submitted) self._preview_color.popup_closed.connect(self._update_preview_color) - self._update_preview_size(ProjectSettings.get_setting("plugins/icon_explorer/preview_size_exp")) + self._update_preview_size(ProjectSettings.get_setting("plugins/icon_explorer/preview_size_exp") as float) if Engine.is_editor_hint(): ProjectSettings.settings_changed.connect( func () -> void: - self._update_preview_size(ProjectSettings.get_setting("plugins/icon_explorer/preview_size_exp")) + self._update_preview_size(ProjectSettings.get_setting("plugins/icon_explorer/preview_size_exp") as float) ) self._preview_size.value_changed.connect(self._on_preview_size_changed) self._detail_panel.preview_color = self._preview_color.color self._options_button.icon = self.get_theme_icon(&"Tools", &"EditorIcons") self._options_button.pressed.connect(self._on_option_pressed) - - self._db = IconDatabase.new(self.get_tree()) - self._db.loaded.connect(self._on_icon_database_loaded) - self._db.collection_installed.connect(self._on_database_changed) - self._db.collection_removed.connect(self._on_database_changed) - if Engine.is_editor_hint(): - self._db.collection_installed.connect(self._on_collection_changed.bind(true)) - self._db.collection_removed.connect(self._on_collection_changed.bind(false)) - self._options.db = self._db - - if !Engine.is_editor_hint() || (Engine.is_editor_hint() && ProjectSettings.get_setting("plugins/icon_explorer/load_on_startup", false)): - self.load_db() + self.set_process(false) + if !Engine.is_editor_hint(): + self.set_icon_db(IconDatabase.new(self.get_tree())) + self._db.load() func _process(_delta: float) -> void: var progress: float = self._db.load_progress() self._progress_bar.indeterminate = progress <= 0.0 self._progress_bar.value = progress -func load_db() -> void: - if self._db_loaded: - return - self._db_loaded = true - self.set_process(true) - self._db.load() +func set_icon_db(db: IconDatabase) -> void: + if self._db != null: + self._db.load_started.disconnect(self._on_icon_database_load_started) + self._db.load_finished.disconnect(self._on_icon_database_load_finished) + self._db.collection_installed.disconnect(self._on_database_changed) + self._db.collection_removed.disconnect(self._on_database_changed) + if Engine.is_editor_hint(): + self._db.collection_installed.disconnect(self._on_collection_changed.bind(true)) + self._db.collection_removed.disconnect(self._on_collection_changed.bind(false)) + + self._db = db + self._db.load_started.connect(self._on_icon_database_load_started) + self._db.load_finished.connect(self._on_icon_database_load_finished) + self._db.collection_installed.connect(self._on_database_changed) + self._db.collection_removed.connect(self._on_database_changed) + if Engine.is_editor_hint(): + self._db.collection_installed.connect(self._on_collection_changed.bind(true)) + self._db.collection_removed.connect(self._on_collection_changed.bind(false)) + self._options.db = self._db func update() -> void: var filter: String = self._filter.text.to_lower() @@ -111,7 +114,10 @@ func update() -> void: var idx: int = self._icon_list.add_item(icon.name, icon.texture) self._icon_list.set_item_tooltip(idx, icon.collection.name) self._icon_list.set_item_metadata(idx, icon) - self._icon_list.set_item_icon_modulate(idx, color) + if icon.colorable: + self._icon_list.set_item_icon_modulate(idx, color) + else: + self._icon_list.set_item_icon_modulate(idx, Color.WHITE) self._icon_list.get_v_scroll_bar().value = 0 func _clear() -> void: @@ -122,7 +128,10 @@ func _update_preview_color() -> void: var color: Color = self._preview_color.color self._detail_panel.preview_color = color for idx: int in range(self._icon_list.item_count): - self._icon_list.set_item_icon_modulate(idx, color) + if (self._icon_list.get_item_metadata(idx) as Icon).colorable: + self._icon_list.set_item_icon_modulate(idx, color) + else: + self._icon_list.set_item_icon_modulate(idx, Color.WHITE) func _on_preview_size_changed(expo: float) -> void: self._update_preview_size(expo) @@ -145,7 +154,10 @@ func _on_database_changed(_id: int, status: Error) -> void: if status == Error.OK: self.update() -func _on_icon_database_loaded() -> void: +func _on_icon_database_load_started() -> void: + self.set_process(true) + +func _on_icon_database_load_finished() -> void: self.set_process(false) self._progress_bar.value = 100.0 self._progress_bar.visible = false @@ -178,12 +190,12 @@ func _on_collection_changed(id: int, status: Error, is_installation: bool): var msg: String = "[Icon Explorer] '" + self._db.get_collection(id).name + "' " if is_installation: if status == Error.OK: - msg += " successfully installed." + msg += "successfully installed." else: - msg += " installation failed." + msg += "installation failed." else: if status == Error.OK: - msg += " successfully removed." + msg += "successfully removed." else: - msg += " removing failed." - EditorToastNotification.notify(msg) + msg += "removing failed." + print(msg) diff --git a/addons/icon_explorer/internal/ui/explorer_dialog.gd b/addons/icon_explorer/internal/ui/explorer_dialog.gd index b508abe..a6d6e02 100644 --- a/addons/icon_explorer/internal/ui/explorer_dialog.gd +++ b/addons/icon_explorer/internal/ui/explorer_dialog.gd @@ -2,13 +2,22 @@ extends Window const Explorer := preload("res://addons/icon_explorer/internal/ui/explorer/explorer.gd") +const IconDatabase := preload("res://addons/icon_explorer/internal/scripts/database.gd") @export var _explorer: Explorer +var _db: IconDatabase +var _db_loaded: bool = false + +func set_icon_db(db: IconDatabase) -> void: + self._db = db + self._explorer.set_icon_db(db) + func _notification(what: int) -> void: - if (what == NOTIFICATION_WM_CLOSE_REQUEST): + if what == NOTIFICATION_WM_CLOSE_REQUEST: self.hide() func _on_about_to_popup() -> void: - if Engine.is_editor_hint() && !ProjectSettings.get_setting("plugins/icon_explorer/load_on_startup", false): - self._explorer.load_db() + if !self._db_loaded: + self._db_loaded = true + self._db.load() diff --git a/addons/icon_explorer/internal/ui/main_screen.gd b/addons/icon_explorer/internal/ui/main_screen.gd new file mode 100644 index 0000000..10cbb9a --- /dev/null +++ b/addons/icon_explorer/internal/ui/main_screen.gd @@ -0,0 +1,10 @@ +@tool +extends Control + +const Explorer := preload("res://addons/icon_explorer/internal/ui/explorer/explorer.gd") +const IconDatabase := preload("res://addons/icon_explorer/internal/scripts/database.gd") + +@export var _explorer: Explorer + +func set_icon_db(db: IconDatabase) -> void: + self._explorer.set_icon_db(db) diff --git a/addons/icon_explorer/internal/ui/main_screen.tscn b/addons/icon_explorer/internal/ui/main_screen.tscn new file mode 100644 index 0000000..af9eb37 --- /dev/null +++ b/addons/icon_explorer/internal/ui/main_screen.tscn @@ -0,0 +1,32 @@ +[gd_scene load_steps=3 format=3 uid="uid://bbakco62s63pv"] + +[ext_resource type="Script" path="res://addons/icon_explorer/internal/ui/main_screen.gd" id="1_kc7a8"] +[ext_resource type="PackedScene" uid="uid://dnxwdqwt2eqfi" path="res://addons/icon_explorer/internal/ui/explorer/explorer.tscn" id="2_fdsb2"] + +[node name="main_screen" type="Control" node_paths=PackedStringArray("_explorer")] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +script = ExtResource("1_kc7a8") +_explorer = NodePath("explorer") + +[node name="explorer" parent="." node_paths=PackedStringArray("_filter_icon", "_filter", "_filter_options", "_preview_color", "_preview_size", "_icon_list", "_options_button", "_options_popup", "_options", "_progress_bar", "_detail_panel", "_toolbar_panel", "_preview_options_panel") instance=ExtResource("2_fdsb2")] +layout_mode = 1 +_filter_icon = NodePath("icon_viewer/toolbar_panel/toolbar/filter_icon") +_filter = NodePath("icon_viewer/toolbar_panel/toolbar/filter") +_filter_options = NodePath("icon_viewer/toolbar_panel/toolbar/filter_options") +_preview_color = NodePath("icon_viewer/HSplitContainer/v_box_container/preview_options_panel/preview_options/preview_color") +_preview_size = NodePath("icon_viewer/HSplitContainer/v_box_container/preview_options_panel/preview_options/preview_size") +_icon_list = NodePath("icon_viewer/HSplitContainer/icons") +_options_button = NodePath("icon_viewer/toolbar_panel/toolbar/options") +_options_popup = NodePath("option_popup") +_options = NodePath("option_popup/options") +_progress_bar = NodePath("icon_viewer/progress_bar") +_detail_panel = NodePath("icon_viewer/HSplitContainer/v_box_container/detail_panel") +_toolbar_panel = NodePath("icon_viewer/toolbar_panel") +_preview_options_panel = NodePath("icon_viewer/HSplitContainer/v_box_container/preview_options_panel") diff --git a/addons/icon_explorer/internal/ui/options/options.gd b/addons/icon_explorer/internal/ui/options/options.gd index af58a0d..b8b15a5 100644 --- a/addons/icon_explorer/internal/ui/options/options.gd +++ b/addons/icon_explorer/internal/ui/options/options.gd @@ -12,6 +12,8 @@ enum BUTTON_ID { } @export var _load_on_startup: CheckBox +@export var _show_main_screen: CheckBox +@export var _reload_current_project: Label @export var _collection_tree: Tree @export var _options_panel: PanelContainer @export var _options_label: Label @@ -36,16 +38,6 @@ func set_db(db_: IconDatabase) -> void: db.collection_removed.connect(self._on_processing_finished) self.update() -func _process(delta: float) -> void: - self._process_spinner_msec += delta - if self._process_spinner_msec > 0.2: - self._process_spinner_msec = fmod(self._process_spinner_msec, 0.2) - self._process_spinner_frame = (self._process_spinner_frame + 1) % 8 - if self._processing != -1: - for item: TreeItem in _collection_tree.get_root().get_children(): - if (item.get_metadata(0) as Collection).id() == self._processing: - item.set_icon(0, self.get_theme_icon("Progress"+str(self._process_spinner_frame + 1), &"EditorIcons")) - func _ready() -> void: if Engine.is_editor_hint(): self._options_label.add_theme_font_override(&"font", self.get_theme_font(&"title", &"EditorFonts")) @@ -53,8 +45,10 @@ func _ready() -> void: self.add_theme_stylebox_override(&"panel", self.get_theme_stylebox(&"Background", &"EditorStyles")) self._collections_panel.add_theme_stylebox_override(&"panel", self.get_theme_stylebox(&"PanelForeground", &"EditorStyles")) self._options_panel.add_theme_stylebox_override(&"panel", self.get_theme_stylebox(&"PanelForeground", &"EditorStyles")) + self._reload_current_project.add_theme_color_override(&"font_color", self.get_theme_color(&"warning_color", &"Editor")) self._load_on_startup.toggled.connect(self._on_startup_changed) + self._show_main_screen.toggled.connect(self._on_show_main_screen_changed) self._collection_tree.columns = 6 self._collection_tree.set_column_title(0, "Installed") @@ -73,9 +67,13 @@ func _ready() -> void: if Engine.is_editor_hint(): ProjectSettings.settings_changed.connect(self.update) + self.update() func update() -> void: - self._load_on_startup.button_pressed = ProjectSettings.get_setting("plugins/icon_explorer/load_on_startup", false) + if !self.is_node_ready() || self.db == null: + return + self._load_on_startup.set_pressed_no_signal(ProjectSettings.get_setting("plugins/icon_explorer/load_on_startup", false) as bool) + self._show_main_screen.set_pressed_no_signal(ProjectSettings.get_setting("plugins/icon_explorer/show_main_screen", false) as bool) self._collection_tree.clear() self._collection_tree.create_item() @@ -104,6 +102,16 @@ func update() -> void: item.add_button(5, self.get_theme_icon(&"Remove", &"EditorIcons"), BUTTON_ID.REMOVE, is_one_processed || !coll.is_installed(), "Remove") item.add_button(5, self.get_theme_icon(&"Filesystem", &"EditorIcons"), BUTTON_ID.OPEN_DIR, !coll.is_installed(), "Show in File Explorer") +func _process(delta: float) -> void: + self._process_spinner_msec += delta + if self._process_spinner_msec > 0.2: + self._process_spinner_msec = fmod(self._process_spinner_msec, 0.2) + self._process_spinner_frame = (self._process_spinner_frame + 1) % 8 + if self._processing != -1: + for item: TreeItem in _collection_tree.get_root().get_children(): + if (item.get_metadata(0) as Collection).id() == self._processing: + item.set_icon(0, self.get_theme_icon("Progress"+str(self._process_spinner_frame + 1), &"EditorIcons")) + func _gen_progress_texture() -> Array[Texture2D]: var anim: Array[Texture2D] = [] for idx: int in range(8): @@ -113,6 +121,10 @@ func _gen_progress_texture() -> Array[Texture2D]: func _on_startup_changed(toggled: bool) -> void: ProjectSettings.set_setting("plugins/icon_explorer/load_on_startup", toggled) +func _on_show_main_screen_changed(toggled: bool) -> void: + ProjectSettings.set_setting("plugins/icon_explorer/show_main_screen", toggled) + self._reload_current_project.visible = true + func _on_button_clicked(item: TreeItem, _column: int, id: int, _mouse_button_index: int) -> void: var coll: Collection = item.get_metadata(0) match id: @@ -129,7 +141,7 @@ func _on_button_clicked(item: TreeItem, _column: int, id: int, _mouse_button_ind self.update() self.db.remove(coll) BUTTON_ID.OPEN_DIR: - OS.shell_show_in_file_manager(coll.icon_directory()) + OS.shell_show_in_file_manager(ProjectSettings.globalize_path(coll.icon_directory())) BUTTON_ID.WEB: OS.shell_open(coll.web) diff --git a/addons/icon_explorer/internal/ui/options/options.tscn b/addons/icon_explorer/internal/ui/options/options.tscn index 814dedd..40f2f09 100644 --- a/addons/icon_explorer/internal/ui/options/options.tscn +++ b/addons/icon_explorer/internal/ui/options/options.tscn @@ -2,7 +2,7 @@ [ext_resource type="Script" path="res://addons/icon_explorer/internal/ui/options/options.gd" id="1_hdn86"] -[node name="control" type="PanelContainer" node_paths=PackedStringArray("_load_on_startup", "_collection_tree", "_options_panel", "_options_label", "_collections_panel", "_collections_label")] +[node name="control" type="PanelContainer" node_paths=PackedStringArray("_load_on_startup", "_show_main_screen", "_reload_current_project", "_collection_tree", "_options_panel", "_options_label", "_collections_panel", "_collections_label")] anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 @@ -10,6 +10,8 @@ grow_horizontal = 2 grow_vertical = 2 script = ExtResource("1_hdn86") _load_on_startup = NodePath("options/options/v_box_container/load_on_startup") +_show_main_screen = NodePath("options/options/v_box_container/show_main_screen") +_reload_current_project = NodePath("options/options/restart_editor") _collection_tree = NodePath("options/options/tree") _options_panel = NodePath("options/options/options_panel") _options_label = NodePath("options/options/options_panel/options") @@ -35,26 +37,29 @@ text = "Options" layout_mode = 2 columns = 2 -[node name="label" type="Label" parent="options/options/v_box_container"] +[node name="load_on_startup_label" type="Label" parent="options/options/v_box_container"] layout_mode = 2 text = "Load on Godot startup" [node name="load_on_startup" type="CheckBox" parent="options/options/v_box_container"] layout_mode = 2 -[node name="label2" type="Label" parent="options/options/v_box_container"] -visible = false +[node name="show_main_screen_label" type="Label" parent="options/options/v_box_container"] +auto_translate_mode = 1 +layout_mode = 2 +tooltip_text = "Requires an editor reload." +mouse_filter = 1 +text = "Show in Main Screen Bar*" + +[node name="show_main_screen" type="CheckBox" parent="options/options/v_box_container"] +auto_translate_mode = 1 layout_mode = 2 -text = "Base SVG texture size" -[node name="spin_box" type="SpinBox" parent="options/options/v_box_container"] +[node name="restart_editor" type="Label" parent="options/options"] visible = false layout_mode = 2 -min_value = 8.0 -max_value = 1024.0 -value = 8.0 -editable = false -suffix = "px" +size_flags_horizontal = 0 +text = "Reload the current project to apply changes." [node name="collections_panel" type="PanelContainer" parent="options/options"] layout_mode = 2 diff --git a/addons/icon_explorer/plugin.gd b/addons/icon_explorer/plugin.gd index 904884f..24da3f6 100644 --- a/addons/icon_explorer/plugin.gd +++ b/addons/icon_explorer/plugin.gd @@ -1,25 +1,62 @@ @tool extends EditorPlugin +const ExplorerScene: PackedScene = preload("res://addons/icon_explorer/internal/ui/explorer/explorer.tscn") +const ExplorerDialog := preload("res://addons/icon_explorer/internal/ui/explorer_dialog.gd") const ExplorerDialogScene: PackedScene = preload("res://addons/icon_explorer/internal/ui/explorer_dialog.tscn") +const MainScreen := preload("res://addons/icon_explorer/internal/ui/main_screen.gd") +const MainScreenScene := preload("res://addons/icon_explorer/internal/ui/main_screen.tscn") +const IconDatabase := preload("res://addons/icon_explorer/internal/scripts/database.gd") -var _explorer_dialog: Window +var _explorer_dialog: ExplorerDialog +var _main_screen: MainScreen = null + +var _db: IconDatabase +var _db_loaded: bool = false func _get_plugin_name() -> String: return "Icon Explorer" +func _get_plugin_icon() -> Texture2D: + return preload("res://addons/icon_explorer/icon.svg") + func _enter_tree() -> void: set_project_setting("plugins/icon_explorer/load_on_startup", false, TYPE_BOOL, PROPERTY_HINT_NONE) + set_project_setting("plugins/icon_explorer/show_main_screen", false, TYPE_BOOL, PROPERTY_HINT_NONE) + ProjectSettings.set_restart_if_changed("plugins/icon_explorer/show_main_screen", true) set_project_setting("plugins/icon_explorer/preview_size_exp", 6, TYPE_INT, PROPERTY_HINT_RANGE, "4,8,1") self._explorer_dialog = ExplorerDialogScene.instantiate() EditorInterface.get_base_control().add_child(self._explorer_dialog) self.add_tool_menu_item(self._get_plugin_name() + "...", self._show_popup) + self._db = IconDatabase.new(self.get_tree()) + self._explorer_dialog.set_icon_db(self._db) + if self._has_main_screen(): + self._main_screen = MainScreenScene.instantiate() + self._main_screen.set_icon_db(self._db) + EditorInterface.get_editor_main_screen().add_child(self._main_screen) + self._main_screen.hide() + + if ProjectSettings.get_setting("plugins/icon_explorer/load_on_startup", false): + self._db.load() + func _exit_tree() -> void: + if self._main_screen != null: + EditorInterface.get_editor_main_screen().remove_child(self._main_screen) + self._main_screen.queue_free() self.remove_tool_menu_item(self._get_plugin_name() + "...") self._explorer_dialog.queue_free() +func _has_main_screen() -> bool: + return ProjectSettings.get_setting("plugins/icon_explorer/show_main_screen", false) + +func _make_visible(visible: bool) -> void: + if !self._db_loaded: + self._db_loaded = true + self._db.load() + self._main_screen.visible = visible + func _show_popup() -> void: if self._explorer_dialog.visible: self._explorer_dialog.grab_focus() @@ -34,5 +71,5 @@ static func set_project_setting(key: String, initial_value, type: int, type_hint "name": key, "type": type, "hint": type_hint, - "hint_string": type_hint, + "hint_string": hint_string, }) From de347a8061bdb814b2ebd862e8d8d427f9f53b49 Mon Sep 17 00:00:00 2001 From: Iceflower Date: Mon, 22 Apr 2024 02:11:18 +0200 Subject: [PATCH 07/30] [*] Format code --- addons/icons_patcher/utils.gd | 2 +- addons/licenses/internal/toolbar.gd | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/icons_patcher/utils.gd b/addons/icons_patcher/utils.gd index 517affd..7605d8e 100644 --- a/addons/icons_patcher/utils.gd +++ b/addons/icons_patcher/utils.gd @@ -20,7 +20,7 @@ static func patch_icon_dir(dir_path: String, rx: RegEx, replacement: String) -> var patched_icons: PackedStringArray = [] dir.list_dir_begin() var elem: String = dir.get_next() - while (not elem.is_empty()): + while elem != "": if dir.current_is_dir(): patched_icons.append_array(patch_icon_dir(dir_path + "/" + elem, rx, replacement)) elif elem.get_extension() == "svg": diff --git a/addons/licenses/internal/toolbar.gd b/addons/licenses/internal/toolbar.gd index 9a4a817..3b29b83 100644 --- a/addons/licenses/internal/toolbar.gd +++ b/addons/licenses/internal/toolbar.gd @@ -85,7 +85,7 @@ func _create_plugin_menu_items() -> void: dir.list_dir_begin() var elem: String = dir.get_next() var idx: int = 0 - while (not elem.is_empty()): + while elem != "": if dir.current_is_dir(): var path: String = "res://addons/".path_join(elem).path_join("/plugin.cfg") var cfg: Dictionary = self._get_plugin_config(path) From 9ea3dcaea3ce02c29b2a359583a4a6b493234071 Mon Sep 17 00:00:00 2001 From: Iceflower Date: Mon, 22 Apr 2024 02:12:42 +0200 Subject: [PATCH 08/30] [icon_explorer] Change main screen default --- addons/icon_explorer/internal/scripts/collection.gd | 4 ---- addons/icon_explorer/internal/ui/options/options.gd | 2 +- addons/icon_explorer/plugin.gd | 4 ++-- 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/addons/icon_explorer/internal/scripts/collection.gd b/addons/icon_explorer/internal/scripts/collection.gd index 5ae32f0..d33a73e 100644 --- a/addons/icon_explorer/internal/scripts/collection.gd +++ b/addons/icon_explorer/internal/scripts/collection.gd @@ -50,10 +50,6 @@ func icon_directory() -> String: assert(false, "virtual function") return "" -# VIRTUAL -func detail_panel_scene() -> PackedScene: - return null - func directory() -> String: if Engine.is_editor_hint(): if ProjectSettings.get_setting("application/config/use_hidden_project_data_directory", true): diff --git a/addons/icon_explorer/internal/ui/options/options.gd b/addons/icon_explorer/internal/ui/options/options.gd index b8b15a5..4e6195c 100644 --- a/addons/icon_explorer/internal/ui/options/options.gd +++ b/addons/icon_explorer/internal/ui/options/options.gd @@ -73,7 +73,7 @@ func update() -> void: if !self.is_node_ready() || self.db == null: return self._load_on_startup.set_pressed_no_signal(ProjectSettings.get_setting("plugins/icon_explorer/load_on_startup", false) as bool) - self._show_main_screen.set_pressed_no_signal(ProjectSettings.get_setting("plugins/icon_explorer/show_main_screen", false) as bool) + self._show_main_screen.set_pressed_no_signal(ProjectSettings.get_setting("plugins/icon_explorer/show_main_screen", true) as bool) self._collection_tree.clear() self._collection_tree.create_item() diff --git a/addons/icon_explorer/plugin.gd b/addons/icon_explorer/plugin.gd index 24da3f6..628eef3 100644 --- a/addons/icon_explorer/plugin.gd +++ b/addons/icon_explorer/plugin.gd @@ -22,7 +22,7 @@ func _get_plugin_icon() -> Texture2D: func _enter_tree() -> void: set_project_setting("plugins/icon_explorer/load_on_startup", false, TYPE_BOOL, PROPERTY_HINT_NONE) - set_project_setting("plugins/icon_explorer/show_main_screen", false, TYPE_BOOL, PROPERTY_HINT_NONE) + set_project_setting("plugins/icon_explorer/show_main_screen", true, TYPE_BOOL, PROPERTY_HINT_NONE) ProjectSettings.set_restart_if_changed("plugins/icon_explorer/show_main_screen", true) set_project_setting("plugins/icon_explorer/preview_size_exp", 6, TYPE_INT, PROPERTY_HINT_RANGE, "4,8,1") @@ -49,7 +49,7 @@ func _exit_tree() -> void: self._explorer_dialog.queue_free() func _has_main_screen() -> bool: - return ProjectSettings.get_setting("plugins/icon_explorer/show_main_screen", false) + return ProjectSettings.get_setting("plugins/icon_explorer/show_main_screen", true) func _make_visible(visible: bool) -> void: if !self._db_loaded: From e3b4a0b0daa3cc53ed511f63a489fc0e6e1de0c6 Mon Sep 17 00:00:00 2001 From: Iceflower Date: Mon, 22 Apr 2024 19:53:43 +0200 Subject: [PATCH 09/30] [icon_explorer] Fix several bugs --- .../internal/scripts/collection.gd | 5 + .../internal/scripts/database.gd | 5 +- .../internal/ui/explorer/explorer.gd | 23 +-- .../internal/ui/explorer/explorer.tscn | 10 +- .../ui/options/collection_management.gd | 141 ++++++++++++++++++ .../internal/ui/options/options.gd | 113 +------------- .../internal/ui/options/options.tscn | 36 ++++- addons/icon_explorer/plugin.gd | 16 ++ 8 files changed, 202 insertions(+), 147 deletions(-) create mode 100644 addons/icon_explorer/internal/ui/options/collection_management.gd diff --git a/addons/icon_explorer/internal/scripts/collection.gd b/addons/icon_explorer/internal/scripts/collection.gd index d33a73e..780cb6a 100644 --- a/addons/icon_explorer/internal/scripts/collection.gd +++ b/addons/icon_explorer/internal/scripts/collection.gd @@ -8,6 +8,7 @@ const TEXTURE_SIZE: float = 128.0 var name: String var version: String +var latest_version: String var author: String var license: String var license_text: String @@ -50,6 +51,10 @@ func icon_directory() -> String: assert(false, "virtual function") return "" +# VIRTUAL +func update_latest_version() -> void: + pass + func directory() -> String: if Engine.is_editor_hint(): if ProjectSettings.get_setting("application/config/use_hidden_project_data_directory", true): diff --git a/addons/icon_explorer/internal/scripts/database.gd b/addons/icon_explorer/internal/scripts/database.gd index d4c5c5f..ec38ab1 100644 --- a/addons/icon_explorer/internal/scripts/database.gd +++ b/addons/icon_explorer/internal/scripts/database.gd @@ -77,10 +77,6 @@ func _install(coll: Collection, http: HTTPRequest, version: String) -> void: self._install_done.bind(coll.id(), status).call_deferred() func _install_done(id: int, status: Error) -> void: - if self._loaded_collections.has(id): - self._icons = self._icons.filter(func (icon: Icon) -> bool: return icon.collection.id() != id) - if !self._loaded_collections.has(id): - self._loaded_collections.append(id) self.collection_installed.emit(id, status) func remove(coll: Collection) -> void: @@ -99,6 +95,7 @@ func _remove(coll: Collection) -> void: func _remove_done(id: int, status: Error) -> void: self._icons = self._icons.filter(func (icon: Icon) -> bool: return icon.collection.id() != id) + self._loaded_collections.remove_at(self._loaded_collections.find(id)) self.collection_removed.emit(id, status) func load() -> void: diff --git a/addons/icon_explorer/internal/ui/explorer/explorer.gd b/addons/icon_explorer/internal/ui/explorer/explorer.gd index 265bde2..a310a7b 100644 --- a/addons/icon_explorer/internal/ui/explorer/explorer.gd +++ b/addons/icon_explorer/internal/ui/explorer/explorer.gd @@ -78,19 +78,13 @@ func set_icon_db(db: IconDatabase) -> void: self._db.load_finished.disconnect(self._on_icon_database_load_finished) self._db.collection_installed.disconnect(self._on_database_changed) self._db.collection_removed.disconnect(self._on_database_changed) - if Engine.is_editor_hint(): - self._db.collection_installed.disconnect(self._on_collection_changed.bind(true)) - self._db.collection_removed.disconnect(self._on_collection_changed.bind(false)) self._db = db self._db.load_started.connect(self._on_icon_database_load_started) self._db.load_finished.connect(self._on_icon_database_load_finished) self._db.collection_installed.connect(self._on_database_changed) self._db.collection_removed.connect(self._on_database_changed) - if Engine.is_editor_hint(): - self._db.collection_installed.connect(self._on_collection_changed.bind(true)) - self._db.collection_removed.connect(self._on_collection_changed.bind(false)) - self._options.db = self._db + self._options.set_db(self._db) func update() -> void: var filter: String = self._filter.text.to_lower() @@ -172,7 +166,6 @@ func _on_icon_database_load_finished() -> void: filter_popup.set_item_checked(idx, true) self._filter_options.disabled = filter_popup.item_count == 0 self.update() - self._options.update() func _on_icon_selected(idx: int) -> void: self._detail_panel.display(self._icon_list.get_item_metadata(idx) as Icon) @@ -185,17 +178,3 @@ func _on_filter_submitted(_text: String) -> void: func _on_option_pressed() -> void: self._options_popup.popup_centered_ratio(0.35) - -func _on_collection_changed(id: int, status: Error, is_installation: bool): - var msg: String = "[Icon Explorer] '" + self._db.get_collection(id).name + "' " - if is_installation: - if status == Error.OK: - msg += "successfully installed." - else: - msg += "installation failed." - else: - if status == Error.OK: - msg += "successfully removed." - else: - msg += "removing failed." - print(msg) diff --git a/addons/icon_explorer/internal/ui/explorer/explorer.tscn b/addons/icon_explorer/internal/ui/explorer/explorer.tscn index 8c4c4bd..b17786b 100644 --- a/addons/icon_explorer/internal/ui/explorer/explorer.tscn +++ b/addons/icon_explorer/internal/ui/explorer/explorer.tscn @@ -134,10 +134,12 @@ transient = true exclusive = true script = ExtResource("4_03l1v") -[node name="options" parent="option_popup" node_paths=PackedStringArray("_load_on_startup", "_collection_tree", "_options_panel", "_options_label", "_collections_panel", "_collections_label") instance=ExtResource("5_wngaf")] +[node name="options" parent="option_popup" node_paths=PackedStringArray("_load_on_startup", "_show_main_screen", "_reload_current_project", "_collection_management", "_options_panel", "_options_label", "_collections_panel", "_collections_label") instance=ExtResource("5_wngaf")] _load_on_startup = NodePath("options/options/v_box_container/load_on_startup") -_collection_tree = NodePath("options/options/tree") +_show_main_screen = NodePath("options/options/v_box_container/show_main_screen") +_reload_current_project = NodePath("options/options/restart_editor") +_collection_management = NodePath("options/options/collection_management") _options_panel = NodePath("options/options/options_panel") _options_label = NodePath("options/options/options_panel/options") -_collections_panel = NodePath("options/options/collections_panel") -_collections_label = NodePath("options/options/collections_panel/collections_title") +_collections_panel = NodePath("options/options/collection_management/collections_panel") +_collections_label = NodePath("options/options/collection_management/collections_panel/h_box_container/collections_title") diff --git a/addons/icon_explorer/internal/ui/options/collection_management.gd b/addons/icon_explorer/internal/ui/options/collection_management.gd new file mode 100644 index 0000000..9b3815b --- /dev/null +++ b/addons/icon_explorer/internal/ui/options/collection_management.gd @@ -0,0 +1,141 @@ +@tool +extends VBoxContainer + +const IconDatabase := preload("res://addons/icon_explorer/internal/scripts/database.gd") +const Collection := preload("res://addons/icon_explorer/internal/scripts/collection.gd") + +enum ButtonId { + INSTALL, + REMOVE, + OPEN_DIR, + WEB +} + +@export var _check_update_button: Button +@export var _tree: Tree + +var db: IconDatabase: + set = set_db + +var _http_request: HTTPRequest +var _processing: int = -1 +var _process_spinner_frame: int +var _process_spinner_msec: float + +func set_db(db_: IconDatabase) -> void: + if db != null: + db.load_finished.disconnect(self._on_processing_finished) + db.collection_installed.disconnect(self._on_processing_finished) + db.collection_removed.disconnect(self._on_processing_finished) + db = db_ + db.load_finished.connect(self._on_processing_finished) + db.collection_installed.connect(self._on_processing_finished) + db.collection_removed.connect(self._on_processing_finished) + self.update() + +enum Column { + INSTALLED, + NAME, + VERSION, + LATEST_VERSION, + LICENSE, + WEB, + ACTIONS, + COLUMN_COUNT +} + +func _ready() -> void: + self._tree.clip_contents = false + self._tree.columns = Column.COLUMN_COUNT + #self._tree.set_column_title(Column.INSTALLED, "Installed") + self._tree.set_column_title(Column.NAME, "Collection") + self._tree.set_column_title(Column.VERSION, "Version") + self._tree.set_column_title(Column.LATEST_VERSION, "Latest Version") + self._tree.set_column_title(Column.LICENSE, "License") + self._tree.set_column_title(Column.WEB, "Web") + self._tree.set_column_title(Column.ACTIONS, "Actions") + self._tree.set_column_expand(Column.INSTALLED, false) + self._tree.set_column_expand(Column.NAME, true) + self._tree.set_column_expand(Column.VERSION, true) + self._tree.set_column_expand(Column.LATEST_VERSION, true) + self._tree.set_column_expand(Column.LICENSE, true) + self._tree.set_column_expand(Column.WEB, false) + self._tree.set_column_expand(Column.ACTIONS, false) + self._tree.button_clicked.connect(self._on_button_clicked) + + if Engine.is_editor_hint(): + ProjectSettings.settings_changed.connect(self.update) + self.update() + +func update() -> void: + if !self.is_node_ready() || self.db == null: + return + self._tree.clear() + self._tree.create_item() + for coll: Collection in self.db.collections(): + var item: TreeItem = self._tree.create_item() + item.set_metadata(Column.INSTALLED, coll) + item.set_text(Column.NAME, coll.name) + item.set_text(Column.VERSION, coll.version) + item.set_text(Column.LATEST_VERSION, coll.latest_version) + item.set_text(Column.LICENSE, coll.license) + item.set_text_alignment(Column.INSTALLED, HORIZONTAL_ALIGNMENT_CENTER) + item.set_text_alignment(Column.WEB, HORIZONTAL_ALIGNMENT_CENTER) + item.add_button(Column.WEB, self.get_theme_icon(&"ExternalLink", &"EditorIcons"), ButtonId.WEB, coll.web == "", "Open in Browser") + var is_processed: bool = self._processing == coll.id() + if is_processed: + pass + elif coll.is_installed(): + item.set_icon(Column.INSTALLED, self.get_theme_icon(&"StatusSuccess", &"EditorIcons")) + item.set_tooltip_text(Column.INSTALLED, "Installed") + else: + item.set_icon(Column.INSTALLED, self.get_theme_icon(&"Node", &"EditorIcons")) + item.set_tooltip_text(Column.INSTALLED, "Not Installed") + + var is_one_processed: bool = self._processing != -1 + if coll.is_installed(): + item.add_button(Column.ACTIONS, self.get_theme_icon(&"Reload", &"EditorIcons"), ButtonId.INSTALL, is_one_processed || coll.latest_version >= coll.version || coll.latest_version == "", "Update") + else: + item.add_button(Column.ACTIONS, self.get_theme_icon(&"AssetLib", &"EditorIcons"), ButtonId.INSTALL, is_one_processed, "Install") + item.add_button(Column.ACTIONS, self.get_theme_icon(&"Remove", &"EditorIcons"), ButtonId.REMOVE, is_one_processed || !coll.is_installed(), "Remove") + item.add_button(Column.ACTIONS, self.get_theme_icon(&"Filesystem", &"EditorIcons"), ButtonId.OPEN_DIR, !coll.is_installed(), "Show in File Explorer") + +func _process(delta: float) -> void: + self._process_spinner_msec += delta + if self._process_spinner_msec > 0.2: + self._process_spinner_msec = fmod(self._process_spinner_msec, 0.2) + self._process_spinner_frame = (self._process_spinner_frame + 1) % 8 + if self._processing != -1: + for item: TreeItem in self._tree.get_root().get_children(): + if (item.get_metadata(Column.INSTALLED) as Collection).id() == self._processing: + item.set_icon(Column.INSTALLED, self.get_theme_icon("Progress"+str(self._process_spinner_frame + 1), &"EditorIcons")) + +func _gen_progress_texture() -> Array[Texture2D]: + var anim: Array[Texture2D] = [] + for idx: int in range(8): + anim.append(self.get_theme_icon("Progress"+str(idx + 1), &"EditorIcons")) + return anim + +func _on_button_clicked(item: TreeItem, _column: int, id: int, _mouse_button_index: int) -> void: + var coll: Collection = item.get_metadata(0) + match id: + ButtonId.INSTALL: + self._processing = coll.id() + self.update() + if self._http_request != null: + self._http_request.queue_free() + self._http_request = HTTPRequest.new() + self.add_child(self._http_request, true) + self.db.install(coll, self._http_request, "") + ButtonId.REMOVE: + self._processing = coll.id() + self.update() + self.db.remove(coll) + ButtonId.OPEN_DIR: + OS.shell_show_in_file_manager(ProjectSettings.globalize_path(coll.icon_directory())) + ButtonId.WEB: + OS.shell_open(coll.web) + +func _on_processing_finished(_id: int = 0, _status: Error = OK) -> void: + self._processing = -1 + self.update() diff --git a/addons/icon_explorer/internal/ui/options/options.gd b/addons/icon_explorer/internal/ui/options/options.gd index 4e6195c..6435e20 100644 --- a/addons/icon_explorer/internal/ui/options/options.gd +++ b/addons/icon_explorer/internal/ui/options/options.gd @@ -3,40 +3,19 @@ extends PanelContainer const IconDatabase := preload("res://addons/icon_explorer/internal/scripts/database.gd") const Collection := preload("res://addons/icon_explorer/internal/scripts/collection.gd") - -enum BUTTON_ID { - INSTALL, - REMOVE, - OPEN_DIR, - WEB -} +const CollectionManagement := preload("res://addons/icon_explorer/internal/ui/options/collection_management.gd") @export var _load_on_startup: CheckBox @export var _show_main_screen: CheckBox @export var _reload_current_project: Label -@export var _collection_tree: Tree +@export var _collection_management: CollectionManagement @export var _options_panel: PanelContainer @export var _options_label: Label @export var _collections_panel: PanelContainer @export var _collections_label: Label -var _http_request: HTTPRequest - -var db: IconDatabase: - set = set_db - -var _processing: int = -1 -var _process_spinner_frame: int -var _process_spinner_msec: float - -func set_db(db_: IconDatabase) -> void: - if db != null: - db.collection_installed.disconnect(self._on_processing_finished) - db.collection_removed.disconnect(self._on_processing_finished) - db = db_ - db.collection_installed.connect(self._on_processing_finished) - db.collection_removed.connect(self._on_processing_finished) - self.update() +func set_db(db: IconDatabase) -> void: + self._collection_management.db = db func _ready() -> void: if Engine.is_editor_hint(): @@ -50,101 +29,17 @@ func _ready() -> void: self._load_on_startup.toggled.connect(self._on_startup_changed) self._show_main_screen.toggled.connect(self._on_show_main_screen_changed) - self._collection_tree.columns = 6 - self._collection_tree.set_column_title(0, "Installed") - self._collection_tree.set_column_title(1, "Collection") - self._collection_tree.set_column_title(2, "Version") - self._collection_tree.set_column_title(3, "License") - self._collection_tree.set_column_title(4, "Web") - self._collection_tree.set_column_title(5, "Actions") - self._collection_tree.set_column_expand(0, false) - self._collection_tree.set_column_expand(1, true) - self._collection_tree.set_column_expand(2, true) - self._collection_tree.set_column_expand(3, true) - self._collection_tree.set_column_expand(4, false) - self._collection_tree.set_column_expand(5, false) - self._collection_tree.button_clicked.connect(self._on_button_clicked) - if Engine.is_editor_hint(): ProjectSettings.settings_changed.connect(self.update) self.update() func update() -> void: - if !self.is_node_ready() || self.db == null: - return self._load_on_startup.set_pressed_no_signal(ProjectSettings.get_setting("plugins/icon_explorer/load_on_startup", false) as bool) self._show_main_screen.set_pressed_no_signal(ProjectSettings.get_setting("plugins/icon_explorer/show_main_screen", true) as bool) - self._collection_tree.clear() - self._collection_tree.create_item() - for coll: Collection in self.db.collections(): - var item: TreeItem = self._collection_tree.create_item() - item.set_metadata(0, coll) - item.set_text(1, coll.name) - item.set_text(2, coll.version) - item.set_text(3, coll.license) - item.set_text_alignment(0, HORIZONTAL_ALIGNMENT_CENTER) - item.set_text_alignment(4, HORIZONTAL_ALIGNMENT_CENTER) - item.add_button(4, self.get_theme_icon(&"ExternalLink", &"EditorIcons"), BUTTON_ID.WEB, coll.web == "", "Open in Browser") - var is_processed: bool = self._processing == coll.id() - if is_processed: - pass - elif coll.is_installed(): - item.set_icon(0, self.get_theme_icon(&"StatusSuccess", &"EditorIcons")) - else: - item.set_icon(0, self.get_theme_icon(&"Node", &"EditorIcons")) - - var is_one_processed: bool = self._processing != -1 - if coll.is_installed(): - item.add_button(5, self.get_theme_icon(&"Reload", &"EditorIcons"), BUTTON_ID.INSTALL, is_one_processed, "Update") - else: - item.add_button(5, self.get_theme_icon(&"AssetLib", &"EditorIcons"), BUTTON_ID.INSTALL, is_one_processed, "Install") - item.add_button(5, self.get_theme_icon(&"Remove", &"EditorIcons"), BUTTON_ID.REMOVE, is_one_processed || !coll.is_installed(), "Remove") - item.add_button(5, self.get_theme_icon(&"Filesystem", &"EditorIcons"), BUTTON_ID.OPEN_DIR, !coll.is_installed(), "Show in File Explorer") - -func _process(delta: float) -> void: - self._process_spinner_msec += delta - if self._process_spinner_msec > 0.2: - self._process_spinner_msec = fmod(self._process_spinner_msec, 0.2) - self._process_spinner_frame = (self._process_spinner_frame + 1) % 8 - if self._processing != -1: - for item: TreeItem in _collection_tree.get_root().get_children(): - if (item.get_metadata(0) as Collection).id() == self._processing: - item.set_icon(0, self.get_theme_icon("Progress"+str(self._process_spinner_frame + 1), &"EditorIcons")) - -func _gen_progress_texture() -> Array[Texture2D]: - var anim: Array[Texture2D] = [] - for idx: int in range(8): - anim.append(self.get_theme_icon("Progress"+str(idx + 1), &"EditorIcons")) - return anim - func _on_startup_changed(toggled: bool) -> void: ProjectSettings.set_setting("plugins/icon_explorer/load_on_startup", toggled) func _on_show_main_screen_changed(toggled: bool) -> void: ProjectSettings.set_setting("plugins/icon_explorer/show_main_screen", toggled) self._reload_current_project.visible = true - -func _on_button_clicked(item: TreeItem, _column: int, id: int, _mouse_button_index: int) -> void: - var coll: Collection = item.get_metadata(0) - match id: - BUTTON_ID.INSTALL: - self._processing = coll.id() - self.update() - if self._http_request != null: - self._http_request.queue_free() - self._http_request = HTTPRequest.new() - self.add_child(self._http_request, true) - self.db.install(coll, self._http_request, "") - BUTTON_ID.REMOVE: - self._processing = coll.id() - self.update() - self.db.remove(coll) - BUTTON_ID.OPEN_DIR: - OS.shell_show_in_file_manager(ProjectSettings.globalize_path(coll.icon_directory())) - BUTTON_ID.WEB: - OS.shell_open(coll.web) - -func _on_processing_finished(id: int, status: Error) -> void: - self._processing = -1 - self.update() diff --git a/addons/icon_explorer/internal/ui/options/options.tscn b/addons/icon_explorer/internal/ui/options/options.tscn index 40f2f09..7140476 100644 --- a/addons/icon_explorer/internal/ui/options/options.tscn +++ b/addons/icon_explorer/internal/ui/options/options.tscn @@ -1,8 +1,9 @@ -[gd_scene load_steps=2 format=3 uid="uid://bfmh2kaf2qbrx"] +[gd_scene load_steps=3 format=3 uid="uid://bfmh2kaf2qbrx"] [ext_resource type="Script" path="res://addons/icon_explorer/internal/ui/options/options.gd" id="1_hdn86"] +[ext_resource type="Script" path="res://addons/icon_explorer/internal/ui/options/collection_management.gd" id="2_fsa3m"] -[node name="control" type="PanelContainer" node_paths=PackedStringArray("_load_on_startup", "_show_main_screen", "_reload_current_project", "_collection_tree", "_options_panel", "_options_label", "_collections_panel", "_collections_label")] +[node name="control" type="PanelContainer" node_paths=PackedStringArray("_load_on_startup", "_show_main_screen", "_reload_current_project", "_collection_management", "_options_panel", "_options_label", "_collections_panel", "_collections_label")] anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 @@ -12,11 +13,11 @@ script = ExtResource("1_hdn86") _load_on_startup = NodePath("options/options/v_box_container/load_on_startup") _show_main_screen = NodePath("options/options/v_box_container/show_main_screen") _reload_current_project = NodePath("options/options/restart_editor") -_collection_tree = NodePath("options/options/tree") +_collection_management = NodePath("options/options/collection_management") _options_panel = NodePath("options/options/options_panel") _options_label = NodePath("options/options/options_panel/options") -_collections_panel = NodePath("options/options/collections_panel") -_collections_label = NodePath("options/options/collections_panel/collections_title") +_collections_panel = NodePath("options/options/collection_management/collections_panel") +_collections_label = NodePath("options/options/collection_management/collections_panel/h_box_container/collections_title") [node name="options" type="ScrollContainer" parent="."] layout_mode = 2 @@ -61,14 +62,33 @@ layout_mode = 2 size_flags_horizontal = 0 text = "Reload the current project to apply changes." -[node name="collections_panel" type="PanelContainer" parent="options/options"] +[node name="collection_management" type="VBoxContainer" parent="options/options" node_paths=PackedStringArray("_check_update_button", "_tree")] +layout_mode = 2 +size_flags_vertical = 3 +script = ExtResource("2_fsa3m") +_check_update_button = NodePath("collections_panel/h_box_container/update_check_button") +_tree = NodePath("collection_management/tree") + +[node name="collections_panel" type="PanelContainer" parent="options/options/collection_management"] +layout_mode = 2 + +[node name="h_box_container" type="HBoxContainer" parent="options/options/collection_management/collections_panel"] layout_mode = 2 -[node name="collections_title" type="Label" parent="options/options/collections_panel"] +[node name="collections_title" type="Label" parent="options/options/collection_management/collections_panel/h_box_container"] layout_mode = 2 text = "Collections" -[node name="tree" type="Tree" parent="options/options"] +[node name="update_check_button" type="Button" parent="options/options/collection_management/collections_panel/h_box_container"] +layout_mode = 2 +size_flags_horizontal = 10 +text = "Check for Updates" + +[node name="collection_management" type="VBoxContainer" parent="options/options/collection_management"] +layout_mode = 2 +size_flags_vertical = 3 + +[node name="tree" type="Tree" parent="options/options/collection_management/collection_management"] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 diff --git a/addons/icon_explorer/plugin.gd b/addons/icon_explorer/plugin.gd index 628eef3..aef4e5f 100644 --- a/addons/icon_explorer/plugin.gd +++ b/addons/icon_explorer/plugin.gd @@ -31,6 +31,8 @@ func _enter_tree() -> void: self.add_tool_menu_item(self._get_plugin_name() + "...", self._show_popup) self._db = IconDatabase.new(self.get_tree()) + self._db.collection_installed.connect(self._on_collection_changed.bind(true)) + self._db.collection_removed.connect(self._on_collection_changed.bind(false)) self._explorer_dialog.set_icon_db(self._db) if self._has_main_screen(): self._main_screen = MainScreenScene.instantiate() @@ -63,6 +65,20 @@ func _show_popup() -> void: else: self._explorer_dialog.popup_centered_ratio(0.4) +func _on_collection_changed(id: int, status: Error, is_installation: bool): + var msg: String = "[Icon Explorer] '" + self._db.get_collection(id).name + "' " + if is_installation: + if status == Error.OK: + msg += "successfully installed." + else: + msg += "installation failed." + else: + if status == Error.OK: + msg += "successfully removed." + else: + msg += "removing failed." + print(msg) + static func set_project_setting(key: String, initial_value, type: int, type_hint: int, hint_string: String = "") -> void: if not ProjectSettings.has_setting(key): ProjectSettings.set_setting(key, initial_value) From d1a911632ade3a64f7feb91275172bd68626cb81 Mon Sep 17 00:00:00 2001 From: Iceflower Date: Wed, 24 Apr 2024 00:57:57 +0200 Subject: [PATCH 10/30] [icon_explorer] Add check for updates --- .../internal/ext/bootstrap/collection.gd | 20 ++++++++-- .../ext/country_flag_icons/collection.gd | 20 ++++++++-- .../internal/ext/font_awesome/collection.gd | 19 ++++++++-- .../internal/ext/icon_tabler/collection.gd | 20 ++++++++-- .../ext/material_design/collection.gd | 20 ++++++++-- .../internal/ext/simple_icons/collection.gd | 20 ++++++++-- .../internal/scripts/collection.gd | 2 +- .../internal/scripts/tools/io.gd | 6 ++- .../ui/options/collection_management.gd | 37 ++++++++++++++++++- .../internal/ui/options/options.tscn | 18 ++++++++- 10 files changed, 154 insertions(+), 28 deletions(-) diff --git a/addons/icon_explorer/internal/ext/bootstrap/collection.gd b/addons/icon_explorer/internal/ext/bootstrap/collection.gd index f408943..e863a3a 100644 --- a/addons/icon_explorer/internal/ext/bootstrap/collection.gd +++ b/addons/icon_explorer/internal/ext/bootstrap/collection.gd @@ -97,10 +97,8 @@ func install(http: HTTPRequest, _version: String) -> Error: DirAccess.make_dir_recursive_absolute(self.directory()) var zip_path: String = self.directory().path_join("icons.zip") http.download_file = zip_path - var downloader: Io.FileDownloader = Io.FileDownloader.new(http) - downloader.request.bind(_DOWNLOAD_FILE).call_deferred() - - downloader.wait() + var downloader: Io.Downloader = Io.Downloader.new(http) + downloader.await_request(_DOWNLOAD_FILE) if downloader.result != HTTPRequest.RESULT_SUCCESS: return Error.FAILED @@ -120,6 +118,20 @@ func remove() -> Error: self.version = "" return super.remove() +# OVERRIDE +func update_latest_version(http: HTTPRequest) -> void: + var downloader: Io.Downloader = Io.Downloader.new(http) + downloader.await_request("https://raw.githubusercontent.com/twbs/icons/main/package.json") + if downloader.result != HTTPRequest.RESULT_SUCCESS: + return + + var parser_version: JSON = JSON.new() + var res_version: int = parser_version.parse(downloader.body.get_string_from_utf8()) + if res_version != OK: + push_warning("could get latest bootstrap version: '%s'", [parser_version.get_error_message()]) + return + self.latest_version = parser_version.data["version"] + # OVERRIDE func icon_directory() -> String: return self.directory().path_join("icons-main/icons/") diff --git a/addons/icon_explorer/internal/ext/country_flag_icons/collection.gd b/addons/icon_explorer/internal/ext/country_flag_icons/collection.gd index a56421b..67f423e 100644 --- a/addons/icon_explorer/internal/ext/country_flag_icons/collection.gd +++ b/addons/icon_explorer/internal/ext/country_flag_icons/collection.gd @@ -67,10 +67,8 @@ func install(http: HTTPRequest, _version: String) -> Error: DirAccess.make_dir_recursive_absolute(self.directory()) var zip_path: String = self.directory().path_join("icons.zip") http.download_file = zip_path - var downloader: Io.FileDownloader = Io.FileDownloader.new(http) - downloader.request.bind(_DOWNLOAD_FILE).call_deferred() - - downloader.wait() + var downloader: Io.Downloader = Io.Downloader.new(http) + downloader.await_request(_DOWNLOAD_FILE) if downloader.result != HTTPRequest.RESULT_SUCCESS: return Error.FAILED @@ -90,6 +88,20 @@ func remove() -> Error: self.version = "" return super.remove() +# OVERRIDE +func update_latest_version(http: HTTPRequest) -> void: + var downloader: Io.Downloader = Io.Downloader.new(http) + downloader.await_request("https://gitlab.com/catamphetamine/country-flag-icons/-/raw/master/package.json") + if downloader.result != HTTPRequest.RESULT_SUCCESS: + return + + var parser_version: JSON = JSON.new() + var res_version: int = parser_version.parse(downloader.body.get_string_from_utf8()) + if res_version != OK: + push_warning("could get latest country flag icons version: '%s'", [parser_version.get_error_message()]) + return + self.latest_version = parser_version.data["version"] + # OVERRIDE func icon_directory() -> String: return self.directory().path_join("country-flag-icons-master/3x2/") diff --git a/addons/icon_explorer/internal/ext/font_awesome/collection.gd b/addons/icon_explorer/internal/ext/font_awesome/collection.gd index 8a4f329..801b9a4 100644 --- a/addons/icon_explorer/internal/ext/font_awesome/collection.gd +++ b/addons/icon_explorer/internal/ext/font_awesome/collection.gd @@ -65,9 +65,8 @@ func install(http: HTTPRequest, _version: String) -> Error: DirAccess.make_dir_recursive_absolute(self.directory()) var zip_path: String = self.directory().path_join("icons.zip") http.download_file = zip_path - var downloader: Io.FileDownloader = Io.FileDownloader.new(http) - downloader.request.bind(_DOWNLOAD_FILE).call_deferred() - downloader.wait() + var downloader: Io.Downloader = Io.Downloader.new(http) + downloader.await_request(_DOWNLOAD_FILE) if downloader.result != HTTPRequest.RESULT_SUCCESS: return Error.FAILED @@ -87,6 +86,20 @@ func remove() -> Error: self.version = "" return super.remove() +# OVERRIDE +func update_latest_version(http: HTTPRequest) -> void: + var downloader: Io.Downloader = Io.Downloader.new(http) + downloader.await_request("https://raw.githubusercontent.com/FortAwesome/Font-Awesome/6.x/js-packages/%40fortawesome/fontawesome-free/package.json") + if downloader.result != HTTPRequest.RESULT_SUCCESS: + return + + var parser_version: JSON = JSON.new() + var res_version: int = parser_version.parse(downloader.body.get_string_from_utf8()) + if res_version != OK: + push_warning("could get latest font awesome version: '%s'", [parser_version.get_error_message()]) + return + self.latest_version = parser_version.data["version"] + # OVERRIDE func icon_directory() -> String: return self.directory().path_join("Font-Awesome-6.x/svgs/") diff --git a/addons/icon_explorer/internal/ext/icon_tabler/collection.gd b/addons/icon_explorer/internal/ext/icon_tabler/collection.gd index 1fd6884..5200444 100644 --- a/addons/icon_explorer/internal/ext/icon_tabler/collection.gd +++ b/addons/icon_explorer/internal/ext/icon_tabler/collection.gd @@ -59,10 +59,8 @@ func install(http: HTTPRequest, _version: String) -> Error: DirAccess.make_dir_recursive_absolute(self.directory()) var zip_path: String = self.directory().path_join("icons.zip") http.download_file = zip_path - var downloader: Io.FileDownloader = Io.FileDownloader.new(http) - downloader.request.bind(_DOWNLOAD_FILE).call_deferred() - - downloader.wait() + var downloader: Io.Downloader = Io.Downloader.new(http) + downloader.await_request(_DOWNLOAD_FILE) if downloader.result != HTTPRequest.RESULT_SUCCESS: return Error.FAILED @@ -82,6 +80,20 @@ func remove() -> Error: self.version = "" return super.remove() +# OVERRIDE +func update_latest_version(http: HTTPRequest) -> void: + var downloader: Io.Downloader = Io.Downloader.new(http) + downloader.await_request("https://raw.githubusercontent.com/tabler/tabler-icons/main/package.json") + if downloader.result != HTTPRequest.RESULT_SUCCESS: + return + + var parser_version: JSON = JSON.new() + var res_version: int = parser_version.parse(downloader.body.get_string_from_utf8()) + if res_version != OK: + push_warning("could get latest icon tabler version: '%s'", [parser_version.get_error_message()]) + return + self.latest_version = parser_version.data["version"] + # OVERRIDE func icon_directory() -> String: return self.directory().path_join("tabler-icons-master/icons/") diff --git a/addons/icon_explorer/internal/ext/material_design/collection.gd b/addons/icon_explorer/internal/ext/material_design/collection.gd index 1b74851..7cc98f9 100644 --- a/addons/icon_explorer/internal/ext/material_design/collection.gd +++ b/addons/icon_explorer/internal/ext/material_design/collection.gd @@ -61,10 +61,8 @@ func install(http: HTTPRequest, _version: String) -> Error: DirAccess.make_dir_recursive_absolute(self.directory()) var zip_path: String = self.directory().path_join("icons.zip") http.download_file = zip_path - var downloader: Io.FileDownloader = Io.FileDownloader.new(http) - downloader.request.bind(_DOWNLOAD_FILE).call_deferred() - - downloader.wait() + var downloader: Io.Downloader = Io.Downloader.new(http) + downloader.await_request(_DOWNLOAD_FILE) if downloader.result != HTTPRequest.RESULT_SUCCESS: return Error.FAILED @@ -84,6 +82,20 @@ func remove() -> Error: self.version = "" return super.remove() +# OVERRIDE +func update_latest_version(http: HTTPRequest) -> void: + var downloader: Io.Downloader = Io.Downloader.new(http) + downloader.await_request("https://raw.githubusercontent.com/Templarian/MaterialDesign-SVG/master/package.json") + if downloader.result != HTTPRequest.RESULT_SUCCESS: + return + + var parser_version: JSON = JSON.new() + var res_version: int = parser_version.parse(downloader.body.get_string_from_utf8()) + if res_version != OK: + push_warning("could get latest icon tabler version: '%s'", [parser_version.get_error_message()]) + return + self.latest_version = parser_version.data["version"] + # OVERRIDE func icon_directory() -> String: return self.directory().path_join("MaterialDesign-SVG-master/svg/") diff --git a/addons/icon_explorer/internal/ext/simple_icons/collection.gd b/addons/icon_explorer/internal/ext/simple_icons/collection.gd index 3ec4e46..58ef384 100644 --- a/addons/icon_explorer/internal/ext/simple_icons/collection.gd +++ b/addons/icon_explorer/internal/ext/simple_icons/collection.gd @@ -120,10 +120,8 @@ func install(http: HTTPRequest, _version: String) -> Error: DirAccess.make_dir_recursive_absolute(self.directory()) var zip_path: String = self.directory().path_join("icons.zip") http.download_file = zip_path - var downloader: Io.FileDownloader = Io.FileDownloader.new(http) - downloader.request.bind(_DOWNLOAD_FILE).call_deferred() - - downloader.wait() + var downloader: Io.Downloader = Io.Downloader.new(http) + downloader.await_request(_DOWNLOAD_FILE) if downloader.result != HTTPRequest.RESULT_SUCCESS: return Error.FAILED @@ -143,6 +141,20 @@ func remove() -> Error: self.version = "" return super.remove() +# OVERRIDE +func update_latest_version(http: HTTPRequest) -> void: + var downloader: Io.Downloader = Io.Downloader.new(http) + downloader.await_request("https://raw.githubusercontent.com/simple-icons/simple-icons/develop/package.json") + if downloader.result != HTTPRequest.RESULT_SUCCESS: + return + + var parser_version: JSON = JSON.new() + var res_version: int = parser_version.parse(downloader.body.get_string_from_utf8()) + if res_version != OK: + push_warning("could get latest simple icons version: '%s'", [parser_version.get_error_message()]) + return + self.latest_version = parser_version.data["version"] + # OVERRIDE func icon_directory() -> String: return self.directory().path_join("simple-icons-master/icons/") diff --git a/addons/icon_explorer/internal/scripts/collection.gd b/addons/icon_explorer/internal/scripts/collection.gd index 780cb6a..9e7de27 100644 --- a/addons/icon_explorer/internal/scripts/collection.gd +++ b/addons/icon_explorer/internal/scripts/collection.gd @@ -52,7 +52,7 @@ func icon_directory() -> String: return "" # VIRTUAL -func update_latest_version() -> void: +func update_latest_version(http: HTTPRequest) -> void: pass func directory() -> String: diff --git a/addons/icon_explorer/internal/scripts/tools/io.gd b/addons/icon_explorer/internal/scripts/tools/io.gd index 6e901f2..9217736 100644 --- a/addons/icon_explorer/internal/scripts/tools/io.gd +++ b/addons/icon_explorer/internal/scripts/tools/io.gd @@ -21,7 +21,7 @@ static func rrm_dir(dir_path: String) -> bool: DirAccess.remove_absolute(dir_path) return true -class FileDownloader: +class Downloader: extends RefCounted var result: int @@ -49,6 +49,10 @@ class FileDownloader: var res: Array = await self._http.request_completed self.from_array(res) self._sema.post() + + func await_request(uri: String) -> void: + self.request.bind(uri).call_deferred() + self.wait() func wait() -> void: self._sema.wait() diff --git a/addons/icon_explorer/internal/ui/options/collection_management.gd b/addons/icon_explorer/internal/ui/options/collection_management.gd index 9b3815b..ab0782b 100644 --- a/addons/icon_explorer/internal/ui/options/collection_management.gd +++ b/addons/icon_explorer/internal/ui/options/collection_management.gd @@ -12,6 +12,7 @@ enum ButtonId { } @export var _check_update_button: Button +@export var _check_progress_bar: ProgressBar @export var _tree: Tree var db: IconDatabase: @@ -21,6 +22,7 @@ var _http_request: HTTPRequest var _processing: int = -1 var _process_spinner_frame: int var _process_spinner_msec: float +var _update_thread: Thread func set_db(db_: IconDatabase) -> void: if db != null: @@ -62,6 +64,7 @@ func _ready() -> void: self._tree.set_column_expand(Column.WEB, false) self._tree.set_column_expand(Column.ACTIONS, false) self._tree.button_clicked.connect(self._on_button_clicked) + self._check_update_button.pressed.connect(self._check_for_updates) if Engine.is_editor_hint(): ProjectSettings.settings_changed.connect(self.update) @@ -85,6 +88,9 @@ func update() -> void: var is_processed: bool = self._processing == coll.id() if is_processed: pass + elif coll.version != "" && coll.latest_version != "" && coll.latest_version > coll.version: + item.set_icon(Column.INSTALLED, self.get_theme_icon(&"StatusWarning", &"EditorIcons")) + item.set_tooltip_text(Column.INSTALLED, "Update Available") elif coll.is_installed(): item.set_icon(Column.INSTALLED, self.get_theme_icon(&"StatusSuccess", &"EditorIcons")) item.set_tooltip_text(Column.INSTALLED, "Installed") @@ -94,12 +100,41 @@ func update() -> void: var is_one_processed: bool = self._processing != -1 if coll.is_installed(): - item.add_button(Column.ACTIONS, self.get_theme_icon(&"Reload", &"EditorIcons"), ButtonId.INSTALL, is_one_processed || coll.latest_version >= coll.version || coll.latest_version == "", "Update") + item.add_button(Column.ACTIONS, self.get_theme_icon(&"Reload", &"EditorIcons"), ButtonId.INSTALL, is_one_processed || coll.latest_version == "" || coll.latest_version <= coll.version, "Update") else: item.add_button(Column.ACTIONS, self.get_theme_icon(&"AssetLib", &"EditorIcons"), ButtonId.INSTALL, is_one_processed, "Install") item.add_button(Column.ACTIONS, self.get_theme_icon(&"Remove", &"EditorIcons"), ButtonId.REMOVE, is_one_processed || !coll.is_installed(), "Remove") item.add_button(Column.ACTIONS, self.get_theme_icon(&"Filesystem", &"EditorIcons"), ButtonId.OPEN_DIR, !coll.is_installed(), "Show in File Explorer") +func _check_for_updates() -> void: + if self._update_thread != null && self._update_thread.is_alive(): + return + if self._update_thread != null: + self._update_thread.wait_to_finish() + + self._check_update_button.disabled = true + self._check_progress_bar.max_value = self.db.collections().size() + self._check_progress_bar.value = 0 + self._check_progress_bar.visible = true + self._update_thread = Thread.new() + var http: HTTPRequest = HTTPRequest.new() + self.add_child(http) + self._update_thread.start(self._update_check.bind(http)) + +# thread function +func _update_check(http: HTTPRequest) -> void: + var upd := func upd() -> void: self._check_progress_bar.value += 1 + for coll: Collection in self.db.collections(): + coll.update_latest_version(http) + upd.call_deferred() + http.queue_free.call_deferred() + self._update_check_done.call_deferred() + +func _update_check_done() -> void: + self._check_update_button.disabled = false + self._check_progress_bar.visible = false + self.update() + func _process(delta: float) -> void: self._process_spinner_msec += delta if self._process_spinner_msec > 0.2: diff --git a/addons/icon_explorer/internal/ui/options/options.tscn b/addons/icon_explorer/internal/ui/options/options.tscn index 7140476..af3e8db 100644 --- a/addons/icon_explorer/internal/ui/options/options.tscn +++ b/addons/icon_explorer/internal/ui/options/options.tscn @@ -1,8 +1,10 @@ -[gd_scene load_steps=3 format=3 uid="uid://bfmh2kaf2qbrx"] +[gd_scene load_steps=4 format=3 uid="uid://bfmh2kaf2qbrx"] [ext_resource type="Script" path="res://addons/icon_explorer/internal/ui/options/options.gd" id="1_hdn86"] [ext_resource type="Script" path="res://addons/icon_explorer/internal/ui/options/collection_management.gd" id="2_fsa3m"] +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_i38b2"] + [node name="control" type="PanelContainer" node_paths=PackedStringArray("_load_on_startup", "_show_main_screen", "_reload_current_project", "_collection_management", "_options_panel", "_options_label", "_collections_panel", "_collections_label")] anchors_preset = 15 anchor_right = 1.0 @@ -62,11 +64,12 @@ layout_mode = 2 size_flags_horizontal = 0 text = "Reload the current project to apply changes." -[node name="collection_management" type="VBoxContainer" parent="options/options" node_paths=PackedStringArray("_check_update_button", "_tree")] +[node name="collection_management" type="VBoxContainer" parent="options/options" node_paths=PackedStringArray("_check_update_button", "_check_progress_bar", "_tree")] layout_mode = 2 size_flags_vertical = 3 script = ExtResource("2_fsa3m") _check_update_button = NodePath("collections_panel/h_box_container/update_check_button") +_check_progress_bar = NodePath("collections_panel/h_box_container/update_check_button/progress_bar") _tree = NodePath("collection_management/tree") [node name="collections_panel" type="PanelContainer" parent="options/options/collection_management"] @@ -84,6 +87,17 @@ layout_mode = 2 size_flags_horizontal = 10 text = "Check for Updates" +[node name="progress_bar" type="ProgressBar" parent="options/options/collection_management/collections_panel/h_box_container/update_check_button"] +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/background = SubResource("StyleBoxEmpty_i38b2") +show_percentage = false + [node name="collection_management" type="VBoxContainer" parent="options/options/collection_management"] layout_mode = 2 size_flags_vertical = 3 From fd22eaedb30a46737298fee2a2f272b075795a08 Mon Sep 17 00:00:00 2001 From: Iceflower Date: Wed, 24 Apr 2024 01:08:14 +0200 Subject: [PATCH 11/30] [doc] Update readme --- README.md | 17 +++++++++++++++-- addons/icons_patcher/plugin.cfg | 2 +- addons/texture_button_colored/plugin.cfg | 2 +- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index c82f7b5..18e441c 100644 --- a/README.md +++ b/README.md @@ -253,6 +253,9 @@ Downloaded data is saved into `.godot/cache/icon_explorer` to avoid importing it - Require Godot 4.3 - Make use of @export for custom Nodes - Improve loading visualization +- Add Icons to Main Screen (this is optional and can be turned off) +- Add check for updates button +- Remove editor toast notification (access was removed) #### 1.1.0 @@ -278,10 +281,15 @@ Consider using [Icon Explorer](#icon-explorer) instead and save it directly in w ### Compatibility -- Godot 4.2 +- Godot 4.3: >= 1.5.0 +- Godot 4.2: <= 1.5.0 ### Changelog +#### 1.5.0 + +- Remove editor toast notification (access was removed) + #### 1.4.0 - Use editor toast notification @@ -664,7 +672,8 @@ Let you apply the icon color theme properties for the texture button. Uses `self ### Compatibility -- Godot 4.2 +- Godot 4.3: >= 1.4.0 +- Godot 4.2: <= 1.4.0 ### Dependencies @@ -676,6 +685,10 @@ Let you apply the icon color theme properties for the texture button. Uses `self ### Changelog +#### 1.4.0 + +- Remove editor toast notification (access was removed) + #### 1.3.3 - Notify if Custom Themes Override is missing or enable it if disabled diff --git a/addons/icons_patcher/plugin.cfg b/addons/icons_patcher/plugin.cfg index 619f660..349587e 100644 --- a/addons/icons_patcher/plugin.cfg +++ b/addons/icons_patcher/plugin.cfg @@ -3,7 +3,7 @@ name="Icons Patcher" description="Will convert Pictogrammers icon to white." author="Iceflower S" -version="1.4.0" +version="1.5.0" script="plugin.gd" license="MIT" repository="https://github.com/kenyoni-software/godot-addons" diff --git a/addons/texture_button_colored/plugin.cfg b/addons/texture_button_colored/plugin.cfg index 8ef6cb2..3568316 100644 --- a/addons/texture_button_colored/plugin.cfg +++ b/addons/texture_button_colored/plugin.cfg @@ -3,7 +3,7 @@ name="TextureButtonColored" description="TextureButton with color theme." author="Iceflower S" -version="1.3.3" +version="1.4.0" script="plugin.gd" license="MIT" repository="https://github.com/kenyoni-software/godot-addons" From 7caff3670473f46d2a955a7891376e2ea5a1d9c4 Mon Sep 17 00:00:00 2001 From: Iceflower Date: Mon, 13 May 2024 20:04:49 +0200 Subject: [PATCH 12/30] [icon_explorer] Focus filter on open --- addons/icon_explorer/internal/ui/explorer/explorer.gd | 5 +++++ addons/icon_explorer/internal/ui/explorer/explorer.tscn | 1 + addons/icon_explorer/internal/ui/explorer_dialog.gd | 1 + addons/icon_explorer/internal/ui/main_screen.gd | 6 ++++++ addons/icon_explorer/internal/ui/main_screen.tscn | 1 + addons/icon_explorer/plugin.gd | 2 ++ 6 files changed, 16 insertions(+) diff --git a/addons/icon_explorer/internal/ui/explorer/explorer.gd b/addons/icon_explorer/internal/ui/explorer/explorer.gd index a310a7b..44707c2 100644 --- a/addons/icon_explorer/internal/ui/explorer/explorer.gd +++ b/addons/icon_explorer/internal/ui/explorer/explorer.gd @@ -61,6 +61,7 @@ func _ready() -> void: self._options_button.icon = self.get_theme_icon(&"Tools", &"EditorIcons") self._options_button.pressed.connect(self._on_option_pressed) + self.focus_entered.connect(self._on_focus_entered) self.set_process(false) if !Engine.is_editor_hint(): @@ -178,3 +179,7 @@ func _on_filter_submitted(_text: String) -> void: func _on_option_pressed() -> void: self._options_popup.popup_centered_ratio(0.35) + +func _on_focus_entered() -> void: + self._filter.grab_focus() + self._filter.select_all() diff --git a/addons/icon_explorer/internal/ui/explorer/explorer.tscn b/addons/icon_explorer/internal/ui/explorer/explorer.tscn index b17786b..c4825a0 100644 --- a/addons/icon_explorer/internal/ui/explorer/explorer.tscn +++ b/addons/icon_explorer/internal/ui/explorer/explorer.tscn @@ -12,6 +12,7 @@ anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 +focus_mode = 2 grow_horizontal = 2 grow_vertical = 2 script = ExtResource("1_2oqmk") diff --git a/addons/icon_explorer/internal/ui/explorer_dialog.gd b/addons/icon_explorer/internal/ui/explorer_dialog.gd index a6d6e02..c6775ec 100644 --- a/addons/icon_explorer/internal/ui/explorer_dialog.gd +++ b/addons/icon_explorer/internal/ui/explorer_dialog.gd @@ -21,3 +21,4 @@ func _on_about_to_popup() -> void: if !self._db_loaded: self._db_loaded = true self._db.load() + self._explorer.grab_focus() diff --git a/addons/icon_explorer/internal/ui/main_screen.gd b/addons/icon_explorer/internal/ui/main_screen.gd index 10cbb9a..f647110 100644 --- a/addons/icon_explorer/internal/ui/main_screen.gd +++ b/addons/icon_explorer/internal/ui/main_screen.gd @@ -6,5 +6,11 @@ const IconDatabase := preload("res://addons/icon_explorer/internal/scripts/datab @export var _explorer: Explorer +func _ready() -> void: + self.focus_entered.connect(self._on_focus_entered) + func set_icon_db(db: IconDatabase) -> void: self._explorer.set_icon_db(db) + +func _on_focus_entered() -> void: + self._explorer.grab_focus() diff --git a/addons/icon_explorer/internal/ui/main_screen.tscn b/addons/icon_explorer/internal/ui/main_screen.tscn index af9eb37..d6f4fe5 100644 --- a/addons/icon_explorer/internal/ui/main_screen.tscn +++ b/addons/icon_explorer/internal/ui/main_screen.tscn @@ -8,6 +8,7 @@ layout_mode = 3 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 +focus_mode = 2 grow_horizontal = 2 grow_vertical = 2 size_flags_horizontal = 3 diff --git a/addons/icon_explorer/plugin.gd b/addons/icon_explorer/plugin.gd index aef4e5f..ea4dcf8 100644 --- a/addons/icon_explorer/plugin.gd +++ b/addons/icon_explorer/plugin.gd @@ -58,6 +58,8 @@ func _make_visible(visible: bool) -> void: self._db_loaded = true self._db.load() self._main_screen.visible = visible + if visible: + self._main_screen.grab_focus() func _show_popup() -> void: if self._explorer_dialog.visible: From af7eb352ac826251ae3c6f2c5241c551d75d3fb4 Mon Sep 17 00:00:00 2001 From: Iceflower Date: Tue, 14 May 2024 02:28:55 +0200 Subject: [PATCH 13/30] [doc] Add documentation with mkdocs --- .github/workflows/github-pages.yml | 42 ++ .gitignore | 2 + README.md | 707 +----------------- doc/docker-compose.yml | 13 + doc/docs/_static/css/badge.css | 51 ++ doc/docs/_static/css/common.css | 4 + doc/docs/_static/js/mathjax.js | 16 + doc/docs/_static/js/tablesort.js | 6 + .../addons/aspect_ratio_resize_container.md | 49 ++ doc/docs/addons/custom_theme_overrides.md | 72 ++ .../custom_theme_overrides.png | Bin doc/docs/addons/git_sha_project_setting.md | 38 + doc/docs/addons/glogging.md | 115 +++ doc/docs/addons/hide_private_properties.md | 32 + doc/docs/addons/icon_explorer.md | 57 ++ doc/docs/addons/icon_explorer/main_screen.png | Bin 0 -> 304068 bytes doc/docs/addons/icon_explorer/popup.png | Bin 0 -> 36266 bytes doc/docs/addons/icons_patcher.md | 50 ++ doc/docs/addons/licenses.md | 198 +++++ .../addons/licenses}/license_manager.png | Bin doc/docs/addons/qr_code.md | 185 +++++ doc/{ => docs/addons/qr_code}/qr_code.png | Bin doc/docs/addons/texture_button_colored.md | 65 ++ doc/docs/index.md | 81 ++ doc/hooks/badge.py | 36 + doc/hooks/hooks.py | 30 + doc/hooks/source_link.py | 15 + doc/icon_explorer.png | Bin 47155 -> 0 bytes doc/mkdocs.yml | 105 +++ 29 files changed, 1279 insertions(+), 690 deletions(-) create mode 100644 .github/workflows/github-pages.yml create mode 100644 doc/docker-compose.yml create mode 100644 doc/docs/_static/css/badge.css create mode 100644 doc/docs/_static/css/common.css create mode 100644 doc/docs/_static/js/mathjax.js create mode 100644 doc/docs/_static/js/tablesort.js create mode 100644 doc/docs/addons/aspect_ratio_resize_container.md create mode 100644 doc/docs/addons/custom_theme_overrides.md rename doc/{ => docs/addons/custom_theme_overrides}/custom_theme_overrides.png (100%) create mode 100644 doc/docs/addons/git_sha_project_setting.md create mode 100644 doc/docs/addons/glogging.md create mode 100644 doc/docs/addons/hide_private_properties.md create mode 100644 doc/docs/addons/icon_explorer.md create mode 100644 doc/docs/addons/icon_explorer/main_screen.png create mode 100644 doc/docs/addons/icon_explorer/popup.png create mode 100644 doc/docs/addons/icons_patcher.md create mode 100644 doc/docs/addons/licenses.md rename doc/{ => docs/addons/licenses}/license_manager.png (100%) create mode 100644 doc/docs/addons/qr_code.md rename doc/{ => docs/addons/qr_code}/qr_code.png (100%) create mode 100644 doc/docs/addons/texture_button_colored.md create mode 100644 doc/docs/index.md create mode 100644 doc/hooks/badge.py create mode 100644 doc/hooks/hooks.py create mode 100644 doc/hooks/source_link.py delete mode 100644 doc/icon_explorer.png create mode 100644 doc/mkdocs.yml diff --git a/.github/workflows/github-pages.yml b/.github/workflows/github-pages.yml new file mode 100644 index 0000000..367b146 --- /dev/null +++ b/.github/workflows/github-pages.yml @@ -0,0 +1,42 @@ +name: Deploy Github Pages + +on: + push: + branches: ["main", "dev/doc"] + workflow_dispatch: + +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: 3.x + - name: Install Material for MkDocs + run: pip install mkdocs-material mkdocs-minify-plugin pillow cairosvg + - name: Build Website + working-directory: doc/ + run: mkdocs build + - name: Setup Pages + uses: actions/configure-pages@v5 + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + path: './doc/site/' + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 diff --git a/.gitignore b/.gitignore index 1c26658..304180f 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,5 @@ addons/explore-editor-theme/ archives/ +doc/.cache/ +doc/site/ diff --git a/README.md b/README.md index 18e441c..83a4e87 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ Download [here](https://github.com/kenyoni-software/godot-addons/releases/tag/latest). +You can find a documentation [here](https://kenyoni-software.github.io/godot-addons). + ## License [MIT License](./LICENSE.md) @@ -12,700 +14,25 @@ If you import any plugin or open a Godot project for the first time, the plugins *Background: most plugins are using `preload`, but on first import there is nothing which can be preloaded.* -### Nodes +## Addons -- [AspectRatioResizeContainer](#aspectratioresizecontainer) +- [AspectRatioResizeContainer](https://kenyoni-software.github.io/godot-addons/aspect_ratio_resize_container) Extension of `AspectRatioContainer` to update it's own size. -- [TextureButtonColored](#texturebuttoncolored) - Extension of `TextureButton` with color options. -- [Logging](#logging) - Simple logger. -- [QR Code](#qr-code) - QRCodeRect and QR Code generation. - -### Tools - -- [Git SHA Project Setting](#git-sha-project-setting) +- [Custom Theme Overrides](https://kenyoni-software.github.io/godot-addons/custom_theme_overrides) + Utility to provide custom theme overrides for any node. +- [Git SHA Project Setting](https://kenyoni-software.github.io/godot-addons/git_sha_project_setting) Add Git SHA as project setting. -- [Hide Private Properties](#hide-private-properties) +- [Hide Private Properties](https://kenyoni-software.github.io/godot-addons/hide_private_properties) Hide private properties of instantiated child scenes. -- [Icon Explorer](#icon-explorer) +- [Icon Explorer](https://kenyoni-software.github.io/godot-addons/icon_explorer) Browse different icons and save them. -- [Icons Patcher](#icons-patcher) +- [Icons Patcher](https://kenyoni-software.github.io/godot-addons/icons_patcher) Patch Pictogrammers icons to white. -- [License Manager](#license-manager) +- [License Manager](https://kenyoni-software.github.io/godot-addons/licenses) Manage license and copyright for third party graphics, software or libraries. - -### Utility - -- [Custom Theme Overrides](#custom-theme-overrides) - Utility to provide custom theme overrides for any node. - ---- - -## AspectRatioResizeContainer - -The `AspectRatioContainer` allows his own size to be smaller than the children, which causes neighboring UI elements to be covered. -This new node type will extend the existing `AspectRatioContainer` and update it's own minimum size based on the children. -This works except for `STRETCH_MODE_COVER`. - -You are also not able to use the property `custom_minimum_size` anymore as it is used to set the minimum size. - -### Compatibility - -- Godot 4.2 - -### Example - -[examples/aspect_ratio_resize_container](./examples/aspect_ratio_resize_container) - -### Changelog - -#### 3.2.2 - -- Add more static typing - -#### 3.2.1 - -- Revert: Fix ratio calculation, it is clunky on specific settings - -#### 3.2.0 - -- Fix ratio calculation (but it's still bugged in some cases) - -#### 3.1.2 - -- Use absolute paths in preloads - -#### 3.1.1 - -- Code improvement - -#### 3.1.0 - -- Require Godot 4.2 -- Add more values to plugin.cfg -- Add static typing in for loops - ---- - -## Custom Theme Overrides - -Utility to make custom theme overrides for any node possible. - -This plugin will auto register (via `class_name`) the class `CustomThemeOverrides`. - -You should not use `@export` on your custom theme variables, as they will be exported with the `_get_property_list` method. Also setter and getter will not be called inside the editor. - -If everything is set up, your theme override variables can be handled like every other theme override property. - -### Compatibility - -- Godot 4.2 - -### Screenshot - -![Custom theme overrides screenshot](./doc/custom_theme_overrides.png "Custom Theme Overrides") - -### Example - -```gdscript -# declare the members -# DO NOT -# - use @export -# - use setter and getter, they are NOT called in the editor -# - access these variables directly -var my_font_color: Color -var my_border_size: int -var my_font: Font -var my_font_size: int -var my_icon: Texture2D -var my_style_box: StyleBox - -# declare the custom theme overrides, use the member name and the theme data type. -var _theme_overrides = CustomThemeOverrides.new([ - ["my_font_color", Theme.DATA_TYPE_COLOR], - ["my_border_size", Theme.DATA_TYPE_CONSTANT], - ["my_font", Theme.DATA_TYPE_FONT], - ["my_font_size", Theme.DATA_TYPE_FONT_SIZE], - ["my_icon", Theme.DATA_TYPE_ICON], - ["my_style_box", Theme.DATA_TYPE_STYLEBOX] -]) - -# required, if you have other properties use append_array -func _get_property_list() -> Array[Dictionary]: - return self._theme_overrides.theme_property_list(self) - -# optional: if you want to use the revert function -func _property_can_revert(property: StringName) -> bool: - return self._theme_overrides.can_revert(property) - -# optional: if you want to use the revert function, return null -func _property_get_revert(_property: StringName) -> Variant: - return null -``` - -[examples/custom_theme_overrides](./examples/custom_theme_overrides) - -### Changelog - -#### 1.1.0 - -- Require Godot 4.2 -- Add more values to plugin.cfg -- Add static typing in for loops - ---- - -## Git SHA Project Setting - -Previously named `Metadata`. - -Adds the project setting `application/config/git_sha`, which contains the current Git SHA. -This one is automatically set and updated when you run any scene or on exporting the project. The git_sha will **not** be kept in `project.godot` to not clutter any version control system. It will be removed from the settings on closing the Godot Editor. - -### Compatibility - -- Godot 4.2 - -### Example - -[examples/metadata](./examples/metadata) - -### Changelog - -#### 2.1.1 - -- Use absolute paths in preloads - -#### 2.1.0 - -- Require Godot 4.2 -- Add more values to plugin.cfg - -#### 2.0.0 - -- Added an initial Git SHA load on opening the project. -- Removed `application/config/version`, there was no need that this was part of the addon. The value can still be added manually. - ---- - -## Hide Private Properties - -Private members (names starting with an underscore) should not be exposed. - -This plugin will hide exported private properties in the inspector for instantiated child scenes. - -### Compatibility - -- Godot 4.2 - -### Example - -[examples/hide_private_properties](./examples/hide_private_properties) - -### Changelog - -#### 1.1.2 - -- Fix: property not found warning - -#### 1.1.1 - -- Use absolute paths in preloads - -#### 1.1.0 - -- Require Godot 4.2 -- Add more values to plugin.cfg - ---- - -## Icon Explorer - -Browse and save icons from popular icon collections. - -Install or update them via the options menu in the right upper corner. This can take several minutes. - -The following collections are available: - -- [Bootstrap Icons](https://github.com/twbs/icons) -- [Font Awesome 6](https://github.com/FortAwesome/Font-Awesome) -- [Material Design](https://github.com/Templarian/MaterialDesign-SVG) -- [Simple Icons](https://github.com/simple-icons/simple-icons) -- [tabler Icons](https://github.com/tabler/tabler-icons) - -Downloaded data is saved into `.godot/cache/icon_explorer` to avoid importing it. - -### Compatibility - -- Godot 4.3: >= 1.2.0 -- Godot 4.2: <= 1.1.0 - -### Screenshot - -![Icon Explorer screenshot](./doc/icon_explorer.png "Icon Explorer") - -### Changelog - -#### 1.2.0 - -- Require Godot 4.3 -- Make use of @export for custom Nodes -- Improve loading visualization -- Add Icons to Main Screen (this is optional and can be turned off) -- Add check for updates button -- Remove editor toast notification (access was removed) - -#### 1.1.0 - -- Use editor toast notification - -#### 1.0.0 - -- Add icon explorer - ---- - -## Icons Patcher - -*Consider using [Icon Explorer](#icon-explorer) instead and save icons in white color.* - -If you use Material Design icons from [Pictogrammers](https://pictogrammers.com/library/mdi/), they come without any fill color, automatically rendered black. This is not a convenient color as it makes it impossible to modulate the color. The icon patcher provides a utility to automatically patch the icons to white color. - -Set the icon directory in the Project Settings under the menu `Plugins` -> `Icons Patcher`. - -Then use `Project` -> `Tools` -> `Icons Patcher` to patch the icons. - -Consider using [Icon Explorer](#icon-explorer) instead and save it directly in white. - -### Compatibility - -- Godot 4.3: >= 1.5.0 -- Godot 4.2: <= 1.5.0 - -### Changelog - -#### 1.5.0 - -- Remove editor toast notification (access was removed) - -#### 1.4.0 - -- Use editor toast notification - -#### 1.3.3 - -- Use absolute paths in preloads - -#### 1.3.2 - -- Code improvement - -#### 1.3.1 - -- Replace legacy code - -#### 1.3.0 - -- Require Godot 4.2 -- Add more values to plugin.cfg - -#### 1.2.0 - -- Added automatic file reimporting. - ---- - -## License Manager - -Manage license and copyright for third party graphics, software or libraries. -Group them into categories, add descriptions or web links. - -The data is stored inside a json file. This file is automatically added to the export, you do not need to add it yourself. If you provide license files instead of a text, they are also exported. - -If paths are added to license data, it will be automatically adjusted if you rename a file or folder inside the editor. - -You can change the project license file either with a button at the upper right, in the license menu. Or inside the project settings under the menu `Plugins` -> `Licenses`. - -### Compatibility - -- Godot 4.3: >= 1.8.0 -- Godot 4.2: 1.6.0 - 1.7.8 -- Godot 4.1: < 1.6.0 - -### Screenshot - -![license manager screenshot](./doc/license_manager.png "License Manager") - -### Example - -[examples/licenses](./examples/licenses) - -### Classes & Functions - -**Licenses** - [`addons/licenses/licenses.gd`](./addons/licenses/licenses.gd) - -General class, providing among other things static functions to save and load licenses. - -**Component** - [`addons/licenses/component.gd`](./addons/licenses/component.gd) - -Component class, data wrapper for all information regarding one license item. - -**Component.License** - [`addons/licenses/component.gd`](./addons/licenses/component.gd) - -License class. - -### Changelog - -#### 1.8.0 - -- Require Godot 4.3 -- Make use of @export for custom Nodes - -#### 1.7.8 - -- Detect movement of licenses json file - -#### 1.7.7 - -- Use absolute paths in preloads - -#### 1.7.6 - -- Fix scene id -- Code improvement - -#### 1.7.5 - -- Fix license file existing check - -#### 1.7.4 - -- Fix show engine component - -#### 1.7.3 - -- Fix component selection and right click menu - -#### 1.7.2 - -- Fix current selection of component on popup -- Change drag and drop behavior - -#### 1.7.1 - -- Add adjusting filepath of license files on moving -- Add more warnings -- Fix reloading UI if something was changed on moving - -#### 1.7.0 - -- Add renaming of paths when a file or folder gets renamed inside the editor -- Add right click menu to duplicate or delete items - -#### 1.6.1 - -- Workaround show engine components, calling static function is bugged - -#### 1.6.0 - -- Require Godot 4.2 -- Add more values to plugin.cfg -- Add static typing in for loops -- Use static sorting function as lambda - -#### 1.5.0 - -- Removed overriden engine methods -- Creating a plugin component will now add the plugin path to paths -- Fix dragging/ double click crash -- Fix overriding project license file if another license file is loaded -- Add warning tooltip if a component paths does not exist - ---- - -## Logging - -Simple logger. An autoload `GLogging` will be created at installation. -Logging methods support formatting, values wont be stringified if they are not logged. - -Logging into a file is not supported yet. The output will be always done via print. - - -### Compatibility - -- Godot 4.2 - -### Example - -``` -2023-07-04 15:57:16.242 [ INFO] [ root] ready and initialize GUI -2023-07-04 15:57:16.242 [ INFO] [ root] initialized logger root and other -2023-07-04 15:57:18.300 [ DEBUG] [ root] Demo Text! -2023-07-04 15:57:20.452 [ INFO] [ root] Demo Text! -2023-07-04 15:57:22.071 [ WARNING] [ root] Demo Text! -2023-07-04 15:57:24.606 [ ERROR] [ root] Demo Text! -2023-07-04 15:57:28.793 [CRITICAL] [ root] Demo Text! -2023-07-04 15:57:37.483 [ INFO] [ network] Demo Text! -2023-07-04 15:57:50.843 [ INFO] [ gui] Demo Text! -``` - -[examples/glogging](./examples/glogging) - -### Classes & Functions - -**GLogging** - [`addons/glogging/glogging.gd`](./addons/glogging/glogging.gd) - -Logging base class. Provides helper methods. - -- `root_logger: Logger` - root logger object -- `debug(message: Variant, values: Array[Variant] = []) -> void` - log with root logger at debug level -- `info(message: Variant, values: Array[Variant] = []) -> void` - log with root logger at info level -- `warning(message: Variant, values: Array[Variant] = []) -> void` - log with root logger at warning level, will also display a debug warning -- `error(message: Variant, values: Array[Variant] = []) -> void` - log with root logger at error level, will also display a debug error -- `critical(message: Variant, values: Array[Variant] = []) -> void` - log with root logger at critical level -- `log(level: int, message: Variant, values: Array[Variant] = []) -> void` - log at custom level - -**GLogging.Logger** - [`addons/glogging/glogging.gd`](./addons/glogging/glogging.gd) - -Logger class. -If not log level is set, the log level of the parent logger will be used. - -- `create_child(module_name: String, log_level: int = LEVEL_NOTSET) -> Logger` - create a child logger -- `set_log_level(level: int) -> void` - set the log level -- `log_level() -> int` - get log level -- `debug(message: Variant, values: Array[Variant] = []) -> void` - log at debug level -- `info(message: Variant, values: Array[Variant] = []) -> void` - log at info level -- `warning(message: Variant, values: Array[Variant] = []) -> void` - log at warning level, will also display a debug warning -- `error(message: Variant, values: Array[Variant] = []) -> void` - log at error level, will also display a debug error -- `critical(message: Variant, values: Array[Variant] = []) -> void` - log at critical level -- `log(level: int, message: Variant, values: Array[Variant] = []) -> void` - log at custom level - -### Changelog - -#### 1.5.1 - -- Code improvement - -#### 1.5.0 - -- Require Godot 4.2 -- Add more values to plugin.cfg - ---- - -## QR Code - -QR Code generation either with the included `QRCodeRect` node or use the encoding result of the `QRCode` class. - -### Compatibility - -- Godot 4.2 - -### Screenshot - -![QRCodeRect node inspector screenshot](./doc/qr_code.png "QRCodeRect in inspector") - -### Example - -[examples/qr_code](./examples/qr_code) - -### Classes & Functions - -**QRCodeRect** - [`addons/qr_code/qr_code_rect.gd`](./addons/qr_code/qr_code_rect.gd) - -`TextureRect` like node. The texture is updated by itself. -When using byte encoding you can also pass strings for specific ECI values (ISO 8859-1, Shift JIS, UTF-8, UTF-16, US ASCII), the input string will be automatically converted to an byte array. - -#### Properties - -- `mode: QRCode.Mode` -- `error_correction: QRCode.ErrorCorrection` -- `use_eci: bool` - Use Extended Channel Interpretation (ECI) -- `eci_value: int` - Extended Channel Interpretation (ECI) Value -- `data: Variant` - Type varies based on the encoding mode. -- `auto_version: bool` - Use automatically the smallest QR Code version. -- `version: int` -- `auto_mask_pattern: bool` - Use automatically the best mask pattern. -- `mask_pattern: int` -- `light_module_color: Color` -- `dark_module_color: Color` -- `auto_module_px_size: bool` - Automatically set the module pixel size based on the size. - Do not use expand mode KEEP_SIZE when using it. - Turn this off when the QR Code changes or is resized often, as it impacts the performance quite heavily. -- `module_px_size: int` - Use that many pixel for one module. -- `quiet_zone_size: int` - Use that many modules for the quiet zone. A value of 4 is recommended. - -**QRCode** - [`addons/qr_code/qr_code.gd`](./addons/qr_code/qr_code.gd) - -QRCode class to generate QR Codes. - -#### Enums - -- `Mode` - Encoding mode enum. - - `NUMERIC = 1` - - `ALPHANUMERIC = 2` - - `BYTE = 4` - - `KANJI = 8` -- `ErrorCorrection` - Error correction enum. - - `LOW = 1` - - `MEDIUM = 0` - - `QUARTILE = 3` - - `HIGH = 2` -- `ECI` - Extended Channel Interpretation enum. Provides some values by name. - -#### Properties - -- `mode: Mode` -- `error_correction: ErrorCorrection` -- `use_eci: bool` - Use Extended Channel Interpretation (ECI) -- `eci_value: int` - Extended Channel Interpretation (ECI) Value -- `auto_version: bool` - Use automatically the smallest QR Code version. -- `version: int` -- `auto_mask_pattern: bool` - Use automatically the best mask pattern. -- `mask_pattern: int` - -#### Methods - -- `get_module_count() -> int` - Get the module count per side. -- `calc_min_version() -> int` - Get the minimal version required to encode the data. -- `generate_image(module_px_size: int = 1, light_module_color: Color = Color.WHITE, dark_module_color: Color = Color.BLACK) -> Image` - Generate an image. This method can be called repeatedly, as encoding will only happens once and be cached. -- `put_numeric(number: String) -> void` - Put a numeric text as data. Invalid characters are removed. Will change the encoding mode to `Mode.NUMERIC`. -- `put_alphanumeric(text: String) -> void` - Put a alphanumeric text as data. Invalid characters are removed. Will change the encoding mode to `Mode.ALPHANUMERIC`. -- `put_byte(data: PackedByteArray) -> void` - Put a byte data. Will change the encoding mode to `Mode.BYTE`. -- `put_numeric(number: String) -> void` - Put a numeric text as data. Invalid characters are removed. Will change the encoding mode to `Mode.KANJI`. -- `encode() -> PackedByteArray` - Get the QR Code row by row in one array. To get the row size use `get_module_count`. - -**ShiftJIS** - [`addons/qr_code/shift_jis.gd`](./addons/qr_code/shift_jis.gd) - -Shift JIS encoding utility. - -### Functions - -- `static func to_shift_jis_2004_buffer(text: String) -> PackedByteArray` -- `static func get_string_from_shift_jis_2004(arr: PackedByteArray) -> String` -- `static func to_jis_8_buffer(text: String) -> PackedByteArray` -- `static func get_string_from_jis_8(arr: PackedByteArray) -> String` - -### Changelog - -#### 1.1.3 - -- Code improvements - -#### 1.1.2 - -- Use absolute paths in preloads - -#### 1.1.1 - -- Code optimizing - -#### 1.1.0 - -- Require Godot 4.2 -- Add more values to plugin.cfg -- Add static typing in for loops - -#### 1.0.0 - -- Renamed `get_string_from_jis_2004` to `get_string_from_shift_jis_2004` - -#### 0.3.1 - -- Improve inspector properties -- Improve input handling of byte data based on ECI usage - -#### 0.3.0 - -- Make ECI value optional - -#### 0.2.0 - -- Added quiet zone size property - ---- - -## TextureButtonColored - -Let you apply the icon color theme properties for the texture button. Uses `self_modulate`. - -### Compatibility - -- Godot 4.3: >= 1.4.0 -- Godot 4.2: <= 1.4.0 - -### Dependencies - -- [Custom Theme Overrides](#custom-theme-overrides) - -### Example - -[examples/texture_button_colored](./examples/texture_button_colored) - -### Changelog - -#### 1.4.0 - -- Remove editor toast notification (access was removed) - -#### 1.3.3 - -- Notify if Custom Themes Override is missing or enable it if disabled - -#### 1.3.2 - -- Use absolute paths in preloads - -#### 1.3.1 - -- Code improvement - -#### 1.3.0 - -- Require Godot 4.2 -- Add more values to plugin.cfg - -#### 1.2.3 - -- Rename method `get_theme_color` to `get_theme_coloring`, this function was never called by the engine anyway and should not be overridden +- [Logging](https://kenyoni-software.github.io/godot-addons/glogging) + Simple logger. +- [QR Code](https://kenyoni-software.github.io/godot-addons/qr_code) + QRCodeRect and QR Code generation. +- [TextureButtonColored](https://kenyoni-software.github.io/godot-addons/texture_button_colored) + Extension of `TextureButton` with color options. diff --git a/doc/docker-compose.yml b/doc/docker-compose.yml new file mode 100644 index 0000000..b8d3124 --- /dev/null +++ b/doc/docker-compose.yml @@ -0,0 +1,13 @@ +services: + mkdocs-serve: + image: squidfunk/mkdocs-material:9.5.21 + volumes: + - ./:/docs + ports: + - 8000:8000 + + mkdocs-build: + image: squidfunk/mkdocs-material:9.5.21 + volumes: + - ./:/docs + command: build diff --git a/doc/docs/_static/css/badge.css b/doc/docs/_static/css/badge.css new file mode 100644 index 0000000..01ffd6d --- /dev/null +++ b/doc/docs/_static/css/badge.css @@ -0,0 +1,51 @@ +.md-typeset .mdx-badge { + font-size: .85em +} + +[dir=ltr] .md-typeset .mdx-badge__icon { + border-top-left-radius: .1rem +} + +[dir=rtl] .md-typeset .mdx-badge__icon { + border-top-right-radius: .1rem +} + +[dir=ltr] .md-typeset .mdx-badge__icon { + border-bottom-left-radius: .1rem +} + +[dir=rtl] .md-typeset .mdx-badge__icon { + border-bottom-right-radius: .1rem +} + +.md-typeset .mdx-badge__icon { + color: var(--md-typeset-a-color); + background: var(--md-accent-fg-color--transparent); + padding: .2rem +} + +.md-typeset .mdx-badge__icon:last-child { + border-radius: .1rem +} + +[dir=ltr] .md-typeset .mdx-badge__text { + border-top-right-radius: .1rem +} + +[dir=rtl] .md-typeset .mdx-badge__text { + border-top-left-radius: .1rem +} + +[dir=ltr] .md-typeset .mdx-badge__text { + border-bottom-right-radius: .1rem +} + +[dir=rtl] .md-typeset .mdx-badge__text { + border-bottom-left-radius: .1rem +} + +.md-typeset .mdx-badge__text { + color: var(--md-typeset-a-color); + box-shadow: 0 0 0 1px inset var(--md-accent-fg-color--transparent); + padding: .2rem .3rem +} diff --git a/doc/docs/_static/css/common.css b/doc/docs/_static/css/common.css new file mode 100644 index 0000000..1fcb240 --- /dev/null +++ b/doc/docs/_static/css/common.css @@ -0,0 +1,4 @@ +.center-lg-button { + width: 100%; + text-align: center; +} diff --git a/doc/docs/_static/js/mathjax.js b/doc/docs/_static/js/mathjax.js new file mode 100644 index 0000000..0921248 --- /dev/null +++ b/doc/docs/_static/js/mathjax.js @@ -0,0 +1,16 @@ +window.MathJax = { + tex: { + inlineMath: [["\\(", "\\)"]], + displayMath: [["\\[", "\\]"]], + processEscapes: true, + processEnvironments: true + }, + options: { + ignoreHtmlClass: ".*|", + processHtmlClass: "arithmatex" + } +}; + +document$.subscribe(() => { + MathJax.typesetPromise() +}); diff --git a/doc/docs/_static/js/tablesort.js b/doc/docs/_static/js/tablesort.js new file mode 100644 index 0000000..3d3c9d3 --- /dev/null +++ b/doc/docs/_static/js/tablesort.js @@ -0,0 +1,6 @@ +document$.subscribe(function() { + let tables = document.querySelectorAll("article table:not([class])"); + tables.forEach(function(table) { + new Tablesort(table); + }); +}); diff --git a/doc/docs/addons/aspect_ratio_resize_container.md b/doc/docs/addons/aspect_ratio_resize_container.md new file mode 100644 index 0000000..d068b53 --- /dev/null +++ b/doc/docs/addons/aspect_ratio_resize_container.md @@ -0,0 +1,49 @@ +# AspectRatioResizeContainer + +The `AspectRatioContainer` allows his own size to be smaller than the children, which causes neighboring UI elements to be covered. +This new node type will extend the existing `AspectRatioContainer` and update it's own minimum size based on the children. +This works except for `STRETCH_MODE_COVER`. + +!!! warning + + You cannot use the property `custom_minimum_size` anymore as it is used to set the minimum size. + +## Compatibility + +| Godot | Version | +|-------|----------| +| 4.3 | >= 3.1.0 | +| 4.2 | >= 3.1.0 | +| 4.1 | <= 3.0.2 | + +## Example + + + +## Changelog + +### 3.2.2 + +- Add more static typing + +### 3.2.1 + +- Revert: Fix ratio calculation, it is clunky on specific settings + +### 3.2.0 + +- Fix ratio calculation (but it's still bugged in some cases) + +### 3.1.2 + +- Use absolute paths in preloads + +### 3.1.1 + +- Code improvement + +### 3.1.0 + +- Require Godot 4.2 +- Add more values to plugin.cfg +- Add static typing in for loops diff --git a/doc/docs/addons/custom_theme_overrides.md b/doc/docs/addons/custom_theme_overrides.md new file mode 100644 index 0000000..58ba63c --- /dev/null +++ b/doc/docs/addons/custom_theme_overrides.md @@ -0,0 +1,72 @@ +# Custom Theme Overrides + +Utility to make custom theme overrides for any node possible. + +Will register (via `class_name`) the class `CustomThemeOverrides`. + +The custom theme override variables can be handled like every other theme override property. + +## Compatibility + +| Godot | Version | +|-------|---------| +| 4.3 | all | +| 4.2 | all | + +## Screenshot + +![Custom theme overrides screenshot](custom_theme_overrides/custom_theme_overrides.png "Custom Theme Overrides") + +## Example + + + +```gdscript +# declare the members +# DO NOT +# - use @export +# - use setter and getter, they are NOT called in the editor +# - access these variables directly +var my_font_color: Color +var my_border_size: int +var my_font: Font +var my_font_size: int +var my_icon: Texture2D +var my_style_box: StyleBox + +# declare the custom theme overrides, use the member name and the theme data type. +var _theme_overrides = CustomThemeOverrides.new([ + ["my_font_color", Theme.DATA_TYPE_COLOR], + ["my_border_size", Theme.DATA_TYPE_CONSTANT], + ["my_font", Theme.DATA_TYPE_FONT], + ["my_font_size", Theme.DATA_TYPE_FONT_SIZE], + ["my_icon", Theme.DATA_TYPE_ICON], + ["my_style_box", Theme.DATA_TYPE_STYLEBOX] +]) + +# required, if you have other properties use append_array +func _get_property_list() -> Array[Dictionary]: + return self._theme_overrides.theme_property_list(self) + +# optional: if you want to use the revert function +func _property_can_revert(property: StringName) -> bool: + return self._theme_overrides.can_revert(property) + +# optional: if you want to use the revert function, return null +func _property_get_revert(_property: StringName) -> Variant: + return null +``` + +!!! warning + + You should not use `@export` on your custom theme variables, as they will be exported with the `_get_property_list` method. + + Setter and getter of the variables will not be called inside the editor. + +## Changelog + +### 1.1.0 + +- Require Godot 4.2 +- Add more values to plugin.cfg +- Add static typing in for loops \ No newline at end of file diff --git a/doc/custom_theme_overrides.png b/doc/docs/addons/custom_theme_overrides/custom_theme_overrides.png similarity index 100% rename from doc/custom_theme_overrides.png rename to doc/docs/addons/custom_theme_overrides/custom_theme_overrides.png diff --git a/doc/docs/addons/git_sha_project_setting.md b/doc/docs/addons/git_sha_project_setting.md new file mode 100644 index 0000000..4406324 --- /dev/null +++ b/doc/docs/addons/git_sha_project_setting.md @@ -0,0 +1,38 @@ +# Git SHA Project Setting + +!!! note + + Previously named `Metadata`. + +Adds the project setting `application/config/git_sha`, which contains the current Git SHA. +It will be automatically set and updated when you run any scene or export the project. + +The Git SHA will **not** be kept in `project.godot` to not clutter any version control system. It will be removed from the settings on closing the Godot Editor. + +## Compatibility + +| Godot | Version | +|-------|----------| +| 4.3 | >= 2.1.0 | +| 4.2 | >= 2.1.0 | +| 4.1 | <= 2.0.0 | + +## Example + + + +## Changelog + +### 2.1.1 + +- Use absolute paths in preloads + +### 2.1.0 + +- Require Godot 4.2 +- Add more values to plugin.cfg + +### 2.0.0 + +- Added an initial Git SHA load on opening the project. +- Removed `application/config/version`, there was no need that this was part of the addon. The value can still be added manually. diff --git a/doc/docs/addons/glogging.md b/doc/docs/addons/glogging.md new file mode 100644 index 0000000..4a61930 --- /dev/null +++ b/doc/docs/addons/glogging.md @@ -0,0 +1,115 @@ +# Logging + +Simple logger. An autoload `GLogging` will be created on installation. +Logging methods support formatting, values won't be stringified if they are not logged. + +Logging into a file is not supported. The output will be always done via print. + +## Compatibility + +| Godot | Version | +|-------|----------| +| 4.3 | >= 1.5.0 | +| 4.2 | >= 1.5.0 | +| 4.1 | <= 1.4.1 | + +## Example + + + +Example output. + +``` +2023-07-04 15:57:16.242 [ INFO] [ root] ready and initialize GUI +2023-07-04 15:57:16.242 [ INFO] [ root] initialized logger root and other +2023-07-04 15:57:18.300 [ DEBUG] [ root] Demo Text! +2023-07-04 15:57:20.452 [ INFO] [ root] Demo Text! +2023-07-04 15:57:22.071 [ WARNING] [ root] Demo Text! +2023-07-04 15:57:24.606 [ ERROR] [ root] Demo Text! +2023-07-04 15:57:28.793 [CRITICAL] [ root] Demo Text! +2023-07-04 15:57:37.483 [ INFO] [ network] Demo Text! +2023-07-04 15:57:50.843 [ INFO] [ gui] Demo Text! +``` + +## Interface + +### GLogging + + + +Logging base class. Provides helper methods. + +#### Properties + +| Name | Type | Description | +|-------------|---------------------------|---------------------| +| root_logger | [Logger](#glogginglogger) | root logger object. | + +#### Methods + +`debug(message: Variant, values: Array[Variant] = []) -> void` +: log with root logger at debug level + +`info(message: Variant, values: Array[Variant] = []) -> void` +: log with root logger at info level + +`warning(message: Variant, values: Array[Variant] = []) -> void` +: log with root logger at warning level, will also display a debug warning + +`error(message: Variant, values: Array[Variant] = []) -> void` +: with root logger at error level, will also display a debug error + +`critical(message: Variant, values: Array[Variant] = []) -> void` +: log with root logger at critical level + +`log(level: int, message: Variant, values: Array[Variant] = []) -> void` +: log at a custom level + +### GLogging.Logger + + + + + +Logger class. +If not log level is set, the log level of the parent logger will be used. + +#### Methods + +`create_child(module_name: String, log_level: int = LEVEL_NOTSET) -> Logger` +: create a child logger + +`set_log_level(level: int) -> void` +: set the log level + +`log_level() -> int` +: get log level + +`debug(message: Variant, values: Array[Variant] = []) -> void` +: log at debug level + +`info(message: Variant, values: Array[Variant] = []) -> void` +: log at info level + +`warning(message: Variant, values: Array[Variant] = []) -> void` +: log at warning level, will also display a debug warning + +`error(message: Variant, values: Array[Variant] = []) -> void` +: log at error level, will also display a debug error + +`critical(message: Variant, values: Array[Variant] = []) -> void` +: log at critical level + +`log(level: int, message: Variant, values: Array[Variant] = []) -> void` +: log at custom level + +## Changelog + +### 1.5.1 + +- Code improvement + +### 1.5.0 + +- Require Godot 4.2 +- Add more values to plugin.cfg diff --git a/doc/docs/addons/hide_private_properties.md b/doc/docs/addons/hide_private_properties.md new file mode 100644 index 0000000..d5877e0 --- /dev/null +++ b/doc/docs/addons/hide_private_properties.md @@ -0,0 +1,32 @@ +# Hide Private Properties + +Private members (names starting with an underscore) should not be exposed. + +This plugin will hide exported private properties in the inspector for instantiated child scenes. + +## Compatibility + +| Godot | Version | +|-------|----------| +| 4.3 | >= 1.1.0 | +| 4.2 | >= 1.1.0 | +| 4.1 | <= 1.0.2 | + +## Example + + + +## Changelog + +### 1.1.2 + +- Fix: property not found warning + +### 1.1.1 + +- Use absolute paths in preloads + +### 1.1.0 + +- Require Godot 4.2 +- Add more values to plugin.cfg diff --git a/doc/docs/addons/icon_explorer.md b/doc/docs/addons/icon_explorer.md new file mode 100644 index 0000000..1da7de7 --- /dev/null +++ b/doc/docs/addons/icon_explorer.md @@ -0,0 +1,57 @@ +# Icon Explorer + +Browse and save icons from popular icon collections. + +Install or update them via the options menu in the right upper corner. This can take several minutes. + +You can remove the main screen button in the options. + +**Available collections** + +- [Bootstrap Icons](https://github.com/twbs/icons) +- [country-flag-icons](https://gitlab.com/catamphetamine/country-flag-icons) +- [Font Awesome 6](https://github.com/FortAwesome/Font-Awesome) +- [Material Design](https://github.com/Templarian/MaterialDesign-SVG) +- [Simple Icons](https://github.com/simple-icons/simple-icons) +- [tabler Icons](https://github.com/tabler/tabler-icons) + +!!! note + + Downloaded data is saved into `.godot/cache/icon_explorer` to avoid importing it. + +## Compatibility + +| Godot | Version | +|-------|----------| +| 4.3 | >= 1.2.0 | +| 4.2 | <= 1.1.0 | + +## Screenshot + +In Main screen: + +![Icon Explorer screenshot](icon_explorer/main_screen.png "In Main Screen") + +As popup: + +![Icon Explorer screenshot](icon_explorer/popup.png "As Popup") + +## Changelog + +### 1.2.0 + +- Require Godot 4.3 +- Make use of @export for custom Nodes +- Improve loading visualization +- Add Icons to Main Screen (this is optional and can be turned off) +- Add check for updates button +- Remove editor toast notification (access was removed) +- Focus filter input on opening + +### 1.1.0 + +- Use editor toast notification + +### 1.0.0 + +- Add icon explorer diff --git a/doc/docs/addons/icon_explorer/main_screen.png b/doc/docs/addons/icon_explorer/main_screen.png new file mode 100644 index 0000000000000000000000000000000000000000..100f901e90a2093860ab5ccc85d75372e9397a31 GIT binary patch literal 304068 zcmb@tXH-+$7d?uViwaytAiyxASeh5O7AVwLMPHYh)6F1 z0)!p}N$8Oh0trc8{QWjEwB;bIv|{ueJ7EbItSdxt==X6^<)(baafG z8cz-A=oqMUbeCNIx=d@am`VGG_I1wJKwXutdW>_E_T!@CW8KGebT#o;&t6@k{bume zF!!aSW9s?yIoI!5YDY&$E!KSc*yxS*&eEk27Q*fR{Sv2G<1aTY7OR@u+Tyz-1$_h2 zP2Q| zU&ozk4O{g2e>Kq2g&V#5&GVlYy0U9ORsP#z!2TWb-eg-g_aD?IE@5x{Z9U?*_ijkGkyJ^FdO92W zpZ?*NkMmXE+YO}%*4huJ3Abt{^J^|Ny6*xE;ea|v^X-W~?wIT`Dc?Rn@PnXJ)(6j5 zl9t3X?`df)Gr@;8L9Vt@EKjidYzfAakxvKWUO|5>QiGeR6jCvmuxIe~y&;GRAr2xU^`Cr-d*UJ}u%6j#U%{Dqf8*U#9d0A(A0jI3$b z2vOH}f5)^;kK4SCfM{W-SD;s_LZe&W3o8|OH{CW*6*7MP-Hao{Pk~X-9+9{7Nndm9 zV8i{jQMr+394Fvjywbr3AZEt9up>|_UHw8c!$j9rg8i}mx94)Vh#41YF7SUJNv2Lt zrAo)MwmziYCT;xIG<-wSaZH3K>?B_hb2K7_m?dcCN{^J}D>D*;D(EsMyH!|)&jMW* zwAyf6x$}*Sdrw@(+X6ie`Nryoaxa&791R8P4eVrlc1qm+W~u8EhWo$oMMsxFBvVMZ z$zp9bc(=-KCzS$ro-F#PldE8Sg-y&2EsT#5rh5Z?2N5zk@x+#j?gWg@UcdBU`vQ^-;0 zSo=I+v{m5eBW#!rTEv2k*W5SGE7m7CsGO$Q;$j=6Y1JvuZu z*BSLa=+h5b=Ixf9<+Qu`n?s@8yPU0*3-nCV#qSjl2%OqtA0%Y6y@LtC2PygkR z`b(|;yMkhRPQyXE^~h8IoXI=cb<4pO$TdTn(`L%Jrfs6|;}5?mB2Y$XVXlA@=moNp z{Gkq1c}b~Sk?ghw-W)01u7o~De9cee_s2{ic1oaOF8bc@+3{gxN3N+U1U=LQxvny| zlZi-__v6Cv=WNcqeeFc=9feMQEtZNul*`9ebaE@`0k(r0M)$V1yI%KRIsAtR7=J}T zSwN*a5t(ufKo}Nlpu(~T|94<~WZ-n`t{})IU~`hM4W~6RF_9z&QUGsYesa^bThn~T z@dW{h07Xq50#s$c}WsjPm&rcr{72c`X#U&L6+^p=#Eg!F@=?%M*tN~Dj9AM*-) zl5&}P;EaUnj&i6_Sb}#b_#LZ^di7N41to7@XI_38{1a#`86QCY)G4U>@+q|9x9F? z%mIzCi)gachEkm4>~j@UCJ=Y%Xo_;YMT1Lfi}4;DIjuDU#=3K*QWyccd|*p;L>Isl z2S2m`9t`jvXZ%2t6o$)l4><%wb+A$eP${lzp|F8A&k$Npc|R*6 zLyjiY`9BoLuTvKD9?N?AaV>40d6R#-W(6uOB!=WZNheh#R+nPz&)T}+|7i%%lGI|#Jd4!ea{&KoXU<7~BB zo&lkH4i8tj_k4-|fTMjGD;TuoWch0GFpje9{6$>sV-RlDqJN@LyWYtakxj<$199`$>567~Dl2s$*_PTjWe3@MUuecaj??**l z3LRaLY&E6V7Gf0Kv~`l#j(Dl(FKdG=ciJ1?G4CDCe=J|30CFjOC0ezE<({2)qG+K20)uio1auN(%60?D0W*f4`b= zfwRVN$3d<@Nv1iY2Jmo1>UefoI%7>tQt}{X$a<*kFU*`$wG^jm@7Lx%tgzlUZ5w(} z|BrV5!N*VDjYV9&eA&d&?51knod{GAs$K4Knv>=XY*1S*9wQXMIV)~ z;cIeSz(c<5i|G>8sHISle@lB6*b3Sb>GVY>!ePD=-=MJrW4O z|64d;I4ooF#vwqvym^N4UxrQBNi$KV&6%ofU`lY%Why6%whOAAc&;Q}m~_P40=zk> zOhJGFXUN8o$R&Y;m$|9|(2O8I>kh=1V)~sLZ{+hdm^=;UxW{{YdomgKc%wrOKbKuB z{VD0*Hxz%U3ZJ!fhWl~(=PspBkY!$Q$WEcgLbl*asa-4H+zJP%codDEk5f-UO&I{>({!X#OB(A>O$dD zg4HX~wcv|%@V}^PyGu?UY@UiDE$7L_xSnbI--ZqLr*VY`*qka@cC7=HonYDI;*i%H zP}lVWY(>!hAZuU#Q=p{9WY?t9>=n#8Tjt-i}PCE5?nwm;x}Va81GsKXXNS^}UZu5(3ui<>JYy+OQ2~IwtZF;j6BMV zkr(K%{qqu$+uCt(Fzih;ay`1=c$9Tr|9$bU^Ovqz)sj9Ry#?^uM5FG5(uSuIH`dO| z3TtgQ)P445!@xQR<1gdD8`r*7={||#c&0lR6Y=k5Z*Dj}Jsm98t|=kV}i{JX77pDlr=Vh%)vf3Yj zHy7rfwEg-8`ym&)b=8P+!2_h1suDP#;;TCP=EA?vmCL@^^Z!V>R{DI@>bm~jiH>fi z@7c+}@xq^cF6#eVJ{J~rHMQN2@Sjo8t`f%pl}~(*{O`+uW9(76Q@2Ear#R=Mf<58qGxc?qfB(Pe z^%vzFiXH+kqyK-C$o~KLIO6Y9Ka239Ll29AeurD9y(N?7YQ8kEmI&~5U{|&a|23SB zx`r0QIX2Pbl1**Gy1D<)KBciVS)?t{GGvr?LsUV#+d`Mmv@B*doxcjm`hT8FgX`?z zmQc{(o_=je(BZ%Z0$P|)`=(qE>3BE2W=&wAd7ov}%jNj2PG7sDwLur+=U2Zo*QU>} zlXJhY|C7vGwaHjcz5!g1i(T5T6o}aZQZ{-d!DCkDjUn%WnE4hs;r&&%UmFvJwIRJi z>`HbSJM$e2pY*RWQgw5r&HFxaImWk0w7}tON1I3=6p(rLNsaRf4&K={D23>{ztDth zUL{u=w!s)KQ>G!|?48SgWHGDuJLnKn1hB8zYEC1liDWrRX%suoIB`A^S3ll47<80_ zj9;fcUbv_60~@``5^dqDw?q@Q)2oSp|L|w|`|mrVSu%~pGrPsek2A`)DX#BE5eS6e z)@pAoMz%pHK?Q15Wi?Uh8}*6(K4{+WIAvJRoHSxsGMccf7%*>}kkHSw>EHn-A62yU z;#2uS!5<&kJW;)JQ|jC|?HP1cm`t%|_Ok+gXcBolZLs@u#jn-(SC4`Jn{HGx(;JLot=N%3rB_4q ztg_`GZ-IS$re+z^r8cG%cKKOumaZ7qA#IpWrrpdA;P?-9MW>PD2n{hRHz~W19m`D? zwQQQRHKb?kUYg0T^4py1o|hA|J%-D=FW;M(z>XfZ`nzaW+|n)fDZT<5W=%uR$1gj< zil6Py*C)U}Z)*?U=q-9l2{EW}@c$@cC}d(<@aDx}hD6~=CL36V#hbKM$2{sv07JWW zB$}-y-$!cI@N@C0Croa7YKYw3Dq~xS{Ke^5k zp*6VLTl6YIAqjZjtkGSc5^HHlJjHhmWDBUqu!+8o+h0edtNTPnWjSYgYHsz;VG-&J zp-nJ9c5=~PA)xqC>PW5ogka+Bqxs{C>NB=1-srPM5;%xB$7bKJhvOO8xqJ6uE^yFHh{%HN`41H_1Ox2^eXFk8bJ!VnOQnrORAP+O4xUuE|X;;SjW-#ItO!Q z(yDNoNkdG%$FwSuJZF;^iqSj_mY-hT+YL@H<1Z0lkUl$Jz=e(so+~DRw?3+`=aG0M zdl;(JiAS63)ryMQTR!HM;zPhT!T>!_=sliJYFy+z2lIe!ZjCcItW8*~xqj7|Tqs5aDdJI<#P@5Z`w2{8Ii(Ca zdbHT$qY1}#rFq0FU1xbPg?c^kjdHNH?K#+rzdh2-F^YZNVtrVr;KSO{mIk8K*n;Ln)FtxJh)5l7Chv6V1|BW+qzg zrP>f}^tf%8-7ZYR=WJPRXc%O8YO|VrP5et z)16x$S^hO{a=H4w$s(kAA)?k{SD_A(%Q2F%tK-8KMDi5FfsGB5y_qQC%OTB7`FQxcwPNqT-d=|?0iWiif znOk-&ftC(ohs{90(A4d-n48XTnrOIaTtH~3IJUFO#jG5^W>AZ_^&$S|W+y%K1&jO% zNhi-}t106;`MlO)@U_L4*~ZXlpzONShLA5t2WArw-I?8-hs3+K!&_AJt)%H-{VpMz zP}BGe#o9O*HP!gfnQQjP5>oouLd5WLD9OGg{z|O#U0%^`h=S0NNNm({0B%`W*c6^P zFv(YJAIo3+s)wIl;q@n@3Ik2+(0ym~8kf(05Go7ldi5wiEG)VU@=VZ1%pm5b&;x)k zCV}y`oc6r5bFo+cdD!?IrfR`%f7RYcOkw|RXOR&_7$vLm?(hfGw#$r{g*cj3THBd} zQn56eI+}I77Pjw`u@RNf*Qs0EqaHUfQP^K(-Jx)tF)KZQ*CWV{vJJQ4AP+qKAqXRF zLk|ykkTL_NEe2{VNx{db z>7$QN3Cls2s;cjH!M$nY!5eF+$`_!plYN1p%~aGV!#T$M&2ul@dzFLJGoERc9U(Oop zD>=Li|Hyjl7QcAM?;M>xN#nd=%q4a*&WuG>N07)qa{)!q#GO(C1;6Md5-m3;=SYK$ zczcAW{otfM|IHHIN8cOwB%lnQ(BhPoj4n-mj+h*U&?qJR&Q(dDqkj&Ujmpis^ZwLn zR!qDJxw&h*ek!J{f>s0ba8Gw4@I7`+6n%VVHE&5Gw?Ya?w%v~(Pu8kQ1+6ut@3vGI zJ(kMt3hQV+@Qx>pTyp6wqF)=!Q@rh~wv$=sSV{ir0<#gdY&3}D2D&hB2LFm-I3GM2 zyJ8)-ALN^8g&D~l?G5ADn)KhJ%xoW9nQHC%`<1+XS`rIqumw??H#%2oFpl^103*SA zJ|ZGwRAF1q6UA|6czUp&>NZ!Kb@e8^FM z7RpA!HP@p4P+qZI__`bc{m6@#9P0XEIqzh$HD106GY7VI?N~@!PCEQff7g(uWk(|E zntsa)>n4KHlD_SgTq+s|#_o6SUh3ds1GL+}&jAE{h5C^?~edAX|F~3k9sv$npYwo(QnRnrWWZY z_g!4lx+N~er*%`R=eDeS+91+lXwqJI^bDniS`Sw4dUCbaxcs@^)>I{bZ|tqKm2Z#C zYkV3it=q;pqbKZ3L4{dH)ke!B**OJqpoBG20cdI2$Qtl4&nI|&{!-@NGq35ND!`Yd zL99)di-W}_o$MeyfzVVE1Nd4&Zy@t`vGJm;InPROYbZm8JrzE`b@V>=R<@R}l!G<&!pC5>7H&JH;Y{SUCg*9@XK_T+G`N|ddK`CZ z7nS|~W+h(SQ?$)?uRRDe6xK0sDg1pjx9MAm-VJS=?5c&v;cwkfbdx8EfC_dMj%voY=x87giu*)@;Th=kikjPhr!mVmvmp-m)XO3Z-|!S4-SyzIGH` z*VPIyB2g?G-DKGQUM79(aZoW#6$A|#*%OMUdlk?V#?~S0{&my>`l{At|7d-2t*nR6 zF=um-mpU8eRFw$(#Yn17*Iu0~U!8QA^GMjf8aS^xj($_&n6&L_*wVEfx-?SD%p)?*X)?MN{~qf0lKEM2mpVo!S>2$Zk{%a;WYR| z2s(IT?U<{^@_G$5BuO`zs$)=~#%3qe{VNP0O-vuP4m(e*QG45R6p9u{=lmdK| zAZa2s;x~c5$CYl2^=h*2bNr-Zo`+Se!3XV#=}Dbu*(Re!*0~m#cP8$cw&WG_uOEup)ok{LnUDv5@Yc0Ov0S4@W8 zqPBr)hLbSgOYE^Tqb_~xqBvp*R`B+nR1aneL~$xx^Rt*})ui6;*!m5%sB@@NI{qOg z=``@r_cyM@8l4q!paoxDf~yMls z@tZb;FV4`vfG0pmqo~(=RGOzqB11A4XU3;i&OruMAoxUjo@P_ZmdYcCksNn@|Ik-} zQKV3nQHkj<&sxfxC1)oQ2&Mga+@7H-+JtVrA4#(DbgmTVTW=RQJ;WyKH8sSW?9F9=-fpHEF4##%#^)UXr& zCon9Vx1}H69FUBZd{J z;GS#3?g}PY)C_C6QT6?fPO8Oa^LWw(Jud4?q*lck{tY!ZgKU+njw?*P5~|x1O7QPM z8nyZ{)46nodH7kpz7TG~T1QLVFrGzFJfR4p-KsYh45%-@tROc8{o?lU-=s!OS*1YfVKf-Uhfo%WJSut#I;dEj|l{BYAd7 z_I%9mzt%AQfw_v%E433WM$B=()ka`OTkS8Os(QVB?X&qkXs+$`TlSe42wxUjOpy(d z!rDVkVC|tKfV8n%gK2>pl&$LWsBGBhM5|(9&8QLc(XS=i9;qV03;uK8V>R&VT`4nA z{p4fxSh@o)K4~Bhv0$hs>A;v61ELC4DQDj2>a=_?iso_88q-Y{>i|aM^UQmi$jv%2 zvYqNzP+dJrQOYK3P4wDN-}lkrOoYHihwwT>^cT#dXGt_ zw2|!xL5+FlQA}vjgkW*f16aZq+U>J* zlvvwN%{&P$95i^DbS^@DpgyzOEB7**at2Pg#w|O~S%UoT5Nzdx*=h0VR`v)yJNcMF zaV-|rWa5z3f+2ETLp#rYW#DJY^w(r{&$jkCcaP4m&G}-pW25j=rR+Dcs;_MXEn!8@ zK)lyq-ZB8?8nH#u0bSTH-b##1ry7;dK-f**ogaoiD4#S_9a)@Sze)uGa( zeSL$i@hsd&&zSG`!wwfZ8aJHKa?#+eBS97+KLxUnY^B^vfqKM}rhA;+zhWDQi(kob zG7X~$Ab6f}_$Xz6+WxbJuJpm~ihC}llu6l*k6%B)qA%E^s+W!zO%;4Gp8${6ADC2r zXqhGt|hmX0X&+~ZYMcu9GD%&`|H^Il70_zlTTb5V4Y+%7p zJ&*u`?pF^p@J>8%Qnxlb@<;1KaWP^DyyKwY*FfG9r|kpt+Q^mxgX}Cpv#;Ti7i~Jf z=|-ejHhCmR&@<23hN#02#H`y(7bjY5D`C}m-@-M&`PBYL?Y`dww&mQUtL{}=bo5Yn~7C#vkz9T?dm_F*Ao9hwr}{u-f6adS}oj+w%JRu%^L8_uIM~ z`W0upX7Wp0R8ZXBqDXJHzvN+#LbLuD6v%6?nj9e0ei_Npxr~mSk#u0V(IxF%)juFW zd0YLhFluM3Yf=5mOy{V~Sg@{CG$u8viYGZsKV(foV-5DE&clEbhvGBz5~EQJg+XU7 z%n%M?IyRnAN`_v%m8GoC7O#3>r3}KDGKLyGF>vQ@N)w1~7%Q>ghvG6%IfE)1(m3Kn z?bGh+wq8pr)VNf3=;o>ES*2|yePT*Y?Mzavtu8{O7*7`I3Ur@pX{OSvq}&kYuEn;B zcuuDoY;W>Z;)NVUT{!@OTNyV?=awTMJh}30XdjsUYiFp1)XtH5O9F;C(?D+yFX!5?O8I`V@?k+l<1?9+u`tU2pJ>^0!cx9a9p0p)RiV=y_HK z-4~X#tAFX(!rXIylJD)GSoxkHmWEO*_#QqSxA0a$TEVS*vt_nZ1vP*tHeVho142%| zI^USt)XR~7g}B}Y1QRk@&IkXVAXDZyyS;2CWCt2rEOmSNF|kgFJ)qCtVoQebG}pXU zjfvz@%6M?bLCK8!&+p3%At-yTk9Mt{&|JkO2UT0WW}oP3sKC9|nDqcAj*5^VTT?|5 zvoGP!{2FSxA0?aEtHfVLJ33EvfC<(U^~thjDF*e|Dohl-RK|0jpCYx{Y`X+B$vRfz zriXHyL6^e1&!6fZ4*ao(l|AU&Cq-x*>W|xJhefZ7s{_%_L`OuXtExSNx0ugl=gG)RY#_E4vdHLXtLL-|K9#YNkQs9 zJtMnI{C=*CD=HfiHTf0#goHPX)3a<7^PZ-<&goLbYAc?KnKchAw$h@`^tpzQ?D#pX z&7dKo{biOF<@Xw51e`eT2aNO9H$|Zr!XHPh7n@qA3*-gs(Nb9FxQ{gAdhv{LYkPhC z)bFHFU%9E@>Nc%1-$9~r#G~?9TI~5`etvyqe;7@RDLv~Oai4E+`2&oC_of&Ct)a8Lbg^?F>TBaw@}?(%Tfgv!uw$MWG{@q3a4i=BL5!tdo!bB zDFtgXCooW51?Xo+HgK zo%?Z(H}d=6U11ZtlPM)&=^Ch(&I|rf?=~~LEnRYW38)tc?w5saPvtkvc?K%D zGB1Ae#fc%d7t(-74P)1Dh%~qwC9iy$W!*Cx8|QSepiwl*uvAe>eL25C<+XjHFt> zyJywH>!`dfn)q(IRs#>N&4#_*R_1WYIyBBR#?urHCB?%VS=Fo;Qcbwp-~9Bk-kIt? zthL>AM&<&8Cj7>}>S=2nWop-Y43%Zjz1+NIu7kZuozYX~!y@>B55Uud5>*#b`5;SQ z`$pNG0{Ti^XI(7dpE7#MbWzJ!)#t-#dvK-7uXjn}Hp>|o(pUs2j#-uyFk`=vr*E2_ zWoM=Cu(AP5mAxnJf__uL#TL^-{B~yTW-pwl3tE8v_ikj&ULx6#?K8sGcTZbvNe`GhF@#*#I|abHwLA z(Mzkx8Q!tqSY}jml#ytX>pEYQ$S!8PyC4kgeE4$ZC5y5m7b~B3x~SaR(x%!64l$%H z?`=8v#{NECLN_&g$0hOQ*kX``F*)Xk_lsh9gWK|yA2IVE+1GwLbmKoSQvI^V)<$^P zmgEAnmOxI?RLrQ2lZStnZ+DUPcnLgz(pEkmc#r@{s2EkNh=gtTh6YQ(g%Y~L0kU5X zH}-F&s@UvYl}e5vf#uwZBN^Y|@a48Tfw+%dmLG6GD4-iTaE(g-P$`E&{_fLQt@&#d znE6Wh3TKjp>zAict;OD;-q2gm)5)&b z%uU5xamj}Cfm!>nifyBb(qEdwR(UYT1C7Q$!~|iDU7nk5o4<-Chak84@iJsJ4u6@q z-=Acs4Z)nL8Qyzi(9cO#bO)OFM6rV$a|45Ai;iylz9zKe9?dGTrfYt)Bp z^;cdx?U%!70-TckuBy7IK^pDEXSsI|7G%eoQIcWQOmY{5pt6(1zWHA>$~HN!FQU@d zhJELmA!7$x46FI${@B8|8n1l=q_l7d?(F?+eo6g|vcs~{PlI}|yMhL#U+kEf(xd}q zg4O+QSb}uQyD03h{Uhw>VvI2-hFascDqUw3$4ZZtgzFMZU-Aog0HL@agN8mE1J^Sp zT&r8~^?}r|On_q^r%KQyCq!4TLV!EHOl3!IsW!2i?8~^*+go?Z!95JMw8@Lr9nh;F zUBU!hBFF81PNUJhv~sY*U>cH@Td8)5m4eiIcPiu{dH35iOZ;F#xB9O$0IuI)2`XF- zE6x2{pwOu@Z^Sx9gY7e8>@&_EX+l~*Au33lCe-mi5hq&J)70*dtwT>Qoo>bI|JqmQ zN%~WVZ$jgJbmQaF_Hg)z-PPQ%qN#PTbte@g%n~>UcdzV5hiBuk)9Z1ottkD@mK3(Jq)1hb2hTtlMq+ow5(^1m9%hw=V z_*{Glbcjq?;%y7WC1S1L0A}6>RJDJ3^$qs<_F$k5#F>eE`&>xJ5PE-(4Osl5=knw> z30`d2e~h_8ns%L;H&p99*}CnEhtTLPiP3?PTsic`^IXLC;D*5L8PRp@GFltewwEwL zjcX_&#$6WgB4LIz_I$SwOZ_hVUZ&^C#JuaIY)J+6276v+X1|40Zk3~@O486ZYn2dQ zX5gDH_Vho2#)}qcA}%w_Omp~waIJ-PXD3MUKV?a<&>!QvpDSxmnv6wc#+KBd&IT@% z9!`+-T71_fn}U^8vqf~70vE%w0e=;ptNzK`pP_|ojbAQ$abYtUy9@h>iaa0QDo%aW zq+UD>B4km*!|7T`)nb@}p~(CF3NF6)^{~RXWj&Hit-(m6H00mu+_xuVSC76GM2)4$ z?pM5ppSaDnPIF4@RvHTE_hnI=L8Hod?wnSO1O_5Nxy2RJf(W`Vdx35A)D+U$apVLE@g|eEX_Rt?o-kwUg0z4561LVkOJ--?b4)saTb8n; ziK?mbJGY!oo<=>+mNT(9H{pH!W8MGQ3L(|clr@%kcX(as($94cjeLb%+Q!S&Q2wQa zcL6l|`j5&hyv=`GZs{RZ$gU-1Mp`taFAH6E#s=M}W3yF#*L_@T�STO5#stp;Pi+dAC{3cT(~{eHEVY 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

$Yr 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

jURGC;Bs0s%hdf0F#zNG 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%0AH28DCl3N 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 OmHxW7pb8|={+JK zB?1Zoq$3alp#(w#B&56@^!)Dsjr+#?-+RZn8G}Lg-r0Mtz1CcFe)F5(dTn%9oAc<| zqbw{eoH}j)Qui z6*y-1zGLOb!otm8_bIujV>huGT3U z&@$HK6tt}uA7AVBg{^rMx>`9meJf0}aCYrDkxGNT6xplVMa_mShIE*M1P&sbg*32)nYjfBy4f5izlzgyMs9 z^K19vPJdJXVxIn}AQs!HJ2!T9Zf;d`gN=FW^C{7bnY=F8%0p1*AU+b0sjB& z9%LTgi{a`2s+T6`By(|hLWle{t3#o_5FR5_syMuVJ4;0?8h!FpRR@vdDBX!aEC1{J zGjpLdyE)_XG*@1@_taXW0SWHGd=$%d_IRJCZ6I~g9++k`t~xb3=*@_1>ie^W3RuPc zAI#!#@D$ei4Wl2J|OPRXB7XgtQe ztzOZ*)WYDb;^Rx(+uMbrUaqdLgc&HKr$0;8KyP`dW`*H6)fi9-W&AaiSoiT`vA&rXD&c!MKHb)NtJnG&qfHs%7_K3^HeNG?hcak& z5Lr(gn_a1ew5ciL zcf0U2j=FrZ5XNEC1I&9qZ)5oAh}%ox)t2VwuW5wfyK9ygdDEvVP%^RGzB2*$c^1|# zG(G5Fs-09B;eajv;&s#}y6PAVWZv-J*h?jaLL|&f@@IC|CW>Z~7yB~wRz}JTJf|8d z1r@u+rJ(5av)(k)D0Zx95*Qx}7hSq;GO^}ui4X`f`8dJ!`t^t>p`oZ+53Hf~($7zM z^ssG>8tBTE@-DZD+VX6~huVOkpwwGYT+1Hj4ZfJ(${@V`>$td44`4d`d^~e=b1U6P zWu}UXA6gU}-AK2lUoH-}9r6Z>P7ZWh^-9Yc87 zXOy96M=@9`m6nmY3w7Wn4mYKyV$IoUt@InLY|zfLREH)+t`t2aI-h^~A}L)lH7mv2 zK^Cn?RnHQon0@fC5E6-EP&MzaO-S7eot8m*MGxkv))KU7**TMK4lg037>o9`VOdp0 zMGFSOJl;I_=Z_!8i{H|chDXb+s`zh!X-|)GarIN0DUXvS%n8S~b#Jseu=?^AW@Tm) z>E@p`{1)GoS$?{?V-rUj05Q4=7!-*t?}om#66VVW<()n!|L8rITDmq&hHJ^7QD^Dq z%9k%2$v(>6cITwI2^?4nGRbvd4GU1KaUfka%NeV3iKA|I3B7;-!|)zvq;#TOX(yUs z68v7?1Pdu=g^Gsmg2z79-$H(P22Bvcg4<`Ncr^J?UtV%_PSlinmh#ONI7FuwcwnNF zRmw(=c#nGU-J&Ietsti@BswY_koGg;I|M@F3}mm5=(r6Bsol77qfm4xMcPJR#~)c$ zRb~H37F6Ouds)?rW<4y)TiD*-PQsek_qQC$RY_5JgbmWLa089ifk!IrN|E60t(fTO z-YZA1hs*2@Xp*wjf=w7@WoCA?Oy)Gg1Vu|a*(ves$z%YLe_UofP6a&pqYzHe>mN1jT(ODatwQNc0v$&;m> z=HiFW3>1tu_w49Ui34ZV0OUrS#13!iix)4p`nz;%gp?DvT#EV)*Fbw@ct{}5561=F zjyZvQa3c^`&+Je{qVQfOy?K$!mwJJXp|BT=;*d1O+|t{AtDJmBALLMLh&-t<32iLE zzvP97*w{Sa9Dd2E_o-K4QkG3Y{hz%~c9O}^{wih>HC%s5CD?2ruAMwf#k(#^wpg2| zuptm40XNkQO7E27S_h{F3++oD7t|V0lnhKx&Dw?dmin7lc=fmeFh%{L{nBI-6~Ba-AM73FSjcdi~6=XcP!Q_1=6d4DS> z$6v6yFuyQV5GuOppD3camUysA4Cg_3$oX-Mug}y&;<^p|{`$zhvS-k3RR->E*tWu7 zXzI>~YAY-7w}HNpD2JEfE16Id+Ygmdhdvs3&m6OwGXUXV*&Z7J?QEJA574KEcT|1m zI)dAG%MDdO_R<@gA^XwS$fUR^72cIxD)ydN6YvQysw9K`c69e<7>!HK@4!m~cY%}W zIw2^vr`q;RZgR;kwp92{Ke=(#pl9h{-r z#jjv64oQ#w*;(o)3XJhRo&eB zTD}adR{}1VN^ZZ|F-mCHy`v9%_w%7M>Y3=pj*P*VrKU|OZ$jMOQCnwahkRS@)z?$G z)+Txhyruf6m+s^B32%f{ts!)b($IdWujd)Bc01n{mlMCR;5d|+6xGxu?=_;iEp+XX zH32&}=dAm()L7lNaWXJZ6J2b*0QQbYmf0Y+Oon6}Hjry6+rC{4&*Z92_R8QDuBnlH z{MV1_C zqT1B1qw%_yk3K@cLo5fV;Q`8J4_-l#W@IiBe(!tuoK^oVX9zv3Y~rIS|<6uQaKLPutVDSW5@=-Cev^3@z|98W~8iR(OE#$*K-rlftD%Ht^>FLVQfoc9* z8(yp5?@~z1;=B^O-F89#$rGL}RuF1%g?zCCI5RUd-}$YZ+`^~725V3rJf|#-6+I^( zlUbeY(}JOc=X`N!S7q;w_zKDSoO2%JSd8OdY*q@$|EUSW(?dB_@y2ZpW&QQlZ4jKt zevH5|CZnUHv$zklBJ^_C>q|ErN-a1A=)+AVs>#wB!bGIHYjmcv>2CEV#~B==IAG<& zhld?~edafx9q5pWQ$=;f=D-{lX>jZ;R!QKO3BPKf3HMG8;fD*45Y(a$e*7>U!rRf8 znBcBuma3cb9qG~KX+_2BPC1x0L{aw0ltpOQ45}&<0`k6Wf^-R*HG)B8@oNP$vRZNL zJInEOY6n;f0Tz{)x2!-`z?b`$Z(1aYz-0MT%&5Nj6b=kvm8iu(*`pkuN_UiV^oZeFFmr{S-C!=G%L$&2&dxD(^li>xMv{8g@C}6E z{Uv-5hVRND=BU2*)qIUI9BKI&deRsj9?JPcy&TNp0^`+6H4(>^eQA?yejlyRHk#VX@@KHS7!>J>kFnq+KhD@uEZ1 zs`2qlHE;ZsiX(VqGeK|)4`lDusHM^v*4*>wO~lJS*prdPf%qvgX@pnBz))M;jmChr z586_WMUj5Qb<%tLU!ZP6NU=-MShG_pzcP6>g`OYl_=hSf!=jlECN z-HdF>`Eqb}((HQ{(-X?4&xjhn37JM~wx*FoiF2hYLIDCWR_B7mgz59pdxz z^UG8j3>k-Tt8Aa8xm76$q}7*LyvB*xAMsaQL{{}m!zr???h=y!l&sx(5WVvHBE5A3 zSfYUAfUYEvBtWG*4O?_M^)$5E!J5Tsj3a(|O|?JI_6N2XTNo+2s`|Hh(~e;G4qxiK zc!n&oHdZMn&M;UVIo&s95JC#O-kZD?KhU~cXc?)t->9xEUuvd%on7(ss1J^)T7i&X zx9jpMK548NN$jaE#E=%pfh62eVQh8!nirz*P=KgoVg8&cN(RjRcn>skyo=9Nby z!zV@tmuqc0>Yl~rTeq%Gx9lwp4IonvvT>zL?>EyuQNTs2QwZiHA#uMESVWB0#=vsr zz~*n>Nc7ylz%2QG@PB|}r(73khku`WVv&iG%yQAom?SqT`uzct9-Y2_K&EZ*(WY8_`{~vbap&>Z|0yv7ieJCa7o+#2m`n#dZG>K@9XUy z|Ct54Ng$jos&opld0>(V_|2YQ#gBCK^oBexO$9!-cG6ANCaD-0hzyf;nvS8W%(1ie^1u6b>9zzBjIh`0O$mV2 z*PB*81cGZFBnbj1z)gz+9Nyy03v89Sx5Q`Xeow{wcg4SG0CR!H0Q?MUTcByd(KZuc z6jxFuN^9Gr;+8zVNWOgC($XSxkT2%H=hWe$n8eSht^wH5uKlO6 zRGhvE?Rh9ro0FONVP<9I^>@5XMFjvD2OE+gAis-OKP#&$uLQyP#o{{OnJi!5x19(c zk#>TRxAO0IKS$by`A!bpZ!{F^t&(v%p6Ju~?hrLjyAA+7d!(0~c9WU&r3cAHYfr%vc(j~r^4)2-I z4)pi;-@W;4nDqcu=dNzb+l)G0YwPr7E!XznukOuh{1*h@N^9gldGep*3MD$hUb5lm zueX?4)xf_aR;QcdzQ^hPPJ<#I0>PJ=b9KT>}ti7;0c1XuiZ&cPi_RX6_gN!;JiqF`88H3l#be1w- zMyL@YknS~X>0D+xEFfl!_NNu&$Aa5(ZHoPNW zUi+MB_C|6TI*4-gmk`rgc(o~s=nJj{N5OUom!-iYpOT6k3Ez|nd!Slg7&|lH z7B#hJxCpVFyf}0Jk(7ElfN(T1cg@Pv~!eImp0;Jd^&G1-dYH`PW5+y1LP%ZKeSSvr{bKl)f?? z!UB)5xjKpVRXLIK4+64LP&U(O19Atbn4ph!N-e3{Cce>9_6;{6WWO{i%VyoP!{stg z0s;njWz3`JFlm6s!2e~d3Yg&R^78$2Z4T;14(gS%ASk`* zwsY83u;SWJNhqz!qLo1t0%j71OTN_sUoD{Joeom5*C2alzX^Ab{AN>aBJ^;y^$zV4 zvLu;6SB?Z9OT4B1z-foxURdzEI0DlLe5*wRL)|EDOOh0`*U;41otpGjH&~V%NZ3=S z8MYAemV>EkSNoK?VED&U|AtQmOv9T95{efH&GSxdn?mk!;*!mF2HR)|9h^(&$pLH_%58c8^j*u%| zLiK?d`p!R6@*jz8jINNtB(}!sM{dEPt7CPJQz>?Zff_X%+13G!na0@;7f8 zNPFclK3<>BAw7pDhcUxMMB?&;XV5KY1IMNJbYJKIy>fOGuV312khLyXpkLxO!Z*`h zlmmTeEfeP@$)-cgKLm&DzF0j%P%QtjGG?{sTX(SA#=Z?{Cc9pA3e_|}qF9)M{Bo1_ zG7^IET{X=L)v6?fv+P5sVBXMmN1OnY-; zs*)zhK5cOD0j+$-ESk1H%ALVgMlsGT7FeQ2LITGqf!~Cwe04YCwnv|mzjCeV>)jR3 z;V;~?v4v*2ice-BT7V)_s-RZT>ZJ5JMGwUqy@#}H9Etpm8$%14iGLbLOnUzrbpn0j zM3Up?pc7A!M1S>3gvmK7>gSja_MG)Q>$Weq4jRCBi&?4BA5d?lJNgNBKxZNn@4kfE zhCX=kpuldzqA)PFt}Yc_Vs3gjTPoxo=aCKM_D$i68y)SGhlL|C`4qb7P>DVkTGmdsbojw+K z5fMiAIBi>skO3y5y#V5>qh`dgI{cp9g`(6Q`{<~a%5igcS8 zk#<^xu81lq3|Bk44Occa?^68;JyE8PxP`g}dg#^Bx5c*N`u33fnKGqKINW+j!N=&v ziZ3LN`L6D=I8c0@J=EB`_EE(|a^c%^JynKr@g?S8NROTxy6E$=v9T==&qK~=5U*4v z-$~x+C44IubELq6FnO-{p7|6Fg$`sf&xsSFirdBf(Q0MLt&UWORA_2>yf$S=!N$>T zv@p4u_7z336?+qI4V5hgh!BPFA!6~<^&J;`DU^H3jjF=87=fxazkxTfNKRZ25spu{ zPXOEV%St1Vce6vnUeWvAN+Qyyy|3tcYbTF<) zw&sd6VPmJE^pZ=s9cRv{assKhPrAIhzKDD$>gUtBlwKo7>G?LESEKa0yW>{RAb}ne z)i5NV^vHR&CIDR#$f+~kv-b^qZ1Bypb<@6i=yFrN?ez&nd-Y%o7}S7o)2Q@f`~^2^ z)6Nzo=Sx+uy2oR#IzZHI1lMM?OTeWib>`2WAHd{hPm%1lddUwZe!ohi{FP`WD_BJ8-8;vpB(F+Vpq z_d)iJ8al5@e{bXAnQIF^!CP59m9ASBw1!D4HOy)0y|&YjxdKARt0JdqD#-D3I~D={ zj?HCbCT4`)S1tg!Z$-Bu1Iv#L+4vVI?kZK-w8M^WZ@4|)sF_6*N>@##q;FV#HvhYOEDy$`Rhp)caJ}S_I7znk# z+0^*xqwnz9mN<*CbxLS(aPK!Ohb7g`(CziB<;q$D$`>RpDpF2}-Nh}lmyT96Ep$>p ze2Bes`*!3m#o{|Dwr)}cNmra9&}w^o0A?j{n|p3)37|MePPvGQ(YBN`;{Pc!%t^3o z+Ucfno+Dv>O=rlT+ny6>+#o&uRbyJ#@XmloA9Tg(2S^XI^y6XW<4%dO2KPEMc7$U{ zOoiEDsFxu(JIA(C4b@|+#vujKq86iW`vyAtIB~6s`<*piBIy8jY zA~{K2WaRvf)=NlJ4bqrQ*XjvTwT8^G1DzhUNP`F9uXovO0q-$F@vJ%8*#OU_&u0sW z;#+9x5cqrC($b@l0q_-hO*bv{_x8zhgi4M3vcjRV#Kc7ZCFwggCFTn~zn+tf_I9R& z4Llpjkq6>zPC7}=SY356&01NrQ+3J0vf+`^0K}x&4zs>i2GOMk;=*rdpVqkJW`;;1 z=c*k#e7HMXU0L=XzuHMxT`Yg^aN%u*;vcMhC1!^iCHLF3tpE1zQLe!U5Ls*`Q+7%V$nC@ElNtJO4k?D0whR??%5MEKEi!l@jydv#7yXD*ga z3b8IXzuFLtz65deX%y8<)tgW(@962#;SL7pvG}@A7C$B8_u^ZV)E71rLYC+iQ=tZ4 z(`JI!H6i71!a^R8xG$X$b{db$c_*z2aI5;_UJ_40S8+OHpWN%z6mV8&GJ9|Qf zJ9F?FPBd9dOM9g;I@bZZ7ar>u{&*=Vr1v>tY6oQ99}d$L(70e27pCS8R9YnZoGlR- zPm2eKb>+uAA%=P4EDPjzqYjhPOxi5GCOvh*1L+sCZ*^XPFc-nBZgA)z8;^j1u(9?B zOjgg3f%~S)H7X>Ws*{oD1a7Qy2M>IGr$mD=Y~TzcL{MzLFFvZQ(qNpr^B3VxwRNlXVj;h9kBGypwB zJB}Ktc<`tg?qrh3QgKK~C};2t^&qXE)+T<(f7QpdF(f*K>n|k(#O}p;(PA`Z7JEz~E^=9P(aBI(;r{*OkjWi6NR_##=$;$Q}DuVl;f zzOom|ZgOghm~<4~`DS5Z3qLMP4gF+RZeoS+LJgS;VN=ejzMDps+A7BZFFR#BU`Iy9 zQ93hK1iak913g1pO}ZFQ@^dByWoytLrFP-zqVh`nVf6>rG2lDb-)XcqO_1I1rJd`p zk4E406Nke?j<+-yo0Edp#w790o6-6ZY=DoSUsA)?Vurn*Ms!RP0+}T|g-6;zv}xF~??k!M3hBst%idkG2fe`1pj$5_B=YCWNNvY! zP4#Jo`mGA-X(m1Lfj@8g`mGcKC{A(bSS|H_LnA|_m{*WN#|fCCX7G$M7(4!(d`+Tw z;GQm1adKTJ@m>5@BzT&>wKQ5-Qs%SHL!xTkF-WZEkpc>R|0gosgd z>)6F?j_r3N`cV^y?ld9n6*3!cGOhTY6qt>(|_> zqb@kERPR^biIb`=3(VOuQkxD5itey}7G@0p&KPMjHCP*@fff5TmHB?dvRcow< zLDjx+vgquuT)FugV_*P;_@olRMG#jv(Gx*TGD^2FreU6Y7Pq-64utryJSm4yx@=o+ z<|W;E2PwTuGkpocsn-@jJ4m+sxlaqWVj1wOE(Y*>IPxyorXc=9R{QdAN5OJ^IRyq2 zIp20ej?j}!n4UoB0OgEcSwC#gGY~`0#?~J2GTK7w_jOrIfiwwLksWf}TpxZ%FJbZ-A2acD`;yG{ZHGqfy&@_TNFZcQ#{a$IKqm``$N z&Yq=$lT4eEO)jNK#_cp|udn_bK_A_2$H!o5TpiM^H&4@kJ|ApoCly+J#4pmNy~2s* z@MPOE+bImyzPrlE?GwTk>6-Z01-1cEN*ViVet53=-{?xImy59uf z=Lo%n_sg_?-cs%*X_FF%GE903PIdSN`6Wlzl%}QVyDP25BOr7=fU;PQM=Xxpu_-y=^qs@5LUcO%Tdd)*#{PCi@(aE)Q@ni}sxxR%}s* zYaK9Onr_9uUyW0{pa=GV5#Jme%1~kp4Rs9)KL|g)AgfSn2BXxJL^qYjEVo>Kt<&S% zB|M;;iBZ!%xX3K#!}Ng^K0e1py~{!Qc#w5#&Q2WMsf5p1OCx;C6@KqHes6L0 zgV67CVvI5FIr1nm$rO|7$ug4AVVZ|Y9-WR?32@Uv2u=aLeF3fz37VvX zlzrx20NL(arNH>lpIL&jQ$2EyyGfO9B)2mPb2^(Ob%ycy^TS;6RqSuVSfi8r4l#yY z`g^-mi*P%uo^HdM;|gB)+_1%6f7t^Zsl2I#N`PmcJw4()lis>y@mfbG=BEgAf;f!>-%z;=gSuY0}IXbb>?pqNPIcE*CUXw$Ad%Arg9+* zNsUyXSk!|;w4Mi;*F<3eKmp&A(Xf+ni<;>5I@};xadTrM9(hVePMRh9dEX(Z6Tane5XjRlje!jQIeVjW zHV)}HU)cA+;p;T_Gg%@I|T!f(TS49w@6?!srtN}oN!Gl~$CSXD+W7nfW!eu~hUkIkP6&msv^aoT3d z0O_LF71$>#wL6)NlDv@>qaqgI33Tc6@Z$Wuuz(j(x2HQ*xE^oV>-S7dOb4ox-L^3j zJL*;3E@2mVZ`~r=?LoprQN%cnlq9h&d$ASz-g*L%5%p{fs0K_84VgxA3*_Ho0Bn9| zKS3yB?xA0sgYjRXvsGSMN?4Hmcf*jGDdTMD2ShXDi+7qlr1;I5$y;9}52s1XfC9L1 zwnvy`(j|7ZH$*`nN`D4&>KkYH+t5M+3Jg{(-uI@&n#k9+1rv58>W>~HV#lX zIV!a(YymR+FJE|*QIGxFy}hRDxL7s-2;frh*69HCkg)CLV`Tb-EJ?4gQ)p-MD#Z!2 zVsitK>f|@q)%~2v$vAp%IM>c*nLK+?E|AK>BalRvkLXR7)By-{OaeW;YI_QSzr|x* z6)9611Q3mOkDh2oR>fq%oeAYXzQGHTokf>##pF+C|sM~99XYIrlMM&f9)9s zF+_EGUV`R{4@8UdyGM~y=&s6|??A|m7z9u)ckul$mb6!`S}~{eh9!Pk$%6U#Xy0f+ zd2aDZK~d4lXN0}mFJxPs`USldx}^JPMbgeRboM9{w^0$ag(F=bDd6RJi#?;z97V!f`5Z&FAT+oNp;jg5ee#S+pj8)!=nyYShEn zG?O0!uhr{rE^j6kIgRWfQCV?nl6VMpDmd=se!dHoNZs{B_3n600sue^kt=2g~TQ|%cyP!*Auo~j;~*)NyD^tI05xM#=nBPkA5Z9;te zg+L=YpjfbgO;4K#1`b$@HPL@cg8wV}xBpd%oOhtl)!}_a&EtJ{bvyYFdw=EpG*IxG zR1Rnnx65z_nalu3=-6VN4ecNQRxqGFAD%I4&O#6vyuAs0cEAYWXo1h;|47;b0iEE* z0QYV_yoQTg@VRlUOxiBGy)e*cT)tG+4-`C%-oK$K*6WUt>WsJz0TX+aHGh&HLkenx>!D)uStQ}2DDNO(q{z`j2HN^m@8+P+Un9`0H z{3Opm89}Q_V@T=2TN~P(t1@-!@;5z^4asUh7#iXap8;9|c3-_XF_IDE=ybL(Q8Uy3 zacI`MO{-^2vkFO1*?p{t&`x|U=QI)r6jQLbx%Ja_Ur?Ju^1h{Cbr5oSf(%{ALqHOu z@c0Y;{Z3AOk!ytUYQ%!(r0dq}!6Qo-IryX%%TxJEDXD7r&p)jV=z@CVRST>!f1gp?7C7@D_$5#Z;F3O@ zHk}E1htw<#rzbuBS*vY5O@7BkvnbCPNm^JqxlBW&7)} zsZq{xQdRCAab@n;y2O0cj$#XQ28`qb0|P1jwAQSQg(U8xS2;O&)+mTp_}7^kL+Ae8 z>v(rus8@#IPn8UIx=jCFU-t=T!t^)16RJPF694^puv0HzVoC~AB=k_sum?Q=9W*^y zyQcBa)~RyXD+yje-t==KHK7hfxxKA@d&MvKAw_Ah-jkD^lX%sJ+5UApKR>@Cp~qO^7#gD=vZoL(^-~6D|0zUc?w*$yJC4mD<_-YI_+P6# zyJ^+o@4*}$GxCI>iZ_6~U%&iOVxp-CfUr$Zj0pv60`O7f+WTj&Omm9Zf~!*NCjFnU z{%p1YqUj@RL}rDZ%JRc0|A(RBkADgRjaWf7{G>}#GZWo(wNf9kukrQvT*2~IHq%=H z%@7LmTP9oS=i`%7H}gcR&@juaEa=zpCk@KI%4X8I9)~6HPP>*UFiN)PxfEiPBPT!k+BydK7kVMZfWh5gET+EqO!a^!I$@V?XMVl1zn?j z(f)@yI3L5^Fti2`L~N=tP*J)QAM43Ta)9in6tVm~4RqD5lg6rNfyz^F#A(r}lCab^ z?y2*@t^?@=jJE08P~;@K@ii9{AP~OW2^3_8_KOMU=NI3^~DQNDXWJeSEU`Av`&><%HrP$To{tZ`r*D=o!J}dDrA;XSmfYMD>#`Z zgjbIhx4ydaELPbeCN;Il^@gjn>A>ays;n+M0lz4d2xQ1tr0Xr!x`4Fcz2lrRT@>|F z4Q1a~1a9Bc`;tX(Uj5mir!oVH6S;UXJ>}UZKO?bg5fDsdlwxF!sUe=B=ygRs)e}H| zgrD(Z#Ma>}6r#|hkp3W-x(eT0QGtb#gWZLZl%RF*mdP2?VfGDD0)TYKYOxXelqa>T z<3g^rp9}6414+X5o(>~MV!@^Msp0u8bk){YsN>976}w5(jjMos4Yq$Gv`Jqgck{ zf^8PU6vZ011Pasa|BeKFl3OvdZ(y?vvoCwOly-zJs%QKKzW`LHWU^G!$H^8I*1|zk zqwQ$l%DNXsPrIh>U+u=ev)|9Zj#lxVW<4NT<8kj^gxN9ng!k{Sr)|v-kUdqg69WZ4 zd67VY5#W6<+!B&~V(kA6kWp;?7T&ziH{QZ<9Hr^%>z9dV8M5x+TNyWIYC!&%c^+n%PwbsZo5nl(CqQo^S0gDaNB9_a?O`FDcl9k;ES*R9 zd380h`8lYxPFRVq&ouAU3IHyd_Bx;w9;NLP+zTzjvZ0&iG|SIlo&<*gH^it3VS&;& zAe*1{fr#os;;JR_YtkzgvI;d+^(%8{fXV^CsighRzYTNx|cYA%l3_q0aQOQcmlB!t*kVHDNKtM*q-I_ zU#_pN3FwPM#qNGh8yxnV>(BuTq|aMg#B=3;@9n#O<&v(Y%tIF!fK&^yfZksfI70t- z;B}9H!F&MqJ85eN%wAv$!zkqU7Q*+Z^9zbHOy~!wG=pUv`;kjje!#iwvx_<${xfB_ z+}xtYF|umSmEv~lzkVeHUBG>Meo6h`UI(s?Kh!02a2rtC~%f%o$AGGPMGq0d>s`e#gkd_gj<6zJp9c1ao4@g>JO z7nWVRa+IL-#dE6NUu#g9(gBT>@tO<%_mJ<5S==^TkMf4)`?Mb>Y-M^mPT>j$OE9Fu zx<~Zg6)#|rA28LDzgFj*OPDXLo6+&&iRn!pZ!DT5x0gW0VoSfbLPwoVQPrNb+sjjU z;}(|pfD)Z5hqVD@LX*U7Sp{hWi!w`5^^l!ZKqEDj4hUD2$b_o60{f})R5g!(%G}n} zw52S0x2KG$fRWDrR^OczxZbrxosxrfcePbuJ%H_mD#a_tCdf!&SI9vDZ zEtkOk9bKqrAbR7%cgFkx^3-XHvF|=6W_kaPGyFk*t9wq?*)NRcE}$GbC_p zmb!Mjyq9o$4!^Wli>lSdR%&|o;qUaqyN!&StCKYoFqv-yNcu&nto38JOK*Q$j5lvF znb4kdR+?F)luiR`yajs)chapF`DtT*5Ln%Gnv{?}!xHe|4?|?W{VEnNH1luTSxpwZ zt(Js`9fXB(t_+{w-$wVFz}-tU zIVr}Uc{*eiME6=o8!Q4P*6K{tip;1(tcUMBdh}`+ChO(eQ0+p%YD+5?_ut6kc+B?O z$aRk>`p;?_%$Uyq^DAanFi*iG0*gMs8?N5kG7ebcf-) zx3qW%q7|yE*8k z$PDcXUiL25IQ4jF?1knh=4K{lre^T}u_P#kfx%Nh)}SVJfzoFfUr>dZFZ!qV-aMYH z)&k6+tJ>BcOlX>)Lq`|i*q0OPssgdoS31f8_?Pz#^gqc&|C7J{XG_xWQDgadf1mYc zf%%r<94d>G*APz3FB{hYoWb(>FfgGDVp1Xze>QUcl>2Sd|9jiE{@b)w)U2g3V4)>w zM!u$*v^J!7TZ2>&@U1K93dvSEVUOHCD*SP2xv`qss1I6t`UV{nC_Vd-`_1sbw0?_m zBX}eL@}o72)&gv=@ff%4=<-_VmS(IB>NpRO zjn67P{s$;r^Bgz6m3>;#Y<+3OTmsAm6q=PR>5ubq^I`Jg(SV;%r0sDpH4+k?koMWx zl>rlq?Ce}AOsUA&Zk62Pvav5-JxF)B#N26UQ92ROs%tzQ>@Lkz-LLlm+~M+2Q;}#s zIPuCuvF@rAuw|!_>)2e#P{t5`ixEGd!RX~d*P+&erX{(FOCBMb=?Wef#CybjSS0tAmP>vAaT86%wTaq@~|s5Eq#fD1$RM{NzUGI)%q=!E&bfzc*mi_oMd7mhs8L&%3t8fiE=frWAU7)jM3l@`RB@o@0W>6}@x@DXdFizFHCkA>!CKhznPq@Eec4t2;>95! zUthVJZ}Yo*dui4e1I~Y*!Q0w&M(2h!EiIiMdiFnheRMu1RVq1Ky>TUe%_jF5F}S!0 z*bS2*-Crbgs+g5!_*sM-hVfy%B{UA$W@C~mz3=JPTUWS%p;c;0L!V#~TpzW$dGi_I zz-fEiDV*n&0D1MLDpp;|-%H3=)a^*GH#GFli89is_1#A*k}#4MJuf~D^p+y@ zVE}F3ea@@JJ;XSD?BD9D1TZuagBO|n&pnRm@Rb0v)4Ez3a+Z7OfNk@~c$W2j2Y+4X z7ogg~PIuXN^wO_G{uo9w6`?2Q3Sf*whYu}vEpnc{cAXh37o~0bPJJ$T$jnDrjC!x2 zk;KMNw?dc4YpQ^aD!SHgCD}8e`S~=a>Zpp<+ZAmD-G6VRUcm7zL;;Fj=I7_N|119F z|8FztHyL@g3+-c_eSe$*Q+qE0YzlVQWvMW~a^+K@2+t{=-(1u##M_m4<@O>ui-g1!yzxOSsYccf!XtBpOKIm zRREA`;GZCUXA>%uaxhB})*X7d`%~)72{s2IcCv5uwb4?i+DqZ9`~n>$%EiLNHh&;> z3=E=p!-QK~kC08{VeBAzNZogouX^R~#zF@lC-mg4Nb^vJ^x@5OV0Oxahfj2|bBN~6 zR{HfxPdDMe@CLA66g1(xkjAMv8Kn&StB#O9`~&>F^wS}S)Lu#G3G7#rzr&5a8p)MQ zm?(9r`&-CC+W8s%6QK@5Q&`9ZCl8hE2(KoJvG2{hi-YnJo^^iS@!y3&$D?Lh*fS~7 zf_<}NG_ENZpkTU-RF>Jg3WZ2w*hrr;CmZfq)mqmd>I>`gEo-2tUQ;Ue2=T7@gUaMo zl(){QPa+?`m1tZKe0Wap{tn}xPWV#SmVGyB*+eNl>~q0TCG~2Mu)=U9f=yIdS<9j0=g`K**L&2^aO&qB zdsy|n7{;hh!`E@+>fH3F=TAtD+W3L~X?us0ciu)P+zQ%Gdgo$)3jde7zfgt7A5U~! zoQ>;szRRnJ-Vqg{8s80~$S;ytq@M28^XJH!&b$rkQOwkU{E$=Lns5jqeum>A3A@mg zn69-t!2N7;Fp^Cj7$Q10fpQZXT=V-s|${z#5q5@qghp5mgb`Cs{mv48K7;^wB8BfrrX-*&dmfMZ*CWAph{ zq;xXsP@6qMD;l=pf9&wh>Z;TgRKH1gcUfw=g;g_UTJ}D4pg)X8Du?;_{8;(RQWQV! zqMMdjw|cVc`#n=s{+EzI)-~`;e+4k;2hZoN50MnMaAKiZ=3W{^dALF*&_i6)k(k zE}VvCRJ?71lxg$L-yj^Sd$vEm@r++hOw<=Oz3p2meui~*w12S3>0K%JSbc4a zeOS&p88Hp2Etmf~JZf9aqj&GXjZ-MPN!~+0{*~_n;h0%Fnq1Rxa_nT6u8sohf10+H z`fIF|@jT>Fi}i+~anP1PyCiNllUDHm6!+%wQ15^LzgDLdr$wSrAtIELC`*fd$rjlY znh**@1~Z~klzquM%DztatuZRHjD5{IipesVj2X;~G2hqFIoIdF%-aHlEEUy{K2WVB!iR##`P(s^E30|iI@oQ{9&-OC7Z zt~~-PzRIp$Wgq-+beuWl{yAs@zjD=EtSssIcyEanF5w4#ywSC3~Cn zsXi-97tQ!QbF${v8`v*_wTQ(p{gADe(|wVPg`)`Q5n)|_GU)2*sx#lUNJ*EqI%7>` z3=Ksjf951xRha9+*JC+5hH@7^!f@F;p3oAWXj)>-?je25a4DwY%SIgZTy=8wMduTa zzz;taY%`;}ahQ8Rf^k8ebByspKr_M$oJAgwk05QiLPvC6GG8Z!3R?uyBh}S4VfUie zbf0J?OE$G?XvM8jLxqJDt$HT)2p*=E78kjZ-9hB%FYVlPqm67BVk>xb!*q*!W4XhH zVh{Je^u2m|%&X4bD$w(vyxYzxwyH?76+R>3doL#8(i2e!MDTg3v~zhE6UZ+Mk6@q@>i^%JdGJ15K!a90n;bZq6~ z?gstAs4qW*!O*upTmLd)`i~vTzyB7MRFH0WXswmT5~LL&<~Lt(!S7hZHXL&&jK<5@ z#AY{NO1*5sEfgJEWs0hSp3-sN0M5L|_I}ml$LDo90;0Aed6wzPt#Pq1sF3iPGiHNH zvW{su4$^0=8+KCYYfI$Jo!;$f8UJ`O@7-7QP-~a7(;k{XY+N+-h;%fl=tD}QqhCMy zNiE>m=9I(y21$)rTPr0^&FraJh<#<3ksMrmmDywAep%dnoguCPtdLQ^T5Z8dMhc`n zTcQxAtwfHEfsrfUMzkx7DuFW-+BnvJTQ5aP2zIR+a~;3GXL2Otp_zKF4XVObB5$X*3d#(fcT-KRB~O;n(BG))N_2M~ zsJl|;=CEf`l4aEI!C32A1Y+EtlN89NdpTm8c3&0VfY+7S4~f4D3yWQGv1koi#pNnn z4D}$GienAH{D@eIz#qLW9^8^}0ph6~@P12B7(4+qoL4ypx1*ws?3+5qN^E;g#>NXC zfB(WL1)1?O@NVw%K@96q*Yk-EpODO%6{p)5)cJD^*tB%o45%By)g%&uIP1a<6~(X| z-A$hxNz*o=_)yfeMzRCq4PReB&&g3m8D-yzPGfeO?MGUl>v*{HX-sbZ#z!52EWY#;OaV<9}XSg4^iIr!Vq5QxLM4OM%D-xN?f zH9nq7n$NK{OW(m}dDQoo8}2b@n1e1iIGa=)qZ1RCIjhv=-HcjsW8R*{&zz-~R##&? z_}yYG++3wsRvbKMl;GdQ5Lh zY>x`h*o<2MDnK7zOk1V0E)3bcZ=b5!n9UNI+|0*+jvicH;@qjk|Etu)%PR_q)Ua!H zONVd~8B_Lq_WkPR;XjogX77@Igi>1PWwDZe9aB@EHn3aYXj^K^uf+K=gnsyuoP*Yy z2u_vm%~L7B`E_CwYH^-ex^s4qG&+_7TTbEf#F)RcDSU79)+oEfzOas2uULsqsq~H- zkW3=f^jnQ7VBZ?t$Q%svCa5x76%^)bDRZZS%(+egQ88Tn=%pFk*|AA$Udq&o*%1Pq zVOHLimMGALTHWE^nPMeej|#N6w+F{P+hP9AqqFL3PSe^M=Z%pxTwxf$^1I+Qi2;|r zQTO*OAlqo>tTBsj(xpBQnr@=Z4P0U6a4j)FWIjIj>wbcE%CIaD7to~fzHmz320N!( z>qvAK@YB?aoIQIp@nR7Qx%Y$Xm-~#NZ*S9KOZ5unPOZ>52B=v@k$x+0HjW3ppZtBU zdKZIK^IhL3zf;D8NB_r-)VH^z;mg|}xio`V@m4}wt9q363yIV%Z$iME|3>HXzyFp1 ztn240NTz@7r7RPYap6HJH}pn`-*P{MM9#_9A!O#8R)&3CT};Y~tE}^fwKQi7$d!kB zSe0hU5Tdzs_ls@aN%anu_dp7wk{OU2dzIyvyW+hNw=H~Ml%rrrmrJxLS_BaKYW#}- zK{ztqQUU87Rtav)_QY|2@H&7(fF*HD;2T<^Su*FIz58M&(oXdHE`b;oeq;!jl&I00 z^+px2TNX&I&F6Nd{pt1Y`vKk#Dc7vM;7Lv^)6{t>mnkv1AZHy5=32rFBjvF`B%fM) zb%?YiS}J`0yaA28D6(w>UIMTM2^W1rjw>8apd{=^SvaM@NwD&ML|E6;R;6)DJd!1;`-}wNb91aFBCb9 z3)t|_)LSrzA=o9G{1L!k36bYwXAkyMK4x7V_4*0v@t!|^4bly)VN_XOrH3DYK``k^ z+4HE+R-aqpg06!z^nsNBYbCt_voJ|j80>O{OMdVK-`&y%O12{ zk+W%T?zUr*Uuc&ZbV{5whGrsA#k9s&UjY`TB>TBCF7Rj4L+sZ7`?^Yd#GqZZ-$O#Q z)_?lqfY0lfX*<~COPP@}I&14Y^D7%%;F>h^Kw#E;2*(UbR5;N_F2$HGZ#j@XP`Sk%zFUolVi$-Js*uP zJ{gYfYC`sGyLwtdZIzomq!@RO*=%=%m8AX}hPdX6S++K_r7GnWjQVu$sFB2U@AZeR z#sEjyEb&(Xp4;TSv3W(+IQb`;zOFn~+KGuO9H}7qn@c|sYfros88da*=SQxAjO%9( z!%{Wq>_B-aaBN6ROFQ;tL|&C!^x-`ZdtFsq+j8hj@LTJNXSsoTShL$QJYFmIbK8J??k-}V)w~=oHG^nE97n4I1ReyY`Vo!B z18;wGNNm1Cd?pH54?JrYOcKs78x55}lg63ZNdJ>fVf^t)u2t6%UmM;1phAqkTqD>M z#(TsO!j)gD)cHn3T($qmCDKxxS&7HAlwyr7DaH{PLGA-1NVMp!)`Ct<%*@-Pj1-=~ zCBk&693AG&A^F3+xt$KfWL_GiFiVncXshTv+^X=*M)R_-2}V%K?+!)+(s_Eumf~Zu zJZpE)4yw_q4afv_C+^~jL{u<=IG!S3fYaJP#KpnU@4!9(<+FGzJMmVOYbEoRWqWZb zY3RLS{!avRA)eM>t_@jQUhcQOLa*!hWT%Wt^?eG8jEZ!Ls!QBG@gs4yQ(C#DrNzu> z+hOQ76{}~>N^iF5Zxyk7Gq2xw%~k!_TR2_C^Wje`ts?&`mlfU`>N&|d@ddcAJ&M`K zyON>9eDLBTrYJ!NwyNu&T`Pu^%!^D%_BZLHlzBE%K%cpq2Rn0yr@}_$jC@N>$k%S5 zR+bc}-jW)U7GvAHd5_d{LobVK;Urgo{W>SPE41Vp4EpYxqOsOp*U=eJWphw55blkHwfw}a!epFoGA9xYrSFnwM>yMU(SSN zOn-wI2n(N{@fOW4p;_(WR6wlNB@Rpwry)+KSYe*!SC^dm*-W+yYtud&l@+~$LdTkkvnE4lafth&0o9^~UY zrKF@3mj=(!K(=GMzopZzUnj&#W`Gg*V=s3Z#pxXGRUTPO#;b*#c?%*%AktA1&WysAH96 zJNj3%mB#=*HHNyrdLdn{xsA8ie*SHD$rR236pS2D8(U<1C@hsZZ3CA?!@S~i!Ds5O z_S=q7a~){~1#@czUe#x^JRVP;?KKNO+J*(sk3I0JPN`y7;f#JBUFYxPPY70y`j}K} z$VBF=L-y2=SoxpJ5dq$rtut4==;E?W zBGGGaZEBEg_5X(7`_F&C)^Pz|!=~AXO$_g@+=ThiMBNWB3kOp$S0{N@RaNY>_;FxL z&(vLnP?uSJ47Lfr!@lIV$3tHCNayDWov(olD-4veec;|AxoA~$peK=IG2S)<#9PX% zQOTEiv$0MW>vj2uH9(JbSzaFWfk&y7N@e>mS%oz=)s&wr?lh+&}AGl zbn}0bI;OZBMpmp03!SP)$MGh6I5{K8WuEfKxg{}eRwqWh=4E`@9*I0^V$CR2-W}&Z zE_|;3me>5S-5$DyFaUB1EYj1Af1N?m0X!t4D8=mnt1)_|D6Y#l5N#rvIIGkMyau~D zXGFfoO0>pFUh(|K1+oiMF^5Zc1^n0=KSq3^y|G|5H!Z<}h?9Z{TKU7V3Zvs^ZR<)z znk6I?<+_QWLpUjozNGoJ?$--&ILuvAwYvOB+`x z9@Fi`22Ka$+OlFCLF#|@3ImkKbLHCwe5$f9y7T}zlbGJt$HNQ^u_-AuP*k+MZ^YUY zH-dir{CN*{fnU+f5;K@%qKe6PWSa|o8VeXZ6B8$xg}99D?Po2^j4M3`1*;UcPWh6X zP4-G1(iesGHwLNqX9wxq{Li1Lb&wdCS>;?XZ=Jls-u&(St(Wl-`LV2+7=0;rx%RvOqzglL)163*ZL- z0$;J+{UUQ#`hVP@{P&okTMdX^hL4j>YW^kzReZ1tHTs*m(e5MCnXhu6i1h@V&-?0K23_*V3F9L!mdzF$; z;<3KiBoyYXtdp^vg=H;puCk)zBoHSBN4DAg7E>io_V@6HWk#~%9hAf9fiSS=2Sw;y z%uO|cI1CR%Xxp}p9%_Y!!=f7|NmA8yrb|!ls=Os&X6f_EIf?nME=H5d`+%+GmObOe z8+Y=z^QD>15ubK|2==8CGS1;1n6{!}p7Bk=`{R6x)!O19Tm$5xxQq<@GZqyEqeF%H z>nn6W;402kK6b#sC>3_^?Y<{f;hrDy_gO_TNDpX%H2NZf{>BtfPU!8ag>d;ioM3ar z6%_&)WHT^dKr!#7%wPM>J@%=x5p;Bu4`oKIm#@!YEM=2 zfUggcta_jbuR&SoQ&2)*952$($=rR8hUqAIJb52myqXZ_k$1cB)Q#QyW0bfkQMHR7 z#|%;81ORF~jP0~AzzJ>4n}KvG-Ts$dxK@*e+W`m!g7qGIPmd)e$wi+}S2u_M9Lv0h zuAxE5bK26I19^s1gIe_0{h$$$tts+EOjuV>t`wEbARBAOD|98$Oz?wZ^imYGs@(-j zY`>fy%QoJ(KQdcgF%xmxWuzkR?YBEV@X=D5Wg#Z|BYagumuO>SqbmErM;594+xc|K zcOK|{0xQoxQaXhB)qJl$!3>@1P2T}NFp{6Vy1JV1**5UlYvGFTcjW#c5CA#TS8Zd> z;~g0>bv}VY<$>kE+aC%Y{f7=`wnfv*_|Dp@vKbG*)U&;mWuEmjUs9iF2_T%xSiyRb zzy}8ut7pcV7DP3@xGE*+f7NIaJ*}4uTJOc>)zx@WLBZ1q$#sj}W;8?sJ!vDAXKt$H zasqW0Li&JTU72%s)0!Sp&;pqqs0{%2+xIn#;;Td&xcE0>KGMezSFbMCX82J_H8w3o zZ=w@bQGD)Hdru}d0~gT5vXhy^iP|EdcU%45y7d@WiA4r;5k3%z)7bmzP?^!{@}W3hn}8$?;C#m7b1NEAOgnf z*F&W-aWCRJVKI?Y=;LKgYW5@E<)gR)Djq;554EoRc z0;H=-9d*(7RoJU;+ztP1j!dbx9OUF|Z#JdVp)(b27J4QxbRWE~jG`CtHHO<*trr6v&MW^H14VdNCn?65G!{cY*k2w#BwOX=Ula)w2-i%oL!;JkrO(djkGffLXY<_T(|N z{bRJiL+TKI!|eFw2oL&uecWUt&sQu!smz+j=H1RHNH|!e2F(c-6)&?`=!Cuwgs;wZ zHYK^;0#`BG!rB+F>Nu9?Fo5Jg%mp82T{co$nOe3qS65?W-GA$*p}&C6U5HA5bwtr_)HGF9ZCi1m8@y$poSB{jn`ZS+j6eT>~*400_aOFw(9D%G@DM;ruLi zNW{A@sWHKl$`Z21%9T?YfgN8u4i@NkYiPFkYF+ml&_`V?U6&H@^$hS^UURh#Q z(%=s_`YJIVtXp_%o&~5mB0~rJ`X6~ql%KHjij{aio4YN9Z@+%7p{hK5{YluQ118_< zt(Gmf$mPo#K!6x6vpib!wf3w6jMVfT3%Z zxr&4N^K2AdshO=_9q7!xTLa>jl+Ji-Rq%dfw@BEni@f)QQ8l z=_@XjRx+eBRaO!>!_&g-{Bwy%0V)^N_vGe1nb#Pwo{v;$jioWi#=3Ui?fg8%&v9#O zg$A4#K{87&+8mh%N5g1u=K^)p)%KHVdrX`FyPeTb)TH42r}+)X>7y~h6oOo9%OO!p zFIQiuj+OrG(!`D|IiqVB-||kW6gRBG3))y-H;?-J3(}t_S|=Z~;D(@VI}YZR5~TcJ zULaIA(=@R#T5W;KLi&r4+tdQ(yi>73AEB5Abw!Q%Fw4b z76xe=A4mHp+57DPg+#&Q>8HS)CTcEmbZH=|)Y?h!yKF}F)I9(y?QZ|w@v!6iBNW-CPj(QBHj7@<^>;Mrg59tm)?>g+a82PNqy>D`T z{`waonPjU`9ah-@T};e zw5hzK2kW?~o zjf_~_I-~!E($BXy-Uz3JCNHo1`}vU-{s7u(Mz-!99+8_Zze$XS;^)t6UcYhOzO7e? zvb;*a+IIuKHp>GTHQP%Y@djUuUhfki=jf!Yhh4n@dp18_YMSNuXt6t3Z0POgXduR& z73>$>4EclV{vW2lTj7X*@L}b>-uJr^_+Pk~#BPtnCvVU8EtweY(BGPP1Z)TH=sWPY zjB>dDDrK4kig{AQuXjIy)Kwwo^YPkK|jXOOxyYgd)mzhN3!_ls5%*gj-bBU9uC zPZ0(|SQ`$Wme~ssVGywaFzTtSB-aQx4Bgr-{RK`ie15_yqSEq%hq%_YQxYZgoMvPY5f2a3pnL*MJbFf^93}#S!5nWFSZSlw>#hfIXNI*V&(_zm zmc3C%H*e}P_;+6&RaY2yF9qJgIU=C@yrWxLSy8At%X6M1g@8mQRypdI4$RU>s2))C zWbC_Cc-OxP(I700J5dPC$X9nXHkSTnPPIJB#l^+)1s0f>50}}`4NjlrZ)>_LXT7mb za2xZQsK4gJXs^ud{1V=LOPT4k=Sz4dxfXY>Wpxzrid1DPpQyLlu&Vf6b~vT7vhp?m1@nPI8|k26#glI6 z3!1|fE``!}?@(sPjF4a679W~2!%DQd!zC>&f$Bd$KW|TN7G(u?UmsOeL)Ov~-uS>` z7I%bffq+%s4Oh5|*!VBy`Yq$nCQw>}qX6iRSSQy=zOV3@1T@|mI~HFHT&Oygk~GMx z`Jvid9m%iasT>=9-c7f~Dh(;Qf_^!~Ho>rvD0$`e3}UkcFa`H~bstSY!lhU~`Y*xh zQ$db#c1c%=)Y-1O6aZ~8Jb3V+j&?WnBmVTOvg6Y%&;S4qIIx0YEp43{lZBNU;IgL3 zm%ELqDW%G5do7NN1aqpkPMzr`@8Zg@fjVge3Z9H3$=LtGwy+VDfdE5rQ4|g3F z{Ff=g3uUG2xL5>m{Qg*6l8w9;n2So zilL?WKPXTT`9;E%7liV;8TwG6dXvzxT$jL0Sx7Kti zXJ}`$#vsuo7YIk5b*JAP(<;G(wNS0=>r>*KiQML74PdnK@oQ@_@j;+= zK9aV!Ri__r%`J$w&aDGycdh|CaUX2{fIN)+cK%xevz2zfSUuCJ|B-+EC@^2p070*w zV^?*qJdI^X4u&b^@bt18Gtf_l_$zt$-R^Sjsfw)orhnAemmU4!?n->(y3a0MmwZiGXQgv?zFK#dQSzP|6r&%#nz~uv&Mxx&%K=t_S z#k1y#YvFUq{sEVfb`zDQEwhGLjCmsya1*h?f*++jUkjW8|A5)mO+}2N@&$YS!VrEBKv>=e1 z*hi7Jmh*Zb4O*pvP-bRk)*O{_K`HeNeFYFx*hGT)=C*WhE%`v@fc0~mN&-;Vw{D^T zq4>R3^RqpC`!`&IMWhmQIe6#?P}u*S&noxmd?!Ck6s#ZkllIiv2##3YWB~)y^?%#N z9AKCaM-R*3$KvrVw&7sC(r{Ug-s&oGIn8lfk>ciync%~N%_57K?4*yE;bkA`UpZvH zS7%Rsq7!5GD&gCYn1(5+O^3;a)Fvf4Zu{*l3viCu%Scb0GuRgZo6feGX2Jf+)4zRMJ#^9|@AxXCZ2K0B1b%fFg0N9!59nRSyz=+oZyeV*-`s1Y^Ym?x*v9|>qVPQ}m+rX5c%O69SAcA>p{7o;p4M_orf;$7ME39zZ#A|*u9RooFdV0lv!eBp< zWuPLeIBq@XMduw_za>OzsKLH_;4nadf!jTk0GrTy-!EVsqkKR#HZ@sb zOgTAXZG&hnNvPM+EpC{c;1y6+BzX5NA9}cAm2I*gZ9_54Uy)G4qf3wQzrN~s6L^k_ zuoe{yeZ=PmMtmS8BYo+PvYjHXQQLH875I+k3^?X~d~E>`{_>af-C7EpRl=h;@;)Tv zf$i{t6E+d0kj})YmnnE<)m_9~!H(7?L+=%A%o(8_>{o^R^KVCT=MS_VbGy}EGih@a z%42QtW!;15iyh!MV+`?-CFZU_^NL$8k*PJ1*l+~eZqx5bdcGcG~hyw-H3n3T~4)E!Jn-~iu8u@jdh0Ej#>~6g_{=8rEJEvxt1yyeJdRV=dRzF?{2GIzxH$+Z7l>! zQ?Ugr;5xvZ>c_RQ;R7`bGfQoZTqs9ep`{S#$_g!a_uen-w%Wg?`}(LJ z=U0`L+4#|8W~~QcpH#~0>R%mtOag&Q7;Y$6cAIgRw8ely=d9_cI>S3TbxEiJL49vp ztX-3yM(w3R0t41`7{$&qPDyy|+?8gYN-W6YK1z7YVkhL_I6r^JCJ; zTDi^@KgR_4_x6XemEp<^t)G&2a;DqlTt-#62)J5e+VLy!>o(`s><0#Eoc_I8`zicX zO{4o7z`a5BJY8OoH1FyJVC`04-xhF#YU=1j$>FFf$RP6@D$ili$ZLwc^-f>gq$Qga z($x2|#;(q8Xp}VHVKv2r`u=)_haUZ~Pxhlxy$?c#zmh}1u7-BL#~&UxQhELi=y|hY$Yvz+dqAg@zX#kGHoPpYRm)| zZWT9G_vPaxB|xIBr*|Km2CZvLSQ?q}i>ioYv&;P|VJ~Iq>w%Xn*-3|=g z4rSEb*L4^W6`Yd^NZzV%LmI}$bOq+9X`q`g@}u`dWIVoJ^jS>kHv3L@e=wH!oHai& z!rI)s_x>ymQk;C17Xn!8>g-p~QV9LBvh|mKm#ld#!qa4be8#mPnharC8lM|^3(Hbr z6@6D*UmX%{H;FHDjQ$Gp@xYCeAW!g+_gyJ)JkZj7?s@3c#Kc`HoT9V;1OGp|<)(|( z*)>=)C9qr(Y8QM!^AQR67l?Wh_p2a~Iw$MA=~`lK4MDJU4M<8#G7Cz44`QmeVNt0! zj#RJ$E!EVLZ4iqb2D5NzZ0#rYNT6B(_bzX>H_w3s47lC^K3Mv?f_JLl#_T>`nRQM1 zM-yoRb2y;GP)Yf2_@{ItHv}SThOv#-Nm+T<(C84hckKb~Fx7K_2bK}guMN_mbN$Zv zU?e;)HyU@q#>S@CZfIjNfwU~`5lTh_-ckIdXqa~RB3E-AgO0C$+=*?M8xtFIC7$9w zi&O?v!1Yr5+_rVH2ZJ}Q%6Q+(mVq`Pa0vK>u}9kRU~u0eN6vQvin-zZ0=D^Ox7`$I zh#S9rx$*U?qSmSzbfL%0u-DLGY6gM_b+6{l_C!{^b1Yl!&-F@IwBHrFZ#ARC7dlgE z`00wIr0&<>-FRitZwj$bF%+3(Ak` z%aT#9DZ{K~P&$cMZ{wcgfG6|gm05qV%gqc-%r9EJs-qVz*05UTg)3gIpH)LMoMOeZ zF}~VWa0b16??=NFx*o9sAJ~ zj2w}SV6(u|{w-IS4BT&hD~P&Yi2KkTLy8Bh>?Yp_)Uc&3PO%YBY8H+ulA|jfsAvE64$@b$%01wjE)s>Zv%$O23 zsyPSJxmm^m4{s1lvG8{%D@(${vSKR1A4yjAL?xQB1Qa4UMU|y3 z_m5aaO)uvD0)jQ4Y&efh`v`VRvkY#_xI)0{Z)nQ?c>L;!SQ!JAoeWX=dQRu`yj?+NT;g--H2wCbbiOv>_hS4{cQI0+Vpc0UIX^ ze&}CK-(Hkc@kgGo%Gst}re8+;e^D&ls?DU`DyzY6QV34M0W*D~2wDwXTcx%A=@CU=$&E%-||3AAYOSM2V*5d|!33s5}hO zUNiM35kYts>+L@1Z{l=^Noh}-O+(S7R(yA{@6sfgNH$bn--Sl9018W!O%%_aX;oXN z>ESsr&hv4f>OBaZdI@ITsE^cPEU9hgK+k$jR*lWr83gO;mqgeG zLvotYS)O{0cM)5+{r}2~^-p?e>y$yqNQ_o0s~>pT#2!)`oCFL=y=8Ixym8&CyOoF4 zSw|Xhy6ZaYb-q3>&NVus>qQ(ARS)NvE9A)%YuY9?@PAh#iPNcY%dC&|63*{K&u{PR zUO?#`7jkH|Ovss-H#PzLry9rl`^(s>dN$vbdfEH!!xS3&8hRKEMXoX0Xv5HBB4CMX zymV#1vt09s?9}L6n6-|wnB%;>yjd}r_YaNUVvD&ZuAl2;8MDOjQl2@0W(mo#N;>jm z0e=Q@*7Bjb>S8V3ixrnABHl_g-AX=;+p9$C3R(qA55`Y|wqFuBCR;Xwf>}F?&UHOe3}g$Fe=Gn$4xSq74#dT~By9w1R7bJySQIVBatq zuKDP0KmpY)XgnN+3MbFQD_I@V>=O_6Tx&^7PE~ho zFYbZ+kf-{ESkM%3D|Z+zBixu^V(vpfq}uMxPB%g)1|=U8-|W6s`D(kv_ck{l4GlJKmdY zyaW3E+8eEAy*Eeon-bPquN>s}Fa~#J=Do(dfC=%t?`@{{-fx|@@t5XkTgp%Ha2u|w z6WI1AR9KB@#P2)3h_30(b67r2^Perb9cNc3VJA5P9PI>P27IkAbTS52$1nhR2XPzo z@mK=Nxd0dHe*CX#>|mO#^MxP`G!+AdV<>?tz#<7p8RftDc+NEgo?E*X!Z(+ilF0W6 zbi>Y80T>?XULG#6dKj&fe9k<0lI-`h99*TdtNd41?fv1Pd88={U)IN1D^@0AwwolgbCpE`+=mu~Fm7;N`|&u8-ZSu8Xb}tB1Ed4T@BFYm(1b z6g-E#d_dH9mA{KI=UVapIvl3b z!KS#NGbz%NlI<}vBErInhMzd5azzjBJN_%e7-gc`*@&2201I2!OWzXX{gr1Ot9dTA zjh?2fhR%ly3@5-HK#$|G{u=Dzb-Aw|37(;?A^rqk`EbD^VnmYPv&+<*Ubs!R=WL>B z-N$%=9~d}D1BtgT6Z-w&Py^dJ@-2s9b>wWt@Bvw}uPZwj{{YeHnleFXCs<)SNDNMY zPoY02k;z@lq}U;7U!}ooH73hfsIU-;9r4 zD}{(G_BmRaI3K%%P@B8gvcX6QrEk7-U-MX;29-13@A7FDDX*`HfPJMRN=oAjYlsVU z2)YXS{z#W|Pfp#=HM(Xx4Vqz?sqZ*g^W0hl0TN}fq$Jk|LV)HK{XHE}XZ7Ytq4TusK}vd)ZIc(BdsNIXx{1r?nMMLr zDfP*~V3fU&DSa={jKB~LvcJ4@{Wa?0w=!A6kEgdmZqM4$rcile!AvjDB=;JT>G zA7`)X`CSvp1b+g505&oIgNHiCTuiqI@oI5e=D$DXp(OkM-UsC^>4j$eM%71QBET6za&YT43%{JH-0^WTWw=Xs{6ur`}t z!G6GQo+W|+!s3rvGrbDev8*q(lvvXlQ!vZMgBTeAsysbDGCh#F?DFIL_mc=oOM7#+ z!&}rgm3QzYIU6{YB6r3p>(?LOzkink6FeFC{88$|pX#Im0!kx0ta6THJF6`3dAjk1 zYdk*TLRJe1P-p@VA24Qt0-NB^LXF3HH2W&Ek?wDjGvYcb|q1q`ZMk|>Qk3d&+l`wktWSLQZ~KFY*NbQ zFL7Y;jyS zs`~IDgq8cr<(4XV??BJ_;{L1t8cRapU1@k(FgQ;{L;w|JwgkqmzcpG3&|YZ`?bJr4 zjzOypzU=M+VWd4MOU>;&wod`XRLlr-(Cp{>ujoY-2-L8AaYb(9fIjWSa51lpikP^Y zdz9~#zwc_)2Q6C?$c~XO2Fyz^@&|#+LV<0|D;VE)cnbhC5fxip*=fGS1Zl;d0<%L2 z=N9FC2yaZMz8+JUc}_J!ndQ?L&N7GMiw8yU84mO-wb0l>8?X}Z?KwSQg0}DL?QC6| z6a|TFZM%Qq^KB1E7T-ThQ1p*eThUgC}xiQ@A|J3g^%Wsz^O*Hhx=X%;0wMV~!AcvE=({q^0=FLrMI=D+(w zzc-&_^MN~ch_(0R#JSBcw*UY5MH(6&>1rae^`iJV*&Th*hc{o^`{V1`0Ex?*1Rhx6 z+U+P)ofpI;&z0l>~Ke zDRb2CrE`^x`^&0{(nlN(ics-#6am&Z6Q*#pg8SGVFCWcdxLc87vtOES^$*g0DwN8KIqCsF5gzcMMm|0y$k0$I6i>2n)re2kJ;=WJR*dvFE5IM!RY((PcC z(d(sVw8O==2z`Uk*R=KF;kS=Hvn9PYIxK4TQ2K>Twb4b+?$pX(2v0wgpN03;s- `Icons Patcher`. + +Then use `Project` -> `Tools` -> `Icons Patcher` to patch the icons. + +## Compatibility + +| Godot | Version | +|-------|----------| +| 4.3 | >= 1.5.0 | +| 4.2 | >= 1.3.0 | +| 4.1 | <= 1.2.1 | + +## Changelog + +### 1.5.0 + +- Remove editor toast notification (access was removed) + +### 1.4.0 + +- Use editor toast notification + +### 1.3.3 + +- Use absolute paths in preloads + +### 1.3.2 + +- Code improvement + +### 1.3.1 + +- Replace legacy code + +### 1.3.0 + +- Require Godot 4.2 +- Add more values to plugin.cfg + +### 1.2.0 + +- Added automatic file reimporting. diff --git a/doc/docs/addons/licenses.md b/doc/docs/addons/licenses.md new file mode 100644 index 0000000..8f8ab90 --- /dev/null +++ b/doc/docs/addons/licenses.md @@ -0,0 +1,198 @@ +# License Manager + +Manage license and copyright for third party graphics, software or libraries. +Group them into categories, add descriptions or web links. + +The data is stored inside a json file. This file is automatically added to the export, you do not need to add it +yourself. If you provide license files instead of a text, they are also exported. + +If paths are added to license data, it will be automatically adjusted if you rename a file or folder inside the editor. + +You can change the project license file either with a button at the upper right, in the license menu. Or inside the +project settings under the menu `Plugins` -> `Licenses`. + +## Compatibility + +| Godot | Version | +|-------|---------------| +| 4.3 | >= 1.8.0 | +| 4.2 | 1.6.0 - 1.7.8 | +| 4.1 | <= 1.5.0 | + +## Screenshot + +![license manager screenshot](licenses/license_manager.png "License Manager") + +## Example + + + +## Interface + +### Licenses + + + +Providing static utility and static functions to save and load licenses. + +#### Methods + +`static compare_components_ascending(lhs: Component, rhs: Component) -> bool` +: Compare components ascending. + +`static get_engine_component(name: String) -> Component` +: Get engine component by name. + +`static get_engine_components() -> Array[Component]` +: Get all engine components. + +`static get_required_engine_components() -> Array[Component]` +: Get engine components which are marked as required to mention. + +`static save(components: Array[Component], file_path: String) -> int` +: Save array of components to file. + +`static load(file_path: String) -> LoadResult` +: Load licenses from file. + +`static set_license_data_filepath(path: String) -> void` +: Set the project license data path. + +`static get_license_data_filepath() -> String` +: Returns the project license data path. + +### Component + + + + + +Component class, data wrapper for all information regarding one license item. + +#### Properties + +| Name | Type | Description | +|-------------|---------------------------------------|----------------------------------------------------------------------------| +| id | String | Identifier. | +| category | String | Use to structure the licenses to top categories. E.g. Textures, Fonts, ... | +| name | String | Name of the software or component. | +| version | String | Version of the software or component. | +| copyright | PackedStringArray | Copyrights. | +| contact | String | Contact of developer. | +| description | String | Additional description. | +| web | String | Web url to project page. | +| paths | PackedStringArray | Array of String, affected files or directories. | +| licenses | Array\[[License](#componentlicense)\] | Licenses. | + +#### Methods + +`get_warnings() -> PackedStringArray` +: Get warnings regarding this component, e.g. missing license. + +`serialize() -> Dictionary` +: Serialize to dictionary. + +`deserialize(data: Dictionary) -> Component` +: Load values from dictionary. + +`duplicate() -> Component` +: Returns a duplicate of itself. + +### Component.License + + + + + +License class. + +#### Properties + +| Name | Type | Description | +|------------|--------|-------------------------------------------------------------------------------------------| +| name | String | Full name. | +| identifier | String | Shortcode for this license. | +| text | String | License text. | +| file | String | License file. Will load the license text from this file automatically if `text` is empty. | +| web | String | Web present of the license. | + +#### Methods + +`get_license_text() -> String` +: Either returns the license text or loads the text from file or a message that the text could not be loaded. + +`serialize() -> Dictionary` +: Serialize to dictionary. + +`deserialize() -> Dictionary` +: Load values from dictionary. + +`duplicate() -> License` +: Returns a duplicate of itself. + +## Changelog + +### 1.8.0 + +- Require Godot 4.3 +- Make use of @export for custom Nodes + +### 1.7.8 + +- Detect movement of licenses json file + +### 1.7.7 + +- Use absolute paths in preloads + +### 1.7.6 + +- Fix scene id +- Code improvement + +### 1.7.5 + +- Fix license file existing check + +### 1.7.4 + +- Fix show engine component + +### 1.7.3 + +- Fix component selection and right click menu + +### 1.7.2 + +- Fix current selection of component on popup +- Change drag and drop behavior + +### 1.7.1 + +- Add adjusting filepath of license files on moving +- Add more warnings +- Fix reloading UI if something was changed on moving + +### 1.7.0 + +- Add renaming of paths when a file or folder gets renamed inside the editor +- Add right click menu to duplicate or delete items + +### 1.6.1 + +- Workaround show engine components, calling static function is bugged + +### 1.6.0 + +- Require Godot 4.2 +- Add more values to plugin.cfg +- Add static typing in for loops +- Use static sorting function as lambda + +### 1.5.0 + +- Removed overriden engine methods +- Creating a plugin component will now add the plugin path to paths +- Fix dragging/ double click crash +- Fix overriding project license file if another license file is loaded +- Add warning tooltip if a component paths does not exist diff --git a/doc/license_manager.png b/doc/docs/addons/licenses/license_manager.png similarity index 100% rename from doc/license_manager.png rename to doc/docs/addons/licenses/license_manager.png diff --git a/doc/docs/addons/qr_code.md b/doc/docs/addons/qr_code.md new file mode 100644 index 0000000..17b5638 --- /dev/null +++ b/doc/docs/addons/qr_code.md @@ -0,0 +1,185 @@ +# QR Code + +QR Code generation either with the included `QRCodeRect` node or use the encoding result of the `QRCode` class. + +## Compatibility + +| Godot | Version | +|-------|----------| +| 4.3 | >= 1.1.0 | +| 4.2 | >= 1.1.0 | +| 4.1 | <= 1.0.0 | + +## Screenshot + +![QRCodeRect node inspector screenshot](qr_code/qr_code.png "QRCodeRect in inspector") + +## Example + + + +## Interface + +## QRCodeRect + + + + + +`TextureRect` like node. The texture is updated by itself. +When using byte encoding you can also pass strings for specific ECI values (ISO 8859-1, Shift JIS, UTF-8, UTF-16, US ASCII), the input string will be automatically converted to an byte array. + +#### Properties + +| Name | Type | Description | +|---------------------|--------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| mode | [QRCode.Mode](#qrcodemode) | QR Code mode | +| error_correction | [QRCode.ErrorCorrection](#qrcodeerrorcorrection) | Error correction value. | +| use_eci | String | Use Extended Channel Interpretation (ECI) | +| eci_value | String | Extended Channel Interpretation (ECI) Value | +| data | Variant | Type varies based on the encoding mode. | +| auto_version | bool | Use automatically the smallest QR Code version. | +| version | int | QR Code version (size). | +| auto_mask_pattern | bool | Use automatically the best mask pattern. | +| mask_pattern | int | QR Code mask pattern. | +| light_module_color | Color | Color of the light modules. | +| dark_module_color | Color | Color of the dark modules. | +| auto_module_px_size | bool | Automatically set the module pixel size based on the size. Do not use expand mode `KEEP_SIZE` when using it.
Turn this off when the QR Code changes or is resized often, as it impacts the performance quite heavily. | +| module_px_size | int | Use that many pixel for one module. | +| quiet_zone_size | int | Use that many modules for the quiet zone. A value of 4 is recommended. | + +### QRCode + + + + + +QRCode class to generate QR Codes. + +#### Properties + +| Name | Type | Description | +|-------------------|--------------------------------------------------|-------------------------------------------------| +| mode | [QRCode.Mode](#qrcodemode) | QR Code mode. | +| error_correction | [QRCode.ErrorCorrection](#qrcodeerrorcorrection) | Error correction value. | +| use_eci | String | Use Extended Channel Interpretation (ECI) | +| eci_value | String | Extended Channel Interpretation (ECI) Value | +| auto_version | bool | Use automatically the smallest QR Code version. | +| version | int | QR Code version (size). | +| auto_mask_pattern | bool | Use automatically the best mask pattern. | +| mask_pattern | int | QR Code mask pattern. | + +#### Methods + +`get_module_count() -> int` +: Return the module count per side. + +`calc_min_version() -> int` +: Return the minimal version required to encode the data. + +`generate_image(module_px_size: int = 1, light_module_color: Color = Color.WHITE, dark_module_color: Color = Color.BLACK) -> Image` +: Generate an image. This method can be called repeatedly, as encoding will only happens once and be cached. + +`put_numeric(number: String) -> void` +: Put a numeric text. Invalid characters are removed. Will change the encoding mode to `Mode.NUMERIC`. + +`put_alphanumeric(text: String) -> void` +: Put a alphanumeric text. Invalid characters are removed. Will change the encoding mode to `Mode.ALPHANUMERIC`. + +`put_byte(data: PackedByteArray) -> void` +: Put a bytes. Will change the encoding mode to `Mode.BYTE`. + +`put_kanji(data: String) -> void` +: Put a kanji text. Invalid characters are removed. Will change the encoding mode to `Mode.KANJI`. + +`encode() -> PackedByteArray` +: Get the QR Code row by row in one array. To get the row size use `get_module_count`. + +### QRCode.Mode + + + +Encoding mode enum. + +| Name | Value | +|--------------|-------| +| NUMERIC | 1 | +| ALPHANUMERIC | 2 | +| BYTE | 4 | +| KANJI | 8 | + +### QRCode.ErrorCorrection + + + +Error correction enum. + +| Name | Value | +|----------|-------| +| LOW | 1 | +| MEDIUM | 0 | +| QUARTILE | 3 | +| HIGH | 2 | + +### QRCode.ECI + + + +ECI values. See source code for available values. + +### ShiftJIS + + + +Shift JIS encoding utility. + +## Methods + +`static func to_shift_jis_2004_buffer(text: String) -> PackedByteArray` +: Convert text to Shift JIS 2004 encoded bytes. Returns u16 int array. Unknown characters are skipped. + +`static func get_string_from_shift_jis_2004(arr: PackedByteArray) -> String` +: Get text from Shift JIS 2004 encoded bytes. Requires an u16 int array. Unknown characters are skipped. + +`static func to_jis_8_buffer(text: String) -> PackedByteArray` +: Convert text to JIS 8 encoded bytes. Returns u8 int array. Unknown characters are skipped. + +`static func get_string_from_jis_8(arr: PackedByteArray) -> String` +: Get text from JIS 8 encoded bytes. Requires an u8 int array. Unknown characters are skipped. + +## Changelog + +### 1.1.3 + +- Code improvements + +### 1.1.2 + +- Use absolute paths in preloads + +### 1.1.1 + +- Code optimizing + +### 1.1.0 + +- Require Godot 4.2 +- Add more values to plugin.cfg +- Add static typing in for loops + +### 1.0.0 + +- Renamed `get_string_from_jis_2004` to `get_string_from_shift_jis_2004` + +### 0.3.1 + +- Improve inspector properties +- Improve input handling of byte data based on ECI usage + +### 0.3.0 + +- Make ECI value optional + +### 0.2.0 + +- Added quiet zone size property diff --git a/doc/qr_code.png b/doc/docs/addons/qr_code/qr_code.png similarity index 100% rename from doc/qr_code.png rename to doc/docs/addons/qr_code/qr_code.png diff --git a/doc/docs/addons/texture_button_colored.md b/doc/docs/addons/texture_button_colored.md new file mode 100644 index 0000000..adf8973 --- /dev/null +++ b/doc/docs/addons/texture_button_colored.md @@ -0,0 +1,65 @@ +# TextureButtonColored + +Let you apply the icon color theme properties for the texture button. Uses `self_modulate`. + +## Compatibility + +| Godot | Version | +|-------|---------------| +| 4.3 | >= 1.4.0 | +| 4.2 | 1.3.0 - 1.3.2 | +| 4.1 | <= 1.2.3 | + +## Dependencies + +- [Custom Theme Overrides](custom_theme_overrides.md) + +## Example + + + +## Interface + +### TextureButtonColored + + + + + +#### Theme Overrides + +| Name | Type | +|--------------------------|-------| +| icon_normal_color | Color | +| icon_pressed_color | Color | +| icon_hover_color | Color | +| icon_hover_pressed_color | Color | +| icon_focus_color | Color | +| icon_disabled_color | Color | + +## Changelog + +### 1.4.0 + +- Remove editor toast notification (access was removed) + +### 1.3.3 + +- Notify if Custom Themes Override is missing or enable it if disabled + +### 1.3.2 + +- Use absolute paths in preloads + +### 1.3.1 + +- Code improvement + +### 1.3.0 + +- Require Godot 4.2 +- Add more values to plugin.cfg + +### 1.2.3 + +- Rename method `get_theme_color` to `get_theme_coloring`, this function was never called by the engine anyway and should not be overridden diff --git a/doc/docs/index.md b/doc/docs/index.md new file mode 100644 index 0000000..9508ec7 --- /dev/null +++ b/doc/docs/index.md @@ -0,0 +1,81 @@ +# Kenyoni Godot Addons + +Kenyoni Godot Addons is a pack of useful Godot additions to make your life easier! + +Find the releases [here](https://github.com/kenyoni-software/godot-addons/releases/tag/latest). + +!!! note + + If you import any plugin or open a Godot project for the first time, the plugins will throw errors. To ensure correct operation, reload the project and the errors are gone. + + *Most plugins are using `preload`, but on first import there is nothing which can be preloaded.* + +## :material-puzzle: Addons + +

+ +- [AspectRatioResizeContainer](addons/aspect_ratio_resize_container.md){ .md-button .center-lg-button } + + --- + + Extending `AspectRatioContainer` and update it's own minimum size based on the children. + +- [Custom Theme Overrides](addons/custom_theme_overrides.md){ .md-button .center-lg-button } + + --- + + Utility to provide custom theme overrides for any node. + +- [Git SHA Project Setting](addons/git_sha_project_setting.md){ .md-button .center-lg-button } + + --- + + Adds Git SHA as project setting at `application/config/git_sha`. + +- [Hide Private Properties](addons/hide_private_properties.md){ .md-button .center-lg-button } + + --- + + Hide exported private properties in the inspector for instantiated child scenes. + +- [Logging](addons/glogging.md){ .md-button .center-lg-button } + + --- + + Simple logging utility. + +- [Icon Explorer](addons/icon_explorer.md){ .md-button .center-lg-button } + + --- + + Simple logging utility. + +- [Icons Patcher](addons/icons_patcher.md){ .md-button .center-lg-button } + + --- + + Will convert Pictogrammers icons to white. + +- [License Manager](addons/licenses.md){ .md-button .center-lg-button } + + --- + + Manage license and copyright for third party graphics, software or libraries. + +- [QR Code](addons/qr_code.md){ .md-button .center-lg-button } + + --- + + QR Code generator and nodes. + +- [TextureButtonColored](addons/texture_button_colored.md){ .md-button .center-lg-button } + + --- + + `TextureButton` with color theme. + +
+ +## License + +[MIT License](https://github.com/kenyoni-software/godot-addons/blob/main/LICENSE.md) diff --git a/doc/hooks/badge.py b/doc/hooks/badge.py new file mode 100644 index 0000000..12fd35a --- /dev/null +++ b/doc/hooks/badge.py @@ -0,0 +1,36 @@ +from typing import Callable + +from mkdocs.config.defaults import MkDocsConfig + + +def _badge_html(icon: str, text: str = "", typ: str = ""): + classes = f"mdx-badge mdx-badge--{typ}" if typ else "mdx-badge" + return "".join([ + f'', + f'{icon}' if icon else "", + f'{text}' if text else "", + f"", + ]) + + +def badge(args_text: str, config: MkDocsConfig) -> str: + icon, *text = args_text.split(" ", 1) + return _badge_html( + icon=icon, + text="".join(text) + ) + + +def badge_experimental(_args: str, config: MkDocsConfig): + return _badge_html(":material-flask-outline:") + + +def badge_version(args_text: str, config: MkDocsConfig): + return _badge_html(":material-tag-outline:", f"{args_text}") + + +HOOKS: dict[str, Callable[[str, MkDocsConfig], str]] = { + "badge": badge, + "experimental": badge_experimental, + "version": badge_version, +} diff --git a/doc/hooks/hooks.py b/doc/hooks/hooks.py new file mode 100644 index 0000000..bef45e1 --- /dev/null +++ b/doc/hooks/hooks.py @@ -0,0 +1,30 @@ +import re +from re import Match +from typing import Callable + +from mkdocs.config.defaults import MkDocsConfig +from mkdocs.structure.files import Files +from mkdocs.structure.pages import Page + +import badge +import source_link + + +HOOKS: dict[str, Callable[[str, MkDocsConfig], str]] = badge.HOOKS | source_link.HOOKS + + +def on_page_markdown(markdown: str, *, page: Page, config: MkDocsConfig, files: Files): + def replace(match: Match): + typ, args = match.groups() + args = args.strip() + + fn: Callable[[str, MkDocsConfig], str] = HOOKS.get(typ, None) + if fn is None: + raise RuntimeError(f"Unknown shortcode: {type}") + + return fn(args, config) + + return re.sub( + r"", + replace, markdown, flags=re.I | re.M + ) diff --git a/doc/hooks/source_link.py b/doc/hooks/source_link.py new file mode 100644 index 0000000..fd36fe2 --- /dev/null +++ b/doc/hooks/source_link.py @@ -0,0 +1,15 @@ +from typing import Callable + +from mkdocs.config.defaults import MkDocsConfig + + +def source_link(args: str, config: MkDocsConfig) -> str: + path, *text_ = args.split(" ", 1) + text: str = "".join(text_) + print(config.extra["kenyoni"]) + return f"[{path if text == '' else text}]({config.extra.get('kenyoni', {}).get('source_url', '')}{path})" + + +HOOKS: dict[str, Callable[[str, MkDocsConfig], str]] = { + "source": source_link, +} diff --git a/doc/icon_explorer.png b/doc/icon_explorer.png deleted file mode 100644 index 7c2ec5b2f4178a07a1a5bc758172442c910b40fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47155 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%0AHn(jLa@=KhH8 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 diff --git a/doc/mkdocs.yml b/doc/mkdocs.yml new file mode 100644 index 0000000..4263ca8 --- /dev/null +++ b/doc/mkdocs.yml @@ -0,0 +1,105 @@ +site_name: Kenyoni Godot Addons +site_url: https://kenyoni-software.github.io/godot-addons +copyright: "© Copyright 2022-present Kenyoni Software" + +extra: + generator: true + social: + - icon: material/earth + link: https://github.com/kenyoni-software + - icon: fontawesome/brands/github + link: https://github.com/kenyoni-software + kenyoni: + source_url: "https://github.com/kenyoni-software/godot-addons/tree/main" + +extra_css: + - _static/css/common.css + - _static/css/badge.css + +extra_javascript: + # mathjax + - _static/js/mathjax.js + - https://polyfill.io/v3/polyfill.min.js?features=es6 + - https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js + # tablesort + - _static/js/tablesort.js + - https://unpkg.com/tablesort@5.3.0/dist/tablesort.min.js + +hooks: + - hooks/hooks.py + +markdown_extensions: + # Python Markdown + - abbr + - admonition + - attr_list + - def_list + - footnotes + - md_in_html + - toc: + permalink: true + # Python Markdown Extensions + - pymdownx.arithmatex: + generic: true + - pymdownx.betterem: + smart_enable: all + - pymdownx.caret + - pymdownx.details + - pymdownx.emoji: + emoji_index: !!python/name:material.extensions.emoji.twemoji + emoji_generator: !!python/name:material.extensions.emoji.to_svg + options: + custom_icons: + - _static/img/icons + - pymdownx.highlight + - pymdownx.inlinehilite + - pymdownx.keys + - pymdownx.mark + - pymdownx.smartsymbols + - pymdownx.superfences + - pymdownx.tabbed: + alternate_style: true + - pymdownx.tasklist: + custom_checkbox: true + - pymdownx.tilde + +plugins: + - minify: + minify_html: true + - search + - social: + cards_layout_options: + font_family: Noto Sans + +theme: + name: material + palette: + - media: "(prefers-color-scheme)" + toggle: + icon: material/brightness-auto + name: Switch to light mode + - media: "(prefers-color-scheme: light)" + scheme: default + toggle: + icon: material/weather-sunny + name: Switch to dark mode + - media: "(prefers-color-scheme: dark)" + scheme: slate + toggle: + icon: material/weather-night + name: Switch to system preference + font: false + language: en + features: + - header.autohide + - navigation.top + - navigation.indexes + - navigation.instant + - navigation.instant.progress + - navigation.path + - navigation.prune + - navigation.tracking + - search.highlight + - search.suggest + - toc.follow + - toc.integrate From 0048575a1e2b6a08afcfd802cc0dd020c801d5d1 Mon Sep 17 00:00:00 2001 From: Iceflower Date: Tue, 14 May 2024 02:43:52 +0200 Subject: [PATCH 14/30] [doc] Small tweaks --- README.md | 29 ++++++++++++++++------------- doc/docs/index.md | 4 ++++ 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 83a4e87..4c62d48 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,17 @@ # Godot Addons -Download [here](https://github.com/kenyoni-software/godot-addons/releases/tag/latest). +![maintained](https://img.shields.io/badge/status-maintained-brightgreen.svg) +[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://github.com/IceflowRE/go-multiprogressbar/blob/master/LICENSE.md) -You can find a documentation [here](https://kenyoni-software.github.io/godot-addons). +Download [here](https://github.com/kenyoni-software/godot-addons/addons/releases/tag/latest). + +You can find a documentation with examples and detailed information [here](https://kenyoni-software.github.io/godot-addons). ## License [MIT License](./LICENSE.md) -## Overview +## Note If you import any plugin or open a Godot project for the first time, the plugins will throw errors. To ensure correct operation, reload the project and the errors are gone. @@ -16,23 +19,23 @@ If you import any plugin or open a Godot project for the first time, the plugins ## Addons -- [AspectRatioResizeContainer](https://kenyoni-software.github.io/godot-addons/aspect_ratio_resize_container) +- [AspectRatioResizeContainer](https://kenyoni-software.github.io/godot-addons/addons/aspect_ratio_resize_container) Extension of `AspectRatioContainer` to update it's own size. -- [Custom Theme Overrides](https://kenyoni-software.github.io/godot-addons/custom_theme_overrides) +- [Custom Theme Overrides](https://kenyoni-software.github.io/godot-addons/addons/custom_theme_overrides) Utility to provide custom theme overrides for any node. -- [Git SHA Project Setting](https://kenyoni-software.github.io/godot-addons/git_sha_project_setting) +- [Git SHA Project Setting](https://kenyoni-software.github.io/godot-addons/addons/git_sha_project_setting) Add Git SHA as project setting. -- [Hide Private Properties](https://kenyoni-software.github.io/godot-addons/hide_private_properties) +- [Hide Private Properties](https://kenyoni-software.github.io/godot-addons/addons/hide_private_properties) Hide private properties of instantiated child scenes. -- [Icon Explorer](https://kenyoni-software.github.io/godot-addons/icon_explorer) +- [Icon Explorer](https://kenyoni-software.github.io/godot-addons/addons/icon_explorer) Browse different icons and save them. -- [Icons Patcher](https://kenyoni-software.github.io/godot-addons/icons_patcher) +- [Icons Patcher](https://kenyoni-software.github.io/godot-addons/addons/icons_patcher) Patch Pictogrammers icons to white. -- [License Manager](https://kenyoni-software.github.io/godot-addons/licenses) +- [License Manager](https://kenyoni-software.github.io/godot-addons/addons/licenses) Manage license and copyright for third party graphics, software or libraries. -- [Logging](https://kenyoni-software.github.io/godot-addons/glogging) +- [Logging](https://kenyoni-software.github.io/godot-addons/addons/glogging) Simple logger. -- [QR Code](https://kenyoni-software.github.io/godot-addons/qr_code) +- [QR Code](https://kenyoni-software.github.io/godot-addons/addons/qr_code) QRCodeRect and QR Code generation. -- [TextureButtonColored](https://kenyoni-software.github.io/godot-addons/texture_button_colored) +- [TextureButtonColored](https://kenyoni-software.github.io/godot-addons/addons/texture_button_colored) Extension of `TextureButton` with color options. diff --git a/doc/docs/index.md b/doc/docs/index.md index 9508ec7..329aace 100644 --- a/doc/docs/index.md +++ b/doc/docs/index.md @@ -1,3 +1,7 @@ +--- +description: Kenyoni Godot Addons is a pack of useful Godot additions to make your life easier! +--- + # Kenyoni Godot Addons Kenyoni Godot Addons is a pack of useful Godot additions to make your life easier! From f0963b7af8c719aeef87cb26677346a7bfffccab Mon Sep 17 00:00:00 2001 From: Iceflower Date: Tue, 14 May 2024 21:44:52 +0200 Subject: [PATCH 15/30] [ci] Add asset library publisher --- .github/workflows/publish.yml | 20 +- .../aspect_ratio_resize_container/plugin.cfg | 2 +- addons/git_sha_project_setting/plugin.cfg | 2 +- publisher/cli.go | 149 +++++++-- publisher/{ => internal}/addon.go | 34 +- publisher/internal/asset-library.go | 314 ++++++++++++++++++ publisher/{ => internal}/utils.go | 8 +- publisher/main.go | 34 ++ 8 files changed, 512 insertions(+), 51 deletions(-) rename publisher/{ => internal}/addon.go (71%) create mode 100644 publisher/internal/asset-library.go rename publisher/{ => internal}/utils.go (74%) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 931430e..654a13b 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -8,7 +8,7 @@ jobs: addon: name: ${{ matrix.config.name }} runs-on: ubuntu-latest - + #environment: asset-library strategy: fail-fast: false matrix: @@ -16,42 +16,52 @@ jobs: - { id: "aspect_ratio_resize_container", name: "AspectRatioResizeContainer", + asset-id: "2089", } - { id: "custom_theme_overrides", name: "Custom Theme Overrides", + asset-id: "2091", } - { id: "git_sha_project_setting", name: "Git SHA Project Setting", + asset-id: "1979", } - { id: "glogging", name: "GLogging", + asset-id: "no-deploy", } - { id: "hide_private_properties", name: "Hide Private Properties", + asset-id: "1989", } - { id: "icon_explorer", name: "Icon Explorer", + asset-id: "2511", } - { id: "icons_patcher", name: "Icons Patcher", + asset-id: "1980", } - { id: "licenses", name: "License Manager", + asset-id: "1969", } - { id: "qr_code", name: "QR Code", + asset-id: "2090", } - { id: "texture_button_colored", name: "TextureButtonColored", + asset-id: "2092", } steps: @@ -102,13 +112,19 @@ jobs: run: sleep 5s shell: bash - - name: Release addon + - name: Deploy to GitHub Release if: ${{ steps.checkTag.outputs.exists == 'false' }} env: GITHUB_TOKEN: ${{ github.token }} run: | gh release create ${{ matrix.config.id }}-${{ steps.prepare-artifacts.outputs.version }} ./archives/* --title "${{ matrix.config.name }} ${{ steps.prepare-artifacts.outputs.version }}" --notes "${{ steps.prepare-artifacts.outputs.notes }}" + #- name: Deploy to Godot Asset Library + # if: ${{ matrix.config.asset-id != 'no-deploy' }} + # working-directory: publisher + # run: | + # go run . asset-library -b ../ -a ${{ matrix.config.id }} -u "${{ secrets.GD_ASSET_LIBRARY_USER }}" -p "${{ secrets.GD_ASSET_LIBRARY_PASSWORD }}" --asset-id "${{ matrix.config.asset-id }}" + combined-release: name: Combined Release runs-on: ubuntu-latest diff --git a/addons/aspect_ratio_resize_container/plugin.cfg b/addons/aspect_ratio_resize_container/plugin.cfg index 6089812..222f3a0 100644 --- a/addons/aspect_ratio_resize_container/plugin.cfg +++ b/addons/aspect_ratio_resize_container/plugin.cfg @@ -16,4 +16,4 @@ classifiers=[ ] [plugin.dependencies] -godot=">=4.2" \ No newline at end of file +godot=">=4.2" diff --git a/addons/git_sha_project_setting/plugin.cfg b/addons/git_sha_project_setting/plugin.cfg index a3f2fc1..1cc651b 100644 --- a/addons/git_sha_project_setting/plugin.cfg +++ b/addons/git_sha_project_setting/plugin.cfg @@ -1,7 +1,7 @@ [plugin] name="Git SHA Project Setting" -description="Adds Git SHA as prohect setting at application/config/git_sha" +description="Adds Git SHA as project setting at application/config/git_sha" author="Iceflower S" version="2.1.1" script="plugin.gd" diff --git a/publisher/cli.go b/publisher/cli.go index efb4244..89c0b56 100644 --- a/publisher/cli.go +++ b/publisher/cli.go @@ -7,9 +7,12 @@ import ( "log" "os" "path/filepath" + "regexp" "strings" "github.com/spf13/cobra" + + "github.com/kenyoni-software/godot-addons/publisher/internal" ) const ( @@ -17,56 +20,84 @@ const ( actionZip = "zip" ) +type githubActionCfg struct { + OutputFile string +} + +type zipActionCfg struct { + OutputDir string +} + +type assetLibraryActionCfg struct { + Username string + Password string + AssetId string + Host string +} + type cli struct { rootCmd *cobra.Command Addon string BaseDir string - GithubAction struct { - OutputFile string - } - ZipAction struct { - OutputDir string - } + GithubAction githubActionCfg + ZipAction zipActionCfg + AssetLibrary assetLibraryActionCfg } func newCli() *cli { c := cli{ - GithubAction: struct{ OutputFile string }{}, - ZipAction: struct{ OutputDir string }{}, + GithubAction: githubActionCfg{}, + AssetLibrary: assetLibraryActionCfg{}, + ZipAction: zipActionCfg{}, } c.rootCmd = &cobra.Command{ - Use: "publisher", Short: "Kenyoni Godot Addon publishing helper", } c.rootCmd.PersistentFlags().StringVarP(&c.BaseDir, "baseDir", "b", "./", "Base directory of the project.") c.rootCmd.MarkFlagRequired("baseDir") - c.rootCmd.PersistentFlags().StringVarP(&c.Addon, "addon", "a", "", "Addon to proceed.") - c.rootCmd.MarkFlagRequired("addon") + c.rootCmd.PersistentFlags().StringVarP(&c.Addon, "Addon", "a", "", "Addon to proceed.") + c.rootCmd.MarkFlagRequired("Addon") ghCmd := &cobra.Command{ Use: "github", - Short: "Save information about an addon to the given file, to be used with $GITHUB_OUTPUT", + Short: "Save information about an Addon to the given file, to be used with $GITHUB_OUTPUT", Run: func(cmd *cobra.Command, args []string) { - doActionGithub(c.BaseDir, c.Addon, c.GithubAction.OutputFile) + doActionGithub(c.BaseDir, c.Addon, c.GithubAction) }, } ghCmd.Flags().StringVarP(&c.GithubAction.OutputFile, "output", "o", "", "Output file to write the result into.") ghCmd.MarkFlagRequired("output") + gdAssetCmd := &cobra.Command{ + Use: "asset-library", + Short: "Publish given Addon to an Asset Library.", + Run: func(cmd *cobra.Command, args []string) { + doActionAssetLibrary(c.BaseDir, c.Addon, c.AssetLibrary) + }, + } + gdAssetCmd.Flags().StringVarP(&c.AssetLibrary.AssetId, "asset-id", "", "", "Asset ID.") + gdAssetCmd.MarkFlagRequired("asset-id") + gdAssetCmd.Flags().StringVarP(&c.AssetLibrary.Username, "username", "u", "", "Asset Library username.") + gdAssetCmd.MarkFlagRequired("username") + gdAssetCmd.Flags().StringVarP(&c.AssetLibrary.Password, "password", "p", "", "Asset Library password.") + gdAssetCmd.MarkFlagRequired("password") + // gdAssetCmd.Flags().StringVarP(&c.AssetLibrary.Host, "host", "host", "https://godotengine.org/asset-library/api", "Asset Library Host URL.") + gdAssetCmd.Flags().StringVarP(&c.AssetLibrary.Host, "host", "", "http://localhost:8080/asset-library/api", "Asset Library Host URL.") + zipCmd := &cobra.Command{ Use: "zip", - Short: "Zip specified addon release ready.", + Short: "Zip specified Addon release ready.", Run: func(cmd *cobra.Command, args []string) { - doActionZip(c.BaseDir, c.Addon, c.ZipAction.OutputDir) + doActionZip(c.BaseDir, c.Addon, c.ZipAction) }, } zipCmd.Flags().StringVarP(&c.ZipAction.OutputDir, "output", "o", "", "Output directory to place the archive into.") zipCmd.MarkFlagRequired("output") - c.rootCmd.AddCommand(ghCmd, zipCmd) + c.rootCmd.AddCommand(ghCmd, gdAssetCmd, zipCmd) return &c } @@ -79,9 +110,9 @@ func (c *cli) Execute() { } } -func doActionGithub(baseDir string, addon string, outputFile string) { - addonCfg := newAddon(addon, baseDir) - plg, err := addonCfg.GetPluginCfg() +func doActionGithub(baseDir string, addonId string, cfg githubActionCfg) { + addon := internal.NewAddon(addonId, baseDir) + plg, err := addon.GetPluginCfg() if err != nil { log.Fatalln(err) } @@ -98,7 +129,7 @@ func doActionGithub(baseDir string, addon string, outputFile string) { } outputStr += fmt.Sprintf("notes<<%s\n%s%s\n", io.EOF, descStr, io.EOF) - oFile, err := os.OpenFile(outputFile, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644) + oFile, err := os.OpenFile(cfg.OutputFile, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644) if err != nil { log.Fatalln(err) } @@ -109,8 +140,70 @@ func doActionGithub(baseDir string, addon string, outputFile string) { } } -func doActionZip(baseDir string, addon string, outputDir string) { - addonDir := filepath.Join(baseDir, "addons", addon) +var rxMinVersion = regexp.MustCompile("(?:>=)?(.+)") + +func doActionAssetLibrary(baseDir string, addonId string, cfg assetLibraryActionCfg) { + addonDir := filepath.Join(baseDir, "addons", addonId) + _, err := os.Stat(addonDir) + if errors.Is(err, os.ErrNotExist) { + log.Fatalf("Directory '%s' does not exist", addonDir) + } + if err != nil { + log.Fatalln(err) + } + + addon := internal.NewAddon(addonId, baseDir) + plgCfg, err := addon.GetPluginCfg() + if err != nil { + log.Fatalln(err) + } + + alClient := internal.NewAssetLibraryClient(cfg.Host) + err = alClient.Login(cfg.Username, cfg.Password) + if err != nil { + log.Fatalf("Asset Library login failed: %v\n", err) + } + defer func(alClient *internal.AssetLibraryClient) { + err := alClient.Logout() + if err != nil { + log.Fatalf("logout failed: %v\n", err) + } + }(alClient) + + gdMinversionMatch := rxMinVersion.FindStringSubmatch(plgCfg.Plugin.Dependencies.Godot) + var gdMinversion string + if gdMinversionMatch != nil { + gdMinversion = gdMinversionMatch[1] + } else { + log.Fatalln("could not retrieve Godot minimum version") + } + assetData := internal.AssetData{ + AssetId: cfg.AssetId, + Title: plgCfg.Plugin.Name, + Description: plgCfg.Plugin.Description, + VersionString: plgCfg.Plugin.Version, + GodotVersion: gdMinversion, + CategoryId: internal.Cat2DTools, + License: "MIT", + DownloadProvider: "Custom", + DownloadCommit: fmt.Sprintf("https://github.com/kenyoni-software/godot-addons/releases/download/%s-%s/%s-%s.zip", addonId, plgCfg.Plugin.Version, addonId, strings.ReplaceAll(plgCfg.Plugin.Version, ".", "_")), + BrowseUrl: "https://github.com/kenyoni-software/godot-addons", + IssuesUrl: "https://github.com/kenyoni-software/godot-addons/issues", + IconUrl: "https://godotengine.org/assets/press/icon_color.png", + } + if cfg.AssetId == "" { + err = alClient.UpdateAssetEdit("18", assetData) + } else { + err = alClient.UpdateAsset(assetData) + } + if err != nil { + log.Fatalf("asset update failed: %v\n", err) + } + +} + +func doActionZip(baseDir string, addonId string, cfg zipActionCfg) { + addonDir := filepath.Join(baseDir, "addons", addonId) _, err := os.Stat(addonDir) if errors.Is(err, os.ErrNotExist) { log.Fatalf("Directory '%s' does not exist", addonDir) @@ -119,13 +212,17 @@ func doActionZip(baseDir string, addon string, outputDir string) { log.Fatalln(err) } - addonCfg := newAddon(addon, baseDir) - plgCfg, err := addonCfg.GetPluginCfg() + addon := internal.NewAddon(addonId, baseDir) + plgCfg, err := addon.GetPluginCfg() if err != nil { log.Fatalln(err) } - outputFile := filepath.Join(addonCfg.ProjectPath(), "archives", addonCfg.Id()+"-"+strings.ReplaceAll(plgCfg.Plugin.Version, ".", "_")+".zip") - err = addonCfg.Zip(outputFile) + outputDir := cfg.OutputDir + if outputDir == "" { + outputDir = filepath.Join(addon.ProjectPath(), "archives") + } + outputFile := filepath.Join(outputDir, addon.Id()+"-"+strings.ReplaceAll(plgCfg.Plugin.Version, ".", "_")+".zip") + err = addon.Zip(outputFile) if err != nil { log.Fatalln(err) } diff --git a/publisher/addon.go b/publisher/internal/addon.go similarity index 71% rename from publisher/addon.go rename to publisher/internal/addon.go index 31d9aab..0e6daa3 100644 --- a/publisher/addon.go +++ b/publisher/internal/addon.go @@ -1,4 +1,4 @@ -package main +package internal import ( "archive/zip" @@ -9,7 +9,7 @@ import ( "github.com/pelletier/go-toml/v2" ) -type pluginCfg struct { +type PluginCfg struct { Plugin struct { Author string `toml:"author"` Description string `toml:"description"` @@ -27,35 +27,35 @@ type pluginCfg struct { } `toml:"plugin"` } -type addon struct { +type Addon struct { addonId string projectPath string } -func newAddon(name string, projectPath string) *addon { - return &addon{ - addonId: name, +func NewAddon(id string, projectPath string) *Addon { + return &Addon{ + addonId: id, projectPath: projectPath, } } -func (addon *addon) Id() string { +func (addon *Addon) Id() string { return addon.addonId } -func (addon *addon) ProjectPath() string { +func (addon *Addon) ProjectPath() string { return addon.projectPath } -func (addon *addon) Path() string { +func (addon *Addon) Path() string { return filepath.Join(addon.projectPath, "addons", addon.Id()) } -func (addon *addon) PluginCfgPath() string { +func (addon *Addon) PluginCfgPath() string { return filepath.Join(addon.Path(), "plugin.cfg") } -func (addon *addon) Zip(outputFile string) error { +func (addon *Addon) Zip(outputFile string) error { err := os.MkdirAll(filepath.Dir(outputFile), os.ModePerm) if err != nil { log.Fatalln(err) @@ -70,24 +70,24 @@ func (addon *addon) Zip(outputFile string) error { defer zw.Close() // copy files - err = zipDir(zw, addon.Path(), filepath.Join("addons", addon.Id())) + err = ZipDir(zw, addon.Path(), filepath.Join("addons", addon.Id())) if err != nil { return err } exampleDir := filepath.Join(addon.ProjectPath(), "examples", addon.Id()) // zip example directory only if it exists if _, err := os.Stat(exampleDir); err == nil { - err = zipDir(zw, exampleDir, filepath.Join("examples", addon.Id())) + err = ZipDir(zw, exampleDir, filepath.Join("examples", addon.Id())) if err != nil { return err } } - err = zipFile(zw, filepath.Join(addon.ProjectPath(), "LICENSE.md"), filepath.Join("addons", addon.Id(), "LICENSE.md")) + err = ZipFile(zw, filepath.Join(addon.ProjectPath(), "LICENSE.md"), filepath.Join("addons", addon.Id(), "LICENSE.md")) if err != nil { return err } - err = zipFile(zw, filepath.Join(addon.ProjectPath(), "README.md"), filepath.Join("examples", addon.Id(), "README.md")) + err = ZipFile(zw, filepath.Join(addon.ProjectPath(), "README.md"), filepath.Join("examples", addon.Id(), "README.md")) if err != nil { return err } @@ -95,12 +95,12 @@ func (addon *addon) Zip(outputFile string) error { return nil } -func (addon *addon) GetPluginCfg() (*pluginCfg, error) { +func (addon *Addon) GetPluginCfg() (*PluginCfg, error) { dat, err := os.ReadFile(addon.PluginCfgPath()) if err != nil { return nil, err } - tmp := &pluginCfg{} + tmp := &PluginCfg{} err = toml.Unmarshal(dat, tmp) if err != nil { return nil, err diff --git a/publisher/internal/asset-library.go b/publisher/internal/asset-library.go new file mode 100644 index 0000000..ec7da98 --- /dev/null +++ b/publisher/internal/asset-library.go @@ -0,0 +1,314 @@ +package internal + +import ( + "bytes" + "encoding/json" + "fmt" + "io" + "log" + "net/http" +) + +type AssetLibraryClient struct { + httpClient *http.Client + + host string + token string +} + +func NewAssetLibraryClient(host string) *AssetLibraryClient { + return &AssetLibraryClient{ + httpClient: &http.Client{}, + host: host, + } +} + +func (al *AssetLibraryClient) Login(username string, password string) error { + body, err := json.Marshal(struct { + Username string `json:"username"` + Password string `json:"password"` + }{ + Username: username, + Password: password, + }) + if err != nil { + return err + } + resp, err := al.httpClient.Post(al.host+"/login", "application/json", bytes.NewBuffer(body)) + if err != nil { + return err + } + if resp.StatusCode != http.StatusOK { + return fmt.Errorf("login: HTTP %d", resp.StatusCode) + } + respObj := &struct { + Authenticated bool `json:"authenticated"` + Username string `json:"username"` + Token string `json:"token"` + Url string `json:"url"` + }{} + err = json.NewDecoder(resp.Body).Decode(respObj) + if err != nil { + return err + } + if !respObj.Authenticated { + return fmt.Errorf("login: Authentication Failed") + } + al.token = respObj.Token + return nil +} + +func (al *AssetLibraryClient) Logout() error { + body, err := json.Marshal(struct { + Token string `json:"token"` + }{ + Token: al.token, + }) + if err != nil { + return err + } + resp, err := al.httpClient.Post(al.host+"/logout", "application/json", bytes.NewBuffer(body)) + if err != nil { + return err + } + if resp.StatusCode != http.StatusOK { + return fmt.Errorf("logout: %d", resp.StatusCode) + } + respObj := &struct { + Authenticated bool `json:"authenticated"` + Token string `json:"token"` + }{} + err = json.NewDecoder(resp.Body).Decode(respObj) + if err != nil { + return err + } + if respObj.Authenticated { + return fmt.Errorf("logout failed") + } + al.token = "" + return nil +} + +const ( + Cat2DTools = "1" + Cat3DTools = "2" + CatShaders = "3" + CatMaterials = "4" + CatTools = "5" + CatScripts = "6" + CatMisc = "7" + CatTemplates = "8" + CatProjects = "9" + CatDemos = "10" +) + +type AssetPreview struct { + PreviewId string `json:"preview_id,omitempty"` + Type string `json:"type,omitempty"` + Link string `json:"link,omitempty"` + Thumbnail string `json:"thumbnail,omitempty"` +} + +type AssetData struct { + AssetId string `json:"asset_id,omitempty"` + Type string `json:"type,omitempty"` + Author string `json:"author,omitempty"` + AuthorId string `json:"author_id,omitempty"` + Category string `json:"category,omitempty"` + CategoryId string `json:"category_id,omitempty"` + DownloadProvider string `json:"download_provider,omitempty"` + DownloadCommit string `json:"download_commit,omitempty"` + DownloadHash string `json:"download_hash,omitempty"` + License string `json:"cost,omitempty"` + GodotVersion string `json:"godot_version,omitempty"` + IconUrl string `json:"icon_url,omitempty"` + IsArchived bool `json:"is_archived,omitempty"` + IssuesUrl string `json:"issues_url,omitempty"` + ModifyData string `json:"modify_data,omitempty"` + Rating string `json:"rating,omitempty"` + SupportLevel string `json:"support_level,omitempty"` + Title string `json:"title,omitempty"` + Version string `json:"version,omitempty"` + VersionString string `json:"version_string,omitempty"` + Searchable string `json:"searchable,omitempty"` + Previews []AssetPreview `json:"previews,omitempty"` + BrowseUrl string `json:"browse_url,omitempty"` + Description string `json:"description,omitempty"` + DownloadUrl string `json:"download_url,omitempty"` +} + +func (al *AssetLibraryClient) CreateAsset(data AssetData) error { + body, err := json.Marshal(struct { + AssetData + Token string `json:"token"` + }{ + AssetData: data, + Token: al.token, + }) + if err != nil { + return err + } + resp, err := al.httpClient.Post(fmt.Sprintf("%s/asset", al.host), "application/json", bytes.NewBuffer(body)) + if err != nil { + return err + } + if resp.StatusCode != http.StatusOK { + all, err := io.ReadAll(resp.Body) + if err != nil { + return err + } + return fmt.Errorf("update asset (%d): %s", resp.StatusCode, string(all)) + } + all, err := io.ReadAll(resp.Body) + if err != nil { + return err + } + log.Println(string(all)) + return nil +} + +func (al *AssetLibraryClient) UpdateAsset(data AssetData) error { + body, err := json.Marshal(struct { + AssetData + Token string `json:"token"` + }{ + AssetData: data, + Token: al.token, + }) + if err != nil { + return err + } + resp, err := al.httpClient.Post(fmt.Sprintf("%s/asset/%s", al.host, data.AssetId), "application/json", bytes.NewBuffer(body)) + if err != nil { + return err + } + if resp.StatusCode != http.StatusOK { + all, err := io.ReadAll(resp.Body) + if err != nil { + return err + } + return fmt.Errorf("update asset (%d): %s", resp.StatusCode, string(all)) + } + all, err := io.ReadAll(resp.Body) + if err != nil { + return err + } + log.Println(string(all)) + return nil +} + +func (al *AssetLibraryClient) UpdateAssetEdit(editId string, data AssetData) error { + body, err := json.Marshal(struct { + AssetData + Token string `json:"token"` + }{ + AssetData: data, + Token: al.token, + }) + if err != nil { + return err + } + resp, err := al.httpClient.Post(fmt.Sprintf("%s/asset/edit/%s", al.host, editId), "application/json", bytes.NewBuffer(body)) + if err != nil { + return err + } + if resp.StatusCode != http.StatusOK { + all, err := io.ReadAll(resp.Body) + if err != nil { + return err + } + return fmt.Errorf("update asset edit (%d): %s", resp.StatusCode, string(all)) + } + all, err := io.ReadAll(resp.Body) + if err != nil { + return err + } + log.Println(string(all)) + return nil +} + +type AssetEdit struct { + EditId string `json:"edit_id"` + AssetId string `json:"asset_id"` + UserId string `json:"user_id"` + Title interface{} `json:"title"` + Description interface{} `json:"description"` + CategoryId interface{} `json:"category_id"` + GodotVersion interface{} `json:"godot_version"` + VersionString interface{} `json:"version_string"` + Cost interface{} `json:"cost"` + DownloadProvider interface{} `json:"download_provider"` + DownloadCommit interface{} `json:"download_commit"` + BrowseUrl string `json:"browse_url"` + IssuesUrl string `json:"issues_url"` + IconUrl interface{} `json:"icon_url"` + DownloadUrl string `json:"download_url"` + Author string `json:"author"` + Previews []struct { + Operation string `json:"operation,omitempty"` + EditPreviewId string `json:"edit_preview_id,omitempty"` + PreviewId *string `json:"preview_id"` + Type string `json:"type"` + Link string `json:"link"` + Thumbnail string `json:"thumbnail"` + } `json:"previews"` + Original AssetData `json:"original"` + Status string `json:"status"` + Reason string `json:"reason"` + Warning string `json:"warning"` +} + +func (al *AssetLibraryClient) GetAssetEdit(editId string) (*AssetEdit, error) { + resp, err := al.httpClient.Get(fmt.Sprintf("%s/asset/edit/%s", al.host, editId)) + if err != nil { + return nil, err + } + if resp.StatusCode != http.StatusOK { + return nil, fmt.Errorf("get asset edit: %d", resp.StatusCode) + } + + assetEdit := &AssetEdit{} + err = json.NewDecoder(resp.Body).Decode(assetEdit) + if err != nil { + return nil, err + } + return assetEdit, nil +} + +func (al *AssetLibraryClient) MoveToReview(assetId string) error { + body, err := json.Marshal(struct { + Token string `json:"token"` + }{ + Token: al.token, + }) + if err != nil { + return err + } + resp, err := al.httpClient.Post(fmt.Sprintf("%s/asset/edit/%s/review", al.host, assetId), "application/json", bytes.NewBuffer(body)) + if err != nil { + return err + } + if resp.StatusCode != http.StatusOK { + return fmt.Errorf("move to review: HTTP %d", resp.StatusCode) + } + return nil +} + +func (al *AssetLibraryClient) AcceptReview(assetId string) error { + body, err := json.Marshal(struct { + Token string `json:"token"` + }{ + Token: al.token, + }) + if err != nil { + return err + } + resp, err := al.httpClient.Post(fmt.Sprintf("%s/asset/edit/%s/accept", al.host, assetId), "application/json", bytes.NewBuffer(body)) + if err != nil { + return err + } + if resp.StatusCode != http.StatusOK { + return fmt.Errorf("move to review: HTTP %d", resp.StatusCode) + } + return nil +} diff --git a/publisher/utils.go b/publisher/internal/utils.go similarity index 74% rename from publisher/utils.go rename to publisher/internal/utils.go index 1f62d96..89703f3 100644 --- a/publisher/utils.go +++ b/publisher/internal/utils.go @@ -1,4 +1,4 @@ -package main +package internal import ( "archive/zip" @@ -8,7 +8,7 @@ import ( "path/filepath" ) -func zipDir(zw *zip.Writer, src string, dest string) error { +func ZipDir(zw *zip.Writer, src string, dest string) error { return filepath.WalkDir(src, func(path string, d fs.DirEntry, err error) error { if err != nil { return err @@ -19,11 +19,11 @@ func zipDir(zw *zip.Writer, src string, dest string) error { _, err := zw.Create(destPath + "/") return err } - return zipFile(zw, path, destPath) + return ZipFile(zw, path, destPath) }) } -func zipFile(zw *zip.Writer, src string, dest string) error { +func ZipFile(zw *zip.Writer, src string, dest string) error { file, err := os.Open(src) if err != nil { return err diff --git a/publisher/main.go b/publisher/main.go index 06ebdfd..2ce2760 100644 --- a/publisher/main.go +++ b/publisher/main.go @@ -1,5 +1,39 @@ package main +import ( + "fmt" + + "github.com/kenyoni-software/godot-addons/publisher/internal" +) + func main() { newCli().Execute() + return + meta := struct { + Version string + MinGodot string + DownloadUrl string + Description string + }{ + Version: "2.0.0", + MinGodot: "4.2", + DownloadUrl: "https://github.com/kenyoni-software/godot-addons/releases/download/hide_private_properties-1.1.2/hide_private_properties-1_1_2.zip", + Description: "", + } + + client := internal.NewAssetLibraryClient("http://localhost:8080/asset-library/api") + fmt.Println(client.Login("iceflower", "iceflowerpass")) + fmt.Println(client.UpdateAsset(internal.AssetData{ + AssetId: "1", + GodotVersion: meta.MinGodot, + DownloadProvider: "Custom", + DownloadCommit: meta.DownloadUrl, + VersionString: meta.Version, + })) + fmt.Println(client.Logout()) + modClient := internal.NewAssetLibraryClient("http://localhost:8080/asset-library/api") + fmt.Println(modClient.Login("mod", "mod")) + fmt.Println(modClient.MoveToReview("1")) + fmt.Println(modClient.AcceptReview("1")) + fmt.Println(client.Logout()) } From 3402ef37bd441ef2b7cfaca2e8f7cc3957752485 Mon Sep 17 00:00:00 2001 From: Iceflower Date: Tue, 14 May 2024 21:49:30 +0200 Subject: [PATCH 16/30] [icon_explorer] Remove editor toaster --- .../editor_toast_notification.gd | 33 ------------------- 1 file changed, 33 deletions(-) delete mode 100644 addons/icon_explorer/editor_toast_notification.gd diff --git a/addons/icon_explorer/editor_toast_notification.gd b/addons/icon_explorer/editor_toast_notification.gd deleted file mode 100644 index 979e048..0000000 --- a/addons/icon_explorer/editor_toast_notification.gd +++ /dev/null @@ -1,33 +0,0 @@ -enum Severity { - INFO = 0, - WARNING = 1, - ERROR = 2 -} - -static var _editor_toaster: Node - -static func do(node: Node) -> void: - if node == null: - print("null") - return - var parent = node.get_parent() - while parent != null: - print(parent.name) - parent = parent.get_parent() - -static func _get_editor_toaster() -> Node: - var tmp_plugin: EditorPlugin = EditorPlugin.new() - var tmp_ctrl: Control = Control.new() - tmp_plugin.add_control_to_bottom_panel(tmp_ctrl, "tmp_ctrl") - var toaster: Node = tmp_ctrl.get_parent().find_child("*EditorToaster*", true, false) - tmp_plugin.remove_control_from_bottom_panel(tmp_ctrl) - tmp_ctrl.queue_free() - return toaster - -static func notify(message: String, severity: Severity = Severity.INFO, tooltip: String = "") -> void: - if _editor_toaster == null: - _editor_toaster = _get_editor_toaster() - if not is_instance_valid(_editor_toaster): - return - - _editor_toaster.call("_popup_str", message, severity, tooltip) From 8d8a77c39c1288eb180e1c2e8fe163450913bbc0 Mon Sep 17 00:00:00 2001 From: Iceflower Date: Tue, 14 May 2024 22:00:01 +0200 Subject: [PATCH 17/30] [tools] Update asset library publisher --- publisher/cli.go | 11 ++++++----- publisher/main.go | 34 ---------------------------------- 2 files changed, 6 insertions(+), 39 deletions(-) diff --git a/publisher/cli.go b/publisher/cli.go index 89c0b56..7749087 100644 --- a/publisher/cli.go +++ b/publisher/cli.go @@ -32,6 +32,7 @@ type assetLibraryActionCfg struct { Username string Password string AssetId string + Category string Host string } @@ -79,13 +80,13 @@ func newCli() *cli { }, } gdAssetCmd.Flags().StringVarP(&c.AssetLibrary.AssetId, "asset-id", "", "", "Asset ID.") - gdAssetCmd.MarkFlagRequired("asset-id") gdAssetCmd.Flags().StringVarP(&c.AssetLibrary.Username, "username", "u", "", "Asset Library username.") gdAssetCmd.MarkFlagRequired("username") gdAssetCmd.Flags().StringVarP(&c.AssetLibrary.Password, "password", "p", "", "Asset Library password.") gdAssetCmd.MarkFlagRequired("password") - // gdAssetCmd.Flags().StringVarP(&c.AssetLibrary.Host, "host", "host", "https://godotengine.org/asset-library/api", "Asset Library Host URL.") - gdAssetCmd.Flags().StringVarP(&c.AssetLibrary.Host, "host", "", "http://localhost:8080/asset-library/api", "Asset Library Host URL.") + gdAssetCmd.Flags().StringVarP(&c.AssetLibrary.Category, "category", "c", "", "Asset category.") + gdAssetCmd.MarkFlagRequired("category") + gdAssetCmd.Flags().StringVarP(&c.AssetLibrary.Host, "host", "host", "https://godotengine.org/asset-library/api", "Asset Library Host URL.") zipCmd := &cobra.Command{ Use: "zip", @@ -183,7 +184,7 @@ func doActionAssetLibrary(baseDir string, addonId string, cfg assetLibraryAction Description: plgCfg.Plugin.Description, VersionString: plgCfg.Plugin.Version, GodotVersion: gdMinversion, - CategoryId: internal.Cat2DTools, + CategoryId: cfg.Category, License: "MIT", DownloadProvider: "Custom", DownloadCommit: fmt.Sprintf("https://github.com/kenyoni-software/godot-addons/releases/download/%s-%s/%s-%s.zip", addonId, plgCfg.Plugin.Version, addonId, strings.ReplaceAll(plgCfg.Plugin.Version, ".", "_")), @@ -192,7 +193,7 @@ func doActionAssetLibrary(baseDir string, addonId string, cfg assetLibraryAction IconUrl: "https://godotengine.org/assets/press/icon_color.png", } if cfg.AssetId == "" { - err = alClient.UpdateAssetEdit("18", assetData) + err = alClient.CreateAsset(assetData) } else { err = alClient.UpdateAsset(assetData) } diff --git a/publisher/main.go b/publisher/main.go index 2ce2760..06ebdfd 100644 --- a/publisher/main.go +++ b/publisher/main.go @@ -1,39 +1,5 @@ package main -import ( - "fmt" - - "github.com/kenyoni-software/godot-addons/publisher/internal" -) - func main() { newCli().Execute() - return - meta := struct { - Version string - MinGodot string - DownloadUrl string - Description string - }{ - Version: "2.0.0", - MinGodot: "4.2", - DownloadUrl: "https://github.com/kenyoni-software/godot-addons/releases/download/hide_private_properties-1.1.2/hide_private_properties-1_1_2.zip", - Description: "", - } - - client := internal.NewAssetLibraryClient("http://localhost:8080/asset-library/api") - fmt.Println(client.Login("iceflower", "iceflowerpass")) - fmt.Println(client.UpdateAsset(internal.AssetData{ - AssetId: "1", - GodotVersion: meta.MinGodot, - DownloadProvider: "Custom", - DownloadCommit: meta.DownloadUrl, - VersionString: meta.Version, - })) - fmt.Println(client.Logout()) - modClient := internal.NewAssetLibraryClient("http://localhost:8080/asset-library/api") - fmt.Println(modClient.Login("mod", "mod")) - fmt.Println(modClient.MoveToReview("1")) - fmt.Println(modClient.AcceptReview("1")) - fmt.Println(client.Logout()) } From 248802bd8a410d93f44a9c9ebe9c8c6f66045a40 Mon Sep 17 00:00:00 2001 From: Iceflower Date: Tue, 14 May 2024 22:04:54 +0200 Subject: [PATCH 18/30] [tools] Add a better description to publisher --- publisher/cli.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/publisher/cli.go b/publisher/cli.go index 7749087..f71487d 100644 --- a/publisher/cli.go +++ b/publisher/cli.go @@ -181,7 +181,7 @@ func doActionAssetLibrary(baseDir string, addonId string, cfg assetLibraryAction assetData := internal.AssetData{ AssetId: cfg.AssetId, Title: plgCfg.Plugin.Name, - Description: plgCfg.Plugin.Description, + Description: fmt.Sprintf("%s\n\n%s", plgCfg.Plugin.Description, fmt.Sprintf("More detailed information and documentation is available at https://kenyoni-software.github.io/godot-addons/addons/%s", addon.Id())), VersionString: plgCfg.Plugin.Version, GodotVersion: gdMinversion, CategoryId: cfg.Category, From 60020183937e4e6ef3d10061bcc2581ceac1113b Mon Sep 17 00:00:00 2001 From: Iceflower Date: Sun, 23 Jun 2024 19:28:57 +0200 Subject: [PATCH 19/30] [doc] Use better hooks in md material --- .../addons/aspect_ratio_resize_container.md | 2 +- doc/docs/addons/custom_theme_overrides.md | 4 +- doc/docs/addons/git_sha_project_setting.md | 2 +- doc/docs/addons/glogging.md | 8 ++-- doc/docs/addons/hide_private_properties.md | 2 +- doc/docs/addons/icon_explorer.md | 12 +++--- doc/docs/addons/licenses.md | 12 +++--- doc/docs/addons/qr_code.md | 22 +++++----- doc/docs/addons/texture_button_colored.md | 6 +-- doc/docs/index.md | 2 +- doc/hooks/badge.py | 43 ++++++++++--------- doc/hooks/hooks.py | 31 ++++++++++--- doc/hooks/source_link.py | 17 ++++---- 13 files changed, 93 insertions(+), 70 deletions(-) diff --git a/doc/docs/addons/aspect_ratio_resize_container.md b/doc/docs/addons/aspect_ratio_resize_container.md index d068b53..82b0abc 100644 --- a/doc/docs/addons/aspect_ratio_resize_container.md +++ b/doc/docs/addons/aspect_ratio_resize_container.md @@ -18,7 +18,7 @@ This works except for `STRETCH_MODE_COVER`. ## Example - +{{ kny:source /examples/aspect_ratio_resize_container/ }} ## Changelog diff --git a/doc/docs/addons/custom_theme_overrides.md b/doc/docs/addons/custom_theme_overrides.md index 58ba63c..5e2a618 100644 --- a/doc/docs/addons/custom_theme_overrides.md +++ b/doc/docs/addons/custom_theme_overrides.md @@ -2,7 +2,7 @@ Utility to make custom theme overrides for any node possible. -Will register (via `class_name`) the class `CustomThemeOverrides`. +Registers (via `class_name`) the class `CustomThemeOverrides`. The custom theme override variables can be handled like every other theme override property. @@ -19,7 +19,7 @@ The custom theme override variables can be handled like every other theme overri ## Example - +{{ kny:source /examples/custom_theme_overrides/ }} ```gdscript # declare the members diff --git a/doc/docs/addons/git_sha_project_setting.md b/doc/docs/addons/git_sha_project_setting.md index 4406324..329f540 100644 --- a/doc/docs/addons/git_sha_project_setting.md +++ b/doc/docs/addons/git_sha_project_setting.md @@ -19,7 +19,7 @@ The Git SHA will **not** be kept in `project.godot` to not clutter any version c ## Example - +{{ kny:source /examples/git_sha_project_setting/ }} ## Changelog diff --git a/doc/docs/addons/glogging.md b/doc/docs/addons/glogging.md index 4a61930..27843c3 100644 --- a/doc/docs/addons/glogging.md +++ b/doc/docs/addons/glogging.md @@ -15,7 +15,7 @@ Logging into a file is not supported. The output will be always done via print. ## Example - +{{ kny:source /examples/glogging/ }} Example output. @@ -35,7 +35,7 @@ Example output. ### GLogging - +{{ kny:source /addons/glogging/glogging.gd res://addons/glogging/glogging.gd }} Logging base class. Provides helper methods. @@ -67,9 +67,9 @@ Logging base class. Provides helper methods. ### GLogging.Logger - +{{ kny:badge extends RefCounted }} - +{{ kny:source /addons/glogging/glogging.gd res://addons/glogging/glogging.gd }} Logger class. If not log level is set, the log level of the parent logger will be used. diff --git a/doc/docs/addons/hide_private_properties.md b/doc/docs/addons/hide_private_properties.md index d5877e0..f92def0 100644 --- a/doc/docs/addons/hide_private_properties.md +++ b/doc/docs/addons/hide_private_properties.md @@ -14,7 +14,7 @@ This plugin will hide exported private properties in the inspector for instantia ## Example - +{{ kny:source /examples/hide_private_properties/ }} ## Changelog diff --git a/doc/docs/addons/icon_explorer.md b/doc/docs/addons/icon_explorer.md index 1da7de7..a35f223 100644 --- a/doc/docs/addons/icon_explorer.md +++ b/doc/docs/addons/icon_explorer.md @@ -8,12 +8,12 @@ You can remove the main screen button in the options. **Available collections** -- [Bootstrap Icons](https://github.com/twbs/icons) -- [country-flag-icons](https://gitlab.com/catamphetamine/country-flag-icons) -- [Font Awesome 6](https://github.com/FortAwesome/Font-Awesome) -- [Material Design](https://github.com/Templarian/MaterialDesign-SVG) -- [Simple Icons](https://github.com/simple-icons/simple-icons) -- [tabler Icons](https://github.com/tabler/tabler-icons) +- [Bootstrap Icons](https://github.com/twbs/icons) {{ kny:badge-version 1.0.0 }} +- [country-flag-icons](https://gitlab.com/catamphetamine/country-flag-icons) {{ kny:badge-version 1.2.0 }} +- [Font Awesome 6](https://github.com/FortAwesome/Font-Awesome) {{ kny:badge-version 1.0.0 }} +- [Material Design](https://github.com/Templarian/MaterialDesign-SVG) {{ kny:badge-version 1.0.0 }} +- [Simple Icons](https://github.com/simple-icons/simple-icons) {{ kny:badge-version 1.0.0 }} +- [tabler Icons](https://github.com/tabler/tabler-icons) {{ kny:badge-version 1.0.0 }} !!! note diff --git a/doc/docs/addons/licenses.md b/doc/docs/addons/licenses.md index 8f8ab90..a7df8d7 100644 --- a/doc/docs/addons/licenses.md +++ b/doc/docs/addons/licenses.md @@ -25,13 +25,13 @@ project settings under the menu `Plugins` -> `Licenses`. ## Example - +{{ kny:source /examples/licenses/ }} ## Interface ### Licenses - +{{ kny:source /addons/licenses/licenses.gd res://addons/licenses/licenses.gd }} Providing static utility and static functions to save and load licenses. @@ -63,9 +63,9 @@ Providing static utility and static functions to save and load licenses. ### Component - +{{ kny:badge extends RefCounted }} - +{{ kny:source /addons/licenses/component.gd res://addons/licenses/component.gd }} Component class, data wrapper for all information regarding one license item. @@ -100,9 +100,9 @@ Component class, data wrapper for all information regarding one license item. ### Component.License - +{{ kny:badge extends RefCounted }} - +{{ kny:source /addons/licenses/licenses.gd res://addons/licenses/licenses.gd }} License class. diff --git a/doc/docs/addons/qr_code.md b/doc/docs/addons/qr_code.md index 17b5638..96e8eb7 100644 --- a/doc/docs/addons/qr_code.md +++ b/doc/docs/addons/qr_code.md @@ -16,15 +16,15 @@ QR Code generation either with the included `QRCodeRect` node or use the encodin ## Example - +{{ kny:source /examples/qr_code/ }} ## Interface -## QRCodeRect +### QRCodeRect - +{{ kny:badge extends TextureRect }} - +{{ kny:source /addons/qr_code/qr_code_rect.gd res://addons/qr_code/qr_code_rect.gd }} `TextureRect` like node. The texture is updated by itself. When using byte encoding you can also pass strings for specific ECI values (ISO 8859-1, Shift JIS, UTF-8, UTF-16, US ASCII), the input string will be automatically converted to an byte array. @@ -50,9 +50,9 @@ When using byte encoding you can also pass strings for specific ECI values (ISO ### QRCode - +{{ kny:badge extends RefCounted }} - +{{ kny:source /addons/qr_code/qr_code.gd res://addons/qr_code/qr_code.gd }} QRCode class to generate QR Codes. @@ -97,7 +97,7 @@ QRCode class to generate QR Codes. ### QRCode.Mode - +{{ kny:source /addons/qr_code/qr_code.gd res://addons/qr_code/qr_code.gd }} Encoding mode enum. @@ -110,7 +110,7 @@ Encoding mode enum. ### QRCode.ErrorCorrection - +{{ kny:source /addons/qr_code/qr_code.gd res://addons/qr_code/qr_code.gd }} Error correction enum. @@ -123,17 +123,17 @@ Error correction enum. ### QRCode.ECI - +{{ kny:source /addons/qr_code/qr_code.gd res://addons/qr_code/qr_code.gd }} ECI values. See source code for available values. ### ShiftJIS - +{{ kny:source /addons/qr_code/shift_jis.gd res://addons/qr_code/shift_jis.gd }} Shift JIS encoding utility. -## Methods +#### Methods `static func to_shift_jis_2004_buffer(text: String) -> PackedByteArray` : Convert text to Shift JIS 2004 encoded bytes. Returns u16 int array. Unknown characters are skipped. diff --git a/doc/docs/addons/texture_button_colored.md b/doc/docs/addons/texture_button_colored.md index adf8973..2a189fb 100644 --- a/doc/docs/addons/texture_button_colored.md +++ b/doc/docs/addons/texture_button_colored.md @@ -16,15 +16,15 @@ Let you apply the icon color theme properties for the texture button. Uses `self ## Example - +{{ kny:source /examples/texture_button_colored/ }} ## Interface ### TextureButtonColored - +{{ kny:badge extends TextureButton }} - +{{ kny:source /addons/custom_theme_overrides/texture_button_colored.gd res://addons/custom_theme_overrides/texture_button_colored.gd }} #### Theme Overrides diff --git a/doc/docs/index.md b/doc/docs/index.md index 329aace..41f07af 100644 --- a/doc/docs/index.md +++ b/doc/docs/index.md @@ -8,7 +8,7 @@ Kenyoni Godot Addons is a pack of useful Godot additions to make your life easie Find the releases [here](https://github.com/kenyoni-software/godot-addons/releases/tag/latest). -!!! note +!!! note If you import any plugin or open a Godot project for the first time, the plugins will throw errors. To ensure correct operation, reload the project and the errors are gone. diff --git a/doc/hooks/badge.py b/doc/hooks/badge.py index 12fd35a..7b70a6c 100644 --- a/doc/hooks/badge.py +++ b/doc/hooks/badge.py @@ -1,36 +1,39 @@ +import argparse from typing import Callable from mkdocs.config.defaults import MkDocsConfig - -def _badge_html(icon: str, text: str = "", typ: str = ""): +def _badge_html(left_text: str, right_text: str = "", typ: str = ""): classes = f"mdx-badge mdx-badge--{typ}" if typ else "mdx-badge" + left_classes = f"mdx-badge__icon" if left_text[0] == ":" and left_text[-1] == ":" else "mdx-badge__text" + right_classes = f"mdx-badge__icon" if right_text[0] == ":" and right_text[-1] == ":" else "mdx-badge__text" return "".join([ f'', - f'{icon}' if icon else "", - f'{text}' if text else "", + f'{left_text}' if left_text else "", + f'{right_text}' if right_text else "", f"", ]) -def badge(args_text: str, config: MkDocsConfig) -> str: - icon, *text = args_text.split(" ", 1) - return _badge_html( - icon=icon, - text="".join(text) - ) - +def badge(args: argparse.Namespace, config: MkDocsConfig) -> str: + if args.command == "badge-version": + return _badge_html(":material-tag-outline:", args.right_text) + if args.command == "badge-experimental": + return _badge_html(":material-flask-outline:", args.right_text) + return _badge_html(args.left_text, args.right_text) -def badge_experimental(_args: str, config: MkDocsConfig): - return _badge_html(":material-flask-outline:") +def HOOKS(sub_parser) -> list[tuple[str, Callable[[argparse.Namespace, MkDocsConfig], str]]]: + parser = sub_parser.add_parser("badge", help="badge") + parser.add_argument("left_text", type=str, default="", help="left text of the badge") + parser.add_argument("right_text", type=str, default="", help="right text of the badge") + parser = sub_parser.add_parser("badge-version", help="experimental badge") + parser.add_argument("right_text", type=str, default="", help="right text of the badge") -def badge_version(args_text: str, config: MkDocsConfig): - return _badge_html(":material-tag-outline:", f"{args_text}") + parser = sub_parser.add_parser("experimental", help="experimental badge") + parser.add_argument("right_text", type=str, default="", help="right text of the badge") + parser = sub_parser.add_parser("download", help="download badge") + parser.add_argument("right_text", type=str, default="", help="right text of the badge") -HOOKS: dict[str, Callable[[str, MkDocsConfig], str]] = { - "badge": badge, - "experimental": badge_experimental, - "version": badge_version, -} + return [("badge", badge), ("badge-version", badge), ("badge-experimental", badge)] diff --git a/doc/hooks/hooks.py b/doc/hooks/hooks.py index bef45e1..849c5e2 100644 --- a/doc/hooks/hooks.py +++ b/doc/hooks/hooks.py @@ -1,3 +1,4 @@ +import argparse import re from re import Match from typing import Callable @@ -10,21 +11,39 @@ import source_link -HOOKS: dict[str, Callable[[str, MkDocsConfig], str]] = badge.HOOKS | source_link.HOOKS +def gen_parser() -> tuple[argparse.ArgumentParser, any]: + parser = argparse.ArgumentParser() + parser.exit_on_error = False + subparsers = parser.add_subparsers(dest="command") + + return parser, subparsers + + +PARSER, SUB_PARSER = gen_parser() +HOOKS: dict[str, Callable[[argparse.Namespace, MkDocsConfig], str]] = {} + + +def add_hooks(hook: Callable[[any], list[tuple[str, Callable[[argparse.Namespace, MkDocsConfig], str]]]]) -> None: + hooks: list[tuple[str, Callable[[argparse.Namespace, MkDocsConfig], str]]] = hook(SUB_PARSER) + for hook in hooks: + HOOKS[hook[0]] = hook[1] + + +add_hooks(badge.HOOKS) +add_hooks(source_link.HOOKS) def on_page_markdown(markdown: str, *, page: Page, config: MkDocsConfig, files: Files): - def replace(match: Match): - typ, args = match.groups() - args = args.strip() + def replace(match: re.Match): + args: argparse.Namespace = PARSER.parse_args(match.groups()[0].split(" ")) - fn: Callable[[str, MkDocsConfig], str] = HOOKS.get(typ, None) + fn: Callable[[argparse.Namespace, MkDocsConfig], str] = HOOKS.get(args.command, None) if fn is None: raise RuntimeError(f"Unknown shortcode: {type}") return fn(args, config) return re.sub( - r"", + r"{{\skny:(.*?)\s}}", replace, markdown, flags=re.I | re.M ) diff --git a/doc/hooks/source_link.py b/doc/hooks/source_link.py index fd36fe2..757cc7d 100644 --- a/doc/hooks/source_link.py +++ b/doc/hooks/source_link.py @@ -1,15 +1,16 @@ +import argparse from typing import Callable from mkdocs.config.defaults import MkDocsConfig -def source_link(args: str, config: MkDocsConfig) -> str: - path, *text_ = args.split(" ", 1) - text: str = "".join(text_) - print(config.extra["kenyoni"]) - return f"[{path if text == '' else text}]({config.extra.get('kenyoni', {}).get('source_url', '')}{path})" +def source_link(args: argparse.Namespace, config: MkDocsConfig) -> str: + return f"[{args.path if args.text == '' else args.text}]({config.extra.get('kenyoni', {}).get('source_url', '')}{args.path})" -HOOKS: dict[str, Callable[[str, MkDocsConfig], str]] = { - "source": source_link, -} +def HOOKS(sub_parser) -> list[tuple[str, Callable[[argparse.Namespace, MkDocsConfig], str]]]: + parser = sub_parser.add_parser("source") + parser.add_argument("path", type=str, default="", help="source path") + parser.add_argument("text", nargs='?', type=str, default="", help="text") + + return [("source", source_link)] From d364ac15a0d02d15fb1cb6180b752f87db6acc95 Mon Sep 17 00:00:00 2001 From: Iceflower Date: Mon, 24 Jun 2024 03:18:30 +0200 Subject: [PATCH 20/30] [doc] Improve badge handling --- doc/docs/_static/css/badge.css | 52 +++++++++-------------- doc/docs/addons/licenses.md | 8 ++-- doc/docs/addons/qr_code.md | 4 +- doc/docs/addons/texture_button_colored.md | 4 +- doc/hooks/badge.py | 45 +++++++++++++------- doc/hooks/hooks.py | 5 ++- 6 files changed, 61 insertions(+), 57 deletions(-) diff --git a/doc/docs/_static/css/badge.css b/doc/docs/_static/css/badge.css index 01ffd6d..b7974a9 100644 --- a/doc/docs/_static/css/badge.css +++ b/doc/docs/_static/css/badge.css @@ -2,50 +2,38 @@ font-size: .85em } -[dir=ltr] .md-typeset .mdx-badge__icon { - border-top-left-radius: .1rem -} - -[dir=rtl] .md-typeset .mdx-badge__icon { - border-top-right-radius: .1rem -} - -[dir=ltr] .md-typeset .mdx-badge__icon { - border-bottom-left-radius: .1rem -} - -[dir=rtl] .md-typeset .mdx-badge__icon { - border-bottom-right-radius: .1rem -} - .md-typeset .mdx-badge__icon { color: var(--md-typeset-a-color); - background: var(--md-accent-fg-color--transparent); - padding: .2rem + box-shadow: inset 0 0 0.0rem 0.05rem var(--md-accent-fg-color); + padding: 0.2rem; } -.md-typeset .mdx-badge__icon:last-child { - border-radius: .1rem +.md-typeset .mdx-badge__icon:first-child { + border-bottom-left-radius: 0.2rem; + border-top-left-radius: 0.2rem; } -[dir=ltr] .md-typeset .mdx-badge__text { - border-top-right-radius: .1rem +.md-typeset .mdx-badge__icon:last-child { + border-bottom-right-radius: 0.2em; + border-top-right-radius: 0.2rem; } -[dir=rtl] .md-typeset .mdx-badge__text { - border-top-left-radius: .1rem +.md-typeset .mdx-badge__text { + color: var(--md-typeset-a-color); + box-shadow: inset 0 0 0.0rem 1px var(--md-accent-fg-color); + padding: 0.2rem 0.3rem; } -[dir=ltr] .md-typeset .mdx-badge__text { - border-bottom-right-radius: .1rem +.md-typeset .mdx-badge__text:first-child { + border-bottom-left-radius: 0.2rem; + border-top-left-radius: 0.2rem; } -[dir=rtl] .md-typeset .mdx-badge__text { - border-bottom-left-radius: .1rem +.md-typeset .mdx-badge__text:last-child { + border-bottom-right-radius: 0.2rem; + border-top-right-radius: 0.2rem; } -.md-typeset .mdx-badge__text { - color: var(--md-typeset-a-color); - box-shadow: 0 0 0 1px inset var(--md-accent-fg-color--transparent); - padding: .2rem .3rem +.kny-badge-bg { + background: var(--md-accent-fg-color--transparent); } diff --git a/doc/docs/addons/licenses.md b/doc/docs/addons/licenses.md index a7df8d7..6233050 100644 --- a/doc/docs/addons/licenses.md +++ b/doc/docs/addons/licenses.md @@ -63,9 +63,9 @@ Providing static utility and static functions to save and load licenses. ### Component -{{ kny:badge extends RefCounted }} +{{ kny:badge extends RefCounted --left-bg }} -{{ kny:source /addons/licenses/component.gd res://addons/licenses/component.gd }} +{{ kny:source "/addons/licenses/component.gd" "res://addons/licenses/component.gd" }} Component class, data wrapper for all information regarding one license item. @@ -100,9 +100,9 @@ Component class, data wrapper for all information regarding one license item. ### Component.License -{{ kny:badge extends RefCounted }} +{{ kny:badge extends RefCounted --left-bg }} -{{ kny:source /addons/licenses/licenses.gd res://addons/licenses/licenses.gd }} +{{ kny:source "/addons/licenses/licenses.gd" "res://addons/licenses/licenses.gd" }} License class. diff --git a/doc/docs/addons/qr_code.md b/doc/docs/addons/qr_code.md index 96e8eb7..af11faa 100644 --- a/doc/docs/addons/qr_code.md +++ b/doc/docs/addons/qr_code.md @@ -22,7 +22,7 @@ QR Code generation either with the included `QRCodeRect` node or use the encodin ### QRCodeRect -{{ kny:badge extends TextureRect }} +{{ kny:badge extends TextureRect --left-bg }} {{ kny:source /addons/qr_code/qr_code_rect.gd res://addons/qr_code/qr_code_rect.gd }} @@ -50,7 +50,7 @@ When using byte encoding you can also pass strings for specific ECI values (ISO ### QRCode -{{ kny:badge extends RefCounted }} +{{ kny:badge extends RefCounted --left-bg }} {{ kny:source /addons/qr_code/qr_code.gd res://addons/qr_code/qr_code.gd }} diff --git a/doc/docs/addons/texture_button_colored.md b/doc/docs/addons/texture_button_colored.md index 2a189fb..c778e52 100644 --- a/doc/docs/addons/texture_button_colored.md +++ b/doc/docs/addons/texture_button_colored.md @@ -22,9 +22,9 @@ Let you apply the icon color theme properties for the texture button. Uses `self ### TextureButtonColored -{{ kny:badge extends TextureButton }} +{{ kny:badge extends TextureButton --left-bg }} -{{ kny:source /addons/custom_theme_overrides/texture_button_colored.gd res://addons/custom_theme_overrides/texture_button_colored.gd }} +{{ kny:source "/addons/custom_theme_overrides/texture_button_colored.gd" "res://addons/custom_theme_overrides/texture_button_colored.gd" }} #### Theme Overrides diff --git a/doc/hooks/badge.py b/doc/hooks/badge.py index 7b70a6c..a34cb01 100644 --- a/doc/hooks/badge.py +++ b/doc/hooks/badge.py @@ -3,37 +3,52 @@ from mkdocs.config.defaults import MkDocsConfig -def _badge_html(left_text: str, right_text: str = "", typ: str = ""): - classes = f"mdx-badge mdx-badge--{typ}" if typ else "mdx-badge" - left_classes = f"mdx-badge__icon" if left_text[0] == ":" and left_text[-1] == ":" else "mdx-badge__text" - right_classes = f"mdx-badge__icon" if right_text[0] == ":" and right_text[-1] == ":" else "mdx-badge__text" + +def _badge_html(args: argparse.Namespace): + left_classes = f"mdx-badge__icon" if args.left_text[0] == ":" and args.left_text[-1] == ":" else "mdx-badge__text" + if args.left_bg: + left_classes += " kny-badge-bg" + right_classes = f"mdx-badge__icon" if len(args.right_text) > 2 and args.right_text[0] == ":" and args.right_text[-1] == ":" else "mdx-badge__text" + if args.right_bg: + right_classes += " kny-badge-bg" return "".join([ - f'', - f'{left_text}' if left_text else "", - f'{right_text}' if right_text else "", + f'', + f'{args.left_text}' if args.left_text else "", + f'{args.right_text}' if args.right_text else "", f"", ]) def badge(args: argparse.Namespace, config: MkDocsConfig) -> str: if args.command == "badge-version": - return _badge_html(":material-tag-outline:", args.right_text) + args.left_text = ":material-tag-outline:" + args.left_bg = True if args.command == "badge-experimental": - return _badge_html(":material-flask-outline:", args.right_text) - return _badge_html(args.left_text, args.right_text) + args.left_text = ":material-flask-outline:" + args.left_bg = True + if args.command == "badge-download": + args.left_text = ":material-download:" + args.left_bg = True + return _badge_html(args) + def HOOKS(sub_parser) -> list[tuple[str, Callable[[argparse.Namespace, MkDocsConfig], str]]]: parser = sub_parser.add_parser("badge", help="badge") parser.add_argument("left_text", type=str, default="", help="left text of the badge") - parser.add_argument("right_text", type=str, default="", help="right text of the badge") + parser.add_argument("right_text", nargs='?', type=str, default="", help="right text of the badge") + parser.add_argument("--left-bg", action="store_true", default=False, help="left background color") + parser.add_argument("--right-bg", action="store_true", default=False, help="left background color") - parser = sub_parser.add_parser("badge-version", help="experimental badge") + parser: argparse.ArgumentParser = sub_parser.add_parser("badge-version", help="experimental badge") parser.add_argument("right_text", type=str, default="", help="right text of the badge") + parser.add_argument("--right-bg", action="store_true", default=False, help="left background color") - parser = sub_parser.add_parser("experimental", help="experimental badge") + parser = sub_parser.add_parser("badge-experimental", help="experimental badge") parser.add_argument("right_text", type=str, default="", help="right text of the badge") + parser.add_argument("--right-bg", action="store_true", default=False, help="left background color") - parser = sub_parser.add_parser("download", help="download badge") + parser = sub_parser.add_parser("badge-download", help="download badge") parser.add_argument("right_text", type=str, default="", help="right text of the badge") + parser.add_argument("--right-bg", action="store_true", default=False, help="left background color") - return [("badge", badge), ("badge-version", badge), ("badge-experimental", badge)] + return [("badge", badge), ("badge-version", badge), ("badge-experimental", badge), ("badge-download", badge)] diff --git a/doc/hooks/hooks.py b/doc/hooks/hooks.py index 849c5e2..aba7627 100644 --- a/doc/hooks/hooks.py +++ b/doc/hooks/hooks.py @@ -1,6 +1,7 @@ import argparse import re from re import Match +import shlex from typing import Callable from mkdocs.config.defaults import MkDocsConfig @@ -35,11 +36,11 @@ def add_hooks(hook: Callable[[any], list[tuple[str, Callable[[argparse.Namespace def on_page_markdown(markdown: str, *, page: Page, config: MkDocsConfig, files: Files): def replace(match: re.Match): - args: argparse.Namespace = PARSER.parse_args(match.groups()[0].split(" ")) + args: argparse.Namespace = PARSER.parse_args(shlex.split(match.groups()[0])) fn: Callable[[argparse.Namespace, MkDocsConfig], str] = HOOKS.get(args.command, None) if fn is None: - raise RuntimeError(f"Unknown shortcode: {type}") + raise RuntimeError(f"Unknown shortcode: {args.command}") return fn(args, config) From 24a39ff864f9ba9ca64cbd6838da4dd6764fb718 Mon Sep 17 00:00:00 2001 From: Iceflower Date: Mon, 24 Jun 2024 18:09:25 +0200 Subject: [PATCH 21/30] [doc] Improve class documentation --- doc/docs/_static/css/common.css | 4 + doc/docs/_static/css/godot_ref.css | 3 + .../addons/aspect_ratio_resize_container.md | 2 +- doc/docs/addons/custom_theme_overrides.md | 2 +- doc/docs/addons/git_sha_project_setting.md | 2 +- doc/docs/addons/glogging.md | 55 ++++---- doc/docs/addons/hide_private_properties.md | 2 +- doc/docs/addons/licenses.md | 91 ++++++++------ doc/docs/addons/qr_code.md | 118 +++++++++--------- doc/docs/addons/texture_button_colored.md | 18 +-- doc/hooks/godot_ref.py | 15 +++ doc/hooks/hooks.py | 20 +-- doc/mkdocs.yml | 1 + 13 files changed, 192 insertions(+), 141 deletions(-) create mode 100644 doc/docs/_static/css/godot_ref.css create mode 100644 doc/hooks/godot_ref.py diff --git a/doc/docs/_static/css/common.css b/doc/docs/_static/css/common.css index 1fcb240..e1d8335 100644 --- a/doc/docs/_static/css/common.css +++ b/doc/docs/_static/css/common.css @@ -2,3 +2,7 @@ width: 100%; text-align: center; } + +.kny-mono-font { + font-family: var(--md-code-font-family); +} diff --git a/doc/docs/_static/css/godot_ref.css b/doc/docs/_static/css/godot_ref.css new file mode 100644 index 0000000..e019abb --- /dev/null +++ b/doc/docs/_static/css/godot_ref.css @@ -0,0 +1,3 @@ +.kny-godot-ref { + font-family: var(--md-code-font-family); +} diff --git a/doc/docs/addons/aspect_ratio_resize_container.md b/doc/docs/addons/aspect_ratio_resize_container.md index 82b0abc..91afaab 100644 --- a/doc/docs/addons/aspect_ratio_resize_container.md +++ b/doc/docs/addons/aspect_ratio_resize_container.md @@ -18,7 +18,7 @@ This works except for `STRETCH_MODE_COVER`. ## Example -{{ kny:source /examples/aspect_ratio_resize_container/ }} +{{ kny:source "/examples/aspect_ratio_resize_container/" }} ## Changelog diff --git a/doc/docs/addons/custom_theme_overrides.md b/doc/docs/addons/custom_theme_overrides.md index 5e2a618..4f86768 100644 --- a/doc/docs/addons/custom_theme_overrides.md +++ b/doc/docs/addons/custom_theme_overrides.md @@ -19,7 +19,7 @@ The custom theme override variables can be handled like every other theme overri ## Example -{{ kny:source /examples/custom_theme_overrides/ }} +{{ kny:source "/examples/custom_theme_overrides/" }} ```gdscript # declare the members diff --git a/doc/docs/addons/git_sha_project_setting.md b/doc/docs/addons/git_sha_project_setting.md index 329f540..bdb8ff1 100644 --- a/doc/docs/addons/git_sha_project_setting.md +++ b/doc/docs/addons/git_sha_project_setting.md @@ -19,7 +19,7 @@ The Git SHA will **not** be kept in `project.godot` to not clutter any version c ## Example -{{ kny:source /examples/git_sha_project_setting/ }} +{{ kny:source "/examples/git_sha_project_setting/" }} ## Changelog diff --git a/doc/docs/addons/glogging.md b/doc/docs/addons/glogging.md index 27843c3..12ec109 100644 --- a/doc/docs/addons/glogging.md +++ b/doc/docs/addons/glogging.md @@ -8,14 +8,14 @@ Logging into a file is not supported. The output will be always done via print. ## Compatibility | Godot | Version | -|-------|----------| +| ----- | -------- | | 4.3 | >= 1.5.0 | | 4.2 | >= 1.5.0 | | 4.1 | <= 1.4.1 | ## Example -{{ kny:source /examples/glogging/ }} +{{ kny:source "/examples/glogging/" }} Example output. @@ -35,72 +35,83 @@ Example output. ### GLogging -{{ kny:source /addons/glogging/glogging.gd res://addons/glogging/glogging.gd }} +{{ kny:source "/addons/glogging/glogging.gd" "res://addons/glogging/glogging.gd" }} Logging base class. Provides helper methods. #### Properties -| Name | Type | Description | -|-------------|---------------------------|---------------------| -| root_logger | [Logger](#glogginglogger) | root logger object. | +| Name | Type | Description | +| ------------------------------- | ------------------------- | ------------------- | +| root_logger {: .kny-mono-font } | [Logger](#glogginglogger) | root logger object. | + +#### Constants + +| Name | Type | Value | Description | +| -------------------------------- | ------------------- | ----- | ------------------- | +| LEVEL_NOTSET {: .kny-mono-font } | {{ kny:godot int }} | 0 | Logging level not set. | +| LEVEL_DEBUG {: .kny-mono-font } | {{ kny:godot int }} | 10 | | +| LEVEL_INFO {: .kny-mono-font } | {{ kny:godot int }} | 20 | | +| LEVEL_WARNING {: .kny-mono-font } | {{ kny:godot int }} | 30 | | +| LEVEL_ERROR {: .kny-mono-font } | {{ kny:godot int }} | 40 | | +| LEVEL_CRITICAL {: .kny-mono-font } | {{ kny:godot int }} | 50 | | #### Methods -`debug(message: Variant, values: Array[Variant] = []) -> void` +void debug ( {{ kny:godot Variant }} message, {{ kny:godot Array }}[{{ kny:godot Variant }}]=[] values ) const {: .kny-mono-font } : log with root logger at debug level -`info(message: Variant, values: Array[Variant] = []) -> void` +void info ( {{ kny:godot Variant }} message, {{ kny:godot Array }}[{{ kny:godot Variant }}]=[] values ) const {: .kny-mono-font } : log with root logger at info level -`warning(message: Variant, values: Array[Variant] = []) -> void` +void warning ( {{ kny:godot Variant }} message, {{ kny:godot Array }}[{{ kny:godot Variant }}]=[] values ) const {: .kny-mono-font } : log with root logger at warning level, will also display a debug warning -`error(message: Variant, values: Array[Variant] = []) -> void` +void error ( {{ kny:godot Variant }} message, {{ kny:godot Array }}[{{ kny:godot Variant }}]=[] values ) const {: .kny-mono-font } : with root logger at error level, will also display a debug error -`critical(message: Variant, values: Array[Variant] = []) -> void` +void critical ( {{ kny:godot Variant }} message, {{ kny:godot Array }}[{{ kny:godot Variant }}]=[] values ) const {: .kny-mono-font } : log with root logger at critical level -`log(level: int, message: Variant, values: Array[Variant] = []) -> void` +void log ( {{ kny:godot int }} level, {{ kny:godot Variant }} message, {{ kny:godot Array }}[{{ kny:godot Variant }}]=[] values ) const {: .kny-mono-font } : log at a custom level ### GLogging.Logger {{ kny:badge extends RefCounted }} -{{ kny:source /addons/glogging/glogging.gd res://addons/glogging/glogging.gd }} +{{ kny:source "/addons/glogging/glogging.gd" "res://addons/glogging/glogging.gd" }} Logger class. If not log level is set, the log level of the parent logger will be used. #### Methods -`create_child(module_name: String, log_level: int = LEVEL_NOTSET) -> Logger` +[Logger](#glogginglogger) create_child ( {{ kny:godot String }} module_name, {{ kny:godot int }} log_level=LEVEL_NOTSET) const {: .kny-mono-font } : create a child logger -`set_log_level(level: int) -> void` +void set_log_level ( {{ kny:godot int }} level ) {: .kny-mono-font } : set the log level -`log_level() -> int` +{{ kny:godot int }} log_level () const {: .kny-mono-font } : get log level -`debug(message: Variant, values: Array[Variant] = []) -> void` +void debug ( {{ kny:godot Variant }} message, {{ kny:godot Array }}[{{ kny:godot Variant }}]=[] values) const {: .kny-mono-font } : log at debug level -`info(message: Variant, values: Array[Variant] = []) -> void` +void info ( {{ kny:godot Variant }} message, {{ kny:godot Array }}[{{ kny:godot Variant }}]=[] values) const {: .kny-mono-font } : log at info level -`warning(message: Variant, values: Array[Variant] = []) -> void` +void warning ( {{ kny:godot Variant }} message, {{ kny:godot Array }}[{{ kny:godot Variant }}]=[] values) const {: .kny-mono-font } : log at warning level, will also display a debug warning -`error(message: Variant, values: Array[Variant] = []) -> void` +void error ( {{ kny:godot Variant }} message, {{ kny:godot Array }}[{{ kny:godot Variant }}]=[] values) const {: .kny-mono-font } : log at error level, will also display a debug error -`critical(message: Variant, values: Array[Variant] = []) -> void` +void critical ( {{ kny:godot Variant }} message, {{ kny:godot Array }}[{{ kny:godot Variant }}]=[] values) const {: .kny-mono-font } : log at critical level -`log(level: int, message: Variant, values: Array[Variant] = []) -> void` +void log ( {{ kny:godot int }} level, {{ kny:godot Variant }} message, {{ kny:godot Array }}[{{ kny:godot Variant }}]=[] values) const {: .kny-mono-font } : log at custom level ## Changelog diff --git a/doc/docs/addons/hide_private_properties.md b/doc/docs/addons/hide_private_properties.md index f92def0..86b2002 100644 --- a/doc/docs/addons/hide_private_properties.md +++ b/doc/docs/addons/hide_private_properties.md @@ -14,7 +14,7 @@ This plugin will hide exported private properties in the inspector for instantia ## Example -{{ kny:source /examples/hide_private_properties/ }} +{{ kny:source "/examples/hide_private_properties/" }} ## Changelog diff --git a/doc/docs/addons/licenses.md b/doc/docs/addons/licenses.md index 6233050..57d3bf4 100644 --- a/doc/docs/addons/licenses.md +++ b/doc/docs/addons/licenses.md @@ -14,7 +14,7 @@ project settings under the menu `Plugins` -> `Licenses`. ## Compatibility | Godot | Version | -|-------|---------------| +| ----- | ------------- | | 4.3 | >= 1.8.0 | | 4.2 | 1.6.0 - 1.7.8 | | 4.1 | <= 1.5.0 | @@ -25,42 +25,57 @@ project settings under the menu `Plugins` -> `Licenses`. ## Example -{{ kny:source /examples/licenses/ }} +{{ kny:source "/examples/licenses/" }} ## Interface ### Licenses -{{ kny:source /addons/licenses/licenses.gd res://addons/licenses/licenses.gd }} +{{ kny:source "/addons/licenses/licenses.gd" "res://addons/licenses/licenses.gd" }} Providing static utility and static functions to save and load licenses. #### Methods -`static compare_components_ascending(lhs: Component, rhs: Component) -> bool` +{{ kny:godot bool }} compare_components_ascending ( [Component](#component) lhs, [Component](#component) rhs ) static {: .kny-mono-font } : Compare components ascending. -`static get_engine_component(name: String) -> Component` +[Component](#component) get_engine_component ( {{ kny:godot String }} name ) static {: .kny-mono-font } : Get engine component by name. -`static get_engine_components() -> Array[Component]` +{{ kny:godot Array }}[[Component](#component)] get_engine_components () static {: .kny-mono-font } : Get all engine components. -`static get_required_engine_components() -> Array[Component]` +{{ kny:godot Array }}[[Component](#component)] get_required_engine_components () static {: .kny-mono-font } : Get engine components which are marked as required to mention. -`static save(components: Array[Component], file_path: String) -> int` +{{ kny:godot int }} save ( {{ kny:godot Array }}[[Component](#component)] components, {{ kny:godot String }} file_path ) -> static {: .kny-mono-font } : Save array of components to file. -`static load(file_path: String) -> LoadResult` +[LoadResult](#licensesloadresult) load ( {{ kny:godot String }} file_path ) static {: .kny-mono-font } : Load licenses from file. -`static set_license_data_filepath(path: String) -> void` +void set_license_data_filepath ( {{ kny:godot String }} path ) static {: .kny-mono-font } : Set the project license data path. -`static get_license_data_filepath() -> String` +{{ kny:godot String }} get_license_data_filepath () static {: .kny-mono-font } : Returns the project license data path. +### Licenses.LoadResult + +{{ kny:badge extends RefCounted --left-bg }} + +{{ kny:source "/addons/licenses/licenses.gd" "res://addons/licenses/licenses.gd" }} + +Loading result returned when loading a licenses file. + +#### Properties + +| Name | Type | Description | +| ------------------------------ | ---------------------------------------------- | ---------------------------------- | +| components {: .kny-mono-font } | {{ kny:godot Array }}[[Component](#component)] | Components. | +| err_msg {: .kny-mono-font } | {{ kny:godot String }} | Error message when loading failed. | + ### Component {{ kny:badge extends RefCounted --left-bg }} @@ -71,31 +86,31 @@ Component class, data wrapper for all information regarding one license item. #### Properties -| Name | Type | Description | -|-------------|---------------------------------------|----------------------------------------------------------------------------| -| id | String | Identifier. | -| category | String | Use to structure the licenses to top categories. E.g. Textures, Fonts, ... | -| name | String | Name of the software or component. | -| version | String | Version of the software or component. | -| copyright | PackedStringArray | Copyrights. | -| contact | String | Contact of developer. | -| description | String | Additional description. | -| web | String | Web url to project page. | -| paths | PackedStringArray | Array of String, affected files or directories. | -| licenses | Array\[[License](#componentlicense)\] | Licenses. | +| Name | Type | Description | +| ------------------------------- | ----------------------------------------------------- | -------------------------------------------------------------------------- | +| id {: .kny-mono-font } | {{ kny:godot String }} | Identifier. | +| category {: .kny-mono-font } | {{ kny:godot String }} | Use to structure the licenses to top categories. E.g. Textures, Fonts, ... | +| name {: .kny-mono-font } | {{ kny:godot String }} | Name of the software or component. | +| version {: .kny-mono-font } | {{ kny:godot String }} | Version of the software or component. | +| copyright {: .kny-mono-font } | {{ kny:godot PackedStringArray }} | Copyrights. | +| contact {: .kny-mono-font } | {{ kny:godot String }} | Contact of developer. | +| description {: .kny-mono-font } | {{ kny:godot String }} | Additional description. | +| web {: .kny-mono-font } | {{ kny:godot String }} | Web url to project page. | +| paths {: .kny-mono-font } | {{ kny:godot PackedStringArray }} | Path to affected files or directories. | +| licenses {: .kny-mono-font } | {{ kny:godot Array }}\[[License](#componentlicense)\] | Licenses. | #### Methods -`get_warnings() -> PackedStringArray` +{{ kny:godot PackedStringArray }} get_warnings () const {: .kny-mono-font } : Get warnings regarding this component, e.g. missing license. -`serialize() -> Dictionary` +{{ kny:godot Dictionary }} serialize () const {: .kny-mono-font } : Serialize to dictionary. -`deserialize(data: Dictionary) -> Component` +[Component](#component) deserialize ( {{ kny:godot Dictionary }} data ) {: .kny-mono-font } : Load values from dictionary. -`duplicate() -> Component` +[Component](#component) duplicate () const {: .kny-mono-font } : Returns a duplicate of itself. ### Component.License @@ -108,26 +123,26 @@ License class. #### Properties -| Name | Type | Description | -|------------|--------|-------------------------------------------------------------------------------------------| -| name | String | Full name. | -| identifier | String | Shortcode for this license. | -| text | String | License text. | -| file | String | License file. Will load the license text from this file automatically if `text` is empty. | -| web | String | Web present of the license. | +| Name | Type | Description | +| ------------------------------ | ---------------------- | ----------------------------------------------------------------------------------------- | +| name {: .kny-mono-font } | {{ kny:godot String }} | Full name. | +| identifier {: .kny-mono-font } | {{ kny:godot String }} | Shortcode for this license. | +| text {: .kny-mono-font } | {{ kny:godot String }} | License text. | +| file {: .kny-mono-font } | {{ kny:godot String }} | License file. Will load the license text from this file automatically if `text` is empty. | +| web {: .kny-mono-font } | {{ kny:godot String }} | Web present of the license. | #### Methods -`get_license_text() -> String` +{{ kny:godot String }} get_license_text () const {: .kny-mono-font } : Either returns the license text or loads the text from file or a message that the text could not be loaded. -`serialize() -> Dictionary` +{{ kny:godot String }} serialize () const {: .kny-mono-font } : Serialize to dictionary. -`deserialize() -> Dictionary` +[License](#componentlicense) deserialize ( {{ kny:godot Dictionary }} data ) {: .kny-mono-font } : Load values from dictionary. -`duplicate() -> License` +[License](#componentlicense) duplicate () const {: .kny-mono-font } : Returns a duplicate of itself. ## Changelog diff --git a/doc/docs/addons/qr_code.md b/doc/docs/addons/qr_code.md index af11faa..6d74b48 100644 --- a/doc/docs/addons/qr_code.md +++ b/doc/docs/addons/qr_code.md @@ -5,7 +5,7 @@ QR Code generation either with the included `QRCodeRect` node or use the encodin ## Compatibility | Godot | Version | -|-------|----------| +| ----- | -------- | | 4.3 | >= 1.1.0 | | 4.2 | >= 1.1.0 | | 4.1 | <= 1.0.0 | @@ -16,7 +16,7 @@ QR Code generation either with the included `QRCodeRect` node or use the encodin ## Example -{{ kny:source /examples/qr_code/ }} +{{ kny:source "/examples/qr_code/" }} ## Interface @@ -24,127 +24,127 @@ QR Code generation either with the included `QRCodeRect` node or use the encodin {{ kny:badge extends TextureRect --left-bg }} -{{ kny:source /addons/qr_code/qr_code_rect.gd res://addons/qr_code/qr_code_rect.gd }} +{{ kny:source "/addons/qr_code/qr_code_rect.gd" "res://addons/qr_code/qr_code_rect.gd" }} `TextureRect` like node. The texture is updated by itself. When using byte encoding you can also pass strings for specific ECI values (ISO 8859-1, Shift JIS, UTF-8, UTF-16, US ASCII), the input string will be automatically converted to an byte array. #### Properties -| Name | Type | Description | -|---------------------|--------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| mode | [QRCode.Mode](#qrcodemode) | QR Code mode | -| error_correction | [QRCode.ErrorCorrection](#qrcodeerrorcorrection) | Error correction value. | -| use_eci | String | Use Extended Channel Interpretation (ECI) | -| eci_value | String | Extended Channel Interpretation (ECI) Value | -| data | Variant | Type varies based on the encoding mode. | -| auto_version | bool | Use automatically the smallest QR Code version. | -| version | int | QR Code version (size). | -| auto_mask_pattern | bool | Use automatically the best mask pattern. | -| mask_pattern | int | QR Code mask pattern. | -| light_module_color | Color | Color of the light modules. | -| dark_module_color | Color | Color of the dark modules. | -| auto_module_px_size | bool | Automatically set the module pixel size based on the size. Do not use expand mode `KEEP_SIZE` when using it.
Turn this off when the QR Code changes or is resized often, as it impacts the performance quite heavily. | -| module_px_size | int | Use that many pixel for one module. | -| quiet_zone_size | int | Use that many modules for the quiet zone. A value of 4 is recommended. | +| Name | Type | Description | +| --------------------------------------- | ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| mode {: .kny-mono-font } | [QRCode.Mode](#qrcodemode) | QR Code mode | +| error_correction {: .kny-mono-font } | [QRCode.ErrorCorrection](#qrcodeerrorcorrection) | Error correction value. | +| use_eci {: .kny-mono-font } | {{ kny:godot String }} | Use Extended Channel Interpretation (ECI) | +| eci_value {: .kny-mono-font } | {{ kny:godot String }} | Extended Channel Interpretation (ECI) Value | +| data {: .kny-mono-font } | {{ kny:godot Variant }} | Type varies based on the encoding mode. | +| auto_version {: .kny-mono-font } | {{ kny:godot bool }} | Use automatically the smallest QR Code version. | +| version {: .kny-mono-font } | {{ kny:godot int }} | QR Code version (size). | +| auto_mask_pattern {: .kny-mono-font } | {{ kny:godot bool }} | Use automatically the best mask pattern. | +| mask_pattern {: .kny-mono-font } | {{ kny:godot int }} | QR Code mask pattern. | +| light_module_color {: .kny-mono-font } | {{ kny:godot Color }} | Color of the light modules. | +| dark_module_color {: .kny-mono-font } | {{ kny:godot Color }} | Color of the dark modules. | +| auto_module_px_size {: .kny-mono-font } | {{ kny:godot bool }} | Automatically set the module pixel size based on the size. Do not use expand mode `KEEP_SIZE` when using it.
Turn this off when the QR Code changes or is resized often, as it impacts the performance quite heavily. | +| module_px_size {: .kny-mono-font } | {{ kny:godot int }} | Use that many pixel for one module. | +| quiet_zone_size {: .kny-mono-font } | {{ kny:godot int }} | Use that many modules for the quiet zone. A value of 4 is recommended. | ### QRCode {{ kny:badge extends RefCounted --left-bg }} -{{ kny:source /addons/qr_code/qr_code.gd res://addons/qr_code/qr_code.gd }} +{{ kny:source "/addons/qr_code/qr_code.gd" "res://addons/qr_code/qr_code.gd" }} QRCode class to generate QR Codes. #### Properties -| Name | Type | Description | -|-------------------|--------------------------------------------------|-------------------------------------------------| -| mode | [QRCode.Mode](#qrcodemode) | QR Code mode. | -| error_correction | [QRCode.ErrorCorrection](#qrcodeerrorcorrection) | Error correction value. | -| use_eci | String | Use Extended Channel Interpretation (ECI) | -| eci_value | String | Extended Channel Interpretation (ECI) Value | -| auto_version | bool | Use automatically the smallest QR Code version. | -| version | int | QR Code version (size). | -| auto_mask_pattern | bool | Use automatically the best mask pattern. | -| mask_pattern | int | QR Code mask pattern. | +| Name | Type | Description | +| ------------------------------------- | ------------------------------------------------ | ----------------------------------------------- | +| mode {: .kny-mono-font } | [QRCode.Mode](#qrcodemode) | QR Code mode. | +| error_correction {: .kny-mono-font } | [QRCode.ErrorCorrection](#qrcodeerrorcorrection) | Error correction value. | +| use_eci {: .kny-mono-font } | {{ kny:godot String }} | Use Extended Channel Interpretation (ECI) | +| eci_value {: .kny-mono-font } | {{ kny:godot String }} | Extended Channel Interpretation (ECI) Value | +| auto_version {: .kny-mono-font } | {{ kny:godot bool }} | Use automatically the smallest QR Code version. | +| version {: .kny-mono-font } | {{ kny:godot int }} | QR Code version (size). | +| auto_mask_pattern {: .kny-mono-font } | {{ kny:godot bool }} | Use automatically the best mask pattern. | +| mask_pattern {: .kny-mono-font } | {{ kny:godot int }} | QR Code mask pattern. | #### Methods -`get_module_count() -> int` +{{ kny:godot int }} get_module_count () const {: .kny-mono-font } : Return the module count per side. -`calc_min_version() -> int` +{{ kny:godot int }} calc_min_version () const {: .kny-mono-font } : Return the minimal version required to encode the data. -`generate_image(module_px_size: int = 1, light_module_color: Color = Color.WHITE, dark_module_color: Color = Color.BLACK) -> Image` -: Generate an image. This method can be called repeatedly, as encoding will only happens once and be cached. +{{ kny:godot Image }} generate_image ( {{ kny:godot int }} module_px_size=1, {{ kny:godot Color }} light_module_color=Color.WHITE, {{ kny:godot Color }} dark_module_color=Color.BLACK ) {: .kny-mono-font } +: Generate an image. This method can be called repeatedly, as encoding will only happens once and the result is cached. -`put_numeric(number: String) -> void` +void put_numeric ( {{ kny:godot String }} number ) {: .kny-mono-font } : Put a numeric text. Invalid characters are removed. Will change the encoding mode to `Mode.NUMERIC`. -`put_alphanumeric(text: String) -> void` +void put_alphanumeric ( {{ kny:godot String }} text ) {: .kny-mono-font } : Put a alphanumeric text. Invalid characters are removed. Will change the encoding mode to `Mode.ALPHANUMERIC`. -`put_byte(data: PackedByteArray) -> void` +void put_byte ( {{ kny:godot PackedByteArray }} data ) {: .kny-mono-font } : Put a bytes. Will change the encoding mode to `Mode.BYTE`. -`put_kanji(data: String) -> void` +void put_kanji ( {{ kny:godot String }} data ) {: .kny-mono-font } : Put a kanji text. Invalid characters are removed. Will change the encoding mode to `Mode.KANJI`. -`encode() -> PackedByteArray` +{{ kny:godot PackedByteArray }} encode () {: .kny-mono-font } : Get the QR Code row by row in one array. To get the row size use `get_module_count`. ### QRCode.Mode -{{ kny:source /addons/qr_code/qr_code.gd res://addons/qr_code/qr_code.gd }} +{{ kny:source "/addons/qr_code/qr_code.gd" "res://addons/qr_code/qr_code.gd" }} Encoding mode enum. -| Name | Value | -|--------------|-------| -| NUMERIC | 1 | -| ALPHANUMERIC | 2 | -| BYTE | 4 | -| KANJI | 8 | +| Name | Value | +| -------------------------------- | ----- | +| NUMERIC {: .kny-mono-font } | 1 | +| ALPHANUMERIC {: .kny-mono-font } | 2 | +| BYTE {: .kny-mono-font } | 4 | +| KANJI {: .kny-mono-font } | 8 | ### QRCode.ErrorCorrection -{{ kny:source /addons/qr_code/qr_code.gd res://addons/qr_code/qr_code.gd }} +{{ kny:source "/addons/qr_code/qr_code.gd" "res://addons/qr_code/qr_code.gd" }} Error correction enum. -| Name | Value | -|----------|-------| -| LOW | 1 | -| MEDIUM | 0 | -| QUARTILE | 3 | -| HIGH | 2 | +| Name | Value | +| ---------------------------- | ----- | +| LOW {: .kny-mono-font } | 1 | +| MEDIUM {: .kny-mono-font } | 0 | +| QUARTILE {: .kny-mono-font } | 3 | +| HIGH {: .kny-mono-font } | 2 | ### QRCode.ECI -{{ kny:source /addons/qr_code/qr_code.gd res://addons/qr_code/qr_code.gd }} +{{ kny:source "/addons/qr_code/qr_code.gd" "res://addons/qr_code/qr_code.gd" }} ECI values. See source code for available values. ### ShiftJIS -{{ kny:source /addons/qr_code/shift_jis.gd res://addons/qr_code/shift_jis.gd }} +{{ kny:source "/addons/qr_code/shift_jis.gd" "res://addons/qr_code/shift_jis.gd" }} Shift JIS encoding utility. #### Methods -`static func to_shift_jis_2004_buffer(text: String) -> PackedByteArray` +{{ kny:godot PackedByteArray }} to_shift_jis_2004_buffer ( {{ kny:godot String }} text ) -> PackedByteArray` static {: .kny-mono-font } : Convert text to Shift JIS 2004 encoded bytes. Returns u16 int array. Unknown characters are skipped. -`static func get_string_from_shift_jis_2004(arr: PackedByteArray) -> String` +{{ kny:godot String }} get_string_from_shift_jis_2004 ( {{ kny:godot PackedByteArray }} arr ) static {: .kny-mono-font } : Get text from Shift JIS 2004 encoded bytes. Requires an u16 int array. Unknown characters are skipped. -`static func to_jis_8_buffer(text: String) -> PackedByteArray` +{{ kny:godot PackedByteArray }} to_jis_8_buffer ( {{ kny:godot String }} text ) static {: .kny-mono-font } : Convert text to JIS 8 encoded bytes. Returns u8 int array. Unknown characters are skipped. -`static func get_string_from_jis_8(arr: PackedByteArray) -> String` +{{ kny:godot String }} get_string_from_jis_8 ( {{ kny:godot PackedByteArray }} arr ) static {: .kny-mono-font } : Get text from JIS 8 encoded bytes. Requires an u8 int array. Unknown characters are skipped. ## Changelog diff --git a/doc/docs/addons/texture_button_colored.md b/doc/docs/addons/texture_button_colored.md index c778e52..5db068d 100644 --- a/doc/docs/addons/texture_button_colored.md +++ b/doc/docs/addons/texture_button_colored.md @@ -5,7 +5,7 @@ Let you apply the icon color theme properties for the texture button. Uses `self ## Compatibility | Godot | Version | -|-------|---------------| +| ----- | ------------- | | 4.3 | >= 1.4.0 | | 4.2 | 1.3.0 - 1.3.2 | | 4.1 | <= 1.2.3 | @@ -28,14 +28,14 @@ Let you apply the icon color theme properties for the texture button. Uses `self #### Theme Overrides -| Name | Type | -|--------------------------|-------| -| icon_normal_color | Color | -| icon_pressed_color | Color | -| icon_hover_color | Color | -| icon_hover_pressed_color | Color | -| icon_focus_color | Color | -| icon_disabled_color | Color | +| Name | Type | +| -------------------------------------------- | --------------------- | +| icon_normal_color {: .kny-mono-font } | {{ kny:godot Color }} | +| icon_pressed_color {: .kny-mono-font } | {{ kny:godot Color }} | +| icon_hover_color {: .kny-mono-font } | {{ kny:godot Color }} | +| icon_hover_pressed_color {: .kny-mono-font } | {{ kny:godot Color }} | +| icon_focus_color {: .kny-mono-font } | {{ kny:godot Color }} | +| icon_disabled_color {: .kny-mono-font } | {{ kny:godot Color }} | ## Changelog diff --git a/doc/hooks/godot_ref.py b/doc/hooks/godot_ref.py new file mode 100644 index 0000000..845343d --- /dev/null +++ b/doc/hooks/godot_ref.py @@ -0,0 +1,15 @@ +import argparse +from typing import Callable + +from mkdocs.config.defaults import MkDocsConfig + + +def godot_ref(args: argparse.Namespace, config: MkDocsConfig) -> str: + return f'{args.class_name}' + + +def HOOKS(sub_parser) -> list[tuple[str, Callable[[argparse.Namespace, MkDocsConfig], str]]]: + parser = sub_parser.add_parser("godot") + parser.add_argument("class_name", type=str, default="", help="class name") + + return [("godot", godot_ref)] diff --git a/doc/hooks/hooks.py b/doc/hooks/hooks.py index aba7627..428eaee 100644 --- a/doc/hooks/hooks.py +++ b/doc/hooks/hooks.py @@ -9,28 +9,31 @@ from mkdocs.structure.pages import Page import badge +import godot_ref import source_link -def gen_parser() -> tuple[argparse.ArgumentParser, any]: - parser = argparse.ArgumentParser() - parser.exit_on_error = False - subparsers = parser.add_subparsers(dest="command") +class Parser(argparse.ArgumentParser): + def __init__(self): + super().__init__() + self.subparsers = self.add_subparsers(dest="command", parser_class=argparse.ArgumentParser) - return parser, subparsers + def error(self, message: str) -> None: + print(message) -PARSER, SUB_PARSER = gen_parser() +PARSER = Parser() HOOKS: dict[str, Callable[[argparse.Namespace, MkDocsConfig], str]] = {} def add_hooks(hook: Callable[[any], list[tuple[str, Callable[[argparse.Namespace, MkDocsConfig], str]]]]) -> None: - hooks: list[tuple[str, Callable[[argparse.Namespace, MkDocsConfig], str]]] = hook(SUB_PARSER) + hooks: list[tuple[str, Callable[[argparse.Namespace, MkDocsConfig], str]]] = hook(PARSER.subparsers) for hook in hooks: HOOKS[hook[0]] = hook[1] add_hooks(badge.HOOKS) +add_hooks(godot_ref.HOOKS) add_hooks(source_link.HOOKS) @@ -40,8 +43,7 @@ def replace(match: re.Match): fn: Callable[[argparse.Namespace, MkDocsConfig], str] = HOOKS.get(args.command, None) if fn is None: - raise RuntimeError(f"Unknown shortcode: {args.command}") - + raise RuntimeError(f"Unknown short code: {args.command}") return fn(args, config) return re.sub( diff --git a/doc/mkdocs.yml b/doc/mkdocs.yml index 4263ca8..e33d03d 100644 --- a/doc/mkdocs.yml +++ b/doc/mkdocs.yml @@ -15,6 +15,7 @@ extra: extra_css: - _static/css/common.css - _static/css/badge.css + - _static/css/godot_ref.css extra_javascript: # mathjax From 490b2440ee52923ee39f414114447eccc4420220 Mon Sep 17 00:00:00 2001 From: Iceflower Date: Mon, 24 Jun 2024 18:13:52 +0200 Subject: [PATCH 22/30] [doc] Fix icon explorer description --- doc/docs/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/docs/index.md b/doc/docs/index.md index 41f07af..2f442b5 100644 --- a/doc/docs/index.md +++ b/doc/docs/index.md @@ -52,7 +52,7 @@ Find the releases [here](https://github.com/kenyoni-software/godot-addons/releas --- - Simple logging utility. + Explore icon collections with thousands of icons and add them easily to your project. - [Icons Patcher](addons/icons_patcher.md){ .md-button .center-lg-button } From d18fbe145693752fbfe4b8bd27185d2afeb05a9d Mon Sep 17 00:00:00 2001 From: Iceflower Date: Sat, 13 Jul 2024 01:26:19 +0200 Subject: [PATCH 23/30] [doc] Remove external js libraries --- doc/docs/_static/dist/mathjax@3.2.2-es5-tex-mml-chtml.js | 1 + doc/docs/_static/dist/tablesort@5_3_0-min.js | 6 ++++++ doc/mkdocs.yml | 7 +++---- 3 files changed, 10 insertions(+), 4 deletions(-) create mode 100644 doc/docs/_static/dist/mathjax@3.2.2-es5-tex-mml-chtml.js create mode 100644 doc/docs/_static/dist/tablesort@5_3_0-min.js diff --git a/doc/docs/_static/dist/mathjax@3.2.2-es5-tex-mml-chtml.js b/doc/docs/_static/dist/mathjax@3.2.2-es5-tex-mml-chtml.js new file mode 100644 index 0000000..b7da2e5 --- /dev/null +++ b/doc/docs/_static/dist/mathjax@3.2.2-es5-tex-mml-chtml.js @@ -0,0 +1 @@ +(function(){"use strict";var __webpack_modules__={351:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__assign||function(){return i=Object.assign||function(t){for(var e,r=1,n=arguments.length;r0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},a=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.AssistiveMmlHandler=e.AssistiveMmlMathDocumentMixin=e.AssistiveMmlMathItemMixin=e.LimitedMmlVisitor=void 0;var c=r(4474),u=r(9259),p=r(7233),h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.getAttributes=function(e){return t.prototype.getAttributes.call(this,e).replace(/ ?id=".*?"/,"")},e}(u.SerializedMmlVisitor);function f(t){return function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.assistiveMml=function(t,e){if(void 0===e&&(e=!1),!(this.state()>=c.STATE.ASSISTIVEMML)){if(!this.isEscaped&&(t.options.enableAssistiveMml||e)){var r=t.adaptor,n=t.toMML(this.root).replace(/\n */g,"").replace(//g,""),o=r.firstChild(r.body(r.parse(n,"text/html"))),i=r.node("mjx-assistive-mml",{unselectable:"on",display:this.display?"block":"inline"},[o]);r.setAttribute(r.firstChild(this.typesetRoot),"aria-hidden","true"),r.setStyle(this.typesetRoot,"position","relative"),r.append(this.typesetRoot,i)}this.state(c.STATE.ASSISTIVEMML)}},e}(t)}function d(t){var e;return e=function(t){function e(){for(var e=[],r=0;r0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.HTMLAdaptor=void 0;var s=function(t){function e(e){var r=t.call(this,e.document)||this;return r.window=e,r.parser=new e.DOMParser,r}return o(e,t),e.prototype.parse=function(t,e){return void 0===e&&(e="text/html"),this.parser.parseFromString(t,e)},e.prototype.create=function(t,e){return e?this.document.createElementNS(e,t):this.document.createElement(t)},e.prototype.text=function(t){return this.document.createTextNode(t)},e.prototype.head=function(t){return t.head||t},e.prototype.body=function(t){return t.body||t},e.prototype.root=function(t){return t.documentElement||t},e.prototype.doctype=function(t){return t.doctype?""):""},e.prototype.tags=function(t,e,r){void 0===r&&(r=null);var n=r?t.getElementsByTagNameNS(r,e):t.getElementsByTagName(e);return Array.from(n)},e.prototype.getElements=function(t,e){var r,n,o=[];try{for(var s=i(t),a=s.next();!a.done;a=s.next()){var l=a.value;"string"==typeof l?o=o.concat(Array.from(this.document.querySelectorAll(l))):Array.isArray(l)||l instanceof this.window.NodeList||l instanceof this.window.HTMLCollection?o=o.concat(Array.from(l)):o.push(l)}}catch(t){r={error:t}}finally{try{a&&!a.done&&(n=s.return)&&n.call(s)}finally{if(r)throw r.error}}return o},e.prototype.contains=function(t,e){return t.contains(e)},e.prototype.parent=function(t){return t.parentNode},e.prototype.append=function(t,e){return t.appendChild(e)},e.prototype.insert=function(t,e){return this.parent(e).insertBefore(t,e)},e.prototype.remove=function(t){return this.parent(t).removeChild(t)},e.prototype.replace=function(t,e){return this.parent(e).replaceChild(t,e)},e.prototype.clone=function(t){return t.cloneNode(!0)},e.prototype.split=function(t,e){return t.splitText(e)},e.prototype.next=function(t){return t.nextSibling},e.prototype.previous=function(t){return t.previousSibling},e.prototype.firstChild=function(t){return t.firstChild},e.prototype.lastChild=function(t){return t.lastChild},e.prototype.childNodes=function(t){return Array.from(t.childNodes)},e.prototype.childNode=function(t,e){return t.childNodes[e]},e.prototype.kind=function(t){var e=t.nodeType;return 1===e||3===e||8===e?t.nodeName.toLowerCase():""},e.prototype.value=function(t){return t.nodeValue||""},e.prototype.textContent=function(t){return t.textContent},e.prototype.innerHTML=function(t){return t.innerHTML},e.prototype.outerHTML=function(t){return t.outerHTML},e.prototype.serializeXML=function(t){return(new this.window.XMLSerializer).serializeToString(t)},e.prototype.setAttribute=function(t,e,r,n){return void 0===n&&(n=null),n?(e=n.replace(/.*\//,"")+":"+e.replace(/^.*:/,""),t.setAttributeNS(n,e,r)):t.setAttribute(e,r)},e.prototype.getAttribute=function(t,e){return t.getAttribute(e)},e.prototype.removeAttribute=function(t,e){return t.removeAttribute(e)},e.prototype.hasAttribute=function(t,e){return t.hasAttribute(e)},e.prototype.allAttributes=function(t){return Array.from(t.attributes).map((function(t){return{name:t.name,value:t.value}}))},e.prototype.addClass=function(t,e){t.classList?t.classList.add(e):t.className=(t.className+" "+e).trim()},e.prototype.removeClass=function(t,e){t.classList?t.classList.remove(e):t.className=t.className.split(/ /).filter((function(t){return t!==e})).join(" ")},e.prototype.hasClass=function(t,e){return t.classList?t.classList.contains(e):t.className.split(/ /).indexOf(e)>=0},e.prototype.setStyle=function(t,e,r){t.style[e]=r},e.prototype.getStyle=function(t,e){return t.style[e]},e.prototype.allStyles=function(t){return t.style.cssText},e.prototype.insertRules=function(t,e){var r,n;try{for(var o=i(e.reverse()),s=o.next();!s.done;s=o.next()){var a=s.value;try{t.sheet.insertRule(a,0)}catch(t){console.warn("MathJax: can't insert css rule '".concat(a,"': ").concat(t.message))}}}catch(t){r={error:t}}finally{try{s&&!s.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}},e.prototype.fontSize=function(t){var e=this.window.getComputedStyle(t);return parseFloat(e.fontSize)},e.prototype.fontFamily=function(t){return this.window.getComputedStyle(t).fontFamily||""},e.prototype.nodeSize=function(t,e,r){if(void 0===e&&(e=1),void 0===r&&(r=!1),r&&t.getBBox){var n=t.getBBox();return[n.width/e,n.height/e]}return[t.offsetWidth/e,t.offsetHeight/e]},e.prototype.nodeBBox=function(t){var e=t.getBoundingClientRect();return{left:e.left,right:e.right,top:e.top,bottom:e.bottom}},e}(r(5009).AbstractDOMAdaptor);e.HTMLAdaptor=s},6191:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.browserAdaptor=void 0;var n=r(444);e.browserAdaptor=function(){return new n.HTMLAdaptor(window)}},9515:function(t,e,r){var n=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.MathJax=e.combineWithMathJax=e.combineDefaults=e.combineConfig=e.isObject=void 0;var o=r(3282);function i(t){return"object"==typeof t&&null!==t}function s(t,e){var r,o;try{for(var a=n(Object.keys(e)),l=a.next();!l.done;l=a.next()){var c=l.value;"__esModule"!==c&&(!i(t[c])||!i(e[c])||e[c]instanceof Promise?null!==e[c]&&void 0!==e[c]&&(t[c]=e[c]):s(t[c],e[c]))}}catch(t){r={error:t}}finally{try{l&&!l.done&&(o=a.return)&&o.call(a)}finally{if(r)throw r.error}}return t}e.isObject=i,e.combineConfig=s,e.combineDefaults=function t(e,r,o){var s,a;e[r]||(e[r]={}),e=e[r];try{for(var l=n(Object.keys(o)),c=l.next();!c.done;c=l.next()){var u=c.value;i(e[u])&&i(o[u])?t(e,u,o[u]):null==e[u]&&null!=o[u]&&(e[u]=o[u])}}catch(t){s={error:t}}finally{try{c&&!c.done&&(a=l.return)&&a.call(l)}finally{if(s)throw s.error}}return e},e.combineWithMathJax=function(t){return s(e.MathJax,t)},void 0===r.g.MathJax&&(r.g.MathJax={}),r.g.MathJax.version||(r.g.MathJax={version:o.VERSION,_:{},config:r.g.MathJax}),e.MathJax=r.g.MathJax},235:function(t,e,r){var n,o,i=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CONFIG=e.MathJax=e.Loader=e.PathFilters=e.PackageError=e.Package=void 0;var s=r(9515),a=r(265),l=r(265);Object.defineProperty(e,"Package",{enumerable:!0,get:function(){return l.Package}}),Object.defineProperty(e,"PackageError",{enumerable:!0,get:function(){return l.PackageError}});var c,u=r(7525);if(e.PathFilters={source:function(t){return e.CONFIG.source.hasOwnProperty(t.name)&&(t.name=e.CONFIG.source[t.name]),!0},normalize:function(t){var e=t.name;return e.match(/^(?:[a-z]+:\/)?\/|[a-z]:\\|\[/i)||(t.name="[mathjax]/"+e.replace(/^\.\//,"")),t.addExtension&&!e.match(/\.[^\/]+$/)&&(t.name+=".js"),!0},prefix:function(t){for(var r;(r=t.name.match(/^\[([^\]]*)\]/))&&e.CONFIG.paths.hasOwnProperty(r[1]);)t.name=e.CONFIG.paths[r[1]]+t.name.substr(r[0].length);return!0}},function(t){var r=s.MathJax.version;t.versions=new Map,t.ready=function(){for(var t,e,r=[],n=0;n=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},s=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},a=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},i=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},s=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractDOMAdaptor=void 0;var n=function(){function t(t){void 0===t&&(t=null),this.document=t}return t.prototype.node=function(t,e,n,o){var i,s;void 0===e&&(e={}),void 0===n&&(n=[]);var a=this.create(t,o);this.setAttributes(a,e);try{for(var l=r(n),c=l.next();!c.done;c=l.next()){var u=c.value;this.append(a,u)}}catch(t){i={error:t}}finally{try{c&&!c.done&&(s=l.return)&&s.call(l)}finally{if(i)throw i.error}}return a},t.prototype.setAttributes=function(t,e){var n,o,i,s,a,l;if(e.style&&"string"!=typeof e.style)try{for(var c=r(Object.keys(e.style)),u=c.next();!u.done;u=c.next()){var p=u.value;this.setStyle(t,p.replace(/-([a-z])/g,(function(t,e){return e.toUpperCase()})),e.style[p])}}catch(t){n={error:t}}finally{try{u&&!u.done&&(o=c.return)&&o.call(c)}finally{if(n)throw n.error}}if(e.properties)try{for(var h=r(Object.keys(e.properties)),f=h.next();!f.done;f=h.next()){t[p=f.value]=e.properties[p]}}catch(t){i={error:t}}finally{try{f&&!f.done&&(s=h.return)&&s.call(h)}finally{if(i)throw i.error}}try{for(var d=r(Object.keys(e)),m=d.next();!m.done;m=d.next()){"style"===(p=m.value)&&"string"!=typeof e.style||"properties"===p||this.setAttribute(t,p,e[p])}}catch(t){a={error:t}}finally{try{m&&!m.done&&(l=d.return)&&l.call(d)}finally{if(a)throw a.error}}},t.prototype.replace=function(t,e){return this.insert(t,e),this.remove(e),e},t.prototype.childNode=function(t,e){return this.childNodes(t)[e]},t.prototype.allClasses=function(t){var e=this.getAttribute(t,"class");return e?e.replace(/ +/g," ").replace(/^ /,"").replace(/ $/,"").split(/ /):[]},t}();e.AbstractDOMAdaptor=n},3494:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractFindMath=void 0;var n=r(7233),o=function(){function t(t){var e=this.constructor;this.options=(0,n.userOptions)((0,n.defaultOptions)({},e.OPTIONS),t)}return t.OPTIONS={},t}();e.AbstractFindMath=o},3670:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractHandler=void 0;var i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e}(r(5722).AbstractMathDocument),s=function(){function t(t,e){void 0===e&&(e=5),this.documentClass=i,this.adaptor=t,this.priority=e}return Object.defineProperty(t.prototype,"name",{get:function(){return this.constructor.NAME},enumerable:!1,configurable:!0}),t.prototype.handlesDocument=function(t){return!1},t.prototype.create=function(t,e){return new this.documentClass(t,this.adaptor,e)},t.NAME="generic",t}();e.AbstractHandler=s},805:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.HandlerList=void 0;var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.register=function(t){return this.add(t,t.priority)},e.prototype.unregister=function(t){this.remove(t)},e.prototype.handlesDocument=function(t){var e,r;try{for(var n=i(this),o=n.next();!o.done;o=n.next()){var s=o.value.item;if(s.handlesDocument(t))return s}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}throw new Error("Can't find handler for document")},e.prototype.document=function(t,e){return void 0===e&&(e=null),this.handlesDocument(t).create(t,e)},e}(r(8666).PrioritizedList);e.HandlerList=s},9206:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractInputJax=void 0;var n=r(7233),o=r(7525),i=function(){function t(t){void 0===t&&(t={}),this.adaptor=null,this.mmlFactory=null;var e=this.constructor;this.options=(0,n.userOptions)((0,n.defaultOptions)({},e.OPTIONS),t),this.preFilters=new o.FunctionList,this.postFilters=new o.FunctionList}return Object.defineProperty(t.prototype,"name",{get:function(){return this.constructor.NAME},enumerable:!1,configurable:!0}),t.prototype.setAdaptor=function(t){this.adaptor=t},t.prototype.setMmlFactory=function(t){this.mmlFactory=t},t.prototype.initialize=function(){},t.prototype.reset=function(){for(var t=[],e=0;e=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},s=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},a=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=e&&a.item.renderDoc(t))return}}catch(t){r={error:t}}finally{try{s&&!s.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}},e.prototype.renderMath=function(t,e,r){var n,o;void 0===r&&(r=h.STATE.UNPROCESSED);try{for(var s=i(this.items),a=s.next();!a.done;a=s.next()){var l=a.value;if(l.priority>=r&&l.item.renderMath(t,e))return}}catch(t){n={error:t}}finally{try{a&&!a.done&&(o=s.return)&&o.call(s)}finally{if(n)throw n.error}}},e.prototype.renderConvert=function(t,e,r){var n,o;void 0===r&&(r=h.STATE.LAST);try{for(var s=i(this.items),a=s.next();!a.done;a=s.next()){var l=a.value;if(l.priority>r)return;if(l.item.convert&&l.item.renderMath(t,e))return}}catch(t){n={error:t}}finally{try{a&&!a.done&&(o=s.return)&&o.call(s)}finally{if(n)throw n.error}}},e.prototype.findID=function(t){var e,r;try{for(var n=i(this.items),o=n.next();!o.done;o=n.next()){var s=o.value;if(s.item.id===t)return s.item}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}return null},e}(r(8666).PrioritizedList);e.RenderList=m,e.resetOptions={all:!1,processed:!1,inputJax:null,outputJax:null},e.resetAllOptions={all:!0,processed:!0,inputJax:[],outputJax:[]};var y=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.compile=function(t){return null},e}(c.AbstractInputJax),g=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.typeset=function(t,e){return void 0===e&&(e=null),null},e.prototype.escaped=function(t,e){return null},e}(u.AbstractOutputJax),b=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e}(p.AbstractMathList),v=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e}(h.AbstractMathItem),_=function(){function t(e,r,n){var o=this,i=this.constructor;this.document=e,this.options=(0,l.userOptions)((0,l.defaultOptions)({},i.OPTIONS),n),this.math=new(this.options.MathList||b),this.renderActions=m.create(this.options.renderActions),this.processed=new t.ProcessBits,this.outputJax=this.options.OutputJax||new g;var s=this.options.InputJax||[new y];Array.isArray(s)||(s=[s]),this.inputJax=s,this.adaptor=r,this.outputJax.setAdaptor(r),this.inputJax.map((function(t){return t.setAdaptor(r)})),this.mmlFactory=this.options.MmlFactory||new f.MmlFactory,this.inputJax.map((function(t){return t.setMmlFactory(o.mmlFactory)})),this.outputJax.initialize(),this.inputJax.map((function(t){return t.initialize()}))}return Object.defineProperty(t.prototype,"kind",{get:function(){return this.constructor.KIND},enumerable:!1,configurable:!0}),t.prototype.addRenderAction=function(t){for(var e=[],r=1;r=r&&this.state(r-1),t.renderActions.renderMath(this,t,r)},t.prototype.convert=function(t,r){void 0===r&&(r=e.STATE.LAST),t.renderActions.renderConvert(this,t,r)},t.prototype.compile=function(t){this.state()=e.STATE.INSERTED&&this.removeFromDocument(r),t=e.STATE.TYPESET&&(this.outputData={}),t=e.STATE.COMPILED&&(this.inputData={}),this._state=t),this._state},t.prototype.reset=function(t){void 0===t&&(t=!1),this.state(e.STATE.UNPROCESSED,t)},t}();e.AbstractMathItem=r,e.STATE={UNPROCESSED:0,FINDMATH:10,COMPILED:20,CONVERT:100,METRICS:110,RERENDER:125,TYPESET:150,INSERTED:200,LAST:1e4},e.newState=function(t,r){if(t in e.STATE)throw Error("State "+t+" already exists");e.STATE[t]=r}},9e3:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractMathList=void 0;var i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.isBefore=function(t,e){return t.start.i=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.Attributes=e.INHERIT=void 0,e.INHERIT="_inherit_";var n=function(){function t(t,e){this.global=e,this.defaults=Object.create(e),this.inherited=Object.create(this.defaults),this.attributes=Object.create(this.inherited),Object.assign(this.defaults,t)}return t.prototype.set=function(t,e){this.attributes[t]=e},t.prototype.setList=function(t){Object.assign(this.attributes,t)},t.prototype.get=function(t){var r=this.attributes[t];return r===e.INHERIT&&(r=this.global[t]),r},t.prototype.getExplicit=function(t){if(this.attributes.hasOwnProperty(t))return this.attributes[t]},t.prototype.getList=function(){for(var t,e,n=[],o=0;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.MathMLVisitor=void 0;var s=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.document=null,e}return o(e,t),e.prototype.visitTree=function(t,e){this.document=e;var r=e.createElement("top");return this.visitNode(t,r),this.document=null,r.firstChild},e.prototype.visitTextNode=function(t,e){e.appendChild(this.document.createTextNode(t.getText()))},e.prototype.visitXMLNode=function(t,e){e.appendChild(t.getXML().cloneNode(!0))},e.prototype.visitInferredMrowNode=function(t,e){var r,n;try{for(var o=i(t.childNodes),s=o.next();!s.done;s=o.next()){var a=s.value;this.visitNode(a,e)}}catch(t){r={error:t}}finally{try{s&&!s.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}},e.prototype.visitDefault=function(t,e){var r,n,o=this.document.createElement(t.kind);this.addAttributes(t,o);try{for(var s=i(t.childNodes),a=s.next();!a.done;a=s.next()){var l=a.value;this.visitNode(l,o)}}catch(t){r={error:t}}finally{try{a&&!a.done&&(n=s.return)&&n.call(s)}finally{if(r)throw r.error}}e.appendChild(o)},e.prototype.addAttributes=function(t,e){var r,n,o=t.attributes,s=o.getExplicitNames();try{for(var a=i(s),l=a.next();!l.done;l=a.next()){var c=l.value;e.setAttribute(c,o.getExplicit(c).toString())}}catch(t){r={error:t}}finally{try{l&&!l.done&&(n=a.return)&&n.call(a)}finally{if(r)throw r.error}}},e}(r(6325).MmlVisitor);e.MathMLVisitor=s},3909:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MmlFactory=void 0;var i=r(7860),s=r(6336),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),Object.defineProperty(e.prototype,"MML",{get:function(){return this.node},enumerable:!1,configurable:!0}),e.defaultNodes=s.MML,e}(i.AbstractNodeFactory);e.MmlFactory=a},9007:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__assign||function(){return i=Object.assign||function(t){for(var e,r=1,n=arguments.length;r=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},a=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s};Object.defineProperty(e,"__esModule",{value:!0}),e.XMLNode=e.TextNode=e.AbstractMmlEmptyNode=e.AbstractMmlBaseNode=e.AbstractMmlLayoutNode=e.AbstractMmlTokenNode=e.AbstractMmlNode=e.indentAttributes=e.TEXCLASSNAMES=e.TEXCLASS=void 0;var l=r(91),c=r(4596);e.TEXCLASS={ORD:0,OP:1,BIN:2,REL:3,OPEN:4,CLOSE:5,PUNCT:6,INNER:7,VCENTER:8,NONE:-1},e.TEXCLASSNAMES=["ORD","OP","BIN","REL","OPEN","CLOSE","PUNCT","INNER","VCENTER"];var u=["","thinmathspace","mediummathspace","thickmathspace"],p=[[0,-1,2,3,0,0,0,1],[-1,-1,0,3,0,0,0,1],[2,2,0,0,2,0,0,2],[3,3,0,0,3,0,0,3],[0,0,0,0,0,0,0,0],[0,-1,2,3,0,0,0,1],[1,1,0,1,1,1,1,1],[1,-1,2,3,1,0,1,1]];e.indentAttributes=["indentalign","indentalignfirst","indentshift","indentshiftfirst"];var h=function(t){function r(e,r,n){void 0===r&&(r={}),void 0===n&&(n=[]);var o=t.call(this,e)||this;return o.prevClass=null,o.prevLevel=null,o.texclass=null,o.arity<0&&(o.childNodes=[e.create("inferredMrow")],o.childNodes[0].parent=o),o.setChildren(n),o.attributes=new l.Attributes(e.getNodeClass(o.kind).defaults,e.getNodeClass("math").defaults),o.attributes.setList(r),o}return o(r,t),r.prototype.copy=function(t){var e,r,n,o;void 0===t&&(t=!1);var a=this.factory.create(this.kind);if(a.properties=i({},this.properties),this.attributes){var l=this.attributes.getAllAttributes();try{for(var c=s(Object.keys(l)),u=c.next();!u.done;u=c.next()){var p=u.value;("id"!==p||t)&&a.attributes.set(p,l[p])}}catch(t){e={error:t}}finally{try{u&&!u.done&&(r=c.return)&&r.call(c)}finally{if(e)throw e.error}}}if(this.childNodes&&this.childNodes.length){var h=this.childNodes;1===h.length&&h[0].isInferred&&(h=h[0].childNodes);try{for(var f=s(h),d=f.next();!d.done;d=f.next()){var m=d.value;m?a.appendChild(m.copy()):a.childNodes.push(null)}}catch(t){n={error:t}}finally{try{d&&!d.done&&(o=f.return)&&o.call(f)}finally{if(n)throw n.error}}}return a},Object.defineProperty(r.prototype,"texClass",{get:function(){return this.texclass},set:function(t){this.texclass=t},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"isToken",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"isEmbellished",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"isSpacelike",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"linebreakContainer",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"hasNewLine",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"arity",{get:function(){return 1/0},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"isInferred",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"Parent",{get:function(){for(var t=this.parent;t&&t.notParent;)t=t.Parent;return t},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"notParent",{get:function(){return!1},enumerable:!1,configurable:!0}),r.prototype.setChildren=function(e){return this.arity<0?this.childNodes[0].setChildren(e):t.prototype.setChildren.call(this,e)},r.prototype.appendChild=function(e){var r,n,o=this;if(this.arity<0)return this.childNodes[0].appendChild(e),e;if(e.isInferred){if(this.arity===1/0)return e.childNodes.forEach((function(e){return t.prototype.appendChild.call(o,e)})),e;var i=e;(e=this.factory.create("mrow")).setChildren(i.childNodes),e.attributes=i.attributes;try{for(var a=s(i.getPropertyNames()),l=a.next();!l.done;l=a.next()){var c=l.value;e.setProperty(c,i.getProperty(c))}}catch(t){r={error:t}}finally{try{l&&!l.done&&(n=a.return)&&n.call(a)}finally{if(r)throw r.error}}}return t.prototype.appendChild.call(this,e)},r.prototype.replaceChild=function(e,r){return this.arity<0?(this.childNodes[0].replaceChild(e,r),e):t.prototype.replaceChild.call(this,e,r)},r.prototype.core=function(){return this},r.prototype.coreMO=function(){return this},r.prototype.coreIndex=function(){return 0},r.prototype.childPosition=function(){for(var t,e,r=this,n=r.parent;n&&n.notParent;)r=n,n=n.parent;if(n){var o=0;try{for(var i=s(n.childNodes),a=i.next();!a.done;a=i.next()){if(a.value===r)return o;o++}}catch(e){t={error:e}}finally{try{a&&!a.done&&(e=i.return)&&e.call(i)}finally{if(t)throw t.error}}}return null},r.prototype.setTeXclass=function(t){return this.getPrevClass(t),null!=this.texClass?this:t},r.prototype.updateTeXclass=function(t){t&&(this.prevClass=t.prevClass,this.prevLevel=t.prevLevel,t.prevClass=t.prevLevel=null,this.texClass=t.texClass)},r.prototype.getPrevClass=function(t){t&&(this.prevClass=t.texClass,this.prevLevel=t.attributes.get("scriptlevel"))},r.prototype.texSpacing=function(){var t=null!=this.prevClass?this.prevClass:e.TEXCLASS.NONE,r=this.texClass||e.TEXCLASS.ORD;if(t===e.TEXCLASS.NONE||r===e.TEXCLASS.NONE)return"";t===e.TEXCLASS.VCENTER&&(t=e.TEXCLASS.ORD),r===e.TEXCLASS.VCENTER&&(r=e.TEXCLASS.ORD);var n=p[t][r];return(this.prevLevel>0||this.attributes.get("scriptlevel")>0)&&n>=0?"":u[Math.abs(n)]},r.prototype.hasSpacingAttributes=function(){return this.isEmbellished&&this.coreMO().hasSpacingAttributes()},r.prototype.setInheritedAttributes=function(t,e,n,o){var i,l;void 0===t&&(t={}),void 0===e&&(e=!1),void 0===n&&(n=0),void 0===o&&(o=!1);var c=this.attributes.getAllDefaults();try{for(var u=s(Object.keys(t)),p=u.next();!p.done;p=u.next()){var h=p.value;if(c.hasOwnProperty(h)||r.alwaysInherit.hasOwnProperty(h)){var f=a(t[h],2),d=f[0],m=f[1];((r.noInherit[d]||{})[this.kind]||{})[h]||this.attributes.setInherited(h,m)}}}catch(t){i={error:t}}finally{try{p&&!p.done&&(l=u.return)&&l.call(u)}finally{if(i)throw i.error}}void 0===this.attributes.getExplicit("displaystyle")&&this.attributes.setInherited("displaystyle",e),void 0===this.attributes.getExplicit("scriptlevel")&&this.attributes.setInherited("scriptlevel",n),o&&this.setProperty("texprimestyle",o);var y=this.arity;if(y>=0&&y!==1/0&&(1===y&&0===this.childNodes.length||1!==y&&this.childNodes.length!==y))if(y=0&&e!==1/0&&(1===e&&0===this.childNodes.length||1!==e&&this.childNodes.length!==e)&&this.mError('Wrong number of children for "'+this.kind+'" node',t,!0),this.verifyChildren(t)}},r.prototype.verifyAttributes=function(t){var e,r;if(t.checkAttributes){var n=this.attributes,o=[];try{for(var i=s(n.getExplicitNames()),a=i.next();!a.done;a=i.next()){var l=a.value;"data-"===l.substr(0,5)||void 0!==n.getDefault(l)||l.match(/^(?:class|style|id|(?:xlink:)?href)$/)||o.push(l)}}catch(t){e={error:t}}finally{try{a&&!a.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}o.length&&this.mError("Unknown attributes for "+this.kind+" node: "+o.join(", "),t)}},r.prototype.verifyChildren=function(t){var e,r;try{for(var n=s(this.childNodes),o=n.next();!o.done;o=n.next()){o.value.verifyTree(t)}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}},r.prototype.mError=function(t,e,r){if(void 0===r&&(r=!1),this.parent&&this.parent.isKind("merror"))return null;var n=this.factory.create("merror");if(n.attributes.set("data-mjx-message",t),e.fullErrors||r){var o=this.factory.create("mtext"),i=this.factory.create("text");i.setText(e.fullErrors?t:this.kind),o.appendChild(i),n.appendChild(o),this.parent.replaceChild(n,this)}else this.parent.replaceChild(n,this),n.appendChild(this);return n},r.defaults={mathbackground:l.INHERIT,mathcolor:l.INHERIT,mathsize:l.INHERIT,dir:l.INHERIT},r.noInherit={mstyle:{mpadded:{width:!0,height:!0,depth:!0,lspace:!0,voffset:!0},mtable:{width:!0,height:!0,depth:!0,align:!0}},maligngroup:{mrow:{groupalign:!0},mtable:{groupalign:!0}}},r.alwaysInherit={scriptminsize:!0,scriptsizemultiplier:!0},r.verifyDefaults={checkArity:!0,checkAttributes:!1,fullErrors:!1,fixMmultiscripts:!0,fixMtables:!0},r}(c.AbstractNode);e.AbstractMmlNode=h;var f=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),Object.defineProperty(e.prototype,"isToken",{get:function(){return!0},enumerable:!1,configurable:!0}),e.prototype.getText=function(){var t,e,r="";try{for(var n=s(this.childNodes),o=n.next();!o.done;o=n.next()){var i=o.value;i instanceof g&&(r+=i.getText())}}catch(e){t={error:e}}finally{try{o&&!o.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}return r},e.prototype.setChildInheritedAttributes=function(t,e,r,n){var o,i;try{for(var a=s(this.childNodes),l=a.next();!l.done;l=a.next()){var c=l.value;c instanceof h&&c.setInheritedAttributes(t,e,r,n)}}catch(t){o={error:t}}finally{try{l&&!l.done&&(i=a.return)&&i.call(a)}finally{if(o)throw o.error}}},e.prototype.walkTree=function(t,e){var r,n;t(this,e);try{for(var o=s(this.childNodes),i=o.next();!i.done;i=o.next()){var a=i.value;a instanceof h&&a.walkTree(t,e)}}catch(t){r={error:t}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}return e},e.defaults=i(i({},h.defaults),{mathvariant:"normal",mathsize:l.INHERIT}),e}(h);e.AbstractMmlTokenNode=f;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),Object.defineProperty(e.prototype,"isSpacelike",{get:function(){return this.childNodes[0].isSpacelike},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isEmbellished",{get:function(){return this.childNodes[0].isEmbellished},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"arity",{get:function(){return-1},enumerable:!1,configurable:!0}),e.prototype.core=function(){return this.childNodes[0]},e.prototype.coreMO=function(){return this.childNodes[0].coreMO()},e.prototype.setTeXclass=function(t){return t=this.childNodes[0].setTeXclass(t),this.updateTeXclass(this.childNodes[0]),t},e.defaults=h.defaults,e}(h);e.AbstractMmlLayoutNode=d;var m=function(t){function r(){return null!==t&&t.apply(this,arguments)||this}return o(r,t),Object.defineProperty(r.prototype,"isEmbellished",{get:function(){return this.childNodes[0].isEmbellished},enumerable:!1,configurable:!0}),r.prototype.core=function(){return this.childNodes[0]},r.prototype.coreMO=function(){return this.childNodes[0].coreMO()},r.prototype.setTeXclass=function(t){var r,n;this.getPrevClass(t),this.texClass=e.TEXCLASS.ORD;var o=this.childNodes[0];o?this.isEmbellished||o.isKind("mi")?(t=o.setTeXclass(t),this.updateTeXclass(this.core())):(o.setTeXclass(null),t=this):t=this;try{for(var i=s(this.childNodes.slice(1)),a=i.next();!a.done;a=i.next()){var l=a.value;l&&l.setTeXclass(null)}}catch(t){r={error:t}}finally{try{a&&!a.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}return t},r.defaults=h.defaults,r}(h);e.AbstractMmlBaseNode=m;var y=function(t){function r(){return null!==t&&t.apply(this,arguments)||this}return o(r,t),Object.defineProperty(r.prototype,"isToken",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"isEmbellished",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"isSpacelike",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"linebreakContainer",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"hasNewLine",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"arity",{get:function(){return 0},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"isInferred",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"notParent",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"Parent",{get:function(){return this.parent},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"texClass",{get:function(){return e.TEXCLASS.NONE},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"prevClass",{get:function(){return e.TEXCLASS.NONE},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"prevLevel",{get:function(){return 0},enumerable:!1,configurable:!0}),r.prototype.hasSpacingAttributes=function(){return!1},Object.defineProperty(r.prototype,"attributes",{get:function(){return null},enumerable:!1,configurable:!0}),r.prototype.core=function(){return this},r.prototype.coreMO=function(){return this},r.prototype.coreIndex=function(){return 0},r.prototype.childPosition=function(){return 0},r.prototype.setTeXclass=function(t){return t},r.prototype.texSpacing=function(){return""},r.prototype.setInheritedAttributes=function(t,e,r,n){},r.prototype.inheritAttributesFrom=function(t){},r.prototype.verifyTree=function(t){},r.prototype.mError=function(t,e,r){return void 0===r&&(r=!1),null},r}(c.AbstractEmptyNode);e.AbstractMmlEmptyNode=y;var g=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.text="",e}return o(e,t),Object.defineProperty(e.prototype,"kind",{get:function(){return"text"},enumerable:!1,configurable:!0}),e.prototype.getText=function(){return this.text},e.prototype.setText=function(t){return this.text=t,this},e.prototype.copy=function(){return this.factory.create(this.kind).setText(this.getText())},e.prototype.toString=function(){return this.text},e}(y);e.TextNode=g;var b=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.xml=null,e.adaptor=null,e}return o(e,t),Object.defineProperty(e.prototype,"kind",{get:function(){return"XML"},enumerable:!1,configurable:!0}),e.prototype.getXML=function(){return this.xml},e.prototype.setXML=function(t,e){return void 0===e&&(e=null),this.xml=t,this.adaptor=e,this},e.prototype.getSerializedXML=function(){return this.adaptor.serializeXML(this.xml)},e.prototype.copy=function(){return this.factory.create(this.kind).setXML(this.adaptor.clone(this.xml))},e.prototype.toString=function(){return"XML data"},e}(y);e.XMLNode=b},3948:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__assign||function(){return i=Object.assign||function(t){for(var e,r=1,n=arguments.length;rthis.childNodes.length&&(t=1),this.attributes.set("selection",t)},e.defaults=i(i({},s.AbstractMmlNode.defaults),{actiontype:"toggle",selection:1}),e}(s.AbstractMmlNode);e.MmlMaction=a},142:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__assign||function(){return i=Object.assign||function(t){for(var e,r=1,n=arguments.length;r=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.MmlMfenced=void 0;var a=r(9007),l=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.texclass=a.TEXCLASS.INNER,e.separators=[],e.open=null,e.close=null,e}return o(e,t),Object.defineProperty(e.prototype,"kind",{get:function(){return"mfenced"},enumerable:!1,configurable:!0}),e.prototype.setTeXclass=function(t){this.getPrevClass(t),this.open&&(t=this.open.setTeXclass(t)),this.childNodes[0]&&(t=this.childNodes[0].setTeXclass(t));for(var e=1,r=this.childNodes.length;e=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.MmlMfrac=void 0;var a=r(9007),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),Object.defineProperty(e.prototype,"kind",{get:function(){return"mfrac"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"arity",{get:function(){return 2},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"linebreakContainer",{get:function(){return!0},enumerable:!1,configurable:!0}),e.prototype.setTeXclass=function(t){var e,r;this.getPrevClass(t);try{for(var n=s(this.childNodes),o=n.next();!o.done;o=n.next()){o.value.setTeXclass(null)}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}return this},e.prototype.setChildInheritedAttributes=function(t,e,r,n){(!e||r>0)&&r++,this.childNodes[0].setInheritedAttributes(t,!1,r,n),this.childNodes[1].setInheritedAttributes(t,!1,r,!0)},e.defaults=i(i({},a.AbstractMmlBaseNode.defaults),{linethickness:"medium",numalign:"center",denomalign:"center",bevelled:!1}),e}(a.AbstractMmlBaseNode);e.MmlMfrac=l},3985:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__assign||function(){return i=Object.assign||function(t){for(var e,r=1,n=arguments.length;r1&&r.match(e.operatorName)&&"normal"===this.attributes.get("mathvariant")&&void 0===this.getProperty("autoOP")&&void 0===this.getProperty("texClass")&&(this.texClass=s.TEXCLASS.OP,this.setProperty("autoOP",!0)),this},e.defaults=i({},s.AbstractMmlTokenNode.defaults),e.operatorName=/^[a-z][a-z0-9]*$/i,e.singleCharacter=/^[\uD800-\uDBFF]?.[\u0300-\u036F\u1AB0-\u1ABE\u1DC0-\u1DFF\u20D0-\u20EF]*$/,e}(s.AbstractMmlTokenNode);e.MmlMi=a},6405:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__assign||function(){return i=Object.assign||function(t){for(var e,r=1,n=arguments.length;r0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},a=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.MmlMo=void 0;var l=r(9007),c=r(4082),u=r(505),p=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._texClass=null,e.lspace=5/18,e.rspace=5/18,e}return o(e,t),Object.defineProperty(e.prototype,"texClass",{get:function(){if(null===this._texClass){var t=this.getText(),e=s(this.handleExplicitForm(this.getForms()),3),r=e[0],n=e[1],o=e[2],i=this.constructor.OPTABLE,a=i[r][t]||i[n][t]||i[o][t];return a?a[2]:l.TEXCLASS.REL}return this._texClass},set:function(t){this._texClass=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"kind",{get:function(){return"mo"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isEmbellished",{get:function(){return!0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"hasNewLine",{get:function(){return"newline"===this.attributes.get("linebreak")},enumerable:!1,configurable:!0}),e.prototype.coreParent=function(){for(var t=this,e=this,r=this.factory.getNodeClass("math");e&&e.isEmbellished&&e.coreMO()===this&&!(e instanceof r);)t=e,e=e.parent;return t},e.prototype.coreText=function(t){if(!t)return"";if(t.isEmbellished)return t.coreMO().getText();for(;((t.isKind("mrow")||t.isKind("TeXAtom")&&t.texClass!==l.TEXCLASS.VCENTER||t.isKind("mstyle")||t.isKind("mphantom"))&&1===t.childNodes.length||t.isKind("munderover"))&&t.childNodes[0];)t=t.childNodes[0];return t.isToken?t.getText():""},e.prototype.hasSpacingAttributes=function(){return this.attributes.isSet("lspace")||this.attributes.isSet("rspace")},Object.defineProperty(e.prototype,"isAccent",{get:function(){var t=!1,e=this.coreParent().parent;if(e){var r=e.isKind("mover")?e.childNodes[e.over].coreMO()?"accent":"":e.isKind("munder")?e.childNodes[e.under].coreMO()?"accentunder":"":e.isKind("munderover")?this===e.childNodes[e.over].coreMO()?"accent":this===e.childNodes[e.under].coreMO()?"accentunder":"":"";if(r)t=void 0!==e.attributes.getExplicit(r)?t:this.attributes.get("accent")}return t},enumerable:!1,configurable:!0}),e.prototype.setTeXclass=function(t){var e=this.attributes.getList("form","fence"),r=e.form,n=e.fence;return void 0===this.getProperty("texClass")&&(this.attributes.isSet("lspace")||this.attributes.isSet("rspace"))?null:(n&&this.texClass===l.TEXCLASS.REL&&("prefix"===r&&(this.texClass=l.TEXCLASS.OPEN),"postfix"===r&&(this.texClass=l.TEXCLASS.CLOSE)),this.adjustTeXclass(t))},e.prototype.adjustTeXclass=function(t){var e=this.texClass,r=this.prevClass;if(e===l.TEXCLASS.NONE)return t;if(t?(!t.getProperty("autoOP")||e!==l.TEXCLASS.BIN&&e!==l.TEXCLASS.REL||(r=t.texClass=l.TEXCLASS.ORD),r=this.prevClass=t.texClass||l.TEXCLASS.ORD,this.prevLevel=this.attributes.getInherited("scriptlevel")):r=this.prevClass=l.TEXCLASS.NONE,e!==l.TEXCLASS.BIN||r!==l.TEXCLASS.NONE&&r!==l.TEXCLASS.BIN&&r!==l.TEXCLASS.OP&&r!==l.TEXCLASS.REL&&r!==l.TEXCLASS.OPEN&&r!==l.TEXCLASS.PUNCT)if(r!==l.TEXCLASS.BIN||e!==l.TEXCLASS.REL&&e!==l.TEXCLASS.CLOSE&&e!==l.TEXCLASS.PUNCT){if(e===l.TEXCLASS.BIN){for(var n=this,o=this.parent;o&&o.parent&&o.isEmbellished&&(1===o.childNodes.length||!o.isKind("mrow")&&o.core()===n);)n=o,o=o.parent;o.childNodes[o.childNodes.length-1]===n&&(this.texClass=l.TEXCLASS.ORD)}}else t.texClass=this.prevClass=l.TEXCLASS.ORD;else this.texClass=l.TEXCLASS.ORD;return this},e.prototype.setInheritedAttributes=function(e,r,n,o){void 0===e&&(e={}),void 0===r&&(r=!1),void 0===n&&(n=0),void 0===o&&(o=!1),t.prototype.setInheritedAttributes.call(this,e,r,n,o);var i=this.getText();this.checkOperatorTable(i),this.checkPseudoScripts(i),this.checkPrimes(i),this.checkMathAccent(i)},e.prototype.checkOperatorTable=function(t){var e,r,n=s(this.handleExplicitForm(this.getForms()),3),o=n[0],i=n[1],l=n[2];this.attributes.setInherited("form",o);var u=this.constructor.OPTABLE,p=u[o][t]||u[i][t]||u[l][t];if(p){void 0===this.getProperty("texClass")&&(this.texClass=p[2]);try{for(var h=a(Object.keys(p[3]||{})),f=h.next();!f.done;f=h.next()){var d=f.value;this.attributes.setInherited(d,p[3][d])}}catch(t){e={error:t}}finally{try{f&&!f.done&&(r=h.return)&&r.call(h)}finally{if(e)throw e.error}}this.lspace=(p[0]+1)/18,this.rspace=(p[1]+1)/18}else{var m=(0,c.getRange)(t);if(m){void 0===this.getProperty("texClass")&&(this.texClass=m[2]);var y=this.constructor.MMLSPACING[m[2]];this.lspace=(y[0]+1)/18,this.rspace=(y[1]+1)/18}}},e.prototype.getForms=function(){for(var t=this,e=this.parent,r=this.Parent;r&&r.isEmbellished;)t=e,e=r.parent,r=r.Parent;if(e&&e.isKind("mrow")&&1!==e.nonSpaceLength()){if(e.firstNonSpace()===t)return["prefix","infix","postfix"];if(e.lastNonSpace()===t)return["postfix","infix","prefix"]}return["infix","prefix","postfix"]},e.prototype.handleExplicitForm=function(t){if(this.attributes.isSet("form")){var e=this.attributes.get("form");t=[e].concat(t.filter((function(t){return t!==e})))}return t},e.prototype.checkPseudoScripts=function(t){var e=this.constructor.pseudoScripts;if(t.match(e)){var r=this.coreParent().Parent,n=!r||!(r.isKind("msubsup")&&!r.isKind("msub"));this.setProperty("pseudoscript",n),n&&(this.attributes.setInherited("lspace",0),this.attributes.setInherited("rspace",0))}},e.prototype.checkPrimes=function(t){var e=this.constructor.primes;if(t.match(e)){var r=this.constructor.remapPrimes,n=(0,u.unicodeString)((0,u.unicodeChars)(t).map((function(t){return r[t]})));this.setProperty("primes",n)}},e.prototype.checkMathAccent=function(t){var e=this.Parent;if(void 0===this.getProperty("mathaccent")&&e&&e.isKind("munderover")){var r=e.childNodes[0];if(!r.isEmbellished||r.coreMO()!==this){var n=this.constructor.mathaccents;t.match(n)&&this.setProperty("mathaccent",!0)}}},e.defaults=i(i({},l.AbstractMmlTokenNode.defaults),{form:"infix",fence:!1,separator:!1,lspace:"thickmathspace",rspace:"thickmathspace",stretchy:!1,symmetric:!1,maxsize:"infinity",minsize:"0em",largeop:!1,movablelimits:!1,accent:!1,linebreak:"auto",lineleading:"1ex",linebreakstyle:"before",indentalign:"auto",indentshift:"0",indenttarget:"",indentalignfirst:"indentalign",indentshiftfirst:"indentshift",indentalignlast:"indentalign",indentshiftlast:"indentshift"}),e.MMLSPACING=c.MMLSPACING,e.OPTABLE=c.OPTABLE,e.pseudoScripts=new RegExp(["^[\"'*`","\xaa","\xb0","\xb2-\xb4","\xb9","\xba","\u2018-\u201f","\u2032-\u2037\u2057","\u2070\u2071","\u2074-\u207f","\u2080-\u208e","]+$"].join("")),e.primes=new RegExp(["^[\"'`","\u2018-\u201f","]+$"].join("")),e.remapPrimes={34:8243,39:8242,96:8245,8216:8245,8217:8242,8218:8242,8219:8245,8220:8246,8221:8243,8222:8243,8223:8246},e.mathaccents=new RegExp(["^[","\xb4\u0301\u02ca","`\u0300\u02cb","\xa8\u0308","~\u0303\u02dc","\xaf\u0304\u02c9","\u02d8\u0306","\u02c7\u030c","^\u0302\u02c6","\u2192\u20d7","\u02d9\u0307","\u02da\u030a","\u20db","\u20dc","]$"].join("")),e}(l.AbstractMmlTokenNode);e.MmlMo=p},7238:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__assign||function(){return i=Object.assign||function(t){for(var e,r=1,n=arguments.length;r=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.MmlInferredMrow=e.MmlMrow=void 0;var a=r(9007),l=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._core=null,e}return o(e,t),Object.defineProperty(e.prototype,"kind",{get:function(){return"mrow"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isSpacelike",{get:function(){var t,e;try{for(var r=s(this.childNodes),n=r.next();!n.done;n=r.next()){if(!n.value.isSpacelike)return!1}}catch(e){t={error:e}}finally{try{n&&!n.done&&(e=r.return)&&e.call(r)}finally{if(t)throw t.error}}return!0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isEmbellished",{get:function(){var t,e,r=!1,n=0;try{for(var o=s(this.childNodes),i=o.next();!i.done;i=o.next()){var a=i.value;if(a)if(a.isEmbellished){if(r)return!1;r=!0,this._core=n}else if(!a.isSpacelike)return!1;n++}}catch(e){t={error:e}}finally{try{i&&!i.done&&(e=o.return)&&e.call(o)}finally{if(t)throw t.error}}return r},enumerable:!1,configurable:!0}),e.prototype.core=function(){return this.isEmbellished&&null!=this._core?this.childNodes[this._core]:this},e.prototype.coreMO=function(){return this.isEmbellished&&null!=this._core?this.childNodes[this._core].coreMO():this},e.prototype.nonSpaceLength=function(){var t,e,r=0;try{for(var n=s(this.childNodes),o=n.next();!o.done;o=n.next()){var i=o.value;i&&!i.isSpacelike&&r++}}catch(e){t={error:e}}finally{try{o&&!o.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}return r},e.prototype.firstNonSpace=function(){var t,e;try{for(var r=s(this.childNodes),n=r.next();!n.done;n=r.next()){var o=n.value;if(o&&!o.isSpacelike)return o}}catch(e){t={error:e}}finally{try{n&&!n.done&&(e=r.return)&&e.call(r)}finally{if(t)throw t.error}}return null},e.prototype.lastNonSpace=function(){for(var t=this.childNodes.length;--t>=0;){var e=this.childNodes[t];if(e&&!e.isSpacelike)return e}return null},e.prototype.setTeXclass=function(t){var e,r,n,o;if(null!=this.getProperty("open")||null!=this.getProperty("close")){this.getPrevClass(t),t=null;try{for(var i=s(this.childNodes),l=i.next();!l.done;l=i.next()){t=l.value.setTeXclass(t)}}catch(t){e={error:t}}finally{try{l&&!l.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}null==this.texClass&&(this.texClass=a.TEXCLASS.INNER)}else{try{for(var c=s(this.childNodes),u=c.next();!u.done;u=c.next()){t=u.value.setTeXclass(t)}}catch(t){n={error:t}}finally{try{u&&!u.done&&(o=c.return)&&o.call(c)}finally{if(n)throw n.error}}this.childNodes[0]&&this.updateTeXclass(this.childNodes[0])}return t},e.defaults=i({},a.AbstractMmlNode.defaults),e}(a.AbstractMmlNode);e.MmlMrow=l;var c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),Object.defineProperty(e.prototype,"kind",{get:function(){return"inferredMrow"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isInferred",{get:function(){return!0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"notParent",{get:function(){return!0},enumerable:!1,configurable:!0}),e.prototype.toString=function(){return"["+this.childNodes.join(",")+"]"},e.defaults=l.defaults,e}(l);e.MmlInferredMrow=c},7265:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__assign||function(){return i=Object.assign||function(t){for(var e,r=1,n=arguments.length;r=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.MmlMtable=void 0;var a=r(9007),l=r(505),c=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.properties={useHeight:!0},e.texclass=a.TEXCLASS.ORD,e}return o(e,t),Object.defineProperty(e.prototype,"kind",{get:function(){return"mtable"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"linebreakContainer",{get:function(){return!0},enumerable:!1,configurable:!0}),e.prototype.setInheritedAttributes=function(e,r,n,o){var i,l;try{for(var c=s(a.indentAttributes),u=c.next();!u.done;u=c.next()){var p=u.value;e[p]&&this.attributes.setInherited(p,e[p][1]),void 0!==this.attributes.getExplicit(p)&&delete this.attributes.getAllAttributes()[p]}}catch(t){i={error:t}}finally{try{u&&!u.done&&(l=c.return)&&l.call(c)}finally{if(i)throw i.error}}t.prototype.setInheritedAttributes.call(this,e,r,n,o)},e.prototype.setChildInheritedAttributes=function(t,e,r,n){var o,i,a,c;try{for(var u=s(this.childNodes),p=u.next();!p.done;p=u.next()){(y=p.value).isKind("mtr")||this.replaceChild(this.factory.create("mtr"),y).appendChild(y)}}catch(t){o={error:t}}finally{try{p&&!p.done&&(i=u.return)&&i.call(u)}finally{if(o)throw o.error}}r=this.getProperty("scriptlevel")||r,e=!(!this.attributes.getExplicit("displaystyle")&&!this.attributes.getDefault("displaystyle")),t=this.addInheritedAttributes(t,{columnalign:this.attributes.get("columnalign"),rowalign:"center"});var h=this.attributes.getExplicit("data-cramped"),f=(0,l.split)(this.attributes.get("rowalign"));try{for(var d=s(this.childNodes),m=d.next();!m.done;m=d.next()){var y=m.value;t.rowalign[1]=f.shift()||t.rowalign[1],y.setInheritedAttributes(t,e,r,!!h)}}catch(t){a={error:t}}finally{try{m&&!m.done&&(c=d.return)&&c.call(d)}finally{if(a)throw a.error}}},e.prototype.verifyChildren=function(e){for(var r=null,n=this.factory,o=0;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.MmlMlabeledtr=e.MmlMtr=void 0;var a=r(9007),l=r(91),c=r(505),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),Object.defineProperty(e.prototype,"kind",{get:function(){return"mtr"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"linebreakContainer",{get:function(){return!0},enumerable:!1,configurable:!0}),e.prototype.setChildInheritedAttributes=function(t,e,r,n){var o,i,a,l;try{for(var u=s(this.childNodes),p=u.next();!p.done;p=u.next()){(m=p.value).isKind("mtd")||this.replaceChild(this.factory.create("mtd"),m).appendChild(m)}}catch(t){o={error:t}}finally{try{p&&!p.done&&(i=u.return)&&i.call(u)}finally{if(o)throw o.error}}var h=(0,c.split)(this.attributes.get("columnalign"));1===this.arity&&h.unshift(this.parent.attributes.get("side")),t=this.addInheritedAttributes(t,{rowalign:this.attributes.get("rowalign"),columnalign:"center"});try{for(var f=s(this.childNodes),d=f.next();!d.done;d=f.next()){var m=d.value;t.columnalign[1]=h.shift()||t.columnalign[1],m.setInheritedAttributes(t,e,r,n)}}catch(t){a={error:t}}finally{try{d&&!d.done&&(l=f.return)&&l.call(f)}finally{if(a)throw a.error}}},e.prototype.verifyChildren=function(e){var r,n;if(!this.parent||this.parent.isKind("mtable")){try{for(var o=s(this.childNodes),i=o.next();!i.done;i=o.next()){var a=i.value;if(!a.isKind("mtd"))this.replaceChild(this.factory.create("mtd"),a).appendChild(a),e.fixMtables||a.mError("Children of "+this.kind+" must be mtd",e)}}catch(t){r={error:t}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}t.prototype.verifyChildren.call(this,e)}else this.mError(this.kind+" can only be a child of an mtable",e,!0)},e.prototype.setTeXclass=function(t){var e,r;this.getPrevClass(t);try{for(var n=s(this.childNodes),o=n.next();!o.done;o=n.next()){o.value.setTeXclass(null)}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}return this},e.defaults=i(i({},a.AbstractMmlNode.defaults),{rowalign:l.INHERIT,columnalign:l.INHERIT,groupalign:l.INHERIT}),e}(a.AbstractMmlNode);e.MmlMtr=u;var p=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),Object.defineProperty(e.prototype,"kind",{get:function(){return"mlabeledtr"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"arity",{get:function(){return 1},enumerable:!1,configurable:!0}),e}(u);e.MmlMlabeledtr=p},5184:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__assign||function(){return i=Object.assign||function(t){for(var e,r=1,n=arguments.length;r=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.OPTABLE=e.MMLSPACING=e.getRange=e.RANGES=e.MO=e.OPDEF=void 0;var o=r(9007);function i(t,e,r,n){return void 0===r&&(r=o.TEXCLASS.BIN),void 0===n&&(n=null),[t,e,r,n]}e.OPDEF=i,e.MO={ORD:i(0,0,o.TEXCLASS.ORD),ORD11:i(1,1,o.TEXCLASS.ORD),ORD21:i(2,1,o.TEXCLASS.ORD),ORD02:i(0,2,o.TEXCLASS.ORD),ORD55:i(5,5,o.TEXCLASS.ORD),NONE:i(0,0,o.TEXCLASS.NONE),OP:i(1,2,o.TEXCLASS.OP,{largeop:!0,movablelimits:!0,symmetric:!0}),OPFIXED:i(1,2,o.TEXCLASS.OP,{largeop:!0,movablelimits:!0}),INTEGRAL:i(0,1,o.TEXCLASS.OP,{largeop:!0,symmetric:!0}),INTEGRAL2:i(1,2,o.TEXCLASS.OP,{largeop:!0,symmetric:!0}),BIN3:i(3,3,o.TEXCLASS.BIN),BIN4:i(4,4,o.TEXCLASS.BIN),BIN01:i(0,1,o.TEXCLASS.BIN),BIN5:i(5,5,o.TEXCLASS.BIN),TALLBIN:i(4,4,o.TEXCLASS.BIN,{stretchy:!0}),BINOP:i(4,4,o.TEXCLASS.BIN,{largeop:!0,movablelimits:!0}),REL:i(5,5,o.TEXCLASS.REL),REL1:i(1,1,o.TEXCLASS.REL,{stretchy:!0}),REL4:i(4,4,o.TEXCLASS.REL),RELSTRETCH:i(5,5,o.TEXCLASS.REL,{stretchy:!0}),RELACCENT:i(5,5,o.TEXCLASS.REL,{accent:!0}),WIDEREL:i(5,5,o.TEXCLASS.REL,{accent:!0,stretchy:!0}),OPEN:i(0,0,o.TEXCLASS.OPEN,{fence:!0,stretchy:!0,symmetric:!0}),CLOSE:i(0,0,o.TEXCLASS.CLOSE,{fence:!0,stretchy:!0,symmetric:!0}),INNER:i(0,0,o.TEXCLASS.INNER),PUNCT:i(0,3,o.TEXCLASS.PUNCT),ACCENT:i(0,0,o.TEXCLASS.ORD,{accent:!0}),WIDEACCENT:i(0,0,o.TEXCLASS.ORD,{accent:!0,stretchy:!0})},e.RANGES=[[32,127,o.TEXCLASS.REL,"mo"],[160,191,o.TEXCLASS.ORD,"mo"],[192,591,o.TEXCLASS.ORD,"mi"],[688,879,o.TEXCLASS.ORD,"mo"],[880,6688,o.TEXCLASS.ORD,"mi"],[6832,6911,o.TEXCLASS.ORD,"mo"],[6912,7615,o.TEXCLASS.ORD,"mi"],[7616,7679,o.TEXCLASS.ORD,"mo"],[7680,8191,o.TEXCLASS.ORD,"mi"],[8192,8303,o.TEXCLASS.ORD,"mo"],[8304,8351,o.TEXCLASS.ORD,"mo"],[8448,8527,o.TEXCLASS.ORD,"mi"],[8528,8591,o.TEXCLASS.ORD,"mn"],[8592,8703,o.TEXCLASS.REL,"mo"],[8704,8959,o.TEXCLASS.BIN,"mo"],[8960,9215,o.TEXCLASS.ORD,"mo"],[9312,9471,o.TEXCLASS.ORD,"mn"],[9472,10223,o.TEXCLASS.ORD,"mo"],[10224,10239,o.TEXCLASS.REL,"mo"],[10240,10495,o.TEXCLASS.ORD,"mtext"],[10496,10623,o.TEXCLASS.REL,"mo"],[10624,10751,o.TEXCLASS.ORD,"mo"],[10752,11007,o.TEXCLASS.BIN,"mo"],[11008,11055,o.TEXCLASS.ORD,"mo"],[11056,11087,o.TEXCLASS.REL,"mo"],[11088,11263,o.TEXCLASS.ORD,"mo"],[11264,11744,o.TEXCLASS.ORD,"mi"],[11776,11903,o.TEXCLASS.ORD,"mo"],[11904,12255,o.TEXCLASS.ORD,"mi","normal"],[12272,12351,o.TEXCLASS.ORD,"mo"],[12352,42143,o.TEXCLASS.ORD,"mi","normal"],[42192,43055,o.TEXCLASS.ORD,"mi"],[43056,43071,o.TEXCLASS.ORD,"mn"],[43072,55295,o.TEXCLASS.ORD,"mi"],[63744,64255,o.TEXCLASS.ORD,"mi","normal"],[64256,65023,o.TEXCLASS.ORD,"mi"],[65024,65135,o.TEXCLASS.ORD,"mo"],[65136,65791,o.TEXCLASS.ORD,"mi"],[65792,65935,o.TEXCLASS.ORD,"mn"],[65936,74751,o.TEXCLASS.ORD,"mi","normal"],[74752,74879,o.TEXCLASS.ORD,"mn"],[74880,113823,o.TEXCLASS.ORD,"mi","normal"],[113824,119391,o.TEXCLASS.ORD,"mo"],[119648,119679,o.TEXCLASS.ORD,"mn"],[119808,120781,o.TEXCLASS.ORD,"mi"],[120782,120831,o.TEXCLASS.ORD,"mn"],[122624,129023,o.TEXCLASS.ORD,"mo"],[129024,129279,o.TEXCLASS.REL,"mo"],[129280,129535,o.TEXCLASS.ORD,"mo"],[131072,195103,o.TEXCLASS.ORD,"mi","normnal"]],e.getRange=function(t){var r,o,i=t.codePointAt(0);try{for(var s=n(e.RANGES),a=s.next();!a.done;a=s.next()){var l=a.value;if(i<=l[1]){if(i>=l[0])return l;break}}}catch(t){r={error:t}}finally{try{a&&!a.done&&(o=s.return)&&o.call(s)}finally{if(r)throw r.error}}return null},e.MMLSPACING=[[0,0],[1,2],[3,3],[4,4],[0,0],[0,0],[0,3]],e.OPTABLE={prefix:{"(":e.MO.OPEN,"+":e.MO.BIN01,"-":e.MO.BIN01,"[":e.MO.OPEN,"{":e.MO.OPEN,"|":e.MO.OPEN,"||":[0,0,o.TEXCLASS.BIN,{fence:!0,stretchy:!0,symmetric:!0}],"|||":[0,0,o.TEXCLASS.ORD,{fence:!0,stretchy:!0,symmetric:!0}],"\xac":e.MO.ORD21,"\xb1":e.MO.BIN01,"\u2016":[0,0,o.TEXCLASS.ORD,{fence:!0,stretchy:!0}],"\u2018":[0,0,o.TEXCLASS.OPEN,{fence:!0}],"\u201c":[0,0,o.TEXCLASS.OPEN,{fence:!0}],"\u2145":e.MO.ORD21,"\u2146":i(2,0,o.TEXCLASS.ORD),"\u2200":e.MO.ORD21,"\u2202":e.MO.ORD21,"\u2203":e.MO.ORD21,"\u2204":e.MO.ORD21,"\u2207":e.MO.ORD21,"\u220f":e.MO.OP,"\u2210":e.MO.OP,"\u2211":e.MO.OP,"\u2212":e.MO.BIN01,"\u2213":e.MO.BIN01,"\u221a":[1,1,o.TEXCLASS.ORD,{stretchy:!0}],"\u221b":e.MO.ORD11,"\u221c":e.MO.ORD11,"\u2220":e.MO.ORD,"\u2221":e.MO.ORD,"\u2222":e.MO.ORD,"\u222b":e.MO.INTEGRAL,"\u222c":e.MO.INTEGRAL,"\u222d":e.MO.INTEGRAL,"\u222e":e.MO.INTEGRAL,"\u222f":e.MO.INTEGRAL,"\u2230":e.MO.INTEGRAL,"\u2231":e.MO.INTEGRAL,"\u2232":e.MO.INTEGRAL,"\u2233":e.MO.INTEGRAL,"\u22c0":e.MO.OP,"\u22c1":e.MO.OP,"\u22c2":e.MO.OP,"\u22c3":e.MO.OP,"\u2308":e.MO.OPEN,"\u230a":e.MO.OPEN,"\u2329":e.MO.OPEN,"\u2772":e.MO.OPEN,"\u27e6":e.MO.OPEN,"\u27e8":e.MO.OPEN,"\u27ea":e.MO.OPEN,"\u27ec":e.MO.OPEN,"\u27ee":e.MO.OPEN,"\u2980":[0,0,o.TEXCLASS.ORD,{fence:!0,stretchy:!0}],"\u2983":e.MO.OPEN,"\u2985":e.MO.OPEN,"\u2987":e.MO.OPEN,"\u2989":e.MO.OPEN,"\u298b":e.MO.OPEN,"\u298d":e.MO.OPEN,"\u298f":e.MO.OPEN,"\u2991":e.MO.OPEN,"\u2993":e.MO.OPEN,"\u2995":e.MO.OPEN,"\u2997":e.MO.OPEN,"\u29fc":e.MO.OPEN,"\u2a00":e.MO.OP,"\u2a01":e.MO.OP,"\u2a02":e.MO.OP,"\u2a03":e.MO.OP,"\u2a04":e.MO.OP,"\u2a05":e.MO.OP,"\u2a06":e.MO.OP,"\u2a07":e.MO.OP,"\u2a08":e.MO.OP,"\u2a09":e.MO.OP,"\u2a0a":e.MO.OP,"\u2a0b":e.MO.INTEGRAL2,"\u2a0c":e.MO.INTEGRAL,"\u2a0d":e.MO.INTEGRAL2,"\u2a0e":e.MO.INTEGRAL2,"\u2a0f":e.MO.INTEGRAL2,"\u2a10":e.MO.OP,"\u2a11":e.MO.OP,"\u2a12":e.MO.OP,"\u2a13":e.MO.OP,"\u2a14":e.MO.OP,"\u2a15":e.MO.INTEGRAL2,"\u2a16":e.MO.INTEGRAL2,"\u2a17":e.MO.INTEGRAL2,"\u2a18":e.MO.INTEGRAL2,"\u2a19":e.MO.INTEGRAL2,"\u2a1a":e.MO.INTEGRAL2,"\u2a1b":e.MO.INTEGRAL2,"\u2a1c":e.MO.INTEGRAL2,"\u2afc":e.MO.OP,"\u2aff":e.MO.OP},postfix:{"!!":i(1,0),"!":[1,0,o.TEXCLASS.CLOSE,null],'"':e.MO.ACCENT,"&":e.MO.ORD,")":e.MO.CLOSE,"++":i(0,0),"--":i(0,0),"..":i(0,0),"...":e.MO.ORD,"'":e.MO.ACCENT,"]":e.MO.CLOSE,"^":e.MO.WIDEACCENT,_:e.MO.WIDEACCENT,"`":e.MO.ACCENT,"|":e.MO.CLOSE,"}":e.MO.CLOSE,"~":e.MO.WIDEACCENT,"||":[0,0,o.TEXCLASS.BIN,{fence:!0,stretchy:!0,symmetric:!0}],"|||":[0,0,o.TEXCLASS.ORD,{fence:!0,stretchy:!0,symmetric:!0}],"\xa8":e.MO.ACCENT,"\xaa":e.MO.ACCENT,"\xaf":e.MO.WIDEACCENT,"\xb0":e.MO.ORD,"\xb2":e.MO.ACCENT,"\xb3":e.MO.ACCENT,"\xb4":e.MO.ACCENT,"\xb8":e.MO.ACCENT,"\xb9":e.MO.ACCENT,"\xba":e.MO.ACCENT,"\u02c6":e.MO.WIDEACCENT,"\u02c7":e.MO.WIDEACCENT,"\u02c9":e.MO.WIDEACCENT,"\u02ca":e.MO.ACCENT,"\u02cb":e.MO.ACCENT,"\u02cd":e.MO.WIDEACCENT,"\u02d8":e.MO.ACCENT,"\u02d9":e.MO.ACCENT,"\u02da":e.MO.ACCENT,"\u02dc":e.MO.WIDEACCENT,"\u02dd":e.MO.ACCENT,"\u02f7":e.MO.WIDEACCENT,"\u0302":e.MO.WIDEACCENT,"\u0311":e.MO.ACCENT,"\u03f6":e.MO.REL,"\u2016":[0,0,o.TEXCLASS.ORD,{fence:!0,stretchy:!0}],"\u2019":[0,0,o.TEXCLASS.CLOSE,{fence:!0}],"\u201a":e.MO.ACCENT,"\u201b":e.MO.ACCENT,"\u201d":[0,0,o.TEXCLASS.CLOSE,{fence:!0}],"\u201e":e.MO.ACCENT,"\u201f":e.MO.ACCENT,"\u2032":e.MO.ORD,"\u2033":e.MO.ACCENT,"\u2034":e.MO.ACCENT,"\u2035":e.MO.ACCENT,"\u2036":e.MO.ACCENT,"\u2037":e.MO.ACCENT,"\u203e":e.MO.WIDEACCENT,"\u2057":e.MO.ACCENT,"\u20db":e.MO.ACCENT,"\u20dc":e.MO.ACCENT,"\u2309":e.MO.CLOSE,"\u230b":e.MO.CLOSE,"\u232a":e.MO.CLOSE,"\u23b4":e.MO.WIDEACCENT,"\u23b5":e.MO.WIDEACCENT,"\u23dc":e.MO.WIDEACCENT,"\u23dd":e.MO.WIDEACCENT,"\u23de":e.MO.WIDEACCENT,"\u23df":e.MO.WIDEACCENT,"\u23e0":e.MO.WIDEACCENT,"\u23e1":e.MO.WIDEACCENT,"\u25a0":e.MO.BIN3,"\u25a1":e.MO.BIN3,"\u25aa":e.MO.BIN3,"\u25ab":e.MO.BIN3,"\u25ad":e.MO.BIN3,"\u25ae":e.MO.BIN3,"\u25af":e.MO.BIN3,"\u25b0":e.MO.BIN3,"\u25b1":e.MO.BIN3,"\u25b2":e.MO.BIN4,"\u25b4":e.MO.BIN4,"\u25b6":e.MO.BIN4,"\u25b7":e.MO.BIN4,"\u25b8":e.MO.BIN4,"\u25bc":e.MO.BIN4,"\u25be":e.MO.BIN4,"\u25c0":e.MO.BIN4,"\u25c1":e.MO.BIN4,"\u25c2":e.MO.BIN4,"\u25c4":e.MO.BIN4,"\u25c5":e.MO.BIN4,"\u25c6":e.MO.BIN4,"\u25c7":e.MO.BIN4,"\u25c8":e.MO.BIN4,"\u25c9":e.MO.BIN4,"\u25cc":e.MO.BIN4,"\u25cd":e.MO.BIN4,"\u25ce":e.MO.BIN4,"\u25cf":e.MO.BIN4,"\u25d6":e.MO.BIN4,"\u25d7":e.MO.BIN4,"\u25e6":e.MO.BIN4,"\u266d":e.MO.ORD02,"\u266e":e.MO.ORD02,"\u266f":e.MO.ORD02,"\u2773":e.MO.CLOSE,"\u27e7":e.MO.CLOSE,"\u27e9":e.MO.CLOSE,"\u27eb":e.MO.CLOSE,"\u27ed":e.MO.CLOSE,"\u27ef":e.MO.CLOSE,"\u2980":[0,0,o.TEXCLASS.ORD,{fence:!0,stretchy:!0}],"\u2984":e.MO.CLOSE,"\u2986":e.MO.CLOSE,"\u2988":e.MO.CLOSE,"\u298a":e.MO.CLOSE,"\u298c":e.MO.CLOSE,"\u298e":e.MO.CLOSE,"\u2990":e.MO.CLOSE,"\u2992":e.MO.CLOSE,"\u2994":e.MO.CLOSE,"\u2996":e.MO.CLOSE,"\u2998":e.MO.CLOSE,"\u29fd":e.MO.CLOSE},infix:{"!=":e.MO.BIN4,"#":e.MO.ORD,$:e.MO.ORD,"%":[3,3,o.TEXCLASS.ORD,null],"&&":e.MO.BIN4,"":e.MO.ORD,"*":e.MO.BIN3,"**":i(1,1),"*=":e.MO.BIN4,"+":e.MO.BIN4,"+=":e.MO.BIN4,",":[0,3,o.TEXCLASS.PUNCT,{linebreakstyle:"after",separator:!0}],"-":e.MO.BIN4,"-=":e.MO.BIN4,"->":e.MO.BIN5,".":[0,3,o.TEXCLASS.PUNCT,{separator:!0}],"/":e.MO.ORD11,"//":i(1,1),"/=":e.MO.BIN4,":":[1,2,o.TEXCLASS.REL,null],":=":e.MO.BIN4,";":[0,3,o.TEXCLASS.PUNCT,{linebreakstyle:"after",separator:!0}],"<":e.MO.REL,"<=":e.MO.BIN5,"<>":i(1,1),"=":e.MO.REL,"==":e.MO.BIN4,">":e.MO.REL,">=":e.MO.BIN5,"?":[1,1,o.TEXCLASS.CLOSE,null],"@":e.MO.ORD11,"\\":e.MO.ORD,"^":e.MO.ORD11,_:e.MO.ORD11,"|":[2,2,o.TEXCLASS.ORD,{fence:!0,stretchy:!0,symmetric:!0}],"||":[2,2,o.TEXCLASS.BIN,{fence:!0,stretchy:!0,symmetric:!0}],"|||":[2,2,o.TEXCLASS.ORD,{fence:!0,stretchy:!0,symmetric:!0}],"\xb1":e.MO.BIN4,"\xb7":e.MO.BIN4,"\xd7":e.MO.BIN4,"\xf7":e.MO.BIN4,"\u02b9":e.MO.ORD,"\u0300":e.MO.ACCENT,"\u0301":e.MO.ACCENT,"\u0303":e.MO.WIDEACCENT,"\u0304":e.MO.ACCENT,"\u0306":e.MO.ACCENT,"\u0307":e.MO.ACCENT,"\u0308":e.MO.ACCENT,"\u030c":e.MO.ACCENT,"\u0332":e.MO.WIDEACCENT,"\u0338":e.MO.REL4,"\u2015":[0,0,o.TEXCLASS.ORD,{stretchy:!0}],"\u2017":[0,0,o.TEXCLASS.ORD,{stretchy:!0}],"\u2020":e.MO.BIN3,"\u2021":e.MO.BIN3,"\u2022":e.MO.BIN4,"\u2026":e.MO.INNER,"\u2043":e.MO.BIN4,"\u2044":e.MO.TALLBIN,"\u2061":e.MO.NONE,"\u2062":e.MO.NONE,"\u2063":[0,0,o.TEXCLASS.NONE,{linebreakstyle:"after",separator:!0}],"\u2064":e.MO.NONE,"\u20d7":e.MO.ACCENT,"\u2111":e.MO.ORD,"\u2113":e.MO.ORD,"\u2118":e.MO.ORD,"\u211c":e.MO.ORD,"\u2190":e.MO.WIDEREL,"\u2191":e.MO.RELSTRETCH,"\u2192":e.MO.WIDEREL,"\u2193":e.MO.RELSTRETCH,"\u2194":e.MO.WIDEREL,"\u2195":e.MO.RELSTRETCH,"\u2196":e.MO.RELSTRETCH,"\u2197":e.MO.RELSTRETCH,"\u2198":e.MO.RELSTRETCH,"\u2199":e.MO.RELSTRETCH,"\u219a":e.MO.RELACCENT,"\u219b":e.MO.RELACCENT,"\u219c":e.MO.WIDEREL,"\u219d":e.MO.WIDEREL,"\u219e":e.MO.WIDEREL,"\u219f":e.MO.WIDEREL,"\u21a0":e.MO.WIDEREL,"\u21a1":e.MO.RELSTRETCH,"\u21a2":e.MO.WIDEREL,"\u21a3":e.MO.WIDEREL,"\u21a4":e.MO.WIDEREL,"\u21a5":e.MO.RELSTRETCH,"\u21a6":e.MO.WIDEREL,"\u21a7":e.MO.RELSTRETCH,"\u21a8":e.MO.RELSTRETCH,"\u21a9":e.MO.WIDEREL,"\u21aa":e.MO.WIDEREL,"\u21ab":e.MO.WIDEREL,"\u21ac":e.MO.WIDEREL,"\u21ad":e.MO.WIDEREL,"\u21ae":e.MO.RELACCENT,"\u21af":e.MO.RELSTRETCH,"\u21b0":e.MO.RELSTRETCH,"\u21b1":e.MO.RELSTRETCH,"\u21b2":e.MO.RELSTRETCH,"\u21b3":e.MO.RELSTRETCH,"\u21b4":e.MO.RELSTRETCH,"\u21b5":e.MO.RELSTRETCH,"\u21b6":e.MO.RELACCENT,"\u21b7":e.MO.RELACCENT,"\u21b8":e.MO.REL,"\u21b9":e.MO.WIDEREL,"\u21ba":e.MO.REL,"\u21bb":e.MO.REL,"\u21bc":e.MO.WIDEREL,"\u21bd":e.MO.WIDEREL,"\u21be":e.MO.RELSTRETCH,"\u21bf":e.MO.RELSTRETCH,"\u21c0":e.MO.WIDEREL,"\u21c1":e.MO.WIDEREL,"\u21c2":e.MO.RELSTRETCH,"\u21c3":e.MO.RELSTRETCH,"\u21c4":e.MO.WIDEREL,"\u21c5":e.MO.RELSTRETCH,"\u21c6":e.MO.WIDEREL,"\u21c7":e.MO.WIDEREL,"\u21c8":e.MO.RELSTRETCH,"\u21c9":e.MO.WIDEREL,"\u21ca":e.MO.RELSTRETCH,"\u21cb":e.MO.WIDEREL,"\u21cc":e.MO.WIDEREL,"\u21cd":e.MO.RELACCENT,"\u21ce":e.MO.RELACCENT,"\u21cf":e.MO.RELACCENT,"\u21d0":e.MO.WIDEREL,"\u21d1":e.MO.RELSTRETCH,"\u21d2":e.MO.WIDEREL,"\u21d3":e.MO.RELSTRETCH,"\u21d4":e.MO.WIDEREL,"\u21d5":e.MO.RELSTRETCH,"\u21d6":e.MO.RELSTRETCH,"\u21d7":e.MO.RELSTRETCH,"\u21d8":e.MO.RELSTRETCH,"\u21d9":e.MO.RELSTRETCH,"\u21da":e.MO.WIDEREL,"\u21db":e.MO.WIDEREL,"\u21dc":e.MO.WIDEREL,"\u21dd":e.MO.WIDEREL,"\u21de":e.MO.REL,"\u21df":e.MO.REL,"\u21e0":e.MO.WIDEREL,"\u21e1":e.MO.RELSTRETCH,"\u21e2":e.MO.WIDEREL,"\u21e3":e.MO.RELSTRETCH,"\u21e4":e.MO.WIDEREL,"\u21e5":e.MO.WIDEREL,"\u21e6":e.MO.WIDEREL,"\u21e7":e.MO.RELSTRETCH,"\u21e8":e.MO.WIDEREL,"\u21e9":e.MO.RELSTRETCH,"\u21ea":e.MO.RELSTRETCH,"\u21eb":e.MO.RELSTRETCH,"\u21ec":e.MO.RELSTRETCH,"\u21ed":e.MO.RELSTRETCH,"\u21ee":e.MO.RELSTRETCH,"\u21ef":e.MO.RELSTRETCH,"\u21f0":e.MO.WIDEREL,"\u21f1":e.MO.REL,"\u21f2":e.MO.REL,"\u21f3":e.MO.RELSTRETCH,"\u21f4":e.MO.RELACCENT,"\u21f5":e.MO.RELSTRETCH,"\u21f6":e.MO.WIDEREL,"\u21f7":e.MO.RELACCENT,"\u21f8":e.MO.RELACCENT,"\u21f9":e.MO.RELACCENT,"\u21fa":e.MO.RELACCENT,"\u21fb":e.MO.RELACCENT,"\u21fc":e.MO.RELACCENT,"\u21fd":e.MO.WIDEREL,"\u21fe":e.MO.WIDEREL,"\u21ff":e.MO.WIDEREL,"\u2201":i(1,2,o.TEXCLASS.ORD),"\u2205":e.MO.ORD,"\u2206":e.MO.BIN3,"\u2208":e.MO.REL,"\u2209":e.MO.REL,"\u220a":e.MO.REL,"\u220b":e.MO.REL,"\u220c":e.MO.REL,"\u220d":e.MO.REL,"\u220e":e.MO.BIN3,"\u2212":e.MO.BIN4,"\u2213":e.MO.BIN4,"\u2214":e.MO.BIN4,"\u2215":e.MO.TALLBIN,"\u2216":e.MO.BIN4,"\u2217":e.MO.BIN4,"\u2218":e.MO.BIN4,"\u2219":e.MO.BIN4,"\u221d":e.MO.REL,"\u221e":e.MO.ORD,"\u221f":e.MO.REL,"\u2223":e.MO.REL,"\u2224":e.MO.REL,"\u2225":e.MO.REL,"\u2226":e.MO.REL,"\u2227":e.MO.BIN4,"\u2228":e.MO.BIN4,"\u2229":e.MO.BIN4,"\u222a":e.MO.BIN4,"\u2234":e.MO.REL,"\u2235":e.MO.REL,"\u2236":e.MO.REL,"\u2237":e.MO.REL,"\u2238":e.MO.BIN4,"\u2239":e.MO.REL,"\u223a":e.MO.BIN4,"\u223b":e.MO.REL,"\u223c":e.MO.REL,"\u223d":e.MO.REL,"\u223d\u0331":e.MO.BIN3,"\u223e":e.MO.REL,"\u223f":e.MO.BIN3,"\u2240":e.MO.BIN4,"\u2241":e.MO.REL,"\u2242":e.MO.REL,"\u2242\u0338":e.MO.REL,"\u2243":e.MO.REL,"\u2244":e.MO.REL,"\u2245":e.MO.REL,"\u2246":e.MO.REL,"\u2247":e.MO.REL,"\u2248":e.MO.REL,"\u2249":e.MO.REL,"\u224a":e.MO.REL,"\u224b":e.MO.REL,"\u224c":e.MO.REL,"\u224d":e.MO.REL,"\u224e":e.MO.REL,"\u224e\u0338":e.MO.REL,"\u224f":e.MO.REL,"\u224f\u0338":e.MO.REL,"\u2250":e.MO.REL,"\u2251":e.MO.REL,"\u2252":e.MO.REL,"\u2253":e.MO.REL,"\u2254":e.MO.REL,"\u2255":e.MO.REL,"\u2256":e.MO.REL,"\u2257":e.MO.REL,"\u2258":e.MO.REL,"\u2259":e.MO.REL,"\u225a":e.MO.REL,"\u225b":e.MO.REL,"\u225c":e.MO.REL,"\u225d":e.MO.REL,"\u225e":e.MO.REL,"\u225f":e.MO.REL,"\u2260":e.MO.REL,"\u2261":e.MO.REL,"\u2262":e.MO.REL,"\u2263":e.MO.REL,"\u2264":e.MO.REL,"\u2265":e.MO.REL,"\u2266":e.MO.REL,"\u2266\u0338":e.MO.REL,"\u2267":e.MO.REL,"\u2268":e.MO.REL,"\u2269":e.MO.REL,"\u226a":e.MO.REL,"\u226a\u0338":e.MO.REL,"\u226b":e.MO.REL,"\u226b\u0338":e.MO.REL,"\u226c":e.MO.REL,"\u226d":e.MO.REL,"\u226e":e.MO.REL,"\u226f":e.MO.REL,"\u2270":e.MO.REL,"\u2271":e.MO.REL,"\u2272":e.MO.REL,"\u2273":e.MO.REL,"\u2274":e.MO.REL,"\u2275":e.MO.REL,"\u2276":e.MO.REL,"\u2277":e.MO.REL,"\u2278":e.MO.REL,"\u2279":e.MO.REL,"\u227a":e.MO.REL,"\u227b":e.MO.REL,"\u227c":e.MO.REL,"\u227d":e.MO.REL,"\u227e":e.MO.REL,"\u227f":e.MO.REL,"\u227f\u0338":e.MO.REL,"\u2280":e.MO.REL,"\u2281":e.MO.REL,"\u2282":e.MO.REL,"\u2282\u20d2":e.MO.REL,"\u2283":e.MO.REL,"\u2283\u20d2":e.MO.REL,"\u2284":e.MO.REL,"\u2285":e.MO.REL,"\u2286":e.MO.REL,"\u2287":e.MO.REL,"\u2288":e.MO.REL,"\u2289":e.MO.REL,"\u228a":e.MO.REL,"\u228b":e.MO.REL,"\u228c":e.MO.BIN4,"\u228d":e.MO.BIN4,"\u228e":e.MO.BIN4,"\u228f":e.MO.REL,"\u228f\u0338":e.MO.REL,"\u2290":e.MO.REL,"\u2290\u0338":e.MO.REL,"\u2291":e.MO.REL,"\u2292":e.MO.REL,"\u2293":e.MO.BIN4,"\u2294":e.MO.BIN4,"\u2295":e.MO.BIN4,"\u2296":e.MO.BIN4,"\u2297":e.MO.BIN4,"\u2298":e.MO.BIN4,"\u2299":e.MO.BIN4,"\u229a":e.MO.BIN4,"\u229b":e.MO.BIN4,"\u229c":e.MO.BIN4,"\u229d":e.MO.BIN4,"\u229e":e.MO.BIN4,"\u229f":e.MO.BIN4,"\u22a0":e.MO.BIN4,"\u22a1":e.MO.BIN4,"\u22a2":e.MO.REL,"\u22a3":e.MO.REL,"\u22a4":e.MO.ORD55,"\u22a5":e.MO.REL,"\u22a6":e.MO.REL,"\u22a7":e.MO.REL,"\u22a8":e.MO.REL,"\u22a9":e.MO.REL,"\u22aa":e.MO.REL,"\u22ab":e.MO.REL,"\u22ac":e.MO.REL,"\u22ad":e.MO.REL,"\u22ae":e.MO.REL,"\u22af":e.MO.REL,"\u22b0":e.MO.REL,"\u22b1":e.MO.REL,"\u22b2":e.MO.REL,"\u22b3":e.MO.REL,"\u22b4":e.MO.REL,"\u22b5":e.MO.REL,"\u22b6":e.MO.REL,"\u22b7":e.MO.REL,"\u22b8":e.MO.REL,"\u22b9":e.MO.REL,"\u22ba":e.MO.BIN4,"\u22bb":e.MO.BIN4,"\u22bc":e.MO.BIN4,"\u22bd":e.MO.BIN4,"\u22be":e.MO.BIN3,"\u22bf":e.MO.BIN3,"\u22c4":e.MO.BIN4,"\u22c5":e.MO.BIN4,"\u22c6":e.MO.BIN4,"\u22c7":e.MO.BIN4,"\u22c8":e.MO.REL,"\u22c9":e.MO.BIN4,"\u22ca":e.MO.BIN4,"\u22cb":e.MO.BIN4,"\u22cc":e.MO.BIN4,"\u22cd":e.MO.REL,"\u22ce":e.MO.BIN4,"\u22cf":e.MO.BIN4,"\u22d0":e.MO.REL,"\u22d1":e.MO.REL,"\u22d2":e.MO.BIN4,"\u22d3":e.MO.BIN4,"\u22d4":e.MO.REL,"\u22d5":e.MO.REL,"\u22d6":e.MO.REL,"\u22d7":e.MO.REL,"\u22d8":e.MO.REL,"\u22d9":e.MO.REL,"\u22da":e.MO.REL,"\u22db":e.MO.REL,"\u22dc":e.MO.REL,"\u22dd":e.MO.REL,"\u22de":e.MO.REL,"\u22df":e.MO.REL,"\u22e0":e.MO.REL,"\u22e1":e.MO.REL,"\u22e2":e.MO.REL,"\u22e3":e.MO.REL,"\u22e4":e.MO.REL,"\u22e5":e.MO.REL,"\u22e6":e.MO.REL,"\u22e7":e.MO.REL,"\u22e8":e.MO.REL,"\u22e9":e.MO.REL,"\u22ea":e.MO.REL,"\u22eb":e.MO.REL,"\u22ec":e.MO.REL,"\u22ed":e.MO.REL,"\u22ee":e.MO.ORD55,"\u22ef":e.MO.INNER,"\u22f0":e.MO.REL,"\u22f1":[5,5,o.TEXCLASS.INNER,null],"\u22f2":e.MO.REL,"\u22f3":e.MO.REL,"\u22f4":e.MO.REL,"\u22f5":e.MO.REL,"\u22f6":e.MO.REL,"\u22f7":e.MO.REL,"\u22f8":e.MO.REL,"\u22f9":e.MO.REL,"\u22fa":e.MO.REL,"\u22fb":e.MO.REL,"\u22fc":e.MO.REL,"\u22fd":e.MO.REL,"\u22fe":e.MO.REL,"\u22ff":e.MO.REL,"\u2305":e.MO.BIN3,"\u2306":e.MO.BIN3,"\u2322":e.MO.REL4,"\u2323":e.MO.REL4,"\u2329":e.MO.OPEN,"\u232a":e.MO.CLOSE,"\u23aa":e.MO.ORD,"\u23af":[0,0,o.TEXCLASS.ORD,{stretchy:!0}],"\u23b0":e.MO.OPEN,"\u23b1":e.MO.CLOSE,"\u2500":e.MO.ORD,"\u25b3":e.MO.BIN4,"\u25b5":e.MO.BIN4,"\u25b9":e.MO.BIN4,"\u25bd":e.MO.BIN4,"\u25bf":e.MO.BIN4,"\u25c3":e.MO.BIN4,"\u25ef":e.MO.BIN3,"\u2660":e.MO.ORD,"\u2661":e.MO.ORD,"\u2662":e.MO.ORD,"\u2663":e.MO.ORD,"\u2758":e.MO.REL,"\u27f0":e.MO.RELSTRETCH,"\u27f1":e.MO.RELSTRETCH,"\u27f5":e.MO.WIDEREL,"\u27f6":e.MO.WIDEREL,"\u27f7":e.MO.WIDEREL,"\u27f8":e.MO.WIDEREL,"\u27f9":e.MO.WIDEREL,"\u27fa":e.MO.WIDEREL,"\u27fb":e.MO.WIDEREL,"\u27fc":e.MO.WIDEREL,"\u27fd":e.MO.WIDEREL,"\u27fe":e.MO.WIDEREL,"\u27ff":e.MO.WIDEREL,"\u2900":e.MO.RELACCENT,"\u2901":e.MO.RELACCENT,"\u2902":e.MO.RELACCENT,"\u2903":e.MO.RELACCENT,"\u2904":e.MO.RELACCENT,"\u2905":e.MO.RELACCENT,"\u2906":e.MO.RELACCENT,"\u2907":e.MO.RELACCENT,"\u2908":e.MO.REL,"\u2909":e.MO.REL,"\u290a":e.MO.RELSTRETCH,"\u290b":e.MO.RELSTRETCH,"\u290c":e.MO.WIDEREL,"\u290d":e.MO.WIDEREL,"\u290e":e.MO.WIDEREL,"\u290f":e.MO.WIDEREL,"\u2910":e.MO.WIDEREL,"\u2911":e.MO.RELACCENT,"\u2912":e.MO.RELSTRETCH,"\u2913":e.MO.RELSTRETCH,"\u2914":e.MO.RELACCENT,"\u2915":e.MO.RELACCENT,"\u2916":e.MO.RELACCENT,"\u2917":e.MO.RELACCENT,"\u2918":e.MO.RELACCENT,"\u2919":e.MO.RELACCENT,"\u291a":e.MO.RELACCENT,"\u291b":e.MO.RELACCENT,"\u291c":e.MO.RELACCENT,"\u291d":e.MO.RELACCENT,"\u291e":e.MO.RELACCENT,"\u291f":e.MO.RELACCENT,"\u2920":e.MO.RELACCENT,"\u2921":e.MO.RELSTRETCH,"\u2922":e.MO.RELSTRETCH,"\u2923":e.MO.REL,"\u2924":e.MO.REL,"\u2925":e.MO.REL,"\u2926":e.MO.REL,"\u2927":e.MO.REL,"\u2928":e.MO.REL,"\u2929":e.MO.REL,"\u292a":e.MO.REL,"\u292b":e.MO.REL,"\u292c":e.MO.REL,"\u292d":e.MO.REL,"\u292e":e.MO.REL,"\u292f":e.MO.REL,"\u2930":e.MO.REL,"\u2931":e.MO.REL,"\u2932":e.MO.REL,"\u2933":e.MO.RELACCENT,"\u2934":e.MO.REL,"\u2935":e.MO.REL,"\u2936":e.MO.REL,"\u2937":e.MO.REL,"\u2938":e.MO.REL,"\u2939":e.MO.REL,"\u293a":e.MO.RELACCENT,"\u293b":e.MO.RELACCENT,"\u293c":e.MO.RELACCENT,"\u293d":e.MO.RELACCENT,"\u293e":e.MO.REL,"\u293f":e.MO.REL,"\u2940":e.MO.REL,"\u2941":e.MO.REL,"\u2942":e.MO.RELACCENT,"\u2943":e.MO.RELACCENT,"\u2944":e.MO.RELACCENT,"\u2945":e.MO.RELACCENT,"\u2946":e.MO.RELACCENT,"\u2947":e.MO.RELACCENT,"\u2948":e.MO.RELACCENT,"\u2949":e.MO.REL,"\u294a":e.MO.RELACCENT,"\u294b":e.MO.RELACCENT,"\u294c":e.MO.REL,"\u294d":e.MO.REL,"\u294e":e.MO.WIDEREL,"\u294f":e.MO.RELSTRETCH,"\u2950":e.MO.WIDEREL,"\u2951":e.MO.RELSTRETCH,"\u2952":e.MO.WIDEREL,"\u2953":e.MO.WIDEREL,"\u2954":e.MO.RELSTRETCH,"\u2955":e.MO.RELSTRETCH,"\u2956":e.MO.RELSTRETCH,"\u2957":e.MO.RELSTRETCH,"\u2958":e.MO.RELSTRETCH,"\u2959":e.MO.RELSTRETCH,"\u295a":e.MO.WIDEREL,"\u295b":e.MO.WIDEREL,"\u295c":e.MO.RELSTRETCH,"\u295d":e.MO.RELSTRETCH,"\u295e":e.MO.WIDEREL,"\u295f":e.MO.WIDEREL,"\u2960":e.MO.RELSTRETCH,"\u2961":e.MO.RELSTRETCH,"\u2962":e.MO.RELACCENT,"\u2963":e.MO.REL,"\u2964":e.MO.RELACCENT,"\u2965":e.MO.REL,"\u2966":e.MO.RELACCENT,"\u2967":e.MO.RELACCENT,"\u2968":e.MO.RELACCENT,"\u2969":e.MO.RELACCENT,"\u296a":e.MO.RELACCENT,"\u296b":e.MO.RELACCENT,"\u296c":e.MO.RELACCENT,"\u296d":e.MO.RELACCENT,"\u296e":e.MO.RELSTRETCH,"\u296f":e.MO.RELSTRETCH,"\u2970":e.MO.RELACCENT,"\u2971":e.MO.RELACCENT,"\u2972":e.MO.RELACCENT,"\u2973":e.MO.RELACCENT,"\u2974":e.MO.RELACCENT,"\u2975":e.MO.RELACCENT,"\u2976":e.MO.RELACCENT,"\u2977":e.MO.RELACCENT,"\u2978":e.MO.RELACCENT,"\u2979":e.MO.RELACCENT,"\u297a":e.MO.RELACCENT,"\u297b":e.MO.RELACCENT,"\u297c":e.MO.RELACCENT,"\u297d":e.MO.RELACCENT,"\u297e":e.MO.REL,"\u297f":e.MO.REL,"\u2981":e.MO.BIN3,"\u2982":e.MO.BIN3,"\u2999":e.MO.BIN3,"\u299a":e.MO.BIN3,"\u299b":e.MO.BIN3,"\u299c":e.MO.BIN3,"\u299d":e.MO.BIN3,"\u299e":e.MO.BIN3,"\u299f":e.MO.BIN3,"\u29a0":e.MO.BIN3,"\u29a1":e.MO.BIN3,"\u29a2":e.MO.BIN3,"\u29a3":e.MO.BIN3,"\u29a4":e.MO.BIN3,"\u29a5":e.MO.BIN3,"\u29a6":e.MO.BIN3,"\u29a7":e.MO.BIN3,"\u29a8":e.MO.BIN3,"\u29a9":e.MO.BIN3,"\u29aa":e.MO.BIN3,"\u29ab":e.MO.BIN3,"\u29ac":e.MO.BIN3,"\u29ad":e.MO.BIN3,"\u29ae":e.MO.BIN3,"\u29af":e.MO.BIN3,"\u29b0":e.MO.BIN3,"\u29b1":e.MO.BIN3,"\u29b2":e.MO.BIN3,"\u29b3":e.MO.BIN3,"\u29b4":e.MO.BIN3,"\u29b5":e.MO.BIN3,"\u29b6":e.MO.BIN4,"\u29b7":e.MO.BIN4,"\u29b8":e.MO.BIN4,"\u29b9":e.MO.BIN4,"\u29ba":e.MO.BIN4,"\u29bb":e.MO.BIN4,"\u29bc":e.MO.BIN4,"\u29bd":e.MO.BIN4,"\u29be":e.MO.BIN4,"\u29bf":e.MO.BIN4,"\u29c0":e.MO.REL,"\u29c1":e.MO.REL,"\u29c2":e.MO.BIN3,"\u29c3":e.MO.BIN3,"\u29c4":e.MO.BIN4,"\u29c5":e.MO.BIN4,"\u29c6":e.MO.BIN4,"\u29c7":e.MO.BIN4,"\u29c8":e.MO.BIN4,"\u29c9":e.MO.BIN3,"\u29ca":e.MO.BIN3,"\u29cb":e.MO.BIN3,"\u29cc":e.MO.BIN3,"\u29cd":e.MO.BIN3,"\u29ce":e.MO.REL,"\u29cf":e.MO.REL,"\u29cf\u0338":e.MO.REL,"\u29d0":e.MO.REL,"\u29d0\u0338":e.MO.REL,"\u29d1":e.MO.REL,"\u29d2":e.MO.REL,"\u29d3":e.MO.REL,"\u29d4":e.MO.REL,"\u29d5":e.MO.REL,"\u29d6":e.MO.BIN4,"\u29d7":e.MO.BIN4,"\u29d8":e.MO.BIN3,"\u29d9":e.MO.BIN3,"\u29db":e.MO.BIN3,"\u29dc":e.MO.BIN3,"\u29dd":e.MO.BIN3,"\u29de":e.MO.REL,"\u29df":e.MO.BIN3,"\u29e0":e.MO.BIN3,"\u29e1":e.MO.REL,"\u29e2":e.MO.BIN4,"\u29e3":e.MO.REL,"\u29e4":e.MO.REL,"\u29e5":e.MO.REL,"\u29e6":e.MO.REL,"\u29e7":e.MO.BIN3,"\u29e8":e.MO.BIN3,"\u29e9":e.MO.BIN3,"\u29ea":e.MO.BIN3,"\u29eb":e.MO.BIN3,"\u29ec":e.MO.BIN3,"\u29ed":e.MO.BIN3,"\u29ee":e.MO.BIN3,"\u29ef":e.MO.BIN3,"\u29f0":e.MO.BIN3,"\u29f1":e.MO.BIN3,"\u29f2":e.MO.BIN3,"\u29f3":e.MO.BIN3,"\u29f4":e.MO.REL,"\u29f5":e.MO.BIN4,"\u29f6":e.MO.BIN4,"\u29f7":e.MO.BIN4,"\u29f8":e.MO.BIN3,"\u29f9":e.MO.BIN3,"\u29fa":e.MO.BIN3,"\u29fb":e.MO.BIN3,"\u29fe":e.MO.BIN4,"\u29ff":e.MO.BIN4,"\u2a1d":e.MO.BIN3,"\u2a1e":e.MO.BIN3,"\u2a1f":e.MO.BIN3,"\u2a20":e.MO.BIN3,"\u2a21":e.MO.BIN3,"\u2a22":e.MO.BIN4,"\u2a23":e.MO.BIN4,"\u2a24":e.MO.BIN4,"\u2a25":e.MO.BIN4,"\u2a26":e.MO.BIN4,"\u2a27":e.MO.BIN4,"\u2a28":e.MO.BIN4,"\u2a29":e.MO.BIN4,"\u2a2a":e.MO.BIN4,"\u2a2b":e.MO.BIN4,"\u2a2c":e.MO.BIN4,"\u2a2d":e.MO.BIN4,"\u2a2e":e.MO.BIN4,"\u2a2f":e.MO.BIN4,"\u2a30":e.MO.BIN4,"\u2a31":e.MO.BIN4,"\u2a32":e.MO.BIN4,"\u2a33":e.MO.BIN4,"\u2a34":e.MO.BIN4,"\u2a35":e.MO.BIN4,"\u2a36":e.MO.BIN4,"\u2a37":e.MO.BIN4,"\u2a38":e.MO.BIN4,"\u2a39":e.MO.BIN4,"\u2a3a":e.MO.BIN4,"\u2a3b":e.MO.BIN4,"\u2a3c":e.MO.BIN4,"\u2a3d":e.MO.BIN4,"\u2a3e":e.MO.BIN4,"\u2a3f":e.MO.BIN4,"\u2a40":e.MO.BIN4,"\u2a41":e.MO.BIN4,"\u2a42":e.MO.BIN4,"\u2a43":e.MO.BIN4,"\u2a44":e.MO.BIN4,"\u2a45":e.MO.BIN4,"\u2a46":e.MO.BIN4,"\u2a47":e.MO.BIN4,"\u2a48":e.MO.BIN4,"\u2a49":e.MO.BIN4,"\u2a4a":e.MO.BIN4,"\u2a4b":e.MO.BIN4,"\u2a4c":e.MO.BIN4,"\u2a4d":e.MO.BIN4,"\u2a4e":e.MO.BIN4,"\u2a4f":e.MO.BIN4,"\u2a50":e.MO.BIN4,"\u2a51":e.MO.BIN4,"\u2a52":e.MO.BIN4,"\u2a53":e.MO.BIN4,"\u2a54":e.MO.BIN4,"\u2a55":e.MO.BIN4,"\u2a56":e.MO.BIN4,"\u2a57":e.MO.BIN4,"\u2a58":e.MO.BIN4,"\u2a59":e.MO.REL,"\u2a5a":e.MO.BIN4,"\u2a5b":e.MO.BIN4,"\u2a5c":e.MO.BIN4,"\u2a5d":e.MO.BIN4,"\u2a5e":e.MO.BIN4,"\u2a5f":e.MO.BIN4,"\u2a60":e.MO.BIN4,"\u2a61":e.MO.BIN4,"\u2a62":e.MO.BIN4,"\u2a63":e.MO.BIN4,"\u2a64":e.MO.BIN4,"\u2a65":e.MO.BIN4,"\u2a66":e.MO.REL,"\u2a67":e.MO.REL,"\u2a68":e.MO.REL,"\u2a69":e.MO.REL,"\u2a6a":e.MO.REL,"\u2a6b":e.MO.REL,"\u2a6c":e.MO.REL,"\u2a6d":e.MO.REL,"\u2a6e":e.MO.REL,"\u2a6f":e.MO.REL,"\u2a70":e.MO.REL,"\u2a71":e.MO.BIN4,"\u2a72":e.MO.BIN4,"\u2a73":e.MO.REL,"\u2a74":e.MO.REL,"\u2a75":e.MO.REL,"\u2a76":e.MO.REL,"\u2a77":e.MO.REL,"\u2a78":e.MO.REL,"\u2a79":e.MO.REL,"\u2a7a":e.MO.REL,"\u2a7b":e.MO.REL,"\u2a7c":e.MO.REL,"\u2a7d":e.MO.REL,"\u2a7d\u0338":e.MO.REL,"\u2a7e":e.MO.REL,"\u2a7e\u0338":e.MO.REL,"\u2a7f":e.MO.REL,"\u2a80":e.MO.REL,"\u2a81":e.MO.REL,"\u2a82":e.MO.REL,"\u2a83":e.MO.REL,"\u2a84":e.MO.REL,"\u2a85":e.MO.REL,"\u2a86":e.MO.REL,"\u2a87":e.MO.REL,"\u2a88":e.MO.REL,"\u2a89":e.MO.REL,"\u2a8a":e.MO.REL,"\u2a8b":e.MO.REL,"\u2a8c":e.MO.REL,"\u2a8d":e.MO.REL,"\u2a8e":e.MO.REL,"\u2a8f":e.MO.REL,"\u2a90":e.MO.REL,"\u2a91":e.MO.REL,"\u2a92":e.MO.REL,"\u2a93":e.MO.REL,"\u2a94":e.MO.REL,"\u2a95":e.MO.REL,"\u2a96":e.MO.REL,"\u2a97":e.MO.REL,"\u2a98":e.MO.REL,"\u2a99":e.MO.REL,"\u2a9a":e.MO.REL,"\u2a9b":e.MO.REL,"\u2a9c":e.MO.REL,"\u2a9d":e.MO.REL,"\u2a9e":e.MO.REL,"\u2a9f":e.MO.REL,"\u2aa0":e.MO.REL,"\u2aa1":e.MO.REL,"\u2aa1\u0338":e.MO.REL,"\u2aa2":e.MO.REL,"\u2aa2\u0338":e.MO.REL,"\u2aa3":e.MO.REL,"\u2aa4":e.MO.REL,"\u2aa5":e.MO.REL,"\u2aa6":e.MO.REL,"\u2aa7":e.MO.REL,"\u2aa8":e.MO.REL,"\u2aa9":e.MO.REL,"\u2aaa":e.MO.REL,"\u2aab":e.MO.REL,"\u2aac":e.MO.REL,"\u2aad":e.MO.REL,"\u2aae":e.MO.REL,"\u2aaf":e.MO.REL,"\u2aaf\u0338":e.MO.REL,"\u2ab0":e.MO.REL,"\u2ab0\u0338":e.MO.REL,"\u2ab1":e.MO.REL,"\u2ab2":e.MO.REL,"\u2ab3":e.MO.REL,"\u2ab4":e.MO.REL,"\u2ab5":e.MO.REL,"\u2ab6":e.MO.REL,"\u2ab7":e.MO.REL,"\u2ab8":e.MO.REL,"\u2ab9":e.MO.REL,"\u2aba":e.MO.REL,"\u2abb":e.MO.REL,"\u2abc":e.MO.REL,"\u2abd":e.MO.REL,"\u2abe":e.MO.REL,"\u2abf":e.MO.REL,"\u2ac0":e.MO.REL,"\u2ac1":e.MO.REL,"\u2ac2":e.MO.REL,"\u2ac3":e.MO.REL,"\u2ac4":e.MO.REL,"\u2ac5":e.MO.REL,"\u2ac6":e.MO.REL,"\u2ac7":e.MO.REL,"\u2ac8":e.MO.REL,"\u2ac9":e.MO.REL,"\u2aca":e.MO.REL,"\u2acb":e.MO.REL,"\u2acc":e.MO.REL,"\u2acd":e.MO.REL,"\u2ace":e.MO.REL,"\u2acf":e.MO.REL,"\u2ad0":e.MO.REL,"\u2ad1":e.MO.REL,"\u2ad2":e.MO.REL,"\u2ad3":e.MO.REL,"\u2ad4":e.MO.REL,"\u2ad5":e.MO.REL,"\u2ad6":e.MO.REL,"\u2ad7":e.MO.REL,"\u2ad8":e.MO.REL,"\u2ad9":e.MO.REL,"\u2ada":e.MO.REL,"\u2adb":e.MO.REL,"\u2add":e.MO.REL,"\u2add\u0338":e.MO.REL,"\u2ade":e.MO.REL,"\u2adf":e.MO.REL,"\u2ae0":e.MO.REL,"\u2ae1":e.MO.REL,"\u2ae2":e.MO.REL,"\u2ae3":e.MO.REL,"\u2ae4":e.MO.REL,"\u2ae5":e.MO.REL,"\u2ae6":e.MO.REL,"\u2ae7":e.MO.REL,"\u2ae8":e.MO.REL,"\u2ae9":e.MO.REL,"\u2aea":e.MO.REL,"\u2aeb":e.MO.REL,"\u2aec":e.MO.REL,"\u2aed":e.MO.REL,"\u2aee":e.MO.REL,"\u2aef":e.MO.REL,"\u2af0":e.MO.REL,"\u2af1":e.MO.REL,"\u2af2":e.MO.REL,"\u2af3":e.MO.REL,"\u2af4":e.MO.BIN4,"\u2af5":e.MO.BIN4,"\u2af6":e.MO.BIN4,"\u2af7":e.MO.REL,"\u2af8":e.MO.REL,"\u2af9":e.MO.REL,"\u2afa":e.MO.REL,"\u2afb":e.MO.BIN4,"\u2afd":e.MO.BIN4,"\u2afe":e.MO.BIN3,"\u2b45":e.MO.RELSTRETCH,"\u2b46":e.MO.RELSTRETCH,"\u3008":e.MO.OPEN,"\u3009":e.MO.CLOSE,"\ufe37":e.MO.WIDEACCENT,"\ufe38":e.MO.WIDEACCENT}},e.OPTABLE.infix["^"]=e.MO.WIDEREL,e.OPTABLE.infix._=e.MO.WIDEREL,e.OPTABLE.infix["\u2adc"]=e.MO.REL},9259:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},s=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s};Object.defineProperty(e,"__esModule",{value:!0}),e.SerializedMmlVisitor=e.toEntity=e.DATAMJX=void 0;var a=r(6325),l=r(9007),c=r(450);e.DATAMJX="data-mjx-";e.toEntity=function(t){return"&#x"+t.codePointAt(0).toString(16).toUpperCase()+";"};var u=function(t){function r(){return null!==t&&t.apply(this,arguments)||this}return o(r,t),r.prototype.visitTree=function(t){return this.visitNode(t,"")},r.prototype.visitTextNode=function(t,e){return this.quoteHTML(t.getText())},r.prototype.visitXMLNode=function(t,e){return e+t.getSerializedXML()},r.prototype.visitInferredMrowNode=function(t,e){var r,n,o=[];try{for(var s=i(t.childNodes),a=s.next();!a.done;a=s.next()){var l=a.value;o.push(this.visitNode(l,e))}}catch(t){r={error:t}}finally{try{a&&!a.done&&(n=s.return)&&n.call(s)}finally{if(r)throw r.error}}return o.join("\n")},r.prototype.visitTeXAtomNode=function(t,e){var r=this.childNodeMml(t,e+" ","\n");return e+""+(r.match(/\S/)?"\n"+r+e:"")+""},r.prototype.visitAnnotationNode=function(t,e){return e+""+this.childNodeMml(t,"","")+""},r.prototype.visitDefault=function(t,e){var r=t.kind,n=s(t.isToken||0===t.childNodes.length?["",""]:["\n",e],2),o=n[0],i=n[1],a=this.childNodeMml(t,e+" ",o);return e+"<"+r+this.getAttributes(t)+">"+(a.match(/\S/)?o+a+i:"")+""},r.prototype.childNodeMml=function(t,e,r){var n,o,s="";try{for(var a=i(t.childNodes),l=a.next();!l.done;l=a.next()){var c=l.value;s+=this.visitNode(c,e)+r}}catch(t){n={error:t}}finally{try{l&&!l.done&&(o=a.return)&&o.call(a)}finally{if(n)throw n.error}}return s},r.prototype.getAttributes=function(t){var e,r,n=[],o=this.constructor.defaultAttributes[t.kind]||{},s=Object.assign({},o,this.getDataAttributes(t),t.attributes.getAllAttributes()),a=this.constructor.variants;s.hasOwnProperty("mathvariant")&&a.hasOwnProperty(s.mathvariant)&&(s.mathvariant=a[s.mathvariant]);try{for(var l=i(Object.keys(s)),c=l.next();!c.done;c=l.next()){var u=c.value,p=String(s[u]);void 0!==p&&n.push(u+'="'+this.quoteHTML(p)+'"')}}catch(t){e={error:t}}finally{try{c&&!c.done&&(r=l.return)&&r.call(l)}finally{if(e)throw e.error}}return n.length?" "+n.join(" "):""},r.prototype.getDataAttributes=function(t){var e={},r=t.attributes.getExplicit("mathvariant"),n=this.constructor.variants;r&&n.hasOwnProperty(r)&&this.setDataAttribute(e,"variant",r),t.getProperty("variantForm")&&this.setDataAttribute(e,"alternate","1"),t.getProperty("pseudoscript")&&this.setDataAttribute(e,"pseudoscript","true"),!1===t.getProperty("autoOP")&&this.setDataAttribute(e,"auto-op","false");var o=t.getProperty("scriptalign");o&&this.setDataAttribute(e,"script-align",o);var i=t.getProperty("texClass");if(void 0!==i){var s=!0;if(i===l.TEXCLASS.OP&&t.isKind("mi")){var a=t.getText();s=!(a.length>1&&a.match(c.MmlMi.operatorName))}s&&this.setDataAttribute(e,"texclass",i<0?"NONE":l.TEXCLASSNAMES[i])}return t.getProperty("scriptlevel")&&!1===t.getProperty("useHeight")&&this.setDataAttribute(e,"smallmatrix","true"),e},r.prototype.setDataAttribute=function(t,r,n){t[e.DATAMJX+r]=n},r.prototype.quoteHTML=function(t){return t.replace(/&/g,"&").replace(//g,">").replace(/\"/g,""").replace(/[\uD800-\uDBFF]./g,e.toEntity).replace(/[\u0080-\uD7FF\uE000-\uFFFF]/g,e.toEntity)},r.variants={"-tex-calligraphic":"script","-tex-bold-calligraphic":"bold-script","-tex-oldstyle":"normal","-tex-bold-oldstyle":"bold","-tex-mathit":"italic"},r.defaultAttributes={math:{xmlns:"http://www.w3.org/1998/Math/MathML"}},r}(a.MmlVisitor);e.SerializedMmlVisitor=u},2975:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractOutputJax=void 0;var n=r(7233),o=r(7525),i=function(){function t(t){void 0===t&&(t={}),this.adaptor=null;var e=this.constructor;this.options=(0,n.userOptions)((0,n.defaultOptions)({},e.OPTIONS),t),this.postFilters=new o.FunctionList}return Object.defineProperty(t.prototype,"name",{get:function(){return this.constructor.NAME},enumerable:!1,configurable:!0}),t.prototype.setAdaptor=function(t){this.adaptor=t},t.prototype.initialize=function(){},t.prototype.reset=function(){for(var t=[],e=0;e=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},n=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},o=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractEmptyNode=e.AbstractNode=void 0;var s=function(){function t(t,e,r){var n,o;void 0===e&&(e={}),void 0===r&&(r=[]),this.factory=t,this.parent=null,this.properties={},this.childNodes=[];try{for(var s=i(Object.keys(e)),a=s.next();!a.done;a=s.next()){var l=a.value;this.setProperty(l,e[l])}}catch(t){n={error:t}}finally{try{a&&!a.done&&(o=s.return)&&o.call(s)}finally{if(n)throw n.error}}r.length&&this.setChildren(r)}return Object.defineProperty(t.prototype,"kind",{get:function(){return"unknown"},enumerable:!1,configurable:!0}),t.prototype.setProperty=function(t,e){this.properties[t]=e},t.prototype.getProperty=function(t){return this.properties[t]},t.prototype.getPropertyNames=function(){return Object.keys(this.properties)},t.prototype.getAllProperties=function(){return this.properties},t.prototype.removeProperty=function(){for(var t,e,r=[],n=0;n=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},o=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},i=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},s=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},a=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.HTMLDocument=void 0;var l=r(5722),c=r(7233),u=r(3363),p=r(3335),h=r(5138),f=r(4474),d=function(t){function e(e,r,n){var o=this,i=s((0,c.separateOptions)(n,h.HTMLDomStrings.OPTIONS),2),a=i[0],l=i[1];return(o=t.call(this,e,r,a)||this).domStrings=o.options.DomStrings||new h.HTMLDomStrings(l),o.domStrings.adaptor=r,o.styles=[],o}return o(e,t),e.prototype.findPosition=function(t,e,r,n){var o,i,l=this.adaptor;try{for(var c=a(n[t]),u=c.next();!u.done;u=c.next()){var p=u.value,h=s(p,2),f=h[0],d=h[1];if(e<=d&&"#text"===l.kind(f))return{node:f,n:Math.max(e,0),delim:r};e-=d}}catch(t){o={error:t}}finally{try{u&&!u.done&&(i=c.return)&&i.call(c)}finally{if(o)throw o.error}}return{node:null,n:0,delim:r}},e.prototype.mathItem=function(t,e,r){var n=t.math,o=this.findPosition(t.n,t.start.n,t.open,r),i=this.findPosition(t.n,t.end.n,t.close,r);return new this.options.MathItem(n,e,t.display,o,i)},e.prototype.findMath=function(t){var e,r,n,o,i,l,u,p,h;if(!this.processed.isSet("findMath")){this.adaptor.document=this.document,t=(0,c.userOptions)({elements:this.options.elements||[this.adaptor.body(this.document)]},t);try{for(var f=a(this.adaptor.getElements(t.elements,this.document)),d=f.next();!d.done;d=f.next()){var m=d.value,y=s([null,null],2),g=y[0],b=y[1];try{for(var v=(n=void 0,a(this.inputJax)),_=v.next();!_.done;_=v.next()){var S=_.value,M=new this.options.MathList;if(S.processStrings){null===g&&(g=(i=s(this.domStrings.find(m),2))[0],b=i[1]);try{for(var O=(l=void 0,a(S.findMath(g))),x=O.next();!x.done;x=O.next()){var E=x.value;M.push(this.mathItem(E,S,b))}}catch(t){l={error:t}}finally{try{x&&!x.done&&(u=O.return)&&u.call(O)}finally{if(l)throw l.error}}}else try{for(var A=(p=void 0,a(S.findMath(m))),C=A.next();!C.done;C=A.next()){E=C.value;var T=new this.options.MathItem(E.math,S,E.display,E.start,E.end);M.push(T)}}catch(t){p={error:t}}finally{try{C&&!C.done&&(h=A.return)&&h.call(A)}finally{if(p)throw p.error}}this.math.merge(M)}}catch(t){n={error:t}}finally{try{_&&!_.done&&(o=v.return)&&o.call(v)}finally{if(n)throw n.error}}}}catch(t){e={error:t}}finally{try{d&&!d.done&&(r=f.return)&&r.call(f)}finally{if(e)throw e.error}}this.processed.set("findMath")}return this},e.prototype.updateDocument=function(){return this.processed.isSet("updateDocument")||(this.addPageElements(),this.addStyleSheet(),t.prototype.updateDocument.call(this),this.processed.set("updateDocument")),this},e.prototype.addPageElements=function(){var t=this.adaptor.body(this.document),e=this.documentPageElements();e&&this.adaptor.append(t,e)},e.prototype.addStyleSheet=function(){var t=this.documentStyleSheet(),e=this.adaptor;if(t&&!e.parent(t)){var r=e.head(this.document),n=this.findSheet(r,e.getAttribute(t,"id"));n?e.replace(t,n):e.append(r,t)}},e.prototype.findSheet=function(t,e){var r,n;if(e)try{for(var o=a(this.adaptor.tags(t,"style")),i=o.next();!i.done;i=o.next()){var s=i.value;if(this.adaptor.getAttribute(s,"id")===e)return s}}catch(t){r={error:t}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}return null},e.prototype.removeFromDocument=function(t){var e,r;if(void 0===t&&(t=!1),this.processed.isSet("updateDocument"))try{for(var n=a(this.math),o=n.next();!o.done;o=n.next()){var i=o.value;i.state()>=f.STATE.INSERTED&&i.state(f.STATE.TYPESET,t)}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}return this.processed.clear("updateDocument"),this},e.prototype.documentStyleSheet=function(){return this.outputJax.styleSheet(this)},e.prototype.documentPageElements=function(){return this.outputJax.pageElements(this)},e.prototype.addStyles=function(t){this.styles.push(t)},e.prototype.getStyles=function(){return this.styles},e.KIND="HTML",e.OPTIONS=i(i({},l.AbstractMathDocument.OPTIONS),{renderActions:(0,c.expandable)(i(i({},l.AbstractMathDocument.OPTIONS.renderActions),{styles:[f.STATE.INSERTED+1,"","updateStyleSheet",!1]})),MathList:p.HTMLMathList,MathItem:u.HTMLMathItem,DomStrings:null}),e}(l.AbstractMathDocument);e.HTMLDocument=d},5138:function(t,e,r){var n=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s};Object.defineProperty(e,"__esModule",{value:!0}),e.HTMLDomStrings=void 0;var o=r(7233),i=function(){function t(t){void 0===t&&(t=null);var e=this.constructor;this.options=(0,o.userOptions)((0,o.defaultOptions)({},e.OPTIONS),t),this.init(),this.getPatterns()}return t.prototype.init=function(){this.strings=[],this.string="",this.snodes=[],this.nodes=[],this.stack=[]},t.prototype.getPatterns=function(){var t=(0,o.makeArray)(this.options.skipHtmlTags),e=(0,o.makeArray)(this.options.ignoreHtmlClass),r=(0,o.makeArray)(this.options.processHtmlClass);this.skipHtmlTags=new RegExp("^(?:"+t.join("|")+")$","i"),this.ignoreHtmlClass=new RegExp("(?:^| )(?:"+e.join("|")+")(?: |$)"),this.processHtmlClass=new RegExp("(?:^| )(?:"+r+")(?: |$)")},t.prototype.pushString=function(){this.string.match(/\S/)&&(this.strings.push(this.string),this.nodes.push(this.snodes)),this.string="",this.snodes=[]},t.prototype.extendString=function(t,e){this.snodes.push([t,e.length]),this.string+=e},t.prototype.handleText=function(t,e){return e||this.extendString(t,this.adaptor.value(t)),this.adaptor.next(t)},t.prototype.handleTag=function(t,e){if(!e){var r=this.options.includeHtmlTags[this.adaptor.kind(t)];this.extendString(t,r)}return this.adaptor.next(t)},t.prototype.handleContainer=function(t,e){this.pushString();var r=this.adaptor.getAttribute(t,"class")||"",n=this.adaptor.kind(t)||"",o=this.processHtmlClass.exec(r),i=t;return!this.adaptor.firstChild(t)||this.adaptor.getAttribute(t,"data-MJX")||!o&&this.skipHtmlTags.exec(n)?i=this.adaptor.next(t):(this.adaptor.next(t)&&this.stack.push([this.adaptor.next(t),e]),i=this.adaptor.firstChild(t),e=(e||this.ignoreHtmlClass.exec(r))&&!o),[i,e]},t.prototype.handleOther=function(t,e){return this.pushString(),this.adaptor.next(t)},t.prototype.find=function(t){var e,r;this.init();for(var o=this.adaptor.next(t),i=!1,s=this.options.includeHtmlTags;t&&t!==o;){var a=this.adaptor.kind(t);"#text"===a?t=this.handleText(t,i):s.hasOwnProperty(a)?t=this.handleTag(t,i):a?(t=(e=n(this.handleContainer(t,i),2))[0],i=e[1]):t=this.handleOther(t,i),!t&&this.stack.length&&(this.pushString(),t=(r=n(this.stack.pop(),2))[0],i=r[1])}this.pushString();var l=[this.strings,this.nodes];return this.init(),l},t.OPTIONS={skipHtmlTags:["script","noscript","style","textarea","pre","code","annotation","annotation-xml"],includeHtmlTags:{br:"\n",wbr:"","#comment":""},ignoreHtmlClass:"mathjax_ignore",processHtmlClass:"mathjax_process"},t}();e.HTMLDomStrings=i},3726:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.HTMLHandler=void 0;var i=r(3670),s=r(3683),a=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.documentClass=s.HTMLDocument,e}return o(e,t),e.prototype.handlesDocument=function(t){var e=this.adaptor;if("string"==typeof t)try{t=e.parse(t,"text/html")}catch(t){}return t instanceof e.window.Document||t instanceof e.window.HTMLElement||t instanceof e.window.DocumentFragment},e.prototype.create=function(e,r){var n=this.adaptor;if("string"==typeof e)e=n.parse(e,"text/html");else if(e instanceof n.window.HTMLElement||e instanceof n.window.DocumentFragment){var o=e;e=n.parse("","text/html"),n.append(n.body(e),o)}return t.prototype.create.call(this,e,r)},e}(i.AbstractHandler);e.HTMLHandler=a},3363:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.HTMLMathItem=void 0;var i=r(4474),s=function(t){function e(e,r,n,o,i){return void 0===n&&(n=!0),void 0===o&&(o={node:null,n:0,delim:""}),void 0===i&&(i={node:null,n:0,delim:""}),t.call(this,e,r,n,o,i)||this}return o(e,t),Object.defineProperty(e.prototype,"adaptor",{get:function(){return this.inputJax.adaptor},enumerable:!1,configurable:!0}),e.prototype.updateDocument=function(t){if(this.state()=i.STATE.TYPESET){var e=this.adaptor,r=this.start.node,n=e.text("");if(t){var o=this.start.delim+this.math+this.end.delim;if(this.inputJax.processStrings)n=e.text(o);else{var s=e.parse(o,"text/html");n=e.firstChild(e.body(s))}}e.parent(r)&&e.replace(n,r),this.start.node=this.end.node=n,this.start.n=this.end.n=0}},e}(i.AbstractMathItem);e.HTMLMathItem=s},3335:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.HTMLMathList=void 0;var i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e}(r(9e3).AbstractMathList);e.HTMLMathList=i},2892:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s};Object.defineProperty(e,"__esModule",{value:!0}),e.MathML=void 0;var s=r(9206),a=r(7233),l=r(7525),c=r(625),u=r(2769),p=function(t){function e(e){void 0===e&&(e={});var r=this,n=i((0,a.separateOptions)(e,c.FindMathML.OPTIONS,u.MathMLCompile.OPTIONS),3),o=n[0],s=n[1],p=n[2];return(r=t.call(this,o)||this).findMathML=r.options.FindMathML||new c.FindMathML(s),r.mathml=r.options.MathMLCompile||new u.MathMLCompile(p),r.mmlFilters=new l.FunctionList,r}return o(e,t),e.prototype.setAdaptor=function(e){t.prototype.setAdaptor.call(this,e),this.findMathML.adaptor=e,this.mathml.adaptor=e},e.prototype.setMmlFactory=function(e){t.prototype.setMmlFactory.call(this,e),this.mathml.setMmlFactory(e)},Object.defineProperty(e.prototype,"processStrings",{get:function(){return!1},enumerable:!1,configurable:!0}),e.prototype.compile=function(t,e){var r=t.start.node;if(!r||!t.end.node||this.options.forceReparse||"#text"===this.adaptor.kind(r)){var n=this.executeFilters(this.preFilters,t,e,(t.math||"").trim()),o=this.checkForErrors(this.adaptor.parse(n,"text/"+this.options.parseAs)),i=this.adaptor.body(o);1!==this.adaptor.childNodes(i).length&&this.error("MathML must consist of a single element"),r=this.adaptor.remove(this.adaptor.firstChild(i)),"math"!==this.adaptor.kind(r).replace(/^[a-z]+:/,"")&&this.error("MathML must be formed by a element, not <"+this.adaptor.kind(r)+">")}return r=this.executeFilters(this.mmlFilters,t,e,r),this.executeFilters(this.postFilters,t,e,this.mathml.compile(r))},e.prototype.checkForErrors=function(t){var e=this.adaptor.tags(this.adaptor.body(t),"parsererror")[0];return e&&(""===this.adaptor.textContent(e)&&this.error("Error processing MathML"),this.options.parseError.call(this,e)),t},e.prototype.error=function(t){throw new Error(t)},e.prototype.findMath=function(t){return this.findMathML.findMath(t)},e.NAME="MathML",e.OPTIONS=(0,a.defaultOptions)({parseAs:"html",forceReparse:!1,FindMathML:null,MathMLCompile:null,parseError:function(t){this.error(this.adaptor.textContent(t).replace(/\n.*/g,""))}},s.AbstractInputJax.OPTIONS),e}(s.AbstractInputJax);e.MathML=p},625:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.FindMathML=void 0;var s=r(3494),a="http://www.w3.org/1998/Math/MathML",l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.findMath=function(t){var e=new Set;this.findMathNodes(t,e),this.findMathPrefixed(t,e);var r=this.adaptor.root(this.adaptor.document);return"html"===this.adaptor.kind(r)&&0===e.size&&this.findMathNS(t,e),this.processMath(e)},e.prototype.findMathNodes=function(t,e){var r,n;try{for(var o=i(this.adaptor.tags(t,"math")),s=o.next();!s.done;s=o.next()){var a=s.value;e.add(a)}}catch(t){r={error:t}}finally{try{s&&!s.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}},e.prototype.findMathPrefixed=function(t,e){var r,n,o,s,l=this.adaptor.root(this.adaptor.document);try{for(var c=i(this.adaptor.allAttributes(l)),u=c.next();!u.done;u=c.next()){var p=u.value;if("xmlns:"===p.name.substr(0,6)&&p.value===a){var h=p.name.substr(6);try{for(var f=(o=void 0,i(this.adaptor.tags(t,h+":math"))),d=f.next();!d.done;d=f.next()){var m=d.value;e.add(m)}}catch(t){o={error:t}}finally{try{d&&!d.done&&(s=f.return)&&s.call(f)}finally{if(o)throw o.error}}}}}catch(t){r={error:t}}finally{try{u&&!u.done&&(n=c.return)&&n.call(c)}finally{if(r)throw r.error}}},e.prototype.findMathNS=function(t,e){var r,n;try{for(var o=i(this.adaptor.tags(t,"math",a)),s=o.next();!s.done;s=o.next()){var l=s.value;e.add(l)}}catch(t){r={error:t}}finally{try{s&&!s.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}},e.prototype.processMath=function(t){var e,r,n=[];try{for(var o=i(Array.from(t)),s=o.next();!s.done;s=o.next()){var a=s.value,l="block"===this.adaptor.getAttribute(a,"display")||"display"===this.adaptor.getAttribute(a,"mode"),c={node:a,n:0,delim:""},u={node:a,n:0,delim:""};n.push({math:this.adaptor.outerHTML(a),start:c,end:u,display:l})}}catch(t){e={error:t}}finally{try{s&&!s.done&&(r=o.return)&&r.call(o)}finally{if(e)throw e.error}}return n},e.OPTIONS={},e}(s.AbstractFindMath);e.FindMathML=l},2769:function(t,e,r){var n=this&&this.__assign||function(){return n=Object.assign||function(t){for(var e,r=1,n=arguments.length;r=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.MathMLCompile=void 0;var l=r(9007),c=r(7233),u=s(r(5368)),p=function(){function t(t){void 0===t&&(t={});var e=this.constructor;this.options=(0,c.userOptions)((0,c.defaultOptions)({},e.OPTIONS),t)}return t.prototype.setMmlFactory=function(t){this.factory=t},t.prototype.compile=function(t){var e=this.makeNode(t);return e.verifyTree(this.options.verify),e.setInheritedAttributes({},!1,0,!1),e.walkTree(this.markMrows),e},t.prototype.makeNode=function(t){var e,r,n=this.adaptor,o=!1,i=n.kind(t).replace(/^.*:/,""),s=n.getAttribute(t,"data-mjx-texclass")||"";s&&(s=this.filterAttribute("data-mjx-texclass",s)||"");var c=s&&"mrow"===i?"TeXAtom":i;try{for(var u=a(this.filterClassList(n.allClasses(t))),p=u.next();!p.done;p=u.next()){var h=p.value;h.match(/^MJX-TeXAtom-/)&&"mrow"===i?(s=h.substr(12),c="TeXAtom"):"MJX-fixedlimits"===h&&(o=!0)}}catch(t){e={error:t}}finally{try{p&&!p.done&&(r=u.return)&&r.call(u)}finally{if(e)throw e.error}}this.factory.getNodeClass(c)||this.error('Unknown node type "'+c+'"');var f=this.factory.create(c);return"TeXAtom"!==c||"OP"!==s||o||(f.setProperty("movesupsub",!0),f.attributes.setInherited("movablelimits",!0)),s&&(f.texClass=l.TEXCLASS[s],f.setProperty("texClass",f.texClass)),this.addAttributes(f,t),this.checkClass(f,t),this.addChildren(f,t),f},t.prototype.addAttributes=function(t,e){var r,n,o=!1;try{for(var i=a(this.adaptor.allAttributes(e)),s=i.next();!s.done;s=i.next()){var l=s.value,c=l.name,u=this.filterAttribute(c,l.value);if(null!==u&&"xmlns"!==c)if("data-mjx-"===c.substr(0,9))switch(c.substr(9)){case"alternate":t.setProperty("variantForm",!0);break;case"variant":t.attributes.set("mathvariant",u),o=!0;break;case"smallmatrix":t.setProperty("scriptlevel",1),t.setProperty("useHeight",!1);break;case"accent":t.setProperty("mathaccent","true"===u);break;case"auto-op":t.setProperty("autoOP","true"===u);break;case"script-align":t.setProperty("scriptalign",u)}else if("class"!==c){var p=u.toLowerCase();"true"===p||"false"===p?t.attributes.set(c,"true"===p):o&&"mathvariant"===c||t.attributes.set(c,u)}}}catch(t){r={error:t}}finally{try{s&&!s.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}},t.prototype.filterAttribute=function(t,e){return e},t.prototype.filterClassList=function(t){return t},t.prototype.addChildren=function(t,e){var r,n;if(0!==t.arity){var o=this.adaptor;try{for(var i=a(o.childNodes(e)),s=i.next();!s.done;s=i.next()){var l=s.value,c=o.kind(l);if("#comment"!==c)if("#text"===c)this.addText(t,l);else if(t.isKind("annotation-xml"))t.appendChild(this.factory.create("XML").setXML(l,o));else{var u=t.appendChild(this.makeNode(l));0===u.arity&&o.childNodes(l).length&&(this.options.fixMisplacedChildren?this.addChildren(t,l):u.mError("There should not be children for "+u.kind+" nodes",this.options.verify,!0))}}}catch(t){r={error:t}}finally{try{s&&!s.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}}},t.prototype.addText=function(t,e){var r=this.adaptor.value(e);(t.isToken||t.getProperty("isChars"))&&t.arity?(t.isToken&&(r=u.translate(r),r=this.trimSpace(r)),t.appendChild(this.factory.create("text").setText(r))):r.match(/\S/)&&this.error('Unexpected text node "'+r+'"')},t.prototype.checkClass=function(t,e){var r,n,o=[];try{for(var i=a(this.filterClassList(this.adaptor.allClasses(e))),s=i.next();!s.done;s=i.next()){var l=s.value;"MJX-"===l.substr(0,4)?"MJX-variant"===l?t.setProperty("variantForm",!0):"MJX-TeXAtom"!==l.substr(0,11)&&t.attributes.set("mathvariant",this.fixCalligraphic(l.substr(3))):o.push(l)}}catch(t){r={error:t}}finally{try{s&&!s.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}o.length&&t.attributes.set("class",o.join(" "))},t.prototype.fixCalligraphic=function(t){return t.replace(/caligraphic/,"calligraphic")},t.prototype.markMrows=function(t){if(t.isKind("mrow")&&!t.isInferred&&t.childNodes.length>=2){var e=t.childNodes[0],r=t.childNodes[t.childNodes.length-1];e.isKind("mo")&&e.attributes.get("fence")&&e.attributes.get("stretchy")&&r.isKind("mo")&&r.attributes.get("fence")&&r.attributes.get("stretchy")&&(e.childNodes.length&&t.setProperty("open",e.getText()),r.childNodes.length&&t.setProperty("close",r.getText()))}},t.prototype.trimSpace=function(t){return t.replace(/[\t\n\r]/g," ").replace(/^ +/,"").replace(/ +$/,"").replace(/ +/g," ")},t.prototype.error=function(t){throw new Error(t)},t.OPTIONS={MmlFactory:null,fixMisplacedChildren:!0,verify:n({},l.AbstractMmlNode.verifyDefaults),translateEntities:!0},t}();e.MathMLCompile=p},8462:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__assign||function(){return i=Object.assign||function(t){for(var e,r=1,n=arguments.length;r0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},a=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.TeX=void 0;var l=r(9206),c=r(7233),u=r(7073),p=a(r(4676)),h=a(r(1256)),f=a(r(8417)),d=a(r(3971)),m=a(r(8562)),y=r(6521),g=r(9899);r(2942);var b=function(t){function e(r){void 0===r&&(r={});var n=this,o=s((0,c.separateOptions)(r,e.OPTIONS,u.FindTeX.OPTIONS),3),i=o[0],a=o[1],l=o[2];(n=t.call(this,a)||this).findTeX=n.options.FindTeX||new u.FindTeX(l);var h=n.options.packages,f=n.configuration=e.configure(h),d=n._parseOptions=new m.default(f,[n.options,y.TagsFactory.OPTIONS]);return(0,c.userOptions)(d.options,i),f.config(n),e.tags(d,f),n.postFilters.add(p.default.cleanSubSup,-6),n.postFilters.add(p.default.setInherited,-5),n.postFilters.add(p.default.moveLimits,-4),n.postFilters.add(p.default.cleanStretchy,-3),n.postFilters.add(p.default.cleanAttributes,-2),n.postFilters.add(p.default.combineRelations,-1),n}return o(e,t),e.configure=function(t){var e=new g.ParserConfiguration(t,["tex"]);return e.init(),e},e.tags=function(t,e){y.TagsFactory.addTags(e.tags),y.TagsFactory.setDefault(t.options.tags),t.tags=y.TagsFactory.getDefault(),t.tags.configuration=t},e.prototype.setMmlFactory=function(e){t.prototype.setMmlFactory.call(this,e),this._parseOptions.nodeFactory.setMmlFactory(e)},Object.defineProperty(e.prototype,"parseOptions",{get:function(){return this._parseOptions},enumerable:!1,configurable:!0}),e.prototype.reset=function(t){void 0===t&&(t=0),this.parseOptions.tags.reset(t)},e.prototype.compile=function(t,e){this.parseOptions.clear(),this.executeFilters(this.preFilters,t,e,this.parseOptions);var r,n,o=t.display;this.latex=t.math,this.parseOptions.tags.startEquation(t);try{var i=new f.default(this.latex,{display:o,isInner:!1},this.parseOptions);r=i.mml(),n=i.stack.global}catch(t){if(!(t instanceof d.default))throw t;this.parseOptions.error=!0,r=this.options.formatError(this,t)}return r=this.parseOptions.nodeFactory.create("node","math",[r]),(null==n?void 0:n.indentalign)&&h.default.setAttribute(r,"indentalign",n.indentalign),o&&h.default.setAttribute(r,"display","block"),this.parseOptions.tags.finishEquation(t),this.parseOptions.root=r,this.executeFilters(this.postFilters,t,e,this.parseOptions),this.mathNode=this.parseOptions.root,this.mathNode},e.prototype.findMath=function(t){return this.findTeX.findMath(t)},e.prototype.formatError=function(t){var e=t.message.replace(/\n.*/,"");return this.parseOptions.nodeFactory.create("error",e,t.id,this.latex)},e.NAME="TeX",e.OPTIONS=i(i({},l.AbstractInputJax.OPTIONS),{FindTeX:null,packages:["base"],digits:/^(?:[0-9]+(?:\{,\}[0-9]{3})*(?:\.[0-9]*)?|\.[0-9]+)/,maxBuffer:5120,formatError:function(t,e){return t.formatError(e)}}),e}(l.AbstractInputJax);e.TeX=b},9899:function(t,e,r){var n=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},o=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s};Object.defineProperty(e,"__esModule",{value:!0}),e.ParserConfiguration=e.ConfigurationHandler=e.Configuration=void 0;var i,s=r(7233),a=r(2947),l=r(7525),c=r(8666),u=r(6521),p=function(){function t(t,e,r,n,o,i,s,a,l,c,u,p,h){void 0===e&&(e={}),void 0===r&&(r={}),void 0===n&&(n={}),void 0===o&&(o={}),void 0===i&&(i={}),void 0===s&&(s={}),void 0===a&&(a=[]),void 0===l&&(l=[]),void 0===c&&(c=null),void 0===u&&(u=null),this.name=t,this.handler=e,this.fallback=r,this.items=n,this.tags=o,this.options=i,this.nodes=s,this.preprocessors=a,this.postprocessors=l,this.initMethod=c,this.configMethod=u,this.priority=p,this.parser=h,this.handler=Object.assign({character:[],delimiter:[],macro:[],environment:[]},e)}return t.makeProcessor=function(t,e){return Array.isArray(t)?t:[t,e]},t._create=function(e,r){var n=this;void 0===r&&(r={});var o=r.priority||c.PrioritizedList.DEFAULTPRIORITY,i=r.init?this.makeProcessor(r.init,o):null,s=r.config?this.makeProcessor(r.config,o):null,a=(r.preprocessors||[]).map((function(t){return n.makeProcessor(t,o)})),l=(r.postprocessors||[]).map((function(t){return n.makeProcessor(t,o)})),u=r.parser||"tex";return new t(e,r.handler||{},r.fallback||{},r.items||{},r.tags||{},r.options||{},r.nodes||{},a,l,i,s,o,u)},t.create=function(e,r){void 0===r&&(r={});var n=t._create(e,r);return i.set(e,n),n},t.local=function(e){return void 0===e&&(e={}),t._create("",e)},Object.defineProperty(t.prototype,"init",{get:function(){return this.initMethod?this.initMethod[0]:null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"config",{get:function(){return this.configMethod?this.configMethod[0]:null},enumerable:!1,configurable:!0}),t}();e.Configuration=p,function(t){var e=new Map;t.set=function(t,r){e.set(t,r)},t.get=function(t){return e.get(t)},t.keys=function(){return e.keys()}}(i=e.ConfigurationHandler||(e.ConfigurationHandler={}));var h=function(){function t(t,e){var r,o,i,s;void 0===e&&(e=["tex"]),this.initMethod=new l.FunctionList,this.configMethod=new l.FunctionList,this.configurations=new c.PrioritizedList,this.parsers=[],this.handlers=new a.SubHandlers,this.items={},this.tags={},this.options={},this.nodes={},this.parsers=e;try{for(var u=n(t.slice().reverse()),p=u.next();!p.done;p=u.next()){var h=p.value;this.addPackage(h)}}catch(t){r={error:t}}finally{try{p&&!p.done&&(o=u.return)&&o.call(u)}finally{if(r)throw r.error}}try{for(var f=n(this.configurations),d=f.next();!d.done;d=f.next()){var m=d.value,y=m.item,g=m.priority;this.append(y,g)}}catch(t){i={error:t}}finally{try{d&&!d.done&&(s=f.return)&&s.call(f)}finally{if(i)throw i.error}}}return t.prototype.init=function(){this.initMethod.execute(this)},t.prototype.config=function(t){var e,r;this.configMethod.execute(this,t);try{for(var o=n(this.configurations),i=o.next();!i.done;i=o.next()){var s=i.value;this.addFilters(t,s.item)}}catch(t){e={error:t}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(e)throw e.error}}},t.prototype.addPackage=function(t){var e="string"==typeof t?t:t[0],r=this.getPackage(e);r&&this.configurations.add(r,"string"==typeof t?r.priority:t[1])},t.prototype.add=function(t,e,r){var o,i;void 0===r&&(r={});var a=this.getPackage(t);this.append(a),this.configurations.add(a,a.priority),this.init();var l=e.parseOptions;l.nodeFactory.setCreators(a.nodes);try{for(var c=n(Object.keys(a.items)),p=c.next();!p.done;p=c.next()){var h=p.value;l.itemFactory.setNodeClass(h,a.items[h])}}catch(t){o={error:t}}finally{try{p&&!p.done&&(i=c.return)&&i.call(c)}finally{if(o)throw o.error}}u.TagsFactory.addTags(a.tags),(0,s.defaultOptions)(l.options,a.options),(0,s.userOptions)(l.options,r),this.addFilters(e,a),a.config&&a.config(this,e)},t.prototype.getPackage=function(t){var e=i.get(t);if(e&&this.parsers.indexOf(e.parser)<0)throw Error("Package ".concat(t," doesn't target the proper parser"));return e},t.prototype.append=function(t,e){e=e||t.priority,t.initMethod&&this.initMethod.add(t.initMethod[0],t.initMethod[1]),t.configMethod&&this.configMethod.add(t.configMethod[0],t.configMethod[1]),this.handlers.add(t.handler,t.fallback,e),Object.assign(this.items,t.items),Object.assign(this.tags,t.tags),(0,s.defaultOptions)(this.options,t.options),Object.assign(this.nodes,t.nodes)},t.prototype.addFilters=function(t,e){var r,i,s,a;try{for(var l=n(e.preprocessors),c=l.next();!c.done;c=l.next()){var u=o(c.value,2),p=u[0],h=u[1];t.preFilters.add(p,h)}}catch(t){r={error:t}}finally{try{c&&!c.done&&(i=l.return)&&i.call(l)}finally{if(r)throw r.error}}try{for(var f=n(e.postprocessors),d=f.next();!d.done;d=f.next()){var m=o(d.value,2),y=m[0];h=m[1];t.postFilters.add(y,h)}}catch(t){s={error:t}}finally{try{d&&!d.done&&(a=f.return)&&a.call(f)}finally{if(s)throw s.error}}},t}();e.ParserConfiguration=h},4676:function(t,e,r){var n=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},o=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var i,s=r(9007),a=o(r(1256));!function(t){t.cleanStretchy=function(t){var e,r,o=t.data;try{for(var i=n(o.getList("fixStretchy")),s=i.next();!s.done;s=i.next()){var l=s.value;if(a.default.getProperty(l,"fixStretchy")){var c=a.default.getForm(l);c&&c[3]&&c[3].stretchy&&a.default.setAttribute(l,"stretchy",!1);var u=l.parent;if(!(a.default.getTexClass(l)||c&&c[2])){var p=o.nodeFactory.create("node","TeXAtom",[l]);u.replaceChild(p,l),p.inheritAttributesFrom(l)}a.default.removeProperties(l,"fixStretchy")}}}catch(t){e={error:t}}finally{try{s&&!s.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}},t.cleanAttributes=function(t){t.data.root.walkTree((function(t,e){var r,o,i=t.attributes;if(i){var s=new Set((i.get("mjx-keep-attrs")||"").split(/ /));delete i.getAllAttributes()["mjx-keep-attrs"];try{for(var a=n(i.getExplicitNames()),l=a.next();!l.done;l=a.next()){var c=l.value;s.has(c)||i.attributes[c]!==t.attributes.getInherited(c)||delete i.attributes[c]}}catch(t){r={error:t}}finally{try{l&&!l.done&&(o=a.return)&&o.call(a)}finally{if(r)throw r.error}}}}),{})},t.combineRelations=function(t){var o,i,l,c,u=[];try{for(var p=n(t.data.getList("mo")),h=p.next();!h.done;h=p.next()){var f=h.value;if(!f.getProperty("relationsCombined")&&f.parent&&(!f.parent||a.default.isType(f.parent,"mrow"))&&a.default.getTexClass(f)===s.TEXCLASS.REL){for(var d=f.parent,m=void 0,y=d.childNodes,g=y.indexOf(f)+1,b=a.default.getProperty(f,"variantForm");g0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s};Object.defineProperty(e,"__esModule",{value:!0}),e.FindTeX=void 0;var s=r(3494),a=r(505),l=r(4474),c=function(t){function e(e){var r=t.call(this,e)||this;return r.getPatterns(),r}return o(e,t),e.prototype.getPatterns=function(){var t=this,e=this.options,r=[],n=[],o=[];this.end={},this.env=this.sub=0;var i=1;e.inlineMath.forEach((function(e){return t.addPattern(r,e,!1)})),e.displayMath.forEach((function(e){return t.addPattern(r,e,!0)})),r.length&&n.push(r.sort(a.sortLength).join("|")),e.processEnvironments&&(n.push("\\\\begin\\s*\\{([^}]*)\\}"),this.env=i,i++),e.processEscapes&&o.push("\\\\([\\\\$])"),e.processRefs&&o.push("(\\\\(?:eq)?ref\\s*\\{[^}]*\\})"),o.length&&(n.push("("+o.join("|")+")"),this.sub=i),this.start=new RegExp(n.join("|"),"g"),this.hasPatterns=n.length>0},e.prototype.addPattern=function(t,e,r){var n=i(e,2),o=n[0],s=n[1];t.push((0,a.quotePattern)(o)),this.end[o]=[s,r,this.endPattern(s)]},e.prototype.endPattern=function(t,e){return new RegExp((e||(0,a.quotePattern)(t))+"|\\\\(?:[a-zA-Z]|.)|[{}]","g")},e.prototype.findEnd=function(t,e,r,n){for(var o,s=i(n,3),a=s[0],c=s[1],u=s[2],p=u.lastIndex=r.index+r[0].length,h=0;o=u.exec(t);){if((o[1]||o[0])===a&&0===h)return(0,l.protoItem)(r[0],t.substr(p,o.index-p),o[0],e,r.index,o.index+o[0].length,c);"{"===o[0]?h++:"}"===o[0]&&h&&h--}return null},e.prototype.findMathInString=function(t,e,r){var n,o;for(this.start.lastIndex=0;n=this.start.exec(r);){if(void 0!==n[this.env]&&this.env){var i="\\\\end\\s*(\\{"+(0,a.quotePattern)(n[this.env])+"\\})";(o=this.findEnd(r,e,n,["{"+n[this.env]+"}",!0,this.endPattern(null,i)]))&&(o.math=o.open+o.math+o.close,o.open=o.close="")}else if(void 0!==n[this.sub]&&this.sub){var s=n[this.sub];i=n.index+n[this.sub].length;o=2===s.length?(0,l.protoItem)("",s.substr(1),"",e,n.index,i):(0,l.protoItem)("",s,"",e,n.index,i,!1)}else o=this.findEnd(r,e,n,this.end[n[0]]);o&&(t.push(o),this.start.lastIndex=o.end.n)}},e.prototype.findMath=function(t){var e=[];if(this.hasPatterns)for(var r=0,n=t.length;r=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},o=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s};Object.defineProperty(e,"__esModule",{value:!0}),e.SubHandlers=e.SubHandler=e.MapHandler=void 0;var i,s=r(8666),a=r(7525);!function(t){var e=new Map;t.register=function(t){e.set(t.name,t)},t.getMap=function(t){return e.get(t)}}(i=e.MapHandler||(e.MapHandler={}));var l=function(){function t(){this._configuration=new s.PrioritizedList,this._fallback=new a.FunctionList}return t.prototype.add=function(t,e,r){var o,a;void 0===r&&(r=s.PrioritizedList.DEFAULTPRIORITY);try{for(var l=n(t.slice().reverse()),c=l.next();!c.done;c=l.next()){var u=c.value,p=i.getMap(u);if(!p)return void this.warn("Configuration "+u+" not found! Omitted.");this._configuration.add(p,r)}}catch(t){o={error:t}}finally{try{c&&!c.done&&(a=l.return)&&a.call(l)}finally{if(o)throw o.error}}e&&this._fallback.add(e,r)},t.prototype.parse=function(t){var e,r;try{for(var i=n(this._configuration),s=i.next();!s.done;s=i.next()){var a=s.value.item.parse(t);if(a)return a}}catch(t){e={error:t}}finally{try{s&&!s.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}var l=o(t,2),c=l[0],u=l[1];Array.from(this._fallback)[0].item(c,u)},t.prototype.lookup=function(t){var e=this.applicable(t);return e?e.lookup(t):null},t.prototype.contains=function(t){return!!this.applicable(t)},t.prototype.toString=function(){var t,e,r=[];try{for(var o=n(this._configuration),i=o.next();!i.done;i=o.next()){var s=i.value.item;r.push(s.name)}}catch(e){t={error:e}}finally{try{i&&!i.done&&(e=o.return)&&e.call(o)}finally{if(t)throw t.error}}return r.join(", ")},t.prototype.applicable=function(t){var e,r;try{for(var o=n(this._configuration),i=o.next();!i.done;i=o.next()){var s=i.value.item;if(s.contains(t))return s}}catch(t){e={error:t}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(e)throw e.error}}return null},t.prototype.retrieve=function(t){var e,r;try{for(var o=n(this._configuration),i=o.next();!i.done;i=o.next()){var s=i.value.item;if(s.name===t)return s}}catch(t){e={error:t}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(e)throw e.error}}return null},t.prototype.warn=function(t){console.log("TexParser Warning: "+t)},t}();e.SubHandler=l;var c=function(){function t(){this.map=new Map}return t.prototype.add=function(t,e,r){var o,i;void 0===r&&(r=s.PrioritizedList.DEFAULTPRIORITY);try{for(var a=n(Object.keys(t)),c=a.next();!c.done;c=a.next()){var u=c.value,p=this.get(u);p||(p=new l,this.set(u,p)),p.add(t[u],e[u],r)}}catch(t){o={error:t}}finally{try{c&&!c.done&&(i=a.return)&&i.call(a)}finally{if(o)throw o.error}}},t.prototype.set=function(t,e){this.map.set(t,e)},t.prototype.get=function(t){return this.map.get(t)},t.prototype.retrieve=function(t){var e,r;try{for(var o=n(this.map.values()),i=o.next();!i.done;i=o.next()){var s=i.value.retrieve(t);if(s)return s}}catch(t){e={error:t}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(e)throw e.error}}return null},t.prototype.keys=function(){return this.map.keys()},t}();e.SubHandlers=c},8929:function(t,e,r){var n=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},o=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},o=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},i=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},o=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o1&&(r.autoOP=!1));var o=t.create("token","mi",r,e);t.Push(o)},t.digit=function(t,e){var r,n=t.configuration.options.digits,o=t.string.slice(t.i-1).match(n),i=c.default.getFontDef(t);o?(r=t.create("token","mn",i,o[0].replace(/[{}]/g,"")),t.i+=o[0].length-1):r=t.create("token","mo",i,e),t.Push(r)},t.controlSequence=function(t,e){var r=t.GetCS();t.parse("macro",[t,r])},t.mathchar0mi=function(t,e){var r=e.attributes||{mathvariant:l.TexConstant.Variant.ITALIC},n=t.create("token","mi",r,e.char);t.Push(n)},t.mathchar0mo=function(t,e){var r=e.attributes||{};r.stretchy=!1;var n=t.create("token","mo",r,e.char);a.default.setProperty(n,"fixStretchy",!0),t.configuration.addNode("fixStretchy",n),t.Push(n)},t.mathchar7=function(t,e){var r=e.attributes||{mathvariant:l.TexConstant.Variant.NORMAL};t.stack.env.font&&(r.mathvariant=t.stack.env.font);var n=t.create("token","mi",r,e.char);t.Push(n)},t.delimiter=function(t,e){var r=e.attributes||{};r=Object.assign({fence:!1,stretchy:!1},r);var n=t.create("token","mo",r,e.char);t.Push(n)},t.environment=function(t,e,r,i){var s=i[0],a=t.itemFactory.create("begin").setProperties({name:e,end:s});a=r.apply(void 0,o([t,a],n(i.slice(1)),!1)),t.Push(a)}}(s||(s={})),e.default=s},8562:function(t,e,r){var n=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},o=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},s=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var a=s(r(5453)),l=r(8929),c=s(r(1256)),u=r(7233),p=function(){function t(t,e){void 0===e&&(e=[]),this.options={},this.packageData=new Map,this.parsers=[],this.root=null,this.nodeLists={},this.error=!1,this.handlers=t.handlers,this.nodeFactory=new l.NodeFactory,this.nodeFactory.configuration=this,this.nodeFactory.setCreators(t.nodes),this.itemFactory=new a.default(t.items),this.itemFactory.configuration=this,u.defaultOptions.apply(void 0,o([this.options],n(e),!1)),(0,u.defaultOptions)(this.options,t.options)}return t.prototype.pushParser=function(t){this.parsers.unshift(t)},t.prototype.popParser=function(){this.parsers.shift()},Object.defineProperty(t.prototype,"parser",{get:function(){return this.parsers[0]},enumerable:!1,configurable:!0}),t.prototype.clear=function(){this.parsers=[],this.root=null,this.nodeLists={},this.error=!1,this.tags.resetTag()},t.prototype.addNode=function(t,e){var r=this.nodeLists[t];if(r||(r=this.nodeLists[t]=[]),r.push(e),e.kind!==t){var n=c.default.getProperty(e,"in-lists")||"",o=(n?n.split(/,/):[]).concat(t).join(",");c.default.setProperty(e,"in-lists",o)}},t.prototype.getList=function(t){var e,r,n=this.nodeLists[t]||[],o=[];try{for(var s=i(n),a=s.next();!a.done;a=s.next()){var l=a.value;this.inTree(l)&&o.push(l)}}catch(t){e={error:t}}finally{try{a&&!a.done&&(r=s.return)&&r.call(s)}finally{if(e)throw e.error}}return this.nodeLists[t]=o,o},t.prototype.removeFromList=function(t,e){var r,n,o=this.nodeLists[t]||[];try{for(var s=i(e),a=s.next();!a.done;a=s.next()){var l=a.value,c=o.indexOf(l);c>=0&&o.splice(c,1)}}catch(t){r={error:t}}finally{try{a&&!a.done&&(n=s.return)&&n.call(s)}finally{if(r)throw r.error}}},t.prototype.inTree=function(t){for(;t&&t!==this.root;)t=t.parent;return!!t},t}();e.default=p},1130:function(t,e,r){var n=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},o=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var s,a=r(9007),l=i(r(1256)),c=i(r(8417)),u=i(r(3971)),p=r(5368);!function(t){var e=7.2,r={em:function(t){return t},ex:function(t){return.43*t},pt:function(t){return t/10},pc:function(t){return 1.2*t},px:function(t){return t*e/72},in:function(t){return t*e},cm:function(t){return t*e/2.54},mm:function(t){return t*e/25.4},mu:function(t){return t/18}},i="([-+]?([.,]\\d+|\\d+([.,]\\d*)?))",s="(pt|em|ex|mu|px|mm|cm|in|pc)",h=RegExp("^\\s*"+i+"\\s*"+s+"\\s*$"),f=RegExp("^\\s*"+i+"\\s*"+s+" ?");function d(t,e){void 0===e&&(e=!1);var o=t.match(e?f:h);return o?function(t){var e=n(t,3),o=e[0],i=e[1],s=e[2];if("mu"!==i)return[o,i,s];return[m(r[i](parseFloat(o||"1"))).slice(0,-2),"em",s]}([o[1].replace(/,/,"."),o[4],o[0].length]):[null,null,0]}function m(t){return Math.abs(t)<6e-4?"0em":t.toFixed(3).replace(/\.?0+$/,"")+"em"}function y(t,e,r){"{"!==e&&"}"!==e||(e="\\"+e);var n="{\\bigg"+r+" "+e+"}",o="{\\big"+r+" "+e+"}";return new c.default("\\mathchoice"+n+o+o+o,{},t).mml()}function g(t,e,r){e=e.replace(/^\s+/,p.entities.nbsp).replace(/\s+$/,p.entities.nbsp);var n=t.create("text",e);return t.create("node","mtext",[],r,n)}function b(t,e,r){if(r.match(/^[a-z]/i)&&e.match(/(^|[^\\])(\\\\)*\\[a-z]+$/i)&&(e+=" "),e.length+r.length>t.configuration.options.maxBuffer)throw new u.default("MaxBufferSize","MathJax internal buffer size exceeded; is there a recursive macro call?");return e+r}function v(t,e){for(;e>0;)t=t.trim().slice(1,-1),e--;return t.trim()}function _(t,e){for(var r=t.length,n=0,o="",i=0,s=0,a=!0,l=!1;in&&(s=n)),n++;break;case"}":n&&n--,(a||l)&&(s--,l=!0),a=!1;break;default:if(!n&&-1!==e.indexOf(c))return[l?"true":v(o,s),c,t.slice(i)];a=!1,l=!1}o+=c}if(n)throw new u.default("ExtraOpenMissingClose","Extra open brace or missing close brace");return[l?"true":v(o,s),"",t.slice(i)]}t.matchDimen=d,t.dimen2em=function(t){var e=n(d(t),2),o=e[0],i=e[1],s=parseFloat(o||"1"),a=r[i];return a?a(s):0},t.Em=m,t.cols=function(){for(var t=[],e=0;e1&&(l=[t.create("node","mrow",l)]),l},t.internalText=g,t.underOver=function(e,r,n,o,i){if(t.checkMovableLimits(r),l.default.isType(r,"munderover")&&l.default.isEmbellished(r)){l.default.setProperties(l.default.getCoreMO(r),{lspace:0,rspace:0});var s=e.create("node","mo",[],{rspace:0});r=e.create("node","mrow",[s,r])}var c=e.create("node","munderover",[r]);l.default.setChild(c,"over"===o?c.over:c.under,n);var u=c;return i&&(u=e.create("node","TeXAtom",[c],{texClass:a.TEXCLASS.OP,movesupsub:!0})),l.default.setProperty(u,"subsupOK",!0),u},t.checkMovableLimits=function(t){var e=l.default.isType(t,"mo")?l.default.getForm(t):null;(l.default.getProperty(t,"movablelimits")||e&&e[3]&&e[3].movablelimits)&&l.default.setProperties(t,{movablelimits:!1})},t.trimSpaces=function(t){if("string"!=typeof t)return t;var e=t.trim();return e.match(/\\$/)&&t.match(/ $/)&&(e+=" "),e},t.setArrayAlign=function(e,r){return"t"===(r=t.trimSpaces(r||""))?e.arraydef.align="baseline 1":"b"===r?e.arraydef.align="baseline -1":"c"===r?e.arraydef.align="axis":r&&(e.arraydef.align=r),e},t.substituteArgs=function(t,e,r){for(var n="",o="",i=0;ie.length)throw new u.default("IllegalMacroParam","Illegal macro parameter reference");o=b(t,b(t,o,n),e[parseInt(s,10)-1]),n=""}else n+=s}return b(t,o,n)},t.addArgs=b,t.checkMaxMacros=function(t,e){if(void 0===e&&(e=!0),!(++t.macroCount<=t.configuration.options.maxMacros))throw e?new u.default("MaxMacroSub1","MathJax maximum macro substitution count exceeded; is here a recursive macro call?"):new u.default("MaxMacroSub2","MathJax maximum substitution count exceeded; is there a recursive latex environment?")},t.checkEqnEnv=function(t){if(t.stack.global.eqnenv)throw new u.default("ErroneousNestingEq","Erroneous nesting of equation structures");t.stack.global.eqnenv=!0},t.copyNode=function(t,e){var r=t.copy(),n=e.configuration;return r.walkTree((function(t){var e,r;n.addNode(t.kind,t);var i=(t.getProperty("in-lists")||"").split(/,/);try{for(var s=o(i),a=s.next();!a.done;a=s.next()){var l=a.value;l&&n.addNode(l,t)}}catch(t){e={error:t}}finally{try{a&&!a.done&&(r=s.return)&&r.call(s)}finally{if(e)throw e.error}}})),r},t.MmlFilterAttribute=function(t,e,r){return r},t.getFontDef=function(t){var e=t.stack.env.font;return e?{mathvariant:e}:{}},t.keyvalOptions=function(t,e,r){var i,s;void 0===e&&(e=null),void 0===r&&(r=!1);var a=function(t){var e,r,o,i,s,a={},l=t;for(;l;)i=(e=n(_(l,["=",","]),3))[0],o=e[1],l=e[2],"="===o?(s=(r=n(_(l,[","]),3))[0],o=r[1],l=r[2],s="false"===s||"true"===s?JSON.parse(s):s,a[i]=s):i&&(a[i]=!0);return a}(t);if(e)try{for(var l=o(Object.keys(a)),c=l.next();!c.done;c=l.next()){var p=c.value;if(!e.hasOwnProperty(p)){if(r)throw new u.default("InvalidOption","Invalid option: %1",p);delete a[p]}}}catch(t){i={error:t}}finally{try{c&&!c.done&&(s=l.return)&&s.call(l)}finally{if(i)throw i.error}}return a}}(s||(s={})),e.default=s},9497:function(t,e,r){var n=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},o=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},i=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},s=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},l=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.BaseItem=e.MmlStack=void 0;var c=l(r(3971)),u=function(){function t(t){this._nodes=t}return Object.defineProperty(t.prototype,"nodes",{get:function(){return this._nodes},enumerable:!1,configurable:!0}),t.prototype.Push=function(){for(var t,e=[],r=0;r0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},s=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},a=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},s=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.TagsFactory=e.AllTags=e.NoTags=e.AbstractTags=e.TagInfo=e.Label=void 0;var a=s(r(8417)),l=function(t,e){void 0===t&&(t="???"),void 0===e&&(e=""),this.tag=t,this.id=e};e.Label=l;var c=function(t,e,r,n,o,i,s,a){void 0===t&&(t=""),void 0===e&&(e=!1),void 0===r&&(r=!1),void 0===n&&(n=null),void 0===o&&(o=""),void 0===i&&(i=""),void 0===s&&(s=!1),void 0===a&&(a=""),this.env=t,this.taggable=e,this.defaultTags=r,this.tag=n,this.tagId=o,this.tagFormat=i,this.noTag=s,this.labelId=a};e.TagInfo=c;var u=function(){function t(){this.counter=0,this.allCounter=0,this.configuration=null,this.ids={},this.allIds={},this.labels={},this.allLabels={},this.redo=!1,this.refUpdate=!1,this.currentTag=new c,this.history=[],this.stack=[],this.enTag=function(t,e){var r=this.configuration.nodeFactory,n=r.create("node","mtd",[t]),o=r.create("node","mlabeledtr",[e,n]);return r.create("node","mtable",[o],{side:this.configuration.options.tagSide,minlabelspacing:this.configuration.options.tagIndent,displaystyle:!0})}}return t.prototype.start=function(t,e,r){this.currentTag&&this.stack.push(this.currentTag),this.currentTag=new c(t,e,r)},Object.defineProperty(t.prototype,"env",{get:function(){return this.currentTag.env},enumerable:!1,configurable:!0}),t.prototype.end=function(){this.history.push(this.currentTag),this.currentTag=this.stack.pop()},t.prototype.tag=function(t,e){this.currentTag.tag=t,this.currentTag.tagFormat=e?t:this.formatTag(t),this.currentTag.noTag=!1},t.prototype.notag=function(){this.tag("",!0),this.currentTag.noTag=!0},Object.defineProperty(t.prototype,"noTag",{get:function(){return this.currentTag.noTag},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"label",{get:function(){return this.currentTag.labelId},set:function(t){this.currentTag.labelId=t},enumerable:!1,configurable:!0}),t.prototype.formatUrl=function(t,e){return e+"#"+encodeURIComponent(t)},t.prototype.formatTag=function(t){return"("+t+")"},t.prototype.formatId=function(t){return"mjx-eqn:"+t.replace(/\s/g,"_")},t.prototype.formatNumber=function(t){return t.toString()},t.prototype.autoTag=function(){null==this.currentTag.tag&&(this.counter++,this.tag(this.formatNumber(this.counter),!1))},t.prototype.clearTag=function(){this.label="",this.tag(null,!0),this.currentTag.tagId=""},t.prototype.getTag=function(t){if(void 0===t&&(t=!1),t)return this.autoTag(),this.makeTag();var e=this.currentTag;return e.taggable&&!e.noTag&&(e.defaultTags&&this.autoTag(),e.tag)?this.makeTag():null},t.prototype.resetTag=function(){this.history=[],this.redo=!1,this.refUpdate=!1,this.clearTag()},t.prototype.reset=function(t){void 0===t&&(t=0),this.resetTag(),this.counter=this.allCounter=t,this.allLabels={},this.allIds={}},t.prototype.startEquation=function(t){this.history=[],this.stack=[],this.clearTag(),this.currentTag=new c("",void 0,void 0),this.labels={},this.ids={},this.counter=this.allCounter,this.redo=!1;var e=t.inputData.recompile;e&&(this.refUpdate=!0,this.counter=e.counter)},t.prototype.finishEquation=function(t){this.redo&&(t.inputData.recompile={state:t.state(),counter:this.allCounter}),this.refUpdate||(this.allCounter=this.counter),Object.assign(this.allIds,this.ids),Object.assign(this.allLabels,this.labels)},t.prototype.finalize=function(t,e){if(!e.display||this.currentTag.env||null==this.currentTag.tag)return t;var r=this.makeTag();return this.enTag(t,r)},t.prototype.makeId=function(){this.currentTag.tagId=this.formatId(this.configuration.options.useLabelIds&&this.label||this.currentTag.tag)},t.prototype.makeTag=function(){this.makeId(),this.label&&(this.labels[this.label]=new l(this.currentTag.tag,this.currentTag.tagId));var t=new a.default("\\text{"+this.currentTag.tagFormat+"}",{},this.configuration).mml();return this.configuration.nodeFactory.create("node","mtd",[t],{id:this.currentTag.tagId})},t}();e.AbstractTags=u;var p=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.autoTag=function(){},e.prototype.getTag=function(){return this.currentTag.tag?t.prototype.getTag.call(this):null},e}(u);e.NoTags=p;var h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.finalize=function(t,e){if(!e.display||this.history.find((function(t){return t.taggable})))return t;var r=this.getTag(!0);return this.enTag(t,r)},e}(u);e.AllTags=h,function(t){var e=new Map([["none",p],["all",h]]),r="none";t.OPTIONS={tags:r,tagSide:"right",tagIndent:"0.8em",useLabelIds:!0,ignoreDuplicateLabels:!1},t.add=function(t,r){e.set(t,r)},t.addTags=function(e){var r,n;try{for(var o=i(Object.keys(e)),s=o.next();!s.done;s=o.next()){var a=s.value;t.add(a,e[a])}}catch(t){r={error:t}}finally{try{s&&!s.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}},t.create=function(t){var n=e.get(t)||e.get(r);if(!n)throw Error("Unknown tags class");return new n},t.setDefault=function(t){r=t},t.getDefault=function(){return t.create(r)}}(e.TagsFactory||(e.TagsFactory={}))},8317:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.TexConstant=void 0,function(t){t.Variant={NORMAL:"normal",BOLD:"bold",ITALIC:"italic",BOLDITALIC:"bold-italic",DOUBLESTRUCK:"double-struck",FRAKTUR:"fraktur",BOLDFRAKTUR:"bold-fraktur",SCRIPT:"script",BOLDSCRIPT:"bold-script",SANSSERIF:"sans-serif",BOLDSANSSERIF:"bold-sans-serif",SANSSERIFITALIC:"sans-serif-italic",SANSSERIFBOLDITALIC:"sans-serif-bold-italic",MONOSPACE:"monospace",INITIAL:"inital",TAILED:"tailed",LOOPED:"looped",STRETCHED:"stretched",CALLIGRAPHIC:"-tex-calligraphic",BOLDCALLIGRAPHIC:"-tex-bold-calligraphic",OLDSTYLE:"-tex-oldstyle",BOLDOLDSTYLE:"-tex-bold-oldstyle",MATHITALIC:"-tex-mathit"},t.Form={PREFIX:"prefix",INFIX:"infix",POSTFIX:"postfix"},t.LineBreak={AUTO:"auto",NEWLINE:"newline",NOBREAK:"nobreak",GOODBREAK:"goodbreak",BADBREAK:"badbreak"},t.LineBreakStyle={BEFORE:"before",AFTER:"after",DUPLICATE:"duplicate",INFIXLINBREAKSTYLE:"infixlinebreakstyle"},t.IndentAlign={LEFT:"left",CENTER:"center",RIGHT:"right",AUTO:"auto",ID:"id",INDENTALIGN:"indentalign"},t.IndentShift={INDENTSHIFT:"indentshift"},t.LineThickness={THIN:"thin",MEDIUM:"medium",THICK:"thick"},t.Notation={LONGDIV:"longdiv",ACTUARIAL:"actuarial",PHASORANGLE:"phasorangle",RADICAL:"radical",BOX:"box",ROUNDEDBOX:"roundedbox",CIRCLE:"circle",LEFT:"left",RIGHT:"right",TOP:"top",BOTTOM:"bottom",UPDIAGONALSTRIKE:"updiagonalstrike",DOWNDIAGONALSTRIKE:"downdiagonalstrike",VERTICALSTRIKE:"verticalstrike",HORIZONTALSTRIKE:"horizontalstrike",NORTHEASTARROW:"northeastarrow",MADRUWB:"madruwb",UPDIAGONALARROW:"updiagonalarrow"},t.Align={TOP:"top",BOTTOM:"bottom",CENTER:"center",BASELINE:"baseline",AXIS:"axis",LEFT:"left",RIGHT:"right"},t.Lines={NONE:"none",SOLID:"solid",DASHED:"dashed"},t.Side={LEFT:"left",RIGHT:"right",LEFTOVERLAP:"leftoverlap",RIGHTOVERLAP:"rightoverlap"},t.Width={AUTO:"auto",FIT:"fit"},t.Actiontype={TOGGLE:"toggle",STATUSLINE:"statusline",TOOLTIP:"tooltip",INPUT:"input"},t.Overflow={LINBREAK:"linebreak",SCROLL:"scroll",ELIDE:"elide",TRUNCATE:"truncate",SCALE:"scale"},t.Unit={EM:"em",EX:"ex",PX:"px",IN:"in",CM:"cm",MM:"mm",PT:"pt",PC:"pc"}}(e.TexConstant||(e.TexConstant={}))},3971:function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(e,r){for(var n=[],o=2;o="0"&&s<="9")n[o]=r[parseInt(n[o],10)-1],"number"==typeof n[o]&&(n[o]=n[o].toString());else if("{"===s){if((s=n[o].substr(1))>="0"&&s<="9")n[o]=r[parseInt(n[o].substr(1,n[o].length-2),10)-1],"number"==typeof n[o]&&(n[o]=n[o].toString());else n[o].match(/^\{([a-z]+):%(\d+)\|(.*)\}$/)&&(n[o]="%"+n[o])}null==n[o]&&(n[o]="???")}return n.join("")},t.pattern=/%(\d+|\{\d+\}|\{[a-z]+:\%\d+(?:\|(?:%\{\d+\}|%.|[^\}])*)+\}|.)/g,t}();e.default=r},8417:function(t,e,r){var n=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},o=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},i=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;oe)throw new u.default("XalignOverflow","Extra %1 in row of %2","&",this.name)},e.prototype.EndRow=function(){for(var e,r=this.row,n=this.getProperty("xalignat");r.lengththis.maxrow&&(this.maxrow=this.row.length),t.prototype.EndRow.call(this);var o=this.table[this.table.length-1];if(this.getProperty("zeroWidthLabel")&&o.isKind("mlabeledtr")){var s=c.default.getChildren(o)[0],a=this.factory.configuration.options.tagSide,l=i({width:0},"right"===a?{lspace:"-1width"}:{}),u=this.create("node","mpadded",c.default.getChildren(s),l);s.setChildren([u])}},e.prototype.EndTable=function(){(t.prototype.EndTable.call(this),this.center)&&(this.maxrow<=2&&(delete this.arraydef.width,delete this.global.indentalign))},e}(a.EqnArrayItem);e.FlalignItem=f},7379:function(t,e,r){var n=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),i=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&n(e,t,r);return o(e,t),e},s=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var a=r(4387),l=i(r(9140)),c=r(8317),u=s(r(5450)),p=s(r(1130)),h=r(9007),f=r(6010);new l.CharacterMap("AMSmath-mathchar0mo",u.default.mathchar0mo,{iiiint:["\u2a0c",{texClass:h.TEXCLASS.OP}]}),new l.RegExpMap("AMSmath-operatorLetter",a.AmsMethods.operatorLetter,/[-*]/i),new l.CommandMap("AMSmath-macros",{mathring:["Accent","02DA"],nobreakspace:"Tilde",negmedspace:["Spacer",f.MATHSPACE.negativemediummathspace],negthickspace:["Spacer",f.MATHSPACE.negativethickmathspace],idotsint:["MultiIntegral","\\int\\cdots\\int"],dddot:["Accent","20DB"],ddddot:["Accent","20DC"],sideset:"SideSet",boxed:["Macro","\\fbox{$\\displaystyle{#1}$}",1],tag:"HandleTag",notag:"HandleNoTag",eqref:["HandleRef",!0],substack:["Macro","\\begin{subarray}{c}#1\\end{subarray}",1],injlim:["NamedOp","inj lim"],projlim:["NamedOp","proj lim"],varliminf:["Macro","\\mathop{\\underline{\\mmlToken{mi}{lim}}}"],varlimsup:["Macro","\\mathop{\\overline{\\mmlToken{mi}{lim}}}"],varinjlim:["Macro","\\mathop{\\underrightarrow{\\mmlToken{mi}{lim}}}"],varprojlim:["Macro","\\mathop{\\underleftarrow{\\mmlToken{mi}{lim}}}"],DeclareMathOperator:"HandleDeclareOp",operatorname:"HandleOperatorName",genfrac:"Genfrac",frac:["Genfrac","","","",""],tfrac:["Genfrac","","","","1"],dfrac:["Genfrac","","","","0"],binom:["Genfrac","(",")","0",""],tbinom:["Genfrac","(",")","0","1"],dbinom:["Genfrac","(",")","0","0"],cfrac:"CFrac",shoveleft:["HandleShove",c.TexConstant.Align.LEFT],shoveright:["HandleShove",c.TexConstant.Align.RIGHT],xrightarrow:["xArrow",8594,5,10],xleftarrow:["xArrow",8592,10,5]},a.AmsMethods),new l.EnvironmentMap("AMSmath-environment",u.default.environment,{"equation*":["Equation",null,!1],"eqnarray*":["EqnArray",null,!1,!0,"rcl",p.default.cols(0,f.MATHSPACE.thickmathspace),".5em"],align:["EqnArray",null,!0,!0,"rl",p.default.cols(0,2)],"align*":["EqnArray",null,!1,!0,"rl",p.default.cols(0,2)],multline:["Multline",null,!0],"multline*":["Multline",null,!1],split:["EqnArray",null,!1,!1,"rl",p.default.cols(0)],gather:["EqnArray",null,!0,!0,"c"],"gather*":["EqnArray",null,!1,!0,"c"],alignat:["AlignAt",null,!0,!0],"alignat*":["AlignAt",null,!1,!0],alignedat:["AlignAt",null,!1,!1],aligned:["AmsEqnArray",null,null,null,"rl",p.default.cols(0,2),".5em","D"],gathered:["AmsEqnArray",null,null,null,"c",null,".5em","D"],xalignat:["XalignAt",null,!0,!0],"xalignat*":["XalignAt",null,!1,!0],xxalignat:["XalignAt",null,!1,!1],flalign:["FlalignArray",null,!0,!1,!0,"rlc","auto auto fit"],"flalign*":["FlalignArray",null,!1,!1,!0,"rlc","auto auto fit"],subarray:["Array",null,null,null,null,p.default.cols(0),"0.1em","S",1],smallmatrix:["Array",null,null,null,"c",p.default.cols(1/3),".2em","S",1],matrix:["Array",null,null,null,"c"],pmatrix:["Array",null,"(",")","c"],bmatrix:["Array",null,"[","]","c"],Bmatrix:["Array",null,"\\{","\\}","c"],vmatrix:["Array",null,"\\vert","\\vert","c"],Vmatrix:["Array",null,"\\Vert","\\Vert","c"],cases:["Array",null,"\\{",".","ll",null,".2em","T"]},a.AmsMethods),new l.DelimiterMap("AMSmath-delimiter",u.default.delimiter,{"\\lvert":["|",{texClass:h.TEXCLASS.OPEN}],"\\rvert":["|",{texClass:h.TEXCLASS.CLOSE}],"\\lVert":["\u2016",{texClass:h.TEXCLASS.OPEN}],"\\rVert":["\u2016",{texClass:h.TEXCLASS.CLOSE}]}),new l.CharacterMap("AMSsymbols-mathchar0mi",u.default.mathchar0mi,{digamma:"\u03dd",varkappa:"\u03f0",varGamma:["\u0393",{mathvariant:c.TexConstant.Variant.ITALIC}],varDelta:["\u0394",{mathvariant:c.TexConstant.Variant.ITALIC}],varTheta:["\u0398",{mathvariant:c.TexConstant.Variant.ITALIC}],varLambda:["\u039b",{mathvariant:c.TexConstant.Variant.ITALIC}],varXi:["\u039e",{mathvariant:c.TexConstant.Variant.ITALIC}],varPi:["\u03a0",{mathvariant:c.TexConstant.Variant.ITALIC}],varSigma:["\u03a3",{mathvariant:c.TexConstant.Variant.ITALIC}],varUpsilon:["\u03a5",{mathvariant:c.TexConstant.Variant.ITALIC}],varPhi:["\u03a6",{mathvariant:c.TexConstant.Variant.ITALIC}],varPsi:["\u03a8",{mathvariant:c.TexConstant.Variant.ITALIC}],varOmega:["\u03a9",{mathvariant:c.TexConstant.Variant.ITALIC}],beth:"\u2136",gimel:"\u2137",daleth:"\u2138",backprime:["\u2035",{variantForm:!0}],hslash:"\u210f",varnothing:["\u2205",{variantForm:!0}],blacktriangle:"\u25b4",triangledown:["\u25bd",{variantForm:!0}],blacktriangledown:"\u25be",square:"\u25fb",Box:"\u25fb",blacksquare:"\u25fc",lozenge:"\u25ca",Diamond:"\u25ca",blacklozenge:"\u29eb",circledS:["\u24c8",{mathvariant:c.TexConstant.Variant.NORMAL}],bigstar:"\u2605",sphericalangle:"\u2222",measuredangle:"\u2221",nexists:"\u2204",complement:"\u2201",mho:"\u2127",eth:["\xf0",{mathvariant:c.TexConstant.Variant.NORMAL}],Finv:"\u2132",diagup:"\u2571",Game:"\u2141",diagdown:"\u2572",Bbbk:["k",{mathvariant:c.TexConstant.Variant.DOUBLESTRUCK}],yen:"\xa5",circledR:"\xae",checkmark:"\u2713",maltese:"\u2720"}),new l.CharacterMap("AMSsymbols-mathchar0mo",u.default.mathchar0mo,{dotplus:"\u2214",ltimes:"\u22c9",smallsetminus:["\u2216",{variantForm:!0}],rtimes:"\u22ca",Cap:"\u22d2",doublecap:"\u22d2",leftthreetimes:"\u22cb",Cup:"\u22d3",doublecup:"\u22d3",rightthreetimes:"\u22cc",barwedge:"\u22bc",curlywedge:"\u22cf",veebar:"\u22bb",curlyvee:"\u22ce",doublebarwedge:"\u2a5e",boxminus:"\u229f",circleddash:"\u229d",boxtimes:"\u22a0",circledast:"\u229b",boxdot:"\u22a1",circledcirc:"\u229a",boxplus:"\u229e",centerdot:["\u22c5",{variantForm:!0}],divideontimes:"\u22c7",intercal:"\u22ba",leqq:"\u2266",geqq:"\u2267",leqslant:"\u2a7d",geqslant:"\u2a7e",eqslantless:"\u2a95",eqslantgtr:"\u2a96",lesssim:"\u2272",gtrsim:"\u2273",lessapprox:"\u2a85",gtrapprox:"\u2a86",approxeq:"\u224a",lessdot:"\u22d6",gtrdot:"\u22d7",lll:"\u22d8",llless:"\u22d8",ggg:"\u22d9",gggtr:"\u22d9",lessgtr:"\u2276",gtrless:"\u2277",lesseqgtr:"\u22da",gtreqless:"\u22db",lesseqqgtr:"\u2a8b",gtreqqless:"\u2a8c",doteqdot:"\u2251",Doteq:"\u2251",eqcirc:"\u2256",risingdotseq:"\u2253",circeq:"\u2257",fallingdotseq:"\u2252",triangleq:"\u225c",backsim:"\u223d",thicksim:["\u223c",{variantForm:!0}],backsimeq:"\u22cd",thickapprox:["\u2248",{variantForm:!0}],subseteqq:"\u2ac5",supseteqq:"\u2ac6",Subset:"\u22d0",Supset:"\u22d1",sqsubset:"\u228f",sqsupset:"\u2290",preccurlyeq:"\u227c",succcurlyeq:"\u227d",curlyeqprec:"\u22de",curlyeqsucc:"\u22df",precsim:"\u227e",succsim:"\u227f",precapprox:"\u2ab7",succapprox:"\u2ab8",vartriangleleft:"\u22b2",lhd:"\u22b2",vartriangleright:"\u22b3",rhd:"\u22b3",trianglelefteq:"\u22b4",unlhd:"\u22b4",trianglerighteq:"\u22b5",unrhd:"\u22b5",vDash:["\u22a8",{variantForm:!0}],Vdash:"\u22a9",Vvdash:"\u22aa",smallsmile:["\u2323",{variantForm:!0}],shortmid:["\u2223",{variantForm:!0}],smallfrown:["\u2322",{variantForm:!0}],shortparallel:["\u2225",{variantForm:!0}],bumpeq:"\u224f",between:"\u226c",Bumpeq:"\u224e",pitchfork:"\u22d4",varpropto:["\u221d",{variantForm:!0}],backepsilon:"\u220d",blacktriangleleft:"\u25c2",blacktriangleright:"\u25b8",therefore:"\u2234",because:"\u2235",eqsim:"\u2242",vartriangle:["\u25b3",{variantForm:!0}],Join:"\u22c8",nless:"\u226e",ngtr:"\u226f",nleq:"\u2270",ngeq:"\u2271",nleqslant:["\u2a87",{variantForm:!0}],ngeqslant:["\u2a88",{variantForm:!0}],nleqq:["\u2270",{variantForm:!0}],ngeqq:["\u2271",{variantForm:!0}],lneq:"\u2a87",gneq:"\u2a88",lneqq:"\u2268",gneqq:"\u2269",lvertneqq:["\u2268",{variantForm:!0}],gvertneqq:["\u2269",{variantForm:!0}],lnsim:"\u22e6",gnsim:"\u22e7",lnapprox:"\u2a89",gnapprox:"\u2a8a",nprec:"\u2280",nsucc:"\u2281",npreceq:["\u22e0",{variantForm:!0}],nsucceq:["\u22e1",{variantForm:!0}],precneqq:"\u2ab5",succneqq:"\u2ab6",precnsim:"\u22e8",succnsim:"\u22e9",precnapprox:"\u2ab9",succnapprox:"\u2aba",nsim:"\u2241",ncong:"\u2247",nshortmid:["\u2224",{variantForm:!0}],nshortparallel:["\u2226",{variantForm:!0}],nmid:"\u2224",nparallel:"\u2226",nvdash:"\u22ac",nvDash:"\u22ad",nVdash:"\u22ae",nVDash:"\u22af",ntriangleleft:"\u22ea",ntriangleright:"\u22eb",ntrianglelefteq:"\u22ec",ntrianglerighteq:"\u22ed",nsubseteq:"\u2288",nsupseteq:"\u2289",nsubseteqq:["\u2288",{variantForm:!0}],nsupseteqq:["\u2289",{variantForm:!0}],subsetneq:"\u228a",supsetneq:"\u228b",varsubsetneq:["\u228a",{variantForm:!0}],varsupsetneq:["\u228b",{variantForm:!0}],subsetneqq:"\u2acb",supsetneqq:"\u2acc",varsubsetneqq:["\u2acb",{variantForm:!0}],varsupsetneqq:["\u2acc",{variantForm:!0}],leftleftarrows:"\u21c7",rightrightarrows:"\u21c9",leftrightarrows:"\u21c6",rightleftarrows:"\u21c4",Lleftarrow:"\u21da",Rrightarrow:"\u21db",twoheadleftarrow:"\u219e",twoheadrightarrow:"\u21a0",leftarrowtail:"\u21a2",rightarrowtail:"\u21a3",looparrowleft:"\u21ab",looparrowright:"\u21ac",leftrightharpoons:"\u21cb",rightleftharpoons:["\u21cc",{variantForm:!0}],curvearrowleft:"\u21b6",curvearrowright:"\u21b7",circlearrowleft:"\u21ba",circlearrowright:"\u21bb",Lsh:"\u21b0",Rsh:"\u21b1",upuparrows:"\u21c8",downdownarrows:"\u21ca",upharpoonleft:"\u21bf",upharpoonright:"\u21be",downharpoonleft:"\u21c3",restriction:"\u21be",multimap:"\u22b8",downharpoonright:"\u21c2",leftrightsquigarrow:"\u21ad",rightsquigarrow:"\u21dd",leadsto:"\u21dd",dashrightarrow:"\u21e2",dashleftarrow:"\u21e0",nleftarrow:"\u219a",nrightarrow:"\u219b",nLeftarrow:"\u21cd",nRightarrow:"\u21cf",nleftrightarrow:"\u21ae",nLeftrightarrow:"\u21ce"}),new l.DelimiterMap("AMSsymbols-delimiter",u.default.delimiter,{"\\ulcorner":"\u231c","\\urcorner":"\u231d","\\llcorner":"\u231e","\\lrcorner":"\u231f"}),new l.CommandMap("AMSsymbols-macros",{implies:["Macro","\\;\\Longrightarrow\\;"],impliedby:["Macro","\\;\\Longleftarrow\\;"]},a.AmsMethods)},4387:function(t,e,r){var n=this&&this.__assign||function(){return n=Object.assign||function(t){for(var e,r=1,n=arguments.length;r0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.NEW_OPS=e.AmsMethods=void 0;var s=i(r(1130)),a=i(r(5450)),l=i(r(1256)),c=r(8317),u=i(r(8417)),p=i(r(3971)),h=r(8803),f=i(r(7693)),d=r(9007);function m(t){if(!t||t.isInferred&&0===t.childNodes.length)return[null,null];if(t.isKind("msubsup")&&y(t))return[t,null];var e=l.default.getChildAt(t,0);return t.isInferred&&e&&y(e)?(t.childNodes.splice(0,1),[e,t]):[null,t]}function y(t){var e=t.childNodes[0];return e&&e.isKind("mi")&&""===e.getText()}e.AmsMethods={},e.AmsMethods.AmsEqnArray=function(t,e,r,n,o,i,a){var l=t.GetBrackets("\\begin{"+e.getName()+"}"),c=f.default.EqnArray(t,e,r,n,o,i,a);return s.default.setArrayAlign(c,l)},e.AmsMethods.AlignAt=function(t,r,n,o){var i,a,l=r.getName(),c="",u=[];if(o||(a=t.GetBrackets("\\begin{"+l+"}")),(i=t.GetArgument("\\begin{"+l+"}")).match(/[^0-9]/))throw new p.default("PositiveIntegerArg","Argument to %1 must me a positive integer","\\begin{"+l+"}");for(var h=parseInt(i,10);h>0;)c+="rl",u.push("0em 0em"),h--;var f=u.join(" ");if(o)return e.AmsMethods.EqnArray(t,r,n,o,c,f);var d=e.AmsMethods.EqnArray(t,r,n,o,c,f);return s.default.setArrayAlign(d,a)},e.AmsMethods.Multline=function(t,e,r){t.Push(e),s.default.checkEqnEnv(t);var n=t.itemFactory.create("multline",r,t.stack);return n.arraydef={displaystyle:!0,rowspacing:".5em",columnspacing:"100%",width:t.options.ams.multlineWidth,side:t.options.tagSide,minlabelspacing:t.options.tagIndent,framespacing:t.options.ams.multlineIndent+" 0",frame:"","data-width-includes-label":!0},n},e.AmsMethods.XalignAt=function(t,r,n,o){var i=t.GetArgument("\\begin{"+r.getName()+"}");if(i.match(/[^0-9]/))throw new p.default("PositiveIntegerArg","Argument to %1 must me a positive integer","\\begin{"+r.getName()+"}");var s=o?"crl":"rlc",a=o?"fit auto auto":"auto auto fit",l=e.AmsMethods.FlalignArray(t,r,n,o,!1,s,a,!0);return l.setProperty("xalignat",2*parseInt(i)),l},e.AmsMethods.FlalignArray=function(t,e,r,n,o,i,a,l){void 0===l&&(l=!1),t.Push(e),s.default.checkEqnEnv(t),i=i.split("").join(" ").replace(/r/g,"right").replace(/l/g,"left").replace(/c/g,"center");var c=t.itemFactory.create("flalign",e.getName(),r,n,o,t.stack);return c.arraydef={width:"100%",displaystyle:!0,columnalign:i,columnspacing:"0em",columnwidth:a,rowspacing:"3pt",side:t.options.tagSide,minlabelspacing:l?"0":t.options.tagIndent,"data-width-includes-label":!0},c.setProperty("zeroWidthLabel",l),c},e.NEW_OPS="ams-declare-ops",e.AmsMethods.HandleDeclareOp=function(t,r){var n=t.GetStar()?"*":"",o=s.default.trimSpaces(t.GetArgument(r));"\\"===o.charAt(0)&&(o=o.substr(1));var i=t.GetArgument(r);t.configuration.handlers.retrieve(e.NEW_OPS).add(o,new h.Macro(o,e.AmsMethods.Macro,["\\operatorname".concat(n,"{").concat(i,"}")]))},e.AmsMethods.HandleOperatorName=function(t,e){var r=t.GetStar(),o=s.default.trimSpaces(t.GetArgument(e)),i=new u.default(o,n(n({},t.stack.env),{font:c.TexConstant.Variant.NORMAL,multiLetterIdentifiers:/^[-*a-z]+/i,operatorLetters:!0}),t.configuration).mml();if(i.isKind("mi")||(i=t.create("node","TeXAtom",[i])),l.default.setProperties(i,{movesupsub:r,movablelimits:!0,texClass:d.TEXCLASS.OP}),!r){var a=t.GetNext(),p=t.i;"\\"===a&&++t.i&&"limits"!==t.GetCS()&&(t.i=p)}t.Push(i)},e.AmsMethods.SideSet=function(t,e){var r=o(m(t.ParseArg(e)),2),n=r[0],i=r[1],a=o(m(t.ParseArg(e)),2),c=a[0],u=a[1],p=t.ParseArg(e),h=p;n&&(i?n.replaceChild(t.create("node","mphantom",[t.create("node","mpadded",[s.default.copyNode(p,t)],{width:0})]),l.default.getChildAt(n,0)):(h=t.create("node","mmultiscripts",[p]),c&&l.default.appendChildren(h,[l.default.getChildAt(c,1)||t.create("node","none"),l.default.getChildAt(c,2)||t.create("node","none")]),l.default.setProperty(h,"scriptalign","left"),l.default.appendChildren(h,[t.create("node","mprescripts"),l.default.getChildAt(n,1)||t.create("node","none"),l.default.getChildAt(n,2)||t.create("node","none")]))),c&&h===p&&(c.replaceChild(p,l.default.getChildAt(c,0)),h=c);var f=t.create("node","TeXAtom",[],{texClass:d.TEXCLASS.OP,movesupsub:!0,movablelimits:!0});i&&(n&&f.appendChild(n),f.appendChild(i)),f.appendChild(h),u&&f.appendChild(u),t.Push(f)},e.AmsMethods.operatorLetter=function(t,e){return!!t.stack.env.operatorLetters&&a.default.variable(t,e)},e.AmsMethods.MultiIntegral=function(t,e,r){var n=t.GetNext();if("\\"===n){var o=t.i;n=t.GetArgument(e),t.i=o,"\\limits"===n&&(r="\\idotsint"===e?"\\!\\!\\mathop{\\,\\,"+r+"}":"\\!\\!\\!\\mathop{\\,\\,\\,"+r+"}")}t.string=r+" "+t.string.slice(t.i),t.i=0},e.AmsMethods.xArrow=function(t,e,r,n,o){var i={width:"+"+s.default.Em((n+o)/18),lspace:s.default.Em(n/18)},a=t.GetBrackets(e),c=t.ParseArg(e),p=t.create("node","mspace",[],{depth:".25em"}),h=t.create("token","mo",{stretchy:!0,texClass:d.TEXCLASS.REL},String.fromCodePoint(r));h=t.create("node","mstyle",[h],{scriptlevel:0});var f=t.create("node","munderover",[h]),m=t.create("node","mpadded",[c,p],i);if(l.default.setAttribute(m,"voffset","-.2em"),l.default.setAttribute(m,"height","-.2em"),l.default.setChild(f,f.over,m),a){var y=new u.default(a,t.stack.env,t.configuration).mml(),g=t.create("node","mspace",[],{height:".75em"});m=t.create("node","mpadded",[y,g],i),l.default.setAttribute(m,"voffset",".15em"),l.default.setAttribute(m,"depth","-.15em"),l.default.setChild(f,f.under,m)}l.default.setProperty(f,"subsupOK",!0),t.Push(f)},e.AmsMethods.HandleShove=function(t,e,r){var n=t.stack.Top();if("multline"!==n.kind)throw new p.default("CommandOnlyAllowedInEnv","%1 only allowed in %2 environment",t.currentCS,"multline");if(n.Size())throw new p.default("CommandAtTheBeginingOfLine","%1 must come at the beginning of the line",t.currentCS);n.setProperty("shove",r)},e.AmsMethods.CFrac=function(t,e){var r=s.default.trimSpaces(t.GetBrackets(e,"")),n=t.GetArgument(e),o=t.GetArgument(e),i={l:c.TexConstant.Align.LEFT,r:c.TexConstant.Align.RIGHT,"":""},a=new u.default("\\strut\\textstyle{"+n+"}",t.stack.env,t.configuration).mml(),h=new u.default("\\strut\\textstyle{"+o+"}",t.stack.env,t.configuration).mml(),f=t.create("node","mfrac",[a,h]);if(null==(r=i[r]))throw new p.default("IllegalAlign","Illegal alignment specified in %1",t.currentCS);r&&l.default.setProperties(f,{numalign:r,denomalign:r}),t.Push(f)},e.AmsMethods.Genfrac=function(t,e,r,n,o,i){null==r&&(r=t.GetDelimiterArg(e)),null==n&&(n=t.GetDelimiterArg(e)),null==o&&(o=t.GetArgument(e)),null==i&&(i=s.default.trimSpaces(t.GetArgument(e)));var a=t.ParseArg(e),c=t.ParseArg(e),u=t.create("node","mfrac",[a,c]);if(""!==o&&l.default.setAttribute(u,"linethickness",o),(r||n)&&(l.default.setProperty(u,"withDelims",!0),u=s.default.fixedFence(t.configuration,r,u,n)),""!==i){var h=parseInt(i,10),f=["D","T","S","SS"][h];if(null==f)throw new p.default("BadMathStyleFor","Bad math style for %1",t.currentCS);u=t.create("node","mstyle",[u]),"D"===f?l.default.setProperties(u,{displaystyle:!0,scriptlevel:0}):l.default.setProperties(u,{displaystyle:!1,scriptlevel:h-1})}t.Push(u)},e.AmsMethods.HandleTag=function(t,e){if(!t.tags.currentTag.taggable&&t.tags.env)throw new p.default("CommandNotAllowedInEnv","%1 not allowed in %2 environment",t.currentCS,t.tags.env);if(t.tags.currentTag.tag)throw new p.default("MultipleCommand","Multiple %1",t.currentCS);var r=t.GetStar(),n=s.default.trimSpaces(t.GetArgument(e));t.tags.tag(n,r)},e.AmsMethods.HandleNoTag=f.default.HandleNoTag,e.AmsMethods.HandleRef=f.default.HandleRef,e.AmsMethods.Macro=f.default.Macro,e.AmsMethods.Accent=f.default.Accent,e.AmsMethods.Tilde=f.default.Tilde,e.AmsMethods.Array=f.default.Array,e.AmsMethods.Spacer=f.default.Spacer,e.AmsMethods.NamedOp=f.default.NamedOp,e.AmsMethods.EqnArray=f.default.EqnArray,e.AmsMethods.Equation=f.default.Equation},1275:function(t,e,r){var n=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},o=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.AutoloadConfiguration=void 0;var i=r(9899),s=r(9140),a=r(8803),l=r(7741),c=r(265),u=r(7233);function p(t,e,r,i){var s,a,u,p;if(c.Package.packages.has(t.options.require.prefix+r)){var d=t.options.autoload[r],m=n(2===d.length&&Array.isArray(d[0])?d:[d,[]],2),y=m[0],g=m[1];try{for(var b=o(y),v=b.next();!v.done;v=b.next()){var _=v.value;h.remove(_)}}catch(t){s={error:t}}finally{try{v&&!v.done&&(a=b.return)&&a.call(b)}finally{if(s)throw s.error}}try{for(var S=o(g),M=S.next();!M.done;M=S.next()){var O=M.value;f.remove(O)}}catch(t){u={error:t}}finally{try{M&&!M.done&&(p=S.return)&&p.call(S)}finally{if(u)throw u.error}}t.string=(i?e+" ":"\\begin{"+e.slice(1)+"}")+t.string.slice(t.i),t.i=0}(0,l.RequireLoad)(t,r)}var h=new s.CommandMap("autoload-macros",{},{}),f=new s.CommandMap("autoload-environments",{},{});e.AutoloadConfiguration=i.Configuration.create("autoload",{handler:{macro:["autoload-macros"],environment:["autoload-environments"]},options:{autoload:(0,u.expandable)({action:["toggle","mathtip","texttip"],amscd:[[],["CD"]],bbox:["bbox"],boldsymbol:["boldsymbol"],braket:["bra","ket","braket","set","Bra","Ket","Braket","Set","ketbra","Ketbra"],bussproofs:[[],["prooftree"]],cancel:["cancel","bcancel","xcancel","cancelto"],color:["color","definecolor","textcolor","colorbox","fcolorbox"],enclose:["enclose"],extpfeil:["xtwoheadrightarrow","xtwoheadleftarrow","xmapsto","xlongequal","xtofrom","Newextarrow"],html:["href","class","style","cssId"],mhchem:["ce","pu"],newcommand:["newcommand","renewcommand","newenvironment","renewenvironment","def","let"],unicode:["unicode"],verb:["verb"]})},config:function(t,e){var r,i,s,c,u,d,m=e.parseOptions,y=m.handlers.get("macro"),g=m.handlers.get("environment"),b=m.options.autoload;m.packageData.set("autoload",{Autoload:p});try{for(var v=o(Object.keys(b)),_=v.next();!_.done;_=v.next()){var S=_.value,M=b[S],O=n(2===M.length&&Array.isArray(M[0])?M:[M,[]],2),x=O[0],E=O[1];try{for(var A=(s=void 0,o(x)),C=A.next();!C.done;C=A.next()){var T=C.value;y.lookup(T)&&"color"!==T||h.add(T,new a.Macro(T,p,[S,!0]))}}catch(t){s={error:t}}finally{try{C&&!C.done&&(c=A.return)&&c.call(A)}finally{if(s)throw s.error}}try{for(var N=(u=void 0,o(E)),w=N.next();!w.done;w=N.next()){var L=w.value;g.lookup(L)||f.add(L,new a.Macro(L,p,[S,!1]))}}catch(t){u={error:t}}finally{try{w&&!w.done&&(d=N.return)&&d.call(N)}finally{if(u)throw u.error}}}}catch(t){r={error:t}}finally{try{_&&!_.done&&(i=v.return)&&i.call(v)}finally{if(r)throw r.error}}m.packageData.get("require")||l.RequireConfiguration.config(t,e)},init:function(t){t.options.require||(0,u.defaultOptions)(t.options,l.RequireConfiguration.options)},priority:10})},2942:function(t,e,r){var n,o,i=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),s=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),a=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),l=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&s(e,t,r);return a(e,t),e},c=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},u=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.BaseConfiguration=e.BaseTags=e.Other=void 0;var p=r(9899),h=r(2947),f=u(r(3971)),d=u(r(1256)),m=r(9140),y=l(r(1181)),g=r(6521);r(1267);var b=r(4082);function v(t,e){var r=t.stack.env.font?{mathvariant:t.stack.env.font}:{},n=h.MapHandler.getMap("remap").lookup(e),o=(0,b.getRange)(e),i=o?o[3]:"mo",s=t.create("token",i,r,n?n.char:e);o[4]&&s.attributes.set("mathvariant",o[4]),"mo"===i&&(d.default.setProperty(s,"fixStretchy",!0),t.configuration.addNode("fixStretchy",s)),t.Push(s)}new m.CharacterMap("remap",null,{"-":"\u2212","*":"\u2217","`":"\u2018"}),e.Other=v;var _=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e}(g.AbstractTags);e.BaseTags=_,e.BaseConfiguration=p.Configuration.create("base",{handler:{character:["command","special","letter","digit"],delimiter:["delimiter"],macro:["delimiter","macros","mathchar0mi","mathchar0mo","mathchar7"],environment:["environment"]},fallback:{character:v,macro:function(t,e){throw new f.default("UndefinedControlSequence","Undefined control sequence %1","\\"+e)},environment:function(t,e){throw new f.default("UnknownEnv","Unknown environment '%1'",e)}},items:(o={},o[y.StartItem.prototype.kind]=y.StartItem,o[y.StopItem.prototype.kind]=y.StopItem,o[y.OpenItem.prototype.kind]=y.OpenItem,o[y.CloseItem.prototype.kind]=y.CloseItem,o[y.PrimeItem.prototype.kind]=y.PrimeItem,o[y.SubsupItem.prototype.kind]=y.SubsupItem,o[y.OverItem.prototype.kind]=y.OverItem,o[y.LeftItem.prototype.kind]=y.LeftItem,o[y.Middle.prototype.kind]=y.Middle,o[y.RightItem.prototype.kind]=y.RightItem,o[y.BeginItem.prototype.kind]=y.BeginItem,o[y.EndItem.prototype.kind]=y.EndItem,o[y.StyleItem.prototype.kind]=y.StyleItem,o[y.PositionItem.prototype.kind]=y.PositionItem,o[y.CellItem.prototype.kind]=y.CellItem,o[y.MmlItem.prototype.kind]=y.MmlItem,o[y.FnItem.prototype.kind]=y.FnItem,o[y.NotItem.prototype.kind]=y.NotItem,o[y.NonscriptItem.prototype.kind]=y.NonscriptItem,o[y.DotsItem.prototype.kind]=y.DotsItem,o[y.ArrayItem.prototype.kind]=y.ArrayItem,o[y.EqnArrayItem.prototype.kind]=y.EqnArrayItem,o[y.EquationItem.prototype.kind]=y.EquationItem,o),options:{maxMacros:1e3,baseURL:"undefined"==typeof document||0===document.getElementsByTagName("base").length?"":String(document.location).replace(/#.*$/,"")},tags:{base:_},postprocessors:[[function(t){var e,r,n=t.data;try{for(var o=c(n.getList("nonscript")),i=o.next();!i.done;i=o.next()){var s=i.value;if(s.attributes.get("scriptlevel")>0){var a=s.parent;if(a.childNodes.splice(a.childIndex(s),1),n.removeFromList(s.kind,[s]),s.isKind("mrow")){var l=s.childNodes[0];n.removeFromList("mstyle",[l]),n.removeFromList("mspace",l.childNodes[0].childNodes)}}else s.isKind("mrow")&&(s.parent.replaceChild(s.childNodes[0],s),n.removeFromList("mrow",[s]))}}catch(t){e={error:t}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(e)throw e.error}}},-4]]})},1181:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},s=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;othis.maxrow&&(this.maxrow=this.row.length);var t="mtr",e=this.factory.configuration.tags.getTag();e&&(this.row=[e].concat(this.row),t="mlabeledtr"),this.factory.configuration.tags.clearTag();var r=this.create("node",t,this.row);this.table.push(r),this.row=[]},e.prototype.EndTable=function(){t.prototype.EndTable.call(this),this.factory.configuration.tags.end(),this.extendArray("columnalign",this.maxrow),this.extendArray("columnwidth",this.maxrow),this.extendArray("columnspacing",this.maxrow-1)},e.prototype.extendArray=function(t,e){if(this.arraydef[t]){var r=this.arraydef[t].split(/ /),n=s([],i(r),!1);if(n.length>1){for(;n.length",succ:"\u227b",prec:"\u227a",approx:"\u2248",succeq:"\u2ab0",preceq:"\u2aaf",supset:"\u2283",subset:"\u2282",supseteq:"\u2287",subseteq:"\u2286",in:"\u2208",ni:"\u220b",notin:"\u2209",owns:"\u220b",gg:"\u226b",ll:"\u226a",sim:"\u223c",simeq:"\u2243",perp:"\u22a5",equiv:"\u2261",asymp:"\u224d",smile:"\u2323",frown:"\u2322",ne:"\u2260",neq:"\u2260",cong:"\u2245",doteq:"\u2250",bowtie:"\u22c8",models:"\u22a8",notChar:"\u29f8",Leftrightarrow:"\u21d4",Leftarrow:"\u21d0",Rightarrow:"\u21d2",leftrightarrow:"\u2194",leftarrow:"\u2190",gets:"\u2190",rightarrow:"\u2192",to:["\u2192",{accent:!1}],mapsto:"\u21a6",leftharpoonup:"\u21bc",leftharpoondown:"\u21bd",rightharpoonup:"\u21c0",rightharpoondown:"\u21c1",nearrow:"\u2197",searrow:"\u2198",nwarrow:"\u2196",swarrow:"\u2199",rightleftharpoons:"\u21cc",hookrightarrow:"\u21aa",hookleftarrow:"\u21a9",longleftarrow:"\u27f5",Longleftarrow:"\u27f8",longrightarrow:"\u27f6",Longrightarrow:"\u27f9",Longleftrightarrow:"\u27fa",longleftrightarrow:"\u27f7",longmapsto:"\u27fc",ldots:"\u2026",cdots:"\u22ef",vdots:"\u22ee",ddots:"\u22f1",dotsc:"\u2026",dotsb:"\u22ef",dotsm:"\u22ef",dotsi:"\u22ef",dotso:"\u2026",ldotp:[".",{texClass:h.TEXCLASS.PUNCT}],cdotp:["\u22c5",{texClass:h.TEXCLASS.PUNCT}],colon:[":",{texClass:h.TEXCLASS.PUNCT}]}),new a.CharacterMap("mathchar7",u.default.mathchar7,{Gamma:"\u0393",Delta:"\u0394",Theta:"\u0398",Lambda:"\u039b",Xi:"\u039e",Pi:"\u03a0",Sigma:"\u03a3",Upsilon:"\u03a5",Phi:"\u03a6",Psi:"\u03a8",Omega:"\u03a9",_:"_","#":"#",$:"$","%":"%","&":"&",And:"&"}),new a.DelimiterMap("delimiter",u.default.delimiter,{"(":"(",")":")","[":"[","]":"]","<":"\u27e8",">":"\u27e9","\\lt":"\u27e8","\\gt":"\u27e9","/":"/","|":["|",{texClass:h.TEXCLASS.ORD}],".":"","\\\\":"\\","\\lmoustache":"\u23b0","\\rmoustache":"\u23b1","\\lgroup":"\u27ee","\\rgroup":"\u27ef","\\arrowvert":"\u23d0","\\Arrowvert":"\u2016","\\bracevert":"\u23aa","\\Vert":["\u2016",{texClass:h.TEXCLASS.ORD}],"\\|":["\u2016",{texClass:h.TEXCLASS.ORD}],"\\vert":["|",{texClass:h.TEXCLASS.ORD}],"\\uparrow":"\u2191","\\downarrow":"\u2193","\\updownarrow":"\u2195","\\Uparrow":"\u21d1","\\Downarrow":"\u21d3","\\Updownarrow":"\u21d5","\\backslash":"\\","\\rangle":"\u27e9","\\langle":"\u27e8","\\rbrace":"}","\\lbrace":"{","\\}":"}","\\{":"{","\\rceil":"\u2309","\\lceil":"\u2308","\\rfloor":"\u230b","\\lfloor":"\u230a","\\lbrack":"[","\\rbrack":"]"}),new a.CommandMap("macros",{displaystyle:["SetStyle","D",!0,0],textstyle:["SetStyle","T",!1,0],scriptstyle:["SetStyle","S",!1,1],scriptscriptstyle:["SetStyle","SS",!1,2],rm:["SetFont",l.TexConstant.Variant.NORMAL],mit:["SetFont",l.TexConstant.Variant.ITALIC],oldstyle:["SetFont",l.TexConstant.Variant.OLDSTYLE],cal:["SetFont",l.TexConstant.Variant.CALLIGRAPHIC],it:["SetFont",l.TexConstant.Variant.MATHITALIC],bf:["SetFont",l.TexConstant.Variant.BOLD],bbFont:["SetFont",l.TexConstant.Variant.DOUBLESTRUCK],scr:["SetFont",l.TexConstant.Variant.SCRIPT],frak:["SetFont",l.TexConstant.Variant.FRAKTUR],sf:["SetFont",l.TexConstant.Variant.SANSSERIF],tt:["SetFont",l.TexConstant.Variant.MONOSPACE],mathrm:["MathFont",l.TexConstant.Variant.NORMAL],mathup:["MathFont",l.TexConstant.Variant.NORMAL],mathnormal:["MathFont",""],mathbf:["MathFont",l.TexConstant.Variant.BOLD],mathbfup:["MathFont",l.TexConstant.Variant.BOLD],mathit:["MathFont",l.TexConstant.Variant.MATHITALIC],mathbfit:["MathFont",l.TexConstant.Variant.BOLDITALIC],mathbb:["MathFont",l.TexConstant.Variant.DOUBLESTRUCK],Bbb:["MathFont",l.TexConstant.Variant.DOUBLESTRUCK],mathfrak:["MathFont",l.TexConstant.Variant.FRAKTUR],mathbffrak:["MathFont",l.TexConstant.Variant.BOLDFRAKTUR],mathscr:["MathFont",l.TexConstant.Variant.SCRIPT],mathbfscr:["MathFont",l.TexConstant.Variant.BOLDSCRIPT],mathsf:["MathFont",l.TexConstant.Variant.SANSSERIF],mathsfup:["MathFont",l.TexConstant.Variant.SANSSERIF],mathbfsf:["MathFont",l.TexConstant.Variant.BOLDSANSSERIF],mathbfsfup:["MathFont",l.TexConstant.Variant.BOLDSANSSERIF],mathsfit:["MathFont",l.TexConstant.Variant.SANSSERIFITALIC],mathbfsfit:["MathFont",l.TexConstant.Variant.SANSSERIFBOLDITALIC],mathtt:["MathFont",l.TexConstant.Variant.MONOSPACE],mathcal:["MathFont",l.TexConstant.Variant.CALLIGRAPHIC],mathbfcal:["MathFont",l.TexConstant.Variant.BOLDCALLIGRAPHIC],symrm:["MathFont",l.TexConstant.Variant.NORMAL],symup:["MathFont",l.TexConstant.Variant.NORMAL],symnormal:["MathFont",""],symbf:["MathFont",l.TexConstant.Variant.BOLD],symbfup:["MathFont",l.TexConstant.Variant.BOLD],symit:["MathFont",l.TexConstant.Variant.ITALIC],symbfit:["MathFont",l.TexConstant.Variant.BOLDITALIC],symbb:["MathFont",l.TexConstant.Variant.DOUBLESTRUCK],symfrak:["MathFont",l.TexConstant.Variant.FRAKTUR],symbffrak:["MathFont",l.TexConstant.Variant.BOLDFRAKTUR],symscr:["MathFont",l.TexConstant.Variant.SCRIPT],symbfscr:["MathFont",l.TexConstant.Variant.BOLDSCRIPT],symsf:["MathFont",l.TexConstant.Variant.SANSSERIF],symsfup:["MathFont",l.TexConstant.Variant.SANSSERIF],symbfsf:["MathFont",l.TexConstant.Variant.BOLDSANSSERIF],symbfsfup:["MathFont",l.TexConstant.Variant.BOLDSANSSERIF],symsfit:["MathFont",l.TexConstant.Variant.SANSSERIFITALIC],symbfsfit:["MathFont",l.TexConstant.Variant.SANSSERIFBOLDITALIC],symtt:["MathFont",l.TexConstant.Variant.MONOSPACE],symcal:["MathFont",l.TexConstant.Variant.CALLIGRAPHIC],symbfcal:["MathFont",l.TexConstant.Variant.BOLDCALLIGRAPHIC],textrm:["HBox",null,l.TexConstant.Variant.NORMAL],textup:["HBox",null,l.TexConstant.Variant.NORMAL],textnormal:["HBox"],textit:["HBox",null,l.TexConstant.Variant.ITALIC],textbf:["HBox",null,l.TexConstant.Variant.BOLD],textsf:["HBox",null,l.TexConstant.Variant.SANSSERIF],texttt:["HBox",null,l.TexConstant.Variant.MONOSPACE],tiny:["SetSize",.5],Tiny:["SetSize",.6],scriptsize:["SetSize",.7],small:["SetSize",.85],normalsize:["SetSize",1],large:["SetSize",1.2],Large:["SetSize",1.44],LARGE:["SetSize",1.73],huge:["SetSize",2.07],Huge:["SetSize",2.49],arcsin:"NamedFn",arccos:"NamedFn",arctan:"NamedFn",arg:"NamedFn",cos:"NamedFn",cosh:"NamedFn",cot:"NamedFn",coth:"NamedFn",csc:"NamedFn",deg:"NamedFn",det:"NamedOp",dim:"NamedFn",exp:"NamedFn",gcd:"NamedOp",hom:"NamedFn",inf:"NamedOp",ker:"NamedFn",lg:"NamedFn",lim:"NamedOp",liminf:["NamedOp","lim inf"],limsup:["NamedOp","lim sup"],ln:"NamedFn",log:"NamedFn",max:"NamedOp",min:"NamedOp",Pr:"NamedOp",sec:"NamedFn",sin:"NamedFn",sinh:"NamedFn",sup:"NamedOp",tan:"NamedFn",tanh:"NamedFn",limits:["Limits",1],nolimits:["Limits",0],overline:["UnderOver","2015"],underline:["UnderOver","2015"],overbrace:["UnderOver","23DE",1],underbrace:["UnderOver","23DF",1],overparen:["UnderOver","23DC"],underparen:["UnderOver","23DD"],overrightarrow:["UnderOver","2192"],underrightarrow:["UnderOver","2192"],overleftarrow:["UnderOver","2190"],underleftarrow:["UnderOver","2190"],overleftrightarrow:["UnderOver","2194"],underleftrightarrow:["UnderOver","2194"],overset:"Overset",underset:"Underset",overunderset:"Overunderset",stackrel:["Macro","\\mathrel{\\mathop{#2}\\limits^{#1}}",2],stackbin:["Macro","\\mathbin{\\mathop{#2}\\limits^{#1}}",2],over:"Over",overwithdelims:"Over",atop:"Over",atopwithdelims:"Over",above:"Over",abovewithdelims:"Over",brace:["Over","{","}"],brack:["Over","[","]"],choose:["Over","(",")"],frac:"Frac",sqrt:"Sqrt",root:"Root",uproot:["MoveRoot","upRoot"],leftroot:["MoveRoot","leftRoot"],left:"LeftRight",right:"LeftRight",middle:"LeftRight",llap:"Lap",rlap:"Lap",raise:"RaiseLower",lower:"RaiseLower",moveleft:"MoveLeftRight",moveright:"MoveLeftRight",",":["Spacer",f.MATHSPACE.thinmathspace],":":["Spacer",f.MATHSPACE.mediummathspace],">":["Spacer",f.MATHSPACE.mediummathspace],";":["Spacer",f.MATHSPACE.thickmathspace],"!":["Spacer",f.MATHSPACE.negativethinmathspace],enspace:["Spacer",.5],quad:["Spacer",1],qquad:["Spacer",2],thinspace:["Spacer",f.MATHSPACE.thinmathspace],negthinspace:["Spacer",f.MATHSPACE.negativethinmathspace],hskip:"Hskip",hspace:"Hskip",kern:"Hskip",mskip:"Hskip",mspace:"Hskip",mkern:"Hskip",rule:"rule",Rule:["Rule"],Space:["Rule","blank"],nonscript:"Nonscript",big:["MakeBig",h.TEXCLASS.ORD,.85],Big:["MakeBig",h.TEXCLASS.ORD,1.15],bigg:["MakeBig",h.TEXCLASS.ORD,1.45],Bigg:["MakeBig",h.TEXCLASS.ORD,1.75],bigl:["MakeBig",h.TEXCLASS.OPEN,.85],Bigl:["MakeBig",h.TEXCLASS.OPEN,1.15],biggl:["MakeBig",h.TEXCLASS.OPEN,1.45],Biggl:["MakeBig",h.TEXCLASS.OPEN,1.75],bigr:["MakeBig",h.TEXCLASS.CLOSE,.85],Bigr:["MakeBig",h.TEXCLASS.CLOSE,1.15],biggr:["MakeBig",h.TEXCLASS.CLOSE,1.45],Biggr:["MakeBig",h.TEXCLASS.CLOSE,1.75],bigm:["MakeBig",h.TEXCLASS.REL,.85],Bigm:["MakeBig",h.TEXCLASS.REL,1.15],biggm:["MakeBig",h.TEXCLASS.REL,1.45],Biggm:["MakeBig",h.TEXCLASS.REL,1.75],mathord:["TeXAtom",h.TEXCLASS.ORD],mathop:["TeXAtom",h.TEXCLASS.OP],mathopen:["TeXAtom",h.TEXCLASS.OPEN],mathclose:["TeXAtom",h.TEXCLASS.CLOSE],mathbin:["TeXAtom",h.TEXCLASS.BIN],mathrel:["TeXAtom",h.TEXCLASS.REL],mathpunct:["TeXAtom",h.TEXCLASS.PUNCT],mathinner:["TeXAtom",h.TEXCLASS.INNER],vcenter:["TeXAtom",h.TEXCLASS.VCENTER],buildrel:"BuildRel",hbox:["HBox",0],text:"HBox",mbox:["HBox",0],fbox:"FBox",boxed:["Macro","\\fbox{$\\displaystyle{#1}$}",1],framebox:"FrameBox",strut:"Strut",mathstrut:["Macro","\\vphantom{(}"],phantom:"Phantom",vphantom:["Phantom",1,0],hphantom:["Phantom",0,1],smash:"Smash",acute:["Accent","00B4"],grave:["Accent","0060"],ddot:["Accent","00A8"],tilde:["Accent","007E"],bar:["Accent","00AF"],breve:["Accent","02D8"],check:["Accent","02C7"],hat:["Accent","005E"],vec:["Accent","2192"],dot:["Accent","02D9"],widetilde:["Accent","007E",1],widehat:["Accent","005E",1],matrix:"Matrix",array:"Matrix",pmatrix:["Matrix","(",")"],cases:["Matrix","{","","left left",null,".1em",null,!0],eqalign:["Matrix",null,null,"right left",(0,f.em)(f.MATHSPACE.thickmathspace),".5em","D"],displaylines:["Matrix",null,null,"center",null,".5em","D"],cr:"Cr","\\":"CrLaTeX",newline:["CrLaTeX",!0],hline:["HLine","solid"],hdashline:["HLine","dashed"],eqalignno:["Matrix",null,null,"right left",(0,f.em)(f.MATHSPACE.thickmathspace),".5em","D",null,"right"],leqalignno:["Matrix",null,null,"right left",(0,f.em)(f.MATHSPACE.thickmathspace),".5em","D",null,"left"],hfill:"HFill",hfil:"HFill",hfilll:"HFill",bmod:["Macro",'\\mmlToken{mo}[lspace="thickmathspace" rspace="thickmathspace"]{mod}'],pmod:["Macro","\\pod{\\mmlToken{mi}{mod}\\kern 6mu #1}",1],mod:["Macro","\\mathchoice{\\kern18mu}{\\kern12mu}{\\kern12mu}{\\kern12mu}\\mmlToken{mi}{mod}\\,\\,#1",1],pod:["Macro","\\mathchoice{\\kern18mu}{\\kern8mu}{\\kern8mu}{\\kern8mu}(#1)",1],iff:["Macro","\\;\\Longleftrightarrow\\;"],skew:["Macro","{{#2{#3\\mkern#1mu}\\mkern-#1mu}{}}",3],pmb:["Macro","\\rlap{#1}\\kern1px{#1}",1],TeX:["Macro","T\\kern-.14em\\lower.5ex{E}\\kern-.115em X"],LaTeX:["Macro","L\\kern-.325em\\raise.21em{\\scriptstyle{A}}\\kern-.17em\\TeX"]," ":["Macro","\\text{ }"],not:"Not",dots:"Dots",space:"Tilde","\xa0":"Tilde",begin:"BeginEnd",end:"BeginEnd",label:"HandleLabel",ref:"HandleRef",nonumber:"HandleNoTag",mathchoice:"MathChoice",mmlToken:"MmlToken"},c.default),new a.EnvironmentMap("environment",u.default.environment,{array:["AlignedArray"],equation:["Equation",null,!0],eqnarray:["EqnArray",null,!0,!0,"rcl",p.default.cols(0,f.MATHSPACE.thickmathspace),".5em"]},c.default),new a.CharacterMap("not_remap",null,{"\u2190":"\u219a","\u2192":"\u219b","\u2194":"\u21ae","\u21d0":"\u21cd","\u21d2":"\u21cf","\u21d4":"\u21ce","\u2208":"\u2209","\u220b":"\u220c","\u2223":"\u2224","\u2225":"\u2226","\u223c":"\u2241","~":"\u2241","\u2243":"\u2244","\u2245":"\u2247","\u2248":"\u2249","\u224d":"\u226d","=":"\u2260","\u2261":"\u2262","<":"\u226e",">":"\u226f","\u2264":"\u2270","\u2265":"\u2271","\u2272":"\u2274","\u2273":"\u2275","\u2276":"\u2278","\u2277":"\u2279","\u227a":"\u2280","\u227b":"\u2281","\u2282":"\u2284","\u2283":"\u2285","\u2286":"\u2288","\u2287":"\u2289","\u22a2":"\u22ac","\u22a8":"\u22ad","\u22a9":"\u22ae","\u22ab":"\u22af","\u227c":"\u22e0","\u227d":"\u22e1","\u2291":"\u22e2","\u2292":"\u22e3","\u22b2":"\u22ea","\u22b3":"\u22eb","\u22b4":"\u22ec","\u22b5":"\u22ed","\u2203":"\u2204"})},7693:function(t,e,r){var n=this&&this.__assign||function(){return n=Object.assign||function(t){for(var e,r=1,n=arguments.length;r0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},l=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var c=s(r(1181)),u=l(r(1256)),p=l(r(3971)),h=l(r(8417)),f=r(8317),d=l(r(1130)),m=r(9007),y=r(6521),g=r(6010),b=r(5368),v=r(7233),_={},S={fontfamily:1,fontsize:1,fontweight:1,fontstyle:1,color:1,background:1,id:1,class:1,href:1,style:1};function M(t,e){var r=t.stack.env,n=r.inRoot;r.inRoot=!0;var o=new h.default(e,r,t.configuration),i=o.mml(),s=o.stack.global;if(s.leftRoot||s.upRoot){var a={};s.leftRoot&&(a.width=s.leftRoot),s.upRoot&&(a.voffset=s.upRoot,a.height=s.upRoot),i=t.create("node","mpadded",[i],a)}return r.inRoot=n,i}_.Open=function(t,e){t.Push(t.itemFactory.create("open"))},_.Close=function(t,e){t.Push(t.itemFactory.create("close"))},_.Tilde=function(t,e){t.Push(t.create("token","mtext",{},b.entities.nbsp))},_.Space=function(t,e){},_.Superscript=function(t,e){var r,n,o;t.GetNext().match(/\d/)&&(t.string=t.string.substr(0,t.i+1)+" "+t.string.substr(t.i+1));var i=t.stack.Top();i.isKind("prime")?(o=(r=a(i.Peek(2),2))[0],n=r[1],t.stack.Pop()):(o=t.stack.Prev())||(o=t.create("token","mi",{},""));var s=u.default.getProperty(o,"movesupsub"),l=u.default.isType(o,"msubsup")?o.sup:o.over;if(u.default.isType(o,"msubsup")&&!u.default.isType(o,"msup")&&u.default.getChildAt(o,o.sup)||u.default.isType(o,"munderover")&&!u.default.isType(o,"mover")&&u.default.getChildAt(o,o.over)&&!u.default.getProperty(o,"subsupOK"))throw new p.default("DoubleExponent","Double exponent: use braces to clarify");u.default.isType(o,"msubsup")&&!u.default.isType(o,"msup")||(s?((!u.default.isType(o,"munderover")||u.default.isType(o,"mover")||u.default.getChildAt(o,o.over))&&(o=t.create("node","munderover",[o],{movesupsub:!0})),l=o.over):l=(o=t.create("node","msubsup",[o])).sup),t.Push(t.itemFactory.create("subsup",o).setProperties({position:l,primes:n,movesupsub:s}))},_.Subscript=function(t,e){var r,n,o;t.GetNext().match(/\d/)&&(t.string=t.string.substr(0,t.i+1)+" "+t.string.substr(t.i+1));var i=t.stack.Top();i.isKind("prime")?(o=(r=a(i.Peek(2),2))[0],n=r[1],t.stack.Pop()):(o=t.stack.Prev())||(o=t.create("token","mi",{},""));var s=u.default.getProperty(o,"movesupsub"),l=u.default.isType(o,"msubsup")?o.sub:o.under;if(u.default.isType(o,"msubsup")&&!u.default.isType(o,"msup")&&u.default.getChildAt(o,o.sub)||u.default.isType(o,"munderover")&&!u.default.isType(o,"mover")&&u.default.getChildAt(o,o.under)&&!u.default.getProperty(o,"subsupOK"))throw new p.default("DoubleSubscripts","Double subscripts: use braces to clarify");u.default.isType(o,"msubsup")&&!u.default.isType(o,"msup")||(s?((!u.default.isType(o,"munderover")||u.default.isType(o,"mover")||u.default.getChildAt(o,o.under))&&(o=t.create("node","munderover",[o],{movesupsub:!0})),l=o.under):l=(o=t.create("node","msubsup",[o])).sub),t.Push(t.itemFactory.create("subsup",o).setProperties({position:l,primes:n,movesupsub:s}))},_.Prime=function(t,e){var r=t.stack.Prev();if(r||(r=t.create("node","mi")),u.default.isType(r,"msubsup")&&!u.default.isType(r,"msup")&&u.default.getChildAt(r,r.sup))throw new p.default("DoubleExponentPrime","Prime causes double exponent: use braces to clarify");var n="";t.i--;do{n+=b.entities.prime,t.i++,e=t.GetNext()}while("'"===e||e===b.entities.rsquo);n=["","\u2032","\u2033","\u2034","\u2057"][n.length]||n;var o=t.create("token","mo",{variantForm:!0},n);t.Push(t.itemFactory.create("prime",r,o))},_.Comment=function(t,e){for(;t.i=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.ConfigMacrosConfiguration=void 0;var s=r(9899),a=r(7233),l=r(9140),c=i(r(5450)),u=r(8803),p=i(r(1110)),h=r(6793),f="configmacros-map",d="configmacros-env-map";e.ConfigMacrosConfiguration=s.Configuration.create("configmacros",{init:function(t){new l.CommandMap(f,{},{}),new l.EnvironmentMap(d,c.default.environment,{},{}),t.append(s.Configuration.local({handler:{macro:[f],environment:[d]},priority:3}))},config:function(t,e){!function(t){var e,r,n=t.parseOptions.handlers.retrieve(f),i=t.parseOptions.options.macros;try{for(var s=o(Object.keys(i)),a=s.next();!a.done;a=s.next()){var l=a.value,c="string"==typeof i[l]?[i[l]]:i[l],h=Array.isArray(c[2])?new u.Macro(l,p.default.MacroWithTemplate,c.slice(0,2).concat(c[2])):new u.Macro(l,p.default.Macro,c);n.add(l,h)}}catch(t){e={error:t}}finally{try{a&&!a.done&&(r=s.return)&&r.call(s)}finally{if(e)throw e.error}}}(e),function(t){var e,r,n=t.parseOptions.handlers.retrieve(d),i=t.parseOptions.options.environments;try{for(var s=o(Object.keys(i)),a=s.next();!a.done;a=s.next()){var l=a.value;n.add(l,new u.Macro(l,p.default.BeginEnv,[!0].concat(i[l])))}}catch(t){e={error:t}}finally{try{a&&!a.done&&(r=s.return)&&r.call(s)}finally{if(e)throw e.error}}}(e)},items:(n={},n[h.BeginEnvItem.prototype.kind]=h.BeginEnvItem,n),options:{macros:(0,a.expandable)({}),environments:(0,a.expandable)({})}})},1496:function(t,e,r){var n,o=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),i=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),s=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&o(e,t,r);return i(e,t),e},a=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.NewcommandConfiguration=void 0;var l=r(9899),c=r(6793),u=a(r(5579));r(5117);var p=a(r(5450)),h=s(r(9140));e.NewcommandConfiguration=l.Configuration.create("newcommand",{handler:{macro:["Newcommand-macros"]},items:(n={},n[c.BeginEnvItem.prototype.kind]=c.BeginEnvItem,n),options:{maxMacros:1e3},init:function(t){new h.DelimiterMap(u.default.NEW_DELIMITER,p.default.delimiter,{}),new h.CommandMap(u.default.NEW_COMMAND,{},{}),new h.EnvironmentMap(u.default.NEW_ENVIRONMENT,p.default.environment,{},{}),t.append(l.Configuration.local({handler:{character:[],delimiter:[u.default.NEW_DELIMITER],macro:[u.default.NEW_DELIMITER,u.default.NEW_COMMAND],environment:[u.default.NEW_ENVIRONMENT]},priority:-1}))}})},6793:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.BeginEnvItem=void 0;var s=i(r(3971)),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),Object.defineProperty(e.prototype,"kind",{get:function(){return"beginEnv"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isOpen",{get:function(){return!0},enumerable:!1,configurable:!0}),e.prototype.checkItem=function(e){if(e.isKind("end")){if(e.getName()!==this.getName())throw new s.default("EnvBadEnd","\\begin{%1} ended with \\end{%2}",this.getName(),e.getName());return[[this.factory.create("mml",this.toMml())],!0]}if(e.isKind("stop"))throw new s.default("EnvMissingEnd","Missing \\end{%1}",this.getName());return t.prototype.checkItem.call(this,e)},e}(r(8292).BaseItem);e.BeginEnvItem=a},5117:function(t,e,r){var n=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var o=n(r(1110));new(r(9140).CommandMap)("Newcommand-macros",{newcommand:"NewCommand",renewcommand:"NewCommand",newenvironment:"NewEnvironment",renewenvironment:"NewEnvironment",def:"MacroDef",let:"Let"},o.default)},1110:function(t,e,r){var n=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),i=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&n(e,t,r);return o(e,t),e},s=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var a=s(r(3971)),l=i(r(9140)),c=s(r(7693)),u=s(r(1130)),p=s(r(5579)),h={NewCommand:function(t,e){var r=p.default.GetCsNameArgument(t,e),n=p.default.GetArgCount(t,e),o=t.GetBrackets(e),i=t.GetArgument(e);p.default.addMacro(t,r,h.Macro,[i,n,o])},NewEnvironment:function(t,e){var r=u.default.trimSpaces(t.GetArgument(e)),n=p.default.GetArgCount(t,e),o=t.GetBrackets(e),i=t.GetArgument(e),s=t.GetArgument(e);p.default.addEnvironment(t,r,h.BeginEnv,[!0,i,s,n,o])},MacroDef:function(t,e){var r=p.default.GetCSname(t,e),n=p.default.GetTemplate(t,e,"\\"+r),o=t.GetArgument(e);n instanceof Array?p.default.addMacro(t,r,h.MacroWithTemplate,[o].concat(n)):p.default.addMacro(t,r,h.Macro,[o,n])},Let:function(t,e){var r=p.default.GetCSname(t,e),n=t.GetNext();"="===n&&(t.i++,n=t.GetNext());var o=t.configuration.handlers;if("\\"!==n){t.i++;var i=o.get("delimiter").lookup(n);i?p.default.addDelimiter(t,"\\"+r,i.char,i.attributes):p.default.addMacro(t,r,h.Macro,[n])}else{e=p.default.GetCSname(t,e);var s=o.get("delimiter").lookup("\\"+e);if(s)return void p.default.addDelimiter(t,"\\"+r,s.char,s.attributes);var a=o.get("macro").applicable(e);if(!a)return;if(a instanceof l.MacroMap){var c=a.lookup(e);return void p.default.addMacro(t,r,c.func,c.args,c.symbol)}s=a.lookup(e);var u=p.default.disassembleSymbol(r,s);p.default.addMacro(t,r,(function(t,e){for(var r=[],n=2;n0?[i.toString()].concat(o):i;t.i++}throw new s.default("MissingReplacementString","Missing replacement string for definition of %1",e)},t.GetParameter=function(t,r,n){if(null==n)return t.GetArgument(r);for(var o=t.i,i=0,a=0;t.i=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.NoUndefinedConfiguration=void 0;var o=r(9899);e.NoUndefinedConfiguration=o.Configuration.create("noundefined",{fallback:{macro:function(t,e){var r,o,i=t.create("text","\\"+e),s=t.options.noundefined||{},a={};try{for(var l=n(["color","background","size"]),c=l.next();!c.done;c=l.next()){var u=c.value;s[u]&&(a["math"+u]=s[u])}}catch(t){r={error:t}}finally{try{c&&!c.done&&(o=l.return)&&o.call(l)}finally{if(r)throw r.error}}t.Push(t.create("node","mtext",[],a,i))}},options:{noundefined:{color:"red",background:"",size:""}},priority:3})},7741:function(t,e,r){var n=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},o=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},i=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CHTML=void 0;var u=r(3055),p=r(4139),h=r(9261),f=r(6797),d=r(2760),m=l(r(6010)),y=r(505),g=function(t){function e(e){void 0===e&&(e=null);var r=t.call(this,e,h.CHTMLWrapperFactory,d.TeXFont)||this;return r.chtmlStyles=null,r.font.adaptiveCSS(r.options.adaptiveCSS),r.wrapperUsage=new f.Usage,r}return o(e,t),e.prototype.escaped=function(t,e){return this.setDocument(e),this.html("span",{},[this.text(t.math)])},e.prototype.styleSheet=function(r){if(this.chtmlStyles){if(this.options.adaptiveCSS){var n=new p.CssStyles;this.addWrapperStyles(n),this.updateFontStyles(n),this.adaptor.insertRules(this.chtmlStyles,n.getStyleRules())}return this.chtmlStyles}var o=this.chtmlStyles=t.prototype.styleSheet.call(this,r);return this.adaptor.setAttribute(o,"id",e.STYLESHEETID),this.wrapperUsage.update(),o},e.prototype.updateFontStyles=function(t){t.addStyles(this.font.updateStyles({}))},e.prototype.addWrapperStyles=function(e){var r,n;if(this.options.adaptiveCSS)try{for(var o=c(this.wrapperUsage.update()),i=o.next();!i.done;i=o.next()){var s=i.value,a=this.factory.getNodeClass(s);a&&this.addClassStyles(a,e)}}catch(t){r={error:t}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}else t.prototype.addWrapperStyles.call(this,e)},e.prototype.addClassStyles=function(e,r){var n,o=e;o.autoStyle&&"unknown"!==o.kind&&r.addStyles(((n={})["mjx-"+o.kind]={display:"inline-block","text-align":"left"},n)),this.wrapperUsage.add(o.kind),t.prototype.addClassStyles.call(this,e,r)},e.prototype.processMath=function(t,e){this.factory.wrap(t).toCHTML(e)},e.prototype.clearCache=function(){this.cssStyles.clear(),this.font.clearCache(),this.wrapperUsage.clear(),this.chtmlStyles=null},e.prototype.reset=function(){this.clearCache()},e.prototype.unknownText=function(t,e,r){void 0===r&&(r=null);var n={},o=100/this.math.metrics.scale;if(100!==o&&(n["font-size"]=this.fixed(o,1)+"%",n.padding=m.em(75/o)+" 0 "+m.em(20/o)+" 0"),"-explicitFont"!==e){var i=(0,y.unicodeChars)(t);(1!==i.length||i[0]<119808||i[0]>120831)&&this.cssFontStyles(this.font.getCssFont(e),n)}if(null!==r){var s=this.math.metrics;n.width=Math.round(r*s.em*s.scale)+"px"}return this.html("mjx-utext",{variant:e,style:n},[this.text(t)])},e.prototype.measureTextNode=function(t){var e=this.adaptor,r=e.clone(t);e.setStyle(r,"font-family",e.getStyle(r,"font-family").replace(/MJXZERO, /g,""));var n=this.html("mjx-measure-text",{style:{position:"absolute","white-space":"nowrap"}},[r]);e.append(e.parent(this.math.start.node),this.container),e.append(this.container,n);var o=e.nodeSize(r,this.math.metrics.em)[0]/this.math.metrics.scale;return e.remove(this.container),e.remove(n),{w:o,h:.75,d:.2}},e.NAME="CHTML",e.OPTIONS=i(i({},u.CommonOutputJax.OPTIONS),{adaptiveCSS:!0,matchFontHeight:!0}),e.commonStyles={'mjx-container[jax="CHTML"]':{"line-height":0},'mjx-container [space="1"]':{"margin-left":".111em"},'mjx-container [space="2"]':{"margin-left":".167em"},'mjx-container [space="3"]':{"margin-left":".222em"},'mjx-container [space="4"]':{"margin-left":".278em"},'mjx-container [space="5"]':{"margin-left":".333em"},'mjx-container [rspace="1"]':{"margin-right":".111em"},'mjx-container [rspace="2"]':{"margin-right":".167em"},'mjx-container [rspace="3"]':{"margin-right":".222em"},'mjx-container [rspace="4"]':{"margin-right":".278em"},'mjx-container [rspace="5"]':{"margin-right":".333em"},'mjx-container [size="s"]':{"font-size":"70.7%"},'mjx-container [size="ss"]':{"font-size":"50%"},'mjx-container [size="Tn"]':{"font-size":"60%"},'mjx-container [size="sm"]':{"font-size":"85%"},'mjx-container [size="lg"]':{"font-size":"120%"},'mjx-container [size="Lg"]':{"font-size":"144%"},'mjx-container [size="LG"]':{"font-size":"173%"},'mjx-container [size="hg"]':{"font-size":"207%"},'mjx-container [size="HG"]':{"font-size":"249%"},'mjx-container [width="full"]':{width:"100%"},"mjx-box":{display:"inline-block"},"mjx-block":{display:"block"},"mjx-itable":{display:"inline-table"},"mjx-row":{display:"table-row"},"mjx-row > *":{display:"table-cell"},"mjx-mtext":{display:"inline-block"},"mjx-mstyle":{display:"inline-block"},"mjx-merror":{display:"inline-block",color:"red","background-color":"yellow"},"mjx-mphantom":{visibility:"hidden"},"_::-webkit-full-page-media, _:future, :root mjx-container":{"will-change":"opacity"}},e.STYLESHEETID="MJX-CHTML-styles",e}(u.CommonOutputJax);e.CHTML=g},8042:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__assign||function(){return i=Object.assign||function(t){for(var e,r=1,n=arguments.length;r=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},c=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s};Object.defineProperty(e,"__esModule",{value:!0}),e.AddCSS=e.CHTMLFontData=void 0;var u=r(5884),p=r(6797),h=r(6010);a(r(5884),e);var f=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.charUsage=new p.Usage,e.delimUsage=new p.Usage,e}return o(e,t),e.charOptions=function(e,r){return t.charOptions.call(this,e,r)},e.prototype.adaptiveCSS=function(t){this.options.adaptiveCSS=t},e.prototype.clearCache=function(){this.options.adaptiveCSS&&(this.charUsage.clear(),this.delimUsage.clear())},e.prototype.createVariant=function(e,r,n){void 0===r&&(r=null),void 0===n&&(n=null),t.prototype.createVariant.call(this,e,r,n);var o=this.constructor;this.variant[e].classes=o.defaultVariantClasses[e],this.variant[e].letter=o.defaultVariantLetters[e]},e.prototype.defineChars=function(r,n){var o,i;t.prototype.defineChars.call(this,r,n);var s=this.variant[r].letter;try{for(var a=l(Object.keys(n)),c=a.next();!c.done;c=a.next()){var u=c.value,p=e.charOptions(n,parseInt(u));void 0===p.f&&(p.f=s)}}catch(t){o={error:t}}finally{try{c&&!c.done&&(i=a.return)&&i.call(a)}finally{if(o)throw o.error}}},Object.defineProperty(e.prototype,"styles",{get:function(){var t=this.constructor,e=i({},t.defaultStyles);return this.addFontURLs(e,t.defaultFonts,this.options.fontURL),this.options.adaptiveCSS?this.updateStyles(e):this.allStyles(e),e},enumerable:!1,configurable:!0}),e.prototype.updateStyles=function(t){var e,r,n,o;try{for(var i=l(this.delimUsage.update()),s=i.next();!s.done;s=i.next()){var a=s.value;this.addDelimiterStyles(t,a,this.delimiters[a])}}catch(t){e={error:t}}finally{try{s&&!s.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}try{for(var u=l(this.charUsage.update()),p=u.next();!p.done;p=u.next()){var h=c(p.value,2),f=h[0],d=(a=h[1],this.variant[f]);this.addCharStyles(t,d.letter,a,d.chars[a])}}catch(t){n={error:t}}finally{try{p&&!p.done&&(o=u.return)&&o.call(u)}finally{if(n)throw n.error}}return t},e.prototype.allStyles=function(t){var e,r,n,o,i,s;try{for(var a=l(Object.keys(this.delimiters)),c=a.next();!c.done;c=a.next()){var u=c.value,p=parseInt(u);this.addDelimiterStyles(t,p,this.delimiters[p])}}catch(t){e={error:t}}finally{try{c&&!c.done&&(r=a.return)&&r.call(a)}finally{if(e)throw e.error}}try{for(var h=l(Object.keys(this.variant)),f=h.next();!f.done;f=h.next()){var d=f.value,m=this.variant[d],y=m.letter;try{for(var g=(i=void 0,l(Object.keys(m.chars))),b=g.next();!b.done;b=g.next()){u=b.value,p=parseInt(u);var v=m.chars[p];(v[3]||{}).smp||(v.length<4&&(v[3]={}),this.addCharStyles(t,y,p,v))}}catch(t){i={error:t}}finally{try{b&&!b.done&&(s=g.return)&&s.call(g)}finally{if(i)throw i.error}}}}catch(t){n={error:t}}finally{try{f&&!f.done&&(o=h.return)&&o.call(h)}finally{if(n)throw n.error}}},e.prototype.addFontURLs=function(t,e,r){var n,o;try{for(var s=l(Object.keys(e)),a=s.next();!a.done;a=s.next()){var c=a.value,u=i({},e[c]);u.src=u.src.replace(/%%URL%%/,r),t[c]=u}}catch(t){n={error:t}}finally{try{a&&!a.done&&(o=s.return)&&o.call(s)}finally{if(n)throw n.error}}},e.prototype.addDelimiterStyles=function(t,e,r){var n=this.charSelector(e);r.c&&r.c!==e&&(t[".mjx-stretched mjx-c"+(n=this.charSelector(r.c))+"::before"]={content:this.charContent(r.c)}),r.stretch&&(1===r.dir?this.addDelimiterVStyles(t,n,r):this.addDelimiterHStyles(t,n,r))},e.prototype.addDelimiterVStyles=function(t,e,r){var n=r.HDW,o=c(r.stretch,4),i=o[0],s=o[1],a=o[2],l=o[3],u=this.addDelimiterVPart(t,e,"beg",i,n);this.addDelimiterVPart(t,e,"ext",s,n);var p=this.addDelimiterVPart(t,e,"end",a,n),h={};if(l){var f=this.addDelimiterVPart(t,e,"mid",l,n);h.height="50%",t["mjx-stretchy-v"+e+" > mjx-mid"]={"margin-top":this.em(-f/2),"margin-bottom":this.em(-f/2)}}u&&(h["border-top-width"]=this.em0(u-.03)),p&&(h["border-bottom-width"]=this.em0(p-.03),t["mjx-stretchy-v"+e+" > mjx-end"]={"margin-top":this.em(-p)}),Object.keys(h).length&&(t["mjx-stretchy-v"+e+" > mjx-ext"]=h)},e.prototype.addDelimiterVPart=function(t,e,r,n,o){if(!n)return 0;var i=this.getDelimiterData(n),s=(o[2]-i[2])/2,a={content:this.charContent(n)};return"ext"!==r?a.padding=this.padding(i,s):(a.width=this.em0(o[2]),s&&(a["padding-left"]=this.em0(s))),t["mjx-stretchy-v"+e+" mjx-"+r+" mjx-c::before"]=a,i[0]+i[1]},e.prototype.addDelimiterHStyles=function(t,e,r){var n=c(r.stretch,4),o=n[0],i=n[1],s=n[2],a=n[3],l=r.HDW;this.addDelimiterHPart(t,e,"beg",o,l),this.addDelimiterHPart(t,e,"ext",i,l),this.addDelimiterHPart(t,e,"end",s,l),a&&(this.addDelimiterHPart(t,e,"mid",a,l),t["mjx-stretchy-h"+e+" > mjx-ext"]={width:"50%"})},e.prototype.addDelimiterHPart=function(t,e,r,n,o){if(n){var i=this.getDelimiterData(n)[3],s={content:i&&i.c?'"'+i.c+'"':this.charContent(n)};s.padding=this.padding(o,0,-o[2]),t["mjx-stretchy-h"+e+" mjx-"+r+" mjx-c::before"]=s}},e.prototype.addCharStyles=function(t,e,r,n){var o=n[3],i=void 0!==o.f?o.f:e;t["mjx-c"+this.charSelector(r)+(i?".TEX-"+i:"")+"::before"]={padding:this.padding(n,0,o.ic||0),content:null!=o.c?'"'+o.c+'"':this.charContent(r)}},e.prototype.getDelimiterData=function(t){return this.getChar("-smallop",t)},e.prototype.em=function(t){return(0,h.em)(t)},e.prototype.em0=function(t){return(0,h.em)(Math.max(0,t))},e.prototype.padding=function(t,e,r){var n=c(t,3),o=n[0],i=n[1];return void 0===e&&(e=0),void 0===r&&(r=0),[o,n[2]+r,i,e].map(this.em0).join(" ")},e.prototype.charContent=function(t){return'"'+(t>=32&&t<=126&&34!==t&&39!==t&&92!==t?String.fromCharCode(t):"\\"+t.toString(16).toUpperCase())+'"'},e.prototype.charSelector=function(t){return".mjx-c"+t.toString(16).toUpperCase()},e.OPTIONS=i(i({},u.FontData.OPTIONS),{fontURL:"js/output/chtml/fonts/tex-woff-v2"}),e.JAX="CHTML",e.defaultVariantClasses={},e.defaultVariantLetters={},e.defaultStyles={"mjx-c::before":{display:"block",width:0}},e.defaultFonts={"@font-face /* 0 */":{"font-family":"MJXZERO",src:'url("%%URL%%/MathJax_Zero.woff") format("woff")'}},e}(u.FontData);e.CHTMLFontData=f,e.AddCSS=function(t,e){var r,n;try{for(var o=l(Object.keys(e)),i=o.next();!i.done;i=o.next()){var s=i.value,a=parseInt(s);Object.assign(u.FontData.charOptions(t,a),e[a])}}catch(t){r={error:t}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}return t}},8270:function(t,e,r){var n=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),i=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&n(e,t,r);return o(e,t),e},s=this&&this.__exportStar||function(t,e){for(var r in t)"default"===r||Object.prototype.hasOwnProperty.call(e,r)||n(e,t,r)},a=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s};Object.defineProperty(e,"__esModule",{value:!0}),e.Arrow=e.DiagonalArrow=e.DiagonalStrike=e.Border2=e.Border=e.RenderElement=void 0;var l=i(r(5552));s(r(5552),e);e.RenderElement=function(t,e){return void 0===e&&(e=""),function(r,n){var o=r.adjustBorder(r.html("mjx-"+t));if(e){var i=r.getOffset(e);if(r.thickness!==l.THICKNESS||i){var s="translate".concat(e,"(").concat(r.em(r.thickness/2-i),")");r.adaptor.setStyle(o,"transform",s)}}r.adaptor.append(r.chtml,o)}};e.Border=function(t){return l.CommonBorder((function(e,r){e.adaptor.setStyle(r,"border-"+t,e.em(e.thickness)+" solid")}))(t)};e.Border2=function(t,e,r){return l.CommonBorder2((function(t,n){var o=t.em(t.thickness)+" solid";t.adaptor.setStyle(n,"border-"+e,o),t.adaptor.setStyle(n,"border-"+r,o)}))(t,e,r)};e.DiagonalStrike=function(t,e){return l.CommonDiagonalStrike((function(t){return function(r,n){var o=r.getBBox(),i=o.w,s=o.h,l=o.d,c=a(r.getArgMod(i,s+l),2),u=c[0],p=c[1],h=e*r.thickness/2,f=r.adjustBorder(r.html(t,{style:{width:r.em(p),transform:"rotate("+r.fixed(-e*u)+"rad) translateY("+h+"em)"}}));r.adaptor.append(r.chtml,f)}}))(t)};e.DiagonalArrow=function(t){return l.CommonDiagonalArrow((function(t,e){t.adaptor.append(t.chtml,e)}))(t)};e.Arrow=function(t){return l.CommonArrow((function(t,e){t.adaptor.append(t.chtml,e)}))(t)}},6797:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.Usage=void 0;var r=function(){function t(){this.used=new Set,this.needsUpdate=[]}return t.prototype.add=function(t){var e=JSON.stringify(t);this.used.has(e)||this.needsUpdate.push(t),this.used.add(e)},t.prototype.has=function(t){return this.used.has(JSON.stringify(t))},t.prototype.clear=function(){this.used.clear(),this.needsUpdate=[]},t.prototype.update=function(){var t=this.needsUpdate;return this.needsUpdate=[],t},t}();e.Usage=r},5355:function(t,e,r){var n,o,i=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),s=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),a=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),l=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&s(e,t,r);return a(e,t),e},c=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},u=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s};Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLWrapper=e.SPACE=e.FONTSIZE=void 0;var p=l(r(6010)),h=r(7519),f=r(6469);e.FONTSIZE={"70.7%":"s","70%":"s","50%":"ss","60%":"Tn","85%":"sm","120%":"lg","144%":"Lg","173%":"LG","207%":"hg","249%":"HG"},e.SPACE=((o={})[p.em(2/18)]="1",o[p.em(3/18)]="2",o[p.em(4/18)]="3",o[p.em(5/18)]="4",o[p.em(6/18)]="5",o);var d=function(t){function r(){var e=null!==t&&t.apply(this,arguments)||this;return e.chtml=null,e}return i(r,t),r.prototype.toCHTML=function(t){var e,r,n=this.standardCHTMLnode(t);try{for(var o=c(this.childNodes),i=o.next();!i.done;i=o.next()){i.value.toCHTML(n)}}catch(t){e={error:t}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(e)throw e.error}}},r.prototype.standardCHTMLnode=function(t){this.markUsed();var e=this.createCHTMLnode(t);return this.handleStyles(),this.handleVariant(),this.handleScale(),this.handleColor(),this.handleSpace(),this.handleAttributes(),this.handlePWidth(),e},r.prototype.markUsed=function(){this.jax.wrapperUsage.add(this.kind)},r.prototype.createCHTMLnode=function(t){var e=this.node.attributes.get("href");return e&&(t=this.adaptor.append(t,this.html("a",{href:e}))),this.chtml=this.adaptor.append(t,this.html("mjx-"+this.node.kind)),this.chtml},r.prototype.handleStyles=function(){if(this.styles){var t=this.styles.cssText;if(t){this.adaptor.setAttribute(this.chtml,"style",t);var e=this.styles.get("font-family");e&&this.adaptor.setStyle(this.chtml,"font-family","MJXZERO, "+e)}}},r.prototype.handleVariant=function(){this.node.isToken&&"-explicitFont"!==this.variant&&this.adaptor.setAttribute(this.chtml,"class",(this.font.getVariant(this.variant)||this.font.getVariant("normal")).classes)},r.prototype.handleScale=function(){this.setScale(this.chtml,this.bbox.rscale)},r.prototype.setScale=function(t,r){var n=Math.abs(r-1)<.001?1:r;if(t&&1!==n){var o=this.percent(n);e.FONTSIZE[o]?this.adaptor.setAttribute(t,"size",e.FONTSIZE[o]):this.adaptor.setStyle(t,"fontSize",o)}return t},r.prototype.handleSpace=function(){var t,r;try{for(var n=c([[this.bbox.L,"space","marginLeft"],[this.bbox.R,"rspace","marginRight"]]),o=n.next();!o.done;o=n.next()){var i=o.value,s=u(i,3),a=s[0],l=s[1],p=s[2];if(a){var h=this.em(a);e.SPACE[h]?this.adaptor.setAttribute(this.chtml,l,e.SPACE[h]):this.adaptor.setStyle(this.chtml,p,h)}}}catch(e){t={error:e}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}},r.prototype.handleColor=function(){var t=this.node.attributes,e=t.getExplicit("mathcolor"),r=t.getExplicit("color"),n=t.getExplicit("mathbackground"),o=t.getExplicit("background");(e||r)&&this.adaptor.setStyle(this.chtml,"color",e||r),(n||o)&&this.adaptor.setStyle(this.chtml,"backgroundColor",n||o)},r.prototype.handleAttributes=function(){var t,e,n,o,i=this.node.attributes,s=i.getAllDefaults(),a=r.skipAttributes;try{for(var l=c(i.getExplicitNames()),u=l.next();!u.done;u=l.next()){var p=u.value;!1!==a[p]&&(p in s||a[p]||this.adaptor.hasAttribute(this.chtml,p))||this.adaptor.setAttribute(this.chtml,p,i.getExplicit(p))}}catch(e){t={error:e}}finally{try{u&&!u.done&&(e=l.return)&&e.call(l)}finally{if(t)throw t.error}}if(i.get("class")){var h=i.get("class").trim().split(/ +/);try{for(var f=c(h),d=f.next();!d.done;d=f.next()){var m=d.value;this.adaptor.addClass(this.chtml,m)}}catch(t){n={error:t}}finally{try{d&&!d.done&&(o=f.return)&&o.call(f)}finally{if(n)throw n.error}}}},r.prototype.handlePWidth=function(){this.bbox.pwidth&&(this.bbox.pwidth===f.BBox.fullWidth?this.adaptor.setAttribute(this.chtml,"width","full"):this.adaptor.setStyle(this.chtml,"width",this.bbox.pwidth))},r.prototype.setIndent=function(t,e,r){var n=this.adaptor;if("center"===e||"left"===e){var o=this.getBBox().L;n.setStyle(t,"margin-left",this.em(r+o))}if("center"===e||"right"===e){var i=this.getBBox().R;n.setStyle(t,"margin-right",this.em(-r+i))}},r.prototype.drawBBox=function(){var t=this.getBBox(),e=t.w,r=t.h,n=t.d,o=t.R,i=this.html("mjx-box",{style:{opacity:.25,"margin-left":this.em(-e-o)}},[this.html("mjx-box",{style:{height:this.em(r),width:this.em(e),"background-color":"red"}}),this.html("mjx-box",{style:{height:this.em(n),width:this.em(e),"margin-left":this.em(-e),"vertical-align":this.em(-n),"background-color":"green"}})]),s=this.chtml||this.parent.chtml,a=this.adaptor.getAttribute(s,"size");a&&this.adaptor.setAttribute(i,"size",a);var l=this.adaptor.getStyle(s,"fontSize");l&&this.adaptor.setStyle(i,"fontSize",l),this.adaptor.append(this.adaptor.parent(s),i),this.adaptor.setStyle(s,"backgroundColor","#FFEE00")},r.prototype.html=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=[]),this.jax.html(t,e,r)},r.prototype.text=function(t){return this.jax.text(t)},r.prototype.char=function(t){return this.font.charSelector(t).substr(1)},r.kind="unknown",r.autoStyle=!0,r}(h.CommonWrapper);e.CHTMLWrapper=d},9261:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLWrapperFactory=void 0;var i=r(4420),s=r(9086),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.defaultNodes=s.CHTMLWrappers,e}(i.CommonWrapperFactory);e.CHTMLWrapperFactory=a},9086:function(t,e,r){var n;Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLWrappers=void 0;var o=r(5355),i=r(804),s=r(1653),a=r(6287),l=r(6460),c=r(4597),u=r(1259),p=r(2970),h=r(5964),f=r(8147),d=r(4798),m=r(2275),y=r(9063),g=r(5610),b=r(8776),v=r(4300),_=r(6590),S=r(6781),M=r(8002),O=r(3571),x=r(7056),E=r(8102),A=r(6911),C=r(421),T=r(95),N=r(1148);e.CHTMLWrappers=((n={})[i.CHTMLmath.kind]=i.CHTMLmath,n[d.CHTMLmrow.kind]=d.CHTMLmrow,n[d.CHTMLinferredMrow.kind]=d.CHTMLinferredMrow,n[s.CHTMLmi.kind]=s.CHTMLmi,n[a.CHTMLmo.kind]=a.CHTMLmo,n[l.CHTMLmn.kind]=l.CHTMLmn,n[c.CHTMLms.kind]=c.CHTMLms,n[u.CHTMLmtext.kind]=u.CHTMLmtext,n[p.CHTMLmspace.kind]=p.CHTMLmspace,n[h.CHTMLmpadded.kind]=h.CHTMLmpadded,n[f.CHTMLmenclose.kind]=f.CHTMLmenclose,n[y.CHTMLmfrac.kind]=y.CHTMLmfrac,n[g.CHTMLmsqrt.kind]=g.CHTMLmsqrt,n[b.CHTMLmroot.kind]=b.CHTMLmroot,n[v.CHTMLmsub.kind]=v.CHTMLmsub,n[v.CHTMLmsup.kind]=v.CHTMLmsup,n[v.CHTMLmsubsup.kind]=v.CHTMLmsubsup,n[_.CHTMLmunder.kind]=_.CHTMLmunder,n[_.CHTMLmover.kind]=_.CHTMLmover,n[_.CHTMLmunderover.kind]=_.CHTMLmunderover,n[S.CHTMLmmultiscripts.kind]=S.CHTMLmmultiscripts,n[m.CHTMLmfenced.kind]=m.CHTMLmfenced,n[M.CHTMLmtable.kind]=M.CHTMLmtable,n[O.CHTMLmtr.kind]=O.CHTMLmtr,n[O.CHTMLmlabeledtr.kind]=O.CHTMLmlabeledtr,n[x.CHTMLmtd.kind]=x.CHTMLmtd,n[E.CHTMLmaction.kind]=E.CHTMLmaction,n[A.CHTMLmglyph.kind]=A.CHTMLmglyph,n[C.CHTMLsemantics.kind]=C.CHTMLsemantics,n[C.CHTMLannotation.kind]=C.CHTMLannotation,n[C.CHTMLannotationXML.kind]=C.CHTMLannotationXML,n[C.CHTMLxml.kind]=C.CHTMLxml,n[T.CHTMLTeXAtom.kind]=T.CHTMLTeXAtom,n[N.CHTMLTextNode.kind]=N.CHTMLTextNode,n[o.CHTMLWrapper.kind]=o.CHTMLWrapper,n)},95:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLTeXAtom=void 0;var i=r(5355),s=r(9800),a=r(3948),l=r(9007),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(e){if(t.prototype.toCHTML.call(this,e),this.adaptor.setAttribute(this.chtml,"texclass",l.TEXCLASSNAMES[this.node.texClass]),this.node.texClass===l.TEXCLASS.VCENTER){var r=this.childNodes[0].getBBox(),n=r.h,o=(n+r.d)/2+this.font.params.axis_height-n;this.adaptor.setStyle(this.chtml,"verticalAlign",this.em(o))}},e.kind=a.TeXAtom.prototype.kind,e}((0,s.CommonTeXAtomMixin)(i.CHTMLWrapper));e.CHTMLTeXAtom=c},1148:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLTextNode=void 0;var s=r(9007),a=r(5355),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(t){var e,r;this.markUsed();var n=this.adaptor,o=this.parent.variant,s=this.node.getText();if(0!==s.length)if("-explicitFont"===o)n.append(t,this.jax.unknownText(s,o,this.getBBox().w));else{var a=this.remappedText(s,o);try{for(var l=i(a),c=l.next();!c.done;c=l.next()){var u=c.value,p=this.getVariantChar(o,u)[3],h=p.f?" TEX-"+p.f:"",f=p.unknown?this.jax.unknownText(String.fromCodePoint(u),o):this.html("mjx-c",{class:this.char(u)+h});n.append(t,f),!p.unknown&&this.font.charUsage.add([o,u])}}catch(t){e={error:t}}finally{try{c&&!c.done&&(r=l.return)&&r.call(l)}finally{if(e)throw e.error}}}},e.kind=s.TextNode.prototype.kind,e.autoStyle=!1,e.styles={"mjx-c":{display:"inline-block"},"mjx-utext":{display:"inline-block",padding:".75em 0 .2em 0"}},e}((0,r(1160).CommonTextNodeMixin)(a.CHTMLWrapper));e.CHTMLTextNode=l},8102:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmaction=void 0;var i=r(5355),s=r(1956),a=r(1956),l=r(9145),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(t){var e=this.standardCHTMLnode(t);this.selected.toCHTML(e),this.action(this,this.data)},e.prototype.setEventHandler=function(t,e){this.chtml.addEventListener(t,e)},e.kind=l.MmlMaction.prototype.kind,e.styles={"mjx-maction":{position:"relative"},"mjx-maction > mjx-tool":{display:"none",position:"absolute",bottom:0,right:0,width:0,height:0,"z-index":500},"mjx-tool > mjx-tip":{display:"inline-block",padding:".2em",border:"1px solid #888","font-size":"70%","background-color":"#F8F8F8",color:"black","box-shadow":"2px 2px 5px #AAAAAA"},"mjx-maction[toggle]":{cursor:"pointer"},"mjx-status":{display:"block",position:"fixed",left:"1em",bottom:"1em","min-width":"25%",padding:".2em .4em",border:"1px solid #888","font-size":"90%","background-color":"#F8F8F8",color:"black"}},e.actions=new Map([["toggle",[function(t,e){t.adaptor.setAttribute(t.chtml,"toggle",t.node.attributes.get("selection"));var r=t.factory.jax.math,n=t.factory.jax.document,o=t.node;t.setEventHandler("click",(function(t){r.end.node||(r.start.node=r.end.node=r.typesetRoot,r.start.n=r.end.n=0),o.nextToggleSelection(),r.rerender(n),t.stopPropagation()}))},{}]],["tooltip",[function(t,e){var r=t.childNodes[1];if(r)if(r.node.isKind("mtext")){var n=r.node.getText();t.adaptor.setAttribute(t.chtml,"title",n)}else{var o=t.adaptor,i=o.append(t.chtml,t.html("mjx-tool",{style:{bottom:t.em(-t.dy),right:t.em(-t.dx)}},[t.html("mjx-tip")]));r.toCHTML(o.firstChild(i)),t.setEventHandler("mouseover",(function(r){e.stopTimers(t,e);var n=setTimeout((function(){return o.setStyle(i,"display","block")}),e.postDelay);e.hoverTimer.set(t,n),r.stopPropagation()})),t.setEventHandler("mouseout",(function(r){e.stopTimers(t,e);var n=setTimeout((function(){return o.setStyle(i,"display","")}),e.clearDelay);e.clearTimer.set(t,n),r.stopPropagation()}))}},a.TooltipData]],["statusline",[function(t,e){var r=t.childNodes[1];if(r&&r.node.isKind("mtext")){var n=t.adaptor,o=r.node.getText();n.setAttribute(t.chtml,"statusline",o),t.setEventHandler("mouseover",(function(r){if(null===e.status){var i=n.body(n.document);e.status=n.append(i,t.html("mjx-status",{},[t.text(o)]))}r.stopPropagation()})),t.setEventHandler("mouseout",(function(t){e.status&&(n.remove(e.status),e.status=null),t.stopPropagation()}))}},{status:null}]]]),e}((0,s.CommonMactionMixin)(i.CHTMLWrapper));e.CHTMLmaction=c},804:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s};Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmath=void 0;var s=r(5355),a=r(7490),l=r(3233),c=r(6469),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(e){t.prototype.toCHTML.call(this,e);var r=this.chtml,n=this.adaptor;"block"===this.node.attributes.get("display")?(n.setAttribute(r,"display","true"),n.setAttribute(e,"display","true"),this.handleDisplay(e)):this.handleInline(e),n.addClass(r,"MJX-TEX")},e.prototype.handleDisplay=function(t){var e=this.adaptor,r=i(this.getAlignShift(),2),n=r[0],o=r[1];if("center"!==n&&e.setAttribute(t,"justify",n),this.bbox.pwidth===c.BBox.fullWidth){if(e.setAttribute(t,"width","full"),this.jax.table){var s=this.jax.table.getOuterBBox(),a=s.L,l=s.w,u=s.R;"right"===n?u=Math.max(u||-o,-o):"left"===n?a=Math.max(a||o,o):"center"===n&&(l+=2*Math.abs(o));var p=this.em(Math.max(0,a+l+u));e.setStyle(t,"min-width",p),e.setStyle(this.jax.table.chtml,"min-width",p)}}else this.setIndent(this.chtml,n,o)},e.prototype.handleInline=function(t){var e=this.adaptor,r=e.getStyle(this.chtml,"margin-right");r&&(e.setStyle(this.chtml,"margin-right",""),e.setStyle(t,"margin-right",r),e.setStyle(t,"width","0"))},e.prototype.setChildPWidths=function(e,r,n){return void 0===r&&(r=null),void 0===n&&(n=!0),!!this.parent&&t.prototype.setChildPWidths.call(this,e,r,n)},e.kind=l.MmlMath.prototype.kind,e.styles={"mjx-math":{"line-height":0,"text-align":"left","text-indent":0,"font-style":"normal","font-weight":"normal","font-size":"100%","font-size-adjust":"none","letter-spacing":"normal","border-collapse":"collapse","word-wrap":"normal","word-spacing":"normal","white-space":"nowrap",direction:"ltr",padding:"1px 0"},'mjx-container[jax="CHTML"][display="true"]':{display:"block","text-align":"center",margin:"1em 0"},'mjx-container[jax="CHTML"][display="true"][width="full"]':{display:"flex"},'mjx-container[jax="CHTML"][display="true"] mjx-math':{padding:0},'mjx-container[jax="CHTML"][justify="left"]':{"text-align":"left"},'mjx-container[jax="CHTML"][justify="right"]':{"text-align":"right"}},e}((0,a.CommonMathMixin)(s.CHTMLWrapper));e.CHTMLmath=u},8147:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),s=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),a=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&i(e,t,r);return s(e,t),e},l=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},c=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s};Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmenclose=void 0;var u=r(5355),p=r(7313),h=a(r(8270)),f=r(6661),d=r(6010);function m(t,e){return Math.atan2(t,e).toFixed(3).replace(/\.?0+$/,"")}var y=m(h.ARROWDX,h.ARROWY),g=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(t){var e,r,n,o,i=this.adaptor,s=this.standardCHTMLnode(t),a=i.append(s,this.html("mjx-box"));this.renderChild?this.renderChild(this,a):this.childNodes[0].toCHTML(a);try{for(var c=l(Object.keys(this.notations)),u=c.next();!u.done;u=c.next()){var p=u.value,f=this.notations[p];!f.renderChild&&f.renderer(this,a)}}catch(t){e={error:t}}finally{try{u&&!u.done&&(r=c.return)&&r.call(c)}finally{if(e)throw e.error}}var d=this.getPadding();try{for(var m=l(h.sideNames),y=m.next();!y.done;y=m.next()){var g=y.value,b=h.sideIndex[g];d[b]>0&&i.setStyle(a,"padding-"+g,this.em(d[b]))}}catch(t){n={error:t}}finally{try{y&&!y.done&&(o=m.return)&&o.call(m)}finally{if(n)throw n.error}}},e.prototype.arrow=function(t,e,r,n,o){void 0===n&&(n=""),void 0===o&&(o=0);var i=this.getBBox().w,s={width:this.em(t)};i!==t&&(s.left=this.em((i-t)/2)),e&&(s.transform="rotate("+this.fixed(e)+"rad)");var a=this.html("mjx-arrow",{style:s},[this.html("mjx-aline"),this.html("mjx-rthead"),this.html("mjx-rbhead")]);return r&&(this.adaptor.append(a,this.html("mjx-lthead")),this.adaptor.append(a,this.html("mjx-lbhead")),this.adaptor.setAttribute(a,"double","true")),this.adjustArrow(a,r),this.moveArrow(a,n,o),a},e.prototype.adjustArrow=function(t,e){var r=this,n=this.thickness,o=this.arrowhead;if(o.x!==h.ARROWX||o.y!==h.ARROWY||o.dx!==h.ARROWDX||n!==h.THICKNESS){var i=c([n*o.x,n*o.y].map((function(t){return r.em(t)})),2),s=i[0],a=i[1],l=m(o.dx,o.y),u=c(this.adaptor.childNodes(t),5),p=u[0],f=u[1],d=u[2],y=u[3],g=u[4];this.adjustHead(f,[a,"0","1px",s],l),this.adjustHead(d,["1px","0",a,s],"-"+l),this.adjustHead(y,[a,s,"1px","0"],"-"+l),this.adjustHead(g,["1px",s,a,"0"],l),this.adjustLine(p,n,o.x,e)}},e.prototype.adjustHead=function(t,e,r){t&&(this.adaptor.setStyle(t,"border-width",e.join(" ")),this.adaptor.setStyle(t,"transform","skewX("+r+"rad)"))},e.prototype.adjustLine=function(t,e,r,n){this.adaptor.setStyle(t,"borderTop",this.em(e)+" solid"),this.adaptor.setStyle(t,"top",this.em(-e/2)),this.adaptor.setStyle(t,"right",this.em(e*(r-1))),n&&this.adaptor.setStyle(t,"left",this.em(e*(r-1)))},e.prototype.moveArrow=function(t,e,r){if(r){var n=this.adaptor.getStyle(t,"transform");this.adaptor.setStyle(t,"transform","translate".concat(e,"(").concat(this.em(-r),")").concat(n?" "+n:""))}},e.prototype.adjustBorder=function(t){return this.thickness!==h.THICKNESS&&this.adaptor.setStyle(t,"borderWidth",this.em(this.thickness)),t},e.prototype.adjustThickness=function(t){return this.thickness!==h.THICKNESS&&this.adaptor.setStyle(t,"strokeWidth",this.fixed(this.thickness)),t},e.prototype.fixed=function(t,e){return void 0===e&&(e=3),Math.abs(t)<6e-4?"0":t.toFixed(e).replace(/\.?0+$/,"")},e.prototype.em=function(e){return t.prototype.em.call(this,e)},e.kind=f.MmlMenclose.prototype.kind,e.styles={"mjx-menclose":{position:"relative"},"mjx-menclose > mjx-dstrike":{display:"inline-block",left:0,top:0,position:"absolute","border-top":h.SOLID,"transform-origin":"top left"},"mjx-menclose > mjx-ustrike":{display:"inline-block",left:0,bottom:0,position:"absolute","border-top":h.SOLID,"transform-origin":"bottom left"},"mjx-menclose > mjx-hstrike":{"border-top":h.SOLID,position:"absolute",left:0,right:0,bottom:"50%",transform:"translateY("+(0,d.em)(h.THICKNESS/2)+")"},"mjx-menclose > mjx-vstrike":{"border-left":h.SOLID,position:"absolute",top:0,bottom:0,right:"50%",transform:"translateX("+(0,d.em)(h.THICKNESS/2)+")"},"mjx-menclose > mjx-rbox":{position:"absolute",top:0,bottom:0,right:0,left:0,border:h.SOLID,"border-radius":(0,d.em)(h.THICKNESS+h.PADDING)},"mjx-menclose > mjx-cbox":{position:"absolute",top:0,bottom:0,right:0,left:0,border:h.SOLID,"border-radius":"50%"},"mjx-menclose > mjx-arrow":{position:"absolute",left:0,bottom:"50%",height:0,width:0},"mjx-menclose > mjx-arrow > *":{display:"block",position:"absolute","transform-origin":"bottom","border-left":(0,d.em)(h.THICKNESS*h.ARROWX)+" solid","border-right":0,"box-sizing":"border-box"},"mjx-menclose > mjx-arrow > mjx-aline":{left:0,top:(0,d.em)(-h.THICKNESS/2),right:(0,d.em)(h.THICKNESS*(h.ARROWX-1)),height:0,"border-top":(0,d.em)(h.THICKNESS)+" solid","border-left":0},"mjx-menclose > mjx-arrow[double] > mjx-aline":{left:(0,d.em)(h.THICKNESS*(h.ARROWX-1)),height:0},"mjx-menclose > mjx-arrow > mjx-rthead":{transform:"skewX("+y+"rad)",right:0,bottom:"-1px","border-bottom":"1px solid transparent","border-top":(0,d.em)(h.THICKNESS*h.ARROWY)+" solid transparent"},"mjx-menclose > mjx-arrow > mjx-rbhead":{transform:"skewX(-"+y+"rad)","transform-origin":"top",right:0,top:"-1px","border-top":"1px solid transparent","border-bottom":(0,d.em)(h.THICKNESS*h.ARROWY)+" solid transparent"},"mjx-menclose > mjx-arrow > mjx-lthead":{transform:"skewX(-"+y+"rad)",left:0,bottom:"-1px","border-left":0,"border-right":(0,d.em)(h.THICKNESS*h.ARROWX)+" solid","border-bottom":"1px solid transparent","border-top":(0,d.em)(h.THICKNESS*h.ARROWY)+" solid transparent"},"mjx-menclose > mjx-arrow > mjx-lbhead":{transform:"skewX("+y+"rad)","transform-origin":"top",left:0,top:"-1px","border-left":0,"border-right":(0,d.em)(h.THICKNESS*h.ARROWX)+" solid","border-top":"1px solid transparent","border-bottom":(0,d.em)(h.THICKNESS*h.ARROWY)+" solid transparent"},"mjx-menclose > dbox":{position:"absolute",top:0,bottom:0,left:(0,d.em)(-1.5*h.PADDING),width:(0,d.em)(3*h.PADDING),border:(0,d.em)(h.THICKNESS)+" solid","border-radius":"50%","clip-path":"inset(0 0 0 "+(0,d.em)(1.5*h.PADDING)+")","box-sizing":"border-box"}},e.notations=new Map([h.Border("top"),h.Border("right"),h.Border("bottom"),h.Border("left"),h.Border2("actuarial","top","right"),h.Border2("madruwb","bottom","right"),h.DiagonalStrike("up",1),h.DiagonalStrike("down",-1),["horizontalstrike",{renderer:h.RenderElement("hstrike","Y"),bbox:function(t){return[0,t.padding,0,t.padding]}}],["verticalstrike",{renderer:h.RenderElement("vstrike","X"),bbox:function(t){return[t.padding,0,t.padding,0]}}],["box",{renderer:function(t,e){t.adaptor.setStyle(e,"border",t.em(t.thickness)+" solid")},bbox:h.fullBBox,border:h.fullBorder,remove:"left right top bottom"}],["roundedbox",{renderer:h.RenderElement("rbox"),bbox:h.fullBBox}],["circle",{renderer:h.RenderElement("cbox"),bbox:h.fullBBox}],["phasorangle",{renderer:function(t,e){var r=t.getBBox(),n=r.h,o=r.d,i=c(t.getArgMod(1.75*t.padding,n+o),2),s=i[0],a=i[1],l=t.thickness*Math.sin(s)*.9;t.adaptor.setStyle(e,"border-bottom",t.em(t.thickness)+" solid");var u=t.adjustBorder(t.html("mjx-ustrike",{style:{width:t.em(a),transform:"translateX("+t.em(l)+") rotate("+t.fixed(-s)+"rad)"}}));t.adaptor.append(t.chtml,u)},bbox:function(t){var e=t.padding/2,r=t.thickness;return[2*e,e,e+r,3*e+r]},border:function(t){return[0,0,t.thickness,0]},remove:"bottom"}],h.Arrow("up"),h.Arrow("down"),h.Arrow("left"),h.Arrow("right"),h.Arrow("updown"),h.Arrow("leftright"),h.DiagonalArrow("updiagonal"),h.DiagonalArrow("northeast"),h.DiagonalArrow("southeast"),h.DiagonalArrow("northwest"),h.DiagonalArrow("southwest"),h.DiagonalArrow("northeastsouthwest"),h.DiagonalArrow("northwestsoutheast"),["longdiv",{renderer:function(t,e){var r=t.adaptor;r.setStyle(e,"border-top",t.em(t.thickness)+" solid");var n=r.append(t.chtml,t.html("dbox")),o=t.thickness,i=t.padding;o!==h.THICKNESS&&r.setStyle(n,"border-width",t.em(o)),i!==h.PADDING&&(r.setStyle(n,"left",t.em(-1.5*i)),r.setStyle(n,"width",t.em(3*i)),r.setStyle(n,"clip-path","inset(0 0 0 "+t.em(1.5*i)+")"))},bbox:function(t){var e=t.padding,r=t.thickness;return[e+r,e,e,2*e+r/2]}}],["radical",{renderer:function(t,e){t.msqrt.toCHTML(e);var r=t.sqrtTRBL();t.adaptor.setStyle(t.msqrt.chtml,"margin",r.map((function(e){return t.em(-e)})).join(" "))},init:function(t){t.msqrt=t.createMsqrt(t.childNodes[0])},bbox:function(t){return t.sqrtTRBL()},renderChild:!0}]]),e}((0,p.CommonMencloseMixin)(u.CHTMLWrapper));e.CHTMLmenclose=g},2275:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmfenced=void 0;var i=r(5355),s=r(7555),a=r(5410),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(t){var e=this.standardCHTMLnode(t);this.mrow.toCHTML(e)},e.kind=a.MmlMfenced.prototype.kind,e}((0,s.CommonMfencedMixin)(i.CHTMLWrapper));e.CHTMLmfenced=l},9063:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__assign||function(){return i=Object.assign||function(t){for(var e,r=1,n=arguments.length;r *":{"font-size":"2000%"},"mjx-dbox":{display:"block","font-size":"5%"},"mjx-num":{display:"block","text-align":"center"},"mjx-den":{display:"block","text-align":"center"},"mjx-mfrac[bevelled] > mjx-num":{display:"inline-block"},"mjx-mfrac[bevelled] > mjx-den":{display:"inline-block"},'mjx-den[align="right"], mjx-num[align="right"]':{"text-align":"right"},'mjx-den[align="left"], mjx-num[align="left"]':{"text-align":"left"},"mjx-nstrut":{display:"inline-block",height:".054em",width:0,"vertical-align":"-.054em"},'mjx-nstrut[type="d"]':{height:".217em","vertical-align":"-.217em"},"mjx-dstrut":{display:"inline-block",height:".505em",width:0},'mjx-dstrut[type="d"]':{height:".726em"},"mjx-line":{display:"block","box-sizing":"border-box","min-height":"1px",height:".06em","border-top":".06em solid",margin:".06em -.1em",overflow:"hidden"},'mjx-line[type="d"]':{margin:".18em -.1em"}},e}((0,a.CommonMfracMixin)(s.CHTMLWrapper));e.CHTMLmfrac=c},6911:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmglyph=void 0;var i=r(5355),s=r(5636),a=r(3985),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(t){var e=this.standardCHTMLnode(t);if(this.charWrapper)this.charWrapper.toCHTML(e);else{var r=this.node.attributes.getList("src","alt"),n=r.src,o=r.alt,i={width:this.em(this.width),height:this.em(this.height)};this.valign&&(i.verticalAlign=this.em(this.valign));var s=this.html("img",{src:n,style:i,alt:o,title:o});this.adaptor.append(e,s)}},e.kind=a.MmlMglyph.prototype.kind,e.styles={"mjx-mglyph > img":{display:"inline-block",border:0,padding:0}},e}((0,s.CommonMglyphMixin)(i.CHTMLWrapper));e.CHTMLmglyph=l},1653:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmi=void 0;var i=r(5355),s=r(5723),a=r(450),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.kind=a.MmlMi.prototype.kind,e}((0,s.CommonMiMixin)(i.CHTMLWrapper));e.CHTMLmi=l},6781:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s};Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmmultiscripts=void 0;var s=r(4300),a=r(8009),l=r(6405),c=r(505),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(t){var e=this.standardCHTMLnode(t),r=this.scriptData,n=this.node.getProperty("scriptalign")||"right left",o=i((0,c.split)(n+" "+n),2),s=o[0],a=o[1],l=this.combinePrePost(r.sub,r.psub),u=this.combinePrePost(r.sup,r.psup),p=i(this.getUVQ(l,u),2),h=p[0],f=p[1];if(r.numPrescripts){var d=this.addScripts(h,-f,!0,r.psub,r.psup,this.firstPrescript,r.numPrescripts);"right"!==s&&this.adaptor.setAttribute(d,"script-align",s)}if(this.childNodes[0].toCHTML(e),r.numScripts){d=this.addScripts(h,-f,!1,r.sub,r.sup,1,r.numScripts);"left"!==a&&this.adaptor.setAttribute(d,"script-align",a)}},e.prototype.addScripts=function(t,e,r,n,o,i,s){for(var a=this.adaptor,l=t-o.d+(e-n.h),c=t<0&&0===e?n.h+t:t,u=l>0?{style:{height:this.em(l)}}:{},p=c?{style:{"vertical-align":this.em(c)}}:{},h=this.html("mjx-row"),f=this.html("mjx-row",u),d=this.html("mjx-row"),m="mjx-"+(r?"pre":"")+"scripts",y=i+2*s;i mjx-row > mjx-cell":{"text-align":"right"},'[script-align="left"] > mjx-row > mjx-cell':{"text-align":"left"},'[script-align="center"] > mjx-row > mjx-cell':{"text-align":"center"},'[script-align="right"] > mjx-row > mjx-cell':{"text-align":"right"}},e}((0,a.CommonMmultiscriptsMixin)(s.CHTMLmsubsup));e.CHTMLmmultiscripts=u},6460:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmn=void 0;var i=r(5355),s=r(5023),a=r(3050),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.kind=a.MmlMn.prototype.kind,e}((0,s.CommonMnMixin)(i.CHTMLWrapper));e.CHTMLmn=l},6287:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmo=void 0;var s=r(5355),a=r(7096),l=r(2756),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(t){var e,r,n=this.node.attributes,o=n.get("symmetric")&&2!==this.stretch.dir,s=0!==this.stretch.dir;s&&null===this.size&&this.getStretchedVariant([]);var a=this.standardCHTMLnode(t);if(s&&this.size<0)this.stretchHTML(a);else{if(o||n.get("largeop")){var l=this.em(this.getCenterOffset());"0"!==l&&this.adaptor.setStyle(a,"verticalAlign",l)}this.node.getProperty("mathaccent")&&(this.adaptor.setStyle(a,"width","0"),this.adaptor.setStyle(a,"margin-left",this.em(this.getAccentOffset())));try{for(var c=i(this.childNodes),u=c.next();!u.done;u=c.next()){u.value.toCHTML(a)}}catch(t){e={error:t}}finally{try{u&&!u.done&&(r=c.return)&&r.call(c)}finally{if(e)throw e.error}}}},e.prototype.stretchHTML=function(t){var e=this.getText().codePointAt(0);this.font.delimUsage.add(e),this.childNodes[0].markUsed();var r=this.stretch,n=r.stretch,o=[];n[0]&&o.push(this.html("mjx-beg",{},[this.html("mjx-c")])),o.push(this.html("mjx-ext",{},[this.html("mjx-c")])),4===n.length&&o.push(this.html("mjx-mid",{},[this.html("mjx-c")]),this.html("mjx-ext",{},[this.html("mjx-c")])),n[2]&&o.push(this.html("mjx-end",{},[this.html("mjx-c")]));var i={},s=this.bbox,l=s.h,c=s.d,u=s.w;1===r.dir?(o.push(this.html("mjx-mark")),i.height=this.em(l+c),i.verticalAlign=this.em(-c)):i.width=this.em(u);var p=a.DirectionVH[r.dir],h={class:this.char(r.c||e),style:i},f=this.html("mjx-stretchy-"+p,h,o);this.adaptor.append(t,f)},e.kind=l.MmlMo.prototype.kind,e.styles={"mjx-stretchy-h":{display:"inline-table",width:"100%"},"mjx-stretchy-h > *":{display:"table-cell",width:0},"mjx-stretchy-h > * > mjx-c":{display:"inline-block",transform:"scalex(1.0000001)"},"mjx-stretchy-h > * > mjx-c::before":{display:"inline-block",width:"initial"},"mjx-stretchy-h > mjx-ext":{"/* IE */ overflow":"hidden","/* others */ overflow":"clip visible",width:"100%"},"mjx-stretchy-h > mjx-ext > mjx-c::before":{transform:"scalex(500)"},"mjx-stretchy-h > mjx-ext > mjx-c":{width:0},"mjx-stretchy-h > mjx-beg > mjx-c":{"margin-right":"-.1em"},"mjx-stretchy-h > mjx-end > mjx-c":{"margin-left":"-.1em"},"mjx-stretchy-v":{display:"inline-block"},"mjx-stretchy-v > *":{display:"block"},"mjx-stretchy-v > mjx-beg":{height:0},"mjx-stretchy-v > mjx-end > mjx-c":{display:"block"},"mjx-stretchy-v > * > mjx-c":{transform:"scaley(1.0000001)","transform-origin":"left center",overflow:"hidden"},"mjx-stretchy-v > mjx-ext":{display:"block",height:"100%","box-sizing":"border-box",border:"0px solid transparent","/* IE */ overflow":"hidden","/* others */ overflow":"visible clip"},"mjx-stretchy-v > mjx-ext > mjx-c::before":{width:"initial","box-sizing":"border-box"},"mjx-stretchy-v > mjx-ext > mjx-c":{transform:"scaleY(500) translateY(.075em)",overflow:"visible"},"mjx-mark":{display:"inline-block",height:"0px"}},e}((0,a.CommonMoMixin)(s.CHTMLWrapper));e.CHTMLmo=c},5964:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},s=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmpadded=void 0;var a=r(5355),l=r(6898),c=r(7238),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(t){var e,r,n=this.standardCHTMLnode(t),o=[],a={},l=i(this.getDimens(),9),c=l[2],u=l[3],p=l[4],h=l[5],f=l[6],d=l[7],m=l[8];if(h&&(a.width=this.em(c+h)),(u||p)&&(a.margin=this.em(u)+" 0 "+this.em(p)),f+m||d){a.position="relative";var y=this.html("mjx-rbox",{style:{left:this.em(f+m),top:this.em(-d),"max-width":a.width}});f+m&&this.childNodes[0].getBBox().pwidth&&(this.adaptor.setAttribute(y,"width","full"),this.adaptor.setStyle(y,"left",this.em(f))),o.push(y)}n=this.adaptor.append(n,this.html("mjx-block",{style:a},o));try{for(var g=s(this.childNodes),b=g.next();!b.done;b=g.next()){b.value.toCHTML(o[0]||n)}}catch(t){e={error:t}}finally{try{b&&!b.done&&(r=g.return)&&r.call(g)}finally{if(e)throw e.error}}},e.kind=c.MmlMpadded.prototype.kind,e.styles={"mjx-mpadded":{display:"inline-block"},"mjx-rbox":{display:"inline-block",position:"relative"}},e}((0,l.CommonMpaddedMixin)(a.CHTMLWrapper));e.CHTMLmpadded=u},8776:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s};Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmroot=void 0;var s=r(5610),a=r(6991),l=r(6145),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.addRoot=function(t,e,r,n){e.toCHTML(t);var o=i(this.getRootDimens(r,n),3),s=o[0],a=o[1],l=o[2];this.adaptor.setStyle(t,"verticalAlign",this.em(a)),this.adaptor.setStyle(t,"width",this.em(s)),l&&this.adaptor.setStyle(this.adaptor.firstChild(t),"paddingLeft",this.em(l))},e.kind=l.MmlMroot.prototype.kind,e}((0,a.CommonMrootMixin)(s.CHTMLmsqrt));e.CHTMLmroot=c},4798:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLinferredMrow=e.CHTMLmrow=void 0;var s=r(5355),a=r(8411),l=r(8411),c=r(9878),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(t){var e,r,n=this.node.isInferred?this.chtml=t:this.standardCHTMLnode(t),o=!1;try{for(var s=i(this.childNodes),a=s.next();!a.done;a=s.next()){var l=a.value;l.toCHTML(n),l.bbox.w<0&&(o=!0)}}catch(t){e={error:t}}finally{try{a&&!a.done&&(r=s.return)&&r.call(s)}finally{if(e)throw e.error}}if(o){var c=this.getBBox().w;c&&(this.adaptor.setStyle(n,"width",this.em(Math.max(0,c))),c<0&&this.adaptor.setStyle(n,"marginRight",this.em(c)))}},e.kind=c.MmlMrow.prototype.kind,e}((0,a.CommonMrowMixin)(s.CHTMLWrapper));e.CHTMLmrow=u;var p=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.kind=c.MmlInferredMrow.prototype.kind,e}((0,l.CommonInferredMrowMixin)(u));e.CHTMLinferredMrow=p},4597:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLms=void 0;var i=r(5355),s=r(4126),a=r(7265),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.kind=a.MmlMs.prototype.kind,e}((0,s.CommonMsMixin)(i.CHTMLWrapper));e.CHTMLms=l},2970:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmspace=void 0;var i=r(5355),s=r(258),a=r(6030),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(t){var e=this.standardCHTMLnode(t),r=this.getBBox(),n=r.w,o=r.h,i=r.d;n<0&&(this.adaptor.setStyle(e,"marginRight",this.em(n)),n=0),n&&this.adaptor.setStyle(e,"width",this.em(n)),(o=Math.max(0,o+i))&&this.adaptor.setStyle(e,"height",this.em(Math.max(0,o))),i&&this.adaptor.setStyle(e,"verticalAlign",this.em(-i))},e.kind=a.MmlMspace.prototype.kind,e}((0,s.CommonMspaceMixin)(i.CHTMLWrapper));e.CHTMLmspace=l},5610:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s};Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmsqrt=void 0;var s=r(5355),a=r(4093),l=r(7131),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(t){var e,r,n,o,s=this.childNodes[this.surd],a=this.childNodes[this.base],l=s.getBBox(),c=a.getOuterBBox(),u=i(this.getPQ(l),2)[1],p=this.font.params.rule_thickness,h=c.h+u+p,f=this.standardCHTMLnode(t);null!=this.root&&(n=this.adaptor.append(f,this.html("mjx-root")),o=this.childNodes[this.root]);var d=this.adaptor.append(f,this.html("mjx-sqrt",{},[e=this.html("mjx-surd"),r=this.html("mjx-box",{style:{paddingTop:this.em(u)}})]));this.addRoot(n,o,l,h),s.toCHTML(e),a.toCHTML(r),s.size<0&&this.adaptor.addClass(d,"mjx-tall")},e.prototype.addRoot=function(t,e,r,n){},e.kind=l.MmlMsqrt.prototype.kind,e.styles={"mjx-root":{display:"inline-block","white-space":"nowrap"},"mjx-surd":{display:"inline-block","vertical-align":"top"},"mjx-sqrt":{display:"inline-block","padding-top":".07em"},"mjx-sqrt > mjx-box":{"border-top":".07em solid"},"mjx-sqrt.mjx-tall > mjx-box":{"padding-left":".3em","margin-left":"-.3em"}},e}((0,a.CommonMsqrtMixin)(s.CHTMLWrapper));e.CHTMLmsqrt=c},4300:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s};Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmsubsup=e.CHTMLmsup=e.CHTMLmsub=void 0;var s=r(8650),a=r(905),l=r(905),c=r(905),u=r(4461),p=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.kind=u.MmlMsub.prototype.kind,e}((0,a.CommonMsubMixin)(s.CHTMLscriptbase));e.CHTMLmsub=p;var h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.kind=u.MmlMsup.prototype.kind,e}((0,l.CommonMsupMixin)(s.CHTMLscriptbase));e.CHTMLmsup=h;var f=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(t){var e=this.adaptor,r=this.standardCHTMLnode(t),n=i([this.baseChild,this.supChild,this.subChild],3),o=n[0],s=n[1],a=n[2],l=i(this.getUVQ(),3),c=l[1],u=l[2],p={"vertical-align":this.em(c)};o.toCHTML(r);var h=e.append(r,this.html("mjx-script",{style:p}));s.toCHTML(h),e.append(h,this.html("mjx-spacer",{style:{"margin-top":this.em(u)}})),a.toCHTML(h);var f=this.getAdjustedIc();f&&e.setStyle(s.chtml,"marginLeft",this.em(f/s.bbox.rscale)),this.baseRemoveIc&&e.setStyle(h,"marginLeft",this.em(-this.baseIc))},e.kind=u.MmlMsubsup.prototype.kind,e.styles={"mjx-script":{display:"inline-block","padding-right":".05em","padding-left":".033em"},"mjx-script > mjx-spacer":{display:"block"}},e}((0,c.CommonMsubsupMixin)(s.CHTMLscriptbase));e.CHTMLmsubsup=f},8002:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},s=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s};Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmtable=void 0;var a=r(5355),l=r(6237),c=r(1349),u=r(505),p=function(t){function e(e,r,n){void 0===n&&(n=null);var o=t.call(this,e,r,n)||this;return o.itable=o.html("mjx-itable"),o.labels=o.html("mjx-itable"),o}return o(e,t),e.prototype.getAlignShift=function(){var e=t.prototype.getAlignShift.call(this);return this.isTop||(e[1]=0),e},e.prototype.toCHTML=function(t){var e,r,n=this.standardCHTMLnode(t);this.adaptor.append(n,this.html("mjx-table",{},[this.itable]));try{for(var o=i(this.childNodes),s=o.next();!s.done;s=o.next()){s.value.toCHTML(this.itable)}}catch(t){e={error:t}}finally{try{s&&!s.done&&(r=o.return)&&r.call(o)}finally{if(e)throw e.error}}this.padRows(),this.handleColumnSpacing(),this.handleColumnLines(),this.handleColumnWidths(),this.handleRowSpacing(),this.handleRowLines(),this.handleRowHeights(),this.handleFrame(),this.handleWidth(),this.handleLabels(),this.handleAlign(),this.handleJustify(),this.shiftColor()},e.prototype.shiftColor=function(){var t=this.adaptor,e=t.getStyle(this.chtml,"backgroundColor");e&&(t.setStyle(this.chtml,"backgroundColor",""),t.setStyle(this.itable,"backgroundColor",e))},e.prototype.padRows=function(){var t,e,r=this.adaptor;try{for(var n=i(r.childNodes(this.itable)),o=n.next();!o.done;o=n.next())for(var s=o.value;r.childNodes(s).length1&&"0.4em"!==m||a&&1===p)&&this.adaptor.setStyle(g,"paddingLeft",m),(p1&&"0.215em"!==h||a&&1===l)&&this.adaptor.setStyle(y.chtml,"paddingTop",h),(l mjx-itable":{"vertical-align":"middle","text-align":"left","box-sizing":"border-box"},"mjx-labels > mjx-itable":{position:"absolute",top:0},'mjx-mtable[justify="left"]':{"text-align":"left"},'mjx-mtable[justify="right"]':{"text-align":"right"},'mjx-mtable[justify="left"][side="left"]':{"padding-right":"0 ! important"},'mjx-mtable[justify="left"][side="right"]':{"padding-left":"0 ! important"},'mjx-mtable[justify="right"][side="left"]':{"padding-right":"0 ! important"},'mjx-mtable[justify="right"][side="right"]':{"padding-left":"0 ! important"},"mjx-mtable[align]":{"vertical-align":"baseline"},'mjx-mtable[align="top"] > mjx-table':{"vertical-align":"top"},'mjx-mtable[align="bottom"] > mjx-table':{"vertical-align":"bottom"},'mjx-mtable[side="right"] mjx-labels':{"min-width":"100%"}},e}((0,l.CommonMtableMixin)(a.CHTMLWrapper));e.CHTMLmtable=p},7056:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmtd=void 0;var i=r(5355),s=r(5164),a=r(4359),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(e){t.prototype.toCHTML.call(this,e);var r=this.node.attributes.get("rowalign"),n=this.node.attributes.get("columnalign");r!==this.parent.node.attributes.get("rowalign")&&this.adaptor.setAttribute(this.chtml,"rowalign",r),"center"===n||"mlabeledtr"===this.parent.kind&&this===this.parent.childNodes[0]&&n===this.parent.parent.node.attributes.get("side")||this.adaptor.setStyle(this.chtml,"textAlign",n),this.parent.parent.node.getProperty("useHeight")&&this.adaptor.append(this.chtml,this.html("mjx-tstrut"))},e.kind=a.MmlMtd.prototype.kind,e.styles={"mjx-mtd":{display:"table-cell","text-align":"center",padding:".215em .4em"},"mjx-mtd:first-child":{"padding-left":0},"mjx-mtd:last-child":{"padding-right":0},"mjx-mtable > * > mjx-itable > *:first-child > mjx-mtd":{"padding-top":0},"mjx-mtable > * > mjx-itable > *:last-child > mjx-mtd":{"padding-bottom":0},"mjx-tstrut":{display:"inline-block",height:"1em","vertical-align":"-.25em"},'mjx-labels[align="left"] > mjx-mtr > mjx-mtd':{"text-align":"left"},'mjx-labels[align="right"] > mjx-mtr > mjx-mtd':{"text-align":"right"},"mjx-mtd[extra]":{padding:0},'mjx-mtd[rowalign="top"]':{"vertical-align":"top"},'mjx-mtd[rowalign="center"]':{"vertical-align":"middle"},'mjx-mtd[rowalign="bottom"]':{"vertical-align":"bottom"},'mjx-mtd[rowalign="baseline"]':{"vertical-align":"baseline"},'mjx-mtd[rowalign="axis"]':{"vertical-align":".25em"}},e}((0,s.CommonMtdMixin)(i.CHTMLWrapper));e.CHTMLmtd=l},1259:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmtext=void 0;var i=r(5355),s=r(6319),a=r(4770),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.kind=a.MmlMtext.prototype.kind,e}((0,s.CommonMtextMixin)(i.CHTMLWrapper));e.CHTMLmtext=l},3571:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmlabeledtr=e.CHTMLmtr=void 0;var i=r(5355),s=r(5766),a=r(5766),l=r(5022),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(e){t.prototype.toCHTML.call(this,e);var r=this.node.attributes.get("rowalign");"baseline"!==r&&this.adaptor.setAttribute(this.chtml,"rowalign",r)},e.kind=l.MmlMtr.prototype.kind,e.styles={"mjx-mtr":{display:"table-row"},'mjx-mtr[rowalign="top"] > mjx-mtd':{"vertical-align":"top"},'mjx-mtr[rowalign="center"] > mjx-mtd':{"vertical-align":"middle"},'mjx-mtr[rowalign="bottom"] > mjx-mtd':{"vertical-align":"bottom"},'mjx-mtr[rowalign="baseline"] > mjx-mtd':{"vertical-align":"baseline"},'mjx-mtr[rowalign="axis"] > mjx-mtd':{"vertical-align":".25em"}},e}((0,s.CommonMtrMixin)(i.CHTMLWrapper));e.CHTMLmtr=c;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(e){t.prototype.toCHTML.call(this,e);var r=this.adaptor.firstChild(this.chtml);if(r){this.adaptor.remove(r);var n=this.node.attributes.get("rowalign"),o="baseline"!==n&&"axis"!==n?{rowalign:n}:{},i=this.html("mjx-mtr",o,[r]);this.adaptor.append(this.parent.labels,i)}},e.prototype.markUsed=function(){t.prototype.markUsed.call(this),this.jax.wrapperUsage.add(c.kind)},e.kind=l.MmlMlabeledtr.prototype.kind,e.styles={"mjx-mlabeledtr":{display:"table-row"},'mjx-mlabeledtr[rowalign="top"] > mjx-mtd':{"vertical-align":"top"},'mjx-mlabeledtr[rowalign="center"] > mjx-mtd':{"vertical-align":"middle"},'mjx-mlabeledtr[rowalign="bottom"] > mjx-mtd':{"vertical-align":"bottom"},'mjx-mlabeledtr[rowalign="baseline"] > mjx-mtd':{"vertical-align":"baseline"},'mjx-mlabeledtr[rowalign="axis"] > mjx-mtd':{"vertical-align":".25em"}},e}((0,a.CommonMlabeledtrMixin)(c));e.CHTMLmlabeledtr=u},6590:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmunderover=e.CHTMLmover=e.CHTMLmunder=void 0;var i=r(4300),s=r(1971),a=r(1971),l=r(1971),c=r(5184),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(e){if(this.hasMovableLimits())return t.prototype.toCHTML.call(this,e),void this.adaptor.setAttribute(this.chtml,"limits","false");this.chtml=this.standardCHTMLnode(e);var r=this.adaptor.append(this.adaptor.append(this.chtml,this.html("mjx-row")),this.html("mjx-base")),n=this.adaptor.append(this.adaptor.append(this.chtml,this.html("mjx-row")),this.html("mjx-under"));this.baseChild.toCHTML(r),this.scriptChild.toCHTML(n);var o=this.baseChild.getOuterBBox(),i=this.scriptChild.getOuterBBox(),s=this.getUnderKV(o,i)[0],a=this.isLineBelow?0:this.getDelta(!0);this.adaptor.setStyle(n,"paddingTop",this.em(s)),this.setDeltaW([r,n],this.getDeltaW([o,i],[0,-a])),this.adjustUnderDepth(n,i)},e.kind=c.MmlMunder.prototype.kind,e.styles={"mjx-over":{"text-align":"left"},'mjx-munder:not([limits="false"])':{display:"inline-table"},"mjx-munder > mjx-row":{"text-align":"left"},"mjx-under":{"padding-bottom":".1em"}},e}((0,s.CommonMunderMixin)(i.CHTMLmsub));e.CHTMLmunder=u;var p=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(e){if(this.hasMovableLimits())return t.prototype.toCHTML.call(this,e),void this.adaptor.setAttribute(this.chtml,"limits","false");this.chtml=this.standardCHTMLnode(e);var r=this.adaptor.append(this.chtml,this.html("mjx-over")),n=this.adaptor.append(this.chtml,this.html("mjx-base"));this.scriptChild.toCHTML(r),this.baseChild.toCHTML(n);var o=this.scriptChild.getOuterBBox(),i=this.baseChild.getOuterBBox();this.adjustBaseHeight(n,i);var s=this.getOverKU(i,o)[0],a=this.isLineAbove?0:this.getDelta();this.adaptor.setStyle(r,"paddingBottom",this.em(s)),this.setDeltaW([n,r],this.getDeltaW([i,o],[0,a])),this.adjustOverDepth(r,o)},e.kind=c.MmlMover.prototype.kind,e.styles={'mjx-mover:not([limits="false"])':{"padding-top":".1em"},'mjx-mover:not([limits="false"]) > *':{display:"block","text-align":"left"}},e}((0,a.CommonMoverMixin)(i.CHTMLmsup));e.CHTMLmover=p;var h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(e){if(this.hasMovableLimits())return t.prototype.toCHTML.call(this,e),void this.adaptor.setAttribute(this.chtml,"limits","false");this.chtml=this.standardCHTMLnode(e);var r=this.adaptor.append(this.chtml,this.html("mjx-over")),n=this.adaptor.append(this.adaptor.append(this.chtml,this.html("mjx-box")),this.html("mjx-munder")),o=this.adaptor.append(this.adaptor.append(n,this.html("mjx-row")),this.html("mjx-base")),i=this.adaptor.append(this.adaptor.append(n,this.html("mjx-row")),this.html("mjx-under"));this.overChild.toCHTML(r),this.baseChild.toCHTML(o),this.underChild.toCHTML(i);var s=this.overChild.getOuterBBox(),a=this.baseChild.getOuterBBox(),l=this.underChild.getOuterBBox();this.adjustBaseHeight(o,a);var c=this.getOverKU(a,s)[0],u=this.getUnderKV(a,l)[0],p=this.getDelta();this.adaptor.setStyle(r,"paddingBottom",this.em(c)),this.adaptor.setStyle(i,"paddingTop",this.em(u)),this.setDeltaW([o,i,r],this.getDeltaW([a,l,s],[0,this.isLineBelow?0:-p,this.isLineAbove?0:p])),this.adjustOverDepth(r,s),this.adjustUnderDepth(i,l)},e.prototype.markUsed=function(){t.prototype.markUsed.call(this),this.jax.wrapperUsage.add(i.CHTMLmsubsup.kind)},e.kind=c.MmlMunderover.prototype.kind,e.styles={'mjx-munderover:not([limits="false"])':{"padding-top":".1em"},'mjx-munderover:not([limits="false"]) > *':{display:"block"}},e}((0,l.CommonMunderoverMixin)(i.CHTMLmsubsup));e.CHTMLmunderover=h},8650:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},s=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLscriptbase=void 0;var a=r(5355),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(t){this.chtml=this.standardCHTMLnode(t);var e=i(this.getOffset(),2),r=e[0],n=e[1],o=r-(this.baseRemoveIc?this.baseIc:0),s={"vertical-align":this.em(n)};o&&(s["margin-left"]=this.em(o)),this.baseChild.toCHTML(this.chtml),this.scriptChild.toCHTML(this.adaptor.append(this.chtml,this.html("mjx-script",{style:s})))},e.prototype.setDeltaW=function(t,e){for(var r=0;r=0||this.adaptor.setStyle(t,"marginBottom",this.em(e.d*e.rscale))},e.prototype.adjustUnderDepth=function(t,e){var r,n;if(!(e.d>=0)){var o=this.adaptor,i=this.em(e.d),a=this.html("mjx-box",{style:{"margin-bottom":i,"vertical-align":i}});try{for(var l=s(o.childNodes(o.firstChild(t))),c=l.next();!c.done;c=l.next()){var u=c.value;o.append(a,u)}}catch(t){r={error:t}}finally{try{c&&!c.done&&(n=l.return)&&n.call(l)}finally{if(r)throw r.error}}o.append(o.firstChild(t),a)}},e.prototype.adjustBaseHeight=function(t,e){if(this.node.attributes.get("accent")){var r=this.font.params.x_height*e.scale;e.h\\338"},8816:{c:"\\2264\\338"},8817:{c:"\\2265\\338"},8832:{c:"\\227A\\338"},8833:{c:"\\227B\\338"},8836:{c:"\\2282\\338"},8837:{c:"\\2283\\338"},8840:{c:"\\2286\\338"},8841:{c:"\\2287\\338"},8876:{c:"\\22A2\\338"},8877:{c:"\\22A8\\338"},8930:{c:"\\2291\\338"},8931:{c:"\\2292\\338"},9001:{c:"\\27E8"},9002:{c:"\\27E9"},9653:{c:"\\25B3"},9663:{c:"\\25BD"},10072:{c:"\\2223"},10744:{c:"/",f:"BI"},10799:{c:"\\D7"},12296:{c:"\\27E8"},12297:{c:"\\27E9"}})},4515:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.doubleStruck=void 0;var n=r(6001);Object.defineProperty(e,"doubleStruck",{enumerable:!0,get:function(){return n.doubleStruck}})},6555:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.frakturBold=void 0;var n=r(8042),o=r(3696);e.frakturBold=(0,n.AddCSS)(o.frakturBold,{8260:{c:"/"}})},2183:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.fraktur=void 0;var n=r(8042),o=r(9587);e.fraktur=(0,n.AddCSS)(o.fraktur,{8260:{c:"/"}})},3490:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.italic=void 0;var n=r(8042),o=r(8348);e.italic=(0,n.AddCSS)(o.italic,{47:{f:"I"},989:{c:"\\E008",f:"A"},8213:{c:"\\2014"},8215:{c:"_"},8260:{c:"/",f:"I"},8710:{c:"\\394",f:"I"},10744:{c:"/",f:"I"}})},9056:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.largeop=void 0;var n=r(8042),o=r(1376);e.largeop=(0,n.AddCSS)(o.largeop,{8214:{f:"S1"},8260:{c:"/"},8593:{f:"S1"},8595:{f:"S1"},8657:{f:"S1"},8659:{f:"S1"},8739:{f:"S1"},8741:{f:"S1"},9001:{c:"\\27E8"},9002:{c:"\\27E9"},9168:{f:"S1"},10072:{c:"\\2223",f:"S1"},10764:{c:"\\222C\\222C"},12296:{c:"\\27E8"},12297:{c:"\\27E9"}})},3019:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.monospace=void 0;var n=r(8042),o=r(1439);e.monospace=(0,n.AddCSS)(o.monospace,{697:{c:"\\2032"},913:{c:"A"},914:{c:"B"},917:{c:"E"},918:{c:"Z"},919:{c:"H"},921:{c:"I"},922:{c:"K"},924:{c:"M"},925:{c:"N"},927:{c:"O"},929:{c:"P"},932:{c:"T"},935:{c:"X"},8215:{c:"_"},8243:{c:"\\2032\\2032"},8244:{c:"\\2032\\2032\\2032"},8260:{c:"/"},8279:{c:"\\2032\\2032\\2032\\2032"},8710:{c:"\\394"}})},2713:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.normal=void 0;var n=r(8042),o=r(331);e.normal=(0,n.AddCSS)(o.normal,{163:{f:"MI"},165:{f:"A"},174:{f:"A"},183:{c:"\\22C5"},240:{f:"A"},697:{c:"\\2032"},913:{c:"A"},914:{c:"B"},917:{c:"E"},918:{c:"Z"},919:{c:"H"},921:{c:"I"},922:{c:"K"},924:{c:"M"},925:{c:"N"},927:{c:"O"},929:{c:"P"},932:{c:"T"},935:{c:"X"},8192:{c:""},8193:{c:""},8194:{c:""},8195:{c:""},8196:{c:""},8197:{c:""},8198:{c:""},8201:{c:""},8202:{c:""},8203:{c:""},8204:{c:""},8213:{c:"\\2014"},8214:{c:"\\2225"},8215:{c:"_"},8226:{c:"\\2219"},8243:{c:"\\2032\\2032"},8244:{c:"\\2032\\2032\\2032"},8245:{f:"A"},8246:{c:"\\2035\\2035",f:"A"},8247:{c:"\\2035\\2035\\2035",f:"A"},8254:{c:"\\2C9"},8260:{c:"/"},8279:{c:"\\2032\\2032\\2032\\2032"},8288:{c:""},8289:{c:""},8290:{c:""},8291:{c:""},8292:{c:""},8407:{c:"\\2192",f:"V"},8450:{c:"C",f:"A"},8459:{c:"H",f:"SC"},8460:{c:"H",f:"FR"},8461:{c:"H",f:"A"},8462:{c:"h",f:"I"},8463:{f:"A"},8464:{c:"I",f:"SC"},8465:{c:"I",f:"FR"},8466:{c:"L",f:"SC"},8469:{c:"N",f:"A"},8473:{c:"P",f:"A"},8474:{c:"Q",f:"A"},8475:{c:"R",f:"SC"},8476:{c:"R",f:"FR"},8477:{c:"R",f:"A"},8484:{c:"Z",f:"A"},8486:{c:"\\3A9"},8487:{f:"A"},8488:{c:"Z",f:"FR"},8492:{c:"B",f:"SC"},8493:{c:"C",f:"FR"},8496:{c:"E",f:"SC"},8497:{c:"F",f:"SC"},8498:{f:"A"},8499:{c:"M",f:"SC"},8502:{f:"A"},8503:{f:"A"},8504:{f:"A"},8513:{f:"A"},8602:{f:"A"},8603:{f:"A"},8606:{f:"A"},8608:{f:"A"},8610:{f:"A"},8611:{f:"A"},8619:{f:"A"},8620:{f:"A"},8621:{f:"A"},8622:{f:"A"},8624:{f:"A"},8625:{f:"A"},8630:{f:"A"},8631:{f:"A"},8634:{f:"A"},8635:{f:"A"},8638:{f:"A"},8639:{f:"A"},8642:{f:"A"},8643:{f:"A"},8644:{f:"A"},8646:{f:"A"},8647:{f:"A"},8648:{f:"A"},8649:{f:"A"},8650:{f:"A"},8651:{f:"A"},8653:{f:"A"},8654:{f:"A"},8655:{f:"A"},8666:{f:"A"},8667:{f:"A"},8669:{f:"A"},8672:{f:"A"},8674:{f:"A"},8705:{f:"A"},8708:{c:"\\2203\\338"},8710:{c:"\\394"},8716:{c:"\\220B\\338"},8717:{f:"A"},8719:{f:"S1"},8720:{f:"S1"},8721:{f:"S1"},8724:{f:"A"},8737:{f:"A"},8738:{f:"A"},8740:{f:"A"},8742:{f:"A"},8748:{f:"S1"},8749:{f:"S1"},8750:{f:"S1"},8756:{f:"A"},8757:{f:"A"},8765:{f:"A"},8769:{f:"A"},8770:{f:"A"},8772:{c:"\\2243\\338"},8775:{c:"\\2246",f:"A"},8777:{c:"\\2248\\338"},8778:{f:"A"},8782:{f:"A"},8783:{f:"A"},8785:{f:"A"},8786:{f:"A"},8787:{f:"A"},8790:{f:"A"},8791:{f:"A"},8796:{f:"A"},8802:{c:"\\2261\\338"},8806:{f:"A"},8807:{f:"A"},8808:{f:"A"},8809:{f:"A"},8812:{f:"A"},8813:{c:"\\224D\\338"},8814:{f:"A"},8815:{f:"A"},8816:{f:"A"},8817:{f:"A"},8818:{f:"A"},8819:{f:"A"},8820:{c:"\\2272\\338"},8821:{c:"\\2273\\338"},8822:{f:"A"},8823:{f:"A"},8824:{c:"\\2276\\338"},8825:{c:"\\2277\\338"},8828:{f:"A"},8829:{f:"A"},8830:{f:"A"},8831:{f:"A"},8832:{f:"A"},8833:{f:"A"},8836:{c:"\\2282\\338"},8837:{c:"\\2283\\338"},8840:{f:"A"},8841:{f:"A"},8842:{f:"A"},8843:{f:"A"},8847:{f:"A"},8848:{f:"A"},8858:{f:"A"},8859:{f:"A"},8861:{f:"A"},8862:{f:"A"},8863:{f:"A"},8864:{f:"A"},8865:{f:"A"},8873:{f:"A"},8874:{f:"A"},8876:{f:"A"},8877:{f:"A"},8878:{f:"A"},8879:{f:"A"},8882:{f:"A"},8883:{f:"A"},8884:{f:"A"},8885:{f:"A"},8888:{f:"A"},8890:{f:"A"},8891:{f:"A"},8892:{f:"A"},8896:{f:"S1"},8897:{f:"S1"},8898:{f:"S1"},8899:{f:"S1"},8903:{f:"A"},8905:{f:"A"},8906:{f:"A"},8907:{f:"A"},8908:{f:"A"},8909:{f:"A"},8910:{f:"A"},8911:{f:"A"},8912:{f:"A"},8913:{f:"A"},8914:{f:"A"},8915:{f:"A"},8916:{f:"A"},8918:{f:"A"},8919:{f:"A"},8920:{f:"A"},8921:{f:"A"},8922:{f:"A"},8923:{f:"A"},8926:{f:"A"},8927:{f:"A"},8928:{f:"A"},8929:{f:"A"},8930:{c:"\\2291\\338"},8931:{c:"\\2292\\338"},8934:{f:"A"},8935:{f:"A"},8936:{f:"A"},8937:{f:"A"},8938:{f:"A"},8939:{f:"A"},8940:{f:"A"},8941:{f:"A"},8965:{c:"\\22BC",f:"A"},8966:{c:"\\2A5E",f:"A"},8988:{c:"\\250C",f:"A"},8989:{c:"\\2510",f:"A"},8990:{c:"\\2514",f:"A"},8991:{c:"\\2518",f:"A"},9001:{c:"\\27E8"},9002:{c:"\\27E9"},9168:{f:"S1"},9416:{f:"A"},9484:{f:"A"},9488:{f:"A"},9492:{f:"A"},9496:{f:"A"},9585:{f:"A"},9586:{f:"A"},9632:{f:"A"},9633:{f:"A"},9642:{c:"\\25A0",f:"A"},9650:{f:"A"},9652:{c:"\\25B2",f:"A"},9653:{c:"\\25B3"},9654:{f:"A"},9656:{c:"\\25B6",f:"A"},9660:{f:"A"},9662:{c:"\\25BC",f:"A"},9663:{c:"\\25BD"},9664:{f:"A"},9666:{c:"\\25C0",f:"A"},9674:{f:"A"},9723:{c:"\\25A1",f:"A"},9724:{c:"\\25A0",f:"A"},9733:{f:"A"},10003:{f:"A"},10016:{f:"A"},10072:{c:"\\2223"},10731:{f:"A"},10744:{c:"/",f:"I"},10752:{f:"S1"},10753:{f:"S1"},10754:{f:"S1"},10756:{f:"S1"},10758:{f:"S1"},10764:{c:"\\222C\\222C",f:"S1"},10799:{c:"\\D7"},10846:{f:"A"},10877:{f:"A"},10878:{f:"A"},10885:{f:"A"},10886:{f:"A"},10887:{f:"A"},10888:{f:"A"},10889:{f:"A"},10890:{f:"A"},10891:{f:"A"},10892:{f:"A"},10901:{f:"A"},10902:{f:"A"},10933:{f:"A"},10934:{f:"A"},10935:{f:"A"},10936:{f:"A"},10937:{f:"A"},10938:{f:"A"},10949:{f:"A"},10950:{f:"A"},10955:{f:"A"},10956:{f:"A"},12296:{c:"\\27E8"},12297:{c:"\\27E9"},57350:{f:"A"},57351:{f:"A"},57352:{f:"A"},57353:{f:"A"},57356:{f:"A"},57357:{f:"A"},57358:{f:"A"},57359:{f:"A"},57360:{f:"A"},57361:{f:"A"},57366:{f:"A"},57367:{f:"A"},57368:{f:"A"},57369:{f:"A"},57370:{f:"A"},57371:{f:"A"},119808:{c:"A",f:"B"},119809:{c:"B",f:"B"},119810:{c:"C",f:"B"},119811:{c:"D",f:"B"},119812:{c:"E",f:"B"},119813:{c:"F",f:"B"},119814:{c:"G",f:"B"},119815:{c:"H",f:"B"},119816:{c:"I",f:"B"},119817:{c:"J",f:"B"},119818:{c:"K",f:"B"},119819:{c:"L",f:"B"},119820:{c:"M",f:"B"},119821:{c:"N",f:"B"},119822:{c:"O",f:"B"},119823:{c:"P",f:"B"},119824:{c:"Q",f:"B"},119825:{c:"R",f:"B"},119826:{c:"S",f:"B"},119827:{c:"T",f:"B"},119828:{c:"U",f:"B"},119829:{c:"V",f:"B"},119830:{c:"W",f:"B"},119831:{c:"X",f:"B"},119832:{c:"Y",f:"B"},119833:{c:"Z",f:"B"},119834:{c:"a",f:"B"},119835:{c:"b",f:"B"},119836:{c:"c",f:"B"},119837:{c:"d",f:"B"},119838:{c:"e",f:"B"},119839:{c:"f",f:"B"},119840:{c:"g",f:"B"},119841:{c:"h",f:"B"},119842:{c:"i",f:"B"},119843:{c:"j",f:"B"},119844:{c:"k",f:"B"},119845:{c:"l",f:"B"},119846:{c:"m",f:"B"},119847:{c:"n",f:"B"},119848:{c:"o",f:"B"},119849:{c:"p",f:"B"},119850:{c:"q",f:"B"},119851:{c:"r",f:"B"},119852:{c:"s",f:"B"},119853:{c:"t",f:"B"},119854:{c:"u",f:"B"},119855:{c:"v",f:"B"},119856:{c:"w",f:"B"},119857:{c:"x",f:"B"},119858:{c:"y",f:"B"},119859:{c:"z",f:"B"},119860:{c:"A",f:"I"},119861:{c:"B",f:"I"},119862:{c:"C",f:"I"},119863:{c:"D",f:"I"},119864:{c:"E",f:"I"},119865:{c:"F",f:"I"},119866:{c:"G",f:"I"},119867:{c:"H",f:"I"},119868:{c:"I",f:"I"},119869:{c:"J",f:"I"},119870:{c:"K",f:"I"},119871:{c:"L",f:"I"},119872:{c:"M",f:"I"},119873:{c:"N",f:"I"},119874:{c:"O",f:"I"},119875:{c:"P",f:"I"},119876:{c:"Q",f:"I"},119877:{c:"R",f:"I"},119878:{c:"S",f:"I"},119879:{c:"T",f:"I"},119880:{c:"U",f:"I"},119881:{c:"V",f:"I"},119882:{c:"W",f:"I"},119883:{c:"X",f:"I"},119884:{c:"Y",f:"I"},119885:{c:"Z",f:"I"},119886:{c:"a",f:"I"},119887:{c:"b",f:"I"},119888:{c:"c",f:"I"},119889:{c:"d",f:"I"},119890:{c:"e",f:"I"},119891:{c:"f",f:"I"},119892:{c:"g",f:"I"},119894:{c:"i",f:"I"},119895:{c:"j",f:"I"},119896:{c:"k",f:"I"},119897:{c:"l",f:"I"},119898:{c:"m",f:"I"},119899:{c:"n",f:"I"},119900:{c:"o",f:"I"},119901:{c:"p",f:"I"},119902:{c:"q",f:"I"},119903:{c:"r",f:"I"},119904:{c:"s",f:"I"},119905:{c:"t",f:"I"},119906:{c:"u",f:"I"},119907:{c:"v",f:"I"},119908:{c:"w",f:"I"},119909:{c:"x",f:"I"},119910:{c:"y",f:"I"},119911:{c:"z",f:"I"},119912:{c:"A",f:"BI"},119913:{c:"B",f:"BI"},119914:{c:"C",f:"BI"},119915:{c:"D",f:"BI"},119916:{c:"E",f:"BI"},119917:{c:"F",f:"BI"},119918:{c:"G",f:"BI"},119919:{c:"H",f:"BI"},119920:{c:"I",f:"BI"},119921:{c:"J",f:"BI"},119922:{c:"K",f:"BI"},119923:{c:"L",f:"BI"},119924:{c:"M",f:"BI"},119925:{c:"N",f:"BI"},119926:{c:"O",f:"BI"},119927:{c:"P",f:"BI"},119928:{c:"Q",f:"BI"},119929:{c:"R",f:"BI"},119930:{c:"S",f:"BI"},119931:{c:"T",f:"BI"},119932:{c:"U",f:"BI"},119933:{c:"V",f:"BI"},119934:{c:"W",f:"BI"},119935:{c:"X",f:"BI"},119936:{c:"Y",f:"BI"},119937:{c:"Z",f:"BI"},119938:{c:"a",f:"BI"},119939:{c:"b",f:"BI"},119940:{c:"c",f:"BI"},119941:{c:"d",f:"BI"},119942:{c:"e",f:"BI"},119943:{c:"f",f:"BI"},119944:{c:"g",f:"BI"},119945:{c:"h",f:"BI"},119946:{c:"i",f:"BI"},119947:{c:"j",f:"BI"},119948:{c:"k",f:"BI"},119949:{c:"l",f:"BI"},119950:{c:"m",f:"BI"},119951:{c:"n",f:"BI"},119952:{c:"o",f:"BI"},119953:{c:"p",f:"BI"},119954:{c:"q",f:"BI"},119955:{c:"r",f:"BI"},119956:{c:"s",f:"BI"},119957:{c:"t",f:"BI"},119958:{c:"u",f:"BI"},119959:{c:"v",f:"BI"},119960:{c:"w",f:"BI"},119961:{c:"x",f:"BI"},119962:{c:"y",f:"BI"},119963:{c:"z",f:"BI"},119964:{c:"A",f:"SC"},119966:{c:"C",f:"SC"},119967:{c:"D",f:"SC"},119970:{c:"G",f:"SC"},119973:{c:"J",f:"SC"},119974:{c:"K",f:"SC"},119977:{c:"N",f:"SC"},119978:{c:"O",f:"SC"},119979:{c:"P",f:"SC"},119980:{c:"Q",f:"SC"},119982:{c:"S",f:"SC"},119983:{c:"T",f:"SC"},119984:{c:"U",f:"SC"},119985:{c:"V",f:"SC"},119986:{c:"W",f:"SC"},119987:{c:"X",f:"SC"},119988:{c:"Y",f:"SC"},119989:{c:"Z",f:"SC"},120068:{c:"A",f:"FR"},120069:{c:"B",f:"FR"},120071:{c:"D",f:"FR"},120072:{c:"E",f:"FR"},120073:{c:"F",f:"FR"},120074:{c:"G",f:"FR"},120077:{c:"J",f:"FR"},120078:{c:"K",f:"FR"},120079:{c:"L",f:"FR"},120080:{c:"M",f:"FR"},120081:{c:"N",f:"FR"},120082:{c:"O",f:"FR"},120083:{c:"P",f:"FR"},120084:{c:"Q",f:"FR"},120086:{c:"S",f:"FR"},120087:{c:"T",f:"FR"},120088:{c:"U",f:"FR"},120089:{c:"V",f:"FR"},120090:{c:"W",f:"FR"},120091:{c:"X",f:"FR"},120092:{c:"Y",f:"FR"},120094:{c:"a",f:"FR"},120095:{c:"b",f:"FR"},120096:{c:"c",f:"FR"},120097:{c:"d",f:"FR"},120098:{c:"e",f:"FR"},120099:{c:"f",f:"FR"},120100:{c:"g",f:"FR"},120101:{c:"h",f:"FR"},120102:{c:"i",f:"FR"},120103:{c:"j",f:"FR"},120104:{c:"k",f:"FR"},120105:{c:"l",f:"FR"},120106:{c:"m",f:"FR"},120107:{c:"n",f:"FR"},120108:{c:"o",f:"FR"},120109:{c:"p",f:"FR"},120110:{c:"q",f:"FR"},120111:{c:"r",f:"FR"},120112:{c:"s",f:"FR"},120113:{c:"t",f:"FR"},120114:{c:"u",f:"FR"},120115:{c:"v",f:"FR"},120116:{c:"w",f:"FR"},120117:{c:"x",f:"FR"},120118:{c:"y",f:"FR"},120119:{c:"z",f:"FR"},120120:{c:"A",f:"A"},120121:{c:"B",f:"A"},120123:{c:"D",f:"A"},120124:{c:"E",f:"A"},120125:{c:"F",f:"A"},120126:{c:"G",f:"A"},120128:{c:"I",f:"A"},120129:{c:"J",f:"A"},120130:{c:"K",f:"A"},120131:{c:"L",f:"A"},120132:{c:"M",f:"A"},120134:{c:"O",f:"A"},120138:{c:"S",f:"A"},120139:{c:"T",f:"A"},120140:{c:"U",f:"A"},120141:{c:"V",f:"A"},120142:{c:"W",f:"A"},120143:{c:"X",f:"A"},120144:{c:"Y",f:"A"},120172:{c:"A",f:"FRB"},120173:{c:"B",f:"FRB"},120174:{c:"C",f:"FRB"},120175:{c:"D",f:"FRB"},120176:{c:"E",f:"FRB"},120177:{c:"F",f:"FRB"},120178:{c:"G",f:"FRB"},120179:{c:"H",f:"FRB"},120180:{c:"I",f:"FRB"},120181:{c:"J",f:"FRB"},120182:{c:"K",f:"FRB"},120183:{c:"L",f:"FRB"},120184:{c:"M",f:"FRB"},120185:{c:"N",f:"FRB"},120186:{c:"O",f:"FRB"},120187:{c:"P",f:"FRB"},120188:{c:"Q",f:"FRB"},120189:{c:"R",f:"FRB"},120190:{c:"S",f:"FRB"},120191:{c:"T",f:"FRB"},120192:{c:"U",f:"FRB"},120193:{c:"V",f:"FRB"},120194:{c:"W",f:"FRB"},120195:{c:"X",f:"FRB"},120196:{c:"Y",f:"FRB"},120197:{c:"Z",f:"FRB"},120198:{c:"a",f:"FRB"},120199:{c:"b",f:"FRB"},120200:{c:"c",f:"FRB"},120201:{c:"d",f:"FRB"},120202:{c:"e",f:"FRB"},120203:{c:"f",f:"FRB"},120204:{c:"g",f:"FRB"},120205:{c:"h",f:"FRB"},120206:{c:"i",f:"FRB"},120207:{c:"j",f:"FRB"},120208:{c:"k",f:"FRB"},120209:{c:"l",f:"FRB"},120210:{c:"m",f:"FRB"},120211:{c:"n",f:"FRB"},120212:{c:"o",f:"FRB"},120213:{c:"p",f:"FRB"},120214:{c:"q",f:"FRB"},120215:{c:"r",f:"FRB"},120216:{c:"s",f:"FRB"},120217:{c:"t",f:"FRB"},120218:{c:"u",f:"FRB"},120219:{c:"v",f:"FRB"},120220:{c:"w",f:"FRB"},120221:{c:"x",f:"FRB"},120222:{c:"y",f:"FRB"},120223:{c:"z",f:"FRB"},120224:{c:"A",f:"SS"},120225:{c:"B",f:"SS"},120226:{c:"C",f:"SS"},120227:{c:"D",f:"SS"},120228:{c:"E",f:"SS"},120229:{c:"F",f:"SS"},120230:{c:"G",f:"SS"},120231:{c:"H",f:"SS"},120232:{c:"I",f:"SS"},120233:{c:"J",f:"SS"},120234:{c:"K",f:"SS"},120235:{c:"L",f:"SS"},120236:{c:"M",f:"SS"},120237:{c:"N",f:"SS"},120238:{c:"O",f:"SS"},120239:{c:"P",f:"SS"},120240:{c:"Q",f:"SS"},120241:{c:"R",f:"SS"},120242:{c:"S",f:"SS"},120243:{c:"T",f:"SS"},120244:{c:"U",f:"SS"},120245:{c:"V",f:"SS"},120246:{c:"W",f:"SS"},120247:{c:"X",f:"SS"},120248:{c:"Y",f:"SS"},120249:{c:"Z",f:"SS"},120250:{c:"a",f:"SS"},120251:{c:"b",f:"SS"},120252:{c:"c",f:"SS"},120253:{c:"d",f:"SS"},120254:{c:"e",f:"SS"},120255:{c:"f",f:"SS"},120256:{c:"g",f:"SS"},120257:{c:"h",f:"SS"},120258:{c:"i",f:"SS"},120259:{c:"j",f:"SS"},120260:{c:"k",f:"SS"},120261:{c:"l",f:"SS"},120262:{c:"m",f:"SS"},120263:{c:"n",f:"SS"},120264:{c:"o",f:"SS"},120265:{c:"p",f:"SS"},120266:{c:"q",f:"SS"},120267:{c:"r",f:"SS"},120268:{c:"s",f:"SS"},120269:{c:"t",f:"SS"},120270:{c:"u",f:"SS"},120271:{c:"v",f:"SS"},120272:{c:"w",f:"SS"},120273:{c:"x",f:"SS"},120274:{c:"y",f:"SS"},120275:{c:"z",f:"SS"},120276:{c:"A",f:"SSB"},120277:{c:"B",f:"SSB"},120278:{c:"C",f:"SSB"},120279:{c:"D",f:"SSB"},120280:{c:"E",f:"SSB"},120281:{c:"F",f:"SSB"},120282:{c:"G",f:"SSB"},120283:{c:"H",f:"SSB"},120284:{c:"I",f:"SSB"},120285:{c:"J",f:"SSB"},120286:{c:"K",f:"SSB"},120287:{c:"L",f:"SSB"},120288:{c:"M",f:"SSB"},120289:{c:"N",f:"SSB"},120290:{c:"O",f:"SSB"},120291:{c:"P",f:"SSB"},120292:{c:"Q",f:"SSB"},120293:{c:"R",f:"SSB"},120294:{c:"S",f:"SSB"},120295:{c:"T",f:"SSB"},120296:{c:"U",f:"SSB"},120297:{c:"V",f:"SSB"},120298:{c:"W",f:"SSB"},120299:{c:"X",f:"SSB"},120300:{c:"Y",f:"SSB"},120301:{c:"Z",f:"SSB"},120302:{c:"a",f:"SSB"},120303:{c:"b",f:"SSB"},120304:{c:"c",f:"SSB"},120305:{c:"d",f:"SSB"},120306:{c:"e",f:"SSB"},120307:{c:"f",f:"SSB"},120308:{c:"g",f:"SSB"},120309:{c:"h",f:"SSB"},120310:{c:"i",f:"SSB"},120311:{c:"j",f:"SSB"},120312:{c:"k",f:"SSB"},120313:{c:"l",f:"SSB"},120314:{c:"m",f:"SSB"},120315:{c:"n",f:"SSB"},120316:{c:"o",f:"SSB"},120317:{c:"p",f:"SSB"},120318:{c:"q",f:"SSB"},120319:{c:"r",f:"SSB"},120320:{c:"s",f:"SSB"},120321:{c:"t",f:"SSB"},120322:{c:"u",f:"SSB"},120323:{c:"v",f:"SSB"},120324:{c:"w",f:"SSB"},120325:{c:"x",f:"SSB"},120326:{c:"y",f:"SSB"},120327:{c:"z",f:"SSB"},120328:{c:"A",f:"SSI"},120329:{c:"B",f:"SSI"},120330:{c:"C",f:"SSI"},120331:{c:"D",f:"SSI"},120332:{c:"E",f:"SSI"},120333:{c:"F",f:"SSI"},120334:{c:"G",f:"SSI"},120335:{c:"H",f:"SSI"},120336:{c:"I",f:"SSI"},120337:{c:"J",f:"SSI"},120338:{c:"K",f:"SSI"},120339:{c:"L",f:"SSI"},120340:{c:"M",f:"SSI"},120341:{c:"N",f:"SSI"},120342:{c:"O",f:"SSI"},120343:{c:"P",f:"SSI"},120344:{c:"Q",f:"SSI"},120345:{c:"R",f:"SSI"},120346:{c:"S",f:"SSI"},120347:{c:"T",f:"SSI"},120348:{c:"U",f:"SSI"},120349:{c:"V",f:"SSI"},120350:{c:"W",f:"SSI"},120351:{c:"X",f:"SSI"},120352:{c:"Y",f:"SSI"},120353:{c:"Z",f:"SSI"},120354:{c:"a",f:"SSI"},120355:{c:"b",f:"SSI"},120356:{c:"c",f:"SSI"},120357:{c:"d",f:"SSI"},120358:{c:"e",f:"SSI"},120359:{c:"f",f:"SSI"},120360:{c:"g",f:"SSI"},120361:{c:"h",f:"SSI"},120362:{c:"i",f:"SSI"},120363:{c:"j",f:"SSI"},120364:{c:"k",f:"SSI"},120365:{c:"l",f:"SSI"},120366:{c:"m",f:"SSI"},120367:{c:"n",f:"SSI"},120368:{c:"o",f:"SSI"},120369:{c:"p",f:"SSI"},120370:{c:"q",f:"SSI"},120371:{c:"r",f:"SSI"},120372:{c:"s",f:"SSI"},120373:{c:"t",f:"SSI"},120374:{c:"u",f:"SSI"},120375:{c:"v",f:"SSI"},120376:{c:"w",f:"SSI"},120377:{c:"x",f:"SSI"},120378:{c:"y",f:"SSI"},120379:{c:"z",f:"SSI"},120432:{c:"A",f:"T"},120433:{c:"B",f:"T"},120434:{c:"C",f:"T"},120435:{c:"D",f:"T"},120436:{c:"E",f:"T"},120437:{c:"F",f:"T"},120438:{c:"G",f:"T"},120439:{c:"H",f:"T"},120440:{c:"I",f:"T"},120441:{c:"J",f:"T"},120442:{c:"K",f:"T"},120443:{c:"L",f:"T"},120444:{c:"M",f:"T"},120445:{c:"N",f:"T"},120446:{c:"O",f:"T"},120447:{c:"P",f:"T"},120448:{c:"Q",f:"T"},120449:{c:"R",f:"T"},120450:{c:"S",f:"T"},120451:{c:"T",f:"T"},120452:{c:"U",f:"T"},120453:{c:"V",f:"T"},120454:{c:"W",f:"T"},120455:{c:"X",f:"T"},120456:{c:"Y",f:"T"},120457:{c:"Z",f:"T"},120458:{c:"a",f:"T"},120459:{c:"b",f:"T"},120460:{c:"c",f:"T"},120461:{c:"d",f:"T"},120462:{c:"e",f:"T"},120463:{c:"f",f:"T"},120464:{c:"g",f:"T"},120465:{c:"h",f:"T"},120466:{c:"i",f:"T"},120467:{c:"j",f:"T"},120468:{c:"k",f:"T"},120469:{c:"l",f:"T"},120470:{c:"m",f:"T"},120471:{c:"n",f:"T"},120472:{c:"o",f:"T"},120473:{c:"p",f:"T"},120474:{c:"q",f:"T"},120475:{c:"r",f:"T"},120476:{c:"s",f:"T"},120477:{c:"t",f:"T"},120478:{c:"u",f:"T"},120479:{c:"v",f:"T"},120480:{c:"w",f:"T"},120481:{c:"x",f:"T"},120482:{c:"y",f:"T"},120483:{c:"z",f:"T"},120488:{c:"A",f:"B"},120489:{c:"B",f:"B"},120490:{c:"\\393",f:"B"},120491:{c:"\\394",f:"B"},120492:{c:"E",f:"B"},120493:{c:"Z",f:"B"},120494:{c:"H",f:"B"},120495:{c:"\\398",f:"B"},120496:{c:"I",f:"B"},120497:{c:"K",f:"B"},120498:{c:"\\39B",f:"B"},120499:{c:"M",f:"B"},120500:{c:"N",f:"B"},120501:{c:"\\39E",f:"B"},120502:{c:"O",f:"B"},120503:{c:"\\3A0",f:"B"},120504:{c:"P",f:"B"},120506:{c:"\\3A3",f:"B"},120507:{c:"T",f:"B"},120508:{c:"\\3A5",f:"B"},120509:{c:"\\3A6",f:"B"},120510:{c:"X",f:"B"},120511:{c:"\\3A8",f:"B"},120512:{c:"\\3A9",f:"B"},120513:{c:"\\2207",f:"B"},120546:{c:"A",f:"I"},120547:{c:"B",f:"I"},120548:{c:"\\393",f:"I"},120549:{c:"\\394",f:"I"},120550:{c:"E",f:"I"},120551:{c:"Z",f:"I"},120552:{c:"H",f:"I"},120553:{c:"\\398",f:"I"},120554:{c:"I",f:"I"},120555:{c:"K",f:"I"},120556:{c:"\\39B",f:"I"},120557:{c:"M",f:"I"},120558:{c:"N",f:"I"},120559:{c:"\\39E",f:"I"},120560:{c:"O",f:"I"},120561:{c:"\\3A0",f:"I"},120562:{c:"P",f:"I"},120564:{c:"\\3A3",f:"I"},120565:{c:"T",f:"I"},120566:{c:"\\3A5",f:"I"},120567:{c:"\\3A6",f:"I"},120568:{c:"X",f:"I"},120569:{c:"\\3A8",f:"I"},120570:{c:"\\3A9",f:"I"},120572:{c:"\\3B1",f:"I"},120573:{c:"\\3B2",f:"I"},120574:{c:"\\3B3",f:"I"},120575:{c:"\\3B4",f:"I"},120576:{c:"\\3B5",f:"I"},120577:{c:"\\3B6",f:"I"},120578:{c:"\\3B7",f:"I"},120579:{c:"\\3B8",f:"I"},120580:{c:"\\3B9",f:"I"},120581:{c:"\\3BA",f:"I"},120582:{c:"\\3BB",f:"I"},120583:{c:"\\3BC",f:"I"},120584:{c:"\\3BD",f:"I"},120585:{c:"\\3BE",f:"I"},120586:{c:"\\3BF",f:"I"},120587:{c:"\\3C0",f:"I"},120588:{c:"\\3C1",f:"I"},120589:{c:"\\3C2",f:"I"},120590:{c:"\\3C3",f:"I"},120591:{c:"\\3C4",f:"I"},120592:{c:"\\3C5",f:"I"},120593:{c:"\\3C6",f:"I"},120594:{c:"\\3C7",f:"I"},120595:{c:"\\3C8",f:"I"},120596:{c:"\\3C9",f:"I"},120597:{c:"\\2202"},120598:{c:"\\3F5",f:"I"},120599:{c:"\\3D1",f:"I"},120600:{c:"\\E009",f:"A"},120601:{c:"\\3D5",f:"I"},120602:{c:"\\3F1",f:"I"},120603:{c:"\\3D6",f:"I"},120604:{c:"A",f:"BI"},120605:{c:"B",f:"BI"},120606:{c:"\\393",f:"BI"},120607:{c:"\\394",f:"BI"},120608:{c:"E",f:"BI"},120609:{c:"Z",f:"BI"},120610:{c:"H",f:"BI"},120611:{c:"\\398",f:"BI"},120612:{c:"I",f:"BI"},120613:{c:"K",f:"BI"},120614:{c:"\\39B",f:"BI"},120615:{c:"M",f:"BI"},120616:{c:"N",f:"BI"},120617:{c:"\\39E",f:"BI"},120618:{c:"O",f:"BI"},120619:{c:"\\3A0",f:"BI"},120620:{c:"P",f:"BI"},120622:{c:"\\3A3",f:"BI"},120623:{c:"T",f:"BI"},120624:{c:"\\3A5",f:"BI"},120625:{c:"\\3A6",f:"BI"},120626:{c:"X",f:"BI"},120627:{c:"\\3A8",f:"BI"},120628:{c:"\\3A9",f:"BI"},120630:{c:"\\3B1",f:"BI"},120631:{c:"\\3B2",f:"BI"},120632:{c:"\\3B3",f:"BI"},120633:{c:"\\3B4",f:"BI"},120634:{c:"\\3B5",f:"BI"},120635:{c:"\\3B6",f:"BI"},120636:{c:"\\3B7",f:"BI"},120637:{c:"\\3B8",f:"BI"},120638:{c:"\\3B9",f:"BI"},120639:{c:"\\3BA",f:"BI"},120640:{c:"\\3BB",f:"BI"},120641:{c:"\\3BC",f:"BI"},120642:{c:"\\3BD",f:"BI"},120643:{c:"\\3BE",f:"BI"},120644:{c:"\\3BF",f:"BI"},120645:{c:"\\3C0",f:"BI"},120646:{c:"\\3C1",f:"BI"},120647:{c:"\\3C2",f:"BI"},120648:{c:"\\3C3",f:"BI"},120649:{c:"\\3C4",f:"BI"},120650:{c:"\\3C5",f:"BI"},120651:{c:"\\3C6",f:"BI"},120652:{c:"\\3C7",f:"BI"},120653:{c:"\\3C8",f:"BI"},120654:{c:"\\3C9",f:"BI"},120655:{c:"\\2202",f:"B"},120656:{c:"\\3F5",f:"BI"},120657:{c:"\\3D1",f:"BI"},120658:{c:"\\E009",f:"A"},120659:{c:"\\3D5",f:"BI"},120660:{c:"\\3F1",f:"BI"},120661:{c:"\\3D6",f:"BI"},120662:{c:"A",f:"SSB"},120663:{c:"B",f:"SSB"},120664:{c:"\\393",f:"SSB"},120665:{c:"\\394",f:"SSB"},120666:{c:"E",f:"SSB"},120667:{c:"Z",f:"SSB"},120668:{c:"H",f:"SSB"},120669:{c:"\\398",f:"SSB"},120670:{c:"I",f:"SSB"},120671:{c:"K",f:"SSB"},120672:{c:"\\39B",f:"SSB"},120673:{c:"M",f:"SSB"},120674:{c:"N",f:"SSB"},120675:{c:"\\39E",f:"SSB"},120676:{c:"O",f:"SSB"},120677:{c:"\\3A0",f:"SSB"},120678:{c:"P",f:"SSB"},120680:{c:"\\3A3",f:"SSB"},120681:{c:"T",f:"SSB"},120682:{c:"\\3A5",f:"SSB"},120683:{c:"\\3A6",f:"SSB"},120684:{c:"X",f:"SSB"},120685:{c:"\\3A8",f:"SSB"},120686:{c:"\\3A9",f:"SSB"},120782:{c:"0",f:"B"},120783:{c:"1",f:"B"},120784:{c:"2",f:"B"},120785:{c:"3",f:"B"},120786:{c:"4",f:"B"},120787:{c:"5",f:"B"},120788:{c:"6",f:"B"},120789:{c:"7",f:"B"},120790:{c:"8",f:"B"},120791:{c:"9",f:"B"},120802:{c:"0",f:"SS"},120803:{c:"1",f:"SS"},120804:{c:"2",f:"SS"},120805:{c:"3",f:"SS"},120806:{c:"4",f:"SS"},120807:{c:"5",f:"SS"},120808:{c:"6",f:"SS"},120809:{c:"7",f:"SS"},120810:{c:"8",f:"SS"},120811:{c:"9",f:"SS"},120812:{c:"0",f:"SSB"},120813:{c:"1",f:"SSB"},120814:{c:"2",f:"SSB"},120815:{c:"3",f:"SSB"},120816:{c:"4",f:"SSB"},120817:{c:"5",f:"SSB"},120818:{c:"6",f:"SSB"},120819:{c:"7",f:"SSB"},120820:{c:"8",f:"SSB"},120821:{c:"9",f:"SSB"},120822:{c:"0",f:"T"},120823:{c:"1",f:"T"},120824:{c:"2",f:"T"},120825:{c:"3",f:"T"},120826:{c:"4",f:"T"},120827:{c:"5",f:"T"},120828:{c:"6",f:"T"},120829:{c:"7",f:"T"},120830:{c:"8",f:"T"},120831:{c:"9",f:"T"}})},7517:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.sansSerifBoldItalic=void 0;var n=r(8042),o=r(4886);e.sansSerifBoldItalic=(0,n.AddCSS)(o.sansSerifBoldItalic,{305:{f:"SSB"},567:{f:"SSB"}})},4182:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.sansSerifBold=void 0;var n=r(8042),o=r(4471);e.sansSerifBold=(0,n.AddCSS)(o.sansSerifBold,{8213:{c:"\\2014"},8215:{c:"_"},8260:{c:"/"},8710:{c:"\\394"}})},2679:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.sansSerifItalic=void 0;var n=r(8042),o=r(5181);e.sansSerifItalic=(0,n.AddCSS)(o.sansSerifItalic,{913:{c:"A"},914:{c:"B"},917:{c:"E"},918:{c:"Z"},919:{c:"H"},921:{c:"I"},922:{c:"K"},924:{c:"M"},925:{c:"N"},927:{c:"O"},929:{c:"P"},932:{c:"T"},935:{c:"X"},8213:{c:"\\2014"},8215:{c:"_"},8260:{c:"/"},8710:{c:"\\394"}})},5469:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.sansSerif=void 0;var n=r(8042),o=r(3526);e.sansSerif=(0,n.AddCSS)(o.sansSerif,{913:{c:"A"},914:{c:"B"},917:{c:"E"},918:{c:"Z"},919:{c:"H"},921:{c:"I"},922:{c:"K"},924:{c:"M"},925:{c:"N"},927:{c:"O"},929:{c:"P"},932:{c:"T"},935:{c:"X"},8213:{c:"\\2014"},8215:{c:"_"},8260:{c:"/"},8710:{c:"\\394"}})},7563:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.scriptBold=void 0;var n=r(5649);Object.defineProperty(e,"scriptBold",{enumerable:!0,get:function(){return n.scriptBold}})},9409:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.script=void 0;var n=r(7153);Object.defineProperty(e,"script",{enumerable:!0,get:function(){return n.script}})},775:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.smallop=void 0;var n=r(8042),o=r(5745);e.smallop=(0,n.AddCSS)(o.smallop,{8260:{c:"/"},9001:{c:"\\27E8"},9002:{c:"\\27E9"},10072:{c:"\\2223"},10764:{c:"\\222C\\222C"},12296:{c:"\\27E8"},12297:{c:"\\27E9"}})},9551:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.texCalligraphicBold=void 0;var n=r(8042),o=r(1411);e.texCalligraphicBold=(0,n.AddCSS)(o.texCalligraphicBold,{305:{f:"B"},567:{f:"B"}})},7907:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.texCalligraphic=void 0;var n=r(6384);Object.defineProperty(e,"texCalligraphic",{enumerable:!0,get:function(){return n.texCalligraphic}})},9659:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.texMathit=void 0;var n=r(6041);Object.defineProperty(e,"texMathit",{enumerable:!0,get:function(){return n.texMathit}})},98:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.texOldstyleBold=void 0;var n=r(8199);Object.defineProperty(e,"texOldstyleBold",{enumerable:!0,get:function(){return n.texOldstyleBold}})},6275:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.texOldstyle=void 0;var n=r(9848);Object.defineProperty(e,"texOldstyle",{enumerable:!0,get:function(){return n.texOldstyle}})},6530:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.texSize3=void 0;var n=r(8042),o=r(7906);e.texSize3=(0,n.AddCSS)(o.texSize3,{8260:{c:"/"},9001:{c:"\\27E8"},9002:{c:"\\27E9"},12296:{c:"\\27E8"},12297:{c:"\\27E9"}})},4409:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.texSize4=void 0;var n=r(8042),o=r(2644);e.texSize4=(0,n.AddCSS)(o.texSize4,{8260:{c:"/"},9001:{c:"\\27E8"},9002:{c:"\\27E9"},12296:{c:"\\27E8"},12297:{c:"\\27E9"},57685:{c:"\\E153\\E152"},57686:{c:"\\E151\\E150"}})},5292:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.texVariant=void 0;var n=r(8042),o=r(4926);e.texVariant=(0,n.AddCSS)(o.texVariant,{1008:{c:"\\E009"},8463:{f:""},8740:{c:"\\E006"},8742:{c:"\\E007"},8808:{c:"\\E00C"},8809:{c:"\\E00D"},8816:{c:"\\E011"},8817:{c:"\\E00E"},8840:{c:"\\E016"},8841:{c:"\\E018"},8842:{c:"\\E01A"},8843:{c:"\\E01B"},10887:{c:"\\E010"},10888:{c:"\\E00F"},10955:{c:"\\E017"},10956:{c:"\\E019"}})},5884:function(t,e,r){var n=this&&this.__assign||function(){return n=Object.assign||function(t){for(var e,r=1,n=arguments.length;r0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},i=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.FontData=e.NOSTRETCH=e.H=e.V=void 0;var a=r(7233);e.V=1,e.H=2,e.NOSTRETCH={dir:0};var l=function(){function t(t){var e,r,l,c;void 0===t&&(t=null),this.variant={},this.delimiters={},this.cssFontMap={},this.remapChars={},this.skewIcFactor=.75;var u=this.constructor;this.options=(0,a.userOptions)((0,a.defaultOptions)({},u.OPTIONS),t),this.params=n({},u.defaultParams),this.sizeVariants=i([],o(u.defaultSizeVariants),!1),this.stretchVariants=i([],o(u.defaultStretchVariants),!1),this.cssFontMap=n({},u.defaultCssFonts);try{for(var p=s(Object.keys(this.cssFontMap)),h=p.next();!h.done;h=p.next()){var f=h.value;"unknown"===this.cssFontMap[f][0]&&(this.cssFontMap[f][0]=this.options.unknownFamily)}}catch(t){e={error:t}}finally{try{h&&!h.done&&(r=p.return)&&r.call(p)}finally{if(e)throw e.error}}this.cssFamilyPrefix=u.defaultCssFamilyPrefix,this.createVariants(u.defaultVariants),this.defineDelimiters(u.defaultDelimiters);try{for(var d=s(Object.keys(u.defaultChars)),m=d.next();!m.done;m=d.next()){var y=m.value;this.defineChars(y,u.defaultChars[y])}}catch(t){l={error:t}}finally{try{m&&!m.done&&(c=d.return)&&c.call(d)}finally{if(l)throw l.error}}this.defineRemap("accent",u.defaultAccentMap),this.defineRemap("mo",u.defaultMoMap),this.defineRemap("mn",u.defaultMnMap)}return t.charOptions=function(t,e){var r=t[e];return 3===r.length&&(r[3]={}),r[3]},Object.defineProperty(t.prototype,"styles",{get:function(){return this._styles},set:function(t){this._styles=t},enumerable:!1,configurable:!0}),t.prototype.createVariant=function(t,e,r){void 0===e&&(e=null),void 0===r&&(r=null);var n={linked:[],chars:e?Object.create(this.variant[e].chars):{}};r&&this.variant[r]&&(Object.assign(n.chars,this.variant[r].chars),this.variant[r].linked.push(n.chars),n.chars=Object.create(n.chars)),this.remapSmpChars(n.chars,t),this.variant[t]=n},t.prototype.remapSmpChars=function(t,e){var r,n,i,a,l=this.constructor;if(l.VariantSmp[e]){var c=l.SmpRemap,u=[null,null,l.SmpRemapGreekU,l.SmpRemapGreekL];try{for(var p=s(l.SmpRanges),h=p.next();!h.done;h=p.next()){var f=o(h.value,3),d=f[0],m=f[1],y=f[2],g=l.VariantSmp[e][d];if(g){for(var b=m;b<=y;b++)if(930!==b){var v=g+b-m;t[b]=this.smpChar(c[v]||v)}if(u[d])try{for(var _=(i=void 0,s(Object.keys(u[d]).map((function(t){return parseInt(t)})))),S=_.next();!S.done;S=_.next()){t[b=S.value]=this.smpChar(g+u[d][b])}}catch(t){i={error:t}}finally{try{S&&!S.done&&(a=_.return)&&a.call(_)}finally{if(i)throw i.error}}}}}catch(t){r={error:t}}finally{try{h&&!h.done&&(n=p.return)&&n.call(p)}finally{if(r)throw r.error}}}"bold"===e&&(t[988]=this.smpChar(120778),t[989]=this.smpChar(120779))},t.prototype.smpChar=function(t){return[,,,{smp:t}]},t.prototype.createVariants=function(t){var e,r;try{for(var n=s(t),o=n.next();!o.done;o=n.next()){var i=o.value;this.createVariant(i[0],i[1],i[2])}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}},t.prototype.defineChars=function(t,e){var r,n,o=this.variant[t];Object.assign(o.chars,e);try{for(var i=s(o.linked),a=i.next();!a.done;a=i.next()){var l=a.value;Object.assign(l,e)}}catch(t){r={error:t}}finally{try{a&&!a.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}},t.prototype.defineDelimiters=function(t){Object.assign(this.delimiters,t)},t.prototype.defineRemap=function(t,e){this.remapChars.hasOwnProperty(t)||(this.remapChars[t]={}),Object.assign(this.remapChars[t],e)},t.prototype.getDelimiter=function(t){return this.delimiters[t]},t.prototype.getSizeVariant=function(t,e){return this.delimiters[t].variants&&(e=this.delimiters[t].variants[e]),this.sizeVariants[e]},t.prototype.getStretchVariant=function(t,e){return this.stretchVariants[this.delimiters[t].stretchv?this.delimiters[t].stretchv[e]:0]},t.prototype.getChar=function(t,e){return this.variant[t].chars[e]},t.prototype.getVariant=function(t){return this.variant[t]},t.prototype.getCssFont=function(t){return this.cssFontMap[t]||["serif",!1,!1]},t.prototype.getFamily=function(t){return this.cssFamilyPrefix?this.cssFamilyPrefix+", "+t:t},t.prototype.getRemappedChar=function(t,e){return(this.remapChars[t]||{})[e]},t.OPTIONS={unknownFamily:"serif"},t.JAX="common",t.NAME="",t.defaultVariants=[["normal"],["bold","normal"],["italic","normal"],["bold-italic","italic","bold"],["double-struck","bold"],["fraktur","normal"],["bold-fraktur","bold","fraktur"],["script","italic"],["bold-script","bold-italic","script"],["sans-serif","normal"],["bold-sans-serif","bold","sans-serif"],["sans-serif-italic","italic","sans-serif"],["sans-serif-bold-italic","bold-italic","bold-sans-serif"],["monospace","normal"]],t.defaultCssFonts={normal:["unknown",!1,!1],bold:["unknown",!1,!0],italic:["unknown",!0,!1],"bold-italic":["unknown",!0,!0],"double-struck":["unknown",!1,!0],fraktur:["unknown",!1,!1],"bold-fraktur":["unknown",!1,!0],script:["cursive",!1,!1],"bold-script":["cursive",!1,!0],"sans-serif":["sans-serif",!1,!1],"bold-sans-serif":["sans-serif",!1,!0],"sans-serif-italic":["sans-serif",!0,!1],"sans-serif-bold-italic":["sans-serif",!0,!0],monospace:["monospace",!1,!1]},t.defaultCssFamilyPrefix="",t.VariantSmp={bold:[119808,119834,120488,120514,120782],italic:[119860,119886,120546,120572],"bold-italic":[119912,119938,120604,120630],script:[119964,119990],"bold-script":[120016,120042],fraktur:[120068,120094],"double-struck":[120120,120146,,,120792],"bold-fraktur":[120172,120198],"sans-serif":[120224,120250,,,120802],"bold-sans-serif":[120276,120302,120662,120688,120812],"sans-serif-italic":[120328,120354],"sans-serif-bold-italic":[120380,120406,120720,120746],monospace:[120432,120458,,,120822]},t.SmpRanges=[[0,65,90],[1,97,122],[2,913,937],[3,945,969],[4,48,57]],t.SmpRemap={119893:8462,119965:8492,119968:8496,119969:8497,119971:8459,119972:8464,119975:8466,119976:8499,119981:8475,119994:8495,119996:8458,120004:8500,120070:8493,120075:8460,120076:8465,120085:8476,120093:8488,120122:8450,120127:8461,120133:8469,120135:8473,120136:8474,120137:8477,120145:8484},t.SmpRemapGreekU={8711:25,1012:17},t.SmpRemapGreekL={977:27,981:29,982:31,1008:28,1009:30,1013:26,8706:25},t.defaultAccentMap={768:"\u02cb",769:"\u02ca",770:"\u02c6",771:"\u02dc",772:"\u02c9",774:"\u02d8",775:"\u02d9",776:"\xa8",778:"\u02da",780:"\u02c7",8594:"\u20d7",8242:"'",8243:"''",8244:"'''",8245:"`",8246:"``",8247:"```",8279:"''''",8400:"\u21bc",8401:"\u21c0",8406:"\u2190",8417:"\u2194",8432:"*",8411:"...",8412:"....",8428:"\u21c1",8429:"\u21bd",8430:"\u2190",8431:"\u2192"},t.defaultMoMap={45:"\u2212"},t.defaultMnMap={45:"\u2212"},t.defaultParams={x_height:.442,quad:1,num1:.676,num2:.394,num3:.444,denom1:.686,denom2:.345,sup1:.413,sup2:.363,sup3:.289,sub1:.15,sub2:.247,sup_drop:.386,sub_drop:.05,delim1:2.39,delim2:1,axis_height:.25,rule_thickness:.06,big_op_spacing1:.111,big_op_spacing2:.167,big_op_spacing3:.2,big_op_spacing4:.6,big_op_spacing5:.1,surd_height:.075,scriptspace:.05,nulldelimiterspace:.12,delimiterfactor:901,delimitershortfall:.3,min_rule_thickness:1.25,separation_factor:1.75,extra_ic:.033},t.defaultDelimiters={},t.defaultChars={},t.defaultSizeVariants=[],t.defaultStretchVariants=[],t}();e.FontData=l},5552:function(t,e){var r=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s};Object.defineProperty(e,"__esModule",{value:!0}),e.CommonArrow=e.CommonDiagonalArrow=e.CommonDiagonalStrike=e.CommonBorder2=e.CommonBorder=e.arrowBBox=e.diagonalArrowDef=e.arrowDef=e.arrowBBoxW=e.arrowBBoxHD=e.arrowHead=e.fullBorder=e.fullPadding=e.fullBBox=e.sideNames=e.sideIndex=e.SOLID=e.PADDING=e.THICKNESS=e.ARROWY=e.ARROWDX=e.ARROWX=void 0,e.ARROWX=4,e.ARROWDX=1,e.ARROWY=2,e.THICKNESS=.067,e.PADDING=.2,e.SOLID=e.THICKNESS+"em solid",e.sideIndex={top:0,right:1,bottom:2,left:3},e.sideNames=Object.keys(e.sideIndex),e.fullBBox=function(t){return new Array(4).fill(t.thickness+t.padding)},e.fullPadding=function(t){return new Array(4).fill(t.padding)},e.fullBorder=function(t){return new Array(4).fill(t.thickness)};e.arrowHead=function(t){return Math.max(t.padding,t.thickness*(t.arrowhead.x+t.arrowhead.dx+1))};e.arrowBBoxHD=function(t,e){if(t.childNodes[0]){var r=t.childNodes[0].getBBox(),n=r.h,o=r.d;e[0]=e[2]=Math.max(0,t.thickness*t.arrowhead.y-(n+o)/2)}return e};e.arrowBBoxW=function(t,e){if(t.childNodes[0]){var r=t.childNodes[0].getBBox().w;e[1]=e[3]=Math.max(0,t.thickness*t.arrowhead.y-r/2)}return e},e.arrowDef={up:[-Math.PI/2,!1,!0,"verticalstrike"],down:[Math.PI/2,!1,!0,"verticakstrike"],right:[0,!1,!1,"horizontalstrike"],left:[Math.PI,!1,!1,"horizontalstrike"],updown:[Math.PI/2,!0,!0,"verticalstrike uparrow downarrow"],leftright:[0,!0,!1,"horizontalstrike leftarrow rightarrow"]},e.diagonalArrowDef={updiagonal:[-1,0,!1,"updiagonalstrike northeastarrow"],northeast:[-1,0,!1,"updiagonalstrike updiagonalarrow"],southeast:[1,0,!1,"downdiagonalstrike"],northwest:[1,Math.PI,!1,"downdiagonalstrike"],southwest:[-1,Math.PI,!1,"updiagonalstrike"],northeastsouthwest:[-1,0,!0,"updiagonalstrike northeastarrow updiagonalarrow southwestarrow"],northwestsoutheast:[1,0,!0,"downdiagonalstrike northwestarrow southeastarrow"]},e.arrowBBox={up:function(t){return(0,e.arrowBBoxW)(t,[(0,e.arrowHead)(t),0,t.padding,0])},down:function(t){return(0,e.arrowBBoxW)(t,[t.padding,0,(0,e.arrowHead)(t),0])},right:function(t){return(0,e.arrowBBoxHD)(t,[0,(0,e.arrowHead)(t),0,t.padding])},left:function(t){return(0,e.arrowBBoxHD)(t,[0,t.padding,0,(0,e.arrowHead)(t)])},updown:function(t){return(0,e.arrowBBoxW)(t,[(0,e.arrowHead)(t),0,(0,e.arrowHead)(t),0])},leftright:function(t){return(0,e.arrowBBoxHD)(t,[0,(0,e.arrowHead)(t),0,(0,e.arrowHead)(t)])}};e.CommonBorder=function(t){return function(r){var n=e.sideIndex[r];return[r,{renderer:t,bbox:function(t){var e=[0,0,0,0];return e[n]=t.thickness+t.padding,e},border:function(t){var e=[0,0,0,0];return e[n]=t.thickness,e}}]}};e.CommonBorder2=function(t){return function(r,n,o){var i=e.sideIndex[n],s=e.sideIndex[o];return[r,{renderer:t,bbox:function(t){var e=t.thickness+t.padding,r=[0,0,0,0];return r[i]=r[s]=e,r},border:function(t){var e=[0,0,0,0];return e[i]=e[s]=t.thickness,e},remove:n+" "+o}]}};e.CommonDiagonalStrike=function(t){return function(r){var n="mjx-"+r.charAt(0)+"strike";return[r+"diagonalstrike",{renderer:t(n),bbox:e.fullBBox}]}};e.CommonDiagonalArrow=function(t){return function(n){var o=r(e.diagonalArrowDef[n],4),i=o[0],s=o[1],a=o[2];return[n+"arrow",{renderer:function(e,n){var o=r(e.arrowAW(),2),l=o[0],c=o[1],u=e.arrow(c,i*(l-s),a);t(e,u)},bbox:function(t){var e=t.arrowData(),n=e.a,o=e.x,i=e.y,s=r([t.arrowhead.x,t.arrowhead.y,t.arrowhead.dx],3),a=s[0],l=s[1],c=s[2],u=r(t.getArgMod(a+c,l),2),p=u[0],h=u[1],f=i+(p>n?t.thickness*h*Math.sin(p-n):0),d=o+(p>Math.PI/2-n?t.thickness*h*Math.sin(p+n-Math.PI/2):0);return[f,d,f,d]},remove:o[3]}]}};e.CommonArrow=function(t){return function(n){var o=r(e.arrowDef[n],4),i=o[0],s=o[1],a=o[2],l=o[3];return[n+"arrow",{renderer:function(e,n){var o=e.getBBox(),l=o.w,c=o.h,u=o.d,p=r(a?[c+u,"X"]:[l,"Y"],2),h=p[0],f=p[1],d=e.getOffset(f),m=e.arrow(h,i,s,f,d);t(e,m)},bbox:e.arrowBBox[n],remove:l}]}}},3055:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__assign||function(){return i=Object.assign||function(t){for(var e,r=1,n=arguments.length;r0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},a=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CommonOutputJax=void 0;var l=r(2975),c=r(4474),u=r(7233),p=r(6010),h=r(8054),f=r(4139),d=function(t){function e(e,r,n){void 0===e&&(e=null),void 0===r&&(r=null),void 0===n&&(n=null);var o=this,i=s((0,u.separateOptions)(e,n.OPTIONS),2),a=i[0],l=i[1];return(o=t.call(this,a)||this).factory=o.options.wrapperFactory||new r,o.factory.jax=o,o.cssStyles=o.options.cssStyles||new f.CssStyles,o.font=o.options.font||new n(l),o.unknownCache=new Map,o}return o(e,t),e.prototype.typeset=function(t,e){this.setDocument(e);var r=this.createNode();return this.toDOM(t,r,e),r},e.prototype.createNode=function(){var t=this.constructor.NAME;return this.html("mjx-container",{class:"MathJax",jax:t})},e.prototype.setScale=function(t){var e=this.math.metrics.scale*this.options.scale;1!==e&&this.adaptor.setStyle(t,"fontSize",(0,p.percent)(e))},e.prototype.toDOM=function(t,e,r){void 0===r&&(r=null),this.setDocument(r),this.math=t,this.pxPerEm=t.metrics.ex/this.font.params.x_height,t.root.setTeXclass(null),this.setScale(e),this.nodeMap=new Map,this.container=e,this.processMath(t.root,e),this.nodeMap=null,this.executeFilters(this.postFilters,t,r,e)},e.prototype.getBBox=function(t,e){this.setDocument(e),this.math=t,t.root.setTeXclass(null),this.nodeMap=new Map;var r=this.factory.wrap(t.root).getOuterBBox();return this.nodeMap=null,r},e.prototype.getMetrics=function(t){var e,r;this.setDocument(t);var n=this.adaptor,o=this.getMetricMaps(t);try{for(var i=a(t.math),s=i.next();!s.done;s=i.next()){var l=s.value,u=n.parent(l.start.node);if(l.state()=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},c=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},u=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o600?"bold":"normal"),n.family?r=this.explicitVariant(n.family,n.weight,n.style):(this.node.getProperty("variantForm")&&(r="-tex-variant"),r=(e.BOLDVARIANTS[n.weight]||{})[r]||r,r=(e.ITALICVARIANTS[n.style]||{})[r]||r)}this.variant=r}},e.prototype.explicitVariant=function(t,e,r){var n=this.styles;return n||(n=this.styles=new m.Styles),n.set("fontFamily",t),e&&n.set("fontWeight",e),r&&n.set("fontStyle",r),"-explicitFont"},e.prototype.getScale=function(){var t=1,e=this.parent,r=e?e.bbox.scale:1,n=this.node.attributes,o=Math.min(n.get("scriptlevel"),2),i=n.get("fontsize"),s=this.node.isToken||this.node.isKind("mstyle")?n.get("mathsize"):n.getInherited("mathsize");if(0!==o){t=Math.pow(n.get("scriptsizemultiplier"),o);var a=this.length2em(n.get("scriptminsize"),.8,1);t0;this.bbox.L=n.isSet("lspace")?Math.max(0,this.length2em(n.get("lspace"))):v(o,t.lspace),this.bbox.R=n.isSet("rspace")?Math.max(0,this.length2em(n.get("rspace"))):v(o,t.rspace);var i=r.childIndex(e);if(0!==i){var s=r.childNodes[i-1];if(s.isEmbellished){var a=this.jax.nodeMap.get(s).getBBox();a.R&&(this.bbox.L=Math.max(0,this.bbox.L-a.R))}}}},e.prototype.getTeXSpacing=function(t,e){if(!e){var r=this.node.texSpacing();r&&(this.bbox.L=this.length2em(r))}if(t||e){var n=this.node.coreMO().attributes;n.isSet("lspace")&&(this.bbox.L=Math.max(0,this.length2em(n.get("lspace")))),n.isSet("rspace")&&(this.bbox.R=Math.max(0,this.length2em(n.get("rspace"))))}},e.prototype.isTopEmbellished=function(){return this.node.isEmbellished&&!(this.node.parent&&this.node.parent.isEmbellished)},e.prototype.core=function(){return this.jax.nodeMap.get(this.node.core())},e.prototype.coreMO=function(){return this.jax.nodeMap.get(this.node.coreMO())},e.prototype.getText=function(){var t,e,r="";if(this.node.isToken)try{for(var n=l(this.node.childNodes),o=n.next();!o.done;o=n.next()){var i=o.value;i instanceof h.TextNode&&(r+=i.getText())}}catch(e){t={error:e}}finally{try{o&&!o.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}return r},e.prototype.canStretch=function(t){if(this.stretch=g.NOSTRETCH,this.node.isEmbellished){var e=this.core();e&&e.node!==this.node&&e.canStretch(t)&&(this.stretch=e.stretch)}return 0!==this.stretch.dir},e.prototype.getAlignShift=function(){var t,e=(t=this.node.attributes).getList.apply(t,u([],c(h.indentAttributes),!1)),r=e.indentalign,n=e.indentshift,o=e.indentalignfirst,i=e.indentshiftfirst;return"indentalign"!==o&&(r=o),"auto"===r&&(r=this.jax.options.displayAlign),"indentshift"!==i&&(n=i),"auto"===n&&(n=this.jax.options.displayIndent,"right"!==r||n.match(/^\s*0[a-z]*\s*$/)||(n=("-"+n.trim()).replace(/^--/,""))),[r,this.length2em(n,this.metrics.containerWidth)]},e.prototype.getAlignX=function(t,e,r){return"right"===r?t-(e.w+e.R)*e.rscale:"left"===r?e.L*e.rscale:(t-e.w*e.rscale)/2},e.prototype.getAlignY=function(t,e,r,n,o){return"top"===o?t-r:"bottom"===o?n-e:"center"===o?(t-r-(e-n))/2:0},e.prototype.getWrapWidth=function(t){return this.childNodes[t].getBBox().w},e.prototype.getChildAlign=function(t){return"left"},e.prototype.percent=function(t){return d.percent(t)},e.prototype.em=function(t){return d.em(t)},e.prototype.px=function(t,e){return void 0===e&&(e=-d.BIGDIMEN),d.px(t,e,this.metrics.em)},e.prototype.length2em=function(t,e,r){return void 0===e&&(e=1),void 0===r&&(r=null),null===r&&(r=this.bbox.scale),d.length2em(t,e,r,this.jax.pxPerEm)},e.prototype.unicodeChars=function(t,e){void 0===e&&(e=this.variant);var r=(0,f.unicodeChars)(t),n=this.font.getVariant(e);if(n&&n.chars){var o=n.chars;r=r.map((function(t){return((o[t]||[])[3]||{}).smp||t}))}return r},e.prototype.remapChars=function(t){return t},e.prototype.mmlText=function(t){return this.node.factory.create("text").setText(t)},e.prototype.mmlNode=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=[]),this.node.factory.create(t,e,r)},e.prototype.createMo=function(t){var e=this.node.factory,r=e.create("text").setText(t),n=e.create("mo",{stretchy:!0},[r]);n.inheritAttributesFrom(this.node);var o=this.wrap(n);return o.parent=this,o},e.prototype.getVariantChar=function(t,e){var r=this.font.getChar(t,e)||[0,0,0,{unknown:!0}];return 3===r.length&&(r[3]={}),r},e.kind="unknown",e.styles={},e.removeStyles=["fontSize","fontFamily","fontWeight","fontStyle","fontVariant","font"],e.skipAttributes={fontfamily:!0,fontsize:!0,fontweight:!0,fontstyle:!0,color:!0,background:!0,class:!0,href:!0,style:!0,xmlns:!0},e.BOLDVARIANTS={bold:{normal:"bold",italic:"bold-italic",fraktur:"bold-fraktur",script:"bold-script","sans-serif":"bold-sans-serif","sans-serif-italic":"sans-serif-bold-italic"},normal:{bold:"normal","bold-italic":"italic","bold-fraktur":"fraktur","bold-script":"script","bold-sans-serif":"sans-serif","sans-serif-bold-italic":"sans-serif-italic"}},e.ITALICVARIANTS={italic:{normal:"italic",bold:"bold-italic","sans-serif":"sans-serif-italic","bold-sans-serif":"sans-serif-bold-italic"},normal:{italic:"normal","bold-italic":"bold","sans-serif-italic":"sans-serif","sans-serif-bold-italic":"bold-sans-serif"}},e}(p.AbstractWrapper);e.CommonWrapper=_},4420:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CommonWrapperFactory=void 0;var i=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.jax=null,e}return o(e,t),Object.defineProperty(e.prototype,"Wrappers",{get:function(){return this.node},enumerable:!1,configurable:!0}),e.defaultNodes={},e}(r(3811).AbstractWrapperFactory);e.CommonWrapperFactory=i},9800:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CommonTeXAtomMixin=void 0;var i=r(9007);e.CommonTeXAtomMixin=function(t){return function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.computeBBox=function(e,r){if(void 0===r&&(r=!1),t.prototype.computeBBox.call(this,e,r),this.childNodes[0]&&this.childNodes[0].bbox.ic&&(e.ic=this.childNodes[0].bbox.ic),this.node.texClass===i.TEXCLASS.VCENTER){var n=e.h,o=(n+e.d)/2+this.font.params.axis_height-n;e.h+=o,e.d-=o}},e}(t)}},1160:function(t,e){var r,n=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},i=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s};Object.defineProperty(e,"__esModule",{value:!0}),e.CommonTextNodeMixin=void 0,e.CommonTextNodeMixin=function(t){return function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.computeBBox=function(t,e){var r,n;void 0===e&&(e=!1);var s=this.parent.variant,a=this.node.getText();if("-explicitFont"===s){var l=this.jax.getFontData(this.parent.styles),c=this.jax.measureText(a,s,l),u=c.w,p=c.h,h=c.d;t.h=p,t.d=h,t.w=u}else{var f=this.remappedText(a,s);t.empty();try{for(var d=o(f),m=d.next();!m.done;m=d.next()){var y=m.value,g=i(this.getVariantChar(s,y),4),b=(p=g[0],h=g[1],u=g[2],g[3]);if(b.unknown){var v=this.jax.measureText(String.fromCodePoint(y),s);u=v.w,p=v.h,h=v.d}t.w+=u,p>t.h&&(t.h=p),h>t.d&&(t.d=h),t.ic=b.ic||0,t.sk=b.sk||0,t.dx=b.dx||0}}catch(t){r={error:t}}finally{try{m&&!m.done&&(n=d.return)&&n.call(d)}finally{if(r)throw r.error}}f.length>1&&(t.sk=0),t.clean()}},e.prototype.remappedText=function(t,e){var r=this.parent.stretch.c;return r?[r]:this.parent.remapChars(this.unicodeChars(t,e))},e.prototype.getStyles=function(){},e.prototype.getVariant=function(){},e.prototype.getScale=function(){},e.prototype.getSpace=function(){},e}(t)}},1956:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},s=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},c=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CommonMencloseMixin=void 0;var p=a(r(5552)),h=r(505);e.CommonMencloseMixin=function(t){return function(t){function e(){for(var e=[],r=0;r.001?s:0},e.prototype.getArgMod=function(t,e){return[Math.atan2(e,t),Math.sqrt(t*t+e*e)]},e.prototype.arrow=function(t,e,r,n,o){return void 0===n&&(n=""),void 0===o&&(o=0),null},e.prototype.arrowData=function(){var t=l([this.padding,this.thickness],2),e=t[0],r=t[1]*(this.arrowhead.x+Math.max(1,this.arrowhead.dx)),n=this.childNodes[0].getBBox(),o=n.h,i=n.d,s=n.w,a=o+i,c=Math.sqrt(a*a+s*s),u=Math.max(e,r*s/c),p=Math.max(e,r*a/c),h=l(this.getArgMod(s+2*u,a+2*p),2);return{a:h[0],W:h[1],x:u,y:p}},e.prototype.arrowAW=function(){var t=this.childNodes[0].getBBox(),e=t.h,r=t.d,n=t.w,o=l(this.TRBL,4),i=o[0],s=o[1],a=o[2],c=o[3];return this.getArgMod(c+n+s,i+e+r+a)},e.prototype.createMsqrt=function(t){var e=this.node.factory.create("msqrt");e.inheritAttributesFrom(this.node),e.childNodes[0]=t.node;var r=this.wrap(e);return r.parent=this,r},e.prototype.sqrtTRBL=function(){var t=this.msqrt.getBBox(),e=this.msqrt.childNodes[0].getBBox();return[t.h-e.h,0,t.d-e.d,t.w-e.w]},e}(t)}},7555:function(t,e){var r,n=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},i=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CommonMfencedMixin=void 0,e.CommonMfencedMixin=function(t){return function(t){function e(){for(var e=[],r=0;r0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},i=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},i=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},s=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CommonMmultiscriptsMixin=e.ScriptNames=e.NextScript=void 0;var l=r(6469);e.NextScript={base:"subList",subList:"supList",supList:"subList",psubList:"psupList",psupList:"psubList"},e.ScriptNames=["sup","sup","psup","psub"],e.CommonMmultiscriptsMixin=function(t){return function(t){function r(){for(var e=[],r=0;re.length&&e.push(l.BBox.empty())},r.prototype.combineBBoxLists=function(t,e,r,n){for(var o=0;ot.h&&(t.h=l),c>t.d&&(t.d=c),h>e.h&&(e.h=h),f>e.d&&(e.d=f)}},r.prototype.getScaledWHD=function(t){var e=t.w,r=t.h,n=t.d,o=t.rscale;return[e*o,r*o,n*o]},r.prototype.getUVQ=function(e,r){var n;if(!this.UVQ){var o=i([0,0,0],3),s=o[0],a=o[1],l=o[2];0===e.h&&0===e.d?s=this.getU():0===r.h&&0===r.d?s=-this.getV():(s=(n=i(t.prototype.getUVQ.call(this,e,r),3))[0],a=n[1],l=n[2]),this.UVQ=[s,a,l]}return this.UVQ},r}(t)}},5023:function(t,e){var r,n=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.CommonMnMixin=void 0,e.CommonMnMixin=function(t){return function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.remapChars=function(t){if(t.length){var e=this.font.getRemappedChar("mn",t[0]);if(e){var r=this.unicodeChars(e,this.variant);1===r.length?t[0]=r[0]:t=r.concat(t.slice(1))}}return t},e}(t)}},7096:function(t,e,r){var n,o,i=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),s=this&&this.__assign||function(){return s=Object.assign||function(t){for(var e,r=1,n=arguments.length;r0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},l=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CommonMoMixin=e.DirectionVH=void 0;var u=r(6469),p=r(505),h=r(5884);e.DirectionVH=((o={})[1]="v",o[2]="h",o),e.CommonMoMixin=function(t){return function(t){function e(){for(var e=[],r=0;r=0)&&(t.w=0)},e.prototype.protoBBox=function(e){var r=0!==this.stretch.dir;r&&null===this.size&&this.getStretchedVariant([0]),r&&this.size<0||(t.prototype.computeBBox.call(this,e),this.copySkewIC(e))},e.prototype.getAccentOffset=function(){var t=u.BBox.empty();return this.protoBBox(t),-t.w/2},e.prototype.getCenterOffset=function(e){return void 0===e&&(e=null),e||(e=u.BBox.empty(),t.prototype.computeBBox.call(this,e)),(e.h+e.d)/2+this.font.params.axis_height-e.h},e.prototype.getVariant=function(){this.node.attributes.get("largeop")?this.variant=this.node.attributes.get("displaystyle")?"-largeop":"-smallop":this.node.attributes.getExplicit("mathvariant")||!1!==this.node.getProperty("pseudoscript")?t.prototype.getVariant.call(this):this.variant="-tex-variant"},e.prototype.canStretch=function(t){if(0!==this.stretch.dir)return this.stretch.dir===t;if(!this.node.attributes.get("stretchy"))return!1;var e=this.getText();if(1!==Array.from(e).length)return!1;var r=this.font.getDelimiter(e.codePointAt(0));return this.stretch=r&&r.dir===t?r:h.NOSTRETCH,0!==this.stretch.dir},e.prototype.getStretchedVariant=function(t,e){var r,n;if(void 0===e&&(e=!1),0!==this.stretch.dir){var o=this.getWH(t),i=this.getSize("minsize",0),a=this.getSize("maxsize",1/0),l=this.node.getProperty("mathaccent");o=Math.max(i,Math.min(a,o));var u=this.font.params.delimiterfactor/1e3,p=this.font.params.delimitershortfall,h=i||e?o:l?Math.min(o/u,o+p):Math.max(o*u,o-p),f=this.stretch,d=f.c||this.getText().codePointAt(0),m=0;if(f.sizes)try{for(var y=c(f.sizes),g=y.next();!g.done;g=y.next()){if(g.value>=h)return l&&m&&m--,this.variant=this.font.getSizeVariant(d,m),this.size=m,void(f.schar&&f.schar[m]&&(this.stretch=s(s({},this.stretch),{c:f.schar[m]})));m++}}catch(t){r={error:t}}finally{try{g&&!g.done&&(n=y.return)&&n.call(y)}finally{if(r)throw r.error}}f.stretch?(this.size=-1,this.invalidateBBox(),this.getStretchBBox(t,this.checkExtendedHeight(o,f),f)):(this.variant=this.font.getSizeVariant(d,m-1),this.size=m-1)}},e.prototype.getSize=function(t,e){var r=this.node.attributes;return r.isSet(t)&&(e=this.length2em(r.get(t),1,1)),e},e.prototype.getWH=function(t){if(0===t.length)return 0;if(1===t.length)return t[0];var e=a(t,2),r=e[0],n=e[1],o=this.font.params.axis_height;return this.node.attributes.get("symmetric")?2*Math.max(r-o,n+o):r+n},e.prototype.getStretchBBox=function(t,e,r){var n;r.hasOwnProperty("min")&&r.min>e&&(e=r.min);var o=a(r.HDW,3),i=o[0],s=o[1],l=o[2];1===this.stretch.dir?(i=(n=a(this.getBaseline(t,e,r),2))[0],s=n[1]):l=e,this.bbox.h=i,this.bbox.d=s,this.bbox.w=l},e.prototype.getBaseline=function(t,e,r){var n=2===t.length&&t[0]+t[1]===e,o=this.node.attributes.get("symmetric"),i=a(n?t:[e,0],2),s=i[0],l=i[1],c=a([s+l,0],2),u=c[0],p=c[1];if(o){var h=this.font.params.axis_height;n&&(u=2*Math.max(s-h,l+h)),p=u/2-h}else if(n)p=l;else{var f=a(r.HDW||[.75,.25],2),d=f[0],m=f[1];p=m*(u/(d+m))}return[u-p,p]},e.prototype.checkExtendedHeight=function(t,e){if(e.fullExt){var r=a(e.fullExt,2),n=r[0],o=r[1];t=o+Math.ceil(Math.max(0,t-o)/n)*n}return t},e.prototype.remapChars=function(t){var e=this.node.getProperty("primes");if(e)return(0,p.unicodeChars)(e);if(1===t.length){var r=this.node.coreParent().parent,n=this.isAccent&&!r.isKind("mrow")?"accent":"mo",o=this.font.getRemappedChar(n,t[0]);o&&(t=this.unicodeChars(o,this.variant))}return t},e}(t)}},6898:function(t,e){var r,n=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s};Object.defineProperty(e,"__esModule",{value:!0}),e.CommonMpaddedMixin=void 0,e.CommonMpaddedMixin=function(t){return function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.getDimens=function(){var t=this.node.attributes.getList("width","height","depth","lspace","voffset"),e=this.childNodes[0].getBBox(),r=e.w,n=e.h,o=e.d,i=r,s=n,a=o,l=0,c=0,u=0;""!==t.width&&(r=this.dimen(t.width,e,"w",0)),""!==t.height&&(n=this.dimen(t.height,e,"h",0)),""!==t.depth&&(o=this.dimen(t.depth,e,"d",0)),""!==t.voffset&&(c=this.dimen(t.voffset,e)),""!==t.lspace&&(l=this.dimen(t.lspace,e));var p=this.node.attributes.get("data-align");return p&&(u=this.getAlignX(r,e,p)),[s,a,i,n-s,o-a,r-i,l,c,u]},e.prototype.dimen=function(t,e,r,n){void 0===r&&(r=""),void 0===n&&(n=null);var o=(t=String(t)).match(/width|height|depth/),i=o?e[o[0].charAt(0)]:r?e[r]:0,s=this.length2em(t,i)||0;return t.match(/^[-+]/)&&r&&(s+=i),null!=n&&(s=Math.max(n,s)),s},e.prototype.computeBBox=function(t,e){void 0===e&&(e=!1);var r=o(this.getDimens(),6),n=r[0],i=r[1],s=r[2],a=r[3],l=r[4],c=r[5];t.w=s+c,t.h=n+a,t.d=i+l,this.setChildPWidths(e,t.w)},e.prototype.getWrapWidth=function(t){return this.getBBox().w},e.prototype.getChildAlign=function(t){return this.node.attributes.get("data-align")||"left"},e}(t)}},6991:function(t,e){var r,n=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.CommonMrootMixin=void 0,e.CommonMrootMixin=function(t){return function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),Object.defineProperty(e.prototype,"surd",{get:function(){return 2},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"root",{get:function(){return 1},enumerable:!1,configurable:!0}),e.prototype.combineRootBBox=function(t,e,r){var n=this.childNodes[this.root].getOuterBBox(),o=this.getRootDimens(e,r)[1];t.combine(n,0,o)},e.prototype.getRootDimens=function(t,e){var r=this.childNodes[this.surd],n=this.childNodes[this.root].getOuterBBox(),o=(r.size<0?.5:.6)*t.w,i=n.w,s=n.rscale,a=Math.max(i,o/s),l=Math.max(0,a-i);return[a*s-o,this.rootHeight(n,t,r.size,e),l]},e.prototype.rootHeight=function(t,e,r,n){var o=e.h+e.d;return(r<0?1.9:.55*o)-(o-n)+Math.max(0,t.d*t.rscale)},e}(t)}},8411:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},s=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CommonInferredMrowMixin=e.CommonMrowMixin=void 0;var l=r(6469);e.CommonMrowMixin=function(t){return function(t){function e(){for(var e,r,n=[],o=0;o1){var h=0,f=0,d=u>1&&u===p;try{for(var m=a(this.childNodes),y=m.next();!y.done;y=m.next()){var g=0===(x=y.value).stretch.dir;if(d||g){var b=x.getOuterBBox(g),v=b.h,_=b.d,S=b.rscale;(v*=S)>h&&(h=v),(_*=S)>f&&(f=_)}}}catch(t){r={error:t}}finally{try{y&&!y.done&&(n=m.return)&&n.call(m)}finally{if(r)throw r.error}}try{for(var M=a(s),O=M.next();!O.done;O=M.next()){var x;(x=O.value).coreMO().getStretchedVariant([h,f])}}catch(t){o={error:t}}finally{try{O&&!O.done&&(i=M.return)&&i.call(M)}finally{if(o)throw o.error}}}},e}(t)},e.CommonInferredMrowMixin=function(t){return function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.getScale=function(){this.bbox.scale=this.parent.bbox.scale,this.bbox.rscale=1},e}(t)}},4126:function(t,e){var r,n=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},i=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},s=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;othis.surdH?(t.h+t.d-(this.surdH-2*e-r/2))/2:e+r/4]},e.prototype.getRootDimens=function(t,e){return[0,0,0,0]},e}(t)}},905:function(t,e){var r,n=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s};Object.defineProperty(e,"__esModule",{value:!0}),e.CommonMsubsupMixin=e.CommonMsupMixin=e.CommonMsubMixin=void 0,e.CommonMsubMixin=function(t){var e;return e=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),Object.defineProperty(e.prototype,"scriptChild",{get:function(){return this.childNodes[this.node.sub]},enumerable:!1,configurable:!0}),e.prototype.getOffset=function(){return[0,-this.getV()]},e}(t),e.useIC=!1,e},e.CommonMsupMixin=function(t){return function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),Object.defineProperty(e.prototype,"scriptChild",{get:function(){return this.childNodes[this.node.sup]},enumerable:!1,configurable:!0}),e.prototype.getOffset=function(){return[this.getAdjustedIc()-(this.baseRemoveIc?0:this.baseIc),this.getU()]},e}(t)},e.CommonMsubsupMixin=function(t){var e;return e=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.UVQ=null,e}return n(e,t),Object.defineProperty(e.prototype,"subChild",{get:function(){return this.childNodes[this.node.sub]},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"supChild",{get:function(){return this.childNodes[this.node.sup]},enumerable:!1,configurable:!0}),e.prototype.computeBBox=function(t,e){void 0===e&&(e=!1);var r=this.baseChild.getOuterBBox(),n=o([this.subChild.getOuterBBox(),this.supChild.getOuterBBox()],2),i=n[0],s=n[1];t.empty(),t.append(r);var a=this.getBaseWidth(),l=this.getAdjustedIc(),c=o(this.getUVQ(),2),u=c[0],p=c[1];t.combine(i,a,p),t.combine(s,a+l,u),t.w+=this.font.params.scriptspace,t.clean(),this.setChildPWidths(e)},e.prototype.getUVQ=function(t,e){void 0===t&&(t=this.subChild.getOuterBBox()),void 0===e&&(e=this.supChild.getOuterBBox());var r=this.baseCore.getOuterBBox();if(this.UVQ)return this.UVQ;var n=this.font.params,i=3*n.rule_thickness,s=this.length2em(this.node.attributes.get("subscriptshift"),n.sub2),a=this.baseCharZero(r.d*this.baseScale+n.sub_drop*t.rscale),l=o([this.getU(),Math.max(a,s)],2),c=l[0],u=l[1],p=c-e.d*e.rscale-(t.h*t.rscale-u);if(p0&&(c+=h,u-=h)}return c=Math.max(this.length2em(this.node.attributes.get("superscriptshift"),c),c),u=Math.max(this.length2em(this.node.attributes.get("subscriptshift"),u),u),p=c-e.d*e.rscale-(t.h*t.rscale-u),this.UVQ=[c,-u,p],this.UVQ},e}(t),e.useIC=!1,e}},6237:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},s=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CommonMtableMixin=void 0;var l=r(6469),c=r(505),u=r(7875);e.CommonMtableMixin=function(t){return function(t){function e(){for(var e=[],r=0;r1){if(null===e){e=0;var d=h>1&&h===f;try{for(var m=a(this.tableRows),y=m.next();!y.done;y=m.next()){var g;if(g=y.value.getChild(t)){var b=0===(M=g.childNodes[0]).stretch.dir;if(d||b){var v=M.getBBox(b).w;v>e&&(e=v)}}}}catch(t){o={error:t}}finally{try{y&&!y.done&&(i=m.return)&&i.call(m)}finally{if(o)throw o.error}}}try{for(var _=a(c),S=_.next();!S.done;S=_.next()){var M;(M=S.value).coreMO().getStretchedVariant([e])}}catch(t){s={error:t}}finally{try{S&&!S.done&&(l=_.return)&&l.call(_)}finally{if(s)throw s.error}}}},e.prototype.getTableData=function(){if(this.data)return this.data;for(var t=new Array(this.numRows).fill(0),e=new Array(this.numRows).fill(0),r=new Array(this.numCols).fill(0),n=new Array(this.numRows),o=new Array(this.numRows),i=[0],s=this.tableRows,a=0;ao[r]&&(o[r]=c),u>i[r]&&(i[r]=u),f>a&&(a=f),s&&p>s[e]&&(s[e]=p),a},e.prototype.extendHD=function(t,e,r,n){var o=(n-(e[t]+r[t]))/2;o<1e-5||(e[t]+=o,r[t]+=o)},e.prototype.recordPWidthCell=function(t,e){t.childNodes[0]&&t.childNodes[0].getBBox().pwidth&&this.pwidthCells.push([t,e])},e.prototype.computeBBox=function(t,e){void 0===e&&(e=!1);var r,n,o=this.getTableData(),s=o.H,a=o.D;if(this.node.attributes.get("equalrows")){var l=this.getEqualRowHeight();r=(0,u.sum)([].concat(this.rLines,this.rSpace))+l*this.numRows}else r=(0,u.sum)(s.concat(a,this.rLines,this.rSpace));r+=2*(this.fLine+this.fSpace[1]);var p=this.getComputedWidths();n=(0,u.sum)(p.concat(this.cLines,this.cSpace))+2*(this.fLine+this.fSpace[0]);var h=this.node.attributes.get("width");"auto"!==h&&(n=Math.max(this.length2em(h,0)+2*this.fLine,n));var f=i(this.getBBoxHD(r),2),d=f[0],m=f[1];t.h=d,t.d=m,t.w=n;var y=i(this.getBBoxLR(),2),g=y[0],b=y[1];t.L=g,t.R=b,(0,c.isPercent)(h)||this.setColumnPWidths()},e.prototype.setChildPWidths=function(t,e,r){var n=this.node.attributes.get("width");if(!(0,c.isPercent)(n))return!1;this.hasLabels||(this.bbox.pwidth="",this.container.bbox.pwidth="");var o=this.bbox,i=o.w,s=o.L,a=o.R,l=this.node.attributes.get("data-width-includes-label"),p=Math.max(i,this.length2em(n,Math.max(e,s+i+a)))-(l?s+a:0),h=this.node.attributes.get("equalcolumns")?Array(this.numCols).fill(this.percent(1/Math.max(1,this.numCols))):this.getColumnAttributes("columnwidth",0);this.cWidths=this.getColumnWidthsFixed(h,p);var f=this.getComputedWidths();return this.pWidth=(0,u.sum)(f.concat(this.cLines,this.cSpace))+2*(this.fLine+this.fSpace[0]),this.isTop&&(this.bbox.w=this.pWidth),this.setColumnPWidths(),this.pWidth!==i&&this.parent.invalidateBBox(),this.pWidth!==i},e.prototype.setColumnPWidths=function(){var t,e,r=this.cWidths;try{for(var n=a(this.pwidthCells),o=n.next();!o.done;o=n.next()){var s=i(o.value,2),l=s[0],c=s[1];l.setChildPWidths(!1,r[c])&&(l.invalidateBBox(),l.getBBox())}}catch(e){t={error:e}}finally{try{o&&!o.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}},e.prototype.getBBoxHD=function(t){var e=i(this.getAlignmentRow(),2),r=e[0],n=e[1];if(null===n){var o=this.font.params.axis_height,s=t/2;return{top:[0,t],center:[s,s],bottom:[t,0],baseline:[s,s],axis:[s+o,s-o]}[r]||[s,s]}var a=this.getVerticalPosition(n,r);return[a,t-a]},e.prototype.getBBoxLR=function(){if(this.hasLabels){var t=this.node.attributes,e=t.get("side"),r=i(this.getPadAlignShift(e),2),n=r[0],o=r[1],s=this.hasLabels&&!!t.get("data-width-includes-label");return s&&this.frame&&this.fSpace[0]&&(n-=this.fSpace[0]),"center"!==o||s?"left"===e?[n,0]:[0,n]:[n,n]}return[0,0]},e.prototype.getPadAlignShift=function(t){var e=this.getTableData().L+this.length2em(this.node.attributes.get("minlabelspacing")),r=i(null==this.styles?["",""]:[this.styles.get("padding-left"),this.styles.get("padding-right")],2),n=r[0],o=r[1];(n||o)&&(e=Math.max(e,this.length2em(n||"0"),this.length2em(o||"0")));var s=i(this.getAlignShift(),2),a=s[0],l=s[1];return a===t&&(l="left"===t?Math.max(e,l)-e:Math.min(-e,l)+e),[e,a,l]},e.prototype.getAlignShift=function(){return this.isTop?t.prototype.getAlignShift.call(this):[this.container.getChildAlign(this.containerI),0]},e.prototype.getWidth=function(){return this.pWidth||this.getBBox().w},e.prototype.getEqualRowHeight=function(){var t=this.getTableData(),e=t.H,r=t.D,n=Array.from(e.keys()).map((function(t){return e[t]+r[t]}));return Math.max.apply(Math,n)},e.prototype.getComputedWidths=function(){var t=this,e=this.getTableData().W,r=Array.from(e.keys()).map((function(r){return"number"==typeof t.cWidths[r]?t.cWidths[r]:e[r]}));return this.node.attributes.get("equalcolumns")&&(r=Array(r.length).fill((0,u.max)(r))),r},e.prototype.getColumnWidths=function(){var t=this.node.attributes.get("width");if(this.node.attributes.get("equalcolumns"))return this.getEqualColumns(t);var e=this.getColumnAttributes("columnwidth",0);return"auto"===t?this.getColumnWidthsAuto(e):(0,c.isPercent)(t)?this.getColumnWidthsPercent(e):this.getColumnWidthsFixed(e,this.length2em(t))},e.prototype.getEqualColumns=function(t){var e,r=Math.max(1,this.numCols);if("auto"===t){var n=this.getTableData().W;e=(0,u.max)(n)}else if((0,c.isPercent)(t))e=this.percent(1/r);else{var o=(0,u.sum)([].concat(this.cLines,this.cSpace))+2*this.fSpace[0];e=Math.max(0,this.length2em(t)-o)/r}return Array(this.numCols).fill(e)},e.prototype.getColumnWidthsAuto=function(t){var e=this;return t.map((function(t){return"auto"===t||"fit"===t?null:(0,c.isPercent)(t)?t:e.length2em(t)}))},e.prototype.getColumnWidthsPercent=function(t){var e=this,r=t.indexOf("fit")>=0,n=(r?this.getTableData():{W:null}).W;return Array.from(t.keys()).map((function(o){var i=t[o];return"fit"===i?null:"auto"===i?r?n[o]:null:(0,c.isPercent)(i)?i:e.length2em(i)}))},e.prototype.getColumnWidthsFixed=function(t,e){var r=this,n=Array.from(t.keys()),o=n.filter((function(e){return"fit"===t[e]})),i=n.filter((function(e){return"auto"===t[e]})),s=o.length||i.length,a=(s?this.getTableData():{W:null}).W,l=e-(0,u.sum)([].concat(this.cLines,this.cSpace))-2*this.fSpace[0],c=l;n.forEach((function(e){var n=t[e];c-="fit"===n||"auto"===n?a[e]:r.length2em(n,l)}));var p=s&&c>0?c/s:0;return n.map((function(e){var n=t[e];return"fit"===n?a[e]+p:"auto"===n?a[e]+(0===o.length?p:0):r.length2em(n,l)}))},e.prototype.getVerticalPosition=function(t,e){for(var r=this.node.attributes.get("equalrows"),n=this.getTableData(),o=n.H,s=n.D,a=r?this.getEqualRowHeight():0,l=this.getRowHalfSpacing(),c=this.fLine,u=0;uthis.numRows?null:n-1]},e.prototype.getColumnAttributes=function(t,e){void 0===e&&(e=1);var r=this.numCols-e,n=this.getAttributeArray(t);if(0===n.length)return null;for(;n.lengthr&&n.splice(r),n},e.prototype.getRowAttributes=function(t,e){void 0===e&&(e=1);var r=this.numRows-e,n=this.getAttributeArray(t);if(0===n.length)return null;for(;n.lengthr&&n.splice(r),n},e.prototype.getAttributeArray=function(t){var e=this.node.attributes.get(t);return e?(0,c.split)(e):[this.node.attributes.getDefault(t)]},e.prototype.addEm=function(t,e){var r=this;return void 0===e&&(e=1),t?t.map((function(t){return r.em(t/e)})):null},e.prototype.convertLengths=function(t){var e=this;return t?t.map((function(t){return e.length2em(t)})):null},e}(t)}},5164:function(t,e){var r,n=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.CommonMtdMixin=void 0,e.CommonMtdMixin=function(t){return function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),Object.defineProperty(e.prototype,"fixesPWidth",{get:function(){return!1},enumerable:!1,configurable:!0}),e.prototype.invalidateBBox=function(){this.bboxComputed=!1},e.prototype.getWrapWidth=function(t){var e=this.parent.parent,r=this.parent,n=this.node.childPosition()-(r.labeled?1:0);return"number"==typeof e.cWidths[n]?e.cWidths[n]:e.getTableData().W[n]},e.prototype.getChildAlign=function(t){return this.node.attributes.get("columnalign")},e}(t)}},6319:function(t,e){var r,n=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.CommonMtextMixin=void 0,e.CommonMtextMixin=function(t){var e;return e=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.getVariant=function(){var e=this.jax.options,r=this.jax.math.outputData,n=(!!r.merrorFamily||!!e.merrorFont)&&this.node.Parent.isKind("merror");if(r.mtextFamily||e.mtextFont||n){var o=this.node.attributes.get("mathvariant"),i=this.constructor.INHERITFONTS[o]||this.jax.font.getCssFont(o),s=i[0]||(n?r.merrorFamily||e.merrorFont:r.mtextFamily||e.mtextFont);this.variant=this.explicitVariant(s,i[2]?"bold":"",i[1]?"italic":"")}else t.prototype.getVariant.call(this)},e}(t),e.INHERITFONTS={normal:["",!1,!1],bold:["",!1,!0],italic:["",!0,!1],"bold-italic":["",!0,!0]},e}},5766:function(t,e){var r,n=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CommonMlabeledtrMixin=e.CommonMtrMixin=void 0,e.CommonMtrMixin=function(t){return function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),Object.defineProperty(e.prototype,"fixesPWidth",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"numCells",{get:function(){return this.childNodes.length},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"labeled",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"tableCells",{get:function(){return this.childNodes},enumerable:!1,configurable:!0}),e.prototype.getChild=function(t){return this.childNodes[t]},e.prototype.getChildBBoxes=function(){return this.childNodes.map((function(t){return t.getBBox()}))},e.prototype.stretchChildren=function(t){var e,r,n,i,s,a;void 0===t&&(t=null);var l=[],c=this.labeled?this.childNodes.slice(1):this.childNodes;try{for(var u=o(c),p=u.next();!p.done;p=u.next()){(E=p.value.childNodes[0]).canStretch(1)&&l.push(E)}}catch(t){e={error:t}}finally{try{p&&!p.done&&(r=u.return)&&r.call(u)}finally{if(e)throw e.error}}var h=l.length,f=this.childNodes.length;if(h&&f>1){if(null===t){var d=0,m=0,y=h>1&&h===f;try{for(var g=o(c),b=g.next();!b.done;b=g.next()){var v=0===(E=b.value.childNodes[0]).stretch.dir;if(y||v){var _=E.getBBox(v),S=_.h,M=_.d;S>d&&(d=S),M>m&&(m=M)}}}catch(t){n={error:t}}finally{try{b&&!b.done&&(i=g.return)&&i.call(g)}finally{if(n)throw n.error}}t=[d,m]}try{for(var O=o(l),x=O.next();!x.done;x=O.next()){var E;(E=x.value).coreMO().getStretchedVariant(t)}}catch(t){s={error:t}}finally{try{x&&!x.done&&(a=O.return)&&a.call(O)}finally{if(s)throw s.error}}}},e}(t)},e.CommonMlabeledtrMixin=function(t){return function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),Object.defineProperty(e.prototype,"numCells",{get:function(){return Math.max(0,this.childNodes.length-1)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"labeled",{get:function(){return!0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"tableCells",{get:function(){return this.childNodes.slice(1)},enumerable:!1,configurable:!0}),e.prototype.getChild=function(t){return this.childNodes[t+1]},e.prototype.getChildBBoxes=function(){return this.childNodes.slice(1).map((function(t){return t.getBBox()}))},e}(t)}},1971:function(t,e){var r,n=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},i=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},s=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CommonScriptbaseMixin=void 0;var l=r(9007);e.CommonScriptbaseMixin=function(t){var e;return e=function(t){function e(){for(var e=[],r=0;r1){var h=0,f=u>1&&u===p;try{for(var d=a(this.childNodes),m=d.next();!m.done;m=d.next()){var y=0===(M=m.value).stretch.dir;if(f||y){var g=M.getOuterBBox(y),b=g.w,v=g.rscale;b*v>h&&(h=b*v)}}}catch(t){r={error:t}}finally{try{m&&!m.done&&(n=d.return)&&n.call(d)}finally{if(r)throw r.error}}try{for(var _=a(s),S=_.next();!S.done;S=_.next()){var M;(M=S.value).coreMO().getStretchedVariant([h/M.bbox.rscale])}}catch(t){o={error:t}}finally{try{S&&!S.done&&(i=_.return)&&i.call(_)}finally{if(o)throw o.error}}}},e}(t),e.useIC=!0,e}},5806:function(t,e){var r,n=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.CommonSemanticsMixin=void 0,e.CommonSemanticsMixin=function(t){return function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.computeBBox=function(t,e){if(void 0===e&&(e=!1),this.childNodes.length){var r=this.childNodes[0].getBBox(),n=r.w,o=r.h,i=r.d;t.w=n,t.h=o,t.d=i}},e}(t)}},5920:function(t,e){var r,n=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=this&&this.__assign||function(){return o=Object.assign||function(t){for(var e,r=1,n=arguments.length;r0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},s=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},s=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s};Object.defineProperty(e,"__esModule",{value:!0}),e.MJContextMenu=void 0;var a=r(5073),l=r(6186),c=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.mathItem=null,e.annotation="",e.annotationTypes={},e}return o(e,t),e.prototype.post=function(e,r){if(this.mathItem){if(void 0!==r){var n=this.mathItem.inputJax.name,o=this.findID("Show","Original");o.content="MathML"===n?"Original MathML":n+" Commands",this.findID("Copy","Original").content=o.content;var i=this.findID("Settings","semantics");"MathML"===n?i.disable():i.enable(),this.getAnnotationMenu(),this.dynamicSubmenus()}t.prototype.post.call(this,e,r)}},e.prototype.unpost=function(){t.prototype.unpost.call(this),this.mathItem=null},e.prototype.findID=function(){for(var t,e,r=[],n=0;n=0)return a}}catch(t){e={error:t}}finally{try{s&&!s.done&&(r=o.return)&&r.call(o)}finally{if(e)throw e.error}}return null},e.prototype.createAnnotationMenu=function(t,e,r){var n=this,o=this.findID(t,"Annotation");o.submenu=this.factory.get("subMenu")(this.factory,{items:e.map((function(t){var e=s(t,2),o=e[0],i=e[1];return{type:"command",id:o,content:o,action:function(){n.annotation=i,r()}}})),id:"annotations"},o),e.length?o.enable():o.disable()},e.prototype.dynamicSubmenus=function(){var t,r;try{for(var n=i(e.DynamicSubmenus),o=n.next();!o.done;o=n.next()){var a=s(o.value,2),l=a[0],c=a[1],u=this.find(l);if(u){var p=c(this,u);u.submenu=p,p.items.length?u.enable():u.disable()}}}catch(e){t={error:e}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}},e.DynamicSubmenus=new Map,e}(a.ContextMenu);e.MJContextMenu=c},8310:function(t,e,r){var n=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},o=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.Menu=void 0;var s=r(5713),a=r(4474),l=r(9515),c=r(7233),u=r(5865),p=r(473),h=r(4414),f=r(4922),d=r(6914),m=r(3463),y=r(7309),g=i(r(5445)),b=l.MathJax,v="undefined"!=typeof window&&window.navigator&&"Mac"===window.navigator.platform.substr(0,3),_=function(){function t(t,e){void 0===e&&(e={});var r=this;this.settings=null,this.defaultSettings=null,this.menu=null,this.MmlVisitor=new p.MmlVisitor,this.jax={CHTML:null,SVG:null},this.rerenderStart=a.STATE.LAST,this.about=new f.Info('MathJax v'+s.mathjax.version,(function(){var t=[];return t.push("Input Jax: "+r.document.inputJax.map((function(t){return t.name})).join(", ")),t.push("Output Jax: "+r.document.outputJax.name),t.push("Document Type: "+r.document.kind),t.join("
")}),'www.mathjax.org'),this.help=new f.Info("MathJax Help",(function(){return["

MathJax is a JavaScript library that allows page"," authors to include mathematics within their web pages."," As a reader, you don't need to do anything to make that happen.

","

Browsers: MathJax works with all modern browsers including"," Edge, Firefox, Chrome, Safari, Opera, and most mobile browsers.

","

Math Menu: MathJax adds a contextual menu to equations."," Right-click or CTRL-click on any mathematics to access the menu.

",'
',"

Show Math As: These options allow you to view the formula's"," source markup (as MathML or in its original format).

","

Copy to Clipboard: These options copy the formula's source markup,"," as MathML or in its original format, to the clipboard"," (in browsers that support that).

","

Math Settings: These give you control over features of MathJax,"," such the size of the mathematics, and the mechanism used"," to display equations.

","

Accessibility: MathJax can work with screen"," readers to make mathematics accessible to the visually impaired."," Turn on the explorer to enable generation of speech strings"," and the ability to investigate expressions interactively.

","

Language: This menu lets you select the language used by MathJax"," for its menus and warning messages. (Not yet implemented in version 3.)

","
","

Math Zoom: If you are having difficulty reading an"," equation, MathJax can enlarge it to help you see it better, or"," you can scall all the math on the page to make it larger."," Turn these features on in the Math Settings menu.

","

Preferences: MathJax uses your browser's localStorage database"," to save the preferences set via this menu locally in your browser. These"," are not used to track you, and are not transferred or used remotely by"," MathJax in any way.

"].join("\n")}),'www.mathjax.org'),this.mathmlCode=new h.SelectableInfo("MathJax MathML Expression",(function(){if(!r.menu.mathItem)return"";var t=r.toMML(r.menu.mathItem);return"
"+r.formatSource(t)+"
"}),""),this.originalText=new h.SelectableInfo("MathJax Original Source",(function(){if(!r.menu.mathItem)return"";var t=r.menu.mathItem.math;return'
'+r.formatSource(t)+"
"}),""),this.annotationText=new h.SelectableInfo("MathJax Annotation Text",(function(){if(!r.menu.mathItem)return"";var t=r.menu.annotation;return'
'+r.formatSource(t)+"
"}),""),this.zoomBox=new f.Info("MathJax Zoomed Expression",(function(){if(!r.menu.mathItem)return"";var t=r.menu.mathItem.typesetRoot.cloneNode(!0);return t.style.margin="0",'
'+t.outerHTML+"
"}),""),this.document=t,this.options=(0,c.userOptions)((0,c.defaultOptions)({},this.constructor.OPTIONS),e),this.initSettings(),this.mergeUserSettings(),this.initMenu(),this.applySettings()}return Object.defineProperty(t.prototype,"isLoading",{get:function(){return t.loading>0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"loadingPromise",{get:function(){return this.isLoading?(t._loadingPromise||(t._loadingPromise=new Promise((function(e,r){t._loadingOK=e,t._loadingFailed=r}))),t._loadingPromise):Promise.resolve()},enumerable:!1,configurable:!0}),t.prototype.initSettings=function(){this.settings=this.options.settings,this.jax=this.options.jax;var t=this.document.outputJax;this.jax[t.name]=t,this.settings.renderer=t.name,b._.a11y&&b._.a11y.explorer&&Object.assign(this.settings,this.document.options.a11y),this.settings.scale=t.options.scale,this.defaultSettings=Object.assign({},this.settings)},t.prototype.initMenu=function(){var t=this,e=new d.Parser([["contextMenu",u.MJContextMenu.fromJson.bind(u.MJContextMenu)]]);this.menu=e.parse({type:"contextMenu",id:"MathJax_Menu",pool:[this.variable("texHints"),this.variable("semantics"),this.variable("zoom"),this.variable("zscale"),this.variable("renderer",(function(e){return t.setRenderer(e)})),this.variable("alt"),this.variable("cmd"),this.variable("ctrl"),this.variable("shift"),this.variable("scale",(function(e){return t.setScale(e)})),this.variable("explorer",(function(e){return t.setExplorer(e)})),this.a11yVar("highlight"),this.a11yVar("backgroundColor"),this.a11yVar("backgroundOpacity"),this.a11yVar("foregroundColor"),this.a11yVar("foregroundOpacity"),this.a11yVar("speech"),this.a11yVar("subtitles"),this.a11yVar("braille"),this.a11yVar("viewBraille"),this.a11yVar("locale",(function(t){return g.default.setupEngine({locale:t})})),this.a11yVar("speechRules",(function(e){var r=n(e.split("-"),2),o=r[0],i=r[1];t.document.options.sre.domain=o,t.document.options.sre.style=i})),this.a11yVar("magnification"),this.a11yVar("magnify"),this.a11yVar("treeColoring"),this.a11yVar("infoType"),this.a11yVar("infoRole"),this.a11yVar("infoPrefix"),this.variable("autocollapse"),this.variable("collapsible",(function(e){return t.setCollapsible(e)})),this.variable("inTabOrder",(function(e){return t.setTabOrder(e)})),this.variable("assistiveMml",(function(e){return t.setAssistiveMml(e)}))],items:[this.submenu("Show","Show Math As",[this.command("MathMLcode","MathML Code",(function(){return t.mathmlCode.post()})),this.command("Original","Original Form",(function(){return t.originalText.post()})),this.submenu("Annotation","Annotation")]),this.submenu("Copy","Copy to Clipboard",[this.command("MathMLcode","MathML Code",(function(){return t.copyMathML()})),this.command("Original","Original Form",(function(){return t.copyOriginal()})),this.submenu("Annotation","Annotation")]),this.rule(),this.submenu("Settings","Math Settings",[this.submenu("Renderer","Math Renderer",this.radioGroup("renderer",[["CHTML"],["SVG"]])),this.rule(),this.submenu("ZoomTrigger","Zoom Trigger",[this.command("ZoomNow","Zoom Once Now",(function(){return t.zoom(null,"",t.menu.mathItem)})),this.rule(),this.radioGroup("zoom",[["Click"],["DoubleClick","Double-Click"],["NoZoom","No Zoom"]]),this.rule(),this.label("TriggerRequires","Trigger Requires:"),this.checkbox(v?"Option":"Alt",v?"Option":"Alt","alt"),this.checkbox("Command","Command","cmd",{hidden:!v}),this.checkbox("Control","Control","ctrl",{hiddne:v}),this.checkbox("Shift","Shift","shift")]),this.submenu("ZoomFactor","Zoom Factor",this.radioGroup("zscale",[["150%"],["175%"],["200%"],["250%"],["300%"],["400%"]])),this.rule(),this.command("Scale","Scale All Math...",(function(){return t.scaleAllMath()})),this.rule(),this.checkbox("texHints","Add TeX hints to MathML","texHints"),this.checkbox("semantics","Add original as annotation","semantics"),this.rule(),this.command("Reset","Reset to defaults",(function(){return t.resetDefaults()}))]),this.submenu("Accessibility","Accessibility",[this.checkbox("Activate","Activate","explorer"),this.submenu("Speech","Speech",[this.checkbox("Speech","Speech Output","speech"),this.checkbox("Subtitles","Speech Subtitles","subtitles"),this.checkbox("Braille","Braille Output","braille"),this.checkbox("View Braille","Braille Subtitles","viewBraille"),this.rule(),this.submenu("A11yLanguage","Language"),this.rule(),this.submenu("Mathspeak","Mathspeak Rules",this.radioGroup("speechRules",[["mathspeak-default","Verbose"],["mathspeak-brief","Brief"],["mathspeak-sbrief","Superbrief"]])),this.submenu("Clearspeak","Clearspeak Rules",this.radioGroup("speechRules",[["clearspeak-default","Auto"]])),this.submenu("ChromeVox","ChromeVox Rules",this.radioGroup("speechRules",[["chromevox-default","Standard"],["chromevox-alternative","Alternative"]]))]),this.submenu("Highlight","Highlight",[this.submenu("Background","Background",this.radioGroup("backgroundColor",[["Blue"],["Red"],["Green"],["Yellow"],["Cyan"],["Magenta"],["White"],["Black"]])),{type:"slider",variable:"backgroundOpacity",content:" "},this.submenu("Foreground","Foreground",this.radioGroup("foregroundColor",[["Black"],["White"],["Magenta"],["Cyan"],["Yellow"],["Green"],["Red"],["Blue"]])),{type:"slider",variable:"foregroundOpacity",content:" "},this.rule(),this.radioGroup("highlight",[["None"],["Hover"],["Flame"]]),this.rule(),this.checkbox("TreeColoring","Tree Coloring","treeColoring")]),this.submenu("Magnification","Magnification",[this.radioGroup("magnification",[["None"],["Keyboard"],["Mouse"]]),this.rule(),this.radioGroup("magnify",[["200%"],["300%"],["400%"],["500%"]])]),this.submenu("Semantic Info","Semantic Info",[this.checkbox("Type","Type","infoType"),this.checkbox("Role","Role","infoRole"),this.checkbox("Prefix","Prefix","infoPrefix")],!0),this.rule(),this.checkbox("Collapsible","Collapsible Math","collapsible"),this.checkbox("AutoCollapse","Auto Collapse","autocollapse",{disabled:!0}),this.rule(),this.checkbox("InTabOrder","Include in Tab Order","inTabOrder"),this.checkbox("AssistiveMml","Include Hidden MathML","assistiveMml")]),this.submenu("Language","Language"),this.rule(),this.command("About","About MathJax",(function(){return t.about.post()})),this.command("Help","MathJax Help",(function(){return t.help.post()}))]});var r=this.menu;this.about.attachMenu(r),this.help.attachMenu(r),this.originalText.attachMenu(r),this.annotationText.attachMenu(r),this.mathmlCode.attachMenu(r),this.zoomBox.attachMenu(r),this.checkLoadableItems(),this.enableExplorerItems(this.settings.explorer),r.showAnnotation=this.annotationText,r.copyAnnotation=this.copyAnnotation.bind(this),r.annotationTypes=this.options.annotationTypes,y.CssStyles.addInfoStyles(this.document.document),y.CssStyles.addMenuStyles(this.document.document)},t.prototype.checkLoadableItems=function(){var t,e;if(b&&b._&&b.loader&&b.startup)!this.settings.collapsible||b._.a11y&&b._.a11y.complexity||this.loadA11y("complexity"),!this.settings.explorer||b._.a11y&&b._.a11y.explorer||this.loadA11y("explorer"),!this.settings.assistiveMml||b._.a11y&&b._.a11y["assistive-mml"]||this.loadA11y("assistive-mml");else{var r=this.menu;try{for(var n=o(Object.keys(this.jax)),i=n.next();!i.done;i=n.next()){var s=i.value;this.jax[s]||r.findID("Settings","Renderer",s).disable()}}catch(e){t={error:e}}finally{try{i&&!i.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}r.findID("Accessibility","Activate").disable(),r.findID("Accessibility","AutoCollapse").disable(),r.findID("Accessibility","Collapsible").disable()}},t.prototype.enableExplorerItems=function(t){var e,r,n=this.menu.findID("Accessibility","Activate").menu;try{for(var i=o(n.items.slice(1)),s=i.next();!s.done;s=i.next()){var a=s.value;if(a instanceof m.Rule)break;t?a.enable():a.disable()}}catch(t){e={error:t}}finally{try{s&&!s.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}},t.prototype.mergeUserSettings=function(){try{var e=localStorage.getItem(t.MENU_STORAGE);if(!e)return;Object.assign(this.settings,JSON.parse(e)),this.setA11y(this.settings)}catch(t){console.log("MathJax localStorage error: "+t.message)}},t.prototype.saveUserSettings=function(){var e,r,n={};try{for(var i=o(Object.keys(this.settings)),s=i.next();!s.done;s=i.next()){var a=s.value;this.settings[a]!==this.defaultSettings[a]&&(n[a]=this.settings[a])}}catch(t){e={error:t}}finally{try{s&&!s.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}try{Object.keys(n).length?localStorage.setItem(t.MENU_STORAGE,JSON.stringify(n)):localStorage.removeItem(t.MENU_STORAGE)}catch(t){console.log("MathJax localStorage error: "+t.message)}},t.prototype.setA11y=function(t){b._.a11y&&b._.a11y.explorer&&b._.a11y.explorer_ts.setA11yOptions(this.document,t)},t.prototype.getA11y=function(t){if(b._.a11y&&b._.a11y.explorer)return void 0!==this.document.options.a11y[t]?this.document.options.a11y[t]:this.document.options.sre[t]},t.prototype.applySettings=function(){this.setTabOrder(this.settings.inTabOrder),this.document.options.enableAssistiveMml=this.settings.assistiveMml,this.document.outputJax.options.scale=parseFloat(this.settings.scale),this.settings.renderer!==this.defaultSettings.renderer&&this.setRenderer(this.settings.renderer)},t.prototype.setScale=function(t){this.document.outputJax.options.scale=parseFloat(t),this.document.rerender()},t.prototype.setRenderer=function(t){var e=this;if(this.jax[t])this.setOutputJax(t);else{var r=t.toLowerCase();this.loadComponent("output/"+r,(function(){var n=b.startup;r in n.constructors&&(n.useOutput(r,!0),n.output=n.getOutputJax(),e.jax[t]=n.output,e.setOutputJax(t))}))}},t.prototype.setOutputJax=function(t){this.jax[t].setAdaptor(this.document.adaptor),this.document.outputJax=this.jax[t],this.rerender()},t.prototype.setTabOrder=function(t){this.menu.store.inTaborder(t)},t.prototype.setAssistiveMml=function(t){this.document.options.enableAssistiveMml=t,!t||b._.a11y&&b._.a11y["assistive-mml"]?this.rerender():this.loadA11y("assistive-mml")},t.prototype.setExplorer=function(t){this.enableExplorerItems(t),this.document.options.enableExplorer=t,!t||b._.a11y&&b._.a11y.explorer?this.rerender(this.settings.collapsible?a.STATE.RERENDER:a.STATE.COMPILED):this.loadA11y("explorer")},t.prototype.setCollapsible=function(t){this.document.options.enableComplexity=t,!t||b._.a11y&&b._.a11y.complexity?this.rerender(a.STATE.COMPILED):this.loadA11y("complexity")},t.prototype.scaleAllMath=function(){var t=(100*parseFloat(this.settings.scale)).toFixed(1).replace(/.0$/,""),e=prompt("Scale all mathematics (compared to surrounding text) by",t+"%");if(e)if(e.match(/^\s*\d+(\.\d*)?\s*%?\s*$/)){var r=parseFloat(e)/100;r?this.menu.pool.lookup("scale").setValue(String(r)):alert("The scale should not be zero")}else alert("The scale should be a percentage (e.g., 120%)")},t.prototype.resetDefaults=function(){var e,r;t.loading++;var n=this.menu.pool,i=this.defaultSettings;try{for(var s=o(Object.keys(this.settings)),l=s.next();!l.done;l=s.next()){var c=l.value,u=n.lookup(c);if(u){u.setValue(i[c]);var p=u.items[0];p&&p.executeCallbacks_()}else this.settings[c]=i[c]}}catch(t){e={error:t}}finally{try{l&&!l.done&&(r=s.return)&&r.call(s)}finally{if(e)throw e.error}}t.loading--,this.rerender(a.STATE.COMPILED)},t.prototype.checkComponent=function(e){var r=t.loadingPromises.get(e);r&&s.mathjax.retryAfter(r)},t.prototype.loadComponent=function(e,r){if(!t.loadingPromises.has(e)){var n=b.loader;if(n){t.loading++;var o=n.load(e).then((function(){t.loading--,t.loadingPromises.delete(e),r(),0===t.loading&&t._loadingPromise&&(t._loadingPromise=null,t._loadingOK())})).catch((function(e){t._loadingPromise?(t._loadingPromise=null,t._loadingFailed(e)):console.log(e)}));t.loadingPromises.set(e,o)}}},t.prototype.loadA11y=function(e){var r=this,n=!a.STATE.ENRICHED;this.loadComponent("a11y/"+e,(function(){var o=b.startup;s.mathjax.handlers.unregister(o.handler),o.handler=o.getHandler(),s.mathjax.handlers.register(o.handler);var i=r.document;r.document=o.document=o.getDocument(),r.document.menu=r,r.document.outputJax.reset(),r.transferMathList(i),r.document.processed=i.processed,t._loadingPromise||(r.document.outputJax.reset(),r.rerender("complexity"===e||n?a.STATE.COMPILED:a.STATE.TYPESET))}))},t.prototype.transferMathList=function(t){var e,r,n=this.document.options.MathItem;try{for(var i=o(t.math),s=i.next();!s.done;s=i.next()){var a=s.value,l=new n;Object.assign(l,a),this.document.math.push(l)}}catch(t){e={error:t}}finally{try{s&&!s.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}},t.prototype.formatSource=function(t){return t.trim().replace(/&/g,"&").replace(//g,">")},t.prototype.toMML=function(t){return this.MmlVisitor.visitTree(t.root,t,{texHints:this.settings.texHints,semantics:this.settings.semantics&&"MathML"!==t.inputJax.name})},t.prototype.zoom=function(t,e,r){t&&!this.isZoomEvent(t,e)||(this.menu.mathItem=r,t&&this.menu.post(t),this.zoomBox.post())},t.prototype.isZoomEvent=function(t,e){return this.settings.zoom===e&&(!this.settings.alt||t.altKey)&&(!this.settings.ctrl||t.ctrlKey)&&(!this.settings.cmd||t.metaKey)&&(!this.settings.shift||t.shiftKey)},t.prototype.rerender=function(e){void 0===e&&(e=a.STATE.TYPESET),this.rerenderStart=Math.min(e,this.rerenderStart),t.loading||(this.rerenderStart<=a.STATE.COMPILED&&this.document.reset({inputJax:[]}),this.document.rerender(this.rerenderStart),this.rerenderStart=a.STATE.LAST)},t.prototype.copyMathML=function(){this.copyToClipboard(this.toMML(this.menu.mathItem))},t.prototype.copyOriginal=function(){this.copyToClipboard(this.menu.mathItem.math.trim())},t.prototype.copyAnnotation=function(){this.copyToClipboard(this.menu.annotation.trim())},t.prototype.copyToClipboard=function(t){var e=document.createElement("textarea");e.value=t,e.setAttribute("readonly",""),e.style.cssText="height: 1px; width: 1px; padding: 1px; position: absolute; left: -10px",document.body.appendChild(e),e.select();try{document.execCommand("copy")}catch(t){alert("Can't copy to clipboard: "+t.message)}document.body.removeChild(e)},t.prototype.addMenu=function(t){var e=this,r=t.typesetRoot;r.addEventListener("contextmenu",(function(){return e.menu.mathItem=t}),!0),r.addEventListener("keydown",(function(){return e.menu.mathItem=t}),!0),r.addEventListener("click",(function(r){return e.zoom(r,"Click",t)}),!0),r.addEventListener("dblclick",(function(r){return e.zoom(r,"DoubleClick",t)}),!0),this.menu.store.insert(r)},t.prototype.clear=function(){this.menu.store.clear()},t.prototype.variable=function(t,e){var r=this;return{name:t,getter:function(){return r.settings[t]},setter:function(n){r.settings[t]=n,e&&e(n),r.saveUserSettings()}}},t.prototype.a11yVar=function(t,e){var r=this;return{name:t,getter:function(){return r.getA11y(t)},setter:function(n){r.settings[t]=n;var o={};o[t]=n,r.setA11y(o),e&&e(n),r.saveUserSettings()}}},t.prototype.submenu=function(t,e,r,n){var i,s;void 0===r&&(r=[]),void 0===n&&(n=!1);var a=[];try{for(var l=o(r),c=l.next();!c.done;c=l.next()){var u=c.value;Array.isArray(u)?a=a.concat(u):a.push(u)}}catch(t){i={error:t}}finally{try{c&&!c.done&&(s=l.return)&&s.call(l)}finally{if(i)throw i.error}}return{type:"submenu",id:t,content:e,menu:{items:a},disabled:0===a.length||n}},t.prototype.command=function(t,e,r,n){return void 0===n&&(n={}),Object.assign({type:"command",id:t,content:e,action:r},n)},t.prototype.checkbox=function(t,e,r,n){return void 0===n&&(n={}),Object.assign({type:"checkbox",id:t,content:e,variable:r},n)},t.prototype.radioGroup=function(t,e){var r=this;return e.map((function(e){return r.radio(e[0],e[1]||e[0],t)}))},t.prototype.radio=function(t,e,r,n){return void 0===n&&(n={}),Object.assign({type:"radio",id:t,content:e,variable:r},n)},t.prototype.label=function(t,e){return{type:"label",id:t,content:e}},t.prototype.rule=function(){return{type:"rule"}},t.MENU_STORAGE="MathJax-Menu-Settings",t.OPTIONS={settings:{texHints:!0,semantics:!1,zoom:"NoZoom",zscale:"200%",renderer:"CHTML",alt:!1,cmd:!1,ctrl:!1,shift:!1,scale:1,autocollapse:!1,collapsible:!1,inTabOrder:!0,assistiveMml:!0,explorer:!1},jax:{CHTML:null,SVG:null},annotationTypes:(0,c.expandable)({TeX:["TeX","LaTeX","application/x-tex"],StarMath:["StarMath 5.0"],Maple:["Maple"],ContentMathML:["MathML-Content","application/mathml-content+xml"],OpenMath:["OpenMath"]})},t.loading=0,t.loadingPromises=new Map,t._loadingPromise=null,t._loadingOK=null,t._loadingFailed=null,t}();e.Menu=_},4001:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__assign||function(){return i=Object.assign||function(t){for(var e,r=1,n=arguments.length;r0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},a=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.MenuHandler=e.MenuMathDocumentMixin=e.MenuMathItemMixin=void 0;var c=r(5713),u=r(4474),p=r(7233),h=r(8310);function f(t){return function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.addMenu=function(t,e){void 0===e&&(e=!1),this.state()>=u.STATE.CONTEXT_MENU||(this.isEscaped||!t.options.enableMenu&&!e||t.menu.addMenu(this),this.state(u.STATE.CONTEXT_MENU))},e.prototype.checkLoading=function(t){t.checkLoading()},e}(t)}function d(t){var e;return e=function(t){function e(){for(var e=[],r=0;r\n"+this.childNodeMml(e,r+" ","\n")+r+""},e.prototype.visitMathNode=function(e,r){if(!this.options.semantics||"TeX"!==this.mathItem.inputJax.name)return t.prototype.visitDefault.call(this,e,r);var n=e.childNodes.length&&e.childNodes[0].childNodes.length>1;return r+"\n"+r+" \n"+(n?r+" \n":"")+this.childNodeMml(e,r+(n?" ":" "),"\n")+(n?r+" \n":"")+r+' '+this.mathItem.math+"\n"+r+" \n"+r+""},e}(i.SerializedMmlVisitor);e.MmlVisitor=a},4414:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.SelectableInfo=void 0;var i=r(4922),s=r(2165),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.addEvents=function(t){var e=this;t.addEventListener("keypress",(function(t){"a"===t.key&&(t.ctrlKey||t.metaKey)&&(e.selectAll(),e.stop(t))}))},e.prototype.selectAll=function(){document.getSelection().selectAllChildren(this.html.querySelector("pre"))},e.prototype.copyToClipboard=function(){this.selectAll();try{document.execCommand("copy")}catch(t){alert("Can't copy to clipboard: "+t.message)}document.getSelection().removeAllRanges()},e.prototype.generateHtml=function(){var e=this;t.prototype.generateHtml.call(this);var r=this.html.querySelector("span."+s.HtmlClasses.INFOSIGNATURE).appendChild(document.createElement("input"));r.type="button",r.value="Copy to Clipboard",r.addEventListener("click",(function(t){return e.copyToClipboard()}))},e}(i.Info);e.SelectableInfo=a},9923:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.asyncLoad=void 0;var n=r(5713);e.asyncLoad=function(t){return n.mathjax.asyncLoad?new Promise((function(e,r){var o=n.mathjax.asyncLoad(t);o instanceof Promise?o.then((function(t){return e(t)})).catch((function(t){return r(t)})):e(o)})):Promise.reject("Can't load '".concat(t,"': No asyncLoad method specified"))}},6469:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.BBox=void 0;var n=r(6010),o=function(){function t(t){void 0===t&&(t={w:0,h:-n.BIGDIMEN,d:-n.BIGDIMEN}),this.w=t.w||0,this.h="h"in t?t.h:-n.BIGDIMEN,this.d="d"in t?t.d:-n.BIGDIMEN,this.L=this.R=this.ic=this.sk=this.dx=0,this.scale=this.rscale=1,this.pwidth=""}return t.zero=function(){return new t({h:0,d:0,w:0})},t.empty=function(){return new t},t.prototype.empty=function(){return this.w=0,this.h=this.d=-n.BIGDIMEN,this},t.prototype.clean=function(){this.w===-n.BIGDIMEN&&(this.w=0),this.h===-n.BIGDIMEN&&(this.h=0),this.d===-n.BIGDIMEN&&(this.d=0)},t.prototype.rescale=function(t){this.w*=t,this.h*=t,this.d*=t},t.prototype.combine=function(t,e,r){void 0===e&&(e=0),void 0===r&&(r=0);var n=t.rscale,o=e+n*(t.w+t.L+t.R),i=r+n*t.h,s=n*t.d-r;o>this.w&&(this.w=o),i>this.h&&(this.h=i),s>this.d&&(this.d=s)},t.prototype.append=function(t){var e=t.rscale;this.w+=e*(t.w+t.L+t.R),e*t.h>this.h&&(this.h=e*t.h),e*t.d>this.d&&(this.d=e*t.d)},t.prototype.updateFrom=function(t){this.h=t.h,this.d=t.d,this.w=t.w,t.pwidth&&(this.pwidth=t.pwidth)},t.fullWidth="100%",t.StyleAdjust=[["borderTopWidth","h"],["borderRightWidth","w"],["borderBottomWidth","d"],["borderLeftWidth","w",0],["paddingTop","h"],["paddingRight","w"],["paddingBottom","d"],["paddingLeft","w",0]],t}();e.BBox=o},6751:function(t,e){var r,n=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},i=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},s=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o",gtdot:"\u22d7",harrw:"\u21ad",hbar:"\u210f",hellip:"\u2026",hookleftarrow:"\u21a9",hookrightarrow:"\u21aa",imath:"\u0131",infin:"\u221e",intcal:"\u22ba",iota:"\u03b9",jmath:"\u0237",kappa:"\u03ba",kappav:"\u03f0",lEg:"\u2a8b",lambda:"\u03bb",lap:"\u2a85",larrlp:"\u21ab",larrtl:"\u21a2",lbrace:"{",lbrack:"[",le:"\u2264",leftleftarrows:"\u21c7",leftthreetimes:"\u22cb",lessdot:"\u22d6",lmoust:"\u23b0",lnE:"\u2268",lnap:"\u2a89",lne:"\u2a87",lnsim:"\u22e6",longmapsto:"\u27fc",looparrowright:"\u21ac",lowast:"\u2217",loz:"\u25ca",lt:"<",ltimes:"\u22c9",ltri:"\u25c3",macr:"\xaf",malt:"\u2720",mho:"\u2127",mu:"\u03bc",multimap:"\u22b8",nLeftarrow:"\u21cd",nLeftrightarrow:"\u21ce",nRightarrow:"\u21cf",nVDash:"\u22af",nVdash:"\u22ae",natur:"\u266e",nearr:"\u2197",nharr:"\u21ae",nlarr:"\u219a",not:"\xac",nrarr:"\u219b",nu:"\u03bd",nvDash:"\u22ad",nvdash:"\u22ac",nwarr:"\u2196",omega:"\u03c9",omicron:"\u03bf",or:"\u2228",osol:"\u2298",period:".",phi:"\u03c6",phiv:"\u03d5",pi:"\u03c0",piv:"\u03d6",prap:"\u2ab7",precnapprox:"\u2ab9",precneqq:"\u2ab5",precnsim:"\u22e8",prime:"\u2032",psi:"\u03c8",quot:'"',rarrtl:"\u21a3",rbrace:"}",rbrack:"]",rho:"\u03c1",rhov:"\u03f1",rightrightarrows:"\u21c9",rightthreetimes:"\u22cc",ring:"\u02da",rmoust:"\u23b1",rtimes:"\u22ca",rtri:"\u25b9",scap:"\u2ab8",scnE:"\u2ab6",scnap:"\u2aba",scnsim:"\u22e9",sdot:"\u22c5",searr:"\u2198",sect:"\xa7",sharp:"\u266f",sigma:"\u03c3",sigmav:"\u03c2",simne:"\u2246",smile:"\u2323",spades:"\u2660",sub:"\u2282",subE:"\u2ac5",subnE:"\u2acb",subne:"\u228a",supE:"\u2ac6",supnE:"\u2acc",supne:"\u228b",swarr:"\u2199",tau:"\u03c4",theta:"\u03b8",thetav:"\u03d1",tilde:"\u02dc",times:"\xd7",triangle:"\u25b5",triangleq:"\u225c",upsi:"\u03c5",upuparrows:"\u21c8",veebar:"\u22bb",vellip:"\u22ee",weierp:"\u2118",xi:"\u03be",yen:"\xa5",zeta:"\u03b6",zigrarr:"\u21dd",nbsp:"\xa0",rsquo:"\u2019",lsquo:"\u2018"};var i={};function s(t,r){if("#"===r.charAt(0))return a(r.slice(1));if(e.entities[r])return e.entities[r];if(e.options.loadMissingEntities){var s=r.match(/^[a-zA-Z](fr|scr|opf)$/)?RegExp.$1:r.charAt(0).toLowerCase();i[s]||(i[s]=!0,(0,n.retryAfter)((0,o.asyncLoad)("./util/entities/"+s+".js")))}return t}function a(t){var e="x"===t.charAt(0)?parseInt(t.slice(1),16):parseInt(t);return String.fromCodePoint(e)}e.add=function(t,r){Object.assign(e.entities,t),i[r]=!0},e.remove=function(t){delete e.entities[t]},e.translate=function(t){return t.replace(/&([a-z][a-z0-9]*|#(?:[0-9]+|x[0-9a-f]+));/gi,s)},e.numeric=a},7525:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},s=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},a=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},o=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.LinkedList=e.ListItem=e.END=void 0,e.END=Symbol();var s=function(t){void 0===t&&(t=null),this.next=null,this.prev=null,this.data=t};e.ListItem=s;var a=function(){function t(){for(var t=[],r=0;r1;){var c=o.shift(),u=o.shift();c.merge(u,e),o.push(c)}return o.length&&(this.list=o[0].list),this},t.prototype.merge=function(t,r){var o,i,s,a,l;void 0===r&&(r=null),null===r&&(r=this.isBefore.bind(this));for(var c=this.list.next,u=t.list.next;c.data!==e.END&&u.data!==e.END;)r(u.data,c.data)?(o=n([c,u],2),u.prev.next=o[0],c.prev.next=o[1],i=n([c.prev,u.prev],2),u.prev=i[0],c.prev=i[1],s=n([t.list,this.list],2),this.list.prev.next=s[0],t.list.prev.next=s[1],a=n([t.list.prev,this.list.prev],2),this.list.prev=a[0],t.list.prev=a[1],c=(l=n([u.next,c],2))[0],u=l[1]):c=c.next;return u.data!==e.END&&(this.list.prev.next=t.list.next,t.list.next.prev=this.list.prev,t.list.prev.next=this.list,this.list.prev=t.list.prev,t.list.next=t.list.prev=t.list),this},t}();e.LinkedList=a},7233:function(t,e){var r=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},n=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},o=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;oe.length}}}},t.prototype.add=function(e,r){void 0===r&&(r=t.DEFAULTPRIORITY);var n=this.items.length;do{n--}while(n>=0&&r=0&&this.items[e].item!==t);e>=0&&this.items.splice(e,1)},t.DEFAULTPRIORITY=5,t}();e.PrioritizedList=r},4542:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.retryAfter=e.handleRetriesFor=void 0,e.handleRetriesFor=function(t){return new Promise((function e(r,n){try{r(t())}catch(t){t.retry&&t.retry instanceof Promise?t.retry.then((function(){return e(r,n)})).catch((function(t){return n(t)})):t.restart&&t.restart.isCallback?MathJax.Callback.After((function(){return e(r,n)}),t.restart):n(t)}}))},e.retryAfter=function(t){var e=new Error("MathJax retry");throw e.retry=t,e}},4139:function(t,e){var r=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CssStyles=void 0;var n=function(){function t(t){void 0===t&&(t=null),this.styles={},this.addStyles(t)}return Object.defineProperty(t.prototype,"cssText",{get:function(){return this.getStyleString()},enumerable:!1,configurable:!0}),t.prototype.addStyles=function(t){var e,n;if(t)try{for(var o=r(Object.keys(t)),i=o.next();!i.done;i=o.next()){var s=i.value;this.styles[s]||(this.styles[s]={}),Object.assign(this.styles[s],t[s])}}catch(t){e={error:t}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(e)throw e.error}}},t.prototype.removeStyles=function(){for(var t,e,n=[],o=0;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},n=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},o=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o1;)e.shift(),r.push(e.shift());return r}function l(t){var e,n,o=a(this.styles[t]);0===o.length&&o.push(""),1===o.length&&o.push(o[0]),2===o.length&&o.push(o[0]),3===o.length&&o.push(o[1]);try{for(var i=r(v.connect[t].children),s=i.next();!s.done;s=i.next()){var l=s.value;this.setStyle(this.childName(t,l),o.shift())}}catch(t){e={error:t}}finally{try{s&&!s.done&&(n=i.return)&&n.call(i)}finally{if(e)throw e.error}}}function c(t){var e,n,o=v.connect[t].children,i=[];try{for(var s=r(o),a=s.next();!a.done;a=s.next()){var l=a.value,c=this.styles[t+"-"+l];if(!c)return void delete this.styles[t];i.push(c)}}catch(t){e={error:t}}finally{try{a&&!a.done&&(n=s.return)&&n.call(s)}finally{if(e)throw e.error}}i[3]===i[1]&&(i.pop(),i[2]===i[0]&&(i.pop(),i[1]===i[0]&&i.pop())),this.styles[t]=i.join(" ")}function u(t){var e,n;try{for(var o=r(v.connect[t].children),i=o.next();!i.done;i=o.next()){var s=i.value;this.setStyle(this.childName(t,s),this.styles[t])}}catch(t){e={error:t}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(e)throw e.error}}}function p(t){var e,i,s=o([],n(v.connect[t].children),!1),a=this.styles[this.childName(t,s.shift())];try{for(var l=r(s),c=l.next();!c.done;c=l.next()){var u=c.value;if(this.styles[this.childName(t,u)]!==a)return void delete this.styles[t]}}catch(t){e={error:t}}finally{try{c&&!c.done&&(i=l.return)&&i.call(l)}finally{if(e)throw e.error}}this.styles[t]=a}var h=/^(?:[\d.]+(?:[a-z]+)|thin|medium|thick|inherit|initial|unset)$/,f=/^(?:none|hidden|dotted|dashed|solid|double|groove|ridge|inset|outset|inherit|initial|unset)$/;function d(t){var e,n,o,i,s={width:"",style:"",color:""};try{for(var l=r(a(this.styles[t])),c=l.next();!c.done;c=l.next()){var u=c.value;u.match(h)&&""===s.width?s.width=u:u.match(f)&&""===s.style?s.style=u:s.color=u}}catch(t){e={error:t}}finally{try{c&&!c.done&&(n=l.return)&&n.call(l)}finally{if(e)throw e.error}}try{for(var p=r(v.connect[t].children),d=p.next();!d.done;d=p.next()){var m=d.value;this.setStyle(this.childName(t,m),s[m])}}catch(t){o={error:t}}finally{try{d&&!d.done&&(i=p.return)&&i.call(p)}finally{if(o)throw o.error}}}function m(t){var e,n,o=[];try{for(var i=r(v.connect[t].children),s=i.next();!s.done;s=i.next()){var a=s.value,l=this.styles[this.childName(t,a)];l&&o.push(l)}}catch(t){e={error:t}}finally{try{s&&!s.done&&(n=i.return)&&n.call(i)}finally{if(e)throw e.error}}o.length?this.styles[t]=o.join(" "):delete this.styles[t]}var y={style:/^(?:normal|italic|oblique|inherit|initial|unset)$/,variant:new RegExp("^(?:"+["normal|none","inherit|initial|unset","common-ligatures|no-common-ligatures","discretionary-ligatures|no-discretionary-ligatures","historical-ligatures|no-historical-ligatures","contextual|no-contextual","(?:stylistic|character-variant|swash|ornaments|annotation)\\([^)]*\\)","small-caps|all-small-caps|petite-caps|all-petite-caps|unicase|titling-caps","lining-nums|oldstyle-nums|proportional-nums|tabular-nums","diagonal-fractions|stacked-fractions","ordinal|slashed-zero","jis78|jis83|jis90|jis04|simplified|traditional","full-width|proportional-width","ruby"].join("|")+")$"),weight:/^(?:normal|bold|bolder|lighter|[1-9]00|inherit|initial|unset)$/,stretch:new RegExp("^(?:"+["normal","(?:(?:ultra|extra|semi)-)?condensed","(?:(?:semi|extra|ulta)-)?expanded","inherit|initial|unset"].join("|")+")$"),size:new RegExp("^(?:"+["xx-small|x-small|small|medium|large|x-large|xx-large|larger|smaller","[d.]+%|[d.]+[a-z]+","inherit|initial|unset"].join("|")+")(?:/(?:normal|[d.+](?:%|[a-z]+)?))?$")};function g(t){var e,o,i,s,l=a(this.styles[t]),c={style:"",variant:[],weight:"",stretch:"",size:"",family:"","line-height":""};try{for(var u=r(l),p=u.next();!p.done;p=u.next()){var h=p.value;c.family=h;try{for(var f=(i=void 0,r(Object.keys(y))),d=f.next();!d.done;d=f.next()){var m=d.value;if((Array.isArray(c[m])||""===c[m])&&h.match(y[m]))if("size"===m){var g=n(h.split(/\//),2),b=g[0],_=g[1];c[m]=b,_&&(c["line-height"]=_)}else""===c.size&&(Array.isArray(c[m])?c[m].push(h):c[m]=h)}}catch(t){i={error:t}}finally{try{d&&!d.done&&(s=f.return)&&s.call(f)}finally{if(i)throw i.error}}}}catch(t){e={error:t}}finally{try{p&&!p.done&&(o=u.return)&&o.call(u)}finally{if(e)throw e.error}}!function(t,e){var n,o;try{for(var i=r(v.connect[t].children),s=i.next();!s.done;s=i.next()){var a=s.value,l=this.childName(t,a);if(Array.isArray(e[a])){var c=e[a];c.length&&(this.styles[l]=c.join(" "))}else""!==e[a]&&(this.styles[l]=e[a])}}catch(t){n={error:t}}finally{try{s&&!s.done&&(o=i.return)&&o.call(i)}finally{if(n)throw n.error}}}(t,c),delete this.styles[t]}function b(t){}var v=function(){function t(t){void 0===t&&(t=""),this.parse(t)}return Object.defineProperty(t.prototype,"cssText",{get:function(){var t,e,n=[];try{for(var o=r(Object.keys(this.styles)),i=o.next();!i.done;i=o.next()){var s=i.value,a=this.parentName(s);this.styles[a]||n.push(s+": "+this.styles[s]+";")}}catch(e){t={error:e}}finally{try{i&&!i.done&&(e=o.return)&&e.call(o)}finally{if(t)throw t.error}}return n.join(" ")},enumerable:!1,configurable:!0}),t.prototype.set=function(e,r){for(e=this.normalizeName(e),this.setStyle(e,r),t.connect[e]&&!t.connect[e].combine&&(this.combineChildren(e),delete this.styles[e]);e.match(/-/)&&(e=this.parentName(e),t.connect[e]);)t.connect[e].combine.call(this,e)},t.prototype.get=function(t){return t=this.normalizeName(t),this.styles.hasOwnProperty(t)?this.styles[t]:""},t.prototype.setStyle=function(e,r){this.styles[e]=r,t.connect[e]&&t.connect[e].children&&t.connect[e].split.call(this,e),""===r&&delete this.styles[e]},t.prototype.combineChildren=function(e){var n,o,i=this.parentName(e);try{for(var s=r(t.connect[e].children),a=s.next();!a.done;a=s.next()){var l=a.value,c=this.childName(i,l);t.connect[c].combine.call(this,c)}}catch(t){n={error:t}}finally{try{a&&!a.done&&(o=s.return)&&o.call(s)}finally{if(n)throw n.error}}},t.prototype.parentName=function(t){var e=t.replace(/-[^-]*$/,"");return t===e?"":e},t.prototype.childName=function(e,r){return r.match(/-/)?r:(t.connect[e]&&!t.connect[e].combine&&(r+=e.replace(/.*-/,"-"),e=this.parentName(e)),e+"-"+r)},t.prototype.normalizeName=function(t){return t.replace(/[A-Z]/g,(function(t){return"-"+t.toLowerCase()}))},t.prototype.parse=function(t){void 0===t&&(t="");var e=this.constructor.pattern;this.styles={};for(var r=t.replace(e.comment,"").split(e.style);r.length>1;){var o=n(r.splice(0,3),3),i=o[0],s=o[1],a=o[2];if(i.match(/[^\s\n]/))return;this.set(s,a)}},t.pattern={style:/([-a-z]+)[\s\n]*:[\s\n]*((?:'[^']*'|"[^"]*"|\n|.)*?)[\s\n]*(?:;|$)/g,comment:/\/\*[^]*?\*\//g},t.connect={padding:{children:i,split:l,combine:c},border:{children:i,split:u,combine:p},"border-top":{children:s,split:d,combine:m},"border-right":{children:s,split:d,combine:m},"border-bottom":{children:s,split:d,combine:m},"border-left":{children:s,split:d,combine:m},"border-width":{children:i,split:l,combine:null},"border-style":{children:i,split:l,combine:null},"border-color":{children:i,split:l,combine:null},font:{children:["style","variant","weight","stretch","line-height","size","family"],split:g,combine:b}},t}();e.Styles=v},6010:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.px=e.emRounded=e.em=e.percent=e.length2em=e.MATHSPACE=e.RELUNITS=e.UNITS=e.BIGDIMEN=void 0,e.BIGDIMEN=1e6,e.UNITS={px:1,in:96,cm:96/2.54,mm:96/25.4},e.RELUNITS={em:1,ex:.431,pt:.1,pc:1.2,mu:1/18},e.MATHSPACE={veryverythinmathspace:1/18,verythinmathspace:2/18,thinmathspace:3/18,mediummathspace:4/18,thickmathspace:5/18,verythickmathspace:6/18,veryverythickmathspace:7/18,negativeveryverythinmathspace:-1/18,negativeverythinmathspace:-2/18,negativethinmathspace:-3/18,negativemediummathspace:-4/18,negativethickmathspace:-5/18,negativeverythickmathspace:-6/18,negativeveryverythickmathspace:-7/18,thin:.04,medium:.06,thick:.1,normal:1,big:2,small:1/Math.sqrt(2),infinity:e.BIGDIMEN},e.length2em=function(t,r,n,o){if(void 0===r&&(r=0),void 0===n&&(n=1),void 0===o&&(o=16),"string"!=typeof t&&(t=String(t)),""===t||null==t)return r;if(e.MATHSPACE[t])return e.MATHSPACE[t];var i=t.match(/^\s*([-+]?(?:\.\d+|\d+(?:\.\d*)?))?(pt|em|ex|mu|px|pc|in|mm|cm|%)?/);if(!i)return r;var s=parseFloat(i[1]||"1"),a=i[2];return e.UNITS.hasOwnProperty(a)?s*e.UNITS[a]/o/n:e.RELUNITS.hasOwnProperty(a)?s*e.RELUNITS[a]:"%"===a?s/100*r:s*r},e.percent=function(t){return(100*t).toFixed(1).replace(/\.?0+$/,"")+"%"},e.em=function(t){return Math.abs(t)<.001?"0":t.toFixed(3).replace(/\.?0+$/,"")+"em"},e.emRounded=function(t,e){return void 0===e&&(e=16),t=(Math.round(t*e)+.05)/e,Math.abs(t)<.001?"0em":t.toFixed(3).replace(/\.?0+$/,"")+"em"},e.px=function(t,r,n){return void 0===r&&(r=-e.BIGDIMEN),void 0===n&&(n=16),t*=n,r&&t0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},n=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractItem=void 0;var s=r(9329),a=r(2556),l=r(2165),c=function(t){function e(e,r,n,o){var i=t.call(this,e,r)||this;return i._content=n,i.disabled=!1,i.callbacks=[],i._id=o||n,i}return o(e,t),Object.defineProperty(e.prototype,"content",{get:function(){return this._content},set:function(t){this._content=t,this.generateHtml(),this.menu&&this.menu.generateHtml()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"id",{get:function(){return this._id},enumerable:!1,configurable:!0}),e.prototype.press=function(){this.disabled||(this.executeAction(),this.executeCallbacks_())},e.prototype.executeAction=function(){},e.prototype.registerCallback=function(t){-1===this.callbacks.indexOf(t)&&this.callbacks.push(t)},e.prototype.unregisterCallback=function(t){var e=this.callbacks.indexOf(t);-1!==e&&this.callbacks.splice(e,1)},e.prototype.mousedown=function(t){this.press(),this.stop(t)},e.prototype.mouseover=function(t){this.focus(),this.stop(t)},e.prototype.mouseout=function(t){this.deactivate(),this.stop(t)},e.prototype.generateHtml=function(){t.prototype.generateHtml.call(this);var e=this.html;e.setAttribute("aria-disabled","false"),e.textContent=this.content},e.prototype.activate=function(){this.disabled||this.html.classList.add(l.HtmlClasses.MENUACTIVE)},e.prototype.deactivate=function(){this.html.classList.remove(l.HtmlClasses.MENUACTIVE)},e.prototype.focus=function(){this.menu.focused=this,t.prototype.focus.call(this),this.activate()},e.prototype.unfocus=function(){this.deactivate(),t.prototype.unfocus.call(this)},e.prototype.escape=function(t){a.MenuUtil.close(this)},e.prototype.up=function(t){this.menu.up(t)},e.prototype.down=function(t){this.menu.down(t)},e.prototype.left=function(t){this.menu.left(t)},e.prototype.right=function(t){this.menu.right(t)},e.prototype.space=function(t){this.press()},e.prototype.disable=function(){this.disabled=!0;var t=this.html;t.classList.add(l.HtmlClasses.MENUDISABLED),t.setAttribute("aria-disabled","true")},e.prototype.enable=function(){this.disabled=!1;var t=this.html;t.classList.remove(l.HtmlClasses.MENUDISABLED),t.removeAttribute("aria-disabled")},e.prototype.executeCallbacks_=function(){var t,e;try{for(var r=i(this.callbacks),n=r.next();!n.done;n=r.next()){var o=n.value;try{o(this)}catch(t){a.MenuUtil.error(t,"Callback for menu entry "+this.id+" failed.")}}}catch(e){t={error:e}}finally{try{n&&!n.done&&(e=r.return)&&e.call(r)}finally{if(t)throw t.error}}},e}(s.AbstractEntry);e.AbstractItem=c},1484:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractMenu=void 0;var s=r(8372),a=r(1340),l=r(2165),c=r(6186),u=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.className=l.HtmlClasses.CONTEXTMENU,e.role="menu",e._items=[],e._baseMenu=null,e}return o(e,t),Object.defineProperty(e.prototype,"baseMenu",{get:function(){return this._baseMenu},set:function(t){this._baseMenu=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"items",{get:function(){return this._items},set:function(t){this._items=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"pool",{get:function(){return this.variablePool},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"focused",{get:function(){return this._focused},set:function(t){if(this._focused!==t){this._focused||this.unfocus();var e=this._focused;this._focused=t,e&&e.unfocus()}},enumerable:!1,configurable:!0}),e.prototype.up=function(t){var e=this.items.filter((function(t){return t instanceof a.AbstractItem&&!t.isHidden()}));if(0!==e.length)if(this.focused){var r=e.indexOf(this.focused);-1!==r&&e[r=r?--r:e.length-1].focus()}else e[e.length-1].focus()},e.prototype.down=function(t){var e=this.items.filter((function(t){return t instanceof a.AbstractItem&&!t.isHidden()}));if(0!==e.length)if(this.focused){var r=e.indexOf(this.focused);-1!==r&&e[r=++r===e.length?0:r].focus()}else e[0].focus()},e.prototype.generateHtml=function(){t.prototype.generateHtml.call(this),this.generateMenu()},e.prototype.generateMenu=function(){var t,e,r=this.html;r.classList.add(l.HtmlClasses.MENU);try{for(var n=i(this.items),o=n.next();!o.done;o=n.next()){var s=o.value;if(s.isHidden()){var a=s.html;a.parentNode&&a.parentNode.removeChild(a)}else r.appendChild(s.html)}}catch(e){t={error:e}}finally{try{o&&!o.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}},e.prototype.post=function(e,r){this.variablePool.update(),t.prototype.post.call(this,e,r)},e.prototype.unpostSubmenus=function(){var t,e,r=this.items.filter((function(t){return t instanceof c.Submenu}));try{for(var n=i(r),o=n.next();!o.done;o=n.next()){var s=o.value;s.submenu.unpost(),s!==this.focused&&s.unfocus()}}catch(e){t={error:e}}finally{try{o&&!o.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}},e.prototype.unpost=function(){t.prototype.unpost.call(this),this.unpostSubmenus(),this.focused=null},e.prototype.find=function(t){var e,r;try{for(var n=i(this.items),o=n.next();!o.done;o=n.next()){var s=o.value;if("rule"!==s.type){if(s.id===t)return s;if("submenu"===s.type){var a=s.submenu.find(t);if(a)return a}}}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}return null},e}(s.AbstractPostable);e.AbstractMenu=u},2868:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractNavigatable=void 0;var n=r(3205),o=r(8853),i=function(){function t(){this.bubble=!1}return t.prototype.bubbleKey=function(){this.bubble=!0},t.prototype.keydown=function(t){switch(t.keyCode){case n.KEY.ESCAPE:this.escape(t);break;case n.KEY.RIGHT:this.right(t);break;case n.KEY.LEFT:this.left(t);break;case n.KEY.UP:this.up(t);break;case n.KEY.DOWN:this.down(t);break;case n.KEY.RETURN:case n.KEY.SPACE:this.space(t);break;default:return}this.bubble?this.bubble=!1:this.stop(t)},t.prototype.escape=function(t){},t.prototype.space=function(t){},t.prototype.left=function(t){},t.prototype.right=function(t){},t.prototype.up=function(t){},t.prototype.down=function(t){},t.prototype.stop=function(t){t&&(t.stopPropagation(),t.preventDefault(),t.cancelBubble=!0)},t.prototype.mousedown=function(t){return this.stop(t)},t.prototype.mouseup=function(t){return this.stop(t)},t.prototype.mouseover=function(t){return this.stop(t)},t.prototype.mouseout=function(t){return this.stop(t)},t.prototype.click=function(t){return this.stop(t)},t.prototype.addEvents=function(t){t.addEventListener(o.MOUSE.DOWN,this.mousedown.bind(this)),t.addEventListener(o.MOUSE.UP,this.mouseup.bind(this)),t.addEventListener(o.MOUSE.OVER,this.mouseover.bind(this)),t.addEventListener(o.MOUSE.OUT,this.mouseout.bind(this)),t.addEventListener(o.MOUSE.CLICK,this.click.bind(this)),t.addEventListener("keydown",this.keydown.bind(this)),t.addEventListener("dragstart",this.stop.bind(this)),t.addEventListener(o.MOUSE.SELECTSTART,this.stop.bind(this)),t.addEventListener("contextmenu",this.stop.bind(this)),t.addEventListener(o.MOUSE.DBLCLICK,this.stop.bind(this))},t}();e.AbstractNavigatable=i},8372:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractPostable=void 0;var i=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.posted=!1,e}return o(e,t),e.prototype.isPosted=function(){return this.posted},e.prototype.post=function(t,e){this.posted||(void 0!==t&&void 0!==e&&this.html.setAttribute("style","left: "+t+"px; top: "+e+"px;"),this.display(),this.posted=!0)},e.prototype.unpost=function(){if(this.posted){var t=this.html;t.parentNode&&t.parentNode.removeChild(t),this.posted=!1}},e}(r(9328).MenuElement);e.AbstractPostable=i},6765:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractVariableItem=void 0;var i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.generateHtml=function(){t.prototype.generateHtml.call(this);var e=this.html;this.span||this.generateSpan(),e.appendChild(this.span),this.update()},e.prototype.register=function(){this.variable.register(this)},e.prototype.unregister=function(){this.variable.unregister(this)},e.prototype.update=function(){this.updateAria(),this.span&&this.updateSpan()},e}(r(1340).AbstractItem);e.AbstractVariableItem=i},5179:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CloseButton=void 0;var i=r(8372),s=r(2165),a=function(t){function e(e){var r=t.call(this)||this;return r.element=e,r.className=s.HtmlClasses.MENUCLOSE,r.role="button",r}return o(e,t),e.prototype.generateHtml=function(){var t=document.createElement("span");t.classList.add(this.className),t.setAttribute("role",this.role),t.setAttribute("tabindex","0");var e=document.createElement("span");e.textContent="\xd7",t.appendChild(e),this.html=t},e.prototype.display=function(){},e.prototype.unpost=function(){t.prototype.unpost.call(this),this.element.unpost()},e.prototype.keydown=function(e){this.bubbleKey(),t.prototype.keydown.call(this,e)},e.prototype.space=function(t){this.unpost(),this.stop(t)},e.prototype.mousedown=function(t){this.unpost(),this.stop(t)},e}(i.AbstractPostable);e.CloseButton=a},5073:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ContextMenu=void 0;var i=r(1484),s=r(2165),a=r(1932),l=r(2358),c=function(t){function e(e){var r=t.call(this)||this;return r.factory=e,r.id="",r.moving=!1,r._store=new a.MenuStore(r),r.widgets=[],r.variablePool=new l.VariablePool,r}return o(e,t),e.fromJson=function(t,e){var r=e.pool,n=e.items,o=e.id,i=void 0===o?"":o,s=new this(t);s.id=i;var a=t.get("variable");r.forEach((function(e){return a(t,e,s.pool)}));var l=t.get("items")(t,n,s);return s.items=l,s},e.prototype.generateHtml=function(){this.isPosted()&&this.unpost(),t.prototype.generateHtml.call(this),this._frame=document.createElement("div"),this._frame.classList.add(s.HtmlClasses.MENUFRAME);var e="left: 0px; top: 0px; z-index: 200; width: 100%; height: 100%; border: 0px; padding: 0px; margin: 0px;";this._frame.setAttribute("style","position: absolute; "+e);var r=document.createElement("div");r.setAttribute("style","position: fixed; "+e),this._frame.appendChild(r),r.addEventListener("mousedown",function(t){this.unpost(),this.unpostWidgets(),this.stop(t)}.bind(this))},e.prototype.display=function(){document.body.appendChild(this.frame),this.frame.appendChild(this.html),this.focus()},e.prototype.escape=function(t){this.unpost(),this.unpostWidgets()},e.prototype.unpost=function(){if(t.prototype.unpost.call(this),!(this.widgets.length>0)){this.frame.parentNode.removeChild(this.frame);var e=this.store;this.moving||e.insertTaborder(),e.active.focus()}},e.prototype.left=function(t){this.move_(this.store.previous())},e.prototype.right=function(t){this.move_(this.store.next())},Object.defineProperty(e.prototype,"frame",{get:function(){return this._frame},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"store",{get:function(){return this._store},enumerable:!1,configurable:!0}),e.prototype.post=function(e,r){if(void 0!==r)return this.moving||this.store.removeTaborder(),void t.prototype.post.call(this,e,r);var n,o,i,s=e;if(s instanceof Event?(n=s.target,this.stop(s)):n=s,s instanceof MouseEvent&&(o=s.pageX,i=s.pageY,o||i||!s.clientX||(o=s.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,i=s.clientY+document.body.scrollTop+document.documentElement.scrollTop)),!o&&!i&&n){var a=window.pageXOffset||document.documentElement.scrollLeft,l=window.pageYOffset||document.documentElement.scrollTop,c=n.getBoundingClientRect();o=(c.right+c.left)/2+a,i=(c.bottom+c.top)/2+l}this.store.active=n,this.anchor=this.store.active;var u=this.html;o+u.offsetWidth>document.body.offsetWidth-5&&(o=document.body.offsetWidth-u.offsetWidth-5),this.post(o,i)},e.prototype.registerWidget=function(t){this.widgets.push(t)},e.prototype.unregisterWidget=function(t){var e=this.widgets.indexOf(t);e>-1&&this.widgets.splice(e,1),0===this.widgets.length&&this.unpost()},e.prototype.unpostWidgets=function(){this.widgets.forEach((function(t){return t.unpost()}))},e.prototype.toJson=function(){return{type:""}},e.prototype.move_=function(t){this.anchor&&t!==this.anchor&&(this.moving=!0,this.unpost(),this.post(t),this.moving=!1)},e}(i.AbstractMenu);e.ContextMenu=c},7309:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.CssStyles=void 0;var n=r(2165);!function(t){function e(t){return"."+(n.HtmlClasses[t]||t)}var r={};r[e("INFOCLOSE")]="{ top:.2em; right:.2em;}",r[e("INFOCONTENT")]="{ overflow:auto; text-align:left; font-size:80%; padding:.4em .6em; border:1px inset; margin:1em 0px; max-height:20em; max-width:30em; background-color:#EEEEEE; white-space:normal;}",r[e("INFO")+e("MOUSEPOST")]="{outline:none;}",r[e("INFO")]='{ position:fixed; left:50%; width:auto; text-align:center; border:3px outset; padding:1em 2em; background-color:#DDDDDD; color:black; cursor:default; font-family:message-box; font-size:120%; font-style:normal; text-indent:0; text-transform:none; line-height:normal; letter-spacing:normal; word-spacing:normal; word-wrap:normal; white-space:nowrap; float:none; z-index:201; border-radius: 15px; /* Opera 10.5 and IE9 */ -webkit-border-radius:15px; /* Safari and Chrome */ -moz-border-radius:15px; /* Firefox */ -khtml-border-radius:15px; /* Konqueror */ box-shadow:0px 10px 20px #808080; /* Opera 10.5 and IE9 */ -webkit-box-shadow:0px 10px 20px #808080; /* Safari 3 & Chrome */ -moz-box-shadow:0px 10px 20px #808080; /* Forefox 3.5 */ -khtml-box-shadow:0px 10px 20px #808080; /* Konqueror */ filter:progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color="gray", Positive="true"); /* IE */}';var o={};o[e("MENU")]="{ position:absolute; background-color:white; color:black; width:auto; padding:5px 0px; border:1px solid #CCCCCC; margin:0; cursor:default; font: menu; text-align:left; text-indent:0; text-transform:none; line-height:normal; letter-spacing:normal; word-spacing:normal; word-wrap:normal; white-space:nowrap; float:none; z-index:201; border-radius: 5px; /* Opera 10.5 and IE9 */ -webkit-border-radius: 5px; /* Safari and Chrome */ -moz-border-radius: 5px; /* Firefox */ -khtml-border-radius: 5px; /* Konqueror */ box-shadow:0px 10px 20px #808080; /* Opera 10.5 and IE9 */ -webkit-box-shadow:0px 10px 20px #808080; /* Safari 3 & Chrome */ -moz-box-shadow:0px 10px 20px #808080; /* Forefox 3.5 */ -khtml-box-shadow:0px 10px 20px #808080; /* Konqueror */}",o[e("MENUITEM")]="{ padding: 1px 2em; background:transparent;}",o[e("MENUARROW")]="{ position:absolute; right:.5em; padding-top:.25em; color:#666666; font-family: null; font-size: .75em}",o[e("MENUACTIVE")+" "+e("MENUARROW")]="{color:white}",o[e("MENUARROW")+e("RTL")]="{left:.5em; right:auto}",o[e("MENUCHECK")]="{ position:absolute; left:.7em; font-family: null}",o[e("MENUCHECK")+e("RTL")]="{ right:.7em; left:auto }",o[e("MENURADIOCHECK")]="{ position:absolute; left: .7em;}",o[e("MENURADIOCHECK")+e("RTL")]="{ right: .7em; left:auto}",o[e("MENUINPUTBOX")]="{ padding-left: 1em; right:.5em; color:#666666; font-family: null;}",o[e("MENUINPUTBOX")+e("RTL")]="{ left: .1em;}",o[e("MENUCOMBOBOX")]="{ left:.1em; padding-bottom:.5em;}",o[e("MENUSLIDER")]="{ left: .1em;}",o[e("SLIDERVALUE")]="{ position:absolute; right:.1em; padding-top:.25em; color:#333333; font-size: .75em}",o[e("SLIDERBAR")]="{ outline: none; background: #d3d3d3}",o[e("MENULABEL")]="{ padding: 1px 2em 3px 1.33em; font-style:italic}",o[e("MENURULE")]="{ border-top: 1px solid #DDDDDD; margin: 4px 3px;}",o[e("MENUDISABLED")]="{ color:GrayText}",o[e("MENUACTIVE")]="{ background-color: #606872; color: white;}",o[e("MENUDISABLED")+":focus"]="{ background-color: #E8E8E8}",o[e("MENULABEL")+":focus"]="{ background-color: #E8E8E8}",o[e("CONTEXTMENU")+":focus"]="{ outline:none}",o[e("CONTEXTMENU")+" "+e("MENUITEM")+":focus"]="{ outline:none}",o[e("SELECTIONMENU")]="{ position:relative; float:left; border-bottom: none; -webkit-box-shadow:none; -webkit-border-radius:0px; }",o[e("SELECTIONITEM")]="{ padding-right: 1em;}",o[e("SELECTION")]="{ right: 40%; width:50%; }",o[e("SELECTIONBOX")]="{ padding: 0em; max-height:20em; max-width: none; background-color:#FFFFFF;}",o[e("SELECTIONDIVIDER")]="{ clear: both; border-top: 2px solid #000000;}",o[e("MENU")+" "+e("MENUCLOSE")]="{ top:-10px; left:-10px}";var i={};i[e("MENUCLOSE")]='{ position:absolute; cursor:pointer; display:inline-block; border:2px solid #AAA; border-radius:18px; -webkit-border-radius: 18px; /* Safari and Chrome */ -moz-border-radius: 18px; /* Firefox */ -khtml-border-radius: 18px; /* Konqueror */ font-family: "Courier New", Courier; font-size:24px; color:#F0F0F0}',i[e("MENUCLOSE")+" span"]="{ display:block; background-color:#AAA; border:1.5px solid; border-radius:18px; -webkit-border-radius: 18px; /* Safari and Chrome */ -moz-border-radius: 18px; /* Firefox */ -khtml-border-radius: 18px; /* Konqueror */ line-height:0; padding:8px 0 6px /* may need to be browser-specific */}",i[e("MENUCLOSE")+":hover"]="{ color:white!important; border:2px solid #CCC!important}",i[e("MENUCLOSE")+":hover span"]="{ background-color:#CCC!important}",i[e("MENUCLOSE")+":hover:focus"]="{ outline:none}";var s=!1,a=!1,l=!1;function c(t){l||(u(i,t),l=!0)}function u(t,e){var r=e||document,n=r.createElement("style");n.type="text/css";var o="";for(var i in t)o+=i,o+=" ",o+=t[i],o+="\n";n.innerHTML=o,r.head.appendChild(n)}t.addMenuStyles=function(t){a||(u(o,t),a=!0,c(t))},t.addInfoStyles=function(t){s||(u(r,t),s=!0,c(t))}}(e.CssStyles||(e.CssStyles={}))},2165:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.HtmlAttrs=e.HtmlClasses=void 0;function r(t){return"CtxtMenu_"+t}function n(t){return r(t)}function o(t){return r(t)}e.HtmlClasses={ATTACHED:n("Attached"),CONTEXTMENU:n("ContextMenu"),MENU:n("Menu"),MENUARROW:n("MenuArrow"),MENUACTIVE:n("MenuActive"),MENUCHECK:n("MenuCheck"),MENUCLOSE:n("MenuClose"),MENUCOMBOBOX:n("MenuComboBox"),MENUDISABLED:n("MenuDisabled"),MENUFRAME:n("MenuFrame"),MENUITEM:n("MenuItem"),MENULABEL:n("MenuLabel"),MENURADIOCHECK:n("MenuRadioCheck"),MENUINPUTBOX:n("MenuInputBox"),MENURULE:n("MenuRule"),MENUSLIDER:n("MenuSlider"),MOUSEPOST:n("MousePost"),RTL:n("RTL"),INFO:n("Info"),INFOCLOSE:n("InfoClose"),INFOCONTENT:n("InfoContent"),INFOSIGNATURE:n("InfoSignature"),INFOTITLE:n("InfoTitle"),SLIDERVALUE:n("SliderValue"),SLIDERBAR:n("SliderBar"),SELECTION:n("Selection"),SELECTIONBOX:n("SelectionBox"),SELECTIONMENU:n("SelectionMenu"),SELECTIONDIVIDER:n("SelectionDivider"),SELECTIONITEM:n("SelectionItem")},e.HtmlAttrs={COUNTER:o("Counter"),KEYDOWNFUNC:o("keydownFunc"),CONTEXTMENUFUNC:o("contextmenuFunc"),OLDTAB:o("Oldtabindex"),TOUCHFUNC:o("TouchFunc")}},4922:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.Info=void 0;var i=r(5179),s=r(2165),a=function(t){function e(e,r,n){var o=t.call(this)||this;return o.title=e,o.signature=n,o.className=s.HtmlClasses.INFO,o.role="dialog",o.contentDiv=o.generateContent(),o.close=o.generateClose(),o.content=r||function(){return""},o}return o(e,t),e.prototype.attachMenu=function(t){this.menu=t},e.prototype.generateHtml=function(){t.prototype.generateHtml.call(this);var e=this.html;e.appendChild(this.generateTitle()),e.appendChild(this.contentDiv),e.appendChild(this.generateSignature()),e.appendChild(this.close.html),e.setAttribute("tabindex","0")},e.prototype.post=function(){t.prototype.post.call(this);var e=document.documentElement,r=this.html,n=window.innerHeight||e.clientHeight||e.scrollHeight||0,o=Math.floor(-r.offsetWidth/2),i=Math.floor((n-r.offsetHeight)/3);r.setAttribute("style","margin-left: "+o+"px; top: "+i+"px;"),window.event instanceof MouseEvent&&r.classList.add(s.HtmlClasses.MOUSEPOST),r.focus()},e.prototype.display=function(){this.menu.registerWidget(this),this.contentDiv.innerHTML=this.content();var t=this.menu.html;t.parentNode&&t.parentNode.removeChild(t),this.menu.frame.appendChild(this.html)},e.prototype.click=function(t){},e.prototype.keydown=function(e){this.bubbleKey(),t.prototype.keydown.call(this,e)},e.prototype.escape=function(t){this.unpost()},e.prototype.unpost=function(){t.prototype.unpost.call(this),this.html.classList.remove(s.HtmlClasses.MOUSEPOST),this.menu.unregisterWidget(this)},e.prototype.generateClose=function(){var t=new i.CloseButton(this),e=t.html;return e.classList.add(s.HtmlClasses.INFOCLOSE),e.setAttribute("aria-label","Close Dialog Box"),t},e.prototype.generateTitle=function(){var t=document.createElement("span");return t.innerHTML=this.title,t.classList.add(s.HtmlClasses.INFOTITLE),t},e.prototype.generateContent=function(){var t=document.createElement("div");return t.classList.add(s.HtmlClasses.INFOCONTENT),t.setAttribute("tabindex","0"),t},e.prototype.generateSignature=function(){var t=document.createElement("span");return t.innerHTML=this.signature,t.classList.add(s.HtmlClasses.INFOSIGNATURE),t},e.prototype.toJson=function(){return{type:""}},e}(r(8372).AbstractPostable);e.Info=a},1409:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.Checkbox=void 0;var i=r(6765),s=r(2556),a=r(2165),l=function(t){function e(e,r,n,o){var i=t.call(this,e,"checkbox",r,o)||this;return i.role="menuitemcheckbox",i.variable=e.pool.lookup(n),i.register(),i}return o(e,t),e.fromJson=function(t,e,r){return new this(r,e.content,e.variable,e.id)},e.prototype.executeAction=function(){this.variable.setValue(!this.variable.getValue()),s.MenuUtil.close(this)},e.prototype.generateSpan=function(){this.span=document.createElement("span"),this.span.textContent="\u2713",this.span.classList.add(a.HtmlClasses.MENUCHECK)},e.prototype.updateAria=function(){this.html.setAttribute("aria-checked",this.variable.getValue()?"true":"false")},e.prototype.updateSpan=function(){this.span.style.display=this.variable.getValue()?"":"none"},e.prototype.toJson=function(){return{type:""}},e}(i.AbstractVariableItem);e.Checkbox=l},9886:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.Combo=void 0;var i=r(6765),s=r(2556),a=r(2165),l=r(3205),c=function(t){function e(e,r,n,o){var i=t.call(this,e,"combobox",r,o)||this;return i.role="combobox",i.inputEvent=!1,i.variable=e.pool.lookup(n),i.register(),i}return o(e,t),e.fromJson=function(t,e,r){return new this(r,e.content,e.variable,e.id)},e.prototype.executeAction=function(){this.variable.setValue(this.input.value,s.MenuUtil.getActiveElement(this))},e.prototype.space=function(e){t.prototype.space.call(this,e),s.MenuUtil.close(this)},e.prototype.focus=function(){t.prototype.focus.call(this),this.input.focus()},e.prototype.unfocus=function(){t.prototype.unfocus.call(this),this.updateSpan()},e.prototype.generateHtml=function(){t.prototype.generateHtml.call(this),this.html.classList.add(a.HtmlClasses.MENUCOMBOBOX)},e.prototype.generateSpan=function(){this.span=document.createElement("span"),this.span.classList.add(a.HtmlClasses.MENUINPUTBOX),this.input=document.createElement("input"),this.input.addEventListener("keydown",this.inputKey.bind(this)),this.input.setAttribute("size","10em"),this.input.setAttribute("type","text"),this.input.setAttribute("tabindex","-1"),this.span.appendChild(this.input)},e.prototype.inputKey=function(t){this.bubbleKey(),this.inputEvent=!0},e.prototype.keydown=function(e){if(this.inputEvent&&e.keyCode!==l.KEY.ESCAPE&&e.keyCode!==l.KEY.RETURN)return this.inputEvent=!1,void e.stopPropagation();t.prototype.keydown.call(this,e),e.stopPropagation()},e.prototype.updateAria=function(){},e.prototype.updateSpan=function(){var t;try{t=this.variable.getValue(s.MenuUtil.getActiveElement(this))}catch(e){t=""}this.input.value=t},e.prototype.toJson=function(){return{type:""}},e}(i.AbstractVariableItem);e.Combo=c},3467:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.Command=void 0;var i=r(1340),s=r(2556),a=function(t){function e(e,r,n,o){var i=t.call(this,e,"command",r,o)||this;return i.command=n,i}return o(e,t),e.fromJson=function(t,e,r){return new this(r,e.content,e.action,e.id)},e.prototype.executeAction=function(){try{this.command(s.MenuUtil.getActiveElement(this))}catch(t){s.MenuUtil.error(t,"Illegal command callback.")}s.MenuUtil.close(this)},e.prototype.toJson=function(){return{type:""}},e}(i.AbstractItem);e.Command=a},2965:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.Label=void 0;var i=r(1340),s=r(2165),a=function(t){function e(e,r,n){return t.call(this,e,"label",r,n)||this}return o(e,t),e.fromJson=function(t,e,r){return new this(r,e.content,e.id)},e.prototype.generateHtml=function(){t.prototype.generateHtml.call(this),this.html.classList.add(s.HtmlClasses.MENULABEL)},e.prototype.toJson=function(){return{type:""}},e}(i.AbstractItem);e.Label=a},385:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.Radio=void 0;var i=r(6765),s=r(2556),a=r(2165),l=function(t){function e(e,r,n,o){var i=t.call(this,e,"radio",r,o)||this;return i.role="menuitemradio",i.variable=e.pool.lookup(n),i.register(),i}return o(e,t),e.fromJson=function(t,e,r){return new this(r,e.content,e.variable,e.id)},e.prototype.executeAction=function(){this.variable.setValue(this.id),s.MenuUtil.close(this)},e.prototype.generateSpan=function(){this.span=document.createElement("span"),this.span.textContent="\u2713",this.span.classList.add(a.HtmlClasses.MENURADIOCHECK)},e.prototype.updateAria=function(){this.html.setAttribute("aria-checked",this.variable.getValue()===this.id?"true":"false")},e.prototype.updateSpan=function(){this.span.style.display=this.variable.getValue()===this.id?"":"none"},e.prototype.toJson=function(){return{type:""}},e}(i.AbstractVariableItem);e.Radio=l},3463:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.Rule=void 0;var i=r(9329),s=r(2165),a=function(t){function e(e){var r=t.call(this,e,"rule")||this;return r.className=s.HtmlClasses.MENUITEM,r.role="separator",r}return o(e,t),e.fromJson=function(t,e,r){return new this(r)},e.prototype.generateHtml=function(){t.prototype.generateHtml.call(this);var e=this.html;e.classList.add(s.HtmlClasses.MENURULE),e.setAttribute("aria-orientation","vertical")},e.prototype.addEvents=function(t){},e.prototype.toJson=function(){return{type:"rule"}},e}(i.AbstractEntry);e.Rule=a},7625:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.Slider=void 0;var i=r(6765),s=r(2556),a=r(2165),l=r(3205),c=function(t){function e(e,r,n,o){var i=t.call(this,e,"slider",r,o)||this;return i.role="slider",i.labelId="ctx_slideLabel"+s.MenuUtil.counter(),i.valueId="ctx_slideValue"+s.MenuUtil.counter(),i.inputEvent=!1,i.variable=e.pool.lookup(n),i.register(),i}return o(e,t),e.fromJson=function(t,e,r){return new this(r,e.content,e.variable,e.id)},e.prototype.executeAction=function(){this.variable.setValue(this.input.value,s.MenuUtil.getActiveElement(this)),this.update()},e.prototype.space=function(e){t.prototype.space.call(this,e),s.MenuUtil.close(this)},e.prototype.focus=function(){t.prototype.focus.call(this),this.input.focus()},e.prototype.unfocus=function(){t.prototype.unfocus.call(this),this.updateSpan()},e.prototype.generateHtml=function(){t.prototype.generateHtml.call(this),this.html.classList.add(a.HtmlClasses.MENUSLIDER),this.valueSpan=document.createElement("span"),this.valueSpan.setAttribute("id",this.valueId),this.valueSpan.classList.add(a.HtmlClasses.SLIDERVALUE),this.html.appendChild(this.valueSpan)},e.prototype.generateSpan=function(){this.span=document.createElement("span"),this.labelSpan=document.createElement("span"),this.labelSpan.setAttribute("id",this.labelId),this.labelSpan.appendChild(this.html.childNodes[0]),this.html.appendChild(this.labelSpan),this.input=document.createElement("input"),this.input.setAttribute("type","range"),this.input.setAttribute("min","0"),this.input.setAttribute("max","100"),this.input.setAttribute("aria-valuemin","0"),this.input.setAttribute("aria-valuemax","100"),this.input.setAttribute("aria-labelledby",this.labelId),this.input.addEventListener("keydown",this.inputKey.bind(this)),this.input.addEventListener("input",this.executeAction.bind(this)),this.input.classList.add(a.HtmlClasses.SLIDERBAR),this.span.appendChild(this.input)},e.prototype.inputKey=function(t){this.inputEvent=!0},e.prototype.mousedown=function(t){t.stopPropagation()},e.prototype.mouseup=function(t){event.stopPropagation()},e.prototype.keydown=function(e){var r=e.keyCode;return r===l.KEY.UP||r===l.KEY.DOWN?(e.preventDefault(),void t.prototype.keydown.call(this,e)):this.inputEvent&&r!==l.KEY.ESCAPE&&r!==l.KEY.RETURN?(this.inputEvent=!1,void e.stopPropagation()):(t.prototype.keydown.call(this,e),void e.stopPropagation())},e.prototype.updateAria=function(){var t=this.variable.getValue();t&&this.input&&(this.input.setAttribute("aria-valuenow",t),this.input.setAttribute("aria-valuetext",t+"%"))},e.prototype.updateSpan=function(){var t;try{t=this.variable.getValue(s.MenuUtil.getActiveElement(this)),this.valueSpan.innerHTML=t+"%"}catch(e){t=""}this.input.value=t},e.prototype.toJson=function(){return{type:""}},e}(i.AbstractVariableItem);e.Slider=c},6186:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.Submenu=void 0;var i=r(1340),s=r(2165),a=function(t){function e(e,r,n){var o=t.call(this,e,"submenu",r,n)||this;return o._submenu=null,o}return o(e,t),e.fromJson=function(t,e,r){var n=e.content,o=e.menu,i=new this(r,n,e.id),s=t.get("subMenu")(t,o,i);return i.submenu=s,i},Object.defineProperty(e.prototype,"submenu",{get:function(){return this._submenu},set:function(t){this._submenu=t},enumerable:!1,configurable:!0}),e.prototype.mouseover=function(t){this.focus(),this.stop(t)},e.prototype.mouseout=function(t){this.stop(t)},e.prototype.unfocus=function(){if(this.submenu.isPosted()){if(this.menu.focused!==this)return t.prototype.unfocus.call(this),void this.menu.unpostSubmenus();this.html.setAttribute("tabindex","-1"),this.html.blur()}else t.prototype.unfocus.call(this)},e.prototype.focus=function(){t.prototype.focus.call(this),this.submenu.isPosted()||this.disabled||this.submenu.post()},e.prototype.executeAction=function(){this.submenu.isPosted()?this.submenu.unpost():this.submenu.post()},e.prototype.generateHtml=function(){t.prototype.generateHtml.call(this);var e=this.html;this.span=document.createElement("span"),this.span.textContent="\u25ba",this.span.classList.add(s.HtmlClasses.MENUARROW),e.appendChild(this.span),e.setAttribute("aria-haspopup","true")},e.prototype.left=function(e){this.submenu.isPosted()?this.submenu.unpost():t.prototype.left.call(this,e)},e.prototype.right=function(t){this.submenu.isPosted()?this.submenu.down(t):this.submenu.post()},e.prototype.toJson=function(){return{type:""}},e}(i.AbstractItem);e.Submenu=a},3205:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.KEY=void 0,function(t){t[t.RETURN=13]="RETURN",t[t.ESCAPE=27]="ESCAPE",t[t.SPACE=32]="SPACE",t[t.LEFT=37]="LEFT",t[t.UP=38]="UP",t[t.RIGHT=39]="RIGHT",t[t.DOWN=40]="DOWN"}(e.KEY||(e.KEY={}))},9328:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MenuElement=void 0;var i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.addAttributes=function(t){for(var e in t)this.html.setAttribute(e,t[e])},Object.defineProperty(e.prototype,"html",{get:function(){return this._html||this.generateHtml(),this._html},set:function(t){this._html=t,this.addEvents(t)},enumerable:!1,configurable:!0}),e.prototype.generateHtml=function(){var t=document.createElement("div");t.classList.add(this.className),t.setAttribute("role",this.role),this.html=t},e.prototype.focus=function(){var t=this.html;t.setAttribute("tabindex","0"),t.focus()},e.prototype.unfocus=function(){var t=this.html;t.hasAttribute("tabindex")&&t.setAttribute("tabindex","-1");try{t.blur()}catch(t){}t.blur()},e}(r(2868).AbstractNavigatable);e.MenuElement=i},1932:function(t,e,r){var n=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.MenuStore=void 0;var o=r(2556),i=r(2165),s=r(3205),a=function(){function t(t){this.menu=t,this.store=[],this._active=null,this.counter=0,this.attachedClass=i.HtmlClasses.ATTACHED+"_"+o.MenuUtil.counter(),this.taborder=!0,this.attrMap={}}return Object.defineProperty(t.prototype,"active",{get:function(){return this._active},set:function(t){do{if(-1!==this.store.indexOf(t)){this._active=t;break}t=t.parentNode}while(t)},enumerable:!1,configurable:!0}),t.prototype.next=function(){var t=this.store.length;if(0===t)return this.active=null,null;var e=this.store.indexOf(this.active);return e=-1===e?0:e0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},i=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},s=this&&this.__spread||function(){for(var t=[],e=0;e0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s};Object.defineProperty(e,"__esModule",{value:!0}),e.SelectionBox=e.SelectionMenu=void 0;var s=r(2556),a=r(2165),l=r(1484),c=r(4922),u=function(t){function e(e){var r=t.call(this)||this;return r.anchor=e,r.className=a.HtmlClasses.SELECTIONMENU,r.variablePool=r.anchor.menu.pool,r.baseMenu=r.anchor.menu,r}return o(e,t),e.fromJson=function(t,e,r){var n=e.title,o=e.values,i=e.variable,s=new this(r),a=t.get("label")(t,{content:n||"",id:n||"id"},s),l=t.get("rule")(t,{},s),c=o.map((function(e){return t.get("radio")(t,{content:e,variable:i,id:e},s)})),u=[a,l].concat(c);return s.items=u,s},e.prototype.generateHtml=function(){t.prototype.generateHtml.call(this),this.items.forEach((function(t){return t.html.classList.add(a.HtmlClasses.SELECTIONITEM)}))},e.prototype.display=function(){},e.prototype.right=function(t){this.anchor.right(t)},e.prototype.left=function(t){this.anchor.left(t)},e}(l.AbstractMenu);e.SelectionMenu=u;var p=function(t){function e(e,r,n,o){void 0===n&&(n="none"),void 0===o&&(o="vertical");var i=t.call(this,e,null,r)||this;return i.style=n,i.grid=o,i._selections=[],i.prefix="ctxt-selection",i._balanced=!0,i}return o(e,t),e.fromJson=function(t,e,r){var n=e.title,o=e.signature,i=e.selections,s=new this(n,o,e.order,e.grid);s.attachMenu(r);var a=i.map((function(e){return t.get("selectionMenu")(t,e,s)}));return s.selections=a,s},e.prototype.attachMenu=function(t){this.menu=t},Object.defineProperty(e.prototype,"selections",{get:function(){return this._selections},set:function(t){var e=this;this._selections=[],t.forEach((function(t){return e.addSelection(t)}))},enumerable:!1,configurable:!0}),e.prototype.addSelection=function(t){t.anchor=this,this._selections.push(t)},e.prototype.rowDiv=function(t){var e=this,r=document.createElement("div");this.contentDiv.appendChild(r);var n=t.map((function(t){return r.appendChild(t.html),t.html.id||(t.html.id=e.prefix+s.MenuUtil.counter()),t.html.getBoundingClientRect()})),o=n.map((function(t){return t.width})),i=o.reduce((function(t,e){return t+e}),0),l=n.reduce((function(t,e){return Math.max(t,e.height)}),0);return r.classList.add(a.HtmlClasses.SELECTIONDIVIDER),r.setAttribute("style","height: "+l+"px;"),[r,i,l,o]},e.prototype.display=function(){if(t.prototype.display.call(this),this.order(),this.selections.length){for(var e=[],r=0,n=[],o=this.getChunkSize(this.selections.length),s=function(t){var s=a.selections.slice(t,t+o),l=i(a.rowDiv(s),4),c=l[0],u=l[1],p=l[2],h=l[3];e.push(c),r=Math.max(r,u),s.forEach((function(t){return t.html.style.height=p+"px"})),n=a.combineColumn(n,h)},a=this,l=0;ldocument.body.offsetWidth-5&&(i=Math.max(5,i-o-r.offsetWidth+6)),t.prototype.post.call(this,i,s)}},e.prototype.display=function(){this.baseMenu.frame.appendChild(this.html)},e.prototype.setBaseMenu=function(){var t=this;do{t=t.anchor.menu}while(t instanceof e);this.baseMenu=t},e.prototype.left=function(t){this.focused=null,this.anchor.focus()},e.prototype.toJson=function(){return{type:""}},e}(r(1484).AbstractMenu);e.SubMenu=i},3737:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Variable=void 0;var n=r(2556),o=function(){function t(t,e,r){this._name=t,this.getter=e,this.setter=r,this.items=[]}return t.fromJson=function(t,e,r){var n=new this(e.name,e.getter,e.setter);r.insert(n)},Object.defineProperty(t.prototype,"name",{get:function(){return this._name},enumerable:!1,configurable:!0}),t.prototype.getValue=function(t){try{return this.getter(t)}catch(t){return n.MenuUtil.error(t,"Command of variable "+this.name+" failed."),null}},t.prototype.setValue=function(t,e){try{this.setter(t,e)}catch(t){n.MenuUtil.error(t,"Command of variable "+this.name+" failed.")}this.update()},t.prototype.register=function(t){-1===this.items.indexOf(t)&&this.items.push(t)},t.prototype.unregister=function(t){var e=this.items.indexOf(t);-1!==e&&this.items.splice(e,1)},t.prototype.update=function(){this.items.forEach((function(t){return t.update()}))},t.prototype.registerCallback=function(t){this.items.forEach((function(e){return e.registerCallback(t)}))},t.prototype.unregisterCallback=function(t){this.items.forEach((function(e){return e.unregisterCallback(t)}))},t.prototype.toJson=function(){return{type:"variable",name:this.name,getter:this.getter.toString(),setter:this.setter.toString()}},t}();e.Variable=o},2358:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.VariablePool=void 0;var r=function(){function t(){this.pool={}}return t.prototype.insert=function(t){this.pool[t.name]=t},t.prototype.lookup=function(t){return this.pool[t]},t.prototype.remove=function(t){delete this.pool[t]},t.prototype.update=function(){for(var t in this.pool)this.pool[t].update()},t}();e.VariablePool=r},3921:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractAudioRenderer=void 0;const n=r(5897);e.AbstractAudioRenderer=class{constructor(){this.separator_=" "}setSeparator(t){this.separator_=t}getSeparator(){return"braille"===n.default.getInstance().modality?"":this.separator_}error(t){return null}merge(t){let e="";const r=t.length-1;for(let n,o=0;n=t[o];o++)if(e+=n.speech,odelete t[e])),e.open.forEach((r=>t[r]=e[r]));const r=Object.keys(t);t.open=r},e.sortClose=function(t,e){if(t.length<=1)return t;const r=[];for(let n,o=0;n=e[o],t.length;o++)n.close&&n.close.length&&n.close.forEach((function(e){const n=t.indexOf(e);-1!==n&&(r.unshift(e),t.splice(n,1))}));return r};let a={},l=[];function c(t,e){const r=t[t.length-1];if(r){if(f(e)&&f(r)){if(void 0===r.join)return void(r.span=r.span.concat(e.span));const t=r.span.pop(),n=e.span.shift();return r.span.push(t+r.join+n),r.span=r.span.concat(e.span),void(r.join=e.join)}h(e)&&h(r)?r.pause=s(r.pause,e.pause):t.push(e)}else t.push(e)}function u(t,e){t.rate&&(e.rate=t.rate),t.pitch&&(e.pitch=t.pitch),t.volume&&(e.volume=t.volume)}function p(t){return"object"==typeof t&&t.open}function h(t){return"object"==typeof t&&1===Object.keys(t).length&&Object.keys(t)[0]===o.personalityProps.PAUSE}function f(t){const e=Object.keys(t);return"object"==typeof t&&(1===e.length&&"span"===e[0]||2===e.length&&("span"===e[0]&&"join"===e[1]||"span"===e[1]&&"join"===e[0]))}function d(t,e,r,n,a,l=!1){if(l){const l=t[t.length-1];let c;if(l&&(c=l[o.personalityProps.JOIN]),l&&!e.speech&&a&&h(l)){const t=o.personalityProps.PAUSE;l[t]=s(l[t],a[t]),a=null}if(l&&e.speech&&0===Object.keys(r).length&&f(l)){if(void 0!==c){const t=l.span.pop();e=new i.Span(t.speech+c+e.speech,t.attributes)}l.span.push(e),e=new i.Span("",{}),l[o.personalityProps.JOIN]=n}}0!==Object.keys(r).length&&t.push(r),e.speech&&t.push({span:[e],join:n}),a&&t.push(a)}function m(t,e){if(!e)return t;const r={};for(const n of o.personalityPropList){const o=t[n],i=e[n];if(!o&&!i||o&&i&&o===i)continue;const s=o||0;p(r)||(r.open=[],r.close=[]),o||r.close.push(n),i||r.open.push(n),i&&o&&(r.close.push(n),r.open.push(n)),e[n]=s,r[n]=s,a[n]?a[n].push(s):a[n]=[s]}if(p(r)){let t=r.close.slice();for(;t.length>0;){let o=l.pop();const i=(0,n.setdifference)(o,t);if(t=(0,n.setdifference)(t,o),o=i,0!==t.length){if(0!==o.length){r.close=r.close.concat(o),r.open=r.open.concat(o);for(let t,n=0;t=o[n];n++)r[t]=e[t]}}else 0!==o.length&&l.push(o)}l.push(r.open)}return r}e.personalityMarkup=function(t){a={},l=[];let e=[];const r={};for(let n,i=0;n=t[i];i++){let t=null;const i=n.descriptionSpan(),s=n.personality,a=s[o.personalityProps.JOIN];delete s[o.personalityProps.JOIN],void 0!==s[o.personalityProps.PAUSE]&&(t={[o.personalityProps.PAUSE]:s[o.personalityProps.PAUSE]},delete s[o.personalityProps.PAUSE]);d(e,i,m(s,r),a,t,!0)}return e=e.concat(function(){const t=[];for(let e=l.length-1;e>=0;e--){const r=l[e];if(r.length){const e={open:[],close:[]};for(let t=0;t"string"==typeof t?new c.Span(t,{}):t)),r=m.get(n.default.getInstance().markup);return r?r.merge(e):t.join()},e.finalize=function(t){const e=m.get(n.default.getInstance().markup);return e?e.finalize(t):t},e.error=function(t){const e=m.get(n.default.getInstance().markup);return e?e.error(t):""},e.registerRenderer=function(t,e){m.set(t,e)},e.isXml=function(){return m.get(n.default.getInstance().markup)instanceof f.XmlRenderer}},8639:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.LayoutRenderer=void 0;const n=r(2057),o=r(5740),i=r(4440),s=r(3706),a=r(2456);class l extends a.XmlRenderer{finalize(t){return function(t){c="";const e=o.parseInput(`${t}`);return n.Debugger.getInstance().output(o.formatXml(e.toString())),c=f(e),c}(t)}pause(t){return""}prosodyElement(t,e){return t===i.personalityProps.LAYOUT?`<${e}>`:""}closeTag(t){return``}markup(t){const e=[];let r=[];for(const n of t){if(!n.layout){r.push(n);continue}e.push(this.processContent(r)),r=[];const t=n.layout;t.match(/^begin/)?e.push("<"+t.replace(/^begin/,"")+">"):t.match(/^end/)?e.push(""):console.warn("Something went wrong with layout markup: "+t)}return e.push(this.processContent(r)),e.join("")}processContent(t){const e=[],r=s.personalityMarkup(t);for(let t,n=0;t=r[n];n++)t.span?e.push(this.merge(t.span)):s.isPauseElement(t);return e.join("")}}e.LayoutRenderer=l;let c="";const u={TABLE:function(t){let e=g(t);e.forEach((t=>{t.cells=t.cells.slice(1).slice(0,-1),t.width=t.width.slice(1).slice(0,-1)}));const[r,n]=b(e);return e=v(e,n),_(e,r)},CASES:function(t){let e=g(t);e.forEach((t=>{t.cells=t.cells.slice(0,-1),t.width=t.width.slice(0,-1)}));const[r,n]=b(e);return e=v(e,n),_(e,r)},CAYLEY:function(t){let e=g(t);e.forEach((t=>{t.cells=t.cells.slice(1).slice(0,-1),t.width=t.width.slice(1).slice(0,-1),t.sep=t.sep+t.sep}));const[r,n]=b(e),o={lfence:"",rfence:"",cells:n.map((t=>"\u2810"+new Array(t).join("\u2812"))),width:n,height:1,sep:e[0].sep};return e.splice(1,0,o),e=v(e,n),_(e,r)},MATRIX:function(t){let e=g(t);const[r,n]=b(e);return e=v(e,n),_(e,r)},CELL:f,FENCE:f,ROW:f,FRACTION:function(t){const[e,r,,n,o]=Array.from(t.childNodes),i=p(r),s=p(n),a=m(i),l=m(s);let c=Math.max(a,l);const u=e+new Array(c+1).join("\u2812")+o;return c=u.length,`${x(i,c)}\n${u}\n${x(s,c)}`},NUMERATOR:E,DENOMINATOR:E};function p(t){const e=o.tagName(t),r=u[e];return r?r(t):t.textContent}function h(t,e){if(!t||!e)return t+e;const r=d(t),n=d(e),o=r-n;t=o<0?y(t,n,m(t)):t,e=o>0?y(e,r,m(e)):e;const i=t.split(/\r\n|\r|\n/),s=e.split(/\r\n|\r|\n/),a=[];for(let t=0;tMath.max(e.length,t)),0)}function y(t,e,r){return t=function(t,e){const r=e-d(t);return t+(r>0?new Array(r+1).join("\n"):"")}(t,e),function(t,e){const r=t.split(/\r\n|\r|\n/),n=[];for(const t of r){const r=e-t.length;n.push(t+(r>0?new Array(r+1).join("\u2800"):""))}return n.join("\n")}(t,r)}function g(t){const e=Array.from(t.childNodes),r=[];for(const t of e)t.nodeType===o.NodeType.ELEMENT_NODE&&r.push(O(t));return r}function b(t){const e=t.reduce(((t,e)=>Math.max(e.height,t)),0),r=[];for(let e=0;et.width[e])).reduce(((t,e)=>Math.max(t,e)),0));return[e,r]}function v(t,e){const r=[];for(const n of t){if(0===n.height)continue;const t=[];for(let r=0;rt.lfence+t.cells.join(t.sep)+t.rfence)).join("\n");const r=[];for(const e of t){const t=S(e.sep,e.height);let n=e.cells.shift();for(;e.cells.length;)n=h(n,t),n=h(n,e.cells.shift());n=h(S(e.lfence,e.height),n),n=h(n,S(e.rfence,e.height)),r.push(n),r.push(e.lfence+new Array(m(n)-3).join(e.sep)+e.rfence)}return r.slice(0,-1).join("\n")}function S(t,e){let r="";for(;e;)r+=t+"\n",e--;return r.slice(0,-1)}function M(t){return t.nodeType===o.NodeType.ELEMENT_NODE&&"FENCE"===o.tagName(t)?p(t):""}function O(t){const e=Array.from(t.childNodes),r=M(e[0]),n=M(e[e.length-1]);r&&e.shift(),n&&e.pop();let i="";const s=[];for(const t of e){if(t.nodeType===o.NodeType.TEXT_NODE){i=t.textContent;continue}const e=p(t);s.push(e)}return{lfence:r,rfence:n,sep:i,cells:s,height:s.reduce(((t,e)=>Math.max(d(e),t)),0),width:s.map(m)}}function x(t,e){const r=(e-m(t))/2,[n,o]=Math.floor(r)===r?[r,r]:[Math.floor(r),Math.ceil(r)],i=t.split(/\r\n|\r|\n/),s=[],[a,l]=[new Array(n+1).join("\u2800"),new Array(o+1).join("\u2800")];for(const t of i)s.push(a+t+l);return s.join("\n")}function E(t){const e=t.firstChild,r=f(t);if(e&&e.nodeType===o.NodeType.ELEMENT_NODE){if("ENGLISH"===o.tagName(e))return"\u2830"+r;if("NUMBER"===o.tagName(e))return"\u283c"+r}return r}},182:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.MarkupRenderer=void 0;const n=r(4440),o=r(3921);class i extends o.AbstractAudioRenderer{constructor(){super(...arguments),this.ignoreElements=[n.personalityProps.LAYOUT],this.scaleFunction=null}setScaleFunction(t,e,r,n,o=0){this.scaleFunction=i=>{const s=(i-t)/(e-t),a=r*(1-s)+n*s;return+(Math.round(a+"e+"+o)+"e-"+o)}}applyScaleFunction(t){return this.scaleFunction?this.scaleFunction(t):t}ignoreElement(t){return-1!==this.ignoreElements.indexOf(t)}}e.MarkupRenderer=i},8990:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.PunctuationRenderer=void 0;const n=r(4440),o=r(3921),i=r(3706);class s extends o.AbstractAudioRenderer{markup(t){const e=i.personalityMarkup(t);let r="",o=null,s=!1;for(let t,a=0;t=e[a];a++)i.isMarkupElement(t)||(i.isPauseElement(t)?s&&(o=i.mergePause(o,t,Math.max)):(o&&(r+=this.pause(o[n.personalityProps.PAUSE]),o=null),r+=(s?this.getSeparator():"")+this.merge(t.span),s=!0));return r}pause(t){let e;return e="number"==typeof t?t<=250?"short":t<=500?"medium":"long":t,s.PAUSE_PUNCTUATION.get(e)||""}}e.PunctuationRenderer=s,s.PAUSE_PUNCTUATION=new Map([["short",","],["medium",";"],["long","."]])},6660:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.SableRenderer=void 0;const n=r(4440),o=r(2456);class i extends o.XmlRenderer{finalize(t){return''+this.getSeparator()+t+this.getSeparator()+""}pause(t){return''}prosodyElement(t,e){switch(e=this.applyScaleFunction(e),t){case n.personalityProps.PITCH:return'';case n.personalityProps.RATE:return'';case n.personalityProps.VOLUME:return'';default:return"<"+t.toUpperCase()+' VALUE="'+e+'">'}}closeTag(t){return""}}e.SableRenderer=i},9536:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.Span=void 0;e.Span=class{constructor(t,e){this.speech=t,this.attributes=e}}},7504:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.SsmlRenderer=void 0;const n=r(5897),o=r(4440),i=r(2456);class s extends i.XmlRenderer{finalize(t){return''+this.getSeparator()+t+this.getSeparator()+""}pause(t){return''}prosodyElement(t,e){const r=(e=Math.floor(this.applyScaleFunction(e)))<0?e.toString():"+"+e.toString();return"":'%">')}closeTag(t){return""}}e.SsmlRenderer=s},3757:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.SsmlStepRenderer=void 0;const n=r(7504);class o extends n.SsmlRenderer{markup(t){return o.MARKS={},super.markup(t)}merge(t){const e=[];for(let r=0;r'),o.MARKS[i]=!0),1===n.speech.length&&n.speech.match(/[a-zA-Z]/)?e.push(''+n.speech+""):e.push(n.speech)}return e.join(this.getSeparator())}}e.SsmlStepRenderer=o,o.CHARACTER_ATTR="character",o.MARKS={}},4032:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.StringRenderer=void 0;const n=r(3921),o=r(3706);class i extends n.AbstractAudioRenderer{markup(t){let e="";const r=(0,o.personalityMarkup)(t).filter((t=>t.span));if(!r.length)return e;const n=r.length-1;for(let t,o=0;t=r[o];o++){if(t.span&&(e+=this.merge(t.span)),o>=n)continue;const r=t.join;e+=void 0===r?this.getSeparator():r}return e}}e.StringRenderer=i},2456:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.XmlRenderer=void 0;const n=r(5897),o=r(3706),i=r(182);class s extends i.MarkupRenderer{markup(t){this.setScaleFunction(-2,2,-100,100,2);const e=o.personalityMarkup(t),r=[],i=[];for(let t,s=0;t=e[s];s++)if(t.span)r.push(this.merge(t.span));else if(o.isPauseElement(t))r.push(this.pause(t));else{if(t.close.length)for(let e=0;e{r.push(this.prosodyElement(e,t[e])),i.push(e)}))}}return r.join(" ")}}e.XmlRenderer=s},707:function(t,e){function r(t,e){return t?e?t.filter((t=>e.indexOf(t)<0)):t:[]}Object.defineProperty(e,"__esModule",{value:!0}),e.union=e.setdifference=e.interleaveLists=e.removeEmpty=void 0,e.removeEmpty=function(t){return t.filter((t=>t))},e.interleaveLists=function(t,e){const r=[];for(;t.length||e.length;)t.length&&r.push(t.shift()),e.length&&r.push(e.shift());return r},e.setdifference=r,e.union=function(t,e){return t&&e?t.concat(r(e,t)):t||e||[]}},2139:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.loadScript=e.loadMapsForIE_=e.installWGXpath_=e.loadWGXpath_=e.mapsForIE=e.detectEdge=e.detectIE=void 0;const n=r(2315),o=r(5274);function i(t){l(n.default.WGXpath),s(t)}function s(t,e){let r=e||1;"undefined"==typeof wgxpath&&r<10?setTimeout((function(){s(t,r++)}),200):r>=10||(n.default.wgxpath=wgxpath,t?n.default.wgxpath.install({document:document}):n.default.wgxpath.install(),o.xpath.evaluate=document.evaluate,o.xpath.result=XPathResult,o.xpath.createNSResolver=document.createNSResolver)}function a(){l(n.default.mathmapsIePath)}function l(t){const e=n.default.document.createElement("script");e.type="text/javascript",e.src=t,n.default.document.head?n.default.document.head.appendChild(e):n.default.document.body.appendChild(e)}e.detectIE=function(){return"undefined"!=typeof window&&"ActiveXObject"in window&&"clipboardData"in window&&(a(),i(),!0)},e.detectEdge=function(){var t;return"undefined"!=typeof window&&"MSGestureEvent"in window&&null===(null===(t=window.chrome)||void 0===t?void 0:t.loadTimes)&&(document.evaluate=null,i(!0),!0)},e.mapsForIE=null,e.loadWGXpath_=i,e.installWGXpath_=s,e.loadMapsForIE_=a,e.loadScript=l},2057:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Debugger=void 0;const n=r(2315);class o{constructor(){this.isActive_=!1,this.outputFunction_=console.info,this.stream_=null}static getInstance(){return o.instance=o.instance||new o,o.instance}init(t){t&&this.startDebugFile_(t),this.isActive_=!0}output(...t){this.isActive_&&this.output_(t)}generateOutput(t){this.isActive_&&this.output_(t.apply(t,[]))}exit(t=(()=>{})){this.isActive_&&this.stream_&&this.stream_.end("","",t)}startDebugFile_(t){this.stream_=n.default.fs.createWriteStream(t),this.outputFunction_=function(...t){this.stream_.write(t.join(" ")),this.stream_.write("\n")}.bind(this),this.stream_.on("error",function(t){console.info("Invalid log file. Debug information sent to console."),this.outputFunction_=console.info}.bind(this)),this.stream_.on("finish",(function(){console.info("Finalizing debug file.")}))}output_(t){this.outputFunction_.apply(console.info===this.outputFunction_?console:this.outputFunction_,["Speech Rule Engine Debugger:"].concat(t))}}e.Debugger=o},5740:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.serializeXml=e.cloneNode=e.tagName=e.querySelectorAll=e.querySelectorAllByAttrValue=e.querySelectorAllByAttr=e.formatXml=e.createTextNode=e.createElementNS=e.createElement=e.replaceNode=e.NodeType=e.parseInput=e.XML_ENTITIES=e.trimInput_=e.toArray=void 0;const n=r(5897),o=r(4440),i=r(2315),s=r(5274);function a(t){const e=[];for(let r=0,n=t.length;r[ \f\n\r\t\v\u200b]+<").trim()}function c(t,e){if(!e)return[!1,""];const r=t.match(/^<([^> ]+).*>/),n=e.match(/^<\/([^>]+)>(.*)/);return r&&n&&r[1]===n[1]?[!0,n[2]]:[!1,""]}e.toArray=a,e.trimInput_=l,e.XML_ENTITIES={"<":!0,">":!0,"&":!0,""":!0,"'":!0},e.parseInput=function(t){const e=new i.default.xmldom.DOMParser,r=l(t),a=!!r.match(/&(?!lt|gt|amp|quot|apos)\w+;/g);if(!r)throw new Error("Empty input!");try{const t=e.parseFromString(r,a?"text/html":"text/xml");return n.default.getInstance().mode===o.Mode.HTTP?(s.xpath.currentDocument=t,a?t.body.childNodes[0]:t.documentElement):t.documentElement}catch(t){throw new n.SREError("Illegal input: "+t.message)}},function(t){t[t.ELEMENT_NODE=1]="ELEMENT_NODE",t[t.ATTRIBUTE_NODE=2]="ATTRIBUTE_NODE",t[t.TEXT_NODE=3]="TEXT_NODE",t[t.CDATA_SECTION_NODE=4]="CDATA_SECTION_NODE",t[t.ENTITY_REFERENCE_NODE=5]="ENTITY_REFERENCE_NODE",t[t.ENTITY_NODE=6]="ENTITY_NODE",t[t.PROCESSING_INSTRUCTION_NODE=7]="PROCESSING_INSTRUCTION_NODE",t[t.COMMENT_NODE=8]="COMMENT_NODE",t[t.DOCUMENT_NODE=9]="DOCUMENT_NODE",t[t.DOCUMENT_TYPE_NODE=10]="DOCUMENT_TYPE_NODE",t[t.DOCUMENT_FRAGMENT_NODE=11]="DOCUMENT_FRAGMENT_NODE",t[t.NOTATION_NODE=12]="NOTATION_NODE"}(e.NodeType||(e.NodeType={})),e.replaceNode=function(t,e){t.parentNode&&(t.parentNode.insertBefore(e,t),t.parentNode.removeChild(t))},e.createElement=function(t){return i.default.document.createElement(t)},e.createElementNS=function(t,e){return i.default.document.createElementNS(t,e)},e.createTextNode=function(t){return i.default.document.createTextNode(t)},e.formatXml=function(t){let e="",r=/(>)(<)(\/*)/g,n=0,o=(t=t.replace(r,"$1\r\n$2$3")).split("\r\n");for(r=/(\.)*(<)(\/*)/g,o=o.map((t=>t.replace(r,"$1\r\n$2$3").split("\r\n"))).reduce(((t,e)=>t.concat(e)),[]);o.length;){let t=o.shift();if(!t)continue;let r=0;if(t.match(/^<\w[^>/]*>[^>]+$/)){const e=c(t,o[0]);e[0]?e[1]?(t+=o.shift().slice(0,-e[1].length),e[1].trim()&&o.unshift(e[1])):t+=o.shift():r=1}else if(t.match(/^<\/\w/))0!==n&&(n-=1);else if(t.match(/^<\w[^>]*[^/]>.*$/))r=1;else if(t.match(/^<\w[^>]*\/>.+$/)){const e=t.indexOf(">")+1;t.slice(e).trim()&&o.unshift(),t=t.slice(0,e)}else r=0;e+=new Array(n+1).join(" ")+t+"\r\n",n+=r}return e},e.querySelectorAllByAttr=function(t,e){return t.querySelectorAll?a(t.querySelectorAll(`[${e}]`)):s.evalXPath(`.//*[@${e}]`,t)},e.querySelectorAllByAttrValue=function(t,e,r){return t.querySelectorAll?a(t.querySelectorAll(`[${e}="${r}"]`)):s.evalXPath(`.//*[@${e}="${r}"]`,t)},e.querySelectorAll=function(t,e){return t.querySelectorAll?a(t.querySelectorAll(e)):s.evalXPath(`.//${e}`,t)},e.tagName=function(t){return t.tagName.toUpperCase()},e.cloneNode=function(t){return t.cloneNode(!0)},e.serializeXml=function(t){return(new i.default.xmldom.XMLSerializer).serializeToString(t)}},5897:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.EnginePromise=e.SREError=void 0;const n=r(1676),o=r(4440),i=r(2057),s=r(1377);class a extends Error{constructor(t=""){super(),this.message=t,this.name="SRE Error"}}e.SREError=a;class l{constructor(){this.customLoader=null,this.parsers={},this.comparator=null,this.mode=o.Mode.SYNC,this.init=!0,this.delay=!1,this.comparators={},this.domain="mathspeak",this.style=n.DynamicCstr.DEFAULT_VALUES[n.Axis.STYLE],this._defaultLocale=n.DynamicCstr.DEFAULT_VALUES[n.Axis.LOCALE],this.locale=this.defaultLocale,this.subiso="",this.modality=n.DynamicCstr.DEFAULT_VALUES[n.Axis.MODALITY],this.speech=o.Speech.NONE,this.markup=o.Markup.NONE,this.walker="Table",this.structure=!1,this.ruleSets=[],this.strict=!1,this.isIE=!1,this.isEdge=!1,this.rate="100",this.pprint=!1,this.config=!1,this.rules="",this.prune="",this.evaluator=l.defaultEvaluator,this.defaultParser=new n.DynamicCstrParser(n.DynamicCstr.DEFAULT_ORDER),this.parser=this.defaultParser,this.dynamicCstr=n.DynamicCstr.defaultCstr()}set defaultLocale(t){this._defaultLocale=s.Variables.ensureLocale(t,this._defaultLocale)}get defaultLocale(){return this._defaultLocale}static getInstance(){return l.instance=l.instance||new l,l.instance}static defaultEvaluator(t,e){return t}static evaluateNode(t){return l.nodeEvaluator(t)}getRate(){const t=parseInt(this.rate,10);return isNaN(t)?100:t}setDynamicCstr(t){if(this.defaultLocale&&(n.DynamicCstr.DEFAULT_VALUES[n.Axis.LOCALE]=this.defaultLocale),t){const e=Object.keys(t);for(let r=0;r{void 0!==t[r]&&(e[r]=t[r])};return r("mode"),e.configurate(t),a.default.BINARY_FEATURES.forEach((r=>{void 0!==t[r]&&(e[r]=!!t[r])})),a.default.STRING_FEATURES.forEach(r),t.json&&(c.default.jsonPath=l.makePath(t.json)),t.xpath&&(c.default.WGXpath=t.xpath),e.setCustomLoader(t.custom),function(t){t.isIE=s.detectIE(),t.isEdge=s.detectEdge()}(e),o.setLocale(),e.setDynamicCstr(),e.init?(a.EnginePromise.promises.init=new Promise(((t,e)=>{setTimeout((()=>{t("init")}),10)})),e.init=!1,a.EnginePromise.get()):e.delay?(e.delay=!1,a.EnginePromise.get()):i.loadLocale()}))}},8496:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.Event=e.EventType=e.Move=e.KeyCode=void 0,function(t){t[t.ENTER=13]="ENTER",t[t.ESC=27]="ESC",t[t.SPACE=32]="SPACE",t[t.PAGE_UP=33]="PAGE_UP",t[t.PAGE_DOWN=34]="PAGE_DOWN",t[t.END=35]="END",t[t.HOME=36]="HOME",t[t.LEFT=37]="LEFT",t[t.UP=38]="UP",t[t.RIGHT=39]="RIGHT",t[t.DOWN=40]="DOWN",t[t.TAB=9]="TAB",t[t.LESS=188]="LESS",t[t.GREATER=190]="GREATER",t[t.DASH=189]="DASH",t[t.ZERO=48]="ZERO",t[t.ONE=49]="ONE",t[t.TWO=50]="TWO",t[t.THREE=51]="THREE",t[t.FOUR=52]="FOUR",t[t.FIVE=53]="FIVE",t[t.SIX=54]="SIX",t[t.SEVEN=55]="SEVEN",t[t.EIGHT=56]="EIGHT",t[t.NINE=57]="NINE",t[t.A=65]="A",t[t.B=66]="B",t[t.C=67]="C",t[t.D=68]="D",t[t.E=69]="E",t[t.F=70]="F",t[t.G=71]="G",t[t.H=72]="H",t[t.I=73]="I",t[t.J=74]="J",t[t.K=75]="K",t[t.L=76]="L",t[t.M=77]="M",t[t.N=78]="N",t[t.O=79]="O",t[t.P=80]="P",t[t.Q=81]="Q",t[t.R=82]="R",t[t.S=83]="S",t[t.T=84]="T",t[t.U=85]="U",t[t.V=86]="V",t[t.W=87]="W",t[t.X=88]="X",t[t.Y=89]="Y",t[t.Z=90]="Z"}(e.KeyCode||(e.KeyCode={})),e.Move=new Map([[13,"ENTER"],[27,"ESC"],[32,"SPACE"],[33,"PAGE_UP"],[34,"PAGE_DOWN"],[35,"END"],[36,"HOME"],[37,"LEFT"],[38,"UP"],[39,"RIGHT"],[40,"DOWN"],[9,"TAB"],[188,"LESS"],[190,"GREATER"],[189,"DASH"],[48,"ZERO"],[49,"ONE"],[50,"TWO"],[51,"THREE"],[52,"FOUR"],[53,"FIVE"],[54,"SIX"],[55,"SEVEN"],[56,"EIGHT"],[57,"NINE"],[65,"A"],[66,"B"],[67,"C"],[68,"D"],[69,"E"],[70,"F"],[71,"G"],[72,"H"],[73,"I"],[74,"J"],[75,"K"],[76,"L"],[77,"M"],[78,"N"],[79,"O"],[80,"P"],[81,"Q"],[82,"R"],[83,"S"],[84,"T"],[85,"U"],[86,"V"],[87,"W"],[88,"X"],[89,"Y"],[90,"Z"]]),function(t){t.CLICK="click",t.DBLCLICK="dblclick",t.MOUSEDOWN="mousedown",t.MOUSEUP="mouseup",t.MOUSEOVER="mouseover",t.MOUSEOUT="mouseout",t.MOUSEMOVE="mousemove",t.SELECTSTART="selectstart",t.KEYPRESS="keypress",t.KEYDOWN="keydown",t.KEYUP="keyup",t.TOUCHSTART="touchstart",t.TOUCHMOVE="touchmove",t.TOUCHEND="touchend",t.TOUCHCANCEL="touchcancel"}(e.EventType||(e.EventType={}));e.Event=class{constructor(t,e,r){this.src=t,this.type=e,this.callback=r}add(){this.src.addEventListener(this.type,this.callback)}remove(){this.src.removeEventListener(this.type,this.callback)}}},7248:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.localePath=e.makePath=void 0;const n=r(2315);function o(t){return t.match("/$")?t:t+"/"}e.makePath=o,e.localePath=function(t,e="json"){return o(n.default.jsonPath)+t+(e.match(/^\./)?e:"."+e)}},3769:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.KeyProcessor=e.Processor=void 0;const n=r(8496);class o{constructor(t,e){this.name=t,this.process=e.processor,this.postprocess=e.postprocessor||((t,e)=>t),this.processor=this.postprocess?function(t){return this.postprocess(this.process(t),t)}:this.process,this.print=e.print||o.stringify_,this.pprint=e.pprint||this.print}static stringify_(t){return t?t.toString():t}}e.Processor=o,o.LocalState={walker:null,speechGenerator:null,highlighter:null};class i extends o{constructor(t,e){super(t,e),this.key=e.key||i.getKey_}static getKey_(t){return"string"==typeof t?n.KeyCode[t.toUpperCase()]:t}}e.KeyProcessor=i},6499:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.keypress=e.output=e.print=e.process=e.set=void 0;const n=r(8290),o=r(5714),i=r(3090),s=r(4356),a=r(1414),l=r(9552),c=r(9543),u=r(3362),p=r(1204),h=r(5740),f=r(5897),d=r(4440),m=r(3769),y=r(5274),g=new Map;function b(t){g.set(t.name,t)}function v(t){const e=g.get(t);if(!e)throw new f.SREError("Unknown processor "+t);return e}function _(t,e){const r=v(t);try{return r.processor(e)}catch(t){throw new f.SREError("Processing error for expression "+e)}}function S(t,e){const r=v(t);return f.default.getInstance().pprint?r.pprint(e):r.print(e)}e.set=b,e.process=_,e.print=S,e.output=function(t,e){const r=v(t);try{const t=r.processor(e);return f.default.getInstance().pprint?r.pprint(t):r.print(t)}catch(t){throw new f.SREError("Processing error for expression "+e)}},e.keypress=function(t,e){const r=v(t),n=r instanceof m.KeyProcessor?r.key(e):e,o=r.processor(n);return f.default.getInstance().pprint?r.pprint(o):r.print(o)},b(new m.Processor("semantic",{processor:function(t){const e=h.parseInput(t);return a.xmlTree(e)},postprocessor:function(t,e){const r=f.default.getInstance().speech;if(r===d.Speech.NONE)return t;const o=h.cloneNode(t);let i=c.computeMarkup(o);if(r===d.Speech.SHALLOW)return t.setAttribute("speech",n.finalize(i)),t;const s=y.evalXPath(".//*[@id]",t),a=y.evalXPath(".//*[@id]",o);for(let t,e,r=0;t=s[r],e=a[r];r++)i=c.computeMarkup(e),t.setAttribute("speech",n.finalize(i));return t},pprint:function(t){return h.formatXml(t.toString())}})),b(new m.Processor("speech",{processor:function(t){const e=h.parseInput(t),r=a.xmlTree(e),o=c.computeSpeech(r);return n.finalize(n.markup(o))},pprint:function(t){const e=t.toString();return n.isXml()?h.formatXml(e):e}})),b(new m.Processor("json",{processor:function(t){const e=h.parseInput(t);return a.getTree(e).toJson()},postprocessor:function(t,e){const r=f.default.getInstance().speech;if(r===d.Speech.NONE)return t;const o=h.parseInput(e),i=a.xmlTree(o),s=c.computeMarkup(i);if(r===d.Speech.SHALLOW)return t.stree.speech=n.finalize(s),t;const l=t=>{const e=y.evalXPath(`.//*[@id=${t.id}]`,i)[0],r=c.computeMarkup(e);t.speech=n.finalize(r),t.children&&t.children.forEach(l)};return l(t.stree),t},print:function(t){return JSON.stringify(t)},pprint:function(t){return JSON.stringify(t,null,2)}})),b(new m.Processor("description",{processor:function(t){const e=h.parseInput(t),r=a.xmlTree(e);return c.computeSpeech(r)},print:function(t){return JSON.stringify(t)},pprint:function(t){return JSON.stringify(t,null,2)}})),b(new m.Processor("enriched",{processor:function(t){return o.semanticMathmlSync(t)},postprocessor:function(t,e){const r=p.getSemanticRoot(t);let n;switch(f.default.getInstance().speech){case d.Speech.NONE:break;case d.Speech.SHALLOW:n=l.generator("Adhoc"),n.getSpeech(r,t);break;case d.Speech.DEEP:n=l.generator("Tree"),n.getSpeech(t,t)}return t},pprint:function(t){return h.formatXml(t.toString())}})),b(new m.Processor("walker",{processor:function(t){const e=l.generator("Node");m.Processor.LocalState.speechGenerator=e,e.setOptions({modality:f.default.getInstance().modality,locale:f.default.getInstance().locale,domain:f.default.getInstance().domain,style:f.default.getInstance().style}),m.Processor.LocalState.highlighter=i.highlighter({color:"black"},{color:"white"},{renderer:"NativeMML"});const r=_("enriched",t),n=S("enriched",r);return m.Processor.LocalState.walker=u.walker(f.default.getInstance().walker,r,e,m.Processor.LocalState.highlighter,n),m.Processor.LocalState.walker},print:function(t){return m.Processor.LocalState.walker.speech()}})),b(new m.KeyProcessor("move",{processor:function(t){if(!m.Processor.LocalState.walker)return null;return!1===m.Processor.LocalState.walker.move(t)?n.error(t):m.Processor.LocalState.walker.speech()}})),b(new m.Processor("number",{processor:function(t){const e=parseInt(t,10);return isNaN(e)?"":s.LOCALE.NUMBERS.numberToWords(e)}})),b(new m.Processor("ordinal",{processor:function(t){const e=parseInt(t,10);return isNaN(e)?"":s.LOCALE.NUMBERS.wordOrdinal(e)}})),b(new m.Processor("numericOrdinal",{processor:function(t){const e=parseInt(t,10);return isNaN(e)?"":s.LOCALE.NUMBERS.numericOrdinal(e)}})),b(new m.Processor("vulgar",{processor:function(t){const[e,r]=t.split("/").map((t=>parseInt(t,10)));return isNaN(e)||isNaN(r)?"":_("speech",`${e}${r}`)}}))},2998:function(t,e,r){var n=this&&this.__awaiter||function(t,e,r,n){return new(r||(r=Promise))((function(o,i){function s(t){try{l(n.next(t))}catch(t){i(t)}}function a(t){try{l(n.throw(t))}catch(t){i(t)}}function l(t){var e;t.done?o(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}l((n=n.apply(t,e||[])).next())}))};Object.defineProperty(e,"__esModule",{value:!0}),e.localePath=e.exit=e.move=e.walk=e.processFile=e.file=e.vulgar=e.numericOrdinal=e.ordinal=e.number=e.toEnriched=e.toDescription=e.toJson=e.toSemantic=e.toSpeech=e.localeLoader=e.engineReady=e.engineSetup=e.setupEngine=e.version=void 0;const o=r(5897),i=r(6828),s=r(4440),a=r(7248),l=r(6499),c=r(2315),u=r(1377),p=r(6141);function h(t){return n(this,void 0,void 0,(function*(){return(0,i.setup)(t)}))}function f(t,e){return l.process(t,e)}function d(t,e,r){switch(o.default.getInstance().mode){case s.Mode.ASYNC:return function(t,e,r){return n(this,void 0,void 0,(function*(){const n=yield c.default.fs.promises.readFile(e,{encoding:"utf8"}),i=l.output(t,n);if(r)try{c.default.fs.promises.writeFile(r,i)}catch(t){throw new o.SREError("Can not write to file: "+r)}return i}))}(t,e,r);case s.Mode.SYNC:return function(t,e,r){const n=function(t){let e;try{e=c.default.fs.readFileSync(t,{encoding:"utf8"})}catch(e){throw new o.SREError("Can not open file: "+t)}return e}(e),i=l.output(t,n);if(r)try{c.default.fs.writeFileSync(r,i)}catch(t){throw new o.SREError("Can not write to file: "+r)}return i}(t,e,r);default:throw new o.SREError(`Can process files in ${o.default.getInstance().mode} mode`)}}e.version=u.Variables.VERSION,e.setupEngine=h,e.engineSetup=function(){const t=["mode"].concat(o.default.STRING_FEATURES,o.default.BINARY_FEATURES),e=o.default.getInstance(),r={};return t.forEach((function(t){r[t]=e[t]})),r.json=c.default.jsonPath,r.xpath=c.default.WGXpath,r.rules=e.ruleSets.slice(),r},e.engineReady=function(){return n(this,void 0,void 0,(function*(){return h({}).then((()=>o.EnginePromise.getall()))}))},e.localeLoader=p.standardLoader,e.toSpeech=function(t){return f("speech",t)},e.toSemantic=function(t){return f("semantic",t)},e.toJson=function(t){return f("json",t)},e.toDescription=function(t){return f("description",t)},e.toEnriched=function(t){return f("enriched",t)},e.number=function(t){return f("number",t)},e.ordinal=function(t){return f("ordinal",t)},e.numericOrdinal=function(t){return f("numericOrdinal",t)},e.vulgar=function(t){return f("vulgar",t)},e.file={},e.file.toSpeech=function(t,e){return d("speech",t,e)},e.file.toSemantic=function(t,e){return d("semantic",t,e)},e.file.toJson=function(t,e){return d("json",t,e)},e.file.toDescription=function(t,e){return d("description",t,e)},e.file.toEnriched=function(t,e){return d("enriched",t,e)},e.processFile=d,e.walk=function(t){return l.output("walker",t)},e.move=function(t){return l.keypress("move",t)},e.exit=function(t){const e=t||0;o.EnginePromise.getall().then((()=>process.exit(e)))},e.localePath=a.localePath,c.default.documentSupported?h({mode:s.Mode.HTTP}).then((()=>h({}))):h({mode:s.Mode.SYNC}).then((()=>h({mode:s.Mode.ASYNC})))},2315:function(__unused_webpack_module,exports,__webpack_require__){var __dirname="/";Object.defineProperty(exports,"__esModule",{value:!0});const variables_1=__webpack_require__(1377);class SystemExternal{static extRequire(library){if("undefined"!=typeof process){const nodeRequire=eval("require");return nodeRequire(library)}return null}}exports.default=SystemExternal,SystemExternal.windowSupported=!("undefined"==typeof window),SystemExternal.documentSupported=SystemExternal.windowSupported&&!(void 0===window.document),SystemExternal.xmldom=SystemExternal.documentSupported?window:SystemExternal.extRequire("xmldom-sre"),SystemExternal.document=SystemExternal.documentSupported?window.document:(new SystemExternal.xmldom.DOMImplementation).createDocument("","",0),SystemExternal.xpath=SystemExternal.documentSupported?document:function(){const t={document:{},XPathResult:{}};return SystemExternal.extRequire("wicked-good-xpath").install(t),t.document.XPathResult=t.XPathResult,t.document}(),SystemExternal.mathmapsIePath="https://cdn.jsdelivr.net/npm/sre-mathmaps-ie@"+variables_1.Variables.VERSION+"mathmaps_ie.js",SystemExternal.commander=SystemExternal.documentSupported?null:SystemExternal.extRequire("commander"),SystemExternal.fs=SystemExternal.documentSupported?null:SystemExternal.extRequire("fs"),SystemExternal.url=variables_1.Variables.url,SystemExternal.jsonPath=(SystemExternal.documentSupported?SystemExternal.url:process.env.SRE_JSON_PATH||__webpack_require__.g.SRE_JSON_PATH||__dirname+"/mathmaps")+"/",SystemExternal.WGXpath=variables_1.Variables.WGXpath,SystemExternal.wgxpath=null},1377:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.Variables=void 0;class r{static ensureLocale(t,e){return r.LOCALES.get(t)?t:(console.error(`Locale ${t} does not exist! Using ${r.LOCALES.get(e)} instead.`),e)}}e.Variables=r,r.VERSION="4.0.6",r.LOCALES=new Map([["ca","Catalan"],["da","Danish"],["de","German"],["en","English"],["es","Spanish"],["fr","French"],["hi","Hindi"],["it","Italian"],["nb","Bokm\xe5l"],["nn","Nynorsk"],["sv","Swedish"],["nemeth","Nemeth"]]),r.mathjaxVersion="3.2.1",r.url="https://cdn.jsdelivr.net/npm/speech-rule-engine@"+r.VERSION+"/lib/mathmaps",r.WGXpath="https://cdn.jsdelivr.net/npm/wicked-good-xpath@1.3.0/dist/wgxpath.install.js"},5274:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.updateEvaluator=e.evaluateString=e.evaluateBoolean=e.getLeafNodes=e.evalXPath=e.resolveNameSpace=e.xpath=void 0;const n=r(5897),o=r(4440),i=r(2315);function s(){return"undefined"!=typeof XPathResult}e.xpath={currentDocument:null,evaluate:s()?document.evaluate:i.default.xpath.evaluate,result:s()?XPathResult:i.default.xpath.XPathResult,createNSResolver:s()?document.createNSResolver:i.default.xpath.createNSResolver};const a={xhtml:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",mml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg"};function l(t){return a[t]||null}e.resolveNameSpace=l;class c{constructor(){this.lookupNamespaceURI=l}}function u(t,r,i){return n.default.getInstance().mode!==o.Mode.HTTP||n.default.getInstance().isIE||n.default.getInstance().isEdge?e.xpath.evaluate(t,r,new c,i,null):e.xpath.currentDocument.evaluate(t,r,l,i,null)}function p(t,r){let n;try{n=u(t,r,e.xpath.result.ORDERED_NODE_ITERATOR_TYPE)}catch(t){return[]}const o=[];for(let t=n.iterateNext();t;t=n.iterateNext())o.push(t);return o}e.evalXPath=p,e.getLeafNodes=function(t){return p(".//*[count(*)=0]",t)},e.evaluateBoolean=function(t,r){let n;try{n=u(t,r,e.xpath.result.BOOLEAN_TYPE)}catch(t){return!1}return n.booleanValue},e.evaluateString=function(t,r){let n;try{n=u(t,r,e.xpath.result.STRING_TYPE)}catch(t){return""}return n.stringValue},e.updateEvaluator=function(t){if(n.default.getInstance().mode!==o.Mode.HTTP)return;let r=t;for(;r&&!r.evaluate;)r=r.parentNode;r&&r.evaluate?e.xpath.currentDocument=r:t.ownerDocument&&(e.xpath.currentDocument=t.ownerDocument)}},9268:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractEnrichCase=void 0;e.AbstractEnrichCase=class{constructor(t){this.semantic=t}}},6061:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.CaseBinomial=void 0;const n=r(5740),o=r(9268),i=r(5452),s=r(2298);class a extends o.AbstractEnrichCase{constructor(t){super(t),this.mml=t.mathmlTree}static test(t){return!t.mathmlTree&&"line"===t.type&&"binomial"===t.role}getMathml(){if(!this.semantic.childNodes.length)return this.mml;const t=this.semantic.childNodes[0];if(this.mml=(0,i.walkTree)(t),this.mml.hasAttribute(s.Attribute.TYPE)){const t=n.createElement("mrow");t.setAttribute(s.Attribute.ADDED,"true"),n.replaceNode(this.mml,t),t.appendChild(this.mml),this.mml=t}return(0,s.setAttributes)(this.mml,this.semantic),this.mml}}e.CaseBinomial=a},5765:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.CaseDoubleScript=void 0;const n=r(5740),o=r(9268),i=r(5452),s=r(2298);class a extends o.AbstractEnrichCase{constructor(t){super(t),this.mml=t.mathmlTree}static test(t){if(!t.mathmlTree||!t.childNodes.length)return!1;const e=n.tagName(t.mathmlTree),r=t.childNodes[0].role;return"MSUBSUP"===e&&"subsup"===r||"MUNDEROVER"===e&&"underover"===r}getMathml(){const t=this.semantic.childNodes[0],e=t.childNodes[0],r=this.semantic.childNodes[1],n=t.childNodes[1],o=i.walkTree(r),a=i.walkTree(e),l=i.walkTree(n);return(0,s.setAttributes)(this.mml,this.semantic),this.mml.setAttribute(s.Attribute.CHILDREN,(0,s.makeIdList)([e,n,r])),[a,l,o].forEach((t=>i.getInnerNode(t).setAttribute(s.Attribute.PARENT,this.mml.getAttribute(s.Attribute.ID)))),this.mml.setAttribute(s.Attribute.TYPE,t.role),i.addCollapsedAttribute(this.mml,[this.semantic.id,[t.id,e.id,n.id],r.id]),this.mml}}e.CaseDoubleScript=a},7251:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.CaseEmbellished=void 0;const n=r(5740),o=r(5952),i=r(9268),s=r(5765),a=r(7014),l=r(6887),c=r(5452),u=r(2298);class p extends i.AbstractEnrichCase{constructor(t){super(t),this.fenced=null,this.fencedMml=null,this.fencedMmlNodes=[],this.ofence=null,this.ofenceMml=null,this.ofenceMap={},this.cfence=null,this.cfenceMml=null,this.cfenceMap={},this.parentCleanup=[]}static test(t){return!(!t.mathmlTree||!t.fencePointer||t.mathmlTree.getAttribute("data-semantic-type"))}static makeEmptyNode_(t){const e=n.createElement("mrow"),r=new o.SemanticNode(t);return r.type="empty",r.mathmlTree=e,r}static fencedMap_(t,e){e[t.id]=t.mathmlTree,t.embellished&&p.fencedMap_(t.childNodes[0],e)}getMathml(){this.getFenced_(),this.fencedMml=c.walkTree(this.fenced),this.getFencesMml_(),"empty"!==this.fenced.type||this.fencedMml.parentNode||(this.fencedMml.setAttribute(u.Attribute.ADDED,"true"),this.cfenceMml.parentNode.insertBefore(this.fencedMml,this.cfenceMml)),this.getFencedMml_();return this.rewrite_()}fencedElement(t){return"fenced"===t.type||"matrix"===t.type||"vector"===t.type}getFenced_(){let t=this.semantic;for(;!this.fencedElement(t);)t=t.childNodes[0];this.fenced=t.childNodes[0],this.ofence=t.contentNodes[0],this.cfence=t.contentNodes[1],p.fencedMap_(this.ofence,this.ofenceMap),p.fencedMap_(this.cfence,this.cfenceMap)}getFencedMml_(){let t=this.ofenceMml.nextSibling;for(t=t===this.fencedMml?t:this.fencedMml;t&&t!==this.cfenceMml;)this.fencedMmlNodes.push(t),t=t.nextSibling}getFencesMml_(){let t=this.semantic;const e=Object.keys(this.ofenceMap),r=Object.keys(this.cfenceMap);for(;!(this.ofenceMml&&this.cfenceMml||t===this.fenced);)-1===e.indexOf(t.fencePointer)||this.ofenceMml||(this.ofenceMml=t.mathmlTree),-1===r.indexOf(t.fencePointer)||this.cfenceMml||(this.cfenceMml=t.mathmlTree),t=t.childNodes[0];this.ofenceMml||(this.ofenceMml=this.ofence.mathmlTree),this.cfenceMml||(this.cfenceMml=this.cfence.mathmlTree),this.ofenceMml&&(this.ofenceMml=c.ascendNewNode(this.ofenceMml)),this.cfenceMml&&(this.cfenceMml=c.ascendNewNode(this.cfenceMml))}rewrite_(){let t=this.semantic,e=null;const r=this.introduceNewLayer_();for((0,u.setAttributes)(r,this.fenced.parent);!this.fencedElement(t);){const o=t.mathmlTree,i=this.specialCase_(t,o);if(i)t=i;else{(0,u.setAttributes)(o,t);const e=[];for(let r,n=1;r=t.childNodes[n];n++)e.push(c.walkTree(r));t=t.childNodes[0]}const s=n.createElement("dummy"),a=o.childNodes[0];n.replaceNode(o,s),n.replaceNode(r,o),n.replaceNode(o.childNodes[0],r),n.replaceNode(s,a),e||(e=o)}return c.walkTree(this.ofence),c.walkTree(this.cfence),this.cleanupParents_(),e||r}specialCase_(t,e){const r=n.tagName(e);let o,i=null;if("MSUBSUP"===r?(i=t.childNodes[0],o=s.CaseDoubleScript):"MMULTISCRIPTS"===r&&("superscript"===t.type||"subscript"===t.type?o=a.CaseMultiscripts:"tensor"===t.type&&(o=l.CaseTensor),i=o&&t.childNodes[0]&&"subsup"===t.childNodes[0].role?t.childNodes[0]:t),!i)return null;const c=i.childNodes[0],u=p.makeEmptyNode_(c.id);return i.childNodes[0]=u,e=new o(t).getMathml(),i.childNodes[0]=c,this.parentCleanup.push(e),i.childNodes[0]}introduceNewLayer_(){const t=this.fullFence(this.ofenceMml),e=this.fullFence(this.cfenceMml);let r=n.createElement("mrow");if(n.replaceNode(this.fencedMml,r),this.fencedMmlNodes.forEach((t=>r.appendChild(t))),r.insertBefore(t,this.fencedMml),r.appendChild(e),!r.parentNode){const t=n.createElement("mrow");for(;r.childNodes.length>0;)t.appendChild(r.childNodes[0]);r.appendChild(t),r=t}return r}fullFence(t){const e=this.fencedMml.parentNode;let r=t;for(;r.parentNode&&r.parentNode!==e;)r=r.parentNode;return r}cleanupParents_(){this.parentCleanup.forEach((function(t){const e=t.childNodes[1].getAttribute(u.Attribute.PARENT);t.childNodes[0].setAttribute(u.Attribute.PARENT,e)}))}}e.CaseEmbellished=p},6265:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.CaseLimit=void 0;const n=r(5740),o=r(9268),i=r(5452),s=r(2298);class a extends o.AbstractEnrichCase{constructor(t){super(t),this.mml=t.mathmlTree}static test(t){if(!t.mathmlTree||!t.childNodes.length)return!1;const e=n.tagName(t.mathmlTree),r=t.type;return("limupper"===r||"limlower"===r)&&("MSUBSUP"===e||"MUNDEROVER"===e)||"limboth"===r&&("MSUB"===e||"MUNDER"===e||"MSUP"===e||"MOVER"===e)}static walkTree_(t){t&&i.walkTree(t)}getMathml(){const t=this.semantic.childNodes;return"limboth"!==this.semantic.type&&this.mml.childNodes.length>=3&&(this.mml=i.introduceNewLayer([this.mml],this.semantic)),(0,s.setAttributes)(this.mml,this.semantic),t[0].mathmlTree||(t[0].mathmlTree=this.semantic.mathmlTree),t.forEach(a.walkTree_),this.mml}}e.CaseLimit=a},6514:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.CaseLine=void 0;const n=r(9268),o=r(5452),i=r(2298);class s extends n.AbstractEnrichCase{constructor(t){super(t),this.mml=t.mathmlTree}static test(t){return!!t.mathmlTree&&"line"===t.type}getMathml(){return this.semantic.contentNodes.length&&o.walkTree(this.semantic.contentNodes[0]),this.semantic.childNodes.length&&o.walkTree(this.semantic.childNodes[0]),(0,i.setAttributes)(this.mml,this.semantic),this.mml}}e.CaseLine=s},6839:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.CaseMultiindex=void 0;const n=r(5740),o=r(9268),i=r(5452),s=r(2298);class a extends o.AbstractEnrichCase{constructor(t){super(t),this.mml=t.mathmlTree}static multiscriptIndex(t){return"punctuated"===t.type&&"dummy"===t.contentNodes[0].role?i.collapsePunctuated(t):(i.walkTree(t),t.id)}static createNone_(t){const e=n.createElement("none");return t&&(0,s.setAttributes)(e,t),e.setAttribute(s.Attribute.ADDED,"true"),e}completeMultiscript(t,e){const r=n.toArray(this.mml.childNodes).slice(1);let o=0;const l=t=>{for(let e,n=0;e=t[n];n++){const t=r[o];if(t&&e===parseInt(i.getInnerNode(t).getAttribute(s.Attribute.ID)))i.getInnerNode(t).setAttribute(s.Attribute.PARENT,this.semantic.id.toString()),o++;else{const r=this.semantic.querySelectorAll((t=>t.id===e));this.mml.insertBefore(a.createNone_(r[0]),t||null)}}};l(t),r[o]&&"MPRESCRIPTS"!==n.tagName(r[o])?this.mml.insertBefore(r[o],n.createElement("mprescripts")):o++,l(e)}}e.CaseMultiindex=a},7014:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.CaseMultiscripts=void 0;const n=r(5740),o=r(5656),i=r(6839),s=r(5452),a=r(2298);class l extends i.CaseMultiindex{static test(t){if(!t.mathmlTree)return!1;return"MMULTISCRIPTS"===n.tagName(t.mathmlTree)&&("superscript"===t.type||"subscript"===t.type)}constructor(t){super(t)}getMathml(){let t,e,r;if((0,a.setAttributes)(this.mml,this.semantic),this.semantic.childNodes[0]&&"subsup"===this.semantic.childNodes[0].role){const n=this.semantic.childNodes[0];t=n.childNodes[0],e=i.CaseMultiindex.multiscriptIndex(this.semantic.childNodes[1]),r=i.CaseMultiindex.multiscriptIndex(n.childNodes[1]);const l=[this.semantic.id,[n.id,t.id,r],e];s.addCollapsedAttribute(this.mml,l),this.mml.setAttribute(a.Attribute.TYPE,n.role),this.completeMultiscript(o.SemanticSkeleton.interleaveIds(r,e),[])}else{t=this.semantic.childNodes[0],e=i.CaseMultiindex.multiscriptIndex(this.semantic.childNodes[1]);const r=[this.semantic.id,t.id,e];s.addCollapsedAttribute(this.mml,r)}const n=o.SemanticSkeleton.collapsedLeafs(r||[],e),l=s.walkTree(t);return s.getInnerNode(l).setAttribute(a.Attribute.PARENT,this.semantic.id.toString()),n.unshift(t.id),this.mml.setAttribute(a.Attribute.CHILDREN,n.join(",")),this.mml}}e.CaseMultiscripts=l},3416:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.CaseProof=void 0;const n=r(9268),o=r(5452),i=r(2298);class s extends n.AbstractEnrichCase{constructor(t){super(t),this.mml=t.mathmlTree}static test(t){return!!t.mathmlTree&&("inference"===t.type||"premises"===t.type)}getMathml(){return this.semantic.childNodes.length?(this.semantic.contentNodes.forEach((function(t){o.walkTree(t),(0,i.setAttributes)(t.mathmlTree,t)})),this.semantic.childNodes.forEach((function(t){o.walkTree(t)})),(0,i.setAttributes)(this.mml,this.semantic),this.mml.getAttribute("data-semantic-id")===this.mml.getAttribute("data-semantic-parent")&&this.mml.removeAttribute("data-semantic-parent"),this.mml):this.mml}}e.CaseProof=s},5699:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.CaseTable=void 0;const n=r(5740),o=r(9268),i=r(5452),s=r(2298);class a extends o.AbstractEnrichCase{constructor(t){super(t),this.inner=[],this.mml=t.mathmlTree}static test(t){return"matrix"===t.type||"vector"===t.type||"cases"===t.type}getMathml(){const t=i.cloneContentNode(this.semantic.contentNodes[0]),e=this.semantic.contentNodes[1]?i.cloneContentNode(this.semantic.contentNodes[1]):null;if(this.inner=this.semantic.childNodes.map(i.walkTree),this.mml)if("MFENCED"===n.tagName(this.mml)){const r=this.mml.childNodes;this.mml.insertBefore(t,r[0]||null),e&&this.mml.appendChild(e),this.mml=i.rewriteMfenced(this.mml)}else{const r=[t,this.mml];e&&r.push(e),this.mml=i.introduceNewLayer(r,this.semantic)}else this.mml=i.introduceNewLayer([t].concat(this.inner,[e]),this.semantic);return(0,s.setAttributes)(this.mml,this.semantic),this.mml}}e.CaseTable=a},6887:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.CaseTensor=void 0;const n=r(5656),o=r(6839),i=r(5452),s=r(2298);class a extends o.CaseMultiindex{static test(t){return!!t.mathmlTree&&"tensor"===t.type}constructor(t){super(t)}getMathml(){i.walkTree(this.semantic.childNodes[0]);const t=o.CaseMultiindex.multiscriptIndex(this.semantic.childNodes[1]),e=o.CaseMultiindex.multiscriptIndex(this.semantic.childNodes[2]),r=o.CaseMultiindex.multiscriptIndex(this.semantic.childNodes[3]),a=o.CaseMultiindex.multiscriptIndex(this.semantic.childNodes[4]);(0,s.setAttributes)(this.mml,this.semantic);const l=[this.semantic.id,this.semantic.childNodes[0].id,t,e,r,a];i.addCollapsedAttribute(this.mml,l);const c=n.SemanticSkeleton.collapsedLeafs(t,e,r,a);return c.unshift(this.semantic.childNodes[0].id),this.mml.setAttribute(s.Attribute.CHILDREN,c.join(",")),this.completeMultiscript(n.SemanticSkeleton.interleaveIds(r,a),n.SemanticSkeleton.interleaveIds(t,e)),this.mml}}e.CaseTensor=a},9236:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.CaseText=void 0;const n=r(9268),o=r(5452),i=r(2298);class s extends n.AbstractEnrichCase{constructor(t){super(t),this.mml=t.mathmlTree}static test(t){return"punctuated"===t.type&&("text"===t.role||t.contentNodes.every((t=>"dummy"===t.role)))}getMathml(){const t=[],e=o.collapsePunctuated(this.semantic,t);return this.mml=o.introduceNewLayer(t,this.semantic),(0,i.setAttributes)(this.mml,this.semantic),this.mml.removeAttribute(i.Attribute.CONTENT),o.addCollapsedAttribute(this.mml,e),this.mml}}e.CaseText=s},5714:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.prepareMmlString=e.testTranslation__=e.semanticMathml=e.semanticMathmlSync=e.semanticMathmlNode=void 0;const n=r(2057),o=r(5740),i=r(5897),s=r(1414),a=r(5452),l=r(2298);function c(t){const e=o.cloneNode(t),r=s.getTree(e);return a.enrich(e,r)}function u(t){return c(o.parseInput(t))}function p(t){return t.match(/^$/)||(t+=""),t}r(1513),e.semanticMathmlNode=c,e.semanticMathmlSync=u,e.semanticMathml=function(t,e){i.EnginePromise.getall().then((()=>{const r=o.parseInput(t);e(c(r))}))},e.testTranslation__=function(t){n.Debugger.getInstance().init();const e=u(p(t)).toString();return(0,l.removeAttributePrefix)(e),n.Debugger.getInstance().exit(),e},e.prepareMmlString=p},2298:function(t,e){var r;function n(t){return t.map((function(t){return t.id})).join(",")}function o(t,e){const n=[];"mglyph"===e.role&&n.push("image"),e.attributes.href&&n.push("link"),n.length&&t.setAttribute(r.POSTFIX,n.join(" "))}Object.defineProperty(e,"__esModule",{value:!0}),e.addPrefix=e.removeAttributePrefix=e.setPostfix=e.setAttributes=e.makeIdList=e.EnrichAttributes=e.Attribute=e.Prefix=void 0,e.Prefix="data-semantic-",function(t){t.ADDED="data-semantic-added",t.ALTERNATIVE="data-semantic-alternative",t.CHILDREN="data-semantic-children",t.COLLAPSED="data-semantic-collapsed",t.CONTENT="data-semantic-content",t.EMBELLISHED="data-semantic-embellished",t.FENCEPOINTER="data-semantic-fencepointer",t.FONT="data-semantic-font",t.ID="data-semantic-id",t.ANNOTATION="data-semantic-annotation",t.OPERATOR="data-semantic-operator",t.OWNS="data-semantic-owns",t.PARENT="data-semantic-parent",t.POSTFIX="data-semantic-postfix",t.PREFIX="data-semantic-prefix",t.ROLE="data-semantic-role",t.SPEECH="data-semantic-speech",t.STRUCTURE="data-semantic-structure",t.TYPE="data-semantic-type"}(r=e.Attribute||(e.Attribute={})),e.EnrichAttributes=[r.ADDED,r.ALTERNATIVE,r.CHILDREN,r.COLLAPSED,r.CONTENT,r.EMBELLISHED,r.FENCEPOINTER,r.FONT,r.ID,r.ANNOTATION,r.OPERATOR,r.OWNS,r.PARENT,r.POSTFIX,r.PREFIX,r.ROLE,r.SPEECH,r.STRUCTURE,r.TYPE],e.makeIdList=n,e.setAttributes=function(t,i){t.setAttribute(r.TYPE,i.type);const s=i.allAttributes();for(let r,n=0;r=s[n];n++)t.setAttribute(e.Prefix+r[0].toLowerCase(),r[1]);i.childNodes.length&&t.setAttribute(r.CHILDREN,n(i.childNodes)),i.contentNodes.length&&t.setAttribute(r.CONTENT,n(i.contentNodes)),i.parent&&t.setAttribute(r.PARENT,i.parent.id.toString()),o(t,i)},e.setPostfix=o,e.removeAttributePrefix=function(t){return t.toString().replace(new RegExp(e.Prefix,"g"),"")},e.addPrefix=function(t){return e.Prefix+t}},3532:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.factory=e.getCase=void 0,e.getCase=function(t){for(let r,n=0;r=e.factory[n];n++)if(r.test(t))return r.constr(t);return null},e.factory=[]},1513:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});const n=r(6061),o=r(5765),i=r(7251),s=r(6265),a=r(6514),l=r(7014),c=r(3416),u=r(5699),p=r(6887),h=r(9236);r(3532).factory.push({test:s.CaseLimit.test,constr:t=>new s.CaseLimit(t)},{test:i.CaseEmbellished.test,constr:t=>new i.CaseEmbellished(t)},{test:o.CaseDoubleScript.test,constr:t=>new o.CaseDoubleScript(t)},{test:p.CaseTensor.test,constr:t=>new p.CaseTensor(t)},{test:l.CaseMultiscripts.test,constr:t=>new l.CaseMultiscripts(t)},{test:a.CaseLine.test,constr:t=>new a.CaseLine(t)},{test:n.CaseBinomial.test,constr:t=>new n.CaseBinomial(t)},{test:c.CaseProof.test,constr:t=>new c.CaseProof(t)},{test:u.CaseTable.test,constr:t=>new u.CaseTable(t)},{test:h.CaseText.test,constr:t=>new h.CaseText(t)})},5452:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.printNodeList__=e.collapsePunctuated=e.formattedOutput_=e.formattedOutput=e.getInnerNode=e.setOperatorAttribute_=e.createInvisibleOperator_=e.rewriteMfenced=e.cloneContentNode=e.addCollapsedAttribute=e.parentNode_=e.isIgnorable_=e.unitChild_=e.descendNode_=e.ascendNewNode=e.validLca_=e.pathToRoot_=e.attachedElement_=e.prunePath_=e.mathmlLca_=e.lcaType=e.functionApplication_=e.isDescendant_=e.insertNewChild_=e.mergeChildren_=e.collectChildNodes_=e.collateChildNodes_=e.childrenSubset_=e.moveSemanticAttributes_=e.introduceLayerAboveLca=e.introduceNewLayer=e.walkTree=e.enrich=e.SETTINGS=void 0;const n=r(2057),o=r(5740),i=r(5897),s=r(3588),a=r(7516),l=r(5656),c=r(4795),u=r(2298),p=r(3532);function h(t){const e=(0,p.getCase)(t);let r;if(e)return r=e.getMathml(),N(r);if(1===t.mathml.length)return n.Debugger.getInstance().output("Walktree Case 0"),r=t.mathml[0],u.setAttributes(r,t),t.childNodes.length&&(n.Debugger.getInstance().output("Walktree Case 0.1"),t.childNodes.forEach((function(t){"empty"===t.type&&r.appendChild(h(t))}))),N(r);const o=t.contentNodes.map(R);B(t,o);const i=t.childNodes.map(h),s=l.SemanticSkeleton.combineContentChildren(t,o,i);if(r=t.mathmlTree,null===r)n.Debugger.getInstance().output("Walktree Case 1"),r=f(s,t);else{const t=A(s);n.Debugger.getInstance().output("Walktree Case 2"),t?(n.Debugger.getInstance().output("Walktree Case 2.1"),r=t.parentNode):(n.Debugger.getInstance().output("Walktree Case 2.2"),r=D(r))}return r=k(r),v(r,s,t),u.setAttributes(r,t),N(r)}function f(t,e){const r=x(t);let i=r.node;const s=r.type;if(s!==O.VALID||!c.hasEmptyTag(i))if(n.Debugger.getInstance().output("Walktree Case 1.1"),i=o.createElement("mrow"),s===O.PRUNED)n.Debugger.getInstance().output("Walktree Case 1.1.0"),i=d(i,r.node,t);else if(t[0]){n.Debugger.getInstance().output("Walktree Case 1.1.1");const e=A(t),r=y(e.parentNode,t);o.replaceNode(e,i),r.forEach((function(t){i.appendChild(t)}))}return e.mathmlTree||(e.mathmlTree=i),i}function d(t,e,r){let i=w(e);if(c.hasMathTag(i)){n.Debugger.getInstance().output("Walktree Case 1.1.0.0"),m(i,t),o.toArray(i.childNodes).forEach((function(e){t.appendChild(e)}));const e=t;t=i,i=e}const s=r.indexOf(e);return r[s]=i,o.replaceNode(i,t),t.appendChild(i),r.forEach((function(e){t.appendChild(e)})),t}function m(t,e){for(const r of u.EnrichAttributes)t.hasAttribute(r)&&(e.setAttribute(r,t.getAttribute(r)),t.removeAttribute(r))}function y(t,e){const r=o.toArray(t.childNodes);let n=1/0,i=-1/0;return e.forEach((function(t){const e=r.indexOf(t);-1!==e&&(n=Math.min(n,e),i=Math.max(i,e))})),r.slice(n,i+1)}function g(t,e,r){const n=[];let i=o.toArray(t.childNodes),s=!1;for(;i.length;){const t=i.shift();if(t.hasAttribute(u.Attribute.TYPE)){n.push(t);continue}const e=b(t);0!==e.length&&(1!==e.length?(s?t.setAttribute("AuxiliaryImplicit",!0):s=!0,i=e.concat(i)):n.push(t))}const a=[],l=r.childNodes.map((function(t){return t.mathmlTree}));for(;l.length;){const t=l.pop();if(t){if(-1!==n.indexOf(t))break;-1!==e.indexOf(t)&&a.unshift(t)}}return n.concat(a)}function b(t){const e=[];let r=o.toArray(t.childNodes);for(;r.length;){const t=r.shift();t.nodeType===o.NodeType.ELEMENT_NODE&&(t.hasAttribute(u.Attribute.TYPE)?e.push(t):r=o.toArray(t.childNodes).concat(r))}return e}function v(t,e,r){const n="implicit"===r.role&&a.flags.combine_juxtaposition?g(t,e,r):o.toArray(t.childNodes);if(!n.length)return void e.forEach((function(e){t.appendChild(e)}));let i=0;for(;e.length;){const r=e[0];n[i]===r||M(n[i],r)?(e.shift(),i++):n[i]&&-1===e.indexOf(n[i])?i++:(S(r,t)||_(t,n[i],r),e.shift())}}function _(t,e,r){if(!e)return void t.insertBefore(r,null);let n=e,o=P(n);for(;o&&o.firstChild===n&&!n.hasAttribute("AuxiliaryImplicit")&&o!==t;)n=o,o=P(n);o&&(o.insertBefore(r,n),n.removeAttribute("AuxiliaryImplicit"))}function S(t,e){if(!t)return!1;do{if((t=t.parentNode)===e)return!0}while(t);return!1}function M(t,e){const r=s.functionApplication();if(t&&e&&t.textContent&&e.textContent&&t.textContent===r&&e.textContent===r&&"true"===e.getAttribute(u.Attribute.ADDED)){for(let r,n=0;r=t.attributes[n];n++)e.hasAttribute(r.nodeName)||e.setAttribute(r.nodeName,r.nodeValue);return o.replaceNode(t,e),!0}return!1}var O;function x(t){const e=A(t);if(!e)return{type:O.INVALID,node:null};const r=A(t.slice().reverse());if(e===r)return{type:O.VALID,node:e};const n=C(e),o=E(n,t),i=C(r,(function(t){return-1!==o.indexOf(t)})),s=i[0],a=o.indexOf(s);return-1===a?{type:O.INVALID,node:null}:{type:o.length!==n.length?O.PRUNED:T(o[a+1],i[1])?O.VALID:O.INVALID,node:s}}function E(t,e){let r=0;for(;t[r]&&-1===e.indexOf(t[r]);)r++;return t.slice(0,r+1)}function A(t){let e=0,r=null;for(;!r&&e!1),n=[t];for(;!r(t)&&!c.hasMathTag(t)&&t.parentNode;)t=P(t),n.unshift(t);return n}function T(t,e){return!(!t||!e||t.previousSibling||e.nextSibling)}function N(t){for(;!c.hasMathTag(t)&&L(t);)t=P(t);return t}function w(t){const e=o.toArray(t.childNodes);if(!e)return t;const r=e.filter((function(t){return t.nodeType===o.NodeType.ELEMENT_NODE&&!c.hasIgnoreTag(t)}));return 1===r.length&&c.hasEmptyTag(r[0])&&!r[0].hasAttribute(u.Attribute.TYPE)?w(r[0]):t}function L(t){const e=P(t);return!(!e||!c.hasEmptyTag(e))&&o.toArray(e.childNodes).every((function(e){return e===t||I(e)}))}function I(t){if(t.nodeType!==o.NodeType.ELEMENT_NODE)return!0;if(!t||c.hasIgnoreTag(t))return!0;const e=o.toArray(t.childNodes);return!(!c.hasEmptyTag(t)&&e.length||c.hasDisplayTag(t)||t.hasAttribute(u.Attribute.TYPE)||c.isOrphanedGlyph(t))&&o.toArray(t.childNodes).every(I)}function P(t){return t.parentNode}function R(t){if(t.mathml.length)return h(t);const r=e.SETTINGS.implicit?j(t):o.createElement("mrow");return t.mathml=[r],r}function k(t){if("MFENCED"!==o.tagName(t))return t;const e=o.createElement("mrow");for(let r,n=0;r=t.attributes[n];n++)-1===["open","close","separators"].indexOf(r.name)&&e.setAttribute(r.name,r.value);return o.toArray(t.childNodes).forEach((function(t){e.appendChild(t)})),o.replaceNode(t,e),e}function j(t){const e=o.createElement("mo"),r=o.createTextNode(t.textContent);return e.appendChild(r),u.setAttributes(e,t),e.setAttribute(u.Attribute.ADDED,"true"),e}function B(t,e){const r=t.type+(t.textContent?","+t.textContent:"");e.forEach((function(t){D(t).setAttribute(u.Attribute.OPERATOR,r)}))}function D(t){const e=o.toArray(t.childNodes);if(!e)return t;const r=e.filter((function(t){return!I(t)})),n=[];for(let t,e=0;t=r[e];e++)if(c.hasEmptyTag(t)){const e=D(t);e&&e!==t&&n.push(e)}else n.push(t);return 1===n.length?n[0]:t}function F(t,e,r,n){const o=n||!1;H(t,"Original MathML",o),H(r,"Semantic Tree",o),H(e,"Semantically enriched MathML",o)}function H(t,e,r){const n=o.formatXml(t.toString());r?console.info(e+":\n```html\n"+u.removeAttributePrefix(n)+"\n```\n"):console.info(n)}e.SETTINGS={collapsed:!0,implicit:!0},e.enrich=function(t,e){const r=o.cloneNode(t);return h(e.root),i.default.getInstance().structure&&t.setAttribute(u.Attribute.STRUCTURE,l.SemanticSkeleton.fromStructure(t,e).toString()),n.Debugger.getInstance().generateOutput((function(){return F(r,t,e,!0),[]})),t},e.walkTree=h,e.introduceNewLayer=f,e.introduceLayerAboveLca=d,e.moveSemanticAttributes_=m,e.childrenSubset_=y,e.collateChildNodes_=g,e.collectChildNodes_=b,e.mergeChildren_=v,e.insertNewChild_=_,e.isDescendant_=S,e.functionApplication_=M,function(t){t.VALID="valid",t.INVALID="invalid",t.PRUNED="pruned"}(O=e.lcaType||(e.lcaType={})),e.mathmlLca_=x,e.prunePath_=E,e.attachedElement_=A,e.pathToRoot_=C,e.validLca_=T,e.ascendNewNode=N,e.descendNode_=w,e.unitChild_=L,e.isIgnorable_=I,e.parentNode_=P,e.addCollapsedAttribute=function(t,e){const r=new l.SemanticSkeleton(e);t.setAttribute(u.Attribute.COLLAPSED,r.toString())},e.cloneContentNode=R,e.rewriteMfenced=k,e.createInvisibleOperator_=j,e.setOperatorAttribute_=B,e.getInnerNode=D,e.formattedOutput=F,e.formattedOutput_=H,e.collapsePunctuated=function(t,e){const r=!!e,n=e||[],o=t.parent,i=t.contentNodes.map((function(t){return t.id}));i.unshift("c");const s=[t.id,i];for(let e,i=0;e=t.childNodes[i];i++){const t=h(e);n.push(t);const i=D(t);o&&!r&&i.setAttribute(u.Attribute.PARENT,o.id.toString()),s.push(e.id)}return s},e.printNodeList__=function(t,e){console.info(t),o.toArray(e).forEach((function(t){console.info(t.toString())})),console.info("<<<<<<<<<<<<<<<<<")}},5105:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractHighlighter=void 0;const n=r(5274),o=r(2298);class i{constructor(){this.color=null,this.mactionName="",this.currentHighlights=[]}highlight(t){this.currentHighlights.push(t.map((t=>{const e=this.highlightNode(t);return this.setHighlighted(t),e})))}highlightAll(t){const e=this.getMactionNodes(t);for(let t,r=0;t=e[r];r++)this.highlight([t])}unhighlight(){const t=this.currentHighlights.pop();t&&t.forEach((t=>{this.isHighlighted(t.node)&&(this.unhighlightNode(t),this.unsetHighlighted(t.node))}))}unhighlightAll(){for(;this.currentHighlights.length>0;)this.unhighlight()}setColor(t){this.color=t}colorString(){return this.color.rgba()}addEvents(t,e){const r=this.getMactionNodes(t);for(let t,n=0;t=r[n];n++)for(const r in e)t.addEventListener(r,e[r])}getMactionNodes(t){return Array.from(t.getElementsByClassName(this.mactionName))}isMactionNode(t){const e=t.className||t.getAttribute("class");return!!e&&!!e.match(new RegExp(this.mactionName))}isHighlighted(t){return t.hasAttribute(i.ATTR)}setHighlighted(t){t.setAttribute(i.ATTR,"true")}unsetHighlighted(t){t.removeAttribute(i.ATTR)}colorizeAll(t){n.evalXPath(`.//*[@${o.Attribute.ID}]`,t).forEach((t=>this.colorize(t)))}uncolorizeAll(t){n.evalXPath(`.//*[@${o.Attribute.ID}]`,t).forEach((t=>this.uncolorize(t)))}colorize(t){const e=(0,o.addPrefix)("foreground");t.hasAttribute(e)&&(t.setAttribute(e+"-old",t.style.color),t.style.color=t.getAttribute(e))}uncolorize(t){const e=(0,o.addPrefix)("foreground")+"-old";t.hasAttribute(e)&&(t.style.color=t.getAttribute(e))}}e.AbstractHighlighter=i,i.ATTR="sre-highlight"},6937:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.ChtmlHighlighter=void 0;const n=r(933);class o extends n.CssHighlighter{constructor(){super()}isMactionNode(t){return t.tagName.toUpperCase()===this.mactionName.toUpperCase()}getMactionNodes(t){return Array.from(t.getElementsByTagName(this.mactionName))}}e.ChtmlHighlighter=o},8396:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.ContrastPicker=e.ColorPicker=void 0;const r={red:{red:255,green:0,blue:0},green:{red:0,green:255,blue:0},blue:{red:0,green:0,blue:255},yellow:{red:255,green:255,blue:0},cyan:{red:0,green:255,blue:255},magenta:{red:255,green:0,blue:255},white:{red:255,green:255,blue:255},black:{red:0,green:0,blue:0}};function n(t,e){const n=t||{color:e};let o=Object.prototype.hasOwnProperty.call(n,"color")?r[n.color]:n;return o||(o=r[e]),o.alpha=Object.prototype.hasOwnProperty.call(n,"alpha")?n.alpha:1,function(t){const e=t=>(t=Math.max(t,0),t=Math.min(255,t),Math.round(t));return t.red=e(t.red),t.green=e(t.green),t.blue=e(t.blue),t.alpha=Math.max(t.alpha,0),t.alpha=Math.min(1,t.alpha),t}(o)}class o{constructor(t,e){this.foreground=n(e,o.DEFAULT_FOREGROUND_),this.background=n(t,o.DEFAULT_BACKGROUND_)}static toHex(t){const e=t.toString(16);return 1===e.length?"0"+e:e}rgba(){const t=function(t){return"rgba("+t.red+","+t.green+","+t.blue+","+t.alpha+")"};return{background:t(this.background),foreground:t(this.foreground)}}rgb(){const t=function(t){return"rgb("+t.red+","+t.green+","+t.blue+")"};return{background:t(this.background),alphaback:this.background.alpha.toString(),foreground:t(this.foreground),alphafore:this.foreground.alpha.toString()}}hex(){const t=function(t){return"#"+o.toHex(t.red)+o.toHex(t.green)+o.toHex(t.blue)};return{background:t(this.background),alphaback:this.background.alpha.toString(),foreground:t(this.foreground),alphafore:this.foreground.alpha.toString()}}}e.ColorPicker=o,o.DEFAULT_BACKGROUND_="blue",o.DEFAULT_FOREGROUND_="black";e.ContrastPicker=class{constructor(){this.hue=10,this.sat=100,this.light=50,this.incr=50}generate(){return e=function(t,e,r){e=e>1?e/100:e,r=r>1?r/100:r;const n=(1-Math.abs(2*r-1))*e,o=n*(1-Math.abs(t/60%2-1)),i=r-n/2;let s=0,a=0,l=0;return 0<=t&&t<60?[s,a,l]=[n,o,0]:60<=t&&t<120?[s,a,l]=[o,n,0]:120<=t&&t<180?[s,a,l]=[0,n,o]:180<=t&&t<240?[s,a,l]=[0,o,n]:240<=t&&t<300?[s,a,l]=[o,0,n]:300<=t&&t<360&&([s,a,l]=[n,0,o]),{red:s+i,green:a+i,blue:l+i}}(this.hue,this.sat,this.light),"rgb("+(t={red:Math.round(255*e.red),green:Math.round(255*e.green),blue:Math.round(255*e.blue)}).red+","+t.green+","+t.blue+")";var t,e}increment(){this.hue=(this.hue+this.incr)%360}}},933:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.CssHighlighter=void 0;const n=r(5105);class o extends n.AbstractHighlighter{constructor(){super(),this.mactionName="mjx-maction"}highlightNode(t){const e={node:t,background:t.style.backgroundColor,foreground:t.style.color},r=this.colorString();return t.style.backgroundColor=r.background,t.style.color=r.foreground,e}unhighlightNode(t){t.node.style.backgroundColor=t.background,t.node.style.color=t.foreground}}e.CssHighlighter=o},3090:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.highlighterMapping_=e.addEvents=e.highlighter=void 0;const n=r(6937),o=r(8396),i=r(933),s=r(2598),a=r(4500),l=r(7071),c=r(4346),u=r(2222);e.highlighter=function(t,r,n){const i=new o.ColorPicker(t,r),s="NativeMML"===n.renderer&&"Safari"===n.browser?"MML-CSS":"SVG"===n.renderer&&"v3"===n.browser?"SVG-V3":n.renderer,a=new(e.highlighterMapping_[s]||e.highlighterMapping_.NativeMML);return a.setColor(i),a},e.addEvents=function(t,r,n){const o=e.highlighterMapping_[n.renderer];o&&(new o).addEvents(t,r)},e.highlighterMapping_={SVG:c.SvgHighlighter,"SVG-V3":u.SvgV3Highlighter,NativeMML:l.MmlHighlighter,"HTML-CSS":s.HtmlHighlighter,"MML-CSS":a.MmlCssHighlighter,CommonHTML:i.CssHighlighter,CHTML:n.ChtmlHighlighter}},2598:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.HtmlHighlighter=void 0;const n=r(5740),o=r(5105);class i extends o.AbstractHighlighter{constructor(){super(),this.mactionName="maction"}highlightNode(t){const e={node:t,foreground:t.style.color,position:t.style.position},r=this.color.rgb();t.style.color=r.foreground,t.style.position="relative";const o=t.bbox;if(o&&o.w){const i=.05,s=0,a=n.createElement("span"),l=parseFloat(t.style.paddingLeft||"0");a.style.backgroundColor=r.background,a.style.opacity=r.alphaback.toString(),a.style.display="inline-block",a.style.height=o.h+o.d+2*i+"em",a.style.verticalAlign=-o.d+"em",a.style.marginTop=a.style.marginBottom=-i+"em",a.style.width=o.w+2*s+"em",a.style.marginLeft=l-s+"em",a.style.marginRight=-o.w-s-l+"em",t.parentNode.insertBefore(a,t),e.box=a}return e}unhighlightNode(t){const e=t.node;e.style.color=t.foreground,e.style.position=t.position,t.box&&t.box.parentNode.removeChild(t.box)}}e.HtmlHighlighter=i},4500:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.MmlCssHighlighter=void 0;const n=r(933);class o extends n.CssHighlighter{constructor(){super(),this.mactionName="maction"}getMactionNodes(t){return Array.from(t.getElementsByTagName(this.mactionName))}isMactionNode(t){return t.tagName===this.mactionName}}e.MmlCssHighlighter=o},7071:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.MmlHighlighter=void 0;const n=r(5105);class o extends n.AbstractHighlighter{constructor(){super(),this.mactionName="maction"}highlightNode(t){let e=t.getAttribute("style");return e+=";background-color: "+this.colorString().background,e+=";color: "+this.colorString().foreground,t.setAttribute("style",e),{node:t}}unhighlightNode(t){let e=t.node.getAttribute("style");e=e.replace(";background-color: "+this.colorString().background,""),e=e.replace(";color: "+this.colorString().foreground,""),t.node.setAttribute("style",e)}colorString(){return this.color.rgba()}getMactionNodes(t){return Array.from(t.getElementsByTagName(this.mactionName))}isMactionNode(t){return t.tagName===this.mactionName}}e.MmlHighlighter=o},4346:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.SvgHighlighter=void 0;const n=r(5740),o=r(5105);class i extends o.AbstractHighlighter{constructor(){super(),this.mactionName="mjx-svg-maction"}highlightNode(t){let e;if(this.isHighlighted(t))return e={node:t.previousSibling||t,background:t.style.backgroundColor,foreground:t.style.color},e;if("svg"===t.tagName){const e={node:t,background:t.style.backgroundColor,foreground:t.style.color};return t.style.backgroundColor=this.colorString().background,t.style.color=this.colorString().foreground,e}const r=n.createElementNS("http://www.w3.org/2000/svg","rect");let i;if("use"===t.nodeName){const e=n.createElementNS("http://www.w3.org/2000/svg","g");t.parentNode.insertBefore(e,t),e.appendChild(t),i=e.getBBox(),e.parentNode.replaceChild(t,e)}else i=t.getBBox();r.setAttribute("x",(i.x-40).toString()),r.setAttribute("y",(i.y-40).toString()),r.setAttribute("width",(i.width+80).toString()),r.setAttribute("height",(i.height+80).toString());const s=t.getAttribute("transform");return s&&r.setAttribute("transform",s),r.setAttribute("fill",this.colorString().background),r.setAttribute(o.AbstractHighlighter.ATTR,"true"),t.parentNode.insertBefore(r,t),e={node:r,foreground:t.getAttribute("fill")},t.setAttribute("fill",this.colorString().foreground),e}setHighlighted(t){"svg"===t.tagName&&super.setHighlighted(t)}unhighlightNode(t){if("background"in t)return t.node.style.backgroundColor=t.background,void(t.node.style.color=t.foreground);t.foreground?t.node.nextSibling.setAttribute("fill",t.foreground):t.node.nextSibling.removeAttribute("fill"),t.node.parentNode.removeChild(t.node)}isMactionNode(t){let e=t.className||t.getAttribute("class");return e=void 0!==e.baseVal?e.baseVal:e,!!e&&!!e.match(new RegExp(this.mactionName))}}e.SvgHighlighter=i},2222:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.SvgV3Highlighter=void 0;const n=r(5740),o=r(5274),i=r(5105),s=r(8396),a=r(4346);class l extends a.SvgHighlighter{constructor(){super(),this.mactionName="maction"}highlightNode(t){let e;if(this.isHighlighted(t))return e={node:t,background:this.colorString().background,foreground:this.colorString().foreground},e;if("svg"===t.tagName||"MJX-CONTAINER"===t.tagName)return e={node:t,background:t.style.backgroundColor,foreground:t.style.color},t.style.backgroundColor=this.colorString().background,t.style.color=this.colorString().foreground,e;const r=n.createElementNS("http://www.w3.org/2000/svg","rect");r.setAttribute("sre-highlighter-added","true");const o=t.getBBox();r.setAttribute("x",(o.x-40).toString()),r.setAttribute("y",(o.y-40).toString()),r.setAttribute("width",(o.width+80).toString()),r.setAttribute("height",(o.height+80).toString());const a=t.getAttribute("transform");if(a&&r.setAttribute("transform",a),r.setAttribute("fill",this.colorString().background),t.setAttribute(i.AbstractHighlighter.ATTR,"true"),t.parentNode.insertBefore(r,t),e={node:t,foreground:t.getAttribute("fill")},"rect"===t.nodeName){const e=new s.ColorPicker({alpha:0,color:"black"});t.setAttribute("fill",e.rgba().foreground)}else t.setAttribute("fill",this.colorString().foreground);return e}unhighlightNode(t){const e=t.node.previousSibling;if(e&&e.hasAttribute("sre-highlighter-added"))return t.foreground?t.node.setAttribute("fill",t.foreground):t.node.removeAttribute("fill"),void t.node.parentNode.removeChild(e);t.node.style.backgroundColor=t.background,t.node.style.color=t.foreground}isMactionNode(t){return t.getAttribute("data-mml-node")===this.mactionName}getMactionNodes(t){return Array.from(o.evalXPath(`.//*[@data-mml-node="${this.mactionName}"]`,t))}}e.SvgV3Highlighter=l},7222:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.StaticTrieNode=e.AbstractTrieNode=void 0;const n=r(2057),o=r(4391);class i{constructor(t,e){this.constraint=t,this.test=e,this.children_={},this.kind=o.TrieNodeKind.ROOT}getConstraint(){return this.constraint}getKind(){return this.kind}applyTest(t){return this.test(t)}addChild(t){const e=t.getConstraint(),r=this.children_[e];return this.children_[e]=t,r}getChild(t){return this.children_[t]}getChildren(){const t=[];for(const e in this.children_)t.push(this.children_[e]);return t}findChildren(t){const e=[];for(const r in this.children_){const n=this.children_[r];n.applyTest(t)&&e.push(n)}return e}removeChild(t){delete this.children_[t]}toString(){return this.constraint}}e.AbstractTrieNode=i;e.StaticTrieNode=class extends i{constructor(t,e){super(t,e),this.rule_=null,this.kind=o.TrieNodeKind.STATIC}getRule(){return this.rule_}setRule(t){this.rule_&&n.Debugger.getInstance().output("Replacing rule "+this.rule_+" with "+t),this.rule_=t}toString(){return this.getRule()?this.constraint+"\n==> "+this.getRule().action:this.constraint}}},4508:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Trie=void 0;const n=r(4391),o=r(9701);class i{constructor(){this.root=(0,o.getNode)(n.TrieNodeKind.ROOT,"",null)}static collectRules_(t){const e=[];let r=[t];for(;r.length;){const t=r.shift();if(t.getKind()===n.TrieNodeKind.QUERY||t.getKind()===n.TrieNodeKind.BOOLEAN){const r=t.getRule();r&&e.unshift(r)}r=r.concat(t.getChildren())}return e}static printWithDepth_(t,e,r){r+=new Array(e+2).join(e.toString())+": "+t.toString()+"\n";const n=t.getChildren();for(let t,o=0;t=n[o];o++)r=i.printWithDepth_(t,e+1,r);return r}static order_(t){const e=t.getChildren();if(!e.length)return 0;const r=Math.max.apply(null,e.map(i.order_));return Math.max(e.length,r)}addRule(t){let e=this.root;const r=t.context,o=t.dynamicCstr.getValues();for(let t=0,i=o.length;t{e.getKind()===n.TrieNodeKind.DYNAMIC&&-1===t.indexOf(e.getConstraint())||o.push(e)}))}r=o.slice()}for(;r.length;){const e=r.shift();if(e.getRule){const t=e.getRule();t&&o.push(t)}const n=e.findChildren(t);r=r.concat(n)}return o}hasSubtrie(t){let e=this.root;for(let r=0,n=t.length;r!0)),this.kind=c.TrieNodeKind.ROOT}}e.RootTrieNode=u;class p extends a.AbstractTrieNode{constructor(t){super(t,(e=>e===t)),this.kind=c.TrieNodeKind.DYNAMIC}}e.DynamicTrieNode=p;const h={"=":(t,e)=>t===e,"!=":(t,e)=>t!==e,"<":(t,e)=>t":(t,e)=>t>e,"<=":(t,e)=>t<=e,">=":(t,e)=>t>=e};function f(t){if(t.match(/^self::\*$/))return t=>!0;if(t.match(/^self::\w+$/)){const e=t.slice(6).toUpperCase();return t=>t.tagName&&n.tagName(t)===e}if(t.match(/^self::\w+:\w+$/)){const e=t.split(":"),r=o.resolveNameSpace(e[2]);if(!r)return null;const n=e[3].toUpperCase();return t=>t.localName&&t.localName.toUpperCase()===n&&t.namespaceURI===r}if(t.match(/^@\w+$/)){const e=t.slice(1);return t=>t.hasAttribute&&t.hasAttribute(e)}if(t.match(/^@\w+="[\w\d ]+"$/)){const e=t.split("="),r=e[0].slice(1),n=e[1].slice(1,-1);return t=>t.hasAttribute&&t.hasAttribute(r)&&t.getAttribute(r)===n}if(t.match(/^@\w+!="[\w\d ]+"$/)){const e=t.split("!="),r=e[0].slice(1),n=e[1].slice(1,-1);return t=>!t.hasAttribute||!t.hasAttribute(r)||t.getAttribute(r)!==n}if(t.match(/^contains\(\s*@grammar\s*,\s*"[\w\d ]+"\s*\)$/)){const e=t.split('"')[1];return t=>!!i.Grammar.getInstance().getParameter(e)}if(t.match(/^not\(\s*contains\(\s*@grammar\s*,\s*"[\w\d ]+"\s*\)\s*\)$/)){const e=t.split('"')[1];return t=>!i.Grammar.getInstance().getParameter(e)}if(t.match(/^name\(\.\.\/\.\.\)="\w+"$/)){const e=t.split('"')[1].toUpperCase();return t=>{var r,o;return(null===(o=null===(r=t.parentNode)||void 0===r?void 0:r.parentNode)||void 0===o?void 0:o.tagName)&&n.tagName(t.parentNode.parentNode)===e}}if(t.match(/^count\(preceding-sibling::\*\)=\d+$/)){const e=t.split("="),r=parseInt(e[1],10);return t=>{var e;return(null===(e=t.parentNode)||void 0===e?void 0:e.childNodes[r])===t}}if(t.match(/^.+\[@category!?=".+"\]$/)){let[,e,r,n]=t.match(/^(.+)\[@category(!?=)"(.+)"\]$/);const i=n.match(/^unit:(.+)$/);let a="";return i&&(n=i[1],a=":unit"),t=>{const i=o.evalXPath(e,t)[0];if(i){const t=s.lookupCategory(i.textContent+a);return"="===r?t===n:t!==n}return!1}}if(t.match(/^string-length\(.+\)\W+\d+/)){const[,e,r,n]=t.match(/^string-length\((.+)\)(\W+)(\d+)/),i=h[r]||h["="],s=parseInt(n,10);return t=>{const r=o.evalXPath(e,t)[0];return!!r&&i(Array.from(r.textContent).length,s)}}return null}e.constraintTest_=f;class d extends l.StaticTrieNode{constructor(t,e){super(t,f(t)),this.context=e,this.kind=c.TrieNodeKind.QUERY}applyTest(t){return this.test?this.test(t):this.context.applyQuery(t,this.constraint)===t}}e.QueryTrieNode=d;class m extends l.StaticTrieNode{constructor(t,e){super(t,f(t)),this.context=e,this.kind=c.TrieNodeKind.BOOLEAN}applyTest(t){return this.test?this.test(t):this.context.applyConstraint(t,this.constraint)}}e.BooleanTrieNode=m},7491:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.completeLocale=e.getLocale=e.setLocale=e.locales=void 0;const n=r(5897),o=r(1377),i=r(2105),s=r(4249),a=r(8657),l=r(173),c=r(9393),u=r(7978),p=r(5540),h=r(5218),f=r(3887),d=r(8384),m=r(7206),y=r(7734),g=r(7264),b=r(4356);function v(){const t=o.Variables.ensureLocale(n.default.getInstance().locale,n.default.getInstance().defaultLocale);return n.default.getInstance().locale=t,e.locales[t]()}e.locales={ca:s.ca,da:a.da,de:l.de,en:c.en,es:u.es,fr:p.fr,hi:h.hi,it:f.it,nb:d.nb,nn:y.nn,sv:g.sv,nemeth:m.nemeth},e.setLocale=function(){const t=v();if(function(t){const e=n.default.getInstance().subiso;-1===t.SUBISO.all.indexOf(e)&&(n.default.getInstance().subiso=t.SUBISO.default);t.SUBISO.current=n.default.getInstance().subiso}(t),t){for(const e of Object.getOwnPropertyNames(t))b.LOCALE[e]=t[e];for(const[e,r]of Object.entries(t.CORRECTIONS))i.Grammar.getInstance().setCorrection(e,r)}},e.getLocale=v,e.completeLocale=function(t){const r=e.locales[t.locale];if(!r)return void console.error("Locale "+t.locale+" does not exist!");const n=t.kind.toUpperCase(),o=t.messages;if(!o)return;const i=r();for(const[t,e]of Object.entries(o))i[n][t]=e}},4356:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.createLocale=e.LOCALE=void 0;const n=r(7549);function o(){return{FUNCTIONS:(0,n.FUNCTIONS)(),MESSAGES:(0,n.MESSAGES)(),ALPHABETS:(0,n.ALPHABETS)(),NUMBERS:(0,n.NUMBERS)(),COMBINERS:{},CORRECTIONS:{},SUBISO:(0,n.SUBISO)()}}e.LOCALE=o(),e.createLocale=o},2536:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.localeFontCombiner=e.extractString=e.localEnclose=e.localRole=e.localFont=e.combinePostfixIndex=e.nestingToString=void 0;const n=r(4356),o=r(4977);function i(t,e){return void 0===t?e:"string"==typeof t?t:t[0]}e.nestingToString=function(t){switch(t){case 1:return n.LOCALE.MESSAGES.MS.ONCE||"";case 2:return n.LOCALE.MESSAGES.MS.TWICE;default:return t.toString()}},e.combinePostfixIndex=function(t,e){return t===n.LOCALE.MESSAGES.MS.ROOTINDEX||t===n.LOCALE.MESSAGES.MS.INDEX?t:t+" "+e},e.localFont=function(t){return i(n.LOCALE.MESSAGES.font[t],t)},e.localRole=function(t){return i(n.LOCALE.MESSAGES.role[t],t)},e.localEnclose=function(t){return i(n.LOCALE.MESSAGES.enclose[t],t)},e.extractString=i,e.localeFontCombiner=function(t){return"string"==typeof t?{font:t,combiner:n.LOCALE.ALPHABETS.combiner}:{font:t[0],combiner:n.LOCALE.COMBINERS[t[1]]||o.Combiners[t[1]]||n.LOCALE.ALPHABETS.combiner}}},4249:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.ca=void 0;const n=r(4356),o=r(2536),i=r(614),s=r(4977),a=function(t,e,r){return t="sans serif "+(r?r+" "+t:t),e?t+" "+e:t};let l=null;e.ca=function(){return l||(l=function(){const t=(0,n.createLocale)();return t.NUMBERS=i.default,t.COMBINERS.sansserif=a,t.FUNCTIONS.fracNestDepth=t=>!1,t.FUNCTIONS.combineRootIndex=o.combinePostfixIndex,t.FUNCTIONS.combineNestedRadical=(t,e,r)=>t+r,t.FUNCTIONS.fontRegexp=t=>RegExp("^"+t+" "),t.FUNCTIONS.plural=t=>/.*os$/.test(t)?t+"sos":/.*s$/.test(t)?t+"os":/.*ga$/.test(t)?t.slice(0,-2)+"gues":/.*\xe7a$/.test(t)?t.slice(0,-2)+"ces":/.*ca$/.test(t)?t.slice(0,-2)+"ques":/.*ja$/.test(t)?t.slice(0,-2)+"ges":/.*qua$/.test(t)?t.slice(0,-3)+"q\xfces":/.*a$/.test(t)?t.slice(0,-1)+"es":/.*(e|i)$/.test(t)?t+"ns":/.*\xed$/.test(t)?t.slice(0,-1)+"ins":t+"s",t.FUNCTIONS.si=(t,e)=>(e.match(/^metre/)&&(t=t.replace(/a$/,"\xe0").replace(/o$/,"\xf2").replace(/i$/,"\xed")),t+e),t.ALPHABETS.combiner=s.Combiners.prefixCombiner,t}()),l}},8657:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.da=void 0;const n=r(4356),o=r(2536),i=r(3866),s=r(4977);let a=null;e.da=function(){return a||(a=function(){const t=(0,n.createLocale)();return t.NUMBERS=i.default,t.FUNCTIONS.radicalNestDepth=o.nestingToString,t.FUNCTIONS.fontRegexp=e=>e===t.ALPHABETS.capPrefix.default?RegExp("^"+e+" "):RegExp(" "+e+"$"),t.ALPHABETS.combiner=s.Combiners.postfixCombiner,t.ALPHABETS.digitTrans.default=i.default.numberToWords,t}()),a}},173:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.de=void 0;const n=r(2105),o=r(2536),i=r(4356),s=r(1435),a=function(t,e,r){return"s"===r&&(e=e.split(" ").map((function(t){return t.replace(/s$/,"")})).join(" "),r=""),t=r?r+" "+t:t,e?e+" "+t:t},l=function(t,e,r){return t=r&&"s"!==r?r+" "+t:t,e?t+" "+e:t};let c=null;e.de=function(){return c||(c=function(){const t=(0,i.createLocale)();return t.NUMBERS=s.default,t.COMBINERS.germanPostfix=l,t.ALPHABETS.combiner=a,t.FUNCTIONS.radicalNestDepth=e=>e>1?t.NUMBERS.numberToWords(e)+"fach":"",t.FUNCTIONS.combineRootIndex=(t,e)=>{const r=e?e+"wurzel":"";return t.replace("Wurzel",r)},t.FUNCTIONS.combineNestedRadical=(t,e,r)=>{const n=(e?e+" ":"")+(t=r.match(/exponent$/)?t+"r":t);return r.match(/ /)?r.replace(/ /," "+n+" "):n+" "+r},t.FUNCTIONS.fontRegexp=function(t){return t=t.split(" ").map((function(t){return t.replace(/s$/,"(|s)")})).join(" "),new RegExp("((^"+t+" )|( "+t+"$))")},t.CORRECTIONS.correctOne=t=>t.replace(/^eins$/,"ein"),t.CORRECTIONS.localFontNumber=t=>(0,o.localFont)(t).split(" ").map((function(t){return t.replace(/s$/,"")})).join(" "),t.CORRECTIONS.lowercase=t=>t.toLowerCase(),t.CORRECTIONS.article=t=>{const e=n.Grammar.getInstance().getParameter("case"),r=n.Grammar.getInstance().getParameter("plural");return"dative"===e?{der:"dem",die:r?"den":"der",das:"dem"}[t]:t},t.CORRECTIONS.masculine=t=>"dative"===n.Grammar.getInstance().getParameter("case")?t+"n":t,t}()),c}},9393:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.en=void 0;const n=r(2105),o=r(4356),i=r(2536),s=r(310),a=r(4977);let l=null;e.en=function(){return l||(l=function(){const t=(0,o.createLocale)();return t.NUMBERS=s.default,t.FUNCTIONS.radicalNestDepth=i.nestingToString,t.FUNCTIONS.plural=t=>/.*s$/.test(t)?t:t+"s",t.ALPHABETS.combiner=a.Combiners.prefixCombiner,t.ALPHABETS.digitTrans.default=s.default.numberToWords,t.CORRECTIONS.article=t=>n.Grammar.getInstance().getParameter("noArticle")?"":t,t}()),l}},7978:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.es=void 0;const n=r(4356),o=r(2536),i=r(4634),s=r(4977),a=function(t,e,r){return t="sans serif "+(r?r+" "+t:t),e?t+" "+e:t};let l=null;e.es=function(){return l||(l=function(){const t=(0,n.createLocale)();return t.NUMBERS=i.default,t.COMBINERS.sansserif=a,t.FUNCTIONS.fracNestDepth=t=>!1,t.FUNCTIONS.combineRootIndex=o.combinePostfixIndex,t.FUNCTIONS.combineNestedRadical=(t,e,r)=>t+r,t.FUNCTIONS.fontRegexp=t=>RegExp("^"+t+" "),t.FUNCTIONS.plural=t=>/.*(a|e|i|o|u)$/.test(t)?t+"s":/.*z$/.test(t)?t.slice(0,-1)+"ces":/.*c$/.test(t)?t.slice(0,-1)+"ques":/.*g$/.test(t)?t+"ues":/.*\u00f3n$/.test(t)?t.slice(0,-2)+"ones":t+"es",t.FUNCTIONS.si=(t,e)=>(e.match(/^metro/)&&(t=t.replace(/a$/,"\xe1").replace(/o$/,"\xf3").replace(/i$/,"\xed")),t+e),t.ALPHABETS.combiner=s.Combiners.prefixCombiner,t}()),l}},5540:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.fr=void 0;const n=r(2105),o=r(4356),i=r(2536),s=r(2350),a=r(4977);let l=null;e.fr=function(){return l||(l=function(){const t=(0,o.createLocale)();return t.NUMBERS=s.default,t.FUNCTIONS.radicalNestDepth=i.nestingToString,t.FUNCTIONS.combineRootIndex=i.combinePostfixIndex,t.FUNCTIONS.combineNestedFraction=(t,e,r)=>r.replace(/ $/g,"")+e+t,t.FUNCTIONS.combineNestedRadical=(t,e,r)=>r+" "+t,t.FUNCTIONS.fontRegexp=t=>RegExp(" (en |)"+t+"$"),t.FUNCTIONS.plural=t=>/.*s$/.test(t)?t:t+"s",t.CORRECTIONS.article=t=>n.Grammar.getInstance().getParameter("noArticle")?"":t,t.ALPHABETS.combiner=a.Combiners.romanceCombiner,t.SUBISO={default:"fr",current:"fr",all:["fr","be","ch"]},t}()),l}},5218:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.hi=void 0;const n=r(4356),o=r(4438),i=r(4977),s=r(2536);let a=null;e.hi=function(){return a||(a=function(){const t=(0,n.createLocale)();return t.NUMBERS=o.default,t.ALPHABETS.combiner=i.Combiners.prefixCombiner,t.FUNCTIONS.radicalNestDepth=s.nestingToString,t}()),a}},3887:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.it=void 0;const n=r(2536),o=r(4356),i=r(8825),s=r(4977),a=function(t,e,r){return t.match(/^[a-zA-Z]$/)&&(e=e.replace("cerchiato","cerchiata")),t=r?t+" "+r:t,e?t+" "+e:t};let l=null;e.it=function(){return l||(l=function(){const t=(0,o.createLocale)();return t.NUMBERS=i.default,t.COMBINERS.italianPostfix=a,t.FUNCTIONS.radicalNestDepth=n.nestingToString,t.FUNCTIONS.combineRootIndex=n.combinePostfixIndex,t.FUNCTIONS.combineNestedFraction=(t,e,r)=>r.replace(/ $/g,"")+e+t,t.FUNCTIONS.combineNestedRadical=(t,e,r)=>r+" "+t,t.FUNCTIONS.fontRegexp=t=>RegExp(" (en |)"+t+"$"),t.ALPHABETS.combiner=s.Combiners.romanceCombiner,t}()),l}},8384:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.nb=void 0;const n=r(4356),o=r(2536),i=r(8274),s=r(4977);let a=null;e.nb=function(){return a||(a=function(){const t=(0,n.createLocale)();return t.NUMBERS=i.default,t.ALPHABETS.combiner=s.Combiners.prefixCombiner,t.ALPHABETS.digitTrans.default=i.default.numberToWords,t.FUNCTIONS.radicalNestDepth=o.nestingToString,t}()),a}},7206:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.nemeth=void 0;const n=r(4356),o=r(3720),i=r(4977),s=function(t){return t.match(RegExp("^"+h.ALPHABETS.languagePrefix.english))?t.slice(1):t},a=function(t,e,r){return t=s(t),e?t+e:t},l=function(t,e,r){return e+s(t)},c=function(t,e,r){return e+(r||"")+(t=s(t))+"\u283b"},u=function(t,e,r){return e+(r||"")+(t=s(t))+"\u283b\u283b"},p=function(t,e,r){return e+(t=s(t))+"\u283e"};let h=null;e.nemeth=function(){return h||(h=function(){const t=(0,n.createLocale)();return t.NUMBERS=o.default,t.COMBINERS={postfixCombiner:a,germanCombiner:l,embellishCombiner:c,doubleEmbellishCombiner:u,parensCombiner:p},t.FUNCTIONS.fracNestDepth=t=>!1,t.FUNCTIONS.fontRegexp=t=>RegExp("^"+t),t.FUNCTIONS.si=i.identityTransformer,t.ALPHABETS.combiner=(t,e,r)=>e?e+r+t:s(t),t.ALPHABETS.digitTrans={default:o.default.numberToWords},t}()),h}},7734:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.nn=void 0;const n=r(4356),o=r(2536),i=r(8274),s=r(4977);let a=null;e.nn=function(){return a||(a=function(){const t=(0,n.createLocale)();return t.NUMBERS=i.default,t.ALPHABETS.combiner=s.Combiners.prefixCombiner,t.ALPHABETS.digitTrans.default=i.default.numberToWords,t.FUNCTIONS.radicalNestDepth=o.nestingToString,t.SUBISO={default:"",current:"",all:["","alt"]},t}()),a}},7264:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.sv=void 0;const n=r(4356),o=r(2536),i=r(3898),s=r(4977);let a=null;e.sv=function(){return a||(a=function(){const t=(0,n.createLocale)();return t.NUMBERS=i.default,t.FUNCTIONS.radicalNestDepth=o.nestingToString,t.FUNCTIONS.fontRegexp=function(t){return new RegExp("((^"+t+" )|( "+t+"$))")},t.ALPHABETS.combiner=s.Combiners.prefixCombiner,t.ALPHABETS.digitTrans.default=i.default.numberToWords,t.CORRECTIONS.correctOne=t=>t.replace(/^ett$/,"en"),t}()),a}},7549:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.SUBISO=e.FUNCTIONS=e.ALPHABETS=e.NUMBERS=e.MESSAGES=void 0;const n=r(4977);e.MESSAGES=function(){return{MS:{},MSroots:{},font:{},embellish:{},role:{},enclose:{},navigate:{},regexp:{},unitTimes:""}},e.NUMBERS=function(){return{zero:"zero",ones:[],tens:[],large:[],special:{},wordOrdinal:n.identityTransformer,numericOrdinal:n.identityTransformer,numberToWords:n.identityTransformer,numberToOrdinal:n.pluralCase,vulgarSep:" ",numSep:" "}},e.ALPHABETS=function(){return{latinSmall:[],latinCap:[],greekSmall:[],greekCap:[],capPrefix:{default:""},smallPrefix:{default:""},digitPrefix:{default:""},languagePrefix:{},digitTrans:{default:n.identityTransformer,mathspeak:n.identityTransformer,clearspeak:n.identityTransformer},letterTrans:{default:n.identityTransformer},combiner:(t,e,r)=>t}},e.FUNCTIONS=function(){return{fracNestDepth:t=>n.vulgarFractionSmall(t,10,100),radicalNestDepth:t=>"",combineRootIndex:function(t,e){return t},combineNestedFraction:n.Combiners.identityCombiner,combineNestedRadical:n.Combiners.identityCombiner,fontRegexp:function(t){return new RegExp("^"+t.split(/ |-/).join("( |-)")+"( |-)")},si:n.siCombiner,plural:n.identityTransformer}},e.SUBISO=function(){return{default:"",current:"",all:[]}}},614:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});const n=r(2105);function o(t){const e=t%1e3,r=Math.floor(e/100),n=r?1===r?"cent":a.ones[r]+"-cents":"",o=function(t){const e=t%100;if(e<20)return a.ones[e];const r=Math.floor(e/10),n=a.tens[r],o=a.ones[e%10];return n&&o?n+(2===r?"-i-":"-")+o:n||o}(e%100);return n&&o?n+a.numSep+o:n||o}function i(t){if(0===t)return a.zero;if(t>=Math.pow(10,36))return t.toString();let e=0,r="";for(;t>0;){const n=t%(e>1?1e6:1e3);if(n){let t=a.large[e];if(e)if(1===e)r=(1===n?"":o(n)+a.numSep)+t+(r?a.numSep+r:"");else{const e=i(n);t=1===n?t:t.replace(/\u00f3$/,"ons"),r=e+a.numSep+t+(r?a.numSep+r:"")}else r=o(n)}t=Math.floor(t/(e>1?1e6:1e3)),e++}return r}function s(t){const e=n.Grammar.getInstance().getParameter("gender");return t.toString()+("f"===e?"a":"n")}const a=(0,r(7549).NUMBERS)();a.numericOrdinal=s,a.numberToWords=i,a.numberToOrdinal=function(t,e){if(t>1999)return s(t);if(t<=10)return a.special.onesOrdinals[t-1];const r=i(t);return r.match(/mil$/)?r.replace(/mil$/,"mil\xb7l\xe8sima"):r.match(/u$/)?r.replace(/u$/,"vena"):r.match(/a$/)?r.replace(/a$/,"ena"):r+(r.match(/e$/)?"na":"ena")},e.default=a},3866:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});function n(t,e=!1){return t===a.ones[1]?e?"et":"en":t}function o(t,e=!1){let r=t%1e3,o="",i=a.ones[Math.floor(r/100)];if(o+=i?n(i,!0)+" hundrede":"",r%=100,r)if(o+=o?" og ":"",i=e?a.special.smallOrdinals[r]:a.ones[r],i)o+=i;else{const t=e?a.special.tensOrdinals[Math.floor(r/10)]:a.tens[Math.floor(r/10)];i=a.ones[r%10],o+=i?n(i)+"og"+t:t}return o}function i(t,e=!1){if(0===t)return a.zero;if(t>=Math.pow(10,36))return t.toString();let r=0,i="";for(;t>0;){const s=t%1e3;if(s){const t=o(s,e&&!r);if(r){const e=a.large[r],o=s>1?"er":"";i=n(t,r<=1)+" "+e+o+(i?" og ":"")+i}else i=n(t)+i}t=Math.floor(t/1e3),r++}return i}function s(t){if(t%100)return i(t,!0);const e=i(t);return e.match(/e$/)?e:e+"e"}const a=(0,r(7549).NUMBERS)();a.wordOrdinal=s,a.numericOrdinal=function(t){return t.toString()+"."},a.numberToWords=i,a.numberToOrdinal=function(t,e){return 1===t?e?"hel":"hele":2===t?e?"halv":"halve":s(t)+(e?"dele":"del")},e.default=a},1435:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});function n(t,e=!1){return t===a.ones[1]?e?"eine":"ein":t}function o(t){let e=t%1e3,r="",o=a.ones[Math.floor(e/100)];if(r+=o?n(o)+"hundert":"",e%=100,e)if(r+=r?a.numSep:"",o=a.ones[e],o)r+=o;else{const t=a.tens[Math.floor(e/10)];o=a.ones[e%10],r+=o?n(o)+"und"+t:t}return r}function i(t){if(0===t)return a.zero;if(t>=Math.pow(10,36))return t.toString();let e=0,r="";for(;t>0;){const i=t%1e3;if(i){const s=o(t%1e3);if(e){const t=a.large[e],o=e>1&&i>1?t.match(/e$/)?"n":"en":"";r=n(s,e>1)+t+o+r}else r=n(s,e>1)+r}t=Math.floor(t/1e3),e++}return r.replace(/ein$/,"eins")}function s(t){if(1===t)return"erste";if(3===t)return"dritte";if(7===t)return"siebte";if(8===t)return"achte";return i(t)+(t<19?"te":"ste")}const a=(0,r(7549).NUMBERS)();a.wordOrdinal=s,a.numericOrdinal=function(t){return t.toString()+"."},a.numberToWords=i,a.numberToOrdinal=function(t,e){return 1===t?"eintel":2===t?e?"halbe":"halb":s(t)+"l"},e.default=a},310:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});function n(t){let e=t%1e3,r="";return r+=s.ones[Math.floor(e/100)]?s.ones[Math.floor(e/100)]+s.numSep+"hundred":"",e%=100,e&&(r+=r?s.numSep:"",r+=s.ones[e]||s.tens[Math.floor(e/10)]+(e%10?s.numSep+s.ones[e%10]:"")),r}function o(t){if(0===t)return s.zero;if(t>=Math.pow(10,36))return t.toString();let e=0,r="";for(;t>0;){t%1e3&&(r=n(t%1e3)+(e?"-"+s.large[e]+"-":"")+r),t=Math.floor(t/1e3),e++}return r.replace(/-$/,"")}function i(t){let e=o(t);return e.match(/one$/)?e=e.slice(0,-3)+"first":e.match(/two$/)?e=e.slice(0,-3)+"second":e.match(/three$/)?e=e.slice(0,-5)+"third":e.match(/five$/)?e=e.slice(0,-4)+"fifth":e.match(/eight$/)?e=e.slice(0,-5)+"eighth":e.match(/nine$/)?e=e.slice(0,-4)+"ninth":e.match(/twelve$/)?e=e.slice(0,-6)+"twelfth":e.match(/ty$/)?e=e.slice(0,-2)+"tieth":e+="th",e}const s=(0,r(7549).NUMBERS)();s.wordOrdinal=i,s.numericOrdinal=function(t){const e=t%100,r=t.toString();if(e>10&&e<20)return r+"th";switch(t%10){case 1:return r+"st";case 2:return r+"nd";case 3:return r+"rd";default:return r+"th"}},s.numberToWords=o,s.numberToOrdinal=function(t,e){if(1===t)return e?"oneths":"oneth";if(2===t)return e?"halves":"half";const r=i(t);return e?r+"s":r},e.default=s},4634:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});const n=r(2105);function o(t){const e=t%1e3,r=Math.floor(e/100),n=i.special.hundreds[r],o=function(t){const e=t%100;if(e<30)return i.ones[e];const r=i.tens[Math.floor(e/10)],n=i.ones[e%10];return r&&n?r+" y "+n:r||n}(e%100);return 1===r?o?n+"to "+o:n:n&&o?n+" "+o:n||o}const i=(0,r(7549).NUMBERS)();i.numericOrdinal=function(t){const e=n.Grammar.getInstance().getParameter("gender");return t.toString()+("f"===e?"a":"o")},i.numberToWords=function(t){if(0===t)return i.zero;if(t>=Math.pow(10,36))return t.toString();let e=0,r="";for(;t>0;){const n=t%1e3;if(n){let t=i.large[e];const s=o(n);e?1===n?(t=t.match("/^mil( |$)/")?t:"un "+t,r=t+(r?" "+r:"")):(t=t.replace(/\u00f3n$/,"ones"),r=o(n)+" "+t+(r?" "+r:"")):r=s}t=Math.floor(t/1e3),e++}return r},i.numberToOrdinal=function(t,e){if(t>1999)return t.toString()+"a";if(t<=12)return i.special.onesOrdinals[t-1];const r=[];if(t>=1e3&&(t-=1e3,r.push("mil\xe9sima")),!t)return r.join(" ");let n=0;return n=Math.floor(t/100),n>0&&(r.push(i.special.hundredsOrdinals[n-1]),t%=100),t<=12?r.push(i.special.onesOrdinals[t-1]):(n=Math.floor(t/10),n>0&&(r.push(i.special.tensOrdinals[n-1]),t%=10),t>0&&r.push(i.special.onesOrdinals[t-1])),r.join(" ")},e.default=i},2350:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});const n=r(5897),o=r(2105),i=r(7549);function s(t){let e=t%1e3,r="";if(r+=u.ones[Math.floor(e/100)]?u.ones[Math.floor(e/100)]+"-cent":"",e%=100,e){r+=r?"-":"";let t=u.ones[e];if(t)r+=t;else{const n=u.tens[Math.floor(e/10)];n.match(/-dix$/)?(t=u.ones[e%10+10],r+=n.replace(/-dix$/,"")+"-"+t):r+=n+(e%10?"-"+u.ones[e%10]:"")}}const n=r.match(/s-\w+$/);return n?r.replace(/s-\w+$/,n[0].slice(1)):r.replace(/-un$/,"-et-un")}function a(t){if(0===t)return u.zero;if(t>=Math.pow(10,36))return t.toString();u.special["tens-"+n.default.getInstance().subiso]&&(u.tens=u.special["tens-"+n.default.getInstance().subiso]);let e=0,r="";for(;t>0;){const n=t%1e3;if(n){let t=u.large[e];const o=s(n);if(t&&t.match(/^mille /)){const n=t.replace(/^mille /,"");r=r.match(RegExp(n))?o+(e?"-mille-":"")+r:r.match(RegExp(n.replace(/s$/,"")))?o+(e?"-mille-":"")+r.replace(n.replace(/s$/,""),n):o+(e?"-"+t+"-":"")+r}else t=1===n&&t?t.replace(/s$/,""):t,r=o+(e?"-"+t+"-":"")+r}t=Math.floor(t/1e3),e++}return r.replace(/-$/,"")}const l={1:"uni\xe8me",2:"demi",3:"tiers",4:"quart"};function c(t){if(1===t)return"premi\xe8re";let e=a(t);return e.match(/^neuf$/)?e=e.slice(0,-1)+"v":e.match(/cinq$/)?e+="u":e.match(/trois$/)?e+="":(e.match(/e$/)||e.match(/s$/))&&(e=e.slice(0,-1)),e+="i\xe8me",e}const u=(0,i.NUMBERS)();u.wordOrdinal=c,u.numericOrdinal=function(t){const e=o.Grammar.getInstance().getParameter("gender");return 1===t?t.toString()+("m"===e?"er":"re"):t.toString()+"e"},u.numberToWords=a,u.numberToOrdinal=function(t,e){const r=l[t]||c(t);return 3===t?r:e?r+"s":r},e.default=u},4438:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});const n=r(2105);function o(t){if(0===t)return s.zero;if(t>=Math.pow(10,32))return t.toString();let e=0,r="";const n=function(t){let e=t%1e3,r="";return r+=s.ones[Math.floor(e/100)]?s.ones[Math.floor(e/100)]+s.numSep+s.special.hundred:"",e%=100,e&&(r+=r?s.numSep:"",r+=s.ones[e]),r}(t%1e3);if(!(t=Math.floor(t/1e3)))return n;for(;t>0;){const n=t%100;n&&(r=s.ones[n]+s.numSep+s.large[e]+(r?s.numSep+r:"")),t=Math.floor(t/100),e++}return n?r+s.numSep+n:r}function i(t){const e=n.Grammar.getInstance().getParameter("gender");if(t<=0)return t.toString();if(t<10)return"f"===e?s.special.ordinalsFeminine[t]:s.special.ordinalsMasculine[t];return o(t)+("f"===e?"\u0935\u0940\u0902":"\u0935\u093e\u0901")}const s=(0,r(7549).NUMBERS)();s.wordOrdinal=i,s.numericOrdinal=function(t){const e=n.Grammar.getInstance().getParameter("gender");return t>0&&t<10?"f"===e?s.special.simpleSmallOrdinalsFeminine[t]:s.special.simpleSmallOrdinalsMasculine[t]:t.toString().split("").map((function(t){const e=parseInt(t,10);return isNaN(e)?"":s.special.simpleNumbers[e]})).join("")+("f"===e?"\u0935\u0940\u0902":"\u0935\u093e\u0901")},s.numberToWords=o,s.numberToOrdinal=function(t,e){return t<=10?s.special.smallDenominators[t]:i(t)+" \u0905\u0902\u0936"},e.default=s},8825:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});const n=r(2105);function o(t){let e=t%1e3,r="";if(r+=a.ones[Math.floor(e/100)]?a.ones[Math.floor(e/100)]+a.numSep+"cento":"",e%=100,e){r+=r?a.numSep:"";const t=a.ones[e];if(t)r+=t;else{let t=a.tens[Math.floor(e/10)];const n=e%10;1!==n&&8!==n||(t=t.slice(0,-1)),r+=t,r+=n?a.numSep+a.ones[e%10]:""}}return r}function i(t){if(0===t)return a.zero;if(t>=Math.pow(10,36))return t.toString();if(1===t&&n.Grammar.getInstance().getParameter("fraction"))return"un";let e=0,r="";for(;t>0;){t%1e3&&(r=o(t%1e3)+(e?"-"+a.large[e]+"-":"")+r),t=Math.floor(t/1e3),e++}return r.replace(/-$/,"")}function s(t){const e="m"===n.Grammar.getInstance().getParameter("gender")?"o":"a";let r=a.special.onesOrdinals[t];return r?r.slice(0,-1)+e:(r=i(t),r.slice(0,-1)+"esim"+e)}const a=(0,r(7549).NUMBERS)();a.wordOrdinal=s,a.numericOrdinal=function(t){const e=n.Grammar.getInstance().getParameter("gender");return t.toString()+("m"===e?"o":"a")},a.numberToWords=i,a.numberToOrdinal=function(t,e){if(2===t)return e?"mezzi":"mezzo";const r=s(t);if(!e)return r;const n=r.match(/o$/)?"i":"e";return r.slice(0,-1)+n},e.default=a},3720:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});function n(t){return t.toString().split("").map((function(t){return o.ones[parseInt(t,10)]})).join("")}const o=(0,r(7549).NUMBERS)();o.numberToWords=n,o.numberToOrdinal=n,e.default=o},8274:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});const n=r(5897);function o(t,e=!1){let r=t%1e3,n="";const o=Math.floor(r/100),s=a.ones[o];if(n+=s?(1===o?"":s)+"hundre":"",r%=100,r){if(n+=n?"og":"",e){const t=a.special.smallOrdinals[r];if(t)return n+t;if(r%10)return n+a.tens[Math.floor(r/10)]+a.special.smallOrdinals[r%10]}n+=a.ones[r]||a.tens[Math.floor(r/10)]+(r%10?a.ones[r%10]:"")}return e?i(n):n}function i(t){const e=a.special.endOrdinal[0];return"a"===e&&t.match(/en$/)?t.slice(0,-2)+a.special.endOrdinal:t.match(/(d|n)$/)||t.match(/hundre$/)?t+"de":t.match(/i$/)?t+a.special.endOrdinal:"a"===e&&t.match(/e$/)?t.slice(0,-1)+a.special.endOrdinal:(t.match(/e$/),t+"nde")}function s(t){return u(t,!0)}const a=(0,r(7549).NUMBERS)();function l(t,e=!1){return t===a.ones[1]?"ein"===t?"eitt ":e?"et":"ett":t}function c(t,e=!1){let r=t%1e3,n="",o=a.ones[Math.floor(r/100)];if(n+=o?l(o)+"hundre":"",r%=100,r){if(n+=n?"og":"",e){const t=a.special.smallOrdinals[r];if(t)return n+t}if(o=a.ones[r],o)n+=o;else{const t=a.tens[Math.floor(r/10)];o=a.ones[r%10],n+=o?o+"og"+t:t}}return e?i(n):n}function u(t,e=!1){const r="alt"===n.default.getInstance().subiso?function(t,e=!1){if(0===t)return e?a.special.smallOrdinals[0]:a.zero;if(t>=Math.pow(10,36))return t.toString();let r=0,n="";for(;t>0;){const o=t%1e3;if(o){const i=c(t%1e3,!r&&e);!r&&e&&(e=!e),n=(1===r?l(i,!0):i)+(r>1?a.numSep:"")+(r?a.large[r]+(r>1&&o>1?"er":""):"")+(r>1&&n?a.numSep:"")+n}t=Math.floor(t/1e3),r++}return e?n+(n.match(/tusen$/)?"de":"te"):n}(t,e):function(t,e=!1){if(0===t)return e?a.special.smallOrdinals[0]:a.zero;if(t>=Math.pow(10,36))return t.toString();let r=0,n="";for(;t>0;){const i=t%1e3;if(i){const s=o(t%1e3,!r&&e);!r&&e&&(e=!e),n=s+(r?" "+a.large[r]+(r>1&&i>1?"er":"")+(n?" ":""):"")+n}t=Math.floor(t/1e3),r++}return e?n+(n.match(/tusen$/)?"de":"te"):n}(t,e);return r}a.wordOrdinal=s,a.numericOrdinal=function(t){return t.toString()+"."},a.numberToWords=u,a.numberToOrdinal=function(t,e){return s(t)},e.default=a},3898:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});function n(t){let e=t%1e3,r="";const n=Math.floor(e/100);return r+=s.ones[n]?(1===n?"":s.ones[n]+s.numSep)+"hundra":"",e%=100,e&&(r+=r?s.numSep:"",r+=s.ones[e]||s.tens[Math.floor(e/10)]+(e%10?s.numSep+s.ones[e%10]:"")),r}function o(t,e=!1){if(0===t)return s.zero;if(t>=Math.pow(10,36))return t.toString();let r=0,o="";for(;t>0;){const i=t%1e3;if(i){const a=s.large[r],l=i>1&&r>1&&!e?"er":"";o=(1===r&&1===i?"":(r>1&&1===i?"en":n(t%1e3))+(r>1?" ":""))+(r?a+l+(r>1?" ":""):"")+o}t=Math.floor(t/1e3),r++}return o.replace(/ $/,"")}function i(t){let e=o(t,!0);return e.match(/^noll$/)?e="nollte":e.match(/ett$/)?e=e.replace(/ett$/,"f\xf6rsta"):e.match(/tv\xe5$/)?e=e.replace(/tv\xe5$/,"andra"):e.match(/tre$/)?e=e.replace(/tre$/,"tredje"):e.match(/fyra$/)?e=e.replace(/fyra$/,"fj\xe4rde"):e.match(/fem$/)?e=e.replace(/fem$/,"femte"):e.match(/sex$/)?e=e.replace(/sex$/,"sj\xe4tte"):e.match(/sju$/)?e=e.replace(/sju$/,"sjunde"):e.match(/\xe5tta$/)?e=e.replace(/\xe5tta$/,"\xe5ttonde"):e.match(/nio$/)?e=e.replace(/nio$/,"nionde"):e.match(/tio$/)?e=e.replace(/tio$/,"tionde"):e.match(/elva$/)?e=e.replace(/elva$/,"elfte"):e.match(/tolv$/)?e=e.replace(/tolv$/,"tolfte"):e.match(/tusen$/)?e=e.replace(/tusen$/,"tusonde"):e.match(/jard$/)||e.match(/jon$/)?e+="te":e+="de",e}const s=(0,r(7549).NUMBERS)();s.wordOrdinal=i,s.numericOrdinal=function(t){const e=t.toString();return e.match(/11$|12$/)?e+":e":e+(e.match(/1$|2$/)?":a":":e")},s.numberToWords=o,s.numberToOrdinal=function(t,e){if(1===t)return"hel";if(2===t)return e?"halva":"halv";let r=i(t);return r=r.match(/de$/)?r.replace(/de$/,""):r,r+(e?"delar":"del")},e.default=s},4977:function(t,e){function r(t,e=""){if(!t.childNodes||!t.childNodes[0]||!t.childNodes[0].childNodes||t.childNodes[0].childNodes.length<2||"number"!==t.childNodes[0].childNodes[0].tagName||"integer"!==t.childNodes[0].childNodes[0].getAttribute("role")||"number"!==t.childNodes[0].childNodes[1].tagName||"integer"!==t.childNodes[0].childNodes[1].getAttribute("role"))return{convertible:!1,content:t.textContent};const r=t.childNodes[0].childNodes[1].textContent,n=t.childNodes[0].childNodes[0].textContent,o=Number(r),i=Number(n);return isNaN(o)||isNaN(i)?{convertible:!1,content:`${n} ${e} ${r}`}:{convertible:!0,enumerator:i,denominator:o}}Object.defineProperty(e,"__esModule",{value:!0}),e.vulgarFractionSmall=e.convertVulgarFraction=e.Combiners=e.siCombiner=e.identityTransformer=e.pluralCase=void 0,e.pluralCase=function(t,e){return t.toString()},e.identityTransformer=function(t){return t.toString()},e.siCombiner=function(t,e){return t+e.toLowerCase()},e.Combiners={},e.Combiners.identityCombiner=function(t,e,r){return t+e+r},e.Combiners.prefixCombiner=function(t,e,r){return t=r?r+" "+t:t,e?e+" "+t:t},e.Combiners.postfixCombiner=function(t,e,r){return t=r?r+" "+t:t,e?t+" "+e:t},e.Combiners.romanceCombiner=function(t,e,r){return t=r?t+" "+r:t,e?t+" "+e:t},e.convertVulgarFraction=r,e.vulgarFractionSmall=function(t,e,n){const o=r(t);if(o.convertible){const t=o.enumerator,r=o.denominator;return t>0&&t0&&r{const s=this.parseCstr(e.toString().replace(o,""));this.addRule(new i.SpeechRule(t,s,n,r))}))}getFullPreconditions(t){const e=this.preconditions.get(t);return e||!this.inherits?e:this.inherits.getFullPreconditions(t)}definePrecondition(t,e,r,...n){const o=this.parsePrecondition(r,n),i=this.parseCstr(e);o&&i?(o.rank=this.rank++,this.preconditions.set(t,new l(i,o))):console.error(`Precondition Error: ${r}, (${e})`)}inheritRules(){if(!this.inherits||!this.inherits.getSpeechRules().length)return;const t=new RegExp("^\\w+\\.\\w+\\."+(this.domain?"\\w+\\.":""));this.inherits.getSpeechRules().forEach((e=>{const r=this.parseCstr(e.dynamicCstr.toString().replace(t,""));this.addRule(new i.SpeechRule(e.name,r,e.precondition,e.action))}))}ignoreRules(t,...e){let r=this.findAllRules((e=>e.name===t));if(!e.length)return void r.forEach(this.deleteRule.bind(this));let n=[];for(const t of e){const e=this.parseCstr(t);for(const t of r)e.equal(t.dynamicCstr)?this.deleteRule(t):n.push(t);r=n,n=[]}}parsePrecondition_(t){const e=this.context.customGenerators.lookup(t);return e?e():[t]}}e.BaseRuleStore=a;class l{constructor(t,e){this.base=t,this._conditions=[],this.constraints=[],this.allCstr={},this.constraints.push(t),this.addCondition(t,e)}get conditions(){return this._conditions}addConstraint(t){if(this.constraints.filter((e=>e.equal(t))).length)return;this.constraints.push(t);const e=[];for(const[r,n]of this.conditions)this.base.equal(r)&&e.push([t,n]);this._conditions=this._conditions.concat(e)}addBaseCondition(t){this.addCondition(this.base,t)}addFullCondition(t){this.constraints.forEach((e=>this.addCondition(e,t)))}addCondition(t,e){const r=t.toString()+" "+e.toString();this.allCstr.condStr||(this.allCstr[r]=!0,this._conditions.push([t,e]))}}e.Condition=l},2469:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.BrailleStore=void 0;const n=r(7630),o=r(9935);class i extends o.MathStore{constructor(){super(...arguments),this.modality="braille",this.customTranscriptions={"\u22ca":"\u2808\u2821\u2833"}}evaluateString(t){const e=[],r=Array.from(t);for(let t=0;tt.push(this.getProperty(e).slice()))),t}toString(){const t=[];return this.order.forEach((e=>t.push(e+": "+this.getProperty(e).toString()))),t.join("\n")}}e.DynamicProperties=n;class o extends n{constructor(t,e){const r={};for(const[e,n]of Object.entries(t))r[e]=[n];super(r,e),this.components=t}static createCstr(...t){const e=o.DEFAULT_ORDER,r={};for(let n=0,o=t.length,i=e.length;n{const r=e.indexOf(t);return-1!==r&&e.splice(r,1)}))}getComponents(){return this.components}getValue(t){return this.components[t]}getValues(){return this.order.map((t=>this.getValue(t)))}allProperties(){const t=super.allProperties();for(let e,r,n=0;e=t[n],r=this.order[n];n++){const t=this.getValue(r);-1===e.indexOf(t)&&e.unshift(t)}return t}toString(){return this.getValues().join(".")}equal(t){const e=t.getAxes();if(this.order.length!==e.length)return!1;for(let r,n=0;r=e[n];n++){const e=this.getValue(r);if(!e||t.getValue(r)!==e)return!1}return!0}}e.DynamicCstr=o,o.DEFAULT_ORDER=[r.LOCALE,r.MODALITY,r.DOMAIN,r.STYLE,r.TOPIC],o.BASE_LOCALE="base",o.DEFAULT_VALUE="default",o.DEFAULT_VALUES={[r.LOCALE]:"en",[r.DOMAIN]:o.DEFAULT_VALUE,[r.STYLE]:o.DEFAULT_VALUE,[r.TOPIC]:o.DEFAULT_VALUE,[r.MODALITY]:"speech"};e.DynamicCstrParser=class{constructor(t){this.order=t}parse(t){const e=t.split("."),r={};if(e.length>this.order.length)throw new Error("Invalid dynamic constraint: "+r);let n=0;for(let t,o=0;t=this.order[o],e.length;o++,n++){const n=e.shift();r[t]=n}return new o(r,this.order.slice(0,n))}};e.DefaultComparator=class{constructor(t,e=new n(t.getProperties(),t.getOrder())){this.reference=t,this.fallback=e,this.order=this.reference.getOrder()}getReference(){return this.reference}setReference(t,e){this.reference=t,this.fallback=e||new n(t.getProperties(),t.getOrder()),this.order=this.reference.getOrder()}match(t){const e=t.getAxes();return e.length===this.reference.getAxes().length&&e.every((e=>{const r=t.getValue(e);return r===this.reference.getValue(e)||-1!==this.fallback.getProperty(e).indexOf(r)}))}compare(t,e){let r=!1;for(let n,o=0;n=this.order[o];o++){const o=t.getValue(n),i=e.getValue(n);if(!r){const t=this.reference.getValue(n);if(t===o&&t!==i)return-1;if(t===i&&t!==o)return 1;if(t===o&&t===i)continue;t!==o&&t!==i&&(r=!0)}const s=this.fallback.getProperty(n),a=s.indexOf(o),l=s.indexOf(i);if(a!h.equal(t.cstr))),l.push(m),this.rules.set(e,l),f.setReference(d)}lookupRule(t,e){let r=this.getRules(e.getValue(o.Axis.LOCALE));return r=r.filter((function(t){return i.testDynamicConstraints_(e,t)})),1===r.length?r[0]:r.length?r.sort(((t,e)=>n.default.getInstance().comparator.compare(t.cstr,e.cstr)))[0]:null}}e.MathSimpleStore=i},9935:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.MathStore=void 0;const n=r(707),o=r(4356),i=r(7630),s=r(4504),a=r(4650);class l extends s.BaseRuleStore{constructor(){super(),this.annotators=[],this.parseMethods.Alias=this.defineAlias,this.parseMethods.SpecializedRule=this.defineSpecializedRule,this.parseMethods.Specialized=this.defineSpecialized}initialize(){this.initialized||(this.annotations(),this.initialized=!0)}annotations(){for(let t,e=0;t=this.annotators[e];e++)(0,i.activate)(this.domain,t)}defineAlias(t,e,...r){const n=this.parsePrecondition(e,r);if(!n)return void console.error(`Precondition Error: ${e} ${r}`);const o=this.preconditions.get(t);o?o.addFullCondition(n):console.error(`Alias Error: No precondition by the name of ${t}`)}defineRulesAlias(t,e,...r){const n=this.findAllRules((function(e){return e.name===t}));if(0===n.length)throw new a.OutputError("Rule with name "+t+" does not exist.");const o=[];n.forEach((t=>{(t=>{const e=t.dynamicCstr.toString(),r=t.action.toString();for(let t,n=0;t=o[n];n++)if(t.action===r&&t.cstr===e)return!1;return o.push({cstr:e,action:r}),!0})(t)&&this.addAlias_(t,e,r)}))}defineSpecializedRule(t,e,r,n){const o=this.parseCstr(e),i=this.findRule((e=>e.name===t&&o.equal(e.dynamicCstr))),s=this.parseCstr(r);if(!i&&n)throw new a.OutputError("Rule named "+t+" with style "+e+" does not exist.");const l=n?a.Action.fromString(n):i.action,c=new a.SpeechRule(i.name,s,i.precondition,l);this.addRule(c)}defineSpecialized(t,e,r){const n=this.parseCstr(r);if(!n)return void console.error(`Dynamic Constraint Error: ${r}`);const o=this.preconditions.get(t);o?o.addConstraint(n):console.error(`Alias Error: No precondition by the name of ${t}`)}evaluateString(t){const e=[];if(t.match(/^\s+$/))return e;let r=this.matchNumber_(t);if(r&&r.length===t.length)return e.push(this.evaluateCharacter(r.number)),e;const i=n.removeEmpty(t.replace(/\s/g," ").split(" "));for(let t,n=0;t=i[n];n++)if(1===t.length)e.push(this.evaluateCharacter(t));else if(t.match(new RegExp("^["+o.LOCALE.MESSAGES.regexp.TEXT+"]+$")))e.push(this.evaluateCharacter(t));else{let n=t;for(;n;){r=this.matchNumber_(n);const t=n.match(new RegExp("^["+o.LOCALE.MESSAGES.regexp.TEXT+"]+"));if(r)e.push(this.evaluateCharacter(r.number)),n=n.substring(r.length);else if(t)e.push(this.evaluateCharacter(t[0])),n=n.substring(t[0].length);else{const t=Array.from(n),r=t[0];e.push(this.evaluateCharacter(r)),n=t.slice(1).join("")}}}return e}parse(t){super.parse(t),this.annotators=t.annotators||[]}addAlias_(t,e,r){const n=this.parsePrecondition(e,r),o=new a.SpeechRule(t.name,t.dynamicCstr,n,t.action);o.name=t.name,this.addRule(o)}matchNumber_(t){const e=t.match(new RegExp("^"+o.LOCALE.MESSAGES.regexp.NUMBER)),r=t.match(new RegExp("^"+l.regexp.NUMBER));if(!e&&!r)return null;const n=r&&r[0]===t;if(e&&e[0]===t||!n)return e?{number:e[0],length:e[0].length}:null;return{number:r[0].replace(new RegExp(l.regexp.DIGIT_GROUP,"g"),"X").replace(new RegExp(l.regexp.DECIMAL_MARK,"g"),o.LOCALE.MESSAGES.regexp.DECIMAL_MARK).replace(/X/g,o.LOCALE.MESSAGES.regexp.DIGIT_GROUP.replace(/\\/g,"")),length:r[0].length}}}e.MathStore=l,l.regexp={NUMBER:"((\\d{1,3})(?=(,| ))((,| )\\d{3})*(\\.\\d+)?)|^\\d*\\.\\d+|^\\d+",DECIMAL_MARK:"\\.",DIGIT_GROUP:","}},4650:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.OutputError=e.Precondition=e.Action=e.Component=e.ActionType=e.SpeechRule=void 0;const n=r(5897),o=r(2105);var i;function s(t){switch(t){case"[n]":return i.NODE;case"[m]":return i.MULTI;case"[t]":return i.TEXT;case"[p]":return i.PERSONALITY;default:throw"Parse error: "+t}}e.SpeechRule=class{constructor(t,e,r,n){this.name=t,this.dynamicCstr=e,this.precondition=r,this.action=n,this.context=null}toString(){return this.name+" | "+this.dynamicCstr.toString()+" | "+this.precondition.toString()+" ==> "+this.action.toString()}},function(t){t.NODE="NODE",t.MULTI="MULTI",t.TEXT="TEXT",t.PERSONALITY="PERSONALITY"}(i=e.ActionType||(e.ActionType={}));class a{constructor({type:t,content:e,attributes:r,grammar:n}){this.type=t,this.content=e,this.attributes=r,this.grammar=n}static grammarFromString(t){return o.Grammar.parseInput(t)}static fromString(t){const e={type:s(t.substring(0,3))};let r=t.slice(3).trim();if(!r)throw new u("Missing content.");switch(e.type){case i.TEXT:if('"'===r[0]){const t=p(r,"\\(")[0].trim();if('"'!==t.slice(-1))throw new u("Invalid string syntax.");e.content=t,r=r.slice(t.length).trim(),-1===r.indexOf("(")&&(r="");break}case i.NODE:case i.MULTI:{const t=r.indexOf(" (");if(-1===t){e.content=r.trim(),r="";break}e.content=r.substring(0,t).trim(),r=r.slice(t).trim()}}if(r){const t=a.attributesFromString(r);t.grammar&&(e.grammar=t.grammar,delete t.grammar),Object.keys(t).length&&(e.attributes=t)}return new a(e)}static attributesFromString(t){if("("!==t[0]||")"!==t.slice(-1))throw new u("Invalid attribute expression: "+t);const e={},r=p(t.slice(1,-1),",");for(let t=0,n=r.length;t0?"("+t.join(", ")+")":""}getAttributes(){const t=[];for(const e in this.attributes){const r=this.attributes[e];"true"===r?t.push(e):t.push(e+":"+r)}return t}}e.Component=a;class l{constructor(t){this.components=t}static fromString(t){const e=p(t,";").filter((function(t){return t.match(/\S/)})).map((function(t){return t.trim()})),r=[];for(let t=0,n=e.length;t0?r[0]:null}applyConstraint(t,e){return!!this.applyQuery(t,e)||n.evaluateBoolean(e,t)}constructString(t,e){if(!e)return"";if('"'===e.charAt(0))return e.slice(1,-1);const r=this.customStrings.lookup(e);return r?r(t):n.evaluateString(e,t)}parse(t){const e=Array.isArray(t)?t:Object.entries(t);for(let t,r=0;t=e[r];r++){switch(t[0].slice(0,3)){case"CQF":this.customQueries.add(t[0],t[1]);break;case"CSF":this.customStrings.add(t[0],t[1]);break;case"CTF":this.contextFunctions.add(t[0],t[1]);break;case"CGF":this.customGenerators.add(t[0],t[1]);break;default:console.error("FunctionError: Invalid function name "+t[0])}}}}},2362:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.storeFactory=e.SpeechRuleEngine=void 0;const n=r(7052),o=r(2057),i=r(5740),s=r(5897),a=r(4440),l=r(5274),c=r(7283),u=r(7599),p=r(2469),h=r(1676),f=r(2105),d=r(9935),m=r(4650),y=r(4508);class g{constructor(){this.trie=null,this.evaluators_={},this.trie=new y.Trie}static getInstance(){return g.instance=g.instance||new g,g.instance}static debugSpeechRule(t,e){const r=t.precondition,n=t.context.applyQuery(e,r.query);o.Debugger.getInstance().output(r.query,n?n.toString():n),r.constraints.forEach((r=>o.Debugger.getInstance().output(r,t.context.applyConstraint(e,r))))}static debugNamedSpeechRule(t,e){const r=g.getInstance().trie.collectRules().filter((e=>e.name==t));for(let n,i=0;n=r[i];i++)o.Debugger.getInstance().output("Rule",t,"DynamicCstr:",n.dynamicCstr.toString(),"number",i),g.debugSpeechRule(n,e)}evaluateNode(t){(0,l.updateEvaluator)(t);const e=(new Date).getTime();let r=[];try{r=this.evaluateNode_(t)}catch(t){console.error("Something went wrong computing speech."),o.Debugger.getInstance().output(t)}const n=(new Date).getTime();return o.Debugger.getInstance().output("Time:",n-e),r}toString(){return this.trie.collectRules().map((t=>t.toString())).join("\n")}runInSetting(t,e){const r=s.default.getInstance(),n={};for(const e in t)n[e]=r[e],r[e]=t[e];r.setDynamicCstr();const o=e();for(const t in n)r[t]=n[t];return r.setDynamicCstr(),o}addStore(t){const e=v(t);"abstract"!==e.kind&&e.getSpeechRules().forEach((t=>this.trie.addRule(t))),this.addEvaluator(e)}processGrammar(t,e,r){const n={};for(const o in r){const i=r[o];n[o]="string"==typeof i?t.constructString(e,i):i}f.Grammar.getInstance().pushState(n)}addEvaluator(t){const e=t.evaluateDefault.bind(t),r=this.evaluators_[t.locale];if(r)return void(r[t.modality]=e);const n={};n[t.modality]=e,this.evaluators_[t.locale]=n}getEvaluator(t,e){const r=this.evaluators_[t]||this.evaluators_[h.DynamicCstr.DEFAULT_VALUES[h.Axis.LOCALE]];return r[e]||r[h.DynamicCstr.DEFAULT_VALUES[h.Axis.MODALITY]]}enumerate(t){return this.trie.enumerate(t)}evaluateNode_(t){return t?(this.updateConstraint_(),this.evaluateTree_(t)):[]}evaluateTree_(t){const e=s.default.getInstance();let r;o.Debugger.getInstance().output(e.mode!==a.Mode.HTTP?t.toString():t),f.Grammar.getInstance().setAttribute(t);const i=this.lookupRule(t,e.dynamicCstr);if(!i)return e.strict?[]:(r=this.getEvaluator(e.locale,e.modality)(t),t.attributes&&this.addPersonality_(r,{},!1,t),r);o.Debugger.getInstance().generateOutput((()=>["Apply Rule:",i.name,i.dynamicCstr.toString(),(e.mode,a.Mode.HTTP,t).toString()]));const c=i.context,u=i.action.components;r=[];for(let e,o=0;e=u[o];o++){let o=[];const i=e.content||"",a=e.attributes||{};let u=!1;e.grammar&&this.processGrammar(c,t,e.grammar);let p=null;if(a.engine){p=s.default.getInstance().dynamicCstr.getComponents();const t=f.Grammar.parseInput(a.engine);s.default.getInstance().setDynamicCstr(t)}switch(e.type){case m.ActionType.NODE:{const e=c.applyQuery(t,i);e&&(o=this.evaluateTree_(e))}break;case m.ActionType.MULTI:{u=!0;const e=c.applySelector(t,i);e.length>0&&(o=this.evaluateNodeList_(c,e,a.sepFunc,c.constructString(t,a.separator),a.ctxtFunc,c.constructString(t,a.context)))}break;case m.ActionType.TEXT:{const e=a.span,r={};if(e){const n=(0,l.evalXPath)(e,t);n.length&&(r.extid=n[0].getAttribute("extid"))}const s=c.constructString(t,i);(s||""===s)&&(o=Array.isArray(s)?s.map((function(t){return n.AuditoryDescription.create({text:t.speech,attributes:t.attributes},{adjust:!0})})):[n.AuditoryDescription.create({text:s,attributes:r},{adjust:!0})])}break;case m.ActionType.PERSONALITY:default:o=[n.AuditoryDescription.create({text:i})]}o[0]&&!u&&(a.context&&(o[0].context=c.constructString(t,a.context)+(o[0].context||"")),a.annotation&&(o[0].annotation=a.annotation)),this.addLayout(o,a,u),e.grammar&&f.Grammar.getInstance().popState(),r=r.concat(this.addPersonality_(o,a,u,t)),p&&s.default.getInstance().setDynamicCstr(p)}return r}evaluateNodeList_(t,e,r,o,i,s){if(!e.length)return[];const a=o||"",l=s||"",c=t.contextFunctions.lookup(i),u=c?c(e,l):function(){return l},p=t.contextFunctions.lookup(r),h=p?p(e,a):function(){return[n.AuditoryDescription.create({text:a},{translate:!0})]};let f=[];for(let t,r=0;t=e[r];r++){const n=this.evaluateTree_(t);if(n.length>0&&(n[0].context=u()+(n[0].context||""),f=f.concat(n),r=0;e--){const n=r[e].name;!t.attributes[n]&&n.match(/^ext/)&&(t.attributes[n]=r[e].value)}}}addRelativePersonality_(t,e){if(!t.personality)return t.personality=e,t;const r=t.personality;for(const t in e)r[t]&&"number"==typeof r[t]&&"number"==typeof e[t]?r[t]=r[t]+e[t]:r[t]||(r[t]=e[t]);return t}updateConstraint_(){const t=s.default.getInstance().dynamicCstr,e=s.default.getInstance().strict,r=this.trie,n={};let o=t.getValue(h.Axis.LOCALE),i=t.getValue(h.Axis.MODALITY),a=t.getValue(h.Axis.DOMAIN);r.hasSubtrie([o,i,a])||(a=h.DynamicCstr.DEFAULT_VALUES[h.Axis.DOMAIN],r.hasSubtrie([o,i,a])||(i=h.DynamicCstr.DEFAULT_VALUES[h.Axis.MODALITY],r.hasSubtrie([o,i,a])||(o=h.DynamicCstr.DEFAULT_VALUES[h.Axis.LOCALE]))),n[h.Axis.LOCALE]=[o],n[h.Axis.MODALITY]=["summary"!==i?i:h.DynamicCstr.DEFAULT_VALUES[h.Axis.MODALITY]],n[h.Axis.DOMAIN]=["speech"!==i?h.DynamicCstr.DEFAULT_VALUES[h.Axis.DOMAIN]:a];const l=t.getOrder();for(let r,o=0;r=l[o];o++)if(!n[r]){const o=t.getValue(r),i=this.makeSet_(o,t.preference),s=h.DynamicCstr.DEFAULT_VALUES[r];e||o===s||i.push(s),n[r]=i}t.updateProperties(n)}makeSet_(t,e){return e&&Object.keys(e).length?t.split(":"):[t]}lookupRule(t,e){if(!t||t.nodeType!==i.NodeType.ELEMENT_NODE&&t.nodeType!==i.NodeType.TEXT_NODE)return null;const r=this.lookupRules(t,e);return r.length>0?this.pickMostConstraint_(e,r):null}lookupRules(t,e){return this.trie.lookupRules(t,e.allProperties())}pickMostConstraint_(t,e){const r=s.default.getInstance().comparator;return e.sort((function(t,e){return r.compare(t.dynamicCstr,e.dynamicCstr)||e.precondition.priority-t.precondition.priority||e.precondition.constraints.length-t.precondition.constraints.length||e.precondition.rank-t.precondition.rank})),o.Debugger.getInstance().generateOutput((()=>e.map((t=>t.name+"("+t.dynamicCstr.toString()+")"))).bind(this)),e[0]}}e.SpeechRuleEngine=g;const b=new Map;function v(t){const e=`${t.locale}.${t.modality}.${t.domain}`;if("actions"===t.kind){const r=b.get(e);return r.parse(t),r}u.init(),t&&!t.functions&&(t.functions=c.getStore(t.locale,t.modality,t.domain));const r="braille"===t.modality?new p.BrailleStore:new d.MathStore;return b.set(e,r),t.inherits&&(r.inherits=b.get(`${t.inherits}.${t.modality}.${t.domain}`)),r.parse(t),r.initialize(),r}e.storeFactory=v,s.default.nodeEvaluator=g.getInstance().evaluateNode.bind(g.getInstance())},5662:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.CustomGenerators=e.ContextFunctions=e.CustomStrings=e.CustomQueries=void 0;class r{constructor(t,e){this.prefix=t,this.store=e}add(t,e){this.checkCustomFunctionSyntax_(t)&&(this.store[t]=e)}addStore(t){const e=Object.keys(t.store);for(let r,n=0;r=e[n];n++)this.add(r,t.store[r])}lookup(t){return this.store[t]}checkCustomFunctionSyntax_(t){const e=new RegExp("^"+this.prefix);return!!t.match(e)||(console.error("FunctionError: Invalid function name. Expected prefix "+this.prefix),!1)}}e.CustomQueries=class extends r{constructor(){super("CQF",{})}};e.CustomStrings=class extends r{constructor(){super("CSF",{})}};e.ContextFunctions=class extends r{constructor(){super("CTF",{})}};e.CustomGenerators=class extends r{constructor(){super("CGF",{})}}},365:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.contentIterator=e.pauseSeparator=e.nodeCounter=void 0;const n=r(7052),o=r(5274),i=r(5897);e.nodeCounter=function(t,e){const r=t.length;let n=0,o=e;return e||(o=""),function(){return n0?o.evalXPath("../../content/*",t[0]):[],function(){const t=r.shift(),o=e?[n.AuditoryDescription.create({text:e},{translate:!0})]:[];if(!t)return o;const s=i.default.evaluateNode(t);return o.concat(s)}}},1414:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.getTreeFromString=e.getTree=e.xmlTree=void 0;const n=r(5740),o=r(7075);function i(t){return new o.SemanticTree(t)}e.xmlTree=function(t){return i(t).xml()},e.getTree=i,e.getTreeFromString=function(t){return i(n.parseInput(t))}},7630:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.annotate=e.activate=e.register=e.visitors=e.annotators=void 0;const n=r(9265);e.annotators=new Map,e.visitors=new Map,e.register=function(t){const r=t.domain+":"+t.name;t instanceof n.SemanticAnnotator?e.annotators.set(r,t):e.visitors.set(r,t)},e.activate=function(t,r){const n=t+":"+r,o=e.annotators.get(n)||e.visitors.get(n);o&&(o.active=!0)},e.annotate=function(t){for(const r of e.annotators.values())r.active&&r.annotate(t);for(const r of e.visitors.values())r.active&&r.visit(t,Object.assign({},r.def))}},9265:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.SemanticVisitor=e.SemanticAnnotator=void 0;e.SemanticAnnotator=class{constructor(t,e,r){this.domain=t,this.name=e,this.func=r,this.active=!1}annotate(t){t.childNodes.forEach(this.annotate.bind(this)),t.addAnnotation(this.domain,this.func(t))}};e.SemanticVisitor=class{constructor(t,e,r,n={}){this.domain=t,this.name=e,this.func=r,this.def=n,this.active=!1}visit(t,e){let r=this.func(t,e);t.addAnnotation(this.domain,r[0]);for(let e,n=0;e=t.childNodes[n];n++)r=this.visit(e,r[1]);return r}}},3588:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.lookupSecondary=e.isEmbellishedType=e.isMatchingFence=e.functionApplication=e.invisibleComma=e.invisiblePlus=e.invisibleTimes=e.lookupMeaning=e.lookupRole=e.lookupType=e.equal=e.allLettersRegExp=void 0;const r=String.fromCodePoint(8291),n=["\uff0c","\ufe50",",",r],o=["\xaf","\u2012","\u2013","\u2014","\u2015","\ufe58","-","\u207b","\u208b","\u2212","\u2796","\ufe63","\uff0d","\u2010","\u2011","\u203e","_"],i=["~","\u0303","\u223c","\u02dc","\u223d","\u02f7","\u0334","\u0330"],s={"(":")","[":"]","{":"}","\u2045":"\u2046","\u2329":"\u232a","\u2768":"\u2769","\u276a":"\u276b","\u276c":"\u276d","\u276e":"\u276f","\u2770":"\u2771","\u2772":"\u2773","\u2774":"\u2775","\u27c5":"\u27c6","\u27e6":"\u27e7","\u27e8":"\u27e9","\u27ea":"\u27eb","\u27ec":"\u27ed","\u27ee":"\u27ef","\u2983":"\u2984","\u2985":"\u2986","\u2987":"\u2988","\u2989":"\u298a","\u298b":"\u298c","\u298d":"\u298e","\u298f":"\u2990","\u2991":"\u2992","\u2993":"\u2994","\u2995":"\u2996","\u2997":"\u2998","\u29d8":"\u29d9","\u29da":"\u29db","\u29fc":"\u29fd","\u2e22":"\u2e23","\u2e24":"\u2e25","\u2e26":"\u2e27","\u2e28":"\u2e29","\u3008":"\u3009","\u300a":"\u300b","\u300c":"\u300d","\u300e":"\u300f","\u3010":"\u3011","\u3014":"\u3015","\u3016":"\u3017","\u3018":"\u3019","\u301a":"\u301b","\u301d":"\u301e","\ufd3e":"\ufd3f","\ufe17":"\ufe18","\ufe59":"\ufe5a","\ufe5b":"\ufe5c","\ufe5d":"\ufe5e","\uff08":"\uff09","\uff3b":"\uff3d","\uff5b":"\uff5d","\uff5f":"\uff60","\uff62":"\uff63","\u2308":"\u2309","\u230a":"\u230b","\u230c":"\u230d","\u230e":"\u230f","\u231c":"\u231d","\u231e":"\u231f","\u239b":"\u239e","\u239c":"\u239f","\u239d":"\u23a0","\u23a1":"\u23a4","\u23a2":"\u23a5","\u23a3":"\u23a6","\u23a7":"\u23ab","\u23a8":"\u23ac","\u23a9":"\u23ad","\u23b0":"\u23b1","\u23b8":"\u23b9"},a={"\u23b4":"\u23b5","\u23dc":"\u23dd","\u23de":"\u23df","\u23e0":"\u23e1","\ufe35":"\ufe36","\ufe37":"\ufe38","\ufe39":"\ufe3a","\ufe3b":"\ufe3c","\ufe3d":"\ufe3e","\ufe3f":"\ufe40","\ufe41":"\ufe42","\ufe43":"\ufe44","\ufe47":"\ufe48"},l=Object.keys(s),c=Object.values(s);c.push("\u301f");const u=Object.keys(a),p=Object.values(a),h=["|","\xa6","\u2223","\u23d0","\u23b8","\u23b9","\u2758","\uff5c","\uffe4","\ufe31","\ufe32"],f=["\u2016","\u2225","\u2980","\u2af4"],d=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],m=["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","\u0131","\u0237"],y=["\uff21","\uff22","\uff23","\uff24","\uff25","\uff26","\uff27","\uff28","\uff29","\uff2a","\uff2b","\uff2c","\uff2d","\uff2e","\uff2f","\uff30","\uff31","\uff32","\uff33","\uff34","\uff35","\uff36","\uff37","\uff38","\uff39","\uff3a"],g=["\uff41","\uff42","\uff43","\uff44","\uff45","\uff46","\uff47","\uff48","\uff49","\uff4a","\uff4b","\uff4c","\uff4d","\uff4e","\uff4f","\uff50","\uff51","\uff52","\uff53","\uff54","\uff55","\uff56","\uff57","\uff58","\uff59","\uff5a"],b=["\ud835\udc00","\ud835\udc01","\ud835\udc02","\ud835\udc03","\ud835\udc04","\ud835\udc05","\ud835\udc06","\ud835\udc07","\ud835\udc08","\ud835\udc09","\ud835\udc0a","\ud835\udc0b","\ud835\udc0c","\ud835\udc0d","\ud835\udc0e","\ud835\udc0f","\ud835\udc10","\ud835\udc11","\ud835\udc12","\ud835\udc13","\ud835\udc14","\ud835\udc15","\ud835\udc16","\ud835\udc17","\ud835\udc18","\ud835\udc19"],v=["\ud835\udc1a","\ud835\udc1b","\ud835\udc1c","\ud835\udc1d","\ud835\udc1e","\ud835\udc1f","\ud835\udc20","\ud835\udc21","\ud835\udc22","\ud835\udc23","\ud835\udc24","\ud835\udc25","\ud835\udc26","\ud835\udc27","\ud835\udc28","\ud835\udc29","\ud835\udc2a","\ud835\udc2b","\ud835\udc2c","\ud835\udc2d","\ud835\udc2e","\ud835\udc2f","\ud835\udc30","\ud835\udc31","\ud835\udc32","\ud835\udc33"],_=["\ud835\udc34","\ud835\udc35","\ud835\udc36","\ud835\udc37","\ud835\udc38","\ud835\udc39","\ud835\udc3a","\ud835\udc3b","\ud835\udc3c","\ud835\udc3d","\ud835\udc3e","\ud835\udc3f","\ud835\udc40","\ud835\udc41","\ud835\udc42","\ud835\udc43","\ud835\udc44","\ud835\udc45","\ud835\udc46","\ud835\udc47","\ud835\udc48","\ud835\udc49","\ud835\udc4a","\ud835\udc4b","\ud835\udc4c","\ud835\udc4d"],S=["\ud835\udc4e","\ud835\udc4f","\ud835\udc50","\ud835\udc51","\ud835\udc52","\ud835\udc53","\ud835\udc54","\u210e","\ud835\udc56","\ud835\udc57","\ud835\udc58","\ud835\udc59","\ud835\udc5a","\ud835\udc5b","\ud835\udc5c","\ud835\udc5d","\ud835\udc5e","\ud835\udc5f","\ud835\udc60","\ud835\udc61","\ud835\udc62","\ud835\udc63","\ud835\udc64","\ud835\udc65","\ud835\udc66","\ud835\udc67","\ud835\udea4","\ud835\udea5"],M=["\ud835\udc68","\ud835\udc69","\ud835\udc6a","\ud835\udc6b","\ud835\udc6c","\ud835\udc6d","\ud835\udc6e","\ud835\udc6f","\ud835\udc70","\ud835\udc71","\ud835\udc72","\ud835\udc73","\ud835\udc74","\ud835\udc75","\ud835\udc76","\ud835\udc77","\ud835\udc78","\ud835\udc79","\ud835\udc7a","\ud835\udc7b","\ud835\udc7c","\ud835\udc7d","\ud835\udc7e","\ud835\udc7f","\ud835\udc80","\ud835\udc81"],O=["\ud835\udc82","\ud835\udc83","\ud835\udc84","\ud835\udc85","\ud835\udc86","\ud835\udc87","\ud835\udc88","\ud835\udc89","\ud835\udc8a","\ud835\udc8b","\ud835\udc8c","\ud835\udc8d","\ud835\udc8e","\ud835\udc8f","\ud835\udc90","\ud835\udc91","\ud835\udc92","\ud835\udc93","\ud835\udc94","\ud835\udc95","\ud835\udc96","\ud835\udc97","\ud835\udc98","\ud835\udc99","\ud835\udc9a","\ud835\udc9b"],x=["\ud835\udc9c","\u212c","\ud835\udc9e","\ud835\udc9f","\u2130","\u2131","\ud835\udca2","\u210b","\u2110","\ud835\udca5","\ud835\udca6","\u2112","\u2133","\ud835\udca9","\ud835\udcaa","\ud835\udcab","\ud835\udcac","\u211b","\ud835\udcae","\ud835\udcaf","\ud835\udcb0","\ud835\udcb1","\ud835\udcb2","\ud835\udcb3","\ud835\udcb4","\ud835\udcb5","\u2118"],E=["\ud835\udcb6","\ud835\udcb7","\ud835\udcb8","\ud835\udcb9","\u212f","\ud835\udcbb","\u210a","\ud835\udcbd","\ud835\udcbe","\ud835\udcbf","\ud835\udcc0","\ud835\udcc1","\ud835\udcc2","\ud835\udcc3","\u2134","\ud835\udcc5","\ud835\udcc6","\ud835\udcc7","\ud835\udcc8","\ud835\udcc9","\ud835\udcca","\ud835\udccb","\ud835\udccc","\ud835\udccd","\ud835\udcce","\ud835\udccf","\u2113"],A=["\ud835\udcd0","\ud835\udcd1","\ud835\udcd2","\ud835\udcd3","\ud835\udcd4","\ud835\udcd5","\ud835\udcd6","\ud835\udcd7","\ud835\udcd8","\ud835\udcd9","\ud835\udcda","\ud835\udcdb","\ud835\udcdc","\ud835\udcdd","\ud835\udcde","\ud835\udcdf","\ud835\udce0","\ud835\udce1","\ud835\udce2","\ud835\udce3","\ud835\udce4","\ud835\udce5","\ud835\udce6","\ud835\udce7","\ud835\udce8","\ud835\udce9"],C=["\ud835\udcea","\ud835\udceb","\ud835\udcec","\ud835\udced","\ud835\udcee","\ud835\udcef","\ud835\udcf0","\ud835\udcf1","\ud835\udcf2","\ud835\udcf3","\ud835\udcf4","\ud835\udcf5","\ud835\udcf6","\ud835\udcf7","\ud835\udcf8","\ud835\udcf9","\ud835\udcfa","\ud835\udcfb","\ud835\udcfc","\ud835\udcfd","\ud835\udcfe","\ud835\udcff","\ud835\udd00","\ud835\udd01","\ud835\udd02","\ud835\udd03"],T=["\ud835\udd04","\ud835\udd05","\u212d","\ud835\udd07","\ud835\udd08","\ud835\udd09","\ud835\udd0a","\u210c","\u2111","\ud835\udd0d","\ud835\udd0e","\ud835\udd0f","\ud835\udd10","\ud835\udd11","\ud835\udd12","\ud835\udd13","\ud835\udd14","\u211c","\ud835\udd16","\ud835\udd17","\ud835\udd18","\ud835\udd19","\ud835\udd1a","\ud835\udd1b","\ud835\udd1c","\u2128"],N=["\ud835\udd1e","\ud835\udd1f","\ud835\udd20","\ud835\udd21","\ud835\udd22","\ud835\udd23","\ud835\udd24","\ud835\udd25","\ud835\udd26","\ud835\udd27","\ud835\udd28","\ud835\udd29","\ud835\udd2a","\ud835\udd2b","\ud835\udd2c","\ud835\udd2d","\ud835\udd2e","\ud835\udd2f","\ud835\udd30","\ud835\udd31","\ud835\udd32","\ud835\udd33","\ud835\udd34","\ud835\udd35","\ud835\udd36","\ud835\udd37"],w=["\ud835\udd38","\ud835\udd39","\u2102","\ud835\udd3b","\ud835\udd3c","\ud835\udd3d","\ud835\udd3e","\u210d","\ud835\udd40","\ud835\udd41","\ud835\udd42","\ud835\udd43","\ud835\udd44","\u2115","\ud835\udd46","\u2119","\u211a","\u211d","\ud835\udd4a","\ud835\udd4b","\ud835\udd4c","\ud835\udd4d","\ud835\udd4e","\ud835\udd4f","\ud835\udd50","\u2124"],L=["\ud835\udd52","\ud835\udd53","\ud835\udd54","\ud835\udd55","\ud835\udd56","\ud835\udd57","\ud835\udd58","\ud835\udd59","\ud835\udd5a","\ud835\udd5b","\ud835\udd5c","\ud835\udd5d","\ud835\udd5e","\ud835\udd5f","\ud835\udd60","\ud835\udd61","\ud835\udd62","\ud835\udd63","\ud835\udd64","\ud835\udd65","\ud835\udd66","\ud835\udd67","\ud835\udd68","\ud835\udd69","\ud835\udd6a","\ud835\udd6b"],I=["\ud835\udd6c","\ud835\udd6d","\ud835\udd6e","\ud835\udd6f","\ud835\udd70","\ud835\udd71","\ud835\udd72","\ud835\udd73","\ud835\udd74","\ud835\udd75","\ud835\udd76","\ud835\udd77","\ud835\udd78","\ud835\udd79","\ud835\udd7a","\ud835\udd7b","\ud835\udd7c","\ud835\udd7d","\ud835\udd7e","\ud835\udd7f","\ud835\udd80","\ud835\udd81","\ud835\udd82","\ud835\udd83","\ud835\udd84","\ud835\udd85"],P=["\ud835\udd86","\ud835\udd87","\ud835\udd88","\ud835\udd89","\ud835\udd8a","\ud835\udd8b","\ud835\udd8c","\ud835\udd8d","\ud835\udd8e","\ud835\udd8f","\ud835\udd90","\ud835\udd91","\ud835\udd92","\ud835\udd93","\ud835\udd94","\ud835\udd95","\ud835\udd96","\ud835\udd97","\ud835\udd98","\ud835\udd99","\ud835\udd9a","\ud835\udd9b","\ud835\udd9c","\ud835\udd9d","\ud835\udd9e","\ud835\udd9f"],R=["\ud835\udda0","\ud835\udda1","\ud835\udda2","\ud835\udda3","\ud835\udda4","\ud835\udda5","\ud835\udda6","\ud835\udda7","\ud835\udda8","\ud835\udda9","\ud835\uddaa","\ud835\uddab","\ud835\uddac","\ud835\uddad","\ud835\uddae","\ud835\uddaf","\ud835\uddb0","\ud835\uddb1","\ud835\uddb2","\ud835\uddb3","\ud835\uddb4","\ud835\uddb5","\ud835\uddb6","\ud835\uddb7","\ud835\uddb8","\ud835\uddb9"],k=["\ud835\uddba","\ud835\uddbb","\ud835\uddbc","\ud835\uddbd","\ud835\uddbe","\ud835\uddbf","\ud835\uddc0","\ud835\uddc1","\ud835\uddc2","\ud835\uddc3","\ud835\uddc4","\ud835\uddc5","\ud835\uddc6","\ud835\uddc7","\ud835\uddc8","\ud835\uddc9","\ud835\uddca","\ud835\uddcb","\ud835\uddcc","\ud835\uddcd","\ud835\uddce","\ud835\uddcf","\ud835\uddd0","\ud835\uddd1","\ud835\uddd2","\ud835\uddd3"],j=["\ud835\uddd4","\ud835\uddd5","\ud835\uddd6","\ud835\uddd7","\ud835\uddd8","\ud835\uddd9","\ud835\uddda","\ud835\udddb","\ud835\udddc","\ud835\udddd","\ud835\uddde","\ud835\udddf","\ud835\udde0","\ud835\udde1","\ud835\udde2","\ud835\udde3","\ud835\udde4","\ud835\udde5","\ud835\udde6","\ud835\udde7","\ud835\udde8","\ud835\udde9","\ud835\uddea","\ud835\uddeb","\ud835\uddec","\ud835\udded"],B=["\ud835\uddee","\ud835\uddef","\ud835\uddf0","\ud835\uddf1","\ud835\uddf2","\ud835\uddf3","\ud835\uddf4","\ud835\uddf5","\ud835\uddf6","\ud835\uddf7","\ud835\uddf8","\ud835\uddf9","\ud835\uddfa","\ud835\uddfb","\ud835\uddfc","\ud835\uddfd","\ud835\uddfe","\ud835\uddff","\ud835\ude00","\ud835\ude01","\ud835\ude02","\ud835\ude03","\ud835\ude04","\ud835\ude05","\ud835\ude06","\ud835\ude07"],D=["\ud835\ude08","\ud835\ude09","\ud835\ude0a","\ud835\ude0b","\ud835\ude0c","\ud835\ude0d","\ud835\ude0e","\ud835\ude0f","\ud835\ude10","\ud835\ude11","\ud835\ude12","\ud835\ude13","\ud835\ude14","\ud835\ude15","\ud835\ude16","\ud835\ude17","\ud835\ude18","\ud835\ude19","\ud835\ude1a","\ud835\ude1b","\ud835\ude1c","\ud835\ude1d","\ud835\ude1e","\ud835\ude1f","\ud835\ude20","\ud835\ude21"],F=["\ud835\ude22","\ud835\ude23","\ud835\ude24","\ud835\ude25","\ud835\ude26","\ud835\ude27","\ud835\ude28","\ud835\ude29","\ud835\ude2a","\ud835\ude2b","\ud835\ude2c","\ud835\ude2d","\ud835\ude2e","\ud835\ude2f","\ud835\ude30","\ud835\ude31","\ud835\ude32","\ud835\ude33","\ud835\ude34","\ud835\ude35","\ud835\ude36","\ud835\ude37","\ud835\ude38","\ud835\ude39","\ud835\ude3a","\ud835\ude3b"],H=["\ud835\ude3c","\ud835\ude3d","\ud835\ude3e","\ud835\ude3f","\ud835\ude40","\ud835\ude41","\ud835\ude42","\ud835\ude43","\ud835\ude44","\ud835\ude45","\ud835\ude46","\ud835\ude47","\ud835\ude48","\ud835\ude49","\ud835\ude4a","\ud835\ude4b","\ud835\ude4c","\ud835\ude4d","\ud835\ude4e","\ud835\ude4f","\ud835\ude50","\ud835\ude51","\ud835\ude52","\ud835\ude53","\ud835\ude54","\ud835\ude55"],U=["\ud835\ude56","\ud835\ude57","\ud835\ude58","\ud835\ude59","\ud835\ude5a","\ud835\ude5b","\ud835\ude5c","\ud835\ude5d","\ud835\ude5e","\ud835\ude5f","\ud835\ude60","\ud835\ude61","\ud835\ude62","\ud835\ude63","\ud835\ude64","\ud835\ude65","\ud835\ude66","\ud835\ude67","\ud835\ude68","\ud835\ude69","\ud835\ude6a","\ud835\ude6b","\ud835\ude6c","\ud835\ude6d","\ud835\ude6e","\ud835\ude6f"],X=["\ud835\ude70","\ud835\ude71","\ud835\ude72","\ud835\ude73","\ud835\ude74","\ud835\ude75","\ud835\ude76","\ud835\ude77","\ud835\ude78","\ud835\ude79","\ud835\ude7a","\ud835\ude7b","\ud835\ude7c","\ud835\ude7d","\ud835\ude7e","\ud835\ude7f","\ud835\ude80","\ud835\ude81","\ud835\ude82","\ud835\ude83","\ud835\ude84","\ud835\ude85","\ud835\ude86","\ud835\ude87","\ud835\ude88","\ud835\ude89"],V=["\ud835\ude8a","\ud835\ude8b","\ud835\ude8c","\ud835\ude8d","\ud835\ude8e","\ud835\ude8f","\ud835\ude90","\ud835\ude91","\ud835\ude92","\ud835\ude93","\ud835\ude94","\ud835\ude95","\ud835\ude96","\ud835\ude97","\ud835\ude98","\ud835\ude99","\ud835\ude9a","\ud835\ude9b","\ud835\ude9c","\ud835\ude9d","\ud835\ude9e","\ud835\ude9f","\ud835\udea0","\ud835\udea1","\ud835\udea2","\ud835\udea3"],q=["\u2145","\u2146","\u2147","\u2148","\u2149"],W=["\u0391","\u0392","\u0393","\u0394","\u0395","\u0396","\u0397","\u0398","\u0399","\u039a","\u039b","\u039c","\u039d","\u039e","\u039f","\u03a0","\u03a1","\u03a3","\u03a4","\u03a5","\u03a6","\u03a7","\u03a8","\u03a9"],G=["\u03b1","\u03b2","\u03b3","\u03b4","\u03b5","\u03b6","\u03b7","\u03b8","\u03b9","\u03ba","\u03bb","\u03bc","\u03bd","\u03be","\u03bf","\u03c0","\u03c1","\u03c2","\u03c3","\u03c4","\u03c5","\u03c6","\u03c7","\u03c8","\u03c9"],z=["\ud835\udea8","\ud835\udea9","\ud835\udeaa","\ud835\udeab","\ud835\udeac","\ud835\udead","\ud835\udeae","\ud835\udeaf","\ud835\udeb0","\ud835\udeb1","\ud835\udeb2","\ud835\udeb3","\ud835\udeb4","\ud835\udeb5","\ud835\udeb6","\ud835\udeb7","\ud835\udeb8","\ud835\udeba","\ud835\udebb","\ud835\udebc","\ud835\udebd","\ud835\udebe","\ud835\udebf","\ud835\udec0"],J=["\ud835\udec2","\ud835\udec3","\ud835\udec4","\ud835\udec5","\ud835\udec6","\ud835\udec7","\ud835\udec8","\ud835\udec9","\ud835\udeca","\ud835\udecb","\ud835\udecc","\ud835\udecd","\ud835\udece","\ud835\udecf","\ud835\uded0","\ud835\uded1","\ud835\uded2","\ud835\uded3","\ud835\uded4","\ud835\uded5","\ud835\uded6","\ud835\uded7","\ud835\uded8","\ud835\uded9","\ud835\udeda"],K=["\ud835\udee2","\ud835\udee3","\ud835\udee4","\ud835\udee5","\ud835\udee6","\ud835\udee7","\ud835\udee8","\ud835\udee9","\ud835\udeea","\ud835\udeeb","\ud835\udeec","\ud835\udeed","\ud835\udeee","\ud835\udeef","\ud835\udef0","\ud835\udef1","\ud835\udef2","\ud835\udef4","\ud835\udef5","\ud835\udef6","\ud835\udef7","\ud835\udef8","\ud835\udef9","\ud835\udefa"],$=["\ud835\udefc","\ud835\udefd","\ud835\udefe","\ud835\udeff","\ud835\udf00","\ud835\udf01","\ud835\udf02","\ud835\udf03","\ud835\udf04","\ud835\udf05","\ud835\udf06","\ud835\udf07","\ud835\udf08","\ud835\udf09","\ud835\udf0a","\ud835\udf0b","\ud835\udf0c","\ud835\udf0d","\ud835\udf0e","\ud835\udf0f","\ud835\udf10","\ud835\udf11","\ud835\udf12","\ud835\udf13","\ud835\udf14"],Y=["\ud835\udf1c","\ud835\udf1d","\ud835\udf1e","\ud835\udf1f","\ud835\udf20","\ud835\udf21","\ud835\udf22","\ud835\udf23","\ud835\udf24","\ud835\udf25","\ud835\udf26","\ud835\udf27","\ud835\udf28","\ud835\udf29","\ud835\udf2a","\ud835\udf2b","\ud835\udf2c","\ud835\udf2e","\ud835\udf2f","\ud835\udf30","\ud835\udf31","\ud835\udf32","\ud835\udf33","\ud835\udf34"],Z=["\ud835\udf36","\ud835\udf37","\ud835\udf38","\ud835\udf39","\ud835\udf3a","\ud835\udf3b","\ud835\udf3c","\ud835\udf3d","\ud835\udf3e","\ud835\udf3f","\ud835\udf40","\ud835\udf41","\ud835\udf42","\ud835\udf43","\ud835\udf44","\ud835\udf45","\ud835\udf46","\ud835\udf47","\ud835\udf48","\ud835\udf49","\ud835\udf4a","\ud835\udf4b","\ud835\udf4c","\ud835\udf4d","\ud835\udf4e"],Q=["\ud835\udf56","\ud835\udf57","\ud835\udf58","\ud835\udf59","\ud835\udf5a","\ud835\udf5b","\ud835\udf5c","\ud835\udf5d","\ud835\udf5e","\ud835\udf5f","\ud835\udf60","\ud835\udf61","\ud835\udf62","\ud835\udf63","\ud835\udf64","\ud835\udf65","\ud835\udf66","\ud835\udf68","\ud835\udf69","\ud835\udf6a","\ud835\udf6b","\ud835\udf6c","\ud835\udf6d","\ud835\udf6e"],tt=["\ud835\udf70","\ud835\udf71","\ud835\udf72","\ud835\udf73","\ud835\udf74","\ud835\udf75","\ud835\udf76","\ud835\udf77","\ud835\udf78","\ud835\udf79","\ud835\udf7a","\ud835\udf7b","\ud835\udf7c","\ud835\udf7d","\ud835\udf7e","\ud835\udf7f","\ud835\udf80","\ud835\udf81","\ud835\udf82","\ud835\udf83","\ud835\udf84","\ud835\udf85","\ud835\udf86","\ud835\udf87","\ud835\udf88"],et=["\ud835\udf90","\ud835\udf91","\ud835\udf92","\ud835\udf93","\ud835\udf94","\ud835\udf95","\ud835\udf96","\ud835\udf97","\ud835\udf98","\ud835\udf99","\ud835\udf9a","\ud835\udf9b","\ud835\udf9c","\ud835\udf9d","\ud835\udf9e","\ud835\udf9f","\ud835\udfa0","\ud835\udfa2","\ud835\udfa3","\ud835\udfa4","\ud835\udfa5","\ud835\udfa6","\ud835\udfa7","\ud835\udfa8"],rt=["\ud835\udfaa","\ud835\udfab","\ud835\udfac","\ud835\udfad","\ud835\udfae","\ud835\udfaf","\ud835\udfb0","\ud835\udfb1","\ud835\udfb2","\ud835\udfb3","\ud835\udfb4","\ud835\udfb5","\ud835\udfb6","\ud835\udfb7","\ud835\udfb8","\ud835\udfb9","\ud835\udfba","\ud835\udfbb","\ud835\udfbc","\ud835\udfbd","\ud835\udfbe","\ud835\udfbf","\ud835\udfc0","\ud835\udfc1","\ud835\udfc2"],nt=["\u213c","\u213d","\u213e","\u213f"],ot=["\u03d0","\u03d1","\u03d5","\u03d6","\u03d7","\u03f0","\u03f1","\u03f5","\u03f6","\u03f4"],it=["\ud835\udedc","\ud835\udedd","\ud835\udede","\ud835\udedf","\ud835\udee0","\ud835\udee1"],st=["\ud835\udf16","\ud835\udf17","\ud835\udf18","\ud835\udf19","\ud835\udf1a","\ud835\udf1b"],at=["\ud835\udf8a","\ud835\udf8b","\ud835\udf8c","\ud835\udf8d","\ud835\udf8e","\ud835\udf8f"],lt=["\u2135","\u2136","\u2137","\u2138"],ct=d.concat(m,y,g,b,v,_,M,O,S,x,E,A,C,T,N,w,L,I,P,R,k,j,B,D,F,H,U,X,V,q,W,G,z,J,K,$,Y,Z,Q,tt,nt,ot,et,rt,it,st,at,lt);e.allLettersRegExp=new RegExp(ct.join("|"));const ut=["+","\xb1","\u2213","\u2214","\u2227","\u2228","\u2229","\u222a","\u228c","\u228d","\u228e","\u2293","\u2294","\u229d","\u229e","\u22a4","\u22a5","\u22ba","\u22bb","\u22bc","\u22c4","\u22ce","\u22cf","\u22d2","\u22d3","\u2a5e","\u2295","\u22d4"],pt=String.fromCodePoint(8292);ut.push(pt);const ht=["\u2020","\u2021","\u2210","\u2217","\u2218","\u2219","\u2240","\u229a","\u229b","\u22a0","\u22a1","\u22c5","\u22c6","\u22c7","\u22c8","\u22c9","\u22ca","\u22cb","\u22cc","\u25cb","\xb7","*","\u2297","\u2299"],ft=String.fromCodePoint(8290);ht.push(ft);const dt=String.fromCodePoint(8289),mt=["\xbc","\xbd","\xbe","\u2150","\u2151","\u2152","\u2153","\u2154","\u2155","\u2156","\u2157","\u2158","\u2159","\u215a","\u215b","\u215c","\u215d","\u215e","\u215f","\u2189"],yt=["\xb2","\xb3","\xb9","\u2070","\u2074","\u2075","\u2076","\u2077","\u2078","\u2079"].concat(["\u2080","\u2081","\u2082","\u2083","\u2084","\u2085","\u2086","\u2087","\u2088","\u2089"],["\u2460","\u2461","\u2462","\u2463","\u2464","\u2465","\u2466","\u2467","\u2468","\u2469","\u246a","\u246b","\u246c","\u246d","\u246e","\u246f","\u2470","\u2471","\u2472","\u2473","\u24ea","\u24eb","\u24ec","\u24ed","\u24ee","\u24ef","\u24f0","\u24f1","\u24f2","\u24f3","\u24f4","\u24f5","\u24f6","\u24f7","\u24f8","\u24f9","\u24fa","\u24fb","\u24fc","\u24fd","\u24fe","\u24ff","\u2776","\u2777","\u2778","\u2779","\u277a","\u277b","\u277c","\u277d","\u277e","\u277f","\u2780","\u2781","\u2782","\u2783","\u2784","\u2785","\u2786","\u2787","\u2788","\u2789","\u278a","\u278b","\u278c","\u278d","\u278e","\u278f","\u2790","\u2791","\u2792","\u2793","\u3248","\u3249","\u324a","\u324b","\u324c","\u324d","\u324e","\u324f","\u3251","\u3252","\u3253","\u3254","\u3255","\u3256","\u3257","\u3258","\u3259","\u325a","\u325b","\u325c","\u325d","\u325e","\u325f","\u32b1","\u32b2","\u32b3","\u32b4","\u32b5","\u32b6","\u32b7","\u32b8","\u32b9","\u32ba","\u32bb","\u32bc","\u32bd","\u32be","\u32bf"],["\u2474","\u2475","\u2476","\u2477","\u2478","\u2479","\u247a","\u247b","\u247c","\u247d","\u247e","\u247f","\u2480","\u2481","\u2482","\u2483","\u2484","\u2485","\u2486","\u2487"],["\u2488","\u2489","\u248a","\u248b","\u248c","\u248d","\u248e","\u248f","\u2490","\u2491","\u2492","\u2493","\u2494","\u2495","\u2496","\u2497","\u2498","\u2499","\u249a","\u249b","\ud83c\udd00","\ud83c\udd01","\ud83c\udd02","\ud83c\udd03","\ud83c\udd04","\ud83c\udd05","\ud83c\udd06","\ud83c\udd07","\ud83c\udd08","\ud83c\udd09","\ud83c\udd0a"]),gt=["cos","cot","csc","sec","sin","tan","arccos","arccot","arccsc","arcsec","arcsin","arctan","arc cos","arc cot","arc csc","arc sec","arc sin","arc tan"].concat(["cosh","coth","csch","sech","sinh","tanh","arcosh","arcoth","arcsch","arsech","arsinh","artanh","arccosh","arccoth","arccsch","arcsech","arcsinh","arctanh"],["deg","det","dim","hom","ker","Tr","tr"],["log","ln","lg","exp","expt","gcd","gcd","arg","im","re","Pr"]),bt=[{set:["!",'"',"#","%","&",";","?","@","\\","\xa1","\xa7","\xb6","\xbf","\u2017","\u2020","\u2021","\u2022","\u2023","\u2024","\u2025","\u2027","\u2030","\u2031","\u2038","\u203b","\u203c","\u203d","\u203e","\u2041","\u2042","\u2043","\u2047","\u2048","\u2049","\u204b","\u204c","\u204d","\u204e","\u204f","\u2050","\u2051","\u2053","\u2055","\u2056","\u2058","\u2059","\u205a","\u205b","\u205c","\u205d","\u205e","\ufe10","\ufe14","\ufe15","\ufe16","\ufe30","\ufe45","\ufe46","\ufe49","\ufe4a","\ufe4b","\ufe4c","\ufe54","\ufe56","\ufe57","\ufe5f","\ufe60","\ufe61","\ufe68","\ufe6a","\ufe6b","\uff01","\uff02","\uff03","\uff05","\uff06","\uff07","\uff0a","\uff0f","\uff1b","\uff1f","\uff20","\uff3c"],type:"punctuation",role:"unknown"},{set:["\ufe13",":","\uff1a","\ufe55"],type:"punctuation",role:"colon"},{set:n,type:"punctuation",role:"comma"},{set:["\u2026","\u22ee","\u22ef","\u22f0","\u22f1","\ufe19"],type:"punctuation",role:"ellipsis"},{set:[".","\ufe52","\uff0e"],type:"punctuation",role:"fullstop"},{set:o,type:"operator",role:"dash"},{set:i,type:"operator",role:"tilde"},{set:["'","\u2032","\u2033","\u2034","\u2035","\u2036","\u2037","\u2057","\u02b9","\u02ba"],type:"punctuation",role:"prime"},{set:["\xb0"],type:"punctuation",role:"degree"},{set:l,type:"fence",role:"open"},{set:c,type:"fence",role:"close"},{set:u,type:"fence",role:"top"},{set:p,type:"fence",role:"bottom"},{set:h,type:"fence",role:"neutral"},{set:f,type:"fence",role:"metric"},{set:m,type:"identifier",role:"latinletter",font:"normal"},{set:d,type:"identifier",role:"latinletter",font:"normal"},{set:g,type:"identifier",role:"latinletter",font:"normal"},{set:y,type:"identifier",role:"latinletter",font:"normal"},{set:v,type:"identifier",role:"latinletter",font:"bold"},{set:b,type:"identifier",role:"latinletter",font:"bold"},{set:S,type:"identifier",role:"latinletter",font:"italic"},{set:_,type:"identifier",role:"latinletter",font:"italic"},{set:O,type:"identifier",role:"latinletter",font:"bold-italic"},{set:M,type:"identifier",role:"latinletter",font:"bold-italic"},{set:E,type:"identifier",role:"latinletter",font:"script"},{set:x,type:"identifier",role:"latinletter",font:"script"},{set:C,type:"identifier",role:"latinletter",font:"bold-script"},{set:A,type:"identifier",role:"latinletter",font:"bold-script"},{set:N,type:"identifier",role:"latinletter",font:"fraktur"},{set:T,type:"identifier",role:"latinletter",font:"fraktur"},{set:L,type:"identifier",role:"latinletter",font:"double-struck"},{set:w,type:"identifier",role:"latinletter",font:"double-struck"},{set:P,type:"identifier",role:"latinletter",font:"bold-fraktur"},{set:I,type:"identifier",role:"latinletter",font:"bold-fraktur"},{set:k,type:"identifier",role:"latinletter",font:"sans-serif"},{set:R,type:"identifier",role:"latinletter",font:"sans-serif"},{set:B,type:"identifier",role:"latinletter",font:"sans-serif-bold"},{set:j,type:"identifier",role:"latinletter",font:"sans-serif-bold"},{set:F,type:"identifier",role:"latinletter",font:"sans-serif-italic"},{set:D,type:"identifier",role:"latinletter",font:"sans-serif-italic"},{set:U,type:"identifier",role:"latinletter",font:"sans-serif-bold-italic"},{set:H,type:"identifier",role:"latinletter",font:"sans-serif-bold-italic"},{set:V,type:"identifier",role:"latinletter",font:"monospace"},{set:X,type:"identifier",role:"latinletter",font:"monospace"},{set:q,type:"identifier",role:"latinletter",font:"double-struck-italic"},{set:G,type:"identifier",role:"greekletter",font:"normal"},{set:W,type:"identifier",role:"greekletter",font:"normal"},{set:J,type:"identifier",role:"greekletter",font:"bold"},{set:z,type:"identifier",role:"greekletter",font:"bold"},{set:$,type:"identifier",role:"greekletter",font:"italic"},{set:K,type:"identifier",role:"greekletter",font:"italic"},{set:Z,type:"identifier",role:"greekletter",font:"bold-italic"},{set:Y,type:"identifier",role:"greekletter",font:"bold-italic"},{set:tt,type:"identifier",role:"greekletter",font:"sans-serif-bold"},{set:Q,type:"identifier",role:"greekletter",font:"sans-serif-bold"},{set:et,type:"identifier",role:"greekletter",font:"sans-serif-bold-italic"},{set:rt,type:"identifier",role:"greekletter",font:"sans-serif-bold-italic"},{set:nt,type:"identifier",role:"greekletter",font:"double-struck"},{set:ot,type:"identifier",role:"greekletter",font:"normal"},{set:it,type:"identifier",role:"greekletter",font:"bold"},{set:st,type:"identifier",role:"greekletter",font:"italic"},{set:at,type:"identifier",role:"greekletter",font:"sans-serif-bold"},{set:lt,type:"identifier",role:"otherletter",font:"normal"},{set:["0","1","2","3","4","5","6","7","8","9"],type:"number",role:"integer",font:"normal"},{set:["\uff10","\uff11","\uff12","\uff13","\uff14","\uff15","\uff16","\uff17","\uff18","\uff19"],type:"number",role:"integer",font:"normal"},{set:["\ud835\udfce","\ud835\udfcf","\ud835\udfd0","\ud835\udfd1","\ud835\udfd2","\ud835\udfd3","\ud835\udfd4","\ud835\udfd5","\ud835\udfd6","\ud835\udfd7"],type:"number",role:"integer",font:"bold"},{set:["\ud835\udfd8","\ud835\udfd9","\ud835\udfda","\ud835\udfdb","\ud835\udfdc","\ud835\udfdd","\ud835\udfde","\ud835\udfdf","\ud835\udfe0","\ud835\udfe1"],type:"number",role:"integer",font:"double-struck"},{set:["\ud835\udfe2","\ud835\udfe3","\ud835\udfe4","\ud835\udfe5","\ud835\udfe6","\ud835\udfe7","\ud835\udfe8","\ud835\udfe9","\ud835\udfea","\ud835\udfeb"],type:"number",role:"integer",font:"sans-serif"},{set:["\ud835\udfec","\ud835\udfed","\ud835\udfee","\ud835\udfef","\ud835\udff0","\ud835\udff1","\ud835\udff2","\ud835\udff3","\ud835\udff4","\ud835\udff5"],type:"number",role:"integer",font:"sans-serif-bold"},{set:["\ud835\udff6","\ud835\udff7","\ud835\udff8","\ud835\udff9","\ud835\udffa","\ud835\udffb","\ud835\udffc","\ud835\udffd","\ud835\udffe","\ud835\udfff"],type:"number",role:"integer",font:"monospace"},{set:mt,type:"number",role:"float"},{set:yt,type:"number",role:"othernumber"},{set:ut,type:"operator",role:"addition"},{set:ht,type:"operator",role:"multiplication"},{set:["\xaf","-","\u2052","\u207b","\u208b","\u2212","\u2216","\u2238","\u2242","\u2296","\u229f","\u2796","\u2a29","\u2a2a","\u2a2b","\u2a2c","\u2a3a","\u2a41","\ufe63","\uff0d","\u2010","\u2011"],type:"operator",role:"subtraction"},{set:["/","\xf7","\u2044","\u2215","\u2298","\u27cc","\u29bc","\u2a38"],type:"operator",role:"division"},{set:["\u2200","\u2203","\u2206","\u2207","\u2202","\u2201","\u2204"],type:"operator",role:"prefix operator"},{set:["\ud835\udec1","\ud835\udedb","\ud835\udfca","\ud835\udfcb"],type:"operator",role:"prefix operator",font:"bold"},{set:["\ud835\udefb","\ud835\udf15"],type:"operator",role:"prefix operator",font:"italic"},{set:["\ud835\udf6f","\ud835\udf89"],type:"operator",role:"prefix operator",font:"sans-serif-bold"},{set:["=","~","\u207c","\u208c","\u223c","\u223d","\u2243","\u2245","\u2248","\u224a","\u224b","\u224c","\u224d","\u224e","\u2251","\u2252","\u2253","\u2254","\u2255","\u2256","\u2257","\u2258","\u2259","\u225a","\u225b","\u225c","\u225d","\u225e","\u225f","\u2261","\u2263","\u29e4","\u2a66","\u2a6e","\u2a6f","\u2a70","\u2a71","\u2a72","\u2a73","\u2a74","\u2a75","\u2a76","\u2a77","\u2a78","\u22d5","\u2a6d","\u2a6a","\u2a6b","\u2a6c","\ufe66","\uff1d","\u2a6c","\u229c","\u2237"],type:"relation",role:"equality"},{set:["<",">","\u2241","\u2242","\u2244","\u2246","\u2247","\u2249","\u224f","\u2250","\u2260","\u2262","\u2264","\u2265","\u2266","\u2267","\u2268","\u2269","\u226a","\u226b","\u226c","\u226d","\u226e","\u226f","\u2270","\u2271","\u2272","\u2273","\u2274","\u2275","\u2276","\u2277","\u2278","\u2279","\u227a","\u227b","\u227c","\u227d","\u227e","\u227f","\u2280","\u2281","\u22d6","\u22d7","\u22d8","\u22d9","\u22da","\u22db","\u22dc","\u22dd","\u22de","\u22df","\u22e0","\u22e1","\u22e6","\u22e7","\u22e8","\u22e9","\u2a79","\u2a7a","\u2a7b","\u2a7c","\u2a7d","\u2a7e","\u2a7f","\u2a80","\u2a81","\u2a82","\u2a83","\u2a84","\u2a85","\u2a86","\u2a87","\u2a88","\u2a89","\u2a8a","\u2a8b","\u2a8c","\u2a8d","\u2a8e","\u2a8f","\u2a90","\u2a91","\u2a92","\u2a93","\u2a94","\u2a95","\u2a96","\u2a97","\u2a98","\u2a99","\u2a9a","\u2a9b","\u2a9c","\u2a9d","\u2a9e","\u2a9f","\u2aa0","\u2aa1","\u2aa2","\u2aa3","\u2aa4","\u2aa5","\u2aa6","\u2aa7","\u2aa8","\u2aa9","\u2aaa","\u2aab","\u2aac","\u2aad","\u2aae","\u2aaf","\u2ab0","\u2ab1","\u2ab2","\u2ab3","\u2ab4","\u2ab5","\u2ab6","\u2ab7","\u2ab8","\u2ab9","\u2aba","\u2abb","\u2abc","\u2af7","\u2af8","\u2af9","\u2afa","\u29c0","\u29c1","\ufe64","\ufe65","\uff1c","\uff1e"],type:"relation",role:"inequality"},{set:["\u22e2","\u22e3","\u22e4","\u22e5","\u2282","\u2283","\u2284","\u2285","\u2286","\u2287","\u2288","\u2289","\u228a","\u228b","\u228f","\u2290","\u2291","\u2292","\u2abd","\u2abe","\u2abf","\u2ac0","\u2ac1","\u2ac2","\u2ac3","\u2ac4","\u2ac5","\u2ac6","\u2ac7","\u2ac8","\u2ac9","\u2aca","\u2acb","\u2acc","\u2acd","\u2ace","\u2acf","\u2ad0","\u2ad1","\u2ad2","\u2ad3","\u2ad4","\u2ad5","\u2ad6","\u2ad7","\u2ad8","\u22d0","\u22d1","\u22ea","\u22eb","\u22ec","\u22ed","\u22b2","\u22b3","\u22b4","\u22b5"],type:"relation",role:"set"},{set:["\u22a2","\u22a3","\u22a6","\u22a7","\u22a8","\u22a9","\u22aa","\u22ab","\u22ac","\u22ad","\u22ae","\u22af","\u2ade","\u2adf","\u2ae0","\u2ae1","\u2ae2","\u2ae3","\u2ae4","\u2ae5","\u2ae6","\u2ae7","\u2ae8","\u2ae9","\u2aea","\u2aeb","\u2aec","\u2aed"],type:"relation",role:"unknown"},{set:["\u2190","\u2191","\u2192","\u2193","\u2194","\u2195","\u2196","\u2197","\u2198","\u2199","\u219a","\u219b","\u219c","\u219d","\u219e","\u219f","\u21a0","\u21a1","\u21a2","\u21a3","\u21a4","\u21a5","\u21a6","\u21a7","\u21a8","\u21a9","\u21aa","\u21ab","\u21ac","\u21ad","\u21ae","\u21af","\u21b0","\u21b1","\u21b2","\u21b3","\u21b4","\u21b5","\u21b6","\u21b7","\u21b8","\u21b9","\u21ba","\u21bb","\u21c4","\u21c5","\u21c6","\u21c7","\u21c8","\u21c9","\u21ca","\u21cd","\u21ce","\u21cf","\u21d0","\u21d1","\u21d2","\u21d3","\u21d4","\u21d5","\u21d6","\u21d7","\u21d8","\u21d9","\u21da","\u21db","\u21dc","\u21dd","\u21de","\u21df","\u21e0","\u21e1","\u21e2","\u21e3","\u21e4","\u21e5","\u21e6","\u21e7","\u21e8","\u21e9","\u21ea","\u21eb","\u21ec","\u21ed","\u21ee","\u21ef","\u21f0","\u21f1","\u21f2","\u21f3","\u21f4","\u21f5","\u21f6","\u21f7","\u21f8","\u21f9","\u21fa","\u21fb","\u21fc","\u21fd","\u21fe","\u21ff","\u2301","\u2303","\u2304","\u2324","\u238b","\u2794","\u2798","\u2799","\u279a","\u279b","\u279c","\u279d","\u279e","\u279f","\u27a0","\u27a1","\u27a2","\u27a3","\u27a4","\u27a5","\u27a6","\u27a7","\u27a8","\u27a9","\u27aa","\u27ab","\u27ac","\u27ad","\u27ae","\u27af","\u27b1","\u27b2","\u27b3","\u27b4","\u27b5","\u27b6","\u27b7","\u27b8","\u27b9","\u27ba","\u27bb","\u27bc","\u27bd","\u27be","\u27f0","\u27f1","\u27f2","\u27f3","\u27f4","\u27f5","\u27f6","\u27f7","\u27f8","\u27f9","\u27fa","\u27fb","\u27fc","\u27fd","\u27fe","\u27ff","\u2900","\u2901","\u2902","\u2903","\u2904","\u2905","\u2906","\u2907","\u2908","\u2909","\u290a","\u290b","\u290c","\u290d","\u290e","\u290f","\u2910","\u2911","\u2912","\u2913","\u2914","\u2915","\u2916","\u2917","\u2918","\u2919","\u291a","\u291b","\u291c","\u291d","\u291e","\u291f","\u2920","\u2921","\u2922","\u2923","\u2924","\u2925","\u2926","\u2927","\u2928","\u2929","\u292a","\u292d","\u292e","\u292f","\u2930","\u2931","\u2932","\u2933","\u2934","\u2935","\u2936","\u2937","\u2938","\u2939","\u293a","\u293b","\u293c","\u293d","\u293e","\u293f","\u2940","\u2941","\u2942","\u2943","\u2944","\u2945","\u2946","\u2947","\u2948","\u2949","\u2970","\u2971","\u2972","\u2973","\u2974","\u2975","\u2976","\u2977","\u2978","\u2979","\u297a","\u297b","\u29b3","\u29b4","\u29bd","\u29ea","\u29ec","\u29ed","\u2a17","\u2b00","\u2b01","\u2b02","\u2b03","\u2b04","\u2b05","\u2b06","\u2b07","\u2b08","\u2b09","\u2b0a","\u2b0b","\u2b0c","\u2b0d","\u2b0e","\u2b0f","\u2b10","\u2b11","\u2b30","\u2b31","\u2b32","\u2b33","\u2b34","\u2b35","\u2b36","\u2b37","\u2b38","\u2b39","\u2b3a","\u2b3b","\u2b3c","\u2b3d","\u2b3e","\u2b3f","\u2b40","\u2b41","\u2b42","\u2b43","\u2b44","\u2b45","\u2b46","\u2b47","\u2b48","\u2b49","\u2b4a","\u2b4b","\u2b4c","\uffe9","\uffea","\uffeb","\uffec","\u21bc","\u21bd","\u21be","\u21bf","\u21c0","\u21c1","\u21c2","\u21c3","\u21cb","\u21cc","\u294a","\u294b","\u294c","\u294d","\u294e","\u294f","\u2950","\u2951","\u2952","\u2953","\u2954","\u2955","\u2956","\u2957","\u2958","\u2959","\u295a","\u295b","\u295c","\u295d","\u295e","\u295f","\u2960","\u2961","\u2962","\u2963","\u2964","\u2965","\u2966","\u2967","\u2968","\u2969","\u296a","\u296b","\u296c","\u296d","\u296e","\u296f","\u297c","\u297d","\u297e","\u297f"],type:"relation",role:"arrow"},{set:["\u2208","\u220a","\u22f2","\u22f3","\u22f4","\u22f5","\u22f6","\u22f7","\u22f8","\u22f9","\u22ff"],type:"operator",role:"element"},{set:["\u2209"],type:"operator",role:"nonelement"},{set:["\u220b","\u220d","\u22fa","\u22fb","\u22fc","\u22fd","\u22fe"],type:"operator",role:"reelement"},{set:["\u220c"],type:"operator",role:"renonelement"},{set:["\u2140","\u220f","\u2210","\u2211","\u22c0","\u22c1","\u22c2","\u22c3","\u2a00","\u2a01","\u2a02","\u2a03","\u2a04","\u2a05","\u2a06","\u2a07","\u2a08","\u2a09","\u2a0a","\u2a0b","\u2afc","\u2aff"],type:"largeop",role:"sum"},{set:["\u222b","\u222c","\u222d","\u222e","\u222f","\u2230","\u2231","\u2232","\u2233","\u2a0c","\u2a0d","\u2a0e","\u2a0f","\u2a10","\u2a11","\u2a12","\u2a13","\u2a14","\u2a15","\u2a16","\u2a17","\u2a18","\u2a19","\u2a1a","\u2a1b","\u2a1c"],type:"largeop",role:"integral"},{set:["\u221f","\u2220","\u2221","\u2222","\u22be","\u22bf","\u25b3","\u25b7","\u25bd","\u25c1"],type:"operator",role:"geometry"},{set:["inf","lim","liminf","limsup","max","min","sup","injlim","projlim","inj lim","proj lim"],type:"function",role:"limit function"},{set:gt,type:"function",role:"prefix function"},{set:["mod","rem"],type:"operator",role:"prefix function"}],vt=function(){const t={};for(let e,r=0;e=bt[r];r++)e.set.forEach((function(r){t[r]={role:e.role||"unknown",type:e.type||"unknown",font:e.font||"unknown"}}));return t}();e.equal=function(t,e){return t.type===e.type&&t.role===e.role&&t.font===e.font},e.lookupType=function(t){var e;return(null===(e=vt[t])||void 0===e?void 0:e.type)||"unknown"},e.lookupRole=function(t){var e;return(null===(e=vt[t])||void 0===e?void 0:e.role)||"unknown"},e.lookupMeaning=function(t){return vt[t]||{role:"unknown",type:"unknown",font:"unknown"}},e.invisibleTimes=function(){return ft},e.invisiblePlus=function(){return pt},e.invisibleComma=function(){return r},e.functionApplication=function(){return dt},e.isMatchingFence=function(t,e){return-1!==h.indexOf(t)||-1!==f.indexOf(t)?t===e:s[t]===e||a[t]===e},e.isEmbellishedType=function(t){return"operator"===t||"relation"===t||"fence"===t||"punctuation"===t};const _t=new Map;function St(t,e){return`${t} ${e}`}function Mt(t,e,r=""){for(const n of e)_t.set(St(t,n),r||t)}Mt("d",["d","\u2146","\uff44","\ud835\udc1d","\ud835\udc51","\ud835\udcb9","\ud835\udced","\ud835\udd21","\ud835\udd55","\ud835\udd89","\ud835\uddbd","\ud835\uddf1","\ud835\ude25","\ud835\ude8d"]),Mt("bar",o),Mt("tilde",i),e.lookupSecondary=function(t,e){return _t.get(St(t,e))}},8158:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.SemanticMeaningCollator=e.SemanticNodeCollator=e.SemanticDefault=void 0;const n=r(3588),o=r(3882);class i{constructor(){this.map={}}static key(t,e){return e?t+":"+e:t}add(t,e){this.map[i.key(t,e.font)]=e}addNode(t){this.add(t.textContent,t.meaning())}retrieve(t,e){return this.map[i.key(t,e)]}retrieveNode(t){return this.retrieve(t.textContent,t.font)}size(){return Object.keys(this.map).length}}e.SemanticDefault=i;class s{constructor(){this.map={}}add(t,e){const r=this.map[t];r?r.push(e):this.map[t]=[e]}retrieve(t,e){return this.map[i.key(t,e)]}retrieveNode(t){return this.retrieve(t.textContent,t.font)}copy(){const t=this.copyCollator();for(const e in this.map)t.map[e]=this.map[e];return t}minimize(){for(const t in this.map)1===this.map[t].length&&delete this.map[t]}minimalCollator(){const t=this.copy();for(const e in t.map)1===t.map[e].length&&delete t.map[e];return t}isMultiValued(){for(const t in this.map)if(this.map[t].length>1)return!0;return!1}isEmpty(){return!Object.keys(this.map).length}}class a extends s{copyCollator(){return new a}add(t,e){const r=i.key(t,e.font);super.add(r,e)}addNode(t){this.add(t.textContent,t)}toString(){const t=[];for(const e in this.map){const r=Array(e.length+3).join(" "),n=this.map[e],o=[];for(let t,e=0;t=n[e];e++)o.push(t.toString());t.push(e+": "+o.join("\n"+r))}return t.join("\n")}collateMeaning(){const t=new l;for(const e in this.map)t.map[e]=this.map[e].map((function(t){return t.meaning()}));return t}}e.SemanticNodeCollator=a;class l extends s{copyCollator(){return new l}add(t,e){const r=this.retrieve(t,e.font);if(!r||!r.find((function(t){return n.equal(t,e)}))){const r=i.key(t,e.font);super.add(r,e)}}addNode(t){this.add(t.textContent,t.meaning())}toString(){const t=[];for(const e in this.map){const r=Array(e.length+3).join(" "),n=this.map[e],o=[];for(let t,e=0;t=n[e];e++)o.push("{type: "+t.type+", role: "+t.role+", font: "+t.font+"}");t.push(e+": "+o.join("\n"+r))}return t.join("\n")}reduce(){for(const t in this.map)1!==this.map[t].length&&(this.map[t]=(0,o.reduce)(this.map[t]))}default(){const t=new i;for(const e in this.map)1===this.map[e].length&&(t.map[e]=this.map[e][0]);return t}newDefault(){const t=this.default();this.reduce();const e=this.default();return t.size()!==e.size()?e:null}}e.SemanticMeaningCollator=l},9911:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.SemanticMultiHeuristic=e.SemanticTreeHeuristic=e.SemanticAbstractHeuristic=void 0;class r{constructor(t,e,r=(t=>!1)){this.name=t,this.apply=e,this.applicable=r}}e.SemanticAbstractHeuristic=r;e.SemanticTreeHeuristic=class extends r{};e.SemanticMultiHeuristic=class extends r{}},7516:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.lookup=e.run=e.add=e.blacklist=e.flags=e.updateFactory=e.factory=void 0,e.factory=null,e.updateFactory=function(t){e.factory=t};const r=new Map;function n(t){return r.get(t)}e.flags={combine_juxtaposition:!0,convert_juxtaposition:!0,multioperator:!0},e.blacklist={},e.add=function(t){const n=t.name;r.set(n,t),e.flags[n]||(e.flags[n]=!1)},e.run=function(t,r,o){const i=n(t);return i&&!e.blacklist[t]&&(e.flags[t]||i.applicable(r))?i.apply(r):o?o(r):r},e.lookup=n},94:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});const n=r(2057),o=r(5897),i=r(3588),s=r(7516),a=r(9911),l=r(5609),c=r(3308),u=r(4795);function p(t,e,r){let n=null;if(!t.length)return n;const o=r[r.length-1],i=o&&o.length,s=e&&e.length,a=c.default.getInstance();if(i&&s){if("infixop"===e[0].type&&"implicit"===e[0].role)return n=t.pop(),o.push(a.postfixNode_(o.pop(),t)),n;n=t.shift();const r=a.prefixNode_(e.shift(),t);return e.unshift(r),n}return i?(o.push(a.postfixNode_(o.pop(),t)),n):(s&&e.unshift(a.prefixNode_(e.shift(),t)),n)}function h(t,e,r){if(!e.length)return t;const o=t.pop(),i=e.shift(),a=r.shift();if(l.isImplicitOp(i)){n.Debugger.getInstance().output("Juxta Heuristic Case 2");const s=(o?[o,i]:[i]).concat(a);return h(t.concat(s),e,r)}if(!o)return n.Debugger.getInstance().output("Juxta Heuristic Case 3"),h([i].concat(a),e,r);const c=a.shift();if(!c){n.Debugger.getInstance().output("Juxta Heuristic Case 9");const a=s.factory.makeBranchNode("infixop",[o,e.shift()],[i],i.textContent);return a.role="implicit",s.run("combine_juxtaposition",a),e.unshift(a),h(t,e,r)}if(l.isOperator(o)||l.isOperator(c))return n.Debugger.getInstance().output("Juxta Heuristic Case 4"),h(t.concat([o,i,c]).concat(a),e,r);let u=null;return l.isImplicitOp(o)&&l.isImplicitOp(c)?(n.Debugger.getInstance().output("Juxta Heuristic Case 5"),o.contentNodes.push(i),o.contentNodes=o.contentNodes.concat(c.contentNodes),o.childNodes.push(c),o.childNodes=o.childNodes.concat(c.childNodes),c.childNodes.forEach((t=>t.parent=o)),i.parent=o,o.addMathmlNodes(i.mathml),o.addMathmlNodes(c.mathml),u=o):l.isImplicitOp(o)?(n.Debugger.getInstance().output("Juxta Heuristic Case 6"),o.contentNodes.push(i),o.childNodes.push(c),c.parent=o,i.parent=o,o.addMathmlNodes(i.mathml),o.addMathmlNodes(c.mathml),u=o):l.isImplicitOp(c)?(n.Debugger.getInstance().output("Juxta Heuristic Case 7"),c.contentNodes.unshift(i),c.childNodes.unshift(o),o.parent=c,i.parent=c,c.addMathmlNodes(i.mathml),c.addMathmlNodes(o.mathml),u=c):(n.Debugger.getInstance().output("Juxta Heuristic Case 8"),u=s.factory.makeBranchNode("infixop",[o,c],[i],i.textContent),u.role="implicit"),t.push(u),h(t.concat(a),e,r)}s.add(new a.SemanticTreeHeuristic("combine_juxtaposition",(function(t){for(let e,r=t.childNodes.length-1;e=t.childNodes[r];r--)l.isImplicitOp(e)&&!e.nobreaking&&(t.childNodes.splice(r,1,...e.childNodes),t.contentNodes.splice(r,0,...e.contentNodes),e.childNodes.concat(e.contentNodes).forEach((function(e){e.parent=t})),t.addMathmlNodes(e.mathml));return t}))),s.add(new a.SemanticTreeHeuristic("propagateSimpleFunction",(t=>("infixop"!==t.type&&"fraction"!==t.type||!t.childNodes.every(l.isSimpleFunction)||(t.role="composed function"),t)),(t=>"clearspeak"===o.default.getInstance().domain))),s.add(new a.SemanticTreeHeuristic("simpleNamedFunction",(t=>("unit"!==t.role&&-1!==["f","g","h","F","G","H"].indexOf(t.textContent)&&(t.role="simple function"),t)),(t=>"clearspeak"===o.default.getInstance().domain))),s.add(new a.SemanticTreeHeuristic("propagateComposedFunction",(t=>("fenced"===t.type&&"composed function"===t.childNodes[0].role&&(t.role="composed function"),t)),(t=>"clearspeak"===o.default.getInstance().domain))),s.add(new a.SemanticTreeHeuristic("multioperator",(t=>{if("unknown"!==t.role||t.textContent.length<=1)return;const e=[...t.textContent].map(i.lookupMeaning).reduce((function(t,e){return t&&e.role&&"unknown"!==e.role&&e.role!==t?"unknown"===t?e.role:null:t}),"unknown");e&&(t.role=e)}))),s.add(new a.SemanticMultiHeuristic("convert_juxtaposition",(t=>{let e=u.partitionNodes(t,(function(t){return t.textContent===i.invisibleTimes()&&"operator"===t.type}));e=e.rel.length?function(t){const e=[],r=[];let n=t.comp.shift(),o=null,i=[];for(;t.comp.length;)if(i=[],n.length)o&&e.push(o),r.push(n),o=t.rel.shift(),n=t.comp.shift();else{for(o&&i.push(o);!n.length&&t.comp.length;)n=t.comp.shift(),i.push(t.rel.shift());o=p(i,n,r)}i.length||n.length?(e.push(o),r.push(n)):(i.push(o),p(i,n,r));return{rel:e,comp:r}}(e):e,t=e.comp[0];for(let r,n,o=1;r=e.comp[o],n=e.rel[o-1];o++)t.push(n),t=t.concat(r);return e=u.partitionNodes(t,(function(t){return t.textContent===i.invisibleTimes()&&("operator"===t.type||"infixop"===t.type)})),e.rel.length?h(e.comp.shift(),e.rel,e.comp):t}))),s.add(new a.SemanticTreeHeuristic("simple2prefix",(t=>(t.textContent.length>1&&!t.textContent[0].match(/[A-Z]/)&&(t.role="prefix function"),t)),(t=>"braille"===o.default.getInstance().modality&&"identifier"===t.type))),s.add(new a.SemanticTreeHeuristic("detect_cycle",(t=>{t.type="matrix",t.role="cycle";const e=t.childNodes[0];return e.type="row",e.role="cycle",e.textContent="",e.contentNodes=[],t}),(t=>"fenced"===t.type&&"infixop"===t.childNodes[0].type&&"implicit"===t.childNodes[0].role&&t.childNodes[0].childNodes.every((function(t){return"number"===t.type}))&&t.childNodes[0].contentNodes.every((function(t){return"space"===t.role})))))},7228:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.SemanticMathml=void 0;const n=r(5740),o=r(5250),i=r(5609),s=r(3308),a=r(4795);class l extends o.SemanticAbstractParser{constructor(){super("MathML"),this.parseMap_={SEMANTICS:this.semantics_.bind(this),MATH:this.rows_.bind(this),MROW:this.rows_.bind(this),MPADDED:this.rows_.bind(this),MSTYLE:this.rows_.bind(this),MFRAC:this.fraction_.bind(this),MSUB:this.limits_.bind(this),MSUP:this.limits_.bind(this),MSUBSUP:this.limits_.bind(this),MOVER:this.limits_.bind(this),MUNDER:this.limits_.bind(this),MUNDEROVER:this.limits_.bind(this),MROOT:this.root_.bind(this),MSQRT:this.sqrt_.bind(this),MTABLE:this.table_.bind(this),MLABELEDTR:this.tableLabeledRow_.bind(this),MTR:this.tableRow_.bind(this),MTD:this.tableCell_.bind(this),MS:this.text_.bind(this),MTEXT:this.text_.bind(this),MSPACE:this.space_.bind(this),"ANNOTATION-XML":this.text_.bind(this),MI:this.identifier_.bind(this),MN:this.number_.bind(this),MO:this.operator_.bind(this),MFENCED:this.fenced_.bind(this),MENCLOSE:this.enclosed_.bind(this),MMULTISCRIPTS:this.multiscripts_.bind(this),ANNOTATION:this.empty_.bind(this),NONE:this.empty_.bind(this),MACTION:this.action_.bind(this)};const t={type:"identifier",role:"numbersetletter",font:"double-struck"};["C","H","N","P","Q","R","Z","\u2102","\u210d","\u2115","\u2119","\u211a","\u211d","\u2124"].forEach((e=>this.getFactory().defaultMap.add(e,t)).bind(this))}static getAttribute_(t,e,r){if(!t.hasAttribute(e))return r;const n=t.getAttribute(e);return n.match(/^\s*$/)?null:n}parse(t){s.default.getInstance().setNodeFactory(this.getFactory());const e=n.toArray(t.childNodes),r=n.tagName(t),o=this.parseMap_[r],i=(o||this.dummy_.bind(this))(t,e);return a.addAttributes(i,t),-1!==["MATH","MROW","MPADDED","MSTYLE","SEMANTICS"].indexOf(r)||(i.mathml.unshift(t),i.mathmlTree=t),i}semantics_(t,e){return e.length?this.parse(e[0]):this.getFactory().makeEmptyNode()}rows_(t,e){const r=t.getAttribute("semantics");if(r&&r.match("bspr_"))return s.default.proof(t,r,this.parseList.bind(this));let n;return 1===(e=a.purgeNodes(e)).length?(n=this.parse(e[0]),"empty"!==n.type||n.mathmlTree||(n.mathmlTree=t)):n=s.default.getInstance().row(this.parseList(e)),n.mathml.unshift(t),n}fraction_(t,e){if(!e.length)return this.getFactory().makeEmptyNode();const r=this.parse(e[0]),n=e[1]?this.parse(e[1]):this.getFactory().makeEmptyNode();return s.default.getInstance().fractionLikeNode(r,n,t.getAttribute("linethickness"),"true"===t.getAttribute("bevelled"))}limits_(t,e){return s.default.getInstance().limitNode(n.tagName(t),this.parseList(e))}root_(t,e){return e[1]?this.getFactory().makeBranchNode("root",[this.parse(e[1]),this.parse(e[0])],[]):this.sqrt_(t,e)}sqrt_(t,e){const r=this.parseList(a.purgeNodes(e));return this.getFactory().makeBranchNode("sqrt",[s.default.getInstance().row(r)],[])}table_(t,e){const r=t.getAttribute("semantics");if(r&&r.match("bspr_"))return s.default.proof(t,r,this.parseList.bind(this));const n=this.getFactory().makeBranchNode("table",this.parseList(e),[]);return n.mathmlTree=t,s.default.tableToMultiline(n),n}tableRow_(t,e){const r=this.getFactory().makeBranchNode("row",this.parseList(e),[]);return r.role="table",r}tableLabeledRow_(t,e){if(!e.length)return this.tableRow_(t,e);const r=this.parse(e[0]);r.role="label";const n=this.getFactory().makeBranchNode("row",this.parseList(e.slice(1)),[r]);return n.role="table",n}tableCell_(t,e){const r=this.parseList(a.purgeNodes(e));let n;n=r.length?1===r.length&&i.isType(r[0],"empty")?r:[s.default.getInstance().row(r)]:[];const o=this.getFactory().makeBranchNode("cell",n,[]);return o.role="table",o}space_(t,e){const r=t.getAttribute("width"),o=r&&r.match(/[a-z]*$/);if(!o)return this.empty_(t,e);const i=o[0],a=parseFloat(r.slice(0,o.index)),l={cm:.4,pc:.5,em:.5,ex:1,in:.15,pt:5,mm:5}[i];if(!l||isNaN(a)||a1?this.parse(e[1]):this.getFactory().makeUnprocessed(t)}dummy_(t,e){const r=this.getFactory().makeUnprocessed(t);return r.role=t.tagName,r.textContent=t.textContent,r}leaf_(t,e){if(1===e.length&&e[0].nodeType!==n.NodeType.TEXT_NODE){const r=this.getFactory().makeUnprocessed(t);return r.role=e[0].tagName,a.addAttributes(r,e[0]),r}return this.getFactory().makeLeafNode(t.textContent,s.default.getInstance().font(t.getAttribute("mathvariant")))}}e.SemanticMathml=l},5952:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.SemanticNode=void 0;const n=r(5740),o=r(3588),i=r(4795);class s{constructor(t){this.id=t,this.mathml=[],this.parent=null,this.type="unknown",this.role="unknown",this.font="unknown",this.embellished=null,this.fencePointer="",this.childNodes=[],this.textContent="",this.mathmlTree=null,this.contentNodes=[],this.annotation={},this.attributes={},this.nobreaking=!1}static fromXml(t){const e=parseInt(t.getAttribute("id"),10),r=new s(e);return r.type=t.tagName,s.setAttribute(r,t,"role"),s.setAttribute(r,t,"font"),s.setAttribute(r,t,"embellished"),s.setAttribute(r,t,"fencepointer","fencePointer"),t.getAttribute("annotation")&&r.parseAnnotation(t.getAttribute("annotation")),i.addAttributes(r,t),s.processChildren(r,t),r}static setAttribute(t,e,r,n){n=n||r;const o=e.getAttribute(r);o&&(t[n]=o)}static processChildren(t,e){for(const r of n.toArray(e.childNodes)){if(r.nodeType===n.NodeType.TEXT_NODE){t.textContent=r.textContent;continue}const e=n.toArray(r.childNodes).map(s.fromXml);e.forEach((e=>e.parent=t)),"CONTENT"===n.tagName(r)?t.contentNodes=e:t.childNodes=e}}querySelectorAll(t){let e=[];for(let r,n=0;r=this.childNodes[n];n++)e=e.concat(r.querySelectorAll(t));for(let r,n=0;r=this.contentNodes[n];n++)e=e.concat(r.querySelectorAll(t));return t(this)&&e.unshift(this),e}xml(t,e){const r=function(r,n){const o=n.map((function(r){return r.xml(t,e)})),i=t.createElementNS("",r);for(let t,e=0;t=o[e];e++)i.appendChild(t);return i},n=t.createElementNS("",this.type);return e||this.xmlAttributes(n),n.textContent=this.textContent,this.contentNodes.length>0&&n.appendChild(r("content",this.contentNodes)),this.childNodes.length>0&&n.appendChild(r("children",this.childNodes)),n}toString(t=!1){const e=n.parseInput("");return n.serializeXml(this.xml(e,t))}allAttributes(){const t=[];return t.push(["role",this.role]),"unknown"!==this.font&&t.push(["font",this.font]),Object.keys(this.annotation).length&&t.push(["annotation",this.xmlAnnotation()]),this.embellished&&t.push(["embellished",this.embellished]),this.fencePointer&&t.push(["fencepointer",this.fencePointer]),t.push(["id",this.id.toString()]),t}xmlAnnotation(){const t=[];for(const e in this.annotation)this.annotation[e].forEach((function(r){t.push(e+":"+r)}));return t.join(";")}toJson(){const t={};t.type=this.type;const e=this.allAttributes();for(let r,n=0;r=e[n];n++)t[r[0]]=r[1].toString();return this.textContent&&(t.$t=this.textContent),this.childNodes.length&&(t.children=this.childNodes.map((function(t){return t.toJson()}))),this.contentNodes.length&&(t.content=this.contentNodes.map((function(t){return t.toJson()}))),t}updateContent(t,e){const r=e?t.replace(/^[ \f\n\r\t\v\u200b]*/,"").replace(/[ \f\n\r\t\v\u200b]*$/,""):t.trim();if(t=t&&!r?t:r,this.textContent===t)return;const n=(0,o.lookupMeaning)(t);this.textContent=t,this.role=n.role,this.type=n.type,this.font=n.font}addMathmlNodes(t){for(let e,r=0;e=t[r];r++)-1===this.mathml.indexOf(e)&&this.mathml.push(e)}appendChild(t){this.childNodes.push(t),this.addMathmlNodes(t.mathml),t.parent=this}replaceChild(t,e){const r=this.childNodes.indexOf(t);if(-1===r)return;t.parent=null,e.parent=this,this.childNodes[r]=e;const n=t.mathml.filter((function(t){return-1===e.mathml.indexOf(t)})),o=e.mathml.filter((function(e){return-1===t.mathml.indexOf(e)}));this.removeMathmlNodes(n),this.addMathmlNodes(o)}appendContentNode(t){t&&(this.contentNodes.push(t),this.addMathmlNodes(t.mathml),t.parent=this)}removeContentNode(t){if(t){const e=this.contentNodes.indexOf(t);-1!==e&&this.contentNodes.slice(e,1)}}equals(t){if(!t)return!1;if(this.type!==t.type||this.role!==t.role||this.textContent!==t.textContent||this.childNodes.length!==t.childNodes.length||this.contentNodes.length!==t.contentNodes.length)return!1;for(let e,r,n=0;e=this.childNodes[n],r=t.childNodes[n];n++)if(!e.equals(r))return!1;for(let e,r,n=0;e=this.contentNodes[n],r=t.contentNodes[n];n++)if(!e.equals(r))return!1;return!0}displayTree(){console.info(this.displayTree_(0))}addAnnotation(t,e){e&&this.addAnnotation_(t,e)}getAnnotation(t){const e=this.annotation[t];return e||[]}hasAnnotation(t,e){const r=this.annotation[t];return!!r&&-1!==r.indexOf(e)}parseAnnotation(t){const e=t.split(";");for(let t=0,r=e.length;t1)return!1;const r=e[0];if("infixop"===r.type){if("implicit"!==r.role)return!1;if(r.childNodes.some((t=>i(t,"infixop"))))return!1}return!0},e.isPrefixFunctionBoundary=function(t){return c(t)&&!a(t,"division")||i(t,"appl")||l(t)},e.isBigOpBoundary=function(t){return c(t)||l(t)},e.isIntegralDxBoundary=function(t,e){return!!e&&i(e,"identifier")&&n.lookupSecondary("d",t.textContent)},e.isIntegralDxBoundarySingle=function(t){if(i(t,"identifier")){const e=t.textContent[0];return e&&t.textContent[1]&&n.lookupSecondary("d",e)}return!1},e.isGeneralFunctionBoundary=l,e.isEmbellished=function(t){return t.embellished?t.embellished:n.isEmbellishedType(t.type)?t.type:null},e.isOperator=c,e.isRelation=u,e.isPunctuation=p,e.isFence=h,e.isElligibleEmbellishedFence=function(t){return!(!t||!h(t))&&(!t.embellished||f(t))},e.isTableOrMultiline=d,e.tableIsMatrixOrVector=function(t){return!!t&&m(t)&&d(t.childNodes[0])},e.isFencedElement=m,e.tableIsCases=function(t,e){return e.length>0&&a(e[e.length-1],"openfence")},e.tableIsMultiline=function(t){return t.childNodes.every((function(t){return t.childNodes.length<=1}))},e.lineIsLabelled=function(t){return i(t,"line")&&t.contentNodes.length&&a(t.contentNodes[0],"label")},e.isBinomial=function(t){return 2===t.childNodes.length},e.isLimitBase=function t(e){return i(e,"largeop")||i(e,"limboth")||i(e,"limlower")||i(e,"limupper")||i(e,"function")&&a(e,"limit function")||(i(e,"overscore")||i(e,"underscore"))&&t(e.childNodes[0])},e.isSimpleFunctionHead=function(t){return"identifier"===t.type||"latinletter"===t.role||"greekletter"===t.role||"otherletter"===t.role},e.singlePunctAtPosition=function(t,e,r){return 1===e.length&&("punctuation"===t[r].type||"punctuation"===t[r].embellished)&&t[r]===e[0]},e.isSimpleFunction=function(t){return i(t,"identifier")&&a(t,"simple function")},e.isLeftBrace=y,e.isRightBrace=g,e.isSetNode=function(t){return y(t.contentNodes[0])&&g(t.contentNodes[1])},e.illegalSingleton_=["punctuation","punctuated","relseq","multirel","table","multiline","cases","inference"],e.scriptedElement_=["limupper","limlower","limboth","subscript","superscript","underscore","overscore","tensor"],e.isSingletonSetContent=function t(r){const n=r.type;return-1===e.illegalSingleton_.indexOf(n)&&("infixop"!==n||"implicit"===r.role)&&("fenced"===n?"leftright"!==r.role||t(r.childNodes[0]):-1===e.scriptedElement_.indexOf(n)||t(r.childNodes[0]))},e.isNumber=b,e.isUnitCounter=function(t){return b(t)||"vulgar"===t.role||"mixed"===t.role},e.isPureUnit=function(t){const e=t.childNodes;return"unit"===t.role&&(!e.length||"unit"===e[0].role)},e.isImplicit=function(t){return"implicit"===t.role||"unit"===t.role&&!!t.contentNodes.length&&t.contentNodes[0].textContent===n.invisibleTimes()},e.isImplicitOp=function(t){return"infixop"===t.type&&"implicit"===t.role},e.isNeutralFence=v,e.compareNeutralFences=function(t,e){return v(t)&&v(e)&&(0,o.getEmbellishedInner)(t).textContent===(0,o.getEmbellishedInner)(e).textContent},e.elligibleLeftNeutral=function(t){return!!v(t)&&(!t.embellished||"superscript"!==t.type&&"subscript"!==t.type&&("tensor"!==t.type||"empty"===t.childNodes[3].type&&"empty"===t.childNodes[4].type))},e.elligibleRightNeutral=function(t){return!!v(t)&&(!t.embellished||("tensor"!==t.type||"empty"===t.childNodes[1].type&&"empty"===t.childNodes[2].type))},e.isMembership=function(t){return["element","nonelement","reelement","renonelement"].includes(t.role)}},3308:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});const n=r(5740),o=r(3588),i=r(7516),s=r(6537),a=r(5609),l=r(4795);class c{constructor(){this.funcAppls={},this.factory_=new s.SemanticNodeFactory,i.updateFactory(this.factory_)}static getInstance(){return c.instance=c.instance||new c,c.instance}static tableToMultiline(t){if(a.tableIsMultiline(t)){t.type="multiline";for(let e,r=0;e=t.childNodes[r];r++)c.rowToLine_(e,"multiline");1===t.childNodes.length&&!a.lineIsLabelled(t.childNodes[0])&&a.isFencedElement(t.childNodes[0].childNodes[0])&&c.tableToMatrixOrVector_(c.rewriteFencedLine_(t)),c.binomialForm_(t),c.classifyMultiline(t)}else c.classifyTable(t)}static number(t){"unknown"!==t.type&&"identifier"!==t.type||(t.type="number"),c.numberRole_(t),c.exprFont_(t)}static classifyMultiline(t){let e=0;const r=t.childNodes.length;let n;for(;e=r)return;const o=n.childNodes[0].role;"unknown"!==o&&t.childNodes.every((function(t){const e=t.childNodes[0];return!e||e.role===o&&(a.isType(e,"relation")||a.isType(e,"relseq"))}))&&(t.role=o)}static classifyTable(t){const e=c.computeColumns_(t);c.classifyByColumns_(t,e,"equality")||c.classifyByColumns_(t,e,"inequality",["equality"])||c.classifyByColumns_(t,e,"arrow")||c.detectCaleyTable(t)}static detectCaleyTable(t){if(!t.mathmlTree)return!1;const e=t.mathmlTree,r=e.getAttribute("columnlines"),n=e.getAttribute("rowlines");return!(!r||!n)&&(!(!c.cayleySpacing(r)||!c.cayleySpacing(n))&&(t.role="cayley",!0))}static cayleySpacing(t){const e=t.split(" ");return("solid"===e[0]||"dashed"===e[0])&&e.slice(1).every((t=>"none"===t))}static proof(t,e,r){const n=c.separateSemantics(e);return c.getInstance().proof(t,n,r)}static findSemantics(t,e,r){const n=null==r?null:r,o=c.getSemantics(t);return!!o&&(!!o[e]&&(null==n||o[e]===n))}static getSemantics(t){const e=t.getAttribute("semantics");return e?c.separateSemantics(e):null}static removePrefix(t){const[,...e]=t.split("_");return e.join("_")}static separateSemantics(t){const e={};return t.split(";").forEach((function(t){const[r,n]=t.split(":");e[c.removePrefix(r)]=n})),e}static matchSpaces_(t,e){for(let r,n=0;r=e[n];n++){const e=t[n].mathmlTree,o=t[n+1].mathmlTree;if(!e||!o)continue;const i=e.nextSibling;if(!i||i===o)continue;const s=c.getSpacer_(i);s&&(r.mathml.push(s),r.mathmlTree=s,r.role="space")}}static getSpacer_(t){if("MSPACE"===n.tagName(t))return t;for(;l.hasEmptyTag(t)&&1===t.childNodes.length;)if(t=t.childNodes[0],"MSPACE"===n.tagName(t))return t;return null}static fenceToPunct_(t){const e=c.FENCE_TO_PUNCT_[t.role];if(e){for(;t.embellished;)t.embellished="punctuation",a.isRole(t,"subsup")||a.isRole(t,"underover")||(t.role=e),t=t.childNodes[0];t.type="punctuation",t.role=e}}static classifyFunction_(t,e){if("appl"===t.type||"bigop"===t.type||"integral"===t.type)return"";if(e[0]&&e[0].textContent===o.functionApplication()){c.getInstance().funcAppls[t.id]=e.shift();let r="simple function";return i.run("simple2prefix",t),"prefix function"!==t.role&&"limit function"!==t.role||(r=t.role),c.propagateFunctionRole_(t,r),"prefix"}const r=c.CLASSIFY_FUNCTION_[t.role];return r||(a.isSimpleFunctionHead(t)?"simple":"")}static propagateFunctionRole_(t,e){if(t){if("infixop"===t.type)return;a.isRole(t,"subsup")||a.isRole(t,"underover")||(t.role=e),c.propagateFunctionRole_(t.childNodes[0],e)}}static getFunctionOp_(t,e){if(e(t))return t;for(let r,n=0;r=t.childNodes[n];n++){const t=c.getFunctionOp_(r,e);if(t)return t}return null}static tableToMatrixOrVector_(t){const e=t.childNodes[0];a.isType(e,"multiline")?c.tableToVector_(t):c.tableToMatrix_(t),t.contentNodes.forEach(e.appendContentNode.bind(e));for(let t,r=0;t=e.childNodes[r];r++)c.assignRoleToRow_(t,c.getComponentRoles_(e));return e.parent=null,e}static tableToVector_(t){const e=t.childNodes[0];e.type="vector",1!==e.childNodes.length?c.binomialForm_(e):c.tableToSquare_(t)}static binomialForm_(t){a.isBinomial(t)&&(t.role="binomial",t.childNodes[0].role="binomial",t.childNodes[1].role="binomial")}static tableToMatrix_(t){const e=t.childNodes[0];e.type="matrix",e.childNodes&&e.childNodes.length>0&&e.childNodes[0].childNodes&&e.childNodes.length===e.childNodes[0].childNodes.length?c.tableToSquare_(t):e.childNodes&&1===e.childNodes.length&&(e.role="rowvector")}static tableToSquare_(t){const e=t.childNodes[0];a.isNeutralFence(t)?e.role="determinant":e.role="squarematrix"}static getComponentRoles_(t){const e=t.role;return e&&"unknown"!==e?e:t.type.toLowerCase()||"unknown"}static tableToCases_(t,e){for(let e,r=0;e=t.childNodes[r];r++)c.assignRoleToRow_(e,"cases");return t.type="cases",t.appendContentNode(e),a.tableIsMultiline(t)&&c.binomialForm_(t),t}static rewriteFencedLine_(t){const e=t.childNodes[0],r=t.childNodes[0].childNodes[0],n=t.childNodes[0].childNodes[0].childNodes[0];return r.parent=t.parent,t.parent=r,n.parent=e,r.childNodes=[t],e.childNodes=[n],r}static rowToLine_(t,e){const r=e||"unknown";a.isType(t,"row")&&(t.type="line",t.role=r,1===t.childNodes.length&&a.isType(t.childNodes[0],"cell")&&(t.childNodes=t.childNodes[0].childNodes,t.childNodes.forEach((function(e){e.parent=t}))))}static assignRoleToRow_(t,e){a.isType(t,"line")?t.role=e:a.isType(t,"row")&&(t.role=e,t.childNodes.forEach((function(t){a.isType(t,"cell")&&(t.role=e)})))}static nextSeparatorFunction_(t){let e;if(t){if(t.match(/^\s+$/))return null;e=t.replace(/\s/g,"").split("").filter((function(t){return t}))}else e=[","];return function(){return e.length>1?e.shift():e[0]}}static numberRole_(t){if("unknown"!==t.role)return;const e=[...t.textContent].filter((t=>t.match(/[^\s]/))),r=e.map(o.lookupMeaning);if(r.every((function(t){return"number"===t.type&&"integer"===t.role||"punctuation"===t.type&&"comma"===t.role})))return t.role="integer",void("0"===e[0]&&t.addAnnotation("general","basenumber"));r.every((function(t){return"number"===t.type&&"integer"===t.role||"punctuation"===t.type}))?t.role="float":t.role="othernumber"}static exprFont_(t){if("unknown"!==t.font)return;const e=[...t.textContent].map(o.lookupMeaning).reduce((function(t,e){return t&&e.font&&"unknown"!==e.font&&e.font!==t?"unknown"===t?e.font:null:t}),"unknown");e&&(t.font=e)}static purgeFences_(t){const e=t.rel,r=t.comp,n=[],o=[];for(;e.length>0;){const t=e.shift();let i=r.shift();a.isElligibleEmbellishedFence(t)?(n.push(t),o.push(i)):(c.fenceToPunct_(t),i.push(t),i=i.concat(r.shift()),r.unshift(i))}return o.push(r.shift()),{rel:n,comp:o}}static rewriteFencedNode_(t){const e=t.contentNodes[0],r=t.contentNodes[1];let n=c.rewriteFence_(t,e);return t.contentNodes[0]=n.fence,n=c.rewriteFence_(n.node,r),t.contentNodes[1]=n.fence,t.contentNodes[0].parent=t,t.contentNodes[1].parent=t,n.node.parent=null,n.node}static rewriteFence_(t,e){if(!e.embellished)return{node:t,fence:e};const r=e.childNodes[0],n=c.rewriteFence_(t,r);return a.isType(e,"superscript")||a.isType(e,"subscript")||a.isType(e,"tensor")?(a.isRole(e,"subsup")||(e.role=t.role),r!==n.node&&(e.replaceChild(r,n.node),r.parent=t),c.propagateFencePointer_(e,r),{node:e,fence:n.fence}):(e.replaceChild(r,n.fence),e.mathmlTree&&-1===e.mathml.indexOf(e.mathmlTree)&&e.mathml.push(e.mathmlTree),{node:n.node,fence:e})}static propagateFencePointer_(t,e){t.fencePointer=e.fencePointer||e.id.toString(),t.embellished=null}static classifyByColumns_(t,e,r,n){return!!(3===e.length&&c.testColumns_(e,1,(t=>c.isPureRelation_(t,r)))||2===e.length&&(c.testColumns_(e,1,(t=>c.isEndRelation_(t,r)||c.isPureRelation_(t,r)))||c.testColumns_(e,0,(t=>c.isEndRelation_(t,r,!0)||c.isPureRelation_(t,r)))))&&(t.role=r,!0)}static isEndRelation_(t,e,r){const n=r?t.childNodes.length-1:0;return a.isType(t,"relseq")&&a.isRole(t,e)&&a.isType(t.childNodes[n],"empty")}static isPureRelation_(t,e){return a.isType(t,"relation")&&a.isRole(t,e)}static computeColumns_(t){const e=[];for(let r,n=0;r=t.childNodes[n];n++)for(let t,n=0;t=r.childNodes[n];n++){e[n]?e[n].push(t):e[n]=[t]}return e}static testColumns_(t,e,r){const n=t[e];return!!n&&(n.some((function(t){return t.childNodes.length&&r(t.childNodes[0])}))&&n.every((function(t){return!t.childNodes.length||r(t.childNodes[0])})))}setNodeFactory(t){c.getInstance().factory_=t,i.updateFactory(c.getInstance().factory_)}getNodeFactory(){return c.getInstance().factory_}identifierNode(t,e,r){if("MathML-Unit"===r)t.type="identifier",t.role="unit";else if(!e&&1===t.textContent.length&&("integer"===t.role||"latinletter"===t.role||"greekletter"===t.role)&&"normal"===t.font)return t.font="italic",i.run("simpleNamedFunction",t);return"unknown"===t.type&&(t.type="identifier"),c.exprFont_(t),i.run("simpleNamedFunction",t)}implicitNode(t){if(t=c.getInstance().getMixedNumbers_(t),1===(t=c.getInstance().combineUnits_(t)).length)return t[0];const e=c.getInstance().implicitNode_(t);return i.run("combine_juxtaposition",e)}text(t,e){return c.exprFont_(t),t.type="text","MS"===e?(t.role="string",t):"MSPACE"===e||t.textContent.match(/^\s*$/)?(t.role="space",t):t}row(t){return 0===(t=t.filter((function(t){return!a.isType(t,"empty")}))).length?c.getInstance().factory_.makeEmptyNode():(t=c.getInstance().getFencesInRow_(t),t=c.getInstance().tablesInRow(t),t=c.getInstance().getPunctuationInRow_(t),t=c.getInstance().getTextInRow_(t),t=c.getInstance().getFunctionsInRow_(t),c.getInstance().relationsInRow_(t))}limitNode(t,e){if(!e.length)return c.getInstance().factory_.makeEmptyNode();let r,n=e[0],o="unknown";if(!e[1])return n;if(a.isLimitBase(n)){r=c.MML_TO_LIMIT_[t];const i=r.length;if(o=r.type,e=e.slice(0,r.length+1),1===i&&a.isAccent(e[1])||2===i&&a.isAccent(e[1])&&a.isAccent(e[2]))return r=c.MML_TO_BOUNDS_[t],c.getInstance().accentNode_(n,e,r.type,r.length,r.accent);if(2===i){if(a.isAccent(e[1]))return n=c.getInstance().accentNode_(n,[n,e[1]],{MSUBSUP:"subscript",MUNDEROVER:"underscore"}[t],1,!0),e[2]?c.getInstance().makeLimitNode_(n,[n,e[2]],null,"limupper"):n;if(e[2]&&a.isAccent(e[2]))return n=c.getInstance().accentNode_(n,[n,e[2]],{MSUBSUP:"superscript",MUNDEROVER:"overscore"}[t],1,!0),c.getInstance().makeLimitNode_(n,[n,e[1]],null,"limlower");e[i]||(o="limlower")}return c.getInstance().makeLimitNode_(n,e,null,o)}return r=c.MML_TO_BOUNDS_[t],c.getInstance().accentNode_(n,e,r.type,r.length,r.accent)}tablesInRow(t){let e=l.partitionNodes(t,a.tableIsMatrixOrVector),r=[];for(let t,n=0;t=e.rel[n];n++)r=r.concat(e.comp.shift()),r.push(c.tableToMatrixOrVector_(t));r=r.concat(e.comp.shift()),e=l.partitionNodes(r,a.isTableOrMultiline),r=[];for(let t,n=0;t=e.rel[n];n++){const n=e.comp.shift();a.tableIsCases(t,n)&&c.tableToCases_(t,n.pop()),r=r.concat(n),r.push(t)}return r.concat(e.comp.shift())}mfenced(t,e,r,n){if(r&&n.length>0){const t=c.nextSeparatorFunction_(r),e=[n.shift()];n.forEach((r=>{e.push(c.getInstance().factory_.makeContentNode(t())),e.push(r)})),n=e}return t&&e?c.getInstance().horizontalFencedNode_(c.getInstance().factory_.makeContentNode(t),c.getInstance().factory_.makeContentNode(e),n):(t&&n.unshift(c.getInstance().factory_.makeContentNode(t)),e&&n.push(c.getInstance().factory_.makeContentNode(e)),c.getInstance().row(n))}fractionLikeNode(t,e,r,n){let o;if(!n&&l.isZeroLength(r)){const r=c.getInstance().factory_.makeBranchNode("line",[t],[]),n=c.getInstance().factory_.makeBranchNode("line",[e],[]);return o=c.getInstance().factory_.makeBranchNode("multiline",[r,n],[]),c.binomialForm_(o),c.classifyMultiline(o),o}return o=c.getInstance().fractionNode_(t,e),n&&o.addAnnotation("general","bevelled"),o}tensor(t,e,r,n,o){const i=c.getInstance().factory_.makeBranchNode("tensor",[t,c.getInstance().scriptNode_(e,"leftsub"),c.getInstance().scriptNode_(r,"leftsuper"),c.getInstance().scriptNode_(n,"rightsub"),c.getInstance().scriptNode_(o,"rightsuper")],[]);return i.role=t.role,i.embellished=a.isEmbellished(t),i}pseudoTensor(t,e,r){const n=t=>!a.isType(t,"empty"),o=e.filter(n).length,i=r.filter(n).length;if(!o&&!i)return t;const s=o?i?"MSUBSUP":"MSUB":"MSUP",l=[t];return o&&l.push(c.getInstance().scriptNode_(e,"rightsub",!0)),i&&l.push(c.getInstance().scriptNode_(r,"rightsuper",!0)),c.getInstance().limitNode(s,l)}font(t){const e=c.MATHJAX_FONTS[t];return e||t}proof(t,e,r){if(e.inference||e.axiom||console.log("Noise"),e.axiom){const e=c.getInstance().cleanInference(t.childNodes),n=e.length?c.getInstance().factory_.makeBranchNode("inference",r(e),[]):c.getInstance().factory_.makeEmptyNode();return n.role="axiom",n.mathmlTree=t,n}const n=c.getInstance().inference(t,e,r);return e.proof&&(n.role="proof",n.childNodes[0].role="final"),n}inference(t,e,r){if(e.inferenceRule){const e=c.getInstance().getFormulas(t,[],r);return c.getInstance().factory_.makeBranchNode("inference",[e.conclusion,e.premises],[])}const o=e.labelledRule,i=n.toArray(t.childNodes),s=[];"left"!==o&&"both"!==o||s.push(c.getInstance().getLabel(t,i,r,"left")),"right"!==o&&"both"!==o||s.push(c.getInstance().getLabel(t,i,r,"right"));const a=c.getInstance().getFormulas(t,i,r),l=c.getInstance().factory_.makeBranchNode("inference",[a.conclusion,a.premises],s);return l.mathmlTree=t,l}getLabel(t,e,r,o){const i=c.getInstance().findNestedRow(e,"prooflabel",o),s=c.getInstance().factory_.makeBranchNode("rulelabel",r(n.toArray(i.childNodes)),[]);return s.role=o,s.mathmlTree=i,s}getFormulas(t,e,r){const o=e.length?c.getInstance().findNestedRow(e,"inferenceRule"):t,i="up"===c.getSemantics(o).inferenceRule,s=i?o.childNodes[1]:o.childNodes[0],a=i?o.childNodes[0]:o.childNodes[1],l=s.childNodes[0].childNodes[0],u=n.toArray(l.childNodes[0].childNodes),p=[];let h=1;for(const t of u)h%2&&p.push(t.childNodes[0]),h++;const f=r(p),d=r(n.toArray(a.childNodes[0].childNodes))[0],m=c.getInstance().factory_.makeBranchNode("premises",f,[]);m.mathmlTree=l;const y=c.getInstance().factory_.makeBranchNode("conclusion",[d],[]);return y.mathmlTree=a.childNodes[0].childNodes[0],{conclusion:y,premises:m}}findNestedRow(t,e,r){return c.getInstance().findNestedRow_(t,e,0,r)}cleanInference(t){return n.toArray(t).filter((function(t){return"MSPACE"!==n.tagName(t)}))}operatorNode(t){return"unknown"===t.type&&(t.type="operator"),i.run("multioperator",t)}implicitNode_(t){const e=c.getInstance().factory_.makeMultipleContentNodes(t.length-1,o.invisibleTimes());c.matchSpaces_(t,e);const r=c.getInstance().infixNode_(t,e[0]);return r.role="implicit",e.forEach((function(t){t.parent=r})),r.contentNodes=e,r}infixNode_(t,e){const r=c.getInstance().factory_.makeBranchNode("infixop",t,[e],l.getEmbellishedInner(e).textContent);return r.role=e.role,i.run("propagateSimpleFunction",r)}explicitMixed_(t){const e=l.partitionNodes(t,(function(t){return t.textContent===o.invisiblePlus()}));if(!e.rel.length)return t;let r=[];for(let t,n=0;t=e.rel[n];n++){const o=e.comp[n],i=e.comp[n+1],s=o.length-1;if(o[s]&&i[0]&&a.isType(o[s],"number")&&!a.isRole(o[s],"mixed")&&a.isType(i[0],"fraction")){const t=c.getInstance().factory_.makeBranchNode("number",[o[s],i[0]],[]);t.role="mixed",r=r.concat(o.slice(0,s)),r.push(t),i.shift()}else r=r.concat(o),r.push(t)}return r.concat(e.comp[e.comp.length-1])}concatNode_(t,e,r){if(0===e.length)return t;const n=e.map((function(t){return l.getEmbellishedInner(t).textContent})).join(" "),o=c.getInstance().factory_.makeBranchNode(r,[t],e,n);return e.length>1&&(o.role="multiop"),o}prefixNode_(t,e){const r=l.partitionNodes(e,(t=>a.isRole(t,"subtraction")));let n=c.getInstance().concatNode_(t,r.comp.pop(),"prefixop");for(1===n.contentNodes.length&&"addition"===n.contentNodes[0].role&&"+"===n.contentNodes[0].textContent&&(n.role="positive");r.rel.length>0;)n=c.getInstance().concatNode_(n,[r.rel.pop()],"prefixop"),n.role="negative",n=c.getInstance().concatNode_(n,r.comp.pop(),"prefixop");return n}postfixNode_(t,e){return e.length?c.getInstance().concatNode_(t,e,"postfixop"):t}combineUnits_(t){const e=l.partitionNodes(t,(function(t){return!a.isRole(t,"unit")}));if(t.length===e.rel.length)return e.rel;const r=[];let n,o;do{const t=e.comp.shift();n=e.rel.shift();let i=null;o=r.pop(),o&&(t.length&&a.isUnitCounter(o)?t.unshift(o):r.push(o)),1===t.length&&(i=t.pop()),t.length>1&&(i=c.getInstance().implicitNode_(t),i.role="unit"),i&&r.push(i),n&&r.push(n)}while(n);return r}getMixedNumbers_(t){const e=l.partitionNodes(t,(function(t){return a.isType(t,"fraction")&&a.isRole(t,"vulgar")}));if(!e.rel.length)return t;let r=[];for(let t,n=0;t=e.rel[n];n++){const o=e.comp[n],i=o.length-1;if(o[i]&&a.isType(o[i],"number")&&(a.isRole(o[i],"integer")||a.isRole(o[i],"float"))){const e=c.getInstance().factory_.makeBranchNode("number",[o[i],t],[]);e.role="mixed",r=r.concat(o.slice(0,i)),r.push(e)}else r=r.concat(o),r.push(t)}return r.concat(e.comp[e.comp.length-1])}getTextInRow_(t){if(t.length<=1)return t;const e=l.partitionNodes(t,(t=>a.isType(t,"text")));if(0===e.rel.length)return t;const r=[];let n=e.comp[0];n.length>0&&r.push(c.getInstance().row(n));for(let t,o=0;t=e.rel[o];o++)r.push(t),n=e.comp[o+1],n.length>0&&r.push(c.getInstance().row(n));return[c.getInstance().dummyNode_(r)]}relationsInRow_(t){const e=l.partitionNodes(t,a.isRelation),r=e.rel[0];if(!r)return c.getInstance().operationsInRow_(t);if(1===t.length)return t[0];const n=e.comp.map(c.getInstance().operationsInRow_);let o;return e.rel.some((function(t){return!t.equals(r)}))?(o=c.getInstance().factory_.makeBranchNode("multirel",n,e.rel),e.rel.every((function(t){return t.role===r.role}))&&(o.role=r.role),o):(o=c.getInstance().factory_.makeBranchNode("relseq",n,e.rel,l.getEmbellishedInner(r).textContent),o.role=r.role,o)}operationsInRow_(t){if(0===t.length)return c.getInstance().factory_.makeEmptyNode();if(1===(t=c.getInstance().explicitMixed_(t)).length)return t[0];const e=[];for(;t.length>0&&a.isOperator(t[0]);)e.push(t.shift());if(0===t.length)return c.getInstance().prefixNode_(e.pop(),e);if(1===t.length)return c.getInstance().prefixNode_(t[0],e);t=i.run("convert_juxtaposition",t);const r=l.sliceNodes(t,a.isOperator),n=c.getInstance().prefixNode_(c.getInstance().implicitNode(r.head),e);return r.div?c.getInstance().operationsTree_(r.tail,n,r.div):n}operationsTree_(t,e,r,n){const o=n||[];if(0===t.length){if(o.unshift(r),"infixop"===e.type){const t=c.getInstance().postfixNode_(e.childNodes.pop(),o);return e.appendChild(t),e}return c.getInstance().postfixNode_(e,o)}const i=l.sliceNodes(t,a.isOperator);if(0===i.head.length)return o.push(i.div),c.getInstance().operationsTree_(i.tail,e,r,o);const s=c.getInstance().prefixNode_(c.getInstance().implicitNode(i.head),o),u=c.getInstance().appendOperand_(e,r,s);return i.div?c.getInstance().operationsTree_(i.tail,u,i.div,[]):u}appendOperand_(t,e,r){if("infixop"!==t.type)return c.getInstance().infixNode_([t,r],e);const n=c.getInstance().appendDivisionOp_(t,e,r);return n||(c.getInstance().appendExistingOperator_(t,e,r)?t:"multiplication"===e.role?c.getInstance().appendMultiplicativeOp_(t,e,r):c.getInstance().appendAdditiveOp_(t,e,r))}appendDivisionOp_(t,e,r){return"division"===e.role?a.isImplicit(t)?c.getInstance().infixNode_([t,r],e):c.getInstance().appendLastOperand_(t,e,r):"division"===t.role?c.getInstance().infixNode_([t,r],e):null}appendLastOperand_(t,e,r){let n=t,o=t.childNodes[t.childNodes.length-1];for(;o&&"infixop"===o.type&&!a.isImplicit(o);)n=o,o=n.childNodes[t.childNodes.length-1];const i=c.getInstance().infixNode_([n.childNodes.pop(),r],e);return n.appendChild(i),t}appendMultiplicativeOp_(t,e,r){if(a.isImplicit(t))return c.getInstance().infixNode_([t,r],e);let n=t,o=t.childNodes[t.childNodes.length-1];for(;o&&"infixop"===o.type&&!a.isImplicit(o);)n=o,o=n.childNodes[t.childNodes.length-1];const i=c.getInstance().infixNode_([n.childNodes.pop(),r],e);return n.appendChild(i),t}appendAdditiveOp_(t,e,r){return c.getInstance().infixNode_([t,r],e)}appendExistingOperator_(t,e,r){return!(!t||"infixop"!==t.type||a.isImplicit(t))&&(t.contentNodes[0].equals(e)?(t.appendContentNode(e),t.appendChild(r),!0):c.getInstance().appendExistingOperator_(t.childNodes[t.childNodes.length-1],e,r))}getFencesInRow_(t){let e=l.partitionNodes(t,a.isFence);e=c.purgeFences_(e);const r=e.comp.shift();return c.getInstance().fences_(e.rel,e.comp,[],[r])}fences_(t,e,r,n){if(0===t.length&&0===r.length)return n[0];const o=t=>a.isRole(t,"open");if(0===t.length){const t=n.shift();for(;r.length>0;){if(o(r[0])){const e=r.shift();c.fenceToPunct_(e),t.push(e)}else{const e=l.sliceNodes(r,o),i=e.head.length-1,s=c.getInstance().neutralFences_(e.head,n.slice(0,i));n=n.slice(i),t.push(...s),e.div&&e.tail.unshift(e.div),r=e.tail}t.push(...n.shift())}return t}const i=r[r.length-1],s=t[0].role;if("open"===s||a.isNeutralFence(t[0])&&(!i||!a.compareNeutralFences(t[0],i))){r.push(t.shift());const o=e.shift();return o&&n.push(o),c.getInstance().fences_(t,e,r,n)}if(i&&"close"===s&&"open"===i.role){const o=c.getInstance().horizontalFencedNode_(r.pop(),t.shift(),n.pop());return n.push(n.pop().concat([o],e.shift())),c.getInstance().fences_(t,e,r,n)}if(i&&a.compareNeutralFences(t[0],i)){if(!a.elligibleLeftNeutral(i)||!a.elligibleRightNeutral(t[0])){r.push(t.shift());const o=e.shift();return o&&n.push(o),c.getInstance().fences_(t,e,r,n)}const o=c.getInstance().horizontalFencedNode_(r.pop(),t.shift(),n.pop());return n.push(n.pop().concat([o],e.shift())),c.getInstance().fences_(t,e,r,n)}if(i&&"close"===s&&a.isNeutralFence(i)&&r.some(o)){const i=l.sliceNodes(r,o,!0),s=n.pop(),a=n.length-i.tail.length+1,u=c.getInstance().neutralFences_(i.tail,n.slice(a));n=n.slice(0,a);const p=c.getInstance().horizontalFencedNode_(i.div,t.shift(),n.pop().concat(u,s));return n.push(n.pop().concat([p],e.shift())),c.getInstance().fences_(t,e,i.head,n)}const u=t.shift();return c.fenceToPunct_(u),n.push(n.pop().concat([u],e.shift())),c.getInstance().fences_(t,e,r,n)}neutralFences_(t,e){if(0===t.length)return t;if(1===t.length)return c.fenceToPunct_(t[0]),t;const r=t.shift();if(!a.elligibleLeftNeutral(r)){c.fenceToPunct_(r);const n=e.shift();return n.unshift(r),n.concat(c.getInstance().neutralFences_(t,e))}const n=l.sliceNodes(t,(function(t){return a.compareNeutralFences(t,r)}));if(!n.div){c.fenceToPunct_(r);const n=e.shift();return n.unshift(r),n.concat(c.getInstance().neutralFences_(t,e))}if(!a.elligibleRightNeutral(n.div))return c.fenceToPunct_(n.div),t.unshift(r),c.getInstance().neutralFences_(t,e);const o=c.getInstance().combineFencedContent_(r,n.div,n.head,e);if(n.tail.length>0){const t=o.shift(),e=c.getInstance().neutralFences_(n.tail,o);return t.concat(e)}return o[0]}combineFencedContent_(t,e,r,n){if(0===r.length){const r=c.getInstance().horizontalFencedNode_(t,e,n.shift());return n.length>0?n[0].unshift(r):n=[[r]],n}const o=n.shift(),i=r.length-1,s=n.slice(0,i),a=(n=n.slice(i)).shift(),l=c.getInstance().neutralFences_(r,s);o.push(...l),o.push(...a);const u=c.getInstance().horizontalFencedNode_(t,e,o);return n.length>0?n[0].unshift(u):n=[[u]],n}horizontalFencedNode_(t,e,r){const n=c.getInstance().row(r);let o=c.getInstance().factory_.makeBranchNode("fenced",[n],[t,e]);return"open"===t.role?(c.getInstance().classifyHorizontalFence_(o),o=i.run("propagateComposedFunction",o)):o.role=t.role,o=i.run("detect_cycle",o),c.rewriteFencedNode_(o)}classifyHorizontalFence_(t){t.role="leftright";const e=t.childNodes;if(!a.isSetNode(t)||e.length>1)return;if(0===e.length||"empty"===e[0].type)return void(t.role="set empty");const r=e[0].type;if(1===e.length&&a.isSingletonSetContent(e[0]))return void(t.role="set singleton");const n=e[0].role;if("punctuated"===r&&"sequence"===n){if("comma"!==e[0].contentNodes[0].role)return 1!==e[0].contentNodes.length||"vbar"!==e[0].contentNodes[0].role&&"colon"!==e[0].contentNodes[0].role?void 0:(t.role="set extended",void c.getInstance().setExtension_(t));t.role="set collection"}}setExtension_(t){const e=t.childNodes[0].childNodes[0];e&&"infixop"===e.type&&1===e.contentNodes.length&&a.isMembership(e.contentNodes[0])&&(e.addAnnotation("set","intensional"),e.contentNodes[0].addAnnotation("set","intensional"))}getPunctuationInRow_(t){if(t.length<=1)return t;const e=t=>{const e=t.type;return"punctuation"===e||"text"===e||"operator"===e||"relation"===e},r=l.partitionNodes(t,(function(r){if(!a.isPunctuation(r))return!1;if(a.isPunctuation(r)&&!a.isRole(r,"ellipsis"))return!0;const n=t.indexOf(r);if(0===n)return!t[1]||!e(t[1]);const o=t[n-1];if(n===t.length-1)return!e(o);const i=t[n+1];return!e(o)||!e(i)}));if(0===r.rel.length)return t;const n=[];let o=r.comp.shift();o.length>0&&n.push(c.getInstance().row(o));let i=0;for(;r.comp.length>0;)n.push(r.rel[i++]),o=r.comp.shift(),o.length>0&&n.push(c.getInstance().row(o));return[c.getInstance().punctuatedNode_(n,r.rel)]}punctuatedNode_(t,e){const r=c.getInstance().factory_.makeBranchNode("punctuated",t,e);if(e.length===t.length){const t=e[0].role;if("unknown"!==t&&e.every((function(e){return e.role===t})))return r.role=t,r}return a.singlePunctAtPosition(t,e,0)?r.role="startpunct":a.singlePunctAtPosition(t,e,t.length-1)?r.role="endpunct":e.every((t=>a.isRole(t,"dummy")))?r.role="text":e.every((t=>a.isRole(t,"space")))?r.role="space":r.role="sequence",r}dummyNode_(t){const e=c.getInstance().factory_.makeMultipleContentNodes(t.length-1,o.invisibleComma());return e.forEach((function(t){t.role="dummy"})),c.getInstance().punctuatedNode_(t,e)}accentRole_(t,e){if(!a.isAccent(t))return!1;const r=t.textContent,n=o.lookupSecondary("bar",r)||o.lookupSecondary("tilde",r)||t.role;return t.role="underscore"===e?"underaccent":"overaccent",t.addAnnotation("accent",n),!0}accentNode_(t,e,r,n,o){const i=(e=e.slice(0,n+1))[1],s=e[2];let a;if(!o&&s&&(a=c.getInstance().factory_.makeBranchNode("subscript",[t,i],[]),a.role="subsup",e=[a,s],r="superscript"),o){const n=c.getInstance().accentRole_(i,r);if(s){c.getInstance().accentRole_(s,"overscore")&&!n?(a=c.getInstance().factory_.makeBranchNode("overscore",[t,s],[]),e=[a,i],r="underscore"):(a=c.getInstance().factory_.makeBranchNode("underscore",[t,i],[]),e=[a,s],r="overscore"),a.role="underover"}}return c.getInstance().makeLimitNode_(t,e,a,r)}makeLimitNode_(t,e,r,n){if("limupper"===n&&"limlower"===t.type)return t.childNodes.push(e[1]),e[1].parent=t,t.type="limboth",t;if("limlower"===n&&"limupper"===t.type)return t.childNodes.splice(1,-1,e[1]),e[1].parent=t,t.type="limboth",t;const o=c.getInstance().factory_.makeBranchNode(n,e,[]),i=a.isEmbellished(t);return r&&(r.embellished=i),o.embellished=i,o.role=t.role,o}getFunctionsInRow_(t,e){const r=e||[];if(0===t.length)return r;const n=t.shift(),o=c.classifyFunction_(n,t);if(!o)return r.push(n),c.getInstance().getFunctionsInRow_(t,r);const i=c.getInstance().getFunctionsInRow_(t,[]),s=c.getInstance().getFunctionArgs_(n,i,o);return r.concat(s)}getFunctionArgs_(t,e,r){let n,o,i;switch(r){case"integral":{const r=c.getInstance().getIntegralArgs_(e);if(!r.intvar&&!r.integrand.length)return r.rest.unshift(t),r.rest;const n=c.getInstance().row(r.integrand);return i=c.getInstance().integralNode_(t,n,r.intvar),r.rest.unshift(i),r.rest}case"prefix":if(e[0]&&"fenced"===e[0].type){const r=e.shift();return a.isNeutralFence(r)||(r.role="leftright"),i=c.getInstance().functionNode_(t,r),e.unshift(i),e}if(n=l.sliceNodes(e,a.isPrefixFunctionBoundary),n.head.length)o=c.getInstance().row(n.head),n.div&&n.tail.unshift(n.div);else{if(!n.div||!a.isType(n.div,"appl"))return e.unshift(t),e;o=n.div}return i=c.getInstance().functionNode_(t,o),n.tail.unshift(i),n.tail;case"bigop":return n=l.sliceNodes(e,a.isBigOpBoundary),n.head.length?(o=c.getInstance().row(n.head),i=c.getInstance().bigOpNode_(t,o),n.div&&n.tail.unshift(n.div),n.tail.unshift(i),n.tail):(e.unshift(t),e);default:{if(0===e.length)return[t];const r=e[0];return"fenced"===r.type&&!a.isNeutralFence(r)&&a.isSimpleFunctionScope(r)?(r.role="leftright",c.propagateFunctionRole_(t,"simple function"),i=c.getInstance().functionNode_(t,e.shift()),e.unshift(i),e):(e.unshift(t),e)}}}getIntegralArgs_(t,e=[]){if(0===t.length)return{integrand:e,intvar:null,rest:t};const r=t[0];if(a.isGeneralFunctionBoundary(r))return{integrand:e,intvar:null,rest:t};if(a.isIntegralDxBoundarySingle(r))return r.role="integral",{integrand:e,intvar:r,rest:t.slice(1)};if(t[1]&&a.isIntegralDxBoundary(r,t[1])){const n=c.getInstance().prefixNode_(t[1],[r]);return n.role="integral",{integrand:e,intvar:n,rest:t.slice(2)}}return e.push(t.shift()),c.getInstance().getIntegralArgs_(t,e)}functionNode_(t,e){const r=c.getInstance().factory_.makeContentNode(o.functionApplication()),n=c.getInstance().funcAppls[t.id];n&&(r.mathmlTree=n.mathmlTree,r.mathml=n.mathml,r.annotation=n.annotation,r.attributes=n.attributes,delete c.getInstance().funcAppls[t.id]),r.type="punctuation",r.role="application";const i=c.getFunctionOp_(t,(function(t){return a.isType(t,"function")||a.isType(t,"identifier")&&a.isRole(t,"simple function")}));return c.getInstance().functionalNode_("appl",[t,e],i,[r])}bigOpNode_(t,e){const r=c.getFunctionOp_(t,(t=>a.isType(t,"largeop")));return c.getInstance().functionalNode_("bigop",[t,e],r,[])}integralNode_(t,e,r){e=e||c.getInstance().factory_.makeEmptyNode(),r=r||c.getInstance().factory_.makeEmptyNode();const n=c.getFunctionOp_(t,(t=>a.isType(t,"largeop")));return c.getInstance().functionalNode_("integral",[t,e,r],n,[])}functionalNode_(t,e,r,n){const o=e[0];let i;r&&(i=r.parent,n.push(r));const s=c.getInstance().factory_.makeBranchNode(t,e,n);return s.role=o.role,i&&(r.parent=i),s}fractionNode_(t,e){const r=c.getInstance().factory_.makeBranchNode("fraction",[t,e],[]);return r.role=r.childNodes.every((function(t){return a.isType(t,"number")&&a.isRole(t,"integer")}))?"vulgar":r.childNodes.every(a.isPureUnit)?"unit":"division",i.run("propagateSimpleFunction",r)}scriptNode_(t,e,r){let n;switch(t.length){case 0:n=c.getInstance().factory_.makeEmptyNode();break;case 1:if(n=t[0],r)return n;break;default:n=c.getInstance().dummyNode_(t)}return n.role=e,n}findNestedRow_(t,e,r,o){if(r>3)return null;for(let i,s=0;i=t[s];s++){const t=n.tagName(i);if("MSPACE"!==t){if("MROW"===t)return c.getInstance().findNestedRow_(n.toArray(i.childNodes),e,r+1,o);if(c.findSemantics(i,e,o))return i}}return null}}e.default=c,c.FENCE_TO_PUNCT_={metric:"metric",neutral:"vbar",open:"openfence",close:"closefence"},c.MML_TO_LIMIT_={MSUB:{type:"limlower",length:1},MUNDER:{type:"limlower",length:1},MSUP:{type:"limupper",length:1},MOVER:{type:"limupper",length:1},MSUBSUP:{type:"limboth",length:2},MUNDEROVER:{type:"limboth",length:2}},c.MML_TO_BOUNDS_={MSUB:{type:"subscript",length:1,accent:!1},MSUP:{type:"superscript",length:1,accent:!1},MSUBSUP:{type:"subscript",length:2,accent:!1},MUNDER:{type:"underscore",length:1,accent:!0},MOVER:{type:"overscore",length:1,accent:!0},MUNDEROVER:{type:"underscore",length:2,accent:!0}},c.CLASSIFY_FUNCTION_={integral:"integral",sum:"bigop","prefix function":"prefix","limit function":"prefix","simple function":"prefix","composed function":"prefix"},c.MATHJAX_FONTS={"-tex-caligraphic":"caligraphic","-tex-caligraphic-bold":"caligraphic-bold","-tex-calligraphic":"caligraphic","-tex-calligraphic-bold":"caligraphic-bold","-tex-oldstyle":"oldstyle","-tex-oldstyle-bold":"oldstyle-bold","-tex-mathit":"italic"}},5656:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.SemanticSkeleton=void 0;const n=r(707),o=r(5274),i=r(2298);class s{constructor(t){this.parents=null,this.levelsMap=null,t=0===t?t:t||[],this.array=t}static fromTree(t){return s.fromNode(t.root)}static fromNode(t){return new s(s.fromNode_(t))}static fromString(t){return new s(s.fromString_(t))}static simpleCollapseStructure(t){return"number"==typeof t}static contentCollapseStructure(t){return!!t&&!s.simpleCollapseStructure(t)&&"c"===t[0]}static interleaveIds(t,e){return n.interleaveLists(s.collapsedLeafs(t),s.collapsedLeafs(e))}static collapsedLeafs(...t){return t.reduce(((t,e)=>{return t.concat((r=e,s.simpleCollapseStructure(r)?[r]:(r=r,s.contentCollapseStructure(r[1])?r.slice(2):r.slice(1))));var r}),[])}static fromStructure(t,e){return new s(s.tree_(t,e.root))}static combineContentChildren(t,e,r){switch(t.type){case"relseq":case"infixop":case"multirel":return n.interleaveLists(r,e);case"prefixop":return e.concat(r);case"postfixop":return r.concat(e);case"fenced":return r.unshift(e[0]),r.push(e[1]),r;case"appl":return[r[0],e[0],r[1]];case"root":return[r[1],r[0]];case"row":case"line":return e.length&&r.unshift(e[0]),r;default:return r}}static makeSexp_(t){return s.simpleCollapseStructure(t)?t.toString():s.contentCollapseStructure(t)?"(c "+t.slice(1).map(s.makeSexp_).join(" ")+")":"("+t.map(s.makeSexp_).join(" ")+")"}static fromString_(t){let e=t.replace(/\(/g,"[");return e=e.replace(/\)/g,"]"),e=e.replace(/ /g,","),e=e.replace(/c/g,'"c"'),JSON.parse(e)}static fromNode_(t){if(!t)return[];const e=t.contentNodes;let r;e.length&&(r=e.map(s.fromNode_),r.unshift("c"));const n=t.childNodes;if(!n.length)return e.length?[t.id,r]:t.id;const o=n.map(s.fromNode_);return e.length&&o.unshift(r),o.unshift(t.id),o}static tree_(t,e){if(!e)return[];if(!e.childNodes.length)return e.id;const r=e.id,n=[r],a=o.evalXPath(`.//self::*[@${i.Attribute.ID}=${r}]`,t)[0],l=s.combineContentChildren(e,e.contentNodes.map((function(t){return t})),e.childNodes.map((function(t){return t})));a&&s.addOwns_(a,l);for(let e,r=0;e=l[r];r++)n.push(s.tree_(t,e));return n}static addOwns_(t,e){const r=t.getAttribute(i.Attribute.COLLAPSED),n=r?s.realLeafs_(s.fromString(r).array):e.map((t=>t.id));t.setAttribute(i.Attribute.OWNS,n.join(" "))}static realLeafs_(t){if(s.simpleCollapseStructure(t))return[t];if(s.contentCollapseStructure(t))return[];t=t;let e=[];for(let r=1;rs.simpleCollapseStructure(t)?t:s.contentCollapseStructure(t)?t[1]:t[0]))}subtreeNodes(t){if(!this.isRoot(t))return[];const e=(t,r)=>{s.simpleCollapseStructure(t)?r.push(t):(t=t,s.contentCollapseStructure(t)&&(t=t.slice(1)),t.forEach((t=>e(t,r))))},r=this.levelsMap[t],n=[];return e(r.slice(1),n),n}}e.SemanticSkeleton=s},7075:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.SemanticTree=void 0;const n=r(5740),o=r(7630),i=r(9265),s=r(7228),a=r(5952),l=r(5609);r(94);class c{constructor(t){this.mathml=t,this.parser=new s.SemanticMathml,this.root=this.parser.parse(t),this.collator=this.parser.getFactory().leafMap.collateMeaning();const e=this.collator.newDefault();e&&(this.parser=new s.SemanticMathml,this.parser.getFactory().defaultMap=e,this.root=this.parser.parse(t)),u.visit(this.root,{}),(0,o.annotate)(this.root)}static empty(){const t=n.parseInput(""),e=new c(t);return e.mathml=t,e}static fromNode(t,e){const r=c.empty();return r.root=t,e&&(r.mathml=e),r}static fromRoot(t,e){let r=t;for(;r.parent;)r=r.parent;const n=c.fromNode(r);return e&&(n.mathml=e),n}static fromXml(t){const e=c.empty();return t.childNodes[0]&&(e.root=a.SemanticNode.fromXml(t.childNodes[0])),e}xml(t){const e=n.parseInput(""),r=this.root.xml(e.ownerDocument,t);return e.appendChild(r),e}toString(t){return n.serializeXml(this.xml(t))}formatXml(t){const e=this.toString(t);return n.formatXml(e)}displayTree(){this.root.displayTree()}replaceNode(t,e){const r=t.parent;r?r.replaceChild(t,e):this.root=e}toJson(){const t={};return t.stree=this.root.toJson(),t}}e.SemanticTree=c;const u=new i.SemanticVisitor("general","unit",((t,e)=>{if("infixop"===t.type&&("multiplication"===t.role||"implicit"===t.role)){const e=t.childNodes;e.length&&(l.isPureUnit(e[0])||l.isUnitCounter(e[0]))&&t.childNodes.slice(1).every(l.isPureUnit)&&(t.role="unit")}return!1}))},4795:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.partitionNodes=e.sliceNodes=e.getEmbellishedInner=e.addAttributes=e.isZeroLength=e.purgeNodes=e.isOrphanedGlyph=e.hasDisplayTag=e.hasEmptyTag=e.hasIgnoreTag=e.hasLeafTag=e.hasMathTag=e.directSpeechKeys=e.DISPLAYTAGS=e.EMPTYTAGS=e.IGNORETAGS=e.LEAFTAGS=void 0;const n=r(5740);function o(t){return!!t&&-1!==e.LEAFTAGS.indexOf(n.tagName(t))}function i(t,e,r){r&&t.reverse();const n=[];for(let o,i=0;o=t[i];i++){if(e(o))return r?{head:t.slice(i+1).reverse(),div:o,tail:n.reverse()}:{head:n,div:o,tail:t.slice(i+1)};n.push(o)}return r?{head:[],div:null,tail:n.reverse()}:{head:n,div:null,tail:[]}}e.LEAFTAGS=["MO","MI","MN","MTEXT","MS","MSPACE"],e.IGNORETAGS=["MERROR","MPHANTOM","MALIGNGROUP","MALIGNMARK","MPRESCRIPTS","ANNOTATION","ANNOTATION-XML"],e.EMPTYTAGS=["MATH","MROW","MPADDED","MACTION","NONE","MSTYLE","SEMANTICS"],e.DISPLAYTAGS=["MROOT","MSQRT"],e.directSpeechKeys=["aria-label","exact-speech","alt"],e.hasMathTag=function(t){return!!t&&"MATH"===n.tagName(t)},e.hasLeafTag=o,e.hasIgnoreTag=function(t){return!!t&&-1!==e.IGNORETAGS.indexOf(n.tagName(t))},e.hasEmptyTag=function(t){return!!t&&-1!==e.EMPTYTAGS.indexOf(n.tagName(t))},e.hasDisplayTag=function(t){return!!t&&-1!==e.DISPLAYTAGS.indexOf(n.tagName(t))},e.isOrphanedGlyph=function(t){return!!t&&"MGLYPH"===n.tagName(t)&&!o(t.parentNode)},e.purgeNodes=function(t){const r=[];for(let o,i=0;o=t[i];i++){if(o.nodeType!==n.NodeType.ELEMENT_NODE)continue;const t=n.tagName(o);-1===e.IGNORETAGS.indexOf(t)&&(-1!==e.EMPTYTAGS.indexOf(t)&&0===o.childNodes.length||r.push(o))}return r},e.isZeroLength=function(t){if(!t)return!1;if(-1!==["negativeveryverythinmathspace","negativeverythinmathspace","negativethinmathspace","negativemediummathspace","negativethickmathspace","negativeverythickmathspace","negativeveryverythickmathspace"].indexOf(t))return!0;const e=t.match(/[0-9.]+/);return!!e&&0===parseFloat(e[0])},e.addAttributes=function(t,r){if(r.hasAttributes()){const n=r.attributes;for(let r=n.length-1;r>=0;r--){const o=n[r].name;o.match(/^ext/)&&(t.attributes[o]=n[r].value,t.nobreaking=!0),-1!==e.directSpeechKeys.indexOf(o)&&(t.attributes["ext-speech"]=n[r].value,t.nobreaking=!0),o.match(/texclass$/)&&(t.attributes.texclass=n[r].value),"href"===o&&(t.attributes.href=n[r].value,t.nobreaking=!0)}}},e.getEmbellishedInner=function t(e){return e&&e.embellished&&e.childNodes.length>0?t(e.childNodes[0]):e},e.sliceNodes=i,e.partitionNodes=function(t,e){let r=t;const n=[],o=[];let s=null;do{s=i(r,e),o.push(s.head),n.push(s.div),r=s.tail}while(s.div);return n.pop(),{rel:n,comp:o}}},6278:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractSpeechGenerator=void 0;const n=r(6828),o=r(2298),i=r(1214),s=r(9543);e.AbstractSpeechGenerator=class{constructor(){this.modality=o.addPrefix("speech"),this.rebuilt_=null,this.options_={}}getRebuilt(){return this.rebuilt_}setRebuilt(t){this.rebuilt_=t}setOptions(t){this.options_=t||{},this.modality=o.addPrefix(this.options_.modality||"speech")}getOptions(){return this.options_}start(){}end(){}generateSpeech(t,e){return this.rebuilt_||(this.rebuilt_=new i.RebuildStree(e)),(0,n.setup)(this.options_),s.computeMarkup(this.getRebuilt().xml)}}},1452:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.AdhocSpeechGenerator=void 0;const n=r(6278);class o extends n.AbstractSpeechGenerator{getSpeech(t,e){const r=this.generateSpeech(t,e);return t.setAttribute(this.modality,r),r}}e.AdhocSpeechGenerator=o},5152:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.ColorGenerator=void 0;const n=r(2298),o=r(8396),i=r(1214),s=r(1204),a=r(6278);class l extends a.AbstractSpeechGenerator{constructor(){super(...arguments),this.modality=(0,n.addPrefix)("foreground"),this.contrast=new o.ContrastPicker}static visitStree_(t,e,r){if(t.childNodes.length){if(t.contentNodes.length&&("punctuated"===t.type&&t.contentNodes.forEach((t=>r[t.id]=!0)),"implicit"!==t.role&&e.push(t.contentNodes.map((t=>t.id)))),t.childNodes.length){if("implicit"===t.role){const n=[];let o=[];for(const e of t.childNodes){const t=[];l.visitStree_(e,t,r),t.length<=2&&n.push(t.shift()),o=o.concat(t)}return e.push(n),void o.forEach((t=>e.push(t)))}t.childNodes.forEach((t=>l.visitStree_(t,e,r)))}}else r[t.id]||e.push(t.id)}getSpeech(t,e){return s.getAttribute(t,this.modality)}generateSpeech(t,e){return this.getRebuilt()||this.setRebuilt(new i.RebuildStree(t)),this.colorLeaves_(t),s.getAttribute(t,this.modality)}colorLeaves_(t){const e=[];l.visitStree_(this.getRebuilt().streeRoot,e,{});for(const r of e){const e=this.contrast.generate();let n=!1;n=Array.isArray(r)?r.map((r=>this.colorLeave_(t,r,e))).reduce(((t,e)=>t||e),!1):this.colorLeave_(t,r.toString(),e),n&&this.contrast.increment()}}colorLeave_(t,e,r){const n=s.getBySemanticId(t,e);return!!n&&(n.setAttribute(this.modality,r),!0)}}e.ColorGenerator=l},6604:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.DirectSpeechGenerator=void 0;const n=r(1204),o=r(6278);class i extends o.AbstractSpeechGenerator{getSpeech(t,e){return n.getAttribute(t,this.modality)}}e.DirectSpeechGenerator=i},3123:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.DummySpeechGenerator=void 0;const n=r(6278);class o extends n.AbstractSpeechGenerator{getSpeech(t,e){return""}}e.DummySpeechGenerator=o},5858:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.NodeSpeechGenerator=void 0;const n=r(1204),o=r(4598);class i extends o.TreeSpeechGenerator{getSpeech(t,e){return super.getSpeech(t,e),n.getAttribute(t,this.modality)}}e.NodeSpeechGenerator=i},9552:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.generatorMapping_=e.generator=void 0;const n=r(1452),o=r(5152),i=r(6604),s=r(3123),a=r(5858),l=r(597),c=r(4598);e.generator=function(t){return(e.generatorMapping_[t]||e.generatorMapping_.Direct)()},e.generatorMapping_={Adhoc:()=>new n.AdhocSpeechGenerator,Color:()=>new o.ColorGenerator,Direct:()=>new i.DirectSpeechGenerator,Dummy:()=>new s.DummySpeechGenerator,Node:()=>new a.NodeSpeechGenerator,Summary:()=>new l.SummarySpeechGenerator,Tree:()=>new c.TreeSpeechGenerator}},9543:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.computeSummary_=e.retrieveSummary=e.connectAllMactions=e.connectMactions=e.nodeAtPosition_=e.computePrefix_=e.retrievePrefix=e.addPrefix=e.addModality=e.addSpeech=e.recomputeMarkup=e.computeMarkup=e.recomputeSpeech=e.computeSpeech=void 0;const n=r(8290),o=r(5740),i=r(5274),s=r(2298),a=r(2362),l=r(7075),c=r(1204);function u(t){return a.SpeechRuleEngine.getInstance().evaluateNode(t)}function p(t){return u(l.SemanticTree.fromNode(t).xml())}function h(t){const e=p(t);return n.markup(e)}function f(t){const e=d(t);return n.markup(e)}function d(t){const e=l.SemanticTree.fromRoot(t),r=i.evalXPath('.//*[@id="'+t.id+'"]',e.xml());let n=r[0];return r.length>1&&(n=m(t,r)||n),n?a.SpeechRuleEngine.getInstance().runInSetting({modality:"prefix",domain:"default",style:"default",strict:!0,speech:!0},(function(){return a.SpeechRuleEngine.getInstance().evaluateNode(n)})):[]}function m(t,e){const r=e[0];if(!t.parent)return r;const n=[];for(;t;)n.push(t.id),t=t.parent;const o=function(t,e){for(;e.length&&e.shift().toString()===t.getAttribute("id")&&t.parentNode&&t.parentNode.parentNode;)t=t.parentNode.parentNode;return!e.length};for(let t,r=0;t=e[r];r++)if(o(t,n.slice()))return t;return r}function y(t){return t?a.SpeechRuleEngine.getInstance().runInSetting({modality:"summary",strict:!1,speech:!0},(function(){return a.SpeechRuleEngine.getInstance().evaluateNode(t)})):[]}e.computeSpeech=u,e.recomputeSpeech=p,e.computeMarkup=function(t){const e=u(t);return n.markup(e)},e.recomputeMarkup=h,e.addSpeech=function(t,e,r){const i=o.querySelectorAllByAttrValue(r,"id",e.id.toString())[0],a=i?n.markup(u(i)):h(e);t.setAttribute(s.Attribute.SPEECH,a)},e.addModality=function(t,e,r){const n=h(e);t.setAttribute(r,n)},e.addPrefix=function(t,e){const r=f(e);r&&t.setAttribute(s.Attribute.PREFIX,r)},e.retrievePrefix=f,e.computePrefix_=d,e.nodeAtPosition_=m,e.connectMactions=function(t,e,r){const n=o.querySelectorAll(e,"maction");for(let e,i=0;e=n[i];i++){const n=e.getAttribute("id"),i=o.querySelectorAllByAttrValue(t,"id",n)[0];if(!i)continue;const a=e.childNodes[1],l=a.getAttribute(s.Attribute.ID);let u=c.getBySemanticId(t,l);if(u&&"dummy"!==u.getAttribute(s.Attribute.TYPE))continue;if(u=i.childNodes[0],u.getAttribute("sre-highlighter-added"))continue;const p=a.getAttribute(s.Attribute.PARENT);p&&u.setAttribute(s.Attribute.PARENT,p),u.setAttribute(s.Attribute.TYPE,"dummy"),u.setAttribute(s.Attribute.ID,l);o.querySelectorAllByAttrValue(r,"id",l)[0].setAttribute("alternative",l)}},e.connectAllMactions=function(t,e){const r=o.querySelectorAll(t,"maction");for(let t,n=0;t=r[n];n++){const r=t.childNodes[1].getAttribute(s.Attribute.ID);o.querySelectorAllByAttrValue(e,"id",r)[0].setAttribute("alternative",r)}},e.retrieveSummary=function(t){const e=y(t);return n.markup(e)},e.computeSummary_=y},597:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.SummarySpeechGenerator=void 0;const n=r(6278),o=r(9543);class i extends n.AbstractSpeechGenerator{getSpeech(t,e){return o.connectAllMactions(e,this.getRebuilt().xml),this.generateSpeech(t,e)}}e.SummarySpeechGenerator=i},4598:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.TreeSpeechGenerator=void 0;const n=r(2298),o=r(1204),i=r(6278),s=r(9543);class a extends i.AbstractSpeechGenerator{getSpeech(t,e){const r=this.generateSpeech(t,e),i=this.getRebuilt().nodeDict;for(const r in i){const a=i[r],l=o.getBySemanticId(e,r),c=o.getBySemanticId(t,r);l&&c&&(this.modality&&this.modality!==n.Attribute.SPEECH?s.addModality(c,a,this.modality):s.addSpeech(c,a,this.getRebuilt().xml),this.modality===n.Attribute.SPEECH&&s.addPrefix(c,a))}return r}}e.TreeSpeechGenerator=a},313:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.INTERVALS=e.makeLetter=e.numberRules=e.alphabetRules=e.getFont=e.makeInterval=e.generate=e.makeDomains_=e.Domains_=e.Base=e.Embellish=e.Font=void 0;const n=r(5897),o=r(7491),i=r(4356),s=r(2536),a=r(2780);var l,c,u;function p(){const t=i.LOCALE.ALPHABETS,r=(t,e)=>{const r={};return Object.keys(t).forEach((t=>r[t]=!0)),Object.keys(e).forEach((t=>r[t]=!0)),Object.keys(r)};e.Domains_.small=r(t.smallPrefix,t.letterTrans),e.Domains_.capital=r(t.capPrefix,t.letterTrans),e.Domains_.digit=r(t.digitPrefix,t.digitTrans)}function h(t){const e=t.toString(16).toUpperCase();return e.length>3?e:("000"+e).slice(-4)}function f([t,e],r){const n=parseInt(t,16),o=parseInt(e,16),i=[];for(let t=n;t<=o;t++){let e=h(t);!1!==r[e]&&(e=r[e]||e,i.push(e))}return i}function d(t){const e="normal"===t||"fullwidth"===t?"":i.LOCALE.MESSAGES.font[t]||i.LOCALE.MESSAGES.embellish[t]||"";return(0,s.localeFontCombiner)(e)}function m(t,r,n,o,s,a){const l=d(o);for(let o,c,u,p=0;o=t[p],c=r[p],u=n[p];p++){const t=a?i.LOCALE.ALPHABETS.capPrefix:i.LOCALE.ALPHABETS.smallPrefix,r=a?e.Domains_.capital:e.Domains_.small;g(l.combiner,o,c,u,l.font,t,s,i.LOCALE.ALPHABETS.letterTrans,r)}}function y(t,r,n,o,s){const a=d(n);for(let n,l,c=0;n=t[c],l=r[c];c++){const t=i.LOCALE.ALPHABETS.digitPrefix,r=c+s;g(a.combiner,n,l,r,a.font,t,o,i.LOCALE.ALPHABETS.digitTrans,e.Domains_.digit)}}function g(t,e,r,n,o,i,s,l,c){for(let u,p=0;u=c[p];p++){const c=u in l?l[u]:l.default,p=u in i?i[u]:i.default;a.defineRule(e.toString(),u,"default",s,r,t(c(n),o,p))}}!function(t){t.BOLD="bold",t.BOLDFRAKTUR="bold-fraktur",t.BOLDITALIC="bold-italic",t.BOLDSCRIPT="bold-script",t.DOUBLESTRUCK="double-struck",t.FULLWIDTH="fullwidth",t.FRAKTUR="fraktur",t.ITALIC="italic",t.MONOSPACE="monospace",t.NORMAL="normal",t.SCRIPT="script",t.SANSSERIF="sans-serif",t.SANSSERIFITALIC="sans-serif-italic",t.SANSSERIFBOLD="sans-serif-bold",t.SANSSERIFBOLDITALIC="sans-serif-bold-italic"}(l=e.Font||(e.Font={})),function(t){t.SUPER="super",t.SUB="sub",t.CIRCLED="circled",t.PARENTHESIZED="parenthesized",t.PERIOD="period",t.NEGATIVECIRCLED="negative-circled",t.DOUBLECIRCLED="double-circled",t.CIRCLEDSANSSERIF="circled-sans-serif",t.NEGATIVECIRCLEDSANSSERIF="negative-circled-sans-serif",t.COMMA="comma",t.SQUARED="squared",t.NEGATIVESQUARED="negative-squared"}(c=e.Embellish||(e.Embellish={})),function(t){t.LATINCAP="latinCap",t.LATINSMALL="latinSmall",t.GREEKCAP="greekCap",t.GREEKSMALL="greekSmall",t.DIGIT="digit"}(u=e.Base||(e.Base={})),e.Domains_={small:["default"],capital:["default"],digit:["default"]},e.makeDomains_=p,e.generate=function(t){const r=n.default.getInstance().locale;n.default.getInstance().locale=t,o.setLocale(),a.addSymbolRules({locale:t}),p();const s=e.INTERVALS;for(let t,e=0;t=s[e];e++){const e=f(t.interval,t.subst),r=e.map((function(t){return String.fromCodePoint(parseInt(t,16))}));if("offset"in t)y(e,r,t.font,t.category,t.offset||0);else{m(e,r,i.LOCALE.ALPHABETS[t.base],t.font,t.category,!!t.capital)}}n.default.getInstance().locale=r,o.setLocale()},e.makeInterval=f,e.getFont=d,e.alphabetRules=m,e.numberRules=y,e.makeLetter=g,e.INTERVALS=[{interval:["1D400","1D419"],base:u.LATINCAP,subst:{},capital:!0,category:"Lu",font:l.BOLD},{interval:["1D41A","1D433"],base:u.LATINSMALL,subst:{},capital:!1,category:"Ll",font:l.BOLD},{interval:["1D56C","1D585"],base:u.LATINCAP,subst:{},capital:!0,category:"Lu",font:l.BOLDFRAKTUR},{interval:["1D586","1D59F"],base:u.LATINSMALL,subst:{},capital:!1,category:"Ll",font:l.BOLDFRAKTUR},{interval:["1D468","1D481"],base:u.LATINCAP,subst:{},capital:!0,category:"Lu",font:l.BOLDITALIC},{interval:["1D482","1D49B"],base:u.LATINSMALL,subst:{},capital:!1,category:"Ll",font:l.BOLDITALIC},{interval:["1D4D0","1D4E9"],base:u.LATINCAP,subst:{},capital:!0,category:"Lu",font:l.BOLDSCRIPT},{interval:["1D4EA","1D503"],base:u.LATINSMALL,subst:{},capital:!1,category:"Ll",font:l.BOLDSCRIPT},{interval:["1D538","1D551"],base:u.LATINCAP,subst:{"1D53A":"2102","1D53F":"210D","1D545":"2115","1D547":"2119","1D548":"211A","1D549":"211D","1D551":"2124"},capital:!0,category:"Lu",font:l.DOUBLESTRUCK},{interval:["1D552","1D56B"],base:u.LATINSMALL,subst:{},capital:!1,category:"Ll",font:l.DOUBLESTRUCK},{interval:["1D504","1D51D"],base:u.LATINCAP,subst:{"1D506":"212D","1D50B":"210C","1D50C":"2111","1D515":"211C","1D51D":"2128"},capital:!0,category:"Lu",font:l.FRAKTUR},{interval:["1D51E","1D537"],base:u.LATINSMALL,subst:{},capital:!1,category:"Ll",font:l.FRAKTUR},{interval:["FF21","FF3A"],base:u.LATINCAP,subst:{},capital:!0,category:"Lu",font:l.FULLWIDTH},{interval:["FF41","FF5A"],base:u.LATINSMALL,subst:{},capital:!1,category:"Ll",font:l.FULLWIDTH},{interval:["1D434","1D44D"],base:u.LATINCAP,subst:{},capital:!0,category:"Lu",font:l.ITALIC},{interval:["1D44E","1D467"],base:u.LATINSMALL,subst:{"1D455":"210E"},capital:!1,category:"Ll",font:l.ITALIC},{interval:["1D670","1D689"],base:u.LATINCAP,subst:{},capital:!0,category:"Lu",font:l.MONOSPACE},{interval:["1D68A","1D6A3"],base:u.LATINSMALL,subst:{},capital:!1,category:"Ll",font:l.MONOSPACE},{interval:["0041","005A"],base:u.LATINCAP,subst:{},capital:!0,category:"Lu",font:l.NORMAL},{interval:["0061","007A"],base:u.LATINSMALL,subst:{},capital:!1,category:"Ll",font:l.NORMAL},{interval:["1D49C","1D4B5"],base:u.LATINCAP,subst:{"1D49D":"212C","1D4A0":"2130","1D4A1":"2131","1D4A3":"210B","1D4A4":"2110","1D4A7":"2112","1D4A8":"2133","1D4AD":"211B"},capital:!0,category:"Lu",font:l.SCRIPT},{interval:["1D4B6","1D4CF"],base:u.LATINSMALL,subst:{"1D4BA":"212F","1D4BC":"210A","1D4C4":"2134"},capital:!1,category:"Ll",font:l.SCRIPT},{interval:["1D5A0","1D5B9"],base:u.LATINCAP,subst:{},capital:!0,category:"Lu",font:l.SANSSERIF},{interval:["1D5BA","1D5D3"],base:u.LATINSMALL,subst:{},capital:!1,category:"Ll",font:l.SANSSERIF},{interval:["1D608","1D621"],base:u.LATINCAP,subst:{},capital:!0,category:"Lu",font:l.SANSSERIFITALIC},{interval:["1D622","1D63B"],base:u.LATINSMALL,subst:{},capital:!1,category:"Ll",font:l.SANSSERIFITALIC},{interval:["1D5D4","1D5ED"],base:u.LATINCAP,subst:{},capital:!0,category:"Lu",font:l.SANSSERIFBOLD},{interval:["1D5EE","1D607"],base:u.LATINSMALL,subst:{},capital:!1,category:"Ll",font:l.SANSSERIFBOLD},{interval:["1D63C","1D655"],base:u.LATINCAP,subst:{},capital:!0,category:"Lu",font:l.SANSSERIFBOLDITALIC},{interval:["1D656","1D66F"],base:u.LATINSMALL,subst:{},capital:!1,category:"Ll",font:l.SANSSERIFBOLDITALIC},{interval:["0391","03A9"],base:u.GREEKCAP,subst:{"03A2":"03F4"},capital:!0,category:"Lu",font:l.NORMAL},{interval:["03B0","03D0"],base:u.GREEKSMALL,subst:{"03B0":"2207","03CA":"2202","03CB":"03F5","03CC":"03D1","03CD":"03F0","03CE":"03D5","03CF":"03F1","03D0":"03D6"},capital:!1,category:"Ll",font:l.NORMAL},{interval:["1D6A8","1D6C0"],base:u.GREEKCAP,subst:{},capital:!0,category:"Lu",font:l.BOLD},{interval:["1D6C1","1D6E1"],base:u.GREEKSMALL,subst:{},capital:!1,category:"Ll",font:l.BOLD},{interval:["1D6E2","1D6FA"],base:u.GREEKCAP,subst:{},capital:!0,category:"Lu",font:l.ITALIC},{interval:["1D6FB","1D71B"],base:u.GREEKSMALL,subst:{},capital:!1,category:"Ll",font:l.ITALIC},{interval:["1D71C","1D734"],base:u.GREEKCAP,subst:{},capital:!0,category:"Lu",font:l.BOLDITALIC},{interval:["1D735","1D755"],base:u.GREEKSMALL,subst:{},capital:!1,category:"Ll",font:l.BOLDITALIC},{interval:["1D756","1D76E"],base:u.GREEKCAP,subst:{},capital:!0,category:"Lu",font:l.SANSSERIFBOLD},{interval:["1D76F","1D78F"],base:u.GREEKSMALL,subst:{},capital:!1,category:"Ll",font:l.SANSSERIFBOLD},{interval:["1D790","1D7A8"],base:u.GREEKCAP,subst:{},capital:!0,category:"Lu",font:l.SANSSERIFBOLDITALIC},{interval:["1D7A9","1D7C9"],base:u.GREEKSMALL,subst:{},capital:!1,category:"Ll",font:l.SANSSERIFBOLDITALIC},{interval:["0030","0039"],base:u.DIGIT,subst:{},offset:0,category:"Nd",font:l.NORMAL},{interval:["2070","2079"],base:u.DIGIT,subst:{2071:"00B9",2072:"00B2",2073:"00B3"},offset:0,category:"No",font:c.SUPER},{interval:["2080","2089"],base:u.DIGIT,subst:{},offset:0,category:"No",font:c.SUB},{interval:["245F","2473"],base:u.DIGIT,subst:{"245F":"24EA"},offset:0,category:"No",font:c.CIRCLED},{interval:["3251","325F"],base:u.DIGIT,subst:{},offset:21,category:"No",font:c.CIRCLED},{interval:["32B1","32BF"],base:u.DIGIT,subst:{},offset:36,category:"No",font:c.CIRCLED},{interval:["2474","2487"],base:u.DIGIT,subst:{},offset:1,category:"No",font:c.PARENTHESIZED},{interval:["2487","249B"],base:u.DIGIT,subst:{2487:"1F100"},offset:0,category:"No",font:c.PERIOD},{interval:["2775","277F"],base:u.DIGIT,subst:{2775:"24FF"},offset:0,category:"No",font:c.NEGATIVECIRCLED},{interval:["24EB","24F4"],base:u.DIGIT,subst:{},offset:11,category:"No",font:c.NEGATIVECIRCLED},{interval:["24F5","24FE"],base:u.DIGIT,subst:{},offset:1,category:"No",font:c.DOUBLECIRCLED},{interval:["277F","2789"],base:u.DIGIT,subst:{"277F":"1F10B"},offset:0,category:"No",font:c.CIRCLEDSANSSERIF},{interval:["2789","2793"],base:u.DIGIT,subst:{2789:"1F10C"},offset:0,category:"No",font:c.NEGATIVECIRCLEDSANSSERIF},{interval:["FF10","FF19"],base:u.DIGIT,subst:{},offset:0,category:"Nd",font:l.FULLWIDTH},{interval:["1D7CE","1D7D7"],base:u.DIGIT,subst:{},offset:0,category:"Nd",font:l.BOLD},{interval:["1D7D8","1D7E1"],base:u.DIGIT,subst:{},offset:0,category:"Nd",font:l.DOUBLESTRUCK},{interval:["1D7E2","1D7EB"],base:u.DIGIT,subst:{},offset:0,category:"Nd",font:l.SANSSERIF},{interval:["1D7EC","1D7F5"],base:u.DIGIT,subst:{},offset:0,category:"Nd",font:l.SANSSERIFBOLD},{interval:["1D7F6","1D7FF"],base:u.DIGIT,subst:{},offset:0,category:"Nd",font:l.MONOSPACE},{interval:["1F101","1F10A"],base:u.DIGIT,subst:{},offset:0,category:"No",font:c.COMMA},{interval:["24B6","24CF"],base:u.LATINCAP,subst:{},capital:!0,category:"So",font:c.CIRCLED},{interval:["24D0","24E9"],base:u.LATINSMALL,subst:{},capital:!1,category:"So",font:c.CIRCLED},{interval:["1F110","1F129"],base:u.LATINCAP,subst:{},capital:!0,category:"So",font:c.PARENTHESIZED},{interval:["249C","24B5"],base:u.LATINSMALL,subst:{},capital:!1,category:"So",font:c.PARENTHESIZED},{interval:["1F130","1F149"],base:u.LATINCAP,subst:{},capital:!0,category:"So",font:c.SQUARED},{interval:["1F170","1F189"],base:u.LATINCAP,subst:{},capital:!0,category:"So",font:c.NEGATIVESQUARED},{interval:["1F150","1F169"],base:u.LATINCAP,subst:{},capital:!0,category:"So",font:c.NEGATIVECIRCLED}]},8504:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Parser=e.Comparator=e.ClearspeakPreferences=void 0;const n=r(5897),o=r(4440),i=r(1676),s=r(1676),a=r(2780),l=r(2362);class c extends i.DynamicCstr{constructor(t,e){super(t),this.preference=e}static comparator(){return new p(n.default.getInstance().dynamicCstr,s.DynamicProperties.createProp([i.DynamicCstr.DEFAULT_VALUES[s.Axis.LOCALE]],[i.DynamicCstr.DEFAULT_VALUES[s.Axis.MODALITY]],[i.DynamicCstr.DEFAULT_VALUES[s.Axis.DOMAIN]],[i.DynamicCstr.DEFAULT_VALUES[s.Axis.STYLE]]))}static fromPreference(t){const e=t.split(":"),r={},n=u.getProperties(),o=Object.keys(n);for(let t,i=0;t=e[i];i++){const e=t.split("_");if(-1===o.indexOf(e[0]))continue;const i=e[1];i&&i!==c.AUTO&&-1!==n[e[0]].indexOf(i)&&(r[e[0]]=e[1])}return r}static toPreference(t){const e=Object.keys(t),r=[];for(let n=0;ns?-1:i0&&e<20&&r>0&&r<11}function O(t){return o.default.getInstance().style===t}function x(t){if(!t.hasAttribute("annotation"))return!1;const e=t.getAttribute("annotation");return!!/clearspeak:simple$|clearspeak:simple;/.exec(e)}function E(t){if(x(t))return!0;if("subscript"!==t.tagName)return!1;const e=t.childNodes[0].childNodes,r=e[1];return"identifier"===e[0].tagName&&(A(r)||"infixop"===r.tagName&&r.hasAttribute("role")&&"implicit"===r.getAttribute("role")&&C(r))}function A(t){return"number"===t.tagName&&t.hasAttribute("role")&&"integer"===t.getAttribute("role")}function C(t){return i.evalXPath("children/*",t).every((t=>A(t)||"identifier"===t.tagName))}function T(t){return"text"===t.type||"punctuated"===t.type&&"text"===t.role&&_(t.childNodes[0])&&N(t.childNodes.slice(1))||"identifier"===t.type&&"unit"===t.role||"infixop"===t.type&&("implicit"===t.role||"unit"===t.role)}function N(t){for(let e=0;e10?s.LOCALE.NUMBERS.numericOrdinal(e):s.LOCALE.NUMBERS.wordOrdinal(e)},e.NESTING_DEPTH=null,e.nestingDepth=function(t){let r=0;const n=t.textContent,o="open"===t.getAttribute("role")?0:1;let i=t.parentNode;for(;i;)"fenced"===i.tagName&&i.childNodes[0].childNodes[o].textContent===n&&r++,i=i.parentNode;return e.NESTING_DEPTH=r>1?s.LOCALE.NUMBERS.wordOrdinal(r):"",e.NESTING_DEPTH},e.matchingFences=function(t){const e=t.previousSibling;let r,n;return e?(r=e,n=t):(r=t,n=t.nextSibling),n&&(0,h.isMatchingFence)(r.textContent,n.textContent)?[t]:[]},e.insertNesting=w,l.Grammar.getInstance().setCorrection("insertNesting",w),e.fencedArguments=function(t){const e=n.toArray(t.parentNode.childNodes),r=i.evalXPath("../../children/*",t),o=e.indexOf(t);return I(r[o])||I(r[o+1])?[t]:[]},e.simpleArguments=function(t){const e=n.toArray(t.parentNode.childNodes),r=i.evalXPath("../../children/*",t),o=e.indexOf(t);return L(r[o])&&r[o+1]&&(L(r[o+1])||"root"===r[o+1].tagName||"sqrt"===r[o+1].tagName||"superscript"===r[o+1].tagName&&r[o+1].childNodes[0].childNodes[0]&&("number"===r[o+1].childNodes[0].childNodes[0].tagName||"identifier"===r[o+1].childNodes[0].childNodes[0].tagName)&&("2"===r[o+1].childNodes[0].childNodes[1].textContent||"3"===r[o+1].childNodes[0].childNodes[1].textContent))?[t]:[]},e.simpleFactor_=L,e.fencedFactor_=I,e.layoutFactor_=P,e.wordOrdinal=function(t){return s.LOCALE.NUMBERS.wordOrdinal(parseInt(t.textContent,10))}},6141:function(t,e,r){var n=this&&this.__awaiter||function(t,e,r,n){return new(r||(r=Promise))((function(o,i){function s(t){try{l(n.next(t))}catch(t){i(t)}}function a(t){try{l(n.throw(t))}catch(t){i(t)}}function l(t){var e;t.done?o(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}l((n=n.apply(t,e||[])).next())}))};Object.defineProperty(e,"__esModule",{value:!0}),e.loadAjax=e.loadFileSync=e.loadFile=e.parseMaps=e.retrieveFiles=e.standardLoader=e.loadLocale=e.store=void 0;const o=r(2139),i=r(5897),s=r(4440),a=r(7248),l=r(2315),c=r(1676),u=r(2780),p=r(2362),h=r(7491),f=r(313);e.store=u;const d={functions:u.addFunctionRules,symbols:u.addSymbolRules,units:u.addUnitRules,si:u.setSiPrefixes};let m=!1;function y(t=i.default.getInstance().locale){i.EnginePromise.loaded[t]||(i.EnginePromise.loaded[t]=[!1,!1],function(t){if(i.default.getInstance().isIE&&i.default.getInstance().mode===s.Mode.HTTP)return void S(t);b(t)}(t))}function g(){switch(i.default.getInstance().mode){case s.Mode.ASYNC:return M;case s.Mode.HTTP:return x;case s.Mode.SYNC:default:return O}}function b(t){const e=i.default.getInstance().customLoader?i.default.getInstance().customLoader:g(),r=new Promise((r=>{e(t).then((e=>{v(e),i.EnginePromise.loaded[t]=[!0,!0],r(t)}),(e=>{i.EnginePromise.loaded[t]=[!0,!1],console.error(`Unable to load locale: ${t}`),i.default.getInstance().locale=i.default.getInstance().defaultLocale,r(t)}))}));i.EnginePromise.promises[t]=r}function v(t){_(JSON.parse(t))}function _(t,e){let r=!0;for(let n,o=0;n=Object.keys(t)[o];o++){const o=n.split("/");e&&e!==o[0]||("rules"===o[1]?p.SpeechRuleEngine.getInstance().addStore(t[n]):"messages"===o[1]?(0,h.completeLocale)(t[n]):(r&&(f.generate(o[0]),r=!1),t[n].forEach(d[o[1]])))}}function S(t,e){let r=e||1;o.mapsForIE?_(o.mapsForIE,t):r<=5&&setTimeout((()=>S(t,r++)).bind(this),300)}function M(t){const e=a.localePath(t);return new Promise(((t,r)=>{l.default.fs.readFile(e,"utf8",((e,n)=>{if(e)return r(e);t(n)}))}))}function O(t){const e=a.localePath(t);return new Promise(((t,r)=>{let n="{}";try{n=l.default.fs.readFileSync(e,"utf8")}catch(t){return r(t)}t(n)}))}function x(t){const e=a.localePath(t),r=new XMLHttpRequest;return new Promise(((t,n)=>{r.onreadystatechange=function(){if(4===r.readyState){const e=r.status;0===e||e>=200&&e<400?t(r.responseText):n(e)}},r.open("GET",e,!0),r.send()}))}e.loadLocale=function(t=i.default.getInstance().locale){return n(this,void 0,void 0,(function*(){return m||(y(c.DynamicCstr.BASE_LOCALE),m=!0),i.EnginePromise.promises[c.DynamicCstr.BASE_LOCALE].then((()=>n(this,void 0,void 0,(function*(){const e=i.default.getInstance().defaultLocale;return e?(y(e),i.EnginePromise.promises[e].then((()=>n(this,void 0,void 0,(function*(){return y(t),i.EnginePromise.promises[t]}))))):(y(t),i.EnginePromise.promises[t])}))))}))},e.standardLoader=g,e.retrieveFiles=b,e.parseMaps=v,e.loadFile=M,e.loadFileSync=O,e.loadAjax=x},7088:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.leftSubscriptBrief=e.leftSuperscriptBrief=e.leftSubscriptVerbose=e.leftSuperscriptVerbose=e.baselineBrief=e.baselineVerbose=void 0;const n=r(1378);e.baselineVerbose=function(t){return n.baselineVerbose(t).replace(/-$/,"")},e.baselineBrief=function(t){return n.baselineBrief(t).replace(/-$/,"")},e.leftSuperscriptVerbose=function(t){return n.superscriptVerbose(t).replace(/^exposant/,"exposant gauche")},e.leftSubscriptVerbose=function(t){return n.subscriptVerbose(t).replace(/^indice/,"indice gauche")},e.leftSuperscriptBrief=function(t){return n.superscriptBrief(t).replace(/^sup/,"sup gauche")},e.leftSubscriptBrief=function(t){return n.subscriptBrief(t).replace(/^sub/,"sub gauche")}},9577:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.MathspeakRules=void 0;const n=r(1676),o=r(365),i=r(7088),s=r(1378),a=r(8437),l=r(7283),c=r(7598);e.MathspeakRules=function(){l.addStore(n.DynamicCstr.BASE_LOCALE+".speech.mathspeak","",{CQFspaceoutNumber:s.spaceoutNumber,CQFspaceoutIdentifier:s.spaceoutIdentifier,CSFspaceoutText:s.spaceoutText,CSFopenFracVerbose:s.openingFractionVerbose,CSFcloseFracVerbose:s.closingFractionVerbose,CSFoverFracVerbose:s.overFractionVerbose,CSFopenFracBrief:s.openingFractionBrief,CSFcloseFracBrief:s.closingFractionBrief,CSFopenFracSbrief:s.openingFractionSbrief,CSFcloseFracSbrief:s.closingFractionSbrief,CSFoverFracSbrief:s.overFractionSbrief,CSFvulgarFraction:a.vulgarFraction,CQFvulgarFractionSmall:s.isSmallVulgarFraction,CSFopenRadicalVerbose:s.openingRadicalVerbose,CSFcloseRadicalVerbose:s.closingRadicalVerbose,CSFindexRadicalVerbose:s.indexRadicalVerbose,CSFopenRadicalBrief:s.openingRadicalBrief,CSFcloseRadicalBrief:s.closingRadicalBrief,CSFindexRadicalBrief:s.indexRadicalBrief,CSFopenRadicalSbrief:s.openingRadicalSbrief,CSFindexRadicalSbrief:s.indexRadicalSbrief,CQFisSmallRoot:s.smallRoot,CSFsuperscriptVerbose:s.superscriptVerbose,CSFsuperscriptBrief:s.superscriptBrief,CSFsubscriptVerbose:s.subscriptVerbose,CSFsubscriptBrief:s.subscriptBrief,CSFbaselineVerbose:s.baselineVerbose,CSFbaselineBrief:s.baselineBrief,CSFleftsuperscriptVerbose:s.superscriptVerbose,CSFleftsubscriptVerbose:s.subscriptVerbose,CSFrightsuperscriptVerbose:s.superscriptVerbose,CSFrightsubscriptVerbose:s.subscriptVerbose,CSFleftsuperscriptBrief:s.superscriptBrief,CSFleftsubscriptBrief:s.subscriptBrief,CSFrightsuperscriptBrief:s.superscriptBrief,CSFrightsubscriptBrief:s.subscriptBrief,CSFunderscript:s.nestedUnderscript,CSFoverscript:s.nestedOverscript,CSFendscripts:s.endscripts,CTFordinalCounter:a.ordinalCounter,CTFwordCounter:a.wordCounter,CTFcontentIterator:o.contentIterator,CQFdetIsSimple:s.determinantIsSimple,CSFRemoveParens:s.removeParens,CQFresetNesting:s.resetNestingDepth,CGFbaselineConstraint:s.generateBaselineConstraint,CGFtensorRules:s.generateTensorRules}),l.addStore("es.speech.mathspeak",n.DynamicCstr.BASE_LOCALE+".speech.mathspeak",{CTFunitMultipliers:c.unitMultipliers,CQFoneLeft:c.oneLeft}),l.addStore("fr.speech.mathspeak",n.DynamicCstr.BASE_LOCALE+".speech.mathspeak",{CSFbaselineVerbose:i.baselineVerbose,CSFbaselineBrief:i.baselineBrief,CSFleftsuperscriptVerbose:i.leftSuperscriptVerbose,CSFleftsubscriptVerbose:i.leftSubscriptVerbose,CSFleftsuperscriptBrief:i.leftSuperscriptBrief,CSFleftsubscriptBrief:i.leftSubscriptBrief})}},1378:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.smallRoot=e.generateTensorRules=e.removeParens=e.generateBaselineConstraint=e.determinantIsSimple=e.nestedOverscript=e.endscripts=e.overscoreNestingDepth=e.nestedUnderscript=e.underscoreNestingDepth=e.indexRadicalSbrief=e.openingRadicalSbrief=e.indexRadicalBrief=e.closingRadicalBrief=e.openingRadicalBrief=e.indexRadicalVerbose=e.closingRadicalVerbose=e.openingRadicalVerbose=e.getRootIndex=e.nestedRadical=e.radicalNestingDepth=e.baselineBrief=e.baselineVerbose=e.superscriptBrief=e.superscriptVerbose=e.subscriptBrief=e.subscriptVerbose=e.nestedSubSuper=e.isSmallVulgarFraction=e.overFractionSbrief=e.closingFractionSbrief=e.openingFractionSbrief=e.closingFractionBrief=e.openingFractionBrief=e.overFractionVerbose=e.closingFractionVerbose=e.openingFractionVerbose=e.nestedFraction=e.fractionNestingDepth=e.computeNestingDepth_=e.containsAttr=e.getNestingDepth=e.resetNestingDepth=e.nestingBarriers=e.spaceoutIdentifier=e.spaceoutNumber=e.spaceoutNodes=e.spaceoutText=void 0;const n=r(707),o=r(5740),i=r(5274),s=r(4356),a=r(3308);let l={};function c(t,e){const r=Array.from(t.textContent),n=[],o=a.default.getInstance(),i=t.ownerDocument;for(let t,s=0;t=r[s];s++){const r=o.getNodeFactory().makeLeafNode(t,"unknown"),s=o.identifierNode(r,"unknown","");e(s),n.push(s.xml(i))}return n}function u(t,r,i,s,a,c){s=s||e.nestingBarriers,a=a||{},c=c||function(t){return!1};const u=o.serializeXml(r);if(l[t]||(l[t]={}),l[t][u])return l[t][u];if(c(r)||i.indexOf(r.tagName)<0)return 0;const p=h(r,i,n.setdifference(s,i),a,c,0);return l[t][u]=p,p}function p(t,e){if(!t.attributes)return!1;const r=o.toArray(t.attributes);for(let t,n=0;t=r[n];n++)if(e[t.nodeName]===t.nodeValue)return!0;return!1}function h(t,e,r,n,i,s){if(i(t)||r.indexOf(t.tagName)>-1||p(t,n))return s;if(e.indexOf(t.tagName)>-1&&s++,!t.childNodes||0===t.childNodes.length)return s;const a=o.toArray(t.childNodes);return Math.max.apply(null,a.map((function(t){return h(t,e,r,n,i,s)})))}function f(t){return u("fraction",t,["fraction"],e.nestingBarriers,{},s.LOCALE.FUNCTIONS.fracNestDepth)}function d(t,e,r){const n=f(t),o=Array(n).fill(e);return r&&o.push(r),o.join(s.LOCALE.MESSAGES.regexp.JOINER_FRAC)}function m(t,e,r){for(;t.parentNode;){const n=t.parentNode,o=n.parentNode;if(!o)break;const i=t.getAttribute&&t.getAttribute("role");("subscript"===o.tagName&&t===n.childNodes[1]||"tensor"===o.tagName&&i&&("leftsub"===i||"rightsub"===i))&&(e=r.sub+s.LOCALE.MESSAGES.regexp.JOINER_SUBSUPER+e),("superscript"===o.tagName&&t===n.childNodes[1]||"tensor"===o.tagName&&i&&("leftsuper"===i||"rightsuper"===i))&&(e=r.sup+s.LOCALE.MESSAGES.regexp.JOINER_SUBSUPER+e),t=o}return e.trim()}function y(t){return u("radical",t,["sqrt","root"],e.nestingBarriers,{})}function g(t,e,r){const n=y(t),o=b(t);return r=o?s.LOCALE.FUNCTIONS.combineRootIndex(r,o):r,1===n?r:s.LOCALE.FUNCTIONS.combineNestedRadical(e,s.LOCALE.FUNCTIONS.radicalNestDepth(n-1),r)}function b(t){const e="sqrt"===t.tagName?"2":i.evalXPath("children/*[1]",t)[0].textContent.trim();return s.LOCALE.MESSAGES.MSroots[e]||""}function v(t){return u("underscore",t,["underscore"],e.nestingBarriers,{},(function(t){return t.tagName&&"underscore"===t.tagName&&"underaccent"===t.childNodes[0].childNodes[1].getAttribute("role")}))}function _(t){return u("overscore",t,["overscore"],e.nestingBarriers,{},(function(t){return t.tagName&&"overscore"===t.tagName&&"overaccent"===t.childNodes[0].childNodes[1].getAttribute("role")}))}e.spaceoutText=function(t){return Array.from(t.textContent).join(" ")},e.spaceoutNodes=c,e.spaceoutNumber=function(t){return c(t,(function(t){t.textContent.match(/\W/)||(t.type="number")}))},e.spaceoutIdentifier=function(t){return c(t,(function(t){t.font="unknown",t.type="identifier"}))},e.nestingBarriers=["cases","cell","integral","line","matrix","multiline","overscore","root","row","sqrt","subscript","superscript","table","underscore","vector"],e.resetNestingDepth=function(t){return l={},[t]},e.getNestingDepth=u,e.containsAttr=p,e.computeNestingDepth_=h,e.fractionNestingDepth=f,e.nestedFraction=d,e.openingFractionVerbose=function(t){return d(t,s.LOCALE.MESSAGES.MS.START,s.LOCALE.MESSAGES.MS.FRAC_V)},e.closingFractionVerbose=function(t){return d(t,s.LOCALE.MESSAGES.MS.END,s.LOCALE.MESSAGES.MS.FRAC_V)},e.overFractionVerbose=function(t){return d(t,s.LOCALE.MESSAGES.MS.FRAC_OVER)},e.openingFractionBrief=function(t){return d(t,s.LOCALE.MESSAGES.MS.START,s.LOCALE.MESSAGES.MS.FRAC_B)},e.closingFractionBrief=function(t){return d(t,s.LOCALE.MESSAGES.MS.END,s.LOCALE.MESSAGES.MS.FRAC_B)},e.openingFractionSbrief=function(t){const e=f(t);return 1===e?s.LOCALE.MESSAGES.MS.FRAC_S:s.LOCALE.FUNCTIONS.combineNestedFraction(s.LOCALE.MESSAGES.MS.NEST_FRAC,s.LOCALE.FUNCTIONS.radicalNestDepth(e-1),s.LOCALE.MESSAGES.MS.FRAC_S)},e.closingFractionSbrief=function(t){const e=f(t);return 1===e?s.LOCALE.MESSAGES.MS.ENDFRAC:s.LOCALE.FUNCTIONS.combineNestedFraction(s.LOCALE.MESSAGES.MS.NEST_FRAC,s.LOCALE.FUNCTIONS.radicalNestDepth(e-1),s.LOCALE.MESSAGES.MS.ENDFRAC)},e.overFractionSbrief=function(t){const e=f(t);return 1===e?s.LOCALE.MESSAGES.MS.FRAC_OVER:s.LOCALE.FUNCTIONS.combineNestedFraction(s.LOCALE.MESSAGES.MS.NEST_FRAC,s.LOCALE.FUNCTIONS.radicalNestDepth(e-1),s.LOCALE.MESSAGES.MS.FRAC_OVER)},e.isSmallVulgarFraction=function(t){return s.LOCALE.FUNCTIONS.fracNestDepth(t)?[t]:[]},e.nestedSubSuper=m,e.subscriptVerbose=function(t){return m(t,s.LOCALE.MESSAGES.MS.SUBSCRIPT,{sup:s.LOCALE.MESSAGES.MS.SUPER,sub:s.LOCALE.MESSAGES.MS.SUB})},e.subscriptBrief=function(t){return m(t,s.LOCALE.MESSAGES.MS.SUB,{sup:s.LOCALE.MESSAGES.MS.SUP,sub:s.LOCALE.MESSAGES.MS.SUB})},e.superscriptVerbose=function(t){return m(t,s.LOCALE.MESSAGES.MS.SUPERSCRIPT,{sup:s.LOCALE.MESSAGES.MS.SUPER,sub:s.LOCALE.MESSAGES.MS.SUB})},e.superscriptBrief=function(t){return m(t,s.LOCALE.MESSAGES.MS.SUP,{sup:s.LOCALE.MESSAGES.MS.SUP,sub:s.LOCALE.MESSAGES.MS.SUB})},e.baselineVerbose=function(t){const e=m(t,"",{sup:s.LOCALE.MESSAGES.MS.SUPER,sub:s.LOCALE.MESSAGES.MS.SUB});return e?e.replace(new RegExp(s.LOCALE.MESSAGES.MS.SUB+"$"),s.LOCALE.MESSAGES.MS.SUBSCRIPT).replace(new RegExp(s.LOCALE.MESSAGES.MS.SUPER+"$"),s.LOCALE.MESSAGES.MS.SUPERSCRIPT):s.LOCALE.MESSAGES.MS.BASELINE},e.baselineBrief=function(t){return m(t,"",{sup:s.LOCALE.MESSAGES.MS.SUP,sub:s.LOCALE.MESSAGES.MS.SUB})||s.LOCALE.MESSAGES.MS.BASE},e.radicalNestingDepth=y,e.nestedRadical=g,e.getRootIndex=b,e.openingRadicalVerbose=function(t){return g(t,s.LOCALE.MESSAGES.MS.NESTED,s.LOCALE.MESSAGES.MS.STARTROOT)},e.closingRadicalVerbose=function(t){return g(t,s.LOCALE.MESSAGES.MS.NESTED,s.LOCALE.MESSAGES.MS.ENDROOT)},e.indexRadicalVerbose=function(t){return g(t,s.LOCALE.MESSAGES.MS.NESTED,s.LOCALE.MESSAGES.MS.ROOTINDEX)},e.openingRadicalBrief=function(t){return g(t,s.LOCALE.MESSAGES.MS.NEST_ROOT,s.LOCALE.MESSAGES.MS.STARTROOT)},e.closingRadicalBrief=function(t){return g(t,s.LOCALE.MESSAGES.MS.NEST_ROOT,s.LOCALE.MESSAGES.MS.ENDROOT)},e.indexRadicalBrief=function(t){return g(t,s.LOCALE.MESSAGES.MS.NEST_ROOT,s.LOCALE.MESSAGES.MS.ROOTINDEX)},e.openingRadicalSbrief=function(t){return g(t,s.LOCALE.MESSAGES.MS.NEST_ROOT,s.LOCALE.MESSAGES.MS.ROOT)},e.indexRadicalSbrief=function(t){return g(t,s.LOCALE.MESSAGES.MS.NEST_ROOT,s.LOCALE.MESSAGES.MS.INDEX)},e.underscoreNestingDepth=v,e.nestedUnderscript=function(t){const e=v(t);return Array(e).join(s.LOCALE.MESSAGES.MS.UNDER)+s.LOCALE.MESSAGES.MS.UNDERSCRIPT},e.overscoreNestingDepth=_,e.endscripts=function(t){return s.LOCALE.MESSAGES.MS.ENDSCRIPTS},e.nestedOverscript=function(t){const e=_(t);return Array(e).join(s.LOCALE.MESSAGES.MS.OVER)+s.LOCALE.MESSAGES.MS.OVERSCRIPT},e.determinantIsSimple=function(t){if("matrix"!==t.tagName||"determinant"!==t.getAttribute("role"))return[];const e=i.evalXPath("children/row/children/cell/children/*",t);for(let t,r=0;t=e[r];r++)if("number"!==t.tagName){if("identifier"===t.tagName){const e=t.getAttribute("role");if("latinletter"===e||"greekletter"===e||"otherletter"===e)continue}return[]}return[t]},e.generateBaselineConstraint=function(){const t=t=>t.map((t=>"ancestor::"+t)),e=t=>"not("+t+")",r=e(t(["subscript","superscript","tensor"]).join(" or ")),n=t(["relseq","multrel"]),o=t(["fraction","punctuation","fenced","sqrt","root"]);let i=[];for(let t,e=0;t=o[e];e++)i=i.concat(n.map((function(e){return t+"/"+e})));return[["ancestor::*/following-sibling::*",r,e(i.join(" | "))].join(" and ")]},e.removeParens=function(t){if(!t.childNodes.length||!t.childNodes[0].childNodes.length||!t.childNodes[0].childNodes[0].childNodes.length)return"";const e=t.childNodes[0].childNodes[0].childNodes[0].textContent;return e.match(/^\(.+\)$/)?e.slice(1,-1):e};const S=new Map([[3,"CSFleftsuperscript"],[4,"CSFleftsubscript"],[2,"CSFbaseline"],[1,"CSFrightsubscript"],[0,"CSFrightsuperscript"]]),M=new Map([[4,2],[3,3],[2,1],[1,4],[0,5]]);function O(t){const e=[];let r="",n="",o=parseInt(t,2);for(let t=0;t<5;t++){const i="children/*["+M.get(t)+"]";if(1&o){const e=S.get(t%5);r="[t] "+e+"Verbose; [n] "+i+";"+r,n="[t] "+e+"Brief; [n] "+i+";"+n}else e.unshift("name("+i+')="empty"');o>>=1}return[e,r,n]}e.generateTensorRules=function(t,e=!0){const r=["11111","11110","11101","11100","10111","10110","10101","10100","01111","01110","01101","01100"];for(let n,o=0;n=r[o];o++){let r="tensor"+n,[o,i,s]=O(n);t.defineRule(r,"default",i,"self::tensor",...o),e&&(t.defineRule(r,"brief",s,"self::tensor",...o),t.defineRule(r,"sbrief",s,"self::tensor",...o));const a=S.get(2);i+="; [t]"+a+"Verbose",s+="; [t]"+a+"Brief",r+="-baseline";const l="((.//*[not(*)])[last()]/@id)!=(((.//ancestor::fraction|ancestor::root|ancestor::sqrt|ancestor::cell|ancestor::line|ancestor::stree)[1]//*[not(*)])[last()]/@id)";t.defineRule(r,"default",i,"self::tensor",l,...o),e&&(t.defineRule(r,"brief",s,"self::tensor",l,...o),t.defineRule(r,"sbrief",s,"self::tensor",l,...o))}},e.smallRoot=function(t){let e=Object.keys(s.LOCALE.MESSAGES.MSroots).length;if(!e)return[];if(e++,!t.childNodes||0===t.childNodes.length||!t.childNodes[0].childNodes)return[];const r=t.childNodes[0].childNodes[0].textContent;if(!/^\d+$/.test(r))return[];const n=parseInt(r,10);return n>1&&n<=e?[t]:[]}},6922:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.implicitIterator=e.relationIterator=e.propagateNumber=e.checkParent_=e.NUMBER_INHIBITORS_=e.NUMBER_PROPAGATORS_=e.enlargeFence=e.indexRadical=e.closingRadical=e.openingRadical=e.radicalNestingDepth=e.nestedRadical=e.overBevelledFraction=e.overFraction=e.closingFraction=e.openingFraction=void 0;const n=r(7052),o=r(5740),i=r(5274),s=r(2105),a=r(5897),l=r(7630),c=r(9265),u=r(4356),p=r(1378);function h(t,e){const r=f(t);return 1===r?e:new Array(r).join(u.LOCALE.MESSAGES.MS.NESTED)+e}function f(t,e){const r=e||0;return t.parentNode?f(t.parentNode,"root"===t.tagName||"sqrt"===t.tagName?r+1:r):r}function d(t){const e="\u2820";if(1===t.length)return e+t;const r=t.split("");return r.every((function(t){return"\u2833"===t}))?e+r.join(e):t.slice(0,-1)+e+t.slice(-1)}function m(t,r){const n=t.parent;if(!n)return!1;const o=n.type;return-1!==e.NUMBER_PROPAGATORS_.indexOf(o)||"prefixop"===o&&"negative"===n.role&&!r.script||"prefixop"===o&&"geometry"===n.role||!("punctuated"!==o||r.enclosed&&"text"!==n.role)}function y(t,r){return t.childNodes.length?(-1!==e.NUMBER_INHIBITORS_.indexOf(t.type)&&(r.script=!0),"fenced"===t.type?(r.number=!1,r.enclosed=!0,["",r]):(m(t,r)&&(r.number=!0,r.enclosed=!1),["",r])):(m(t,r)&&(r.number=!0,r.script=!1,r.enclosed=!1),[r.number?"number":"",{number:!1,enclosed:r.enclosed,script:r.script}])}e.openingFraction=function(t){const e=p.fractionNestingDepth(t);return new Array(e).join(u.LOCALE.MESSAGES.MS.FRACTION_REPEAT)+u.LOCALE.MESSAGES.MS.FRACTION_START},e.closingFraction=function(t){const e=p.fractionNestingDepth(t);return new Array(e).join(u.LOCALE.MESSAGES.MS.FRACTION_REPEAT)+u.LOCALE.MESSAGES.MS.FRACTION_END},e.overFraction=function(t){const e=p.fractionNestingDepth(t);return new Array(e).join(u.LOCALE.MESSAGES.MS.FRACTION_REPEAT)+u.LOCALE.MESSAGES.MS.FRACTION_OVER},e.overBevelledFraction=function(t){const e=p.fractionNestingDepth(t);return new Array(e).join(u.LOCALE.MESSAGES.MS.FRACTION_REPEAT)+"\u2838"+u.LOCALE.MESSAGES.MS.FRACTION_OVER},e.nestedRadical=h,e.radicalNestingDepth=f,e.openingRadical=function(t){return h(t,u.LOCALE.MESSAGES.MS.STARTROOT)},e.closingRadical=function(t){return h(t,u.LOCALE.MESSAGES.MS.ENDROOT)},e.indexRadical=function(t){return h(t,u.LOCALE.MESSAGES.MS.ROOTINDEX)},e.enlargeFence=d,s.Grammar.getInstance().setCorrection("enlargeFence",d),e.NUMBER_PROPAGATORS_=["multirel","relseq","appl","row","line"],e.NUMBER_INHIBITORS_=["subscript","superscript","overscore","underscore"],e.checkParent_=m,e.propagateNumber=y,(0,l.register)(new c.SemanticVisitor("nemeth","number",y,{number:!0})),e.relationIterator=function(t,e){const r=t.slice(0);let s,l=!0;return s=t.length>0?i.evalXPath("../../content/*",t[0]):[],function(){const t=s.shift(),i=r.shift(),c=r[0],h=e?[n.AuditoryDescription.create({text:e},{translate:!0})]:[];if(!t)return h;const f=i?p.nestedSubSuper(i,"",{sup:u.LOCALE.MESSAGES.MS.SUPER,sub:u.LOCALE.MESSAGES.MS.SUB}):"",d=i&&"EMPTY"!==o.tagName(i)||l&&t.parentNode.parentNode&&t.parentNode.parentNode.previousSibling?[n.AuditoryDescription.create({text:"\u2800"+f},{})]:[],m=c&&"EMPTY"!==o.tagName(c)||!s.length&&t.parentNode.parentNode&&t.parentNode.parentNode.nextSibling?[n.AuditoryDescription.create({text:"\u2800"},{})]:[],y=a.default.evaluateNode(t);return l=!1,h.concat(d,y,m)}},e.implicitIterator=function(t,e){const r=t.slice(0);let s;return s=t.length>0?i.evalXPath("../../content/*",t[0]):[],function(){const t=r.shift(),i=r[0],a=s.shift(),l=e?[n.AuditoryDescription.create({text:e},{translate:!0})]:[];if(!a)return l;const c=t&&"NUMBER"===o.tagName(t),u=i&&"NUMBER"===o.tagName(i);return l.concat(c&&u&&"space"===a.getAttribute("role")?[n.AuditoryDescription.create({text:"\u2800"},{})]:[])}}},8437:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.ordinalPosition=e.vulgarFraction=e.wordCounter=e.ordinalCounter=void 0;const n=r(9536),o=r(5740),i=r(4356),s=r(4977);e.ordinalCounter=function(t,e){let r=0;return function(){return i.LOCALE.NUMBERS.numericOrdinal(++r)+" "+e}},e.wordCounter=function(t,e){let r=0;return function(){return i.LOCALE.NUMBERS.numberToOrdinal(++r,!1)+" "+e}},e.vulgarFraction=function(t){const e=(0,s.convertVulgarFraction)(t,i.LOCALE.MESSAGES.MS.FRAC_OVER);return e.convertible&&e.enumerator&&e.denominator?[new n.Span(i.LOCALE.NUMBERS.numberToWords(e.enumerator),{extid:t.childNodes[0].childNodes[0].getAttribute("extid"),separator:""}),new n.Span(i.LOCALE.NUMBERS.vulgarSep,{separator:""}),new n.Span(i.LOCALE.NUMBERS.numberToOrdinal(e.denominator,1!==e.enumerator),{extid:t.childNodes[0].childNodes[1].getAttribute("extid")})]:[new n.Span(e.content||"",{extid:t.getAttribute("extid")})]},e.ordinalPosition=function(t){const e=o.toArray(t.parentNode.childNodes);return i.LOCALE.NUMBERS.numericOrdinal(e.indexOf(t)+1).toString()}},9284:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.BrailleRules=e.OtherRules=e.PrefixRules=void 0;const n=r(1676),o=r(365),i=r(1378),s=r(6922),a=r(8437),l=r(7283);e.PrefixRules=function(){l.addStore("en.prefix.default","",{CSFordinalPosition:a.ordinalPosition})},e.OtherRules=function(){l.addStore("en.speech.chromevox","",{CTFnodeCounter:o.nodeCounter,CTFcontentIterator:o.contentIterator}),l.addStore("en.speech.emacspeak","en.speech.chromevox",{CQFvulgarFractionSmall:i.isSmallVulgarFraction,CSFvulgarFraction:a.vulgarFraction})},e.BrailleRules=function(){l.addStore("nemeth.braille.default",n.DynamicCstr.BASE_LOCALE+".speech.mathspeak",{CSFopenFraction:s.openingFraction,CSFcloseFraction:s.closingFraction,CSFoverFraction:s.overFraction,CSFoverBevFraction:s.overBevelledFraction,CSFopenRadical:s.openingRadical,CSFcloseRadical:s.closingRadical,CSFindexRadical:s.indexRadical,CSFsubscript:i.subscriptVerbose,CSFsuperscript:i.superscriptVerbose,CSFbaseline:i.baselineVerbose,CGFtensorRules:t=>i.generateTensorRules(t,!1),CTFrelationIterator:s.relationIterator,CTFimplicitIterator:s.implicitIterator})}},7599:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.init=e.INIT_=void 0;const n=r(5425),o=r(9577),i=r(9284);e.INIT_=!1,e.init=function(){e.INIT_||((0,o.MathspeakRules)(),(0,n.ClearspeakRules)(),(0,i.PrefixRules)(),(0,i.OtherRules)(),(0,i.BrailleRules)(),e.INIT_=!0)}},7283:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.getStore=e.addStore=e.funcStore=void 0;const n=r(1676);e.funcStore=new Map,e.addStore=function(t,r,n){const o={};if(r){const t=e.funcStore.get(r)||{};Object.assign(o,t)}e.funcStore.set(t,Object.assign(o,n))},e.getStore=function(t,r,o){return e.funcStore.get([t,r,o].join("."))||e.funcStore.get([n.DynamicCstr.DEFAULT_VALUES[n.Axis.LOCALE],r,o].join("."))||e.funcStore.get([n.DynamicCstr.BASE_LOCALE,r,o].join("."))||{}}},7598:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.oneLeft=e.leftMostUnit=e.rightMostUnit=e.unitMultipliers=void 0;const n=r(7052),o=r(5274),i=r(4356);e.unitMultipliers=function(t,e){const r=t;let o=0;return function(){const t=n.AuditoryDescription.create({text:a(r[o])&&l(r[o+1])?i.LOCALE.MESSAGES.unitTimes:""},{});return o++,[t]}};const s=["superscript","subscript","overscore","underscore"];function a(t){for(;t;){if("unit"===t.getAttribute("role"))return!0;const e=t.tagName,r=o.evalXPath("children/*",t);t=-1!==s.indexOf(e)?r[0]:r[r.length-1]}return!1}function l(t){for(;t;){if("unit"===t.getAttribute("role"))return!0;t=o.evalXPath("children/*",t)[0]}return!1}e.rightMostUnit=a,e.leftMostUnit=l,e.oneLeft=function(t){for(;t;){if("number"===t.tagName&&"1"===t.textContent)return[t];if("infixop"!==t.tagName||"multiplication"!==t.getAttribute("role")&&"implicit"!==t.getAttribute("role"))return[];t=o.evalXPath("children/*",t)[0]}return[]}},3284:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractWalker=void 0;const n=r(7052),o=r(8290),i=r(5740),s=r(4440),a=r(6828),l=r(8496),c=r(2298),u=r(4356),p=r(2105),h=r(5656),f=r(9552),d=r(9543),m=r(8504),y=r(7730),g=r(1214),b=r(179),v=r(1204),_=r(5274);class S{constructor(t,e,r,n){this.node=t,this.generator=e,this.highlighter=r,this.modifier=!1,this.keyMapping=new Map([[l.KeyCode.UP,this.up.bind(this)],[l.KeyCode.DOWN,this.down.bind(this)],[l.KeyCode.RIGHT,this.right.bind(this)],[l.KeyCode.LEFT,this.left.bind(this)],[l.KeyCode.TAB,this.repeat.bind(this)],[l.KeyCode.DASH,this.expand.bind(this)],[l.KeyCode.SPACE,this.depth.bind(this)],[l.KeyCode.HOME,this.home.bind(this)],[l.KeyCode.X,this.summary.bind(this)],[l.KeyCode.Z,this.detail.bind(this)],[l.KeyCode.V,this.virtualize.bind(this)],[l.KeyCode.P,this.previous.bind(this)],[l.KeyCode.U,this.undo.bind(this)],[l.KeyCode.LESS,this.previousRules.bind(this)],[l.KeyCode.GREATER,this.nextRules.bind(this)]]),this.cursors=[],this.xml_=null,this.rebuilt_=null,this.focus_=null,this.active_=!1,this.node.id?this.id=this.node.id:this.node.hasAttribute(S.SRE_ID_ATTR)?this.id=this.node.getAttribute(S.SRE_ID_ATTR):(this.node.setAttribute(S.SRE_ID_ATTR,S.ID_COUNTER.toString()),this.id=S.ID_COUNTER++),this.rootNode=v.getSemanticRoot(t),this.rootId=this.rootNode.getAttribute(c.Attribute.ID),this.xmlString_=n,this.moved=b.WalkerMoves.ENTER}getXml(){return this.xml_||(this.xml_=i.parseInput(this.xmlString_)),this.xml_}getRebuilt(){return this.rebuilt_||this.rebuildStree(),this.rebuilt_}isActive(){return this.active_}activate(){this.isActive()||(this.generator.start(),this.toggleActive_())}deactivate(){this.isActive()&&(b.WalkerState.setState(this.id,this.primaryId()),this.generator.end(),this.toggleActive_())}getFocus(t=!1){return this.focus_||(this.focus_=this.singletonFocus(this.rootId)),t&&this.updateFocus(),this.focus_}setFocus(t){this.focus_=t}getDepth(){return this.levels.depth()-1}isSpeech(){return this.generator.modality===c.Attribute.SPEECH}focusDomNodes(){return this.getFocus().getDomNodes()}focusSemanticNodes(){return this.getFocus().getSemanticNodes()}speech(){const t=this.focusDomNodes();if(!t.length)return"";const e=this.specialMove();if(null!==e)return e;switch(this.moved){case b.WalkerMoves.DEPTH:return this.depth_();case b.WalkerMoves.SUMMARY:return this.summary_();case b.WalkerMoves.DETAIL:return this.detail_();default:{const e=[],r=this.focusSemanticNodes();for(let n=0,o=t.length;n0}restoreState(){if(!this.highlighter)return;const t=b.WalkerState.getState(this.id);if(!t)return;let e=this.getRebuilt().nodeDict[t];const r=[];for(;e;)r.push(e.id),e=e.parent;for(r.pop();r.length>0;){this.down();const t=r.pop(),e=this.findFocusOnLevel(t);if(!e)break;this.setFocus(e)}this.moved=b.WalkerMoves.ENTER}updateFocus(){this.setFocus(y.Focus.factory(this.getFocus().getSemanticPrimary().id.toString(),this.getFocus().getSemanticNodes().map((t=>t.id.toString())),this.getRebuilt(),this.node))}rebuildStree(){this.rebuilt_=new g.RebuildStree(this.getXml()),this.rootId=this.rebuilt_.stree.root.id.toString(),this.generator.setRebuilt(this.rebuilt_),this.skeleton=h.SemanticSkeleton.fromTree(this.rebuilt_.stree),this.skeleton.populate(),this.focus_=this.singletonFocus(this.rootId),this.levels=this.initLevels(),d.connectMactions(this.node,this.getXml(),this.rebuilt_.xml)}previousLevel(){const t=this.getFocus().getDomPrimary();return t?v.getAttribute(t,c.Attribute.PARENT):this.getFocus().getSemanticPrimary().parent.id.toString()}nextLevel(){const t=this.getFocus().getDomPrimary();let e,r;if(t){e=v.splitAttribute(v.getAttribute(t,c.Attribute.CHILDREN)),r=v.splitAttribute(v.getAttribute(t,c.Attribute.CONTENT));const n=v.getAttribute(t,c.Attribute.TYPE),o=v.getAttribute(t,c.Attribute.ROLE);return this.combineContentChildren(n,o,r,e)}const n=t=>t.id.toString(),o=this.getRebuilt().nodeDict[this.primaryId()];return e=o.childNodes.map(n),r=o.contentNodes.map(n),0===e.length?[]:this.combineContentChildren(o.type,o.role,r,e)}singletonFocus(t){this.getRebuilt();const e=this.retrieveVisuals(t);return this.focusFromId(t,e)}retrieveVisuals(t){if(!this.skeleton)return[t];const e=parseInt(t,10),r=this.skeleton.subtreeNodes(e);if(!r.length)return[t];r.unshift(e);const n={},o=[];_.updateEvaluator(this.getXml());for(const t of r)n[t]||(o.push(t.toString()),n[t]=!0,this.subtreeIds(t,n));return o}subtreeIds(t,e){const r=_.evalXPath(`//*[@data-semantic-id="${t}"]`,this.getXml());_.evalXPath("*//@data-semantic-id",r[0]).forEach((t=>e[parseInt(t.textContent,10)]=!0))}focusFromId(t,e){return y.Focus.factory(t,e,this.getRebuilt(),this.node)}summary(){return this.moved=this.isSpeech()?b.WalkerMoves.SUMMARY:b.WalkerMoves.REPEAT,this.getFocus().clone()}detail(){return this.moved=this.isSpeech()?b.WalkerMoves.DETAIL:b.WalkerMoves.REPEAT,this.getFocus().clone()}specialMove(){return null}virtualize(t){return this.cursors.push({focus:this.getFocus(),levels:this.levels,undo:t||!this.cursors.length}),this.levels=this.levels.clone(),this.getFocus().clone()}previous(){const t=this.cursors.pop();return t?(this.levels=t.levels,t.focus):this.getFocus()}undo(){let t;do{t=this.cursors.pop()}while(t&&!t.undo);return t?(this.levels=t.levels,t.focus):this.getFocus()}update(t){this.generator.setOptions(t),(0,a.setup)(t).then((()=>f.generator("Tree").getSpeech(this.node,this.getXml())))}nextRules(){const t=this.generator.getOptions();return"speech"!==t.modality?this.getFocus():(s.DOMAIN_TO_STYLES[t.domain]=t.style,t.domain="mathspeak"===t.domain?"clearspeak":"mathspeak",t.style=s.DOMAIN_TO_STYLES[t.domain],this.update(t),this.moved=b.WalkerMoves.REPEAT,this.getFocus().clone())}nextStyle(t,e){if("mathspeak"===t){const t=["default","brief","sbrief"],r=t.indexOf(e);return-1===r?e:r>=t.length-1?t[0]:t[r+1]}if("clearspeak"===t){const t=m.ClearspeakPreferences.getLocalePreferences().en;if(!t)return"default";const r=m.ClearspeakPreferences.relevantPreferences(this.getFocus().getSemanticPrimary()),n=m.ClearspeakPreferences.findPreference(e,r),o=t[r].map((function(t){return t.split("_")[1]})),i=o.indexOf(n);if(-1===i)return e;const s=i>=o.length-1?o[0]:o[i+1];return m.ClearspeakPreferences.addPreference(e,r,s)}return e}previousRules(){const t=this.generator.getOptions();return"speech"!==t.modality?this.getFocus():(t.style=this.nextStyle(t.domain,t.style),this.update(t),this.moved=b.WalkerMoves.REPEAT,this.getFocus().clone())}refocus(){let t,e=this.getFocus();for(;!e.getNodes().length;){t=this.levels.peek();const r=this.up();if(!r)break;this.setFocus(r),e=this.getFocus(!0)}this.levels.push(t),this.setFocus(e)}toggleActive_(){this.active_=!this.active_}mergePrefix_(t,e=[]){const r=this.isSpeech()?this.prefix_():"";r&&t.unshift(r);const n=this.isSpeech()?this.postfix_():"";return n&&t.push(n),o.finalize(o.merge(e.concat(t)))}prefix_(){const t=this.getFocus().getDomNodes(),e=this.getFocus().getSemanticNodes();return t[0]?v.getAttribute(t[0],c.Attribute.PREFIX):d.retrievePrefix(e[0])}postfix_(){const t=this.getFocus().getDomNodes();return t[0]?v.getAttribute(t[0],c.Attribute.POSTFIX):""}depth_(){const t=p.Grammar.getInstance().getParameter("depth");p.Grammar.getInstance().setParameter("depth",!0);const e=this.getFocus().getDomPrimary(),r=this.expandable(e)?u.LOCALE.MESSAGES.navigate.EXPANDABLE:this.collapsible(e)?u.LOCALE.MESSAGES.navigate.COLLAPSIBLE:"",i=u.LOCALE.MESSAGES.navigate.LEVEL+" "+this.getDepth(),s=this.getFocus().getSemanticNodes(),a=d.retrievePrefix(s[0]),l=[new n.AuditoryDescription({text:i,personality:{}}),new n.AuditoryDescription({text:a,personality:{}}),new n.AuditoryDescription({text:r,personality:{}})];return p.Grammar.getInstance().setParameter("depth",t),o.finalize(o.markup(l))}actionable_(t){const e=null==t?void 0:t.parentNode;return e&&this.highlighter.isMactionNode(e)?e:null}summary_(){const t=this.getFocus().getSemanticPrimary().id.toString(),e=this.getRebuilt().xml.getAttribute("id")===t?this.getRebuilt().xml:i.querySelectorAllByAttrValue(this.getRebuilt().xml,"id",t)[0],r=d.retrieveSummary(e);return this.mergePrefix_([r])}detail_(){const t=this.getFocus().getSemanticPrimary().id.toString(),e=this.getRebuilt().xml.getAttribute("id")===t?this.getRebuilt().xml:i.querySelectorAllByAttrValue(this.getRebuilt().xml,"id",t)[0],r=e.getAttribute("alternative");e.removeAttribute("alternative");const n=d.computeMarkup(e),o=this.mergePrefix_([n]);return e.setAttribute("alternative",r),o}}e.AbstractWalker=S,S.ID_COUNTER=0,S.SRE_ID_ATTR="sre-explorer-id"},162:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.DummyWalker=void 0;const n=r(3284);class o extends n.AbstractWalker{up(){return null}down(){return null}left(){return null}right(){return null}repeat(){return null}depth(){return null}home(){return null}getDepth(){return 0}initLevels(){return null}combineContentChildren(t,e,r,n){return[]}findFocusOnLevel(t){return null}}e.DummyWalker=o},7730:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Focus=void 0;const n=r(1204);class o{constructor(t,e){this.nodes=t,this.primary=e,this.domNodes=[],this.domPrimary_=null,this.allNodes=[]}static factory(t,e,r,i){const s=t=>n.getBySemanticId(i,t),a=r.nodeDict,l=s(t),c=e.map(s),u=e.map((function(t){return a[t]})),p=new o(u,a[t]);return p.domNodes=c,p.domPrimary_=l,p.allNodes=o.generateAllVisibleNodes_(e,c,a,i),p}static generateAllVisibleNodes_(t,e,r,i){const s=t=>n.getBySemanticId(i,t);let a=[];for(let n=0,l=t.length;n=e.length?null:e[t]}depth(){return this.level_.length}clone(){const t=new r;return t.level_=this.level_.slice(0),t}toString(){let t="";for(let e,r=0;e=this.level_[r];r++)t+="\n"+e.map((function(t){return t.toString()}));return t}}e.Levels=r},1214:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.RebuildStree=void 0;const n=r(5740),o=r(2298),i=r(3588),s=r(6537),a=r(3308),l=r(5656),c=r(7075),u=r(4795),p=r(1204);class h{constructor(t){this.mathml=t,this.factory=new s.SemanticNodeFactory,this.nodeDict={},this.mmlRoot=p.getSemanticRoot(t),this.streeRoot=this.assembleTree(this.mmlRoot),this.stree=c.SemanticTree.fromNode(this.streeRoot,this.mathml),this.xml=this.stree.xml(),a.default.getInstance().setNodeFactory(this.factory)}static addAttributes(t,e,r){r&&1===e.childNodes.length&&e.childNodes[0].nodeType!==n.NodeType.TEXT_NODE&&u.addAttributes(t,e.childNodes[0]),u.addAttributes(t,e)}static textContent(t,e,r){if(!r&&e.textContent)return void(t.textContent=e.textContent);const n=p.splitAttribute(p.getAttribute(e,o.Attribute.OPERATOR));n.length>1&&(t.textContent=n[1])}static isPunctuated(t){return!l.SemanticSkeleton.simpleCollapseStructure(t)&&t[1]&&l.SemanticSkeleton.contentCollapseStructure(t[1])}getTree(){return this.stree}assembleTree(t){const e=this.makeNode(t),r=p.splitAttribute(p.getAttribute(t,o.Attribute.CHILDREN)),n=p.splitAttribute(p.getAttribute(t,o.Attribute.CONTENT));if(h.addAttributes(e,t,!(r.length||n.length)),0===n.length&&0===r.length)return h.textContent(e,t),e;if(n.length>0){const t=p.getBySemanticId(this.mathml,n[0]);t&&h.textContent(e,t,!0)}e.contentNodes=n.map((t=>this.setParent(t,e))),e.childNodes=r.map((t=>this.setParent(t,e)));const i=p.getAttribute(t,o.Attribute.COLLAPSED);return i?this.postProcess(e,i):e}makeNode(t){const e=p.getAttribute(t,o.Attribute.TYPE),r=p.getAttribute(t,o.Attribute.ROLE),n=p.getAttribute(t,o.Attribute.FONT),i=p.getAttribute(t,o.Attribute.ANNOTATION)||"",s=p.getAttribute(t,o.Attribute.ID),a=p.getAttribute(t,o.Attribute.EMBELLISHED),l=p.getAttribute(t,o.Attribute.FENCEPOINTER),c=this.createNode(parseInt(s,10));return c.type=e,c.role=r,c.font=n||"unknown",c.parseAnnotation(i),l&&(c.fencePointer=l),a&&(c.embellished=a),c}makePunctuation(t){const e=this.createNode(t);return e.updateContent((0,i.invisibleComma)()),e.role="dummy",e}makePunctuated(t,e,r){const n=this.createNode(e[0]);n.type="punctuated",n.embellished=t.embellished,n.fencePointer=t.fencePointer,n.role=r;const o=e.splice(1,1)[0].slice(1);n.contentNodes=o.map(this.makePunctuation.bind(this)),this.collapsedChildren_(e)}makeEmpty(t,e,r){const n=this.createNode(e);n.type="empty",n.embellished=t.embellished,n.fencePointer=t.fencePointer,n.role=r}makeIndex(t,e,r){if(h.isPunctuated(e))return this.makePunctuated(t,e,r),void(e=e[0]);l.SemanticSkeleton.simpleCollapseStructure(e)&&!this.nodeDict[e.toString()]&&this.makeEmpty(t,e,r)}postProcess(t,e){const r=l.SemanticSkeleton.fromString(e).array;if("subsup"===t.type){const e=this.createNode(r[1][0]);return e.type="subscript",e.role="subsup",t.type="superscript",e.embellished=t.embellished,e.fencePointer=t.fencePointer,this.makeIndex(t,r[1][2],"rightsub"),this.makeIndex(t,r[2],"rightsuper"),this.collapsedChildren_(r),t}if("subscript"===t.type)return this.makeIndex(t,r[2],"rightsub"),this.collapsedChildren_(r),t;if("superscript"===t.type)return this.makeIndex(t,r[2],"rightsuper"),this.collapsedChildren_(r),t;if("tensor"===t.type)return this.makeIndex(t,r[2],"leftsub"),this.makeIndex(t,r[3],"leftsuper"),this.makeIndex(t,r[4],"rightsub"),this.makeIndex(t,r[5],"rightsuper"),this.collapsedChildren_(r),t;if("punctuated"===t.type){if(h.isPunctuated(r)){const e=r.splice(1,1)[0].slice(1);t.contentNodes=e.map(this.makePunctuation.bind(this))}return t}if("underover"===t.type){const e=this.createNode(r[1][0]);return"overaccent"===t.childNodes[1].role?(e.type="overscore",t.type="underscore"):(e.type="underscore",t.type="overscore"),e.role="underover",e.embellished=t.embellished,e.fencePointer=t.fencePointer,this.collapsedChildren_(r),t}return t}createNode(t){const e=this.factory.makeNode(t);return this.nodeDict[t.toString()]=e,e}collapsedChildren_(t){const e=t=>{const r=this.nodeDict[t[0]];r.childNodes=[];for(let n=1,o=t.length;ne.getSemanticPrimary().id===t))}}e.SemanticWalker=i},9806:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.SyntaxWalker=void 0;const n=r(707),o=r(3284),i=r(9797);class s extends o.AbstractWalker{constructor(t,e,r,n){super(t,e,r,n),this.node=t,this.generator=e,this.highlighter=r,this.levels=null,this.restoreState()}initLevels(){const t=new i.Levels;return t.push([this.primaryId()]),t}up(){super.up();const t=this.previousLevel();return t?(this.levels.pop(),this.singletonFocus(t)):null}down(){super.down();const t=this.nextLevel();if(0===t.length)return null;const e=this.singletonFocus(t[0]);return e&&this.levels.push(t),e}combineContentChildren(t,e,r,o){switch(t){case"relseq":case"infixop":case"multirel":return(0,n.interleaveLists)(o,r);case"prefixop":return r.concat(o);case"postfixop":return o.concat(r);case"matrix":case"vector":case"fenced":return o.unshift(r[0]),o.push(r[1]),o;case"cases":return o.unshift(r[0]),o;case"punctuated":return"text"===e?(0,n.interleaveLists)(o,r):o;case"appl":return[o[0],r[0],o[1]];case"root":return[o[1],o[0]];default:return o}}left(){super.left();const t=this.levels.indexOf(this.primaryId());if(null===t)return null;const e=this.levels.get(t-1);return e?this.singletonFocus(e):null}right(){super.right();const t=this.levels.indexOf(this.primaryId());if(null===t)return null;const e=this.levels.get(t+1);return e?this.singletonFocus(e):null}findFocusOnLevel(t){return this.singletonFocus(t.toString())}focusDomNodes(){return[this.getFocus().getDomPrimary()]}focusSemanticNodes(){return[this.getFocus().getSemanticPrimary()]}}e.SyntaxWalker=s},1799:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.TableWalker=void 0;const n=r(5740),o=r(8496),i=r(9806),s=r(179);class a extends i.SyntaxWalker{constructor(t,e,r,n){super(t,e,r,n),this.node=t,this.generator=e,this.highlighter=r,this.firstJump=null,this.key_=null,this.row_=0,this.currentTable_=null,this.keyMapping.set(o.KeyCode.ZERO,this.jumpCell.bind(this)),this.keyMapping.set(o.KeyCode.ONE,this.jumpCell.bind(this)),this.keyMapping.set(o.KeyCode.TWO,this.jumpCell.bind(this)),this.keyMapping.set(o.KeyCode.THREE,this.jumpCell.bind(this)),this.keyMapping.set(o.KeyCode.FOUR,this.jumpCell.bind(this)),this.keyMapping.set(o.KeyCode.FIVE,this.jumpCell.bind(this)),this.keyMapping.set(o.KeyCode.SIX,this.jumpCell.bind(this)),this.keyMapping.set(o.KeyCode.SEVEN,this.jumpCell.bind(this)),this.keyMapping.set(o.KeyCode.EIGHT,this.jumpCell.bind(this)),this.keyMapping.set(o.KeyCode.NINE,this.jumpCell.bind(this))}move(t){this.key_=t;const e=super.move(t);return this.modifier=!1,e}up(){return this.moved=s.WalkerMoves.UP,this.eligibleCell_()?this.verticalMove_(!1):super.up()}down(){return this.moved=s.WalkerMoves.DOWN,this.eligibleCell_()?this.verticalMove_(!0):super.down()}jumpCell(){if(!this.isInTable_()||null===this.key_)return this.getFocus();if(this.moved===s.WalkerMoves.ROW){this.moved=s.WalkerMoves.CELL;const t=this.key_-o.KeyCode.ZERO;return this.isLegalJump_(this.row_,t)?this.jumpCell_(this.row_,t):this.getFocus()}const t=this.key_-o.KeyCode.ZERO;return t>this.currentTable_.childNodes.length?this.getFocus():(this.row_=t,this.moved=s.WalkerMoves.ROW,this.getFocus().clone())}undo(){const t=super.undo();return t===this.firstJump&&(this.firstJump=null),t}eligibleCell_(){const t=this.getFocus().getSemanticPrimary();return this.modifier&&"cell"===t.type&&-1!==a.ELIGIBLE_CELL_ROLES.indexOf(t.role)}verticalMove_(t){const e=this.previousLevel();if(!e)return null;const r=this.getFocus(),n=this.levels.indexOf(this.primaryId()),o=this.levels.pop(),i=this.levels.indexOf(e),s=this.levels.get(t?i+1:i-1);if(!s)return this.levels.push(o),null;this.setFocus(this.singletonFocus(s));const a=this.nextLevel();return a[n]?(this.levels.push(a),this.singletonFocus(a[n])):(this.setFocus(r),this.levels.push(o),null)}jumpCell_(t,e){this.firstJump?this.virtualize(!1):(this.firstJump=this.getFocus(),this.virtualize(!0));const r=this.currentTable_.id.toString();let n;do{n=this.levels.pop()}while(-1===n.indexOf(r));this.levels.push(n),this.setFocus(this.singletonFocus(r)),this.levels.push(this.nextLevel());const o=this.currentTable_.childNodes[t-1];return this.setFocus(this.singletonFocus(o.id.toString())),this.levels.push(this.nextLevel()),this.singletonFocus(o.childNodes[e-1].id.toString())}isLegalJump_(t,e){const r=n.querySelectorAllByAttrValue(this.getRebuilt().xml,"id",this.currentTable_.id.toString())[0];if(!r||r.hasAttribute("alternative"))return!1;const o=this.currentTable_.childNodes[t-1];if(!o)return!1;const i=n.querySelectorAllByAttrValue(r,"id",o.id.toString())[0];return!(!i||i.hasAttribute("alternative"))&&!(!o||!o.childNodes[e-1])}isInTable_(){let t=this.getFocus().getSemanticPrimary();for(;t;){if(-1!==a.ELIGIBLE_TABLE_TYPES.indexOf(t.type))return this.currentTable_=t,!0;t=t.parent}return!1}}e.TableWalker=a,a.ELIGIBLE_CELL_ROLES=["determinant","rowvector","binomial","squarematrix","multiline","matrix","vector","cases","table"],a.ELIGIBLE_TABLE_TYPES=["multiline","matrix","vector","cases","table"]},179:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.WalkerState=e.WalkerMoves=void 0,function(t){t.UP="up",t.DOWN="down",t.LEFT="left",t.RIGHT="right",t.REPEAT="repeat",t.DEPTH="depth",t.ENTER="enter",t.EXPAND="expand",t.HOME="home",t.SUMMARY="summary",t.DETAIL="detail",t.ROW="row",t.CELL="cell"}(e.WalkerMoves||(e.WalkerMoves={}));class r{static resetState(t){delete r.STATE[t]}static setState(t,e){r.STATE[t]=e}static getState(t){return r.STATE[t]}}e.WalkerState=r,r.STATE={}},3362:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.walkerMapping_=e.walker=void 0;const n=r(162),o=r(6295),i=r(9806),s=r(1799);e.walker=function(t,r,n,o,i){return(e.walkerMapping_[t.toLowerCase()]||e.walkerMapping_.dummy)(r,n,o,i)},e.walkerMapping_={dummy:(t,e,r,o)=>new n.DummyWalker(t,e,r,o),semantic:(t,e,r,n)=>new o.SemanticWalker(t,e,r,n),syntax:(t,e,r,n)=>new i.SyntaxWalker(t,e,r,n),table:(t,e,r,n)=>new s.TableWalker(t,e,r,n)}},1204:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.getBySemanticId=e.getSemanticRoot=e.getAttribute=e.splitAttribute=void 0;const n=r(5740),o=r(2298);e.splitAttribute=function(t){return t?t.split(/,/):[]},e.getAttribute=function(t,e){return t.getAttribute(e)},e.getSemanticRoot=function(t){if(t.hasAttribute(o.Attribute.TYPE)&&!t.hasAttribute(o.Attribute.PARENT))return t;const e=n.querySelectorAllByAttr(t,o.Attribute.TYPE);for(let t,r=0;t=e[r];r++)if(!t.hasAttribute(o.Attribute.PARENT))return t;return t},e.getBySemanticId=function(t,e){return t.getAttribute(o.Attribute.ID)===e?t:n.querySelectorAllByAttrValue(t,o.Attribute.ID,e)[0]}}},__webpack_module_cache__={};function __webpack_require__(t){var e=__webpack_module_cache__[t];if(void 0!==e)return e.exports;var r=__webpack_module_cache__[t]={exports:{}};return __webpack_modules__[t].call(r.exports,r,r.exports,__webpack_require__),r.exports}__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}();var __webpack_exports__={};!function(){var t=__webpack_require__(9515),e=__webpack_require__(3282),r=__webpack_require__(235),n=__webpack_require__(265),o=__webpack_require__(2388);function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r0&&void 0!==arguments[0]?arguments[0]:[],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(MathJax.startup){e&&(MathJax.startup.registerConstructor("tex",MathJax._.input.tex_ts.TeX),MathJax.startup.useInput("tex")),MathJax.config.tex||(MathJax.config.tex={});var r=MathJax.config.tex.packages;MathJax.config.tex.packages=t,r&&(0,xt.insert)(MathJax.config.tex,{packages:r})}}(["base","ams","newcommand","noundefined","require","autoload","configmacros"]);var pe=__webpack_require__(2892),he=__webpack_require__(625),fe=__webpack_require__(2769);MathJax.loader&&MathJax.loader.checkVersion("input/mml",e.VERSION,"input"),(0,t.combineWithMathJax)({_:{input:{mathml_ts:pe,mathml:{FindMathML:he,MathMLCompile:fe}}}}),MathJax.startup&&(MathJax.startup.registerConstructor("mml",pe.MathML),MathJax.startup.useInput("mml")),MathJax.loader&&MathJax.loader.pathFilters.add((function(t){return t.name=t.name.replace(/\/util\/entities\/.*?\.js/,"/input/mml/entities.js"),!0}));var de=__webpack_require__(50),me=__webpack_require__(8042),ye=__webpack_require__(8270),ge=__webpack_require__(6797),be=__webpack_require__(5355),ve=__webpack_require__(9261),_e=__webpack_require__(9086),Se=__webpack_require__(95),Me=__webpack_require__(1148),Oe=__webpack_require__(8102),xe=__webpack_require__(804),Ee=__webpack_require__(8147),Ae=__webpack_require__(2275),Ce=__webpack_require__(9063),Te=__webpack_require__(6911),Ne=__webpack_require__(1653),we=__webpack_require__(6781),Le=__webpack_require__(6460),Ie=__webpack_require__(6287),Pe=__webpack_require__(5964),Re=__webpack_require__(8776),ke=__webpack_require__(4798),je=__webpack_require__(4597),Be=__webpack_require__(2970),De=__webpack_require__(5610),Fe=__webpack_require__(4300),He=__webpack_require__(8002),Ue=__webpack_require__(7056),Xe=__webpack_require__(1259),Ve=__webpack_require__(3571),qe=__webpack_require__(6590),We=__webpack_require__(8650),Ge=__webpack_require__(421),ze=__webpack_require__(5884),Je=__webpack_require__(5552),Ke=__webpack_require__(3055),$e=__webpack_require__(7519),Ye=__webpack_require__(4420),Ze=__webpack_require__(9800),Qe=__webpack_require__(1160),tr=__webpack_require__(1956),er=__webpack_require__(7490),rr=__webpack_require__(7313),nr=__webpack_require__(7555),or=__webpack_require__(2688),ir=__webpack_require__(5636),sr=__webpack_require__(5723),ar=__webpack_require__(8009),lr=__webpack_require__(5023),cr=__webpack_require__(7096),ur=__webpack_require__(6898),pr=__webpack_require__(6991),hr=__webpack_require__(8411),fr=__webpack_require__(4126),dr=__webpack_require__(258),mr=__webpack_require__(4093),yr=__webpack_require__(905),gr=__webpack_require__(6237),br=__webpack_require__(5164),vr=__webpack_require__(6319),_r=__webpack_require__(5766),Sr=__webpack_require__(1971),Mr=__webpack_require__(167),Or=__webpack_require__(5806);MathJax.loader&&MathJax.loader.checkVersion("output/chtml",e.VERSION,"output"),(0,t.combineWithMathJax)({_:{output:{chtml_ts:de,chtml:{FontData:me,Notation:ye,Usage:ge,Wrapper:be,WrapperFactory:ve,Wrappers_ts:_e,Wrappers:{TeXAtom:Se,TextNode:Me,maction:Oe,math:xe,menclose:Ee,mfenced:Ae,mfrac:Ce,mglyph:Te,mi:Ne,mmultiscripts:we,mn:Le,mo:Ie,mpadded:Pe,mroot:Re,mrow:ke,ms:je,mspace:Be,msqrt:De,msubsup:Fe,mtable:He,mtd:Ue,mtext:Xe,mtr:Ve,munderover:qe,scriptbase:We,semantics:Ge}},common:{FontData:ze,Notation:Je,OutputJax:Ke,Wrapper:$e,WrapperFactory:Ye,Wrappers:{TeXAtom:Ze,TextNode:Qe,maction:tr,math:er,menclose:rr,mfenced:nr,mfrac:or,mglyph:ir,mi:sr,mmultiscripts:ar,mn:lr,mo:cr,mpadded:ur,mroot:pr,mrow:hr,ms:fr,mspace:dr,msqrt:mr,msubsup:yr,mtable:gr,mtd:br,mtext:vr,mtr:_r,munderover:Sr,scriptbase:Mr,semantics:Or}}}}}),MathJax.loader&&(0,t.combineDefaults)(MathJax.config.loader,"output/chtml",{checkReady:function(){return MathJax.loader.load("output/chtml/fonts/tex")}}),MathJax.startup&&(MathJax.startup.registerConstructor("chtml",de.CHTML),MathJax.startup.useOutput("chtml"));var xr=__webpack_require__(2760),Er=__webpack_require__(4005),Ar=__webpack_require__(1015),Cr=__webpack_require__(6555),Tr=__webpack_require__(2183),Nr=__webpack_require__(3490),wr=__webpack_require__(9056),Lr=__webpack_require__(3019),Ir=__webpack_require__(2713),Pr=__webpack_require__(7517),Rr=__webpack_require__(4182),kr=__webpack_require__(2679),jr=__webpack_require__(5469),Br=__webpack_require__(775),Dr=__webpack_require__(9551),Fr=__webpack_require__(6530),Hr=__webpack_require__(4409),Ur=__webpack_require__(5292),Xr=__webpack_require__(3980),Vr=__webpack_require__(1103),qr=__webpack_require__(9124),Wr=__webpack_require__(6001),Gr=__webpack_require__(3696),zr=__webpack_require__(9587),Jr=__webpack_require__(8348),Kr=__webpack_require__(1376),$r=__webpack_require__(1439),Yr=__webpack_require__(331),Zr=__webpack_require__(4886),Qr=__webpack_require__(4471),tn=__webpack_require__(5181),en=__webpack_require__(3526),rn=__webpack_require__(5649),nn=__webpack_require__(7153),on=__webpack_require__(5745),sn=__webpack_require__(1411),an=__webpack_require__(6384),ln=__webpack_require__(6041),cn=__webpack_require__(8199),un=__webpack_require__(9848),pn=__webpack_require__(7906),hn=__webpack_require__(2644),fn=__webpack_require__(4926);if(MathJax.loader&&MathJax.loader.checkVersion("output/chtml/fonts/tex",e.VERSION,"chtml-font"),(0,t.combineWithMathJax)({_:{output:{chtml:{fonts:{tex_ts:xr,tex:{"bold-italic":Er,bold:Ar,"fraktur-bold":Cr,fraktur:Tr,italic:Nr,largeop:wr,monospace:Lr,normal:Ir,"sans-serif-bold-italic":Pr,"sans-serif-bold":Rr,"sans-serif-italic":kr,"sans-serif":jr,smallop:Br,"tex-calligraphic-bold":Dr,"tex-size3":Fr,"tex-size4":Hr,"tex-variant":Ur}}},common:{fonts:{tex:{"bold-italic":Xr,bold:Vr,delimiters:qr,"double-struck":Wr,"fraktur-bold":Gr,fraktur:zr,italic:Jr,largeop:Kr,monospace:$r,normal:Yr,"sans-serif-bold-italic":Zr,"sans-serif-bold":Qr,"sans-serif-italic":tn,"sans-serif":en,"script-bold":rn,script:nn,smallop:on,"tex-calligraphic-bold":sn,"tex-calligraphic":an,"tex-mathit":ln,"tex-oldstyle-bold":cn,"tex-oldstyle":un,"tex-size3":pn,"tex-size4":hn,"tex-variant":fn}}}}}}),MathJax.startup){(0,t.combineDefaults)(MathJax.config,"chtml",{fontURL:n.Package.resolvePath("output/chtml/fonts/woff-v2",!1)});var dn=(0,xt.selectOptionsFromKeys)(MathJax.config.chtml||{},xr.TeXFont.OPTIONS);(0,t.combineDefaults)(MathJax.config,"chtml",{font:new xr.TeXFont(dn)})}var mn=__webpack_require__(5865),yn=__webpack_require__(8310),gn=__webpack_require__(4001),bn=__webpack_require__(473),vn=__webpack_require__(4414);MathJax.loader&&MathJax.loader.checkVersion("ui/menu",e.VERSION,"ui"),(0,t.combineWithMathJax)({_:{ui:{menu:{MJContextMenu:mn,Menu:yn,MenuHandler:gn,MmlVisitor:bn,SelectableInfo:vn}}}}),MathJax.startup&&"undefined"!=typeof window&&MathJax.startup.extendHandler((function(t){return(0,gn.MenuHandler)(t)}),20);var _n=__webpack_require__(351);function Sn(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r0)if(a.tHead&&a.tHead.rows.length>0){for(e=0;e0&&n.push(m),o++;if(!n)return}for(o=0;o Date: Sat, 13 Jul 2024 01:28:53 +0200 Subject: [PATCH 24/30] [doc] Rename tablesort js --- .../dist/{tablesort@5_3_0-min.js => tablesort@5.3.0-min.js} | 0 doc/mkdocs.yml | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename doc/docs/_static/dist/{tablesort@5_3_0-min.js => tablesort@5.3.0-min.js} (100%) diff --git a/doc/docs/_static/dist/tablesort@5_3_0-min.js b/doc/docs/_static/dist/tablesort@5.3.0-min.js similarity index 100% rename from doc/docs/_static/dist/tablesort@5_3_0-min.js rename to doc/docs/_static/dist/tablesort@5.3.0-min.js diff --git a/doc/mkdocs.yml b/doc/mkdocs.yml index 76839b4..b697c4f 100644 --- a/doc/mkdocs.yml +++ b/doc/mkdocs.yml @@ -23,7 +23,7 @@ extra_javascript: - _static/dist/mathjax@3.2.2-es5-tex-mml-chtml.js # tablesort - _static/js/tablesort.js - - _static/dist/tablesort@5_3_0-min.js + - _static/dist/tablesort@5.3.0-min.js hooks: - hooks/hooks.py From ffafa7e6b315ca947603d38659da8e6a1e566d58 Mon Sep 17 00:00:00 2001 From: Iceflower Date: Wed, 31 Jul 2024 22:55:20 +0200 Subject: [PATCH 25/30] [doc] Improve documentation structure --- doc/Dockerfile | 3 ++ doc/docker-compose.yml | 6 ++- doc/docs/_static/css/badge.css | 39 -------------- doc/docs/_static/css/godot_ref.css | 3 -- .../dist/mathjax@3.2.2-es5-tex-mml-chtml.js | 1 - doc/docs/_static/dist/tablesort@5.3.0-min.js | 6 --- doc/docs/_static/js/mathjax.js | 16 ------ doc/docs/_static/js/tablesort.js | 6 --- doc/docs/{_static => assets}/css/common.css | 0 doc/hooks/badge.py | 54 ------------------- doc/hooks/godot_ref.py | 15 ------ doc/hooks/hooks.py | 52 ------------------ doc/hooks/source_link.py | 16 ------ doc/mkdocs.yml | 26 +++------ 14 files changed, 14 insertions(+), 229 deletions(-) create mode 100644 doc/Dockerfile delete mode 100644 doc/docs/_static/css/badge.css delete mode 100644 doc/docs/_static/css/godot_ref.css delete mode 100644 doc/docs/_static/dist/mathjax@3.2.2-es5-tex-mml-chtml.js delete mode 100644 doc/docs/_static/dist/tablesort@5.3.0-min.js delete mode 100644 doc/docs/_static/js/mathjax.js delete mode 100644 doc/docs/_static/js/tablesort.js rename doc/docs/{_static => assets}/css/common.css (100%) delete mode 100644 doc/hooks/badge.py delete mode 100644 doc/hooks/godot_ref.py delete mode 100644 doc/hooks/hooks.py delete mode 100644 doc/hooks/source_link.py diff --git a/doc/Dockerfile b/doc/Dockerfile new file mode 100644 index 0000000..a960116 --- /dev/null +++ b/doc/Dockerfile @@ -0,0 +1,3 @@ +FROM squidfunk/mkdocs-material:9.5.27 + +RUN pip install git+https://github.com/kenyoni-software/kny-mkdocs@1.1.0 diff --git a/doc/docker-compose.yml b/doc/docker-compose.yml index b8d3124..7353e66 100644 --- a/doc/docker-compose.yml +++ b/doc/docker-compose.yml @@ -1,13 +1,15 @@ services: mkdocs-serve: - image: squidfunk/mkdocs-material:9.5.21 + build: + dockerfile: Dockerfile volumes: - ./:/docs ports: - 8000:8000 mkdocs-build: - image: squidfunk/mkdocs-material:9.5.21 + build: + dockerfile: Dockerfile volumes: - ./:/docs command: build diff --git a/doc/docs/_static/css/badge.css b/doc/docs/_static/css/badge.css deleted file mode 100644 index b7974a9..0000000 --- a/doc/docs/_static/css/badge.css +++ /dev/null @@ -1,39 +0,0 @@ -.md-typeset .mdx-badge { - font-size: .85em -} - -.md-typeset .mdx-badge__icon { - color: var(--md-typeset-a-color); - box-shadow: inset 0 0 0.0rem 0.05rem var(--md-accent-fg-color); - padding: 0.2rem; -} - -.md-typeset .mdx-badge__icon:first-child { - border-bottom-left-radius: 0.2rem; - border-top-left-radius: 0.2rem; -} - -.md-typeset .mdx-badge__icon:last-child { - border-bottom-right-radius: 0.2em; - border-top-right-radius: 0.2rem; -} - -.md-typeset .mdx-badge__text { - color: var(--md-typeset-a-color); - box-shadow: inset 0 0 0.0rem 1px var(--md-accent-fg-color); - padding: 0.2rem 0.3rem; -} - -.md-typeset .mdx-badge__text:first-child { - border-bottom-left-radius: 0.2rem; - border-top-left-radius: 0.2rem; -} - -.md-typeset .mdx-badge__text:last-child { - border-bottom-right-radius: 0.2rem; - border-top-right-radius: 0.2rem; -} - -.kny-badge-bg { - background: var(--md-accent-fg-color--transparent); -} diff --git a/doc/docs/_static/css/godot_ref.css b/doc/docs/_static/css/godot_ref.css deleted file mode 100644 index e019abb..0000000 --- a/doc/docs/_static/css/godot_ref.css +++ /dev/null @@ -1,3 +0,0 @@ -.kny-godot-ref { - font-family: var(--md-code-font-family); -} diff --git a/doc/docs/_static/dist/mathjax@3.2.2-es5-tex-mml-chtml.js b/doc/docs/_static/dist/mathjax@3.2.2-es5-tex-mml-chtml.js deleted file mode 100644 index b7da2e5..0000000 --- a/doc/docs/_static/dist/mathjax@3.2.2-es5-tex-mml-chtml.js +++ /dev/null @@ -1 +0,0 @@ -(function(){"use strict";var __webpack_modules__={351:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__assign||function(){return i=Object.assign||function(t){for(var e,r=1,n=arguments.length;r0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},a=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.AssistiveMmlHandler=e.AssistiveMmlMathDocumentMixin=e.AssistiveMmlMathItemMixin=e.LimitedMmlVisitor=void 0;var c=r(4474),u=r(9259),p=r(7233),h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.getAttributes=function(e){return t.prototype.getAttributes.call(this,e).replace(/ ?id=".*?"/,"")},e}(u.SerializedMmlVisitor);function f(t){return function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.assistiveMml=function(t,e){if(void 0===e&&(e=!1),!(this.state()>=c.STATE.ASSISTIVEMML)){if(!this.isEscaped&&(t.options.enableAssistiveMml||e)){var r=t.adaptor,n=t.toMML(this.root).replace(/\n */g,"").replace(//g,""),o=r.firstChild(r.body(r.parse(n,"text/html"))),i=r.node("mjx-assistive-mml",{unselectable:"on",display:this.display?"block":"inline"},[o]);r.setAttribute(r.firstChild(this.typesetRoot),"aria-hidden","true"),r.setStyle(this.typesetRoot,"position","relative"),r.append(this.typesetRoot,i)}this.state(c.STATE.ASSISTIVEMML)}},e}(t)}function d(t){var e;return e=function(t){function e(){for(var e=[],r=0;r0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.HTMLAdaptor=void 0;var s=function(t){function e(e){var r=t.call(this,e.document)||this;return r.window=e,r.parser=new e.DOMParser,r}return o(e,t),e.prototype.parse=function(t,e){return void 0===e&&(e="text/html"),this.parser.parseFromString(t,e)},e.prototype.create=function(t,e){return e?this.document.createElementNS(e,t):this.document.createElement(t)},e.prototype.text=function(t){return this.document.createTextNode(t)},e.prototype.head=function(t){return t.head||t},e.prototype.body=function(t){return t.body||t},e.prototype.root=function(t){return t.documentElement||t},e.prototype.doctype=function(t){return t.doctype?""):""},e.prototype.tags=function(t,e,r){void 0===r&&(r=null);var n=r?t.getElementsByTagNameNS(r,e):t.getElementsByTagName(e);return Array.from(n)},e.prototype.getElements=function(t,e){var r,n,o=[];try{for(var s=i(t),a=s.next();!a.done;a=s.next()){var l=a.value;"string"==typeof l?o=o.concat(Array.from(this.document.querySelectorAll(l))):Array.isArray(l)||l instanceof this.window.NodeList||l instanceof this.window.HTMLCollection?o=o.concat(Array.from(l)):o.push(l)}}catch(t){r={error:t}}finally{try{a&&!a.done&&(n=s.return)&&n.call(s)}finally{if(r)throw r.error}}return o},e.prototype.contains=function(t,e){return t.contains(e)},e.prototype.parent=function(t){return t.parentNode},e.prototype.append=function(t,e){return t.appendChild(e)},e.prototype.insert=function(t,e){return this.parent(e).insertBefore(t,e)},e.prototype.remove=function(t){return this.parent(t).removeChild(t)},e.prototype.replace=function(t,e){return this.parent(e).replaceChild(t,e)},e.prototype.clone=function(t){return t.cloneNode(!0)},e.prototype.split=function(t,e){return t.splitText(e)},e.prototype.next=function(t){return t.nextSibling},e.prototype.previous=function(t){return t.previousSibling},e.prototype.firstChild=function(t){return t.firstChild},e.prototype.lastChild=function(t){return t.lastChild},e.prototype.childNodes=function(t){return Array.from(t.childNodes)},e.prototype.childNode=function(t,e){return t.childNodes[e]},e.prototype.kind=function(t){var e=t.nodeType;return 1===e||3===e||8===e?t.nodeName.toLowerCase():""},e.prototype.value=function(t){return t.nodeValue||""},e.prototype.textContent=function(t){return t.textContent},e.prototype.innerHTML=function(t){return t.innerHTML},e.prototype.outerHTML=function(t){return t.outerHTML},e.prototype.serializeXML=function(t){return(new this.window.XMLSerializer).serializeToString(t)},e.prototype.setAttribute=function(t,e,r,n){return void 0===n&&(n=null),n?(e=n.replace(/.*\//,"")+":"+e.replace(/^.*:/,""),t.setAttributeNS(n,e,r)):t.setAttribute(e,r)},e.prototype.getAttribute=function(t,e){return t.getAttribute(e)},e.prototype.removeAttribute=function(t,e){return t.removeAttribute(e)},e.prototype.hasAttribute=function(t,e){return t.hasAttribute(e)},e.prototype.allAttributes=function(t){return Array.from(t.attributes).map((function(t){return{name:t.name,value:t.value}}))},e.prototype.addClass=function(t,e){t.classList?t.classList.add(e):t.className=(t.className+" "+e).trim()},e.prototype.removeClass=function(t,e){t.classList?t.classList.remove(e):t.className=t.className.split(/ /).filter((function(t){return t!==e})).join(" ")},e.prototype.hasClass=function(t,e){return t.classList?t.classList.contains(e):t.className.split(/ /).indexOf(e)>=0},e.prototype.setStyle=function(t,e,r){t.style[e]=r},e.prototype.getStyle=function(t,e){return t.style[e]},e.prototype.allStyles=function(t){return t.style.cssText},e.prototype.insertRules=function(t,e){var r,n;try{for(var o=i(e.reverse()),s=o.next();!s.done;s=o.next()){var a=s.value;try{t.sheet.insertRule(a,0)}catch(t){console.warn("MathJax: can't insert css rule '".concat(a,"': ").concat(t.message))}}}catch(t){r={error:t}}finally{try{s&&!s.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}},e.prototype.fontSize=function(t){var e=this.window.getComputedStyle(t);return parseFloat(e.fontSize)},e.prototype.fontFamily=function(t){return this.window.getComputedStyle(t).fontFamily||""},e.prototype.nodeSize=function(t,e,r){if(void 0===e&&(e=1),void 0===r&&(r=!1),r&&t.getBBox){var n=t.getBBox();return[n.width/e,n.height/e]}return[t.offsetWidth/e,t.offsetHeight/e]},e.prototype.nodeBBox=function(t){var e=t.getBoundingClientRect();return{left:e.left,right:e.right,top:e.top,bottom:e.bottom}},e}(r(5009).AbstractDOMAdaptor);e.HTMLAdaptor=s},6191:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.browserAdaptor=void 0;var n=r(444);e.browserAdaptor=function(){return new n.HTMLAdaptor(window)}},9515:function(t,e,r){var n=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.MathJax=e.combineWithMathJax=e.combineDefaults=e.combineConfig=e.isObject=void 0;var o=r(3282);function i(t){return"object"==typeof t&&null!==t}function s(t,e){var r,o;try{for(var a=n(Object.keys(e)),l=a.next();!l.done;l=a.next()){var c=l.value;"__esModule"!==c&&(!i(t[c])||!i(e[c])||e[c]instanceof Promise?null!==e[c]&&void 0!==e[c]&&(t[c]=e[c]):s(t[c],e[c]))}}catch(t){r={error:t}}finally{try{l&&!l.done&&(o=a.return)&&o.call(a)}finally{if(r)throw r.error}}return t}e.isObject=i,e.combineConfig=s,e.combineDefaults=function t(e,r,o){var s,a;e[r]||(e[r]={}),e=e[r];try{for(var l=n(Object.keys(o)),c=l.next();!c.done;c=l.next()){var u=c.value;i(e[u])&&i(o[u])?t(e,u,o[u]):null==e[u]&&null!=o[u]&&(e[u]=o[u])}}catch(t){s={error:t}}finally{try{c&&!c.done&&(a=l.return)&&a.call(l)}finally{if(s)throw s.error}}return e},e.combineWithMathJax=function(t){return s(e.MathJax,t)},void 0===r.g.MathJax&&(r.g.MathJax={}),r.g.MathJax.version||(r.g.MathJax={version:o.VERSION,_:{},config:r.g.MathJax}),e.MathJax=r.g.MathJax},235:function(t,e,r){var n,o,i=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CONFIG=e.MathJax=e.Loader=e.PathFilters=e.PackageError=e.Package=void 0;var s=r(9515),a=r(265),l=r(265);Object.defineProperty(e,"Package",{enumerable:!0,get:function(){return l.Package}}),Object.defineProperty(e,"PackageError",{enumerable:!0,get:function(){return l.PackageError}});var c,u=r(7525);if(e.PathFilters={source:function(t){return e.CONFIG.source.hasOwnProperty(t.name)&&(t.name=e.CONFIG.source[t.name]),!0},normalize:function(t){var e=t.name;return e.match(/^(?:[a-z]+:\/)?\/|[a-z]:\\|\[/i)||(t.name="[mathjax]/"+e.replace(/^\.\//,"")),t.addExtension&&!e.match(/\.[^\/]+$/)&&(t.name+=".js"),!0},prefix:function(t){for(var r;(r=t.name.match(/^\[([^\]]*)\]/))&&e.CONFIG.paths.hasOwnProperty(r[1]);)t.name=e.CONFIG.paths[r[1]]+t.name.substr(r[0].length);return!0}},function(t){var r=s.MathJax.version;t.versions=new Map,t.ready=function(){for(var t,e,r=[],n=0;n=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},s=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},a=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},i=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},s=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractDOMAdaptor=void 0;var n=function(){function t(t){void 0===t&&(t=null),this.document=t}return t.prototype.node=function(t,e,n,o){var i,s;void 0===e&&(e={}),void 0===n&&(n=[]);var a=this.create(t,o);this.setAttributes(a,e);try{for(var l=r(n),c=l.next();!c.done;c=l.next()){var u=c.value;this.append(a,u)}}catch(t){i={error:t}}finally{try{c&&!c.done&&(s=l.return)&&s.call(l)}finally{if(i)throw i.error}}return a},t.prototype.setAttributes=function(t,e){var n,o,i,s,a,l;if(e.style&&"string"!=typeof e.style)try{for(var c=r(Object.keys(e.style)),u=c.next();!u.done;u=c.next()){var p=u.value;this.setStyle(t,p.replace(/-([a-z])/g,(function(t,e){return e.toUpperCase()})),e.style[p])}}catch(t){n={error:t}}finally{try{u&&!u.done&&(o=c.return)&&o.call(c)}finally{if(n)throw n.error}}if(e.properties)try{for(var h=r(Object.keys(e.properties)),f=h.next();!f.done;f=h.next()){t[p=f.value]=e.properties[p]}}catch(t){i={error:t}}finally{try{f&&!f.done&&(s=h.return)&&s.call(h)}finally{if(i)throw i.error}}try{for(var d=r(Object.keys(e)),m=d.next();!m.done;m=d.next()){"style"===(p=m.value)&&"string"!=typeof e.style||"properties"===p||this.setAttribute(t,p,e[p])}}catch(t){a={error:t}}finally{try{m&&!m.done&&(l=d.return)&&l.call(d)}finally{if(a)throw a.error}}},t.prototype.replace=function(t,e){return this.insert(t,e),this.remove(e),e},t.prototype.childNode=function(t,e){return this.childNodes(t)[e]},t.prototype.allClasses=function(t){var e=this.getAttribute(t,"class");return e?e.replace(/ +/g," ").replace(/^ /,"").replace(/ $/,"").split(/ /):[]},t}();e.AbstractDOMAdaptor=n},3494:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractFindMath=void 0;var n=r(7233),o=function(){function t(t){var e=this.constructor;this.options=(0,n.userOptions)((0,n.defaultOptions)({},e.OPTIONS),t)}return t.OPTIONS={},t}();e.AbstractFindMath=o},3670:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractHandler=void 0;var i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e}(r(5722).AbstractMathDocument),s=function(){function t(t,e){void 0===e&&(e=5),this.documentClass=i,this.adaptor=t,this.priority=e}return Object.defineProperty(t.prototype,"name",{get:function(){return this.constructor.NAME},enumerable:!1,configurable:!0}),t.prototype.handlesDocument=function(t){return!1},t.prototype.create=function(t,e){return new this.documentClass(t,this.adaptor,e)},t.NAME="generic",t}();e.AbstractHandler=s},805:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.HandlerList=void 0;var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.register=function(t){return this.add(t,t.priority)},e.prototype.unregister=function(t){this.remove(t)},e.prototype.handlesDocument=function(t){var e,r;try{for(var n=i(this),o=n.next();!o.done;o=n.next()){var s=o.value.item;if(s.handlesDocument(t))return s}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}throw new Error("Can't find handler for document")},e.prototype.document=function(t,e){return void 0===e&&(e=null),this.handlesDocument(t).create(t,e)},e}(r(8666).PrioritizedList);e.HandlerList=s},9206:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractInputJax=void 0;var n=r(7233),o=r(7525),i=function(){function t(t){void 0===t&&(t={}),this.adaptor=null,this.mmlFactory=null;var e=this.constructor;this.options=(0,n.userOptions)((0,n.defaultOptions)({},e.OPTIONS),t),this.preFilters=new o.FunctionList,this.postFilters=new o.FunctionList}return Object.defineProperty(t.prototype,"name",{get:function(){return this.constructor.NAME},enumerable:!1,configurable:!0}),t.prototype.setAdaptor=function(t){this.adaptor=t},t.prototype.setMmlFactory=function(t){this.mmlFactory=t},t.prototype.initialize=function(){},t.prototype.reset=function(){for(var t=[],e=0;e=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},s=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},a=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=e&&a.item.renderDoc(t))return}}catch(t){r={error:t}}finally{try{s&&!s.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}},e.prototype.renderMath=function(t,e,r){var n,o;void 0===r&&(r=h.STATE.UNPROCESSED);try{for(var s=i(this.items),a=s.next();!a.done;a=s.next()){var l=a.value;if(l.priority>=r&&l.item.renderMath(t,e))return}}catch(t){n={error:t}}finally{try{a&&!a.done&&(o=s.return)&&o.call(s)}finally{if(n)throw n.error}}},e.prototype.renderConvert=function(t,e,r){var n,o;void 0===r&&(r=h.STATE.LAST);try{for(var s=i(this.items),a=s.next();!a.done;a=s.next()){var l=a.value;if(l.priority>r)return;if(l.item.convert&&l.item.renderMath(t,e))return}}catch(t){n={error:t}}finally{try{a&&!a.done&&(o=s.return)&&o.call(s)}finally{if(n)throw n.error}}},e.prototype.findID=function(t){var e,r;try{for(var n=i(this.items),o=n.next();!o.done;o=n.next()){var s=o.value;if(s.item.id===t)return s.item}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}return null},e}(r(8666).PrioritizedList);e.RenderList=m,e.resetOptions={all:!1,processed:!1,inputJax:null,outputJax:null},e.resetAllOptions={all:!0,processed:!0,inputJax:[],outputJax:[]};var y=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.compile=function(t){return null},e}(c.AbstractInputJax),g=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.typeset=function(t,e){return void 0===e&&(e=null),null},e.prototype.escaped=function(t,e){return null},e}(u.AbstractOutputJax),b=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e}(p.AbstractMathList),v=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e}(h.AbstractMathItem),_=function(){function t(e,r,n){var o=this,i=this.constructor;this.document=e,this.options=(0,l.userOptions)((0,l.defaultOptions)({},i.OPTIONS),n),this.math=new(this.options.MathList||b),this.renderActions=m.create(this.options.renderActions),this.processed=new t.ProcessBits,this.outputJax=this.options.OutputJax||new g;var s=this.options.InputJax||[new y];Array.isArray(s)||(s=[s]),this.inputJax=s,this.adaptor=r,this.outputJax.setAdaptor(r),this.inputJax.map((function(t){return t.setAdaptor(r)})),this.mmlFactory=this.options.MmlFactory||new f.MmlFactory,this.inputJax.map((function(t){return t.setMmlFactory(o.mmlFactory)})),this.outputJax.initialize(),this.inputJax.map((function(t){return t.initialize()}))}return Object.defineProperty(t.prototype,"kind",{get:function(){return this.constructor.KIND},enumerable:!1,configurable:!0}),t.prototype.addRenderAction=function(t){for(var e=[],r=1;r=r&&this.state(r-1),t.renderActions.renderMath(this,t,r)},t.prototype.convert=function(t,r){void 0===r&&(r=e.STATE.LAST),t.renderActions.renderConvert(this,t,r)},t.prototype.compile=function(t){this.state()=e.STATE.INSERTED&&this.removeFromDocument(r),t=e.STATE.TYPESET&&(this.outputData={}),t=e.STATE.COMPILED&&(this.inputData={}),this._state=t),this._state},t.prototype.reset=function(t){void 0===t&&(t=!1),this.state(e.STATE.UNPROCESSED,t)},t}();e.AbstractMathItem=r,e.STATE={UNPROCESSED:0,FINDMATH:10,COMPILED:20,CONVERT:100,METRICS:110,RERENDER:125,TYPESET:150,INSERTED:200,LAST:1e4},e.newState=function(t,r){if(t in e.STATE)throw Error("State "+t+" already exists");e.STATE[t]=r}},9e3:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractMathList=void 0;var i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.isBefore=function(t,e){return t.start.i=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.Attributes=e.INHERIT=void 0,e.INHERIT="_inherit_";var n=function(){function t(t,e){this.global=e,this.defaults=Object.create(e),this.inherited=Object.create(this.defaults),this.attributes=Object.create(this.inherited),Object.assign(this.defaults,t)}return t.prototype.set=function(t,e){this.attributes[t]=e},t.prototype.setList=function(t){Object.assign(this.attributes,t)},t.prototype.get=function(t){var r=this.attributes[t];return r===e.INHERIT&&(r=this.global[t]),r},t.prototype.getExplicit=function(t){if(this.attributes.hasOwnProperty(t))return this.attributes[t]},t.prototype.getList=function(){for(var t,e,n=[],o=0;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.MathMLVisitor=void 0;var s=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.document=null,e}return o(e,t),e.prototype.visitTree=function(t,e){this.document=e;var r=e.createElement("top");return this.visitNode(t,r),this.document=null,r.firstChild},e.prototype.visitTextNode=function(t,e){e.appendChild(this.document.createTextNode(t.getText()))},e.prototype.visitXMLNode=function(t,e){e.appendChild(t.getXML().cloneNode(!0))},e.prototype.visitInferredMrowNode=function(t,e){var r,n;try{for(var o=i(t.childNodes),s=o.next();!s.done;s=o.next()){var a=s.value;this.visitNode(a,e)}}catch(t){r={error:t}}finally{try{s&&!s.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}},e.prototype.visitDefault=function(t,e){var r,n,o=this.document.createElement(t.kind);this.addAttributes(t,o);try{for(var s=i(t.childNodes),a=s.next();!a.done;a=s.next()){var l=a.value;this.visitNode(l,o)}}catch(t){r={error:t}}finally{try{a&&!a.done&&(n=s.return)&&n.call(s)}finally{if(r)throw r.error}}e.appendChild(o)},e.prototype.addAttributes=function(t,e){var r,n,o=t.attributes,s=o.getExplicitNames();try{for(var a=i(s),l=a.next();!l.done;l=a.next()){var c=l.value;e.setAttribute(c,o.getExplicit(c).toString())}}catch(t){r={error:t}}finally{try{l&&!l.done&&(n=a.return)&&n.call(a)}finally{if(r)throw r.error}}},e}(r(6325).MmlVisitor);e.MathMLVisitor=s},3909:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MmlFactory=void 0;var i=r(7860),s=r(6336),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),Object.defineProperty(e.prototype,"MML",{get:function(){return this.node},enumerable:!1,configurable:!0}),e.defaultNodes=s.MML,e}(i.AbstractNodeFactory);e.MmlFactory=a},9007:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__assign||function(){return i=Object.assign||function(t){for(var e,r=1,n=arguments.length;r=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},a=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s};Object.defineProperty(e,"__esModule",{value:!0}),e.XMLNode=e.TextNode=e.AbstractMmlEmptyNode=e.AbstractMmlBaseNode=e.AbstractMmlLayoutNode=e.AbstractMmlTokenNode=e.AbstractMmlNode=e.indentAttributes=e.TEXCLASSNAMES=e.TEXCLASS=void 0;var l=r(91),c=r(4596);e.TEXCLASS={ORD:0,OP:1,BIN:2,REL:3,OPEN:4,CLOSE:5,PUNCT:6,INNER:7,VCENTER:8,NONE:-1},e.TEXCLASSNAMES=["ORD","OP","BIN","REL","OPEN","CLOSE","PUNCT","INNER","VCENTER"];var u=["","thinmathspace","mediummathspace","thickmathspace"],p=[[0,-1,2,3,0,0,0,1],[-1,-1,0,3,0,0,0,1],[2,2,0,0,2,0,0,2],[3,3,0,0,3,0,0,3],[0,0,0,0,0,0,0,0],[0,-1,2,3,0,0,0,1],[1,1,0,1,1,1,1,1],[1,-1,2,3,1,0,1,1]];e.indentAttributes=["indentalign","indentalignfirst","indentshift","indentshiftfirst"];var h=function(t){function r(e,r,n){void 0===r&&(r={}),void 0===n&&(n=[]);var o=t.call(this,e)||this;return o.prevClass=null,o.prevLevel=null,o.texclass=null,o.arity<0&&(o.childNodes=[e.create("inferredMrow")],o.childNodes[0].parent=o),o.setChildren(n),o.attributes=new l.Attributes(e.getNodeClass(o.kind).defaults,e.getNodeClass("math").defaults),o.attributes.setList(r),o}return o(r,t),r.prototype.copy=function(t){var e,r,n,o;void 0===t&&(t=!1);var a=this.factory.create(this.kind);if(a.properties=i({},this.properties),this.attributes){var l=this.attributes.getAllAttributes();try{for(var c=s(Object.keys(l)),u=c.next();!u.done;u=c.next()){var p=u.value;("id"!==p||t)&&a.attributes.set(p,l[p])}}catch(t){e={error:t}}finally{try{u&&!u.done&&(r=c.return)&&r.call(c)}finally{if(e)throw e.error}}}if(this.childNodes&&this.childNodes.length){var h=this.childNodes;1===h.length&&h[0].isInferred&&(h=h[0].childNodes);try{for(var f=s(h),d=f.next();!d.done;d=f.next()){var m=d.value;m?a.appendChild(m.copy()):a.childNodes.push(null)}}catch(t){n={error:t}}finally{try{d&&!d.done&&(o=f.return)&&o.call(f)}finally{if(n)throw n.error}}}return a},Object.defineProperty(r.prototype,"texClass",{get:function(){return this.texclass},set:function(t){this.texclass=t},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"isToken",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"isEmbellished",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"isSpacelike",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"linebreakContainer",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"hasNewLine",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"arity",{get:function(){return 1/0},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"isInferred",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"Parent",{get:function(){for(var t=this.parent;t&&t.notParent;)t=t.Parent;return t},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"notParent",{get:function(){return!1},enumerable:!1,configurable:!0}),r.prototype.setChildren=function(e){return this.arity<0?this.childNodes[0].setChildren(e):t.prototype.setChildren.call(this,e)},r.prototype.appendChild=function(e){var r,n,o=this;if(this.arity<0)return this.childNodes[0].appendChild(e),e;if(e.isInferred){if(this.arity===1/0)return e.childNodes.forEach((function(e){return t.prototype.appendChild.call(o,e)})),e;var i=e;(e=this.factory.create("mrow")).setChildren(i.childNodes),e.attributes=i.attributes;try{for(var a=s(i.getPropertyNames()),l=a.next();!l.done;l=a.next()){var c=l.value;e.setProperty(c,i.getProperty(c))}}catch(t){r={error:t}}finally{try{l&&!l.done&&(n=a.return)&&n.call(a)}finally{if(r)throw r.error}}}return t.prototype.appendChild.call(this,e)},r.prototype.replaceChild=function(e,r){return this.arity<0?(this.childNodes[0].replaceChild(e,r),e):t.prototype.replaceChild.call(this,e,r)},r.prototype.core=function(){return this},r.prototype.coreMO=function(){return this},r.prototype.coreIndex=function(){return 0},r.prototype.childPosition=function(){for(var t,e,r=this,n=r.parent;n&&n.notParent;)r=n,n=n.parent;if(n){var o=0;try{for(var i=s(n.childNodes),a=i.next();!a.done;a=i.next()){if(a.value===r)return o;o++}}catch(e){t={error:e}}finally{try{a&&!a.done&&(e=i.return)&&e.call(i)}finally{if(t)throw t.error}}}return null},r.prototype.setTeXclass=function(t){return this.getPrevClass(t),null!=this.texClass?this:t},r.prototype.updateTeXclass=function(t){t&&(this.prevClass=t.prevClass,this.prevLevel=t.prevLevel,t.prevClass=t.prevLevel=null,this.texClass=t.texClass)},r.prototype.getPrevClass=function(t){t&&(this.prevClass=t.texClass,this.prevLevel=t.attributes.get("scriptlevel"))},r.prototype.texSpacing=function(){var t=null!=this.prevClass?this.prevClass:e.TEXCLASS.NONE,r=this.texClass||e.TEXCLASS.ORD;if(t===e.TEXCLASS.NONE||r===e.TEXCLASS.NONE)return"";t===e.TEXCLASS.VCENTER&&(t=e.TEXCLASS.ORD),r===e.TEXCLASS.VCENTER&&(r=e.TEXCLASS.ORD);var n=p[t][r];return(this.prevLevel>0||this.attributes.get("scriptlevel")>0)&&n>=0?"":u[Math.abs(n)]},r.prototype.hasSpacingAttributes=function(){return this.isEmbellished&&this.coreMO().hasSpacingAttributes()},r.prototype.setInheritedAttributes=function(t,e,n,o){var i,l;void 0===t&&(t={}),void 0===e&&(e=!1),void 0===n&&(n=0),void 0===o&&(o=!1);var c=this.attributes.getAllDefaults();try{for(var u=s(Object.keys(t)),p=u.next();!p.done;p=u.next()){var h=p.value;if(c.hasOwnProperty(h)||r.alwaysInherit.hasOwnProperty(h)){var f=a(t[h],2),d=f[0],m=f[1];((r.noInherit[d]||{})[this.kind]||{})[h]||this.attributes.setInherited(h,m)}}}catch(t){i={error:t}}finally{try{p&&!p.done&&(l=u.return)&&l.call(u)}finally{if(i)throw i.error}}void 0===this.attributes.getExplicit("displaystyle")&&this.attributes.setInherited("displaystyle",e),void 0===this.attributes.getExplicit("scriptlevel")&&this.attributes.setInherited("scriptlevel",n),o&&this.setProperty("texprimestyle",o);var y=this.arity;if(y>=0&&y!==1/0&&(1===y&&0===this.childNodes.length||1!==y&&this.childNodes.length!==y))if(y=0&&e!==1/0&&(1===e&&0===this.childNodes.length||1!==e&&this.childNodes.length!==e)&&this.mError('Wrong number of children for "'+this.kind+'" node',t,!0),this.verifyChildren(t)}},r.prototype.verifyAttributes=function(t){var e,r;if(t.checkAttributes){var n=this.attributes,o=[];try{for(var i=s(n.getExplicitNames()),a=i.next();!a.done;a=i.next()){var l=a.value;"data-"===l.substr(0,5)||void 0!==n.getDefault(l)||l.match(/^(?:class|style|id|(?:xlink:)?href)$/)||o.push(l)}}catch(t){e={error:t}}finally{try{a&&!a.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}o.length&&this.mError("Unknown attributes for "+this.kind+" node: "+o.join(", "),t)}},r.prototype.verifyChildren=function(t){var e,r;try{for(var n=s(this.childNodes),o=n.next();!o.done;o=n.next()){o.value.verifyTree(t)}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}},r.prototype.mError=function(t,e,r){if(void 0===r&&(r=!1),this.parent&&this.parent.isKind("merror"))return null;var n=this.factory.create("merror");if(n.attributes.set("data-mjx-message",t),e.fullErrors||r){var o=this.factory.create("mtext"),i=this.factory.create("text");i.setText(e.fullErrors?t:this.kind),o.appendChild(i),n.appendChild(o),this.parent.replaceChild(n,this)}else this.parent.replaceChild(n,this),n.appendChild(this);return n},r.defaults={mathbackground:l.INHERIT,mathcolor:l.INHERIT,mathsize:l.INHERIT,dir:l.INHERIT},r.noInherit={mstyle:{mpadded:{width:!0,height:!0,depth:!0,lspace:!0,voffset:!0},mtable:{width:!0,height:!0,depth:!0,align:!0}},maligngroup:{mrow:{groupalign:!0},mtable:{groupalign:!0}}},r.alwaysInherit={scriptminsize:!0,scriptsizemultiplier:!0},r.verifyDefaults={checkArity:!0,checkAttributes:!1,fullErrors:!1,fixMmultiscripts:!0,fixMtables:!0},r}(c.AbstractNode);e.AbstractMmlNode=h;var f=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),Object.defineProperty(e.prototype,"isToken",{get:function(){return!0},enumerable:!1,configurable:!0}),e.prototype.getText=function(){var t,e,r="";try{for(var n=s(this.childNodes),o=n.next();!o.done;o=n.next()){var i=o.value;i instanceof g&&(r+=i.getText())}}catch(e){t={error:e}}finally{try{o&&!o.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}return r},e.prototype.setChildInheritedAttributes=function(t,e,r,n){var o,i;try{for(var a=s(this.childNodes),l=a.next();!l.done;l=a.next()){var c=l.value;c instanceof h&&c.setInheritedAttributes(t,e,r,n)}}catch(t){o={error:t}}finally{try{l&&!l.done&&(i=a.return)&&i.call(a)}finally{if(o)throw o.error}}},e.prototype.walkTree=function(t,e){var r,n;t(this,e);try{for(var o=s(this.childNodes),i=o.next();!i.done;i=o.next()){var a=i.value;a instanceof h&&a.walkTree(t,e)}}catch(t){r={error:t}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}return e},e.defaults=i(i({},h.defaults),{mathvariant:"normal",mathsize:l.INHERIT}),e}(h);e.AbstractMmlTokenNode=f;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),Object.defineProperty(e.prototype,"isSpacelike",{get:function(){return this.childNodes[0].isSpacelike},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isEmbellished",{get:function(){return this.childNodes[0].isEmbellished},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"arity",{get:function(){return-1},enumerable:!1,configurable:!0}),e.prototype.core=function(){return this.childNodes[0]},e.prototype.coreMO=function(){return this.childNodes[0].coreMO()},e.prototype.setTeXclass=function(t){return t=this.childNodes[0].setTeXclass(t),this.updateTeXclass(this.childNodes[0]),t},e.defaults=h.defaults,e}(h);e.AbstractMmlLayoutNode=d;var m=function(t){function r(){return null!==t&&t.apply(this,arguments)||this}return o(r,t),Object.defineProperty(r.prototype,"isEmbellished",{get:function(){return this.childNodes[0].isEmbellished},enumerable:!1,configurable:!0}),r.prototype.core=function(){return this.childNodes[0]},r.prototype.coreMO=function(){return this.childNodes[0].coreMO()},r.prototype.setTeXclass=function(t){var r,n;this.getPrevClass(t),this.texClass=e.TEXCLASS.ORD;var o=this.childNodes[0];o?this.isEmbellished||o.isKind("mi")?(t=o.setTeXclass(t),this.updateTeXclass(this.core())):(o.setTeXclass(null),t=this):t=this;try{for(var i=s(this.childNodes.slice(1)),a=i.next();!a.done;a=i.next()){var l=a.value;l&&l.setTeXclass(null)}}catch(t){r={error:t}}finally{try{a&&!a.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}return t},r.defaults=h.defaults,r}(h);e.AbstractMmlBaseNode=m;var y=function(t){function r(){return null!==t&&t.apply(this,arguments)||this}return o(r,t),Object.defineProperty(r.prototype,"isToken",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"isEmbellished",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"isSpacelike",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"linebreakContainer",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"hasNewLine",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"arity",{get:function(){return 0},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"isInferred",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"notParent",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"Parent",{get:function(){return this.parent},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"texClass",{get:function(){return e.TEXCLASS.NONE},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"prevClass",{get:function(){return e.TEXCLASS.NONE},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"prevLevel",{get:function(){return 0},enumerable:!1,configurable:!0}),r.prototype.hasSpacingAttributes=function(){return!1},Object.defineProperty(r.prototype,"attributes",{get:function(){return null},enumerable:!1,configurable:!0}),r.prototype.core=function(){return this},r.prototype.coreMO=function(){return this},r.prototype.coreIndex=function(){return 0},r.prototype.childPosition=function(){return 0},r.prototype.setTeXclass=function(t){return t},r.prototype.texSpacing=function(){return""},r.prototype.setInheritedAttributes=function(t,e,r,n){},r.prototype.inheritAttributesFrom=function(t){},r.prototype.verifyTree=function(t){},r.prototype.mError=function(t,e,r){return void 0===r&&(r=!1),null},r}(c.AbstractEmptyNode);e.AbstractMmlEmptyNode=y;var g=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.text="",e}return o(e,t),Object.defineProperty(e.prototype,"kind",{get:function(){return"text"},enumerable:!1,configurable:!0}),e.prototype.getText=function(){return this.text},e.prototype.setText=function(t){return this.text=t,this},e.prototype.copy=function(){return this.factory.create(this.kind).setText(this.getText())},e.prototype.toString=function(){return this.text},e}(y);e.TextNode=g;var b=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.xml=null,e.adaptor=null,e}return o(e,t),Object.defineProperty(e.prototype,"kind",{get:function(){return"XML"},enumerable:!1,configurable:!0}),e.prototype.getXML=function(){return this.xml},e.prototype.setXML=function(t,e){return void 0===e&&(e=null),this.xml=t,this.adaptor=e,this},e.prototype.getSerializedXML=function(){return this.adaptor.serializeXML(this.xml)},e.prototype.copy=function(){return this.factory.create(this.kind).setXML(this.adaptor.clone(this.xml))},e.prototype.toString=function(){return"XML data"},e}(y);e.XMLNode=b},3948:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__assign||function(){return i=Object.assign||function(t){for(var e,r=1,n=arguments.length;rthis.childNodes.length&&(t=1),this.attributes.set("selection",t)},e.defaults=i(i({},s.AbstractMmlNode.defaults),{actiontype:"toggle",selection:1}),e}(s.AbstractMmlNode);e.MmlMaction=a},142:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__assign||function(){return i=Object.assign||function(t){for(var e,r=1,n=arguments.length;r=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.MmlMfenced=void 0;var a=r(9007),l=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.texclass=a.TEXCLASS.INNER,e.separators=[],e.open=null,e.close=null,e}return o(e,t),Object.defineProperty(e.prototype,"kind",{get:function(){return"mfenced"},enumerable:!1,configurable:!0}),e.prototype.setTeXclass=function(t){this.getPrevClass(t),this.open&&(t=this.open.setTeXclass(t)),this.childNodes[0]&&(t=this.childNodes[0].setTeXclass(t));for(var e=1,r=this.childNodes.length;e=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.MmlMfrac=void 0;var a=r(9007),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),Object.defineProperty(e.prototype,"kind",{get:function(){return"mfrac"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"arity",{get:function(){return 2},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"linebreakContainer",{get:function(){return!0},enumerable:!1,configurable:!0}),e.prototype.setTeXclass=function(t){var e,r;this.getPrevClass(t);try{for(var n=s(this.childNodes),o=n.next();!o.done;o=n.next()){o.value.setTeXclass(null)}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}return this},e.prototype.setChildInheritedAttributes=function(t,e,r,n){(!e||r>0)&&r++,this.childNodes[0].setInheritedAttributes(t,!1,r,n),this.childNodes[1].setInheritedAttributes(t,!1,r,!0)},e.defaults=i(i({},a.AbstractMmlBaseNode.defaults),{linethickness:"medium",numalign:"center",denomalign:"center",bevelled:!1}),e}(a.AbstractMmlBaseNode);e.MmlMfrac=l},3985:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__assign||function(){return i=Object.assign||function(t){for(var e,r=1,n=arguments.length;r1&&r.match(e.operatorName)&&"normal"===this.attributes.get("mathvariant")&&void 0===this.getProperty("autoOP")&&void 0===this.getProperty("texClass")&&(this.texClass=s.TEXCLASS.OP,this.setProperty("autoOP",!0)),this},e.defaults=i({},s.AbstractMmlTokenNode.defaults),e.operatorName=/^[a-z][a-z0-9]*$/i,e.singleCharacter=/^[\uD800-\uDBFF]?.[\u0300-\u036F\u1AB0-\u1ABE\u1DC0-\u1DFF\u20D0-\u20EF]*$/,e}(s.AbstractMmlTokenNode);e.MmlMi=a},6405:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__assign||function(){return i=Object.assign||function(t){for(var e,r=1,n=arguments.length;r0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},a=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.MmlMo=void 0;var l=r(9007),c=r(4082),u=r(505),p=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._texClass=null,e.lspace=5/18,e.rspace=5/18,e}return o(e,t),Object.defineProperty(e.prototype,"texClass",{get:function(){if(null===this._texClass){var t=this.getText(),e=s(this.handleExplicitForm(this.getForms()),3),r=e[0],n=e[1],o=e[2],i=this.constructor.OPTABLE,a=i[r][t]||i[n][t]||i[o][t];return a?a[2]:l.TEXCLASS.REL}return this._texClass},set:function(t){this._texClass=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"kind",{get:function(){return"mo"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isEmbellished",{get:function(){return!0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"hasNewLine",{get:function(){return"newline"===this.attributes.get("linebreak")},enumerable:!1,configurable:!0}),e.prototype.coreParent=function(){for(var t=this,e=this,r=this.factory.getNodeClass("math");e&&e.isEmbellished&&e.coreMO()===this&&!(e instanceof r);)t=e,e=e.parent;return t},e.prototype.coreText=function(t){if(!t)return"";if(t.isEmbellished)return t.coreMO().getText();for(;((t.isKind("mrow")||t.isKind("TeXAtom")&&t.texClass!==l.TEXCLASS.VCENTER||t.isKind("mstyle")||t.isKind("mphantom"))&&1===t.childNodes.length||t.isKind("munderover"))&&t.childNodes[0];)t=t.childNodes[0];return t.isToken?t.getText():""},e.prototype.hasSpacingAttributes=function(){return this.attributes.isSet("lspace")||this.attributes.isSet("rspace")},Object.defineProperty(e.prototype,"isAccent",{get:function(){var t=!1,e=this.coreParent().parent;if(e){var r=e.isKind("mover")?e.childNodes[e.over].coreMO()?"accent":"":e.isKind("munder")?e.childNodes[e.under].coreMO()?"accentunder":"":e.isKind("munderover")?this===e.childNodes[e.over].coreMO()?"accent":this===e.childNodes[e.under].coreMO()?"accentunder":"":"";if(r)t=void 0!==e.attributes.getExplicit(r)?t:this.attributes.get("accent")}return t},enumerable:!1,configurable:!0}),e.prototype.setTeXclass=function(t){var e=this.attributes.getList("form","fence"),r=e.form,n=e.fence;return void 0===this.getProperty("texClass")&&(this.attributes.isSet("lspace")||this.attributes.isSet("rspace"))?null:(n&&this.texClass===l.TEXCLASS.REL&&("prefix"===r&&(this.texClass=l.TEXCLASS.OPEN),"postfix"===r&&(this.texClass=l.TEXCLASS.CLOSE)),this.adjustTeXclass(t))},e.prototype.adjustTeXclass=function(t){var e=this.texClass,r=this.prevClass;if(e===l.TEXCLASS.NONE)return t;if(t?(!t.getProperty("autoOP")||e!==l.TEXCLASS.BIN&&e!==l.TEXCLASS.REL||(r=t.texClass=l.TEXCLASS.ORD),r=this.prevClass=t.texClass||l.TEXCLASS.ORD,this.prevLevel=this.attributes.getInherited("scriptlevel")):r=this.prevClass=l.TEXCLASS.NONE,e!==l.TEXCLASS.BIN||r!==l.TEXCLASS.NONE&&r!==l.TEXCLASS.BIN&&r!==l.TEXCLASS.OP&&r!==l.TEXCLASS.REL&&r!==l.TEXCLASS.OPEN&&r!==l.TEXCLASS.PUNCT)if(r!==l.TEXCLASS.BIN||e!==l.TEXCLASS.REL&&e!==l.TEXCLASS.CLOSE&&e!==l.TEXCLASS.PUNCT){if(e===l.TEXCLASS.BIN){for(var n=this,o=this.parent;o&&o.parent&&o.isEmbellished&&(1===o.childNodes.length||!o.isKind("mrow")&&o.core()===n);)n=o,o=o.parent;o.childNodes[o.childNodes.length-1]===n&&(this.texClass=l.TEXCLASS.ORD)}}else t.texClass=this.prevClass=l.TEXCLASS.ORD;else this.texClass=l.TEXCLASS.ORD;return this},e.prototype.setInheritedAttributes=function(e,r,n,o){void 0===e&&(e={}),void 0===r&&(r=!1),void 0===n&&(n=0),void 0===o&&(o=!1),t.prototype.setInheritedAttributes.call(this,e,r,n,o);var i=this.getText();this.checkOperatorTable(i),this.checkPseudoScripts(i),this.checkPrimes(i),this.checkMathAccent(i)},e.prototype.checkOperatorTable=function(t){var e,r,n=s(this.handleExplicitForm(this.getForms()),3),o=n[0],i=n[1],l=n[2];this.attributes.setInherited("form",o);var u=this.constructor.OPTABLE,p=u[o][t]||u[i][t]||u[l][t];if(p){void 0===this.getProperty("texClass")&&(this.texClass=p[2]);try{for(var h=a(Object.keys(p[3]||{})),f=h.next();!f.done;f=h.next()){var d=f.value;this.attributes.setInherited(d,p[3][d])}}catch(t){e={error:t}}finally{try{f&&!f.done&&(r=h.return)&&r.call(h)}finally{if(e)throw e.error}}this.lspace=(p[0]+1)/18,this.rspace=(p[1]+1)/18}else{var m=(0,c.getRange)(t);if(m){void 0===this.getProperty("texClass")&&(this.texClass=m[2]);var y=this.constructor.MMLSPACING[m[2]];this.lspace=(y[0]+1)/18,this.rspace=(y[1]+1)/18}}},e.prototype.getForms=function(){for(var t=this,e=this.parent,r=this.Parent;r&&r.isEmbellished;)t=e,e=r.parent,r=r.Parent;if(e&&e.isKind("mrow")&&1!==e.nonSpaceLength()){if(e.firstNonSpace()===t)return["prefix","infix","postfix"];if(e.lastNonSpace()===t)return["postfix","infix","prefix"]}return["infix","prefix","postfix"]},e.prototype.handleExplicitForm=function(t){if(this.attributes.isSet("form")){var e=this.attributes.get("form");t=[e].concat(t.filter((function(t){return t!==e})))}return t},e.prototype.checkPseudoScripts=function(t){var e=this.constructor.pseudoScripts;if(t.match(e)){var r=this.coreParent().Parent,n=!r||!(r.isKind("msubsup")&&!r.isKind("msub"));this.setProperty("pseudoscript",n),n&&(this.attributes.setInherited("lspace",0),this.attributes.setInherited("rspace",0))}},e.prototype.checkPrimes=function(t){var e=this.constructor.primes;if(t.match(e)){var r=this.constructor.remapPrimes,n=(0,u.unicodeString)((0,u.unicodeChars)(t).map((function(t){return r[t]})));this.setProperty("primes",n)}},e.prototype.checkMathAccent=function(t){var e=this.Parent;if(void 0===this.getProperty("mathaccent")&&e&&e.isKind("munderover")){var r=e.childNodes[0];if(!r.isEmbellished||r.coreMO()!==this){var n=this.constructor.mathaccents;t.match(n)&&this.setProperty("mathaccent",!0)}}},e.defaults=i(i({},l.AbstractMmlTokenNode.defaults),{form:"infix",fence:!1,separator:!1,lspace:"thickmathspace",rspace:"thickmathspace",stretchy:!1,symmetric:!1,maxsize:"infinity",minsize:"0em",largeop:!1,movablelimits:!1,accent:!1,linebreak:"auto",lineleading:"1ex",linebreakstyle:"before",indentalign:"auto",indentshift:"0",indenttarget:"",indentalignfirst:"indentalign",indentshiftfirst:"indentshift",indentalignlast:"indentalign",indentshiftlast:"indentshift"}),e.MMLSPACING=c.MMLSPACING,e.OPTABLE=c.OPTABLE,e.pseudoScripts=new RegExp(["^[\"'*`","\xaa","\xb0","\xb2-\xb4","\xb9","\xba","\u2018-\u201f","\u2032-\u2037\u2057","\u2070\u2071","\u2074-\u207f","\u2080-\u208e","]+$"].join("")),e.primes=new RegExp(["^[\"'`","\u2018-\u201f","]+$"].join("")),e.remapPrimes={34:8243,39:8242,96:8245,8216:8245,8217:8242,8218:8242,8219:8245,8220:8246,8221:8243,8222:8243,8223:8246},e.mathaccents=new RegExp(["^[","\xb4\u0301\u02ca","`\u0300\u02cb","\xa8\u0308","~\u0303\u02dc","\xaf\u0304\u02c9","\u02d8\u0306","\u02c7\u030c","^\u0302\u02c6","\u2192\u20d7","\u02d9\u0307","\u02da\u030a","\u20db","\u20dc","]$"].join("")),e}(l.AbstractMmlTokenNode);e.MmlMo=p},7238:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__assign||function(){return i=Object.assign||function(t){for(var e,r=1,n=arguments.length;r=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.MmlInferredMrow=e.MmlMrow=void 0;var a=r(9007),l=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._core=null,e}return o(e,t),Object.defineProperty(e.prototype,"kind",{get:function(){return"mrow"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isSpacelike",{get:function(){var t,e;try{for(var r=s(this.childNodes),n=r.next();!n.done;n=r.next()){if(!n.value.isSpacelike)return!1}}catch(e){t={error:e}}finally{try{n&&!n.done&&(e=r.return)&&e.call(r)}finally{if(t)throw t.error}}return!0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isEmbellished",{get:function(){var t,e,r=!1,n=0;try{for(var o=s(this.childNodes),i=o.next();!i.done;i=o.next()){var a=i.value;if(a)if(a.isEmbellished){if(r)return!1;r=!0,this._core=n}else if(!a.isSpacelike)return!1;n++}}catch(e){t={error:e}}finally{try{i&&!i.done&&(e=o.return)&&e.call(o)}finally{if(t)throw t.error}}return r},enumerable:!1,configurable:!0}),e.prototype.core=function(){return this.isEmbellished&&null!=this._core?this.childNodes[this._core]:this},e.prototype.coreMO=function(){return this.isEmbellished&&null!=this._core?this.childNodes[this._core].coreMO():this},e.prototype.nonSpaceLength=function(){var t,e,r=0;try{for(var n=s(this.childNodes),o=n.next();!o.done;o=n.next()){var i=o.value;i&&!i.isSpacelike&&r++}}catch(e){t={error:e}}finally{try{o&&!o.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}return r},e.prototype.firstNonSpace=function(){var t,e;try{for(var r=s(this.childNodes),n=r.next();!n.done;n=r.next()){var o=n.value;if(o&&!o.isSpacelike)return o}}catch(e){t={error:e}}finally{try{n&&!n.done&&(e=r.return)&&e.call(r)}finally{if(t)throw t.error}}return null},e.prototype.lastNonSpace=function(){for(var t=this.childNodes.length;--t>=0;){var e=this.childNodes[t];if(e&&!e.isSpacelike)return e}return null},e.prototype.setTeXclass=function(t){var e,r,n,o;if(null!=this.getProperty("open")||null!=this.getProperty("close")){this.getPrevClass(t),t=null;try{for(var i=s(this.childNodes),l=i.next();!l.done;l=i.next()){t=l.value.setTeXclass(t)}}catch(t){e={error:t}}finally{try{l&&!l.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}null==this.texClass&&(this.texClass=a.TEXCLASS.INNER)}else{try{for(var c=s(this.childNodes),u=c.next();!u.done;u=c.next()){t=u.value.setTeXclass(t)}}catch(t){n={error:t}}finally{try{u&&!u.done&&(o=c.return)&&o.call(c)}finally{if(n)throw n.error}}this.childNodes[0]&&this.updateTeXclass(this.childNodes[0])}return t},e.defaults=i({},a.AbstractMmlNode.defaults),e}(a.AbstractMmlNode);e.MmlMrow=l;var c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),Object.defineProperty(e.prototype,"kind",{get:function(){return"inferredMrow"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isInferred",{get:function(){return!0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"notParent",{get:function(){return!0},enumerable:!1,configurable:!0}),e.prototype.toString=function(){return"["+this.childNodes.join(",")+"]"},e.defaults=l.defaults,e}(l);e.MmlInferredMrow=c},7265:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__assign||function(){return i=Object.assign||function(t){for(var e,r=1,n=arguments.length;r=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.MmlMtable=void 0;var a=r(9007),l=r(505),c=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.properties={useHeight:!0},e.texclass=a.TEXCLASS.ORD,e}return o(e,t),Object.defineProperty(e.prototype,"kind",{get:function(){return"mtable"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"linebreakContainer",{get:function(){return!0},enumerable:!1,configurable:!0}),e.prototype.setInheritedAttributes=function(e,r,n,o){var i,l;try{for(var c=s(a.indentAttributes),u=c.next();!u.done;u=c.next()){var p=u.value;e[p]&&this.attributes.setInherited(p,e[p][1]),void 0!==this.attributes.getExplicit(p)&&delete this.attributes.getAllAttributes()[p]}}catch(t){i={error:t}}finally{try{u&&!u.done&&(l=c.return)&&l.call(c)}finally{if(i)throw i.error}}t.prototype.setInheritedAttributes.call(this,e,r,n,o)},e.prototype.setChildInheritedAttributes=function(t,e,r,n){var o,i,a,c;try{for(var u=s(this.childNodes),p=u.next();!p.done;p=u.next()){(y=p.value).isKind("mtr")||this.replaceChild(this.factory.create("mtr"),y).appendChild(y)}}catch(t){o={error:t}}finally{try{p&&!p.done&&(i=u.return)&&i.call(u)}finally{if(o)throw o.error}}r=this.getProperty("scriptlevel")||r,e=!(!this.attributes.getExplicit("displaystyle")&&!this.attributes.getDefault("displaystyle")),t=this.addInheritedAttributes(t,{columnalign:this.attributes.get("columnalign"),rowalign:"center"});var h=this.attributes.getExplicit("data-cramped"),f=(0,l.split)(this.attributes.get("rowalign"));try{for(var d=s(this.childNodes),m=d.next();!m.done;m=d.next()){var y=m.value;t.rowalign[1]=f.shift()||t.rowalign[1],y.setInheritedAttributes(t,e,r,!!h)}}catch(t){a={error:t}}finally{try{m&&!m.done&&(c=d.return)&&c.call(d)}finally{if(a)throw a.error}}},e.prototype.verifyChildren=function(e){for(var r=null,n=this.factory,o=0;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.MmlMlabeledtr=e.MmlMtr=void 0;var a=r(9007),l=r(91),c=r(505),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),Object.defineProperty(e.prototype,"kind",{get:function(){return"mtr"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"linebreakContainer",{get:function(){return!0},enumerable:!1,configurable:!0}),e.prototype.setChildInheritedAttributes=function(t,e,r,n){var o,i,a,l;try{for(var u=s(this.childNodes),p=u.next();!p.done;p=u.next()){(m=p.value).isKind("mtd")||this.replaceChild(this.factory.create("mtd"),m).appendChild(m)}}catch(t){o={error:t}}finally{try{p&&!p.done&&(i=u.return)&&i.call(u)}finally{if(o)throw o.error}}var h=(0,c.split)(this.attributes.get("columnalign"));1===this.arity&&h.unshift(this.parent.attributes.get("side")),t=this.addInheritedAttributes(t,{rowalign:this.attributes.get("rowalign"),columnalign:"center"});try{for(var f=s(this.childNodes),d=f.next();!d.done;d=f.next()){var m=d.value;t.columnalign[1]=h.shift()||t.columnalign[1],m.setInheritedAttributes(t,e,r,n)}}catch(t){a={error:t}}finally{try{d&&!d.done&&(l=f.return)&&l.call(f)}finally{if(a)throw a.error}}},e.prototype.verifyChildren=function(e){var r,n;if(!this.parent||this.parent.isKind("mtable")){try{for(var o=s(this.childNodes),i=o.next();!i.done;i=o.next()){var a=i.value;if(!a.isKind("mtd"))this.replaceChild(this.factory.create("mtd"),a).appendChild(a),e.fixMtables||a.mError("Children of "+this.kind+" must be mtd",e)}}catch(t){r={error:t}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}t.prototype.verifyChildren.call(this,e)}else this.mError(this.kind+" can only be a child of an mtable",e,!0)},e.prototype.setTeXclass=function(t){var e,r;this.getPrevClass(t);try{for(var n=s(this.childNodes),o=n.next();!o.done;o=n.next()){o.value.setTeXclass(null)}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}return this},e.defaults=i(i({},a.AbstractMmlNode.defaults),{rowalign:l.INHERIT,columnalign:l.INHERIT,groupalign:l.INHERIT}),e}(a.AbstractMmlNode);e.MmlMtr=u;var p=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),Object.defineProperty(e.prototype,"kind",{get:function(){return"mlabeledtr"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"arity",{get:function(){return 1},enumerable:!1,configurable:!0}),e}(u);e.MmlMlabeledtr=p},5184:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__assign||function(){return i=Object.assign||function(t){for(var e,r=1,n=arguments.length;r=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.OPTABLE=e.MMLSPACING=e.getRange=e.RANGES=e.MO=e.OPDEF=void 0;var o=r(9007);function i(t,e,r,n){return void 0===r&&(r=o.TEXCLASS.BIN),void 0===n&&(n=null),[t,e,r,n]}e.OPDEF=i,e.MO={ORD:i(0,0,o.TEXCLASS.ORD),ORD11:i(1,1,o.TEXCLASS.ORD),ORD21:i(2,1,o.TEXCLASS.ORD),ORD02:i(0,2,o.TEXCLASS.ORD),ORD55:i(5,5,o.TEXCLASS.ORD),NONE:i(0,0,o.TEXCLASS.NONE),OP:i(1,2,o.TEXCLASS.OP,{largeop:!0,movablelimits:!0,symmetric:!0}),OPFIXED:i(1,2,o.TEXCLASS.OP,{largeop:!0,movablelimits:!0}),INTEGRAL:i(0,1,o.TEXCLASS.OP,{largeop:!0,symmetric:!0}),INTEGRAL2:i(1,2,o.TEXCLASS.OP,{largeop:!0,symmetric:!0}),BIN3:i(3,3,o.TEXCLASS.BIN),BIN4:i(4,4,o.TEXCLASS.BIN),BIN01:i(0,1,o.TEXCLASS.BIN),BIN5:i(5,5,o.TEXCLASS.BIN),TALLBIN:i(4,4,o.TEXCLASS.BIN,{stretchy:!0}),BINOP:i(4,4,o.TEXCLASS.BIN,{largeop:!0,movablelimits:!0}),REL:i(5,5,o.TEXCLASS.REL),REL1:i(1,1,o.TEXCLASS.REL,{stretchy:!0}),REL4:i(4,4,o.TEXCLASS.REL),RELSTRETCH:i(5,5,o.TEXCLASS.REL,{stretchy:!0}),RELACCENT:i(5,5,o.TEXCLASS.REL,{accent:!0}),WIDEREL:i(5,5,o.TEXCLASS.REL,{accent:!0,stretchy:!0}),OPEN:i(0,0,o.TEXCLASS.OPEN,{fence:!0,stretchy:!0,symmetric:!0}),CLOSE:i(0,0,o.TEXCLASS.CLOSE,{fence:!0,stretchy:!0,symmetric:!0}),INNER:i(0,0,o.TEXCLASS.INNER),PUNCT:i(0,3,o.TEXCLASS.PUNCT),ACCENT:i(0,0,o.TEXCLASS.ORD,{accent:!0}),WIDEACCENT:i(0,0,o.TEXCLASS.ORD,{accent:!0,stretchy:!0})},e.RANGES=[[32,127,o.TEXCLASS.REL,"mo"],[160,191,o.TEXCLASS.ORD,"mo"],[192,591,o.TEXCLASS.ORD,"mi"],[688,879,o.TEXCLASS.ORD,"mo"],[880,6688,o.TEXCLASS.ORD,"mi"],[6832,6911,o.TEXCLASS.ORD,"mo"],[6912,7615,o.TEXCLASS.ORD,"mi"],[7616,7679,o.TEXCLASS.ORD,"mo"],[7680,8191,o.TEXCLASS.ORD,"mi"],[8192,8303,o.TEXCLASS.ORD,"mo"],[8304,8351,o.TEXCLASS.ORD,"mo"],[8448,8527,o.TEXCLASS.ORD,"mi"],[8528,8591,o.TEXCLASS.ORD,"mn"],[8592,8703,o.TEXCLASS.REL,"mo"],[8704,8959,o.TEXCLASS.BIN,"mo"],[8960,9215,o.TEXCLASS.ORD,"mo"],[9312,9471,o.TEXCLASS.ORD,"mn"],[9472,10223,o.TEXCLASS.ORD,"mo"],[10224,10239,o.TEXCLASS.REL,"mo"],[10240,10495,o.TEXCLASS.ORD,"mtext"],[10496,10623,o.TEXCLASS.REL,"mo"],[10624,10751,o.TEXCLASS.ORD,"mo"],[10752,11007,o.TEXCLASS.BIN,"mo"],[11008,11055,o.TEXCLASS.ORD,"mo"],[11056,11087,o.TEXCLASS.REL,"mo"],[11088,11263,o.TEXCLASS.ORD,"mo"],[11264,11744,o.TEXCLASS.ORD,"mi"],[11776,11903,o.TEXCLASS.ORD,"mo"],[11904,12255,o.TEXCLASS.ORD,"mi","normal"],[12272,12351,o.TEXCLASS.ORD,"mo"],[12352,42143,o.TEXCLASS.ORD,"mi","normal"],[42192,43055,o.TEXCLASS.ORD,"mi"],[43056,43071,o.TEXCLASS.ORD,"mn"],[43072,55295,o.TEXCLASS.ORD,"mi"],[63744,64255,o.TEXCLASS.ORD,"mi","normal"],[64256,65023,o.TEXCLASS.ORD,"mi"],[65024,65135,o.TEXCLASS.ORD,"mo"],[65136,65791,o.TEXCLASS.ORD,"mi"],[65792,65935,o.TEXCLASS.ORD,"mn"],[65936,74751,o.TEXCLASS.ORD,"mi","normal"],[74752,74879,o.TEXCLASS.ORD,"mn"],[74880,113823,o.TEXCLASS.ORD,"mi","normal"],[113824,119391,o.TEXCLASS.ORD,"mo"],[119648,119679,o.TEXCLASS.ORD,"mn"],[119808,120781,o.TEXCLASS.ORD,"mi"],[120782,120831,o.TEXCLASS.ORD,"mn"],[122624,129023,o.TEXCLASS.ORD,"mo"],[129024,129279,o.TEXCLASS.REL,"mo"],[129280,129535,o.TEXCLASS.ORD,"mo"],[131072,195103,o.TEXCLASS.ORD,"mi","normnal"]],e.getRange=function(t){var r,o,i=t.codePointAt(0);try{for(var s=n(e.RANGES),a=s.next();!a.done;a=s.next()){var l=a.value;if(i<=l[1]){if(i>=l[0])return l;break}}}catch(t){r={error:t}}finally{try{a&&!a.done&&(o=s.return)&&o.call(s)}finally{if(r)throw r.error}}return null},e.MMLSPACING=[[0,0],[1,2],[3,3],[4,4],[0,0],[0,0],[0,3]],e.OPTABLE={prefix:{"(":e.MO.OPEN,"+":e.MO.BIN01,"-":e.MO.BIN01,"[":e.MO.OPEN,"{":e.MO.OPEN,"|":e.MO.OPEN,"||":[0,0,o.TEXCLASS.BIN,{fence:!0,stretchy:!0,symmetric:!0}],"|||":[0,0,o.TEXCLASS.ORD,{fence:!0,stretchy:!0,symmetric:!0}],"\xac":e.MO.ORD21,"\xb1":e.MO.BIN01,"\u2016":[0,0,o.TEXCLASS.ORD,{fence:!0,stretchy:!0}],"\u2018":[0,0,o.TEXCLASS.OPEN,{fence:!0}],"\u201c":[0,0,o.TEXCLASS.OPEN,{fence:!0}],"\u2145":e.MO.ORD21,"\u2146":i(2,0,o.TEXCLASS.ORD),"\u2200":e.MO.ORD21,"\u2202":e.MO.ORD21,"\u2203":e.MO.ORD21,"\u2204":e.MO.ORD21,"\u2207":e.MO.ORD21,"\u220f":e.MO.OP,"\u2210":e.MO.OP,"\u2211":e.MO.OP,"\u2212":e.MO.BIN01,"\u2213":e.MO.BIN01,"\u221a":[1,1,o.TEXCLASS.ORD,{stretchy:!0}],"\u221b":e.MO.ORD11,"\u221c":e.MO.ORD11,"\u2220":e.MO.ORD,"\u2221":e.MO.ORD,"\u2222":e.MO.ORD,"\u222b":e.MO.INTEGRAL,"\u222c":e.MO.INTEGRAL,"\u222d":e.MO.INTEGRAL,"\u222e":e.MO.INTEGRAL,"\u222f":e.MO.INTEGRAL,"\u2230":e.MO.INTEGRAL,"\u2231":e.MO.INTEGRAL,"\u2232":e.MO.INTEGRAL,"\u2233":e.MO.INTEGRAL,"\u22c0":e.MO.OP,"\u22c1":e.MO.OP,"\u22c2":e.MO.OP,"\u22c3":e.MO.OP,"\u2308":e.MO.OPEN,"\u230a":e.MO.OPEN,"\u2329":e.MO.OPEN,"\u2772":e.MO.OPEN,"\u27e6":e.MO.OPEN,"\u27e8":e.MO.OPEN,"\u27ea":e.MO.OPEN,"\u27ec":e.MO.OPEN,"\u27ee":e.MO.OPEN,"\u2980":[0,0,o.TEXCLASS.ORD,{fence:!0,stretchy:!0}],"\u2983":e.MO.OPEN,"\u2985":e.MO.OPEN,"\u2987":e.MO.OPEN,"\u2989":e.MO.OPEN,"\u298b":e.MO.OPEN,"\u298d":e.MO.OPEN,"\u298f":e.MO.OPEN,"\u2991":e.MO.OPEN,"\u2993":e.MO.OPEN,"\u2995":e.MO.OPEN,"\u2997":e.MO.OPEN,"\u29fc":e.MO.OPEN,"\u2a00":e.MO.OP,"\u2a01":e.MO.OP,"\u2a02":e.MO.OP,"\u2a03":e.MO.OP,"\u2a04":e.MO.OP,"\u2a05":e.MO.OP,"\u2a06":e.MO.OP,"\u2a07":e.MO.OP,"\u2a08":e.MO.OP,"\u2a09":e.MO.OP,"\u2a0a":e.MO.OP,"\u2a0b":e.MO.INTEGRAL2,"\u2a0c":e.MO.INTEGRAL,"\u2a0d":e.MO.INTEGRAL2,"\u2a0e":e.MO.INTEGRAL2,"\u2a0f":e.MO.INTEGRAL2,"\u2a10":e.MO.OP,"\u2a11":e.MO.OP,"\u2a12":e.MO.OP,"\u2a13":e.MO.OP,"\u2a14":e.MO.OP,"\u2a15":e.MO.INTEGRAL2,"\u2a16":e.MO.INTEGRAL2,"\u2a17":e.MO.INTEGRAL2,"\u2a18":e.MO.INTEGRAL2,"\u2a19":e.MO.INTEGRAL2,"\u2a1a":e.MO.INTEGRAL2,"\u2a1b":e.MO.INTEGRAL2,"\u2a1c":e.MO.INTEGRAL2,"\u2afc":e.MO.OP,"\u2aff":e.MO.OP},postfix:{"!!":i(1,0),"!":[1,0,o.TEXCLASS.CLOSE,null],'"':e.MO.ACCENT,"&":e.MO.ORD,")":e.MO.CLOSE,"++":i(0,0),"--":i(0,0),"..":i(0,0),"...":e.MO.ORD,"'":e.MO.ACCENT,"]":e.MO.CLOSE,"^":e.MO.WIDEACCENT,_:e.MO.WIDEACCENT,"`":e.MO.ACCENT,"|":e.MO.CLOSE,"}":e.MO.CLOSE,"~":e.MO.WIDEACCENT,"||":[0,0,o.TEXCLASS.BIN,{fence:!0,stretchy:!0,symmetric:!0}],"|||":[0,0,o.TEXCLASS.ORD,{fence:!0,stretchy:!0,symmetric:!0}],"\xa8":e.MO.ACCENT,"\xaa":e.MO.ACCENT,"\xaf":e.MO.WIDEACCENT,"\xb0":e.MO.ORD,"\xb2":e.MO.ACCENT,"\xb3":e.MO.ACCENT,"\xb4":e.MO.ACCENT,"\xb8":e.MO.ACCENT,"\xb9":e.MO.ACCENT,"\xba":e.MO.ACCENT,"\u02c6":e.MO.WIDEACCENT,"\u02c7":e.MO.WIDEACCENT,"\u02c9":e.MO.WIDEACCENT,"\u02ca":e.MO.ACCENT,"\u02cb":e.MO.ACCENT,"\u02cd":e.MO.WIDEACCENT,"\u02d8":e.MO.ACCENT,"\u02d9":e.MO.ACCENT,"\u02da":e.MO.ACCENT,"\u02dc":e.MO.WIDEACCENT,"\u02dd":e.MO.ACCENT,"\u02f7":e.MO.WIDEACCENT,"\u0302":e.MO.WIDEACCENT,"\u0311":e.MO.ACCENT,"\u03f6":e.MO.REL,"\u2016":[0,0,o.TEXCLASS.ORD,{fence:!0,stretchy:!0}],"\u2019":[0,0,o.TEXCLASS.CLOSE,{fence:!0}],"\u201a":e.MO.ACCENT,"\u201b":e.MO.ACCENT,"\u201d":[0,0,o.TEXCLASS.CLOSE,{fence:!0}],"\u201e":e.MO.ACCENT,"\u201f":e.MO.ACCENT,"\u2032":e.MO.ORD,"\u2033":e.MO.ACCENT,"\u2034":e.MO.ACCENT,"\u2035":e.MO.ACCENT,"\u2036":e.MO.ACCENT,"\u2037":e.MO.ACCENT,"\u203e":e.MO.WIDEACCENT,"\u2057":e.MO.ACCENT,"\u20db":e.MO.ACCENT,"\u20dc":e.MO.ACCENT,"\u2309":e.MO.CLOSE,"\u230b":e.MO.CLOSE,"\u232a":e.MO.CLOSE,"\u23b4":e.MO.WIDEACCENT,"\u23b5":e.MO.WIDEACCENT,"\u23dc":e.MO.WIDEACCENT,"\u23dd":e.MO.WIDEACCENT,"\u23de":e.MO.WIDEACCENT,"\u23df":e.MO.WIDEACCENT,"\u23e0":e.MO.WIDEACCENT,"\u23e1":e.MO.WIDEACCENT,"\u25a0":e.MO.BIN3,"\u25a1":e.MO.BIN3,"\u25aa":e.MO.BIN3,"\u25ab":e.MO.BIN3,"\u25ad":e.MO.BIN3,"\u25ae":e.MO.BIN3,"\u25af":e.MO.BIN3,"\u25b0":e.MO.BIN3,"\u25b1":e.MO.BIN3,"\u25b2":e.MO.BIN4,"\u25b4":e.MO.BIN4,"\u25b6":e.MO.BIN4,"\u25b7":e.MO.BIN4,"\u25b8":e.MO.BIN4,"\u25bc":e.MO.BIN4,"\u25be":e.MO.BIN4,"\u25c0":e.MO.BIN4,"\u25c1":e.MO.BIN4,"\u25c2":e.MO.BIN4,"\u25c4":e.MO.BIN4,"\u25c5":e.MO.BIN4,"\u25c6":e.MO.BIN4,"\u25c7":e.MO.BIN4,"\u25c8":e.MO.BIN4,"\u25c9":e.MO.BIN4,"\u25cc":e.MO.BIN4,"\u25cd":e.MO.BIN4,"\u25ce":e.MO.BIN4,"\u25cf":e.MO.BIN4,"\u25d6":e.MO.BIN4,"\u25d7":e.MO.BIN4,"\u25e6":e.MO.BIN4,"\u266d":e.MO.ORD02,"\u266e":e.MO.ORD02,"\u266f":e.MO.ORD02,"\u2773":e.MO.CLOSE,"\u27e7":e.MO.CLOSE,"\u27e9":e.MO.CLOSE,"\u27eb":e.MO.CLOSE,"\u27ed":e.MO.CLOSE,"\u27ef":e.MO.CLOSE,"\u2980":[0,0,o.TEXCLASS.ORD,{fence:!0,stretchy:!0}],"\u2984":e.MO.CLOSE,"\u2986":e.MO.CLOSE,"\u2988":e.MO.CLOSE,"\u298a":e.MO.CLOSE,"\u298c":e.MO.CLOSE,"\u298e":e.MO.CLOSE,"\u2990":e.MO.CLOSE,"\u2992":e.MO.CLOSE,"\u2994":e.MO.CLOSE,"\u2996":e.MO.CLOSE,"\u2998":e.MO.CLOSE,"\u29fd":e.MO.CLOSE},infix:{"!=":e.MO.BIN4,"#":e.MO.ORD,$:e.MO.ORD,"%":[3,3,o.TEXCLASS.ORD,null],"&&":e.MO.BIN4,"":e.MO.ORD,"*":e.MO.BIN3,"**":i(1,1),"*=":e.MO.BIN4,"+":e.MO.BIN4,"+=":e.MO.BIN4,",":[0,3,o.TEXCLASS.PUNCT,{linebreakstyle:"after",separator:!0}],"-":e.MO.BIN4,"-=":e.MO.BIN4,"->":e.MO.BIN5,".":[0,3,o.TEXCLASS.PUNCT,{separator:!0}],"/":e.MO.ORD11,"//":i(1,1),"/=":e.MO.BIN4,":":[1,2,o.TEXCLASS.REL,null],":=":e.MO.BIN4,";":[0,3,o.TEXCLASS.PUNCT,{linebreakstyle:"after",separator:!0}],"<":e.MO.REL,"<=":e.MO.BIN5,"<>":i(1,1),"=":e.MO.REL,"==":e.MO.BIN4,">":e.MO.REL,">=":e.MO.BIN5,"?":[1,1,o.TEXCLASS.CLOSE,null],"@":e.MO.ORD11,"\\":e.MO.ORD,"^":e.MO.ORD11,_:e.MO.ORD11,"|":[2,2,o.TEXCLASS.ORD,{fence:!0,stretchy:!0,symmetric:!0}],"||":[2,2,o.TEXCLASS.BIN,{fence:!0,stretchy:!0,symmetric:!0}],"|||":[2,2,o.TEXCLASS.ORD,{fence:!0,stretchy:!0,symmetric:!0}],"\xb1":e.MO.BIN4,"\xb7":e.MO.BIN4,"\xd7":e.MO.BIN4,"\xf7":e.MO.BIN4,"\u02b9":e.MO.ORD,"\u0300":e.MO.ACCENT,"\u0301":e.MO.ACCENT,"\u0303":e.MO.WIDEACCENT,"\u0304":e.MO.ACCENT,"\u0306":e.MO.ACCENT,"\u0307":e.MO.ACCENT,"\u0308":e.MO.ACCENT,"\u030c":e.MO.ACCENT,"\u0332":e.MO.WIDEACCENT,"\u0338":e.MO.REL4,"\u2015":[0,0,o.TEXCLASS.ORD,{stretchy:!0}],"\u2017":[0,0,o.TEXCLASS.ORD,{stretchy:!0}],"\u2020":e.MO.BIN3,"\u2021":e.MO.BIN3,"\u2022":e.MO.BIN4,"\u2026":e.MO.INNER,"\u2043":e.MO.BIN4,"\u2044":e.MO.TALLBIN,"\u2061":e.MO.NONE,"\u2062":e.MO.NONE,"\u2063":[0,0,o.TEXCLASS.NONE,{linebreakstyle:"after",separator:!0}],"\u2064":e.MO.NONE,"\u20d7":e.MO.ACCENT,"\u2111":e.MO.ORD,"\u2113":e.MO.ORD,"\u2118":e.MO.ORD,"\u211c":e.MO.ORD,"\u2190":e.MO.WIDEREL,"\u2191":e.MO.RELSTRETCH,"\u2192":e.MO.WIDEREL,"\u2193":e.MO.RELSTRETCH,"\u2194":e.MO.WIDEREL,"\u2195":e.MO.RELSTRETCH,"\u2196":e.MO.RELSTRETCH,"\u2197":e.MO.RELSTRETCH,"\u2198":e.MO.RELSTRETCH,"\u2199":e.MO.RELSTRETCH,"\u219a":e.MO.RELACCENT,"\u219b":e.MO.RELACCENT,"\u219c":e.MO.WIDEREL,"\u219d":e.MO.WIDEREL,"\u219e":e.MO.WIDEREL,"\u219f":e.MO.WIDEREL,"\u21a0":e.MO.WIDEREL,"\u21a1":e.MO.RELSTRETCH,"\u21a2":e.MO.WIDEREL,"\u21a3":e.MO.WIDEREL,"\u21a4":e.MO.WIDEREL,"\u21a5":e.MO.RELSTRETCH,"\u21a6":e.MO.WIDEREL,"\u21a7":e.MO.RELSTRETCH,"\u21a8":e.MO.RELSTRETCH,"\u21a9":e.MO.WIDEREL,"\u21aa":e.MO.WIDEREL,"\u21ab":e.MO.WIDEREL,"\u21ac":e.MO.WIDEREL,"\u21ad":e.MO.WIDEREL,"\u21ae":e.MO.RELACCENT,"\u21af":e.MO.RELSTRETCH,"\u21b0":e.MO.RELSTRETCH,"\u21b1":e.MO.RELSTRETCH,"\u21b2":e.MO.RELSTRETCH,"\u21b3":e.MO.RELSTRETCH,"\u21b4":e.MO.RELSTRETCH,"\u21b5":e.MO.RELSTRETCH,"\u21b6":e.MO.RELACCENT,"\u21b7":e.MO.RELACCENT,"\u21b8":e.MO.REL,"\u21b9":e.MO.WIDEREL,"\u21ba":e.MO.REL,"\u21bb":e.MO.REL,"\u21bc":e.MO.WIDEREL,"\u21bd":e.MO.WIDEREL,"\u21be":e.MO.RELSTRETCH,"\u21bf":e.MO.RELSTRETCH,"\u21c0":e.MO.WIDEREL,"\u21c1":e.MO.WIDEREL,"\u21c2":e.MO.RELSTRETCH,"\u21c3":e.MO.RELSTRETCH,"\u21c4":e.MO.WIDEREL,"\u21c5":e.MO.RELSTRETCH,"\u21c6":e.MO.WIDEREL,"\u21c7":e.MO.WIDEREL,"\u21c8":e.MO.RELSTRETCH,"\u21c9":e.MO.WIDEREL,"\u21ca":e.MO.RELSTRETCH,"\u21cb":e.MO.WIDEREL,"\u21cc":e.MO.WIDEREL,"\u21cd":e.MO.RELACCENT,"\u21ce":e.MO.RELACCENT,"\u21cf":e.MO.RELACCENT,"\u21d0":e.MO.WIDEREL,"\u21d1":e.MO.RELSTRETCH,"\u21d2":e.MO.WIDEREL,"\u21d3":e.MO.RELSTRETCH,"\u21d4":e.MO.WIDEREL,"\u21d5":e.MO.RELSTRETCH,"\u21d6":e.MO.RELSTRETCH,"\u21d7":e.MO.RELSTRETCH,"\u21d8":e.MO.RELSTRETCH,"\u21d9":e.MO.RELSTRETCH,"\u21da":e.MO.WIDEREL,"\u21db":e.MO.WIDEREL,"\u21dc":e.MO.WIDEREL,"\u21dd":e.MO.WIDEREL,"\u21de":e.MO.REL,"\u21df":e.MO.REL,"\u21e0":e.MO.WIDEREL,"\u21e1":e.MO.RELSTRETCH,"\u21e2":e.MO.WIDEREL,"\u21e3":e.MO.RELSTRETCH,"\u21e4":e.MO.WIDEREL,"\u21e5":e.MO.WIDEREL,"\u21e6":e.MO.WIDEREL,"\u21e7":e.MO.RELSTRETCH,"\u21e8":e.MO.WIDEREL,"\u21e9":e.MO.RELSTRETCH,"\u21ea":e.MO.RELSTRETCH,"\u21eb":e.MO.RELSTRETCH,"\u21ec":e.MO.RELSTRETCH,"\u21ed":e.MO.RELSTRETCH,"\u21ee":e.MO.RELSTRETCH,"\u21ef":e.MO.RELSTRETCH,"\u21f0":e.MO.WIDEREL,"\u21f1":e.MO.REL,"\u21f2":e.MO.REL,"\u21f3":e.MO.RELSTRETCH,"\u21f4":e.MO.RELACCENT,"\u21f5":e.MO.RELSTRETCH,"\u21f6":e.MO.WIDEREL,"\u21f7":e.MO.RELACCENT,"\u21f8":e.MO.RELACCENT,"\u21f9":e.MO.RELACCENT,"\u21fa":e.MO.RELACCENT,"\u21fb":e.MO.RELACCENT,"\u21fc":e.MO.RELACCENT,"\u21fd":e.MO.WIDEREL,"\u21fe":e.MO.WIDEREL,"\u21ff":e.MO.WIDEREL,"\u2201":i(1,2,o.TEXCLASS.ORD),"\u2205":e.MO.ORD,"\u2206":e.MO.BIN3,"\u2208":e.MO.REL,"\u2209":e.MO.REL,"\u220a":e.MO.REL,"\u220b":e.MO.REL,"\u220c":e.MO.REL,"\u220d":e.MO.REL,"\u220e":e.MO.BIN3,"\u2212":e.MO.BIN4,"\u2213":e.MO.BIN4,"\u2214":e.MO.BIN4,"\u2215":e.MO.TALLBIN,"\u2216":e.MO.BIN4,"\u2217":e.MO.BIN4,"\u2218":e.MO.BIN4,"\u2219":e.MO.BIN4,"\u221d":e.MO.REL,"\u221e":e.MO.ORD,"\u221f":e.MO.REL,"\u2223":e.MO.REL,"\u2224":e.MO.REL,"\u2225":e.MO.REL,"\u2226":e.MO.REL,"\u2227":e.MO.BIN4,"\u2228":e.MO.BIN4,"\u2229":e.MO.BIN4,"\u222a":e.MO.BIN4,"\u2234":e.MO.REL,"\u2235":e.MO.REL,"\u2236":e.MO.REL,"\u2237":e.MO.REL,"\u2238":e.MO.BIN4,"\u2239":e.MO.REL,"\u223a":e.MO.BIN4,"\u223b":e.MO.REL,"\u223c":e.MO.REL,"\u223d":e.MO.REL,"\u223d\u0331":e.MO.BIN3,"\u223e":e.MO.REL,"\u223f":e.MO.BIN3,"\u2240":e.MO.BIN4,"\u2241":e.MO.REL,"\u2242":e.MO.REL,"\u2242\u0338":e.MO.REL,"\u2243":e.MO.REL,"\u2244":e.MO.REL,"\u2245":e.MO.REL,"\u2246":e.MO.REL,"\u2247":e.MO.REL,"\u2248":e.MO.REL,"\u2249":e.MO.REL,"\u224a":e.MO.REL,"\u224b":e.MO.REL,"\u224c":e.MO.REL,"\u224d":e.MO.REL,"\u224e":e.MO.REL,"\u224e\u0338":e.MO.REL,"\u224f":e.MO.REL,"\u224f\u0338":e.MO.REL,"\u2250":e.MO.REL,"\u2251":e.MO.REL,"\u2252":e.MO.REL,"\u2253":e.MO.REL,"\u2254":e.MO.REL,"\u2255":e.MO.REL,"\u2256":e.MO.REL,"\u2257":e.MO.REL,"\u2258":e.MO.REL,"\u2259":e.MO.REL,"\u225a":e.MO.REL,"\u225b":e.MO.REL,"\u225c":e.MO.REL,"\u225d":e.MO.REL,"\u225e":e.MO.REL,"\u225f":e.MO.REL,"\u2260":e.MO.REL,"\u2261":e.MO.REL,"\u2262":e.MO.REL,"\u2263":e.MO.REL,"\u2264":e.MO.REL,"\u2265":e.MO.REL,"\u2266":e.MO.REL,"\u2266\u0338":e.MO.REL,"\u2267":e.MO.REL,"\u2268":e.MO.REL,"\u2269":e.MO.REL,"\u226a":e.MO.REL,"\u226a\u0338":e.MO.REL,"\u226b":e.MO.REL,"\u226b\u0338":e.MO.REL,"\u226c":e.MO.REL,"\u226d":e.MO.REL,"\u226e":e.MO.REL,"\u226f":e.MO.REL,"\u2270":e.MO.REL,"\u2271":e.MO.REL,"\u2272":e.MO.REL,"\u2273":e.MO.REL,"\u2274":e.MO.REL,"\u2275":e.MO.REL,"\u2276":e.MO.REL,"\u2277":e.MO.REL,"\u2278":e.MO.REL,"\u2279":e.MO.REL,"\u227a":e.MO.REL,"\u227b":e.MO.REL,"\u227c":e.MO.REL,"\u227d":e.MO.REL,"\u227e":e.MO.REL,"\u227f":e.MO.REL,"\u227f\u0338":e.MO.REL,"\u2280":e.MO.REL,"\u2281":e.MO.REL,"\u2282":e.MO.REL,"\u2282\u20d2":e.MO.REL,"\u2283":e.MO.REL,"\u2283\u20d2":e.MO.REL,"\u2284":e.MO.REL,"\u2285":e.MO.REL,"\u2286":e.MO.REL,"\u2287":e.MO.REL,"\u2288":e.MO.REL,"\u2289":e.MO.REL,"\u228a":e.MO.REL,"\u228b":e.MO.REL,"\u228c":e.MO.BIN4,"\u228d":e.MO.BIN4,"\u228e":e.MO.BIN4,"\u228f":e.MO.REL,"\u228f\u0338":e.MO.REL,"\u2290":e.MO.REL,"\u2290\u0338":e.MO.REL,"\u2291":e.MO.REL,"\u2292":e.MO.REL,"\u2293":e.MO.BIN4,"\u2294":e.MO.BIN4,"\u2295":e.MO.BIN4,"\u2296":e.MO.BIN4,"\u2297":e.MO.BIN4,"\u2298":e.MO.BIN4,"\u2299":e.MO.BIN4,"\u229a":e.MO.BIN4,"\u229b":e.MO.BIN4,"\u229c":e.MO.BIN4,"\u229d":e.MO.BIN4,"\u229e":e.MO.BIN4,"\u229f":e.MO.BIN4,"\u22a0":e.MO.BIN4,"\u22a1":e.MO.BIN4,"\u22a2":e.MO.REL,"\u22a3":e.MO.REL,"\u22a4":e.MO.ORD55,"\u22a5":e.MO.REL,"\u22a6":e.MO.REL,"\u22a7":e.MO.REL,"\u22a8":e.MO.REL,"\u22a9":e.MO.REL,"\u22aa":e.MO.REL,"\u22ab":e.MO.REL,"\u22ac":e.MO.REL,"\u22ad":e.MO.REL,"\u22ae":e.MO.REL,"\u22af":e.MO.REL,"\u22b0":e.MO.REL,"\u22b1":e.MO.REL,"\u22b2":e.MO.REL,"\u22b3":e.MO.REL,"\u22b4":e.MO.REL,"\u22b5":e.MO.REL,"\u22b6":e.MO.REL,"\u22b7":e.MO.REL,"\u22b8":e.MO.REL,"\u22b9":e.MO.REL,"\u22ba":e.MO.BIN4,"\u22bb":e.MO.BIN4,"\u22bc":e.MO.BIN4,"\u22bd":e.MO.BIN4,"\u22be":e.MO.BIN3,"\u22bf":e.MO.BIN3,"\u22c4":e.MO.BIN4,"\u22c5":e.MO.BIN4,"\u22c6":e.MO.BIN4,"\u22c7":e.MO.BIN4,"\u22c8":e.MO.REL,"\u22c9":e.MO.BIN4,"\u22ca":e.MO.BIN4,"\u22cb":e.MO.BIN4,"\u22cc":e.MO.BIN4,"\u22cd":e.MO.REL,"\u22ce":e.MO.BIN4,"\u22cf":e.MO.BIN4,"\u22d0":e.MO.REL,"\u22d1":e.MO.REL,"\u22d2":e.MO.BIN4,"\u22d3":e.MO.BIN4,"\u22d4":e.MO.REL,"\u22d5":e.MO.REL,"\u22d6":e.MO.REL,"\u22d7":e.MO.REL,"\u22d8":e.MO.REL,"\u22d9":e.MO.REL,"\u22da":e.MO.REL,"\u22db":e.MO.REL,"\u22dc":e.MO.REL,"\u22dd":e.MO.REL,"\u22de":e.MO.REL,"\u22df":e.MO.REL,"\u22e0":e.MO.REL,"\u22e1":e.MO.REL,"\u22e2":e.MO.REL,"\u22e3":e.MO.REL,"\u22e4":e.MO.REL,"\u22e5":e.MO.REL,"\u22e6":e.MO.REL,"\u22e7":e.MO.REL,"\u22e8":e.MO.REL,"\u22e9":e.MO.REL,"\u22ea":e.MO.REL,"\u22eb":e.MO.REL,"\u22ec":e.MO.REL,"\u22ed":e.MO.REL,"\u22ee":e.MO.ORD55,"\u22ef":e.MO.INNER,"\u22f0":e.MO.REL,"\u22f1":[5,5,o.TEXCLASS.INNER,null],"\u22f2":e.MO.REL,"\u22f3":e.MO.REL,"\u22f4":e.MO.REL,"\u22f5":e.MO.REL,"\u22f6":e.MO.REL,"\u22f7":e.MO.REL,"\u22f8":e.MO.REL,"\u22f9":e.MO.REL,"\u22fa":e.MO.REL,"\u22fb":e.MO.REL,"\u22fc":e.MO.REL,"\u22fd":e.MO.REL,"\u22fe":e.MO.REL,"\u22ff":e.MO.REL,"\u2305":e.MO.BIN3,"\u2306":e.MO.BIN3,"\u2322":e.MO.REL4,"\u2323":e.MO.REL4,"\u2329":e.MO.OPEN,"\u232a":e.MO.CLOSE,"\u23aa":e.MO.ORD,"\u23af":[0,0,o.TEXCLASS.ORD,{stretchy:!0}],"\u23b0":e.MO.OPEN,"\u23b1":e.MO.CLOSE,"\u2500":e.MO.ORD,"\u25b3":e.MO.BIN4,"\u25b5":e.MO.BIN4,"\u25b9":e.MO.BIN4,"\u25bd":e.MO.BIN4,"\u25bf":e.MO.BIN4,"\u25c3":e.MO.BIN4,"\u25ef":e.MO.BIN3,"\u2660":e.MO.ORD,"\u2661":e.MO.ORD,"\u2662":e.MO.ORD,"\u2663":e.MO.ORD,"\u2758":e.MO.REL,"\u27f0":e.MO.RELSTRETCH,"\u27f1":e.MO.RELSTRETCH,"\u27f5":e.MO.WIDEREL,"\u27f6":e.MO.WIDEREL,"\u27f7":e.MO.WIDEREL,"\u27f8":e.MO.WIDEREL,"\u27f9":e.MO.WIDEREL,"\u27fa":e.MO.WIDEREL,"\u27fb":e.MO.WIDEREL,"\u27fc":e.MO.WIDEREL,"\u27fd":e.MO.WIDEREL,"\u27fe":e.MO.WIDEREL,"\u27ff":e.MO.WIDEREL,"\u2900":e.MO.RELACCENT,"\u2901":e.MO.RELACCENT,"\u2902":e.MO.RELACCENT,"\u2903":e.MO.RELACCENT,"\u2904":e.MO.RELACCENT,"\u2905":e.MO.RELACCENT,"\u2906":e.MO.RELACCENT,"\u2907":e.MO.RELACCENT,"\u2908":e.MO.REL,"\u2909":e.MO.REL,"\u290a":e.MO.RELSTRETCH,"\u290b":e.MO.RELSTRETCH,"\u290c":e.MO.WIDEREL,"\u290d":e.MO.WIDEREL,"\u290e":e.MO.WIDEREL,"\u290f":e.MO.WIDEREL,"\u2910":e.MO.WIDEREL,"\u2911":e.MO.RELACCENT,"\u2912":e.MO.RELSTRETCH,"\u2913":e.MO.RELSTRETCH,"\u2914":e.MO.RELACCENT,"\u2915":e.MO.RELACCENT,"\u2916":e.MO.RELACCENT,"\u2917":e.MO.RELACCENT,"\u2918":e.MO.RELACCENT,"\u2919":e.MO.RELACCENT,"\u291a":e.MO.RELACCENT,"\u291b":e.MO.RELACCENT,"\u291c":e.MO.RELACCENT,"\u291d":e.MO.RELACCENT,"\u291e":e.MO.RELACCENT,"\u291f":e.MO.RELACCENT,"\u2920":e.MO.RELACCENT,"\u2921":e.MO.RELSTRETCH,"\u2922":e.MO.RELSTRETCH,"\u2923":e.MO.REL,"\u2924":e.MO.REL,"\u2925":e.MO.REL,"\u2926":e.MO.REL,"\u2927":e.MO.REL,"\u2928":e.MO.REL,"\u2929":e.MO.REL,"\u292a":e.MO.REL,"\u292b":e.MO.REL,"\u292c":e.MO.REL,"\u292d":e.MO.REL,"\u292e":e.MO.REL,"\u292f":e.MO.REL,"\u2930":e.MO.REL,"\u2931":e.MO.REL,"\u2932":e.MO.REL,"\u2933":e.MO.RELACCENT,"\u2934":e.MO.REL,"\u2935":e.MO.REL,"\u2936":e.MO.REL,"\u2937":e.MO.REL,"\u2938":e.MO.REL,"\u2939":e.MO.REL,"\u293a":e.MO.RELACCENT,"\u293b":e.MO.RELACCENT,"\u293c":e.MO.RELACCENT,"\u293d":e.MO.RELACCENT,"\u293e":e.MO.REL,"\u293f":e.MO.REL,"\u2940":e.MO.REL,"\u2941":e.MO.REL,"\u2942":e.MO.RELACCENT,"\u2943":e.MO.RELACCENT,"\u2944":e.MO.RELACCENT,"\u2945":e.MO.RELACCENT,"\u2946":e.MO.RELACCENT,"\u2947":e.MO.RELACCENT,"\u2948":e.MO.RELACCENT,"\u2949":e.MO.REL,"\u294a":e.MO.RELACCENT,"\u294b":e.MO.RELACCENT,"\u294c":e.MO.REL,"\u294d":e.MO.REL,"\u294e":e.MO.WIDEREL,"\u294f":e.MO.RELSTRETCH,"\u2950":e.MO.WIDEREL,"\u2951":e.MO.RELSTRETCH,"\u2952":e.MO.WIDEREL,"\u2953":e.MO.WIDEREL,"\u2954":e.MO.RELSTRETCH,"\u2955":e.MO.RELSTRETCH,"\u2956":e.MO.RELSTRETCH,"\u2957":e.MO.RELSTRETCH,"\u2958":e.MO.RELSTRETCH,"\u2959":e.MO.RELSTRETCH,"\u295a":e.MO.WIDEREL,"\u295b":e.MO.WIDEREL,"\u295c":e.MO.RELSTRETCH,"\u295d":e.MO.RELSTRETCH,"\u295e":e.MO.WIDEREL,"\u295f":e.MO.WIDEREL,"\u2960":e.MO.RELSTRETCH,"\u2961":e.MO.RELSTRETCH,"\u2962":e.MO.RELACCENT,"\u2963":e.MO.REL,"\u2964":e.MO.RELACCENT,"\u2965":e.MO.REL,"\u2966":e.MO.RELACCENT,"\u2967":e.MO.RELACCENT,"\u2968":e.MO.RELACCENT,"\u2969":e.MO.RELACCENT,"\u296a":e.MO.RELACCENT,"\u296b":e.MO.RELACCENT,"\u296c":e.MO.RELACCENT,"\u296d":e.MO.RELACCENT,"\u296e":e.MO.RELSTRETCH,"\u296f":e.MO.RELSTRETCH,"\u2970":e.MO.RELACCENT,"\u2971":e.MO.RELACCENT,"\u2972":e.MO.RELACCENT,"\u2973":e.MO.RELACCENT,"\u2974":e.MO.RELACCENT,"\u2975":e.MO.RELACCENT,"\u2976":e.MO.RELACCENT,"\u2977":e.MO.RELACCENT,"\u2978":e.MO.RELACCENT,"\u2979":e.MO.RELACCENT,"\u297a":e.MO.RELACCENT,"\u297b":e.MO.RELACCENT,"\u297c":e.MO.RELACCENT,"\u297d":e.MO.RELACCENT,"\u297e":e.MO.REL,"\u297f":e.MO.REL,"\u2981":e.MO.BIN3,"\u2982":e.MO.BIN3,"\u2999":e.MO.BIN3,"\u299a":e.MO.BIN3,"\u299b":e.MO.BIN3,"\u299c":e.MO.BIN3,"\u299d":e.MO.BIN3,"\u299e":e.MO.BIN3,"\u299f":e.MO.BIN3,"\u29a0":e.MO.BIN3,"\u29a1":e.MO.BIN3,"\u29a2":e.MO.BIN3,"\u29a3":e.MO.BIN3,"\u29a4":e.MO.BIN3,"\u29a5":e.MO.BIN3,"\u29a6":e.MO.BIN3,"\u29a7":e.MO.BIN3,"\u29a8":e.MO.BIN3,"\u29a9":e.MO.BIN3,"\u29aa":e.MO.BIN3,"\u29ab":e.MO.BIN3,"\u29ac":e.MO.BIN3,"\u29ad":e.MO.BIN3,"\u29ae":e.MO.BIN3,"\u29af":e.MO.BIN3,"\u29b0":e.MO.BIN3,"\u29b1":e.MO.BIN3,"\u29b2":e.MO.BIN3,"\u29b3":e.MO.BIN3,"\u29b4":e.MO.BIN3,"\u29b5":e.MO.BIN3,"\u29b6":e.MO.BIN4,"\u29b7":e.MO.BIN4,"\u29b8":e.MO.BIN4,"\u29b9":e.MO.BIN4,"\u29ba":e.MO.BIN4,"\u29bb":e.MO.BIN4,"\u29bc":e.MO.BIN4,"\u29bd":e.MO.BIN4,"\u29be":e.MO.BIN4,"\u29bf":e.MO.BIN4,"\u29c0":e.MO.REL,"\u29c1":e.MO.REL,"\u29c2":e.MO.BIN3,"\u29c3":e.MO.BIN3,"\u29c4":e.MO.BIN4,"\u29c5":e.MO.BIN4,"\u29c6":e.MO.BIN4,"\u29c7":e.MO.BIN4,"\u29c8":e.MO.BIN4,"\u29c9":e.MO.BIN3,"\u29ca":e.MO.BIN3,"\u29cb":e.MO.BIN3,"\u29cc":e.MO.BIN3,"\u29cd":e.MO.BIN3,"\u29ce":e.MO.REL,"\u29cf":e.MO.REL,"\u29cf\u0338":e.MO.REL,"\u29d0":e.MO.REL,"\u29d0\u0338":e.MO.REL,"\u29d1":e.MO.REL,"\u29d2":e.MO.REL,"\u29d3":e.MO.REL,"\u29d4":e.MO.REL,"\u29d5":e.MO.REL,"\u29d6":e.MO.BIN4,"\u29d7":e.MO.BIN4,"\u29d8":e.MO.BIN3,"\u29d9":e.MO.BIN3,"\u29db":e.MO.BIN3,"\u29dc":e.MO.BIN3,"\u29dd":e.MO.BIN3,"\u29de":e.MO.REL,"\u29df":e.MO.BIN3,"\u29e0":e.MO.BIN3,"\u29e1":e.MO.REL,"\u29e2":e.MO.BIN4,"\u29e3":e.MO.REL,"\u29e4":e.MO.REL,"\u29e5":e.MO.REL,"\u29e6":e.MO.REL,"\u29e7":e.MO.BIN3,"\u29e8":e.MO.BIN3,"\u29e9":e.MO.BIN3,"\u29ea":e.MO.BIN3,"\u29eb":e.MO.BIN3,"\u29ec":e.MO.BIN3,"\u29ed":e.MO.BIN3,"\u29ee":e.MO.BIN3,"\u29ef":e.MO.BIN3,"\u29f0":e.MO.BIN3,"\u29f1":e.MO.BIN3,"\u29f2":e.MO.BIN3,"\u29f3":e.MO.BIN3,"\u29f4":e.MO.REL,"\u29f5":e.MO.BIN4,"\u29f6":e.MO.BIN4,"\u29f7":e.MO.BIN4,"\u29f8":e.MO.BIN3,"\u29f9":e.MO.BIN3,"\u29fa":e.MO.BIN3,"\u29fb":e.MO.BIN3,"\u29fe":e.MO.BIN4,"\u29ff":e.MO.BIN4,"\u2a1d":e.MO.BIN3,"\u2a1e":e.MO.BIN3,"\u2a1f":e.MO.BIN3,"\u2a20":e.MO.BIN3,"\u2a21":e.MO.BIN3,"\u2a22":e.MO.BIN4,"\u2a23":e.MO.BIN4,"\u2a24":e.MO.BIN4,"\u2a25":e.MO.BIN4,"\u2a26":e.MO.BIN4,"\u2a27":e.MO.BIN4,"\u2a28":e.MO.BIN4,"\u2a29":e.MO.BIN4,"\u2a2a":e.MO.BIN4,"\u2a2b":e.MO.BIN4,"\u2a2c":e.MO.BIN4,"\u2a2d":e.MO.BIN4,"\u2a2e":e.MO.BIN4,"\u2a2f":e.MO.BIN4,"\u2a30":e.MO.BIN4,"\u2a31":e.MO.BIN4,"\u2a32":e.MO.BIN4,"\u2a33":e.MO.BIN4,"\u2a34":e.MO.BIN4,"\u2a35":e.MO.BIN4,"\u2a36":e.MO.BIN4,"\u2a37":e.MO.BIN4,"\u2a38":e.MO.BIN4,"\u2a39":e.MO.BIN4,"\u2a3a":e.MO.BIN4,"\u2a3b":e.MO.BIN4,"\u2a3c":e.MO.BIN4,"\u2a3d":e.MO.BIN4,"\u2a3e":e.MO.BIN4,"\u2a3f":e.MO.BIN4,"\u2a40":e.MO.BIN4,"\u2a41":e.MO.BIN4,"\u2a42":e.MO.BIN4,"\u2a43":e.MO.BIN4,"\u2a44":e.MO.BIN4,"\u2a45":e.MO.BIN4,"\u2a46":e.MO.BIN4,"\u2a47":e.MO.BIN4,"\u2a48":e.MO.BIN4,"\u2a49":e.MO.BIN4,"\u2a4a":e.MO.BIN4,"\u2a4b":e.MO.BIN4,"\u2a4c":e.MO.BIN4,"\u2a4d":e.MO.BIN4,"\u2a4e":e.MO.BIN4,"\u2a4f":e.MO.BIN4,"\u2a50":e.MO.BIN4,"\u2a51":e.MO.BIN4,"\u2a52":e.MO.BIN4,"\u2a53":e.MO.BIN4,"\u2a54":e.MO.BIN4,"\u2a55":e.MO.BIN4,"\u2a56":e.MO.BIN4,"\u2a57":e.MO.BIN4,"\u2a58":e.MO.BIN4,"\u2a59":e.MO.REL,"\u2a5a":e.MO.BIN4,"\u2a5b":e.MO.BIN4,"\u2a5c":e.MO.BIN4,"\u2a5d":e.MO.BIN4,"\u2a5e":e.MO.BIN4,"\u2a5f":e.MO.BIN4,"\u2a60":e.MO.BIN4,"\u2a61":e.MO.BIN4,"\u2a62":e.MO.BIN4,"\u2a63":e.MO.BIN4,"\u2a64":e.MO.BIN4,"\u2a65":e.MO.BIN4,"\u2a66":e.MO.REL,"\u2a67":e.MO.REL,"\u2a68":e.MO.REL,"\u2a69":e.MO.REL,"\u2a6a":e.MO.REL,"\u2a6b":e.MO.REL,"\u2a6c":e.MO.REL,"\u2a6d":e.MO.REL,"\u2a6e":e.MO.REL,"\u2a6f":e.MO.REL,"\u2a70":e.MO.REL,"\u2a71":e.MO.BIN4,"\u2a72":e.MO.BIN4,"\u2a73":e.MO.REL,"\u2a74":e.MO.REL,"\u2a75":e.MO.REL,"\u2a76":e.MO.REL,"\u2a77":e.MO.REL,"\u2a78":e.MO.REL,"\u2a79":e.MO.REL,"\u2a7a":e.MO.REL,"\u2a7b":e.MO.REL,"\u2a7c":e.MO.REL,"\u2a7d":e.MO.REL,"\u2a7d\u0338":e.MO.REL,"\u2a7e":e.MO.REL,"\u2a7e\u0338":e.MO.REL,"\u2a7f":e.MO.REL,"\u2a80":e.MO.REL,"\u2a81":e.MO.REL,"\u2a82":e.MO.REL,"\u2a83":e.MO.REL,"\u2a84":e.MO.REL,"\u2a85":e.MO.REL,"\u2a86":e.MO.REL,"\u2a87":e.MO.REL,"\u2a88":e.MO.REL,"\u2a89":e.MO.REL,"\u2a8a":e.MO.REL,"\u2a8b":e.MO.REL,"\u2a8c":e.MO.REL,"\u2a8d":e.MO.REL,"\u2a8e":e.MO.REL,"\u2a8f":e.MO.REL,"\u2a90":e.MO.REL,"\u2a91":e.MO.REL,"\u2a92":e.MO.REL,"\u2a93":e.MO.REL,"\u2a94":e.MO.REL,"\u2a95":e.MO.REL,"\u2a96":e.MO.REL,"\u2a97":e.MO.REL,"\u2a98":e.MO.REL,"\u2a99":e.MO.REL,"\u2a9a":e.MO.REL,"\u2a9b":e.MO.REL,"\u2a9c":e.MO.REL,"\u2a9d":e.MO.REL,"\u2a9e":e.MO.REL,"\u2a9f":e.MO.REL,"\u2aa0":e.MO.REL,"\u2aa1":e.MO.REL,"\u2aa1\u0338":e.MO.REL,"\u2aa2":e.MO.REL,"\u2aa2\u0338":e.MO.REL,"\u2aa3":e.MO.REL,"\u2aa4":e.MO.REL,"\u2aa5":e.MO.REL,"\u2aa6":e.MO.REL,"\u2aa7":e.MO.REL,"\u2aa8":e.MO.REL,"\u2aa9":e.MO.REL,"\u2aaa":e.MO.REL,"\u2aab":e.MO.REL,"\u2aac":e.MO.REL,"\u2aad":e.MO.REL,"\u2aae":e.MO.REL,"\u2aaf":e.MO.REL,"\u2aaf\u0338":e.MO.REL,"\u2ab0":e.MO.REL,"\u2ab0\u0338":e.MO.REL,"\u2ab1":e.MO.REL,"\u2ab2":e.MO.REL,"\u2ab3":e.MO.REL,"\u2ab4":e.MO.REL,"\u2ab5":e.MO.REL,"\u2ab6":e.MO.REL,"\u2ab7":e.MO.REL,"\u2ab8":e.MO.REL,"\u2ab9":e.MO.REL,"\u2aba":e.MO.REL,"\u2abb":e.MO.REL,"\u2abc":e.MO.REL,"\u2abd":e.MO.REL,"\u2abe":e.MO.REL,"\u2abf":e.MO.REL,"\u2ac0":e.MO.REL,"\u2ac1":e.MO.REL,"\u2ac2":e.MO.REL,"\u2ac3":e.MO.REL,"\u2ac4":e.MO.REL,"\u2ac5":e.MO.REL,"\u2ac6":e.MO.REL,"\u2ac7":e.MO.REL,"\u2ac8":e.MO.REL,"\u2ac9":e.MO.REL,"\u2aca":e.MO.REL,"\u2acb":e.MO.REL,"\u2acc":e.MO.REL,"\u2acd":e.MO.REL,"\u2ace":e.MO.REL,"\u2acf":e.MO.REL,"\u2ad0":e.MO.REL,"\u2ad1":e.MO.REL,"\u2ad2":e.MO.REL,"\u2ad3":e.MO.REL,"\u2ad4":e.MO.REL,"\u2ad5":e.MO.REL,"\u2ad6":e.MO.REL,"\u2ad7":e.MO.REL,"\u2ad8":e.MO.REL,"\u2ad9":e.MO.REL,"\u2ada":e.MO.REL,"\u2adb":e.MO.REL,"\u2add":e.MO.REL,"\u2add\u0338":e.MO.REL,"\u2ade":e.MO.REL,"\u2adf":e.MO.REL,"\u2ae0":e.MO.REL,"\u2ae1":e.MO.REL,"\u2ae2":e.MO.REL,"\u2ae3":e.MO.REL,"\u2ae4":e.MO.REL,"\u2ae5":e.MO.REL,"\u2ae6":e.MO.REL,"\u2ae7":e.MO.REL,"\u2ae8":e.MO.REL,"\u2ae9":e.MO.REL,"\u2aea":e.MO.REL,"\u2aeb":e.MO.REL,"\u2aec":e.MO.REL,"\u2aed":e.MO.REL,"\u2aee":e.MO.REL,"\u2aef":e.MO.REL,"\u2af0":e.MO.REL,"\u2af1":e.MO.REL,"\u2af2":e.MO.REL,"\u2af3":e.MO.REL,"\u2af4":e.MO.BIN4,"\u2af5":e.MO.BIN4,"\u2af6":e.MO.BIN4,"\u2af7":e.MO.REL,"\u2af8":e.MO.REL,"\u2af9":e.MO.REL,"\u2afa":e.MO.REL,"\u2afb":e.MO.BIN4,"\u2afd":e.MO.BIN4,"\u2afe":e.MO.BIN3,"\u2b45":e.MO.RELSTRETCH,"\u2b46":e.MO.RELSTRETCH,"\u3008":e.MO.OPEN,"\u3009":e.MO.CLOSE,"\ufe37":e.MO.WIDEACCENT,"\ufe38":e.MO.WIDEACCENT}},e.OPTABLE.infix["^"]=e.MO.WIDEREL,e.OPTABLE.infix._=e.MO.WIDEREL,e.OPTABLE.infix["\u2adc"]=e.MO.REL},9259:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},s=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s};Object.defineProperty(e,"__esModule",{value:!0}),e.SerializedMmlVisitor=e.toEntity=e.DATAMJX=void 0;var a=r(6325),l=r(9007),c=r(450);e.DATAMJX="data-mjx-";e.toEntity=function(t){return"&#x"+t.codePointAt(0).toString(16).toUpperCase()+";"};var u=function(t){function r(){return null!==t&&t.apply(this,arguments)||this}return o(r,t),r.prototype.visitTree=function(t){return this.visitNode(t,"")},r.prototype.visitTextNode=function(t,e){return this.quoteHTML(t.getText())},r.prototype.visitXMLNode=function(t,e){return e+t.getSerializedXML()},r.prototype.visitInferredMrowNode=function(t,e){var r,n,o=[];try{for(var s=i(t.childNodes),a=s.next();!a.done;a=s.next()){var l=a.value;o.push(this.visitNode(l,e))}}catch(t){r={error:t}}finally{try{a&&!a.done&&(n=s.return)&&n.call(s)}finally{if(r)throw r.error}}return o.join("\n")},r.prototype.visitTeXAtomNode=function(t,e){var r=this.childNodeMml(t,e+" ","\n");return e+""+(r.match(/\S/)?"\n"+r+e:"")+""},r.prototype.visitAnnotationNode=function(t,e){return e+""+this.childNodeMml(t,"","")+""},r.prototype.visitDefault=function(t,e){var r=t.kind,n=s(t.isToken||0===t.childNodes.length?["",""]:["\n",e],2),o=n[0],i=n[1],a=this.childNodeMml(t,e+" ",o);return e+"<"+r+this.getAttributes(t)+">"+(a.match(/\S/)?o+a+i:"")+""},r.prototype.childNodeMml=function(t,e,r){var n,o,s="";try{for(var a=i(t.childNodes),l=a.next();!l.done;l=a.next()){var c=l.value;s+=this.visitNode(c,e)+r}}catch(t){n={error:t}}finally{try{l&&!l.done&&(o=a.return)&&o.call(a)}finally{if(n)throw n.error}}return s},r.prototype.getAttributes=function(t){var e,r,n=[],o=this.constructor.defaultAttributes[t.kind]||{},s=Object.assign({},o,this.getDataAttributes(t),t.attributes.getAllAttributes()),a=this.constructor.variants;s.hasOwnProperty("mathvariant")&&a.hasOwnProperty(s.mathvariant)&&(s.mathvariant=a[s.mathvariant]);try{for(var l=i(Object.keys(s)),c=l.next();!c.done;c=l.next()){var u=c.value,p=String(s[u]);void 0!==p&&n.push(u+'="'+this.quoteHTML(p)+'"')}}catch(t){e={error:t}}finally{try{c&&!c.done&&(r=l.return)&&r.call(l)}finally{if(e)throw e.error}}return n.length?" "+n.join(" "):""},r.prototype.getDataAttributes=function(t){var e={},r=t.attributes.getExplicit("mathvariant"),n=this.constructor.variants;r&&n.hasOwnProperty(r)&&this.setDataAttribute(e,"variant",r),t.getProperty("variantForm")&&this.setDataAttribute(e,"alternate","1"),t.getProperty("pseudoscript")&&this.setDataAttribute(e,"pseudoscript","true"),!1===t.getProperty("autoOP")&&this.setDataAttribute(e,"auto-op","false");var o=t.getProperty("scriptalign");o&&this.setDataAttribute(e,"script-align",o);var i=t.getProperty("texClass");if(void 0!==i){var s=!0;if(i===l.TEXCLASS.OP&&t.isKind("mi")){var a=t.getText();s=!(a.length>1&&a.match(c.MmlMi.operatorName))}s&&this.setDataAttribute(e,"texclass",i<0?"NONE":l.TEXCLASSNAMES[i])}return t.getProperty("scriptlevel")&&!1===t.getProperty("useHeight")&&this.setDataAttribute(e,"smallmatrix","true"),e},r.prototype.setDataAttribute=function(t,r,n){t[e.DATAMJX+r]=n},r.prototype.quoteHTML=function(t){return t.replace(/&/g,"&").replace(//g,">").replace(/\"/g,""").replace(/[\uD800-\uDBFF]./g,e.toEntity).replace(/[\u0080-\uD7FF\uE000-\uFFFF]/g,e.toEntity)},r.variants={"-tex-calligraphic":"script","-tex-bold-calligraphic":"bold-script","-tex-oldstyle":"normal","-tex-bold-oldstyle":"bold","-tex-mathit":"italic"},r.defaultAttributes={math:{xmlns:"http://www.w3.org/1998/Math/MathML"}},r}(a.MmlVisitor);e.SerializedMmlVisitor=u},2975:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractOutputJax=void 0;var n=r(7233),o=r(7525),i=function(){function t(t){void 0===t&&(t={}),this.adaptor=null;var e=this.constructor;this.options=(0,n.userOptions)((0,n.defaultOptions)({},e.OPTIONS),t),this.postFilters=new o.FunctionList}return Object.defineProperty(t.prototype,"name",{get:function(){return this.constructor.NAME},enumerable:!1,configurable:!0}),t.prototype.setAdaptor=function(t){this.adaptor=t},t.prototype.initialize=function(){},t.prototype.reset=function(){for(var t=[],e=0;e=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},n=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},o=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractEmptyNode=e.AbstractNode=void 0;var s=function(){function t(t,e,r){var n,o;void 0===e&&(e={}),void 0===r&&(r=[]),this.factory=t,this.parent=null,this.properties={},this.childNodes=[];try{for(var s=i(Object.keys(e)),a=s.next();!a.done;a=s.next()){var l=a.value;this.setProperty(l,e[l])}}catch(t){n={error:t}}finally{try{a&&!a.done&&(o=s.return)&&o.call(s)}finally{if(n)throw n.error}}r.length&&this.setChildren(r)}return Object.defineProperty(t.prototype,"kind",{get:function(){return"unknown"},enumerable:!1,configurable:!0}),t.prototype.setProperty=function(t,e){this.properties[t]=e},t.prototype.getProperty=function(t){return this.properties[t]},t.prototype.getPropertyNames=function(){return Object.keys(this.properties)},t.prototype.getAllProperties=function(){return this.properties},t.prototype.removeProperty=function(){for(var t,e,r=[],n=0;n=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},o=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},i=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},s=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},a=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.HTMLDocument=void 0;var l=r(5722),c=r(7233),u=r(3363),p=r(3335),h=r(5138),f=r(4474),d=function(t){function e(e,r,n){var o=this,i=s((0,c.separateOptions)(n,h.HTMLDomStrings.OPTIONS),2),a=i[0],l=i[1];return(o=t.call(this,e,r,a)||this).domStrings=o.options.DomStrings||new h.HTMLDomStrings(l),o.domStrings.adaptor=r,o.styles=[],o}return o(e,t),e.prototype.findPosition=function(t,e,r,n){var o,i,l=this.adaptor;try{for(var c=a(n[t]),u=c.next();!u.done;u=c.next()){var p=u.value,h=s(p,2),f=h[0],d=h[1];if(e<=d&&"#text"===l.kind(f))return{node:f,n:Math.max(e,0),delim:r};e-=d}}catch(t){o={error:t}}finally{try{u&&!u.done&&(i=c.return)&&i.call(c)}finally{if(o)throw o.error}}return{node:null,n:0,delim:r}},e.prototype.mathItem=function(t,e,r){var n=t.math,o=this.findPosition(t.n,t.start.n,t.open,r),i=this.findPosition(t.n,t.end.n,t.close,r);return new this.options.MathItem(n,e,t.display,o,i)},e.prototype.findMath=function(t){var e,r,n,o,i,l,u,p,h;if(!this.processed.isSet("findMath")){this.adaptor.document=this.document,t=(0,c.userOptions)({elements:this.options.elements||[this.adaptor.body(this.document)]},t);try{for(var f=a(this.adaptor.getElements(t.elements,this.document)),d=f.next();!d.done;d=f.next()){var m=d.value,y=s([null,null],2),g=y[0],b=y[1];try{for(var v=(n=void 0,a(this.inputJax)),_=v.next();!_.done;_=v.next()){var S=_.value,M=new this.options.MathList;if(S.processStrings){null===g&&(g=(i=s(this.domStrings.find(m),2))[0],b=i[1]);try{for(var O=(l=void 0,a(S.findMath(g))),x=O.next();!x.done;x=O.next()){var E=x.value;M.push(this.mathItem(E,S,b))}}catch(t){l={error:t}}finally{try{x&&!x.done&&(u=O.return)&&u.call(O)}finally{if(l)throw l.error}}}else try{for(var A=(p=void 0,a(S.findMath(m))),C=A.next();!C.done;C=A.next()){E=C.value;var T=new this.options.MathItem(E.math,S,E.display,E.start,E.end);M.push(T)}}catch(t){p={error:t}}finally{try{C&&!C.done&&(h=A.return)&&h.call(A)}finally{if(p)throw p.error}}this.math.merge(M)}}catch(t){n={error:t}}finally{try{_&&!_.done&&(o=v.return)&&o.call(v)}finally{if(n)throw n.error}}}}catch(t){e={error:t}}finally{try{d&&!d.done&&(r=f.return)&&r.call(f)}finally{if(e)throw e.error}}this.processed.set("findMath")}return this},e.prototype.updateDocument=function(){return this.processed.isSet("updateDocument")||(this.addPageElements(),this.addStyleSheet(),t.prototype.updateDocument.call(this),this.processed.set("updateDocument")),this},e.prototype.addPageElements=function(){var t=this.adaptor.body(this.document),e=this.documentPageElements();e&&this.adaptor.append(t,e)},e.prototype.addStyleSheet=function(){var t=this.documentStyleSheet(),e=this.adaptor;if(t&&!e.parent(t)){var r=e.head(this.document),n=this.findSheet(r,e.getAttribute(t,"id"));n?e.replace(t,n):e.append(r,t)}},e.prototype.findSheet=function(t,e){var r,n;if(e)try{for(var o=a(this.adaptor.tags(t,"style")),i=o.next();!i.done;i=o.next()){var s=i.value;if(this.adaptor.getAttribute(s,"id")===e)return s}}catch(t){r={error:t}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}return null},e.prototype.removeFromDocument=function(t){var e,r;if(void 0===t&&(t=!1),this.processed.isSet("updateDocument"))try{for(var n=a(this.math),o=n.next();!o.done;o=n.next()){var i=o.value;i.state()>=f.STATE.INSERTED&&i.state(f.STATE.TYPESET,t)}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}return this.processed.clear("updateDocument"),this},e.prototype.documentStyleSheet=function(){return this.outputJax.styleSheet(this)},e.prototype.documentPageElements=function(){return this.outputJax.pageElements(this)},e.prototype.addStyles=function(t){this.styles.push(t)},e.prototype.getStyles=function(){return this.styles},e.KIND="HTML",e.OPTIONS=i(i({},l.AbstractMathDocument.OPTIONS),{renderActions:(0,c.expandable)(i(i({},l.AbstractMathDocument.OPTIONS.renderActions),{styles:[f.STATE.INSERTED+1,"","updateStyleSheet",!1]})),MathList:p.HTMLMathList,MathItem:u.HTMLMathItem,DomStrings:null}),e}(l.AbstractMathDocument);e.HTMLDocument=d},5138:function(t,e,r){var n=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s};Object.defineProperty(e,"__esModule",{value:!0}),e.HTMLDomStrings=void 0;var o=r(7233),i=function(){function t(t){void 0===t&&(t=null);var e=this.constructor;this.options=(0,o.userOptions)((0,o.defaultOptions)({},e.OPTIONS),t),this.init(),this.getPatterns()}return t.prototype.init=function(){this.strings=[],this.string="",this.snodes=[],this.nodes=[],this.stack=[]},t.prototype.getPatterns=function(){var t=(0,o.makeArray)(this.options.skipHtmlTags),e=(0,o.makeArray)(this.options.ignoreHtmlClass),r=(0,o.makeArray)(this.options.processHtmlClass);this.skipHtmlTags=new RegExp("^(?:"+t.join("|")+")$","i"),this.ignoreHtmlClass=new RegExp("(?:^| )(?:"+e.join("|")+")(?: |$)"),this.processHtmlClass=new RegExp("(?:^| )(?:"+r+")(?: |$)")},t.prototype.pushString=function(){this.string.match(/\S/)&&(this.strings.push(this.string),this.nodes.push(this.snodes)),this.string="",this.snodes=[]},t.prototype.extendString=function(t,e){this.snodes.push([t,e.length]),this.string+=e},t.prototype.handleText=function(t,e){return e||this.extendString(t,this.adaptor.value(t)),this.adaptor.next(t)},t.prototype.handleTag=function(t,e){if(!e){var r=this.options.includeHtmlTags[this.adaptor.kind(t)];this.extendString(t,r)}return this.adaptor.next(t)},t.prototype.handleContainer=function(t,e){this.pushString();var r=this.adaptor.getAttribute(t,"class")||"",n=this.adaptor.kind(t)||"",o=this.processHtmlClass.exec(r),i=t;return!this.adaptor.firstChild(t)||this.adaptor.getAttribute(t,"data-MJX")||!o&&this.skipHtmlTags.exec(n)?i=this.adaptor.next(t):(this.adaptor.next(t)&&this.stack.push([this.adaptor.next(t),e]),i=this.adaptor.firstChild(t),e=(e||this.ignoreHtmlClass.exec(r))&&!o),[i,e]},t.prototype.handleOther=function(t,e){return this.pushString(),this.adaptor.next(t)},t.prototype.find=function(t){var e,r;this.init();for(var o=this.adaptor.next(t),i=!1,s=this.options.includeHtmlTags;t&&t!==o;){var a=this.adaptor.kind(t);"#text"===a?t=this.handleText(t,i):s.hasOwnProperty(a)?t=this.handleTag(t,i):a?(t=(e=n(this.handleContainer(t,i),2))[0],i=e[1]):t=this.handleOther(t,i),!t&&this.stack.length&&(this.pushString(),t=(r=n(this.stack.pop(),2))[0],i=r[1])}this.pushString();var l=[this.strings,this.nodes];return this.init(),l},t.OPTIONS={skipHtmlTags:["script","noscript","style","textarea","pre","code","annotation","annotation-xml"],includeHtmlTags:{br:"\n",wbr:"","#comment":""},ignoreHtmlClass:"mathjax_ignore",processHtmlClass:"mathjax_process"},t}();e.HTMLDomStrings=i},3726:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.HTMLHandler=void 0;var i=r(3670),s=r(3683),a=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.documentClass=s.HTMLDocument,e}return o(e,t),e.prototype.handlesDocument=function(t){var e=this.adaptor;if("string"==typeof t)try{t=e.parse(t,"text/html")}catch(t){}return t instanceof e.window.Document||t instanceof e.window.HTMLElement||t instanceof e.window.DocumentFragment},e.prototype.create=function(e,r){var n=this.adaptor;if("string"==typeof e)e=n.parse(e,"text/html");else if(e instanceof n.window.HTMLElement||e instanceof n.window.DocumentFragment){var o=e;e=n.parse("","text/html"),n.append(n.body(e),o)}return t.prototype.create.call(this,e,r)},e}(i.AbstractHandler);e.HTMLHandler=a},3363:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.HTMLMathItem=void 0;var i=r(4474),s=function(t){function e(e,r,n,o,i){return void 0===n&&(n=!0),void 0===o&&(o={node:null,n:0,delim:""}),void 0===i&&(i={node:null,n:0,delim:""}),t.call(this,e,r,n,o,i)||this}return o(e,t),Object.defineProperty(e.prototype,"adaptor",{get:function(){return this.inputJax.adaptor},enumerable:!1,configurable:!0}),e.prototype.updateDocument=function(t){if(this.state()=i.STATE.TYPESET){var e=this.adaptor,r=this.start.node,n=e.text("");if(t){var o=this.start.delim+this.math+this.end.delim;if(this.inputJax.processStrings)n=e.text(o);else{var s=e.parse(o,"text/html");n=e.firstChild(e.body(s))}}e.parent(r)&&e.replace(n,r),this.start.node=this.end.node=n,this.start.n=this.end.n=0}},e}(i.AbstractMathItem);e.HTMLMathItem=s},3335:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.HTMLMathList=void 0;var i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e}(r(9e3).AbstractMathList);e.HTMLMathList=i},2892:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s};Object.defineProperty(e,"__esModule",{value:!0}),e.MathML=void 0;var s=r(9206),a=r(7233),l=r(7525),c=r(625),u=r(2769),p=function(t){function e(e){void 0===e&&(e={});var r=this,n=i((0,a.separateOptions)(e,c.FindMathML.OPTIONS,u.MathMLCompile.OPTIONS),3),o=n[0],s=n[1],p=n[2];return(r=t.call(this,o)||this).findMathML=r.options.FindMathML||new c.FindMathML(s),r.mathml=r.options.MathMLCompile||new u.MathMLCompile(p),r.mmlFilters=new l.FunctionList,r}return o(e,t),e.prototype.setAdaptor=function(e){t.prototype.setAdaptor.call(this,e),this.findMathML.adaptor=e,this.mathml.adaptor=e},e.prototype.setMmlFactory=function(e){t.prototype.setMmlFactory.call(this,e),this.mathml.setMmlFactory(e)},Object.defineProperty(e.prototype,"processStrings",{get:function(){return!1},enumerable:!1,configurable:!0}),e.prototype.compile=function(t,e){var r=t.start.node;if(!r||!t.end.node||this.options.forceReparse||"#text"===this.adaptor.kind(r)){var n=this.executeFilters(this.preFilters,t,e,(t.math||"").trim()),o=this.checkForErrors(this.adaptor.parse(n,"text/"+this.options.parseAs)),i=this.adaptor.body(o);1!==this.adaptor.childNodes(i).length&&this.error("MathML must consist of a single element"),r=this.adaptor.remove(this.adaptor.firstChild(i)),"math"!==this.adaptor.kind(r).replace(/^[a-z]+:/,"")&&this.error("MathML must be formed by a element, not <"+this.adaptor.kind(r)+">")}return r=this.executeFilters(this.mmlFilters,t,e,r),this.executeFilters(this.postFilters,t,e,this.mathml.compile(r))},e.prototype.checkForErrors=function(t){var e=this.adaptor.tags(this.adaptor.body(t),"parsererror")[0];return e&&(""===this.adaptor.textContent(e)&&this.error("Error processing MathML"),this.options.parseError.call(this,e)),t},e.prototype.error=function(t){throw new Error(t)},e.prototype.findMath=function(t){return this.findMathML.findMath(t)},e.NAME="MathML",e.OPTIONS=(0,a.defaultOptions)({parseAs:"html",forceReparse:!1,FindMathML:null,MathMLCompile:null,parseError:function(t){this.error(this.adaptor.textContent(t).replace(/\n.*/g,""))}},s.AbstractInputJax.OPTIONS),e}(s.AbstractInputJax);e.MathML=p},625:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.FindMathML=void 0;var s=r(3494),a="http://www.w3.org/1998/Math/MathML",l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.findMath=function(t){var e=new Set;this.findMathNodes(t,e),this.findMathPrefixed(t,e);var r=this.adaptor.root(this.adaptor.document);return"html"===this.adaptor.kind(r)&&0===e.size&&this.findMathNS(t,e),this.processMath(e)},e.prototype.findMathNodes=function(t,e){var r,n;try{for(var o=i(this.adaptor.tags(t,"math")),s=o.next();!s.done;s=o.next()){var a=s.value;e.add(a)}}catch(t){r={error:t}}finally{try{s&&!s.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}},e.prototype.findMathPrefixed=function(t,e){var r,n,o,s,l=this.adaptor.root(this.adaptor.document);try{for(var c=i(this.adaptor.allAttributes(l)),u=c.next();!u.done;u=c.next()){var p=u.value;if("xmlns:"===p.name.substr(0,6)&&p.value===a){var h=p.name.substr(6);try{for(var f=(o=void 0,i(this.adaptor.tags(t,h+":math"))),d=f.next();!d.done;d=f.next()){var m=d.value;e.add(m)}}catch(t){o={error:t}}finally{try{d&&!d.done&&(s=f.return)&&s.call(f)}finally{if(o)throw o.error}}}}}catch(t){r={error:t}}finally{try{u&&!u.done&&(n=c.return)&&n.call(c)}finally{if(r)throw r.error}}},e.prototype.findMathNS=function(t,e){var r,n;try{for(var o=i(this.adaptor.tags(t,"math",a)),s=o.next();!s.done;s=o.next()){var l=s.value;e.add(l)}}catch(t){r={error:t}}finally{try{s&&!s.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}},e.prototype.processMath=function(t){var e,r,n=[];try{for(var o=i(Array.from(t)),s=o.next();!s.done;s=o.next()){var a=s.value,l="block"===this.adaptor.getAttribute(a,"display")||"display"===this.adaptor.getAttribute(a,"mode"),c={node:a,n:0,delim:""},u={node:a,n:0,delim:""};n.push({math:this.adaptor.outerHTML(a),start:c,end:u,display:l})}}catch(t){e={error:t}}finally{try{s&&!s.done&&(r=o.return)&&r.call(o)}finally{if(e)throw e.error}}return n},e.OPTIONS={},e}(s.AbstractFindMath);e.FindMathML=l},2769:function(t,e,r){var n=this&&this.__assign||function(){return n=Object.assign||function(t){for(var e,r=1,n=arguments.length;r=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.MathMLCompile=void 0;var l=r(9007),c=r(7233),u=s(r(5368)),p=function(){function t(t){void 0===t&&(t={});var e=this.constructor;this.options=(0,c.userOptions)((0,c.defaultOptions)({},e.OPTIONS),t)}return t.prototype.setMmlFactory=function(t){this.factory=t},t.prototype.compile=function(t){var e=this.makeNode(t);return e.verifyTree(this.options.verify),e.setInheritedAttributes({},!1,0,!1),e.walkTree(this.markMrows),e},t.prototype.makeNode=function(t){var e,r,n=this.adaptor,o=!1,i=n.kind(t).replace(/^.*:/,""),s=n.getAttribute(t,"data-mjx-texclass")||"";s&&(s=this.filterAttribute("data-mjx-texclass",s)||"");var c=s&&"mrow"===i?"TeXAtom":i;try{for(var u=a(this.filterClassList(n.allClasses(t))),p=u.next();!p.done;p=u.next()){var h=p.value;h.match(/^MJX-TeXAtom-/)&&"mrow"===i?(s=h.substr(12),c="TeXAtom"):"MJX-fixedlimits"===h&&(o=!0)}}catch(t){e={error:t}}finally{try{p&&!p.done&&(r=u.return)&&r.call(u)}finally{if(e)throw e.error}}this.factory.getNodeClass(c)||this.error('Unknown node type "'+c+'"');var f=this.factory.create(c);return"TeXAtom"!==c||"OP"!==s||o||(f.setProperty("movesupsub",!0),f.attributes.setInherited("movablelimits",!0)),s&&(f.texClass=l.TEXCLASS[s],f.setProperty("texClass",f.texClass)),this.addAttributes(f,t),this.checkClass(f,t),this.addChildren(f,t),f},t.prototype.addAttributes=function(t,e){var r,n,o=!1;try{for(var i=a(this.adaptor.allAttributes(e)),s=i.next();!s.done;s=i.next()){var l=s.value,c=l.name,u=this.filterAttribute(c,l.value);if(null!==u&&"xmlns"!==c)if("data-mjx-"===c.substr(0,9))switch(c.substr(9)){case"alternate":t.setProperty("variantForm",!0);break;case"variant":t.attributes.set("mathvariant",u),o=!0;break;case"smallmatrix":t.setProperty("scriptlevel",1),t.setProperty("useHeight",!1);break;case"accent":t.setProperty("mathaccent","true"===u);break;case"auto-op":t.setProperty("autoOP","true"===u);break;case"script-align":t.setProperty("scriptalign",u)}else if("class"!==c){var p=u.toLowerCase();"true"===p||"false"===p?t.attributes.set(c,"true"===p):o&&"mathvariant"===c||t.attributes.set(c,u)}}}catch(t){r={error:t}}finally{try{s&&!s.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}},t.prototype.filterAttribute=function(t,e){return e},t.prototype.filterClassList=function(t){return t},t.prototype.addChildren=function(t,e){var r,n;if(0!==t.arity){var o=this.adaptor;try{for(var i=a(o.childNodes(e)),s=i.next();!s.done;s=i.next()){var l=s.value,c=o.kind(l);if("#comment"!==c)if("#text"===c)this.addText(t,l);else if(t.isKind("annotation-xml"))t.appendChild(this.factory.create("XML").setXML(l,o));else{var u=t.appendChild(this.makeNode(l));0===u.arity&&o.childNodes(l).length&&(this.options.fixMisplacedChildren?this.addChildren(t,l):u.mError("There should not be children for "+u.kind+" nodes",this.options.verify,!0))}}}catch(t){r={error:t}}finally{try{s&&!s.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}}},t.prototype.addText=function(t,e){var r=this.adaptor.value(e);(t.isToken||t.getProperty("isChars"))&&t.arity?(t.isToken&&(r=u.translate(r),r=this.trimSpace(r)),t.appendChild(this.factory.create("text").setText(r))):r.match(/\S/)&&this.error('Unexpected text node "'+r+'"')},t.prototype.checkClass=function(t,e){var r,n,o=[];try{for(var i=a(this.filterClassList(this.adaptor.allClasses(e))),s=i.next();!s.done;s=i.next()){var l=s.value;"MJX-"===l.substr(0,4)?"MJX-variant"===l?t.setProperty("variantForm",!0):"MJX-TeXAtom"!==l.substr(0,11)&&t.attributes.set("mathvariant",this.fixCalligraphic(l.substr(3))):o.push(l)}}catch(t){r={error:t}}finally{try{s&&!s.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}o.length&&t.attributes.set("class",o.join(" "))},t.prototype.fixCalligraphic=function(t){return t.replace(/caligraphic/,"calligraphic")},t.prototype.markMrows=function(t){if(t.isKind("mrow")&&!t.isInferred&&t.childNodes.length>=2){var e=t.childNodes[0],r=t.childNodes[t.childNodes.length-1];e.isKind("mo")&&e.attributes.get("fence")&&e.attributes.get("stretchy")&&r.isKind("mo")&&r.attributes.get("fence")&&r.attributes.get("stretchy")&&(e.childNodes.length&&t.setProperty("open",e.getText()),r.childNodes.length&&t.setProperty("close",r.getText()))}},t.prototype.trimSpace=function(t){return t.replace(/[\t\n\r]/g," ").replace(/^ +/,"").replace(/ +$/,"").replace(/ +/g," ")},t.prototype.error=function(t){throw new Error(t)},t.OPTIONS={MmlFactory:null,fixMisplacedChildren:!0,verify:n({},l.AbstractMmlNode.verifyDefaults),translateEntities:!0},t}();e.MathMLCompile=p},8462:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__assign||function(){return i=Object.assign||function(t){for(var e,r=1,n=arguments.length;r0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},a=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.TeX=void 0;var l=r(9206),c=r(7233),u=r(7073),p=a(r(4676)),h=a(r(1256)),f=a(r(8417)),d=a(r(3971)),m=a(r(8562)),y=r(6521),g=r(9899);r(2942);var b=function(t){function e(r){void 0===r&&(r={});var n=this,o=s((0,c.separateOptions)(r,e.OPTIONS,u.FindTeX.OPTIONS),3),i=o[0],a=o[1],l=o[2];(n=t.call(this,a)||this).findTeX=n.options.FindTeX||new u.FindTeX(l);var h=n.options.packages,f=n.configuration=e.configure(h),d=n._parseOptions=new m.default(f,[n.options,y.TagsFactory.OPTIONS]);return(0,c.userOptions)(d.options,i),f.config(n),e.tags(d,f),n.postFilters.add(p.default.cleanSubSup,-6),n.postFilters.add(p.default.setInherited,-5),n.postFilters.add(p.default.moveLimits,-4),n.postFilters.add(p.default.cleanStretchy,-3),n.postFilters.add(p.default.cleanAttributes,-2),n.postFilters.add(p.default.combineRelations,-1),n}return o(e,t),e.configure=function(t){var e=new g.ParserConfiguration(t,["tex"]);return e.init(),e},e.tags=function(t,e){y.TagsFactory.addTags(e.tags),y.TagsFactory.setDefault(t.options.tags),t.tags=y.TagsFactory.getDefault(),t.tags.configuration=t},e.prototype.setMmlFactory=function(e){t.prototype.setMmlFactory.call(this,e),this._parseOptions.nodeFactory.setMmlFactory(e)},Object.defineProperty(e.prototype,"parseOptions",{get:function(){return this._parseOptions},enumerable:!1,configurable:!0}),e.prototype.reset=function(t){void 0===t&&(t=0),this.parseOptions.tags.reset(t)},e.prototype.compile=function(t,e){this.parseOptions.clear(),this.executeFilters(this.preFilters,t,e,this.parseOptions);var r,n,o=t.display;this.latex=t.math,this.parseOptions.tags.startEquation(t);try{var i=new f.default(this.latex,{display:o,isInner:!1},this.parseOptions);r=i.mml(),n=i.stack.global}catch(t){if(!(t instanceof d.default))throw t;this.parseOptions.error=!0,r=this.options.formatError(this,t)}return r=this.parseOptions.nodeFactory.create("node","math",[r]),(null==n?void 0:n.indentalign)&&h.default.setAttribute(r,"indentalign",n.indentalign),o&&h.default.setAttribute(r,"display","block"),this.parseOptions.tags.finishEquation(t),this.parseOptions.root=r,this.executeFilters(this.postFilters,t,e,this.parseOptions),this.mathNode=this.parseOptions.root,this.mathNode},e.prototype.findMath=function(t){return this.findTeX.findMath(t)},e.prototype.formatError=function(t){var e=t.message.replace(/\n.*/,"");return this.parseOptions.nodeFactory.create("error",e,t.id,this.latex)},e.NAME="TeX",e.OPTIONS=i(i({},l.AbstractInputJax.OPTIONS),{FindTeX:null,packages:["base"],digits:/^(?:[0-9]+(?:\{,\}[0-9]{3})*(?:\.[0-9]*)?|\.[0-9]+)/,maxBuffer:5120,formatError:function(t,e){return t.formatError(e)}}),e}(l.AbstractInputJax);e.TeX=b},9899:function(t,e,r){var n=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},o=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s};Object.defineProperty(e,"__esModule",{value:!0}),e.ParserConfiguration=e.ConfigurationHandler=e.Configuration=void 0;var i,s=r(7233),a=r(2947),l=r(7525),c=r(8666),u=r(6521),p=function(){function t(t,e,r,n,o,i,s,a,l,c,u,p,h){void 0===e&&(e={}),void 0===r&&(r={}),void 0===n&&(n={}),void 0===o&&(o={}),void 0===i&&(i={}),void 0===s&&(s={}),void 0===a&&(a=[]),void 0===l&&(l=[]),void 0===c&&(c=null),void 0===u&&(u=null),this.name=t,this.handler=e,this.fallback=r,this.items=n,this.tags=o,this.options=i,this.nodes=s,this.preprocessors=a,this.postprocessors=l,this.initMethod=c,this.configMethod=u,this.priority=p,this.parser=h,this.handler=Object.assign({character:[],delimiter:[],macro:[],environment:[]},e)}return t.makeProcessor=function(t,e){return Array.isArray(t)?t:[t,e]},t._create=function(e,r){var n=this;void 0===r&&(r={});var o=r.priority||c.PrioritizedList.DEFAULTPRIORITY,i=r.init?this.makeProcessor(r.init,o):null,s=r.config?this.makeProcessor(r.config,o):null,a=(r.preprocessors||[]).map((function(t){return n.makeProcessor(t,o)})),l=(r.postprocessors||[]).map((function(t){return n.makeProcessor(t,o)})),u=r.parser||"tex";return new t(e,r.handler||{},r.fallback||{},r.items||{},r.tags||{},r.options||{},r.nodes||{},a,l,i,s,o,u)},t.create=function(e,r){void 0===r&&(r={});var n=t._create(e,r);return i.set(e,n),n},t.local=function(e){return void 0===e&&(e={}),t._create("",e)},Object.defineProperty(t.prototype,"init",{get:function(){return this.initMethod?this.initMethod[0]:null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"config",{get:function(){return this.configMethod?this.configMethod[0]:null},enumerable:!1,configurable:!0}),t}();e.Configuration=p,function(t){var e=new Map;t.set=function(t,r){e.set(t,r)},t.get=function(t){return e.get(t)},t.keys=function(){return e.keys()}}(i=e.ConfigurationHandler||(e.ConfigurationHandler={}));var h=function(){function t(t,e){var r,o,i,s;void 0===e&&(e=["tex"]),this.initMethod=new l.FunctionList,this.configMethod=new l.FunctionList,this.configurations=new c.PrioritizedList,this.parsers=[],this.handlers=new a.SubHandlers,this.items={},this.tags={},this.options={},this.nodes={},this.parsers=e;try{for(var u=n(t.slice().reverse()),p=u.next();!p.done;p=u.next()){var h=p.value;this.addPackage(h)}}catch(t){r={error:t}}finally{try{p&&!p.done&&(o=u.return)&&o.call(u)}finally{if(r)throw r.error}}try{for(var f=n(this.configurations),d=f.next();!d.done;d=f.next()){var m=d.value,y=m.item,g=m.priority;this.append(y,g)}}catch(t){i={error:t}}finally{try{d&&!d.done&&(s=f.return)&&s.call(f)}finally{if(i)throw i.error}}}return t.prototype.init=function(){this.initMethod.execute(this)},t.prototype.config=function(t){var e,r;this.configMethod.execute(this,t);try{for(var o=n(this.configurations),i=o.next();!i.done;i=o.next()){var s=i.value;this.addFilters(t,s.item)}}catch(t){e={error:t}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(e)throw e.error}}},t.prototype.addPackage=function(t){var e="string"==typeof t?t:t[0],r=this.getPackage(e);r&&this.configurations.add(r,"string"==typeof t?r.priority:t[1])},t.prototype.add=function(t,e,r){var o,i;void 0===r&&(r={});var a=this.getPackage(t);this.append(a),this.configurations.add(a,a.priority),this.init();var l=e.parseOptions;l.nodeFactory.setCreators(a.nodes);try{for(var c=n(Object.keys(a.items)),p=c.next();!p.done;p=c.next()){var h=p.value;l.itemFactory.setNodeClass(h,a.items[h])}}catch(t){o={error:t}}finally{try{p&&!p.done&&(i=c.return)&&i.call(c)}finally{if(o)throw o.error}}u.TagsFactory.addTags(a.tags),(0,s.defaultOptions)(l.options,a.options),(0,s.userOptions)(l.options,r),this.addFilters(e,a),a.config&&a.config(this,e)},t.prototype.getPackage=function(t){var e=i.get(t);if(e&&this.parsers.indexOf(e.parser)<0)throw Error("Package ".concat(t," doesn't target the proper parser"));return e},t.prototype.append=function(t,e){e=e||t.priority,t.initMethod&&this.initMethod.add(t.initMethod[0],t.initMethod[1]),t.configMethod&&this.configMethod.add(t.configMethod[0],t.configMethod[1]),this.handlers.add(t.handler,t.fallback,e),Object.assign(this.items,t.items),Object.assign(this.tags,t.tags),(0,s.defaultOptions)(this.options,t.options),Object.assign(this.nodes,t.nodes)},t.prototype.addFilters=function(t,e){var r,i,s,a;try{for(var l=n(e.preprocessors),c=l.next();!c.done;c=l.next()){var u=o(c.value,2),p=u[0],h=u[1];t.preFilters.add(p,h)}}catch(t){r={error:t}}finally{try{c&&!c.done&&(i=l.return)&&i.call(l)}finally{if(r)throw r.error}}try{for(var f=n(e.postprocessors),d=f.next();!d.done;d=f.next()){var m=o(d.value,2),y=m[0];h=m[1];t.postFilters.add(y,h)}}catch(t){s={error:t}}finally{try{d&&!d.done&&(a=f.return)&&a.call(f)}finally{if(s)throw s.error}}},t}();e.ParserConfiguration=h},4676:function(t,e,r){var n=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},o=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var i,s=r(9007),a=o(r(1256));!function(t){t.cleanStretchy=function(t){var e,r,o=t.data;try{for(var i=n(o.getList("fixStretchy")),s=i.next();!s.done;s=i.next()){var l=s.value;if(a.default.getProperty(l,"fixStretchy")){var c=a.default.getForm(l);c&&c[3]&&c[3].stretchy&&a.default.setAttribute(l,"stretchy",!1);var u=l.parent;if(!(a.default.getTexClass(l)||c&&c[2])){var p=o.nodeFactory.create("node","TeXAtom",[l]);u.replaceChild(p,l),p.inheritAttributesFrom(l)}a.default.removeProperties(l,"fixStretchy")}}}catch(t){e={error:t}}finally{try{s&&!s.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}},t.cleanAttributes=function(t){t.data.root.walkTree((function(t,e){var r,o,i=t.attributes;if(i){var s=new Set((i.get("mjx-keep-attrs")||"").split(/ /));delete i.getAllAttributes()["mjx-keep-attrs"];try{for(var a=n(i.getExplicitNames()),l=a.next();!l.done;l=a.next()){var c=l.value;s.has(c)||i.attributes[c]!==t.attributes.getInherited(c)||delete i.attributes[c]}}catch(t){r={error:t}}finally{try{l&&!l.done&&(o=a.return)&&o.call(a)}finally{if(r)throw r.error}}}}),{})},t.combineRelations=function(t){var o,i,l,c,u=[];try{for(var p=n(t.data.getList("mo")),h=p.next();!h.done;h=p.next()){var f=h.value;if(!f.getProperty("relationsCombined")&&f.parent&&(!f.parent||a.default.isType(f.parent,"mrow"))&&a.default.getTexClass(f)===s.TEXCLASS.REL){for(var d=f.parent,m=void 0,y=d.childNodes,g=y.indexOf(f)+1,b=a.default.getProperty(f,"variantForm");g0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s};Object.defineProperty(e,"__esModule",{value:!0}),e.FindTeX=void 0;var s=r(3494),a=r(505),l=r(4474),c=function(t){function e(e){var r=t.call(this,e)||this;return r.getPatterns(),r}return o(e,t),e.prototype.getPatterns=function(){var t=this,e=this.options,r=[],n=[],o=[];this.end={},this.env=this.sub=0;var i=1;e.inlineMath.forEach((function(e){return t.addPattern(r,e,!1)})),e.displayMath.forEach((function(e){return t.addPattern(r,e,!0)})),r.length&&n.push(r.sort(a.sortLength).join("|")),e.processEnvironments&&(n.push("\\\\begin\\s*\\{([^}]*)\\}"),this.env=i,i++),e.processEscapes&&o.push("\\\\([\\\\$])"),e.processRefs&&o.push("(\\\\(?:eq)?ref\\s*\\{[^}]*\\})"),o.length&&(n.push("("+o.join("|")+")"),this.sub=i),this.start=new RegExp(n.join("|"),"g"),this.hasPatterns=n.length>0},e.prototype.addPattern=function(t,e,r){var n=i(e,2),o=n[0],s=n[1];t.push((0,a.quotePattern)(o)),this.end[o]=[s,r,this.endPattern(s)]},e.prototype.endPattern=function(t,e){return new RegExp((e||(0,a.quotePattern)(t))+"|\\\\(?:[a-zA-Z]|.)|[{}]","g")},e.prototype.findEnd=function(t,e,r,n){for(var o,s=i(n,3),a=s[0],c=s[1],u=s[2],p=u.lastIndex=r.index+r[0].length,h=0;o=u.exec(t);){if((o[1]||o[0])===a&&0===h)return(0,l.protoItem)(r[0],t.substr(p,o.index-p),o[0],e,r.index,o.index+o[0].length,c);"{"===o[0]?h++:"}"===o[0]&&h&&h--}return null},e.prototype.findMathInString=function(t,e,r){var n,o;for(this.start.lastIndex=0;n=this.start.exec(r);){if(void 0!==n[this.env]&&this.env){var i="\\\\end\\s*(\\{"+(0,a.quotePattern)(n[this.env])+"\\})";(o=this.findEnd(r,e,n,["{"+n[this.env]+"}",!0,this.endPattern(null,i)]))&&(o.math=o.open+o.math+o.close,o.open=o.close="")}else if(void 0!==n[this.sub]&&this.sub){var s=n[this.sub];i=n.index+n[this.sub].length;o=2===s.length?(0,l.protoItem)("",s.substr(1),"",e,n.index,i):(0,l.protoItem)("",s,"",e,n.index,i,!1)}else o=this.findEnd(r,e,n,this.end[n[0]]);o&&(t.push(o),this.start.lastIndex=o.end.n)}},e.prototype.findMath=function(t){var e=[];if(this.hasPatterns)for(var r=0,n=t.length;r=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},o=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s};Object.defineProperty(e,"__esModule",{value:!0}),e.SubHandlers=e.SubHandler=e.MapHandler=void 0;var i,s=r(8666),a=r(7525);!function(t){var e=new Map;t.register=function(t){e.set(t.name,t)},t.getMap=function(t){return e.get(t)}}(i=e.MapHandler||(e.MapHandler={}));var l=function(){function t(){this._configuration=new s.PrioritizedList,this._fallback=new a.FunctionList}return t.prototype.add=function(t,e,r){var o,a;void 0===r&&(r=s.PrioritizedList.DEFAULTPRIORITY);try{for(var l=n(t.slice().reverse()),c=l.next();!c.done;c=l.next()){var u=c.value,p=i.getMap(u);if(!p)return void this.warn("Configuration "+u+" not found! Omitted.");this._configuration.add(p,r)}}catch(t){o={error:t}}finally{try{c&&!c.done&&(a=l.return)&&a.call(l)}finally{if(o)throw o.error}}e&&this._fallback.add(e,r)},t.prototype.parse=function(t){var e,r;try{for(var i=n(this._configuration),s=i.next();!s.done;s=i.next()){var a=s.value.item.parse(t);if(a)return a}}catch(t){e={error:t}}finally{try{s&&!s.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}var l=o(t,2),c=l[0],u=l[1];Array.from(this._fallback)[0].item(c,u)},t.prototype.lookup=function(t){var e=this.applicable(t);return e?e.lookup(t):null},t.prototype.contains=function(t){return!!this.applicable(t)},t.prototype.toString=function(){var t,e,r=[];try{for(var o=n(this._configuration),i=o.next();!i.done;i=o.next()){var s=i.value.item;r.push(s.name)}}catch(e){t={error:e}}finally{try{i&&!i.done&&(e=o.return)&&e.call(o)}finally{if(t)throw t.error}}return r.join(", ")},t.prototype.applicable=function(t){var e,r;try{for(var o=n(this._configuration),i=o.next();!i.done;i=o.next()){var s=i.value.item;if(s.contains(t))return s}}catch(t){e={error:t}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(e)throw e.error}}return null},t.prototype.retrieve=function(t){var e,r;try{for(var o=n(this._configuration),i=o.next();!i.done;i=o.next()){var s=i.value.item;if(s.name===t)return s}}catch(t){e={error:t}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(e)throw e.error}}return null},t.prototype.warn=function(t){console.log("TexParser Warning: "+t)},t}();e.SubHandler=l;var c=function(){function t(){this.map=new Map}return t.prototype.add=function(t,e,r){var o,i;void 0===r&&(r=s.PrioritizedList.DEFAULTPRIORITY);try{for(var a=n(Object.keys(t)),c=a.next();!c.done;c=a.next()){var u=c.value,p=this.get(u);p||(p=new l,this.set(u,p)),p.add(t[u],e[u],r)}}catch(t){o={error:t}}finally{try{c&&!c.done&&(i=a.return)&&i.call(a)}finally{if(o)throw o.error}}},t.prototype.set=function(t,e){this.map.set(t,e)},t.prototype.get=function(t){return this.map.get(t)},t.prototype.retrieve=function(t){var e,r;try{for(var o=n(this.map.values()),i=o.next();!i.done;i=o.next()){var s=i.value.retrieve(t);if(s)return s}}catch(t){e={error:t}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(e)throw e.error}}return null},t.prototype.keys=function(){return this.map.keys()},t}();e.SubHandlers=c},8929:function(t,e,r){var n=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},o=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},o=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},i=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},o=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o1&&(r.autoOP=!1));var o=t.create("token","mi",r,e);t.Push(o)},t.digit=function(t,e){var r,n=t.configuration.options.digits,o=t.string.slice(t.i-1).match(n),i=c.default.getFontDef(t);o?(r=t.create("token","mn",i,o[0].replace(/[{}]/g,"")),t.i+=o[0].length-1):r=t.create("token","mo",i,e),t.Push(r)},t.controlSequence=function(t,e){var r=t.GetCS();t.parse("macro",[t,r])},t.mathchar0mi=function(t,e){var r=e.attributes||{mathvariant:l.TexConstant.Variant.ITALIC},n=t.create("token","mi",r,e.char);t.Push(n)},t.mathchar0mo=function(t,e){var r=e.attributes||{};r.stretchy=!1;var n=t.create("token","mo",r,e.char);a.default.setProperty(n,"fixStretchy",!0),t.configuration.addNode("fixStretchy",n),t.Push(n)},t.mathchar7=function(t,e){var r=e.attributes||{mathvariant:l.TexConstant.Variant.NORMAL};t.stack.env.font&&(r.mathvariant=t.stack.env.font);var n=t.create("token","mi",r,e.char);t.Push(n)},t.delimiter=function(t,e){var r=e.attributes||{};r=Object.assign({fence:!1,stretchy:!1},r);var n=t.create("token","mo",r,e.char);t.Push(n)},t.environment=function(t,e,r,i){var s=i[0],a=t.itemFactory.create("begin").setProperties({name:e,end:s});a=r.apply(void 0,o([t,a],n(i.slice(1)),!1)),t.Push(a)}}(s||(s={})),e.default=s},8562:function(t,e,r){var n=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},o=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},s=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var a=s(r(5453)),l=r(8929),c=s(r(1256)),u=r(7233),p=function(){function t(t,e){void 0===e&&(e=[]),this.options={},this.packageData=new Map,this.parsers=[],this.root=null,this.nodeLists={},this.error=!1,this.handlers=t.handlers,this.nodeFactory=new l.NodeFactory,this.nodeFactory.configuration=this,this.nodeFactory.setCreators(t.nodes),this.itemFactory=new a.default(t.items),this.itemFactory.configuration=this,u.defaultOptions.apply(void 0,o([this.options],n(e),!1)),(0,u.defaultOptions)(this.options,t.options)}return t.prototype.pushParser=function(t){this.parsers.unshift(t)},t.prototype.popParser=function(){this.parsers.shift()},Object.defineProperty(t.prototype,"parser",{get:function(){return this.parsers[0]},enumerable:!1,configurable:!0}),t.prototype.clear=function(){this.parsers=[],this.root=null,this.nodeLists={},this.error=!1,this.tags.resetTag()},t.prototype.addNode=function(t,e){var r=this.nodeLists[t];if(r||(r=this.nodeLists[t]=[]),r.push(e),e.kind!==t){var n=c.default.getProperty(e,"in-lists")||"",o=(n?n.split(/,/):[]).concat(t).join(",");c.default.setProperty(e,"in-lists",o)}},t.prototype.getList=function(t){var e,r,n=this.nodeLists[t]||[],o=[];try{for(var s=i(n),a=s.next();!a.done;a=s.next()){var l=a.value;this.inTree(l)&&o.push(l)}}catch(t){e={error:t}}finally{try{a&&!a.done&&(r=s.return)&&r.call(s)}finally{if(e)throw e.error}}return this.nodeLists[t]=o,o},t.prototype.removeFromList=function(t,e){var r,n,o=this.nodeLists[t]||[];try{for(var s=i(e),a=s.next();!a.done;a=s.next()){var l=a.value,c=o.indexOf(l);c>=0&&o.splice(c,1)}}catch(t){r={error:t}}finally{try{a&&!a.done&&(n=s.return)&&n.call(s)}finally{if(r)throw r.error}}},t.prototype.inTree=function(t){for(;t&&t!==this.root;)t=t.parent;return!!t},t}();e.default=p},1130:function(t,e,r){var n=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},o=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var s,a=r(9007),l=i(r(1256)),c=i(r(8417)),u=i(r(3971)),p=r(5368);!function(t){var e=7.2,r={em:function(t){return t},ex:function(t){return.43*t},pt:function(t){return t/10},pc:function(t){return 1.2*t},px:function(t){return t*e/72},in:function(t){return t*e},cm:function(t){return t*e/2.54},mm:function(t){return t*e/25.4},mu:function(t){return t/18}},i="([-+]?([.,]\\d+|\\d+([.,]\\d*)?))",s="(pt|em|ex|mu|px|mm|cm|in|pc)",h=RegExp("^\\s*"+i+"\\s*"+s+"\\s*$"),f=RegExp("^\\s*"+i+"\\s*"+s+" ?");function d(t,e){void 0===e&&(e=!1);var o=t.match(e?f:h);return o?function(t){var e=n(t,3),o=e[0],i=e[1],s=e[2];if("mu"!==i)return[o,i,s];return[m(r[i](parseFloat(o||"1"))).slice(0,-2),"em",s]}([o[1].replace(/,/,"."),o[4],o[0].length]):[null,null,0]}function m(t){return Math.abs(t)<6e-4?"0em":t.toFixed(3).replace(/\.?0+$/,"")+"em"}function y(t,e,r){"{"!==e&&"}"!==e||(e="\\"+e);var n="{\\bigg"+r+" "+e+"}",o="{\\big"+r+" "+e+"}";return new c.default("\\mathchoice"+n+o+o+o,{},t).mml()}function g(t,e,r){e=e.replace(/^\s+/,p.entities.nbsp).replace(/\s+$/,p.entities.nbsp);var n=t.create("text",e);return t.create("node","mtext",[],r,n)}function b(t,e,r){if(r.match(/^[a-z]/i)&&e.match(/(^|[^\\])(\\\\)*\\[a-z]+$/i)&&(e+=" "),e.length+r.length>t.configuration.options.maxBuffer)throw new u.default("MaxBufferSize","MathJax internal buffer size exceeded; is there a recursive macro call?");return e+r}function v(t,e){for(;e>0;)t=t.trim().slice(1,-1),e--;return t.trim()}function _(t,e){for(var r=t.length,n=0,o="",i=0,s=0,a=!0,l=!1;in&&(s=n)),n++;break;case"}":n&&n--,(a||l)&&(s--,l=!0),a=!1;break;default:if(!n&&-1!==e.indexOf(c))return[l?"true":v(o,s),c,t.slice(i)];a=!1,l=!1}o+=c}if(n)throw new u.default("ExtraOpenMissingClose","Extra open brace or missing close brace");return[l?"true":v(o,s),"",t.slice(i)]}t.matchDimen=d,t.dimen2em=function(t){var e=n(d(t),2),o=e[0],i=e[1],s=parseFloat(o||"1"),a=r[i];return a?a(s):0},t.Em=m,t.cols=function(){for(var t=[],e=0;e1&&(l=[t.create("node","mrow",l)]),l},t.internalText=g,t.underOver=function(e,r,n,o,i){if(t.checkMovableLimits(r),l.default.isType(r,"munderover")&&l.default.isEmbellished(r)){l.default.setProperties(l.default.getCoreMO(r),{lspace:0,rspace:0});var s=e.create("node","mo",[],{rspace:0});r=e.create("node","mrow",[s,r])}var c=e.create("node","munderover",[r]);l.default.setChild(c,"over"===o?c.over:c.under,n);var u=c;return i&&(u=e.create("node","TeXAtom",[c],{texClass:a.TEXCLASS.OP,movesupsub:!0})),l.default.setProperty(u,"subsupOK",!0),u},t.checkMovableLimits=function(t){var e=l.default.isType(t,"mo")?l.default.getForm(t):null;(l.default.getProperty(t,"movablelimits")||e&&e[3]&&e[3].movablelimits)&&l.default.setProperties(t,{movablelimits:!1})},t.trimSpaces=function(t){if("string"!=typeof t)return t;var e=t.trim();return e.match(/\\$/)&&t.match(/ $/)&&(e+=" "),e},t.setArrayAlign=function(e,r){return"t"===(r=t.trimSpaces(r||""))?e.arraydef.align="baseline 1":"b"===r?e.arraydef.align="baseline -1":"c"===r?e.arraydef.align="axis":r&&(e.arraydef.align=r),e},t.substituteArgs=function(t,e,r){for(var n="",o="",i=0;ie.length)throw new u.default("IllegalMacroParam","Illegal macro parameter reference");o=b(t,b(t,o,n),e[parseInt(s,10)-1]),n=""}else n+=s}return b(t,o,n)},t.addArgs=b,t.checkMaxMacros=function(t,e){if(void 0===e&&(e=!0),!(++t.macroCount<=t.configuration.options.maxMacros))throw e?new u.default("MaxMacroSub1","MathJax maximum macro substitution count exceeded; is here a recursive macro call?"):new u.default("MaxMacroSub2","MathJax maximum substitution count exceeded; is there a recursive latex environment?")},t.checkEqnEnv=function(t){if(t.stack.global.eqnenv)throw new u.default("ErroneousNestingEq","Erroneous nesting of equation structures");t.stack.global.eqnenv=!0},t.copyNode=function(t,e){var r=t.copy(),n=e.configuration;return r.walkTree((function(t){var e,r;n.addNode(t.kind,t);var i=(t.getProperty("in-lists")||"").split(/,/);try{for(var s=o(i),a=s.next();!a.done;a=s.next()){var l=a.value;l&&n.addNode(l,t)}}catch(t){e={error:t}}finally{try{a&&!a.done&&(r=s.return)&&r.call(s)}finally{if(e)throw e.error}}})),r},t.MmlFilterAttribute=function(t,e,r){return r},t.getFontDef=function(t){var e=t.stack.env.font;return e?{mathvariant:e}:{}},t.keyvalOptions=function(t,e,r){var i,s;void 0===e&&(e=null),void 0===r&&(r=!1);var a=function(t){var e,r,o,i,s,a={},l=t;for(;l;)i=(e=n(_(l,["=",","]),3))[0],o=e[1],l=e[2],"="===o?(s=(r=n(_(l,[","]),3))[0],o=r[1],l=r[2],s="false"===s||"true"===s?JSON.parse(s):s,a[i]=s):i&&(a[i]=!0);return a}(t);if(e)try{for(var l=o(Object.keys(a)),c=l.next();!c.done;c=l.next()){var p=c.value;if(!e.hasOwnProperty(p)){if(r)throw new u.default("InvalidOption","Invalid option: %1",p);delete a[p]}}}catch(t){i={error:t}}finally{try{c&&!c.done&&(s=l.return)&&s.call(l)}finally{if(i)throw i.error}}return a}}(s||(s={})),e.default=s},9497:function(t,e,r){var n=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},o=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},i=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},s=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},l=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.BaseItem=e.MmlStack=void 0;var c=l(r(3971)),u=function(){function t(t){this._nodes=t}return Object.defineProperty(t.prototype,"nodes",{get:function(){return this._nodes},enumerable:!1,configurable:!0}),t.prototype.Push=function(){for(var t,e=[],r=0;r0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},s=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},a=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},s=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.TagsFactory=e.AllTags=e.NoTags=e.AbstractTags=e.TagInfo=e.Label=void 0;var a=s(r(8417)),l=function(t,e){void 0===t&&(t="???"),void 0===e&&(e=""),this.tag=t,this.id=e};e.Label=l;var c=function(t,e,r,n,o,i,s,a){void 0===t&&(t=""),void 0===e&&(e=!1),void 0===r&&(r=!1),void 0===n&&(n=null),void 0===o&&(o=""),void 0===i&&(i=""),void 0===s&&(s=!1),void 0===a&&(a=""),this.env=t,this.taggable=e,this.defaultTags=r,this.tag=n,this.tagId=o,this.tagFormat=i,this.noTag=s,this.labelId=a};e.TagInfo=c;var u=function(){function t(){this.counter=0,this.allCounter=0,this.configuration=null,this.ids={},this.allIds={},this.labels={},this.allLabels={},this.redo=!1,this.refUpdate=!1,this.currentTag=new c,this.history=[],this.stack=[],this.enTag=function(t,e){var r=this.configuration.nodeFactory,n=r.create("node","mtd",[t]),o=r.create("node","mlabeledtr",[e,n]);return r.create("node","mtable",[o],{side:this.configuration.options.tagSide,minlabelspacing:this.configuration.options.tagIndent,displaystyle:!0})}}return t.prototype.start=function(t,e,r){this.currentTag&&this.stack.push(this.currentTag),this.currentTag=new c(t,e,r)},Object.defineProperty(t.prototype,"env",{get:function(){return this.currentTag.env},enumerable:!1,configurable:!0}),t.prototype.end=function(){this.history.push(this.currentTag),this.currentTag=this.stack.pop()},t.prototype.tag=function(t,e){this.currentTag.tag=t,this.currentTag.tagFormat=e?t:this.formatTag(t),this.currentTag.noTag=!1},t.prototype.notag=function(){this.tag("",!0),this.currentTag.noTag=!0},Object.defineProperty(t.prototype,"noTag",{get:function(){return this.currentTag.noTag},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"label",{get:function(){return this.currentTag.labelId},set:function(t){this.currentTag.labelId=t},enumerable:!1,configurable:!0}),t.prototype.formatUrl=function(t,e){return e+"#"+encodeURIComponent(t)},t.prototype.formatTag=function(t){return"("+t+")"},t.prototype.formatId=function(t){return"mjx-eqn:"+t.replace(/\s/g,"_")},t.prototype.formatNumber=function(t){return t.toString()},t.prototype.autoTag=function(){null==this.currentTag.tag&&(this.counter++,this.tag(this.formatNumber(this.counter),!1))},t.prototype.clearTag=function(){this.label="",this.tag(null,!0),this.currentTag.tagId=""},t.prototype.getTag=function(t){if(void 0===t&&(t=!1),t)return this.autoTag(),this.makeTag();var e=this.currentTag;return e.taggable&&!e.noTag&&(e.defaultTags&&this.autoTag(),e.tag)?this.makeTag():null},t.prototype.resetTag=function(){this.history=[],this.redo=!1,this.refUpdate=!1,this.clearTag()},t.prototype.reset=function(t){void 0===t&&(t=0),this.resetTag(),this.counter=this.allCounter=t,this.allLabels={},this.allIds={}},t.prototype.startEquation=function(t){this.history=[],this.stack=[],this.clearTag(),this.currentTag=new c("",void 0,void 0),this.labels={},this.ids={},this.counter=this.allCounter,this.redo=!1;var e=t.inputData.recompile;e&&(this.refUpdate=!0,this.counter=e.counter)},t.prototype.finishEquation=function(t){this.redo&&(t.inputData.recompile={state:t.state(),counter:this.allCounter}),this.refUpdate||(this.allCounter=this.counter),Object.assign(this.allIds,this.ids),Object.assign(this.allLabels,this.labels)},t.prototype.finalize=function(t,e){if(!e.display||this.currentTag.env||null==this.currentTag.tag)return t;var r=this.makeTag();return this.enTag(t,r)},t.prototype.makeId=function(){this.currentTag.tagId=this.formatId(this.configuration.options.useLabelIds&&this.label||this.currentTag.tag)},t.prototype.makeTag=function(){this.makeId(),this.label&&(this.labels[this.label]=new l(this.currentTag.tag,this.currentTag.tagId));var t=new a.default("\\text{"+this.currentTag.tagFormat+"}",{},this.configuration).mml();return this.configuration.nodeFactory.create("node","mtd",[t],{id:this.currentTag.tagId})},t}();e.AbstractTags=u;var p=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.autoTag=function(){},e.prototype.getTag=function(){return this.currentTag.tag?t.prototype.getTag.call(this):null},e}(u);e.NoTags=p;var h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.finalize=function(t,e){if(!e.display||this.history.find((function(t){return t.taggable})))return t;var r=this.getTag(!0);return this.enTag(t,r)},e}(u);e.AllTags=h,function(t){var e=new Map([["none",p],["all",h]]),r="none";t.OPTIONS={tags:r,tagSide:"right",tagIndent:"0.8em",useLabelIds:!0,ignoreDuplicateLabels:!1},t.add=function(t,r){e.set(t,r)},t.addTags=function(e){var r,n;try{for(var o=i(Object.keys(e)),s=o.next();!s.done;s=o.next()){var a=s.value;t.add(a,e[a])}}catch(t){r={error:t}}finally{try{s&&!s.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}},t.create=function(t){var n=e.get(t)||e.get(r);if(!n)throw Error("Unknown tags class");return new n},t.setDefault=function(t){r=t},t.getDefault=function(){return t.create(r)}}(e.TagsFactory||(e.TagsFactory={}))},8317:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.TexConstant=void 0,function(t){t.Variant={NORMAL:"normal",BOLD:"bold",ITALIC:"italic",BOLDITALIC:"bold-italic",DOUBLESTRUCK:"double-struck",FRAKTUR:"fraktur",BOLDFRAKTUR:"bold-fraktur",SCRIPT:"script",BOLDSCRIPT:"bold-script",SANSSERIF:"sans-serif",BOLDSANSSERIF:"bold-sans-serif",SANSSERIFITALIC:"sans-serif-italic",SANSSERIFBOLDITALIC:"sans-serif-bold-italic",MONOSPACE:"monospace",INITIAL:"inital",TAILED:"tailed",LOOPED:"looped",STRETCHED:"stretched",CALLIGRAPHIC:"-tex-calligraphic",BOLDCALLIGRAPHIC:"-tex-bold-calligraphic",OLDSTYLE:"-tex-oldstyle",BOLDOLDSTYLE:"-tex-bold-oldstyle",MATHITALIC:"-tex-mathit"},t.Form={PREFIX:"prefix",INFIX:"infix",POSTFIX:"postfix"},t.LineBreak={AUTO:"auto",NEWLINE:"newline",NOBREAK:"nobreak",GOODBREAK:"goodbreak",BADBREAK:"badbreak"},t.LineBreakStyle={BEFORE:"before",AFTER:"after",DUPLICATE:"duplicate",INFIXLINBREAKSTYLE:"infixlinebreakstyle"},t.IndentAlign={LEFT:"left",CENTER:"center",RIGHT:"right",AUTO:"auto",ID:"id",INDENTALIGN:"indentalign"},t.IndentShift={INDENTSHIFT:"indentshift"},t.LineThickness={THIN:"thin",MEDIUM:"medium",THICK:"thick"},t.Notation={LONGDIV:"longdiv",ACTUARIAL:"actuarial",PHASORANGLE:"phasorangle",RADICAL:"radical",BOX:"box",ROUNDEDBOX:"roundedbox",CIRCLE:"circle",LEFT:"left",RIGHT:"right",TOP:"top",BOTTOM:"bottom",UPDIAGONALSTRIKE:"updiagonalstrike",DOWNDIAGONALSTRIKE:"downdiagonalstrike",VERTICALSTRIKE:"verticalstrike",HORIZONTALSTRIKE:"horizontalstrike",NORTHEASTARROW:"northeastarrow",MADRUWB:"madruwb",UPDIAGONALARROW:"updiagonalarrow"},t.Align={TOP:"top",BOTTOM:"bottom",CENTER:"center",BASELINE:"baseline",AXIS:"axis",LEFT:"left",RIGHT:"right"},t.Lines={NONE:"none",SOLID:"solid",DASHED:"dashed"},t.Side={LEFT:"left",RIGHT:"right",LEFTOVERLAP:"leftoverlap",RIGHTOVERLAP:"rightoverlap"},t.Width={AUTO:"auto",FIT:"fit"},t.Actiontype={TOGGLE:"toggle",STATUSLINE:"statusline",TOOLTIP:"tooltip",INPUT:"input"},t.Overflow={LINBREAK:"linebreak",SCROLL:"scroll",ELIDE:"elide",TRUNCATE:"truncate",SCALE:"scale"},t.Unit={EM:"em",EX:"ex",PX:"px",IN:"in",CM:"cm",MM:"mm",PT:"pt",PC:"pc"}}(e.TexConstant||(e.TexConstant={}))},3971:function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(e,r){for(var n=[],o=2;o="0"&&s<="9")n[o]=r[parseInt(n[o],10)-1],"number"==typeof n[o]&&(n[o]=n[o].toString());else if("{"===s){if((s=n[o].substr(1))>="0"&&s<="9")n[o]=r[parseInt(n[o].substr(1,n[o].length-2),10)-1],"number"==typeof n[o]&&(n[o]=n[o].toString());else n[o].match(/^\{([a-z]+):%(\d+)\|(.*)\}$/)&&(n[o]="%"+n[o])}null==n[o]&&(n[o]="???")}return n.join("")},t.pattern=/%(\d+|\{\d+\}|\{[a-z]+:\%\d+(?:\|(?:%\{\d+\}|%.|[^\}])*)+\}|.)/g,t}();e.default=r},8417:function(t,e,r){var n=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},o=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},i=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;oe)throw new u.default("XalignOverflow","Extra %1 in row of %2","&",this.name)},e.prototype.EndRow=function(){for(var e,r=this.row,n=this.getProperty("xalignat");r.lengththis.maxrow&&(this.maxrow=this.row.length),t.prototype.EndRow.call(this);var o=this.table[this.table.length-1];if(this.getProperty("zeroWidthLabel")&&o.isKind("mlabeledtr")){var s=c.default.getChildren(o)[0],a=this.factory.configuration.options.tagSide,l=i({width:0},"right"===a?{lspace:"-1width"}:{}),u=this.create("node","mpadded",c.default.getChildren(s),l);s.setChildren([u])}},e.prototype.EndTable=function(){(t.prototype.EndTable.call(this),this.center)&&(this.maxrow<=2&&(delete this.arraydef.width,delete this.global.indentalign))},e}(a.EqnArrayItem);e.FlalignItem=f},7379:function(t,e,r){var n=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),i=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&n(e,t,r);return o(e,t),e},s=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var a=r(4387),l=i(r(9140)),c=r(8317),u=s(r(5450)),p=s(r(1130)),h=r(9007),f=r(6010);new l.CharacterMap("AMSmath-mathchar0mo",u.default.mathchar0mo,{iiiint:["\u2a0c",{texClass:h.TEXCLASS.OP}]}),new l.RegExpMap("AMSmath-operatorLetter",a.AmsMethods.operatorLetter,/[-*]/i),new l.CommandMap("AMSmath-macros",{mathring:["Accent","02DA"],nobreakspace:"Tilde",negmedspace:["Spacer",f.MATHSPACE.negativemediummathspace],negthickspace:["Spacer",f.MATHSPACE.negativethickmathspace],idotsint:["MultiIntegral","\\int\\cdots\\int"],dddot:["Accent","20DB"],ddddot:["Accent","20DC"],sideset:"SideSet",boxed:["Macro","\\fbox{$\\displaystyle{#1}$}",1],tag:"HandleTag",notag:"HandleNoTag",eqref:["HandleRef",!0],substack:["Macro","\\begin{subarray}{c}#1\\end{subarray}",1],injlim:["NamedOp","inj lim"],projlim:["NamedOp","proj lim"],varliminf:["Macro","\\mathop{\\underline{\\mmlToken{mi}{lim}}}"],varlimsup:["Macro","\\mathop{\\overline{\\mmlToken{mi}{lim}}}"],varinjlim:["Macro","\\mathop{\\underrightarrow{\\mmlToken{mi}{lim}}}"],varprojlim:["Macro","\\mathop{\\underleftarrow{\\mmlToken{mi}{lim}}}"],DeclareMathOperator:"HandleDeclareOp",operatorname:"HandleOperatorName",genfrac:"Genfrac",frac:["Genfrac","","","",""],tfrac:["Genfrac","","","","1"],dfrac:["Genfrac","","","","0"],binom:["Genfrac","(",")","0",""],tbinom:["Genfrac","(",")","0","1"],dbinom:["Genfrac","(",")","0","0"],cfrac:"CFrac",shoveleft:["HandleShove",c.TexConstant.Align.LEFT],shoveright:["HandleShove",c.TexConstant.Align.RIGHT],xrightarrow:["xArrow",8594,5,10],xleftarrow:["xArrow",8592,10,5]},a.AmsMethods),new l.EnvironmentMap("AMSmath-environment",u.default.environment,{"equation*":["Equation",null,!1],"eqnarray*":["EqnArray",null,!1,!0,"rcl",p.default.cols(0,f.MATHSPACE.thickmathspace),".5em"],align:["EqnArray",null,!0,!0,"rl",p.default.cols(0,2)],"align*":["EqnArray",null,!1,!0,"rl",p.default.cols(0,2)],multline:["Multline",null,!0],"multline*":["Multline",null,!1],split:["EqnArray",null,!1,!1,"rl",p.default.cols(0)],gather:["EqnArray",null,!0,!0,"c"],"gather*":["EqnArray",null,!1,!0,"c"],alignat:["AlignAt",null,!0,!0],"alignat*":["AlignAt",null,!1,!0],alignedat:["AlignAt",null,!1,!1],aligned:["AmsEqnArray",null,null,null,"rl",p.default.cols(0,2),".5em","D"],gathered:["AmsEqnArray",null,null,null,"c",null,".5em","D"],xalignat:["XalignAt",null,!0,!0],"xalignat*":["XalignAt",null,!1,!0],xxalignat:["XalignAt",null,!1,!1],flalign:["FlalignArray",null,!0,!1,!0,"rlc","auto auto fit"],"flalign*":["FlalignArray",null,!1,!1,!0,"rlc","auto auto fit"],subarray:["Array",null,null,null,null,p.default.cols(0),"0.1em","S",1],smallmatrix:["Array",null,null,null,"c",p.default.cols(1/3),".2em","S",1],matrix:["Array",null,null,null,"c"],pmatrix:["Array",null,"(",")","c"],bmatrix:["Array",null,"[","]","c"],Bmatrix:["Array",null,"\\{","\\}","c"],vmatrix:["Array",null,"\\vert","\\vert","c"],Vmatrix:["Array",null,"\\Vert","\\Vert","c"],cases:["Array",null,"\\{",".","ll",null,".2em","T"]},a.AmsMethods),new l.DelimiterMap("AMSmath-delimiter",u.default.delimiter,{"\\lvert":["|",{texClass:h.TEXCLASS.OPEN}],"\\rvert":["|",{texClass:h.TEXCLASS.CLOSE}],"\\lVert":["\u2016",{texClass:h.TEXCLASS.OPEN}],"\\rVert":["\u2016",{texClass:h.TEXCLASS.CLOSE}]}),new l.CharacterMap("AMSsymbols-mathchar0mi",u.default.mathchar0mi,{digamma:"\u03dd",varkappa:"\u03f0",varGamma:["\u0393",{mathvariant:c.TexConstant.Variant.ITALIC}],varDelta:["\u0394",{mathvariant:c.TexConstant.Variant.ITALIC}],varTheta:["\u0398",{mathvariant:c.TexConstant.Variant.ITALIC}],varLambda:["\u039b",{mathvariant:c.TexConstant.Variant.ITALIC}],varXi:["\u039e",{mathvariant:c.TexConstant.Variant.ITALIC}],varPi:["\u03a0",{mathvariant:c.TexConstant.Variant.ITALIC}],varSigma:["\u03a3",{mathvariant:c.TexConstant.Variant.ITALIC}],varUpsilon:["\u03a5",{mathvariant:c.TexConstant.Variant.ITALIC}],varPhi:["\u03a6",{mathvariant:c.TexConstant.Variant.ITALIC}],varPsi:["\u03a8",{mathvariant:c.TexConstant.Variant.ITALIC}],varOmega:["\u03a9",{mathvariant:c.TexConstant.Variant.ITALIC}],beth:"\u2136",gimel:"\u2137",daleth:"\u2138",backprime:["\u2035",{variantForm:!0}],hslash:"\u210f",varnothing:["\u2205",{variantForm:!0}],blacktriangle:"\u25b4",triangledown:["\u25bd",{variantForm:!0}],blacktriangledown:"\u25be",square:"\u25fb",Box:"\u25fb",blacksquare:"\u25fc",lozenge:"\u25ca",Diamond:"\u25ca",blacklozenge:"\u29eb",circledS:["\u24c8",{mathvariant:c.TexConstant.Variant.NORMAL}],bigstar:"\u2605",sphericalangle:"\u2222",measuredangle:"\u2221",nexists:"\u2204",complement:"\u2201",mho:"\u2127",eth:["\xf0",{mathvariant:c.TexConstant.Variant.NORMAL}],Finv:"\u2132",diagup:"\u2571",Game:"\u2141",diagdown:"\u2572",Bbbk:["k",{mathvariant:c.TexConstant.Variant.DOUBLESTRUCK}],yen:"\xa5",circledR:"\xae",checkmark:"\u2713",maltese:"\u2720"}),new l.CharacterMap("AMSsymbols-mathchar0mo",u.default.mathchar0mo,{dotplus:"\u2214",ltimes:"\u22c9",smallsetminus:["\u2216",{variantForm:!0}],rtimes:"\u22ca",Cap:"\u22d2",doublecap:"\u22d2",leftthreetimes:"\u22cb",Cup:"\u22d3",doublecup:"\u22d3",rightthreetimes:"\u22cc",barwedge:"\u22bc",curlywedge:"\u22cf",veebar:"\u22bb",curlyvee:"\u22ce",doublebarwedge:"\u2a5e",boxminus:"\u229f",circleddash:"\u229d",boxtimes:"\u22a0",circledast:"\u229b",boxdot:"\u22a1",circledcirc:"\u229a",boxplus:"\u229e",centerdot:["\u22c5",{variantForm:!0}],divideontimes:"\u22c7",intercal:"\u22ba",leqq:"\u2266",geqq:"\u2267",leqslant:"\u2a7d",geqslant:"\u2a7e",eqslantless:"\u2a95",eqslantgtr:"\u2a96",lesssim:"\u2272",gtrsim:"\u2273",lessapprox:"\u2a85",gtrapprox:"\u2a86",approxeq:"\u224a",lessdot:"\u22d6",gtrdot:"\u22d7",lll:"\u22d8",llless:"\u22d8",ggg:"\u22d9",gggtr:"\u22d9",lessgtr:"\u2276",gtrless:"\u2277",lesseqgtr:"\u22da",gtreqless:"\u22db",lesseqqgtr:"\u2a8b",gtreqqless:"\u2a8c",doteqdot:"\u2251",Doteq:"\u2251",eqcirc:"\u2256",risingdotseq:"\u2253",circeq:"\u2257",fallingdotseq:"\u2252",triangleq:"\u225c",backsim:"\u223d",thicksim:["\u223c",{variantForm:!0}],backsimeq:"\u22cd",thickapprox:["\u2248",{variantForm:!0}],subseteqq:"\u2ac5",supseteqq:"\u2ac6",Subset:"\u22d0",Supset:"\u22d1",sqsubset:"\u228f",sqsupset:"\u2290",preccurlyeq:"\u227c",succcurlyeq:"\u227d",curlyeqprec:"\u22de",curlyeqsucc:"\u22df",precsim:"\u227e",succsim:"\u227f",precapprox:"\u2ab7",succapprox:"\u2ab8",vartriangleleft:"\u22b2",lhd:"\u22b2",vartriangleright:"\u22b3",rhd:"\u22b3",trianglelefteq:"\u22b4",unlhd:"\u22b4",trianglerighteq:"\u22b5",unrhd:"\u22b5",vDash:["\u22a8",{variantForm:!0}],Vdash:"\u22a9",Vvdash:"\u22aa",smallsmile:["\u2323",{variantForm:!0}],shortmid:["\u2223",{variantForm:!0}],smallfrown:["\u2322",{variantForm:!0}],shortparallel:["\u2225",{variantForm:!0}],bumpeq:"\u224f",between:"\u226c",Bumpeq:"\u224e",pitchfork:"\u22d4",varpropto:["\u221d",{variantForm:!0}],backepsilon:"\u220d",blacktriangleleft:"\u25c2",blacktriangleright:"\u25b8",therefore:"\u2234",because:"\u2235",eqsim:"\u2242",vartriangle:["\u25b3",{variantForm:!0}],Join:"\u22c8",nless:"\u226e",ngtr:"\u226f",nleq:"\u2270",ngeq:"\u2271",nleqslant:["\u2a87",{variantForm:!0}],ngeqslant:["\u2a88",{variantForm:!0}],nleqq:["\u2270",{variantForm:!0}],ngeqq:["\u2271",{variantForm:!0}],lneq:"\u2a87",gneq:"\u2a88",lneqq:"\u2268",gneqq:"\u2269",lvertneqq:["\u2268",{variantForm:!0}],gvertneqq:["\u2269",{variantForm:!0}],lnsim:"\u22e6",gnsim:"\u22e7",lnapprox:"\u2a89",gnapprox:"\u2a8a",nprec:"\u2280",nsucc:"\u2281",npreceq:["\u22e0",{variantForm:!0}],nsucceq:["\u22e1",{variantForm:!0}],precneqq:"\u2ab5",succneqq:"\u2ab6",precnsim:"\u22e8",succnsim:"\u22e9",precnapprox:"\u2ab9",succnapprox:"\u2aba",nsim:"\u2241",ncong:"\u2247",nshortmid:["\u2224",{variantForm:!0}],nshortparallel:["\u2226",{variantForm:!0}],nmid:"\u2224",nparallel:"\u2226",nvdash:"\u22ac",nvDash:"\u22ad",nVdash:"\u22ae",nVDash:"\u22af",ntriangleleft:"\u22ea",ntriangleright:"\u22eb",ntrianglelefteq:"\u22ec",ntrianglerighteq:"\u22ed",nsubseteq:"\u2288",nsupseteq:"\u2289",nsubseteqq:["\u2288",{variantForm:!0}],nsupseteqq:["\u2289",{variantForm:!0}],subsetneq:"\u228a",supsetneq:"\u228b",varsubsetneq:["\u228a",{variantForm:!0}],varsupsetneq:["\u228b",{variantForm:!0}],subsetneqq:"\u2acb",supsetneqq:"\u2acc",varsubsetneqq:["\u2acb",{variantForm:!0}],varsupsetneqq:["\u2acc",{variantForm:!0}],leftleftarrows:"\u21c7",rightrightarrows:"\u21c9",leftrightarrows:"\u21c6",rightleftarrows:"\u21c4",Lleftarrow:"\u21da",Rrightarrow:"\u21db",twoheadleftarrow:"\u219e",twoheadrightarrow:"\u21a0",leftarrowtail:"\u21a2",rightarrowtail:"\u21a3",looparrowleft:"\u21ab",looparrowright:"\u21ac",leftrightharpoons:"\u21cb",rightleftharpoons:["\u21cc",{variantForm:!0}],curvearrowleft:"\u21b6",curvearrowright:"\u21b7",circlearrowleft:"\u21ba",circlearrowright:"\u21bb",Lsh:"\u21b0",Rsh:"\u21b1",upuparrows:"\u21c8",downdownarrows:"\u21ca",upharpoonleft:"\u21bf",upharpoonright:"\u21be",downharpoonleft:"\u21c3",restriction:"\u21be",multimap:"\u22b8",downharpoonright:"\u21c2",leftrightsquigarrow:"\u21ad",rightsquigarrow:"\u21dd",leadsto:"\u21dd",dashrightarrow:"\u21e2",dashleftarrow:"\u21e0",nleftarrow:"\u219a",nrightarrow:"\u219b",nLeftarrow:"\u21cd",nRightarrow:"\u21cf",nleftrightarrow:"\u21ae",nLeftrightarrow:"\u21ce"}),new l.DelimiterMap("AMSsymbols-delimiter",u.default.delimiter,{"\\ulcorner":"\u231c","\\urcorner":"\u231d","\\llcorner":"\u231e","\\lrcorner":"\u231f"}),new l.CommandMap("AMSsymbols-macros",{implies:["Macro","\\;\\Longrightarrow\\;"],impliedby:["Macro","\\;\\Longleftarrow\\;"]},a.AmsMethods)},4387:function(t,e,r){var n=this&&this.__assign||function(){return n=Object.assign||function(t){for(var e,r=1,n=arguments.length;r0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.NEW_OPS=e.AmsMethods=void 0;var s=i(r(1130)),a=i(r(5450)),l=i(r(1256)),c=r(8317),u=i(r(8417)),p=i(r(3971)),h=r(8803),f=i(r(7693)),d=r(9007);function m(t){if(!t||t.isInferred&&0===t.childNodes.length)return[null,null];if(t.isKind("msubsup")&&y(t))return[t,null];var e=l.default.getChildAt(t,0);return t.isInferred&&e&&y(e)?(t.childNodes.splice(0,1),[e,t]):[null,t]}function y(t){var e=t.childNodes[0];return e&&e.isKind("mi")&&""===e.getText()}e.AmsMethods={},e.AmsMethods.AmsEqnArray=function(t,e,r,n,o,i,a){var l=t.GetBrackets("\\begin{"+e.getName()+"}"),c=f.default.EqnArray(t,e,r,n,o,i,a);return s.default.setArrayAlign(c,l)},e.AmsMethods.AlignAt=function(t,r,n,o){var i,a,l=r.getName(),c="",u=[];if(o||(a=t.GetBrackets("\\begin{"+l+"}")),(i=t.GetArgument("\\begin{"+l+"}")).match(/[^0-9]/))throw new p.default("PositiveIntegerArg","Argument to %1 must me a positive integer","\\begin{"+l+"}");for(var h=parseInt(i,10);h>0;)c+="rl",u.push("0em 0em"),h--;var f=u.join(" ");if(o)return e.AmsMethods.EqnArray(t,r,n,o,c,f);var d=e.AmsMethods.EqnArray(t,r,n,o,c,f);return s.default.setArrayAlign(d,a)},e.AmsMethods.Multline=function(t,e,r){t.Push(e),s.default.checkEqnEnv(t);var n=t.itemFactory.create("multline",r,t.stack);return n.arraydef={displaystyle:!0,rowspacing:".5em",columnspacing:"100%",width:t.options.ams.multlineWidth,side:t.options.tagSide,minlabelspacing:t.options.tagIndent,framespacing:t.options.ams.multlineIndent+" 0",frame:"","data-width-includes-label":!0},n},e.AmsMethods.XalignAt=function(t,r,n,o){var i=t.GetArgument("\\begin{"+r.getName()+"}");if(i.match(/[^0-9]/))throw new p.default("PositiveIntegerArg","Argument to %1 must me a positive integer","\\begin{"+r.getName()+"}");var s=o?"crl":"rlc",a=o?"fit auto auto":"auto auto fit",l=e.AmsMethods.FlalignArray(t,r,n,o,!1,s,a,!0);return l.setProperty("xalignat",2*parseInt(i)),l},e.AmsMethods.FlalignArray=function(t,e,r,n,o,i,a,l){void 0===l&&(l=!1),t.Push(e),s.default.checkEqnEnv(t),i=i.split("").join(" ").replace(/r/g,"right").replace(/l/g,"left").replace(/c/g,"center");var c=t.itemFactory.create("flalign",e.getName(),r,n,o,t.stack);return c.arraydef={width:"100%",displaystyle:!0,columnalign:i,columnspacing:"0em",columnwidth:a,rowspacing:"3pt",side:t.options.tagSide,minlabelspacing:l?"0":t.options.tagIndent,"data-width-includes-label":!0},c.setProperty("zeroWidthLabel",l),c},e.NEW_OPS="ams-declare-ops",e.AmsMethods.HandleDeclareOp=function(t,r){var n=t.GetStar()?"*":"",o=s.default.trimSpaces(t.GetArgument(r));"\\"===o.charAt(0)&&(o=o.substr(1));var i=t.GetArgument(r);t.configuration.handlers.retrieve(e.NEW_OPS).add(o,new h.Macro(o,e.AmsMethods.Macro,["\\operatorname".concat(n,"{").concat(i,"}")]))},e.AmsMethods.HandleOperatorName=function(t,e){var r=t.GetStar(),o=s.default.trimSpaces(t.GetArgument(e)),i=new u.default(o,n(n({},t.stack.env),{font:c.TexConstant.Variant.NORMAL,multiLetterIdentifiers:/^[-*a-z]+/i,operatorLetters:!0}),t.configuration).mml();if(i.isKind("mi")||(i=t.create("node","TeXAtom",[i])),l.default.setProperties(i,{movesupsub:r,movablelimits:!0,texClass:d.TEXCLASS.OP}),!r){var a=t.GetNext(),p=t.i;"\\"===a&&++t.i&&"limits"!==t.GetCS()&&(t.i=p)}t.Push(i)},e.AmsMethods.SideSet=function(t,e){var r=o(m(t.ParseArg(e)),2),n=r[0],i=r[1],a=o(m(t.ParseArg(e)),2),c=a[0],u=a[1],p=t.ParseArg(e),h=p;n&&(i?n.replaceChild(t.create("node","mphantom",[t.create("node","mpadded",[s.default.copyNode(p,t)],{width:0})]),l.default.getChildAt(n,0)):(h=t.create("node","mmultiscripts",[p]),c&&l.default.appendChildren(h,[l.default.getChildAt(c,1)||t.create("node","none"),l.default.getChildAt(c,2)||t.create("node","none")]),l.default.setProperty(h,"scriptalign","left"),l.default.appendChildren(h,[t.create("node","mprescripts"),l.default.getChildAt(n,1)||t.create("node","none"),l.default.getChildAt(n,2)||t.create("node","none")]))),c&&h===p&&(c.replaceChild(p,l.default.getChildAt(c,0)),h=c);var f=t.create("node","TeXAtom",[],{texClass:d.TEXCLASS.OP,movesupsub:!0,movablelimits:!0});i&&(n&&f.appendChild(n),f.appendChild(i)),f.appendChild(h),u&&f.appendChild(u),t.Push(f)},e.AmsMethods.operatorLetter=function(t,e){return!!t.stack.env.operatorLetters&&a.default.variable(t,e)},e.AmsMethods.MultiIntegral=function(t,e,r){var n=t.GetNext();if("\\"===n){var o=t.i;n=t.GetArgument(e),t.i=o,"\\limits"===n&&(r="\\idotsint"===e?"\\!\\!\\mathop{\\,\\,"+r+"}":"\\!\\!\\!\\mathop{\\,\\,\\,"+r+"}")}t.string=r+" "+t.string.slice(t.i),t.i=0},e.AmsMethods.xArrow=function(t,e,r,n,o){var i={width:"+"+s.default.Em((n+o)/18),lspace:s.default.Em(n/18)},a=t.GetBrackets(e),c=t.ParseArg(e),p=t.create("node","mspace",[],{depth:".25em"}),h=t.create("token","mo",{stretchy:!0,texClass:d.TEXCLASS.REL},String.fromCodePoint(r));h=t.create("node","mstyle",[h],{scriptlevel:0});var f=t.create("node","munderover",[h]),m=t.create("node","mpadded",[c,p],i);if(l.default.setAttribute(m,"voffset","-.2em"),l.default.setAttribute(m,"height","-.2em"),l.default.setChild(f,f.over,m),a){var y=new u.default(a,t.stack.env,t.configuration).mml(),g=t.create("node","mspace",[],{height:".75em"});m=t.create("node","mpadded",[y,g],i),l.default.setAttribute(m,"voffset",".15em"),l.default.setAttribute(m,"depth","-.15em"),l.default.setChild(f,f.under,m)}l.default.setProperty(f,"subsupOK",!0),t.Push(f)},e.AmsMethods.HandleShove=function(t,e,r){var n=t.stack.Top();if("multline"!==n.kind)throw new p.default("CommandOnlyAllowedInEnv","%1 only allowed in %2 environment",t.currentCS,"multline");if(n.Size())throw new p.default("CommandAtTheBeginingOfLine","%1 must come at the beginning of the line",t.currentCS);n.setProperty("shove",r)},e.AmsMethods.CFrac=function(t,e){var r=s.default.trimSpaces(t.GetBrackets(e,"")),n=t.GetArgument(e),o=t.GetArgument(e),i={l:c.TexConstant.Align.LEFT,r:c.TexConstant.Align.RIGHT,"":""},a=new u.default("\\strut\\textstyle{"+n+"}",t.stack.env,t.configuration).mml(),h=new u.default("\\strut\\textstyle{"+o+"}",t.stack.env,t.configuration).mml(),f=t.create("node","mfrac",[a,h]);if(null==(r=i[r]))throw new p.default("IllegalAlign","Illegal alignment specified in %1",t.currentCS);r&&l.default.setProperties(f,{numalign:r,denomalign:r}),t.Push(f)},e.AmsMethods.Genfrac=function(t,e,r,n,o,i){null==r&&(r=t.GetDelimiterArg(e)),null==n&&(n=t.GetDelimiterArg(e)),null==o&&(o=t.GetArgument(e)),null==i&&(i=s.default.trimSpaces(t.GetArgument(e)));var a=t.ParseArg(e),c=t.ParseArg(e),u=t.create("node","mfrac",[a,c]);if(""!==o&&l.default.setAttribute(u,"linethickness",o),(r||n)&&(l.default.setProperty(u,"withDelims",!0),u=s.default.fixedFence(t.configuration,r,u,n)),""!==i){var h=parseInt(i,10),f=["D","T","S","SS"][h];if(null==f)throw new p.default("BadMathStyleFor","Bad math style for %1",t.currentCS);u=t.create("node","mstyle",[u]),"D"===f?l.default.setProperties(u,{displaystyle:!0,scriptlevel:0}):l.default.setProperties(u,{displaystyle:!1,scriptlevel:h-1})}t.Push(u)},e.AmsMethods.HandleTag=function(t,e){if(!t.tags.currentTag.taggable&&t.tags.env)throw new p.default("CommandNotAllowedInEnv","%1 not allowed in %2 environment",t.currentCS,t.tags.env);if(t.tags.currentTag.tag)throw new p.default("MultipleCommand","Multiple %1",t.currentCS);var r=t.GetStar(),n=s.default.trimSpaces(t.GetArgument(e));t.tags.tag(n,r)},e.AmsMethods.HandleNoTag=f.default.HandleNoTag,e.AmsMethods.HandleRef=f.default.HandleRef,e.AmsMethods.Macro=f.default.Macro,e.AmsMethods.Accent=f.default.Accent,e.AmsMethods.Tilde=f.default.Tilde,e.AmsMethods.Array=f.default.Array,e.AmsMethods.Spacer=f.default.Spacer,e.AmsMethods.NamedOp=f.default.NamedOp,e.AmsMethods.EqnArray=f.default.EqnArray,e.AmsMethods.Equation=f.default.Equation},1275:function(t,e,r){var n=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},o=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.AutoloadConfiguration=void 0;var i=r(9899),s=r(9140),a=r(8803),l=r(7741),c=r(265),u=r(7233);function p(t,e,r,i){var s,a,u,p;if(c.Package.packages.has(t.options.require.prefix+r)){var d=t.options.autoload[r],m=n(2===d.length&&Array.isArray(d[0])?d:[d,[]],2),y=m[0],g=m[1];try{for(var b=o(y),v=b.next();!v.done;v=b.next()){var _=v.value;h.remove(_)}}catch(t){s={error:t}}finally{try{v&&!v.done&&(a=b.return)&&a.call(b)}finally{if(s)throw s.error}}try{for(var S=o(g),M=S.next();!M.done;M=S.next()){var O=M.value;f.remove(O)}}catch(t){u={error:t}}finally{try{M&&!M.done&&(p=S.return)&&p.call(S)}finally{if(u)throw u.error}}t.string=(i?e+" ":"\\begin{"+e.slice(1)+"}")+t.string.slice(t.i),t.i=0}(0,l.RequireLoad)(t,r)}var h=new s.CommandMap("autoload-macros",{},{}),f=new s.CommandMap("autoload-environments",{},{});e.AutoloadConfiguration=i.Configuration.create("autoload",{handler:{macro:["autoload-macros"],environment:["autoload-environments"]},options:{autoload:(0,u.expandable)({action:["toggle","mathtip","texttip"],amscd:[[],["CD"]],bbox:["bbox"],boldsymbol:["boldsymbol"],braket:["bra","ket","braket","set","Bra","Ket","Braket","Set","ketbra","Ketbra"],bussproofs:[[],["prooftree"]],cancel:["cancel","bcancel","xcancel","cancelto"],color:["color","definecolor","textcolor","colorbox","fcolorbox"],enclose:["enclose"],extpfeil:["xtwoheadrightarrow","xtwoheadleftarrow","xmapsto","xlongequal","xtofrom","Newextarrow"],html:["href","class","style","cssId"],mhchem:["ce","pu"],newcommand:["newcommand","renewcommand","newenvironment","renewenvironment","def","let"],unicode:["unicode"],verb:["verb"]})},config:function(t,e){var r,i,s,c,u,d,m=e.parseOptions,y=m.handlers.get("macro"),g=m.handlers.get("environment"),b=m.options.autoload;m.packageData.set("autoload",{Autoload:p});try{for(var v=o(Object.keys(b)),_=v.next();!_.done;_=v.next()){var S=_.value,M=b[S],O=n(2===M.length&&Array.isArray(M[0])?M:[M,[]],2),x=O[0],E=O[1];try{for(var A=(s=void 0,o(x)),C=A.next();!C.done;C=A.next()){var T=C.value;y.lookup(T)&&"color"!==T||h.add(T,new a.Macro(T,p,[S,!0]))}}catch(t){s={error:t}}finally{try{C&&!C.done&&(c=A.return)&&c.call(A)}finally{if(s)throw s.error}}try{for(var N=(u=void 0,o(E)),w=N.next();!w.done;w=N.next()){var L=w.value;g.lookup(L)||f.add(L,new a.Macro(L,p,[S,!1]))}}catch(t){u={error:t}}finally{try{w&&!w.done&&(d=N.return)&&d.call(N)}finally{if(u)throw u.error}}}}catch(t){r={error:t}}finally{try{_&&!_.done&&(i=v.return)&&i.call(v)}finally{if(r)throw r.error}}m.packageData.get("require")||l.RequireConfiguration.config(t,e)},init:function(t){t.options.require||(0,u.defaultOptions)(t.options,l.RequireConfiguration.options)},priority:10})},2942:function(t,e,r){var n,o,i=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),s=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),a=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),l=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&s(e,t,r);return a(e,t),e},c=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},u=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.BaseConfiguration=e.BaseTags=e.Other=void 0;var p=r(9899),h=r(2947),f=u(r(3971)),d=u(r(1256)),m=r(9140),y=l(r(1181)),g=r(6521);r(1267);var b=r(4082);function v(t,e){var r=t.stack.env.font?{mathvariant:t.stack.env.font}:{},n=h.MapHandler.getMap("remap").lookup(e),o=(0,b.getRange)(e),i=o?o[3]:"mo",s=t.create("token",i,r,n?n.char:e);o[4]&&s.attributes.set("mathvariant",o[4]),"mo"===i&&(d.default.setProperty(s,"fixStretchy",!0),t.configuration.addNode("fixStretchy",s)),t.Push(s)}new m.CharacterMap("remap",null,{"-":"\u2212","*":"\u2217","`":"\u2018"}),e.Other=v;var _=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e}(g.AbstractTags);e.BaseTags=_,e.BaseConfiguration=p.Configuration.create("base",{handler:{character:["command","special","letter","digit"],delimiter:["delimiter"],macro:["delimiter","macros","mathchar0mi","mathchar0mo","mathchar7"],environment:["environment"]},fallback:{character:v,macro:function(t,e){throw new f.default("UndefinedControlSequence","Undefined control sequence %1","\\"+e)},environment:function(t,e){throw new f.default("UnknownEnv","Unknown environment '%1'",e)}},items:(o={},o[y.StartItem.prototype.kind]=y.StartItem,o[y.StopItem.prototype.kind]=y.StopItem,o[y.OpenItem.prototype.kind]=y.OpenItem,o[y.CloseItem.prototype.kind]=y.CloseItem,o[y.PrimeItem.prototype.kind]=y.PrimeItem,o[y.SubsupItem.prototype.kind]=y.SubsupItem,o[y.OverItem.prototype.kind]=y.OverItem,o[y.LeftItem.prototype.kind]=y.LeftItem,o[y.Middle.prototype.kind]=y.Middle,o[y.RightItem.prototype.kind]=y.RightItem,o[y.BeginItem.prototype.kind]=y.BeginItem,o[y.EndItem.prototype.kind]=y.EndItem,o[y.StyleItem.prototype.kind]=y.StyleItem,o[y.PositionItem.prototype.kind]=y.PositionItem,o[y.CellItem.prototype.kind]=y.CellItem,o[y.MmlItem.prototype.kind]=y.MmlItem,o[y.FnItem.prototype.kind]=y.FnItem,o[y.NotItem.prototype.kind]=y.NotItem,o[y.NonscriptItem.prototype.kind]=y.NonscriptItem,o[y.DotsItem.prototype.kind]=y.DotsItem,o[y.ArrayItem.prototype.kind]=y.ArrayItem,o[y.EqnArrayItem.prototype.kind]=y.EqnArrayItem,o[y.EquationItem.prototype.kind]=y.EquationItem,o),options:{maxMacros:1e3,baseURL:"undefined"==typeof document||0===document.getElementsByTagName("base").length?"":String(document.location).replace(/#.*$/,"")},tags:{base:_},postprocessors:[[function(t){var e,r,n=t.data;try{for(var o=c(n.getList("nonscript")),i=o.next();!i.done;i=o.next()){var s=i.value;if(s.attributes.get("scriptlevel")>0){var a=s.parent;if(a.childNodes.splice(a.childIndex(s),1),n.removeFromList(s.kind,[s]),s.isKind("mrow")){var l=s.childNodes[0];n.removeFromList("mstyle",[l]),n.removeFromList("mspace",l.childNodes[0].childNodes)}}else s.isKind("mrow")&&(s.parent.replaceChild(s.childNodes[0],s),n.removeFromList("mrow",[s]))}}catch(t){e={error:t}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(e)throw e.error}}},-4]]})},1181:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},s=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;othis.maxrow&&(this.maxrow=this.row.length);var t="mtr",e=this.factory.configuration.tags.getTag();e&&(this.row=[e].concat(this.row),t="mlabeledtr"),this.factory.configuration.tags.clearTag();var r=this.create("node",t,this.row);this.table.push(r),this.row=[]},e.prototype.EndTable=function(){t.prototype.EndTable.call(this),this.factory.configuration.tags.end(),this.extendArray("columnalign",this.maxrow),this.extendArray("columnwidth",this.maxrow),this.extendArray("columnspacing",this.maxrow-1)},e.prototype.extendArray=function(t,e){if(this.arraydef[t]){var r=this.arraydef[t].split(/ /),n=s([],i(r),!1);if(n.length>1){for(;n.length",succ:"\u227b",prec:"\u227a",approx:"\u2248",succeq:"\u2ab0",preceq:"\u2aaf",supset:"\u2283",subset:"\u2282",supseteq:"\u2287",subseteq:"\u2286",in:"\u2208",ni:"\u220b",notin:"\u2209",owns:"\u220b",gg:"\u226b",ll:"\u226a",sim:"\u223c",simeq:"\u2243",perp:"\u22a5",equiv:"\u2261",asymp:"\u224d",smile:"\u2323",frown:"\u2322",ne:"\u2260",neq:"\u2260",cong:"\u2245",doteq:"\u2250",bowtie:"\u22c8",models:"\u22a8",notChar:"\u29f8",Leftrightarrow:"\u21d4",Leftarrow:"\u21d0",Rightarrow:"\u21d2",leftrightarrow:"\u2194",leftarrow:"\u2190",gets:"\u2190",rightarrow:"\u2192",to:["\u2192",{accent:!1}],mapsto:"\u21a6",leftharpoonup:"\u21bc",leftharpoondown:"\u21bd",rightharpoonup:"\u21c0",rightharpoondown:"\u21c1",nearrow:"\u2197",searrow:"\u2198",nwarrow:"\u2196",swarrow:"\u2199",rightleftharpoons:"\u21cc",hookrightarrow:"\u21aa",hookleftarrow:"\u21a9",longleftarrow:"\u27f5",Longleftarrow:"\u27f8",longrightarrow:"\u27f6",Longrightarrow:"\u27f9",Longleftrightarrow:"\u27fa",longleftrightarrow:"\u27f7",longmapsto:"\u27fc",ldots:"\u2026",cdots:"\u22ef",vdots:"\u22ee",ddots:"\u22f1",dotsc:"\u2026",dotsb:"\u22ef",dotsm:"\u22ef",dotsi:"\u22ef",dotso:"\u2026",ldotp:[".",{texClass:h.TEXCLASS.PUNCT}],cdotp:["\u22c5",{texClass:h.TEXCLASS.PUNCT}],colon:[":",{texClass:h.TEXCLASS.PUNCT}]}),new a.CharacterMap("mathchar7",u.default.mathchar7,{Gamma:"\u0393",Delta:"\u0394",Theta:"\u0398",Lambda:"\u039b",Xi:"\u039e",Pi:"\u03a0",Sigma:"\u03a3",Upsilon:"\u03a5",Phi:"\u03a6",Psi:"\u03a8",Omega:"\u03a9",_:"_","#":"#",$:"$","%":"%","&":"&",And:"&"}),new a.DelimiterMap("delimiter",u.default.delimiter,{"(":"(",")":")","[":"[","]":"]","<":"\u27e8",">":"\u27e9","\\lt":"\u27e8","\\gt":"\u27e9","/":"/","|":["|",{texClass:h.TEXCLASS.ORD}],".":"","\\\\":"\\","\\lmoustache":"\u23b0","\\rmoustache":"\u23b1","\\lgroup":"\u27ee","\\rgroup":"\u27ef","\\arrowvert":"\u23d0","\\Arrowvert":"\u2016","\\bracevert":"\u23aa","\\Vert":["\u2016",{texClass:h.TEXCLASS.ORD}],"\\|":["\u2016",{texClass:h.TEXCLASS.ORD}],"\\vert":["|",{texClass:h.TEXCLASS.ORD}],"\\uparrow":"\u2191","\\downarrow":"\u2193","\\updownarrow":"\u2195","\\Uparrow":"\u21d1","\\Downarrow":"\u21d3","\\Updownarrow":"\u21d5","\\backslash":"\\","\\rangle":"\u27e9","\\langle":"\u27e8","\\rbrace":"}","\\lbrace":"{","\\}":"}","\\{":"{","\\rceil":"\u2309","\\lceil":"\u2308","\\rfloor":"\u230b","\\lfloor":"\u230a","\\lbrack":"[","\\rbrack":"]"}),new a.CommandMap("macros",{displaystyle:["SetStyle","D",!0,0],textstyle:["SetStyle","T",!1,0],scriptstyle:["SetStyle","S",!1,1],scriptscriptstyle:["SetStyle","SS",!1,2],rm:["SetFont",l.TexConstant.Variant.NORMAL],mit:["SetFont",l.TexConstant.Variant.ITALIC],oldstyle:["SetFont",l.TexConstant.Variant.OLDSTYLE],cal:["SetFont",l.TexConstant.Variant.CALLIGRAPHIC],it:["SetFont",l.TexConstant.Variant.MATHITALIC],bf:["SetFont",l.TexConstant.Variant.BOLD],bbFont:["SetFont",l.TexConstant.Variant.DOUBLESTRUCK],scr:["SetFont",l.TexConstant.Variant.SCRIPT],frak:["SetFont",l.TexConstant.Variant.FRAKTUR],sf:["SetFont",l.TexConstant.Variant.SANSSERIF],tt:["SetFont",l.TexConstant.Variant.MONOSPACE],mathrm:["MathFont",l.TexConstant.Variant.NORMAL],mathup:["MathFont",l.TexConstant.Variant.NORMAL],mathnormal:["MathFont",""],mathbf:["MathFont",l.TexConstant.Variant.BOLD],mathbfup:["MathFont",l.TexConstant.Variant.BOLD],mathit:["MathFont",l.TexConstant.Variant.MATHITALIC],mathbfit:["MathFont",l.TexConstant.Variant.BOLDITALIC],mathbb:["MathFont",l.TexConstant.Variant.DOUBLESTRUCK],Bbb:["MathFont",l.TexConstant.Variant.DOUBLESTRUCK],mathfrak:["MathFont",l.TexConstant.Variant.FRAKTUR],mathbffrak:["MathFont",l.TexConstant.Variant.BOLDFRAKTUR],mathscr:["MathFont",l.TexConstant.Variant.SCRIPT],mathbfscr:["MathFont",l.TexConstant.Variant.BOLDSCRIPT],mathsf:["MathFont",l.TexConstant.Variant.SANSSERIF],mathsfup:["MathFont",l.TexConstant.Variant.SANSSERIF],mathbfsf:["MathFont",l.TexConstant.Variant.BOLDSANSSERIF],mathbfsfup:["MathFont",l.TexConstant.Variant.BOLDSANSSERIF],mathsfit:["MathFont",l.TexConstant.Variant.SANSSERIFITALIC],mathbfsfit:["MathFont",l.TexConstant.Variant.SANSSERIFBOLDITALIC],mathtt:["MathFont",l.TexConstant.Variant.MONOSPACE],mathcal:["MathFont",l.TexConstant.Variant.CALLIGRAPHIC],mathbfcal:["MathFont",l.TexConstant.Variant.BOLDCALLIGRAPHIC],symrm:["MathFont",l.TexConstant.Variant.NORMAL],symup:["MathFont",l.TexConstant.Variant.NORMAL],symnormal:["MathFont",""],symbf:["MathFont",l.TexConstant.Variant.BOLD],symbfup:["MathFont",l.TexConstant.Variant.BOLD],symit:["MathFont",l.TexConstant.Variant.ITALIC],symbfit:["MathFont",l.TexConstant.Variant.BOLDITALIC],symbb:["MathFont",l.TexConstant.Variant.DOUBLESTRUCK],symfrak:["MathFont",l.TexConstant.Variant.FRAKTUR],symbffrak:["MathFont",l.TexConstant.Variant.BOLDFRAKTUR],symscr:["MathFont",l.TexConstant.Variant.SCRIPT],symbfscr:["MathFont",l.TexConstant.Variant.BOLDSCRIPT],symsf:["MathFont",l.TexConstant.Variant.SANSSERIF],symsfup:["MathFont",l.TexConstant.Variant.SANSSERIF],symbfsf:["MathFont",l.TexConstant.Variant.BOLDSANSSERIF],symbfsfup:["MathFont",l.TexConstant.Variant.BOLDSANSSERIF],symsfit:["MathFont",l.TexConstant.Variant.SANSSERIFITALIC],symbfsfit:["MathFont",l.TexConstant.Variant.SANSSERIFBOLDITALIC],symtt:["MathFont",l.TexConstant.Variant.MONOSPACE],symcal:["MathFont",l.TexConstant.Variant.CALLIGRAPHIC],symbfcal:["MathFont",l.TexConstant.Variant.BOLDCALLIGRAPHIC],textrm:["HBox",null,l.TexConstant.Variant.NORMAL],textup:["HBox",null,l.TexConstant.Variant.NORMAL],textnormal:["HBox"],textit:["HBox",null,l.TexConstant.Variant.ITALIC],textbf:["HBox",null,l.TexConstant.Variant.BOLD],textsf:["HBox",null,l.TexConstant.Variant.SANSSERIF],texttt:["HBox",null,l.TexConstant.Variant.MONOSPACE],tiny:["SetSize",.5],Tiny:["SetSize",.6],scriptsize:["SetSize",.7],small:["SetSize",.85],normalsize:["SetSize",1],large:["SetSize",1.2],Large:["SetSize",1.44],LARGE:["SetSize",1.73],huge:["SetSize",2.07],Huge:["SetSize",2.49],arcsin:"NamedFn",arccos:"NamedFn",arctan:"NamedFn",arg:"NamedFn",cos:"NamedFn",cosh:"NamedFn",cot:"NamedFn",coth:"NamedFn",csc:"NamedFn",deg:"NamedFn",det:"NamedOp",dim:"NamedFn",exp:"NamedFn",gcd:"NamedOp",hom:"NamedFn",inf:"NamedOp",ker:"NamedFn",lg:"NamedFn",lim:"NamedOp",liminf:["NamedOp","lim inf"],limsup:["NamedOp","lim sup"],ln:"NamedFn",log:"NamedFn",max:"NamedOp",min:"NamedOp",Pr:"NamedOp",sec:"NamedFn",sin:"NamedFn",sinh:"NamedFn",sup:"NamedOp",tan:"NamedFn",tanh:"NamedFn",limits:["Limits",1],nolimits:["Limits",0],overline:["UnderOver","2015"],underline:["UnderOver","2015"],overbrace:["UnderOver","23DE",1],underbrace:["UnderOver","23DF",1],overparen:["UnderOver","23DC"],underparen:["UnderOver","23DD"],overrightarrow:["UnderOver","2192"],underrightarrow:["UnderOver","2192"],overleftarrow:["UnderOver","2190"],underleftarrow:["UnderOver","2190"],overleftrightarrow:["UnderOver","2194"],underleftrightarrow:["UnderOver","2194"],overset:"Overset",underset:"Underset",overunderset:"Overunderset",stackrel:["Macro","\\mathrel{\\mathop{#2}\\limits^{#1}}",2],stackbin:["Macro","\\mathbin{\\mathop{#2}\\limits^{#1}}",2],over:"Over",overwithdelims:"Over",atop:"Over",atopwithdelims:"Over",above:"Over",abovewithdelims:"Over",brace:["Over","{","}"],brack:["Over","[","]"],choose:["Over","(",")"],frac:"Frac",sqrt:"Sqrt",root:"Root",uproot:["MoveRoot","upRoot"],leftroot:["MoveRoot","leftRoot"],left:"LeftRight",right:"LeftRight",middle:"LeftRight",llap:"Lap",rlap:"Lap",raise:"RaiseLower",lower:"RaiseLower",moveleft:"MoveLeftRight",moveright:"MoveLeftRight",",":["Spacer",f.MATHSPACE.thinmathspace],":":["Spacer",f.MATHSPACE.mediummathspace],">":["Spacer",f.MATHSPACE.mediummathspace],";":["Spacer",f.MATHSPACE.thickmathspace],"!":["Spacer",f.MATHSPACE.negativethinmathspace],enspace:["Spacer",.5],quad:["Spacer",1],qquad:["Spacer",2],thinspace:["Spacer",f.MATHSPACE.thinmathspace],negthinspace:["Spacer",f.MATHSPACE.negativethinmathspace],hskip:"Hskip",hspace:"Hskip",kern:"Hskip",mskip:"Hskip",mspace:"Hskip",mkern:"Hskip",rule:"rule",Rule:["Rule"],Space:["Rule","blank"],nonscript:"Nonscript",big:["MakeBig",h.TEXCLASS.ORD,.85],Big:["MakeBig",h.TEXCLASS.ORD,1.15],bigg:["MakeBig",h.TEXCLASS.ORD,1.45],Bigg:["MakeBig",h.TEXCLASS.ORD,1.75],bigl:["MakeBig",h.TEXCLASS.OPEN,.85],Bigl:["MakeBig",h.TEXCLASS.OPEN,1.15],biggl:["MakeBig",h.TEXCLASS.OPEN,1.45],Biggl:["MakeBig",h.TEXCLASS.OPEN,1.75],bigr:["MakeBig",h.TEXCLASS.CLOSE,.85],Bigr:["MakeBig",h.TEXCLASS.CLOSE,1.15],biggr:["MakeBig",h.TEXCLASS.CLOSE,1.45],Biggr:["MakeBig",h.TEXCLASS.CLOSE,1.75],bigm:["MakeBig",h.TEXCLASS.REL,.85],Bigm:["MakeBig",h.TEXCLASS.REL,1.15],biggm:["MakeBig",h.TEXCLASS.REL,1.45],Biggm:["MakeBig",h.TEXCLASS.REL,1.75],mathord:["TeXAtom",h.TEXCLASS.ORD],mathop:["TeXAtom",h.TEXCLASS.OP],mathopen:["TeXAtom",h.TEXCLASS.OPEN],mathclose:["TeXAtom",h.TEXCLASS.CLOSE],mathbin:["TeXAtom",h.TEXCLASS.BIN],mathrel:["TeXAtom",h.TEXCLASS.REL],mathpunct:["TeXAtom",h.TEXCLASS.PUNCT],mathinner:["TeXAtom",h.TEXCLASS.INNER],vcenter:["TeXAtom",h.TEXCLASS.VCENTER],buildrel:"BuildRel",hbox:["HBox",0],text:"HBox",mbox:["HBox",0],fbox:"FBox",boxed:["Macro","\\fbox{$\\displaystyle{#1}$}",1],framebox:"FrameBox",strut:"Strut",mathstrut:["Macro","\\vphantom{(}"],phantom:"Phantom",vphantom:["Phantom",1,0],hphantom:["Phantom",0,1],smash:"Smash",acute:["Accent","00B4"],grave:["Accent","0060"],ddot:["Accent","00A8"],tilde:["Accent","007E"],bar:["Accent","00AF"],breve:["Accent","02D8"],check:["Accent","02C7"],hat:["Accent","005E"],vec:["Accent","2192"],dot:["Accent","02D9"],widetilde:["Accent","007E",1],widehat:["Accent","005E",1],matrix:"Matrix",array:"Matrix",pmatrix:["Matrix","(",")"],cases:["Matrix","{","","left left",null,".1em",null,!0],eqalign:["Matrix",null,null,"right left",(0,f.em)(f.MATHSPACE.thickmathspace),".5em","D"],displaylines:["Matrix",null,null,"center",null,".5em","D"],cr:"Cr","\\":"CrLaTeX",newline:["CrLaTeX",!0],hline:["HLine","solid"],hdashline:["HLine","dashed"],eqalignno:["Matrix",null,null,"right left",(0,f.em)(f.MATHSPACE.thickmathspace),".5em","D",null,"right"],leqalignno:["Matrix",null,null,"right left",(0,f.em)(f.MATHSPACE.thickmathspace),".5em","D",null,"left"],hfill:"HFill",hfil:"HFill",hfilll:"HFill",bmod:["Macro",'\\mmlToken{mo}[lspace="thickmathspace" rspace="thickmathspace"]{mod}'],pmod:["Macro","\\pod{\\mmlToken{mi}{mod}\\kern 6mu #1}",1],mod:["Macro","\\mathchoice{\\kern18mu}{\\kern12mu}{\\kern12mu}{\\kern12mu}\\mmlToken{mi}{mod}\\,\\,#1",1],pod:["Macro","\\mathchoice{\\kern18mu}{\\kern8mu}{\\kern8mu}{\\kern8mu}(#1)",1],iff:["Macro","\\;\\Longleftrightarrow\\;"],skew:["Macro","{{#2{#3\\mkern#1mu}\\mkern-#1mu}{}}",3],pmb:["Macro","\\rlap{#1}\\kern1px{#1}",1],TeX:["Macro","T\\kern-.14em\\lower.5ex{E}\\kern-.115em X"],LaTeX:["Macro","L\\kern-.325em\\raise.21em{\\scriptstyle{A}}\\kern-.17em\\TeX"]," ":["Macro","\\text{ }"],not:"Not",dots:"Dots",space:"Tilde","\xa0":"Tilde",begin:"BeginEnd",end:"BeginEnd",label:"HandleLabel",ref:"HandleRef",nonumber:"HandleNoTag",mathchoice:"MathChoice",mmlToken:"MmlToken"},c.default),new a.EnvironmentMap("environment",u.default.environment,{array:["AlignedArray"],equation:["Equation",null,!0],eqnarray:["EqnArray",null,!0,!0,"rcl",p.default.cols(0,f.MATHSPACE.thickmathspace),".5em"]},c.default),new a.CharacterMap("not_remap",null,{"\u2190":"\u219a","\u2192":"\u219b","\u2194":"\u21ae","\u21d0":"\u21cd","\u21d2":"\u21cf","\u21d4":"\u21ce","\u2208":"\u2209","\u220b":"\u220c","\u2223":"\u2224","\u2225":"\u2226","\u223c":"\u2241","~":"\u2241","\u2243":"\u2244","\u2245":"\u2247","\u2248":"\u2249","\u224d":"\u226d","=":"\u2260","\u2261":"\u2262","<":"\u226e",">":"\u226f","\u2264":"\u2270","\u2265":"\u2271","\u2272":"\u2274","\u2273":"\u2275","\u2276":"\u2278","\u2277":"\u2279","\u227a":"\u2280","\u227b":"\u2281","\u2282":"\u2284","\u2283":"\u2285","\u2286":"\u2288","\u2287":"\u2289","\u22a2":"\u22ac","\u22a8":"\u22ad","\u22a9":"\u22ae","\u22ab":"\u22af","\u227c":"\u22e0","\u227d":"\u22e1","\u2291":"\u22e2","\u2292":"\u22e3","\u22b2":"\u22ea","\u22b3":"\u22eb","\u22b4":"\u22ec","\u22b5":"\u22ed","\u2203":"\u2204"})},7693:function(t,e,r){var n=this&&this.__assign||function(){return n=Object.assign||function(t){for(var e,r=1,n=arguments.length;r0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},l=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var c=s(r(1181)),u=l(r(1256)),p=l(r(3971)),h=l(r(8417)),f=r(8317),d=l(r(1130)),m=r(9007),y=r(6521),g=r(6010),b=r(5368),v=r(7233),_={},S={fontfamily:1,fontsize:1,fontweight:1,fontstyle:1,color:1,background:1,id:1,class:1,href:1,style:1};function M(t,e){var r=t.stack.env,n=r.inRoot;r.inRoot=!0;var o=new h.default(e,r,t.configuration),i=o.mml(),s=o.stack.global;if(s.leftRoot||s.upRoot){var a={};s.leftRoot&&(a.width=s.leftRoot),s.upRoot&&(a.voffset=s.upRoot,a.height=s.upRoot),i=t.create("node","mpadded",[i],a)}return r.inRoot=n,i}_.Open=function(t,e){t.Push(t.itemFactory.create("open"))},_.Close=function(t,e){t.Push(t.itemFactory.create("close"))},_.Tilde=function(t,e){t.Push(t.create("token","mtext",{},b.entities.nbsp))},_.Space=function(t,e){},_.Superscript=function(t,e){var r,n,o;t.GetNext().match(/\d/)&&(t.string=t.string.substr(0,t.i+1)+" "+t.string.substr(t.i+1));var i=t.stack.Top();i.isKind("prime")?(o=(r=a(i.Peek(2),2))[0],n=r[1],t.stack.Pop()):(o=t.stack.Prev())||(o=t.create("token","mi",{},""));var s=u.default.getProperty(o,"movesupsub"),l=u.default.isType(o,"msubsup")?o.sup:o.over;if(u.default.isType(o,"msubsup")&&!u.default.isType(o,"msup")&&u.default.getChildAt(o,o.sup)||u.default.isType(o,"munderover")&&!u.default.isType(o,"mover")&&u.default.getChildAt(o,o.over)&&!u.default.getProperty(o,"subsupOK"))throw new p.default("DoubleExponent","Double exponent: use braces to clarify");u.default.isType(o,"msubsup")&&!u.default.isType(o,"msup")||(s?((!u.default.isType(o,"munderover")||u.default.isType(o,"mover")||u.default.getChildAt(o,o.over))&&(o=t.create("node","munderover",[o],{movesupsub:!0})),l=o.over):l=(o=t.create("node","msubsup",[o])).sup),t.Push(t.itemFactory.create("subsup",o).setProperties({position:l,primes:n,movesupsub:s}))},_.Subscript=function(t,e){var r,n,o;t.GetNext().match(/\d/)&&(t.string=t.string.substr(0,t.i+1)+" "+t.string.substr(t.i+1));var i=t.stack.Top();i.isKind("prime")?(o=(r=a(i.Peek(2),2))[0],n=r[1],t.stack.Pop()):(o=t.stack.Prev())||(o=t.create("token","mi",{},""));var s=u.default.getProperty(o,"movesupsub"),l=u.default.isType(o,"msubsup")?o.sub:o.under;if(u.default.isType(o,"msubsup")&&!u.default.isType(o,"msup")&&u.default.getChildAt(o,o.sub)||u.default.isType(o,"munderover")&&!u.default.isType(o,"mover")&&u.default.getChildAt(o,o.under)&&!u.default.getProperty(o,"subsupOK"))throw new p.default("DoubleSubscripts","Double subscripts: use braces to clarify");u.default.isType(o,"msubsup")&&!u.default.isType(o,"msup")||(s?((!u.default.isType(o,"munderover")||u.default.isType(o,"mover")||u.default.getChildAt(o,o.under))&&(o=t.create("node","munderover",[o],{movesupsub:!0})),l=o.under):l=(o=t.create("node","msubsup",[o])).sub),t.Push(t.itemFactory.create("subsup",o).setProperties({position:l,primes:n,movesupsub:s}))},_.Prime=function(t,e){var r=t.stack.Prev();if(r||(r=t.create("node","mi")),u.default.isType(r,"msubsup")&&!u.default.isType(r,"msup")&&u.default.getChildAt(r,r.sup))throw new p.default("DoubleExponentPrime","Prime causes double exponent: use braces to clarify");var n="";t.i--;do{n+=b.entities.prime,t.i++,e=t.GetNext()}while("'"===e||e===b.entities.rsquo);n=["","\u2032","\u2033","\u2034","\u2057"][n.length]||n;var o=t.create("token","mo",{variantForm:!0},n);t.Push(t.itemFactory.create("prime",r,o))},_.Comment=function(t,e){for(;t.i=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.ConfigMacrosConfiguration=void 0;var s=r(9899),a=r(7233),l=r(9140),c=i(r(5450)),u=r(8803),p=i(r(1110)),h=r(6793),f="configmacros-map",d="configmacros-env-map";e.ConfigMacrosConfiguration=s.Configuration.create("configmacros",{init:function(t){new l.CommandMap(f,{},{}),new l.EnvironmentMap(d,c.default.environment,{},{}),t.append(s.Configuration.local({handler:{macro:[f],environment:[d]},priority:3}))},config:function(t,e){!function(t){var e,r,n=t.parseOptions.handlers.retrieve(f),i=t.parseOptions.options.macros;try{for(var s=o(Object.keys(i)),a=s.next();!a.done;a=s.next()){var l=a.value,c="string"==typeof i[l]?[i[l]]:i[l],h=Array.isArray(c[2])?new u.Macro(l,p.default.MacroWithTemplate,c.slice(0,2).concat(c[2])):new u.Macro(l,p.default.Macro,c);n.add(l,h)}}catch(t){e={error:t}}finally{try{a&&!a.done&&(r=s.return)&&r.call(s)}finally{if(e)throw e.error}}}(e),function(t){var e,r,n=t.parseOptions.handlers.retrieve(d),i=t.parseOptions.options.environments;try{for(var s=o(Object.keys(i)),a=s.next();!a.done;a=s.next()){var l=a.value;n.add(l,new u.Macro(l,p.default.BeginEnv,[!0].concat(i[l])))}}catch(t){e={error:t}}finally{try{a&&!a.done&&(r=s.return)&&r.call(s)}finally{if(e)throw e.error}}}(e)},items:(n={},n[h.BeginEnvItem.prototype.kind]=h.BeginEnvItem,n),options:{macros:(0,a.expandable)({}),environments:(0,a.expandable)({})}})},1496:function(t,e,r){var n,o=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),i=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),s=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&o(e,t,r);return i(e,t),e},a=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.NewcommandConfiguration=void 0;var l=r(9899),c=r(6793),u=a(r(5579));r(5117);var p=a(r(5450)),h=s(r(9140));e.NewcommandConfiguration=l.Configuration.create("newcommand",{handler:{macro:["Newcommand-macros"]},items:(n={},n[c.BeginEnvItem.prototype.kind]=c.BeginEnvItem,n),options:{maxMacros:1e3},init:function(t){new h.DelimiterMap(u.default.NEW_DELIMITER,p.default.delimiter,{}),new h.CommandMap(u.default.NEW_COMMAND,{},{}),new h.EnvironmentMap(u.default.NEW_ENVIRONMENT,p.default.environment,{},{}),t.append(l.Configuration.local({handler:{character:[],delimiter:[u.default.NEW_DELIMITER],macro:[u.default.NEW_DELIMITER,u.default.NEW_COMMAND],environment:[u.default.NEW_ENVIRONMENT]},priority:-1}))}})},6793:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.BeginEnvItem=void 0;var s=i(r(3971)),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),Object.defineProperty(e.prototype,"kind",{get:function(){return"beginEnv"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isOpen",{get:function(){return!0},enumerable:!1,configurable:!0}),e.prototype.checkItem=function(e){if(e.isKind("end")){if(e.getName()!==this.getName())throw new s.default("EnvBadEnd","\\begin{%1} ended with \\end{%2}",this.getName(),e.getName());return[[this.factory.create("mml",this.toMml())],!0]}if(e.isKind("stop"))throw new s.default("EnvMissingEnd","Missing \\end{%1}",this.getName());return t.prototype.checkItem.call(this,e)},e}(r(8292).BaseItem);e.BeginEnvItem=a},5117:function(t,e,r){var n=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var o=n(r(1110));new(r(9140).CommandMap)("Newcommand-macros",{newcommand:"NewCommand",renewcommand:"NewCommand",newenvironment:"NewEnvironment",renewenvironment:"NewEnvironment",def:"MacroDef",let:"Let"},o.default)},1110:function(t,e,r){var n=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),i=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&n(e,t,r);return o(e,t),e},s=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var a=s(r(3971)),l=i(r(9140)),c=s(r(7693)),u=s(r(1130)),p=s(r(5579)),h={NewCommand:function(t,e){var r=p.default.GetCsNameArgument(t,e),n=p.default.GetArgCount(t,e),o=t.GetBrackets(e),i=t.GetArgument(e);p.default.addMacro(t,r,h.Macro,[i,n,o])},NewEnvironment:function(t,e){var r=u.default.trimSpaces(t.GetArgument(e)),n=p.default.GetArgCount(t,e),o=t.GetBrackets(e),i=t.GetArgument(e),s=t.GetArgument(e);p.default.addEnvironment(t,r,h.BeginEnv,[!0,i,s,n,o])},MacroDef:function(t,e){var r=p.default.GetCSname(t,e),n=p.default.GetTemplate(t,e,"\\"+r),o=t.GetArgument(e);n instanceof Array?p.default.addMacro(t,r,h.MacroWithTemplate,[o].concat(n)):p.default.addMacro(t,r,h.Macro,[o,n])},Let:function(t,e){var r=p.default.GetCSname(t,e),n=t.GetNext();"="===n&&(t.i++,n=t.GetNext());var o=t.configuration.handlers;if("\\"!==n){t.i++;var i=o.get("delimiter").lookup(n);i?p.default.addDelimiter(t,"\\"+r,i.char,i.attributes):p.default.addMacro(t,r,h.Macro,[n])}else{e=p.default.GetCSname(t,e);var s=o.get("delimiter").lookup("\\"+e);if(s)return void p.default.addDelimiter(t,"\\"+r,s.char,s.attributes);var a=o.get("macro").applicable(e);if(!a)return;if(a instanceof l.MacroMap){var c=a.lookup(e);return void p.default.addMacro(t,r,c.func,c.args,c.symbol)}s=a.lookup(e);var u=p.default.disassembleSymbol(r,s);p.default.addMacro(t,r,(function(t,e){for(var r=[],n=2;n0?[i.toString()].concat(o):i;t.i++}throw new s.default("MissingReplacementString","Missing replacement string for definition of %1",e)},t.GetParameter=function(t,r,n){if(null==n)return t.GetArgument(r);for(var o=t.i,i=0,a=0;t.i=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.NoUndefinedConfiguration=void 0;var o=r(9899);e.NoUndefinedConfiguration=o.Configuration.create("noundefined",{fallback:{macro:function(t,e){var r,o,i=t.create("text","\\"+e),s=t.options.noundefined||{},a={};try{for(var l=n(["color","background","size"]),c=l.next();!c.done;c=l.next()){var u=c.value;s[u]&&(a["math"+u]=s[u])}}catch(t){r={error:t}}finally{try{c&&!c.done&&(o=l.return)&&o.call(l)}finally{if(r)throw r.error}}t.Push(t.create("node","mtext",[],a,i))}},options:{noundefined:{color:"red",background:"",size:""}},priority:3})},7741:function(t,e,r){var n=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},o=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},i=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CHTML=void 0;var u=r(3055),p=r(4139),h=r(9261),f=r(6797),d=r(2760),m=l(r(6010)),y=r(505),g=function(t){function e(e){void 0===e&&(e=null);var r=t.call(this,e,h.CHTMLWrapperFactory,d.TeXFont)||this;return r.chtmlStyles=null,r.font.adaptiveCSS(r.options.adaptiveCSS),r.wrapperUsage=new f.Usage,r}return o(e,t),e.prototype.escaped=function(t,e){return this.setDocument(e),this.html("span",{},[this.text(t.math)])},e.prototype.styleSheet=function(r){if(this.chtmlStyles){if(this.options.adaptiveCSS){var n=new p.CssStyles;this.addWrapperStyles(n),this.updateFontStyles(n),this.adaptor.insertRules(this.chtmlStyles,n.getStyleRules())}return this.chtmlStyles}var o=this.chtmlStyles=t.prototype.styleSheet.call(this,r);return this.adaptor.setAttribute(o,"id",e.STYLESHEETID),this.wrapperUsage.update(),o},e.prototype.updateFontStyles=function(t){t.addStyles(this.font.updateStyles({}))},e.prototype.addWrapperStyles=function(e){var r,n;if(this.options.adaptiveCSS)try{for(var o=c(this.wrapperUsage.update()),i=o.next();!i.done;i=o.next()){var s=i.value,a=this.factory.getNodeClass(s);a&&this.addClassStyles(a,e)}}catch(t){r={error:t}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}else t.prototype.addWrapperStyles.call(this,e)},e.prototype.addClassStyles=function(e,r){var n,o=e;o.autoStyle&&"unknown"!==o.kind&&r.addStyles(((n={})["mjx-"+o.kind]={display:"inline-block","text-align":"left"},n)),this.wrapperUsage.add(o.kind),t.prototype.addClassStyles.call(this,e,r)},e.prototype.processMath=function(t,e){this.factory.wrap(t).toCHTML(e)},e.prototype.clearCache=function(){this.cssStyles.clear(),this.font.clearCache(),this.wrapperUsage.clear(),this.chtmlStyles=null},e.prototype.reset=function(){this.clearCache()},e.prototype.unknownText=function(t,e,r){void 0===r&&(r=null);var n={},o=100/this.math.metrics.scale;if(100!==o&&(n["font-size"]=this.fixed(o,1)+"%",n.padding=m.em(75/o)+" 0 "+m.em(20/o)+" 0"),"-explicitFont"!==e){var i=(0,y.unicodeChars)(t);(1!==i.length||i[0]<119808||i[0]>120831)&&this.cssFontStyles(this.font.getCssFont(e),n)}if(null!==r){var s=this.math.metrics;n.width=Math.round(r*s.em*s.scale)+"px"}return this.html("mjx-utext",{variant:e,style:n},[this.text(t)])},e.prototype.measureTextNode=function(t){var e=this.adaptor,r=e.clone(t);e.setStyle(r,"font-family",e.getStyle(r,"font-family").replace(/MJXZERO, /g,""));var n=this.html("mjx-measure-text",{style:{position:"absolute","white-space":"nowrap"}},[r]);e.append(e.parent(this.math.start.node),this.container),e.append(this.container,n);var o=e.nodeSize(r,this.math.metrics.em)[0]/this.math.metrics.scale;return e.remove(this.container),e.remove(n),{w:o,h:.75,d:.2}},e.NAME="CHTML",e.OPTIONS=i(i({},u.CommonOutputJax.OPTIONS),{adaptiveCSS:!0,matchFontHeight:!0}),e.commonStyles={'mjx-container[jax="CHTML"]':{"line-height":0},'mjx-container [space="1"]':{"margin-left":".111em"},'mjx-container [space="2"]':{"margin-left":".167em"},'mjx-container [space="3"]':{"margin-left":".222em"},'mjx-container [space="4"]':{"margin-left":".278em"},'mjx-container [space="5"]':{"margin-left":".333em"},'mjx-container [rspace="1"]':{"margin-right":".111em"},'mjx-container [rspace="2"]':{"margin-right":".167em"},'mjx-container [rspace="3"]':{"margin-right":".222em"},'mjx-container [rspace="4"]':{"margin-right":".278em"},'mjx-container [rspace="5"]':{"margin-right":".333em"},'mjx-container [size="s"]':{"font-size":"70.7%"},'mjx-container [size="ss"]':{"font-size":"50%"},'mjx-container [size="Tn"]':{"font-size":"60%"},'mjx-container [size="sm"]':{"font-size":"85%"},'mjx-container [size="lg"]':{"font-size":"120%"},'mjx-container [size="Lg"]':{"font-size":"144%"},'mjx-container [size="LG"]':{"font-size":"173%"},'mjx-container [size="hg"]':{"font-size":"207%"},'mjx-container [size="HG"]':{"font-size":"249%"},'mjx-container [width="full"]':{width:"100%"},"mjx-box":{display:"inline-block"},"mjx-block":{display:"block"},"mjx-itable":{display:"inline-table"},"mjx-row":{display:"table-row"},"mjx-row > *":{display:"table-cell"},"mjx-mtext":{display:"inline-block"},"mjx-mstyle":{display:"inline-block"},"mjx-merror":{display:"inline-block",color:"red","background-color":"yellow"},"mjx-mphantom":{visibility:"hidden"},"_::-webkit-full-page-media, _:future, :root mjx-container":{"will-change":"opacity"}},e.STYLESHEETID="MJX-CHTML-styles",e}(u.CommonOutputJax);e.CHTML=g},8042:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__assign||function(){return i=Object.assign||function(t){for(var e,r=1,n=arguments.length;r=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},c=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s};Object.defineProperty(e,"__esModule",{value:!0}),e.AddCSS=e.CHTMLFontData=void 0;var u=r(5884),p=r(6797),h=r(6010);a(r(5884),e);var f=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.charUsage=new p.Usage,e.delimUsage=new p.Usage,e}return o(e,t),e.charOptions=function(e,r){return t.charOptions.call(this,e,r)},e.prototype.adaptiveCSS=function(t){this.options.adaptiveCSS=t},e.prototype.clearCache=function(){this.options.adaptiveCSS&&(this.charUsage.clear(),this.delimUsage.clear())},e.prototype.createVariant=function(e,r,n){void 0===r&&(r=null),void 0===n&&(n=null),t.prototype.createVariant.call(this,e,r,n);var o=this.constructor;this.variant[e].classes=o.defaultVariantClasses[e],this.variant[e].letter=o.defaultVariantLetters[e]},e.prototype.defineChars=function(r,n){var o,i;t.prototype.defineChars.call(this,r,n);var s=this.variant[r].letter;try{for(var a=l(Object.keys(n)),c=a.next();!c.done;c=a.next()){var u=c.value,p=e.charOptions(n,parseInt(u));void 0===p.f&&(p.f=s)}}catch(t){o={error:t}}finally{try{c&&!c.done&&(i=a.return)&&i.call(a)}finally{if(o)throw o.error}}},Object.defineProperty(e.prototype,"styles",{get:function(){var t=this.constructor,e=i({},t.defaultStyles);return this.addFontURLs(e,t.defaultFonts,this.options.fontURL),this.options.adaptiveCSS?this.updateStyles(e):this.allStyles(e),e},enumerable:!1,configurable:!0}),e.prototype.updateStyles=function(t){var e,r,n,o;try{for(var i=l(this.delimUsage.update()),s=i.next();!s.done;s=i.next()){var a=s.value;this.addDelimiterStyles(t,a,this.delimiters[a])}}catch(t){e={error:t}}finally{try{s&&!s.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}try{for(var u=l(this.charUsage.update()),p=u.next();!p.done;p=u.next()){var h=c(p.value,2),f=h[0],d=(a=h[1],this.variant[f]);this.addCharStyles(t,d.letter,a,d.chars[a])}}catch(t){n={error:t}}finally{try{p&&!p.done&&(o=u.return)&&o.call(u)}finally{if(n)throw n.error}}return t},e.prototype.allStyles=function(t){var e,r,n,o,i,s;try{for(var a=l(Object.keys(this.delimiters)),c=a.next();!c.done;c=a.next()){var u=c.value,p=parseInt(u);this.addDelimiterStyles(t,p,this.delimiters[p])}}catch(t){e={error:t}}finally{try{c&&!c.done&&(r=a.return)&&r.call(a)}finally{if(e)throw e.error}}try{for(var h=l(Object.keys(this.variant)),f=h.next();!f.done;f=h.next()){var d=f.value,m=this.variant[d],y=m.letter;try{for(var g=(i=void 0,l(Object.keys(m.chars))),b=g.next();!b.done;b=g.next()){u=b.value,p=parseInt(u);var v=m.chars[p];(v[3]||{}).smp||(v.length<4&&(v[3]={}),this.addCharStyles(t,y,p,v))}}catch(t){i={error:t}}finally{try{b&&!b.done&&(s=g.return)&&s.call(g)}finally{if(i)throw i.error}}}}catch(t){n={error:t}}finally{try{f&&!f.done&&(o=h.return)&&o.call(h)}finally{if(n)throw n.error}}},e.prototype.addFontURLs=function(t,e,r){var n,o;try{for(var s=l(Object.keys(e)),a=s.next();!a.done;a=s.next()){var c=a.value,u=i({},e[c]);u.src=u.src.replace(/%%URL%%/,r),t[c]=u}}catch(t){n={error:t}}finally{try{a&&!a.done&&(o=s.return)&&o.call(s)}finally{if(n)throw n.error}}},e.prototype.addDelimiterStyles=function(t,e,r){var n=this.charSelector(e);r.c&&r.c!==e&&(t[".mjx-stretched mjx-c"+(n=this.charSelector(r.c))+"::before"]={content:this.charContent(r.c)}),r.stretch&&(1===r.dir?this.addDelimiterVStyles(t,n,r):this.addDelimiterHStyles(t,n,r))},e.prototype.addDelimiterVStyles=function(t,e,r){var n=r.HDW,o=c(r.stretch,4),i=o[0],s=o[1],a=o[2],l=o[3],u=this.addDelimiterVPart(t,e,"beg",i,n);this.addDelimiterVPart(t,e,"ext",s,n);var p=this.addDelimiterVPart(t,e,"end",a,n),h={};if(l){var f=this.addDelimiterVPart(t,e,"mid",l,n);h.height="50%",t["mjx-stretchy-v"+e+" > mjx-mid"]={"margin-top":this.em(-f/2),"margin-bottom":this.em(-f/2)}}u&&(h["border-top-width"]=this.em0(u-.03)),p&&(h["border-bottom-width"]=this.em0(p-.03),t["mjx-stretchy-v"+e+" > mjx-end"]={"margin-top":this.em(-p)}),Object.keys(h).length&&(t["mjx-stretchy-v"+e+" > mjx-ext"]=h)},e.prototype.addDelimiterVPart=function(t,e,r,n,o){if(!n)return 0;var i=this.getDelimiterData(n),s=(o[2]-i[2])/2,a={content:this.charContent(n)};return"ext"!==r?a.padding=this.padding(i,s):(a.width=this.em0(o[2]),s&&(a["padding-left"]=this.em0(s))),t["mjx-stretchy-v"+e+" mjx-"+r+" mjx-c::before"]=a,i[0]+i[1]},e.prototype.addDelimiterHStyles=function(t,e,r){var n=c(r.stretch,4),o=n[0],i=n[1],s=n[2],a=n[3],l=r.HDW;this.addDelimiterHPart(t,e,"beg",o,l),this.addDelimiterHPart(t,e,"ext",i,l),this.addDelimiterHPart(t,e,"end",s,l),a&&(this.addDelimiterHPart(t,e,"mid",a,l),t["mjx-stretchy-h"+e+" > mjx-ext"]={width:"50%"})},e.prototype.addDelimiterHPart=function(t,e,r,n,o){if(n){var i=this.getDelimiterData(n)[3],s={content:i&&i.c?'"'+i.c+'"':this.charContent(n)};s.padding=this.padding(o,0,-o[2]),t["mjx-stretchy-h"+e+" mjx-"+r+" mjx-c::before"]=s}},e.prototype.addCharStyles=function(t,e,r,n){var o=n[3],i=void 0!==o.f?o.f:e;t["mjx-c"+this.charSelector(r)+(i?".TEX-"+i:"")+"::before"]={padding:this.padding(n,0,o.ic||0),content:null!=o.c?'"'+o.c+'"':this.charContent(r)}},e.prototype.getDelimiterData=function(t){return this.getChar("-smallop",t)},e.prototype.em=function(t){return(0,h.em)(t)},e.prototype.em0=function(t){return(0,h.em)(Math.max(0,t))},e.prototype.padding=function(t,e,r){var n=c(t,3),o=n[0],i=n[1];return void 0===e&&(e=0),void 0===r&&(r=0),[o,n[2]+r,i,e].map(this.em0).join(" ")},e.prototype.charContent=function(t){return'"'+(t>=32&&t<=126&&34!==t&&39!==t&&92!==t?String.fromCharCode(t):"\\"+t.toString(16).toUpperCase())+'"'},e.prototype.charSelector=function(t){return".mjx-c"+t.toString(16).toUpperCase()},e.OPTIONS=i(i({},u.FontData.OPTIONS),{fontURL:"js/output/chtml/fonts/tex-woff-v2"}),e.JAX="CHTML",e.defaultVariantClasses={},e.defaultVariantLetters={},e.defaultStyles={"mjx-c::before":{display:"block",width:0}},e.defaultFonts={"@font-face /* 0 */":{"font-family":"MJXZERO",src:'url("%%URL%%/MathJax_Zero.woff") format("woff")'}},e}(u.FontData);e.CHTMLFontData=f,e.AddCSS=function(t,e){var r,n;try{for(var o=l(Object.keys(e)),i=o.next();!i.done;i=o.next()){var s=i.value,a=parseInt(s);Object.assign(u.FontData.charOptions(t,a),e[a])}}catch(t){r={error:t}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}return t}},8270:function(t,e,r){var n=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),i=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&n(e,t,r);return o(e,t),e},s=this&&this.__exportStar||function(t,e){for(var r in t)"default"===r||Object.prototype.hasOwnProperty.call(e,r)||n(e,t,r)},a=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s};Object.defineProperty(e,"__esModule",{value:!0}),e.Arrow=e.DiagonalArrow=e.DiagonalStrike=e.Border2=e.Border=e.RenderElement=void 0;var l=i(r(5552));s(r(5552),e);e.RenderElement=function(t,e){return void 0===e&&(e=""),function(r,n){var o=r.adjustBorder(r.html("mjx-"+t));if(e){var i=r.getOffset(e);if(r.thickness!==l.THICKNESS||i){var s="translate".concat(e,"(").concat(r.em(r.thickness/2-i),")");r.adaptor.setStyle(o,"transform",s)}}r.adaptor.append(r.chtml,o)}};e.Border=function(t){return l.CommonBorder((function(e,r){e.adaptor.setStyle(r,"border-"+t,e.em(e.thickness)+" solid")}))(t)};e.Border2=function(t,e,r){return l.CommonBorder2((function(t,n){var o=t.em(t.thickness)+" solid";t.adaptor.setStyle(n,"border-"+e,o),t.adaptor.setStyle(n,"border-"+r,o)}))(t,e,r)};e.DiagonalStrike=function(t,e){return l.CommonDiagonalStrike((function(t){return function(r,n){var o=r.getBBox(),i=o.w,s=o.h,l=o.d,c=a(r.getArgMod(i,s+l),2),u=c[0],p=c[1],h=e*r.thickness/2,f=r.adjustBorder(r.html(t,{style:{width:r.em(p),transform:"rotate("+r.fixed(-e*u)+"rad) translateY("+h+"em)"}}));r.adaptor.append(r.chtml,f)}}))(t)};e.DiagonalArrow=function(t){return l.CommonDiagonalArrow((function(t,e){t.adaptor.append(t.chtml,e)}))(t)};e.Arrow=function(t){return l.CommonArrow((function(t,e){t.adaptor.append(t.chtml,e)}))(t)}},6797:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.Usage=void 0;var r=function(){function t(){this.used=new Set,this.needsUpdate=[]}return t.prototype.add=function(t){var e=JSON.stringify(t);this.used.has(e)||this.needsUpdate.push(t),this.used.add(e)},t.prototype.has=function(t){return this.used.has(JSON.stringify(t))},t.prototype.clear=function(){this.used.clear(),this.needsUpdate=[]},t.prototype.update=function(){var t=this.needsUpdate;return this.needsUpdate=[],t},t}();e.Usage=r},5355:function(t,e,r){var n,o,i=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),s=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),a=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),l=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&s(e,t,r);return a(e,t),e},c=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},u=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s};Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLWrapper=e.SPACE=e.FONTSIZE=void 0;var p=l(r(6010)),h=r(7519),f=r(6469);e.FONTSIZE={"70.7%":"s","70%":"s","50%":"ss","60%":"Tn","85%":"sm","120%":"lg","144%":"Lg","173%":"LG","207%":"hg","249%":"HG"},e.SPACE=((o={})[p.em(2/18)]="1",o[p.em(3/18)]="2",o[p.em(4/18)]="3",o[p.em(5/18)]="4",o[p.em(6/18)]="5",o);var d=function(t){function r(){var e=null!==t&&t.apply(this,arguments)||this;return e.chtml=null,e}return i(r,t),r.prototype.toCHTML=function(t){var e,r,n=this.standardCHTMLnode(t);try{for(var o=c(this.childNodes),i=o.next();!i.done;i=o.next()){i.value.toCHTML(n)}}catch(t){e={error:t}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(e)throw e.error}}},r.prototype.standardCHTMLnode=function(t){this.markUsed();var e=this.createCHTMLnode(t);return this.handleStyles(),this.handleVariant(),this.handleScale(),this.handleColor(),this.handleSpace(),this.handleAttributes(),this.handlePWidth(),e},r.prototype.markUsed=function(){this.jax.wrapperUsage.add(this.kind)},r.prototype.createCHTMLnode=function(t){var e=this.node.attributes.get("href");return e&&(t=this.adaptor.append(t,this.html("a",{href:e}))),this.chtml=this.adaptor.append(t,this.html("mjx-"+this.node.kind)),this.chtml},r.prototype.handleStyles=function(){if(this.styles){var t=this.styles.cssText;if(t){this.adaptor.setAttribute(this.chtml,"style",t);var e=this.styles.get("font-family");e&&this.adaptor.setStyle(this.chtml,"font-family","MJXZERO, "+e)}}},r.prototype.handleVariant=function(){this.node.isToken&&"-explicitFont"!==this.variant&&this.adaptor.setAttribute(this.chtml,"class",(this.font.getVariant(this.variant)||this.font.getVariant("normal")).classes)},r.prototype.handleScale=function(){this.setScale(this.chtml,this.bbox.rscale)},r.prototype.setScale=function(t,r){var n=Math.abs(r-1)<.001?1:r;if(t&&1!==n){var o=this.percent(n);e.FONTSIZE[o]?this.adaptor.setAttribute(t,"size",e.FONTSIZE[o]):this.adaptor.setStyle(t,"fontSize",o)}return t},r.prototype.handleSpace=function(){var t,r;try{for(var n=c([[this.bbox.L,"space","marginLeft"],[this.bbox.R,"rspace","marginRight"]]),o=n.next();!o.done;o=n.next()){var i=o.value,s=u(i,3),a=s[0],l=s[1],p=s[2];if(a){var h=this.em(a);e.SPACE[h]?this.adaptor.setAttribute(this.chtml,l,e.SPACE[h]):this.adaptor.setStyle(this.chtml,p,h)}}}catch(e){t={error:e}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}},r.prototype.handleColor=function(){var t=this.node.attributes,e=t.getExplicit("mathcolor"),r=t.getExplicit("color"),n=t.getExplicit("mathbackground"),o=t.getExplicit("background");(e||r)&&this.adaptor.setStyle(this.chtml,"color",e||r),(n||o)&&this.adaptor.setStyle(this.chtml,"backgroundColor",n||o)},r.prototype.handleAttributes=function(){var t,e,n,o,i=this.node.attributes,s=i.getAllDefaults(),a=r.skipAttributes;try{for(var l=c(i.getExplicitNames()),u=l.next();!u.done;u=l.next()){var p=u.value;!1!==a[p]&&(p in s||a[p]||this.adaptor.hasAttribute(this.chtml,p))||this.adaptor.setAttribute(this.chtml,p,i.getExplicit(p))}}catch(e){t={error:e}}finally{try{u&&!u.done&&(e=l.return)&&e.call(l)}finally{if(t)throw t.error}}if(i.get("class")){var h=i.get("class").trim().split(/ +/);try{for(var f=c(h),d=f.next();!d.done;d=f.next()){var m=d.value;this.adaptor.addClass(this.chtml,m)}}catch(t){n={error:t}}finally{try{d&&!d.done&&(o=f.return)&&o.call(f)}finally{if(n)throw n.error}}}},r.prototype.handlePWidth=function(){this.bbox.pwidth&&(this.bbox.pwidth===f.BBox.fullWidth?this.adaptor.setAttribute(this.chtml,"width","full"):this.adaptor.setStyle(this.chtml,"width",this.bbox.pwidth))},r.prototype.setIndent=function(t,e,r){var n=this.adaptor;if("center"===e||"left"===e){var o=this.getBBox().L;n.setStyle(t,"margin-left",this.em(r+o))}if("center"===e||"right"===e){var i=this.getBBox().R;n.setStyle(t,"margin-right",this.em(-r+i))}},r.prototype.drawBBox=function(){var t=this.getBBox(),e=t.w,r=t.h,n=t.d,o=t.R,i=this.html("mjx-box",{style:{opacity:.25,"margin-left":this.em(-e-o)}},[this.html("mjx-box",{style:{height:this.em(r),width:this.em(e),"background-color":"red"}}),this.html("mjx-box",{style:{height:this.em(n),width:this.em(e),"margin-left":this.em(-e),"vertical-align":this.em(-n),"background-color":"green"}})]),s=this.chtml||this.parent.chtml,a=this.adaptor.getAttribute(s,"size");a&&this.adaptor.setAttribute(i,"size",a);var l=this.adaptor.getStyle(s,"fontSize");l&&this.adaptor.setStyle(i,"fontSize",l),this.adaptor.append(this.adaptor.parent(s),i),this.adaptor.setStyle(s,"backgroundColor","#FFEE00")},r.prototype.html=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=[]),this.jax.html(t,e,r)},r.prototype.text=function(t){return this.jax.text(t)},r.prototype.char=function(t){return this.font.charSelector(t).substr(1)},r.kind="unknown",r.autoStyle=!0,r}(h.CommonWrapper);e.CHTMLWrapper=d},9261:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLWrapperFactory=void 0;var i=r(4420),s=r(9086),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.defaultNodes=s.CHTMLWrappers,e}(i.CommonWrapperFactory);e.CHTMLWrapperFactory=a},9086:function(t,e,r){var n;Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLWrappers=void 0;var o=r(5355),i=r(804),s=r(1653),a=r(6287),l=r(6460),c=r(4597),u=r(1259),p=r(2970),h=r(5964),f=r(8147),d=r(4798),m=r(2275),y=r(9063),g=r(5610),b=r(8776),v=r(4300),_=r(6590),S=r(6781),M=r(8002),O=r(3571),x=r(7056),E=r(8102),A=r(6911),C=r(421),T=r(95),N=r(1148);e.CHTMLWrappers=((n={})[i.CHTMLmath.kind]=i.CHTMLmath,n[d.CHTMLmrow.kind]=d.CHTMLmrow,n[d.CHTMLinferredMrow.kind]=d.CHTMLinferredMrow,n[s.CHTMLmi.kind]=s.CHTMLmi,n[a.CHTMLmo.kind]=a.CHTMLmo,n[l.CHTMLmn.kind]=l.CHTMLmn,n[c.CHTMLms.kind]=c.CHTMLms,n[u.CHTMLmtext.kind]=u.CHTMLmtext,n[p.CHTMLmspace.kind]=p.CHTMLmspace,n[h.CHTMLmpadded.kind]=h.CHTMLmpadded,n[f.CHTMLmenclose.kind]=f.CHTMLmenclose,n[y.CHTMLmfrac.kind]=y.CHTMLmfrac,n[g.CHTMLmsqrt.kind]=g.CHTMLmsqrt,n[b.CHTMLmroot.kind]=b.CHTMLmroot,n[v.CHTMLmsub.kind]=v.CHTMLmsub,n[v.CHTMLmsup.kind]=v.CHTMLmsup,n[v.CHTMLmsubsup.kind]=v.CHTMLmsubsup,n[_.CHTMLmunder.kind]=_.CHTMLmunder,n[_.CHTMLmover.kind]=_.CHTMLmover,n[_.CHTMLmunderover.kind]=_.CHTMLmunderover,n[S.CHTMLmmultiscripts.kind]=S.CHTMLmmultiscripts,n[m.CHTMLmfenced.kind]=m.CHTMLmfenced,n[M.CHTMLmtable.kind]=M.CHTMLmtable,n[O.CHTMLmtr.kind]=O.CHTMLmtr,n[O.CHTMLmlabeledtr.kind]=O.CHTMLmlabeledtr,n[x.CHTMLmtd.kind]=x.CHTMLmtd,n[E.CHTMLmaction.kind]=E.CHTMLmaction,n[A.CHTMLmglyph.kind]=A.CHTMLmglyph,n[C.CHTMLsemantics.kind]=C.CHTMLsemantics,n[C.CHTMLannotation.kind]=C.CHTMLannotation,n[C.CHTMLannotationXML.kind]=C.CHTMLannotationXML,n[C.CHTMLxml.kind]=C.CHTMLxml,n[T.CHTMLTeXAtom.kind]=T.CHTMLTeXAtom,n[N.CHTMLTextNode.kind]=N.CHTMLTextNode,n[o.CHTMLWrapper.kind]=o.CHTMLWrapper,n)},95:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLTeXAtom=void 0;var i=r(5355),s=r(9800),a=r(3948),l=r(9007),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(e){if(t.prototype.toCHTML.call(this,e),this.adaptor.setAttribute(this.chtml,"texclass",l.TEXCLASSNAMES[this.node.texClass]),this.node.texClass===l.TEXCLASS.VCENTER){var r=this.childNodes[0].getBBox(),n=r.h,o=(n+r.d)/2+this.font.params.axis_height-n;this.adaptor.setStyle(this.chtml,"verticalAlign",this.em(o))}},e.kind=a.TeXAtom.prototype.kind,e}((0,s.CommonTeXAtomMixin)(i.CHTMLWrapper));e.CHTMLTeXAtom=c},1148:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLTextNode=void 0;var s=r(9007),a=r(5355),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(t){var e,r;this.markUsed();var n=this.adaptor,o=this.parent.variant,s=this.node.getText();if(0!==s.length)if("-explicitFont"===o)n.append(t,this.jax.unknownText(s,o,this.getBBox().w));else{var a=this.remappedText(s,o);try{for(var l=i(a),c=l.next();!c.done;c=l.next()){var u=c.value,p=this.getVariantChar(o,u)[3],h=p.f?" TEX-"+p.f:"",f=p.unknown?this.jax.unknownText(String.fromCodePoint(u),o):this.html("mjx-c",{class:this.char(u)+h});n.append(t,f),!p.unknown&&this.font.charUsage.add([o,u])}}catch(t){e={error:t}}finally{try{c&&!c.done&&(r=l.return)&&r.call(l)}finally{if(e)throw e.error}}}},e.kind=s.TextNode.prototype.kind,e.autoStyle=!1,e.styles={"mjx-c":{display:"inline-block"},"mjx-utext":{display:"inline-block",padding:".75em 0 .2em 0"}},e}((0,r(1160).CommonTextNodeMixin)(a.CHTMLWrapper));e.CHTMLTextNode=l},8102:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmaction=void 0;var i=r(5355),s=r(1956),a=r(1956),l=r(9145),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(t){var e=this.standardCHTMLnode(t);this.selected.toCHTML(e),this.action(this,this.data)},e.prototype.setEventHandler=function(t,e){this.chtml.addEventListener(t,e)},e.kind=l.MmlMaction.prototype.kind,e.styles={"mjx-maction":{position:"relative"},"mjx-maction > mjx-tool":{display:"none",position:"absolute",bottom:0,right:0,width:0,height:0,"z-index":500},"mjx-tool > mjx-tip":{display:"inline-block",padding:".2em",border:"1px solid #888","font-size":"70%","background-color":"#F8F8F8",color:"black","box-shadow":"2px 2px 5px #AAAAAA"},"mjx-maction[toggle]":{cursor:"pointer"},"mjx-status":{display:"block",position:"fixed",left:"1em",bottom:"1em","min-width":"25%",padding:".2em .4em",border:"1px solid #888","font-size":"90%","background-color":"#F8F8F8",color:"black"}},e.actions=new Map([["toggle",[function(t,e){t.adaptor.setAttribute(t.chtml,"toggle",t.node.attributes.get("selection"));var r=t.factory.jax.math,n=t.factory.jax.document,o=t.node;t.setEventHandler("click",(function(t){r.end.node||(r.start.node=r.end.node=r.typesetRoot,r.start.n=r.end.n=0),o.nextToggleSelection(),r.rerender(n),t.stopPropagation()}))},{}]],["tooltip",[function(t,e){var r=t.childNodes[1];if(r)if(r.node.isKind("mtext")){var n=r.node.getText();t.adaptor.setAttribute(t.chtml,"title",n)}else{var o=t.adaptor,i=o.append(t.chtml,t.html("mjx-tool",{style:{bottom:t.em(-t.dy),right:t.em(-t.dx)}},[t.html("mjx-tip")]));r.toCHTML(o.firstChild(i)),t.setEventHandler("mouseover",(function(r){e.stopTimers(t,e);var n=setTimeout((function(){return o.setStyle(i,"display","block")}),e.postDelay);e.hoverTimer.set(t,n),r.stopPropagation()})),t.setEventHandler("mouseout",(function(r){e.stopTimers(t,e);var n=setTimeout((function(){return o.setStyle(i,"display","")}),e.clearDelay);e.clearTimer.set(t,n),r.stopPropagation()}))}},a.TooltipData]],["statusline",[function(t,e){var r=t.childNodes[1];if(r&&r.node.isKind("mtext")){var n=t.adaptor,o=r.node.getText();n.setAttribute(t.chtml,"statusline",o),t.setEventHandler("mouseover",(function(r){if(null===e.status){var i=n.body(n.document);e.status=n.append(i,t.html("mjx-status",{},[t.text(o)]))}r.stopPropagation()})),t.setEventHandler("mouseout",(function(t){e.status&&(n.remove(e.status),e.status=null),t.stopPropagation()}))}},{status:null}]]]),e}((0,s.CommonMactionMixin)(i.CHTMLWrapper));e.CHTMLmaction=c},804:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s};Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmath=void 0;var s=r(5355),a=r(7490),l=r(3233),c=r(6469),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(e){t.prototype.toCHTML.call(this,e);var r=this.chtml,n=this.adaptor;"block"===this.node.attributes.get("display")?(n.setAttribute(r,"display","true"),n.setAttribute(e,"display","true"),this.handleDisplay(e)):this.handleInline(e),n.addClass(r,"MJX-TEX")},e.prototype.handleDisplay=function(t){var e=this.adaptor,r=i(this.getAlignShift(),2),n=r[0],o=r[1];if("center"!==n&&e.setAttribute(t,"justify",n),this.bbox.pwidth===c.BBox.fullWidth){if(e.setAttribute(t,"width","full"),this.jax.table){var s=this.jax.table.getOuterBBox(),a=s.L,l=s.w,u=s.R;"right"===n?u=Math.max(u||-o,-o):"left"===n?a=Math.max(a||o,o):"center"===n&&(l+=2*Math.abs(o));var p=this.em(Math.max(0,a+l+u));e.setStyle(t,"min-width",p),e.setStyle(this.jax.table.chtml,"min-width",p)}}else this.setIndent(this.chtml,n,o)},e.prototype.handleInline=function(t){var e=this.adaptor,r=e.getStyle(this.chtml,"margin-right");r&&(e.setStyle(this.chtml,"margin-right",""),e.setStyle(t,"margin-right",r),e.setStyle(t,"width","0"))},e.prototype.setChildPWidths=function(e,r,n){return void 0===r&&(r=null),void 0===n&&(n=!0),!!this.parent&&t.prototype.setChildPWidths.call(this,e,r,n)},e.kind=l.MmlMath.prototype.kind,e.styles={"mjx-math":{"line-height":0,"text-align":"left","text-indent":0,"font-style":"normal","font-weight":"normal","font-size":"100%","font-size-adjust":"none","letter-spacing":"normal","border-collapse":"collapse","word-wrap":"normal","word-spacing":"normal","white-space":"nowrap",direction:"ltr",padding:"1px 0"},'mjx-container[jax="CHTML"][display="true"]':{display:"block","text-align":"center",margin:"1em 0"},'mjx-container[jax="CHTML"][display="true"][width="full"]':{display:"flex"},'mjx-container[jax="CHTML"][display="true"] mjx-math':{padding:0},'mjx-container[jax="CHTML"][justify="left"]':{"text-align":"left"},'mjx-container[jax="CHTML"][justify="right"]':{"text-align":"right"}},e}((0,a.CommonMathMixin)(s.CHTMLWrapper));e.CHTMLmath=u},8147:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),s=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),a=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&i(e,t,r);return s(e,t),e},l=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},c=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s};Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmenclose=void 0;var u=r(5355),p=r(7313),h=a(r(8270)),f=r(6661),d=r(6010);function m(t,e){return Math.atan2(t,e).toFixed(3).replace(/\.?0+$/,"")}var y=m(h.ARROWDX,h.ARROWY),g=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(t){var e,r,n,o,i=this.adaptor,s=this.standardCHTMLnode(t),a=i.append(s,this.html("mjx-box"));this.renderChild?this.renderChild(this,a):this.childNodes[0].toCHTML(a);try{for(var c=l(Object.keys(this.notations)),u=c.next();!u.done;u=c.next()){var p=u.value,f=this.notations[p];!f.renderChild&&f.renderer(this,a)}}catch(t){e={error:t}}finally{try{u&&!u.done&&(r=c.return)&&r.call(c)}finally{if(e)throw e.error}}var d=this.getPadding();try{for(var m=l(h.sideNames),y=m.next();!y.done;y=m.next()){var g=y.value,b=h.sideIndex[g];d[b]>0&&i.setStyle(a,"padding-"+g,this.em(d[b]))}}catch(t){n={error:t}}finally{try{y&&!y.done&&(o=m.return)&&o.call(m)}finally{if(n)throw n.error}}},e.prototype.arrow=function(t,e,r,n,o){void 0===n&&(n=""),void 0===o&&(o=0);var i=this.getBBox().w,s={width:this.em(t)};i!==t&&(s.left=this.em((i-t)/2)),e&&(s.transform="rotate("+this.fixed(e)+"rad)");var a=this.html("mjx-arrow",{style:s},[this.html("mjx-aline"),this.html("mjx-rthead"),this.html("mjx-rbhead")]);return r&&(this.adaptor.append(a,this.html("mjx-lthead")),this.adaptor.append(a,this.html("mjx-lbhead")),this.adaptor.setAttribute(a,"double","true")),this.adjustArrow(a,r),this.moveArrow(a,n,o),a},e.prototype.adjustArrow=function(t,e){var r=this,n=this.thickness,o=this.arrowhead;if(o.x!==h.ARROWX||o.y!==h.ARROWY||o.dx!==h.ARROWDX||n!==h.THICKNESS){var i=c([n*o.x,n*o.y].map((function(t){return r.em(t)})),2),s=i[0],a=i[1],l=m(o.dx,o.y),u=c(this.adaptor.childNodes(t),5),p=u[0],f=u[1],d=u[2],y=u[3],g=u[4];this.adjustHead(f,[a,"0","1px",s],l),this.adjustHead(d,["1px","0",a,s],"-"+l),this.adjustHead(y,[a,s,"1px","0"],"-"+l),this.adjustHead(g,["1px",s,a,"0"],l),this.adjustLine(p,n,o.x,e)}},e.prototype.adjustHead=function(t,e,r){t&&(this.adaptor.setStyle(t,"border-width",e.join(" ")),this.adaptor.setStyle(t,"transform","skewX("+r+"rad)"))},e.prototype.adjustLine=function(t,e,r,n){this.adaptor.setStyle(t,"borderTop",this.em(e)+" solid"),this.adaptor.setStyle(t,"top",this.em(-e/2)),this.adaptor.setStyle(t,"right",this.em(e*(r-1))),n&&this.adaptor.setStyle(t,"left",this.em(e*(r-1)))},e.prototype.moveArrow=function(t,e,r){if(r){var n=this.adaptor.getStyle(t,"transform");this.adaptor.setStyle(t,"transform","translate".concat(e,"(").concat(this.em(-r),")").concat(n?" "+n:""))}},e.prototype.adjustBorder=function(t){return this.thickness!==h.THICKNESS&&this.adaptor.setStyle(t,"borderWidth",this.em(this.thickness)),t},e.prototype.adjustThickness=function(t){return this.thickness!==h.THICKNESS&&this.adaptor.setStyle(t,"strokeWidth",this.fixed(this.thickness)),t},e.prototype.fixed=function(t,e){return void 0===e&&(e=3),Math.abs(t)<6e-4?"0":t.toFixed(e).replace(/\.?0+$/,"")},e.prototype.em=function(e){return t.prototype.em.call(this,e)},e.kind=f.MmlMenclose.prototype.kind,e.styles={"mjx-menclose":{position:"relative"},"mjx-menclose > mjx-dstrike":{display:"inline-block",left:0,top:0,position:"absolute","border-top":h.SOLID,"transform-origin":"top left"},"mjx-menclose > mjx-ustrike":{display:"inline-block",left:0,bottom:0,position:"absolute","border-top":h.SOLID,"transform-origin":"bottom left"},"mjx-menclose > mjx-hstrike":{"border-top":h.SOLID,position:"absolute",left:0,right:0,bottom:"50%",transform:"translateY("+(0,d.em)(h.THICKNESS/2)+")"},"mjx-menclose > mjx-vstrike":{"border-left":h.SOLID,position:"absolute",top:0,bottom:0,right:"50%",transform:"translateX("+(0,d.em)(h.THICKNESS/2)+")"},"mjx-menclose > mjx-rbox":{position:"absolute",top:0,bottom:0,right:0,left:0,border:h.SOLID,"border-radius":(0,d.em)(h.THICKNESS+h.PADDING)},"mjx-menclose > mjx-cbox":{position:"absolute",top:0,bottom:0,right:0,left:0,border:h.SOLID,"border-radius":"50%"},"mjx-menclose > mjx-arrow":{position:"absolute",left:0,bottom:"50%",height:0,width:0},"mjx-menclose > mjx-arrow > *":{display:"block",position:"absolute","transform-origin":"bottom","border-left":(0,d.em)(h.THICKNESS*h.ARROWX)+" solid","border-right":0,"box-sizing":"border-box"},"mjx-menclose > mjx-arrow > mjx-aline":{left:0,top:(0,d.em)(-h.THICKNESS/2),right:(0,d.em)(h.THICKNESS*(h.ARROWX-1)),height:0,"border-top":(0,d.em)(h.THICKNESS)+" solid","border-left":0},"mjx-menclose > mjx-arrow[double] > mjx-aline":{left:(0,d.em)(h.THICKNESS*(h.ARROWX-1)),height:0},"mjx-menclose > mjx-arrow > mjx-rthead":{transform:"skewX("+y+"rad)",right:0,bottom:"-1px","border-bottom":"1px solid transparent","border-top":(0,d.em)(h.THICKNESS*h.ARROWY)+" solid transparent"},"mjx-menclose > mjx-arrow > mjx-rbhead":{transform:"skewX(-"+y+"rad)","transform-origin":"top",right:0,top:"-1px","border-top":"1px solid transparent","border-bottom":(0,d.em)(h.THICKNESS*h.ARROWY)+" solid transparent"},"mjx-menclose > mjx-arrow > mjx-lthead":{transform:"skewX(-"+y+"rad)",left:0,bottom:"-1px","border-left":0,"border-right":(0,d.em)(h.THICKNESS*h.ARROWX)+" solid","border-bottom":"1px solid transparent","border-top":(0,d.em)(h.THICKNESS*h.ARROWY)+" solid transparent"},"mjx-menclose > mjx-arrow > mjx-lbhead":{transform:"skewX("+y+"rad)","transform-origin":"top",left:0,top:"-1px","border-left":0,"border-right":(0,d.em)(h.THICKNESS*h.ARROWX)+" solid","border-top":"1px solid transparent","border-bottom":(0,d.em)(h.THICKNESS*h.ARROWY)+" solid transparent"},"mjx-menclose > dbox":{position:"absolute",top:0,bottom:0,left:(0,d.em)(-1.5*h.PADDING),width:(0,d.em)(3*h.PADDING),border:(0,d.em)(h.THICKNESS)+" solid","border-radius":"50%","clip-path":"inset(0 0 0 "+(0,d.em)(1.5*h.PADDING)+")","box-sizing":"border-box"}},e.notations=new Map([h.Border("top"),h.Border("right"),h.Border("bottom"),h.Border("left"),h.Border2("actuarial","top","right"),h.Border2("madruwb","bottom","right"),h.DiagonalStrike("up",1),h.DiagonalStrike("down",-1),["horizontalstrike",{renderer:h.RenderElement("hstrike","Y"),bbox:function(t){return[0,t.padding,0,t.padding]}}],["verticalstrike",{renderer:h.RenderElement("vstrike","X"),bbox:function(t){return[t.padding,0,t.padding,0]}}],["box",{renderer:function(t,e){t.adaptor.setStyle(e,"border",t.em(t.thickness)+" solid")},bbox:h.fullBBox,border:h.fullBorder,remove:"left right top bottom"}],["roundedbox",{renderer:h.RenderElement("rbox"),bbox:h.fullBBox}],["circle",{renderer:h.RenderElement("cbox"),bbox:h.fullBBox}],["phasorangle",{renderer:function(t,e){var r=t.getBBox(),n=r.h,o=r.d,i=c(t.getArgMod(1.75*t.padding,n+o),2),s=i[0],a=i[1],l=t.thickness*Math.sin(s)*.9;t.adaptor.setStyle(e,"border-bottom",t.em(t.thickness)+" solid");var u=t.adjustBorder(t.html("mjx-ustrike",{style:{width:t.em(a),transform:"translateX("+t.em(l)+") rotate("+t.fixed(-s)+"rad)"}}));t.adaptor.append(t.chtml,u)},bbox:function(t){var e=t.padding/2,r=t.thickness;return[2*e,e,e+r,3*e+r]},border:function(t){return[0,0,t.thickness,0]},remove:"bottom"}],h.Arrow("up"),h.Arrow("down"),h.Arrow("left"),h.Arrow("right"),h.Arrow("updown"),h.Arrow("leftright"),h.DiagonalArrow("updiagonal"),h.DiagonalArrow("northeast"),h.DiagonalArrow("southeast"),h.DiagonalArrow("northwest"),h.DiagonalArrow("southwest"),h.DiagonalArrow("northeastsouthwest"),h.DiagonalArrow("northwestsoutheast"),["longdiv",{renderer:function(t,e){var r=t.adaptor;r.setStyle(e,"border-top",t.em(t.thickness)+" solid");var n=r.append(t.chtml,t.html("dbox")),o=t.thickness,i=t.padding;o!==h.THICKNESS&&r.setStyle(n,"border-width",t.em(o)),i!==h.PADDING&&(r.setStyle(n,"left",t.em(-1.5*i)),r.setStyle(n,"width",t.em(3*i)),r.setStyle(n,"clip-path","inset(0 0 0 "+t.em(1.5*i)+")"))},bbox:function(t){var e=t.padding,r=t.thickness;return[e+r,e,e,2*e+r/2]}}],["radical",{renderer:function(t,e){t.msqrt.toCHTML(e);var r=t.sqrtTRBL();t.adaptor.setStyle(t.msqrt.chtml,"margin",r.map((function(e){return t.em(-e)})).join(" "))},init:function(t){t.msqrt=t.createMsqrt(t.childNodes[0])},bbox:function(t){return t.sqrtTRBL()},renderChild:!0}]]),e}((0,p.CommonMencloseMixin)(u.CHTMLWrapper));e.CHTMLmenclose=g},2275:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmfenced=void 0;var i=r(5355),s=r(7555),a=r(5410),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(t){var e=this.standardCHTMLnode(t);this.mrow.toCHTML(e)},e.kind=a.MmlMfenced.prototype.kind,e}((0,s.CommonMfencedMixin)(i.CHTMLWrapper));e.CHTMLmfenced=l},9063:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__assign||function(){return i=Object.assign||function(t){for(var e,r=1,n=arguments.length;r *":{"font-size":"2000%"},"mjx-dbox":{display:"block","font-size":"5%"},"mjx-num":{display:"block","text-align":"center"},"mjx-den":{display:"block","text-align":"center"},"mjx-mfrac[bevelled] > mjx-num":{display:"inline-block"},"mjx-mfrac[bevelled] > mjx-den":{display:"inline-block"},'mjx-den[align="right"], mjx-num[align="right"]':{"text-align":"right"},'mjx-den[align="left"], mjx-num[align="left"]':{"text-align":"left"},"mjx-nstrut":{display:"inline-block",height:".054em",width:0,"vertical-align":"-.054em"},'mjx-nstrut[type="d"]':{height:".217em","vertical-align":"-.217em"},"mjx-dstrut":{display:"inline-block",height:".505em",width:0},'mjx-dstrut[type="d"]':{height:".726em"},"mjx-line":{display:"block","box-sizing":"border-box","min-height":"1px",height:".06em","border-top":".06em solid",margin:".06em -.1em",overflow:"hidden"},'mjx-line[type="d"]':{margin:".18em -.1em"}},e}((0,a.CommonMfracMixin)(s.CHTMLWrapper));e.CHTMLmfrac=c},6911:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmglyph=void 0;var i=r(5355),s=r(5636),a=r(3985),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(t){var e=this.standardCHTMLnode(t);if(this.charWrapper)this.charWrapper.toCHTML(e);else{var r=this.node.attributes.getList("src","alt"),n=r.src,o=r.alt,i={width:this.em(this.width),height:this.em(this.height)};this.valign&&(i.verticalAlign=this.em(this.valign));var s=this.html("img",{src:n,style:i,alt:o,title:o});this.adaptor.append(e,s)}},e.kind=a.MmlMglyph.prototype.kind,e.styles={"mjx-mglyph > img":{display:"inline-block",border:0,padding:0}},e}((0,s.CommonMglyphMixin)(i.CHTMLWrapper));e.CHTMLmglyph=l},1653:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmi=void 0;var i=r(5355),s=r(5723),a=r(450),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.kind=a.MmlMi.prototype.kind,e}((0,s.CommonMiMixin)(i.CHTMLWrapper));e.CHTMLmi=l},6781:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s};Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmmultiscripts=void 0;var s=r(4300),a=r(8009),l=r(6405),c=r(505),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(t){var e=this.standardCHTMLnode(t),r=this.scriptData,n=this.node.getProperty("scriptalign")||"right left",o=i((0,c.split)(n+" "+n),2),s=o[0],a=o[1],l=this.combinePrePost(r.sub,r.psub),u=this.combinePrePost(r.sup,r.psup),p=i(this.getUVQ(l,u),2),h=p[0],f=p[1];if(r.numPrescripts){var d=this.addScripts(h,-f,!0,r.psub,r.psup,this.firstPrescript,r.numPrescripts);"right"!==s&&this.adaptor.setAttribute(d,"script-align",s)}if(this.childNodes[0].toCHTML(e),r.numScripts){d=this.addScripts(h,-f,!1,r.sub,r.sup,1,r.numScripts);"left"!==a&&this.adaptor.setAttribute(d,"script-align",a)}},e.prototype.addScripts=function(t,e,r,n,o,i,s){for(var a=this.adaptor,l=t-o.d+(e-n.h),c=t<0&&0===e?n.h+t:t,u=l>0?{style:{height:this.em(l)}}:{},p=c?{style:{"vertical-align":this.em(c)}}:{},h=this.html("mjx-row"),f=this.html("mjx-row",u),d=this.html("mjx-row"),m="mjx-"+(r?"pre":"")+"scripts",y=i+2*s;i mjx-row > mjx-cell":{"text-align":"right"},'[script-align="left"] > mjx-row > mjx-cell':{"text-align":"left"},'[script-align="center"] > mjx-row > mjx-cell':{"text-align":"center"},'[script-align="right"] > mjx-row > mjx-cell':{"text-align":"right"}},e}((0,a.CommonMmultiscriptsMixin)(s.CHTMLmsubsup));e.CHTMLmmultiscripts=u},6460:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmn=void 0;var i=r(5355),s=r(5023),a=r(3050),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.kind=a.MmlMn.prototype.kind,e}((0,s.CommonMnMixin)(i.CHTMLWrapper));e.CHTMLmn=l},6287:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmo=void 0;var s=r(5355),a=r(7096),l=r(2756),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(t){var e,r,n=this.node.attributes,o=n.get("symmetric")&&2!==this.stretch.dir,s=0!==this.stretch.dir;s&&null===this.size&&this.getStretchedVariant([]);var a=this.standardCHTMLnode(t);if(s&&this.size<0)this.stretchHTML(a);else{if(o||n.get("largeop")){var l=this.em(this.getCenterOffset());"0"!==l&&this.adaptor.setStyle(a,"verticalAlign",l)}this.node.getProperty("mathaccent")&&(this.adaptor.setStyle(a,"width","0"),this.adaptor.setStyle(a,"margin-left",this.em(this.getAccentOffset())));try{for(var c=i(this.childNodes),u=c.next();!u.done;u=c.next()){u.value.toCHTML(a)}}catch(t){e={error:t}}finally{try{u&&!u.done&&(r=c.return)&&r.call(c)}finally{if(e)throw e.error}}}},e.prototype.stretchHTML=function(t){var e=this.getText().codePointAt(0);this.font.delimUsage.add(e),this.childNodes[0].markUsed();var r=this.stretch,n=r.stretch,o=[];n[0]&&o.push(this.html("mjx-beg",{},[this.html("mjx-c")])),o.push(this.html("mjx-ext",{},[this.html("mjx-c")])),4===n.length&&o.push(this.html("mjx-mid",{},[this.html("mjx-c")]),this.html("mjx-ext",{},[this.html("mjx-c")])),n[2]&&o.push(this.html("mjx-end",{},[this.html("mjx-c")]));var i={},s=this.bbox,l=s.h,c=s.d,u=s.w;1===r.dir?(o.push(this.html("mjx-mark")),i.height=this.em(l+c),i.verticalAlign=this.em(-c)):i.width=this.em(u);var p=a.DirectionVH[r.dir],h={class:this.char(r.c||e),style:i},f=this.html("mjx-stretchy-"+p,h,o);this.adaptor.append(t,f)},e.kind=l.MmlMo.prototype.kind,e.styles={"mjx-stretchy-h":{display:"inline-table",width:"100%"},"mjx-stretchy-h > *":{display:"table-cell",width:0},"mjx-stretchy-h > * > mjx-c":{display:"inline-block",transform:"scalex(1.0000001)"},"mjx-stretchy-h > * > mjx-c::before":{display:"inline-block",width:"initial"},"mjx-stretchy-h > mjx-ext":{"/* IE */ overflow":"hidden","/* others */ overflow":"clip visible",width:"100%"},"mjx-stretchy-h > mjx-ext > mjx-c::before":{transform:"scalex(500)"},"mjx-stretchy-h > mjx-ext > mjx-c":{width:0},"mjx-stretchy-h > mjx-beg > mjx-c":{"margin-right":"-.1em"},"mjx-stretchy-h > mjx-end > mjx-c":{"margin-left":"-.1em"},"mjx-stretchy-v":{display:"inline-block"},"mjx-stretchy-v > *":{display:"block"},"mjx-stretchy-v > mjx-beg":{height:0},"mjx-stretchy-v > mjx-end > mjx-c":{display:"block"},"mjx-stretchy-v > * > mjx-c":{transform:"scaley(1.0000001)","transform-origin":"left center",overflow:"hidden"},"mjx-stretchy-v > mjx-ext":{display:"block",height:"100%","box-sizing":"border-box",border:"0px solid transparent","/* IE */ overflow":"hidden","/* others */ overflow":"visible clip"},"mjx-stretchy-v > mjx-ext > mjx-c::before":{width:"initial","box-sizing":"border-box"},"mjx-stretchy-v > mjx-ext > mjx-c":{transform:"scaleY(500) translateY(.075em)",overflow:"visible"},"mjx-mark":{display:"inline-block",height:"0px"}},e}((0,a.CommonMoMixin)(s.CHTMLWrapper));e.CHTMLmo=c},5964:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},s=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmpadded=void 0;var a=r(5355),l=r(6898),c=r(7238),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(t){var e,r,n=this.standardCHTMLnode(t),o=[],a={},l=i(this.getDimens(),9),c=l[2],u=l[3],p=l[4],h=l[5],f=l[6],d=l[7],m=l[8];if(h&&(a.width=this.em(c+h)),(u||p)&&(a.margin=this.em(u)+" 0 "+this.em(p)),f+m||d){a.position="relative";var y=this.html("mjx-rbox",{style:{left:this.em(f+m),top:this.em(-d),"max-width":a.width}});f+m&&this.childNodes[0].getBBox().pwidth&&(this.adaptor.setAttribute(y,"width","full"),this.adaptor.setStyle(y,"left",this.em(f))),o.push(y)}n=this.adaptor.append(n,this.html("mjx-block",{style:a},o));try{for(var g=s(this.childNodes),b=g.next();!b.done;b=g.next()){b.value.toCHTML(o[0]||n)}}catch(t){e={error:t}}finally{try{b&&!b.done&&(r=g.return)&&r.call(g)}finally{if(e)throw e.error}}},e.kind=c.MmlMpadded.prototype.kind,e.styles={"mjx-mpadded":{display:"inline-block"},"mjx-rbox":{display:"inline-block",position:"relative"}},e}((0,l.CommonMpaddedMixin)(a.CHTMLWrapper));e.CHTMLmpadded=u},8776:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s};Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmroot=void 0;var s=r(5610),a=r(6991),l=r(6145),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.addRoot=function(t,e,r,n){e.toCHTML(t);var o=i(this.getRootDimens(r,n),3),s=o[0],a=o[1],l=o[2];this.adaptor.setStyle(t,"verticalAlign",this.em(a)),this.adaptor.setStyle(t,"width",this.em(s)),l&&this.adaptor.setStyle(this.adaptor.firstChild(t),"paddingLeft",this.em(l))},e.kind=l.MmlMroot.prototype.kind,e}((0,a.CommonMrootMixin)(s.CHTMLmsqrt));e.CHTMLmroot=c},4798:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLinferredMrow=e.CHTMLmrow=void 0;var s=r(5355),a=r(8411),l=r(8411),c=r(9878),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(t){var e,r,n=this.node.isInferred?this.chtml=t:this.standardCHTMLnode(t),o=!1;try{for(var s=i(this.childNodes),a=s.next();!a.done;a=s.next()){var l=a.value;l.toCHTML(n),l.bbox.w<0&&(o=!0)}}catch(t){e={error:t}}finally{try{a&&!a.done&&(r=s.return)&&r.call(s)}finally{if(e)throw e.error}}if(o){var c=this.getBBox().w;c&&(this.adaptor.setStyle(n,"width",this.em(Math.max(0,c))),c<0&&this.adaptor.setStyle(n,"marginRight",this.em(c)))}},e.kind=c.MmlMrow.prototype.kind,e}((0,a.CommonMrowMixin)(s.CHTMLWrapper));e.CHTMLmrow=u;var p=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.kind=c.MmlInferredMrow.prototype.kind,e}((0,l.CommonInferredMrowMixin)(u));e.CHTMLinferredMrow=p},4597:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLms=void 0;var i=r(5355),s=r(4126),a=r(7265),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.kind=a.MmlMs.prototype.kind,e}((0,s.CommonMsMixin)(i.CHTMLWrapper));e.CHTMLms=l},2970:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmspace=void 0;var i=r(5355),s=r(258),a=r(6030),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(t){var e=this.standardCHTMLnode(t),r=this.getBBox(),n=r.w,o=r.h,i=r.d;n<0&&(this.adaptor.setStyle(e,"marginRight",this.em(n)),n=0),n&&this.adaptor.setStyle(e,"width",this.em(n)),(o=Math.max(0,o+i))&&this.adaptor.setStyle(e,"height",this.em(Math.max(0,o))),i&&this.adaptor.setStyle(e,"verticalAlign",this.em(-i))},e.kind=a.MmlMspace.prototype.kind,e}((0,s.CommonMspaceMixin)(i.CHTMLWrapper));e.CHTMLmspace=l},5610:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s};Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmsqrt=void 0;var s=r(5355),a=r(4093),l=r(7131),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(t){var e,r,n,o,s=this.childNodes[this.surd],a=this.childNodes[this.base],l=s.getBBox(),c=a.getOuterBBox(),u=i(this.getPQ(l),2)[1],p=this.font.params.rule_thickness,h=c.h+u+p,f=this.standardCHTMLnode(t);null!=this.root&&(n=this.adaptor.append(f,this.html("mjx-root")),o=this.childNodes[this.root]);var d=this.adaptor.append(f,this.html("mjx-sqrt",{},[e=this.html("mjx-surd"),r=this.html("mjx-box",{style:{paddingTop:this.em(u)}})]));this.addRoot(n,o,l,h),s.toCHTML(e),a.toCHTML(r),s.size<0&&this.adaptor.addClass(d,"mjx-tall")},e.prototype.addRoot=function(t,e,r,n){},e.kind=l.MmlMsqrt.prototype.kind,e.styles={"mjx-root":{display:"inline-block","white-space":"nowrap"},"mjx-surd":{display:"inline-block","vertical-align":"top"},"mjx-sqrt":{display:"inline-block","padding-top":".07em"},"mjx-sqrt > mjx-box":{"border-top":".07em solid"},"mjx-sqrt.mjx-tall > mjx-box":{"padding-left":".3em","margin-left":"-.3em"}},e}((0,a.CommonMsqrtMixin)(s.CHTMLWrapper));e.CHTMLmsqrt=c},4300:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s};Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmsubsup=e.CHTMLmsup=e.CHTMLmsub=void 0;var s=r(8650),a=r(905),l=r(905),c=r(905),u=r(4461),p=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.kind=u.MmlMsub.prototype.kind,e}((0,a.CommonMsubMixin)(s.CHTMLscriptbase));e.CHTMLmsub=p;var h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.kind=u.MmlMsup.prototype.kind,e}((0,l.CommonMsupMixin)(s.CHTMLscriptbase));e.CHTMLmsup=h;var f=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(t){var e=this.adaptor,r=this.standardCHTMLnode(t),n=i([this.baseChild,this.supChild,this.subChild],3),o=n[0],s=n[1],a=n[2],l=i(this.getUVQ(),3),c=l[1],u=l[2],p={"vertical-align":this.em(c)};o.toCHTML(r);var h=e.append(r,this.html("mjx-script",{style:p}));s.toCHTML(h),e.append(h,this.html("mjx-spacer",{style:{"margin-top":this.em(u)}})),a.toCHTML(h);var f=this.getAdjustedIc();f&&e.setStyle(s.chtml,"marginLeft",this.em(f/s.bbox.rscale)),this.baseRemoveIc&&e.setStyle(h,"marginLeft",this.em(-this.baseIc))},e.kind=u.MmlMsubsup.prototype.kind,e.styles={"mjx-script":{display:"inline-block","padding-right":".05em","padding-left":".033em"},"mjx-script > mjx-spacer":{display:"block"}},e}((0,c.CommonMsubsupMixin)(s.CHTMLscriptbase));e.CHTMLmsubsup=f},8002:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},s=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s};Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmtable=void 0;var a=r(5355),l=r(6237),c=r(1349),u=r(505),p=function(t){function e(e,r,n){void 0===n&&(n=null);var o=t.call(this,e,r,n)||this;return o.itable=o.html("mjx-itable"),o.labels=o.html("mjx-itable"),o}return o(e,t),e.prototype.getAlignShift=function(){var e=t.prototype.getAlignShift.call(this);return this.isTop||(e[1]=0),e},e.prototype.toCHTML=function(t){var e,r,n=this.standardCHTMLnode(t);this.adaptor.append(n,this.html("mjx-table",{},[this.itable]));try{for(var o=i(this.childNodes),s=o.next();!s.done;s=o.next()){s.value.toCHTML(this.itable)}}catch(t){e={error:t}}finally{try{s&&!s.done&&(r=o.return)&&r.call(o)}finally{if(e)throw e.error}}this.padRows(),this.handleColumnSpacing(),this.handleColumnLines(),this.handleColumnWidths(),this.handleRowSpacing(),this.handleRowLines(),this.handleRowHeights(),this.handleFrame(),this.handleWidth(),this.handleLabels(),this.handleAlign(),this.handleJustify(),this.shiftColor()},e.prototype.shiftColor=function(){var t=this.adaptor,e=t.getStyle(this.chtml,"backgroundColor");e&&(t.setStyle(this.chtml,"backgroundColor",""),t.setStyle(this.itable,"backgroundColor",e))},e.prototype.padRows=function(){var t,e,r=this.adaptor;try{for(var n=i(r.childNodes(this.itable)),o=n.next();!o.done;o=n.next())for(var s=o.value;r.childNodes(s).length1&&"0.4em"!==m||a&&1===p)&&this.adaptor.setStyle(g,"paddingLeft",m),(p1&&"0.215em"!==h||a&&1===l)&&this.adaptor.setStyle(y.chtml,"paddingTop",h),(l mjx-itable":{"vertical-align":"middle","text-align":"left","box-sizing":"border-box"},"mjx-labels > mjx-itable":{position:"absolute",top:0},'mjx-mtable[justify="left"]':{"text-align":"left"},'mjx-mtable[justify="right"]':{"text-align":"right"},'mjx-mtable[justify="left"][side="left"]':{"padding-right":"0 ! important"},'mjx-mtable[justify="left"][side="right"]':{"padding-left":"0 ! important"},'mjx-mtable[justify="right"][side="left"]':{"padding-right":"0 ! important"},'mjx-mtable[justify="right"][side="right"]':{"padding-left":"0 ! important"},"mjx-mtable[align]":{"vertical-align":"baseline"},'mjx-mtable[align="top"] > mjx-table':{"vertical-align":"top"},'mjx-mtable[align="bottom"] > mjx-table':{"vertical-align":"bottom"},'mjx-mtable[side="right"] mjx-labels':{"min-width":"100%"}},e}((0,l.CommonMtableMixin)(a.CHTMLWrapper));e.CHTMLmtable=p},7056:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmtd=void 0;var i=r(5355),s=r(5164),a=r(4359),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(e){t.prototype.toCHTML.call(this,e);var r=this.node.attributes.get("rowalign"),n=this.node.attributes.get("columnalign");r!==this.parent.node.attributes.get("rowalign")&&this.adaptor.setAttribute(this.chtml,"rowalign",r),"center"===n||"mlabeledtr"===this.parent.kind&&this===this.parent.childNodes[0]&&n===this.parent.parent.node.attributes.get("side")||this.adaptor.setStyle(this.chtml,"textAlign",n),this.parent.parent.node.getProperty("useHeight")&&this.adaptor.append(this.chtml,this.html("mjx-tstrut"))},e.kind=a.MmlMtd.prototype.kind,e.styles={"mjx-mtd":{display:"table-cell","text-align":"center",padding:".215em .4em"},"mjx-mtd:first-child":{"padding-left":0},"mjx-mtd:last-child":{"padding-right":0},"mjx-mtable > * > mjx-itable > *:first-child > mjx-mtd":{"padding-top":0},"mjx-mtable > * > mjx-itable > *:last-child > mjx-mtd":{"padding-bottom":0},"mjx-tstrut":{display:"inline-block",height:"1em","vertical-align":"-.25em"},'mjx-labels[align="left"] > mjx-mtr > mjx-mtd':{"text-align":"left"},'mjx-labels[align="right"] > mjx-mtr > mjx-mtd':{"text-align":"right"},"mjx-mtd[extra]":{padding:0},'mjx-mtd[rowalign="top"]':{"vertical-align":"top"},'mjx-mtd[rowalign="center"]':{"vertical-align":"middle"},'mjx-mtd[rowalign="bottom"]':{"vertical-align":"bottom"},'mjx-mtd[rowalign="baseline"]':{"vertical-align":"baseline"},'mjx-mtd[rowalign="axis"]':{"vertical-align":".25em"}},e}((0,s.CommonMtdMixin)(i.CHTMLWrapper));e.CHTMLmtd=l},1259:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmtext=void 0;var i=r(5355),s=r(6319),a=r(4770),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.kind=a.MmlMtext.prototype.kind,e}((0,s.CommonMtextMixin)(i.CHTMLWrapper));e.CHTMLmtext=l},3571:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmlabeledtr=e.CHTMLmtr=void 0;var i=r(5355),s=r(5766),a=r(5766),l=r(5022),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(e){t.prototype.toCHTML.call(this,e);var r=this.node.attributes.get("rowalign");"baseline"!==r&&this.adaptor.setAttribute(this.chtml,"rowalign",r)},e.kind=l.MmlMtr.prototype.kind,e.styles={"mjx-mtr":{display:"table-row"},'mjx-mtr[rowalign="top"] > mjx-mtd':{"vertical-align":"top"},'mjx-mtr[rowalign="center"] > mjx-mtd':{"vertical-align":"middle"},'mjx-mtr[rowalign="bottom"] > mjx-mtd':{"vertical-align":"bottom"},'mjx-mtr[rowalign="baseline"] > mjx-mtd':{"vertical-align":"baseline"},'mjx-mtr[rowalign="axis"] > mjx-mtd':{"vertical-align":".25em"}},e}((0,s.CommonMtrMixin)(i.CHTMLWrapper));e.CHTMLmtr=c;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(e){t.prototype.toCHTML.call(this,e);var r=this.adaptor.firstChild(this.chtml);if(r){this.adaptor.remove(r);var n=this.node.attributes.get("rowalign"),o="baseline"!==n&&"axis"!==n?{rowalign:n}:{},i=this.html("mjx-mtr",o,[r]);this.adaptor.append(this.parent.labels,i)}},e.prototype.markUsed=function(){t.prototype.markUsed.call(this),this.jax.wrapperUsage.add(c.kind)},e.kind=l.MmlMlabeledtr.prototype.kind,e.styles={"mjx-mlabeledtr":{display:"table-row"},'mjx-mlabeledtr[rowalign="top"] > mjx-mtd':{"vertical-align":"top"},'mjx-mlabeledtr[rowalign="center"] > mjx-mtd':{"vertical-align":"middle"},'mjx-mlabeledtr[rowalign="bottom"] > mjx-mtd':{"vertical-align":"bottom"},'mjx-mlabeledtr[rowalign="baseline"] > mjx-mtd':{"vertical-align":"baseline"},'mjx-mlabeledtr[rowalign="axis"] > mjx-mtd':{"vertical-align":".25em"}},e}((0,a.CommonMlabeledtrMixin)(c));e.CHTMLmlabeledtr=u},6590:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmunderover=e.CHTMLmover=e.CHTMLmunder=void 0;var i=r(4300),s=r(1971),a=r(1971),l=r(1971),c=r(5184),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(e){if(this.hasMovableLimits())return t.prototype.toCHTML.call(this,e),void this.adaptor.setAttribute(this.chtml,"limits","false");this.chtml=this.standardCHTMLnode(e);var r=this.adaptor.append(this.adaptor.append(this.chtml,this.html("mjx-row")),this.html("mjx-base")),n=this.adaptor.append(this.adaptor.append(this.chtml,this.html("mjx-row")),this.html("mjx-under"));this.baseChild.toCHTML(r),this.scriptChild.toCHTML(n);var o=this.baseChild.getOuterBBox(),i=this.scriptChild.getOuterBBox(),s=this.getUnderKV(o,i)[0],a=this.isLineBelow?0:this.getDelta(!0);this.adaptor.setStyle(n,"paddingTop",this.em(s)),this.setDeltaW([r,n],this.getDeltaW([o,i],[0,-a])),this.adjustUnderDepth(n,i)},e.kind=c.MmlMunder.prototype.kind,e.styles={"mjx-over":{"text-align":"left"},'mjx-munder:not([limits="false"])':{display:"inline-table"},"mjx-munder > mjx-row":{"text-align":"left"},"mjx-under":{"padding-bottom":".1em"}},e}((0,s.CommonMunderMixin)(i.CHTMLmsub));e.CHTMLmunder=u;var p=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(e){if(this.hasMovableLimits())return t.prototype.toCHTML.call(this,e),void this.adaptor.setAttribute(this.chtml,"limits","false");this.chtml=this.standardCHTMLnode(e);var r=this.adaptor.append(this.chtml,this.html("mjx-over")),n=this.adaptor.append(this.chtml,this.html("mjx-base"));this.scriptChild.toCHTML(r),this.baseChild.toCHTML(n);var o=this.scriptChild.getOuterBBox(),i=this.baseChild.getOuterBBox();this.adjustBaseHeight(n,i);var s=this.getOverKU(i,o)[0],a=this.isLineAbove?0:this.getDelta();this.adaptor.setStyle(r,"paddingBottom",this.em(s)),this.setDeltaW([n,r],this.getDeltaW([i,o],[0,a])),this.adjustOverDepth(r,o)},e.kind=c.MmlMover.prototype.kind,e.styles={'mjx-mover:not([limits="false"])':{"padding-top":".1em"},'mjx-mover:not([limits="false"]) > *':{display:"block","text-align":"left"}},e}((0,a.CommonMoverMixin)(i.CHTMLmsup));e.CHTMLmover=p;var h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(e){if(this.hasMovableLimits())return t.prototype.toCHTML.call(this,e),void this.adaptor.setAttribute(this.chtml,"limits","false");this.chtml=this.standardCHTMLnode(e);var r=this.adaptor.append(this.chtml,this.html("mjx-over")),n=this.adaptor.append(this.adaptor.append(this.chtml,this.html("mjx-box")),this.html("mjx-munder")),o=this.adaptor.append(this.adaptor.append(n,this.html("mjx-row")),this.html("mjx-base")),i=this.adaptor.append(this.adaptor.append(n,this.html("mjx-row")),this.html("mjx-under"));this.overChild.toCHTML(r),this.baseChild.toCHTML(o),this.underChild.toCHTML(i);var s=this.overChild.getOuterBBox(),a=this.baseChild.getOuterBBox(),l=this.underChild.getOuterBBox();this.adjustBaseHeight(o,a);var c=this.getOverKU(a,s)[0],u=this.getUnderKV(a,l)[0],p=this.getDelta();this.adaptor.setStyle(r,"paddingBottom",this.em(c)),this.adaptor.setStyle(i,"paddingTop",this.em(u)),this.setDeltaW([o,i,r],this.getDeltaW([a,l,s],[0,this.isLineBelow?0:-p,this.isLineAbove?0:p])),this.adjustOverDepth(r,s),this.adjustUnderDepth(i,l)},e.prototype.markUsed=function(){t.prototype.markUsed.call(this),this.jax.wrapperUsage.add(i.CHTMLmsubsup.kind)},e.kind=c.MmlMunderover.prototype.kind,e.styles={'mjx-munderover:not([limits="false"])':{"padding-top":".1em"},'mjx-munderover:not([limits="false"]) > *':{display:"block"}},e}((0,l.CommonMunderoverMixin)(i.CHTMLmsubsup));e.CHTMLmunderover=h},8650:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},s=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLscriptbase=void 0;var a=r(5355),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(t){this.chtml=this.standardCHTMLnode(t);var e=i(this.getOffset(),2),r=e[0],n=e[1],o=r-(this.baseRemoveIc?this.baseIc:0),s={"vertical-align":this.em(n)};o&&(s["margin-left"]=this.em(o)),this.baseChild.toCHTML(this.chtml),this.scriptChild.toCHTML(this.adaptor.append(this.chtml,this.html("mjx-script",{style:s})))},e.prototype.setDeltaW=function(t,e){for(var r=0;r=0||this.adaptor.setStyle(t,"marginBottom",this.em(e.d*e.rscale))},e.prototype.adjustUnderDepth=function(t,e){var r,n;if(!(e.d>=0)){var o=this.adaptor,i=this.em(e.d),a=this.html("mjx-box",{style:{"margin-bottom":i,"vertical-align":i}});try{for(var l=s(o.childNodes(o.firstChild(t))),c=l.next();!c.done;c=l.next()){var u=c.value;o.append(a,u)}}catch(t){r={error:t}}finally{try{c&&!c.done&&(n=l.return)&&n.call(l)}finally{if(r)throw r.error}}o.append(o.firstChild(t),a)}},e.prototype.adjustBaseHeight=function(t,e){if(this.node.attributes.get("accent")){var r=this.font.params.x_height*e.scale;e.h\\338"},8816:{c:"\\2264\\338"},8817:{c:"\\2265\\338"},8832:{c:"\\227A\\338"},8833:{c:"\\227B\\338"},8836:{c:"\\2282\\338"},8837:{c:"\\2283\\338"},8840:{c:"\\2286\\338"},8841:{c:"\\2287\\338"},8876:{c:"\\22A2\\338"},8877:{c:"\\22A8\\338"},8930:{c:"\\2291\\338"},8931:{c:"\\2292\\338"},9001:{c:"\\27E8"},9002:{c:"\\27E9"},9653:{c:"\\25B3"},9663:{c:"\\25BD"},10072:{c:"\\2223"},10744:{c:"/",f:"BI"},10799:{c:"\\D7"},12296:{c:"\\27E8"},12297:{c:"\\27E9"}})},4515:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.doubleStruck=void 0;var n=r(6001);Object.defineProperty(e,"doubleStruck",{enumerable:!0,get:function(){return n.doubleStruck}})},6555:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.frakturBold=void 0;var n=r(8042),o=r(3696);e.frakturBold=(0,n.AddCSS)(o.frakturBold,{8260:{c:"/"}})},2183:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.fraktur=void 0;var n=r(8042),o=r(9587);e.fraktur=(0,n.AddCSS)(o.fraktur,{8260:{c:"/"}})},3490:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.italic=void 0;var n=r(8042),o=r(8348);e.italic=(0,n.AddCSS)(o.italic,{47:{f:"I"},989:{c:"\\E008",f:"A"},8213:{c:"\\2014"},8215:{c:"_"},8260:{c:"/",f:"I"},8710:{c:"\\394",f:"I"},10744:{c:"/",f:"I"}})},9056:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.largeop=void 0;var n=r(8042),o=r(1376);e.largeop=(0,n.AddCSS)(o.largeop,{8214:{f:"S1"},8260:{c:"/"},8593:{f:"S1"},8595:{f:"S1"},8657:{f:"S1"},8659:{f:"S1"},8739:{f:"S1"},8741:{f:"S1"},9001:{c:"\\27E8"},9002:{c:"\\27E9"},9168:{f:"S1"},10072:{c:"\\2223",f:"S1"},10764:{c:"\\222C\\222C"},12296:{c:"\\27E8"},12297:{c:"\\27E9"}})},3019:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.monospace=void 0;var n=r(8042),o=r(1439);e.monospace=(0,n.AddCSS)(o.monospace,{697:{c:"\\2032"},913:{c:"A"},914:{c:"B"},917:{c:"E"},918:{c:"Z"},919:{c:"H"},921:{c:"I"},922:{c:"K"},924:{c:"M"},925:{c:"N"},927:{c:"O"},929:{c:"P"},932:{c:"T"},935:{c:"X"},8215:{c:"_"},8243:{c:"\\2032\\2032"},8244:{c:"\\2032\\2032\\2032"},8260:{c:"/"},8279:{c:"\\2032\\2032\\2032\\2032"},8710:{c:"\\394"}})},2713:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.normal=void 0;var n=r(8042),o=r(331);e.normal=(0,n.AddCSS)(o.normal,{163:{f:"MI"},165:{f:"A"},174:{f:"A"},183:{c:"\\22C5"},240:{f:"A"},697:{c:"\\2032"},913:{c:"A"},914:{c:"B"},917:{c:"E"},918:{c:"Z"},919:{c:"H"},921:{c:"I"},922:{c:"K"},924:{c:"M"},925:{c:"N"},927:{c:"O"},929:{c:"P"},932:{c:"T"},935:{c:"X"},8192:{c:""},8193:{c:""},8194:{c:""},8195:{c:""},8196:{c:""},8197:{c:""},8198:{c:""},8201:{c:""},8202:{c:""},8203:{c:""},8204:{c:""},8213:{c:"\\2014"},8214:{c:"\\2225"},8215:{c:"_"},8226:{c:"\\2219"},8243:{c:"\\2032\\2032"},8244:{c:"\\2032\\2032\\2032"},8245:{f:"A"},8246:{c:"\\2035\\2035",f:"A"},8247:{c:"\\2035\\2035\\2035",f:"A"},8254:{c:"\\2C9"},8260:{c:"/"},8279:{c:"\\2032\\2032\\2032\\2032"},8288:{c:""},8289:{c:""},8290:{c:""},8291:{c:""},8292:{c:""},8407:{c:"\\2192",f:"V"},8450:{c:"C",f:"A"},8459:{c:"H",f:"SC"},8460:{c:"H",f:"FR"},8461:{c:"H",f:"A"},8462:{c:"h",f:"I"},8463:{f:"A"},8464:{c:"I",f:"SC"},8465:{c:"I",f:"FR"},8466:{c:"L",f:"SC"},8469:{c:"N",f:"A"},8473:{c:"P",f:"A"},8474:{c:"Q",f:"A"},8475:{c:"R",f:"SC"},8476:{c:"R",f:"FR"},8477:{c:"R",f:"A"},8484:{c:"Z",f:"A"},8486:{c:"\\3A9"},8487:{f:"A"},8488:{c:"Z",f:"FR"},8492:{c:"B",f:"SC"},8493:{c:"C",f:"FR"},8496:{c:"E",f:"SC"},8497:{c:"F",f:"SC"},8498:{f:"A"},8499:{c:"M",f:"SC"},8502:{f:"A"},8503:{f:"A"},8504:{f:"A"},8513:{f:"A"},8602:{f:"A"},8603:{f:"A"},8606:{f:"A"},8608:{f:"A"},8610:{f:"A"},8611:{f:"A"},8619:{f:"A"},8620:{f:"A"},8621:{f:"A"},8622:{f:"A"},8624:{f:"A"},8625:{f:"A"},8630:{f:"A"},8631:{f:"A"},8634:{f:"A"},8635:{f:"A"},8638:{f:"A"},8639:{f:"A"},8642:{f:"A"},8643:{f:"A"},8644:{f:"A"},8646:{f:"A"},8647:{f:"A"},8648:{f:"A"},8649:{f:"A"},8650:{f:"A"},8651:{f:"A"},8653:{f:"A"},8654:{f:"A"},8655:{f:"A"},8666:{f:"A"},8667:{f:"A"},8669:{f:"A"},8672:{f:"A"},8674:{f:"A"},8705:{f:"A"},8708:{c:"\\2203\\338"},8710:{c:"\\394"},8716:{c:"\\220B\\338"},8717:{f:"A"},8719:{f:"S1"},8720:{f:"S1"},8721:{f:"S1"},8724:{f:"A"},8737:{f:"A"},8738:{f:"A"},8740:{f:"A"},8742:{f:"A"},8748:{f:"S1"},8749:{f:"S1"},8750:{f:"S1"},8756:{f:"A"},8757:{f:"A"},8765:{f:"A"},8769:{f:"A"},8770:{f:"A"},8772:{c:"\\2243\\338"},8775:{c:"\\2246",f:"A"},8777:{c:"\\2248\\338"},8778:{f:"A"},8782:{f:"A"},8783:{f:"A"},8785:{f:"A"},8786:{f:"A"},8787:{f:"A"},8790:{f:"A"},8791:{f:"A"},8796:{f:"A"},8802:{c:"\\2261\\338"},8806:{f:"A"},8807:{f:"A"},8808:{f:"A"},8809:{f:"A"},8812:{f:"A"},8813:{c:"\\224D\\338"},8814:{f:"A"},8815:{f:"A"},8816:{f:"A"},8817:{f:"A"},8818:{f:"A"},8819:{f:"A"},8820:{c:"\\2272\\338"},8821:{c:"\\2273\\338"},8822:{f:"A"},8823:{f:"A"},8824:{c:"\\2276\\338"},8825:{c:"\\2277\\338"},8828:{f:"A"},8829:{f:"A"},8830:{f:"A"},8831:{f:"A"},8832:{f:"A"},8833:{f:"A"},8836:{c:"\\2282\\338"},8837:{c:"\\2283\\338"},8840:{f:"A"},8841:{f:"A"},8842:{f:"A"},8843:{f:"A"},8847:{f:"A"},8848:{f:"A"},8858:{f:"A"},8859:{f:"A"},8861:{f:"A"},8862:{f:"A"},8863:{f:"A"},8864:{f:"A"},8865:{f:"A"},8873:{f:"A"},8874:{f:"A"},8876:{f:"A"},8877:{f:"A"},8878:{f:"A"},8879:{f:"A"},8882:{f:"A"},8883:{f:"A"},8884:{f:"A"},8885:{f:"A"},8888:{f:"A"},8890:{f:"A"},8891:{f:"A"},8892:{f:"A"},8896:{f:"S1"},8897:{f:"S1"},8898:{f:"S1"},8899:{f:"S1"},8903:{f:"A"},8905:{f:"A"},8906:{f:"A"},8907:{f:"A"},8908:{f:"A"},8909:{f:"A"},8910:{f:"A"},8911:{f:"A"},8912:{f:"A"},8913:{f:"A"},8914:{f:"A"},8915:{f:"A"},8916:{f:"A"},8918:{f:"A"},8919:{f:"A"},8920:{f:"A"},8921:{f:"A"},8922:{f:"A"},8923:{f:"A"},8926:{f:"A"},8927:{f:"A"},8928:{f:"A"},8929:{f:"A"},8930:{c:"\\2291\\338"},8931:{c:"\\2292\\338"},8934:{f:"A"},8935:{f:"A"},8936:{f:"A"},8937:{f:"A"},8938:{f:"A"},8939:{f:"A"},8940:{f:"A"},8941:{f:"A"},8965:{c:"\\22BC",f:"A"},8966:{c:"\\2A5E",f:"A"},8988:{c:"\\250C",f:"A"},8989:{c:"\\2510",f:"A"},8990:{c:"\\2514",f:"A"},8991:{c:"\\2518",f:"A"},9001:{c:"\\27E8"},9002:{c:"\\27E9"},9168:{f:"S1"},9416:{f:"A"},9484:{f:"A"},9488:{f:"A"},9492:{f:"A"},9496:{f:"A"},9585:{f:"A"},9586:{f:"A"},9632:{f:"A"},9633:{f:"A"},9642:{c:"\\25A0",f:"A"},9650:{f:"A"},9652:{c:"\\25B2",f:"A"},9653:{c:"\\25B3"},9654:{f:"A"},9656:{c:"\\25B6",f:"A"},9660:{f:"A"},9662:{c:"\\25BC",f:"A"},9663:{c:"\\25BD"},9664:{f:"A"},9666:{c:"\\25C0",f:"A"},9674:{f:"A"},9723:{c:"\\25A1",f:"A"},9724:{c:"\\25A0",f:"A"},9733:{f:"A"},10003:{f:"A"},10016:{f:"A"},10072:{c:"\\2223"},10731:{f:"A"},10744:{c:"/",f:"I"},10752:{f:"S1"},10753:{f:"S1"},10754:{f:"S1"},10756:{f:"S1"},10758:{f:"S1"},10764:{c:"\\222C\\222C",f:"S1"},10799:{c:"\\D7"},10846:{f:"A"},10877:{f:"A"},10878:{f:"A"},10885:{f:"A"},10886:{f:"A"},10887:{f:"A"},10888:{f:"A"},10889:{f:"A"},10890:{f:"A"},10891:{f:"A"},10892:{f:"A"},10901:{f:"A"},10902:{f:"A"},10933:{f:"A"},10934:{f:"A"},10935:{f:"A"},10936:{f:"A"},10937:{f:"A"},10938:{f:"A"},10949:{f:"A"},10950:{f:"A"},10955:{f:"A"},10956:{f:"A"},12296:{c:"\\27E8"},12297:{c:"\\27E9"},57350:{f:"A"},57351:{f:"A"},57352:{f:"A"},57353:{f:"A"},57356:{f:"A"},57357:{f:"A"},57358:{f:"A"},57359:{f:"A"},57360:{f:"A"},57361:{f:"A"},57366:{f:"A"},57367:{f:"A"},57368:{f:"A"},57369:{f:"A"},57370:{f:"A"},57371:{f:"A"},119808:{c:"A",f:"B"},119809:{c:"B",f:"B"},119810:{c:"C",f:"B"},119811:{c:"D",f:"B"},119812:{c:"E",f:"B"},119813:{c:"F",f:"B"},119814:{c:"G",f:"B"},119815:{c:"H",f:"B"},119816:{c:"I",f:"B"},119817:{c:"J",f:"B"},119818:{c:"K",f:"B"},119819:{c:"L",f:"B"},119820:{c:"M",f:"B"},119821:{c:"N",f:"B"},119822:{c:"O",f:"B"},119823:{c:"P",f:"B"},119824:{c:"Q",f:"B"},119825:{c:"R",f:"B"},119826:{c:"S",f:"B"},119827:{c:"T",f:"B"},119828:{c:"U",f:"B"},119829:{c:"V",f:"B"},119830:{c:"W",f:"B"},119831:{c:"X",f:"B"},119832:{c:"Y",f:"B"},119833:{c:"Z",f:"B"},119834:{c:"a",f:"B"},119835:{c:"b",f:"B"},119836:{c:"c",f:"B"},119837:{c:"d",f:"B"},119838:{c:"e",f:"B"},119839:{c:"f",f:"B"},119840:{c:"g",f:"B"},119841:{c:"h",f:"B"},119842:{c:"i",f:"B"},119843:{c:"j",f:"B"},119844:{c:"k",f:"B"},119845:{c:"l",f:"B"},119846:{c:"m",f:"B"},119847:{c:"n",f:"B"},119848:{c:"o",f:"B"},119849:{c:"p",f:"B"},119850:{c:"q",f:"B"},119851:{c:"r",f:"B"},119852:{c:"s",f:"B"},119853:{c:"t",f:"B"},119854:{c:"u",f:"B"},119855:{c:"v",f:"B"},119856:{c:"w",f:"B"},119857:{c:"x",f:"B"},119858:{c:"y",f:"B"},119859:{c:"z",f:"B"},119860:{c:"A",f:"I"},119861:{c:"B",f:"I"},119862:{c:"C",f:"I"},119863:{c:"D",f:"I"},119864:{c:"E",f:"I"},119865:{c:"F",f:"I"},119866:{c:"G",f:"I"},119867:{c:"H",f:"I"},119868:{c:"I",f:"I"},119869:{c:"J",f:"I"},119870:{c:"K",f:"I"},119871:{c:"L",f:"I"},119872:{c:"M",f:"I"},119873:{c:"N",f:"I"},119874:{c:"O",f:"I"},119875:{c:"P",f:"I"},119876:{c:"Q",f:"I"},119877:{c:"R",f:"I"},119878:{c:"S",f:"I"},119879:{c:"T",f:"I"},119880:{c:"U",f:"I"},119881:{c:"V",f:"I"},119882:{c:"W",f:"I"},119883:{c:"X",f:"I"},119884:{c:"Y",f:"I"},119885:{c:"Z",f:"I"},119886:{c:"a",f:"I"},119887:{c:"b",f:"I"},119888:{c:"c",f:"I"},119889:{c:"d",f:"I"},119890:{c:"e",f:"I"},119891:{c:"f",f:"I"},119892:{c:"g",f:"I"},119894:{c:"i",f:"I"},119895:{c:"j",f:"I"},119896:{c:"k",f:"I"},119897:{c:"l",f:"I"},119898:{c:"m",f:"I"},119899:{c:"n",f:"I"},119900:{c:"o",f:"I"},119901:{c:"p",f:"I"},119902:{c:"q",f:"I"},119903:{c:"r",f:"I"},119904:{c:"s",f:"I"},119905:{c:"t",f:"I"},119906:{c:"u",f:"I"},119907:{c:"v",f:"I"},119908:{c:"w",f:"I"},119909:{c:"x",f:"I"},119910:{c:"y",f:"I"},119911:{c:"z",f:"I"},119912:{c:"A",f:"BI"},119913:{c:"B",f:"BI"},119914:{c:"C",f:"BI"},119915:{c:"D",f:"BI"},119916:{c:"E",f:"BI"},119917:{c:"F",f:"BI"},119918:{c:"G",f:"BI"},119919:{c:"H",f:"BI"},119920:{c:"I",f:"BI"},119921:{c:"J",f:"BI"},119922:{c:"K",f:"BI"},119923:{c:"L",f:"BI"},119924:{c:"M",f:"BI"},119925:{c:"N",f:"BI"},119926:{c:"O",f:"BI"},119927:{c:"P",f:"BI"},119928:{c:"Q",f:"BI"},119929:{c:"R",f:"BI"},119930:{c:"S",f:"BI"},119931:{c:"T",f:"BI"},119932:{c:"U",f:"BI"},119933:{c:"V",f:"BI"},119934:{c:"W",f:"BI"},119935:{c:"X",f:"BI"},119936:{c:"Y",f:"BI"},119937:{c:"Z",f:"BI"},119938:{c:"a",f:"BI"},119939:{c:"b",f:"BI"},119940:{c:"c",f:"BI"},119941:{c:"d",f:"BI"},119942:{c:"e",f:"BI"},119943:{c:"f",f:"BI"},119944:{c:"g",f:"BI"},119945:{c:"h",f:"BI"},119946:{c:"i",f:"BI"},119947:{c:"j",f:"BI"},119948:{c:"k",f:"BI"},119949:{c:"l",f:"BI"},119950:{c:"m",f:"BI"},119951:{c:"n",f:"BI"},119952:{c:"o",f:"BI"},119953:{c:"p",f:"BI"},119954:{c:"q",f:"BI"},119955:{c:"r",f:"BI"},119956:{c:"s",f:"BI"},119957:{c:"t",f:"BI"},119958:{c:"u",f:"BI"},119959:{c:"v",f:"BI"},119960:{c:"w",f:"BI"},119961:{c:"x",f:"BI"},119962:{c:"y",f:"BI"},119963:{c:"z",f:"BI"},119964:{c:"A",f:"SC"},119966:{c:"C",f:"SC"},119967:{c:"D",f:"SC"},119970:{c:"G",f:"SC"},119973:{c:"J",f:"SC"},119974:{c:"K",f:"SC"},119977:{c:"N",f:"SC"},119978:{c:"O",f:"SC"},119979:{c:"P",f:"SC"},119980:{c:"Q",f:"SC"},119982:{c:"S",f:"SC"},119983:{c:"T",f:"SC"},119984:{c:"U",f:"SC"},119985:{c:"V",f:"SC"},119986:{c:"W",f:"SC"},119987:{c:"X",f:"SC"},119988:{c:"Y",f:"SC"},119989:{c:"Z",f:"SC"},120068:{c:"A",f:"FR"},120069:{c:"B",f:"FR"},120071:{c:"D",f:"FR"},120072:{c:"E",f:"FR"},120073:{c:"F",f:"FR"},120074:{c:"G",f:"FR"},120077:{c:"J",f:"FR"},120078:{c:"K",f:"FR"},120079:{c:"L",f:"FR"},120080:{c:"M",f:"FR"},120081:{c:"N",f:"FR"},120082:{c:"O",f:"FR"},120083:{c:"P",f:"FR"},120084:{c:"Q",f:"FR"},120086:{c:"S",f:"FR"},120087:{c:"T",f:"FR"},120088:{c:"U",f:"FR"},120089:{c:"V",f:"FR"},120090:{c:"W",f:"FR"},120091:{c:"X",f:"FR"},120092:{c:"Y",f:"FR"},120094:{c:"a",f:"FR"},120095:{c:"b",f:"FR"},120096:{c:"c",f:"FR"},120097:{c:"d",f:"FR"},120098:{c:"e",f:"FR"},120099:{c:"f",f:"FR"},120100:{c:"g",f:"FR"},120101:{c:"h",f:"FR"},120102:{c:"i",f:"FR"},120103:{c:"j",f:"FR"},120104:{c:"k",f:"FR"},120105:{c:"l",f:"FR"},120106:{c:"m",f:"FR"},120107:{c:"n",f:"FR"},120108:{c:"o",f:"FR"},120109:{c:"p",f:"FR"},120110:{c:"q",f:"FR"},120111:{c:"r",f:"FR"},120112:{c:"s",f:"FR"},120113:{c:"t",f:"FR"},120114:{c:"u",f:"FR"},120115:{c:"v",f:"FR"},120116:{c:"w",f:"FR"},120117:{c:"x",f:"FR"},120118:{c:"y",f:"FR"},120119:{c:"z",f:"FR"},120120:{c:"A",f:"A"},120121:{c:"B",f:"A"},120123:{c:"D",f:"A"},120124:{c:"E",f:"A"},120125:{c:"F",f:"A"},120126:{c:"G",f:"A"},120128:{c:"I",f:"A"},120129:{c:"J",f:"A"},120130:{c:"K",f:"A"},120131:{c:"L",f:"A"},120132:{c:"M",f:"A"},120134:{c:"O",f:"A"},120138:{c:"S",f:"A"},120139:{c:"T",f:"A"},120140:{c:"U",f:"A"},120141:{c:"V",f:"A"},120142:{c:"W",f:"A"},120143:{c:"X",f:"A"},120144:{c:"Y",f:"A"},120172:{c:"A",f:"FRB"},120173:{c:"B",f:"FRB"},120174:{c:"C",f:"FRB"},120175:{c:"D",f:"FRB"},120176:{c:"E",f:"FRB"},120177:{c:"F",f:"FRB"},120178:{c:"G",f:"FRB"},120179:{c:"H",f:"FRB"},120180:{c:"I",f:"FRB"},120181:{c:"J",f:"FRB"},120182:{c:"K",f:"FRB"},120183:{c:"L",f:"FRB"},120184:{c:"M",f:"FRB"},120185:{c:"N",f:"FRB"},120186:{c:"O",f:"FRB"},120187:{c:"P",f:"FRB"},120188:{c:"Q",f:"FRB"},120189:{c:"R",f:"FRB"},120190:{c:"S",f:"FRB"},120191:{c:"T",f:"FRB"},120192:{c:"U",f:"FRB"},120193:{c:"V",f:"FRB"},120194:{c:"W",f:"FRB"},120195:{c:"X",f:"FRB"},120196:{c:"Y",f:"FRB"},120197:{c:"Z",f:"FRB"},120198:{c:"a",f:"FRB"},120199:{c:"b",f:"FRB"},120200:{c:"c",f:"FRB"},120201:{c:"d",f:"FRB"},120202:{c:"e",f:"FRB"},120203:{c:"f",f:"FRB"},120204:{c:"g",f:"FRB"},120205:{c:"h",f:"FRB"},120206:{c:"i",f:"FRB"},120207:{c:"j",f:"FRB"},120208:{c:"k",f:"FRB"},120209:{c:"l",f:"FRB"},120210:{c:"m",f:"FRB"},120211:{c:"n",f:"FRB"},120212:{c:"o",f:"FRB"},120213:{c:"p",f:"FRB"},120214:{c:"q",f:"FRB"},120215:{c:"r",f:"FRB"},120216:{c:"s",f:"FRB"},120217:{c:"t",f:"FRB"},120218:{c:"u",f:"FRB"},120219:{c:"v",f:"FRB"},120220:{c:"w",f:"FRB"},120221:{c:"x",f:"FRB"},120222:{c:"y",f:"FRB"},120223:{c:"z",f:"FRB"},120224:{c:"A",f:"SS"},120225:{c:"B",f:"SS"},120226:{c:"C",f:"SS"},120227:{c:"D",f:"SS"},120228:{c:"E",f:"SS"},120229:{c:"F",f:"SS"},120230:{c:"G",f:"SS"},120231:{c:"H",f:"SS"},120232:{c:"I",f:"SS"},120233:{c:"J",f:"SS"},120234:{c:"K",f:"SS"},120235:{c:"L",f:"SS"},120236:{c:"M",f:"SS"},120237:{c:"N",f:"SS"},120238:{c:"O",f:"SS"},120239:{c:"P",f:"SS"},120240:{c:"Q",f:"SS"},120241:{c:"R",f:"SS"},120242:{c:"S",f:"SS"},120243:{c:"T",f:"SS"},120244:{c:"U",f:"SS"},120245:{c:"V",f:"SS"},120246:{c:"W",f:"SS"},120247:{c:"X",f:"SS"},120248:{c:"Y",f:"SS"},120249:{c:"Z",f:"SS"},120250:{c:"a",f:"SS"},120251:{c:"b",f:"SS"},120252:{c:"c",f:"SS"},120253:{c:"d",f:"SS"},120254:{c:"e",f:"SS"},120255:{c:"f",f:"SS"},120256:{c:"g",f:"SS"},120257:{c:"h",f:"SS"},120258:{c:"i",f:"SS"},120259:{c:"j",f:"SS"},120260:{c:"k",f:"SS"},120261:{c:"l",f:"SS"},120262:{c:"m",f:"SS"},120263:{c:"n",f:"SS"},120264:{c:"o",f:"SS"},120265:{c:"p",f:"SS"},120266:{c:"q",f:"SS"},120267:{c:"r",f:"SS"},120268:{c:"s",f:"SS"},120269:{c:"t",f:"SS"},120270:{c:"u",f:"SS"},120271:{c:"v",f:"SS"},120272:{c:"w",f:"SS"},120273:{c:"x",f:"SS"},120274:{c:"y",f:"SS"},120275:{c:"z",f:"SS"},120276:{c:"A",f:"SSB"},120277:{c:"B",f:"SSB"},120278:{c:"C",f:"SSB"},120279:{c:"D",f:"SSB"},120280:{c:"E",f:"SSB"},120281:{c:"F",f:"SSB"},120282:{c:"G",f:"SSB"},120283:{c:"H",f:"SSB"},120284:{c:"I",f:"SSB"},120285:{c:"J",f:"SSB"},120286:{c:"K",f:"SSB"},120287:{c:"L",f:"SSB"},120288:{c:"M",f:"SSB"},120289:{c:"N",f:"SSB"},120290:{c:"O",f:"SSB"},120291:{c:"P",f:"SSB"},120292:{c:"Q",f:"SSB"},120293:{c:"R",f:"SSB"},120294:{c:"S",f:"SSB"},120295:{c:"T",f:"SSB"},120296:{c:"U",f:"SSB"},120297:{c:"V",f:"SSB"},120298:{c:"W",f:"SSB"},120299:{c:"X",f:"SSB"},120300:{c:"Y",f:"SSB"},120301:{c:"Z",f:"SSB"},120302:{c:"a",f:"SSB"},120303:{c:"b",f:"SSB"},120304:{c:"c",f:"SSB"},120305:{c:"d",f:"SSB"},120306:{c:"e",f:"SSB"},120307:{c:"f",f:"SSB"},120308:{c:"g",f:"SSB"},120309:{c:"h",f:"SSB"},120310:{c:"i",f:"SSB"},120311:{c:"j",f:"SSB"},120312:{c:"k",f:"SSB"},120313:{c:"l",f:"SSB"},120314:{c:"m",f:"SSB"},120315:{c:"n",f:"SSB"},120316:{c:"o",f:"SSB"},120317:{c:"p",f:"SSB"},120318:{c:"q",f:"SSB"},120319:{c:"r",f:"SSB"},120320:{c:"s",f:"SSB"},120321:{c:"t",f:"SSB"},120322:{c:"u",f:"SSB"},120323:{c:"v",f:"SSB"},120324:{c:"w",f:"SSB"},120325:{c:"x",f:"SSB"},120326:{c:"y",f:"SSB"},120327:{c:"z",f:"SSB"},120328:{c:"A",f:"SSI"},120329:{c:"B",f:"SSI"},120330:{c:"C",f:"SSI"},120331:{c:"D",f:"SSI"},120332:{c:"E",f:"SSI"},120333:{c:"F",f:"SSI"},120334:{c:"G",f:"SSI"},120335:{c:"H",f:"SSI"},120336:{c:"I",f:"SSI"},120337:{c:"J",f:"SSI"},120338:{c:"K",f:"SSI"},120339:{c:"L",f:"SSI"},120340:{c:"M",f:"SSI"},120341:{c:"N",f:"SSI"},120342:{c:"O",f:"SSI"},120343:{c:"P",f:"SSI"},120344:{c:"Q",f:"SSI"},120345:{c:"R",f:"SSI"},120346:{c:"S",f:"SSI"},120347:{c:"T",f:"SSI"},120348:{c:"U",f:"SSI"},120349:{c:"V",f:"SSI"},120350:{c:"W",f:"SSI"},120351:{c:"X",f:"SSI"},120352:{c:"Y",f:"SSI"},120353:{c:"Z",f:"SSI"},120354:{c:"a",f:"SSI"},120355:{c:"b",f:"SSI"},120356:{c:"c",f:"SSI"},120357:{c:"d",f:"SSI"},120358:{c:"e",f:"SSI"},120359:{c:"f",f:"SSI"},120360:{c:"g",f:"SSI"},120361:{c:"h",f:"SSI"},120362:{c:"i",f:"SSI"},120363:{c:"j",f:"SSI"},120364:{c:"k",f:"SSI"},120365:{c:"l",f:"SSI"},120366:{c:"m",f:"SSI"},120367:{c:"n",f:"SSI"},120368:{c:"o",f:"SSI"},120369:{c:"p",f:"SSI"},120370:{c:"q",f:"SSI"},120371:{c:"r",f:"SSI"},120372:{c:"s",f:"SSI"},120373:{c:"t",f:"SSI"},120374:{c:"u",f:"SSI"},120375:{c:"v",f:"SSI"},120376:{c:"w",f:"SSI"},120377:{c:"x",f:"SSI"},120378:{c:"y",f:"SSI"},120379:{c:"z",f:"SSI"},120432:{c:"A",f:"T"},120433:{c:"B",f:"T"},120434:{c:"C",f:"T"},120435:{c:"D",f:"T"},120436:{c:"E",f:"T"},120437:{c:"F",f:"T"},120438:{c:"G",f:"T"},120439:{c:"H",f:"T"},120440:{c:"I",f:"T"},120441:{c:"J",f:"T"},120442:{c:"K",f:"T"},120443:{c:"L",f:"T"},120444:{c:"M",f:"T"},120445:{c:"N",f:"T"},120446:{c:"O",f:"T"},120447:{c:"P",f:"T"},120448:{c:"Q",f:"T"},120449:{c:"R",f:"T"},120450:{c:"S",f:"T"},120451:{c:"T",f:"T"},120452:{c:"U",f:"T"},120453:{c:"V",f:"T"},120454:{c:"W",f:"T"},120455:{c:"X",f:"T"},120456:{c:"Y",f:"T"},120457:{c:"Z",f:"T"},120458:{c:"a",f:"T"},120459:{c:"b",f:"T"},120460:{c:"c",f:"T"},120461:{c:"d",f:"T"},120462:{c:"e",f:"T"},120463:{c:"f",f:"T"},120464:{c:"g",f:"T"},120465:{c:"h",f:"T"},120466:{c:"i",f:"T"},120467:{c:"j",f:"T"},120468:{c:"k",f:"T"},120469:{c:"l",f:"T"},120470:{c:"m",f:"T"},120471:{c:"n",f:"T"},120472:{c:"o",f:"T"},120473:{c:"p",f:"T"},120474:{c:"q",f:"T"},120475:{c:"r",f:"T"},120476:{c:"s",f:"T"},120477:{c:"t",f:"T"},120478:{c:"u",f:"T"},120479:{c:"v",f:"T"},120480:{c:"w",f:"T"},120481:{c:"x",f:"T"},120482:{c:"y",f:"T"},120483:{c:"z",f:"T"},120488:{c:"A",f:"B"},120489:{c:"B",f:"B"},120490:{c:"\\393",f:"B"},120491:{c:"\\394",f:"B"},120492:{c:"E",f:"B"},120493:{c:"Z",f:"B"},120494:{c:"H",f:"B"},120495:{c:"\\398",f:"B"},120496:{c:"I",f:"B"},120497:{c:"K",f:"B"},120498:{c:"\\39B",f:"B"},120499:{c:"M",f:"B"},120500:{c:"N",f:"B"},120501:{c:"\\39E",f:"B"},120502:{c:"O",f:"B"},120503:{c:"\\3A0",f:"B"},120504:{c:"P",f:"B"},120506:{c:"\\3A3",f:"B"},120507:{c:"T",f:"B"},120508:{c:"\\3A5",f:"B"},120509:{c:"\\3A6",f:"B"},120510:{c:"X",f:"B"},120511:{c:"\\3A8",f:"B"},120512:{c:"\\3A9",f:"B"},120513:{c:"\\2207",f:"B"},120546:{c:"A",f:"I"},120547:{c:"B",f:"I"},120548:{c:"\\393",f:"I"},120549:{c:"\\394",f:"I"},120550:{c:"E",f:"I"},120551:{c:"Z",f:"I"},120552:{c:"H",f:"I"},120553:{c:"\\398",f:"I"},120554:{c:"I",f:"I"},120555:{c:"K",f:"I"},120556:{c:"\\39B",f:"I"},120557:{c:"M",f:"I"},120558:{c:"N",f:"I"},120559:{c:"\\39E",f:"I"},120560:{c:"O",f:"I"},120561:{c:"\\3A0",f:"I"},120562:{c:"P",f:"I"},120564:{c:"\\3A3",f:"I"},120565:{c:"T",f:"I"},120566:{c:"\\3A5",f:"I"},120567:{c:"\\3A6",f:"I"},120568:{c:"X",f:"I"},120569:{c:"\\3A8",f:"I"},120570:{c:"\\3A9",f:"I"},120572:{c:"\\3B1",f:"I"},120573:{c:"\\3B2",f:"I"},120574:{c:"\\3B3",f:"I"},120575:{c:"\\3B4",f:"I"},120576:{c:"\\3B5",f:"I"},120577:{c:"\\3B6",f:"I"},120578:{c:"\\3B7",f:"I"},120579:{c:"\\3B8",f:"I"},120580:{c:"\\3B9",f:"I"},120581:{c:"\\3BA",f:"I"},120582:{c:"\\3BB",f:"I"},120583:{c:"\\3BC",f:"I"},120584:{c:"\\3BD",f:"I"},120585:{c:"\\3BE",f:"I"},120586:{c:"\\3BF",f:"I"},120587:{c:"\\3C0",f:"I"},120588:{c:"\\3C1",f:"I"},120589:{c:"\\3C2",f:"I"},120590:{c:"\\3C3",f:"I"},120591:{c:"\\3C4",f:"I"},120592:{c:"\\3C5",f:"I"},120593:{c:"\\3C6",f:"I"},120594:{c:"\\3C7",f:"I"},120595:{c:"\\3C8",f:"I"},120596:{c:"\\3C9",f:"I"},120597:{c:"\\2202"},120598:{c:"\\3F5",f:"I"},120599:{c:"\\3D1",f:"I"},120600:{c:"\\E009",f:"A"},120601:{c:"\\3D5",f:"I"},120602:{c:"\\3F1",f:"I"},120603:{c:"\\3D6",f:"I"},120604:{c:"A",f:"BI"},120605:{c:"B",f:"BI"},120606:{c:"\\393",f:"BI"},120607:{c:"\\394",f:"BI"},120608:{c:"E",f:"BI"},120609:{c:"Z",f:"BI"},120610:{c:"H",f:"BI"},120611:{c:"\\398",f:"BI"},120612:{c:"I",f:"BI"},120613:{c:"K",f:"BI"},120614:{c:"\\39B",f:"BI"},120615:{c:"M",f:"BI"},120616:{c:"N",f:"BI"},120617:{c:"\\39E",f:"BI"},120618:{c:"O",f:"BI"},120619:{c:"\\3A0",f:"BI"},120620:{c:"P",f:"BI"},120622:{c:"\\3A3",f:"BI"},120623:{c:"T",f:"BI"},120624:{c:"\\3A5",f:"BI"},120625:{c:"\\3A6",f:"BI"},120626:{c:"X",f:"BI"},120627:{c:"\\3A8",f:"BI"},120628:{c:"\\3A9",f:"BI"},120630:{c:"\\3B1",f:"BI"},120631:{c:"\\3B2",f:"BI"},120632:{c:"\\3B3",f:"BI"},120633:{c:"\\3B4",f:"BI"},120634:{c:"\\3B5",f:"BI"},120635:{c:"\\3B6",f:"BI"},120636:{c:"\\3B7",f:"BI"},120637:{c:"\\3B8",f:"BI"},120638:{c:"\\3B9",f:"BI"},120639:{c:"\\3BA",f:"BI"},120640:{c:"\\3BB",f:"BI"},120641:{c:"\\3BC",f:"BI"},120642:{c:"\\3BD",f:"BI"},120643:{c:"\\3BE",f:"BI"},120644:{c:"\\3BF",f:"BI"},120645:{c:"\\3C0",f:"BI"},120646:{c:"\\3C1",f:"BI"},120647:{c:"\\3C2",f:"BI"},120648:{c:"\\3C3",f:"BI"},120649:{c:"\\3C4",f:"BI"},120650:{c:"\\3C5",f:"BI"},120651:{c:"\\3C6",f:"BI"},120652:{c:"\\3C7",f:"BI"},120653:{c:"\\3C8",f:"BI"},120654:{c:"\\3C9",f:"BI"},120655:{c:"\\2202",f:"B"},120656:{c:"\\3F5",f:"BI"},120657:{c:"\\3D1",f:"BI"},120658:{c:"\\E009",f:"A"},120659:{c:"\\3D5",f:"BI"},120660:{c:"\\3F1",f:"BI"},120661:{c:"\\3D6",f:"BI"},120662:{c:"A",f:"SSB"},120663:{c:"B",f:"SSB"},120664:{c:"\\393",f:"SSB"},120665:{c:"\\394",f:"SSB"},120666:{c:"E",f:"SSB"},120667:{c:"Z",f:"SSB"},120668:{c:"H",f:"SSB"},120669:{c:"\\398",f:"SSB"},120670:{c:"I",f:"SSB"},120671:{c:"K",f:"SSB"},120672:{c:"\\39B",f:"SSB"},120673:{c:"M",f:"SSB"},120674:{c:"N",f:"SSB"},120675:{c:"\\39E",f:"SSB"},120676:{c:"O",f:"SSB"},120677:{c:"\\3A0",f:"SSB"},120678:{c:"P",f:"SSB"},120680:{c:"\\3A3",f:"SSB"},120681:{c:"T",f:"SSB"},120682:{c:"\\3A5",f:"SSB"},120683:{c:"\\3A6",f:"SSB"},120684:{c:"X",f:"SSB"},120685:{c:"\\3A8",f:"SSB"},120686:{c:"\\3A9",f:"SSB"},120782:{c:"0",f:"B"},120783:{c:"1",f:"B"},120784:{c:"2",f:"B"},120785:{c:"3",f:"B"},120786:{c:"4",f:"B"},120787:{c:"5",f:"B"},120788:{c:"6",f:"B"},120789:{c:"7",f:"B"},120790:{c:"8",f:"B"},120791:{c:"9",f:"B"},120802:{c:"0",f:"SS"},120803:{c:"1",f:"SS"},120804:{c:"2",f:"SS"},120805:{c:"3",f:"SS"},120806:{c:"4",f:"SS"},120807:{c:"5",f:"SS"},120808:{c:"6",f:"SS"},120809:{c:"7",f:"SS"},120810:{c:"8",f:"SS"},120811:{c:"9",f:"SS"},120812:{c:"0",f:"SSB"},120813:{c:"1",f:"SSB"},120814:{c:"2",f:"SSB"},120815:{c:"3",f:"SSB"},120816:{c:"4",f:"SSB"},120817:{c:"5",f:"SSB"},120818:{c:"6",f:"SSB"},120819:{c:"7",f:"SSB"},120820:{c:"8",f:"SSB"},120821:{c:"9",f:"SSB"},120822:{c:"0",f:"T"},120823:{c:"1",f:"T"},120824:{c:"2",f:"T"},120825:{c:"3",f:"T"},120826:{c:"4",f:"T"},120827:{c:"5",f:"T"},120828:{c:"6",f:"T"},120829:{c:"7",f:"T"},120830:{c:"8",f:"T"},120831:{c:"9",f:"T"}})},7517:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.sansSerifBoldItalic=void 0;var n=r(8042),o=r(4886);e.sansSerifBoldItalic=(0,n.AddCSS)(o.sansSerifBoldItalic,{305:{f:"SSB"},567:{f:"SSB"}})},4182:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.sansSerifBold=void 0;var n=r(8042),o=r(4471);e.sansSerifBold=(0,n.AddCSS)(o.sansSerifBold,{8213:{c:"\\2014"},8215:{c:"_"},8260:{c:"/"},8710:{c:"\\394"}})},2679:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.sansSerifItalic=void 0;var n=r(8042),o=r(5181);e.sansSerifItalic=(0,n.AddCSS)(o.sansSerifItalic,{913:{c:"A"},914:{c:"B"},917:{c:"E"},918:{c:"Z"},919:{c:"H"},921:{c:"I"},922:{c:"K"},924:{c:"M"},925:{c:"N"},927:{c:"O"},929:{c:"P"},932:{c:"T"},935:{c:"X"},8213:{c:"\\2014"},8215:{c:"_"},8260:{c:"/"},8710:{c:"\\394"}})},5469:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.sansSerif=void 0;var n=r(8042),o=r(3526);e.sansSerif=(0,n.AddCSS)(o.sansSerif,{913:{c:"A"},914:{c:"B"},917:{c:"E"},918:{c:"Z"},919:{c:"H"},921:{c:"I"},922:{c:"K"},924:{c:"M"},925:{c:"N"},927:{c:"O"},929:{c:"P"},932:{c:"T"},935:{c:"X"},8213:{c:"\\2014"},8215:{c:"_"},8260:{c:"/"},8710:{c:"\\394"}})},7563:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.scriptBold=void 0;var n=r(5649);Object.defineProperty(e,"scriptBold",{enumerable:!0,get:function(){return n.scriptBold}})},9409:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.script=void 0;var n=r(7153);Object.defineProperty(e,"script",{enumerable:!0,get:function(){return n.script}})},775:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.smallop=void 0;var n=r(8042),o=r(5745);e.smallop=(0,n.AddCSS)(o.smallop,{8260:{c:"/"},9001:{c:"\\27E8"},9002:{c:"\\27E9"},10072:{c:"\\2223"},10764:{c:"\\222C\\222C"},12296:{c:"\\27E8"},12297:{c:"\\27E9"}})},9551:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.texCalligraphicBold=void 0;var n=r(8042),o=r(1411);e.texCalligraphicBold=(0,n.AddCSS)(o.texCalligraphicBold,{305:{f:"B"},567:{f:"B"}})},7907:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.texCalligraphic=void 0;var n=r(6384);Object.defineProperty(e,"texCalligraphic",{enumerable:!0,get:function(){return n.texCalligraphic}})},9659:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.texMathit=void 0;var n=r(6041);Object.defineProperty(e,"texMathit",{enumerable:!0,get:function(){return n.texMathit}})},98:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.texOldstyleBold=void 0;var n=r(8199);Object.defineProperty(e,"texOldstyleBold",{enumerable:!0,get:function(){return n.texOldstyleBold}})},6275:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.texOldstyle=void 0;var n=r(9848);Object.defineProperty(e,"texOldstyle",{enumerable:!0,get:function(){return n.texOldstyle}})},6530:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.texSize3=void 0;var n=r(8042),o=r(7906);e.texSize3=(0,n.AddCSS)(o.texSize3,{8260:{c:"/"},9001:{c:"\\27E8"},9002:{c:"\\27E9"},12296:{c:"\\27E8"},12297:{c:"\\27E9"}})},4409:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.texSize4=void 0;var n=r(8042),o=r(2644);e.texSize4=(0,n.AddCSS)(o.texSize4,{8260:{c:"/"},9001:{c:"\\27E8"},9002:{c:"\\27E9"},12296:{c:"\\27E8"},12297:{c:"\\27E9"},57685:{c:"\\E153\\E152"},57686:{c:"\\E151\\E150"}})},5292:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.texVariant=void 0;var n=r(8042),o=r(4926);e.texVariant=(0,n.AddCSS)(o.texVariant,{1008:{c:"\\E009"},8463:{f:""},8740:{c:"\\E006"},8742:{c:"\\E007"},8808:{c:"\\E00C"},8809:{c:"\\E00D"},8816:{c:"\\E011"},8817:{c:"\\E00E"},8840:{c:"\\E016"},8841:{c:"\\E018"},8842:{c:"\\E01A"},8843:{c:"\\E01B"},10887:{c:"\\E010"},10888:{c:"\\E00F"},10955:{c:"\\E017"},10956:{c:"\\E019"}})},5884:function(t,e,r){var n=this&&this.__assign||function(){return n=Object.assign||function(t){for(var e,r=1,n=arguments.length;r0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},i=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.FontData=e.NOSTRETCH=e.H=e.V=void 0;var a=r(7233);e.V=1,e.H=2,e.NOSTRETCH={dir:0};var l=function(){function t(t){var e,r,l,c;void 0===t&&(t=null),this.variant={},this.delimiters={},this.cssFontMap={},this.remapChars={},this.skewIcFactor=.75;var u=this.constructor;this.options=(0,a.userOptions)((0,a.defaultOptions)({},u.OPTIONS),t),this.params=n({},u.defaultParams),this.sizeVariants=i([],o(u.defaultSizeVariants),!1),this.stretchVariants=i([],o(u.defaultStretchVariants),!1),this.cssFontMap=n({},u.defaultCssFonts);try{for(var p=s(Object.keys(this.cssFontMap)),h=p.next();!h.done;h=p.next()){var f=h.value;"unknown"===this.cssFontMap[f][0]&&(this.cssFontMap[f][0]=this.options.unknownFamily)}}catch(t){e={error:t}}finally{try{h&&!h.done&&(r=p.return)&&r.call(p)}finally{if(e)throw e.error}}this.cssFamilyPrefix=u.defaultCssFamilyPrefix,this.createVariants(u.defaultVariants),this.defineDelimiters(u.defaultDelimiters);try{for(var d=s(Object.keys(u.defaultChars)),m=d.next();!m.done;m=d.next()){var y=m.value;this.defineChars(y,u.defaultChars[y])}}catch(t){l={error:t}}finally{try{m&&!m.done&&(c=d.return)&&c.call(d)}finally{if(l)throw l.error}}this.defineRemap("accent",u.defaultAccentMap),this.defineRemap("mo",u.defaultMoMap),this.defineRemap("mn",u.defaultMnMap)}return t.charOptions=function(t,e){var r=t[e];return 3===r.length&&(r[3]={}),r[3]},Object.defineProperty(t.prototype,"styles",{get:function(){return this._styles},set:function(t){this._styles=t},enumerable:!1,configurable:!0}),t.prototype.createVariant=function(t,e,r){void 0===e&&(e=null),void 0===r&&(r=null);var n={linked:[],chars:e?Object.create(this.variant[e].chars):{}};r&&this.variant[r]&&(Object.assign(n.chars,this.variant[r].chars),this.variant[r].linked.push(n.chars),n.chars=Object.create(n.chars)),this.remapSmpChars(n.chars,t),this.variant[t]=n},t.prototype.remapSmpChars=function(t,e){var r,n,i,a,l=this.constructor;if(l.VariantSmp[e]){var c=l.SmpRemap,u=[null,null,l.SmpRemapGreekU,l.SmpRemapGreekL];try{for(var p=s(l.SmpRanges),h=p.next();!h.done;h=p.next()){var f=o(h.value,3),d=f[0],m=f[1],y=f[2],g=l.VariantSmp[e][d];if(g){for(var b=m;b<=y;b++)if(930!==b){var v=g+b-m;t[b]=this.smpChar(c[v]||v)}if(u[d])try{for(var _=(i=void 0,s(Object.keys(u[d]).map((function(t){return parseInt(t)})))),S=_.next();!S.done;S=_.next()){t[b=S.value]=this.smpChar(g+u[d][b])}}catch(t){i={error:t}}finally{try{S&&!S.done&&(a=_.return)&&a.call(_)}finally{if(i)throw i.error}}}}}catch(t){r={error:t}}finally{try{h&&!h.done&&(n=p.return)&&n.call(p)}finally{if(r)throw r.error}}}"bold"===e&&(t[988]=this.smpChar(120778),t[989]=this.smpChar(120779))},t.prototype.smpChar=function(t){return[,,,{smp:t}]},t.prototype.createVariants=function(t){var e,r;try{for(var n=s(t),o=n.next();!o.done;o=n.next()){var i=o.value;this.createVariant(i[0],i[1],i[2])}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}},t.prototype.defineChars=function(t,e){var r,n,o=this.variant[t];Object.assign(o.chars,e);try{for(var i=s(o.linked),a=i.next();!a.done;a=i.next()){var l=a.value;Object.assign(l,e)}}catch(t){r={error:t}}finally{try{a&&!a.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}},t.prototype.defineDelimiters=function(t){Object.assign(this.delimiters,t)},t.prototype.defineRemap=function(t,e){this.remapChars.hasOwnProperty(t)||(this.remapChars[t]={}),Object.assign(this.remapChars[t],e)},t.prototype.getDelimiter=function(t){return this.delimiters[t]},t.prototype.getSizeVariant=function(t,e){return this.delimiters[t].variants&&(e=this.delimiters[t].variants[e]),this.sizeVariants[e]},t.prototype.getStretchVariant=function(t,e){return this.stretchVariants[this.delimiters[t].stretchv?this.delimiters[t].stretchv[e]:0]},t.prototype.getChar=function(t,e){return this.variant[t].chars[e]},t.prototype.getVariant=function(t){return this.variant[t]},t.prototype.getCssFont=function(t){return this.cssFontMap[t]||["serif",!1,!1]},t.prototype.getFamily=function(t){return this.cssFamilyPrefix?this.cssFamilyPrefix+", "+t:t},t.prototype.getRemappedChar=function(t,e){return(this.remapChars[t]||{})[e]},t.OPTIONS={unknownFamily:"serif"},t.JAX="common",t.NAME="",t.defaultVariants=[["normal"],["bold","normal"],["italic","normal"],["bold-italic","italic","bold"],["double-struck","bold"],["fraktur","normal"],["bold-fraktur","bold","fraktur"],["script","italic"],["bold-script","bold-italic","script"],["sans-serif","normal"],["bold-sans-serif","bold","sans-serif"],["sans-serif-italic","italic","sans-serif"],["sans-serif-bold-italic","bold-italic","bold-sans-serif"],["monospace","normal"]],t.defaultCssFonts={normal:["unknown",!1,!1],bold:["unknown",!1,!0],italic:["unknown",!0,!1],"bold-italic":["unknown",!0,!0],"double-struck":["unknown",!1,!0],fraktur:["unknown",!1,!1],"bold-fraktur":["unknown",!1,!0],script:["cursive",!1,!1],"bold-script":["cursive",!1,!0],"sans-serif":["sans-serif",!1,!1],"bold-sans-serif":["sans-serif",!1,!0],"sans-serif-italic":["sans-serif",!0,!1],"sans-serif-bold-italic":["sans-serif",!0,!0],monospace:["monospace",!1,!1]},t.defaultCssFamilyPrefix="",t.VariantSmp={bold:[119808,119834,120488,120514,120782],italic:[119860,119886,120546,120572],"bold-italic":[119912,119938,120604,120630],script:[119964,119990],"bold-script":[120016,120042],fraktur:[120068,120094],"double-struck":[120120,120146,,,120792],"bold-fraktur":[120172,120198],"sans-serif":[120224,120250,,,120802],"bold-sans-serif":[120276,120302,120662,120688,120812],"sans-serif-italic":[120328,120354],"sans-serif-bold-italic":[120380,120406,120720,120746],monospace:[120432,120458,,,120822]},t.SmpRanges=[[0,65,90],[1,97,122],[2,913,937],[3,945,969],[4,48,57]],t.SmpRemap={119893:8462,119965:8492,119968:8496,119969:8497,119971:8459,119972:8464,119975:8466,119976:8499,119981:8475,119994:8495,119996:8458,120004:8500,120070:8493,120075:8460,120076:8465,120085:8476,120093:8488,120122:8450,120127:8461,120133:8469,120135:8473,120136:8474,120137:8477,120145:8484},t.SmpRemapGreekU={8711:25,1012:17},t.SmpRemapGreekL={977:27,981:29,982:31,1008:28,1009:30,1013:26,8706:25},t.defaultAccentMap={768:"\u02cb",769:"\u02ca",770:"\u02c6",771:"\u02dc",772:"\u02c9",774:"\u02d8",775:"\u02d9",776:"\xa8",778:"\u02da",780:"\u02c7",8594:"\u20d7",8242:"'",8243:"''",8244:"'''",8245:"`",8246:"``",8247:"```",8279:"''''",8400:"\u21bc",8401:"\u21c0",8406:"\u2190",8417:"\u2194",8432:"*",8411:"...",8412:"....",8428:"\u21c1",8429:"\u21bd",8430:"\u2190",8431:"\u2192"},t.defaultMoMap={45:"\u2212"},t.defaultMnMap={45:"\u2212"},t.defaultParams={x_height:.442,quad:1,num1:.676,num2:.394,num3:.444,denom1:.686,denom2:.345,sup1:.413,sup2:.363,sup3:.289,sub1:.15,sub2:.247,sup_drop:.386,sub_drop:.05,delim1:2.39,delim2:1,axis_height:.25,rule_thickness:.06,big_op_spacing1:.111,big_op_spacing2:.167,big_op_spacing3:.2,big_op_spacing4:.6,big_op_spacing5:.1,surd_height:.075,scriptspace:.05,nulldelimiterspace:.12,delimiterfactor:901,delimitershortfall:.3,min_rule_thickness:1.25,separation_factor:1.75,extra_ic:.033},t.defaultDelimiters={},t.defaultChars={},t.defaultSizeVariants=[],t.defaultStretchVariants=[],t}();e.FontData=l},5552:function(t,e){var r=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s};Object.defineProperty(e,"__esModule",{value:!0}),e.CommonArrow=e.CommonDiagonalArrow=e.CommonDiagonalStrike=e.CommonBorder2=e.CommonBorder=e.arrowBBox=e.diagonalArrowDef=e.arrowDef=e.arrowBBoxW=e.arrowBBoxHD=e.arrowHead=e.fullBorder=e.fullPadding=e.fullBBox=e.sideNames=e.sideIndex=e.SOLID=e.PADDING=e.THICKNESS=e.ARROWY=e.ARROWDX=e.ARROWX=void 0,e.ARROWX=4,e.ARROWDX=1,e.ARROWY=2,e.THICKNESS=.067,e.PADDING=.2,e.SOLID=e.THICKNESS+"em solid",e.sideIndex={top:0,right:1,bottom:2,left:3},e.sideNames=Object.keys(e.sideIndex),e.fullBBox=function(t){return new Array(4).fill(t.thickness+t.padding)},e.fullPadding=function(t){return new Array(4).fill(t.padding)},e.fullBorder=function(t){return new Array(4).fill(t.thickness)};e.arrowHead=function(t){return Math.max(t.padding,t.thickness*(t.arrowhead.x+t.arrowhead.dx+1))};e.arrowBBoxHD=function(t,e){if(t.childNodes[0]){var r=t.childNodes[0].getBBox(),n=r.h,o=r.d;e[0]=e[2]=Math.max(0,t.thickness*t.arrowhead.y-(n+o)/2)}return e};e.arrowBBoxW=function(t,e){if(t.childNodes[0]){var r=t.childNodes[0].getBBox().w;e[1]=e[3]=Math.max(0,t.thickness*t.arrowhead.y-r/2)}return e},e.arrowDef={up:[-Math.PI/2,!1,!0,"verticalstrike"],down:[Math.PI/2,!1,!0,"verticakstrike"],right:[0,!1,!1,"horizontalstrike"],left:[Math.PI,!1,!1,"horizontalstrike"],updown:[Math.PI/2,!0,!0,"verticalstrike uparrow downarrow"],leftright:[0,!0,!1,"horizontalstrike leftarrow rightarrow"]},e.diagonalArrowDef={updiagonal:[-1,0,!1,"updiagonalstrike northeastarrow"],northeast:[-1,0,!1,"updiagonalstrike updiagonalarrow"],southeast:[1,0,!1,"downdiagonalstrike"],northwest:[1,Math.PI,!1,"downdiagonalstrike"],southwest:[-1,Math.PI,!1,"updiagonalstrike"],northeastsouthwest:[-1,0,!0,"updiagonalstrike northeastarrow updiagonalarrow southwestarrow"],northwestsoutheast:[1,0,!0,"downdiagonalstrike northwestarrow southeastarrow"]},e.arrowBBox={up:function(t){return(0,e.arrowBBoxW)(t,[(0,e.arrowHead)(t),0,t.padding,0])},down:function(t){return(0,e.arrowBBoxW)(t,[t.padding,0,(0,e.arrowHead)(t),0])},right:function(t){return(0,e.arrowBBoxHD)(t,[0,(0,e.arrowHead)(t),0,t.padding])},left:function(t){return(0,e.arrowBBoxHD)(t,[0,t.padding,0,(0,e.arrowHead)(t)])},updown:function(t){return(0,e.arrowBBoxW)(t,[(0,e.arrowHead)(t),0,(0,e.arrowHead)(t),0])},leftright:function(t){return(0,e.arrowBBoxHD)(t,[0,(0,e.arrowHead)(t),0,(0,e.arrowHead)(t)])}};e.CommonBorder=function(t){return function(r){var n=e.sideIndex[r];return[r,{renderer:t,bbox:function(t){var e=[0,0,0,0];return e[n]=t.thickness+t.padding,e},border:function(t){var e=[0,0,0,0];return e[n]=t.thickness,e}}]}};e.CommonBorder2=function(t){return function(r,n,o){var i=e.sideIndex[n],s=e.sideIndex[o];return[r,{renderer:t,bbox:function(t){var e=t.thickness+t.padding,r=[0,0,0,0];return r[i]=r[s]=e,r},border:function(t){var e=[0,0,0,0];return e[i]=e[s]=t.thickness,e},remove:n+" "+o}]}};e.CommonDiagonalStrike=function(t){return function(r){var n="mjx-"+r.charAt(0)+"strike";return[r+"diagonalstrike",{renderer:t(n),bbox:e.fullBBox}]}};e.CommonDiagonalArrow=function(t){return function(n){var o=r(e.diagonalArrowDef[n],4),i=o[0],s=o[1],a=o[2];return[n+"arrow",{renderer:function(e,n){var o=r(e.arrowAW(),2),l=o[0],c=o[1],u=e.arrow(c,i*(l-s),a);t(e,u)},bbox:function(t){var e=t.arrowData(),n=e.a,o=e.x,i=e.y,s=r([t.arrowhead.x,t.arrowhead.y,t.arrowhead.dx],3),a=s[0],l=s[1],c=s[2],u=r(t.getArgMod(a+c,l),2),p=u[0],h=u[1],f=i+(p>n?t.thickness*h*Math.sin(p-n):0),d=o+(p>Math.PI/2-n?t.thickness*h*Math.sin(p+n-Math.PI/2):0);return[f,d,f,d]},remove:o[3]}]}};e.CommonArrow=function(t){return function(n){var o=r(e.arrowDef[n],4),i=o[0],s=o[1],a=o[2],l=o[3];return[n+"arrow",{renderer:function(e,n){var o=e.getBBox(),l=o.w,c=o.h,u=o.d,p=r(a?[c+u,"X"]:[l,"Y"],2),h=p[0],f=p[1],d=e.getOffset(f),m=e.arrow(h,i,s,f,d);t(e,m)},bbox:e.arrowBBox[n],remove:l}]}}},3055:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__assign||function(){return i=Object.assign||function(t){for(var e,r=1,n=arguments.length;r0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},a=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CommonOutputJax=void 0;var l=r(2975),c=r(4474),u=r(7233),p=r(6010),h=r(8054),f=r(4139),d=function(t){function e(e,r,n){void 0===e&&(e=null),void 0===r&&(r=null),void 0===n&&(n=null);var o=this,i=s((0,u.separateOptions)(e,n.OPTIONS),2),a=i[0],l=i[1];return(o=t.call(this,a)||this).factory=o.options.wrapperFactory||new r,o.factory.jax=o,o.cssStyles=o.options.cssStyles||new f.CssStyles,o.font=o.options.font||new n(l),o.unknownCache=new Map,o}return o(e,t),e.prototype.typeset=function(t,e){this.setDocument(e);var r=this.createNode();return this.toDOM(t,r,e),r},e.prototype.createNode=function(){var t=this.constructor.NAME;return this.html("mjx-container",{class:"MathJax",jax:t})},e.prototype.setScale=function(t){var e=this.math.metrics.scale*this.options.scale;1!==e&&this.adaptor.setStyle(t,"fontSize",(0,p.percent)(e))},e.prototype.toDOM=function(t,e,r){void 0===r&&(r=null),this.setDocument(r),this.math=t,this.pxPerEm=t.metrics.ex/this.font.params.x_height,t.root.setTeXclass(null),this.setScale(e),this.nodeMap=new Map,this.container=e,this.processMath(t.root,e),this.nodeMap=null,this.executeFilters(this.postFilters,t,r,e)},e.prototype.getBBox=function(t,e){this.setDocument(e),this.math=t,t.root.setTeXclass(null),this.nodeMap=new Map;var r=this.factory.wrap(t.root).getOuterBBox();return this.nodeMap=null,r},e.prototype.getMetrics=function(t){var e,r;this.setDocument(t);var n=this.adaptor,o=this.getMetricMaps(t);try{for(var i=a(t.math),s=i.next();!s.done;s=i.next()){var l=s.value,u=n.parent(l.start.node);if(l.state()=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},c=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},u=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o600?"bold":"normal"),n.family?r=this.explicitVariant(n.family,n.weight,n.style):(this.node.getProperty("variantForm")&&(r="-tex-variant"),r=(e.BOLDVARIANTS[n.weight]||{})[r]||r,r=(e.ITALICVARIANTS[n.style]||{})[r]||r)}this.variant=r}},e.prototype.explicitVariant=function(t,e,r){var n=this.styles;return n||(n=this.styles=new m.Styles),n.set("fontFamily",t),e&&n.set("fontWeight",e),r&&n.set("fontStyle",r),"-explicitFont"},e.prototype.getScale=function(){var t=1,e=this.parent,r=e?e.bbox.scale:1,n=this.node.attributes,o=Math.min(n.get("scriptlevel"),2),i=n.get("fontsize"),s=this.node.isToken||this.node.isKind("mstyle")?n.get("mathsize"):n.getInherited("mathsize");if(0!==o){t=Math.pow(n.get("scriptsizemultiplier"),o);var a=this.length2em(n.get("scriptminsize"),.8,1);t0;this.bbox.L=n.isSet("lspace")?Math.max(0,this.length2em(n.get("lspace"))):v(o,t.lspace),this.bbox.R=n.isSet("rspace")?Math.max(0,this.length2em(n.get("rspace"))):v(o,t.rspace);var i=r.childIndex(e);if(0!==i){var s=r.childNodes[i-1];if(s.isEmbellished){var a=this.jax.nodeMap.get(s).getBBox();a.R&&(this.bbox.L=Math.max(0,this.bbox.L-a.R))}}}},e.prototype.getTeXSpacing=function(t,e){if(!e){var r=this.node.texSpacing();r&&(this.bbox.L=this.length2em(r))}if(t||e){var n=this.node.coreMO().attributes;n.isSet("lspace")&&(this.bbox.L=Math.max(0,this.length2em(n.get("lspace")))),n.isSet("rspace")&&(this.bbox.R=Math.max(0,this.length2em(n.get("rspace"))))}},e.prototype.isTopEmbellished=function(){return this.node.isEmbellished&&!(this.node.parent&&this.node.parent.isEmbellished)},e.prototype.core=function(){return this.jax.nodeMap.get(this.node.core())},e.prototype.coreMO=function(){return this.jax.nodeMap.get(this.node.coreMO())},e.prototype.getText=function(){var t,e,r="";if(this.node.isToken)try{for(var n=l(this.node.childNodes),o=n.next();!o.done;o=n.next()){var i=o.value;i instanceof h.TextNode&&(r+=i.getText())}}catch(e){t={error:e}}finally{try{o&&!o.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}return r},e.prototype.canStretch=function(t){if(this.stretch=g.NOSTRETCH,this.node.isEmbellished){var e=this.core();e&&e.node!==this.node&&e.canStretch(t)&&(this.stretch=e.stretch)}return 0!==this.stretch.dir},e.prototype.getAlignShift=function(){var t,e=(t=this.node.attributes).getList.apply(t,u([],c(h.indentAttributes),!1)),r=e.indentalign,n=e.indentshift,o=e.indentalignfirst,i=e.indentshiftfirst;return"indentalign"!==o&&(r=o),"auto"===r&&(r=this.jax.options.displayAlign),"indentshift"!==i&&(n=i),"auto"===n&&(n=this.jax.options.displayIndent,"right"!==r||n.match(/^\s*0[a-z]*\s*$/)||(n=("-"+n.trim()).replace(/^--/,""))),[r,this.length2em(n,this.metrics.containerWidth)]},e.prototype.getAlignX=function(t,e,r){return"right"===r?t-(e.w+e.R)*e.rscale:"left"===r?e.L*e.rscale:(t-e.w*e.rscale)/2},e.prototype.getAlignY=function(t,e,r,n,o){return"top"===o?t-r:"bottom"===o?n-e:"center"===o?(t-r-(e-n))/2:0},e.prototype.getWrapWidth=function(t){return this.childNodes[t].getBBox().w},e.prototype.getChildAlign=function(t){return"left"},e.prototype.percent=function(t){return d.percent(t)},e.prototype.em=function(t){return d.em(t)},e.prototype.px=function(t,e){return void 0===e&&(e=-d.BIGDIMEN),d.px(t,e,this.metrics.em)},e.prototype.length2em=function(t,e,r){return void 0===e&&(e=1),void 0===r&&(r=null),null===r&&(r=this.bbox.scale),d.length2em(t,e,r,this.jax.pxPerEm)},e.prototype.unicodeChars=function(t,e){void 0===e&&(e=this.variant);var r=(0,f.unicodeChars)(t),n=this.font.getVariant(e);if(n&&n.chars){var o=n.chars;r=r.map((function(t){return((o[t]||[])[3]||{}).smp||t}))}return r},e.prototype.remapChars=function(t){return t},e.prototype.mmlText=function(t){return this.node.factory.create("text").setText(t)},e.prototype.mmlNode=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=[]),this.node.factory.create(t,e,r)},e.prototype.createMo=function(t){var e=this.node.factory,r=e.create("text").setText(t),n=e.create("mo",{stretchy:!0},[r]);n.inheritAttributesFrom(this.node);var o=this.wrap(n);return o.parent=this,o},e.prototype.getVariantChar=function(t,e){var r=this.font.getChar(t,e)||[0,0,0,{unknown:!0}];return 3===r.length&&(r[3]={}),r},e.kind="unknown",e.styles={},e.removeStyles=["fontSize","fontFamily","fontWeight","fontStyle","fontVariant","font"],e.skipAttributes={fontfamily:!0,fontsize:!0,fontweight:!0,fontstyle:!0,color:!0,background:!0,class:!0,href:!0,style:!0,xmlns:!0},e.BOLDVARIANTS={bold:{normal:"bold",italic:"bold-italic",fraktur:"bold-fraktur",script:"bold-script","sans-serif":"bold-sans-serif","sans-serif-italic":"sans-serif-bold-italic"},normal:{bold:"normal","bold-italic":"italic","bold-fraktur":"fraktur","bold-script":"script","bold-sans-serif":"sans-serif","sans-serif-bold-italic":"sans-serif-italic"}},e.ITALICVARIANTS={italic:{normal:"italic",bold:"bold-italic","sans-serif":"sans-serif-italic","bold-sans-serif":"sans-serif-bold-italic"},normal:{italic:"normal","bold-italic":"bold","sans-serif-italic":"sans-serif","sans-serif-bold-italic":"bold-sans-serif"}},e}(p.AbstractWrapper);e.CommonWrapper=_},4420:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CommonWrapperFactory=void 0;var i=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.jax=null,e}return o(e,t),Object.defineProperty(e.prototype,"Wrappers",{get:function(){return this.node},enumerable:!1,configurable:!0}),e.defaultNodes={},e}(r(3811).AbstractWrapperFactory);e.CommonWrapperFactory=i},9800:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CommonTeXAtomMixin=void 0;var i=r(9007);e.CommonTeXAtomMixin=function(t){return function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.computeBBox=function(e,r){if(void 0===r&&(r=!1),t.prototype.computeBBox.call(this,e,r),this.childNodes[0]&&this.childNodes[0].bbox.ic&&(e.ic=this.childNodes[0].bbox.ic),this.node.texClass===i.TEXCLASS.VCENTER){var n=e.h,o=(n+e.d)/2+this.font.params.axis_height-n;e.h+=o,e.d-=o}},e}(t)}},1160:function(t,e){var r,n=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},i=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s};Object.defineProperty(e,"__esModule",{value:!0}),e.CommonTextNodeMixin=void 0,e.CommonTextNodeMixin=function(t){return function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.computeBBox=function(t,e){var r,n;void 0===e&&(e=!1);var s=this.parent.variant,a=this.node.getText();if("-explicitFont"===s){var l=this.jax.getFontData(this.parent.styles),c=this.jax.measureText(a,s,l),u=c.w,p=c.h,h=c.d;t.h=p,t.d=h,t.w=u}else{var f=this.remappedText(a,s);t.empty();try{for(var d=o(f),m=d.next();!m.done;m=d.next()){var y=m.value,g=i(this.getVariantChar(s,y),4),b=(p=g[0],h=g[1],u=g[2],g[3]);if(b.unknown){var v=this.jax.measureText(String.fromCodePoint(y),s);u=v.w,p=v.h,h=v.d}t.w+=u,p>t.h&&(t.h=p),h>t.d&&(t.d=h),t.ic=b.ic||0,t.sk=b.sk||0,t.dx=b.dx||0}}catch(t){r={error:t}}finally{try{m&&!m.done&&(n=d.return)&&n.call(d)}finally{if(r)throw r.error}}f.length>1&&(t.sk=0),t.clean()}},e.prototype.remappedText=function(t,e){var r=this.parent.stretch.c;return r?[r]:this.parent.remapChars(this.unicodeChars(t,e))},e.prototype.getStyles=function(){},e.prototype.getVariant=function(){},e.prototype.getScale=function(){},e.prototype.getSpace=function(){},e}(t)}},1956:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},s=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},c=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CommonMencloseMixin=void 0;var p=a(r(5552)),h=r(505);e.CommonMencloseMixin=function(t){return function(t){function e(){for(var e=[],r=0;r.001?s:0},e.prototype.getArgMod=function(t,e){return[Math.atan2(e,t),Math.sqrt(t*t+e*e)]},e.prototype.arrow=function(t,e,r,n,o){return void 0===n&&(n=""),void 0===o&&(o=0),null},e.prototype.arrowData=function(){var t=l([this.padding,this.thickness],2),e=t[0],r=t[1]*(this.arrowhead.x+Math.max(1,this.arrowhead.dx)),n=this.childNodes[0].getBBox(),o=n.h,i=n.d,s=n.w,a=o+i,c=Math.sqrt(a*a+s*s),u=Math.max(e,r*s/c),p=Math.max(e,r*a/c),h=l(this.getArgMod(s+2*u,a+2*p),2);return{a:h[0],W:h[1],x:u,y:p}},e.prototype.arrowAW=function(){var t=this.childNodes[0].getBBox(),e=t.h,r=t.d,n=t.w,o=l(this.TRBL,4),i=o[0],s=o[1],a=o[2],c=o[3];return this.getArgMod(c+n+s,i+e+r+a)},e.prototype.createMsqrt=function(t){var e=this.node.factory.create("msqrt");e.inheritAttributesFrom(this.node),e.childNodes[0]=t.node;var r=this.wrap(e);return r.parent=this,r},e.prototype.sqrtTRBL=function(){var t=this.msqrt.getBBox(),e=this.msqrt.childNodes[0].getBBox();return[t.h-e.h,0,t.d-e.d,t.w-e.w]},e}(t)}},7555:function(t,e){var r,n=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},i=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CommonMfencedMixin=void 0,e.CommonMfencedMixin=function(t){return function(t){function e(){for(var e=[],r=0;r0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},i=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},i=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},s=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CommonMmultiscriptsMixin=e.ScriptNames=e.NextScript=void 0;var l=r(6469);e.NextScript={base:"subList",subList:"supList",supList:"subList",psubList:"psupList",psupList:"psubList"},e.ScriptNames=["sup","sup","psup","psub"],e.CommonMmultiscriptsMixin=function(t){return function(t){function r(){for(var e=[],r=0;re.length&&e.push(l.BBox.empty())},r.prototype.combineBBoxLists=function(t,e,r,n){for(var o=0;ot.h&&(t.h=l),c>t.d&&(t.d=c),h>e.h&&(e.h=h),f>e.d&&(e.d=f)}},r.prototype.getScaledWHD=function(t){var e=t.w,r=t.h,n=t.d,o=t.rscale;return[e*o,r*o,n*o]},r.prototype.getUVQ=function(e,r){var n;if(!this.UVQ){var o=i([0,0,0],3),s=o[0],a=o[1],l=o[2];0===e.h&&0===e.d?s=this.getU():0===r.h&&0===r.d?s=-this.getV():(s=(n=i(t.prototype.getUVQ.call(this,e,r),3))[0],a=n[1],l=n[2]),this.UVQ=[s,a,l]}return this.UVQ},r}(t)}},5023:function(t,e){var r,n=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.CommonMnMixin=void 0,e.CommonMnMixin=function(t){return function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.remapChars=function(t){if(t.length){var e=this.font.getRemappedChar("mn",t[0]);if(e){var r=this.unicodeChars(e,this.variant);1===r.length?t[0]=r[0]:t=r.concat(t.slice(1))}}return t},e}(t)}},7096:function(t,e,r){var n,o,i=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),s=this&&this.__assign||function(){return s=Object.assign||function(t){for(var e,r=1,n=arguments.length;r0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},l=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CommonMoMixin=e.DirectionVH=void 0;var u=r(6469),p=r(505),h=r(5884);e.DirectionVH=((o={})[1]="v",o[2]="h",o),e.CommonMoMixin=function(t){return function(t){function e(){for(var e=[],r=0;r=0)&&(t.w=0)},e.prototype.protoBBox=function(e){var r=0!==this.stretch.dir;r&&null===this.size&&this.getStretchedVariant([0]),r&&this.size<0||(t.prototype.computeBBox.call(this,e),this.copySkewIC(e))},e.prototype.getAccentOffset=function(){var t=u.BBox.empty();return this.protoBBox(t),-t.w/2},e.prototype.getCenterOffset=function(e){return void 0===e&&(e=null),e||(e=u.BBox.empty(),t.prototype.computeBBox.call(this,e)),(e.h+e.d)/2+this.font.params.axis_height-e.h},e.prototype.getVariant=function(){this.node.attributes.get("largeop")?this.variant=this.node.attributes.get("displaystyle")?"-largeop":"-smallop":this.node.attributes.getExplicit("mathvariant")||!1!==this.node.getProperty("pseudoscript")?t.prototype.getVariant.call(this):this.variant="-tex-variant"},e.prototype.canStretch=function(t){if(0!==this.stretch.dir)return this.stretch.dir===t;if(!this.node.attributes.get("stretchy"))return!1;var e=this.getText();if(1!==Array.from(e).length)return!1;var r=this.font.getDelimiter(e.codePointAt(0));return this.stretch=r&&r.dir===t?r:h.NOSTRETCH,0!==this.stretch.dir},e.prototype.getStretchedVariant=function(t,e){var r,n;if(void 0===e&&(e=!1),0!==this.stretch.dir){var o=this.getWH(t),i=this.getSize("minsize",0),a=this.getSize("maxsize",1/0),l=this.node.getProperty("mathaccent");o=Math.max(i,Math.min(a,o));var u=this.font.params.delimiterfactor/1e3,p=this.font.params.delimitershortfall,h=i||e?o:l?Math.min(o/u,o+p):Math.max(o*u,o-p),f=this.stretch,d=f.c||this.getText().codePointAt(0),m=0;if(f.sizes)try{for(var y=c(f.sizes),g=y.next();!g.done;g=y.next()){if(g.value>=h)return l&&m&&m--,this.variant=this.font.getSizeVariant(d,m),this.size=m,void(f.schar&&f.schar[m]&&(this.stretch=s(s({},this.stretch),{c:f.schar[m]})));m++}}catch(t){r={error:t}}finally{try{g&&!g.done&&(n=y.return)&&n.call(y)}finally{if(r)throw r.error}}f.stretch?(this.size=-1,this.invalidateBBox(),this.getStretchBBox(t,this.checkExtendedHeight(o,f),f)):(this.variant=this.font.getSizeVariant(d,m-1),this.size=m-1)}},e.prototype.getSize=function(t,e){var r=this.node.attributes;return r.isSet(t)&&(e=this.length2em(r.get(t),1,1)),e},e.prototype.getWH=function(t){if(0===t.length)return 0;if(1===t.length)return t[0];var e=a(t,2),r=e[0],n=e[1],o=this.font.params.axis_height;return this.node.attributes.get("symmetric")?2*Math.max(r-o,n+o):r+n},e.prototype.getStretchBBox=function(t,e,r){var n;r.hasOwnProperty("min")&&r.min>e&&(e=r.min);var o=a(r.HDW,3),i=o[0],s=o[1],l=o[2];1===this.stretch.dir?(i=(n=a(this.getBaseline(t,e,r),2))[0],s=n[1]):l=e,this.bbox.h=i,this.bbox.d=s,this.bbox.w=l},e.prototype.getBaseline=function(t,e,r){var n=2===t.length&&t[0]+t[1]===e,o=this.node.attributes.get("symmetric"),i=a(n?t:[e,0],2),s=i[0],l=i[1],c=a([s+l,0],2),u=c[0],p=c[1];if(o){var h=this.font.params.axis_height;n&&(u=2*Math.max(s-h,l+h)),p=u/2-h}else if(n)p=l;else{var f=a(r.HDW||[.75,.25],2),d=f[0],m=f[1];p=m*(u/(d+m))}return[u-p,p]},e.prototype.checkExtendedHeight=function(t,e){if(e.fullExt){var r=a(e.fullExt,2),n=r[0],o=r[1];t=o+Math.ceil(Math.max(0,t-o)/n)*n}return t},e.prototype.remapChars=function(t){var e=this.node.getProperty("primes");if(e)return(0,p.unicodeChars)(e);if(1===t.length){var r=this.node.coreParent().parent,n=this.isAccent&&!r.isKind("mrow")?"accent":"mo",o=this.font.getRemappedChar(n,t[0]);o&&(t=this.unicodeChars(o,this.variant))}return t},e}(t)}},6898:function(t,e){var r,n=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s};Object.defineProperty(e,"__esModule",{value:!0}),e.CommonMpaddedMixin=void 0,e.CommonMpaddedMixin=function(t){return function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.getDimens=function(){var t=this.node.attributes.getList("width","height","depth","lspace","voffset"),e=this.childNodes[0].getBBox(),r=e.w,n=e.h,o=e.d,i=r,s=n,a=o,l=0,c=0,u=0;""!==t.width&&(r=this.dimen(t.width,e,"w",0)),""!==t.height&&(n=this.dimen(t.height,e,"h",0)),""!==t.depth&&(o=this.dimen(t.depth,e,"d",0)),""!==t.voffset&&(c=this.dimen(t.voffset,e)),""!==t.lspace&&(l=this.dimen(t.lspace,e));var p=this.node.attributes.get("data-align");return p&&(u=this.getAlignX(r,e,p)),[s,a,i,n-s,o-a,r-i,l,c,u]},e.prototype.dimen=function(t,e,r,n){void 0===r&&(r=""),void 0===n&&(n=null);var o=(t=String(t)).match(/width|height|depth/),i=o?e[o[0].charAt(0)]:r?e[r]:0,s=this.length2em(t,i)||0;return t.match(/^[-+]/)&&r&&(s+=i),null!=n&&(s=Math.max(n,s)),s},e.prototype.computeBBox=function(t,e){void 0===e&&(e=!1);var r=o(this.getDimens(),6),n=r[0],i=r[1],s=r[2],a=r[3],l=r[4],c=r[5];t.w=s+c,t.h=n+a,t.d=i+l,this.setChildPWidths(e,t.w)},e.prototype.getWrapWidth=function(t){return this.getBBox().w},e.prototype.getChildAlign=function(t){return this.node.attributes.get("data-align")||"left"},e}(t)}},6991:function(t,e){var r,n=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.CommonMrootMixin=void 0,e.CommonMrootMixin=function(t){return function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),Object.defineProperty(e.prototype,"surd",{get:function(){return 2},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"root",{get:function(){return 1},enumerable:!1,configurable:!0}),e.prototype.combineRootBBox=function(t,e,r){var n=this.childNodes[this.root].getOuterBBox(),o=this.getRootDimens(e,r)[1];t.combine(n,0,o)},e.prototype.getRootDimens=function(t,e){var r=this.childNodes[this.surd],n=this.childNodes[this.root].getOuterBBox(),o=(r.size<0?.5:.6)*t.w,i=n.w,s=n.rscale,a=Math.max(i,o/s),l=Math.max(0,a-i);return[a*s-o,this.rootHeight(n,t,r.size,e),l]},e.prototype.rootHeight=function(t,e,r,n){var o=e.h+e.d;return(r<0?1.9:.55*o)-(o-n)+Math.max(0,t.d*t.rscale)},e}(t)}},8411:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},s=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CommonInferredMrowMixin=e.CommonMrowMixin=void 0;var l=r(6469);e.CommonMrowMixin=function(t){return function(t){function e(){for(var e,r,n=[],o=0;o1){var h=0,f=0,d=u>1&&u===p;try{for(var m=a(this.childNodes),y=m.next();!y.done;y=m.next()){var g=0===(x=y.value).stretch.dir;if(d||g){var b=x.getOuterBBox(g),v=b.h,_=b.d,S=b.rscale;(v*=S)>h&&(h=v),(_*=S)>f&&(f=_)}}}catch(t){r={error:t}}finally{try{y&&!y.done&&(n=m.return)&&n.call(m)}finally{if(r)throw r.error}}try{for(var M=a(s),O=M.next();!O.done;O=M.next()){var x;(x=O.value).coreMO().getStretchedVariant([h,f])}}catch(t){o={error:t}}finally{try{O&&!O.done&&(i=M.return)&&i.call(M)}finally{if(o)throw o.error}}}},e}(t)},e.CommonInferredMrowMixin=function(t){return function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.getScale=function(){this.bbox.scale=this.parent.bbox.scale,this.bbox.rscale=1},e}(t)}},4126:function(t,e){var r,n=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},i=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},s=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;othis.surdH?(t.h+t.d-(this.surdH-2*e-r/2))/2:e+r/4]},e.prototype.getRootDimens=function(t,e){return[0,0,0,0]},e}(t)}},905:function(t,e){var r,n=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s};Object.defineProperty(e,"__esModule",{value:!0}),e.CommonMsubsupMixin=e.CommonMsupMixin=e.CommonMsubMixin=void 0,e.CommonMsubMixin=function(t){var e;return e=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),Object.defineProperty(e.prototype,"scriptChild",{get:function(){return this.childNodes[this.node.sub]},enumerable:!1,configurable:!0}),e.prototype.getOffset=function(){return[0,-this.getV()]},e}(t),e.useIC=!1,e},e.CommonMsupMixin=function(t){return function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),Object.defineProperty(e.prototype,"scriptChild",{get:function(){return this.childNodes[this.node.sup]},enumerable:!1,configurable:!0}),e.prototype.getOffset=function(){return[this.getAdjustedIc()-(this.baseRemoveIc?0:this.baseIc),this.getU()]},e}(t)},e.CommonMsubsupMixin=function(t){var e;return e=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.UVQ=null,e}return n(e,t),Object.defineProperty(e.prototype,"subChild",{get:function(){return this.childNodes[this.node.sub]},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"supChild",{get:function(){return this.childNodes[this.node.sup]},enumerable:!1,configurable:!0}),e.prototype.computeBBox=function(t,e){void 0===e&&(e=!1);var r=this.baseChild.getOuterBBox(),n=o([this.subChild.getOuterBBox(),this.supChild.getOuterBBox()],2),i=n[0],s=n[1];t.empty(),t.append(r);var a=this.getBaseWidth(),l=this.getAdjustedIc(),c=o(this.getUVQ(),2),u=c[0],p=c[1];t.combine(i,a,p),t.combine(s,a+l,u),t.w+=this.font.params.scriptspace,t.clean(),this.setChildPWidths(e)},e.prototype.getUVQ=function(t,e){void 0===t&&(t=this.subChild.getOuterBBox()),void 0===e&&(e=this.supChild.getOuterBBox());var r=this.baseCore.getOuterBBox();if(this.UVQ)return this.UVQ;var n=this.font.params,i=3*n.rule_thickness,s=this.length2em(this.node.attributes.get("subscriptshift"),n.sub2),a=this.baseCharZero(r.d*this.baseScale+n.sub_drop*t.rscale),l=o([this.getU(),Math.max(a,s)],2),c=l[0],u=l[1],p=c-e.d*e.rscale-(t.h*t.rscale-u);if(p0&&(c+=h,u-=h)}return c=Math.max(this.length2em(this.node.attributes.get("superscriptshift"),c),c),u=Math.max(this.length2em(this.node.attributes.get("subscriptshift"),u),u),p=c-e.d*e.rscale-(t.h*t.rscale-u),this.UVQ=[c,-u,p],this.UVQ},e}(t),e.useIC=!1,e}},6237:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},s=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CommonMtableMixin=void 0;var l=r(6469),c=r(505),u=r(7875);e.CommonMtableMixin=function(t){return function(t){function e(){for(var e=[],r=0;r1){if(null===e){e=0;var d=h>1&&h===f;try{for(var m=a(this.tableRows),y=m.next();!y.done;y=m.next()){var g;if(g=y.value.getChild(t)){var b=0===(M=g.childNodes[0]).stretch.dir;if(d||b){var v=M.getBBox(b).w;v>e&&(e=v)}}}}catch(t){o={error:t}}finally{try{y&&!y.done&&(i=m.return)&&i.call(m)}finally{if(o)throw o.error}}}try{for(var _=a(c),S=_.next();!S.done;S=_.next()){var M;(M=S.value).coreMO().getStretchedVariant([e])}}catch(t){s={error:t}}finally{try{S&&!S.done&&(l=_.return)&&l.call(_)}finally{if(s)throw s.error}}}},e.prototype.getTableData=function(){if(this.data)return this.data;for(var t=new Array(this.numRows).fill(0),e=new Array(this.numRows).fill(0),r=new Array(this.numCols).fill(0),n=new Array(this.numRows),o=new Array(this.numRows),i=[0],s=this.tableRows,a=0;ao[r]&&(o[r]=c),u>i[r]&&(i[r]=u),f>a&&(a=f),s&&p>s[e]&&(s[e]=p),a},e.prototype.extendHD=function(t,e,r,n){var o=(n-(e[t]+r[t]))/2;o<1e-5||(e[t]+=o,r[t]+=o)},e.prototype.recordPWidthCell=function(t,e){t.childNodes[0]&&t.childNodes[0].getBBox().pwidth&&this.pwidthCells.push([t,e])},e.prototype.computeBBox=function(t,e){void 0===e&&(e=!1);var r,n,o=this.getTableData(),s=o.H,a=o.D;if(this.node.attributes.get("equalrows")){var l=this.getEqualRowHeight();r=(0,u.sum)([].concat(this.rLines,this.rSpace))+l*this.numRows}else r=(0,u.sum)(s.concat(a,this.rLines,this.rSpace));r+=2*(this.fLine+this.fSpace[1]);var p=this.getComputedWidths();n=(0,u.sum)(p.concat(this.cLines,this.cSpace))+2*(this.fLine+this.fSpace[0]);var h=this.node.attributes.get("width");"auto"!==h&&(n=Math.max(this.length2em(h,0)+2*this.fLine,n));var f=i(this.getBBoxHD(r),2),d=f[0],m=f[1];t.h=d,t.d=m,t.w=n;var y=i(this.getBBoxLR(),2),g=y[0],b=y[1];t.L=g,t.R=b,(0,c.isPercent)(h)||this.setColumnPWidths()},e.prototype.setChildPWidths=function(t,e,r){var n=this.node.attributes.get("width");if(!(0,c.isPercent)(n))return!1;this.hasLabels||(this.bbox.pwidth="",this.container.bbox.pwidth="");var o=this.bbox,i=o.w,s=o.L,a=o.R,l=this.node.attributes.get("data-width-includes-label"),p=Math.max(i,this.length2em(n,Math.max(e,s+i+a)))-(l?s+a:0),h=this.node.attributes.get("equalcolumns")?Array(this.numCols).fill(this.percent(1/Math.max(1,this.numCols))):this.getColumnAttributes("columnwidth",0);this.cWidths=this.getColumnWidthsFixed(h,p);var f=this.getComputedWidths();return this.pWidth=(0,u.sum)(f.concat(this.cLines,this.cSpace))+2*(this.fLine+this.fSpace[0]),this.isTop&&(this.bbox.w=this.pWidth),this.setColumnPWidths(),this.pWidth!==i&&this.parent.invalidateBBox(),this.pWidth!==i},e.prototype.setColumnPWidths=function(){var t,e,r=this.cWidths;try{for(var n=a(this.pwidthCells),o=n.next();!o.done;o=n.next()){var s=i(o.value,2),l=s[0],c=s[1];l.setChildPWidths(!1,r[c])&&(l.invalidateBBox(),l.getBBox())}}catch(e){t={error:e}}finally{try{o&&!o.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}},e.prototype.getBBoxHD=function(t){var e=i(this.getAlignmentRow(),2),r=e[0],n=e[1];if(null===n){var o=this.font.params.axis_height,s=t/2;return{top:[0,t],center:[s,s],bottom:[t,0],baseline:[s,s],axis:[s+o,s-o]}[r]||[s,s]}var a=this.getVerticalPosition(n,r);return[a,t-a]},e.prototype.getBBoxLR=function(){if(this.hasLabels){var t=this.node.attributes,e=t.get("side"),r=i(this.getPadAlignShift(e),2),n=r[0],o=r[1],s=this.hasLabels&&!!t.get("data-width-includes-label");return s&&this.frame&&this.fSpace[0]&&(n-=this.fSpace[0]),"center"!==o||s?"left"===e?[n,0]:[0,n]:[n,n]}return[0,0]},e.prototype.getPadAlignShift=function(t){var e=this.getTableData().L+this.length2em(this.node.attributes.get("minlabelspacing")),r=i(null==this.styles?["",""]:[this.styles.get("padding-left"),this.styles.get("padding-right")],2),n=r[0],o=r[1];(n||o)&&(e=Math.max(e,this.length2em(n||"0"),this.length2em(o||"0")));var s=i(this.getAlignShift(),2),a=s[0],l=s[1];return a===t&&(l="left"===t?Math.max(e,l)-e:Math.min(-e,l)+e),[e,a,l]},e.prototype.getAlignShift=function(){return this.isTop?t.prototype.getAlignShift.call(this):[this.container.getChildAlign(this.containerI),0]},e.prototype.getWidth=function(){return this.pWidth||this.getBBox().w},e.prototype.getEqualRowHeight=function(){var t=this.getTableData(),e=t.H,r=t.D,n=Array.from(e.keys()).map((function(t){return e[t]+r[t]}));return Math.max.apply(Math,n)},e.prototype.getComputedWidths=function(){var t=this,e=this.getTableData().W,r=Array.from(e.keys()).map((function(r){return"number"==typeof t.cWidths[r]?t.cWidths[r]:e[r]}));return this.node.attributes.get("equalcolumns")&&(r=Array(r.length).fill((0,u.max)(r))),r},e.prototype.getColumnWidths=function(){var t=this.node.attributes.get("width");if(this.node.attributes.get("equalcolumns"))return this.getEqualColumns(t);var e=this.getColumnAttributes("columnwidth",0);return"auto"===t?this.getColumnWidthsAuto(e):(0,c.isPercent)(t)?this.getColumnWidthsPercent(e):this.getColumnWidthsFixed(e,this.length2em(t))},e.prototype.getEqualColumns=function(t){var e,r=Math.max(1,this.numCols);if("auto"===t){var n=this.getTableData().W;e=(0,u.max)(n)}else if((0,c.isPercent)(t))e=this.percent(1/r);else{var o=(0,u.sum)([].concat(this.cLines,this.cSpace))+2*this.fSpace[0];e=Math.max(0,this.length2em(t)-o)/r}return Array(this.numCols).fill(e)},e.prototype.getColumnWidthsAuto=function(t){var e=this;return t.map((function(t){return"auto"===t||"fit"===t?null:(0,c.isPercent)(t)?t:e.length2em(t)}))},e.prototype.getColumnWidthsPercent=function(t){var e=this,r=t.indexOf("fit")>=0,n=(r?this.getTableData():{W:null}).W;return Array.from(t.keys()).map((function(o){var i=t[o];return"fit"===i?null:"auto"===i?r?n[o]:null:(0,c.isPercent)(i)?i:e.length2em(i)}))},e.prototype.getColumnWidthsFixed=function(t,e){var r=this,n=Array.from(t.keys()),o=n.filter((function(e){return"fit"===t[e]})),i=n.filter((function(e){return"auto"===t[e]})),s=o.length||i.length,a=(s?this.getTableData():{W:null}).W,l=e-(0,u.sum)([].concat(this.cLines,this.cSpace))-2*this.fSpace[0],c=l;n.forEach((function(e){var n=t[e];c-="fit"===n||"auto"===n?a[e]:r.length2em(n,l)}));var p=s&&c>0?c/s:0;return n.map((function(e){var n=t[e];return"fit"===n?a[e]+p:"auto"===n?a[e]+(0===o.length?p:0):r.length2em(n,l)}))},e.prototype.getVerticalPosition=function(t,e){for(var r=this.node.attributes.get("equalrows"),n=this.getTableData(),o=n.H,s=n.D,a=r?this.getEqualRowHeight():0,l=this.getRowHalfSpacing(),c=this.fLine,u=0;uthis.numRows?null:n-1]},e.prototype.getColumnAttributes=function(t,e){void 0===e&&(e=1);var r=this.numCols-e,n=this.getAttributeArray(t);if(0===n.length)return null;for(;n.lengthr&&n.splice(r),n},e.prototype.getRowAttributes=function(t,e){void 0===e&&(e=1);var r=this.numRows-e,n=this.getAttributeArray(t);if(0===n.length)return null;for(;n.lengthr&&n.splice(r),n},e.prototype.getAttributeArray=function(t){var e=this.node.attributes.get(t);return e?(0,c.split)(e):[this.node.attributes.getDefault(t)]},e.prototype.addEm=function(t,e){var r=this;return void 0===e&&(e=1),t?t.map((function(t){return r.em(t/e)})):null},e.prototype.convertLengths=function(t){var e=this;return t?t.map((function(t){return e.length2em(t)})):null},e}(t)}},5164:function(t,e){var r,n=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.CommonMtdMixin=void 0,e.CommonMtdMixin=function(t){return function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),Object.defineProperty(e.prototype,"fixesPWidth",{get:function(){return!1},enumerable:!1,configurable:!0}),e.prototype.invalidateBBox=function(){this.bboxComputed=!1},e.prototype.getWrapWidth=function(t){var e=this.parent.parent,r=this.parent,n=this.node.childPosition()-(r.labeled?1:0);return"number"==typeof e.cWidths[n]?e.cWidths[n]:e.getTableData().W[n]},e.prototype.getChildAlign=function(t){return this.node.attributes.get("columnalign")},e}(t)}},6319:function(t,e){var r,n=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.CommonMtextMixin=void 0,e.CommonMtextMixin=function(t){var e;return e=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.getVariant=function(){var e=this.jax.options,r=this.jax.math.outputData,n=(!!r.merrorFamily||!!e.merrorFont)&&this.node.Parent.isKind("merror");if(r.mtextFamily||e.mtextFont||n){var o=this.node.attributes.get("mathvariant"),i=this.constructor.INHERITFONTS[o]||this.jax.font.getCssFont(o),s=i[0]||(n?r.merrorFamily||e.merrorFont:r.mtextFamily||e.mtextFont);this.variant=this.explicitVariant(s,i[2]?"bold":"",i[1]?"italic":"")}else t.prototype.getVariant.call(this)},e}(t),e.INHERITFONTS={normal:["",!1,!1],bold:["",!1,!0],italic:["",!0,!1],"bold-italic":["",!0,!0]},e}},5766:function(t,e){var r,n=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CommonMlabeledtrMixin=e.CommonMtrMixin=void 0,e.CommonMtrMixin=function(t){return function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),Object.defineProperty(e.prototype,"fixesPWidth",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"numCells",{get:function(){return this.childNodes.length},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"labeled",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"tableCells",{get:function(){return this.childNodes},enumerable:!1,configurable:!0}),e.prototype.getChild=function(t){return this.childNodes[t]},e.prototype.getChildBBoxes=function(){return this.childNodes.map((function(t){return t.getBBox()}))},e.prototype.stretchChildren=function(t){var e,r,n,i,s,a;void 0===t&&(t=null);var l=[],c=this.labeled?this.childNodes.slice(1):this.childNodes;try{for(var u=o(c),p=u.next();!p.done;p=u.next()){(E=p.value.childNodes[0]).canStretch(1)&&l.push(E)}}catch(t){e={error:t}}finally{try{p&&!p.done&&(r=u.return)&&r.call(u)}finally{if(e)throw e.error}}var h=l.length,f=this.childNodes.length;if(h&&f>1){if(null===t){var d=0,m=0,y=h>1&&h===f;try{for(var g=o(c),b=g.next();!b.done;b=g.next()){var v=0===(E=b.value.childNodes[0]).stretch.dir;if(y||v){var _=E.getBBox(v),S=_.h,M=_.d;S>d&&(d=S),M>m&&(m=M)}}}catch(t){n={error:t}}finally{try{b&&!b.done&&(i=g.return)&&i.call(g)}finally{if(n)throw n.error}}t=[d,m]}try{for(var O=o(l),x=O.next();!x.done;x=O.next()){var E;(E=x.value).coreMO().getStretchedVariant(t)}}catch(t){s={error:t}}finally{try{x&&!x.done&&(a=O.return)&&a.call(O)}finally{if(s)throw s.error}}}},e}(t)},e.CommonMlabeledtrMixin=function(t){return function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),Object.defineProperty(e.prototype,"numCells",{get:function(){return Math.max(0,this.childNodes.length-1)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"labeled",{get:function(){return!0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"tableCells",{get:function(){return this.childNodes.slice(1)},enumerable:!1,configurable:!0}),e.prototype.getChild=function(t){return this.childNodes[t+1]},e.prototype.getChildBBoxes=function(){return this.childNodes.slice(1).map((function(t){return t.getBBox()}))},e}(t)}},1971:function(t,e){var r,n=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},i=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},s=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CommonScriptbaseMixin=void 0;var l=r(9007);e.CommonScriptbaseMixin=function(t){var e;return e=function(t){function e(){for(var e=[],r=0;r1){var h=0,f=u>1&&u===p;try{for(var d=a(this.childNodes),m=d.next();!m.done;m=d.next()){var y=0===(M=m.value).stretch.dir;if(f||y){var g=M.getOuterBBox(y),b=g.w,v=g.rscale;b*v>h&&(h=b*v)}}}catch(t){r={error:t}}finally{try{m&&!m.done&&(n=d.return)&&n.call(d)}finally{if(r)throw r.error}}try{for(var _=a(s),S=_.next();!S.done;S=_.next()){var M;(M=S.value).coreMO().getStretchedVariant([h/M.bbox.rscale])}}catch(t){o={error:t}}finally{try{S&&!S.done&&(i=_.return)&&i.call(_)}finally{if(o)throw o.error}}}},e}(t),e.useIC=!0,e}},5806:function(t,e){var r,n=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.CommonSemanticsMixin=void 0,e.CommonSemanticsMixin=function(t){return function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.computeBBox=function(t,e){if(void 0===e&&(e=!1),this.childNodes.length){var r=this.childNodes[0].getBBox(),n=r.w,o=r.h,i=r.d;t.w=n,t.h=o,t.d=i}},e}(t)}},5920:function(t,e){var r,n=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=this&&this.__assign||function(){return o=Object.assign||function(t){for(var e,r=1,n=arguments.length;r0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},s=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},s=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s};Object.defineProperty(e,"__esModule",{value:!0}),e.MJContextMenu=void 0;var a=r(5073),l=r(6186),c=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.mathItem=null,e.annotation="",e.annotationTypes={},e}return o(e,t),e.prototype.post=function(e,r){if(this.mathItem){if(void 0!==r){var n=this.mathItem.inputJax.name,o=this.findID("Show","Original");o.content="MathML"===n?"Original MathML":n+" Commands",this.findID("Copy","Original").content=o.content;var i=this.findID("Settings","semantics");"MathML"===n?i.disable():i.enable(),this.getAnnotationMenu(),this.dynamicSubmenus()}t.prototype.post.call(this,e,r)}},e.prototype.unpost=function(){t.prototype.unpost.call(this),this.mathItem=null},e.prototype.findID=function(){for(var t,e,r=[],n=0;n=0)return a}}catch(t){e={error:t}}finally{try{s&&!s.done&&(r=o.return)&&r.call(o)}finally{if(e)throw e.error}}return null},e.prototype.createAnnotationMenu=function(t,e,r){var n=this,o=this.findID(t,"Annotation");o.submenu=this.factory.get("subMenu")(this.factory,{items:e.map((function(t){var e=s(t,2),o=e[0],i=e[1];return{type:"command",id:o,content:o,action:function(){n.annotation=i,r()}}})),id:"annotations"},o),e.length?o.enable():o.disable()},e.prototype.dynamicSubmenus=function(){var t,r;try{for(var n=i(e.DynamicSubmenus),o=n.next();!o.done;o=n.next()){var a=s(o.value,2),l=a[0],c=a[1],u=this.find(l);if(u){var p=c(this,u);u.submenu=p,p.items.length?u.enable():u.disable()}}}catch(e){t={error:e}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}},e.DynamicSubmenus=new Map,e}(a.ContextMenu);e.MJContextMenu=c},8310:function(t,e,r){var n=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},o=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.Menu=void 0;var s=r(5713),a=r(4474),l=r(9515),c=r(7233),u=r(5865),p=r(473),h=r(4414),f=r(4922),d=r(6914),m=r(3463),y=r(7309),g=i(r(5445)),b=l.MathJax,v="undefined"!=typeof window&&window.navigator&&"Mac"===window.navigator.platform.substr(0,3),_=function(){function t(t,e){void 0===e&&(e={});var r=this;this.settings=null,this.defaultSettings=null,this.menu=null,this.MmlVisitor=new p.MmlVisitor,this.jax={CHTML:null,SVG:null},this.rerenderStart=a.STATE.LAST,this.about=new f.Info('MathJax v'+s.mathjax.version,(function(){var t=[];return t.push("Input Jax: "+r.document.inputJax.map((function(t){return t.name})).join(", ")),t.push("Output Jax: "+r.document.outputJax.name),t.push("Document Type: "+r.document.kind),t.join("
")}),'www.mathjax.org'),this.help=new f.Info("MathJax Help",(function(){return["

MathJax is a JavaScript library that allows page"," authors to include mathematics within their web pages."," As a reader, you don't need to do anything to make that happen.

","

Browsers: MathJax works with all modern browsers including"," Edge, Firefox, Chrome, Safari, Opera, and most mobile browsers.

","

Math Menu: MathJax adds a contextual menu to equations."," Right-click or CTRL-click on any mathematics to access the menu.

",'
',"

Show Math As: These options allow you to view the formula's"," source markup (as MathML or in its original format).

","

Copy to Clipboard: These options copy the formula's source markup,"," as MathML or in its original format, to the clipboard"," (in browsers that support that).

","

Math Settings: These give you control over features of MathJax,"," such the size of the mathematics, and the mechanism used"," to display equations.

","

Accessibility: MathJax can work with screen"," readers to make mathematics accessible to the visually impaired."," Turn on the explorer to enable generation of speech strings"," and the ability to investigate expressions interactively.

","

Language: This menu lets you select the language used by MathJax"," for its menus and warning messages. (Not yet implemented in version 3.)

","
","

Math Zoom: If you are having difficulty reading an"," equation, MathJax can enlarge it to help you see it better, or"," you can scall all the math on the page to make it larger."," Turn these features on in the Math Settings menu.

","

Preferences: MathJax uses your browser's localStorage database"," to save the preferences set via this menu locally in your browser. These"," are not used to track you, and are not transferred or used remotely by"," MathJax in any way.

"].join("\n")}),'www.mathjax.org'),this.mathmlCode=new h.SelectableInfo("MathJax MathML Expression",(function(){if(!r.menu.mathItem)return"";var t=r.toMML(r.menu.mathItem);return"
"+r.formatSource(t)+"
"}),""),this.originalText=new h.SelectableInfo("MathJax Original Source",(function(){if(!r.menu.mathItem)return"";var t=r.menu.mathItem.math;return'
'+r.formatSource(t)+"
"}),""),this.annotationText=new h.SelectableInfo("MathJax Annotation Text",(function(){if(!r.menu.mathItem)return"";var t=r.menu.annotation;return'
'+r.formatSource(t)+"
"}),""),this.zoomBox=new f.Info("MathJax Zoomed Expression",(function(){if(!r.menu.mathItem)return"";var t=r.menu.mathItem.typesetRoot.cloneNode(!0);return t.style.margin="0",'
'+t.outerHTML+"
"}),""),this.document=t,this.options=(0,c.userOptions)((0,c.defaultOptions)({},this.constructor.OPTIONS),e),this.initSettings(),this.mergeUserSettings(),this.initMenu(),this.applySettings()}return Object.defineProperty(t.prototype,"isLoading",{get:function(){return t.loading>0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"loadingPromise",{get:function(){return this.isLoading?(t._loadingPromise||(t._loadingPromise=new Promise((function(e,r){t._loadingOK=e,t._loadingFailed=r}))),t._loadingPromise):Promise.resolve()},enumerable:!1,configurable:!0}),t.prototype.initSettings=function(){this.settings=this.options.settings,this.jax=this.options.jax;var t=this.document.outputJax;this.jax[t.name]=t,this.settings.renderer=t.name,b._.a11y&&b._.a11y.explorer&&Object.assign(this.settings,this.document.options.a11y),this.settings.scale=t.options.scale,this.defaultSettings=Object.assign({},this.settings)},t.prototype.initMenu=function(){var t=this,e=new d.Parser([["contextMenu",u.MJContextMenu.fromJson.bind(u.MJContextMenu)]]);this.menu=e.parse({type:"contextMenu",id:"MathJax_Menu",pool:[this.variable("texHints"),this.variable("semantics"),this.variable("zoom"),this.variable("zscale"),this.variable("renderer",(function(e){return t.setRenderer(e)})),this.variable("alt"),this.variable("cmd"),this.variable("ctrl"),this.variable("shift"),this.variable("scale",(function(e){return t.setScale(e)})),this.variable("explorer",(function(e){return t.setExplorer(e)})),this.a11yVar("highlight"),this.a11yVar("backgroundColor"),this.a11yVar("backgroundOpacity"),this.a11yVar("foregroundColor"),this.a11yVar("foregroundOpacity"),this.a11yVar("speech"),this.a11yVar("subtitles"),this.a11yVar("braille"),this.a11yVar("viewBraille"),this.a11yVar("locale",(function(t){return g.default.setupEngine({locale:t})})),this.a11yVar("speechRules",(function(e){var r=n(e.split("-"),2),o=r[0],i=r[1];t.document.options.sre.domain=o,t.document.options.sre.style=i})),this.a11yVar("magnification"),this.a11yVar("magnify"),this.a11yVar("treeColoring"),this.a11yVar("infoType"),this.a11yVar("infoRole"),this.a11yVar("infoPrefix"),this.variable("autocollapse"),this.variable("collapsible",(function(e){return t.setCollapsible(e)})),this.variable("inTabOrder",(function(e){return t.setTabOrder(e)})),this.variable("assistiveMml",(function(e){return t.setAssistiveMml(e)}))],items:[this.submenu("Show","Show Math As",[this.command("MathMLcode","MathML Code",(function(){return t.mathmlCode.post()})),this.command("Original","Original Form",(function(){return t.originalText.post()})),this.submenu("Annotation","Annotation")]),this.submenu("Copy","Copy to Clipboard",[this.command("MathMLcode","MathML Code",(function(){return t.copyMathML()})),this.command("Original","Original Form",(function(){return t.copyOriginal()})),this.submenu("Annotation","Annotation")]),this.rule(),this.submenu("Settings","Math Settings",[this.submenu("Renderer","Math Renderer",this.radioGroup("renderer",[["CHTML"],["SVG"]])),this.rule(),this.submenu("ZoomTrigger","Zoom Trigger",[this.command("ZoomNow","Zoom Once Now",(function(){return t.zoom(null,"",t.menu.mathItem)})),this.rule(),this.radioGroup("zoom",[["Click"],["DoubleClick","Double-Click"],["NoZoom","No Zoom"]]),this.rule(),this.label("TriggerRequires","Trigger Requires:"),this.checkbox(v?"Option":"Alt",v?"Option":"Alt","alt"),this.checkbox("Command","Command","cmd",{hidden:!v}),this.checkbox("Control","Control","ctrl",{hiddne:v}),this.checkbox("Shift","Shift","shift")]),this.submenu("ZoomFactor","Zoom Factor",this.radioGroup("zscale",[["150%"],["175%"],["200%"],["250%"],["300%"],["400%"]])),this.rule(),this.command("Scale","Scale All Math...",(function(){return t.scaleAllMath()})),this.rule(),this.checkbox("texHints","Add TeX hints to MathML","texHints"),this.checkbox("semantics","Add original as annotation","semantics"),this.rule(),this.command("Reset","Reset to defaults",(function(){return t.resetDefaults()}))]),this.submenu("Accessibility","Accessibility",[this.checkbox("Activate","Activate","explorer"),this.submenu("Speech","Speech",[this.checkbox("Speech","Speech Output","speech"),this.checkbox("Subtitles","Speech Subtitles","subtitles"),this.checkbox("Braille","Braille Output","braille"),this.checkbox("View Braille","Braille Subtitles","viewBraille"),this.rule(),this.submenu("A11yLanguage","Language"),this.rule(),this.submenu("Mathspeak","Mathspeak Rules",this.radioGroup("speechRules",[["mathspeak-default","Verbose"],["mathspeak-brief","Brief"],["mathspeak-sbrief","Superbrief"]])),this.submenu("Clearspeak","Clearspeak Rules",this.radioGroup("speechRules",[["clearspeak-default","Auto"]])),this.submenu("ChromeVox","ChromeVox Rules",this.radioGroup("speechRules",[["chromevox-default","Standard"],["chromevox-alternative","Alternative"]]))]),this.submenu("Highlight","Highlight",[this.submenu("Background","Background",this.radioGroup("backgroundColor",[["Blue"],["Red"],["Green"],["Yellow"],["Cyan"],["Magenta"],["White"],["Black"]])),{type:"slider",variable:"backgroundOpacity",content:" "},this.submenu("Foreground","Foreground",this.radioGroup("foregroundColor",[["Black"],["White"],["Magenta"],["Cyan"],["Yellow"],["Green"],["Red"],["Blue"]])),{type:"slider",variable:"foregroundOpacity",content:" "},this.rule(),this.radioGroup("highlight",[["None"],["Hover"],["Flame"]]),this.rule(),this.checkbox("TreeColoring","Tree Coloring","treeColoring")]),this.submenu("Magnification","Magnification",[this.radioGroup("magnification",[["None"],["Keyboard"],["Mouse"]]),this.rule(),this.radioGroup("magnify",[["200%"],["300%"],["400%"],["500%"]])]),this.submenu("Semantic Info","Semantic Info",[this.checkbox("Type","Type","infoType"),this.checkbox("Role","Role","infoRole"),this.checkbox("Prefix","Prefix","infoPrefix")],!0),this.rule(),this.checkbox("Collapsible","Collapsible Math","collapsible"),this.checkbox("AutoCollapse","Auto Collapse","autocollapse",{disabled:!0}),this.rule(),this.checkbox("InTabOrder","Include in Tab Order","inTabOrder"),this.checkbox("AssistiveMml","Include Hidden MathML","assistiveMml")]),this.submenu("Language","Language"),this.rule(),this.command("About","About MathJax",(function(){return t.about.post()})),this.command("Help","MathJax Help",(function(){return t.help.post()}))]});var r=this.menu;this.about.attachMenu(r),this.help.attachMenu(r),this.originalText.attachMenu(r),this.annotationText.attachMenu(r),this.mathmlCode.attachMenu(r),this.zoomBox.attachMenu(r),this.checkLoadableItems(),this.enableExplorerItems(this.settings.explorer),r.showAnnotation=this.annotationText,r.copyAnnotation=this.copyAnnotation.bind(this),r.annotationTypes=this.options.annotationTypes,y.CssStyles.addInfoStyles(this.document.document),y.CssStyles.addMenuStyles(this.document.document)},t.prototype.checkLoadableItems=function(){var t,e;if(b&&b._&&b.loader&&b.startup)!this.settings.collapsible||b._.a11y&&b._.a11y.complexity||this.loadA11y("complexity"),!this.settings.explorer||b._.a11y&&b._.a11y.explorer||this.loadA11y("explorer"),!this.settings.assistiveMml||b._.a11y&&b._.a11y["assistive-mml"]||this.loadA11y("assistive-mml");else{var r=this.menu;try{for(var n=o(Object.keys(this.jax)),i=n.next();!i.done;i=n.next()){var s=i.value;this.jax[s]||r.findID("Settings","Renderer",s).disable()}}catch(e){t={error:e}}finally{try{i&&!i.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}r.findID("Accessibility","Activate").disable(),r.findID("Accessibility","AutoCollapse").disable(),r.findID("Accessibility","Collapsible").disable()}},t.prototype.enableExplorerItems=function(t){var e,r,n=this.menu.findID("Accessibility","Activate").menu;try{for(var i=o(n.items.slice(1)),s=i.next();!s.done;s=i.next()){var a=s.value;if(a instanceof m.Rule)break;t?a.enable():a.disable()}}catch(t){e={error:t}}finally{try{s&&!s.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}},t.prototype.mergeUserSettings=function(){try{var e=localStorage.getItem(t.MENU_STORAGE);if(!e)return;Object.assign(this.settings,JSON.parse(e)),this.setA11y(this.settings)}catch(t){console.log("MathJax localStorage error: "+t.message)}},t.prototype.saveUserSettings=function(){var e,r,n={};try{for(var i=o(Object.keys(this.settings)),s=i.next();!s.done;s=i.next()){var a=s.value;this.settings[a]!==this.defaultSettings[a]&&(n[a]=this.settings[a])}}catch(t){e={error:t}}finally{try{s&&!s.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}try{Object.keys(n).length?localStorage.setItem(t.MENU_STORAGE,JSON.stringify(n)):localStorage.removeItem(t.MENU_STORAGE)}catch(t){console.log("MathJax localStorage error: "+t.message)}},t.prototype.setA11y=function(t){b._.a11y&&b._.a11y.explorer&&b._.a11y.explorer_ts.setA11yOptions(this.document,t)},t.prototype.getA11y=function(t){if(b._.a11y&&b._.a11y.explorer)return void 0!==this.document.options.a11y[t]?this.document.options.a11y[t]:this.document.options.sre[t]},t.prototype.applySettings=function(){this.setTabOrder(this.settings.inTabOrder),this.document.options.enableAssistiveMml=this.settings.assistiveMml,this.document.outputJax.options.scale=parseFloat(this.settings.scale),this.settings.renderer!==this.defaultSettings.renderer&&this.setRenderer(this.settings.renderer)},t.prototype.setScale=function(t){this.document.outputJax.options.scale=parseFloat(t),this.document.rerender()},t.prototype.setRenderer=function(t){var e=this;if(this.jax[t])this.setOutputJax(t);else{var r=t.toLowerCase();this.loadComponent("output/"+r,(function(){var n=b.startup;r in n.constructors&&(n.useOutput(r,!0),n.output=n.getOutputJax(),e.jax[t]=n.output,e.setOutputJax(t))}))}},t.prototype.setOutputJax=function(t){this.jax[t].setAdaptor(this.document.adaptor),this.document.outputJax=this.jax[t],this.rerender()},t.prototype.setTabOrder=function(t){this.menu.store.inTaborder(t)},t.prototype.setAssistiveMml=function(t){this.document.options.enableAssistiveMml=t,!t||b._.a11y&&b._.a11y["assistive-mml"]?this.rerender():this.loadA11y("assistive-mml")},t.prototype.setExplorer=function(t){this.enableExplorerItems(t),this.document.options.enableExplorer=t,!t||b._.a11y&&b._.a11y.explorer?this.rerender(this.settings.collapsible?a.STATE.RERENDER:a.STATE.COMPILED):this.loadA11y("explorer")},t.prototype.setCollapsible=function(t){this.document.options.enableComplexity=t,!t||b._.a11y&&b._.a11y.complexity?this.rerender(a.STATE.COMPILED):this.loadA11y("complexity")},t.prototype.scaleAllMath=function(){var t=(100*parseFloat(this.settings.scale)).toFixed(1).replace(/.0$/,""),e=prompt("Scale all mathematics (compared to surrounding text) by",t+"%");if(e)if(e.match(/^\s*\d+(\.\d*)?\s*%?\s*$/)){var r=parseFloat(e)/100;r?this.menu.pool.lookup("scale").setValue(String(r)):alert("The scale should not be zero")}else alert("The scale should be a percentage (e.g., 120%)")},t.prototype.resetDefaults=function(){var e,r;t.loading++;var n=this.menu.pool,i=this.defaultSettings;try{for(var s=o(Object.keys(this.settings)),l=s.next();!l.done;l=s.next()){var c=l.value,u=n.lookup(c);if(u){u.setValue(i[c]);var p=u.items[0];p&&p.executeCallbacks_()}else this.settings[c]=i[c]}}catch(t){e={error:t}}finally{try{l&&!l.done&&(r=s.return)&&r.call(s)}finally{if(e)throw e.error}}t.loading--,this.rerender(a.STATE.COMPILED)},t.prototype.checkComponent=function(e){var r=t.loadingPromises.get(e);r&&s.mathjax.retryAfter(r)},t.prototype.loadComponent=function(e,r){if(!t.loadingPromises.has(e)){var n=b.loader;if(n){t.loading++;var o=n.load(e).then((function(){t.loading--,t.loadingPromises.delete(e),r(),0===t.loading&&t._loadingPromise&&(t._loadingPromise=null,t._loadingOK())})).catch((function(e){t._loadingPromise?(t._loadingPromise=null,t._loadingFailed(e)):console.log(e)}));t.loadingPromises.set(e,o)}}},t.prototype.loadA11y=function(e){var r=this,n=!a.STATE.ENRICHED;this.loadComponent("a11y/"+e,(function(){var o=b.startup;s.mathjax.handlers.unregister(o.handler),o.handler=o.getHandler(),s.mathjax.handlers.register(o.handler);var i=r.document;r.document=o.document=o.getDocument(),r.document.menu=r,r.document.outputJax.reset(),r.transferMathList(i),r.document.processed=i.processed,t._loadingPromise||(r.document.outputJax.reset(),r.rerender("complexity"===e||n?a.STATE.COMPILED:a.STATE.TYPESET))}))},t.prototype.transferMathList=function(t){var e,r,n=this.document.options.MathItem;try{for(var i=o(t.math),s=i.next();!s.done;s=i.next()){var a=s.value,l=new n;Object.assign(l,a),this.document.math.push(l)}}catch(t){e={error:t}}finally{try{s&&!s.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}},t.prototype.formatSource=function(t){return t.trim().replace(/&/g,"&").replace(//g,">")},t.prototype.toMML=function(t){return this.MmlVisitor.visitTree(t.root,t,{texHints:this.settings.texHints,semantics:this.settings.semantics&&"MathML"!==t.inputJax.name})},t.prototype.zoom=function(t,e,r){t&&!this.isZoomEvent(t,e)||(this.menu.mathItem=r,t&&this.menu.post(t),this.zoomBox.post())},t.prototype.isZoomEvent=function(t,e){return this.settings.zoom===e&&(!this.settings.alt||t.altKey)&&(!this.settings.ctrl||t.ctrlKey)&&(!this.settings.cmd||t.metaKey)&&(!this.settings.shift||t.shiftKey)},t.prototype.rerender=function(e){void 0===e&&(e=a.STATE.TYPESET),this.rerenderStart=Math.min(e,this.rerenderStart),t.loading||(this.rerenderStart<=a.STATE.COMPILED&&this.document.reset({inputJax:[]}),this.document.rerender(this.rerenderStart),this.rerenderStart=a.STATE.LAST)},t.prototype.copyMathML=function(){this.copyToClipboard(this.toMML(this.menu.mathItem))},t.prototype.copyOriginal=function(){this.copyToClipboard(this.menu.mathItem.math.trim())},t.prototype.copyAnnotation=function(){this.copyToClipboard(this.menu.annotation.trim())},t.prototype.copyToClipboard=function(t){var e=document.createElement("textarea");e.value=t,e.setAttribute("readonly",""),e.style.cssText="height: 1px; width: 1px; padding: 1px; position: absolute; left: -10px",document.body.appendChild(e),e.select();try{document.execCommand("copy")}catch(t){alert("Can't copy to clipboard: "+t.message)}document.body.removeChild(e)},t.prototype.addMenu=function(t){var e=this,r=t.typesetRoot;r.addEventListener("contextmenu",(function(){return e.menu.mathItem=t}),!0),r.addEventListener("keydown",(function(){return e.menu.mathItem=t}),!0),r.addEventListener("click",(function(r){return e.zoom(r,"Click",t)}),!0),r.addEventListener("dblclick",(function(r){return e.zoom(r,"DoubleClick",t)}),!0),this.menu.store.insert(r)},t.prototype.clear=function(){this.menu.store.clear()},t.prototype.variable=function(t,e){var r=this;return{name:t,getter:function(){return r.settings[t]},setter:function(n){r.settings[t]=n,e&&e(n),r.saveUserSettings()}}},t.prototype.a11yVar=function(t,e){var r=this;return{name:t,getter:function(){return r.getA11y(t)},setter:function(n){r.settings[t]=n;var o={};o[t]=n,r.setA11y(o),e&&e(n),r.saveUserSettings()}}},t.prototype.submenu=function(t,e,r,n){var i,s;void 0===r&&(r=[]),void 0===n&&(n=!1);var a=[];try{for(var l=o(r),c=l.next();!c.done;c=l.next()){var u=c.value;Array.isArray(u)?a=a.concat(u):a.push(u)}}catch(t){i={error:t}}finally{try{c&&!c.done&&(s=l.return)&&s.call(l)}finally{if(i)throw i.error}}return{type:"submenu",id:t,content:e,menu:{items:a},disabled:0===a.length||n}},t.prototype.command=function(t,e,r,n){return void 0===n&&(n={}),Object.assign({type:"command",id:t,content:e,action:r},n)},t.prototype.checkbox=function(t,e,r,n){return void 0===n&&(n={}),Object.assign({type:"checkbox",id:t,content:e,variable:r},n)},t.prototype.radioGroup=function(t,e){var r=this;return e.map((function(e){return r.radio(e[0],e[1]||e[0],t)}))},t.prototype.radio=function(t,e,r,n){return void 0===n&&(n={}),Object.assign({type:"radio",id:t,content:e,variable:r},n)},t.prototype.label=function(t,e){return{type:"label",id:t,content:e}},t.prototype.rule=function(){return{type:"rule"}},t.MENU_STORAGE="MathJax-Menu-Settings",t.OPTIONS={settings:{texHints:!0,semantics:!1,zoom:"NoZoom",zscale:"200%",renderer:"CHTML",alt:!1,cmd:!1,ctrl:!1,shift:!1,scale:1,autocollapse:!1,collapsible:!1,inTabOrder:!0,assistiveMml:!0,explorer:!1},jax:{CHTML:null,SVG:null},annotationTypes:(0,c.expandable)({TeX:["TeX","LaTeX","application/x-tex"],StarMath:["StarMath 5.0"],Maple:["Maple"],ContentMathML:["MathML-Content","application/mathml-content+xml"],OpenMath:["OpenMath"]})},t.loading=0,t.loadingPromises=new Map,t._loadingPromise=null,t._loadingOK=null,t._loadingFailed=null,t}();e.Menu=_},4001:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__assign||function(){return i=Object.assign||function(t){for(var e,r=1,n=arguments.length;r0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},a=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.MenuHandler=e.MenuMathDocumentMixin=e.MenuMathItemMixin=void 0;var c=r(5713),u=r(4474),p=r(7233),h=r(8310);function f(t){return function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.addMenu=function(t,e){void 0===e&&(e=!1),this.state()>=u.STATE.CONTEXT_MENU||(this.isEscaped||!t.options.enableMenu&&!e||t.menu.addMenu(this),this.state(u.STATE.CONTEXT_MENU))},e.prototype.checkLoading=function(t){t.checkLoading()},e}(t)}function d(t){var e;return e=function(t){function e(){for(var e=[],r=0;r\n"+this.childNodeMml(e,r+" ","\n")+r+""},e.prototype.visitMathNode=function(e,r){if(!this.options.semantics||"TeX"!==this.mathItem.inputJax.name)return t.prototype.visitDefault.call(this,e,r);var n=e.childNodes.length&&e.childNodes[0].childNodes.length>1;return r+"\n"+r+" \n"+(n?r+" \n":"")+this.childNodeMml(e,r+(n?" ":" "),"\n")+(n?r+" \n":"")+r+' '+this.mathItem.math+"\n"+r+" \n"+r+""},e}(i.SerializedMmlVisitor);e.MmlVisitor=a},4414:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.SelectableInfo=void 0;var i=r(4922),s=r(2165),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.addEvents=function(t){var e=this;t.addEventListener("keypress",(function(t){"a"===t.key&&(t.ctrlKey||t.metaKey)&&(e.selectAll(),e.stop(t))}))},e.prototype.selectAll=function(){document.getSelection().selectAllChildren(this.html.querySelector("pre"))},e.prototype.copyToClipboard=function(){this.selectAll();try{document.execCommand("copy")}catch(t){alert("Can't copy to clipboard: "+t.message)}document.getSelection().removeAllRanges()},e.prototype.generateHtml=function(){var e=this;t.prototype.generateHtml.call(this);var r=this.html.querySelector("span."+s.HtmlClasses.INFOSIGNATURE).appendChild(document.createElement("input"));r.type="button",r.value="Copy to Clipboard",r.addEventListener("click",(function(t){return e.copyToClipboard()}))},e}(i.Info);e.SelectableInfo=a},9923:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.asyncLoad=void 0;var n=r(5713);e.asyncLoad=function(t){return n.mathjax.asyncLoad?new Promise((function(e,r){var o=n.mathjax.asyncLoad(t);o instanceof Promise?o.then((function(t){return e(t)})).catch((function(t){return r(t)})):e(o)})):Promise.reject("Can't load '".concat(t,"': No asyncLoad method specified"))}},6469:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.BBox=void 0;var n=r(6010),o=function(){function t(t){void 0===t&&(t={w:0,h:-n.BIGDIMEN,d:-n.BIGDIMEN}),this.w=t.w||0,this.h="h"in t?t.h:-n.BIGDIMEN,this.d="d"in t?t.d:-n.BIGDIMEN,this.L=this.R=this.ic=this.sk=this.dx=0,this.scale=this.rscale=1,this.pwidth=""}return t.zero=function(){return new t({h:0,d:0,w:0})},t.empty=function(){return new t},t.prototype.empty=function(){return this.w=0,this.h=this.d=-n.BIGDIMEN,this},t.prototype.clean=function(){this.w===-n.BIGDIMEN&&(this.w=0),this.h===-n.BIGDIMEN&&(this.h=0),this.d===-n.BIGDIMEN&&(this.d=0)},t.prototype.rescale=function(t){this.w*=t,this.h*=t,this.d*=t},t.prototype.combine=function(t,e,r){void 0===e&&(e=0),void 0===r&&(r=0);var n=t.rscale,o=e+n*(t.w+t.L+t.R),i=r+n*t.h,s=n*t.d-r;o>this.w&&(this.w=o),i>this.h&&(this.h=i),s>this.d&&(this.d=s)},t.prototype.append=function(t){var e=t.rscale;this.w+=e*(t.w+t.L+t.R),e*t.h>this.h&&(this.h=e*t.h),e*t.d>this.d&&(this.d=e*t.d)},t.prototype.updateFrom=function(t){this.h=t.h,this.d=t.d,this.w=t.w,t.pwidth&&(this.pwidth=t.pwidth)},t.fullWidth="100%",t.StyleAdjust=[["borderTopWidth","h"],["borderRightWidth","w"],["borderBottomWidth","d"],["borderLeftWidth","w",0],["paddingTop","h"],["paddingRight","w"],["paddingBottom","d"],["paddingLeft","w",0]],t}();e.BBox=o},6751:function(t,e){var r,n=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},i=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},s=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o",gtdot:"\u22d7",harrw:"\u21ad",hbar:"\u210f",hellip:"\u2026",hookleftarrow:"\u21a9",hookrightarrow:"\u21aa",imath:"\u0131",infin:"\u221e",intcal:"\u22ba",iota:"\u03b9",jmath:"\u0237",kappa:"\u03ba",kappav:"\u03f0",lEg:"\u2a8b",lambda:"\u03bb",lap:"\u2a85",larrlp:"\u21ab",larrtl:"\u21a2",lbrace:"{",lbrack:"[",le:"\u2264",leftleftarrows:"\u21c7",leftthreetimes:"\u22cb",lessdot:"\u22d6",lmoust:"\u23b0",lnE:"\u2268",lnap:"\u2a89",lne:"\u2a87",lnsim:"\u22e6",longmapsto:"\u27fc",looparrowright:"\u21ac",lowast:"\u2217",loz:"\u25ca",lt:"<",ltimes:"\u22c9",ltri:"\u25c3",macr:"\xaf",malt:"\u2720",mho:"\u2127",mu:"\u03bc",multimap:"\u22b8",nLeftarrow:"\u21cd",nLeftrightarrow:"\u21ce",nRightarrow:"\u21cf",nVDash:"\u22af",nVdash:"\u22ae",natur:"\u266e",nearr:"\u2197",nharr:"\u21ae",nlarr:"\u219a",not:"\xac",nrarr:"\u219b",nu:"\u03bd",nvDash:"\u22ad",nvdash:"\u22ac",nwarr:"\u2196",omega:"\u03c9",omicron:"\u03bf",or:"\u2228",osol:"\u2298",period:".",phi:"\u03c6",phiv:"\u03d5",pi:"\u03c0",piv:"\u03d6",prap:"\u2ab7",precnapprox:"\u2ab9",precneqq:"\u2ab5",precnsim:"\u22e8",prime:"\u2032",psi:"\u03c8",quot:'"',rarrtl:"\u21a3",rbrace:"}",rbrack:"]",rho:"\u03c1",rhov:"\u03f1",rightrightarrows:"\u21c9",rightthreetimes:"\u22cc",ring:"\u02da",rmoust:"\u23b1",rtimes:"\u22ca",rtri:"\u25b9",scap:"\u2ab8",scnE:"\u2ab6",scnap:"\u2aba",scnsim:"\u22e9",sdot:"\u22c5",searr:"\u2198",sect:"\xa7",sharp:"\u266f",sigma:"\u03c3",sigmav:"\u03c2",simne:"\u2246",smile:"\u2323",spades:"\u2660",sub:"\u2282",subE:"\u2ac5",subnE:"\u2acb",subne:"\u228a",supE:"\u2ac6",supnE:"\u2acc",supne:"\u228b",swarr:"\u2199",tau:"\u03c4",theta:"\u03b8",thetav:"\u03d1",tilde:"\u02dc",times:"\xd7",triangle:"\u25b5",triangleq:"\u225c",upsi:"\u03c5",upuparrows:"\u21c8",veebar:"\u22bb",vellip:"\u22ee",weierp:"\u2118",xi:"\u03be",yen:"\xa5",zeta:"\u03b6",zigrarr:"\u21dd",nbsp:"\xa0",rsquo:"\u2019",lsquo:"\u2018"};var i={};function s(t,r){if("#"===r.charAt(0))return a(r.slice(1));if(e.entities[r])return e.entities[r];if(e.options.loadMissingEntities){var s=r.match(/^[a-zA-Z](fr|scr|opf)$/)?RegExp.$1:r.charAt(0).toLowerCase();i[s]||(i[s]=!0,(0,n.retryAfter)((0,o.asyncLoad)("./util/entities/"+s+".js")))}return t}function a(t){var e="x"===t.charAt(0)?parseInt(t.slice(1),16):parseInt(t);return String.fromCodePoint(e)}e.add=function(t,r){Object.assign(e.entities,t),i[r]=!0},e.remove=function(t){delete e.entities[t]},e.translate=function(t){return t.replace(/&([a-z][a-z0-9]*|#(?:[0-9]+|x[0-9a-f]+));/gi,s)},e.numeric=a},7525:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},s=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},a=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},o=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.LinkedList=e.ListItem=e.END=void 0,e.END=Symbol();var s=function(t){void 0===t&&(t=null),this.next=null,this.prev=null,this.data=t};e.ListItem=s;var a=function(){function t(){for(var t=[],r=0;r1;){var c=o.shift(),u=o.shift();c.merge(u,e),o.push(c)}return o.length&&(this.list=o[0].list),this},t.prototype.merge=function(t,r){var o,i,s,a,l;void 0===r&&(r=null),null===r&&(r=this.isBefore.bind(this));for(var c=this.list.next,u=t.list.next;c.data!==e.END&&u.data!==e.END;)r(u.data,c.data)?(o=n([c,u],2),u.prev.next=o[0],c.prev.next=o[1],i=n([c.prev,u.prev],2),u.prev=i[0],c.prev=i[1],s=n([t.list,this.list],2),this.list.prev.next=s[0],t.list.prev.next=s[1],a=n([t.list.prev,this.list.prev],2),this.list.prev=a[0],t.list.prev=a[1],c=(l=n([u.next,c],2))[0],u=l[1]):c=c.next;return u.data!==e.END&&(this.list.prev.next=t.list.next,t.list.next.prev=this.list.prev,t.list.prev.next=this.list,this.list.prev=t.list.prev,t.list.next=t.list.prev=t.list),this},t}();e.LinkedList=a},7233:function(t,e){var r=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},n=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},o=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;oe.length}}}},t.prototype.add=function(e,r){void 0===r&&(r=t.DEFAULTPRIORITY);var n=this.items.length;do{n--}while(n>=0&&r=0&&this.items[e].item!==t);e>=0&&this.items.splice(e,1)},t.DEFAULTPRIORITY=5,t}();e.PrioritizedList=r},4542:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.retryAfter=e.handleRetriesFor=void 0,e.handleRetriesFor=function(t){return new Promise((function e(r,n){try{r(t())}catch(t){t.retry&&t.retry instanceof Promise?t.retry.then((function(){return e(r,n)})).catch((function(t){return n(t)})):t.restart&&t.restart.isCallback?MathJax.Callback.After((function(){return e(r,n)}),t.restart):n(t)}}))},e.retryAfter=function(t){var e=new Error("MathJax retry");throw e.retry=t,e}},4139:function(t,e){var r=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CssStyles=void 0;var n=function(){function t(t){void 0===t&&(t=null),this.styles={},this.addStyles(t)}return Object.defineProperty(t.prototype,"cssText",{get:function(){return this.getStyleString()},enumerable:!1,configurable:!0}),t.prototype.addStyles=function(t){var e,n;if(t)try{for(var o=r(Object.keys(t)),i=o.next();!i.done;i=o.next()){var s=i.value;this.styles[s]||(this.styles[s]={}),Object.assign(this.styles[s],t[s])}}catch(t){e={error:t}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(e)throw e.error}}},t.prototype.removeStyles=function(){for(var t,e,n=[],o=0;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},n=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},o=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o1;)e.shift(),r.push(e.shift());return r}function l(t){var e,n,o=a(this.styles[t]);0===o.length&&o.push(""),1===o.length&&o.push(o[0]),2===o.length&&o.push(o[0]),3===o.length&&o.push(o[1]);try{for(var i=r(v.connect[t].children),s=i.next();!s.done;s=i.next()){var l=s.value;this.setStyle(this.childName(t,l),o.shift())}}catch(t){e={error:t}}finally{try{s&&!s.done&&(n=i.return)&&n.call(i)}finally{if(e)throw e.error}}}function c(t){var e,n,o=v.connect[t].children,i=[];try{for(var s=r(o),a=s.next();!a.done;a=s.next()){var l=a.value,c=this.styles[t+"-"+l];if(!c)return void delete this.styles[t];i.push(c)}}catch(t){e={error:t}}finally{try{a&&!a.done&&(n=s.return)&&n.call(s)}finally{if(e)throw e.error}}i[3]===i[1]&&(i.pop(),i[2]===i[0]&&(i.pop(),i[1]===i[0]&&i.pop())),this.styles[t]=i.join(" ")}function u(t){var e,n;try{for(var o=r(v.connect[t].children),i=o.next();!i.done;i=o.next()){var s=i.value;this.setStyle(this.childName(t,s),this.styles[t])}}catch(t){e={error:t}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(e)throw e.error}}}function p(t){var e,i,s=o([],n(v.connect[t].children),!1),a=this.styles[this.childName(t,s.shift())];try{for(var l=r(s),c=l.next();!c.done;c=l.next()){var u=c.value;if(this.styles[this.childName(t,u)]!==a)return void delete this.styles[t]}}catch(t){e={error:t}}finally{try{c&&!c.done&&(i=l.return)&&i.call(l)}finally{if(e)throw e.error}}this.styles[t]=a}var h=/^(?:[\d.]+(?:[a-z]+)|thin|medium|thick|inherit|initial|unset)$/,f=/^(?:none|hidden|dotted|dashed|solid|double|groove|ridge|inset|outset|inherit|initial|unset)$/;function d(t){var e,n,o,i,s={width:"",style:"",color:""};try{for(var l=r(a(this.styles[t])),c=l.next();!c.done;c=l.next()){var u=c.value;u.match(h)&&""===s.width?s.width=u:u.match(f)&&""===s.style?s.style=u:s.color=u}}catch(t){e={error:t}}finally{try{c&&!c.done&&(n=l.return)&&n.call(l)}finally{if(e)throw e.error}}try{for(var p=r(v.connect[t].children),d=p.next();!d.done;d=p.next()){var m=d.value;this.setStyle(this.childName(t,m),s[m])}}catch(t){o={error:t}}finally{try{d&&!d.done&&(i=p.return)&&i.call(p)}finally{if(o)throw o.error}}}function m(t){var e,n,o=[];try{for(var i=r(v.connect[t].children),s=i.next();!s.done;s=i.next()){var a=s.value,l=this.styles[this.childName(t,a)];l&&o.push(l)}}catch(t){e={error:t}}finally{try{s&&!s.done&&(n=i.return)&&n.call(i)}finally{if(e)throw e.error}}o.length?this.styles[t]=o.join(" "):delete this.styles[t]}var y={style:/^(?:normal|italic|oblique|inherit|initial|unset)$/,variant:new RegExp("^(?:"+["normal|none","inherit|initial|unset","common-ligatures|no-common-ligatures","discretionary-ligatures|no-discretionary-ligatures","historical-ligatures|no-historical-ligatures","contextual|no-contextual","(?:stylistic|character-variant|swash|ornaments|annotation)\\([^)]*\\)","small-caps|all-small-caps|petite-caps|all-petite-caps|unicase|titling-caps","lining-nums|oldstyle-nums|proportional-nums|tabular-nums","diagonal-fractions|stacked-fractions","ordinal|slashed-zero","jis78|jis83|jis90|jis04|simplified|traditional","full-width|proportional-width","ruby"].join("|")+")$"),weight:/^(?:normal|bold|bolder|lighter|[1-9]00|inherit|initial|unset)$/,stretch:new RegExp("^(?:"+["normal","(?:(?:ultra|extra|semi)-)?condensed","(?:(?:semi|extra|ulta)-)?expanded","inherit|initial|unset"].join("|")+")$"),size:new RegExp("^(?:"+["xx-small|x-small|small|medium|large|x-large|xx-large|larger|smaller","[d.]+%|[d.]+[a-z]+","inherit|initial|unset"].join("|")+")(?:/(?:normal|[d.+](?:%|[a-z]+)?))?$")};function g(t){var e,o,i,s,l=a(this.styles[t]),c={style:"",variant:[],weight:"",stretch:"",size:"",family:"","line-height":""};try{for(var u=r(l),p=u.next();!p.done;p=u.next()){var h=p.value;c.family=h;try{for(var f=(i=void 0,r(Object.keys(y))),d=f.next();!d.done;d=f.next()){var m=d.value;if((Array.isArray(c[m])||""===c[m])&&h.match(y[m]))if("size"===m){var g=n(h.split(/\//),2),b=g[0],_=g[1];c[m]=b,_&&(c["line-height"]=_)}else""===c.size&&(Array.isArray(c[m])?c[m].push(h):c[m]=h)}}catch(t){i={error:t}}finally{try{d&&!d.done&&(s=f.return)&&s.call(f)}finally{if(i)throw i.error}}}}catch(t){e={error:t}}finally{try{p&&!p.done&&(o=u.return)&&o.call(u)}finally{if(e)throw e.error}}!function(t,e){var n,o;try{for(var i=r(v.connect[t].children),s=i.next();!s.done;s=i.next()){var a=s.value,l=this.childName(t,a);if(Array.isArray(e[a])){var c=e[a];c.length&&(this.styles[l]=c.join(" "))}else""!==e[a]&&(this.styles[l]=e[a])}}catch(t){n={error:t}}finally{try{s&&!s.done&&(o=i.return)&&o.call(i)}finally{if(n)throw n.error}}}(t,c),delete this.styles[t]}function b(t){}var v=function(){function t(t){void 0===t&&(t=""),this.parse(t)}return Object.defineProperty(t.prototype,"cssText",{get:function(){var t,e,n=[];try{for(var o=r(Object.keys(this.styles)),i=o.next();!i.done;i=o.next()){var s=i.value,a=this.parentName(s);this.styles[a]||n.push(s+": "+this.styles[s]+";")}}catch(e){t={error:e}}finally{try{i&&!i.done&&(e=o.return)&&e.call(o)}finally{if(t)throw t.error}}return n.join(" ")},enumerable:!1,configurable:!0}),t.prototype.set=function(e,r){for(e=this.normalizeName(e),this.setStyle(e,r),t.connect[e]&&!t.connect[e].combine&&(this.combineChildren(e),delete this.styles[e]);e.match(/-/)&&(e=this.parentName(e),t.connect[e]);)t.connect[e].combine.call(this,e)},t.prototype.get=function(t){return t=this.normalizeName(t),this.styles.hasOwnProperty(t)?this.styles[t]:""},t.prototype.setStyle=function(e,r){this.styles[e]=r,t.connect[e]&&t.connect[e].children&&t.connect[e].split.call(this,e),""===r&&delete this.styles[e]},t.prototype.combineChildren=function(e){var n,o,i=this.parentName(e);try{for(var s=r(t.connect[e].children),a=s.next();!a.done;a=s.next()){var l=a.value,c=this.childName(i,l);t.connect[c].combine.call(this,c)}}catch(t){n={error:t}}finally{try{a&&!a.done&&(o=s.return)&&o.call(s)}finally{if(n)throw n.error}}},t.prototype.parentName=function(t){var e=t.replace(/-[^-]*$/,"");return t===e?"":e},t.prototype.childName=function(e,r){return r.match(/-/)?r:(t.connect[e]&&!t.connect[e].combine&&(r+=e.replace(/.*-/,"-"),e=this.parentName(e)),e+"-"+r)},t.prototype.normalizeName=function(t){return t.replace(/[A-Z]/g,(function(t){return"-"+t.toLowerCase()}))},t.prototype.parse=function(t){void 0===t&&(t="");var e=this.constructor.pattern;this.styles={};for(var r=t.replace(e.comment,"").split(e.style);r.length>1;){var o=n(r.splice(0,3),3),i=o[0],s=o[1],a=o[2];if(i.match(/[^\s\n]/))return;this.set(s,a)}},t.pattern={style:/([-a-z]+)[\s\n]*:[\s\n]*((?:'[^']*'|"[^"]*"|\n|.)*?)[\s\n]*(?:;|$)/g,comment:/\/\*[^]*?\*\//g},t.connect={padding:{children:i,split:l,combine:c},border:{children:i,split:u,combine:p},"border-top":{children:s,split:d,combine:m},"border-right":{children:s,split:d,combine:m},"border-bottom":{children:s,split:d,combine:m},"border-left":{children:s,split:d,combine:m},"border-width":{children:i,split:l,combine:null},"border-style":{children:i,split:l,combine:null},"border-color":{children:i,split:l,combine:null},font:{children:["style","variant","weight","stretch","line-height","size","family"],split:g,combine:b}},t}();e.Styles=v},6010:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.px=e.emRounded=e.em=e.percent=e.length2em=e.MATHSPACE=e.RELUNITS=e.UNITS=e.BIGDIMEN=void 0,e.BIGDIMEN=1e6,e.UNITS={px:1,in:96,cm:96/2.54,mm:96/25.4},e.RELUNITS={em:1,ex:.431,pt:.1,pc:1.2,mu:1/18},e.MATHSPACE={veryverythinmathspace:1/18,verythinmathspace:2/18,thinmathspace:3/18,mediummathspace:4/18,thickmathspace:5/18,verythickmathspace:6/18,veryverythickmathspace:7/18,negativeveryverythinmathspace:-1/18,negativeverythinmathspace:-2/18,negativethinmathspace:-3/18,negativemediummathspace:-4/18,negativethickmathspace:-5/18,negativeverythickmathspace:-6/18,negativeveryverythickmathspace:-7/18,thin:.04,medium:.06,thick:.1,normal:1,big:2,small:1/Math.sqrt(2),infinity:e.BIGDIMEN},e.length2em=function(t,r,n,o){if(void 0===r&&(r=0),void 0===n&&(n=1),void 0===o&&(o=16),"string"!=typeof t&&(t=String(t)),""===t||null==t)return r;if(e.MATHSPACE[t])return e.MATHSPACE[t];var i=t.match(/^\s*([-+]?(?:\.\d+|\d+(?:\.\d*)?))?(pt|em|ex|mu|px|pc|in|mm|cm|%)?/);if(!i)return r;var s=parseFloat(i[1]||"1"),a=i[2];return e.UNITS.hasOwnProperty(a)?s*e.UNITS[a]/o/n:e.RELUNITS.hasOwnProperty(a)?s*e.RELUNITS[a]:"%"===a?s/100*r:s*r},e.percent=function(t){return(100*t).toFixed(1).replace(/\.?0+$/,"")+"%"},e.em=function(t){return Math.abs(t)<.001?"0":t.toFixed(3).replace(/\.?0+$/,"")+"em"},e.emRounded=function(t,e){return void 0===e&&(e=16),t=(Math.round(t*e)+.05)/e,Math.abs(t)<.001?"0em":t.toFixed(3).replace(/\.?0+$/,"")+"em"},e.px=function(t,r,n){return void 0===r&&(r=-e.BIGDIMEN),void 0===n&&(n=16),t*=n,r&&t0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},n=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractItem=void 0;var s=r(9329),a=r(2556),l=r(2165),c=function(t){function e(e,r,n,o){var i=t.call(this,e,r)||this;return i._content=n,i.disabled=!1,i.callbacks=[],i._id=o||n,i}return o(e,t),Object.defineProperty(e.prototype,"content",{get:function(){return this._content},set:function(t){this._content=t,this.generateHtml(),this.menu&&this.menu.generateHtml()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"id",{get:function(){return this._id},enumerable:!1,configurable:!0}),e.prototype.press=function(){this.disabled||(this.executeAction(),this.executeCallbacks_())},e.prototype.executeAction=function(){},e.prototype.registerCallback=function(t){-1===this.callbacks.indexOf(t)&&this.callbacks.push(t)},e.prototype.unregisterCallback=function(t){var e=this.callbacks.indexOf(t);-1!==e&&this.callbacks.splice(e,1)},e.prototype.mousedown=function(t){this.press(),this.stop(t)},e.prototype.mouseover=function(t){this.focus(),this.stop(t)},e.prototype.mouseout=function(t){this.deactivate(),this.stop(t)},e.prototype.generateHtml=function(){t.prototype.generateHtml.call(this);var e=this.html;e.setAttribute("aria-disabled","false"),e.textContent=this.content},e.prototype.activate=function(){this.disabled||this.html.classList.add(l.HtmlClasses.MENUACTIVE)},e.prototype.deactivate=function(){this.html.classList.remove(l.HtmlClasses.MENUACTIVE)},e.prototype.focus=function(){this.menu.focused=this,t.prototype.focus.call(this),this.activate()},e.prototype.unfocus=function(){this.deactivate(),t.prototype.unfocus.call(this)},e.prototype.escape=function(t){a.MenuUtil.close(this)},e.prototype.up=function(t){this.menu.up(t)},e.prototype.down=function(t){this.menu.down(t)},e.prototype.left=function(t){this.menu.left(t)},e.prototype.right=function(t){this.menu.right(t)},e.prototype.space=function(t){this.press()},e.prototype.disable=function(){this.disabled=!0;var t=this.html;t.classList.add(l.HtmlClasses.MENUDISABLED),t.setAttribute("aria-disabled","true")},e.prototype.enable=function(){this.disabled=!1;var t=this.html;t.classList.remove(l.HtmlClasses.MENUDISABLED),t.removeAttribute("aria-disabled")},e.prototype.executeCallbacks_=function(){var t,e;try{for(var r=i(this.callbacks),n=r.next();!n.done;n=r.next()){var o=n.value;try{o(this)}catch(t){a.MenuUtil.error(t,"Callback for menu entry "+this.id+" failed.")}}}catch(e){t={error:e}}finally{try{n&&!n.done&&(e=r.return)&&e.call(r)}finally{if(t)throw t.error}}},e}(s.AbstractEntry);e.AbstractItem=c},1484:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractMenu=void 0;var s=r(8372),a=r(1340),l=r(2165),c=r(6186),u=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.className=l.HtmlClasses.CONTEXTMENU,e.role="menu",e._items=[],e._baseMenu=null,e}return o(e,t),Object.defineProperty(e.prototype,"baseMenu",{get:function(){return this._baseMenu},set:function(t){this._baseMenu=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"items",{get:function(){return this._items},set:function(t){this._items=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"pool",{get:function(){return this.variablePool},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"focused",{get:function(){return this._focused},set:function(t){if(this._focused!==t){this._focused||this.unfocus();var e=this._focused;this._focused=t,e&&e.unfocus()}},enumerable:!1,configurable:!0}),e.prototype.up=function(t){var e=this.items.filter((function(t){return t instanceof a.AbstractItem&&!t.isHidden()}));if(0!==e.length)if(this.focused){var r=e.indexOf(this.focused);-1!==r&&e[r=r?--r:e.length-1].focus()}else e[e.length-1].focus()},e.prototype.down=function(t){var e=this.items.filter((function(t){return t instanceof a.AbstractItem&&!t.isHidden()}));if(0!==e.length)if(this.focused){var r=e.indexOf(this.focused);-1!==r&&e[r=++r===e.length?0:r].focus()}else e[0].focus()},e.prototype.generateHtml=function(){t.prototype.generateHtml.call(this),this.generateMenu()},e.prototype.generateMenu=function(){var t,e,r=this.html;r.classList.add(l.HtmlClasses.MENU);try{for(var n=i(this.items),o=n.next();!o.done;o=n.next()){var s=o.value;if(s.isHidden()){var a=s.html;a.parentNode&&a.parentNode.removeChild(a)}else r.appendChild(s.html)}}catch(e){t={error:e}}finally{try{o&&!o.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}},e.prototype.post=function(e,r){this.variablePool.update(),t.prototype.post.call(this,e,r)},e.prototype.unpostSubmenus=function(){var t,e,r=this.items.filter((function(t){return t instanceof c.Submenu}));try{for(var n=i(r),o=n.next();!o.done;o=n.next()){var s=o.value;s.submenu.unpost(),s!==this.focused&&s.unfocus()}}catch(e){t={error:e}}finally{try{o&&!o.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}},e.prototype.unpost=function(){t.prototype.unpost.call(this),this.unpostSubmenus(),this.focused=null},e.prototype.find=function(t){var e,r;try{for(var n=i(this.items),o=n.next();!o.done;o=n.next()){var s=o.value;if("rule"!==s.type){if(s.id===t)return s;if("submenu"===s.type){var a=s.submenu.find(t);if(a)return a}}}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}return null},e}(s.AbstractPostable);e.AbstractMenu=u},2868:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractNavigatable=void 0;var n=r(3205),o=r(8853),i=function(){function t(){this.bubble=!1}return t.prototype.bubbleKey=function(){this.bubble=!0},t.prototype.keydown=function(t){switch(t.keyCode){case n.KEY.ESCAPE:this.escape(t);break;case n.KEY.RIGHT:this.right(t);break;case n.KEY.LEFT:this.left(t);break;case n.KEY.UP:this.up(t);break;case n.KEY.DOWN:this.down(t);break;case n.KEY.RETURN:case n.KEY.SPACE:this.space(t);break;default:return}this.bubble?this.bubble=!1:this.stop(t)},t.prototype.escape=function(t){},t.prototype.space=function(t){},t.prototype.left=function(t){},t.prototype.right=function(t){},t.prototype.up=function(t){},t.prototype.down=function(t){},t.prototype.stop=function(t){t&&(t.stopPropagation(),t.preventDefault(),t.cancelBubble=!0)},t.prototype.mousedown=function(t){return this.stop(t)},t.prototype.mouseup=function(t){return this.stop(t)},t.prototype.mouseover=function(t){return this.stop(t)},t.prototype.mouseout=function(t){return this.stop(t)},t.prototype.click=function(t){return this.stop(t)},t.prototype.addEvents=function(t){t.addEventListener(o.MOUSE.DOWN,this.mousedown.bind(this)),t.addEventListener(o.MOUSE.UP,this.mouseup.bind(this)),t.addEventListener(o.MOUSE.OVER,this.mouseover.bind(this)),t.addEventListener(o.MOUSE.OUT,this.mouseout.bind(this)),t.addEventListener(o.MOUSE.CLICK,this.click.bind(this)),t.addEventListener("keydown",this.keydown.bind(this)),t.addEventListener("dragstart",this.stop.bind(this)),t.addEventListener(o.MOUSE.SELECTSTART,this.stop.bind(this)),t.addEventListener("contextmenu",this.stop.bind(this)),t.addEventListener(o.MOUSE.DBLCLICK,this.stop.bind(this))},t}();e.AbstractNavigatable=i},8372:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractPostable=void 0;var i=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.posted=!1,e}return o(e,t),e.prototype.isPosted=function(){return this.posted},e.prototype.post=function(t,e){this.posted||(void 0!==t&&void 0!==e&&this.html.setAttribute("style","left: "+t+"px; top: "+e+"px;"),this.display(),this.posted=!0)},e.prototype.unpost=function(){if(this.posted){var t=this.html;t.parentNode&&t.parentNode.removeChild(t),this.posted=!1}},e}(r(9328).MenuElement);e.AbstractPostable=i},6765:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractVariableItem=void 0;var i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.generateHtml=function(){t.prototype.generateHtml.call(this);var e=this.html;this.span||this.generateSpan(),e.appendChild(this.span),this.update()},e.prototype.register=function(){this.variable.register(this)},e.prototype.unregister=function(){this.variable.unregister(this)},e.prototype.update=function(){this.updateAria(),this.span&&this.updateSpan()},e}(r(1340).AbstractItem);e.AbstractVariableItem=i},5179:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CloseButton=void 0;var i=r(8372),s=r(2165),a=function(t){function e(e){var r=t.call(this)||this;return r.element=e,r.className=s.HtmlClasses.MENUCLOSE,r.role="button",r}return o(e,t),e.prototype.generateHtml=function(){var t=document.createElement("span");t.classList.add(this.className),t.setAttribute("role",this.role),t.setAttribute("tabindex","0");var e=document.createElement("span");e.textContent="\xd7",t.appendChild(e),this.html=t},e.prototype.display=function(){},e.prototype.unpost=function(){t.prototype.unpost.call(this),this.element.unpost()},e.prototype.keydown=function(e){this.bubbleKey(),t.prototype.keydown.call(this,e)},e.prototype.space=function(t){this.unpost(),this.stop(t)},e.prototype.mousedown=function(t){this.unpost(),this.stop(t)},e}(i.AbstractPostable);e.CloseButton=a},5073:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ContextMenu=void 0;var i=r(1484),s=r(2165),a=r(1932),l=r(2358),c=function(t){function e(e){var r=t.call(this)||this;return r.factory=e,r.id="",r.moving=!1,r._store=new a.MenuStore(r),r.widgets=[],r.variablePool=new l.VariablePool,r}return o(e,t),e.fromJson=function(t,e){var r=e.pool,n=e.items,o=e.id,i=void 0===o?"":o,s=new this(t);s.id=i;var a=t.get("variable");r.forEach((function(e){return a(t,e,s.pool)}));var l=t.get("items")(t,n,s);return s.items=l,s},e.prototype.generateHtml=function(){this.isPosted()&&this.unpost(),t.prototype.generateHtml.call(this),this._frame=document.createElement("div"),this._frame.classList.add(s.HtmlClasses.MENUFRAME);var e="left: 0px; top: 0px; z-index: 200; width: 100%; height: 100%; border: 0px; padding: 0px; margin: 0px;";this._frame.setAttribute("style","position: absolute; "+e);var r=document.createElement("div");r.setAttribute("style","position: fixed; "+e),this._frame.appendChild(r),r.addEventListener("mousedown",function(t){this.unpost(),this.unpostWidgets(),this.stop(t)}.bind(this))},e.prototype.display=function(){document.body.appendChild(this.frame),this.frame.appendChild(this.html),this.focus()},e.prototype.escape=function(t){this.unpost(),this.unpostWidgets()},e.prototype.unpost=function(){if(t.prototype.unpost.call(this),!(this.widgets.length>0)){this.frame.parentNode.removeChild(this.frame);var e=this.store;this.moving||e.insertTaborder(),e.active.focus()}},e.prototype.left=function(t){this.move_(this.store.previous())},e.prototype.right=function(t){this.move_(this.store.next())},Object.defineProperty(e.prototype,"frame",{get:function(){return this._frame},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"store",{get:function(){return this._store},enumerable:!1,configurable:!0}),e.prototype.post=function(e,r){if(void 0!==r)return this.moving||this.store.removeTaborder(),void t.prototype.post.call(this,e,r);var n,o,i,s=e;if(s instanceof Event?(n=s.target,this.stop(s)):n=s,s instanceof MouseEvent&&(o=s.pageX,i=s.pageY,o||i||!s.clientX||(o=s.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,i=s.clientY+document.body.scrollTop+document.documentElement.scrollTop)),!o&&!i&&n){var a=window.pageXOffset||document.documentElement.scrollLeft,l=window.pageYOffset||document.documentElement.scrollTop,c=n.getBoundingClientRect();o=(c.right+c.left)/2+a,i=(c.bottom+c.top)/2+l}this.store.active=n,this.anchor=this.store.active;var u=this.html;o+u.offsetWidth>document.body.offsetWidth-5&&(o=document.body.offsetWidth-u.offsetWidth-5),this.post(o,i)},e.prototype.registerWidget=function(t){this.widgets.push(t)},e.prototype.unregisterWidget=function(t){var e=this.widgets.indexOf(t);e>-1&&this.widgets.splice(e,1),0===this.widgets.length&&this.unpost()},e.prototype.unpostWidgets=function(){this.widgets.forEach((function(t){return t.unpost()}))},e.prototype.toJson=function(){return{type:""}},e.prototype.move_=function(t){this.anchor&&t!==this.anchor&&(this.moving=!0,this.unpost(),this.post(t),this.moving=!1)},e}(i.AbstractMenu);e.ContextMenu=c},7309:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.CssStyles=void 0;var n=r(2165);!function(t){function e(t){return"."+(n.HtmlClasses[t]||t)}var r={};r[e("INFOCLOSE")]="{ top:.2em; right:.2em;}",r[e("INFOCONTENT")]="{ overflow:auto; text-align:left; font-size:80%; padding:.4em .6em; border:1px inset; margin:1em 0px; max-height:20em; max-width:30em; background-color:#EEEEEE; white-space:normal;}",r[e("INFO")+e("MOUSEPOST")]="{outline:none;}",r[e("INFO")]='{ position:fixed; left:50%; width:auto; text-align:center; border:3px outset; padding:1em 2em; background-color:#DDDDDD; color:black; cursor:default; font-family:message-box; font-size:120%; font-style:normal; text-indent:0; text-transform:none; line-height:normal; letter-spacing:normal; word-spacing:normal; word-wrap:normal; white-space:nowrap; float:none; z-index:201; border-radius: 15px; /* Opera 10.5 and IE9 */ -webkit-border-radius:15px; /* Safari and Chrome */ -moz-border-radius:15px; /* Firefox */ -khtml-border-radius:15px; /* Konqueror */ box-shadow:0px 10px 20px #808080; /* Opera 10.5 and IE9 */ -webkit-box-shadow:0px 10px 20px #808080; /* Safari 3 & Chrome */ -moz-box-shadow:0px 10px 20px #808080; /* Forefox 3.5 */ -khtml-box-shadow:0px 10px 20px #808080; /* Konqueror */ filter:progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color="gray", Positive="true"); /* IE */}';var o={};o[e("MENU")]="{ position:absolute; background-color:white; color:black; width:auto; padding:5px 0px; border:1px solid #CCCCCC; margin:0; cursor:default; font: menu; text-align:left; text-indent:0; text-transform:none; line-height:normal; letter-spacing:normal; word-spacing:normal; word-wrap:normal; white-space:nowrap; float:none; z-index:201; border-radius: 5px; /* Opera 10.5 and IE9 */ -webkit-border-radius: 5px; /* Safari and Chrome */ -moz-border-radius: 5px; /* Firefox */ -khtml-border-radius: 5px; /* Konqueror */ box-shadow:0px 10px 20px #808080; /* Opera 10.5 and IE9 */ -webkit-box-shadow:0px 10px 20px #808080; /* Safari 3 & Chrome */ -moz-box-shadow:0px 10px 20px #808080; /* Forefox 3.5 */ -khtml-box-shadow:0px 10px 20px #808080; /* Konqueror */}",o[e("MENUITEM")]="{ padding: 1px 2em; background:transparent;}",o[e("MENUARROW")]="{ position:absolute; right:.5em; padding-top:.25em; color:#666666; font-family: null; font-size: .75em}",o[e("MENUACTIVE")+" "+e("MENUARROW")]="{color:white}",o[e("MENUARROW")+e("RTL")]="{left:.5em; right:auto}",o[e("MENUCHECK")]="{ position:absolute; left:.7em; font-family: null}",o[e("MENUCHECK")+e("RTL")]="{ right:.7em; left:auto }",o[e("MENURADIOCHECK")]="{ position:absolute; left: .7em;}",o[e("MENURADIOCHECK")+e("RTL")]="{ right: .7em; left:auto}",o[e("MENUINPUTBOX")]="{ padding-left: 1em; right:.5em; color:#666666; font-family: null;}",o[e("MENUINPUTBOX")+e("RTL")]="{ left: .1em;}",o[e("MENUCOMBOBOX")]="{ left:.1em; padding-bottom:.5em;}",o[e("MENUSLIDER")]="{ left: .1em;}",o[e("SLIDERVALUE")]="{ position:absolute; right:.1em; padding-top:.25em; color:#333333; font-size: .75em}",o[e("SLIDERBAR")]="{ outline: none; background: #d3d3d3}",o[e("MENULABEL")]="{ padding: 1px 2em 3px 1.33em; font-style:italic}",o[e("MENURULE")]="{ border-top: 1px solid #DDDDDD; margin: 4px 3px;}",o[e("MENUDISABLED")]="{ color:GrayText}",o[e("MENUACTIVE")]="{ background-color: #606872; color: white;}",o[e("MENUDISABLED")+":focus"]="{ background-color: #E8E8E8}",o[e("MENULABEL")+":focus"]="{ background-color: #E8E8E8}",o[e("CONTEXTMENU")+":focus"]="{ outline:none}",o[e("CONTEXTMENU")+" "+e("MENUITEM")+":focus"]="{ outline:none}",o[e("SELECTIONMENU")]="{ position:relative; float:left; border-bottom: none; -webkit-box-shadow:none; -webkit-border-radius:0px; }",o[e("SELECTIONITEM")]="{ padding-right: 1em;}",o[e("SELECTION")]="{ right: 40%; width:50%; }",o[e("SELECTIONBOX")]="{ padding: 0em; max-height:20em; max-width: none; background-color:#FFFFFF;}",o[e("SELECTIONDIVIDER")]="{ clear: both; border-top: 2px solid #000000;}",o[e("MENU")+" "+e("MENUCLOSE")]="{ top:-10px; left:-10px}";var i={};i[e("MENUCLOSE")]='{ position:absolute; cursor:pointer; display:inline-block; border:2px solid #AAA; border-radius:18px; -webkit-border-radius: 18px; /* Safari and Chrome */ -moz-border-radius: 18px; /* Firefox */ -khtml-border-radius: 18px; /* Konqueror */ font-family: "Courier New", Courier; font-size:24px; color:#F0F0F0}',i[e("MENUCLOSE")+" span"]="{ display:block; background-color:#AAA; border:1.5px solid; border-radius:18px; -webkit-border-radius: 18px; /* Safari and Chrome */ -moz-border-radius: 18px; /* Firefox */ -khtml-border-radius: 18px; /* Konqueror */ line-height:0; padding:8px 0 6px /* may need to be browser-specific */}",i[e("MENUCLOSE")+":hover"]="{ color:white!important; border:2px solid #CCC!important}",i[e("MENUCLOSE")+":hover span"]="{ background-color:#CCC!important}",i[e("MENUCLOSE")+":hover:focus"]="{ outline:none}";var s=!1,a=!1,l=!1;function c(t){l||(u(i,t),l=!0)}function u(t,e){var r=e||document,n=r.createElement("style");n.type="text/css";var o="";for(var i in t)o+=i,o+=" ",o+=t[i],o+="\n";n.innerHTML=o,r.head.appendChild(n)}t.addMenuStyles=function(t){a||(u(o,t),a=!0,c(t))},t.addInfoStyles=function(t){s||(u(r,t),s=!0,c(t))}}(e.CssStyles||(e.CssStyles={}))},2165:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.HtmlAttrs=e.HtmlClasses=void 0;function r(t){return"CtxtMenu_"+t}function n(t){return r(t)}function o(t){return r(t)}e.HtmlClasses={ATTACHED:n("Attached"),CONTEXTMENU:n("ContextMenu"),MENU:n("Menu"),MENUARROW:n("MenuArrow"),MENUACTIVE:n("MenuActive"),MENUCHECK:n("MenuCheck"),MENUCLOSE:n("MenuClose"),MENUCOMBOBOX:n("MenuComboBox"),MENUDISABLED:n("MenuDisabled"),MENUFRAME:n("MenuFrame"),MENUITEM:n("MenuItem"),MENULABEL:n("MenuLabel"),MENURADIOCHECK:n("MenuRadioCheck"),MENUINPUTBOX:n("MenuInputBox"),MENURULE:n("MenuRule"),MENUSLIDER:n("MenuSlider"),MOUSEPOST:n("MousePost"),RTL:n("RTL"),INFO:n("Info"),INFOCLOSE:n("InfoClose"),INFOCONTENT:n("InfoContent"),INFOSIGNATURE:n("InfoSignature"),INFOTITLE:n("InfoTitle"),SLIDERVALUE:n("SliderValue"),SLIDERBAR:n("SliderBar"),SELECTION:n("Selection"),SELECTIONBOX:n("SelectionBox"),SELECTIONMENU:n("SelectionMenu"),SELECTIONDIVIDER:n("SelectionDivider"),SELECTIONITEM:n("SelectionItem")},e.HtmlAttrs={COUNTER:o("Counter"),KEYDOWNFUNC:o("keydownFunc"),CONTEXTMENUFUNC:o("contextmenuFunc"),OLDTAB:o("Oldtabindex"),TOUCHFUNC:o("TouchFunc")}},4922:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.Info=void 0;var i=r(5179),s=r(2165),a=function(t){function e(e,r,n){var o=t.call(this)||this;return o.title=e,o.signature=n,o.className=s.HtmlClasses.INFO,o.role="dialog",o.contentDiv=o.generateContent(),o.close=o.generateClose(),o.content=r||function(){return""},o}return o(e,t),e.prototype.attachMenu=function(t){this.menu=t},e.prototype.generateHtml=function(){t.prototype.generateHtml.call(this);var e=this.html;e.appendChild(this.generateTitle()),e.appendChild(this.contentDiv),e.appendChild(this.generateSignature()),e.appendChild(this.close.html),e.setAttribute("tabindex","0")},e.prototype.post=function(){t.prototype.post.call(this);var e=document.documentElement,r=this.html,n=window.innerHeight||e.clientHeight||e.scrollHeight||0,o=Math.floor(-r.offsetWidth/2),i=Math.floor((n-r.offsetHeight)/3);r.setAttribute("style","margin-left: "+o+"px; top: "+i+"px;"),window.event instanceof MouseEvent&&r.classList.add(s.HtmlClasses.MOUSEPOST),r.focus()},e.prototype.display=function(){this.menu.registerWidget(this),this.contentDiv.innerHTML=this.content();var t=this.menu.html;t.parentNode&&t.parentNode.removeChild(t),this.menu.frame.appendChild(this.html)},e.prototype.click=function(t){},e.prototype.keydown=function(e){this.bubbleKey(),t.prototype.keydown.call(this,e)},e.prototype.escape=function(t){this.unpost()},e.prototype.unpost=function(){t.prototype.unpost.call(this),this.html.classList.remove(s.HtmlClasses.MOUSEPOST),this.menu.unregisterWidget(this)},e.prototype.generateClose=function(){var t=new i.CloseButton(this),e=t.html;return e.classList.add(s.HtmlClasses.INFOCLOSE),e.setAttribute("aria-label","Close Dialog Box"),t},e.prototype.generateTitle=function(){var t=document.createElement("span");return t.innerHTML=this.title,t.classList.add(s.HtmlClasses.INFOTITLE),t},e.prototype.generateContent=function(){var t=document.createElement("div");return t.classList.add(s.HtmlClasses.INFOCONTENT),t.setAttribute("tabindex","0"),t},e.prototype.generateSignature=function(){var t=document.createElement("span");return t.innerHTML=this.signature,t.classList.add(s.HtmlClasses.INFOSIGNATURE),t},e.prototype.toJson=function(){return{type:""}},e}(r(8372).AbstractPostable);e.Info=a},1409:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.Checkbox=void 0;var i=r(6765),s=r(2556),a=r(2165),l=function(t){function e(e,r,n,o){var i=t.call(this,e,"checkbox",r,o)||this;return i.role="menuitemcheckbox",i.variable=e.pool.lookup(n),i.register(),i}return o(e,t),e.fromJson=function(t,e,r){return new this(r,e.content,e.variable,e.id)},e.prototype.executeAction=function(){this.variable.setValue(!this.variable.getValue()),s.MenuUtil.close(this)},e.prototype.generateSpan=function(){this.span=document.createElement("span"),this.span.textContent="\u2713",this.span.classList.add(a.HtmlClasses.MENUCHECK)},e.prototype.updateAria=function(){this.html.setAttribute("aria-checked",this.variable.getValue()?"true":"false")},e.prototype.updateSpan=function(){this.span.style.display=this.variable.getValue()?"":"none"},e.prototype.toJson=function(){return{type:""}},e}(i.AbstractVariableItem);e.Checkbox=l},9886:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.Combo=void 0;var i=r(6765),s=r(2556),a=r(2165),l=r(3205),c=function(t){function e(e,r,n,o){var i=t.call(this,e,"combobox",r,o)||this;return i.role="combobox",i.inputEvent=!1,i.variable=e.pool.lookup(n),i.register(),i}return o(e,t),e.fromJson=function(t,e,r){return new this(r,e.content,e.variable,e.id)},e.prototype.executeAction=function(){this.variable.setValue(this.input.value,s.MenuUtil.getActiveElement(this))},e.prototype.space=function(e){t.prototype.space.call(this,e),s.MenuUtil.close(this)},e.prototype.focus=function(){t.prototype.focus.call(this),this.input.focus()},e.prototype.unfocus=function(){t.prototype.unfocus.call(this),this.updateSpan()},e.prototype.generateHtml=function(){t.prototype.generateHtml.call(this),this.html.classList.add(a.HtmlClasses.MENUCOMBOBOX)},e.prototype.generateSpan=function(){this.span=document.createElement("span"),this.span.classList.add(a.HtmlClasses.MENUINPUTBOX),this.input=document.createElement("input"),this.input.addEventListener("keydown",this.inputKey.bind(this)),this.input.setAttribute("size","10em"),this.input.setAttribute("type","text"),this.input.setAttribute("tabindex","-1"),this.span.appendChild(this.input)},e.prototype.inputKey=function(t){this.bubbleKey(),this.inputEvent=!0},e.prototype.keydown=function(e){if(this.inputEvent&&e.keyCode!==l.KEY.ESCAPE&&e.keyCode!==l.KEY.RETURN)return this.inputEvent=!1,void e.stopPropagation();t.prototype.keydown.call(this,e),e.stopPropagation()},e.prototype.updateAria=function(){},e.prototype.updateSpan=function(){var t;try{t=this.variable.getValue(s.MenuUtil.getActiveElement(this))}catch(e){t=""}this.input.value=t},e.prototype.toJson=function(){return{type:""}},e}(i.AbstractVariableItem);e.Combo=c},3467:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.Command=void 0;var i=r(1340),s=r(2556),a=function(t){function e(e,r,n,o){var i=t.call(this,e,"command",r,o)||this;return i.command=n,i}return o(e,t),e.fromJson=function(t,e,r){return new this(r,e.content,e.action,e.id)},e.prototype.executeAction=function(){try{this.command(s.MenuUtil.getActiveElement(this))}catch(t){s.MenuUtil.error(t,"Illegal command callback.")}s.MenuUtil.close(this)},e.prototype.toJson=function(){return{type:""}},e}(i.AbstractItem);e.Command=a},2965:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.Label=void 0;var i=r(1340),s=r(2165),a=function(t){function e(e,r,n){return t.call(this,e,"label",r,n)||this}return o(e,t),e.fromJson=function(t,e,r){return new this(r,e.content,e.id)},e.prototype.generateHtml=function(){t.prototype.generateHtml.call(this),this.html.classList.add(s.HtmlClasses.MENULABEL)},e.prototype.toJson=function(){return{type:""}},e}(i.AbstractItem);e.Label=a},385:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.Radio=void 0;var i=r(6765),s=r(2556),a=r(2165),l=function(t){function e(e,r,n,o){var i=t.call(this,e,"radio",r,o)||this;return i.role="menuitemradio",i.variable=e.pool.lookup(n),i.register(),i}return o(e,t),e.fromJson=function(t,e,r){return new this(r,e.content,e.variable,e.id)},e.prototype.executeAction=function(){this.variable.setValue(this.id),s.MenuUtil.close(this)},e.prototype.generateSpan=function(){this.span=document.createElement("span"),this.span.textContent="\u2713",this.span.classList.add(a.HtmlClasses.MENURADIOCHECK)},e.prototype.updateAria=function(){this.html.setAttribute("aria-checked",this.variable.getValue()===this.id?"true":"false")},e.prototype.updateSpan=function(){this.span.style.display=this.variable.getValue()===this.id?"":"none"},e.prototype.toJson=function(){return{type:""}},e}(i.AbstractVariableItem);e.Radio=l},3463:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.Rule=void 0;var i=r(9329),s=r(2165),a=function(t){function e(e){var r=t.call(this,e,"rule")||this;return r.className=s.HtmlClasses.MENUITEM,r.role="separator",r}return o(e,t),e.fromJson=function(t,e,r){return new this(r)},e.prototype.generateHtml=function(){t.prototype.generateHtml.call(this);var e=this.html;e.classList.add(s.HtmlClasses.MENURULE),e.setAttribute("aria-orientation","vertical")},e.prototype.addEvents=function(t){},e.prototype.toJson=function(){return{type:"rule"}},e}(i.AbstractEntry);e.Rule=a},7625:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.Slider=void 0;var i=r(6765),s=r(2556),a=r(2165),l=r(3205),c=function(t){function e(e,r,n,o){var i=t.call(this,e,"slider",r,o)||this;return i.role="slider",i.labelId="ctx_slideLabel"+s.MenuUtil.counter(),i.valueId="ctx_slideValue"+s.MenuUtil.counter(),i.inputEvent=!1,i.variable=e.pool.lookup(n),i.register(),i}return o(e,t),e.fromJson=function(t,e,r){return new this(r,e.content,e.variable,e.id)},e.prototype.executeAction=function(){this.variable.setValue(this.input.value,s.MenuUtil.getActiveElement(this)),this.update()},e.prototype.space=function(e){t.prototype.space.call(this,e),s.MenuUtil.close(this)},e.prototype.focus=function(){t.prototype.focus.call(this),this.input.focus()},e.prototype.unfocus=function(){t.prototype.unfocus.call(this),this.updateSpan()},e.prototype.generateHtml=function(){t.prototype.generateHtml.call(this),this.html.classList.add(a.HtmlClasses.MENUSLIDER),this.valueSpan=document.createElement("span"),this.valueSpan.setAttribute("id",this.valueId),this.valueSpan.classList.add(a.HtmlClasses.SLIDERVALUE),this.html.appendChild(this.valueSpan)},e.prototype.generateSpan=function(){this.span=document.createElement("span"),this.labelSpan=document.createElement("span"),this.labelSpan.setAttribute("id",this.labelId),this.labelSpan.appendChild(this.html.childNodes[0]),this.html.appendChild(this.labelSpan),this.input=document.createElement("input"),this.input.setAttribute("type","range"),this.input.setAttribute("min","0"),this.input.setAttribute("max","100"),this.input.setAttribute("aria-valuemin","0"),this.input.setAttribute("aria-valuemax","100"),this.input.setAttribute("aria-labelledby",this.labelId),this.input.addEventListener("keydown",this.inputKey.bind(this)),this.input.addEventListener("input",this.executeAction.bind(this)),this.input.classList.add(a.HtmlClasses.SLIDERBAR),this.span.appendChild(this.input)},e.prototype.inputKey=function(t){this.inputEvent=!0},e.prototype.mousedown=function(t){t.stopPropagation()},e.prototype.mouseup=function(t){event.stopPropagation()},e.prototype.keydown=function(e){var r=e.keyCode;return r===l.KEY.UP||r===l.KEY.DOWN?(e.preventDefault(),void t.prototype.keydown.call(this,e)):this.inputEvent&&r!==l.KEY.ESCAPE&&r!==l.KEY.RETURN?(this.inputEvent=!1,void e.stopPropagation()):(t.prototype.keydown.call(this,e),void e.stopPropagation())},e.prototype.updateAria=function(){var t=this.variable.getValue();t&&this.input&&(this.input.setAttribute("aria-valuenow",t),this.input.setAttribute("aria-valuetext",t+"%"))},e.prototype.updateSpan=function(){var t;try{t=this.variable.getValue(s.MenuUtil.getActiveElement(this)),this.valueSpan.innerHTML=t+"%"}catch(e){t=""}this.input.value=t},e.prototype.toJson=function(){return{type:""}},e}(i.AbstractVariableItem);e.Slider=c},6186:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.Submenu=void 0;var i=r(1340),s=r(2165),a=function(t){function e(e,r,n){var o=t.call(this,e,"submenu",r,n)||this;return o._submenu=null,o}return o(e,t),e.fromJson=function(t,e,r){var n=e.content,o=e.menu,i=new this(r,n,e.id),s=t.get("subMenu")(t,o,i);return i.submenu=s,i},Object.defineProperty(e.prototype,"submenu",{get:function(){return this._submenu},set:function(t){this._submenu=t},enumerable:!1,configurable:!0}),e.prototype.mouseover=function(t){this.focus(),this.stop(t)},e.prototype.mouseout=function(t){this.stop(t)},e.prototype.unfocus=function(){if(this.submenu.isPosted()){if(this.menu.focused!==this)return t.prototype.unfocus.call(this),void this.menu.unpostSubmenus();this.html.setAttribute("tabindex","-1"),this.html.blur()}else t.prototype.unfocus.call(this)},e.prototype.focus=function(){t.prototype.focus.call(this),this.submenu.isPosted()||this.disabled||this.submenu.post()},e.prototype.executeAction=function(){this.submenu.isPosted()?this.submenu.unpost():this.submenu.post()},e.prototype.generateHtml=function(){t.prototype.generateHtml.call(this);var e=this.html;this.span=document.createElement("span"),this.span.textContent="\u25ba",this.span.classList.add(s.HtmlClasses.MENUARROW),e.appendChild(this.span),e.setAttribute("aria-haspopup","true")},e.prototype.left=function(e){this.submenu.isPosted()?this.submenu.unpost():t.prototype.left.call(this,e)},e.prototype.right=function(t){this.submenu.isPosted()?this.submenu.down(t):this.submenu.post()},e.prototype.toJson=function(){return{type:""}},e}(i.AbstractItem);e.Submenu=a},3205:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.KEY=void 0,function(t){t[t.RETURN=13]="RETURN",t[t.ESCAPE=27]="ESCAPE",t[t.SPACE=32]="SPACE",t[t.LEFT=37]="LEFT",t[t.UP=38]="UP",t[t.RIGHT=39]="RIGHT",t[t.DOWN=40]="DOWN"}(e.KEY||(e.KEY={}))},9328:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MenuElement=void 0;var i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.addAttributes=function(t){for(var e in t)this.html.setAttribute(e,t[e])},Object.defineProperty(e.prototype,"html",{get:function(){return this._html||this.generateHtml(),this._html},set:function(t){this._html=t,this.addEvents(t)},enumerable:!1,configurable:!0}),e.prototype.generateHtml=function(){var t=document.createElement("div");t.classList.add(this.className),t.setAttribute("role",this.role),this.html=t},e.prototype.focus=function(){var t=this.html;t.setAttribute("tabindex","0"),t.focus()},e.prototype.unfocus=function(){var t=this.html;t.hasAttribute("tabindex")&&t.setAttribute("tabindex","-1");try{t.blur()}catch(t){}t.blur()},e}(r(2868).AbstractNavigatable);e.MenuElement=i},1932:function(t,e,r){var n=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.MenuStore=void 0;var o=r(2556),i=r(2165),s=r(3205),a=function(){function t(t){this.menu=t,this.store=[],this._active=null,this.counter=0,this.attachedClass=i.HtmlClasses.ATTACHED+"_"+o.MenuUtil.counter(),this.taborder=!0,this.attrMap={}}return Object.defineProperty(t.prototype,"active",{get:function(){return this._active},set:function(t){do{if(-1!==this.store.indexOf(t)){this._active=t;break}t=t.parentNode}while(t)},enumerable:!1,configurable:!0}),t.prototype.next=function(){var t=this.store.length;if(0===t)return this.active=null,null;var e=this.store.indexOf(this.active);return e=-1===e?0:e0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},i=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},s=this&&this.__spread||function(){for(var t=[],e=0;e0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s};Object.defineProperty(e,"__esModule",{value:!0}),e.SelectionBox=e.SelectionMenu=void 0;var s=r(2556),a=r(2165),l=r(1484),c=r(4922),u=function(t){function e(e){var r=t.call(this)||this;return r.anchor=e,r.className=a.HtmlClasses.SELECTIONMENU,r.variablePool=r.anchor.menu.pool,r.baseMenu=r.anchor.menu,r}return o(e,t),e.fromJson=function(t,e,r){var n=e.title,o=e.values,i=e.variable,s=new this(r),a=t.get("label")(t,{content:n||"",id:n||"id"},s),l=t.get("rule")(t,{},s),c=o.map((function(e){return t.get("radio")(t,{content:e,variable:i,id:e},s)})),u=[a,l].concat(c);return s.items=u,s},e.prototype.generateHtml=function(){t.prototype.generateHtml.call(this),this.items.forEach((function(t){return t.html.classList.add(a.HtmlClasses.SELECTIONITEM)}))},e.prototype.display=function(){},e.prototype.right=function(t){this.anchor.right(t)},e.prototype.left=function(t){this.anchor.left(t)},e}(l.AbstractMenu);e.SelectionMenu=u;var p=function(t){function e(e,r,n,o){void 0===n&&(n="none"),void 0===o&&(o="vertical");var i=t.call(this,e,null,r)||this;return i.style=n,i.grid=o,i._selections=[],i.prefix="ctxt-selection",i._balanced=!0,i}return o(e,t),e.fromJson=function(t,e,r){var n=e.title,o=e.signature,i=e.selections,s=new this(n,o,e.order,e.grid);s.attachMenu(r);var a=i.map((function(e){return t.get("selectionMenu")(t,e,s)}));return s.selections=a,s},e.prototype.attachMenu=function(t){this.menu=t},Object.defineProperty(e.prototype,"selections",{get:function(){return this._selections},set:function(t){var e=this;this._selections=[],t.forEach((function(t){return e.addSelection(t)}))},enumerable:!1,configurable:!0}),e.prototype.addSelection=function(t){t.anchor=this,this._selections.push(t)},e.prototype.rowDiv=function(t){var e=this,r=document.createElement("div");this.contentDiv.appendChild(r);var n=t.map((function(t){return r.appendChild(t.html),t.html.id||(t.html.id=e.prefix+s.MenuUtil.counter()),t.html.getBoundingClientRect()})),o=n.map((function(t){return t.width})),i=o.reduce((function(t,e){return t+e}),0),l=n.reduce((function(t,e){return Math.max(t,e.height)}),0);return r.classList.add(a.HtmlClasses.SELECTIONDIVIDER),r.setAttribute("style","height: "+l+"px;"),[r,i,l,o]},e.prototype.display=function(){if(t.prototype.display.call(this),this.order(),this.selections.length){for(var e=[],r=0,n=[],o=this.getChunkSize(this.selections.length),s=function(t){var s=a.selections.slice(t,t+o),l=i(a.rowDiv(s),4),c=l[0],u=l[1],p=l[2],h=l[3];e.push(c),r=Math.max(r,u),s.forEach((function(t){return t.html.style.height=p+"px"})),n=a.combineColumn(n,h)},a=this,l=0;ldocument.body.offsetWidth-5&&(i=Math.max(5,i-o-r.offsetWidth+6)),t.prototype.post.call(this,i,s)}},e.prototype.display=function(){this.baseMenu.frame.appendChild(this.html)},e.prototype.setBaseMenu=function(){var t=this;do{t=t.anchor.menu}while(t instanceof e);this.baseMenu=t},e.prototype.left=function(t){this.focused=null,this.anchor.focus()},e.prototype.toJson=function(){return{type:""}},e}(r(1484).AbstractMenu);e.SubMenu=i},3737:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Variable=void 0;var n=r(2556),o=function(){function t(t,e,r){this._name=t,this.getter=e,this.setter=r,this.items=[]}return t.fromJson=function(t,e,r){var n=new this(e.name,e.getter,e.setter);r.insert(n)},Object.defineProperty(t.prototype,"name",{get:function(){return this._name},enumerable:!1,configurable:!0}),t.prototype.getValue=function(t){try{return this.getter(t)}catch(t){return n.MenuUtil.error(t,"Command of variable "+this.name+" failed."),null}},t.prototype.setValue=function(t,e){try{this.setter(t,e)}catch(t){n.MenuUtil.error(t,"Command of variable "+this.name+" failed.")}this.update()},t.prototype.register=function(t){-1===this.items.indexOf(t)&&this.items.push(t)},t.prototype.unregister=function(t){var e=this.items.indexOf(t);-1!==e&&this.items.splice(e,1)},t.prototype.update=function(){this.items.forEach((function(t){return t.update()}))},t.prototype.registerCallback=function(t){this.items.forEach((function(e){return e.registerCallback(t)}))},t.prototype.unregisterCallback=function(t){this.items.forEach((function(e){return e.unregisterCallback(t)}))},t.prototype.toJson=function(){return{type:"variable",name:this.name,getter:this.getter.toString(),setter:this.setter.toString()}},t}();e.Variable=o},2358:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.VariablePool=void 0;var r=function(){function t(){this.pool={}}return t.prototype.insert=function(t){this.pool[t.name]=t},t.prototype.lookup=function(t){return this.pool[t]},t.prototype.remove=function(t){delete this.pool[t]},t.prototype.update=function(){for(var t in this.pool)this.pool[t].update()},t}();e.VariablePool=r},3921:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractAudioRenderer=void 0;const n=r(5897);e.AbstractAudioRenderer=class{constructor(){this.separator_=" "}setSeparator(t){this.separator_=t}getSeparator(){return"braille"===n.default.getInstance().modality?"":this.separator_}error(t){return null}merge(t){let e="";const r=t.length-1;for(let n,o=0;n=t[o];o++)if(e+=n.speech,odelete t[e])),e.open.forEach((r=>t[r]=e[r]));const r=Object.keys(t);t.open=r},e.sortClose=function(t,e){if(t.length<=1)return t;const r=[];for(let n,o=0;n=e[o],t.length;o++)n.close&&n.close.length&&n.close.forEach((function(e){const n=t.indexOf(e);-1!==n&&(r.unshift(e),t.splice(n,1))}));return r};let a={},l=[];function c(t,e){const r=t[t.length-1];if(r){if(f(e)&&f(r)){if(void 0===r.join)return void(r.span=r.span.concat(e.span));const t=r.span.pop(),n=e.span.shift();return r.span.push(t+r.join+n),r.span=r.span.concat(e.span),void(r.join=e.join)}h(e)&&h(r)?r.pause=s(r.pause,e.pause):t.push(e)}else t.push(e)}function u(t,e){t.rate&&(e.rate=t.rate),t.pitch&&(e.pitch=t.pitch),t.volume&&(e.volume=t.volume)}function p(t){return"object"==typeof t&&t.open}function h(t){return"object"==typeof t&&1===Object.keys(t).length&&Object.keys(t)[0]===o.personalityProps.PAUSE}function f(t){const e=Object.keys(t);return"object"==typeof t&&(1===e.length&&"span"===e[0]||2===e.length&&("span"===e[0]&&"join"===e[1]||"span"===e[1]&&"join"===e[0]))}function d(t,e,r,n,a,l=!1){if(l){const l=t[t.length-1];let c;if(l&&(c=l[o.personalityProps.JOIN]),l&&!e.speech&&a&&h(l)){const t=o.personalityProps.PAUSE;l[t]=s(l[t],a[t]),a=null}if(l&&e.speech&&0===Object.keys(r).length&&f(l)){if(void 0!==c){const t=l.span.pop();e=new i.Span(t.speech+c+e.speech,t.attributes)}l.span.push(e),e=new i.Span("",{}),l[o.personalityProps.JOIN]=n}}0!==Object.keys(r).length&&t.push(r),e.speech&&t.push({span:[e],join:n}),a&&t.push(a)}function m(t,e){if(!e)return t;const r={};for(const n of o.personalityPropList){const o=t[n],i=e[n];if(!o&&!i||o&&i&&o===i)continue;const s=o||0;p(r)||(r.open=[],r.close=[]),o||r.close.push(n),i||r.open.push(n),i&&o&&(r.close.push(n),r.open.push(n)),e[n]=s,r[n]=s,a[n]?a[n].push(s):a[n]=[s]}if(p(r)){let t=r.close.slice();for(;t.length>0;){let o=l.pop();const i=(0,n.setdifference)(o,t);if(t=(0,n.setdifference)(t,o),o=i,0!==t.length){if(0!==o.length){r.close=r.close.concat(o),r.open=r.open.concat(o);for(let t,n=0;t=o[n];n++)r[t]=e[t]}}else 0!==o.length&&l.push(o)}l.push(r.open)}return r}e.personalityMarkup=function(t){a={},l=[];let e=[];const r={};for(let n,i=0;n=t[i];i++){let t=null;const i=n.descriptionSpan(),s=n.personality,a=s[o.personalityProps.JOIN];delete s[o.personalityProps.JOIN],void 0!==s[o.personalityProps.PAUSE]&&(t={[o.personalityProps.PAUSE]:s[o.personalityProps.PAUSE]},delete s[o.personalityProps.PAUSE]);d(e,i,m(s,r),a,t,!0)}return e=e.concat(function(){const t=[];for(let e=l.length-1;e>=0;e--){const r=l[e];if(r.length){const e={open:[],close:[]};for(let t=0;t"string"==typeof t?new c.Span(t,{}):t)),r=m.get(n.default.getInstance().markup);return r?r.merge(e):t.join()},e.finalize=function(t){const e=m.get(n.default.getInstance().markup);return e?e.finalize(t):t},e.error=function(t){const e=m.get(n.default.getInstance().markup);return e?e.error(t):""},e.registerRenderer=function(t,e){m.set(t,e)},e.isXml=function(){return m.get(n.default.getInstance().markup)instanceof f.XmlRenderer}},8639:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.LayoutRenderer=void 0;const n=r(2057),o=r(5740),i=r(4440),s=r(3706),a=r(2456);class l extends a.XmlRenderer{finalize(t){return function(t){c="";const e=o.parseInput(`${t}`);return n.Debugger.getInstance().output(o.formatXml(e.toString())),c=f(e),c}(t)}pause(t){return""}prosodyElement(t,e){return t===i.personalityProps.LAYOUT?`<${e}>`:""}closeTag(t){return``}markup(t){const e=[];let r=[];for(const n of t){if(!n.layout){r.push(n);continue}e.push(this.processContent(r)),r=[];const t=n.layout;t.match(/^begin/)?e.push("<"+t.replace(/^begin/,"")+">"):t.match(/^end/)?e.push(""):console.warn("Something went wrong with layout markup: "+t)}return e.push(this.processContent(r)),e.join("")}processContent(t){const e=[],r=s.personalityMarkup(t);for(let t,n=0;t=r[n];n++)t.span?e.push(this.merge(t.span)):s.isPauseElement(t);return e.join("")}}e.LayoutRenderer=l;let c="";const u={TABLE:function(t){let e=g(t);e.forEach((t=>{t.cells=t.cells.slice(1).slice(0,-1),t.width=t.width.slice(1).slice(0,-1)}));const[r,n]=b(e);return e=v(e,n),_(e,r)},CASES:function(t){let e=g(t);e.forEach((t=>{t.cells=t.cells.slice(0,-1),t.width=t.width.slice(0,-1)}));const[r,n]=b(e);return e=v(e,n),_(e,r)},CAYLEY:function(t){let e=g(t);e.forEach((t=>{t.cells=t.cells.slice(1).slice(0,-1),t.width=t.width.slice(1).slice(0,-1),t.sep=t.sep+t.sep}));const[r,n]=b(e),o={lfence:"",rfence:"",cells:n.map((t=>"\u2810"+new Array(t).join("\u2812"))),width:n,height:1,sep:e[0].sep};return e.splice(1,0,o),e=v(e,n),_(e,r)},MATRIX:function(t){let e=g(t);const[r,n]=b(e);return e=v(e,n),_(e,r)},CELL:f,FENCE:f,ROW:f,FRACTION:function(t){const[e,r,,n,o]=Array.from(t.childNodes),i=p(r),s=p(n),a=m(i),l=m(s);let c=Math.max(a,l);const u=e+new Array(c+1).join("\u2812")+o;return c=u.length,`${x(i,c)}\n${u}\n${x(s,c)}`},NUMERATOR:E,DENOMINATOR:E};function p(t){const e=o.tagName(t),r=u[e];return r?r(t):t.textContent}function h(t,e){if(!t||!e)return t+e;const r=d(t),n=d(e),o=r-n;t=o<0?y(t,n,m(t)):t,e=o>0?y(e,r,m(e)):e;const i=t.split(/\r\n|\r|\n/),s=e.split(/\r\n|\r|\n/),a=[];for(let t=0;tMath.max(e.length,t)),0)}function y(t,e,r){return t=function(t,e){const r=e-d(t);return t+(r>0?new Array(r+1).join("\n"):"")}(t,e),function(t,e){const r=t.split(/\r\n|\r|\n/),n=[];for(const t of r){const r=e-t.length;n.push(t+(r>0?new Array(r+1).join("\u2800"):""))}return n.join("\n")}(t,r)}function g(t){const e=Array.from(t.childNodes),r=[];for(const t of e)t.nodeType===o.NodeType.ELEMENT_NODE&&r.push(O(t));return r}function b(t){const e=t.reduce(((t,e)=>Math.max(e.height,t)),0),r=[];for(let e=0;et.width[e])).reduce(((t,e)=>Math.max(t,e)),0));return[e,r]}function v(t,e){const r=[];for(const n of t){if(0===n.height)continue;const t=[];for(let r=0;rt.lfence+t.cells.join(t.sep)+t.rfence)).join("\n");const r=[];for(const e of t){const t=S(e.sep,e.height);let n=e.cells.shift();for(;e.cells.length;)n=h(n,t),n=h(n,e.cells.shift());n=h(S(e.lfence,e.height),n),n=h(n,S(e.rfence,e.height)),r.push(n),r.push(e.lfence+new Array(m(n)-3).join(e.sep)+e.rfence)}return r.slice(0,-1).join("\n")}function S(t,e){let r="";for(;e;)r+=t+"\n",e--;return r.slice(0,-1)}function M(t){return t.nodeType===o.NodeType.ELEMENT_NODE&&"FENCE"===o.tagName(t)?p(t):""}function O(t){const e=Array.from(t.childNodes),r=M(e[0]),n=M(e[e.length-1]);r&&e.shift(),n&&e.pop();let i="";const s=[];for(const t of e){if(t.nodeType===o.NodeType.TEXT_NODE){i=t.textContent;continue}const e=p(t);s.push(e)}return{lfence:r,rfence:n,sep:i,cells:s,height:s.reduce(((t,e)=>Math.max(d(e),t)),0),width:s.map(m)}}function x(t,e){const r=(e-m(t))/2,[n,o]=Math.floor(r)===r?[r,r]:[Math.floor(r),Math.ceil(r)],i=t.split(/\r\n|\r|\n/),s=[],[a,l]=[new Array(n+1).join("\u2800"),new Array(o+1).join("\u2800")];for(const t of i)s.push(a+t+l);return s.join("\n")}function E(t){const e=t.firstChild,r=f(t);if(e&&e.nodeType===o.NodeType.ELEMENT_NODE){if("ENGLISH"===o.tagName(e))return"\u2830"+r;if("NUMBER"===o.tagName(e))return"\u283c"+r}return r}},182:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.MarkupRenderer=void 0;const n=r(4440),o=r(3921);class i extends o.AbstractAudioRenderer{constructor(){super(...arguments),this.ignoreElements=[n.personalityProps.LAYOUT],this.scaleFunction=null}setScaleFunction(t,e,r,n,o=0){this.scaleFunction=i=>{const s=(i-t)/(e-t),a=r*(1-s)+n*s;return+(Math.round(a+"e+"+o)+"e-"+o)}}applyScaleFunction(t){return this.scaleFunction?this.scaleFunction(t):t}ignoreElement(t){return-1!==this.ignoreElements.indexOf(t)}}e.MarkupRenderer=i},8990:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.PunctuationRenderer=void 0;const n=r(4440),o=r(3921),i=r(3706);class s extends o.AbstractAudioRenderer{markup(t){const e=i.personalityMarkup(t);let r="",o=null,s=!1;for(let t,a=0;t=e[a];a++)i.isMarkupElement(t)||(i.isPauseElement(t)?s&&(o=i.mergePause(o,t,Math.max)):(o&&(r+=this.pause(o[n.personalityProps.PAUSE]),o=null),r+=(s?this.getSeparator():"")+this.merge(t.span),s=!0));return r}pause(t){let e;return e="number"==typeof t?t<=250?"short":t<=500?"medium":"long":t,s.PAUSE_PUNCTUATION.get(e)||""}}e.PunctuationRenderer=s,s.PAUSE_PUNCTUATION=new Map([["short",","],["medium",";"],["long","."]])},6660:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.SableRenderer=void 0;const n=r(4440),o=r(2456);class i extends o.XmlRenderer{finalize(t){return''+this.getSeparator()+t+this.getSeparator()+""}pause(t){return''}prosodyElement(t,e){switch(e=this.applyScaleFunction(e),t){case n.personalityProps.PITCH:return'';case n.personalityProps.RATE:return'';case n.personalityProps.VOLUME:return'';default:return"<"+t.toUpperCase()+' VALUE="'+e+'">'}}closeTag(t){return""}}e.SableRenderer=i},9536:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.Span=void 0;e.Span=class{constructor(t,e){this.speech=t,this.attributes=e}}},7504:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.SsmlRenderer=void 0;const n=r(5897),o=r(4440),i=r(2456);class s extends i.XmlRenderer{finalize(t){return''+this.getSeparator()+t+this.getSeparator()+""}pause(t){return''}prosodyElement(t,e){const r=(e=Math.floor(this.applyScaleFunction(e)))<0?e.toString():"+"+e.toString();return"":'%">')}closeTag(t){return""}}e.SsmlRenderer=s},3757:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.SsmlStepRenderer=void 0;const n=r(7504);class o extends n.SsmlRenderer{markup(t){return o.MARKS={},super.markup(t)}merge(t){const e=[];for(let r=0;r'),o.MARKS[i]=!0),1===n.speech.length&&n.speech.match(/[a-zA-Z]/)?e.push(''+n.speech+""):e.push(n.speech)}return e.join(this.getSeparator())}}e.SsmlStepRenderer=o,o.CHARACTER_ATTR="character",o.MARKS={}},4032:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.StringRenderer=void 0;const n=r(3921),o=r(3706);class i extends n.AbstractAudioRenderer{markup(t){let e="";const r=(0,o.personalityMarkup)(t).filter((t=>t.span));if(!r.length)return e;const n=r.length-1;for(let t,o=0;t=r[o];o++){if(t.span&&(e+=this.merge(t.span)),o>=n)continue;const r=t.join;e+=void 0===r?this.getSeparator():r}return e}}e.StringRenderer=i},2456:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.XmlRenderer=void 0;const n=r(5897),o=r(3706),i=r(182);class s extends i.MarkupRenderer{markup(t){this.setScaleFunction(-2,2,-100,100,2);const e=o.personalityMarkup(t),r=[],i=[];for(let t,s=0;t=e[s];s++)if(t.span)r.push(this.merge(t.span));else if(o.isPauseElement(t))r.push(this.pause(t));else{if(t.close.length)for(let e=0;e{r.push(this.prosodyElement(e,t[e])),i.push(e)}))}}return r.join(" ")}}e.XmlRenderer=s},707:function(t,e){function r(t,e){return t?e?t.filter((t=>e.indexOf(t)<0)):t:[]}Object.defineProperty(e,"__esModule",{value:!0}),e.union=e.setdifference=e.interleaveLists=e.removeEmpty=void 0,e.removeEmpty=function(t){return t.filter((t=>t))},e.interleaveLists=function(t,e){const r=[];for(;t.length||e.length;)t.length&&r.push(t.shift()),e.length&&r.push(e.shift());return r},e.setdifference=r,e.union=function(t,e){return t&&e?t.concat(r(e,t)):t||e||[]}},2139:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.loadScript=e.loadMapsForIE_=e.installWGXpath_=e.loadWGXpath_=e.mapsForIE=e.detectEdge=e.detectIE=void 0;const n=r(2315),o=r(5274);function i(t){l(n.default.WGXpath),s(t)}function s(t,e){let r=e||1;"undefined"==typeof wgxpath&&r<10?setTimeout((function(){s(t,r++)}),200):r>=10||(n.default.wgxpath=wgxpath,t?n.default.wgxpath.install({document:document}):n.default.wgxpath.install(),o.xpath.evaluate=document.evaluate,o.xpath.result=XPathResult,o.xpath.createNSResolver=document.createNSResolver)}function a(){l(n.default.mathmapsIePath)}function l(t){const e=n.default.document.createElement("script");e.type="text/javascript",e.src=t,n.default.document.head?n.default.document.head.appendChild(e):n.default.document.body.appendChild(e)}e.detectIE=function(){return"undefined"!=typeof window&&"ActiveXObject"in window&&"clipboardData"in window&&(a(),i(),!0)},e.detectEdge=function(){var t;return"undefined"!=typeof window&&"MSGestureEvent"in window&&null===(null===(t=window.chrome)||void 0===t?void 0:t.loadTimes)&&(document.evaluate=null,i(!0),!0)},e.mapsForIE=null,e.loadWGXpath_=i,e.installWGXpath_=s,e.loadMapsForIE_=a,e.loadScript=l},2057:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Debugger=void 0;const n=r(2315);class o{constructor(){this.isActive_=!1,this.outputFunction_=console.info,this.stream_=null}static getInstance(){return o.instance=o.instance||new o,o.instance}init(t){t&&this.startDebugFile_(t),this.isActive_=!0}output(...t){this.isActive_&&this.output_(t)}generateOutput(t){this.isActive_&&this.output_(t.apply(t,[]))}exit(t=(()=>{})){this.isActive_&&this.stream_&&this.stream_.end("","",t)}startDebugFile_(t){this.stream_=n.default.fs.createWriteStream(t),this.outputFunction_=function(...t){this.stream_.write(t.join(" ")),this.stream_.write("\n")}.bind(this),this.stream_.on("error",function(t){console.info("Invalid log file. Debug information sent to console."),this.outputFunction_=console.info}.bind(this)),this.stream_.on("finish",(function(){console.info("Finalizing debug file.")}))}output_(t){this.outputFunction_.apply(console.info===this.outputFunction_?console:this.outputFunction_,["Speech Rule Engine Debugger:"].concat(t))}}e.Debugger=o},5740:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.serializeXml=e.cloneNode=e.tagName=e.querySelectorAll=e.querySelectorAllByAttrValue=e.querySelectorAllByAttr=e.formatXml=e.createTextNode=e.createElementNS=e.createElement=e.replaceNode=e.NodeType=e.parseInput=e.XML_ENTITIES=e.trimInput_=e.toArray=void 0;const n=r(5897),o=r(4440),i=r(2315),s=r(5274);function a(t){const e=[];for(let r=0,n=t.length;r[ \f\n\r\t\v\u200b]+<").trim()}function c(t,e){if(!e)return[!1,""];const r=t.match(/^<([^> ]+).*>/),n=e.match(/^<\/([^>]+)>(.*)/);return r&&n&&r[1]===n[1]?[!0,n[2]]:[!1,""]}e.toArray=a,e.trimInput_=l,e.XML_ENTITIES={"<":!0,">":!0,"&":!0,""":!0,"'":!0},e.parseInput=function(t){const e=new i.default.xmldom.DOMParser,r=l(t),a=!!r.match(/&(?!lt|gt|amp|quot|apos)\w+;/g);if(!r)throw new Error("Empty input!");try{const t=e.parseFromString(r,a?"text/html":"text/xml");return n.default.getInstance().mode===o.Mode.HTTP?(s.xpath.currentDocument=t,a?t.body.childNodes[0]:t.documentElement):t.documentElement}catch(t){throw new n.SREError("Illegal input: "+t.message)}},function(t){t[t.ELEMENT_NODE=1]="ELEMENT_NODE",t[t.ATTRIBUTE_NODE=2]="ATTRIBUTE_NODE",t[t.TEXT_NODE=3]="TEXT_NODE",t[t.CDATA_SECTION_NODE=4]="CDATA_SECTION_NODE",t[t.ENTITY_REFERENCE_NODE=5]="ENTITY_REFERENCE_NODE",t[t.ENTITY_NODE=6]="ENTITY_NODE",t[t.PROCESSING_INSTRUCTION_NODE=7]="PROCESSING_INSTRUCTION_NODE",t[t.COMMENT_NODE=8]="COMMENT_NODE",t[t.DOCUMENT_NODE=9]="DOCUMENT_NODE",t[t.DOCUMENT_TYPE_NODE=10]="DOCUMENT_TYPE_NODE",t[t.DOCUMENT_FRAGMENT_NODE=11]="DOCUMENT_FRAGMENT_NODE",t[t.NOTATION_NODE=12]="NOTATION_NODE"}(e.NodeType||(e.NodeType={})),e.replaceNode=function(t,e){t.parentNode&&(t.parentNode.insertBefore(e,t),t.parentNode.removeChild(t))},e.createElement=function(t){return i.default.document.createElement(t)},e.createElementNS=function(t,e){return i.default.document.createElementNS(t,e)},e.createTextNode=function(t){return i.default.document.createTextNode(t)},e.formatXml=function(t){let e="",r=/(>)(<)(\/*)/g,n=0,o=(t=t.replace(r,"$1\r\n$2$3")).split("\r\n");for(r=/(\.)*(<)(\/*)/g,o=o.map((t=>t.replace(r,"$1\r\n$2$3").split("\r\n"))).reduce(((t,e)=>t.concat(e)),[]);o.length;){let t=o.shift();if(!t)continue;let r=0;if(t.match(/^<\w[^>/]*>[^>]+$/)){const e=c(t,o[0]);e[0]?e[1]?(t+=o.shift().slice(0,-e[1].length),e[1].trim()&&o.unshift(e[1])):t+=o.shift():r=1}else if(t.match(/^<\/\w/))0!==n&&(n-=1);else if(t.match(/^<\w[^>]*[^/]>.*$/))r=1;else if(t.match(/^<\w[^>]*\/>.+$/)){const e=t.indexOf(">")+1;t.slice(e).trim()&&o.unshift(),t=t.slice(0,e)}else r=0;e+=new Array(n+1).join(" ")+t+"\r\n",n+=r}return e},e.querySelectorAllByAttr=function(t,e){return t.querySelectorAll?a(t.querySelectorAll(`[${e}]`)):s.evalXPath(`.//*[@${e}]`,t)},e.querySelectorAllByAttrValue=function(t,e,r){return t.querySelectorAll?a(t.querySelectorAll(`[${e}="${r}"]`)):s.evalXPath(`.//*[@${e}="${r}"]`,t)},e.querySelectorAll=function(t,e){return t.querySelectorAll?a(t.querySelectorAll(e)):s.evalXPath(`.//${e}`,t)},e.tagName=function(t){return t.tagName.toUpperCase()},e.cloneNode=function(t){return t.cloneNode(!0)},e.serializeXml=function(t){return(new i.default.xmldom.XMLSerializer).serializeToString(t)}},5897:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.EnginePromise=e.SREError=void 0;const n=r(1676),o=r(4440),i=r(2057),s=r(1377);class a extends Error{constructor(t=""){super(),this.message=t,this.name="SRE Error"}}e.SREError=a;class l{constructor(){this.customLoader=null,this.parsers={},this.comparator=null,this.mode=o.Mode.SYNC,this.init=!0,this.delay=!1,this.comparators={},this.domain="mathspeak",this.style=n.DynamicCstr.DEFAULT_VALUES[n.Axis.STYLE],this._defaultLocale=n.DynamicCstr.DEFAULT_VALUES[n.Axis.LOCALE],this.locale=this.defaultLocale,this.subiso="",this.modality=n.DynamicCstr.DEFAULT_VALUES[n.Axis.MODALITY],this.speech=o.Speech.NONE,this.markup=o.Markup.NONE,this.walker="Table",this.structure=!1,this.ruleSets=[],this.strict=!1,this.isIE=!1,this.isEdge=!1,this.rate="100",this.pprint=!1,this.config=!1,this.rules="",this.prune="",this.evaluator=l.defaultEvaluator,this.defaultParser=new n.DynamicCstrParser(n.DynamicCstr.DEFAULT_ORDER),this.parser=this.defaultParser,this.dynamicCstr=n.DynamicCstr.defaultCstr()}set defaultLocale(t){this._defaultLocale=s.Variables.ensureLocale(t,this._defaultLocale)}get defaultLocale(){return this._defaultLocale}static getInstance(){return l.instance=l.instance||new l,l.instance}static defaultEvaluator(t,e){return t}static evaluateNode(t){return l.nodeEvaluator(t)}getRate(){const t=parseInt(this.rate,10);return isNaN(t)?100:t}setDynamicCstr(t){if(this.defaultLocale&&(n.DynamicCstr.DEFAULT_VALUES[n.Axis.LOCALE]=this.defaultLocale),t){const e=Object.keys(t);for(let r=0;r{void 0!==t[r]&&(e[r]=t[r])};return r("mode"),e.configurate(t),a.default.BINARY_FEATURES.forEach((r=>{void 0!==t[r]&&(e[r]=!!t[r])})),a.default.STRING_FEATURES.forEach(r),t.json&&(c.default.jsonPath=l.makePath(t.json)),t.xpath&&(c.default.WGXpath=t.xpath),e.setCustomLoader(t.custom),function(t){t.isIE=s.detectIE(),t.isEdge=s.detectEdge()}(e),o.setLocale(),e.setDynamicCstr(),e.init?(a.EnginePromise.promises.init=new Promise(((t,e)=>{setTimeout((()=>{t("init")}),10)})),e.init=!1,a.EnginePromise.get()):e.delay?(e.delay=!1,a.EnginePromise.get()):i.loadLocale()}))}},8496:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.Event=e.EventType=e.Move=e.KeyCode=void 0,function(t){t[t.ENTER=13]="ENTER",t[t.ESC=27]="ESC",t[t.SPACE=32]="SPACE",t[t.PAGE_UP=33]="PAGE_UP",t[t.PAGE_DOWN=34]="PAGE_DOWN",t[t.END=35]="END",t[t.HOME=36]="HOME",t[t.LEFT=37]="LEFT",t[t.UP=38]="UP",t[t.RIGHT=39]="RIGHT",t[t.DOWN=40]="DOWN",t[t.TAB=9]="TAB",t[t.LESS=188]="LESS",t[t.GREATER=190]="GREATER",t[t.DASH=189]="DASH",t[t.ZERO=48]="ZERO",t[t.ONE=49]="ONE",t[t.TWO=50]="TWO",t[t.THREE=51]="THREE",t[t.FOUR=52]="FOUR",t[t.FIVE=53]="FIVE",t[t.SIX=54]="SIX",t[t.SEVEN=55]="SEVEN",t[t.EIGHT=56]="EIGHT",t[t.NINE=57]="NINE",t[t.A=65]="A",t[t.B=66]="B",t[t.C=67]="C",t[t.D=68]="D",t[t.E=69]="E",t[t.F=70]="F",t[t.G=71]="G",t[t.H=72]="H",t[t.I=73]="I",t[t.J=74]="J",t[t.K=75]="K",t[t.L=76]="L",t[t.M=77]="M",t[t.N=78]="N",t[t.O=79]="O",t[t.P=80]="P",t[t.Q=81]="Q",t[t.R=82]="R",t[t.S=83]="S",t[t.T=84]="T",t[t.U=85]="U",t[t.V=86]="V",t[t.W=87]="W",t[t.X=88]="X",t[t.Y=89]="Y",t[t.Z=90]="Z"}(e.KeyCode||(e.KeyCode={})),e.Move=new Map([[13,"ENTER"],[27,"ESC"],[32,"SPACE"],[33,"PAGE_UP"],[34,"PAGE_DOWN"],[35,"END"],[36,"HOME"],[37,"LEFT"],[38,"UP"],[39,"RIGHT"],[40,"DOWN"],[9,"TAB"],[188,"LESS"],[190,"GREATER"],[189,"DASH"],[48,"ZERO"],[49,"ONE"],[50,"TWO"],[51,"THREE"],[52,"FOUR"],[53,"FIVE"],[54,"SIX"],[55,"SEVEN"],[56,"EIGHT"],[57,"NINE"],[65,"A"],[66,"B"],[67,"C"],[68,"D"],[69,"E"],[70,"F"],[71,"G"],[72,"H"],[73,"I"],[74,"J"],[75,"K"],[76,"L"],[77,"M"],[78,"N"],[79,"O"],[80,"P"],[81,"Q"],[82,"R"],[83,"S"],[84,"T"],[85,"U"],[86,"V"],[87,"W"],[88,"X"],[89,"Y"],[90,"Z"]]),function(t){t.CLICK="click",t.DBLCLICK="dblclick",t.MOUSEDOWN="mousedown",t.MOUSEUP="mouseup",t.MOUSEOVER="mouseover",t.MOUSEOUT="mouseout",t.MOUSEMOVE="mousemove",t.SELECTSTART="selectstart",t.KEYPRESS="keypress",t.KEYDOWN="keydown",t.KEYUP="keyup",t.TOUCHSTART="touchstart",t.TOUCHMOVE="touchmove",t.TOUCHEND="touchend",t.TOUCHCANCEL="touchcancel"}(e.EventType||(e.EventType={}));e.Event=class{constructor(t,e,r){this.src=t,this.type=e,this.callback=r}add(){this.src.addEventListener(this.type,this.callback)}remove(){this.src.removeEventListener(this.type,this.callback)}}},7248:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.localePath=e.makePath=void 0;const n=r(2315);function o(t){return t.match("/$")?t:t+"/"}e.makePath=o,e.localePath=function(t,e="json"){return o(n.default.jsonPath)+t+(e.match(/^\./)?e:"."+e)}},3769:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.KeyProcessor=e.Processor=void 0;const n=r(8496);class o{constructor(t,e){this.name=t,this.process=e.processor,this.postprocess=e.postprocessor||((t,e)=>t),this.processor=this.postprocess?function(t){return this.postprocess(this.process(t),t)}:this.process,this.print=e.print||o.stringify_,this.pprint=e.pprint||this.print}static stringify_(t){return t?t.toString():t}}e.Processor=o,o.LocalState={walker:null,speechGenerator:null,highlighter:null};class i extends o{constructor(t,e){super(t,e),this.key=e.key||i.getKey_}static getKey_(t){return"string"==typeof t?n.KeyCode[t.toUpperCase()]:t}}e.KeyProcessor=i},6499:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.keypress=e.output=e.print=e.process=e.set=void 0;const n=r(8290),o=r(5714),i=r(3090),s=r(4356),a=r(1414),l=r(9552),c=r(9543),u=r(3362),p=r(1204),h=r(5740),f=r(5897),d=r(4440),m=r(3769),y=r(5274),g=new Map;function b(t){g.set(t.name,t)}function v(t){const e=g.get(t);if(!e)throw new f.SREError("Unknown processor "+t);return e}function _(t,e){const r=v(t);try{return r.processor(e)}catch(t){throw new f.SREError("Processing error for expression "+e)}}function S(t,e){const r=v(t);return f.default.getInstance().pprint?r.pprint(e):r.print(e)}e.set=b,e.process=_,e.print=S,e.output=function(t,e){const r=v(t);try{const t=r.processor(e);return f.default.getInstance().pprint?r.pprint(t):r.print(t)}catch(t){throw new f.SREError("Processing error for expression "+e)}},e.keypress=function(t,e){const r=v(t),n=r instanceof m.KeyProcessor?r.key(e):e,o=r.processor(n);return f.default.getInstance().pprint?r.pprint(o):r.print(o)},b(new m.Processor("semantic",{processor:function(t){const e=h.parseInput(t);return a.xmlTree(e)},postprocessor:function(t,e){const r=f.default.getInstance().speech;if(r===d.Speech.NONE)return t;const o=h.cloneNode(t);let i=c.computeMarkup(o);if(r===d.Speech.SHALLOW)return t.setAttribute("speech",n.finalize(i)),t;const s=y.evalXPath(".//*[@id]",t),a=y.evalXPath(".//*[@id]",o);for(let t,e,r=0;t=s[r],e=a[r];r++)i=c.computeMarkup(e),t.setAttribute("speech",n.finalize(i));return t},pprint:function(t){return h.formatXml(t.toString())}})),b(new m.Processor("speech",{processor:function(t){const e=h.parseInput(t),r=a.xmlTree(e),o=c.computeSpeech(r);return n.finalize(n.markup(o))},pprint:function(t){const e=t.toString();return n.isXml()?h.formatXml(e):e}})),b(new m.Processor("json",{processor:function(t){const e=h.parseInput(t);return a.getTree(e).toJson()},postprocessor:function(t,e){const r=f.default.getInstance().speech;if(r===d.Speech.NONE)return t;const o=h.parseInput(e),i=a.xmlTree(o),s=c.computeMarkup(i);if(r===d.Speech.SHALLOW)return t.stree.speech=n.finalize(s),t;const l=t=>{const e=y.evalXPath(`.//*[@id=${t.id}]`,i)[0],r=c.computeMarkup(e);t.speech=n.finalize(r),t.children&&t.children.forEach(l)};return l(t.stree),t},print:function(t){return JSON.stringify(t)},pprint:function(t){return JSON.stringify(t,null,2)}})),b(new m.Processor("description",{processor:function(t){const e=h.parseInput(t),r=a.xmlTree(e);return c.computeSpeech(r)},print:function(t){return JSON.stringify(t)},pprint:function(t){return JSON.stringify(t,null,2)}})),b(new m.Processor("enriched",{processor:function(t){return o.semanticMathmlSync(t)},postprocessor:function(t,e){const r=p.getSemanticRoot(t);let n;switch(f.default.getInstance().speech){case d.Speech.NONE:break;case d.Speech.SHALLOW:n=l.generator("Adhoc"),n.getSpeech(r,t);break;case d.Speech.DEEP:n=l.generator("Tree"),n.getSpeech(t,t)}return t},pprint:function(t){return h.formatXml(t.toString())}})),b(new m.Processor("walker",{processor:function(t){const e=l.generator("Node");m.Processor.LocalState.speechGenerator=e,e.setOptions({modality:f.default.getInstance().modality,locale:f.default.getInstance().locale,domain:f.default.getInstance().domain,style:f.default.getInstance().style}),m.Processor.LocalState.highlighter=i.highlighter({color:"black"},{color:"white"},{renderer:"NativeMML"});const r=_("enriched",t),n=S("enriched",r);return m.Processor.LocalState.walker=u.walker(f.default.getInstance().walker,r,e,m.Processor.LocalState.highlighter,n),m.Processor.LocalState.walker},print:function(t){return m.Processor.LocalState.walker.speech()}})),b(new m.KeyProcessor("move",{processor:function(t){if(!m.Processor.LocalState.walker)return null;return!1===m.Processor.LocalState.walker.move(t)?n.error(t):m.Processor.LocalState.walker.speech()}})),b(new m.Processor("number",{processor:function(t){const e=parseInt(t,10);return isNaN(e)?"":s.LOCALE.NUMBERS.numberToWords(e)}})),b(new m.Processor("ordinal",{processor:function(t){const e=parseInt(t,10);return isNaN(e)?"":s.LOCALE.NUMBERS.wordOrdinal(e)}})),b(new m.Processor("numericOrdinal",{processor:function(t){const e=parseInt(t,10);return isNaN(e)?"":s.LOCALE.NUMBERS.numericOrdinal(e)}})),b(new m.Processor("vulgar",{processor:function(t){const[e,r]=t.split("/").map((t=>parseInt(t,10)));return isNaN(e)||isNaN(r)?"":_("speech",`${e}${r}`)}}))},2998:function(t,e,r){var n=this&&this.__awaiter||function(t,e,r,n){return new(r||(r=Promise))((function(o,i){function s(t){try{l(n.next(t))}catch(t){i(t)}}function a(t){try{l(n.throw(t))}catch(t){i(t)}}function l(t){var e;t.done?o(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}l((n=n.apply(t,e||[])).next())}))};Object.defineProperty(e,"__esModule",{value:!0}),e.localePath=e.exit=e.move=e.walk=e.processFile=e.file=e.vulgar=e.numericOrdinal=e.ordinal=e.number=e.toEnriched=e.toDescription=e.toJson=e.toSemantic=e.toSpeech=e.localeLoader=e.engineReady=e.engineSetup=e.setupEngine=e.version=void 0;const o=r(5897),i=r(6828),s=r(4440),a=r(7248),l=r(6499),c=r(2315),u=r(1377),p=r(6141);function h(t){return n(this,void 0,void 0,(function*(){return(0,i.setup)(t)}))}function f(t,e){return l.process(t,e)}function d(t,e,r){switch(o.default.getInstance().mode){case s.Mode.ASYNC:return function(t,e,r){return n(this,void 0,void 0,(function*(){const n=yield c.default.fs.promises.readFile(e,{encoding:"utf8"}),i=l.output(t,n);if(r)try{c.default.fs.promises.writeFile(r,i)}catch(t){throw new o.SREError("Can not write to file: "+r)}return i}))}(t,e,r);case s.Mode.SYNC:return function(t,e,r){const n=function(t){let e;try{e=c.default.fs.readFileSync(t,{encoding:"utf8"})}catch(e){throw new o.SREError("Can not open file: "+t)}return e}(e),i=l.output(t,n);if(r)try{c.default.fs.writeFileSync(r,i)}catch(t){throw new o.SREError("Can not write to file: "+r)}return i}(t,e,r);default:throw new o.SREError(`Can process files in ${o.default.getInstance().mode} mode`)}}e.version=u.Variables.VERSION,e.setupEngine=h,e.engineSetup=function(){const t=["mode"].concat(o.default.STRING_FEATURES,o.default.BINARY_FEATURES),e=o.default.getInstance(),r={};return t.forEach((function(t){r[t]=e[t]})),r.json=c.default.jsonPath,r.xpath=c.default.WGXpath,r.rules=e.ruleSets.slice(),r},e.engineReady=function(){return n(this,void 0,void 0,(function*(){return h({}).then((()=>o.EnginePromise.getall()))}))},e.localeLoader=p.standardLoader,e.toSpeech=function(t){return f("speech",t)},e.toSemantic=function(t){return f("semantic",t)},e.toJson=function(t){return f("json",t)},e.toDescription=function(t){return f("description",t)},e.toEnriched=function(t){return f("enriched",t)},e.number=function(t){return f("number",t)},e.ordinal=function(t){return f("ordinal",t)},e.numericOrdinal=function(t){return f("numericOrdinal",t)},e.vulgar=function(t){return f("vulgar",t)},e.file={},e.file.toSpeech=function(t,e){return d("speech",t,e)},e.file.toSemantic=function(t,e){return d("semantic",t,e)},e.file.toJson=function(t,e){return d("json",t,e)},e.file.toDescription=function(t,e){return d("description",t,e)},e.file.toEnriched=function(t,e){return d("enriched",t,e)},e.processFile=d,e.walk=function(t){return l.output("walker",t)},e.move=function(t){return l.keypress("move",t)},e.exit=function(t){const e=t||0;o.EnginePromise.getall().then((()=>process.exit(e)))},e.localePath=a.localePath,c.default.documentSupported?h({mode:s.Mode.HTTP}).then((()=>h({}))):h({mode:s.Mode.SYNC}).then((()=>h({mode:s.Mode.ASYNC})))},2315:function(__unused_webpack_module,exports,__webpack_require__){var __dirname="/";Object.defineProperty(exports,"__esModule",{value:!0});const variables_1=__webpack_require__(1377);class SystemExternal{static extRequire(library){if("undefined"!=typeof process){const nodeRequire=eval("require");return nodeRequire(library)}return null}}exports.default=SystemExternal,SystemExternal.windowSupported=!("undefined"==typeof window),SystemExternal.documentSupported=SystemExternal.windowSupported&&!(void 0===window.document),SystemExternal.xmldom=SystemExternal.documentSupported?window:SystemExternal.extRequire("xmldom-sre"),SystemExternal.document=SystemExternal.documentSupported?window.document:(new SystemExternal.xmldom.DOMImplementation).createDocument("","",0),SystemExternal.xpath=SystemExternal.documentSupported?document:function(){const t={document:{},XPathResult:{}};return SystemExternal.extRequire("wicked-good-xpath").install(t),t.document.XPathResult=t.XPathResult,t.document}(),SystemExternal.mathmapsIePath="https://cdn.jsdelivr.net/npm/sre-mathmaps-ie@"+variables_1.Variables.VERSION+"mathmaps_ie.js",SystemExternal.commander=SystemExternal.documentSupported?null:SystemExternal.extRequire("commander"),SystemExternal.fs=SystemExternal.documentSupported?null:SystemExternal.extRequire("fs"),SystemExternal.url=variables_1.Variables.url,SystemExternal.jsonPath=(SystemExternal.documentSupported?SystemExternal.url:process.env.SRE_JSON_PATH||__webpack_require__.g.SRE_JSON_PATH||__dirname+"/mathmaps")+"/",SystemExternal.WGXpath=variables_1.Variables.WGXpath,SystemExternal.wgxpath=null},1377:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.Variables=void 0;class r{static ensureLocale(t,e){return r.LOCALES.get(t)?t:(console.error(`Locale ${t} does not exist! Using ${r.LOCALES.get(e)} instead.`),e)}}e.Variables=r,r.VERSION="4.0.6",r.LOCALES=new Map([["ca","Catalan"],["da","Danish"],["de","German"],["en","English"],["es","Spanish"],["fr","French"],["hi","Hindi"],["it","Italian"],["nb","Bokm\xe5l"],["nn","Nynorsk"],["sv","Swedish"],["nemeth","Nemeth"]]),r.mathjaxVersion="3.2.1",r.url="https://cdn.jsdelivr.net/npm/speech-rule-engine@"+r.VERSION+"/lib/mathmaps",r.WGXpath="https://cdn.jsdelivr.net/npm/wicked-good-xpath@1.3.0/dist/wgxpath.install.js"},5274:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.updateEvaluator=e.evaluateString=e.evaluateBoolean=e.getLeafNodes=e.evalXPath=e.resolveNameSpace=e.xpath=void 0;const n=r(5897),o=r(4440),i=r(2315);function s(){return"undefined"!=typeof XPathResult}e.xpath={currentDocument:null,evaluate:s()?document.evaluate:i.default.xpath.evaluate,result:s()?XPathResult:i.default.xpath.XPathResult,createNSResolver:s()?document.createNSResolver:i.default.xpath.createNSResolver};const a={xhtml:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",mml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg"};function l(t){return a[t]||null}e.resolveNameSpace=l;class c{constructor(){this.lookupNamespaceURI=l}}function u(t,r,i){return n.default.getInstance().mode!==o.Mode.HTTP||n.default.getInstance().isIE||n.default.getInstance().isEdge?e.xpath.evaluate(t,r,new c,i,null):e.xpath.currentDocument.evaluate(t,r,l,i,null)}function p(t,r){let n;try{n=u(t,r,e.xpath.result.ORDERED_NODE_ITERATOR_TYPE)}catch(t){return[]}const o=[];for(let t=n.iterateNext();t;t=n.iterateNext())o.push(t);return o}e.evalXPath=p,e.getLeafNodes=function(t){return p(".//*[count(*)=0]",t)},e.evaluateBoolean=function(t,r){let n;try{n=u(t,r,e.xpath.result.BOOLEAN_TYPE)}catch(t){return!1}return n.booleanValue},e.evaluateString=function(t,r){let n;try{n=u(t,r,e.xpath.result.STRING_TYPE)}catch(t){return""}return n.stringValue},e.updateEvaluator=function(t){if(n.default.getInstance().mode!==o.Mode.HTTP)return;let r=t;for(;r&&!r.evaluate;)r=r.parentNode;r&&r.evaluate?e.xpath.currentDocument=r:t.ownerDocument&&(e.xpath.currentDocument=t.ownerDocument)}},9268:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractEnrichCase=void 0;e.AbstractEnrichCase=class{constructor(t){this.semantic=t}}},6061:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.CaseBinomial=void 0;const n=r(5740),o=r(9268),i=r(5452),s=r(2298);class a extends o.AbstractEnrichCase{constructor(t){super(t),this.mml=t.mathmlTree}static test(t){return!t.mathmlTree&&"line"===t.type&&"binomial"===t.role}getMathml(){if(!this.semantic.childNodes.length)return this.mml;const t=this.semantic.childNodes[0];if(this.mml=(0,i.walkTree)(t),this.mml.hasAttribute(s.Attribute.TYPE)){const t=n.createElement("mrow");t.setAttribute(s.Attribute.ADDED,"true"),n.replaceNode(this.mml,t),t.appendChild(this.mml),this.mml=t}return(0,s.setAttributes)(this.mml,this.semantic),this.mml}}e.CaseBinomial=a},5765:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.CaseDoubleScript=void 0;const n=r(5740),o=r(9268),i=r(5452),s=r(2298);class a extends o.AbstractEnrichCase{constructor(t){super(t),this.mml=t.mathmlTree}static test(t){if(!t.mathmlTree||!t.childNodes.length)return!1;const e=n.tagName(t.mathmlTree),r=t.childNodes[0].role;return"MSUBSUP"===e&&"subsup"===r||"MUNDEROVER"===e&&"underover"===r}getMathml(){const t=this.semantic.childNodes[0],e=t.childNodes[0],r=this.semantic.childNodes[1],n=t.childNodes[1],o=i.walkTree(r),a=i.walkTree(e),l=i.walkTree(n);return(0,s.setAttributes)(this.mml,this.semantic),this.mml.setAttribute(s.Attribute.CHILDREN,(0,s.makeIdList)([e,n,r])),[a,l,o].forEach((t=>i.getInnerNode(t).setAttribute(s.Attribute.PARENT,this.mml.getAttribute(s.Attribute.ID)))),this.mml.setAttribute(s.Attribute.TYPE,t.role),i.addCollapsedAttribute(this.mml,[this.semantic.id,[t.id,e.id,n.id],r.id]),this.mml}}e.CaseDoubleScript=a},7251:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.CaseEmbellished=void 0;const n=r(5740),o=r(5952),i=r(9268),s=r(5765),a=r(7014),l=r(6887),c=r(5452),u=r(2298);class p extends i.AbstractEnrichCase{constructor(t){super(t),this.fenced=null,this.fencedMml=null,this.fencedMmlNodes=[],this.ofence=null,this.ofenceMml=null,this.ofenceMap={},this.cfence=null,this.cfenceMml=null,this.cfenceMap={},this.parentCleanup=[]}static test(t){return!(!t.mathmlTree||!t.fencePointer||t.mathmlTree.getAttribute("data-semantic-type"))}static makeEmptyNode_(t){const e=n.createElement("mrow"),r=new o.SemanticNode(t);return r.type="empty",r.mathmlTree=e,r}static fencedMap_(t,e){e[t.id]=t.mathmlTree,t.embellished&&p.fencedMap_(t.childNodes[0],e)}getMathml(){this.getFenced_(),this.fencedMml=c.walkTree(this.fenced),this.getFencesMml_(),"empty"!==this.fenced.type||this.fencedMml.parentNode||(this.fencedMml.setAttribute(u.Attribute.ADDED,"true"),this.cfenceMml.parentNode.insertBefore(this.fencedMml,this.cfenceMml)),this.getFencedMml_();return this.rewrite_()}fencedElement(t){return"fenced"===t.type||"matrix"===t.type||"vector"===t.type}getFenced_(){let t=this.semantic;for(;!this.fencedElement(t);)t=t.childNodes[0];this.fenced=t.childNodes[0],this.ofence=t.contentNodes[0],this.cfence=t.contentNodes[1],p.fencedMap_(this.ofence,this.ofenceMap),p.fencedMap_(this.cfence,this.cfenceMap)}getFencedMml_(){let t=this.ofenceMml.nextSibling;for(t=t===this.fencedMml?t:this.fencedMml;t&&t!==this.cfenceMml;)this.fencedMmlNodes.push(t),t=t.nextSibling}getFencesMml_(){let t=this.semantic;const e=Object.keys(this.ofenceMap),r=Object.keys(this.cfenceMap);for(;!(this.ofenceMml&&this.cfenceMml||t===this.fenced);)-1===e.indexOf(t.fencePointer)||this.ofenceMml||(this.ofenceMml=t.mathmlTree),-1===r.indexOf(t.fencePointer)||this.cfenceMml||(this.cfenceMml=t.mathmlTree),t=t.childNodes[0];this.ofenceMml||(this.ofenceMml=this.ofence.mathmlTree),this.cfenceMml||(this.cfenceMml=this.cfence.mathmlTree),this.ofenceMml&&(this.ofenceMml=c.ascendNewNode(this.ofenceMml)),this.cfenceMml&&(this.cfenceMml=c.ascendNewNode(this.cfenceMml))}rewrite_(){let t=this.semantic,e=null;const r=this.introduceNewLayer_();for((0,u.setAttributes)(r,this.fenced.parent);!this.fencedElement(t);){const o=t.mathmlTree,i=this.specialCase_(t,o);if(i)t=i;else{(0,u.setAttributes)(o,t);const e=[];for(let r,n=1;r=t.childNodes[n];n++)e.push(c.walkTree(r));t=t.childNodes[0]}const s=n.createElement("dummy"),a=o.childNodes[0];n.replaceNode(o,s),n.replaceNode(r,o),n.replaceNode(o.childNodes[0],r),n.replaceNode(s,a),e||(e=o)}return c.walkTree(this.ofence),c.walkTree(this.cfence),this.cleanupParents_(),e||r}specialCase_(t,e){const r=n.tagName(e);let o,i=null;if("MSUBSUP"===r?(i=t.childNodes[0],o=s.CaseDoubleScript):"MMULTISCRIPTS"===r&&("superscript"===t.type||"subscript"===t.type?o=a.CaseMultiscripts:"tensor"===t.type&&(o=l.CaseTensor),i=o&&t.childNodes[0]&&"subsup"===t.childNodes[0].role?t.childNodes[0]:t),!i)return null;const c=i.childNodes[0],u=p.makeEmptyNode_(c.id);return i.childNodes[0]=u,e=new o(t).getMathml(),i.childNodes[0]=c,this.parentCleanup.push(e),i.childNodes[0]}introduceNewLayer_(){const t=this.fullFence(this.ofenceMml),e=this.fullFence(this.cfenceMml);let r=n.createElement("mrow");if(n.replaceNode(this.fencedMml,r),this.fencedMmlNodes.forEach((t=>r.appendChild(t))),r.insertBefore(t,this.fencedMml),r.appendChild(e),!r.parentNode){const t=n.createElement("mrow");for(;r.childNodes.length>0;)t.appendChild(r.childNodes[0]);r.appendChild(t),r=t}return r}fullFence(t){const e=this.fencedMml.parentNode;let r=t;for(;r.parentNode&&r.parentNode!==e;)r=r.parentNode;return r}cleanupParents_(){this.parentCleanup.forEach((function(t){const e=t.childNodes[1].getAttribute(u.Attribute.PARENT);t.childNodes[0].setAttribute(u.Attribute.PARENT,e)}))}}e.CaseEmbellished=p},6265:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.CaseLimit=void 0;const n=r(5740),o=r(9268),i=r(5452),s=r(2298);class a extends o.AbstractEnrichCase{constructor(t){super(t),this.mml=t.mathmlTree}static test(t){if(!t.mathmlTree||!t.childNodes.length)return!1;const e=n.tagName(t.mathmlTree),r=t.type;return("limupper"===r||"limlower"===r)&&("MSUBSUP"===e||"MUNDEROVER"===e)||"limboth"===r&&("MSUB"===e||"MUNDER"===e||"MSUP"===e||"MOVER"===e)}static walkTree_(t){t&&i.walkTree(t)}getMathml(){const t=this.semantic.childNodes;return"limboth"!==this.semantic.type&&this.mml.childNodes.length>=3&&(this.mml=i.introduceNewLayer([this.mml],this.semantic)),(0,s.setAttributes)(this.mml,this.semantic),t[0].mathmlTree||(t[0].mathmlTree=this.semantic.mathmlTree),t.forEach(a.walkTree_),this.mml}}e.CaseLimit=a},6514:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.CaseLine=void 0;const n=r(9268),o=r(5452),i=r(2298);class s extends n.AbstractEnrichCase{constructor(t){super(t),this.mml=t.mathmlTree}static test(t){return!!t.mathmlTree&&"line"===t.type}getMathml(){return this.semantic.contentNodes.length&&o.walkTree(this.semantic.contentNodes[0]),this.semantic.childNodes.length&&o.walkTree(this.semantic.childNodes[0]),(0,i.setAttributes)(this.mml,this.semantic),this.mml}}e.CaseLine=s},6839:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.CaseMultiindex=void 0;const n=r(5740),o=r(9268),i=r(5452),s=r(2298);class a extends o.AbstractEnrichCase{constructor(t){super(t),this.mml=t.mathmlTree}static multiscriptIndex(t){return"punctuated"===t.type&&"dummy"===t.contentNodes[0].role?i.collapsePunctuated(t):(i.walkTree(t),t.id)}static createNone_(t){const e=n.createElement("none");return t&&(0,s.setAttributes)(e,t),e.setAttribute(s.Attribute.ADDED,"true"),e}completeMultiscript(t,e){const r=n.toArray(this.mml.childNodes).slice(1);let o=0;const l=t=>{for(let e,n=0;e=t[n];n++){const t=r[o];if(t&&e===parseInt(i.getInnerNode(t).getAttribute(s.Attribute.ID)))i.getInnerNode(t).setAttribute(s.Attribute.PARENT,this.semantic.id.toString()),o++;else{const r=this.semantic.querySelectorAll((t=>t.id===e));this.mml.insertBefore(a.createNone_(r[0]),t||null)}}};l(t),r[o]&&"MPRESCRIPTS"!==n.tagName(r[o])?this.mml.insertBefore(r[o],n.createElement("mprescripts")):o++,l(e)}}e.CaseMultiindex=a},7014:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.CaseMultiscripts=void 0;const n=r(5740),o=r(5656),i=r(6839),s=r(5452),a=r(2298);class l extends i.CaseMultiindex{static test(t){if(!t.mathmlTree)return!1;return"MMULTISCRIPTS"===n.tagName(t.mathmlTree)&&("superscript"===t.type||"subscript"===t.type)}constructor(t){super(t)}getMathml(){let t,e,r;if((0,a.setAttributes)(this.mml,this.semantic),this.semantic.childNodes[0]&&"subsup"===this.semantic.childNodes[0].role){const n=this.semantic.childNodes[0];t=n.childNodes[0],e=i.CaseMultiindex.multiscriptIndex(this.semantic.childNodes[1]),r=i.CaseMultiindex.multiscriptIndex(n.childNodes[1]);const l=[this.semantic.id,[n.id,t.id,r],e];s.addCollapsedAttribute(this.mml,l),this.mml.setAttribute(a.Attribute.TYPE,n.role),this.completeMultiscript(o.SemanticSkeleton.interleaveIds(r,e),[])}else{t=this.semantic.childNodes[0],e=i.CaseMultiindex.multiscriptIndex(this.semantic.childNodes[1]);const r=[this.semantic.id,t.id,e];s.addCollapsedAttribute(this.mml,r)}const n=o.SemanticSkeleton.collapsedLeafs(r||[],e),l=s.walkTree(t);return s.getInnerNode(l).setAttribute(a.Attribute.PARENT,this.semantic.id.toString()),n.unshift(t.id),this.mml.setAttribute(a.Attribute.CHILDREN,n.join(",")),this.mml}}e.CaseMultiscripts=l},3416:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.CaseProof=void 0;const n=r(9268),o=r(5452),i=r(2298);class s extends n.AbstractEnrichCase{constructor(t){super(t),this.mml=t.mathmlTree}static test(t){return!!t.mathmlTree&&("inference"===t.type||"premises"===t.type)}getMathml(){return this.semantic.childNodes.length?(this.semantic.contentNodes.forEach((function(t){o.walkTree(t),(0,i.setAttributes)(t.mathmlTree,t)})),this.semantic.childNodes.forEach((function(t){o.walkTree(t)})),(0,i.setAttributes)(this.mml,this.semantic),this.mml.getAttribute("data-semantic-id")===this.mml.getAttribute("data-semantic-parent")&&this.mml.removeAttribute("data-semantic-parent"),this.mml):this.mml}}e.CaseProof=s},5699:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.CaseTable=void 0;const n=r(5740),o=r(9268),i=r(5452),s=r(2298);class a extends o.AbstractEnrichCase{constructor(t){super(t),this.inner=[],this.mml=t.mathmlTree}static test(t){return"matrix"===t.type||"vector"===t.type||"cases"===t.type}getMathml(){const t=i.cloneContentNode(this.semantic.contentNodes[0]),e=this.semantic.contentNodes[1]?i.cloneContentNode(this.semantic.contentNodes[1]):null;if(this.inner=this.semantic.childNodes.map(i.walkTree),this.mml)if("MFENCED"===n.tagName(this.mml)){const r=this.mml.childNodes;this.mml.insertBefore(t,r[0]||null),e&&this.mml.appendChild(e),this.mml=i.rewriteMfenced(this.mml)}else{const r=[t,this.mml];e&&r.push(e),this.mml=i.introduceNewLayer(r,this.semantic)}else this.mml=i.introduceNewLayer([t].concat(this.inner,[e]),this.semantic);return(0,s.setAttributes)(this.mml,this.semantic),this.mml}}e.CaseTable=a},6887:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.CaseTensor=void 0;const n=r(5656),o=r(6839),i=r(5452),s=r(2298);class a extends o.CaseMultiindex{static test(t){return!!t.mathmlTree&&"tensor"===t.type}constructor(t){super(t)}getMathml(){i.walkTree(this.semantic.childNodes[0]);const t=o.CaseMultiindex.multiscriptIndex(this.semantic.childNodes[1]),e=o.CaseMultiindex.multiscriptIndex(this.semantic.childNodes[2]),r=o.CaseMultiindex.multiscriptIndex(this.semantic.childNodes[3]),a=o.CaseMultiindex.multiscriptIndex(this.semantic.childNodes[4]);(0,s.setAttributes)(this.mml,this.semantic);const l=[this.semantic.id,this.semantic.childNodes[0].id,t,e,r,a];i.addCollapsedAttribute(this.mml,l);const c=n.SemanticSkeleton.collapsedLeafs(t,e,r,a);return c.unshift(this.semantic.childNodes[0].id),this.mml.setAttribute(s.Attribute.CHILDREN,c.join(",")),this.completeMultiscript(n.SemanticSkeleton.interleaveIds(r,a),n.SemanticSkeleton.interleaveIds(t,e)),this.mml}}e.CaseTensor=a},9236:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.CaseText=void 0;const n=r(9268),o=r(5452),i=r(2298);class s extends n.AbstractEnrichCase{constructor(t){super(t),this.mml=t.mathmlTree}static test(t){return"punctuated"===t.type&&("text"===t.role||t.contentNodes.every((t=>"dummy"===t.role)))}getMathml(){const t=[],e=o.collapsePunctuated(this.semantic,t);return this.mml=o.introduceNewLayer(t,this.semantic),(0,i.setAttributes)(this.mml,this.semantic),this.mml.removeAttribute(i.Attribute.CONTENT),o.addCollapsedAttribute(this.mml,e),this.mml}}e.CaseText=s},5714:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.prepareMmlString=e.testTranslation__=e.semanticMathml=e.semanticMathmlSync=e.semanticMathmlNode=void 0;const n=r(2057),o=r(5740),i=r(5897),s=r(1414),a=r(5452),l=r(2298);function c(t){const e=o.cloneNode(t),r=s.getTree(e);return a.enrich(e,r)}function u(t){return c(o.parseInput(t))}function p(t){return t.match(/^$/)||(t+=""),t}r(1513),e.semanticMathmlNode=c,e.semanticMathmlSync=u,e.semanticMathml=function(t,e){i.EnginePromise.getall().then((()=>{const r=o.parseInput(t);e(c(r))}))},e.testTranslation__=function(t){n.Debugger.getInstance().init();const e=u(p(t)).toString();return(0,l.removeAttributePrefix)(e),n.Debugger.getInstance().exit(),e},e.prepareMmlString=p},2298:function(t,e){var r;function n(t){return t.map((function(t){return t.id})).join(",")}function o(t,e){const n=[];"mglyph"===e.role&&n.push("image"),e.attributes.href&&n.push("link"),n.length&&t.setAttribute(r.POSTFIX,n.join(" "))}Object.defineProperty(e,"__esModule",{value:!0}),e.addPrefix=e.removeAttributePrefix=e.setPostfix=e.setAttributes=e.makeIdList=e.EnrichAttributes=e.Attribute=e.Prefix=void 0,e.Prefix="data-semantic-",function(t){t.ADDED="data-semantic-added",t.ALTERNATIVE="data-semantic-alternative",t.CHILDREN="data-semantic-children",t.COLLAPSED="data-semantic-collapsed",t.CONTENT="data-semantic-content",t.EMBELLISHED="data-semantic-embellished",t.FENCEPOINTER="data-semantic-fencepointer",t.FONT="data-semantic-font",t.ID="data-semantic-id",t.ANNOTATION="data-semantic-annotation",t.OPERATOR="data-semantic-operator",t.OWNS="data-semantic-owns",t.PARENT="data-semantic-parent",t.POSTFIX="data-semantic-postfix",t.PREFIX="data-semantic-prefix",t.ROLE="data-semantic-role",t.SPEECH="data-semantic-speech",t.STRUCTURE="data-semantic-structure",t.TYPE="data-semantic-type"}(r=e.Attribute||(e.Attribute={})),e.EnrichAttributes=[r.ADDED,r.ALTERNATIVE,r.CHILDREN,r.COLLAPSED,r.CONTENT,r.EMBELLISHED,r.FENCEPOINTER,r.FONT,r.ID,r.ANNOTATION,r.OPERATOR,r.OWNS,r.PARENT,r.POSTFIX,r.PREFIX,r.ROLE,r.SPEECH,r.STRUCTURE,r.TYPE],e.makeIdList=n,e.setAttributes=function(t,i){t.setAttribute(r.TYPE,i.type);const s=i.allAttributes();for(let r,n=0;r=s[n];n++)t.setAttribute(e.Prefix+r[0].toLowerCase(),r[1]);i.childNodes.length&&t.setAttribute(r.CHILDREN,n(i.childNodes)),i.contentNodes.length&&t.setAttribute(r.CONTENT,n(i.contentNodes)),i.parent&&t.setAttribute(r.PARENT,i.parent.id.toString()),o(t,i)},e.setPostfix=o,e.removeAttributePrefix=function(t){return t.toString().replace(new RegExp(e.Prefix,"g"),"")},e.addPrefix=function(t){return e.Prefix+t}},3532:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.factory=e.getCase=void 0,e.getCase=function(t){for(let r,n=0;r=e.factory[n];n++)if(r.test(t))return r.constr(t);return null},e.factory=[]},1513:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});const n=r(6061),o=r(5765),i=r(7251),s=r(6265),a=r(6514),l=r(7014),c=r(3416),u=r(5699),p=r(6887),h=r(9236);r(3532).factory.push({test:s.CaseLimit.test,constr:t=>new s.CaseLimit(t)},{test:i.CaseEmbellished.test,constr:t=>new i.CaseEmbellished(t)},{test:o.CaseDoubleScript.test,constr:t=>new o.CaseDoubleScript(t)},{test:p.CaseTensor.test,constr:t=>new p.CaseTensor(t)},{test:l.CaseMultiscripts.test,constr:t=>new l.CaseMultiscripts(t)},{test:a.CaseLine.test,constr:t=>new a.CaseLine(t)},{test:n.CaseBinomial.test,constr:t=>new n.CaseBinomial(t)},{test:c.CaseProof.test,constr:t=>new c.CaseProof(t)},{test:u.CaseTable.test,constr:t=>new u.CaseTable(t)},{test:h.CaseText.test,constr:t=>new h.CaseText(t)})},5452:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.printNodeList__=e.collapsePunctuated=e.formattedOutput_=e.formattedOutput=e.getInnerNode=e.setOperatorAttribute_=e.createInvisibleOperator_=e.rewriteMfenced=e.cloneContentNode=e.addCollapsedAttribute=e.parentNode_=e.isIgnorable_=e.unitChild_=e.descendNode_=e.ascendNewNode=e.validLca_=e.pathToRoot_=e.attachedElement_=e.prunePath_=e.mathmlLca_=e.lcaType=e.functionApplication_=e.isDescendant_=e.insertNewChild_=e.mergeChildren_=e.collectChildNodes_=e.collateChildNodes_=e.childrenSubset_=e.moveSemanticAttributes_=e.introduceLayerAboveLca=e.introduceNewLayer=e.walkTree=e.enrich=e.SETTINGS=void 0;const n=r(2057),o=r(5740),i=r(5897),s=r(3588),a=r(7516),l=r(5656),c=r(4795),u=r(2298),p=r(3532);function h(t){const e=(0,p.getCase)(t);let r;if(e)return r=e.getMathml(),N(r);if(1===t.mathml.length)return n.Debugger.getInstance().output("Walktree Case 0"),r=t.mathml[0],u.setAttributes(r,t),t.childNodes.length&&(n.Debugger.getInstance().output("Walktree Case 0.1"),t.childNodes.forEach((function(t){"empty"===t.type&&r.appendChild(h(t))}))),N(r);const o=t.contentNodes.map(R);B(t,o);const i=t.childNodes.map(h),s=l.SemanticSkeleton.combineContentChildren(t,o,i);if(r=t.mathmlTree,null===r)n.Debugger.getInstance().output("Walktree Case 1"),r=f(s,t);else{const t=A(s);n.Debugger.getInstance().output("Walktree Case 2"),t?(n.Debugger.getInstance().output("Walktree Case 2.1"),r=t.parentNode):(n.Debugger.getInstance().output("Walktree Case 2.2"),r=D(r))}return r=k(r),v(r,s,t),u.setAttributes(r,t),N(r)}function f(t,e){const r=x(t);let i=r.node;const s=r.type;if(s!==O.VALID||!c.hasEmptyTag(i))if(n.Debugger.getInstance().output("Walktree Case 1.1"),i=o.createElement("mrow"),s===O.PRUNED)n.Debugger.getInstance().output("Walktree Case 1.1.0"),i=d(i,r.node,t);else if(t[0]){n.Debugger.getInstance().output("Walktree Case 1.1.1");const e=A(t),r=y(e.parentNode,t);o.replaceNode(e,i),r.forEach((function(t){i.appendChild(t)}))}return e.mathmlTree||(e.mathmlTree=i),i}function d(t,e,r){let i=w(e);if(c.hasMathTag(i)){n.Debugger.getInstance().output("Walktree Case 1.1.0.0"),m(i,t),o.toArray(i.childNodes).forEach((function(e){t.appendChild(e)}));const e=t;t=i,i=e}const s=r.indexOf(e);return r[s]=i,o.replaceNode(i,t),t.appendChild(i),r.forEach((function(e){t.appendChild(e)})),t}function m(t,e){for(const r of u.EnrichAttributes)t.hasAttribute(r)&&(e.setAttribute(r,t.getAttribute(r)),t.removeAttribute(r))}function y(t,e){const r=o.toArray(t.childNodes);let n=1/0,i=-1/0;return e.forEach((function(t){const e=r.indexOf(t);-1!==e&&(n=Math.min(n,e),i=Math.max(i,e))})),r.slice(n,i+1)}function g(t,e,r){const n=[];let i=o.toArray(t.childNodes),s=!1;for(;i.length;){const t=i.shift();if(t.hasAttribute(u.Attribute.TYPE)){n.push(t);continue}const e=b(t);0!==e.length&&(1!==e.length?(s?t.setAttribute("AuxiliaryImplicit",!0):s=!0,i=e.concat(i)):n.push(t))}const a=[],l=r.childNodes.map((function(t){return t.mathmlTree}));for(;l.length;){const t=l.pop();if(t){if(-1!==n.indexOf(t))break;-1!==e.indexOf(t)&&a.unshift(t)}}return n.concat(a)}function b(t){const e=[];let r=o.toArray(t.childNodes);for(;r.length;){const t=r.shift();t.nodeType===o.NodeType.ELEMENT_NODE&&(t.hasAttribute(u.Attribute.TYPE)?e.push(t):r=o.toArray(t.childNodes).concat(r))}return e}function v(t,e,r){const n="implicit"===r.role&&a.flags.combine_juxtaposition?g(t,e,r):o.toArray(t.childNodes);if(!n.length)return void e.forEach((function(e){t.appendChild(e)}));let i=0;for(;e.length;){const r=e[0];n[i]===r||M(n[i],r)?(e.shift(),i++):n[i]&&-1===e.indexOf(n[i])?i++:(S(r,t)||_(t,n[i],r),e.shift())}}function _(t,e,r){if(!e)return void t.insertBefore(r,null);let n=e,o=P(n);for(;o&&o.firstChild===n&&!n.hasAttribute("AuxiliaryImplicit")&&o!==t;)n=o,o=P(n);o&&(o.insertBefore(r,n),n.removeAttribute("AuxiliaryImplicit"))}function S(t,e){if(!t)return!1;do{if((t=t.parentNode)===e)return!0}while(t);return!1}function M(t,e){const r=s.functionApplication();if(t&&e&&t.textContent&&e.textContent&&t.textContent===r&&e.textContent===r&&"true"===e.getAttribute(u.Attribute.ADDED)){for(let r,n=0;r=t.attributes[n];n++)e.hasAttribute(r.nodeName)||e.setAttribute(r.nodeName,r.nodeValue);return o.replaceNode(t,e),!0}return!1}var O;function x(t){const e=A(t);if(!e)return{type:O.INVALID,node:null};const r=A(t.slice().reverse());if(e===r)return{type:O.VALID,node:e};const n=C(e),o=E(n,t),i=C(r,(function(t){return-1!==o.indexOf(t)})),s=i[0],a=o.indexOf(s);return-1===a?{type:O.INVALID,node:null}:{type:o.length!==n.length?O.PRUNED:T(o[a+1],i[1])?O.VALID:O.INVALID,node:s}}function E(t,e){let r=0;for(;t[r]&&-1===e.indexOf(t[r]);)r++;return t.slice(0,r+1)}function A(t){let e=0,r=null;for(;!r&&e!1),n=[t];for(;!r(t)&&!c.hasMathTag(t)&&t.parentNode;)t=P(t),n.unshift(t);return n}function T(t,e){return!(!t||!e||t.previousSibling||e.nextSibling)}function N(t){for(;!c.hasMathTag(t)&&L(t);)t=P(t);return t}function w(t){const e=o.toArray(t.childNodes);if(!e)return t;const r=e.filter((function(t){return t.nodeType===o.NodeType.ELEMENT_NODE&&!c.hasIgnoreTag(t)}));return 1===r.length&&c.hasEmptyTag(r[0])&&!r[0].hasAttribute(u.Attribute.TYPE)?w(r[0]):t}function L(t){const e=P(t);return!(!e||!c.hasEmptyTag(e))&&o.toArray(e.childNodes).every((function(e){return e===t||I(e)}))}function I(t){if(t.nodeType!==o.NodeType.ELEMENT_NODE)return!0;if(!t||c.hasIgnoreTag(t))return!0;const e=o.toArray(t.childNodes);return!(!c.hasEmptyTag(t)&&e.length||c.hasDisplayTag(t)||t.hasAttribute(u.Attribute.TYPE)||c.isOrphanedGlyph(t))&&o.toArray(t.childNodes).every(I)}function P(t){return t.parentNode}function R(t){if(t.mathml.length)return h(t);const r=e.SETTINGS.implicit?j(t):o.createElement("mrow");return t.mathml=[r],r}function k(t){if("MFENCED"!==o.tagName(t))return t;const e=o.createElement("mrow");for(let r,n=0;r=t.attributes[n];n++)-1===["open","close","separators"].indexOf(r.name)&&e.setAttribute(r.name,r.value);return o.toArray(t.childNodes).forEach((function(t){e.appendChild(t)})),o.replaceNode(t,e),e}function j(t){const e=o.createElement("mo"),r=o.createTextNode(t.textContent);return e.appendChild(r),u.setAttributes(e,t),e.setAttribute(u.Attribute.ADDED,"true"),e}function B(t,e){const r=t.type+(t.textContent?","+t.textContent:"");e.forEach((function(t){D(t).setAttribute(u.Attribute.OPERATOR,r)}))}function D(t){const e=o.toArray(t.childNodes);if(!e)return t;const r=e.filter((function(t){return!I(t)})),n=[];for(let t,e=0;t=r[e];e++)if(c.hasEmptyTag(t)){const e=D(t);e&&e!==t&&n.push(e)}else n.push(t);return 1===n.length?n[0]:t}function F(t,e,r,n){const o=n||!1;H(t,"Original MathML",o),H(r,"Semantic Tree",o),H(e,"Semantically enriched MathML",o)}function H(t,e,r){const n=o.formatXml(t.toString());r?console.info(e+":\n```html\n"+u.removeAttributePrefix(n)+"\n```\n"):console.info(n)}e.SETTINGS={collapsed:!0,implicit:!0},e.enrich=function(t,e){const r=o.cloneNode(t);return h(e.root),i.default.getInstance().structure&&t.setAttribute(u.Attribute.STRUCTURE,l.SemanticSkeleton.fromStructure(t,e).toString()),n.Debugger.getInstance().generateOutput((function(){return F(r,t,e,!0),[]})),t},e.walkTree=h,e.introduceNewLayer=f,e.introduceLayerAboveLca=d,e.moveSemanticAttributes_=m,e.childrenSubset_=y,e.collateChildNodes_=g,e.collectChildNodes_=b,e.mergeChildren_=v,e.insertNewChild_=_,e.isDescendant_=S,e.functionApplication_=M,function(t){t.VALID="valid",t.INVALID="invalid",t.PRUNED="pruned"}(O=e.lcaType||(e.lcaType={})),e.mathmlLca_=x,e.prunePath_=E,e.attachedElement_=A,e.pathToRoot_=C,e.validLca_=T,e.ascendNewNode=N,e.descendNode_=w,e.unitChild_=L,e.isIgnorable_=I,e.parentNode_=P,e.addCollapsedAttribute=function(t,e){const r=new l.SemanticSkeleton(e);t.setAttribute(u.Attribute.COLLAPSED,r.toString())},e.cloneContentNode=R,e.rewriteMfenced=k,e.createInvisibleOperator_=j,e.setOperatorAttribute_=B,e.getInnerNode=D,e.formattedOutput=F,e.formattedOutput_=H,e.collapsePunctuated=function(t,e){const r=!!e,n=e||[],o=t.parent,i=t.contentNodes.map((function(t){return t.id}));i.unshift("c");const s=[t.id,i];for(let e,i=0;e=t.childNodes[i];i++){const t=h(e);n.push(t);const i=D(t);o&&!r&&i.setAttribute(u.Attribute.PARENT,o.id.toString()),s.push(e.id)}return s},e.printNodeList__=function(t,e){console.info(t),o.toArray(e).forEach((function(t){console.info(t.toString())})),console.info("<<<<<<<<<<<<<<<<<")}},5105:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractHighlighter=void 0;const n=r(5274),o=r(2298);class i{constructor(){this.color=null,this.mactionName="",this.currentHighlights=[]}highlight(t){this.currentHighlights.push(t.map((t=>{const e=this.highlightNode(t);return this.setHighlighted(t),e})))}highlightAll(t){const e=this.getMactionNodes(t);for(let t,r=0;t=e[r];r++)this.highlight([t])}unhighlight(){const t=this.currentHighlights.pop();t&&t.forEach((t=>{this.isHighlighted(t.node)&&(this.unhighlightNode(t),this.unsetHighlighted(t.node))}))}unhighlightAll(){for(;this.currentHighlights.length>0;)this.unhighlight()}setColor(t){this.color=t}colorString(){return this.color.rgba()}addEvents(t,e){const r=this.getMactionNodes(t);for(let t,n=0;t=r[n];n++)for(const r in e)t.addEventListener(r,e[r])}getMactionNodes(t){return Array.from(t.getElementsByClassName(this.mactionName))}isMactionNode(t){const e=t.className||t.getAttribute("class");return!!e&&!!e.match(new RegExp(this.mactionName))}isHighlighted(t){return t.hasAttribute(i.ATTR)}setHighlighted(t){t.setAttribute(i.ATTR,"true")}unsetHighlighted(t){t.removeAttribute(i.ATTR)}colorizeAll(t){n.evalXPath(`.//*[@${o.Attribute.ID}]`,t).forEach((t=>this.colorize(t)))}uncolorizeAll(t){n.evalXPath(`.//*[@${o.Attribute.ID}]`,t).forEach((t=>this.uncolorize(t)))}colorize(t){const e=(0,o.addPrefix)("foreground");t.hasAttribute(e)&&(t.setAttribute(e+"-old",t.style.color),t.style.color=t.getAttribute(e))}uncolorize(t){const e=(0,o.addPrefix)("foreground")+"-old";t.hasAttribute(e)&&(t.style.color=t.getAttribute(e))}}e.AbstractHighlighter=i,i.ATTR="sre-highlight"},6937:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.ChtmlHighlighter=void 0;const n=r(933);class o extends n.CssHighlighter{constructor(){super()}isMactionNode(t){return t.tagName.toUpperCase()===this.mactionName.toUpperCase()}getMactionNodes(t){return Array.from(t.getElementsByTagName(this.mactionName))}}e.ChtmlHighlighter=o},8396:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.ContrastPicker=e.ColorPicker=void 0;const r={red:{red:255,green:0,blue:0},green:{red:0,green:255,blue:0},blue:{red:0,green:0,blue:255},yellow:{red:255,green:255,blue:0},cyan:{red:0,green:255,blue:255},magenta:{red:255,green:0,blue:255},white:{red:255,green:255,blue:255},black:{red:0,green:0,blue:0}};function n(t,e){const n=t||{color:e};let o=Object.prototype.hasOwnProperty.call(n,"color")?r[n.color]:n;return o||(o=r[e]),o.alpha=Object.prototype.hasOwnProperty.call(n,"alpha")?n.alpha:1,function(t){const e=t=>(t=Math.max(t,0),t=Math.min(255,t),Math.round(t));return t.red=e(t.red),t.green=e(t.green),t.blue=e(t.blue),t.alpha=Math.max(t.alpha,0),t.alpha=Math.min(1,t.alpha),t}(o)}class o{constructor(t,e){this.foreground=n(e,o.DEFAULT_FOREGROUND_),this.background=n(t,o.DEFAULT_BACKGROUND_)}static toHex(t){const e=t.toString(16);return 1===e.length?"0"+e:e}rgba(){const t=function(t){return"rgba("+t.red+","+t.green+","+t.blue+","+t.alpha+")"};return{background:t(this.background),foreground:t(this.foreground)}}rgb(){const t=function(t){return"rgb("+t.red+","+t.green+","+t.blue+")"};return{background:t(this.background),alphaback:this.background.alpha.toString(),foreground:t(this.foreground),alphafore:this.foreground.alpha.toString()}}hex(){const t=function(t){return"#"+o.toHex(t.red)+o.toHex(t.green)+o.toHex(t.blue)};return{background:t(this.background),alphaback:this.background.alpha.toString(),foreground:t(this.foreground),alphafore:this.foreground.alpha.toString()}}}e.ColorPicker=o,o.DEFAULT_BACKGROUND_="blue",o.DEFAULT_FOREGROUND_="black";e.ContrastPicker=class{constructor(){this.hue=10,this.sat=100,this.light=50,this.incr=50}generate(){return e=function(t,e,r){e=e>1?e/100:e,r=r>1?r/100:r;const n=(1-Math.abs(2*r-1))*e,o=n*(1-Math.abs(t/60%2-1)),i=r-n/2;let s=0,a=0,l=0;return 0<=t&&t<60?[s,a,l]=[n,o,0]:60<=t&&t<120?[s,a,l]=[o,n,0]:120<=t&&t<180?[s,a,l]=[0,n,o]:180<=t&&t<240?[s,a,l]=[0,o,n]:240<=t&&t<300?[s,a,l]=[o,0,n]:300<=t&&t<360&&([s,a,l]=[n,0,o]),{red:s+i,green:a+i,blue:l+i}}(this.hue,this.sat,this.light),"rgb("+(t={red:Math.round(255*e.red),green:Math.round(255*e.green),blue:Math.round(255*e.blue)}).red+","+t.green+","+t.blue+")";var t,e}increment(){this.hue=(this.hue+this.incr)%360}}},933:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.CssHighlighter=void 0;const n=r(5105);class o extends n.AbstractHighlighter{constructor(){super(),this.mactionName="mjx-maction"}highlightNode(t){const e={node:t,background:t.style.backgroundColor,foreground:t.style.color},r=this.colorString();return t.style.backgroundColor=r.background,t.style.color=r.foreground,e}unhighlightNode(t){t.node.style.backgroundColor=t.background,t.node.style.color=t.foreground}}e.CssHighlighter=o},3090:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.highlighterMapping_=e.addEvents=e.highlighter=void 0;const n=r(6937),o=r(8396),i=r(933),s=r(2598),a=r(4500),l=r(7071),c=r(4346),u=r(2222);e.highlighter=function(t,r,n){const i=new o.ColorPicker(t,r),s="NativeMML"===n.renderer&&"Safari"===n.browser?"MML-CSS":"SVG"===n.renderer&&"v3"===n.browser?"SVG-V3":n.renderer,a=new(e.highlighterMapping_[s]||e.highlighterMapping_.NativeMML);return a.setColor(i),a},e.addEvents=function(t,r,n){const o=e.highlighterMapping_[n.renderer];o&&(new o).addEvents(t,r)},e.highlighterMapping_={SVG:c.SvgHighlighter,"SVG-V3":u.SvgV3Highlighter,NativeMML:l.MmlHighlighter,"HTML-CSS":s.HtmlHighlighter,"MML-CSS":a.MmlCssHighlighter,CommonHTML:i.CssHighlighter,CHTML:n.ChtmlHighlighter}},2598:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.HtmlHighlighter=void 0;const n=r(5740),o=r(5105);class i extends o.AbstractHighlighter{constructor(){super(),this.mactionName="maction"}highlightNode(t){const e={node:t,foreground:t.style.color,position:t.style.position},r=this.color.rgb();t.style.color=r.foreground,t.style.position="relative";const o=t.bbox;if(o&&o.w){const i=.05,s=0,a=n.createElement("span"),l=parseFloat(t.style.paddingLeft||"0");a.style.backgroundColor=r.background,a.style.opacity=r.alphaback.toString(),a.style.display="inline-block",a.style.height=o.h+o.d+2*i+"em",a.style.verticalAlign=-o.d+"em",a.style.marginTop=a.style.marginBottom=-i+"em",a.style.width=o.w+2*s+"em",a.style.marginLeft=l-s+"em",a.style.marginRight=-o.w-s-l+"em",t.parentNode.insertBefore(a,t),e.box=a}return e}unhighlightNode(t){const e=t.node;e.style.color=t.foreground,e.style.position=t.position,t.box&&t.box.parentNode.removeChild(t.box)}}e.HtmlHighlighter=i},4500:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.MmlCssHighlighter=void 0;const n=r(933);class o extends n.CssHighlighter{constructor(){super(),this.mactionName="maction"}getMactionNodes(t){return Array.from(t.getElementsByTagName(this.mactionName))}isMactionNode(t){return t.tagName===this.mactionName}}e.MmlCssHighlighter=o},7071:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.MmlHighlighter=void 0;const n=r(5105);class o extends n.AbstractHighlighter{constructor(){super(),this.mactionName="maction"}highlightNode(t){let e=t.getAttribute("style");return e+=";background-color: "+this.colorString().background,e+=";color: "+this.colorString().foreground,t.setAttribute("style",e),{node:t}}unhighlightNode(t){let e=t.node.getAttribute("style");e=e.replace(";background-color: "+this.colorString().background,""),e=e.replace(";color: "+this.colorString().foreground,""),t.node.setAttribute("style",e)}colorString(){return this.color.rgba()}getMactionNodes(t){return Array.from(t.getElementsByTagName(this.mactionName))}isMactionNode(t){return t.tagName===this.mactionName}}e.MmlHighlighter=o},4346:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.SvgHighlighter=void 0;const n=r(5740),o=r(5105);class i extends o.AbstractHighlighter{constructor(){super(),this.mactionName="mjx-svg-maction"}highlightNode(t){let e;if(this.isHighlighted(t))return e={node:t.previousSibling||t,background:t.style.backgroundColor,foreground:t.style.color},e;if("svg"===t.tagName){const e={node:t,background:t.style.backgroundColor,foreground:t.style.color};return t.style.backgroundColor=this.colorString().background,t.style.color=this.colorString().foreground,e}const r=n.createElementNS("http://www.w3.org/2000/svg","rect");let i;if("use"===t.nodeName){const e=n.createElementNS("http://www.w3.org/2000/svg","g");t.parentNode.insertBefore(e,t),e.appendChild(t),i=e.getBBox(),e.parentNode.replaceChild(t,e)}else i=t.getBBox();r.setAttribute("x",(i.x-40).toString()),r.setAttribute("y",(i.y-40).toString()),r.setAttribute("width",(i.width+80).toString()),r.setAttribute("height",(i.height+80).toString());const s=t.getAttribute("transform");return s&&r.setAttribute("transform",s),r.setAttribute("fill",this.colorString().background),r.setAttribute(o.AbstractHighlighter.ATTR,"true"),t.parentNode.insertBefore(r,t),e={node:r,foreground:t.getAttribute("fill")},t.setAttribute("fill",this.colorString().foreground),e}setHighlighted(t){"svg"===t.tagName&&super.setHighlighted(t)}unhighlightNode(t){if("background"in t)return t.node.style.backgroundColor=t.background,void(t.node.style.color=t.foreground);t.foreground?t.node.nextSibling.setAttribute("fill",t.foreground):t.node.nextSibling.removeAttribute("fill"),t.node.parentNode.removeChild(t.node)}isMactionNode(t){let e=t.className||t.getAttribute("class");return e=void 0!==e.baseVal?e.baseVal:e,!!e&&!!e.match(new RegExp(this.mactionName))}}e.SvgHighlighter=i},2222:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.SvgV3Highlighter=void 0;const n=r(5740),o=r(5274),i=r(5105),s=r(8396),a=r(4346);class l extends a.SvgHighlighter{constructor(){super(),this.mactionName="maction"}highlightNode(t){let e;if(this.isHighlighted(t))return e={node:t,background:this.colorString().background,foreground:this.colorString().foreground},e;if("svg"===t.tagName||"MJX-CONTAINER"===t.tagName)return e={node:t,background:t.style.backgroundColor,foreground:t.style.color},t.style.backgroundColor=this.colorString().background,t.style.color=this.colorString().foreground,e;const r=n.createElementNS("http://www.w3.org/2000/svg","rect");r.setAttribute("sre-highlighter-added","true");const o=t.getBBox();r.setAttribute("x",(o.x-40).toString()),r.setAttribute("y",(o.y-40).toString()),r.setAttribute("width",(o.width+80).toString()),r.setAttribute("height",(o.height+80).toString());const a=t.getAttribute("transform");if(a&&r.setAttribute("transform",a),r.setAttribute("fill",this.colorString().background),t.setAttribute(i.AbstractHighlighter.ATTR,"true"),t.parentNode.insertBefore(r,t),e={node:t,foreground:t.getAttribute("fill")},"rect"===t.nodeName){const e=new s.ColorPicker({alpha:0,color:"black"});t.setAttribute("fill",e.rgba().foreground)}else t.setAttribute("fill",this.colorString().foreground);return e}unhighlightNode(t){const e=t.node.previousSibling;if(e&&e.hasAttribute("sre-highlighter-added"))return t.foreground?t.node.setAttribute("fill",t.foreground):t.node.removeAttribute("fill"),void t.node.parentNode.removeChild(e);t.node.style.backgroundColor=t.background,t.node.style.color=t.foreground}isMactionNode(t){return t.getAttribute("data-mml-node")===this.mactionName}getMactionNodes(t){return Array.from(o.evalXPath(`.//*[@data-mml-node="${this.mactionName}"]`,t))}}e.SvgV3Highlighter=l},7222:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.StaticTrieNode=e.AbstractTrieNode=void 0;const n=r(2057),o=r(4391);class i{constructor(t,e){this.constraint=t,this.test=e,this.children_={},this.kind=o.TrieNodeKind.ROOT}getConstraint(){return this.constraint}getKind(){return this.kind}applyTest(t){return this.test(t)}addChild(t){const e=t.getConstraint(),r=this.children_[e];return this.children_[e]=t,r}getChild(t){return this.children_[t]}getChildren(){const t=[];for(const e in this.children_)t.push(this.children_[e]);return t}findChildren(t){const e=[];for(const r in this.children_){const n=this.children_[r];n.applyTest(t)&&e.push(n)}return e}removeChild(t){delete this.children_[t]}toString(){return this.constraint}}e.AbstractTrieNode=i;e.StaticTrieNode=class extends i{constructor(t,e){super(t,e),this.rule_=null,this.kind=o.TrieNodeKind.STATIC}getRule(){return this.rule_}setRule(t){this.rule_&&n.Debugger.getInstance().output("Replacing rule "+this.rule_+" with "+t),this.rule_=t}toString(){return this.getRule()?this.constraint+"\n==> "+this.getRule().action:this.constraint}}},4508:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Trie=void 0;const n=r(4391),o=r(9701);class i{constructor(){this.root=(0,o.getNode)(n.TrieNodeKind.ROOT,"",null)}static collectRules_(t){const e=[];let r=[t];for(;r.length;){const t=r.shift();if(t.getKind()===n.TrieNodeKind.QUERY||t.getKind()===n.TrieNodeKind.BOOLEAN){const r=t.getRule();r&&e.unshift(r)}r=r.concat(t.getChildren())}return e}static printWithDepth_(t,e,r){r+=new Array(e+2).join(e.toString())+": "+t.toString()+"\n";const n=t.getChildren();for(let t,o=0;t=n[o];o++)r=i.printWithDepth_(t,e+1,r);return r}static order_(t){const e=t.getChildren();if(!e.length)return 0;const r=Math.max.apply(null,e.map(i.order_));return Math.max(e.length,r)}addRule(t){let e=this.root;const r=t.context,o=t.dynamicCstr.getValues();for(let t=0,i=o.length;t{e.getKind()===n.TrieNodeKind.DYNAMIC&&-1===t.indexOf(e.getConstraint())||o.push(e)}))}r=o.slice()}for(;r.length;){const e=r.shift();if(e.getRule){const t=e.getRule();t&&o.push(t)}const n=e.findChildren(t);r=r.concat(n)}return o}hasSubtrie(t){let e=this.root;for(let r=0,n=t.length;r!0)),this.kind=c.TrieNodeKind.ROOT}}e.RootTrieNode=u;class p extends a.AbstractTrieNode{constructor(t){super(t,(e=>e===t)),this.kind=c.TrieNodeKind.DYNAMIC}}e.DynamicTrieNode=p;const h={"=":(t,e)=>t===e,"!=":(t,e)=>t!==e,"<":(t,e)=>t":(t,e)=>t>e,"<=":(t,e)=>t<=e,">=":(t,e)=>t>=e};function f(t){if(t.match(/^self::\*$/))return t=>!0;if(t.match(/^self::\w+$/)){const e=t.slice(6).toUpperCase();return t=>t.tagName&&n.tagName(t)===e}if(t.match(/^self::\w+:\w+$/)){const e=t.split(":"),r=o.resolveNameSpace(e[2]);if(!r)return null;const n=e[3].toUpperCase();return t=>t.localName&&t.localName.toUpperCase()===n&&t.namespaceURI===r}if(t.match(/^@\w+$/)){const e=t.slice(1);return t=>t.hasAttribute&&t.hasAttribute(e)}if(t.match(/^@\w+="[\w\d ]+"$/)){const e=t.split("="),r=e[0].slice(1),n=e[1].slice(1,-1);return t=>t.hasAttribute&&t.hasAttribute(r)&&t.getAttribute(r)===n}if(t.match(/^@\w+!="[\w\d ]+"$/)){const e=t.split("!="),r=e[0].slice(1),n=e[1].slice(1,-1);return t=>!t.hasAttribute||!t.hasAttribute(r)||t.getAttribute(r)!==n}if(t.match(/^contains\(\s*@grammar\s*,\s*"[\w\d ]+"\s*\)$/)){const e=t.split('"')[1];return t=>!!i.Grammar.getInstance().getParameter(e)}if(t.match(/^not\(\s*contains\(\s*@grammar\s*,\s*"[\w\d ]+"\s*\)\s*\)$/)){const e=t.split('"')[1];return t=>!i.Grammar.getInstance().getParameter(e)}if(t.match(/^name\(\.\.\/\.\.\)="\w+"$/)){const e=t.split('"')[1].toUpperCase();return t=>{var r,o;return(null===(o=null===(r=t.parentNode)||void 0===r?void 0:r.parentNode)||void 0===o?void 0:o.tagName)&&n.tagName(t.parentNode.parentNode)===e}}if(t.match(/^count\(preceding-sibling::\*\)=\d+$/)){const e=t.split("="),r=parseInt(e[1],10);return t=>{var e;return(null===(e=t.parentNode)||void 0===e?void 0:e.childNodes[r])===t}}if(t.match(/^.+\[@category!?=".+"\]$/)){let[,e,r,n]=t.match(/^(.+)\[@category(!?=)"(.+)"\]$/);const i=n.match(/^unit:(.+)$/);let a="";return i&&(n=i[1],a=":unit"),t=>{const i=o.evalXPath(e,t)[0];if(i){const t=s.lookupCategory(i.textContent+a);return"="===r?t===n:t!==n}return!1}}if(t.match(/^string-length\(.+\)\W+\d+/)){const[,e,r,n]=t.match(/^string-length\((.+)\)(\W+)(\d+)/),i=h[r]||h["="],s=parseInt(n,10);return t=>{const r=o.evalXPath(e,t)[0];return!!r&&i(Array.from(r.textContent).length,s)}}return null}e.constraintTest_=f;class d extends l.StaticTrieNode{constructor(t,e){super(t,f(t)),this.context=e,this.kind=c.TrieNodeKind.QUERY}applyTest(t){return this.test?this.test(t):this.context.applyQuery(t,this.constraint)===t}}e.QueryTrieNode=d;class m extends l.StaticTrieNode{constructor(t,e){super(t,f(t)),this.context=e,this.kind=c.TrieNodeKind.BOOLEAN}applyTest(t){return this.test?this.test(t):this.context.applyConstraint(t,this.constraint)}}e.BooleanTrieNode=m},7491:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.completeLocale=e.getLocale=e.setLocale=e.locales=void 0;const n=r(5897),o=r(1377),i=r(2105),s=r(4249),a=r(8657),l=r(173),c=r(9393),u=r(7978),p=r(5540),h=r(5218),f=r(3887),d=r(8384),m=r(7206),y=r(7734),g=r(7264),b=r(4356);function v(){const t=o.Variables.ensureLocale(n.default.getInstance().locale,n.default.getInstance().defaultLocale);return n.default.getInstance().locale=t,e.locales[t]()}e.locales={ca:s.ca,da:a.da,de:l.de,en:c.en,es:u.es,fr:p.fr,hi:h.hi,it:f.it,nb:d.nb,nn:y.nn,sv:g.sv,nemeth:m.nemeth},e.setLocale=function(){const t=v();if(function(t){const e=n.default.getInstance().subiso;-1===t.SUBISO.all.indexOf(e)&&(n.default.getInstance().subiso=t.SUBISO.default);t.SUBISO.current=n.default.getInstance().subiso}(t),t){for(const e of Object.getOwnPropertyNames(t))b.LOCALE[e]=t[e];for(const[e,r]of Object.entries(t.CORRECTIONS))i.Grammar.getInstance().setCorrection(e,r)}},e.getLocale=v,e.completeLocale=function(t){const r=e.locales[t.locale];if(!r)return void console.error("Locale "+t.locale+" does not exist!");const n=t.kind.toUpperCase(),o=t.messages;if(!o)return;const i=r();for(const[t,e]of Object.entries(o))i[n][t]=e}},4356:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.createLocale=e.LOCALE=void 0;const n=r(7549);function o(){return{FUNCTIONS:(0,n.FUNCTIONS)(),MESSAGES:(0,n.MESSAGES)(),ALPHABETS:(0,n.ALPHABETS)(),NUMBERS:(0,n.NUMBERS)(),COMBINERS:{},CORRECTIONS:{},SUBISO:(0,n.SUBISO)()}}e.LOCALE=o(),e.createLocale=o},2536:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.localeFontCombiner=e.extractString=e.localEnclose=e.localRole=e.localFont=e.combinePostfixIndex=e.nestingToString=void 0;const n=r(4356),o=r(4977);function i(t,e){return void 0===t?e:"string"==typeof t?t:t[0]}e.nestingToString=function(t){switch(t){case 1:return n.LOCALE.MESSAGES.MS.ONCE||"";case 2:return n.LOCALE.MESSAGES.MS.TWICE;default:return t.toString()}},e.combinePostfixIndex=function(t,e){return t===n.LOCALE.MESSAGES.MS.ROOTINDEX||t===n.LOCALE.MESSAGES.MS.INDEX?t:t+" "+e},e.localFont=function(t){return i(n.LOCALE.MESSAGES.font[t],t)},e.localRole=function(t){return i(n.LOCALE.MESSAGES.role[t],t)},e.localEnclose=function(t){return i(n.LOCALE.MESSAGES.enclose[t],t)},e.extractString=i,e.localeFontCombiner=function(t){return"string"==typeof t?{font:t,combiner:n.LOCALE.ALPHABETS.combiner}:{font:t[0],combiner:n.LOCALE.COMBINERS[t[1]]||o.Combiners[t[1]]||n.LOCALE.ALPHABETS.combiner}}},4249:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.ca=void 0;const n=r(4356),o=r(2536),i=r(614),s=r(4977),a=function(t,e,r){return t="sans serif "+(r?r+" "+t:t),e?t+" "+e:t};let l=null;e.ca=function(){return l||(l=function(){const t=(0,n.createLocale)();return t.NUMBERS=i.default,t.COMBINERS.sansserif=a,t.FUNCTIONS.fracNestDepth=t=>!1,t.FUNCTIONS.combineRootIndex=o.combinePostfixIndex,t.FUNCTIONS.combineNestedRadical=(t,e,r)=>t+r,t.FUNCTIONS.fontRegexp=t=>RegExp("^"+t+" "),t.FUNCTIONS.plural=t=>/.*os$/.test(t)?t+"sos":/.*s$/.test(t)?t+"os":/.*ga$/.test(t)?t.slice(0,-2)+"gues":/.*\xe7a$/.test(t)?t.slice(0,-2)+"ces":/.*ca$/.test(t)?t.slice(0,-2)+"ques":/.*ja$/.test(t)?t.slice(0,-2)+"ges":/.*qua$/.test(t)?t.slice(0,-3)+"q\xfces":/.*a$/.test(t)?t.slice(0,-1)+"es":/.*(e|i)$/.test(t)?t+"ns":/.*\xed$/.test(t)?t.slice(0,-1)+"ins":t+"s",t.FUNCTIONS.si=(t,e)=>(e.match(/^metre/)&&(t=t.replace(/a$/,"\xe0").replace(/o$/,"\xf2").replace(/i$/,"\xed")),t+e),t.ALPHABETS.combiner=s.Combiners.prefixCombiner,t}()),l}},8657:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.da=void 0;const n=r(4356),o=r(2536),i=r(3866),s=r(4977);let a=null;e.da=function(){return a||(a=function(){const t=(0,n.createLocale)();return t.NUMBERS=i.default,t.FUNCTIONS.radicalNestDepth=o.nestingToString,t.FUNCTIONS.fontRegexp=e=>e===t.ALPHABETS.capPrefix.default?RegExp("^"+e+" "):RegExp(" "+e+"$"),t.ALPHABETS.combiner=s.Combiners.postfixCombiner,t.ALPHABETS.digitTrans.default=i.default.numberToWords,t}()),a}},173:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.de=void 0;const n=r(2105),o=r(2536),i=r(4356),s=r(1435),a=function(t,e,r){return"s"===r&&(e=e.split(" ").map((function(t){return t.replace(/s$/,"")})).join(" "),r=""),t=r?r+" "+t:t,e?e+" "+t:t},l=function(t,e,r){return t=r&&"s"!==r?r+" "+t:t,e?t+" "+e:t};let c=null;e.de=function(){return c||(c=function(){const t=(0,i.createLocale)();return t.NUMBERS=s.default,t.COMBINERS.germanPostfix=l,t.ALPHABETS.combiner=a,t.FUNCTIONS.radicalNestDepth=e=>e>1?t.NUMBERS.numberToWords(e)+"fach":"",t.FUNCTIONS.combineRootIndex=(t,e)=>{const r=e?e+"wurzel":"";return t.replace("Wurzel",r)},t.FUNCTIONS.combineNestedRadical=(t,e,r)=>{const n=(e?e+" ":"")+(t=r.match(/exponent$/)?t+"r":t);return r.match(/ /)?r.replace(/ /," "+n+" "):n+" "+r},t.FUNCTIONS.fontRegexp=function(t){return t=t.split(" ").map((function(t){return t.replace(/s$/,"(|s)")})).join(" "),new RegExp("((^"+t+" )|( "+t+"$))")},t.CORRECTIONS.correctOne=t=>t.replace(/^eins$/,"ein"),t.CORRECTIONS.localFontNumber=t=>(0,o.localFont)(t).split(" ").map((function(t){return t.replace(/s$/,"")})).join(" "),t.CORRECTIONS.lowercase=t=>t.toLowerCase(),t.CORRECTIONS.article=t=>{const e=n.Grammar.getInstance().getParameter("case"),r=n.Grammar.getInstance().getParameter("plural");return"dative"===e?{der:"dem",die:r?"den":"der",das:"dem"}[t]:t},t.CORRECTIONS.masculine=t=>"dative"===n.Grammar.getInstance().getParameter("case")?t+"n":t,t}()),c}},9393:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.en=void 0;const n=r(2105),o=r(4356),i=r(2536),s=r(310),a=r(4977);let l=null;e.en=function(){return l||(l=function(){const t=(0,o.createLocale)();return t.NUMBERS=s.default,t.FUNCTIONS.radicalNestDepth=i.nestingToString,t.FUNCTIONS.plural=t=>/.*s$/.test(t)?t:t+"s",t.ALPHABETS.combiner=a.Combiners.prefixCombiner,t.ALPHABETS.digitTrans.default=s.default.numberToWords,t.CORRECTIONS.article=t=>n.Grammar.getInstance().getParameter("noArticle")?"":t,t}()),l}},7978:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.es=void 0;const n=r(4356),o=r(2536),i=r(4634),s=r(4977),a=function(t,e,r){return t="sans serif "+(r?r+" "+t:t),e?t+" "+e:t};let l=null;e.es=function(){return l||(l=function(){const t=(0,n.createLocale)();return t.NUMBERS=i.default,t.COMBINERS.sansserif=a,t.FUNCTIONS.fracNestDepth=t=>!1,t.FUNCTIONS.combineRootIndex=o.combinePostfixIndex,t.FUNCTIONS.combineNestedRadical=(t,e,r)=>t+r,t.FUNCTIONS.fontRegexp=t=>RegExp("^"+t+" "),t.FUNCTIONS.plural=t=>/.*(a|e|i|o|u)$/.test(t)?t+"s":/.*z$/.test(t)?t.slice(0,-1)+"ces":/.*c$/.test(t)?t.slice(0,-1)+"ques":/.*g$/.test(t)?t+"ues":/.*\u00f3n$/.test(t)?t.slice(0,-2)+"ones":t+"es",t.FUNCTIONS.si=(t,e)=>(e.match(/^metro/)&&(t=t.replace(/a$/,"\xe1").replace(/o$/,"\xf3").replace(/i$/,"\xed")),t+e),t.ALPHABETS.combiner=s.Combiners.prefixCombiner,t}()),l}},5540:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.fr=void 0;const n=r(2105),o=r(4356),i=r(2536),s=r(2350),a=r(4977);let l=null;e.fr=function(){return l||(l=function(){const t=(0,o.createLocale)();return t.NUMBERS=s.default,t.FUNCTIONS.radicalNestDepth=i.nestingToString,t.FUNCTIONS.combineRootIndex=i.combinePostfixIndex,t.FUNCTIONS.combineNestedFraction=(t,e,r)=>r.replace(/ $/g,"")+e+t,t.FUNCTIONS.combineNestedRadical=(t,e,r)=>r+" "+t,t.FUNCTIONS.fontRegexp=t=>RegExp(" (en |)"+t+"$"),t.FUNCTIONS.plural=t=>/.*s$/.test(t)?t:t+"s",t.CORRECTIONS.article=t=>n.Grammar.getInstance().getParameter("noArticle")?"":t,t.ALPHABETS.combiner=a.Combiners.romanceCombiner,t.SUBISO={default:"fr",current:"fr",all:["fr","be","ch"]},t}()),l}},5218:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.hi=void 0;const n=r(4356),o=r(4438),i=r(4977),s=r(2536);let a=null;e.hi=function(){return a||(a=function(){const t=(0,n.createLocale)();return t.NUMBERS=o.default,t.ALPHABETS.combiner=i.Combiners.prefixCombiner,t.FUNCTIONS.radicalNestDepth=s.nestingToString,t}()),a}},3887:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.it=void 0;const n=r(2536),o=r(4356),i=r(8825),s=r(4977),a=function(t,e,r){return t.match(/^[a-zA-Z]$/)&&(e=e.replace("cerchiato","cerchiata")),t=r?t+" "+r:t,e?t+" "+e:t};let l=null;e.it=function(){return l||(l=function(){const t=(0,o.createLocale)();return t.NUMBERS=i.default,t.COMBINERS.italianPostfix=a,t.FUNCTIONS.radicalNestDepth=n.nestingToString,t.FUNCTIONS.combineRootIndex=n.combinePostfixIndex,t.FUNCTIONS.combineNestedFraction=(t,e,r)=>r.replace(/ $/g,"")+e+t,t.FUNCTIONS.combineNestedRadical=(t,e,r)=>r+" "+t,t.FUNCTIONS.fontRegexp=t=>RegExp(" (en |)"+t+"$"),t.ALPHABETS.combiner=s.Combiners.romanceCombiner,t}()),l}},8384:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.nb=void 0;const n=r(4356),o=r(2536),i=r(8274),s=r(4977);let a=null;e.nb=function(){return a||(a=function(){const t=(0,n.createLocale)();return t.NUMBERS=i.default,t.ALPHABETS.combiner=s.Combiners.prefixCombiner,t.ALPHABETS.digitTrans.default=i.default.numberToWords,t.FUNCTIONS.radicalNestDepth=o.nestingToString,t}()),a}},7206:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.nemeth=void 0;const n=r(4356),o=r(3720),i=r(4977),s=function(t){return t.match(RegExp("^"+h.ALPHABETS.languagePrefix.english))?t.slice(1):t},a=function(t,e,r){return t=s(t),e?t+e:t},l=function(t,e,r){return e+s(t)},c=function(t,e,r){return e+(r||"")+(t=s(t))+"\u283b"},u=function(t,e,r){return e+(r||"")+(t=s(t))+"\u283b\u283b"},p=function(t,e,r){return e+(t=s(t))+"\u283e"};let h=null;e.nemeth=function(){return h||(h=function(){const t=(0,n.createLocale)();return t.NUMBERS=o.default,t.COMBINERS={postfixCombiner:a,germanCombiner:l,embellishCombiner:c,doubleEmbellishCombiner:u,parensCombiner:p},t.FUNCTIONS.fracNestDepth=t=>!1,t.FUNCTIONS.fontRegexp=t=>RegExp("^"+t),t.FUNCTIONS.si=i.identityTransformer,t.ALPHABETS.combiner=(t,e,r)=>e?e+r+t:s(t),t.ALPHABETS.digitTrans={default:o.default.numberToWords},t}()),h}},7734:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.nn=void 0;const n=r(4356),o=r(2536),i=r(8274),s=r(4977);let a=null;e.nn=function(){return a||(a=function(){const t=(0,n.createLocale)();return t.NUMBERS=i.default,t.ALPHABETS.combiner=s.Combiners.prefixCombiner,t.ALPHABETS.digitTrans.default=i.default.numberToWords,t.FUNCTIONS.radicalNestDepth=o.nestingToString,t.SUBISO={default:"",current:"",all:["","alt"]},t}()),a}},7264:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.sv=void 0;const n=r(4356),o=r(2536),i=r(3898),s=r(4977);let a=null;e.sv=function(){return a||(a=function(){const t=(0,n.createLocale)();return t.NUMBERS=i.default,t.FUNCTIONS.radicalNestDepth=o.nestingToString,t.FUNCTIONS.fontRegexp=function(t){return new RegExp("((^"+t+" )|( "+t+"$))")},t.ALPHABETS.combiner=s.Combiners.prefixCombiner,t.ALPHABETS.digitTrans.default=i.default.numberToWords,t.CORRECTIONS.correctOne=t=>t.replace(/^ett$/,"en"),t}()),a}},7549:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.SUBISO=e.FUNCTIONS=e.ALPHABETS=e.NUMBERS=e.MESSAGES=void 0;const n=r(4977);e.MESSAGES=function(){return{MS:{},MSroots:{},font:{},embellish:{},role:{},enclose:{},navigate:{},regexp:{},unitTimes:""}},e.NUMBERS=function(){return{zero:"zero",ones:[],tens:[],large:[],special:{},wordOrdinal:n.identityTransformer,numericOrdinal:n.identityTransformer,numberToWords:n.identityTransformer,numberToOrdinal:n.pluralCase,vulgarSep:" ",numSep:" "}},e.ALPHABETS=function(){return{latinSmall:[],latinCap:[],greekSmall:[],greekCap:[],capPrefix:{default:""},smallPrefix:{default:""},digitPrefix:{default:""},languagePrefix:{},digitTrans:{default:n.identityTransformer,mathspeak:n.identityTransformer,clearspeak:n.identityTransformer},letterTrans:{default:n.identityTransformer},combiner:(t,e,r)=>t}},e.FUNCTIONS=function(){return{fracNestDepth:t=>n.vulgarFractionSmall(t,10,100),radicalNestDepth:t=>"",combineRootIndex:function(t,e){return t},combineNestedFraction:n.Combiners.identityCombiner,combineNestedRadical:n.Combiners.identityCombiner,fontRegexp:function(t){return new RegExp("^"+t.split(/ |-/).join("( |-)")+"( |-)")},si:n.siCombiner,plural:n.identityTransformer}},e.SUBISO=function(){return{default:"",current:"",all:[]}}},614:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});const n=r(2105);function o(t){const e=t%1e3,r=Math.floor(e/100),n=r?1===r?"cent":a.ones[r]+"-cents":"",o=function(t){const e=t%100;if(e<20)return a.ones[e];const r=Math.floor(e/10),n=a.tens[r],o=a.ones[e%10];return n&&o?n+(2===r?"-i-":"-")+o:n||o}(e%100);return n&&o?n+a.numSep+o:n||o}function i(t){if(0===t)return a.zero;if(t>=Math.pow(10,36))return t.toString();let e=0,r="";for(;t>0;){const n=t%(e>1?1e6:1e3);if(n){let t=a.large[e];if(e)if(1===e)r=(1===n?"":o(n)+a.numSep)+t+(r?a.numSep+r:"");else{const e=i(n);t=1===n?t:t.replace(/\u00f3$/,"ons"),r=e+a.numSep+t+(r?a.numSep+r:"")}else r=o(n)}t=Math.floor(t/(e>1?1e6:1e3)),e++}return r}function s(t){const e=n.Grammar.getInstance().getParameter("gender");return t.toString()+("f"===e?"a":"n")}const a=(0,r(7549).NUMBERS)();a.numericOrdinal=s,a.numberToWords=i,a.numberToOrdinal=function(t,e){if(t>1999)return s(t);if(t<=10)return a.special.onesOrdinals[t-1];const r=i(t);return r.match(/mil$/)?r.replace(/mil$/,"mil\xb7l\xe8sima"):r.match(/u$/)?r.replace(/u$/,"vena"):r.match(/a$/)?r.replace(/a$/,"ena"):r+(r.match(/e$/)?"na":"ena")},e.default=a},3866:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});function n(t,e=!1){return t===a.ones[1]?e?"et":"en":t}function o(t,e=!1){let r=t%1e3,o="",i=a.ones[Math.floor(r/100)];if(o+=i?n(i,!0)+" hundrede":"",r%=100,r)if(o+=o?" og ":"",i=e?a.special.smallOrdinals[r]:a.ones[r],i)o+=i;else{const t=e?a.special.tensOrdinals[Math.floor(r/10)]:a.tens[Math.floor(r/10)];i=a.ones[r%10],o+=i?n(i)+"og"+t:t}return o}function i(t,e=!1){if(0===t)return a.zero;if(t>=Math.pow(10,36))return t.toString();let r=0,i="";for(;t>0;){const s=t%1e3;if(s){const t=o(s,e&&!r);if(r){const e=a.large[r],o=s>1?"er":"";i=n(t,r<=1)+" "+e+o+(i?" og ":"")+i}else i=n(t)+i}t=Math.floor(t/1e3),r++}return i}function s(t){if(t%100)return i(t,!0);const e=i(t);return e.match(/e$/)?e:e+"e"}const a=(0,r(7549).NUMBERS)();a.wordOrdinal=s,a.numericOrdinal=function(t){return t.toString()+"."},a.numberToWords=i,a.numberToOrdinal=function(t,e){return 1===t?e?"hel":"hele":2===t?e?"halv":"halve":s(t)+(e?"dele":"del")},e.default=a},1435:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});function n(t,e=!1){return t===a.ones[1]?e?"eine":"ein":t}function o(t){let e=t%1e3,r="",o=a.ones[Math.floor(e/100)];if(r+=o?n(o)+"hundert":"",e%=100,e)if(r+=r?a.numSep:"",o=a.ones[e],o)r+=o;else{const t=a.tens[Math.floor(e/10)];o=a.ones[e%10],r+=o?n(o)+"und"+t:t}return r}function i(t){if(0===t)return a.zero;if(t>=Math.pow(10,36))return t.toString();let e=0,r="";for(;t>0;){const i=t%1e3;if(i){const s=o(t%1e3);if(e){const t=a.large[e],o=e>1&&i>1?t.match(/e$/)?"n":"en":"";r=n(s,e>1)+t+o+r}else r=n(s,e>1)+r}t=Math.floor(t/1e3),e++}return r.replace(/ein$/,"eins")}function s(t){if(1===t)return"erste";if(3===t)return"dritte";if(7===t)return"siebte";if(8===t)return"achte";return i(t)+(t<19?"te":"ste")}const a=(0,r(7549).NUMBERS)();a.wordOrdinal=s,a.numericOrdinal=function(t){return t.toString()+"."},a.numberToWords=i,a.numberToOrdinal=function(t,e){return 1===t?"eintel":2===t?e?"halbe":"halb":s(t)+"l"},e.default=a},310:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});function n(t){let e=t%1e3,r="";return r+=s.ones[Math.floor(e/100)]?s.ones[Math.floor(e/100)]+s.numSep+"hundred":"",e%=100,e&&(r+=r?s.numSep:"",r+=s.ones[e]||s.tens[Math.floor(e/10)]+(e%10?s.numSep+s.ones[e%10]:"")),r}function o(t){if(0===t)return s.zero;if(t>=Math.pow(10,36))return t.toString();let e=0,r="";for(;t>0;){t%1e3&&(r=n(t%1e3)+(e?"-"+s.large[e]+"-":"")+r),t=Math.floor(t/1e3),e++}return r.replace(/-$/,"")}function i(t){let e=o(t);return e.match(/one$/)?e=e.slice(0,-3)+"first":e.match(/two$/)?e=e.slice(0,-3)+"second":e.match(/three$/)?e=e.slice(0,-5)+"third":e.match(/five$/)?e=e.slice(0,-4)+"fifth":e.match(/eight$/)?e=e.slice(0,-5)+"eighth":e.match(/nine$/)?e=e.slice(0,-4)+"ninth":e.match(/twelve$/)?e=e.slice(0,-6)+"twelfth":e.match(/ty$/)?e=e.slice(0,-2)+"tieth":e+="th",e}const s=(0,r(7549).NUMBERS)();s.wordOrdinal=i,s.numericOrdinal=function(t){const e=t%100,r=t.toString();if(e>10&&e<20)return r+"th";switch(t%10){case 1:return r+"st";case 2:return r+"nd";case 3:return r+"rd";default:return r+"th"}},s.numberToWords=o,s.numberToOrdinal=function(t,e){if(1===t)return e?"oneths":"oneth";if(2===t)return e?"halves":"half";const r=i(t);return e?r+"s":r},e.default=s},4634:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});const n=r(2105);function o(t){const e=t%1e3,r=Math.floor(e/100),n=i.special.hundreds[r],o=function(t){const e=t%100;if(e<30)return i.ones[e];const r=i.tens[Math.floor(e/10)],n=i.ones[e%10];return r&&n?r+" y "+n:r||n}(e%100);return 1===r?o?n+"to "+o:n:n&&o?n+" "+o:n||o}const i=(0,r(7549).NUMBERS)();i.numericOrdinal=function(t){const e=n.Grammar.getInstance().getParameter("gender");return t.toString()+("f"===e?"a":"o")},i.numberToWords=function(t){if(0===t)return i.zero;if(t>=Math.pow(10,36))return t.toString();let e=0,r="";for(;t>0;){const n=t%1e3;if(n){let t=i.large[e];const s=o(n);e?1===n?(t=t.match("/^mil( |$)/")?t:"un "+t,r=t+(r?" "+r:"")):(t=t.replace(/\u00f3n$/,"ones"),r=o(n)+" "+t+(r?" "+r:"")):r=s}t=Math.floor(t/1e3),e++}return r},i.numberToOrdinal=function(t,e){if(t>1999)return t.toString()+"a";if(t<=12)return i.special.onesOrdinals[t-1];const r=[];if(t>=1e3&&(t-=1e3,r.push("mil\xe9sima")),!t)return r.join(" ");let n=0;return n=Math.floor(t/100),n>0&&(r.push(i.special.hundredsOrdinals[n-1]),t%=100),t<=12?r.push(i.special.onesOrdinals[t-1]):(n=Math.floor(t/10),n>0&&(r.push(i.special.tensOrdinals[n-1]),t%=10),t>0&&r.push(i.special.onesOrdinals[t-1])),r.join(" ")},e.default=i},2350:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});const n=r(5897),o=r(2105),i=r(7549);function s(t){let e=t%1e3,r="";if(r+=u.ones[Math.floor(e/100)]?u.ones[Math.floor(e/100)]+"-cent":"",e%=100,e){r+=r?"-":"";let t=u.ones[e];if(t)r+=t;else{const n=u.tens[Math.floor(e/10)];n.match(/-dix$/)?(t=u.ones[e%10+10],r+=n.replace(/-dix$/,"")+"-"+t):r+=n+(e%10?"-"+u.ones[e%10]:"")}}const n=r.match(/s-\w+$/);return n?r.replace(/s-\w+$/,n[0].slice(1)):r.replace(/-un$/,"-et-un")}function a(t){if(0===t)return u.zero;if(t>=Math.pow(10,36))return t.toString();u.special["tens-"+n.default.getInstance().subiso]&&(u.tens=u.special["tens-"+n.default.getInstance().subiso]);let e=0,r="";for(;t>0;){const n=t%1e3;if(n){let t=u.large[e];const o=s(n);if(t&&t.match(/^mille /)){const n=t.replace(/^mille /,"");r=r.match(RegExp(n))?o+(e?"-mille-":"")+r:r.match(RegExp(n.replace(/s$/,"")))?o+(e?"-mille-":"")+r.replace(n.replace(/s$/,""),n):o+(e?"-"+t+"-":"")+r}else t=1===n&&t?t.replace(/s$/,""):t,r=o+(e?"-"+t+"-":"")+r}t=Math.floor(t/1e3),e++}return r.replace(/-$/,"")}const l={1:"uni\xe8me",2:"demi",3:"tiers",4:"quart"};function c(t){if(1===t)return"premi\xe8re";let e=a(t);return e.match(/^neuf$/)?e=e.slice(0,-1)+"v":e.match(/cinq$/)?e+="u":e.match(/trois$/)?e+="":(e.match(/e$/)||e.match(/s$/))&&(e=e.slice(0,-1)),e+="i\xe8me",e}const u=(0,i.NUMBERS)();u.wordOrdinal=c,u.numericOrdinal=function(t){const e=o.Grammar.getInstance().getParameter("gender");return 1===t?t.toString()+("m"===e?"er":"re"):t.toString()+"e"},u.numberToWords=a,u.numberToOrdinal=function(t,e){const r=l[t]||c(t);return 3===t?r:e?r+"s":r},e.default=u},4438:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});const n=r(2105);function o(t){if(0===t)return s.zero;if(t>=Math.pow(10,32))return t.toString();let e=0,r="";const n=function(t){let e=t%1e3,r="";return r+=s.ones[Math.floor(e/100)]?s.ones[Math.floor(e/100)]+s.numSep+s.special.hundred:"",e%=100,e&&(r+=r?s.numSep:"",r+=s.ones[e]),r}(t%1e3);if(!(t=Math.floor(t/1e3)))return n;for(;t>0;){const n=t%100;n&&(r=s.ones[n]+s.numSep+s.large[e]+(r?s.numSep+r:"")),t=Math.floor(t/100),e++}return n?r+s.numSep+n:r}function i(t){const e=n.Grammar.getInstance().getParameter("gender");if(t<=0)return t.toString();if(t<10)return"f"===e?s.special.ordinalsFeminine[t]:s.special.ordinalsMasculine[t];return o(t)+("f"===e?"\u0935\u0940\u0902":"\u0935\u093e\u0901")}const s=(0,r(7549).NUMBERS)();s.wordOrdinal=i,s.numericOrdinal=function(t){const e=n.Grammar.getInstance().getParameter("gender");return t>0&&t<10?"f"===e?s.special.simpleSmallOrdinalsFeminine[t]:s.special.simpleSmallOrdinalsMasculine[t]:t.toString().split("").map((function(t){const e=parseInt(t,10);return isNaN(e)?"":s.special.simpleNumbers[e]})).join("")+("f"===e?"\u0935\u0940\u0902":"\u0935\u093e\u0901")},s.numberToWords=o,s.numberToOrdinal=function(t,e){return t<=10?s.special.smallDenominators[t]:i(t)+" \u0905\u0902\u0936"},e.default=s},8825:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});const n=r(2105);function o(t){let e=t%1e3,r="";if(r+=a.ones[Math.floor(e/100)]?a.ones[Math.floor(e/100)]+a.numSep+"cento":"",e%=100,e){r+=r?a.numSep:"";const t=a.ones[e];if(t)r+=t;else{let t=a.tens[Math.floor(e/10)];const n=e%10;1!==n&&8!==n||(t=t.slice(0,-1)),r+=t,r+=n?a.numSep+a.ones[e%10]:""}}return r}function i(t){if(0===t)return a.zero;if(t>=Math.pow(10,36))return t.toString();if(1===t&&n.Grammar.getInstance().getParameter("fraction"))return"un";let e=0,r="";for(;t>0;){t%1e3&&(r=o(t%1e3)+(e?"-"+a.large[e]+"-":"")+r),t=Math.floor(t/1e3),e++}return r.replace(/-$/,"")}function s(t){const e="m"===n.Grammar.getInstance().getParameter("gender")?"o":"a";let r=a.special.onesOrdinals[t];return r?r.slice(0,-1)+e:(r=i(t),r.slice(0,-1)+"esim"+e)}const a=(0,r(7549).NUMBERS)();a.wordOrdinal=s,a.numericOrdinal=function(t){const e=n.Grammar.getInstance().getParameter("gender");return t.toString()+("m"===e?"o":"a")},a.numberToWords=i,a.numberToOrdinal=function(t,e){if(2===t)return e?"mezzi":"mezzo";const r=s(t);if(!e)return r;const n=r.match(/o$/)?"i":"e";return r.slice(0,-1)+n},e.default=a},3720:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});function n(t){return t.toString().split("").map((function(t){return o.ones[parseInt(t,10)]})).join("")}const o=(0,r(7549).NUMBERS)();o.numberToWords=n,o.numberToOrdinal=n,e.default=o},8274:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});const n=r(5897);function o(t,e=!1){let r=t%1e3,n="";const o=Math.floor(r/100),s=a.ones[o];if(n+=s?(1===o?"":s)+"hundre":"",r%=100,r){if(n+=n?"og":"",e){const t=a.special.smallOrdinals[r];if(t)return n+t;if(r%10)return n+a.tens[Math.floor(r/10)]+a.special.smallOrdinals[r%10]}n+=a.ones[r]||a.tens[Math.floor(r/10)]+(r%10?a.ones[r%10]:"")}return e?i(n):n}function i(t){const e=a.special.endOrdinal[0];return"a"===e&&t.match(/en$/)?t.slice(0,-2)+a.special.endOrdinal:t.match(/(d|n)$/)||t.match(/hundre$/)?t+"de":t.match(/i$/)?t+a.special.endOrdinal:"a"===e&&t.match(/e$/)?t.slice(0,-1)+a.special.endOrdinal:(t.match(/e$/),t+"nde")}function s(t){return u(t,!0)}const a=(0,r(7549).NUMBERS)();function l(t,e=!1){return t===a.ones[1]?"ein"===t?"eitt ":e?"et":"ett":t}function c(t,e=!1){let r=t%1e3,n="",o=a.ones[Math.floor(r/100)];if(n+=o?l(o)+"hundre":"",r%=100,r){if(n+=n?"og":"",e){const t=a.special.smallOrdinals[r];if(t)return n+t}if(o=a.ones[r],o)n+=o;else{const t=a.tens[Math.floor(r/10)];o=a.ones[r%10],n+=o?o+"og"+t:t}}return e?i(n):n}function u(t,e=!1){const r="alt"===n.default.getInstance().subiso?function(t,e=!1){if(0===t)return e?a.special.smallOrdinals[0]:a.zero;if(t>=Math.pow(10,36))return t.toString();let r=0,n="";for(;t>0;){const o=t%1e3;if(o){const i=c(t%1e3,!r&&e);!r&&e&&(e=!e),n=(1===r?l(i,!0):i)+(r>1?a.numSep:"")+(r?a.large[r]+(r>1&&o>1?"er":""):"")+(r>1&&n?a.numSep:"")+n}t=Math.floor(t/1e3),r++}return e?n+(n.match(/tusen$/)?"de":"te"):n}(t,e):function(t,e=!1){if(0===t)return e?a.special.smallOrdinals[0]:a.zero;if(t>=Math.pow(10,36))return t.toString();let r=0,n="";for(;t>0;){const i=t%1e3;if(i){const s=o(t%1e3,!r&&e);!r&&e&&(e=!e),n=s+(r?" "+a.large[r]+(r>1&&i>1?"er":"")+(n?" ":""):"")+n}t=Math.floor(t/1e3),r++}return e?n+(n.match(/tusen$/)?"de":"te"):n}(t,e);return r}a.wordOrdinal=s,a.numericOrdinal=function(t){return t.toString()+"."},a.numberToWords=u,a.numberToOrdinal=function(t,e){return s(t)},e.default=a},3898:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});function n(t){let e=t%1e3,r="";const n=Math.floor(e/100);return r+=s.ones[n]?(1===n?"":s.ones[n]+s.numSep)+"hundra":"",e%=100,e&&(r+=r?s.numSep:"",r+=s.ones[e]||s.tens[Math.floor(e/10)]+(e%10?s.numSep+s.ones[e%10]:"")),r}function o(t,e=!1){if(0===t)return s.zero;if(t>=Math.pow(10,36))return t.toString();let r=0,o="";for(;t>0;){const i=t%1e3;if(i){const a=s.large[r],l=i>1&&r>1&&!e?"er":"";o=(1===r&&1===i?"":(r>1&&1===i?"en":n(t%1e3))+(r>1?" ":""))+(r?a+l+(r>1?" ":""):"")+o}t=Math.floor(t/1e3),r++}return o.replace(/ $/,"")}function i(t){let e=o(t,!0);return e.match(/^noll$/)?e="nollte":e.match(/ett$/)?e=e.replace(/ett$/,"f\xf6rsta"):e.match(/tv\xe5$/)?e=e.replace(/tv\xe5$/,"andra"):e.match(/tre$/)?e=e.replace(/tre$/,"tredje"):e.match(/fyra$/)?e=e.replace(/fyra$/,"fj\xe4rde"):e.match(/fem$/)?e=e.replace(/fem$/,"femte"):e.match(/sex$/)?e=e.replace(/sex$/,"sj\xe4tte"):e.match(/sju$/)?e=e.replace(/sju$/,"sjunde"):e.match(/\xe5tta$/)?e=e.replace(/\xe5tta$/,"\xe5ttonde"):e.match(/nio$/)?e=e.replace(/nio$/,"nionde"):e.match(/tio$/)?e=e.replace(/tio$/,"tionde"):e.match(/elva$/)?e=e.replace(/elva$/,"elfte"):e.match(/tolv$/)?e=e.replace(/tolv$/,"tolfte"):e.match(/tusen$/)?e=e.replace(/tusen$/,"tusonde"):e.match(/jard$/)||e.match(/jon$/)?e+="te":e+="de",e}const s=(0,r(7549).NUMBERS)();s.wordOrdinal=i,s.numericOrdinal=function(t){const e=t.toString();return e.match(/11$|12$/)?e+":e":e+(e.match(/1$|2$/)?":a":":e")},s.numberToWords=o,s.numberToOrdinal=function(t,e){if(1===t)return"hel";if(2===t)return e?"halva":"halv";let r=i(t);return r=r.match(/de$/)?r.replace(/de$/,""):r,r+(e?"delar":"del")},e.default=s},4977:function(t,e){function r(t,e=""){if(!t.childNodes||!t.childNodes[0]||!t.childNodes[0].childNodes||t.childNodes[0].childNodes.length<2||"number"!==t.childNodes[0].childNodes[0].tagName||"integer"!==t.childNodes[0].childNodes[0].getAttribute("role")||"number"!==t.childNodes[0].childNodes[1].tagName||"integer"!==t.childNodes[0].childNodes[1].getAttribute("role"))return{convertible:!1,content:t.textContent};const r=t.childNodes[0].childNodes[1].textContent,n=t.childNodes[0].childNodes[0].textContent,o=Number(r),i=Number(n);return isNaN(o)||isNaN(i)?{convertible:!1,content:`${n} ${e} ${r}`}:{convertible:!0,enumerator:i,denominator:o}}Object.defineProperty(e,"__esModule",{value:!0}),e.vulgarFractionSmall=e.convertVulgarFraction=e.Combiners=e.siCombiner=e.identityTransformer=e.pluralCase=void 0,e.pluralCase=function(t,e){return t.toString()},e.identityTransformer=function(t){return t.toString()},e.siCombiner=function(t,e){return t+e.toLowerCase()},e.Combiners={},e.Combiners.identityCombiner=function(t,e,r){return t+e+r},e.Combiners.prefixCombiner=function(t,e,r){return t=r?r+" "+t:t,e?e+" "+t:t},e.Combiners.postfixCombiner=function(t,e,r){return t=r?r+" "+t:t,e?t+" "+e:t},e.Combiners.romanceCombiner=function(t,e,r){return t=r?t+" "+r:t,e?t+" "+e:t},e.convertVulgarFraction=r,e.vulgarFractionSmall=function(t,e,n){const o=r(t);if(o.convertible){const t=o.enumerator,r=o.denominator;return t>0&&t0&&r{const s=this.parseCstr(e.toString().replace(o,""));this.addRule(new i.SpeechRule(t,s,n,r))}))}getFullPreconditions(t){const e=this.preconditions.get(t);return e||!this.inherits?e:this.inherits.getFullPreconditions(t)}definePrecondition(t,e,r,...n){const o=this.parsePrecondition(r,n),i=this.parseCstr(e);o&&i?(o.rank=this.rank++,this.preconditions.set(t,new l(i,o))):console.error(`Precondition Error: ${r}, (${e})`)}inheritRules(){if(!this.inherits||!this.inherits.getSpeechRules().length)return;const t=new RegExp("^\\w+\\.\\w+\\."+(this.domain?"\\w+\\.":""));this.inherits.getSpeechRules().forEach((e=>{const r=this.parseCstr(e.dynamicCstr.toString().replace(t,""));this.addRule(new i.SpeechRule(e.name,r,e.precondition,e.action))}))}ignoreRules(t,...e){let r=this.findAllRules((e=>e.name===t));if(!e.length)return void r.forEach(this.deleteRule.bind(this));let n=[];for(const t of e){const e=this.parseCstr(t);for(const t of r)e.equal(t.dynamicCstr)?this.deleteRule(t):n.push(t);r=n,n=[]}}parsePrecondition_(t){const e=this.context.customGenerators.lookup(t);return e?e():[t]}}e.BaseRuleStore=a;class l{constructor(t,e){this.base=t,this._conditions=[],this.constraints=[],this.allCstr={},this.constraints.push(t),this.addCondition(t,e)}get conditions(){return this._conditions}addConstraint(t){if(this.constraints.filter((e=>e.equal(t))).length)return;this.constraints.push(t);const e=[];for(const[r,n]of this.conditions)this.base.equal(r)&&e.push([t,n]);this._conditions=this._conditions.concat(e)}addBaseCondition(t){this.addCondition(this.base,t)}addFullCondition(t){this.constraints.forEach((e=>this.addCondition(e,t)))}addCondition(t,e){const r=t.toString()+" "+e.toString();this.allCstr.condStr||(this.allCstr[r]=!0,this._conditions.push([t,e]))}}e.Condition=l},2469:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.BrailleStore=void 0;const n=r(7630),o=r(9935);class i extends o.MathStore{constructor(){super(...arguments),this.modality="braille",this.customTranscriptions={"\u22ca":"\u2808\u2821\u2833"}}evaluateString(t){const e=[],r=Array.from(t);for(let t=0;tt.push(this.getProperty(e).slice()))),t}toString(){const t=[];return this.order.forEach((e=>t.push(e+": "+this.getProperty(e).toString()))),t.join("\n")}}e.DynamicProperties=n;class o extends n{constructor(t,e){const r={};for(const[e,n]of Object.entries(t))r[e]=[n];super(r,e),this.components=t}static createCstr(...t){const e=o.DEFAULT_ORDER,r={};for(let n=0,o=t.length,i=e.length;n{const r=e.indexOf(t);return-1!==r&&e.splice(r,1)}))}getComponents(){return this.components}getValue(t){return this.components[t]}getValues(){return this.order.map((t=>this.getValue(t)))}allProperties(){const t=super.allProperties();for(let e,r,n=0;e=t[n],r=this.order[n];n++){const t=this.getValue(r);-1===e.indexOf(t)&&e.unshift(t)}return t}toString(){return this.getValues().join(".")}equal(t){const e=t.getAxes();if(this.order.length!==e.length)return!1;for(let r,n=0;r=e[n];n++){const e=this.getValue(r);if(!e||t.getValue(r)!==e)return!1}return!0}}e.DynamicCstr=o,o.DEFAULT_ORDER=[r.LOCALE,r.MODALITY,r.DOMAIN,r.STYLE,r.TOPIC],o.BASE_LOCALE="base",o.DEFAULT_VALUE="default",o.DEFAULT_VALUES={[r.LOCALE]:"en",[r.DOMAIN]:o.DEFAULT_VALUE,[r.STYLE]:o.DEFAULT_VALUE,[r.TOPIC]:o.DEFAULT_VALUE,[r.MODALITY]:"speech"};e.DynamicCstrParser=class{constructor(t){this.order=t}parse(t){const e=t.split("."),r={};if(e.length>this.order.length)throw new Error("Invalid dynamic constraint: "+r);let n=0;for(let t,o=0;t=this.order[o],e.length;o++,n++){const n=e.shift();r[t]=n}return new o(r,this.order.slice(0,n))}};e.DefaultComparator=class{constructor(t,e=new n(t.getProperties(),t.getOrder())){this.reference=t,this.fallback=e,this.order=this.reference.getOrder()}getReference(){return this.reference}setReference(t,e){this.reference=t,this.fallback=e||new n(t.getProperties(),t.getOrder()),this.order=this.reference.getOrder()}match(t){const e=t.getAxes();return e.length===this.reference.getAxes().length&&e.every((e=>{const r=t.getValue(e);return r===this.reference.getValue(e)||-1!==this.fallback.getProperty(e).indexOf(r)}))}compare(t,e){let r=!1;for(let n,o=0;n=this.order[o];o++){const o=t.getValue(n),i=e.getValue(n);if(!r){const t=this.reference.getValue(n);if(t===o&&t!==i)return-1;if(t===i&&t!==o)return 1;if(t===o&&t===i)continue;t!==o&&t!==i&&(r=!0)}const s=this.fallback.getProperty(n),a=s.indexOf(o),l=s.indexOf(i);if(a!h.equal(t.cstr))),l.push(m),this.rules.set(e,l),f.setReference(d)}lookupRule(t,e){let r=this.getRules(e.getValue(o.Axis.LOCALE));return r=r.filter((function(t){return i.testDynamicConstraints_(e,t)})),1===r.length?r[0]:r.length?r.sort(((t,e)=>n.default.getInstance().comparator.compare(t.cstr,e.cstr)))[0]:null}}e.MathSimpleStore=i},9935:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.MathStore=void 0;const n=r(707),o=r(4356),i=r(7630),s=r(4504),a=r(4650);class l extends s.BaseRuleStore{constructor(){super(),this.annotators=[],this.parseMethods.Alias=this.defineAlias,this.parseMethods.SpecializedRule=this.defineSpecializedRule,this.parseMethods.Specialized=this.defineSpecialized}initialize(){this.initialized||(this.annotations(),this.initialized=!0)}annotations(){for(let t,e=0;t=this.annotators[e];e++)(0,i.activate)(this.domain,t)}defineAlias(t,e,...r){const n=this.parsePrecondition(e,r);if(!n)return void console.error(`Precondition Error: ${e} ${r}`);const o=this.preconditions.get(t);o?o.addFullCondition(n):console.error(`Alias Error: No precondition by the name of ${t}`)}defineRulesAlias(t,e,...r){const n=this.findAllRules((function(e){return e.name===t}));if(0===n.length)throw new a.OutputError("Rule with name "+t+" does not exist.");const o=[];n.forEach((t=>{(t=>{const e=t.dynamicCstr.toString(),r=t.action.toString();for(let t,n=0;t=o[n];n++)if(t.action===r&&t.cstr===e)return!1;return o.push({cstr:e,action:r}),!0})(t)&&this.addAlias_(t,e,r)}))}defineSpecializedRule(t,e,r,n){const o=this.parseCstr(e),i=this.findRule((e=>e.name===t&&o.equal(e.dynamicCstr))),s=this.parseCstr(r);if(!i&&n)throw new a.OutputError("Rule named "+t+" with style "+e+" does not exist.");const l=n?a.Action.fromString(n):i.action,c=new a.SpeechRule(i.name,s,i.precondition,l);this.addRule(c)}defineSpecialized(t,e,r){const n=this.parseCstr(r);if(!n)return void console.error(`Dynamic Constraint Error: ${r}`);const o=this.preconditions.get(t);o?o.addConstraint(n):console.error(`Alias Error: No precondition by the name of ${t}`)}evaluateString(t){const e=[];if(t.match(/^\s+$/))return e;let r=this.matchNumber_(t);if(r&&r.length===t.length)return e.push(this.evaluateCharacter(r.number)),e;const i=n.removeEmpty(t.replace(/\s/g," ").split(" "));for(let t,n=0;t=i[n];n++)if(1===t.length)e.push(this.evaluateCharacter(t));else if(t.match(new RegExp("^["+o.LOCALE.MESSAGES.regexp.TEXT+"]+$")))e.push(this.evaluateCharacter(t));else{let n=t;for(;n;){r=this.matchNumber_(n);const t=n.match(new RegExp("^["+o.LOCALE.MESSAGES.regexp.TEXT+"]+"));if(r)e.push(this.evaluateCharacter(r.number)),n=n.substring(r.length);else if(t)e.push(this.evaluateCharacter(t[0])),n=n.substring(t[0].length);else{const t=Array.from(n),r=t[0];e.push(this.evaluateCharacter(r)),n=t.slice(1).join("")}}}return e}parse(t){super.parse(t),this.annotators=t.annotators||[]}addAlias_(t,e,r){const n=this.parsePrecondition(e,r),o=new a.SpeechRule(t.name,t.dynamicCstr,n,t.action);o.name=t.name,this.addRule(o)}matchNumber_(t){const e=t.match(new RegExp("^"+o.LOCALE.MESSAGES.regexp.NUMBER)),r=t.match(new RegExp("^"+l.regexp.NUMBER));if(!e&&!r)return null;const n=r&&r[0]===t;if(e&&e[0]===t||!n)return e?{number:e[0],length:e[0].length}:null;return{number:r[0].replace(new RegExp(l.regexp.DIGIT_GROUP,"g"),"X").replace(new RegExp(l.regexp.DECIMAL_MARK,"g"),o.LOCALE.MESSAGES.regexp.DECIMAL_MARK).replace(/X/g,o.LOCALE.MESSAGES.regexp.DIGIT_GROUP.replace(/\\/g,"")),length:r[0].length}}}e.MathStore=l,l.regexp={NUMBER:"((\\d{1,3})(?=(,| ))((,| )\\d{3})*(\\.\\d+)?)|^\\d*\\.\\d+|^\\d+",DECIMAL_MARK:"\\.",DIGIT_GROUP:","}},4650:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.OutputError=e.Precondition=e.Action=e.Component=e.ActionType=e.SpeechRule=void 0;const n=r(5897),o=r(2105);var i;function s(t){switch(t){case"[n]":return i.NODE;case"[m]":return i.MULTI;case"[t]":return i.TEXT;case"[p]":return i.PERSONALITY;default:throw"Parse error: "+t}}e.SpeechRule=class{constructor(t,e,r,n){this.name=t,this.dynamicCstr=e,this.precondition=r,this.action=n,this.context=null}toString(){return this.name+" | "+this.dynamicCstr.toString()+" | "+this.precondition.toString()+" ==> "+this.action.toString()}},function(t){t.NODE="NODE",t.MULTI="MULTI",t.TEXT="TEXT",t.PERSONALITY="PERSONALITY"}(i=e.ActionType||(e.ActionType={}));class a{constructor({type:t,content:e,attributes:r,grammar:n}){this.type=t,this.content=e,this.attributes=r,this.grammar=n}static grammarFromString(t){return o.Grammar.parseInput(t)}static fromString(t){const e={type:s(t.substring(0,3))};let r=t.slice(3).trim();if(!r)throw new u("Missing content.");switch(e.type){case i.TEXT:if('"'===r[0]){const t=p(r,"\\(")[0].trim();if('"'!==t.slice(-1))throw new u("Invalid string syntax.");e.content=t,r=r.slice(t.length).trim(),-1===r.indexOf("(")&&(r="");break}case i.NODE:case i.MULTI:{const t=r.indexOf(" (");if(-1===t){e.content=r.trim(),r="";break}e.content=r.substring(0,t).trim(),r=r.slice(t).trim()}}if(r){const t=a.attributesFromString(r);t.grammar&&(e.grammar=t.grammar,delete t.grammar),Object.keys(t).length&&(e.attributes=t)}return new a(e)}static attributesFromString(t){if("("!==t[0]||")"!==t.slice(-1))throw new u("Invalid attribute expression: "+t);const e={},r=p(t.slice(1,-1),",");for(let t=0,n=r.length;t0?"("+t.join(", ")+")":""}getAttributes(){const t=[];for(const e in this.attributes){const r=this.attributes[e];"true"===r?t.push(e):t.push(e+":"+r)}return t}}e.Component=a;class l{constructor(t){this.components=t}static fromString(t){const e=p(t,";").filter((function(t){return t.match(/\S/)})).map((function(t){return t.trim()})),r=[];for(let t=0,n=e.length;t0?r[0]:null}applyConstraint(t,e){return!!this.applyQuery(t,e)||n.evaluateBoolean(e,t)}constructString(t,e){if(!e)return"";if('"'===e.charAt(0))return e.slice(1,-1);const r=this.customStrings.lookup(e);return r?r(t):n.evaluateString(e,t)}parse(t){const e=Array.isArray(t)?t:Object.entries(t);for(let t,r=0;t=e[r];r++){switch(t[0].slice(0,3)){case"CQF":this.customQueries.add(t[0],t[1]);break;case"CSF":this.customStrings.add(t[0],t[1]);break;case"CTF":this.contextFunctions.add(t[0],t[1]);break;case"CGF":this.customGenerators.add(t[0],t[1]);break;default:console.error("FunctionError: Invalid function name "+t[0])}}}}},2362:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.storeFactory=e.SpeechRuleEngine=void 0;const n=r(7052),o=r(2057),i=r(5740),s=r(5897),a=r(4440),l=r(5274),c=r(7283),u=r(7599),p=r(2469),h=r(1676),f=r(2105),d=r(9935),m=r(4650),y=r(4508);class g{constructor(){this.trie=null,this.evaluators_={},this.trie=new y.Trie}static getInstance(){return g.instance=g.instance||new g,g.instance}static debugSpeechRule(t,e){const r=t.precondition,n=t.context.applyQuery(e,r.query);o.Debugger.getInstance().output(r.query,n?n.toString():n),r.constraints.forEach((r=>o.Debugger.getInstance().output(r,t.context.applyConstraint(e,r))))}static debugNamedSpeechRule(t,e){const r=g.getInstance().trie.collectRules().filter((e=>e.name==t));for(let n,i=0;n=r[i];i++)o.Debugger.getInstance().output("Rule",t,"DynamicCstr:",n.dynamicCstr.toString(),"number",i),g.debugSpeechRule(n,e)}evaluateNode(t){(0,l.updateEvaluator)(t);const e=(new Date).getTime();let r=[];try{r=this.evaluateNode_(t)}catch(t){console.error("Something went wrong computing speech."),o.Debugger.getInstance().output(t)}const n=(new Date).getTime();return o.Debugger.getInstance().output("Time:",n-e),r}toString(){return this.trie.collectRules().map((t=>t.toString())).join("\n")}runInSetting(t,e){const r=s.default.getInstance(),n={};for(const e in t)n[e]=r[e],r[e]=t[e];r.setDynamicCstr();const o=e();for(const t in n)r[t]=n[t];return r.setDynamicCstr(),o}addStore(t){const e=v(t);"abstract"!==e.kind&&e.getSpeechRules().forEach((t=>this.trie.addRule(t))),this.addEvaluator(e)}processGrammar(t,e,r){const n={};for(const o in r){const i=r[o];n[o]="string"==typeof i?t.constructString(e,i):i}f.Grammar.getInstance().pushState(n)}addEvaluator(t){const e=t.evaluateDefault.bind(t),r=this.evaluators_[t.locale];if(r)return void(r[t.modality]=e);const n={};n[t.modality]=e,this.evaluators_[t.locale]=n}getEvaluator(t,e){const r=this.evaluators_[t]||this.evaluators_[h.DynamicCstr.DEFAULT_VALUES[h.Axis.LOCALE]];return r[e]||r[h.DynamicCstr.DEFAULT_VALUES[h.Axis.MODALITY]]}enumerate(t){return this.trie.enumerate(t)}evaluateNode_(t){return t?(this.updateConstraint_(),this.evaluateTree_(t)):[]}evaluateTree_(t){const e=s.default.getInstance();let r;o.Debugger.getInstance().output(e.mode!==a.Mode.HTTP?t.toString():t),f.Grammar.getInstance().setAttribute(t);const i=this.lookupRule(t,e.dynamicCstr);if(!i)return e.strict?[]:(r=this.getEvaluator(e.locale,e.modality)(t),t.attributes&&this.addPersonality_(r,{},!1,t),r);o.Debugger.getInstance().generateOutput((()=>["Apply Rule:",i.name,i.dynamicCstr.toString(),(e.mode,a.Mode.HTTP,t).toString()]));const c=i.context,u=i.action.components;r=[];for(let e,o=0;e=u[o];o++){let o=[];const i=e.content||"",a=e.attributes||{};let u=!1;e.grammar&&this.processGrammar(c,t,e.grammar);let p=null;if(a.engine){p=s.default.getInstance().dynamicCstr.getComponents();const t=f.Grammar.parseInput(a.engine);s.default.getInstance().setDynamicCstr(t)}switch(e.type){case m.ActionType.NODE:{const e=c.applyQuery(t,i);e&&(o=this.evaluateTree_(e))}break;case m.ActionType.MULTI:{u=!0;const e=c.applySelector(t,i);e.length>0&&(o=this.evaluateNodeList_(c,e,a.sepFunc,c.constructString(t,a.separator),a.ctxtFunc,c.constructString(t,a.context)))}break;case m.ActionType.TEXT:{const e=a.span,r={};if(e){const n=(0,l.evalXPath)(e,t);n.length&&(r.extid=n[0].getAttribute("extid"))}const s=c.constructString(t,i);(s||""===s)&&(o=Array.isArray(s)?s.map((function(t){return n.AuditoryDescription.create({text:t.speech,attributes:t.attributes},{adjust:!0})})):[n.AuditoryDescription.create({text:s,attributes:r},{adjust:!0})])}break;case m.ActionType.PERSONALITY:default:o=[n.AuditoryDescription.create({text:i})]}o[0]&&!u&&(a.context&&(o[0].context=c.constructString(t,a.context)+(o[0].context||"")),a.annotation&&(o[0].annotation=a.annotation)),this.addLayout(o,a,u),e.grammar&&f.Grammar.getInstance().popState(),r=r.concat(this.addPersonality_(o,a,u,t)),p&&s.default.getInstance().setDynamicCstr(p)}return r}evaluateNodeList_(t,e,r,o,i,s){if(!e.length)return[];const a=o||"",l=s||"",c=t.contextFunctions.lookup(i),u=c?c(e,l):function(){return l},p=t.contextFunctions.lookup(r),h=p?p(e,a):function(){return[n.AuditoryDescription.create({text:a},{translate:!0})]};let f=[];for(let t,r=0;t=e[r];r++){const n=this.evaluateTree_(t);if(n.length>0&&(n[0].context=u()+(n[0].context||""),f=f.concat(n),r=0;e--){const n=r[e].name;!t.attributes[n]&&n.match(/^ext/)&&(t.attributes[n]=r[e].value)}}}addRelativePersonality_(t,e){if(!t.personality)return t.personality=e,t;const r=t.personality;for(const t in e)r[t]&&"number"==typeof r[t]&&"number"==typeof e[t]?r[t]=r[t]+e[t]:r[t]||(r[t]=e[t]);return t}updateConstraint_(){const t=s.default.getInstance().dynamicCstr,e=s.default.getInstance().strict,r=this.trie,n={};let o=t.getValue(h.Axis.LOCALE),i=t.getValue(h.Axis.MODALITY),a=t.getValue(h.Axis.DOMAIN);r.hasSubtrie([o,i,a])||(a=h.DynamicCstr.DEFAULT_VALUES[h.Axis.DOMAIN],r.hasSubtrie([o,i,a])||(i=h.DynamicCstr.DEFAULT_VALUES[h.Axis.MODALITY],r.hasSubtrie([o,i,a])||(o=h.DynamicCstr.DEFAULT_VALUES[h.Axis.LOCALE]))),n[h.Axis.LOCALE]=[o],n[h.Axis.MODALITY]=["summary"!==i?i:h.DynamicCstr.DEFAULT_VALUES[h.Axis.MODALITY]],n[h.Axis.DOMAIN]=["speech"!==i?h.DynamicCstr.DEFAULT_VALUES[h.Axis.DOMAIN]:a];const l=t.getOrder();for(let r,o=0;r=l[o];o++)if(!n[r]){const o=t.getValue(r),i=this.makeSet_(o,t.preference),s=h.DynamicCstr.DEFAULT_VALUES[r];e||o===s||i.push(s),n[r]=i}t.updateProperties(n)}makeSet_(t,e){return e&&Object.keys(e).length?t.split(":"):[t]}lookupRule(t,e){if(!t||t.nodeType!==i.NodeType.ELEMENT_NODE&&t.nodeType!==i.NodeType.TEXT_NODE)return null;const r=this.lookupRules(t,e);return r.length>0?this.pickMostConstraint_(e,r):null}lookupRules(t,e){return this.trie.lookupRules(t,e.allProperties())}pickMostConstraint_(t,e){const r=s.default.getInstance().comparator;return e.sort((function(t,e){return r.compare(t.dynamicCstr,e.dynamicCstr)||e.precondition.priority-t.precondition.priority||e.precondition.constraints.length-t.precondition.constraints.length||e.precondition.rank-t.precondition.rank})),o.Debugger.getInstance().generateOutput((()=>e.map((t=>t.name+"("+t.dynamicCstr.toString()+")"))).bind(this)),e[0]}}e.SpeechRuleEngine=g;const b=new Map;function v(t){const e=`${t.locale}.${t.modality}.${t.domain}`;if("actions"===t.kind){const r=b.get(e);return r.parse(t),r}u.init(),t&&!t.functions&&(t.functions=c.getStore(t.locale,t.modality,t.domain));const r="braille"===t.modality?new p.BrailleStore:new d.MathStore;return b.set(e,r),t.inherits&&(r.inherits=b.get(`${t.inherits}.${t.modality}.${t.domain}`)),r.parse(t),r.initialize(),r}e.storeFactory=v,s.default.nodeEvaluator=g.getInstance().evaluateNode.bind(g.getInstance())},5662:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.CustomGenerators=e.ContextFunctions=e.CustomStrings=e.CustomQueries=void 0;class r{constructor(t,e){this.prefix=t,this.store=e}add(t,e){this.checkCustomFunctionSyntax_(t)&&(this.store[t]=e)}addStore(t){const e=Object.keys(t.store);for(let r,n=0;r=e[n];n++)this.add(r,t.store[r])}lookup(t){return this.store[t]}checkCustomFunctionSyntax_(t){const e=new RegExp("^"+this.prefix);return!!t.match(e)||(console.error("FunctionError: Invalid function name. Expected prefix "+this.prefix),!1)}}e.CustomQueries=class extends r{constructor(){super("CQF",{})}};e.CustomStrings=class extends r{constructor(){super("CSF",{})}};e.ContextFunctions=class extends r{constructor(){super("CTF",{})}};e.CustomGenerators=class extends r{constructor(){super("CGF",{})}}},365:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.contentIterator=e.pauseSeparator=e.nodeCounter=void 0;const n=r(7052),o=r(5274),i=r(5897);e.nodeCounter=function(t,e){const r=t.length;let n=0,o=e;return e||(o=""),function(){return n0?o.evalXPath("../../content/*",t[0]):[],function(){const t=r.shift(),o=e?[n.AuditoryDescription.create({text:e},{translate:!0})]:[];if(!t)return o;const s=i.default.evaluateNode(t);return o.concat(s)}}},1414:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.getTreeFromString=e.getTree=e.xmlTree=void 0;const n=r(5740),o=r(7075);function i(t){return new o.SemanticTree(t)}e.xmlTree=function(t){return i(t).xml()},e.getTree=i,e.getTreeFromString=function(t){return i(n.parseInput(t))}},7630:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.annotate=e.activate=e.register=e.visitors=e.annotators=void 0;const n=r(9265);e.annotators=new Map,e.visitors=new Map,e.register=function(t){const r=t.domain+":"+t.name;t instanceof n.SemanticAnnotator?e.annotators.set(r,t):e.visitors.set(r,t)},e.activate=function(t,r){const n=t+":"+r,o=e.annotators.get(n)||e.visitors.get(n);o&&(o.active=!0)},e.annotate=function(t){for(const r of e.annotators.values())r.active&&r.annotate(t);for(const r of e.visitors.values())r.active&&r.visit(t,Object.assign({},r.def))}},9265:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.SemanticVisitor=e.SemanticAnnotator=void 0;e.SemanticAnnotator=class{constructor(t,e,r){this.domain=t,this.name=e,this.func=r,this.active=!1}annotate(t){t.childNodes.forEach(this.annotate.bind(this)),t.addAnnotation(this.domain,this.func(t))}};e.SemanticVisitor=class{constructor(t,e,r,n={}){this.domain=t,this.name=e,this.func=r,this.def=n,this.active=!1}visit(t,e){let r=this.func(t,e);t.addAnnotation(this.domain,r[0]);for(let e,n=0;e=t.childNodes[n];n++)r=this.visit(e,r[1]);return r}}},3588:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.lookupSecondary=e.isEmbellishedType=e.isMatchingFence=e.functionApplication=e.invisibleComma=e.invisiblePlus=e.invisibleTimes=e.lookupMeaning=e.lookupRole=e.lookupType=e.equal=e.allLettersRegExp=void 0;const r=String.fromCodePoint(8291),n=["\uff0c","\ufe50",",",r],o=["\xaf","\u2012","\u2013","\u2014","\u2015","\ufe58","-","\u207b","\u208b","\u2212","\u2796","\ufe63","\uff0d","\u2010","\u2011","\u203e","_"],i=["~","\u0303","\u223c","\u02dc","\u223d","\u02f7","\u0334","\u0330"],s={"(":")","[":"]","{":"}","\u2045":"\u2046","\u2329":"\u232a","\u2768":"\u2769","\u276a":"\u276b","\u276c":"\u276d","\u276e":"\u276f","\u2770":"\u2771","\u2772":"\u2773","\u2774":"\u2775","\u27c5":"\u27c6","\u27e6":"\u27e7","\u27e8":"\u27e9","\u27ea":"\u27eb","\u27ec":"\u27ed","\u27ee":"\u27ef","\u2983":"\u2984","\u2985":"\u2986","\u2987":"\u2988","\u2989":"\u298a","\u298b":"\u298c","\u298d":"\u298e","\u298f":"\u2990","\u2991":"\u2992","\u2993":"\u2994","\u2995":"\u2996","\u2997":"\u2998","\u29d8":"\u29d9","\u29da":"\u29db","\u29fc":"\u29fd","\u2e22":"\u2e23","\u2e24":"\u2e25","\u2e26":"\u2e27","\u2e28":"\u2e29","\u3008":"\u3009","\u300a":"\u300b","\u300c":"\u300d","\u300e":"\u300f","\u3010":"\u3011","\u3014":"\u3015","\u3016":"\u3017","\u3018":"\u3019","\u301a":"\u301b","\u301d":"\u301e","\ufd3e":"\ufd3f","\ufe17":"\ufe18","\ufe59":"\ufe5a","\ufe5b":"\ufe5c","\ufe5d":"\ufe5e","\uff08":"\uff09","\uff3b":"\uff3d","\uff5b":"\uff5d","\uff5f":"\uff60","\uff62":"\uff63","\u2308":"\u2309","\u230a":"\u230b","\u230c":"\u230d","\u230e":"\u230f","\u231c":"\u231d","\u231e":"\u231f","\u239b":"\u239e","\u239c":"\u239f","\u239d":"\u23a0","\u23a1":"\u23a4","\u23a2":"\u23a5","\u23a3":"\u23a6","\u23a7":"\u23ab","\u23a8":"\u23ac","\u23a9":"\u23ad","\u23b0":"\u23b1","\u23b8":"\u23b9"},a={"\u23b4":"\u23b5","\u23dc":"\u23dd","\u23de":"\u23df","\u23e0":"\u23e1","\ufe35":"\ufe36","\ufe37":"\ufe38","\ufe39":"\ufe3a","\ufe3b":"\ufe3c","\ufe3d":"\ufe3e","\ufe3f":"\ufe40","\ufe41":"\ufe42","\ufe43":"\ufe44","\ufe47":"\ufe48"},l=Object.keys(s),c=Object.values(s);c.push("\u301f");const u=Object.keys(a),p=Object.values(a),h=["|","\xa6","\u2223","\u23d0","\u23b8","\u23b9","\u2758","\uff5c","\uffe4","\ufe31","\ufe32"],f=["\u2016","\u2225","\u2980","\u2af4"],d=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],m=["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","\u0131","\u0237"],y=["\uff21","\uff22","\uff23","\uff24","\uff25","\uff26","\uff27","\uff28","\uff29","\uff2a","\uff2b","\uff2c","\uff2d","\uff2e","\uff2f","\uff30","\uff31","\uff32","\uff33","\uff34","\uff35","\uff36","\uff37","\uff38","\uff39","\uff3a"],g=["\uff41","\uff42","\uff43","\uff44","\uff45","\uff46","\uff47","\uff48","\uff49","\uff4a","\uff4b","\uff4c","\uff4d","\uff4e","\uff4f","\uff50","\uff51","\uff52","\uff53","\uff54","\uff55","\uff56","\uff57","\uff58","\uff59","\uff5a"],b=["\ud835\udc00","\ud835\udc01","\ud835\udc02","\ud835\udc03","\ud835\udc04","\ud835\udc05","\ud835\udc06","\ud835\udc07","\ud835\udc08","\ud835\udc09","\ud835\udc0a","\ud835\udc0b","\ud835\udc0c","\ud835\udc0d","\ud835\udc0e","\ud835\udc0f","\ud835\udc10","\ud835\udc11","\ud835\udc12","\ud835\udc13","\ud835\udc14","\ud835\udc15","\ud835\udc16","\ud835\udc17","\ud835\udc18","\ud835\udc19"],v=["\ud835\udc1a","\ud835\udc1b","\ud835\udc1c","\ud835\udc1d","\ud835\udc1e","\ud835\udc1f","\ud835\udc20","\ud835\udc21","\ud835\udc22","\ud835\udc23","\ud835\udc24","\ud835\udc25","\ud835\udc26","\ud835\udc27","\ud835\udc28","\ud835\udc29","\ud835\udc2a","\ud835\udc2b","\ud835\udc2c","\ud835\udc2d","\ud835\udc2e","\ud835\udc2f","\ud835\udc30","\ud835\udc31","\ud835\udc32","\ud835\udc33"],_=["\ud835\udc34","\ud835\udc35","\ud835\udc36","\ud835\udc37","\ud835\udc38","\ud835\udc39","\ud835\udc3a","\ud835\udc3b","\ud835\udc3c","\ud835\udc3d","\ud835\udc3e","\ud835\udc3f","\ud835\udc40","\ud835\udc41","\ud835\udc42","\ud835\udc43","\ud835\udc44","\ud835\udc45","\ud835\udc46","\ud835\udc47","\ud835\udc48","\ud835\udc49","\ud835\udc4a","\ud835\udc4b","\ud835\udc4c","\ud835\udc4d"],S=["\ud835\udc4e","\ud835\udc4f","\ud835\udc50","\ud835\udc51","\ud835\udc52","\ud835\udc53","\ud835\udc54","\u210e","\ud835\udc56","\ud835\udc57","\ud835\udc58","\ud835\udc59","\ud835\udc5a","\ud835\udc5b","\ud835\udc5c","\ud835\udc5d","\ud835\udc5e","\ud835\udc5f","\ud835\udc60","\ud835\udc61","\ud835\udc62","\ud835\udc63","\ud835\udc64","\ud835\udc65","\ud835\udc66","\ud835\udc67","\ud835\udea4","\ud835\udea5"],M=["\ud835\udc68","\ud835\udc69","\ud835\udc6a","\ud835\udc6b","\ud835\udc6c","\ud835\udc6d","\ud835\udc6e","\ud835\udc6f","\ud835\udc70","\ud835\udc71","\ud835\udc72","\ud835\udc73","\ud835\udc74","\ud835\udc75","\ud835\udc76","\ud835\udc77","\ud835\udc78","\ud835\udc79","\ud835\udc7a","\ud835\udc7b","\ud835\udc7c","\ud835\udc7d","\ud835\udc7e","\ud835\udc7f","\ud835\udc80","\ud835\udc81"],O=["\ud835\udc82","\ud835\udc83","\ud835\udc84","\ud835\udc85","\ud835\udc86","\ud835\udc87","\ud835\udc88","\ud835\udc89","\ud835\udc8a","\ud835\udc8b","\ud835\udc8c","\ud835\udc8d","\ud835\udc8e","\ud835\udc8f","\ud835\udc90","\ud835\udc91","\ud835\udc92","\ud835\udc93","\ud835\udc94","\ud835\udc95","\ud835\udc96","\ud835\udc97","\ud835\udc98","\ud835\udc99","\ud835\udc9a","\ud835\udc9b"],x=["\ud835\udc9c","\u212c","\ud835\udc9e","\ud835\udc9f","\u2130","\u2131","\ud835\udca2","\u210b","\u2110","\ud835\udca5","\ud835\udca6","\u2112","\u2133","\ud835\udca9","\ud835\udcaa","\ud835\udcab","\ud835\udcac","\u211b","\ud835\udcae","\ud835\udcaf","\ud835\udcb0","\ud835\udcb1","\ud835\udcb2","\ud835\udcb3","\ud835\udcb4","\ud835\udcb5","\u2118"],E=["\ud835\udcb6","\ud835\udcb7","\ud835\udcb8","\ud835\udcb9","\u212f","\ud835\udcbb","\u210a","\ud835\udcbd","\ud835\udcbe","\ud835\udcbf","\ud835\udcc0","\ud835\udcc1","\ud835\udcc2","\ud835\udcc3","\u2134","\ud835\udcc5","\ud835\udcc6","\ud835\udcc7","\ud835\udcc8","\ud835\udcc9","\ud835\udcca","\ud835\udccb","\ud835\udccc","\ud835\udccd","\ud835\udcce","\ud835\udccf","\u2113"],A=["\ud835\udcd0","\ud835\udcd1","\ud835\udcd2","\ud835\udcd3","\ud835\udcd4","\ud835\udcd5","\ud835\udcd6","\ud835\udcd7","\ud835\udcd8","\ud835\udcd9","\ud835\udcda","\ud835\udcdb","\ud835\udcdc","\ud835\udcdd","\ud835\udcde","\ud835\udcdf","\ud835\udce0","\ud835\udce1","\ud835\udce2","\ud835\udce3","\ud835\udce4","\ud835\udce5","\ud835\udce6","\ud835\udce7","\ud835\udce8","\ud835\udce9"],C=["\ud835\udcea","\ud835\udceb","\ud835\udcec","\ud835\udced","\ud835\udcee","\ud835\udcef","\ud835\udcf0","\ud835\udcf1","\ud835\udcf2","\ud835\udcf3","\ud835\udcf4","\ud835\udcf5","\ud835\udcf6","\ud835\udcf7","\ud835\udcf8","\ud835\udcf9","\ud835\udcfa","\ud835\udcfb","\ud835\udcfc","\ud835\udcfd","\ud835\udcfe","\ud835\udcff","\ud835\udd00","\ud835\udd01","\ud835\udd02","\ud835\udd03"],T=["\ud835\udd04","\ud835\udd05","\u212d","\ud835\udd07","\ud835\udd08","\ud835\udd09","\ud835\udd0a","\u210c","\u2111","\ud835\udd0d","\ud835\udd0e","\ud835\udd0f","\ud835\udd10","\ud835\udd11","\ud835\udd12","\ud835\udd13","\ud835\udd14","\u211c","\ud835\udd16","\ud835\udd17","\ud835\udd18","\ud835\udd19","\ud835\udd1a","\ud835\udd1b","\ud835\udd1c","\u2128"],N=["\ud835\udd1e","\ud835\udd1f","\ud835\udd20","\ud835\udd21","\ud835\udd22","\ud835\udd23","\ud835\udd24","\ud835\udd25","\ud835\udd26","\ud835\udd27","\ud835\udd28","\ud835\udd29","\ud835\udd2a","\ud835\udd2b","\ud835\udd2c","\ud835\udd2d","\ud835\udd2e","\ud835\udd2f","\ud835\udd30","\ud835\udd31","\ud835\udd32","\ud835\udd33","\ud835\udd34","\ud835\udd35","\ud835\udd36","\ud835\udd37"],w=["\ud835\udd38","\ud835\udd39","\u2102","\ud835\udd3b","\ud835\udd3c","\ud835\udd3d","\ud835\udd3e","\u210d","\ud835\udd40","\ud835\udd41","\ud835\udd42","\ud835\udd43","\ud835\udd44","\u2115","\ud835\udd46","\u2119","\u211a","\u211d","\ud835\udd4a","\ud835\udd4b","\ud835\udd4c","\ud835\udd4d","\ud835\udd4e","\ud835\udd4f","\ud835\udd50","\u2124"],L=["\ud835\udd52","\ud835\udd53","\ud835\udd54","\ud835\udd55","\ud835\udd56","\ud835\udd57","\ud835\udd58","\ud835\udd59","\ud835\udd5a","\ud835\udd5b","\ud835\udd5c","\ud835\udd5d","\ud835\udd5e","\ud835\udd5f","\ud835\udd60","\ud835\udd61","\ud835\udd62","\ud835\udd63","\ud835\udd64","\ud835\udd65","\ud835\udd66","\ud835\udd67","\ud835\udd68","\ud835\udd69","\ud835\udd6a","\ud835\udd6b"],I=["\ud835\udd6c","\ud835\udd6d","\ud835\udd6e","\ud835\udd6f","\ud835\udd70","\ud835\udd71","\ud835\udd72","\ud835\udd73","\ud835\udd74","\ud835\udd75","\ud835\udd76","\ud835\udd77","\ud835\udd78","\ud835\udd79","\ud835\udd7a","\ud835\udd7b","\ud835\udd7c","\ud835\udd7d","\ud835\udd7e","\ud835\udd7f","\ud835\udd80","\ud835\udd81","\ud835\udd82","\ud835\udd83","\ud835\udd84","\ud835\udd85"],P=["\ud835\udd86","\ud835\udd87","\ud835\udd88","\ud835\udd89","\ud835\udd8a","\ud835\udd8b","\ud835\udd8c","\ud835\udd8d","\ud835\udd8e","\ud835\udd8f","\ud835\udd90","\ud835\udd91","\ud835\udd92","\ud835\udd93","\ud835\udd94","\ud835\udd95","\ud835\udd96","\ud835\udd97","\ud835\udd98","\ud835\udd99","\ud835\udd9a","\ud835\udd9b","\ud835\udd9c","\ud835\udd9d","\ud835\udd9e","\ud835\udd9f"],R=["\ud835\udda0","\ud835\udda1","\ud835\udda2","\ud835\udda3","\ud835\udda4","\ud835\udda5","\ud835\udda6","\ud835\udda7","\ud835\udda8","\ud835\udda9","\ud835\uddaa","\ud835\uddab","\ud835\uddac","\ud835\uddad","\ud835\uddae","\ud835\uddaf","\ud835\uddb0","\ud835\uddb1","\ud835\uddb2","\ud835\uddb3","\ud835\uddb4","\ud835\uddb5","\ud835\uddb6","\ud835\uddb7","\ud835\uddb8","\ud835\uddb9"],k=["\ud835\uddba","\ud835\uddbb","\ud835\uddbc","\ud835\uddbd","\ud835\uddbe","\ud835\uddbf","\ud835\uddc0","\ud835\uddc1","\ud835\uddc2","\ud835\uddc3","\ud835\uddc4","\ud835\uddc5","\ud835\uddc6","\ud835\uddc7","\ud835\uddc8","\ud835\uddc9","\ud835\uddca","\ud835\uddcb","\ud835\uddcc","\ud835\uddcd","\ud835\uddce","\ud835\uddcf","\ud835\uddd0","\ud835\uddd1","\ud835\uddd2","\ud835\uddd3"],j=["\ud835\uddd4","\ud835\uddd5","\ud835\uddd6","\ud835\uddd7","\ud835\uddd8","\ud835\uddd9","\ud835\uddda","\ud835\udddb","\ud835\udddc","\ud835\udddd","\ud835\uddde","\ud835\udddf","\ud835\udde0","\ud835\udde1","\ud835\udde2","\ud835\udde3","\ud835\udde4","\ud835\udde5","\ud835\udde6","\ud835\udde7","\ud835\udde8","\ud835\udde9","\ud835\uddea","\ud835\uddeb","\ud835\uddec","\ud835\udded"],B=["\ud835\uddee","\ud835\uddef","\ud835\uddf0","\ud835\uddf1","\ud835\uddf2","\ud835\uddf3","\ud835\uddf4","\ud835\uddf5","\ud835\uddf6","\ud835\uddf7","\ud835\uddf8","\ud835\uddf9","\ud835\uddfa","\ud835\uddfb","\ud835\uddfc","\ud835\uddfd","\ud835\uddfe","\ud835\uddff","\ud835\ude00","\ud835\ude01","\ud835\ude02","\ud835\ude03","\ud835\ude04","\ud835\ude05","\ud835\ude06","\ud835\ude07"],D=["\ud835\ude08","\ud835\ude09","\ud835\ude0a","\ud835\ude0b","\ud835\ude0c","\ud835\ude0d","\ud835\ude0e","\ud835\ude0f","\ud835\ude10","\ud835\ude11","\ud835\ude12","\ud835\ude13","\ud835\ude14","\ud835\ude15","\ud835\ude16","\ud835\ude17","\ud835\ude18","\ud835\ude19","\ud835\ude1a","\ud835\ude1b","\ud835\ude1c","\ud835\ude1d","\ud835\ude1e","\ud835\ude1f","\ud835\ude20","\ud835\ude21"],F=["\ud835\ude22","\ud835\ude23","\ud835\ude24","\ud835\ude25","\ud835\ude26","\ud835\ude27","\ud835\ude28","\ud835\ude29","\ud835\ude2a","\ud835\ude2b","\ud835\ude2c","\ud835\ude2d","\ud835\ude2e","\ud835\ude2f","\ud835\ude30","\ud835\ude31","\ud835\ude32","\ud835\ude33","\ud835\ude34","\ud835\ude35","\ud835\ude36","\ud835\ude37","\ud835\ude38","\ud835\ude39","\ud835\ude3a","\ud835\ude3b"],H=["\ud835\ude3c","\ud835\ude3d","\ud835\ude3e","\ud835\ude3f","\ud835\ude40","\ud835\ude41","\ud835\ude42","\ud835\ude43","\ud835\ude44","\ud835\ude45","\ud835\ude46","\ud835\ude47","\ud835\ude48","\ud835\ude49","\ud835\ude4a","\ud835\ude4b","\ud835\ude4c","\ud835\ude4d","\ud835\ude4e","\ud835\ude4f","\ud835\ude50","\ud835\ude51","\ud835\ude52","\ud835\ude53","\ud835\ude54","\ud835\ude55"],U=["\ud835\ude56","\ud835\ude57","\ud835\ude58","\ud835\ude59","\ud835\ude5a","\ud835\ude5b","\ud835\ude5c","\ud835\ude5d","\ud835\ude5e","\ud835\ude5f","\ud835\ude60","\ud835\ude61","\ud835\ude62","\ud835\ude63","\ud835\ude64","\ud835\ude65","\ud835\ude66","\ud835\ude67","\ud835\ude68","\ud835\ude69","\ud835\ude6a","\ud835\ude6b","\ud835\ude6c","\ud835\ude6d","\ud835\ude6e","\ud835\ude6f"],X=["\ud835\ude70","\ud835\ude71","\ud835\ude72","\ud835\ude73","\ud835\ude74","\ud835\ude75","\ud835\ude76","\ud835\ude77","\ud835\ude78","\ud835\ude79","\ud835\ude7a","\ud835\ude7b","\ud835\ude7c","\ud835\ude7d","\ud835\ude7e","\ud835\ude7f","\ud835\ude80","\ud835\ude81","\ud835\ude82","\ud835\ude83","\ud835\ude84","\ud835\ude85","\ud835\ude86","\ud835\ude87","\ud835\ude88","\ud835\ude89"],V=["\ud835\ude8a","\ud835\ude8b","\ud835\ude8c","\ud835\ude8d","\ud835\ude8e","\ud835\ude8f","\ud835\ude90","\ud835\ude91","\ud835\ude92","\ud835\ude93","\ud835\ude94","\ud835\ude95","\ud835\ude96","\ud835\ude97","\ud835\ude98","\ud835\ude99","\ud835\ude9a","\ud835\ude9b","\ud835\ude9c","\ud835\ude9d","\ud835\ude9e","\ud835\ude9f","\ud835\udea0","\ud835\udea1","\ud835\udea2","\ud835\udea3"],q=["\u2145","\u2146","\u2147","\u2148","\u2149"],W=["\u0391","\u0392","\u0393","\u0394","\u0395","\u0396","\u0397","\u0398","\u0399","\u039a","\u039b","\u039c","\u039d","\u039e","\u039f","\u03a0","\u03a1","\u03a3","\u03a4","\u03a5","\u03a6","\u03a7","\u03a8","\u03a9"],G=["\u03b1","\u03b2","\u03b3","\u03b4","\u03b5","\u03b6","\u03b7","\u03b8","\u03b9","\u03ba","\u03bb","\u03bc","\u03bd","\u03be","\u03bf","\u03c0","\u03c1","\u03c2","\u03c3","\u03c4","\u03c5","\u03c6","\u03c7","\u03c8","\u03c9"],z=["\ud835\udea8","\ud835\udea9","\ud835\udeaa","\ud835\udeab","\ud835\udeac","\ud835\udead","\ud835\udeae","\ud835\udeaf","\ud835\udeb0","\ud835\udeb1","\ud835\udeb2","\ud835\udeb3","\ud835\udeb4","\ud835\udeb5","\ud835\udeb6","\ud835\udeb7","\ud835\udeb8","\ud835\udeba","\ud835\udebb","\ud835\udebc","\ud835\udebd","\ud835\udebe","\ud835\udebf","\ud835\udec0"],J=["\ud835\udec2","\ud835\udec3","\ud835\udec4","\ud835\udec5","\ud835\udec6","\ud835\udec7","\ud835\udec8","\ud835\udec9","\ud835\udeca","\ud835\udecb","\ud835\udecc","\ud835\udecd","\ud835\udece","\ud835\udecf","\ud835\uded0","\ud835\uded1","\ud835\uded2","\ud835\uded3","\ud835\uded4","\ud835\uded5","\ud835\uded6","\ud835\uded7","\ud835\uded8","\ud835\uded9","\ud835\udeda"],K=["\ud835\udee2","\ud835\udee3","\ud835\udee4","\ud835\udee5","\ud835\udee6","\ud835\udee7","\ud835\udee8","\ud835\udee9","\ud835\udeea","\ud835\udeeb","\ud835\udeec","\ud835\udeed","\ud835\udeee","\ud835\udeef","\ud835\udef0","\ud835\udef1","\ud835\udef2","\ud835\udef4","\ud835\udef5","\ud835\udef6","\ud835\udef7","\ud835\udef8","\ud835\udef9","\ud835\udefa"],$=["\ud835\udefc","\ud835\udefd","\ud835\udefe","\ud835\udeff","\ud835\udf00","\ud835\udf01","\ud835\udf02","\ud835\udf03","\ud835\udf04","\ud835\udf05","\ud835\udf06","\ud835\udf07","\ud835\udf08","\ud835\udf09","\ud835\udf0a","\ud835\udf0b","\ud835\udf0c","\ud835\udf0d","\ud835\udf0e","\ud835\udf0f","\ud835\udf10","\ud835\udf11","\ud835\udf12","\ud835\udf13","\ud835\udf14"],Y=["\ud835\udf1c","\ud835\udf1d","\ud835\udf1e","\ud835\udf1f","\ud835\udf20","\ud835\udf21","\ud835\udf22","\ud835\udf23","\ud835\udf24","\ud835\udf25","\ud835\udf26","\ud835\udf27","\ud835\udf28","\ud835\udf29","\ud835\udf2a","\ud835\udf2b","\ud835\udf2c","\ud835\udf2e","\ud835\udf2f","\ud835\udf30","\ud835\udf31","\ud835\udf32","\ud835\udf33","\ud835\udf34"],Z=["\ud835\udf36","\ud835\udf37","\ud835\udf38","\ud835\udf39","\ud835\udf3a","\ud835\udf3b","\ud835\udf3c","\ud835\udf3d","\ud835\udf3e","\ud835\udf3f","\ud835\udf40","\ud835\udf41","\ud835\udf42","\ud835\udf43","\ud835\udf44","\ud835\udf45","\ud835\udf46","\ud835\udf47","\ud835\udf48","\ud835\udf49","\ud835\udf4a","\ud835\udf4b","\ud835\udf4c","\ud835\udf4d","\ud835\udf4e"],Q=["\ud835\udf56","\ud835\udf57","\ud835\udf58","\ud835\udf59","\ud835\udf5a","\ud835\udf5b","\ud835\udf5c","\ud835\udf5d","\ud835\udf5e","\ud835\udf5f","\ud835\udf60","\ud835\udf61","\ud835\udf62","\ud835\udf63","\ud835\udf64","\ud835\udf65","\ud835\udf66","\ud835\udf68","\ud835\udf69","\ud835\udf6a","\ud835\udf6b","\ud835\udf6c","\ud835\udf6d","\ud835\udf6e"],tt=["\ud835\udf70","\ud835\udf71","\ud835\udf72","\ud835\udf73","\ud835\udf74","\ud835\udf75","\ud835\udf76","\ud835\udf77","\ud835\udf78","\ud835\udf79","\ud835\udf7a","\ud835\udf7b","\ud835\udf7c","\ud835\udf7d","\ud835\udf7e","\ud835\udf7f","\ud835\udf80","\ud835\udf81","\ud835\udf82","\ud835\udf83","\ud835\udf84","\ud835\udf85","\ud835\udf86","\ud835\udf87","\ud835\udf88"],et=["\ud835\udf90","\ud835\udf91","\ud835\udf92","\ud835\udf93","\ud835\udf94","\ud835\udf95","\ud835\udf96","\ud835\udf97","\ud835\udf98","\ud835\udf99","\ud835\udf9a","\ud835\udf9b","\ud835\udf9c","\ud835\udf9d","\ud835\udf9e","\ud835\udf9f","\ud835\udfa0","\ud835\udfa2","\ud835\udfa3","\ud835\udfa4","\ud835\udfa5","\ud835\udfa6","\ud835\udfa7","\ud835\udfa8"],rt=["\ud835\udfaa","\ud835\udfab","\ud835\udfac","\ud835\udfad","\ud835\udfae","\ud835\udfaf","\ud835\udfb0","\ud835\udfb1","\ud835\udfb2","\ud835\udfb3","\ud835\udfb4","\ud835\udfb5","\ud835\udfb6","\ud835\udfb7","\ud835\udfb8","\ud835\udfb9","\ud835\udfba","\ud835\udfbb","\ud835\udfbc","\ud835\udfbd","\ud835\udfbe","\ud835\udfbf","\ud835\udfc0","\ud835\udfc1","\ud835\udfc2"],nt=["\u213c","\u213d","\u213e","\u213f"],ot=["\u03d0","\u03d1","\u03d5","\u03d6","\u03d7","\u03f0","\u03f1","\u03f5","\u03f6","\u03f4"],it=["\ud835\udedc","\ud835\udedd","\ud835\udede","\ud835\udedf","\ud835\udee0","\ud835\udee1"],st=["\ud835\udf16","\ud835\udf17","\ud835\udf18","\ud835\udf19","\ud835\udf1a","\ud835\udf1b"],at=["\ud835\udf8a","\ud835\udf8b","\ud835\udf8c","\ud835\udf8d","\ud835\udf8e","\ud835\udf8f"],lt=["\u2135","\u2136","\u2137","\u2138"],ct=d.concat(m,y,g,b,v,_,M,O,S,x,E,A,C,T,N,w,L,I,P,R,k,j,B,D,F,H,U,X,V,q,W,G,z,J,K,$,Y,Z,Q,tt,nt,ot,et,rt,it,st,at,lt);e.allLettersRegExp=new RegExp(ct.join("|"));const ut=["+","\xb1","\u2213","\u2214","\u2227","\u2228","\u2229","\u222a","\u228c","\u228d","\u228e","\u2293","\u2294","\u229d","\u229e","\u22a4","\u22a5","\u22ba","\u22bb","\u22bc","\u22c4","\u22ce","\u22cf","\u22d2","\u22d3","\u2a5e","\u2295","\u22d4"],pt=String.fromCodePoint(8292);ut.push(pt);const ht=["\u2020","\u2021","\u2210","\u2217","\u2218","\u2219","\u2240","\u229a","\u229b","\u22a0","\u22a1","\u22c5","\u22c6","\u22c7","\u22c8","\u22c9","\u22ca","\u22cb","\u22cc","\u25cb","\xb7","*","\u2297","\u2299"],ft=String.fromCodePoint(8290);ht.push(ft);const dt=String.fromCodePoint(8289),mt=["\xbc","\xbd","\xbe","\u2150","\u2151","\u2152","\u2153","\u2154","\u2155","\u2156","\u2157","\u2158","\u2159","\u215a","\u215b","\u215c","\u215d","\u215e","\u215f","\u2189"],yt=["\xb2","\xb3","\xb9","\u2070","\u2074","\u2075","\u2076","\u2077","\u2078","\u2079"].concat(["\u2080","\u2081","\u2082","\u2083","\u2084","\u2085","\u2086","\u2087","\u2088","\u2089"],["\u2460","\u2461","\u2462","\u2463","\u2464","\u2465","\u2466","\u2467","\u2468","\u2469","\u246a","\u246b","\u246c","\u246d","\u246e","\u246f","\u2470","\u2471","\u2472","\u2473","\u24ea","\u24eb","\u24ec","\u24ed","\u24ee","\u24ef","\u24f0","\u24f1","\u24f2","\u24f3","\u24f4","\u24f5","\u24f6","\u24f7","\u24f8","\u24f9","\u24fa","\u24fb","\u24fc","\u24fd","\u24fe","\u24ff","\u2776","\u2777","\u2778","\u2779","\u277a","\u277b","\u277c","\u277d","\u277e","\u277f","\u2780","\u2781","\u2782","\u2783","\u2784","\u2785","\u2786","\u2787","\u2788","\u2789","\u278a","\u278b","\u278c","\u278d","\u278e","\u278f","\u2790","\u2791","\u2792","\u2793","\u3248","\u3249","\u324a","\u324b","\u324c","\u324d","\u324e","\u324f","\u3251","\u3252","\u3253","\u3254","\u3255","\u3256","\u3257","\u3258","\u3259","\u325a","\u325b","\u325c","\u325d","\u325e","\u325f","\u32b1","\u32b2","\u32b3","\u32b4","\u32b5","\u32b6","\u32b7","\u32b8","\u32b9","\u32ba","\u32bb","\u32bc","\u32bd","\u32be","\u32bf"],["\u2474","\u2475","\u2476","\u2477","\u2478","\u2479","\u247a","\u247b","\u247c","\u247d","\u247e","\u247f","\u2480","\u2481","\u2482","\u2483","\u2484","\u2485","\u2486","\u2487"],["\u2488","\u2489","\u248a","\u248b","\u248c","\u248d","\u248e","\u248f","\u2490","\u2491","\u2492","\u2493","\u2494","\u2495","\u2496","\u2497","\u2498","\u2499","\u249a","\u249b","\ud83c\udd00","\ud83c\udd01","\ud83c\udd02","\ud83c\udd03","\ud83c\udd04","\ud83c\udd05","\ud83c\udd06","\ud83c\udd07","\ud83c\udd08","\ud83c\udd09","\ud83c\udd0a"]),gt=["cos","cot","csc","sec","sin","tan","arccos","arccot","arccsc","arcsec","arcsin","arctan","arc cos","arc cot","arc csc","arc sec","arc sin","arc tan"].concat(["cosh","coth","csch","sech","sinh","tanh","arcosh","arcoth","arcsch","arsech","arsinh","artanh","arccosh","arccoth","arccsch","arcsech","arcsinh","arctanh"],["deg","det","dim","hom","ker","Tr","tr"],["log","ln","lg","exp","expt","gcd","gcd","arg","im","re","Pr"]),bt=[{set:["!",'"',"#","%","&",";","?","@","\\","\xa1","\xa7","\xb6","\xbf","\u2017","\u2020","\u2021","\u2022","\u2023","\u2024","\u2025","\u2027","\u2030","\u2031","\u2038","\u203b","\u203c","\u203d","\u203e","\u2041","\u2042","\u2043","\u2047","\u2048","\u2049","\u204b","\u204c","\u204d","\u204e","\u204f","\u2050","\u2051","\u2053","\u2055","\u2056","\u2058","\u2059","\u205a","\u205b","\u205c","\u205d","\u205e","\ufe10","\ufe14","\ufe15","\ufe16","\ufe30","\ufe45","\ufe46","\ufe49","\ufe4a","\ufe4b","\ufe4c","\ufe54","\ufe56","\ufe57","\ufe5f","\ufe60","\ufe61","\ufe68","\ufe6a","\ufe6b","\uff01","\uff02","\uff03","\uff05","\uff06","\uff07","\uff0a","\uff0f","\uff1b","\uff1f","\uff20","\uff3c"],type:"punctuation",role:"unknown"},{set:["\ufe13",":","\uff1a","\ufe55"],type:"punctuation",role:"colon"},{set:n,type:"punctuation",role:"comma"},{set:["\u2026","\u22ee","\u22ef","\u22f0","\u22f1","\ufe19"],type:"punctuation",role:"ellipsis"},{set:[".","\ufe52","\uff0e"],type:"punctuation",role:"fullstop"},{set:o,type:"operator",role:"dash"},{set:i,type:"operator",role:"tilde"},{set:["'","\u2032","\u2033","\u2034","\u2035","\u2036","\u2037","\u2057","\u02b9","\u02ba"],type:"punctuation",role:"prime"},{set:["\xb0"],type:"punctuation",role:"degree"},{set:l,type:"fence",role:"open"},{set:c,type:"fence",role:"close"},{set:u,type:"fence",role:"top"},{set:p,type:"fence",role:"bottom"},{set:h,type:"fence",role:"neutral"},{set:f,type:"fence",role:"metric"},{set:m,type:"identifier",role:"latinletter",font:"normal"},{set:d,type:"identifier",role:"latinletter",font:"normal"},{set:g,type:"identifier",role:"latinletter",font:"normal"},{set:y,type:"identifier",role:"latinletter",font:"normal"},{set:v,type:"identifier",role:"latinletter",font:"bold"},{set:b,type:"identifier",role:"latinletter",font:"bold"},{set:S,type:"identifier",role:"latinletter",font:"italic"},{set:_,type:"identifier",role:"latinletter",font:"italic"},{set:O,type:"identifier",role:"latinletter",font:"bold-italic"},{set:M,type:"identifier",role:"latinletter",font:"bold-italic"},{set:E,type:"identifier",role:"latinletter",font:"script"},{set:x,type:"identifier",role:"latinletter",font:"script"},{set:C,type:"identifier",role:"latinletter",font:"bold-script"},{set:A,type:"identifier",role:"latinletter",font:"bold-script"},{set:N,type:"identifier",role:"latinletter",font:"fraktur"},{set:T,type:"identifier",role:"latinletter",font:"fraktur"},{set:L,type:"identifier",role:"latinletter",font:"double-struck"},{set:w,type:"identifier",role:"latinletter",font:"double-struck"},{set:P,type:"identifier",role:"latinletter",font:"bold-fraktur"},{set:I,type:"identifier",role:"latinletter",font:"bold-fraktur"},{set:k,type:"identifier",role:"latinletter",font:"sans-serif"},{set:R,type:"identifier",role:"latinletter",font:"sans-serif"},{set:B,type:"identifier",role:"latinletter",font:"sans-serif-bold"},{set:j,type:"identifier",role:"latinletter",font:"sans-serif-bold"},{set:F,type:"identifier",role:"latinletter",font:"sans-serif-italic"},{set:D,type:"identifier",role:"latinletter",font:"sans-serif-italic"},{set:U,type:"identifier",role:"latinletter",font:"sans-serif-bold-italic"},{set:H,type:"identifier",role:"latinletter",font:"sans-serif-bold-italic"},{set:V,type:"identifier",role:"latinletter",font:"monospace"},{set:X,type:"identifier",role:"latinletter",font:"monospace"},{set:q,type:"identifier",role:"latinletter",font:"double-struck-italic"},{set:G,type:"identifier",role:"greekletter",font:"normal"},{set:W,type:"identifier",role:"greekletter",font:"normal"},{set:J,type:"identifier",role:"greekletter",font:"bold"},{set:z,type:"identifier",role:"greekletter",font:"bold"},{set:$,type:"identifier",role:"greekletter",font:"italic"},{set:K,type:"identifier",role:"greekletter",font:"italic"},{set:Z,type:"identifier",role:"greekletter",font:"bold-italic"},{set:Y,type:"identifier",role:"greekletter",font:"bold-italic"},{set:tt,type:"identifier",role:"greekletter",font:"sans-serif-bold"},{set:Q,type:"identifier",role:"greekletter",font:"sans-serif-bold"},{set:et,type:"identifier",role:"greekletter",font:"sans-serif-bold-italic"},{set:rt,type:"identifier",role:"greekletter",font:"sans-serif-bold-italic"},{set:nt,type:"identifier",role:"greekletter",font:"double-struck"},{set:ot,type:"identifier",role:"greekletter",font:"normal"},{set:it,type:"identifier",role:"greekletter",font:"bold"},{set:st,type:"identifier",role:"greekletter",font:"italic"},{set:at,type:"identifier",role:"greekletter",font:"sans-serif-bold"},{set:lt,type:"identifier",role:"otherletter",font:"normal"},{set:["0","1","2","3","4","5","6","7","8","9"],type:"number",role:"integer",font:"normal"},{set:["\uff10","\uff11","\uff12","\uff13","\uff14","\uff15","\uff16","\uff17","\uff18","\uff19"],type:"number",role:"integer",font:"normal"},{set:["\ud835\udfce","\ud835\udfcf","\ud835\udfd0","\ud835\udfd1","\ud835\udfd2","\ud835\udfd3","\ud835\udfd4","\ud835\udfd5","\ud835\udfd6","\ud835\udfd7"],type:"number",role:"integer",font:"bold"},{set:["\ud835\udfd8","\ud835\udfd9","\ud835\udfda","\ud835\udfdb","\ud835\udfdc","\ud835\udfdd","\ud835\udfde","\ud835\udfdf","\ud835\udfe0","\ud835\udfe1"],type:"number",role:"integer",font:"double-struck"},{set:["\ud835\udfe2","\ud835\udfe3","\ud835\udfe4","\ud835\udfe5","\ud835\udfe6","\ud835\udfe7","\ud835\udfe8","\ud835\udfe9","\ud835\udfea","\ud835\udfeb"],type:"number",role:"integer",font:"sans-serif"},{set:["\ud835\udfec","\ud835\udfed","\ud835\udfee","\ud835\udfef","\ud835\udff0","\ud835\udff1","\ud835\udff2","\ud835\udff3","\ud835\udff4","\ud835\udff5"],type:"number",role:"integer",font:"sans-serif-bold"},{set:["\ud835\udff6","\ud835\udff7","\ud835\udff8","\ud835\udff9","\ud835\udffa","\ud835\udffb","\ud835\udffc","\ud835\udffd","\ud835\udffe","\ud835\udfff"],type:"number",role:"integer",font:"monospace"},{set:mt,type:"number",role:"float"},{set:yt,type:"number",role:"othernumber"},{set:ut,type:"operator",role:"addition"},{set:ht,type:"operator",role:"multiplication"},{set:["\xaf","-","\u2052","\u207b","\u208b","\u2212","\u2216","\u2238","\u2242","\u2296","\u229f","\u2796","\u2a29","\u2a2a","\u2a2b","\u2a2c","\u2a3a","\u2a41","\ufe63","\uff0d","\u2010","\u2011"],type:"operator",role:"subtraction"},{set:["/","\xf7","\u2044","\u2215","\u2298","\u27cc","\u29bc","\u2a38"],type:"operator",role:"division"},{set:["\u2200","\u2203","\u2206","\u2207","\u2202","\u2201","\u2204"],type:"operator",role:"prefix operator"},{set:["\ud835\udec1","\ud835\udedb","\ud835\udfca","\ud835\udfcb"],type:"operator",role:"prefix operator",font:"bold"},{set:["\ud835\udefb","\ud835\udf15"],type:"operator",role:"prefix operator",font:"italic"},{set:["\ud835\udf6f","\ud835\udf89"],type:"operator",role:"prefix operator",font:"sans-serif-bold"},{set:["=","~","\u207c","\u208c","\u223c","\u223d","\u2243","\u2245","\u2248","\u224a","\u224b","\u224c","\u224d","\u224e","\u2251","\u2252","\u2253","\u2254","\u2255","\u2256","\u2257","\u2258","\u2259","\u225a","\u225b","\u225c","\u225d","\u225e","\u225f","\u2261","\u2263","\u29e4","\u2a66","\u2a6e","\u2a6f","\u2a70","\u2a71","\u2a72","\u2a73","\u2a74","\u2a75","\u2a76","\u2a77","\u2a78","\u22d5","\u2a6d","\u2a6a","\u2a6b","\u2a6c","\ufe66","\uff1d","\u2a6c","\u229c","\u2237"],type:"relation",role:"equality"},{set:["<",">","\u2241","\u2242","\u2244","\u2246","\u2247","\u2249","\u224f","\u2250","\u2260","\u2262","\u2264","\u2265","\u2266","\u2267","\u2268","\u2269","\u226a","\u226b","\u226c","\u226d","\u226e","\u226f","\u2270","\u2271","\u2272","\u2273","\u2274","\u2275","\u2276","\u2277","\u2278","\u2279","\u227a","\u227b","\u227c","\u227d","\u227e","\u227f","\u2280","\u2281","\u22d6","\u22d7","\u22d8","\u22d9","\u22da","\u22db","\u22dc","\u22dd","\u22de","\u22df","\u22e0","\u22e1","\u22e6","\u22e7","\u22e8","\u22e9","\u2a79","\u2a7a","\u2a7b","\u2a7c","\u2a7d","\u2a7e","\u2a7f","\u2a80","\u2a81","\u2a82","\u2a83","\u2a84","\u2a85","\u2a86","\u2a87","\u2a88","\u2a89","\u2a8a","\u2a8b","\u2a8c","\u2a8d","\u2a8e","\u2a8f","\u2a90","\u2a91","\u2a92","\u2a93","\u2a94","\u2a95","\u2a96","\u2a97","\u2a98","\u2a99","\u2a9a","\u2a9b","\u2a9c","\u2a9d","\u2a9e","\u2a9f","\u2aa0","\u2aa1","\u2aa2","\u2aa3","\u2aa4","\u2aa5","\u2aa6","\u2aa7","\u2aa8","\u2aa9","\u2aaa","\u2aab","\u2aac","\u2aad","\u2aae","\u2aaf","\u2ab0","\u2ab1","\u2ab2","\u2ab3","\u2ab4","\u2ab5","\u2ab6","\u2ab7","\u2ab8","\u2ab9","\u2aba","\u2abb","\u2abc","\u2af7","\u2af8","\u2af9","\u2afa","\u29c0","\u29c1","\ufe64","\ufe65","\uff1c","\uff1e"],type:"relation",role:"inequality"},{set:["\u22e2","\u22e3","\u22e4","\u22e5","\u2282","\u2283","\u2284","\u2285","\u2286","\u2287","\u2288","\u2289","\u228a","\u228b","\u228f","\u2290","\u2291","\u2292","\u2abd","\u2abe","\u2abf","\u2ac0","\u2ac1","\u2ac2","\u2ac3","\u2ac4","\u2ac5","\u2ac6","\u2ac7","\u2ac8","\u2ac9","\u2aca","\u2acb","\u2acc","\u2acd","\u2ace","\u2acf","\u2ad0","\u2ad1","\u2ad2","\u2ad3","\u2ad4","\u2ad5","\u2ad6","\u2ad7","\u2ad8","\u22d0","\u22d1","\u22ea","\u22eb","\u22ec","\u22ed","\u22b2","\u22b3","\u22b4","\u22b5"],type:"relation",role:"set"},{set:["\u22a2","\u22a3","\u22a6","\u22a7","\u22a8","\u22a9","\u22aa","\u22ab","\u22ac","\u22ad","\u22ae","\u22af","\u2ade","\u2adf","\u2ae0","\u2ae1","\u2ae2","\u2ae3","\u2ae4","\u2ae5","\u2ae6","\u2ae7","\u2ae8","\u2ae9","\u2aea","\u2aeb","\u2aec","\u2aed"],type:"relation",role:"unknown"},{set:["\u2190","\u2191","\u2192","\u2193","\u2194","\u2195","\u2196","\u2197","\u2198","\u2199","\u219a","\u219b","\u219c","\u219d","\u219e","\u219f","\u21a0","\u21a1","\u21a2","\u21a3","\u21a4","\u21a5","\u21a6","\u21a7","\u21a8","\u21a9","\u21aa","\u21ab","\u21ac","\u21ad","\u21ae","\u21af","\u21b0","\u21b1","\u21b2","\u21b3","\u21b4","\u21b5","\u21b6","\u21b7","\u21b8","\u21b9","\u21ba","\u21bb","\u21c4","\u21c5","\u21c6","\u21c7","\u21c8","\u21c9","\u21ca","\u21cd","\u21ce","\u21cf","\u21d0","\u21d1","\u21d2","\u21d3","\u21d4","\u21d5","\u21d6","\u21d7","\u21d8","\u21d9","\u21da","\u21db","\u21dc","\u21dd","\u21de","\u21df","\u21e0","\u21e1","\u21e2","\u21e3","\u21e4","\u21e5","\u21e6","\u21e7","\u21e8","\u21e9","\u21ea","\u21eb","\u21ec","\u21ed","\u21ee","\u21ef","\u21f0","\u21f1","\u21f2","\u21f3","\u21f4","\u21f5","\u21f6","\u21f7","\u21f8","\u21f9","\u21fa","\u21fb","\u21fc","\u21fd","\u21fe","\u21ff","\u2301","\u2303","\u2304","\u2324","\u238b","\u2794","\u2798","\u2799","\u279a","\u279b","\u279c","\u279d","\u279e","\u279f","\u27a0","\u27a1","\u27a2","\u27a3","\u27a4","\u27a5","\u27a6","\u27a7","\u27a8","\u27a9","\u27aa","\u27ab","\u27ac","\u27ad","\u27ae","\u27af","\u27b1","\u27b2","\u27b3","\u27b4","\u27b5","\u27b6","\u27b7","\u27b8","\u27b9","\u27ba","\u27bb","\u27bc","\u27bd","\u27be","\u27f0","\u27f1","\u27f2","\u27f3","\u27f4","\u27f5","\u27f6","\u27f7","\u27f8","\u27f9","\u27fa","\u27fb","\u27fc","\u27fd","\u27fe","\u27ff","\u2900","\u2901","\u2902","\u2903","\u2904","\u2905","\u2906","\u2907","\u2908","\u2909","\u290a","\u290b","\u290c","\u290d","\u290e","\u290f","\u2910","\u2911","\u2912","\u2913","\u2914","\u2915","\u2916","\u2917","\u2918","\u2919","\u291a","\u291b","\u291c","\u291d","\u291e","\u291f","\u2920","\u2921","\u2922","\u2923","\u2924","\u2925","\u2926","\u2927","\u2928","\u2929","\u292a","\u292d","\u292e","\u292f","\u2930","\u2931","\u2932","\u2933","\u2934","\u2935","\u2936","\u2937","\u2938","\u2939","\u293a","\u293b","\u293c","\u293d","\u293e","\u293f","\u2940","\u2941","\u2942","\u2943","\u2944","\u2945","\u2946","\u2947","\u2948","\u2949","\u2970","\u2971","\u2972","\u2973","\u2974","\u2975","\u2976","\u2977","\u2978","\u2979","\u297a","\u297b","\u29b3","\u29b4","\u29bd","\u29ea","\u29ec","\u29ed","\u2a17","\u2b00","\u2b01","\u2b02","\u2b03","\u2b04","\u2b05","\u2b06","\u2b07","\u2b08","\u2b09","\u2b0a","\u2b0b","\u2b0c","\u2b0d","\u2b0e","\u2b0f","\u2b10","\u2b11","\u2b30","\u2b31","\u2b32","\u2b33","\u2b34","\u2b35","\u2b36","\u2b37","\u2b38","\u2b39","\u2b3a","\u2b3b","\u2b3c","\u2b3d","\u2b3e","\u2b3f","\u2b40","\u2b41","\u2b42","\u2b43","\u2b44","\u2b45","\u2b46","\u2b47","\u2b48","\u2b49","\u2b4a","\u2b4b","\u2b4c","\uffe9","\uffea","\uffeb","\uffec","\u21bc","\u21bd","\u21be","\u21bf","\u21c0","\u21c1","\u21c2","\u21c3","\u21cb","\u21cc","\u294a","\u294b","\u294c","\u294d","\u294e","\u294f","\u2950","\u2951","\u2952","\u2953","\u2954","\u2955","\u2956","\u2957","\u2958","\u2959","\u295a","\u295b","\u295c","\u295d","\u295e","\u295f","\u2960","\u2961","\u2962","\u2963","\u2964","\u2965","\u2966","\u2967","\u2968","\u2969","\u296a","\u296b","\u296c","\u296d","\u296e","\u296f","\u297c","\u297d","\u297e","\u297f"],type:"relation",role:"arrow"},{set:["\u2208","\u220a","\u22f2","\u22f3","\u22f4","\u22f5","\u22f6","\u22f7","\u22f8","\u22f9","\u22ff"],type:"operator",role:"element"},{set:["\u2209"],type:"operator",role:"nonelement"},{set:["\u220b","\u220d","\u22fa","\u22fb","\u22fc","\u22fd","\u22fe"],type:"operator",role:"reelement"},{set:["\u220c"],type:"operator",role:"renonelement"},{set:["\u2140","\u220f","\u2210","\u2211","\u22c0","\u22c1","\u22c2","\u22c3","\u2a00","\u2a01","\u2a02","\u2a03","\u2a04","\u2a05","\u2a06","\u2a07","\u2a08","\u2a09","\u2a0a","\u2a0b","\u2afc","\u2aff"],type:"largeop",role:"sum"},{set:["\u222b","\u222c","\u222d","\u222e","\u222f","\u2230","\u2231","\u2232","\u2233","\u2a0c","\u2a0d","\u2a0e","\u2a0f","\u2a10","\u2a11","\u2a12","\u2a13","\u2a14","\u2a15","\u2a16","\u2a17","\u2a18","\u2a19","\u2a1a","\u2a1b","\u2a1c"],type:"largeop",role:"integral"},{set:["\u221f","\u2220","\u2221","\u2222","\u22be","\u22bf","\u25b3","\u25b7","\u25bd","\u25c1"],type:"operator",role:"geometry"},{set:["inf","lim","liminf","limsup","max","min","sup","injlim","projlim","inj lim","proj lim"],type:"function",role:"limit function"},{set:gt,type:"function",role:"prefix function"},{set:["mod","rem"],type:"operator",role:"prefix function"}],vt=function(){const t={};for(let e,r=0;e=bt[r];r++)e.set.forEach((function(r){t[r]={role:e.role||"unknown",type:e.type||"unknown",font:e.font||"unknown"}}));return t}();e.equal=function(t,e){return t.type===e.type&&t.role===e.role&&t.font===e.font},e.lookupType=function(t){var e;return(null===(e=vt[t])||void 0===e?void 0:e.type)||"unknown"},e.lookupRole=function(t){var e;return(null===(e=vt[t])||void 0===e?void 0:e.role)||"unknown"},e.lookupMeaning=function(t){return vt[t]||{role:"unknown",type:"unknown",font:"unknown"}},e.invisibleTimes=function(){return ft},e.invisiblePlus=function(){return pt},e.invisibleComma=function(){return r},e.functionApplication=function(){return dt},e.isMatchingFence=function(t,e){return-1!==h.indexOf(t)||-1!==f.indexOf(t)?t===e:s[t]===e||a[t]===e},e.isEmbellishedType=function(t){return"operator"===t||"relation"===t||"fence"===t||"punctuation"===t};const _t=new Map;function St(t,e){return`${t} ${e}`}function Mt(t,e,r=""){for(const n of e)_t.set(St(t,n),r||t)}Mt("d",["d","\u2146","\uff44","\ud835\udc1d","\ud835\udc51","\ud835\udcb9","\ud835\udced","\ud835\udd21","\ud835\udd55","\ud835\udd89","\ud835\uddbd","\ud835\uddf1","\ud835\ude25","\ud835\ude8d"]),Mt("bar",o),Mt("tilde",i),e.lookupSecondary=function(t,e){return _t.get(St(t,e))}},8158:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.SemanticMeaningCollator=e.SemanticNodeCollator=e.SemanticDefault=void 0;const n=r(3588),o=r(3882);class i{constructor(){this.map={}}static key(t,e){return e?t+":"+e:t}add(t,e){this.map[i.key(t,e.font)]=e}addNode(t){this.add(t.textContent,t.meaning())}retrieve(t,e){return this.map[i.key(t,e)]}retrieveNode(t){return this.retrieve(t.textContent,t.font)}size(){return Object.keys(this.map).length}}e.SemanticDefault=i;class s{constructor(){this.map={}}add(t,e){const r=this.map[t];r?r.push(e):this.map[t]=[e]}retrieve(t,e){return this.map[i.key(t,e)]}retrieveNode(t){return this.retrieve(t.textContent,t.font)}copy(){const t=this.copyCollator();for(const e in this.map)t.map[e]=this.map[e];return t}minimize(){for(const t in this.map)1===this.map[t].length&&delete this.map[t]}minimalCollator(){const t=this.copy();for(const e in t.map)1===t.map[e].length&&delete t.map[e];return t}isMultiValued(){for(const t in this.map)if(this.map[t].length>1)return!0;return!1}isEmpty(){return!Object.keys(this.map).length}}class a extends s{copyCollator(){return new a}add(t,e){const r=i.key(t,e.font);super.add(r,e)}addNode(t){this.add(t.textContent,t)}toString(){const t=[];for(const e in this.map){const r=Array(e.length+3).join(" "),n=this.map[e],o=[];for(let t,e=0;t=n[e];e++)o.push(t.toString());t.push(e+": "+o.join("\n"+r))}return t.join("\n")}collateMeaning(){const t=new l;for(const e in this.map)t.map[e]=this.map[e].map((function(t){return t.meaning()}));return t}}e.SemanticNodeCollator=a;class l extends s{copyCollator(){return new l}add(t,e){const r=this.retrieve(t,e.font);if(!r||!r.find((function(t){return n.equal(t,e)}))){const r=i.key(t,e.font);super.add(r,e)}}addNode(t){this.add(t.textContent,t.meaning())}toString(){const t=[];for(const e in this.map){const r=Array(e.length+3).join(" "),n=this.map[e],o=[];for(let t,e=0;t=n[e];e++)o.push("{type: "+t.type+", role: "+t.role+", font: "+t.font+"}");t.push(e+": "+o.join("\n"+r))}return t.join("\n")}reduce(){for(const t in this.map)1!==this.map[t].length&&(this.map[t]=(0,o.reduce)(this.map[t]))}default(){const t=new i;for(const e in this.map)1===this.map[e].length&&(t.map[e]=this.map[e][0]);return t}newDefault(){const t=this.default();this.reduce();const e=this.default();return t.size()!==e.size()?e:null}}e.SemanticMeaningCollator=l},9911:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.SemanticMultiHeuristic=e.SemanticTreeHeuristic=e.SemanticAbstractHeuristic=void 0;class r{constructor(t,e,r=(t=>!1)){this.name=t,this.apply=e,this.applicable=r}}e.SemanticAbstractHeuristic=r;e.SemanticTreeHeuristic=class extends r{};e.SemanticMultiHeuristic=class extends r{}},7516:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.lookup=e.run=e.add=e.blacklist=e.flags=e.updateFactory=e.factory=void 0,e.factory=null,e.updateFactory=function(t){e.factory=t};const r=new Map;function n(t){return r.get(t)}e.flags={combine_juxtaposition:!0,convert_juxtaposition:!0,multioperator:!0},e.blacklist={},e.add=function(t){const n=t.name;r.set(n,t),e.flags[n]||(e.flags[n]=!1)},e.run=function(t,r,o){const i=n(t);return i&&!e.blacklist[t]&&(e.flags[t]||i.applicable(r))?i.apply(r):o?o(r):r},e.lookup=n},94:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});const n=r(2057),o=r(5897),i=r(3588),s=r(7516),a=r(9911),l=r(5609),c=r(3308),u=r(4795);function p(t,e,r){let n=null;if(!t.length)return n;const o=r[r.length-1],i=o&&o.length,s=e&&e.length,a=c.default.getInstance();if(i&&s){if("infixop"===e[0].type&&"implicit"===e[0].role)return n=t.pop(),o.push(a.postfixNode_(o.pop(),t)),n;n=t.shift();const r=a.prefixNode_(e.shift(),t);return e.unshift(r),n}return i?(o.push(a.postfixNode_(o.pop(),t)),n):(s&&e.unshift(a.prefixNode_(e.shift(),t)),n)}function h(t,e,r){if(!e.length)return t;const o=t.pop(),i=e.shift(),a=r.shift();if(l.isImplicitOp(i)){n.Debugger.getInstance().output("Juxta Heuristic Case 2");const s=(o?[o,i]:[i]).concat(a);return h(t.concat(s),e,r)}if(!o)return n.Debugger.getInstance().output("Juxta Heuristic Case 3"),h([i].concat(a),e,r);const c=a.shift();if(!c){n.Debugger.getInstance().output("Juxta Heuristic Case 9");const a=s.factory.makeBranchNode("infixop",[o,e.shift()],[i],i.textContent);return a.role="implicit",s.run("combine_juxtaposition",a),e.unshift(a),h(t,e,r)}if(l.isOperator(o)||l.isOperator(c))return n.Debugger.getInstance().output("Juxta Heuristic Case 4"),h(t.concat([o,i,c]).concat(a),e,r);let u=null;return l.isImplicitOp(o)&&l.isImplicitOp(c)?(n.Debugger.getInstance().output("Juxta Heuristic Case 5"),o.contentNodes.push(i),o.contentNodes=o.contentNodes.concat(c.contentNodes),o.childNodes.push(c),o.childNodes=o.childNodes.concat(c.childNodes),c.childNodes.forEach((t=>t.parent=o)),i.parent=o,o.addMathmlNodes(i.mathml),o.addMathmlNodes(c.mathml),u=o):l.isImplicitOp(o)?(n.Debugger.getInstance().output("Juxta Heuristic Case 6"),o.contentNodes.push(i),o.childNodes.push(c),c.parent=o,i.parent=o,o.addMathmlNodes(i.mathml),o.addMathmlNodes(c.mathml),u=o):l.isImplicitOp(c)?(n.Debugger.getInstance().output("Juxta Heuristic Case 7"),c.contentNodes.unshift(i),c.childNodes.unshift(o),o.parent=c,i.parent=c,c.addMathmlNodes(i.mathml),c.addMathmlNodes(o.mathml),u=c):(n.Debugger.getInstance().output("Juxta Heuristic Case 8"),u=s.factory.makeBranchNode("infixop",[o,c],[i],i.textContent),u.role="implicit"),t.push(u),h(t.concat(a),e,r)}s.add(new a.SemanticTreeHeuristic("combine_juxtaposition",(function(t){for(let e,r=t.childNodes.length-1;e=t.childNodes[r];r--)l.isImplicitOp(e)&&!e.nobreaking&&(t.childNodes.splice(r,1,...e.childNodes),t.contentNodes.splice(r,0,...e.contentNodes),e.childNodes.concat(e.contentNodes).forEach((function(e){e.parent=t})),t.addMathmlNodes(e.mathml));return t}))),s.add(new a.SemanticTreeHeuristic("propagateSimpleFunction",(t=>("infixop"!==t.type&&"fraction"!==t.type||!t.childNodes.every(l.isSimpleFunction)||(t.role="composed function"),t)),(t=>"clearspeak"===o.default.getInstance().domain))),s.add(new a.SemanticTreeHeuristic("simpleNamedFunction",(t=>("unit"!==t.role&&-1!==["f","g","h","F","G","H"].indexOf(t.textContent)&&(t.role="simple function"),t)),(t=>"clearspeak"===o.default.getInstance().domain))),s.add(new a.SemanticTreeHeuristic("propagateComposedFunction",(t=>("fenced"===t.type&&"composed function"===t.childNodes[0].role&&(t.role="composed function"),t)),(t=>"clearspeak"===o.default.getInstance().domain))),s.add(new a.SemanticTreeHeuristic("multioperator",(t=>{if("unknown"!==t.role||t.textContent.length<=1)return;const e=[...t.textContent].map(i.lookupMeaning).reduce((function(t,e){return t&&e.role&&"unknown"!==e.role&&e.role!==t?"unknown"===t?e.role:null:t}),"unknown");e&&(t.role=e)}))),s.add(new a.SemanticMultiHeuristic("convert_juxtaposition",(t=>{let e=u.partitionNodes(t,(function(t){return t.textContent===i.invisibleTimes()&&"operator"===t.type}));e=e.rel.length?function(t){const e=[],r=[];let n=t.comp.shift(),o=null,i=[];for(;t.comp.length;)if(i=[],n.length)o&&e.push(o),r.push(n),o=t.rel.shift(),n=t.comp.shift();else{for(o&&i.push(o);!n.length&&t.comp.length;)n=t.comp.shift(),i.push(t.rel.shift());o=p(i,n,r)}i.length||n.length?(e.push(o),r.push(n)):(i.push(o),p(i,n,r));return{rel:e,comp:r}}(e):e,t=e.comp[0];for(let r,n,o=1;r=e.comp[o],n=e.rel[o-1];o++)t.push(n),t=t.concat(r);return e=u.partitionNodes(t,(function(t){return t.textContent===i.invisibleTimes()&&("operator"===t.type||"infixop"===t.type)})),e.rel.length?h(e.comp.shift(),e.rel,e.comp):t}))),s.add(new a.SemanticTreeHeuristic("simple2prefix",(t=>(t.textContent.length>1&&!t.textContent[0].match(/[A-Z]/)&&(t.role="prefix function"),t)),(t=>"braille"===o.default.getInstance().modality&&"identifier"===t.type))),s.add(new a.SemanticTreeHeuristic("detect_cycle",(t=>{t.type="matrix",t.role="cycle";const e=t.childNodes[0];return e.type="row",e.role="cycle",e.textContent="",e.contentNodes=[],t}),(t=>"fenced"===t.type&&"infixop"===t.childNodes[0].type&&"implicit"===t.childNodes[0].role&&t.childNodes[0].childNodes.every((function(t){return"number"===t.type}))&&t.childNodes[0].contentNodes.every((function(t){return"space"===t.role})))))},7228:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.SemanticMathml=void 0;const n=r(5740),o=r(5250),i=r(5609),s=r(3308),a=r(4795);class l extends o.SemanticAbstractParser{constructor(){super("MathML"),this.parseMap_={SEMANTICS:this.semantics_.bind(this),MATH:this.rows_.bind(this),MROW:this.rows_.bind(this),MPADDED:this.rows_.bind(this),MSTYLE:this.rows_.bind(this),MFRAC:this.fraction_.bind(this),MSUB:this.limits_.bind(this),MSUP:this.limits_.bind(this),MSUBSUP:this.limits_.bind(this),MOVER:this.limits_.bind(this),MUNDER:this.limits_.bind(this),MUNDEROVER:this.limits_.bind(this),MROOT:this.root_.bind(this),MSQRT:this.sqrt_.bind(this),MTABLE:this.table_.bind(this),MLABELEDTR:this.tableLabeledRow_.bind(this),MTR:this.tableRow_.bind(this),MTD:this.tableCell_.bind(this),MS:this.text_.bind(this),MTEXT:this.text_.bind(this),MSPACE:this.space_.bind(this),"ANNOTATION-XML":this.text_.bind(this),MI:this.identifier_.bind(this),MN:this.number_.bind(this),MO:this.operator_.bind(this),MFENCED:this.fenced_.bind(this),MENCLOSE:this.enclosed_.bind(this),MMULTISCRIPTS:this.multiscripts_.bind(this),ANNOTATION:this.empty_.bind(this),NONE:this.empty_.bind(this),MACTION:this.action_.bind(this)};const t={type:"identifier",role:"numbersetletter",font:"double-struck"};["C","H","N","P","Q","R","Z","\u2102","\u210d","\u2115","\u2119","\u211a","\u211d","\u2124"].forEach((e=>this.getFactory().defaultMap.add(e,t)).bind(this))}static getAttribute_(t,e,r){if(!t.hasAttribute(e))return r;const n=t.getAttribute(e);return n.match(/^\s*$/)?null:n}parse(t){s.default.getInstance().setNodeFactory(this.getFactory());const e=n.toArray(t.childNodes),r=n.tagName(t),o=this.parseMap_[r],i=(o||this.dummy_.bind(this))(t,e);return a.addAttributes(i,t),-1!==["MATH","MROW","MPADDED","MSTYLE","SEMANTICS"].indexOf(r)||(i.mathml.unshift(t),i.mathmlTree=t),i}semantics_(t,e){return e.length?this.parse(e[0]):this.getFactory().makeEmptyNode()}rows_(t,e){const r=t.getAttribute("semantics");if(r&&r.match("bspr_"))return s.default.proof(t,r,this.parseList.bind(this));let n;return 1===(e=a.purgeNodes(e)).length?(n=this.parse(e[0]),"empty"!==n.type||n.mathmlTree||(n.mathmlTree=t)):n=s.default.getInstance().row(this.parseList(e)),n.mathml.unshift(t),n}fraction_(t,e){if(!e.length)return this.getFactory().makeEmptyNode();const r=this.parse(e[0]),n=e[1]?this.parse(e[1]):this.getFactory().makeEmptyNode();return s.default.getInstance().fractionLikeNode(r,n,t.getAttribute("linethickness"),"true"===t.getAttribute("bevelled"))}limits_(t,e){return s.default.getInstance().limitNode(n.tagName(t),this.parseList(e))}root_(t,e){return e[1]?this.getFactory().makeBranchNode("root",[this.parse(e[1]),this.parse(e[0])],[]):this.sqrt_(t,e)}sqrt_(t,e){const r=this.parseList(a.purgeNodes(e));return this.getFactory().makeBranchNode("sqrt",[s.default.getInstance().row(r)],[])}table_(t,e){const r=t.getAttribute("semantics");if(r&&r.match("bspr_"))return s.default.proof(t,r,this.parseList.bind(this));const n=this.getFactory().makeBranchNode("table",this.parseList(e),[]);return n.mathmlTree=t,s.default.tableToMultiline(n),n}tableRow_(t,e){const r=this.getFactory().makeBranchNode("row",this.parseList(e),[]);return r.role="table",r}tableLabeledRow_(t,e){if(!e.length)return this.tableRow_(t,e);const r=this.parse(e[0]);r.role="label";const n=this.getFactory().makeBranchNode("row",this.parseList(e.slice(1)),[r]);return n.role="table",n}tableCell_(t,e){const r=this.parseList(a.purgeNodes(e));let n;n=r.length?1===r.length&&i.isType(r[0],"empty")?r:[s.default.getInstance().row(r)]:[];const o=this.getFactory().makeBranchNode("cell",n,[]);return o.role="table",o}space_(t,e){const r=t.getAttribute("width"),o=r&&r.match(/[a-z]*$/);if(!o)return this.empty_(t,e);const i=o[0],a=parseFloat(r.slice(0,o.index)),l={cm:.4,pc:.5,em:.5,ex:1,in:.15,pt:5,mm:5}[i];if(!l||isNaN(a)||a1?this.parse(e[1]):this.getFactory().makeUnprocessed(t)}dummy_(t,e){const r=this.getFactory().makeUnprocessed(t);return r.role=t.tagName,r.textContent=t.textContent,r}leaf_(t,e){if(1===e.length&&e[0].nodeType!==n.NodeType.TEXT_NODE){const r=this.getFactory().makeUnprocessed(t);return r.role=e[0].tagName,a.addAttributes(r,e[0]),r}return this.getFactory().makeLeafNode(t.textContent,s.default.getInstance().font(t.getAttribute("mathvariant")))}}e.SemanticMathml=l},5952:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.SemanticNode=void 0;const n=r(5740),o=r(3588),i=r(4795);class s{constructor(t){this.id=t,this.mathml=[],this.parent=null,this.type="unknown",this.role="unknown",this.font="unknown",this.embellished=null,this.fencePointer="",this.childNodes=[],this.textContent="",this.mathmlTree=null,this.contentNodes=[],this.annotation={},this.attributes={},this.nobreaking=!1}static fromXml(t){const e=parseInt(t.getAttribute("id"),10),r=new s(e);return r.type=t.tagName,s.setAttribute(r,t,"role"),s.setAttribute(r,t,"font"),s.setAttribute(r,t,"embellished"),s.setAttribute(r,t,"fencepointer","fencePointer"),t.getAttribute("annotation")&&r.parseAnnotation(t.getAttribute("annotation")),i.addAttributes(r,t),s.processChildren(r,t),r}static setAttribute(t,e,r,n){n=n||r;const o=e.getAttribute(r);o&&(t[n]=o)}static processChildren(t,e){for(const r of n.toArray(e.childNodes)){if(r.nodeType===n.NodeType.TEXT_NODE){t.textContent=r.textContent;continue}const e=n.toArray(r.childNodes).map(s.fromXml);e.forEach((e=>e.parent=t)),"CONTENT"===n.tagName(r)?t.contentNodes=e:t.childNodes=e}}querySelectorAll(t){let e=[];for(let r,n=0;r=this.childNodes[n];n++)e=e.concat(r.querySelectorAll(t));for(let r,n=0;r=this.contentNodes[n];n++)e=e.concat(r.querySelectorAll(t));return t(this)&&e.unshift(this),e}xml(t,e){const r=function(r,n){const o=n.map((function(r){return r.xml(t,e)})),i=t.createElementNS("",r);for(let t,e=0;t=o[e];e++)i.appendChild(t);return i},n=t.createElementNS("",this.type);return e||this.xmlAttributes(n),n.textContent=this.textContent,this.contentNodes.length>0&&n.appendChild(r("content",this.contentNodes)),this.childNodes.length>0&&n.appendChild(r("children",this.childNodes)),n}toString(t=!1){const e=n.parseInput("");return n.serializeXml(this.xml(e,t))}allAttributes(){const t=[];return t.push(["role",this.role]),"unknown"!==this.font&&t.push(["font",this.font]),Object.keys(this.annotation).length&&t.push(["annotation",this.xmlAnnotation()]),this.embellished&&t.push(["embellished",this.embellished]),this.fencePointer&&t.push(["fencepointer",this.fencePointer]),t.push(["id",this.id.toString()]),t}xmlAnnotation(){const t=[];for(const e in this.annotation)this.annotation[e].forEach((function(r){t.push(e+":"+r)}));return t.join(";")}toJson(){const t={};t.type=this.type;const e=this.allAttributes();for(let r,n=0;r=e[n];n++)t[r[0]]=r[1].toString();return this.textContent&&(t.$t=this.textContent),this.childNodes.length&&(t.children=this.childNodes.map((function(t){return t.toJson()}))),this.contentNodes.length&&(t.content=this.contentNodes.map((function(t){return t.toJson()}))),t}updateContent(t,e){const r=e?t.replace(/^[ \f\n\r\t\v\u200b]*/,"").replace(/[ \f\n\r\t\v\u200b]*$/,""):t.trim();if(t=t&&!r?t:r,this.textContent===t)return;const n=(0,o.lookupMeaning)(t);this.textContent=t,this.role=n.role,this.type=n.type,this.font=n.font}addMathmlNodes(t){for(let e,r=0;e=t[r];r++)-1===this.mathml.indexOf(e)&&this.mathml.push(e)}appendChild(t){this.childNodes.push(t),this.addMathmlNodes(t.mathml),t.parent=this}replaceChild(t,e){const r=this.childNodes.indexOf(t);if(-1===r)return;t.parent=null,e.parent=this,this.childNodes[r]=e;const n=t.mathml.filter((function(t){return-1===e.mathml.indexOf(t)})),o=e.mathml.filter((function(e){return-1===t.mathml.indexOf(e)}));this.removeMathmlNodes(n),this.addMathmlNodes(o)}appendContentNode(t){t&&(this.contentNodes.push(t),this.addMathmlNodes(t.mathml),t.parent=this)}removeContentNode(t){if(t){const e=this.contentNodes.indexOf(t);-1!==e&&this.contentNodes.slice(e,1)}}equals(t){if(!t)return!1;if(this.type!==t.type||this.role!==t.role||this.textContent!==t.textContent||this.childNodes.length!==t.childNodes.length||this.contentNodes.length!==t.contentNodes.length)return!1;for(let e,r,n=0;e=this.childNodes[n],r=t.childNodes[n];n++)if(!e.equals(r))return!1;for(let e,r,n=0;e=this.contentNodes[n],r=t.contentNodes[n];n++)if(!e.equals(r))return!1;return!0}displayTree(){console.info(this.displayTree_(0))}addAnnotation(t,e){e&&this.addAnnotation_(t,e)}getAnnotation(t){const e=this.annotation[t];return e||[]}hasAnnotation(t,e){const r=this.annotation[t];return!!r&&-1!==r.indexOf(e)}parseAnnotation(t){const e=t.split(";");for(let t=0,r=e.length;t1)return!1;const r=e[0];if("infixop"===r.type){if("implicit"!==r.role)return!1;if(r.childNodes.some((t=>i(t,"infixop"))))return!1}return!0},e.isPrefixFunctionBoundary=function(t){return c(t)&&!a(t,"division")||i(t,"appl")||l(t)},e.isBigOpBoundary=function(t){return c(t)||l(t)},e.isIntegralDxBoundary=function(t,e){return!!e&&i(e,"identifier")&&n.lookupSecondary("d",t.textContent)},e.isIntegralDxBoundarySingle=function(t){if(i(t,"identifier")){const e=t.textContent[0];return e&&t.textContent[1]&&n.lookupSecondary("d",e)}return!1},e.isGeneralFunctionBoundary=l,e.isEmbellished=function(t){return t.embellished?t.embellished:n.isEmbellishedType(t.type)?t.type:null},e.isOperator=c,e.isRelation=u,e.isPunctuation=p,e.isFence=h,e.isElligibleEmbellishedFence=function(t){return!(!t||!h(t))&&(!t.embellished||f(t))},e.isTableOrMultiline=d,e.tableIsMatrixOrVector=function(t){return!!t&&m(t)&&d(t.childNodes[0])},e.isFencedElement=m,e.tableIsCases=function(t,e){return e.length>0&&a(e[e.length-1],"openfence")},e.tableIsMultiline=function(t){return t.childNodes.every((function(t){return t.childNodes.length<=1}))},e.lineIsLabelled=function(t){return i(t,"line")&&t.contentNodes.length&&a(t.contentNodes[0],"label")},e.isBinomial=function(t){return 2===t.childNodes.length},e.isLimitBase=function t(e){return i(e,"largeop")||i(e,"limboth")||i(e,"limlower")||i(e,"limupper")||i(e,"function")&&a(e,"limit function")||(i(e,"overscore")||i(e,"underscore"))&&t(e.childNodes[0])},e.isSimpleFunctionHead=function(t){return"identifier"===t.type||"latinletter"===t.role||"greekletter"===t.role||"otherletter"===t.role},e.singlePunctAtPosition=function(t,e,r){return 1===e.length&&("punctuation"===t[r].type||"punctuation"===t[r].embellished)&&t[r]===e[0]},e.isSimpleFunction=function(t){return i(t,"identifier")&&a(t,"simple function")},e.isLeftBrace=y,e.isRightBrace=g,e.isSetNode=function(t){return y(t.contentNodes[0])&&g(t.contentNodes[1])},e.illegalSingleton_=["punctuation","punctuated","relseq","multirel","table","multiline","cases","inference"],e.scriptedElement_=["limupper","limlower","limboth","subscript","superscript","underscore","overscore","tensor"],e.isSingletonSetContent=function t(r){const n=r.type;return-1===e.illegalSingleton_.indexOf(n)&&("infixop"!==n||"implicit"===r.role)&&("fenced"===n?"leftright"!==r.role||t(r.childNodes[0]):-1===e.scriptedElement_.indexOf(n)||t(r.childNodes[0]))},e.isNumber=b,e.isUnitCounter=function(t){return b(t)||"vulgar"===t.role||"mixed"===t.role},e.isPureUnit=function(t){const e=t.childNodes;return"unit"===t.role&&(!e.length||"unit"===e[0].role)},e.isImplicit=function(t){return"implicit"===t.role||"unit"===t.role&&!!t.contentNodes.length&&t.contentNodes[0].textContent===n.invisibleTimes()},e.isImplicitOp=function(t){return"infixop"===t.type&&"implicit"===t.role},e.isNeutralFence=v,e.compareNeutralFences=function(t,e){return v(t)&&v(e)&&(0,o.getEmbellishedInner)(t).textContent===(0,o.getEmbellishedInner)(e).textContent},e.elligibleLeftNeutral=function(t){return!!v(t)&&(!t.embellished||"superscript"!==t.type&&"subscript"!==t.type&&("tensor"!==t.type||"empty"===t.childNodes[3].type&&"empty"===t.childNodes[4].type))},e.elligibleRightNeutral=function(t){return!!v(t)&&(!t.embellished||("tensor"!==t.type||"empty"===t.childNodes[1].type&&"empty"===t.childNodes[2].type))},e.isMembership=function(t){return["element","nonelement","reelement","renonelement"].includes(t.role)}},3308:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});const n=r(5740),o=r(3588),i=r(7516),s=r(6537),a=r(5609),l=r(4795);class c{constructor(){this.funcAppls={},this.factory_=new s.SemanticNodeFactory,i.updateFactory(this.factory_)}static getInstance(){return c.instance=c.instance||new c,c.instance}static tableToMultiline(t){if(a.tableIsMultiline(t)){t.type="multiline";for(let e,r=0;e=t.childNodes[r];r++)c.rowToLine_(e,"multiline");1===t.childNodes.length&&!a.lineIsLabelled(t.childNodes[0])&&a.isFencedElement(t.childNodes[0].childNodes[0])&&c.tableToMatrixOrVector_(c.rewriteFencedLine_(t)),c.binomialForm_(t),c.classifyMultiline(t)}else c.classifyTable(t)}static number(t){"unknown"!==t.type&&"identifier"!==t.type||(t.type="number"),c.numberRole_(t),c.exprFont_(t)}static classifyMultiline(t){let e=0;const r=t.childNodes.length;let n;for(;e=r)return;const o=n.childNodes[0].role;"unknown"!==o&&t.childNodes.every((function(t){const e=t.childNodes[0];return!e||e.role===o&&(a.isType(e,"relation")||a.isType(e,"relseq"))}))&&(t.role=o)}static classifyTable(t){const e=c.computeColumns_(t);c.classifyByColumns_(t,e,"equality")||c.classifyByColumns_(t,e,"inequality",["equality"])||c.classifyByColumns_(t,e,"arrow")||c.detectCaleyTable(t)}static detectCaleyTable(t){if(!t.mathmlTree)return!1;const e=t.mathmlTree,r=e.getAttribute("columnlines"),n=e.getAttribute("rowlines");return!(!r||!n)&&(!(!c.cayleySpacing(r)||!c.cayleySpacing(n))&&(t.role="cayley",!0))}static cayleySpacing(t){const e=t.split(" ");return("solid"===e[0]||"dashed"===e[0])&&e.slice(1).every((t=>"none"===t))}static proof(t,e,r){const n=c.separateSemantics(e);return c.getInstance().proof(t,n,r)}static findSemantics(t,e,r){const n=null==r?null:r,o=c.getSemantics(t);return!!o&&(!!o[e]&&(null==n||o[e]===n))}static getSemantics(t){const e=t.getAttribute("semantics");return e?c.separateSemantics(e):null}static removePrefix(t){const[,...e]=t.split("_");return e.join("_")}static separateSemantics(t){const e={};return t.split(";").forEach((function(t){const[r,n]=t.split(":");e[c.removePrefix(r)]=n})),e}static matchSpaces_(t,e){for(let r,n=0;r=e[n];n++){const e=t[n].mathmlTree,o=t[n+1].mathmlTree;if(!e||!o)continue;const i=e.nextSibling;if(!i||i===o)continue;const s=c.getSpacer_(i);s&&(r.mathml.push(s),r.mathmlTree=s,r.role="space")}}static getSpacer_(t){if("MSPACE"===n.tagName(t))return t;for(;l.hasEmptyTag(t)&&1===t.childNodes.length;)if(t=t.childNodes[0],"MSPACE"===n.tagName(t))return t;return null}static fenceToPunct_(t){const e=c.FENCE_TO_PUNCT_[t.role];if(e){for(;t.embellished;)t.embellished="punctuation",a.isRole(t,"subsup")||a.isRole(t,"underover")||(t.role=e),t=t.childNodes[0];t.type="punctuation",t.role=e}}static classifyFunction_(t,e){if("appl"===t.type||"bigop"===t.type||"integral"===t.type)return"";if(e[0]&&e[0].textContent===o.functionApplication()){c.getInstance().funcAppls[t.id]=e.shift();let r="simple function";return i.run("simple2prefix",t),"prefix function"!==t.role&&"limit function"!==t.role||(r=t.role),c.propagateFunctionRole_(t,r),"prefix"}const r=c.CLASSIFY_FUNCTION_[t.role];return r||(a.isSimpleFunctionHead(t)?"simple":"")}static propagateFunctionRole_(t,e){if(t){if("infixop"===t.type)return;a.isRole(t,"subsup")||a.isRole(t,"underover")||(t.role=e),c.propagateFunctionRole_(t.childNodes[0],e)}}static getFunctionOp_(t,e){if(e(t))return t;for(let r,n=0;r=t.childNodes[n];n++){const t=c.getFunctionOp_(r,e);if(t)return t}return null}static tableToMatrixOrVector_(t){const e=t.childNodes[0];a.isType(e,"multiline")?c.tableToVector_(t):c.tableToMatrix_(t),t.contentNodes.forEach(e.appendContentNode.bind(e));for(let t,r=0;t=e.childNodes[r];r++)c.assignRoleToRow_(t,c.getComponentRoles_(e));return e.parent=null,e}static tableToVector_(t){const e=t.childNodes[0];e.type="vector",1!==e.childNodes.length?c.binomialForm_(e):c.tableToSquare_(t)}static binomialForm_(t){a.isBinomial(t)&&(t.role="binomial",t.childNodes[0].role="binomial",t.childNodes[1].role="binomial")}static tableToMatrix_(t){const e=t.childNodes[0];e.type="matrix",e.childNodes&&e.childNodes.length>0&&e.childNodes[0].childNodes&&e.childNodes.length===e.childNodes[0].childNodes.length?c.tableToSquare_(t):e.childNodes&&1===e.childNodes.length&&(e.role="rowvector")}static tableToSquare_(t){const e=t.childNodes[0];a.isNeutralFence(t)?e.role="determinant":e.role="squarematrix"}static getComponentRoles_(t){const e=t.role;return e&&"unknown"!==e?e:t.type.toLowerCase()||"unknown"}static tableToCases_(t,e){for(let e,r=0;e=t.childNodes[r];r++)c.assignRoleToRow_(e,"cases");return t.type="cases",t.appendContentNode(e),a.tableIsMultiline(t)&&c.binomialForm_(t),t}static rewriteFencedLine_(t){const e=t.childNodes[0],r=t.childNodes[0].childNodes[0],n=t.childNodes[0].childNodes[0].childNodes[0];return r.parent=t.parent,t.parent=r,n.parent=e,r.childNodes=[t],e.childNodes=[n],r}static rowToLine_(t,e){const r=e||"unknown";a.isType(t,"row")&&(t.type="line",t.role=r,1===t.childNodes.length&&a.isType(t.childNodes[0],"cell")&&(t.childNodes=t.childNodes[0].childNodes,t.childNodes.forEach((function(e){e.parent=t}))))}static assignRoleToRow_(t,e){a.isType(t,"line")?t.role=e:a.isType(t,"row")&&(t.role=e,t.childNodes.forEach((function(t){a.isType(t,"cell")&&(t.role=e)})))}static nextSeparatorFunction_(t){let e;if(t){if(t.match(/^\s+$/))return null;e=t.replace(/\s/g,"").split("").filter((function(t){return t}))}else e=[","];return function(){return e.length>1?e.shift():e[0]}}static numberRole_(t){if("unknown"!==t.role)return;const e=[...t.textContent].filter((t=>t.match(/[^\s]/))),r=e.map(o.lookupMeaning);if(r.every((function(t){return"number"===t.type&&"integer"===t.role||"punctuation"===t.type&&"comma"===t.role})))return t.role="integer",void("0"===e[0]&&t.addAnnotation("general","basenumber"));r.every((function(t){return"number"===t.type&&"integer"===t.role||"punctuation"===t.type}))?t.role="float":t.role="othernumber"}static exprFont_(t){if("unknown"!==t.font)return;const e=[...t.textContent].map(o.lookupMeaning).reduce((function(t,e){return t&&e.font&&"unknown"!==e.font&&e.font!==t?"unknown"===t?e.font:null:t}),"unknown");e&&(t.font=e)}static purgeFences_(t){const e=t.rel,r=t.comp,n=[],o=[];for(;e.length>0;){const t=e.shift();let i=r.shift();a.isElligibleEmbellishedFence(t)?(n.push(t),o.push(i)):(c.fenceToPunct_(t),i.push(t),i=i.concat(r.shift()),r.unshift(i))}return o.push(r.shift()),{rel:n,comp:o}}static rewriteFencedNode_(t){const e=t.contentNodes[0],r=t.contentNodes[1];let n=c.rewriteFence_(t,e);return t.contentNodes[0]=n.fence,n=c.rewriteFence_(n.node,r),t.contentNodes[1]=n.fence,t.contentNodes[0].parent=t,t.contentNodes[1].parent=t,n.node.parent=null,n.node}static rewriteFence_(t,e){if(!e.embellished)return{node:t,fence:e};const r=e.childNodes[0],n=c.rewriteFence_(t,r);return a.isType(e,"superscript")||a.isType(e,"subscript")||a.isType(e,"tensor")?(a.isRole(e,"subsup")||(e.role=t.role),r!==n.node&&(e.replaceChild(r,n.node),r.parent=t),c.propagateFencePointer_(e,r),{node:e,fence:n.fence}):(e.replaceChild(r,n.fence),e.mathmlTree&&-1===e.mathml.indexOf(e.mathmlTree)&&e.mathml.push(e.mathmlTree),{node:n.node,fence:e})}static propagateFencePointer_(t,e){t.fencePointer=e.fencePointer||e.id.toString(),t.embellished=null}static classifyByColumns_(t,e,r,n){return!!(3===e.length&&c.testColumns_(e,1,(t=>c.isPureRelation_(t,r)))||2===e.length&&(c.testColumns_(e,1,(t=>c.isEndRelation_(t,r)||c.isPureRelation_(t,r)))||c.testColumns_(e,0,(t=>c.isEndRelation_(t,r,!0)||c.isPureRelation_(t,r)))))&&(t.role=r,!0)}static isEndRelation_(t,e,r){const n=r?t.childNodes.length-1:0;return a.isType(t,"relseq")&&a.isRole(t,e)&&a.isType(t.childNodes[n],"empty")}static isPureRelation_(t,e){return a.isType(t,"relation")&&a.isRole(t,e)}static computeColumns_(t){const e=[];for(let r,n=0;r=t.childNodes[n];n++)for(let t,n=0;t=r.childNodes[n];n++){e[n]?e[n].push(t):e[n]=[t]}return e}static testColumns_(t,e,r){const n=t[e];return!!n&&(n.some((function(t){return t.childNodes.length&&r(t.childNodes[0])}))&&n.every((function(t){return!t.childNodes.length||r(t.childNodes[0])})))}setNodeFactory(t){c.getInstance().factory_=t,i.updateFactory(c.getInstance().factory_)}getNodeFactory(){return c.getInstance().factory_}identifierNode(t,e,r){if("MathML-Unit"===r)t.type="identifier",t.role="unit";else if(!e&&1===t.textContent.length&&("integer"===t.role||"latinletter"===t.role||"greekletter"===t.role)&&"normal"===t.font)return t.font="italic",i.run("simpleNamedFunction",t);return"unknown"===t.type&&(t.type="identifier"),c.exprFont_(t),i.run("simpleNamedFunction",t)}implicitNode(t){if(t=c.getInstance().getMixedNumbers_(t),1===(t=c.getInstance().combineUnits_(t)).length)return t[0];const e=c.getInstance().implicitNode_(t);return i.run("combine_juxtaposition",e)}text(t,e){return c.exprFont_(t),t.type="text","MS"===e?(t.role="string",t):"MSPACE"===e||t.textContent.match(/^\s*$/)?(t.role="space",t):t}row(t){return 0===(t=t.filter((function(t){return!a.isType(t,"empty")}))).length?c.getInstance().factory_.makeEmptyNode():(t=c.getInstance().getFencesInRow_(t),t=c.getInstance().tablesInRow(t),t=c.getInstance().getPunctuationInRow_(t),t=c.getInstance().getTextInRow_(t),t=c.getInstance().getFunctionsInRow_(t),c.getInstance().relationsInRow_(t))}limitNode(t,e){if(!e.length)return c.getInstance().factory_.makeEmptyNode();let r,n=e[0],o="unknown";if(!e[1])return n;if(a.isLimitBase(n)){r=c.MML_TO_LIMIT_[t];const i=r.length;if(o=r.type,e=e.slice(0,r.length+1),1===i&&a.isAccent(e[1])||2===i&&a.isAccent(e[1])&&a.isAccent(e[2]))return r=c.MML_TO_BOUNDS_[t],c.getInstance().accentNode_(n,e,r.type,r.length,r.accent);if(2===i){if(a.isAccent(e[1]))return n=c.getInstance().accentNode_(n,[n,e[1]],{MSUBSUP:"subscript",MUNDEROVER:"underscore"}[t],1,!0),e[2]?c.getInstance().makeLimitNode_(n,[n,e[2]],null,"limupper"):n;if(e[2]&&a.isAccent(e[2]))return n=c.getInstance().accentNode_(n,[n,e[2]],{MSUBSUP:"superscript",MUNDEROVER:"overscore"}[t],1,!0),c.getInstance().makeLimitNode_(n,[n,e[1]],null,"limlower");e[i]||(o="limlower")}return c.getInstance().makeLimitNode_(n,e,null,o)}return r=c.MML_TO_BOUNDS_[t],c.getInstance().accentNode_(n,e,r.type,r.length,r.accent)}tablesInRow(t){let e=l.partitionNodes(t,a.tableIsMatrixOrVector),r=[];for(let t,n=0;t=e.rel[n];n++)r=r.concat(e.comp.shift()),r.push(c.tableToMatrixOrVector_(t));r=r.concat(e.comp.shift()),e=l.partitionNodes(r,a.isTableOrMultiline),r=[];for(let t,n=0;t=e.rel[n];n++){const n=e.comp.shift();a.tableIsCases(t,n)&&c.tableToCases_(t,n.pop()),r=r.concat(n),r.push(t)}return r.concat(e.comp.shift())}mfenced(t,e,r,n){if(r&&n.length>0){const t=c.nextSeparatorFunction_(r),e=[n.shift()];n.forEach((r=>{e.push(c.getInstance().factory_.makeContentNode(t())),e.push(r)})),n=e}return t&&e?c.getInstance().horizontalFencedNode_(c.getInstance().factory_.makeContentNode(t),c.getInstance().factory_.makeContentNode(e),n):(t&&n.unshift(c.getInstance().factory_.makeContentNode(t)),e&&n.push(c.getInstance().factory_.makeContentNode(e)),c.getInstance().row(n))}fractionLikeNode(t,e,r,n){let o;if(!n&&l.isZeroLength(r)){const r=c.getInstance().factory_.makeBranchNode("line",[t],[]),n=c.getInstance().factory_.makeBranchNode("line",[e],[]);return o=c.getInstance().factory_.makeBranchNode("multiline",[r,n],[]),c.binomialForm_(o),c.classifyMultiline(o),o}return o=c.getInstance().fractionNode_(t,e),n&&o.addAnnotation("general","bevelled"),o}tensor(t,e,r,n,o){const i=c.getInstance().factory_.makeBranchNode("tensor",[t,c.getInstance().scriptNode_(e,"leftsub"),c.getInstance().scriptNode_(r,"leftsuper"),c.getInstance().scriptNode_(n,"rightsub"),c.getInstance().scriptNode_(o,"rightsuper")],[]);return i.role=t.role,i.embellished=a.isEmbellished(t),i}pseudoTensor(t,e,r){const n=t=>!a.isType(t,"empty"),o=e.filter(n).length,i=r.filter(n).length;if(!o&&!i)return t;const s=o?i?"MSUBSUP":"MSUB":"MSUP",l=[t];return o&&l.push(c.getInstance().scriptNode_(e,"rightsub",!0)),i&&l.push(c.getInstance().scriptNode_(r,"rightsuper",!0)),c.getInstance().limitNode(s,l)}font(t){const e=c.MATHJAX_FONTS[t];return e||t}proof(t,e,r){if(e.inference||e.axiom||console.log("Noise"),e.axiom){const e=c.getInstance().cleanInference(t.childNodes),n=e.length?c.getInstance().factory_.makeBranchNode("inference",r(e),[]):c.getInstance().factory_.makeEmptyNode();return n.role="axiom",n.mathmlTree=t,n}const n=c.getInstance().inference(t,e,r);return e.proof&&(n.role="proof",n.childNodes[0].role="final"),n}inference(t,e,r){if(e.inferenceRule){const e=c.getInstance().getFormulas(t,[],r);return c.getInstance().factory_.makeBranchNode("inference",[e.conclusion,e.premises],[])}const o=e.labelledRule,i=n.toArray(t.childNodes),s=[];"left"!==o&&"both"!==o||s.push(c.getInstance().getLabel(t,i,r,"left")),"right"!==o&&"both"!==o||s.push(c.getInstance().getLabel(t,i,r,"right"));const a=c.getInstance().getFormulas(t,i,r),l=c.getInstance().factory_.makeBranchNode("inference",[a.conclusion,a.premises],s);return l.mathmlTree=t,l}getLabel(t,e,r,o){const i=c.getInstance().findNestedRow(e,"prooflabel",o),s=c.getInstance().factory_.makeBranchNode("rulelabel",r(n.toArray(i.childNodes)),[]);return s.role=o,s.mathmlTree=i,s}getFormulas(t,e,r){const o=e.length?c.getInstance().findNestedRow(e,"inferenceRule"):t,i="up"===c.getSemantics(o).inferenceRule,s=i?o.childNodes[1]:o.childNodes[0],a=i?o.childNodes[0]:o.childNodes[1],l=s.childNodes[0].childNodes[0],u=n.toArray(l.childNodes[0].childNodes),p=[];let h=1;for(const t of u)h%2&&p.push(t.childNodes[0]),h++;const f=r(p),d=r(n.toArray(a.childNodes[0].childNodes))[0],m=c.getInstance().factory_.makeBranchNode("premises",f,[]);m.mathmlTree=l;const y=c.getInstance().factory_.makeBranchNode("conclusion",[d],[]);return y.mathmlTree=a.childNodes[0].childNodes[0],{conclusion:y,premises:m}}findNestedRow(t,e,r){return c.getInstance().findNestedRow_(t,e,0,r)}cleanInference(t){return n.toArray(t).filter((function(t){return"MSPACE"!==n.tagName(t)}))}operatorNode(t){return"unknown"===t.type&&(t.type="operator"),i.run("multioperator",t)}implicitNode_(t){const e=c.getInstance().factory_.makeMultipleContentNodes(t.length-1,o.invisibleTimes());c.matchSpaces_(t,e);const r=c.getInstance().infixNode_(t,e[0]);return r.role="implicit",e.forEach((function(t){t.parent=r})),r.contentNodes=e,r}infixNode_(t,e){const r=c.getInstance().factory_.makeBranchNode("infixop",t,[e],l.getEmbellishedInner(e).textContent);return r.role=e.role,i.run("propagateSimpleFunction",r)}explicitMixed_(t){const e=l.partitionNodes(t,(function(t){return t.textContent===o.invisiblePlus()}));if(!e.rel.length)return t;let r=[];for(let t,n=0;t=e.rel[n];n++){const o=e.comp[n],i=e.comp[n+1],s=o.length-1;if(o[s]&&i[0]&&a.isType(o[s],"number")&&!a.isRole(o[s],"mixed")&&a.isType(i[0],"fraction")){const t=c.getInstance().factory_.makeBranchNode("number",[o[s],i[0]],[]);t.role="mixed",r=r.concat(o.slice(0,s)),r.push(t),i.shift()}else r=r.concat(o),r.push(t)}return r.concat(e.comp[e.comp.length-1])}concatNode_(t,e,r){if(0===e.length)return t;const n=e.map((function(t){return l.getEmbellishedInner(t).textContent})).join(" "),o=c.getInstance().factory_.makeBranchNode(r,[t],e,n);return e.length>1&&(o.role="multiop"),o}prefixNode_(t,e){const r=l.partitionNodes(e,(t=>a.isRole(t,"subtraction")));let n=c.getInstance().concatNode_(t,r.comp.pop(),"prefixop");for(1===n.contentNodes.length&&"addition"===n.contentNodes[0].role&&"+"===n.contentNodes[0].textContent&&(n.role="positive");r.rel.length>0;)n=c.getInstance().concatNode_(n,[r.rel.pop()],"prefixop"),n.role="negative",n=c.getInstance().concatNode_(n,r.comp.pop(),"prefixop");return n}postfixNode_(t,e){return e.length?c.getInstance().concatNode_(t,e,"postfixop"):t}combineUnits_(t){const e=l.partitionNodes(t,(function(t){return!a.isRole(t,"unit")}));if(t.length===e.rel.length)return e.rel;const r=[];let n,o;do{const t=e.comp.shift();n=e.rel.shift();let i=null;o=r.pop(),o&&(t.length&&a.isUnitCounter(o)?t.unshift(o):r.push(o)),1===t.length&&(i=t.pop()),t.length>1&&(i=c.getInstance().implicitNode_(t),i.role="unit"),i&&r.push(i),n&&r.push(n)}while(n);return r}getMixedNumbers_(t){const e=l.partitionNodes(t,(function(t){return a.isType(t,"fraction")&&a.isRole(t,"vulgar")}));if(!e.rel.length)return t;let r=[];for(let t,n=0;t=e.rel[n];n++){const o=e.comp[n],i=o.length-1;if(o[i]&&a.isType(o[i],"number")&&(a.isRole(o[i],"integer")||a.isRole(o[i],"float"))){const e=c.getInstance().factory_.makeBranchNode("number",[o[i],t],[]);e.role="mixed",r=r.concat(o.slice(0,i)),r.push(e)}else r=r.concat(o),r.push(t)}return r.concat(e.comp[e.comp.length-1])}getTextInRow_(t){if(t.length<=1)return t;const e=l.partitionNodes(t,(t=>a.isType(t,"text")));if(0===e.rel.length)return t;const r=[];let n=e.comp[0];n.length>0&&r.push(c.getInstance().row(n));for(let t,o=0;t=e.rel[o];o++)r.push(t),n=e.comp[o+1],n.length>0&&r.push(c.getInstance().row(n));return[c.getInstance().dummyNode_(r)]}relationsInRow_(t){const e=l.partitionNodes(t,a.isRelation),r=e.rel[0];if(!r)return c.getInstance().operationsInRow_(t);if(1===t.length)return t[0];const n=e.comp.map(c.getInstance().operationsInRow_);let o;return e.rel.some((function(t){return!t.equals(r)}))?(o=c.getInstance().factory_.makeBranchNode("multirel",n,e.rel),e.rel.every((function(t){return t.role===r.role}))&&(o.role=r.role),o):(o=c.getInstance().factory_.makeBranchNode("relseq",n,e.rel,l.getEmbellishedInner(r).textContent),o.role=r.role,o)}operationsInRow_(t){if(0===t.length)return c.getInstance().factory_.makeEmptyNode();if(1===(t=c.getInstance().explicitMixed_(t)).length)return t[0];const e=[];for(;t.length>0&&a.isOperator(t[0]);)e.push(t.shift());if(0===t.length)return c.getInstance().prefixNode_(e.pop(),e);if(1===t.length)return c.getInstance().prefixNode_(t[0],e);t=i.run("convert_juxtaposition",t);const r=l.sliceNodes(t,a.isOperator),n=c.getInstance().prefixNode_(c.getInstance().implicitNode(r.head),e);return r.div?c.getInstance().operationsTree_(r.tail,n,r.div):n}operationsTree_(t,e,r,n){const o=n||[];if(0===t.length){if(o.unshift(r),"infixop"===e.type){const t=c.getInstance().postfixNode_(e.childNodes.pop(),o);return e.appendChild(t),e}return c.getInstance().postfixNode_(e,o)}const i=l.sliceNodes(t,a.isOperator);if(0===i.head.length)return o.push(i.div),c.getInstance().operationsTree_(i.tail,e,r,o);const s=c.getInstance().prefixNode_(c.getInstance().implicitNode(i.head),o),u=c.getInstance().appendOperand_(e,r,s);return i.div?c.getInstance().operationsTree_(i.tail,u,i.div,[]):u}appendOperand_(t,e,r){if("infixop"!==t.type)return c.getInstance().infixNode_([t,r],e);const n=c.getInstance().appendDivisionOp_(t,e,r);return n||(c.getInstance().appendExistingOperator_(t,e,r)?t:"multiplication"===e.role?c.getInstance().appendMultiplicativeOp_(t,e,r):c.getInstance().appendAdditiveOp_(t,e,r))}appendDivisionOp_(t,e,r){return"division"===e.role?a.isImplicit(t)?c.getInstance().infixNode_([t,r],e):c.getInstance().appendLastOperand_(t,e,r):"division"===t.role?c.getInstance().infixNode_([t,r],e):null}appendLastOperand_(t,e,r){let n=t,o=t.childNodes[t.childNodes.length-1];for(;o&&"infixop"===o.type&&!a.isImplicit(o);)n=o,o=n.childNodes[t.childNodes.length-1];const i=c.getInstance().infixNode_([n.childNodes.pop(),r],e);return n.appendChild(i),t}appendMultiplicativeOp_(t,e,r){if(a.isImplicit(t))return c.getInstance().infixNode_([t,r],e);let n=t,o=t.childNodes[t.childNodes.length-1];for(;o&&"infixop"===o.type&&!a.isImplicit(o);)n=o,o=n.childNodes[t.childNodes.length-1];const i=c.getInstance().infixNode_([n.childNodes.pop(),r],e);return n.appendChild(i),t}appendAdditiveOp_(t,e,r){return c.getInstance().infixNode_([t,r],e)}appendExistingOperator_(t,e,r){return!(!t||"infixop"!==t.type||a.isImplicit(t))&&(t.contentNodes[0].equals(e)?(t.appendContentNode(e),t.appendChild(r),!0):c.getInstance().appendExistingOperator_(t.childNodes[t.childNodes.length-1],e,r))}getFencesInRow_(t){let e=l.partitionNodes(t,a.isFence);e=c.purgeFences_(e);const r=e.comp.shift();return c.getInstance().fences_(e.rel,e.comp,[],[r])}fences_(t,e,r,n){if(0===t.length&&0===r.length)return n[0];const o=t=>a.isRole(t,"open");if(0===t.length){const t=n.shift();for(;r.length>0;){if(o(r[0])){const e=r.shift();c.fenceToPunct_(e),t.push(e)}else{const e=l.sliceNodes(r,o),i=e.head.length-1,s=c.getInstance().neutralFences_(e.head,n.slice(0,i));n=n.slice(i),t.push(...s),e.div&&e.tail.unshift(e.div),r=e.tail}t.push(...n.shift())}return t}const i=r[r.length-1],s=t[0].role;if("open"===s||a.isNeutralFence(t[0])&&(!i||!a.compareNeutralFences(t[0],i))){r.push(t.shift());const o=e.shift();return o&&n.push(o),c.getInstance().fences_(t,e,r,n)}if(i&&"close"===s&&"open"===i.role){const o=c.getInstance().horizontalFencedNode_(r.pop(),t.shift(),n.pop());return n.push(n.pop().concat([o],e.shift())),c.getInstance().fences_(t,e,r,n)}if(i&&a.compareNeutralFences(t[0],i)){if(!a.elligibleLeftNeutral(i)||!a.elligibleRightNeutral(t[0])){r.push(t.shift());const o=e.shift();return o&&n.push(o),c.getInstance().fences_(t,e,r,n)}const o=c.getInstance().horizontalFencedNode_(r.pop(),t.shift(),n.pop());return n.push(n.pop().concat([o],e.shift())),c.getInstance().fences_(t,e,r,n)}if(i&&"close"===s&&a.isNeutralFence(i)&&r.some(o)){const i=l.sliceNodes(r,o,!0),s=n.pop(),a=n.length-i.tail.length+1,u=c.getInstance().neutralFences_(i.tail,n.slice(a));n=n.slice(0,a);const p=c.getInstance().horizontalFencedNode_(i.div,t.shift(),n.pop().concat(u,s));return n.push(n.pop().concat([p],e.shift())),c.getInstance().fences_(t,e,i.head,n)}const u=t.shift();return c.fenceToPunct_(u),n.push(n.pop().concat([u],e.shift())),c.getInstance().fences_(t,e,r,n)}neutralFences_(t,e){if(0===t.length)return t;if(1===t.length)return c.fenceToPunct_(t[0]),t;const r=t.shift();if(!a.elligibleLeftNeutral(r)){c.fenceToPunct_(r);const n=e.shift();return n.unshift(r),n.concat(c.getInstance().neutralFences_(t,e))}const n=l.sliceNodes(t,(function(t){return a.compareNeutralFences(t,r)}));if(!n.div){c.fenceToPunct_(r);const n=e.shift();return n.unshift(r),n.concat(c.getInstance().neutralFences_(t,e))}if(!a.elligibleRightNeutral(n.div))return c.fenceToPunct_(n.div),t.unshift(r),c.getInstance().neutralFences_(t,e);const o=c.getInstance().combineFencedContent_(r,n.div,n.head,e);if(n.tail.length>0){const t=o.shift(),e=c.getInstance().neutralFences_(n.tail,o);return t.concat(e)}return o[0]}combineFencedContent_(t,e,r,n){if(0===r.length){const r=c.getInstance().horizontalFencedNode_(t,e,n.shift());return n.length>0?n[0].unshift(r):n=[[r]],n}const o=n.shift(),i=r.length-1,s=n.slice(0,i),a=(n=n.slice(i)).shift(),l=c.getInstance().neutralFences_(r,s);o.push(...l),o.push(...a);const u=c.getInstance().horizontalFencedNode_(t,e,o);return n.length>0?n[0].unshift(u):n=[[u]],n}horizontalFencedNode_(t,e,r){const n=c.getInstance().row(r);let o=c.getInstance().factory_.makeBranchNode("fenced",[n],[t,e]);return"open"===t.role?(c.getInstance().classifyHorizontalFence_(o),o=i.run("propagateComposedFunction",o)):o.role=t.role,o=i.run("detect_cycle",o),c.rewriteFencedNode_(o)}classifyHorizontalFence_(t){t.role="leftright";const e=t.childNodes;if(!a.isSetNode(t)||e.length>1)return;if(0===e.length||"empty"===e[0].type)return void(t.role="set empty");const r=e[0].type;if(1===e.length&&a.isSingletonSetContent(e[0]))return void(t.role="set singleton");const n=e[0].role;if("punctuated"===r&&"sequence"===n){if("comma"!==e[0].contentNodes[0].role)return 1!==e[0].contentNodes.length||"vbar"!==e[0].contentNodes[0].role&&"colon"!==e[0].contentNodes[0].role?void 0:(t.role="set extended",void c.getInstance().setExtension_(t));t.role="set collection"}}setExtension_(t){const e=t.childNodes[0].childNodes[0];e&&"infixop"===e.type&&1===e.contentNodes.length&&a.isMembership(e.contentNodes[0])&&(e.addAnnotation("set","intensional"),e.contentNodes[0].addAnnotation("set","intensional"))}getPunctuationInRow_(t){if(t.length<=1)return t;const e=t=>{const e=t.type;return"punctuation"===e||"text"===e||"operator"===e||"relation"===e},r=l.partitionNodes(t,(function(r){if(!a.isPunctuation(r))return!1;if(a.isPunctuation(r)&&!a.isRole(r,"ellipsis"))return!0;const n=t.indexOf(r);if(0===n)return!t[1]||!e(t[1]);const o=t[n-1];if(n===t.length-1)return!e(o);const i=t[n+1];return!e(o)||!e(i)}));if(0===r.rel.length)return t;const n=[];let o=r.comp.shift();o.length>0&&n.push(c.getInstance().row(o));let i=0;for(;r.comp.length>0;)n.push(r.rel[i++]),o=r.comp.shift(),o.length>0&&n.push(c.getInstance().row(o));return[c.getInstance().punctuatedNode_(n,r.rel)]}punctuatedNode_(t,e){const r=c.getInstance().factory_.makeBranchNode("punctuated",t,e);if(e.length===t.length){const t=e[0].role;if("unknown"!==t&&e.every((function(e){return e.role===t})))return r.role=t,r}return a.singlePunctAtPosition(t,e,0)?r.role="startpunct":a.singlePunctAtPosition(t,e,t.length-1)?r.role="endpunct":e.every((t=>a.isRole(t,"dummy")))?r.role="text":e.every((t=>a.isRole(t,"space")))?r.role="space":r.role="sequence",r}dummyNode_(t){const e=c.getInstance().factory_.makeMultipleContentNodes(t.length-1,o.invisibleComma());return e.forEach((function(t){t.role="dummy"})),c.getInstance().punctuatedNode_(t,e)}accentRole_(t,e){if(!a.isAccent(t))return!1;const r=t.textContent,n=o.lookupSecondary("bar",r)||o.lookupSecondary("tilde",r)||t.role;return t.role="underscore"===e?"underaccent":"overaccent",t.addAnnotation("accent",n),!0}accentNode_(t,e,r,n,o){const i=(e=e.slice(0,n+1))[1],s=e[2];let a;if(!o&&s&&(a=c.getInstance().factory_.makeBranchNode("subscript",[t,i],[]),a.role="subsup",e=[a,s],r="superscript"),o){const n=c.getInstance().accentRole_(i,r);if(s){c.getInstance().accentRole_(s,"overscore")&&!n?(a=c.getInstance().factory_.makeBranchNode("overscore",[t,s],[]),e=[a,i],r="underscore"):(a=c.getInstance().factory_.makeBranchNode("underscore",[t,i],[]),e=[a,s],r="overscore"),a.role="underover"}}return c.getInstance().makeLimitNode_(t,e,a,r)}makeLimitNode_(t,e,r,n){if("limupper"===n&&"limlower"===t.type)return t.childNodes.push(e[1]),e[1].parent=t,t.type="limboth",t;if("limlower"===n&&"limupper"===t.type)return t.childNodes.splice(1,-1,e[1]),e[1].parent=t,t.type="limboth",t;const o=c.getInstance().factory_.makeBranchNode(n,e,[]),i=a.isEmbellished(t);return r&&(r.embellished=i),o.embellished=i,o.role=t.role,o}getFunctionsInRow_(t,e){const r=e||[];if(0===t.length)return r;const n=t.shift(),o=c.classifyFunction_(n,t);if(!o)return r.push(n),c.getInstance().getFunctionsInRow_(t,r);const i=c.getInstance().getFunctionsInRow_(t,[]),s=c.getInstance().getFunctionArgs_(n,i,o);return r.concat(s)}getFunctionArgs_(t,e,r){let n,o,i;switch(r){case"integral":{const r=c.getInstance().getIntegralArgs_(e);if(!r.intvar&&!r.integrand.length)return r.rest.unshift(t),r.rest;const n=c.getInstance().row(r.integrand);return i=c.getInstance().integralNode_(t,n,r.intvar),r.rest.unshift(i),r.rest}case"prefix":if(e[0]&&"fenced"===e[0].type){const r=e.shift();return a.isNeutralFence(r)||(r.role="leftright"),i=c.getInstance().functionNode_(t,r),e.unshift(i),e}if(n=l.sliceNodes(e,a.isPrefixFunctionBoundary),n.head.length)o=c.getInstance().row(n.head),n.div&&n.tail.unshift(n.div);else{if(!n.div||!a.isType(n.div,"appl"))return e.unshift(t),e;o=n.div}return i=c.getInstance().functionNode_(t,o),n.tail.unshift(i),n.tail;case"bigop":return n=l.sliceNodes(e,a.isBigOpBoundary),n.head.length?(o=c.getInstance().row(n.head),i=c.getInstance().bigOpNode_(t,o),n.div&&n.tail.unshift(n.div),n.tail.unshift(i),n.tail):(e.unshift(t),e);default:{if(0===e.length)return[t];const r=e[0];return"fenced"===r.type&&!a.isNeutralFence(r)&&a.isSimpleFunctionScope(r)?(r.role="leftright",c.propagateFunctionRole_(t,"simple function"),i=c.getInstance().functionNode_(t,e.shift()),e.unshift(i),e):(e.unshift(t),e)}}}getIntegralArgs_(t,e=[]){if(0===t.length)return{integrand:e,intvar:null,rest:t};const r=t[0];if(a.isGeneralFunctionBoundary(r))return{integrand:e,intvar:null,rest:t};if(a.isIntegralDxBoundarySingle(r))return r.role="integral",{integrand:e,intvar:r,rest:t.slice(1)};if(t[1]&&a.isIntegralDxBoundary(r,t[1])){const n=c.getInstance().prefixNode_(t[1],[r]);return n.role="integral",{integrand:e,intvar:n,rest:t.slice(2)}}return e.push(t.shift()),c.getInstance().getIntegralArgs_(t,e)}functionNode_(t,e){const r=c.getInstance().factory_.makeContentNode(o.functionApplication()),n=c.getInstance().funcAppls[t.id];n&&(r.mathmlTree=n.mathmlTree,r.mathml=n.mathml,r.annotation=n.annotation,r.attributes=n.attributes,delete c.getInstance().funcAppls[t.id]),r.type="punctuation",r.role="application";const i=c.getFunctionOp_(t,(function(t){return a.isType(t,"function")||a.isType(t,"identifier")&&a.isRole(t,"simple function")}));return c.getInstance().functionalNode_("appl",[t,e],i,[r])}bigOpNode_(t,e){const r=c.getFunctionOp_(t,(t=>a.isType(t,"largeop")));return c.getInstance().functionalNode_("bigop",[t,e],r,[])}integralNode_(t,e,r){e=e||c.getInstance().factory_.makeEmptyNode(),r=r||c.getInstance().factory_.makeEmptyNode();const n=c.getFunctionOp_(t,(t=>a.isType(t,"largeop")));return c.getInstance().functionalNode_("integral",[t,e,r],n,[])}functionalNode_(t,e,r,n){const o=e[0];let i;r&&(i=r.parent,n.push(r));const s=c.getInstance().factory_.makeBranchNode(t,e,n);return s.role=o.role,i&&(r.parent=i),s}fractionNode_(t,e){const r=c.getInstance().factory_.makeBranchNode("fraction",[t,e],[]);return r.role=r.childNodes.every((function(t){return a.isType(t,"number")&&a.isRole(t,"integer")}))?"vulgar":r.childNodes.every(a.isPureUnit)?"unit":"division",i.run("propagateSimpleFunction",r)}scriptNode_(t,e,r){let n;switch(t.length){case 0:n=c.getInstance().factory_.makeEmptyNode();break;case 1:if(n=t[0],r)return n;break;default:n=c.getInstance().dummyNode_(t)}return n.role=e,n}findNestedRow_(t,e,r,o){if(r>3)return null;for(let i,s=0;i=t[s];s++){const t=n.tagName(i);if("MSPACE"!==t){if("MROW"===t)return c.getInstance().findNestedRow_(n.toArray(i.childNodes),e,r+1,o);if(c.findSemantics(i,e,o))return i}}return null}}e.default=c,c.FENCE_TO_PUNCT_={metric:"metric",neutral:"vbar",open:"openfence",close:"closefence"},c.MML_TO_LIMIT_={MSUB:{type:"limlower",length:1},MUNDER:{type:"limlower",length:1},MSUP:{type:"limupper",length:1},MOVER:{type:"limupper",length:1},MSUBSUP:{type:"limboth",length:2},MUNDEROVER:{type:"limboth",length:2}},c.MML_TO_BOUNDS_={MSUB:{type:"subscript",length:1,accent:!1},MSUP:{type:"superscript",length:1,accent:!1},MSUBSUP:{type:"subscript",length:2,accent:!1},MUNDER:{type:"underscore",length:1,accent:!0},MOVER:{type:"overscore",length:1,accent:!0},MUNDEROVER:{type:"underscore",length:2,accent:!0}},c.CLASSIFY_FUNCTION_={integral:"integral",sum:"bigop","prefix function":"prefix","limit function":"prefix","simple function":"prefix","composed function":"prefix"},c.MATHJAX_FONTS={"-tex-caligraphic":"caligraphic","-tex-caligraphic-bold":"caligraphic-bold","-tex-calligraphic":"caligraphic","-tex-calligraphic-bold":"caligraphic-bold","-tex-oldstyle":"oldstyle","-tex-oldstyle-bold":"oldstyle-bold","-tex-mathit":"italic"}},5656:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.SemanticSkeleton=void 0;const n=r(707),o=r(5274),i=r(2298);class s{constructor(t){this.parents=null,this.levelsMap=null,t=0===t?t:t||[],this.array=t}static fromTree(t){return s.fromNode(t.root)}static fromNode(t){return new s(s.fromNode_(t))}static fromString(t){return new s(s.fromString_(t))}static simpleCollapseStructure(t){return"number"==typeof t}static contentCollapseStructure(t){return!!t&&!s.simpleCollapseStructure(t)&&"c"===t[0]}static interleaveIds(t,e){return n.interleaveLists(s.collapsedLeafs(t),s.collapsedLeafs(e))}static collapsedLeafs(...t){return t.reduce(((t,e)=>{return t.concat((r=e,s.simpleCollapseStructure(r)?[r]:(r=r,s.contentCollapseStructure(r[1])?r.slice(2):r.slice(1))));var r}),[])}static fromStructure(t,e){return new s(s.tree_(t,e.root))}static combineContentChildren(t,e,r){switch(t.type){case"relseq":case"infixop":case"multirel":return n.interleaveLists(r,e);case"prefixop":return e.concat(r);case"postfixop":return r.concat(e);case"fenced":return r.unshift(e[0]),r.push(e[1]),r;case"appl":return[r[0],e[0],r[1]];case"root":return[r[1],r[0]];case"row":case"line":return e.length&&r.unshift(e[0]),r;default:return r}}static makeSexp_(t){return s.simpleCollapseStructure(t)?t.toString():s.contentCollapseStructure(t)?"(c "+t.slice(1).map(s.makeSexp_).join(" ")+")":"("+t.map(s.makeSexp_).join(" ")+")"}static fromString_(t){let e=t.replace(/\(/g,"[");return e=e.replace(/\)/g,"]"),e=e.replace(/ /g,","),e=e.replace(/c/g,'"c"'),JSON.parse(e)}static fromNode_(t){if(!t)return[];const e=t.contentNodes;let r;e.length&&(r=e.map(s.fromNode_),r.unshift("c"));const n=t.childNodes;if(!n.length)return e.length?[t.id,r]:t.id;const o=n.map(s.fromNode_);return e.length&&o.unshift(r),o.unshift(t.id),o}static tree_(t,e){if(!e)return[];if(!e.childNodes.length)return e.id;const r=e.id,n=[r],a=o.evalXPath(`.//self::*[@${i.Attribute.ID}=${r}]`,t)[0],l=s.combineContentChildren(e,e.contentNodes.map((function(t){return t})),e.childNodes.map((function(t){return t})));a&&s.addOwns_(a,l);for(let e,r=0;e=l[r];r++)n.push(s.tree_(t,e));return n}static addOwns_(t,e){const r=t.getAttribute(i.Attribute.COLLAPSED),n=r?s.realLeafs_(s.fromString(r).array):e.map((t=>t.id));t.setAttribute(i.Attribute.OWNS,n.join(" "))}static realLeafs_(t){if(s.simpleCollapseStructure(t))return[t];if(s.contentCollapseStructure(t))return[];t=t;let e=[];for(let r=1;rs.simpleCollapseStructure(t)?t:s.contentCollapseStructure(t)?t[1]:t[0]))}subtreeNodes(t){if(!this.isRoot(t))return[];const e=(t,r)=>{s.simpleCollapseStructure(t)?r.push(t):(t=t,s.contentCollapseStructure(t)&&(t=t.slice(1)),t.forEach((t=>e(t,r))))},r=this.levelsMap[t],n=[];return e(r.slice(1),n),n}}e.SemanticSkeleton=s},7075:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.SemanticTree=void 0;const n=r(5740),o=r(7630),i=r(9265),s=r(7228),a=r(5952),l=r(5609);r(94);class c{constructor(t){this.mathml=t,this.parser=new s.SemanticMathml,this.root=this.parser.parse(t),this.collator=this.parser.getFactory().leafMap.collateMeaning();const e=this.collator.newDefault();e&&(this.parser=new s.SemanticMathml,this.parser.getFactory().defaultMap=e,this.root=this.parser.parse(t)),u.visit(this.root,{}),(0,o.annotate)(this.root)}static empty(){const t=n.parseInput(""),e=new c(t);return e.mathml=t,e}static fromNode(t,e){const r=c.empty();return r.root=t,e&&(r.mathml=e),r}static fromRoot(t,e){let r=t;for(;r.parent;)r=r.parent;const n=c.fromNode(r);return e&&(n.mathml=e),n}static fromXml(t){const e=c.empty();return t.childNodes[0]&&(e.root=a.SemanticNode.fromXml(t.childNodes[0])),e}xml(t){const e=n.parseInput(""),r=this.root.xml(e.ownerDocument,t);return e.appendChild(r),e}toString(t){return n.serializeXml(this.xml(t))}formatXml(t){const e=this.toString(t);return n.formatXml(e)}displayTree(){this.root.displayTree()}replaceNode(t,e){const r=t.parent;r?r.replaceChild(t,e):this.root=e}toJson(){const t={};return t.stree=this.root.toJson(),t}}e.SemanticTree=c;const u=new i.SemanticVisitor("general","unit",((t,e)=>{if("infixop"===t.type&&("multiplication"===t.role||"implicit"===t.role)){const e=t.childNodes;e.length&&(l.isPureUnit(e[0])||l.isUnitCounter(e[0]))&&t.childNodes.slice(1).every(l.isPureUnit)&&(t.role="unit")}return!1}))},4795:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.partitionNodes=e.sliceNodes=e.getEmbellishedInner=e.addAttributes=e.isZeroLength=e.purgeNodes=e.isOrphanedGlyph=e.hasDisplayTag=e.hasEmptyTag=e.hasIgnoreTag=e.hasLeafTag=e.hasMathTag=e.directSpeechKeys=e.DISPLAYTAGS=e.EMPTYTAGS=e.IGNORETAGS=e.LEAFTAGS=void 0;const n=r(5740);function o(t){return!!t&&-1!==e.LEAFTAGS.indexOf(n.tagName(t))}function i(t,e,r){r&&t.reverse();const n=[];for(let o,i=0;o=t[i];i++){if(e(o))return r?{head:t.slice(i+1).reverse(),div:o,tail:n.reverse()}:{head:n,div:o,tail:t.slice(i+1)};n.push(o)}return r?{head:[],div:null,tail:n.reverse()}:{head:n,div:null,tail:[]}}e.LEAFTAGS=["MO","MI","MN","MTEXT","MS","MSPACE"],e.IGNORETAGS=["MERROR","MPHANTOM","MALIGNGROUP","MALIGNMARK","MPRESCRIPTS","ANNOTATION","ANNOTATION-XML"],e.EMPTYTAGS=["MATH","MROW","MPADDED","MACTION","NONE","MSTYLE","SEMANTICS"],e.DISPLAYTAGS=["MROOT","MSQRT"],e.directSpeechKeys=["aria-label","exact-speech","alt"],e.hasMathTag=function(t){return!!t&&"MATH"===n.tagName(t)},e.hasLeafTag=o,e.hasIgnoreTag=function(t){return!!t&&-1!==e.IGNORETAGS.indexOf(n.tagName(t))},e.hasEmptyTag=function(t){return!!t&&-1!==e.EMPTYTAGS.indexOf(n.tagName(t))},e.hasDisplayTag=function(t){return!!t&&-1!==e.DISPLAYTAGS.indexOf(n.tagName(t))},e.isOrphanedGlyph=function(t){return!!t&&"MGLYPH"===n.tagName(t)&&!o(t.parentNode)},e.purgeNodes=function(t){const r=[];for(let o,i=0;o=t[i];i++){if(o.nodeType!==n.NodeType.ELEMENT_NODE)continue;const t=n.tagName(o);-1===e.IGNORETAGS.indexOf(t)&&(-1!==e.EMPTYTAGS.indexOf(t)&&0===o.childNodes.length||r.push(o))}return r},e.isZeroLength=function(t){if(!t)return!1;if(-1!==["negativeveryverythinmathspace","negativeverythinmathspace","negativethinmathspace","negativemediummathspace","negativethickmathspace","negativeverythickmathspace","negativeveryverythickmathspace"].indexOf(t))return!0;const e=t.match(/[0-9.]+/);return!!e&&0===parseFloat(e[0])},e.addAttributes=function(t,r){if(r.hasAttributes()){const n=r.attributes;for(let r=n.length-1;r>=0;r--){const o=n[r].name;o.match(/^ext/)&&(t.attributes[o]=n[r].value,t.nobreaking=!0),-1!==e.directSpeechKeys.indexOf(o)&&(t.attributes["ext-speech"]=n[r].value,t.nobreaking=!0),o.match(/texclass$/)&&(t.attributes.texclass=n[r].value),"href"===o&&(t.attributes.href=n[r].value,t.nobreaking=!0)}}},e.getEmbellishedInner=function t(e){return e&&e.embellished&&e.childNodes.length>0?t(e.childNodes[0]):e},e.sliceNodes=i,e.partitionNodes=function(t,e){let r=t;const n=[],o=[];let s=null;do{s=i(r,e),o.push(s.head),n.push(s.div),r=s.tail}while(s.div);return n.pop(),{rel:n,comp:o}}},6278:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractSpeechGenerator=void 0;const n=r(6828),o=r(2298),i=r(1214),s=r(9543);e.AbstractSpeechGenerator=class{constructor(){this.modality=o.addPrefix("speech"),this.rebuilt_=null,this.options_={}}getRebuilt(){return this.rebuilt_}setRebuilt(t){this.rebuilt_=t}setOptions(t){this.options_=t||{},this.modality=o.addPrefix(this.options_.modality||"speech")}getOptions(){return this.options_}start(){}end(){}generateSpeech(t,e){return this.rebuilt_||(this.rebuilt_=new i.RebuildStree(e)),(0,n.setup)(this.options_),s.computeMarkup(this.getRebuilt().xml)}}},1452:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.AdhocSpeechGenerator=void 0;const n=r(6278);class o extends n.AbstractSpeechGenerator{getSpeech(t,e){const r=this.generateSpeech(t,e);return t.setAttribute(this.modality,r),r}}e.AdhocSpeechGenerator=o},5152:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.ColorGenerator=void 0;const n=r(2298),o=r(8396),i=r(1214),s=r(1204),a=r(6278);class l extends a.AbstractSpeechGenerator{constructor(){super(...arguments),this.modality=(0,n.addPrefix)("foreground"),this.contrast=new o.ContrastPicker}static visitStree_(t,e,r){if(t.childNodes.length){if(t.contentNodes.length&&("punctuated"===t.type&&t.contentNodes.forEach((t=>r[t.id]=!0)),"implicit"!==t.role&&e.push(t.contentNodes.map((t=>t.id)))),t.childNodes.length){if("implicit"===t.role){const n=[];let o=[];for(const e of t.childNodes){const t=[];l.visitStree_(e,t,r),t.length<=2&&n.push(t.shift()),o=o.concat(t)}return e.push(n),void o.forEach((t=>e.push(t)))}t.childNodes.forEach((t=>l.visitStree_(t,e,r)))}}else r[t.id]||e.push(t.id)}getSpeech(t,e){return s.getAttribute(t,this.modality)}generateSpeech(t,e){return this.getRebuilt()||this.setRebuilt(new i.RebuildStree(t)),this.colorLeaves_(t),s.getAttribute(t,this.modality)}colorLeaves_(t){const e=[];l.visitStree_(this.getRebuilt().streeRoot,e,{});for(const r of e){const e=this.contrast.generate();let n=!1;n=Array.isArray(r)?r.map((r=>this.colorLeave_(t,r,e))).reduce(((t,e)=>t||e),!1):this.colorLeave_(t,r.toString(),e),n&&this.contrast.increment()}}colorLeave_(t,e,r){const n=s.getBySemanticId(t,e);return!!n&&(n.setAttribute(this.modality,r),!0)}}e.ColorGenerator=l},6604:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.DirectSpeechGenerator=void 0;const n=r(1204),o=r(6278);class i extends o.AbstractSpeechGenerator{getSpeech(t,e){return n.getAttribute(t,this.modality)}}e.DirectSpeechGenerator=i},3123:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.DummySpeechGenerator=void 0;const n=r(6278);class o extends n.AbstractSpeechGenerator{getSpeech(t,e){return""}}e.DummySpeechGenerator=o},5858:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.NodeSpeechGenerator=void 0;const n=r(1204),o=r(4598);class i extends o.TreeSpeechGenerator{getSpeech(t,e){return super.getSpeech(t,e),n.getAttribute(t,this.modality)}}e.NodeSpeechGenerator=i},9552:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.generatorMapping_=e.generator=void 0;const n=r(1452),o=r(5152),i=r(6604),s=r(3123),a=r(5858),l=r(597),c=r(4598);e.generator=function(t){return(e.generatorMapping_[t]||e.generatorMapping_.Direct)()},e.generatorMapping_={Adhoc:()=>new n.AdhocSpeechGenerator,Color:()=>new o.ColorGenerator,Direct:()=>new i.DirectSpeechGenerator,Dummy:()=>new s.DummySpeechGenerator,Node:()=>new a.NodeSpeechGenerator,Summary:()=>new l.SummarySpeechGenerator,Tree:()=>new c.TreeSpeechGenerator}},9543:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.computeSummary_=e.retrieveSummary=e.connectAllMactions=e.connectMactions=e.nodeAtPosition_=e.computePrefix_=e.retrievePrefix=e.addPrefix=e.addModality=e.addSpeech=e.recomputeMarkup=e.computeMarkup=e.recomputeSpeech=e.computeSpeech=void 0;const n=r(8290),o=r(5740),i=r(5274),s=r(2298),a=r(2362),l=r(7075),c=r(1204);function u(t){return a.SpeechRuleEngine.getInstance().evaluateNode(t)}function p(t){return u(l.SemanticTree.fromNode(t).xml())}function h(t){const e=p(t);return n.markup(e)}function f(t){const e=d(t);return n.markup(e)}function d(t){const e=l.SemanticTree.fromRoot(t),r=i.evalXPath('.//*[@id="'+t.id+'"]',e.xml());let n=r[0];return r.length>1&&(n=m(t,r)||n),n?a.SpeechRuleEngine.getInstance().runInSetting({modality:"prefix",domain:"default",style:"default",strict:!0,speech:!0},(function(){return a.SpeechRuleEngine.getInstance().evaluateNode(n)})):[]}function m(t,e){const r=e[0];if(!t.parent)return r;const n=[];for(;t;)n.push(t.id),t=t.parent;const o=function(t,e){for(;e.length&&e.shift().toString()===t.getAttribute("id")&&t.parentNode&&t.parentNode.parentNode;)t=t.parentNode.parentNode;return!e.length};for(let t,r=0;t=e[r];r++)if(o(t,n.slice()))return t;return r}function y(t){return t?a.SpeechRuleEngine.getInstance().runInSetting({modality:"summary",strict:!1,speech:!0},(function(){return a.SpeechRuleEngine.getInstance().evaluateNode(t)})):[]}e.computeSpeech=u,e.recomputeSpeech=p,e.computeMarkup=function(t){const e=u(t);return n.markup(e)},e.recomputeMarkup=h,e.addSpeech=function(t,e,r){const i=o.querySelectorAllByAttrValue(r,"id",e.id.toString())[0],a=i?n.markup(u(i)):h(e);t.setAttribute(s.Attribute.SPEECH,a)},e.addModality=function(t,e,r){const n=h(e);t.setAttribute(r,n)},e.addPrefix=function(t,e){const r=f(e);r&&t.setAttribute(s.Attribute.PREFIX,r)},e.retrievePrefix=f,e.computePrefix_=d,e.nodeAtPosition_=m,e.connectMactions=function(t,e,r){const n=o.querySelectorAll(e,"maction");for(let e,i=0;e=n[i];i++){const n=e.getAttribute("id"),i=o.querySelectorAllByAttrValue(t,"id",n)[0];if(!i)continue;const a=e.childNodes[1],l=a.getAttribute(s.Attribute.ID);let u=c.getBySemanticId(t,l);if(u&&"dummy"!==u.getAttribute(s.Attribute.TYPE))continue;if(u=i.childNodes[0],u.getAttribute("sre-highlighter-added"))continue;const p=a.getAttribute(s.Attribute.PARENT);p&&u.setAttribute(s.Attribute.PARENT,p),u.setAttribute(s.Attribute.TYPE,"dummy"),u.setAttribute(s.Attribute.ID,l);o.querySelectorAllByAttrValue(r,"id",l)[0].setAttribute("alternative",l)}},e.connectAllMactions=function(t,e){const r=o.querySelectorAll(t,"maction");for(let t,n=0;t=r[n];n++){const r=t.childNodes[1].getAttribute(s.Attribute.ID);o.querySelectorAllByAttrValue(e,"id",r)[0].setAttribute("alternative",r)}},e.retrieveSummary=function(t){const e=y(t);return n.markup(e)},e.computeSummary_=y},597:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.SummarySpeechGenerator=void 0;const n=r(6278),o=r(9543);class i extends n.AbstractSpeechGenerator{getSpeech(t,e){return o.connectAllMactions(e,this.getRebuilt().xml),this.generateSpeech(t,e)}}e.SummarySpeechGenerator=i},4598:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.TreeSpeechGenerator=void 0;const n=r(2298),o=r(1204),i=r(6278),s=r(9543);class a extends i.AbstractSpeechGenerator{getSpeech(t,e){const r=this.generateSpeech(t,e),i=this.getRebuilt().nodeDict;for(const r in i){const a=i[r],l=o.getBySemanticId(e,r),c=o.getBySemanticId(t,r);l&&c&&(this.modality&&this.modality!==n.Attribute.SPEECH?s.addModality(c,a,this.modality):s.addSpeech(c,a,this.getRebuilt().xml),this.modality===n.Attribute.SPEECH&&s.addPrefix(c,a))}return r}}e.TreeSpeechGenerator=a},313:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.INTERVALS=e.makeLetter=e.numberRules=e.alphabetRules=e.getFont=e.makeInterval=e.generate=e.makeDomains_=e.Domains_=e.Base=e.Embellish=e.Font=void 0;const n=r(5897),o=r(7491),i=r(4356),s=r(2536),a=r(2780);var l,c,u;function p(){const t=i.LOCALE.ALPHABETS,r=(t,e)=>{const r={};return Object.keys(t).forEach((t=>r[t]=!0)),Object.keys(e).forEach((t=>r[t]=!0)),Object.keys(r)};e.Domains_.small=r(t.smallPrefix,t.letterTrans),e.Domains_.capital=r(t.capPrefix,t.letterTrans),e.Domains_.digit=r(t.digitPrefix,t.digitTrans)}function h(t){const e=t.toString(16).toUpperCase();return e.length>3?e:("000"+e).slice(-4)}function f([t,e],r){const n=parseInt(t,16),o=parseInt(e,16),i=[];for(let t=n;t<=o;t++){let e=h(t);!1!==r[e]&&(e=r[e]||e,i.push(e))}return i}function d(t){const e="normal"===t||"fullwidth"===t?"":i.LOCALE.MESSAGES.font[t]||i.LOCALE.MESSAGES.embellish[t]||"";return(0,s.localeFontCombiner)(e)}function m(t,r,n,o,s,a){const l=d(o);for(let o,c,u,p=0;o=t[p],c=r[p],u=n[p];p++){const t=a?i.LOCALE.ALPHABETS.capPrefix:i.LOCALE.ALPHABETS.smallPrefix,r=a?e.Domains_.capital:e.Domains_.small;g(l.combiner,o,c,u,l.font,t,s,i.LOCALE.ALPHABETS.letterTrans,r)}}function y(t,r,n,o,s){const a=d(n);for(let n,l,c=0;n=t[c],l=r[c];c++){const t=i.LOCALE.ALPHABETS.digitPrefix,r=c+s;g(a.combiner,n,l,r,a.font,t,o,i.LOCALE.ALPHABETS.digitTrans,e.Domains_.digit)}}function g(t,e,r,n,o,i,s,l,c){for(let u,p=0;u=c[p];p++){const c=u in l?l[u]:l.default,p=u in i?i[u]:i.default;a.defineRule(e.toString(),u,"default",s,r,t(c(n),o,p))}}!function(t){t.BOLD="bold",t.BOLDFRAKTUR="bold-fraktur",t.BOLDITALIC="bold-italic",t.BOLDSCRIPT="bold-script",t.DOUBLESTRUCK="double-struck",t.FULLWIDTH="fullwidth",t.FRAKTUR="fraktur",t.ITALIC="italic",t.MONOSPACE="monospace",t.NORMAL="normal",t.SCRIPT="script",t.SANSSERIF="sans-serif",t.SANSSERIFITALIC="sans-serif-italic",t.SANSSERIFBOLD="sans-serif-bold",t.SANSSERIFBOLDITALIC="sans-serif-bold-italic"}(l=e.Font||(e.Font={})),function(t){t.SUPER="super",t.SUB="sub",t.CIRCLED="circled",t.PARENTHESIZED="parenthesized",t.PERIOD="period",t.NEGATIVECIRCLED="negative-circled",t.DOUBLECIRCLED="double-circled",t.CIRCLEDSANSSERIF="circled-sans-serif",t.NEGATIVECIRCLEDSANSSERIF="negative-circled-sans-serif",t.COMMA="comma",t.SQUARED="squared",t.NEGATIVESQUARED="negative-squared"}(c=e.Embellish||(e.Embellish={})),function(t){t.LATINCAP="latinCap",t.LATINSMALL="latinSmall",t.GREEKCAP="greekCap",t.GREEKSMALL="greekSmall",t.DIGIT="digit"}(u=e.Base||(e.Base={})),e.Domains_={small:["default"],capital:["default"],digit:["default"]},e.makeDomains_=p,e.generate=function(t){const r=n.default.getInstance().locale;n.default.getInstance().locale=t,o.setLocale(),a.addSymbolRules({locale:t}),p();const s=e.INTERVALS;for(let t,e=0;t=s[e];e++){const e=f(t.interval,t.subst),r=e.map((function(t){return String.fromCodePoint(parseInt(t,16))}));if("offset"in t)y(e,r,t.font,t.category,t.offset||0);else{m(e,r,i.LOCALE.ALPHABETS[t.base],t.font,t.category,!!t.capital)}}n.default.getInstance().locale=r,o.setLocale()},e.makeInterval=f,e.getFont=d,e.alphabetRules=m,e.numberRules=y,e.makeLetter=g,e.INTERVALS=[{interval:["1D400","1D419"],base:u.LATINCAP,subst:{},capital:!0,category:"Lu",font:l.BOLD},{interval:["1D41A","1D433"],base:u.LATINSMALL,subst:{},capital:!1,category:"Ll",font:l.BOLD},{interval:["1D56C","1D585"],base:u.LATINCAP,subst:{},capital:!0,category:"Lu",font:l.BOLDFRAKTUR},{interval:["1D586","1D59F"],base:u.LATINSMALL,subst:{},capital:!1,category:"Ll",font:l.BOLDFRAKTUR},{interval:["1D468","1D481"],base:u.LATINCAP,subst:{},capital:!0,category:"Lu",font:l.BOLDITALIC},{interval:["1D482","1D49B"],base:u.LATINSMALL,subst:{},capital:!1,category:"Ll",font:l.BOLDITALIC},{interval:["1D4D0","1D4E9"],base:u.LATINCAP,subst:{},capital:!0,category:"Lu",font:l.BOLDSCRIPT},{interval:["1D4EA","1D503"],base:u.LATINSMALL,subst:{},capital:!1,category:"Ll",font:l.BOLDSCRIPT},{interval:["1D538","1D551"],base:u.LATINCAP,subst:{"1D53A":"2102","1D53F":"210D","1D545":"2115","1D547":"2119","1D548":"211A","1D549":"211D","1D551":"2124"},capital:!0,category:"Lu",font:l.DOUBLESTRUCK},{interval:["1D552","1D56B"],base:u.LATINSMALL,subst:{},capital:!1,category:"Ll",font:l.DOUBLESTRUCK},{interval:["1D504","1D51D"],base:u.LATINCAP,subst:{"1D506":"212D","1D50B":"210C","1D50C":"2111","1D515":"211C","1D51D":"2128"},capital:!0,category:"Lu",font:l.FRAKTUR},{interval:["1D51E","1D537"],base:u.LATINSMALL,subst:{},capital:!1,category:"Ll",font:l.FRAKTUR},{interval:["FF21","FF3A"],base:u.LATINCAP,subst:{},capital:!0,category:"Lu",font:l.FULLWIDTH},{interval:["FF41","FF5A"],base:u.LATINSMALL,subst:{},capital:!1,category:"Ll",font:l.FULLWIDTH},{interval:["1D434","1D44D"],base:u.LATINCAP,subst:{},capital:!0,category:"Lu",font:l.ITALIC},{interval:["1D44E","1D467"],base:u.LATINSMALL,subst:{"1D455":"210E"},capital:!1,category:"Ll",font:l.ITALIC},{interval:["1D670","1D689"],base:u.LATINCAP,subst:{},capital:!0,category:"Lu",font:l.MONOSPACE},{interval:["1D68A","1D6A3"],base:u.LATINSMALL,subst:{},capital:!1,category:"Ll",font:l.MONOSPACE},{interval:["0041","005A"],base:u.LATINCAP,subst:{},capital:!0,category:"Lu",font:l.NORMAL},{interval:["0061","007A"],base:u.LATINSMALL,subst:{},capital:!1,category:"Ll",font:l.NORMAL},{interval:["1D49C","1D4B5"],base:u.LATINCAP,subst:{"1D49D":"212C","1D4A0":"2130","1D4A1":"2131","1D4A3":"210B","1D4A4":"2110","1D4A7":"2112","1D4A8":"2133","1D4AD":"211B"},capital:!0,category:"Lu",font:l.SCRIPT},{interval:["1D4B6","1D4CF"],base:u.LATINSMALL,subst:{"1D4BA":"212F","1D4BC":"210A","1D4C4":"2134"},capital:!1,category:"Ll",font:l.SCRIPT},{interval:["1D5A0","1D5B9"],base:u.LATINCAP,subst:{},capital:!0,category:"Lu",font:l.SANSSERIF},{interval:["1D5BA","1D5D3"],base:u.LATINSMALL,subst:{},capital:!1,category:"Ll",font:l.SANSSERIF},{interval:["1D608","1D621"],base:u.LATINCAP,subst:{},capital:!0,category:"Lu",font:l.SANSSERIFITALIC},{interval:["1D622","1D63B"],base:u.LATINSMALL,subst:{},capital:!1,category:"Ll",font:l.SANSSERIFITALIC},{interval:["1D5D4","1D5ED"],base:u.LATINCAP,subst:{},capital:!0,category:"Lu",font:l.SANSSERIFBOLD},{interval:["1D5EE","1D607"],base:u.LATINSMALL,subst:{},capital:!1,category:"Ll",font:l.SANSSERIFBOLD},{interval:["1D63C","1D655"],base:u.LATINCAP,subst:{},capital:!0,category:"Lu",font:l.SANSSERIFBOLDITALIC},{interval:["1D656","1D66F"],base:u.LATINSMALL,subst:{},capital:!1,category:"Ll",font:l.SANSSERIFBOLDITALIC},{interval:["0391","03A9"],base:u.GREEKCAP,subst:{"03A2":"03F4"},capital:!0,category:"Lu",font:l.NORMAL},{interval:["03B0","03D0"],base:u.GREEKSMALL,subst:{"03B0":"2207","03CA":"2202","03CB":"03F5","03CC":"03D1","03CD":"03F0","03CE":"03D5","03CF":"03F1","03D0":"03D6"},capital:!1,category:"Ll",font:l.NORMAL},{interval:["1D6A8","1D6C0"],base:u.GREEKCAP,subst:{},capital:!0,category:"Lu",font:l.BOLD},{interval:["1D6C1","1D6E1"],base:u.GREEKSMALL,subst:{},capital:!1,category:"Ll",font:l.BOLD},{interval:["1D6E2","1D6FA"],base:u.GREEKCAP,subst:{},capital:!0,category:"Lu",font:l.ITALIC},{interval:["1D6FB","1D71B"],base:u.GREEKSMALL,subst:{},capital:!1,category:"Ll",font:l.ITALIC},{interval:["1D71C","1D734"],base:u.GREEKCAP,subst:{},capital:!0,category:"Lu",font:l.BOLDITALIC},{interval:["1D735","1D755"],base:u.GREEKSMALL,subst:{},capital:!1,category:"Ll",font:l.BOLDITALIC},{interval:["1D756","1D76E"],base:u.GREEKCAP,subst:{},capital:!0,category:"Lu",font:l.SANSSERIFBOLD},{interval:["1D76F","1D78F"],base:u.GREEKSMALL,subst:{},capital:!1,category:"Ll",font:l.SANSSERIFBOLD},{interval:["1D790","1D7A8"],base:u.GREEKCAP,subst:{},capital:!0,category:"Lu",font:l.SANSSERIFBOLDITALIC},{interval:["1D7A9","1D7C9"],base:u.GREEKSMALL,subst:{},capital:!1,category:"Ll",font:l.SANSSERIFBOLDITALIC},{interval:["0030","0039"],base:u.DIGIT,subst:{},offset:0,category:"Nd",font:l.NORMAL},{interval:["2070","2079"],base:u.DIGIT,subst:{2071:"00B9",2072:"00B2",2073:"00B3"},offset:0,category:"No",font:c.SUPER},{interval:["2080","2089"],base:u.DIGIT,subst:{},offset:0,category:"No",font:c.SUB},{interval:["245F","2473"],base:u.DIGIT,subst:{"245F":"24EA"},offset:0,category:"No",font:c.CIRCLED},{interval:["3251","325F"],base:u.DIGIT,subst:{},offset:21,category:"No",font:c.CIRCLED},{interval:["32B1","32BF"],base:u.DIGIT,subst:{},offset:36,category:"No",font:c.CIRCLED},{interval:["2474","2487"],base:u.DIGIT,subst:{},offset:1,category:"No",font:c.PARENTHESIZED},{interval:["2487","249B"],base:u.DIGIT,subst:{2487:"1F100"},offset:0,category:"No",font:c.PERIOD},{interval:["2775","277F"],base:u.DIGIT,subst:{2775:"24FF"},offset:0,category:"No",font:c.NEGATIVECIRCLED},{interval:["24EB","24F4"],base:u.DIGIT,subst:{},offset:11,category:"No",font:c.NEGATIVECIRCLED},{interval:["24F5","24FE"],base:u.DIGIT,subst:{},offset:1,category:"No",font:c.DOUBLECIRCLED},{interval:["277F","2789"],base:u.DIGIT,subst:{"277F":"1F10B"},offset:0,category:"No",font:c.CIRCLEDSANSSERIF},{interval:["2789","2793"],base:u.DIGIT,subst:{2789:"1F10C"},offset:0,category:"No",font:c.NEGATIVECIRCLEDSANSSERIF},{interval:["FF10","FF19"],base:u.DIGIT,subst:{},offset:0,category:"Nd",font:l.FULLWIDTH},{interval:["1D7CE","1D7D7"],base:u.DIGIT,subst:{},offset:0,category:"Nd",font:l.BOLD},{interval:["1D7D8","1D7E1"],base:u.DIGIT,subst:{},offset:0,category:"Nd",font:l.DOUBLESTRUCK},{interval:["1D7E2","1D7EB"],base:u.DIGIT,subst:{},offset:0,category:"Nd",font:l.SANSSERIF},{interval:["1D7EC","1D7F5"],base:u.DIGIT,subst:{},offset:0,category:"Nd",font:l.SANSSERIFBOLD},{interval:["1D7F6","1D7FF"],base:u.DIGIT,subst:{},offset:0,category:"Nd",font:l.MONOSPACE},{interval:["1F101","1F10A"],base:u.DIGIT,subst:{},offset:0,category:"No",font:c.COMMA},{interval:["24B6","24CF"],base:u.LATINCAP,subst:{},capital:!0,category:"So",font:c.CIRCLED},{interval:["24D0","24E9"],base:u.LATINSMALL,subst:{},capital:!1,category:"So",font:c.CIRCLED},{interval:["1F110","1F129"],base:u.LATINCAP,subst:{},capital:!0,category:"So",font:c.PARENTHESIZED},{interval:["249C","24B5"],base:u.LATINSMALL,subst:{},capital:!1,category:"So",font:c.PARENTHESIZED},{interval:["1F130","1F149"],base:u.LATINCAP,subst:{},capital:!0,category:"So",font:c.SQUARED},{interval:["1F170","1F189"],base:u.LATINCAP,subst:{},capital:!0,category:"So",font:c.NEGATIVESQUARED},{interval:["1F150","1F169"],base:u.LATINCAP,subst:{},capital:!0,category:"So",font:c.NEGATIVECIRCLED}]},8504:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Parser=e.Comparator=e.ClearspeakPreferences=void 0;const n=r(5897),o=r(4440),i=r(1676),s=r(1676),a=r(2780),l=r(2362);class c extends i.DynamicCstr{constructor(t,e){super(t),this.preference=e}static comparator(){return new p(n.default.getInstance().dynamicCstr,s.DynamicProperties.createProp([i.DynamicCstr.DEFAULT_VALUES[s.Axis.LOCALE]],[i.DynamicCstr.DEFAULT_VALUES[s.Axis.MODALITY]],[i.DynamicCstr.DEFAULT_VALUES[s.Axis.DOMAIN]],[i.DynamicCstr.DEFAULT_VALUES[s.Axis.STYLE]]))}static fromPreference(t){const e=t.split(":"),r={},n=u.getProperties(),o=Object.keys(n);for(let t,i=0;t=e[i];i++){const e=t.split("_");if(-1===o.indexOf(e[0]))continue;const i=e[1];i&&i!==c.AUTO&&-1!==n[e[0]].indexOf(i)&&(r[e[0]]=e[1])}return r}static toPreference(t){const e=Object.keys(t),r=[];for(let n=0;ns?-1:i0&&e<20&&r>0&&r<11}function O(t){return o.default.getInstance().style===t}function x(t){if(!t.hasAttribute("annotation"))return!1;const e=t.getAttribute("annotation");return!!/clearspeak:simple$|clearspeak:simple;/.exec(e)}function E(t){if(x(t))return!0;if("subscript"!==t.tagName)return!1;const e=t.childNodes[0].childNodes,r=e[1];return"identifier"===e[0].tagName&&(A(r)||"infixop"===r.tagName&&r.hasAttribute("role")&&"implicit"===r.getAttribute("role")&&C(r))}function A(t){return"number"===t.tagName&&t.hasAttribute("role")&&"integer"===t.getAttribute("role")}function C(t){return i.evalXPath("children/*",t).every((t=>A(t)||"identifier"===t.tagName))}function T(t){return"text"===t.type||"punctuated"===t.type&&"text"===t.role&&_(t.childNodes[0])&&N(t.childNodes.slice(1))||"identifier"===t.type&&"unit"===t.role||"infixop"===t.type&&("implicit"===t.role||"unit"===t.role)}function N(t){for(let e=0;e10?s.LOCALE.NUMBERS.numericOrdinal(e):s.LOCALE.NUMBERS.wordOrdinal(e)},e.NESTING_DEPTH=null,e.nestingDepth=function(t){let r=0;const n=t.textContent,o="open"===t.getAttribute("role")?0:1;let i=t.parentNode;for(;i;)"fenced"===i.tagName&&i.childNodes[0].childNodes[o].textContent===n&&r++,i=i.parentNode;return e.NESTING_DEPTH=r>1?s.LOCALE.NUMBERS.wordOrdinal(r):"",e.NESTING_DEPTH},e.matchingFences=function(t){const e=t.previousSibling;let r,n;return e?(r=e,n=t):(r=t,n=t.nextSibling),n&&(0,h.isMatchingFence)(r.textContent,n.textContent)?[t]:[]},e.insertNesting=w,l.Grammar.getInstance().setCorrection("insertNesting",w),e.fencedArguments=function(t){const e=n.toArray(t.parentNode.childNodes),r=i.evalXPath("../../children/*",t),o=e.indexOf(t);return I(r[o])||I(r[o+1])?[t]:[]},e.simpleArguments=function(t){const e=n.toArray(t.parentNode.childNodes),r=i.evalXPath("../../children/*",t),o=e.indexOf(t);return L(r[o])&&r[o+1]&&(L(r[o+1])||"root"===r[o+1].tagName||"sqrt"===r[o+1].tagName||"superscript"===r[o+1].tagName&&r[o+1].childNodes[0].childNodes[0]&&("number"===r[o+1].childNodes[0].childNodes[0].tagName||"identifier"===r[o+1].childNodes[0].childNodes[0].tagName)&&("2"===r[o+1].childNodes[0].childNodes[1].textContent||"3"===r[o+1].childNodes[0].childNodes[1].textContent))?[t]:[]},e.simpleFactor_=L,e.fencedFactor_=I,e.layoutFactor_=P,e.wordOrdinal=function(t){return s.LOCALE.NUMBERS.wordOrdinal(parseInt(t.textContent,10))}},6141:function(t,e,r){var n=this&&this.__awaiter||function(t,e,r,n){return new(r||(r=Promise))((function(o,i){function s(t){try{l(n.next(t))}catch(t){i(t)}}function a(t){try{l(n.throw(t))}catch(t){i(t)}}function l(t){var e;t.done?o(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}l((n=n.apply(t,e||[])).next())}))};Object.defineProperty(e,"__esModule",{value:!0}),e.loadAjax=e.loadFileSync=e.loadFile=e.parseMaps=e.retrieveFiles=e.standardLoader=e.loadLocale=e.store=void 0;const o=r(2139),i=r(5897),s=r(4440),a=r(7248),l=r(2315),c=r(1676),u=r(2780),p=r(2362),h=r(7491),f=r(313);e.store=u;const d={functions:u.addFunctionRules,symbols:u.addSymbolRules,units:u.addUnitRules,si:u.setSiPrefixes};let m=!1;function y(t=i.default.getInstance().locale){i.EnginePromise.loaded[t]||(i.EnginePromise.loaded[t]=[!1,!1],function(t){if(i.default.getInstance().isIE&&i.default.getInstance().mode===s.Mode.HTTP)return void S(t);b(t)}(t))}function g(){switch(i.default.getInstance().mode){case s.Mode.ASYNC:return M;case s.Mode.HTTP:return x;case s.Mode.SYNC:default:return O}}function b(t){const e=i.default.getInstance().customLoader?i.default.getInstance().customLoader:g(),r=new Promise((r=>{e(t).then((e=>{v(e),i.EnginePromise.loaded[t]=[!0,!0],r(t)}),(e=>{i.EnginePromise.loaded[t]=[!0,!1],console.error(`Unable to load locale: ${t}`),i.default.getInstance().locale=i.default.getInstance().defaultLocale,r(t)}))}));i.EnginePromise.promises[t]=r}function v(t){_(JSON.parse(t))}function _(t,e){let r=!0;for(let n,o=0;n=Object.keys(t)[o];o++){const o=n.split("/");e&&e!==o[0]||("rules"===o[1]?p.SpeechRuleEngine.getInstance().addStore(t[n]):"messages"===o[1]?(0,h.completeLocale)(t[n]):(r&&(f.generate(o[0]),r=!1),t[n].forEach(d[o[1]])))}}function S(t,e){let r=e||1;o.mapsForIE?_(o.mapsForIE,t):r<=5&&setTimeout((()=>S(t,r++)).bind(this),300)}function M(t){const e=a.localePath(t);return new Promise(((t,r)=>{l.default.fs.readFile(e,"utf8",((e,n)=>{if(e)return r(e);t(n)}))}))}function O(t){const e=a.localePath(t);return new Promise(((t,r)=>{let n="{}";try{n=l.default.fs.readFileSync(e,"utf8")}catch(t){return r(t)}t(n)}))}function x(t){const e=a.localePath(t),r=new XMLHttpRequest;return new Promise(((t,n)=>{r.onreadystatechange=function(){if(4===r.readyState){const e=r.status;0===e||e>=200&&e<400?t(r.responseText):n(e)}},r.open("GET",e,!0),r.send()}))}e.loadLocale=function(t=i.default.getInstance().locale){return n(this,void 0,void 0,(function*(){return m||(y(c.DynamicCstr.BASE_LOCALE),m=!0),i.EnginePromise.promises[c.DynamicCstr.BASE_LOCALE].then((()=>n(this,void 0,void 0,(function*(){const e=i.default.getInstance().defaultLocale;return e?(y(e),i.EnginePromise.promises[e].then((()=>n(this,void 0,void 0,(function*(){return y(t),i.EnginePromise.promises[t]}))))):(y(t),i.EnginePromise.promises[t])}))))}))},e.standardLoader=g,e.retrieveFiles=b,e.parseMaps=v,e.loadFile=M,e.loadFileSync=O,e.loadAjax=x},7088:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.leftSubscriptBrief=e.leftSuperscriptBrief=e.leftSubscriptVerbose=e.leftSuperscriptVerbose=e.baselineBrief=e.baselineVerbose=void 0;const n=r(1378);e.baselineVerbose=function(t){return n.baselineVerbose(t).replace(/-$/,"")},e.baselineBrief=function(t){return n.baselineBrief(t).replace(/-$/,"")},e.leftSuperscriptVerbose=function(t){return n.superscriptVerbose(t).replace(/^exposant/,"exposant gauche")},e.leftSubscriptVerbose=function(t){return n.subscriptVerbose(t).replace(/^indice/,"indice gauche")},e.leftSuperscriptBrief=function(t){return n.superscriptBrief(t).replace(/^sup/,"sup gauche")},e.leftSubscriptBrief=function(t){return n.subscriptBrief(t).replace(/^sub/,"sub gauche")}},9577:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.MathspeakRules=void 0;const n=r(1676),o=r(365),i=r(7088),s=r(1378),a=r(8437),l=r(7283),c=r(7598);e.MathspeakRules=function(){l.addStore(n.DynamicCstr.BASE_LOCALE+".speech.mathspeak","",{CQFspaceoutNumber:s.spaceoutNumber,CQFspaceoutIdentifier:s.spaceoutIdentifier,CSFspaceoutText:s.spaceoutText,CSFopenFracVerbose:s.openingFractionVerbose,CSFcloseFracVerbose:s.closingFractionVerbose,CSFoverFracVerbose:s.overFractionVerbose,CSFopenFracBrief:s.openingFractionBrief,CSFcloseFracBrief:s.closingFractionBrief,CSFopenFracSbrief:s.openingFractionSbrief,CSFcloseFracSbrief:s.closingFractionSbrief,CSFoverFracSbrief:s.overFractionSbrief,CSFvulgarFraction:a.vulgarFraction,CQFvulgarFractionSmall:s.isSmallVulgarFraction,CSFopenRadicalVerbose:s.openingRadicalVerbose,CSFcloseRadicalVerbose:s.closingRadicalVerbose,CSFindexRadicalVerbose:s.indexRadicalVerbose,CSFopenRadicalBrief:s.openingRadicalBrief,CSFcloseRadicalBrief:s.closingRadicalBrief,CSFindexRadicalBrief:s.indexRadicalBrief,CSFopenRadicalSbrief:s.openingRadicalSbrief,CSFindexRadicalSbrief:s.indexRadicalSbrief,CQFisSmallRoot:s.smallRoot,CSFsuperscriptVerbose:s.superscriptVerbose,CSFsuperscriptBrief:s.superscriptBrief,CSFsubscriptVerbose:s.subscriptVerbose,CSFsubscriptBrief:s.subscriptBrief,CSFbaselineVerbose:s.baselineVerbose,CSFbaselineBrief:s.baselineBrief,CSFleftsuperscriptVerbose:s.superscriptVerbose,CSFleftsubscriptVerbose:s.subscriptVerbose,CSFrightsuperscriptVerbose:s.superscriptVerbose,CSFrightsubscriptVerbose:s.subscriptVerbose,CSFleftsuperscriptBrief:s.superscriptBrief,CSFleftsubscriptBrief:s.subscriptBrief,CSFrightsuperscriptBrief:s.superscriptBrief,CSFrightsubscriptBrief:s.subscriptBrief,CSFunderscript:s.nestedUnderscript,CSFoverscript:s.nestedOverscript,CSFendscripts:s.endscripts,CTFordinalCounter:a.ordinalCounter,CTFwordCounter:a.wordCounter,CTFcontentIterator:o.contentIterator,CQFdetIsSimple:s.determinantIsSimple,CSFRemoveParens:s.removeParens,CQFresetNesting:s.resetNestingDepth,CGFbaselineConstraint:s.generateBaselineConstraint,CGFtensorRules:s.generateTensorRules}),l.addStore("es.speech.mathspeak",n.DynamicCstr.BASE_LOCALE+".speech.mathspeak",{CTFunitMultipliers:c.unitMultipliers,CQFoneLeft:c.oneLeft}),l.addStore("fr.speech.mathspeak",n.DynamicCstr.BASE_LOCALE+".speech.mathspeak",{CSFbaselineVerbose:i.baselineVerbose,CSFbaselineBrief:i.baselineBrief,CSFleftsuperscriptVerbose:i.leftSuperscriptVerbose,CSFleftsubscriptVerbose:i.leftSubscriptVerbose,CSFleftsuperscriptBrief:i.leftSuperscriptBrief,CSFleftsubscriptBrief:i.leftSubscriptBrief})}},1378:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.smallRoot=e.generateTensorRules=e.removeParens=e.generateBaselineConstraint=e.determinantIsSimple=e.nestedOverscript=e.endscripts=e.overscoreNestingDepth=e.nestedUnderscript=e.underscoreNestingDepth=e.indexRadicalSbrief=e.openingRadicalSbrief=e.indexRadicalBrief=e.closingRadicalBrief=e.openingRadicalBrief=e.indexRadicalVerbose=e.closingRadicalVerbose=e.openingRadicalVerbose=e.getRootIndex=e.nestedRadical=e.radicalNestingDepth=e.baselineBrief=e.baselineVerbose=e.superscriptBrief=e.superscriptVerbose=e.subscriptBrief=e.subscriptVerbose=e.nestedSubSuper=e.isSmallVulgarFraction=e.overFractionSbrief=e.closingFractionSbrief=e.openingFractionSbrief=e.closingFractionBrief=e.openingFractionBrief=e.overFractionVerbose=e.closingFractionVerbose=e.openingFractionVerbose=e.nestedFraction=e.fractionNestingDepth=e.computeNestingDepth_=e.containsAttr=e.getNestingDepth=e.resetNestingDepth=e.nestingBarriers=e.spaceoutIdentifier=e.spaceoutNumber=e.spaceoutNodes=e.spaceoutText=void 0;const n=r(707),o=r(5740),i=r(5274),s=r(4356),a=r(3308);let l={};function c(t,e){const r=Array.from(t.textContent),n=[],o=a.default.getInstance(),i=t.ownerDocument;for(let t,s=0;t=r[s];s++){const r=o.getNodeFactory().makeLeafNode(t,"unknown"),s=o.identifierNode(r,"unknown","");e(s),n.push(s.xml(i))}return n}function u(t,r,i,s,a,c){s=s||e.nestingBarriers,a=a||{},c=c||function(t){return!1};const u=o.serializeXml(r);if(l[t]||(l[t]={}),l[t][u])return l[t][u];if(c(r)||i.indexOf(r.tagName)<0)return 0;const p=h(r,i,n.setdifference(s,i),a,c,0);return l[t][u]=p,p}function p(t,e){if(!t.attributes)return!1;const r=o.toArray(t.attributes);for(let t,n=0;t=r[n];n++)if(e[t.nodeName]===t.nodeValue)return!0;return!1}function h(t,e,r,n,i,s){if(i(t)||r.indexOf(t.tagName)>-1||p(t,n))return s;if(e.indexOf(t.tagName)>-1&&s++,!t.childNodes||0===t.childNodes.length)return s;const a=o.toArray(t.childNodes);return Math.max.apply(null,a.map((function(t){return h(t,e,r,n,i,s)})))}function f(t){return u("fraction",t,["fraction"],e.nestingBarriers,{},s.LOCALE.FUNCTIONS.fracNestDepth)}function d(t,e,r){const n=f(t),o=Array(n).fill(e);return r&&o.push(r),o.join(s.LOCALE.MESSAGES.regexp.JOINER_FRAC)}function m(t,e,r){for(;t.parentNode;){const n=t.parentNode,o=n.parentNode;if(!o)break;const i=t.getAttribute&&t.getAttribute("role");("subscript"===o.tagName&&t===n.childNodes[1]||"tensor"===o.tagName&&i&&("leftsub"===i||"rightsub"===i))&&(e=r.sub+s.LOCALE.MESSAGES.regexp.JOINER_SUBSUPER+e),("superscript"===o.tagName&&t===n.childNodes[1]||"tensor"===o.tagName&&i&&("leftsuper"===i||"rightsuper"===i))&&(e=r.sup+s.LOCALE.MESSAGES.regexp.JOINER_SUBSUPER+e),t=o}return e.trim()}function y(t){return u("radical",t,["sqrt","root"],e.nestingBarriers,{})}function g(t,e,r){const n=y(t),o=b(t);return r=o?s.LOCALE.FUNCTIONS.combineRootIndex(r,o):r,1===n?r:s.LOCALE.FUNCTIONS.combineNestedRadical(e,s.LOCALE.FUNCTIONS.radicalNestDepth(n-1),r)}function b(t){const e="sqrt"===t.tagName?"2":i.evalXPath("children/*[1]",t)[0].textContent.trim();return s.LOCALE.MESSAGES.MSroots[e]||""}function v(t){return u("underscore",t,["underscore"],e.nestingBarriers,{},(function(t){return t.tagName&&"underscore"===t.tagName&&"underaccent"===t.childNodes[0].childNodes[1].getAttribute("role")}))}function _(t){return u("overscore",t,["overscore"],e.nestingBarriers,{},(function(t){return t.tagName&&"overscore"===t.tagName&&"overaccent"===t.childNodes[0].childNodes[1].getAttribute("role")}))}e.spaceoutText=function(t){return Array.from(t.textContent).join(" ")},e.spaceoutNodes=c,e.spaceoutNumber=function(t){return c(t,(function(t){t.textContent.match(/\W/)||(t.type="number")}))},e.spaceoutIdentifier=function(t){return c(t,(function(t){t.font="unknown",t.type="identifier"}))},e.nestingBarriers=["cases","cell","integral","line","matrix","multiline","overscore","root","row","sqrt","subscript","superscript","table","underscore","vector"],e.resetNestingDepth=function(t){return l={},[t]},e.getNestingDepth=u,e.containsAttr=p,e.computeNestingDepth_=h,e.fractionNestingDepth=f,e.nestedFraction=d,e.openingFractionVerbose=function(t){return d(t,s.LOCALE.MESSAGES.MS.START,s.LOCALE.MESSAGES.MS.FRAC_V)},e.closingFractionVerbose=function(t){return d(t,s.LOCALE.MESSAGES.MS.END,s.LOCALE.MESSAGES.MS.FRAC_V)},e.overFractionVerbose=function(t){return d(t,s.LOCALE.MESSAGES.MS.FRAC_OVER)},e.openingFractionBrief=function(t){return d(t,s.LOCALE.MESSAGES.MS.START,s.LOCALE.MESSAGES.MS.FRAC_B)},e.closingFractionBrief=function(t){return d(t,s.LOCALE.MESSAGES.MS.END,s.LOCALE.MESSAGES.MS.FRAC_B)},e.openingFractionSbrief=function(t){const e=f(t);return 1===e?s.LOCALE.MESSAGES.MS.FRAC_S:s.LOCALE.FUNCTIONS.combineNestedFraction(s.LOCALE.MESSAGES.MS.NEST_FRAC,s.LOCALE.FUNCTIONS.radicalNestDepth(e-1),s.LOCALE.MESSAGES.MS.FRAC_S)},e.closingFractionSbrief=function(t){const e=f(t);return 1===e?s.LOCALE.MESSAGES.MS.ENDFRAC:s.LOCALE.FUNCTIONS.combineNestedFraction(s.LOCALE.MESSAGES.MS.NEST_FRAC,s.LOCALE.FUNCTIONS.radicalNestDepth(e-1),s.LOCALE.MESSAGES.MS.ENDFRAC)},e.overFractionSbrief=function(t){const e=f(t);return 1===e?s.LOCALE.MESSAGES.MS.FRAC_OVER:s.LOCALE.FUNCTIONS.combineNestedFraction(s.LOCALE.MESSAGES.MS.NEST_FRAC,s.LOCALE.FUNCTIONS.radicalNestDepth(e-1),s.LOCALE.MESSAGES.MS.FRAC_OVER)},e.isSmallVulgarFraction=function(t){return s.LOCALE.FUNCTIONS.fracNestDepth(t)?[t]:[]},e.nestedSubSuper=m,e.subscriptVerbose=function(t){return m(t,s.LOCALE.MESSAGES.MS.SUBSCRIPT,{sup:s.LOCALE.MESSAGES.MS.SUPER,sub:s.LOCALE.MESSAGES.MS.SUB})},e.subscriptBrief=function(t){return m(t,s.LOCALE.MESSAGES.MS.SUB,{sup:s.LOCALE.MESSAGES.MS.SUP,sub:s.LOCALE.MESSAGES.MS.SUB})},e.superscriptVerbose=function(t){return m(t,s.LOCALE.MESSAGES.MS.SUPERSCRIPT,{sup:s.LOCALE.MESSAGES.MS.SUPER,sub:s.LOCALE.MESSAGES.MS.SUB})},e.superscriptBrief=function(t){return m(t,s.LOCALE.MESSAGES.MS.SUP,{sup:s.LOCALE.MESSAGES.MS.SUP,sub:s.LOCALE.MESSAGES.MS.SUB})},e.baselineVerbose=function(t){const e=m(t,"",{sup:s.LOCALE.MESSAGES.MS.SUPER,sub:s.LOCALE.MESSAGES.MS.SUB});return e?e.replace(new RegExp(s.LOCALE.MESSAGES.MS.SUB+"$"),s.LOCALE.MESSAGES.MS.SUBSCRIPT).replace(new RegExp(s.LOCALE.MESSAGES.MS.SUPER+"$"),s.LOCALE.MESSAGES.MS.SUPERSCRIPT):s.LOCALE.MESSAGES.MS.BASELINE},e.baselineBrief=function(t){return m(t,"",{sup:s.LOCALE.MESSAGES.MS.SUP,sub:s.LOCALE.MESSAGES.MS.SUB})||s.LOCALE.MESSAGES.MS.BASE},e.radicalNestingDepth=y,e.nestedRadical=g,e.getRootIndex=b,e.openingRadicalVerbose=function(t){return g(t,s.LOCALE.MESSAGES.MS.NESTED,s.LOCALE.MESSAGES.MS.STARTROOT)},e.closingRadicalVerbose=function(t){return g(t,s.LOCALE.MESSAGES.MS.NESTED,s.LOCALE.MESSAGES.MS.ENDROOT)},e.indexRadicalVerbose=function(t){return g(t,s.LOCALE.MESSAGES.MS.NESTED,s.LOCALE.MESSAGES.MS.ROOTINDEX)},e.openingRadicalBrief=function(t){return g(t,s.LOCALE.MESSAGES.MS.NEST_ROOT,s.LOCALE.MESSAGES.MS.STARTROOT)},e.closingRadicalBrief=function(t){return g(t,s.LOCALE.MESSAGES.MS.NEST_ROOT,s.LOCALE.MESSAGES.MS.ENDROOT)},e.indexRadicalBrief=function(t){return g(t,s.LOCALE.MESSAGES.MS.NEST_ROOT,s.LOCALE.MESSAGES.MS.ROOTINDEX)},e.openingRadicalSbrief=function(t){return g(t,s.LOCALE.MESSAGES.MS.NEST_ROOT,s.LOCALE.MESSAGES.MS.ROOT)},e.indexRadicalSbrief=function(t){return g(t,s.LOCALE.MESSAGES.MS.NEST_ROOT,s.LOCALE.MESSAGES.MS.INDEX)},e.underscoreNestingDepth=v,e.nestedUnderscript=function(t){const e=v(t);return Array(e).join(s.LOCALE.MESSAGES.MS.UNDER)+s.LOCALE.MESSAGES.MS.UNDERSCRIPT},e.overscoreNestingDepth=_,e.endscripts=function(t){return s.LOCALE.MESSAGES.MS.ENDSCRIPTS},e.nestedOverscript=function(t){const e=_(t);return Array(e).join(s.LOCALE.MESSAGES.MS.OVER)+s.LOCALE.MESSAGES.MS.OVERSCRIPT},e.determinantIsSimple=function(t){if("matrix"!==t.tagName||"determinant"!==t.getAttribute("role"))return[];const e=i.evalXPath("children/row/children/cell/children/*",t);for(let t,r=0;t=e[r];r++)if("number"!==t.tagName){if("identifier"===t.tagName){const e=t.getAttribute("role");if("latinletter"===e||"greekletter"===e||"otherletter"===e)continue}return[]}return[t]},e.generateBaselineConstraint=function(){const t=t=>t.map((t=>"ancestor::"+t)),e=t=>"not("+t+")",r=e(t(["subscript","superscript","tensor"]).join(" or ")),n=t(["relseq","multrel"]),o=t(["fraction","punctuation","fenced","sqrt","root"]);let i=[];for(let t,e=0;t=o[e];e++)i=i.concat(n.map((function(e){return t+"/"+e})));return[["ancestor::*/following-sibling::*",r,e(i.join(" | "))].join(" and ")]},e.removeParens=function(t){if(!t.childNodes.length||!t.childNodes[0].childNodes.length||!t.childNodes[0].childNodes[0].childNodes.length)return"";const e=t.childNodes[0].childNodes[0].childNodes[0].textContent;return e.match(/^\(.+\)$/)?e.slice(1,-1):e};const S=new Map([[3,"CSFleftsuperscript"],[4,"CSFleftsubscript"],[2,"CSFbaseline"],[1,"CSFrightsubscript"],[0,"CSFrightsuperscript"]]),M=new Map([[4,2],[3,3],[2,1],[1,4],[0,5]]);function O(t){const e=[];let r="",n="",o=parseInt(t,2);for(let t=0;t<5;t++){const i="children/*["+M.get(t)+"]";if(1&o){const e=S.get(t%5);r="[t] "+e+"Verbose; [n] "+i+";"+r,n="[t] "+e+"Brief; [n] "+i+";"+n}else e.unshift("name("+i+')="empty"');o>>=1}return[e,r,n]}e.generateTensorRules=function(t,e=!0){const r=["11111","11110","11101","11100","10111","10110","10101","10100","01111","01110","01101","01100"];for(let n,o=0;n=r[o];o++){let r="tensor"+n,[o,i,s]=O(n);t.defineRule(r,"default",i,"self::tensor",...o),e&&(t.defineRule(r,"brief",s,"self::tensor",...o),t.defineRule(r,"sbrief",s,"self::tensor",...o));const a=S.get(2);i+="; [t]"+a+"Verbose",s+="; [t]"+a+"Brief",r+="-baseline";const l="((.//*[not(*)])[last()]/@id)!=(((.//ancestor::fraction|ancestor::root|ancestor::sqrt|ancestor::cell|ancestor::line|ancestor::stree)[1]//*[not(*)])[last()]/@id)";t.defineRule(r,"default",i,"self::tensor",l,...o),e&&(t.defineRule(r,"brief",s,"self::tensor",l,...o),t.defineRule(r,"sbrief",s,"self::tensor",l,...o))}},e.smallRoot=function(t){let e=Object.keys(s.LOCALE.MESSAGES.MSroots).length;if(!e)return[];if(e++,!t.childNodes||0===t.childNodes.length||!t.childNodes[0].childNodes)return[];const r=t.childNodes[0].childNodes[0].textContent;if(!/^\d+$/.test(r))return[];const n=parseInt(r,10);return n>1&&n<=e?[t]:[]}},6922:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.implicitIterator=e.relationIterator=e.propagateNumber=e.checkParent_=e.NUMBER_INHIBITORS_=e.NUMBER_PROPAGATORS_=e.enlargeFence=e.indexRadical=e.closingRadical=e.openingRadical=e.radicalNestingDepth=e.nestedRadical=e.overBevelledFraction=e.overFraction=e.closingFraction=e.openingFraction=void 0;const n=r(7052),o=r(5740),i=r(5274),s=r(2105),a=r(5897),l=r(7630),c=r(9265),u=r(4356),p=r(1378);function h(t,e){const r=f(t);return 1===r?e:new Array(r).join(u.LOCALE.MESSAGES.MS.NESTED)+e}function f(t,e){const r=e||0;return t.parentNode?f(t.parentNode,"root"===t.tagName||"sqrt"===t.tagName?r+1:r):r}function d(t){const e="\u2820";if(1===t.length)return e+t;const r=t.split("");return r.every((function(t){return"\u2833"===t}))?e+r.join(e):t.slice(0,-1)+e+t.slice(-1)}function m(t,r){const n=t.parent;if(!n)return!1;const o=n.type;return-1!==e.NUMBER_PROPAGATORS_.indexOf(o)||"prefixop"===o&&"negative"===n.role&&!r.script||"prefixop"===o&&"geometry"===n.role||!("punctuated"!==o||r.enclosed&&"text"!==n.role)}function y(t,r){return t.childNodes.length?(-1!==e.NUMBER_INHIBITORS_.indexOf(t.type)&&(r.script=!0),"fenced"===t.type?(r.number=!1,r.enclosed=!0,["",r]):(m(t,r)&&(r.number=!0,r.enclosed=!1),["",r])):(m(t,r)&&(r.number=!0,r.script=!1,r.enclosed=!1),[r.number?"number":"",{number:!1,enclosed:r.enclosed,script:r.script}])}e.openingFraction=function(t){const e=p.fractionNestingDepth(t);return new Array(e).join(u.LOCALE.MESSAGES.MS.FRACTION_REPEAT)+u.LOCALE.MESSAGES.MS.FRACTION_START},e.closingFraction=function(t){const e=p.fractionNestingDepth(t);return new Array(e).join(u.LOCALE.MESSAGES.MS.FRACTION_REPEAT)+u.LOCALE.MESSAGES.MS.FRACTION_END},e.overFraction=function(t){const e=p.fractionNestingDepth(t);return new Array(e).join(u.LOCALE.MESSAGES.MS.FRACTION_REPEAT)+u.LOCALE.MESSAGES.MS.FRACTION_OVER},e.overBevelledFraction=function(t){const e=p.fractionNestingDepth(t);return new Array(e).join(u.LOCALE.MESSAGES.MS.FRACTION_REPEAT)+"\u2838"+u.LOCALE.MESSAGES.MS.FRACTION_OVER},e.nestedRadical=h,e.radicalNestingDepth=f,e.openingRadical=function(t){return h(t,u.LOCALE.MESSAGES.MS.STARTROOT)},e.closingRadical=function(t){return h(t,u.LOCALE.MESSAGES.MS.ENDROOT)},e.indexRadical=function(t){return h(t,u.LOCALE.MESSAGES.MS.ROOTINDEX)},e.enlargeFence=d,s.Grammar.getInstance().setCorrection("enlargeFence",d),e.NUMBER_PROPAGATORS_=["multirel","relseq","appl","row","line"],e.NUMBER_INHIBITORS_=["subscript","superscript","overscore","underscore"],e.checkParent_=m,e.propagateNumber=y,(0,l.register)(new c.SemanticVisitor("nemeth","number",y,{number:!0})),e.relationIterator=function(t,e){const r=t.slice(0);let s,l=!0;return s=t.length>0?i.evalXPath("../../content/*",t[0]):[],function(){const t=s.shift(),i=r.shift(),c=r[0],h=e?[n.AuditoryDescription.create({text:e},{translate:!0})]:[];if(!t)return h;const f=i?p.nestedSubSuper(i,"",{sup:u.LOCALE.MESSAGES.MS.SUPER,sub:u.LOCALE.MESSAGES.MS.SUB}):"",d=i&&"EMPTY"!==o.tagName(i)||l&&t.parentNode.parentNode&&t.parentNode.parentNode.previousSibling?[n.AuditoryDescription.create({text:"\u2800"+f},{})]:[],m=c&&"EMPTY"!==o.tagName(c)||!s.length&&t.parentNode.parentNode&&t.parentNode.parentNode.nextSibling?[n.AuditoryDescription.create({text:"\u2800"},{})]:[],y=a.default.evaluateNode(t);return l=!1,h.concat(d,y,m)}},e.implicitIterator=function(t,e){const r=t.slice(0);let s;return s=t.length>0?i.evalXPath("../../content/*",t[0]):[],function(){const t=r.shift(),i=r[0],a=s.shift(),l=e?[n.AuditoryDescription.create({text:e},{translate:!0})]:[];if(!a)return l;const c=t&&"NUMBER"===o.tagName(t),u=i&&"NUMBER"===o.tagName(i);return l.concat(c&&u&&"space"===a.getAttribute("role")?[n.AuditoryDescription.create({text:"\u2800"},{})]:[])}}},8437:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.ordinalPosition=e.vulgarFraction=e.wordCounter=e.ordinalCounter=void 0;const n=r(9536),o=r(5740),i=r(4356),s=r(4977);e.ordinalCounter=function(t,e){let r=0;return function(){return i.LOCALE.NUMBERS.numericOrdinal(++r)+" "+e}},e.wordCounter=function(t,e){let r=0;return function(){return i.LOCALE.NUMBERS.numberToOrdinal(++r,!1)+" "+e}},e.vulgarFraction=function(t){const e=(0,s.convertVulgarFraction)(t,i.LOCALE.MESSAGES.MS.FRAC_OVER);return e.convertible&&e.enumerator&&e.denominator?[new n.Span(i.LOCALE.NUMBERS.numberToWords(e.enumerator),{extid:t.childNodes[0].childNodes[0].getAttribute("extid"),separator:""}),new n.Span(i.LOCALE.NUMBERS.vulgarSep,{separator:""}),new n.Span(i.LOCALE.NUMBERS.numberToOrdinal(e.denominator,1!==e.enumerator),{extid:t.childNodes[0].childNodes[1].getAttribute("extid")})]:[new n.Span(e.content||"",{extid:t.getAttribute("extid")})]},e.ordinalPosition=function(t){const e=o.toArray(t.parentNode.childNodes);return i.LOCALE.NUMBERS.numericOrdinal(e.indexOf(t)+1).toString()}},9284:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.BrailleRules=e.OtherRules=e.PrefixRules=void 0;const n=r(1676),o=r(365),i=r(1378),s=r(6922),a=r(8437),l=r(7283);e.PrefixRules=function(){l.addStore("en.prefix.default","",{CSFordinalPosition:a.ordinalPosition})},e.OtherRules=function(){l.addStore("en.speech.chromevox","",{CTFnodeCounter:o.nodeCounter,CTFcontentIterator:o.contentIterator}),l.addStore("en.speech.emacspeak","en.speech.chromevox",{CQFvulgarFractionSmall:i.isSmallVulgarFraction,CSFvulgarFraction:a.vulgarFraction})},e.BrailleRules=function(){l.addStore("nemeth.braille.default",n.DynamicCstr.BASE_LOCALE+".speech.mathspeak",{CSFopenFraction:s.openingFraction,CSFcloseFraction:s.closingFraction,CSFoverFraction:s.overFraction,CSFoverBevFraction:s.overBevelledFraction,CSFopenRadical:s.openingRadical,CSFcloseRadical:s.closingRadical,CSFindexRadical:s.indexRadical,CSFsubscript:i.subscriptVerbose,CSFsuperscript:i.superscriptVerbose,CSFbaseline:i.baselineVerbose,CGFtensorRules:t=>i.generateTensorRules(t,!1),CTFrelationIterator:s.relationIterator,CTFimplicitIterator:s.implicitIterator})}},7599:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.init=e.INIT_=void 0;const n=r(5425),o=r(9577),i=r(9284);e.INIT_=!1,e.init=function(){e.INIT_||((0,o.MathspeakRules)(),(0,n.ClearspeakRules)(),(0,i.PrefixRules)(),(0,i.OtherRules)(),(0,i.BrailleRules)(),e.INIT_=!0)}},7283:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.getStore=e.addStore=e.funcStore=void 0;const n=r(1676);e.funcStore=new Map,e.addStore=function(t,r,n){const o={};if(r){const t=e.funcStore.get(r)||{};Object.assign(o,t)}e.funcStore.set(t,Object.assign(o,n))},e.getStore=function(t,r,o){return e.funcStore.get([t,r,o].join("."))||e.funcStore.get([n.DynamicCstr.DEFAULT_VALUES[n.Axis.LOCALE],r,o].join("."))||e.funcStore.get([n.DynamicCstr.BASE_LOCALE,r,o].join("."))||{}}},7598:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.oneLeft=e.leftMostUnit=e.rightMostUnit=e.unitMultipliers=void 0;const n=r(7052),o=r(5274),i=r(4356);e.unitMultipliers=function(t,e){const r=t;let o=0;return function(){const t=n.AuditoryDescription.create({text:a(r[o])&&l(r[o+1])?i.LOCALE.MESSAGES.unitTimes:""},{});return o++,[t]}};const s=["superscript","subscript","overscore","underscore"];function a(t){for(;t;){if("unit"===t.getAttribute("role"))return!0;const e=t.tagName,r=o.evalXPath("children/*",t);t=-1!==s.indexOf(e)?r[0]:r[r.length-1]}return!1}function l(t){for(;t;){if("unit"===t.getAttribute("role"))return!0;t=o.evalXPath("children/*",t)[0]}return!1}e.rightMostUnit=a,e.leftMostUnit=l,e.oneLeft=function(t){for(;t;){if("number"===t.tagName&&"1"===t.textContent)return[t];if("infixop"!==t.tagName||"multiplication"!==t.getAttribute("role")&&"implicit"!==t.getAttribute("role"))return[];t=o.evalXPath("children/*",t)[0]}return[]}},3284:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractWalker=void 0;const n=r(7052),o=r(8290),i=r(5740),s=r(4440),a=r(6828),l=r(8496),c=r(2298),u=r(4356),p=r(2105),h=r(5656),f=r(9552),d=r(9543),m=r(8504),y=r(7730),g=r(1214),b=r(179),v=r(1204),_=r(5274);class S{constructor(t,e,r,n){this.node=t,this.generator=e,this.highlighter=r,this.modifier=!1,this.keyMapping=new Map([[l.KeyCode.UP,this.up.bind(this)],[l.KeyCode.DOWN,this.down.bind(this)],[l.KeyCode.RIGHT,this.right.bind(this)],[l.KeyCode.LEFT,this.left.bind(this)],[l.KeyCode.TAB,this.repeat.bind(this)],[l.KeyCode.DASH,this.expand.bind(this)],[l.KeyCode.SPACE,this.depth.bind(this)],[l.KeyCode.HOME,this.home.bind(this)],[l.KeyCode.X,this.summary.bind(this)],[l.KeyCode.Z,this.detail.bind(this)],[l.KeyCode.V,this.virtualize.bind(this)],[l.KeyCode.P,this.previous.bind(this)],[l.KeyCode.U,this.undo.bind(this)],[l.KeyCode.LESS,this.previousRules.bind(this)],[l.KeyCode.GREATER,this.nextRules.bind(this)]]),this.cursors=[],this.xml_=null,this.rebuilt_=null,this.focus_=null,this.active_=!1,this.node.id?this.id=this.node.id:this.node.hasAttribute(S.SRE_ID_ATTR)?this.id=this.node.getAttribute(S.SRE_ID_ATTR):(this.node.setAttribute(S.SRE_ID_ATTR,S.ID_COUNTER.toString()),this.id=S.ID_COUNTER++),this.rootNode=v.getSemanticRoot(t),this.rootId=this.rootNode.getAttribute(c.Attribute.ID),this.xmlString_=n,this.moved=b.WalkerMoves.ENTER}getXml(){return this.xml_||(this.xml_=i.parseInput(this.xmlString_)),this.xml_}getRebuilt(){return this.rebuilt_||this.rebuildStree(),this.rebuilt_}isActive(){return this.active_}activate(){this.isActive()||(this.generator.start(),this.toggleActive_())}deactivate(){this.isActive()&&(b.WalkerState.setState(this.id,this.primaryId()),this.generator.end(),this.toggleActive_())}getFocus(t=!1){return this.focus_||(this.focus_=this.singletonFocus(this.rootId)),t&&this.updateFocus(),this.focus_}setFocus(t){this.focus_=t}getDepth(){return this.levels.depth()-1}isSpeech(){return this.generator.modality===c.Attribute.SPEECH}focusDomNodes(){return this.getFocus().getDomNodes()}focusSemanticNodes(){return this.getFocus().getSemanticNodes()}speech(){const t=this.focusDomNodes();if(!t.length)return"";const e=this.specialMove();if(null!==e)return e;switch(this.moved){case b.WalkerMoves.DEPTH:return this.depth_();case b.WalkerMoves.SUMMARY:return this.summary_();case b.WalkerMoves.DETAIL:return this.detail_();default:{const e=[],r=this.focusSemanticNodes();for(let n=0,o=t.length;n0}restoreState(){if(!this.highlighter)return;const t=b.WalkerState.getState(this.id);if(!t)return;let e=this.getRebuilt().nodeDict[t];const r=[];for(;e;)r.push(e.id),e=e.parent;for(r.pop();r.length>0;){this.down();const t=r.pop(),e=this.findFocusOnLevel(t);if(!e)break;this.setFocus(e)}this.moved=b.WalkerMoves.ENTER}updateFocus(){this.setFocus(y.Focus.factory(this.getFocus().getSemanticPrimary().id.toString(),this.getFocus().getSemanticNodes().map((t=>t.id.toString())),this.getRebuilt(),this.node))}rebuildStree(){this.rebuilt_=new g.RebuildStree(this.getXml()),this.rootId=this.rebuilt_.stree.root.id.toString(),this.generator.setRebuilt(this.rebuilt_),this.skeleton=h.SemanticSkeleton.fromTree(this.rebuilt_.stree),this.skeleton.populate(),this.focus_=this.singletonFocus(this.rootId),this.levels=this.initLevels(),d.connectMactions(this.node,this.getXml(),this.rebuilt_.xml)}previousLevel(){const t=this.getFocus().getDomPrimary();return t?v.getAttribute(t,c.Attribute.PARENT):this.getFocus().getSemanticPrimary().parent.id.toString()}nextLevel(){const t=this.getFocus().getDomPrimary();let e,r;if(t){e=v.splitAttribute(v.getAttribute(t,c.Attribute.CHILDREN)),r=v.splitAttribute(v.getAttribute(t,c.Attribute.CONTENT));const n=v.getAttribute(t,c.Attribute.TYPE),o=v.getAttribute(t,c.Attribute.ROLE);return this.combineContentChildren(n,o,r,e)}const n=t=>t.id.toString(),o=this.getRebuilt().nodeDict[this.primaryId()];return e=o.childNodes.map(n),r=o.contentNodes.map(n),0===e.length?[]:this.combineContentChildren(o.type,o.role,r,e)}singletonFocus(t){this.getRebuilt();const e=this.retrieveVisuals(t);return this.focusFromId(t,e)}retrieveVisuals(t){if(!this.skeleton)return[t];const e=parseInt(t,10),r=this.skeleton.subtreeNodes(e);if(!r.length)return[t];r.unshift(e);const n={},o=[];_.updateEvaluator(this.getXml());for(const t of r)n[t]||(o.push(t.toString()),n[t]=!0,this.subtreeIds(t,n));return o}subtreeIds(t,e){const r=_.evalXPath(`//*[@data-semantic-id="${t}"]`,this.getXml());_.evalXPath("*//@data-semantic-id",r[0]).forEach((t=>e[parseInt(t.textContent,10)]=!0))}focusFromId(t,e){return y.Focus.factory(t,e,this.getRebuilt(),this.node)}summary(){return this.moved=this.isSpeech()?b.WalkerMoves.SUMMARY:b.WalkerMoves.REPEAT,this.getFocus().clone()}detail(){return this.moved=this.isSpeech()?b.WalkerMoves.DETAIL:b.WalkerMoves.REPEAT,this.getFocus().clone()}specialMove(){return null}virtualize(t){return this.cursors.push({focus:this.getFocus(),levels:this.levels,undo:t||!this.cursors.length}),this.levels=this.levels.clone(),this.getFocus().clone()}previous(){const t=this.cursors.pop();return t?(this.levels=t.levels,t.focus):this.getFocus()}undo(){let t;do{t=this.cursors.pop()}while(t&&!t.undo);return t?(this.levels=t.levels,t.focus):this.getFocus()}update(t){this.generator.setOptions(t),(0,a.setup)(t).then((()=>f.generator("Tree").getSpeech(this.node,this.getXml())))}nextRules(){const t=this.generator.getOptions();return"speech"!==t.modality?this.getFocus():(s.DOMAIN_TO_STYLES[t.domain]=t.style,t.domain="mathspeak"===t.domain?"clearspeak":"mathspeak",t.style=s.DOMAIN_TO_STYLES[t.domain],this.update(t),this.moved=b.WalkerMoves.REPEAT,this.getFocus().clone())}nextStyle(t,e){if("mathspeak"===t){const t=["default","brief","sbrief"],r=t.indexOf(e);return-1===r?e:r>=t.length-1?t[0]:t[r+1]}if("clearspeak"===t){const t=m.ClearspeakPreferences.getLocalePreferences().en;if(!t)return"default";const r=m.ClearspeakPreferences.relevantPreferences(this.getFocus().getSemanticPrimary()),n=m.ClearspeakPreferences.findPreference(e,r),o=t[r].map((function(t){return t.split("_")[1]})),i=o.indexOf(n);if(-1===i)return e;const s=i>=o.length-1?o[0]:o[i+1];return m.ClearspeakPreferences.addPreference(e,r,s)}return e}previousRules(){const t=this.generator.getOptions();return"speech"!==t.modality?this.getFocus():(t.style=this.nextStyle(t.domain,t.style),this.update(t),this.moved=b.WalkerMoves.REPEAT,this.getFocus().clone())}refocus(){let t,e=this.getFocus();for(;!e.getNodes().length;){t=this.levels.peek();const r=this.up();if(!r)break;this.setFocus(r),e=this.getFocus(!0)}this.levels.push(t),this.setFocus(e)}toggleActive_(){this.active_=!this.active_}mergePrefix_(t,e=[]){const r=this.isSpeech()?this.prefix_():"";r&&t.unshift(r);const n=this.isSpeech()?this.postfix_():"";return n&&t.push(n),o.finalize(o.merge(e.concat(t)))}prefix_(){const t=this.getFocus().getDomNodes(),e=this.getFocus().getSemanticNodes();return t[0]?v.getAttribute(t[0],c.Attribute.PREFIX):d.retrievePrefix(e[0])}postfix_(){const t=this.getFocus().getDomNodes();return t[0]?v.getAttribute(t[0],c.Attribute.POSTFIX):""}depth_(){const t=p.Grammar.getInstance().getParameter("depth");p.Grammar.getInstance().setParameter("depth",!0);const e=this.getFocus().getDomPrimary(),r=this.expandable(e)?u.LOCALE.MESSAGES.navigate.EXPANDABLE:this.collapsible(e)?u.LOCALE.MESSAGES.navigate.COLLAPSIBLE:"",i=u.LOCALE.MESSAGES.navigate.LEVEL+" "+this.getDepth(),s=this.getFocus().getSemanticNodes(),a=d.retrievePrefix(s[0]),l=[new n.AuditoryDescription({text:i,personality:{}}),new n.AuditoryDescription({text:a,personality:{}}),new n.AuditoryDescription({text:r,personality:{}})];return p.Grammar.getInstance().setParameter("depth",t),o.finalize(o.markup(l))}actionable_(t){const e=null==t?void 0:t.parentNode;return e&&this.highlighter.isMactionNode(e)?e:null}summary_(){const t=this.getFocus().getSemanticPrimary().id.toString(),e=this.getRebuilt().xml.getAttribute("id")===t?this.getRebuilt().xml:i.querySelectorAllByAttrValue(this.getRebuilt().xml,"id",t)[0],r=d.retrieveSummary(e);return this.mergePrefix_([r])}detail_(){const t=this.getFocus().getSemanticPrimary().id.toString(),e=this.getRebuilt().xml.getAttribute("id")===t?this.getRebuilt().xml:i.querySelectorAllByAttrValue(this.getRebuilt().xml,"id",t)[0],r=e.getAttribute("alternative");e.removeAttribute("alternative");const n=d.computeMarkup(e),o=this.mergePrefix_([n]);return e.setAttribute("alternative",r),o}}e.AbstractWalker=S,S.ID_COUNTER=0,S.SRE_ID_ATTR="sre-explorer-id"},162:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.DummyWalker=void 0;const n=r(3284);class o extends n.AbstractWalker{up(){return null}down(){return null}left(){return null}right(){return null}repeat(){return null}depth(){return null}home(){return null}getDepth(){return 0}initLevels(){return null}combineContentChildren(t,e,r,n){return[]}findFocusOnLevel(t){return null}}e.DummyWalker=o},7730:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Focus=void 0;const n=r(1204);class o{constructor(t,e){this.nodes=t,this.primary=e,this.domNodes=[],this.domPrimary_=null,this.allNodes=[]}static factory(t,e,r,i){const s=t=>n.getBySemanticId(i,t),a=r.nodeDict,l=s(t),c=e.map(s),u=e.map((function(t){return a[t]})),p=new o(u,a[t]);return p.domNodes=c,p.domPrimary_=l,p.allNodes=o.generateAllVisibleNodes_(e,c,a,i),p}static generateAllVisibleNodes_(t,e,r,i){const s=t=>n.getBySemanticId(i,t);let a=[];for(let n=0,l=t.length;n=e.length?null:e[t]}depth(){return this.level_.length}clone(){const t=new r;return t.level_=this.level_.slice(0),t}toString(){let t="";for(let e,r=0;e=this.level_[r];r++)t+="\n"+e.map((function(t){return t.toString()}));return t}}e.Levels=r},1214:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.RebuildStree=void 0;const n=r(5740),o=r(2298),i=r(3588),s=r(6537),a=r(3308),l=r(5656),c=r(7075),u=r(4795),p=r(1204);class h{constructor(t){this.mathml=t,this.factory=new s.SemanticNodeFactory,this.nodeDict={},this.mmlRoot=p.getSemanticRoot(t),this.streeRoot=this.assembleTree(this.mmlRoot),this.stree=c.SemanticTree.fromNode(this.streeRoot,this.mathml),this.xml=this.stree.xml(),a.default.getInstance().setNodeFactory(this.factory)}static addAttributes(t,e,r){r&&1===e.childNodes.length&&e.childNodes[0].nodeType!==n.NodeType.TEXT_NODE&&u.addAttributes(t,e.childNodes[0]),u.addAttributes(t,e)}static textContent(t,e,r){if(!r&&e.textContent)return void(t.textContent=e.textContent);const n=p.splitAttribute(p.getAttribute(e,o.Attribute.OPERATOR));n.length>1&&(t.textContent=n[1])}static isPunctuated(t){return!l.SemanticSkeleton.simpleCollapseStructure(t)&&t[1]&&l.SemanticSkeleton.contentCollapseStructure(t[1])}getTree(){return this.stree}assembleTree(t){const e=this.makeNode(t),r=p.splitAttribute(p.getAttribute(t,o.Attribute.CHILDREN)),n=p.splitAttribute(p.getAttribute(t,o.Attribute.CONTENT));if(h.addAttributes(e,t,!(r.length||n.length)),0===n.length&&0===r.length)return h.textContent(e,t),e;if(n.length>0){const t=p.getBySemanticId(this.mathml,n[0]);t&&h.textContent(e,t,!0)}e.contentNodes=n.map((t=>this.setParent(t,e))),e.childNodes=r.map((t=>this.setParent(t,e)));const i=p.getAttribute(t,o.Attribute.COLLAPSED);return i?this.postProcess(e,i):e}makeNode(t){const e=p.getAttribute(t,o.Attribute.TYPE),r=p.getAttribute(t,o.Attribute.ROLE),n=p.getAttribute(t,o.Attribute.FONT),i=p.getAttribute(t,o.Attribute.ANNOTATION)||"",s=p.getAttribute(t,o.Attribute.ID),a=p.getAttribute(t,o.Attribute.EMBELLISHED),l=p.getAttribute(t,o.Attribute.FENCEPOINTER),c=this.createNode(parseInt(s,10));return c.type=e,c.role=r,c.font=n||"unknown",c.parseAnnotation(i),l&&(c.fencePointer=l),a&&(c.embellished=a),c}makePunctuation(t){const e=this.createNode(t);return e.updateContent((0,i.invisibleComma)()),e.role="dummy",e}makePunctuated(t,e,r){const n=this.createNode(e[0]);n.type="punctuated",n.embellished=t.embellished,n.fencePointer=t.fencePointer,n.role=r;const o=e.splice(1,1)[0].slice(1);n.contentNodes=o.map(this.makePunctuation.bind(this)),this.collapsedChildren_(e)}makeEmpty(t,e,r){const n=this.createNode(e);n.type="empty",n.embellished=t.embellished,n.fencePointer=t.fencePointer,n.role=r}makeIndex(t,e,r){if(h.isPunctuated(e))return this.makePunctuated(t,e,r),void(e=e[0]);l.SemanticSkeleton.simpleCollapseStructure(e)&&!this.nodeDict[e.toString()]&&this.makeEmpty(t,e,r)}postProcess(t,e){const r=l.SemanticSkeleton.fromString(e).array;if("subsup"===t.type){const e=this.createNode(r[1][0]);return e.type="subscript",e.role="subsup",t.type="superscript",e.embellished=t.embellished,e.fencePointer=t.fencePointer,this.makeIndex(t,r[1][2],"rightsub"),this.makeIndex(t,r[2],"rightsuper"),this.collapsedChildren_(r),t}if("subscript"===t.type)return this.makeIndex(t,r[2],"rightsub"),this.collapsedChildren_(r),t;if("superscript"===t.type)return this.makeIndex(t,r[2],"rightsuper"),this.collapsedChildren_(r),t;if("tensor"===t.type)return this.makeIndex(t,r[2],"leftsub"),this.makeIndex(t,r[3],"leftsuper"),this.makeIndex(t,r[4],"rightsub"),this.makeIndex(t,r[5],"rightsuper"),this.collapsedChildren_(r),t;if("punctuated"===t.type){if(h.isPunctuated(r)){const e=r.splice(1,1)[0].slice(1);t.contentNodes=e.map(this.makePunctuation.bind(this))}return t}if("underover"===t.type){const e=this.createNode(r[1][0]);return"overaccent"===t.childNodes[1].role?(e.type="overscore",t.type="underscore"):(e.type="underscore",t.type="overscore"),e.role="underover",e.embellished=t.embellished,e.fencePointer=t.fencePointer,this.collapsedChildren_(r),t}return t}createNode(t){const e=this.factory.makeNode(t);return this.nodeDict[t.toString()]=e,e}collapsedChildren_(t){const e=t=>{const r=this.nodeDict[t[0]];r.childNodes=[];for(let n=1,o=t.length;ne.getSemanticPrimary().id===t))}}e.SemanticWalker=i},9806:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.SyntaxWalker=void 0;const n=r(707),o=r(3284),i=r(9797);class s extends o.AbstractWalker{constructor(t,e,r,n){super(t,e,r,n),this.node=t,this.generator=e,this.highlighter=r,this.levels=null,this.restoreState()}initLevels(){const t=new i.Levels;return t.push([this.primaryId()]),t}up(){super.up();const t=this.previousLevel();return t?(this.levels.pop(),this.singletonFocus(t)):null}down(){super.down();const t=this.nextLevel();if(0===t.length)return null;const e=this.singletonFocus(t[0]);return e&&this.levels.push(t),e}combineContentChildren(t,e,r,o){switch(t){case"relseq":case"infixop":case"multirel":return(0,n.interleaveLists)(o,r);case"prefixop":return r.concat(o);case"postfixop":return o.concat(r);case"matrix":case"vector":case"fenced":return o.unshift(r[0]),o.push(r[1]),o;case"cases":return o.unshift(r[0]),o;case"punctuated":return"text"===e?(0,n.interleaveLists)(o,r):o;case"appl":return[o[0],r[0],o[1]];case"root":return[o[1],o[0]];default:return o}}left(){super.left();const t=this.levels.indexOf(this.primaryId());if(null===t)return null;const e=this.levels.get(t-1);return e?this.singletonFocus(e):null}right(){super.right();const t=this.levels.indexOf(this.primaryId());if(null===t)return null;const e=this.levels.get(t+1);return e?this.singletonFocus(e):null}findFocusOnLevel(t){return this.singletonFocus(t.toString())}focusDomNodes(){return[this.getFocus().getDomPrimary()]}focusSemanticNodes(){return[this.getFocus().getSemanticPrimary()]}}e.SyntaxWalker=s},1799:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.TableWalker=void 0;const n=r(5740),o=r(8496),i=r(9806),s=r(179);class a extends i.SyntaxWalker{constructor(t,e,r,n){super(t,e,r,n),this.node=t,this.generator=e,this.highlighter=r,this.firstJump=null,this.key_=null,this.row_=0,this.currentTable_=null,this.keyMapping.set(o.KeyCode.ZERO,this.jumpCell.bind(this)),this.keyMapping.set(o.KeyCode.ONE,this.jumpCell.bind(this)),this.keyMapping.set(o.KeyCode.TWO,this.jumpCell.bind(this)),this.keyMapping.set(o.KeyCode.THREE,this.jumpCell.bind(this)),this.keyMapping.set(o.KeyCode.FOUR,this.jumpCell.bind(this)),this.keyMapping.set(o.KeyCode.FIVE,this.jumpCell.bind(this)),this.keyMapping.set(o.KeyCode.SIX,this.jumpCell.bind(this)),this.keyMapping.set(o.KeyCode.SEVEN,this.jumpCell.bind(this)),this.keyMapping.set(o.KeyCode.EIGHT,this.jumpCell.bind(this)),this.keyMapping.set(o.KeyCode.NINE,this.jumpCell.bind(this))}move(t){this.key_=t;const e=super.move(t);return this.modifier=!1,e}up(){return this.moved=s.WalkerMoves.UP,this.eligibleCell_()?this.verticalMove_(!1):super.up()}down(){return this.moved=s.WalkerMoves.DOWN,this.eligibleCell_()?this.verticalMove_(!0):super.down()}jumpCell(){if(!this.isInTable_()||null===this.key_)return this.getFocus();if(this.moved===s.WalkerMoves.ROW){this.moved=s.WalkerMoves.CELL;const t=this.key_-o.KeyCode.ZERO;return this.isLegalJump_(this.row_,t)?this.jumpCell_(this.row_,t):this.getFocus()}const t=this.key_-o.KeyCode.ZERO;return t>this.currentTable_.childNodes.length?this.getFocus():(this.row_=t,this.moved=s.WalkerMoves.ROW,this.getFocus().clone())}undo(){const t=super.undo();return t===this.firstJump&&(this.firstJump=null),t}eligibleCell_(){const t=this.getFocus().getSemanticPrimary();return this.modifier&&"cell"===t.type&&-1!==a.ELIGIBLE_CELL_ROLES.indexOf(t.role)}verticalMove_(t){const e=this.previousLevel();if(!e)return null;const r=this.getFocus(),n=this.levels.indexOf(this.primaryId()),o=this.levels.pop(),i=this.levels.indexOf(e),s=this.levels.get(t?i+1:i-1);if(!s)return this.levels.push(o),null;this.setFocus(this.singletonFocus(s));const a=this.nextLevel();return a[n]?(this.levels.push(a),this.singletonFocus(a[n])):(this.setFocus(r),this.levels.push(o),null)}jumpCell_(t,e){this.firstJump?this.virtualize(!1):(this.firstJump=this.getFocus(),this.virtualize(!0));const r=this.currentTable_.id.toString();let n;do{n=this.levels.pop()}while(-1===n.indexOf(r));this.levels.push(n),this.setFocus(this.singletonFocus(r)),this.levels.push(this.nextLevel());const o=this.currentTable_.childNodes[t-1];return this.setFocus(this.singletonFocus(o.id.toString())),this.levels.push(this.nextLevel()),this.singletonFocus(o.childNodes[e-1].id.toString())}isLegalJump_(t,e){const r=n.querySelectorAllByAttrValue(this.getRebuilt().xml,"id",this.currentTable_.id.toString())[0];if(!r||r.hasAttribute("alternative"))return!1;const o=this.currentTable_.childNodes[t-1];if(!o)return!1;const i=n.querySelectorAllByAttrValue(r,"id",o.id.toString())[0];return!(!i||i.hasAttribute("alternative"))&&!(!o||!o.childNodes[e-1])}isInTable_(){let t=this.getFocus().getSemanticPrimary();for(;t;){if(-1!==a.ELIGIBLE_TABLE_TYPES.indexOf(t.type))return this.currentTable_=t,!0;t=t.parent}return!1}}e.TableWalker=a,a.ELIGIBLE_CELL_ROLES=["determinant","rowvector","binomial","squarematrix","multiline","matrix","vector","cases","table"],a.ELIGIBLE_TABLE_TYPES=["multiline","matrix","vector","cases","table"]},179:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.WalkerState=e.WalkerMoves=void 0,function(t){t.UP="up",t.DOWN="down",t.LEFT="left",t.RIGHT="right",t.REPEAT="repeat",t.DEPTH="depth",t.ENTER="enter",t.EXPAND="expand",t.HOME="home",t.SUMMARY="summary",t.DETAIL="detail",t.ROW="row",t.CELL="cell"}(e.WalkerMoves||(e.WalkerMoves={}));class r{static resetState(t){delete r.STATE[t]}static setState(t,e){r.STATE[t]=e}static getState(t){return r.STATE[t]}}e.WalkerState=r,r.STATE={}},3362:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.walkerMapping_=e.walker=void 0;const n=r(162),o=r(6295),i=r(9806),s=r(1799);e.walker=function(t,r,n,o,i){return(e.walkerMapping_[t.toLowerCase()]||e.walkerMapping_.dummy)(r,n,o,i)},e.walkerMapping_={dummy:(t,e,r,o)=>new n.DummyWalker(t,e,r,o),semantic:(t,e,r,n)=>new o.SemanticWalker(t,e,r,n),syntax:(t,e,r,n)=>new i.SyntaxWalker(t,e,r,n),table:(t,e,r,n)=>new s.TableWalker(t,e,r,n)}},1204:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.getBySemanticId=e.getSemanticRoot=e.getAttribute=e.splitAttribute=void 0;const n=r(5740),o=r(2298);e.splitAttribute=function(t){return t?t.split(/,/):[]},e.getAttribute=function(t,e){return t.getAttribute(e)},e.getSemanticRoot=function(t){if(t.hasAttribute(o.Attribute.TYPE)&&!t.hasAttribute(o.Attribute.PARENT))return t;const e=n.querySelectorAllByAttr(t,o.Attribute.TYPE);for(let t,r=0;t=e[r];r++)if(!t.hasAttribute(o.Attribute.PARENT))return t;return t},e.getBySemanticId=function(t,e){return t.getAttribute(o.Attribute.ID)===e?t:n.querySelectorAllByAttrValue(t,o.Attribute.ID,e)[0]}}},__webpack_module_cache__={};function __webpack_require__(t){var e=__webpack_module_cache__[t];if(void 0!==e)return e.exports;var r=__webpack_module_cache__[t]={exports:{}};return __webpack_modules__[t].call(r.exports,r,r.exports,__webpack_require__),r.exports}__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}();var __webpack_exports__={};!function(){var t=__webpack_require__(9515),e=__webpack_require__(3282),r=__webpack_require__(235),n=__webpack_require__(265),o=__webpack_require__(2388);function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r0&&void 0!==arguments[0]?arguments[0]:[],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(MathJax.startup){e&&(MathJax.startup.registerConstructor("tex",MathJax._.input.tex_ts.TeX),MathJax.startup.useInput("tex")),MathJax.config.tex||(MathJax.config.tex={});var r=MathJax.config.tex.packages;MathJax.config.tex.packages=t,r&&(0,xt.insert)(MathJax.config.tex,{packages:r})}}(["base","ams","newcommand","noundefined","require","autoload","configmacros"]);var pe=__webpack_require__(2892),he=__webpack_require__(625),fe=__webpack_require__(2769);MathJax.loader&&MathJax.loader.checkVersion("input/mml",e.VERSION,"input"),(0,t.combineWithMathJax)({_:{input:{mathml_ts:pe,mathml:{FindMathML:he,MathMLCompile:fe}}}}),MathJax.startup&&(MathJax.startup.registerConstructor("mml",pe.MathML),MathJax.startup.useInput("mml")),MathJax.loader&&MathJax.loader.pathFilters.add((function(t){return t.name=t.name.replace(/\/util\/entities\/.*?\.js/,"/input/mml/entities.js"),!0}));var de=__webpack_require__(50),me=__webpack_require__(8042),ye=__webpack_require__(8270),ge=__webpack_require__(6797),be=__webpack_require__(5355),ve=__webpack_require__(9261),_e=__webpack_require__(9086),Se=__webpack_require__(95),Me=__webpack_require__(1148),Oe=__webpack_require__(8102),xe=__webpack_require__(804),Ee=__webpack_require__(8147),Ae=__webpack_require__(2275),Ce=__webpack_require__(9063),Te=__webpack_require__(6911),Ne=__webpack_require__(1653),we=__webpack_require__(6781),Le=__webpack_require__(6460),Ie=__webpack_require__(6287),Pe=__webpack_require__(5964),Re=__webpack_require__(8776),ke=__webpack_require__(4798),je=__webpack_require__(4597),Be=__webpack_require__(2970),De=__webpack_require__(5610),Fe=__webpack_require__(4300),He=__webpack_require__(8002),Ue=__webpack_require__(7056),Xe=__webpack_require__(1259),Ve=__webpack_require__(3571),qe=__webpack_require__(6590),We=__webpack_require__(8650),Ge=__webpack_require__(421),ze=__webpack_require__(5884),Je=__webpack_require__(5552),Ke=__webpack_require__(3055),$e=__webpack_require__(7519),Ye=__webpack_require__(4420),Ze=__webpack_require__(9800),Qe=__webpack_require__(1160),tr=__webpack_require__(1956),er=__webpack_require__(7490),rr=__webpack_require__(7313),nr=__webpack_require__(7555),or=__webpack_require__(2688),ir=__webpack_require__(5636),sr=__webpack_require__(5723),ar=__webpack_require__(8009),lr=__webpack_require__(5023),cr=__webpack_require__(7096),ur=__webpack_require__(6898),pr=__webpack_require__(6991),hr=__webpack_require__(8411),fr=__webpack_require__(4126),dr=__webpack_require__(258),mr=__webpack_require__(4093),yr=__webpack_require__(905),gr=__webpack_require__(6237),br=__webpack_require__(5164),vr=__webpack_require__(6319),_r=__webpack_require__(5766),Sr=__webpack_require__(1971),Mr=__webpack_require__(167),Or=__webpack_require__(5806);MathJax.loader&&MathJax.loader.checkVersion("output/chtml",e.VERSION,"output"),(0,t.combineWithMathJax)({_:{output:{chtml_ts:de,chtml:{FontData:me,Notation:ye,Usage:ge,Wrapper:be,WrapperFactory:ve,Wrappers_ts:_e,Wrappers:{TeXAtom:Se,TextNode:Me,maction:Oe,math:xe,menclose:Ee,mfenced:Ae,mfrac:Ce,mglyph:Te,mi:Ne,mmultiscripts:we,mn:Le,mo:Ie,mpadded:Pe,mroot:Re,mrow:ke,ms:je,mspace:Be,msqrt:De,msubsup:Fe,mtable:He,mtd:Ue,mtext:Xe,mtr:Ve,munderover:qe,scriptbase:We,semantics:Ge}},common:{FontData:ze,Notation:Je,OutputJax:Ke,Wrapper:$e,WrapperFactory:Ye,Wrappers:{TeXAtom:Ze,TextNode:Qe,maction:tr,math:er,menclose:rr,mfenced:nr,mfrac:or,mglyph:ir,mi:sr,mmultiscripts:ar,mn:lr,mo:cr,mpadded:ur,mroot:pr,mrow:hr,ms:fr,mspace:dr,msqrt:mr,msubsup:yr,mtable:gr,mtd:br,mtext:vr,mtr:_r,munderover:Sr,scriptbase:Mr,semantics:Or}}}}}),MathJax.loader&&(0,t.combineDefaults)(MathJax.config.loader,"output/chtml",{checkReady:function(){return MathJax.loader.load("output/chtml/fonts/tex")}}),MathJax.startup&&(MathJax.startup.registerConstructor("chtml",de.CHTML),MathJax.startup.useOutput("chtml"));var xr=__webpack_require__(2760),Er=__webpack_require__(4005),Ar=__webpack_require__(1015),Cr=__webpack_require__(6555),Tr=__webpack_require__(2183),Nr=__webpack_require__(3490),wr=__webpack_require__(9056),Lr=__webpack_require__(3019),Ir=__webpack_require__(2713),Pr=__webpack_require__(7517),Rr=__webpack_require__(4182),kr=__webpack_require__(2679),jr=__webpack_require__(5469),Br=__webpack_require__(775),Dr=__webpack_require__(9551),Fr=__webpack_require__(6530),Hr=__webpack_require__(4409),Ur=__webpack_require__(5292),Xr=__webpack_require__(3980),Vr=__webpack_require__(1103),qr=__webpack_require__(9124),Wr=__webpack_require__(6001),Gr=__webpack_require__(3696),zr=__webpack_require__(9587),Jr=__webpack_require__(8348),Kr=__webpack_require__(1376),$r=__webpack_require__(1439),Yr=__webpack_require__(331),Zr=__webpack_require__(4886),Qr=__webpack_require__(4471),tn=__webpack_require__(5181),en=__webpack_require__(3526),rn=__webpack_require__(5649),nn=__webpack_require__(7153),on=__webpack_require__(5745),sn=__webpack_require__(1411),an=__webpack_require__(6384),ln=__webpack_require__(6041),cn=__webpack_require__(8199),un=__webpack_require__(9848),pn=__webpack_require__(7906),hn=__webpack_require__(2644),fn=__webpack_require__(4926);if(MathJax.loader&&MathJax.loader.checkVersion("output/chtml/fonts/tex",e.VERSION,"chtml-font"),(0,t.combineWithMathJax)({_:{output:{chtml:{fonts:{tex_ts:xr,tex:{"bold-italic":Er,bold:Ar,"fraktur-bold":Cr,fraktur:Tr,italic:Nr,largeop:wr,monospace:Lr,normal:Ir,"sans-serif-bold-italic":Pr,"sans-serif-bold":Rr,"sans-serif-italic":kr,"sans-serif":jr,smallop:Br,"tex-calligraphic-bold":Dr,"tex-size3":Fr,"tex-size4":Hr,"tex-variant":Ur}}},common:{fonts:{tex:{"bold-italic":Xr,bold:Vr,delimiters:qr,"double-struck":Wr,"fraktur-bold":Gr,fraktur:zr,italic:Jr,largeop:Kr,monospace:$r,normal:Yr,"sans-serif-bold-italic":Zr,"sans-serif-bold":Qr,"sans-serif-italic":tn,"sans-serif":en,"script-bold":rn,script:nn,smallop:on,"tex-calligraphic-bold":sn,"tex-calligraphic":an,"tex-mathit":ln,"tex-oldstyle-bold":cn,"tex-oldstyle":un,"tex-size3":pn,"tex-size4":hn,"tex-variant":fn}}}}}}),MathJax.startup){(0,t.combineDefaults)(MathJax.config,"chtml",{fontURL:n.Package.resolvePath("output/chtml/fonts/woff-v2",!1)});var dn=(0,xt.selectOptionsFromKeys)(MathJax.config.chtml||{},xr.TeXFont.OPTIONS);(0,t.combineDefaults)(MathJax.config,"chtml",{font:new xr.TeXFont(dn)})}var mn=__webpack_require__(5865),yn=__webpack_require__(8310),gn=__webpack_require__(4001),bn=__webpack_require__(473),vn=__webpack_require__(4414);MathJax.loader&&MathJax.loader.checkVersion("ui/menu",e.VERSION,"ui"),(0,t.combineWithMathJax)({_:{ui:{menu:{MJContextMenu:mn,Menu:yn,MenuHandler:gn,MmlVisitor:bn,SelectableInfo:vn}}}}),MathJax.startup&&"undefined"!=typeof window&&MathJax.startup.extendHandler((function(t){return(0,gn.MenuHandler)(t)}),20);var _n=__webpack_require__(351);function Sn(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r0)if(a.tHead&&a.tHead.rows.length>0){for(e=0;e0&&n.push(m),o++;if(!n)return}for(o=0;o { - MathJax.typesetPromise() -}); diff --git a/doc/docs/_static/js/tablesort.js b/doc/docs/_static/js/tablesort.js deleted file mode 100644 index 3d3c9d3..0000000 --- a/doc/docs/_static/js/tablesort.js +++ /dev/null @@ -1,6 +0,0 @@ -document$.subscribe(function() { - let tables = document.querySelectorAll("article table:not([class])"); - tables.forEach(function(table) { - new Tablesort(table); - }); -}); diff --git a/doc/docs/_static/css/common.css b/doc/docs/assets/css/common.css similarity index 100% rename from doc/docs/_static/css/common.css rename to doc/docs/assets/css/common.css diff --git a/doc/hooks/badge.py b/doc/hooks/badge.py deleted file mode 100644 index a34cb01..0000000 --- a/doc/hooks/badge.py +++ /dev/null @@ -1,54 +0,0 @@ -import argparse -from typing import Callable - -from mkdocs.config.defaults import MkDocsConfig - - -def _badge_html(args: argparse.Namespace): - left_classes = f"mdx-badge__icon" if args.left_text[0] == ":" and args.left_text[-1] == ":" else "mdx-badge__text" - if args.left_bg: - left_classes += " kny-badge-bg" - right_classes = f"mdx-badge__icon" if len(args.right_text) > 2 and args.right_text[0] == ":" and args.right_text[-1] == ":" else "mdx-badge__text" - if args.right_bg: - right_classes += " kny-badge-bg" - return "".join([ - f'', - f'{args.left_text}' if args.left_text else "", - f'{args.right_text}' if args.right_text else "", - f"", - ]) - - -def badge(args: argparse.Namespace, config: MkDocsConfig) -> str: - if args.command == "badge-version": - args.left_text = ":material-tag-outline:" - args.left_bg = True - if args.command == "badge-experimental": - args.left_text = ":material-flask-outline:" - args.left_bg = True - if args.command == "badge-download": - args.left_text = ":material-download:" - args.left_bg = True - return _badge_html(args) - - -def HOOKS(sub_parser) -> list[tuple[str, Callable[[argparse.Namespace, MkDocsConfig], str]]]: - parser = sub_parser.add_parser("badge", help="badge") - parser.add_argument("left_text", type=str, default="", help="left text of the badge") - parser.add_argument("right_text", nargs='?', type=str, default="", help="right text of the badge") - parser.add_argument("--left-bg", action="store_true", default=False, help="left background color") - parser.add_argument("--right-bg", action="store_true", default=False, help="left background color") - - parser: argparse.ArgumentParser = sub_parser.add_parser("badge-version", help="experimental badge") - parser.add_argument("right_text", type=str, default="", help="right text of the badge") - parser.add_argument("--right-bg", action="store_true", default=False, help="left background color") - - parser = sub_parser.add_parser("badge-experimental", help="experimental badge") - parser.add_argument("right_text", type=str, default="", help="right text of the badge") - parser.add_argument("--right-bg", action="store_true", default=False, help="left background color") - - parser = sub_parser.add_parser("badge-download", help="download badge") - parser.add_argument("right_text", type=str, default="", help="right text of the badge") - parser.add_argument("--right-bg", action="store_true", default=False, help="left background color") - - return [("badge", badge), ("badge-version", badge), ("badge-experimental", badge), ("badge-download", badge)] diff --git a/doc/hooks/godot_ref.py b/doc/hooks/godot_ref.py deleted file mode 100644 index 845343d..0000000 --- a/doc/hooks/godot_ref.py +++ /dev/null @@ -1,15 +0,0 @@ -import argparse -from typing import Callable - -from mkdocs.config.defaults import MkDocsConfig - - -def godot_ref(args: argparse.Namespace, config: MkDocsConfig) -> str: - return f'{args.class_name}' - - -def HOOKS(sub_parser) -> list[tuple[str, Callable[[argparse.Namespace, MkDocsConfig], str]]]: - parser = sub_parser.add_parser("godot") - parser.add_argument("class_name", type=str, default="", help="class name") - - return [("godot", godot_ref)] diff --git a/doc/hooks/hooks.py b/doc/hooks/hooks.py deleted file mode 100644 index 428eaee..0000000 --- a/doc/hooks/hooks.py +++ /dev/null @@ -1,52 +0,0 @@ -import argparse -import re -from re import Match -import shlex -from typing import Callable - -from mkdocs.config.defaults import MkDocsConfig -from mkdocs.structure.files import Files -from mkdocs.structure.pages import Page - -import badge -import godot_ref -import source_link - - -class Parser(argparse.ArgumentParser): - def __init__(self): - super().__init__() - self.subparsers = self.add_subparsers(dest="command", parser_class=argparse.ArgumentParser) - - def error(self, message: str) -> None: - print(message) - - -PARSER = Parser() -HOOKS: dict[str, Callable[[argparse.Namespace, MkDocsConfig], str]] = {} - - -def add_hooks(hook: Callable[[any], list[tuple[str, Callable[[argparse.Namespace, MkDocsConfig], str]]]]) -> None: - hooks: list[tuple[str, Callable[[argparse.Namespace, MkDocsConfig], str]]] = hook(PARSER.subparsers) - for hook in hooks: - HOOKS[hook[0]] = hook[1] - - -add_hooks(badge.HOOKS) -add_hooks(godot_ref.HOOKS) -add_hooks(source_link.HOOKS) - - -def on_page_markdown(markdown: str, *, page: Page, config: MkDocsConfig, files: Files): - def replace(match: re.Match): - args: argparse.Namespace = PARSER.parse_args(shlex.split(match.groups()[0])) - - fn: Callable[[argparse.Namespace, MkDocsConfig], str] = HOOKS.get(args.command, None) - if fn is None: - raise RuntimeError(f"Unknown short code: {args.command}") - return fn(args, config) - - return re.sub( - r"{{\skny:(.*?)\s}}", - replace, markdown, flags=re.I | re.M - ) diff --git a/doc/hooks/source_link.py b/doc/hooks/source_link.py deleted file mode 100644 index 757cc7d..0000000 --- a/doc/hooks/source_link.py +++ /dev/null @@ -1,16 +0,0 @@ -import argparse -from typing import Callable - -from mkdocs.config.defaults import MkDocsConfig - - -def source_link(args: argparse.Namespace, config: MkDocsConfig) -> str: - return f"[{args.path if args.text == '' else args.text}]({config.extra.get('kenyoni', {}).get('source_url', '')}{args.path})" - - -def HOOKS(sub_parser) -> list[tuple[str, Callable[[argparse.Namespace, MkDocsConfig], str]]]: - parser = sub_parser.add_parser("source") - parser.add_argument("path", type=str, default="", help="source path") - parser.add_argument("text", nargs='?', type=str, default="", help="text") - - return [("source", source_link)] diff --git a/doc/mkdocs.yml b/doc/mkdocs.yml index b697c4f..cd6a863 100644 --- a/doc/mkdocs.yml +++ b/doc/mkdocs.yml @@ -9,24 +9,9 @@ extra: link: https://github.com/kenyoni-software - icon: fontawesome/brands/github link: https://github.com/kenyoni-software - kenyoni: - source_url: "https://github.com/kenyoni-software/godot-addons/tree/main" extra_css: - - _static/css/badge.css - - _static/css/common.css - - _static/css/godot_ref.css - -extra_javascript: - # mathjax - - _static/js/mathjax.js - - _static/dist/mathjax@3.2.2-es5-tex-mml-chtml.js - # tablesort - - _static/js/tablesort.js - - _static/dist/tablesort@5.3.0-min.js - -hooks: - - hooks/hooks.py + - assets/css/common.css markdown_extensions: # Python Markdown @@ -48,9 +33,6 @@ markdown_extensions: - pymdownx.emoji: emoji_index: !!python/name:material.extensions.emoji.twemoji emoji_generator: !!python/name:material.extensions.emoji.to_svg - options: - custom_icons: - - _static/img/icons - pymdownx.highlight - pymdownx.inlinehilite - pymdownx.keys @@ -64,6 +46,12 @@ markdown_extensions: - pymdownx.tilde plugins: + - kny_badge + - kny_godot_ref + - kny_common: + tablesort: true + - kny_source_ref: + source_url: "https://github.com/kenyoni-software/godot-addons/tree/main" - minify: minify_html: true - search From fb02c434239190782abd8f2a70e2e2bbe8c0fccf Mon Sep 17 00:00:00 2001 From: Iceflower Date: Wed, 31 Jul 2024 23:59:03 +0200 Subject: [PATCH 26/30] [doc] Update kny_mkdocs plugin --- doc/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/Dockerfile b/doc/Dockerfile index a960116..9a1d32b 100644 --- a/doc/Dockerfile +++ b/doc/Dockerfile @@ -1,3 +1,3 @@ FROM squidfunk/mkdocs-material:9.5.27 -RUN pip install git+https://github.com/kenyoni-software/kny-mkdocs@1.1.0 +RUN pip install git+https://github.com/kenyoni-software/kny-mkdocs@1.1.1 From ce90efc7de46a039fa5a85b638e962fb1ef28cf0 Mon Sep 17 00:00:00 2001 From: Iceflower Date: Fri, 2 Aug 2024 20:13:56 +0200 Subject: [PATCH 27/30] [icon_explorer] Fix reloading collection Unload the collection before loading it again, otherwise the load is skipped. --- addons/icon_explorer/internal/scripts/database.gd | 2 ++ 1 file changed, 2 insertions(+) diff --git a/addons/icon_explorer/internal/scripts/database.gd b/addons/icon_explorer/internal/scripts/database.gd index ec38ab1..aa44581 100644 --- a/addons/icon_explorer/internal/scripts/database.gd +++ b/addons/icon_explorer/internal/scripts/database.gd @@ -71,8 +71,10 @@ func _install(coll: Collection, http: HTTPRequest, version: String) -> void: if status != Error.OK: self._install_done.bind(coll.id(), status).call_deferred() return + # remove loaded icons and unload collection, to load the new ones if self._loaded_collections.has(coll.id()): self._icons = self._icons.filter(func (icon: Icon) -> bool: return icon.collection.id() != coll.id()) + self._loaded_collections.remove_at(self._loaded_collections.find(coll.id())) self._load() self._install_done.bind(coll.id(), status).call_deferred() From bbbf8338f6a2f4592873dbef819392b9f4b7ec9a Mon Sep 17 00:00:00 2001 From: Iceflower Date: Fri, 2 Aug 2024 20:14:44 +0200 Subject: [PATCH 28/30] [icon_explorer] Load collection version last --- .../internal/ext/country_flag_icons/collection.gd | 1 + .../internal/ext/font_awesome/collection.gd | 14 +++++++------- .../internal/ext/icon_tabler/collection.gd | 15 ++++++++------- .../internal/ext/material_design/collection.gd | 15 ++++++++------- .../internal/ext/simple_icons/collection.gd | 14 +++++++------- .../internal/ui/options/collection_management.gd | 2 ++ 6 files changed, 33 insertions(+), 28 deletions(-) diff --git a/addons/icon_explorer/internal/ext/country_flag_icons/collection.gd b/addons/icon_explorer/internal/ext/country_flag_icons/collection.gd index 67f423e..6a79c3c 100644 --- a/addons/icon_explorer/internal/ext/country_flag_icons/collection.gd +++ b/addons/icon_explorer/internal/ext/country_flag_icons/collection.gd @@ -16,6 +16,7 @@ func _init() -> void: func load() -> Array: var dir: DirAccess = DirAccess.open(self.icon_directory()) if !dir: + push_warning("could not open country flag icons directory: '%s'", [self.icon_directory()]) return [[], PackedStringArray()] var flag_names: JSON = JSON.new() diff --git a/addons/icon_explorer/internal/ext/font_awesome/collection.gd b/addons/icon_explorer/internal/ext/font_awesome/collection.gd index 801b9a4..d47c1e7 100644 --- a/addons/icon_explorer/internal/ext/font_awesome/collection.gd +++ b/addons/icon_explorer/internal/ext/font_awesome/collection.gd @@ -18,13 +18,6 @@ func color_icon(buffer: String, color: String) -> String: # OVERRIDE func load() -> Array: - var parser_version: JSON = JSON.new() - var res_version: int = parser_version.parse(FileAccess.get_file_as_string(self.directory().path_join("Font-Awesome-6.x/js-packages/@fortawesome/fontawesome-free/package.json"))) - if res_version != OK: - push_warning("could not parse font awesome package.json: '%s'", [parser_version.get_error_message()]) - return [[], PackedStringArray()] - self.version = parser_version.data["version"] - var meta_string: String = FileAccess.get_file_as_string(self.directory().path_join("Font-Awesome-6.x/metadata/icons.json")) var icons: Array[Icon] = [] var buffers: PackedStringArray = PackedStringArray() @@ -58,6 +51,13 @@ func load() -> Array: icons.append(icon) buffers.append(self.color_icon(item["svg"][style]["raw"], "FFFFFF")) + var parser_version: JSON = JSON.new() + var res_version: int = parser_version.parse(FileAccess.get_file_as_string(self.directory().path_join("Font-Awesome-6.x/js-packages/@fortawesome/fontawesome-free/package.json"))) + if res_version != OK: + push_warning("could not parse font awesome package.json: '%s'", [parser_version.get_error_message()]) + return [[], PackedStringArray()] + self.version = parser_version.data["version"] + return [icons, buffers] # OVERRIDE diff --git a/addons/icon_explorer/internal/ext/icon_tabler/collection.gd b/addons/icon_explorer/internal/ext/icon_tabler/collection.gd index 5200444..4d18f04 100644 --- a/addons/icon_explorer/internal/ext/icon_tabler/collection.gd +++ b/addons/icon_explorer/internal/ext/icon_tabler/collection.gd @@ -18,13 +18,6 @@ func color_icon(buffer: String, color: String) -> String: # OVERRIDE func load() -> Array: - var parser_version: JSON = JSON.new() - var res_version: int = parser_version.parse(FileAccess.get_file_as_string(self.directory().path_join("tabler-icons-master/package.json"))) - if res_version != OK: - push_warning("could not parse tabler icons package.json: '%s'", [parser_version.get_error_message()]) - return [[], PackedStringArray()] - self.version = parser_version.data["version"] - var parser: JSON = JSON.new() var res: int = parser.parse(FileAccess.get_file_as_string(self.directory().path_join("tabler-icons-master/tags.json"))) if res != OK: @@ -52,6 +45,14 @@ func load() -> Array: continue icons.append(icon) buffers.append(self.color_icon(buffer, "FFFFFF")) + + var parser_version: JSON = JSON.new() + var res_version: int = parser_version.parse(FileAccess.get_file_as_string(self.directory().path_join("tabler-icons-master/package.json"))) + if res_version != OK: + push_warning("could not parse tabler icons package.json: '%s'", [parser_version.get_error_message()]) + return [[], PackedStringArray()] + self.version = parser_version.data["version"] + return [icons, buffers] # OVERRIDE diff --git a/addons/icon_explorer/internal/ext/material_design/collection.gd b/addons/icon_explorer/internal/ext/material_design/collection.gd index 7cc98f9..788ad4b 100644 --- a/addons/icon_explorer/internal/ext/material_design/collection.gd +++ b/addons/icon_explorer/internal/ext/material_design/collection.gd @@ -18,13 +18,6 @@ func color_icon(buffer: String, color: String) -> String: # OVERRIDE func load() -> Array: - var parser_version: JSON = JSON.new() - var res_version: int = parser_version.parse(FileAccess.get_file_as_string(self.directory().path_join("MaterialDesign-SVG-master/package.json"))) - if res_version != OK: - push_warning("could not parse MDI package.json: '%s'", [parser_version.get_error_message()]) - return [[], PackedStringArray()] - self.version = parser_version.data["version"] - var parser: JSON = JSON.new() var res: int = parser.parse(FileAccess.get_file_as_string(self.directory().path_join("MaterialDesign-SVG-master/meta.json"))) if res != OK: @@ -54,6 +47,14 @@ func load() -> Array: continue icons.append(icon) buffers.append(self.color_icon(buffer, "FFFFFF")) + + var parser_version: JSON = JSON.new() + var res_version: int = parser_version.parse(FileAccess.get_file_as_string(self.directory().path_join("MaterialDesign-SVG-master/package.json"))) + if res_version != OK: + push_warning("could not parse MDI package.json: '%s'", [parser_version.get_error_message()]) + return [[], PackedStringArray()] + self.version = parser_version.data["version"] + return [icons, buffers] # OVERRIDE diff --git a/addons/icon_explorer/internal/ext/simple_icons/collection.gd b/addons/icon_explorer/internal/ext/simple_icons/collection.gd index 58ef384..c606840 100644 --- a/addons/icon_explorer/internal/ext/simple_icons/collection.gd +++ b/addons/icon_explorer/internal/ext/simple_icons/collection.gd @@ -53,13 +53,6 @@ func _title_to_slug(title: String) -> String: # OVERRIDE func load() -> Array: - var parser_version: JSON = JSON.new() - var res_version: int = parser_version.parse(FileAccess.get_file_as_string(self.directory().path_join("simple-icons-master/package.json"))) - if res_version != OK: - push_warning("could not parse simple icons package.json: '%s'", [parser_version.get_error_message()]) - return [[], PackedStringArray()] - self.version = parser_version.data["version"] - var parser: JSON = JSON.new() var res: int = parser.parse(FileAccess.get_file_as_string(self.directory().path_join("simple-icons-master/_data/simple-icons.json"))) if res != OK: @@ -82,6 +75,13 @@ func load() -> Array: icons.append(arr_res[0]) buffers.append(arr_res[1]) + var parser_version: JSON = JSON.new() + var res_version: int = parser_version.parse(FileAccess.get_file_as_string(self.directory().path_join("simple-icons-master/package.json"))) + if res_version != OK: + push_warning("could not parse simple icons package.json: '%s'", [parser_version.get_error_message()]) + return [[], PackedStringArray()] + self.version = parser_version.data["version"] + return [icons, buffers] func _load_item(item: Dictionary) -> Array: diff --git a/addons/icon_explorer/internal/ui/options/collection_management.gd b/addons/icon_explorer/internal/ui/options/collection_management.gd index ab0782b..4dcdd91 100644 --- a/addons/icon_explorer/internal/ui/options/collection_management.gd +++ b/addons/icon_explorer/internal/ui/options/collection_management.gd @@ -156,6 +156,7 @@ func _on_button_clicked(item: TreeItem, _column: int, id: int, _mouse_button_ind match id: ButtonId.INSTALL: self._processing = coll.id() + # lock buttons self.update() if self._http_request != null: self._http_request.queue_free() @@ -164,6 +165,7 @@ func _on_button_clicked(item: TreeItem, _column: int, id: int, _mouse_button_ind self.db.install(coll, self._http_request, "") ButtonId.REMOVE: self._processing = coll.id() + # lock buttons self.update() self.db.remove(coll) ButtonId.OPEN_DIR: From 6827ff491bc1beee0870b0ec4cc4833d1e08b2d4 Mon Sep 17 00:00:00 2001 From: Iceflower Date: Sun, 18 Aug 2024 23:53:55 +0200 Subject: [PATCH 29/30] [*] Replace deprecated submenu method Fix #14 --- addons/licenses/internal/toolbar.gd | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/addons/licenses/internal/toolbar.gd b/addons/licenses/internal/toolbar.gd index 3b29b83..62a5560 100644 --- a/addons/licenses/internal/toolbar.gd +++ b/addons/licenses/internal/toolbar.gd @@ -32,9 +32,9 @@ func _ready() -> void: self._create_engine_menu_items() self._add_menu.add_item("New Component", 0) self._add_menu.set_item_icon(0, get_theme_icon(&"New", &"EditorIcons")) - self._add_menu.add_submenu_item("Generate from Plugin", "menu_plugin", 1) + self._add_menu.add_submenu_node_item("Generate from Plugin", self._add_plugin_menu, 1) self._add_menu.set_item_icon(1, get_theme_icon(&"EditorPlugin", &"EditorIcons")) - self._add_menu.add_submenu_item("Generate from Engine", "menu_engine", 2) + self._add_menu.add_submenu_node_item("Generate from Engine", self._add_engine_menu, 2) self._add_menu.set_item_icon(2, get_theme_icon(&"Godot", &"EditorIcons")) self._add_menu.id_pressed.connect(self._on_add_id_pressed) self.add_child(self._add_menu) @@ -58,7 +58,6 @@ func _get_plugin_config(path: String) -> Dictionary: func _create_engine_menu_items() -> void: self._add_engine_menu = PopupMenu.new() self._add_engine_menu.id_pressed.connect(self._on_engine_add_id_pressed) - self._add_engine_menu.name = "menu_engine" self._add_menu.add_child(self._add_engine_menu) var idx: int = 0 @@ -75,7 +74,6 @@ func _create_engine_menu_items() -> void: func _create_plugin_menu_items() -> void: self._add_plugin_menu = PopupMenu.new() self._add_plugin_menu.id_pressed.connect(self._on_plugin_add_id_pressed) - self._add_plugin_menu.name = "menu_plugin" self._add_menu.add_child(self._add_plugin_menu) var dir: DirAccess = DirAccess.open("res://addons/") From 1468d6962c00784326cbdfb16cef6e84e0c30335 Mon Sep 17 00:00:00 2001 From: Iceflower Date: Mon, 19 Aug 2024 00:38:37 +0200 Subject: [PATCH 30/30] [doc] Update documentation --- .github/workflows/github-pages.yml | 4 +++- doc/Dockerfile | 2 +- doc/docs/addons/glogging.md | 24 +++++++++++----------- doc/docs/addons/icon_explorer.md | 12 +++++------ doc/docs/addons/licenses.md | 32 +++++++++++++++--------------- doc/docs/addons/qr_code.md | 22 ++++++++++---------- doc/mkdocs.yml | 1 + 7 files changed, 51 insertions(+), 46 deletions(-) diff --git a/.github/workflows/github-pages.yml b/.github/workflows/github-pages.yml index 367b146..8188cfe 100644 --- a/.github/workflows/github-pages.yml +++ b/.github/workflows/github-pages.yml @@ -27,7 +27,9 @@ jobs: with: python-version: 3.x - name: Install Material for MkDocs - run: pip install mkdocs-material mkdocs-minify-plugin pillow cairosvg + run: | + pip install mkdocs-material==9.5.31 mkdocs-minify-plugin pillow cairosvg + pip install git+https://github.com/kenyoni-software/kny-mkdocs@1.1.1 - name: Build Website working-directory: doc/ run: mkdocs build diff --git a/doc/Dockerfile b/doc/Dockerfile index 9a1d32b..96579ad 100644 --- a/doc/Dockerfile +++ b/doc/Dockerfile @@ -1,3 +1,3 @@ -FROM squidfunk/mkdocs-material:9.5.27 +FROM squidfunk/mkdocs-material:9.5.31 RUN pip install git+https://github.com/kenyoni-software/kny-mkdocs@1.1.1 diff --git a/doc/docs/addons/glogging.md b/doc/docs/addons/glogging.md index 12ec109..e81f50e 100644 --- a/doc/docs/addons/glogging.md +++ b/doc/docs/addons/glogging.md @@ -8,7 +8,7 @@ Logging into a file is not supported. The output will be always done via print. ## Compatibility | Godot | Version | -| ----- | -------- | +|-------|----------| | 4.3 | >= 1.5.0 | | 4.2 | >= 1.5.0 | | 4.1 | <= 1.4.1 | @@ -41,20 +41,20 @@ Logging base class. Provides helper methods. #### Properties -| Name | Type | Description | -| ------------------------------- | ------------------------- | ------------------- | -| root_logger {: .kny-mono-font } | [Logger](#glogginglogger) | root logger object. | +| Name | Type | Description | +|---------------------------------|-----------------------------------------------|---------------------| +| root_logger {: .kny-mono-font } | [Logger](#glogginglogger) {: .kny-mono-font } | root logger object. | #### Constants -| Name | Type | Value | Description | -| -------------------------------- | ------------------- | ----- | ------------------- | -| LEVEL_NOTSET {: .kny-mono-font } | {{ kny:godot int }} | 0 | Logging level not set. | -| LEVEL_DEBUG {: .kny-mono-font } | {{ kny:godot int }} | 10 | | -| LEVEL_INFO {: .kny-mono-font } | {{ kny:godot int }} | 20 | | -| LEVEL_WARNING {: .kny-mono-font } | {{ kny:godot int }} | 30 | | -| LEVEL_ERROR {: .kny-mono-font } | {{ kny:godot int }} | 40 | | -| LEVEL_CRITICAL {: .kny-mono-font } | {{ kny:godot int }} | 50 | | +| Name | Type | Value | Description | +|------------------------------------|---------------------|-------|------------------------| +| LEVEL_NOTSET {: .kny-mono-font } | {{ kny:godot int }} | 0 | Logging level not set. | +| LEVEL_DEBUG {: .kny-mono-font } | {{ kny:godot int }} | 10 | | +| LEVEL_INFO {: .kny-mono-font } | {{ kny:godot int }} | 20 | | +| LEVEL_WARNING {: .kny-mono-font } | {{ kny:godot int }} | 30 | | +| LEVEL_ERROR {: .kny-mono-font } | {{ kny:godot int }} | 40 | | +| LEVEL_CRITICAL {: .kny-mono-font } | {{ kny:godot int }} | 50 | | #### Methods diff --git a/doc/docs/addons/icon_explorer.md b/doc/docs/addons/icon_explorer.md index a35f223..e521a08 100644 --- a/doc/docs/addons/icon_explorer.md +++ b/doc/docs/addons/icon_explorer.md @@ -8,12 +8,12 @@ You can remove the main screen button in the options. **Available collections** -- [Bootstrap Icons](https://github.com/twbs/icons) {{ kny:badge-version 1.0.0 }} -- [country-flag-icons](https://gitlab.com/catamphetamine/country-flag-icons) {{ kny:badge-version 1.2.0 }} -- [Font Awesome 6](https://github.com/FortAwesome/Font-Awesome) {{ kny:badge-version 1.0.0 }} -- [Material Design](https://github.com/Templarian/MaterialDesign-SVG) {{ kny:badge-version 1.0.0 }} -- [Simple Icons](https://github.com/simple-icons/simple-icons) {{ kny:badge-version 1.0.0 }} -- [tabler Icons](https://github.com/tabler/tabler-icons) {{ kny:badge-version 1.0.0 }} +- [Bootstrap Icons](https://github.com/twbs/icons) (since `1.0.0`) +- [country-flag-icons](https://gitlab.com/catamphetamine/country-flag-icons) (since `1.2.0`) +- [Font Awesome 6](https://github.com/FortAwesome/Font-Awesome) (since `1.0.0`) +- [Material Design](https://github.com/Templarian/MaterialDesign-SVG) (since `1.0.0`) +- [Simple Icons](https://github.com/simple-icons/simple-icons) (since `1.0.0`) +- [tabler Icons](https://github.com/tabler/tabler-icons) (since `1.0.0`) !!! note diff --git a/doc/docs/addons/licenses.md b/doc/docs/addons/licenses.md index 57d3bf4..8d97d16 100644 --- a/doc/docs/addons/licenses.md +++ b/doc/docs/addons/licenses.md @@ -71,10 +71,10 @@ Loading result returned when loading a licenses file. #### Properties -| Name | Type | Description | -| ------------------------------ | ---------------------------------------------- | ---------------------------------- | -| components {: .kny-mono-font } | {{ kny:godot Array }}[[Component](#component)] | Components. | -| err_msg {: .kny-mono-font } | {{ kny:godot String }} | Error message when loading failed. | +| Name | Type | Description | +| ------------------------------ | ------------------------------------------------------------------ | ---------------------------------- | +| components {: .kny-mono-font } | {{ kny:godot Array }}[[Component](#component)] {: .kny-mono-font } | Components. | +| err_msg {: .kny-mono-font } | {{ kny:godot String }} | Error message when loading failed. | ### Component @@ -86,18 +86,18 @@ Component class, data wrapper for all information regarding one license item. #### Properties -| Name | Type | Description | -| ------------------------------- | ----------------------------------------------------- | -------------------------------------------------------------------------- | -| id {: .kny-mono-font } | {{ kny:godot String }} | Identifier. | -| category {: .kny-mono-font } | {{ kny:godot String }} | Use to structure the licenses to top categories. E.g. Textures, Fonts, ... | -| name {: .kny-mono-font } | {{ kny:godot String }} | Name of the software or component. | -| version {: .kny-mono-font } | {{ kny:godot String }} | Version of the software or component. | -| copyright {: .kny-mono-font } | {{ kny:godot PackedStringArray }} | Copyrights. | -| contact {: .kny-mono-font } | {{ kny:godot String }} | Contact of developer. | -| description {: .kny-mono-font } | {{ kny:godot String }} | Additional description. | -| web {: .kny-mono-font } | {{ kny:godot String }} | Web url to project page. | -| paths {: .kny-mono-font } | {{ kny:godot PackedStringArray }} | Path to affected files or directories. | -| licenses {: .kny-mono-font } | {{ kny:godot Array }}\[[License](#componentlicense)\] | Licenses. | +| Name | Type | Description | +| ------------------------------- | ----------------------------------------------------------------------- | -------------------------------------------------------------------------- | +| id {: .kny-mono-font } | {{ kny:godot String }} | Identifier. | +| category {: .kny-mono-font } | {{ kny:godot String }} | Use to structure the licenses to top categories. E.g. Textures, Fonts, ... | +| name {: .kny-mono-font } | {{ kny:godot String }} | Name of the software or component. | +| version {: .kny-mono-font } | {{ kny:godot String }} | Version of the software or component. | +| copyright {: .kny-mono-font } | {{ kny:godot PackedStringArray }} | Copyrights. | +| contact {: .kny-mono-font } | {{ kny:godot String }} | Contact of developer. | +| description {: .kny-mono-font } | {{ kny:godot String }} | Additional description. | +| web {: .kny-mono-font } | {{ kny:godot String }} | Web url to project page. | +| paths {: .kny-mono-font } | {{ kny:godot PackedStringArray }} | Path to affected files or directories. | +| licenses {: .kny-mono-font } | {{ kny:godot Array }}[[License](#componentlicense)] {: .kny-mono-font } | Licenses. | #### Methods diff --git a/doc/docs/addons/qr_code.md b/doc/docs/addons/qr_code.md index 6d74b48..062ca57 100644 --- a/doc/docs/addons/qr_code.md +++ b/doc/docs/addons/qr_code.md @@ -1,5 +1,7 @@ # QR Code +{{ kny:badge-download "text" }} + QR Code generation either with the included `QRCodeRect` node or use the encoding result of the `QRCode` class. ## Compatibility @@ -58,16 +60,16 @@ QRCode class to generate QR Codes. #### Properties -| Name | Type | Description | -| ------------------------------------- | ------------------------------------------------ | ----------------------------------------------- | -| mode {: .kny-mono-font } | [QRCode.Mode](#qrcodemode) | QR Code mode. | -| error_correction {: .kny-mono-font } | [QRCode.ErrorCorrection](#qrcodeerrorcorrection) | Error correction value. | -| use_eci {: .kny-mono-font } | {{ kny:godot String }} | Use Extended Channel Interpretation (ECI) | -| eci_value {: .kny-mono-font } | {{ kny:godot String }} | Extended Channel Interpretation (ECI) Value | -| auto_version {: .kny-mono-font } | {{ kny:godot bool }} | Use automatically the smallest QR Code version. | -| version {: .kny-mono-font } | {{ kny:godot int }} | QR Code version (size). | -| auto_mask_pattern {: .kny-mono-font } | {{ kny:godot bool }} | Use automatically the best mask pattern. | -| mask_pattern {: .kny-mono-font } | {{ kny:godot int }} | QR Code mask pattern. | +| Name | Type | Description | +| ------------------------------------- | -------------------------------------------------------------------- | ----------------------------------------------- | +| mode {: .kny-mono-font } | [QRCode.Mode](#qrcodemode) {: .kny-mono-font } | QR Code mode. | +| error_correction {: .kny-mono-font } | [QRCode.ErrorCorrection](#qrcodeerrorcorrection) {: .kny-mono-font } | Error correction value. | +| use_eci {: .kny-mono-font } | {{ kny:godot String }} | Use Extended Channel Interpretation (ECI) | +| eci_value {: .kny-mono-font } | {{ kny:godot String }} | Extended Channel Interpretation (ECI) Value | +| auto_version {: .kny-mono-font } | {{ kny:godot bool }} | Use automatically the smallest QR Code version. | +| version {: .kny-mono-font } | {{ kny:godot int }} | QR Code version (size). | +| auto_mask_pattern {: .kny-mono-font } | {{ kny:godot bool }} | Use automatically the best mask pattern. | +| mask_pattern {: .kny-mono-font } | {{ kny:godot int }} | QR Code mask pattern. | #### Methods diff --git a/doc/mkdocs.yml b/doc/mkdocs.yml index cd6a863..164beea 100644 --- a/doc/mkdocs.yml +++ b/doc/mkdocs.yml @@ -54,6 +54,7 @@ plugins: source_url: "https://github.com/kenyoni-software/godot-addons/tree/main" - minify: minify_html: true + - privacy - search - social: cards_layout_options: