From 62d95079fe28f72edcbe36d04d87c423c2d454b5 Mon Sep 17 00:00:00 2001 From: Ben Date: Fri, 10 Nov 2023 06:19:06 +0000 Subject: [PATCH] first commit --- Makefile | 21 + README.md | 0 luasrc/controller/chatgpt-web.lua | 32 + luasrc/model/cbi/chatgpt-web.lua | 52 + luasrc/view/chatgpt-web.htm | 3580 +++++++++++++++++ root/etc/config/chatgpt-web | 8 + .../luci-static/chatgpt-web/chatgpt-web.css | 1644 ++++++++ .../chatgpt-web/github-markdown-light.min.css | 1 + .../luci-static/chatgpt-web/github.min.css | 10 + .../luci-static/chatgpt-web/highlight.min.js | 1207 ++++++ .../www/luci-static/chatgpt-web/katex.min.css | 1 + root/www/luci-static/chatgpt-web/katex.min.js | 1 + .../markdown-it-link-attributes.min.js | 1 + .../chatgpt-web/markdown-it.min.js | 3 + .../mobile-drag-drop3.0.0-rc.0.min.js | 3 + .../mobile-drag-drop3.0.0-rc.0default.css | 10 + .../www/luci-static/chatgpt-web/notyf.min.css | 1 + root/www/luci-static/chatgpt-web/notyf.min.js | 1 + .../chatgpt-web/prompts-zh-TW.json | 634 +++ .../luci-static/chatgpt-web/prompts-zh.json | 634 +++ root/www/luci-static/chatgpt-web/texmath.css | 19 + root/www/luci-static/chatgpt-web/texmath.js | 368 ++ root/www/luci-static/chatgpt-web/user/boy.jpg | Bin 0 -> 3754 bytes .../www/luci-static/chatgpt-web/user/boy2.jpg | Bin 0 -> 3155 bytes .../www/luci-static/chatgpt-web/user/boy3.jpg | Bin 0 -> 4107 bytes .../luci-static/chatgpt-web/user/cartoon.jpg | Bin 0 -> 5249 bytes .../chatgpt-web/user/cartoonboy.jpg | Bin 0 -> 3414 bytes .../chatgpt-web/user/cartoonboy2.jpg | Bin 0 -> 5084 bytes .../chatgpt-web/user/cartoongirl.jpg | Bin 0 -> 3853 bytes .../chatgpt-web/user/cartoongirl2.jpg | Bin 0 -> 3887 bytes .../chatgpt-web/user/cartoongirl3.jpg | Bin 0 -> 3782 bytes root/www/luci-static/chatgpt-web/user/dog.jpg | Bin 0 -> 4042 bytes .../www/luci-static/chatgpt-web/user/girl.jpg | Bin 0 -> 54415 bytes .../luci-static/chatgpt-web/user/girl2.jpg | Bin 0 -> 30463 bytes .../luci-static/chatgpt-web/user/girl3.jpg | Bin 0 -> 5418 bytes 35 files changed, 8231 insertions(+) create mode 100644 Makefile create mode 100644 README.md create mode 100644 luasrc/controller/chatgpt-web.lua create mode 100644 luasrc/model/cbi/chatgpt-web.lua create mode 100644 luasrc/view/chatgpt-web.htm create mode 100644 root/etc/config/chatgpt-web create mode 100644 root/www/luci-static/chatgpt-web/chatgpt-web.css create mode 100644 root/www/luci-static/chatgpt-web/github-markdown-light.min.css create mode 100644 root/www/luci-static/chatgpt-web/github.min.css create mode 100644 root/www/luci-static/chatgpt-web/highlight.min.js create mode 100644 root/www/luci-static/chatgpt-web/katex.min.css create mode 100644 root/www/luci-static/chatgpt-web/katex.min.js create mode 100644 root/www/luci-static/chatgpt-web/markdown-it-link-attributes.min.js create mode 100644 root/www/luci-static/chatgpt-web/markdown-it.min.js create mode 100644 root/www/luci-static/chatgpt-web/mobile-drag-drop3.0.0-rc.0.min.js create mode 100644 root/www/luci-static/chatgpt-web/mobile-drag-drop3.0.0-rc.0default.css create mode 100644 root/www/luci-static/chatgpt-web/notyf.min.css create mode 100644 root/www/luci-static/chatgpt-web/notyf.min.js create mode 100644 root/www/luci-static/chatgpt-web/prompts-zh-TW.json create mode 100644 root/www/luci-static/chatgpt-web/prompts-zh.json create mode 100644 root/www/luci-static/chatgpt-web/texmath.css create mode 100644 root/www/luci-static/chatgpt-web/texmath.js create mode 100644 root/www/luci-static/chatgpt-web/user/boy.jpg create mode 100644 root/www/luci-static/chatgpt-web/user/boy2.jpg create mode 100644 root/www/luci-static/chatgpt-web/user/boy3.jpg create mode 100644 root/www/luci-static/chatgpt-web/user/cartoon.jpg create mode 100644 root/www/luci-static/chatgpt-web/user/cartoonboy.jpg create mode 100644 root/www/luci-static/chatgpt-web/user/cartoonboy2.jpg create mode 100644 root/www/luci-static/chatgpt-web/user/cartoongirl.jpg create mode 100644 root/www/luci-static/chatgpt-web/user/cartoongirl2.jpg create mode 100644 root/www/luci-static/chatgpt-web/user/cartoongirl3.jpg create mode 100644 root/www/luci-static/chatgpt-web/user/dog.jpg create mode 100644 root/www/luci-static/chatgpt-web/user/girl.jpg create mode 100644 root/www/luci-static/chatgpt-web/user/girl2.jpg create mode 100644 root/www/luci-static/chatgpt-web/user/girl3.jpg diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..71e86e1 --- /dev/null +++ b/Makefile @@ -0,0 +1,21 @@ +# SPDX-License-Identifier: GPL-3.0-only +# +# Copyright (C) 2021-2022 sirpdboy https://github.com/sirpdboy/chatgpt-web.git +# +# This is free software, licensed under the Apache License, Version 2.0 . +# +include $(TOPDIR)/rules.mk + +PKG_NAME:=luci-app-chatgpt +PKG_VERSION:=1.1.3 +PKG_RELEASE:=16 + +LUCI_TITLE:=LuCI Support for chatgpt-web Client +LUCI_PKGARCH:=all + +define Package/$(PKG_NAME)/conffiles +/etc/config/chatgpt-web +endef +include $(TOPDIR)/feeds/luci/luci.mk + +# call BuildPackage - OpenWrt buildroot signature diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/luasrc/controller/chatgpt-web.lua b/luasrc/controller/chatgpt-web.lua new file mode 100644 index 0000000..c69dfa0 --- /dev/null +++ b/luasrc/controller/chatgpt-web.lua @@ -0,0 +1,32 @@ +-- Copyright (C) 2023 sirpdboy https://github.com/sirpdboy/chatgpt-web.git +-- Licensed to the public under the Apache License 2.0. + +local fs = require "nixio.fs" +local uci = require 'luci.model.uci'.cursor() + +module("luci.controller.chatgpt-web", package.seeall) + +function index() + if not nixio.fs.access("/etc/config/chatgpt-web") then + return + end + + entry({"admin", "services", "chatgpt-web"}, alias("admin", "services", "chatgpt-web", "setting"),_("Chatgpt Web"), 20).dependent = true + entry({"admin", "services", "chatgpt-web", "setting"}, cbi("chatgpt-web"), _("Base Setting"), 10).leaf=true + entry({"admin", "services", "chatgpt-web", "chatgpt-web"}, template("chatgpt-web"), _("Chatgpt Web"), 30).leaf = true + -- entry({"admin", "services", "chatgpt-web", "chatgpt-api"}, call("act_chatgpt_api")) +end + +function act_chatgpt_api() + local e = {} + if fs.access('/etc/config/chatgpt-web') then + e.apihosts = uci:get_first('chatgpt-web', 'basic', 'apiHost') + e.apikeys = uci:get_first('chatgpt-web', 'basic', 'apikey') + e.stat = true + else + e.stat = false + end + + luci.http.prepare_content('application/json') + luci.http.write_json(e) +end \ No newline at end of file diff --git a/luasrc/model/cbi/chatgpt-web.lua b/luasrc/model/cbi/chatgpt-web.lua new file mode 100644 index 0000000..0b4a05a --- /dev/null +++ b/luasrc/model/cbi/chatgpt-web.lua @@ -0,0 +1,52 @@ +-- Copyright (C) 2023 sirpdboy https://github.com/sirpdboy/chatgpt-web.git + +local m, s ,o + +m = Map("chatgpt-web") +m.title = translate("Chatgpt Web") +m.description = translate("ChatGPT-Web is the version used on OPENWRT of OPENAI")..translate("
For specific usage, see:")..translate("GitHub @sirpdboy/chatgpt-web\ ") + +s = m:section(TypedSection, "basic", translate("Base Setting")) +s.addremove = false +s.anonymous = true + +o = s:option(ListValue,"modelver",translate("GPT Model")) +o:value("gpt-3.5-turbo",translate("gpt-3.5")) +o:value("gpt-3.5-turbo-16k",translate("gpt-3.5-turbo-16k")) +o:value("gpt-4",translate("gpt-4")) +o:value("gpt-4-browsing",translate("gpt-4-browsing")) +o:value("gpt-4-32k",translate("gpt-4-32k")) +o.default="gpt-3.5-turbo" +o.rmempty = true + +o = s:option(Value,"userpic",translate("Character images")) +o:value("girl.jpg",translate("girl")) +o:value("girl2.jpg",translate("girl2")) +o:value("girl3.jpg",translate("girl3")) +o:value("boy.jpg",translate("boy")) +o:value("boy2.jpg",translate("boy2")) +o:value("boy3.jpg",translate("boy3")) +o:value("dog.jpg",translate("dog")) +o:value("cartoon.jpg",translate("cartoon")) +o:value("cartoonboy.jpg",translate("cartoonboy")) +o:value("cartoonboy2.jpg",translate("cartoonboy2")) +o:value("cartoongirl.jpg",translate("cartoongirl")) +o:value("cartoongirl2.jpg",translate("cartoongirl2")) +o.rmempty = true +o.default="girl.jpg" + +o=s:option(TextValue, "systemrole" ,translate("Default Role Settings")) +o.rows = 2 +o.rmempty=false + +o = s:option(Value,"apiHost",translate("OpenAI interface")) +o.description = translate("") +o.rmempty = true +o.default="https://api.openai.com/" + +o = s:option(Value, "apikey", translate("API Key")) +o.description = translate("Enter your own API key, and if you do not have one, enter the official website API to generate it: ")..translate("Click to open") +o.rmempty = true +o.password = true + +return m diff --git a/luasrc/view/chatgpt-web.htm b/luasrc/view/chatgpt-web.htm new file mode 100644 index 0000000..7636c80 --- /dev/null +++ b/luasrc/view/chatgpt-web.htm @@ -0,0 +1,3580 @@ +<%# + Copyright 2023 sirpdboy Wich https://github.com/sirpdboy/chatgpt-web.git + Licensed to the public under the Apache License 2.0. +-%> +<% +local uci = require "luci.model.uci".cursor() +local apihosts = uci:get_first('chatgpt-web', 'basic', 'apiHost') +local apikeys = uci:get_first('chatgpt-web', 'basic', 'apikey') +local modelver = uci:get_first('chatgpt-web', 'basic', 'modelver') +local userpic = "/luci-static/chatgpt-web/user/" .. uci:get_first('chatgpt-web', 'basic', 'userpic') +local sysrole = uci:get_first('chatgpt-web', 'basic', 'systemrole') + +-%> +<%+header%> + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
ChatGPT
+ + + +
+
+
+
+ +
+
+
+
+
+
+
+
ChatGPT
+
+ +
+ +
+
+
+
+ + stop
+
+
+
+ + + +
+ + +
+
+
+
+
+
+ + + +
+
set up
+
+ +
+
conversation
+
+
+ + + + export +
+ + +
+ + + + empty +
+
+
+
+
set up
+
+
+ + + + export +
+ + +
+ + + + reset +
+
+
+
+
local storage
+
+
+
+
+
+
used
+
available
+
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + +
+ +
+ +<%+footer%> diff --git a/root/etc/config/chatgpt-web b/root/etc/config/chatgpt-web new file mode 100644 index 0000000..2a1399d --- /dev/null +++ b/root/etc/config/chatgpt-web @@ -0,0 +1,8 @@ + +config basic + option apiHost 'https://api.openai.com/' + option modelver 'gpt-3.5-turbo' + option userpic 'girl.jpg' + option apikey '' + option systemrole '你是一个Professional Assistant Specialized in Configuring PrivateRouter OpenWRT' + diff --git a/root/www/luci-static/chatgpt-web/chatgpt-web.css b/root/www/luci-static/chatgpt-web/chatgpt-web.css new file mode 100644 index 0000000..fd4cbbe --- /dev/null +++ b/root/www/luci-static/chatgpt-web/chatgpt-web.css @@ -0,0 +1,1644 @@ + + .chat_window { + display: flex; + width: 100%; + max-width: 1920px; + height: 888px; + border-radius: 8px; + background-color: #fff; + overflow: auto; + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15); + } + + .overlay { + width: 100%; + height: 100%; + position: absolute; + left: 0; + top: 0; + background-color: rgba(0, 0, 0, .3); + z-index: 90; + opacity: 0; + visibility: hidden; + cursor: pointer; + transition: all 120ms ease-in-out; + } + + + + .full_window { + max-width: none; + max-height: none; + } + + .chatnav { + width: 250px; + border-right: 1px solid #e0e0e0;; + background-color: #f6f6f6; + top: 0; + z-index: 99; + flex-shrink: 0; + display: flex; + flex-direction: column; + margin-left: -250px; + transition: left 120ms ease-in-out; + } + + .mainContent { + height: 100%; + position: relative; + width: 100%; + display: flex; + flex-direction: column; + flex: 1; + } + + .show-nav .chatnav { + margin-left: 0; + box-shadow: rgba(0, 0, 0, 0.2) 0px 8px 10px -5px, rgba(0, 0, 0, 0.14) 0px 16px 24px 2px, rgba(0, 0, 0, 0.12) 0px 6px 30px 5px; + } + + .show-nav .overlay { + opacity: 1; + visibility: visible; + } + .top_menu { + background-color: #f6f6f6; + width: 100%; + height: 50px; + padding: 5px 0; + } + + .top_menu .toggler { + margin-left: 10px; + width: 40px; + height: 40px; + float: left; + padding: 5px 7px; + border-radius: 4px; + cursor: pointer; + } + + .top_menu .toggler:hover { + background: #e0e0e0;; + } + + .top_menu .toggler .button { + width: 26px; + height: 4px; + border-radius: 4px; + position: absolute; + pointer-events: none; + } + + .top_menu .toggler .button.close { + margin-top: 3px; + background-color: #000; + } + + .top_menu .toggler .button.minimize { + margin-top: 13px; + background-color: #000; + } + + .top_menu .toggler .button.maximize { + margin-top: 23px; + background-color: #000; + } + + .top_menu .title { + color: #909090; + font-size: 20px; + height: 40px; + line-height: 40px; + position: relative; + pointer-events: none; + } + + .title>span { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + } + + .messages { + position: relative; + flex: 1; + overflow-x: hidden; + overflow-y: auto; + font-size: 16px; + color: #24292f; + width: 100%; + text-align: center; + } + + .messages::-webkit-scrollbar, + #chatlog .markdown-body>pre::-webkit-scrollbar, + #chatlog .markdown-body>pre>code::-webkit-scrollbar, + #setDialog::-webkit-scrollbar, + .allList::-webkit-scrollbar, + .sysDetail::-webkit-scrollbar { + width: 10px; + height: 10px; + } + + .messages::-webkit-scrollbar-track, + #chatlog .markdown-body>pre::-webkit-scrollbar-track, + #chatlog .markdown-body>pre>code::-webkit-scrollbar-track, + #setDialog::-webkit-scrollbar-track, + .allList::-webkit-scrollbar-track, + .sysDetail::-webkit-scrollbar-track { + background-clip: padding-box; + background: transparent; + border: none; + } + + .messages::-webkit-scrollbar-corner, + #chatlog .markdown-body>pre::-webkit-scrollbar-corner, + #chatlog .markdown-body>pre>code::-webkit-scrollbar-corner, + #setDialog::-webkit-scrollbar-corner, + .allList::-webkit-scrollbar-corner, + .sysDetail::-webkit-scrollbar-corner { + background-color: transparent; + } + + .messages::-webkit-scrollbar-thumb, + #chatlog .markdown-body>pre::-webkit-scrollbar-thumb, + #chatlog .markdown-body>pre>code::-webkit-scrollbar-thumb, + #setDialog::-webkit-scrollbar-thumb, + .allList::-webkit-scrollbar-thumb, + .sysDetail::-webkit-scrollbar-thumb { + background-color: rgba(0, 0, 0, 0.1); + background-clip: padding-box; + border: solid transparent; + border-radius: 10px; + } + + .messages::-webkit-scrollbar-thumb:hover, + #chatlog .markdown-body>pre::-webkit-scrollbar-thumb:hover, + #chatlog .markdown-body>pre>code::-webkit-scrollbar-thumb:hover, + #setDialog::-webkit-scrollbar-thumb:hover, + .allList::-webkit-scrollbar-thumb:hover, + .sysDetail::-webkit-scrollbar-thumb:hover { + background-color: rgba(0, 0, 0, 0.4); + } + + + #chatlog { + word-wrap: break-word; + text-align: start; + } + + #chatlog>div { + padding: 18px 40px 18px 54px; + } + + .chatAvatar { + position: absolute; + width: 30px; + height: 30px; + border-radius: 2px; + } + + .request>.chatAvatar { + top: 14px; + right: 53px; + margin-top: 15px; + margin-bottom: 15px; + } + .response>.chatAvatar { + background: #10a37f; + + top: 18px; + + left: 13px; + margin-top: 15px; + margin-bottom: 15px; + } + + .response .gpt3Avatar { + top: 18px; + left: 13px; + background: #19c37d; + } + + .response .gpt4Avatar { + top: 18px; + left: 13px; + background: #ab68ff; + } + + .chatAvatar>img { + display: block; + width: 100%; + height: 100%; + border-radius: 2px; + } + + .chatAvatar>svg { + display: block; + margin-top: 4px; + margin-left: 4px; + } + + #chatlog .request { + position: relative; + display: flex; + justify-content: center; + } + + .request>.requestBody { + display: flex; + justify-content: flex-end; + margin: 18px 45px 18px 20px; + font-family: -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"; + font-size: 15px; + } + .requestBody { + white-space: pre-wrap; + margin: 18px; + flex: 1; + } + + #chatlog .response { + background: #f7f7f8; + position: relative; + } + + .response .markdown-body { + margin: 18px 65px 18px 0px; + flex: 1; + font-size: 15px; + background: #f7f7f8!important; + } + + #chatlog .markdown-body>pre { + overflow-x: auto; + padding: 10px; + position: relative; + white-space: pre-wrap; + background: #f0f0f0; + } + + #chatlog .markdown-body>pre>code { + overflow-x: auto; + white-space: pre-wrap; + display: block; + } + + .m-mdic-copy-wrapper { + position: absolute; + top: 5px; + right: 16px; + -webkit-user-select: none; + user-select: none; + } + + .m-mdic-copy-wrapper span.u-mdic-copy-code_lang { + position: absolute; + top: 3px; + right: calc(100% + 4px); + font-family: system-ui; + font-size: 12px; + line-height: 18px; + color: #bbb; + } + + .m-mdic-copy-wrapper div.u-mdic-copy-notify { + position: absolute; + top: 0; + right: 0; + padding: 3px 6px; + border: 0; + border-radius: 3px; + background: none; + font-family: system-ui; + font-size: 12px; + line-height: 18px; + color: #555; + outline: none; + right: 100%; + padding-right: 4px; + } + + .m-mdic-copy-wrapper button.u-mdic-copy-btn { + position: relative; + top: 0; + right: 0; + padding: 3px 6px; + border: 0; + border-radius: 3px; + background: none; + font-family: system-ui; + font-size: 12px; + line-height: 18px; + color: #bbb; + outline: none; + cursor: pointer; + transition: color 0.2s; + } + + .m-mdic-copy-wrapper button.u-mdic-copy-btn:hover { + color: #555; + } + + #stopChat { + display: none; + margin: 0 auto; + margin-top: 3px; + width: 80px; + height: 32px; + text-align: center; + line-height: 32px; + color: white; + background: #f8b26a; + cursor: pointer; + border-radius: 3px; + position: sticky; + bottom: 2px; + justify-content: center; + align-items: center; + } + + #stopChat>svg { + margin-right: 8px; + } + + #stopChat:hover { + background: #f0aa60; + } + + .bottom_wrapper { + position: relative; + width: 100%; + padding: 10px 10px; + max-width: 91%; + margin: 0 auto; + } + + .bottom_wrapper .message_input_wrapper { + border: none; + width: calc(100% - 137px); + position: relative; + text-align: left; + } + + .bottom_wrapper .message_input_wrapper .message_input_text { +border-radius: 4px; + border: none; + outline: none; + resize: none; + background: #f6f6f6; + color: #24292f; + height: 47px; + font-size: 16px; + max-height: 200px; + padding: 13px 0 13px 13px; + width: 100%!important; + display: block; + transition: background 0.3s; + + } + + .bottom_wrapper .message_input_wrapper .message_input_text:focus { + background: #f0f0f0; + } + + .bottom_wrapper .message_input_wrapper .message_input_text::-webkit-scrollbar { + display: none; + width: 0; + height: 0; + } + + #sendbutton { + width: 70px; + height: 47px; + font-size: 18px; + font-weight: bold; + background-color: #8ed135; + padding: 0.5rem 0.5rem; + transition: all 0.2s linear; + position: absolute; + right: 65px; + bottom: 10px; + cursor: not-allowed; + } + + .activeSendBtn { + background-color: #99c959 !important; + cursor: pointer !important; + } + + .activeSendBtn:hover { + background-color: #90c050 !important; + } + + .clearConv { + position: absolute; + right: 10px; + bottom: 10px; + width: 47px; + padding: 0.5rem 0.5rem; + height: 47px; + } + + .clearConv>svg { + margin: 0 auto; + top: 50%; + left: 50%; + } + + + .clearConv svg:first-child { + display: none; + } + + .clearConv svg:nth-child(2) { + display: block; + } + + .closeConv { + background: #e0e0e0;; + } + + .closeConv:hover { + background: #e8e8e8; + } + + .closeConv svg:first-child { + display: block; + } + + .closeConv svg:nth-child(2) { + display: none; + } + + .loaded>span { + display: inline-block; + } + + .loaded>svg { + display: none; + } + + .loading { + background: rgba(0,0,0,0) !important; + } + + .loading>span { + display: none; + } + + .loading>svg { + display: block; + } + + .switch-slide { + display: inline-block; + vertical-align: middle; + } + + .switch-slide-label { + display: block; + width: 38px; + height: 18px; + background: #909090; + border-radius: 30px; + cursor: pointer; + position: relative; + -webkit-transition: 0.3s ease; + transition: 0.3s ease; + } + + .switch-slide-label:after { + content: ""; + display: block; + width: 16px; + height: 16px; + border-radius: 100%; + background: #fff; + box-shadow: 0 1px 1px rgba(0, 0, 0, .1); + position: absolute; + left: 1px; + top: 1px; + -webkit-transform: translateZ(0); + transform: translateZ(0); + -webkit-transition: 0.3s ease; + transition: 0.3s ease; + } + + .switch-slide input:checked+label { + background: #99c959; + transition: 0.3s ease; + } + + .switch-slide input:checked+label:after { + left: 21px; + } + + .settings { + margin-right: 10px; + display: flex; + position: absolute; + right: 0; + top: 5px; + } + + .setBtn { + margin-left: 2px; + cursor: pointer; + padding: 5px; + border: none; + background-color: transparent; + border-radius: 4px; + } + + .setBtn>svg { + display: block; + color: #909090; + } + + .setBtn:hover { + background: #e0e0e0;; + } + + #setting { + right: 15px; + } + + + + .showSetting { + background: #c0c0c0 !important; + } + + #setDialog { + color: #404040; + position: absolute; + z-index: 2; + background: #f6f6f6; + width: 320px; + right: 6px; + top: 46px; + overflow-y: auto; + max-height: calc(100% - 55px); + -webkit-user-select: none; + user-select: none; + border-radius: 5px; + padding: 8px 12px 8px 12px; + box-shadow: 0 0 6px rgba(0, 0, 0, 0.15); + } + + #setDialog input { + width: 100%; + } + + #setDialog .inlineTitle { + display: inline-block; + width: 80px; + line-height: 16px; + vertical-align: middle; + } + + #convOption, + #speechOption, + #speechDetail, + #recOption { + margin-bottom: 6px; + } + + #convOption>div, + #speechOption>div, + #speechDetail>div, + #recOption div { + margin-top: 10px; + } + + #voiceRecSetting select, + #speechDetail select { + background: #fff; + color: #24292f; + } + + .areaTextClass { + width: 100%; + height: 150px; + white-space: normal; + resize: none; + padding: 6px; + } + + input[type="range"] { + -webkit-appearance: none; + appearance: none; + display: block; + margin: 4px 0 3px 0; + height: 8px; + background: #909090; + border-radius: 5px; + background-image: linear-gradient(#99c959, #99c959); + background-size: 100% 100%; + background-repeat: no-repeat; + } + + input[type="range"]::-webkit-slider-thumb { + -webkit-appearance: none; + height: 15px; + width: 15px; + border-radius: 50%; + background: #99c959; + cursor: ew-resize; + } + + input[type=range]::-webkit-slider-runnable-track { + -webkit-appearance: none; + box-shadow: none; + border: none; + background: transparent; + } + + .justSetLine { + display: flex; + justify-content: space-between; + align-items: center; + } + + .justSetBtn { + height: 32px; + border-radius: 3px; + line-height: 32px; + background: #eaeaea; + text-align: center; + padding: 0px 8px; + display: flex; + justify-content: center; + align-items: center; + cursor: pointer; + } + + .justSetBtn:hover { + background-color: #d0d0d0; + } + + .justSetBtn>svg { + margin-right: 3px; + } + + .readyTestVoice>div:not(:first-child) { + display: none; + } + + .pauseTestVoice>div:nth-child(1), + .pauseTestVoice>div:nth-child(3) { + display: none; + } + + .resumeTestVoice>div:nth-child(1), + .resumeTestVoice>div:nth-child(2) { + display: none; + } + + .presetSelect>div { + display: inline-block; + } + + .presetSelect select { + outline: none; + border-radius: 3px; + width: 120px; + border-color: rgba(0, 0, 0, .3); + background: #fff; + color: #24292f; + } + + .selectDef { + display: flex; + justify-content: space-between; + font-size: 13px; + color: #909090; + } + + #preSetSpeech { + width: 100%; + outline: none; + height: 30px; + line-height: 30px; + font-size: 14px; + margin-top: 5px; + border-radius: 3px; + border-color: rgba(0, 0, 0, .3); + } + + .mdOption { + position: absolute; + right: 0px; + top: 0; + width: 50px; + height: 100%; + pointer-events: none; + } + + .mdOption>div { + pointer-events: auto; + cursor: pointer; + } + + .mdOption svg * { + pointer-events: none; + } + + .refreshReq svg:not(:first-child) { + display: none; + } + + .halfRefReq svg:not(:nth-child(2)) { + display: none; + } + + .optionItems { + position: absolute; + bottom: -5px; + display: flex; + justify-content: space-between; + + visibility: visible; + z-index: 1; + color: #808080; + } + + .optionItems:hover { + visibility: visible; + } + + .request:hover .optionItems, + .request:hover .voiceCls, + .response:hover .optionItems, + .response:hover .voiceCls { + visibility: visible; + } + + .optionItem { + border-radius: 10px; + height: 24px; + width: 32px; + border: 1px solid #e0e0e0;; + background-color: #f7f7f8; ; + display: flex !important; + justify-content: center; + align-items: center; + } + + .optionItem * { + pointer-events: none; + } + + .optionItem:hover { + background: #e0e0e0;; + } + + .voiceCls { + position: relative; + height: 100%; + visibility: visible; + display: flex; + align-items: center; + } + + .voiceCls>svg { + color: #c0c0c0; + display: block; + margin-left: 5px; + position: relative; + pointer-events: none; + } + + .voiceCls:hover>svg { + color: #808080; + } + + .showVoiceCls, + .showVoiceCls .markdown-body { + background: #e0e0e0 !important; + } + + .showVoiceCls .voiceCls { + visibility: visible !important; + } + + .showEditReq { + position: sticky !important; + top: 0; + bottom: 0; + z-index: 1; + } + + .showEditReq, + .showEditReq .markdown-body { + background: #e0e0e0 !important; + } + + .readyVoice svg:not(:first-child) { + display: none; + } + + .pauseVoice svg:not(:nth-child(2)) { + display: none; + } + + .resumeVoice svg:not(:nth-child(3)) { + display: none; + } + + #voiceTypes>span { + border-radius: 3px; + margin-left: 4px; + cursor: pointer; + background: #eaeaea; + padding: 1px 5px; + } + + #voiceTypes>span:hover { + background-color: #d0d0d0; + } + + .selVoiceType { + background: #d0d0d0 !important; + } + + .navHeader { + width: 100%; + padding: 5px 10px; + display: flex; + justify-content: space-between; + } + + + #newChat { + text-align: center; + width: 80%; + height: 40px; + border-radius: 3px; + background: #e8e8e8; + color: #404040; + display: flex; + align-items: center; + justify-content: center; + -webkit-user-select: none; + user-select: none; + cursor: pointer; + flex: 1; + } + + .navHeader>div:hover { + background: #e0e0e0 !important; + } + + #newChat>svg { + margin-right: 2px; + } + + #newFolder { + height: 40px; + width: 40px; + margin-left: 10px; + border-radius: 3px; + color: #404040; + cursor: pointer; + position: relative; + background: #e8e8e8; + -webkit-user-select: none; + user-select: none; + } + + #newFolder>svg { + display: block; + margin: 8px auto; + } + + .extraChat { + padding: 2px 10px 6px 10px; + position: relative; + } + + #searchChat { + width: 100%; + height: 36px; + padding-left: 10px; + padding-right: 16px; + font-size: 16px; + outline: none; + border: none; + color: #24292f; + background: #e8e8e8; + border-radius: 3px; + } + + #searchChat:focus { + background: #e0e0e0; + } + + #searchChat:placeholder-shown+#clearSearch { + display: none; + } + + #clearSearch { + position: absolute; + right: 12px; + top: 8px; + cursor: pointer; + color: #404040; + } + + #clearSearch:hover { + color: #000; + } + + #clearSearch>svg { + display: block; + } + + .divider { + width: 100%; + border-top: 1px solid #e0e0e0; + margin: 4px 0; + } + + .navFooter { + padding-bottom: 8px; + background: #e8e8e8; + } + + .navFunc { + padding-top: 5px; + display: flex; + justify-content: space-evenly; + } + + .navFunc svg { + display: block; + } + + .navFunc>div, + .navFunc>label { + border-radius: 20px; + text-align: center; + padding: 8px 8px; + color: #404040; + font-size: 14px; + cursor: pointer; + } + + .navFunc>div:hover, + .navFunc>label:hover { + background: #e0e0e0; + } + + .links { + text-align: center; + } + + .links a { + color: #404040; + text-decoration: none; + } + + .links a:hover { + color: #24292f !important; + } + + .links a:visited { + color: #404040; + } + + .allList { + width: 100%; + flex: 1; + overflow-y: auto; + } + + #chatList { + min-height: 50px; + } + + .dragingLi { + filter: brightness(90%); + } + + .dragingChat { + background: #e8e8e8; + } + + .expandFolder>.headLi>svg { + transform: rotate(90deg); + } + + .expandFolder>.chatsInFolder { + display: block; + } + + .chatsInFolder { + display: none; + margin-left: 22px; + padding-left: 2px; + border-left: 1px solid #909090; ; + } + + .headLi, + .chatLi { + cursor: pointer; + width: 100%; + height: 50px; + color: #909090; ; + display: flex; + justify-content: space-between; + align-items: center; + position: relative; + } + + .headLi *, + .chatLi * { + pointer-events: none; + } + + .headLi>svg, + .chatLi>svg { + margin-left: 10px; + color: #404040; + pointer-events: none; + } + + .folderOption svg, + .chatOption svg { + pointer-events: auto; + } + + .headLi svg *, + .chatLi svg * { + pointer-events: none; + } + + .headLi .folderInfo, + .chatLi .chatInfo { + position: absolute; + left: 45px; + height: 40px; + max-width: calc(100% - 100px); + } + + .folderInfo *, + .chatInfo * { + -webkit-user-select: none; + user-select: none; + } + + .chatInfo span { + background: #f8b26a; + } + + .headLi .folderName, + .chatLi .chatName { + color: #404040; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + line-height: 20px; + height: 20px; + } + + .headLi .folderNum, + .chatLi .chatPre { + color: #404040; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + font-size: 12px; + line-height: 20px; + height: 20px; + } + + .headLi .folderOption, + .chatLi .chatOption { + visibility: hidden; + display: flex; + color: #777; + margin-right: 5px; + } + + .folderLi:hover { + background: #eaeaea; + } + + .chatLi:hover { + background: #e0e0e0; + } + + .headLi:hover .folderOption, + .chatLi:hover .chatOption { + visibility: visible !important; + } + + .activeFolder, + .activeChatLi { + background: #d0d0d0 !important; + } + + .activeChatLi .chatOption { + visibility: visible !important; + } + + .chatOption>svg:hover { + color: #444; + } + + #activeChatEdit { + position: absolute; + left: 42px; + font-size: 16px; + border-radius: 2px; + color: #24292f; + background: #fff; + outline: none; + border: none; + pointer-events: auto; + height: 24px; + line-height: 24px; + width: calc(100% - 75px); + padding: 20px 3px; + z-index: 1; + } + + #loadMask { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + z-index: 100; + background-color: #edeff2; + } + + #loadMask>div { + position: absolute; + left: 50%; + top: 50%; + transform: translate(-50%, -50%); + text-align: center; + } + + #loadMask svg { + width: 160px; + height: 80px; + } + + #loadMask>div>div { + font-size: 40px; + color: #909090; ; + } + + #voiceRec { + position: absolute; + right: 0; + top: 0; + width: 47px; + height: 100%; + } + + .message_if_voice { + padding-right: 47px !important; + } + + #voiceRecIcon { + width: 100%; + height: 100%; + text-align: center; + cursor: pointer; + position: relative; + } + + #voiceRecIcon:hover>svg { + color: #808080; + } + + #voiceRecIcon>svg { + width: 38px; + height: 38px; + color: #b0b0b0; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + } + + #voiceRecIcon>svg .animVoice { + display: none; + } + + .voiceRecing>svg { + color: #99c959 !important; + } + + .voiceRecing .animVoice { + display: inline !important; + transform-origin: 0 64%; + animation-duration: 1.5s; + animation-name: scaleVoice; + animation-timing-function: ease; + animation-iteration-count: infinite; + } + + .voiceLong .animVoice { + display: inline !important; + transform-origin: 0 64%; + animation-duration: 0.3s; + animation-name: longVoice; + animation-timing-function: ease-in-out; + animation-iteration-count: 1; + } + + @keyframes longVoice { + 0% { + transform: scaleY(0); + } + + 100% { + transform: scaleY(1); + } + } + + @keyframes scaleVoice { + 0% { + transform: scaleY(0.28); + } + + 20% { + transform: scaleY(0.60); + } + + 28% { + transform: scaleY(0.28); + } + + 36% { + transform: scaleY(0.45); + } + + 44% { + transform: scaleY(0.28); + } + + 52% { + transform: scaleY(0.45); + } + + 62% { + transform: scaleY(0.80); + } + + 72% { + transform: scaleY(0.80); + } + + 90% { + transform: scaleY(0.28); + } + + 100% { + transform: scaleY(0.28); + } + } + + #voiceRecSetting { + display: none; + position: absolute; + top: -70px; + left: -26px; + z-index: 1; + padding: 4px 4px; + -webkit-user-select: none; + user-select: none; + border-radius: 3px; + background-color: #f6f6f6; + box-shadow: 0 0 6px rgba(0, 0, 0, 0.15); + } + + #voiceRecSetting select { + width: 102px; + outline: none; + height: 28px; + border-radius: 3px; + border-color: rgba(0, 0, 0, .3); + } + + .presetModelCls label { + margin-right: 8px; + } + + .presetModelCls select { + height: 30px; + line-height: 30px; + margin-top: 2px; + font-size: 15px; + } + + .setSwitch { + display: flex; + + } + + .setSwitch>div { + border-radius: 3px; + width: calc(100% / 3); + height: 32px; + line-height: 32px; + text-align: center; + cursor: pointer; + } + + .setSwitch>div:hover { + background-color: #e0e0e0; + } + + .activeSwitch { + background-color: #d0d0d0!important; + } + + #checkVoiceLoad { + height: 32px; + border-radius: 3px; + line-height: 32px; + background: #d0d0d0; + text-align: center; + display: flex; + justify-content: center; + cursor: pointer; + } + + #checkVoiceLoad:hover { + background: #c0c0c0; + } + + .voiceChecking { + background-color: #c0c0c0 !important; + } + + .voiceChecking>svg { + display: inline !important; + } + + #checkVoiceLoad>svg { + display: none; + margin-right: 8px; + height: 32px; + width: 64px; + } + + #preSetSystem { + height: 30px; + line-height: 30px; + } + + #sysDialog { + display: none; + position: fixed; + z-index: 200; + top: 0; + left: 0; + bottom: 0; + right: 0; + cursor: pointer; + justify-content: center; + align-items: center; + background: rgba(0, 0, 0, .4); + } + + #sysContent { + position: relative; + background: #f5f5f5f5; + color: #404040; + cursor: auto; + max-height: 100%; + max-width: 400px; + display: flex; + flex-direction: column; + border-radius: 4px; + padding: 12px 20px 16px 20px; + } + + .sysTitle { + font-size: 20px; + font-weight: bold; + } + + .sysDetail { + overflow-y: auto; + flex: 1; + margin-top: 4px; + } + + #closeSet { + position: absolute; + right: 0px; + top: 0px; + cursor: pointer; + padding: 10px 14px; + } + + #closeSet:hover { + color: #000; + } + + .setContent { + margin-top: 8px; + } + + .setTitle { + margin-bottom: 6px; + font-weight: bold; + } + + + .dataDetail { + display: flex; + } + + .dataDetail svg { + margin-right: 4px; + } + + .dataDetail>div, + .dataDetail>label { + border-radius: 3px; + text-align: center; + padding: 6px 8px; + margin-right: 12px; + color: #404040; + font-size: 15px; + cursor: pointer; + display: flex; + align-items: center; + justify-content: space-between; + } + + .dataDetail>div:hover, + .dataDetail>label:hover { + background: #e8e8e8; + } + + .avatarDetail { + display: flex; + margin-top: 2px; + } + + .avatarDetail img { + border-radius: 2px; + width: 32px; + height: 32px; + flex-shrink: 0; + margin-right: 10px; + margin-top: 2px; + } + + .inputDetail input { + outline: none; + border-radius: 3px; + padding-left: 8px; + font-size: 15px; + width: 100%; + height: 34px; + border: 1px solid rgba(0, 0, 0, .3); + background: #fff; + color: #24292f; + } + + .apiDetail { + display: flex; + } + + .apiDetail input { + flex: 1; + } + + .apiDetail>div { + background: #d0d0d0; + border-radius: 3px; + width: 108px; + text-align: center; + cursor: pointer; + margin-top: 2px; + height: 34px; + line-height: 34px; + font-size: 15px; + } + + .apiDetail>div:hover { + background: #e0e0e0; + } + + .themeDetail { + display: flex; + width: 180px; + justify-content: space-between; + pointer-events: none; + } + + .themeDetail svg { + display: block; + } + + .themeDetail>div { + pointer-events: auto; + border-radius: 20px; + text-align: center; + padding: 8px 8px; + color: #404040; + font-size: 14px; + cursor: pointer; + } + + .themeDetail>div * { + pointer-events: none; + } + + .themeDetail>div:hover { + background: #e8e8e8; + } + + .darkTheme>div:first-child { + background: #d0d0d0; + } + + .lightTheme>div:nth-child(2) { + background: #d0d0d0; + } + + .autoTheme>div:nth-child(3) { + background: #d0d0d0; + } + + #customAutoSet input { + width: 100px; + height: 30px; + line-height: 30px; + font-size: 15px; + outline: none; + border: 1px solid rgba(0, 0, 0, .3); + text-align: center; + border-radius: 3px; + background: #fff; + color: #24292f; + } + + #customAutoSet label { + margin-right: 8px; + } + + .progressBar { + position: relative; + width: 100%; + height: 12px; + border-radius: 6px; + background: #e0e0e0; + overflow: hidden; + } + + .expiredBar { + background: #e15b64; + } + + .nowProgress { + position: absolute; + left: 0; + top: 0; + height: 12px; + min-width: 1px; + border-radius: 6px; + background: #99c959; + } + + .progressDetail { + display: flex; + justify-content: space-between; + font-size: 15px; + } + + .cursorCls { + background: var(--chat-text-color); + width: 4px; + animation: 1s cursor-blinker infinite step-start; + } + + @keyframes cursor-blinker { + 0% { + opacity: 0; + } + + 50% { + opacity: 1; + } + + 100% { + opacity: 0; + } + } + \ No newline at end of file diff --git a/root/www/luci-static/chatgpt-web/github-markdown-light.min.css b/root/www/luci-static/chatgpt-web/github-markdown-light.min.css new file mode 100644 index 0000000..9961757 --- /dev/null +++ b/root/www/luci-static/chatgpt-web/github-markdown-light.min.css @@ -0,0 +1 @@ +.markdown-body{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;margin:0;color:#24292f;background-color:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:16px;line-height:1.5;word-wrap:break-word}.markdown-body .octicon{display:inline-block;fill:currentColor;vertical-align:text-bottom}.markdown-body h1:hover .anchor .octicon-link:before,.markdown-body h2:hover .anchor .octicon-link:before,.markdown-body h3:hover .anchor .octicon-link:before,.markdown-body h4:hover .anchor .octicon-link:before,.markdown-body h5:hover .anchor .octicon-link:before,.markdown-body h6:hover .anchor .octicon-link:before{width:16px;height:16px;content:' ';display:inline-block;background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml,");mask-image:url("data:image/svg+xml,")}.markdown-body details,.markdown-body figcaption,.markdown-body figure{display:block}.markdown-body summary{display:list-item}.markdown-body [hidden]{display:none!important}.markdown-body a{background-color:transparent;color:#0969da;text-decoration:none}.markdown-body abbr[title]{border-bottom:none;text-decoration:underline dotted}.markdown-body b,.markdown-body strong{font-weight:600}.markdown-body dfn{font-style:italic}.markdown-body h1{margin:.67em 0;font-weight:600;padding-bottom:.3em;font-size:2em;border-bottom:1px solid #d7dde3}.markdown-body mark{background-color:#fff8c5;color:#24292f}.markdown-body small{font-size:90%}.markdown-body sub,.markdown-body sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.markdown-body sub{bottom:-.25em}.markdown-body sup{top:-.5em}.markdown-body img{border-style:none;max-width:100%;box-sizing:content-box;background-color:#fff}.markdown-body code,.markdown-body kbd,.markdown-body pre,.markdown-body samp{font-family:monospace;font-size:1em}.markdown-body figure{margin:1em 40px}.markdown-body hr{box-sizing:content-box;overflow:hidden;background:0 0;border-bottom:1px solid #d7dde3;height:.25em;padding:0;margin:24px 0;background-color:#d0d7de;border:0}.markdown-body input{font:inherit;margin:0;overflow:visible;font-family:inherit;font-size:inherit;line-height:inherit}.markdown-body [type=button],.markdown-body [type=reset],.markdown-body [type=submit]{-webkit-appearance:button}.markdown-body [type=checkbox],.markdown-body [type=radio]{box-sizing:border-box;padding:0}.markdown-body [type=number]::-webkit-inner-spin-button,.markdown-body [type=number]::-webkit-outer-spin-button{height:auto}.markdown-body [type=search]::-webkit-search-cancel-button,.markdown-body [type=search]::-webkit-search-decoration{-webkit-appearance:none}.markdown-body ::-webkit-input-placeholder{color:inherit;opacity:.54}.markdown-body ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.markdown-body a:hover{text-decoration:underline}.markdown-body ::placeholder{color:#6e7781;opacity:1}.markdown-body hr::before{display:table;content:""}.markdown-body hr::after{display:table;clear:both;content:""}.markdown-body table{border-spacing:0;border-collapse:collapse;display:block;width:max-content;max-width:100%;overflow:auto}.markdown-body td,.markdown-body th{padding:0}.markdown-body details summary{cursor:pointer}.markdown-body details:not([open])>:not(summary){display:none!important}.markdown-body [role=button]:focus,.markdown-body a:focus,.markdown-body input[type=checkbox]:focus,.markdown-body input[type=radio]:focus{outline:2px solid #0969da;outline-offset:-2px;box-shadow:none}.markdown-body [role=button]:focus:not(:focus-visible),.markdown-body a:focus:not(:focus-visible),.markdown-body input[type=checkbox]:focus:not(:focus-visible),.markdown-body input[type=radio]:focus:not(:focus-visible){outline:solid 1px transparent}.markdown-body [role=button]:focus-visible,.markdown-body a:focus-visible,.markdown-body input[type=checkbox]:focus-visible,.markdown-body input[type=radio]:focus-visible{outline:2px solid #0969da;outline-offset:-2px;box-shadow:none}.markdown-body a:not([class]):focus,.markdown-body a:not([class]):focus-visible,.markdown-body input[type=checkbox]:focus,.markdown-body input[type=checkbox]:focus-visible,.markdown-body input[type=radio]:focus,.markdown-body input[type=radio]:focus-visible{outline-offset:0}.markdown-body kbd{display:inline-block;padding:3px 5px;font:11px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;line-height:10px;color:#24292f;vertical-align:middle;background-color:#f6f8fa;border:solid 1px rgba(175,184,193,.2);border-bottom-color:rgba(175,184,193,.2);border-radius:6px;box-shadow:inset 0 -1px 0 rgba(175,184,193,.2)}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.markdown-body h2{font-weight:600;padding-bottom:.3em;font-size:1.5em;border-bottom:1px solid #d7dde3}.markdown-body h3{font-weight:600;font-size:1.25em}.markdown-body h4{font-weight:600;font-size:1em}.markdown-body h5{font-weight:600;font-size:.875em}.markdown-body h6{font-weight:600;font-size:.85em;color:#57606a}.markdown-body p{margin-top:0;margin-bottom:10px}.markdown-body blockquote{margin:0;padding:0 1em;color:#57606a;border-left:.25em solid #d0d7de}.markdown-body ol,.markdown-body ul{margin-top:0;margin-bottom:0;padding-left:2em}.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.markdown-body ol ol ol,.markdown-body ol ul ol,.markdown-body ul ol ol,.markdown-body ul ul ol{list-style-type:lower-alpha}.markdown-body dd{margin-left:0}.markdown-body code,.markdown-body samp,.markdown-body tt{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px}.markdown-body pre{margin-top:0;margin-bottom:0;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px;word-wrap:normal}.markdown-body .octicon{display:inline-block;overflow:visible!important;vertical-align:text-bottom;fill:currentColor}.markdown-body input::-webkit-inner-spin-button,.markdown-body input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none;appearance:none}.markdown-body::before{display:table;content:""}.markdown-body::after{display:table;clear:both;content:""}.markdown-body>:first-child{margin-top:0!important}.markdown-body>:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:#cf222e}.markdown-body .anchor{float:left;padding-right:4px;margin-left:-20px;line-height:1}.markdown-body .anchor:focus{outline:0}.markdown-body blockquote,.markdown-body details,.markdown-body dl,.markdown-body ol,.markdown-body p,.markdown-body pre,.markdown-body table,.markdown-body ul{margin-top:0;margin-bottom:16px}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:#24292f;vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 code,.markdown-body h1 tt,.markdown-body h2 code,.markdown-body h2 tt,.markdown-body h3 code,.markdown-body h3 tt,.markdown-body h4 code,.markdown-body h4 tt,.markdown-body h5 code,.markdown-body h5 tt,.markdown-body h6 code,.markdown-body h6 tt{padding:0 .2em;font-size:inherit}.markdown-body summary h1,.markdown-body summary h2,.markdown-body summary h3,.markdown-body summary h4,.markdown-body summary h5,.markdown-body summary h6{display:inline-block}.markdown-body summary h1 .anchor,.markdown-body summary h2 .anchor,.markdown-body summary h3 .anchor,.markdown-body summary h4 .anchor,.markdown-body summary h5 .anchor,.markdown-body summary h6 .anchor{margin-left:-40px}.markdown-body summary h1,.markdown-body summary h2{padding-bottom:0;border-bottom:0}.markdown-body ol.no-list,.markdown-body ul.no-list{padding:0;list-style-type:none}.markdown-body ol[type=a]{list-style-type:lower-alpha}.markdown-body ol[type=A]{list-style-type:upper-alpha}.markdown-body ol[type=i]{list-style-type:lower-roman}.markdown-body ol[type=I]{list-style-type:upper-roman}.markdown-body ol[type="1"]{list-style-type:decimal}.markdown-body div>ol:not([type]){list-style-type:decimal}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:16px}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:600}.markdown-body dl dd{padding:0 16px;margin-bottom:16px}.markdown-body table th{font-weight:600}.markdown-body table td,.markdown-body table th{padding:6px 13px;border:1px solid #d0d7de}.markdown-body table tr{background-color:#fff;border-top:1px solid #d7dde3}.markdown-body table tr:nth-child(2n){background-color:#f6f8fa}.markdown-body table img{background-color:transparent}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{max-width:none;vertical-align:text-top;background-color:transparent}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid #d0d7de}.markdown-body span.frame span img{display:block;float:left}.markdown-body span.frame span span{display:block;padding:5px 0 0;clear:both;color:#24292f}.markdown-body span.align-center{display:block;overflow:hidden;clear:both}.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body span.align-center span img{margin:0 auto;text-align:center}.markdown-body span.align-right{display:block;overflow:hidden;clear:both}.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body span.align-right span img{margin:0;text-align:right}.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body code,.markdown-body tt{padding:.2em .4em;margin:0;font-size:85%;white-space:break-spaces;background-color:rgba(175,184,193,.2);border-radius:6px}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{text-decoration:inherit}.markdown-body samp{font-size:85%}.markdown-body pre code{font-size:100%}.markdown-body pre>code{padding:0;margin:0;word-break:normal;white-space:pre;background:0 0;border:0}.markdown-body .highlight{margin-bottom:16px}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;background-color:#f6f8fa;border-radius:6px}.markdown-body pre code,.markdown-body pre tt{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.markdown-body .csv-data td,.markdown-body .csv-data th{padding:5px;overflow:hidden;font-size:12px;line-height:1;text-align:left;white-space:nowrap}.markdown-body .csv-data .blob-num{padding:10px 8px 9px;text-align:right;background:#fff;border:0}.markdown-body .csv-data tr{border-top:0}.markdown-body .csv-data th{font-weight:600;background:#f6f8fa;border-top:0}.markdown-body [data-footnote-ref]::before{content:"["}.markdown-body [data-footnote-ref]::after{content:"]"}.markdown-body .footnotes{font-size:12px;color:#57606a;border-top:1px solid #d0d7de}.markdown-body .footnotes ol{padding-left:16px}.markdown-body .footnotes ol ul{display:inline-block;padding-left:16px;margin-top:16px}.markdown-body .footnotes li{position:relative}.markdown-body .footnotes li:target::before{position:absolute;top:-8px;right:-8px;bottom:-8px;left:-24px;pointer-events:none;content:"";border:2px solid #0969da;border-radius:6px}.markdown-body .footnotes li:target{color:#24292f}.markdown-body .footnotes .data-footnote-backref g-emoji{font-family:monospace}.markdown-body .pl-c{color:#6e7781}.markdown-body .pl-c1,.markdown-body .pl-s .pl-v{color:#0550ae}.markdown-body .pl-e,.markdown-body .pl-en{color:#8250df}.markdown-body .pl-s .pl-s1,.markdown-body .pl-smi{color:#24292f}.markdown-body .pl-ent{color:#116329}.markdown-body .pl-k{color:#cf222e}.markdown-body .pl-pds,.markdown-body .pl-s,.markdown-body .pl-s .pl-pse .pl-s1,.markdown-body .pl-sr,.markdown-body .pl-sr .pl-cce,.markdown-body .pl-sr .pl-sra,.markdown-body .pl-sr .pl-sre{color:#0a3069}.markdown-body .pl-smw,.markdown-body .pl-v{color:#953800}.markdown-body .pl-bu{color:#82071e}.markdown-body .pl-ii{color:#f6f8fa;background-color:#82071e}.markdown-body .pl-c2{color:#f6f8fa;background-color:#cf222e}.markdown-body .pl-sr .pl-cce{font-weight:700;color:#116329}.markdown-body .pl-ml{color:#3b2300}.markdown-body .pl-mh,.markdown-body .pl-mh .pl-en,.markdown-body .pl-ms{font-weight:700;color:#0550ae}.markdown-body .pl-mi{font-style:italic;color:#24292f}.markdown-body .pl-mb{font-weight:700;color:#24292f}.markdown-body .pl-md{color:#82071e;background-color:#ffebe9}.markdown-body .pl-mi1{color:#116329;background-color:#dafbe1}.markdown-body .pl-mc{color:#953800;background-color:#ffd8b5}.markdown-body .pl-mi2{color:#eaeef2;background-color:#0550ae}.markdown-body .pl-mdr{font-weight:700;color:#8250df}.markdown-body .pl-ba{color:#57606a}.markdown-body .pl-sg{color:#8c959f}.markdown-body .pl-corl{text-decoration:underline;color:#0a3069}.markdown-body g-emoji{display:inline-block;min-width:1ch;font-family:"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:1em;font-style:normal!important;font-weight:400;line-height:1;vertical-align:-.075em}.markdown-body g-emoji img{width:1em;height:1em}.markdown-body .task-list-item{list-style-type:none}.markdown-body .task-list-item label{font-weight:400}.markdown-body .task-list-item.enabled label{cursor:pointer}.markdown-body .task-list-item+.task-list-item{margin-top:4px}.markdown-body .task-list-item .handle{display:none}.markdown-body .task-list-item-checkbox{margin:0 .2em .25em -1.4em;vertical-align:middle}.markdown-body .contains-task-list:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.markdown-body .contains-task-list{position:relative}.markdown-body .contains-task-list:focus-within .task-list-item-convert-container,.markdown-body .contains-task-list:hover .task-list-item-convert-container{display:block;width:auto;height:24px;overflow:visible;clip:auto}.markdown-body ::-webkit-calendar-picker-indicator{filter:invert(50%)} \ No newline at end of file diff --git a/root/www/luci-static/chatgpt-web/github.min.css b/root/www/luci-static/chatgpt-web/github.min.css new file mode 100644 index 0000000..275239a --- /dev/null +++ b/root/www/luci-static/chatgpt-web/github.min.css @@ -0,0 +1,10 @@ +pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*! + Theme: GitHub + Description: Light theme as seen on github.com + Author: github.com + Maintainer: @Hirse + Updated: 2021-05-15 + + Outdated base version: https://github.com/primer/github-syntax-light + Current colors taken from GitHub's CSS +*/.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable{color:#005cc5}.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-code,.hljs-comment,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0} \ No newline at end of file diff --git a/root/www/luci-static/chatgpt-web/highlight.min.js b/root/www/luci-static/chatgpt-web/highlight.min.js new file mode 100644 index 0000000..cf57240 --- /dev/null +++ b/root/www/luci-static/chatgpt-web/highlight.min.js @@ -0,0 +1,1207 @@ +/*! + Highlight.js v11.8.0 (git: 65687a907b) + (c) 2006-2023 undefined and other contributors + License: BSD-3-Clause + */ +var hljs=function(){"use strict";function e(n){ +return n instanceof Map?n.clear=n.delete=n.set=()=>{ +throw Error("map is read-only")}:n instanceof Set&&(n.add=n.clear=n.delete=()=>{ +throw Error("set is read-only") +}),Object.freeze(n),Object.getOwnPropertyNames(n).forEach((t=>{ +const a=n[t],i=typeof a;"object"!==i&&"function"!==i||Object.isFrozen(a)||e(a) +})),n}class n{constructor(e){ +void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1} +ignoreMatch(){this.isMatchIgnored=!0}}function t(e){ +return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'") +}function a(e,...n){const t=Object.create(null);for(const n in e)t[n]=e[n] +;return n.forEach((e=>{for(const n in e)t[n]=e[n]})),t}const i=e=>!!e.scope +;class r{constructor(e,n){ +this.buffer="",this.classPrefix=n.classPrefix,e.walk(this)}addText(e){ +this.buffer+=t(e)}openNode(e){if(!i(e))return;const n=((e,{prefix:n})=>{ +if(e.startsWith("language:"))return e.replace("language:","language-") +;if(e.includes(".")){const t=e.split(".") +;return[`${n}${t.shift()}`,...t.map(((e,n)=>`${e}${"_".repeat(n+1)}`))].join(" ") +}return`${n}${e}`})(e.scope,{prefix:this.classPrefix});this.span(n)} +closeNode(e){i(e)&&(this.buffer+="")}value(){return this.buffer}span(e){ +this.buffer+=``}}const s=(e={})=>{const n={children:[]} +;return Object.assign(n,e),n};class o{constructor(){ +this.rootNode=s(),this.stack=[this.rootNode]}get top(){ +return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){ +this.top.children.push(e)}openNode(e){const n=s({scope:e}) +;this.add(n),this.stack.push(n)}closeNode(){ +if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){ +for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)} +walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,n){ +return"string"==typeof n?e.addText(n):n.children&&(e.openNode(n), +n.children.forEach((n=>this._walk(e,n))),e.closeNode(n)),e}static _collapse(e){ +"string"!=typeof e&&e.children&&(e.children.every((e=>"string"==typeof e))?e.children=[e.children.join("")]:e.children.forEach((e=>{ +o._collapse(e)})))}}class l extends o{constructor(e){super(),this.options=e} +addText(e){""!==e&&this.add(e)}startScope(e){this.openNode(e)}endScope(){ +this.closeNode()}__addSublanguage(e,n){const t=e.root +;n&&(t.scope="language:"+n),this.add(t)}toHTML(){ +return new r(this,this.options).value()}finalize(){ +return this.closeAllNodes(),!0}}function c(e){ +return e?"string"==typeof e?e:e.source:null}function d(e){return b("(?=",e,")")} +function g(e){return b("(?:",e,")*")}function u(e){return b("(?:",e,")?")} +function b(...e){return e.map((e=>c(e))).join("")}function m(...e){const n=(e=>{ +const n=e[e.length-1] +;return"object"==typeof n&&n.constructor===Object?(e.splice(e.length-1,1),n):{} +})(e);return"("+(n.capture?"":"?:")+e.map((e=>c(e))).join("|")+")"} +function p(e){return RegExp(e.toString()+"|").exec("").length-1} +const _=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./ +;function h(e,{joinWith:n}){let t=0;return e.map((e=>{t+=1;const n=t +;let a=c(e),i="";for(;a.length>0;){const e=_.exec(a);if(!e){i+=a;break} +i+=a.substring(0,e.index), +a=a.substring(e.index+e[0].length),"\\"===e[0][0]&&e[1]?i+="\\"+(Number(e[1])+n):(i+=e[0], +"("===e[0]&&t++)}return i})).map((e=>`(${e})`)).join(n)} +const f="[a-zA-Z]\\w*",E="[a-zA-Z_]\\w*",y="\\b\\d+(\\.\\d+)?",N="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",w="\\b(0b[01]+)",v={ +begin:"\\\\[\\s\\S]",relevance:0},O={scope:"string",begin:"'",end:"'", +illegal:"\\n",contains:[v]},k={scope:"string",begin:'"',end:'"',illegal:"\\n", +contains:[v]},x=(e,n,t={})=>{const i=a({scope:"comment",begin:e,end:n, +contains:[]},t);i.contains.push({scope:"doctag", +begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)", +end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0}) +;const r=m("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/) +;return i.contains.push({begin:b(/[ ]+/,"(",r,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),i +},M=x("//","$"),S=x("/\\*","\\*/"),A=x("#","$");var C=Object.freeze({ +__proto__:null,MATCH_NOTHING_RE:/\b\B/,IDENT_RE:f,UNDERSCORE_IDENT_RE:E, +NUMBER_RE:y,C_NUMBER_RE:N,BINARY_NUMBER_RE:w, +RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~", +SHEBANG:(e={})=>{const n=/^#![ ]*\// +;return e.binary&&(e.begin=b(n,/.*\b/,e.binary,/\b.*/)),a({scope:"meta",begin:n, +end:/$/,relevance:0,"on:begin":(e,n)=>{0!==e.index&&n.ignoreMatch()}},e)}, +BACKSLASH_ESCAPE:v,APOS_STRING_MODE:O,QUOTE_STRING_MODE:k,PHRASAL_WORDS_MODE:{ +begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/ +},COMMENT:x,C_LINE_COMMENT_MODE:M,C_BLOCK_COMMENT_MODE:S,HASH_COMMENT_MODE:A, +NUMBER_MODE:{scope:"number",begin:y,relevance:0},C_NUMBER_MODE:{scope:"number", +begin:N,relevance:0},BINARY_NUMBER_MODE:{scope:"number",begin:w,relevance:0}, +REGEXP_MODE:{begin:/(?=\/[^/\n]*\/)/,contains:[{scope:"regexp",begin:/\//, +end:/\/[gimuy]*/,illegal:/\n/,contains:[v,{begin:/\[/,end:/\]/,relevance:0, +contains:[v]}]}]},TITLE_MODE:{scope:"title",begin:f,relevance:0}, +UNDERSCORE_TITLE_MODE:{scope:"title",begin:E,relevance:0},METHOD_GUARD:{ +begin:"\\.\\s*"+E,relevance:0},END_SAME_AS_BEGIN:e=>Object.assign(e,{ +"on:begin":(e,n)=>{n.data._beginMatch=e[1]},"on:end":(e,n)=>{ +n.data._beginMatch!==e[1]&&n.ignoreMatch()}})});function T(e,n){ +"."===e.input[e.index-1]&&n.ignoreMatch()}function R(e,n){ +void 0!==e.className&&(e.scope=e.className,delete e.className)}function D(e,n){ +n&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)", +e.__beforeBegin=T,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords, +void 0===e.relevance&&(e.relevance=0))}function I(e,n){ +Array.isArray(e.illegal)&&(e.illegal=m(...e.illegal))}function L(e,n){ +if(e.match){ +if(e.begin||e.end)throw Error("begin & end are not supported with match") +;e.begin=e.match,delete e.match}}function B(e,n){ +void 0===e.relevance&&(e.relevance=1)}const $=(e,n)=>{if(!e.beforeMatch)return +;if(e.starts)throw Error("beforeMatch cannot be used with starts") +;const t=Object.assign({},e);Object.keys(e).forEach((n=>{delete e[n] +})),e.keywords=t.keywords,e.begin=b(t.beforeMatch,d(t.begin)),e.starts={ +relevance:0,contains:[Object.assign(t,{endsParent:!0})] +},e.relevance=0,delete t.beforeMatch +},z=["of","and","for","in","not","or","if","then","parent","list","value"],F="keyword" +;function U(e,n,t=F){const a=Object.create(null) +;return"string"==typeof e?i(t,e.split(" ")):Array.isArray(e)?i(t,e):Object.keys(e).forEach((t=>{ +Object.assign(a,U(e[t],n,t))})),a;function i(e,t){ +n&&(t=t.map((e=>e.toLowerCase()))),t.forEach((n=>{const t=n.split("|") +;a[t[0]]=[e,j(t[0],t[1])]}))}}function j(e,n){ +return n?Number(n):(e=>z.includes(e.toLowerCase()))(e)?0:1}const P={},K=e=>{ +console.error(e)},q=(e,...n)=>{console.log("WARN: "+e,...n)},H=(e,n)=>{ +P[`${e}/${n}`]||(console.log(`Deprecated as of ${e}. ${n}`),P[`${e}/${n}`]=!0) +},G=Error();function Z(e,n,{key:t}){let a=0;const i=e[t],r={},s={} +;for(let e=1;e<=n.length;e++)s[e+a]=i[e],r[e+a]=!0,a+=p(n[e-1]) +;e[t]=s,e[t]._emit=r,e[t]._multi=!0}function W(e){(e=>{ +e.scope&&"object"==typeof e.scope&&null!==e.scope&&(e.beginScope=e.scope, +delete e.scope)})(e),"string"==typeof e.beginScope&&(e.beginScope={ +_wrap:e.beginScope}),"string"==typeof e.endScope&&(e.endScope={_wrap:e.endScope +}),(e=>{if(Array.isArray(e.begin)){ +if(e.skip||e.excludeBegin||e.returnBegin)throw K("skip, excludeBegin, returnBegin not compatible with beginScope: {}"), +G +;if("object"!=typeof e.beginScope||null===e.beginScope)throw K("beginScope must be object"), +G;Z(e,e.begin,{key:"beginScope"}),e.begin=h(e.begin,{joinWith:""})}})(e),(e=>{ +if(Array.isArray(e.end)){ +if(e.skip||e.excludeEnd||e.returnEnd)throw K("skip, excludeEnd, returnEnd not compatible with endScope: {}"), +G +;if("object"!=typeof e.endScope||null===e.endScope)throw K("endScope must be object"), +G;Z(e,e.end,{key:"endScope"}),e.end=h(e.end,{joinWith:""})}})(e)}function Q(e){ +function n(n,t){ +return RegExp(c(n),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(t?"g":"")) +}class t{constructor(){ +this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0} +addRule(e,n){ +n.position=this.position++,this.matchIndexes[this.matchAt]=n,this.regexes.push([n,e]), +this.matchAt+=p(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null) +;const e=this.regexes.map((e=>e[1]));this.matcherRe=n(h(e,{joinWith:"|" +}),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex +;const n=this.matcherRe.exec(e);if(!n)return null +;const t=n.findIndex(((e,n)=>n>0&&void 0!==e)),a=this.matchIndexes[t] +;return n.splice(0,t),Object.assign(n,a)}}class i{constructor(){ +this.rules=[],this.multiRegexes=[], +this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){ +if(this.multiRegexes[e])return this.multiRegexes[e];const n=new t +;return this.rules.slice(e).forEach((([e,t])=>n.addRule(e,t))), +n.compile(),this.multiRegexes[e]=n,n}resumingScanAtSamePosition(){ +return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,n){ +this.rules.push([e,n]),"begin"===n.type&&this.count++}exec(e){ +const n=this.getMatcher(this.regexIndex);n.lastIndex=this.lastIndex +;let t=n.exec(e) +;if(this.resumingScanAtSamePosition())if(t&&t.index===this.lastIndex);else{ +const n=this.getMatcher(0);n.lastIndex=this.lastIndex+1,t=n.exec(e)} +return t&&(this.regexIndex+=t.position+1, +this.regexIndex===this.count&&this.considerAll()),t}} +if(e.compilerExtensions||(e.compilerExtensions=[]), +e.contains&&e.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.") +;return e.classNameAliases=a(e.classNameAliases||{}),function t(r,s){const o=r +;if(r.isCompiled)return o +;[R,L,W,$].forEach((e=>e(r,s))),e.compilerExtensions.forEach((e=>e(r,s))), +r.__beforeBegin=null,[D,I,B].forEach((e=>e(r,s))),r.isCompiled=!0;let l=null +;return"object"==typeof r.keywords&&r.keywords.$pattern&&(r.keywords=Object.assign({},r.keywords), +l=r.keywords.$pattern, +delete r.keywords.$pattern),l=l||/\w+/,r.keywords&&(r.keywords=U(r.keywords,e.case_insensitive)), +o.keywordPatternRe=n(l,!0), +s&&(r.begin||(r.begin=/\B|\b/),o.beginRe=n(o.begin),r.end||r.endsWithParent||(r.end=/\B|\b/), +r.end&&(o.endRe=n(o.end)), +o.terminatorEnd=c(o.end)||"",r.endsWithParent&&s.terminatorEnd&&(o.terminatorEnd+=(r.end?"|":"")+s.terminatorEnd)), +r.illegal&&(o.illegalRe=n(r.illegal)), +r.contains||(r.contains=[]),r.contains=[].concat(...r.contains.map((e=>(e=>(e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map((n=>a(e,{ +variants:null},n)))),e.cachedVariants?e.cachedVariants:X(e)?a(e,{ +starts:e.starts?a(e.starts):null +}):Object.isFrozen(e)?a(e):e))("self"===e?r:e)))),r.contains.forEach((e=>{t(e,o) +})),r.starts&&t(r.starts,s),o.matcher=(e=>{const n=new i +;return e.contains.forEach((e=>n.addRule(e.begin,{rule:e,type:"begin" +}))),e.terminatorEnd&&n.addRule(e.terminatorEnd,{type:"end" +}),e.illegal&&n.addRule(e.illegal,{type:"illegal"}),n})(o),o}(e)}function X(e){ +return!!e&&(e.endsWithParent||X(e.starts))}class V extends Error{ +constructor(e,n){super(e),this.name="HTMLInjectionError",this.html=n}} +const J=t,Y=a,ee=Symbol("nomatch"),ne=t=>{ +const a=Object.create(null),i=Object.create(null),r=[];let s=!0 +;const o="Could not find the language '{}', did you forget to load/include a language module?",c={ +disableAutodetect:!0,name:"Plain text",contains:[]};let p={ +ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i, +languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-", +cssSelector:"pre code",languages:null,__emitter:l};function _(e){ +return p.noHighlightRe.test(e)}function h(e,n,t){let a="",i="" +;"object"==typeof n?(a=e, +t=n.ignoreIllegals,i=n.language):(H("10.7.0","highlight(lang, code, ...args) has been deprecated."), +H("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"), +i=e,a=n),void 0===t&&(t=!0);const r={code:a,language:i};x("before:highlight",r) +;const s=r.result?r.result:f(r.language,r.code,t) +;return s.code=r.code,x("after:highlight",s),s}function f(e,t,i,r){ +const l=Object.create(null);function c(){if(!x.keywords)return void S.addText(A) +;let e=0;x.keywordPatternRe.lastIndex=0;let n=x.keywordPatternRe.exec(A),t="" +;for(;n;){t+=A.substring(e,n.index) +;const i=w.case_insensitive?n[0].toLowerCase():n[0],r=(a=i,x.keywords[a]);if(r){ +const[e,a]=r +;if(S.addText(t),t="",l[i]=(l[i]||0)+1,l[i]<=7&&(C+=a),e.startsWith("_"))t+=n[0];else{ +const t=w.classNameAliases[e]||e;g(n[0],t)}}else t+=n[0] +;e=x.keywordPatternRe.lastIndex,n=x.keywordPatternRe.exec(A)}var a +;t+=A.substring(e),S.addText(t)}function d(){null!=x.subLanguage?(()=>{ +if(""===A)return;let e=null;if("string"==typeof x.subLanguage){ +if(!a[x.subLanguage])return void S.addText(A) +;e=f(x.subLanguage,A,!0,M[x.subLanguage]),M[x.subLanguage]=e._top +}else e=E(A,x.subLanguage.length?x.subLanguage:null) +;x.relevance>0&&(C+=e.relevance),S.__addSublanguage(e._emitter,e.language) +})():c(),A=""}function g(e,n){ +""!==e&&(S.startScope(n),S.addText(e),S.endScope())}function u(e,n){let t=1 +;const a=n.length-1;for(;t<=a;){if(!e._emit[t]){t++;continue} +const a=w.classNameAliases[e[t]]||e[t],i=n[t];a?g(i,a):(A=i,c(),A=""),t++}} +function b(e,n){ +return e.scope&&"string"==typeof e.scope&&S.openNode(w.classNameAliases[e.scope]||e.scope), +e.beginScope&&(e.beginScope._wrap?(g(A,w.classNameAliases[e.beginScope._wrap]||e.beginScope._wrap), +A=""):e.beginScope._multi&&(u(e.beginScope,n),A="")),x=Object.create(e,{parent:{ +value:x}}),x}function m(e,t,a){let i=((e,n)=>{const t=e&&e.exec(n) +;return t&&0===t.index})(e.endRe,a);if(i){if(e["on:end"]){const a=new n(e) +;e["on:end"](t,a),a.isMatchIgnored&&(i=!1)}if(i){ +for(;e.endsParent&&e.parent;)e=e.parent;return e}} +if(e.endsWithParent)return m(e.parent,t,a)}function _(e){ +return 0===x.matcher.regexIndex?(A+=e[0],1):(D=!0,0)}function h(e){ +const n=e[0],a=t.substring(e.index),i=m(x,e,a);if(!i)return ee;const r=x +;x.endScope&&x.endScope._wrap?(d(), +g(n,x.endScope._wrap)):x.endScope&&x.endScope._multi?(d(), +u(x.endScope,e)):r.skip?A+=n:(r.returnEnd||r.excludeEnd||(A+=n), +d(),r.excludeEnd&&(A=n));do{ +x.scope&&S.closeNode(),x.skip||x.subLanguage||(C+=x.relevance),x=x.parent +}while(x!==i.parent);return i.starts&&b(i.starts,e),r.returnEnd?0:n.length} +let y={};function N(a,r){const o=r&&r[0];if(A+=a,null==o)return d(),0 +;if("begin"===y.type&&"end"===r.type&&y.index===r.index&&""===o){ +if(A+=t.slice(r.index,r.index+1),!s){const n=Error(`0 width match regex (${e})`) +;throw n.languageName=e,n.badRule=y.rule,n}return 1} +if(y=r,"begin"===r.type)return(e=>{ +const t=e[0],a=e.rule,i=new n(a),r=[a.__beforeBegin,a["on:begin"]] +;for(const n of r)if(n&&(n(e,i),i.isMatchIgnored))return _(t) +;return a.skip?A+=t:(a.excludeBegin&&(A+=t), +d(),a.returnBegin||a.excludeBegin||(A=t)),b(a,e),a.returnBegin?0:t.length})(r) +;if("illegal"===r.type&&!i){ +const e=Error('Illegal lexeme "'+o+'" for mode "'+(x.scope||"")+'"') +;throw e.mode=x,e}if("end"===r.type){const e=h(r);if(e!==ee)return e} +if("illegal"===r.type&&""===o)return 1 +;if(R>1e5&&R>3*r.index)throw Error("potential infinite loop, way more iterations than matches") +;return A+=o,o.length}const w=v(e) +;if(!w)throw K(o.replace("{}",e)),Error('Unknown language: "'+e+'"') +;const O=Q(w);let k="",x=r||O;const M={},S=new p.__emitter(p);(()=>{const e=[] +;for(let n=x;n!==w;n=n.parent)n.scope&&e.unshift(n.scope) +;e.forEach((e=>S.openNode(e)))})();let A="",C=0,T=0,R=0,D=!1;try{ +if(w.__emitTokens)w.__emitTokens(t,S);else{for(x.matcher.considerAll();;){ +R++,D?D=!1:x.matcher.considerAll(),x.matcher.lastIndex=T +;const e=x.matcher.exec(t);if(!e)break;const n=N(t.substring(T,e.index),e) +;T=e.index+n}N(t.substring(T))}return S.finalize(),k=S.toHTML(),{language:e, +value:k,relevance:C,illegal:!1,_emitter:S,_top:x}}catch(n){ +if(n.message&&n.message.includes("Illegal"))return{language:e,value:J(t), +illegal:!0,relevance:0,_illegalBy:{message:n.message,index:T, +context:t.slice(T-100,T+100),mode:n.mode,resultSoFar:k},_emitter:S};if(s)return{ +language:e,value:J(t),illegal:!1,relevance:0,errorRaised:n,_emitter:S,_top:x} +;throw n}}function E(e,n){n=n||p.languages||Object.keys(a);const t=(e=>{ +const n={value:J(e),illegal:!1,relevance:0,_top:c,_emitter:new p.__emitter(p)} +;return n._emitter.addText(e),n})(e),i=n.filter(v).filter(k).map((n=>f(n,e,!1))) +;i.unshift(t);const r=i.sort(((e,n)=>{ +if(e.relevance!==n.relevance)return n.relevance-e.relevance +;if(e.language&&n.language){if(v(e.language).supersetOf===n.language)return 1 +;if(v(n.language).supersetOf===e.language)return-1}return 0})),[s,o]=r,l=s +;return l.secondBest=o,l}function y(e){let n=null;const t=(e=>{ +let n=e.className+" ";n+=e.parentNode?e.parentNode.className:"" +;const t=p.languageDetectRe.exec(n);if(t){const n=v(t[1]) +;return n||(q(o.replace("{}",t[1])), +q("Falling back to no-highlight mode for this block.",e)),n?t[1]:"no-highlight"} +return n.split(/\s+/).find((e=>_(e)||v(e)))})(e);if(_(t))return +;if(x("before:highlightElement",{el:e,language:t +}),e.children.length>0&&(p.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."), +console.warn("https://github.com/highlightjs/highlight.js/wiki/security"), +console.warn("The element with unescaped HTML:"), +console.warn(e)),p.throwUnescapedHTML))throw new V("One of your code blocks includes unescaped HTML.",e.innerHTML) +;n=e;const a=n.textContent,r=t?h(a,{language:t,ignoreIllegals:!0}):E(a) +;e.innerHTML=r.value,((e,n,t)=>{const a=n&&i[n]||t +;e.classList.add("hljs"),e.classList.add("language-"+a) +})(e,t,r.language),e.result={language:r.language,re:r.relevance, +relevance:r.relevance},r.secondBest&&(e.secondBest={ +language:r.secondBest.language,relevance:r.secondBest.relevance +}),x("after:highlightElement",{el:e,result:r,text:a})}let N=!1;function w(){ +"loading"!==document.readyState?document.querySelectorAll(p.cssSelector).forEach(y):N=!0 +}function v(e){return e=(e||"").toLowerCase(),a[e]||a[i[e]]} +function O(e,{languageName:n}){"string"==typeof e&&(e=[e]),e.forEach((e=>{ +i[e.toLowerCase()]=n}))}function k(e){const n=v(e) +;return n&&!n.disableAutodetect}function x(e,n){const t=e;r.forEach((e=>{ +e[t]&&e[t](n)}))} +"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",(()=>{ +N&&w()}),!1),Object.assign(t,{highlight:h,highlightAuto:E,highlightAll:w, +highlightElement:y, +highlightBlock:e=>(H("10.7.0","highlightBlock will be removed entirely in v12.0"), +H("10.7.0","Please use highlightElement now."),y(e)),configure:e=>{p=Y(p,e)}, +initHighlighting:()=>{ +w(),H("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")}, +initHighlightingOnLoad:()=>{ +w(),H("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.") +},registerLanguage:(e,n)=>{let i=null;try{i=n(t)}catch(n){ +if(K("Language definition for '{}' could not be registered.".replace("{}",e)), +!s)throw n;K(n),i=c} +i.name||(i.name=e),a[e]=i,i.rawDefinition=n.bind(null,t),i.aliases&&O(i.aliases,{ +languageName:e})},unregisterLanguage:e=>{delete a[e] +;for(const n of Object.keys(i))i[n]===e&&delete i[n]}, +listLanguages:()=>Object.keys(a),getLanguage:v,registerAliases:O, +autoDetection:k,inherit:Y,addPlugin:e=>{(e=>{ +e["before:highlightBlock"]&&!e["before:highlightElement"]&&(e["before:highlightElement"]=n=>{ +e["before:highlightBlock"](Object.assign({block:n.el},n)) +}),e["after:highlightBlock"]&&!e["after:highlightElement"]&&(e["after:highlightElement"]=n=>{ +e["after:highlightBlock"](Object.assign({block:n.el},n))})})(e),r.push(e)}, +removePlugin:e=>{const n=r.indexOf(e);-1!==n&&r.splice(n,1)}}),t.debugMode=()=>{ +s=!1},t.safeMode=()=>{s=!0},t.versionString="11.8.0",t.regex={concat:b, +lookahead:d,either:m,optional:u,anyNumberOfTimes:g} +;for(const n in C)"object"==typeof C[n]&&e(C[n]);return Object.assign(t,C),t +},te=ne({});te.newInstance=()=>ne({});var ae=te;const ie=e=>({IMPORTANT:{ +scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{ +scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/}, +FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/}, +ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$", +contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{ +scope:"number", +begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?", +relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z][A-Za-z0-9_-]*/} +}),re=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],se=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],oe=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],le=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],ce=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse(),de=oe.concat(le) +;var ge="[0-9](_*[0-9])*",ue=`\\.(${ge})`,be="[0-9a-fA-F](_*[0-9a-fA-F])*",me={ +className:"number",variants:[{ +begin:`(\\b(${ge})((${ue})|\\.)?|(${ue}))[eE][+-]?(${ge})[fFdD]?\\b`},{ +begin:`\\b(${ge})((${ue})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{ +begin:`(${ue})[fFdD]?\\b`},{begin:`\\b(${ge})[fFdD]\\b`},{ +begin:`\\b0[xX]((${be})\\.?|(${be})?\\.(${be}))[pP][+-]?(${ge})[fFdD]?\\b`},{ +begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${be})[lL]?\\b`},{ +begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}], +relevance:0};function pe(e,n,t){return-1===t?"":e.replace(n,(a=>pe(e,n,t-1)))} +const _e="[A-Za-z$_][0-9A-Za-z$_]*",he=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],fe=["true","false","null","undefined","NaN","Infinity"],Ee=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],ye=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],Ne=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],we=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],ve=[].concat(Ne,Ee,ye) +;function Oe(e){const n=e.regex,t=_e,a={begin:/<[A-Za-z0-9\\._:-]+/, +end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,n)=>{ +const t=e[0].length+e.index,a=e.input[t] +;if("<"===a||","===a)return void n.ignoreMatch();let i +;">"===a&&(((e,{after:n})=>{const t="",M={ +match:[/const|var|let/,/\s+/,t,/\s*/,/=\s*/,/(async\s*)?/,n.lookahead(x)], +keywords:"async",className:{1:"keyword",3:"title.function"},contains:[f]} +;return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:i,exports:{ +PARAMS_CONTAINS:h,CLASS_REFERENCE:y},illegal:/#(?![$_A-z])/, +contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),{ +label:"use_strict",className:"meta",relevance:10, +begin:/^\s*['"]use (strict|asm)['"]/ +},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,d,g,u,b,m,{match:/\$\d+/},l,y,{ +className:"attr",begin:t+n.lookahead(":"),relevance:0},M,{ +begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*", +keywords:"return throw case",relevance:0,contains:[m,e.REGEXP_MODE,{ +className:"function",begin:x,returnBegin:!0,end:"\\s*=>",contains:[{ +className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{ +className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0, +excludeEnd:!0,keywords:i,contains:h}]}]},{begin:/,/,relevance:0},{match:/\s+/, +relevance:0},{variants:[{begin:"<>",end:""},{ +match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:a.begin, +"on:begin":a.isTrulyOpeningTag,end:a.end}],subLanguage:"xml",contains:[{ +begin:a.begin,end:a.end,skip:!0,contains:["self"]}]}]},N,{ +beginKeywords:"while if switch catch for"},{ +begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{", +returnBegin:!0,label:"func.def",contains:[f,e.inherit(e.TITLE_MODE,{begin:t, +className:"title.function"})]},{match:/\.\.\./,relevance:0},O,{match:"\\$"+t, +relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"}, +contains:[f]},w,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/, +className:"variable.constant"},E,k,{match:/\$[(.]/}]}} +const ke=e=>b(/\b/,e,/\w$/.test(e)?/\b/:/\B/),xe=["Protocol","Type"].map(ke),Me=["init","self"].map(ke),Se=["Any","Self"],Ae=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","break","case","catch","class","continue","convenience","default","defer","deinit","didSet","distributed","do","dynamic","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],Ce=["false","nil","true"],Te=["assignment","associativity","higherThan","left","lowerThan","none","right"],Re=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warn_unqualified_access","#warning"],De=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],Ie=m(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),Le=m(Ie,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),Be=b(Ie,Le,"*"),$e=m(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),ze=m($e,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),Fe=b($e,ze,"*"),Ue=b(/[A-Z]/,ze,"*"),je=["autoclosure",b(/convention\(/,m("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",b(/objc\(/,Fe,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","testable","UIApplicationMain","unknown","usableFromInline"],Pe=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"] +;var Ke=Object.freeze({__proto__:null,grmr_bash:e=>{const n=e.regex,t={},a={ +begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[t]}]} +;Object.assign(t,{className:"variable",variants:[{ +begin:n.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},a]});const i={ +className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},r={ +begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/, +end:/(\w+)/,className:"string"})]}},s={className:"string",begin:/"/,end:/"/, +contains:[e.BACKSLASH_ESCAPE,t,i]};i.contains.push(s);const o={begin:/\$?\(\(/, +end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,t] +},l=e.SHEBANG({binary:"(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)",relevance:10 +}),c={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0, +contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{ +name:"Bash",aliases:["sh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/, +keyword:["if","then","else","elif","fi","for","while","until","in","do","done","case","esac","function","select"], +literal:["true","false"], +built_in:["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset","alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","type","typeset","ulimit","unalias","set","shopt","autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp","chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"] +},contains:[l,e.SHEBANG(),c,o,e.HASH_COMMENT_MODE,r,{match:/(\/[a-z._-]+)+/},s,{ +className:"",begin:/\\"/},{className:"string",begin:/'/,end:/'/},t]}}, +grmr_c:e=>{const n=e.regex,t=e.COMMENT("//","$",{contains:[{begin:/\\\n/}] +}),a="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",r="("+a+"|"+n.optional(i)+"[a-zA-Z_]\\w*"+n.optional("<[^<>]+>")+")",s={ +className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{ +match:/\batomic_[a-z]{3,6}\b/}]},o={className:"string",variants:[{ +begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{ +begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)", +end:"'",illegal:"."},e.END_SAME_AS_BEGIN({ +begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},l={ +className:"number",variants:[{begin:"\\b(0b[01']+)"},{ +begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)" +},{ +begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)" +}],relevance:0},c={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{ +keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include" +},contains:[{begin:/\\\n/,relevance:0},e.inherit(o,{className:"string"}),{ +className:"string",begin:/<.*?>/},t,e.C_BLOCK_COMMENT_MODE]},d={ +className:"title",begin:n.optional(i)+e.IDENT_RE,relevance:0 +},g=n.optional(i)+e.IDENT_RE+"\\s*\\(",u={ +keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"], +type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal128","const","static","complex","bool","imaginary"], +literal:"true false NULL", +built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr" +},b=[c,s,t,e.C_BLOCK_COMMENT_MODE,l,o],m={variants:[{begin:/=/,end:/;/},{ +begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}], +keywords:u,contains:b.concat([{begin:/\(/,end:/\)/,keywords:u, +contains:b.concat(["self"]),relevance:0}]),relevance:0},p={ +begin:"("+r+"[\\*&\\s]+)+"+g,returnBegin:!0,end:/[{;=]/,excludeEnd:!0, +keywords:u,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:a,keywords:u,relevance:0},{ +begin:g,returnBegin:!0,contains:[e.inherit(d,{className:"title.function"})], +relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/, +keywords:u,relevance:0,contains:[t,e.C_BLOCK_COMMENT_MODE,o,l,s,{begin:/\(/, +end:/\)/,keywords:u,relevance:0,contains:["self",t,e.C_BLOCK_COMMENT_MODE,o,l,s] +}]},s,t,e.C_BLOCK_COMMENT_MODE,c]};return{name:"C",aliases:["h"],keywords:u, +disableAutodetect:!0,illegal:"=]/,contains:[{ +beginKeywords:"final class struct"},e.TITLE_MODE]}]),exports:{preprocessor:c, +strings:o,keywords:u}}},grmr_cpp:e=>{const n=e.regex,t=e.COMMENT("//","$",{ +contains:[{begin:/\\\n/}] +}),a="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",r="(?!struct)("+a+"|"+n.optional(i)+"[a-zA-Z_]\\w*"+n.optional("<[^<>]+>")+")",s={ +className:"type",begin:"\\b[a-z\\d_]*_t\\b"},o={className:"string",variants:[{ +begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{ +begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)", +end:"'",illegal:"."},e.END_SAME_AS_BEGIN({ +begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},l={ +className:"number",variants:[{begin:"\\b(0b[01']+)"},{ +begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)" +},{ +begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)" +}],relevance:0},c={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{ +keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include" +},contains:[{begin:/\\\n/,relevance:0},e.inherit(o,{className:"string"}),{ +className:"string",begin:/<.*?>/},t,e.C_BLOCK_COMMENT_MODE]},d={ +className:"title",begin:n.optional(i)+e.IDENT_RE,relevance:0 +},g=n.optional(i)+e.IDENT_RE+"\\s*\\(",u={ +type:["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"], +keyword:["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"], +literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"], +_type_hints:["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"] +},b={className:"function.dispatch",relevance:0,keywords:{ +_hint:["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"] +}, +begin:n.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,n.lookahead(/(<[^<>]+>|)\s*\(/)) +},m=[b,c,s,t,e.C_BLOCK_COMMENT_MODE,l,o],p={variants:[{begin:/=/,end:/;/},{ +begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}], +keywords:u,contains:m.concat([{begin:/\(/,end:/\)/,keywords:u, +contains:m.concat(["self"]),relevance:0}]),relevance:0},_={className:"function", +begin:"("+r+"[\\*&\\s]+)+"+g,returnBegin:!0,end:/[{;=]/,excludeEnd:!0, +keywords:u,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:a,keywords:u,relevance:0},{ +begin:g,returnBegin:!0,contains:[d],relevance:0},{begin:/::/,relevance:0},{ +begin:/:/,endsWithParent:!0,contains:[o,l]},{relevance:0,match:/,/},{ +className:"params",begin:/\(/,end:/\)/,keywords:u,relevance:0, +contains:[t,e.C_BLOCK_COMMENT_MODE,o,l,s,{begin:/\(/,end:/\)/,keywords:u, +relevance:0,contains:["self",t,e.C_BLOCK_COMMENT_MODE,o,l,s]}] +},s,t,e.C_BLOCK_COMMENT_MODE,c]};return{name:"C++", +aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:u,illegal:"",keywords:u,contains:["self",s]},{begin:e.IDENT_RE+"::",keywords:u},{ +match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/], +className:{1:"keyword",3:"title.class"}}])}},grmr_csharp:e=>{const n={ +keyword:["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"].concat(["add","alias","and","ascending","async","await","by","descending","equals","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","remove","select","set","unmanaged","value|0","var","when","where","with","yield"]), +built_in:["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"], +literal:["default","false","null","true"]},t=e.inherit(e.TITLE_MODE,{ +begin:"[a-zA-Z](\\.?\\w)*"}),a={className:"number",variants:[{ +begin:"\\b(0b[01']+)"},{ +begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{ +begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)" +}],relevance:0},i={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}] +},r=e.inherit(i,{illegal:/\n/}),s={className:"subst",begin:/\{/,end:/\}/, +keywords:n},o=e.inherit(s,{illegal:/\n/}),l={className:"string",begin:/\$"/, +end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/ +},e.BACKSLASH_ESCAPE,o]},c={className:"string",begin:/\$@"/,end:'"',contains:[{ +begin:/\{\{/},{begin:/\}\}/},{begin:'""'},s]},d=e.inherit(c,{illegal:/\n/, +contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},o]}) +;s.contains=[c,l,i,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.C_BLOCK_COMMENT_MODE], +o.contains=[d,l,r,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.inherit(e.C_BLOCK_COMMENT_MODE,{ +illegal:/\n/})];const g={variants:[c,l,i,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE] +},u={begin:"<",end:">",contains:[{beginKeywords:"in out"},t] +},b=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",m={ +begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"], +keywords:n,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0, +contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{ +begin:"\x3c!--|--\x3e"},{begin:""}]}] +}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#", +end:"$",keywords:{ +keyword:"if else elif endif define undef warning error line region endregion pragma checksum" +}},g,a,{beginKeywords:"class interface",relevance:0,end:/[{;=]/, +illegal:/[^\s:,]/,contains:[{beginKeywords:"where class" +},t,u,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace", +relevance:0,end:/[{;=]/,illegal:/[^\s:]/, +contains:[t,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{ +beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/, +contains:[t,u,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta", +begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{ +className:"string",begin:/"/,end:/"/}]},{ +beginKeywords:"new return throw await else",relevance:0},{className:"function", +begin:"("+b+"\\s+)+"+e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0, +end:/\s*[{;=]/,excludeEnd:!0,keywords:n,contains:[{ +beginKeywords:"public private protected static internal protected abstract async extern override unsafe virtual new sealed partial", +relevance:0},{begin:e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0, +contains:[e.TITLE_MODE,u],relevance:0},{match:/\(\)/},{className:"params", +begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:n,relevance:0, +contains:[g,a,e.C_BLOCK_COMMENT_MODE] +},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},m]}},grmr_css:e=>{ +const n=e.regex,t=ie(e),a=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE];return{ +name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{ +keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"}, +contains:[t.BLOCK_COMMENT,{begin:/-(webkit|moz|ms|o)-(?=[a-z])/ +},t.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0 +},{className:"selector-class",begin:"\\.[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0 +},t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{ +begin:":("+oe.join("|")+")"},{begin:":(:)?("+le.join("|")+")"}] +},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+ce.join("|")+")\\b"},{ +begin:/:/,end:/[;}{]/, +contains:[t.BLOCK_COMMENT,t.HEXCOLOR,t.IMPORTANT,t.CSS_NUMBER_MODE,...a,{ +begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri" +},contains:[...a,{className:"string",begin:/[^)]/,endsWithParent:!0, +excludeEnd:!0}]},t.FUNCTION_DISPATCH]},{begin:n.lookahead(/@/),end:"[{;]", +relevance:0,illegal:/:/,contains:[{className:"keyword",begin:/@-?\w[\w]*(-\w+)*/ +},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{ +$pattern:/[a-z-]+/,keyword:"and or not only",attribute:se.join(" ")},contains:[{ +begin:/[a-z-]+(?=:)/,className:"attribute"},...a,t.CSS_NUMBER_MODE]}]},{ +className:"selector-tag",begin:"\\b("+re.join("|")+")\\b"}]}},grmr_diff:e=>{ +const n=e.regex;return{name:"Diff",aliases:["patch"],contains:[{ +className:"meta",relevance:10, +match:n.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/) +},{className:"comment",variants:[{ +begin:n.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/), +end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{ +className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/, +end:/$/}]}},grmr_go:e=>{const n={ +keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"], +type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"], +literal:["true","false","iota","nil"], +built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"] +};return{name:"Go",aliases:["golang"],keywords:n,illegal:"{const n=e.regex;return{name:"GraphQL",aliases:["gql"], +case_insensitive:!0,disableAutodetect:!1,keywords:{ +keyword:["query","mutation","subscription","type","input","schema","directive","interface","union","scalar","fragment","enum","on"], +literal:["true","false","null"]}, +contains:[e.HASH_COMMENT_MODE,e.QUOTE_STRING_MODE,e.NUMBER_MODE,{ +scope:"punctuation",match:/[.]{3}/,relevance:0},{scope:"punctuation", +begin:/[\!\(\)\:\=\[\]\{\|\}]{1}/,relevance:0},{scope:"variable",begin:/\$/, +end:/\W/,excludeEnd:!0,relevance:0},{scope:"meta",match:/@\w+/,excludeEnd:!0},{ +scope:"symbol",begin:n.concat(/[_A-Za-z][_0-9A-Za-z]*/,n.lookahead(/\s*:/)), +relevance:0}],illegal:[/[;<']/,/BEGIN/]}},grmr_ini:e=>{const n=e.regex,t={ +className:"number",relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{ +begin:e.NUMBER_RE}]},a=e.COMMENT();a.variants=[{begin:/;/,end:/$/},{begin:/#/, +end:/$/}];const i={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{ +begin:/\$\{(.*?)\}/}]},r={className:"literal", +begin:/\bon|off|true|false|yes|no\b/},s={className:"string", +contains:[e.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{ +begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}] +},o={begin:/\[/,end:/\]/,contains:[a,r,i,s,t,"self"],relevance:0 +},l=n.either(/[A-Za-z0-9_-]+/,/"(\\"|[^"])*"/,/'[^']*'/);return{ +name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/, +contains:[a,{className:"section",begin:/\[+/,end:/\]+/},{ +begin:n.concat(l,"(\\s*\\.\\s*",l,")*",n.lookahead(/\s*=\s*[^#\s]/)), +className:"attr",starts:{end:/$/,contains:[a,o,r,i,s,t]}}]}},grmr_java:e=>{ +const n=e.regex,t="[\xc0-\u02b8a-zA-Z_$][\xc0-\u02b8a-zA-Z_$0-9]*",a=t+pe("(?:<"+t+"~~~(?:\\s*,\\s*"+t+"~~~)*>)?",/~~~/g,2),i={ +keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits"], +literal:["false","true","null"], +type:["char","boolean","long","float","int","byte","short","double"], +built_in:["super","this"]},r={className:"meta",begin:"@"+t,contains:[{ +begin:/\(/,end:/\)/,contains:["self"]}]},s={className:"params",begin:/\(/, +end:/\)/,keywords:i,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0} +;return{name:"Java",aliases:["jsp"],keywords:i,illegal:/<\/|#/, +contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/, +relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{ +begin:/import java\.[a-z]+\./,keywords:"import",relevance:2 +},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/, +className:"string",contains:[e.BACKSLASH_ESCAPE] +},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{ +match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,t],className:{ +1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{ +begin:[n.concat(/(?!else)/,t),/\s+/,t,/\s+/,/=(?!=)/],className:{1:"type", +3:"variable",5:"operator"}},{begin:[/record/,/\s+/,t],className:{1:"keyword", +3:"title.class"},contains:[s,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{ +beginKeywords:"new throw return else",relevance:0},{ +begin:["(?:"+a+"\\s+)",e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{ +2:"title.function"},keywords:i,contains:[{className:"params",begin:/\(/, +end:/\)/,keywords:i,relevance:0, +contains:[r,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,me,e.C_BLOCK_COMMENT_MODE] +},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},me,r]}},grmr_javascript:Oe, +grmr_json:e=>{const n=["true","false","null"],t={scope:"literal", +beginKeywords:n.join(" ")};return{name:"JSON",keywords:{literal:n},contains:[{ +className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},{ +match:/[{}[\],:]/,className:"punctuation",relevance:0 +},e.QUOTE_STRING_MODE,t,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE], +illegal:"\\S"}},grmr_kotlin:e=>{const n={ +keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual", +built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing", +literal:"true false null"},t={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@" +},a={className:"subst",begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},i={ +className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},r={className:"string", +variants:[{begin:'"""',end:'"""(?=[^"])',contains:[i,a]},{begin:"'",end:"'", +illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/, +contains:[e.BACKSLASH_ESCAPE,i,a]}]};a.contains.push(r);const s={ +className:"meta", +begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?" +},o={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/, +end:/\)/,contains:[e.inherit(r,{className:"string"}),"self"]}] +},l=me,c=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),d={ +variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/, +contains:[]}]},g=d;return g.variants[1].contains=[d],d.variants[1].contains=[g], +{name:"Kotlin",aliases:["kt","kts"],keywords:n, +contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag", +begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,c,{className:"keyword", +begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol", +begin:/@\w+/}]}},t,s,o,{className:"function",beginKeywords:"fun",end:"[(]|$", +returnBegin:!0,excludeEnd:!0,keywords:n,relevance:5,contains:[{ +begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0, +contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin://, +keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/, +endsParent:!0,keywords:n,relevance:0,contains:[{begin:/:/,end:/[=,\/]/, +endsWithParent:!0,contains:[d,e.C_LINE_COMMENT_MODE,c],relevance:0 +},e.C_LINE_COMMENT_MODE,c,s,o,r,e.C_NUMBER_MODE]},c]},{ +begin:[/class|interface|trait/,/\s+/,e.UNDERSCORE_IDENT_RE],beginScope:{ +3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0, +illegal:"extends implements",contains:[{ +beginKeywords:"public protected internal private constructor" +},e.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0, +excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/, +excludeBegin:!0,returnEnd:!0},s,o]},r,{className:"meta",begin:"^#!/usr/bin/env", +end:"$",illegal:"\n"},l]}},grmr_less:e=>{ +const n=ie(e),t=de,a="[\\w-]+",i="("+a+"|@\\{"+a+"\\})",r=[],s=[],o=e=>({ +className:"string",begin:"~?"+e+".*?"+e}),l=(e,n,t)=>({className:e,begin:n, +relevance:t}),c={$pattern:/[a-z-]+/,keyword:"and or not only", +attribute:se.join(" ")},d={begin:"\\(",end:"\\)",contains:s,keywords:c, +relevance:0} +;s.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,o("'"),o('"'),n.CSS_NUMBER_MODE,{ +begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]", +excludeEnd:!0} +},n.HEXCOLOR,d,l("variable","@@?"+a,10),l("variable","@\\{"+a+"\\}"),l("built_in","~?`[^`]*?`"),{ +className:"attribute",begin:a+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0 +},n.IMPORTANT,{beginKeywords:"and not"},n.FUNCTION_DISPATCH);const g=s.concat({ +begin:/\{/,end:/\}/,contains:r}),u={beginKeywords:"when",endsWithParent:!0, +contains:[{beginKeywords:"and not"}].concat(s)},b={begin:i+"\\s*:", +returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/ +},n.CSS_VARIABLE,{className:"attribute",begin:"\\b("+ce.join("|")+")\\b", +end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:s}}] +},m={className:"keyword", +begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b", +starts:{end:"[;{}]",keywords:c,returnEnd:!0,contains:s,relevance:0}},p={ +className:"variable",variants:[{begin:"@"+a+"\\s*:",relevance:15},{begin:"@"+a +}],starts:{end:"[;}]",returnEnd:!0,contains:g}},_={variants:[{ +begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:i,end:/\{/}],returnBegin:!0, +returnEnd:!0,illegal:"[<='$\"]",relevance:0, +contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,u,l("keyword","all\\b"),l("variable","@\\{"+a+"\\}"),{ +begin:"\\b("+re.join("|")+")\\b",className:"selector-tag" +},n.CSS_NUMBER_MODE,l("selector-tag",i,0),l("selector-id","#"+i),l("selector-class","\\."+i,0),l("selector-tag","&",0),n.ATTRIBUTE_SELECTOR_MODE,{ +className:"selector-pseudo",begin:":("+oe.join("|")+")"},{ +className:"selector-pseudo",begin:":(:)?("+le.join("|")+")"},{begin:/\(/, +end:/\)/,relevance:0,contains:g},{begin:"!important"},n.FUNCTION_DISPATCH]},h={ +begin:a+":(:)?"+`(${t.join("|")})`,returnBegin:!0,contains:[_]} +;return r.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,m,p,h,b,_,u,n.FUNCTION_DISPATCH), +{name:"Less",case_insensitive:!0,illegal:"[=>'/<($\"]",contains:r}}, +grmr_lua:e=>{const n="\\[=*\\[",t="\\]=*\\]",a={begin:n,end:t,contains:["self"] +},i=[e.COMMENT("--(?!"+n+")","$"),e.COMMENT("--"+n,t,{contains:[a],relevance:10 +})];return{name:"Lua",keywords:{$pattern:e.UNDERSCORE_IDENT_RE, +literal:"true false nil", +keyword:"and break do else elseif end for goto if in local not or repeat return then until while", +built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove" +},contains:i.concat([{className:"function",beginKeywords:"function",end:"\\)", +contains:[e.inherit(e.TITLE_MODE,{ +begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params", +begin:"\\(",endsWithParent:!0,contains:i}].concat(i) +},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string", +begin:n,end:t,contains:[a],relevance:5}])}},grmr_makefile:e=>{const n={ +className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)", +contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%{ +const n=e.regex,t=n.concat(/[\p{L}_]/u,n.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),a={ +className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},i={begin:/\s/, +contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}] +},r=e.inherit(i,{begin:/\(/,end:/\)/}),s=e.inherit(e.APOS_STRING_MODE,{ +className:"string"}),o=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),l={ +endsWithParent:!0,illegal:/`]+/}]}]}]};return{ +name:"HTML, XML", +aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"], +case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin://,relevance:10,contains:[i,o,s,r,{begin:/\[/,end:/\]/,contains:[{ +className:"meta",begin://,contains:[i,r,o,s]}]}] +},e.COMMENT(//,{relevance:10}),{begin://, +relevance:10},a,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/, +relevance:10,contains:[o]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag", +begin:/)/,end:/>/,keywords:{name:"style"},contains:[l],starts:{ +end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag", +begin:/)/,end:/>/,keywords:{name:"script"},contains:[l],starts:{ +end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{ +className:"tag",begin:/<>|<\/>/},{className:"tag", +begin:n.concat(//,/>/,/\s/)))), +end:/\/?>/,contains:[{className:"name",begin:t,relevance:0,starts:l}]},{ +className:"tag",begin:n.concat(/<\//,n.lookahead(n.concat(t,/>/))),contains:[{ +className:"name",begin:t,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]} +},grmr_markdown:e=>{const n={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml", +relevance:0},t={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{ +begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/, +relevance:2},{ +begin:e.regex.concat(/\[.+?\]\(/,/[A-Za-z][A-Za-z0-9+.-]*/,/:\/\/.*?\)/), +relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{ +begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/ +},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0, +returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)", +excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[", +end:"\\]",excludeBegin:!0,excludeEnd:!0}]},a={className:"strong",contains:[], +variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}] +},i={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{ +begin:/_(?![_\s])/,end:/_/,relevance:0}]},r=e.inherit(a,{contains:[] +}),s=e.inherit(i,{contains:[]});a.contains.push(s),i.contains.push(r) +;let o=[n,t];return[a,i,r,s].forEach((e=>{e.contains=e.contains.concat(o) +})),o=o.concat(a,i),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{ +className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:o},{ +begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n", +contains:o}]}]},n,{className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)", +end:"\\s+",excludeEnd:!0},a,i,{className:"quote",begin:"^>\\s+",contains:o, +end:"$"},{className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{ +begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{ +begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))", +contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},{ +begin:"^[-\\*]{3,}",end:"$"},t,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{ +className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{ +className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]}]}},grmr_objectivec:e=>{ +const n=/[a-zA-Z@][a-zA-Z0-9_]*/,t={$pattern:n, +keyword:["@interface","@class","@protocol","@implementation"]};return{ +name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"], +keywords:{"variable.language":["this","super"],$pattern:n, +keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"], +literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"], +built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"], +type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"] +},illegal:"/,end:/$/,illegal:"\\n" +},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class", +begin:"("+t.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:t, +contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE, +relevance:0}]}},grmr_perl:e=>{const n=e.regex,t=/[dualxmsipngr]{0,12}/,a={ +$pattern:/[\w.]+/, +keyword:"abs accept alarm and atan2 bind binmode bless break caller chdir chmod chomp chop chown chr chroot close closedir connect continue cos crypt dbmclose dbmopen defined delete die do dump each else elsif endgrent endhostent endnetent endprotoent endpwent endservent eof eval exec exists exit exp fcntl fileno flock for foreach fork format formline getc getgrent getgrgid getgrnam gethostbyaddr gethostbyname gethostent getlogin getnetbyaddr getnetbyname getnetent getpeername getpgrp getpriority getprotobyname getprotobynumber getprotoent getpwent getpwnam getpwuid getservbyname getservbyport getservent getsockname getsockopt given glob gmtime goto grep gt hex if index int ioctl join keys kill last lc lcfirst length link listen local localtime log lstat lt ma map mkdir msgctl msgget msgrcv msgsnd my ne next no not oct open opendir or ord our pack package pipe pop pos print printf prototype push q|0 qq quotemeta qw qx rand read readdir readline readlink readpipe recv redo ref rename require reset return reverse rewinddir rindex rmdir say scalar seek seekdir select semctl semget semop send setgrent sethostent setnetent setpgrp setpriority setprotoent setpwent setservent setsockopt shift shmctl shmget shmread shmwrite shutdown sin sleep socket socketpair sort splice split sprintf sqrt srand stat state study sub substr symlink syscall sysopen sysread sysseek system syswrite tell telldir tie tied time times tr truncate uc ucfirst umask undef unless unlink unpack unshift untie until use utime values vec wait waitpid wantarray warn when while write x|0 xor y|0" +},i={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:a},r={begin:/->\{/, +end:/\}/},s={variants:[{begin:/\$\d/},{ +begin:n.concat(/[$%@](\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])") +},{begin:/[$%@][^\s\w{]/,relevance:0}] +},o=[e.BACKSLASH_ESCAPE,i,s],l=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],c=(e,a,i="\\1")=>{ +const r="\\1"===i?i:n.concat(i,a) +;return n.concat(n.concat("(?:",e,")"),a,/(?:\\.|[^\\\/])*?/,r,/(?:\\.|[^\\\/])*?/,i,t) +},d=(e,a,i)=>n.concat(n.concat("(?:",e,")"),a,/(?:\\.|[^\\\/])*?/,i,t),g=[s,e.HASH_COMMENT_MODE,e.COMMENT(/^=\w/,/=cut/,{ +endsWithParent:!0}),r,{className:"string",contains:o,variants:[{ +begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[", +end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{ +begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">", +relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'", +contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`", +contains:[e.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{ +begin:"-?\\w+\\s*=>",relevance:0}]},{className:"number", +begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b", +relevance:0},{ +begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*", +keywords:"split return print reverse grep",relevance:0, +contains:[e.HASH_COMMENT_MODE,{className:"regexp",variants:[{ +begin:c("s|tr|y",n.either(...l,{capture:!0}))},{begin:c("s|tr|y","\\(","\\)")},{ +begin:c("s|tr|y","\\[","\\]")},{begin:c("s|tr|y","\\{","\\}")}],relevance:2},{ +className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{ +begin:d("(?:m|qr)?",/\//,/\//)},{begin:d("m|qr",n.either(...l,{capture:!0 +}),/\1/)},{begin:d("m|qr",/\(/,/\)/)},{begin:d("m|qr",/\[/,/\]/)},{ +begin:d("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub", +end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE]},{ +begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$", +subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}] +}];return i.contains=g,r.contains=g,{name:"Perl",aliases:["pl","pm"],keywords:a, +contains:g}},grmr_php:e=>{ +const n=e.regex,t=/(?![A-Za-z0-9])(?![$])/,a=n.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,t),i=n.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,t),r={ +scope:"variable",match:"\\$+"+a},s={scope:"subst",variants:[{begin:/\$\w+/},{ +begin:/\{\$/,end:/\}/}]},o=e.inherit(e.APOS_STRING_MODE,{illegal:null +}),l="[ \t\n]",c={scope:"string",variants:[e.inherit(e.QUOTE_STRING_MODE,{ +illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(s)}),o,{ +begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/, +contains:e.QUOTE_STRING_MODE.contains.concat(s),"on:begin":(e,n)=>{ +n.data._beginMatch=e[1]||e[2]},"on:end":(e,n)=>{ +n.data._beginMatch!==e[1]&&n.ignoreMatch()}},e.END_SAME_AS_BEGIN({ +begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/})]},d={scope:"number",variants:[{ +begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{ +begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{ +begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?" +}],relevance:0 +},g=["false","null","true"],u=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],b=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],m={ +keyword:u,literal:(e=>{const n=[];return e.forEach((e=>{ +n.push(e),e.toLowerCase()===e?n.push(e.toUpperCase()):n.push(e.toLowerCase()) +})),n})(g),built_in:b},p=e=>e.map((e=>e.replace(/\|\d+$/,""))),_={variants:[{ +match:[/new/,n.concat(l,"+"),n.concat("(?!",p(b).join("\\b|"),"\\b)"),i],scope:{ +1:"keyword",4:"title.class"}}]},h=n.concat(a,"\\b(?!\\()"),f={variants:[{ +match:[n.concat(/::/,n.lookahead(/(?!class\b)/)),h],scope:{2:"variable.constant" +}},{match:[/::/,/class/],scope:{2:"variable.language"}},{ +match:[i,n.concat(/::/,n.lookahead(/(?!class\b)/)),h],scope:{1:"title.class", +3:"variable.constant"}},{match:[i,n.concat("::",n.lookahead(/(?!class\b)/))], +scope:{1:"title.class"}},{match:[i,/::/,/class/],scope:{1:"title.class", +3:"variable.language"}}]},E={scope:"attr", +match:n.concat(a,n.lookahead(":"),n.lookahead(/(?!::)/))},y={relevance:0, +begin:/\(/,end:/\)/,keywords:m,contains:[E,r,f,e.C_BLOCK_COMMENT_MODE,c,d,_] +},N={relevance:0, +match:[/\b/,n.concat("(?!fn\\b|function\\b|",p(u).join("\\b|"),"|",p(b).join("\\b|"),"\\b)"),a,n.concat(l,"*"),n.lookahead(/(?=\()/)], +scope:{3:"title.function.invoke"},contains:[y]};y.contains.push(N) +;const w=[E,f,e.C_BLOCK_COMMENT_MODE,c,d,_];return{case_insensitive:!1, +keywords:m,contains:[{begin:n.concat(/#\[\s*/,i),beginScope:"meta",end:/]/, +endScope:"meta",keywords:{literal:g,keyword:["new","array"]},contains:[{ +begin:/\[/,end:/]/,keywords:{literal:g,keyword:["new","array"]}, +contains:["self",...w]},...w,{scope:"meta",match:i}] +},e.HASH_COMMENT_MODE,e.COMMENT("//","$"),e.COMMENT("/\\*","\\*/",{contains:[{ +scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/, +keywords:"__halt_compiler",starts:{scope:"comment",end:e.MATCH_NOTHING_RE, +contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},{scope:"meta",variants:[{ +begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{ +begin:/\?>/}]},{scope:"variable.language",match:/\$this\b/},r,N,f,{ +match:[/const/,/\s/,a],scope:{1:"keyword",3:"variable.constant"}},_,{ +scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/, +excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use" +},e.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params", +begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:m, +contains:["self",r,f,e.C_BLOCK_COMMENT_MODE,c,d]}]},{scope:"class",variants:[{ +beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait", +illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{ +beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{ +beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/, +contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{ +beginKeywords:"use",relevance:0,end:";",contains:[{ +match:/\b(as|const|function)\b/,scope:"keyword"},e.UNDERSCORE_TITLE_MODE]},c,d]} +},grmr_php_template:e=>({name:"PHP template",subLanguage:"xml",contains:[{ +begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*", +end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0 +},e.inherit(e.APOS_STRING_MODE,{illegal:null,className:null,contains:null, +skip:!0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null,className:null, +contains:null,skip:!0})]}]}),grmr_plaintext:e=>({name:"Plain text", +aliases:["text","txt"],disableAutodetect:!0}),grmr_python:e=>{ +const n=e.regex,t=/[\p{XID_Start}_]\p{XID_Continue}*/u,a=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],i={ +$pattern:/[A-Za-z]\w+|__\w+__/,keyword:a, +built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"], +literal:["__debug__","Ellipsis","False","None","NotImplemented","True"], +type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"] +},r={className:"meta",begin:/^(>>>|\.\.\.) /},s={className:"subst",begin:/\{/, +end:/\}/,keywords:i,illegal:/#/},o={begin:/\{\{/,relevance:0},l={ +className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{ +begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/, +contains:[e.BACKSLASH_ESCAPE,r],relevance:10},{ +begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/, +contains:[e.BACKSLASH_ESCAPE,r],relevance:10},{ +begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/, +contains:[e.BACKSLASH_ESCAPE,r,o,s]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/, +end:/"""/,contains:[e.BACKSLASH_ESCAPE,r,o,s]},{begin:/([uU]|[rR])'/,end:/'/, +relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{ +begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/, +end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/, +contains:[e.BACKSLASH_ESCAPE,o,s]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/, +contains:[e.BACKSLASH_ESCAPE,o,s]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE] +},c="[0-9](_?[0-9])*",d=`(\\b(${c}))?\\.(${c})|\\b(${c})\\.`,g="\\b|"+a.join("|"),u={ +className:"number",relevance:0,variants:[{ +begin:`(\\b(${c})|(${d}))[eE][+-]?(${c})[jJ]?(?=${g})`},{begin:`(${d})[jJ]?`},{ +begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${g})`},{ +begin:`\\b0[bB](_?[01])+[lL]?(?=${g})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${g})` +},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${g})`},{begin:`\\b(${c})[jJ](?=${g})` +}]},b={className:"comment",begin:n.lookahead(/# type:/),end:/$/,keywords:i, +contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},m={ +className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/, +end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i, +contains:["self",r,u,l,e.HASH_COMMENT_MODE]}]};return s.contains=[l,u,r],{ +name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:i, +illegal:/(<\/|\?)|=>/,contains:[r,u,{begin:/\bself\b/},{beginKeywords:"if", +relevance:0},l,b,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,t],scope:{ +1:"keyword",3:"title.function"},contains:[m]},{variants:[{ +match:[/\bclass/,/\s+/,t,/\s*/,/\(\s*/,t,/\s*\)/]},{match:[/\bclass/,/\s+/,t]}], +scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{ +className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[u,m,l]}]}}, +grmr_python_repl:e=>({aliases:["pycon"],contains:[{className:"meta.prompt", +starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{ +begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}),grmr_r:e=>{ +const n=e.regex,t=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,a=n.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),i=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,r=n.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/) +;return{name:"R",keywords:{$pattern:t, +keyword:"function if in break next repeat else for while", +literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10", +built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm" +},contains:[e.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/, +starts:{end:n.lookahead(n.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)), +endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{ +scope:"variable",variants:[{match:t},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0 +}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}] +}),e.HASH_COMMENT_MODE,{scope:"string",contains:[e.BACKSLASH_ESCAPE], +variants:[e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/ +}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/ +}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/ +}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/ +}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/ +}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"', +relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{ +1:"operator",2:"number"},match:[i,a]},{scope:{1:"operator",2:"number"}, +match:[/%[^%]*%/,a]},{scope:{1:"punctuation",2:"number"},match:[r,a]},{scope:{ +2:"number"},match:[/[^a-zA-Z0-9._]|^/,a]}]},{scope:{3:"operator"}, +match:[t,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:i},{ +match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:r},{begin:"`",end:"`", +contains:[{begin:/\\./}]}]}},grmr_ruby:e=>{ +const n=e.regex,t="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",a=n.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),i=n.concat(a,/(::\w+)*/),r={ +"variable.constant":["__FILE__","__LINE__","__ENCODING__"], +"variable.language":["self","super"], +keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield","include","extend","prepend","public","private","protected","raise","throw"], +built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"], +literal:["true","false","nil"]},s={className:"doctag",begin:"@[A-Za-z]+"},o={ +begin:"#<",end:">"},l=[e.COMMENT("#","$",{contains:[s] +}),e.COMMENT("^=begin","^=end",{contains:[s],relevance:10 +}),e.COMMENT("^__END__",e.MATCH_NOTHING_RE)],c={className:"subst",begin:/#\{/, +end:/\}/,keywords:r},d={className:"string",contains:[e.BACKSLASH_ESCAPE,c], +variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{ +begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{ +begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?/},{begin:/%[qQwWx]?\//, +end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{ +begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{ +begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{ +begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{ +begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{ +begin:n.concat(/<<[-~]?'?/,n.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)), +contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/, +contains:[e.BACKSLASH_ESCAPE,c]})]}]},g="[0-9](_?[0-9])*",u={className:"number", +relevance:0,variants:[{ +begin:`\\b([1-9](_?[0-9])*|0)(\\.(${g}))?([eE][+-]?(${g})|r)?i?\\b`},{ +begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b" +},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{ +begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{ +begin:"\\b0(_?[0-7])+r?i?\\b"}]},b={variants:[{match:/\(\)/},{ +className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0, +keywords:r}]},m=[d,{variants:[{match:[/class\s+/,i,/\s+<\s+/,i]},{ +match:[/\b(class|module)\s+/,i]}],scope:{2:"title.class", +4:"title.class.inherited"},keywords:r},{match:[/(include|extend)\s+/,i],scope:{ +2:"title.class"},keywords:r},{relevance:0,match:[i,/\.new[. (]/],scope:{ +1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/, +className:"variable.constant"},{relevance:0,match:a,scope:"title.class"},{ +match:[/def/,/\s+/,t],scope:{1:"keyword",3:"title.function"},contains:[b]},{ +begin:e.IDENT_RE+"::"},{className:"symbol", +begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol", +begin:":(?!\\s)",contains:[d,{begin:t}],relevance:0},u,{className:"variable", +begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{ +className:"params",begin:/\|/,end:/\|/,excludeBegin:!0,excludeEnd:!0, +relevance:0,keywords:r},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*", +keywords:"unless",contains:[{className:"regexp",contains:[e.BACKSLASH_ESCAPE,c], +illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{ +begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[", +end:"\\][a-z]*"}]}].concat(o,l),relevance:0}].concat(o,l) +;c.contains=m,b.contains=m;const p=[{begin:/^\s*=>/,starts:{end:"$",contains:m} +},{className:"meta.prompt", +begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])", +starts:{end:"$",keywords:r,contains:m}}];return l.unshift(o),{name:"Ruby", +aliases:["rb","gemspec","podspec","thor","irb"],keywords:r,illegal:/\/\*/, +contains:[e.SHEBANG({binary:"ruby"})].concat(p).concat(l).concat(m)}}, +grmr_rust:e=>{const n=e.regex,t={className:"title.function.invoke",relevance:0, +begin:n.concat(/\b/,/(?!let\b)/,e.IDENT_RE,n.lookahead(/\s*\(/)) +},a="([ui](8|16|32|64|128|size)|f(32|64))?",i=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],r=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"] +;return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?",type:r, +keyword:["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","unsafe","unsized","use","virtual","where","while","yield"], +literal:["true","false","Some","None","Ok","Err"],built_in:i},illegal:""},t]}}, +grmr_scss:e=>{const n=ie(e),t=le,a=oe,i="@[a-z-]+",r={className:"variable", +begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b",relevance:0};return{name:"SCSS", +case_insensitive:!0,illegal:"[=/|']", +contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,n.CSS_NUMBER_MODE,{ +className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{ +className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0 +},n.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag", +begin:"\\b("+re.join("|")+")\\b",relevance:0},{className:"selector-pseudo", +begin:":("+a.join("|")+")"},{className:"selector-pseudo", +begin:":(:)?("+t.join("|")+")"},r,{begin:/\(/,end:/\)/, +contains:[n.CSS_NUMBER_MODE]},n.CSS_VARIABLE,{className:"attribute", +begin:"\\b("+ce.join("|")+")\\b"},{ +begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b" +},{begin:/:/,end:/[;}{]/,relevance:0, +contains:[n.BLOCK_COMMENT,r,n.HEXCOLOR,n.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,n.IMPORTANT,n.FUNCTION_DISPATCH] +},{begin:"@(page|font-face)",keywords:{$pattern:i,keyword:"@page @font-face"}},{ +begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/, +keyword:"and or not only",attribute:se.join(" ")},contains:[{begin:i, +className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute" +},r,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,n.HEXCOLOR,n.CSS_NUMBER_MODE] +},n.FUNCTION_DISPATCH]}},grmr_shell:e=>({name:"Shell Session", +aliases:["console","shellsession"],contains:[{className:"meta.prompt", +begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/, +subLanguage:"bash"}}]}),grmr_sql:e=>{ +const n=e.regex,t=e.COMMENT("--","$"),a=["true","false","unknown"],i=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],r=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],s=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],o=r,l=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year","add","asc","collation","desc","final","first","last","view"].filter((e=>!r.includes(e))),c={ +begin:n.concat(/\b/,n.either(...o),/\s*\(/),relevance:0,keywords:{built_in:o}} +;return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{ +$pattern:/\b[\w\.]+/,keyword:((e,{exceptions:n,when:t}={})=>{const a=t +;return n=n||[],e.map((e=>e.match(/\|\d+$/)||n.includes(e)?e:a(e)?e+"|0":e)) +})(l,{when:e=>e.length<3}),literal:a,type:i, +built_in:["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"] +},contains:[{begin:n.either(...s),relevance:0,keywords:{$pattern:/[\w\.]+/, +keyword:l.concat(s),literal:a,type:i}},{className:"type", +begin:n.either("double precision","large object","with timezone","without timezone") +},c,{className:"variable",begin:/@[a-z0-9][a-z0-9_]*/},{className:"string", +variants:[{begin:/'/,end:/'/,contains:[{begin:/''/}]}]},{begin:/"/,end:/"/, +contains:[{begin:/""/}]},e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,t,{ +className:"operator",begin:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/, +relevance:0}]}},grmr_swift:e=>{const n={match:/\s+/,relevance:0 +},t=e.COMMENT("/\\*","\\*/",{contains:["self"]}),a=[e.C_LINE_COMMENT_MODE,t],i={ +match:[/\./,m(...xe,...Me)],className:{2:"keyword"}},r={match:b(/\./,m(...Ae)), +relevance:0},s=Ae.filter((e=>"string"==typeof e)).concat(["_|0"]),o={variants:[{ +className:"keyword", +match:m(...Ae.filter((e=>"string"!=typeof e)).concat(Se).map(ke),...Me)}]},l={ +$pattern:m(/\b\w+/,/#\w+/),keyword:s.concat(Re),literal:Ce},c=[i,r,o],g=[{ +match:b(/\./,m(...De)),relevance:0},{className:"built_in", +match:b(/\b/,m(...De),/(?=\()/)}],u={match:/->/,relevance:0},p=[u,{ +className:"operator",relevance:0,variants:[{match:Be},{match:`\\.(\\.|${Le})+`}] +}],_="([0-9]_*)+",h="([0-9a-fA-F]_*)+",f={className:"number",relevance:0, +variants:[{match:`\\b(${_})(\\.(${_}))?([eE][+-]?(${_}))?\\b`},{ +match:`\\b0x(${h})(\\.(${h}))?([pP][+-]?(${_}))?\\b`},{match:/\b0o([0-7]_*)+\b/ +},{match:/\b0b([01]_*)+\b/}]},E=(e="")=>({className:"subst",variants:[{ +match:b(/\\/,e,/[0\\tnr"']/)},{match:b(/\\/,e,/u\{[0-9a-fA-F]{1,8}\}/)}] +}),y=(e="")=>({className:"subst",match:b(/\\/,e,/[\t ]*(?:[\r\n]|\r\n)/) +}),N=(e="")=>({className:"subst",label:"interpol",begin:b(/\\/,e,/\(/),end:/\)/ +}),w=(e="")=>({begin:b(e,/"""/),end:b(/"""/,e),contains:[E(e),y(e),N(e)] +}),v=(e="")=>({begin:b(e,/"/),end:b(/"/,e),contains:[E(e),N(e)]}),O={ +className:"string", +variants:[w(),w("#"),w("##"),w("###"),v(),v("#"),v("##"),v("###")]},k={ +match:b(/`/,Fe,/`/)},x=[k,{className:"variable",match:/\$\d+/},{ +className:"variable",match:`\\$${ze}+`}],M=[{match:/(@|#(un)?)available/, +className:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:Pe, +contains:[...p,f,O]}]}},{className:"keyword",match:b(/@/,m(...je))},{ +className:"meta",match:b(/@/,Fe)}],S={match:d(/\b[A-Z]/),relevance:0,contains:[{ +className:"type", +match:b(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,ze,"+") +},{className:"type",match:Ue,relevance:0},{match:/[?!]+/,relevance:0},{ +match:/\.\.\./,relevance:0},{match:b(/\s+&\s+/,d(Ue)),relevance:0}]},A={ +begin://,keywords:l,contains:[...a,...c,...M,u,S]};S.contains.push(A) +;const C={begin:/\(/,end:/\)/,relevance:0,keywords:l,contains:["self",{ +match:b(Fe,/\s*:/),keywords:"_|0",relevance:0 +},...a,...c,...g,...p,f,O,...x,...M,S]},T={begin://,contains:[...a,S] +},R={begin:/\(/,end:/\)/,keywords:l,contains:[{ +begin:m(d(b(Fe,/\s*:/)),d(b(Fe,/\s+/,Fe,/\s*:/))),end:/:/,relevance:0, +contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:Fe}] +},...a,...c,...p,f,O,...M,S,C],endsParent:!0,illegal:/["']/},D={ +match:[/func/,/\s+/,m(k.match,Fe,Be)],className:{1:"keyword",3:"title.function" +},contains:[T,R,n],illegal:[/\[/,/%/]},I={ +match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"}, +contains:[T,R,n],illegal:/\[|%/},L={match:[/operator/,/\s+/,Be],className:{ +1:"keyword",3:"title"}},B={begin:[/precedencegroup/,/\s+/,Ue],className:{ +1:"keyword",3:"title"},contains:[S],keywords:[...Te,...Ce],end:/}/} +;for(const e of O.variants){const n=e.contains.find((e=>"interpol"===e.label)) +;n.keywords=l;const t=[...c,...g,...p,f,O,...x];n.contains=[...t,{begin:/\(/, +end:/\)/,contains:["self",...t]}]}return{name:"Swift",keywords:l, +contains:[...a,D,I,{beginKeywords:"struct protocol class extension enum actor", +end:"\\{",excludeEnd:!0,keywords:l,contains:[e.inherit(e.TITLE_MODE,{ +className:"title.class",begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/}),...c] +},L,B,{beginKeywords:"import",end:/$/,contains:[...a],relevance:0 +},...c,...g,...p,f,O,...x,...M,S,C]}},grmr_typescript:e=>{ +const n=Oe(e),t=_e,a=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],i={ +beginKeywords:"namespace",end:/\{/,excludeEnd:!0, +contains:[n.exports.CLASS_REFERENCE]},r={beginKeywords:"interface",end:/\{/, +excludeEnd:!0,keywords:{keyword:"interface extends",built_in:a}, +contains:[n.exports.CLASS_REFERENCE]},s={$pattern:_e, +keyword:he.concat(["type","namespace","interface","public","private","protected","implements","declare","abstract","readonly","enum","override"]), +literal:fe,built_in:ve.concat(a),"variable.language":we},o={className:"meta", +begin:"@"+t},l=(e,n,t)=>{const a=e.contains.findIndex((e=>e.label===n)) +;if(-1===a)throw Error("can not find mode to replace");e.contains.splice(a,1,t)} +;return Object.assign(n.keywords,s), +n.exports.PARAMS_CONTAINS.push(o),n.contains=n.contains.concat([o,i,r]), +l(n,"shebang",e.SHEBANG()),l(n,"use_strict",{className:"meta",relevance:10, +begin:/^\s*['"]use strict['"]/ +}),n.contains.find((e=>"func.def"===e.label)).relevance=0,Object.assign(n,{ +name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),n},grmr_vbnet:e=>{ +const n=e.regex,t=/\d{1,2}\/\d{1,2}\/\d{4}/,a=/\d{4}-\d{1,2}-\d{1,2}/,i=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,r=/\d{1,2}(:\d{1,2}){1,2}/,s={ +className:"literal",variants:[{begin:n.concat(/# */,n.either(a,t),/ *#/)},{ +begin:n.concat(/# */,r,/ *#/)},{begin:n.concat(/# */,i,/ *#/)},{ +begin:n.concat(/# */,n.either(a,t),/ +/,n.either(i,r),/ *#/)}] +},o=e.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}] +}),l=e.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]}) +;return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0, +classNameAliases:{label:"symbol"},keywords:{ +keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield", +built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort", +type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort", +literal:"true false nothing"}, +illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[{ +className:"string",begin:/"(""|[^/n])"C\b/},{className:"string",begin:/"/, +end:/"/,illegal:/\n/,contains:[{begin:/""/}]},s,{className:"number",relevance:0, +variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/ +},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{ +begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},{ +className:"label",begin:/^\w+:/},o,l,{className:"meta", +begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/, +end:/$/,keywords:{ +keyword:"const disable else elseif enable end externalsource if region then"}, +contains:[l]}]}},grmr_wasm:e=>{e.regex;const n=e.COMMENT(/\(;/,/;\)/) +;return n.contains.push("self"),{name:"WebAssembly",keywords:{$pattern:/[\w.]+/, +keyword:["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"] +},contains:[e.COMMENT(/;;/,/$/),n,{match:[/(?:offset|align)/,/\s*/,/=/], +className:{1:"keyword",3:"operator"}},{className:"variable",begin:/\$[\w_]+/},{ +match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},{ +begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword", +3:"title.function"}},e.QUOTE_STRING_MODE,{match:/(i32|i64|f32|f64)(?!\.)/, +className:"type"},{className:"keyword", +match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/ +},{className:"number",relevance:0, +match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/ +}]}},grmr_yaml:e=>{ +const n="true false yes no null",t="[\\w#;/?:@&=+$,.~*'()[\\]]+",a={ +className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/ +},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,{className:"template-variable", +variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]}]},i=e.inherit(a,{ +variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),r={ +end:",",endsWithParent:!0,excludeEnd:!0,keywords:n,relevance:0},s={begin:/\{/, +end:/\}/,contains:[r],illegal:"\\n",relevance:0},o={begin:"\\[",end:"\\]", +contains:[r],illegal:"\\n",relevance:0},l=[{className:"attr",variants:[{ +begin:"\\w[\\w :\\/.-]*:(?=[ \t]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ \t]|$)'},{ +begin:"'\\w[\\w :\\/.-]*':(?=[ \t]|$)"}]},{className:"meta",begin:"^---\\s*$", +relevance:10},{className:"string", +begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{ +begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0, +relevance:0},{className:"type",begin:"!\\w+!"+t},{className:"type", +begin:"!<"+t+">"},{className:"type",begin:"!"+t},{className:"type",begin:"!!"+t +},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta", +begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)", +relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:n,keywords:{literal:n}},{ +className:"number", +begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b" +},{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},s,o,a],c=[...l] +;return c.pop(),c.push(i),r.contains=c,{name:"YAML",case_insensitive:!0, +aliases:["yml"],contains:l}}});const qe=ae;for(const e of Object.keys(Ke)){ +const n=e.replace("grmr_","").replace("_","-");qe.registerLanguage(n,Ke[e])} +return qe}() +;"object"==typeof exports&&"undefined"!=typeof module&&(module.exports=hljs); \ No newline at end of file diff --git a/root/www/luci-static/chatgpt-web/katex.min.css b/root/www/luci-static/chatgpt-web/katex.min.css new file mode 100644 index 0000000..a26919d --- /dev/null +++ b/root/www/luci-static/chatgpt-web/katex.min.css @@ -0,0 +1 @@ +@font-face{font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(fonts/KaTeX_AMS-Regular.woff2) format("woff2"),url(fonts/KaTeX_AMS-Regular.woff) format("woff"),url(fonts/KaTeX_AMS-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Caligraphic-Bold.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Bold.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Bold.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Caligraphic-Regular.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Regular.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Fraktur-Bold.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Bold.woff) format("woff"),url(fonts/KaTeX_Fraktur-Bold.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Fraktur-Regular.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Regular.woff) format("woff"),url(fonts/KaTeX_Fraktur-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Main-Bold.woff2) format("woff2"),url(fonts/KaTeX_Main-Bold.woff) format("woff"),url(fonts/KaTeX_Main-Bold.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Main-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Main-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Main-BoldItalic.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Main-Italic.woff2) format("woff2"),url(fonts/KaTeX_Main-Italic.woff) format("woff"),url(fonts/KaTeX_Main-Italic.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Main-Regular.woff2) format("woff2"),url(fonts/KaTeX_Main-Regular.woff) format("woff"),url(fonts/KaTeX_Main-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Math-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Math-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Math-BoldItalic.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Math-Italic.woff2) format("woff2"),url(fonts/KaTeX_Math-Italic.woff) format("woff"),url(fonts/KaTeX_Math-Italic.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:700;src:url(fonts/KaTeX_SansSerif-Bold.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Bold.woff) format("woff"),url(fonts/KaTeX_SansSerif-Bold.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:italic;font-weight:400;src:url(fonts/KaTeX_SansSerif-Italic.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Italic.woff) format("woff"),url(fonts/KaTeX_SansSerif-Italic.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:400;src:url(fonts/KaTeX_SansSerif-Regular.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Regular.woff) format("woff"),url(fonts/KaTeX_SansSerif-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Script-Regular.woff2) format("woff2"),url(fonts/KaTeX_Script-Regular.woff) format("woff"),url(fonts/KaTeX_Script-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size1-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size1-Regular.woff) format("woff"),url(fonts/KaTeX_Size1-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size2-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size2-Regular.woff) format("woff"),url(fonts/KaTeX_Size2-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size3-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size3-Regular.woff) format("woff"),url(fonts/KaTeX_Size3-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size4-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size4-Regular.woff) format("woff"),url(fonts/KaTeX_Size4-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Typewriter-Regular.woff2) format("woff2"),url(fonts/KaTeX_Typewriter-Regular.woff) format("woff"),url(fonts/KaTeX_Typewriter-Regular.ttf) format("truetype")}.katex{text-rendering:auto;font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.6"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.27777778em;margin-right:-.55555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.83333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.16666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.66666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.45666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.71428571em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.85714286em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.14285714em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571429em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857143em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71428571em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714286em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857143em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96285714em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55428571em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.55555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.66666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.77777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.88888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.11111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.30444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.41666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.58333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.66666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.83333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.72833333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.34722222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.41666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.48611111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.55555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.69444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.83333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.44027778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.28935185em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.34722222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.40509259em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.46296296em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.52083333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.69444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.83333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.20023148em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981481em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108004em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.28929605em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.33751205em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.38572806em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.43394407em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216008em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.57859209em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.69431051em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.83317261em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.19961427em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.20096463em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.24115756em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.28135048em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.32154341em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.36173633em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.40192926em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.48231511em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.57877814em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.69453376em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.83360129em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo} \ No newline at end of file diff --git a/root/www/luci-static/chatgpt-web/katex.min.js b/root/www/luci-static/chatgpt-web/katex.min.js new file mode 100644 index 0000000..9dddc4f --- /dev/null +++ b/root/www/luci-static/chatgpt-web/katex.min.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.katex=t():e.katex=t()}("undefined"!=typeof self?self:this,(function(){return function(){"use strict";var e={d:function(t,r){for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},t={};e.d(t,{default:function(){return na}});var r=function e(t,r){this.position=void 0;var n,a="KaTeX parse error: "+t,i=r&&r.loc;if(i&&i.start<=i.end){var o=i.lexer.input;n=i.start;var s=i.end;n===o.length?a+=" at end of input: ":a+=" at position "+(n+1)+": ";var l=o.slice(n,s).replace(/[^]/g,"$&\u0332");a+=(n>15?"\u2026"+o.slice(n-15,n):o.slice(0,n))+l+(s+15":">","<":"<",'"':""","'":"'"},o=/[&><"']/g;var s=function e(t){return"ordgroup"===t.type||"color"===t.type?1===t.body.length?e(t.body[0]):t:"font"===t.type?e(t.body):t},l={contains:function(e,t){return-1!==e.indexOf(t)},deflt:function(e,t){return void 0===e?t:e},escape:function(e){return String(e).replace(o,(function(e){return i[e]}))},hyphenate:function(e){return e.replace(a,"-$1").toLowerCase()},getBaseElem:s,isCharacterBox:function(e){var t=s(e);return"mathord"===t.type||"textord"===t.type||"atom"===t.type},protocolFromUrl:function(e){var t=/^\s*([^\\/#]*?)(?::|�*58|�*3a)/i.exec(e);return null!=t?t[1]:"_relative"}},h={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:function(e){return"#"+e}},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:function(e,t){return t.push(e),t}},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:function(e){return Math.max(0,e)},cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:function(e){return Math.max(0,e)},cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:function(e){return Math.max(0,e)},cli:"-e, --max-expand ",cliProcessor:function(e){return"Infinity"===e?1/0:parseInt(e)}},globalGroup:{type:"boolean",cli:!1}};function c(e){if(e.default)return e.default;var t=e.type,r=Array.isArray(t)?t[0]:t;if("string"!=typeof r)return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}var m=function(){function e(e){for(var t in this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e=e||{},h)if(h.hasOwnProperty(t)){var r=h[t];this[t]=void 0!==e[t]?r.processor?r.processor(e[t]):e[t]:c(r)}}var t=e.prototype;return t.reportNonstrict=function(e,t,r){var a=this.strict;if("function"==typeof a&&(a=a(e,t,r)),a&&"ignore"!==a){if(!0===a||"error"===a)throw new n("LaTeX-incompatible input and strict mode is set to 'error': "+t+" ["+e+"]",r);"warn"===a?"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+t+" ["+e+"]"):"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '"+a+"': "+t+" ["+e+"]")}},t.useStrictBehavior=function(e,t,r){var n=this.strict;if("function"==typeof n)try{n=n(e,t,r)}catch(e){n="error"}return!(!n||"ignore"===n)&&(!0===n||"error"===n||("warn"===n?("undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+t+" ["+e+"]"),!1):("undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '"+n+"': "+t+" ["+e+"]"),!1)))},t.isTrusted=function(e){e.url&&!e.protocol&&(e.protocol=l.protocolFromUrl(e.url));var t="function"==typeof this.trust?this.trust(e):this.trust;return Boolean(t)},e}(),u=function(){function e(e,t,r){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=t,this.cramped=r}var t=e.prototype;return t.sup=function(){return p[d[this.id]]},t.sub=function(){return p[f[this.id]]},t.fracNum=function(){return p[g[this.id]]},t.fracDen=function(){return p[v[this.id]]},t.cramp=function(){return p[b[this.id]]},t.text=function(){return p[y[this.id]]},t.isTight=function(){return this.size>=2},e}(),p=[new u(0,0,!1),new u(1,0,!0),new u(2,1,!1),new u(3,1,!0),new u(4,2,!1),new u(5,2,!0),new u(6,3,!1),new u(7,3,!0)],d=[4,5,4,5,6,7,6,7],f=[5,5,5,5,7,7,7,7],g=[2,3,4,5,6,7,6,7],v=[3,3,5,5,7,7,7,7],b=[1,1,3,3,5,5,7,7],y=[0,1,2,3,2,3,2,3],x={DISPLAY:p[0],TEXT:p[2],SCRIPT:p[4],SCRIPTSCRIPT:p[6]},w=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];var k=[];function S(e){for(var t=0;t=k[t]&&e<=k[t+1])return!0;return!1}w.forEach((function(e){return e.blocks.forEach((function(e){return k.push.apply(k,e)}))}));var M=80,z={doubleleftarrow:"M262 157\nl10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3\n 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28\n 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5\nc2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5\n 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87\n-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7\n-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z\nm8 0v40h399730v-40zm0 194v40h399730v-40z",doublerightarrow:"M399738 392l\n-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5\n 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88\n-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68\n-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18\n-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782\nc-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3\n-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z",leftarrow:"M400000 241H110l3-3c68.7-52.7 113.7-120\n 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8\n-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247\nc-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208\n 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3\n 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202\n l-3-3h399890zM100 241v40h399900v-40z",leftbrace:"M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117\n-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7\n 5-6 9-10 13-.7 1-7.3 1-20 1H6z",leftbraceunder:"M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13\n 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688\n 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7\n-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z",leftgroup:"M400000 80\nH435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0\n 435 0h399565z",leftgroupunder:"M400000 262\nH435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219\n 435 219h399565z",leftharpoon:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3\n-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5\n-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7\n-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z",leftharpoonplus:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5\n 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3\n-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7\n-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z\nm0 0v40h400000v-40z",leftharpoondown:"M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333\n 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5\n 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667\n-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z",leftharpoondownplus:"M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12\n 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7\n-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0\nv40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z",lefthook:"M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5\n-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3\n-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21\n 71.5 23h399859zM103 281v-40h399897v40z",leftlinesegment:"M40 281 V428 H0 V94 H40 V241 H400000 v40z\nM40 281 V428 H0 V94 H40 V241 H400000 v40z",leftmapsto:"M40 281 V448H0V74H40V241H400000v40z\nM40 281 V448H0V74H40V241H400000v40z",leftToFrom:"M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23\n-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8\nc28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3\n 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z",longequal:"M0 50 h400000 v40H0z m0 194h40000v40H0z\nM0 50 h400000 v40H0z m0 194h40000v40H0z",midbrace:"M200428 334\nc-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14\n-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7\n 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11\n 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z",midbraceunder:"M199572 214\nc100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14\n 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3\n 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0\n-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z",oiintSize1:"M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6\n-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z\nm368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8\n60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z",oiintSize2:"M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8\n-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z\nm502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2\nc0 110 84 276 504 276s502.4-166 502.4-276z",oiiintSize1:"M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6\n-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z\nm525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0\n85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z",oiiintSize2:"M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8\n-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z\nm770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1\nc0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z",rightarrow:"M0 241v40h399891c-47.3 35.3-84 78-110 128\n-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20\n 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7\n 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85\n-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n 151.7 139 205zm0 0v40h399900v-40z",rightbrace:"M400000 542l\n-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5\ns-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1\nc124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z",rightbraceunder:"M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3\n 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237\n-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z",rightgroup:"M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0\n 3-1 3-3v-38c-76-158-257-219-435-219H0z",rightgroupunder:"M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18\n 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z",rightharpoon:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3\n-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2\n-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58\n 69.2 92 94.5zm0 0v40h399900v-40z",rightharpoonplus:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11\n-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7\n 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z\nm0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z",rightharpoondown:"M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8\n 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5\n-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95\n-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z",rightharpoondownplus:"M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8\n 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3\n 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3\n-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z\nm0-194v40h400000v-40zm0 0v40h400000v-40z",righthook:"M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3\n 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0\n-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21\n 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z",rightlinesegment:"M399960 241 V94 h40 V428 h-40 V281 H0 v-40z\nM399960 241 V94 h40 V428 h-40 V281 H0 v-40z",rightToFrom:"M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23\n 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32\n-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142\n-167z M100 147v40h399900v-40zM0 341v40h399900v-40z",twoheadleftarrow:"M0 167c68 40\n 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69\n-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3\n-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19\n-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101\n 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z",twoheadrightarrow:"M400000 167\nc-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3\n 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42\n 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333\n-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70\n 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z",tilde1:"M200 55.538c-77 0-168 73.953-177 73.953-3 0-7\n-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0\n 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0\n 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128\n-68.267.847-113-73.952-191-73.952z",tilde2:"M344 55.266c-142 0-300.638 81.316-311.5 86.418\n-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9\n 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114\nc1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751\n 181.476 676 181.476c-149 0-189-126.21-332-126.21z",tilde3:"M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457\n-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0\n 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697\n 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696\n -338 0-409-156.573-744-156.573z",tilde4:"M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345\n-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409\n 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9\n 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409\n -175.236-744-175.236z",vec:"M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5\n3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11\n10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63\n-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1\n-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59\nH213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359\nc-16-25.333-24-45-24-59z",widehat1:"M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22\nc-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z",widehat2:"M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat3:"M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat4:"M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widecheck1:"M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,\n-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z",widecheck2:"M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck3:"M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck4:"M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",baraboveleftarrow:"M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202\nc4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5\nc-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130\ns-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47\n121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6\ns2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11\nc0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z\nM100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z",rightarrowabovebar:"M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32\n-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0\n13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39\n-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5\n-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z",baraboveshortleftharpoon:"M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17\nc2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21\nc-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40\nc-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z\nM0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z",rightharpoonaboveshortbar:"M0,241 l0,40c399126,0,399993,0,399993,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z",shortbaraboveleftharpoon:"M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,\n1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,\n-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z\nM93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z",shortrightharpoonabovebar:"M53,241l0,40c398570,0,399437,0,399437,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z"},A=function(){function e(e){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}var t=e.prototype;return t.hasClass=function(e){return l.contains(this.classes,e)},t.toNode=function(){for(var e=document.createDocumentFragment(),t=0;t=5?0:e>=3?1:2]){var r=q[t]={cssEmPerMu:B.quad[t]/18};for(var n in B)B.hasOwnProperty(n)&&(r[n]=B[n][t])}return q[t]}(this.size)),this._fontMetrics},t.getColor=function(){return this.phantom?"transparent":this.color},e}();O.BASESIZE=6;var E=O,L={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:1.00375,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:1.00375},D={ex:!0,em:!0,mu:!0},V=function(e){return"string"!=typeof e&&(e=e.unit),e in L||e in D||"ex"===e},P=function(e,t){var r;if(e.unit in L)r=L[e.unit]/t.fontMetrics().ptPerEm/t.sizeMultiplier;else if("mu"===e.unit)r=t.fontMetrics().cssEmPerMu;else{var a;if(a=t.style.isTight()?t.havingStyle(t.style.text()):t,"ex"===e.unit)r=a.fontMetrics().xHeight;else{if("em"!==e.unit)throw new n("Invalid unit: '"+e.unit+"'");r=a.fontMetrics().quad}a!==t&&(r*=a.sizeMultiplier/t.sizeMultiplier)}return Math.min(e.number*r,t.maxSize)},F=function(e){return+e.toFixed(4)+"em"},G=function(e){return e.filter((function(e){return e})).join(" ")},U=function(e,t,r){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=r||{},t){t.style.isTight()&&this.classes.push("mtight");var n=t.getColor();n&&(this.style.color=n)}},Y=function(e){var t=document.createElement(e);for(var r in t.className=G(this.classes),this.style)this.style.hasOwnProperty(r)&&(t.style[r]=this.style[r]);for(var n in this.attributes)this.attributes.hasOwnProperty(n)&&t.setAttribute(n,this.attributes[n]);for(var a=0;a"},W=function(){function e(e,t,r,n){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,U.call(this,e,r,n),this.children=t||[]}var t=e.prototype;return t.setAttribute=function(e,t){this.attributes[e]=t},t.hasClass=function(e){return l.contains(this.classes,e)},t.toNode=function(){return Y.call(this,"span")},t.toMarkup=function(){return X.call(this,"span")},e}(),_=function(){function e(e,t,r,n){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,U.call(this,t,n),this.children=r||[],this.setAttribute("href",e)}var t=e.prototype;return t.setAttribute=function(e,t){this.attributes[e]=t},t.hasClass=function(e){return l.contains(this.classes,e)},t.toNode=function(){return Y.call(this,"a")},t.toMarkup=function(){return X.call(this,"a")},e}(),j=function(){function e(e,t,r){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=t,this.src=e,this.classes=["mord"],this.style=r}var t=e.prototype;return t.hasClass=function(e){return l.contains(this.classes,e)},t.toNode=function(){var e=document.createElement("img");for(var t in e.src=this.src,e.alt=this.alt,e.className="mord",this.style)this.style.hasOwnProperty(t)&&(e.style[t]=this.style[t]);return e},t.toMarkup=function(){var e=""+this.alt+"=a[0]&&e<=a[1])return r.name}return null}(this.text.charCodeAt(0));l&&this.classes.push(l+"_fallback"),/[\xee\xef\xed\xec]/.test(this.text)&&(this.text=$[this.text])}var t=e.prototype;return t.hasClass=function(e){return l.contains(this.classes,e)},t.toNode=function(){var e=document.createTextNode(this.text),t=null;for(var r in this.italic>0&&((t=document.createElement("span")).style.marginRight=F(this.italic)),this.classes.length>0&&((t=t||document.createElement("span")).className=G(this.classes)),this.style)this.style.hasOwnProperty(r)&&((t=t||document.createElement("span")).style[r]=this.style[r]);return t?(t.appendChild(e),t):e},t.toMarkup=function(){var e=!1,t="0&&(r+="margin-right:"+this.italic+"em;"),this.style)this.style.hasOwnProperty(n)&&(r+=l.hyphenate(n)+":"+this.style[n]+";");r&&(e=!0,t+=' style="'+l.escape(r)+'"');var a=l.escape(this.text);return e?(t+=">",t+=a,t+=""):a},e}(),K=function(){function e(e,t){this.children=void 0,this.attributes=void 0,this.children=e||[],this.attributes=t||{}}var t=e.prototype;return t.toNode=function(){var e=document.createElementNS("http://www.w3.org/2000/svg","svg");for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);for(var r=0;r":""},e}(),Q=function(){function e(e){this.attributes=void 0,this.attributes=e||{}}var t=e.prototype;return t.toNode=function(){var e=document.createElementNS("http://www.w3.org/2000/svg","line");for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);return e},t.toMarkup=function(){var e="","\\gt",!0),ie(oe,le,be,"\u2208","\\in",!0),ie(oe,le,be,"\ue020","\\@not"),ie(oe,le,be,"\u2282","\\subset",!0),ie(oe,le,be,"\u2283","\\supset",!0),ie(oe,le,be,"\u2286","\\subseteq",!0),ie(oe,le,be,"\u2287","\\supseteq",!0),ie(oe,he,be,"\u2288","\\nsubseteq",!0),ie(oe,he,be,"\u2289","\\nsupseteq",!0),ie(oe,le,be,"\u22a8","\\models"),ie(oe,le,be,"\u2190","\\leftarrow",!0),ie(oe,le,be,"\u2264","\\le"),ie(oe,le,be,"\u2264","\\leq",!0),ie(oe,le,be,"<","\\lt",!0),ie(oe,le,be,"\u2192","\\rightarrow",!0),ie(oe,le,be,"\u2192","\\to"),ie(oe,he,be,"\u2271","\\ngeq",!0),ie(oe,he,be,"\u2270","\\nleq",!0),ie(oe,le,ye,"\xa0","\\ "),ie(oe,le,ye,"\xa0","\\space"),ie(oe,le,ye,"\xa0","\\nobreakspace"),ie(se,le,ye,"\xa0","\\ "),ie(se,le,ye,"\xa0"," "),ie(se,le,ye,"\xa0","\\space"),ie(se,le,ye,"\xa0","\\nobreakspace"),ie(oe,le,ye,null,"\\nobreak"),ie(oe,le,ye,null,"\\allowbreak"),ie(oe,le,ve,",",","),ie(oe,le,ve,";",";"),ie(oe,he,me,"\u22bc","\\barwedge",!0),ie(oe,he,me,"\u22bb","\\veebar",!0),ie(oe,le,me,"\u2299","\\odot",!0),ie(oe,le,me,"\u2295","\\oplus",!0),ie(oe,le,me,"\u2297","\\otimes",!0),ie(oe,le,xe,"\u2202","\\partial",!0),ie(oe,le,me,"\u2298","\\oslash",!0),ie(oe,he,me,"\u229a","\\circledcirc",!0),ie(oe,he,me,"\u22a1","\\boxdot",!0),ie(oe,le,me,"\u25b3","\\bigtriangleup"),ie(oe,le,me,"\u25bd","\\bigtriangledown"),ie(oe,le,me,"\u2020","\\dagger"),ie(oe,le,me,"\u22c4","\\diamond"),ie(oe,le,me,"\u22c6","\\star"),ie(oe,le,me,"\u25c3","\\triangleleft"),ie(oe,le,me,"\u25b9","\\triangleright"),ie(oe,le,ge,"{","\\{"),ie(se,le,xe,"{","\\{"),ie(se,le,xe,"{","\\textbraceleft"),ie(oe,le,ue,"}","\\}"),ie(se,le,xe,"}","\\}"),ie(se,le,xe,"}","\\textbraceright"),ie(oe,le,ge,"{","\\lbrace"),ie(oe,le,ue,"}","\\rbrace"),ie(oe,le,ge,"[","\\lbrack",!0),ie(se,le,xe,"[","\\lbrack",!0),ie(oe,le,ue,"]","\\rbrack",!0),ie(se,le,xe,"]","\\rbrack",!0),ie(oe,le,ge,"(","\\lparen",!0),ie(oe,le,ue,")","\\rparen",!0),ie(se,le,xe,"<","\\textless",!0),ie(se,le,xe,">","\\textgreater",!0),ie(oe,le,ge,"\u230a","\\lfloor",!0),ie(oe,le,ue,"\u230b","\\rfloor",!0),ie(oe,le,ge,"\u2308","\\lceil",!0),ie(oe,le,ue,"\u2309","\\rceil",!0),ie(oe,le,xe,"\\","\\backslash"),ie(oe,le,xe,"\u2223","|"),ie(oe,le,xe,"\u2223","\\vert"),ie(se,le,xe,"|","\\textbar",!0),ie(oe,le,xe,"\u2225","\\|"),ie(oe,le,xe,"\u2225","\\Vert"),ie(se,le,xe,"\u2225","\\textbardbl"),ie(se,le,xe,"~","\\textasciitilde"),ie(se,le,xe,"\\","\\textbackslash"),ie(se,le,xe,"^","\\textasciicircum"),ie(oe,le,be,"\u2191","\\uparrow",!0),ie(oe,le,be,"\u21d1","\\Uparrow",!0),ie(oe,le,be,"\u2193","\\downarrow",!0),ie(oe,le,be,"\u21d3","\\Downarrow",!0),ie(oe,le,be,"\u2195","\\updownarrow",!0),ie(oe,le,be,"\u21d5","\\Updownarrow",!0),ie(oe,le,fe,"\u2210","\\coprod"),ie(oe,le,fe,"\u22c1","\\bigvee"),ie(oe,le,fe,"\u22c0","\\bigwedge"),ie(oe,le,fe,"\u2a04","\\biguplus"),ie(oe,le,fe,"\u22c2","\\bigcap"),ie(oe,le,fe,"\u22c3","\\bigcup"),ie(oe,le,fe,"\u222b","\\int"),ie(oe,le,fe,"\u222b","\\intop"),ie(oe,le,fe,"\u222c","\\iint"),ie(oe,le,fe,"\u222d","\\iiint"),ie(oe,le,fe,"\u220f","\\prod"),ie(oe,le,fe,"\u2211","\\sum"),ie(oe,le,fe,"\u2a02","\\bigotimes"),ie(oe,le,fe,"\u2a01","\\bigoplus"),ie(oe,le,fe,"\u2a00","\\bigodot"),ie(oe,le,fe,"\u222e","\\oint"),ie(oe,le,fe,"\u222f","\\oiint"),ie(oe,le,fe,"\u2230","\\oiiint"),ie(oe,le,fe,"\u2a06","\\bigsqcup"),ie(oe,le,fe,"\u222b","\\smallint"),ie(se,le,pe,"\u2026","\\textellipsis"),ie(oe,le,pe,"\u2026","\\mathellipsis"),ie(se,le,pe,"\u2026","\\ldots",!0),ie(oe,le,pe,"\u2026","\\ldots",!0),ie(oe,le,pe,"\u22ef","\\@cdots",!0),ie(oe,le,pe,"\u22f1","\\ddots",!0),ie(oe,le,xe,"\u22ee","\\varvdots"),ie(oe,le,ce,"\u02ca","\\acute"),ie(oe,le,ce,"\u02cb","\\grave"),ie(oe,le,ce,"\xa8","\\ddot"),ie(oe,le,ce,"~","\\tilde"),ie(oe,le,ce,"\u02c9","\\bar"),ie(oe,le,ce,"\u02d8","\\breve"),ie(oe,le,ce,"\u02c7","\\check"),ie(oe,le,ce,"^","\\hat"),ie(oe,le,ce,"\u20d7","\\vec"),ie(oe,le,ce,"\u02d9","\\dot"),ie(oe,le,ce,"\u02da","\\mathring"),ie(oe,le,de,"\ue131","\\@imath"),ie(oe,le,de,"\ue237","\\@jmath"),ie(oe,le,xe,"\u0131","\u0131"),ie(oe,le,xe,"\u0237","\u0237"),ie(se,le,xe,"\u0131","\\i",!0),ie(se,le,xe,"\u0237","\\j",!0),ie(se,le,xe,"\xdf","\\ss",!0),ie(se,le,xe,"\xe6","\\ae",!0),ie(se,le,xe,"\u0153","\\oe",!0),ie(se,le,xe,"\xf8","\\o",!0),ie(se,le,xe,"\xc6","\\AE",!0),ie(se,le,xe,"\u0152","\\OE",!0),ie(se,le,xe,"\xd8","\\O",!0),ie(se,le,ce,"\u02ca","\\'"),ie(se,le,ce,"\u02cb","\\`"),ie(se,le,ce,"\u02c6","\\^"),ie(se,le,ce,"\u02dc","\\~"),ie(se,le,ce,"\u02c9","\\="),ie(se,le,ce,"\u02d8","\\u"),ie(se,le,ce,"\u02d9","\\."),ie(se,le,ce,"\xb8","\\c"),ie(se,le,ce,"\u02da","\\r"),ie(se,le,ce,"\u02c7","\\v"),ie(se,le,ce,"\xa8",'\\"'),ie(se,le,ce,"\u02dd","\\H"),ie(se,le,ce,"\u25ef","\\textcircled");var we={"--":!0,"---":!0,"``":!0,"''":!0};ie(se,le,xe,"\u2013","--",!0),ie(se,le,xe,"\u2013","\\textendash"),ie(se,le,xe,"\u2014","---",!0),ie(se,le,xe,"\u2014","\\textemdash"),ie(se,le,xe,"\u2018","`",!0),ie(se,le,xe,"\u2018","\\textquoteleft"),ie(se,le,xe,"\u2019","'",!0),ie(se,le,xe,"\u2019","\\textquoteright"),ie(se,le,xe,"\u201c","``",!0),ie(se,le,xe,"\u201c","\\textquotedblleft"),ie(se,le,xe,"\u201d","''",!0),ie(se,le,xe,"\u201d","\\textquotedblright"),ie(oe,le,xe,"\xb0","\\degree",!0),ie(se,le,xe,"\xb0","\\degree"),ie(se,le,xe,"\xb0","\\textdegree",!0),ie(oe,le,xe,"\xa3","\\pounds"),ie(oe,le,xe,"\xa3","\\mathsterling",!0),ie(se,le,xe,"\xa3","\\pounds"),ie(se,le,xe,"\xa3","\\textsterling",!0),ie(oe,he,xe,"\u2720","\\maltese"),ie(se,he,xe,"\u2720","\\maltese");for(var ke='0123456789/@."',Se=0;Set&&(t=i.height),i.depth>r&&(r=i.depth),i.maxFontSize>n&&(n=i.maxFontSize)}e.height=t,e.depth=r,e.maxFontSize=n},Xe=function(e,t,r,n){var a=new W(e,t,r,n);return Ye(a),a},We=function(e,t,r,n){return new W(e,t,r,n)},_e=function(e){var t=new A(e);return Ye(t),t},je=function(e,t,r){var n="";switch(e){case"amsrm":n="AMS";break;case"textrm":n="Main";break;case"textsf":n="SansSerif";break;case"texttt":n="Typewriter";break;default:n=e}return n+"-"+("textbf"===t&&"textit"===r?"BoldItalic":"textbf"===t?"Bold":"textit"===t?"Italic":"Regular")},$e={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},Ze={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},Ke={fontMap:$e,makeSymbol:Ge,mathsym:function(e,t,r,n){return void 0===n&&(n=[]),"boldsymbol"===r.font&&Fe(e,"Main-Bold",t).metrics?Ge(e,"Main-Bold",t,r,n.concat(["mathbf"])):"\\"===e||"main"===ae[t][e].font?Ge(e,"Main-Regular",t,r,n):Ge(e,"AMS-Regular",t,r,n.concat(["amsrm"]))},makeSpan:Xe,makeSvgSpan:We,makeLineSpan:function(e,t,r){var n=Xe([e],[],t);return n.height=Math.max(r||t.fontMetrics().defaultRuleThickness,t.minRuleThickness),n.style.borderBottomWidth=F(n.height),n.maxFontSize=1,n},makeAnchor:function(e,t,r,n){var a=new _(e,t,r,n);return Ye(a),a},makeFragment:_e,wrapFragment:function(e,t){return e instanceof A?Xe([],[e],t):e},makeVList:function(e,t){for(var r=function(e){if("individualShift"===e.positionType){for(var t=e.children,r=[t[0]],n=-t[0].shift-t[0].elem.depth,a=n,i=1;i0&&(o.push(kt(s,t)),s=[]),o.push(a[l]));s.length>0&&o.push(kt(s,t)),r?((i=kt(ft(r,t,!0))).classes=["tag"],o.push(i)):n&&o.push(n);var c=ct(["katex-html"],o);if(c.setAttribute("aria-hidden","true"),i){var m=i.children[0];m.style.height=F(c.height+c.depth),c.depth&&(m.style.verticalAlign=F(-c.depth))}return c}function Mt(e){return new A(e)}var zt=function(){function e(e,t,r){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=e,this.attributes={},this.children=t||[],this.classes=r||[]}var t=e.prototype;return t.setAttribute=function(e,t){this.attributes[e]=t},t.getAttribute=function(e){return this.attributes[e]},t.toNode=function(){var e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);this.classes.length>0&&(e.className=G(this.classes));for(var r=0;r0&&(e+=' class ="'+l.escape(G(this.classes))+'"'),e+=">";for(var r=0;r"},t.toText=function(){return this.children.map((function(e){return e.toText()})).join("")},e}(),At=function(){function e(e){this.text=void 0,this.text=e}var t=e.prototype;return t.toNode=function(){return document.createTextNode(this.text)},t.toMarkup=function(){return l.escape(this.toText())},t.toText=function(){return this.text},e}(),Tt={MathNode:zt,TextNode:At,SpaceNode:function(){function e(e){this.width=void 0,this.character=void 0,this.width=e,this.character=e>=.05555&&e<=.05556?"\u200a":e>=.1666&&e<=.1667?"\u2009":e>=.2222&&e<=.2223?"\u2005":e>=.2777&&e<=.2778?"\u2005\u200a":e>=-.05556&&e<=-.05555?"\u200a\u2063":e>=-.1667&&e<=-.1666?"\u2009\u2063":e>=-.2223&&e<=-.2222?"\u205f\u2063":e>=-.2778&&e<=-.2777?"\u2005\u2063":null}var t=e.prototype;return t.toNode=function(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",F(this.width)),e},t.toMarkup=function(){return this.character?""+this.character+"":''},t.toText=function(){return this.character?this.character:" "},e}(),newDocumentFragment:Mt},Bt=function(e,t,r){return!ae[t][e]||!ae[t][e].replace||55349===e.charCodeAt(0)||we.hasOwnProperty(e)&&r&&(r.fontFamily&&"tt"===r.fontFamily.slice(4,6)||r.font&&"tt"===r.font.slice(4,6))||(e=ae[t][e].replace),new Tt.TextNode(e)},Ct=function(e){return 1===e.length?e[0]:new Tt.MathNode("mrow",e)},Nt=function(e,t){if("texttt"===t.fontFamily)return"monospace";if("textsf"===t.fontFamily)return"textit"===t.fontShape&&"textbf"===t.fontWeight?"sans-serif-bold-italic":"textit"===t.fontShape?"sans-serif-italic":"textbf"===t.fontWeight?"bold-sans-serif":"sans-serif";if("textit"===t.fontShape&&"textbf"===t.fontWeight)return"bold-italic";if("textit"===t.fontShape)return"italic";if("textbf"===t.fontWeight)return"bold";var r=t.font;if(!r||"mathnormal"===r)return null;var n=e.mode;if("mathit"===r)return"italic";if("boldsymbol"===r)return"textord"===e.type?"bold":"bold-italic";if("mathbf"===r)return"bold";if("mathbb"===r)return"double-struck";if("mathfrak"===r)return"fraktur";if("mathscr"===r||"mathcal"===r)return"script";if("mathsf"===r)return"sans-serif";if("mathtt"===r)return"monospace";var a=e.text;return l.contains(["\\imath","\\jmath"],a)?null:(ae[n][a]&&ae[n][a].replace&&(a=ae[n][a].replace),N(a,Ke.fontMap[r].fontName,n)?Ke.fontMap[r].variant:null)},qt=function(e,t,r){if(1===e.length){var n=Rt(e[0],t);return r&&n instanceof zt&&"mo"===n.type&&(n.setAttribute("lspace","0em"),n.setAttribute("rspace","0em")),[n]}for(var a,i=[],o=0;o0&&(p.text=p.text.slice(0,1)+"\u0338"+p.text.slice(1),i.pop())}}}i.push(s),a=s}return i},It=function(e,t,r){return Ct(qt(e,t,r))},Rt=function(e,t){if(!e)return new Tt.MathNode("mrow");if(it[e.type])return it[e.type](e,t);throw new n("Got group of unknown type: '"+e.type+"'")};function Ht(e,t,r,n,a){var i,o=qt(e,r);i=1===o.length&&o[0]instanceof zt&&l.contains(["mrow","mtable"],o[0].type)?o[0]:new Tt.MathNode("mrow",o);var s=new Tt.MathNode("annotation",[new Tt.TextNode(t)]);s.setAttribute("encoding","application/x-tex");var h=new Tt.MathNode("semantics",[i,s]),c=new Tt.MathNode("math",[h]);c.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),n&&c.setAttribute("display","block");var m=a?"katex":"katex-mathml";return Ke.makeSpan([m],[c])}var Ot=function(e){return new E({style:e.displayMode?x.DISPLAY:x.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},Et=function(e,t){if(t.displayMode){var r=["katex-display"];t.leqno&&r.push("leqno"),t.fleqn&&r.push("fleqn"),e=Ke.makeSpan(r,[e])}return e},Lt=function(e,t,r){var n,a=Ot(r);if("mathml"===r.output)return Ht(e,t,a,r.displayMode,!0);if("html"===r.output){var i=St(e,a);n=Ke.makeSpan(["katex"],[i])}else{var o=Ht(e,t,a,r.displayMode,!1),s=St(e,a);n=Ke.makeSpan(["katex"],[o,s])}return Et(n,r)},Dt={widehat:"^",widecheck:"\u02c7",widetilde:"~",utilde:"~",overleftarrow:"\u2190",underleftarrow:"\u2190",xleftarrow:"\u2190",overrightarrow:"\u2192",underrightarrow:"\u2192",xrightarrow:"\u2192",underbrace:"\u23df",overbrace:"\u23de",overgroup:"\u23e0",undergroup:"\u23e1",overleftrightarrow:"\u2194",underleftrightarrow:"\u2194",xleftrightarrow:"\u2194",Overrightarrow:"\u21d2",xRightarrow:"\u21d2",overleftharpoon:"\u21bc",xleftharpoonup:"\u21bc",overrightharpoon:"\u21c0",xrightharpoonup:"\u21c0",xLeftarrow:"\u21d0",xLeftrightarrow:"\u21d4",xhookleftarrow:"\u21a9",xhookrightarrow:"\u21aa",xmapsto:"\u21a6",xrightharpoondown:"\u21c1",xleftharpoondown:"\u21bd",xrightleftharpoons:"\u21cc",xleftrightharpoons:"\u21cb",xtwoheadleftarrow:"\u219e",xtwoheadrightarrow:"\u21a0",xlongequal:"=",xtofrom:"\u21c4",xrightleftarrows:"\u21c4",xrightequilibrium:"\u21cc",xleftequilibrium:"\u21cb","\\cdrightarrow":"\u2192","\\cdleftarrow":"\u2190","\\cdlongequal":"="},Vt={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},Pt=function(e,t,r,n,a){var i,o=e.height+e.depth+r+n;if(/fbox|color|angl/.test(t)){if(i=Ke.makeSpan(["stretchy",t],[],a),"fbox"===t){var s=a.color&&a.getColor();s&&(i.style.borderColor=s)}}else{var l=[];/^[bx]cancel$/.test(t)&&l.push(new Q({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(t)&&l.push(new Q({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var h=new K(l,{width:"100%",height:F(o)});i=Ke.makeSvgSpan([],[h],a)}return i.height=o,i.style.height=F(o),i},Ft=function(e){var t=new Tt.MathNode("mo",[new Tt.TextNode(Dt[e.replace(/^\\/,"")])]);return t.setAttribute("stretchy","true"),t},Gt=function(e,t){var r=function(){var r=4e5,n=e.label.slice(1);if(l.contains(["widehat","widecheck","widetilde","utilde"],n)){var a,i,o,s="ordgroup"===(d=e.base).type?d.body.length:1;if(s>5)"widehat"===n||"widecheck"===n?(a=420,r=2364,o=.42,i=n+"4"):(a=312,r=2340,o=.34,i="tilde4");else{var h=[1,1,2,2,3,3][s];"widehat"===n||"widecheck"===n?(r=[0,1062,2364,2364,2364][h],a=[0,239,300,360,420][h],o=[0,.24,.3,.3,.36,.42][h],i=n+h):(r=[0,600,1033,2339,2340][h],a=[0,260,286,306,312][h],o=[0,.26,.286,.3,.306,.34][h],i="tilde"+h)}var c=new J(i),m=new K([c],{width:"100%",height:F(o),viewBox:"0 0 "+r+" "+a,preserveAspectRatio:"none"});return{span:Ke.makeSvgSpan([],[m],t),minWidth:0,height:o}}var u,p,d,f=[],g=Vt[n],v=g[0],b=g[1],y=g[2],x=y/1e3,w=v.length;if(1===w)u=["hide-tail"],p=[g[3]];else if(2===w)u=["halfarrow-left","halfarrow-right"],p=["xMinYMin","xMaxYMin"];else{if(3!==w)throw new Error("Correct katexImagesData or update code here to support\n "+w+" children.");u=["brace-left","brace-center","brace-right"],p=["xMinYMin","xMidYMin","xMaxYMin"]}for(var k=0;k0&&(n.style.minWidth=F(a)),n};function Ut(e,t){if(!e||e.type!==t)throw new Error("Expected node of type "+t+", but got "+(e?"node of type "+e.type:String(e)));return e}function Yt(e){var t=Xt(e);if(!t)throw new Error("Expected node of symbol group type, but got "+(e?"node of type "+e.type:String(e)));return t}function Xt(e){return e&&("atom"===e.type||re.hasOwnProperty(e.type))?e:null}var Wt=function(e,t){var r,n,a;e&&"supsub"===e.type?(r=(n=Ut(e.base,"accent")).base,e.base=r,a=function(e){if(e instanceof W)return e;throw new Error("Expected span but got "+String(e)+".")}(wt(e,t)),e.base=n):r=(n=Ut(e,"accent")).base;var i=wt(r,t.havingCrampedStyle()),o=0;if(n.isShifty&&l.isCharacterBox(r)){var s=l.getBaseElem(r);o=ee(wt(s,t.havingCrampedStyle())).skew}var h,c="\\c"===n.label,m=c?i.height+i.depth:Math.min(i.height,t.fontMetrics().xHeight);if(n.isStretchy)h=Gt(n,t),h=Ke.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:i},{type:"elem",elem:h,wrapperClasses:["svg-align"],wrapperStyle:o>0?{width:"calc(100% - "+F(2*o)+")",marginLeft:F(2*o)}:void 0}]},t);else{var u,p;"\\vec"===n.label?(u=Ke.staticSvg("vec",t),p=Ke.svgData.vec[1]):((u=ee(u=Ke.makeOrd({mode:n.mode,text:n.label},t,"textord"))).italic=0,p=u.width,c&&(m+=u.depth)),h=Ke.makeSpan(["accent-body"],[u]);var d="\\textcircled"===n.label;d&&(h.classes.push("accent-full"),m=i.height);var f=o;d||(f-=p/2),h.style.left=F(f),"\\textcircled"===n.label&&(h.style.top=".2em"),h=Ke.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:i},{type:"kern",size:-m},{type:"elem",elem:h}]},t)}var g=Ke.makeSpan(["mord","accent"],[h],t);return a?(a.children[0]=g,a.height=Math.max(g.height,a.height),a.classes[0]="mord",a):g},_t=function(e,t){var r=e.isStretchy?Ft(e.label):new Tt.MathNode("mo",[Bt(e.label,e.mode)]),n=new Tt.MathNode("mover",[Rt(e.base,t),r]);return n.setAttribute("accent","true"),n},jt=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map((function(e){return"\\"+e})).join("|"));ot({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:function(e,t){var r=lt(t[0]),n=!jt.test(e.funcName),a=!n||"\\widehat"===e.funcName||"\\widetilde"===e.funcName||"\\widecheck"===e.funcName;return{type:"accent",mode:e.parser.mode,label:e.funcName,isStretchy:n,isShifty:a,base:r}},htmlBuilder:Wt,mathmlBuilder:_t}),ot({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:function(e,t){var r=t[0],n=e.parser.mode;return"math"===n&&(e.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+e.funcName+" works only in text mode"),n="text"),{type:"accent",mode:n,label:e.funcName,isStretchy:!1,isShifty:!0,base:r}},htmlBuilder:Wt,mathmlBuilder:_t}),ot({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:function(e,t){var r=e.parser,n=e.funcName,a=t[0];return{type:"accentUnder",mode:r.mode,label:n,base:a}},htmlBuilder:function(e,t){var r=wt(e.base,t),n=Gt(e,t),a="\\utilde"===e.label?.12:0,i=Ke.makeVList({positionType:"top",positionData:r.height,children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:a},{type:"elem",elem:r}]},t);return Ke.makeSpan(["mord","accentunder"],[i],t)},mathmlBuilder:function(e,t){var r=Ft(e.label),n=new Tt.MathNode("munder",[Rt(e.base,t),r]);return n.setAttribute("accentunder","true"),n}});var $t=function(e){var t=new Tt.MathNode("mpadded",e?[e]:[]);return t.setAttribute("width","+0.6em"),t.setAttribute("lspace","0.3em"),t};ot({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler:function(e,t,r){var n=e.parser,a=e.funcName;return{type:"xArrow",mode:n.mode,label:a,body:t[0],below:r[0]}},htmlBuilder:function(e,t){var r,n=t.style,a=t.havingStyle(n.sup()),i=Ke.wrapFragment(wt(e.body,a,t),t),o="\\x"===e.label.slice(0,2)?"x":"cd";i.classes.push(o+"-arrow-pad"),e.below&&(a=t.havingStyle(n.sub()),(r=Ke.wrapFragment(wt(e.below,a,t),t)).classes.push(o+"-arrow-pad"));var s,l=Gt(e,t),h=-t.fontMetrics().axisHeight+.5*l.height,c=-t.fontMetrics().axisHeight-.5*l.height-.111;if((i.depth>.25||"\\xleftequilibrium"===e.label)&&(c-=i.depth),r){var m=-t.fontMetrics().axisHeight+r.height+.5*l.height+.111;s=Ke.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:c},{type:"elem",elem:l,shift:h},{type:"elem",elem:r,shift:m}]},t)}else s=Ke.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:c},{type:"elem",elem:l,shift:h}]},t);return s.children[0].children[0].children[1].classes.push("svg-align"),Ke.makeSpan(["mrel","x-arrow"],[s],t)},mathmlBuilder:function(e,t){var r,n=Ft(e.label);if(n.setAttribute("minsize","x"===e.label.charAt(0)?"1.75em":"3.0em"),e.body){var a=$t(Rt(e.body,t));if(e.below){var i=$t(Rt(e.below,t));r=new Tt.MathNode("munderover",[n,i,a])}else r=new Tt.MathNode("mover",[n,a])}else if(e.below){var o=$t(Rt(e.below,t));r=new Tt.MathNode("munder",[n,o])}else r=$t(),r=new Tt.MathNode("mover",[n,r]);return r}});var Zt=Ke.makeSpan;function Kt(e,t){var r=ft(e.body,t,!0);return Zt([e.mclass],r,t)}function Jt(e,t){var r,n=qt(e.body,t);return"minner"===e.mclass?r=new Tt.MathNode("mpadded",n):"mord"===e.mclass?e.isCharacterBox?(r=n[0]).type="mi":r=new Tt.MathNode("mi",n):(e.isCharacterBox?(r=n[0]).type="mo":r=new Tt.MathNode("mo",n),"mbin"===e.mclass?(r.attributes.lspace="0.22em",r.attributes.rspace="0.22em"):"mpunct"===e.mclass?(r.attributes.lspace="0em",r.attributes.rspace="0.17em"):"mopen"===e.mclass||"mclose"===e.mclass?(r.attributes.lspace="0em",r.attributes.rspace="0em"):"minner"===e.mclass&&(r.attributes.lspace="0.0556em",r.attributes.width="+0.1111em")),r}ot({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler:function(e,t){var r=e.parser,n=e.funcName,a=t[0];return{type:"mclass",mode:r.mode,mclass:"m"+n.slice(5),body:ht(a),isCharacterBox:l.isCharacterBox(a)}},htmlBuilder:Kt,mathmlBuilder:Jt});var Qt=function(e){var t="ordgroup"===e.type&&e.body.length?e.body[0]:e;return"atom"!==t.type||"bin"!==t.family&&"rel"!==t.family?"mord":"m"+t.family};ot({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler:function(e,t){return{type:"mclass",mode:e.parser.mode,mclass:Qt(t[0]),body:ht(t[1]),isCharacterBox:l.isCharacterBox(t[1])}}}),ot({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler:function(e,t){var r,n=e.parser,a=e.funcName,i=t[1],o=t[0];r="\\stackrel"!==a?Qt(i):"mrel";var s={type:"op",mode:i.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:"\\stackrel"!==a,body:ht(i)},h={type:"supsub",mode:o.mode,base:s,sup:"\\underset"===a?null:o,sub:"\\underset"===a?o:null};return{type:"mclass",mode:n.mode,mclass:r,body:[h],isCharacterBox:l.isCharacterBox(h)}},htmlBuilder:Kt,mathmlBuilder:Jt}),ot({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler:function(e,t){return{type:"pmb",mode:e.parser.mode,mclass:Qt(t[0]),body:ht(t[0])}},htmlBuilder:function(e,t){var r=ft(e.body,t,!0),n=Ke.makeSpan([e.mclass],r,t);return n.style.textShadow="0.02em 0.01em 0.04px",n},mathmlBuilder:function(e,t){var r=qt(e.body,t),n=new Tt.MathNode("mstyle",r);return n.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),n}});var er={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},tr=function(e){return"textord"===e.type&&"@"===e.text};function rr(e,t,r){var n=er[e];switch(n){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return r.callFunction(n,[t[0]],[t[1]]);case"\\uparrow":case"\\downarrow":var a={type:"atom",text:n,mode:"math",family:"rel"},i={type:"ordgroup",mode:"math",body:[r.callFunction("\\\\cdleft",[t[0]],[]),r.callFunction("\\Big",[a],[]),r.callFunction("\\\\cdright",[t[1]],[])]};return r.callFunction("\\\\cdparent",[i],[]);case"\\\\cdlongequal":return r.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":return r.callFunction("\\Big",[{type:"textord",text:"\\Vert",mode:"math"}],[]);default:return{type:"textord",text:" ",mode:"math"}}}ot({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler:function(e,t){var r=e.parser,n=e.funcName;return{type:"cdlabel",mode:r.mode,side:n.slice(4),label:t[0]}},htmlBuilder:function(e,t){var r=t.havingStyle(t.style.sup()),n=Ke.wrapFragment(wt(e.label,r,t),t);return n.classes.push("cd-label-"+e.side),n.style.bottom=F(.8-n.depth),n.height=0,n.depth=0,n},mathmlBuilder:function(e,t){var r=new Tt.MathNode("mrow",[Rt(e.label,t)]);return(r=new Tt.MathNode("mpadded",[r])).setAttribute("width","0"),"left"===e.side&&r.setAttribute("lspace","-1width"),r.setAttribute("voffset","0.7em"),(r=new Tt.MathNode("mstyle",[r])).setAttribute("displaystyle","false"),r.setAttribute("scriptlevel","1"),r}}),ot({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler:function(e,t){return{type:"cdlabelparent",mode:e.parser.mode,fragment:t[0]}},htmlBuilder:function(e,t){var r=Ke.wrapFragment(wt(e.fragment,t),t);return r.classes.push("cd-vert-arrow"),r},mathmlBuilder:function(e,t){return new Tt.MathNode("mrow",[Rt(e.fragment,t)])}}),ot({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler:function(e,t){for(var r=e.parser,a=Ut(t[0],"ordgroup").body,i="",o=0;o=1114111)throw new n("\\@char with invalid code point "+i);return l<=65535?s=String.fromCharCode(l):(l-=65536,s=String.fromCharCode(55296+(l>>10),56320+(1023&l))),{type:"textord",mode:r.mode,text:s}}});var nr=function(e,t){var r=ft(e.body,t.withColor(e.color),!1);return Ke.makeFragment(r)},ar=function(e,t){var r=qt(e.body,t.withColor(e.color)),n=new Tt.MathNode("mstyle",r);return n.setAttribute("mathcolor",e.color),n};ot({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler:function(e,t){var r=e.parser,n=Ut(t[0],"color-token").color,a=t[1];return{type:"color",mode:r.mode,color:n,body:ht(a)}},htmlBuilder:nr,mathmlBuilder:ar}),ot({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler:function(e,t){var r=e.parser,n=e.breakOnTokenText,a=Ut(t[0],"color-token").color;r.gullet.macros.set("\\current@color",a);var i=r.parseExpression(!0,n);return{type:"color",mode:r.mode,color:a,body:i}},htmlBuilder:nr,mathmlBuilder:ar}),ot({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler:function(e,t,r){var n=e.parser,a="["===n.gullet.future().text?n.parseSizeGroup(!0):null,i=!n.settings.displayMode||!n.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:n.mode,newLine:i,size:a&&Ut(a,"size").value}},htmlBuilder:function(e,t){var r=Ke.makeSpan(["mspace"],[],t);return e.newLine&&(r.classes.push("newline"),e.size&&(r.style.marginTop=F(P(e.size,t)))),r},mathmlBuilder:function(e,t){var r=new Tt.MathNode("mspace");return e.newLine&&(r.setAttribute("linebreak","newline"),e.size&&r.setAttribute("height",F(P(e.size,t)))),r}});var ir={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},or=function(e){var t=e.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(t))throw new n("Expected a control sequence",e);return t},sr=function(e,t,r,n){var a=e.gullet.macros.get(r.text);null==a&&(r.noexpand=!0,a={tokens:[r],numArgs:0,unexpandable:!e.gullet.isExpandable(r.text)}),e.gullet.macros.set(t,a,n)};ot({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler:function(e){var t=e.parser,r=e.funcName;t.consumeSpaces();var a=t.fetch();if(ir[a.text])return"\\global"!==r&&"\\\\globallong"!==r||(a.text=ir[a.text]),Ut(t.parseFunction(),"internal");throw new n("Invalid token after macro prefix",a)}}),ot({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler:function(e){var t=e.parser,r=e.funcName,a=t.gullet.popToken(),i=a.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(i))throw new n("Expected a control sequence",a);for(var o,s=0,l=[[]];"{"!==t.gullet.future().text;)if("#"===(a=t.gullet.popToken()).text){if("{"===t.gullet.future().text){o=t.gullet.future(),l[s].push("{");break}if(a=t.gullet.popToken(),!/^[1-9]$/.test(a.text))throw new n('Invalid argument number "'+a.text+'"');if(parseInt(a.text)!==s+1)throw new n('Argument number "'+a.text+'" out of order');s++,l.push([])}else{if("EOF"===a.text)throw new n("Expected a macro definition");l[s].push(a.text)}var h=t.gullet.consumeArg().tokens;return o&&h.unshift(o),"\\edef"!==r&&"\\xdef"!==r||(h=t.gullet.expandTokens(h)).reverse(),t.gullet.macros.set(i,{tokens:h,numArgs:s,delimiters:l},r===ir[r]),{type:"internal",mode:t.mode}}}),ot({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler:function(e){var t=e.parser,r=e.funcName,n=or(t.gullet.popToken());t.gullet.consumeSpaces();var a=function(e){var t=e.gullet.popToken();return"="===t.text&&" "===(t=e.gullet.popToken()).text&&(t=e.gullet.popToken()),t}(t);return sr(t,n,a,"\\\\globallet"===r),{type:"internal",mode:t.mode}}}),ot({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler:function(e){var t=e.parser,r=e.funcName,n=or(t.gullet.popToken()),a=t.gullet.popToken(),i=t.gullet.popToken();return sr(t,n,i,"\\\\globalfuture"===r),t.gullet.pushToken(i),t.gullet.pushToken(a),{type:"internal",mode:t.mode}}});var lr=function(e,t,r){var n=N(ae.math[e]&&ae.math[e].replace||e,t,r);if(!n)throw new Error("Unsupported symbol "+e+" and font size "+t+".");return n},hr=function(e,t,r,n){var a=r.havingBaseStyle(t),i=Ke.makeSpan(n.concat(a.sizingClasses(r)),[e],r),o=a.sizeMultiplier/r.sizeMultiplier;return i.height*=o,i.depth*=o,i.maxFontSize=a.sizeMultiplier,i},cr=function(e,t,r){var n=t.havingBaseStyle(r),a=(1-t.sizeMultiplier/n.sizeMultiplier)*t.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=F(a),e.height-=a,e.depth+=a},mr=function(e,t,r,n,a,i){var o=function(e,t,r,n){return Ke.makeSymbol(e,"Size"+t+"-Regular",r,n)}(e,t,a,n),s=hr(Ke.makeSpan(["delimsizing","size"+t],[o],n),x.TEXT,n,i);return r&&cr(s,n,x.TEXT),s},ur=function(e,t,r){var n;return n="Size1-Regular"===t?"delim-size1":"delim-size4",{type:"elem",elem:Ke.makeSpan(["delimsizinginner",n],[Ke.makeSpan([],[Ke.makeSymbol(e,t,r)])])}},pr=function(e,t,r){var n=T["Size4-Regular"][e.charCodeAt(0)]?T["Size4-Regular"][e.charCodeAt(0)][4]:T["Size1-Regular"][e.charCodeAt(0)][4],a=new J("inner",function(e,t){switch(e){case"\u239c":return"M291 0 H417 V"+t+" H291z M291 0 H417 V"+t+" H291z";case"\u2223":return"M145 0 H188 V"+t+" H145z M145 0 H188 V"+t+" H145z";case"\u2225":return"M145 0 H188 V"+t+" H145z M145 0 H188 V"+t+" H145zM367 0 H410 V"+t+" H367z M367 0 H410 V"+t+" H367z";case"\u239f":return"M457 0 H583 V"+t+" H457z M457 0 H583 V"+t+" H457z";case"\u23a2":return"M319 0 H403 V"+t+" H319z M319 0 H403 V"+t+" H319z";case"\u23a5":return"M263 0 H347 V"+t+" H263z M263 0 H347 V"+t+" H263z";case"\u23aa":return"M384 0 H504 V"+t+" H384z M384 0 H504 V"+t+" H384z";case"\u23d0":return"M312 0 H355 V"+t+" H312z M312 0 H355 V"+t+" H312z";case"\u2016":return"M257 0 H300 V"+t+" H257z M257 0 H300 V"+t+" H257zM478 0 H521 V"+t+" H478z M478 0 H521 V"+t+" H478z";default:return""}}(e,Math.round(1e3*t))),i=new K([a],{width:F(n),height:F(t),style:"width:"+F(n),viewBox:"0 0 "+1e3*n+" "+Math.round(1e3*t),preserveAspectRatio:"xMinYMin"}),o=Ke.makeSvgSpan([],[i],r);return o.height=t,o.style.height=F(t),o.style.width=F(n),{type:"elem",elem:o}},dr={type:"kern",size:-.008},fr=["|","\\lvert","\\rvert","\\vert"],gr=["\\|","\\lVert","\\rVert","\\Vert"],vr=function(e,t,r,n,a,i){var o,s,h,c,m="",u=0;o=h=c=e,s=null;var p="Size1-Regular";"\\uparrow"===e?h=c="\u23d0":"\\Uparrow"===e?h=c="\u2016":"\\downarrow"===e?o=h="\u23d0":"\\Downarrow"===e?o=h="\u2016":"\\updownarrow"===e?(o="\\uparrow",h="\u23d0",c="\\downarrow"):"\\Updownarrow"===e?(o="\\Uparrow",h="\u2016",c="\\Downarrow"):l.contains(fr,e)?(h="\u2223",m="vert",u=333):l.contains(gr,e)?(h="\u2225",m="doublevert",u=556):"["===e||"\\lbrack"===e?(o="\u23a1",h="\u23a2",c="\u23a3",p="Size4-Regular",m="lbrack",u=667):"]"===e||"\\rbrack"===e?(o="\u23a4",h="\u23a5",c="\u23a6",p="Size4-Regular",m="rbrack",u=667):"\\lfloor"===e||"\u230a"===e?(h=o="\u23a2",c="\u23a3",p="Size4-Regular",m="lfloor",u=667):"\\lceil"===e||"\u2308"===e?(o="\u23a1",h=c="\u23a2",p="Size4-Regular",m="lceil",u=667):"\\rfloor"===e||"\u230b"===e?(h=o="\u23a5",c="\u23a6",p="Size4-Regular",m="rfloor",u=667):"\\rceil"===e||"\u2309"===e?(o="\u23a4",h=c="\u23a5",p="Size4-Regular",m="rceil",u=667):"("===e||"\\lparen"===e?(o="\u239b",h="\u239c",c="\u239d",p="Size4-Regular",m="lparen",u=875):")"===e||"\\rparen"===e?(o="\u239e",h="\u239f",c="\u23a0",p="Size4-Regular",m="rparen",u=875):"\\{"===e||"\\lbrace"===e?(o="\u23a7",s="\u23a8",c="\u23a9",h="\u23aa",p="Size4-Regular"):"\\}"===e||"\\rbrace"===e?(o="\u23ab",s="\u23ac",c="\u23ad",h="\u23aa",p="Size4-Regular"):"\\lgroup"===e||"\u27ee"===e?(o="\u23a7",c="\u23a9",h="\u23aa",p="Size4-Regular"):"\\rgroup"===e||"\u27ef"===e?(o="\u23ab",c="\u23ad",h="\u23aa",p="Size4-Regular"):"\\lmoustache"===e||"\u23b0"===e?(o="\u23a7",c="\u23ad",h="\u23aa",p="Size4-Regular"):"\\rmoustache"!==e&&"\u23b1"!==e||(o="\u23ab",c="\u23a9",h="\u23aa",p="Size4-Regular");var d=lr(o,p,a),f=d.height+d.depth,g=lr(h,p,a),v=g.height+g.depth,b=lr(c,p,a),y=b.height+b.depth,w=0,k=1;if(null!==s){var S=lr(s,p,a);w=S.height+S.depth,k=2}var M=f+y+w,z=M+Math.max(0,Math.ceil((t-M)/(k*v)))*k*v,A=n.fontMetrics().axisHeight;r&&(A*=n.sizeMultiplier);var T=z/2-A,B=[];if(m.length>0){var C=z-f-y,N=Math.round(1e3*z),q=function(e,t){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+t+" v1759 h347 v-84\nH403z M403 1759 V0 H319 V1759 v"+t+" v1759 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+t+" v1759 H0 v84 H347z\nM347 1759 V0 H263 V1759 v"+t+" v1759 h84z";case"vert":return"M145 15 v585 v"+t+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-t+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v"+t+" v585 h43z";case"doublevert":return"M145 15 v585 v"+t+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-t+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v"+t+" v585 h43z\nM367 15 v585 v"+t+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-t+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M410 15 H367 v585 v"+t+" v585 h43z";case"lfloor":return"M319 602 V0 H403 V602 v"+t+" v1715 h263 v84 H319z\nMM319 602 V0 H403 V602 v"+t+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+t+" v1799 H0 v-84 H319z\nMM319 602 V0 H403 V602 v"+t+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+t+" v602 h84z\nM403 1759 V0 H319 V1759 v"+t+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+t+" v602 h84z\nM347 1759 V0 h-84 V1759 v"+t+" v602 h84z";case"lparen":return"M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1\nc-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349,\n-36,557 l0,"+(t+84)+"c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210,\n949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9\nc0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5,\n-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189\nl0,-"+(t+92)+"c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3,\n-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z";case"rparen":return"M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3,\n63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5\nc11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,"+(t+9)+"\nc-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664\nc-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11\nc0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17\nc242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558\nl0,-"+(t+144)+"c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,\n-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z";default:throw new Error("Unknown stretchy delimiter.")}}(m,Math.round(1e3*C)),I=new J(m,q),R=(u/1e3).toFixed(3)+"em",H=(N/1e3).toFixed(3)+"em",O=new K([I],{width:R,height:H,viewBox:"0 0 "+u+" "+N}),E=Ke.makeSvgSpan([],[O],n);E.height=N/1e3,E.style.width=R,E.style.height=H,B.push({type:"elem",elem:E})}else{if(B.push(ur(c,p,a)),B.push(dr),null===s){var L=z-f-y+.016;B.push(pr(h,L,n))}else{var D=(z-f-y-w)/2+.016;B.push(pr(h,D,n)),B.push(dr),B.push(ur(s,p,a)),B.push(dr),B.push(pr(h,D,n))}B.push(dr),B.push(ur(o,p,a))}var V=n.havingBaseStyle(x.TEXT),P=Ke.makeVList({positionType:"bottom",positionData:T,children:B},V);return hr(Ke.makeSpan(["delimsizing","mult"],[P],V),x.TEXT,n,i)},br=.08,yr=function(e,t,r,n,a){var i=function(e,t,r){t*=1e3;var n="";switch(e){case"sqrtMain":n=function(e,t){return"M95,"+(622+e+t)+"\nc-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14\nc0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54\nc44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10\ns173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429\nc69,-144,104.5,-217.7,106.5,-221\nl"+e/2.075+" -"+e+"\nc5.3,-9.3,12,-14,20,-14\nH400000v"+(40+e)+"H845.2724\ns-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7\nc-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z\nM"+(834+e)+" "+t+"h400000v"+(40+e)+"h-400000z"}(t,M);break;case"sqrtSize1":n=function(e,t){return"M263,"+(601+e+t)+"c0.7,0,18,39.7,52,119\nc34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120\nc340,-704.7,510.7,-1060.3,512,-1067\nl"+e/2.084+" -"+e+"\nc4.7,-7.3,11,-11,19,-11\nH40000v"+(40+e)+"H1012.3\ns-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232\nc-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1\ns-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26\nc-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z\nM"+(1001+e)+" "+t+"h400000v"+(40+e)+"h-400000z"}(t,M);break;case"sqrtSize2":n=function(e,t){return"M983 "+(10+e+t)+"\nl"+e/3.13+" -"+e+"\nc4,-6.7,10,-10,18,-10 H400000v"+(40+e)+"\nH1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7\ns-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744\nc-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30\nc26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722\nc56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5\nc53.7,-170.3,84.5,-266.8,92.5,-289.5z\nM"+(1001+e)+" "+t+"h400000v"+(40+e)+"h-400000z"}(t,M);break;case"sqrtSize3":n=function(e,t){return"M424,"+(2398+e+t)+"\nc-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514\nc0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20\ns-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121\ns209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081\nl"+e/4.223+" -"+e+"c4,-6.7,10,-10,18,-10 H400000\nv"+(40+e)+"H1014.6\ns-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185\nc-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2z M"+(1001+e)+" "+t+"\nh400000v"+(40+e)+"h-400000z"}(t,M);break;case"sqrtSize4":n=function(e,t){return"M473,"+(2713+e+t)+"\nc339.3,-1799.3,509.3,-2700,510,-2702 l"+e/5.298+" -"+e+"\nc3.3,-7.3,9.3,-11,18,-11 H400000v"+(40+e)+"H1017.7\ns-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200\nc0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26\ns76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,\n606zM"+(1001+e)+" "+t+"h400000v"+(40+e)+"H1017.7z"}(t,M);break;case"sqrtTall":n=function(e,t,r){return"M702 "+(e+t)+"H400000"+(40+e)+"\nH742v"+(r-54-t-e)+"l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1\nh-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170\nc-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667\n219 661 l218 661zM702 "+t+"H400000v"+(40+e)+"H742z"}(t,M,r)}return n}(e,n,r),o=new J(e,i),s=new K([o],{width:"400em",height:F(t),viewBox:"0 0 400000 "+r,preserveAspectRatio:"xMinYMin slice"});return Ke.makeSvgSpan(["hide-tail"],[s],a)},xr=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230a","\u230b","\\lceil","\\rceil","\u2308","\u2309","\\surd"],wr=["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27ee","\u27ef","\\lmoustache","\\rmoustache","\u23b0","\u23b1"],kr=["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"],Sr=[0,1.2,1.8,2.4,3],Mr=[{type:"small",style:x.SCRIPTSCRIPT},{type:"small",style:x.SCRIPT},{type:"small",style:x.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],zr=[{type:"small",style:x.SCRIPTSCRIPT},{type:"small",style:x.SCRIPT},{type:"small",style:x.TEXT},{type:"stack"}],Ar=[{type:"small",style:x.SCRIPTSCRIPT},{type:"small",style:x.SCRIPT},{type:"small",style:x.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],Tr=function(e){if("small"===e.type)return"Main-Regular";if("large"===e.type)return"Size"+e.size+"-Regular";if("stack"===e.type)return"Size4-Regular";throw new Error("Add support for delim type '"+e.type+"' here.")},Br=function(e,t,r,n){for(var a=Math.min(2,3-n.style.size);at)return r[a]}return r[r.length-1]},Cr=function(e,t,r,n,a,i){var o;"<"===e||"\\lt"===e||"\u27e8"===e?e="\\langle":">"!==e&&"\\gt"!==e&&"\u27e9"!==e||(e="\\rangle"),o=l.contains(kr,e)?Mr:l.contains(xr,e)?Ar:zr;var s=Br(e,t,o,n);return"small"===s.type?function(e,t,r,n,a,i){var o=Ke.makeSymbol(e,"Main-Regular",a,n),s=hr(o,t,n,i);return r&&cr(s,n,t),s}(e,s.style,r,n,a,i):"large"===s.type?mr(e,s.size,r,n,a,i):vr(e,t,r,n,a,i)},Nr={sqrtImage:function(e,t){var r,n,a=t.havingBaseSizing(),i=Br("\\surd",e*a.sizeMultiplier,Ar,a),o=a.sizeMultiplier,s=Math.max(0,t.minRuleThickness-t.fontMetrics().sqrtRuleThickness),l=0,h=0,c=0;return"small"===i.type?(e<1?o=1:e<1.4&&(o=.7),h=(1+s)/o,(r=yr("sqrtMain",l=(1+s+br)/o,c=1e3+1e3*s+80,s,t)).style.minWidth="0.853em",n=.833/o):"large"===i.type?(c=1080*Sr[i.size],h=(Sr[i.size]+s)/o,l=(Sr[i.size]+s+br)/o,(r=yr("sqrtSize"+i.size,l,c,s,t)).style.minWidth="1.02em",n=1/o):(l=e+s+br,h=e+s,c=Math.floor(1e3*e+s)+80,(r=yr("sqrtTall",l,c,s,t)).style.minWidth="0.742em",n=1.056),r.height=h,r.style.height=F(l),{span:r,advanceWidth:n,ruleWidth:(t.fontMetrics().sqrtRuleThickness+s)*o}},sizedDelim:function(e,t,r,a,i){if("<"===e||"\\lt"===e||"\u27e8"===e?e="\\langle":">"!==e&&"\\gt"!==e&&"\u27e9"!==e||(e="\\rangle"),l.contains(xr,e)||l.contains(kr,e))return mr(e,t,!1,r,a,i);if(l.contains(wr,e))return vr(e,Sr[t],!1,r,a,i);throw new n("Illegal delimiter: '"+e+"'")},sizeToMaxHeight:Sr,customSizedDelim:Cr,leftRightDelim:function(e,t,r,n,a,i){var o=n.fontMetrics().axisHeight*n.sizeMultiplier,s=5/n.fontMetrics().ptPerEm,l=Math.max(t-o,r+o),h=Math.max(l/500*901,2*l-s);return Cr(e,h,!0,n,a,i)}},qr={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},Ir=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230a","\u230b","\\lceil","\\rceil","\u2308","\u2309","<",">","\\langle","\u27e8","\\rangle","\u27e9","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27ee","\u27ef","\\lmoustache","\\rmoustache","\u23b0","\u23b1","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."];function Rr(e,t){var r=Xt(e);if(r&&l.contains(Ir,r.text))return r;throw new n(r?"Invalid delimiter '"+r.text+"' after '"+t.funcName+"'":"Invalid delimiter type '"+e.type+"'",e)}function Hr(e){if(!e.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}ot({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:function(e,t){var r=Rr(t[0],e);return{type:"delimsizing",mode:e.parser.mode,size:qr[e.funcName].size,mclass:qr[e.funcName].mclass,delim:r.text}},htmlBuilder:function(e,t){return"."===e.delim?Ke.makeSpan([e.mclass]):Nr.sizedDelim(e.delim,e.size,t,e.mode,[e.mclass])},mathmlBuilder:function(e){var t=[];"."!==e.delim&&t.push(Bt(e.delim,e.mode));var r=new Tt.MathNode("mo",t);"mopen"===e.mclass||"mclose"===e.mclass?r.setAttribute("fence","true"):r.setAttribute("fence","false"),r.setAttribute("stretchy","true");var n=F(Nr.sizeToMaxHeight[e.size]);return r.setAttribute("minsize",n),r.setAttribute("maxsize",n),r}}),ot({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:function(e,t){var r=e.parser.gullet.macros.get("\\current@color");if(r&&"string"!=typeof r)throw new n("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:e.parser.mode,delim:Rr(t[0],e).text,color:r}}}),ot({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:function(e,t){var r=Rr(t[0],e),n=e.parser;++n.leftrightDepth;var a=n.parseExpression(!1);--n.leftrightDepth,n.expect("\\right",!1);var i=Ut(n.parseFunction(),"leftright-right");return{type:"leftright",mode:n.mode,body:a,left:r.text,right:i.delim,rightColor:i.color}},htmlBuilder:function(e,t){Hr(e);for(var r,n,a=ft(e.body,t,!0,["mopen","mclose"]),i=0,o=0,s=!1,l=0;l-1?"mpadded":"menclose",[Rt(e.body,t)]);switch(e.label){case"\\cancel":n.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":n.setAttribute("notation","downdiagonalstrike");break;case"\\phase":n.setAttribute("notation","phasorangle");break;case"\\sout":n.setAttribute("notation","horizontalstrike");break;case"\\fbox":n.setAttribute("notation","box");break;case"\\angl":n.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(r=t.fontMetrics().fboxsep*t.fontMetrics().ptPerEm,n.setAttribute("width","+"+2*r+"pt"),n.setAttribute("height","+"+2*r+"pt"),n.setAttribute("lspace",r+"pt"),n.setAttribute("voffset",r+"pt"),"\\fcolorbox"===e.label){var a=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness);n.setAttribute("style","border: "+a+"em solid "+String(e.borderColor))}break;case"\\xcancel":n.setAttribute("notation","updiagonalstrike downdiagonalstrike")}return e.backgroundColor&&n.setAttribute("mathbackground",e.backgroundColor),n};ot({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler:function(e,t,r){var n=e.parser,a=e.funcName,i=Ut(t[0],"color-token").color,o=t[1];return{type:"enclose",mode:n.mode,label:a,backgroundColor:i,body:o}},htmlBuilder:Or,mathmlBuilder:Er}),ot({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler:function(e,t,r){var n=e.parser,a=e.funcName,i=Ut(t[0],"color-token").color,o=Ut(t[1],"color-token").color,s=t[2];return{type:"enclose",mode:n.mode,label:a,backgroundColor:o,borderColor:i,body:s}},htmlBuilder:Or,mathmlBuilder:Er}),ot({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler:function(e,t){return{type:"enclose",mode:e.parser.mode,label:"\\fbox",body:t[0]}}}),ot({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\sout","\\phase"],props:{numArgs:1},handler:function(e,t){var r=e.parser,n=e.funcName,a=t[0];return{type:"enclose",mode:r.mode,label:n,body:a}},htmlBuilder:Or,mathmlBuilder:Er}),ot({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler:function(e,t){return{type:"enclose",mode:e.parser.mode,label:"\\angl",body:t[0]}}});var Lr={};function Dr(e){for(var t=e.type,r=e.names,n=e.props,a=e.handler,i=e.htmlBuilder,o=e.mathmlBuilder,s={type:t,numArgs:n.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:a},l=0;l1||!m)&&g.pop(),b.length0&&(y+=.25),c.push({pos:y,isDashed:e[t]})}for(w(o[0]),r=0;r0&&(M<(B+=b)&&(M=B),B=0),e.addJot&&(M+=f),z.height=S,z.depth=M,y+=S,z.pos=y,y+=M+B,h[r]=z,w(o[r+1])}var C,N,q=y/2+t.fontMetrics().axisHeight,I=e.cols||[],R=[],H=[];if(e.tags&&e.tags.some((function(e){return e})))for(r=0;r=s)){var W=void 0;(a>0||e.hskipBeforeAndAfter)&&0!==(W=l.deflt(V.pregap,p))&&((C=Ke.makeSpan(["arraycolsep"],[])).style.width=F(W),R.push(C));var _=[];for(r=0;r0){for(var K=Ke.makeLineSpan("hline",t,m),J=Ke.makeLineSpan("hdashline",t,m),Q=[{type:"elem",elem:h,shift:0}];c.length>0;){var ee=c.pop(),te=ee.pos-q;ee.isDashed?Q.push({type:"elem",elem:J,shift:te}):Q.push({type:"elem",elem:K,shift:te})}h=Ke.makeVList({positionType:"individualShift",children:Q},t)}if(0===H.length)return Ke.makeSpan(["mord"],[h],t);var re=Ke.makeVList({positionType:"individualShift",children:H},t);return re=Ke.makeSpan(["tag"],[re],t),Ke.makeFragment([h,re])},$r={c:"center ",l:"left ",r:"right "},Zr=function(e,t){for(var r=[],n=new Tt.MathNode("mtd",[],["mtr-glue"]),a=new Tt.MathNode("mtd",[],["mml-eqn-num"]),i=0;i0){var p=e.cols,d="",f=!1,g=0,v=p.length;"separator"===p[0].type&&(m+="top ",g=1),"separator"===p[p.length-1].type&&(m+="bottom ",v-=1);for(var b=g;b0?"left ":"",m+=S[S.length-1].length>0?"right ":"";for(var M=1;M-1?"alignat":"align",o="split"===e.envName,s=Wr(e.parser,{cols:a,addJot:!0,autoTag:o?void 0:Xr(e.envName),emptySingleRow:!0,colSeparationType:i,maxNumCols:o?2:void 0,leqno:e.parser.settings.leqno},"display"),l=0,h={type:"ordgroup",mode:e.mode,body:[]};if(t[0]&&"ordgroup"===t[0].type){for(var c="",m=0;m0&&u&&(f=1),a[p]={type:"align",align:d,pregap:f,postgap:0}}return s.colSeparationType=u?"align":"alignat",s};Dr({type:"array",names:["array","darray"],props:{numArgs:1},handler:function(e,t){var r=(Xt(t[0])?[t[0]]:Ut(t[0],"ordgroup").body).map((function(e){var t=Yt(e).text;if(-1!=="lcr".indexOf(t))return{type:"align",align:t};if("|"===t)return{type:"separator",separator:"|"};if(":"===t)return{type:"separator",separator:":"};throw new n("Unknown column alignment: "+t,e)})),a={cols:r,hskipBeforeAndAfter:!0,maxNumCols:r.length};return Wr(e.parser,a,_r(e.envName))},htmlBuilder:jr,mathmlBuilder:Zr}),Dr({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler:function(e){var t={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[e.envName.replace("*","")],r="c",a={hskipBeforeAndAfter:!1,cols:[{type:"align",align:r}]};if("*"===e.envName.charAt(e.envName.length-1)){var i=e.parser;if(i.consumeSpaces(),"["===i.fetch().text){if(i.consume(),i.consumeSpaces(),r=i.fetch().text,-1==="lcr".indexOf(r))throw new n("Expected l or c or r",i.nextToken);i.consume(),i.consumeSpaces(),i.expect("]"),i.consume(),a.cols=[{type:"align",align:r}]}}var o=Wr(e.parser,a,_r(e.envName)),s=Math.max.apply(Math,[0].concat(o.body.map((function(e){return e.length}))));return o.cols=new Array(s).fill({type:"align",align:r}),t?{type:"leftright",mode:e.mode,body:[o],left:t[0],right:t[1],rightColor:void 0}:o},htmlBuilder:jr,mathmlBuilder:Zr}),Dr({type:"array",names:["smallmatrix"],props:{numArgs:0},handler:function(e){var t=Wr(e.parser,{arraystretch:.5},"script");return t.colSeparationType="small",t},htmlBuilder:jr,mathmlBuilder:Zr}),Dr({type:"array",names:["subarray"],props:{numArgs:1},handler:function(e,t){var r=(Xt(t[0])?[t[0]]:Ut(t[0],"ordgroup").body).map((function(e){var t=Yt(e).text;if(-1!=="lc".indexOf(t))return{type:"align",align:t};throw new n("Unknown column alignment: "+t,e)}));if(r.length>1)throw new n("{subarray} can contain only one column");var a={cols:r,hskipBeforeAndAfter:!1,arraystretch:.5};if((a=Wr(e.parser,a,"script")).body.length>0&&a.body[0].length>1)throw new n("{subarray} can contain only one column");return a},htmlBuilder:jr,mathmlBuilder:Zr}),Dr({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler:function(e){var t=Wr(e.parser,{arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},_r(e.envName));return{type:"leftright",mode:e.mode,body:[t],left:e.envName.indexOf("r")>-1?".":"\\{",right:e.envName.indexOf("r")>-1?"\\}":".",rightColor:void 0}},htmlBuilder:jr,mathmlBuilder:Zr}),Dr({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:Kr,htmlBuilder:jr,mathmlBuilder:Zr}),Dr({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler:function(e){l.contains(["gather","gather*"],e.envName)&&Yr(e);var t={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:Xr(e.envName),emptySingleRow:!0,leqno:e.parser.settings.leqno};return Wr(e.parser,t,"display")},htmlBuilder:jr,mathmlBuilder:Zr}),Dr({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:Kr,htmlBuilder:jr,mathmlBuilder:Zr}),Dr({type:"array",names:["equation","equation*"],props:{numArgs:0},handler:function(e){Yr(e);var t={autoTag:Xr(e.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:e.parser.settings.leqno};return Wr(e.parser,t,"display")},htmlBuilder:jr,mathmlBuilder:Zr}),Dr({type:"array",names:["CD"],props:{numArgs:0},handler:function(e){return Yr(e),function(e){var t=[];for(e.gullet.beginGroup(),e.gullet.macros.set("\\cr","\\\\\\relax"),e.gullet.beginGroup();;){t.push(e.parseExpression(!1,"\\\\")),e.gullet.endGroup(),e.gullet.beginGroup();var r=e.fetch().text;if("&"!==r&&"\\\\"!==r){if("\\end"===r){0===t[t.length-1].length&&t.pop();break}throw new n("Expected \\\\ or \\cr or \\end",e.nextToken)}e.consume()}for(var a,i,o=[],s=[o],l=0;l-1);else{if(!("<>AV".indexOf(u)>-1))throw new n('Expected one of "<>AV=|." after @',h[m]);for(var d=0;d<2;d++){for(var f=!0,g=m+1;g=x.SCRIPT.id?r.text():x.DISPLAY:"text"===e&&r.size===x.DISPLAY.size?r=x.TEXT:"script"===e?r=x.SCRIPT:"scriptscript"===e&&(r=x.SCRIPTSCRIPT),r},nn=function(e,t){var r,n=rn(e.size,t.style),a=n.fracNum(),i=n.fracDen();r=t.havingStyle(a);var o=wt(e.numer,r,t);if(e.continued){var s=8.5/t.fontMetrics().ptPerEm,l=3.5/t.fontMetrics().ptPerEm;o.height=o.height0?3*m:7*m,d=t.fontMetrics().denom1):(c>0?(u=t.fontMetrics().num2,p=m):(u=t.fontMetrics().num3,p=3*m),d=t.fontMetrics().denom2),h){var w=t.fontMetrics().axisHeight;u-o.depth-(w+.5*c)0&&(t="."===(t=e)?null:t),t};ot({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler:function(e,t){var r,n=e.parser,a=t[4],i=t[5],o=lt(t[0]),s="atom"===o.type&&"open"===o.family?sn(o.text):null,l=lt(t[1]),h="atom"===l.type&&"close"===l.family?sn(l.text):null,c=Ut(t[2],"size"),m=null;r=!!c.isBlank||(m=c.value).number>0;var u="auto",p=t[3];if("ordgroup"===p.type){if(p.body.length>0){var d=Ut(p.body[0],"textord");u=on[Number(d.text)]}}else p=Ut(p,"textord"),u=on[Number(p.text)];return{type:"genfrac",mode:n.mode,numer:a,denom:i,continued:!1,hasBarLine:r,barSize:m,leftDelim:s,rightDelim:h,size:u}},htmlBuilder:nn,mathmlBuilder:an}),ot({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler:function(e,t){var r=e.parser,n=(e.funcName,e.token);return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:Ut(t[0],"size").value,token:n}}}),ot({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:function(e,t){var r=e.parser,n=(e.funcName,t[0]),a=function(e){if(!e)throw new Error("Expected non-null, but got "+String(e));return e}(Ut(t[1],"infix").size),i=t[2],o=a.number>0;return{type:"genfrac",mode:r.mode,numer:n,denom:i,continued:!1,hasBarLine:o,barSize:a,leftDelim:null,rightDelim:null,size:"auto"}},htmlBuilder:nn,mathmlBuilder:an});var ln=function(e,t){var r,n,a=t.style;"supsub"===e.type?(r=e.sup?wt(e.sup,t.havingStyle(a.sup()),t):wt(e.sub,t.havingStyle(a.sub()),t),n=Ut(e.base,"horizBrace")):n=Ut(e,"horizBrace");var i,o=wt(n.base,t.havingBaseStyle(x.DISPLAY)),s=Gt(n,t);if(n.isOver?(i=Ke.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:o},{type:"kern",size:.1},{type:"elem",elem:s}]},t)).children[0].children[0].children[1].classes.push("svg-align"):(i=Ke.makeVList({positionType:"bottom",positionData:o.depth+.1+s.height,children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:o}]},t)).children[0].children[0].children[0].classes.push("svg-align"),r){var l=Ke.makeSpan(["mord",n.isOver?"mover":"munder"],[i],t);i=n.isOver?Ke.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:l},{type:"kern",size:.2},{type:"elem",elem:r}]},t):Ke.makeVList({positionType:"bottom",positionData:l.depth+.2+r.height+r.depth,children:[{type:"elem",elem:r},{type:"kern",size:.2},{type:"elem",elem:l}]},t)}return Ke.makeSpan(["mord",n.isOver?"mover":"munder"],[i],t)};ot({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler:function(e,t){var r=e.parser,n=e.funcName;return{type:"horizBrace",mode:r.mode,label:n,isOver:/^\\over/.test(n),base:t[0]}},htmlBuilder:ln,mathmlBuilder:function(e,t){var r=Ft(e.label);return new Tt.MathNode(e.isOver?"mover":"munder",[Rt(e.base,t),r])}}),ot({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:function(e,t){var r=e.parser,n=t[1],a=Ut(t[0],"url").url;return r.settings.isTrusted({command:"\\href",url:a})?{type:"href",mode:r.mode,href:a,body:ht(n)}:r.formatUnsupportedCmd("\\href")},htmlBuilder:function(e,t){var r=ft(e.body,t,!1);return Ke.makeAnchor(e.href,[],r,t)},mathmlBuilder:function(e,t){var r=It(e.body,t);return r instanceof zt||(r=new zt("mrow",[r])),r.setAttribute("href",e.href),r}}),ot({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:function(e,t){var r=e.parser,n=Ut(t[0],"url").url;if(!r.settings.isTrusted({command:"\\url",url:n}))return r.formatUnsupportedCmd("\\url");for(var a=[],i=0;i0&&(n=P(e.totalheight,t)-r);var a=0;e.width.number>0&&(a=P(e.width,t));var i={height:F(r+n)};a>0&&(i.width=F(a)),n>0&&(i.verticalAlign=F(-n));var o=new j(e.src,e.alt,i);return o.height=r,o.depth=n,o},mathmlBuilder:function(e,t){var r=new Tt.MathNode("mglyph",[]);r.setAttribute("alt",e.alt);var n=P(e.height,t),a=0;if(e.totalheight.number>0&&(a=P(e.totalheight,t)-n,r.setAttribute("valign",F(-a))),r.setAttribute("height",F(n+a)),e.width.number>0){var i=P(e.width,t);r.setAttribute("width",F(i))}return r.setAttribute("src",e.src),r}}),ot({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler:function(e,t){var r=e.parser,n=e.funcName,a=Ut(t[0],"size");if(r.settings.strict){var i="m"===n[1],o="mu"===a.value.unit;i?(o||r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" supports only mu units, not "+a.value.unit+" units"),"math"!==r.mode&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" works only in math mode")):o&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" doesn't support mu units")}return{type:"kern",mode:r.mode,dimension:a.value}},htmlBuilder:function(e,t){return Ke.makeGlue(e.dimension,t)},mathmlBuilder:function(e,t){var r=P(e.dimension,t);return new Tt.SpaceNode(r)}}),ot({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:function(e,t){var r=e.parser,n=e.funcName,a=t[0];return{type:"lap",mode:r.mode,alignment:n.slice(5),body:a}},htmlBuilder:function(e,t){var r;"clap"===e.alignment?(r=Ke.makeSpan([],[wt(e.body,t)]),r=Ke.makeSpan(["inner"],[r],t)):r=Ke.makeSpan(["inner"],[wt(e.body,t)]);var n=Ke.makeSpan(["fix"],[]),a=Ke.makeSpan([e.alignment],[r,n],t),i=Ke.makeSpan(["strut"]);return i.style.height=F(a.height+a.depth),a.depth&&(i.style.verticalAlign=F(-a.depth)),a.children.unshift(i),a=Ke.makeSpan(["thinbox"],[a],t),Ke.makeSpan(["mord","vbox"],[a],t)},mathmlBuilder:function(e,t){var r=new Tt.MathNode("mpadded",[Rt(e.body,t)]);if("rlap"!==e.alignment){var n="llap"===e.alignment?"-1":"-0.5";r.setAttribute("lspace",n+"width")}return r.setAttribute("width","0px"),r}}),ot({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler:function(e,t){var r=e.funcName,n=e.parser,a=n.mode;n.switchMode("math");var i="\\("===r?"\\)":"$",o=n.parseExpression(!1,i);return n.expect(i),n.switchMode(a),{type:"styling",mode:n.mode,style:"text",body:o}}}),ot({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler:function(e,t){throw new n("Mismatched "+e.funcName)}});var cn=function(e,t){switch(t.style.size){case x.DISPLAY.size:return e.display;case x.TEXT.size:return e.text;case x.SCRIPT.size:return e.script;case x.SCRIPTSCRIPT.size:return e.scriptscript;default:return e.text}};ot({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:function(e,t){return{type:"mathchoice",mode:e.parser.mode,display:ht(t[0]),text:ht(t[1]),script:ht(t[2]),scriptscript:ht(t[3])}},htmlBuilder:function(e,t){var r=cn(e,t),n=ft(r,t,!1);return Ke.makeFragment(n)},mathmlBuilder:function(e,t){var r=cn(e,t);return It(r,t)}});var mn=function(e,t,r,n,a,i,o){e=Ke.makeSpan([],[e]);var s,h,c,m=r&&l.isCharacterBox(r);if(t){var u=wt(t,n.havingStyle(a.sup()),n);h={elem:u,kern:Math.max(n.fontMetrics().bigOpSpacing1,n.fontMetrics().bigOpSpacing3-u.depth)}}if(r){var p=wt(r,n.havingStyle(a.sub()),n);s={elem:p,kern:Math.max(n.fontMetrics().bigOpSpacing2,n.fontMetrics().bigOpSpacing4-p.height)}}if(h&&s){var d=n.fontMetrics().bigOpSpacing5+s.elem.height+s.elem.depth+s.kern+e.depth+o;c=Ke.makeVList({positionType:"bottom",positionData:d,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:s.elem,marginLeft:F(-i)},{type:"kern",size:s.kern},{type:"elem",elem:e},{type:"kern",size:h.kern},{type:"elem",elem:h.elem,marginLeft:F(i)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]},n)}else if(s){var f=e.height-o;c=Ke.makeVList({positionType:"top",positionData:f,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:s.elem,marginLeft:F(-i)},{type:"kern",size:s.kern},{type:"elem",elem:e}]},n)}else{if(!h)return e;var g=e.depth+o;c=Ke.makeVList({positionType:"bottom",positionData:g,children:[{type:"elem",elem:e},{type:"kern",size:h.kern},{type:"elem",elem:h.elem,marginLeft:F(i)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]},n)}var v=[c];if(s&&0!==i&&!m){var b=Ke.makeSpan(["mspace"],[],n);b.style.marginRight=F(i),v.unshift(b)}return Ke.makeSpan(["mop","op-limits"],v,n)},un=["\\smallint"],pn=function(e,t){var r,n,a,i=!1;"supsub"===e.type?(r=e.sup,n=e.sub,a=Ut(e.base,"op"),i=!0):a=Ut(e,"op");var o,s=t.style,h=!1;if(s.size===x.DISPLAY.size&&a.symbol&&!l.contains(un,a.name)&&(h=!0),a.symbol){var c=h?"Size2-Regular":"Size1-Regular",m="";if("\\oiint"!==a.name&&"\\oiiint"!==a.name||(m=a.name.slice(1),a.name="oiint"===m?"\\iint":"\\iiint"),o=Ke.makeSymbol(a.name,c,"math",t,["mop","op-symbol",h?"large-op":"small-op"]),m.length>0){var u=o.italic,p=Ke.staticSvg(m+"Size"+(h?"2":"1"),t);o=Ke.makeVList({positionType:"individualShift",children:[{type:"elem",elem:o,shift:0},{type:"elem",elem:p,shift:h?.08:0}]},t),a.name="\\"+m,o.classes.unshift("mop"),o.italic=u}}else if(a.body){var d=ft(a.body,t,!0);1===d.length&&d[0]instanceof Z?(o=d[0]).classes[0]="mop":o=Ke.makeSpan(["mop"],d,t)}else{for(var f=[],g=1;g0){for(var s=a.body.map((function(e){var t=e.text;return"string"==typeof t?{type:"textord",mode:e.mode,text:t}:e})),l=ft(s,t.withFont("mathrm"),!0),h=0;h=0?s.setAttribute("height",F(a)):(s.setAttribute("height",F(a)),s.setAttribute("depth",F(-a))),s.setAttribute("voffset",F(a)),s}});var yn=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"];ot({type:"sizing",names:yn,props:{numArgs:0,allowedInText:!0},handler:function(e,t){var r=e.breakOnTokenText,n=e.funcName,a=e.parser,i=a.parseExpression(!1,r);return{type:"sizing",mode:a.mode,size:yn.indexOf(n)+1,body:i}},htmlBuilder:function(e,t){var r=t.havingSize(e.size);return bn(e.body,r,t)},mathmlBuilder:function(e,t){var r=t.havingSize(e.size),n=qt(e.body,r),a=new Tt.MathNode("mstyle",n);return a.setAttribute("mathsize",F(r.sizeMultiplier)),a}}),ot({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:function(e,t,r){var n=e.parser,a=!1,i=!1,o=r[0]&&Ut(r[0],"ordgroup");if(o)for(var s="",l=0;lr.height+r.depth+i&&(i=(i+m-r.height-r.depth)/2);var u=l.height-r.height-i-h;r.style.paddingLeft=F(c);var p=Ke.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+u)},{type:"elem",elem:l},{type:"kern",size:h}]},t);if(e.index){var d=t.havingStyle(x.SCRIPTSCRIPT),f=wt(e.index,d,t),g=.6*(p.height-p.depth),v=Ke.makeVList({positionType:"shift",positionData:-g,children:[{type:"elem",elem:f}]},t),b=Ke.makeSpan(["root"],[v]);return Ke.makeSpan(["mord","sqrt"],[b,p],t)}return Ke.makeSpan(["mord","sqrt"],[p],t)},mathmlBuilder:function(e,t){var r=e.body,n=e.index;return n?new Tt.MathNode("mroot",[Rt(r,t),Rt(n,t)]):new Tt.MathNode("msqrt",[Rt(r,t)])}});var xn={display:x.DISPLAY,text:x.TEXT,script:x.SCRIPT,scriptscript:x.SCRIPTSCRIPT};ot({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler:function(e,t){var r=e.breakOnTokenText,n=e.funcName,a=e.parser,i=a.parseExpression(!0,r),o=n.slice(1,n.length-5);return{type:"styling",mode:a.mode,style:o,body:i}},htmlBuilder:function(e,t){var r=xn[e.style],n=t.havingStyle(r).withFont("");return bn(e.body,n,t)},mathmlBuilder:function(e,t){var r=xn[e.style],n=t.havingStyle(r),a=qt(e.body,n),i=new Tt.MathNode("mstyle",a),o={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]}[e.style];return i.setAttribute("scriptlevel",o[0]),i.setAttribute("displaystyle",o[1]),i}});var wn=function(e,t){var r=e.base;return r?"op"===r.type?r.limits&&(t.style.size===x.DISPLAY.size||r.alwaysHandleSupSub)?pn:null:"operatorname"===r.type?r.alwaysHandleSupSub&&(t.style.size===x.DISPLAY.size||r.limits)?vn:null:"accent"===r.type?l.isCharacterBox(r.base)?Wt:null:"horizBrace"===r.type&&!e.sub===r.isOver?ln:null:null};st({type:"supsub",htmlBuilder:function(e,t){var r=wn(e,t);if(r)return r(e,t);var n,a,i,o=e.base,s=e.sup,h=e.sub,c=wt(o,t),m=t.fontMetrics(),u=0,p=0,d=o&&l.isCharacterBox(o);if(s){var f=t.havingStyle(t.style.sup());n=wt(s,f,t),d||(u=c.height-f.fontMetrics().supDrop*f.sizeMultiplier/t.sizeMultiplier)}if(h){var g=t.havingStyle(t.style.sub());a=wt(h,g,t),d||(p=c.depth+g.fontMetrics().subDrop*g.sizeMultiplier/t.sizeMultiplier)}i=t.style===x.DISPLAY?m.sup1:t.style.cramped?m.sup3:m.sup2;var v,b=t.sizeMultiplier,y=F(.5/m.ptPerEm/b),w=null;if(a){var k=e.base&&"op"===e.base.type&&e.base.name&&("\\oiint"===e.base.name||"\\oiiint"===e.base.name);(c instanceof Z||k)&&(w=F(-c.italic))}if(n&&a){u=Math.max(u,i,n.depth+.25*m.xHeight),p=Math.max(p,m.sub2);var S=4*m.defaultRuleThickness;if(u-n.depth-(a.height-p)0&&(u+=M,p-=M)}var z=[{type:"elem",elem:a,shift:p,marginRight:y,marginLeft:w},{type:"elem",elem:n,shift:-u,marginRight:y}];v=Ke.makeVList({positionType:"individualShift",children:z},t)}else if(a){p=Math.max(p,m.sub1,a.height-.8*m.xHeight);var A=[{type:"elem",elem:a,marginLeft:w,marginRight:y}];v=Ke.makeVList({positionType:"shift",positionData:p,children:A},t)}else{if(!n)throw new Error("supsub must have either sup or sub.");u=Math.max(u,i,n.depth+.25*m.xHeight),v=Ke.makeVList({positionType:"shift",positionData:-u,children:[{type:"elem",elem:n,marginRight:y}]},t)}var T=yt(c,"right")||"mord";return Ke.makeSpan([T],[c,Ke.makeSpan(["msupsub"],[v])],t)},mathmlBuilder:function(e,t){var r,n=!1;e.base&&"horizBrace"===e.base.type&&!!e.sup===e.base.isOver&&(n=!0,r=e.base.isOver),!e.base||"op"!==e.base.type&&"operatorname"!==e.base.type||(e.base.parentIsSupSub=!0);var a,i=[Rt(e.base,t)];if(e.sub&&i.push(Rt(e.sub,t)),e.sup&&i.push(Rt(e.sup,t)),n)a=r?"mover":"munder";else if(e.sub)if(e.sup){var o=e.base;a=o&&"op"===o.type&&o.limits&&t.style===x.DISPLAY||o&&"operatorname"===o.type&&o.alwaysHandleSupSub&&(t.style===x.DISPLAY||o.limits)?"munderover":"msubsup"}else{var s=e.base;a=s&&"op"===s.type&&s.limits&&(t.style===x.DISPLAY||s.alwaysHandleSupSub)||s&&"operatorname"===s.type&&s.alwaysHandleSupSub&&(s.limits||t.style===x.DISPLAY)?"munder":"msub"}else{var l=e.base;a=l&&"op"===l.type&&l.limits&&(t.style===x.DISPLAY||l.alwaysHandleSupSub)||l&&"operatorname"===l.type&&l.alwaysHandleSupSub&&(l.limits||t.style===x.DISPLAY)?"mover":"msup"}return new Tt.MathNode(a,i)}}),st({type:"atom",htmlBuilder:function(e,t){return Ke.mathsym(e.text,e.mode,t,["m"+e.family])},mathmlBuilder:function(e,t){var r=new Tt.MathNode("mo",[Bt(e.text,e.mode)]);if("bin"===e.family){var n=Nt(e,t);"bold-italic"===n&&r.setAttribute("mathvariant",n)}else"punct"===e.family?r.setAttribute("separator","true"):"open"!==e.family&&"close"!==e.family||r.setAttribute("stretchy","false");return r}});var kn={mi:"italic",mn:"normal",mtext:"normal"};st({type:"mathord",htmlBuilder:function(e,t){return Ke.makeOrd(e,t,"mathord")},mathmlBuilder:function(e,t){var r=new Tt.MathNode("mi",[Bt(e.text,e.mode,t)]),n=Nt(e,t)||"italic";return n!==kn[r.type]&&r.setAttribute("mathvariant",n),r}}),st({type:"textord",htmlBuilder:function(e,t){return Ke.makeOrd(e,t,"textord")},mathmlBuilder:function(e,t){var r,n=Bt(e.text,e.mode,t),a=Nt(e,t)||"normal";return r="text"===e.mode?new Tt.MathNode("mtext",[n]):/[0-9]/.test(e.text)?new Tt.MathNode("mn",[n]):"\\prime"===e.text?new Tt.MathNode("mo",[n]):new Tt.MathNode("mi",[n]),a!==kn[r.type]&&r.setAttribute("mathvariant",a),r}});var Sn={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},Mn={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};st({type:"spacing",htmlBuilder:function(e,t){if(Mn.hasOwnProperty(e.text)){var r=Mn[e.text].className||"";if("text"===e.mode){var a=Ke.makeOrd(e,t,"textord");return a.classes.push(r),a}return Ke.makeSpan(["mspace",r],[Ke.mathsym(e.text,e.mode,t)],t)}if(Sn.hasOwnProperty(e.text))return Ke.makeSpan(["mspace",Sn[e.text]],[],t);throw new n('Unknown type of space "'+e.text+'"')},mathmlBuilder:function(e,t){if(!Mn.hasOwnProperty(e.text)){if(Sn.hasOwnProperty(e.text))return new Tt.MathNode("mspace");throw new n('Unknown type of space "'+e.text+'"')}return new Tt.MathNode("mtext",[new Tt.TextNode("\xa0")])}});var zn=function(){var e=new Tt.MathNode("mtd",[]);return e.setAttribute("width","50%"),e};st({type:"tag",mathmlBuilder:function(e,t){var r=new Tt.MathNode("mtable",[new Tt.MathNode("mtr",[zn(),new Tt.MathNode("mtd",[It(e.body,t)]),zn(),new Tt.MathNode("mtd",[It(e.tag,t)])])]);return r.setAttribute("width","100%"),r}});var An={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},Tn={"\\textbf":"textbf","\\textmd":"textmd"},Bn={"\\textit":"textit","\\textup":"textup"},Cn=function(e,t){var r=e.font;return r?An[r]?t.withTextFontFamily(An[r]):Tn[r]?t.withTextFontWeight(Tn[r]):t.withTextFontShape(Bn[r]):t};ot({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler:function(e,t){var r=e.parser,n=e.funcName,a=t[0];return{type:"text",mode:r.mode,body:ht(a),font:n}},htmlBuilder:function(e,t){var r=Cn(e,t),n=ft(e.body,r,!0);return Ke.makeSpan(["mord","text"],n,r)},mathmlBuilder:function(e,t){var r=Cn(e,t);return It(e.body,r)}}),ot({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler:function(e,t){return{type:"underline",mode:e.parser.mode,body:t[0]}},htmlBuilder:function(e,t){var r=wt(e.body,t),n=Ke.makeLineSpan("underline-line",t),a=t.fontMetrics().defaultRuleThickness,i=Ke.makeVList({positionType:"top",positionData:r.height,children:[{type:"kern",size:a},{type:"elem",elem:n},{type:"kern",size:3*a},{type:"elem",elem:r}]},t);return Ke.makeSpan(["mord","underline"],[i],t)},mathmlBuilder:function(e,t){var r=new Tt.MathNode("mo",[new Tt.TextNode("\u203e")]);r.setAttribute("stretchy","true");var n=new Tt.MathNode("munder",[Rt(e.body,t),r]);return n.setAttribute("accentunder","true"),n}}),ot({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler:function(e,t){return{type:"vcenter",mode:e.parser.mode,body:t[0]}},htmlBuilder:function(e,t){var r=wt(e.body,t),n=t.fontMetrics().axisHeight,a=.5*(r.height-n-(r.depth+n));return Ke.makeVList({positionType:"shift",positionData:a,children:[{type:"elem",elem:r}]},t)},mathmlBuilder:function(e,t){return new Tt.MathNode("mpadded",[Rt(e.body,t)],["vcenter"])}}),ot({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler:function(e,t,r){throw new n("\\verb ended by end of line instead of matching delimiter")},htmlBuilder:function(e,t){for(var r=Nn(e),n=[],a=t.havingStyle(t.style.text()),i=0;i0;)this.endGroup()},t.has=function(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)},t.get=function(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]},t.set=function(e,t,r){if(void 0===r&&(r=!1),r){for(var n=0;n0&&(this.undefStack[this.undefStack.length-1][e]=t)}else{var a=this.undefStack[this.undefStack.length-1];a&&!a.hasOwnProperty(e)&&(a[e]=this.current[e])}null==t?delete this.current[e]:this.current[e]=t},e}(),Vn=Vr;Pr("\\noexpand",(function(e){var t=e.popToken();return e.isExpandable(t.text)&&(t.noexpand=!0,t.treatAsRelax=!0),{tokens:[t],numArgs:0}})),Pr("\\expandafter",(function(e){var t=e.popToken();return e.expandOnce(!0),{tokens:[t],numArgs:0}})),Pr("\\@firstoftwo",(function(e){return{tokens:e.consumeArgs(2)[0],numArgs:0}})),Pr("\\@secondoftwo",(function(e){return{tokens:e.consumeArgs(2)[1],numArgs:0}})),Pr("\\@ifnextchar",(function(e){var t=e.consumeArgs(3);e.consumeSpaces();var r=e.future();return 1===t[0].length&&t[0][0].text===r.text?{tokens:t[1],numArgs:0}:{tokens:t[2],numArgs:0}})),Pr("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}"),Pr("\\TextOrMath",(function(e){var t=e.consumeArgs(2);return"text"===e.mode?{tokens:t[0],numArgs:0}:{tokens:t[1],numArgs:0}}));var Pn={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};Pr("\\char",(function(e){var t,r=e.popToken(),a="";if("'"===r.text)t=8,r=e.popToken();else if('"'===r.text)t=16,r=e.popToken();else if("`"===r.text)if("\\"===(r=e.popToken()).text[0])a=r.text.charCodeAt(1);else{if("EOF"===r.text)throw new n("\\char` missing argument");a=r.text.charCodeAt(0)}else t=10;if(t){if(null==(a=Pn[r.text])||a>=t)throw new n("Invalid base-"+t+" digit "+r.text);for(var i;null!=(i=Pn[e.future().text])&&i":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"};Pr("\\dots",(function(e){var t="\\dotso",r=e.expandAfterFuture().text;return r in Gn?t=Gn[r]:("\\not"===r.slice(0,4)||r in ae.math&&l.contains(["bin","rel"],ae.math[r].group))&&(t="\\dotsb"),t}));var Un={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};Pr("\\dotso",(function(e){return e.future().text in Un?"\\ldots\\,":"\\ldots"})),Pr("\\dotsc",(function(e){var t=e.future().text;return t in Un&&","!==t?"\\ldots\\,":"\\ldots"})),Pr("\\cdots",(function(e){return e.future().text in Un?"\\@cdots\\,":"\\@cdots"})),Pr("\\dotsb","\\cdots"),Pr("\\dotsm","\\cdots"),Pr("\\dotsi","\\!\\cdots"),Pr("\\dotsx","\\ldots\\,"),Pr("\\DOTSI","\\relax"),Pr("\\DOTSB","\\relax"),Pr("\\DOTSX","\\relax"),Pr("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax"),Pr("\\,","\\tmspace+{3mu}{.1667em}"),Pr("\\thinspace","\\,"),Pr("\\>","\\mskip{4mu}"),Pr("\\:","\\tmspace+{4mu}{.2222em}"),Pr("\\medspace","\\:"),Pr("\\;","\\tmspace+{5mu}{.2777em}"),Pr("\\thickspace","\\;"),Pr("\\!","\\tmspace-{3mu}{.1667em}"),Pr("\\negthinspace","\\!"),Pr("\\negmedspace","\\tmspace-{4mu}{.2222em}"),Pr("\\negthickspace","\\tmspace-{5mu}{.277em}"),Pr("\\enspace","\\kern.5em "),Pr("\\enskip","\\hskip.5em\\relax"),Pr("\\quad","\\hskip1em\\relax"),Pr("\\qquad","\\hskip2em\\relax"),Pr("\\tag","\\@ifstar\\tag@literal\\tag@paren"),Pr("\\tag@paren","\\tag@literal{({#1})}"),Pr("\\tag@literal",(function(e){if(e.macros.get("\\df@tag"))throw new n("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"})),Pr("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}"),Pr("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)"),Pr("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}"),Pr("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1"),Pr("\\newline","\\\\\\relax"),Pr("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var Yn=F(T["Main-Regular"]["T".charCodeAt(0)][1]-.7*T["Main-Regular"]["A".charCodeAt(0)][1]);Pr("\\LaTeX","\\textrm{\\html@mathml{L\\kern-.36em\\raisebox{"+Yn+"}{\\scriptstyle A}\\kern-.15em\\TeX}{LaTeX}}"),Pr("\\KaTeX","\\textrm{\\html@mathml{K\\kern-.17em\\raisebox{"+Yn+"}{\\scriptstyle A}\\kern-.15em\\TeX}{KaTeX}}"),Pr("\\hspace","\\@ifstar\\@hspacer\\@hspace"),Pr("\\@hspace","\\hskip #1\\relax"),Pr("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax"),Pr("\\ordinarycolon",":"),Pr("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}"),Pr("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}'),Pr("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}'),Pr("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}'),Pr("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}'),Pr("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}'),Pr("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}'),Pr("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}'),Pr("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}'),Pr("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}'),Pr("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}'),Pr("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}'),Pr("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}'),Pr("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}'),Pr("\u2237","\\dblcolon"),Pr("\u2239","\\eqcolon"),Pr("\u2254","\\coloneqq"),Pr("\u2255","\\eqqcolon"),Pr("\u2a74","\\Coloneqq"),Pr("\\ratio","\\vcentcolon"),Pr("\\coloncolon","\\dblcolon"),Pr("\\colonequals","\\coloneqq"),Pr("\\coloncolonequals","\\Coloneqq"),Pr("\\equalscolon","\\eqqcolon"),Pr("\\equalscoloncolon","\\Eqqcolon"),Pr("\\colonminus","\\coloneq"),Pr("\\coloncolonminus","\\Coloneq"),Pr("\\minuscolon","\\eqcolon"),Pr("\\minuscoloncolon","\\Eqcolon"),Pr("\\coloncolonapprox","\\Colonapprox"),Pr("\\coloncolonsim","\\Colonsim"),Pr("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),Pr("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}"),Pr("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),Pr("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}"),Pr("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220c}}"),Pr("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}"),Pr("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}"),Pr("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}"),Pr("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}"),Pr("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}"),Pr("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}"),Pr("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}"),Pr("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}"),Pr("\\gvertneqq","\\html@mathml{\\@gvertneqq}{\u2269}"),Pr("\\lvertneqq","\\html@mathml{\\@lvertneqq}{\u2268}"),Pr("\\ngeqq","\\html@mathml{\\@ngeqq}{\u2271}"),Pr("\\ngeqslant","\\html@mathml{\\@ngeqslant}{\u2271}"),Pr("\\nleqq","\\html@mathml{\\@nleqq}{\u2270}"),Pr("\\nleqslant","\\html@mathml{\\@nleqslant}{\u2270}"),Pr("\\nshortmid","\\html@mathml{\\@nshortmid}{\u2224}"),Pr("\\nshortparallel","\\html@mathml{\\@nshortparallel}{\u2226}"),Pr("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{\u2288}"),Pr("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{\u2289}"),Pr("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{\u228a}"),Pr("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{\u2acb}"),Pr("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{\u228b}"),Pr("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{\u2acc}"),Pr("\\imath","\\html@mathml{\\@imath}{\u0131}"),Pr("\\jmath","\\html@mathml{\\@jmath}{\u0237}"),Pr("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`\u27e6}}"),Pr("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`\u27e7}}"),Pr("\u27e6","\\llbracket"),Pr("\u27e7","\\rrbracket"),Pr("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`\u2983}}"),Pr("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`\u2984}}"),Pr("\u2983","\\lBrace"),Pr("\u2984","\\rBrace"),Pr("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`\u29b5}}"),Pr("\u29b5","\\minuso"),Pr("\\darr","\\downarrow"),Pr("\\dArr","\\Downarrow"),Pr("\\Darr","\\Downarrow"),Pr("\\lang","\\langle"),Pr("\\rang","\\rangle"),Pr("\\uarr","\\uparrow"),Pr("\\uArr","\\Uparrow"),Pr("\\Uarr","\\Uparrow"),Pr("\\N","\\mathbb{N}"),Pr("\\R","\\mathbb{R}"),Pr("\\Z","\\mathbb{Z}"),Pr("\\alef","\\aleph"),Pr("\\alefsym","\\aleph"),Pr("\\Alpha","\\mathrm{A}"),Pr("\\Beta","\\mathrm{B}"),Pr("\\bull","\\bullet"),Pr("\\Chi","\\mathrm{X}"),Pr("\\clubs","\\clubsuit"),Pr("\\cnums","\\mathbb{C}"),Pr("\\Complex","\\mathbb{C}"),Pr("\\Dagger","\\ddagger"),Pr("\\diamonds","\\diamondsuit"),Pr("\\empty","\\emptyset"),Pr("\\Epsilon","\\mathrm{E}"),Pr("\\Eta","\\mathrm{H}"),Pr("\\exist","\\exists"),Pr("\\harr","\\leftrightarrow"),Pr("\\hArr","\\Leftrightarrow"),Pr("\\Harr","\\Leftrightarrow"),Pr("\\hearts","\\heartsuit"),Pr("\\image","\\Im"),Pr("\\infin","\\infty"),Pr("\\Iota","\\mathrm{I}"),Pr("\\isin","\\in"),Pr("\\Kappa","\\mathrm{K}"),Pr("\\larr","\\leftarrow"),Pr("\\lArr","\\Leftarrow"),Pr("\\Larr","\\Leftarrow"),Pr("\\lrarr","\\leftrightarrow"),Pr("\\lrArr","\\Leftrightarrow"),Pr("\\Lrarr","\\Leftrightarrow"),Pr("\\Mu","\\mathrm{M}"),Pr("\\natnums","\\mathbb{N}"),Pr("\\Nu","\\mathrm{N}"),Pr("\\Omicron","\\mathrm{O}"),Pr("\\plusmn","\\pm"),Pr("\\rarr","\\rightarrow"),Pr("\\rArr","\\Rightarrow"),Pr("\\Rarr","\\Rightarrow"),Pr("\\real","\\Re"),Pr("\\reals","\\mathbb{R}"),Pr("\\Reals","\\mathbb{R}"),Pr("\\Rho","\\mathrm{P}"),Pr("\\sdot","\\cdot"),Pr("\\sect","\\S"),Pr("\\spades","\\spadesuit"),Pr("\\sub","\\subset"),Pr("\\sube","\\subseteq"),Pr("\\supe","\\supseteq"),Pr("\\Tau","\\mathrm{T}"),Pr("\\thetasym","\\vartheta"),Pr("\\weierp","\\wp"),Pr("\\Zeta","\\mathrm{Z}"),Pr("\\argmin","\\DOTSB\\operatorname*{arg\\,min}"),Pr("\\argmax","\\DOTSB\\operatorname*{arg\\,max}"),Pr("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits"),Pr("\\bra","\\mathinner{\\langle{#1}|}"),Pr("\\ket","\\mathinner{|{#1}\\rangle}"),Pr("\\braket","\\mathinner{\\langle{#1}\\rangle}"),Pr("\\Bra","\\left\\langle#1\\right|"),Pr("\\Ket","\\left|#1\\right\\rangle");var Xn=function(e){return function(t){var r=t.consumeArg().tokens,n=t.consumeArg().tokens,a=t.consumeArg().tokens,i=t.consumeArg().tokens,o=t.macros.get("|"),s=t.macros.get("\\|");t.macros.beginGroup();var l=function(t){return function(r){e&&(r.macros.set("|",o),a.length&&r.macros.set("\\|",s));var i=t;!t&&a.length&&("|"===r.future().text&&(r.popToken(),i=!0));return{tokens:i?a:n,numArgs:0}}};t.macros.set("|",l(!1)),a.length&&t.macros.set("\\|",l(!0));var h=t.consumeArg().tokens,c=t.expandTokens([].concat(i,h,r));return t.macros.endGroup(),{tokens:c.reverse(),numArgs:0}}};Pr("\\bra@ket",Xn(!1)),Pr("\\bra@set",Xn(!0)),Pr("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}"),Pr("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}"),Pr("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}"),Pr("\\angln","{\\angl n}"),Pr("\\blue","\\textcolor{##6495ed}{#1}"),Pr("\\orange","\\textcolor{##ffa500}{#1}"),Pr("\\pink","\\textcolor{##ff00af}{#1}"),Pr("\\red","\\textcolor{##df0030}{#1}"),Pr("\\green","\\textcolor{##28ae7b}{#1}"),Pr("\\gray","\\textcolor{gray}{#1}"),Pr("\\purple","\\textcolor{##9d38bd}{#1}"),Pr("\\blueA","\\textcolor{##ccfaff}{#1}"),Pr("\\blueB","\\textcolor{##80f6ff}{#1}"),Pr("\\blueC","\\textcolor{##63d9ea}{#1}"),Pr("\\blueD","\\textcolor{##11accd}{#1}"),Pr("\\blueE","\\textcolor{##0c7f99}{#1}"),Pr("\\tealA","\\textcolor{##94fff5}{#1}"),Pr("\\tealB","\\textcolor{##26edd5}{#1}"),Pr("\\tealC","\\textcolor{##01d1c1}{#1}"),Pr("\\tealD","\\textcolor{##01a995}{#1}"),Pr("\\tealE","\\textcolor{##208170}{#1}"),Pr("\\greenA","\\textcolor{##b6ffb0}{#1}"),Pr("\\greenB","\\textcolor{##8af281}{#1}"),Pr("\\greenC","\\textcolor{##74cf70}{#1}"),Pr("\\greenD","\\textcolor{##1fab54}{#1}"),Pr("\\greenE","\\textcolor{##0d923f}{#1}"),Pr("\\goldA","\\textcolor{##ffd0a9}{#1}"),Pr("\\goldB","\\textcolor{##ffbb71}{#1}"),Pr("\\goldC","\\textcolor{##ff9c39}{#1}"),Pr("\\goldD","\\textcolor{##e07d10}{#1}"),Pr("\\goldE","\\textcolor{##a75a05}{#1}"),Pr("\\redA","\\textcolor{##fca9a9}{#1}"),Pr("\\redB","\\textcolor{##ff8482}{#1}"),Pr("\\redC","\\textcolor{##f9685d}{#1}"),Pr("\\redD","\\textcolor{##e84d39}{#1}"),Pr("\\redE","\\textcolor{##bc2612}{#1}"),Pr("\\maroonA","\\textcolor{##ffbde0}{#1}"),Pr("\\maroonB","\\textcolor{##ff92c6}{#1}"),Pr("\\maroonC","\\textcolor{##ed5fa6}{#1}"),Pr("\\maroonD","\\textcolor{##ca337c}{#1}"),Pr("\\maroonE","\\textcolor{##9e034e}{#1}"),Pr("\\purpleA","\\textcolor{##ddd7ff}{#1}"),Pr("\\purpleB","\\textcolor{##c6b9fc}{#1}"),Pr("\\purpleC","\\textcolor{##aa87ff}{#1}"),Pr("\\purpleD","\\textcolor{##7854ab}{#1}"),Pr("\\purpleE","\\textcolor{##543b78}{#1}"),Pr("\\mintA","\\textcolor{##f5f9e8}{#1}"),Pr("\\mintB","\\textcolor{##edf2df}{#1}"),Pr("\\mintC","\\textcolor{##e0e5cc}{#1}"),Pr("\\grayA","\\textcolor{##f6f7f7}{#1}"),Pr("\\grayB","\\textcolor{##f0f1f2}{#1}"),Pr("\\grayC","\\textcolor{##e3e5e6}{#1}"),Pr("\\grayD","\\textcolor{##d6d8da}{#1}"),Pr("\\grayE","\\textcolor{##babec2}{#1}"),Pr("\\grayF","\\textcolor{##888d93}{#1}"),Pr("\\grayG","\\textcolor{##626569}{#1}"),Pr("\\grayH","\\textcolor{##3b3e40}{#1}"),Pr("\\grayI","\\textcolor{##21242c}{#1}"),Pr("\\kaBlue","\\textcolor{##314453}{#1}"),Pr("\\kaGreen","\\textcolor{##71B307}{#1}");var Wn={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0},_n=function(){function e(e,t,r){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=t,this.expansionCount=0,this.feed(e),this.macros=new Dn(Vn,t.macros),this.mode=r,this.stack=[]}var t=e.prototype;return t.feed=function(e){this.lexer=new Ln(e,this.settings)},t.switchMode=function(e){this.mode=e},t.beginGroup=function(){this.macros.beginGroup()},t.endGroup=function(){this.macros.endGroup()},t.endGroups=function(){this.macros.endGroups()},t.future=function(){return 0===this.stack.length&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]},t.popToken=function(){return this.future(),this.stack.pop()},t.pushToken=function(e){this.stack.push(e)},t.pushTokens=function(e){var t;(t=this.stack).push.apply(t,e)},t.scanArgument=function(e){var t,r,n;if(e){if(this.consumeSpaces(),"["!==this.future().text)return null;t=this.popToken();var a=this.consumeArg(["]"]);n=a.tokens,r=a.end}else{var i=this.consumeArg();n=i.tokens,t=i.start,r=i.end}return this.pushToken(new Gr("EOF",r.loc)),this.pushTokens(n),t.range(r,"")},t.consumeSpaces=function(){for(;;){if(" "!==this.future().text)break;this.stack.pop()}},t.consumeArg=function(e){var t=[],r=e&&e.length>0;r||this.consumeSpaces();var a,i=this.future(),o=0,s=0;do{if(a=this.popToken(),t.push(a),"{"===a.text)++o;else if("}"===a.text){if(-1===--o)throw new n("Extra }",a)}else if("EOF"===a.text)throw new n("Unexpected end of input in a macro argument, expected '"+(e&&r?e[s]:"}")+"'",a);if(e&&r)if((0===o||1===o&&"{"===e[s])&&a.text===e[s]){if(++s===e.length){t.splice(-s,s);break}}else s=0}while(0!==o||r);return"{"===i.text&&"}"===t[t.length-1].text&&(t.pop(),t.shift()),t.reverse(),{tokens:t,start:i,end:a}},t.consumeArgs=function(e,t){if(t){if(t.length!==e+1)throw new n("The length of delimiters doesn't match the number of args!");for(var r=t[0],a=0;athis.settings.maxExpand)throw new n("Too many expansions: infinite loop or need to increase maxExpand setting");var i=a.tokens,o=this.consumeArgs(a.numArgs,a.delimiters);if(a.numArgs)for(var s=(i=i.slice()).length-1;s>=0;--s){var l=i[s];if("#"===l.text){if(0===s)throw new n("Incomplete placeholder at end of macro body",l);if("#"===(l=i[--s]).text)i.splice(s+1,1);else{if(!/^[1-9]$/.test(l.text))throw new n("Not a valid argument number",l);var h;(h=i).splice.apply(h,[s,2].concat(o[+l.text-1]))}}}return this.pushTokens(i),i.length},t.expandAfterFuture=function(){return this.expandOnce(),this.future()},t.expandNextToken=function(){for(;;)if(!1===this.expandOnce()){var e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}throw new Error},t.expandMacro=function(e){return this.macros.has(e)?this.expandTokens([new Gr(e)]):void 0},t.expandTokens=function(e){var t=[],r=this.stack.length;for(this.pushTokens(e);this.stack.length>r;)if(!1===this.expandOnce(!0)){var n=this.stack.pop();n.treatAsRelax&&(n.noexpand=!1,n.treatAsRelax=!1),t.push(n)}return t},t.expandMacroAsText=function(e){var t=this.expandMacro(e);return t?t.map((function(e){return e.text})).join(""):t},t._getExpansion=function(e){var t=this.macros.get(e);if(null==t)return t;if(1===e.length){var r=this.lexer.catcodes[e];if(null!=r&&13!==r)return}var n="function"==typeof t?t(this):t;if("string"==typeof n){var a=0;if(-1!==n.indexOf("#"))for(var i=n.replace(/##/g,"");-1!==i.indexOf("#"+(a+1));)++a;for(var o=new Ln(n,this.settings),s=[],l=o.lex();"EOF"!==l.text;)s.push(l),l=o.lex();return s.reverse(),{tokens:s,numArgs:a}}return n},t.isDefined=function(e){return this.macros.has(e)||qn.hasOwnProperty(e)||ae.math.hasOwnProperty(e)||ae.text.hasOwnProperty(e)||Wn.hasOwnProperty(e)},t.isExpandable=function(e){var t=this.macros.get(e);return null!=t?"string"==typeof t||"function"==typeof t||!t.unexpandable:qn.hasOwnProperty(e)&&!qn[e].primitive},e}(),jn=/^[\u208a\u208b\u208c\u208d\u208e\u2080\u2081\u2082\u2083\u2084\u2085\u2086\u2087\u2088\u2089\u2090\u2091\u2095\u1d62\u2c7c\u2096\u2097\u2098\u2099\u2092\u209a\u1d63\u209b\u209c\u1d64\u1d65\u2093\u1d66\u1d67\u1d68\u1d69\u1d6a]/,$n=Object.freeze({"\u208a":"+","\u208b":"-","\u208c":"=","\u208d":"(","\u208e":")","\u2080":"0","\u2081":"1","\u2082":"2","\u2083":"3","\u2084":"4","\u2085":"5","\u2086":"6","\u2087":"7","\u2088":"8","\u2089":"9","\u2090":"a","\u2091":"e","\u2095":"h","\u1d62":"i","\u2c7c":"j","\u2096":"k","\u2097":"l","\u2098":"m","\u2099":"n","\u2092":"o","\u209a":"p","\u1d63":"r","\u209b":"s","\u209c":"t","\u1d64":"u","\u1d65":"v","\u2093":"x","\u1d66":"\u03b2","\u1d67":"\u03b3","\u1d68":"\u03c1","\u1d69":"\u03d5","\u1d6a":"\u03c7","\u207a":"+","\u207b":"-","\u207c":"=","\u207d":"(","\u207e":")","\u2070":"0","\xb9":"1","\xb2":"2","\xb3":"3","\u2074":"4","\u2075":"5","\u2076":"6","\u2077":"7","\u2078":"8","\u2079":"9","\u1d2c":"A","\u1d2e":"B","\u1d30":"D","\u1d31":"E","\u1d33":"G","\u1d34":"H","\u1d35":"I","\u1d36":"J","\u1d37":"K","\u1d38":"L","\u1d39":"M","\u1d3a":"N","\u1d3c":"O","\u1d3e":"P","\u1d3f":"R","\u1d40":"T","\u1d41":"U","\u2c7d":"V","\u1d42":"W","\u1d43":"a","\u1d47":"b","\u1d9c":"c","\u1d48":"d","\u1d49":"e","\u1da0":"f","\u1d4d":"g","\u02b0":"h","\u2071":"i","\u02b2":"j","\u1d4f":"k","\u02e1":"l","\u1d50":"m","\u207f":"n","\u1d52":"o","\u1d56":"p","\u02b3":"r","\u02e2":"s","\u1d57":"t","\u1d58":"u","\u1d5b":"v","\u02b7":"w","\u02e3":"x","\u02b8":"y","\u1dbb":"z","\u1d5d":"\u03b2","\u1d5e":"\u03b3","\u1d5f":"\u03b4","\u1d60":"\u03d5","\u1d61":"\u03c7","\u1dbf":"\u03b8"}),Zn={"\u0301":{text:"\\'",math:"\\acute"},"\u0300":{text:"\\`",math:"\\grave"},"\u0308":{text:'\\"',math:"\\ddot"},"\u0303":{text:"\\~",math:"\\tilde"},"\u0304":{text:"\\=",math:"\\bar"},"\u0306":{text:"\\u",math:"\\breve"},"\u030c":{text:"\\v",math:"\\check"},"\u0302":{text:"\\^",math:"\\hat"},"\u0307":{text:"\\.",math:"\\dot"},"\u030a":{text:"\\r",math:"\\mathring"},"\u030b":{text:"\\H"},"\u0327":{text:"\\c"}},Kn={"\xe1":"a\u0301","\xe0":"a\u0300","\xe4":"a\u0308","\u01df":"a\u0308\u0304","\xe3":"a\u0303","\u0101":"a\u0304","\u0103":"a\u0306","\u1eaf":"a\u0306\u0301","\u1eb1":"a\u0306\u0300","\u1eb5":"a\u0306\u0303","\u01ce":"a\u030c","\xe2":"a\u0302","\u1ea5":"a\u0302\u0301","\u1ea7":"a\u0302\u0300","\u1eab":"a\u0302\u0303","\u0227":"a\u0307","\u01e1":"a\u0307\u0304","\xe5":"a\u030a","\u01fb":"a\u030a\u0301","\u1e03":"b\u0307","\u0107":"c\u0301","\u1e09":"c\u0327\u0301","\u010d":"c\u030c","\u0109":"c\u0302","\u010b":"c\u0307","\xe7":"c\u0327","\u010f":"d\u030c","\u1e0b":"d\u0307","\u1e11":"d\u0327","\xe9":"e\u0301","\xe8":"e\u0300","\xeb":"e\u0308","\u1ebd":"e\u0303","\u0113":"e\u0304","\u1e17":"e\u0304\u0301","\u1e15":"e\u0304\u0300","\u0115":"e\u0306","\u1e1d":"e\u0327\u0306","\u011b":"e\u030c","\xea":"e\u0302","\u1ebf":"e\u0302\u0301","\u1ec1":"e\u0302\u0300","\u1ec5":"e\u0302\u0303","\u0117":"e\u0307","\u0229":"e\u0327","\u1e1f":"f\u0307","\u01f5":"g\u0301","\u1e21":"g\u0304","\u011f":"g\u0306","\u01e7":"g\u030c","\u011d":"g\u0302","\u0121":"g\u0307","\u0123":"g\u0327","\u1e27":"h\u0308","\u021f":"h\u030c","\u0125":"h\u0302","\u1e23":"h\u0307","\u1e29":"h\u0327","\xed":"i\u0301","\xec":"i\u0300","\xef":"i\u0308","\u1e2f":"i\u0308\u0301","\u0129":"i\u0303","\u012b":"i\u0304","\u012d":"i\u0306","\u01d0":"i\u030c","\xee":"i\u0302","\u01f0":"j\u030c","\u0135":"j\u0302","\u1e31":"k\u0301","\u01e9":"k\u030c","\u0137":"k\u0327","\u013a":"l\u0301","\u013e":"l\u030c","\u013c":"l\u0327","\u1e3f":"m\u0301","\u1e41":"m\u0307","\u0144":"n\u0301","\u01f9":"n\u0300","\xf1":"n\u0303","\u0148":"n\u030c","\u1e45":"n\u0307","\u0146":"n\u0327","\xf3":"o\u0301","\xf2":"o\u0300","\xf6":"o\u0308","\u022b":"o\u0308\u0304","\xf5":"o\u0303","\u1e4d":"o\u0303\u0301","\u1e4f":"o\u0303\u0308","\u022d":"o\u0303\u0304","\u014d":"o\u0304","\u1e53":"o\u0304\u0301","\u1e51":"o\u0304\u0300","\u014f":"o\u0306","\u01d2":"o\u030c","\xf4":"o\u0302","\u1ed1":"o\u0302\u0301","\u1ed3":"o\u0302\u0300","\u1ed7":"o\u0302\u0303","\u022f":"o\u0307","\u0231":"o\u0307\u0304","\u0151":"o\u030b","\u1e55":"p\u0301","\u1e57":"p\u0307","\u0155":"r\u0301","\u0159":"r\u030c","\u1e59":"r\u0307","\u0157":"r\u0327","\u015b":"s\u0301","\u1e65":"s\u0301\u0307","\u0161":"s\u030c","\u1e67":"s\u030c\u0307","\u015d":"s\u0302","\u1e61":"s\u0307","\u015f":"s\u0327","\u1e97":"t\u0308","\u0165":"t\u030c","\u1e6b":"t\u0307","\u0163":"t\u0327","\xfa":"u\u0301","\xf9":"u\u0300","\xfc":"u\u0308","\u01d8":"u\u0308\u0301","\u01dc":"u\u0308\u0300","\u01d6":"u\u0308\u0304","\u01da":"u\u0308\u030c","\u0169":"u\u0303","\u1e79":"u\u0303\u0301","\u016b":"u\u0304","\u1e7b":"u\u0304\u0308","\u016d":"u\u0306","\u01d4":"u\u030c","\xfb":"u\u0302","\u016f":"u\u030a","\u0171":"u\u030b","\u1e7d":"v\u0303","\u1e83":"w\u0301","\u1e81":"w\u0300","\u1e85":"w\u0308","\u0175":"w\u0302","\u1e87":"w\u0307","\u1e98":"w\u030a","\u1e8d":"x\u0308","\u1e8b":"x\u0307","\xfd":"y\u0301","\u1ef3":"y\u0300","\xff":"y\u0308","\u1ef9":"y\u0303","\u0233":"y\u0304","\u0177":"y\u0302","\u1e8f":"y\u0307","\u1e99":"y\u030a","\u017a":"z\u0301","\u017e":"z\u030c","\u1e91":"z\u0302","\u017c":"z\u0307","\xc1":"A\u0301","\xc0":"A\u0300","\xc4":"A\u0308","\u01de":"A\u0308\u0304","\xc3":"A\u0303","\u0100":"A\u0304","\u0102":"A\u0306","\u1eae":"A\u0306\u0301","\u1eb0":"A\u0306\u0300","\u1eb4":"A\u0306\u0303","\u01cd":"A\u030c","\xc2":"A\u0302","\u1ea4":"A\u0302\u0301","\u1ea6":"A\u0302\u0300","\u1eaa":"A\u0302\u0303","\u0226":"A\u0307","\u01e0":"A\u0307\u0304","\xc5":"A\u030a","\u01fa":"A\u030a\u0301","\u1e02":"B\u0307","\u0106":"C\u0301","\u1e08":"C\u0327\u0301","\u010c":"C\u030c","\u0108":"C\u0302","\u010a":"C\u0307","\xc7":"C\u0327","\u010e":"D\u030c","\u1e0a":"D\u0307","\u1e10":"D\u0327","\xc9":"E\u0301","\xc8":"E\u0300","\xcb":"E\u0308","\u1ebc":"E\u0303","\u0112":"E\u0304","\u1e16":"E\u0304\u0301","\u1e14":"E\u0304\u0300","\u0114":"E\u0306","\u1e1c":"E\u0327\u0306","\u011a":"E\u030c","\xca":"E\u0302","\u1ebe":"E\u0302\u0301","\u1ec0":"E\u0302\u0300","\u1ec4":"E\u0302\u0303","\u0116":"E\u0307","\u0228":"E\u0327","\u1e1e":"F\u0307","\u01f4":"G\u0301","\u1e20":"G\u0304","\u011e":"G\u0306","\u01e6":"G\u030c","\u011c":"G\u0302","\u0120":"G\u0307","\u0122":"G\u0327","\u1e26":"H\u0308","\u021e":"H\u030c","\u0124":"H\u0302","\u1e22":"H\u0307","\u1e28":"H\u0327","\xcd":"I\u0301","\xcc":"I\u0300","\xcf":"I\u0308","\u1e2e":"I\u0308\u0301","\u0128":"I\u0303","\u012a":"I\u0304","\u012c":"I\u0306","\u01cf":"I\u030c","\xce":"I\u0302","\u0130":"I\u0307","\u0134":"J\u0302","\u1e30":"K\u0301","\u01e8":"K\u030c","\u0136":"K\u0327","\u0139":"L\u0301","\u013d":"L\u030c","\u013b":"L\u0327","\u1e3e":"M\u0301","\u1e40":"M\u0307","\u0143":"N\u0301","\u01f8":"N\u0300","\xd1":"N\u0303","\u0147":"N\u030c","\u1e44":"N\u0307","\u0145":"N\u0327","\xd3":"O\u0301","\xd2":"O\u0300","\xd6":"O\u0308","\u022a":"O\u0308\u0304","\xd5":"O\u0303","\u1e4c":"O\u0303\u0301","\u1e4e":"O\u0303\u0308","\u022c":"O\u0303\u0304","\u014c":"O\u0304","\u1e52":"O\u0304\u0301","\u1e50":"O\u0304\u0300","\u014e":"O\u0306","\u01d1":"O\u030c","\xd4":"O\u0302","\u1ed0":"O\u0302\u0301","\u1ed2":"O\u0302\u0300","\u1ed6":"O\u0302\u0303","\u022e":"O\u0307","\u0230":"O\u0307\u0304","\u0150":"O\u030b","\u1e54":"P\u0301","\u1e56":"P\u0307","\u0154":"R\u0301","\u0158":"R\u030c","\u1e58":"R\u0307","\u0156":"R\u0327","\u015a":"S\u0301","\u1e64":"S\u0301\u0307","\u0160":"S\u030c","\u1e66":"S\u030c\u0307","\u015c":"S\u0302","\u1e60":"S\u0307","\u015e":"S\u0327","\u0164":"T\u030c","\u1e6a":"T\u0307","\u0162":"T\u0327","\xda":"U\u0301","\xd9":"U\u0300","\xdc":"U\u0308","\u01d7":"U\u0308\u0301","\u01db":"U\u0308\u0300","\u01d5":"U\u0308\u0304","\u01d9":"U\u0308\u030c","\u0168":"U\u0303","\u1e78":"U\u0303\u0301","\u016a":"U\u0304","\u1e7a":"U\u0304\u0308","\u016c":"U\u0306","\u01d3":"U\u030c","\xdb":"U\u0302","\u016e":"U\u030a","\u0170":"U\u030b","\u1e7c":"V\u0303","\u1e82":"W\u0301","\u1e80":"W\u0300","\u1e84":"W\u0308","\u0174":"W\u0302","\u1e86":"W\u0307","\u1e8c":"X\u0308","\u1e8a":"X\u0307","\xdd":"Y\u0301","\u1ef2":"Y\u0300","\u0178":"Y\u0308","\u1ef8":"Y\u0303","\u0232":"Y\u0304","\u0176":"Y\u0302","\u1e8e":"Y\u0307","\u0179":"Z\u0301","\u017d":"Z\u030c","\u1e90":"Z\u0302","\u017b":"Z\u0307","\u03ac":"\u03b1\u0301","\u1f70":"\u03b1\u0300","\u1fb1":"\u03b1\u0304","\u1fb0":"\u03b1\u0306","\u03ad":"\u03b5\u0301","\u1f72":"\u03b5\u0300","\u03ae":"\u03b7\u0301","\u1f74":"\u03b7\u0300","\u03af":"\u03b9\u0301","\u1f76":"\u03b9\u0300","\u03ca":"\u03b9\u0308","\u0390":"\u03b9\u0308\u0301","\u1fd2":"\u03b9\u0308\u0300","\u1fd1":"\u03b9\u0304","\u1fd0":"\u03b9\u0306","\u03cc":"\u03bf\u0301","\u1f78":"\u03bf\u0300","\u03cd":"\u03c5\u0301","\u1f7a":"\u03c5\u0300","\u03cb":"\u03c5\u0308","\u03b0":"\u03c5\u0308\u0301","\u1fe2":"\u03c5\u0308\u0300","\u1fe1":"\u03c5\u0304","\u1fe0":"\u03c5\u0306","\u03ce":"\u03c9\u0301","\u1f7c":"\u03c9\u0300","\u038e":"\u03a5\u0301","\u1fea":"\u03a5\u0300","\u03ab":"\u03a5\u0308","\u1fe9":"\u03a5\u0304","\u1fe8":"\u03a5\u0306","\u038f":"\u03a9\u0301","\u1ffa":"\u03a9\u0300"},Jn=function(){function e(e,t){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new _n(e,t,this.mode),this.settings=t,this.leftrightDepth=0}var t=e.prototype;return t.expect=function(e,t){if(void 0===t&&(t=!0),this.fetch().text!==e)throw new n("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());t&&this.consume()},t.consume=function(){this.nextToken=null},t.fetch=function(){return null==this.nextToken&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken},t.switchMode=function(e){this.mode=e,this.gullet.switchMode(e)},t.parse=function(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}},t.subparse=function(e){var t=this.nextToken;this.consume(),this.gullet.pushToken(new Gr("}")),this.gullet.pushTokens(e);var r=this.parseExpression(!1);return this.expect("}"),this.nextToken=t,r},t.parseExpression=function(t,r){for(var n=[];;){"math"===this.mode&&this.consumeSpaces();var a=this.fetch();if(-1!==e.endOfExpression.indexOf(a.text))break;if(r&&a.text===r)break;if(t&&qn[a.text]&&qn[a.text].infix)break;var i=this.parseAtom(r);if(!i)break;"internal"!==i.type&&n.push(i)}return"text"===this.mode&&this.formLigatures(n),this.handleInfixNodes(n)},t.handleInfixNodes=function(e){for(var t,r=-1,a=0;a=0&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+t[0]+'" used in math mode',e);var s,l=ae[this.mode][t].group,h=Fr.range(e);if(te.hasOwnProperty(l)){var c=l;s={type:"atom",mode:this.mode,family:c,loc:h,text:t}}else s={type:l,mode:this.mode,loc:h,text:t};i=s}else{if(!(t.charCodeAt(0)>=128))return null;this.settings.strict&&(S(t.charCodeAt(0))?"math"===this.mode&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+t[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+t[0]+'" ('+t.charCodeAt(0)+")",e)),i={type:"textord",mode:"text",loc:Fr.range(e),text:t}}if(this.consume(),o)for(var m=0;m",GT:">",Gt:"\u226b",gtdot:"\u22d7",gtlPar:"\u2995",gtquest:"\u2a7c",gtrapprox:"\u2a86",gtrarr:"\u2978",gtrdot:"\u22d7",gtreqless:"\u22db",gtreqqless:"\u2a8c",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269\ufe00",gvnE:"\u2269\ufe00",Hacek:"\u02c7",hairsp:"\u200a",half:"\xbd",hamilt:"\u210b",HARDcy:"\u042a",hardcy:"\u044a",harrcir:"\u2948",harr:"\u2194",hArr:"\u21d4",harrw:"\u21ad",Hat:"^",hbar:"\u210f",Hcirc:"\u0124",hcirc:"\u0125",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",hercon:"\u22b9",hfr:"\ud835\udd25",Hfr:"\u210c",HilbertSpace:"\u210b",hksearow:"\u2925",hkswarow:"\u2926",hoarr:"\u21ff",homtht:"\u223b",hookleftarrow:"\u21a9",hookrightarrow:"\u21aa",hopf:"\ud835\udd59",Hopf:"\u210d",horbar:"\u2015",HorizontalLine:"\u2500",hscr:"\ud835\udcbd",Hscr:"\u210b",hslash:"\u210f",Hstrok:"\u0126",hstrok:"\u0127",HumpDownHump:"\u224e",HumpEqual:"\u224f",hybull:"\u2043",hyphen:"\u2010",Iacute:"\xcd",iacute:"\xed",ic:"\u2063",Icirc:"\xce",icirc:"\xee",Icy:"\u0418",icy:"\u0438",Idot:"\u0130",IEcy:"\u0415",iecy:"\u0435",iexcl:"\xa1",iff:"\u21d4",ifr:"\ud835\udd26",Ifr:"\u2111",Igrave:"\xcc",igrave:"\xec",ii:"\u2148",iiiint:"\u2a0c",iiint:"\u222d",iinfin:"\u29dc",iiota:"\u2129",IJlig:"\u0132",ijlig:"\u0133",Imacr:"\u012a",imacr:"\u012b",image:"\u2111",ImaginaryI:"\u2148",imagline:"\u2110",imagpart:"\u2111",imath:"\u0131",Im:"\u2111",imof:"\u22b7",imped:"\u01b5",Implies:"\u21d2",incare:"\u2105",in:"\u2208",infin:"\u221e",infintie:"\u29dd",inodot:"\u0131",intcal:"\u22ba",int:"\u222b",Int:"\u222c",integers:"\u2124",Integral:"\u222b",intercal:"\u22ba",Intersection:"\u22c2",intlarhk:"\u2a17",intprod:"\u2a3c",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",IOcy:"\u0401",iocy:"\u0451",Iogon:"\u012e",iogon:"\u012f",Iopf:"\ud835\udd40",iopf:"\ud835\udd5a",Iota:"\u0399",iota:"\u03b9",iprod:"\u2a3c",iquest:"\xbf",iscr:"\ud835\udcbe",Iscr:"\u2110",isin:"\u2208",isindot:"\u22f5",isinE:"\u22f9",isins:"\u22f4",isinsv:"\u22f3",isinv:"\u2208",it:"\u2062",Itilde:"\u0128",itilde:"\u0129",Iukcy:"\u0406",iukcy:"\u0456",Iuml:"\xcf",iuml:"\xef",Jcirc:"\u0134",jcirc:"\u0135",Jcy:"\u0419",jcy:"\u0439",Jfr:"\ud835\udd0d",jfr:"\ud835\udd27",jmath:"\u0237",Jopf:"\ud835\udd41",jopf:"\ud835\udd5b",Jscr:"\ud835\udca5",jscr:"\ud835\udcbf",Jsercy:"\u0408",jsercy:"\u0458",Jukcy:"\u0404",jukcy:"\u0454",Kappa:"\u039a",kappa:"\u03ba",kappav:"\u03f0",Kcedil:"\u0136",kcedil:"\u0137",Kcy:"\u041a",kcy:"\u043a",Kfr:"\ud835\udd0e",kfr:"\ud835\udd28",kgreen:"\u0138",KHcy:"\u0425",khcy:"\u0445",KJcy:"\u040c",kjcy:"\u045c",Kopf:"\ud835\udd42",kopf:"\ud835\udd5c",Kscr:"\ud835\udca6",kscr:"\ud835\udcc0",lAarr:"\u21da",Lacute:"\u0139",lacute:"\u013a",laemptyv:"\u29b4",lagran:"\u2112",Lambda:"\u039b",lambda:"\u03bb",lang:"\u27e8",Lang:"\u27ea",langd:"\u2991",langle:"\u27e8",lap:"\u2a85",Laplacetrf:"\u2112",laquo:"\xab",larrb:"\u21e4",larrbfs:"\u291f",larr:"\u2190",Larr:"\u219e",lArr:"\u21d0",larrfs:"\u291d",larrhk:"\u21a9",larrlp:"\u21ab",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21a2",latail:"\u2919",lAtail:"\u291b",lat:"\u2aab",late:"\u2aad",lates:"\u2aad\ufe00",lbarr:"\u290c",lBarr:"\u290e",lbbrk:"\u2772",lbrace:"{",lbrack:"[",lbrke:"\u298b",lbrksld:"\u298f",lbrkslu:"\u298d",Lcaron:"\u013d",lcaron:"\u013e",Lcedil:"\u013b",lcedil:"\u013c",lceil:"\u2308",lcub:"{",Lcy:"\u041b",lcy:"\u043b",ldca:"\u2936",ldquo:"\u201c",ldquor:"\u201e",ldrdhar:"\u2967",ldrushar:"\u294b",ldsh:"\u21b2",le:"\u2264",lE:"\u2266",LeftAngleBracket:"\u27e8",LeftArrowBar:"\u21e4",leftarrow:"\u2190",LeftArrow:"\u2190",Leftarrow:"\u21d0",LeftArrowRightArrow:"\u21c6",leftarrowtail:"\u21a2",LeftCeiling:"\u2308",LeftDoubleBracket:"\u27e6",LeftDownTeeVector:"\u2961",LeftDownVectorBar:"\u2959",LeftDownVector:"\u21c3",LeftFloor:"\u230a",leftharpoondown:"\u21bd",leftharpoonup:"\u21bc",leftleftarrows:"\u21c7",leftrightarrow:"\u2194",LeftRightArrow:"\u2194",Leftrightarrow:"\u21d4",leftrightarrows:"\u21c6",leftrightharpoons:"\u21cb",leftrightsquigarrow:"\u21ad",LeftRightVector:"\u294e",LeftTeeArrow:"\u21a4",LeftTee:"\u22a3",LeftTeeVector:"\u295a",leftthreetimes:"\u22cb",LeftTriangleBar:"\u29cf",LeftTriangle:"\u22b2",LeftTriangleEqual:"\u22b4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVectorBar:"\u2958",LeftUpVector:"\u21bf",LeftVectorBar:"\u2952",LeftVector:"\u21bc",lEg:"\u2a8b",leg:"\u22da",leq:"\u2264",leqq:"\u2266",leqslant:"\u2a7d",lescc:"\u2aa8",les:"\u2a7d",lesdot:"\u2a7f",lesdoto:"\u2a81",lesdotor:"\u2a83",lesg:"\u22da\ufe00",lesges:"\u2a93",lessapprox:"\u2a85",lessdot:"\u22d6",lesseqgtr:"\u22da",lesseqqgtr:"\u2a8b",LessEqualGreater:"\u22da",LessFullEqual:"\u2266",LessGreater:"\u2276",lessgtr:"\u2276",LessLess:"\u2aa1",lesssim:"\u2272",LessSlantEqual:"\u2a7d",LessTilde:"\u2272",lfisht:"\u297c",lfloor:"\u230a",Lfr:"\ud835\udd0f",lfr:"\ud835\udd29",lg:"\u2276",lgE:"\u2a91",lHar:"\u2962",lhard:"\u21bd",lharu:"\u21bc",lharul:"\u296a",lhblk:"\u2584",LJcy:"\u0409",ljcy:"\u0459",llarr:"\u21c7",ll:"\u226a",Ll:"\u22d8",llcorner:"\u231e",Lleftarrow:"\u21da",llhard:"\u296b",lltri:"\u25fa",Lmidot:"\u013f",lmidot:"\u0140",lmoustache:"\u23b0",lmoust:"\u23b0",lnap:"\u2a89",lnapprox:"\u2a89",lne:"\u2a87",lnE:"\u2268",lneq:"\u2a87",lneqq:"\u2268",lnsim:"\u22e6",loang:"\u27ec",loarr:"\u21fd",lobrk:"\u27e6",longleftarrow:"\u27f5",LongLeftArrow:"\u27f5",Longleftarrow:"\u27f8",longleftrightarrow:"\u27f7",LongLeftRightArrow:"\u27f7",Longleftrightarrow:"\u27fa",longmapsto:"\u27fc",longrightarrow:"\u27f6",LongRightArrow:"\u27f6",Longrightarrow:"\u27f9",looparrowleft:"\u21ab",looparrowright:"\u21ac",lopar:"\u2985",Lopf:"\ud835\udd43",lopf:"\ud835\udd5d",loplus:"\u2a2d",lotimes:"\u2a34",lowast:"\u2217",lowbar:"_",LowerLeftArrow:"\u2199",LowerRightArrow:"\u2198",loz:"\u25ca",lozenge:"\u25ca",lozf:"\u29eb",lpar:"(",lparlt:"\u2993",lrarr:"\u21c6",lrcorner:"\u231f",lrhar:"\u21cb",lrhard:"\u296d",lrm:"\u200e",lrtri:"\u22bf",lsaquo:"\u2039",lscr:"\ud835\udcc1",Lscr:"\u2112",lsh:"\u21b0",Lsh:"\u21b0",lsim:"\u2272",lsime:"\u2a8d",lsimg:"\u2a8f",lsqb:"[",lsquo:"\u2018",lsquor:"\u201a",Lstrok:"\u0141",lstrok:"\u0142",ltcc:"\u2aa6",ltcir:"\u2a79",lt:"<",LT:"<",Lt:"\u226a",ltdot:"\u22d6",lthree:"\u22cb",ltimes:"\u22c9",ltlarr:"\u2976",ltquest:"\u2a7b",ltri:"\u25c3",ltrie:"\u22b4",ltrif:"\u25c2",ltrPar:"\u2996",lurdshar:"\u294a",luruhar:"\u2966",lvertneqq:"\u2268\ufe00",lvnE:"\u2268\ufe00",macr:"\xaf",male:"\u2642",malt:"\u2720",maltese:"\u2720",Map:"\u2905",map:"\u21a6",mapsto:"\u21a6",mapstodown:"\u21a7",mapstoleft:"\u21a4",mapstoup:"\u21a5",marker:"\u25ae",mcomma:"\u2a29",Mcy:"\u041c",mcy:"\u043c",mdash:"\u2014",mDDot:"\u223a",measuredangle:"\u2221",MediumSpace:"\u205f",Mellintrf:"\u2133",Mfr:"\ud835\udd10",mfr:"\ud835\udd2a",mho:"\u2127",micro:"\xb5",midast:"*",midcir:"\u2af0",mid:"\u2223",middot:"\xb7",minusb:"\u229f",minus:"\u2212",minusd:"\u2238",minusdu:"\u2a2a",MinusPlus:"\u2213",mlcp:"\u2adb",mldr:"\u2026",mnplus:"\u2213",models:"\u22a7",Mopf:"\ud835\udd44",mopf:"\ud835\udd5e",mp:"\u2213",mscr:"\ud835\udcc2",Mscr:"\u2133",mstpos:"\u223e",Mu:"\u039c",mu:"\u03bc",multimap:"\u22b8",mumap:"\u22b8",nabla:"\u2207",Nacute:"\u0143",nacute:"\u0144",nang:"\u2220\u20d2",nap:"\u2249",napE:"\u2a70\u0338",napid:"\u224b\u0338",napos:"\u0149",napprox:"\u2249",natural:"\u266e",naturals:"\u2115",natur:"\u266e",nbsp:"\xa0",nbump:"\u224e\u0338",nbumpe:"\u224f\u0338",ncap:"\u2a43",Ncaron:"\u0147",ncaron:"\u0148",Ncedil:"\u0145",ncedil:"\u0146",ncong:"\u2247",ncongdot:"\u2a6d\u0338",ncup:"\u2a42",Ncy:"\u041d",ncy:"\u043d",ndash:"\u2013",nearhk:"\u2924",nearr:"\u2197",neArr:"\u21d7",nearrow:"\u2197",ne:"\u2260",nedot:"\u2250\u0338",NegativeMediumSpace:"\u200b",NegativeThickSpace:"\u200b",NegativeThinSpace:"\u200b",NegativeVeryThinSpace:"\u200b",nequiv:"\u2262",nesear:"\u2928",nesim:"\u2242\u0338",NestedGreaterGreater:"\u226b",NestedLessLess:"\u226a",NewLine:"\n",nexist:"\u2204",nexists:"\u2204",Nfr:"\ud835\udd11",nfr:"\ud835\udd2b",ngE:"\u2267\u0338",nge:"\u2271",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2a7e\u0338",nges:"\u2a7e\u0338",nGg:"\u22d9\u0338",ngsim:"\u2275",nGt:"\u226b\u20d2",ngt:"\u226f",ngtr:"\u226f",nGtv:"\u226b\u0338",nharr:"\u21ae",nhArr:"\u21ce",nhpar:"\u2af2",ni:"\u220b",nis:"\u22fc",nisd:"\u22fa",niv:"\u220b",NJcy:"\u040a",njcy:"\u045a",nlarr:"\u219a",nlArr:"\u21cd",nldr:"\u2025",nlE:"\u2266\u0338",nle:"\u2270",nleftarrow:"\u219a",nLeftarrow:"\u21cd",nleftrightarrow:"\u21ae",nLeftrightarrow:"\u21ce",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2a7d\u0338",nles:"\u2a7d\u0338",nless:"\u226e",nLl:"\u22d8\u0338",nlsim:"\u2274",nLt:"\u226a\u20d2",nlt:"\u226e",nltri:"\u22ea",nltrie:"\u22ec",nLtv:"\u226a\u0338",nmid:"\u2224",NoBreak:"\u2060",NonBreakingSpace:"\xa0",nopf:"\ud835\udd5f",Nopf:"\u2115",Not:"\u2aec",not:"\xac",NotCongruent:"\u2262",NotCupCap:"\u226d",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226f",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226b\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2a7e\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224e\u0338",NotHumpEqual:"\u224f\u0338",notin:"\u2209",notindot:"\u22f5\u0338",notinE:"\u22f9\u0338",notinva:"\u2209",notinvb:"\u22f7",notinvc:"\u22f6",NotLeftTriangleBar:"\u29cf\u0338",NotLeftTriangle:"\u22ea",NotLeftTriangleEqual:"\u22ec",NotLess:"\u226e",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226a\u0338",NotLessSlantEqual:"\u2a7d\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2aa2\u0338",NotNestedLessLess:"\u2aa1\u0338",notni:"\u220c",notniva:"\u220c",notnivb:"\u22fe",notnivc:"\u22fd",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2aaf\u0338",NotPrecedesSlantEqual:"\u22e0",NotReverseElement:"\u220c",NotRightTriangleBar:"\u29d0\u0338",NotRightTriangle:"\u22eb",NotRightTriangleEqual:"\u22ed",NotSquareSubset:"\u228f\u0338",NotSquareSubsetEqual:"\u22e2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22e3",NotSubset:"\u2282\u20d2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2ab0\u0338",NotSucceedsSlantEqual:"\u22e1",NotSucceedsTilde:"\u227f\u0338",NotSuperset:"\u2283\u20d2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",nparallel:"\u2226",npar:"\u2226",nparsl:"\u2afd\u20e5",npart:"\u2202\u0338",npolint:"\u2a14",npr:"\u2280",nprcue:"\u22e0",nprec:"\u2280",npreceq:"\u2aaf\u0338",npre:"\u2aaf\u0338",nrarrc:"\u2933\u0338",nrarr:"\u219b",nrArr:"\u21cf",nrarrw:"\u219d\u0338",nrightarrow:"\u219b",nRightarrow:"\u21cf",nrtri:"\u22eb",nrtrie:"\u22ed",nsc:"\u2281",nsccue:"\u22e1",nsce:"\u2ab0\u0338",Nscr:"\ud835\udca9",nscr:"\ud835\udcc3",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22e2",nsqsupe:"\u22e3",nsub:"\u2284",nsubE:"\u2ac5\u0338",nsube:"\u2288",nsubset:"\u2282\u20d2",nsubseteq:"\u2288",nsubseteqq:"\u2ac5\u0338",nsucc:"\u2281",nsucceq:"\u2ab0\u0338",nsup:"\u2285",nsupE:"\u2ac6\u0338",nsupe:"\u2289",nsupset:"\u2283\u20d2",nsupseteq:"\u2289",nsupseteqq:"\u2ac6\u0338",ntgl:"\u2279",Ntilde:"\xd1",ntilde:"\xf1",ntlg:"\u2278",ntriangleleft:"\u22ea",ntrianglelefteq:"\u22ec",ntriangleright:"\u22eb",ntrianglerighteq:"\u22ed",Nu:"\u039d",nu:"\u03bd",num:"#",numero:"\u2116",numsp:"\u2007",nvap:"\u224d\u20d2",nvdash:"\u22ac",nvDash:"\u22ad",nVdash:"\u22ae",nVDash:"\u22af",nvge:"\u2265\u20d2",nvgt:">\u20d2",nvHarr:"\u2904",nvinfin:"\u29de",nvlArr:"\u2902",nvle:"\u2264\u20d2",nvlt:"<\u20d2",nvltrie:"\u22b4\u20d2",nvrArr:"\u2903",nvrtrie:"\u22b5\u20d2",nvsim:"\u223c\u20d2",nwarhk:"\u2923",nwarr:"\u2196",nwArr:"\u21d6",nwarrow:"\u2196",nwnear:"\u2927",Oacute:"\xd3",oacute:"\xf3",oast:"\u229b",Ocirc:"\xd4",ocirc:"\xf4",ocir:"\u229a",Ocy:"\u041e",ocy:"\u043e",odash:"\u229d",Odblac:"\u0150",odblac:"\u0151",odiv:"\u2a38",odot:"\u2299",odsold:"\u29bc",OElig:"\u0152",oelig:"\u0153",ofcir:"\u29bf",Ofr:"\ud835\udd12",ofr:"\ud835\udd2c",ogon:"\u02db",Ograve:"\xd2",ograve:"\xf2",ogt:"\u29c1",ohbar:"\u29b5",ohm:"\u03a9",oint:"\u222e",olarr:"\u21ba",olcir:"\u29be",olcross:"\u29bb",oline:"\u203e",olt:"\u29c0",Omacr:"\u014c",omacr:"\u014d",Omega:"\u03a9",omega:"\u03c9",Omicron:"\u039f",omicron:"\u03bf",omid:"\u29b6",ominus:"\u2296",Oopf:"\ud835\udd46",oopf:"\ud835\udd60",opar:"\u29b7",OpenCurlyDoubleQuote:"\u201c",OpenCurlyQuote:"\u2018",operp:"\u29b9",oplus:"\u2295",orarr:"\u21bb",Or:"\u2a54",or:"\u2228",ord:"\u2a5d",order:"\u2134",orderof:"\u2134",ordf:"\xaa",ordm:"\xba",origof:"\u22b6",oror:"\u2a56",orslope:"\u2a57",orv:"\u2a5b",oS:"\u24c8",Oscr:"\ud835\udcaa",oscr:"\u2134",Oslash:"\xd8",oslash:"\xf8",osol:"\u2298",Otilde:"\xd5",otilde:"\xf5",otimesas:"\u2a36",Otimes:"\u2a37",otimes:"\u2297",Ouml:"\xd6",ouml:"\xf6",ovbar:"\u233d",OverBar:"\u203e",OverBrace:"\u23de",OverBracket:"\u23b4",OverParenthesis:"\u23dc",para:"\xb6",parallel:"\u2225",par:"\u2225",parsim:"\u2af3",parsl:"\u2afd",part:"\u2202",PartialD:"\u2202",Pcy:"\u041f",pcy:"\u043f",percnt:"%",period:".",permil:"\u2030",perp:"\u22a5",pertenk:"\u2031",Pfr:"\ud835\udd13",pfr:"\ud835\udd2d",Phi:"\u03a6",phi:"\u03c6",phiv:"\u03d5",phmmat:"\u2133",phone:"\u260e",Pi:"\u03a0",pi:"\u03c0",pitchfork:"\u22d4",piv:"\u03d6",planck:"\u210f",planckh:"\u210e",plankv:"\u210f",plusacir:"\u2a23",plusb:"\u229e",pluscir:"\u2a22",plus:"+",plusdo:"\u2214",plusdu:"\u2a25",pluse:"\u2a72",PlusMinus:"\xb1",plusmn:"\xb1",plussim:"\u2a26",plustwo:"\u2a27",pm:"\xb1",Poincareplane:"\u210c",pointint:"\u2a15",popf:"\ud835\udd61",Popf:"\u2119",pound:"\xa3",prap:"\u2ab7",Pr:"\u2abb",pr:"\u227a",prcue:"\u227c",precapprox:"\u2ab7",prec:"\u227a",preccurlyeq:"\u227c",Precedes:"\u227a",PrecedesEqual:"\u2aaf",PrecedesSlantEqual:"\u227c",PrecedesTilde:"\u227e",preceq:"\u2aaf",precnapprox:"\u2ab9",precneqq:"\u2ab5",precnsim:"\u22e8",pre:"\u2aaf",prE:"\u2ab3",precsim:"\u227e",prime:"\u2032",Prime:"\u2033",primes:"\u2119",prnap:"\u2ab9",prnE:"\u2ab5",prnsim:"\u22e8",prod:"\u220f",Product:"\u220f",profalar:"\u232e",profline:"\u2312",profsurf:"\u2313",prop:"\u221d",Proportional:"\u221d",Proportion:"\u2237",propto:"\u221d",prsim:"\u227e",prurel:"\u22b0",Pscr:"\ud835\udcab",pscr:"\ud835\udcc5",Psi:"\u03a8",psi:"\u03c8",puncsp:"\u2008",Qfr:"\ud835\udd14",qfr:"\ud835\udd2e",qint:"\u2a0c",qopf:"\ud835\udd62",Qopf:"\u211a",qprime:"\u2057",Qscr:"\ud835\udcac",qscr:"\ud835\udcc6",quaternions:"\u210d",quatint:"\u2a16",quest:"?",questeq:"\u225f",quot:'"',QUOT:'"',rAarr:"\u21db",race:"\u223d\u0331",Racute:"\u0154",racute:"\u0155",radic:"\u221a",raemptyv:"\u29b3",rang:"\u27e9",Rang:"\u27eb",rangd:"\u2992",range:"\u29a5",rangle:"\u27e9",raquo:"\xbb",rarrap:"\u2975",rarrb:"\u21e5",rarrbfs:"\u2920",rarrc:"\u2933",rarr:"\u2192",Rarr:"\u21a0",rArr:"\u21d2",rarrfs:"\u291e",rarrhk:"\u21aa",rarrlp:"\u21ac",rarrpl:"\u2945",rarrsim:"\u2974",Rarrtl:"\u2916",rarrtl:"\u21a3",rarrw:"\u219d",ratail:"\u291a",rAtail:"\u291c",ratio:"\u2236",rationals:"\u211a",rbarr:"\u290d",rBarr:"\u290f",RBarr:"\u2910",rbbrk:"\u2773",rbrace:"}",rbrack:"]",rbrke:"\u298c",rbrksld:"\u298e",rbrkslu:"\u2990",Rcaron:"\u0158",rcaron:"\u0159",Rcedil:"\u0156",rcedil:"\u0157",rceil:"\u2309",rcub:"}",Rcy:"\u0420",rcy:"\u0440",rdca:"\u2937",rdldhar:"\u2969",rdquo:"\u201d",rdquor:"\u201d",rdsh:"\u21b3",real:"\u211c",realine:"\u211b",realpart:"\u211c",reals:"\u211d",Re:"\u211c",rect:"\u25ad",reg:"\xae",REG:"\xae",ReverseElement:"\u220b",ReverseEquilibrium:"\u21cb",ReverseUpEquilibrium:"\u296f",rfisht:"\u297d",rfloor:"\u230b",rfr:"\ud835\udd2f",Rfr:"\u211c",rHar:"\u2964",rhard:"\u21c1",rharu:"\u21c0",rharul:"\u296c",Rho:"\u03a1",rho:"\u03c1",rhov:"\u03f1",RightAngleBracket:"\u27e9",RightArrowBar:"\u21e5",rightarrow:"\u2192",RightArrow:"\u2192",Rightarrow:"\u21d2",RightArrowLeftArrow:"\u21c4",rightarrowtail:"\u21a3",RightCeiling:"\u2309",RightDoubleBracket:"\u27e7",RightDownTeeVector:"\u295d",RightDownVectorBar:"\u2955",RightDownVector:"\u21c2",RightFloor:"\u230b",rightharpoondown:"\u21c1",rightharpoonup:"\u21c0",rightleftarrows:"\u21c4",rightleftharpoons:"\u21cc",rightrightarrows:"\u21c9",rightsquigarrow:"\u219d",RightTeeArrow:"\u21a6",RightTee:"\u22a2",RightTeeVector:"\u295b",rightthreetimes:"\u22cc",RightTriangleBar:"\u29d0",RightTriangle:"\u22b3",RightTriangleEqual:"\u22b5",RightUpDownVector:"\u294f",RightUpTeeVector:"\u295c",RightUpVectorBar:"\u2954",RightUpVector:"\u21be",RightVectorBar:"\u2953",RightVector:"\u21c0",ring:"\u02da",risingdotseq:"\u2253",rlarr:"\u21c4",rlhar:"\u21cc",rlm:"\u200f",rmoustache:"\u23b1",rmoust:"\u23b1",rnmid:"\u2aee",roang:"\u27ed",roarr:"\u21fe",robrk:"\u27e7",ropar:"\u2986",ropf:"\ud835\udd63",Ropf:"\u211d",roplus:"\u2a2e",rotimes:"\u2a35",RoundImplies:"\u2970",rpar:")",rpargt:"\u2994",rppolint:"\u2a12",rrarr:"\u21c9",Rrightarrow:"\u21db",rsaquo:"\u203a",rscr:"\ud835\udcc7",Rscr:"\u211b",rsh:"\u21b1",Rsh:"\u21b1",rsqb:"]",rsquo:"\u2019",rsquor:"\u2019",rthree:"\u22cc",rtimes:"\u22ca",rtri:"\u25b9",rtrie:"\u22b5",rtrif:"\u25b8",rtriltri:"\u29ce",RuleDelayed:"\u29f4",ruluhar:"\u2968",rx:"\u211e",Sacute:"\u015a",sacute:"\u015b",sbquo:"\u201a",scap:"\u2ab8",Scaron:"\u0160",scaron:"\u0161",Sc:"\u2abc",sc:"\u227b",sccue:"\u227d",sce:"\u2ab0",scE:"\u2ab4",Scedil:"\u015e",scedil:"\u015f",Scirc:"\u015c",scirc:"\u015d",scnap:"\u2aba",scnE:"\u2ab6",scnsim:"\u22e9",scpolint:"\u2a13",scsim:"\u227f",Scy:"\u0421",scy:"\u0441",sdotb:"\u22a1",sdot:"\u22c5",sdote:"\u2a66",searhk:"\u2925",searr:"\u2198",seArr:"\u21d8",searrow:"\u2198",sect:"\xa7",semi:";",seswar:"\u2929",setminus:"\u2216",setmn:"\u2216",sext:"\u2736",Sfr:"\ud835\udd16",sfr:"\ud835\udd30",sfrown:"\u2322",sharp:"\u266f",SHCHcy:"\u0429",shchcy:"\u0449",SHcy:"\u0428",shcy:"\u0448",ShortDownArrow:"\u2193",ShortLeftArrow:"\u2190",shortmid:"\u2223",shortparallel:"\u2225",ShortRightArrow:"\u2192",ShortUpArrow:"\u2191",shy:"\xad",Sigma:"\u03a3",sigma:"\u03c3",sigmaf:"\u03c2",sigmav:"\u03c2",sim:"\u223c",simdot:"\u2a6a",sime:"\u2243",simeq:"\u2243",simg:"\u2a9e",simgE:"\u2aa0",siml:"\u2a9d",simlE:"\u2a9f",simne:"\u2246",simplus:"\u2a24",simrarr:"\u2972",slarr:"\u2190",SmallCircle:"\u2218",smallsetminus:"\u2216",smashp:"\u2a33",smeparsl:"\u29e4",smid:"\u2223",smile:"\u2323",smt:"\u2aaa",smte:"\u2aac",smtes:"\u2aac\ufe00",SOFTcy:"\u042c",softcy:"\u044c",solbar:"\u233f",solb:"\u29c4",sol:"/",Sopf:"\ud835\udd4a",sopf:"\ud835\udd64",spades:"\u2660",spadesuit:"\u2660",spar:"\u2225",sqcap:"\u2293",sqcaps:"\u2293\ufe00",sqcup:"\u2294",sqcups:"\u2294\ufe00",Sqrt:"\u221a",sqsub:"\u228f",sqsube:"\u2291",sqsubset:"\u228f",sqsubseteq:"\u2291",sqsup:"\u2290",sqsupe:"\u2292",sqsupset:"\u2290",sqsupseteq:"\u2292",square:"\u25a1",Square:"\u25a1",SquareIntersection:"\u2293",SquareSubset:"\u228f",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",squarf:"\u25aa",squ:"\u25a1",squf:"\u25aa",srarr:"\u2192",Sscr:"\ud835\udcae",sscr:"\ud835\udcc8",ssetmn:"\u2216",ssmile:"\u2323",sstarf:"\u22c6",Star:"\u22c6",star:"\u2606",starf:"\u2605",straightepsilon:"\u03f5",straightphi:"\u03d5",strns:"\xaf",sub:"\u2282",Sub:"\u22d0",subdot:"\u2abd",subE:"\u2ac5",sube:"\u2286",subedot:"\u2ac3",submult:"\u2ac1",subnE:"\u2acb",subne:"\u228a",subplus:"\u2abf",subrarr:"\u2979",subset:"\u2282",Subset:"\u22d0",subseteq:"\u2286",subseteqq:"\u2ac5",SubsetEqual:"\u2286",subsetneq:"\u228a",subsetneqq:"\u2acb",subsim:"\u2ac7",subsub:"\u2ad5",subsup:"\u2ad3",succapprox:"\u2ab8",succ:"\u227b",succcurlyeq:"\u227d",Succeeds:"\u227b",SucceedsEqual:"\u2ab0",SucceedsSlantEqual:"\u227d",SucceedsTilde:"\u227f",succeq:"\u2ab0",succnapprox:"\u2aba",succneqq:"\u2ab6",succnsim:"\u22e9",succsim:"\u227f",SuchThat:"\u220b",sum:"\u2211",Sum:"\u2211",sung:"\u266a",sup1:"\xb9",sup2:"\xb2",sup3:"\xb3",sup:"\u2283",Sup:"\u22d1",supdot:"\u2abe",supdsub:"\u2ad8",supE:"\u2ac6",supe:"\u2287",supedot:"\u2ac4",Superset:"\u2283",SupersetEqual:"\u2287",suphsol:"\u27c9",suphsub:"\u2ad7",suplarr:"\u297b",supmult:"\u2ac2",supnE:"\u2acc",supne:"\u228b",supplus:"\u2ac0",supset:"\u2283",Supset:"\u22d1",supseteq:"\u2287",supseteqq:"\u2ac6",supsetneq:"\u228b",supsetneqq:"\u2acc",supsim:"\u2ac8",supsub:"\u2ad4",supsup:"\u2ad6",swarhk:"\u2926",swarr:"\u2199",swArr:"\u21d9",swarrow:"\u2199",swnwar:"\u292a",szlig:"\xdf",Tab:"\t",target:"\u2316",Tau:"\u03a4",tau:"\u03c4",tbrk:"\u23b4",Tcaron:"\u0164",tcaron:"\u0165",Tcedil:"\u0162",tcedil:"\u0163",Tcy:"\u0422",tcy:"\u0442",tdot:"\u20db",telrec:"\u2315",Tfr:"\ud835\udd17",tfr:"\ud835\udd31",there4:"\u2234",therefore:"\u2234",Therefore:"\u2234",Theta:"\u0398",theta:"\u03b8",thetasym:"\u03d1",thetav:"\u03d1",thickapprox:"\u2248",thicksim:"\u223c",ThickSpace:"\u205f\u200a",ThinSpace:"\u2009",thinsp:"\u2009",thkap:"\u2248",thksim:"\u223c",THORN:"\xde",thorn:"\xfe",tilde:"\u02dc",Tilde:"\u223c",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",timesbar:"\u2a31",timesb:"\u22a0",times:"\xd7",timesd:"\u2a30",tint:"\u222d",toea:"\u2928",topbot:"\u2336",topcir:"\u2af1",top:"\u22a4",Topf:"\ud835\udd4b",topf:"\ud835\udd65",topfork:"\u2ada",tosa:"\u2929",tprime:"\u2034",trade:"\u2122",TRADE:"\u2122",triangle:"\u25b5",triangledown:"\u25bf",triangleleft:"\u25c3",trianglelefteq:"\u22b4",triangleq:"\u225c",triangleright:"\u25b9",trianglerighteq:"\u22b5",tridot:"\u25ec",trie:"\u225c",triminus:"\u2a3a",TripleDot:"\u20db",triplus:"\u2a39",trisb:"\u29cd",tritime:"\u2a3b",trpezium:"\u23e2",Tscr:"\ud835\udcaf",tscr:"\ud835\udcc9",TScy:"\u0426",tscy:"\u0446",TSHcy:"\u040b",tshcy:"\u045b",Tstrok:"\u0166",tstrok:"\u0167",twixt:"\u226c",twoheadleftarrow:"\u219e",twoheadrightarrow:"\u21a0",Uacute:"\xda",uacute:"\xfa",uarr:"\u2191",Uarr:"\u219f",uArr:"\u21d1",Uarrocir:"\u2949",Ubrcy:"\u040e",ubrcy:"\u045e",Ubreve:"\u016c",ubreve:"\u016d",Ucirc:"\xdb",ucirc:"\xfb",Ucy:"\u0423",ucy:"\u0443",udarr:"\u21c5",Udblac:"\u0170",udblac:"\u0171",udhar:"\u296e",ufisht:"\u297e",Ufr:"\ud835\udd18",ufr:"\ud835\udd32",Ugrave:"\xd9",ugrave:"\xf9",uHar:"\u2963",uharl:"\u21bf",uharr:"\u21be",uhblk:"\u2580",ulcorn:"\u231c",ulcorner:"\u231c",ulcrop:"\u230f",ultri:"\u25f8",Umacr:"\u016a",umacr:"\u016b",uml:"\xa8",UnderBar:"_",UnderBrace:"\u23df",UnderBracket:"\u23b5",UnderParenthesis:"\u23dd",Union:"\u22c3",UnionPlus:"\u228e",Uogon:"\u0172",uogon:"\u0173",Uopf:"\ud835\udd4c",uopf:"\ud835\udd66",UpArrowBar:"\u2912",uparrow:"\u2191",UpArrow:"\u2191",Uparrow:"\u21d1",UpArrowDownArrow:"\u21c5",updownarrow:"\u2195",UpDownArrow:"\u2195",Updownarrow:"\u21d5",UpEquilibrium:"\u296e",upharpoonleft:"\u21bf",upharpoonright:"\u21be",uplus:"\u228e",UpperLeftArrow:"\u2196",UpperRightArrow:"\u2197",upsi:"\u03c5",Upsi:"\u03d2",upsih:"\u03d2",Upsilon:"\u03a5",upsilon:"\u03c5",UpTeeArrow:"\u21a5",UpTee:"\u22a5",upuparrows:"\u21c8",urcorn:"\u231d",urcorner:"\u231d",urcrop:"\u230e",Uring:"\u016e",uring:"\u016f",urtri:"\u25f9",Uscr:"\ud835\udcb0",uscr:"\ud835\udcca",utdot:"\u22f0",Utilde:"\u0168",utilde:"\u0169",utri:"\u25b5",utrif:"\u25b4",uuarr:"\u21c8",Uuml:"\xdc",uuml:"\xfc",uwangle:"\u29a7",vangrt:"\u299c",varepsilon:"\u03f5",varkappa:"\u03f0",varnothing:"\u2205",varphi:"\u03d5",varpi:"\u03d6",varpropto:"\u221d",varr:"\u2195",vArr:"\u21d5",varrho:"\u03f1",varsigma:"\u03c2",varsubsetneq:"\u228a\ufe00",varsubsetneqq:"\u2acb\ufe00",varsupsetneq:"\u228b\ufe00",varsupsetneqq:"\u2acc\ufe00",vartheta:"\u03d1",vartriangleleft:"\u22b2",vartriangleright:"\u22b3",vBar:"\u2ae8",Vbar:"\u2aeb",vBarv:"\u2ae9",Vcy:"\u0412",vcy:"\u0432",vdash:"\u22a2",vDash:"\u22a8",Vdash:"\u22a9",VDash:"\u22ab",Vdashl:"\u2ae6",veebar:"\u22bb",vee:"\u2228",Vee:"\u22c1",veeeq:"\u225a",vellip:"\u22ee",verbar:"|",Verbar:"\u2016",vert:"|",Vert:"\u2016",VerticalBar:"\u2223",VerticalLine:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",VeryThinSpace:"\u200a",Vfr:"\ud835\udd19",vfr:"\ud835\udd33",vltri:"\u22b2",vnsub:"\u2282\u20d2",vnsup:"\u2283\u20d2",Vopf:"\ud835\udd4d",vopf:"\ud835\udd67",vprop:"\u221d",vrtri:"\u22b3",Vscr:"\ud835\udcb1",vscr:"\ud835\udccb",vsubnE:"\u2acb\ufe00",vsubne:"\u228a\ufe00",vsupnE:"\u2acc\ufe00",vsupne:"\u228b\ufe00",Vvdash:"\u22aa",vzigzag:"\u299a",Wcirc:"\u0174",wcirc:"\u0175",wedbar:"\u2a5f",wedge:"\u2227",Wedge:"\u22c0",wedgeq:"\u2259",weierp:"\u2118",Wfr:"\ud835\udd1a",wfr:"\ud835\udd34",Wopf:"\ud835\udd4e",wopf:"\ud835\udd68",wp:"\u2118",wr:"\u2240",wreath:"\u2240",Wscr:"\ud835\udcb2",wscr:"\ud835\udccc",xcap:"\u22c2",xcirc:"\u25ef",xcup:"\u22c3",xdtri:"\u25bd",Xfr:"\ud835\udd1b",xfr:"\ud835\udd35",xharr:"\u27f7",xhArr:"\u27fa",Xi:"\u039e",xi:"\u03be",xlarr:"\u27f5",xlArr:"\u27f8",xmap:"\u27fc",xnis:"\u22fb",xodot:"\u2a00",Xopf:"\ud835\udd4f",xopf:"\ud835\udd69",xoplus:"\u2a01",xotime:"\u2a02",xrarr:"\u27f6",xrArr:"\u27f9",Xscr:"\ud835\udcb3",xscr:"\ud835\udccd",xsqcup:"\u2a06",xuplus:"\u2a04",xutri:"\u25b3",xvee:"\u22c1",xwedge:"\u22c0",Yacute:"\xdd",yacute:"\xfd",YAcy:"\u042f",yacy:"\u044f",Ycirc:"\u0176",ycirc:"\u0177",Ycy:"\u042b",ycy:"\u044b",yen:"\xa5",Yfr:"\ud835\udd1c",yfr:"\ud835\udd36",YIcy:"\u0407",yicy:"\u0457",Yopf:"\ud835\udd50",yopf:"\ud835\udd6a",Yscr:"\ud835\udcb4",yscr:"\ud835\udcce",YUcy:"\u042e",yucy:"\u044e",yuml:"\xff",Yuml:"\u0178",Zacute:"\u0179",zacute:"\u017a",Zcaron:"\u017d",zcaron:"\u017e",Zcy:"\u0417",zcy:"\u0437",Zdot:"\u017b",zdot:"\u017c",zeetrf:"\u2128",ZeroWidthSpace:"\u200b",Zeta:"\u0396",zeta:"\u03b6",zfr:"\ud835\udd37",Zfr:"\u2128",ZHcy:"\u0416",zhcy:"\u0436",zigrarr:"\u21dd",zopf:"\ud835\udd6b",Zopf:"\u2124",Zscr:"\ud835\udcb5",zscr:"\ud835\udccf",zwj:"\u200d",zwnj:"\u200c"},t=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4E\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDF55-\uDF59]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDF3C-\uDF3E]|\uD806[\uDC3B\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/,n={};function s(e,r,t){var o,i,a,c,l,u="";for("string"!=typeof r&&(t=r,r=s.defaultChars),void 0===t&&(t=!0),l=function(e){var r,t,s=n[e];if(s)return s;for(s=n[e]=[],r=0;r<128;r++)t=String.fromCharCode(r),/^[0-9a-z]$/i.test(t)?s.push(t):s.push("%"+("0"+r.toString(16).toUpperCase()).slice(-2));for(r=0;r=55296&&a<=57343){if(a>=55296&&a<=56319&&o+1=56320&&c<=57343){u+=encodeURIComponent(e[o]+e[o+1]),o++;continue}u+="%EF%BF%BD"}else u+=encodeURIComponent(e[o]);return u}s.defaultChars=";/?:@&=+$,-_.!~*'()#",s.componentChars="-_.!~*'()";var o=s,i={};function a(e,r){var t;return"string"!=typeof r&&(r=a.defaultChars),t=function(e){var r,t,n=i[e];if(n)return n;for(n=i[e]=[],r=0;r<128;r++)t=String.fromCharCode(r),n.push(t);for(r=0;r=55296&&c<=57343?"\ufffd\ufffd\ufffd":String.fromCharCode(c),r+=6):240==(248&s)&&r+91114111?l+="\ufffd\ufffd\ufffd\ufffd":(c-=65536,l+=String.fromCharCode(55296+(c>>10),56320+(1023&c))),r+=9):l+="\ufffd";return l}))}a.defaultChars=";/?:@&=+$,#",a.componentChars="";var c=a;function l(){this.protocol=null,this.slashes=null,this.auth=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.pathname=null}var u=/^([a-z0-9.+-]+:)/i,p=/:[0-9]*$/,h=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,f=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),d=["'"].concat(f),m=["%","/","?",";","#"].concat(d),g=["/","?","#"],_=/^[+a-z0-9A-Z_-]{0,63}$/,k=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,b={javascript:!0,"javascript:":!0},v={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};l.prototype.parse=function(e,r){var t,n,s,o,i,a=e;if(a=a.trim(),!r&&1===e.split("#").length){var c=h.exec(a);if(c)return this.pathname=c[1],c[2]&&(this.search=c[2]),this}var l=u.exec(a);if(l&&(s=(l=l[0]).toLowerCase(),this.protocol=l,a=a.substr(l.length)),(r||l||a.match(/^\/\/[^@\/]+@[^@\/]+/))&&(!(i="//"===a.substr(0,2))||l&&b[l]||(a=a.substr(2),this.slashes=!0)),!b[l]&&(i||l&&!v[l])){var p,f,d=-1;for(t=0;t127?D+="x":D+=x[w];if(!D.match(_)){var q=A.slice(0,t),S=A.slice(t+1),F=x.match(k);F&&(q.push(F[1]),S.unshift(F[2])),S.length&&(a=S.join(".")+a),this.hostname=q.join(".");break}}}}this.hostname.length>255&&(this.hostname=""),y&&(this.hostname=this.hostname.substr(1,this.hostname.length-2))}var L=a.indexOf("#");-1!==L&&(this.hash=a.substr(L),a=a.slice(0,L));var z=a.indexOf("?");return-1!==z&&(this.search=a.substr(z),a=a.slice(0,z)),a&&(this.pathname=a),v[s]&&this.hostname&&!this.pathname&&(this.pathname=""),this},l.prototype.parseHost=function(e){var r=p.exec(e);r&&(":"!==(r=r[0])&&(this.port=r.substr(1)),e=e.substr(0,e.length-r.length)),e&&(this.hostname=e)};var C={encode:o,decode:c,format:function(e){var r="";return r+=e.protocol||"",r+=e.slashes?"//":"",r+=e.auth?e.auth+"@":"",e.hostname&&-1!==e.hostname.indexOf(":")?r+="["+e.hostname+"]":r+=e.hostname||"",r+=e.port?":"+e.port:"",r+=e.pathname||"",r+=e.search||"",r+=e.hash||""},parse:function(e,r){if(e&&e instanceof l)return e;var t=new l;return t.parse(e,r),t}},y=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,A=/[\0-\x1F\x7F-\x9F]/,x=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/,D={Any:y,Cc:A,Cf:/[\xAD\u0600-\u0605\u061C\u06DD\u070F\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804[\uDCBD\uDCCD]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/,P:t,Z:x},w=function(e,r,t){return t={path:r,exports:{},require:function(e,r){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==r&&t.path)}},e(t,t.exports),t.exports}((function(e,n){var s=Object.prototype.hasOwnProperty;function o(e,r){return s.call(e,r)}function i(e){return!(e>=55296&&e<=57343)&&(!(e>=64976&&e<=65007)&&(65535!=(65535&e)&&65534!=(65535&e)&&(!(e>=0&&e<=8)&&(11!==e&&(!(e>=14&&e<=31)&&(!(e>=127&&e<=159)&&!(e>1114111)))))))}function a(e){if(e>65535){var r=55296+((e-=65536)>>10),t=56320+(1023&e);return String.fromCharCode(r,t)}return String.fromCharCode(e)}var c=/\\([!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~])/g,l=new RegExp(c.source+"|"+/&([a-z#][a-z0-9]{1,31});/gi.source,"gi"),u=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))/i;var p=/[&<>"]/,h=/[&<>"]/g,f={"&":"&","<":"<",">":">",'"':"""};function d(e){return f[e]}var m=/[.?*+^$[\]\\(){}|-]/g;n.lib={},n.lib.mdurl=C,n.lib.ucmicro=D,n.assign=function(e){var r=Array.prototype.slice.call(arguments,1);return r.forEach((function(r){if(r){if("object"!=typeof r)throw new TypeError(r+"must be object");Object.keys(r).forEach((function(t){e[t]=r[t]}))}})),e},n.isString=function(e){return"[object String]"===function(e){return Object.prototype.toString.call(e)}(e)},n.has=o,n.unescapeMd=function(e){return e.indexOf("\\")<0?e:e.replace(c,"$1")},n.unescapeAll=function(e){return e.indexOf("\\")<0&&e.indexOf("&")<0?e:e.replace(l,(function(e,t,n){return t||function(e,t){var n=0;return o(r,t)?r[t]:35===t.charCodeAt(0)&&u.test(t)&&i(n="x"===t[1].toLowerCase()?parseInt(t.slice(2),16):parseInt(t.slice(1),10))?a(n):e}(e,n)}))},n.isValidEntityCode=i,n.fromCodePoint=a,n.escapeHtml=function(e){return p.test(e)?e.replace(h,d):e},n.arrayReplaceAt=function(e,r,t){return[].concat(e.slice(0,r),t,e.slice(r+1))},n.isSpace=function(e){switch(e){case 9:case 32:return!0}return!1},n.isWhiteSpace=function(e){if(e>=8192&&e<=8202)return!0;switch(e){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return!0}return!1},n.isMdAsciiPunct=function(e){switch(e){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return!0;default:return!1}},n.isPunctChar=function(e){return t.test(e)},n.escapeRE=function(e){return e.replace(m,"\\$&")},n.normalizeReference=function(e){return e=e.trim().replace(/\s+/g," "),"\u1e7e"==="\u1e9e".toLowerCase()&&(e=e.replace(/\u1e9e/g,"\xdf")),e.toLowerCase().toUpperCase()}})),E=w.unescapeAll,q=w.unescapeAll,S=function(e,r,t){var n,s,o=r,i={ok:!1,pos:0,lines:0,str:""};if(60===e.charCodeAt(r)){for(r++;r32)return i;if(41===n){if(0===s)break;s--}r++}return o===r||0!==s||(i.str=E(e.slice(o,r)),i.lines=0,i.pos=r,i.ok=!0),i},F=function(e,r,t){var n,s,o=0,i=r,a={ok:!1,pos:0,lines:0,str:""};if(r>=t)return a;if(34!==(s=e.charCodeAt(r))&&39!==s&&40!==s)return a;for(r++,40===s&&(s=41);r"+I(e[r].content)+""},M.code_block=function(e,r,t,n,s){var o=e[r];return""+I(e[r].content)+"\n"},M.fence=function(e,r,t,n,s){var o,i,a,c,l,u=e[r],p=u.info?T(u.info).trim():"",h="",f="";return p&&(h=(a=p.split(/(\s+)/g))[0],f=a.slice(2).join("")),0===(o=t.highlight&&t.highlight(u.content,h,f)||I(u.content)).indexOf(""+o+"\n"):"
"+o+"
\n"},M.image=function(e,r,t,n,s){var o=e[r];return o.attrs[o.attrIndex("alt")][1]=s.renderInlineAsText(o.children,t,n),s.renderToken(e,r,t)},M.hardbreak=function(e,r,t){return t.xhtmlOut?"
\n":"
\n"},M.softbreak=function(e,r,t){return t.breaks?t.xhtmlOut?"
\n":"
\n":"\n"},M.text=function(e,r){return I(e[r].content)},M.html_block=function(e,r){return e[r].content},M.html_inline=function(e,r){return e[r].content},R.prototype.renderAttrs=function(e){var r,t,n;if(!e.attrs)return"";for(n="",r=0,t=e.attrs.length;r\n":">")},R.prototype.renderInline=function(e,r,t){for(var n,s="",o=this.rules,i=0,a=e.length;i/i.test(e)}var Z=/\+-|\.\.|\?\?\?\?|!!!!|,,|--/,$=/\((c|tm|r)\)/i,G=/\((c|tm|r)\)/gi,H={c:"\xa9",r:"\xae",tm:"\u2122"};function J(e,r){return H[r.toLowerCase()]}function W(e){var r,t,n=0;for(r=e.length-1;r>=0;r--)"text"!==(t=e[r]).type||n||(t.content=t.content.replace(G,J)),"link_open"===t.type&&"auto"===t.info&&n--,"link_close"===t.type&&"auto"===t.info&&n++}function Y(e){var r,t,n=0;for(r=e.length-1;r>=0;r--)"text"!==(t=e[r]).type||n||Z.test(t.content)&&(t.content=t.content.replace(/\+-/g,"\xb1").replace(/\.{2,}/g,"\u2026").replace(/([?!])\u2026/g,"$1..").replace(/([?!]){4,}/g,"$1$1$1").replace(/,{2,}/g,",").replace(/(^|[^-])---(?=[^-]|$)/gm,"$1\u2014").replace(/(^|\s)--(?=\s|$)/gm,"$1\u2013").replace(/(^|[^-\s])--(?=[^-\s]|$)/gm,"$1\u2013")),"link_open"===t.type&&"auto"===t.info&&n--,"link_close"===t.type&&"auto"===t.info&&n++}var K=w.isWhiteSpace,Q=w.isPunctChar,X=w.isMdAsciiPunct,ee=/['"]/,re=/['"]/g;function te(e,r,t){return e.slice(0,r)+t+e.slice(r+1)}function ne(e,r){var t,n,s,o,i,a,c,l,u,p,h,f,d,m,g,_,k,b,v,C,y;for(v=[],t=0;t=0&&!(v[k].level<=c);k--);if(v.length=k+1,"text"===n.type){i=0,a=(s=n.content).length;e:for(;i=0)u=s.charCodeAt(o.index-1);else for(k=t-1;k>=0&&("softbreak"!==e[k].type&&"hardbreak"!==e[k].type);k--)if(e[k].content){u=e[k].content.charCodeAt(e[k].content.length-1);break}if(p=32,i=48&&u<=57&&(_=g=!1),g&&_&&(g=h,_=f),g||_){if(_)for(k=v.length-1;k>=0&&(l=v[k],!(v[k].level=0&&(t=this.attrs[r][1]),t},se.prototype.attrJoin=function(e,r){var t=this.attrIndex(e);t<0?this.attrPush([e,r]):this.attrs[t][1]=this.attrs[t][1]+" "+r};var oe=se;function ie(e,r,t){this.src=e,this.env=t,this.tokens=[],this.inlineMode=!1,this.md=r}ie.prototype.Token=oe;var ae=ie,ce=[["normalize",function(e){var r;r=(r=e.src.replace(P,"\n")).replace(j,"\ufffd"),e.src=r}],["block",function(e){var r;e.inlineMode?((r=new e.Token("inline","",0)).content=e.src,r.map=[0,1],r.children=[],e.tokens.push(r)):e.md.block.parse(e.src,e.md,e.env,e.tokens)}],["inline",function(e){var r,t,n,s=e.tokens;for(t=0,n=s.length;t=0;r--)if("link_close"!==(i=s[r]).type){if("html_inline"===i.type&&(k=i.content,/^\s]/i.test(k)&&f>0&&f--,V(i.content)&&f++),!(f>0)&&"text"===i.type&&e.md.linkify.test(i.content)){for(l=i.content,_=e.md.linkify.match(l),a=[],h=i.level,p=0,_.length>0&&0===_[0].index&&r>0&&"text_special"===s[r-1].type&&(_=_.slice(1)),c=0;c<_.length;c++)d=_[c].url,m=e.md.normalizeLink(d),e.md.validateLink(m)&&(g=_[c].text,g=_[c].schema?"mailto:"!==_[c].schema||/^mailto:/i.test(g)?e.md.normalizeLinkText(g):e.md.normalizeLinkText("mailto:"+g).replace(/^mailto:/,""):e.md.normalizeLinkText("http://"+g).replace(/^http:\/\//,""),(u=_[c].index)>p&&((o=new e.Token("text","",0)).content=l.slice(p,u),o.level=h,a.push(o)),(o=new e.Token("link_open","a",1)).attrs=[["href",m]],o.level=h++,o.markup="linkify",o.info="auto",a.push(o),(o=new e.Token("text","",0)).content=g,o.level=h,a.push(o),(o=new e.Token("link_close","a",-1)).level=--h,o.markup="linkify",o.info="auto",a.push(o),p=_[c].lastIndex);p=0;r--)"inline"===e.tokens[r].type&&($.test(e.tokens[r].content)&&W(e.tokens[r].children),Z.test(e.tokens[r].content)&&Y(e.tokens[r].children))}],["smartquotes",function(e){var r;if(e.md.options.typographer)for(r=e.tokens.length-1;r>=0;r--)"inline"===e.tokens[r].type&&ee.test(e.tokens[r].content)&&ne(e.tokens[r].children,e)}],["text_join",function(e){var r,t,n,s,o,i,a=e.tokens;for(r=0,t=a.length;r=o)return-1;if((t=e.src.charCodeAt(s++))<48||t>57)return-1;for(;;){if(s>=o)return-1;if(!((t=e.src.charCodeAt(s++))>=48&&t<=57)){if(41===t||46===t)break;return-1}if(s-n>=10)return-1}return s`\\x00-\\x20]+|'[^']*'|\"[^\"]*\"))?)*\\s*\\/?>",ye="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",Ae={HTML_TAG_RE:new RegExp("^(?:"+Ce+"|"+ye+"|\x3c!----\x3e|\x3c!--(?:-?[^>-])(?:-?[^-])*--\x3e|<[?][\\s\\S]*?[?]>|]*>|)"),HTML_OPEN_CLOSE_TAG_RE:new RegExp("^(?:"+Ce+"|"+ye+")")},xe=Ae.HTML_OPEN_CLOSE_TAG_RE,De=[[/^<(script|pre|style|textarea)(?=(\s|>|$))/i,/<\/(script|pre|style|textarea)>/i,!0],[/^/,!0],[/^<\?/,/\?>/,!0],[/^/,!0],[/^/,!0],[new RegExp("^|$))","i"),/^$/,!0],[new RegExp(xe.source+"\\s*$"),/^$/,!1]],we=w.isSpace,Ee=w.isSpace;function qe(e,r,t,n){var s,o,i,a,c,l,u,p;for(this.src=e,this.md=r,this.env=t,this.tokens=n,this.bMarks=[],this.eMarks=[],this.tShift=[],this.sCount=[],this.bsCount=[],this.blkIndent=0,this.line=0,this.lineMax=0,this.tight=!1,this.ddIndent=-1,this.listIndent=-1,this.parentType="root",this.level=0,this.result="",p=!1,i=a=l=u=0,c=(o=this.src).length;a0&&this.level++,this.tokens.push(n),n},qe.prototype.isEmpty=function(e){return this.bMarks[e]+this.tShift[e]>=this.eMarks[e]},qe.prototype.skipEmptyLines=function(e){for(var r=this.lineMax;er;)if(!Ee(this.src.charCodeAt(--e)))return e+1;return e},qe.prototype.skipChars=function(e,r){for(var t=this.src.length;et;)if(r!==this.src.charCodeAt(--e))return e+1;return e},qe.prototype.getLines=function(e,r,t,n){var s,o,i,a,c,l,u,p=e;if(e>=r)return"";for(l=new Array(r-e),s=0;pt?new Array(o-t+1).join(" ")+this.src.slice(a,c):this.src.slice(a,c)}return l.join("")},qe.prototype.Token=oe;var Se=qe,Fe=[["table",function(e,r,t,n){var s,o,i,a,c,l,u,p,h,f,d,m,g,_,k,b,v,C;if(r+2>t)return!1;if(l=r+1,e.sCount[l]=4)return!1;if((i=e.bMarks[l]+e.tShift[l])>=e.eMarks[l])return!1;if(124!==(v=e.src.charCodeAt(i++))&&45!==v&&58!==v)return!1;if(i>=e.eMarks[l])return!1;if(124!==(C=e.src.charCodeAt(i++))&&45!==C&&58!==C&&!pe(C))return!1;if(45===v&&pe(C))return!1;for(;i=4)return!1;if((u=fe(o)).length&&""===u[0]&&u.shift(),u.length&&""===u[u.length-1]&&u.pop(),0===(p=u.length)||p!==f.length)return!1;if(n)return!0;for(_=e.parentType,e.parentType="table",b=e.md.block.ruler.getRules("blockquote"),(h=e.push("table_open","table",1)).map=m=[r,0],(h=e.push("thead_open","thead",1)).map=[r,r+1],(h=e.push("tr_open","tr",1)).map=[r,r+1],a=0;a=4)break;for((u=fe(o)).length&&""===u[0]&&u.shift(),u.length&&""===u[u.length-1]&&u.pop(),l===r+2&&((h=e.push("tbody_open","tbody",1)).map=g=[r+2,0]),(h=e.push("tr_open","tr",1)).map=[l,l+1],a=0;a=4))break;s=++n}return e.line=s,(o=e.push("code_block","code",0)).content=e.getLines(r,s,4+e.blkIndent,!1)+"\n",o.map=[r,e.line],!0}],["fence",function(e,r,t,n){var s,o,i,a,c,l,u,p=!1,h=e.bMarks[r]+e.tShift[r],f=e.eMarks[r];if(e.sCount[r]-e.blkIndent>=4)return!1;if(h+3>f)return!1;if(126!==(s=e.src.charCodeAt(h))&&96!==s)return!1;if(c=h,(o=(h=e.skipChars(h,s))-c)<3)return!1;if(u=e.src.slice(c,h),i=e.src.slice(h,f),96===s&&i.indexOf(String.fromCharCode(s))>=0)return!1;if(n)return!0;for(a=r;!(++a>=t)&&!((h=c=e.bMarks[a]+e.tShift[a])<(f=e.eMarks[a])&&e.sCount[a]=4||(h=e.skipChars(h,s))-c=4)return!1;if(62!==e.src.charCodeAt(D++))return!1;if(n)return!0;for(a=h=e.sCount[r]+1,32===e.src.charCodeAt(D)?(D++,a++,h++,s=!1,b=!0):9===e.src.charCodeAt(D)?(b=!0,(e.bsCount[r]+h)%4==3?(D++,a++,h++,s=!1):s=!0):b=!1,f=[e.bMarks[r]],e.bMarks[r]=D;D=w,_=[e.sCount[r]],e.sCount[r]=h-a,k=[e.tShift[r]],e.tShift[r]=D-e.bMarks[r],C=e.md.block.ruler.getRules("blockquote"),g=e.parentType,e.parentType="blockquote",p=r+1;p=(w=e.eMarks[p])));p++)if(62!==e.src.charCodeAt(D++)||A){if(l)break;for(v=!1,i=0,c=C.length;i=w,d.push(e.bsCount[p]),e.bsCount[p]=e.sCount[p]+1+(b?1:0),_.push(e.sCount[p]),e.sCount[p]=h-a,k.push(e.tShift[p]),e.tShift[p]=D-e.bMarks[p]}for(m=e.blkIndent,e.blkIndent=0,(y=e.push("blockquote_open","blockquote",1)).markup=">",y.map=u=[r,0],e.md.block.tokenize(e,r,p),(y=e.push("blockquote_close","blockquote",-1)).markup=">",e.lineMax=x,e.parentType=g,u[1]=e.line,i=0;i=4)return!1;if(42!==(s=e.src.charCodeAt(c++))&&45!==s&&95!==s)return!1;for(o=1;c=4)return!1;if(e.listIndent>=0&&e.sCount[r]-e.listIndent>=4&&e.sCount[r]=e.blkIndent&&(z=!0),(w=ke(e,r))>=0){if(u=!0,q=e.bMarks[r]+e.tShift[r],g=Number(e.src.slice(q,w-1)),z&&1!==g)return!1}else{if(!((w=_e(e,r))>=0))return!1;u=!1}if(z&&e.skipSpaces(w)>=e.eMarks[r])return!1;if(m=e.src.charCodeAt(w-1),n)return!0;for(d=e.tokens.length,u?(L=e.push("ordered_list_open","ol",1),1!==g&&(L.attrs=[["start",g]])):L=e.push("bullet_list_open","ul",1),L.map=f=[r,0],L.markup=String.fromCharCode(m),k=r,E=!1,F=e.md.block.ruler.getRules("list"),C=e.parentType,e.parentType="list";k=_?1:b-l)>4&&(c=1),a=l+c,(L=e.push("list_item_open","li",1)).markup=String.fromCharCode(m),L.map=p=[r,0],u&&(L.info=e.src.slice(q,w-1)),x=e.tight,A=e.tShift[r],y=e.sCount[r],v=e.listIndent,e.listIndent=e.blkIndent,e.blkIndent=a,e.tight=!0,e.tShift[r]=o-e.bMarks[r],e.sCount[r]=b,o>=_&&e.isEmpty(r+1)?e.line=Math.min(e.line+2,t):e.md.block.tokenize(e,r,t,!0),e.tight&&!E||(T=!1),E=e.line-r>1&&e.isEmpty(e.line-1),e.blkIndent=e.listIndent,e.listIndent=v,e.tShift[r]=A,e.sCount[r]=y,e.tight=x,(L=e.push("list_item_close","li",-1)).markup=String.fromCharCode(m),k=r=e.line,p[1]=k,o=e.bMarks[r],k>=t)break;if(e.sCount[k]=4)break;for(S=!1,i=0,h=F.length;i=4)return!1;if(91!==e.src.charCodeAt(C))return!1;for(;++C3||e.sCount[A]<0)){for(_=!1,l=0,u=k.length;l=4)return!1;if(!e.md.options.html)return!1;if(60!==e.src.charCodeAt(c))return!1;for(a=e.src.slice(c,l),s=0;s=4)return!1;if(35!==(s=e.src.charCodeAt(c))||c>=l)return!1;for(o=1,s=e.src.charCodeAt(++c);35===s&&c6||cc&&we(e.src.charCodeAt(i-1))&&(l=i),e.line=r+1,(a=e.push("heading_open","h"+String(o),1)).markup="########".slice(0,o),a.map=[r,e.line],(a=e.push("inline","",0)).content=e.src.slice(c,l).trim(),a.map=[r,e.line],a.children=[],(a=e.push("heading_close","h"+String(o),-1)).markup="########".slice(0,o)),!0)},["paragraph","reference","blockquote"]],["lheading",function(e,r,t){var n,s,o,i,a,c,l,u,p,h,f=r+1,d=e.md.block.ruler.getRules("paragraph");if(e.sCount[r]-e.blkIndent>=4)return!1;for(h=e.parentType,e.parentType="paragraph";f3)){if(e.sCount[f]>=e.blkIndent&&(c=e.bMarks[f]+e.tShift[f])<(l=e.eMarks[f])&&(45===(p=e.src.charCodeAt(c))||61===p)&&(c=e.skipChars(c,p),(c=e.skipSpaces(c))>=l)){u=61===p?1:2;break}if(!(e.sCount[f]<0)){for(s=!1,o=0,i=d.length;o3||e.sCount[c]<0)){for(n=!1,s=0,o=l.length;s=t))&&!(e.sCount[i]=c){e.line=t;break}for(n=0;n?@[]^_`{|}~-".split("").forEach((function(e){Be[e.charCodeAt(0)]=1}));function Oe(e,r){var t,n,s,o,i,a=[],c=r.length;for(t=0;t=0;t--)95!==(n=r[t]).marker&&42!==n.marker||-1!==n.end&&(s=r[n.end],a=t>0&&r[t-1].end===n.end+1&&r[t-1].marker===n.marker&&r[t-1].token===n.token-1&&r[n.end+1].token===s.token+1,i=String.fromCharCode(n.marker),(o=e.tokens[n.token]).type=a?"strong_open":"em_open",o.tag=a?"strong":"em",o.nesting=1,o.markup=a?i+i:i,o.content="",(o=e.tokens[s.token]).type=a?"strong_close":"em_close",o.tag=a?"strong":"em",o.nesting=-1,o.markup=a?i+i:i,o.content="",a&&(e.tokens[r[t-1].token].content="",e.tokens[r[n.end+1].token].content="",t--))}var Ue={tokenize:function(e,r){var t,n,s=e.pos,o=e.src.charCodeAt(s);if(r)return!1;if(95!==o&&42!==o)return!1;for(n=e.scanDelims(e.pos,42===o),t=0;t\x00-\x20]*)$/,We=Ae.HTML_TAG_RE;var Ye=w.has,Ke=w.isValidEntityCode,Qe=w.fromCodePoint,Xe=/^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i,er=/^&([a-z][a-z0-9]{1,31});/i;function rr(e,r){var t,n,s,o,i,a,c,l,u={},p=r.length;if(p){var h=0,f=-2,d=[];for(t=0;ti;n-=d[n]+1)if((o=r[n]).marker===s.marker&&o.open&&o.end<0&&(c=!1,(o.close||s.open)&&(o.length+s.length)%3==0&&(o.length%3==0&&s.length%3==0||(c=!0)),!c)){l=n>0&&!r[n-1].open?d[n-1]+1:0,d[t]=t-n+l,d[n]=l,s.open=!1,o.end=t,o.close=!1,a=-1,f=-2;break}-1!==a&&(u[s.marker][(s.open?3:0)+(s.length||0)%3]=a)}}}var tr=w.isWhiteSpace,nr=w.isPunctChar,sr=w.isMdAsciiPunct;function or(e,r,t,n){this.src=e,this.env=t,this.md=r,this.tokens=n,this.tokens_meta=Array(n.length),this.pos=0,this.posMax=this.src.length,this.level=0,this.pending="",this.pendingLevel=0,this.cache={},this.delimiters=[],this._prev_delimiters=[],this.backticks={},this.backticksScanned=!1,this.linkLevel=0}or.prototype.pushPending=function(){var e=new oe("text","",0);return e.content=this.pending,e.level=this.pendingLevel,this.tokens.push(e),this.pending="",e},or.prototype.push=function(e,r,t){this.pending&&this.pushPending();var n=new oe(e,r,t),s=null;return t<0&&(this.level--,this.delimiters=this._prev_delimiters.pop()),n.level=this.level,t>0&&(this.level++,this._prev_delimiters.push(this.delimiters),this.delimiters=[],s={delimiters:this.delimiters}),this.pendingLevel=this.level,this.tokens.push(n),this.tokens_meta.push(s),n},or.prototype.scanDelims=function(e,r){var t,n,s,o,i,a,c,l,u,p=e,h=!0,f=!0,d=this.posMax,m=this.src.charCodeAt(e);for(t=e>0?this.src.charCodeAt(e-1):32;p0)&&(!((t=e.pos)+3>e.posMax)&&(58===e.src.charCodeAt(t)&&(47===e.src.charCodeAt(t+1)&&(47===e.src.charCodeAt(t+2)&&(!!(n=e.pending.match(Ie))&&(s=n[1],!!(o=e.md.linkify.matchAtStart(e.src.slice(t-s.length)))&&(i=(i=o.url).replace(/\*+$/,""),a=e.md.normalizeLink(i),!!e.md.validateLink(a)&&(r||(e.pending=e.pending.slice(0,-s.length),(c=e.push("link_open","a",1)).attrs=[["href",a]],c.markup="linkify",c.info="auto",(c=e.push("text","",0)).content=e.md.normalizeLinkText(i),(c=e.push("link_close","a",-1)).markup="linkify",c.info="auto"),e.pos+=i.length-s.length,!0)))))))))}],["newline",function(e,r){var t,n,s,o=e.pos;if(10!==e.src.charCodeAt(o))return!1;if(t=e.pending.length-1,n=e.posMax,!r)if(t>=0&&32===e.pending.charCodeAt(t))if(t>=1&&32===e.pending.charCodeAt(t-1)){for(s=t-1;s>=1&&32===e.pending.charCodeAt(s-1);)s--;e.pending=e.pending.slice(0,s),e.push("hardbreak","br",0)}else e.pending=e.pending.slice(0,-1),e.push("softbreak","br",0);else e.push("softbreak","br",0);for(o++;o=c)return!1;if(10===(t=e.src.charCodeAt(a))){for(r||e.push("hardbreak","br",0),a++;a=55296&&t<=56319&&a+1=56320&&n<=57343&&(o+=e.src[a+1],a++),s="\\"+o,r||(i=e.push("text_special","",0),t<256&&0!==Be[t]?i.content=o:i.content=s,i.markup=s,i.info="escape"),e.pos=a+1,!0}],["backticks",function(e,r){var t,n,s,o,i,a,c,l,u=e.pos;if(96!==e.src.charCodeAt(u))return!1;for(t=u,u++,n=e.posMax;u=f)return!1;if(d=a,(c=e.md.helpers.parseLinkDestination(e.src,a,e.posMax)).ok){for(u=e.md.normalizeLink(c.str),e.md.validateLink(u)?a=c.pos:u="",d=a;a=f||41!==e.src.charCodeAt(a))&&(m=!0),a++}if(m){if(void 0===e.env.references)return!1;if(a=0?s=e.src.slice(d,a++):a=o+1):a=o+1,s||(s=e.src.slice(i,o)),!(l=e.env.references[Ve(s)]))return e.pos=h,!1;u=l.href,p=l.title}return r||(e.pos=i,e.posMax=o,e.push("link_open","a",1).attrs=t=[["href",u]],p&&t.push(["title",p]),e.linkLevel++,e.md.inline.tokenize(e),e.linkLevel--,e.push("link_close","a",-1)),e.pos=a,e.posMax=f,!0}],["image",function(e,r){var t,n,s,o,i,a,c,l,u,p,h,f,d,m="",g=e.pos,_=e.posMax;if(33!==e.src.charCodeAt(e.pos))return!1;if(91!==e.src.charCodeAt(e.pos+1))return!1;if(a=e.pos+2,(i=e.md.helpers.parseLinkLabel(e,e.pos+1,!1))<0)return!1;if((c=i+1)<_&&40===e.src.charCodeAt(c)){for(c++;c<_&&(n=e.src.charCodeAt(c),Ge(n)||10===n);c++);if(c>=_)return!1;for(d=c,(u=e.md.helpers.parseLinkDestination(e.src,c,e.posMax)).ok&&(m=e.md.normalizeLink(u.str),e.md.validateLink(m)?c=u.pos:m=""),d=c;c<_&&(n=e.src.charCodeAt(c),Ge(n)||10===n);c++);if(u=e.md.helpers.parseLinkTitle(e.src,c,e.posMax),c<_&&d!==c&&u.ok)for(p=u.str,c=u.pos;c<_&&(n=e.src.charCodeAt(c),Ge(n)||10===n);c++);else p="";if(c>=_||41!==e.src.charCodeAt(c))return e.pos=g,!1;c++}else{if(void 0===e.env.references)return!1;if(c<_&&91===e.src.charCodeAt(c)?(d=c+1,(c=e.md.helpers.parseLinkLabel(e,c))>=0?o=e.src.slice(d,c++):c=i+1):c=i+1,o||(o=e.src.slice(a,i)),!(l=e.env.references[$e(o)]))return e.pos=g,!1;m=l.href,p=l.title}return r||(s=e.src.slice(a,i),e.md.inline.parse(s,e.md,e.env,f=[]),(h=e.push("image","img",0)).attrs=t=[["src",m],["alt",""]],h.children=f,h.content=s,p&&t.push(["title",p])),e.pos=c,e.posMax=_,!0}],["autolink",function(e,r){var t,n,s,o,i,a,c=e.pos;if(60!==e.src.charCodeAt(c))return!1;for(i=e.pos,a=e.posMax;;){if(++c>=a)return!1;if(60===(o=e.src.charCodeAt(c)))return!1;if(62===o)break}return t=e.src.slice(i+1,c),Je.test(t)?(n=e.md.normalizeLink(t),!!e.md.validateLink(n)&&(r||((s=e.push("link_open","a",1)).attrs=[["href",n]],s.markup="autolink",s.info="auto",(s=e.push("text","",0)).content=e.md.normalizeLinkText(t),(s=e.push("link_close","a",-1)).markup="autolink",s.info="auto"),e.pos+=t.length+2,!0)):!!He.test(t)&&(n=e.md.normalizeLink("mailto:"+t),!!e.md.validateLink(n)&&(r||((s=e.push("link_open","a",1)).attrs=[["href",n]],s.markup="autolink",s.info="auto",(s=e.push("text","",0)).content=e.md.normalizeLinkText(t),(s=e.push("link_close","a",-1)).markup="autolink",s.info="auto"),e.pos+=t.length+2,!0))}],["html_inline",function(e,r){var t,n,s,o,i,a=e.pos;return!!e.md.options.html&&(s=e.posMax,!(60!==e.src.charCodeAt(a)||a+2>=s)&&(!(33!==(t=e.src.charCodeAt(a+1))&&63!==t&&47!==t&&!function(e){var r=32|e;return r>=97&&r<=122}(t))&&(!!(n=e.src.slice(a).match(We))&&(r||((o=e.push("html_inline","",0)).content=e.src.slice(a,a+n[0].length),i=o.content,/^\s]/i.test(i)&&e.linkLevel++,function(e){return/^<\/a\s*>/i.test(e)}(o.content)&&e.linkLevel--),e.pos+=n[0].length,!0))))}],["entity",function(e,t){var n,s,o,i=e.pos,a=e.posMax;if(38!==e.src.charCodeAt(i))return!1;if(i+1>=a)return!1;if(35===e.src.charCodeAt(i+1)){if(s=e.src.slice(i).match(Xe))return t||(n="x"===s[1][0].toLowerCase()?parseInt(s[1].slice(1),16):parseInt(s[1],10),(o=e.push("text_special","",0)).content=Ke(n)?Qe(n):Qe(65533),o.markup=s[0],o.info="entity"),e.pos+=s[0].length,!0}else if((s=e.src.slice(i).match(er))&&Ye(r,s[1]))return t||((o=e.push("text_special","",0)).content=r[s[1]],o.markup=s[0],o.info="entity"),e.pos+=s[0].length,!0;return!1}]],cr=[["balance_pairs",function(e){var r,t=e.tokens_meta,n=e.tokens_meta.length;for(rr(0,e.delimiters),r=0;r0&&n++,"text"===s[r].type&&r+1=o)break}else e.pending+=e.src[e.pos++]}e.pending&&e.pushPending()},lr.prototype.parse=function(e,r,t,n){var s,o,i,a=new this.State(e,r,t,n);for(this.tokenize(a),i=(o=this.ruler2.getRules("")).length,s=0;s=3&&":"===e[r-3]||r>=3&&"/"===e[r-3]?0:n.match(t.re.no_http)[0].length:0}},"mailto:":{validate:function(e,r,t){var n=e.slice(r);return t.re.mailto||(t.re.mailto=new RegExp("^"+t.re.src_email_name+"@"+t.re.src_host_strict,"i")),t.re.mailto.test(n)?n.match(t.re.mailto)[0].length:0}}},_r="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|\u0440\u0444".split("|");function kr(e){var r=e.re=function(e){var r={};return e=e||{},r.src_Any=y.source,r.src_Cc=A.source,r.src_Z=x.source,r.src_P=t.source,r.src_ZPCc=[r.src_Z,r.src_P,r.src_Cc].join("|"),r.src_ZCc=[r.src_Z,r.src_Cc].join("|"),r.src_pseudo_letter="(?:(?![><\uff5c]|"+r.src_ZPCc+")"+r.src_Any+")",r.src_ip4="(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)",r.src_auth="(?:(?:(?!"+r.src_ZCc+"|[@/\\[\\]()]).)+@)?",r.src_port="(?::(?:6(?:[0-4]\\d{3}|5(?:[0-4]\\d{2}|5(?:[0-2]\\d|3[0-5])))|[1-5]?\\d{1,4}))?",r.src_host_terminator="(?=$|[><\uff5c]|"+r.src_ZPCc+")(?!"+(e["---"]?"-(?!--)|":"-|")+"_|:\\d|\\.-|\\.(?!$|"+r.src_ZPCc+"))",r.src_path="(?:[/?#](?:(?!"+r.src_ZCc+"|[><\uff5c]|[()[\\]{}.,\"'?!\\-;]).|\\[(?:(?!"+r.src_ZCc+"|\\]).)*\\]|\\((?:(?!"+r.src_ZCc+"|[)]).)*\\)|\\{(?:(?!"+r.src_ZCc+'|[}]).)*\\}|\\"(?:(?!'+r.src_ZCc+'|["]).)+\\"|\\\'(?:(?!'+r.src_ZCc+"|[']).)+\\'|\\'(?="+r.src_pseudo_letter+"|[-])|\\.{2,}[a-zA-Z0-9%/&]|\\.(?!"+r.src_ZCc+"|[.]|$)|"+(e["---"]?"\\-(?!--(?:[^-]|$))(?:-*)|":"\\-+|")+",(?!"+r.src_ZCc+"|$)|;(?!"+r.src_ZCc+"|$)|\\!+(?!"+r.src_ZCc+"|[!]|$)|\\?(?!"+r.src_ZCc+"|[?]|$))+|\\/)?",r.src_email_name='[\\-;:&=\\+\\$,\\.a-zA-Z0-9_][\\-;:&=\\+\\$,\\"\\.a-zA-Z0-9_]*',r.src_xn="xn--[a-z0-9\\-]{1,59}",r.src_domain_root="(?:"+r.src_xn+"|"+r.src_pseudo_letter+"{1,63})",r.src_domain="(?:"+r.src_xn+"|(?:"+r.src_pseudo_letter+")|(?:"+r.src_pseudo_letter+"(?:-|"+r.src_pseudo_letter+"){0,61}"+r.src_pseudo_letter+"))",r.src_host="(?:(?:(?:(?:"+r.src_domain+")\\.)*"+r.src_domain+"))",r.tpl_host_fuzzy="(?:"+r.src_ip4+"|(?:(?:(?:"+r.src_domain+")\\.)+(?:%TLDS%)))",r.tpl_host_no_ip_fuzzy="(?:(?:(?:"+r.src_domain+")\\.)+(?:%TLDS%))",r.src_host_strict=r.src_host+r.src_host_terminator,r.tpl_host_fuzzy_strict=r.tpl_host_fuzzy+r.src_host_terminator,r.src_host_port_strict=r.src_host+r.src_port+r.src_host_terminator,r.tpl_host_port_fuzzy_strict=r.tpl_host_fuzzy+r.src_port+r.src_host_terminator,r.tpl_host_port_no_ip_fuzzy_strict=r.tpl_host_no_ip_fuzzy+r.src_port+r.src_host_terminator,r.tpl_host_fuzzy_test="localhost|www\\.|\\.\\d{1,3}\\.|(?:\\.(?:%TLDS%)(?:"+r.src_ZPCc+"|>|$))",r.tpl_email_fuzzy='(^|[><\uff5c]|"|\\(|'+r.src_ZCc+")("+r.src_email_name+"@"+r.tpl_host_fuzzy_strict+")",r.tpl_link_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`|\uff5c]|"+r.src_ZPCc+"))((?![$+<=>^`|\uff5c])"+r.tpl_host_port_fuzzy_strict+r.src_path+")",r.tpl_link_no_ip_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`|\uff5c]|"+r.src_ZPCc+"))((?![$+<=>^`|\uff5c])"+r.tpl_host_port_no_ip_fuzzy_strict+r.src_path+")",r}(e.__opts__),n=e.__tlds__.slice();function s(e){return e.replace("%TLDS%",r.src_tlds)}e.onCompile(),e.__tlds_replaced__||n.push("a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]"),n.push(r.src_xn),r.src_tlds=n.join("|"),r.email_fuzzy=RegExp(s(r.tpl_email_fuzzy),"i"),r.link_fuzzy=RegExp(s(r.tpl_link_fuzzy),"i"),r.link_no_ip_fuzzy=RegExp(s(r.tpl_link_no_ip_fuzzy),"i"),r.host_fuzzy_test=RegExp(s(r.tpl_host_fuzzy_test),"i");var o=[];function i(e,r){throw new Error('(LinkifyIt) Invalid schema "'+e+'": '+r)}e.__compiled__={},Object.keys(e.__schemas__).forEach((function(r){var t=e.__schemas__[r];if(null!==t){var n={validate:null,link:null};if(e.__compiled__[r]=n,"[object Object]"===hr(t))return!function(e){return"[object RegExp]"===hr(e)}(t.validate)?fr(t.validate)?n.validate=t.validate:i(r,t):n.validate=function(e){return function(r,t){var n=r.slice(t);return e.test(n)?n.match(e)[0].length:0}}(t.validate),void(fr(t.normalize)?n.normalize=t.normalize:t.normalize?i(r,t):n.normalize=function(e,r){r.normalize(e)});!function(e){return"[object String]"===hr(e)}(t)?i(r,t):o.push(r)}})),o.forEach((function(r){e.__compiled__[e.__schemas__[r]]&&(e.__compiled__[r].validate=e.__compiled__[e.__schemas__[r]].validate,e.__compiled__[r].normalize=e.__compiled__[e.__schemas__[r]].normalize)})),e.__compiled__[""]={validate:null,normalize:function(e,r){r.normalize(e)}};var a=Object.keys(e.__compiled__).filter((function(r){return r.length>0&&e.__compiled__[r]})).map(dr).join("|");e.re.schema_test=RegExp("(^|(?!_)(?:[><\uff5c]|"+r.src_ZPCc+"))("+a+")","i"),e.re.schema_search=RegExp("(^|(?!_)(?:[><\uff5c]|"+r.src_ZPCc+"))("+a+")","ig"),e.re.schema_at_start=RegExp("^"+e.re.schema_search.source,"i"),e.re.pretest=RegExp("("+e.re.schema_test.source+")|("+e.re.host_fuzzy_test.source+")|@","i"),function(e){e.__index__=-1,e.__text_cache__=""}(e)}function br(e,r){var t=e.__index__,n=e.__last_index__,s=e.__text_cache__.slice(t,n);this.schema=e.__schema__.toLowerCase(),this.index=t+r,this.lastIndex=n+r,this.raw=s,this.text=s,this.url=s}function vr(e,r){var t=new br(e,r);return e.__compiled__[t.schema].normalize(t,e),t}function Cr(e,r){if(!(this instanceof Cr))return new Cr(e,r);var t;r||(t=e,Object.keys(t||{}).reduce((function(e,r){return e||mr.hasOwnProperty(r)}),!1)&&(r=e,e={})),this.__opts__=pr({},mr,r),this.__index__=-1,this.__last_index__=-1,this.__schema__="",this.__text_cache__="",this.__schemas__=pr({},gr,e),this.__compiled__={},this.__tlds__=_r,this.__tlds_replaced__=!1,this.re={},kr(this)}Cr.prototype.add=function(e,r){return this.__schemas__[e]=r,kr(this),this},Cr.prototype.set=function(e){return this.__opts__=pr(this.__opts__,e),this},Cr.prototype.test=function(e){if(this.__text_cache__=e,this.__index__=-1,!e.length)return!1;var r,t,n,s,o,i,a,c;if(this.re.schema_test.test(e))for((a=this.re.schema_search).lastIndex=0;null!==(r=a.exec(e));)if(s=this.testSchemaAt(e,r[2],a.lastIndex)){this.__schema__=r[2],this.__index__=r.index+r[1].length,this.__last_index__=r.index+r[0].length+s;break}return this.__opts__.fuzzyLink&&this.__compiled__["http:"]&&(c=e.search(this.re.host_fuzzy_test))>=0&&(this.__index__<0||c=0&&null!==(n=e.match(this.re.email_fuzzy))&&(o=n.index+n[1].length,i=n.index+n[0].length,(this.__index__<0||othis.__last_index__)&&(this.__schema__="mailto:",this.__index__=o,this.__last_index__=i)),this.__index__>=0},Cr.prototype.pretest=function(e){return this.re.pretest.test(e)},Cr.prototype.testSchemaAt=function(e,r,t){return this.__compiled__[r.toLowerCase()]?this.__compiled__[r.toLowerCase()].validate(e,t,this):0},Cr.prototype.match=function(e){var r=0,t=[];this.__index__>=0&&this.__text_cache__===e&&(t.push(vr(this,r)),r=this.__last_index__);for(var n=r?e.slice(r):e;this.test(n);)t.push(vr(this,r)),n=n.slice(this.__last_index__),r+=this.__last_index__;return t.length?t:null},Cr.prototype.matchAtStart=function(e){if(this.__text_cache__=e,this.__index__=-1,!e.length)return null;var r=this.re.schema_at_start.exec(e);if(!r)return null;var t=this.testSchemaAt(e,r[2],r[0].length);return t?(this.__schema__=r[2],this.__index__=r.index+r[1].length,this.__last_index__=r.index+r[0].length+t,vr(this,0)):null},Cr.prototype.tlds=function(e,r){return e=Array.isArray(e)?e:[e],r?(this.__tlds__=this.__tlds__.concat(e).sort().filter((function(e,r,t){return e!==t[r-1]})).reverse(),kr(this),this):(this.__tlds__=e.slice(),this.__tlds_replaced__=!0,kr(this),this)},Cr.prototype.normalize=function(e){e.schema||(e.url="http://"+e.url),"mailto:"!==e.schema||/^mailto:/i.test(e.url)||(e.url="mailto:"+e.url)},Cr.prototype.onCompile=function(){};var yr=Cr,Ar=2147483647,xr=36,Dr=/^xn--/,wr=/[^\x20-\x7E]/,Er=/[\x2E\u3002\uFF0E\uFF61]/g,qr={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},Sr=Math.floor,Fr=String.fromCharCode; +/*! https://mths.be/punycode v1.4.1 by @mathias */function Lr(e){throw new RangeError(qr[e])}function zr(e,r){for(var t=e.length,n=[];t--;)n[t]=r(e[t]);return n}function Tr(e,r){var t=e.split("@"),n="";return t.length>1&&(n=t[0]+"@",e=t[1]),n+zr((e=e.replace(Er,".")).split("."),r).join(".")}function Ir(e){for(var r,t,n=[],s=0,o=e.length;s=55296&&r<=56319&&s65535&&(r+=Fr((e-=65536)>>>10&1023|55296),e=56320|1023&e),r+=Fr(e)})).join("")}function Rr(e,r){return e+22+75*(e<26)-((0!=r)<<5)}function Br(e,r,t){var n=0;for(e=t?Sr(e/700):e>>1,e+=Sr(e/r);e>455;n+=xr)e=Sr(e/35);return Sr(n+36*e/(e+38))}function Nr(e){var r,t,n,s,o,i,a,c,l,u,p,h=[],f=e.length,d=0,m=128,g=72;for((t=e.lastIndexOf("-"))<0&&(t=0),n=0;n=128&&Lr("not-basic"),h.push(e.charCodeAt(n));for(s=t>0?t+1:0;s=f&&Lr("invalid-input"),((c=(p=e.charCodeAt(s++))-48<10?p-22:p-65<26?p-65:p-97<26?p-97:xr)>=xr||c>Sr((Ar-d)/i))&&Lr("overflow"),d+=c*i,!(c<(l=a<=g?1:a>=g+26?26:a-g));a+=xr)i>Sr(Ar/(u=xr-l))&&Lr("overflow"),i*=u;g=Br(d-o,r=h.length+1,0==o),Sr(d/r)>Ar-m&&Lr("overflow"),m+=Sr(d/r),d%=r,h.splice(d++,0,m)}return Mr(h)}function Or(e){var r,t,n,s,o,i,a,c,l,u,p,h,f,d,m,g=[];for(h=(e=Ir(e)).length,r=128,t=0,o=72,i=0;i=r&&pSr((Ar-t)/(f=n+1))&&Lr("overflow"),t+=(a-r)*f,r=a,i=0;iAr&&Lr("overflow"),p==r){for(c=t,l=xr;!(c<(u=l<=o?1:l>=o+26?26:l-o));l+=xr)m=c-u,d=xr-u,g.push(Fr(Rr(u+m%d,0))),c=Sr(m/d);g.push(Fr(Rr(c,0))),o=Br(t,f,n==s),t=0,++n}++t,++r}return g.join("")}function Pr(e){return Tr(e,(function(e){return Dr.test(e)?Nr(e.slice(4).toLowerCase()):e}))}function jr(e){return Tr(e,(function(e){return wr.test(e)?"xn--"+Or(e):e}))}var Ur="1.4.1",Vr={decode:Ir,encode:Mr},Zr={version:Ur,ucs2:Vr,toASCII:jr,toUnicode:Pr,encode:Or,decode:Nr},$r=e(Object.freeze({__proto__:null,decode:Nr,encode:Or,toUnicode:Pr,toASCII:jr,version:Ur,ucs2:Vr,default:Zr})),Gr={default:{options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:"language-",linkify:!1,typographer:!1,quotes:"\u201c\u201d\u2018\u2019",highlight:null,maxNesting:100},components:{core:{},block:{},inline:{}}},zero:{options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:"language-",linkify:!1,typographer:!1,quotes:"\u201c\u201d\u2018\u2019",highlight:null,maxNesting:20},components:{core:{rules:["normalize","block","inline","text_join"]},block:{rules:["paragraph"]},inline:{rules:["text"],rules2:["balance_pairs","fragments_join"]}}},commonmark:{options:{html:!0,xhtmlOut:!0,breaks:!1,langPrefix:"language-",linkify:!1,typographer:!1,quotes:"\u201c\u201d\u2018\u2019",highlight:null,maxNesting:20},components:{core:{rules:["normalize","block","inline","text_join"]},block:{rules:["blockquote","code","fence","heading","hr","html_block","lheading","list","reference","paragraph"]},inline:{rules:["autolink","backticks","emphasis","entity","escape","html_inline","image","link","newline","text"],rules2:["balance_pairs","emphasis","fragments_join"]}}}},Hr=/^(vbscript|javascript|file|data):/,Jr=/^data:image\/(gif|png|jpeg|webp);/;function Wr(e){var r=e.trim().toLowerCase();return!Hr.test(r)||!!Jr.test(r)}var Yr=["http:","https:","mailto:"];function Kr(e){var r=C.parse(e,!0);if(r.hostname&&(!r.protocol||Yr.indexOf(r.protocol)>=0))try{r.hostname=$r.toASCII(r.hostname)}catch(e){}return C.encode(C.format(r))}function Qr(e){var r=C.parse(e,!0);if(r.hostname&&(!r.protocol||Yr.indexOf(r.protocol)>=0))try{r.hostname=$r.toUnicode(r.hostname)}catch(e){}return C.decode(C.format(r),C.decode.defaultChars+"%")}function Xr(e,r){if(!(this instanceof Xr))return new Xr(e,r);r||w.isString(e)||(r=e||{},e="default"),this.inline=new ur,this.block=new ze,this.core=new ue,this.renderer=new B,this.linkify=new yr,this.validateLink=Wr,this.normalizeLink=Kr,this.normalizeLinkText=Qr,this.utils=w,this.helpers=w.assign({},L),this.options={},this.configure(e),r&&this.set(r)}return Xr.prototype.set=function(e){return w.assign(this.options,e),this},Xr.prototype.configure=function(e){var r,t=this;if(w.isString(e)&&!(e=Gr[r=e]))throw new Error('Wrong `markdown-it` preset "'+r+'", check name');if(!e)throw new Error("Wrong `markdown-it` preset, can't be empty");return e.options&&t.set(e.options),e.components&&Object.keys(e.components).forEach((function(r){e.components[r].rules&&t[r].ruler.enableOnly(e.components[r].rules),e.components[r].rules2&&t[r].ruler2.enableOnly(e.components[r].rules2)})),this},Xr.prototype.enable=function(e,r){var t=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach((function(r){t=t.concat(this[r].ruler.enable(e,!0))}),this),t=t.concat(this.inline.ruler2.enable(e,!0));var n=e.filter((function(e){return t.indexOf(e)<0}));if(n.length&&!r)throw new Error("MarkdownIt. Failed to enable unknown rule(s): "+n);return this},Xr.prototype.disable=function(e,r){var t=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach((function(r){t=t.concat(this[r].ruler.disable(e,!0))}),this),t=t.concat(this.inline.ruler2.disable(e,!0));var n=e.filter((function(e){return t.indexOf(e)<0}));if(n.length&&!r)throw new Error("MarkdownIt. Failed to disable unknown rule(s): "+n);return this},Xr.prototype.use=function(e){var r=[this].concat(Array.prototype.slice.call(arguments,1));return e.apply(e,r),this},Xr.prototype.parse=function(e,r){if("string"!=typeof e)throw new Error("Input data should be a String");var t=new this.core.State(e,this,r);return this.core.process(t),t.tokens},Xr.prototype.render=function(e,r){return r=r||{},this.renderer.render(this.parse(e,r),this.options,r)},Xr.prototype.parseInline=function(e,r){var t=new this.core.State(e,this,r);return t.inlineMode=!0,this.core.process(t),t.tokens},Xr.prototype.renderInline=function(e,r){return r=r||{},this.renderer.render(this.parseInline(e,r),this.options,r)},Xr})); \ No newline at end of file diff --git a/root/www/luci-static/chatgpt-web/mobile-drag-drop3.0.0-rc.0.min.js b/root/www/luci-static/chatgpt-web/mobile-drag-drop3.0.0-rc.0.min.js new file mode 100644 index 0000000..ad4749e --- /dev/null +++ b/root/www/luci-static/chatgpt-web/mobile-drag-drop3.0.0-rc.0.min.js @@ -0,0 +1,3 @@ +/*! mobile-drag-drop 3.0.0-rc.0 | Copyright (c) 2022 Tim Ruffles | MIT License */ +!function(t,i){"object"==typeof exports&&"undefined"!=typeof module?i(exports):"function"==typeof define&&define.amd?define(["exports"],i):i(t.MobileDragDrop=t.MobileDragDrop||{})}(this,function(t){"use strict";var c="dnd-poly-",s=["none","copy","copyLink","copyMove","link","linkMove","move","all"],f=["none","copy","move","link"];function i(){var t=!1;try{var i=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("test",null,i)}catch(t){}return t}var e=i();function l(t){return t&&t.tagName}function h(t,i,s){void 0===s&&(s=!0),document.addEventListener(t,i,!!e&&{passive:s})}function n(t,i){document.removeEventListener(t,i)}function u(t,i,s,n){void 0===n&&(n=!1);var h=e?{passive:!0,capture:n}:n;return t.addEventListener(i,s,h),{off:function(){t.removeEventListener(i,s,h)}}}function o(t){return 0===t.length?0:t.reduce(function(t,i){return i+t},0)/t.length}function r(t,i){for(var s=0;s eqn { + width: 100%; + margin-left: 3em; +} +section.eqno > span { + width:3em; + text-align:right; +} \ No newline at end of file diff --git a/root/www/luci-static/chatgpt-web/texmath.js b/root/www/luci-static/chatgpt-web/texmath.js new file mode 100644 index 0000000..61a9948 --- /dev/null +++ b/root/www/luci-static/chatgpt-web/texmath.js @@ -0,0 +1,368 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Stefan Goessner - 2017-22. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +'use strict'; + +function escapeHTML(text) { + return text + .replace(/&/g, "&") + .replace(//g, ">") + .replace(/"/g, """) + .replace(/'/g, "'"); +} + +function texmath(md, options) { + const delimiters = texmath.mergeDelimiters(options && options.delimiters); + const outerSpace = options && options.outerSpace || false; // inline rules, effectively `dollars` require surrounding spaces, i.e ` $\psi$ `, to be accepted as inline formulas. This is primarily a guard against misinterpreting single `$`'s in normal markdown text (relevant for inline math only. Default: `false`, for backwards compatibility). + const katexOptions = options && options.katexOptions || {}; + katexOptions.throwOnError = katexOptions.throwOnError || false; + katexOptions.macros = katexOptions.macros || options && options.macros; // ensure backwards compatibility + + if (!texmath.katex) { // else ... deprecated `use` method was used ... + if (options && typeof options.engine === 'object') { + texmath.katex = options.engine; + } + else if (typeof module === "object") + texmath.katex = require('katex'); + else // artifical error object. + texmath.katex = { renderToString() { return 'No math renderer found.' } }; + } + + // inject inline rules to markdown-it + for (const rule of delimiters.inline) { + if (!!outerSpace && 'outerSpace' in rule) rule.outerSpace = true; + md.inline.ruler.before('escape', rule.name, texmath.inline(rule)); // ! important + md.renderer.rules[rule.name] = (tokens, idx) => rule.tmpl.replace(/\$1/,texmath.render(tokens[idx].content,!!rule.displayMode,katexOptions)); + } + // inject block rules to markdown-it + for (const rule of delimiters.block) { + md.block.ruler.before('fence', rule.name, texmath.block(rule)); // ! important for ```math delimiters + md.renderer.rules[rule.name] = (tokens, idx) => rule.tmpl.replace(/\$2/,escapeHTML(tokens[idx].info)) // equation number .. ? + .replace(/\$1/,texmath.render(tokens[idx].content,true,katexOptions)); + } +} + +texmath.mergeDelimiters = function(delims) { + const delimsArr = Array.isArray(delims) ? delims + : typeof delims === "string" ? [delims] + : ['dollars']; + const delimiters = { inline:[], block:[]}; // target of merge process ... + + for (const delim of delimsArr) // merge them into delimiters ... + if (delim in texmath.rules) { + delimiters.inline.push(...texmath.rules[delim].inline); + delimiters.block.push(...texmath.rules[delim].block); + } + + return delimiters; +} + +// texmath.inline = (rule) => dollar; // just for debugging/testing .. + +texmath.inline = (rule) => + function(state, silent) { + const pos = state.pos; + const str = state.src; + const pre = str.startsWith(rule.tag, rule.rex.lastIndex = pos) && (!rule.pre || rule.pre(str, rule.outerSpace, pos)); // valid pre-condition ... + const match = pre && rule.rex.exec(str); + const res = !!match && pos < rule.rex.lastIndex && (!rule.post || rule.post(str, rule.outerSpace, rule.rex.lastIndex - 1)); + + if (res) { + if (!silent) { + const token = state.push(rule.name, 'math', 0); + token.content = match[1]; + token.markup = rule.tag; + } + state.pos = rule.rex.lastIndex; + } + return res; + } + +texmath.block = (rule) => + function block(state, begLine, endLine, silent) { + const pos = state.bMarks[begLine] + state.tShift[begLine]; + const str = state.src; + const pre = str.startsWith(rule.tag, rule.rex.lastIndex = pos) && (!rule.pre || rule.pre(str, false, pos)); // valid pre-condition .... + const match = pre && rule.rex.exec(str); + const res = !!match + && pos < rule.rex.lastIndex + && (!rule.post || rule.post(str, false, rule.rex.lastIndex - 1)); + + if (res && !silent) { // match and valid post-condition ... + const endpos = rule.rex.lastIndex - 1; + let curline; + + for (curline = begLine; curline < endLine; curline++) + if (endpos >= state.bMarks[curline] + state.tShift[curline] && endpos <= state.eMarks[curline]) // line for end of block math found ... + break; + + // "this will prevent lazy continuations from ever going past our end marker" + // s. https://github.com/markdown-it/markdown-it-container/blob/master/index.js + const lineMax = state.lineMax; + const parentType = state.parentType; + state.lineMax = curline; + state.parentType = 'math'; + + if (parentType === 'blockquote') // remove all leading '>' inside multiline formula + match[1] = match[1].replace(/(\n*?^(?:\s*>)+)/gm,''); + // begin token + let token = state.push(rule.name, 'math', 0); // 'math_block' + token.block = true; + token.tag = rule.tag; + token.markup = ''; + token.content = match[1]; + token.info = match[match.length-1]; // eq.no + token.map = [ begLine, curline+1 ]; +// token.hidden = true; + // end token ... superfluous ... + + state.parentType = parentType; + state.lineMax = lineMax; + state.line = curline+1; + } + return res; + } + +texmath.render = function(tex,displayMode,options) { + options.displayMode = displayMode; + let res; + try { + res = texmath.katex.renderToString(tex, options); + } + catch(err) { + res = escapeHTML(`${tex}:${err.message}`) + } + return res; +} + +// ! deprecated ... use options ! +texmath.use = function(katex) { // math renderer used ... + texmath.katex = katex; // ... katex solely at current ... + return texmath; +} + +/* +function dollar(state, silent) { + var start, max, marker, matchStart, matchEnd, token, + pos = state.pos, + ch = state.src.charCodeAt(pos); + + if (ch !== 0x24) { return false; } // $ + + start = pos; + pos++; + max = state.posMax; + + while (pos < max && state.src.charCodeAt(pos) === 0x24) { pos++; } + + marker = state.src.slice(start, pos); + + matchStart = matchEnd = pos; + + while ((matchStart = state.src.indexOf('$', matchEnd)) !== -1) { + matchEnd = matchStart + 1; + + while (matchEnd < max && state.src.charCodeAt(matchEnd) === 0x24) { matchEnd++; } + + if (matchEnd - matchStart === marker.length) { + if (!silent) { + token = state.push('math_inline', 'math', 0); + token.markup = marker; + token.content = state.src.slice(pos, matchStart) + .replace(/[ \n]+/g, ' ') + .trim(); + } + state.pos = matchEnd; + return true; + } + } + + if (!silent) { state.pending += marker; } + state.pos += marker.length; + return true; +}; +*/ + +// used for enable/disable math rendering by `markdown-it` +texmath.inlineRuleNames = ['math_inline','math_inline_double']; +texmath.blockRuleNames = ['math_block','math_block_eqno']; + +texmath.$_pre = (str,outerSpace,beg) => { + const prv = beg > 0 ? str[beg-1].charCodeAt(0) : false; + return outerSpace ? !prv || prv === 0x20 // space (avoiding regex's for performance reasons) + : !prv || prv !== 0x5c // no backslash, + && (prv < 0x30 || prv > 0x39); // no decimal digit .. before opening '$' +} +texmath.$_post = (str,outerSpace,end) => { + const nxt = str[end+1] && str[end+1].charCodeAt(0); + return outerSpace ? !nxt || nxt === 0x20 // space (avoiding regex's for performance reasons) + || nxt === 0x2e // '.' + || nxt === 0x2c // ',' + || nxt === 0x3b // ';' + : !nxt || nxt < 0x30 || nxt > 0x39; // no decimal digit .. after closing '$' +} + +texmath.rules = { + brackets: { + inline: [ + { name: 'math_inline', + rex: /\\\((.+?)\\\)/gy, + tmpl: '$1', + tag: '\\(' + } + ], + block: [ + { name: 'math_block_eqno', + rex: /\\\[(((?!\\\]|\\\[)[\s\S])+?)\\\]\s*?\(([^)$\r\n]+?)\)/gmy, + tmpl: '
$1($2)
', + tag: '\\[' + }, + { name: 'math_block', + rex: /\\\[([\s\S]+?)\\\]/gmy, + tmpl: '
$1
', + tag: '\\[' + } + ] + }, + doxygen: { + inline: [ + { name: 'math_inline', + rex: /\\f\$(.+?)\\f\$/gy, + tmpl: '$1', + tag: '\\f$' + } + ], + block: [ + { name: 'math_block_eqno', + rex: /\\f\[([^]+?)\\f\]\s*?\(([^)\s]+?)\)/gmy, + tmpl: '
$1($2)
', + tag: '\\f[' + }, + { name: 'math_block', + rex: /\\f\[([^]+?)\\f\]/gmy, + tmpl: '
$1
', + tag: '\\f[' + } + ] + }, + gitlab: { + inline: [ + { name: 'math_inline', + rex: /\$`(.+?)`\$/gy, + tmpl: '$1', + tag: '$`' + } + ], + block: [ + { name: 'math_block_eqno', + rex: /`{3}math\s*([^`]+?)\s*?`{3}\s*\(([^)\r\n]+?)\)/gm, + tmpl: '
$1($2)
', + tag: '```math' + }, + { name: 'math_block', + rex: /`{3}math\s*([^`]*?)\s*`{3}/gm, + tmpl: '
$1
', + tag: '```math' + } + ] + }, + julia: { + inline: [ + { name: 'math_inline', + rex: /`{2}([^`]+?)`{2}/gy, + tmpl: '$1', + tag: '``' + }, + { name: 'math_inline', + rex: /\$((?:\S?)|(?:\S.*?\S))\$/gy, + tmpl: '$1', + tag: '$', + spaceEnclosed: false, + pre: texmath.$_pre, + post: texmath.$_post, + + } + ], + block: [ + { name: 'math_block_eqno', + rex: /`{3}math\s+?([^`]+?)\s+?`{3}\s*?\(([^)$\r\n]+?)\)/gmy, + tmpl: '
$1($2)
', + tag: '```math' + }, + { name: 'math_block', + rex: /`{3}math\s+?([^`]+?)\s+?`{3}/gmy, + tmpl: '
$1
', + tag: '```math' + } + ] + }, + kramdown: { + inline: [ + { name: 'math_inline', + rex: /\${2}(.+?)\${2}/gy, + tmpl: '$1', + tag: '$$' + } + ], + block: [ + { name: 'math_block_eqno', + rex: /\${2}([^$]+?)\${2}\s*?\(([^)\s]+?)\)/gmy, + tmpl: '
$1($2)
', + tag: '$$' + }, + { name: 'math_block', + rex: /\${2}([^$]+?)\${2}/gmy, + tmpl: '
$1
', + tag: '$$' + } + ] + }, + beg_end: { + inline: [], + block: [ + { + name: "math_block", + rex: /(\\(?:begin)\{([a-z]+)\}[\s\S]+?\\(?:end)\{\2\})/gmy, // regexp to match \begin{...}...\end{...} environment. + tmpl: "
$1
", + tag: "\\" + } + ] + }, + dollars: { + inline: [ + { name: 'math_inline_double', + rex: /\${2}([^$]*?[^\\])\${2}/gy, + tmpl: '
$1
', + tag: '$$', + displayMode: true, + pre: texmath.$_pre, + post: texmath.$_post + }, + { name: 'math_inline', + rex: /\$((?:[^\s\\])|(?:\S.*?[^\s\\]))\$/gy, + tmpl: '$1', + tag: '$', + outerSpace: false, + pre: texmath.$_pre, + post: texmath.$_post + } + ], + block: [ + { name: 'math_block_eqno', + rex: /\${2}([^$]*?[^\\])\${2}\s*?\(([^)\s]+?)\)/gmy, + tmpl: '
$1($2)
', + tag: '$$' + }, + { name: 'math_block', + rex: /\${2}([^$]*?[^\\])\${2}/gmy, + tmpl: '
$1
', + tag: '$$' + } + ] + } +}; + +if (typeof module === "object" && module.exports) + module.exports = texmath; \ No newline at end of file diff --git a/root/www/luci-static/chatgpt-web/user/boy.jpg b/root/www/luci-static/chatgpt-web/user/boy.jpg new file mode 100644 index 0000000000000000000000000000000000000000..da9f8871f51201ddd4d77cf823815be6c4e7c8a8 GIT binary patch literal 3754 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 literal 0 HcmV?d00001 diff --git a/root/www/luci-static/chatgpt-web/user/boy2.jpg b/root/www/luci-static/chatgpt-web/user/boy2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..78bf08f7a47d9b3e8465a75602dee4a7003a9219 GIT binary patch literal 3155 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 WK7t4&4 zg?eN@qi*iMMea-dwv^KV@SXrS!4ex*q{@PeC zB}l$^xi_Kr3P^MbT!qP={X{+szXI^AvKm?e0)q!3>mCX|C-`N<3w`T15M)N{W;S3lhqBcFUk*-=I>0EE_xnn zG2!lO5U#7S$yp1ApwWuzheec7e-mA83ES7=xu+ttZK0JI1r5ge#5)i2^4)jiLskXV z&^;usXIZ-Z>36%H=-vpyEkyP@v^d(yMGQhyJ|;}iux9VHnXk^k`+HWK0@^df%!@-o zhjnB$KKW<|=9X>rg;cBI!ZGu9C}b|#Y}BseEBt`j+rL-Gx3z5|`*$LXLr{@ZntR8H zTe9-OD~wp5;Hy}$s1QA3SqrgpJ!aly29TZ8j>)(Vu=j+n+PM*LlZC&D!`1Bn0CTT1 Af&c&j literal 0 HcmV?d00001 diff --git a/root/www/luci-static/chatgpt-web/user/cartoon.jpg b/root/www/luci-static/chatgpt-web/user/cartoon.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f86f37b191445db87543b6ec9c37953fc871c399 GIT binary patch literal 5249 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 literal 0 HcmV?d00001 diff --git a/root/www/luci-static/chatgpt-web/user/cartoonboy.jpg b/root/www/luci-static/chatgpt-web/user/cartoonboy.jpg new file mode 100644 index 0000000000000000000000000000000000000000..35ab911e4ed9058b726a08e532823ad527a527fb GIT binary patch literal 3414 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 literal 0 HcmV?d00001 diff --git a/root/www/luci-static/chatgpt-web/user/cartoongirl.jpg b/root/www/luci-static/chatgpt-web/user/cartoongirl.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c6423b7cf3cf2bae9f209ed07e884b28270c46d0 GIT binary patch literal 3853 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 G)Bgo1|G2vV literal 0 HcmV?d00001 diff --git a/root/www/luci-static/chatgpt-web/user/cartoongirl2.jpg b/root/www/luci-static/chatgpt-web/user/cartoongirl2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ba3ca4d9487f934e3ea65621df3c0261c847a36f GIT binary patch literal 3887 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 S#KM*PXDrdiW6+5Gss8}Agqpzs literal 0 HcmV?d00001 diff --git a/root/www/luci-static/chatgpt-web/user/cartoongirl3.jpg b/root/www/luci-static/chatgpt-web/user/cartoongirl3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9720aed1e9a64ca4caf927e6a7de64109ccc96f6 GIT binary patch literal 3782 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 literal 0 HcmV?d00001 diff --git a/root/www/luci-static/chatgpt-web/user/girl.jpg b/root/www/luci-static/chatgpt-web/user/girl.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cb12c9bf52fee3b6205bd215adb498b52686f25b GIT binary patch literal 54415 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 CD+>Yu literal 0 HcmV?d00001 diff --git a/root/www/luci-static/chatgpt-web/user/girl2.jpg b/root/www/luci-static/chatgpt-web/user/girl2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ef299ba98693862de951b9a91e72e1e89c257783 GIT binary patch literal 30463 zcmb4~WmFtI)Sw5K;tWtI&LD%A!L7Kv4N%;@xD|@KI}GmbIut1G?p}OwinWE7cKhyr zd(Qsdn_tPz$;nM}lH4aZf7k!+0SJ`j6y*R&NB{uRzXbTZ1&{_{V_;xmpkrfUV!e8W zje}24fRBfVPfbcjL=K{5Vq~CYpl9I_;$~sxXQOA}k>TMN5tERRVB(fjmK9eLdM6?F zUn5AbUcJJ{#it@5pb`T!fW`j5Z<#bA&(9>IT99M3fH7@$YMQ_wV>UA7oRJdSbW8b~YoLr7-#_!7t*_c# zV0pFS>W<*7my}m^4~)A)Y;VLWrhae1@&i$wPI*bz zaF*0|>Qp%GYr!&{I!t*12+*;hi(=KgsvYLYQ8TgcS;hCz&8+D*XX|ST+}ja?;mW4z z&6e=x1o00@RoxdMlq@Y~D^8r+BbOOxrph~WQ8}bFW-xC-#pE0YOg;F#W<0@mW$>T# zP`;iickj8c0_u7nIoL=^b<%hrdSiO#W>1#iysmV*Tc`W%u`oUe#LV=n&VTa;b-uaA z=9ktF{$Zw;k{EfeBx>7nrQ6eB0_BCXvYFGm>r$bXVRiDl4N zfBH>Q5hUpY9c$C~+Wp0m<+w$o2M?mqw+--#j^@6l4Ei`>QZI0zRpxtxUXwu{)x9<; z1=hAC(iVU$Al+~hXMK`Zj`uWTxthpHS;MoVLbo4X&MsJ6@I6QDjf;>CT>p*QQuJVU z6+;XBlnG?)_wkbtXMyk!@-^k)`{t>)&QeB(Q>e=v!C(2M>DccUS^K0&NPs|lA;1!2)z}O{s_a)i}odo`494_c#I!?eaxXDR4wJ5boMZOT+ zU7o^hnNrNmiNI|ulPQxJrpt2;RSTo~$SIZ^9jBZ6-EfMI7}4u2PcUJi5U(9$RaXYT z^~`RzOz%d#k-JArP<9aVvs;{yv%^BwWHFl0U4d=aGFf$zk^kV}YuPHDFt*mzy!CVD z1+v!G(WY>H9P5Y_e#75kGEuFJ+8T3~MwfcQJ;+NUDycW9#$hpX zBzBXSErf>oydL#_z4m;B>l7!iVR?_UCQp;j{O6~%PI`l=5fzan&K_xQvb$qyrAam( zRgKJPD`uIN565PgnPx1Zi;ls9-;SL>n>_IUZ{dNuRm(7>P4*UnNY7kXegdeHxYyh%hhb zNfFEcsdjX4xPCEz*eID>GquKUl*6fi%SR}|!NFI^DRtkSxBGPXA+aTWM^_-dY}uX{ z{R8ZKQ;k>wEbsFNgbdg^wDkF;JrvAQf{4LP(`$;)7Mg3ne}Qn4tvW>L0aFvvtQlA4 zOu`CHVjV54FDRO(3E+&it1?=eHCN!=yj708(MrftG~bk==Yp0a8;CC50q67wcze-! zHn5vB@J)-N9H$9!EtCdFH3|6i4-Z);eVxz9O z^xwzTg~*bLaSSq^PdIXh6PxB;=x1enCF4ZFasdUX-Pspw9v4eC=M2#^6R8fvscB`Y zI%Opj-Wjv4h6Alx%O}sShKF)%D=@V2a$DY42i-F$C)amZU)X#|D;9PvGGL2B&7>J| z_%iCKHi$&~FNJ5heI`l_5DyPm5FzLFNAJ96Pr{=3mXYw<$|P#0vQ#CM8DRAcVk*Ap zq*AEQ_v7A5y&h~3C+7oyDPt2@;oM_O9XBo&SO02gGiSyeVQ&MsX&)GPHL25$`^nG$ z-wNO`_q12#70CgS%X$c(LYC^r)KcX&PIcN9nPWh?Ohr}Xdb268iQN8WM1$XMpa1%d z9iDz(pEg1_9m=pO`=-@D`)r|QkY~zAM0nOipM2MIP1^6=Xoh9gg=10Wd!M<>J2j1Q z`HBm(Yh?~e)Yrc(+k#xdNL6gpJclnqcs7#$$8rU7zAb{v#Fn z8>3-MVbBh;BX;@mW%Ke`cYM=I?$#vFy+_%}1I5YXjLP?xRyh^-t8Z_{y=F)a>{^wL z+HiWg-UR&mzJ5`R^0sbh*<^OEP_5hQL8^&3+c9%jqo!2u#H$v=D8gv23(-0C&gf7x z-Py2nJ|2?4q3qt*g0tHy66jA(WuC8kWh>@a=e1yIY2b!#+aS8Asn|g7SCF>`M;6IX z(opFr0U50wpYF`bw8t`RY%syz=R3^?59;a6O3pKI`(bDH6%}NDhRXhbYayYRrG&@g&1zWR!E{aTamER5zIUDqL*St>U?u@i9-#7Q^WF zaoj%~?n`B-x=9qBk$GrzjV&ILKY#jq0lvLGJqy3|T;%7Q$pwXDm$`L+od(TyyoZDai-R^y&cz$)m(->4Awd?ou;f11M#3)pa&5=Cjtioe0s8If- z^)W9lKJZT2XsYV8JxS?8asnx*W#h`sU=5n@66Yzf6-v$Nb|{3-J)&^BZhieS_1so?ng9U&lhT z4c_=Jtag10^cN3oqh$)resi4AC)c!U44QX(TEvO)WIDKSRke8mM^J2bechH89v{8Q zKmUMh^wvCWyxzlbZSv~mo|!Muh9Cr+fWOYR(mZjAqxHS9#O-M=nytCtmpX91%_O+I zVztEcI5=YYyNI=A#TKK?8tsYCT;bW^xGJS2-AepbW@|QRiC2s988lmiKHI5juQ9uf zSbz8f=c}VW(e$6}Oz(bLNC@p7naZU7Hh6y67+8>Kv&EYLgfPKxk9SuoSBXc5XfO4g z6`N+HbiPSs`a@tt4a)k6?x!-zRo^b8IP_wM_$s| z;ALg-N73YY>p56|XY#60L7&@pCkO95AhjN03!}usm4}^?Uvr6Ul+~)D2){45a>;xW z>!ISZ3Ms?;H&qKEdFywRIP`_W=Wbi4zPr&@tj0MkNTn5hx5)6O4&`$Vpq_!4CNRUG z=kf-5S498#vtM;x=KCRG0-y=>P2OoR=X;YxweCX`#0*yoa=h*WOl+>IMV6`O#Xa*I z;$22;WgOU}p|G&@bYr!JC*0<2-zGE5RNuqk8=5KUfER}q32PISc80AWr)w8|+xyAA zH(;f86_UR@DjAm1(TJg$=y)F^ddIp!p924~G6y;Oz?JfP%^gri)P&4W@W!D+r{O%d3 zG=-&TT?r`#GoEt#aEWIks#@4frWF_sohww$33T&n<6;bdPg#Z5u|AbAyWZ@0>~0I0 zrz+)m1e9I$x|K!nFnE!#iLi&;IIb9l*V_KGAugfk_C@I5KrJSB;_`m;Qe`s4nfc7O zKk<>{Zp*f#E0!n`jW_S?RjD6$nicl@g7Pr^MRL(lqvwP62C}5mHbn1qKEAx|^wDfj z{3YrsCl@EF|AWDt;@0HKxJ^;oh{OyRZ>CqSi}>yMO%~hQoCOxUfIzAAgcdr}1bC&j zNUhZ9bFXdxh_$lF+?-FNn6rDc))~FCufuVLHEq3ZBe?dy?^9x0q3X0Trpu^{b$Z2Z zE|Q{Wjx$B8a=>-yZ16Tgx~5XwqHBWHg=m&q!069s#E3c$o3`2{A?TBfb=APq2Hfp| z%EqFp=Fqai=&IPGw^69hK$iEOJ~!5Vzc!AM#m1}0y62tv3%US&_H^=biqs&vt*sNe zt|Ahi+^eLg+gj8qQv`;>)Y9vAY~#LinpVOttZ!xLyDMh1?Ig&(J@d94g}wR;6)k{L zt$w1<2(?cB8>VcdY-hVO=NT$jm-~E4tZZ07!&kSPdE1Y^-2?}(8M9;&Qn(jc6*;Sl z9<=vnl(nkilqI?&D~406zG``XS5K2Iof;6jD|frpOuO@1c3byu;VJf)K=cxON_$Gr zQYbD)NM=PD2bsZ#O7!c%x(1KuFI){=ug~9}oq6=u+3$TTH_-H&vbz!>A{F4G>h(L2 zg|+AwD+$SP7Lj&R%)!3jF*Mk`=a4L8T<&P)$mqGMu6v>=eRKKZeat_Q|B6+H!?0~9 zvu5<$@zD^!RVKv=uf}L&{`v14p~W$^CF+Dc=+H!=z|8ejLpKg^1-k05HBoYGFR;C} zoa`Q{0VrEbJ}WHry7g1htLGrFcX#fx52#1T&z{TXw|~)dmlmVfP+kc&YMIa; ztGngLRO#eQ-R|CTw40DV3TkfVFw>v*y;1G<7g`(FooYL1JRqVR&{or^9z ztBxmJoYGNO7%7X18|1YS#sRe#M2a7+*;~Ru)e7C~ck3P^oB5PkS6lni!;z(Q$ch%~ z1is&djWu;rAO%Y&dtEck36AvQa+XH-R^4Y%Jxuqq9zZOKs=6LaO&y^9o9&4+R z)jf2X7q9)M6&&vwxBjUm}GeWb8&9S&~)ehI1K;jSwIM4_xg2V|cIRjjdBFt;xaJVRRQO#ozBo-G<7fqF9)44s6 zvUQsA&VKMFEGA_)3h~u2F=emMiA72=`k*G5dmvIMTTlNyRlTTgfO0R{ENH0CtK0TY z*r)!(O=iSghJ~gTC)~0(<>`YW!LjHjk^%cQOlnng_56oKvQCJ%iwhy?-`)`X{1Ps0Fb zVZ+Jk#^fgLzG{Y(5SMLF+;M645lMZ}tql3mtwWu$0V!(&FSm?zt1*;D?$gtw?^!eW zRWUM=e+4@syB`bk%9`j2n|NB+*jEC_w>%>Yufj`ES&;C$Tjh1lJaoWy4S-ccCbv^C zumvk6nV?uR*%}LP9u(nVtnzRQf1F$u-o7zZPBnrbj>MHuk+1}}VdsR}EZUen**qNU zlyFzFLS$*H=&FtF;PcDOnoEV?e4hFBM{F`MHGNG6veBJJ3C>-5pC_>8LGb+i!FQLl zbrE6clq%YyABu%Nv$kOPn%0|rRrmxm`a;N9FeKTL_YI~=49>hdF@{~v%1K@ODn&P8 zsVnkAs(|xyU9h5PX=(|`X1SR;v$`|!^Q+DTK{NZs{jv#Gh7|+zK$9@YM==g1jY;|$ z+Xi<;tU*?TUoJw@*mB5RH}-*mDh16z%hpSeMREQ@SWhtxTuodCM~Wpan2F=PoXv{f zUxz}ZQlU~GYGz||bJpUO&Om{=$vSmS&DyANx&v$=Dw4Jiluv@8dhX$VOJwG3G6qxE zO^u?g%)koA-!aIis_QHKwvd$xxI{{h+tt=FTU4g1nHT?o-huXMo~?Rz!ehZwrKE@L9LK5qo^eT%i=6ysfz+3n(T$JzRG zN~Z2eDVd12$SPv~ww*_-KZ9h!dMb@MNryz!<|ki)0w^LhLjea#qL$U6yR>@p0+z|) z+Sd|rZcRVla4XYf&0_HBVhLZR|IBg_HjClp;CiJibKKkxYiae+nTCBrly!0Pe&sA@ z)iX-d!;-i8?q?S4zMvA`I-xyQoA8JXuHJ~PezH4iIE%7TFr(u?Ne(43P)I}5lA?*u(om~NoV%XQjuhiw~W?1N* zELe6_Y-Y5T!AA`ukc1R2s{&9cX4Y`3;kc;IgQPA+ECx$RM$4~BRdqGN&7NV8JA$?4 zOMw)L;quYZZ}jX2@BVRgdV+t{{eM9F|H0}1VRQf*Iw27;0g!~0_8(El{HH)d26%#b zWi$lw+gWw0P4K8`_QjV&sjfO(Dq5kvo_(7`X+Ek}dSZK+S*6ZT z6Bl3P#@BFmU#Whqrpzg8RKpjAU$TX(>fH+_NWpSgbY-F8sOC2gPiSP@DnB@RK&H-g$b5@>oJ z)MeXyuOy6jE1|8#(_>{~nY+s`14nMbg}M0dkS&g9UPD9#OToJyVT}ye{h@lI^aX*8 zh`!~4#jlN*9WMmm@VxU=^I(PEs0VPPN0%~&VSL{?bv8O&&=B__n`Uk*ciajVhLU9_AhBya8cJr zx;y+Kz15jqJRDz$MWmu6Q#8heyt2GrU{~kfN-k-)N5dtbEF!TaxErP1Lkp$4!3Q;y zwm4W6lq^a4PfWlPB~i_rjh#xbUn33ba(VmOUbL8xWr;#2?Ls7I2FZ=NsJOSXnr7_0 zHgz7KorOWWgGHiX{XfydFDOy*K>7iEEJlUBy}g5Pz@wi%m*8XnuZczh^eQM0FH*jD zdsAtm%pi$k34m)TrKYF4kq9Mh?*i84LbGW{|KX=pE@5tcr{3vqpOh-3)b%d_h`+Z7 z2#qjM_h@yzV5eoGB>Q2TYMDs6-fA14>QF4Pw@1k;%~qZ!<9+fq*Xj0rQTVERL>sq( zd?@7}mfRqW7Z4FE^|(k%~;Le>#6Bv=Czt#G!P8{z$n4= zDly=jYMEQN^}687Ir$4HpQdEP86AvSOYEDPlaQrtOCXN*?J+^aCZK1wborrH^A6c9 zg?i2fX{{2P%jB!35M2diK?!@7#7WFhRqT7;dYNc32m6u7s-acN;3%h7X_&XHLBxjS z^b9FL*9Mn~16hHhcd9V<+LB}f^&`PSl$tC9(Fw+EHI#uDN=l4y63>!T)z&TCTXX&y zJG-@l4|kHsG3E+*HPIv>5F0M{8u!nA_8~DV!7p=PKwHH}Sm6`+KJ@hhQI4yA@&?D` z9jc4PLs7WjDFuTXt@Ep=D%v)4nH$VTimZ(-tloey8Vjknibi8WjFU`dyG@alF?mxm z<67#Dr5-88C*|i)>1dp;dt(Pbz9B}!#+&>)IKTUA4Tk*r3;6Kx7f}D1^@qP`+f&e= zUeUI*9kG~tpla*lhts;tSFvTI%tWVcMX+gM2eqMWk0aPjnnrgN#svRW2}6er-enbP zg1XFGBm3%|MbqNUhOlv4PuJt!{I5YlET6VbnRU}f=?brB(iQ})89^%XQT<;SX zz1W{=n$ELE86(*9GhG&qL(dn~1}Wgp_M_Y^5NM|2Jc%dnY?OjpLF)kq1-#1qNU%J@ zww8+9yWMJ|q(XWHM{{F%22aFskvAmr+ZAKLv;UP)vg+dCjowN{PAx0Wu4Yuv8&7SA zOXad%Msx?M3?=dmz`E6^T(#*Pml*8)4@C#u;5k`p{<-7UZAD}(3n3IWKEn^V@-H79TkDT2$c)5Z zRwYa_YIx4kJ->>|5p|De+k$8WT(TIDL4R*8+O&l?RDXxVCrTgS@)kMaz&@9I98OGc zsWK!uCwQc;!${$ohOpzb9e&Fs8#X2LgV})MCuOiez zi>||gwHOU{f;{2^0nGkd3AVNhwxJ^u+UGGPfkz^J_47eg=_qpFt}TgWVbjb5cy6;6 zm59arg~H<}tlt4V8ull*TXC-LDnnHHl!M_)j~PUyXUwa;%vvNM_!4*e+OY)wTXJXJh1r|W6*jc0zhaxX_0mq3AOSPeFEQ~Mjoq$eaWAIOJ9=g*$CruX2a-1k#fFcIT%(-`I)GQlh9y^6L>!J*!?DYiyiQ zmky~mw_nkxa4+9E*)jRlX7Lw5)$DC7pYFLU=>H>ZX5}Ze<>95V2(pp#g&&GmNJrn(qQ=F$Aj9nCCJE;PII^2xbSTllX)0Fc_XC&%1f4Q z=|-Jb;$<_FbgY$Daz*^n;URL@Rk%&(*)wc2m-YL_!{FC)6JgRh-7+d8A)ktxC%lb! zCQk)i%zEF?7gRbX!UU5g2S$OYnVhpX(k70G(p#LcVgqw~xrQFo;TCiB(Qw^aQvG>QC$ zpqe`e!NVhR(E=}I@^$ zJ`MYbh(>=eZHaR24gYNNd7``{lS1}=IKjYBJ%-iGXvC2q3XvqeH!y#{QZ5ZfO8PAi zCu1KC2i=2YmhO+QO{VoMZJLf%-DezX{! zK=~s6Y5U0qZ;4Nun&7wDRB=yM6Qj(}SD7fmx0Ee<-YW7G*XZGH{J*}0w55FMfyjV*8gL;`a4;6>?EB@Fz($8{aS(5(bOh zoiGvG55$lxsHvfAwQ0Dl;)F#rF(&aL0hPrUz?|eQL@mcCc&6AkKx!y?z!Y6Z z@@`PkqhiK`ml9We~f~c>J-_~rk|{YgiQbYOn&wqsd83!{*rm+jfnd}euhF% zSh6uI8EjTyH$x&{f(gp{xHbN9=EJ}Qx@e;q9tp}~=OBRxWg}->l1T<3p$;B0ejmzJ z{)IDc_e+xV&X1QW=HyPv9h))=2M`2jD&0zO)SNb4;B{;3=1ZmRx`!l6+CdOI=00Y) z8)dP=5>t%bcYK0IU?|ParS{DOZ+W}(_3yl=(MG;Yk-5D;78~0CclQM{hT@KdnIqIeZ^jK$h7xq`$OY0cwP z>y~my)Q7B=f;4l}<(-F)N$)qmcGsr9dmp9!rumJ3LM1MC+*G5lZ|uqV7vTNbu=}bj zIfBxOYN+cEavr@!J;)NJoIPHM84u6kVv$=MY3(G^`C?sJ*)EWG!(_?YE;s}kSaL-LZ~8O+oZ^+z!XSD^p%OA7d`~#AHr9mE zu-Sv@*2Yz7`r*rj>A24i`B<^E-+)NeAh!@v?NA&296?dqDv1zr>~&`fA@kpqYIyR& zwInW5NzD0&R|=4TsV`{$I~&DEPd%M~W|LU1dSE*!UZ(IrTtM1jHT77B91elH2l+jm@tB{BUKzwqgZ@rW`zr;VJ?ALD zG>q6>-H?+kGw=k3GObZtY!xP$YW{_rAxB_K$KkE;dKhivF=HU7onpnr+>04d8$zm5 zatMTexLk>j1*J4P{R;Z;C_(wgg6c-P%@8Xb@X}&Q6gxrWP{cKkO(GR69eeNZ z@LnyZKaiOhvx_=(g-26)NXk@%$;ad`p!5FCSw#hurr7JVJ*Ux^CLK4;ITGg=+0(;a zW`#6~*ys=m02(&nLHhQoT?7-)A(snuPY7WT?{fD`U3|mCg=!M`PUSORh%~>1 zIQ|3Ion3zhO4j~C#LU{s%@S%w2nq0?L9A6M;a@17C@k()D8|;Rg>k_Gp1LrkoI`VE z8*l~W93gm;Bx_P#)uH{=5n3bHB#BU|N)LY68895@_6%jMp%o1SIE9boLsM7jCOlZLan;z=AqZy2Q)>xhES> z!EEK9XEZGa@j~G%(~#c7&l#(~;IkP@I3gq@U>=)mG-V|~I<3}UqDV)^_}`_!AZiiF@rdE;cPV@ zDt5Ej5GCN#(?hX@X==GrOSdkE@JywCjh?3zlPsgFQZXz3kg>ha?QY8R*qq9ytKE3! zOr=`-s4IzYe8#!AC)X-sBq00laUCc}CxWtQGZ})M{u6vBMXMq7uX~B<%8Zq_CB|*E z-ipb1;LIHRd<+tO(hiqGGH7!3jJE-2J8N6jD60kafg`?0Va0wk<_NYb>$17>2|j|TD~FxFG|2# z`LS~3-VaCMg#z>-^u=~({}k2ZXePv>W&Xv*JyoKw*Pk|AR;u{ZC#4L!p<2cgTg8jW z9=uaOZl-D>Ju?<)p-s0NIRjI`^q}Fx9PhU!+;1-Zo|VaSpO@AHEW_W*k1PU!pM=>F zyb@ymwD%`=7;|%tCb2C|)<3Pvs)gsQK8n{HYrkWBH$x^v!A47do>LM77Ad>3%eM7u zjYl+mYVQ^}bzHI@3y(t1+2OS}FBG1p1^DlyvH~!~{2wpk$qf`(&tzJ>Q!(1+7*JNs zz9@30KN@zw7*za;Z&mZKrF^M#x7t@MR*z5uq|P!pO|9Sz@}G@Kr0Hm$$v5~vp0Wo2 z*G^PaI5%z1n5kwIhVw#V?c}#1Y8)!OwDAOZ`#~9{mP_G3ZYD(VkBOlmqamZA{0mD( z1EBmz$WRFBBvFapYMK+cp%K&4hj6D9^E3|t8Kf5W(Mcc@TD%sw|AW&|-U0psE>J?_ z=rJeD{goN*M$v=a=MxA?l6fg0dgWqR!hIu3*po`yP8u4JqH3s(c__Xt?{7r85{gp? z6CW|t=lydX1CH#>3M%Zb0ZuTx;K$qy_m?7FREhI;_W)(`*w^~q80MF_WFJm=Y{REh zaQQ{jrH%%lrcbLbetC+Lj2a2m@3a(<{o=cQqqVu$%R}P**ooLo2i;)lUeIs3RNNUw zB_2Z{qFk~(e4mJjREoM8WCmpHJC1(mGU9kX4*n_nlU!JypqK0(@{5CXIBKuj$Usro zG2K4+Qo~kz$Ib}5V%cHR7uRF{cl)bUOQ(#HO?0{RbSrLGTH(W%2XL^(8IapO_Log0 z7T8yJO?P)}ng0X9tVLLx!S`MVQ z_4&9~osfs_t)7DSr8h4Nc?+fd=#50J4=t(%Qc-ZhkP)c=3oz9#w(B|reS?$whTa-! zK{S`Q&?#sAa{|FagFxuw38ysmq;8^Mdi?>Jq<#a<#A2LJsHQ|eLz>94L=hVrN!ptH zIq}2VL)bhEOK@0D5E?{R*DfTZ1SK|=wQocY-K9ETfr9IcMb3b8L={RDO~01|^qwu% zk7~Cu_)IpNAXEZr%)lbr_PF1e#2Ejpki%a9={rtniSzfpCG*Y zTn0#9Visfkks>3Tf%Lev%Aw%r#kFp2jQ4QJ0``G8ii*9J~?%Xij7TGFDRP~db*pIm;032sfKzj+ZKk(%BVv9)YLWlpGN}n z(9;&lz_21ehi%$>8dh{U<&2xy&w92=Swnd<3Yb`m@8)e(OIXyj-%iBekg-^(L$ zs-L90b@pmqZk*^p`7a2flE)tN9F3-Dp(`LWEYmO=9GKt51#$k?1i82*NR3T(Z&{0I zE)w#_rr+|wMFwk&E^Sp=8L~&2C{YLA{;b%mvv$Tg!7S{6K-Oc^O0 z@$w9O*!w?~*+aFB^Leh@q-c0f6qz^da4G|!(}mLqnczC}5T#U)t!zB*?sq?+%uJhE zOLHtV3B8*x?-lWk&?an4)B31Q9=sfL|OpuhRE4VaLMhUnC`C?54It_8P zb&`fLX>7|kubT#H{OXLBFjT&a z@JhaNG3%NP!UZVN0vy` zU$8td=(DvNZwligDW4+anS@A#D4_DVyh_0XS_Klt?{>~Bcf8d2MM^X>r_6PR0vaG>+Jmo3U7j z4Vs33dtys3rWj8EfkrA3W$934mz6>r~?hi#!^hkz83F?yY@2szg=Ifa<*5fxo)F*BfE0?XSs453cB!;?(EC?CAaf_M!s&GyilSfTf^1uTn z_R6@3!K{%(%7O}cBR6|nHd?iSTZA8632vY6-Z7>Yp+#-q|hKTyutzQFJr;Gc2&K+L9`}NHm}0 zyWY!Irhd@)9f2b%oPhjH<}_XF!>OJ#urLu(vNO*}M>#TPiVq8687DkVmpKPD7088u zJAYRi%d%0#BHRX4K3yo&D;GdBO4Gur=Wv&F;0~`i$3xD|0$sxOqF+1EPZUH+KbT2j)yu6PyeFeKRUN3QS%aI(OQ2E;6WNtf!GfFP&hml^thgh3XeBTbo>gS5UOj z3g}M?CzB^A?y%aNOdVzsFp4_?Fj9KsMKB0dad}Ah(!UlXxY{mpeM(*>;;EFZ*!iul z=xOo-<8(c;I@eQ!>a1-S%@t)NRib3Zis_bmCuvfE+JG{}4=Be~K(&iD%gWF`aXZ-iiwJ&TQY*AyX6?cH8XHbxbE-bzW`??bQ*w{SS(3wiHLB$QAh@H5d}t; z$b!GJ7w8(9rr@UieQ>fuVt)en6cS!+6oSf-x~6N?7`y9rjFIZdNO=S83h~Ai6qnK2 zdxk!eQ0z8Js7lg6HT*VHE+okoSB{bce)|gjV2ch;GC{ke4c0m-6svx(^XUP&MQ4<% zX_@80d?ho+4MNvjjQLqANHV&3PR+Xf<0yNdSmtIoRVG0lPkQ4@<{{hK|AEX>gfG<< zPD1tib1pN?IU%?3`VCX8?;VuxmD7aTC!^g8?*MQ6c+8361R6#RQK0H*c2$ify%$@- zuF`94YaaWJbM3*~w3Z8plhT_7md=k*x(c{Pqu zwR+X+^yL~^@wn4ADeNvJ-Am0^kmNW%<%jy!9%F^S!DI$}hT?$@l{$Y((|)Sd_mIl2Gs| z7JUKJ@D}mOG3mcI-i4l9r0GY^ zQ^2-#11T!6hr@m`V!oB|PttsM@o$r%kD)xYy8Y>hFhCIIlqE4Lks))&C0|}^j(nqp zPm+VpegNf{X!HzO#9TGyYqXZmewyx;?1V0?`il+5+`iU88<62}WPd#!W@!=AvpA6@ z-Mmv2zG%mZGz#?r;+RcHo}^v`pK5_}>b{=ETJaofe{MGAd=29C@`x}t>2-rbVcPWF zam&KLI21#rQK4)ZCKm~;{2K8t+tRE^M5WG>E?gRv)E6tYty)KLd5aLKcNufHP)-U= zok}RvacG7|S-qB5d=L{WXGfMw65>!TPoLP1Yt3`K;htY28 z7kG=$;hHm8%Fw|Q@31QaJbrF;L2??IGkZM~@JpYR2q^O>C->vK3H?mz6iXsnoA zaFG}$QF*av{K^@<7^E27q)qe@ z7~NlX$~BUy08_GKToCDM3JR1W4T=nc z+D%3%)oJdEPPko3UWsyn(}V>tSTlabP)Vam#<}ULfQv8+IVjh02nlcjRJs>1vwP(_ z6Dt94$a;l_t(%@&*urQ%G2tTNEQ+*9ta$T61^1V^n7-#SPV0wm;YzW3Qr` zi$0>K&wh$LMnglxDAGJNFD8v*#A3y13ndY!_>M6soVfYx!LEhO`KZ|qNOQKuoWcra z6!9?vr^@AA{snBv6WU0J>eG{X>jrcqa>{azyS)8$sUc1n-G+?G+<%3a~7 zK7OCa7v|zN9+vDgw1#i^q!kCWsQP1+$d-E4uZc3A&jKHuLf4q&yFPeMxst^GEQ?^4)1mDe`$^D z_6*`R*_*&aBMxjzP|1hK&WV^<+@ZJ4v8{a!UEmh5Yn;c=Y;3?Y?{ey;A zg=Eq84ywH%#`EvhUrmiFnzqZ3%OnX$S)!_&RpR_RUcKDQnNfN(anT#6pdCmdZG2hI zKMxAb4Mb+P5?++X3ie?9gY9DDzQ`~|yyZ{XOD_i1eK(-OZuO_SYiJGF0EOxQ#<0ji zQ93RvVqwELvvOoGpqTj_dAdj}mFpUvbj+^3+LUJzl<@JatGf^th$S{IGY`f&RIu_ep^#@TdB#+6iD)%EWl@=bK zhcDxicBhHKgE|QnR>7jXJcvssks+jrvu|h6QOf92TW-s!hzZq`0lx%r5Rx=V%4-=|{`xmd6q%)y15Mww|8IpU9 z_rH!e$=>3vi_(?-Nb`LGM1?l_Q+SQ{K5;h~NRl)!9-m-kCkJN~Uj%o0sbXkWh94+L zhVJt#0X~1gtqvUJpVKHtlflz*JXTYYO!SNSm~TpTdf@C4Sv?;m@S~A|2o_Ev|yQ=0Q!39a-S_9s`>8IiKCSTQUM#w9Xsv=9P1GFqm4lA}lYaq7D^>j( zC$6O`$0AA1*YlXCkzw<~7cZM{wDP(s3Z#R)%E*;<-T&C1;A1r4FNpa+KbBKW2!Hxn zaH!Cp3)ycFi8u89c;EKxuxnv>onZkjZUNlvS|}@||2cAodt}O1EMrhvkL!!(pJNC* za&e5z8iOgj1@g#5{#fzPGa2UnRX7iJE-zVxFfH@_Pya>6c|Bp}33=k7+4)ik47|Nu zegs8LYRr0|kTe`-=^UI?H9GK}7&9M`3+_VwVHXZKhdmiWU)4mNL|(i;!_2G9v;W;z zZP(99*5p;>=A?jJ+kL7nYMAss=~6>JmD57dWPi1lU3^A>xr4tL8#(r!cD-F2gCVbZ zv7tHND0;SOgZIiUi9+9;`caYQGI!XPKQoq+5HY!^C(XC{`^_$#u=SjRtsu9G=}2ts z=9JFJMEX?;kVE90j7S0`QbIq7K~B0Tn=SQ>wm)0`tNgdcX^R6b2=$~FOGH1OPLQn! za406({?!-1ec=c)Ct|TemA-7ST#DnX^Qk3_28&g?&^S^*MGJ{`aEnQWmyb#NJr^

880pFcv(0zY#s=5w#3T)3Sg)R3@(46*?hy1J}2kX@JO?I(8_vAAaT zXUcL8tcp>I+z!{)3`))RP+G0f6ri4iF(Y595@UKnRMP=vBTAd+ z{YQPsyyAOb5NIb zN054&ZAZ@KCYqSQ+VIsu94F~Yh4#V10q^8z#dPT>A*ULq6K|?&7`K=7=Kl&!HnPcH z{hA<>j{s)kb_(Zl-3kOB02>|ZFeSXT1n5$dO$7>Pd{o3t{t8(Oy1#&NT!0-{FS}0{ca(5d zsoJZc%EMf50W3^~`7HMnKC zRfs7XmaHp@hg(&{+(P^qW~_0rTNerYBTlVjnt^LDoOcYBppS?1rDA5|6ZbMS<$!`Y zqUFC5F(k&0&N_H$;qFS;9yXwmTxg$Rtpn0%Te?@I>7#pV<~kc(N8P|!or29;|KU~7^&X@!Yw z%LQgnV8#t{weoGZWE{w$Oxg}>j-(8Gul*E*bu%d`6a4!X&fpX@D2=!SvaKrHiso4S z2DoUS5bOee`cTMCM=cr4L;z^37vPg3iCitgVq&hqTM{N3;<%myPDu#)$>6V?a^0a1 zT^a!vztKsJrDa@H?jba5iJa04@2a)OUNSR1*Z2zfpA|9th_%FAF?Q%xxBmc^YNc?f z)!qV4-VWj=U)I+Y3TP#0rD1CqmFVmK8eq;l4J0!hpyZ+ryRiV313V58aBe$Me3WA> zPA@cM7P$D;KJCDGUOJp}sSzLdxC6Ng7G>(vhDwL^);MHfe{s zEH%%=&eW;lc(aHHmB9HnT8|NIV*MI4x9Gt@dbnvbSV5(Z2BPsLsC2Yt_h@XqMg1*{ zgQGXG;N7KyuB(74oPeT10s9SCy7gLCN$hw(^GkF(0t)O=7%8gB!0DkxA#qh@r?Bn& z6b#>E*;?heow60lQL%3-AyO7La<#{^*3yV+TukjUY)OC$#Tts?SiO@CSmI%efYc#y zm4p$bfGd#4t_o2Ky~OcydWvDI1lyNqTptW1Z4Genaz-Oj4HBXQlMO-t0F@IoXkjXf zG5|`^tTLo)DJ{~nJ`GA935)*#33BJN)cwYW5mgc8efDU$E29UiwqCD=sa^y*XCL7< z9?dqMY+#d#4?*qh)=zGO{FH?Kkd#5w{QsodaXt-nJ=#yURnqH)w|rmfg#CXFeyq>uv4uOT2a`iJeH!) zPe9PC{FiQD;tOTC^CV1xv6i2gmycqp9h_tr-vZYa!xpYXi?wixkYDK<;%v-#i%Dq= zcUGZz%x(=6GNMs2DEsJhSj}wpDK0779_1`Ahejg#PK_9ovKbw4=AU&i#oTn(g4;NY z5D9Ldj}&SkIl?ZFhx?5%mKQ$esk1;zEV4^;y*A}7k<0JB43;{RGCo67&YdZX_v4>VJ8cG4I4Rc@m$2cf>eoAdi{W|n>B8;!ABafmkSr=(IpWvb35HyRqe| z-n{gYYmYel92~EW+rN7qq8bZaI|*33@f$Ypu8@`mt}o!%Cd`~;yVORm z@RyT|i2TTbbzB4g0DGpjYQRf@zFiE;>NtcB>gaX~l;C7a%qg1EjbLjR3go%mS|M>B zh@XVPT$d5ZIVD9Sg%c8X(eraC1JlX*q2pTn#*am*e~za~m}ZY~oQjEzp?{{T&9 z0#=P=Y5CrmJxVap3ev)IMM@#YFerjYwPj?f6Gig$DS?2-Piz!|?w`m0Xo-j2d!PBI zlPD_x02>vAaxX`=cWV|GcXzgQ{t6o~CA2_)D^2b+fb|FPP{RvSu_KhgRk1#PA#^m6 zx#q2WXW>%e<+w4KvUF>Y_+^uZ_>Tj2WO97iMUf)7{{W6yj|sx?(&2b_OP6k(pl^b> zKZX1@-v`2)TZs^+_r$I7Hn?`sU_ik4ecCMXkd#iTSg{{sjCwO#FwS}bTt~z>hTVuK z3@JI4!|+ydY!{;Lwf>v`09J6^W$-Lqhal`FOX9y7{{U6P-ys=;Dk1Q=a8{XJ;%=p| zla*_ReiLduOh#6%1z+I!frW>Nvy~&bo26a5t;-F!swlN6!kjGt(sNc8vj-hSb6^kdO-lqV)%*O2zgj=%o|1F>+|1lD<=L1?5Q|V<%MdG~D6a zR~+27;iVd8HHS6JT74%gMaWF4JY??E8}lWclyZyxBDgjRXC-%kV`90LXk9^FS70e% zs;^&TVwNE%0%iAWG4RVk*fa_`G0_aKu<1?SJ$pbaCK8G0g)qqj8FIBNG8hvR%c}KV zbfYlquzw6<0_mK^fE zapH@%GaX~m9-!^`Y2p4SYjJSUNVK^mAV0n-cyi)%Hk>BxT@s!bi;do~64c(~tXk_s znjF_6{Yo{@2~dqT_?gND5Qizy0rbE|l}*%U-C4HQn&JKlh!v;O^uej2yCoTb9R}@Fk z!$3-$G>cz*DiExZGMJIi1{(y$FVhLdr67CMBMxX%0y_oLma^HflUwkcx?f z+wKh#l~iLpXrZG~;%zXxh1WuRF2mWW7nohqip3qrO?{eR^ClQbMA^+Z>^GsTz@MDO z*B<2#x-qy3;Xey_Wo9fjK1y#3_VIU^a71(o$A3@i|di1L+VrL6@jf1v}*%e%D(li zHO~w#a$)z{n{)0NXuD`mu`!0FMgP5y0)$l`+{m}JrVqrLd<07!5{FR$w6#{T#!;e&Y;lS zBy~R!LllOIW5o#+Xe{Jg;-L zVaVu|+mO1S;iNMa0MS3PR@<0EsQArBN6oY#=#I(MeD-S)%4RwUe+@H)SvhT^868mX z-7AuOMXZc7^J1G1P^9^5p(KmpIzN)WWri=4@@h2FwVyzs^vUaytrCloYBOXdf2EOn zHPve@*YoburG3wqvpQA>lO-QNh^)l)!Rvvn4SfD359yAtmtu(4BUwE;T0Vp5(Hg+k zjbxQzYZ7Zzq?HpgRsrnl(tz${c2E3JIN7EOJ7_e66;aSTl`CN=VacPkjmD!f5l2K^ zK0hTk-~di4>S#IWlo$ThV(O1m+^l>@hPfa9IW3ucJt?!qHdhGdCwz7OHKKezMOO>o==*p!w=Z3O=hKXHk?Q2O_+|m(B!$w8+e3Zdp>TLL>gy0yEDgHy; zp)x&OW#}}&hX_&#Zh^C=wH66HBd`8(O{PJr>lNJW{{V)7ox6a=)jK`PZC{M-s~Kw< z8#O8LmuC|)0YgM$=Cgl+<6?{?#9wn7`;7&OTHI6H9X$_Hf`Oyg6e2WBGz(Wazp^{i zFl8FDKpRzJW1CfM76ow}8JN_qTz+7QPsywwfckW5Fu2^4o>9lW5W1HtGlwvgEfo>0 zs!=6MO&`$f>7!c8vo^D6tim;hx$TTonl3TEDRnemV~^ybA8=wb)eV{_&4&nS*$t~j z1}TLT2>Gmw9Er2D=fhE$MG#-v&fY16mB`ZvAfV<@T$K{d-<7JQf$`L)=MTm3X{EeQ z-4`Jnf~3KH4^W~bhO+uErUsFH8I2dNI1&%(~-t>pw0$W%Cv5;L)Pp4806rY%Zl2LWFRhZfj=C&T>F!xmK;z(ho@c9_zA zU2CtVjcYp1*0XK!l=6OPS$1NS#S)3G09|}%x!W|(2E!BEJ-;;DmRBO;K5^9dD4Um2 zaQ8jwim_3Ps8GSkKf;x1z_MP-YE%@Jtcj)`zr8kiq17D{qTIE0KpsL{IXX1MiESnf zs6L_S8T4e(6bGP*N;Jk!RVYdt4^s^cS}t(%rq2^N>@TKc^Z`xFNfw)vlrP)DZggs2 z2)Q=Uwr)9;Kgm|^18#XA!cl(FXjFQKMz}kiTf_iKr-ip0Sx^89NDR8AWTg5MoqaTG zt63#jCepHLEJ^Jmvl)IGz^9_%sJ6mR1x%epbf6|Z7borH z3vKQr=W0_6gbHDJg~JPsk3^%6yaSu|;I?GwH>gPqi)()%;G04maqq@St})HG%aR26r)Q5i2VXSn9r|T z>s@QDX)48;R#)6B{j@h)#nZr66zuwJxW@Ec5dvE$jp@{Oe(kXLD=^VX4hesTv#S(S zLD{E=M;__XKf+OQ6%!adlo%7Ckr$&y=={5YNOWrV1H{^If5pjoH9gJEl7iw`!wxS{ z9E_chTn%*^>q@maN|eIWhNP_}AxoN9=)pusEk@iVtv9%m5NPBR=mNZznh|S<;r{@t zSxVuqh)5ExN;y)vdoCFTTew%`!7O!S@ZF?;< zn<*lm6(HJ|07A z>QOK+)vM-VA)*4*R=K{t8VJh1f5dL1l0RwamZt0@STVkf*rb$!K>_ksOumT!03%7M z)ap??dq3YEeXD6Wc3PFBMN!C`HEWCE(nAZ!?jCXFb7^mBHRpQK-3WT}tEZIED8W$4tp~UeT^J2^a3y#W)Zn zGUsBr{sBI1tAW$))|uG|+P^t?w$~NK+*ZWxoupx3Ca`J&$&o3b|J+ z>5d+6bO-abDel%qIw|gAzRJ>s!$@YBYIGVWl;|3VQke8;O-*`%L86R}F}eAz+#qOl zTDNxaT#GAWIdU;7)q(|?FGX4iw5#Z8NxzP5}ZIvm79d(qZCSy7sE#9 zfPR6CLqrv(+e4#Jz>P*3)EXvWrf^UwxU8a8t58xUL~{@tWAuQ~4G@Htul>i5NGoaz zMzIRPShE12PX#5l^0l+tw0$;f3rOZJ6K1zE4$o1kLlKgo=pdCF+S>u%Il_A_AntBD zHNyy8w3T810OGuLOfDRKXQ4s*CK?zte5uh3^A7EQqT>Ek*X3M8z|fw#DMc$HG?c;A zC~_l1TLm*U{R3Y@BbKmBgW=aMlJv=6;IH?H>|m_>g$1wU`Dnw1=xWxF;jBM_q$o^1 zY4=a$p~&hwW$Js<7?F{!gmJT?RIVe1O&y=#dL(_(!P7M;k0?wqj_2ry=wgZypc)}& zb@LVU{{T~H;jXy514aJ;kw>OVQnQ~lmVatah z=QU#ZoJ4t7q>V?*ik-i|hk4-bjai*RaOee@r+Ut63#=-jm?GmDs| zL*iU9wb+4j6iDcG3E2{Pn&TBv@7#=f< z>shxyAy~ldV62x7&rB_2TFLVdW|etxCsSsdHw%$b8XhA6ifF}3;y4wZjv+@}I*IfT z>Gh)6<*R%oCsvVp=tPZi9Ck%R>AS#jF~4G1oPT7iUlZZ^;ibsnow^zlg!L#WN+_T` z3_h3|AS%@FiIj~1){SQ5{W`UXOWZ%ZNdwED*sf9V1uf`~z*0hfPy3}NJE26GiP6#V zoKoDlAO2t5tTP_5bLq=ia3Ur!?odQv!Ets2B7Ku)tMR*UEsPb$`-;N3b1i9y6FXslA0{y-0MwSox7K|y{V}O@ZZ2JBx&c?O%OI7+@X!=ez959+BwF}|jZ-CDhLegl&q8YY z26E5~ngs@k58YC|Ce^7^I#3UzsYuor>C0H;nbd0k00{!u6`S@z5B~r~a2!+yH^@K! zW+PVSW;bG<5{;4kl+tBdj1000iI5pJc6kJeN~){$;A=@!J}H5z8pNMn4Mi4J$PbAK}!0Wh*f5Mak^w(874tiazJ2 z7L>r@3L@bQKikPol5)1JS6H>hHw&_YmBYgp*z!s^Fql@XaeO@OsPh$QgTdbdaL{&2 zgk+CRs?4%6t5ePdrV2($Uo1vcTdQ_poY`naX4LPDV6>{LtpNQwYYiFtM&edP>{7r| zf{#QomWOry6dD3cOzvE`{{YET+d5Vi^~hK7m78flgr!;$PXCALmRI8Sf;FxT}*BNS81PEC;IU+n($g2zPb6K^GRnRIIoN-kT%Whz$8 z9V#|L40Nj;PNYHED(oSf7f~yX511<`?pGDU%aZ&hB(4(j6S_uK!!TI!5OG{I3>U4_ zJIQ5Qzj|&~rE@ZrmGs@CA5ZX68pNvsU43%aILKB>$u>fvJSjiQKLjkZ~6$0N88cm-hLluUf>0 zu{nmL5gKh@jMH&_x1tQwtDO$Uw8aq7)M%V17poke<#X`-&$50n(+kpz+^IQjGc#amLE0SMKw=)E?e%$qW=JFe`=H@BlfN|=urtw zbpxkoxlKefCb(`0n|ACV2JLXrCPVI{iOfX>!$bs&rAB#VRhimYNsVz37}~tm))Fqs zl>((LV4$pIJsoHu)*G@+)C5Y9MS@NlrU4FhsZ4xfY(0{ZA_q#zJJL=PAj0~dkrv{y@rU+cEttJ_cW#Z z&1VfHZk@^(3xQ8;Z2O%l7^9Xtx!m0RltdUWBIJ8Lnr%tB00%}dMw?-J(6CeRn>48_ zT@xle?Lv*vRl=Gz!#4Swr5ubnB$TU(zGQi%7av* za6}xGf|`_~`V$gbKk;cYhOyJ!?@I#gJR`Z+ z)8&ZwJA2X?G?aB7TpRn80WDB}Cz60J zNB254#&Hmx`Nbe=wQkWO>_vL1pjY~vzb@4fkKIs)Qe;r8mfRqPD5>vIymopG5FCP? z5UC=duJt%MK`S}*mB$e(<(VYPS|CuRQEwt< z%)fAY(*jo1K^VR^YH&-z_eCio{-P#q$;t+?d;52(LCjGdM`YZghD}8Y8RG00P7{x>OR#dNf$A6Mx*f0hMWummCx#Y6#PQ>EOdd4r5rIkme5TG zuR-Ox6)HSW-NXonfmZGbkP5UcWCCb;Dgw6YnwUyTFo{uelu5!RP6i`Q+%r|8*yPJh z@~tX`CTU#kRwUMGn^Ci2l#eS->y7lmamaWmfKhYe)uiQ%B;wRB86FHxy5 z$sv?axH>0tn<9w8)jEU!08JAl@XleX+Iq$D-11SDcF>WIVSk)aI5yD}rrOX*5ys)v zd!3q1CPj)U)=WqoRo*|2nH2$IG;o|D2%(V6PaAx*ZN;NOt5%#%8C9Duuvovt+^!n* zCn3Pm3*T!|xFQ(}U?XXKg&O80hJa88qBxwG$*YN1fvzAD7L}`zzLx}PnSr3lxob=n z$Y8F1W|^p0%ta_ITH!5eE2usLt3|Mh&;o)DJWu|iwry-$&G>)xGBhh)eL3Kjn;8mK z3c}VFlTk!OO`h~#3#OM&sk=ij!Y5<7MZ*r0G|zKtLLWaUT%9IKv=Q zX0G0v#YM05P-Al0JeXFCHHPaFT7JCRlAbSuqC_`4NBaU6bvz|d_kC?n>r&w3GntGy)o>yZ-(Kb z$~m1uz!ceo81-p&k(RAYOOQuot|G<8&R~{{TWK zW}>)69?cVf$m)BP_+tK3&N|d)tnI35OQI)YiGb#BRZKs>arbB$oJ`p}Mi@-guiTx<#UMHr zYvI-s)&;A-5VUMg#|w)7cD|&z%)wO?l`Q@kgi$a zrE?t-thqp1lsqQOqfA_*7r5kUaUw{Yl*~Dp+{uhcNAXtW1Y`am+^h)}+Bnf1r6CvD zXvhYIYt1TV^4l`fEUvj|#v?`*Di#EevuXH+;o|L*13>Ck&Jbt7+*7L>;(i@A$HeSB ziUjN7*W|XZmgM2c)QD=g4U<}tmfTg?O1pDeWEJGH=Y0^Pb!My(u5$ApeX zu5oL2`#X-&t3MBhE(B!g6@QM<8&+PjddjWv_P$-HfKUlUN-bKHodBl&`SDi`9V6{u zHb8VM2i2qLkJ8R-BUn8PmgF?T`vX@C6{0*m#6&?mKlISU9&*rY<)sbsG#47?9^pjE z?ieN9X}2Vy-5O8sCXHV;wyD_`uG?{PB9&_5D8=yLuagc_V-$62cbrC}Y8kDH0B01DGXp5ESoJe7TmdISD2;y7H`2YVqyrovI-bdj!I^vpD2^vI6pDQ*o#ZF-R}YM~?%Q3&N)?l!Q*j8IRBgtvp;;et& zl@{%gh(-ZGP*yYb;Qa&W$ojnlMw?TNjYk=xb|u`?+@#|sh81bHq>U2_)*he*M~PLC zWkB*#Z57sr-T*0t7a+|jFDBRNMd41!cEk?Wp(d0S_22E^@r*8 z^eT7d%WPF~S8Um4A_iLj09SQp;sb=;YSF_oBbF%Dp?kGkAU`Jhus=%cXGFp&y?OWH_0qheS$^yToN7gQ$*jmGZ7An3lBO z;Z*855{r?XCi2KJl+}FK$XLn&75t~Z%`uNPyvoYqT@%7=(+4q-mH)&5BoP4s0s;a8 z0{{X800000000315fC5(Ffl+9Awf}L0~2xo+5iXv0s#R(0IBhT3?7ojT#}&z1Oin0 zm9Y%eBM!0})F66S7bFM}ARPt(pBNPl2=)-xp}E+)5FlhajQzu{aAfuuBq5We(1uJJ zx{!tr%IUd!7$FQBni`ssj>ZpQgdk*xpkR)Nh~YLN2zsF_CQO(#A(LYUNafVYx7S@t z$%@d_)X6UfrU_ax)X4~9y#prYN`@@Sv4R*KNMSS~>x8LNv zSnO;=V-`y>WckmWxH9Fk*f3zh%|aXT%4E>=OdFZGeHD@n92hq;k@bua=~;O)ZbA-* zYbFU%^i520+{)zG)W;SXsC1_1QK5j`%JiF%gfeubc00+$-0>Lbcax6BY8iDQ)M`Va zk8Nr~an#hy92g-hq{#`yhD?}aiiT^rhDd63n5_v?wfu&svSW)5lf*EZnvm$?LqZyS zVo!>75ZbU{$%8{Itqllt5b@HrK2YTZluw87^qDSGDpM;2A(OQ2A=2n64p>Uu#gpU{ z=PkwKj3JXXlVe5@+=hnCsB!&e6XPqOWwYf7Y(gD8VX31CYgpn#ChQDX=wXSuDh0qG z6XQMxNJFgD(VTbUO3>)KE)(&bXo@~O#2@<`FhG@pRN^m*KwI}X40!AXklDz=KXJqhXUIQiG+{X5ff>fwP*EQfk0ko2TlU7P;)z#MzlTmRh7Al5j)qu6 zCge7Aa_7!`p>m*6IN^jySvaW5hTy!&7salhaI!JUl2t#92N2rd5Dpus<4x^@^VA$#9(Z&QcA<*EQ zVb);HO2u@V8uG!gR3Vzd4cJaIk7*A?&CjTkqq$yjaB*;qA=Acjh7AqQqhnGSdI#~+ zkh+3sZbEU`^o@{ah!XN*B1pR%3Cd$K2wgQBSER9kV!-kg+4n;!v|eRcIcOjNJxRx2k*0|YR1RISKqP$f#0 zxjdDIJKHWCrRh-IoJum}h7Q9ODpz3$#MIcq&_ZzI`{+0^QlNSSGMyCQhgTWL1UswJ zsZfM|iXoJ&)+m%pB~Og5gB)R#ynDzHGxFIsuA@9*lhHc}5Y*Y@TMuU)4)n=z=^=~M z$)a|eanSTa0z&#jVjH=mxSV0>@jqM``^{iI7Y}&|XnHk)f@o}YzKIBEVC#0FfO(%# zIIxus&V~)0Bsb#-V8Q7r7c^8Z9)~H%(J({OG&5ZXQ#ke-kjEcMgumC(H{;=tpk#)p zU_!7;)Y#}}gB*N5k(1HzRtS2oJRYG5#j?ExU{P4C)C?FnwJKAam#xD-4^V{Q(-=cj zqmBaxh7Lchzrz6tmRaX#4qsHo*?2pAeG`oa!Z_kZzoS9~c>bGsG;m7v$;LB`GIX1u z{r6R~lj!SMgu00;pC z0RcY%QY^pYE(l0ek22mryAu<|H+C#<_HW}Y;V~DkOAFGA;a|Z*Rf@uhsPf0mD#nF` zHpL^$JN=f6{)G7~A$ym-304wiEIDIIZ1OdPQL$kc>_WmqUiIo+5QLbc!4|or`eG7E z3p#5F<>d(p2?$<_N}Sx87x6h)Vx9Mb#243AfZg@k{6;;ji~340eM!67W9Mkq+5 zTpku{D=6OuOB-5zRuLC!nf}Btb#kE!B1K^#L|%leD>N*ng@uIpp$`nPx8sf3qvJc}U>PVuB6hw+BtfKI-5+ihlBq>?sCU4NK{3{5p zbS0I}kyVcoDnnU|*BU6Iu$S->7wwKhEiMRhFO4xKD6uNSi=)JG!jtKWn$GaBu#IA^ ze`E*?`0EYp3o3;YwM&YNWPcdH8eNo%%Eb-?h^-y%3YkS^W9Wu-?+}0XFIx5`NJC=E z7wz$kNW`uWC_*Uk97SmU(6XIqRKYbm(!MK8E1?l0 zFLL7~NRQ}T5V$KME-YTeF}xvgVjwOT>p~E)#)YSa!C`G?EdK!BNM5*)=(4h~h-nKi z+OV@FXnJ>rm4$|OtW1kdS2Qf%7Zs#SF<5*Mq{zt%pG>EU_Mv6165{Z&+7Oj!gSGwh zL~!{cC}YCP;Rslv8tDH38u-r%AxcP6zR-#&tRzs8;!vX5OY136qKXmlWQxMV!WLpj z{fm+!KSWUf0M=2`z6&3WtSeaXLbNTeG$gU!k|~N0>nSgyq2@i*+7y>!!mcY6g^DPqQ9^ADmjo=VHLYeWL+dC+ zN5u(|81S;Pu?bQoCiQwRRBftnLb4LAGBUm4tR^7|RxENH_1L7lu}3Y?DcCj!sP_p~*$l zHQEzt{{ZP0qP4%@=uXv(EoCe&5gHc^4%((h5`Q#8 zG^xBx3lV0bt@cjawk>TADebdL(jmH4XZYn8b!bv;ZC42@&)gwli$`kE<9k9ERfNZ; zArUBX`^ z2tqp16MGgIwWL0^^Zj8F5#lw;VbxYvRzDwa2uG3RTV>%73kX7DEq;YXqsxr2hrtml z(38T`qPrNnOjZ8?-=-`?fXQ-1MlLHKkM1iw$`vFsJ@7)1nP-t@h(g4cRu&MkSG0Dp zhjm~5qw5faA~HyFv^U8Jcv)X_1>ZG`(8%#Z;)Eqws~_| ztzQHoABvi6d{Bp_hAbuMLJ+Yohvbus(F(7kNx1XkfK&r5*HIR#T13NOTWv^84&4~ioZjr(HAX1GF-ope2k5!13WN!@SuNvE*C9SB@& z5rmlk02Gj}>W>*UX$~!RxS?fn{LZOm4}v2vj}@Yt=!~^kq3Jb>5Qxa~6tUtcl#LdL zA@Es)xQmL5WMdR2#M;KqHBDJBz`KazcDfXj?FvymqxFhWy0Jq5dI z(G)0@QCt=%qJ)l%Z`T`6(HSSF-!;KUl=Pn!>q64ds`f-wx-BEfxT4XgwZRCiIeTI~ zQzC4#%P$ErA#`I;uWQ?EeznC2R+bhO9tVj+ zLZizSi(bS-QbJvk(n9v3;pKIdeBijD3yQVY6iQ{4{0J*_HBu{2E7r35Lqo#!p<=aS z6|M+TVxcvQPnz{3@h;glv*H)IWv_DK9rjZcTO$;fi_PNbzu#*p;>Y zVqZUkg_j=Cm0HTmD<9gz5QLdR61-kjX1P}dl&peD5c>ZBcxz~Xz+4$6PX7R6SCzFw z+NZ@K2tp8-%-Fctn#Q=KkwPd)j7QZkq7mGeCB}1 zNob0_u_L!%GKJR_mFYsl%;G?jtfGW0P=!pQnWU(EZIP2kp1z7Lca>PRn8;c}SliM% zRI~E1`5}82S+!)glgh;vgf0#9a!XyZ7k2v;zhx%1*-wHLSs03GX_l(Xd=_6N>_Qe? zO;Z*TTPs3YShgm)xh2~mo0FAxCXj{y00d;$(Npadj}n?JvdB%M?`sPdU+`8I78Ye4 zTI@n1BvIDT;+oM#W|u2TTOm!iTKR>F;dCZB8u;@WG)76`dKal>aYMx8PSAxaJnN)? zk)CYxVr6R9S1NOE`d{`WlBI+$3y)nqTmFS9Cuz|M-+lU5ri3AIa!YKFTtENW5X>bf literal 0 HcmV?d00001 diff --git a/root/www/luci-static/chatgpt-web/user/girl3.jpg b/root/www/luci-static/chatgpt-web/user/girl3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a06975b617b924c3e0cc514cd0b41fa772b46ee0 GIT binary patch literal 5418 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 KYa!#kT>LM7BGC^3 literal 0 HcmV?d00001